YQ0NCgAAAABGGnxjGUMAAOMAAAAAAAAAAAAAAAAAAAAADAAAAEAAAABzsgIAAGQAZAFsAG0BWgEBAGQAZAJsAloCZABkAmwDWgNkAGQCbARaBGQAZAJsBVoFZABkA2wGbQdaB20IWggBAGQAZARsCW0KWgptC1oLbQxaDAEAZAVkBmwNbQ5aDm0PWg9tEFoQbRFaEQEAZAVkB2wSbRNaEwEAZAhkCWwUbRVaFW0WWhYBAGQCWhdkAloYZApaGWQKWhpkClobZAtnAVocZQplC2UMZAycA1odZA1kDoQAWh5lH2UCZA9lHoMDWiB6HGQAZAJsIVohZABkEGwhbSJaIm0jWiMBAFcAbhIEAGUkeewBAAEAAQBZAG4CMAB6EGQAZBFsIW0ZWhkBAFcAbhQEAGUkkAF5EgEAAQABAFkAbgIwAHoQZAhkEmwlbRhaGAEAVwBuFAQAZSSQAXk4AQABAAEAWQBuAjAAehRkAGQTbCFtJlomAQBlJlonVwBuRgQAZSSQAXmUAQABAAEAehRkAGQUbCFtJ1omAQBlJlonVwBuHAQAZSSQAXmOAQABAAEAZAUEAFonWiZZAG4CMABZAG4CMAB6EGQAZBVsIW0oWigBAFcAbhgEAGUkkAF5vgEAAQABAGUmWihZAG4CMAB6GGQAZBZsIW0pWiltKloqbStaKwEAVwBuIAQAZSSQAXn4AQABAAEAZBdcAloqWitkGFopWQBuAjAAehBkAGQZbCFtLFosAQBXAG4YBABlJJACeSIBAAEAAQBkGlosWQBuAjAAZBugLWcAZByiAaEBWi56EGQAZB1sIW0XWhcBAFcAbiQEAGUkkAJ5ZgEAAQABAEcAZB5kH4QAZB9lL4MDWhdZAG4CMABkIGQhhABaMGQiZCOEAFoxZCRkJYQAWjJkMGQmZCeEAVozZDFkKGQphAFaNGQqZCuEAFo1ZCxkLYQAWjZkMmQuZC+EAVo3ZAJTACkz6QAAAAApAdoPYWJzb2x1dGVfaW1wb3J0TikC2gdoZXhsaWZ52gl1bmhleGxpZnkpA9oDbWQ12gRzaGEx2gZzaGEyNTbpAgAAACkE2hdJbnNlY3VyZVBsYXRmb3JtV2FybmluZ9oWUHJveHlTY2hlbWVVbnN1cHBvcnRlZNoRU05JTWlzc2luZ1dhcm5pbmfaCFNTTEVycm9yKQHaA3NpeOkBAAAAKQLaF0JSQUNFTEVTU19JUFY2X0FERFJaX1JF2gdJUFY0X1JFRnoIaHR0cC8xLjEpA+kgAAAA6SgAAADpQAAAAGMCAAAAAAAAAAAAAAAFAAAABAAAAEMAAABzRAAAAHQAdAF8AIMBdAF8AYMBGACDAX0CdAJ0A3wAgwF0A3wBgwGDAkQAXRRcAn0DfQR8AnwDfARBAE8AfQJxJnwCZAFrAlMAKQJ6pwogICAgQ29tcGFyZSB0d28gZGlnZXN0cyBvZiBlcXVhbCBsZW5ndGggaW4gY29uc3RhbnQgdGltZS4KCiAgICBUaGUgZGlnZXN0cyBtdXN0IGJlIG9mIHR5cGUgc3RyL2J5dGVzLgogICAgUmV0dXJucyBUcnVlIGlmIHRoZSBkaWdlc3RzIG1hdGNoLCBhbmQgRmFsc2Ugb3RoZXJ3aXNlLgogICAgcgEAAAApBNoDYWJz2gNsZW7aA3ppcNoJYnl0ZWFycmF5KQXaAWHaAWLaBnJlc3VsdNoEbGVmdNoFcmlnaHSpAHIdAAAA+lovaG9tZS9obmkvVG9wbWV0YWxTZS1EUFMvdmVudi9saWIvcHl0aG9uMy45L3NpdGUtcGFja2FnZXMvcGlwL192ZW5kb3IvdXJsbGliMy91dGlsL3NzbF8ucHnaHl9jb25zdF9jb21wYXJlX2RpZ2VzdF9iYWNrcG9ydB4AAABzCAAAAAAHFAEaAQ4Bch8AAADaDmNvbXBhcmVfZGlnZXN0KQLaDUNFUlRfUkVRVUlSRUTaC3dyYXBfc29ja2V0KQHaB0hBU19TTkkpAdoMU1NMVHJhbnNwb3J0KQHaDFBST1RPQ09MX1RMUykB2g9QUk9UT0NPTF9TU0x2MjMpAdoTUFJPVE9DT0xfVExTX0NMSUVOVCkD2hFPUF9OT19DT01QUkVTU0lPTtoLT1BfTk9fU1NMdjLaC09QX05PX1NTTHYzKQJpAAAAAWkAAAACaQAAAgApAdoMT1BfTk9fVElDS0VUaQBAAAD6ATopDnoMRUNESEUrQUVTR0NNeg5FQ0RIRStDSEFDSEEyMHoKREhFK0FFU0dDTXoMREhFK0NIQUNIQTIwegtFQ0RIK0FFU0dDTXoJREgrQUVTR0NNeghFQ0RIK0FFU3oGREgrQUVTegpSU0ErQUVTR0NNegdSU0ErQUVTegYhYU5VTEx6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C3wBdAVqBmsCc4Z0DGoNZANrBXKcdA6IAGQEZAGDA2QBdQFynGQFiABfD4cAZgFkBmQHhAh9BHwBdAVqBmsCcsB8AYgAXxB8BIMAAQBuDHwEgwABAHwBiABfEHQRiABkCIMCcux0EmoToBRkCaEBfQV8BXLsfAWIAF8ViABTACkKYREFAABBbGwgYXJndW1lbnRzIGhhdmUgdGhlIHNhbWUgbWVhbmluZyBhcyBgYHNzbF93cmFwX3NvY2tldGBgLgoKICAgIEJ5IGRlZmF1bHQsIHRoaXMgZnVuY3Rpb24gZG9lcyBhIGxvdCBvZiB0aGUgc2FtZSB3b3JrIHRoYXQKICAgIGBgc3NsLmNyZWF0ZV9kZWZhdWx0X2NvbnRleHRgYCBkb2VzIG9uIFB5dGhvbiAzLjQrLiBJdDoKCiAgICAtIERpc2FibGVzIFNTTHYyLCBTU0x2MywgYW5kIGNvbXByZXNzaW9uCiAgICAtIFNldHMgYSByZXN0cmljdGVkIHNldCBvZiBzZXJ2ZXIgY2lwaGVycwoKICAgIElmIHlvdSB3aXNoIHRvIGVuYWJsZSBTU0x2MywgeW91IGNhbiBkbzo6CgogICAgICAgIGZyb20gcGlwLl92ZW5kb3IudXJsbGliMy51dGlsIGltcG9ydCBzc2xfCiAgICAgICAgY29udGV4dCA9IHNzbF8uY3JlYXRlX3VybGxpYjNfY29udGV4dCgpCiAgICAgICAgY29udGV4dC5vcHRpb25zICY9IH5zc2xfLk9QX05PX1NTTHYzCgogICAgWW91IGNhbiBkbyB0aGUgc2FtZSB0byBlbmFibGUgY29tcHJlc3Npb24gKHN1YnN0aXR1dGluZyBgYENPTVBSRVNTSU9OYGAKICAgIGZvciBgYFNTTHYzYGAgaW4gdGhlIGxhc3QgbGluZSBhYm92ZSkuCgogICAgOnBhcmFtIHNzbF92ZXJzaW9uOgogICAgICAgIFRoZSBkZXNpcmVkIHByb3RvY29sIHZlcnNpb24gdG8gdXNlLiBUaGlzIHdpbGwgZGVmYXVsdCB0bwogICAgICAgIFBST1RPQ09MX1NTTHYyMyB3aGljaCB3aWxsIG5lZ290aWF0ZSB0aGUgaGlnaGVzdCBwcm90b2NvbCB0aGF0IGJvdGgKICAgICAgICB0aGUgc2VydmVyIGFuZCB5b3VyIGluc3RhbGxhdGlvbiBvZiBPcGVuU1NMIHN1cHBvcnQuCiAgICA6cGFyYW0gY2VydF9yZXFzOgogICAgICAgIFdoZXRoZXIgdG8gcmVxdWlyZSB0aGUgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uLiBUaGlzIGRlZmF1bHRzIHRvCiAgICAgICAgYGBzc2wuQ0VSVF9SRVFVSVJFRGBgLgogICAgOnBhcmFtIG9wdGlvbnM6CiAgICAgICAgU3BlY2lmaWMgT3BlblNTTCBvcHRpb25zLiBUaGVzZSBkZWZhdWx0IHRvIGBgc3NsLk9QX05PX1NTTHYyYGAsCiAgICAgICAgYGBzc2wuT1BfTk9fU1NMdjNgYCwgYGBzc2wuT1BfTk9fQ09NUFJFU1NJT05gYCwgYW5kIGBgc3NsLk9QX05PX1RJQ0tFVGBgLgogICAgOnBhcmFtIGNpcGhlcnM6CiAgICAgICAgV2hpY2ggY2lwaGVyIHN1aXRlcyB0byBhbGxvdyB0aGUgc2VydmVyIHRvIHNlbGVjdC4KICAgIDpyZXR1cm5zOgogICAgICAgIENvbnN0cnVjdGVkIFNTTENvbnRleHQgb2JqZWN0IHdpdGggc3BlY2lmaWVkIG9wdGlvbnMKICAgIDpydHlwZTogU1NMQ29udGV4dAogICAgTnIBAAAAKQPpAwAAAOkHAAAA6QQAAADaE3Bvc3RfaGFuZHNoYWtlX2F1dGhUYwAAAAAAAAAAAAAAAAAAAAAEAAAAEwAAAHMaAAAAdACIAGQBZACDA2QAdQFyFmQCiABfAWQAUwApA05yLwAAAEYpAnJgAAAAci8AAAByHQAAAKkB2gdjb250ZXh0ch0AAAByHgAAANoWZGlzYWJsZV9jaGVja19ob3N0bmFtZUUBAABzBgAAAAACDv8CBXo2Y3JlYXRlX3VybGxpYjNfY29udGV4dC48bG9jYWxzPi5kaXNhYmxlX2NoZWNrX2hvc3RuYW1l2g9rZXlsb2dfZmlsZW5hbWXaDVNTTEtFWUxPR0ZJTEUpFnIlAAAAcicAAAByLQAAAHJBAAAA2g9ERUZBVUxUX0NJUEhFUlNyMAAAAHIhAAAAcikAAAByKgAAAHIoAAAAcisAAAByNAAAANoDc3lz2gx2ZXJzaW9uX2luZm9yYAAAAHJqAAAAcjIAAADaB2hhc2F0dHLaAm9z2gdlbnZpcm9uclEAAABybgAAACkGckMAAAByQgAAAHI0AAAAcjcAAABybQAAANoNc3Nsa2V5bG9nZmlsZXIdAAAAcmsAAAByHgAAANoWY3JlYXRlX3VybGxpYjNfY29udGV4dPoAAABzOgAAAAAlDAEEAggCDgMSAggBBAIIAggDCAUIAg4IFgEG/wICAv4EAwYCDA0KAQYBCAIGAQYECgEMAQQBBgJydwAAAGMNAAAAAAAAAAAAAAASAAAACgAAAEMAAABzXAEAAHwIfQ18DWQBdQByGnQAfAZ8A3wHZAKNA30NfARzJnwJcyZ8C3JsehJ8DaABfAR8CXwLoQMBAFcAcYYEAHQCdANmAnloAQB9DgEAehR0BHwOgwGCAVcAWQBkAX0Ofg5xhmQBfQ5+DjAAMABuGnwIZAF1AHKGdAV8DWQDgwJyhnwNoAahAAEAfAFyonwKZAF1AHKidAd8AYMBcqJ0BGQEgwGCAXwCcsp8CmQBdQByvHwNoAh8AnwBoQIBAG4OfA2gCHwCfAF8CqEDAQB6GHQFfA1kBYMCcuB8DaAJdAqhAQEAVwBuEgQAdAt59AEAAQABAFkAbgIwAHwFkAFvBHQMfAWDAQwAfQ98D5ABchJ0DZABcBp0DpABbxp8BX0QdA2QAXM0fA+QAXI0dA+gEGQGdBGhAgEAfBCQAXJMdBJ8AHwNfAx8BWQHjQR9EW4MdBJ8AHwNfAyDA30RfBFTACkIYRUEAAAKICAgIEFsbCBhcmd1bWVudHMgZXhjZXB0IGZvciBzZXJ2ZXJfaG9zdG5hbWUsIHNzbF9jb250ZXh0LCBhbmQgY2FfY2VydF9kaXIgaGF2ZQogICAgdGhlIHNhbWUgbWVhbmluZyBhcyB0aGV5IGRvIHdoZW4gdXNpbmcgOmZ1bmM6YHNzbC53cmFwX3NvY2tldGAuCgogICAgOnBhcmFtIHNlcnZlcl9ob3N0bmFtZToKICAgICAgICBXaGVuIFNOSSBpcyBzdXBwb3J0ZWQsIHRoZSBleHBlY3RlZCBob3N0bmFtZSBvZiB0aGUgY2VydGlmaWNhdGUKICAgIDpwYXJhbSBzc2xfY29udGV4dDoKICAgICAgICBBIHByZS1tYWRlIDpjbGFzczpgU1NMQ29udGV4dGAgb2JqZWN0LiBJZiBub25lIGlzIHByb3ZpZGVkLCBvbmUgd2lsbAogICAgICAgIGJlIGNyZWF0ZWQgdXNpbmcgOmZ1bmM6YGNyZWF0ZV91cmxsaWIzX2NvbnRleHRgLgogICAgOnBhcmFtIGNpcGhlcnM6CiAgICAgICAgQSBzdHJpbmcgb2YgY2lwaGVycyB3ZSB3aXNoIHRoZSBjbGllbnQgdG8gc3VwcG9ydC4KICAgIDpwYXJhbSBjYV9jZXJ0X2RpcjoKICAgICAgICBBIGRpcmVjdG9yeSBjb250YWluaW5nIENBIGNlcnRpZmljYXRlcyBpbiBtdWx0aXBsZSBzZXBhcmF0ZSBmaWxlcywgYXMKICAgICAgICBzdXBwb3J0ZWQgYnkgT3BlblNTTCdzIC1DQXBhdGggZmxhZyBvciB0aGUgY2FwYXRoIGFyZ3VtZW50IHRvCiAgICAgICAgU1NMQ29udGV4dC5sb2FkX3ZlcmlmeV9sb2NhdGlvbnMoKS4KICAgIDpwYXJhbSBrZXlfcGFzc3dvcmQ6CiAgICAgICAgT3B0aW9uYWwgcGFzc3dvcmQgaWYgdGhlIGtleWZpbGUgaXMgZW5jcnlwdGVkLgogICAgOnBhcmFtIGNhX2NlcnRfZGF0YToKICAgICAgICBPcHRpb25hbCBzdHJpbmcgY29udGFpbmluZyBDQSBjZXJ0aWZpY2F0ZXMgaW4gUEVNIGZvcm1hdCBzdWl0YWJsZSBmb3IKICAgICAgICBwYXNzaW5nIGFzIHRoZSBjYWRhdGEgcGFyYW1ldGVyIHRvIFNTTENvbnRleHQubG9hZF92ZXJpZnlfbG9jYXRpb25zKCkKICAgIDpwYXJhbSB0bHNfaW5fdGxzOgogICAgICAgIFVzZSBTU0xUcmFuc3BvcnQgdG8gd3JhcCB0aGUgZXhpc3Rpbmcgc29ja2V0LgogICAgTnJAAAAA2hJsb2FkX2RlZmF1bHRfY2VydHN6NUNsaWVudCBwcml2YXRlIGtleSBpcyBlbmNyeXB0ZWQsIHBhc3N3b3JkIGlzIHJlcXVpcmVk2hJzZXRfYWxwbl9wcm90b2NvbHNhgAEAAEFuIEhUVFBTIHJlcXVlc3QgaGFzIGJlZW4gbWFkZSwgYnV0IHRoZSBTTkkgKFNlcnZlciBOYW1lIEluZGljYXRpb24pIGV4dGVuc2lvbiB0byBUTFMgaXMgbm90IGF2YWlsYWJsZSBvbiB0aGlzIHBsYXRmb3JtLiBUaGlzIG1heSBjYXVzZSB0aGUgc2VydmVyIHRvIHByZXNlbnQgYW4gaW5jb3JyZWN0IFRMUyBjZXJ0aWZpY2F0ZSwgd2hpY2ggY2FuIGNhdXNlIHZhbGlkYXRpb24gZmFpbHVyZXMuIFlvdSBjYW4gdXBncmFkZSB0byBhIG5ld2VyIHZlcnNpb24gb2YgUHl0aG9uIHRvIHNvbHZlIHRoaXMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgaHR0cHM6Ly91cmxsaWIzLnJlYWR0aGVkb2NzLmlvL2VuLzEuMjYueC9hZHZhbmNlZC11c2FnZS5odG1sI3NzbC13YXJuaW5nc6kBckgAAAApE3J3AAAAcj8AAADaB0lPRXJyb3LaB09TRXJyb3JyDAAAAHJzAAAAcngAAADaFl9pc19rZXlfZmlsZV9lbmNyeXB0ZWRyOwAAAHJ5AAAA2g5BTFBOX1BST1RPQ09MU9oTTm90SW1wbGVtZW50ZWRFcnJvctoMaXNfaXBhZGRyZXNzciMAAADaEklTX1NFQ1VSRVRSQU5TUE9SVHJFAAAAckYAAAByCwAAANoVX3NzbF93cmFwX3NvY2tldF9pbXBsKRLaBHNvY2tyNgAAAHI1AAAAckIAAAByMwAAAHJIAAAAckMAAAByNwAAANoLc3NsX2NvbnRleHTaC2NhX2NlcnRfZGly2gxrZXlfcGFzc3dvcmTaDGNhX2NlcnRfZGF0YdoKdGxzX2luX3Rsc3JsAAAA2gFl2hB1c2Vfc25pX2hvc3RuYW1l2ghzZW5kX3NuadoIc3NsX3NvY2tyHQAAAHIdAAAAch4AAADaD3NzbF93cmFwX3NvY2tldGMBAABzSAAAAAAmBAEIBA4CDAECARIBEgEgAhICCAUUAQgCBAEIAQ4CDgICAQoBDgEMAQYEEAIMAQj/AgQMAQQBAgcC+AQLBgECAQj/CAQMAXKNAAAAYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAAAHMyAAAAdABqAXMadAJ8AHQDgwJyGnwAoARkAaEBfQB0BXQGoAd8AKEBcC50CKAHfAChAYMBUwApAnrmRGV0ZWN0cyB3aGV0aGVyIHRoZSBob3N0bmFtZSBnaXZlbiBpcyBhbiBJUHY0IG9yIElQdjYgYWRkcmVzcy4KICAgIEFsc28gZGV0ZWN0cyBJUHY2IGFkZHJlc3NlcyB3aXRoIFpvbmUgSURzLgoKICAgIDpwYXJhbSBzdHIgaG9zdG5hbWU6IEhvc3RuYW1lIHRvIGV4YW1pbmUuCiAgICA6cmV0dXJuOiBUcnVlIGlmIHRoZSBob3N0bmFtZSBpcyBhbiBJUCBhZGRyZXNzLCBGYWxzZSBvdGhlcndpc2UuCiAgICDaBWFzY2lpKQlyDQAAANoDUFkycl4AAADaBWJ5dGVz2gZkZWNvZGXaBGJvb2xyEAAAANoFbWF0Y2hyDwAAACkB2ghob3N0bmFtZXIdAAAAch0AAAByHgAAAHKAAAAAyQEAAHMGAAAAAAcQAgoBcoAAAABjAQAAAAAAAAAAAAAAAwAAAAgAAABDAAAAc1IAAAB0AHwAZAGDAo80fQF8AUQAXR59AmQCfAJ2AHIQAQBXAGQDBAAEAIMDAQBkBFMAcRBXAGQDBAAEAIMDAQBuEDEAc0QwAAEAAQABAFkAAQBkBVMAKQZ6KkRldGVjdHMgaWYgYSBrZXkgZmlsZSBpcyBlbmNyeXB0ZWQgb3Igbm90LtoBctoJRU5DUllQVEVETlRGKQHaBG9wZW4pA9oIa2V5X2ZpbGXaAWbaBGxpbmVyHQAAAHIdAAAAch4AAAByfQAAANYBAABzCgAAAAACDAEIAggBMgJyfQAAAGMEAAAAAAAAAAAAAAAEAAAABAAAAEMAAABzRgAAAHwCciZ0AHMQdAFkAYMBggF0AKACfAGhAQEAdAB8AHwBfAODA1MAfANyOHwBagN8AHwDZAKNAlMAfAGgA3wAoQFTAGQAUwApA056MFRMUyBpbiBUTFMgcmVxdWlyZXMgc3VwcG9ydCBmb3IgdGhlICdzc2wnIG1vZHVsZXJ6AAAAKQRyJAAAAHIKAAAA2iRfdmFsaWRhdGVfc3NsX2NvbnRleHRfZm9yX3Rsc19pbl90bHNyIgAAACkEcoMAAAByhAAAAHKIAAAAckgAAAByHQAAAHIdAAAAch4AAAByggAAAOEBAABzFAAAAAABBAEEAgIBAv8EBAoBDAIEAQ4CcoIAAAApBE5OTk4pDE5OTk5OTk5OTk5ORikBTik42gpfX2Z1dHVyZV9fcgIAAADaBGhtYWNydAAAAHJxAAAAckUAAADaCGJpbmFzY2lpcgMAAAByBAAAANoHaGFzaGxpYnIFAAAAcgYAAAByBwAAANoKZXhjZXB0aW9uc3IJAAAAcgoAAAByCwAAAHIMAAAA2ghwYWNrYWdlc3INAAAA2gN1cmxyDwAAAHIQAAAAci0AAAByJAAAAHIjAAAA2gxJU19QWU9QRU5TU0xygQAAAHJ+AAAAclAAAAByHwAAAHJgAAAAclUAAAByMAAAAHIhAAAAciIAAADaC0ltcG9ydEVycm9yWgxzc2x0cmFuc3BvcnRyJQAAAHImAAAAcicAAAByKAAAAHIpAAAAcioAAAByKwAAANoEam9pbnJwAAAA2gZvYmplY3RyXAAAAHJkAAAAcmYAAABydwAAAHKNAAAAcoAAAAByfQAAAHKCAAAAch0AAAByHQAAAHIdAAAAch4AAADaCDxtb2R1bGU+AQAAAHOiAAAADAIIAQgBCAEIARABFAIYBgwBEAIEAQQBBAEEAQQBBgMMAwgNDAICAQgBFAEMAQYCAgEQAQ4BBgICARABDgEGAwIBDAIIAQ4BAgEMAggBDgEUAgIBEAEOAQoDAgEYAQ4BCAEKAwIBEAEOAQoUBAEG/wQTAgEQAQ4CFjEIHQgXCBEA/wprAAEAAQABAAEAAQABAAEAAQABAAEAAQDzCmYIDQgL