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ICVzKS4gICVzACVzICVzIHBhY2thZ2VzACVzICVzIHBhY2thZ2VzIGluIHNlY3Rpb24gJXMAJXMgJXMgcGFja2FnZXMgd2l0aG91dCBhIHNlY3Rpb24AJXMgZm9yIG1vcmUAJXMgcGFja2FnZXMgaW4gc2VjdGlvbiAlcwAlcyBwYWNrYWdlcyB3aXRob3V0IGEgc2VjdGlvbgAlcyB0byBnbyBiYWNrACogSGlnaGxpZ2h0OiBPbmUgbGluZSBpbiB0aGUgcGFja2FnZSBsaXN0IHdpbGwgYmUgaGlnaGxpZ2h0ZWQuICBJdCBpbmRpY2F0ZXMKICB3aGljaCBwYWNrYWdlKHMpIHdpbGwgYmUgYWZmZWN0ZWQgYnkgcHJlc3NlcyBvZiBgKycsIGAtJyBhbmQgYF8nLgoKKiBUaGUgZGl2aWRpbmcgbGluZSBpbiB0aGUgbWlkZGxlIG9mIHRoZSBzY3JlZW4gc2hvd3MgYSBicmllZiBleHBsYW5hdGlvbiBvZgogIHRoZSBzdGF0dXMgb2YgdGhlIGN1cnJlbnRseS1oaWdobGlnaHRlZCBwYWNrYWdlLCBvciBhIGRlc2NyaXB0aW9uIG9mIHdoaWNoCiAgZ3JvdXAgaXMgaGlnaGxpZ2h0ZWQgaWYgYSBncm91cCBsaW5lIGlzLiAgSWYgeW91IGRvbid0IHVuZGVyc3RhbmQgdGhlCiAgbWVhbmluZyBvZiBzb21lIG9mIHRoZSBzdGF0dXMgY2hhcmFjdGVycyBkaXNwbGF5ZWQsIGdvIHRvIHRoZSByZWxldmFudAogIHBhY2thZ2UgYW5kIGxvb2sgYXQgdGhpcyBkaXZpZGVyIGxpbmUsIG9yIHVzZSB0aGUgYHYnIGtleSBmb3IgYSB2ZXJib3NlCiAgZGlzcGxheSAocHJlc3MgYHYnIGFnYWluIHRvIGdvIGJhY2sgdG8gdGhlIHRlcnNlIGRpc3BsYXkpLgoKKiBUaGUgYm90dG9tIG9mIHRoZSBzY3JlZW4gc2hvd3MgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUKICBjdXJyZW50bHktaGlnaGxpZ2h0ZWQgcGFja2FnZSAoaWYgdGhlcmUgaXMgb25seSBvbmUpLgoKICBJdCBjYW4gc2hvdyBhbiBleHRlbmRlZCBkZXNjcmlwdGlvbiBvZiB0aGUgcGFja2FnZSwgdGhlIGludGVybmFsIHBhY2thZ2UKICBjb250cm9sIGRldGFpbHMgKGVpdGhlciBmb3IgdGhlIGluc3RhbGxlZCBvciBhdmFpbGFibGUgdmVyc2lvbiBvZiB0aGUKICBwYWNrYWdlKSwgb3IgaW5mb3JtYXRpb24gYWJvdXQgY29uZmxpY3RzIGFuZCBkZXBlbmRlbmNpZXMgaW52b2x2aW5nIHRoZQogIGN1cnJlbnQgcGFja2FnZSAoaW4gY29uZmxpY3QvZGVwZW5kZW5jeSByZXNvbHV0aW9uIHN1Ymxpc3RzKS4KCiAgVXNlIHRoZSBgaScga2V5IHRvIGN5Y2xlIHRocm91Z2ggdGhlIGRpc3BsYXlzLCBhbmQgYEknIHRvIGhpZGUgdGhlCiAgaW5mb3JtYXRpb24gZGlzcGxheSBvciBleHBhbmQgaXQgdG8gdXNlIGFsbW9zdCBhbGwgb2YgdGhlIHNjcmVlbi4KAD8AQWJicmV2LgBBYm9ydCAtIHF1aXQgd2l0aG91dCBtYWtpbmcgY2hhbmdlcwBBY2Nlc3MgbWV0aG9kIGAlcycuAEFjdGlvbnM6CiAgYWNjZXNzIHVwZGF0ZSBzZWxlY3QgaW5zdGFsbCBjb25maWcgcmVtb3ZlIHF1aXQKCgBBbGwAQWxsIHBhY2thZ2VzAEF0dHJpYnV0ZXM6CgBBdmFpbC52ZXIAQXZhaWxhYmxlAEF2YWlsYWJsZSBjb250cm9sIGZpbGUgaW5mb3JtYXRpb24AQXZhaWxhYmxlIHBhY2thZ2VzIChub3QgY3VycmVudGx5IGluc3RhbGxlZCkAQnJva2VuAEJyb2tlbmx5IGluc3RhbGxlZCBwYWNrYWdlcwBDaG9vc2UgdGhlIGFjY2VzcyBtZXRob2QgdG8gdXNlLgBDb2xvdXJzOgoAQ29uZmlndXJlIGFueSBwYWNrYWdlcyB0aGF0IGFyZSB1bmNvbmZpZ3VyZWQuAENvcHlyaWdodCAoQykgMTk5NC0xOTk2IElhbiBKYWNrc29uLgpDb3B5cmlnaHQgKEMpIDIwMDAsMjAwMSBXaWNoZXJ0IEFra2VybWFuLgoAQ3ljbGUgdGhyb3VnaCBpbmZvcm1hdGlvbiBkaXNwbGF5cwBEZWJpYW4gYCVzJyBwYWNrYWdlIGhhbmRsaW5nIGZyb250ZW5kIHZlcnNpb24gJXMuCgBEZXBlbmRlbmN5L2NvbmZsaWN0IHJlc29sdXRpb24gLSBpbnRyb2R1Y3Rpb24uCgpPbmUgb3IgbW9yZSBvZiB5b3VyIGNob2ljZXMgaGF2ZSByYWlzZWQgYSBjb25mbGljdCBvciBkZXBlbmRlbmN5IHByb2JsZW0gLQpzb21lIHBhY2thZ2VzIHNob3VsZCBvbmx5IGJlIGluc3RhbGxlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGNlcnRhaW4gb3RoZXJzLCBhbmQKc29tZSBjb21iaW5hdGlvbnMgb2YgcGFja2FnZXMgbWF5IG5vdCBiZSBpbnN0YWxsZWQgdG9nZXRoZXIuCgpZb3Ugd2lsbCBzZWUgYSBzdWItbGlzdCBjb250YWluaW5nIHRoZSBwYWNrYWdlcyBpbnZvbHZlZC4gIFRoZSBib3R0b20gaGFsZiBvZgp0aGUgZGlzcGxheSBzaG93cyByZWxldmFudCBjb25mbGljdHMgYW5kIGRlcGVuZGVuY2llczsgdXNlIGBpJyB0byBjeWNsZSBiZXR3ZWVuCnRoYXQsIHRoZSBwYWNrYWdlIGRlc2NyaXB0aW9ucyBhbmQgdGhlIGludGVybmFsIGNvbnRyb2wgaW5mb3JtYXRpb24uCgpBIHNldCBvZiBgc3VnZ2VzdGVkJyBwYWNrYWdlcyBoYXMgYmVlbiBjYWxjdWxhdGVkLCBhbmQgdGhlIGluaXRpYWwgbWFya2luZ3MgaW4KdGhpcyBzdWItbGlzdCBoYXZlIGJlZW4gc2V0IHRvIG1hdGNoIHRob3NlLCBzbyB5b3UgY2FuIGp1c3QgaGl0IFJldHVybiB0bwphY2NlcHQgdGhlIHN1Z2dlc3Rpb25zIGlmIHlvdSB3aXNoLiAgWW91IG1heSBhYm9ydCB0aGUgY2hhbmdlKHMpIHdoaWNoIGNhdXNlZAp0aGUgcHJvYmxlbShzKSwgYW5kIGdvIGJhY2sgdG8gdGhlIG1haW4gbGlzdCwgYnkgcHJlc3NpbmcgY2FwaXRhbCBgWCcuCgpZb3UgY2FuIGFsc28gbW92ZSBhcm91bmQgdGhlIGxpc3QgYW5kIGNoYW5nZSB0aGUgbWFya2luZ3Mgc28gdGhhdCB0aGV5IGFyZSBtb3JlCmxpa2Ugd2hhdCB5b3Ugd2FudCwgYW5kIHlvdSBjYW4gYHJlamVjdCcgbXkgc3VnZ2VzdGlvbnMgYnkgdXNpbmcgdGhlIGNhcGl0YWwKYEQnIG9yIGBSJyBrZXlzIChzZWUgdGhlIGtleWJpbmRpbmdzIGhlbHAgc2NyZWVuKS4gIFlvdSBjYW4gdXNlIGNhcGl0YWwgYFEnIHRvCmZvcmNlIG1lIHRvIGFjY2VwdCB0aGUgc2l0dWF0aW9uIGN1cnJlbnRseSBkaXNwbGF5ZWQsIGluIGNhc2UgeW91IHdhbnQgdG8Kb3ZlcnJpZGUgYSByZWNvbW1lbmRhdGlvbiBvciB0aGluayB0aGF0IHRoZSBwcm9ncmFtIGlzIG1pc3Rha2VuLgoKUHJlc3MgPHNwYWNlPiB0byBsZWF2ZSBoZWxwIGFuZCBlbnRlciB0aGUgc3ViLWxpc3Q7IHJlbWVtYmVyOiBwcmVzcyBgPycgZm9yIGhlbHAuCgBEZXNjcmlwdGlvbgBEaXNwbGF5LCBwYXJ0IDE6IHBhY2thZ2UgbGlzdGluZyBhbmQgc3RhdHVzIGNoYXJzAERpc3BsYXksIHBhcnQgMjogbGlzdCBoaWdobGlnaHQ7IGluZm9ybWF0aW9uIGRpc3BsYXkARUlPTQBFT0YgYmVmb3JlIG9wdGlvbiBuYW1lIHN0YXJ0AEVPRiBiZWZvcmUgc3VtbWFyeQBFT0YgaW4gaW5kZXggc3RyaW5nAEVPRiBpbiBvcHRpb24gbmFtZQBFT0YgaW4gc3VtbWFyeSAtIG1pc3NpbmcgbmV3bGluZQBFcnJvcgBFcnJvcjogAEV4cGxhbmF0aW9uAEV4dHJhAEdvIHRvIGVuZCBvZiBsaXN0AEdvIHRvIHRvcCBvZiBsaXN0AEhlbHAgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIHVuZGVyIHRoZSBmb2xsb3dpbmcgdG9waWNzOgBIZWxwOiAASW1wAEltcG9ydGFudABJbnN0LnZlcgBJbnN0YWxsIGFuZCB1cGdyYWRlIHdhbnRlZCBwYWNrYWdlcy4ASW5zdGFsbGVkAEluc3RhbGxlZCBjb250cm9sIGZpbGUgaW5mb3JtYXRpb24ASW5zdGFsbGVkIHBhY2thZ2VzAEluc3RhbGxlZD8ASW50ZXJyZWxhdGlvbnNoaXBzAEludHJvZHVjdGlvbiB0byBjb25mbGljdC9kZXBlbmRlbmN5IHJlc29sdXRpb24gc3ViLWxpc3QASW50cm9kdWN0aW9uIHRvIG1ldGhvZCBzZWxlY3Rpb24gZGlzcGxheQBJbnRyb2R1Y3Rpb24gdG8gcGFja2FnZSBzZWxlY3Rpb25zAEludHJvZHVjdGlvbiB0byByZWFkLW9ubHkgcGFja2FnZSBsaXN0IGJyb3dzZXIASW52YWxpZCAlcyBgJXMnCgBLZXliaW5kaW5ncwBLZXlzdHJva2VzAEtleXN0cm9rZXMgZm9yIG1ldGhvZCBzZWxlY3Rpb24ATWFrZSBoaWdobGlnaHQgbGVzcyBzcGVjaWZpYwBNYWtlIGhpZ2hsaWdodCBtb3JlIHNwZWNpZmljAE1hcmsgcGFja2FnZShzKSBmb3IgZGVpbnN0YWxsIGFuZCBwdXJnZQBNYXJrIHBhY2thZ2UocykgZm9yIGRlaW5zdGFsbGF0aW9uAE1hcmsgcGFja2FnZShzKSBmb3IgaW5zdGFsbGF0aW9uAE1hcmtlZCBmb3IATW90aW9uIGtleXM6IE5leHQvUHJldmlvdXMsIFRvcC9FbmQsIFVwL0Rvd24sIEJhY2t3YXJkcy9Gb3J3YXJkczoKICBqLCBEb3duLWFycm93ICAgICAgICAgaywgVXAtYXJyb3cgICAgICAgICAgICAgbW92ZSBoaWdobGlnaHQKICBOLCBQYWdlLWRvd24sIFNwYWNlICAgUCwgUGFnZS11cCwgQmFja3NwYWNlICAgc2Nyb2xsIGxpc3QgYnkgMSBwYWdlCiAgXm4gICAgICAgICAgICAgICAgICAgIF5wICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbCBsaXN0IGJ5IDEgbGluZQogIHQsIEhvbWUgICAgICAgICAgICAgICBlLCBFbmQgICAgICAgICAgICAgICAgICBqdW1wIHRvIHRvcC9lbmQgb2YgbGlzdAogIHUgICAgICAgICAgICAgICAgICAgICBkICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGwgaW5mbyBieSAxIHBhZ2UKICBedSAgICAgICAgICAgICAgICAgICAgXmQgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsIGluZm8gYnkgMSBsaW5lCiAgQiwgTGVmdC1hcnJvdyAgICAgICAgIEYsIFJpZ2h0LWFycm93ICAgICAgICAgIHBhbiBkaXNwbGF5IGJ5IDEvMyBzY3JlZW4KICBeYiAgICAgICAgICAgICAgICAgICAgXmYgICAgICAgICAgICAgICAgICAgICAgcGFuIGRpc3BsYXkgYnkgMSBjaGFyYWN0ZXIKCk1hcmsgcGFja2FnZXMgZm9yIGxhdGVyIHByb2Nlc3Npbmc6CiArLCBJbnNlcnQgIGluc3RhbGwgb3IgdXBncmFkZSAgICAgID0sIEggIGhvbGQgaW4gcHJlc2VudCBzdGF0ZQogLSwgRGVsZXRlICByZW1vdmUgICAgICAgICAgICAgICAgICA6LCBHICB1bmhvbGQ6IHVwZ3JhZGUgb3IgbGVhdmUgdW5pbnN0YWxsZWQKIF8gICAgICAgICAgcmVtb3ZlICYgcHVyZ2UgY29uZmlnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1pc2NlbGxhbmVvdXM6ClF1aXQsIGV4aXQsIG92ZXJ3cml0ZSAobm90ZSBjYXBpdGFscyEpOiAgICAgICA/LCBGMSByZXF1ZXN0IGhlbHAgKGFsc28gSGVscCkKIFJldHVybiAgQ29uZmlybSwgcXVpdCAoY2hlY2sgZGVwZW5kZW5jaWVzKSAgIGksIEkgIHRvZ2dsZS9jeWNsZSBpbmZvIGRpc3BsYXlzCiAgIFEgICAgIENvbmZpcm0sIHF1aXQgKG92ZXJyaWRlIGRlcC5zKSAgICAgICBvLCBPICBjeWNsZSB0aHJvdWdoIHNvcnQgb3B0aW9ucwogWCwgRXNjICBlWGl0LCBhYmFuZG9uaW5nIGFueSBjaGFuZ2VzIG1hZGUgICAgdiwgViAgY2hhbmdlIHN0YXR1cyBkaXNwbGF5IG9wdHMKICAgUiAgICAgUmV2ZXJ0IHRvIHN0YXRlIGJlZm9yZSB0aGlzIGxpc3QgICAgICBebCAgIHJlZHJhdyBkaXNwbGF5CiAgIFUgICAgIHNldCBhbGwgdG8gc1VnZ2VzdGVkIHN0YXRlICAgICAgICAgICAgIC8gICBzZWFyY2ggKFJldHVybiB0byBjYW5jZWwpCiAgIEQgICAgIHNldCBhbGwgdG8gRGlyZWN0bHkgcmVxdWVzdGVkIHN0YXRlICBuLCBcICByZXBlYXQgbGFzdCBzZWFyY2gKAE1vdGlvbiBrZXlzOiBOZXh0L1ByZXZpb3VzLCBUb3AvRW5kLCBVcC9Eb3duLCBCYWNrd2FyZHMvRm9yd2FyZHM6CiAgaiwgRG93bi1hcnJvdyAgICAgICAgIGssIFVwLWFycm93ICAgICAgICAgICAgIG1vdmUgaGlnaGxpZ2h0CiAgTiwgUGFnZS1kb3duLCBTcGFjZSAgIFAsIFBhZ2UtdXAsIEJhY2tzcGFjZSAgIHNjcm9sbCBsaXN0IGJ5IDEgcGFnZQogIF5uICAgICAgICAgICAgICAgICAgICBecCAgICAgICAgICAgICAgICAgICAgICBzY3JvbGwgbGlzdCBieSAxIGxpbmUKICB0LCBIb21lICAgICAgICAgICAgICAgZSwgRW5kICAgICAgICAgICAgICAgICAganVtcCB0byB0b3AvZW5kIG9mIGxpc3QKICB1ICAgICAgICAgICAgICAgICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsIGluZm8gYnkgMSBwYWdlCiAgXnUgICAgICAgICAgICAgICAgICAgIF5kICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbCBpbmZvIGJ5IDEgbGluZQogIEIsIExlZnQtYXJyb3cgICAgICAgICBGLCBSaWdodC1hcnJvdyAgICAgICAgICBwYW4gZGlzcGxheSBieSAxLzMgc2NyZWVuCiAgXmIgICAgICAgICAgICAgICAgICAgIF5mICAgICAgICAgICAgICAgICAgICAgIHBhbiBkaXNwbGF5IGJ5IDEgY2hhcmFjdGVyCihUaGVzZSBhcmUgdGhlIHNhbWUgbW90aW9uIGtleXMgYXMgaW4gdGhlIHBhY2thZ2UgbGlzdCBkaXNwbGF5LikKClF1aXQ6CiBSZXR1cm4sIEVudGVyICAgIHNlbGVjdCB0aGlzIG1ldGhvZCBhbmQgZ28gdG8gaXRzIGNvbmZpZ3VyYXRpb24gZGlhbG9ndWUKIHgsIFggICAgICAgICAgICAgZXhpdCB3aXRob3V0IGNoYW5naW5nIG9yIHNldHRpbmcgdXAgdGhlIGluc3RhbGxhdGlvbiBtZXRob2QKCk1pc2NlbGxhbmVvdXM6CiAgPywgSGVscCwgRjEgICAgICByZXF1ZXN0IGhlbHAKIF5sICAgICAgICAgICAgICAgIHJlZHJhdyBkaXNwbGF5CiAgLyAgICAgICAgICAgICAgICBzZWFyY2ggKGp1c3QgcmV0dXJuIHRvIGNhbmNlbCkKICBcICAgICAgICAgICAgICAgIHJlcGVhdCBsYXN0IHNlYXJjaAoATW92ZSBkb3duAE1vdmUgdXAATmV3AE5ld2x5IGF2YWlsYWJsZSBwYWNrYWdlcwBObyBkZXNjcmlwdGlvbiBhdmFpbGFibGUuAE5vIGV4cGxhbmF0aW9uIGF2YWlsYWJsZS4ATnVsbCBjb2xvdXIgc3BlY2lmaWNhdGlvbgoAT2Jzb2xldGUgYW5kIGxvY2FsIHBhY2thZ2VzIHByZXNlbnQgb24gc3lzdGVtAE9ic29sZXRlL2xvY2FsAE9sZCBtYXJrAE9wdABPcHRpb25hbABPcHRpb25zOgogIC0tYWRtaW5kaXIgPGRpcmVjdG9yeT4gICAgIFVzZSA8ZGlyZWN0b3J5PiBpbnN0ZWFkIG9mICVzLgogIC0tZXhwZXJ0ICAgICAgICAgICAgICAgICAgIFR1cm4gb24gZXhwZXJ0IG1vZGUuCiAgLS1kZWJ1ZyA8ZmlsZT4gfCAtRDxmaWxlPiAgVHVybiBvbiBkZWJ1Z2dpbmcsIHNlbmRpbmcgb3V0cHV0IHRvIDxmaWxlPi4KICAtLWNvbG91ciB8IC0tY29sb3Igc2NyZWVucGFydDpbZm9yZWdyb3VuZF0sW2JhY2tncm91bmRdWzphdHRyWythdHRyKy4uXV0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDb25maWd1cmUgc2NyZWVuIGNvbG91cnMuCgoAUGFja2FnZQBQcmVzcyA8ZW50ZXI+IHRvIGNvbnRpbnVlLgoAUHJlc3MgPyBmb3IgaGVscCBtZW51LCAuIGZvciBuZXh0IHRvcGljLCA8c3BhY2U+IHRvIGV4aXQgaGVscC4AUHJlc3MgYSBrZXkgZnJvbSB0aGUgbGlzdCBhYm92ZSwgPHNwYWNlPiBvciBgcScgdG8gZXhpdCBoZWxwLAogIG9yIGAuJyAoZnVsbCBzdG9wKSB0byByZWFkIGVhY2ggaGVscCBwYWdlIGluIHR1cm4uIABQcmlvcml0eQBQdXJnZWQAUHVyZ2VkIHBhY2thZ2VzIGFuZCB0aG9zZSBuZXZlciBpbnN0YWxsZWQAUXVpdCBkc2VsZWN0LgBRdWl0IHdpdGhvdXQgY2hhbmdpbmcgc2VsZWN0ZWQgYWNjZXNzIG1ldGhvZABRdWl0LCBjb25maXJtaW5nIHdpdGhvdXQgY2hlY2sAUXVpdCwgY29uZmlybWluZywgYW5kIGNoZWNraW5nIGRlcGVuZGVuY2llcwBRdWl0LCByZWplY3RpbmcgY29uZmxpY3QvZGVwZW5kZW5jeSBzdWdnZXN0aW9ucwBSRUlOU1RBTEwAUmVkcmF3IGRpc3BsYXkAUmVtb3ZlIHVud2FudGVkIHNvZnR3YXJlLgBSZW1vdmVkAFJlbW92ZWQgYW5kIG5vIGxvbmdlciBhdmFpbGFibGUgcGFja2FnZXMAUmVtb3ZlZCBwYWNrYWdlcyAoY29uZmlndXJhdGlvbiBzdGlsbCBwcmVzZW50KQBSZXBlYXQgbGFzdCBzZWFyY2guAFJlcQBSZXF1ZXN0IGhlbHAgKGN5Y2xlIHRocm91Z2ggaGVscCBzY3JlZW5zKQBSZXF1ZXN0IHdoaWNoIHBhY2thZ2VzIHlvdSB3YW50IG9uIHlvdXIgc3lzdGVtLgBSZXF1aXJlZABSZXZlcnQgdG8gY3VycmVudGx5IGluc3RhbGxlZCBzdGF0ZSBmb3IgYWxsIHBhY2thZ2VzAFJldmVydCB0byBkaXJlY3RseSByZXF1ZXN0ZWQgc3RhdGUgZm9yIGFsbCBwYWNrYWdlcwBSZXZlcnQgdG8gb2xkIHN0YXRlIGZvciBhbGwgcGFja2FnZXMAUmV2ZXJ0IHRvIHN1Z2dlc3RlZCBzdGF0ZSBmb3IgYWxsIHBhY2thZ2VzAFNjcmVlbnBhcnRzOgoAU2Nyb2xsIGJhY2t3YXJkcyB0aHJvdWdoIGhlbHAvaW5mb3JtYXRpb24AU2Nyb2xsIGJhY2t3YXJkcyB0aHJvdWdoIGhlbHAvaW5mb3JtYXRpb24gYnkgMSBsaW5lAFNjcm9sbCBiYWNrd2FyZHMgdGhyb3VnaCBsaXN0AFNjcm9sbCBiYWNrd2FyZHMgdGhyb3VnaCBsaXN0IGJ5IDEgbGluZQBTY3JvbGwgb253YXJkcyB0aHJvdWdoIGhlbHAvaW5mb3JtYXRpb24AU2Nyb2xsIG9ud2FyZHMgdGhyb3VnaCBoZWxwL2luZm9ybWF0aW9uIGJ5IDEgbGluZQBTY3JvbGwgb253YXJkcyB0aHJvdWdoIGxpc3QAU2Nyb2xsIG9ud2FyZHMgdGhyb3VnaCBsaXN0IGJ5IDEgbGluZQBTZWFyY2ggZm9yID8gAFNlYXJjaCBmb3IgYSBwYWNrYWdlIHdob3NlIG5hbWUgY29udGFpbnMgYSBzdHJpbmcAU2VjdGlvbgBTZWxlY3QgY3VycmVudGx5LWhpZ2hsaWdodGVkIGFjY2VzcyBtZXRob2QAU2V0IHlvdXIgVEVSTSB2YXJpYWJsZSBjb3JyZWN0bHksIHVzZSBhIGJldHRlciB0ZXJtaW5hbCwKb3IgbWFrZSBkbyB3aXRoIHRoZSBwZXItcGFja2FnZSBtYW5hZ2VtZW50IHRvb2wgJXMuCgBTdGFuZGFyZABTdGQAU3dhcCBzb3J0IG9yZGVyIHByaW9yaXR5L3NlY3Rpb24AVGVybWluYWwgZG9lcyBub3QgYXBwZWFyIHRvIHN1cHBvcnQgY3Vyc29yIGFkZHJlc3NpbmcuCgBUZXJtaW5hbCBkb2VzIG5vdCBhcHBlYXIgdG8gc3VwcG9ydCBoaWdobGlnaHRpbmcuCgBUaGUgbGluZSB5b3UgaGF2ZSBoaWdobGlnaHRlZCByZXByZXNlbnRzIG1hbnkgcGFja2FnZXM7IGlmIHlvdSBhc2sgdG8gaW5zdGFsbCwgcmVtb3ZlLCBob2xkLCBldGMuIGl0IHlvdSB3aWxsIGFmZmVjdCBhbGwgdGhlIHBhY2thZ2VzIHdoaWNoIG1hdGNoIHRoZSBjcml0ZXJpb24gc2hvd24uCgpJZiB5b3UgbW92ZSB0aGUgaGlnaGxpZ2h0IHRvIGEgbGluZSBmb3IgYSBwYXJ0aWN1bGFyIHBhY2thZ2UgeW91IHdpbGwgc2VlIGluZm9ybWF0aW9uIGFib3V0IHRoYXQgcGFja2FnZSBkaXNwbGF5ZWQgaGVyZS4KWW91IGNhbiB1c2UgYG8nIGFuZCBgTycgdG8gY2hhbmdlIHRoZSBzb3J0IG9yZGVyIGFuZCBnaXZlIHlvdXJzZWxmIHRoZSBvcHBvcnR1bml0eSB0byBtYXJrIHBhY2thZ2VzIGluIGRpZmZlcmVudCBraW5kcyBvZiBncm91cHMuAFRoZSB0b3AgaGFsZiBvZiB0aGUgc2NyZWVuIHNob3dzIGEgbGlzdCBvZiBwYWNrYWdlcy4gIEZvciBlYWNoIHBhY2thZ2UgeW91IHNlZQpmb3VyIGNvbHVtbnMgZm9yIGl0cyBjdXJyZW50IHN0YXR1cyBvbiB0aGUgc3lzdGVtIGFuZCBtYXJrLiAgSW4gdGVyc2UgbW9kZSAodXNlCmB2JyB0byB0b2dnbGUgdmVyYm9zZSBkaXNwbGF5KSB0aGVzZSBhcmUgc2luZ2xlIGNoYXJhY3RlcnMsIGZyb20gbGVmdCB0byByaWdodDoKCiBFcnJvciBmbGFnOiBTcGFjZSAtIG5vIGVycm9yIChidXQgcGFja2FnZSBtYXkgYmUgaW4gYnJva2VuIHN0YXRlIC0gc2VlIGJlbG93KQogICAgICAgICAgICAgIGBSJyAgLSBzZXJpb3VzIGVycm9yIGR1cmluZyBpbnN0YWxsYXRpb24sIG5lZWRzIHJlaW5zdGFsbGF0aW9uOwogSW5zdGFsbGVkIHN0YXRlOiAgICAgU3BhY2UgICAgLSBub3QgaW5zdGFsbGVkOwogICAgICAgICAgICAgICAgICAgICAgIGAqJyAgICAgLSBpbnN0YWxsZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgYC0nICAgICAtIG5vdCBpbnN0YWxsZWQgYnV0IGNvbmZpZyBmaWxlcyByZW1haW47CiAgIHBhY2thZ2VzIGluIHRoZXNlIHsgYFUnICAgICAtIHVucGFja2VkIGJ1dCBub3QgeWV0IGNvbmZpZ3VyZWQ7CiAgIHN0YXRlcyBhcmUgbm90ICAgIHsgYEMnICAgICAtIGhhbGYtY29uZmlndXJlZCAoYW4gZXJyb3IgaGFwcGVuZWQpOwogICAocXVpdGUpIHByb3Blcmx5ICB7IGBJJyAgICAgLSBoYWxmLWluc3RhbGxlZCAoYW4gZXJyb3IgaGFwcGVuZWQpOwogICBpbnN0YWxsZWQgICAgICAgICB7IGBXJyxgdCcgLSB0cmlnZ2VycyBhcmUgYXdhaXRlZCByZXNwLiBwZW5kaW5nLgogT2xkIG1hcms6IHdoYXQgd2FzIHJlcXVlc3RlZCBmb3IgdGhpcyBwYWNrYWdlIGJlZm9yZSBwcmVzZW50aW5nIHRoaXMgbGlzdDsKIE1hcms6IHdoYXQgaXMgcmVxdWVzdGVkIGZvciB0aGlzIHBhY2thZ2U6CiAgYConOiBtYXJrZWQgZm9yIGluc3RhbGxhdGlvbiBvciB1cGdyYWRlOwogIGAtJzogbWFya2VkIGZvciByZW1vdmFsLCBidXQgYW55IGNvbmZpZ3VyYXRpb24gZmlsZXMgd2lsbCByZW1haW47CiAgYD0nOiBvbiBob2xkOiBwYWNrYWdlIHdpbGwgbm90IGJlIHByb2Nlc3NlZCBhdCBhbGw7CiAgYF8nOiBtYXJrZWQgZm9yIHB1cmdlIGNvbXBsZXRlbHkgLSBldmVuIHJlbW92ZSBjb25maWd1cmF0aW9uOwogIGBuJzogcGFja2FnZSBpcyBuZXcgYW5kIGhhcyB5ZXQgdG8gYmUgbWFya2VkIGZvciBpbnN0YWxsL3JlbW92ZS8mYy4KCkFsc28gZGlzcGxheWVkIGFyZSBlYWNoIHBhY2thZ2UncyBQcmlvcml0eSwgU2VjdGlvbiwgbmFtZSwgaW5zdGFsbGVkIGFuZAphdmFpbGFibGUgdmVyc2lvbiBudW1iZXJzIChzaGlmdC1WIHRvIGRpc3BsYXkvaGlkZSkgYW5kIHN1bW1hcnkgZGVzY3JpcHRpb24uCgBUeXBlIGRzZWxlY3QgLS1oZWxwIGZvciBoZWxwLgBVbmNsYXNzaWZpZWQAVXAgdG8gZGF0ZSBpbnN0YWxsZWQgcGFja2FnZXMAVXAtdG8tZGF0ZQBVcGRhdGUgbGlzdCBvZiBhdmFpbGFibGUgcGFja2FnZXMsIGlmIHBvc3NpYmxlLgBVcGRhdGVkAFVwZGF0ZWQgcGFja2FnZXMgKG5ld2VyIHZlcnNpb24gaXMgYXZhaWxhYmxlKQBVc2FnZTogJXMgWzxvcHRpb24+IC4uLl0gWzxhY3Rpb24+IC4uLl0KCgBXZWxjb21lIHRvIGRzZWxlY3QncyBtYWluIHBhY2thZ2UgbGlzdGluZy4KCllvdSB3aWxsIGJlIHByZXNlbnRlZCB3aXRoIGEgbGlzdCBvZiBwYWNrYWdlcyB3aGljaCBhcmUgaW5zdGFsbGVkIG9yIGF2YWlsYWJsZQpmb3IgaW5zdGFsbGF0aW9uLiAgU2luY2UgeW91IGRvIG5vdCBoYXZlIHRoZSBwcml2aWxlZ2UgbmVjZXNzYXJ5IHRvIHVwZGF0ZQpwYWNrYWdlIHN0YXRlcywgeW91IGFyZSBpbiBhIHJlYWQtb25seSBtb2RlLiAgWW91IGNhbiBuYXZpZ2F0ZSBhcm91bmQgdGhlCmxpc3QgdXNpbmcgdGhlIGN1cnNvciBrZXlzIChwbGVhc2Ugc2VlIHRoZSBgS2V5c3Ryb2tlcycgaGVscCBzY3JlZW4pLCBvYnNlcnZlCnRoZSBzdGF0dXMgb2YgdGhlIHBhY2thZ2VzIGFuZCByZWFkIGluZm9ybWF0aW9uIGFib3V0IHRoZW0uCgpZb3Ugc2hvdWxkIHJlYWQgdGhlIGxpc3Qgb2Yga2V5cyBhbmQgdGhlIGV4cGxhbmF0aW9ucyBvZiB0aGUgZGlzcGxheS4KTXVjaCBvbi1saW5lIGhlbHAgaXMgYXZhaWxhYmxlLCBwbGVhc2UgbWFrZSB1c2Ugb2YgaXQgLSBwcmVzcyBgPycgYXQKYW55IHRpbWUgZm9yIGhlbHAuCgpXaGVuIHlvdSBoYXZlIGZpbmlzaGVkIGJyb3dzaW5nLCBwcmVzcyBgUScgb3IgPGVudGVyPiB0byBxdWl0LgoKUHJlc3MgPHNwYWNlPiB0byBsZWF2ZSBoZWxwIGFuZCBlbnRlciB0aGUgbGlzdCBub3cuCgBXZWxjb21lIHRvIGRzZWxlY3QncyBtYWluIHBhY2thZ2UgbGlzdGluZy4KCllvdSB3aWxsIGJlIHByZXNlbnRlZCB3aXRoIGEgbGlzdCBvZiBwYWNrYWdlcyB3aGljaCBhcmUgaW5zdGFsbGVkIG9yIGF2YWlsYWJsZQpmb3IgaW5zdGFsbGF0aW9uLiAgWW91IGNhbiBuYXZpZ2F0ZSBhcm91bmQgdGhlIGxpc3QgdXNpbmcgdGhlIGN1cnNvciBrZXlzLAptYXJrIHBhY2thZ2VzIGZvciBpbnN0YWxsYXRpb24gKHVzaW5nIGArJykgb3IgZGVpbnN0YWxsYXRpb24gKHVzaW5nIGAtJykuClBhY2thZ2VzIGNhbiBiZSBtYXJrZWQgZWl0aGVyIHNpbmdseSBvciBpbiBncm91cHM7IGluaXRpYWxseSB5b3Ugd2lsbCBzZWUgdGhhdAp0aGUgbGluZSBgQWxsIHBhY2thZ2VzJyBpcyBzZWxlY3RlZC4gIGArJywgYC0nIGFuZCBzbyBvbiB3aWxsIGFmZmVjdCBhbGwgdGhlCnBhY2thZ2VzIGRlc2NyaWJlZCBieSB0aGUgaGlnaGxpZ2h0ZWQgbGluZS4KClNvbWUgb2YgeW91ciBjaG9pY2VzIHdpbGwgY2F1c2UgY29uZmxpY3RzIG9yIGRlcGVuZGVuY3kgcHJvYmxlbXM7IHlvdSB3aWxsIGJlCmdpdmVuIGEgc3ViLWxpc3Qgb2YgdGhlIHJlbGV2YW50IHBhY2thZ2VzLCBzbyB0aGF0IHlvdSBjYW4gc29sdmUgdGhlIHByb2JsZW1zLgoKWW91IHNob3VsZCByZWFkIHRoZSBsaXN0IG9mIGtleXMgYW5kIHRoZSBleHBsYW5hdGlvbnMgb2YgdGhlIGRpc3BsYXkuCk11Y2ggb24tbGluZSBoZWxwIGlzIGF2YWlsYWJsZSwgcGxlYXNlIG1ha2UgdXNlIG9mIGl0IC0gcHJlc3MgYD8nIGF0CmFueSB0aW1lIGZvciBoZWxwLgoKV2hlbiB5b3UgaGF2ZSBmaW5pc2hlZCBzZWxlY3RpbmcgcGFja2FnZXMsIHByZXNzIDxlbnRlcj4gdG8gY29uZmlybSBjaGFuZ2VzLApvciBgWCcgdG8gcXVpdCB3aXRob3V0IHNhdmluZyBjaGFuZ2VzLiBBIGZpbmFsIGNoZWNrIG9uIGNvbmZsaWN0cyBhbmQKZGVwZW5kZW5jaWVzIHdpbGwgYmUgZG9uZSAtIGhlcmUgdG9vIHlvdSBtYXkgc2VlIGEgc3VibGlzdC4KClByZXNzIDxzcGFjZT4gdG8gbGVhdmUgaGVscCBhbmQgZW50ZXIgdGhlIGxpc3Qgbm93LgoAWHRyAFtBXWNjZXNzAFtDXW9uZmlnAFtJXW5zdGFsbABbUV11aXQAW1JdZW1vdmUAW1NdZWxlY3QAW1VdcGRhdGUAW25vdCBib3VuZF0AW3VuazogJWRdAGEAYXdhaXRpbmcgdHJpZ2dlciBwcm9jZXNzaW5nAGJVRwBicmVha3MAYwBjb2xvdXIAY29sb3VyIGF0dHJpYnV0ZQBjb25mbGljdHMgd2l0aABjb3VsZG4ndCBvcGVuIGRlYnVnIGZpbGUgYCUuMjU1cycKAGRlcGVuZHMgb24AZG91cGRhdGUgZmFpbGVkAGRvdXBkYXRlIGluIFNJR1dJTkNIIGhhbmRsZXIgZmFpbGVkAGRzZWxlY3QgLSBpbnNwZWN0aW9uIG9mIHBhY2thZ2Ugc3RhdGVzAGRzZWxlY3QgLSBsaXN0IG9mIGFjY2VzcyBtZXRob2RzAGRzZWxlY3QgLSBtYWluIHBhY2thZ2UgbGlzdGluZwBkc2VsZWN0IC0gcmVjdXJzaXZlIHBhY2thZ2UgbGlzdGluZwBkc2VsZWN0IGFuZCBkcGtnIGNhbiBkbyBhdXRvbWF0aWMgaW5zdGFsbGF0aW9uLCBsb2FkaW5nIHRoZSBwYWNrYWdlIGZpbGVzIHRvIGJlCmluc3RhbGxlZCBmcm9tIG9uZSBvZiBhIG51bWJlciBvZiBkaWZmZXJlbnQgcG9zc2libGUgcGxhY2VzLgoKVGhpcyBsaXN0IGFsbG93cyB5b3UgdG8gc2VsZWN0IG9uZSBvZiB0aGVzZSBpbnN0YWxsYXRpb24gbWV0aG9kcy4KCk1vdmUgdGhlIGhpZ2hsaWdodCB0byB0aGUgbWV0aG9kIHlvdSB3aXNoIHRvIHVzZSwgYW5kIGhpdCBFbnRlci4gIFlvdSB3aWxsIHRoZW4KYmUgcHJvbXB0ZWQgZm9yIHRoZSBpbmZvcm1hdGlvbiByZXF1aXJlZCB0byBkbyB0aGUgaW5zdGFsbGF0aW9uLgoKQXMgeW91IG1vdmUgdGhlIGhpZ2hsaWdodCBhIGRlc2NyaXB0aW9uIG9mIGVhY2ggbWV0aG9kLCB3aGVyZSBhdmFpbGFibGUsIGlzCmRpc3BsYXllZCBpbiB0aGUgYm90dG9tIGhhbGYgb2YgdGhlIHNjcmVlbi4KCklmIHlvdSB3aXNoIHRvIHF1aXQgd2l0aG91dCBjaGFuZ2luZyBhbnl0aGluZyB1c2UgdGhlIGB4JyBrZXkgd2hpbGUgaW4gdGhlIGxpc3QKb2YgaW5zdGFsbGF0aW9uIG1ldGhvZHMuCgpBIGZ1bGwgbGlzdCBvZiBrZXlzdHJva2VzIGlzIGF2YWlsYWJsZSBieSBwcmVzc2luZyBgaycgbm93LCBvciBmcm9tIHRoZSBoZWxwCm1lbnUgcmVhY2hhYmxlIGJ5IHByZXNzaW5nIGA/Jy4KAGVuaGFuY2VzAGVycm9yIGR1cmluZyByZWFkIG9mIG1ldGhvZCBvcHRpb25zIGZpbGUgYCUuMjUwcycAZXJyb3IgZHVyaW5nIHJlYWQgb2Ygb3B0aW9uIGRlc2NyaXB0aW9uIGZpbGUgYCUuMjUwcycAZXJyb3IgaW4gcmVndWxhciBleHByZXNzaW9uAGVycm9yIHJlYWRpbmcgYWNrbm93bGVkZ2VtZW50IG9mIHByb2dyYW0gZmFpbHVyZSBtZXNzYWdlAGVycm9yIHJlYWRpbmcga2V5Ym9hcmQgaW4gaGVscABlcnJvciByZWFkaW5nIG9wdGlvbnMgZmlsZSBgJS4yNTBzJwBmYWlsZWQgdG8gYWxsb2NhdGUgY29sb3VyIHBhaXIAZmFpbGVkIHRvIGJsb2NrIFNJR1dJTkNIAGZhaWxlZCB0byBjcmVhdGUgYmFzZWxpc3QgcGFkAGZhaWxlZCB0byBjcmVhdGUgaGVhZGluZyBwYWQAZmFpbGVkIHRvIGNyZWF0ZSBpbmZvIHBhZABmYWlsZWQgdG8gY3JlYXRlIHF1ZXJ5IHdpbmRvdwBmYWlsZWQgdG8gY3JlYXRlIHRoaXNzdGF0ZSBwYWQAZmFpbGVkIHRvIGNyZWF0ZSB0aXRsZSB3aW5kb3cAZmFpbGVkIHRvIGNyZWF0ZSB3aGF0aW5mbyB3aW5kb3cAZmFpbGVkIHRvIGdldCBvbGQgU0lHV0lOQ0ggc2lnYWN0AGZhaWxlZCB0byBnZXQgb2xkIHNpZ25hbCBtYXNrAGZhaWxlZCB0byBnZXRjaCBpbiBtYWluIG1lbnUAZmFpbGVkIHRvIHJlLWJsb2NrIFNJR1dJTkNIAGZhaWxlZCB0byByZWFkIG9wdGlvbiBkZXNjcmlwdGlvbiBmaWxlIGAlLjI1MHMnAGZhaWxlZCB0byByZXN0b3JlIG9sZCBTSUdXSU5DSCBzaWdhY3QAZmFpbGVkIHRvIHJlc3RvcmUgb2xkIHNpZ25hbCBtYXNrAGZhaWxlZCB0byBzZXQgbmV3IFNJR1dJTkNIIHNpZ2FjdABmYWlsZWQgdG8gdW5ibG9jayBTSUdXSU5DSABnZXRjaCBmYWlsZWQAaGFsZiBpbnN0YWxsZWQAaG9sZABpAGluZGV4IHN0cmluZyB0b28gbG9uZwBpbnN0YWxsAGluc3RhbGxhdGlvbiBzY3JpcHQAaW5zdGFsbGVkAGludmFsaWQgc2VhcmNoIG9wdGlvbiBnaXZlbgBpb2N0bChUSU9DR1dJTlNaKSBmYWlsZWQAbWVudQBtZXRob2QgYCUuMjUwcycgaGFzIG5hbWUgdGhhdCBpcyB0b28gbG9uZyAoJWQgPiAlZCBjaGFyYWN0ZXJzKQBuZXcgcGFja2FnZQBuZXdsaW5lIGJlZm9yZSBvcHRpb24gbmFtZSBzdGFydABuZXdsaW5lIGJlZm9yZSBzdW1tYXJ5AG5vbi1hbHBoYW51bSBpbiBvcHRpb24gbmFtZQBub24tZGlnaXQgd2hlcmUgZGlnaXQgd2FudGVkAG5vbmFscGhhIHdoZXJlIG9wdGlvbiBuYW1lIHN0YXJ0IHdhbnRlZABub3QgaW5zdGFsbGVkAHByZS1kZXBlbmRzIG9uAHByb3ZpZGVzAHB1cmdlAHEAcXVlcnkvc2V0dXAgc2NyaXB0AHIAcmVjb21tZW5kcwByZW1vdmUAcmVtb3ZlZCAoY29uZmlncyByZW1haW4pAHJlcGxhY2VzAHMAc2NyZWVuIHBhcnQAc3VnZ2VzdHMAc3ludGF4IGVycm9yIGluIG1ldGhvZCBvcHRpb25zIGZpbGUgYCUuMjUwcycgLS0gJXMAdGVybWluYWwgbGFja3MgbmVjZXNzYXJ5IGZlYXR1cmVzLCBnaXZpbmcgdXAAdHJpZ2dlcmVkAHUAdW5hYmxlIHRvIGFjY2VzcyBtZXRob2Qgc2NyaXB0IGAlLjI1MHMnAHVuYWJsZSB0byBjbG9zZSBuZXcgb3B0aW9uIGZpbGUgYCUuMjUwcycAdW5hYmxlIHRvIGluc3RhbGwgbmV3IG9wdGlvbiBhcyBgJS4yNTBzJwB1bmFibGUgdG8gb3BlbiBjdXJyZW50IG9wdGlvbiBmaWxlIGAlLjI1MHMnAHVuYWJsZSB0byBvcGVuIG5ldyBvcHRpb24gZmlsZSBgJS4yNTBzJwB1bmFibGUgdG8gb3BlbiBvcHRpb24gZGVzY3JpcHRpb24gZmlsZSBgJS4yNTBzJwB1bmFibGUgdG8gcmVhZCBgJS4yNTBzJyBkaXJlY3RvcnkgZm9yIHJlYWRpbmcgbWV0aG9kcwB1bmFibGUgdG8gcmVhZCBtZXRob2Qgb3B0aW9ucyBmaWxlIGAlLjI1MHMnAHVuYWJsZSB0byBzdGF0IG9wdGlvbiBkZXNjcmlwdGlvbiBmaWxlIGAlLjI1MHMnAHVuYWJsZSB0byB3cml0ZSBuZXcgb3B0aW9uIHRvIGAlLjI1MHMnAHVua25vd24gYWN0aW9uIHN0cmluZyBgJS41MHMnAHVucGFja2VkIChub3Qgc2V0IHVwKQB1cGRhdGUgYXZhaWxhYmxlIGxpc3Qgc2NyaXB0AFByb2plY3QtSWQtVmVyc2lvbjogcm8KUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IGRlYmlhbi1kcGtnQGxpc3RzLmRlYmlhbi5vcmcKUE9ULUNyZWF0aW9uLURhdGU6IDIwMTEtMTAtMTQgMDc6MTErMDIwMApQTy1SZXZpc2lvbi1EYXRlOiAyMDA4LTA2LTI4IDE5OjExKzAzMDAKTGFzdC1UcmFuc2xhdG9yOiBFZGR5IFBldHJpyJlvciA8ZWRkeS5wZXRyaXNvckBnbWFpbC5jb20+Ckxhbmd1YWdlLVRlYW06IFJvbWFuaWFuIDxkZWJpYW4tbDEwbi1yb21hbmlhbkBsaXN0cy5kZWJpYW4ub3JnPgpMYW5ndWFnZTogcm8KTUlNRS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKUGx1cmFsLUZvcm1zOiAgbnBsdXJhbHM9MzsgcGx1cmFsPW49PTEgPyAwIDogKG49PTAgfHwgKG4lMTAwID4gMCAmJiBuJTEwMCA8IDIwKSkgPyAxIDogMjsKWC1HZW5lcmF0b3I6IEtCYWJlbCAxLjExLjQKAAoKJXM6ICVzCgAKCkRlcGxhc2FyZSBjdSBeUCDImWkgXk4sIHRhc3RlbGUgY3Vyc29yLCBsaXRlcmVsZSBpbmnIm2lhbGUsIHNhdSBjaWZyZTsKQXDEg3NhyJtpIDxlbnRlcj4gcGVudHJ1IGNvbmZpcm1hcmVhIHNlbGVjyJtpZWkuICBeTCByZWRlc2VuZWF6xIMgZWNyYW51bC4KCgAKCkFjY2VzIGRvYXIgw65uIGNpdGlyZTogZXN0ZSBkaXNwb25pYmlsxIMgZG9hciB2aXp1YWxpemFyZWEgc2VsZWPIm2lpbG9yIQAKQXDEg3NhyJtpIDxlbnRlcj4gcGVudHJ1IGEgY29udGludWEuACAAICAtLSAlZCUlLCBhcMSDc2HIm2kgACAoYWxmYWJldGljKQAgKGRpc3BvbmliaWwsIHByaW9yaXRhdGUpACAoZGlzcG9uaWJpbCwgc2VjyJtpdW5lKQAgKGR1cMSDIGRpc3BvbmliaWxpdGF0ZSkAIChkdXDEgyBwcmlvcml0YXRlKQAgKGR1cMSDIHNlY8ibaXVuZSkAIChkdXDEgyBzdGFyZSkAIChzdGFyZSwgcHJpb3JpdGF0ZSkAIChzdGFyZSwgc2VjyJtpdW5lKQBudSBwYXJlIHPEgyBmaWUgZGlzcG9uaWJpbMSDCgAgbWFyY2hlYXrEgzorLz0vLSBjb25jaXM6diBhanV0b3I6PwAgbWFyY2hlYXrEgzorLz0vLSBkZXRhbGlhdDp2IGFqdXRvcjo/ACBzYXUgACBjb25jaXM6diBhanV0b3I6PwAgZGV0YWxpYXQ6diBhanV0b3I6PwAhRGVmZWN0IQAlLSpzICVzJXMlczsgICVzIChhIGZvc3Q6ICVzKS4gICVzACVzICVzIHBhY2hldGUAJXMgJXMgcGFjaGV0ZSDDrm4gc2VjyJtpdW5lYSAlcwAlcyAlcyBwYWNoZXRlIGbEg3LEgyBvIHNlY8ibaXVuZQAlcyBwZW50cnUgbWFpIG11bHQAJXMgcGFjaGV0ZSDDrm4gc2VjyJtpdW5lYSAlcwAlcyBwYWNoZXRlIGbEg3LEgyBvIHNlY8ibaXVuZQAlcyBwZW50cnUgYSBtZXJnZSDDrm5hcG9pACogRXZpZGVuyJtpZXJlYTogTyBsaW5pZSBkaW4gbGlzdGEgZGUgcGFjaGV0ZSB2YSBmaSBldmlkZW7Im2lhdMSDLiBTZW1uaWZpY8SDIGNlCiAgcGFjaGV0ZSBzdW50IGFmZWN0YXRlIGRlIHRhc3RlbGUg4oCeK+KAnSwg4oCeLeKAnSDImWkg4oCeX+KAnS4KCiogTGluaWEgZGVzcMSDcsibaXRvYXJlIGRpbiBtaWpsb2N1bCBlY3JhbnVsdWkgYXJhdMSDIG8gc2N1cnTEgyBkZXNjcmllcmUgYQogIHN0xINyaWkgcGFjaGV0dWx1aSBjdXJlbnQgZXZpZGVuyJtpYXQsIHNhdSBvIGRlc2NyaWVyZSBhIGdydXB1bHVpIGNhcmUgZXN0ZSAKICBldmlkZW7Im2lhdCBkYWPEgyBlc3RlIG8gbGluaWUgZGUgZ3J1cHVyaS4gRGFjxIMgbnUgw65uyJtlbGVnZcibaSBzZW5zdWwKICB1bm9yYSBkaW50cmUgY2FyYWN0ZXJlbGUgZGUgc3RhcmUgYWZpyJlhdGUsIGR1Y2XIm2ktdsSDIGxhIHBhY2hldHVsCiAgcmVzcGVjdGl2IMiZaSB1aXRhyJtpLXbEgyBsYSBsaW5pYSBkZXNwxINyyJtpdG9hcmUsIHNhdSBmb2xvc2nIm2kgdGFzdGEg4oCeduKAnSBwZW50cnUgYWZpyJlhagogIGRldGFsaWF0IChhcMSDc2HIm2kgZGluIG5vdSDigJ524oCdIHBlbnRydSBhIHbEgyByZcOubnRvYXJjZSBsYSBhZmnImWFyZWEgY29uY2lzxIMpLgoKKiBQYXJ0ZWEgaW5mZXJpb2FyxIMgYSBlY3JhbnVsdWkgYXJhdMSDIG1haSBtdWx0ZSBpbmZvcm1hyJtpaSBkZXNwcmUKICBwYWNoZXR1bCBjdXJlbnQgZXZpZGVuyJtpYXQgKGRhY8SDIGVzdGUgdnJldW51bCkuCgogIFBvYXRlIGFyxIN0YSBkZXNjcmllcmVhIGV4dGluc8SDIGEgcGFjaGV0dWx1aSwgZGV0YWxpaSBpbnRlcm5lIGRlIGNvbnRyb2wKICBhbGUgcGFjaGV0dWx1aSAoZmllIHBlbnRydSB2ZXJzaXVuZWEgaW5zdGFsYXTEgyBmaWUgcGVudHJ1IGNlYSBkaXNwb25pYmlsxIMpLAogIHNhdSBpbmZvcm1hyJtpaSBkZXNwcmUgY29uZmxpY3RlIMiZaSBkZXBlbmRlbsibZSBpbXBsaWNhdGUgZGUgcGFjaGV0dWwgY3VyZW50CiAgKMOubiBzdWJsaXN0YSBkZSByZXpvbHXIm2lpIGRlIGNvbmZsaWN0ZS9kZXBlbmRlbsibZSkuCgogIEZvbG9zacibaSB0YXN0YSDigJ5p4oCdIHBlbnRydSBhIGNpcmN1bGEgcHJpbnRyZSBhZmnImWFqZSwgyJlpIOKAnknigJ0gcGVudHJ1IGEgYXNjdW5kZQogIGFmaciZYWp1bCBkZSBpbmZvcm1hyJtpaSBzYXUgYS1sIG3Eg3JpIHDDom7EgyBsYSBhIHV0aWxpemEgYXByb2FwZSB0b3QgZWNyYW51bC4KAD8AUHJlc2MuAEFiYW5kb24gLSB0ZXJtaW5hcmUgZsSDcsSDIGEgZmFjZSBzY2hpbWLEg3JpAE1ldG9kYSBkZSBhY2NlcyDigJ4lc+KAnS4AQWPIm2l1bmk6CiAgYWNjZXNzIHVwZGF0ZSBzZWxlY3QgaW5zdGFsbCBjb25maWcgcmVtb3ZlIHF1aXQKCgBUb3QAVG9hdGUgcGFjaGV0ZWxlAEF0cmlidXRlOgoAVmVyLmRpc3AARGlzcG9uaWJpbABJbmZvcm1hyJtpYSBkZSBjb250cm9sIGRpc3BvbmliaWzEgwBQYWNoZXRlIGRpc3BvbmliaWxlIChuZWluc3RhbGF0ZSDDrm5jxIMpAERldGVyaW9yYXQAUGFjaGV0ZSBpbnN0YWxhdGUgZGVmZWN0dW9zAEFsZWdlyJtpIG1ldG9kYSBkZSBhY2NlcyBmb2xvc2l0xIMuAEN1bG9yaToKAENvbmZpZ3VyZWF6xIMgb3JpY2UgcGFjaGV0IG5lY29uZmlndXJhdC4ARHJlcHR1cmkgZGUgYXV0b3IgKEMpIDE5OTQtMTk5NiBJYW4gSmFja3Nvbi4KRHJlcHR1cmkgZGUgYXV0b3IgKEMpIDIwMDAsMjAwMSBXaWNoZXJ0IEFra2VybWFuLgoAQ2ljbHUgcHJpbnRyZSBpbmZvcm1hyJtpaWxlIGFmaciZYXRlAEludGVyZmHIm8SDIGRlIG1hbmlwdWxhcmUgYSBwYWNoZXRlbG9yIERlYmlhbiDigJ4lc+KAnSwgdmVyc2l1bmVhICVzLgoAUmV6b2x1yJtpZSBkZSBkZXBlbmRlbsibZS9jb25mbGljdGUgLSBpbnRyb2R1Y2VyZS4KClVuYSBzYXUgbWFpIG11bHRlIGRpbnRyZSBhbGVnZXJpbGUgZHZzLiB2b3IgZGV0ZXJtaW5hIGNvbmZsaWN0ZSBzYXUgcHJvYmxlbWUgZGUgZGVwZW5kZW7Im2UgLQp1bmVsZSBwYWNoZXRlIGFyIHRyZWJ1aSBpbnN0YWxhdGUgZG9hciDDrm1wcmV1bsSDIGN1IGFudW1pdGUgYWx0ZWxlLCDImWkKdW5lbGUgY29tYmluYcibaWkgZGUgcGFjaGV0ZSBudSBwb3QgZmkgaW5zdGFsYXRlIMOubXByZXVuxIMuCgpWZcibaSB2ZWRlYSBvIHN1Yi1saXN0xIMgY29uyJtpbsOibmQgcGFjaGV0ZWxlIGltcGxpY2F0ZS4gIEp1bcSDdGF0ZWEgaW5mZXJpb2FyxIMgYQphZmnImWFqdWx1aSBhcmF0xIMgY29uZmxpY3RlbGUgyJlpIGRlcGVuZGVuyJtlbGUgcmVsZXZhbnRlOyBmb2xvc2nIm2kg4oCeaeKAnSBwZW50cnUgYSBjaXJjdWxhIMOubnRyZQphY2VzdGVhLCBkZXNjcmllcmlsZSBwYWNoZXRlbG9yIMiZaSBpbmZvcm1hyJtpYSBpbnRlcm7EgyBkZSBjb250cm9sLgoKQXUgZm9zdCBjYWxjdWxhdGUgdW4gc2V0IGRlIHBhY2hldGUg4oCec3VnZXJhdGXigJ0sIMiZaSBzZWxlY8ibaWlsZSBpbmnIm2lhbGUgw65uCmFjZWFzdMSDIHN1Yi1saXN0xIMgYXUgZm9zdCBhcmFuamF0ZSBzxIMgc2UgcG90cml2ZWFzY8SDIGN1IGFjZWxlYSwgYXN0ZmVsIMOubmPDonQgZG9hciBhcMSDc2HIm2kgRW50ZXIKcGVudHJ1IGEgYWNjZXB0YSBzdWdlc3RpaWxlLCBkYWPEgyBkb3JpyJtpLiBQdXRlyJtpIGFudWxhIHNjaGltYsSDcmlsZSBjYXJlIGRldGVybWluxIMKcHJvYmxlbWUsIMiZaSB2xIMgZHVjZcibaSDDrm5hcG9pIGxhIGxpc3RhIHByaW5jaXBhbMSDLCBhcMSDc8OibmQgbWFqdXNjdWxhIOKAnljigJ0uCgpQdXRlyJtpIGRlIGFzZW1lbmVhIHPEgyBuYXZpZ2HIm2kgcHJpbiBsaXN0xIMgyJlpIHNjaGltYmEgc2VsZWPIm2lpbGUgZHVwxIMgZG9yaW7Im8SDLArImWkgcHV0ZcibaSBhbnVsYSBzdWdlc3RpaWxlIGZvbG9zaW5kIG1hanVzY3VsZWxlIOKAnkTigJ0gb3JpIOKAnlLigJ0KKHZlZGXIm2kgZWNyYW51bCBkZSBhanV0b3IgY3UgY29tYmluYcibaWlsZSBkZSB0YXN0ZSkuIFB1dGXIm2kgZm9sb3NpIG1hanVzY3VsYQrigJ5R4oCdIHBlbnRydSBhIGZvcsibYSBhY2NlcHR1bCDDrm4gc2l0dWHIm2lhIGN1cmVudCBhZmnImWF0xIMsIMOubiBjYXogY8SDIHZyZcibaSBzxIMKdHJlY2XIm2kgcGVzdGUgbyByZWNvbWFuZGFyZSBzYXUgdsSDIGfDom5kacibaSBjxIMgcHJvZ3JhbXVsIHNlIMOubsiZZWFsxIMuCgpBcGFzYcibaSA8c3BhyJtpdT4gcGVudHJ1IGEgcMSDcsSDc2kgYWp1dG9ydWwgyJlpIGEgaW50cmEgw65uIHN1Yi1saXN0xIM7IG51IHVpdGHIm2k6IGFwxINzYcibaSDigJ4/4oCdIHBlbnRydSBhanV0b3IuCgBEZXNjcmllcmUAQWZpyJlhcmUsIHBhcnRlYSAxOiBsaXN0YSBkZSBwYWNoZXRlIMiZaSBjYXJhY3RlcmVsZSBkZSBzdGFyZQBBZmnImWFyZSwgcGFydGVhIGEgMi1hOiBldmlkZW7Im2llcmVhIMOubiBsaXN0xIM7IGFmaciZYXJlYSBpbmZvcm1hyJtpZWkARUlPTQBFT0Ygw65uYWludGUgZGUgw65uY2VwZXJlYSBudW1lbHVpIG9wyJtpdW5paQBFT0Ygw65uYWludGUgZGUgc3VtYXIARU9GIMOubiDImWlydWwgaW5kZXgARU9GIMOubiBudW1lbGUgb3DIm2l1bmlpAEVPRiDDrm4gc3VtYXIgLSBsaXBzZciZdGUgbGluaWUgbm91xIMARXJvYXJlAEVyb2FyZTogAEV4cGxpY2HIm2llAEV4dHJhAE1lcmdpIGxhIHNmw6JyyJlpdHVsIGxpc3RlaQBNZXJnaSBsYSDDrm5jZXB1dHVsIGxpc3RlaQBJbmZvcm1hyJtpaSBhanV0xIN0b2FyZSBzdW50IGRpc3BvbmliaWxlIHBlbnRydSB1cm3Eg3RvYXJlbGUgc3ViaWVjdGU6AEFqdXRvcjogAEltcABJbXBvcnRhbnQAVmVyLiBJbnN0AEluc3RhbGVhesSDIMiZaSBhY3R1YWxpemVhesSDIHBhY2hldGVsZSBkb3JpdGUuAEluc3RhbGF0ZQBJbmZvcm1hyJtpYSBkZSBjb250cm9sIGluc3RhbGF0xIMAUGFjaGV0ZSBpbnN0YWxhdGUASW5zdGFsYXQ/AEludGVyLXJlbGHIm2lpAEludHJvZHVjZXJlIGEgc3VibGlzdGVpIGRlIHJlem9sdmFyZSBhIGNvbmZsaWN0ZWxvci9kZXBlbmRlbsibZWxvcgBJbnRyb2R1Y2VyZSBhIGFmaciZxINyaWkgc2VsZWPIm2llaSBtZXRvZGVpAEludHJvZHVjZXJlIMOubiBzZWxlY8ibaWEgcGFjaGV0ZWxvcgBJbnRyb2R1Y2VyZSBhIG5hdmlnYXRvcnVsdWkgbGlzdGVpIGRlIHBhY2hldGUsIMOubiBtb2Qgc3RyaWN0IGNpdGlyZQBJbnZhbGlkICVzIOKAniVz4oCdCgBDb21iaW5hyJtpaSBkZSB0YXN0ZQBDb21iaW5hyJtpaSB0YXN0ZQBDb21iaW5hyJtpaSBkZSB0YXN0ZSBwZW50cnUgc2VsZWN0YXJlYSBtZXRvZGVpAEV2aWRlbsibaWVyZWEgZXN0ZSBtYWkgZ2VuZXJpY8SDAEV2aWRlbsibaWVyZWEgZXN0ZSBtYWkgc3BlY2lmaWPEgwBNYXJjaGVhesSDIHBhY2hldCh1bC9lbGUpIHBlbnRydSBkZXppbnN0YWxhcmUgyJlpIGN1csSDyJthcmUATWFyY2hlYXrEgyBwYWNoZXQodWwvZWxlKSBwZW50cnUgZGV6aW5zdGFsYXJlAE1hcmNoZWF6xIMgcGFjaGV0KHVsL2VsZSkgcGVudHJ1IGluc3RhbGFyZQBNYXJjYXQgcGVudHJ1AFRhc3RlIGRlIGRlcGxhc2FyZTogVXJtxIN0b3IvQW50ZXJpb3IsIENhcC9Db2FkxIMsIFN1cy9Kb3MsIMOObmFpbnRlL8OObmFwb2k6CiAgaiwgU8SDZ2VhdMSDLWpvcyAgICAgICAgaywgU8SDZ2VhdMSDLXN1cyAgICAgICAgICBtdXTEgyBjdXJzb3J1bAogIE4sIFBhZ2UtZG93biwgU3BhY2UgICBQLCBQYWdlLXVwLCBCYWNrc3BhY2UgICBkZXJ1bGVhesSDIGxpc3RhIGN1IDEgcGFnaW7EgwogIF5uICAgICAgICAgICAgICAgICAgICBecCAgICAgICAgICAgICAgICAgICAgICBkZXJ1bGVhesSDIGxpc3RhIGN1IDEgbGluaWUKICB0LCBIb21lICAgICAgICAgICAgICAgZSwgRW5kICAgICAgICAgICAgICAgICAgc2FyaSBsYSBjYXB1bC9jb2FkYSBsaXN0ZWkKICB1ICAgICAgICAgICAgICAgICAgICAgZCAgICAgICAgICAgICAgICAgICAgICAgZGVydWxlYXrEgyBpbmZvIGN1IDEgcGFnaW7EgwogIF51ICAgICAgICAgICAgICAgICAgICBeZCAgICAgICAgICAgICAgICAgICAgICBkZXJ1bGVhesSDIGluZm8gY3UgMSBsaW5pZQogIEIsIFPEg2dlYXTEgy1zdMOibmdhICAgICBGLCBTxINnZWF0xIMtZHJlYXB0YSAgICAgIG11dMSDIGFmaciZYWp1bCBjdSAxLzMgZGUgZWNyYW4KICBeYiAgICAgICAgICAgICAgICAgICAgXmYgICAgICAgICAgICAgICAgICAgICAgbXV0xIMgYWZpyJlhanVsIGN1IDEgY2FyYWN0ZXIKCk1hcmNoZWF6xIMgcGFjaGV0ZWxlIHBlbnRydSBwcmVsdWNyYXJlIHVsdGVyaW9hcsSDOgogKywgSW5zZXJ0ICBpbnN0YWxhcmUvYWN0dWFsaXphcmUgICAgID0sIEggIHDEg3N0cmFyZSDDrm4gc3RhcmVhIHByZXplbnTEgwogLSwgRGVsZXRlICDImXRlcmdlICAgICAgICAgICAgICAgICAgICA6LCBHICBlbGliZXJhcmU6IGFjdHVhbGl6YXJlIHNhdSBwxINzdHJhcmUgbmVpbnN0YWxhdAogXyAgICAgICAgICBkZXppbnN0YWxhcmUgyJlpIMiZdGVyZ2VyZSBjb25maWd1cmHIm2llCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGl2ZXJzZToKVGVybWluxIMsIGllyJlpLCByZXNjcmllcmUgKGxpdGVyZSBtYXJpL21pY2khKTogICAgICA/LCBGMSBjZXJlcmUgZGUgYWp1dG9yIChsYSBmZWwgyJlpIEFqdXRvcikKIFJldHVybiAgQ29uZmlybcSDLCB0ZXJtaW7EgyAodmVyaWZpY8SDIGRlcGVuZGVuyJtlKSAgIGksIEkgIGNvbXV0xIMvY2ljbGVhesSDIGVjcmFuZWxlIGluZm8KICAgUSAgICAgQ29uZmlybcSDLCB0ZXJtaW7EgyAoc3VwcmFzY3JpZXJlIGRlcC4pICAgICBvLCBPICBjaWNsZWF6xIMgw65udHJlIG9wyJtpdW5pbGUgZGUgc29ydGFyZQogWCwgRXNjICBpZciZaXJlLCBhYmFuZG9uZWF6xIMgc2NoaW1ixINyaWxlIGbEg2N1dGUgICAgdiwgViAgc2NoaW1ixIMgc3RhcmVhIG9wyJtpdW5pbG9yIGRlIGFmaciZYXJlCiAgIFIgICAgIFJldmVuaXJlIGxhIHN0YXJlYSBhbnRlcmlvYXLEgyBsaXN0ZWkgICAgICAgXmwgICByZWRlc2VuYXJlIGVjcmFuCiAgIFUgICAgIHBsYXNlYXrEgyB0b3Qgw65uIHN0YXJlYSBzVWdlcmF0xIMgICAgICAgICAgICAgLyAgIGNhdXTEgyAoUmV0dXJuIHBlbnRydSByZW51bsibYXJlKQogICBEICAgICBwbGFzZWF6xIMgdG90LCBEaXJlY3Qgw65uIHN0YXJlYSBjZXJ1dMSDICAgICAgbiwgXCAgcmVwZXTEgyB1bHRpbWEgY8SDdXRhcmUKAFRhc3RlIGRlIGRlcGxhc2FyZTogVXJtxIN0b3IvQW50ZXJpb3IsIMOObmNlcHV0L1Nmw6JyyJlpdCwgU3VzL0pvcywgw45uYXBvaS/Djm5haW50ZToKICBqLCBEb3duLWFycm93ICAgICAgICAgaywgVXAtYXJyb3cgICAgICAgICAgICAgbXV0xIMgc2VsZWPIm2lhCiAgTiwgUGFnZS1kb3duLCBTcGFjZSAgIFAsIFBhZ2UtdXAsIEJhY2tzcGFjZSAgIGRlcnVsZWF6xIMgbGlzdGEgY3UgMSBwYWdpbsSDCiAgXm4gICAgICAgICAgICAgICAgICAgIF5wICAgICAgICAgICAgICAgICAgICAgIGRlcnVsZWF6xIMgbGlzdGEgY3UgMSBsaW5pZQogIHQsIEhvbWUgICAgICAgICAgICAgICBlLCBFbmQgICAgICAgICAgICAgICAgICBzYXJpIGxhIMOubmNlcHV0dWwvc2bDonLImWl0dWwgbGlzdGVpCiAgdSAgICAgICAgICAgICAgICAgICAgIGQgICAgICAgICAgICAgICAgICAgICAgIGRlcnVsZWF6xIMgaW5mbyBjdSAxIHBhZ2luxIMKICBedSAgICAgICAgICAgICAgICAgICAgXmQgICAgICAgICAgICAgICAgICAgICAgZGVydWxlYXrEgyBpbmZvIGN1IDEgbGluaWUKICBCLCBMZWZ0LWFycm93ICAgICAgICAgRiwgUmlnaHQtYXJyb3cgICAgICAgICAgbXV0xIMgYWZpyJlhcmVhIGN1IDEvMyBkZSBlY3JhbgogIF5iICAgICAgICAgICAgICAgICAgICBeZiAgICAgICAgICAgICAgICAgICAgICBtdXTEgyBhZmnImWFyZWEgY3UgMSBjYXJhY3RlcgooQWNlc3RlYSBzdW50IGFjZWxlYciZaSB0YXN0ZSBkZSBkZXBsYXNhcmUgY2Egw65uIGFmaciZYXJlYSBsaXN0ZWkgZGUgcGFjaGV0ZS4pCgpUZXJtaW7EgzoKIFJldHVybiwgRW50ZXIgICAgc2VsZWN0ZWF6xIMgYWNlYXN0xIMgbWV0b2TEgyDImWkgdHJlY2kgbGEgZGlhbG9ndWwgZWkgZGUgY29uZmlndXJhcmUKIHgsIFggICAgICAgICAgICAgdGVybWluxIMgZmFyxIMgc2NoaW1ixINyaSBzYXUgc2V0YXJlYSBtZXRvZGVpIGRlIGluc3RhbGFyZQoKRGl2ZXJzZToKICA/LCBIZWxwLCBGMSAgICAgIGNlcmVyZSBkZSBhanV0b3IKIF5sICAgICAgICAgICAgICAgIHJlYWZpyJlhcmUgZWNyYW4KICAvICAgICAgICAgICAgICAgIGPEg3V0YXJlIChlbnRlciBwZW50cnUgcmVudW7Im2FyZSkKICBcICAgICAgICAgICAgICAgIHJlcGV0xIMgdWx0aW1hIGPEg3V0YXJlCgBEZXBsYXNhcmUgw65uIGpvcwBEZXBsYXNhcmUgw65uIHN1cwBOb3UAUGFjaGV0ZSBub2kgZGlzcG9uaWJpbGUATmljaSBvIGRlc2NyaWVyZSBkaXNwb25pYmlsxIMuAE5pY2kgbyBleHBsaWNhyJtpZSBkaXNwb25pYmlsxIMuAExpcHPEgyBzcGVjaWZpY2HIm2llIGRlIGN1bG9hcmUKAFBhY2hldGUgw65udmVjaGl0ZSDImWkgbG9jYWxlIGV4aXN0ZW50ZSBwZSBzaXN0ZW0Aw45udmVjaGl0L2xvY2FsAE1hcmNhaiB2ZWNoaQBPcMibAE9wyJtpb25hbABPcMibaXVuaToKICAtLWFkbWluZGlyIDxkaXJlY3Rvcj4gICAgICBGb2xvc2XImXRlIDxkaXJlY3Rvcj4gw65uIGxvYyBkZSAlcy4KICAtLWV4cGVydCAgICAgICAgICAgICAgICAgICBQb3JuZciZdGUgbW9kdWwgZXhwZXJ0LgogIC0tZGVidWcgPGZpbGU+IHwgLUQ8ZmlsZT4gIFBvcm5lyJl0ZSBkZXBhbmFyZWEsIHRyaW1pyJvDom5kIGllyJlpcmVhIMOubiA8ZmlsZT4uCiAgLS1jb2xvdXIgfCAtLWNvbG9yIHBhcnRlZWNyYW46W3ByaW0gcGxhbl0sW2Z1bmRhbF1bOmF0cmliWythdHJpYisuLl1dCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29uZmlndXJlYXrEgyBjdWxvcmlsZSBlY3JhbnVsdWkuCgBQYWNoZXQAQXDEg3NhyJtpIDxlbnRlcj4gcGVudHJ1IGEgY29udGludWEuCgBBcMSDc2HIm2kgPyBwZW50cnUgbWVuaXVsIGFqdXRvciwgLiBwZW50cnUgdXJtxIN0b3J1bCBzdWJpZWN0LCA8c3BhyJtpdT4gcGVudHJ1IGllyJlpcmUuAEFwxINzYcibaSBvIHRhc3TEgyBkaW4gbGlzdGEgY2FyZSB1cm1lYXrEgywgPHNwYcibaXU+IHNhdSDigJ5x4oCdIHBlbnRydSBpZciZaXJlIGRpbiBhanV0b3IsCiAgc2F1ICDigJ4u4oCdIChvcHJpcmUgdG90YWzEgykgcGVudHJ1IGEgY2l0aSBmaWVjYXJlIHBhZ2luxIMgZGUgYWp1dG9yLiAAUHJpb3JpdGF0ZQBDdXLEg8ibYXRlAFBhY2hldGUgY3VyxIPIm2F0ZSDImWkgY2VsZSBjYXJlIG51IGF1IGZvc3QgbmljaW9kYXTEgyBpbnN0YWxhdGUASWXImWlyZSBkaW4gZHNlbGVjdC4AQWJhbmRvbmVhesSDIGbEg3LEgyBzY2hpbWJhcmVhIG1ldG9kZWkgZGUgYWNjZXMgc2VsZWN0YXRlAFRlcm1pbmFyZSwgY29uZmlybWFyZSBmxINyxIMgdmVyaWZpY2FyZQBJZciZaXJlLCBjb25maXJtYXJlLCDImWkgdmVyaWZpY2FyZSBkZXBlbmRlbsibZQBUZXJtaW5hcmUsIHNlIHJlZnV6xIMgc3VnZXN0aWlsZSBsZWdhdGUgZGUgY29uZmxpY3RlL2RlcGVuZGVuyJtlAFJFSU5TVEFMRUFaxIIAUmVkZXNlbmFyZSBlY3JhbgDDjm5kZXDEg3J0ZWF6xIMgcHJvZ3JhbWVsZSBuZWRvcml0ZS4Aw45uZGVwxINydGF0AFBhY2hldGUgw65uZGVwxINydGF0ZSBzYXUgaW5kaXNwb25pYmlsZQBQYWNoZXRlIMOubmRlcMSDcnRhdGUgKGNvbmZpZ3VyYXJlYSDDrm5jxIMgcHJlemVudMSDKQBSZXBldMSDIHVsdGltYSBjxIN1dGFyZS4ATmNzAENlcmVyZSBkZSBhanV0b3IgKGNpY2x1IHByaW50cmUgZWNyYW5lbGUgZGUgYWp1dG9yKQBDZXJlyJtpIHBhY2hldGVsZSBwZSBjYXJlIGxlIGRvcmnIm2kgw65uIHNpc3RlbXVsIGR2cy4ATmVjZXNhcmUAUmV2ZW5pcmUgbGEgc3RhcmVhIGluc3RhbGF0xIMgYWN1bSBwZW50cnUgdG9hdGUgcGFjaGV0ZWxlAFJldmVuaXJlIGRpcmVjdCBsYSBzdMSDcmlsZSBjZXJ1dGUgcGVudHJ1IHRvYXRlIHBhY2hldGVsZQBSZXZlbmlyZSBsYSB2ZWNoaWxlIHN0xINyaSBwZW50cnUgdG9hdGUgcGFjaGV0ZWxlAFJldmVuaXJlIGxhIHN0xINyaWxlIHN1Z2VyYXRlIHBlbnRydSB0b2F0ZSBwYWNoZXRlbGUAQ29tcG9uZW50ZSBlY3JhbjoKAERlcnVsYXJlIMOubmFwb2kgcHJpbiBhanV0b3IvaW5mb3JtYcibaWkARGVydWxhcmUgw65uYXBvaSBwcmluIGFqdXRvci9pbmZvcm1hyJtpaSBjdSAxIHLDom5kAERlcnVsYXJlIMOubmFwb2kgcHJpbiBsaXN0xIMARGVydWxhcmUgw65uYXBvaSBwcmluIGxpc3TEgyBjdSAxIHLDom5kAERlcnVsYXJlIMOubmFpbnRlIHByaW4gYWp1dG9yL2luZm9ybWHIm2lpAERlcnVsYXJlIMOubmFpbnRlIHByaW4gYWp1dG9yL2luZm9ybWHIm2lpIGN1IDEgcsOibmQARGVydWxhcmUgw65uYWludGUgcHJpbiBsaXN0xIMARGVydWxhcmUgw65uYWludGUgcHJpbiBsaXN0xIMgY3UgMSByw6JuZABDZSBjxIN1dGHIm2kgPyAAQ2F1dMSDIHBhY2hldHVsIGFsIGPEg3J1aSBudW1lIGNvbsibaW5lIHVuIMiZaXIgZGUgY2FyYWN0ZXJlAFNlY8ibaXVuZQBTZWxjdGVhesSDIG1ldG9kYSBjYXJlIGVzdGUgZXZpZGVuyJtpYXTEgyBhY3VtAEluacibaWFsaXphyJtpIGNvcmVjdCB2YXJpYWJpbGEgZGUgbWVkaXUgVEVSTSwgZm9sb3NpyJtpIHVuIHRlcm1pbmFsIG1haSBidW4sCnNhdSBmYWNlyJtpIGFzdGEgY3UgcHJvZ3JhbXVsIGRlIG1hbmFnZW1lbnQgcGVyIHBhY2hldCAlcy4KAFN0YW5kYXJkAFN0ZABDb211dMSDIG9yZGluZWEgZGUgc29ydGFyZSBwcmlvcml0YXRlL3NlY8ibaXVuZQBUZXJtaW5hbHVsIG51IHBhcmUgc8SDIHN1cG9ydGUgYWRyZXNhcmUgbGEgbml2ZWwgZGUgY3Vyc29yLgoAVGVybWluYWx1bCBudSBwYXJlIHPEgyBzdXBvcnRlIGV2aWRlbsibaWVyZS4KAFLDom5kdWwgZXZpZGVuyJtpYXQgcmVwcmV6aW50xIMgbWFpIG11bHRlIHBhY2hldGU7IGRhY8SDIGNlcmXIm2kgaW5zdGFsYXJlLCDDrm5kZXDEg3J0YXJlLCBwxINzdHJhcmUsIGV0Yy4gdmEgYWZlY3RhIHRvYXRlIHBhY2hldGUgY2FyZSByZXNwZWN0xIMgY3JpdGVyaXVsIGFyxIN0YXQuCgpEYWPEgyBtdXRhyJtpIGN1cnNvcnVsIHBlIHVuIHLDom5kIGN1IHVuIHBhY2hldCBhbnVtZSwgdmXIm2kgdmVkZWEgYWljaSBpbmZvcm1hyJtpaSBkZXNwcmUgYWNlbCBwYWNoZXQuClB1dGXIm2kgZm9sb3NpIOKAnm/igJ0gyJlpIOKAnk/igJ0gcGVudHJ1IHNjaGltYmFyZWEgb3JkaW5paSBkZSBzb3J0YXJlIGTDom5kdS12xIMgcG9zaWJpbGl0YXRlYSBzxIMgbWFyY2HIm2kgcGFjaGV0ZWxlIMOubiBkaWZlcml0ZSBtb2R1cmkgZGUgZ3J1cGFyZS4ASnVtxIN0YXRlYSBzdXBlcmlvYXLEgyBhIGVjcmFudWx1aSBhcmF0xIMgbyBsaXN0xIMgZGUgcGFjaGV0ZS4gTGEgZmllY2FyZSBwYWNoZXQgdmXIm2kgdmVkZWEKcGF0cnUgY29sb2FuZSBwZW50cnUgc3RhcmVhIGN1cmVudMSDIMOubiBzaXN0ZW0gyJlpIG1hcmNhanVsLiDDjm4gbW9kdWwgY29uY2lzIChmb2xvc2nIm2kg4oCeduKAnQpwZW50cnUgYSBjb211dGEgbGEgYWZpyJlhanVsIGRldGFsaWF0KSBhY2VzdGVhIHN1bnQgY2FyYWN0ZXJlIGluZGl2aWR1YWxlLCBkZSBsYSBzdMOibmdhIGxhIGRyZWFwdGE6CgogRmFuaW9uIGRlIGVyb2FyZTogICBTcGHIm2l1IC0gZsSDcsSDIGVyb2FyZSAoZGFyIHBhY2hldHVsIGFyIHB1dGVhIGZpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGVyaW9yYXQgLSB2ZWRlyJtpIG1haSBqb3MpCiAgICAgICAgICAgICAgICAgICAgICAg4oCeUuKAnSAgLSBlcm9hcmUgZ3JhdsSDIMOubiB0aW1wdWwgaW5zdGFsxINyaWksIGFyZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXZvaWUgZGUgcmVpbnN0YWxhcmU7CiBTdGFyZWEgaW5zdGFsxINyaWk6ICAgIFNwYcibaXUgICAgLSBuZWluc3RhbGF0OwogICAgICAgICAgICAgICAgICAgICAgICAg4oCeKuKAnSAgICAgLSBpbnN0YWxhdDsKICAgICAgICAgICAgICAgICAgICAgICAgIOKAni3igJ0gICAgIC0gbmVpbnN0YWxhdCBkYXIgZmnImWllcmVsZSBkZSBjb25maWd1cmFyZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcsSDbcOibjsKICAgcGFjaGV0ZWxlIMOubiBhY2VzdGUgeyDigJ5V4oCdICAgICAtIGRlc3BhY2hldGF0IGRhciDDrm5jxIMgbmVjb25maWd1cmF0OwogICBzdMSDcmkgbnUgc3VudCAgICAgICB7IOKAnkPigJ0gICAgIC0gc2VtaS1jb25maWd1cmF0IChzLWEgw65udMOibG5pdCBlcm9hcmUpOwogICAoY2hpYXIpIGJpbmUgICAgICAgIHsg4oCeSeKAnSAgICAgLSBzZW1pLWluc3RhbGF0IChzLWEgw65udMOibG5pdCBlcm9hcmUpLgogICBpbnN0YWxhdGUgICAgICAgICAgIHsg4oCeV+KAnSzigJ504oCdIC0gZGVjbGFuyJlhdG9yaWkgc3VudCBhyJl0ZXB0YcibaSwgcmVzcGVjdGl2CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDDrm4gYciZdGVwdGFyZS4gVmVjaGl1bCBtYXJjYWo6IGNlZWEgY2Ugcy1hIGNlcnV0IGRlIGxhIGFjZXN0IHBhY2hldCDDrm5haW50ZSBkZSBhIGFmaciZYQogICAgICAgICAgICAgICAgICAgYWNlYXN0xIMgbGlzdMSDOwogTWFyY2FqOiBjZWVhIGNlIHNlIGNlcmUgcGVudHJ1IGFjZXN0IHBhY2hldDoKICDigJ4q4oCdOiBtYXJjYXQgcGVudHJ1IGluc3RhbGFyZSBzYXUgw65ubm9pcmU7CiAg4oCeLeKAnTogbWFyY2F0IHBlbnRydSDImXRlcmdlcmUsIGRhciBmaciZaWVyZWxlIGRlIGNvbmZpZ3VyYXJlIHLEg23Dom47CiAg4oCePeKAnTogw65uIGHImXRlcHRhcmU6IHBhY2hldHVsIG51IHZhIGZpIHByb2Nlc2F0IGRlbG9jOwogIOKAnl/igJ06IG1hcmNhdCBwZW50cnUgyJl0ZXJnZXJlIGNvbXBsZXTEgyAtIGluY2x1c2l2IGNvbmZpZ3VyYXJlYTsKICDigJ5u4oCdOiBwYWNoZXR1bCBlc3RlIG5vdSDImWkgcG9hdGUgw65uY8SDIGZpIG1hcmNhdCBwZW50cnUKICAgICAgICAgaW5zdGFsYXJlL8iZdGVyZ2VyZS8mYy4KCkRlIGFzZW1lbmVhLCBwZW50cnUgZmllY2FyZSBwYWNoZXQsIHN1bnQgYWZpyJlhdGUgUHJpb3JpdGF0ZWEsIFNlY8ibaXVuZWEsCm51bWVsZSwgdmVyc2l1bmVhIGluc3RhbGF0xIMgyJlpIGNlYSBkaXNwb25pYmlsxIMgKHNoaWZ0LVYgcGVudHJ1IGEKYWZpyJlhL2FzY3VuZGUpIMiZaSBkZXNjcmllcmVhIHBlIHNjdXJ0LgoAVGFzdGHIm2kgZHNlbGVjdCAtLWhlbHAgcGVudHJ1IGFqdXRvci4ATmVjbGFzaWZpY2F0AFBhY2hldGUgaW5zdGFsYXRlIGFkdXNlIGxhIHppAExhLXppAEFjdHVhbGl6ZWF6xIMgbGlzdGEgcGFjaGV0ZWxvciBkaXNwb25pYmlsZSwgZGFjxIMgZXN0ZSBwb3NpYmlsLgBBY3R1YWxpemF0AFBhY2hldGUgYWN0dWFsaXphdGUgKGVzdGUgZGlzcG9uaWJpbMSDIG8gdmVyc2l1bmUgbWFpIG5vdcSDKQBVdGlsaXphcmU6ICVzIFs8b3DIm2l1bmU+IC4uLl0gWzxhY8ibaXVuZT4gLi4uXQoKAEJpbmUgYcibaSB2ZW5pdCBsYSBsaXN0YSBwcmluY2lwYWzEgyBkZSBwYWNoZXRlIGEgbHVpIGRzZWxlY3QuCgpWxIMgdmEgZmkgYXLEg3RhdMSDIG8gbGlzdMSDIGRlIHBhY2hldGUgY2FyZSBzdW50IGluc3RhbGF0ZSBzYXUgZGlzcG9uaWJpbGUKcGVudHJ1IGluc3RhbGFyZS4gRGluIG1vbWVudCBjZSBudSBhdmXIm2kgcHJpdmlsZWdpaWxlIG5lY2VzYXJlIHBlbnRydSBhIAphY3R1YWxpemEgc3RhcmVhIHBhY2hldGVsb3IsIHN1bnRlyJtpIMOubiBtb2R1bCBkb2FyLWNpdGlyZS4gUHV0ZcibaSBuYXZpZ2EgCnByaW4gbGlzdMSDIGZvbG9zaW5kIHRhc3RlbGUgcGVudHJ1IGN1cnNvciAodsSDIHJvZywgdmVkZcibaSBlY3JhbnVsIGRlIGFqdXRvcgrigJ5Db21iaW5hyJtpaSB0YXN0ZeKAnSksIG9ic2VydmEgc3RhcmVhIHBhY2hldGVsb3IgyJlpIGNpdGkgaW5mb3JtYcibaWlsZSBkZXNwcmUgZWxlLgoKQXIgdHJlYnVpIHPEgyBjaXRpyJtpIGxpc3RhIGRlIHRhc3RlIMiZaSBleHBsaWNhyJtpaWxlIGRlIHBlIGVjcmFuLgpFc3RlIGRpc3BvbmliaWwgbXVsdCBhanV0b3IgaW1lZGlhdCwgc3VudGXIm2kgcnVnYXQgc8SDIHbEgyBmb2xvc2nIm2kgZGUgZWwgLSBhcMSDc2HIm2kgb3JpY8OibmQgZG9yacibaQog4oCeP+KAnSBwZW50cnUgYSBwcmltaSBhanV0b3IuCgpDw6JuZCBhyJtpIHRlcm1pbmF0IGRlIHNlbGVjdGF0IHBhY2hldGVsZSwgYXDEg3NhyJtpIOKAnlHigJ0gc2F1IDxlbnRlcj4gcGVudHJ1IGEgaWXImWkuCgpBcMSDc2HIm2kgPHNwYcibaXU+IHBlbnRydSBhIHDEg3LEg3NpIGFqdXRvcnVsIMiZaSBhIGludHJhIMOubiBsaXN0xIMuCgBCaW5lIGHIm2kgdmVuaXQgbGEgbGlzdGFyZWEgcHJpbmNpcGFsxIMgYSBwYWNoZXRlbG9yIGx1aSBkc2VsZWN0LgoKVsSDIHZhIGZpIGFyxIN0YXTEgyBvIGxpc3TEgyBkZSBwYWNoZXRlIGNhcmUgc3VudCBpbnN0YWxhdGUgc2F1IGRpc3BvbmliaWxlCnBlbnRydSBpbnN0YWxhcmUuIFB1dGXIm2kgbmF2aWdhIHByaW4gbGlzdMSDIGZvbG9zaW5kIHRhc3RlbGUgY3Vyc29ydWx1aSwKcHV0ZcibaSBtYXJjYSBwYWNoZXRlbGUgcGVudHJ1IGluc3RhbGFyZSAoZm9sb3NpbmQg4oCeK+KAnSkgc2F1IGRlemluc3RhbGFyZSAoZm9sb3NpbmQg4oCeLeKAnSkuClBhY2hldGVsZSBwb3QgZmkgbWFyY2F0ZSBmaWUgaW5kaXZpZHVhbCBmaWUgw65uIGdydXB1cmksIGluacibaWFsIHZlyJtpIHZlZGVhIGPEgwpsaW5pYSDigJ5Ub2F0ZSBwYWNoZXRlbGXigJ0gZXN0ZSBzZWxlY3RhdMSDLiAg4oCeK+KAnSwg4oCeLeKAnSDImWkgdG9hdGUgY2VsZWxhbHRlIHZvciBhZmVjdGEgdG9hdGUKcGFjaGV0ZWxlIGRlc2NyaXNlIGRlIGxpbmlhIGV2aWRlbsibaWF0xIMuCgpVbmVsZSBkaW4gYWxlZ2VyaWxlIGR2cy4gdm9yIGRldGVybWluYSBjb25mbGljdGUgc2F1IHByb2JsZW1lIGRlIGRlcGVuZGVuyJtlLCB2aSBzZQp2YSBkYSBvIHN1Yi1saXN0xIMgZGUgcGFjaGV0ZSByZWxldmFudGUsIGNhcmUgdm9yIHJlem9sdmEgcHJvYmxlbWVsZS4KCkFyIHRyZWJ1aSBzxIMgY2l0acibaSBsaXN0YSBkZSB0YXN0ZSDImWkgZXhwbGljYcibaWlsZSBkZSBwZSBlY3Jhbi4KRXN0ZSBkaXNwb25pYmlsIG11bHQgYWp1dG9yIGltZWRpYXQsIHN1bnRlyJtpIHJ1Z2F0IHPEgyB2xIMgZm9sb3NpyJtpIGRlIGVsIC0gYXDEg3NhyJtpIGPDom5kIGRvcmnIm2kK4oCeP+KAnSBwZW50cnUgYSBwcmltaSBhanV0b3IuCgpDw6JuZCBhyJtpIHRlcm1pbmF0IGRlIHNlbGVjdGF0IHBhY2hldGVsZSwgYXDEg3NhyJtpIDxlbnRlcj4gcGVudHJ1IGEgY29uZmlybWEgc2NoaW1ixINyaWxlLApzYXUg4oCeWOKAnSBwZW50cnUgYSBpZciZaSBmxINyxIMgc8SDIHNhbHZhyJtpIHNjaGltYsSDcmlsZS4gTyB2ZXJpZmljYXJlIGZpbmFsxIMgbGEgY29uZmxpY3RlIMiZaQpkZXBlbmRlbsibZSB2YSBmaSBmxINjdXTEgyAtIGFpY2kgyJlpIGR2cyB2ZcibaSBwdXRlYSB2ZWRlYSBvIHN1Ymxpc3TEgy4KCkFwxINzYcibaSA8c3BhyJtpdT4gcGVudHJ1IGEgcMSDcsSDc2kgYWp1dG9ydWwgyJlpIGEgaW50cmEgw65uIGxpc3TEgy4KAFN1cABbQV1jY2VzAFtDXW9uZmlndXJhcmUAW0ldbnN0YWxhcmUASWXImWlyZSBbcV0Aw45uZGVwxINbUl10YXJlAFtTXWVsZWPIm2llAEFjdFt1XWFsaXphcmUAW25lYXNpZ25hdMSDXQBbbmVjdW5vc2N1dDogJWRdAGEAYciZdGVhcHTEgyBwcm9jZXNhcmVhIGRlY2xhbsiZYXRvcmlsb3IAZEZUAGNvcnVwZQBjAGN1bG9hcmUAYXRyaWJ1dCBjdWxvYXJlAMOubiBjb25mbGljdCBjdQBudSBwb3QgZGVzY2hpZGUgZmnImWllcnVsIGRlIGRlcGFuYXJlIOKAniUuMjU1c+KAnQoAZGVwaW5kZSBkZQBkb3VwZGF0ZSBhIGXImXVhdABlyJllYyBkb3VwZGF0ZSDDrm4gZGVzY3JpcHRvcnVsIFNJR1dJTkNIAGRzZWxlY3QgLSBpbnNwZWPIm2lhIHN0xINyaWkgcGFjaGV0ZWxvcgBkc2VsZWN0IC0gbGlzdGEgbWV0b2RlbG9yIGRlIGFjY2VzAGRzZWxlY3QgLSBsaXN0YSBwcmluY2lwYWzEgyBhIHBhY2hldGVsb3IAZHNlbGVjdCAtIGFmaciZYXJlIHJlY3Vyc2l2xIMgYSBwYWNoZXRlbG9yAGRzZWxlY3QgyJlpIGRwa2cgcG90IGZhY2UgbyBpbnN0YWxhcmUgYXV0b21hdMSDLCDDrm5jxINyY8OibmQgZmnImWllcmVsZSBwYWNoZXRlbG9yIGRlCmluc3RhbGF0IGRpbnRyLXVuIG51bcSDciBkZSBkaWZlcml0ZSBwb3NpYmlsZSBsb2N1cmkuCgpBY2Vhc3TEgyBsaXN0xIMgdsSDIHBlcm1pdGUgc8SDIHNlbGVjdGHIm2kgdW5hIGRpbiBhY2VzdGUgbWV0b2RlIGRlIGluc3RhbGFyZS4KCkRlcGxhc2HIm2kgZXZpZGVuyJtpZXJlYSBjxIN0cmUgbWV0b2RhIHBlIGNhcmUgZG9yacibaSBzLW8gZm9sb3NpyJtpLCDImWkgYXDEg3NhyJtpIEVudGVyLiBWZcibaSBmaQpjaGVzdGlvbmF0IHBlbnRydSBpbmZvcm1hyJtpaWxlIG5lY2VzYXJlIHBlbnRydSBpbnN0YWxhcmUuCgpDdW0gZGVwbGFzYcibaSBldmlkZW7Im2llcmVhLCBlc3RlIGFmaciZYXTEgyDDrm4ganVtxIN0YXRlYSBpbmZlcmlvYXLEgyBhIGVjcmFudWx1aSBvCmRlc2NyaWVyZSBhIGZpZWPEg3JlaSBtZXRvZGUsIGRhY8SDIGVzdGUgZGlzcG9uaWJpbMSDLgoKRGFjxIMgZG9yacibaSBzxIMgaWXImWnIm2kgZsSDcsSDIGEgbW9kaWZpY2EgbmltaWMgZm9sb3NpyJtpIHRhc3RhIOKAnnjigJ0gw65uIHRpbXAgY2UKc3VudGXIm2kgw65uIGxpc3RhIG1ldG9kZWxvciBkZSBpbnN0YWxhcmUuCgpPIGxpc3TEgyBjb21wbGV0xIMgZGUgdGFzdGUgZXN0ZSBkaXNwb25pYmlsxIMgYXDEg3PDom5kIGFjdW0g4oCea+KAnSwgc2F1IGRpbiBtZW5pdWwgZGUKYWp1dG9yLCBhY2Nlc2liaWzEgyBhcMSDc8OibmQg4oCeP+KAnS4KAMOubWJ1bsSDdMSDyJtlyJl0ZQBlcm9hcmUgw65uIHRpbXB1bCBjaXRpcmlpIGZpyJlpZXJ1bHVpIGN1IG9wyJtpdW5pIHBlbnRydSBtZXRvZGUg4oCeJS4yNTBz4oCdAGVyb2FyZSDDrm4gdGltcHVsIGNpdGlyaWkgZmnImWllcnVsdWkgY3UgZGVzY3JpZXJpbGUgb3DIm2l1bmlsb3Ig4oCeJS4yNTBz4oCdAGVyb2FyZSDDrm4gZXhwcmVzaWEgcmVndWxhdMSDAGVyb2FyZSBsYSBjaXRpcmVhIGNvbmZpcm3Eg3JpaSBtZXNhanVsdWkgZGUgZciZZWMgYWwgcHJvZ3JhbXVsdWkAZXJvYXJlIGNpdGlyZSB0YXN0YXR1csSDIMOubiBhanV0b3IAZXJvYXJlIGxhIGNpdGlyZWEgZmnImWllcnVsdWkgZGUgb3DIm2l1bmkg4oCeJS4yNTBz4oCdAGXImWVjIGxhIGFsb2NhcmVhIHBlcmVjaGlpIGRlIGN1bG9yaQBlyJllYyBsYSBibG9jYXJlYSBsdWkgU0lHV0lOQ0gAZciZZWMgbGEgY3JlYXJlYSB6b25laSBsaXN0ZWkgZGUgYmF6xIMAZciZZWMgbGEgY3JlYXJlYSB6b25laSBwZW50cnUgdGl0bHVsAGXImWVjIGxhIGNyZWFyZWEgem9uZWkgZGUgaW5mb3JtYXJlAGXImWVjIGxhIGNyZWFyZWEgZmVyZXN0cmVpIGRlIGludGVyb2dhcmUAZciZZWMgbGEgY3JlYXJlYSB6b25laSBkZXNwcmUgc3RhcmVhIGN1cmVudMSDAGXImWVjIGxhIGNyZWFyZWEgdGl0bHVsdWkgZmVyZXN0cmVpAGXImWVjIGxhIGNyZWFyZWEgZmVyZXN0cmVpIGRlIGluZm9ybWHIm2lpAGXImWVjIGxhIHByZWx1YXJlYSB2ZWNoaXVsdWkgc2lnYWN0IHBlbnRydSBTSUdXSU5DSABlyJllYyBsYSBwcmVsdWFyZWEgdmVjaGlpIG3Eg8iZdGkgZGUgc2VtbmFsAGXImWVjIMOubiBnZXRjaCDDrm4gbWVuaXVsIHByaW5jaXBhbABlyJllYyBsYSByZWJsb2NhcmVhIGx1aSBTSUdXSU5DSABlyJllYyBsYSBjaXRpcmVhIGZpyJlpZXJ1bCBkZSBkZXNjcmllcmUgYSBvcMibaXVuaWxvciDigJ4lLjI1MHPigJ0AZciZZWMgbGEgcmVzdGF1cmFyZWEgdmVjaGl1bHVpIHNpZ2FjdCBwZW50cnUgU0lHV0lOQ0gAZciZZWMgbGEgcmVzdGF1cmFyZWEgdmVjaGlpIG3Eg8iZdGkgZGUgc2VtbmFsAGXImWVjIGxhIGluacibaWFsaXphcmVhIG5vdWx1aSBzaWdhY3QgcGVudHJ1IFNJR1dJTkNIAGXImWVjIGxhIGRlYmxvY2FyZWEgbHVpIFNJR1dJTkNIAGXImWVjIGdldGNoAGp1bcSDdGF0ZSBpbnN0YWxhdGUAcMSDc3RyZWF6xIMAaQDImWlyIGluZGV4IHByZWEgbHVuZwBpbnN0YWxlYXrEgwBzY3JpcHQgZGUgaW5zdGFsYXJlAGluc3RhbGF0AG9wyJtpdW5lYSBkZSBjxIN1dGFyZSBkYXTEgyBlc3RlIGludmFsaWTEgwBlyJllYyBpb2N0bChUSU9DR1dJTlNaKQBtZW5pdQBtZXRvZGEg4oCeJS4yNTBz4oCdIGFyZSB1biBudW1lIHByZWEgbHVuZyAoJWQgPiAlZCBjYXJhY3RlcmUpAHBhY2hldCBub3UAbGluaWUgbm91xIMgw65uYWludGUgZGUgw65uY2VwZXJlYSBudW1lbHVpIG9wyJtpdW5paQBsaW5pZSBub3XEgyDDrm5haW50ZSBkZSBzdW1hcgBub24tYWxmYW51bWVyaWMgw65uIG51bWVsZSBvcMibaXVuaWkAbm9uLW51bWVyaWMgdW5kZSBzZSBjZXJlIG51bWVyaWMAbnUgZXN0ZSBsaXRlcsSDIHVuZGUgdHJlYnVpZSBzxIMgw65uY2VhcMSDIG51bWVsZSBvcMibaXVuaWkAbmVpbnN0YWxhdABhbnRlLWRlcGVuZGVuyJvEgyBkZQBmdXJuaXplYXrEgwBjdXLEg8ibxIMAcQBzY3JpcHQgZGUgaW50ZXJvZ2FyZS9wcmVnxIN0aXJlAHIAcmVjb21hbmTEgwBlbGltaW7EgwDDrm5kZXDEg3J0YXRlIChjb25maWd1csSDcmlsZSByxINtw6JuKQDDrm5sb2N1aWXImXRlAHMAcGFydGUgZWNyYW4Ac3VnZXJlYXrEgwBlcm9hcmUgZGUgc2ludGF4xIMgw65uIGZpyJlpZXJ1bCBkZSBvcMibaXVuaSBwZW50cnUgbWV0b2RlIOKAniUuMjUwc+KAnSAtLSAlcwB0ZXJtaW5hbHVsIG51IHN1cG9ydMSDIGNlcmluyJtlbGUgbmVjZXNhcmUsIGFiYW5kb25legBkZWNsYW7ImWF0AHUAaW1wb3NpYmlsaXRhdGUgZGUgYWNjZXMgbGEgc2NyaXB0dWwgZGUgbWV0b2RlIGRlIGFjY2VzIOKAniUuMjUwc+KAnQBpbXBvc2liaWwgYSDDrm5jaGlkZSBmaciZaWVydWwgbm91IGRlIG9wyJtpdW5pIOKAniUuMjUwc+KAnQBpbXBvc2liaWwgYSBpbnN0YWxhIG5vaWxlIG9wyJtpdW5pIGNhIOKAniUuMjUwc+KAnQBpbXBvc2liaWwgYSBkZXNjaGlkZSBmaciZaWVydWx1IGN1cmVudCBkZSBvcMibaXVuaSDigJ4lLjI1MHPigJ0AaW1wb3NpYmlsIGEgZGVzY2hpZGUgZmnImWllcnVsdSBub3UgZGUgb3DIm2l1bmkg4oCeJS4yNTBz4oCdAG51IHBvdCBzxIMgZGVzY2hpZCBmaciZaWVydWwgZGUgZGVzY3JpZXJlIGEgb3DIm2l1bmlsb3Ig4oCeJS4yNTBz4oCdAG51IHBvdCBzxIMgY2l0ZXNjIGRpcmVjdG9ydWwg4oCeJS4yNTBz4oCdIHBlbnRydSBtZXRvZGVsZSBkZSBjaXRpcmUAY2l0aXJlIGltcG9zaWJpbMSDIGEgZmnImWllcnVsdWkgZGUgb3DIm2l1bmkgcGVudHJ1IG1ldG9kZSDigJ4lLjI1MHPigJ0AbnUgcG90IHPEgyBjaXRlc2MgZmnImWllcnVsIGRlIGRlc2NyaWVyZSBhIG9wyJtpdW5pbG9yIOKAniUuMjUwc+KAnQBpbXBvc2liaWwgYSBzY3JpZSBub3VhIG9wyJtpdW5lIMOubiDigJ4lLjI1MHPigJ0AyJlpciBhY8ibaXVuZSBuZWN1bm9zY3V0IOKAniUuNTBz4oCdAGRlc3BhY2hldGF0ZSAobmVwcmVnxIN0aXRlKQBhY3R1YWxpemVhesSDIHNjcmlwdHVsIGRlIGxpc3RhcmUvY3UgbGlzdGUgZGlzcG9uaWJpbAA=