Resource Conservation
Resource Conservation

Resource Conservation

Goals:

  • Significantly decrease overall community consumption, specifically the consumption of non-local, non-renewable, non-recyclable and non-recycled materials, water, energy, and fuels.
  • The City should take a leadership role in encouraging sustainable procurement, extended producer responsibility and should model innovative strategies to become a zero waste city.
  • Within renewable limits, encourage the use of local, non-polluting, renewable and recycled resources (water, energy, and material resources).

Successes:

  • 20% overall reduction in municipal irrigation since 2013.
  • 368 sustainable landscape grants and rebates issued to residents and businesses resulting in annual estimated water savings of 5.9 million gallons since 2010.
  • 403 housing units have received LEED certification of silver or higher since 2010.
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJpZCI6Im5hdmgtaWdmMiIsIm5hbWUiOiJSZXNvdXJjZSBDb25zZXJ2YXRpb24iLCJtZXRhZGF0YSI6IntcImRlc2NyaXB0aW9uXCI6XCIjIEdvYWxzOlxcblxcbiogU2lnbmlmaWNhbnRseSBkZWNyZWFzZSBvdmVyYWxsIGNvbW11bml0eSBjb25zdW1wdGlvbiwgc3BlY2lmaWNhbGx5IHRoZSBjb25zdW1wdGlvbiBvZiBub24tbG9jYWwsIG5vbi1yZW5ld2FibGUsIG5vbi1yZWN5Y2xhYmxlIGFuZCBub24tcmVjeWNsZWQgbWF0ZXJpYWxzLCB3YXRlciwgZW5lcmd5LCBhbmQgZnVlbHMuXFxuKiBUaGUgQ2l0eSBzaG91bGQgdGFrZSBhIGxlYWRlcnNoaXAgcm9sZSBpbiBlbmNvdXJhZ2luZyBzdXN0YWluYWJsZSBwcm9jdXJlbWVudCwgZXh0ZW5kZWQgcHJvZHVjZXIgcmVzcG9uc2liaWxpdHkgYW5kIHNob3VsZCBtb2RlbCBpbm5vdmF0aXZlIHN0cmF0ZWdpZXMgdG8gYmVjb21lIGEgemVybyB3YXN0ZSBjaXR5LlxcbiogV2l0aGluIHJlbmV3YWJsZSBsaW1pdHMsIGVuY291cmFnZSB0aGUgdXNlIG9mIGxvY2FsLCBub24tcG9sbHV0aW5nLCByZW5ld2FibGUgYW5kIHJlY3ljbGVkIHJlc291cmNlcyAod2F0ZXIsIGVuZXJneSwgYW5kIG1hdGVyaWFsIHJlc291cmNlcykuXFxuXFxuKipTdWNjZXNzZXM6KipcXG5cXG4qIDIwJSBvdmVyYWxsIHJlZHVjdGlvbiBpbiBtdW5pY2lwYWwgaXJyaWdhdGlvbiBzaW5jZSAyMDEzLlxcbiogMzY4IHN1c3RhaW5hYmxlIGxhbmRzY2FwZSBncmFudHMgYW5kIHJlYmF0ZXMgaXNzdWVkIHRvIHJlc2lkZW50cyBhbmQgYnVzaW5lc3NlcyByZXN1bHRpbmcgaW4gYW5udWFsIGVzdGltYXRlZCB3YXRlciBzYXZpbmdzIG9mIDUuOSBtaWxsaW9uIGdhbGxvbnMgc2luY2UgMjAxMC5cXG4qIDQwMyBob3VzaW5nIHVuaXRzIGhhdmUgcmVjZWl2ZWQgTEVFRCBjZXJ0aWZpY2F0aW9uIG9mIHNpbHZlciBvciBoaWdoZXIgc2luY2UgMjAxMC5cXG5cIixcImltYWdlXCI6XCIvYXBpL2Fzc2V0cy84RTZBMzA0Ni1FRDJBLTQ3QTktOEUzNS02MjFGQzYyQzIyRjNcIn0iLCJjYXRlZ29yaWVzIjpbeyJpZCI6InVuY2F0ZWdvcml6ZWQiLCJuYW1lIjoidW5jYXRlZ29yaXplZCIsImdvYWxzIjpbXX0seyJpZCI6IndtZ3ctMnBxZCIsIm5hbWUiOiJTb2xpZCBXYXN0ZSIsImdvYWxzIjpbeyJpZCI6ImFuZGEtNGE0OCIsIm5hbWUiOiJHZW5lcmF0ZSBMZXNzIFdhc3RlIiwiaXNfcHVibGljIjp0cnVlLCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcInJldGlyZW1lbnRfbmFycmF0aXZlXCI6W10sXCJuYXJyYXRpdmVcIjpbe1widHlwZVwiOlwidHdvQ29sTGF5b3V0XCIsXCJjb2x1bW5zXCI6W1t7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKldoYXQgaXMgdGhpcyBpbmRpY2F0b3I/KipcXG5cXG5UaGUgQ2l0eeKAmXMgZ29hbHMgZm9yIHNvbGlkIHdhc3RlIGFyZSBmaXJzdCB0byByZWR1Y2Ugd2FzdGUgZ2VuZXJhdGlvbiBhbmQgdGhlbiB0byBpbmNyZWFzZSB0aGUgcGVyY2VudGFnZSBvZiB3YXN0ZSB0aGF0IGlzIGRpdmVydGVkIGZyb20gbGFuZGZpbGxzLiBUaGUgQ2l0eSBsb29rcyBhdCBzb2xpZCB3YXN0ZSBpbiB0ZXJtcyBvZiB0aGUgdG90YWwgYW1vdW50IGdlbmVyYXRlZCwgdGhlIGFtb3VudCBsYW5kZmlsbGVkLCBhbmQgdGhlIGFtb3VudCBkaXZlcnRlZCBmcm9tIGxhbmRmaWxscyB0aHJvdWdoIGNvbnNlcnZhdGlvbiwgcmVjeWNsaW5nLCBjb21wb3N0aW5nLCByZXVzZSwgYW5kIHdhc3RlLXRvLWVuZXJneSBjb252ZXJzaW9uLiBUaGlzIGluZGljYXRvciBtZWFzdXJlcyB0aGUgbmV0IGFtb3VudCBvZiBzb2xpZCB3YXN0ZSBnZW5lcmF0ZWQgYnkgcmVzaWRlbnRzIGluIHRvbnMuXFxuXFxuKipXaHkgaXMgdGhpcyBpbXBvcnRhbnQ/KipcXG5cXG5PdmVyLWNvbnN1bXB0aW9uIG9mIG5vbi1sb2NhbCwgbm9uLXJlbmV3YWJsZSwgYW5kIG5vbi1yZWN5Y2xhYmxlIG1hdGVyaWFscyBpcyB1bnN1c3RhaW5hYmxlLiBUaGVyZSBpcyBvcHBvcnR1bml0eSBmb3IgaW1wcm92ZW1lbnQgdGhyb3VnaCBiZWhhdmlvcmFsIGNoYW5nZXMgYW5kIHN0cmF0ZWdpYyBkaXZlcnNpb24gcHJhY3RpY2VzLiBJbiBhZGRpdGlvbiwgbGFuZGZpbGwgc3BhY2UgaW4gYW5kIGFyb3VuZCBTYW50YSBNb25pY2EgaGFzIGJlY29tZSBpbmNyZWFzaW5nbHkgc2NhcmNlIGFuZCBleHBlbnNpdmUuIFJlZHVjaW5nIHNvbGlkIHdhc3RlIGdlbmVyYXRpb24gcHV0cyBsZXNzIHByZXNzdXJlIG9uIGxhbmRmaWxscyBhbmQgdGhlIGVudmlyb25tZW50LCB3aGlsZSBzYXZpbmcgbW9uZXkgZm9yIHRoZSBDaXR5IGFuZCBpdHMgcmVzaWRlbnRzLiBJbiBvcmRlciB0byBhY2hpZXZlIG1vcmUgc3VzdGFpbmFibGUgd2FzdGUgbWFuYWdlbWVudCBwcmFjdGljZXMsIGEgcmVkdWN0aW9uIGluIHdhc3RlIGdlbmVyYXRpb24gc2hvdWxkIGJlIGFjY29tcGFuaWVkIGJ5IHNlbmRpbmcgZmV3ZXIgbWF0ZXJpYWxzIHRvIHRoZSBsYW5kZmlsbCBhbmQgaW5jcmVhc2luZyByZXVzZSwgcmVjeWNsaW5nLCBhbmQgY29tcG9zdGluZyBwcm9ncmFtcy5cXG5cXG4qKkhvdyBhcmUgd2UgZG9pbmc/KipcXG5cXG5JbiAyMDE0LCB0aGUgdG90YWwgYW1vdW50IG9mIHdhc3RlIGdlbmVyYXRlZCBieSBTYW50YSBNb25pY2EgcmVzaWRlbnRzIHdhcyA4Nyw4OTEgdG9ucy4gVGhlIENpdHkgYWltcyB0byByZWFjaCBaZXJvIFdhc3RlIGJ5IDIwMzAgKDkwJSB3YXN0ZSBkaXZlcnNpb24pLiBUaGUgYW1vdW50IG9mIHdhc3RlIGdlbmVyYXRlZCBoYXMgYmVlbiBvbiBhIGRvd253YXJkIHRyZW5kIHNpbmNlIDIwMDUuIEFzIG9mIDIwMTQsIDc5JSBvZiBzb2xpZCB3YXN0ZSB3YXMgYmVpbmcgZGl2ZXJ0ZWQgZnJvbSBsYW5kZmlsbHMgdGhyb3VnaCByZWN5Y2xpbmcgcHJvZ3JhbXMgYW5kIG9yZ2FuaWNzIGNvbGxlY3Rpb24uIFRoZSBjaXR5IGlzIHdlbGwgb24gdHJhY2sgdG8gbWVldCB0aGUgMjAyMCB0YXJnZXQgb2YgYW4gODUlIGRpdmVyc2lvbiByYXRlLlxcblxcblRvIGhlbHAgcmVkdWNlIG11bmljaXBhbCB3YXN0ZSwgQ2l0eSBzdGFmZiBpbXBsZW1lbnRlZCBhIHplcm8gd2FzdGUgcHJvZ3JhbSBhdCBDaXR5IEhhbGwgYW5kIHRoZSBNYWluIExpYnJhcnkgaW4gMjAxNS4gV2FzdGUgY29udGFpbmVycyBuZWFyIGRlc2tzIHdlcmUgcmVwbGFjZWQgd2l0aCByZWN5Y2xpbmcgYmlucywgYW5kIHJlY3ljbGluZyBiaW5zIGFuZCBvcmdhbmljcyBjb250YWluZXJzIChmb3IgY29tcG9zdCkgd2VyZSBwbGFjZWQgaW4gY29tbXVuYWwgYXJlYXMuIEJhc2VkIG9uIHdhc3RlIGFzc2Vzc21lbnRzIGF0IGVhY2ggc2l0ZSwgZ2FyYmFnZSBnZW5lcmF0aW9uIGRyYXN0aWNhbGx5IGRlY3JlYXNlZCB3aGlsZSBvcmdhbmljcyBhbmQgcmVjeWNsaW5nIGNvbGxlY3Rpb24gaW5jcmVhc2VkLlxcblxcblRoZSBDaXR5IGFsc28gaW1wbGVtZW50ZWQgYSBCdWxreSBJdGVtIENvbGxlY3Rpb247IE1vdmUtaW4vTW92ZS1vdXQgUHJvZ3JhbSBmb3IgTXVsdGktRmFtaWx5IER3ZWxsaW5ncywgd2hpY2ggbGVkIHRvIHRoZSBjb2xsZWN0aW9uIG9mIDEsMDU2IHRvbnMgb2YgbWF0ZXJpYWxzIGFuZCBkZWNyZWFzZWQgdGhlIGFtb3VudCBvZiBpbGxlZ2FsIGR1bXBpbmcgYW5kIGJsaWdodCB0aHJvdWdob3V0IHRoZSBDaXR5LlxcblxcblwifV0sW3tcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzL0VFRDU5OUZELURBNEYtNDdEOC1CRDU4LTcwNzBFN0M1OTRGNlwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKkhvdyBjYW4gd2UgaGVscD8qKlxcblxcbiogUGFydGljaXBhdGUgaW4gdGhlIENpdHkgb2YgW1NhbnRhIE1vbmljYSBTd2FwIG9yIFNoYXJlXVswXS4gVGhlIFJlc291cmNlIFJlY292ZXJ5ICYgUmVjeWNsaW5nIERpdmlzaW9uIHNlZWtzIHRvIGluY3JlYXNlIHJldXNlIGJ5IGludml0aW5nIFNhbnRhIE1vbmljYSByZXNpZGVudHMgdG8gcmVkdWNlIHdhc3RlIGJ5IHN3YXBwaW5nIGFuZCBzaGFyaW5nIGl0ZW1zIHdpdGggdGhlaXIgbmVpZ2hib3JzLlxcbiogU2hvcCB1c2luZyByZXVzYWJsZSBiYWdzLlxcbiogQXZvaWQgcHJvZHVjdHMgdGhhdCBhcmUgZXhjZXNzaXZlbHkgcGFja2FnZWQuXFxuKiBGaXggaXRlbXMgcmF0aGVyIHRoYW4gZGlzcG9zaW5nIGFuZCByZXBsYWNpbmcgd2hlbiBwb3NzaWJsZS5cXG5cXG5bMF06IGh0dHA6Ly9uZWlnaGJvcmdvb2RzLm5ldC9ncm91cHMvY2l0eS1vZi1zYW50YS1tb25pY2Etc2hhcmVzXCJ9LHtcInR5cGVcIjpcInZpelwiLFwiZGF0YXNldFwiOlwiNnc0dC0yendmXCJ9XV19XSxcImljb25cIjpcIlwiLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIlwiLFwidXNlX2N1c3RvbV9zdWJ0aXRsZVwiOnRydWUsXCJjdXN0b21fc3VidGl0bGVcIjpcIlRoaXMgaW5kaWNhdG9yIG1lYXN1cmVzIHdhc3RlIGdlbmVyYXRpb24gaW4gYW5udWFsIHRvbnMuXCIsXCJ0aXRsZV9pbWFnZVwiOlwiL2FwaS9hc3NldHMvQkY5REQ3NTMtRjRBNC00MjNFLUI5QUEtQzhCRkFDRENFODc0XCJ9In0sInByZXZhaWxpbmdfbWVhc3VyZSI6eyJzdGFydCI6IjIwMDEtMTItMzFUMDA6MDA6MDAuMDAwIiwiZW5kIjoiMjAyMC0xMi0zMVQyMzo1OTo1OS4wMDAiLCJ1bml0IjoidG9ucyIsInRhcmdldCI6Mi40LCJ0YXJnZXRfdHlwZSI6InJlbGF0aXZlIiwidGFyZ2V0X2RlbHRhIjowLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsImJhc2VsaW5lIjo5MzA1MSwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiJxczdxLW02OWQifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPCJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDAxfSxcImVuZFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDIwfSxcImFjdGlvbl90eXBlXCI6XCJtYWludGFpblwiLFwidGFyZ2V0X3R5cGVcIjpcImFic29sdXRlXCIsXCJtYWludGFpbl90eXBlXCI6XCI8XCJ9LFwiYmFzZWxpbmVcIjp7XCJzcXVpc2h5XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE1fSxcImVuZFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9fSxcInN0YXJ0XCI6XCIyMDE1LTAxLTAxVDAwOjAwOjAwLjAwMFwiLFwiZW5kXCI6XCIyMDE1LTAxLTAxVDIzOjU5OjU5LjAwMFwiLFwibWV0cmljXCI6e1wibWV0YWRhdGFcIjpcIntcXFwid2l6YXJkXFxcIjp7XFxcImZpbHRlcl9hc3RcXFwiOlt7XFxcInZhbHVlc1xcXCI6W3t9XX1dfX1cIn19LFwibmFtZVwiOlwiY2l0eXdpZGUgZ2VuZXJhdGlvblwifSJ9LCJ1cGRhdGVkX2F0IjoiMjAxNi0wNC0xM1QxNDo1Njo1My42MzZaIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDUtMjJUMjE6NTA6NTAuMTE4WiIsInZlcnNpb24iOiIyMDE2LTA0LTEzVDE0OjU2OjUzLjYzNloiLCJpZCI6IjNxemctdXFhZCJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiJuYXZoLWlnZjIiLCJ1cGRhdGVkX2F0IjoiMjAxNi0wNC0xM1QxNDo1OTo1MC4yNDJaIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDEtMzBUMjM6MTQ6MDIuNzU0WiIsInZlcnNpb24iOiIyMDE2LTA0LTEzVDE0OjU5OjUwLjI0MloiLCJjcmVhdGVkX2J5IjoibnR1Ni1rdnNiIn0seyJpZCI6IjJlZGYtZ25xMiIsIm5hbWUiOiJTZW5kIExlc3MgV2FzdGUgdG8gTGFuZGZpbGxzIiwiaXNfcHVibGljIjp0cnVlLCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcInJldGlyZW1lbnRfbmFycmF0aXZlXCI6W10sXCJuYXJyYXRpdmVcIjpbe1widHlwZVwiOlwidHdvQ29sTGF5b3V0XCIsXCJjb2x1bW5zXCI6W1t7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKldoYXQgaXMgdGhpcyBpbmRpY2F0b3I/KipcXG5cXG5UaGUgQ2l0eeKAmXMgZ29hbHMgZm9yIHNvbGlkIHdhc3RlIGFyZSBmaXJzdCB0byByZWR1Y2Ugd2FzdGUgZ2VuZXJhdGlvbiBhbmQgdGhlbiB0byBpbmNyZWFzZSB0aGUgcGVyY2VudGFnZSBvZiB3YXN0ZSB0aGF0IGlzIGRpdmVydGVkIGZyb20gbGFuZGZpbGxzLiBUaGUgQ2l0eSBsb29rcyBhdCBzb2xpZCB3YXN0ZSBpbiB0ZXJtcyBvZiB0aGUgdG90YWwgYW1vdW50IGdlbmVyYXRlZCwgdGhlIGFtb3VudCBsYW5kZmlsbGVkLCBhbmQgdGhlIGFtb3VudCBkaXZlcnRlZCBmcm9tIGxhbmRmaWxscyB0aHJvdWdoIGNvbnNlcnZhdGlvbiwgcmVjeWNsaW5nLCBjb21wb3N0aW5nLCByZXVzZSwgYW5kIHdhc3RlLXRvLWVuZXJneSBjb252ZXJzaW9uLiBUaGlzIGluZGljYXRvciBtZWFzdXJlcyBwb3VuZHMgb2YgcGVyIGNhcGl0YSB3YXN0ZSBsYW5kZmlsbGVkIGRhaWx5LiBJbiBjb21wbGlhbmNlIHdpdGggU0IgMTAxNiwgdGhlIGNpdHkgcmVwb3J0cyBwZXIgY2FwaXRhIGRpc3Bvc2FsIHJhdGVzIHVzaW5nIHR3byBmYWN0b3JzOiBhIGp1cmlzZGljdGlvbidzIHBvcHVsYXRpb24gYW5kIGl0cyBkaXNwb3NhbCBhcyByZXBvcnRlZCBieSBkaXNwb3NhbCBmYWNpbGl0aWVzLlxcblxcbioqV2h5IGlzIHRoaXMgaW1wb3J0YW50PyoqXFxuXFxuT3ZlciBjb25zdW1wdGlvbiBvZiBub24tbG9jYWwsIG5vbi1yZW5ld2FibGUsIGFuZCBub24tcmVjeWNsYWJsZSBtYXRlcmlhbHMgaXMgdW5zdXN0YWluYWJsZS4gVGhlcmUgaXMgb3Bwb3J0dW5pdHkgZm9yIGltcHJvdmVtZW50IHRocm91Z2ggYmVoYXZpb3JhbCBjaGFuZ2VzIGFuZCBzdHJhdGVnaWMgZGl2ZXJzaW9uIHByYWN0aWNlcy4gSW4gYWRkaXRpb24sIGxhbmRmaWxsIHNwYWNlIGluIGFuZCBhcm91bmQgU2FudGEgTW9uaWNhIGhhcyBiZWNvbWUgaW5jcmVhc2luZ2x5IHNjYXJjZSBhbmQgZXhwZW5zaXZlLiBTZXR0aW5nIGEgZ29hbCB0byByZWR1Y2UgcGVyIGNhcGl0YSB3YXN0ZSBsYW5kZmlsbGVkIHRvIDIuNCBsYnMgcGVyIGRheSBlbmNvdXJhZ2VzIGEgc2hpZnQgdG8gbW9yZSBzdXN0YWluYWJsZSByZXNvdXJjZSB1c2UgYW5kIHB1dHMgbGVzcyBwcmVzc3VyZSBvbiBsYW5kZmlsbHMgYW5kIHRoZSBlbnZpcm9ubWVudCwgd2hpbGUgc2F2aW5nIG1vbmV5IGZvciB0aGUgQ2l0eSBhbmQgaXRzIHJlc2lkZW50cy4gVGhlIGNpdHkgaXMgcHJvZ3Jlc3NpbmcgdG93YXJkIG1vcmUgc3VzdGFpbmFibGUgd2FzdGUgbWFuYWdlbWVudCBwcmFjdGljZXMgYnkgcmVkdWNpbmcgd2FzdGUgZ2VuZXJhdGlvbiBpbmNyZWFzaW5nIHdhc3RlIGRpdmVyc2lvbiB0aHJvdWdoIHJlY3ljbGluZyBhbmQgb3JnYW5pY3MgY29sbGVjdGlvbi5cXG5cXG5PcmdhbmljcyAoZm9vZCBzY3JhcHMpIGFyZSBub3cgdGhlIGxhcmdlc3Qgc2luZ2xlIGNhdGVnb3J5IG9mIGRpc3Bvc2VkIHdhc3RlIGluIENhbGlmb3JuaWEuIFdoZW4gZm9vZCBzY3JhcHMgYXJlIHBsYWNlZCBpbiBhIGxhbmRmaWxsIGFuZCBkZWNvbXBvc2UsIGl0IHByb2R1Y2VzIG1ldGhhbmUsIGEgc2lnbmlmaWNhbnQgZ3JlZW5ob3VzZSBnYXMgY29udHJpYnV0b3IuIFRoZXNlIHByb2dyYW1zIGFyZSBhbHNvIGhlbHBpbmcgdGhlIENpdHkgbWVldCBzdGF0ZSByZXF1aXJlbWVudHMgdW5kZXIgQXNzZW1ibHkgQmlsbCAzMi4gT25lIGNvbXBvbmVudCBvZiBBQiAzMiBjYWxscyBmb3IgYSByZWR1Y3Rpb24gaW4gdGhlIGFtb3VudCBvZiBvcmdhbmljIG1hdGVyaWFscyBzZW50IHRvIGxhbmRmaWxscyBhbmQgaW5jcmVhc2VkIHByb2R1Y3Rpb24gb2YgY29tcG9zdCBhbmQgbXVsY2guXFxuXFxuKipIb3cgYXJlIHdlIGRvaW5nPyoqXFxuXFxuVW5kZXIgdGhlIFNCIDEwMTYgcmVwb3J0aW5nLCBwZXIgY2FwaXRhIHdhc3RlIGxhbmRmaWxsZWQgaW4gMjAxNCB3YXMgNC43IGxicyBvZiB3YXN0ZSBwZXIgZGF5LCBleGNsdXNpdmUgb2Ygd2FzdGUtdG8tZW5lcmd5IHRyYW5zZm9ybWF0aW9uLiBJbiAyMDEwLCB0aGUgZGFpbHkgcmF0ZSB3YXMgMy42IGxicy9yZXNpZGVudC9kYXkuIFRoZSBDaXR5IGlzIG9uIHRyYWNrIHRvIG1lZXQgdGhlIDIwMjAgdGFyZ2V0IG9mIDIuNCBsYnMgb2Ygd2FzdGUgbGFuZGZpbGxlZCBwZXIgcGVyc29uIHBlciBkYXkuIFRoZSBDaXR5IGFpbXMgdG8gcmVhY2ggWmVybyBXYXN0ZSAoOTAlIHdhc3RlIGRpdmVyc2lvbikgYnkgMjAzMCAuIEV4Y2x1ZGluZyAyMDA1IGFuZCBtb3JlIHJlY2VudGx5LCAyMDEzLCB0aGUgY29tbXVuaXR5IGhhcyBiZWVuIHJlZHVjaW5nIHRoZSBwZXIgY2FwaXRhIGFtb3VudHMgbGFuZGZpbGxlZC5cXG5cXG5cIn1dLFt7XCJ0eXBlXCI6XCJpbWFnZVwiLFwic3JjXCI6XCIvYXBpL2Fzc2V0cy8wREFENkE4QS0wNzA3LTRGMjAtQkMyMi05QzU4MEUyNjc4RjFcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiKipIb3cgY2FuIHdlIGhlbHA/KipcXG5cXG4qIFBhcnRpY2lwYXRlIGluIHRoZSBDaXR5IG9mIFtTYW50YSBNb25pY2EgU3dhcCBvciBTaGFyZV1bMF0uIFRoZSBSZXNvdXJjZSBSZWNvdmVyeSAmIFJlY3ljbGluZyBEaXZpc2lvbiBzZWVrcyB0byBpbmNyZWFzZSByZXVzZSBieSBpbnZpdGluZyBTYW50YSBNb25pY2EgcmVzaWRlbnRzIHRvIHJlZHVjZSB3YXN0ZSBieSBzd2FwcGluZyBhbmQgc2hhcmluZyBpdGVtcyB3aXRoIHRoZWlyIG5laWdoYm9ycy5cXG4gICogU2hvcCB1c2luZyByZXVzYWJsZSBiYWdzLlxcbiogQXZvaWQgcHJvZHVjdHMgdGhhdCBhcmUgZXhjZXNzaXZlbHkgcGFja2FnZWQuXFxuKiBGaXggaXRlbXMgcmF0aGVyIHRoYW4gZGlzcG9zaW5nIGFuZCByZXBsYWNpbmcgd2hlbiBwb3NzaWJsZS5cXG5cXG5bMF06IGh0dHA6Ly9uZWlnaGJvcmdvb2RzLm5ldC9ncm91cHMvY2l0eS1vZi1zYW50YS1tb25pY2Etc2hhcmVzXCJ9LHtcInR5cGVcIjpcInZpelwiLFwiZGF0YXNldFwiOlwic2Jlcy10cHZ4XCJ9XV19XSxcInVzZV9jdXN0b21fc3VidGl0bGVcIjp0cnVlLFwiY3VzdG9tX3N1YnRpdGxlXCI6XCJUaGlzIGluZGljYXRvciBtZWFzdXJlcyBsYnMgb2Ygc29saWQgd2FzdGUgbGFuZGZpbGxlZCBwZXIgcGVyc29uIHBlciBkYXkuXCIsXCJ1c2VfY3VzdG9tX3RpdGxlXCI6dHJ1ZSxcImN1c3RvbV90aXRsZVwiOlwiUmVkdWNlIGRhaWx5IHBlciBjYXBpdGEgd2FzdGUgbGFuZGZpbGxlZCB0byAyLjQgbGJzXCIsXCJ0aXRsZV9pbWFnZVwiOlwiL2FwaS9hc3NldHMvNUJGMjQxRjktQUQ5MC00NkQ3LUIxNEYtRUE1ODhBMUY3RDgwXCJ9In0sInByZXZhaWxpbmdfbWVhc3VyZSI6eyJzdGFydCI6IjE5OTUtMTItMzFUMDA6MDA6MDAuMDAwIiwiZW5kIjoiMjAyMC0xMi0zMVQyMzo1OTo1OS4wMDAiLCJ1bml0IjoicG91bmRzIHBlciBwZXJzb24vZGF5IiwidGFyZ2V0IjoyLjQsInRhcmdldF90eXBlIjoiYWJzb2x1dGUiLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsIm1ldHJpYyI6eyJtZXRhZGF0YSI6IiIsImlkIjoicXh3cS1lYnhpIn0sImNvbXBhcmlzb24iOnsiY29tcGFyaXNvbl9mdW5jdGlvbiI6IjwifSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJlZGl0XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MTk5NX0sXCJlbmRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAyMH0sXCJhY3Rpb25fdHlwZVwiOlwicmVkdWNlXCJ9LFwiYmFzZWxpbmVcIjp7XCJzcXVpc2h5XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE0fSxcImVuZFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTR9fSxcInN0YXJ0XCI6XCIyMDE0LTAxLTAxVDAwOjAwOjAwLjAwMFwiLFwiZW5kXCI6XCIyMDE0LTAxLTAxVDIzOjU5OjU5LjAwMFwiLFwibWV0cmljXCI6e1wibWV0YWRhdGFcIjpcIntcXFwid2l6YXJkXFxcIjp7XFxcImZpbHRlcl9hc3RcXFwiOlt7XFxcInZhbHVlc1xcXCI6W3t9XX1dfX1cIn19LFwibmFtZVwiOlwibGJzIHBlciBjYXBpdGEgbGFuZGZpbGxlZFwifSJ9LCJ1cGRhdGVkX2F0IjoiMjAxNS0wNy0yMFQxODozODowMS40MDJaIiwiY3JlYXRlZF9hdCI6IjIwMTQtMTItMDVUMTg6NTQ6MTAuMzE4WiIsInZlcnNpb24iOiIyMDE1LTA3LTIwVDE4OjM4OjAxLjQwMloiLCJpZCI6IjlmZDMtanR1dyJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiJuYXZoLWlnZjIiLCJ1cGRhdGVkX2F0IjoiMjAxNi0wNC0xM1QxNTowMjo0OS4wODhaIiwiY3JlYXRlZF9hdCI6IjIwMTQtMTItMDVUMTg6Mzc6MjAuMjY2WiIsInZlcnNpb24iOiIyMDE2LTA0LTEzVDE1OjAyOjQ5LjA4OFoiLCJjcmVhdGVkX2J5IjoibnR1Ni1rdnNiIn0seyJpZCI6InVlbTMtdHprNyIsIm5hbWUiOiJJbmNyZWFzZSBXYXN0ZSBEaXZlcnNpb24iLCJpc19wdWJsaWMiOnRydWUsIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcImljb25cIjpcIlwiLFwibmFycmF0aXZlXCI6W3tcInR5cGVcIjpcInR3b0NvbExheW91dFwiLFwiY29sdW1uc1wiOltbe1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiKipXaGF0IGlzIHRoaXMgaW5kaWNhdG9yPyoqXFxuXFxuVGhlIENpdHnigJlzIGdvYWxzIGZvciBzb2xpZCB3YXN0ZSBhcmUgZmlyc3QgdG8gcmVkdWNlIHdhc3RlIGdlbmVyYXRpb24gYW5kIHRoZW4gdG8gaW5jcmVhc2UgdGhlIHBlcmNlbnRhZ2Ugb2Ygd2FzdGUgdGhhdCBpcyBkaXZlcnRlZCBmcm9tIGxhbmRmaWxscy4gVGhlIENpdHkgbG9va3MgYXQgc29saWQgd2FzdGUgaW4gdGVybXMgb2YgdGhlIHRvdGFsIGFtb3VudCBnZW5lcmF0ZWQsIHRoZSBhbW91bnQgbGFuZGZpbGxlZCwgYW5kIHRoZSBhbW91bnQgZGl2ZXJ0ZWQgZnJvbSBsYW5kZmlsbHMuIFdhc3RlIGRpdmVyc2lvbiBhcHBsaWVzIHRvIHdhc3RlIHRoYXQgaGFzIGJlZW4gcmV1c2VkLCBjb21wb3N0ZWQsIG9yIGNvbnZlcnRlZCBpbnRvIGVuZXJneSByYXRoZXIgdGhhbiBzZW50IHRvIGEgbGFuZGZpbGwuXFxuXFxuKipXaHkgaXMgdGhpcyBpbXBvcnRhbnQ/KipcXG5cXG5BIHNpZ25pZmljYW50IHBvcnRpb24gb2YgZGlzcG9zZWQgc29saWQgd2FzdGUgY2FuIGJlIGRpdmVydGVkIGZyb20gbGFuZGZpbGxzIHRocm91Z2ggYmVoYXZpb3JhbCBjaGFuZ2VzIGFuZCBtdW5pY2lwYWwgYWN0aW9uLiBJbiBhZGRpdGlvbiwgbGFuZGZpbGwgc3BhY2UgaW4gYW5kIGFyb3VuZCBTYW50YSBNb25pY2EgaGFzIGJlY29tZSBzY2FyY2UgYW5kIGV4cGVuc2l2ZS4gQSBoaWdoZXIgZGl2ZXJzaW9uIHRhcmdldCBlbmNvdXJhZ2VzIGEgc2hpZnQgdG8gbW9yZSBzdXN0YWluYWJsZSByZXNvdXJjZSB1c2UgYW5kIHB1dHMgbGVzcyBwcmVzc3VyZSBvbiBsYW5kZmlsbHMgYW5kIHRoZSBlbnZpcm9ubWVudCwgd2hpbGUgc2F2aW5nIG1vbmV5IGZvciB0aGUgQ2l0eSBhbmQgaXRzIHJlc2lkZW50cy4gSW4gb3JkZXIgdG8gYWNoaWV2ZSBtb3JlIHN1c3RhaW5hYmxlIHdhc3RlIG1hbmFnZW1lbnQgcHJhY3RpY2VzIGFuZCByZWR1Y2UgdGhlIGFtb3VudCBvZiB3YXN0ZSBsYW5kZmlsbGVkLCBhbiBpbmNyZWFzZSBpbiB3YXN0ZSBkaXZlcnNpb24gc2hvdWxkIGJlIGFjY29tcGFuaWVkIGJ5IGEgcmVkdWN0aW9uIGluIHBlciBjYXBpdGEgd2FzdGUgZ2VuZXJhdGlvbi5cXG5cXG4qKkhvdyBhcmUgd2UgZG9pbmc/KipcXG5cXG5BcyBvZiAyMDE0LCA3OSUgb2Ygc29saWQgd2FzdGUgd2FzIGJlaW5nIGRpdmVydGVkIGZyb20gbGFuZGZpbGxzLiBUaGUgY2l0eSBpcyB3ZWxsIG9uIHRyYWNrIHRvIG1lZXQgdGhlIDIwMjAgdGFyZ2V0IG9mIGFuIDg1JSBkaXZlcnNpb24gcmF0ZSBhcyBhIHJlc3VsdCBvZiByZWN5Y2xpbmcgcHJvZ3JhbXMsIG9yZ2FuaWNzIGNvbGxlY3Rpb24sIGFuZCB3YXN0ZS10by1lbmVyZ3kgdHJhbnNmb3JtYXRpb24uIFRoZSBDaXR5IGFpbXMgdG8gcmVhY2ggWmVybyBXYXN0ZSAoOTAlIHdhc3RlIGRpdmVyc2lvbikgYnkgMjAzMCAuXFxuXFxuIFwifV0sW3tcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzLzBEM0ZFRDUwLTM2NDItNDBGOS05NTNGLTE5Q0JEMUU3RTQ3RlwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKkhvdyBjYW4gd2UgaGVscD8qKlxcblxcbiogUGFydGljaXBhdGUgaW4gdGhlIFtDaXR5IG9mIFNhbnRhIE1vbmljYSBTd2FwIG9yIFNoYXJlXVswXS5cXG4qIFRoZSBSZXNvdXJjZSBSZWNvdmVyeSAmIFJlY3ljbGluZyBEaXZpc2lvbiBzZWVrcyB0byBpbmNyZWFzZSByZXVzZSBieSBpbnZpdGluZyBTYW50YSBNb25pY2EgcmVzaWRlbnRzIHRvIHJlZHVjZSB3YXN0ZSBieSBzd2FwcGluZyBhbmQgc2hhcmluZyBpdGVtcyB3aXRoIHRoZWlyIG5laWdoYm9ycy5cXG4qIFNob3AgdXNpbmcgcmV1c2FibGUgYmFncy5cXG4qIEF2b2lkIHByb2R1Y3RzIHRoYXQgYXJlIGV4Y2Vzc2l2ZWx5IHBhY2thZ2VkLlxcbiogRml4IGl0ZW1zIHJhdGhlciB0aGFuIGRpc3Bvc2luZyBhbmQgcmVwbGFjaW5nIHdoZW4gcG9zc2libGUuXFxuXFxuWzBdOiBodHRwOi8vbmVpZ2hib3Jnb29kcy5uZXQvZ3JvdXBzL2NpdHktb2Ytc2FudGEtbW9uaWNhLXNoYXJlc1wifSx7XCJ0eXBlXCI6XCJ2aXpcIixcImRhdGFzZXRcIjpcImFkcjUtbTc3dVwifV1dfV0sXCJ1c2VfY3VzdG9tX3N1YnRpdGxlXCI6dHJ1ZSxcImN1c3RvbV9zdWJ0aXRsZVwiOlwiVGhpcyBpbmRpY2F0b3IgbWVhc3VyZXMgZGl2ZXJzaW9uIGZyb20gbGFuZGZpbGwgaW4gcGVyY2VudFwiLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIkluY3JlYXNlIGRpdmVyc2lvbiBmcm9tIGxhbmRmaWxsIHRvIDg1IHBlcmNlbnRcIixcInRpdGxlX2ltYWdlXCI6XCIvYXBpL2Fzc2V0cy9DM0Q0M0ZCQi05MEI1LTQxODctQTlDQS0wRjRBNURCNTU1QUZcIn0ifSwicHJldmFpbGluZ19tZWFzdXJlIjp7InN0YXJ0IjoiMTk5NS0wMS0wMVQwMDowMDowMC4wMDAiLCJlbmQiOiIyMDIwLTEyLTMxVDIzOjU5OjU5LjAwMCIsInVuaXQiOiJwZXJjZW50IGRpdmVydGVkIiwidGFyZ2V0Ijo4NSwidGFyZ2V0X3R5cGUiOiJhYnNvbHV0ZSIsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiJzczZ0LW5lY2EifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPiJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjE5OTV9LFwiZW5kXCI6e1wiZGF0ZVwiOlwiZW5kXCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMjB9fSxcImJhc2VsaW5lXCI6e1wic3F1aXNoeVwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX0sXCJlbmRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE1fX0sXCJzdGFydFwiOlwiMjAxNS0wMS0wMVQwMDowMDowMC4wMDBcIixcImVuZFwiOlwiMjAxNS0wMS0wMVQyMzo1OTo1OS4wMDBcIixcIm1ldHJpY1wiOntcIm1ldGFkYXRhXCI6XCJ7XFxcIndpemFyZFxcXCI6e1xcXCJmaWx0ZXJfYXN0XFxcIjpbe1xcXCJ2YWx1ZXNcXFwiOlt7fV19XX19XCJ9fSxcIm5hbWVcIjpcImRpdmVyc2lvbiBmcm9tIGxhbmRmaWxsXCJ9In0sInVwZGF0ZWRfYXQiOiIyMDE1LTA3LTIwVDE4OjM1OjQxLjQxMFoiLCJjcmVhdGVkX2F0IjoiMjAxNS0wNS0yN1QwMDowMToxNC40MjRaIiwidmVyc2lvbiI6IjIwMTUtMDctMjBUMTg6MzU6NDEuNDEwWiIsImlkIjoiN2RpdS02NG13In0sInJlbGF0ZWRfbWVhc3VyZXMiOltdLCJiYXNlX2Rhc2hib2FyZCI6Im5hdmgtaWdmMiIsInVwZGF0ZWRfYXQiOiIyMDE2LTA0LTEzVDE1OjAzOjM5LjMyNloiLCJjcmVhdGVkX2F0IjoiMjAxNS0wMS0zMFQyMzoxNDowMi43NTRaIiwidmVyc2lvbiI6IjIwMTYtMDQtMTNUMTU6MDM6MzkuMzI2WiIsImNyZWF0ZWRfYnkiOiJudHU2LWt2c2IifV0sInZlcnNpb24iOiIyMDE1LTA4LTEwVDE3OjQ3OjUzLjM0N1oifSx7ImlkIjoianQ4Ni1iZG5pIiwibmFtZSI6IldhdGVyIFVzZSIsImdvYWxzIjpbeyJpZCI6IjM4aTYtM2l2aCIsIm5hbWUiOiJSZWR1Y2UgQ2l0eXdpZGUgV2F0ZXIgRGVtYW5kIiwiaXNfcHVibGljIjp0cnVlLCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcInJldGlyZW1lbnRfbmFycmF0aXZlXCI6W10sXCJuYXJyYXRpdmVcIjpbe1widHlwZVwiOlwidHdvQ29sTGF5b3V0XCIsXCJjb2x1bW5zXCI6W1t7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKldoYXQgaXMgdGhpcyBpbmRpY2F0b3I/KipcXG5cXG5Ub3RhbCBjaXR5d2lkZSB1c2UgaXMgdGhlIHRvdGFsIGFtb3VudCBvZiB3YXRlciB1c2VkIGJ5IFNhbnRhIE1vbmljYSByZXNpZGVudHMsIGJ1c2luZXNzZXMsIGFuZCB2aXNpdG9ycywgbWVhc3VyZWQgaW4gbWlsbGlvbnMgb2YgZ2FsbG9ucyBwZXIgZGF5IChNR0QpLlxcblxcbioqV2h5IGlzIHRoaXMgaW1wb3J0YW50PyoqXFxuXFxuVGhlIENpdHkgb2YgU2FudGEgTW9uaWNhIHN1cHBsaWVzIGltcG9ydGVkIGFuZCBsb2NhbCB3YXRlciB0byBhcHByb3hpbWF0ZWx5IDkyLDAwMCByZXNpZGVudHMgY292ZXJpbmcgYW4gYXJlYSBvZiBhcHByb3hpbWF0ZWx5IDggc3F1YXJlIG1pbGVzLiBMb29raW5nIHRvIGl0cyBmdXR1cmUsIHRoZSBDaXR5IGhvcGVzIHRvIGVsaW1pbmF0ZSBpdHMgZGVwZW5kZW5jZSBvbiBpbXBvcnRlZCB3YXRlciBieSBhZGRyZXNzaW5nIHRoZSBjaGFsbGVuZ2Ugb2YgZXhpc3RpbmcgZ3JvdW5kd2F0ZXIgcXVhbGl0eSwgaWRlbnRpZnlpbmcgbmV3IHNvdXJjZXMgb2YgbG9jYWwgd2F0ZXIgc3VwcGx5LCBhbmQgbW9yZSBlZmZlY3RpdmVseSByZWR1Y2UgYW5kIG1hbmFnZSBpdHMgd2F0ZXIgZGVtYW5kcy5XaXRoIGFuIGFkb3B0ZWQgZ29hbCBvZiB3YXRlciBzZWxmLXN1ZmZpY2llbmN5IGFjaGlldmVkIGJ5IGVsaW1pbmF0aW5nIHJlbGlhbmNlIG9uIE1ldHJvcG9saXRhbiBXYXRlciBEaXN0cmljdCBvZiBTb3V0aGVybiBDYWxpZm9ybmlhIChNV0QpIHN1cHBseSBieSAyMDIwLCB0aGUgQ2l0eSBvZiBTYW50YSBNb25pY2EgZGV2ZWxvcGVkIGEgW1N1c3RhaW5hYmxlIFdhdGVyIE1hc3RlciBQbGFuXVswXSBmb2N1c2VkIG9uIHJlZHVjaW5nIHdhdGVyIGRlbWFuZCBhbmQgZW5oYW5jaW5nIGxvY2FsIHdhdGVyIHN1cHBseSBwcm9kdWN0aW9uIGNhcGFiaWxpdGllcy5cXG5cXG4qKkhvdyBhcmUgd2UgZG9pbmc/KipcXG5cXG5EZXNwaXRlIGluY3JlYXNlcyBpbiBkZXZlbG9wbWVudCBhbmQgYSBncm93aW5nIGRheXRpbWUgcG9wdWxhdGlvbiwgU2FudGEgTW9uaWNhIGhhcyBiZWVuIHJlbGF0aXZlbHkgc3VjY2Vzc2Z1bCBhdCBtYW5hZ2luZyBjaXR5d2lkZSB3YXRlciBkZW1hbmQuIEFzIG9mIEp1bmUgMjAxNSwgdG90YWwgY2l0eXdpZGUgdXNlIHdhcyAxMS42IE1HRCwgd2hpY2ggaXMgdGhlIHNhbWUgYXMgaW4gMjAxMC4gSW1wcm92ZW1lbnQgaXMgbmVlZGVkIHRvIGRyb3AgdG8gdGhlIDEwLjMgTUdEIHRhcmdldCBieSAyMDIwIChhIHJlZHVjdGlvbiBvZiAxLjMgTUdEKS4gVGhlIG1ham9yaXR5ICg2NiUpIG9mIHRoZSBDaXR54oCZcyB3YXRlciB1c2Ugb2NjdXJzIHdpdGhpbiB0aGUgcmVzaWRlbnRpYWwgc2VjdG9yLiBSZWR1Y2luZyBjaXR5d2lkZSB3YXRlciB1c2UgdGhyb3VnaCBlZHVjYXRpb25hbCBjYW1wYWlnbnMgYW5kIHJlYmF0ZXMgZm9yIGhpZ2gtZWZmaWNpZW5jeSB3YXRlciBmaXh0dXJlcyBhbmQgbGF3biByZW1vdmFsIGFyZSBwYXJ0IG9mIFNhbnRhIE1vbmljYeKAmXMgY2l0eXdpZGUgY29uc2VydmF0aW9uIGVmZm9ydHMuXFxuXFxuQ3VycmVudCBpbml0aWF0aXZlcyB0byBjdXJiIHdhdGVyIHVzZSBpbmNsdWRlIHRoZSBbV2F0ZXIgU3VwcGx5IFNob3J0YWdlIFJlc3BvbnNlIFBsYW5dWzFdICh1cGRhdGVkIGFuZCByZS1hZG9wdGVkIGJ5IENpdHkgQ291bmNpbCBpbiBKYW51YXJ5IDIwMTUpIGFuZCB0aGUgW1dhdGVyIENvbnNlcnZhdGlvbiBDYW1wYWlnbl1bMl0sIGxhdW5jaGVkIGluIE1heSAyMDE1LCB0byBhY2hpZXZlIHdhdGVyLXNhdmluZ3Mgb2YgMjAlIGZyb20gMjAxMyBsZXZlbHMgYnkgRGVjZW1iZXIgMjAxNi4gU2FudGEgTW9uaWNhIHJlc2lkZW50cywgdmlzaXRvcnMsIGJ1c2luZXNzZXMgYW5kIHRoZWlyIGVtcGxveWVlcyBhcmUgYXNrZWQgdG8gdGFrZSBpbW1lZGlhdGUgYWN0aW9uIHRvIHJlZHVjZSB0aGUgQ2l0eeKAmXMgd2F0ZXIgdXNlIGJ5IGEgY29sbGVjdGl2ZSB0b3RhbCBvZiAyLjIgbWlsbGlvbiBnYWxsb25zIHBlciBkYXkuIFJlZHVjaW5nIHdhdGVyIHVzZSB3aWxsIGxlc3NlbiB0aGUgaW1wYWN0cyBvZiB0aGUgZHJvdWdodCBvbiBsb2NhbCBncm91bmR3YXRlciBhbmQgaW1wb3J0ZWQgd2F0ZXIgc3VwcGxpZXMgd2hpbGUgaW1wcm92aW5nIGxvY2FsLCByZWdpb25hbCBhbmQgc3RhdGUtd2lkZSB3YXRlciBzdXN0YWluYWJpbGl0eS5cXG5cXG5BcyBwYXJ0IG9mIHRoZSBXYXRlciBTdXBwbHkgU2hvcnRhZ2UgUmVzcG9uc2UgUGxhbiwgV2F0ZXIgVXNlIEFsbG93YW5jZXMgd2VyZSBpbXBsZW1lbnRlZCBmb3IgYWxsIG9mIHRoZSBDaXR54oCZcyB3YXRlciBjdXN0b21lcnMuIFRoZSBXYXRlciBVc2UgQWxsb3dhbmNlIGlzIGEgMjAlIHJlZHVjdGlvbiBpbiB3YXRlciB1c2UgZnJvbSAyMDEzIGxldmVscyBmb3IgdGhlIHNhbWUgYmlsbGluZyBwZXJpb2QgYW5kIHN0YXJ0ZWQgYXBwZWFyaW5nIG9uIHV0aWxpdHkgaW52b2ljZXMgaW4gSnVuZSAyMDE1LlxcblxcblRoZSBtb3N0IHBvcHVsYXIgcmViYXRlLCB0aGUgU3VzdGFpbmFibGUgTGFuZHNjYXBlIFJlYmF0ZSwgcGF5cyAkMy41MCBmb3IgZWFjaCBzcXVhcmUgZm9vdCBvZiBsYXduIHRoYXQgaXMgcmVtb3ZlZCBhbmQgcmVwbGFjZWQgd2l0aCBzdXN0YWluYWJsZSBsYW5kc2NhcGluZy4gSW4gYWRkaXRpb24sIGN1c3RvbWVycyBtYXkgY2hvb3NlIHRvIHJlY2VpdmUgYSAyLWhvdXIgY29uc3VsdGF0aW9uIHdpdGggZXhwZXJ0IGxhbmRzY2FwZSBkZXNpZ25lcnMgZm9yIGEgc21hbGwgZmVlLlxcblxcblswXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvZGVwYXJ0bWVudHMvY291bmNpbC9hZ2VuZGFzLzIwMTQvMjAxNDEwMjgvczIwMTQxMDI4MDgtQy0xLmh0bVxcblsxXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvZGVwYXJ0bWVudHMvY291bmNpbC9hZ2VuZGFzLzIwMTUvMjAxNTAxMTMvczIwMTUwMTEzMDgtQi0yLmh0bVxcblsyXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvdXBsb2FkZWRGaWxlcy9EZXBhcnRtZW50cy9PU0UvQ2F0ZWdvcmllcy9XYXRlci9XYXRlcl9Db25zZXJ2YXRpb25fQ2FtcGFpZ25fTGF1bmNoX1ByZXNzX1JlbGVhc2VfTWF5XzA5LnBkZlwifV0sW3tcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzLzNBODYyMTM4LTdDMEMtNDM1Ny05N0MxLTYzRjE0QzM2RkVFMVwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKkhvdyBjYW4gSSBoZWxwPyoqXFxuXFxuKiBSZXBsYWNlIG9sZGVyIGZsdXNoIGFuZCBmbG93IGZpeHR1cmVzIHdpdGggaGlnaC1lZmZpY2llbmN5IGRldmljZXMuIFtUb2lsZXQgcmViYXRlc11bMF0gYXJlIGF2YWlsYWJsZSBhbmQgdGhlIENpdHnigJlzIE9mZmljZSBvZiBTdXN0YWluYWJpbGl0eSBhbmQgdGhlIEVudmlyb25tZW50IHByb3ZpZGVzIGZyZWUgZmF1Y2V0IGFlcmF0b3JzIGFuZCBzaG93ZXIgaGVhZHMuIENhbGwgMzEwLTQ1OC04OTcyLlxcbiogUmVwbGFjZSB5b3VyIGxhd24gYW5kIHBhcmt3YXlzIHdpdGggZHJvdWdodC10b2xlcmFudCBsYW5kc2NhcGluZy4gU2lnbiB1cCBmb3IgYSBbTGFuZHNjYXBlIERlc2lnbiBDb25zdWx0YXRpb25dWzFdIGFuZCBhcHBseSBmb3IgYSBbU3VzdGFpbmFibGUgTGFuZHNjYXBlIHJlYmF0ZS5dWzJdXFxuKiBVc2UgZHJpcCBpcnJpZ2F0aW9uIG9yIGEgd2VhdGhlci1iYXNlZCBpcnJpZ2F0aW9uIGNvbnRyb2xsZXJzIHRvIGFkanVzdCBpcnJpZ2F0aW9uIGJhc2VkIG9uIHdlYXRoZXIgY29uZGl0aW9ucy4gW1JlYmF0ZXNdWzBdIGFyZSBhdmFpbGFibGUuXFxuKiBTaWduIHVwIGZvciBhIGZyZWUgW1dhdGVyIFVzZSBDb25zdWx0YXRpb25dWzFdIGZvciB5b3VyIGhvbWUgb3IgYnVzaW5lc3MuXFxuKiBGaW5kIG1vcmUgd2F0ZXItc2F2aW5nIHRpcHMgYXQgW3NtZ292Lm5ldC93YXRlcl1bM10uXFxuXFxuWzBdOiBodHRwOi8vd3d3LnNtZ292Lm5ldC9kZXBhcnRtZW50cy9vc2UvcmViYXRlcy9jb250ZW50LmFzcHg/aWQ9NDM1OFxcblsxXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvRGVwYXJ0bWVudHMvT1NFL0NhdGVnb3JpZXMvV2F0ZXIvV2F0ZXJfU2F2aW5nX0NvbnN1bHRhdGlvbnMuYXNweFxcblsyXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvRGVwYXJ0bWVudHMvT1NFL1JlYmF0ZXMvTGFuZHNjYXBlX1JlYmF0ZS5hc3B4XFxuWzNdOiBodHRwOi8vd3d3LnNtZ292Lm5ldC93YXRlclwifSx7XCJ0eXBlXCI6XCJ2aXpcIixcImRhdGFzZXRcIjpcIjc5ZnQtZ3BiZFwifV1dfSx7XCJ0eXBlXCI6XCJ0d29Db2xMYXlvdXRcIixcImNvbHVtbnNcIjpbW3tcInR5cGVcIjpcInZpelwiLFwiZGF0YXNldFwiOlwiOGs4cS1mczM2XCJ9XSxbXV19XSxcInVzZV9jdXN0b21fc3VidGl0bGVcIjp0cnVlLFwiY3VzdG9tX3N1YnRpdGxlXCI6XCJUaGlzIGluZGljYXRvciBtZWFzdXJlcyB3YXRlciBkZW1hbmQgaW4gbWlsbGlvbiBnYWxsb25zIHBlciBkYXkuXCIsXCJ0aXRsZV9pbWFnZVwiOlwiL2FwaS9hc3NldHMvNzBGREFCNDktRTJEQS00RTRFLTk3NDAtMUE5RjkzQzI4OUQ5XCIsXCJ1c2VfY3VzdG9tX3RpdGxlXCI6dHJ1ZSxcImN1c3RvbV90aXRsZVwiOlwiUmVkdWNlIGNpdHl3aWRlIHdhdGVyIGRlbWFuZCB0byAxMC4zIG1pbGxpb24gZ2FsbG9ucyBwZXIgZGF5XCJ9In0sInByZXZhaWxpbmdfbWVhc3VyZSI6eyJzdGFydCI6IjIwMDAtMDEtMDFUMDA6MDA6MDAuMDAwIiwiZW5kIjoiMjAyMC0xMi0zMVQyMzo1OTo1OS4wMDAiLCJ1bml0IjoibWlsbGlvbiBnYWxsb25zIHBlciBkYXkiLCJ0YXJnZXQiOjEwLjMsInRhcmdldF90eXBlIjoiYWJzb2x1dGUiLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsIm1ldHJpYyI6eyJtZXRhZGF0YSI6IiIsImlkIjoiNWl3cS1pNnphIn0sImNvbXBhcmlzb24iOnsiY29tcGFyaXNvbl9mdW5jdGlvbiI6IjwifSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJlZGl0XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDAwfSxcImVuZFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDIwfSxcImFjdGlvbl90eXBlXCI6XCJyZWR1Y2VcIn0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX19LFwic3RhcnRcIjpcIjIwMTUtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTUtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJDaXR5d2lkZSBXYXRlciBEZW1hbmRcIn0ifSwidXBkYXRlZF9hdCI6IjIwMTUtMDctMjBUMjM6MDg6MjMuMDk5WiIsImNyZWF0ZWRfYXQiOiIyMDE1LTA1LTI3VDIwOjAyOjIxLjc2NVoiLCJ2ZXJzaW9uIjoiMjAxNS0wNy0yMFQyMzowODoyMy4wOTlaIiwiaWQiOiJoZmh1LXQzcXMifSwicmVsYXRlZF9tZWFzdXJlcyI6W10sImJhc2VfZGFzaGJvYXJkIjoibmF2aC1pZ2YyIiwidXBkYXRlZF9hdCI6IjIwMTYtMDItMTlUMDA6Mzc6MzcuMzg4WiIsImNyZWF0ZWRfYXQiOiIyMDE0LTEyLTA1VDE4OjQ0OjE4LjE5MFoiLCJ2ZXJzaW9uIjoiMjAxNi0wMi0xOVQwMDozNzozNy4zODhaIiwiY3JlYXRlZF9ieSI6IjRzbXktY21rMiJ9LHsiaWQiOiJ1N2EzLTdpdnMiLCJuYW1lIjoiUmVkdWNlIFBlciBDYXBpdGEgV2F0ZXIgVXNlIiwiaXNfcHVibGljIjp0cnVlLCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcInJldGlyZW1lbnRfbmFycmF0aXZlXCI6W10sXCJuYXJyYXRpdmVcIjpbe1widHlwZVwiOlwidHdvQ29sTGF5b3V0XCIsXCJjb2x1bW5zXCI6W1t7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKldoYXQgaXMgdGhpcyBpbmRpY2F0b3I/KipcXG5cXG5UaGlzIGluZGljYXRvciBtZWFzdXJlcyB0aGUgZ2FsbG9ucyBvZiBwZXIgY2FwaXRhIGRhaWx5IHdhdGVyIHVzZSAoR1BDRCkgaW4gU2FudGEgTW9uaWNhIGJ5IGRpdmlkaW5nIHRoZSB0b3RhbCBjaXR5d2lkZSB3YXRlciB1c2UgYnkgdGhlIG51bWJlciBvZiByZXNpZGVudHMgYW5kIGRheXMgcGVyIHllYXIuXFxuXFxuKipXaHkgaXMgdGhpcyBpbXBvcnRhbnQ/KipcXG5cXG5UaGUgQ2l0eSBvZiBTYW50YSBNb25pY2Egc3VwcGxpZXMgaW1wb3J0ZWQgYW5kIGxvY2FsIHdhdGVyIHRvIGFwcHJveGltYXRlbHkgOTIsMDAwIHJlc2lkZW50cyBjb3ZlcmluZyBhbiBhcmVhIG9mIGFwcHJveGltYXRlbHkgOCBzcXVhcmUgbWlsZXMuIExvb2tpbmcgdG8gaXRzIGZ1dHVyZSwgdGhlIENpdHkgaG9wZXMgdG8gZWxpbWluYXRlIGl0cyBkZXBlbmRlbmNlIG9uIGltcG9ydGVkIHdhdGVyIGJ5IGFkZHJlc3NpbmcgdGhlIGNoYWxsZW5nZSBvZiBleGlzdGluZyBncm91bmR3YXRlciBxdWFsaXR5LGlkZW50aWZ5aW5nIG5ldyBzb3VyY2VzIG9mIGxvY2FsIHdhdGVyIHN1cHBseSwgYW5kIG1vcmUgZWZmZWN0aXZlbHkgcmVkdWNlIGFuZCBtYW5hZ2UgaXRzIHdhdGVyIGRlbWFuZHMuXFxuXFxuV2l0aCBhbiBhZG9wdGVkIGdvYWwgb2Ygd2F0ZXIgc2VsZi1zdWZmaWNpZW5jeSBhY2hpZXZlZCBieSBlbGltaW5hdGluZyByZWxpYW5jZSBvbiBNZXRyb3BvbGl0YW4gV2F0ZXIgRGlzdHJpY3Qgb2YgU291dGhlcm4gQ2FsaWZvcm5pYSAoTVdEKSBzdXBwbHkgYnkgMjAyMCwgdGhlIENpdHkgb2YgU2FudGEgTW9uaWNhIGRldmVsb3BlZCBhIFtTdXN0YWluYWJsZSBXYXRlciBNYXN0ZXIgUGxhbl1bMF0gZm9jdXNlZCBvbiByZWR1Y2luZyB3YXRlciBkZW1hbmQgYW5kIGVuaGFuY2luZyBsb2NhbCB3YXRlciBzdXBwbHkgcHJvZHVjdGlvbiBjYXBhYmlsaXRpZXMuXFxuXFxuSW4gdGhlIG1pZHN0IG9mIG9uZSBvZiB0aGUgbW9zdCBzZXZlcmUgZHJvdWdodHMgaW4gQ2FsaWZvcm5pYeKAmXMgaGlzdG9yeSwgU2FudGEgTW9uaWNhIHJlc2lkZW50cyBtdXN0IGJlIGEgcGFydCBvZiB0aGUgc29sdXRpb24gYnkgcGFydGljaXBhdGluZyBpbiBzdGF0ZXdpZGUgYW5kIGNpdHl3aWRlIGVmZm9ydHMgdG8gbG93ZXIgd2F0ZXIgY29uc3VtcHRpb24uUmVkdWNpbmcgcGVyIGNhcGl0YSB3YXRlciB1c2Ugd2lsbCBhbHNvIGhlbHAgdGhlIGNpdHkgd2VhbiBpdHNlbGYgb2ZmIG9mIGltcG9ydGVkIHdhdGVyIHN1cHBsaWVzIGFuZCBtb3ZlIHRvd2FyZCBzZWxmLXN1ZmZpY2llbmN5IGJ5IDIwMjAsIGFzIGRpcmVjdGVkIGJ5IHRoZSBTYW50YSBNb25pY2EgU3VzdGFpbmFibGUgV2F0ZXIgTWFzdGVyIFBsYW4uXFxuXFxuKipIb3cgYXJlIHdlIGRvaW5nPyoqXFxuXFxuQXMgb2YgSnVuZSAyMDE1LCB3ZSBhcmUgb24gdHJhY2sgdG8gbWVldCB0aGUgd2F0ZXIgY29uc2VydmF0aW9uIGdvYWxzIG91dGxpbmVkIGluIHRoZSBTdXN0YWluYWJsZSBXYXRlciBNYXN0ZXIgUGxhbiBhbmQgaW4gY29tcGxpYW5jZSB3aXRoIFN0YXRlIHJlZ3VsYXRpb25zIChTQng3LTcpLCB3aXRoIHJlc2lkZW50cyB1c2luZyBhbiBhdmVyYWdlIG9mIDExMyBHUENELiBUaGlzIGlzIGEgc2lnbmlmaWNhbnQgaW1wcm92ZW1lbnQgb3ZlciAyMDEwIHVzYWdlIG9mIDEzMCBHUENELiBUaGUgbWFqb3JpdHkgKDY2JSkgb2YgdGhlIENpdHnigJlzIHdhdGVyIHVzZSBvY2N1cnMgd2l0aGluIHRoZSByZXNpZGVudGlhbCBzZWN0b3IuXFxuXFxuQ3VycmVudCBpbml0aWF0aXZlcyB0byBjdXJiIHdhdGVyIHVzZSBpbiByZXNwb25zZSB0byB0aGUgZHJvdWdodCBpbmNsdWRlIHRoZSBbV2F0ZXIgU3VwcGx5IFNob3J0YWdlIFJlc3BvbnNlIFBsYW5dWzFdICh1cGRhdGVkIGFuZCByZS1hZG9wdGVkIGJ5IENpdHkgQ291bmNpbCBpbiBKYW51YXJ5IDIwMTUpIGFuZCB0aGUgW1dhdGVyIENvbnNlcnZhdGlvbiBDYW1wYWlnbl1bMl0gLCBsYXVuY2hlZCBpbiBNYXkgMjAxNSB0byBhY2hpZXZlIHdhdGVyLXNhdmluZ3Mgb2YgMjAlIGZyb20gMjAxMyBsZXZlbHMgYnkgRGVjZW1iZXIgMjAxNi4gVGhpcyBpcyBpbiBsaW5lIHdpdGggdGhlIFN0YXRl4oCZcyB3YXRlciByZWR1Y3Rpb24gdGFyZ2V0IGluIHJlc3BvbnNlIHRvIHRoZSBkcm91Z2h0LiBTYW50YSBNb25pY2EgcmVzaWRlbnRzLCB2aXNpdG9ycyxidXNpbmVzc2VzIGFuZCB0aGVpciBlbXBsb3llZXMgYXJlIGFza2VkIHRvIHRha2UgaW1tZWRpYXRlIGFjdGlvbiB0byByZWR1Y2UgdGhlIENpdHnigJlzIHdhdGVyIHVzZSBieSBhIGNvbGxlY3RpdmUgdG90YWwgb2YgMi4yIG1pbGxpb24gZ2FsbG9ucyBwZXIgZGF5LiBSZWR1Y2luZyB3YXRlciB1c2Ugd2lsbCBsZXNzZW4gdGhlIGltcGFjdHMgb2YgdGhlIGRyb3VnaHQgb24gbG9jYWwgZ3JvdW5kd2F0ZXIgYW5kIGltcG9ydGVkIHdhdGVyIHN1cHBsaWVzIHdoaWxlIGltcHJvdmluZyBsb2NhbCwgcmVnaW9uYWwgYW5kIHN0YXRlLXdpZGUgd2F0ZXIgc3VzdGFpbmFiaWxpdHkuIEluIGl0cyBmaXJzdCBtb250aCBvZiBTdGF0ZSByZXF1aXJlZCB3YXRlciByZWR1Y3Rpb24gcmVwb3J0aW5nLHRoZSBjaXR5IG1ldCBpdHMgMjAlIHJlZHVjdGlvbiB0YXJnZXQuXFxuXFxuQXMgcGFydCBvZiB0aGUgV2F0ZXIgU3VwcGx5IFNob3J0YWdlIFJlc3BvbnNlIFBsYW4sIFdhdGVyIFVzZSBBbGxvd2FuY2VzIHdlcmUgaW1wbGVtZW50ZWQgZm9yIGFsbCBvZiB0aGUgQ2l0eeKAmXMgd2F0ZXIgY3VzdG9tZXJzLiBUaGUgV2F0ZXIgVXNlIEFsbG93YW5jZSBpcyBhIDIwJSByZWR1Y3Rpb24gaW4gd2F0ZXIgdXNlIGZyb20gMjAxMyBsZXZlbHMgZm9yIHRoZSBzYW1lIGJpbGxpbmcgcGVyaW9kIGFuZCBzdGFydGVkIGFwcGVhcmluZyBvbiB1dGlsaXR5IGludm9pY2VzIGluIEp1bmUgMjAxNS5cXG5cXG5UaGUgbW9zdCBwb3B1bGFyIHJlYmF0ZSwgdGhlIFN1c3RhaW5hYmxlIExhbmRzY2FwZSBSZWJhdGUsIHBheXMkMy41MCBmb3IgZWFjaCBzcXVhcmUgZm9vdCBvZiBsYXduIHRoYXQgaXMgcmVtb3ZlZCBhbmQgcmVwbGFjZWQgd2l0aCBzdXN0YWluYWJsZSBsYW5kc2NhcGluZy4gSW4gYWRkaXRpb24sIGN1c3RvbWVycyBtYXkgY2hvb3NlIHRvIHJlY2VpdmUgYSAyLWhvdXIgY29uc3VsdGF0aW9uIHdpdGggZXhwZXJ0IGxhbmRzY2FwZSBkZXNpZ25lcnMgZm9yIGEgc21hbGwgZmVlLlxcblxcblswXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvZGVwYXJ0bWVudHMvY291bmNpbC9hZ2VuZGFzLzIwMTQvMjAxNDEwMjgvczIwMTQxMDI4MDgtQy0xLmh0bVxcblsxXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvZGVwYXJ0bWVudHMvY291bmNpbC9hZ2VuZGFzLzIwMTUvMjAxNTAxMTMvczIwMTUwMTEzMDgtQi0yLmh0bVxcblsyXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvdXBsb2FkZWRGaWxlcy9EZXBhcnRtZW50cy9PU0UvQ2F0ZWdvcmllcy9XYXRlci9XYXRlcl9Db25zZXJ2YXRpb25fQ2FtcGFpZ25fTGF1bmNoX1ByZXNzX1JlbGVhc2VfTWF5XzA5LnBkZlwifV0sW3tcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzLzc2M0FFNDk2LTQzNjEtNEFBOC05RDZELUQ1MUI0OTVDNzRDMlwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKkhvdyBjYW4gSSBoZWxwPyoqXFxuXFxuKiBSZXBsYWNlIG9sZGVyIGZsdXNoIGFuZCBmbG93IGZpeHR1cmVzIHdpdGggaGlnaC1lZmZpY2llbmN5IGRldmljZXMuIFtUb2lsZXQgcmViYXRlc11bMF0gYXJlIGF2YWlsYWJsZSBhbmQgdGhlIENpdHnigJlzIE9mZmljZSBvZiBTdXN0YWluYWJpbGl0eSBhbmQgdGhlIEVudmlyb25tZW50IHByb3ZpZGVzIGZyZWUgZmF1Y2V0IGFlcmF0b3JzIGFuZCBzaG93ZXIgaGVhZHMuIENhbGwgMzEwLTQ1OC04OTcyLlxcbiogUmVwbGFjZSB5b3VyIGxhd24gYW5kIHBhcmt3YXlzIHdpdGggZHJvdWdodC10b2xlcmFudCBsYW5kc2NhcGluZy4gU2lnbiB1cCBmb3IgYSBbTGFuZHNjYXBlIERlc2lnbiBDb25zdWx0YXRpb25dWzFdICBhbmQgYXBwbHkgZm9yIGEgIFNbdXN0YWluYWJsZSBMYW5kc2NhcGUgcmViYXRlXVsyXS5cXG4qIFVzZSBkcmlwIGlycmlnYXRpb24gb3IgYSB3ZWF0aGVyLWJhc2VkIGlycmlnYXRpb24gY29udHJvbGxlcnMgdG8gYWRqdXN0IGlycmlnYXRpb24gYmFzZWQgb24gd2VhdGhlciBjb25kaXRpb25zLiBbUmViYXRlc11bMF0gYXJlIGF2YWlsYWJsZS5cXG4qIFNpZ24gdXAgZm9yIGEgZnJlZSBbV2F0ZXIgVXNlIENvbnN1bHRhdGlvbl1bMV0gIGZvciB5b3VyIGhvbWUgb3IgYnVzaW5lc3MuXFxuKiBGaW5kIG1vcmUgd2F0ZXItc2F2aW5nIHRpcHMgYXQgW3NtZ292Lm5ldC93YXRlcl1bM10gLlxcblxcblxcblxcblswXTogaHR0cDovL3d3dy5zdXN0YWluYWJsZXNtLm9yZy9yZWJhdGVzXFxuWzFdOiBodHRwOi8vd3d3LnNtZ292Lm5ldC9EZXBhcnRtZW50cy9PU0UvY2F0ZWdvcmllcy93YXRlci5hc3B4XFxuWzJdOiBodHRwOi8vd3d3LnNtZ292Lm5ldC9EZXBhcnRtZW50cy9PU0UvUmViYXRlcy9MYW5kc2NhcGVfUmViYXRlLmFzcHhcXG5bM106IGh0dHA6Ly93d3cuc21nb3YubmV0L3dhdGVyXCJ9LHtcInR5cGVcIjpcInZpelwiLFwiZGF0YXNldFwiOlwidTc5ay10N2Q2XCJ9XV19XSxcInVzZV9jdXN0b21fc3VidGl0bGVcIjp0cnVlLFwiY3VzdG9tX3N1YnRpdGxlXCI6XCJUaGlzIGluZGljYXRvciBtZWFzdXJlcyB3YXRlciB1c2UgaW4gZ2FsbG9ucyBwZXIgcGVyc29uIHBlciBkYXkuXCIsXCJ0aXRsZV9pbWFnZVwiOlwiL2FwaS9hc3NldHMvNzk4NkIxNEEtMjA2Mi00QTc1LTgzRUQtM0EzMjc0OEVFMEZBXCIsXCJ1c2VfY3VzdG9tX3RpdGxlXCI6dHJ1ZSxcImN1c3RvbV90aXRsZVwiOlwiUmVkdWNlIHBlciBwZXJzb24gd2F0ZXIgdXNlIHRvIDEyMyBnYWxsb25zIHBlciBkYXlcIn0ifSwicHJldmFpbGluZ19tZWFzdXJlIjp7InN0YXJ0IjoiMjAwMC0wMS0wMVQwMDowMDowMC4wMDAiLCJlbmQiOiIyMDIwLTEyLTMxVDIzOjU5OjU5LjAwMCIsInVuaXQiOiJnYWxsb25zIHBlciBwZXJzb24vZGF5IiwidGFyZ2V0IjoxMjMsInRhcmdldF90eXBlIjoiYWJzb2x1dGUiLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsIm1ldHJpYyI6eyJtZXRhZGF0YSI6IiIsImlkIjoicHQ4OS1wbmJjIn0sImNvbXBhcmlzb24iOnsiY29tcGFyaXNvbl9mdW5jdGlvbiI6IjwifSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJlZGl0XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDAwfSxcImVuZFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDIwfSxcImFjdGlvbl90eXBlXCI6XCJyZWR1Y2VcIn0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX19LFwic3RhcnRcIjpcIjIwMTUtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTUtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJQZXIgQ2FwaXRhIFdhdGVyIFVzZVwifSJ9LCJ1cGRhdGVkX2F0IjoiMjAxNS0wNy0yMFQxODo0MjowOS42OTVaIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDUtMjdUMjE6Mzk6NDkuNTQ2WiIsInZlcnNpb24iOiIyMDE1LTA3LTIwVDE4OjQyOjA5LjY5NVoiLCJpZCI6InNyMnctdWhoZCJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiJuYXZoLWlnZjIiLCJ1cGRhdGVkX2F0IjoiMjAxNi0wNC0xOVQxNjo1NjoxOS41NDJaIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDEtMzBUMjM6MTY6MjIuNDQxWiIsInZlcnNpb24iOiIyMDE2LTA0LTE5VDE2OjU2OjE5LjU0MloiLCJjcmVhdGVkX2J5IjoiNHNteS1jbWsyIn0seyJpZCI6Ijk0cTgtYTQ5eiIsIm5hbWUiOiJTb3VyY2UgV2F0ZXIgTG9jYWxseSIsImlzX3B1YmxpYyI6dHJ1ZSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJyZXRpcmVtZW50X25hcnJhdGl2ZVwiOltdLFwibmFycmF0aXZlXCI6W3tcInR5cGVcIjpcInR3b0NvbExheW91dFwiLFwiY29sdW1uc1wiOltbe1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiKipXaGF0IGlzIHRoaXMgaW5kaWNhdG9yPyoqXFxuXFxuTG9jYWwgd2F0ZXIgcmVmZXJzIHRvIHdhdGVyIHRoYXQgaXMgc291cmNlZCB3aXRoaW4gdGhlIENpdHkgb2YgU2FudGEgTW9uaWNhLiBJbXBvcnRlZCB3YXRlciBjb21lcyBmcm9tIGFueXdoZXJlIGJleW9uZCB0aGUgY2l0eeKAmXMgYm9yZGVycywgaW5jbHVkaW5nIGRpc3RhbnQgd2F0ZXJzaGVkcyBpbiBDYWxpZm9ybmlhIGFuZCB0aHJvdWdob3V0IHRoZSBXZXN0ZXJuIFVuaXRlZCBTdGF0ZXMuIFRoaXMgaW5kaWNhdG9yIG1lYXN1cmVzIHRoZSBwZXJjZW50IG9mIHRvdGFsIHdhdGVyIGluIFNhbnRhIE1vbmljYSB0aGF0IGlzIHNvdXJjZWQgbG9jYWxseS5cXG5cXG4qKldoeSBpcyB0aGlzIGltcG9ydGFudD8qKlxcblxcbkxvb2tpbmcgdG8gaXRzIGZ1dHVyZSwgdGhlIENpdHkgaG9wZXMgdG8gZWxpbWluYXRlIGl0cyBkZXBlbmRlbmNlIG9uIGltcG9ydGVkIHdhdGVyIGJ5IGFkZHJlc3NpbmcgdGhlIGNoYWxsZW5nZSBvZiBleGlzdGluZyBncm91bmR3YXRlciBxdWFsaXR5LCBpZGVudGlmeWluZyBuZXcgc291cmNlcyBvZiBsb2NhbCB3YXRlciBzdXBwbHksIGFuZCBtb3JlIGVmZmVjdGl2ZWx5IHJlZHVjaW5nIGFuZCBtYW5hZ2luZyBpdHMgd2F0ZXIgZGVtYW5kcy5cXG5cXG5XaXRoIGFuIGFkb3B0ZWQgZ29hbCBvZiB3YXRlciBzZWxmLXN1ZmZpY2llbmN5IGFjaGlldmVkIGJ5IGVsaW1pbmF0aW5nIHJlbGlhbmNlIG9uIE1ldHJvcG9saXRhbiBXYXRlciBEaXN0cmljdCBvZiBTb3V0aGVybiBDYWxpZm9ybmlhIChNV0QpIHN1cHBseSBieSAyMDIwLCB0aGUgQ2l0eSBvZiBTYW50YSBNb25pY2EgZGV2ZWxvcGVkIGEgW1N1c3RhaW5hYmxlIFdhdGVyIE1hc3RlciBQbGFuXVswXSBmb2N1c2VkIG9uIHJlZHVjaW5nIHdhdGVyIGRlbWFuZCBhbmQgZW5oYW5jaW5nIGxvY2FsIHdhdGVyIHN1cHBseSBwcm9kdWN0aW9uIGNhcGFiaWxpdGllcy5cXG5cXG5BY2hpZXZpbmcgMTAwJSB3YXRlciBzZWxmLXN1ZmZpY2llbmN5IG1lYW5zIGNsb3NpbmcgdGhlIGdhcCB0aGF0IGV4aXN0cyBiZXR3ZWVuIHRvdGFsIHdhdGVyIGRlbWFuZCBhbmQgdG90YWwgd2F0ZXIgYXZhaWxhYmxlIGxvY2FsbHkuIFRoaXMgZ2FwIG9mIDYsNTAwIGFjcmUtZmVldCBwZXIgeWVhciAoQUZZKSBtYXkgYmUgcmVkdWNlZCBieSBhIGNvbWJpbmF0aW9uIG9mIG1heGltaXppbmcgdGhlIHVzZSBvZiBncm91bmR3YXRlciByZXNvdXJjZXMgYXQgYSBzdXN0YWluYWJsZSBsZXZlbCwgaW5jcmVhc2luZyB3YXRlciBjb25zZXJ2YXRpb24gZWZmb3J0cywgY2FwdHVyaW5nIGFuZCB1c2luZyByYWlud2F0ZXIgYW5kIGRyeS13ZWF0aGVyIHJ1bm9mZiwgYW5kIHJldXNpbmcgZ3JleSB3YXRlci4gSXQgbWF5IGFsc28gcmVxdWlyZSBlbmhhbmNlZCB3YXRlciByZWN5Y2xpbmcgZWZmb3J0cyBhbmQgcmV1c2Ugb2Ygd2FzdGUgd2F0ZXIgYW5kIG90aGVyIGlubm92YXRpb25zLlxcblxcbkFzIHN0YXRlIHdhdGVyIHN1cHBsaWVzIGRyb3AgYW5kIHRoZSBjdXJyZW50IGRyb3VnaHQgY29udGludWVzLCBpbmNyZWFzaW5nIHRoZSBwZXJjZW50YWdlIG9mIHdhdGVyIHRoYXQgY29tZXMgZnJvbSBsb2NhbCBzb3VyY2VzIGlzIGFuIGltcG9ydGFudCBzdGVwIHRvd2FyZHMgd2F0ZXIgc2VsZi1zdWZmaWNpZW5jeS5cXG5cXG4qKkhvdyBhcmUgd2UgZG9pbmc/KipcXG5cXG5JbiBhbiBlZmZvcnQgdG8gbWVyZ2UgdGhlc2UgZWxlbWVudHMgdG93YXJkIHJlYWxpemluZyBzZWxmLXN1ZmZpY2llbmN5LCB0aGUgQ2l0eSBkZXZlbG9wZWQgdGhlIFN1c3RhaW5hYmxlIFdhdGVyIE1hc3RlciBQbGFuIGluIDIwMTQuIFRoZSBtYXN0ZXIgcGxhbiBzZXJ2ZXMgYXMgYSBzdHJhdGVnaWMgcmV2aWV3IGFuZCBmb3JlY2FzdCBvZiB0aGUgY2l0eeKAmXMgd2F0ZXIgc3VwcGx5IGFuZCBkZW1hbmQgcGljdHVyZSwgYXMgd2VsbCBhcyBhbiDigJx1bWJyZWxsYeKAnSBwbGFuIHRvIGFtYWxnYW1hdGUgZXhpc3Rpbmcgc3RyYXRlZ2llcy5cXG5cXG5QcmV2aW91cyBncm91bmR3YXRlciBwb2xsdXRpb24gZnJvbSB1bmRlcmdyb3VuZCBnYXNvbGluZSB0YW5rcyBpbiB0aGUgbWlkLTE5OTDigJlzIGxlZnQgU2FudGEgTW9uaWNhIGhpZ2hseSBkZXBlbmRlbnQgb24gaGlnaC1wcmljZWQgd2F0ZXIgZnJvbSBNV0QuIFNpbmNlIHRoZW4sIHRoZSBDaGFybm9jayBXZWxscyBoYXZlIGJlZW4gcmVzdG9yZWQgYW5kIHdlcmUgcmVvcGVuZWQgZm9sbG93aW5nIHJlbWVkaWF0aW9uIGluIDIwMTAuIFRoZSBuZXcgcGxhbnQgYWxsb3dzIHRoZSBzdWJzdGl0dXRpb24gb2YgbW9yZSBjb3N0IGVmZmVjdGl2ZSBsb2NhbGx5LXByb2R1Y2VkIHdhdGVyLCB0aGVyZWJ5IHJlZHVjaW5nIHRoZSBleHBlbnNlIGFuZCBlbmVyZ3kgdXNlIGFzc29jaWF0ZWQgd2l0aCBpbXBvcnRlZCB3YXRlci4gQXMgb2YgSnVuZSAyMDE1LCB0aGUgY2l0eSBwcm9kdWNlcyA3MiUgb2YgaXRzIHdhdGVyIHN1cHBseSBmcm9tIGxvY2FsIGdyb3VuZHdhdGVyIHdlbGxzIGFuZCBpbXBvcnRzIHRoZSByZW1haW5pbmcgMjglIGZyb20gTVdELiBMb2NhbCB3YXRlciBwcm9kdWN0aW9uIGhhcyBpbmNyZWFzZWQgc3Vic3RhbnRpYWxseSBzaW5jZSAyMDEwLCBidXQgdGhpcyBhcmVhIG5lZWRzIGNvbnRpbnVlZCBpbXByb3ZlbWVudCBpbiBvcmRlciB0byBtZWV0IHRoZSAxMDAlIGxvY2FsIHdhdGVyIHRhcmdldCBieSAyMDIwLlxcblxcblNhbnRhIE1vbmljYeKAmXMgbW9zdCBwcm9taXNpbmcgc29sdXRpb25zIGZvciByZWR1Y2luZyBpbXBvcnRlZCB3YXRlciBhcmUgdGhyb3VnaCBleHBhbmRlZCBzdG9ybXdhdGVyIGFuZCByYWlud2F0ZXIgY2FwdHVyZS4gUmFpbndhdGVyIGhhcnZlc3RpbmcgaXMgYSBsZXNzIHJlbGlhYmxlIG9wdGlvbiBkdWUgdG8gdGhlIGNpc3Rlcm4gc2l6ZSByZXF1aXJlbWVudHMgYW5kIGxhY2sgb2YgaW5jZW50aXZlIGZvciByZXNpZGVudGlhbCBpbnN0YWxsYXRpb24uXFxuXFxuUHJlbGltaW5hcnkgcmVjb21tZW5kYXRpb25zIGZyb20gdGhlIFN1c3RhaW5hYmxlIFdhdGVyIE1hc3RlciBQbGFuIGZvciBleHBhbmRpbmcgZ3JvdW5kd2F0ZXIgcmVzb3VyY2VzIGluY2x1ZGU6XFxuXFxuKiBFeHBhbnNpb24gb2YgdGhlIGV4aXN0aW5nIEFyY2FkaWEgV2F0ZXIgVHJlYXRtZW50IFBsYW50LlxcbiogRGVzaWduIGFuZCBjb25zdHJ1Y3QgdGhlIG5ldyBPbHltcGljIFdhdGVyIFRyZWF0bWVudCBQbGFudCAoR2lsbGV0dGUvQm9laW5nIFNldHRsZW1lbnQgUHJvamVjdCkuXFxuKiBSZWhhYmlsaXRhdGUgb2xkIHdlbGxzIGFuZCBkcmlsbCBhZGRpdGlvbmFsIG5ldyB3ZWxscyBpbiB0aGUgT2x5bXBpYywgQ2hhcm5vY2sgYW5kIENvYXN0YWwgU3ViLWJhc2lucy5cXG4qIERldmVsb3AgYW5kIGltcGxlbWVudCBpbXByb3ZlbWVudHMgaW4gdHJlYXRtZW50IGVmZmljaWVuY3kgdG8gcmVkdWNlIHRoZSBhbW91bnQgb2Ygd2F0ZXIgbG9zdCB0byBicmluZSBkaXNwb3NhbCBkdXJpbmcgdHJlYXRtZW50IChyZWR1Y3Rpb24gb2YgYnJpbmUgd2F0ZXIgbG9zc2VzIGJleW9uZCB0aGUgY3VycmVudCAxOCUpLlxcblxcblswXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvZGVwYXJ0bWVudHMvY291bmNpbC9hZ2VuZGFzLzIwMTQvMjAxNDEwMjgvczIwMTQxMDI4MDgtQy0xLmh0bVwifV0sW3tcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzL0MwNUZCRDg5LUQxNjYtNEYwRS04NDM4LTc5REE1MDI0Mjc4NVwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKkhvdyBjYW4gSSBoZWxwL2xlYXJuIG1vcmU/KipcXG5cXG4qIFJldmlldyBDaXR5IHN0cmF0ZWdpZXMgdG8gYmVjb21lIHdhdGVyIHNlbGYtc3VmZmljaWVudCBpbiB0aGUgW1N1c3RhaW5hYmxlIFdhdGVyIE1hc3RlciBQbGFuXVswXS5cXG4qIFJlcGxhY2Ugb2xkIHRvaWxldHMgYW5kIHNob3dlciBoZWFkcyB3aXRoIGhpZ2gtZWZmaWNpZW5jeSBhcHBsaWFuY2VzLiBUb2lsZXQgcmViYXRlcyBhcmUgYXZhaWxhYmxlIGFuZCB0aGUgQ2l0eeKAmXMgT2ZmaWNlIG9mIFN1c3RhaW5hYmlsaXR5IGFuZCB0aGUgRW52aXJvbm1lbnQgcHJvdmlkZXMgZnJlZSBmYXVjZXQgYWVyYXRvcnMgYW5kIHNob3dlciBoZWFkcy4gQ2FsbCAzMTAtNDU4LTg5NzIuXFxuKiBSZXBsYWNlIHlvdXIgbGF3biBhbmQgcGFya3dheXMgd2l0aCBkcm91Z2h0LXRvbGVyYW50IGxhbmRzY2FwaW5nLiBTaWduIHVwIGZvciBhIExhbmRzY2FwZSBEZXNpZ24gQ29uc3VsdGF0aW9uIGFuZCBhcHBseSBmb3IgYSBbU3VzdGFpbmFibGUgTGFuZHNjYXBlIHJlYmF0ZS5dWzFdXFxuKiBVc2UgZHJpcCBpcnJpZ2F0aW9uIG9yIHdlYXRoZXItYmFzZWQgaXJyaWdhdGlvbiBjb250cm9sbGVycyB0byBhZGp1c3QgaXJyaWdhdGlvbiBiYXNlZCBvbiB3ZWF0aGVyIGNvbmRpdGlvbnMuIFtSZWJhdGVzXVsyXSBhcmUgYXZhaWxhYmxlLlxcbiogRmluZCBtb3JlIHdhdGVyLXNhdmluZyB0aXBzIGF0IFtzbWdvdi5uZXQvd2F0ZXJdWzNdLlxcblxcblswXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvZGVwYXJ0bWVudHMvY291bmNpbC9hZ2VuZGFzLzIwMTQvMjAxNDEwMjgvczIwMTQxMDI4MDgtQy0xLmh0bVxcblsxXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvRGVwYXJ0bWVudHMvT1NFL1JlYmF0ZXMvTGFuZHNjYXBlX1JlYmF0ZS5hc3B4XFxuWzJdOiBodHRwOi8vd3d3LnN1c3RhaW5hYmxlc20ub3JnL3JlYmF0ZXNcXG5bM106IGh0dHA6Ly93d3cuc21nb3YubmV0L3dhdGVyXCJ9LHtcInR5cGVcIjpcInZpelwiLFwiZGF0YXNldFwiOlwicjRpcy0yaDY3XCJ9XV19XSxcInVzZV9jdXN0b21fc3VidGl0bGVcIjp0cnVlLFwiY3VzdG9tX3N1YnRpdGxlXCI6XCJUaGlzIGluZGljYXRvciBtZWFzdXJlcyB0aGUgcGVyY2VudCBvZiB3YXRlciBwcm9kdWNlZCBsb2NhbGx5IGNvbXBhcmVkIHRvIGltcG9ydGVkIHdhdGVyLlwiLFwidGl0bGVfaW1hZ2VcIjpcIi9hcGkvYXNzZXRzL0FBNTZDOUIyLUE3RkMtNDBCRS1BMTMxLTIwM0QxRDdGMUEzOVwiLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIkluY3JlYXNlIHdhdGVyIHNvdXJjZWQgbG9jYWxseSB0byAxMDAgcGVyY2VudC5cIn0ifSwicHJldmFpbGluZ19tZWFzdXJlIjp7InN0YXJ0IjoiMjAwMC0wMS0wMVQwMDowMDowMC4wMDAiLCJlbmQiOiIyMDIwLTEyLTMxVDIzOjU5OjU5LjAwMCIsInVuaXQiOiJwZXJjZW50IiwidGFyZ2V0IjoxMDAsInRhcmdldF90eXBlIjoiYWJzb2x1dGUiLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsIm1ldHJpYyI6eyJtZXRhZGF0YSI6IiIsImlkIjoiaHloNC15NXNtIn0sImNvbXBhcmlzb24iOnsiY29tcGFyaXNvbl9mdW5jdGlvbiI6Ij4ifSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJlZGl0XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDAwfSxcImVuZFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDIwfX0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX19LFwic3RhcnRcIjpcIjIwMTUtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTUtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJ3YXRlciBzb3VyY2VkIGxvY2FsbHlcIn0ifSwidXBkYXRlZF9hdCI6IjIwMTUtMDctMjBUMjI6NDY6NDcuNDgyWiIsImNyZWF0ZWRfYXQiOiIyMDE1LTA1LTI3VDIxOjMwOjUyLjYwOFoiLCJ2ZXJzaW9uIjoiMjAxNS0wNy0yMFQyMjo0Njo0Ny40ODJaIiwiaWQiOiJuZHJiLTVjYXgifSwicmVsYXRlZF9tZWFzdXJlcyI6W3sibWV0YWRhdGEiOiIiLCJpZCI6InNkaHgtd2VwcCJ9XSwiYmFzZV9kYXNoYm9hcmQiOiJuYXZoLWlnZjIiLCJ1cGRhdGVkX2F0IjoiMjAxNi0wNC0xOVQxNjo1NzozOS4zNDNaIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDEtMzBUMjM6MTY6MjIuNDMyWiIsInZlcnNpb24iOiIyMDE2LTA0LTE5VDE2OjU3OjM5LjM0M1oiLCJjcmVhdGVkX2J5IjoiNHNteS1jbWsyIn0seyJpZCI6InFmdDctYWR6ZyIsIm5hbWUiOiJJbmNyZWFzZSBOb24tUG90YWJsZSBXYXRlciBVc2UiLCJpc19wdWJsaWMiOnRydWUsIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcIm5hcnJhdGl2ZVwiOlt7XCJ0eXBlXCI6XCJ0d29Db2xMYXlvdXRcIixcImNvbHVtbnNcIjpbW3tcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIioqV2hhdCBpcyB0aGlzIGluZGljYXRvcj8qKlxcblxcbk5vbi1wb3RhYmxlIHdhdGVyIGlzIHdhdGVyIHRoYXQgaGFzIG5vdCBiZWVuIHRyZWF0ZWQgdG8gZHJpbmtpbmcgd2F0ZXIgc3RhbmRhcmRzIGFuZC9vciBhcHByb3ZlZCBmb3IgZHJpbmtpbmcsIGJ1dCBjYW4gYmUgdXNlZCBmb3Igb3RoZXIgcHVycG9zZXMgc3VjaCBhcyB3YXNoaW5nIGFuZCBpcnJpZ2F0aW9uIGRlcGVuZGluZyBvbiBpdHMgcXVhbGl0eS4gSXTigJlzIG9mdGVuIHJlZmVycmVkIHRvIGFzIHJlY3ljbGVkIG9yIHJlY2xhaW1lZCB3YXRlci4gVGhpcyBpbmRpY2F0b3IgbWVhc3VyZXMgdGhlIGFtb3VudCBvZiBub24tcG90YWJsZSB3YXRlciB1c2VkIGluIFNhbnRhIE1vbmljYSBieSBtaWxsaW9ucyBvZiBnYWxsb25zIHBlciB5ZWFyIChNR1kpLlxcblxcbioqV2h5IGlzIGl0IGltcG9ydGFudD8qKlxcblxcblRoZSBDaXR5IG9mIFNhbnRhIE1vbmljYSAoQ2l0eSkgc3VwcGxpZXMgaW1wb3J0ZWQgYW5kIGxvY2FsIHdhdGVyIHRvIGFwcHJveGltYXRlbHkgOTIsMDAwIHJlc2lkZW50cyBjb3ZlcmluZyBhbiBhcmVhIG9mIGFwcHJveGltYXRlbHkgOCBzcXVhcmUgbWlsZXMuIExvb2tpbmcgdG8gaXRzIGZ1dHVyZSwgdGhlIENpdHkgaG9wZXMgdG8gZWxpbWluYXRlIGl0cyByZWxpYWJpbGl0eSBvbiBpbXBvcnRlZCB3YXRlciBieSBhZGRyZXNzaW5nIHRoZSBjaGFsbGVuZ2Ugb2YgZXhpc3RpbmcgZ3JvdW5kd2F0ZXIgcXVhbGl0eSwgaWRlbnRpZnlpbmcgbmV3IHNvdXJjZXMgb2YgbG9jYWwgd2F0ZXIgc3VwcGx5LCBhbmQgbW9yZSBlZmZlY3RpdmVseSByZWR1Y2luZyBhbmQgbWFuYWdpbmcgaXRzIHdhdGVyIGRlbWFuZHMuXFxuXFxuV2l0aCBhbiBhZG9wdGVkIGdvYWwgb2Ygd2F0ZXIgc2VsZi1zdWZmaWNpZW5jeSBhY2hpZXZlZCBieSBlbGltaW5hdGluZyByZWxpYW5jZSBvbiBNZXRyb3BvbGl0YW4gV2F0ZXIgRGlzdHJpY3Qgb2YgU291dGhlcm4gQ2FsaWZvcm5pYSAoTVdEKSBzdXBwbHkgYnkgMjAyMCwgdGhlIENpdHkgb2YgU2FudGEgTW9uaWNhIHJldGFpbmVkIEtlbm5lZHkvSmVua3MgQ29uc3VsdGFudHMgdG8gZGV2ZWxvcCBhIFN1c3RhaW5hYmxlIFdhdGVyIE1hc3RlciBQbGFuLiBUaGlzIE1hc3RlciBQbGFuIGFkZHJlc3NlcyBzdXBwbHkgYW5kIGRlbWFuZCBtYW5hZ2VtZW50IG9wdGlvbnMgdG8gY29zdCBlZmZlY3RpdmVseSByZWR1Y2UgZnV0dXJlIHdhdGVyIGRlbWFuZHMgYW5kIGVuaGFuY2UgbG9jYWwgd2F0ZXIgc3VwcGx5IHByb2R1Y3Rpb24gY2FwYWJpbGl0aWVzLlxcblxcblRoZSBtYWpvcml0eSBvZiB3YXRlciB1c2VkIGluIFNhbnRhIE1vbmljYSBpcyB0cmVhdGVkIHRvIHBvdGFibGUgcXVhbGl0eSwgaW5jbHVkaW5nIHdhdGVyIHRoYXQgZmx1c2hlcyBvdXIgdG9pbGV0cyBhbmQgaXJyaWdhdGVzIG91ciBsYXducy4gVGhpcyBsZXZlbCBvZiB0cmVhdG1lbnQgZm9yIG5vbi1wb3RhYmxlIHB1cnBvc2VzIGlzIHVubmVjZXNzYXJ5IGFuZCB1bnN1c3RhaW5hYmxlLCBwYXJ0aWN1bGFybHkgaW4gdGltZXMgb2YgbG93IHdhdGVyIHN1cHBseSBzdWNoIGFzIGEgZHJvdWdodC4gUmVwbGFjaW5nIHNvbWUgb2YgdGhlIHVubmVjZXNzYXJ5IHVzZXMgb2YgcG90YWJsZSB3YXRlciB3aXRoIG5vbi1wb3RhYmxlIHNvdXJjZXMgd2lsbCBoZWxwIHN1c3RhaW4gY3JpdGljYWwgd2F0ZXIgcmVzb3VyY2VzLlxcblxcbioqSG93IGFyZSB3ZSBkb2luZz8qKlxcblxcbkluIDIwMTUsIG5vbi1wb3RhYmxlIHdhdGVyIHVzZSB0b3RhbGVkIDI2IG1pbGxpb24gZ2FsbG9ucyAoTUcpIGNvbXBhcmVkIHRvIDI0LjUwIE1HIGluIDIwMTAuXFxuXFxuIFxcblxcblNhbnRhIE1vbmljYSBVcmJhbiBSdW5vZmYgJiBSZWN5Y2xpbmcgRmFjaWxpdHkgKFNNVVJSRikgcHJvZHVjZXMgbm9uLXBvdGFibGUgd2F0ZXIgZm9yIHVzZSBpbiBsYW5kc2NhcGUgaXJyaWdhdGlvbiwgYXQgY2l0eSBwYXJrcyBhbmQgY2VtZXRlcmllcywgdG9pbGV0IGZsdXNoaW5nIGFuZCBpbiBzb21lIGNpdHkgZm91bnRhaW5zLCBidXQgdGhpcyB3YXRlciBvbmx5IGFjY291bnRzIGZvciBhcHByb3hpbWF0ZWx5IDElIG9mIHRvdGFsIHdhdGVyIHVzZSAoMjUgTUcpLlxcblxcbkRlc2lnbmVkIHRvIHJvdXRpbmVseSB0cmVhdCAwLjUgbWlsbGlvbiBnYWxsb25zIGRhaWx5IChNR0QpLCB3aXRoIGEgcGVhayB0cmVhdG1lbnQgY2FwYWNpdHkgb2YgMC43NSBNR0QsIHRoZSBTTVVSUkYgcmVtb3ZlcyB1cmJhbiBjb250YW1pbmFudHMgYW5kIHRyZWF0cyB0aGUgaW5mbHVlbnQgd2F0ZXIuIFRoZSB3YXRlciBpcyB0aGVuIHB1bXBlZCB0aHJvdWdoIGEgc2VwYXJhdGUgd2F0ZXIgZGlzdHJpYnV0aW9uIHN5c3RlbSB0byBzZXJ2ZSBhIG51bWJlciBvZiBwYXJrcywgbWVkaWFucywgV29vZGxhd24gQ2VtZXRlcnkgYW5kIHNldmVyYWwgd2F0ZXIgYWNjb3VudHMgd2l0aCBkdWFsLXBsdW1iZWQgYnVpbGRpbmdzIGZvciB0b2lsZXQgZmx1c2hpbmcgYW5kIGlycmlnYXRpb24uXFxuXFxuVGhlIFNNVVJSRiBoYXMgYWxsb3dlZCB0aGUgQ2l0eSB0byBzbGlnaHRseSByZWR1Y2UgaXRzIHJlbGlhbmNlIHVwb24gTVdEIHdhdGVyIGF0IGEgdGltZSB3aGVuIHRoZSBDaXR5IHJlbGllZCBoZWF2aWx5IHVwb24gaW1wb3J0ZWQgd2F0ZXIgZHVlIHRvIHRoZSBsYWNrIG9mIHByb2R1Y3Rpb24gZnJvbSBncm91bmR3YXRlciB3ZWxscy4gSG93ZXZlciwgc2luY2UgZHJ5IHdlYXRoZXIgdXJiYW4gcnVub2ZmIGlzIGFuIHVuc3RhYmxlIHN1cHBseSwgdGhlIGZvY3VzIG9mIHRoaXMgZmFjaWxpdHkgaGFzIGJlZW4gcHJlZG9taW5hbnRseSB3YXRlciBxdWFsaXR5IGltcHJvdmVtZW50cyB0byBTYW50YSBNb25pY2EgQmF5LiBIaXN0b3JpY2FsbHksIFNNVVJSRiBoYXMgaGFkIGFuIGF2ZXJhZ2UgcHJvZHVjdGlvbiBvZiAxNTQgYWNyZS1mb290IHBlciB5ZWFyIChBRlkpLCB3aXRoIGEgaGlnaCBvZiAzNTQgQUYgYW5kIGEgbG93IG9mIDk0IEFGLiBGb3IgcmVzaWRlbnRzIGFuZCBidXNpbmVzc2VzIHRvIHRha2UgZnVydGhlciBhZHZhbnRhZ2Ugb2YgdGhpcyByZWNsYWltZWQgd2F0ZXIsIG1vcmUgaW5mcmFzdHJ1Y3R1cmUgaXMgcmVxdWlyZWQgdGhhbiBpcyBjdXJyZW50bHkgaW4gcGxhY2UuIEFuIGFjcmUtZm9vdCBpcyAzMjUsODUxIGdhbGxvbnMsIGFwcHJveGltYXRlbHkgZXF1aXZhbGVudCB0byBhIGZvb3RiYWxsIGZpZWxkIGNvdmVyZWQgb25lIGZvb3QgZGVlcCBpbiB3YXRlci5cXG5cXG5DdXJyZW50IGVmZm9ydHMgdG8gaW5jcmVhc2UgdGhlIHVzZSBvZiBub24tcG90YWJsZSB3YXRlciBpbmNsdWRlIGlkZW50aWZ5aW5nIGZlYXNpYmxlIG5vbi1wb3RhYmxlIHdhdGVyIHN0b3JhZ2UgZmFjaWxpdGllcyB0byBleHBhbmQgdGhlIG9wZXJhdGlvbmFsIGNhcGFiaWxpdGllcyBvZiBTTVVSUkYgYW5kIGVuY291cmFnaW5nIHRoZSBleHBhbnNpb24gb2YgYSByZWdpb25hbCBub24tcG90YWJsZSBkaXN0cmlidXRpb24gc3lzdGVtIGN1cnJlbnRseSBvcGVyYXRlZCBieSBhIG5laWdoYm9yaW5nIGFnZW5jeS5cXG5cXG5cIn1dLFt7XCJ0eXBlXCI6XCJpbWFnZVwiLFwic3JjXCI6XCIvYXBpL2Fzc2V0cy9FMTQxMUU5OC05NjgxLTRCNzMtQjI2OC02MkVCNTE2MjVCRjhcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiKipIb3cgY2FuIHdlIGhlbHA/KipcXG5cXG4qIFJldmlldyB0aGUgW1N1c3RhaW5hYmxlIFdhdGVyIE1hc3RlciBQbGFuXVswXS5cXG4qIFJldmlldyB3YXRlciBzYXZpbmcgdGlwcyBhdCBbc21nb3YubmV0L3dhdGVyXVsxXS5cXG4qIFJldmlldyByZWJhdGVzIGZvciB3YXRlciBzYXZpbmcgZGV2aWNlcyBhbmQgbGFuZHNjYXBlIGF0IFtzdXN0YWluYWJsZXNtLm9yZy9yZWJhdGVzXVsyXS5cXG5cXG5bMF06IGh0dHA6Ly93d3cuc21nb3YubmV0L2RlcGFydG1lbnRzL2NvdW5jaWwvYWdlbmRhcy8yMDE0LzIwMTQxMDI4L3MyMDE0MTAyODA4LUMtMS5odG1cXG5bMV06IGh0dHA6Ly9zbWdvdi5uZXQvd2F0ZXJcXG5bMl06IGh0dHA6Ly9zdXN0YWluYWJsZXNtLm9yZy9yZWJhdGVzXCJ9LHtcInR5cGVcIjpcInZpelwiLFwiZGF0YXNldFwiOlwiZmg3cC01eW11XCJ9XV19XSxcInVzZV9jdXN0b21fc3VidGl0bGVcIjp0cnVlLFwiY3VzdG9tX3N1YnRpdGxlXCI6XCJUaGlzIGluZGljYXRvciBtZWFzdXJlcyBVc2Ugb2YgTm9uLVBvdGFibGUgV2F0ZXIgaW4gTUdZLlwiLFwidGl0bGVfaW1hZ2VcIjpcIi9hcGkvYXNzZXRzLzA2NjA1RkM0LTlENUQtNDI5OS04MTA4LTkyRjcyMjgwQzcxOFwiLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIk1haW50YWluIHVzZSBvZiBub24tcG90YWJsZSB3YXRlciBhYm92ZSAzMSBtaWxsaW9uIGdhbGxvbnMgcGVyIHllYXJcIn0ifSwicHJldmFpbGluZ19tZWFzdXJlIjp7InN0YXJ0IjoiMjAwMC0wMS0wMVQwMDowMDowMC4wMDAiLCJlbmQiOiIyMDIwLTEyLTMxVDIzOjU5OjU5LjAwMCIsInVuaXQiOiJtaWxsaW9uIGdhbGxvbnMgcGVyIHllYXIiLCJ0YXJnZXQiOjI1LCJ0YXJnZXRfdHlwZSI6InJlbGF0aXZlIiwidGFyZ2V0X2RlbHRhIjowLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsImJhc2VsaW5lIjozMSwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiJhOThyLXJneWQifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPiJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMDB9LFwiZW5kXCI6e1wiZGF0ZVwiOlwiZW5kXCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMjB9LFwiYWN0aW9uX3R5cGVcIjpcIm1haW50YWluXCIsXCJtYWludGFpbl90eXBlXCI6XCI+XCJ9LFwiYmFzZWxpbmVcIjp7XCJzcXVpc2h5XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE1fSxcImVuZFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9fSxcInN0YXJ0XCI6XCIyMDE1LTAxLTAxVDAwOjAwOjAwLjAwMFwiLFwiZW5kXCI6XCIyMDE1LTAxLTAxVDIzOjU5OjU5LjAwMFwiLFwibWV0cmljXCI6e1wibWV0YWRhdGFcIjpcIntcXFwid2l6YXJkXFxcIjp7XFxcImZpbHRlcl9hc3RcXFwiOlt7XFxcInZhbHVlc1xcXCI6W3t9XX1dfX1cIn19LFwibmFtZVwiOlwidXNlIG9mIG5vbi1wb3RhYmxlIHdhdGVyXCJ9In0sInVwZGF0ZWRfYXQiOiIyMDE1LTA3LTE3VDE5OjU1OjU4LjQxMVoiLCJjcmVhdGVkX2F0IjoiMjAxNS0wNS0yN1QyMTo0Mjo1OS41NjJaIiwidmVyc2lvbiI6IjIwMTUtMDctMTdUMTk6NTU6NTguNDExWiIsImlkIjoiaWp5di1jZzRrIn0sInJlbGF0ZWRfbWVhc3VyZXMiOltdLCJiYXNlX2Rhc2hib2FyZCI6Im5hdmgtaWdmMiIsInVwZGF0ZWRfYXQiOiIyMDE2LTA0LTE5VDE2OjU5OjExLjg0OFoiLCJjcmVhdGVkX2F0IjoiMjAxNS0wMS0zMFQyMzoxNjoyMi40MzNaIiwidmVyc2lvbiI6IjIwMTYtMDQtMTlUMTY6NTk6MTEuODQ4WiIsImNyZWF0ZWRfYnkiOiI0c215LWNtazIifV0sInZlcnNpb24iOiIyMDE1LTA2LTMwVDIzOjI5OjUwLjE1N1oifSx7ImlkIjoiZGlneS1idmN1IiwibmFtZSI6IkVuZXJneSBVc2UiLCJnb2FscyI6W3siaWQiOiI0ZXhuLWZ6cnQiLCJuYW1lIjoiUmVkdWNlIENpdHl3aWRlIEVuZXJneSBVc2UgIiwiaXNfcHVibGljIjp0cnVlLCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcInJldGlyZW1lbnRfbmFycmF0aXZlXCI6W10sXCJuYXJyYXRpdmVcIjpbe1widHlwZVwiOlwidHdvQ29sTGF5b3V0XCIsXCJjb2x1bW5zXCI6W1t7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKldoYXQgaXMgdGhpcyBpbmRpY2F0b3I/KipcXG5cXG5UaGlzIGluZGljYXRvciBtZWFzdXJlcyB0b3RhbCBhbm51YWwgZWxlY3RyaWNpdHkgdXNlIChrV2gpIGFuZCBjb25zaXN0cyBvZiB0aGUgcmVzaWRlbnRpYWwsIGNvbW1lcmNpYWwgYW5kIGluZHVzdHJpYWwgc2VjdG9ycy4gTmF0dXJhbCBnYXMgaXMgYWxzbyB0cmFja2VkIGluIGFubnVhbCB0aGVybXMgdXNlZCBieSB0aGUgc2FtZSBzZWN0b3JzLiBUaGUgdGFyZ2V0IGlzIGEgMTAlIHJlZHVjdGlvbiBmcm9tIDIwMTAgbGV2ZWxzIGJ5IDIwMjAuXFxuXFxuKipXaHkgaXMgdGhpcyBpbXBvcnRhbnQ/KipcXG5cXG4gUmVzaWRlbnRpYWwgZWxlY3RyaWNpdHkgdXNhZ2UgYWNjb3VudHMgZm9yIDMwJSBvZiBhbGwgZWxlY3RyaWNpdHkgY29uc3VtZWQgaW4gU2FudGEgTW9uaWNhLiBFbGVjdHJpY2l0eSB1c2UgZnJvbSB0aGUgcmVzaWRlbnRpYWwgYW5kIGNvbW1lcmNpYWwgc2VjdG9ycyBhY2NvdW50IGZvciBvdmVyIDUwJSBvZiBncmVlbmhvdXNlIGdhcyBlbWlzc2lvbnMgZ2VuZXJhdGVkIGluIHRoZSBjb21tdW5pdHkuXFxuXFxuTW9zdCBvZiBvdXIgZWxlY3RyaWNpdHkgY29tZXMgZnJvbSB0aGUgYnVybmluZyBvZiBvaWwgb3IgY29hbCwgd2hpY2ggYXJlIHBvbGx1dGluZyBhbmQgbm9uLXJlbmV3YWJsZSByZXNvdXJjZXMgdGhhdCBnZW5lcmF0ZSBncmVlbmhvdXNlIGdhcyBlbWlzc2lvbnMuIFJlZHVjaW5nIGVuZXJneSB1c2FnZSBhbmQgY2xlYW5pbmcgb3VyIGVuZXJneSBzb3VyY2VzIGFyZSBpbXBvcnRhbnQgdG8gbGltaXRpbmcgZ3JlZW5ob3VzZSBnYXNlcyBhbmQgY2xpbWF0ZSBjaGFuZ2UuXFxuXFxuKipIb3cgYXJlIHdlIGRvaW5nPyoqXFxuXFxuRW5lcmd5IGNvbnNlcnZhdGlvbiBtZWFzdXJlcyBoYXZlIGJlZW4gbGFyZ2VseSBzdWNjZXNzZnVsIGFuZCBlbmVyZ3kgdXNlIGluIHRoZSBjaXR5IHJlbWFpbnMgc3RhYmxlLCBkZXNwaXRlIGluY3JlYXNlcyBpbiBwb3B1bGF0aW9uIGFuZCBkZXZlbG9wbWVudC4gRWxlY3RyaWNpdHkgdXNlIHdhcyBzdGVhZGlseSBkZWNsaW5pbmcgdW50aWwgMjAxMywgZHVlIHRvIGltcHJvdmVtZW50cyBpbiBsaWdodGluZyB0ZWNobm9sb2d5IGFuZCBlbmVyZ3kgZWZmaWNpZW50IGVxdWlwbWVudCwgYnV0IGhhcyBzaW5jZSBiZWVuIG9uIHRoZSByaXNlIGR1ZSB0byBhbiBpbmNyZWFzZSBpbiBlbGVjdHJpY2l0eSB1c2VkIGluIGxhcmdlIGNvbW1lcmNpYWwgYnVpbGRpbmdzLiBOYXR1cmFsIGdhcyB1c2UgaGFzIHJlbWFpbmVkIGNvbnN0YW50IG92ZXIgdGhlIHllYXJzLCBhcyBnYXMtcmVsYXRlZCBlcXVpcG1lbnQgYW5kIHN5c3RlbXMgYXJlIHR5cGljYWxseSBsYXJnZXIgaW52ZXN0bWVudHMgd2l0aCBsb25nZXIgbGlmZXNwYW5zLlxcblxcbiBUbyByZWFjaCB0aGUgMTAlIHJlZHVjdGlvbiB0YXJnZXQgb2YgNzM4LDUzMCBNV2ggYnkgMjAyMCwgdGhlIGNpdHkgbmVlZHMgdG8gY29udGludWUgcHJvbW90aW5nIGVuZXJneSBjb25zZXJ2YXRpb24gc3RyYXRlZ2llcyBhbmQgaW5jZW50aXZpemluZyBlZmZpY2llbnQgZW5lcmd5IHNvdXJjZXMgYW5kIGFwcGxpYW5jZXMgLlxcblxcblwifV0sW3tcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzLzdFRUYwMkUyLUZFNzgtNEQ0MC1CMDQzLTk1QzdERUM0QTA5RVwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKkhvdyBjYW4gd2UgaGVscD8qKlxcblxcbkF2YWlsYWJsZSByZXNvdXJjZXMgdG8gaGVscCByZWR1Y2UgZWxlY3RyaWNpdHkgdXNlIGluIGJ1aWxkaW5ncyBpbmNsdWRlOlxcblxcbiogW0VuZXJneSBVcGdyYWRlIENhbGlmb3JuaWHigJlzIEhvbWUgRW5lcmd5IFVwZ3JhZGVdWzBdLCB3aGljaCBvZmZlcnMgU291dGhlcm4gQ2FsaWZvcm5pYSBFZGlzb24gYW5kIFNvQ2FsR2FzIGN1c3RvbWVycyByZWJhdGVzIHVwIHRvICQzLDAwMCBmb3IgcXVhbGlmeWluZyBlbmVyZ3kgZWZmaWNpZW5jeSB1cGdyYWRlcy5cXG4qIFtQQUNFIEZpbmFuY2luZyBQcm9ncmFtXVsxXSBwdXRzIHNvbGFyIGFuZCBlZmZpY2llbmN5IHdpdGhpbiByZWFjaCBieSBoZWxwaW5nIGN1c3RvbWVycyBmaW5hbmNlIGVuZXJneSBlZmZpY2llbnQgcHJvZHVjdHMuXFxuKiBbVGhlIEVuZXJneSBTYXZpbmcgQXNzaXN0YW5jZSBQcm9ncmFtXVsyXSBpcyBhIGZyZWUgcHJvZ3JhbSB0byBoZWxwIGluY29tZS1xdWFsaWZpZWQgcmVzaWRlbnRzIHNhdmUgZW5lcmd5IGFuZCBtb25leSBvbiBtb250aGx5IHV0aWxpdHkgYmlsbHMuXFxuKiBbU29sYXIgU2FudGEgTW9uaWNhXVszXSBpcyBhIGZyZWUgc2VydmljZSB0aGF0IGNvbm5lY3RzIHJlc2lkZW50cyBhbmQgYnVzaW5lc3NlcyBpbnRlcmVzdGVkIGluIGdvaW5nIHNvbGFyIHdpdGggZXhwZXJ0cyB3aG8gcHJvdmlkZSB0ZWNobmljYWwgYWR2aWNlIHRvIGhlbHAgbmF2aWdhdGUgdGhlIHByb2Nlc3MuXFxuXFxuWzBdOiBodHRwOi8vdGVucmVzLmNvbS9ob21lLXVwZ3JhZGUvXFxuWzFdOiBodHRwczovL2hlcm9wcm9ncmFtLmNvbS9zYW50YW1vbmljYVxcblsyXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvZGVwYXJ0bWVudHMvb3NlL2NhdGVnb3JpZXMvZm9ybS5hc3B4P2VrZnJtPTUwNjU0XFxuWzNdOiBodHRwOi8vd3d3LnNtZ292Lm5ldC9EZXBhcnRtZW50cy9PU0UvY2F0ZWdvcmllcy9zb2xhci5hc3B4XCJ9LHtcInR5cGVcIjpcInZpelwiLFwiZGF0YXNldFwiOlwicHY3eC1pNWhzXCJ9XV19LHtcInR5cGVcIjpcInR3b0NvbExheW91dFwiLFwiY29sdW1uc1wiOltbe1widHlwZVwiOlwidml6XCIsXCJkYXRhc2V0XCI6XCJwMzc5LXBqdDhcIn1dLFt7XCJ0eXBlXCI6XCJ2aXpcIixcImRhdGFzZXRcIjpcImI3MnQtanVmZVwifV1dfV0sXCJ0aXRsZV9pbWFnZVwiOlwiL2FwaS9hc3NldHMvM0FFNDNDQjEtODg0MC00RTI3LUFCRjAtMjQxQzhCMzM0RUY3XCIsXCJ1c2VfY3VzdG9tX3RpdGxlXCI6dHJ1ZSxcImN1c3RvbV90aXRsZVwiOlwiUmVkdWNlIGNpdHl3aWRlIGVuZXJneSB1c2UgYnkgMTAlXCIsXCJ1c2VfY3VzdG9tX3N1YnRpdGxlXCI6dHJ1ZSxcImN1c3RvbV9zdWJ0aXRsZVwiOlwiVGhpcyBpbmRpY2F0b3IgbWVhc3VyZXMgdG90YWwgZWxlY3RyaWNpdHkgdXNlZCBhbm51YWxseSBpbiBTYW50YSBNb25pY2EgaW4ga1doLlwiLFwiaWNvblwiOlwiXCJ9In0sInByZXZhaWxpbmdfbWVhc3VyZSI6eyJzdGFydCI6IjIwMTAtMDEtMDFUMDA6MDA6MDAuMDAwIiwiZW5kIjoiMjAyMC0xMi0zMVQyMzo1OTo1OS4wMDAiLCJ1bml0IjoiYW5udWFsIGtXaCIsInRhcmdldCI6NzM4NTI5OTU2LjksInRhcmdldF90eXBlIjoiYWJzb2x1dGUiLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsIm1ldHJpYyI6eyJtZXRhZGF0YSI6IiIsImlkIjoiYTlrNi1zN2NyIn0sImNvbXBhcmlzb24iOnsiY29tcGFyaXNvbl9mdW5jdGlvbiI6IjwifSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJlZGl0XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDEwfSxcImVuZFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDIwfSxcImFjdGlvbl90eXBlXCI6XCJyZWR1Y2VcIn0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTR9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNH19LFwic3RhcnRcIjpcIjIwMTQtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTQtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJUb3RhbCBFbmVyZ3kgVXNlIGluIHRoZSBDb21tdW5pdHlcIn0ifSwidXBkYXRlZF9hdCI6IjIwMTYtMDItMDhUMjI6MTM6MDMuMzk2WiIsImNyZWF0ZWRfYXQiOiIyMDE0LTEyLTE3VDE5OjQ3OjU2Ljg5N1oiLCJ2ZXJzaW9uIjoiMjAxNi0wMi0wOFQyMjoxMzowMy4zOTZaIiwidGFyZ2V0X3RvbGVyYW5jZSI6MTAwMDAwMCwiaWQiOiJ0NDJ5LXdjOHkifSwicmVsYXRlZF9tZWFzdXJlcyI6W3sibWV0YWRhdGEiOiIiLCJpZCI6Imc3NjgtNzg1YSJ9XSwiYmFzZV9kYXNoYm9hcmQiOiJuYXZoLWlnZjIiLCJ1cGRhdGVkX2F0IjoiMjAxNi0wNC0xM1QxNTo1NDozNi4xNjNaIiwiY3JlYXRlZF9hdCI6IjIwMTQtMTItMDVUMTg6NTE6NTcuMTk3WiIsInZlcnNpb24iOiIyMDE2LTA0LTEzVDE1OjU0OjM2LjE2M1oiLCJjcmVhdGVkX2J5IjoibnR1Ni1rdnNiIn0seyJpZCI6IjVheXotd3YyaCIsIm5hbWUiOiJSZWR1Y2UgTXVuaWNpcGFsIEVuZXJneSBVc2UiLCJpc19wdWJsaWMiOnRydWUsIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcIm5hcnJhdGl2ZVwiOlt7XCJ0eXBlXCI6XCJ0d29Db2xMYXlvdXRcIixcImNvbHVtbnNcIjpbW3tcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIioqV2hhdCBpcyB0aGlzIGluZGljYXRvcj8qKlxcblxcblRoaXMgaW5kaWNhdG9yIG1lYXN1cmVzIHRvdGFsIGVsZWN0cmljaXR5IHVzZWQgaW4gbXVuaWNpcGFsIGJ1aWxkaW5ncyBhbmQgZmFjaWxpdGllcyBpbiBraWxvd2F0dCBob3Vycy4gVGhlIENpdHkgaXMgYWxzbyB0cmFja2luZyBuYXR1cmFsIGdhcyB1c2FnZSBhbmQgdmVoaWNsZSBmdWVsIHVzZS5cXG5cXG4qKldoeSBpcyBpdCBpbXBvcnRhbnQ/KipcXG5cXG5BbHRob3VnaCB0aGUgQ2l0eSBwcm9jdXJlcyBncmVlbiBwb3dlciB0aHJvdWdoIHJlbmV3YWJsZSBlbmVyZ3kgY3JlZGl0cyAoUkVDcyksIHJlZHVjaW5nIHBvd2VyIGNvbnN1bXB0aW9uIGhlbHBzIGxvd2VyIHV0aWxpdHkgYW5kIG1haW50ZW5hbmNlIGNvc3RzIGFuZCBwcm92aWRlcyBhIHNpZ25hbCB0byB0aGUgZW5lcmd5IGVmZmljaWVuY3kgbWFya2V0LiBBcyBhbiBvcGVyYXRvciBvZiBtYWpvciBjb21tdW5pdHkgaW5zdGl0dXRpb25zIGFuZCBjcml0aWNhbCBmYWNpbGl0aWVzLCBsaWtlIHdhdGVyIHN1cHBseSBhbmQgcHVibGljIHNhZmV0eSwgcmVkdWNpbmcgbXVuaWNpcGFsIGVuZXJneSBkZW1hbmQgd2lsbCBzdWJzdGFudGlhbGx5IGltcHJvdmUgdGhlIENpdHnigJlzIGFiaWxpdHkgdG8gb3BlcmF0ZSBpbmRlcGVuZGVudGx5IGZyb20gdGhlIGdyaWQgYW5kIGxvd2VyIGNvc3RzLiBJbiBvcmRlciB0byBkZW1vbnN0cmF0ZSBsZWFkZXJzaGlwLCB0aGUgQ2l0eSBtdXN0IGNvbW1pdCB0byBhZ2dyZXNzaXZlbHkgcmVkdWNpbmcgZWxlY3RyaWNpdHkgY29uc3VtcHRpb24uXFxuXFxuKipIb3cgYXJlIHdlIGRvaW5nPyoqXFxuXFxuU2luY2UgMjAxMSwgZWxlY3RyaWNpdHkgY29uc3VtcHRpb24gaGFzIGluY3JlYXNlZCBzbGlnaHRseS4gV2hpbGUgdGhlIENpdHkgaGFzIHB1cnN1ZWQgZW5lcmd5IGVmZmljaWVuY3ksIGl0IGhhcyBhbHNvIHJlY2VudGx5IGFkZGVkIG9yIGV4cGFuZGVkIG5ldyBlbmVyZ3ktaW50ZW5zaXZlIGZhY2lsaXRpZXMgbGlrZSB0aGUgQXJjYWRpYSBXYXRlciBUcmVhdG1lbnQgUGxhbiwgUGljbyBCcmFuY2ggTGlicmFyeSwgUGFya2luZyBTdHJ1Y3R1cmUgNiBhbmQgVG9uZ3ZhIFBhcmsuXFxuXFxuVGhpcyBleHBhbnNpb24gc2VydmljZXMgYW5kIGZhY2lsaXRpZXMgd2lsbCBjaGFsbGVuZ2UgdGhlIENpdHkncyBhYmlsaXR5IHRvIHJlZHVjZSBpdHMgb3duIGVuZXJneSB1c2UsIGhvd2V2ZXIsIHRoZSBuZXQgZ2FpbiBmcm9tIHRoZSBjb21tdW5pdHkgYmVuZWZpdHMgb3Igb3RoZXIgc3VzdGFpbmFiaWxpdHkgaW5pdGlhdGl2ZXMsIGxpa2Ugd2F0ZXIgc2VsZi1zdWZmaWNpZW5jeSwgd2lsbCBiZSBtdWNoIGxhcmdlci5cXG5cXG5cIn1dLFt7XCJ0eXBlXCI6XCJpbWFnZVwiLFwic3JjXCI6XCIvYXBpL2Fzc2V0cy85MkE0MDJDNi00ODY0LTQyNTMtQTJGQi02NjlBQkFBOTIwNzFcIn0se1widHlwZVwiOlwidml6XCIsXCJkYXRhc2V0XCI6XCJ0c3ozLTZ1dXFcIn1dXX1dLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIlJlZHVjZSBtdW5pY2lwYWwgZW5lcmd5IHVzZSBieSAxMCBwZXJjZW50XCIsXCJ1c2VfY3VzdG9tX3N1YnRpdGxlXCI6dHJ1ZSxcImN1c3RvbV9zdWJ0aXRsZVwiOlwiVGhpcyBpbmRpY2F0b3IgbWVhc3VyZXMgbXVuaWNpcGFsIGVuZXJneSB1c2UgaW4ga1doLlwiLFwidGl0bGVfaW1hZ2VcIjpcIi9hcGkvYXNzZXRzLzMwMzlFQjMyLUFGRjctNDk0Mi1CNEY1LUQ3NUZENEE3Q0U1NlwifSJ9LCJwcmV2YWlsaW5nX21lYXN1cmUiOnsic3RhcnQiOiIxOTkwLTAxLTAxVDAwOjAwOjAwLjAwMCIsImVuZCI6IjIwMjAtMTItMzFUMjM6NTk6NTkuMDAwIiwidW5pdCI6ImFubnVhbCBrV2giLCJ0YXJnZXRfdHlwZSI6InJlbGF0aXZlIiwidGFyZ2V0X2RlbHRhIjo0MzczNzgsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwiYmFzZWxpbmUiOjQzNzMxODEzLCJtZXRyaWMiOnsibWV0YWRhdGEiOiIiLCJpZCI6ImpyZDktdWJiNyJ9LCJjb21wYXJpc29uIjp7ImNvbXBhcmlzb25fZnVuY3Rpb24iOiI8In0sIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wiZWRpdFwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MTk5MH0sXCJlbmRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAyMH0sXCJhY3Rpb25fdHlwZVwiOlwicmVkdWNlXCIsXCJ0YXJnZXRfdHlwZVwiOlwicmVsYXRpdmVcIn0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX19LFwic3RhcnRcIjpcIjIwMTUtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTUtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJtdW5pY2lwYWwgZW5lcmd5IHVzZVwifSJ9LCJ1cGRhdGVkX2F0IjoiMjAxNS0wNy0xNVQyMjowMzoxNC42NDFaIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDYtMzBUMjM6NTE6NDMuODk1WiIsInZlcnNpb24iOiIyMDE1LTA3LTE1VDIyOjAzOjE0LjY0MVoiLCJpZCI6IjJkd2UtanNhayJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiJuYXZoLWlnZjIiLCJ1cGRhdGVkX2F0IjoiMjAxNi0wNC0xM1QxNTo1NjowNC4zOTdaIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDEtMzBUMjM6MjE6MzkuNTM0WiIsInZlcnNpb24iOiIyMDE2LTA0LTEzVDE1OjU2OjA0LjM5N1oiLCJjcmVhdGVkX2J5IjoibnR1Ni1rdnNiIn1dLCJ2ZXJzaW9uIjoiMjAxNi0wNC0wN1QxODoyMDo1OC43NTVaIn0seyJpZCI6Im13aTctaWlpYyIsIm5hbWUiOiJSZW5ld2FibGUgRW5lcmd5IFVzZSIsImdvYWxzIjpbeyJpZCI6Inc2ZWYtZm14ayIsIm5hbWUiOiJJbmNyZWFzZSBSZW5ld2FibGUgRW5lcmd5IFN1cHBseSIsImlzX3B1YmxpYyI6dHJ1ZSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJyZXRpcmVtZW50X25hcnJhdGl2ZVwiOltdLFwibmFycmF0aXZlXCI6W3tcInR5cGVcIjpcInR3b0NvbExheW91dFwiLFwiY29sdW1uc1wiOltbe1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiKipXaGF0IGlzIHRoaXMgaW5kaWNhdG9yPyoqXFxuXFxuVGhpcyBpbmRpY2F0b3IgbWVhc3VyZXMgdGhlIHBlcmNlbnRhZ2Ugb2YgZWxlY3RyaWNpdHkgdGhhdCBpcyBmcm9tIHJlbmV3YWJsZSByZXNvdXJjZXMgcHJvdmlkZWQgYnkgU291dGhlcm4gQ2FsaWZvcm5pYSBFZGlzb24gYW5kIHByb2R1Y2VkIGZyb20gbG9jYWxseS1pbnN0YWxsZWQgc29sYXIuIFNvdXRoZXJuIENhbGlmb3JuaWEgRWRpc29uIHB1YmxpY2x5IHJlcG9ydHMgaXRzIGFubnVhbCBQb3dlciBDb250ZW50IE1peCB0byB0aGUgW0NhbGlmb3JuaWEgRW5lcmd5IENvbW1pc3Npb25dWzBdLlxcblxcbioqV2h5IGlzIGl0IGltcG9ydGFudD8qKlxcblxcbkVsZWN0cmljaXR5IHVzZWQgYXQgaG9tZSBvciBhdCB3b3JrIGdlbmVyYXRlIGdyZWVuaG91c2UgZ2FzIGVtaXNzaW9ucyBmcm9tIGZvc3NpbC1mdWVsZWQgcGxhbnRzLiBSZWR1Y2luZyBlbmVyZ3kgdXNlIGFuZCBpbmNyZWFzaW5nIHJlbmV3YWJsZSBzb3VyY2VzIG9mIGVsZWN0cmljaXR5IGxpa2Ugd2luZCwgZ2VvdGhlcm1hbCBhbmQgc29sYXIsIHdpbGwgaGVscCBhdm9pZCBlbWlzc2lvbnMgdGhhdCBjYXVzZSBnbG9iYWwgd2FybWluZy5cXG5cXG4qKkhvdyBhcmUgd2UgZG9pbmc/KipcXG5cXG5JbnZlc3Rvci1Pd25lZCBVdGlsaXRpZXMgYXJlIHJlcXVpcmVkIHRvIG1lZXQgdGhlIFN0YXRlJ3MgdGFyZ2V0cyBvZiAzMyUgcmVuZXdhYmxlIGJ5IDIwMjAgYW5kIDUwJSByZW5ld2FibGUgYnkgMjAzMC4gRGVzcGl0ZSB0aGUgcHJvZ3Jlc3MgdG93YXJkIGEgbGFyZ2VyIHJlbmV3YWJsZSBwb3J0Zm9saW8sIHRoZSBpbXBhY3Qgb24gdGhlIGdyaWTigJlzIGVtaXNzaW9uIGZhY3RvciBoYXMgYmVlbiB1bmRlY2lkZWQuIFRoZSBjbG9zdXJlIG9mIFNDReKAmXMgbGFyZ2VzdCBudWNsZWFyIGZhY2lsaXR5IGluIFNhbiBPbm9mcmUsIHVuZXhwZWN0ZWRseSBmb3JjZWQgdGhlIHV0aWxpdHkgdG8gc2VlayBvdXQgYnJvd24gcG93ZXIgZnJvbSB2YXJpb3VzIHNvdXJjZXMuXFxuXFxuTG9jYWxseS1pbnN0YWxsZWQgc29sYXIgYWNjb3VudHMgZm9yIGEgdmVyeSBzbWFsbCBwb3J0aW9uIG9mIHRoZSBDaXR5J3MgdG90YWwgZGVtYW5kLCBzdGlsbCBsZWF2aW5nIGEgbGFyZ2UgcG90ZW50aWFsIGZvciBsb2NhbCBjbGVhbiBwb3dlci5cXG5cXG5bMF06IGh0dHA6Ly93d3cuZW5lcmd5LmNhLmdvdi9zYjEzMDUvbGFiZWxzL1wifV0sW3tcInR5cGVcIjpcImltYWdlXCIsXCJzcmNcIjpcIi9hcGkvYXNzZXRzL0ExNDNEMTNELUVGMEUtNEQ4MS1BRDJCLUFGNTIxNTM4RTQ4RVwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIqKkhvdyBjYW4gSSBoZWxwPyoqXFxuXFxuKiBWaXNpdCBbc3VzdGFpbmFibGVzbS5vcmcvZW5lcmd5XVswXSB0byBsZWFybiBob3cgeW91IGNhbiByZWR1Y2UgeW91ciBlbmVyZ3kgdXNhZ2UgYXQgaG9tZSBhbmQgYXQgd29yay5cXG4qIFZpc2l0IFtzb2xhcnNhbnRhbW9uaWNhLmNvbV1bMV0gYW5kIGNvbnNpZGVyIGdvaW5nIHNvbGFyLlxcblxcblswXTogaHR0cDovL3d3dy5zdXN0YWluYWJsZXNtLm9yZy9lbmVyZ3lcXG5bMV06IGh0dHA6Ly93d3cuc29sYXJzYW50YW1vbmljYS5jb21cIn1dXX1dLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIkluY3JlYXNlIHBlcmNlbnRhZ2Ugb2YgcmVuZXdhYmxlIGVsZWN0cmljaXR5IHNvdXJjZXMgdG8gNTAgcGVyY2VudC5cIixcInVzZV9jdXN0b21fc3VidGl0bGVcIjp0cnVlLFwiY3VzdG9tX3N1YnRpdGxlXCI6XCJUaGlzIGluZGljYXRvciBtZWFzdXJlcyBTb3V0aGVybiBDYWxpZm9ybmlhIEVkaXNvbidzIHJlbmV3YWJsZSBzb3VyY2VzIG9mIGVsZWN0cmljaXR5IGFuZCBsb2NhbGx5IGluc3RhbGxlZCBzb2xhci5cIixcInRpdGxlX2ltYWdlXCI6XCIvYXBpL2Fzc2V0cy82Mzk0NjE3NS01QjBELTQ2RTMtOUMzNy00OERGMjMzOTM5MTlcIn0ifSwicHJldmFpbGluZ19tZWFzdXJlIjp7InN0YXJ0IjoiMjAwNy0wMS0wMVQwMDowMDowMC4wMDAiLCJlbmQiOiIyMDIwLTEyLTMxVDIzOjU5OjU5LjAwMCIsInVuaXQiOiJwZXJjZW50IiwidGFyZ2V0Ijo1MCwidGFyZ2V0X3R5cGUiOiJhYnNvbHV0ZSIsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwibWV0cmljIjp7Im1ldGFkYXRhIjoiIiwiaWQiOiJkbXNnLWJzaWcifSwiY29tcGFyaXNvbiI6eyJjb21wYXJpc29uX2Z1bmN0aW9uIjoiPiJ9LCJtZXRhZGF0YSI6eyJtZXRhZGF0YSI6IntcImVkaXRcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMDd9LFwiZW5kXCI6e1wiZGF0ZVwiOlwiZW5kXCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMjB9fSxcImJhc2VsaW5lXCI6e1wic3F1aXNoeVwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX0sXCJlbmRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE1fX0sXCJzdGFydFwiOlwiMjAxNS0wMS0wMVQwMDowMDowMC4wMDBcIixcImVuZFwiOlwiMjAxNS0wMS0wMVQyMzo1OTo1OS4wMDBcIixcIm1ldHJpY1wiOntcIm1ldGFkYXRhXCI6XCJ7XFxcIndpemFyZFxcXCI6e1xcXCJmaWx0ZXJfYXN0XFxcIjpbe1xcXCJ2YWx1ZXNcXFwiOlt7fV19XX19XCJ9fSxcIm5hbWVcIjpcInBlcmNlbnRhZ2Ugb2YgcmVuZXdhYmxlIGVsZWN0cmljaXR5IHNvdXJjZXNcIn0ifSwidXBkYXRlZF9hdCI6IjIwMTUtMTItMTZUMTY6MjI6NDEuNzc4WiIsImNyZWF0ZWRfYXQiOiIyMDE1LTA3LTEzVDIwOjUyOjUyLjU4MVoiLCJ2ZXJzaW9uIjoiMjAxNS0xMi0xNlQxNjoyMjo0MS43NzhaIiwidGFyZ2V0X3RvbGVyYW5jZSI6NSwiaWQiOiJ4eW0zLWphYjYifSwicmVsYXRlZF9tZWFzdXJlcyI6W10sImJhc2VfZGFzaGJvYXJkIjoibmF2aC1pZ2YyIiwidXBkYXRlZF9hdCI6IjIwMTUtMTItMTZUMTY6MjI6NDEuOTIxWiIsImNyZWF0ZWRfYXQiOiIyMDE0LTEyLTA1VDE5OjIxOjQ3LjQ1MFoiLCJ2ZXJzaW9uIjoiMjAxNS0xMi0xNlQxNjoyMjo0MS45MjFaIiwiY3JlYXRlZF9ieSI6InMyNmctZTl4dCJ9LHsiaWQiOiJoYmM0LWJyZ2siLCJuYW1lIjoiSW5jcmVhc2UgQ2l0eXdpZGUgU29sYXIgSW5zdGFsbGF0aW9ucyIsImlzX3B1YmxpYyI6dHJ1ZSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJyZXRpcmVtZW50X25hcnJhdGl2ZVwiOltdLFwibmFycmF0aXZlXCI6W3tcInR5cGVcIjpcInR3b0NvbExheW91dFwiLFwiY29sdW1uc1wiOltbe1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiIyBXaGF0IGlzIHRoaXMgaW5kaWNhdG9yP1xcblxcblRoaXMgaW5kaWNhdG9yIGlzIG1lYXN1cmVkIGJ5IHRyYWNraW5nIGRpc3RyaWJ1dGVkIGdlbmVyYXRpb24gZnJvbSBzb2xhciBpbiBtZWdhd2F0dCAoTVcpIGNhcGFjaXR5LlxcblxcblwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjIFdoeSBpcyBpdCBpbXBvcnRhbnQ/XFxuXFxuVGhlIENpdHkgYWltcyB0byBpbmNyZWFzZSB0aGUgdXNlIG9mIHJlbmV3YWJsZSBlbmVyZ3kgYW5kIHRodXMsIHJlZHVjZSB0aGUgY29tbXVuaXR54oCZcyB0b3RhbCBhbW91bnQgb2YgZ3JlZW5ob3VzZSBnYXMgZW1pc3Npb25zIGFuZCBjb25zdW1wdGlvbiBvZiBmb3NzaWwgZnVlbHMuIEluIGEgcmVnaW9uIHdoZXJlIHRoZSBzdW4gc2hpbmVzIGFuIGF2ZXJhZ2Ugb2YgMzEwIGRheXMgcGVyIHllYXIsIHNvbGFyIGVuZXJneSBpcyBhIHZpYWJsZSBvcHRpb24gdG8gaW5jcmVhc2UgdGhlIGFtb3VudCBvZiBlbmVyZ3kgc3VwcGxpZWQgYnkgcmVuZXdhYmxlIHNvdXJjZXMgaW4gU2FudGEgTW9uaWNhLlxcblxcbkRlc3BpdGUgbWVhc3VyYWJsZSBwcm9ncmVzcywgdGhlIG1ham9yaXR5IG9mIFNhbnRhIE1vbmljYeKAmXMgZW5lcmd5IGlzIHN0aWxsIHN1cHBsaWVkIGJ5IG5vbi1yZW5ld2FibGUgc291cmNlcyBzdWNoIGFzIGNvYWwgYW5kIG5hdHVyYWwgZ2FzLiBUaGVzZSBzb3VyY2VzIGdlbmVyYXRlIGhhcm1mdWwgcG9sbHV0YW50cyBkdXJpbmcgdGhlIGVuZXJneSBwcm9kdWN0aW9uIHByb2Nlc3MsIHdoaWNoIHRha2UgYSBkcmFtYXRpYyB0b2xsIG9uIG91ciBlbnZpcm9ubWVudCBhbmQgcG9wdWxhdGlvbi4gSW4gY29udHJhc3QsIG1vc3QgcmVuZXdhYmxlIGVuZXJneSB0ZWNobm9sb2dpZXMgcHJvZHVjZSBsaXR0bGUgb3Igbm8gcG9sbHV0aW9uIGFuZCBoYXZlIGEgbG93IHJlbGlhbmNlIG9uIGZvc3NpbCBmdWVscyB0byBzdXBwb3J0IHRoZWlyIG9wZXJhdGlvbnMuSW5jcmVhc2luZyB0aGUgYW1vdW50IG9mIGVsZWN0cmljaXR5IGdlbmVyYXRlZCBmcm9tIHNvbGFyIGVuZXJneSB3aWxsIGhlbHAgdG8gaW1wcm92ZSBhaXIgcXVhbGl0eSwgbG93ZXIgZ3JlZW5ob3VzZSBnYXMgZW1pc3Npb25zLCBhbmQgcHJvdmlkZSBhIHN1c3RhaW5hYmxlIGVuZXJneSBzdXBwbHkgZm9yIHRoZSBmdXR1cmUuIEFuIGluY3JlYXNlIGluIHNvbGFyIGdlbmVyYXRpb24gd2lsbCBhbHNvIGhlbHAgbWVldCB0aGUgc3RhdGXigJlzIFJlbmV3YWJsZSBQb3J0Zm9saW8gU3RhbmRhcmQgKFJQUykgd2hpY2ggYWltcyBmb3IgYSAzMyUgdG90YWwgcmVuZXdhYmxlIGVuZXJneSBwb3J0Zm9saW8gaW4gQ2FsaWZvcm5pYSBieSAyMDIwLlxcblxcblwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjIEhvdyBhcmUgd2UgZG9pbmc/XFxuXFxuVG8gZGF0ZSwgcmVzaWRlbnRzIGFuZCBidXNpbmVzc2VzIGhhdmUgaW5zdGFsbGVkIG92ZXIgNC41IE1XICgyMDE1IFEyKSBvZiBzb2xhciBvbiB0aGVpciByb29mdG9wcy4gVGhlIGZhbGxpbmcgY29zdHMgYW5kIG5ldyBmaW5hbmNpbmcgb3B0aW9ucyBoYXZlIGluY3JlYXNlZCB0aGUgdmlhYmlsaXR5IG9mIHNvbGFyIGluIHRoZSBtYXJrZXQuIFNvbGFyIGluc3RhbGxhdGlvbiBuZWVkcyB0byBpbmNyZWFzZSBzaWduaWZpY2FudGx5IHRvIHJlYWNoIHRoZSAyMDIwIHRhcmdldCBvZiA3LjUgTVcgY2FwYWNpdHkuXFxuXFxuIFxcblxcblNvdXRoZXJuIENhbGlmb3JuaWEgRWRpc29uIChTQ0UpLCBTYW50YSBNb25pY2HigJlzIGVsZWN0cmljYWwgdXRpbGl0eSwgYm9hc3RzIGEgcmVuZXdhYmxlIHBvcnRmb2xpbyB3aGljaCB3ZWxsIGV4Y2VlZHMgdGhhdCBvZiB0aGUgc3RhdGUgYXMgYSB3aG9sZTogMjIlIGluIDIwMTMuIERlc3BpdGUgdGhlIHByb2dyZXNzIHRvd2FyZCBhIGxhcmdlciByZW5ld2FibGUgcG9ydGZvbGlvLCB0aGUgaW1wYWN0IG9uIHRoZSBncmlk4oCZcyBlbWlzc2lvbiBmYWN0b3IgaGFzIGJlZW4gdW5kZWNpZGVkLiBUaGUgY2xvc3VyZSBvZiBTQ0XigJlzIGxhcmdlc3QgbnVjbGVhciBmYWNpbGl0eSBpbiBTYW4gT25vZnJlLCB1bmV4cGVjdGVkbHkgZm9yY2VkIHRoZSB1dGlsaXR5IHRvIHNlZWsgb3V0IGJyb3duIHBvd2VyIGZyb20gdmFyaW91cyBzb3VyY2VzLlxcblxcblwifV0sW3tcInR5cGVcIjpcInZpelwiLFwiZGF0YXNldFwiOlwiNWt4dC1qa3R3XCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgSG93IGNhbiB3ZSBoZWxwP1xcblxcbkdvIHNvbGFyISBbU29sYXIgU2FudGEgTW9uaWNhXVswXSBpcyBhIGZyZWUgc2VydmljZSBmb3IgcmVzaWRlbnRzIGFuZCBidXNpbmVzc2VzIGxvb2tpbmcgdG8gZ28gc29sYXIuIFNvbGFyIGV4cGVydHMgYXJlIGF2YWlsYWJsZSB0byBwcm92aWRlIHlvdSB1bmJpYXNlZCB0ZWNobmljYWwgYWR2aWNlIHRvIGhlbHAgeW91IG5hdmlnYXRlIHRoZSBjaGFuZ2luZyBydWxlcywgaW5jZW50aXZlcyBhbmQgZmluYW5jaW5nIG9wdGlvbnMuXFxuXFxuWzBdOiBodHRwOi8vd3d3LnNvbGFyc2FudGFtb25pY2EuY29tXCJ9XV19XSxcInVzZV9jdXN0b21fdGl0bGVcIjp0cnVlLFwiY3VzdG9tX3RpdGxlXCI6XCJJbmNyZWFzZSBjaXR5d2lkZSBzb2xhciB0byA3LjUgTVcuXCIsXCJ1c2VfY3VzdG9tX3N1YnRpdGxlXCI6dHJ1ZSxcImN1c3RvbV9zdWJ0aXRsZVwiOlwiVGhpcyBpbmRpY2F0b3IgbWVhc3VyZXMgZGlzdHJpYnV0ZWQgZ2VuZXJhdGlvbiBmcm9tIHNvbGFyIGluIGtXIGNhcGFjaXR5LlwiLFwidGl0bGVfaW1hZ2VcIjpcIi9hcGkvYXNzZXRzL0ZCNTQ0MjBFLURBQ0UtNDc3My04M0VFLTcyRUU5RTcxQzAzM1wifSJ9LCJwcmV2YWlsaW5nX21lYXN1cmUiOnsic3RhcnQiOiIyMDAxLTEyLTMxVDAwOjAwOjAwLjAwMCIsImVuZCI6IjIwMjAtMTItMzFUMjM6NTk6NTkuMDAwIiwidW5pdCI6Ik1XIGNhcGFjaXR5IiwidGFyZ2V0Ijo3LjUsInRhcmdldF90eXBlIjoiYWJzb2x1dGUiLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsIm1ldHJpYyI6eyJtZXRhZGF0YSI6IiIsImlkIjoidHc2bi10OGdyIn0sImNvbXBhcmlzb24iOnsiY29tcGFyaXNvbl9mdW5jdGlvbiI6Ij4ifSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJlZGl0XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAwMX0sXCJlbmRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAyMH19LFwiYmFzZWxpbmVcIjp7XCJzcXVpc2h5XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE1fSxcImVuZFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9fSxcInN0YXJ0XCI6XCIyMDE1LTAxLTAxVDAwOjAwOjAwLjAwMFwiLFwiZW5kXCI6XCIyMDE1LTAxLTAxVDIzOjU5OjU5LjAwMFwiLFwibWV0cmljXCI6e1wibWV0YWRhdGFcIjpcIntcXFwid2l6YXJkXFxcIjp7XFxcImZpbHRlcl9hc3RcXFwiOlt7XFxcInZhbHVlc1xcXCI6W3t9XX1dfX1cIn19LFwibmFtZVwiOlwiZGlzdHJpYnV0ZWQgZ2VuZXJhdGlvbiBmcm9tIHNvbGFyXCJ9In0sInVwZGF0ZWRfYXQiOiIyMDE2LTAxLTI4VDIyOjM4OjAxLjM5MFoiLCJjcmVhdGVkX2F0IjoiMjAxNS0wNS0yMlQyMzozNjozOC4zMTNaIiwidmVyc2lvbiI6IjIwMTYtMDEtMjhUMjI6Mzg6MDEuMzkwWiIsInRhcmdldF90b2xlcmFuY2UiOjUwMCwiaWQiOiJ0d2N5LWd3ZWcifSwicmVsYXRlZF9tZWFzdXJlcyI6W10sImJhc2VfZGFzaGJvYXJkIjoibmF2aC1pZ2YyIiwidXBkYXRlZF9hdCI6IjIwMTYtMDQtMTNUMTY6MDI6MjYuMTUzWiIsImNyZWF0ZWRfYXQiOiIyMDE1LTAxLTMwVDIzOjIwOjE3Ljk4MVoiLCJ2ZXJzaW9uIjoiMjAxNi0wNC0xM1QxNjowMjoyNi4xNTNaIiwiY3JlYXRlZF9ieSI6Im50dTYta3ZzYiJ9LHsiaWQiOiI1ZWZ4LTJmY2kiLCJuYW1lIjoiSW5jcmVhc2UgTXVuaWNpcGFsIFNvbGFyIEluc3RhbGxhdGlvbnMiLCJpc19wdWJsaWMiOnRydWUsIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcIm5hcnJhdGl2ZVwiOlt7XCJ0eXBlXCI6XCJ0d29Db2xMYXlvdXRcIixcImNvbHVtbnNcIjpbW3tcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIioqV2hhdCBpcyB0aGlzIGluZGljYXRvcj8qKlxcblxcblRoZSBjaXR5IGFpbXMgdG8gaW5jcmVhc2UgdGhlIHVzZSBvZiByZW5ld2FibGUgZW5lcmd5IGFuZCB0aHVzIHJlZHVjZSB0aGUgY2l0eeKAmXMgdG90YWwgYW1vdW50IG9mIGdyZWVuaG91c2UgZ2FzIGVtaXNzaW9ucyBhbmQgY29uc3VtcHRpb24gb2YgZm9zc2lsIGZ1ZWxzLiBJbiBhIHJlZ2lvbiB3aGVyZSB0aGUgc3VuIHNoaW5lcyBjbG9zZSB0byAzNjUgZGF5cyBwZXIgeWVhciwgc29sYXIgZW5lcmd5IGlzIGEgdmlhYmxlIG9wdGlvbiB0byBpbmNyZWFzZSB0aGUgYW1vdW50IG9mIGVuZXJneSBzdXBwbGllZCBieSByZW5ld2FibGUgc291cmNlcyBpbiBTYW50YSBNb25pY2EuIFRoaXMgZ29hbCBpcyBtZWFzdXJlZCBieSB0cmFja2luZyBkaXN0cmlidXRlZCBnZW5lcmF0aW9uIGZyb20gc29sYXIgaW4ga1cgY2FwYWNpdHkuXFxuXFxuKipXaHkgaXMgaXQgaW1wb3J0YW50PyoqXFxuXFxuQ2l0eS1vcGVyYXRlZCBmYWNpbGl0aWVzIHNob3VsZCBsZWFkIHRoZSB3YXkgYnkgaW5zdGFsbGluZyBzb2xhciBvbiBhbGwgdmlhYmxlIHJvb2Ygc3BhY2UuIERlc3BpdGUgbWVhc3VyYWJsZSBwcm9ncmVzcywgdGhlIG1ham9yaXR5IG9mIFNhbnRhIE1vbmljYeKAmXMgZW5lcmd5IGlzIHN0aWxsIHN1cHBsaWVkIGJ5IG5vbi1yZW5ld2FibGUgc291cmNlcyBzdWNoIGFzIG9pbCBhbmQgZ2FzLiBUaGVzZSBzb3VyY2VzIGdlbmVyYXRlIGhhcm1mdWwgcG9sbHV0YW50cyBkdXJpbmcgdGhlIGVuZXJneSBwcm9kdWN0aW9uIHByb2Nlc3MsIHdoaWNoIHRha2UgYSBkcmFtYXRpYyB0b2xsIG9uIG91ciBlbnZpcm9ubWVudCBhbmQgcG9wdWxhdGlvbi4gSW4gY29udHJhc3QsIG1vc3QgcmVuZXdhYmxlIGVuZXJneSB0ZWNobm9sb2dpZXMgcHJvZHVjZSBsaXR0bGUgb3Igbm8gcG9sbHV0aW9uIGFuZCBoYXZlIGEgbG93XFxuXFxuIFwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCJ9XSxbe1widHlwZVwiOlwiaW1hZ2VcIixcInNyY1wiOlwiL2FwaS9hc3NldHMvMDFDQkNGNUMtNkVFQy00NDdBLUI2QkUtNjRFMUUwQkFFNzI2XCJ9LHtcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIioqSG93IGFyZSB3ZSBkb2luZz8qKlxcblxcblNpbmNlIDIwMTEsIGVsZWN0cmljaXR5IGNvbnN1bXB0aW9uIGhhcyBkZWNyZWFzZWQgYnkgMiUuIFdoaWxlIHRoZSBDaXR5IGhhcyBwdXJzdWVkIGVuZXJneSBlZmZpY2llbmN5LCBpdCBoYXMgYWxzbyByZWNlbnRseSBhZGRlZCBvciBleHBhbmRlZCBuZXcgZmFjaWxpdGllcyBsaWtlIHRoZSBBcmNhZGlhIFdhdGVyIFRyZWF0bWVudCBQbGFuLCBQaWNvIEJyYW5jaCBMaWJyYXJ5LCBQYXJraW5nIFN0cnVjdHVyZSA2IGFuZCBUb25ndmEgUGFyay5cXG5cXG5UaGUgZXhwYW5zaW9uIG9mIHNvbWUgc2VydmljZXMgYW5kIGZhY2lsaXRpZXMgd2lsbCBjaGFsbGVuZ2UgdGhlIENpdHkncyBhYmlsaXR5IHRvIHJlZHVjZSBpdHMgb3duIGVuZXJneSB1c2UsIGhvd2V2ZXIsIHRoZSBuZXQgZ2FpbiBmcm9tIHRoZSBjb21tdW5pdHkgYmVuZWZpdHMgb3Igb3RoZXIgc3VzdGFpbmFiaWxpdHkgaW5pdGlhdGl2ZXMsIGxpa2Ugd2F0ZXIgc2VsZi1zdWZmaWNpZW5jeSwgd2lsbCBiZSBtdWNoIGxhcmdlci5cXG5cXG5cIn1dXX1dLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIkluY3JlYXNlIG11bmljaXBhbGx5IG93bmVkIHNvbGFyIHRvIDEgTVcgb2YgY2FwYWNpdHlcIixcInVzZV9jdXN0b21fc3VidGl0bGVcIjp0cnVlLFwiY3VzdG9tX3N1YnRpdGxlXCI6XCJUaGlzIGdvYWwgaXMgbWVhc3VyZWQgYnkgdHJhY2tpbmcgbXVuaWNpcGFsbHkgb3duZWQgc29sYXIgaW4ga1cuXCIsXCJ0aXRsZV9pbWFnZVwiOlwiL2FwaS9hc3NldHMvNTUxNzQ1RUYtM0FFMS00MDM3LUE5RjUtNDE0MjVFM0E1Qjc3XCJ9In0sInByZXZhaWxpbmdfbWVhc3VyZSI6eyJzdGFydCI6IjIwMDAtMDEtMDFUMDA6MDA6MDAuMDAwIiwiZW5kIjoiMjAyMC0xMi0zMVQyMzo1OTo1OS4wMDAiLCJ1bml0Ijoia1cgY2FwYWNpdHkiLCJ0YXJnZXQiOjEwMDAsInRhcmdldF90eXBlIjoiYWJzb2x1dGUiLCJ0YXJnZXRfZGVsdGFfaXNfcGVyY2VudCI6ZmFsc2UsIm1ldHJpYyI6eyJtZXRhZGF0YSI6IiIsImlkIjoidDh6aC1yN2hlIn0sImNvbXBhcmlzb24iOnsiY29tcGFyaXNvbl9mdW5jdGlvbiI6Ij4ifSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJlZGl0XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDAwfSxcImVuZFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDIwfX0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX19LFwic3RhcnRcIjpcIjIwMTUtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTUtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJtdW5pY2lwYWxseSBvd25lZCBzb2xhclwifSJ9LCJ1cGRhdGVkX2F0IjoiMjAxNS0wNy0xNVQyMjoyMjoyMS4zMzRaIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDctMTVUMjI6MjE6NDEuODc4WiIsInZlcnNpb24iOiIyMDE1LTA3LTE1VDIyOjIyOjIxLjMzNFoiLCJpZCI6ImR0cTUtbnhtYSJ9LCJyZWxhdGVkX21lYXN1cmVzIjpbXSwiYmFzZV9kYXNoYm9hcmQiOiJuYXZoLWlnZjIiLCJ1cGRhdGVkX2F0IjoiMjAxNS0wNy0zMFQxNzoyNzoxMy42MjJaIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDYtMThUMTU6NTc6MjkuOTIyWiIsInZlcnNpb24iOiIyMDE1LTA3LTMwVDE3OjI3OjEzLjYyMloiLCJjcmVhdGVkX2J5IjoiNHNteS1jbWsyIn1dLCJ2ZXJzaW9uIjoiMjAxNS0wNi0zMFQyMzo1NToxOC45MjVaIn0seyJpZCI6IjVmNWYtamplciIsIm5hbWUiOiJHcmVlbmhvdXNlIEdhcyBFbWlzc2lvbnMiLCJnb2FscyI6W3siaWQiOiI3dnV0LWtmYjQiLCJuYW1lIjoiUmVkdWNlIE11bmljaXBhbCBFbWlzc2lvbnMiLCJpc19wdWJsaWMiOnRydWUsIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcIm5hcnJhdGl2ZVwiOlt7XCJ0eXBlXCI6XCJ0d29Db2xMYXlvdXRcIixcImNvbHVtbnNcIjpbW3tcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIioqV2hhdCBpcyB0aGlzIGluZGljYXRvcj8qKlxcblxcbiBcXG5cXG5UaGUgbWFqb3JpdHkgb2YgZ3JlZW5ob3VzZSBnYXMgZW1pc3Npb25zIGNvbWUgZnJvbSBjYXJib24gZGlveGlkZSwgd2hpY2ggZW50ZXJzIHRoZSBhdG1vc3BoZXJlIHRocm91Z2ggYnVybmluZyBmb3NzaWwgZnVlbHMsIHNvbGlkIHdhc3RlLCB0cmVlcywgYW5kIG90aGVyIHNvdXJjZXMuIEl0IGlzIG1lYXN1cmVkIGhlcmUgaW4gdGVybXMgb2YgbXVuaWNpcGFsIGVtaXNzaW9ucyBwZXIgdG9uIG9mIGNhcmJvbiBkaW94aWRlLlxcblxcbiBcXG5cXG4qKldoeSBpcyBpdCBpbXBvcnRhbnQ/KipcXG5cXG4gVGhlIHNjaWVudGlmaWMgY29tbXVuaXR5IGFuZCwgaW5jcmVhc2luZ2x5IHRoZSBnZW5lcmFsIHB1YmxpYywgYWNjZXB0IGNsaW1hdGUgY2hhbmdlIGFzIGEgZ2VudWluZSBzY2llbnRpZmljIHBoZW5vbWVub24gd2hpY2ggaHVtYW4gYWN0aXZpdHkgaGFzIGFjY2VsZXJhdGVkLiBUaGUgY2l0eSBoYXMgaW5jbHVkZWQgYSBtZWFzdXJlIG9mIEdyZWVuaG91c2UgR2FzIEVtaXNzaW9ucyAoR0hHKSBhbW9uZyBpdHMgaW5kaWNhdG9ycyBiZWNhdXNlIGl0IHJlY29nbml6ZXMgdGhhdCB0aGUgcGh5c2ljYWwgYW5kIHNvY2lvLWVjb25vbWljIGRpc3J1cHRpb25zIHdoaWNoIGNsaW1hdGUgY2hhbmdlIHdpbGwgY2F1c2UgaWYgdW5hYmF0ZWQgd2lsbCBiZSB1bnN1c3RhaW5hYmxlIGZvciB0aGUgY29tbXVuaXR5IGFuZCB0aGUgcmVnaW9uLlxcblxcblwifV0sW3tcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIioqSG93IGFyZSB3ZSBkb2luZz8qKlxcblxcbk11bmljaXBhbCBlbmVyZ3kgYW5kIGZ1ZWwgdXNhZ2UgZnJvbSBCaWcgQmx1ZSBCdXMgaGFzIGluY3JlYXNlZCBhcyBDaXR5IHNlcnZpY2VzIGFuZCBmYWNpbGl0aWVzIGhhdmUgZ3Jvd24gdG8gYWNjb21tb2RhdGUgbmV3IG5lZWRzIGluIHRoZSBjb21tdW5pdHkuIFdoaWxlIHRoZSBDaXR5IGhhcyBwdXJzdWVkIGVuZXJneSBlZmZpY2llbmN5LCBpdCBoYXMgYWxzbyByZWNlbnRseSBhZGRlZCBvciBleHBhbmRlZCBuZXcgZW5lcmd5LWludGVuc2l2ZSBmYWNpbGl0aWVzIGxpa2UgdGhlIEFyY2FkaWEgV2F0ZXIgVHJlYXRtZW50IFBsYW4sIFBpY28gQnJhbmNoIExpYnJhcnksIFBhcmtpbmcgU3RydWN0dXJlIDYgYW5kIFRvbmd2YSBQYXJrLiBUaGlzIGV4cGFuc2lvbiBzZXJ2aWNlcyBhbmQgZmFjaWxpdGllcyB3aWxsIGNoYWxsZW5nZSB0aGUgQ2l0eSdzIGFiaWxpdHkgdG8gcmVkdWNlIGl0cyBvd24gZW5lcmd5IHVzZSBhbmQgZ3JlZW5ob3VzZSBnYXMgZW1pc3Npb25zLCBob3dldmVyLCB0aGUgbmV0IGdhaW4gZnJvbSB0aGUgY29tbXVuaXR5IGJlbmVmaXRzIG9yIG90aGVyIHN1c3RhaW5hYmlsaXR5IGluaXRpYXRpdmVzLCBsaWtlIHdhdGVyIHNlbGYtc3VmZmljaWVuY3ksIHdpbGwgYmUgbXVjaCBsYXJnZXIuXFxuXFxuQmlnIEJsdWUgQnVzIGNvbXByaXNlcyBhIG1ham9yaXR5IG9mIHRoZSBDaXR5J3MgZW1pc3Npb25zIHByb2ZpbGUuIEhvd2V2ZXIsIGFzIG9mIDIwMTUsIHRoZSBmbGVldCBub3cgcnVucyBjb21wbGV0ZWx5IG9uIDEwMCUgcmVuZXdhYmxlIG5hdHVyYWwgZ2FzIHNvdXJjZWQgZnJvbSBsYW5kZmlsbHMuIFRoaXMgcmVkdWN0aW9uIHdpbGwgYmUgcmVmbGVjdGVkIGFzIHRoZSBDaXR5J3MgMjAxNSBncmVlbmhvdXNlIGdhcyBlbWlzc2lvbnMgaW52ZW50b3J5IGlzIHByZXBhcmVkLlxcblxcblxcblxcbioqSG93IGNhbiB3ZSBoZWxwPyoqXFxuXFxuKiBMb3dlciB5b3VyIGdyZWVuaG91c2UgZ2FzIGVtaXNzaW9ucyBieTpcXG4qIFRha2luZyB0cmFuc2l0LCBiaWtpbmcsIG9yIHdhbGtpbmcgaW5zdGVhZCBvZiBkcml2aW5nIHdoZW4gcG9zc2libGVcXG4qIEludmVzdGluZyBpbiBhbiBlbGVjdHJpYyB2ZWhpY2xlXFxuKiBJbnN0YWxsaW5nIHNvbGFyIGF0IGhvbWVcXG4qIEltcHJvdmluZyBlbmVyZ3kgZWZmaWNpZW5jeS4gTGVhcm4gYWJvdXQgZW5lcmd5IHNhdmluZ3MgYW5kIHJlYmF0ZSBwcm9ncmFtcyBbaGVyZV1bMF1cXG5cXG5bMF06IGh0dHA6Ly93d3cuc21nb3YubmV0L0RlcGFydG1lbnRzL09TRS9jYXRlZ29yaWVzL2VuZXJneS5hc3B4JTI1MjBcIn1dXX1dLFwidGl0bGVfaW1hZ2VcIjpcIi9hcGkvYXNzZXRzL0UwQUIzRjBGLTNENTMtNEZEMi05NTc3LTBFNjcwOTJGMTJERlwiLFwidXNlX2N1c3RvbV90aXRsZVwiOnRydWUsXCJjdXN0b21fdGl0bGVcIjpcIlJlZHVjZSBjYXJib24gZW1pc3Npb25zIGZyb20gbXVuaWNpcGFsIG9wZXJhdGlvbnMgYnkgMzAlIGZyb20gMTk5MCBsZXZlbHMgYnkgMjAyMFwiLFwidXNlX2N1c3RvbV9zdWJ0aXRsZVwiOnRydWUsXCJjdXN0b21fc3VidGl0bGVcIjpcIlRoaXMgaW5kaWNhdG9yIGlzIG1lYXN1cmVkIGJ5IHRyYWNraW5nIGNhcmJvbiBlbWlzc2lvbnMgZnJvbSBtdW5pY2lwYWwgb3BlcmF0aW9ucyBpbiBtZXRyaWMgdG9ucyBvZiBjYXJib24gZGlveGlkZS5cIn0ifSwicHJldmFpbGluZ19tZWFzdXJlIjp7InN0YXJ0IjoiMTk5MC0wMS0wMVQwMDowMDowMC4wMDAiLCJlbmQiOiIyMDIwLTEyLTMxVDIzOjU5OjU5LjAwMCIsInVuaXQiOiJtZXRyaWMgdG9ucyBvZiBjYXJib24gZGlveGlkZSIsInRhcmdldF90eXBlIjoicmVsYXRpdmUiLCJ0YXJnZXRfZGVsdGEiOjcwNjEsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwiYmFzZWxpbmUiOjIzNTM4LCJtZXRyaWMiOnsibWV0YWRhdGEiOiIiLCJpZCI6Im5oYmktbWs1MyJ9LCJjb21wYXJpc29uIjp7ImNvbXBhcmlzb25fZnVuY3Rpb24iOiI8In0sIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wiZWRpdFwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MTk5MH0sXCJlbmRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAyMH0sXCJhY3Rpb25fdHlwZVwiOlwicmVkdWNlXCIsXCJ0YXJnZXRfdHlwZVwiOlwicmVsYXRpdmVcIn0sXCJiYXNlbGluZVwiOntcInNxdWlzaHlcIjp7XCJzdGFydFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9LFwiZW5kXCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX19LFwic3RhcnRcIjpcIjIwMTUtMDEtMDFUMDA6MDA6MDAuMDAwXCIsXCJlbmRcIjpcIjIwMTUtMDEtMDFUMjM6NTk6NTkuMDAwXCIsXCJtZXRyaWNcIjp7XCJtZXRhZGF0YVwiOlwie1xcXCJ3aXphcmRcXFwiOntcXFwiZmlsdGVyX2FzdFxcXCI6W3tcXFwidmFsdWVzXFxcIjpbe31dfV19fVwifX0sXCJuYW1lXCI6XCJjYXJib24gZW1pc3Npb25zIGZyb20gbXVuaWNpcGFsIG9wZXJhdGlvbnNcIn0ifSwidXBkYXRlZF9hdCI6IjIwMTYtMTEtMDRUMjI6MjQ6MjkuMDY4WiIsImNyZWF0ZWRfYXQiOiIyMDE1LTA3LTIwVDIyOjAyOjA3LjkxMloiLCJ2ZXJzaW9uIjoiMjAxNi0xMS0wNFQyMjoyNDoyOS4wNjhaIiwiaWQiOiJucGcyLWN3OGIifSwicmVsYXRlZF9tZWFzdXJlcyI6W10sImJhc2VfZGFzaGJvYXJkIjoibmF2aC1pZ2YyIiwidXBkYXRlZF9hdCI6IjIwMTYtMTEtMDRUMjI6MjQ6MzYuNzAyWiIsImNyZWF0ZWRfYXQiOiIyMDE1LTAxLTMwVDIzOjE4OjUxLjczMloiLCJ2ZXJzaW9uIjoiMjAxNi0xMS0wNFQyMjoyNDozNi43MDJaIiwiY3JlYXRlZF9ieSI6InMyNmctZTl4dCJ9LHsiaWQiOiJidmQyLWtudm4iLCJuYW1lIjoiUmVkdWNlIENvbW11bml0eSBFbWlzc2lvbnMiLCJpc19wdWJsaWMiOnRydWUsIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcIm5hcnJhdGl2ZVwiOlt7XCJ0eXBlXCI6XCJ0d29Db2xMYXlvdXRcIixcImNvbHVtbnNcIjpbW3tcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIiMgV2hhdCBpcyB0aGlzIGluZGljYXRvcj9cXG5cXG5HcmVlbmhvdXNlIGdhcyBlbWlzc2lvbnMgYXJlIGdlbmVyYXRlZCBmcm9tIHRoZSBjb21idXN0aW9uIG9mIGZvc3NpbCBmdWVscyB0aHJvdWdoIGVsZWN0cmljaXR5IGdlbmVyYXRpb24sIG5hdHVyYWwgZ2FzIHVzZSBpbiBidWlsZGluZ3MgYW5kIHZlaGljbGUgZnVlbHMsIGZyb20gdGhlIGRlY29tcG9zaXRpb24gb2Ygd2FzdGUgZnJvbSBhZ3JpY3VsdHVyZSBhbmQgbGFuZGZpbGxzLCBhbmQgZnJvbSBkZWZvcmVzdGF0aW9uLiBTYW50YSBNb25pY2EncyBlbWlzc2lvbiBzb3VyY2VzIGFyZSBmcm9tIGJ1aWxkaW5nIGVuZXJneSB1c2UsIGxhbmRmaWxsZWQgd2FzdGUgYW5kIHZlaGljbGUgZnVlbCB1c2UuIEl0IGlzIG1lYXN1cmVkIGhlcmUgaW4gdGVybXMgb2YgbWV0cmljIHRvbnMgb2YgY2FyYm9uIGRpb3hpZGUgZXF1aXZhbGVudHMgKE1UQ08yZSkuIFRoaXMgbWV0cmljIGNhcHR1cmVzIGNhcmJvbiBkaW94aWRlIChDTzIpLCBuaXRyb3VzIG94aWRlIChOTzIpIGFuZCBtZXRoYW5lIChDSDQpIGluIGEgc2luZ3VsYXIgbWV0cmljLiBUaGUgdGFyZ2V0IGlzIGEgMjAlIGRlY3JlYXNlIGluIGdyZWVuaG91c2UgZ2FzIGVtaXNzaW9ucyBiZWxvdyAxOTkwIGxldmVscyBiIDIwMjAuXFxuXFxuIFwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjIFdoeSBpcyBpdCBpbXBvcnRhbnQ/XFxuXFxuVGhlIGFjY3VtdWxhdGlvbiBvZiBncmVlbmhvdXNlIGdhc2VzIGNhdXNlcyBnbG9iYWwgd2FybWluZyBieSB0cmFwcGluZyBtb3JlIGhlYXQgaW4gdGhlIEVhcnRoJ3MgYXRtb3NwaGVyZS4gQXMgZ2xvYmFsIHdhcm1pbmcgaW5jcmVhc2VzLCBpdCBkaXNydXB0cyB0aGUgRWFydGgncyBoaXN0b3JpY2FsIGNsaW1hdGUgcGF0dGVybnMsIHdoaWNoIGlzIGNhdXNpbmcgbW9yZSBleHRyZW1lIHdlYXRoZXIgZXZlbnRzIGluIGluY3JlYXNlZCBmcmVxdWVuY3kuIFRoaXMgcGhlbm9tZW5hIGlzIGdlbmVyYWxseSBrbm93biBhcyBjbGltYXRlIGNoYW5nZS4gR2xvYmFsbHksIGNsaW1hdGUgY2hhbmdlIGlzIHJlc3BvbnNpYmxlIGZvciBpbmNyZWFzZWQgdGVtcGVyYXR1cmVzIGFuZCBoZWF0d2F2ZXMsIGluZnJlcXVlbnQgYW5kIGludGVuc2UgcHJlY2lwaXRhdGlvbiwgaW5jcmVhc2VkIG9jZWFuIHRlbXBlcmF0dXJlcyBhbmQgYWNpZGlmaWNhdGlvbiwgbW9yZSBmcmVxdWVudCBhbmQgaW50ZW5zZSB3aWxkZmlyZXMgYW5kIGRyb3VnaHQuIEFkZGl0aW9uYWxseSwgZ2xvYmFsIHdhcm1pbmcgaGFzIGluY3JlYXNlZCB0aGUgcmF0ZSBvZiBnbGFjaWFsIG1lbHRpbmcgaW4gdGhlIG5vcnRoZXJuIGhlbWlzcGhlcmUsIHdoaWNoIGlzIGNhdXNpbmcgc2VhIGxldmVsIHJpc2UuXFxuXFxuIFNvbWUgaW1wYWN0cyBvZiBjbGltYXRlIGNoYW5nZSBhcmUgdW5hdm9pZGFibGUuIEhvd2V2ZXIsIGJ5IGN1cmJpbmcgZ3JlZW5ob3VzZSBnYXMgZW1pc3Npb25zIGNvbW11bml0aWVzIGhhdmUgdGhlIG9wcG9ydHVuaXR5IHRvIGltcHJvdmUgcXVhbGl0eSBvZiBsaWZlLCBwcmVzZXJ2ZSBuYXR1cmFsIHJlc291cmNlcyBhbmQgZW5oYW5jZSBzdXN0YWluYWJpbGl0eS4gUmVkdWNpbmcgZW5lcmd5IHVzZSwgaW5jcmVhc2luZyByZW5ld2FibGUgZW5lcmd5LCBpbXByb3ZpbmcgbW9iaWxpdHkgYW5kIGFjdGl2ZSB0cmFuc3BvcnRhdGlvbiBhbmQgcmVkdWNpbmcgd2FzdGUgd2lsbCBlbmFibGUgdXMgdG8gc3VzdGFpbiBhbmQgaW1wcm92ZSBhIHF1YWxpdHkgb2YgbGlmZSB0aGF0IGlzIGluIGJhbGFuY2Ugd2l0aCBvdXIgbmF0dXJhbCBlbnZpcm9ubWVudC5cXG5cXG5cIn1dLFt7XCJ0eXBlXCI6XCJpbWFnZVwifSx7XCJ0eXBlXCI6XCJ0ZXh0XCIsXCJ0ZXh0XCI6XCIjIEhvdyBhcmUgd2UgZG9pbmc/XFxuXFxuU2luY2UgMTk5MCwgU2FudGEgTW9uaWNhJ3MgZW1pc3Npb25zIGhhdmUgZGVjcmVhc2VkIGJ5IDE0JSAoMjAxMSBkYXRhKS4gVGhpcyBkZWNyZWFzZSBpbiBlbWlzc2lvbnMgY2FuIGJlIGF0dHJpYnV0ZWQgdG8gYSB2YXJpZXR5IG9mIGZhY3RvcnMgaW5jbHVkaW5nIGluY3JlYXNlZCBlbmVyZ3kgZWZmaWNpZW5jeSBhbmQgcmVuZXdhYmxlIGdlbmVyYXRpb24sIHRoZSBlY29ub21pYyByZWNlc3Npb24gYW5kIGluY3JlYXNlZCByZWN5Y2xpbmcgcmF0ZXMuIFRoZSBtb3N0IGluZmx1ZW50aWFsIGZhY3RvciBpbiB0aGUgZGVjcmVhc2UgaGFzIGJlZW4gdGhlIENhbGlmb3JuaWEgUmVuZXdhYmxlIFBvcnRmb2xpbyBTdGFuZGFyZC5cXG5cXG4qKkhvdyBjYW4gd2UgaGVscD8qKlxcblxcbiogTG93ZXIgeW91ciBncmVlbmhvdXNlIGdhcyBlbWlzc2lvbnMgYnk6XFxuKiBUYWtpbmcgdHJhbnNpdCwgYmlraW5nLCBvciB3YWxraW5nIGluc3RlYWQgb2YgZHJpdmluZyB3aGVuIHBvc3NpYmxlXFxuKiBJbnZlc3RpbmcgaW4gYW4gZWxlY3RyaWMgdmVoaWNsZVxcbiogSW5zdGFsbGluZyBzb2xhciBhdCB5b3VyIGhvbWUgb3IgYnVzaW5lc3NcXG4qIEltcHJvdmluZyBlbmVyZ3kgZWZmaWNpZW5jeS4gTGVhcm4gYWJvdXQgZW5lcmd5IHNhdmluZ3MgYW5kIHJlYmF0ZSBwcm9ncmFtcyBbaGVyZV1bMF1cXG5cXG5bMF06IGh0dHA6Ly93d3cuc21nb3YubmV0L0RlcGFydG1lbnRzL09TRS9jYXRlZ29yaWVzL2VuZXJneS5hc3B4XCJ9XV19XSxcInRpdGxlX2ltYWdlXCI6XCIvYXBpL2Fzc2V0cy8wMDNFNkQ3NC0xRUIzLTQwQUItQUI2Qy03NUI1RjI1MkJBMURcIixcInVzZV9jdXN0b21fdGl0bGVcIjp0cnVlLFwiY3VzdG9tX3RpdGxlXCI6XCJSZWR1Y2UgY29tbXVuaXR5IGdyZWVuaG91c2UgZ2FzIGVtaXNzaW9ucyBieSAyMCUgZnJvbSAxOTkwIGxldmVscyBieSAyMDE1XCIsXCJ1c2VfY3VzdG9tX3N1YnRpdGxlXCI6dHJ1ZSxcImN1c3RvbV9zdWJ0aXRsZVwiOlwiVGhpcyBpbmRpY2F0b3IgaXMgbWVhc3VyZWQgYnkgdHJhY2tpbmcgY29tbXVuaXR5IGdyZWVuaG91c2UgZ2FzIGVtaXNzaW9ucyBpbiBtZXRyaWMgdG9ucyBvZiBDTzJlLlwifSJ9LCJwcmV2YWlsaW5nX21lYXN1cmUiOnsic3RhcnQiOiIxOTkwLTAxLTAxVDAwOjAwOjAwLjAwMCIsImVuZCI6IjIwMjAtMTItMzFUMjM6NTk6NTkuMDAwIiwidW5pdCI6Im1ldHJpYyB0b25zIG9mIENPMmUiLCJ0YXJnZXRfdHlwZSI6InJlbGF0aXZlIiwidGFyZ2V0X2RlbHRhIjoyNzczMjgsInRhcmdldF9kZWx0YV9pc19wZXJjZW50IjpmYWxzZSwiYmFzZWxpbmUiOjEzODY2NDAsIm1ldHJpYyI6eyJtZXRhZGF0YSI6IiIsImlkIjoiaGdlZi0zZWhyIn0sImNvbXBhcmlzb24iOnsiY29tcGFyaXNvbl9mdW5jdGlvbiI6IjwifSwibWV0YWRhdGEiOnsibWV0YWRhdGEiOiJ7XCJlZGl0XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoxOTkwfSxcImVuZFwiOntcImRhdGVcIjpcImVuZFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDIwfSxcImFjdGlvbl90eXBlXCI6XCJyZWR1Y2VcIixcInRhcmdldF90eXBlXCI6XCJyZWxhdGl2ZVwifSxcImJhc2VsaW5lXCI6e1wic3F1aXNoeVwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxNX0sXCJlbmRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE1fX0sXCJzdGFydFwiOlwiMjAxNS0wMS0wMVQwMDowMDowMC4wMDBcIixcImVuZFwiOlwiMjAxNS0wMS0wMVQyMzo1OTo1OS4wMDBcIixcIm1ldHJpY1wiOntcIm1ldGFkYXRhXCI6XCJ7XFxcIndpemFyZFxcXCI6e1xcXCJmaWx0ZXJfYXN0XFxcIjpbe1xcXCJ2YWx1ZXNcXFwiOlt7fV19XX19XCJ9fSxcIm5hbWVcIjpcImNvbW11bml0eSBncmVlbmhvdXNlIGdhcyBlbWlzc2lvbnNcIn0ifSwidXBkYXRlZF9hdCI6IjIwMTYtMTEtMDRUMjI6MjY6NDUuNTgxWiIsImNyZWF0ZWRfYXQiOiIyMDE1LTA3LTIwVDIyOjAyOjE4LjQwMFoiLCJ2ZXJzaW9uIjoiMjAxNi0xMS0wNFQyMjoyNjo0NS41ODFaIiwiaWQiOiJwcmF5LW1lOHcifSwicmVsYXRlZF9tZWFzdXJlcyI6W10sImJhc2VfZGFzaGJvYXJkIjoibmF2aC1pZ2YyIiwidXBkYXRlZF9hdCI6IjIwMTgtMDQtMThUMjM6MTM6NTcuODg3WiIsImNyZWF0ZWRfYXQiOiIyMDE0LTEyLTA1VDE5OjE4OjM2Ljk1OFoiLCJ2ZXJzaW9uIjoiMjAxOC0wNC0xOFQyMzoxMzo1Ny44ODdaIiwiY3JlYXRlZF9ieSI6InMyNmctZTl4dCJ9XSwidmVyc2lvbiI6IjIwMTUtMDEtMzBUMjM6MTg6NTEuODQzWiJ9LHsiaWQiOiJyazJ3LWJoa2MiLCJuYW1lIjoiRWNvbG9naWNhbCBGb290cHJpbnQiLCJnb2FscyI6W10sInZlcnNpb24iOiIyMDE1LTAxLTMwVDIzOjE4OjE1LjM5N1oifSx7ImlkIjoiZm5nZi11cTZ2IiwibmFtZSI6IkdyZWVuIENvbnN0cnVjdGlvbiIsImdvYWxzIjpbeyJpZCI6InYyaWktNG1tcyIsIm5hbWUiOiJJbmNyZWFzZSBDaXR5d2lkZSBHcmVlbiBCdWlsZGluZ3MiLCJpc19wdWJsaWMiOnRydWUsIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wicmV0aXJlbWVudF9uYXJyYXRpdmVcIjpbXSxcIm5hcnJhdGl2ZVwiOlt7XCJ0eXBlXCI6XCJ0d29Db2xMYXlvdXRcIixcImNvbHVtbnNcIjpbW3tcInR5cGVcIjpcInRleHRcIixcInRleHRcIjpcIioqV2hhdCBpcyB0aGlzIGluZGljYXRvcj8qKlxcblxcblRoZSBDaXR5IGlzIHdvcmtpbmcgdG8gaW5jcmVhc2UgdGhlIG51bWJlciBvZiB0aGUgVS5TLiBHcmVlbiBCdWlsZGluZyBDb3VuY2lsJ3MgXFxcIkxlYWRlcnNoaXAgaW4gRW5lcmd5IGFuZCBFbnZpcm9ubWVudGFsIERlc2lnblxcXCIgKExFRUQpIGNlcnRpZmllZCBidWlsZGluZ3MgaW4gU2FudGEgTW9uaWNhLiBMRUVEIGNlcnRpZmllZCBidWlsZGluZyByYXRpbmdzIHJhbmdlIGZyb20gUGxhdGludW0sIHRoZSBoaWdoZXN0IGxldmVsIG9mIGFjaGlldmVtZW50LCB0byBHb2xkLCBTaWx2ZXIsIEJyb256ZSwgYW5kIGZpbmFsbHkgQ2VydGlmaWVkLCB0aGUgbW9zdCBiYXNpYyBsZXZlbC4gTEVFRCBmb3IgTmV3IENvbnN0cnVjdGlvbiBhZGRyZXNzZXMgZGVzaWduIGFuZCBjb25zdHJ1Y3Rpb24gYWN0aXZpdGllcyBmb3IgYm90aCBuZXcgYnVpbGRpbmdzIGFuZCBtYWpvciByZW5vdmF0aW9ucyBvZiBleGlzdGluZyBjb21tZXJjaWFsIGJ1aWxkaW5ncyAoVVNHQkMpLlxcblxcbiBcXG5cXG5UaGlzIGluZGljYXRvciBpcyBtZWFzdXJlZCBieSB0aGUgcGVyY2VudCBvZiBuZXcgbXVuaWNpcGFsIGJ1aWxkaW5ncyB0aGF0IGFjaGlldmUgTEVFRCBmb3IgTmV3IENvbnN0cnVjdGlvbiAoTEVFRCBOQykgYXQgYSBsZXZlbCBvZiBHb2xkIG9yIGhpZ2hlci5cXG5cXG4qKldoeSBpcyBpdCBpbXBvcnRhbnQ/KipcXG5cXG5MRUVEIGNlcnRpZmllZCBidWlsZGluZ3MgYXJlIGEgdGVzdGFtZW50IHRvIGxlYWRlcnNoaXAgaW4gc3VzdGFpbmFibGUgZGVzaWduLiBHcmVlbiBjb25zdHJ1Y3Rpb24gcHJhY3RpY2VzIGNhbiBzaWduaWZpY2FudGx5IHJlZHVjZSB0aGUgYW1vdW50IG9mIHdhc3RlIHRoYXQgZW50ZXJzIGxhbmRmaWxscywgZW5jb3VyYWdlIHJlbmV3YWJsZSBlbmVyZ3kgdXNlIGFuZCBjb25zdW1wdGlvbiwgYW5kIGVuYWJsZSB3YXRlciByZWR1Y3Rpb24gdGVjaG5vbG9naWVzLCBhbW9uZyBvdGhlciBiZW5lZml0cy4gSW4gYWRkaXRpb24sIExFRUQgYnVpbGRpbmdzIGVtcGhhc2l6ZSBoZWFsdGh5IHByYWN0aWNlcyBzdWNoIGFzIGxvdy1WT0MgbWF0ZXJpYWxzLCB3aGljaCBlbmhhbmNlIGluZG9vciBhaXIgcXVhbGl0eSBmb3Igb2NjdXBhbnRzLiBBY2hpZXZpbmcgTEVFRCBHb2xkIGNlcnRpZmljYXRpb24gZm9yIDEwMCUgb2YgbmV3IG11bmljaXBhbCBidWlsZGluZ3MgKE5ldyBDb25zdHJ1Y3Rpb24pLCBPcGVyYXRpb25zICYgTWFpbnRlbmFuY2UgKE8mTSksYW5kIGluY3JlYXNpbmcgdGhlIHBlcmNlbnRhZ2Ugb2YgcmVzaWRlbnRpYWwgYW5kIG5vbi1yZXNpZGVudGlhbCBidWlsZGluZ3MgdGhhdCBhY2hpZXZlIGdyZWVuIGNvbnN0cnVjdGlvbiBjZXJ0aWZpY2F0aW9ucyB3aWxsIGJyaW5nIHN1YnN0YW50aWFsIGVudmlyb25tZW50YWwgYW5kIGVjb25vbWljIGJlbmVmaXRzIHRvIHRoZSBDaXR5IG9mIFNhbnRhIE1vbmljYSBhbmQgaXRzIHJlc2lkZW50cy5cXG5cXG5cIn1dLFt7XCJ0eXBlXCI6XCJpbWFnZVwiLFwic3JjXCI6XCIvYXBpL2Fzc2V0cy81RDlDODVDMy1FREZDLTQ4RDAtQTk5MS1FRDg2Q0UzNjlGRkZcIn0se1widHlwZVwiOlwidGV4dFwiLFwidGV4dFwiOlwiKipIb3cgYXJlIHdlIGRvaW5nPyoqXFxuXFxuQXMgcGFydCBvZiBTYW50YSBNb25pY2EncyBncm93aW5nIGNvbW1pdG1lbnQgdG8gZ3JlZW4gYnVpbGRpbmcsIHRoZSBDaXR5IGhhcyBlc3RhYmxpc2hlZCBwZXJmb3JtYW5jZSBzdGFuZGFyZHMgdGhhdCBuZXcgY29uc3RydWN0aW9uIHByb2plY3RzIG11c3QgbWVldC4gU2luY2UgMjAxMCwgdHdvIG91dCBvZiB0aHJlZSBuZXcgbXVuaWNpcGFsIGJ1aWxkaW5ncyBoYXZlIGFjaGlldmVkIExFRUQgR29sZCBjZXJ0aWZpY2F0aW9uIChUaGUgUGljbyBCcmFuY2ggTGlicmFyeSBhbmQgUGFya2luZyBTdHJ1Y3R1cmUgNiksIGNvbXByaXNpbmcgMjIsOTI5IHNxdWFyZSBmZWV0LiBBbiBhZGRpdGlvbmFsIG11bmljaXBhbCBwcm9qZWN0ICh0aGUgQmlnIEJsdWUgQnVzIEZ1ZWwgYW5kIFdhc2ggRmFjaWxpdHkpIGFjaGlldmVkIExFRUQgU2lsdmVyIGNlcnRpZmljYXRpb24gZm9yIGEgY29tbWVyY2lhbCBpbnRlcmlvciBwcm9qZWN0LCBjb21wcmlzaW5nIDE3LDU1NiBzcXVhcmUgZmVldC4gVGhlIFBpY28gQnJhbmNoIExpYnJhcnkgaXMgdGhlIG9ubHkgbXVuaWNpcGFsIGJ1aWxkaW5nIHRvIGdvIGJleW9uZCB0aGUgR29sZCBsZXZlbCBhbmQgYWNoaWV2ZSBMRUVEIFBsYXRpbnVtIGNlcnRpZmljYXRpb24uIEluIHRoaXMgdGltZSBmcmFtZSwgNzMsNTAxIHNxdWFyZSBmZWV0IG9mIHRvdGFsIExFRUQgY2VydGlmaWFibGUgbXVuaWNpcGFsIGNvbnN0cnVjdGlvbiB3YXMgYnVpbHQuXFxuXFxuQXMgcGFydCBvZiB0aGUgQ2l0eeKAmXMgY29tbWl0bWVudCB0byBsZWFkZXJzaGlwIGluIGdyZWVuIGJ1aWxkaW5nLCB0aGUgQ2l0eSBpcyBzZWVraW5nIFtMaXZpbmcgQnVpbGRpbmcgQ2hhbGxlbmdlXVswXSBjZXJ0aWZpY2F0aW9uIGZvciB0aGUgbmV3IENpdHkgU2VydmljZXMgQnVpbGRpbmcsIHNjaGVkdWxlZCB0byBvcGVuIGluIDIwMTcuIFRoZSBMaXZpbmcgQnVpbGRpbmcgQ2hhbGxlbmdlIGlzIHRoZSBtb3N0IHJpZ29yb3VzIGdyZWVuIGJ1aWxkaW5nIHN0YW5kYXJkIGF2YWlsYWJsZSwgcmVxdWlyaW5nIG5ldCB6ZXJvIGVuZXJneSBhbmQgd2F0ZXIgcGVyZm9ybWFuY2UsIGFtb25nIG90aGVyIGFtYml0aW91cyByZXF1aXJlbWVudHMuXFxuXFxuKipIb3cgY2FuIHdlIGhlbHA/KipcXG5cXG4qIExlYXJuIG1vcmUgYWJvdXQgdGhlIFBpY28gQnJhbmNoIExpYnJhcnnigJlzIHN1c3RhaW5hYmxlIGZlYXR1cmUgW2hlcmVdWzFdIC5cXG4qIEZpbmQgYSBsaXN0IG9mIExFRUQgY2VydGlmaWVkIGJ1aWxkaW5nIGluIFNhbnRhIE1vbmljYSBbZ2JpZy5vcmcgLl1bMl1cXG4qIEZpbmQgb3V0IG1vcmUgYWJvdXQgdGhlIExpdmluZyBCdWlsZGluZyBDaGFsbGVuZ2UgY2VydGlmaWNhdGlvbiBbaGVyZV1bMF0gLlxcbiogSWYgeW91IGFyZSBhIGJ1aWxkaW5nIG93bmVyIG9yIGRldmVsb3BlciwgeW91IGNhbiBmaW5kIGluZm9ybWF0aW9uIG9uIGhvdyB0byBwdXJzdWUgTEVFRCBjZXJ0aWZpY2F0aW9uIHRocm91Z2ggVVNHQkMgW2hlcmVdWzNdIC5cXG4qIElmIHlvdSBhcmUgYSB0ZW5hbnQsIHRhbGsgdG8geW91ciBsYW5kbG9yZCBhYm91dCB0aGUgW2JlbmVmaXRzXVs0XSBvZiBhdHRhaW5pbmcgTEVFRCBjZXJ0aWZpY2F0aW9uLlxcbiogSWYgeW91IGFyZSBpbnRlcmVzdGVkIGluIGxlYXJuaW5nIG1vcmUgYWJvdXQgdGhlIExFRUQgY2VydGlmaWNhdGlvbiBwcm9jZXNzIGFuZC9vciBndWlkaW5nIG90aGVycyBpbiB0aGlzIHByb2Nlc3MsIGZpbmQgb3V0IGFib3V0IGJlY29taW5nIGEgTEVFRC1hY2NyZWRpdGVkIHByb2Zlc3Npb25hbCBbaGVyZV1bNV0gLlxcblxcblswXTogaHR0cDovL2xpdmluZy1mdXR1cmUub3JnL2xiY1xcblsxXTogaHR0cDovL3d3dy5zbWdvdi5uZXQvRGVwYXJ0bWVudHMvT1NFL0NhdGVnb3JpZXMvR3JlZW5fQnVpbGRpbmcvUGljb19CcmFuY2hfTGlicmFyeS5hc3B4XFxuWzJdOiBodHRwOi8vd3d3LmdiaWcub3JnL3BsYWNlcy8xNjg3XFxuWzNdOiBodHRwOi8vd3d3LnVzZ2JjLm9yZy9jZXJ0aWZpY2F0aW9uXFxuWzRdOiBodHRwOi8vd3d3LnVzZ2JjLm9yZy9sZWVkXFxuWzVdOiBodHRwOi8vd3d3LnVzZ2JjLm9yZy9jcmVkZW50aWFsc1wifV1dfV0sXCJ0aXRsZV9pbWFnZVwiOlwiL2FwaS9hc3NldHMvRDc0Mjc1MzktMDcyOC00NzQxLUIxRTMtQkRGRjg1Q0ZFNEZDXCJ9In0sInByZXZhaWxpbmdfbWVhc3VyZSI6eyJzdGFydCI6IjIwMTAtMDEtMDFUMDA6MDA6MDAuMDAwIiwiZW5kIjoiMjAyMC0xMi0zMVQyMzo1OTo1OS4wMDAiLCJ1bml0IjoicGVyY2VudCIsInRhcmdldCI6MTAwLCJ0YXJnZXRfdHlwZSI6ImFic29sdXRlIiwidGFyZ2V0X2RlbHRhX2lzX3BlcmNlbnQiOmZhbHNlLCJtZXRyaWMiOnsibWV0YWRhdGEiOiIiLCJpZCI6ImN4Y2gtcmc5NCJ9LCJjb21wYXJpc29uIjp7ImNvbXBhcmlzb25fZnVuY3Rpb24iOiI+In0sIm1ldGFkYXRhIjp7Im1ldGFkYXRhIjoie1wiZWRpdFwiOntcInN0YXJ0XCI6e1wiZGF0ZVwiOlwic3RhcnRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAxMH0sXCJlbmRcIjp7XCJkYXRlXCI6XCJlbmRcIixcIm1vbnRoXCI6XCJ5ZWFyXCIsXCJ5ZWFyXCI6MjAyMH19LFwiYmFzZWxpbmVcIjp7XCJzcXVpc2h5XCI6e1wic3RhcnRcIjp7XCJkYXRlXCI6XCJzdGFydFwiLFwibW9udGhcIjpcInllYXJcIixcInllYXJcIjoyMDE1fSxcImVuZFwiOntcImRhdGVcIjpcInN0YXJ0XCIsXCJtb250aFwiOlwieWVhclwiLFwieWVhclwiOjIwMTV9fSxcInN0YXJ0XCI6XCIyMDE1LTAxLTAxVDAwOjAwOjAwLjAwMFwiLFwiZW5kXCI6XCIyMDE1LTAxLTAxVDIzOjU5OjU5LjAwMFwiLFwibWV0cmljXCI6e1wibWV0YWRhdGFcIjpcIntcXFwid2l6YXJkXFxcIjp7XFxcImZpbHRlcl9hc3RcXFwiOlt7XFxcInZhbHVlc1xcXCI6W3t9XX1dfX1cIn19LFwibmFtZVwiOlwiTXVuaWNpcGFsIExFRUQgR29sZCBOZXcgQ29uc3RydWN0aW9uXCJ9In0sInVwZGF0ZWRfYXQiOiIyMDE2LTAyLTE4VDIyOjU4OjA3LjY1NloiLCJjcmVhdGVkX2F0IjoiMjAxNS0wNy0xNlQxNzoxMjo1Mi4xMTJaIiwidmVyc2lvbiI6IjIwMTYtMDItMThUMjI6NTg6MDcuNjU2WiIsImlkIjoiZXRjci1idjltIn0sInJlbGF0ZWRfbWVhc3VyZXMiOltdLCJiYXNlX2Rhc2hib2FyZCI6Im5hdmgtaWdmMiIsInVwZGF0ZWRfYXQiOiIyMDE2LTA0LTEzVDE2OjA5OjA0LjA3NVoiLCJjcmVhdGVkX2F0IjoiMjAxNS0wMS0zMFQyMzoxODoxNS4yNjJaIiwidmVyc2lvbiI6IjIwMTYtMDQtMTNUMTY6MDk6MDQuMDc1WiIsImNyZWF0ZWRfYnkiOiJudHU2LWt2c2IifV0sInZlcnNpb24iOiIyMDE2LTA1LTEwVDIwOjIyOjQxLjUwNloifV0sImlzX3B1YmxpYyI6dHJ1ZSwidmVyc2lvbiI6IjIwMTctMDEtMDVUMjM6NTU6MTMuODQ5WiJ9fQ==
eyJzdGF0dXMiOjQwNCwiZGF0YSI6eyJjb2RlIjoibm90X2ZvdW5kIiwiZXJyb3IiOnRydWUsIm1lc3NhZ2UiOiJVc2VyIG5vdCBmb3VuZCJ9fQ==
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTYtMDQtMTNUMTQ6NTk6NTAuMTgyWiIsImlkIjoicXM3cS1tNjlkIiwiY29sdW1uMSI6ImdlbmVyYXRlZCIsImRhdGFzZXQiOiIzNm03LTRtc3QiLCJtZXRhZGF0YSI6IntcIndpemFyZFwiOntcImZpbHRlcl9hc3RcIjpbe1widmFsdWVzXCI6W3t9XSxcImRhdGFzZXRcIjpcIjM2bTctNG1zdFwifV0sXCJ2YWx1ZVR5cGVcIjpcIm9uZVwiLFwicHJlZmlsdGVyVHlwZVwiOlwidW5maWx0ZXJlZFwifX0iLCJkYXRhc2V0X2RvbWFpbiI6ImRhdGEuc3VzdGFpbmFibGVzbS5vcmciLCJjcmVhdGVkX2F0IjoiMjAxNS0wNS0yMlQyMTo1MDo1MC4wMzJaIiwidXBkYXRlZF9hdCI6IjIwMTYtMDQtMTNUMTQ6NTk6NTAuMTgyWiJ9fQ==
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTYtMDQtMTNUMTU6MDI6NDguODk1WiIsImlkIjoicXh3cS1lYnhpIiwiY29sdW1uMSI6ImFjdHVhbF9zYl8xMDE2X3Blcl9yZXNpZGVudF9yYXRlIiwiZGF0YXNldCI6IjM2bTctNG1zdCIsIm1ldGFkYXRhIjoie1wid2l6YXJkXCI6e1wiZmlsdGVyX2FzdFwiOlt7XCJ2YWx1ZXNcIjpbe31dLFwiZGF0YXNldFwiOlwiMzZtNy00bXN0XCJ9XSxcInZhbHVlVHlwZVwiOlwib25lXCJ9fSIsImRhdGFzZXRfZG9tYWluIjoiZGF0YS5zdXN0YWluYWJsZXNtLm9yZyIsImNyZWF0ZWRfYXQiOiIyMDE1LTAxLTA2VDE4OjI3OjAwLjIwNFoiLCJ1cGRhdGVkX2F0IjoiMjAxNi0wNC0xM1QxNTowMjo0OC44OTVaIn19
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTYtMDQtMTNUMTU6MDM6MzkuMDcxWiIsImlkIjoic3M2dC1uZWNhIiwiY29sdW1uMSI6ImFjdHVhbF9kaXZlcnRlZF9wY3QiLCJkYXRhc2V0IjoiMzZtNy00bXN0IiwibWV0YWRhdGEiOiJ7XCJ3aXphcmRcIjp7XCJmaWx0ZXJfYXN0XCI6W3tcInZhbHVlc1wiOlt7fV0sXCJkYXRhc2V0XCI6XCIzNm03LTRtc3RcIn1dLFwidmFsdWVUeXBlXCI6XCJvbmVcIn19IiwiZGF0YXNldF9kb21haW4iOiJkYXRhLnN1c3RhaW5hYmxlc20ub3JnIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDUtMjdUMDA6MDE6MTQuMjM4WiIsInVwZGF0ZWRfYXQiOiIyMDE2LTA0LTEzVDE1OjAzOjM5LjA3MVoifX0=
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTUtMDUtMjdUMjA6MTE6NTYuNzg0WiIsImlkIjoiNWl3cS1pNnphIiwiY29sdW1uMSI6ImRlbWFuZF9tZ2QiLCJkYXRhc2V0IjoiaGlmdS0yenNyIiwibWV0YWRhdGEiOiJ7XCJ3aXphcmRcIjp7XCJmaWx0ZXJfYXN0XCI6W3tcInZhbHVlc1wiOlt7fV0sXCJkYXRhc2V0XCI6XCJoaWZ1LTJ6c3JcIn1dLFwidmFsdWVUeXBlXCI6XCJvbmVcIn19IiwiZGF0YXNldF9kb21haW4iOiJzYW50YW1vbmljYS1zdGF0LmRlbW8uc29jcmF0YS5jb20iLCJjcmVhdGVkX2F0IjoiMjAxNS0wNS0yN1QyMDoxMTo1Ni43ODRaIn19
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTUtMDUtMjdUMjE6Mzk6NDkuMzYyWiIsImlkIjoicHQ4OS1wbmJjIiwiY29sdW1uMSI6ImRlbV9wZXJfY2FwX2dwZCIsImRhdGFzZXQiOiJoaWZ1LTJ6c3IiLCJtZXRhZGF0YSI6IntcIndpemFyZFwiOntcImZpbHRlcl9hc3RcIjpbe1widmFsdWVzXCI6W3t9XSxcImRhdGFzZXRcIjpcImhpZnUtMnpzclwifV0sXCJ2YWx1ZVR5cGVcIjpcIm9uZVwifX0iLCJkYXRhc2V0X2RvbWFpbiI6InNhbnRhbW9uaWNhLXN0YXQuZGVtby5zb2NyYXRhLmNvbSIsImNyZWF0ZWRfYXQiOiIyMDE1LTA1LTI3VDIxOjM5OjQ5LjM2MloifX0=
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTUtMDUtMjdUMjE6MzI6MzYuNTQ5WiIsImlkIjoiaHloNC15NXNtIiwiY29sdW1uMSI6InBjdF9sb2NhbCIsImRhdGFzZXQiOiJoaWZ1LTJ6c3IiLCJtZXRhZGF0YSI6IntcIndpemFyZFwiOntcImZpbHRlcl9hc3RcIjpbe1widmFsdWVzXCI6W3t9XSxcImRhdGFzZXRcIjpcImhpZnUtMnpzclwifV0sXCJ2YWx1ZVR5cGVcIjpcIm9uZVwifX0iLCJkYXRhc2V0X2RvbWFpbiI6InNhbnRhbW9uaWNhLXN0YXQuZGVtby5zb2NyYXRhLmNvbSIsImNyZWF0ZWRfYXQiOiIyMDE1LTA1LTI3VDIxOjMyOjM2LjU0OVoifX0=
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTYtMDQtMTlUMTY6NTk6MTEuNjg5WiIsImlkIjoiYTk4ci1yZ3lkIiwiY29sdW1uMSI6Im5vbl9wb3RhYmxlX21neSIsImRhdGFzZXQiOiJoaWZ1LTJ6c3IiLCJtZXRhZGF0YSI6IntcIndpemFyZFwiOntcImZpbHRlcl9hc3RcIjpbe1widmFsdWVzXCI6W3t9XSxcImRhdGFzZXRcIjpcImhpZnUtMnpzclwifV0sXCJ2YWx1ZVR5cGVcIjpcIm9uZVwifX0iLCJkYXRhc2V0X2RvbWFpbiI6ImRhdGEuc3VzdGFpbmFibGVzbS5vcmciLCJjcmVhdGVkX2F0IjoiMjAxNS0wNS0yN1QyMTo0Mjo1OS4zODdaIiwidXBkYXRlZF9hdCI6IjIwMTYtMDQtMTlUMTY6NTk6MTEuNjg5WiJ9fQ==
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTYtMDQtMTNUMTU6NTQ6MzQuMTI4WiIsImlkIjoiYTlrNi1zN2NyIiwiY29sdW1uMSI6ImVsZWN0cmljaXR5X3RvdGFsX2t3aCIsImRhdGFzZXQiOiI2YWl4LXZ1aWciLCJtZXRhZGF0YSI6IntcIndpemFyZFwiOntcImZpbHRlcl9hc3RcIjpbe1widmFsdWVzXCI6W3t9XSxcImRhdGFzZXRcIjpcIjZhaXgtdnVpZ1wifV0sXCJ2YWx1ZVR5cGVcIjpcIm9uZVwifX0iLCJkYXRhc2V0X2RvbWFpbiI6ImRhdGEuc3VzdGFpbmFibGVzbS5vcmciLCJjcmVhdGVkX2F0IjoiMjAxNC0xMi0xN1QxOTo1MDo0OC45NDRaIiwidXBkYXRlZF9hdCI6IjIwMTYtMDQtMTNUMTU6NTQ6MzQuMTI4WiJ9fQ==
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTYtMDQtMTNUMTU6NTY6MDEuODI1WiIsImlkIjoianJkOS11YmI3IiwiY29sdW1uMSI6InRvdGFsX2VsZWN0cmljaXR5X3NjZV9sYWR3cCIsImRhdGFzZXQiOiJqZzZwLXBzbnciLCJtZXRhZGF0YSI6IntcIndpemFyZFwiOntcImZpbHRlcl9hc3RcIjpbe1widmFsdWVzXCI6W3t9XSxcImRhdGFzZXRcIjpcImpnNnAtcHNud1wifV0sXCJ2YWx1ZVR5cGVcIjpcIm9uZVwifX0iLCJkYXRhc2V0X2RvbWFpbiI6ImRhdGEuc3VzdGFpbmFibGVzbS5vcmciLCJjcmVhdGVkX2F0IjoiMjAxNS0wNy0xNFQyMzo1OTozMS41MjZaIiwidXBkYXRlZF9hdCI6IjIwMTYtMDQtMTNUMTU6NTY6MDEuODI1WiJ9fQ==
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImNvbHVtbl9mdW5jdGlvbiI6IisiLCJhZ2dyZWdhdGlvbl9mdW5jdGlvbiI6Im1vc3RfcmVjZW50In0sImRhdGVfY29sdW1uIjoieWVhciIsInZlcnNpb24iOiIyMDE1LTEyLTE2VDE2OjIyOjQxLjc3N1oiLCJpZCI6ImRtc2ctYnNpZyIsImNvbHVtbjEiOiJvZl90b3RhbF9lbGVjdHJpY2l0eV9jb25zdW1wdGlvbiIsImNvbHVtbjIiOiJzY2VfcmVuZXdhYmxlX3BvcnRmb2xpb19zdGFuZGFyZCIsImRhdGFzZXQiOiI2YWl4LXZ1aWciLCJtZXRhZGF0YSI6IntcIndpemFyZFwiOntcImZpbHRlcl9hc3RcIjpbe1widmFsdWVzXCI6W3t9XSxcImRhdGFzZXRcIjpcIjZhaXgtdnVpZ1wifV0sXCJ2YWx1ZVR5cGVcIjpcInR3b1wifX0iLCJkYXRhc2V0X2RvbWFpbiI6ImRhdGEuc3VzdGFpbmFibGVzbS5vcmciLCJjcmVhdGVkX2F0IjoiMjAxNS0wNy0xM1QyMDo1NDoyNC45MjFaIiwidXBkYXRlZF9hdCI6IjIwMTUtMTItMTZUMTY6MjI6NDEuNzc3WiJ9fQ==
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTYtMDQtMTNUMTY6MDI6MjUuODA0WiIsImlkIjoidHc2bi10OGdyIiwiY29sdW1uMSI6ImN1bXVsYXRpdmVfc29sYXJfY2FwYWNpdHlfa3ciLCJkYXRhc2V0IjoiNmFpeC12dWlnIiwibWV0YWRhdGEiOiJ7XCJ3aXphcmRcIjp7XCJmaWx0ZXJfYXN0XCI6W3tcInZhbHVlc1wiOlt7fV0sXCJkYXRhc2V0XCI6XCI2YWl4LXZ1aWdcIn1dLFwidmFsdWVUeXBlXCI6XCJvbmVcIn19IiwiZGF0YXNldF9kb21haW4iOiJkYXRhLnN1c3RhaW5hYmxlc20ub3JnIiwiY3JlYXRlZF9hdCI6IjIwMTUtMDUtMjJUMjM6MzY6MzguMTA0WiIsInVwZGF0ZWRfYXQiOiIyMDE2LTA0LTEzVDE2OjAyOjI1LjgwNFoifX0=
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTUtMDctMTVUMjI6MjE6NDEuNjk3WiIsImlkIjoidDh6aC1yN2hlIiwiY29sdW1uMSI6ImNpdHlfb3duZWRfc29sYXJfa3ciLCJkYXRhc2V0Ijoiamc2cC1wc253IiwibWV0YWRhdGEiOiJ7XCJ3aXphcmRcIjp7XCJmaWx0ZXJfYXN0XCI6W3tcInZhbHVlc1wiOlt7fV0sXCJkYXRhc2V0XCI6XCJqZzZwLXBzbndcIn1dLFwidmFsdWVUeXBlXCI6XCJvbmVcIn19IiwiZGF0YXNldF9kb21haW4iOiJzYW50YW1vbmljYS1zdGF0LmRlbW8uc29jcmF0YS5jb20iLCJjcmVhdGVkX2F0IjoiMjAxNS0wNy0xNVQyMjoyMTo0MS42OTdaIn19
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTYtMTEtMDRUMjI6MjQ6MzYuNjg4WiIsImlkIjoibmhiaS1tazUzIiwiY29sdW1uMSI6Imdvdl9vcF9sZXNzX2dwX3RvdGFsIiwiZGF0YXNldCI6InNrNWYtcG5wNSIsIm1ldGFkYXRhIjoie1wid2l6YXJkXCI6e1wiZmlsdGVyX2FzdFwiOlt7XCJ2YWx1ZXNcIjpbe31dLFwiZGF0YXNldFwiOlwic2s1Zi1wbnA1XCJ9XSxcInZhbHVlVHlwZVwiOlwib25lXCJ9fSIsImRhdGFzZXRfZG9tYWluIjoiZGF0YS5zdXN0YWluYWJsZXNtLm9yZyIsImNyZWF0ZWRfYXQiOiIyMDE1LTEyLTE3VDE2OjM1OjIyLjIxOFoiLCJ1cGRhdGVkX2F0IjoiMjAxNi0xMS0wNFQyMjoyNDozNi42ODhaIn19
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTYtMTEtMDRUMjI6MjY6NTQuMDI4WiIsImlkIjoiaGdlZi0zZWhyIiwiY29sdW1uMSI6InRvdGFsX2NvbW11bml0eV9naGciLCJkYXRhc2V0Ijoic2s1Zi1wbnA1IiwibWV0YWRhdGEiOiJ7XCJ3aXphcmRcIjp7XCJmaWx0ZXJfYXN0XCI6W3tcInZhbHVlc1wiOlt7fV0sXCJkYXRhc2V0XCI6XCJzazVmLXBucDVcIn1dLFwidmFsdWVUeXBlXCI6XCJvbmVcIn19IiwiZGF0YXNldF9kb21haW4iOiJkYXRhLnN1c3RhaW5hYmxlc20ub3JnIiwiY3JlYXRlZF9hdCI6IjIwMTUtMTItMTdUMTY6MTk6MjQuOTUwWiIsInVwZGF0ZWRfYXQiOiIyMDE2LTExLTA0VDIyOjI2OjU0LjAyOFoifX0=
eyJzdGF0dXMiOjIwMCwiZGF0YSI6eyJjb21wdXRlIjp7ImFnZ3JlZ2F0aW9uX2Z1bmN0aW9uIjoibW9zdF9yZWNlbnQifSwiZGF0ZV9jb2x1bW4iOiJ5ZWFyIiwidmVyc2lvbiI6IjIwMTYtMDQtMTNUMTY6MDk6MDQuMDMwWiIsImlkIjoiY3hjaC1yZzk0IiwiY29sdW1uMSI6Im5ld19tdW5pY2lwYWxfYnVpbGRpbmdzX2xlZWRfZ29sZF9uY19vcl9oaWdoZXIiLCJkYXRhc2V0IjoicjR6YS1mdTl5IiwibWV0YWRhdGEiOiJ7XCJ3aXphcmRcIjp7XCJmaWx0ZXJfYXN0XCI6W3tcInZhbHVlc1wiOlt7fV0sXCJkYXRhc2V0XCI6XCJyNHphLWZ1OXlcIn1dLFwidmFsdWVUeXBlXCI6XCJvbmVcIn19IiwiZGF0YXNldF9kb21haW4iOiJkYXRhLnN1c3RhaW5hYmxlc20ub3JnIiwiY3JlYXRlZF9hdCI6IjIwMTUtMTItMjhUMTk6MTQ6NDAuMDg4WiIsInVwZGF0ZWRfYXQiOiIyMDE2LTA0LTEzVDE2OjA5OjA0LjAzMFoifX0=