A/MNCmP5IVRjAAAAAAAAAAAYAAAAQAAAAHNNAwAAZAAAWgAAZAEAWgEAZAIAWgIAZAMAZAQAZAUAZAYAZAcAZAgAZAkAZAoAZAsAZAwAZA0AZA4AZA8AZBAAZBEAZBIAZBMAZBQAZBUAZBYAZBcAZBgAZBkAZBoAZxgAWgMAZBsAZBwAbAQAWgQAZBsAZB0AbAQAbQUAWgUAbQYAWgYAbQcAWgcAAWUEAGoIAGQeAGsAAHKdAGUJAG4DAGUKAFoLAGQfAIQAAFoMAGUKAGQgAIQBAFoNAGUKAGUOAGQhAIQCAFoPAGQiAIQAAFoQAGUKAGQjAIQBAFoRAGUKAGQkAIQBAFoSAGQlAGQmAGQnAIQCAFoTAGQoAIQAAFoUAGUJAGQpAIQBAFoVAGQqAIQAAFoWAGQrAIQAAFoXAGQsAIQAAFoYAGQtAIQAAFoZAGQuAIQAAFoaAGUOAGQvAIQBAFobAGQVAGUcAGYBAGQwAIQAAIMAAFlaHQBkMQBlBABqHgBmAQBkMgCEAACDAABZWh4AZAMAZR4AZgEAZDMAhAAAgwAAWVofAGQEAGUeAGYBAGQ0AIQAAIMAAFlaIABkBgBlHgBlBABqIQBmAgBkNQCEAACDAABZWiEAZAUAZSEAZgEAZDYAhAAAgwAAWVoiAGQHAGUeAGYBAGQ3AIQAAIMAAFlaIwBkCABlHgBmAQBkOACEAACDAABZWiQAZAkAZR4AZgEAZDkAhAAAgwAAWVolAGUlAFomAGQLAGUeAGYBAGQ6AIQAAIMAAFlaJwBkDABlHgBmAQBkOwCEAACDAABZWigAZA0AZR4AZQQAaikAZgIAZDwAhAAAgwAAWVoqAGUqAFopAGQPAGUeAGYBAGQ9AIQAAIMAAFlaKwBkEABlHgBmAQBkPgCEAACDAABZWiwAZBEAZR4AZQQAai0AZgIAZD8AhAAAgwAAWVotAGQSAGUeAGUEAGouAGYCAGRAAIQAAIMAAFlaLgBkEwBlHgBmAQBkQQCEAACDAABZWi8AZBQAZR4AZgEAZEIAhAAAgwAAWVowAGQWAGUeAGUEAGoxAGUEAGoyAGYDAGRDAIQAAIMAAFlaMwBkFwBlIwBlHABmAgBkRACEAACDAABZWjQAZBgAZScAZgEAZEUAhAAAgwAAWVo1AGQcAFMoRgAAAHPmAQAAVHRrIHdyYXBwZXIuCgpUaGlzIG1vZHVsZSBwcm92aWRlcyBjbGFzc2VzIHRvIGFsbG93IHVzaW5nIFRrIHRoZW1lZCB3aWRnZXQgc2V0LgoKVHRrIGlzIGJhc2VkIG9uIGEgcmV2aXNlZCBhbmQgZW5oYW5jZWQgdmVyc2lvbiBvZgpUSVAgIzQ4IChodHRwOi8vdGlwLnRjbC50ay80OCkgc3BlY2lmaWVkIHN0eWxlIGVuZ2luZS4KCkl0cyBiYXNpYyBpZGVhIGlzIHRvIHNlcGFyYXRlLCB0byB0aGUgZXh0ZW50IHBvc3NpYmxlLCB0aGUgY29kZQppbXBsZW1lbnRpbmcgYSB3aWRnZXQncyBiZWhhdmlvciBmcm9tIHRoZSBjb2RlIGltcGxlbWVudGluZyBpdHMKYXBwZWFyYW5jZS4gV2lkZ2V0IGNsYXNzIGJpbmRpbmdzIGFyZSBwcmltYXJpbHkgcmVzcG9uc2libGUgZm9yCm1haW50YWluaW5nIHRoZSB3aWRnZXQgc3RhdGUgYW5kIGludm9raW5nIGNhbGxiYWNrcywgYWxsIGFzcGVjdHMKb2YgdGhlIHdpZGdldHMgYXBwZWFyYW5jZSBsaWVzIGF0IFRoZW1lcy4KcwUAAAAwLjMuMXMhAAAAR3VpbGhlcm1lIFBvbG8gPGdncG9sb0BnbWFpbC5jb20+dAYAAABCdXR0b250CwAAAENoZWNrYnV0dG9udAgAAABDb21ib2JveHQFAAAARW50cnl0BQAAAEZyYW1ldAUAAABMYWJlbHQKAAAATGFiZWxmcmFtZXQKAAAATGFiZWxGcmFtZXQKAAAATWVudWJ1dHRvbnQIAAAATm90ZWJvb2t0CwAAAFBhbmVkd2luZG93dAsAAABQYW5lZFdpbmRvd3QLAAAAUHJvZ3Jlc3NiYXJ0CwAAAFJhZGlvYnV0dG9udAUAAABTY2FsZXQJAAAAU2Nyb2xsYmFydAkAAABTZXBhcmF0b3J0CAAAAFNpemVncmlwdAUAAABTdHlsZXQIAAAAVHJlZXZpZXd0DAAAAExhYmVsZWRTY2FsZXQKAAAAT3B0aW9uTWVudXQNAAAAdGNsb2Jqc190b19weXQMAAAAc2V0dXBfbWFzdGVyaf////9OKAMAAAB0CAAAAF9mbGF0dGVudAUAAABfam9pbnQKAAAAX3N0cmluZ2lm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cyBubyBvcHRpb25zLCBvcgogICAgICAgICAgICBhIGRpY3Qgb2Ygb3B0aW9ucyBzcGVjaWZ5aW5nIGhvdyB0byBhcnJhbmdlIHRoZSBlbGVtZW50LgogICAgICAgICAgICBUaGUgbGF5b3V0IG1lY2hhbmlzbSB1c2VzIGEgc2ltcGxpZmllZCB2ZXJzaW9uIG9mIHRoZSBwYWNrCiAgICAgICAgICAgIGdlb21ldHJ5IG1hbmFnZXI6IGdpdmVuIGFuIGluaXRpYWwgY2F2aXR5LCBlYWNoIGVsZW1lbnQgaXMKICAgICAgICAgICAgYWxsb2NhdGVkIGEgcGFyY2VsLiBWYWxpZCBvcHRpb25zL3ZhbHVlcyBhcmU6CgogICAgICAgICAgICAgICAgc2lkZTogd2hpY2hzaWRlCiAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIHdoaWNoIHNpZGUgb2YgdGhlIGNhdml0eSB0byBwbGFjZSB0aGUKICAgICAgICAgICAgICAgICAgICBlbGVtZW50OyBvbmUgb2YgdG9wLCByaWdodCwgYm90dG9tIG9yIGxlZnQuIElmCiAgICAgICAgICAgICAgICAgICAgb21pdHRlZCwgdGhlIGVsZW1lbnQgb2NjdXBpZXMgdGhlIGVudGlyZSBjYXZpdHkuCgogICAgICAgICAgICAgICAgc3RpY2t5OiBuc3dlCiAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIHdoZXJlIHRoZSBlbGVtZW50IGlzIHBsYWNlZCBpbnNpZGUgaXRzCiAgICAgICAgICAgICAgICAgICAgYWxsb2NhdGVkIHBhcmNlbC4KCiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW3N1YmxheW91dC4uLiBdCiAgICAgICAgICAgICAgICAgICAgU3BlY2lmaWVzIGEgbGlzdCBvZiBlbGVtZW50cyB0byBwbGFjZSBpbnNpZGUgdGhlCiAgICAgICAgICAgICAgICAgICAgZWxlbWVudC4gRWFjaCBlbGVtZW50IGlzIGEgdHVwbGUgKG9yIG90aGVyIHNlcXVlbmNlKQogICAgICAgICAgICAgICAgICAgIHdoZXJlIHRoZSBmaXJzdCBpdGVtIGlzIHRoZSBsYXlvdXQgbmFtZSwgYW5kIHRoZSBvdGhlcgogICAgICAgICAgICAgICAgICAgIGlzIGEgTEFZT1VULmkAAAAAUlsAAABSUQAAAE4oBgAAAFIvAAAAUlAAAABSeAAAAFIgAAAAUo8AAABSkAAAACgEAAAAUo0AAABSkQAAAHQKAAAAbGF5b3V0c3BlY3QFAAAAbHNwZWMoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHlSUQAAAKMBAABzDgAAAAAgBgEGARMBDAEJAwMBYwMAAAAHAAAACAAAAE8AAABzRAAAAHQAAHwCAHQBAHwDAHwEAI4CAFwCAH0FAH0GAHwAAGoCAGoDAHwAAGoEAGQBAGQCAHwBAHwCAHwFAHwGAIwGAAFkAwBTKAQAAABzOQAAAENyZWF0ZSBhIG5ldyBlbGVtZW50IGluIHRoZSBjdXJyZW50IHRoZW1lIG9mIGdpdmVuIGV0eXBlLnQHAAAAZWxlbWVudHQGAAAAY3JlYXRlTigFAAAAUk4AAABSjAAAAFIgAAAAUo8AAABSkAAAACgHAAAAUo0AAAB0CwAAAGVsZW1lbnRuYW1lUkUAAABSRgAAAFJHAAAAUkgAAABSMgAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weXQOAAAAZWxlbWVudF9jcmVhdGXOAQAAcwYAAAAAAhsBGwFjAQAAAAEAAAAEAAAAQwAAAHMZAAAAfAAAagAAagEAfAAAagIAZAEAZAIAgwMAUygDAAAAczoAAABSZXR1cm5zIHRoZSBsaXN0IG9mIGVsZW1lbnRzIGRlZmluZWQgaW4gdGhlIGN1cnJlbnQgdGhlbWUuUpgAAAB0BQAAAG5hbWVzKAMAAABSIAAAAFKPAAAAUpAAAAAoAQAAAFKNAAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5dA0AAABlbGVtZW50X25hbWVz1QEAAHMCAAAAAAJjAgAAAAIAAAAFAAAAQwAAAHMcAAAAfAAAagAAagEAfAAAagIAZAEAZAIAfAEAgwQAUygDAAAAcykAAABSZXR1cm4gdGhlIGxpc3Qgb2YgZWxlbWVudG5hbWUncyBvcHRpb25zLlKYAAAAUnwAAAAoAwAAAFIgAAAAUo8AAABSkAAAACgCAAAAUo0AAABSmgAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weXQPAAAAZWxlbWVudF9vcHRpb25z2gEAAHMCAAAAAAJjBAAAAAUAAAAJAAAAQwAAAHNvAAAAfAMAchIAdAAAfAMAgwEAbgMAZAEAfQQAfAIAckkAfAAAagEAagIAfAAAagMAZAIAZAMAfAEAZAQAfAIAZAUAfAQAgwgAAW4iAHwAAGoBAGoCAHwAAGoDAGQCAGQDAHwBAGQFAHwEAIMGAAFkBgBTKAcAAABzLgEAAENyZWF0ZXMgYSBuZXcgdGhlbWUuCgogICAgICAgIEl0IGlzIGFuIGVycm9yIGlmIHRoZW1lbmFtZSBhbHJlYWR5IGV4aXN0cy4gSWYgcGFyZW50IGlzCiAgICAgICAgc3BlY2lmaWVkLCB0aGUgbmV3IHRoZW1lIHdpbGwgaW5oZXJpdCBzdHlsZXMsIGVsZW1lbnRzIGFuZAogICAgICAgIGxheW91dHMgZnJvbSB0aGUgc3BlY2lmaWVkIHBhcmVudCB0aGVtZS4gSWYgc2V0dGluZ3MgYXJlIHByZXNlbnQsCiAgICAgICAgdGhleSBhcmUgZXhwZWN0ZWQgdG8gaGF2ZSB0aGUgc2FtZSBzeW50YXggdXNlZCBmb3IgdGhlbWVfc2V0dGluZ3MuUjUAAAB0BQAAAHRoZW1lUpkAAABzBwAAAC1wYXJlbnRzCQAAAC1zZXR0aW5nc04oBAAAAFJlAAAAUiAAAABSjwAAAFKQAAAAKAUAAABSjQAAAHQJAAAAdGhlbWVuYW1ldAYAAABwYXJlbnRSXQAAAFIrAAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5dAwAAAB0aGVtZV9jcmVhdGXfAQAAcwwAAAAABxgCBgEYARMCGAFjAwAAAAQAAAAGAAAAQwAAAHMvAAAAdAAAfAIAgwEAfQMAfAAAagEAagIAfAAAagMAZAEAZAIAfAEAfAMAgwUAAWQDAFMoBAAAAHOPAQAAVGVtcG9yYXJpbHkgc2V0cyB0aGUgY3VycmVudCB0aGVtZSB0byB0aGVtZW5hbWUsIGFwcGx5IHNwZWNpZmllZAogICAgICAgIHNldHRpbmdzIGFuZCB0aGVuIHJlc3RvcmUgdGhlIHByZXZpb3VzIHRoZW1lLgoKICAgICAgICBFYWNoIGtleSBpbiBzZXR0aW5ncyBpcyBhIHN0eWxlIGFuZCBlYWNoIHZhbHVlIG1heSBjb250YWluIHRoZQogICAgICAgIGtleXMgJ2NvbmZpZ3VyZScsICdtYXAnLCAnbGF5b3V0JyBhbmQgJ2VsZW1lbnQgY3JlYXRlJyBhbmQgdGhleQogICAgICAgIGFyZSBleHBlY3RlZCB0byBoYXZlIHRoZSBzYW1lIGZvcm1hdCBhcyBzcGVjaWZpZWQgYnkgdGhlIG1ldGhvZHMKICAgICAgICBjb25maWd1cmUsIG1hcCwgbGF5b3V0IGFuZCBlbGVtZW50X2NyZWF0ZSByZXNwZWN0aXZlbHkuUp8AAABSXQAAAE4oBAAAAFJlAAAAUiAAAABSjwAAAFKQAAAAKAQAAABSjQAAAFKgAAAAUl0AAABSKwAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weXQOAAAAdGhlbWVfc2V0dGluZ3PwAQAAcwQAAAAACAwBYwEAAAABAAAABAAAAEMAAABzGQAAAHwAAGoAAGoBAHwAAGoCAGQBAGQCAIMDAFMoAwAAAHMjAAAAUmV0dXJucyBhIGxpc3Qgb2YgYWxsIGtub3duIHRoZW1lcy5SnwAAAFKcAAAAKAMAAABSIAAAAFKPAAAAUpAAAAAoAQAAAFKNAAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5dAsAAAB0aGVtZV9uYW1lc/wBAABzAgAAAAACYwIAAAACAAAAAwAAAEMAAABzMwAAAHwBAGQDAGsIAHIcAHwAAGoBAGoCAGQBAIMBAFN8AABqAQBqAwBkAgB8AQCDAgABZAMAUygEAAAAc6gAAABJZiB0aGVtZW5hbWUgaXMgTm9uZSwgcmV0dXJucyB0aGUgdGhlbWUgaW4gdXNlLCBvdGhlcndpc2UsIHNldAogICAgICAgIHRoZSBjdXJyZW50IHRoZW1lIHRvIHRoZW1lbmFtZSwgcmVmcmVzaGVzIGFsbCB3aWRnZXRzIGFuZCBlbWl0cwogICAgICAgIGEgPDxUaGVtZUNoYW5nZWQ+PiBldmVudC5zGQAAAHJldHVybiAkdHRrOjpjdXJyZW50VGhlbWVzDQAAAHR0azo6c2V0VGhlbWVOKAQAAABSLwAAAFIgAAAAUiEAAABSjwAAACgCAAAAUo0AAABSoAAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weXQJAAAAdGhlbWVfdXNlAQIAAHMGAAAAAAQMAxAFTigRAAAAdAgAAABfX25hbWVfX3QKAAAAX19tb2R1bGVfX3QHAAAAX19kb2NfX1KQAAAAUi8AAABSjgAAAFJZAAAAUloAAABSkwAAAFJRAAAAUpsAAABSnQAAAFKeAAAAUqIAAABSowAAAFKkAAAAUqUAAAAoAAAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVISAAAAbAEAAHMcAAAABgEGAgYCDAsMCwwQDwwMKwkHCQUJBQ8RCQwJBXQGAAAAV2lkZ2V0YwAAAAAAAAAAAgAAAEIAAABzOwAAAGUAAFoBAGQAAFoCAGQFAGQBAIQBAFoEAGQCAIQAAFoFAGQFAGQDAIQBAFoGAGQFAGQEAIQBAFoHAFJTKAYAAABzIQAAAEJhc2UgY2xhc3MgZm9yIFRrIHRoZW1lZCB3aWRnZXRzLmMEAAAABAAAAAYAAABDAAAAc0sAAAB0AAB8AQCDAQB9AQB0AQB8AQBkAQB0AgCDAwBzKwB0AwB8AQCDAQABbgAAdAQAagUAagYAfAAAfAEAfAIAZAIAfAMAgwMBAWQDAFMoBAAAAHO0AQAAQ29uc3RydWN0cyBhIFR0ayBXaWRnZXQgd2l0aCB0aGUgcGFyZW50IG1hc3Rlci4KCiAgICAgICAgU1RBTkRBUkQgT1BUSU9OUwoKICAgICAgICAgICAgY2xhc3MsIGN1cnNvciwgdGFrZWZvY3VzLCBzdHlsZQoKICAgICAgICBTQ1JPTExBQkxFIFdJREdFVCBPUFRJT05TCgogICAgICAgICAgICB4c2Nyb2xsY29tbWFuZCwgeXNjcm9sbGNvbW1hbmQKCiAgICAgICAgTEFCRUwgV0lER0VUIE9QVElPTlMKCiAgICAgICAgICAgIHRleHQsIHRleHR2YXJpYWJsZSwgdW5kZXJsaW5lLCBpbWFnZSwgY29tcG91bmQsIHdpZHRoCgogICAgICAgIFdJREdFVCBTVEFURVMKCiAgICAgICAgICAgIGFjdGl2ZSwgZGlzYWJsZWQsIGZvY3VzLCBwcmVzc2VkLCBzZWxlY3RlZCwgYmFja2dyb3VuZCwKICAgICAgICAgICAgcmVhZG9ubHksIGFsdGVybmF0ZSwgaW52YWxpZAogICAgICAgIFIjAAAAUkcAAABOKAcAAABSFwAAAFJxAAAAUowAAABSJgAAAFKHAAAAUqkAAABSjgAAACgEAAAAUo0AAABSJAAAAHQKAAAAd2lkZ2V0bmFtZVJHAAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5Uo4AAAATAgAAcwgAAAAAFAwBEgINAWMDAAAAAwAAAAUAAABDAAAAcxwAAAB8AABqAABqAQB8AABqAgBkAQB8AQB8AgCDBABTKAIAAABzugAAAFJldHVybnMgdGhlIG5hbWUgb2YgdGhlIGVsZW1lbnQgYXQgcG9zaXRpb24geCwgeSwgb3IgdGhlIGVtcHR5CiAgICAgICAgc3RyaW5nIGlmIHRoZSBwb2ludCBkb2VzIG5vdCBsaWUgd2l0aGluIGFueSBlbGVtZW50LgoKICAgICAgICB4IGFuZCB5IGFyZSBwaXhlbCBjb29yZGluYXRlcyByZWxhdGl2ZSB0byB0aGUgd2lkZ2V0LnQIAAAAaWRlbnRpZnkoAwAAAFIgAAAAUo8AAAB0AgAAAF93KAMAAABSjQAAAHQBAAAAeHQBAAAAeSgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVKrAAAALgIAAHMCAAAAAAVjAwAAAAYAAAAFAAAATwAAAHNHAAAAfAAAagAAagEAfAAAagIAZAEAZAIAagMAfAEAgwEAgwMAfQUAfAUAcj0AfAIAcj0AfAIAfAMAfAQAjgAAU3QEAHwFAIMBAFMoAwAAAHMxAQAAVGVzdCB0aGUgd2lkZ2V0J3Mgc3RhdGUuCgogICAgICAgIElmIGNhbGxiYWNrIGlzIG5vdCBzcGVjaWZpZWQsIHJldHVybnMgVHJ1ZSBpZiB0aGUgd2lkZ2V0IHN0YXRlCiAgICAgICAgbWF0Y2hlcyBzdGF0ZXNwZWMgYW5kIEZhbHNlIG90aGVyd2lzZS4gSWYgY2FsbGJhY2sgaXMgc3BlY2lmaWVkLAogICAgICAgIHRoZW4gaXQgd2lsbCBiZSBpbnZva2VkIHdpdGggKmFyZ3MsICoqa3cgaWYgdGhlIHdpZGdldCBzdGF0ZQogICAgICAgIG1hdGNoZXMgc3RhdGVzcGVjLiBzdGF0ZXNwZWMgaXMgZXhwZWN0ZWQgdG8gYmUgYSBzZXF1ZW5jZS50BwAAAGluc3RhdGVSNgAAACgFAAAAUiAAAABSjwAAAFKsAAAAUjgAAAB0BAAAAGJvb2woBgAAAFKNAAAAdAkAAABzdGF0ZXNwZWN0CAAAAGNhbGxiYWNrUkYAAABSRwAAAHQDAAAAcmV0KAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5Uq8AAAA2AgAAcwgAAAAAByQBDAENAmMCAAAAAgAAAAYAAABDAAAAc0kAAAB8AQBkAwBrCQByHgBkAQBqAQB8AQCDAQB9AQBuAAB8AABqAgBqAwB0BAB8AABqAgBqBQB8AABqBgBkAgB8AQCDAwCDAQCDAQBTKAQAAABzFwEAAE1vZGlmeSBvciBpbnF1aXJlIHdpZGdldCBzdGF0ZS4KCiAgICAgICAgV2lkZ2V0IHN0YXRlIGlzIHJldHVybmVkIGlmIHN0YXRlc3BlYyBpcyBOb25lLCBvdGhlcndpc2UgaXQgaXMKICAgICAgICBzZXQgYWNjb3JkaW5nIHRvIHRoZSBzdGF0ZXNwZWMgZmxhZ3MgYW5kIHRoZW4gYSBuZXcgc3RhdGUgc3BlYwogICAgICAgIGlzIHJldHVybmVkIGluZGljYXRpbmcgd2hpY2ggZmxhZ3Mgd2VyZSBjaGFuZ2VkLiBzdGF0ZXNwZWMgaXMKICAgICAgICBleHBlY3RlZCB0byBiZSBhIHNlcXVlbmNlLlI2AAAAUjwAAABOKAcAAABSLwAAAFI4AAAAUiAAAAB0CQAAAHNwbGl0bGlzdFJoAAAAUo8AAABSrAAAACgCAAAAUo0AAABSsQAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVI8AAAARAIAAHMGAAAAAAcMARICTigIAAAAUqYAAABSpwAAAFKoAAAAUi8AAABSjgAAAFKrAAAAUq8AAABSPAAAACgAAAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5UqkAAAAQAgAAcwoAAAAGAQYCDBsJCAwOYwAAAAAAAAAAAgAAAEIAAABzIwAAAGUAAFoBAGQAAFoCAGQDAGQBAIQBAFoEAGQCAIQAAFoFAFJTKAQAAABzYwAAAFR0ayBCdXR0b24gd2lkZ2V0LCBkaXNwbGF5cyBhIHRleHR1YWwgbGFiZWwgYW5kL29yIGltYWdlLCBhbmQKICAgIGV2YWx1YXRlcyBhIGNvbW1hbmQgd2hlbiBwcmVzc2VkLmMCAAAAAwAAAAUAAABLAAAAcxoAAAB0AABqAQB8AAB8AQBkAQB8AgCDBAABZAIAUygDAAAAcxUBAABDb25zdHJ1Y3QgYSBUdGsgQnV0dG9uIHdpZGdldCB3aXRoIHRoZSBwYXJlbnQgbWFzdGVyLgoKICAgICAgICBTVEFOREFSRCBPUFRJT05TCgogICAgICAgICAgICBjbGFzcywgY29tcG91bmQsIGN1cnNvciwgaW1hZ2UsIHN0YXRlLCBzdHlsZSwgdGFrZWZvY3VzLAogICAgICAgICAgICB0ZXh0LCB0ZXh0dmFyaWFibGUsIHVuZGVybGluZSwgd2lkdGgKCiAgICAgICAgV0lER0VULVNQRUNJRklDIE9QVElPTlMKCiAgICAgICAgICAgIGNvbW1hbmQsIGRlZmF1bHQsIHdpZHRoCiAgICAgICAgcwsAAAB0dGs6OmJ1dHRvbk4oAgAAAFKpAAAAUo4AAAAoAwAAAFKNAAAAUiQAAABSRwAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVKOAAAAVQIAAHMCAAAAAAxjAQAAAAEAAAADAAAAQwAAAHMWAAAAfAAAagAAagEAfAAAagIAZAEAgwIAUygCAAAAcy8AAABJbnZva2VzIHRoZSBjb21tYW5kIGFzc29jaWF0ZWQgd2l0aCB0aGUgYnV0dG9uLnQGAAAAaW52b2tlKAMAAABSIAAAAFKPAAAAUqwAAAAoAQAAAFKNAAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5UrUAAABkAgAAcwIAAAAAAk4oBgAAAFKmAAAAUqcAAABSqAAAAFIvAAAAUo4AAABStQAAACgAAAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5UgAAAABRAgAAcwYAAAAGAgYCDA9jAAAAAAAAAAACAAAAQgAAAHMjAAAAZQAAWgEAZAAAWgIAZAMAZAEAhAEAWgQAZAIAhAAAWgUAUlMoBAAAAHM7AAAAVHRrIENoZWNrYnV0dG9uIHdpZGdldCB3aGljaCBpcyBlaXRoZXIgaW4gb24tIG9yIG9mZi1zdGF0ZS5jAgAAAAMAAAAFAAAASwAAAHMaAAAAdAAAagEAfAAAfAEAZAEAfAIAgwQAAWQCAFMoAwAAAHMnAQAAQ29uc3RydWN0IGEgVHRrIENoZWNrYnV0dG9uIHdpZGdldCB3aXRoIHRoZSBwYXJlbnQgbWFzdGVyLgoKICAgICAgICBTVEFOREFSRCBPUFRJT05TCgogICAgICAgICAgICBjbGFzcywgY29tcG91bmQsIGN1cnNvciwgaW1hZ2UsIHN0YXRlLCBzdHlsZSwgdGFrZWZvY3VzLAogICAgICAgICAgICB0ZXh0LCB0ZXh0dmFyaWFibGUsIHVuZGVybGluZSwgd2lkdGgKCiAgICAgICAgV0lER0VULVNQRUNJRklDIE9QVElPTlMKCiAgICAgICAgICAgIGNvbW1hbmQsIG9mZnZhbHVlLCBvbnZhbHVlLCB2YXJpYWJsZQogICAgICAgIHMQAAAAdHRrOjpjaGVja2J1dHRvbk4oAgAAAFKpAAAAUo4AAAAoAwAAAFKNAAAAUiQAAABSRwAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVKOAAAAbAIAAHMCAAAAAAxjAQAAAAEAAAADAAAAQwAAAHMWAAAAfAAAagAAagEAfAAAagIAZAEAgwIAUygCAAAAc1cBAABUb2dnbGVzIGJldHdlZW4gdGhlIHNlbGVjdGVkIGFuZCBkZXNlbGVjdGVkIHN0YXRlcyBhbmQKICAgICAgICBpbnZva2VzIHRoZSBhc3NvY2lhdGVkIGNvbW1hbmQuIElmIHRoZSB3aWRnZXQgaXMgY3VycmVudGx5CiAgICAgICAgc2VsZWN0ZWQsIHNldHMgdGhlIG9wdGlvbiB2YXJpYWJsZSB0byB0aGUgb2ZmdmFsdWUgb3B0aW9uCiAgICAgICAgYW5kIGRlc2VsZWN0cyB0aGUgd2lkZ2V0OyBvdGhlcndpc2UsIHNldHMgdGhlIG9wdGlvbiB2YXJpYWJsZQogICAgICAgIHRvIHRoZSBvcHRpb24gb252YWx1ZS4KCiAgICAgICAgUmV0dXJucyB0aGUgcmVzdWx0IG9mIHRoZSBhc3NvY2lhdGVkIGNvbW1hbmQuUrUAAAAoAwAAAFIgAAAAUo8AAABSrAAAACgBAAAAUo0AAAAoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHlStQAAAHsCAABzAgAAAAAITigGAAAAUqYAAABSpwAAAFKoAAAAUi8AAABSjgAAAFK1AAAAKAAAAAAoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHlSAQAAAGkCAABzBgAAAAYBBgIMD2MAAAAAAAAAAAMAAABCAAAAczgAAABlAABaAQBkAABaAgBkBQBkBQBkAQCEAgBaBABkAgCEAABaBQBkAwCEAABaBgBkBACEAABaBwBSUygGAAAAc2UAAABUdGsgRW50cnkgd2lkZ2V0IGRpc3BsYXlzIGEgb25lLWxpbmUgdGV4dCBzdHJpbmcgYW5kIGFsbG93cyB0aGF0CiAgICBzdHJpbmcgdG8gYmUgZWRpdGVkIGJ5IHRoZSB1c2VyLmMDAAAABAAAAAYAAABLAAAAcyAAAAB0AABqAQB8AAB8AQB8AgBwFQBkAQB8AwCDBAABZAIAUygDAAAAc4UBAABDb25zdHJ1Y3RzIGEgVHRrIEVudHJ5IHdpZGdldCB3aXRoIHRoZSBwYXJlbnQgbWFzdGVyLgoKICAgICAgICBTVEFOREFSRCBPUFRJT05TCgogICAgICAgICAgICBjbGFzcywgY3Vyc29yLCBzdHlsZSwgdGFrZWZvY3VzLCB4c2Nyb2xsY29tbWFuZAoKICAgICAgICBXSURHRVQtU1BFQ0lGSUMgT1BUSU9OUwoKICAgICAgICAgICAgZXhwb3J0c2VsZWN0aW9uLCBpbnZhbGlkY29tbWFuZCwganVzdGlmeSwgc2hvdywgc3RhdGUsCiAgICAgICAgICAgIHRleHR2YXJpYWJsZSwgdmFsaWRhdGUsIHZhbGlkYXRlY29tbWFuZCwgd2lkdGgKCiAgICAgICAgVkFMSURBVElPTiBNT0RFUwoKICAgICAgICAgICAgbm9uZSwga2V5LCBmb2N1cywgZm9jdXNpbiwgZm9jdXNvdXQsIGFsbAogICAgICAgIHMKAAAAdHRrOjplbnRyeU4oAgAAAFKpAAAAUo4AAAAoBAAAAFKNAAAAUiQAAAB0BgAAAHdpZGdldFJHAAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5Uo4AAACKAgAAcwIAAAAAEGMCAAAAAgAAAAQAAABDAAAAcxkAAAB8AABqAABqAQB8AABqAgBkAQB8AQCDAwBTKAIAAABzcQAAAFJldHVybiBhIHR1cGxlIG9mICh4LCB5LCB3aWR0aCwgaGVpZ2h0KSB3aGljaCBkZXNjcmliZXMgdGhlCiAgICAgICAgYm91bmRpbmcgYm94IG9mIHRoZSBjaGFyYWN0ZXIgZ2l2ZW4gYnkgaW5kZXgudAQAAABiYm94KAMAAABSIAAAAFKPAAAAUqwAAAAoAgAAAFKNAAAAdAUAAABpbmRleCgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVK3AAAAnQIAAHMCAAAAAANjAwAAAAMAAAAFAAAAQwAAAHMcAAAAfAAAagAAagEAfAAAagIAZAEAfAEAfAIAgwQAUygCAAAAc3gAAABSZXR1cm5zIHRoZSBuYW1lIG9mIHRoZSBlbGVtZW50IGF0IHBvc2l0aW9uIHgsIHksIG9yIHRoZQogICAgICAgIGVtcHR5IHN0cmluZyBpZiB0aGUgY29vcmRpbmF0ZXMgYXJlIG91dHNpZGUgdGhlIHdpbmRvdy5SqwAAACgDAAAAUiAAAABSjwAAAFKsAAAAKAMAAABSjQAAAFKtAAAAUq4AAAAoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHlSqwAAAKMCAABzAgAAAAADYwEAAAABAAAABAAAAEMAAABzHAAAAHQAAHwAAGoBAGoCAHwAAGoDAGQBAIMCAIMBAFMoAgAAAHPJAAAARm9yY2UgcmV2YWxpZGF0aW9uLCBpbmRlcGVuZGVudCBvZiB0aGUgY29uZGl0aW9ucyBzcGVjaWZpZWQKICAgICAgICBieSB0aGUgdmFsaWRhdGUgb3B0aW9uLiBSZXR1cm5zIEZhbHNlIGlmIHZhbGlkYXRpb24gZmFpbHMsIFRydWUKICAgICAgICBpZiBpdCBzdWNjZWVkcy4gU2V0cyBvciBjbGVhcnMgdGhlIGludmFsaWQgc3RhdGUgYWNjb3JkaW5nbHkudAgAAAB2YWxpZGF0ZSgEAAAAUrAAAABSIAAAAFKPAAAAUqwAAAAoAQAAAFKNAAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5UrkAAACpAgAAcwIAAAAABE4oCAAAAFKmAAAAUqcAAABSqAAAAFIvAAAAUo4AAABStwAAAFKrAAAAUrkAAAAoAAAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVIDAAAAhgIAAHMKAAAABgIGAg8TCQYJBmMAAAAAAAAAAAIAAABCAAAAcy8AAABlAABaAQBkAABaAgBkBABkAQCEAQBaBABkBABkAgCEAQBaBQBkAwCEAABaBgBSUygFAAAAc00AAABUdGsgQ29tYm9ib3ggd2lkZ2V0IGNvbWJpbmVzIGEgdGV4dCBmaWVsZCB3aXRoIGEgcG9wLWRvd24gbGlzdCBvZgogICAgdmFsdWVzLmMCAAAAAwAAAAUAAABLAAAAcxoAAAB0AABqAQB8AAB8AQBkAQB8AgCNAwABZAIAUygDAAAAcxMBAABDb25zdHJ1Y3QgYSBUdGsgQ29tYm9ib3ggd2lkZ2V0IHdpdGggdGhlIHBhcmVudCBtYXN0ZXIuCgogICAgICAgIFNUQU5EQVJEIE9QVElPTlMKCiAgICAgICAgICAgIGNsYXNzLCBjdXJzb3IsIHN0eWxlLCB0YWtlZm9jdXMKCiAgICAgICAgV0lER0VULVNQRUNJRklDIE9QVElPTlMKCiAgICAgICAgICAgIGV4cG9ydHNlbGVjdGlvbiwganVzdGlmeSwgaGVpZ2h0LCBwb3N0Y29tbWFuZCwgc3RhdGUsCiAgICAgICAgICAgIHRleHR2YXJpYWJsZSwgdmFsdWVzLCB3aWR0aAogICAgICAgIHMNAAAAdHRrOjpjb21ib2JveE4oAgAAAFIDAAAAUo4AAAAoAwAAAFKNAAAAUiQAAABSRwAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVKOAAAAtAIAAHMCAAAAAAxjAgAAAAIAAAAEAAAAQwAAAHMZAAAAfAAAagAAagEAfAAAagIAZAEAfAEAgwMAUygCAAAAcwMBAABJZiBuZXdpbmRleCBpcyBzdXBwbGllZCwgc2V0cyB0aGUgY29tYm9ib3ggdmFsdWUgdG8gdGhlCiAgICAgICAgZWxlbWVudCBhdCBwb3NpdGlvbiBuZXdpbmRleCBpbiB0aGUgbGlzdCBvZiB2YWx1ZXMuIE90aGVyd2lzZSwKICAgICAgICByZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgY3VycmVudCB2YWx1ZSBpbiB0aGUgbGlzdCBvZiB2YWx1ZXMKICAgICAgICBvciAtMSBpZiB0aGUgY3VycmVudCB2YWx1ZSBkb2VzIG5vdCBhcHBlYXIgaW4gdGhlIGxpc3QudAcAAABjdXJyZW50KAMAAABSIAAAAFKPAAAAUqwAAAAoAgAAAFKNAAAAdAgAAABuZXdpbmRleCgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVK6AAAAwwIAAHMCAAAAAAVjAgAAAAIAAAAEAAAAQwAAAHMdAAAAfAAAagAAagEAfAAAagIAZAEAfAEAgwMAAWQCAFMoAwAAAHMoAAAAU2V0cyB0aGUgdmFsdWUgb2YgdGhlIGNvbWJvYm94IHRvIHZhbHVlLnQDAAAAc2V0TigDAAAAUiAAAABSjwAAAFKsAAAAKAIAAABSjQAAAFIqAAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5UrwAAADLAgAAcwIAAAAAAk4oBwAAAFKmAAAAUqcAAABSqAAAAFIvAAAAUo4AAABSugAAAFK8AAAAKAAAAAAoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHlSAgAAALACAABzCAAAAAYCBgIMDwwIYwAAAAAAAAAAAgAAAEIAAABzGgAAAGUAAFoBAGQAAFoCAGQCAGQBAIQBAFoEAFJTKAMAAABzSgAAAFR0ayBGcmFtZSB3aWRnZXQgaXMgYSBjb250YWluZXIsIHVzZWQgdG8gZ3JvdXAgb3RoZXIgd2lkZ2V0cwogICAgdG9nZXRoZXIuYwIAAAADAAAABQAAAEsAAABzGgAAAHQAAGoBAHwAAHwBAGQBAHwCAIMEAAFkAgBTKAMAAABz0wAAAENvbnN0cnVjdCBhIFR0ayBGcmFtZSB3aXRoIHBhcmVudCBtYXN0ZXIuCgogICAgICAgIFNUQU5EQVJEIE9QVElPTlMKCiAgICAgICAgICAgIGNsYXNzLCBjdXJzb3IsIHN0eWxlLCB0YWtlZm9jdXMKCiAgICAgICAgV0lER0VULVNQRUNJRklDIE9QVElPTlMKCiAgICAgICAgICAgIGJvcmRlcndpZHRoLCByZWxpZWYsIHBhZGRpbmcsIHdpZHRoLCBoZWlnaHQKICAgICAgICBzCgAAAHR0azo6ZnJhbWVOKAIAAABSqQAAAFKOAAAAKAMAAABSjQAAAFIkAAAAUkcAAAAoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHlSjgAAANQCAABzAgAAAAALTigFAAAAUqYAAABSpwAAAFKoAAAAUi8AAABSjgAAACgAAAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5UgQAAADQAgAAcwQAAAAGAgYCYwAAAAAAAAAAAgAAAEIAAABzGgAAAGUAAFoBAGQAAFoCAGQCAGQBAIQBAFoEAFJTKAMAAABzNwAAAFR0ayBMYWJlbCB3aWRnZXQgZGlzcGxheXMgYSB0ZXh0dWFsIGxhYmVsIGFuZC9vciBpbWFnZS5jAgAAAAMAAAAFAAAASwAAAHMaAAAAdAAAagEAfAAAfAEAZAEAfAIAgwQAAWQCAFMoAwAAAHNHAQAAQ29uc3RydWN0IGEgVHRrIExhYmVsIHdpdGggcGFyZW50IG1hc3Rlci4KCiAgICAgICAgU1RBTkRBUkQgT1BUSU9OUwoKICAgICAgICAgICAgY2xhc3MsIGNvbXBvdW5kLCBjdXJzb3IsIGltYWdlLCBzdHlsZSwgdGFrZWZvY3VzLCB0ZXh0LAogICAgICAgICAgICB0ZXh0dmFyaWFibGUsIHVuZGVybGluZSwgd2lkdGgKCiAgICAgICAgV0lER0VULVNQRUNJRklDIE9QVElPTlMKCiAgICAgICAgICAgIGFuY2hvciwgYmFja2dyb3VuZCwgZm9udCwgZm9yZWdyb3VuZCwganVzdGlmeSwgcGFkZGluZywKICAgICAgICAgICAgcmVsaWVmLCB0ZXh0LCB3cmFwbGVuZ3RoCiAgICAgICAgcwoAAAB0dGs6OmxhYmVsTigCAAAAUqkAAABSjgAAACgDAAAAUo0AAABSJAAAAFJHAAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5Uo4AAADlAgAAcwIAAAAADU4oBQAAAFKmAAAAUqcAAABSqAAAAFIvAAAAUo4AAAAoAAAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVIFAAAA4gIAAHMEAAAABgEGAmMAAAAAAAAAAAIAAABCAAAAcxoAAABlAABaAQBkAABaAgBkAgBkAQCEAQBaBABSUygDAAAAc6AAAABUdGsgTGFiZWxmcmFtZSB3aWRnZXQgaXMgYSBjb250YWluZXIgdXNlZCB0byBncm91cCBvdGhlciB3aWRnZXRzCiAgICB0b2dldGhlci4gSXQgaGFzIGFuIG9wdGlvbmFsIGxhYmVsLCB3aGljaCBtYXkgYmUgYSBwbGFpbiB0ZXh0IHN0cmluZwogICAgb3IgYW5vdGhlciB3aWRnZXQuYwIAAAADAAAABQAAAEsAAABzGgAAAHQAAGoBAHwAAHwBAGQBAHwCAIMEAAFkAgBTKAMAAABz+QAAAENvbnN0cnVjdCBhIFR0ayBMYWJlbGZyYW1lIHdpdGggcGFyZW50IG1hc3Rlci4KCiAgICAgICAgU1RBTkRBUkQgT1BUSU9OUwoKICAgICAgICAgICAgY2xhc3MsIGN1cnNvciwgc3R5bGUsIHRha2Vmb2N1cwoKICAgICAgICBXSURHRVQtU1BFQ0lGSUMgT1BUSU9OUwogICAgICAgICAgICBsYWJlbGFuY2hvciwgdGV4dCwgdW5kZXJsaW5lLCBwYWRkaW5nLCBsYWJlbHdpZGdldCwgd2lkdGgsCiAgICAgICAgICAgIGhlaWdodAogICAgICAgIHMPAAAAdHRrOjpsYWJlbGZyYW1lTigCAAAAUqkAAABSjgAAACgDAAAAUo0AAABSJAAAAFJHAAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5Uo4AAAD6AgAAcwIAAAAAC04oBQAAAFKmAAAAUqcAAABSqAAAAFIvAAAAUo4AAAAoAAAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVIGAAAA9QIAAHMEAAAABgMGAmMAAAAAAAAAAAIAAABCAAAAcxoAAABlAABaAQBkAABaAgBkAgBkAQCEAQBaBABSUygDAAAAc2IAAABUdGsgTWVudWJ1dHRvbiB3aWRnZXQgZGlzcGxheXMgYSB0ZXh0dWFsIGxhYmVsIGFuZC9vciBpbWFnZSwgYW5kCiAgICBkaXNwbGF5cyBhIG1lbnUgd2hlbiBwcmVzc2VkLmMCAAAAAwAAAAUAAABLAAAAcxoAAAB0AABqAQB8AAB8AQBkAQB8AgCDBAABZAIAUygDAAAAcwYBAABDb25zdHJ1Y3QgYSBUdGsgTWVudWJ1dHRvbiB3aXRoIHBhcmVudCBtYXN0ZXIuCgogICAgICAgIFNUQU5EQVJEIE9QVElPTlMKCiAgICAgICAgICAgIGNsYXNzLCBjb21wb3VuZCwgY3Vyc29yLCBpbWFnZSwgc3RhdGUsIHN0eWxlLCB0YWtlZm9jdXMsCiAgICAgICAgICAgIHRleHQsIHRleHR2YXJpYWJsZSwgdW5kZXJsaW5lLCB3aWR0aAoKICAgICAgICBXSURHRVQtU1BFQ0lGSUMgT1BUSU9OUwoKICAgICAgICAgICAgZGlyZWN0aW9uLCBtZW51CiAgICAgICAgcw8AAAB0dGs6Om1lbnVidXR0b25OKAIAAABSqQAAAFKOAAAAKAMAAABSjQAAAFIkAAAAUkcAAAAoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHlSjgAAAA4DAABzAgAAAAAMTigFAAAAUqYAAABSpwAAAFKoAAAAUi8AAABSjgAAACgAAAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5UggAAAAKAwAAcwQAAAAGAgYCYwAAAAAAAAAAAgAAAEIAAABzegAAAGUAAFoBAGQAAFoCAGQMAGQBAIQBAFoEAGQCAIQAAFoFAGQDAIQAAFoGAGQEAIQAAFoHAGQFAIQAAFoIAGQGAIQAAFoJAGQHAIQAAFoKAGQMAGQIAIQBAFoLAGQMAGQJAIQBAFoMAGQKAIQAAFoNAGQLAIQAAFoOAFJTKA0AAABz0AAAAFR0ayBOb3RlYm9vayB3aWRnZXQgbWFuYWdlcyBhIGNvbGxlY3Rpb24gb2Ygd2luZG93cyBhbmQgZGlzcGxheXMKICAgIGEgc2luZ2xlIG9uZSBhdCBhIHRpbWUuIEVhY2ggY2hpbGQgd2luZG93IGlzIGFzc29jaWF0ZWQgd2l0aCBhIHRhYiwKICAgIHdoaWNoIHRoZSB1c2VyIG1h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AAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5Ur8AAABKAwAAcwIAAAAAA2MCAAAAAgAAAAQAAABDAAAAcx0AAAB8AABqAABqAQB8AABqAgBkAQB8AQCDAwABZAIAUygDAAAAc+gAAABIaWRlcyB0aGUgdGFiIHNwZWNpZmllZCBieSB0YWJfaWQuCgogICAgICAgIFRoZSB0YWIgd2lsbCBub3QgYmUgZGlzcGxheWVkLCBidXQgdGhlIGFzc29jaWF0ZWQgd2luZG93IHJlbWFpbnMKICAgICAgICBtYW5hZ2VkIGJ5IHRoZSBub3RlYm9vayBhbmQgaXRzIGNvbmZpZ3VyYXRpb24gcmVtZW1iZXJlZC4gSGlkZGVuCiAgICAgICAgdGFicyBtYXkgYmUgcmVzdG9yZWQgd2l0aCB0aGUgYWRkIGNvbW1hbmQudAQAAABoaWRlTigDAAAAUiAAAABSjwAAAFKsAAAAKAIAAABSjQAAAFLAAAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5UsEAAABQAwAAcwIAAAAABmMDAAAAAwAAAAUAAABDAAAAcxwAAAB8AABqAABqAQB8AABqAgBkAQB8AQB8AgCDBABTKAIAAABzWgAAAFJldHVybnMgdGhlIG5hbWUgb2YgdGhlIHRhYiBlbGVtZW50IGF0IHBvc2l0aW9uIHgsIHksIG9yIHRoZQogICAgICAgIGVtcHR5IHN0cmluZyBpZiBub25lLlKrAAAAKAMAAABSIAAAAFKPAAAAUqwAAAAoAwAAAFKNAAAAUq0AAABSrgAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVKrAAAAWQMAAHMCAAAAAANjAgAAAAIAAAAEAAAAQwAAAHMZAAAAfAAAagAAagEAfAAAagIAZAEAfAEAgwMAUygCAAAAc3wAAABSZXR1cm5zIHRoZSBudW1lcmljIGluZGV4IG9mIHRoZSB0YWIgc3BlY2lmaWVkIGJ5IHRhYl9pZCwgb3IKICAgICAgICB0aGUgdG90YWwgbnVtYmVyIG9mIHRhYnMgaWYgdGFiX2lkIGlzIHRoZSBzdHJpbmcgImVuZCIuUrgAAAAoAwAAAFIgAAAAUo8AAABSrAAAACgCAAAAUo0AAABSwAAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVK4AAAAXwMAAHMCAAAAAANjAwAAAAQAAAAHAAAASwAAAHMpAAAAfAAAagAAagEAfAAAagIAZAEAfAEAfAIAdAMAfAMAgwEAjAQAAWQCAFMoAwAAAHPjAAAASW5zZXJ0cyBhIHBhbmUgYXQgdGhlIHNwZWNpZmllZCBwb3NpdGlvbi4KCiAgICAgICAgcG9zIGlzIGVpdGhlciB0aGUgc3RyaW5nIGVuZCwgYW4gaW50ZWdlciBpbmRleCwgb3IgdGhlIG5hbWUgb2YKICAgICAgICBhIG1hbmFnZWQgY2hpbGQuIElmIGNoaWxkIGlzIGFscmVhZHkgbWFuYWdlZCBieSB0aGUgbm90ZWJvb2ssCiAgICAgICAgbW92ZXMgaXQgdG8gdGhlIHNwZWNpZmllZCBwb3NpdGlvbi50BgAAAGluc2VydE4oBAAAAFIgAAAAUo8AAABSrAAAAFI0AAAAKAQAAABSjQAAAHQDAAAAcG9zUr4AAABSRwAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVLCAAAAZQMAAHMCAAAAAAZjAgAAAAIAAAAEAAAAQwAAAHMZAAAAfAAAagAAagEAfAAAagIAZAEAfAEAgwMAUygCAAAAc/cAAABTZWxlY3RzIHRoZSBzcGVjaWZpZWQgdGFiLgoKICAgICAgICBUaGUgYXNzb2NpYXRlZCBjaGlsZCB3aW5kb3cgd2lsbCBiZSBkaXNwbGF5ZWQsIGFuZCB0aGUKICAgICAgICBwcmV2aW91c2x5LXNlbGVjdGVkIHdpbmRvdyAoaWYgZGlmZmVyZW50KSBpcyB1bm1hcHBlZC4gSWYgdGFiX2lkCiAgICAgICAgaXMgb21pdHRlZCwgcmV0dXJucyB0aGUgd2lkZ2V0IG5hbWUgb2YgdGhlIGN1cnJlbnRseSBzZWxlY3RlZAogICAgICAgIHBhbmUudAYAAABzZWxlY3QoAwAAAFIgAAAAUo8AAABSrAAAACgCAAAAUo0AAABSwAAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVLEAAAAbgMAAHMCAAAAAAdjAwAAAAQAAAAGAAAASwAAAHM4AAAAfAIAZAIAawkAchkAZAIAfAMAfAIAPG4AAHQBAHwDAHwAAGoCAGoDAHwAAGoEAGQBAHwBAIMFAFMoAwAAAHP8AAAAUXVlcnkgb3IgbW9kaWZ5IHRoZSBvcHRpb25zIG9mIHRoZSBzcGVjaWZpYyB0YWJfaWQuCgogICAgICAgIElmIGt3IGlzIG5vdCBnaXZlbiwgcmV0dXJucyBhIGRpY3Qgb2YgdGhlIHRhYiBvcHRpb24gdmFsdWVzLiBJZiBvcHRpb24KICAgICAgICBpcyBzcGVjaWZpZWQsIHJldHVybnMgdGhlIHZhbHVlIG9mIHRoYXQgb3B0aW9uLiBPdGhlcndpc2UsIHNldHMgdGhlCiAgICAgICAgb3B0aW9ucyB0byB0aGUgY29ycmVzcG9uZGluZyB2YWx1ZXMudAMAAAB0YWJOKAUAAABSLwAAAFJ+AAAAUiAAAABSjwAAAFKsAAAAKAQAAABSjQAAAFLAAAAAUpQAAABSRwAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVLFAAAAeAMAAHMGAAAAAAYMAQ0BYwEAAAABAAAAAwAAAEMAAABzHAAAAHwAAGoAAGoBAHwAAGoCAGQBAIMCAHAbAGQCAFMoAwAAAHMyAAAAUmV0dXJucyBhIGxpc3Qgb2Ygd2luZG93cyBtYW5hZ2VkIGJ5IHRoZSBub3RlYm9vay50BAAAAHRhYnMoAAAAACgDAAAAUiAAAABSjwAAAFKsAAAAKAEAAABSjQAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVLGAAAAgwMAAHMCAAAAAAJjAQAAAAEAAAADAAAAQwAAAHMaAAAAfAAAagAAagEAZAEAfAAAagIAgwIAAWQCAFMoAwAAAHP2AgAARW5hYmxlIGtleWJvYXJkIHRyYXZlcnNhbCBmb3IgYSB0b3BsZXZlbCB3aW5kb3cgY29udGFpbmluZwogICAgICAgIHRoaXMgbm90ZWJvb2suCgogICAgICAgIFRoaXMgd2lsbCBleHRlbmQgdGhlIGJpbmRpbmdzIGZvciB0aGUgdG9wbGV2ZWwgd2luZG93IGNvbnRhaW5pbmcKICAgICAgICB0aGlzIG5vdGVib29rIGFzIGZvbGxvd3M6CgogICAgICAgICAgICBDb250cm9sLVRhYjogc2VsZWN0cyB0aGUgdGFiIGZvbGxvd2luZyB0aGUgY3VycmVudGx5IHNlbGVjdGVkCiAgICAgICAgICAgICAgICAgICAgICAgICBvbmUKCiAgICAgICAgICAgIFNoaWZ0LUNvbnRyb2wtVGFiOiBzZWxlY3RzIHRoZSB0YWIgcHJlY2VkaW5nIHRoZSBjdXJyZW50bHkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkIG9uZQoKICAgICAgICAgICAgQWx0LUs6IHdoZXJlIEsgaXMgdGhlIG1uZW1vbmljICh1bmRlcmxpbmVkKSBjaGFyYWN0ZXIgb2YgYW55CiAgICAgICAgICAgICAgICAgICB0YWIsIHdpbGwgc2VsZWN0IHRoYXQgdGFiLgoKICAgICAgICBNdWx0aXBsZSBub3RlYm9va3MgaW4gYSBzaW5nbGUgdG9wbGV2ZWwgbWF5IGJlIGVuYWJsZWQgZm9yCiAgICAgICAgdHJhdmVyc2FsLCBpbmNsdWRpbmcgbmVzdGVkIG5vdGVib29rcy4gSG93ZXZlciwgbm90ZWJvb2sgdHJhdmVyc2FsCiAgICAgICAgb25seSB3b3JrcyBwcm9wZXJseSBpZiBhbGwgcGFuZXMgYXJlIGRpcmVjdCBjaGlsZHJlbiBvZiB0aGUKICAgICAgICBub3RlYm9vay5zHgAAAHR0azo6bm90ZWJvb2s6OmVuYWJsZVRyYXZlcnNhbE4oAwAAAFIgAAAAUo8AAABSrAAAACgBAAAAUo0AAAAoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHl0EAAAAGVuYWJsZV90cmF2ZXJzYWyIAwAAcwIAAAAAF04oDwAAAFKmAAAAUqcAAABSqAAAAFIvAAAAUo4AAABSvQAAAFK/AAAAUsEAAABSqwAAAFK4AAAAUsIAAABSxAAAAFLFAAAAUsYAAABSxwAAACgAAAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5UgkAAAAdAwAAcxgAAAAGAwYCDCAJCAkGCQkJBgkGCQkMCgwLCQVjAAAAAAAAAAACAAAAQgAAAHNHAAAAZQAAWgEAZAAAWgIAZAUAZAEAhAEAWgQAZQUAagYAagcAWgcAZAIAhAAAWggAZAUAZAMAhAEAWgkAZAUAZAQAhAEAWgoAUlMoBgAAAHNmAAAAVHRrIFBhbmVkd2luZG93IHdpZGdldCBkaXNwbGF5cyBhIG51bWJlciBvZiBzdWJ3aW5kb3dzLCBzdGFja2VkCiAgICBlaXRoZXIgdmVydGljYWxseSBvciBob3Jpem9udGFsbHkuYwIAAAADAAAABQAAAEsAAABzGgAAAHQAAGoBAHwAAHwBAGQBAHwCAIMEAAFkAgBTKAMAAABz7QAAAENvbnN0cnVjdCBhIFR0ayBQYW5lZHdpbmRvdyB3aXRoIHBhcmVudCBtYXN0ZXIuCgogICAgICAgIFNUQU5EQVJEIE9QVElPTlMKCiAgICAgICAgICAgIGNsYXNzLCBjdXJzb3IsIHN0eWxlLCB0YWtlZm9jdXMKCiAgICAgICAgV0lER0VULVNQRUNJRklDIE9QVElPTlMKCiAgICAgICAgICAgIG9yaWVudCwgd2lkdGgsIGhlaWdodAoKICAgICAgICBQQU5FIE9QVElPTlMKCiAgICAgICAgICAgIHdlaWdodAogICAgICAgIHMQAAAAdHRrOjpwYW5lZHdpbmRvd04oAgAAAFKpAAAAUo4AAAAoAwAAAFKNAAAAUiQAAABSRwAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVKOAAAApgMAAHMCAAAAAA9jAwAAAAQAAAAHAAAASwAAAHMpAAAAfAAAagAAagEAfAAAagIAZAEAfAEAfAIAdAMAfAMAgwEAjAQAAWQCAFMoAwAAAHPhAAAASW5zZXJ0cyBhIHBhbmUgYXQgdGhlIHNwZWNpZmllZCBwb3NpdGlvbnMuCgogICAgICAgIHBvcyBpcyBlaXRoZXIgdGhlIHN0cmluZyBlbmQsIGFuZCBpbnRlZ2VyIGluZGV4LCBvciB0aGUgbmFtZQogICAgICAgIG9mIGEgY2hpbGQuIElmIGNoaWxkIGlzIGFscmVhZHkgbWFuYWdlZCBieSB0aGUgcGFuZWQgd2luZG93LAogICAgICAgIG1vdmVzIGl0IHRvIHRoZSBzcGVjaWZpZWQgcG9zaXRpb24uUsIAAABOKAQAAABSIAAAAFKPAAAAUqwAAABSNAAAACgEAAAAUo0AAABSwwAAAFK+AAAAUkcAAAAoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHlSwgAAALsDAABzAgAAAAAGYwMAAAAEAAAABgAAAEsAAABzOAAAAHwCAGQCAGsJAHIZAGQCAHwDAHwCADxuAAB0AQB8AwB8AABqAgBqAwB8AABqBABkAQB8AQCDBQBTKAMAAABzUQEAAFF1ZXJ5IG9yIG1vZGlmeSB0aGUgb3B0aW9ucyBvZiB0aGUgc3BlY2lmaWVkIHBhbmUuCgogICAgICAgIHBhbmUgaXMgZWl0aGVyIGFuIGludGVnZXIgaW5kZXggb3IgdGhlIG5hbWUgb2YgYSBtYW5hZ2VkIHN1YndpbmRvdy4KICAgICAgICBJZiBrdyBpcyBub3QgZ2l2ZW4sIHJldHVybnMgYSBkaWN0IG9mIHRoZSBwYW5lIG9wdGlvbiB2YWx1ZXMuIElmCiAgICAgICAgb3B0aW9uIGlzIHNwZWNpZmllZCB0aGVuIHRoZSB2YWx1ZSBmb3IgdGhhdCBvcHRpb24gaXMgcmV0dXJuZWQuCiAgICAgICAgT3RoZXJ3aXNlLCBzZXRzIHRoZSBvcHRpb25zIHRvIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlcy50BAAAAHBhbmVOKAUAAABSLwAAAFJ+AAAAUiAAAABSjwAAAFKsAAAAKAQAAABSjQAAAFLIAAAAUpQAAABSRwAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVLIAAAAxAMAAHMGAAAAAAcMAQ0BYwMAAAADAAAABQAAAEMAAABzHAAAAHwAAGoAAGoBAHwAAGoCAGQBAHwBAHwCAIMEAFMoAgAAAHNMAQAASWYgbmV3cG9zIGlzIHNwZWNpZmllZCwgc2V0cyB0aGUgcG9zaXRpb24gb2Ygc2FzaCBudW1iZXIgaW5kZXguCgogICAgICAgIE1heSBhZGp1c3QgdGhlIHBvc2l0aW9ucyBvZiBhZGphY2VudCBzYXNoZXMgdG8gZW5zdXJlIHRoYXQKICAgICAgICBwb3NpdGlvbnMgYXJlIG1vbm90b25pY2FsbHkgaW5jcmVhc2luZy4gU2FzaCBwb3NpdGlvbnMgYXJlIGZ1cnRoZXIKICAgICAgICBjb25zdHJhaW5lZCB0byBiZSBiZXR3ZWVuIDAgYW5kIHRoZSB0b3RhbCBzaXplIG9mIHRoZSB3aWRnZXQuCgogICAgICAgIFJldHVybnMgdGhlIG5ldyBwb3NpdGlvbiBvZiBzYXNoIG51bWJlciBpbmRleC50BwAAAHNhc2hwb3MoAwAAAFIgAAAAUo8AAABSrAAAACgDAAAAUo0AAABSuAAAAHQGAAAAbmV3cG9zKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5UskAAADQAwAAcwIAAAAACE4oCwAAAFKmAAAAUqcAAABSqAAAAFIvAAAAUo4AAABShwAAAFILAAAAUr8AAABSwgAAAFLIAAAAUskAAAAoAAAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVIKAAAAogMAAHMMAAAABgIGAgwSDAMJCQwMYwAAAAAAAAAAAgAAAEIAAABzOwAAAGUAAFoBAGQAAFoCAGQFAGQBAIQBAFoEAGQFAGQCAIQBAFoFAGQFAGQDAIQBAFoGAGQEAIQAAFoHAFJTKAYAAABzNgEAAFR0ayBQcm9ncmVzc2JhciB3aWRnZXQgc2hvd3MgdGhlIHN0YXR1cyBvZiBhIGxvbmctcnVubmluZwogICAgb3BlcmF0aW9uLiBUaGV5IGNhbiBvcGVyYXRlIGluIHR3byBtb2RlczogZGV0ZXJtaW5hdGUgbW9kZSBzaG93cyB0aGUKICAgIGFtb3VudCBjb21wbGV0ZWQgcmVsYXRpdmUgdG8gdGhlIHRvdGFsIGFtb3VudCBvZiB3b3JrIHRvIGJlIGRvbmUsIGFuZAogICAgaW5kZXRlcm1pbmF0ZSBtb2RlIHByb3ZpZGVzIGFuIGFuaW1hdGVkIGRpc3BsYXkgdG8gbGV0IHRoZSB1c2VyIGtub3cKICAgIHRoYXQgc29tZXRoaW5nIGlzIGhhcHBlbmluZy5jAgAAAAMAAAAFAAAASwAAAHMaAAAAdAAAagEAfAAAfAEAZAEAfAIAgwQAAWQCAFMoAwAAAHPjAAAAQ29uc3RydWN0IGEgVHRrIFByb2dyZXNzYmFyIHdpdGggcGFyZW50IG1hc3Rlci4KCiAgICAgICAgU1RBTkRBUkQgT1BUSU9OUwoKICAgICAgICAgICAgY2xhc3MsIGN1cnNvciwgc3R5bGUsIHRha2Vmb2N1cwoKICAgICAgICBXSURHRVQtU1BFQ0lGSUMgT1BUSU9OUwoKICAgICAgICAgICAgb3JpZW50LCBsZW5ndGgsIG1vZGUsIG1heGltdW0sIHZhbHVlLCB2YXJpYWJsZSwgcGhhc2UKICAgICAgICBzEAAAAHR0azo6cHJvZ3Jlc3NiYXJOKAIAAABSqQAAAFKOAAAAKAMAAABSjQAAAFIkAAAAUkcAAAAoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHlSjgAAAOQDAABzAgAAAAALYwIAAAACAAAABAAAAEMAAABzHQAAAHwAAGoAAGoBAHwAAGoCAGQBAHwBAIMDAAFkAgBTKAMAAABzwwAAAEJlZ2luIGF1dG9pbmNyZW1lbnQgbW9kZTogc2NoZWR1bGVzIGEgcmVjdXJyaW5nIHRpbWVyIGV2ZW50CiAgICAgICAgdGhhdCBjYWxscyBtZXRob2Qgc3RlcCBldmVyeSBpbnRlcnZhbCBtaWxsaXNlY29uZHMuCgogICAgICAgIGludGVydmFsIGRlZmF1bHRzIHRvIDUwIG1pbGxpc2Vjb25kcyAoMjAgc3RlcHMvc2Vjb25kKSBpZiBvbW1pdGVkLnQFAAAAc3RhcnROKAMAAABSIAAAAFKPAAAAUqwAAAAoAgAAAFKNAAAAdAgAAABpbnRlcnZhbCgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVLLAAAA8gMAAHMCAAAAAAVjAgAAAAIAAAAEAAAAQwAAAHMdAAAAfAAAagAAagEAfAAAagIAZAEAfAEAgwMAAWQCAFMoAwAAAHNSAAAASW5jcmVtZW50cyB0aGUgdmFsdWUgb3B0aW9uIGJ5IGFtb3VudC4KCiAgICAgICAgYW1vdW50IGRlZmF1bHRzIHRvIDEuMCBpZiBvbWl0dGVkLnQEAAAAc3RlcE4oAwAAAFIgAAAAUo8AAABSrAAAACgCAAAAUo0AAAB0BgAAAGFtb3VudCgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVLNAAAA+gMAAHMCAAAAAARjAQAAAAEAAAADAAAAQwAAAHMaAAAAfAAAagAAagEAfAAAagIAZAEAgwIAAWQCAFMoAwAAAHNWAAAAU3RvcCBhdXRvaW5jcmVtZW50IG1vZGU6IGNhbmNlbHMgYW55IHJlY3VycmluZyB0aW1lciBldmVudAogICAgICAgIGluaXRpYXRlZCBieSBzdGFydC50BAAAAHN0b3BOKAMAAABSIAAAAFKPAAAAUqwAAAAoAQAAAFKNAAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5Us8AAAABBAAAcwIAAAAAA04oCAAAAFKmAAAAUqcAAABSqAAAAFIvAAAAUo4AAABSywAAAFLNAAAAUs8AAAAoAAAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVIMAAAA3QMAAHMKAAAABgUGAgwODAgMB2MAAAAAAAAAAAIAAABCAAAAcyMAAABlAABaAQBkAABaAgBkAwBkAQCEAQBaBABkAgCEAABaBQBSUygEAAAAc2UAAABUdGsgUmFkaW9idXR0b24gd2lkZ2V0cyBhcmUgdXNlZCBpbiBncm91cHMgdG8gc2hvdyBvciBjaGFuZ2UgYQogICAgc2V0IG9mIG11dHVhbGx5LWV4Y2x1c2l2ZSBvcHRpb25zLmMCAAAAAwAAAAUAAABLAAAAcxoAAAB0AABqAQB8AAB8AQBkAQB8AgCDBAABZAIAUygDAAAAcxABAABDb25zdHJ1Y3QgYSBUdGsgUmFkaW9idXR0b24gd2l0aCBwYXJlbnQgbWFzdGVyLgoKICAgICAgICBTVEFOREFSRCBPUFRJT05TCgogICAgICAgICAgICBjbGFzcywgY29tcG91bmQsIGN1cnNvciwgaW1hZ2UsIHN0YXRlLCBzdHlsZSwgdGFrZWZvY3VzLAogICAgICAgICAgICB0ZXh0LCB0ZXh0dmFyaWFibGUsIHVuZGVybGluZSwgd2lkdGgKCiAgICAgICAgV0lER0VULVNQRUNJRklDIE9QVElPTlMKCiAgICAgICAgICAgIGNvbW1hbmQsIHZhbHVlLCB2YXJpYWJsZQogICAgICAgIHMQAAAAdHRrOjpyYWRpb2J1dHRvbk4oAgAAAFKpAAAAUo4AAAAoAwAAAFKNAAAAUiQAAABSRwAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVKOAAAACwQAAHMCAAAAAAxjAQAAAAEAAAADAAAAQwAAAHMWAAAAfAAAagAAagEAfAAAagIAZAEAgwIAUygCAAAAc9AAAABTZXRzIHRoZSBvcHRpb24gdmFyaWFibGUgdG8gdGhlIG9wdGlvbiB2YWx1ZSwgc2VsZWN0cyB0aGUKICAgICAgICB3aWRnZXQsIGFuZCBpbnZva2VzIHRoZSBhc3NvY2lhdGVkIGNvbW1hbmQuCgogICAgICAgIFJldHVybnMgdGhlIHJlc3VsdCBvZiB0aGUgY29tbWFuZCwgb3IgYW4gZW1wdHkgc3RyaW5nIGlmCiAgICAgICAgbm8gY29tbWFuZCBpcyBzcGVjaWZpZWQuUrUAAAAoAwAAAFIgAAAAUo8AAABSrAAAACgBAAAAUo0AAAAoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHlStQAAABoEAABzAgAAAAAGTigGAAAAUqYAAABSpwAAAFKoAAAAUi8AAABSjgAAAFK1AAAAKAAAAAAoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHlSDQAAAAcEAABzBgAAAAYCBgIMD2MAAAAAAAAAAAMAAABCAAAAczUAAABlAABaAQBkAABaAgBkBABkAQCEAQBaBABkBABkAgCEAQBaBQBkBABkBABkAwCEAgBaBgBSUygFAAAAc38AAABUdGsgU2NhbGUgd2lkZ2V0IGlzIHR5cGljYWxseSB1c2VkIHRvIGNvbnRyb2wgdGhlIG51bWVyaWMgdmFsdWUgb2YKICAgIGEgbGlua2VkIHZhcmlhYmxlIHRoYXQgdmFyaWVzIHVuaWZvcm1seSBvdmVyIHNvbWUgcmFuZ2UuYwIAAAADAAAABQAAAEsAAABzGgAAAHQAAGoBAHwAAHwBAGQBAHwCAIMEAAFkAgBTKAMAAABz2gAAAENvbnN0cnVjdCBhIFR0ayBTY2FsZSB3aXRoIHBhcmVudCBtYXN0ZXIuCgogICAgICAgIFNUQU5EQVJEIE9QVElPTlMKCiAgICAgICAgICAgIGNsYXNzLCBjdXJzb3IsIHN0eWxlLCB0YWtlZm9jdXMKCiAgICAgICAgV0lER0VULVNQRUNJRklDIE9QVElPTlMKCiAgICAgICAgICAgIGNvbW1hbmQsIGZyb20sIGxlbmd0aCwgb3JpZW50LCB0bywgdmFsdWUsIHZhcmlhYmxlCiAgICAgICAgcwoAAAB0dGs6OnNjYWxlTigCAAAAUqkAAABSjgAAACgDAAAAUo0AAABSJAAAAFJHAAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5Uo4AAAAnBAAAcwIAAAAAC2MCAAAAAwAAAAUAAABLAAAAc2EAAAB8AQByFgB8AgBqAAB8AQCDAQABbgAAdAEAagIAfAAAfAIAjQEAAXQDAGQBAHwCAGsGAGQCAHwCAGsGAGQDAHwCAGsGAGcDAIMBAHJdAHwAAGoEAGQEAIMBAAFuAABkBQBTKAYAAABzkgAAAE1vZGlmeSBvciBxdWVyeSBzY2FsZSBvcHRpb25zLgoKICAgICAgICBTZXR0aW5nIGEgdmFsdWUgZm9yIGFueSBvZiB0aGUgImZyb20iLCAiZnJvbV8iIG9yICJ0byIgb3B0aW9ucwogICAgICAgIGdlbmVyYXRlcyBhIDw8UmFuZ2VDaGFuZ2VkPj4gZXZlbnQuUkQAAAB0BQAAAGZyb21fdAIAAAB0b3MQAAAAPDxSYW5nZUNoYW5nZWQ+Pk4oBQAAAHQGAAAAdXBkYXRlUqkAAABSWQAAAHQDAAAAYW55dA4AAABldmVudF9nZW5lcmF0ZSgDAAAAUo0AAAB0AwAAAGNuZlJHAAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5UlkAAAA1BAAAcwoAAAAABQYBEAEQAScBYwMAAAADAAAABQAAAEMAAABzHAAAAHwAAGoAAGoBAHwAAGoCAGQBAHwBAHwCAIMEAFMoAgAAAHPQAAAAR2V0IHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSB2YWx1ZSBvcHRpb24sIG9yIHRoZSB2YWx1ZQogICAgICAgIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGNvb3JkaW5hdGVzIHgsIHkgaWYgdGhleSBhcmUgc3BlY2lmaWVkLgoKICAgICAgICB4IGFuZCB5IGFyZSBwaXhlbCBjb29yZGluYXRlcyByZWxhdGl2ZSB0byB0aGUgc2NhbGUgd2lkZ2V0CiAgICAgICAgb3JpZ2luLlIfAAAAKAMAAABSIAAAAFKPAAAAUqwAAAAoAwAAAFKNAAAAUq0AAABSrgAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVIfAAAAQQQAAHMCAAAAAAZOKAcAAABSpgAAAFKnAAAAUqgAAABSLwAAAFKOAAAAUlkAAABSHwAAACgAAAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5Ug4AAAAjBAAAcwgAAAAGAgYCDA4MDGMAAAAAAAAAAAIAAABCAAAAcxoAAABlAABaAQBkAABaAgBkAgBkAQCEAQBaBABSUygDAAAAczsAAABUdGsgU2Nyb2xsYmFyIGNvbnRyb2xzIHRoZSB2aWV3cG9ydCBvZiBhIHNjcm9sbGFibGUgd2lkZ2V0LmMCAAAAAwAAAAUAAABLAAAAcxoAAAB0AABqAQB8AAB8AQBkAQB8AgCDBAABZAIAUygDAAAAc7sAAABDb25zdHJ1Y3QgYSBUdGsgU2Nyb2xsYmFyIHdpdGggcGFyZW50IG1hc3Rlci4KCiAgICAgICAgU1RBTkRBUkQgT1BUSU9OUwoKICAgICAgICAgICAgY2xhc3MsIGN1cnNvciwgc3R5bGUsIHRha2Vmb2N1cwoKICAgICAgICBXSURHRVQtU1BFQ0lGSUMgT1BUSU9OUwoKICAgICAgICAgICAgY29tbWFuZCwgb3JpZW50CiAgICAgICAgcw4AAAB0dGs6OnNjcm9sbGJhck4oAgAAAFKpAAAAUo4AAAAoAwAAAFKNAAAAUiQAAABSRwAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVKOAAAATQQAAHMCAAAAAAtOKAUAAABSpgAAAFKnAAAAUqgAAABSLwAAAFKOAAAAKAAAAAAoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHlSDwAAAEoEAABzBAAAAAYBBgJjAAAAAAAAAAACAAAAQgAAAHMaAAAAZQAAWgEAZAAAWgIAZAIAZAEAhAEAWgQAUlMoAwAAAHNJAAAAVHRrIFNlcGFyYXRvciB3aWRnZXQgZGlzcGxheXMgYSBob3Jpem9udGFsIG9yIHZlcnRpY2FsIHNlcGFyYXRvcgogICAgYmFyLmMCAAAAAwAAAAUAAABLAAAAcxoAAAB0AABqAQB8AAB8AQBkAQB8AgCDBAABZAIAUygDAAAAc7IAAABDb25zdHJ1Y3QgYSBUdGsgU2VwYXJhdG9yIHdpdGggcGFyZW50IG1hc3Rlci4KCiAgICAgICAgU1RBTkRBUkQgT1BUSU9OUwoKICAgICAgICAgICAgY2xhc3MsIGN1cnNvciwgc3R5bGUsIHRha2Vmb2N1cwoKICAgICAgICBXSURHRVQtU1BFQ0lGSUMgT1BUSU9OUwoKICAgICAgICAgICAgb3JpZW50CiAgICAgICAgcw4AAAB0dGs6OnNlcGFyYXRvck4oAgAAAFKpAAAAUo4AAAAoAwAAAFKNAAAAUiQAAABSRwAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVKOAAAAXwQAAHMCAAAAAAtOKAUAAABSpgAAAFKnAAAAUqgAAABSLwAAAFKOAAAAKAAAAAAoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHlSEAAAAFsEAABzBAAAAAYCBgJjAAAAAAAAAAACAAAAQgAAAHMaAAAAZQAAWgEAZAAAWgIAZAIAZAEAhAEAWgQAUlMoAwAAAHNsAAAAVHRrIFNpemVncmlwIGFsbG93cyB0aGUgdXNlciB0byByZXNpemUgdGhlIGNvbnRhaW5pbmcgdG9wbGV2ZWwKICAgIHdpbmRvdyBieSBwcmVzc2luZyBhbmQgZHJhZ2dpbmcgdGhlIGdyaXAuYwIAAAADAAAABQAAAEsAAABzGgAAAHQAAGoBAHwAAHwBAGQBAHwCAIMEAAFkAgBTKAMAAABzgwAAAENvbnN0cnVjdCBhIFR0ayBTaXplZ3JpcCB3aXRoIHBhcmVudCBtYXN0ZXIuCgogICAgICAgIFNUQU5EQVJEIE9QVElPTlMKCiAgICAgICAgICAgIGNsYXNzLCBjdXJzb3IsIHN0YXRlLCBzdHlsZSwgdGFrZWZvY3VzCiAgICAgICAgcw0AAAB0dGs6OnNpemVncmlwTigCAAAAUqkAAABSjgAAACgDAAAAUo0AAABSJAAAAFJHAAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5Uo4AAABxBAAAcwIAAAAAB04oBQAAAFKmAAAAUqcAAABSqAAAAFIvAAAAUo4AAAAoAAAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVIRAAAAbQQAAHMEAAAABgIGAmMAAAAAAAAAAAMAAABCAAAAc2QBAABlAABaAQBkAABaAgBkIQBkAQCEAQBaBABkIQBkAgCEAQBaBQBkIQBkAwCEAQBaBgBkBACEAABaBwBkIQBkBQCEAQBaCABkBgCEAABaCQBkBwCEAABaCgBkCACEAABaCwBkIQBkCQCEAQBaDABkIQBkCgCEAQBaDQBkCwCEAABaDgBkDACEAABaDwBkDQCEAABaEABkDgCEAABaEQBkDwCEAABaEgBkEACEAABaEwBkIQBkEQCEAQBaFABkIQBkEgCEAQBaFQBkEwCEAABaFgBlFgBaFwBkFACEAABaGABkFQCEAABaGQBkFgCEAABaGgBkFwCEAABaGwBkIQBkIQBkGACEAgBaHABkGQCEAABaHQBkGgCEAABaHgBkGwCEAABaHwBkHACEAABaIABkIQBkIQBkHQCEAgBaIQBkIQBkIQBkHgCEAgBaIgBkIQBkHwCEAQBaIwBkIQBkIACEAQBaJABSUygiAAAAc+4AAABUdGsgVHJlZXZpZXcgd2lkZ2V0IGRpc3BsYXlzIGEgaGllcmFyY2hpY2FsIGNvbGxlY3Rpb24gb2YgaXRlbXMuCgogICAgRWFjaCBpdGVtIGhhcyBhIHRleHR1YWwgbGFiZWwsIGFuIG9wdGlvbmFsIGltYWdlLCBhbmQgYW4gb3B0aW9uYWwgbGlzdAogICAgb2YgZGF0YSB2YWx1ZXMuIFRoZSBkYXRhIHZhbHVlcyBhcmUgZGlzcGxheWVkIGluIHN1Y2Nlc3NpdmUgY29sdW1ucwogICAgYWZ0ZXIgdGhlIHRyZWUgbGFiZWwuYwIAAAADAAAABQAAAEsAAABzGgAAAHQAAGoBAHwAAHwBAGQBAHwCAIMEAAFkAgBTKAMAAABzmgEAAENvbnN0cnVjdCBhIFR0ayBUcmVldmlldyB3aXRoIHBhcmVudCBtYXN0ZXIuCgogICAgICAgIFNUQU5EQVJEIE9QVElPTlMKCiAgICAgICAgICAgIGNsYXNzLCBjdXJzb3IsIHN0eWxlLCB0YWtlZm9jdXMsIHhzY3JvbGxjb21tYW5kLAogICAgICAgICAgICB5c2Nyb2xsY29tbWFuZAoKICAgICAgICBXSURHRVQtU1BFQ0lGSUMgT1BUSU9OUwoKICAgICAgICAgICAgY29sdW1ucywgZGlzcGxheWNvbHVtbnMsIGhlaWdodCwgcGFkZGluZywgc2VsZWN0bW9kZSwgc2hvdwoKICAgICAgICBJVEVNIE9QVElPTlMKCiAgICAgICAgICAgIHRleHQsIGltYWdlLCB2YWx1ZXMsIG9wZW4sIHRhZ3MKCiAgICAgICAgVEFHIE9QVElPTlMKCiAgICAgICAgICAgIGZvcmVncm91bmQsIGJhY2tncm91bmQsIGZvbnQsIGltYWdlCiAgICAgICAgcw0AAAB0dGs6OnRyZWV2aWV3TigCAAAAUqkAAABSjgAAACgDAAAAUo0AAABSJAAAAFJHAAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5Uo4AAACCBAAAcwIAAAAAFGMDAAAAAwAAAAUAAABDAAAAcxwAAAB8AABqAABqAQB8AABqAgBkAQB8AQB8AgCDBABTKAIAAABzVAEAAFJldHVybnMgdGhlIGJvdW5kaW5nIGJveCAocmVsYXRpdmUgdG8gdGhlIHRyZWV2aWV3IHdpZGdldCdzCiAgICAgICAgd2luZG93KSBvZiB0aGUgc3BlY2lmaWVkIGl0ZW0gaW4gdGhlIGZvcm0geCB5IHdpZHRoIGhlaWdodC4KCiAgICAgICAgSWYgY29sdW1uIGlzIHNwZWNpZmllZCwgcmV0dXJucyB0aGUgYm91bmRpbmcgYm94IG9mIHRoYXQgY2VsbC4KICAgICAgICBJZiB0aGUgaXRlbSBpcyBub3QgdmlzaWJsZSAoaS5lLiwgaWYgaXQgaXMgYSBkZXNjZW5kYW50IG9mIGEKICAgICAgICBjbG9zZWQgaXRlbSBvciBpcyBzY3JvbGxlZCBvZmZzY3JlZW4pLCByZXR1cm5zIGFuIGVtcHR5IHN0cmluZy5StwAAACgDAAAAUiAAAABSjwAAAFKsAAAAKAMAAABSjQAAAFI7AAAAdAYAAABjb2x1bW4oAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHlStwAAAJkEAABzAgAAAAAHYwIAAAACAAAABQAAAEMAAABzJQAAAHwAAGoAAGoBAHwAAGoCAGQBAHwBAHAbAGQCAIMDAHAkAGQDAFMoBAAAAHNoAAAAUmV0dXJucyBhIHR1cGxlIG9mIGNoaWxkcmVuIGJlbG9uZ2luZyB0byBpdGVtLgoKICAgICAgICBJZiBpdGVtIGlzIG5vdCBzcGVjaWZpZWQsIHJldHVybnMgcm9vdCBjaGlsZHJlbi5STwAAAFI1AAAAKAAAAAAoAwAAAFIgAAAAUo8AAABSrAAAACgCAAAAUo0AAABSOwAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weXQMAAAAZ2V0X2NoaWxkcmVuowQAAHMCAAAAAARjAgAAAAMAAAAFAAAARwAAAHMgAAAAfAAAagAAagEAfAAAagIAZAEAfAEAfAIAgwQAAWQCAFMoAwAAAHPJAAAAUmVwbGFjZXMgaXRlbSdzIGNoaWxkIHdpdGggbmV3Y2hpbGRyZW4uCgogICAgICAgIENoaWxkcmVuIHByZXNlbnQgaW4gaXRlbSB0aGF0IGFyZSBub3QgcHJlc2VudCBpbiBuZXdjaGlsZHJlbgogICAgICAgIGFyZSBkZXRhY2hlZCBmcm9tIHRyZWUuIE5vIGl0ZW1zIGluIG5ld2NoaWxkcmVuIG1heSBiZSBhbgogICAgICAgIGFuY2VzdG9yIG9mIGl0ZW0uUk8AAABOKAMAAABSIAAAAFKPAAAAUqwAAAAoAwAAAFKNAAAAUjsAAAB0CwAAAG5ld2NoaWxkcmVuKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5dAwAAABzZXRfY2hpbGRyZW6qBAAAcwIAAAAABmMDAAAABAAAAAYAAABLAAAAczgAAAB8AgBkAgBrCQByGQBkAgB8AwB8AgA8bgAAdAEAfAMAfAAAagIAagMAfAAAagQAZAEAfAEAgwUAUygDAAAAcwoBAABRdWVyeSBvciBtb2RpZnkgdGhlIG9wdGlvbnMgZm9yIHRoZSBzcGVjaWZpZWQgY29sdW1uLgoKICAgICAgICBJZiBrdyBpcyBub3QgZ2l2ZW4sIHJldHVybnMgYSBkaWN0IG9mIHRoZSBjb2x1bW4gb3B0aW9uIHZhbHVlcy4gSWYKICAgICAgICBvcHRpb24gaXMgc3BlY2lmaWVkIHRoZW4gdGhlIHZhbHVlIGZvciB0aGF0IG9wdGlvbiBpcyByZXR1cm5lZC4KICAgICAgICBPdGhlcndpc2UsIHNldHMgdGhlIG9wdGlvbnMgdG8gdGhlIGNvcnJlc3BvbmRpbmcgdmFsdWVzLlLWAAAATigFAAAAUi8AAABSfgAAAFIgAAAAUo8AAABSrAAAACgEAAAAUo0AAABS1gAAAFKUAAAAUkcAAAAoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHlS1gAAALMEAABzBgAAAAAGDAENAWMBAAAAAgAAAAQAAABHAAAAcx0AAAB8AABqAABqAQB8AABqAgBkAQB8AQCDAwABZAIAUygDAAAAc18AAABEZWxldGUgYWxsIHNwZWNpZmllZCBpdGVtcyBhbmQgYWxsIHRoZWlyIGRlc2NlbmRhbnRzLiBUaGUgcm9vdAogICAgICAgIGl0ZW0gbWF5IG5vdCBiZSBkZWxldGVkLnQGAAAAZGVsZXRlTigDAAAAUiAAAABSjwAAAFKsAAAAKAIAAABSjQAAAFI5AAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5UtoAAAC+BAAAcwIAAAAAA2MBAAAAAgAAAAQAAABHAAAAcx0AAAB8AABqAABqAQB8AABqAgBkAQB8AQCDAwABZAIAUygDAAAAc/YAAABVbmxpbmtzIGFsbCBvZiB0aGUgc3BlY2lmaWVkIGl0ZW1zIGZyb20gdGhlIHRyZWUuCgogICAgICAgIFRoZSBpdGVtcyBhbmQgYWxsIG9mIHRoZWlyIGRlc2NlbmRhbnRzIGFyZSBzdGlsbCBwcmVzZW50LCBhbmQgbWF5CiAgICAgICAgYmUgcmVpbnNlcnRlZCBhdCBhbm90aGVyIHBvaW50IGluIHRoZSB0cmVlLCBidXQgd2lsbCBub3QgYmUKICAgICAgICBkaXNwbGF5ZWQuIFRoZSByb290IGl0ZW0gbWF5IG5vdCBiZSBkZXRhY2hlZC50BgAAAGRldGFjaE4oAwAAAFIgAAAAUo8AAABSrAAAACgCAAAAUo0AAABSOQAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVLbAAAAxAQAAHMCAAAAAAZjAgAAAAIAAAAFAAAAQwAAAHMfAAAAdAAAfAAAagEAagIAfAAAagMAZAEAfAEAgwMAgwEAUygCAAAAc1MAAABSZXR1cm5zIFRydWUgaWYgdGhlIHNwZWNpZmllZCBpdGVtIGlzIHByZXNlbnQgaW4gdGhlIHRyZWUsCiAgICAgICAgRmFsc2Ugb3RoZXJ3aXNlLnQGAAAAZXhpc3RzKAQAAABSsAAAAFIgAAAAUo8AAABSrAAAACgCAAAAUo0AAABSOwAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVLcAAAAzQQAAHMCAAAAAANjAgAAAAIAAAAEAAAAQwAAAHMZAAAAfAAAagAAagEAfAAAagIAZAEAfAEAgwMAUygCAAAAc30AAABJZiBpdGVtIGlzIHNwZWNpZmllZCwgc2V0cyB0aGUgZm9jdXMgaXRlbSB0byBpdGVtLiBPdGhlcndpc2UsCiAgICAgICAgcmV0dXJucyB0aGUgY3VycmVudCBmb2N1cyBpdGVtLCBvciAnJyBpZiB0aGVyZSBpcyBub25lLnQFAAAAZm9jdXMoAwAAAFIgAAAAUo8AAABSrAAAACgCAAAAUo0AAABSOwAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVLdAAAA0wQAAHMCAAAAAANjAwAAAAUAAAAHAAAASwAAAHN8AAAAfAMAagAAZAEAgwEAfQQAfAQAckQAdAEAfAQAdAIAgwIADHJEAHwAAGoDAGoEAHwEAHwAAGoFAIMCAHwDAGQBADxuAAB8AgBkAwBrCQByXQBkAwB8AwB8AgA8bgAAdAcAfAMAfAAAaggAagkAfAAAagoAZAIAfAEAgwUAUygEAAAAc18DAABRdWVyeSBvciBtb2RpZnkgdGhlIGhlYWRpbmcgb3B0aW9ucyBmb3IgdGhlIHNwZWNpZmllZCBjb2x1bW4uCgogICAgICAgIElmIGt3IGlzIG5vdCBnaXZlbiwgcmV0dXJucyBhIGRpY3Qgb2YgdGhlIGhlYWRpbmcgb3B0aW9uIHZhbHVlcy4gSWYKICAgICAgICBvcHRpb24gaXMgc3BlY2lmaWVkIHRoZW4gdGhlIHZhbHVlIGZvciB0aGF0IG9wdGlvbiBpcyByZXR1cm5lZC4KICAgICAgICBPdGhlcndpc2UsIHNldHMgdGhlIG9wdGlvbnMgdG8gdGhlIGNvcnJlc3BvbmRpbmcgdmFsdWVzLgoKICAgICAgICBWYWxpZCBvcHRpb25zL3ZhbHVlcyBhcmU6CiAgICAgICAgICAgIHRleHQ6IHRleHQKICAgICAgICAgICAgICAgIFRoZSB0ZXh0IHRvIGRpc3BsYXkgaW4gdGhlIGNvbHVtbiBoZWFkaW5nCiAgICAgICAgICAgIGltYWdlOiBpbWFnZV9uYW1lCiAgICAgICAgICAgICAgICBTcGVjaWZpZXMgYW4gaW1hZ2UgdG8gZGlzcGxheSB0byB0aGUgcmlnaHQgb2YgdGhlIGNvbHVtbgogICAgICAgICAgICAgICAgaGVhZGluZwogICAgICAgICAgICBhbmNob3I6IGFuY2hvcgogICAgICAgICAgICAgICAgU3BlY2lmaWVzIGhvdyB0aGUgaGVhZGluZyB0ZXh0IHNob3VsZCBiZSBhbGlnbmVkLiBPbmUgb2YKICAgICAgICAgICAgICAgIHRoZSBzdGFuZGFyZCBUayBhbmNob3IgdmFsdWVzCiAgICAgICAgICAgIGNvbW1hbmQ6IGNhbGxiYWNrCiAgICAgICAgICAgICAgICBBIGNhbGxiYWNrIHRvIGJlIGludm9rZWQgd2hl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L2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5dA8AAABpZGVudGlmeV9yZWdpb24MBQAAcwIAAAAACWMDAAAAAwAAAAQAAABDAAAAcxMAAAB8AABqAABkAQB8AQB8AgCDAwBTKAIAAABzRQAAAFJldHVybnMgdGhlIGVsZW1lbnQgYXQgcG9zaXRpb24geCwgeS4KCiAgICAgICAgKiBBdmFpbGFiaWxpdHk6IFRrIDguNlKYAAAAKAEAAABSqwAAACgDAAAAUo0AAABSrQAAAFKuAAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5dBAAAABpZGVudGlmeV9lbGVtZW50GAUAAHMCAAAAAARjAgAAAAIAAAAEAAAAQwAAAHMZAAAAfAAAagAAagEAfAAAagIAZAEAfAEAgwMAUygCAAAAc08AAABSZXR1cm5zIHRoZSBpbnRlZ2VyIGluZGV4IG9mIGl0ZW0gd2l0aGluIGl0cyBwYXJlbnQncyBsaXN0CiAgICAgICAgb2YgY2hpbGRyZW4uUrgAAAAoAwAAAFIgAAAAUo8AAABSrAAAACgCAAAAUo0AAABSOwAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVK4AAAAHwUAAHMCAAAAAANjBAAAAAcAAAAIAAAASwAAAHNhAAAAdAAAfAQAgwEAfQUAfAMAcjwAfAAAagEAagIAfAAAagMAZAEAfAEAfAIAZAIAfAMAfAUAjAYAfQYAbiEAfAAAagEAagIAfAAAagMAZAEAfAEAfAIAfAUA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ACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVKhAAAAWgUAAHMCAAAAAANjAgAAAAIAAAAEAAAAQwAAAHMZAAAAfAAAagAAagEAfAAAagIAZAEAfAEAgwMAUygCAAAAc2oAAABSZXR1cm5zIHRoZSBpZGVudGlmaWVyIG9mIGl0ZW0ncyBwcmV2aW91cyBzaWJsaW5nLCBvciAnJyBpZgogICAgICAgIGl0ZW0gaXMgdGhlIGZpcnN0IGNoaWxkIG9mIGl0cyBwYXJlbnQudAQAAABwcmV2KAMAAABSIAAAAFKPAAAAUqwAAAAoAgAAAFKNAAAAUjsAAAAoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHlS7QAAAGAFAABzAgAAAAADYwIAAAACAAAABAAAAEMAAABzHQAAAHwAAGoAAGoBAHwAAGoCAGQBAHwBAIMDAAFkAgBTKAMAAABzwwAAAEVuc3VyZSB0aGF0IGl0ZW0gaXMgdmlzaWJsZS4KCiAgICAgICAgU2V0cyBhbGwgb2YgaXRlbSdzIGFuY2VzdG9ycyBvcGVuIG9wdGlvbiB0byBUcnVlLCBhbmQgc2Nyb2xscwogICAgICAgIHRoZSB3aWRnZXQgaWYgbmVjZXNzYXJ5IHNvIHRoYXQgaXRlbSBpcyB3aXRoaW4gdGhlIHZpc2libGUKICAgICAgICBwb3J0aW9uIG9mIHRoZSB0cmVlLnQDAAAAc2VlTigDAAAAUiAAAABSjwAAAFKsAAAAKAIAAABSjQAAAFI7AAAAKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5Uu4AAABmBQAAcwIAAAAABmMDAAAAAwAAAAUAAABDAAAAcxwAAAB8AABqAABqAQB8AABqAgBkAQB8AQB8AgCDBABTKAIAAABzMgAAAElmIHNlbG9wIGlzIG5vdCBzcGVjaWZpZWQsIHJldHVybnMgc2VsZWN0ZWQgaXRlbXMudAkAAABzZWxlY3Rpb24oAwAAAFIgAAAAUo8AAABSrAAAACgDAAAAUo0AAAB0BQAAAHNlbG9wUjkAAAAoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHlS7wAAAG8FAABzAgAAAAACYwIAAAACAAAAAwAAAEMAAABzFAAAAHwAAGoAAGQBAHwBAIMCAAFkAgBTKAMAAABzIAAAAGl0ZW1zIGJlY29tZXMgdGhlIG5ldyBzZWxlY3Rpb24uUrwAAABOKAEAAABS7wAAACgCAAAAUo0AAABSOQAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weXQNAAAAc2VsZWN0aW9uX3NldHQFAABzAgAAAAACYwIAAAACAAAAAwAAAEMAAABzFAAAAHwAAGoAAGQBAHwBAIMCAAFkAgBTKAMAAABzGwAAAEFkZCBpdGVtcyB0byB0aGUgc2VsZWN0aW9uLlK9AAAATigBAAAAUu8AAAAoAgAAAFKNAAAAUjkAAAAoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHl0DQAAAHNlbGVjdGlvbl9hZGR5BQAAcwIAAAAAAmMCAAAAAgAAAAMAAABDAAAAcxQAAAB8AABqAABkAQB8AQCDAgABZAIAUygDAAAAcyAAAABSZW1vdmUgaXRlbXMgZnJvbSB0aGUgc2VsZWN0aW9uLnQGAAAAcmVtb3ZlTigBAAAAUu8AAAAoAgAAAFKNAAAAUjkAAAAoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHl0EAAAAHNlbGVjdGlvbl9yZW1vdmV+BQAAcwIAAAAAAmMCAAAAAgAAAAMAAABDAAAAcxQAAAB8AABqAABkAQB8AQCDAgABZAIAUygDAAAAczEAAABUb2dnbGUgdGhlIHNlbGVjdGlvbiBzdGF0ZSBvZiBlYWNoIGl0ZW0gaW4gaXRlbXMudAYAAAB0b2dnbGVOKAEAAABS7wAAACgCAAAAUo0AAABSOQAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weXQQAAAAc2VsZWN0aW9uX3RvZ2dsZYMFAABzAgAAAAACYwQAAAAFAAAABgAAAEMAAABzTgAAAHwAAGoAAGoBAHwAAGoCAGQBAHwBAHwCAHwDAIMFAH0EAHwCAGQCAGsIAHJGAHwDAGQCAGsIAHJGAHQEAHwEAHQFAIMCAFN8BABTZAIAUygDAAAAcw8BAABXaXRoIG9uZSBhcmd1bWVudCwgcmV0dXJucyBhIGRpY3Rpb25hcnkgb2YgY29sdW1uL3ZhbHVlIHBhaXJzCiAgICAgICAgZm9yIHRoZSBzcGVjaWZpZWQgaXRlbS4gV2l0aCB0d28gYXJndW1lbnRzLCByZXR1cm5zIHRoZSBjdXJyZW50CiAgICAgICAgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCBjb2x1bW4uIFdpdGggdGhyZWUgYXJn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CwAAADxDb25maWd1cmU+cwUAAAA8TWFwPk4oEwAAAHQDAAAAcG9wdAoAAABfbGFiZWxfdG9wUgQAAABSjgAAAFKHAAAAdAYAAABJbnRWYXJ0CQAAAF92YXJpYWJsZVK8AAAAdAsAAABfbGFzdF92YWxpZFIFAAAAdAUAAABsYWJlbFIOAAAAdAUAAABzY2FsZVL4AAAAdAcAAABfYWRqdXN0dAQAAABwYWNrdAUAAABwbGFjZXQOAAAAdHJhY2VfdmFyaWFibGV0FgAAAF9MYWJlbGVkU2NhbGVfX3RyYWNlY2IoCQAAAFKNAAAAUiQAAABSAwEAAFLQAAAAUtEAAABSRwAAAHQKAAAAc2NhbGVfc2lkZXQKAAAAbGFiZWxfc2lkZXQDAAAAdG1wKAAAAAAoAAAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5Uo4AAAC6BQAAcyAAAAAACxsCEwEYARABCQIPASQBFgMVARgBGQEYASUDGwETAWMBAAAAAQAAAAUAAABDAAAAc0UAAAB5GgB8AABqAABqAQBkAQB8AABqAgCDAgABV24RAAR0AwBrCgByLQABAQFuFABYfAAAYAAAdAQAagUAfAAAgwEAAWQCAFMoAwAAAHM5AAAARGVzdHJveSB0aGlzIHdpZGdldCBhbmQgcG9zc2libHkgaXRzIGFzc29jaWF0ZWQgdmFyaWFibGUuUgkBAABOKAYAAABSDQEAAHQNAAAAdHJhY2VfdmRlbGV0ZVIVAQAAdA4AAABBdHRyaWJ1dGVFcnJvclIEAAAAdAcAAABkZXN0cm95KAEAAABSjQAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weVIbAQAA3QUAAHMMAAAAAAIDARoBDQIEAgYBYwEAAAAGAAAABAAAAAcAAABzqAAAAIcAAGYBAGQBAIYAAH0CAIgAAGoAAGQCABmIAABqAABkAwAZAn0DAH0EAHwEAHwDAGsAAHJGAHwEAHwDAAJ9AwB9BABuAACIAABqAQBqAgCDAAB9BQB8AwB8BQAEA2sBAG9sAHwEAGsBAG4CAAIBc4EAiAAAagMAiAAAXwQAZAQAU3wFAIgAAF8DAHwFAIgAAGoFAGQFADyIAABqBgB8AgCDAQABZAQAUygGAAAAczEAAABBZGp1c3QgdGhlIGxhYmVsIHBvc2l0aW9uIGFjY29yZGluZyB0byB0aGUgc2NhbGUuYwAAAAACAAAABQAAABMAAABzgAAAAIgAAGoAAIMAAAGIAABqAQBqAgCDAABcAgB9AAB9AQCIAABqAwByRwCIAABqAQBqBACDAACIAABqBQBqBgCDAAAYfQEAbhwAiAAAagEAagYAgwAAiAAAagUAagYAgwAAF30BAIgAAGoFAGoHAGQBAHwAAGQCAHwBAIMAAgFkAABTKAMAAABOUq0AAABSrgAAACgIAAAAdBAAAAB1cGRhdGVfaWRsZXRhc2tzUhABAAB0BgAAAGNvb3Jkc1ILAQAAdAcAAAB3aW5mb195Ug8BAAB0DwAAAHdpbmZvX3JlcWhlaWdodHQPAAAAcGxhY2VfY29uZmlndXJlKAIAAABSrQAAAFKuAAAAKAEAAABSjQAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHl0DAAAAGFkanVzdF9sYWJlbOsFAABzDAAAAAABCgIVAQkBHwIcAlJEAAAAUtEAAABOdAQAAAB0ZXh0KAcAAABSEAEAAFINAQAAUh8AAABSDgEAAFIqAAAAUg8BAAB0CgAAAGFmdGVyX2lkbGUoBgAAAFKNAAAAUkYAAABSIQEAAFLQAAAAUtEAAAB0BgAAAG5ld3ZhbCgAAAAAKAEAAABSjQAAAHN1AAAAL2hvbWUvdmFncmFudC9ycG1idWlsZC9CVUlMRC9idWlsZC10b29sY2hhaW4vb3B0L3Rvb2xjaGFpbnMvc3RiZ2NjLTQuOC0xLjAvcHl0aG9uLXJ1bnRpbWUvbGliL3B5dGhvbjIuNy9saWItdGsvdHRrLnB5UhEBAADpBQAAcxYAAAAAAg8LGwEMARABDwEcAgwBBAIJAQ0BYwEAAAABAAAAAQAAAEMAAABzDQAAAHwAAGoAAGoBAIMAAFMoAQAAAHMbAAAAUmV0dXJuIGN1cnJlbnQgc2NhbGUgdmFsdWUuKAIAAABSDQEAAFIfAAAAKAEAAABSjQAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weXQKAAAAX2dldF92YWx1ZQQGAABzAgAAAAACYwIAAAACAAAAAgAAAEMAAABzFAAAAHwAAGoAAGoBAHwBAIMBAAFkAQBTKAIAAABzFAAAAFNldCBuZXcgc2NhbGUgdmFsdWUuTigCAAAAUg0BAABSvAAAACgCAAAAUo0AAABSPQAAACgAAAAAKAAAAABzdQAAAC9ob21lL3ZhZ3JhbnQvcnBtYnVpbGQvQlVJTEQvYnVpbGQtdG9vbGNoYWluL29wdC90b29sY2hhaW5zL3N0YmdjYy00LjgtMS4wL3B5dGhvbi1ydW50aW1lL2xpYi9weXRob24yLjcvbGliLXRrL3R0ay5weXQKAAAAX3NldF92YWx1ZQkGAABzAgAAAAACTigLAAAAUqYAAABSpwAAAFKoAAAAUi8AAABSjgAAAFIbAQAAUhEBAABSJQEAAFImAQAAdAgAAABwcm9wZXJ0eVIqAAAAKAAAAAAoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHlSFAAAALMFAABzDgAAAAYFBgIVIwkMCRsJBQkFYwAAAAAAAAAAAgAAAEIAAABzOAAAAGUAAFoBAGQAAFoCAGQFAGQBAIQBAFoEAGQCAIQAAFoFAGQFAGQDAIQBAFoGAGQEAIQAAFoHAFJT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bHVlcyBhbmQgb3B0aW9uYWxseQogICAgICAgIGEgZGVmYXVsdCB2YWx1ZS5SKwEAAGkAAAAAdAMAAABlbmRSDwEAAFLeAAAATigHAAAAUtoAAAB0DwAAAGFkZF9yYWRpb2J1dHRvblKHAAAAdAYAAABfc2V0aXRSDQEAAFItAQAAUrwAAAAoBQAAAFKNAAAAUpUAAABSMQEAAFIrAQAAUj0AAAAoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHlSMAEAADkGAABzDgAAAAADCgEQAQ0BDwEgAgYBYwEAAAABAAAAAgAAAEMAAABzFwAAAHwAAGAAAHQBAGoCAHwAAIMBAAFkAQBTKAIAAABzMAAAAERlc3Ryb3kgdGhpcyB3aWRnZXQgYW5kIGl0cyBhc3NvY2lhdGVkIHZhcmlhYmxlLk4oAwAAAFINAQAAUggAAABSGwEAACgBAAAAUo0AAAAoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHlSGwEAAEYGAABzBAAAAAACBgFOKAgAAABSpgAAAFKnAAAAUqgAAABSLwAAAFKOAAAAUjQBAABSMAEAAFIbAQAAKAAAAAAoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHlSFQAAABEGAABzCgAAAAYCBgIMHQkHDA0oNgAAAFKoAAAAdAsAAABfX3ZlcnNpb25fX3QKAAAAX19hdXRob3JfX3QHAAAAX19hbGxfX1KHAAAAUhgAAABSGQAAAFIaAAAAdAkAAABUa1ZlcnNpb25SIgAAAFKMAAAAUhwAAABSJgAAAFIsAAAAUi8AAABSNAAAAFI+AAAAUkEAAABSTgAAAFJQAAAAUmUAAABSbgAAAFJ1AAAAUngAAABSfgAAAFKDAAAAUhYAAABSFwAAAHQGAAAAb2JqZWN0UhIAAABSqQAAAFIAAAAAUgEAAABSAwAAAFICAAAAUgQAAABSBQAAAFIGAAAAUgcAAABSCAAAAFIJAAAAUgsAAABSCgAAAFIMAAAAUg0AAABSDgAAAFIPAAAAUhAAAABSEQAAAHQFAAAAWFZpZXd0BQAAAFlWaWV3UhMAAABSFAAAAFIVAAAAKAAAAAAoAAAAACgAAAAAc3UAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2xpYi10ay90dGsucHl0CAAAADxtb2R1bGU+DQAAAHNkAAAABgIGAgYCEgEPAQ8BDAIGAgwCDAEcAxsCCQ8MCg8QCRkMEQwlDzEJKgwPCREJGwkQCQoJEQwRFqQZQRYYFh0cKhYgFhIWExYSBgMWExaFHDgGAxYqFhwcJxwRFhIWDiL/ADkZXg==