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7gAAAFwAAACBAAAAKwAAAGUAAABRAAAAfAAAAIQAAAAAAAAAFAAAAPwAAAAAAAAA9AAAAFIAAADlAAAAzAAAAAAAAAAIAAAAAAAAAJAAAAAACgolczogJXMKAAoKTW92ZSBhcm91bmQgd2l0aCBeUCBhbmQgXk4sIGN1cnNvciBrZXlzLCBpbml0aWFsIGxldHRlcnMsIG9yIGRpZ2l0czsKUHJlc3MgPGVudGVyPiB0byBjb25maXJtIHNlbGVjdGlvbi4gICBeTCByZWRyYXdzIHNjcmVlbi4KCgAKClJlYWQtb25seSBhY2Nlc3M6IG9ubHkgcHJldmlldyBvZiBzZWxlY3Rpb25zIGlzIGF2YWlsYWJsZSEAClByZXNzIDxlbnRlcj4gdG8gY29udGludWUuACAAICAtLSAlZCUlLCBwcmVzcyAAIChhbHBoYWJldGljYWxseSkAIChhdmFpbC4sIHByaW9yaXR5KQAgKGF2YWlsLiwgc2VjdGlvbikAIChieSBhdmFpbGFiaWxpdHkpACAoYnkgcHJpb3JpdHkpACAoYnkgc2VjdGlvbikAIChieSBzdGF0dXMpACAoc3RhdHVzLCBwcmlvcml0eSkAIChzdGF0dXMsIHNlY3Rpb24pACBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYXZhaWxhYmxlCgAgbWFyazorLz0vLSB0ZXJzZTp2IGhlbHA6PwAgbWFyazorLz0vLSB2ZXJib3NlOnYgaGVscDo/ACBvciAAIHRlcnNlOnYgaGVscDo/ACB2ZXJib3NlOnYgaGVscDo/ACFCdWchACUtKnMgJXMlcyVzOyAgJXMgKHdhczogJXMpLiAgJXMAJXMgJXMgcGFja2FnZXMAJXMgJXMgcGFja2FnZXMgaW4gc2VjdGlvbiAlcwAlcyAlcyBwYWNrYWdlcyB3aXRob3V0IGEgc2VjdGlvbgAlcyBmb3IgbW9yZQAlcyBwYWNrYWdlcyBpbiBzZWN0aW9uICVzACVzIHBhY2thZ2VzIHdpdGhvdXQgYSBzZWN0aW9uACVzIHRvIGdvIGJhY2sAKiBIaWdobGlnaHQ6IE9uZSBsaW5lIGluIHRoZSBwYWNrYWdlIGxpc3Qgd2lsbCBiZSBoaWdobGlnaHRlZC4gIEl0IGluZGljYXRlcwogIHdoaWNoIHBhY2thZ2Uocykgd2lsbCBiZSBhZmZlY3RlZCBieSBwcmVzc2VzIG9mIGArJywgYC0nIGFuZCBgXycuCgoqIFRoZSBkaXZpZGluZyBsaW5lIGluIHRoZSBtaWRkbGUgb2YgdGhlIHNjcmVlbiBzaG93cyBhIGJyaWVmIGV4cGxhbmF0aW9uIG9mCiAgdGhlIHN0YXR1cyBvZiB0aGUgY3VycmVudGx5LWhpZ2hsaWdodGVkIHBhY2thZ2UsIG9yIGEgZGVzY3JpcHRpb24gb2Ygd2hpY2gKICBncm91cCBpcyBoaWdobGlnaHRlZCBpZiBhIGdyb3VwIGxpbmUgaXMuICBJZiB5b3UgZG9uJ3QgdW5kZXJzdGFuZCB0aGUKICBtZWFuaW5nIG9mIHNvbWUgb2YgdGhlIHN0YXR1cyBjaGFyYWN0ZXJzIGRpc3BsYXllZCwgZ28gdG8gdGhlIHJlbGV2YW50CiAgcGFja2FnZSBhbmQgbG9vayBhdCB0aGlzIGRpdmlkZXIgbGluZSwgb3IgdXNlIHRoZSBgdicga2V5IGZvciBhIHZlcmJvc2UKICBkaXNwbGF5IChwcmVzcyBgdicgYWdhaW4gdG8gZ28gYmFjayB0byB0aGUgdGVyc2UgZGlzcGxheSkuCgoqIFRoZSBib3R0b20gb2YgdGhlIHNjcmVlbiBzaG93cyBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZQogIGN1cnJlbnRseS1oaWdobGlnaHRlZCBwYWNrYWdlIChpZiB0aGVyZSBpcyBvbmx5IG9uZSkuCgogIEl0IGNhbiBzaG93IGFuIGV4dGVuZGVkIGRlc2NyaXB0aW9uIG9mIHRoZSBwYWNrYWdlLCB0aGUgaW50ZXJuYWwgcGFja2FnZQogIGNvbnRyb2wgZGV0YWlscyAoZWl0aGVyIGZvciB0aGUgaW5zdGFsbGVkIG9yIGF2YWlsYWJsZSB2ZXJzaW9uIG9mIHRoZQogIHBhY2thZ2UpLCBvciBpbmZvcm1hdGlvbiBhYm91dCBjb25mbGljdHMgYW5kIGRlcGVuZGVuY2llcyBpbnZvbHZpbmcgdGhlCiAgY3VycmVudCBwYWNrYWdlIChpbiBjb25mbGljdC9kZXBlbmRlbmN5IHJlc29sdXRpb24gc3VibGlzdHMpLgoKICBVc2UgdGhlIGBpJyBrZXkgdG8gY3ljbGUgdGhyb3VnaCB0aGUgZGlzcGxheXMsIGFuZCBgSScgdG8gaGlkZSB0aGUKICBpbmZvcm1hdGlvbiBkaXNwbGF5IG9yIGV4cGFuZCBpdCB0byB1c2UgYWxtb3N0IGFsbCBvZiB0aGUgc2NyZWVuLgoAPwBBYmJyZXYuAEFib3J0IC0gcXVpdCB3aXRob3V0IG1ha2luZyBjaGFuZ2VzAEFjY2VzcyBtZXRob2QgYCVzJy4AQWN0aW9uczoKICBhY2Nlc3MgdXBkYXRlIHNlbGVjdCBpbnN0YWxsIGNvbmZpZyByZW1vdmUgcXVpdAoKAEFsbABBbGwgcGFja2FnZXMAQXR0cmlidXRlczoKAEF2YWlsLnZlcgBBdmFpbGFibGUAQXZhaWxhYmxlIHBhY2thZ2VzIChub3QgY3VycmVudGx5IGluc3RhbGxlZCkAQnJva2VuAEJyb2tlbmx5IGluc3RhbGxlZCBwYWNrYWdlcwBDaG9vc2UgdGhlIGFjY2VzcyBtZXRob2QgdG8gdXNlLgBDb2xvdXJzOgoAQ29uZmlndXJlIGFueSBwYWNrYWdlcyB0aGF0IGFyZSB1bmNvbmZpZ3VyZWQuAENvcHlyaWdodCAoQykgMTk5NC0xOTk2IElhbiBKYWNrc29uLgpDb3B5cmlnaHQgKEMpIDIwMDAsMjAwMSBXaWNoZXJ0IEFra2VybWFuLgoAQ3ljbGUgdGhyb3VnaCBpbmZvcm1hdGlvbiBkaXNwbGF5cwBEZWJpYW4gYCVzJyBwYWNrYWdlIGhhbmRsaW5nIGZyb250ZW5kIHZlcnNpb24gJXMuCgBEZXBlbmRlbmN5L2NvbmZsaWN0IHJlc29sdXRpb24gLSBpbnRyb2R1Y3Rpb24uCgpPbmUgb3IgbW9yZSBvZiB5b3VyIGNob2ljZXMgaGF2ZSByYWlzZWQgYSBjb25mbGljdCBvciBkZXBlbmRlbmN5IHByb2JsZW0gLQpzb21lIHBhY2thZ2VzIHNob3VsZCBvbmx5IGJlIGluc3RhbGxlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGNlcnRhaW4gb3RoZXJzLCBhbmQKc29tZSBjb21iaW5hdGlvbnMgb2YgcGFja2FnZXMgbWF5IG5vdCBiZSBpbnN0YWxsZWQgdG9nZXRoZXIuCgpZb3Ugd2lsbCBzZWUgYSBzdWItbGlzdCBjb250YWluaW5nIHRoZSBwYWNrYWdlcyBpbnZvbHZlZC4gIFRoZSBib3R0b20gaGFsZiBvZgp0aGUgZGlzcGxheSBzaG93cyByZWxldmFudCBjb25mbGljdHMgYW5kIGRlcGVuZGVuY2llczsgdXNlIGBpJyB0byBjeWNsZSBiZXR3ZWVuCnRoYXQsIHRoZSBwYWNrYWdlIGRlc2NyaXB0aW9ucyBhbmQgdGhlIGludGVybmFsIGNvbnRyb2wgaW5mb3JtYXRpb24uCgpBIHNldCBvZiBgc3VnZ2VzdGVkJyBwYWNrYWdlcyBoYXMgYmVlbiBjYWxjdWxhdGVkLCBhbmQgdGhlIGluaXRpYWwgbWFya2luZ3MgaW4KdGhpcyBzdWItbGlzdCBoYXZlIGJlZW4gc2V0IHRvIG1hdGNoIHRob3NlLCBzbyB5b3UgY2FuIGp1c3QgaGl0IFJldHVybiB0bwphY2NlcHQgdGhlIHN1Z2dlc3Rpb25zIGlmIHlvdSB3aXNoLiAgWW91IG1heSBhYm9ydCB0aGUgY2hhbmdlKHMpIHdoaWNoIGNhdXNlZAp0aGUgcHJvYmxlbShzKSwgYW5kIGdvIGJhY2sgdG8gdGhlIG1haW4gbGlzdCwgYnkgcHJlc3NpbmcgY2FwaXRhbCBgWCcuCgpZb3UgY2FuIGFsc28gbW92ZSBhcm91bmQgdGhlIGxpc3QgYW5kIGNoYW5nZSB0aGUgbWFya2luZ3Mgc28gdGhhdCB0aGV5IGFyZSBtb3JlCmxpa2Ugd2hhdCB5b3Ugd2FudCwgYW5kIHlvdSBjYW4gYHJlamVjdCcgbXkgc3VnZ2VzdGlvbnMgYnkgdXNpbmcgdGhlIGNhcGl0YWwKYEQnIG9yIGBSJyBrZXlzIChzZWUgdGhlIGtleWJpbmRpbmdzIGhlbHAgc2NyZWVuKS4gIFlvdSBjYW4gdXNlIGNhcGl0YWwgYFEnIHRvCmZvcmNlIG1lIHRvIGFjY2VwdCB0aGUgc2l0dWF0aW9uIGN1cnJlbnRseSBkaXNwbGF5ZWQsIGluIGNhc2UgeW91IHdhbnQgdG8Kb3ZlcnJpZGUgYSByZWNvbW1lbmRhdGlvbiBvciB0aGluayB0aGF0IHRoZSBwcm9ncmFtIGlzIG1pc3Rha2VuLgoKUHJlc3MgPHNwYWNlPiB0byBsZWF2ZSBoZWxwIGFuZCBlbnRlciB0aGUgc3ViLWxpc3Q7IHJlbWVtYmVyOiBwcmVzcyBgPycgZm9yIGhlbHAuCgBEZXNjcmlwdGlvbgBEaXNwbGF5LCBwYXJ0IDE6IHBhY2thZ2UgbGlzdGluZyBhbmQgc3RhdHVzIGNoYXJzAERpc3BsYXksIHBhcnQgMjogbGlzdCBoaWdobGlnaHQ7IGluZm9ybWF0aW9uIGRpc3BsYXkARUlPTQBFT0YgYmVmb3JlIG9wdGlvbiBuYW1lIHN0YXJ0AEVPRiBiZWZvcmUgc3VtbWFyeQBFT0YgaW4gaW5kZXggc3RyaW5nAEVPRiBpbiBvcHRpb24gbmFtZQBFT0YgaW4gc3VtbWFyeSAtIG1pc3NpbmcgbmV3bGluZQBFcnJvcgBFcnJvcjogAEV4dHJhAEdvIHRvIGVuZCBvZiBsaXN0AEdvIHRvIHRvcCBvZiBsaXN0AEhlbHAgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIHVuZGVyIHRoZSBmb2xsb3dpbmcgdG9waWNzOgBIZWxwOiAASW1wAEltcG9ydGFudABJbnN0LnZlcgBJbnN0YWxsIGFuZCB1cGdyYWRlIHdhbnRlZCBwYWNrYWdlcy4ASW5zdGFsbGVkAEluc3RhbGxlZCBwYWNrYWdlcwBJbnN0YWxsZWQ/AEludHJvZHVjdGlvbiB0byBjb25mbGljdC9kZXBlbmRlbmN5IHJlc29sdXRpb24gc3ViLWxpc3QASW50cm9kdWN0aW9uIHRvIG1ldGhvZCBzZWxlY3Rpb24gZGlzcGxheQBJbnRyb2R1Y3Rpb24gdG8gcGFja2FnZSBzZWxlY3Rpb25zAEludHJvZHVjdGlvbiB0byByZWFkLW9ubHkgcGFja2FnZSBsaXN0IGJyb3dzZXIASW52YWxpZCAlcyBgJXMnCgBLZXlzdHJva2VzAEtleXN0cm9rZXMgZm9yIG1ldGhvZCBzZWxlY3Rpb24ATWFrZSBoaWdobGlnaHQgbGVzcyBzcGVjaWZpYwBNYWtlIGhpZ2hsaWdodCBtb3JlIHNwZWNpZmljAE1hcmsgcGFja2FnZShzKSBmb3IgZGVpbnN0YWxsIGFuZCBwdXJnZQBNYXJrIHBhY2thZ2UocykgZm9yIGRlaW5zdGFsbGF0aW9uAE1hcmsgcGFja2FnZShzKSBmb3IgaW5zdGFsbGF0aW9uAE1hcmtlZCBmb3IATW92ZSBkb3duAE1vdmUgdXAATmV3AE5ld2x5IGF2YWlsYWJsZSBwYWNrYWdlcwBObyBleHBsYW5hdGlvbiBhdmFpbGFibGUuAE51bGwgY29sb3VyIHNwZWNpZmljYXRpb24KAE9ic29sZXRlIGFuZCBsb2NhbCBwYWNrYWdlcyBwcmVzZW50IG9uIHN5c3RlbQBPYnNvbGV0ZS9sb2NhbABPbGQgbWFyawBPcHQAT3B0aW9uYWwAT3B0aW9uczoKICAtLWFkbWluZGlyIDxkaXJlY3Rvcnk+ICAgICBVc2UgPGRpcmVjdG9yeT4gaW5zdGVhZCBvZiAlcy4KICAtLWV4cGVydCAgICAgICAgICAgICAgICAgICBUdXJuIG9uIGV4cGVydCBtb2RlLgogIC0tZGVidWcgPGZpbGU+IHwgLUQ8ZmlsZT4gIFR1cm4gb24gZGVidWdnaW5nLCBzZW5kaW5nIG91dHB1dCB0byA8ZmlsZT4uCiAgLS1jb2xvdXIgfCAtLWNvbG9yIHNjcmVlbnBhcnQ6W2ZvcmVncm91bmRdLFtiYWNrZ3JvdW5kXVs6YXR0clsrYXR0cisuLl1dCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29uZmlndXJlIHNjcmVlbiBjb2xvdXJzLgoKAFBhY2thZ2UAUHJlc3MgPGVudGVyPiB0byBjb250aW51ZS4KAFByZXNzID8gZm9yIGhlbHAgbWVudSwgLiBmb3IgbmV4dCB0b3BpYywgPHNwYWNlPiB0byBleGl0IGhlbHAuAFByZXNzIGEga2V5IGZyb20gdGhlIGxpc3QgYWJvdmUsIDxzcGFjZT4gb3IgYHEnIHRvIGV4aXQgaGVscCwKICBvciBgLicgKGZ1bGwgc3RvcCkgdG8gcmVhZCBlYWNoIGhlbHAgcGFnZSBpbiB0dXJuLiAAUHJpb3JpdHkAUHVyZ2VkAFB1cmdlZCBwYWNrYWdlcyBhbmQgdGhvc2UgbmV2ZXIgaW5zdGFsbGVkAFF1aXQgZHNlbGVjdC4AUXVpdCB3aXRob3V0IGNoYW5naW5nIHNlbGVjdGVkIGFjY2VzcyBtZXRob2QAUXVpdCwgY29uZmlybWluZyB3aXRob3V0IGNoZWNrAFF1aXQsIGNvbmZpcm1pbmcsIGFuZCBjaGVja2luZyBkZXBlbmRlbmNpZXMAUXVpdCwgcmVqZWN0aW5nIGNvbmZsaWN0L2RlcGVuZGVuY3kgc3VnZ2VzdGlvbnMAUkVJTlNUQUxMAFJlZHJhdyBkaXNwbGF5AFJlbW92ZSB1bndhbnRlZCBzb2Z0d2FyZS4AUmVtb3ZlZABSZW1vdmVkIGFuZCBubyBsb25nZXIgYXZhaWxhYmxlIHBhY2thZ2VzAFJlbW92ZWQgcGFja2FnZXMgKGNvbmZpZ3VyYXRpb24gc3RpbGwgcHJlc2VudCkAUmVwZWF0IGxhc3Qgc2VhcmNoLgBSZXEAUmVxdWVzdCBoZWxwIChjeWNsZSB0aHJvdWdoIGhlbHAgc2NyZWVucykAUmVxdWVzdCB3aGljaCBwYWNrYWdlcyB5b3Ugd2FudCBvbiB5b3VyIHN5c3RlbS4AUmVxdWlyZWQAUmV2ZXJ0IHRvIGRpcmVjdGx5IHJlcXVlc3RlZCBzdGF0ZSBmb3IgYWxsIHBhY2thZ2VzAFJldmVydCB0byBvbGQgc3RhdGUgZm9yIGFsbCBwYWNrYWdlcwBSZXZlcnQgdG8gc3VnZ2VzdGVkIHN0YXRlIGZvciBhbGwgcGFja2FnZXMAU2NyZWVucGFydHM6CgBTY3JvbGwgYmFja3dhcmRzIHRocm91Z2ggaGVscC9pbmZvcm1hdGlvbgBTY3JvbGwgYmFja3dhcmRzIHRocm91Z2ggaGVscC9pbmZvcm1hdGlvbiBieSAxIGxpbmUAU2Nyb2xsIGJhY2t3YXJkcyB0aHJvdWdoIGxpc3QAU2Nyb2xsIGJhY2t3YXJkcyB0aHJvdWdoIGxpc3QgYnkgMSBsaW5lAFNjcm9sbCBvbndhcmRzIHRocm91Z2ggaGVscC9pbmZvcm1hdGlvbgBTY3JvbGwgb253YXJkcyB0aHJvdWdoIGhlbHAvaW5mb3JtYXRpb24gYnkgMSBsaW5lAFNjcm9sbCBvbndhcmRzIHRocm91Z2ggbGlzdABTY3JvbGwgb253YXJkcyB0aHJvdWdoIGxpc3QgYnkgMSBsaW5lAFNlYXJjaCBmb3IgPyAAU2VhcmNoIGZvciBhIHBhY2thZ2Ugd2hvc2UgbmFtZSBjb250YWlucyBhIHN0cmluZwBTZWN0aW9uAFNlbGVjdCBjdXJyZW50bHktaGlnaGxpZ2h0ZWQgYWNjZXNzIG1ldGhvZABTZXQgeW91ciBURVJNIHZhcmlhYmxlIGNvcnJlY3RseSwgdXNlIGEgYmV0dGVyIHRlcm1pbmFsLApvciBtYWtlIGRvIHdpdGggdGhlIHBlci1wYWNrYWdlIG1hbmFnZW1lbnQgdG9vbCAlcy4KAFN0YW5kYXJkAFN0ZABTd2FwIHNvcnQgb3JkZXIgcHJpb3JpdHkvc2VjdGlvbgBUZXJtaW5hbCBkb2VzIG5vdCBhcHBlYXIgdG8gc3VwcG9ydCBjdXJzb3IgYWRkcmVzc2luZy4KAFRlcm1pbmFsIGRvZXMgbm90IGFwcGVhciB0byBzdXBwb3J0IGhpZ2hsaWdodGluZy4KAFRoZSBsaW5lIHlvdSBoYXZlIGhpZ2hsaWdodGVkIHJlcHJlc2VudHMgbWFueSBwYWNrYWdlczsgaWYgeW91IGFzayB0byBpbnN0YWxsLCByZW1vdmUsIGhvbGQsIGV0Yy4gaXQgeW91IHdpbGwgYWZmZWN0IGFsbCB0aGUgcGFja2FnZXMgd2hpY2ggbWF0Y2ggdGhlIGNyaXRlcmlvbiBzaG93bi4KCklmIHlvdSBtb3ZlIHRoZSBoaWdobGlnaHQgdG8gYSBsaW5lIGZvciBhIHBhcnRpY3VsYXIgcGFja2FnZSB5b3Ugd2lsbCBzZWUgaW5mb3JtYXRpb24gYWJvdXQgdGhhdCBwYWNrYWdlIGRpc3BsYXllZCBoZXJlLgpZb3UgY2FuIHVzZSBgbycgYW5kIGBPJyB0byBjaGFuZ2UgdGhlIHNvcnQgb3JkZXIgYW5kIGdpdmUgeW91cnNlbGYgdGhlIG9wcG9ydHVuaXR5IHRvIG1hcmsgcGFja2FnZXMgaW4gZGlmZmVyZW50IGtpbmRzIG9mIGdyb3Vwcy4AVHlwZSBkc2VsZWN0IC0taGVscCBmb3IgaGVscC4AVW5jbGFzc2lmaWVkAFVwIHRvIGRhdGUgaW5zdGFsbGVkIHBhY2thZ2VzAFVwLXRvLWRhdGUAVXBkYXRlIGxpc3Qgb2YgYXZhaWxhYmxlIHBhY2thZ2VzLCBpZiBwb3NzaWJsZS4AVXBkYXRlZABVcGRhdGVkIHBhY2thZ2VzIChuZXdlciB2ZXJzaW9uIGlzIGF2YWlsYWJsZSkAVXNhZ2U6ICVzIFs8b3B0aW9uPiAuLi5dIFs8YWN0aW9uPiAuLi5dCgoAV2VsY29tZSB0byBkc2VsZWN0J3MgbWFpbiBwYWNrYWdlIGxpc3RpbmcuCgpZb3Ugd2lsbCBiZSBwcmVzZW50ZWQgd2l0aCBhIGxpc3Qgb2YgcGFja2FnZXMgd2hpY2ggYXJlIGluc3RhbGxlZCBvciBhdmFpbGFibGUKZm9yIGluc3RhbGxhdGlvbi4gIFNpbmNlIHlvdSBkbyBub3QgaGF2ZSB0aGUgcHJpdmlsZWdlIG5lY2Vzc2FyeSB0byB1cGRhdGUKcGFja2FnZSBzdGF0ZXMsIHlvdSBhcmUgaW4gYSByZWFkLW9ubHkgbW9kZS4gIFlvdSBjYW4gbmF2aWdhdGUgYXJvdW5kIHRoZQpsaXN0IHVzaW5nIHRoZSBjdXJzb3Iga2V5cyAocGxlYXNlIHNlZSB0aGUgYEtleXN0cm9rZXMnIGhlbHAgc2NyZWVuKSwgb2JzZXJ2ZQp0aGUgc3RhdHVzIG9mIHRoZSBwYWNrYWdlcyBhbmQgcmVhZCBpbmZvcm1hdGlvbiBhYm91dCB0aGVtLgoKWW91IHNob3VsZCByZWFkIHRoZSBsaXN0IG9mIGtleXMgYW5kIHRoZSBleHBsYW5hdGlvbnMgb2YgdGhlIGRpc3BsYXkuCk11Y2ggb24tbGluZSBoZWxwIGlzIGF2YWlsYWJsZSwgcGxlYXNlIG1ha2UgdXNlIG9mIGl0IC0gcHJlc3MgYD8nIGF0CmFueSB0aW1lIGZvciBoZWxwLgoKV2hlbiB5b3UgaGF2ZSBmaW5pc2hlZCBicm93c2luZywgcHJlc3MgYFEnIG9yIDxlbnRlcj4gdG8gcXVpdC4KClByZXNzIDxzcGFjZT4gdG8gbGVhdmUgaGVscCBhbmQgZW50ZXIgdGhlIGxpc3Qgbm93LgoAV2VsY29tZSB0byBkc2VsZWN0J3MgbWFpbiBwYWNrYWdlIGxpc3RpbmcuCgpZb3Ugd2lsbCBiZSBwcmVzZW50ZWQgd2l0aCBhIGxpc3Qgb2YgcGFja2FnZXMgd2hpY2ggYXJlIGluc3RhbGxlZCBvciBhdmFpbGFibGUKZm9yIGluc3RhbGxhdGlvbi4gIFlvdSBjYW4gbmF2aWdhdGUgYXJvdW5kIHRoZSBsaXN0IHVzaW5nIHRoZSBjdXJzb3Iga2V5cywKbWFyayBwYWNrYWdlcyBmb3IgaW5zdGFsbGF0aW9uICh1c2luZyBgKycpIG9yIGRlaW5zdGFsbGF0aW9uICh1c2luZyBgLScpLgpQYWNrYWdlcyBjYW4gYmUgbWFya2VkIGVpdGhlciBzaW5nbHkgb3IgaW4gZ3JvdXBzOyBpbml0aWFsbHkgeW91IHdpbGwgc2VlIHRoYXQKdGhlIGxpbmUgYEFsbCBwYWNrYWdlcycgaXMgc2VsZWN0ZWQuICBgKycsIGAtJyBhbmQgc28gb24gd2lsbCBhZmZlY3QgYWxsIHRoZQpwYWNrYWdlcyBkZXNjcmliZWQgYnkgdGhlIGhpZ2hsaWdodGVkIGxpbmUuCgpTb21lIG9mIHlvdXIgY2hvaWNlcyB3aWxsIGNhdXNlIGNvbmZsaWN0cyBvciBkZXBlbmRlbmN5IHByb2JsZW1zOyB5b3Ugd2lsbCBiZQpnaXZlbiBhIHN1Yi1saXN0IG9mIHRoZSByZWxldmFudCBwYWNrYWdlcywgc28gdGhhdCB5b3UgY2FuIHNvbHZlIHRoZSBwcm9ibGVtcy4KCllvdSBzaG91bGQgcmVhZCB0aGUgbGlzdCBvZiBrZXlzIGFuZCB0aGUgZXhwbGFuYXRpb25zIG9mIHRoZSBkaXNwbGF5LgpNdWNoIG9uLWxpbmUgaGVscCBpcyBhdmFpbGFibGUsIHBsZWFzZSBtYWtlIHVzZSBvZiBpdCAtIHByZXNzIGA/JyBhdAphbnkgdGltZSBmb3IgaGVscC4KCldoZW4geW91IGhhdmUgZmluaXNoZWQgc2VsZWN0aW5nIHBhY2thZ2VzLCBwcmVzcyA8ZW50ZXI+IHRvIGNvbmZpcm0gY2hhbmdlcywKb3IgYFgnIHRvIHF1aXQgd2l0aG91dCBzYXZpbmcgY2hhbmdlcy4gQSBmaW5hbCBjaGVjayBvbiBjb25mbGljdHMgYW5kCmRlcGVuZGVuY2llcyB3aWxsIGJlIGRvbmUgLSBoZXJlIHRvbyB5b3UgbWF5IHNlZSBhIHN1Ymxpc3QuCgpQcmVzcyA8c3BhY2U+IHRvIGxlYXZlIGhlbHAgYW5kIGVudGVyIHRoZSBsaXN0IG5vdy4KAFh0cgBbQV1jY2VzcwBbQ11vbmZpZwBbSV1uc3RhbGwAW1FddWl0AFtSXWVtb3ZlAFtTXWVsZWN0AFtVXXBkYXRlAFtub3QgYm91bmRdAFt1bms6ICVkXQBhAGJVRwBjAGNvbG91cgBjb2xvdXIgYXR0cmlidXRlAGNvbmZsaWN0cyB3aXRoAGNvdWxkbid0IG9wZW4gZGVidWcgZmlsZSBgJS4yNTVzJwoAZGVwZW5kcyBvbgBkb3VwZGF0ZSBmYWlsZWQAZG91cGRhdGUgaW4gU0lHV0lOQ0ggaGFuZGxlciBmYWlsZWQAZHNlbGVjdCAtIGluc3BlY3Rpb24gb2YgcGFja2FnZSBzdGF0ZXMAZHNlbGVjdCAtIGxpc3Qgb2YgYWNjZXNzIG1ldGhvZHMAZHNlbGVjdCAtIG1haW4gcGFja2FnZSBsaXN0aW5nAGRzZWxlY3QgLSByZWN1cnNpdmUgcGFja2FnZSBsaXN0aW5nAGRzZWxlY3QgYW5kIGRwa2cgY2FuIGRvIGF1dG9tYXRpYyBpbnN0YWxsYXRpb24sIGxvYWRpbmcgdGhlIHBhY2thZ2UgZmlsZXMgdG8gYmUKaW5zdGFsbGVkIGZyb20gb25lIG9mIGEgbnVtYmVyIG9mIGRpZmZlcmVudCBwb3NzaWJsZSBwbGFjZXMuCgpUaGlzIGxpc3QgYWxsb3dzIHlvdSB0byBzZWxlY3Qgb25lIG9mIHRoZXNlIGluc3RhbGxhdGlvbiBtZXRob2RzLgoKTW92ZSB0aGUgaGlnaGxpZ2h0IHRvIHRoZSBtZXRob2QgeW91IHdpc2ggdG8gdXNlLCBhbmQgaGl0IEVudGVyLiAgWW91IHdpbGwgdGhlbgpiZSBwcm9tcHRlZCBmb3IgdGhlIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGRvIHRoZSBpbnN0YWxsYXRpb24uCgpBcyB5b3UgbW92ZSB0aGUgaGlnaGxpZ2h0IGEgZGVzY3JpcHRpb24gb2YgZWFjaCBtZXRob2QsIHdoZXJlIGF2YWlsYWJsZSwgaXMKZGlzcGxheWVkIGluIHRoZSBib3R0b20gaGFsZiBvZiB0aGUgc2NyZWVuLgoKSWYgeW91IHdpc2ggdG8gcXVpdCB3aXRob3V0IGNoYW5naW5nIGFueXRoaW5nIHVzZSB0aGUgYHgnIGtleSB3aGlsZSBpbiB0aGUgbGlzdApvZiBpbnN0YWxsYXRpb24gbWV0aG9kcy4KCkEgZnVsbCBsaXN0IG9mIGtleXN0cm9rZXMgaXMgYXZhaWxhYmxlIGJ5IHByZXNzaW5nIGBrJyBub3csIG9yIGZyb20gdGhlIGhlbHAKbWVudSByZWFjaGFibGUgYnkgcHJlc3NpbmcgYD8nLgoAZW5oYW5jZXMAZXJyb3IgZHVyaW5nIHJlYWQgb2YgbWV0aG9kIG9wdGlvbnMgZmlsZSBgJS4yNTBzJwBlcnJvciBkdXJpbmcgcmVhZCBvZiBvcHRpb24gZGVzY3JpcHRpb24gZmlsZSBgJS4yNTBzJwBlcnJvciBpbiByZWd1bGFyIGV4cHJlc3Npb24AZXJyb3IgcmVhZGluZyBhY2tub3dsZWRnZW1lbnQgb2YgcHJvZ3JhbSBmYWlsdXJlIG1lc3NhZ2UAZXJyb3IgcmVhZGluZyBrZXlib2FyZCBpbiBoZWxwAGVycm9yIHJlYWRpbmcgb3B0aW9ucyBmaWxlIGAlLjI1MHMnAGZhaWxlZCB0byBhbGxvY2F0ZSBjb2xvdXIgcGFpcgBmYWlsZWQgdG8gYmxvY2sgU0lHV0lOQ0gAZmFpbGVkIHRvIGNyZWF0ZSBiYXNlbGlzdCBwYWQAZmFpbGVkIHRvIGNyZWF0ZSBoZWFkaW5nIHBhZABmYWlsZWQgdG8gY3JlYXRlIGluZm8gcGFkAGZhaWxlZCB0byBjcmVhdGUgcXVlcnkgd2luZG93AGZhaWxlZCB0byBjcmVhdGUgdGhpc3N0YXRlIHBhZABmYWlsZWQgdG8gY3JlYXRlIHRpdGxlIHdpbmRvdwBmYWlsZWQgdG8gY3JlYXRlIHdoYXRpbmZvIHdpbmRvdwBmYWlsZWQgdG8gZ2V0IG9sZCBTSUdXSU5DSCBzaWdhY3QAZmFpbGVkIHRvIGdldCBvbGQgc2lnbmFsIG1hc2sAZmFpbGVkIHRvIGdldGNoIGluIG1haW4gbWVudQBmYWlsZWQgdG8gcmUtYmxvY2sgU0lHV0lOQ0gAZmFpbGVkIHRvIHJlYWQgb3B0aW9uIGRlc2NyaXB0aW9uIGZpbGUgYCUuMjUwcycAZmFpbGVkIHRvIHJlc3RvcmUgb2xkIFNJR1dJTkNIIHNpZ2FjdABmYWlsZWQgdG8gcmVzdG9yZSBvbGQgc2lnbmFsIG1hc2sAZmFpbGVkIHRvIHNldCBuZXcgU0lHV0lOQ0ggc2lnYWN0AGZhaWxlZCB0byB1bmJsb2NrIFNJR1dJTkNIAGdldGNoIGZhaWxlZABoYWxmIGluc3RhbGxlZABob2xkAGkAaW5kZXggc3RyaW5nIHRvbyBsb25nAGluc3RhbGwAaW5zdGFsbGF0aW9uIHNjcmlwdABpbnN0YWxsZWQAaW52YWxpZCBzZWFyY2ggb3B0aW9uIGdpdmVuAGlvY3RsKFRJT0NHV0lOU1opIGZhaWxlZABtZW51AG1ldGhvZCBgJS4yNTBzJyBoYXMgbmFtZSB0aGF0IGlzIHRvbyBsb25nICglZCA+ICVkIGNoYXJhY3RlcnMpAG5ldyBwYWNrYWdlAG5ld2xpbmUgYmVmb3JlIG9wdGlvbiBuYW1lIHN0YXJ0AG5ld2xpbmUgYmVmb3JlIHN1bW1hcnkAbm9uLWFscGhhbnVtIGluIG9wdGlvbiBuYW1lAG5vbi1kaWdpdCB3aGVyZSBkaWdpdCB3YW50ZWQAbm9uYWxwaGEgd2hlcmUgb3B0aW9uIG5hbWUgc3RhcnQgd2FudGVkAG5vdCBpbnN0YWxsZWQAcHJlLWRlcGVuZHMgb24AcHJvdmlkZXMAcHVyZ2UAcQBxdWVyeS9zZXR1cCBzY3JpcHQAcgByZWNvbW1lbmRzAHJlbW92ZQByZW1vdmVkIChjb25maWdzIHJlbWFpbikAcmVwbGFjZXMAcwBzY3JlZW4gcGFydABzdWdnZXN0cwBzeW50YXggZXJyb3IgaW4gbWV0aG9kIG9wdGlvbnMgZmlsZSBgJS4yNTBzJyAtLSAlcwB0ZXJtaW5hbCBsYWNrcyBuZWNlc3NhcnkgZmVhdHVyZXMsIGdpdmluZyB1cAB1AHVuYWJsZSB0byBhY2Nlc3MgbWV0aG9kIHNjcmlwdCBgJS4yNTBzJwB1bmFibGUgdG8gY2xvc2UgbmV3IG9wdGlvbiBmaWxlIGAlLjI1MHMnAHVuYWJsZSB0byBpbnN0YWxsIG5ldyBvcHRpb24gYXMgYCUuMjUwcycAdW5hYmxlIHRvIG9wZW4gY3VycmVudCBvcHRpb24gZmlsZSBgJS4yNTBzJwB1bmFibGUgdG8gb3BlbiBuZXcgb3B0aW9uIGZpbGUgYCUuMjUwcycAdW5hYmxlIHRvIG9wZW4gb3B0aW9uIGRlc2NyaXB0aW9uIGZpbGUgYCUuMjUwcycAdW5hYmxlIHRvIHJlYWQgYCUuMjUwcycgZGlyZWN0b3J5IGZvciByZWFkaW5nIG1ldGhvZHMAdW5hYmxlIHRvIHJlYWQgbWV0aG9kIG9wdGlvbnMgZmlsZSBgJS4yNTBzJwB1bmFibGUgdG8gc3RhdCBvcHRpb24gZGVzY3JpcHRpb24gZmlsZSBgJS4yNTBzJwB1bmFibGUgdG8gd3JpdGUgbmV3IG9wdGlvbiB0byBgJS4yNTBzJwB1bmtub3duIGFjdGlvbiBzdHJpbmcgYCUuNTBzJwB1bnBhY2tlZCAobm90IHNldCB1cCkAdXBkYXRlIGF2YWlsYWJsZSBsaXN0IHNjcmlwdABQcm9qZWN0LUlkLVZlcnNpb246IGRwa2cgMS4xMwpSZXBvcnQtTXNnaWQtQnVncy1UbzogZGViaWFuLWRwa2dAbGlzdHMuZGViaWFuLm9yZwpQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMS0xMC0xNCAwNzoxMSswMjAwClBPLVJldmlzaW9uLURhdGU6IDIwMDYtMTAtMDYgMjA6MjArMDcwMApMYXN0LVRyYW5zbGF0b3I6IEFyaWVmIFMgRml0cmlhbnRvIDxhcmllZkBndXJhbWUuZmlzaWthLnVpLmFjLmlkPgpMYW5ndWFnZS1UZWFtOiBEZWJpYW4gSW5kb25lc2lhIEwxME4gVGVhbSA8ZGViaWFuLWwxMG4taWRAZ3VyYW1lLmZpc2lrYS51aS5hYy5pZD4KTGFuZ3VhZ2U6IGlkCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0ClBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MSwgcGx1cmFsPTA7ClgtUG9lZGl0LUxhbmd1YWdlOiBJbmRvbmVzaWFuClgtUG9lZGl0LUNvdW50cnk6IElORE9ORVNJQQpYLVBvZWRpdC1Tb3VyY2VDaGFyc2V0OiBpc28tODg1OS0xCgAKCiVzOiAlcwoACgpQaW5kYWggdGVtcGF0IGRlbmdhbiBeUCBkYW4gXk4sIHRvbWJvbCBjdXJzb3IsIGh1cnVmIGF3YWwsIGF0YXUgZGlnaXQ7ClRla2FuIDxlbnRlcj4gdW50dWsga29uZmlybWFzaSBwaWxpaGFuLiBeTCB1bnR1ayBtZW5hbXBpbCB1bGFuZyBsYXlhci4KCgAKCkFrc2VzIGhhbnlhLWJhY2E6IGhhbnlhIHByYXRpbGlrIHBpbGloYW4geWFuZyB0ZXJzZWRpYSEAClRla2FuIDxlbnRlcj4gdW50dWsgbWVuZXJ1c2thbi4AIAAgIC0tICVkJSUsIHRla2FuIAAgIChzZWNhcmEgYWxmYWJldCkAICh0ZXJzZWRpYSwgcHJpb3JpdGFzKQAgKHRlcnNlZGlhLCBiYWcuKQAgKGJlcmRhc2Fya2FuIGtldGVyc2VkaWFhbikAIChiZXJkYXNhcmthbiBwcmlvcml0YXMpACAoYmVyZGFzYXJrYW4gYmFnaWFuKQAgKGJlcmRhc2Fya2FuIHN0YXR1cykAIChzdGF0dXMscHJpb3JpdGFzKQAgKHN0YXR1cywgYmFnLikAIHRhbXBha255YSB0aWRhayB0ZXJzZWRpYQoAIHRhbmRhaTorLz0vLSAgcmluZ2thczp2IGJhbnR1YW46PwAgdGFuZGFpOisvPS8tICByaW5jaTp2IGJhbnR1YW46PwAgYXRhdSAAIHJpbmdrYXM6diBiYW50dWFuOj8AIHJpbmNpOnYgYmFudHVhbjo/ACFDYWNhdCEAJS0qcyAlcyVzJXM7ICVzICh0YWRpbnlhOiAlcykuICVzACVzICVzIHBha2V0ACVzICVzIHBha2V0IGRpIGJhZ2lhbiAlcwAlcyAlcyBwYWtldCB0YW5wYSBzdWF0dSBiYWdpYW4AJXMgdW50dWsgbGFuanV0IAAlcyBwYWtldCBkaSBiYWdpYW4gJXMAJXMgcGFrZXQgdGFucGEgc3VhdHUgYmFnaWFuACVzIHVudHVrIGtlbWJhbGkgACogUGVueW9yb3RhbjogU2F0dSBiYXJpcyBwYWRhIGRhZnRhciBwYWtldCBha2FuIGRpc29yb3QuIEhhbCBpbmkgbWVudW5qdWtrYW4gcGFrZXQtcGFrZXQKICAgeWFuZyBha2FuIHRlcnBlbmdhcnVoIGRlbmdhbiBtZW5la2FuIGArJywgYC0nLCBkYW4gYF8nLgoKKiBCYXJpcyBwZW1pc2FoIGRpIHRlbmdhaCBsYXlhciBtZW5hbXBpbGthbiBwZW5qZWxhc2FuIHNpbmdrYXQgdGVudGFuZyBzdGF0dXMgcGFrZXQgeWFuZyAKICBzZWRhbmcgZGlzb3JvdCwgYXRhdSBzdWF0dSBwZW5qZWxhc2FuIHRlbnRhbmcgZ3J1cCB5YW5nIHNlZGFuZyBkaXNvcm90LiBKaWthIGFuZCB0aWRhayAKICBtZW5nZXJ0aSBhcnRpIGRhcmkgYmViZXJhcGEga2FyZWt0ZXIgc3RhdHVzIHlhbmcgZGl0YW1waWxrYW4sIGxpaGF0bGFoIHBha2V0IHlhbmcgCiAgc2VodWJ1bmdhbiBkYW4gYmFjYWxhaCBrZXRlcmFuZ2FuIHlhbmcgYWRhIGRpIGdhcmlzIHBlbWlzYWggaW5pLiBBdGF1LCBndW5ha2FuIHRvbWJvbCAKICBgdicgdW50dWsgdGFtcGlsYW4gdGVyaW5jaSAodGVrYW4gYHYnIGxhZ2kgdW50dWsga2VtYmFsaSBrZSB0YW1waWxhbiByaW5na2FzKS4KCiogQmFnaWFuIGJhd2FoIGxheWFyIG1lbmFtcGlsa2FuIGtldGVyYW5nYW4gdGVudGFuZyBwYWtldCB5YW5nIHNlZGFuZyBkaXNvcm90IAogIChqaWthIGhhbnlhIGFkYSBzYXR1IHBha2V0KS4KCiAgRGkgYmFnaWFuIGluaSBqdWdhIGRhcGF0IG1lbmFtcGlsa2FuIGtldGVyYW5nYW4gdGFtYmFoYW4gdGVudGFuZyBwYWtldCB0ZXJzZWJ1dC4KICByaW5jaWFuICdjb250cm9sJyBwYWtldCBpbnRlcm5hbCAoYmFpayB1bnR1ayB2ZXJzaSB5YW5nIHRlcnBhc2FuZyBtYXVwdW4geWFuZyB0ZXJzZWRpYSksCiAgYXRhdSBrZXRlcmFuZ2FuIHRlbnRhbmcgbWFzYWxhaCBiZW50cm9rYW4gZGFuIGtldGVyZ2FudHVuZ2FuIHlhbmcgbWVsaWJhdGthbiBwYWtldAogIHRlcnNlYnV0IChkYWxhbSBzdWItZGFmdGFyIHBlbWVjYWhhbiBiZW50cm9rYW4va2V0ZXJnYW50dW5nYW4pLgoKICBHdW5ha2FuIHRvbWJvbCBgaScgdW50dWsgYmVycGluZGFoLXBpbmRhaCBzZXBhbmphbmcgbGF5YXIsIGRhbiBgSScgdW50dWsgCiAgbWVueWVtYnVueWlrYW4gdGFtcGlsYW4gaW5mb3JtYXNpIGF0YXUgbWVtcGVybGViYXJueWEgaGluZ2dhIG1lbWVudWhpIGxheWFyLgoAPwBTaW5na2F0YW4AQmF0YWwgLSBrZWx1YXIgdGFucGEgbWVtYnVhdCBwZXJ1YmFoYW4ATWV0b2RlIGFrc2VzIGAlcycAQWtzaToKICAgYWNjZXNzIHVwZGF0ZSBzZWxlY3QgaW5zdGFsbCBjb25maWcgcmVtb3ZlIHF1aXQKCgBTZW11YW55YQBTZW11YSBwYWtldABBdHJpYnV0OiAKAFZlci4gdCdzZWRpYQBUZXJzZWRpYQBQYWtldC1wYWtldCB5YWduIHRlcnNlZGlhIChiZWx1bSB0ZXJwYXNhbmcpAFJ1c2FrAFBha2V0IHRlcnBhc2FuZyB5YW5nIHJ1c2FrAFBpbGloIG1ldG9kZSBha3NlcyB5YW5nIGluZ2luIGRpZ3VuYWthbi4AV2FybmE6IAoAS29uZmlndXJhc2kgc2VtdWEgcGFrZXQgeWFuZyBiZWx1bSBkaWtvbmZpZ3VyYXNpLgBIYWsgQ2lwdGEgKEMpICAxOTk0LTE5OTYgSWFuIEphY2tzb24uCkhhayBDSXB0YSAoQykgMjAwMCwyMDAxIFdpY2hlcnQgQWtrZXJtYW4uCgBCZXJrZWxpbGluZ2xhaCBzZXBhbmphbmcgdGFtcGlsYW4gaW5mb3JtYXNpAEFudGFybXVrYSBwZW5hbmdhbmFuIHBha2V0IERlYmlhbiAnJXMnIHZlcnNpICVzLgoAUGVtZWNhaGFuIG1hc2FsYWgga2V0ZXJnYW50dW5nYW4vYmVudHJva2FuIC0gcGVuZ2FudGFyLgoKU2FsYWggc2F0dSBhdGF1IGxlYmloIHBpbGloYW4gQW5kYSB0ZWxhaCBtZW55ZWJhYmthbiBtYXNhbGFoIGJlbnRyb2thbiBhdGF1IAprZXRlcmdhbnR1bmdhbiBwYWtldCAtIGJlYmVyYXBhIHBha2V0IHNlaGFydXNueWEgaGFueWEgZGlwYXNhbmcgYmVyc2FtYWFuIApkZW5nYW4gcGFrZXQgbGFpbiwgZGFuIGJlYmVyYXBhIGtvbWJpbmFzaSBwYWtldCBtdW5na2luIHRpZGFrIGRhcGF0IGRpcGFzYW5nIApzZWNhcmEgYmVyc2FtYWFuLgoKQW5kYSBha2FuIG1lbGloYXQgc3ViLWRhZnRhciBiZXJpc2kgcGFrZXQtcGFrZXQgeWFuZyB0ZXJsaWJhdC4gU2V0ZW5nYWggbGF5YXIKYmFnaWFuIGJhd2FoIG1lbmFtcGlsa2FuIHBha2V0LXBha2V0IHlhbmcgYmVudHJvayBkYW4gc2FsaW5nIHRlcmdhbnR1bmcuCkd1bmFrYW4gYGknICB1bnR1ayBiZXJwaW5kYWggZGkgYW50YXJhIHBlbmplbGFzYW4gcGFrZXQgZGFuIGtldGVyYW5nYW4gJ2NvbnRyb2wnIGludGVybmFsLgoKU2VrdW1wdWxhbiBwYWtldCB5YW5nIGBkaXNhcmFua2FuJyB0ZWxhaCBkaXNpYXBrYW4sIGRhbiBwZW5hbmRhYW4gYXdhbCAKcGFkYSBzdWItZGFmdGFyIGluaSB0ZWxhaCBkaXNldGVsIGFnYXIgc2VzdWFpLCBzZWhpbmdnYSBBbmRhIGN1a3VwIG1lbmVrYW4gCidSZXR1cm4nIHVudHVrIG1lbmVyaW1hIHNhcmFuIHRlcnNlYnV0LiBBbmRhIGp1Z2EgZGFwYXQgbWVtYmF0YWxrYW4gcGVydWJhaGFuCnlhbmcgbWVueWViYWJrYW4gbWFzYWxhaCB0ZXJzZWJ1dCBkYW4ga2VtYmFsaSBrZSBkYWZ0YXIgdXRhbWEgZGVuZ2FuIAptZW5la2FuIGh1cnVmIGBYJyBiZXNhci4KCkFuZGEganVnYSBkYXBhdCBtZW5lbHVzdXJpIHNlbHVydWggZGFmdGFyIGRhbiBtZW5ndWJhaCBwZW5hbmRhYW4gc2VoaW5nZ2Egc2VtdWFueWEKc2VzdWFpIGRlbmdhbiBrZWluZ2luYW4gQW5kYSwgZGFuIEFuZGEganVnYSBkYXBhdCBgbWVub2xhaycgc2FyYW4gc2F5YSBkZW5nYW4gCm1lbmdndW5ha2FuIHRvbWJvbCBgRCcgYXRhdSBgUicgYmVzYXIgKGxpaGF0IGxheWFyIHBhbmR1YW4gcmVsYXNpIHRvbWJvbCkuIEFuZGEgZGFwYXQgCm1lbmdndW5ha2FuIGBRJyBiZXNhciB1bnR1ayBtZW1ha3NhIHNheWEgbWVuZXJpbWEga2VhZGFhbiB5YW5nIGFkYSBzZWthcmFuZywgCmRhbGFtIGhhbCBBbmRhIGluZ2luIG1lbmltcGEgc3VhdHUgYW5qdXJhbiBhdGF1IEFuZGEgYmVycGlraXIgYmFod2EgYWRhIHN1YXR1IHlhbmcgCnNhbGFoIHBhZGEgcHJvZ3JhbS4KClRla2FuIDxzcGFzaT4gdW50dWsgbWVuaW5nZ2Fsa2FuIHBhbmR1YW4gZGFuIG1hc3VrIGtlIHN1Yi1kYWZ0YXI7IGluZ2F0OiB0ZWthbiBgPycgCnVudHVrIG1lbGloYXQgcGFuZHVhbi4KAEtldGVyYW5nYW4AVGFtcGlsYW4sIGJhZ2lhbiAxOiBkYWZ0YXIgcGFrZXQgZGFuIGthcmFrdGVyIHN0YXR1cwBUYW1waWxhbiwgYmFnaWFuIDI6IHBlbnlvcm90YW4gZGFmdGFyOyB0YW1waWxhbiBrZXRlcmFuZ2FuAEVQT1QAQWRhIEVPRiBzZWJlbHVtIGF3YWwgbmFtYSBwaWxpaGFuAEFkYSBFT0Ygc2ViZWx1bSBpa2hzdGlzYXIAQWRhIEVPRiBkYWxhbSBzdHJpbmcgaW5kZWtzAEFkYSBFT0YgZGFsYW0gbmFtYSBwaWxpaGFuAEFkYSBFT0YgZGFsYW0gaWtodGlzYXIgLSBiYXJpcy1iYXJ1IGhpbGFuZwBBZGEgS2VzYWxhaGFuAEtlc2FsYWhhbjoAVGFtYmFoYW4AS2UgYWtoaXIgZGFmdGFyAEtlIGF3YWwgZGFmdGFyAEluZm9ybWFzaSBwYW5kdWFuIHRlcnNlZGlhIHVudHVrIHRvcGlrLXRvcGlrIGJlcmlrdXQgaW5pOgBCYW50dWFuOgBQdGcAUGVudGluZwBWZXIuIHRlcnBzZwBQYXNhbmcgZGFuIHBlcmJhaGFydWkgcGFrZXQtcGFrZXQgeWFuZyBkaWluZ2lua2FuLgBUZXJwYXNhbmcAUGFrZXQtcGFrZXQgeWFuZyB0ZXJwYXNhbmcAVGVycGFzYW5nPwBQZW5nYW50YXIga2Ugc3ViLWRhZnRhciBwZW1lY2FoYW4gbWFzYWxhaCBiZW50cm9rL2tldGVyZ2FudHVuZ2FuAFBlbmdhbnRhciBrZSB0YW1waWxhbiBwZW1pbGloYW4gbWV0b2RlAFBlbmdhbnRhciBrZSBwZW1pbGloYW4gcGFrZXQAUGVuZ2FudGFyIGtlIGJyb3dzZXIgZGFmdGFyIHBha2V0IGhhbnlhLWJhY2EAJXMgYCVzJyB0aWRhayBzYWgKAFRvbWJvbCBzaW5na2F0AHRvbWJvbCBzaW5na2F0IHVudHVrIHBlbWlsaWhhbiBtZXRvZGUAQnVhdCBwZW55b3JvdGFuIGt1cmFuZyBzcGVzaWZpawBCdWF0IHBlbnlvcm90YW4gbGViaWggc3Blc2lmaWsAVGFuZGFpIHBha2V0IHVudHVrIGRpYnVhbmcgZGFuIGRpbXVzbmFoa2FuAFRhbmRhaSBwYWtldCB5YW5nIGFrYW4gZGlidWFuZwBUYW5kYWkgcGFrZXQgeWFuZyBha2FuIGRpcGFzYW5nAERpdGFuZGFpIHVudHVrAFBpbmRhaCBrZSBiYXdhaABQaW5kYWgga2UgYXRhcwBCYXJ1AFBha2V0IGJhcnUgeWFuZyB0ZXJzZWRpYQBUaWRhayBhZGEgcGVuamVsYXNhbiB0ZXJzZWRpYS4AdGlkYWsgYWRhIHNwZXNpZmlrYXNpIHdhcm5hCgBQYWtldC1wYWtldCBsb2thbCBkYW4gdXNhbmcgYWRhIHBhZGEgc2lzdGVtAFVzYW5nL2xva2FsAFRhbmRhIGxhbWEAUGxoAFBpbGloYW4AUGlsaWhhbjoKICAtLWFkbWluZGlyIDxkaXJla3Rvcmk+ICAgICBHdW5ha2FuIDxkaXJla3Rvcmk+IGRhbiBidWthbm55YSAlcy4gCiAgLS1leHBlcnQgICAgICAgICAgICAgICAgICBIaWR1cGthbiBtb2R1cyB1bnR1ayB5YW5nIGFobGkuCiAgLS1kZWJ1ZyA8YmVya2FzPiB8IC1EIDxiZXJrYXM+ICAgSGlkdXBrYW4gcHJvc2VzIGRlYnVnLCBraXJpbSBoYXNpbG55YSBrZSA8YmVya2FzPi4KICAtLWNvbG91ciB8IC0tY29sb3Igc2NyZWVucGFydDpbbGF0YXItZGVwYW5dLFtsYXRhci1iZWxha2FuZ11bOmF0cmlidXRbK2F0cmlidXQrLi4uXV0uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtvbmZpZ3VyYXNpIHdhcm5hIGxheWFyLgoKAFBha2V0AFRla2FuIDxlbnRlcj4gIHVudHVrIG1lbmVydXNrYW4uCgBLZXRpayA/IHVudHUgbWVudSBwYW5kdWFuLCAuIHVudHVrIHRvcGlrIHNlbGFuanV0bnlhLCA8c3Bhc2k+IHVudHVrIGtlbHVhci4AS2V0aWsgc3VhdHUgdG9tYm9sIGRhcmkgZGFmdGFyIGRpIGF0YXMsIDxzcGFzaT4gYXRhdSBgcScgdW50dWsga2VsdWFyLAogIGF0YXUgJy4nIHVudHVrIG1lbWJhY2Egc2V0aWFwIGhhbGFtYW4gcGFuZHVhbiBiZXJnYW50aWFuLgBQcmlvcml0YXMATXVzbmFoAFBha2V0LXBha2V0IHlhbmcgZGltdXNuYWhrYW4gZGFuIHlhbmcgYmVsdW0gcGVybmFoIHRlcnBhc2FuZwBrZWx1YXIgZGFyaSBkc2VsZWN0LgBLZWx1YXIgdGFucGEgbWVuZ3ViYWggbWV0b2RlIGFrc2VzIHlhbmcgZGlwaWxpaABLZWx1YXIsIGtvbmZpcm1hc2kgdGFucGEgcGVtZXJpa3NhYW4AS2VsdWFyLCBrb25maXJtYXNpLCBkYW4gcGVyaWtzYSBrZXRlcmdhbnR1bmdhbgBLZWx1YXIsIHRvbGFrIHNhcmFuIHRlbnRhbmcgYmVudHJvay9rZXRlcmdhbnR1bmdhbiBwYWtldABQQVNBTkctVUxBTkcAU2VnYXJrYW4gdGFtcGlsYW4AQnVhbmcgcGVyYW5na2F0IGx1bmFrIHlhbmcgdGFrIGRpaW5naW5rYW4uAERpYnVhbmcAUGFrZXQtcGFrZXQgdGVyYnVhbmcgZGFuIHRhayBsYWdpIHRlcnNlZGlhAFBha2V0LXBha2V0IHlhbmcgZGlidWFuZyAoa29uZmlndXJhc2kgbWFzaWggYWRhKQBVbGFuZ2kgcGVuY2FyaWFuIHRlcmFraGlyAEJ0aABNaW50YSBwYW5kdWFuIChkaXJvdGFzaSBzZXBhbmphbmcgbGF5YXIgcGFuZHVhbikAUGlsaWhsYWggcGFrZXQgeWFuZyBpbmdpbiBBbmRhIHBhc2FuZyBwYWRhIHNpc3RlbS4ARGlwZXJsdWthbgBLZW1iYWxpa2FuIHNlbXVhIHBha2V0IGtlIGtlYWRhYW4geWFuZyBkaW1pbnRhIGxhbmdzdW5nAEtlbWJhbGlrYW4gc2VtdWEgcGFrZXQga2Uga2VhZGFhbiBsYW1hAEtlbWJhbGlrYW4gc2VtdWEgcGFrZXQga2Uga2VhZGFhbiB5YW5nIGRpc2FyYW5rYW4AQmFnaWFuIExheWFyOiAKAEd1bHVuZ2xhaCBsYXlhciBrZSBhdGFzIHNlcGFuamFuZyBpbmZvcm1hc2kvYmFudHVhbgBHdWx1bmcgbGF5YXIga2UgYXRhcyBzZXBhbmphbmcgaW5mb3JtYXNpL3BhbmR1YW4gdGlhcCBzYXR1IGJhcmlzAEd1bHVuZyBkYWZ0YXIga2UgYXRhcwBHdWx1bmcgbGF5YXIga2UgYXRhcyBzZXBhbmphbmcgZGFmdGFyIHRpYXAgc2F0dSBiYXJpcwBHdWx1bmdsYWggbGF5YXIga2UgYmF3YWggc2VwYW5qYW5nIGluZm9ybWFzaS9iYW50dWFuAEd1bHVuZyBsYXlhciBrZSBiYXdhaCBzZXBhbmphbmcgaW5mb3JtYXNpL3BhbmR1YW4gdGlhcCBzYXR1IGJhcmlzAEd1bHVuZyBkYWZ0YXIga2UgYmF3YWgAR3VsdW5nIGxheWFyIGtlIGJhd2FoIHNlcGFuamFuZyBkYWZ0YWFyIHRpYXAgc2F0dSBiYXJpcwBDYXJpIHVudHVrID8AQ2FyaSBwYWtldCB5YW5nIG5hbWFueWEgYmVyaXNpIHN1YXR1IHN0cmluZwBCYWdpYW4AUGlsaWggbWV0b2RlIGFrc2VzIHlhbmcgZGlzb3JvdABTZXRlbCB2YXJpYWJlbCBURVJNIEFuZGEgZGVuZ2FuIGJlbmFyLCBndW5ha2FuIHRlcm1pbmFsIHlhbmcgbGViaWggYmFpaywKYXRhdSBsYWt1a2FubGFoIGRlbmdhbiBzYXJhbmEgcGVuZ2Vsb2xhYW4gcGVyLXBha2V0ICVzLgoAU3RhbmRhcgBTdGQAQmFsaWtrYW4gdXJ1dGFuIHBlbmd1cnV0YW4gcHJpb3JpdGFzL2JhZ2lhbgBUZXJtaW5hbCB0YW1wYWtueWEgdGlkYWsgbWVuZHVrdW5nIHBlbmdhbGFtYXRhbiBjdXJzb3IuCgBUZXJtaW5hbCB0YW1wYWtueWEgdGlkYWsgbWVuZHVrdW5nIHBlbnlvcm90YW4uCgBCYXJpcyB5YW5nIHRlbGFoIEFuZGEgc29yb3QgbWV3YWtpbGkgYmFueWFrIHBha2V0LiBKaWthIEFuZGEgaW5naW4gbWVtYXNhbmcsIG1lbWJ1YW5nLCBtZW5jZWthbCwgZGxsLiBwYWtldCBpbmksIEFuZGEgYWthbiBtZWxpYmF0a2FuIHNlbXVhIHBha2V0IHlhbmcgc2VzdWFpIGRlbmdhbiBrcml0ZXJpYSB5YW5nIHRhbXBhay4KCkppa2EgQW5kYSBtZW1pbmRhaGthbiBzb3JvdGFuIGtlIHN1YXR1IGJhcmlzIHVudHVrIHBha2V0IHRlcnRlbnR1LCBBbmRhIGFrYW4gbWVsaWhhdCBrZXRlcmFuZ2FuIHRlbnRhbmcgcGFrZXQgaXR1IGRpIHNpbmkuCkFuZGEgZGFwYXQgbWVuZ2d1bmFrYW4gYG8nIGRhbiBgTycgdW50dWsgbWVuZ3ViYWggcGVuZ3VydXRhbiBkYW4gbWVtYmVyaWthbiBBbmRhIHBlbHVhbmcgdW50dWsgbWVuYW5kYWkgcGFrZXQgZGFsYW0gYmVyYWdhbSBncnVwIGJlcmJlZGEuAGtldGlrICdkc2VsZWN0IC0taGVscCcgdW50dWsgYmFudHVhbi4AVGFrIGRpa2Vsb21wb2trYW4AUGFrZXQtcGFrZXQgdGVycGFzYW5nIHlhbmcgdGVya2luaQBNYXNpaCBiYXJ1AFBlcmJhaGFydWkgZGFmdGFyIHBha2V0IHlhbmcgdGVyc2VkaWEgYmlsYSBtZW11bmdraW5rYW4uAERpcGVyYmFoYXJ1aQBQYWtldC1wYWtldCB0ZXJiYXJ1ICh2ZXJzaSB0ZXJiYXJ1IHRlcnNlZGlhKQBQZW5nZ3VuYWFuOiAlcyBbPHBpbGloYW4+IC4uLl0gWzxha3NpPiAuLi5dCgoAU2VsYW1hdCBiZXJqdW1wYSBkZW5nYW4gZGFmdGFyIHBha2V0IHV0YW1hIGRzZWxlY3QuCgpBbmRhIGFrYW4gZGlzYWppa2FuIHN1YXR1IGRhZnRhciBwYWtldCB5YW5nIHRlcnBhc2FuZyBhdGF1IHRlcnNlZGlhIHVudHVrIGRpcGFzYW5nLgpPbGVoIGthcmVuYSBBbmRhIHRpZGFrIHB1bnlhIHdld2VuYW5nIHlhbmcgY3VrdXAgdW50dWsgbWVtcGVyYmFoYXJ1aSBzdGF0dXMgCnBha2V0LCBBbmRhIGJlcmFkYSBwYWRhIG1vZHVzIGhhbnlhLWJhY2EuIEFuZGEgZGFwYXQgbWVuZWx1c3VyaSBkYWZ0YXIgCm1lbmdndW5ha2FuIHRvbWJvbCBrdXJzb3IgKHNpbGFrYW4gbGloYXQgbGF5YXIgcGFuZHVhbiBgVG9tYm9sIFNpbmdrYXQnKSwgYW1hdGkKc3RhdHVzIHBha2V0IGRhbiBiYWNhbGFoIGtldGVyYW5nYW4gdGVudGFuZ255YS4KCkFuZGEgc2ViYWlrbnlhIG1lbWJhY2EgZGFmdGFyIHRvbWJvbCBkYW4gcGVuamVsYXNhbm55YSBkaSBsYXlhci4KU2ViYWdpYW4gYmVzYXIgcGFuZHVhbiB0ZXJzZWRpYSBvbi1saW5lLCBzaWxha2FuIG1lbmdndW5ha2FubnlhIC0gdGVrYW4gYD8nCnNldGlhcCBzYWF0IHVudHVrIG1lbGloYXQgcGFuZHVhbi4KCkFwYWJpbGEgQW5kYSB0ZWxhaCBzZWxlc2FpLCB0ZWthbiBgUScgYXRhdSA8ZW50ZXI+IHVudHVrIGtlbHVhci4KClRla2FuIDxlbnRlcj4gdW50dWsgbWVuaW5nZ2Fsa2FuIHBhbmR1YW4gc2VrYXJhbmcgZGFuIG1hc3VrIGtlIGRhZnRhciBwYWtldC4KAFNlbGFtYXQgYmVyanVtcGEgZGVuZ2FuIGRhZnRhciBwYWtldCB1dGFtYSBkc2VsZWN0LgoKQW5kYSBha2FuIGRpc2FqaWthbiBkZW5nYW4gc3VhdHUgZGFmdGFyIHBha2V0IHlhbmcgdGVycGFzYW5nIGF0YXUgdGVyc2VkaWEKdW50dWsgZGlwYXNhbmcuIEFuZGEgZGFwYXQgbWVuZWx1c3VyaSBzZWx1cnVoIGRhZnRhciBkZW5nYW4gdG9tYm9sIGt1cnNvciwKbWVuYW5kYWkgcGFrZXQgdW50dWsgZGlwYXNhbmcgKGRlbmdhbiBgKycpIGF0YXUgZGlidWFuZyAoZGVuZ2FuIGAtJykuClBha2V0IGRhcGF0IGRpdGFuZGFpIHNlY2FyYSB0dW5nZ2FsIGF0YXUgZGFsYW0gc2VidWFoIGdydXAuIE11bGFueWEsIEFuZGEgYWthbiBtZWxpaGF0IApiYWh3YSBiYXJpcyBgU2VtdWEgcGFrZXQnIHRlcnBpbGloLiBUb21ib2wgYCsnLGAtJywgZGFuIHNldGVydXNueWEgYWthbiAKbWVsaWJhdGthbiBzZW11YSBwYWtldCB5YW5nIGRpd2FraWxpIG9sZWggYmFyaXMgeWFuZyB0ZXJzb3JvdC4KCkJlYmVyYXBhIHBpbGloYW4gQW5kYSBha2FuIG1lbnllYmFia2FuIGJlbnRyb2sgYXRhdSBtYXNhbGFoIGtldGVyZ2FudHVuZ2FuLgpBbmRhIGFrYW4gZGliZXJpa2FuIHN1Yi1kYWZ0YXIgcGFrZXQtcGFrZXQgeWFuZyBiZXJrYWl0YW4sIHNlaGluZ2dhIEFuZGEgZGFwYXQKbWVueWVsZXNhaWthbiBtYXNhbGFoIHRlcnNlYnV0LgoKQW5kYSBzZWJhaWtueWEgbWVtYmFjYSBkYWZ0YXIgdG9tYm9sIGRhbiBwZW5qZWxhc2FuIHBhZGEgbGF5YXIuClNlYmFnaWFuIGJlc2FyIHBhbmR1YW4gdGVyc2VkaWEgb24tbGluZSwgc2lsYWthbiBtZW5nZ3VuYWthbm55YSAtIHRla2FuIGA/JwpzZXRpYXAgc2FhdCB1bnR1ayBtZWxpaGF0IHBhbmR1YW4uCgpBcGFiaWxhIEFuZGEgdGVsYWggc2VsZXNhaSBtZW1pbGloIHBha2V0LCB0ZWthbiA8ZW50ZXI+IHVudHVrIGtvbmZpcm1hc2ksCmF0YXUgYFgnIHVudHVrIGtlbHVhciB0YW5wYSBtZW55aW1wYW4gcGVydWJhaGFuLiBQZW1lcmlrc2FhbiBha2hpcgphdGFzIGtlbXVuZ2tpbmFuIGJlbnRyb2thbiBkYW4ga2V0ZXJnYW50dW5nYW4gcGFrZXQgYWthbiBkaWxha3VrYW4gLSBkaSBzaW5pCmp1Z2EgbXVuZ2tpbiBBbmRhIGFrYW4gbWVsaWhhdCBzdWItZGFmdGFyLgoKVGVrYW4gPGVudGVyPiB1bnR1ayBtZW5pbmdnYWxrYW4gcGFuZHVhbiBzZWthcmFuZyBkYW4gbWFzdWsga2UgZGFmdGFyIHBha2V0LgoAVGJoAFtBXUFrc2VzAFtDXUtvbmZpZ3VyYXNpAFtJXVBhc2FuZwBbUV1LZWx1YXIAW1JdQnVhbmcAW1NdUGlsaWgAW1VdUGVyYmFydQBbdGlkYWsgZGlyZWxhc2lrYW5dAFt1bms6ICVkXQBhAENBQ0FUAGMAd2FybmEAYXRyaWJ1dCB3YXJuYQBiZW50cm9rIGRlbmdhbgB0aWRhayBkYXBhdCBtZW1idWthIGJlcmthcyBkZWJ1ZyBgJS4yNTBzJwoAYmVyZ2FudHVuZyBwYWRhAGRvdXBkYXRlIGdhZ2FsAGdhZ2FsIG1lbGFrdWthbiAnZG91cGRhdGUnIGRhbGFtIHBlbmFuZ2FuYW4gJ1NJR1dJTkNIJwBkc2VsZWN0IC0gcGVuaW5qYXVhbiBrZWFkYWFuIHBha2V0AGRzZWxlY3QgLSBkYWZ0YXIgbWV0b2RlIGFrc2VzAGRzZWxlY3QgLSBkYWZ0YXIgcGFrZXQgdXRhbWEAZHNlbGVjdCAtIGRhZnRhciBwYWtldCB0ZXJpbmNpAGRzZWxlY3QgZGFuIGRwa2cgZGFwYXQgc2VjYXJhIG90b21hdGlzIG1lbWFzYW5nLCBtZW11YXQgYmVya2FzLWJlcmthcyBwYWtldCAKZGFyaSBzYXR1IGF0YXUgbGViaWgga2VtdW5na2luYW4gdGVtcGF0IHlhbmcgYmVyYmVkYS4gCgpIYWwgaW5pIG1lbXVuZ2tpbmthbiBBbmRhIG1lbWlsaWggc2FsYWggc2F0dSBtZXRvZGUgcGVtYXNhbmdhbi4KClBpbmRhaGthbiBzb3JvdGFuIGtlIG1ldG9kZSB5YW5nIGluZ2luIEFuZGEgZ3VuYWthbiBkYW4gdGVrYW4gRW50ZXIuIEFuZGEgYWthbiAKZGltaW50YSBtZW1hc3Vra2FuIGluZm9ybWFzaSB5YW5nIGRpcGVybHVrYW4gdW50dWsgcGVtYXNhbmdhbi4KCktldGlrYSBBbmRhIG1lbWluZGFoa2FuIHNvcm90YW4sIGtldGVyYW5nYW4gZGFyaSBzZXRpYXAgbWV0b2RlLCBiaWxhIHRlcnNlZGlhLCBha2FuIApkaXRhbXBpbGthbiBkaSBzZXRlbmdhaCBsYXlhciBiYWdpYW4gYmF3YWguCgpKaWthIEFuZGEgaW5naW4ga2VsdWFyIHRhbnBhIG1lbmd1YmFoIHNlc3VhdHUgYXBhcHVuLCBndW5ha2FuIHRvbWJvbCBgeCcgc2FhdCAKYmVyYWRhIGRhbGFtIGRhZnRhciBtZXRvZGUgcGVtYXNhbmdhbi4KClNlYnVhaCBkYWZ0YXIgdG9tYm9sIHNpbmdrYXQgeWFuZyBsZW5na2FwIHRlcnNlZGlhIGRlbmdhbiBtZW5la2FuIHRvbWJvbCBgaycgCnNla2FyYW5nLCBhdGF1IGRhcmkgbWVudSBwYW5kdWFuIGRlbmdhbiBtZW5la2FuIHRvbWJvbCBgPycuCgBkaXNlbXB1cm5ha2FuAGFkYSBrZXNhbGFoYW4gc2VsYW1hIG1lbWJhY2EgYmVya2FzIHBpbGloYW4gbWV0b2RlIGAlLjI1MHMnAGFkYSBrZXNhbGFoYW4gc2VsYW1hIG1lbWJhY2EgYmVya2FzIHBlbmplbGFzYW4gcGlsaWhhbiBgJS4yNTBzJwBhZGEga2VzYWxhaGFuIGRhbGFtIGVrc3ByZXNpIHJlZ3VsYXIAZ2FnYWwgIG1lbWJhY2EgcGVtYmVyaXRhaHVhbiBkYXJpIHBlc2FuIGtlZ2FnYWxhbiBwcm9ncmFtAGFkYSBrZXNhbGFoYW4gbWVtYmFjYSBrZXlib2FyZCBkYWxhbSBtb2R1cyBiYW50dWFuAGFkYSBrZXNhbGFoYW4gc2FhdCBtZW1iYWNhIGJlcmthcyBwaWxpaGFuIGAlLjI1MHMnAGdhZ2FsIG1lbmdhbG9rYXNpa2FuIHBhc2FuZ2FuIHdhcm5hAGdhZ2FsIG1lbGFrdWthbiBibG9jayBTSUdXSU5DSABnYWdhbCBtZW1idWF0IGNhdGF0YW4gJ2Jhc2VsaXN0JwBnYWdhbCBtZW1idWF0IGNhdGF0YW4gJ2hlYWRpbmcnAGdhZ2FsIG1lbWJ1YXQgY2F0YXRhbiAnaW5mbycAZ2FnYWwgbWVtYnVhdCB3aW5kb3cgJ3F1ZXJ5JwBnYWdhbCBtZW1idWF0IGNhdGF0YW4gJ3RoaXNzdGF0ZScAZ2FnYWwgbWVtYnVhdCBqdWR1bCB3aW5kb3cAZ2FnYWwgbWVtYnVhdCB3aW5kb3cgJ3doYXRpbmZvJwBHYWdhdCBtZW5kYXBhdGthbiAnc2lnYWN0IFNJR1dJTkNIJyB5YW5nIGxhbWEAZ2FnYWwgbWVuZGFwYXRrYW4gbWFzayBzaW55YWwgeWFuZyBsYW1hAGdhZ2FsIG1lbGFrdWthbiAnZ2V0Y2gnIGRhbGFtIG1lbnUgdXRhbWEAZ2FnYWwgbWVsYWt1a2FuICdyZS1ibG9jaycgU0lHV0lOQ0gAZ2FnYWwgbWVtYmFjYSBiZXJrYXMgcGVuamVsYXNhbiBwaWxpaGFuIGAlLjI1MHMnAGdhZ2FsIG1lbmdlbWJhbGlrYW4gJ3NpZ2FjdCBTSUdXSU5DSCcgeWFuZyBsYW1hAGdhZ2FsIG1lbmdlbWJhbGlrYW4gbWFzayBzaW55YWwgeWFuZyBsYW1hAGdhZ2FsIG1lbnlldGVsICdzaWdhY3QgU0lHV0lOQ0gnICB5YW5nIGJhcnUAZ2FnYWwgbWVsYWt1a2FuICd1bmJsb2NrJyBTSUdXSU5DSABnZXRjaCBnYWdhbABzZXRlbmdhaCB0ZXJwYXNhbmcAdGFoYW4AcABpbmRla3Mgc3RyaW5nIHRlcmxhbHUgcGFuamFuZwBwYXNhbmcAc2tyaXAgcGVtYXNhbmdhbgB0ZXJwYXNhbmcAcGlsaWhhbiBwZW5jYXJpYW4gdGlkYWsgc2FoAGlvY3RsKFRJT0NHV0lOU1opIGdhZ2FsAG1lbnUAbWV0b2RlIGAlLjI1MHMnIG1lbWlsaWtpIG5hbWEgdGVybGFsdSBwYW5qYW5nICglZCA+ICVkIGthcmFrdGVyKQBwYWtldCBiYXJ1AGFkYSBiYXJpcy1iYXJ1IHNlYmVsdW0gYXdhbCBuYW1hIHBpbGloYW4AYWRhIGJhcmlzLWJhcnUgc2ViZWx1bSBpa2h0aXNhcgBidWthbiBhbGZhbnVtZXJpayBkYWxhbSBuYW1hIHBpbGloYW4AYnVrYW4gZGlnaXQgZGkgdGVtcGF0IHlhbmcgaGFydXNueWEgZGlnaXQAYnVrYW4tYWxmYSBkaSB0ZW1wYXQgYXdhbCBuYW1hIHBpbGloYW4gAHRhayBkaXBhc2FuZwBwcmEtc3lhcmF0IGF3YWwAbWVueWVkaWFrYW4AbXVzbmFoa2FuAHEAc2NyaXB0IHF1ZXJ5L3NldHVwAGIAZGlhbmp1cmthbgBidWFuZwBidWFuZyAoa29uZmlndXJhc2lueWEgamFuZ2FuKQBtZW5nZ2FudGlrYW4AcwBiYWdpYW4gbGF5YXIAZGlzYXJhbmthbgBhZGEga2VzYWxhaGFuIHNpbnRha3MgZGFsYW0gYmVya2FzIHBpbGloYW4gbWV0b2RlIGAlLjI1MHMnIC0tICVzAHRlcm1pbmFsIHRhayBtZW1pbGlraSBmaXR1ciB5YW5nIGRpcGVybHVrYW4sIG1lbnllcmFoAHAAdGlkYWsgYmlzYSBtZW5nYWtzZXMgYmVya2FzIHNrcmlwIG1ldG9kZSBgJS4yNTBzJwB0aWRhayBiaXNhIG1lbnV0dXAgYmVya2FzIHBpbGloYW4gYCUuMjUwcycgeWFuZyBiYXJ1AHRpZGFrIGJpc2EgbWVtYXNhbmcgcGlsaWhhbiB5YW5nIGJhcnUgc2ViYWdhaSBgJS4yNTBzJwB0aWRhayBiaXNhIG1lbWJ1a2EgYmVya2FzIHBpbGloYW4gc2FhdCBpbmkgYCUuMjUwcycAdGlkYWsgYmlzYSBtZW1idWthIGJlcmthcyBwaWxpaGFuIGAlLjI1MHMnIHlhbmcgYmFydQB0aWRhayBiaXNhIG1lbWJ1a2EgYmVya2FzIHBlbmplbGFzYW4gcGlsaWhhbiBgJS4yNTBzJwB0aWRhayBiaXNhIG1lbWJhY2EgZGlyZWt0b3JpIGAlLjI1MHMnIHVudHVrIG1lbWJhY2EgbWV0b2RlAHRpZGFrIGJpc2EgbWVtYmFjYSBiZXJrYXMgcGlsaWhhbiBtZXRvZGUgYCUuMjUwcycAdGlkYWsgYmlzYSBtZWxha3VrYW4gJ3N0YXQnIHBhZGEgYmVya2FzIHBlbmplbGFzYW4gcGlsaWhhbiBgJS4yNTBzJwB0aWRhayBiaXNhIG1lbnVsaXMgcGlsaWhhbiBiYXJ1IGtlIGAlLjI1MHMnAHN0cmluZyBha3NpIGAlLjUwcycgdGlkYWsgZGlrZW5hbAB0ZWxhaCBkaWJ1a2EgKGJlbHVtIGRpc2V0ZWwpAHBlcmJhaGFydWkgc2NyaXB0IGRhZnRhciB5YW5nIHRlcnNlZGlhAA==