CuEsChlnb29nbGUvcHJvdG9idWYvYW55LnByb3RvEg9nb29nbGUucHJvdG9idWYiNgoDQW55EhkKCHR5cGVfdXJsGAEgASgJUgd0eXBlVXJsEhQKBXZhbHVlGAIgASgMUgV2YWx1ZUJvChNjb20uZ29vZ2xlLnByb3RvYnVmQghBbnlQcm90b1ABWiVnaXRodWIuY29tL2dvbGFuZy9wcm90b2J1Zi9wdHlwZXMvYW55ogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSoErCgcSBR4AmgEBCswMCgEMEgMeABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCAoBCBIDIgA7CgkKAgglEgMiADsKCAoBCBIDIwA8CgkKAggLEgMjADwKCAoBCBIDJAAsCgkKAggBEgMkACwKCAoBCBIDJQApCgkKAggIEgMlACkKCAoBCBIDJgAiCgkKAggKEgMmACIKCAoBCBIDJwAhCgkKAggkEgMnACEK5BAKAgQAEgV5AJoBARrWECBgQW55YCBjb250YWlucyBhbiBhcmJpdHJhcnkgc2VyaWFsaXplZCBwcm90b2NvbCBidWZmZXIgbWVzc2FnZSBhbG9uZyB3aXRoIGEKIFVSTCB0aGF0IGRlc2NyaWJlcyB0aGUgdHlwZSBvZiB0aGUgc2VyaWFsaXplZCBtZXNzYWdlLgoKIFByb3RvYnVmIGxpYnJhcnkgcHJvdmlkZXMgc3VwcG9ydCB0byBwYWNrL3VucGFjayBBbnkgdmFsdWVzIGluIHRoZSBmb3JtCiBvZiB1dGlsaXR5IGZ1bmN0aW9ucyBvciBhZGRpdGlvbmFsIGdlbmVyYXRlZCBtZXRob2RzIG9mIHRoZSBBbnkgdHlwZS4KCiBFeGFtcGxlIDE6IFBhY2sgYW5kIHVucGFjayBhIG1lc3NhZ2UgaW4gQysrLgoKICAgICBGb28gZm9vID0gLi4uOwogICAgIEFueSBhbnk7CiAgICAgYW55LlBhY2tGcm9tKGZvbyk7CiAgICAgLi4uCiAgICAgaWYgKGFueS5VbnBhY2tUbygmZm9vKSkgewogICAgICAgLi4uCiAgICAgfQoKIEV4YW1wbGUgMjogUGFjayBhbmQgdW5wYWNrIGEgbWVzc2FnZSBpbiBKYXZhLgoKICAgICBGb28gZm9vID0gLi4uOwogICAgIEFueSBhbnkgPSBBbnkucGFjayhmb28pOwogICAgIC4uLgogICAgIGlmIChhbnkuaXMoRm9vLmNsYXNzKSkgewogICAgICAgZm9vID0gYW55LnVucGFjayhGb28uY2xhc3MpOwogICAgIH0KCiAgRXhhbXBsZSAzOiBQYWNrIGFuZCB1bnBhY2sgYSBtZXNzYWdlIGluIFB5dGhvbi4KCiAgICAgZm9vID0gRm9vKC4uLikKICAgICBhbnkgPSBBbnkoKQogICAgIGFueS5QYWNrKGZvbykKICAgICAuLi4KICAgICBpZiBhbnkuSXMoRm9vLkRFU0NSSVBUT1IpOgogICAgICAgYW55LlVucGFjayhmb28pCiAgICAgICAuLi4KCiAgRXhhbXBsZSA0OiBQYWNrIGFuZCB1bnBhY2sgYSBtZXNzYWdlIGluIEdvCgogICAgICBmb28gOj0gJnBiLkZvb3suLi59CiAgICAgIGFueSwgZXJyIDo9IHB0eXBlcy5NYXJzaGFsQW55KGZvbykKICAgICAgLi4uCiAgICAgIGZvbyA6PSAmcGIuRm9ve30KICAgICAgaWYgZXJyIDo9IHB0eXBlcy5Vbm1hcnNoYWxBbnkoYW55LCBmb28pOyBlcnIgIT0gbmlsIHsKICAgICAgICAuLi4KICAgICAgfQoKIFRoZSBwYWNrIG1ldGhvZHMgcHJvdmlkZWQgYnkgcHJvdG9idWYgbGlicmFyeSB3aWxsIGJ5IGRlZmF1bHQgdXNlCiAndHlwZS5nb29nbGVhcGlzLmNvbS9mdWxsLnR5cGUubmFtZScgYXMgdGhlIHR5cGUgVVJMIGFuZCB0aGUgdW5wYWNrCiBtZXRob2RzIG9ubHkgdXNlIHRoZSBmdWxseSBxdWFsaWZpZWQgdHlwZSBuYW1lIGFmdGVyIHRoZSBsYXN0ICcvJwogaW4gdGhlIHR5cGUgVVJMLCBmb3IgZXhhbXBsZSAiZm9vLmJhci5jb20veC95LnoiIHdpbGwgeWllbGQgdHlwZQogbmFtZSAieS56Ii4KCgogSlNPTgogPT09PQogVGhlIEpTT04gcmVwcmVzZW50YXRpb24gb2YgYW4gYEFueWAgdmFsdWUgdXNlcyB0aGUgcmVndWxhcgogcmVwcmVzZW50YXRpb24gb2YgdGhlIGRlc2VyaWFsaXplZCwgZW1iZWRkZWQgbWVzc2FnZSwgd2l0aCBhbgogYWRkaXRpb25hbCBmaWVsZCBgQHR5cGVgIHdoaWNoIGNvbnRhaW5zIHRoZSB0eXBlIFVSTC4gRXhhbXBsZToKCiAgICAgcGFja2FnZSBnb29nbGUucHJvZmlsZTsKICAgICBtZXNzYWdlIFBlcnNvbiB7CiAgICAgICBzdHJpbmcgZmlyc3RfbmFtZSA9IDE7CiAgICAgICBzdHJpbmcgbGFzdF9uYW1lID0gMjsKICAgICB9CgogICAgIHsKICAgICAgICJAdHlwZSI6ICJ0eXBlLmdvb2dsZWFwaXMuY29tL2dvb2dsZS5wcm9maWxlLlBlcnNvbiIsCiAgICAgICAiZmlyc3ROYW1lIjogPHN0cmluZz4sCiAgICAgICAibGFzdE5hbWUiOiA8c3RyaW5nPgogICAgIH0KCiBJZiB0aGUgZW1iZWRkZWQgbWVzc2FnZSB0eXBlIGlzIHdlbGwta25vd24gYW5kIGhhcyBhIGN1c3RvbSBKU09OCiByZXByZXNlbnRhdGlvbiwgdGhhdCByZXByZXNlbnRhdGlvbiB3aWxsIGJlIGVtYmVkZGVkIGFkZGluZyBhIGZpZWxkCiBgdmFsdWVgIHdoaWNoIGhvbGRzIHRoZSBjdXN0b20gSlNPTiBpbiBhZGRpdGlvbiB0byB0aGUgYEB0eXBlYAogZmllbGQuIEV4YW1wbGUgKGZvciBtZXNzYWdlIFtnb29nbGUucHJvdG9idWYuRHVyYXRpb25dW10pOgoKICAgICB7CiAgICAgICAiQHR5cGUiOiAidHlwZS5nb29nbGVhcGlzLmNvbS9nb29nbGUucHJvdG9idWYuRHVyYXRpb24iLAogICAgICAgInZhbHVlIjogIjEuMjEycyIKICAgICB9CgoKCgoDBAABEgN5CAsK1woKBAQAAgASBJYBAhYayAogQSBVUkwvcmVzb3VyY2UgbmFtZSB0aGF0IHVuaXF1ZWx5IGlkZW50aWZpZXMgdGhlIHR5cGUgb2YgdGhlIHNlcmlhbGl6ZWQKIHByb3RvY29sIGJ1ZmZlciBtZXNzYWdlLiBUaGlzIHN0cmluZyBtdXN0IGNvbnRhaW4gYXQgbGVhc3QKIG9uZSAiLyIgY2hhcmFjdGVyLiBUaGUgbGFzdCBzZWdtZW50IG9mIHRoZSBVUkwncyBwYXRoIG11c3QgcmVwcmVzZW50CiB0aGUgZnVsbHkgcXVhbGlmaWVkIG5hbWUgb2YgdGhlIHR5cGUgKGFzIGluCiBgcGF0aC9nb29nbGUucHJvdG9idWYuRHVyYXRpb25gKS4gVGhlIG5hbWUgc2hvdWxkIGJlIGluIGEgY2Fub25pY2FsIGZvcm0KIChlLmcuLCBsZWFkaW5nICIuIiBpcyBub3QgYWNjZXB0ZWQpLgoKIEluIHByYWN0aWNlLCB0ZWFtcyB1c3VhbGx5IHByZWNvbXBpbGUgaW50byB0aGUgYmluYXJ5IGFsbCB0eXBlcyB0aGF0IHRoZXkKIGV4cGVjdCBpdCB0byB1c2UgaW4gdGhlIGNvbnRleHQgb2YgQW55LiBIb3dldmVyLCBmb3IgVVJMcyB3aGljaCB1c2UgdGhlCiBzY2hlbWUgYGh0dHBgLCBgaHR0cHNgLCBvciBubyBzY2hlbWUsIG9uZSBjYW4gb3B0aW9uYWxseSBzZXQgdXAgYSB0eXBlCiBzZXJ2ZXIgdGhhdCBtYXBzIHR5cGUgVVJMcyB0byBtZXNzYWdlIGRlZmluaXRpb25zIGFzIGZvbGxvd3M6CgogKiBJZiBubyBzY2hlbWUgaXMgcHJvdmlkZWQsIGBodHRwc2AgaXMgYXNzdW1lZC4KICogQW4gSFRUUCBHRVQgb24gdGhlIFVSTCBtdXN0IHlpZWxkIGEgW2dvb2dsZS5wcm90b2J1Zi5UeXBlXVtdCiAgIHZhbHVlIGluIGJpbmFyeSBmb3JtYXQsIG9yIHByb2R1Y2UgYW4gZXJyb3IuCiAqIEFwcGxpY2F0aW9ucyBhcmUgYWxsb3dlZCB0byBjYWNoZSBsb29rdXAgcmVzdWx0cyBiYXNlZCBvbiB0aGUKICAgVVJMLCBvciBoYXZlIHRoZW0gcHJlY29tcGlsZWQgaW50byBhIGJpbmFyeSB0byBhdm9pZCBhbnkKICAgbG9va3VwLiBUaGVyZWZvcmUsIGJpbmFyeSBjb21wYXRpYmlsaXR5IG5lZWRzIHRvIGJlIHByZXNlcnZlZAogICBvbiBjaGFuZ2VzIHRvIHR5cGVzLiAoVXNlIHZlcnNpb25lZCB0eXBlIG5hbWVzIHRvIG1hbmFnZQogICBicmVha2luZyBjaGFuZ2VzLikKCiBOb3RlOiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgbm90IGN1cnJlbnRseSBhdmFpbGFibGUgaW4gdGhlIG9mZmljaWFsCiBwcm90b2J1ZiByZWxlYXNlLCBhbmQgaXQgaXMgbm90IHVzZWQgZm9yIHR5cGUgVVJMcyBiZWdpbm5pbmcgd2l0aAogdHlwZS5nb29nbGVhcGlzLmNvbS4KCiBTY2hlbWVzIG90aGVyIHRoYW4gYGh0dHBgLCBgaHR0cHNgIChvciB0aGUgZW1wdHkgc2NoZW1lKSBtaWdodCBiZQogdXNlZCB3aXRoIGltcGxlbWVudGF0aW9uIHNwZWNpZmljIHNlbWFudGljcy4KCgoOCgUEAAIABBIFlgECeQ0KDQoFBAACAAUSBJYBAggKDQoFBAACAAESBJYBCREKDQoFBAACAAMSBJYBFBUKVwoEBAACARIEmQECEhpJIE11c3QgYmUgYSB2YWxpZCBzZXJpYWxpemVkIHByb3RvY29sIGJ1ZmZlciBvZiB0aGUgYWJvdmUgc3BlY2lmaWVkIHR5cGUuCgoPCgUEAAIBBBIGmQEClgEWCg0KBQQAAgEFEgSZAQIHCg0KBQQAAgEBEgSZAQgNCg0KBQQAAgEDEgSZARARYgZwcm90bzMKxBEKG3ZvbHRoYV9wcm90b3MvYWRhcHRlci5wcm90bxIHYWRhcHRlchoZZ29vZ2xlL3Byb3RvYnVmL2FueS5wcm90byJSCg1BZGFwdGVyQ29uZmlnEkEKEWFkZGl0aW9uYWxfY29uZmlnGEAgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIQYWRkaXRpb25hbENvbmZpZyKjAwoHQWRhcHRlchIOCgJpZBgBIAEoCVICaWQSFgoGdmVuZG9yGAIgASgJUgZ2ZW5kb3ISGAoHdmVyc2lvbhgDIAEoCVIHdmVyc2lvbhIuCgZjb25maWcYECABKAsyFi5hZGFwdGVyLkFkYXB0ZXJDb25maWdSBmNvbmZpZxJLChZhZGRpdGlvbmFsX2Rlc2NyaXB0aW9uGEAgASgLMhQuZ29vZ2xlLnByb3RvYnVmLkFueVIVYWRkaXRpb25hbERlc2NyaXB0aW9uEiwKEmxvZ2ljYWxfZGV2aWNlX2lkcxgEIAMoCVIQbG9naWNhbERldmljZUlkcxItChJsYXN0X2NvbW11bmljYXRpb24YBSABKANSEWxhc3RDb21tdW5pY2F0aW9uEiYKDmN1cnJlbnRSZXBsaWNhGAYgASgFUg5jdXJyZW50UmVwbGljYRIkCg10b3RhbFJlcGxpY2FzGAcgASgFUg10b3RhbFJlcGxpY2FzEhoKCGVuZHBvaW50GAggASgJUghlbmRwb2ludBISCgR0eXBlGAkgASgJ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dWYvcHR5cGVzL2VtcHR5+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSv4QCgYSBB4AMxAKzAwKAQwSAx4AEjLBDCBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCggKAQISAyAAGAoICgEIEgMiADsKCQoCCCUSAyIAOwoICgEIEgMjAD4KCQoCCAsSAyMAPgoICgEIEgMkACwKCQoCCAESAyQALAoICgEIEgMlACsKCQoCCAgSAyUAKwoICgEIEgMmACIKCQoCCAoSAyYAIgoICgEIEgMnACEKCQoCCCQSAycAIQoICgEIEgMoAB8KCQoCCB8SAygAHwr7AgoCBAASAzMAEBrvAiBBIGdlbmVyaWMgZW1wdHkgbWVzc2FnZSB0aGF0IHlvdSBjYW4gcmUtdXNlIHRvIGF2b2lkIGRlZmluaW5nIGR1cGxpY2F0ZWQKIGVtcHR5IG1lc3NhZ2VzIGluIHlvdXIgQVBJcy4gQSB0eXBpY2FsIGV4YW1wbGUgaXMgdG8gdXNlIGl0IGFzIHRoZSByZXF1ZXN0CiBvciB0aGUgcmVzcG9uc2UgdHlwZSBvZiBhbiBBUEkgbWV0aG9kLiBGb3IgaW5zdGFuY2U6CgogICAgIHNlcnZpY2UgRm9vIHsKICAgICAgIHJwYyBCYXIoZ29vZ2xlLnByb3RvYnVmLkVtcHR5KSByZXR1cm5zIChnb29nbGUucHJvdG9idWYuRW1wdHkpOwogICAgIH0KCiBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBmb3IgYEVtcHR5YCBpcyBlbXB0eSBKU09OIG9iamVjdCBge31gLgoKCgoDBAABEgMzCA1iBnByb3RvMwrvGgoadm9sdGhhX3Byb3Rvcy9jb21tb24ucHJvdG8SBmNvbW1vbiIUCgJJRBIOCgJpZBgBIAEoCVICaWQiJwoDSURzEiAKBWl0ZW1zGAEgAygLMgouY29tbW9uLklEUgVpdGVtcyJoCgpBZG1pblN0YXRlIloKBVR5cGVzEgsKB1VOS05PV04QABISCg5QUkVQUk9WSVNJT05FRBABEgsKB0VOQUJMRUQQAhIMCghESVNBQkxFRBADEhUKEURPV05MT0FESU5HX0lNQUdFEAQikQEKCk9wZXJTdGF0dXMiggEKBVR5cGVzEgsKB1VOS05PV04QABIOCgpESVNDT1ZFUkVEEAESDgoKQUNUSVZBVElORxACEgsKB1RFU1RJTkcQAxIKCgZBQ1RJVkUQBBIKCgZGQUlMRUQQBRIPCgtSRUNPTkNJTElORxAGEhYKElJFQ09OQ0lMSU5HX0ZBSUxFRBAHIkUKDUNvbm5lY3RTdGF0dXMiNAoFVHlwZXMSCwoHVU5LTk9XThAAEg8KC1VOUkVBQ0hBQkxFEAESDQoJUkVBQ0hBQkxFEAIi8gEKDU9wZXJhdGlvblJlc3ASPQoEY29kZRgBIAEo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Zy5vcmcvZ2VucHJvdG8vZ29vZ2xlYXBpcy9hcGkvYW5ub3RhdGlvbnM7YW5ub3RhdGlvbnP4AQGiAgRHQVBJSpd0CgcSBQ8A+wIBCr4ECgEMEgMPABIyswQgQ29weXJpZ2h0IDIwMTggR29vZ2xlIExMQy4KCiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsKIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4KIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAoKICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKCiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KCgoICgECEgMRABMKCAoBCBIDEwAfCgkKAggfEgMTAB8KCAoBCBIDFABYCgkKAggLEgMUAFgKCAoBCBIDFQAiCgkKAggKEgMVACIKCAoBCBIDFgAqCgkKAggIEgMWACoKCAoBCBIDFwAnCgkKAggBEgMXACcKCAoBCBIDGAAiCgkKAggkEgMYACIKzQEKAgQAEgQdACoBGsABIERlZmluZXMgdGhlIEhUVFAgY29uZmlndXJhdGlvbiBmb3IgYW4gQVBJIHNlcnZpY2UuIEl0IGNvbnRhaW5zIGEgbGlzdCBvZgogW0h0dHBSdWxlXVtnb29nbGUuYXBpLkh0dHBSdWxlXSwgZWFjaCBzcGVjaWZ5aW5nIHRoZSBtYXBwaW5nIG9mIGFuIFJQQyBtZXRob2QKIHRvIG9uZSBvciBtb3JlIEhUVFAgUkVTVCBBUEkgbWV0aG9kcy4KCgoKAwQAARIDHQgMCqIBCgQEAAIAEgMhAh4alAEgQSBsaXN0IG9mIEhUVFAgY29uZmlndXJhdGlvbiBydWxlcyB0aGF0IGFwcGx5IHRvIGluZGl2aWR1YWwgQVBJIG1ldGhvZHMuCgogKipOT1RFOioqIEFsbCBzZXJ2aWNlIGNvbmZpZ3VyYXRpb24gcnVsZXMgZm9sbG93ICJsYXN0IG9uZSB3aW5zIiBvcmRlci4KCgwKBQQAAgAEEgMhAgoKDAoFBAACAAYSAyELEwoMCgUEAAIAARIDIRQZCgwKBQQAAgADEgMhHB0KkwIKBAQAAgESAykCKxqFAiBXaGVuIHNldCB0byB0cnVlLCBVUkwgcGF0aCBwYXJtZXRlcnMgd2lsbCBiZSBmdWxseSBVUkktZGVjb2RlZCBleGNlcHQgaW4KIGNhc2VzIG9mIHNpbmdsZSBzZWdtZW50IG1hdGNoZXMgaW4gcmVzZXJ2ZWQgZXhwYW5zaW9uLCB3aGVyZSAiJTJGIiB3aWxsIGJlCiBsZWZ0IGVuY29kZWQuCgogVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gbm90IGRlY29kZSBSRkMgNjU3MCByZXNlcnZlZCBjaGFyYWN0ZXJzIGluIG11bHRpCiBzZWdtZW50IG1hdGNoZXMuCgoNCgUEAAIBBBIEKQIhHgoMCgUEAAIBBRIDKQIGCgwKBQQAAgEBEgMpByYKDAoFBAACAQMSAykpKgq7UwoCBAESBrwCAPICARqsUyAjIGdSUEMgVHJhbnNjb2RpbmcKCiBnUlBDIFRyYW5zY29kaW5nIGlzIGEgZmVhdHVyZSBmb3IgbWFwcGluZyBiZXR3ZWVuIGEgZ1JQQyBtZXRob2QgYW5kIG9uZSBvcgogbW9yZSBIVFRQIFJFU1QgZW5kcG9pbnRzLiBJdCBhbGxvd3MgZGV2ZWxvcGVycyB0byBidWlsZCBhIHNpbmdsZSBBUEkgc2VydmljZQogdGhhdCBzdXBwb3J0cyBib3RoIGdSUEMgQVBJcyBhbmQgUkVTVCBBUElzLiBNYW55IHN5c3RlbXMsIGluY2x1ZGluZyBbR29vZ2xlCiBBUElzXShodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlYXBpcy9nb29nbGVhcGlzKSwKIFtDbG91ZCBFbmRwb2ludHNdKGh0dHBzOi8vY2xvdWQuZ29vZ2xlLmNvbS9lbmRwb2ludHMpLCBbZ1JQQwogR2F0ZXdheV0oaHR0cHM6Ly9naXRodWIuY29tL2dycGMtZWNvc3lzdGVtL2dycGMtZ2F0ZXdheSksCiBhbmQgW0Vudm95XShodHRwczovL2dpdGh1Yi5jb20vZW52b3lwcm94eS9lbnZveSkgcHJveHkgc3VwcG9ydCB0aGlzIGZlYXR1cmUKIGFuZCB1c2UgaXQgZm9yIGxhcmdlIHNjYWxlIHByb2R1Y3Rpb24gc2VydmljZXMuCgogYEh0dHBSdWxlYCBkZWZpbmVzIHRoZSBzY2hlbWEgb2YgdGhlIGdSUEMvUkVTVCBtYXBwaW5nLiBUaGUgbWFwcGluZyBzcGVjaWZpZXMKIGhvdyBkaWZmZXJlbnQgcG9ydGlvbnMgb2YgdGhlIGdSUEMgcmVxdWVzdCBtZXNzYWdlIGFyZSBtYXBwZWQgdG8gdGhlIFVSTAogcGF0aCwgVVJMIHF1ZXJ5IHBhcmFtZXRlcnMsIGFuZCBIVFRQIHJlcXVlc3QgYm9keS4gSXQgYWxzbyBjb250cm9scyBob3cgdGhlCiBnUlBDIHJlc3BvbnNlIG1lc3NhZ2UgaXMgbWFwcGVkIHRvIHRoZSBIVFRQIHJlc3BvbnNlIGJvZHkuIGBIdHRwUnVsZWAgaXMKIHR5cGljYWxseSBzcGVjaWZpZWQgYXMgYW4gYGdvb2dsZS5hcGkuaHR0cGAgYW5ub3RhdGlvbiBvbiB0aGUgZ1JQQyBtZXRob2QuCgogRWFjaCBtYXBwaW5nIHNwZWNpZmllcyBhIFVSTCBwYXRoIHRlbXBsYXRlIGFuZCBhbiBIVFRQIG1ldGhvZC4gVGhlIHBhdGgKIHRlbXBsYXRlIG1heSByZWZlciB0byBvbmUgb3IgbW9yZSBmaWVsZHMgaW4gdGhlIGdSUEMgcmVxdWVzdCBtZXNzYWdlLCBhcyBsb25nCiBhcyBlYWNoIGZpZWxkIGlzIGEgbm9uLXJlcGVhdGVkIGZpZWxkIHdpdGggYSBwcmltaXRpdmUgKG5vbi1tZXNzYWdlKSB0eXBlLgogVGhlIHBhdGggdGVtcGxhdGUgY29udHJvbHMgaG93IGZpZWxkcyBvZiB0aGUgcmVxdWVzdCBtZXNzYWdlIGFyZSBtYXBwZWQgdG8KIHRoZSBVUkwgcGF0aC4KCiBFeGFtcGxlOgoKICAgICBzZXJ2aWNlIE1lc3NhZ2luZyB7CiAgICAgICBycGMgR2V0TWVzc2FnZShHZXRNZXNzYWdlUmVxdWVzdCkgcmV0dXJucyAoTWVzc2FnZSkgewogICAgICAgICBvcHRpb24gKGdvb2dsZS5hcGkuaHR0cCkgPSB7CiAgICAgICAgICAgICBnZXQ6ICIvdjEve25hbWU9bWVzc2FnZXMvKn0iCiAgICAgICAgIH07CiAgICAgICB9CiAgICAgfQogICAgIG1lc3NhZ2UgR2V0TWVzc2FnZVJlcXVlc3QgewogICAgICAgc3RyaW5nIG5hbWUgPSAxOyAvLyBNYXBwZWQgdG8gVVJMIHBhdGguCiAgICAgfQogICAgIG1lc3NhZ2UgTWVzc2FnZSB7CiAgICAgICBzdHJpbmcgdGV4dCA9IDE7IC8vIFRoZSByZXNvdXJjZSBjb250ZW50LgogICAgIH0KCiBUaGlzIGVuYWJsZXMgYW4gSFRUUCBSRVNUIHRvIGdSUEMgbWFwcGluZyBhcyBiZWxvdzoKCiBIVFRQIHwgZ1JQQwogLS0tLS18LS0tLS0KIGBHRVQgL3YxL21lc3NhZ2VzLzEyMzQ1NmAgIHwgYEdldE1lc3NhZ2UobmFtZTogIm1lc3NhZ2VzLzEyMzQ1NiIpYAoKIEFueSBmaWVsZHMgaW4gdGhlIHJlcXVlc3QgbWVzc2FnZSB3aGljaCBhcmUgbm90IGJvdW5kIGJ5IHRoZSBwYXRoIHRlbXBsYXRlCiBhdXRvbWF0aWNhbGx5IGJlY29tZSBIVFRQIHF1ZXJ5IHBhcmFtZXRlcnMgaWYgdGhlcmUgaXMgbm8gSFRUUCByZXF1ZXN0IGJvZHkuCiBGb3IgZXhhbXBsZToKCiAgICAgc2VydmljZSBNZXNzYWdpbmcgewogICAgICAgcnBjIEdldE1lc3NhZ2UoR2V0TWVzc2FnZVJlcXVlc3QpIHJldHVybnMgKE1lc3NhZ2UpIHsKICAgICAgICAgb3B0aW9uIChnb29nbGUuYXBpLmh0dHApID0gewogICAgICAgICAgICAgZ2V0OiIvdjEvbWVzc2FnZXMve21lc3NhZ2VfaWR9IgogICAgICAgICB9OwogICAgICAgfQogICAgIH0KICAgICBtZXNzYWdlIEdldE1lc3NhZ2VSZXF1ZXN0IHsKICAgICAgIG1lc3NhZ2UgU3ViTWVzc2FnZSB7CiAgICAgICAgIHN0cmluZyBzdWJmaWVsZCA9IDE7CiAgICAgICB9CiAgICAgICBzdHJpbmcgbWVzc2FnZV9pZCA9IDE7IC8vIE1hcHBlZCB0byBVUkwgcGF0aC4KICAgICAgIGludDY0IHJldmlzaW9uID0gMjsgICAgLy8gTWFwcGVkIHRvIFVSTCBxdWVyeSBwYXJhbWV0ZXIgYHJldmlzaW9uYC4KICAgICAgIFN1Yk1lc3NhZ2Ugc3ViID0gMzsgICAgLy8gTWFwcGVkIHRvIFVSTCBxdWVyeSBwYXJhbWV0ZXIgYHN1Yi5zdWJmaWVsZGAuCiAgICAgfQoKIFRoaXMgZW5hYmxlcyBhIEhUVFAgSlNPTiB0byBSUEMgbWFwcGluZyBhcyBiZWxvdzoKCiBIVFRQIHwgZ1JQQwogLS0tLS18LS0tLS0KIGBHRVQgL3YxL21lc3NhZ2VzLzEyMzQ1Nj9yZXZpc2lvbj0yJnN1Yi5zdWJmaWVsZD1mb29gIHwKIGBHZXRNZXNzYWdlKG1lc3NhZ2VfaWQ6ICIxMjM0NTYiIHJldmlzaW9uOiAyIHN1YjogU3ViTWVzc2FnZShzdWJmaWVsZDoKICJmb28iKSlgCgogTm90ZSB0aGF0IGZpZWxkcyB3aGljaCBhcmUgbWFwcGVkIHRvIFVSTCBxdWVyeSBwYXJhbWV0ZXJzIG11c3QgaGF2ZSBhCiBwcmltaXRpdmUgdHlwZSBvciBhIHJlcGVhdGVkIHByaW1pdGl2ZSB0eXBlIG9yIGEgbm9uLXJlcGVhdGVkIG1lc3NhZ2UgdHlwZS4KIEluIHRoZSBjYXNlIG9mIGEgcmVwZWF0ZWQgdHlwZSwgdGhlIHBhcmFtZXRlciBjYW4gYmUgcmVwZWF0ZWQgaW4gdGhlIFVSTAogYXMgYC4uLj9wYXJhbT1BJnBhcmFtPUJgLiBJbiB0aGUgY2FzZSBvZiBhIG1lc3NhZ2UgdHlwZSwgZWFjaCBmaWVsZCBvZiB0aGUKIG1lc3NhZ2UgaXMgbWFwcGVkIHRvIGEgc2VwYXJhdGUgcGFyYW1ldGVyLCBzdWNoIGFzCiBgLi4uP2Zvby5hPUEmZm9vLmI9QiZmb28uYz1DYC4KCiBGb3IgSFRUUCBtZXRob2RzIHRoYXQgYWxsb3cgYSByZXF1ZXN0IGJvZHksIHRoZSBgYm9keWAgZmllbGQKIHNwZWNpZmllcyB0aGUgbWFwcGluZy4gQ29uc2lkZXIgYSBSRVNUIHVwZGF0ZSBtZXRob2Qgb24gdGhlCiBtZXNzYWdlIHJlc291cmNlIGNvbGxlY3Rpb246CgogICAgIHNlcnZpY2UgTWVzc2FnaW5nIHsKICAgICAgIHJwYyBVcGRhdGVNZXNzYWdlKFVwZGF0ZU1lc3NhZ2VSZXF1ZXN0KSByZXR1cm5zIChNZXNzYWdlKSB7CiAgICAgICAgIG9wdGlvbiAoZ29vZ2xlLmFwaS5odHRwKSA9IHsKICAgICAgICAgICBwYXRjaDogIi92MS9tZXNzYWdlcy97bWVzc2FnZV9pZH0iCiAgICAgICAgICAgYm9keTogIm1lc3NhZ2UiCiAgICAgICAgIH07CiAgICAgICB9CiAgICAgfQogICAgIG1lc3NhZ2UgVXBkYXRlTWVzc2FnZVJlcXVlc3QgewogICAgICAgc3RyaW5nIG1lc3NhZ2VfaWQgPSAxOyAvLyBtYXBwZWQgdG8gdGhlIFVSTAogICAgICAgTWVzc2FnZSBtZXNzYWdlID0gMjsgICAvLyBtYXBwZWQgdG8gdGhlIGJvZHkKICAgICB9CgogVGhlIGZvbGxvd2luZyBIVFRQIEpTT04gdG8gUlBDIG1hcHBpbmcgaXMgZW5hYmxlZCwgd2hlcmUgdGhlCiByZXByZXNlbnRhdGlvbiBvZiB0aGUgSlNPTiBpbiB0aGUgcmVxdWVzdCBib2R5IGlzIGRldGVybWluZWQgYnkKIHByb3RvcyBKU09OIGVuY29kaW5nOgoKIEhUVFAgfCBnUlBDCiAtLS0tLXwtLS0tLQogYFBBVENIIC92MS9tZXNzYWdlcy8xMjM0NTYgeyAidGV4dCI6ICJIaSEiIH1gIHwgYFVwZGF0ZU1lc3NhZ2UobWVzc2FnZV9pZDoKICIxMjM0NTYiIG1lc3NhZ2UgeyB0ZXh0OiAiSGkhIiB9KWAKCiBUaGUgc3BlY2lhbCBuYW1lIGAqYCBjYW4gYmUgdXNlZCBpbiB0aGUgYm9keSBtYXBwaW5nIHRvIGRlZmluZSB0aGF0CiBldmVyeSBmaWVsZCBub3QgYm91bmQgYnkgdGhlIHBhdGggdGVtcGxhdGUgc2hvdWxkIGJlIG1hcHBlZCB0byB0aGUKIHJlcXVlc3QgYm9keS4gIFRoaXMgZW5hYmxlcyB0aGUgZm9sbG93aW5nIGFsdGVybmF0aXZlIGRlZmluaXRpb24gb2YKIHRoZSB1cGRhdGUgbWV0aG9kOgoKICAgICBzZXJ2aWNlIE1lc3NhZ2luZyB7CiAgICAgICBycGMgVXBkYXRlTWVzc2FnZShNZXNzYWdlKSByZXR1cm5zIChNZXNzYWdlKSB7CiAgICAgICAgIG9wdGlvbiAoZ29vZ2xlLmFwaS5odHRwKSA9IHsKICAgICAgICAgICBwYXRjaDogIi92MS9tZXNzYWdlcy97bWVzc2FnZV9pZH0iCiAgICAgICAgICAgYm9keTogIioiCiAgICAgICAgIH07CiAgICAgICB9CiAgICAgfQogICAgIG1lc3NhZ2UgTWVzc2FnZSB7CiAgICAgICBzdHJpbmcgbWVzc2FnZV9pZCA9IDE7CiAgICAgICBzdHJpbmcgdGV4dCA9IDI7CiAgICAgfQoKCiBUaGUgZm9sbG93aW5nIEhUVFAgSlNPTiB0byBSUEMgbWFwcGluZyBpcyBlbmFibGVkOgoKIEhUVFAgfCBnUlBDCiAtLS0tLXwtLS0tLQogYFBBVENIIC92MS9tZXNzYWdlcy8xMjM0NTYgeyAidGV4dCI6ICJIaSEiIH1gIHwgYFVwZGF0ZU1lc3NhZ2UobWVzc2FnZV9pZDoKICIxMjM0NTYiIHRleHQ6ICJIaSEiKWAKCiBOb3RlIHRoYXQgd2hlbiB1c2luZyBgKmAgaW4gdGhlIGJvZHkgbWFwcGluZywgaXQgaXMgbm90IHBvc3NpYmxlIHRvCiBoYXZlIEhUVFAgcGFyYW1ldGVycywgYXMgYWxsIGZpZWxkcyBub3QgYm91bmQgYnkgdGhlIHBhdGggZW5kIGluCiB0aGUgYm9keS4gVGhpcyBtYWtlcyB0aGlzIG9wdGlvbiBtb3JlIHJhcmVseSB1c2VkIGluIHByYWN0aWNlIHdoZW4KIGRlZmluaW5nIFJFU1QgQVBJcy4gVGhlIGNvbW1vbiB1c2FnZSBvZiBgKmAgaXMgaW4gY3VzdG9tIG1ldGhvZHMKIHdoaWNoIGRvbid0IHVzZSB0aGUgVVJMIGF0IGFsbCBmb3IgdHJhbnNmZXJyaW5nIGRhdGEuCgogSXQgaXMgcG9zc2libGUgdG8gZGVmaW5lIG11bHRpcGxlIEhUVFAgbWV0aG9kcyBmb3Igb25lIFJQQyBieSB1c2luZwogdGhlIGBhZGRpdGlvbmFsX2JpbmRpbmdzYCBvcHRpb24uIEV4YW1wbGU6CgogICAgIHNlcnZpY2UgTWVzc2FnaW5nIHsKICAgICAgIHJwYyBHZXRNZXNzYWdlKEdldE1lc3NhZ2VSZXF1ZXN0KSByZXR1cm5zIChNZXNzYWdlKSB7CiAgICAgICAgIG9wdGlvbiAoZ29vZ2xlLmFwaS5odHRwKSA9IHsKICAgICAgICAgICBnZXQ6ICIvdjEvbWVzc2FnZXMve21lc3NhZ2VfaWR9IgogICAgICAgICAgIGFkZGl0aW9uYWxfYmluZGluZ3MgewogICAgICAgICAgICAgZ2V0OiAiL3YxL3VzZXJzL3t1c2VyX2lkfS9tZXNzYWdlcy97bWVzc2FnZV9pZH0iCiAgICAgICAgICAgfQogICAgICAgICB9OwogICAgICAgfQogICAgIH0KICAgICBtZXNzYWdlIEdldE1lc3NhZ2VSZXF1ZXN0IHsKICAgICAgIHN0cmluZyBtZXNzYWdlX2lkID0gMTsKICAgICAgIHN0cmluZyB1c2VyX2lkID0gMjsKICAgICB9CgogVGhpcyBlbmFibGVzIHRoZSBmb2xsb3dpbmcgdHdvIGFsdGVybmF0aXZlIEhUVFAgSlNPTiB0byBSUEMgbWFwcGluZ3M6CgogSFRUUCB8IGdSUEMKIC0tLS0tfC0tLS0tCiBgR0VUIC92MS9tZXNzYWdlcy8xMjM0NTZgIHwgYEdldE1lc3NhZ2UobWVzc2FnZV9pZDogIjEyMzQ1NiIpYAogYEdFVCAvdjEvdXNlcnMvbWUvbWVzc2FnZXMvMTIzNDU2YCB8IGBHZXRNZXNzYWdlKHVzZXJfaWQ6ICJtZSIgbWVzc2FnZV9pZDoKICIxMjM0NTYiKWAKCiAjIyBSdWxlcyBmb3IgSFRUUCBtYXBwaW5nCgogMS4gTGVhZiByZXF1ZXN0IGZpZWxkcyAocmVjdXJzaXZlIGV4cGFuc2lvbiBuZXN0ZWQgbWVzc2FnZXMgaW4gdGhlIHJlcXVlc3QKICAgIG1lc3NhZ2UpIGFyZSBjbGFzc2lmaWVkIGludG8gdGhyZWUgY2F0ZWdvcmllczoKICAgIC0gRmllbGRzIHJlZmVycmVkIGJ5IHRoZSBwYXRoIHRlbXBsYXRlLiBUaGV5IGFyZSBwYXNzZWQgdmlhIHRoZSBVUkwgcGF0aC4KICAgIC0gRmllbGRzIHJlZmVycmVkIGJ5IHRoZSBbSHR0cFJ1bGUuYm9keV1bZ29vZ2xlLmFwaS5IdHRwUnVsZS5ib2R5XS4gVGhleQogICAgYXJlIHBhc3NlZCB2aWEgdGhlIEhUVFAKICAgICAgcmVxdWVzdCBib2R5LgogICAgLSBBbGwgb3RoZXIgZmllbGRzIGFyZSBwYXNzZWQgdmlhIHRoZSBVUkwgcXVlcnkgcGFyYW1ldGVycywgYW5kIHRoZQogICAgICBwYXJhbWV0ZXIgbmFtZSBpcyB0aGUgZmllbGQgcGF0aCBpbiB0aGUgcmVxdWVzdCBtZXNzYWdlLiBBIHJlcGVhdGVkCiAgICAgIGZpZWxkIGNhbiBiZSByZXByZXNlbnRlZCBhcyBtdWx0aXBsZSBxdWVyeSBwYXJhbWV0ZXJzIHVuZGVyIHRoZSBzYW1lCiAgICAgIG5hbWUuCiAgMi4gSWYgW0h0dHBSdWxlLmJvZHldW2dvb2dsZS5hcGkuSHR0cFJ1bGUuYm9keV0gaXMgIioiLCB0aGVyZSBpcyBubyBVUkwKICBxdWVyeSBwYXJhbWV0ZXIsIGFsbCBmaWVsZHMKICAgICBhcmUgcGFzc2VkIHZpYSBVUkwgcGF0aCBhbmQgSFRUUCByZXF1ZXN0IGJvZHkuCiAgMy4gSWYgW0h0dHBSdWxlLmJvZHldW2dvb2dsZS5hcGkuSHR0cFJ1bGUuYm9keV0gaXMgb21pdHRlZCwgdGhlcmUgaXMgbm8gSFRUUAogIHJlcXVlc3QgYm9keSwgYWxsCiAgICAgZmllbGRzIGFyZSBwYXNzZWQgdmlhIFVSTCBwYXRoIGFuZCBVUkwgcXVlcnkgcGFyYW1ldGVycy4KCiAjIyMgUGF0aCB0ZW1wbGF0ZSBzeW50YXgKCiAgICAgVGVtcGxhdGUgPSAiLyIgU2VnbWVudHMgWyBWZXJiIF0gOwogICAgIFNlZ21lbnRzID0gU2VnbWVudCB7ICIvIiBTZWdtZW50IH0gOwogICAgIFNlZ21lbnQgID0gIioiIHwgIioqIiB8IExJVEVSQUwgfCBWYXJpYWJsZSA7CiAgICAgVmFyaWFibGUgPSAieyIgRmllbGRQYXRoIFsgIj0iIFNlZ21lbnRzIF0gIn0iIDsKICAgICBGaWVsZFBhdGggPSBJREVOVCB7ICIuIiBJREVOVCB9IDsKICAgICBWZXJiICAgICA9ICI6IiBMSVRFUkFMIDsKCiBUaGUgc3ludGF4IGAqYCBtYXRjaGVzIGEgc2luZ2xlIFVSTCBwYXRoIHNlZ21lbnQuIFRoZSBzeW50YXggYCoqYCBtYXRjaGVzCiB6ZXJvIG9yIG1vcmUgVVJMIHBhdGggc2VnbWVudHMsIHdoaWNoIG11c3QgYmUgdGhlIGxhc3QgcGFydCBvZiB0aGUgVVJMIHBhdGgKIGV4Y2VwdCB0aGUgYFZlcmJgLgoKIFRoZSBzeW50YXggYFZhcmlhYmxlYCBtYXRjaGVzIHBhcnQgb2YgdGhlIFVSTCBwYXRoIGFzIHNwZWNpZmllZCBieSBpdHMKIHRlbXBsYXRlLiBBIHZhcmlhYmxlIHRlbXBsYXRlIG11c3Qgbm90IGNvbnRhaW4gb3RoZXIgdmFyaWFibGVzLiBJZiBhIHZhcmlhYmxlCiBtYXRjaGVzIGEgc2luZ2xlIHBhdGggc2VnbWVudCwgaXRzIHRlbXBsYXRlIG1heSBiZSBvbWl0dGVkLCBlLmcuIGB7dmFyfWAKIGlzIGVxdWl2YWxlbnQgdG8gYHt2YXI9Kn1gLgoKIFRoZSBzeW50YXggYExJVEVSQUxgIG1hdGNoZXMgbGl0ZXJhbCB0ZXh0IGluIHRoZSBVUkwgcGF0aC4gSWYgdGhlIGBMSVRFUkFMYAogY29udGFpbnMgYW55IHJlc2VydmVkIGNoYXJhY3Rlciwgc3VjaCBjaGFyYWN0ZXJzIHNob3VsZCBiZSBwZXJjZW50LWVuY29kZWQKIGJlZm9yZSB0aGUgbWF0Y2hpbmcuCgogSWYgYSB2YXJpYWJsZSBjb250YWlucyBleGFjdGx5IG9uZSBwYXRoIHNlZ21lbnQsIHN1Y2ggYXMgYCJ7dmFyfSJgIG9yCiBgInt2YXI9Kn0iYCwgd2hlbiBzdWNoIGEgdmFyaWFibGUgaXMgZXhwYW5kZWQgaW50byBhIFVSTCBwYXRoIG9uIHRoZSBjbGllbnQKIHNpZGUsIGFsbCBjaGFyYWN0ZXJzIGV4Y2VwdCBgWy1fLn4wLTlhLXpBLVpdYCBhcmUgcGVyY2VudC1lbmNvZGVkLiBUaGUKIHNlcnZlciBzaWRlIGRvZXMgdGhlIHJldmVyc2UgZGVjb2RpbmcuIFN1Y2ggdmFyaWFibGVzIHNob3cgdXAgaW4gdGhlCiBbRGlzY292ZXJ5CiBEb2N1bWVudF0oaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vZGlzY292ZXJ5L3YxL3JlZmVyZW5jZS9hcGlzKSBhcwogYHt2YXJ9YC4KCiBJZiBhIHZhcmlhYmxlIGNvbnRhaW5zIG11bHRpcGxlIHBhdGggc2VnbWVudHMsIHN1Y2ggYXMgYCJ7dmFyPWZvby8qfSJgCiBvciBgInt2YXI9Kip9ImAsIHdoZW4gc3VjaCBhIHZhcmlhYmxlIGlzIGV4cGFuZGVkIGludG8gYSBVUkwgcGF0aCBvbiB0aGUKIGNsaWVudCBzaWRlLCBhbGwgY2hhcmFjdGVycyBleGNlcHQgYFstXy5+LzAtOWEtekEtWl1gIGFyZSBwZXJjZW50LWVuY29kZWQuCiBUaGUgc2VydmVyIHNpZGUgZG9lcyB0aGUgcmV2ZXJzZSBkZWNvZGluZywgZXhjZXB0ICIlMkYiIGFuZCAiJTJmIiBhcmUgbGVmdAogdW5jaGFuZ2VkLiBTdWNoIHZhcmlhYmxlcyBzaG93IHVwIGluIHRoZQogW0Rpc2NvdmVyeQogRG9jdW1lbnRdKGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL2Rpc2NvdmVyeS92MS9yZWZlcmVuY2UvYXBpcykgYXMKIGB7K3Zhcn1gLgoKICMjIFVzaW5nIGdSUEMgQVBJIFNlcnZpY2UgQ29uZmlndXJhdGlvbgoKIGdSUEMgQVBJIFNlcnZpY2UgQ29uZmlndXJhdGlvbiAoc2VydmljZSBjb25maWcpIGlzIGEgY29uZmlndXJhdGlvbiBsYW5ndWFnZQogZm9yIGNvbmZpZ3VyaW5nIGEgZ1JQQyBzZXJ2aWNlIHRvIGJlY29tZSBhIHVzZXItZmFjaW5nIHByb2R1Y3QuIFRoZQogc2VydmljZSBjb25maWcgaXMgc2ltcGx5IHRoZSBZQU1MIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBgZ29vZ2xlLmFwaS5TZXJ2aWNlYAogcHJvdG8gbWVzc2FnZS4KCiBBcyBhbiBhbHRlcm5hdGl2ZSB0byBhbm5vdGF0aW5nIHlvdXIgcHJvdG8gZmlsZSwgeW91IGNhbiBjb25maWd1cmUgZ1JQQwogdHJhbnNjb2RpbmcgaW4geW91ciBzZXJ2aWNlIGNvbmZpZyBZQU1MIGZpbGVzLiBZb3UgZG8gdGhpcyBieSBzcGVjaWZ5aW5nIGEKIGBIdHRwUnVsZWAgdGhhdCBtYXBzIHRoZSBnUlBDIG1ldGhvZCB0byBhIFJFU1QgZW5kcG9pbnQsIGFjaGlldmluZyB0aGUgc2FtZQogZWZmZWN0IGFzIHRoZSBwcm90byBhbm5vdGF0aW9uLiBUaGlzIGNhbiBiZSBwYXJ0aWN1bGFybHkgdXNlZnVsIGlmIHlvdQogaGF2ZSBhIHByb3RvIHRoYXQgaXMgcmV1c2VkIGluIG11bHRpcGxlIHNlcnZpY2VzLiBOb3RlIHRoYXQgYW55IHRyYW5zY29kaW5nCiBzcGVjaWZpZWQgaW4gdGhlIHNlcnZpY2UgY29uZmlnIHdpbGwgb3ZlcnJpZGUgYW55IG1hdGNoaW5nIHRyYW5zY29kaW5nCiBjb25maWd1cmF0aW9uIGluIHRoZSBwcm90by4KCiBFeGFtcGxlOgoKICAgICBodHRwOgogICAgICAgcnVsZXM6CiAgICAgICAgICMgU2VsZWN0cyBhIGdSUEMgbWV0aG9kIGFuZCBhcHBsaWVzIEh0dHBSdWxlIHRvIGl0LgogICAgICAgICAtIHNlbGVjdG9yOiBleGFtcGxlLnYxLk1lc3NhZ2luZy5HZXRNZXNzYWdlCiAgICAgICAgICAgZ2V0OiAvdjEvbWVzc2FnZXMve21lc3NhZ2VfaWR9L3tzdWIuc3ViZmllbGR9CgogIyMgU3BlY2lhbCBub3RlcwoKIFdoZW4gZ1JQQyBUcmFuc2NvZGluZyBpcyB1c2VkIHRvIG1hcCBhIGdSUEMgdG8gSlNPTiBSRVNUIGVuZHBvaW50cywgdGhlCiBwcm90byB0byBKU09OIGNvbnZlcnNpb24gbXVzdCBmb2xsb3cgdGhlIFtwcm90bzMKIHNwZWNpZmljYXRpb25dKGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvZG9jcy9wcm90bzMjanNvbikuCgogV2hpbGUgdGhlIHNpbmdsZSBzZWdtZW50IHZhcmlhYmxlIGZvbGxvd3MgdGhlIHNlbWFudGljcyBvZgogW1JGQyA2NTcwXShodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNjU3MCkgU2VjdGlvbiAzLjIuMiBTaW1wbGUgU3RyaW5nCiBFeHBhbnNpb24sIHRoZSBtdWx0aSBzZWdtZW50IHZhcmlhYmxlICoqZG9lcyBub3QqKiBmb2xsb3cgUkZDIDY1NzAgU2VjdGlvbgogMy4yLjMgUmVzZXJ2ZWQgRXhwYW5zaW9uLiBUaGUgcmVhc29uIGlzIHRoYXQgdGhlIFJlc2VydmVkIEV4cGFuc2lvbgogZG9lcyBub3QgZXhwYW5kIHNwZWNpYWwgY2hhcmFjdGVycyBsaWtlIGA/YCBhbmQgYCNgLCB3aGljaCB3b3VsZCBsZWFkCiB0byBpbnZhbGlkIFVSTHMuIEFzIHRoZSByZXN1bHQsIGdSUEMgVHJhbnNjb2RpbmcgdXNlcyBhIGN1c3RvbSBlbmNvZGluZwogZm9yIG11bHRpIHNlZ21lbnQgdmFyaWFibGVzLgoKIFRoZSBwYXRoIHZhcmlhYmxlcyAqKm11c3Qgbm90KiogcmVmZXIgdG8gYW55IHJlcGVhdGVkIG9yIG1hcHBlZCBmaWVsZCwKIGJlY2F1c2UgY2xpZW50IGxpYnJhcmllcyBhcmUgbm90IGNhcGFibGUgb2YgaGFuZGxpbmcgc3VjaCB2YXJpYWJsZSBleHBhbnNpb24uCgogVGhlIHBhdGggdmFyaWFibGVzICoqbXVzdCBub3QqKiBjYXB0dXJlIHRoZSBsZWFkaW5nICIvIiBjaGFyYWN0ZXIuIFRoZSByZWFzb24KIGlzIHRoYXQgdGhlIG1vc3QgY29tbW9uIHVzZSBjYXNlICJ7dmFyfSIgZG9lcyBub3QgY2FwdHVyZSB0aGUgbGVhZGluZyAiLyIKIGNoYXJhY3Rlci4gRm9yIGNvbnNpc3RlbmN5LCBhbGwgcGF0aCB2YXJpYWJsZXMgbXVzdCBzaGFyZSB0aGUgc2FtZSBiZWhhdmlvci4KCiBSZXBlYXRlZCBtZXNzYWdlIGZpZWxkcyBtdXN0IG5vdCBiZSBtYXBwZWQgdG8gVVJMIHF1ZXJ5IHBhcmFtZXRlcnMsIGJlY2F1c2UKIG5vIGNsaWVudCBsaWJyYXJ5IGNhbiBzdXBwb3J0IHN1Y2ggY29tcGxpY2F0ZWQgbWFwcGluZy4KCiBJZiBhbiBBUEkgbmVlZHMgdG8gdXNlIGEgSlNPTiBhcnJheSBmb3IgcmVxdWVzdCBvciByZXNwb25zZSBib2R5LCBpdCBjYW4gbWFwCiB0aGUgcmVxdWVzdCBvciByZXNwb25zZSBib2R5IHRvIGEgcmVwZWF0ZWQgZmllbGQuIEhvd2V2ZXIsIHNvbWUgZ1JQQwogVHJhbnNjb2RpbmcgaW1wbGVtZW50YXRpb25zIG1heSBub3Qgc3VwcG9ydCB0aGlzIGZlYXR1cmUuCgoLCgMEAQESBLwCCBAKjwEKBAQBAgASBMECAhYagAEgU2VsZWN0cyBhIG1ldGhvZCB0byB3aGljaCB0aGlzIHJ1bGUgYXBwbGllcy4KCiBSZWZlciB0byBbc2VsZWN0b3JdW2dvb2dsZS5hcGkuRG9jdW1lbnRhdGlvblJ1bGUuc2VsZWN0b3JdIGZvciBzeW50YXgKIGRldGFpbHMuCgoPCgUEAQIABBIGwQICvAISCg0KBQQBAgAFEgTBAgIICg0KBQQBAgABEgTBAgkRCg0KBQQBAgADEgTBAhQVCtABCgQEAQgAEgbGAgLcAgMavwEgRGV0ZXJtaW5lcyB0aGUgVVJMIHBhdHRlcm4gaXMgbWF0Y2hlZCBieSB0aGlzIHJ1bGVzLiBUaGlzIHBhdHRlcm4gY2FuIGJlCiB1c2VkIHdpdGggYW55IG9mIHRoZSB7Z2V0fHB1dHxwb3N0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cm90b2J1Zi5EZXNjcmlwdG9yUHJvdG9SC21lc3NhZ2VUeXBlEkEKCWVudW1fdHlwZRgFIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5FbnVtRGVzY3JpcHRvclByb3RvUghlbnVtVHlwZRJBCgdzZXJ2aWNlGAYgAygLMicuZ29vZ2xlLnByb3RvYnVmLlNlcnZpY2VEZXNjcmlwdG9yUHJvdG9SB3NlcnZpY2USQwoJZXh0ZW5zaW9uGAcgAygLMiUuZ29vZ2xlLnByb3RvYnVmLkZpZWxkRGVzY3JpcHRvclByb3RvUglleHRlbnNpb24SNgoHb3B0aW9ucxgIIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5GaWxlT3B0aW9uc1IHb3B0aW9ucxJJChBzb3VyY2VfY29kZV9pbmZvGAkgASgLMh8uZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvZGVJbmZvUg5zb3VyY2VDb2RlSW5mbxIWCgZzeW50YXgYDCABKAlSBnN5bnRheCK5BgoPRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSOwoFZmllbGQYAiADKAsyJS5nb29nbGUucHJvdG9idWYuRmllbGREZXNjcmlwdG9yUHJvdG9SBWZpZWxkEkMKCWV4dGVuc2lvbhgGIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90b1IJZXh0ZW5zaW9uEkEKC25lc3RlZF90eXBlGAMgAygLMiAuZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90b1IKbmVzdGVkVHlwZRJBCgllbnVtX3R5cGUYBCADKAsyJC5nb29nbGUucHJvdG9idWYuRW51bURlc2NyaXB0b3JQcm90b1IIZW51bVR5cGUSWAoPZXh0ZW5zaW9uX3JhbmdlGAUgAygLMi8uZ29vZ2xlLnByb3RvYnVmLkRlc2NyaXB0b3JQcm90by5FeHRlbnNpb25SYW5nZVIOZXh0ZW5zaW9uUmFuZ2USRAoKb25lb2ZfZGVjbBgIIAMoCzIlLmdvb2dsZS5wcm90b2J1Zi5PbmVvZkRlc2NyaXB0b3JQcm90b1IJb25lb2ZEZWNsEjkKB29wdGlvbnMYByABKAsyHy5nb29nbGUucHJvdG9idWYuTWVzc2FnZU9wdGlvbnNSB29wdGlvbnMSVQoOcmVzZXJ2ZWRfcmFuZ2UYCSADKAsyLi5nb29nbGUucHJvdG9idWYuRGVzY3JpcHRvclByb3RvLlJlc2VydmVkUmFuZ2VSDXJlc2VydmVkUmFuZ2USIwoNcmVzZXJ2ZWRfbmFtZRgKIAMoCVIMcmVzZXJ2ZWROYW1lGnoKDkV4dGVuc2lvblJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZBJACgdvcHRpb25zGAMgASgLMiYuZ29vZ2xlLnByb3RvYnVmLkV4dGVuc2lvblJhbmdlT3B0aW9uc1IHb3B0aW9ucxo3Cg1SZXNlcnZlZFJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZCJ8ChVFeHRlbnNpb25SYW5nZU9wdGlvbnMSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAiKYBgoURmllbGREZXNjcmlwdG9yUHJvdG8SEgoEbmFtZRgBIAEoCVIEbmFtZRIWCgZudW1iZXIYAyABKAVSBm51bWJlchJBCgVsYWJlbBgEIAEoDjIrLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5MYWJlbFIFbGFiZWwSPgoEdHlwZRgFIAEoDjIqLmdvb2dsZS5wcm90b2J1Zi5GaWVsZERlc2NyaXB0b3JQcm90by5UeXBlUgR0eXBlEhsKCXR5cGVfbmFtZRgGIAEoCVIIdHlwZU5hbWUSGgoIZXh0ZW5kZWUYAiABKAlSCGV4dGVuZGVlEiMKDWRlZmF1bHRfdmFsdWUYByABKAlSDGRlZmF1bHRWYWx1ZRIfCgtvbmVvZl9pbmRleBgJIAEoBVIKb25lb2ZJbmRleBIbCglqc29uX25hbWUYCiABKAlSCGpzb25OYW1lEjcKB29wdGlvbnMYCCABKAsyHS5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zUgdvcHRpb25zIrYCCgRUeXBlEg8KC1RZUEVfRE9VQkxFEAESDgoKVFlQRV9GTE9BVBACEg4KClRZUEVfSU5UNjQQAxIPCgtUWVBFX1VJTlQ2NBAEEg4KClRZUEVfSU5UMzIQBRIQCgxUWVBFX0ZJWEVENjQQBhIQCgxUWVBFX0ZJWEVEMzIQBxINCglUWVBFX0JPT0wQCBIPCgtUWVBFX1NUUklORxAJEg4KClRZUEVfR1JPVVAQChIQCgxUWVBFX01FU1NBR0UQCxIOCgpUWVBFX0JZVEVTEAwSDwoLVFlQRV9VSU5UMzIQDRINCglUWVBFX0VOVU0QDhIRCg1UWVBFX1NGSVhFRDMyEA8SEQoNVFlQRV9TRklYRUQ2NBAQEg8KC1RZUEVfU0lOVDMyEBESDwoLVFlQRV9TSU5UNjQQEiJDCgVMYWJlbBISCg5MQUJFTF9PUFRJT05BTBABEhIKDkxBQkVMX1JFUVVJUkVEEAISEgoOTEFCRUxfUkVQRUFURUQQAyJjChRPbmVvZkRlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEjcKB29wdGlvbnMYAiABKAsyHS5nb29nbGUucHJvdG9idWYuT25lb2ZPcHRpb25zUgdvcHRpb25zIuMCChNFbnVtRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSPwoFdmFsdWUYAiADKAsyKS5nb29nbGUucHJvdG9idWYuRW51bVZhbHVlRGVzY3JpcHRvclByb3RvUgV2YWx1ZRI2CgdvcHRpb25zGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLkVudW1PcHRpb25zUgdvcHRpb25zEl0KDnJlc2VydmVkX3JhbmdlGAQgAygLMjYuZ29vZ2xlLnByb3RvYnVmLkVudW1EZXNjcmlwdG9yUHJvdG8uRW51bVJlc2VydmVkUmFuZ2VSDXJlc2VydmVkUmFuZ2USIwoNcmVzZXJ2ZWRfbmFtZRgFIAMoCVIMcmVzZXJ2ZWROYW1lGjsKEUVudW1SZXNlcnZlZFJhbmdlEhQKBXN0YXJ0GAEgASgFUgVzdGFydBIQCgNlbmQYAiABKAVSA2VuZCKDAQoYRW51bVZhbHVlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSFgoGbnVtYmVyGAIgASgFUgZudW1iZXISOwoHb3B0aW9ucxgDIAEoCzIhLmdvb2dsZS5wcm90b2J1Zi5FbnVtVmFsdWVPcHRpb25zUgdvcHRpb25zIqcBChZTZXJ2aWNlRGVzY3JpcHRvclByb3RvEhIKBG5hbWUYASABKAlSBG5hbWUSPgoGbWV0aG9kGAIgAygLMiYuZ29vZ2xlLnByb3RvYnVmLk1ldGhvZERlc2NyaXB0b3JQcm90b1IGbWV0aG9kEjkKB29wdGlvbnMYAyABKAsyHy5nb29nbGUucHJvdG9idWYuU2VydmljZU9wdGlvbnNSB29wdGlvbnMiiQIKFU1ldGhvZERlc2NyaXB0b3JQcm90bxISCgRuYW1lGAEgASgJUgRuYW1lEh0KCmlucHV0X3R5cGUYAiABKAlSCWlucHV0VHlwZRIfCgtvdXRwdXRfdHlwZRgDIAEoCVIKb3V0cHV0VHlwZRI4CgdvcHRpb25zGAQgASgLMh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnNSB29wdGlvbnMSMAoQY2xpZW50X3N0cmVhbWluZxgFIAEoCDoFZmFsc2VSD2NsaWVudFN0cmVhbWluZxIwChBzZXJ2ZXJfc3RyZWFtaW5nGAYgASgIOgVmYWxzZVIPc2VydmVyU3RyZWFtaW5nIpIJCgtGaWxlT3B0aW9ucxIhCgxqYXZhX3BhY2thZ2UYASABKAlSC2phdmFQYWNrYWdlEjAKFGphdmFfb3V0ZXJfY2xhc3NuYW1lGAggASgJUhJqYXZhT3V0ZXJDbGFzc25hbWUSNQoTamF2YV9tdWx0aXBsZV9maWxlcxgKIAEoCDoFZmFsc2VSEWphdmFNdWx0aXBsZUZpbGVzEkQKHWphdmFfZ2VuZXJhdGVfZXF1YWxzX2FuZF9oYXNoGBQgASgIQgIYAVIZamF2YUdlbmVyYXRlRXF1YWxzQW5kSGFzaBI6ChZqYXZhX3N0cmluZ19jaGVja191dGY4GBsgASgIOgVmYWxzZVITamF2YVN0cmluZ0NoZWNrVXRmOBJTCgxvcHRpbWl6ZV9mb3IYCSABKA4yKS5nb29nbGUucHJvdG9idWYuRmlsZU9wdGlvbnMuT3B0aW1pemVNb2RlOgVTUEVFRFILb3B0aW1pemVGb3ISHQoKZ29fcGFja2FnZRgLIAEoCVIJZ29QYWNrYWdlEjUKE2NjX2dlbmVyaWNfc2VydmljZXMYECABKAg6BWZhbHNlUhFjY0dlbmVyaWNTZXJ2aWNlcxI5ChVqYXZhX2dlbmVyaWNfc2VydmljZXMYESABKAg6BWZhbHNlUhNqYXZhR2VuZXJpY1NlcnZpY2VzEjUKE3B5X2dlbmVyaWNfc2VydmljZXMYEiABKAg6BWZhbHNlUhFweUdlbmVyaWNTZXJ2aWNlcxI3ChRwaHBfZ2VuZXJpY19zZXJ2aWNlcxgqIAEoCDoFZmFsc2VSEnBocEdlbmVyaWNTZXJ2aWNlcxIlCgpkZXByZWNhdGVkGBcgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBIvChBjY19lbmFibGVfYXJlbmFzGB8gASgIOgVmYWxzZVIOY2NFbmFibGVBcmVuYXMSKgoRb2JqY19jbGFzc19wcmVmaXgYJCABKAlSD29iamNDbGFzc1ByZWZpeBIpChBjc2hhcnBfbmFtZXNwYWNlGCUgASgJUg9jc2hhcnBOYW1lc3BhY2USIQoMc3dpZnRfcHJlZml4GCcgASgJUgtzd2lmdFByZWZpeBIoChBwaHBfY2xhc3NfcHJlZml4GCggASgJUg5waHBDbGFzc1ByZWZpeBIjCg1waHBfbmFtZXNwYWNlGCkgASgJUgxwaHBOYW1lc3BhY2USNAoWcGhwX21ldGFkYXRhX25hbWVzcGFjZRgsIAEoCVIUcGhwTWV0YWRhdGFOYW1lc3BhY2USIQoMcnVieV9wYWNrYWdlGC0gASgJUgtydWJ5UGFja2FnZRJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbiI6CgxPcHRpbWl6ZU1vZGUSCQoFU1BFRUQQARINCglDT0RFX1NJWkUQAhIQCgxMSVRFX1JVTlRJTUUQAyoJCOgHEICAgIACSgQIJhAnItECCg5NZXNzYWdlT3B0aW9ucxI8ChdtZXNzYWdlX3NldF93aXJlX2Zvcm1hdBgBIAEoCDoFZmFsc2VSFG1lc3NhZ2VTZXRXaXJlRm9ybWF0EkwKH25vX3N0YW5kYXJkX2Rlc2NyaXB0b3JfYWNjZXNzb3IYAiABKAg6BWZhbHNlUhxub1N0YW5kYXJkRGVzY3JpcHRvckFjY2Vzc29yEiUKCmRlcHJlY2F0ZWQYAyABKAg6BWZhbHNlUgpkZXByZWNhdGVkEhsKCW1hcF9lbnRyeRgHIAEoCFIIbWFwRW50cnkSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24qCQjoBxCAgICAAkoECAgQCUoECAkQCiLiAwoMRmllbGRPcHRpb25zEkEKBWN0eXBlGAEgASgOMiMuZ29vZ2xlLnByb3RvYnVmLkZpZWxkT3B0aW9ucy5DVHlwZToGU1RSSU5HUgVjdHlwZRIWCgZwYWNrZWQYAiABKAhSBnBhY2tlZBJHCgZqc3R5cGUYBiABKA4yJC5nb29nbGUucHJvdG9idWYuRmllbGRPcHRpb25zLkpTVHlwZToJSlNfTk9STUFMUgZqc3R5cGUSGQoEbGF6eRgFIAEoCDoFZmFsc2VSBGxhenkSJQoKZGVwcmVjYXRlZBgDIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQSGQoEd2VhaxgKIAEoCDoFZmFsc2VSBHdlYWsSWAoUdW5pbnRlcnByZXRlZF9vcHRpb24Y5wcgAygLMiQuZ29vZ2xlLnByb3RvYnVmLlVuaW50ZXJwcmV0ZWRPcHRpb25SE3VuaW50ZXJwcmV0ZWRPcHRpb24iLwoFQ1R5cGUSCgoGU1RSSU5HEAASCAoEQ09SRBABEhAKDFNUUklOR19QSUVDRRACIjUKBkpTVHlwZRINCglKU19OT1JNQUwQABINCglKU19TVFJJTkcQARINCglKU19OVU1CRVIQAioJCOgHEICAgIACSgQIBBAFInMKDE9uZW9mT3B0aW9ucxJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACIsABCgtFbnVtT3B0aW9ucxIfCgthbGxvd19hbGlhcxgCIAEoCFIKYWxsb3dBbGlhcxIlCgpkZXByZWNhdGVkGAMgASgIOgVmYWxzZVIKZGVwcmVjYXRlZBJYChR1bmludGVycHJldGVkX29wdGlvbhjnByADKAsyJC5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvblITdW5pbnRlcnByZXRlZE9wdGlvbioJCOgHEICAgIACSgQIBRAGIp4BChBFbnVtVmFsdWVPcHRpb25zEiUKCmRlcHJlY2F0ZWQYASABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIinAEKDlNlcnZpY2VPcHRpb25zEiUKCmRlcHJlY2F0ZWQYISABKAg6BWZhbHNlUgpkZXByZWNhdGVkElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uKgkI6AcQgICAgAIi4AIKDU1ldGhvZE9wdGlvbnMSJQoKZGVwcmVjYXRlZBghIAEoCDoFZmFsc2VSCmRlcHJlY2F0ZWQScQoRaWRlbXBvdGVuY3lfbGV2ZWwYIiABKA4yLy5nb29nbGUucHJvdG9idWYuTWV0aG9kT3B0aW9ucy5JZGVtcG90ZW5jeUxldmVsOhNJREVNUE9URU5DWV9VTktOT1dOUhBpZGVtcG90ZW5jeUxldmVsElgKFHVuaW50ZXJwcmV0ZWRfb3B0aW9uGOcHIAMoCzIkLmdvb2dsZS5wcm90b2J1Zi5VbmludGVycHJldGVkT3B0aW9uUhN1bmludGVycHJldGVkT3B0aW9uIlAKEElkZW1wb3RlbmN5TGV2ZWwSFwoTSURFTVBPVEVOQ1lfVU5LTk9XThAAEhMKD05PX1NJREVfRUZGRUNUUxABEg4KCklERU1QT1RFTlQQAioJCOgHEICAgIACIpoDChNVbmludGVycHJldGVkT3B0aW9uEkEKBG5hbWUYAiADKAsyLS5nb29nbGUucHJvdG9idWYuVW5pbnRlcnByZXRlZE9wdGlvbi5OYW1lUGFydFIEbmFtZRIpChBpZGVudGlmaWVyX3ZhbHVlGAMgASgJUg9pZGVudGlmaWVyVmFsdWUSLAoScG9zaXRpdmVfaW50X3ZhbHVlGAQgASgEUhBwb3NpdGl2ZUludFZhbHVlEiwKEm5lZ2F0aXZlX2ludF92YWx1ZRgFIAEoA1IQbmVnYXRpdmVJbnRWYWx1ZRIhCgxkb3VibGVfdmFsdWUYBiABKAFSC2RvdWJsZVZhbHVlEiEKDHN0cmluZ192YWx1ZRgHIAEoDFILc3RyaW5nVmFsdWUSJwoPYWdncmVnYXRlX3ZhbHVlGAggASgJUg5hZ2dyZWdhdGVWYWx1ZRpKCghOYW1lUGFydBIbCgluYW1lX3BhcnQYASACKAlSCG5hbWVQYXJ0EiEKDGlzX2V4dGVuc2lvbhgCIAIoCFILaXNFeHRlbnNpb24ipwIKDlNvdXJjZUNvZGVJbmZvEkQKCGxvY2F0aW9uGAEgAygLMiguZ29vZ2xlLnByb3RvYnVmLlNvdXJjZUNvZGVJbmZvLkxvY2F0aW9uUghsb2NhdGlvbhrOAQoITG9jYXRpb24SFgoEcGF0aBgBIAMoBUICEAFSBHBhdGgSFgoEc3BhbhgCIAMoBUICEAFSBHNwYW4SKQoQbGVhZGluZ19jb21tZW50cxgDIAEoCVIPbGVhZGluZ0NvbW1lbnRzEisKEXRyYWlsaW5nX2NvbW1lbnRzGAQgASgJUhB0cmFpbGluZ0NvbW1lbnRzEjoKGWxlYWRpbmdfZGV0YWNoZWRfY29tbWVudHMYBiADKAlSF2xlYWRpbmdEZXRhY2hlZENvbW1lbnRzItEBChFHZW5lcmF0ZWRDb2RlSW5mbxJNCgphbm5vdGF0aW9uGAEgAygLMi0uZ29vZ2xlLnByb3RvYnVmLkdlbmVyYXRlZENvZGVJbmZvLkFubm90YXRpb25SCmFubm90YXRpb24abQoKQW5ub3RhdGlvbhIWCgRwYXRoGAEgAygFQgIQAVIEcGF0aBIfCgtzb3VyY2VfZmlsZRgCIAEoCVIKc291cmNlRmlsZRIUCgViZWdpbhgDIAEoBVIFYmVnaW4SEAoDZW5kGAQgASgFUgNlbmRCjwEKE2NvbS5nb29nbGUucHJvdG9idWZCEERlc2NyaXB0b3JQcm90b3NIAVo+Z2l0aHViLmNvbS9nb2xhbmcvcHJvdG9idWYvcHJvdG9jLWdlbi1nby9kZXNjcmlwdG9yO2Rlc2NyaXB0b3L4AQGiAgNHUEKqAhpHb29nbGUuUHJvdG9idWYuUmVmbGVjdGlvbkqsvgIKBxIFJwDyBgEKqg8KAQwSAycAEjLBDCBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KMtsCIEF1dGhvcjoga2VudG9uQGdvb2dsZS5jb20gKEtlbnRvbiBWYXJkYSkKICBCYXNlZCBvbiBvcmlnaW5hbCBQcm90b2NvbCBCdWZmZXJzIGRlc2lnbiBieQogIFNhbmpheSBHaGVtYXdhdCwgSmVmZiBEZWFuLCBhbmQgb3RoZXJzLgoKIFRoZSBtZXNz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b250YWluIGhpbnRzIGZvciBjb2RlIHRoYXQgbWFuaXB1bGF0ZXMgcHJvdG9jb2wgbWVzc2FnZXMuCgogQ2xpZW50cyBtYXkgZGVmaW5lIGN1c3RvbSBvcHRpb25zIGFzIGV4dGVuc2lvbnMgb2YgdGhlICpPcHRpb25zIG1lc3NhZ2VzLgogVGhlc2UgZXh0ZW5zaW9ucyBtYXkgbm90IHlldCBiZSBrbm93biBhdCBwYXJzaW5nIHRpbWUsIHNvIHRoZSBwYXJzZXIgY2Fubm90CiBzdG9yZSB0aGUgdmFsdWVzIGluIHRoZW0uICBJbnN0ZWFkIGl0IHN0b3JlcyB0aGVtIGluIGEgZmllbGQgaW4gdGhlICpPcHRpb25zCiBtZXNzYWdlIGNhbGxlZCB1bmludGVycHJldGVkX29wdGlvbi4gVGhpcyBmaWVsZCBtdXN0IGhhdmUgdGhlIHNhbWUgbmFtZQogYWNyb3NzIGFsbCAqT3B0aW9ucyBtZXNzYWdlcy4gV2UgdGhlbiB1c2UgdGhpcyBmaWVsZCB0byBwb3B1bGF0ZSB0aGUKIGV4dGVuc2lvbnMgd2hlbiB3ZSBidWlsZCBhIGRlc2NyaXB0b3IsIGF0IHdoaWNoIHBvaW50IGFsbCBwcm90b3MgaGF2ZSBiZWVuCiBwYXJzZWQgYW5kIHNvIGFsbCBleHRlbnNpb25zIGFyZSBrbm93bi4KCiBFeHRlbnNpb24gbnVtYmVycyBmb3IgY3VzdG9tIG9wdGlvbnMgbWF5IGJlIGNob3NlbiBhcyBmb2xsb3dzOgogKiBGb3Igb3B0aW9ucyB3aGljaCB3aWxsIG9ubHkgYmUgdXNlZCB3aXRoaW4gYSBzaW5nbGUgYXBwbGljYXRpb24gb3IKICAgb3JnYW5pemF0aW9uLCBvciBmb3IgZXhwZXJpbWVudGFsIG9wdGlvbnMsIHVzZSBmaWVsZCBudW1iZXJzIDUwMDAwCiAgIHRocm91Z2ggOTk5OTkuICBJdCBpcyB1cCB0byB5b3UgdG8gZW5zdXJlIHRoYXQgeW91IGRvIG5vdCB1c2UgdGhlCiAgIHNhbWUgbnVtYmVyIGZvciBtdWx0aXBsZSBvcHRpb25zLgogKiBGb3Igb3B0aW9ucyB3aGljaCB3aWxsIGJlIHB1Ymxpc2hlZCBhbmQgdXNlZCBwdWJsaWNseSBieSBtdWx0aXBsZQogICBpbmRlcGVuZGVudCBlbnRpdGllcywgZS1tYWlsIHByb3RvYnVmLWdsb2JhbC1leHRlbnNpb24tcmVnaXN0cnlAZ29vZ2xlLmNvbQogICB0byByZXNlcnZlIGV4dGVuc2lvbiBudW1iZXJzLiBTaW1wbHkgcHJvdmlkZSB5b3VyIHByb2plY3QgbmFtZSAoZS5nLgogICBPYmplY3RpdmUtQyBwbHVnaW4pIGFuZCB5b3VyIHByb2plY3Qgd2Vic2l0ZSAoaWYgYXZhaWxhYmxlKSAtLSB0aGVyZSdzIG5vCiAgIG5lZWQgdG8gZXhwbGFpbiBob3cgeW91IGludGVuZCB0byB1c2UgdGhlbS4gVXN1YWxseSB5b3Ugb25seSBuZWVkIG9uZQogICBleHRlbnNpb24gbnVtYmVyLiBZb3UgY2FuIGRlY2xhcmUgbXVsdGlwbGUgb3B0aW9ucyB3aXRoIG9ubHkgb25lIGV4dGVuc2lvbgogICBudW1iZXIgYnkgcHV0dGluZyB0aGVtIGluIGEgc3ViLW1lc3NhZ2UuIFNlZSB0aGUgQ3VzdG9tIE9wdGlvbnMgc2VjdGlvbiBvZgogICB0aGUgZG9jcyBmb3IgZXhhbXBsZXM6CiAgIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvZG9jcy9wcm90byNvcHRpb25zCiAgIElmIHRoaXMgdHVybnMgb3V0IHRvIGJlIHBvcHVsYXIsIGEgd2ViIHNlcnZpY2Ugd2lsbCBiZSBzZXQgdXAKICAgdG8gYXV0b21hdGljYWxseSBhc3NpZ24gb3B0aW9uIG51bWJlcnMuCgoLCgMECgESBL0CCBMK9AEKBAQKAgASBMMCAiMa5QEgU2V0cyB0aGUgSmF2YSBwYWNrYWdlIHdoZXJlIGNsYXNzZXMgZ2VuZXJhdGVkIGZyb20gdGhpcyAucHJvdG8gd2lsbCBiZQogcGxhY2VkLiAgQnkgZGVmYXVsdCwgdGhlIHByb3RvIHBhY2thZ2UgaXMgdXNlZCwgYnV0IHRoaXMgaXMgb2Z0ZW4KIGluYXBwcm9wcmlhdGUgYmVjYXVzZSBwcm90byBwYWNrYWdlcyBkbyBub3Qgbm9ybWFsbHkgc3RhcnQgd2l0aCBiYWNrd2FyZHMKIGRvbWFpbiBuYW1lcy4KCg0KBQQKAgAEEgTDAgIKCg0KBQQKAgAFEgTDAgsRCg0KBQQKAgABEgTDAhIeCg0KBQQKAgADEgTDAiEiCr8CCgQECgIBEgTLAgIrGrACIElmIHNldCwgYWxsIHRoZSBjbGFzc2VzIGZyb20gdGhlIC5wcm90byBmaWxlIGFyZSB3cmFwcGVkIGluIGEgc2luZ2xlCiBvdXRlciBjbGFzcyB3aXRoIHRoZSBnaXZlbiBuYW1lLiAgVGhpcyBhcHBsaWVzIHRvIGJvdGggUHJvdG8xCiAoZXF1aXZhbGVudCB0byB0aGUgb2xkICItLW9uZV9qYXZhX2ZpbGUiIG9wdGlvbikgYW5kIFByb3RvMiAod2hlcmUKIGEgLnByb3RvIGFsd2F5cyB0cmFuc2xhdGVzIHRvIGEgc2luZ2xlIGNsYXNzLCBidXQgeW91IG1heSB3YW50IHRvCiBleHBsaWNpdGx5IGNob29zZSB0aGUgY2xhc3MgbmFtZSkuCgoNCgUECgIBBBIEywICCgoNCgUECgIBBRIEywILEQoNCgUECgIBARIEywISJgoNCgUECgIBAxIEywIpKgqjAwoEBAoCAhIE0wICORqUAyBJZiBzZXQgdHJ1ZSwgdGhlbiB0aGUgSmF2YSBjb2RlIGdlbmVyYXRvciB3aWxsIGdlbmVyYXRlIGEgc2VwYXJhdGUgLmphdmEKIGZpbGUgZm9yIGVhY2ggdG9wLWxldmVsIG1lc3NhZ2UsIGVudW0sIGFuZCBzZXJ2aWNlIGRlZmluZWQgaW4gdGhlIC5wcm90bwogZmlsZS4gIFRodXMsIHRoZXNlIHR5cGVzIHdpbGwgKm5vdCogYmUgbmVzdGVkIGluc2lkZSB0aGUgb3V0ZXIgY2xhc3MKIG5hbWVkIGJ5IGphdmFfb3V0ZXJfY2xhc3NuYW1lLiAgSG93ZXZlciwgdGhlIG91dGVyIGNsYXNzIHdpbGwgc3RpbGwgYmUKIGdlbmVyYXRlZCB0byBjb250YWluIHRoZSBmaWxlJ3MgZ2V0RGVzY3JpcHRvcigpIG1ldGhvZCBhcyB3ZWxsIGFzIGFueQogdG9wLWxldmVsIGV4dGVuc2lvbnMgZGVmaW5lZCBp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bGl0eSB3aXRoIHRoZSBNZXNzYWdlU2V0IHdpcmUKIGZvcm1hdC4gIFlvdSBzaG91bGQgbm90IHVzZSB0aGlzIGZvciBhbnkgb3RoZXIgcmVhc29uOiAgSXQncyBsZXNzCiBlZmZpY2llbnQsIGhhcyBmZXdlciBmZWF0dXJlcywgYW5kIGlzIG1vcmUgY29tcGxpY2F0ZWQuCgogVGhlIG1lc3NhZ2UgbXVzdCBiZSBkZWZpbmVkIGV4YWN0bHkgYXMgZm9sbG93czoKICAgbWVzc2FnZSBGb28gewogICAgIG9wdGlvbiBtZXNzYWdlX3NldF93aXJlX2Zvcm1hdCA9IHRydWU7CiAgICAgZXh0ZW5zaW9ucyA0IHRvIG1heDsKICAgfQogTm90ZSB0aGF0IHRoZSBtZXNzYWdlIGNhbm5vdCBoYXZlIGFueSBkZWZpbmVkIGZpZWxkczsgTWVzc2FnZVNldHMgb25seQogaGF2ZSBleHRlbnNpb25zLgoKIEFsbCBleHRlbnNpb25zIG9mIHlvdXIgdHlwZSBtdXN0IGJlIHNpbmd1bGFyIG1lc3NhZ2VzOyBlLmcuIHRoZXkgY2Fubm90CiBiZSBpbnQzMnMsIGVudW1zLCBvciByZXBlYXRlZCBtZXNzYWdlcy4KCiBCZWNhdXNlIHRoaXMgaXMgYW4gb3B0aW9uLCB0aGUgYWJvdmUgdHdvIHJlc3RyaWN0aW9ucyBhcmUgbm90IGVuZm9yY2VkIGJ5CiB0aGUgcHJvdG9jb2wgY29tcGlsZXIuCgoNCgUECwIABBIEzAMCCgoNCgUECwIABRIEzAMLDwoNCgUECwIAARIEzAMQJwoNCgUECwIAAxIEzAMqKwoNCgUECwIACBIEzAMsOwoNCgUECwIABxIEzAM1OgrrAQoEBAsCARIE0QMCRBrcASBEaXNhYmxlcyB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgc3RhbmRhcmQgImRlc2NyaXB0b3IoKSIgYWNjZXNzb3IsIHdoaWNoIGNhbgogY29uZmxpY3Qgd2l0aCBhIGZpZWxkIG9mIHRoZSBzYW1lIG5hbWUuICBUaGlzIGlzIG1lYW50IHRvIG1ha2UgbWlncmF0aW9uCiBmcm9tIHByb3RvMSBlYXNpZXI7IG5ldyBjb2RlIHNob3VsZCBhdm9p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aW5nLgoKDQoFBAwCAQQSBI0EAgoKDQoFBAwCAQUSBI0ECw8KDQoFBAwCAQESBI0EEBYKDQoFBAwCAQMSBI0EGRoKmgUKBAQMAgISBJoEAjMaiwUgVGhlIGpzdHlwZSBvcHRpb24gZGV0ZXJtaW5lcyB0aGUgSmF2YVNjcmlwdCB0eXBlIHVzZWQgZm9yIHZhbHVlcyBvZiB0aGUKIGZpZWxkLiAgVGhlIG9wdGlvbiBpcyBwZXJtaXR0ZWQgb25seSBmb3IgNjQgYml0IGludGVncmFsIGFuZCBmaXhlZCB0eXBlcwogKGludDY0LCB1aW50NjQsIHNpbnQ2NCwgZml4ZWQ2NCwgc2ZpeGVkNjQpLiAgQSBmaWVsZCB3aXRoIGpzdHlwZSBKU19TVFJJTkcKIGlzIHJlcHJlc2VudGVkIGFzIEphdmFTY3JpcHQgc3RyaW5nLCB3aGljaCBhdm9pZHMgbG9zcyBvZiBwcmVjaXNpb24gdGhhdAogY2FuIGhhcHBlbiB3aGVuIGEgbGFyZ2UgdmFsdWUgaXMgY29udmVydGVkIHRvIGEgZmxvYXRpbmcgcG9pbnQgSmF2YVNjcmlwdC4KIFNwZWNpZnlpbmcgSlNfTlVNQkVSIGZvciB0aGUganN0eXBlIGNhdXNlcyB0aGUgZ2VuZXJhdGVkIEphdmFTY3JpcHQgY29kZSB0bwogdXNlIHRoZSBKYXZhU2NyaXB0ICJudW1iZXIiIHR5cGUuICBUaGUgYmVoYXZpb3Igb2YgdGhlIGRlZmF1bHQgb3B0aW9uCiBKU19OT1JNQUwgaXMgaW1wbGVtZW50YXRpb24gZGVwZW5kZW50LgoKIFRoaXMgb3B0aW9uIGlzIGFuIGVudW0gdG8gcGVybWl0IGFkZGl0aW9uYWwgdHlwZXMgdG8gYmUgYWRkZWQsIGUuZy4KIGdvb2cubWF0aC5JbnRlZ2VyLgoKDQoFBAwCAgQSBJoEAgoKDQoFBAwCAgYSBJoECxEKDQoFBAwCAgESBJoEEhgKDQoFBAwCAgMSBJoEGxwKDQoFBAwCAggSBJoEHTIKDQoFBAwCAgcSBJoEKDEKDgoEBAwEARIGmwQCpAQDCg0KBQQMBAEBEgSbBAcNCicKBgQMBAECABIEnQQEEhoXIFVzZSB0aGUgZGVmYXVsdCB0eXBlLgoKDwoHBAwEAQIAARIEnQQEDQoPCgcEDAQBAgACEgSdBBARCikKBgQMBAECARIEoAQEEhoZIFVzZSBKYXZhU2NyaXB0IHN0cmluZ3MuCgoPCgcEDAQBAgEBEgSgBAQNCg8KBwQMBAECAQISBKAEEBEKKQoGBAwEAQICEgSjBAQSGhkgVXNlIEphdmFTY3JpcHQgbnVtYmVycy4KCg8KBwQMBAECAgESBKMEBA0KDwoHBAwEAQICAhIEowQQEQrvDAoEBAwCAxIEwgQCKRrgDCBTaG91bGQgdGhpcyBmaWVsZCBiZSBwYXJzZWQgbGF6aWx5PyAgTGF6eSBhcHBsaWVzIG9ubHkgdG8gbWVzc2FnZS10eXBlCiBmaWVsZHMuICBJdCBtZWFucyB0aGF0IHdoZW4gdGhlIG91dGVyIG1lc3NhZ2UgaXMgaW5pdGlhbGx5IHBhcnNlZCwgdGhlCiBpbm5lciBtZXNzYWdlJ3MgY29udGVudHMgd2lsbCBub3QgYmUgcGFyc2VkIGJ1dCBpbnN0ZWFkIHN0b3JlZCBpbiBlbmNvZGVkCiBmb3JtLiAgVGhlIGlubmVyIG1lc3NhZ2Ugd2lsbCBhY3R1YWxseSBiZSBwYXJzZWQgd2hlbiBpdCBpcyBmaXJzdCBhY2Nlc3NlZC4KCiBUaGlzIGlzIG9ubHkgYSBoaW50LiAgSW1wbGVtZW50YXRpb25zIGFyZSBmcmVlIHRvIGNob29zZSB3aGV0aGVyIHRvIHVzZQogZWFnZXIgb3IgbGF6eSBwYXJzaW5nIHJlZ2FyZGxlc3Mgb2YgdGhlIHZhbHVlIG9mIHRoaXMgb3B0aW9uLiAgSG93ZXZlciwKIHNldHRpbmcgdGhpcyBvcHRpb24gdHJ1ZSBzdWdnZXN0cyB0aGF0IHRoZSBwcm90b2NvbCBhdXRob3IgYmVsaWV2ZXMgdGhhdAogdXNpbmcgbGF6eSBwYXJzaW5nIG9uIHRoaXMgZmllbGQgaXMgd29ydGggdGhlIGFkZGl0aW9uYWwgYm9va2tlZXBpbmcKIG92ZXJoZWFkIHR5cGljYWxseSBuZWVkZWQgdG8gaW1wbGVtZW50IGl0LgoKIFRoaXMgb3B0aW9uIGRvZXMgbm90IGFmZmVjdCB0aGUgcHVibGljIGludGVyZmFjZSBvZiBhbnkgZ2VuZXJhdGVkIGNvZGU7CiBhbGwgbWV0aG9kIHNpZ25hdHVyZXMgcmVtYWluIHRoZSBzYW1lLiAgRnVydGhlcm1vcmUsIHRocmVhZC1zYWZldHkgb2YgdGhlCiBpbnRlcmZhY2UgaXMgbm90IGFmZmVjdGVkIGJ5IHRoaXMgb3B0aW9uOyBjb25zdCBtZXRob2RzIHJlbWFpbiBzYWZlIHRvCiBjYWxsIGZyb20gbXVsdGlwbGUgdGhyZWFkcyBjb25jdXJyZW50bHksIHdoaWxlIG5vbi1jb25zdCBtZXRob2RzIGNvbnRpbnVlCiB0byByZXF1aXJlIGV4Y2x1c2l2ZSBhY2Nlc3MuCgoKIE5vdGUgdGhhdCBpbXBsZW1lbnRhdGlvbnMgbWF5IGNob29zZSBub3QgdG8gY2hlY2sgcmVxdWlyZWQgZmllbGRzIHdpdGhpbgogYSBsYXp5IHN1Yi1tZXNzYWdlLiAgVGhhdCBpcywgY2FsbGluZyBJc0luaXRpYWxpemVkKCkgb24gdGhlIG91dGVyIG1lc3NhZ2UKIG1heSByZXR1cm4gdHJ1ZSBldmVuIGlmIHRoZSBpbm5lciBtZXNzYWdlIGhhcyBtaXNzaW5nIHJlcXVpcmVkIGZpZWxkcy4KIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBpbm5lciBtZXNzYWdlIHdvdWxkIGhhdmUgdG8gYmUKIHBhcnNlZCBpbiBvcmRlciB0byBwZXJmb3JtIHRoZSBjaGVjaywgZGVmZWF0aW5nIHRoZSBwdXJwb3NlIG9mIGxhenkKIHBhcnNpbmcuICBBbiBpbXBsZW1lbnRhdGlvbiB3aGljaCBjaG9vc2VzIG5vdCB0byBjaGVjayByZXF1aXJlZCBmaWVsZHMKIG11c3QgYmUgY29uc2lzdGVudCBhYm91dCBpdC4gIFRoYXQgaXMsIGZvciBhbnkgcGFydGljdWxhciBzdWItbWVzc2FnZSwgdGhlCiBpbXBsZW1lbnRhdGlvbiBtdXN0IGVpdGhlciAqYWx3YXlzKiBjaGVjayBpdHMgcmVxdWlyZWQgZmllbGRzLCBvciAqbmV2ZXIqCiBjaGVjayBpdHMgcmVxdWlyZWQgZmllbGRzLCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgb3Ig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ewogICAgIG9wdGlvbmFsIHN0cmluZyBmb28gPSAxOwogICB9CiBMZXQncyBsb29rIGF0IGp1c3QgdGhlIGZpZWxkIGRlZmluaXRpb246CiAgIG9wdGlvbmFsIHN0cmluZyBmb28gPSAxOwogICBeICAgICAgIF5eICAgICBeXiAgXiAgXl5eCiAgIGEgICAgICAgYmMgICAgIGRlICBmICBnaGkKIFdlIGhhdmUgdGhlIGZvbGxvd2luZyBsb2NhdGlvbnM6CiAgIHNwYW4gICBwYXRoICAgICAgICAgICAgICAgcmVwcmVzZW50cwogICBbYSxpKSAgWyA0LCAwLCAyLCAwIF0gICAgIFRoZSB3aG9sZSBmaWVsZCBkZWZpbml0aW9uLgogICBbYSxiKSAgWyA0LCAwLCAyLCAwLCA0IF0gIFRoZSBsYWJlbCAob3B0aW9uYWwpLgogICBbYyxkKSAgWyA0LCAwLCAyLCAwLCA1IF0gIFRoZSB0eXBlIChzdHJpbmcpLgogICBbZSxmKSAgWyA0LCAwLCAyLCAwLCAxIF0gIFRoZSBuYW1lIChmb28pLgogICBbZyxoKSAgWyA0LCAwLCAyLCAwLCAzIF0gIFRoZSBudW1iZXIgKDEpLgoKIE5vdGVzOgogLSBBIGxvY2F0aW9uIG1heSByZWZlciB0byBhIHJlcGVhdGVkIGZpZWxkIGl0c2VsZiAoaS5lLiBub3QgdG8gYW55CiAgIHBhcnRpY3VsYXIgaW5kZXggd2l0aGluIGl0KS4gIFRoaXMgaXMgdXNlZCB3aGVuZXZlciBhIHNldCBvZiBlbGVtZW50cyBhcmUKICAgbG9naWNhbGx5IGVuY2xvc2VkIGluIGEgc2luZ2xlIGNvZGUgc2VnbWVudC4gIEZvciBleGFtcGxlLCBhbiBlbnRpcmUKICAgZXh0ZW5kIGJsb2NrIChwb3NzaWJseSBjb250YWluaW5nIG11bHRpcGxlIGV4dGVuc2lvbiBkZWZpbml0aW9ucykgd2lsbAogICBoYXZlIGFuIG91dGVyIGxvY2F0aW9uIHdob3NlIHBhdGggcmVmZXJzIHRvIHRoZSAiZXh0ZW5zaW9ucyIgcmVwZWF0ZWQKICAgZmllbGQgd2l0aG91dCBhbiBpbmRleC4KIC0gTXVsdGlwbGUgbG9jYXRpb25zIG1heSBoYXZlIHRoZSBzYW1lIHBhdGguICBUaGlzIGhhcHBlbnMgd2hlbiBhIHNpbmdsZQogICBsb2dpY2FsIGRlY2xhcmF0aW9uIGlzIHNwcmVhZCBvdXQgYWNyb3NzIG11bHRpcGxlIHBsYWNlcy4gIFRoZSBtb3N0CiAgIG9idmlvdXMgZXhhbXBsZSBpcyB0aGUgImV4dGVuZCIgYmxvY2sgYWdhaW4gLS0gdGhlcmUgbWF5IGJlIG11bHRpcGxlCiAgIGV4dGVuZCBibG9ja3MgaW4gdGhlIHNhbWUgc2NvcGUsIGVhY2ggb2Ygd2hpY2ggd2lsbCBoYXZlIHRoZSBzYW1lIHBhdGguCiAtIEEgbG9jYXRpb24ncyBzcGFuIGlzIG5vdCBhbHdheXMgYSBzdWJzZXQgb2YgaXRzIHBhcmVudCdzIHNwYW4uICBGb3IKICAgZXhhbXBsZSwgdGhlICJleHRlbmRlZSIgb2YgYW4gZXh0ZW5zaW9uIGRlY2xhcmF0aW9uIGFwcGVhcnMgYXQgdGhlCiAgIGJlZ2lubmluZyBvZiB0aGUgImV4dGVuZCIgYmxvY2sgYW5kIGlzIHNoYXJlZCBieSBhbGwgZXh0ZW5zaW9ucyB3aXRoaW4KICAgdGhlIGJsb2NrLgogLSBKdXN0IGJlY2F1c2UgYSBsb2NhdGlvbidzIHNwYW4gaXMgYSBzdWJzZXQgb2Ygc29tZSBvdGhlciBsb2NhdGlvbidzIHNwYW4KICAgZG9lcyBub3QgbWVhbiB0aGF0IGl0IGlzIGEgZGVzY2VuZGVudC4gIEZvciBleGFtcGxlLCBhICJncm91cCIgZGVmaW5lcwogICBib3RoIGEgdHlwZSBhbmQgYSBmaWVsZCBpbiBhIHNpbmdsZSBkZWNsYXJhdGlvbi4gIFRodXMsIHRoZSBsb2NhdGlvbnMKICAgY29ycmVzcG9uZGluZyB0byB0aGUgdHlwZSBhbmQgZmllbGQgYW5kIHRoZWlyIGNvbXBvbmVudHMgd2lsbCBvdmVybGFwLgogLSBDb2RlIHdoaWNoIHRyaWVzIHRvIGludGVycHJldCBsb2NhdGlvbnMgc2hvdWxkIHByb2JhYmx5IGJlIGRlc2lnbmVkIHRvCiAgIGlnbm9yZSB0aG9zZSB0aGF0IGl0IGRvZXNuJ3QgdW5kZXJzdGFuZCwgYXMgbW9yZSB0eXBlcyBvZiBsb2NhdGlvbnMgY291bGQKICAgYmUgcmVjb3JkZWQgaW4gdGhlIGZ1dHVyZS4KCg0KBQQTAgAEEgSDBgIKCg0KBQQTAgAGEgSDBgsTCg0KBQQTAgABEgSDBhQcCg0KBQQTAgADEgSDBh8gCg4KBAQTAwASBoQGAtcGAwoNCgUEEwMAARIEhAYKEgqDBwoGBBMDAAIAEgScBgQqGvIGIElkZW50aWZpZXMgd2hpY2ggcGFydCBvZiB0aGUgRmlsZURlc2NyaXB0b3JQcm90byB3YXMgZGVmaW5lZCBhdCB0aGlzCiBsb2NhdGlvbi4KCiBFYWNoIGVsZW1lbnQgaXMgYSBmaWVsZCBudW1iZXIgb3IgYW4gaW5kZXguICBUaGV5IGZvcm0gYSBwYXRoIGZyb20KIHRoZSByb290IEZpbGVEZXNjcmlwdG9yUHJvdG8gdG8gdGhlIHBsYWNlIHdoZXJlIHRoZSBkZWZpbml0aW9uLiAgRm9yCiBleGFtcGxlLCB0aGlzIHBhdGg6CiAgIFsgNCwgMywgMiwgNywgMSBdCiByZWZlcnMgdG86CiAgIGZpbGUubWVzc2FnZV90eXBlKDMpICAvLyA0LCAzCiAgICAgICAuZmllbGQoNykgICAgICAgICAvLyAyLCA3CiAgICAgICAubmFtZSgpICAgICAgICAgICAvLyAxCiBUaGlzIGlzIGJlY2F1c2UgRmlsZURlc2NyaXB0b3JQcm90by5tZXNzYWdlX3R5cGUgaGFzIGZpZWxkIG51bWJlciA0OgogICByZXBlYXRlZCBEZXNjcmlwdG9yUHJvdG8gbWVzc2FnZV90eXBlID0gNDsKIGFuZCBEZXNjcmlwdG9yUHJvdG8uZmllbGQgaGFzIGZpZWxkIG51bWJlciAyOgogICByZXBlYXRlZCBGaWVsZERlc2NyaXB0b3JQcm90byBmaWVsZCA9IDI7CiBhbmQgRmllbGREZXNjcmlwdG9yUHJvdG8ubmFtZSBoYXMgZmllbGQgbnVtYmVyIDE6CiAgIG9wdGlvbmFsIHN0cmluZyBuYW1lID0gMTsKCiBUaHVzLCB0aGUgYWJvdmUgcGF0aCBnaXZlcyB0aGUgbG9jYXRpb24gb2YgYSBmaWVsZCBuYW1lLiAgSWYgd2UgcmVtb3ZlZAogdGhlIGxhc3QgZWxlbWVudDoKICAgWyA0LCAzLCAyLCA3IF0KIHRoaXMgcGF0aCByZWZlcnMgdG8gdGhlIHdob2xlIGZpZWxkIGRlY2xhcmF0aW9uIChmcm9tIHRoZSBiZWdpbm5pbmcKIG9mIHRoZSBsYWJlbCB0byB0aGUgdGVybWluYXRpbmcgc2VtaWNvbG9uKS4KCg8KBwQTAwACAAQSBJwGBAwKDwoHBBMDAAIABRIEnAYNEgoPCgcEEwMAAgABEgScBhMXCg8KBwQTAwACAAMSBJwGGhsKDwoHBBMDAAIACBIEnAYcKQoQCggEEwMAAgAIAhIEnAYdKArSAgoGBBMDAAIBEgSjBgQqGsECIEFsd2F5cyBoYXMgZXhhY3RseSB0aHJlZSBvciBmb3VyIGVsZW1lbnRzOiBzdGFydCBsaW5lLCBzdGFydCBjb2x1bW4sCiBlbmQgbGluZSAob3B0aW9uYWwsIG90aGVyd2lzZSBhc3N1bWVkIHNhbWUgYXMgc3RhcnQgbGluZSksIGVuZCBjb2x1bW4uCiBUaGVzZSBhcmUgcGFja2VkIGludG8gYSBzaW5nbGUgZmllbGQgZm9yIGVmZmljaWVuY3kuICBOb3RlIHRoYXQgbGluZQogYW5kIGNvbHVtbiBudW1iZXJzIGFyZSB6ZXJvLWJhc2VkIC0tIHR5cGljYWxseSB5b3Ugd2lsbCB3YW50IHRvIGFkZAogMSB0byBlYWNoIGJlZm9yZSBkaXNwbGF5aW5nIHRvIGEgdXNlci4KCg8KBwQTAwACAQQSBKMGBAwKDwoHBBMDAAIBBRIEowYNEgoPCgcEEwMAAgEBEgSjBhMXCg8KBwQTAwACAQMSBKMGGhsKDwoHBBMDAAIBCBIEowYcKQoQCggEEwMAAgEIAhIEowYdKAqlDAoGBBMDAAICEgTUBgQpGpQMIElmIHRoaXMgU291cmNlQ29kZUluZm8gcmVwcmVzZW50cyBhIGNvbXBsZXRlIGRlY2xhcmF0aW9uLCB0aGVzZSBhcmUgYW55CiBjb21tZW50cyBhcHBlYXJpbmcgYmVmb3JlIGFuZCBhZnRlciB0aGUgZGVjbGFyYXRpb24gd2hpY2ggYXBwZWFyIHRvIGJlCiBhdHRhY2hlZCB0byB0aGUgZGVjbGFyYXRpb24uCgogQSBzZXJpZXMgb2YgbGluZSBjb21tZW50cyBhcHBlYXJpbmcgb24gY29uc2VjdXRpdmUgbGluZXMsIHdpdGggbm8gb3RoZXIKIHRva2VucyBhcHBlYXJpbmcgb24gdGhvc2UgbGluZXMsIHdpbGwgYmUgdHJlYXRlZCBhcyBhIHNpbmdsZSBjb21tZW50LgoKIGxlYWRpbmdfZGV0YWNoZWRfY29tbWVudHMgd2lsbCBrZWVwIHBhcmFncmFwaHMgb2YgY29tbWVudHMgdGhhdCBhcHBlYXIKIGJlZm9yZSAoYnV0IG5vdCBjb25uZWN0ZWQgdG8pIHRoZSBjdXJyZW50IGVsZW1lbnQuIEVhY2ggcGFyYWdyYXBoLAogc2VwYXJhdGVkIGJ5IGVtcHR5IGxpbmVzLCB3aWxsIGJlIG9uZSBjb21tZW50IGVsZW1lbnQgaW4gdGhlIHJlcGVhdGVkCiBmaWVsZC4KCiBPbmx5IHRoZSBjb21tZW50IGNvbnRlbnQgaXMgcHJvdmlkZWQ7IGNvbW1lbnQgbWFya2VycyAoZS5nLiAvLykgYXJlCiBzdHJpcHBlZCBvdXQuICBGb3IgYmxvY2sgY29tbWVudHMsIGxlYWRpbmcgd2hpdGVzcGFjZSBhbmQgYW4gYXN0ZXJpc2sKIHdpbGwgYmUgc3RyaXBwZWQgZnJvbSB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggbGluZSBvdGhlciB0aGFuIHRoZSBmaXJzdC4KIE5ld2xpbmVzIGFyZSBpbmNsdWRlZCBpbiB0aGUgb3V0cHV0LgoKIEV4YW1wbGVzOgoKICAgb3B0aW9uYWwgaW50MzIgZm9vID0gMTsgIC8vIENvbW1lbnQgYXR0YWNoZWQgdG8gZm9vLgogICAvLyBDb21tZW50IGF0dGFjaGVkIHRvIGJhci4KICAgb3B0aW9uYWwgaW50MzIgYmFyID0gMjsKCiAgIG9wdGlvbmFsIHN0cmluZyBiYXogPSAzOwogICAvLyBDb21tZW50IGF0dGFjaGVkIHRvIGJhei4KICAgLy8gQW5vdGhlciBsaW5lIGF0dGFjaGVkIHRvIGJhei4KCiAgIC8vIENvbW1lbnQgYXR0YWNoZWQgdG8gcXV4LgogICAvLwogICAv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AxIE8AYEGxrKASBJZGVudGlmaWVzIHRoZSBlbmRpbmcgb2Zmc2V0IGluIGJ5dGVzIGluIHRoZSBnZW5lcmF0ZWQgY29kZSB0aGF0CiByZWxhdGVzIHRvIHRoZSBpZGVudGlmaWVkIG9mZnNldC4gVGhlIGVuZCBvZmZzZXQgc2hvdWxkIGJlIG9uZSBwYXN0CiB0aGUgbGFzdCByZWxldmFudCBieXRlIChzbyB0aGUgbGVuZ3RoIG9mIHRoZSB0ZXh0ID0gZW5kIC0gYmVnaW4pLgoKDwoHBBQDAAIDBBIE8AYEDAoPCgcEFAMAAgMFEgTwBg0SCg8KBwQUAwACAwESBPAGExYKDwoHBBQDAAIDAxIE8AYZGgrnCAocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90bxIKZ29vZ2xlLmFwaRoVZ29vZ2xlL2FwaS9odHRwLnByb3RvGiBnb29nbGUvcHJvdG9idWYvZGVzY3JpcHRvci5wcm90bzpLCgRodHRwEh4uZ29vZ2xlLnByb3RvYnVmLk1ldGhvZE9wdGlvbnMYsMq8IiABKAsyFC5nb29nbGUuYXBpLkh0dHBSdWxlUgRodHRwQm4KDmNvbS5nb29nbGUuYXBpQhBBbm5vdGF0aW9uc1Byb3RvUAFaQWdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvYXBpL2Fubm90YXRpb25zO2Fubm90YXRpb25zogIER0FQSUq8BgoGEgQOAB4BCsIECgEMEgMOABIytwQgQ29weXJpZ2h0IChjKSAyMDE1LCBHb29nbGUgSW5jLgoKIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CgogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgoKCAoBAhIDEAATCgkKAgMAEgMSAB8KCQoCAwESAxMAKgoICgEIEgMVAFgKCQoCCAsSAxUAWAoICgEIEgMWACIKCQoCCAoSAxYAIgoICgEIEgMXADEKCQoCCAgSAxcAMQoICgEIEgMYACcKCQoCCAESAxgAJwoICgEIEgMZACIKCQoCCCQSAxkAIgoJCgEHEgQbAB4BChwKAgcAEgMdAhsaESBTZWUgYEh0dHBSdWxlYC4KCgoKAwcAAhIDGwckCgsKAwcABBIEHQIbJgoKCgMHAAYSAx0CCgoKCgMHAAESAx0LDwoKCgMHAAMSAx0SGmIGcHJvdG8zCrgJChp2b2x0aGFfcHJvdG9zL2hlYWx0aC5wcm90bxIGaGVhbHRoGhxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvGhtnb29nbGUvcHJvdG9idWYvZW1wdHkucHJvdG8ifQoMSGVhbHRoU3RhdHVzEjYKBXN0YXRlGAEgASgOMiAuaGVhbHRoLkhlYWx0aFN0YXR1cy5IZWFsdGhTdGF0ZVIFc3RhdGUiNQoLSGVhbHRoU3RhdGUSCwoHSEVBTFRIWRAAEg4KCk9WRVJMT0FERUQQARIJCgVEWUlORxACMmEKDUhlYWx0aFNlcnZpY2USUAoPR2V0SGVhbHRoU3RhdHVzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhQuaGVhbHRoLkhlYWx0aFN0YXR1cyIPgtPkkwIJEgcvaGVhbHRoQkwKGm9yZy5vcGVuY29yZC52b2x0aGEuaGVhbHRoWi5naXRodWIuY29tL29wZW5jb3JkL3ZvbHRoYS1wcm90b3MvdjUvZ28vaGVhbHRoSp4GCgYSBAAAIgEKCAoBDBIDAAASCggKAQgSAwIARQoJCgIICxIDAgBFCggKAQgSAwMAMwoJCgIIARIDAwAzCggKAQISAwUADwoJCgIDABIDBwAmCgkKAgMBEgMIACUKNwoCBAASBAsAFgEaKyBFbmNvZGUgaGVhbHRoIHN0YXR1cyBvZiBhIFZvbHRoYSBpbnN0YW5jZQoKCgoDBAABEgMLCBQKHQoEBAAEABIEDgQSBRoPIEhlYWx0aCBzdGF0ZXMKCgwKBQQABAABEgMOCRQKKAoGBAAEAAIAEgMPCBQiGSBUaGUgaW5zdGFuY2UgaXMgaGVhbHRoeQoKDgoHBAAEAAIAARIDDwgPCg4KBwQABAACAAISAw8SEwpACgYEAAQAAgESAxAIFyIxIFRoZSBpbnN0YW5jZSBpcyBvdmVybG9hZGVkLCBkZWNyZWFzZSBxdWVyeSByYXRlCgoOCgcEAAQAAgEBEgMQCBIKDgoHBAAEAAIBAhIDEBUWCkcKBgQABAACAhIDEQgSIjggVGhlIGluc3RhbmNlIGlzIGluIGEgY3JpdGljYWwgY29uZGl0aW9uLCBkbyBub3QgdXNlIGl0CgoOCgcEAAQAAgIBEgMRCA0KDgoHBAAEAAICAhIDERARCj4KBAQAAgASAxUEGxoxIEN1cnJlbnQgc3RhdGUgb2YgaGVhbHRoIG9mIHRoaXMgVm9sdGhhIGluc3RhbmNlCgoNCgUEAAIABBIEFQQSBQoMCgUEAAIABhIDFQQPCgwKBQQAAgABEgMVEBUKDAoFBAACAAMSAxUYGQolCgIGABIEGQAiARoZIEhlYWx0aCByZWxhdGVkIHNlcnZpY2VzCgoKCgMGAAESAxkIFQpBCgQGAAIAEgQcBCAFGjMgUmV0dXJuIGN1cnJlbnQgaGVhbHRoIHN0YXR1cyBvZiBhIFZvbHRoYSBpbnN0YW5jZQoKDAoFBgACAAESAxwIFwoMCgUGAAIAAhIDHBgtCgwKBQYAAgADEgMcOEQKDQoFBgACAAQSBB0IHwoKEQoJBgACAASwyrwiEgQdCB8KYgZwcm90bzMKqIQICh92b2x0aGFfcHJvdG9zL29wZW5mbG93XzEzLnByb3RvEgtvcGVuZmxvd18xMxocZ29vZ2xlL2FwaS9hbm5vdGF0aW9ucy5wcm90byJjCgpvZnBfaGVhZGVyEhgKB3ZlcnNpb24YASABKA1SB3ZlcnNpb24SKQoEdHlwZRgCIAEoDjIVLm9wZW5mbG93XzEzLm9mcF90eXBlUgR0eXBlEhAKA3hpZBgDIAEoDVIDeGlkIqsBChVvZnBfaGVsbG9fZWxlbV9oZWFkZXISNAoEdHlwZRgBIAEoDjIgLm9wZW5mbG93XzEzLm9mcF9oZWxsb19lbGVtX3R5cGVSBHR5cGUSUQoNdmVyc2lvbmJpdG1hcBgCIAEoCzIpLm9wZW5mbG93XzEzLm9mcF9oZWxsb19lbGVtX3ZlcnNpb25iaXRtYXBIAFINdmVyc2lvbmJpdG1hcEIJCgdlbGVtZW50IjgKHG9mcF9oZWxsb19lbGVtX3ZlcnNpb25iaXRtYXASGAoHYml0bWFwcxgCIAMoDVIHYml0bWFwcyJLCglvZnBfaGVsbG8SPgoIZWxlbWVudHMYASADKAsyIi5vcGVuZmxvd18xMy5vZnBfaGVsbG9fZWxlbV9oZWFkZXJSCGVsZW1lbnRzIk0KEW9mcF9zd2l0Y2hfY29uZmlnEhQKBWZsYWdzGAEgASgNUgVmbGFncxIiCg1taXNzX3NlbmRfbGVuGAIgASgNUgttaXNzU2VuZExlbiJCCg1vZnBfdGFibGVfbW9kEhkKCHRhYmxlX2lkGAEgASgNUgd0YWJsZUlkEhYKBmNvbmZpZxgCIAEoDVIGY29uZmlnIqACCghvZnBfcG9ydBIXCgdwb3J0X25vGAEgASgNUgZwb3J0Tm8SFwoHaHdfYWRkchgCIAMoDVIGaHdBZGRyEhIKBG5hbWUYAyABKAlSBG5hbWUSFgoGY29uZmlnGAQgASgNUgZjb25maWcSFAoFc3RhdGUYBSABKA1SBXN0YXRlEhIKBGN1cnIYBiABKA1SBGN1cnISHgoKYWR2ZXJ0aXNlZBgHIAEoDVIKYWR2ZXJ0aXNlZBIcCglzdXBwb3J0ZWQYCCABKA1SCXN1cHBvcnRlZBISCgRwZWVyGAkgASgNUgRwZWVyEh0KCmN1cnJfc3BlZWQYCiABKA1SCWN1cnJTcGVlZBIbCgltYXhfc3BlZWQYCyABKA1SCG1heFNwZWVkIrUBChNvZnBfc3dpdGNoX2ZlYXR1cmVzEh8KC2RhdGFwYXRoX2lkGAEgASgEUgpkYXRhcGF0aElkEhsKCW5fYnVmZmVycxgCIAEoDVIIbkJ1ZmZlcnMSGQoIbl90YWJsZXMYAyABKA1SB25UYWJsZXMSIQoMYXV4aWxpYXJ5X2lkGAQgASgNUgthdXhpbGlhcnlJZBIiCgxjYXBhYmlsaXRpZXMYBSABKA1SDGNhcGFiaWxpdGllcyJyCg9vZnBfcG9ydF9zdGF0dXMSNAoGcmVhc29uGAEgASgOMhwub3BlbmZsb3dfMTMub2ZwX3BvcnRfcmVhc29uUgZyZWFzb24SKQoEZGVzYxgCIAEoCzIVLm9wZW5mbG93XzEzLm9mcF9wb3J0UgRkZXNjIooBCgxvZnBfcG9ydF9tb2QSFwoHcG9ydF9ubxgBIAEoDVIGcG9ydE5vEhcKB2h3X2FkZHIYAiADKA1SBmh3QWRkchIWCgZjb25maWcYAyABKA1SBmNvbmZpZxISCgRtYXNrGAQgASgNUgRtYXNrEhwKCWFkdmVydGlzZRgFIAEoDVIJYWR2ZXJ0aXNlIncKCW9mcF9tYXRjaBIvCgR0eXBlGAEgASgOMhsub3BlbmZsb3dfMTMub2ZwX21hdGNoX3R5cGVSBHR5cGUSOQoKb3htX2ZpZWxkcxgCIAMoCzIaLm9wZW5mbG93XzEzLm9mcF9veG1fZmllbGRSCW94bUZpZWxkcyLqAQoNb2ZwX294bV9maWVsZBI3CglveG1fY2xhc3MYASABKA4yGi5vcGVuZmxvd18xMy5vZnBfb3htX2NsYXNzUghveG1DbGFzcxI9CglvZmJfZmllbGQYBCABKAsyHi5vcGVuZmxvd18xMy5vZnBfb3htX29mYl9maWVsZEgAUghvZmJGaWVsZBJYChJleHBlcmltZW50ZXJfZmllbGQYBSABKAsyJy5vcGVuZmxvd18xMy5vZnBfb3htX2V4cGVyaW1lbnRlcl9maWVsZEgAUhFleHBlcmltZW50ZXJGaWVsZEIHCgVmaWVsZCLXDgoRb2ZwX294bV9vZmJfZmllbGQSNAoEdHlwZRgBIAEoDjIgLm9wZW5mbG93XzEzLm94bV9vZmJfZmllbGRfdHlwZXNSBHR5cGUSGQoIaGFzX21hc2sYAiABKAhSB2hhc01hc2sSFAoEcG9ydBgDIAEoDUgAUgRwb3J0EiUKDXBoeXNpY2FsX3BvcnQYBCABKA1IAFIMcGh5c2ljYWxQb3J0EicKDnRhYmxlX21ldGFkYXRhGAUgASgESABSDXRhYmxlTWV0YWRhdGESGQoHZXRoX2RzdBgGIAEoDEgAUgZldGhEc3QSGQoHZXRoX3NyYxgHIAEoDEgAUgZldGhTcmMSGwoIZXRoX3R5cGUYCCABKA1IAFIHZXRoVHlwZRIbCgh2bGFuX3ZpZBgJIAEoDUgAUgd2bGFuVmlkEhsKCHZsYW5fcGNwGAogASgNSABSB3ZsYW5QY3ASGQoHaXBfZHNjcBgLIAEoDUgAUgZpcERzY3ASFwoGaXBfZWNuGAwgASgNSABSBWlwRWNuEhsKCGlwX3Byb3RvGA0gASgNSABSB2lwUHJvdG8SGwoIaXB2NF9zcmMYDiABKA1IAFIHaXB2NFNyYxIbCghpcHY0X2RzdBgPIAEoDUgAUgdpcHY0RHN0EhkKB3RjcF9zcmMYECABKA1IAFIGdGNwU3JjEhkKB3RjcF9kc3QYESABKA1IAFIGdGNwRHN0EhkKB3VkcF9zcmMYEiABKA1IAFIGdWRwU3JjEhkKB3VkcF9kc3QYEyABKA1IAFIGdWRwRHN0EhsKCHNjdHBfc3JjGBQgASgNSABSB3NjdHBTcmMSGwoIc2N0cF9kc3QYFSABKA1IAFIHc2N0cERzdBIhCgtpY21wdjRfdHlwZRgWIAEoDUgAUgppY21wdjRUeXBlEiEKC2ljbXB2NF9jb2RlGBcgASgNSABSCmljbXB2NENvZGUSFwoGYXJwX29wGBggASgNSABSBWFycE9wEhkKB2FycF9zcGEYGSABKA1IAFIGYXJwU3BhEhkKB2FycF90cGEYGiABKA1IAFIGYXJwVHBhEhkKB2FycF9zaGEYGyABKAxIAFIGYXJwU2hhEhkKB2FycF90aGEYHCABKAxIAFIGYXJwVGhhEhsKCGlwdjZfc3JjGB0gASgMSABSB2lwdjZTcmMSGwoIaXB2Nl9kc3QYHiABKAxIAFIHaXB2NkRzdBIhCgtpcHY2X2ZsYWJlbBgfIAEoDUgAUgppcHY2RmxhYmVsEiEKC2ljbXB2Nl90eXBlGCAgASgNSABSCmljbXB2NlR5cGUSIQoLaWNtcHY2X2NvZGUYISABKA1IAFIKaWNtcHY2Q29kZRImCg5pcHY2X25kX3RhcmdldBgiIAEoDEgAUgxpcHY2TmRUYXJnZXQSIAoLaXB2Nl9uZF9zc2wYIyABKAxIAFIJaXB2Nk5kU3NsEiAKC2lwdjZfbmRfdGxsGCQgASgMSABSCWlwdjZOZFRsbBIfCgptcGxzX2xhYmVsGCUgASgNSABSCW1wbHNMYWJlbBIZCgdtcGxzX3RjGCYgASgNSABSBm1wbHNUYxIbCghtcGxzX2JvcxgnIAEoDUgAUgdtcGxzQm9zEhsKCHBiYl9pc2lkGCggASgNSABSB3BiYklzaWQSHQoJdHVubmVsX2lkGCkgASgESABSCHR1bm5lbElkEiEKC2lwdjZfZXh0aGRyGCogASgNSABSCmlwdjZFeHRoZHISMAoTdGFibGVfbWV0YWRhdGFfbWFzaxhpIAEoBEgBUhF0YWJsZU1ldGFkYXRhTWFzaxIiCgxldGhfZHN0X21hc2sYaiABKAxIAVIKZXRoRHN0TWFzaxIiCgxldGhfc3JjX21hc2sYayABKAxIAVIKZXRoU3JjTWFzaxIkCg12bGFuX3ZpZF9tYXNrGG0gASgNSAFSC3ZsYW5WaWRNYXNrEiQKDWlwdjRfc3JjX21hc2sYciABKA1IAVILaXB2NFNyY01hc2sSJAoNaXB2NF9kc3RfbWFzaxhzIAEoDUgBUgtpcHY0RHN0TWFzaxIiCgxhcnBfc3BhX21hc2sYfSABKA1IAVIKYXJwU3BhTWFzaxIiCgxhcnBfdHBhX21hc2sYfiABKA1IAVIKYXJwVHBhTWFzaxIlCg1pcHY2X3NyY19tYXNrGIEBIAEoDEgBUgtpcHY2U3JjTWFzaxIlCg1pcHY2X2RzdF9tYXNrGIIBIAEoDEgBUgtpcHY2RHN0TWFzaxIrChBpcHY2X2ZsYWJlbF9tYXNrGIMBIAEoDUgBUg5pcHY2RmxhYmVsTWFzaxIlCg1wYmJfaXNpZF9tYXNrGIwBIAEoDUgBUgtwYmJJc2lkTWFzaxInCg50dW5uZWxfaWRfbWFzaxiNASABKARIAVIMdHVubmVsSWRNYXNrEisKEGlwdjZfZXh0aGRyX21hc2sYjgEgASgNSAFSDmlwdjZFeHRoZHJNYXNrQgcKBXZhbHVlQgYKBG1hc2siXwoab2ZwX294bV9leHBlcmltZW50ZXJfZmllbGQSHQoKb3htX2hlYWRlchgBIAEoDVIJb3htSGVhZGVyEiIKDGV4cGVyaW1lbnRlchgCIAEoDVIMZXhwZXJpbWVudGVyIrIECgpvZnBfYWN0aW9uEjAKBHR5cGUYASABKA4yHC5vcGVuZmxvd18xMy5vZnBfYWN0aW9uX3R5cGVSBHR5cGUSOAoGb3V0cHV0GAIgASgLMh4ub3BlbmZsb3dfMTMub2ZwX2FjdGlvbl9vdXRwdXRIAFIGb3V0cHV0Ej0KCG1wbHNfdHRsGAMgASgLMiAub3BlbmZsb3dfMTMub2ZwX2FjdGlvbl9tcGxzX3R0bEgAUgdtcGxzVHRsEjIKBHB1c2gYBCABKAsyHC5vcGVuZmxvd18xMy5vZnBfYWN0aW9uX3B1c2hIAFIEcHVzaBI9Cghwb3BfbXBscxgFIAEoCzIgLm9wZW5mbG93XzEzLm9mcF9hY3Rpb25fcG9wX21wbHNIAFIHcG9wTXBscxI1CgVncm91cBgGIAEoCzIdLm9wZW5mbG93XzEzLm9mcF9hY3Rpb25fZ3JvdXBIAFIFZ3JvdXASNwoGbndfdHRsGAcgASgLMh4ub3BlbmZsb3dfMTMub2ZwX2FjdGlvbl9ud190dGxIAFIFbndUdGwSQAoJc2V0X2ZpZWxkGAggASgLMiEub3BlbmZsb3dfMTMub2ZwX2FjdGlvbl9zZXRfZmllbGRIAFIIc2V0RmllbGQSSgoMZXhwZXJpbWVudGVyGAkgASgLMiQub3BlbmZsb3dfMTMub2ZwX2FjdGlvbl9leHBlcmltZW50ZXJIAFIMZXhwZXJpbWVudGVyQggKBmFjdGlvbiJAChFvZnBfYWN0aW9uX291dHB1dBISCgRwb3J0GAEgASgNUgRwb3J0EhcKB21heF9sZW4YAiABKA1SBm1heExlbiIwChNvZnBfYWN0aW9uX21wbHNfdHRsEhkKCG1wbHNfdHRsGAEgASgNUgdtcGxzVHRsIi8KD29mcF9hY3Rpb25fcHVzaBIcCglldGhlcnR5cGUYASABKA1SCWV0aGVydHlwZSIzChNvZnBfYWN0aW9uX3BvcF9tcGxzEhwKCWV0aGVydHlwZRgBIAEoDVIJZXRoZXJ0eXBlIi0KEG9mcF9hY3Rpb25fZ3JvdXASGQoIZ3JvdXBfaWQYASABKA1SB2dyb3VwSWQiKgoRb2ZwX2FjdGlvbl9ud190dGwSFQoGbndfdHRsGAEgASgNUgVud1R0bCJIChRvZnBfYWN0aW9uX3NldF9maWVsZBIwCgVmaWVsZBgBIAEoCzIaLm9wZW5mbG93XzEzLm9mcF9veG1fZmllbGRSBWZpZWxkIlEKF29mcF9hY3Rpb25fZXhwZXJpbWVudGVyEiIKDGV4cGVyaW1lbnRlchgBIAEoDVIMZXhwZXJpbWVudGVyEhIKBGRhdGEYAiABKAxSBGRhdGEinAMKD29mcF9pbnN0cnVjdGlvbhISCgR0eXBlGAEgASgNUgR0eXBlEkgKCmdvdG9fdGFibGUYAiABKAsyJy5vcGVuZmxvd18xMy5vZnBfaW5zdHJ1Y3Rpb25fZ290b190YWJsZUgAUglnb3RvVGFibGUSVAoOd3JpdGVfbWV0YWRhdGEYAyABKAsyKy5vcGVuZmxvd18xMy5vZnBfaW5zdHJ1Y3Rpb25fd3JpdGVfbWV0YWRhdGFIAFINd3JpdGVNZXRhZGF0YRJACgdhY3Rpb25zGAQgASgLMiQub3BlbmZsb3dfMTMub2ZwX2luc3RydWN0aW9uX2FjdGlvbnNIAFIHYWN0aW9ucxI6CgVtZXRlchgFIAEoCzIiLm9wZW5mbG93XzEzLm9mcF9pbnN0cnVjdGlvbl9tZXRlckgAUgVtZXRlchJPCgxleHBlcmltZW50ZXIYBiABKAsyKS5vcGVuZmxvd18xMy5vZnBfaW5zdHJ1Y3Rpb25fZXhwZXJpbWVudGVySABSDGV4cGVyaW1lbnRlckIGCgRkYXRhIjcKGm9mcF9pbnN0cnVjdGlvbl9nb3RvX3RhYmxlEhkKCHRhYmxlX2lkGAEgASgNUgd0YWJsZUlkImEKHm9mcF9pbnN0cnVjdGlvbl93cml0ZV9tZXRhZGF0YRIaCghtZXRhZGF0YRgBIAEoBFIIbWV0YWRhdGESIwoNbWV0YWRhdGFfbWFzaxgCIAEoBFIMbWV0YWRhdGFNYXNrIkwKF29mcF9pbnN0cnVjdGlvbl9hY3Rpb25zEjEKB2FjdGlvbnMYASADKAsyFy5vcGVuZmxvd18xMy5vZnBfYWN0aW9uUgdhY3Rpb25zIjIKFW9mcF9pbnN0cnVjdGlvbl9tZXRlchIZCghtZXRlcl9pZBgBIAEoDVIHbWV0ZXJJZCJWChxvZnBfaW5zdHJ1Y3Rpb25fZXhwZXJpbWVudGVyEiIKDGV4cGVyaW1lbnRlchgBIAEoDVIMZXhwZXJpbWVudGVyEhIKBGRhdGEYAiABKAxSBGRhdGEi3AMKDG9mcF9mbG93X21vZBIWCgZjb29raWUYASABKARSBmNvb2tpZRIfCgtjb29raWVfbWFzaxgCIAEoBFIKY29va2llTWFzaxIZCgh0YWJsZV9pZBgDIAEoDVIHdGFibGVJZBI7Cgdjb21tYW5kGAQgASgOMiEub3BlbmZsb3dfMTMub2ZwX2Zsb3dfbW9kX2NvbW1hbmRSB2NvbW1hbmQSIQoMaWRsZV90aW1lb3V0GAUgASgNUgtpZGxlVGltZW91dBIhCgxoYXJkX3RpbWVvdXQYBiABKA1SC2hhcmRUaW1lb3V0EhoKCHByaW9yaXR5GAcgASgNUghwcmlvcml0eRIbCglidWZmZXJfaWQYCCABKA1SCGJ1ZmZlcklkEhkKCG91dF9wb3J0GAkgASgNUgdvdXRQb3J0EhsKCW91dF9ncm91cBgKIAEoDVIIb3V0R3JvdXASFAoFZmxhZ3MYCyABKA1SBWZsYWdzEiwKBW1hdGNoGAwgASgLMhYub3BlbmZsb3dfMTMub2ZwX21hdGNoUgVtYXRjaBJACgxpbnN0cnVjdGlvbnMYDSADKAsyHC5vcGVuZmxvd18xMy5vZnBfaW5zdHJ1Y3Rpb25SDGluc3RydWN0aW9ucyKXAQoKb2ZwX2J1Y2tldBIWCgZ3ZWlnaHQYASABKA1SBndlaWdodBIdCgp3YXRjaF9wb3J0GAIgASgNUgl3YXRjaFBvcnQSHwoLd2F0Y2hfZ3JvdXAYAyABKA1SCndhdGNoR3JvdXASMQoHYWN0aW9ucxgEIAMoCzIXLm9wZW5mbG93XzEzLm9mcF9hY3Rpb25SB2FjdGlvbnMizAEKDW9mcF9ncm91cF9tb2QSPAoHY29tbWFuZBgBIAEoDjIiLm9wZW5mbG93XzEzLm9mcF9ncm91cF9tb2RfY29tbWFuZFIHY29tbWFuZBIvCgR0eXBlGAIgASgOMhsub3BlbmZsb3dfMTMub2ZwX2dyb3VwX3R5cGVSBHR5cGUSGQoIZ3JvdXBfaWQYAyABKA1SB2dyb3VwSWQSMQoHYnVja2V0cxgEIAMoCzIXLm9wZW5mbG93XzEzLm9mcF9idWNrZXRSB2J1Y2tldHMijQEKDm9mcF9wYWNrZXRfb3V0EhsKCWJ1ZmZlcl9pZBgBIAEoDVIIYnVmZmVySWQSFwoHaW5fcG9ydBgCIAEoDVIGaW5Qb3J0EjEKB2FjdGlvbnMYAyADKAsyFy5vcGVuZmxvd18xMy5vZnBfYWN0aW9uUgdhY3Rpb25zEhIKBGRhdGEYBCABKAxSBGRhdGEi3AEKDW9mcF9wYWNrZXRfaW4SGwoJYnVmZmVyX2lkGAEgASgNUghidWZmZXJJZBI5CgZyZWFzb24YAiABKA4yIS5vcGVuZmxvd18xMy5vZnBfcGFja2V0X2luX3JlYXNvblIGcmVhc29uEhkKCHRhYmxlX2lkGAMgASgNUgd0YWJsZUlkEhYKBmNvb2tpZRgEIAEoBFIGY29va2llEiwKBW1hdGNoGAUgASgLMhYub3BlbmZsb3dfMTMub2ZwX21hdGNoUgVtYXRjaBISCgRkYXRhGAYgASgMUgRkYXRhIp0DChBvZnBfZmxvd19yZW1vdmVkEhYKBmNvb2tpZRgBIAEoBFIGY29va2llEhoKCHByaW9yaXR5GAIgASgNUghwcmlvcml0eRI8CgZyZWFzb24YAyABKA4yJC5vcGVuZmxvd18xMy5vZnBfZmxvd19yZW1vdmVkX3JlYXNvblIGcmVhc29uEhkKCHRhYmxlX2lkGAQgASgNUgd0YWJsZUlkEiEKDGR1cmF0aW9uX3NlYxgFIAEoDVILZHVyYXRpb25TZWMSIwoNZHVyYXRpb25fbnNlYxgGIAEoDVIMZHVyYXRpb25Oc2VjEiEKDGlkbGVfdGltZW91dBgHIAEoDVILaWRsZVRpbWVvdXQSIQoMaGFyZF90aW1lb3V0GAggASgNUgtoYXJkVGltZW91dBIhCgxwYWNrZXRfY291bnQYCSABKARSC3BhY2tldENvdW50Eh0KCmJ5dGVfY291bnQYCiABKARSCWJ5dGVDb3VudBIsCgVtYXRjaBh5IAEoCzIWLm9wZW5mbG93XzEzLm9mcF9tYXRjaFIFbWF0Y2gi3AIKFW9mcF9tZXRlcl9iYW5kX2hlYWRlchI0CgR0eXBlGAEgASgOMiAub3BlbmZsb3dfMTMub2ZwX21ldGVyX2JhbmRfdHlwZVIEdHlwZRISCgRyYXRlGAIgASgNUgRyYXRlEh0KCmJ1cnN0X3NpemUYAyABKA1SCWJ1cnN0U2l6ZRI2CgRkcm9wGAQgASgLMiAub3BlbmZsb3dfMTMub2ZwX21ldGVyX2JhbmRfZHJvcEgAUgRkcm9wEkoKC2RzY3BfcmVtYXJrGAUgASgLMicub3BlbmZsb3dfMTMub2ZwX21ldGVyX2JhbmRfZHNjcF9yZW1hcmtIAFIKZHNjcFJlbWFyaxJOCgxleHBlcmltZW50ZXIYBiABKAsyKC5vcGVuZmxvd18xMy5vZnBfbWV0ZXJfYmFuZF9leHBlcmltZW50ZXJIAFIMZXhwZXJpbWVudGVyQgYKBGRhdGEiFQoTb2ZwX21ldGVyX2JhbmRfZHJvcCI7ChpvZnBfbWV0ZXJfYmFuZF9kc2NwX3JlbWFyaxIdCgpwcmVjX2xldmVsGAEgASgNUglwcmVjTGV2ZWwiQQobb2ZwX21ldGVyX2JhbmRfZXhwZXJpbWVudGVyEiIKDGV4cGVyaW1lbnRlchgBIAEoDVIMZXhwZXJpbWVudGVyIrgBCg1vZnBfbWV0ZXJfbW9kEjwKB2NvbW1hbmQYASABKA4yIi5vcGVuZmxvd18xMy5vZnBfbWV0ZXJfbW9kX2NvbW1hbmRSB2NvbW1hbmQSFAoFZmxhZ3MYAiABKA1SBWZsYWdzEhkKCG1ldGVyX2lkGAMgASgNUgdtZXRlcklkEjgKBWJhbmRzGAQgAygLMiIub3BlbmZsb3dfMTMub2ZwX21ldGVyX2JhbmRfaGVhZGVyUgViYW5kcyJ8Cg1vZnBfZXJyb3JfbXNnEi8KBmhlYWRlchgBIAEoCzIXLm9wZW5mbG93XzEzLm9mcF9oZWFkZXJSBmhlYWRlchISCgR0eXBlGAIgASgNUgR0eXBlEhIKBGNvZGUYAyABKA1SBGNvZGUSEgoEZGF0YRgEIAEoDFIEZGF0YSKDAQoab2ZwX2Vycm9yX2V4cGVyaW1lbnRlcl9tc2cSEgoEdHlwZRgBIAEoDVIEdHlwZRIZCghleHBfdHlwZRgCIAEoDVIHZXhwVHlwZRIiCgxleHBlcmltZW50ZXIYAyABKA1SDGV4cGVyaW1lbnRlchISCgRkYXRhGAQgASgMUgRkYXRhInYKFW9mcF9tdWx0aXBhcnRfcmVxdWVzdBIzCgR0eXBlGAEgASgOMh8ub3BlbmZsb3dfMTMub2ZwX211bHRpcGFydF90eXBlUgR0eXBlEhQKBWZsYWdzGAIgASgNUgVmbGFncxISCgRib2R5GAMgASgMUgRib2R5InQKE29mcF9tdWx0aXBhcnRfcmVwbHkSMwoEdHlwZRgBIAEoDjIfLm9wZW5mbG93XzEzLm9mcF9tdWx0aXBhcnRfdHlwZVIEdHlwZRIUCgVmbGFncxgCIAEoDVIFZmxhZ3MSEgoEYm9keRgDIAEoDFIEYm9keSKPAQoIb2ZwX2Rlc2MSGQoIbWZyX2Rlc2MYASABKAlSB21mckRlc2MSFwoHaHdfZGVzYxgCIAEoCVIGaHdEZXNjEhcKB3N3X2Rlc2MYAyABKAlSBnN3RGVzYxIdCgpzZXJpYWxfbnVtGAQgASgJUglzZXJpYWxOdW0SFwoHZHBfZGVzYxgFIAEoCVIGZHBEZXNjItIBChZvZnBfZmxvd19zdGF0c19yZXF1ZXN0EhkKCHRhYmxlX2lkGAEgASgNUgd0YWJsZUlkEhkKCG91dF9wb3J0GAIgASgNUgdvdXRQb3J0EhsKCW91dF9ncm91cBgDIAEoDVIIb3V0R3JvdXASFgoGY29va2llGAQgASgEUgZjb29raWUSHwoLY29va2llX21hc2sYBSABKARSCmNvb2tpZU1hc2sSLAoFbWF0Y2gYBiABKAsyFi5vcGVuZmxvd18xMy5vZnBfbWF0Y2hSBW1hdGNoIsUDCg5vZnBfZmxvd19zdGF0cxIOCgJpZBgOIAEoBFICaWQSGQoIdGFibGVfaWQYASABKA1SB3RhYmxlSWQSIQoMZHVyYXRpb25fc2VjGAIgASgNUgtkdXJhdGlvblNlYxIjCg1kdXJhdGlvbl9uc2VjGAMgASgNUgxkdXJhdGlvbk5zZWMSGgoIcHJpb3JpdHkYBCABKA1SCHByaW9yaXR5EiEKDGlkbGVfdGltZW91dBgFIAEoDVILaWRsZVRpbWVvdXQSIQoMaGFyZF90aW1lb3V0GAYgASgNUgtoYXJkVGltZW91dBIUCgVmbGFncxgHIAEoDVIFZmxhZ3MSFgoGY29va2llGAggASgEUgZjb29raWUSIQoMcGFja2V0X2NvdW50GAkgASgEUgtwYWNrZXRDb3VudBIdCgpieXRlX2NvdW50GAogASgEUglieXRlQ291bnQSLAoFbWF0Y2gYDCABKAsyFi5vcGVuZmxvd18xMy5vZnBfbWF0Y2hSBW1hdGNoEkAKDGluc3RydWN0aW9ucxgNIAMoCzIcLm9wZW5mbG93XzEzLm9mcF9pbnN0cnVjdGlvblIMaW5zdHJ1Y3Rpb25zItcBChtvZnBfYWdncmVnYXRlX3N0YXRzX3JlcXVlc3QSGQoIdGFibGVfaWQYASABKA1SB3RhYmxlSWQSGQoIb3V0X3BvcnQYAiABKA1SB291dFBvcnQSGwoJb3V0X2dyb3VwGAMgASgNUghvdXRHcm91cBIWCgZjb29raWUYBCABKARSBmNvb2tpZRIfCgtjb29raWVfbWFzaxgFIAEoBFIKY29va2llTWFzaxIsCgVtYXRjaBgGIAEoCzIWLm9wZW5mbG93XzEzLm9mcF9tYXRjaFIFbWF0Y2gifAoZb2ZwX2FnZ3JlZ2F0ZV9zdGF0c19yZXBseRIhCgxwYWNrZXRfY291bnQYASABKARSC3BhY2tldENvdW50Eh0KCmJ5dGVfY291bnQYAiABKARSCWJ5dGVDb3VudBIdCgpmbG93X2NvdW50GAMgASgNUglmbG93Q291bnQi7QMKGm9mcF90YWJsZV9mZWF0dXJlX3Byb3BlcnR5EjwKBHR5cGUYASABKA4yKC5vcGVuZmxvd18xMy5vZnBfdGFibGVfZmVhdHVyZV9wcm9wX3R5cGVSBHR5cGUSVgoMaW5zdHJ1Y3Rpb25zGAIgASgLMjAub3BlbmZsb3dfMTMub2ZwX3RhYmxlX2ZlYXR1cmVfcHJvcF9pbnN0cnVjdGlvbnNIAFIMaW5zdHJ1Y3Rpb25zElIKC25leHRfdGFibGVzGAMgASgLMi8ub3BlbmZsb3dfMTMub2ZwX3RhYmxlX2ZlYXR1cmVfcHJvcF9uZXh0X3RhYmxlc0gAUgpuZXh0VGFibGVzEkcKB2FjdGlvbnMYBCABKAsyKy5vcGVuZmxvd18xMy5vZnBfdGFibGVfZmVhdHVyZV9wcm9wX2FjdGlvbnNIAFIHYWN0aW9ucxI7CgNveG0YBSABKAsyJy5vcGVuZmxvd18xMy5vZnBfdGFibGVfZmVhdHVyZV9wcm9wX294bUgAUgNveG0SVgoMZXhwZXJpbWVudGVyGAYgASgLMjAub3BlbmZsb3dfMTMub2ZwX3RhYmxlX2ZlYXR1cmVfcHJvcF9leHBlcmltZW50ZXJIAFIMZXhwZXJpbWVudGVyQgcKBXZhbHVlImcKI29mcF90YWJsZV9mZWF0dXJlX3Byb3BfaW5zdHJ1Y3Rpb25zEkAKDGluc3RydWN0aW9ucxgBIAMoCzIcLm9wZW5mbG93XzEzLm9mcF9pbnN0cnVjdGlvblIMaW5zdHJ1Y3Rpb25zIkoKIm9mcF90YWJsZV9mZWF0dXJlX3Byb3BfbmV4dF90YWJsZXMSJAoObmV4dF90YWJsZV9pZHMYASADKA1SDG5leHRUYWJsZUlkcyJTCh5vZnBfdGFibGVfZmVhdHVyZV9wcm9wX2FjdGlvbnMSMQoHYWN0aW9ucxgBIAMoCzIXLm9wZW5mbG93XzEzLm9mcF9hY3Rpb25SB2FjdGlvbnMiNQoab2ZwX3RhYmxlX2ZlYXR1cmVfcHJvcF9veG0SFwoHb3htX2lkcxgDIAMoDVIGb3htSWRzIpEBCiNvZnBfdGFibGVfZmVhdHVyZV9wcm9wX2V4cGVyaW1lbnRlchIiCgxleHBlcmltZW50ZXIYAiABKA1SDGV4cGVyaW1lbnRlchIZCghleHBfdHlwZRgDIAEoDVIHZXhwVHlwZRIrChFleHBlcmltZW50ZXJfZGF0YRgEIAMoDVIQZXhwZXJpbWVudGVyRGF0YSKTAgoSb2ZwX3RhYmxlX2ZlYXR1cmVzEhkKCHRhYmxlX2lkGAEgASgNUgd0YWJsZUlkEhIKBG5hbWUYAiABKAlSBG5hbWUSJQoObWV0YWRhdGFfbWF0Y2gYAyABKARSDW1ldGFkYXRhTWF0Y2gSJQoObWV0YWRhdGFfd3JpdGUYBCABKARSDW1ldGFkYXRhV3JpdGUSFgoGY29uZmlnGAUgASgNUgZjb25maWcSHwoLbWF4X2VudHJpZXMYBiABKA1SCm1heEVudHJpZXMSRwoKcHJvcGVydGllcxgHIAMoCzInLm9wZW5mbG93XzEzLm9mcF90YWJsZV9mZWF0dXJlX3Byb3BlcnR5Ugpwcm9wZXJ0aWVzIpcBCg9vZnBfdGFibGVfc3RhdHMSGQoIdGFibGVfaWQYASABKA1SB3RhYmxlSWQSIQoMYWN0aXZlX2NvdW50GAIgASgNUgthY3RpdmVDb3VudBIhCgxsb29rdXBfY291bnQYAyABKARSC2xvb2t1cENvdW50EiMKDW1hdGNoZWRfY291bnQYBCABKARSDG1hdGNoZWRDb3VudCIxChZvZnBfcG9ydF9zdGF0c19yZXF1ZXN0EhcKB3BvcnRfbm8YASABKA1SBnBvcnRObyLdAwoOb2ZwX3BvcnRfc3RhdHMSFwoHcG9ydF9ubxgBIAEoDVIGcG9ydE5vEh0KCnJ4X3BhY2tldHMYAiABKARSCXJ4UGFja2V0cxIdCgp0eF9wYWNrZXRzGAMgASgEUgl0eFBhY2tldHMSGQoIcnhfYnl0ZXMYBCABKARSB3J4Qnl0ZXMSGQoIdHhfYnl0ZXMYBSABKARSB3R4Qnl0ZXMSHQoKcnhfZHJvcHBlZBgGIAEoBFIJcnhEcm9wcGVkEh0KCnR4X2Ryb3BwZWQYByABKARSCXR4RHJvcHBlZBIbCglyeF9lcnJvcnMYCCABKARSCHJ4RXJyb3JzEhsKCXR4X2Vycm9ycxgJIAEoBFIIdHhFcnJvcnMSIAoMcnhfZnJhbWVfZXJyGAogASgEUgpyeEZyYW1lRXJyEh4KC3J4X292ZXJfZXJyGAsgASgEUglyeE92ZXJFcnISHAoKcnhfY3JjX2VychgMIAEoBFIIcnhDcmNFcnISHgoKY29sbGlzaW9ucxgNIAEoBFIKY29sbGlzaW9ucxIhCgxkdXJhdGlvbl9zZWMYDiABKA1SC2R1cmF0aW9uU2VjEiMKDWR1cmF0aW9uX25zZWMYDyABKA1SDGR1cmF0aW9uTnNlYyI0ChdvZnBfZ3JvdXBfc3RhdHNfcmVxdWVzdBIZCghncm91cF9pZBgBIAEoDVIHZ3JvdXBJZCJWChJvZnBfYnVja2V0X2NvdW50ZXISIQoMcGFja2V0X2NvdW50GAEgASgEUgtwYWNrZXRDb3VudBIdCgpieXRlX2NvdW50GAIgASgEUglieXRlQ291bnQilwIKD29mcF9ncm91cF9zdGF0cxIZCghncm91cF9pZBgBIAEoDVIHZ3JvdXBJZBIbCglyZWZfY291bnQYAiABKA1SCHJlZkNvdW50EiEKDHBhY2tldF9jb3VudBgDIAEoBFILcGFja2V0Q291bnQSHQoKYnl0ZV9jb3VudBgEIAEoBFIJYnl0ZUNvdW50EiEKDGR1cmF0aW9uX3NlYxgFIAEoDVILZHVyYXRpb25TZWMSIwoNZHVyYXRpb25fbnNlYxgGIAEoDVIMZHVyYXRpb25Oc2VjEkIKDGJ1Y2tldF9zdGF0cxgHIAMoCzIfLm9wZW5mbG93XzEzLm9mcF9idWNrZXRfY291bnRlclILYnVja2V0U3RhdHMijwEKDm9mcF9ncm91cF9kZXNjEi8KBHR5cGUYASABKA4yGy5vcGVuZmxvd18xMy5vZnBfZ3JvdXBfdHlwZVIEdHlwZRIZCghncm91cF9pZBgCIAEoDVIHZ3JvdXBJZBIxCgdidWNrZXRzGAMgAygLMhcub3BlbmZsb3dfMTMub2ZwX2J1Y2tldFIHYnVja2V0cyJ2Cg9vZnBfZ3JvdXBfZW50cnkSLwoEZGVzYxgBIAEoCzIbLm9wZW5mbG93XzEzLm9mcF9ncm91cF9kZXNjUgRkZXNjEjIKBXN0YXRzGAIgASgLMhwub3BlbmZsb3dfMTMub2ZwX2dyb3VwX3N0YXRzUgVzdGF0cyKHAQoSb2ZwX2dyb3VwX2ZlYXR1cmVzEhQKBXR5cGVzGAEgASgNUgV0eXBlcxIiCgxjYXBhYmlsaXRpZXMYAiABKA1SDGNhcGFiaWxpdGllcxIdCgptYXhfZ3JvdXBzGAMgAygNUgltYXhHcm91cHMSGAoHYWN0aW9ucxgEIAMoDVIHYWN0aW9ucyI4ChtvZnBfbWV0ZXJfbXVsdGlwYXJ0X3JlcXVlc3QSGQoIbWV0ZXJfaWQYASABKA1SB21ldGVySWQiagoUb2ZwX21ldGVyX2JhbmRfc3RhdHMSKgoRcGFja2V0X2JhbmRfY291bnQYASABKARSD3BhY2tldEJhbmRDb3VudBImCg9ieXRlX2JhbmRfY291bnQYAiABKARSDWJ5dGVCYW5kQ291bnQioQIKD29mcF9tZXRlcl9zdGF0cxIZCghtZXRlcl9pZBgBIAEoDVIHbWV0ZXJJZBIdCgpmbG93X2NvdW50GAIgASgNUglmbG93Q291bnQSJgoPcGFja2V0X2luX2NvdW50GAMgASgEUg1wYWNrZXRJbkNvdW50EiIKDWJ5dGVfaW5fY291bnQYBCABKARSC2J5dGVJbkNvdW50EiEKDGR1cmF0aW9uX3NlYxgFIAEoDVILZHVyYXRpb25TZWMSIwoNZHVyYXRpb25fbnNlYxgGIAEoDVIMZHVyYXRpb25Oc2VjEkAKCmJhbmRfc3RhdHMYByADKAsyIS5vcGVuZmxvd18xMy5vZnBfbWV0ZXJfYmFuZF9zdGF0c1IJYmFuZFN0YXRzIn0KEG9mcF9tZXRlcl9jb25maWcSFAoFZmxhZ3MYASABKA1SBWZsYWdzEhkKCG1ldGVyX2lkGAIgASgNUgdtZXRlcklkEjgKBWJhbmRzGAMgAygLMiIub3BlbmZsb3dfMTMub2ZwX21ldGVyX2JhbmRfaGVhZGVyUgViYW5kcyKuAQoSb2ZwX21ldGVyX2ZlYXR1cmVzEhsKCW1heF9tZXRlchgBIAEoDVIIbWF4TWV0ZXISHQoKYmFuZF90eXBlcxgCIAEoDVIJYmFuZFR5cGVzEiIKDGNhcGFiaWxpdGllcxgDIAEoDVIMY2FwYWJpbGl0aWVzEhsKCW1heF9iYW5kcxgEIAEoDVIIbWF4QmFuZHMSGwoJbWF4X2NvbG9yGAUgASgNUghtYXhDb2xvciJ8Cg9vZnBfbWV0ZXJfZW50cnkSNQoGY29uZmlnGAEgASgLMh0ub3BlbmZsb3dfMTMub2ZwX21ldGVyX2NvbmZpZ1IGY29uZmlnEjIKBXN0YXRzGAIgASgLMhwub3BlbmZsb3dfMTMub2ZwX21ldGVyX3N0YXRzUgVzdGF0cyJ2CiFvZnBfZXhwZXJpbWVudGVyX211bHRpcGFydF9oZWFkZXISIgoMZXhwZXJpbWVudGVyGAEgASgNUgxleHBlcmltZW50ZXISGQoIZXhwX3R5cGUYAiABKA1SB2V4cFR5cGUSEgoEZGF0YRgDIAEoDFIEZGF0YSJsChdvZnBfZXhwZXJpbWVudGVyX2hlYWRlchIiCgxleHBlcmltZW50ZXIYASABKA1SDGV4cGVyaW1lbnRlchIZCghleHBfdHlwZRgCIAEoDVIHZXhwVHlwZRISCgRkYXRhGAMgASgMUgRkYXRhIkUKFW9mcF9xdWV1ZV9wcm9wX2hlYWRlchIaCghwcm9wZXJ0eRgBIAEoDVIIcHJvcGVydHkSEAoDbGVuGAIgASgNUgNsZW4icgoXb2ZwX3F1ZXVlX3Byb3BfbWluX3JhdGUSQwoLcHJvcF9oZWFkZXIYASABKAsyIi5vcGVuZmxvd18xMy5vZnBfcXVldWVfcHJvcF9oZWFkZXJSCnByb3BIZWFkZXISEgoEcmF0ZRgCIAEoDVIEcmF0ZSJyChdvZnBfcXVldWVfcHJvcF9tYXhfcmF0ZRJDCgtwcm9wX2hlYWRlchgBIAEoCzIiLm9wZW5mbG93XzEzLm9mcF9xdWV1ZV9wcm9wX2hlYWRlclIKcHJvcEhlYWRlchISCgRyYXRlGAIgASgNUgRyYXRlIpoBChtvZnBfcXVldWVfcHJvcF9leHBlcmltZW50ZXISQwoLcHJvcF9oZWFkZXIYASABKAsyIi5vcGVuZmxvd18xMy5vZnBfcXVldWVfcHJvcF9oZWFkZXJSCnByb3BIZWFkZXISIgoMZXhwZXJpbWVudGVyGAIgASgNUgxleHBlcmltZW50ZXISEgoEZGF0YRgDIAEoDFIEZGF0YSKFAQoQb2ZwX3BhY2tldF9xdWV1ZRIZCghxdWV1ZV9pZBgBIAEoDVIHcXVldWVJZBISCgRwb3J0GAIgASgNUgRwb3J0EkIKCnByb3BlcnRpZXMYBCADKAsyIi5vcGVuZmxvd18xMy5vZnBfcXVldWVfcHJvcF9oZWFkZXJSCnByb3BlcnRpZXMiMgocb2ZwX3F1ZXVlX2dldF9jb25maWdfcmVxdWVzdBISCgRwb3J0GAEgASgNUgRwb3J0ImcKGm9mcF9xdWV1ZV9nZXRfY29uZmlnX3JlcGx5EhIKBHBvcnQYASABKA1SBHBvcnQSNQoGcXVldWVzGAIgAygLMh0ub3BlbmZsb3dfMTMub2ZwX3BhY2tldF9xdWV1ZVIGcXVldWVzIkUKFG9mcF9hY3Rpb25fc2V0X3F1ZXVlEhIKBHR5cGUYASABKA1SBHR5cGUSGQoIcXVldWVfaWQYAyABKA1SB3F1ZXVlSWQiTQoXb2ZwX3F1ZXVlX3N0YXRzX3JlcXVlc3QSFwoHcG9ydF9ubxgBIAEoDVIGcG9ydE5vEhkKCHF1ZXVlX2lkGAIgASgNUgdxdWV1ZUlkIuQBCg9vZnBfcXVldWVfc3RhdHMSFwoHcG9ydF9ubxgBIAEoDVIGcG9ydE5vEhkKCHF1ZXVlX2lkGAIgASgNUgdxdWV1ZUlkEhkKCHR4X2J5dGVzGAMgASgEUgd0eEJ5dGVzEh0KCnR4X3BhY2tldHMYBCABKARSCXR4UGFja2V0cxIbCgl0eF9lcnJvcnMYBSABKARSCHR4RXJyb3JzEiEKDGR1cmF0aW9uX3NlYxgGIAEoDVILZHVyYXRpb25TZWMSIwoNZHVyYXRpb25fbnNlYxgHIAEoDVIMZHVyYXRpb25Oc2VjIm0KEG9mcF9yb2xlX3JlcXVlc3QSNAoEcm9sZRgBIAEoDjIgLm9wZW5mbG93XzEzLm9mcF9jb250cm9sbGVyX3JvbGVSBHJvbGUSIwoNZ2VuZXJhdGlvbl9pZBgCIAEoBFIMZ2VuZXJhdGlvbklkIo4BChBvZnBfYXN5bmNfY29uZmlnEiQKDnBhY2tldF9pbl9tYXNrGAEgAygNUgxwYWNrZXRJbk1hc2sSKAoQcG9ydF9zdGF0dXNfbWFzaxgCIAMoDVIOcG9ydFN0YXR1c01hc2sSKgoRZmxvd19yZW1vdmVkX21hc2sYAyADKA1SD2Zsb3dSZW1vdmVkTWFzayJrCg5NZXRlck1vZFVwZGF0ZRIOCgJpZBgBIAEoCVICaWQSNwoJbWV0ZXJfbW9kGAIgASgLMhoub3BlbmZsb3dfMTMub2ZwX21ldGVyX21vZFIIbWV0ZXJNb2QSEAoDeGlkGAMgASgNUgN4aWQiUAoPTWV0ZXJTdGF0c1JlcGx5Ej0KC21ldGVyX3N0YXRzGAEgAygLMhwub3BlbmZsb3dfMTMub2ZwX21ldGVyX3N0YXRzUgptZXRlclN0YXRzImkKD0Zsb3dUYWJsZVVwZGF0ZRIOCgJpZBgBIAEoCVICaWQSNAoIZmxvd19tb2QYAiABKAsyGS5vcGVuZmxvd18xMy5vZnBfZmxvd19tb2RSB2Zsb3dNb2QSEAoDeGlkGAMgASgNUgN4aWQicQoURmxvd0dyb3VwVGFibGVVcGRhdGUSDgoCaWQYASABKAlSAmlkEjcKCWdyb3VwX21vZBgCIAEoCzIaLm9wZW5mbG93XzEzLm9mcF9ncm91cF9tb2RSCGdyb3VwTW9kEhAKA3hpZBgDIAEoDVIDeGlkIjoKBUZsb3dzEjEKBWl0ZW1zGAEgAygLMhsub3BlbmZsb3dfMTMub2ZwX2Zsb3dfc3RhdHNSBWl0ZW1zIjwKBk1ldGVycxIyCgVpdGVtcxgBIAMoCzIcLm9wZW5mbG93XzEzLm9mcF9tZXRlcl9lbnRyeVIFaXRlbXMiQAoKRmxvd0dyb3VwcxIyCgVpdGVtcxgBIAMoCzIcLm9wZW5mbG93XzEzLm9mcF9ncm91cF9lbnRyeVIFaXRlbXMiaQoLRmxvd0NoYW5nZXMSKQoGdG9fYWRkGAEgASgLMhIub3BlbmZsb3dfMTMuRmxvd3NSBXRvQWRkEi8KCXRvX3JlbW92ZRgCIAEoCzISLm9wZW5mbG93XzEzLkZsb3dzUgh0b1JlbW92ZSKuAQoQRmxvd0dyb3VwQ2hhbmdlcxIuCgZ0b19hZGQYASABKAsyFy5vcGVuZmxvd18xMy5GbG93R3JvdXBzUgV0b0FkZBI0Cgl0b19yZW1vdmUYAiABKAsyFy5vcGVuZmxvd18xMy5GbG93R3JvdXBzUgh0b1JlbW92ZRI0Cgl0b191cGRhdGUYAyABKAsyFy5vcGVuZmxvd18xMy5GbG93R3JvdXBzUgh0b1VwZGF0ZSJTCghQYWNrZXRJbhIOCgJpZBgBIAEoCVICaWQSNwoJcGFja2V0X2luGAIgASgLMhoub3BlbmZsb3dfMTMub2ZwX3BhY2tldF9pblIIcGFja2V0SW4iVwoJUGFja2V0T3V0Eg4KAmlkGAEgASgJUgJpZBI6CgpwYWNrZXRfb3V0GAIgASgLMhsub3BlbmZsb3dfMTMub2ZwX3BhY2tldF9vdXRSCXBhY2tldE91dCKbAQoLQ2hhbmdlRXZlbnQSDgoCaWQYASABKAlSAmlkEj8KC3BvcnRfc3RhdHVzGAIgASgLMhwub3BlbmZsb3dfMTMub2ZwX3BvcnRfc3RhdHVzSABSCnBvcnRTdGF0dXMSMgoFZXJyb3IYAyABKAsyGi5vcGVuZmxvd18xMy5vZnBfZXJyb3JfbXNnSABSBWVycm9yQgcKBWV2ZW50IkUKDEZsb3dNZXRhZGF0YRI1CgZtZXRlcnMYASADKAsyHS5vcGVuZmxvd18xMy5vZnBfbWV0ZXJfY29uZmlnUgZtZXRlcnMq1QEKC29mcF9wb3J0X25vEhAKDE9GUFBfSU5WQUxJRBAAEhAKCE9GUFBfTUFYEID+//8HEhQKDE9GUFBfSU5fUE9SVBD4////BxISCgpPRlBQX1RBQkxFEPn///8HEhMKC09GUFBfTk9STUFMEPr///8HEhIKCk9GUFBfRkxPT0QQ+////wcSEAoIT0ZQUF9BTEwQ/P///wcSFwoPT0ZQUF9DT05UUk9MTEVSEP3///8HEhIKCk9GUFBfTE9DQUwQ/v///wcSEAoIT0ZQUF9BTlkQ/////wcqyAUKCG9mcF90eXBlEg4KCk9GUFRfSEVMTE8QABIOCgpPRlBUX0VSUk9SEAESFQoRT0ZQVF9FQ0hPX1JFUVVFU1QQAhITCg9PRlBUX0VDSE9fUkVQTFkQAxIVChFPRlBUX0VYUEVSSU1FTlRFUhAEEhkKFU9GUFRfRkVBVFVSRVNfUkVRVUVTVBAFEhcKE09GUFRfRkVBVFVSRVNfUkVQTFkQBhIbChdPRlBUX0dFVF9DT05GSUdfUkVRVUVTVBAHEhkKFU9GUFRfR0VUX0NPTkZJR19SRVBMWRAIEhMKD09GUFRfU0VUX0NPTkZJRxAJEhIKDk9GUFRfUEFDS0VUX0lOEAoSFQoRT0ZQVF9GTE9XX1JFTU9WRUQQCxIUChBPRlBUX1BPUlRfU1RBVFVTEAwSEwoPT0ZQVF9QQUNLRVRfT1VUEA0SEQoNT0ZQVF9GTE9XX01PRBAOEhIKDk9GUFRfR1JPVVBfTU9EEA8SEQoNT0ZQVF9QT1JUX01PRBAQEhIKDk9GUFRfVEFCTEVfTU9EEBESGgoWT0ZQVF9NVUxUSVBBUlRfUkVRVUVTVBASEhgKFE9GUFRfTVVMVElQQVJUX1JFUExZEBMSGAoUT0ZQVF9CQVJSSUVSX1JFUVVFU1QQFBIWChJPRlBUX0JBUlJJRVJfUkVQTFkQFRIhCh1PRlBUX1FVRVVFX0dFVF9DT05GSUdfUkVRVUVTVBAWEh8KG09GUFRfUVVFVUVfR0VUX0NPTkZJR19SRVBMWRAXEhUKEU9GUFRfUk9MRV9SRVFVRVNUEBgSEwoPT0ZQVF9ST0xFX1JFUExZEBkSGgoWT0ZQVF9HRVRfQVNZTkNfUkVRVUVTVBAaEhgKFE9GUFRfR0VUX0FTWU5DX1JFUExZEBsSEgoOT0ZQVF9TRVRfQVNZTkMQHBISCg5PRlBUX01FVEVSX01PRBAdKkMKE29mcF9oZWxsb19lbGVtX3R5cGUSEgoOT0ZQSEVUX0lOVkFMSUQQABIYChRPRlBIRVRfVkVSU0lPTkJJVE1BUBABKmUKEG9mcF9jb25maWdfZmxhZ3MSFAoQT0ZQQ19GUkFHX05PUk1BTBAAEhIKDk9GUENfRlJBR19EUk9QEAESEwoPT0ZQQ19GUkFHX1JFQVNNEAISEgoOT0ZQQ19GUkFHX01BU0sQAypAChBvZnBfdGFibGVfY29uZmlnEhEKDU9GUFRDX0lOVkFMSUQQABIZChVPRlBUQ19ERVBSRUNBVEVEX01BU0sQAyo+CglvZnBfdGFibGUSEQoNT0ZQVFRfSU5WQUxJRBAAEg4KCU9GUFRUX01BWBD+ARIOCglPRlBUVF9BTEwQ/wEquwEKEG9mcF9jYXBhYmlsaXRpZXMSEAoMT0ZQQ19JTlZBTElEEAASEwoPT0ZQQ19GTE9XX1NUQVRTEAESFAoQT0ZQQ19UQUJMRV9TVEFUUxACEhMKD09GUENfUE9SVF9TVEFUUxAEEhQKEE9GUENfR1JPVVBfU1RBVFMQCBIRCg1PRlBDX0lQX1JFQVNNECASFAoQT0ZQQ19RVUVVRV9TVEFUUxBAEhYKEU9GUENfUE9SVF9CTE9DS0VEEIACKnYKD29mcF9wb3J0X2NvbmZpZxIRCg1PRlBQQ19JTlZBTElEEAASEwoPT0ZQUENfUE9SVF9ET1dOEAESEQoNT0ZQUENfTk9fUkVDVhAEEhAKDE9GUFBDX05PX0ZXRBAgEhYKEk9GUFBDX05PX1BBQ0tFVF9JThBAKlsKDm9mcF9wb3J0X3N0YXRlEhEKDU9GUFBTX0lOVkFMSUQQABITCg9PRlBQU19MSU5LX0RPV04QARIRCg1PRlBQU19CTE9DS0VEEAISDgoKT0ZQUFNfTElWRRAEKt0CChFvZnBfcG9ydF9mZWF0dXJlcxIRCg1PRlBQRl9JTlZBTElEEAASEQoNT0ZQUEZfMTBNQl9IRBABEhEKDU9GUFBGXzEwTUJfRkQQAhISCg5PRlBQRl8xMDBNQl9IRBAEEhIKDk9GUFBGXzEwME1CX0ZEEAgSEAoMT0ZQUEZfMUdCX0hEEBASEAoMT0ZQUEZfMUdCX0ZEECASEQoNT0ZQUEZfMTBHQl9GRBBAEhIKDU9GUFBGXzQwR0JfRkQQgAESEwoOT0ZQUEZfMTAwR0JfRkQQgAISEQoMT0ZQUEZfMVRCX0ZEEIAEEhAKC09GUFBGX09USEVSEIAIEhEKDE9GUFBGX0NPUFBFUhCAEBIQCgtPRlBQRl9GSUJFUhCAIBISCg1PRlBQRl9BVVRPTkVHEIBAEhEKC09GUFBGX1BBVVNFEICAARIWChBPRlBQRl9QQVVTRV9BU1lNEICAAipECg9vZnBfcG9ydF9yZWFzb24SDQoJT0ZQUFJfQUREEAASEAoMT0ZQUFJfREVMRVRFEAESEAoMT0ZQUFJfTU9ESUZZEAIqMwoOb2ZwX21hdGNoX3R5cGUSEgoOT0ZQTVRfU1RBTkRBUkQQABINCglPRlBNVF9PWE0QASprCg1vZnBfb3htX2NsYXNzEhAKDE9GUFhNQ19OWE1fMBAAEhAKDE9GUFhNQ19OWE1fMRABEhsKFU9GUFhNQ19PUEVORkxPV19CQVNJQxCAgAISGQoTT0ZQWE1DX0VYUEVSSU1FTlRFUhD//wMqkAgKE294bV9vZmJfZmllbGRfdHlwZXMSFgoST0ZQWE1UX09GQl9JTl9QT1JUEAASGgoWT0ZQWE1UX09GQl9JTl9QSFlfUE9SVBABEhcKE09GUFhNVF9PRkJfTUVUQURBVEEQAhIWChJPRlBYTVRfT0ZCX0VUSF9EU1QQAxIWChJPRlBYTVRfT0ZCX0VUSF9TUkMQBBIXChNPRlBYTVRfT0ZCX0VUSF9UWVBFEAUSFwoTT0ZQWE1UX09GQl9WTEFOX1ZJRBAGEhcKE09GUFhNVF9PRkJfVkxBTl9QQ1AQBxIWChJPRlBYTVRfT0ZCX0lQX0RTQ1AQCBIVChFPRlBYTVRfT0ZCX0lQX0VDThAJEhcKE09GUFhNVF9PRkJfSVBfUFJPVE8QChIXChNPRlBYTVRfT0ZCX0lQVjRfU1JDEAsSFwoTT0ZQWE1UX09GQl9JUFY0X0RTVBAMEhYKEk9GUFhNVF9PRkJfVENQX1NSQxANEhYKEk9GUFhNVF9PRkJfVENQX0RTVBAOEhYKEk9GUFhNVF9PRkJfVURQX1NSQxAPEhYKEk9GUFhNVF9PRkJfVURQX0RTVBAQEhcKE09GUFhNVF9PRkJfU0NUUF9TUkMQERIXChNPRlBYTVRfT0ZCX1NDVFBfRFNUEBISGgoWT0ZQWE1UX09GQl9JQ01QVjRfVFlQRRATEhoKFk9GUFhNVF9PRkJfSUNNUFY0X0NPREUQFBIVChFPRlBYTVRfT0ZCX0FSUF9PUBAVEhYKEk9GUFhNVF9PRkJfQVJQX1NQQRAWEhYKEk9GUFhNVF9PRkJfQVJQX1RQQRAXEhYKEk9GUFhNVF9PRkJfQVJQX1NIQRAYEhYKEk9GUFhNVF9PRkJfQVJQX1RIQRAZEhcKE09GUFhNVF9PRkJfSVBWNl9TUkMQGhIXChNPRlBYTVRfT0ZCX0lQVjZfRFNUEBsSGgoWT0ZQWE1UX09GQl9JUFY2X0ZMQUJFTBAcEhoKFk9GUFhNVF9PRkJfSUNNUFY2X1RZUEUQHRIaChZPRlBYTVRfT0ZCX0lDTVBWNl9DT0RFEB4SHQoZT0ZQWE1UX09GQl9JUFY2X05EX1RBUkdFVBAfEhoKFk9GUFhNVF9PRkJfSVBWNl9ORF9TTEwQIBIaChZPRlBYTVRfT0ZCX0lQVjZfTkRfVExMECESGQoVT0ZQWE1UX09GQl9NUExTX0xBQkVMECISFgoST0ZQWE1UX09GQl9NUExTX1RDECMSFwoTT0ZQWE1UX09GQl9NUExTX0JPUxAkEhcKE09GUFhNVF9PRkJfUEJCX0lTSUQQJRIYChRPRlBYTVRfT0ZCX1RVTk5FTF9JRBAmEhoKFk9GUFhNVF9PRkJfSVBWNl9FWFRIRFIQJyozCgtvZnBfdmxhbl9pZBIPCgtPRlBWSURfTk9ORRAAEhMKDk9GUFZJRF9QUkVTRU5UEIAgKskBChRvZnBfaXB2NmV4dGhkcl9mbGFncxISCg5PRlBJRUhfSU5WQUxJRBAAEhEKDU9GUElFSF9OT05FWFQQARIOCgpPRlBJRUhfRVNQEAISDwoLT0ZQSUVIX0FVVEgQBBIPCgtPRlBJRUhfREVTVBAIEg8KC09GUElFSF9GUkFHEBASEQoNT0ZQSUVIX1JPVVRFUhAgEg4KCk9GUElFSF9IT1AQQBIRCgxPRlBJRUhfVU5SRVAQgAESEQoMT0ZQSUVIX1VOU0VREIACKvwCCg9vZnBfYWN0aW9uX3R5cGUSEAoMT0ZQQVRfT1VUUFVUEAASFgoST0ZQQVRfQ09QWV9UVExfT1VUEAsSFQoRT0ZQQVRfQ09QWV9UVExfSU4QDBIWChJPRlBBVF9TRVRfTVBMU19UVEwQDxIWChJPRlBBVF9ERUNfTVBMU19UVEwQEBITCg9PRlBBVF9QVVNIX1ZMQU4QERISCg5PRlBBVF9QT1BfVkxBThASEhMKD09GUEFUX1BVU0hfTVBMUxATEhIKDk9GUEFUX1BPUF9NUExTEBQSEwoPT0ZQQVRfU0VUX1FVRVVFEBUSDwoLT0ZQQVRfR1JPVVAQFhIUChBPRlBBVF9TRVRfTldfVFRMEBcSFAoQT0ZQQVRfREVDX05XX1RUTBAYEhMKD09GUEFUX1NFVF9GSUVMRBAZEhIKDk9GUEFUX1BVU0hfUEJCEBoSEQoNT0ZQQVRfUE9QX1BCQhAbEhgKEk9GUEFUX0VYUEVSSU1FTlRFUhD//wMqVgoWb2ZwX2NvbnRyb2xsZXJfbWF4X2xlbhISCg5PRlBDTUxfSU5WQUxJRBAAEhAKCk9GUENNTF9NQVgQ5f8DEhYKEE9GUENNTF9OT19CVUZGRVIQ//8DKs8BChRvZnBfaW5zdHJ1Y3Rpb25fdHlwZRIRCg1PRlBJVF9JTlZBTElEEAASFAoQT0ZQSVRfR09UT19UQUJMRRABEhgKFE9GUElUX1dSSVRFX01FVEFEQVRBEAISFwoTT0ZQSVRfV1JJVEVfQUNUSU9OUxADEhcKE09GUElUX0FQUExZX0FDVElPTlMQBBIXChNPRlBJVF9DTEVBUl9BQ1RJT05TEAUSDwoLT0ZQSVRfTUVURVIQBhIYChJPRlBJVF9FWFBFUklNRU5URVIQ//8DKnsKFG9mcF9mbG93X21vZF9jb21tYW5kEg0KCU9GUEZDX0FERBAAEhAKDE9GUEZDX01PRElGWRABEhcKE09GUEZDX01PRElGWV9TVFJJQ1QQAhIQCgxPRlBGQ19ERUxFVEUQAxIXChNPRlBGQ19ERUxFVEVfU1RSSUNUEAQqowEKEm9mcF9mbG93X21vZF9mbGFncxIRCg1PRlBGRl9JTlZBTElEEAASFwoTT0ZQRkZfU0VORF9GTE9XX1JFTRABEhcKE09GUEZGX0NIRUNLX09WRVJMQVAQAhIWChJPRlBGRl9SRVNFVF9DT1VOVFMQBBIXChNPRlBGRl9OT19QS1RfQ09VTlRTEAgSFwoTT0ZQRkZfTk9fQllUX0NPVU5UUxAQKlMKCW9mcF9ncm91cBIQCgxPRlBHX0lOVkFMSUQQABIQCghPRlBHX01BWBCA/v//BxIQCghPRlBHX0FMTBD8////BxIQCghPRlBHX0FOWRD/////BypKChVvZnBfZ3JvdXBfbW9kX2NvbW1hbmQSDQoJT0ZQR0NfQUREEAASEAoMT0ZQR0NfTU9ESUZZEAESEAoMT0ZQR0NfREVMRVRFEAIqUwoOb2ZwX2dyb3VwX3R5cGUSDQoJT0ZQR1RfQUxMEAASEAoMT0ZQR1RfU0VMRUNUEAESEgoOT0ZQR1RfSU5ESVJFQ1QQAhIMCghPRlBHVF9GRhADKlAKFG9mcF9wYWNrZXRfaW5fcmVhc29uEhEKDU9GUFJfTk9fTUFUQ0gQABIPCgtPRlBSX0FDVElPThABEhQKEE9GUFJfSU5WQUxJRF9UVEwQAiqLAQoXb2ZwX2Zsb3dfcmVtb3ZlZF9yZWFzb24SFgoST0ZQUlJfSURMRV9USU1FT1VUEAASFgoST0ZQUlJfSEFSRF9USU1FT1VUEAESEAoMT0ZQUlJfREVMRVRFEAISFgoST0ZQUlJfR1JPVVBfREVMRVRFEAMSFgoST0ZQUlJfTUVURVJfREVMRVRFEAQqbgoJb2ZwX21ldGVyEg0KCU9GUE1fWkVSTxAAEhAKCE9GUE1fTUFYEICA/P8HEhUKDU9GUE1fU0xPV1BBVEgQ/f///wcSFwoPT0ZQTV9DT05UUk9MTEVSEP7///8HEhAKCE9GUE1fQUxMEP////8HKm0KE29mcF9tZXRlcl9iYW5kX3R5cGUSEgoOT0ZQTUJUX0lOVkFMSUQQABIPCgtPRlBNQlRfRFJPUBABEhYKEk9GUE1CVF9EU0NQX1JFTUFSSxACEhkKE09GUE1CVF9FWFBFUklNRU5URVIQ//8DKkoKFW9mcF9tZXRlcl9tb2RfY29tbWFuZBINCglPRlBNQ19BREQQABIQCgxPRlBNQ19NT0RJRlkQARIQCgxPRlBNQ19ERUxFVEUQAipnCg9vZnBfbWV0ZXJfZmxhZ3MSEQoNT0ZQTUZfSU5WQUxJRBAAEg4KCk9GUE1GX0tCUFMQARIPCgtPRlBNRl9QS1RQUxACEg8KC09GUE1GX0JVUlNUEAQSDwoLT0ZQTUZfU1RBVFMQCCqkAwoOb2ZwX2Vycm9yX3R5cGUSFgoST0ZQRVRfSEVMTE9fRkFJTEVEEAASFQoRT0ZQRVRfQkFEX1JFUVVFU1QQARIUChBPRlBFVF9CQURfQUNUSU9OEAISGQoVT0ZQRVRfQkFEX0lOU1RSVUNUSU9OEAMSEwoPT0ZQRVRfQkFEX01BVENIEAQSGQoVT0ZQRVRfRkxPV19NT0RfRkFJTEVEEAUSGgoWT0ZQRVRfR1JPVVBfTU9EX0ZBSUxFRBAGEhkKFU9GUEVUX1BPUlRfTU9EX0ZBSUxFRBAHEhoKFk9GUEVUX1RBQkxFX01PRF9GQUlMRUQQCBIZChVPRlBFVF9RVUVVRV9PUF9GQUlMRUQQCRIeChpPRlBFVF9TV0lUQ0hfQ09ORklHX0ZBSUxFRBAKEh0KGU9GUEVUX1JPTEVfUkVRVUVTVF9GQUlMRUQQCxIaChZPRlBFVF9NRVRFUl9NT0RfRkFJTEVEEAwSHwobT0ZQRVRfVEFCTEVfRkVBVFVSRVNfRkFJTEVEEA0SGAoST0ZQRVRfRVhQRVJJTUVOVEVSEP//AypCChVvZnBfaGVsbG9fZmFpbGVkX2NvZGUSFwoTT0ZQSEZDX0lOQ09NUEFUSUJMRRAAEhAKDE9GUEhGQ19FUEVSTRABKu0CChRvZnBfYmFkX3JlcXVlc3RfY29kZRIWChJPRlBCUkNfQkFEX1ZFUlNJT04QABITCg9PRlBCUkNfQkFEX1RZUEUQARIYChRPRlBCUkNfQkFEX01VTFRJUEFSVBACEhsKF09GUEJSQ19CQURfRVhQRVJJTUVOVEVSEAMSFwoTT0ZQQlJDX0JBRF9FWFBfVFlQRRAEEhAKDE9GUEJSQ19FUEVSTRAFEhIKDk9GUEJSQ19CQURfTEVOEAYSFwoTT0ZQQlJDX0JVRkZFUl9FTVBUWRAHEhkKFU9GUEJSQ19CVUZGRVJfVU5LTk9XThAIEhcKE09GUEJSQ19CQURfVEFCTEVfSUQQCRITCg9PRlBCUkNfSVNfU0xBVkUQChITCg9PRlBCUkNfQkFEX1BPUlQQCxIVChFPRlBCUkNfQkFEX1BBQ0tFVBAMEiQKIE9GUEJSQ19NVUxUSVBBUlRfQlVGRkVSX09WRVJGTE9XEA0qnAMKE29mcF9iYWRfYWN0aW9uX2NvZGUSEwoPT0ZQQkFDX0JBRF9UWVBFEAASEgoOT0ZQQkFDX0JBRF9MRU4QARIbChdPRlBCQUNfQkFEX0VYUEVSSU1FTlRFUhACEhcKE09GUEJBQ19CQURfRVhQX1RZUEUQAxIXChNPRlBCQUNfQkFEX09VVF9QT1JUEAQSFwoTT0ZQQkFDX0JBRF9BUkdVTUVOVBAFEhAKDE9GUEJBQ19FUEVSTRAGEhMKD09GUEJBQ19UT09fTUFOWRAHEhQKEE9GUEJBQ19CQURfUVVFVUUQCBIYChRPRlBCQUNfQkFEX09VVF9HUk9VUBAJEh0KGU9GUEJBQ19NQVRDSF9JTkNPTlNJU1RFTlQQChIcChhPRlBCQUNfVU5TVVBQT1JURURfT1JERVIQCxISCg5PRlBCQUNfQkFEX1RBRxAMEhcKE09GUEJBQ19CQURfU0VUX1RZUEUQDRIWChJPRlBCQUNfQkFEX1NFVF9MRU4QDhIbChdPRlBCQUNfQkFEX1NFVF9BUkdVTUVOVBAPKvoBChhvZnBfYmFkX2luc3RydWN0aW9uX2NvZGUSFwoTT0ZQQklDX1VOS05PV05fSU5TVBAAEhUKEU9GUEJJQ19VTlNVUF9JTlNUEAESFwoTT0ZQQklDX0JBRF9UQUJMRV9JRBACEhkKFU9GUEJJQ19VTlNVUF9NRVRBREFUQRADEh4KGk9GUEJJQ19VTlNVUF9NRVRBREFUQV9NQVNLEAQSGwoXT0ZQQklDX0JBRF9FWFBFUklNRU5URVIQBRIXChNPRlBCSUNfQkFEX0VYUF9UWVBFEAYSEgoOT0ZQQklDX0JBRF9MRU4QBxIQCgxPRlBCSUNfRVBFUk0QCCqlAgoSb2ZwX2JhZF9tYXRjaF9jb2RlEhMKD09GUEJNQ19CQURfVFlQRRAAEhIKDk9GUEJNQ19CQURfTEVOEAESEgoOT0ZQQk1DX0JBRF9UQUcQAhIbChdPRlBCTUNfQkFEX0RMX0FERFJfTUFTSxADEhsKF09GUEJNQ19CQURfTldfQUREUl9NQVNLEAQSGAoUT0ZQQk1DX0JBRF9XSUxEQ0FSRFMQBRIUChBPRlBCTUNfQkFEX0ZJRUxEEAYSFAoQT0ZQQk1DX0JBRF9WQUxVRRAHEhMKD09GUEJNQ19CQURfTUFTSxAIEhUKEU9GUEJNQ19CQURfUFJFUkVREAkSFAoQT0ZQQk1DX0RVUF9GSUVMRBAKEhAKDE9GUEJNQ19FUEVSTRALKtIBChhvZnBfZmxvd19tb2RfZmFpbGVkX2NvZGUSEwoPT0ZQRk1GQ19VTktOT1dOEAASFgoST0ZQRk1GQ19UQUJMRV9GVUxMEAESGAoUT0ZQRk1GQ19CQURfVEFCTEVfSUQQAhITCg9PRlBGTUZDX09WRVJMQVAQAxIRCg1PRlBGTUZDX0VQRVJNEAQSFwoTT0ZQRk1GQ19CQURfVElNRU9VVBAFEhcKE09GUEZNRkNfQkFEX0NPTU1BTkQQBhIVChFPRlBGTUZDX0JBRF9GTEFHUxAHKqEDChlvZnBfZ3JvdXBfbW9kX2ZhaWxlZF9jb2RlEhgKFE9GUEdNRkNfR1JPVVBfRVhJU1RTEAASGQoVT0ZQR01GQ19JTlZBTElEX0dST1VQEAESHgoaT0ZQR01GQ19XRUlHSFRfVU5TVVBQT1JURUQQAhIZChVPRlBHTUZDX09VVF9PRl9HUk9VUFMQAxIaChZPRlBHTUZDX09VVF9PRl9CVUNLRVRTEAQSIAocT0ZQR01GQ19DSEFJTklOR19VTlNVUFBPUlRFRBAFEh0KGU9GUEdNRkNfV0FUQ0hfVU5TVVBQT1JURUQQBhIQCgxPRlBHTUZDX0xPT1AQBxIZChVPRlBHTUZDX1VOS05PV05fR1JPVVAQCBIZChVPRlBHTUZDX0NIQUlORURfR1JPVVAQCRIUChBPRlBHTUZDX0JBRF9UWVBFEAoSFwoTT0ZQR01GQ19CQURfQ09NTUFORBALEhYKEk9GUEdNRkNfQkFEX0JVQ0tFVBAMEhUKEU9GUEdNRkNfQkFEX1dBVENIEA0SEQoNT0ZQR01GQ19FUEVSTRAOKo8BChhvZnBfcG9ydF9tb2RfZmFpbGVkX2NvZGUSFAoQT0ZQUE1GQ19CQURfUE9SVBAAEhcKE09GUFBNRkNfQkFEX0hXX0FERFIQARIWChJPRlBQTUZDX0JBRF9DT05GSUcQAhIZChVPRlBQTUZDX0JBRF9BRFZFUlRJU0UQAxIRCg1PRlBQTUZDX0VQRVJNEAQqXQoZb2ZwX3RhYmxlX21vZF9mYWlsZWRfY29kZRIVChFPRlBUTUZDX0JBRF9UQUJMRRAAEhYKEk9GUFRNRkNfQkFEX0NPTkZJRxABEhEKDU9GUFRNRkNfRVBFUk0QAipaChhvZnBfcXVldWVfb3BfZmFpbGVkX2NvZGUSFAoQT0ZQUU9GQ19CQURfUE9SVBAAEhUKEU9GUFFPRkNfQkFEX1FVRVVFEAESEQoNT0ZQUU9GQ19FUEVSTRACKl4KHW9mcF9zd2l0Y2hfY29uZmlnX2ZhaWxlZF9jb2RlEhUKEU9GUFNDRkNfQkFEX0ZMQUdTEAASEwoPT0ZQU0NGQ19CQURfTEVOEAESEQoNT0ZQU0NGQ19FUEVSTRACKloKHG9mcF9yb2xlX3JlcXVlc3RfZmFpbGVkX2NvZGUSEQoNT0ZQUlJGQ19TVEFMRRAAEhEKDU9GUFJSRkNfVU5TVVAQARIUChBPRlBSUkZDX0JBRF9ST0xFEAIqxQIKGW9mcF9tZXRlcl9tb2RfZmFpbGVkX2NvZGUSEwoPT0ZQTU1GQ19VTktOT1dOEAASGAoUT0ZQTU1GQ19NRVRFUl9FWElTVFMQARIZChVPRlBNTUZDX0lOVkFMSURfTUVURVIQAhIZChVPRlBNTUZDX1VOS05PV05fTUVURVIQAxIXChNPRlBNTUZDX0JBRF9DT01NQU5EEAQSFQoRT0ZQTU1GQ19CQURfRkxBR1MQBRIUChBPRlBNTUZDX0JBRF9SQVRFEAYSFQoRT0ZQTU1GQ19CQURfQlVSU1QQBxIUChBPRlBNTUZDX0JBRF9CQU5EEAgSGwoXT0ZQTU1GQ19CQURfQkFORF9ERVRBSUwQCRIZChVPRlBNTUZDX09VVF9PRl9NRVRFUlMQChIYChRPRlBNTUZDX09VVF9PRl9CQU5EUxALKqkBCh5vZnBfdGFibGVfZmVhdHVyZXNfZmFpbGVkX2NvZGUSFQoRT0ZQVEZGQ19CQURfVEFCTEUQABIYChRPRlBURkZDX0JBRF9NRVRBREFUQRABEhQKEE9GUFRGRkNfQkFEX1RZUEUQAhITCg9PRlBURkZDX0JBRF9MRU4QAxIYChRPRlBURkZDX0JBRF9BUkdVTUVOVBAEEhEKDU9GUFRGRkNfRVBFUk0QBSrOAgoSb2ZwX211bHRpcGFydF90eXBlEg4KCk9GUE1QX0RFU0MQABIOCgpPRlBNUF9GTE9XEAESEwoPT0ZQTVBfQUdHUkVHQVRFEAISDwoLT0ZQTVBfVEFCTEUQAxIUChBPRlBNUF9QT1JUX1NUQVRTEAQSDwoLT0ZQTVBfUVVFVUUQBRIPCgtPRlBNUF9HUk9VUBAGEhQKEE9GUE1QX0dST1VQX0RFU0MQBxIYChRPRlBNUF9HUk9VUF9GRUFUVVJFUxAIEg8KC09GUE1QX01FVEVSEAkSFgoST0ZQTVBfTUVURVJfQ09ORklHEAoSGAoUT0ZQTVBfTUVURVJfRkVBVFVSRVMQCxIYChRPRlBNUF9UQUJMRV9GRUFUVVJFUxAMEhMKD09GUE1QX1BPUlRfREVTQxANEhgKEk9GUE1QX0VYUEVSSU1FTlRFUhD//wMqSgobb2ZwX211bHRpcGFydF9yZXF1ZXN0X2ZsYWdzEhYKEk9GUE1QRl9SRVFfSU5WQUxJRBAAEhMKD09GUE1QRl9SRVFfTU9SRRABKkwKGW9mcF9tdWx0aXBhcnRfcmVwbHlfZmxhZ3MSGAoUT0ZQTVBGX1JFUExZX0lOVkFMSUQQABIVChFPRlBNUEZfUkVQTFlfTU9SRRABKuQDChtvZnBfdGFibGVfZmVhdHVyZV9wcm9wX3R5cGUSGAoUT0ZQVEZQVF9JTlNUUlVDVElPTlMQABIdChlPRlBURlBUX0lOU1RSVUNUSU9OU19NSVNTEAESFwoTT0ZQVEZQVF9ORVhUX1RBQkxFUxACEhwKGE9GUFRGUFRfTkVYVF9UQUJMRVNfTUlTUxADEhkKFU9GUFRGUFRfV1JJVEVfQUNUSU9OUxAEEh4KGk9GUFRGUFRfV1JJVEVfQUNUSU9OU19NSVNTEAUSGQoVT0ZQVEZQVF9BUFBMWV9BQ1RJT05TEAYSHgoaT0ZQVEZQVF9BUFBMWV9BQ1RJT05TX01JU1MQBxIRCg1PRlBURlBUX01BVENIEAgSFQoRT0ZQVEZQVF9XSUxEQ0FSRFMQChIaChZPRlBURlBUX1dSSVRFX1NFVEZJRUxEEAwSHwobT0ZQVEZQVF9XUklURV9TRVRGSUVMRF9NSVNTEA0SGgoWT0ZQVEZQVF9BUFBMWV9TRVRGSUVMRBAOEh8KG09GUFRGUFRfQVBQTFlfU0VURklFTERfTUlTUxAPEhoKFE9GUFRGUFRfRVhQRVJJTUVOVEVSEP7/AxIfChlPRlBURlBUX0VYUEVSSU1FTlRFUl9NSVNTEP//AyqTAQoWb2ZwX2dyb3VwX2NhcGFiaWxpdGllcxISCg5PRlBHRkNfSU5WQUxJRBAAEhgKFE9GUEdGQ19TRUxFQ1RfV0VJR0hUEAESGgoWT0ZQR0ZDX1NFTEVDVF9MSVZFTkVTUxACEhMKD09GUEdGQ19DSEFJTklORxAEEhoKFk9GUEdGQ19DSEFJTklOR19DSEVDS1MQCCprChRvZnBfcXVldWVfcHJvcGVydGllcxIRCg1PRlBRVF9JTlZBTElEEAASEgoOT0ZQUVRfTUlOX1JBVEUQARISCg5PRlBRVF9NQVhfUkFURRACEhgKEk9GUFFUX0VYUEVSSU1FTlRFUhD//wMqcQoTb2ZwX2NvbnRyb2xsZXJfcm9sZRIXChNPRlBDUl9ST0xFX05PQ0hBTkdFEAASFAoQT0ZQQ1JfUk9MRV9FUVVBTBABEhUKEU9GUENSX1JPTEVfTUFTVEVSEAISFAoQT0ZQQ1JfUk9MRV9TTEFWRRADQlUKHm9yZy5vcGVuY29yZC52b2x0aGEub3BlbmZsb3cxM1ozZ2l0aHViLmNvbS9vcGVuY29yZC92b2x0aGEtcHJvdG9zL3Y1L2dvL29wZW5mbG93XzEzSse2BgoHEgU5AIwSAQrkFAoBDBIDOQASGvkGCiBUaGlzIGlzIGEgcmVsYXRpdmVseSBzdHJhaWdodGZvcndhcmQgcmVuZGVyaW5nIG9mIE9wZW5GbG93IG1lc3NhZ2UKIGRlZmluaXRpb25zIGludG8gcHJvdG9jb2wgYnVmZmVyIG1lc3NhZ2VzLiBXZSBwcmVzZXJ2ZWQgdGhlIHNuYWtlCiBjYXNlIHN5bnRheCwgYW5kIG1hZGUgdGhlIGZvbGxvd2luZyBjaGFuZ2VzOgogLSBhbGwgcGFkIGZpZWxkcyBkcm9wcGVkCiAtIGZvciBlYWNoIGVudW0gdmFsdWUgYWJvdmUgMHg3ZmZmZmZmZiB0aGUgTVNCIGlzIGRyb3BwZWQuIEZvciBleGFtcGxlLAogICAweGZmZmZmZmZmIGlzIG5vdyAweDdmZmZmZmZmLgogLSAnPHR5cGU+IHRoaW5nWy4uLl0nIGlzIHJlcGxhY2VkIHdpdGggJ3JlcGVhdGVkIDx0eXBlPiB0aGluZycKIC0gJ2NoYXIgdGhpbmdbLi4uXScgaXMgcmVwbGFjZWQgd2l0aCAnc3RyaW5nIHRoaW5nJwogLSAndWludDhfdCBkYXRhWy4uLl0nIGlzIHJlcGxhY2VkIHdpdGggJ2J5dGVzIGRhdGEnCiAtIHRoZSBmb2xsb3dpbmcgc3lzdGVtYXRpYyBjaGFuZ2VzIGFyZSBkb25lIHRvIHZhcmlvdXMgaW50ZWdlciB0eXBlczoKICAgdWludDhfdCAgLT4gdWludDMyCiAgIHVpbnQxNl90IC0+IHVpbnQzMgogICB1aW50MzJfdCAtPiB1aW50MzIKICAgdWludDY0X3QgLT4gdWludDY0CiAtIHJlbW92ZWQgbW9zdCBsZW5ndGgsIGxlbiwgc2l6ZSBmaWVsZHMgd2hlcmUgdGhlc2UgdmFsdWVzIGNhbiBiZSBkZXRlcm1pbmVkCiAgIGZyb20gdGhlIGV4cGxpY2l0bHkgZW5jb2RlZCBsZW5ndGggb2YgInJlcGVhdGVkIiBwcm90b2J1ZiBmaWVsZHMuCiAtIGV4cGxpY2l0IHVzZSBvZiBlbnVtIHR5cGVzIHdoZXJlZXZlciBpdCBpcyB1bmFtYmlnb3VzIChhbmQgbm90IHVzZWQgYXMKICAgYml0bWFzay9mbGFncyB2YWx1ZS4KCjKmDSBDb3B5cmlnaHQgKGMpIDIwMDggVGhlIEJvYXJkIG9mIFRydXN0ZWVzIG9mIFRoZSBMZWxhbmQgU3RhbmZvcmQKIEp1bmlvciBVbml2ZXJzaXR5CiBDb3B5cmlnaHQgKGMpIDIwMTEsIDIwMTIgT3BlbiBOZXR3b3JraW5nIEZvdW5kYXRpb24KCiBXZSBhcmUgbWFraW5nIHRoZSBPcGVuRmxvdyBzcGVjaWZpY2F0aW9uIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24KIChTb2Z0d2FyZSkgYXZhaWxhYmxlIGZvciBwdWJsaWMgdXNlIGFuZCBiZW5lZml0IHdpdGggdGhlIGV4cGVjdGF0aW9uCiB0aGF0IG90aGVycyB3aWxsIHVzZSwgbW9kaWZ5IGFuZCBlbmhhbmNlIHRoZSBTb2Z0d2FyZSBhbmQgY29udHJpYnV0ZQogdGhvc2UgZW5oYW5jZW1lbnRzIGJhY2sgdG8gdGhlIGNvbW11bml0eS4gSG93ZXZlciwgc2luY2Ugd2Ugd291bGQKIGxpa2UgdG8gbWFrZSB0aGUgU29mdHdhcmUgYXZhaWxhYmxlIGZvciBicm9hZGVzdCB1c2UsIHdpdGggYXMgZmV3CiByZXN0cmljdGlvbnMgYXMgcG9zc2libGUgcGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZgogY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkgb2YgdGhpcyBTb2Z0d2FyZSB0byBkZWFsIGluCiB0aGUgU29mdHdhcmUgdW5kZXIgdGhlIGNvcHlyaWdodHMgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCiB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsCiBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8KIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bwogdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgoKIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlCiBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KCiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwKIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRgogTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQKIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTCiBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4KIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFCiBTT0ZUV0FSRS4KCiBUaGUgbmFtZSBhbmQgdHJhZGVtYXJrcyBvZiBjb3B5cmlnaHQgaG9sZGVyKHMpIG1heSBOT1QgYmUgdXNlZCBpbgogYWR2ZXJ0aXNpbmcgb3IgcHVibGljaXR5IHBlcnRhaW5pbmcgdG8gdGhlIFNvZnR3YXJlIG9yIGFueQogZGVyaXZhdGl2ZXMgd2l0aG91dCBzcGVjaWZpYywgd3JpdHRlbiBwcmlvciBwZXJtaXNzaW9uLgoyNSBPcGVuRmxvdzogcHJvdG9jb2wgYmV0d2VlbiBjb250cm9sbGVyIGFuZCBkYXRhcGF0aC4gCggKAQgSAzsASgoJCgIICxIDOwBKCggKAQgSAzwANwoJCgIIARIDPAA3CggKAQISAz4AFAoJCgIDABIDQAAmCqYECgIFABIEVABpARo1IFBvcnQgbnVtYmVyaW5nLiBQb3J0cyBhcmUgbnVtYmVyZWQgc3RhcnRpbmcgZnJvbSAxLiAyYyBWZXJzaW9uIG51bWJlcjoKIE9wZW5GbG93IHZlcnNpb25zIHJlbGVhc2VkOiAweDAxID0gMS4wIDsgMHgwMiA9IDEuMSA7IDB4MDMgPSAxLjIKICAgICAweDA0ID0gMS4zCjJVIFRoZSBtb3N0IHNpZ25pZmljYW50IGJpdCBpbiB0aGUgdmVyc2lvbiBmaWVsZCBpcyByZXNlcnZlZCBhbmQgbXVzdAogYmUgc2V0IHRvIHplcm8uCjJ6I2RlZmluZSBPRlBfVkVSU0lPTiAgIDB4MDQKI2RlZmluZSBQSVBFTElORV9UQUJMRVMgNjQKI2RlZmluZSBPRlBfTUFYX1RBQkxFX05BTUVfTEVOIDMyCiNkZWZpbmUgT0ZQX01BWF9QT1JUX05BTUVfTEVOICAxNgoyLSBPZmZpY2lhbCBJQU5BIHJlZ2lzdGVyZWQgcG9ydCBmb3IgT3BlbkZsb3cuIDI2I2RlZmluZSBPRlBfVENQX1BPUlQgIDY2NTMKI2RlZmluZSBPRlBfU1NMX1BPUlQgIDY2NTMKMkQjZGVmaW5lIE9GUF9FVEhfQUxFTiA2ICAgICAgICAgIC8qIEJ5dGVzIGluIGFuIEV0aGVybmV0IGFkZHJlc3MuICovCgoKCgMFAAESA1QFEAoLCgQFAAIAEgNVBBgKDAoFBQACAAESA1UEEAoMCgUFAAIAAhIDVRYXCkMKBAUAAgESA1gEIRo2IE1heGltdW0gbnVtYmVyIG9mIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHN3aXRjaCBwb3J0cy4gCgwKBQUAAgEBEgNYBAwKDAoFBQACAQISA1gWIAq8AQoEBQAC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IGZyb20gbWVtYmVyIGNsYXNzZXMuCiBDbGFzc2VzIDB4MDAwMCB0byAweDdGRkYgYXJlIG1lbWJlciBjbGFzc2VzLCBhbGxvY2F0ZWQgYnkgT05GLgogQ2xhc3NlcyAweDgwMDAgdG8gMHhGRkZFIGFyZSByZXNlcnZlZCBjbGFzc2VzLCByZXNlcnZlZCBmb3Igc3RhbmRhcmRpc2F0aW9uLgoyqQEgQ29tcG9uZW50cyBvZiBhIE9YTSBUTFYgaGVhZGVyLgogVGhvc2UgbWFjcm9zIGFyZSBub3QgdmFsaWQgZm9yIHRoZSBleHBlcmltZW50ZXIgY2xhc3MsIG1hY3JvcyBmb3IgdGhlCiBleHBlcmltZW50ZXIgY2xhc3Mgd2lsbCBkZXBlbmQgb24gdGhlIGV4cGVyaW1lbnRlciBoZWFkZXIgdXNlZC4gMpMFI2RlZmluZSBPWE1fSEVBREVSX18oQ0xBU1MsIEZJRUxELCBIQVNNQVNLLCBMRU5HVEgpIFwKICAgICgoKENMQVNTKSA8PCAxNikgfCAoKEZJRUxEKSA8PCA5KSB8ICgoSEFTTUFTSykgPDwgOCkgfCAoTEVOR1RIKSkKI2RlZmluZSBPWE1fSEVBREVSKENMQVNTLCBGSUVMRCwgTEVOR1RIKSBcCiAgICBPWE1fSEVBREVSX18oQ0xBU1MsIEZJRUxELCAwLCBMRU5HVEgpCiNkZWZpbmUgT1hNX0hFQURFUl9XKENMQVNTLCBGSUVMRCwgTEVOR1RIKSBcCiAgICBPWE1fSEVBREVSX18oQ0xBU1MsIEZJRUxELCAxLCAoTEVOR1RIKSAqIDIpCiNkZWZpbmUgT1hNX0NMQVNTKEhFQURFUikgKChIRUFERVIpID4+IDE2KQojZGVmaW5lIE9YTV9GSUVMRChIRUFERVIpICgoKEhFQURFUikgPj4gOSkgJiAweDdmKQojZGVmaW5lIE9YTV9UWVBFKEhFQURFUikgKCgoSEVBREVSKSA+PiA5KSAmIDB4N2ZmZmZmKQojZGVmaW5lIE9YTV9IQVNNQVNLKEhFQURFUikgKCgoSEVBREVSKSA+PiA4KSAmIDEpCiNkZWZpbmUgT1hNX0xFTkdUSChIRUFERVIpICgoSEVBREVSKSAmIDB4ZmYpCgojZGVmaW5lIE9YTV9NQUtF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ZCB0byBPcGVuRmxvdy4gIEluIHRoaXMgY2FzZSwKIE9GUFhNVF9PRl9JTl9QT1JUIGlzIHRoZSB0dW5uZWwncyBwb3J0IG51bWJlciBhbmQgT0ZQWE1UX09GX0lOX1BIWV9QT1JUIGlzCiB0aGUgcGh5c2ljYWwgcG9ydCBudW1iZXIgb2YgdGhlIExBRyBvbiB3aGljaCB0aGUgdHVubmVsIGlzIGNvbmZpZ3VyZWQuCgogV2hlbiBhIHBhY2tldCBpcyByZWNlaXZlZCBkaXJlY3RseSBvbiBhIHBoeXNpY2FsIHBvcnQgYW5kIG5vdCBwcm9jZXNzZWQgYnkgYQogbG9naWNhbCBwb3J0LCBPRlBYTVRfT0ZfSU5fUE9SVCBhbmQgT0ZQWE1UX09GX0lOX1BIWV9QT1JUIGhhdmUgdGhlIHNhbWUKIHZhbHVlLgoKIFRoaXMgZmllbGQgaXMgdXN1YWxseSBub3QgYXZhaWxhYmxlIGluIGEgcmVndWxhciBtYXRjaCBhbmQgb25seSBhdmFpbGFibGUKIGluIG9mcF9wYWNrZXRfaW4gbWVzc2FnZXMgd2hlbiBpdCdzIGRpZmZlcmVudCBmcm9tIE9YTV9PRl9JTl9QT1JULgoKIFByZXJlcXM6IE9YTV9PRl9JTl9QT1JUIG11c3QgYmUgcHJlc2VudC4KCiBGb3JtYXQ6IDMyLWJpdCBpbnRlZ2VyIGluIG5ldHdvcmsgYnl0ZSBvcmRlci4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDAIDBRIE/wMIDgoNCgUEDAIDARIE/wMPHAoNCgUEDAIDAxIE/wMfIAqtAgoEBAwCBBIEiwQIIhqOASNkZWZpbmUgT1hNX09GX01FVEFEQVRBICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9NRVRBREFUQSwgOCkKI2RlZmluZSBPWE1fT0ZfTUVUQURBVEFfVyBPWE1fSEVBREVSX1coMHg4MDAwLCBPRlBYTVRfT0ZCX01FVEFEQVRBLCA4KQoiHiBVc2VkIGZvciBPRlBYTVRfT0ZCX01FVEFEQVRBIDJuIFRhYmxlIG1ldGFkYXRhLgoKIFByZXJlcXM6IE5vbmUuCgogRm9ybWF0OiA2NC1iaXQgaW50ZWdlciBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIuCgogTWFza2luZzogQXJiaXRyYXJ5IG1hc2tzLgoKDQoFBAwCBAUSBIsECA4KDQoFBAwCBAESBIsEDx0KDQoFBAwCBAMSBIsEICEK4gMKBAQMAgUSBJgECBoamAIjZGVmaW5lIE9YTV9PRl9FVEhfRFNUICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfRVRIX0RTVCwgNikKI2RlZmluZSBPWE1fT0ZfRVRIX0RTVF9XICBPWE1fSEVBREVSX1coMHg4MDAwLCBPRlBYTVRfT0ZCX0VUSF9EU1QsIDYpCiNkZWZpbmUgT1hNX09GX0VUSF9TUkMgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9FVEhfU1JDLCA2KQojZGVmaW5lIE9YTV9PRl9FVEhfU1JDX1cgIE9YTV9IRUFERVJfVygweDgwMDAsIE9GUFhNVF9PRkJfRVRIX1NSQywgNikKIi8gVXNlZCBmb3IgT0ZQWE1UX09GQl9FVEhfRFNUIChleGFjdGx5IDYgYnl0ZXMpIDKHASBTb3VyY2Ugb3IgZGVzdGluYXRpb24gYWRkcmVzcyBpbiBFdGhlcm5ldCBoZWFkZXIuCgogUHJlcmVxczogTm9uZS4KCiBGb3JtYXQ6IDQ4LWJpdCBFdGhlcm5ldCBNQUMgYWRkcmVzcy4KCiBNYXNraW5nOiBBcmJpdHJhcnkgbWFza3MuIAoNCgUEDAIFBRIEmAQIDQoNCgUEDAIFARIEmAQOFQoNCgUEDAIFAxIEmAQYGQo9CgQEDAIGEgSZBAgaIi8gVXNlZCBmb3IgT0ZQWE1UX09GQl9FVEhfU1JDIChleGFjdGx5IDYgYnl0ZXMpIAoNCgUEDAIGBRIEmQQIDQoNCgUEDAIGARIEmQQOFQoNCgUEDAIGAxIEmQQYGQrpAQoEBAwCBxIEowQIHBpGI2RlZmluZSBPWE1fT0ZfRVRIX1RZUEUgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0VUSF9UWVBFLDIpCiIeIFVzZWQgZm9yIE9GUFhNVF9PRkJfRVRIX1RZUEUgMnMgUGFja2V0J3MgRXRoZXJuZXQgdHlwZS4KCiBQcmVyZXFzOiBOb25lLgoKIEZvcm1hdDogMTYtYml0IGludGVnZXIgaW4gbmV0d29yayBieXRlIG9yZGVyLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQMAgcFEgSjBAgOCg0KBQQMAgcBEgSjBA8XCg0KBQQMAgcDEgSjBBobCoMLCgQEDAIIEgTJBAgcGo4BI2RlZmluZSBPWE1fT0ZfVkxBTl9WSUQgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX1ZMQU5fVklELCAyKQojZGVmaW5lIE9YTV9PRl9WTEFOX1ZJRF9XIE9YTV9IRUFERVJfVygweDgwMDAsIE9GUFhNVF9PRkJfVkxBTl9WSUQsIDIpCiIeIFVzZWQgZm9yIE9GUFhNVF9PRkJfVkxBTl9WSUQgMsMJIDgwMi4xUSBWSUQuCgogRm9yIGEgcGFja2V0IHdpdGggYW4gODAyLjFRIGhlYWRlciwgdGhpcyBpcyB0aGUgVkxBTi1JRCAoVklEKSBmcm9tIHRoZQogb3V0ZXJtb3N0IHRhZywgd2l0aCB0aGUgQ0ZJIGJpdCBmb3JjZWQgdG8gMS4gRm9yIGEgcGFja2V0IHdpdGggbm8gODAyLjFRCiBoZWFkZXIsIHRoaXMgaGFzIHZhbHVlIE9GUFZJRF9OT05FLgoKIFByZXJlcXM6IE5vbmUuCgogRm9ybWF0OiAxNi1iaXQgaW50ZWdlciBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIgd2l0aCBiaXQgMTMgaW5kaWNhdGluZwogcHJlc2VuY2Ugb2YgVkxBTiBoZWFkZXIgYW5kIDMgbW9zdC1zaWduaWZpY2FudCBiaXRzIGZvcmNlZCB0byAwLgogT25seSB0aGUgbG93ZXIgMTMgYml0cyBoYXZlIG1lYW5pbmcuCgogTWFza2luZzogQXJiaXRyYXJ5IG1hc2tzLgoKIFRoaXMgZmllbGQgY2FuIGJlIHVzZWQgaW4gdmFyaW91cyB3YXlzOgoKICAgLSBJZiBpdCBpcyBub3QgY29uc3RyYWluZWQgYXQgYWxsLCB0aGUgbnhfbWF0Y2ggbWF0Y2hlcyBwYWNrZXRzIHdpdGhvdXQKICAgICBhbiA4MDIuMVEgaGVhZGVyIG9yIHdpdGggYW4gODAyLjFRIGhlYWRlciB0aGF0IGhhcyBhbnkgVklEIHZhbHVlLgoKICAgLSBUZXN0aW5nIGZvciBhbiBleGFjdCBtYXRjaCB3aXRoIDB4MCBtYXRjaGVzIG9ubHkgcGFja2V0cyB3aXRob3V0CiAgICAgYW4gODAyLjFRIGhlYWRlci4KCiAgIC0gVGVzdGluZyBmb3IgYW4gZXhhY3QgbWF0Y2ggd2l0aCBhIFZJRCB2YWx1ZSB3aXRoIENGST0xIG1hdGNoZXMgcGFja2V0cwogICAgIHRoYXQgaGF2ZSBhbiA4MDIuMVEgaGVhZGVyIHdpdGggYSBzcGVjaWZpZWQgVklELgoKICAgLSBUZXN0aW5nIGZvciBhbiBleGFjdCBtYXRjaCB3aXRoIGEgbm9uemVybyBWSUQgdmFsdWUgd2l0aCBDRkk9MCBkb2VzCiAgICAgbm90IG1ha2Ugc2Vuc2UuICBUaGUgc3dpdGNoIG1heSByZWplY3QgdGhpcyBjb21iaW5hdGlvbi4KCiAgIC0gVGVzdGluZyB3aXRoIG54bV92YWx1ZT0wLCBueG1fbWFzaz0weDBmZmYgbWF0Y2hlcyBwYWNrZXRzIHdpdGggbm8gODAyLjFRCiAgICAgaGVhZGVyIG9yIHdpdGggYW4gODAyLjFRIGhlYWRlciB3aXRoIGEgVklEIG9mIDAuCgogICAtIFRlc3Rpbmcgd2l0aCBueG1fdmFsdWU9MHgxMDAwLCBueG1fbWFzaz0weDEwMDAgbWF0Y2hlcyBwYWNrZXRzIHdpdGgKICAgICBhbiA4MDIuMVEgaGVhZGVyIHRoYXQgaGFzIGFueSBWSUQgdmFsdWUuCgoNCgUEDAIIBRIEyQQIDgoNCgUEDAIIARIEyQQPFwoNCgUEDAIIAxIEyQQaGwrQAwoEBAwCCRIE2QQIHRpHI2RlZmluZSBPWE1fT0ZfVkxBTl9QQ1AgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX1ZMQU5fUENQLCAxKQoiHiBVc2VkIGZvciBPRlBYTVRfT0ZCX1ZMQU5fUENQIDLYAiA4MDIuMVEgUENQLgoKIEZvciBhIHBhY2tldCB3aXRoIGFuIDgwMi4xUSBoZWFkZXIsIHRoaXMgaXMgdGhlIFZMQU4tUENQIGZyb20gdGhlCiBvdXRlcm1vc3QgdGFnLiAgRm9yIGEgcGFja2V0IHdpdGggbm8gODAyLjFRIGhlYWRlciwgdGhpcyBoYXMgdmFsdWUKIDAuCgogUHJlcmVxczogT1hNX09GX1ZMQU5fVklEIG11c3QgYmUgZGlmZmVyZW50IGZyb20gT0ZQVklEX05PTkUuCgogRm9ybWF0OiA4LWJpdCBpbnRlZ2VyIHdpdGggNSBtb3N0LXNpZ25pZmljYW50IGJpdHMgZm9yY2VkIHRvIDAuCiBPbmx5IHRoZSBsb3dlciAzIGJpdHMgaGF2ZSBtZWFuaW5nLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4KCg0KBQQMAgkFEgTZBAgOCg0KBQQMAgkBEgTZBA8XCg0KBQQMAgkDEgTZBBocCqgDCgQEDAIKEgTlBAgcGkcjZGVmaW5lIE9YTV9PRl9JUF9EU0NQICAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lQX0RTQ1AsIDEpCiIdIFVzZWQgZm9yIE9GUFhNVF9PRkJfSVBfRFNDUCAysQIgVGhlIERpZmYgU2VydiBDb2RlIFBvaW50IChEU0NQKSBiaXRzIG9mIHRoZSBJUCBoZWFkZXIuCiBQYXJ0IG9mIHRoZSBJUHY0IFRvUyBmaWVsZCBvciB0aGUgSVB2NiBUcmFmZmljIENsYXNzIGZpZWxkLgoKIFByZXJlcXM6IE9YTV9PRl9FVEhfVFlQRSBtdXN0IGJlIGVpdGhlciAweDA4MDAgb3IgMHg4NmRkLgoKIEZvcm1hdDogOC1iaXQgaW50ZWdlciB3aXRoIDIgbW9zdC1zaWduaWZpY2FudCBiaXRzIGZvcmNlZCB0byAwLgogT25seSB0aGUgbG93ZXIgNiBiaXRzIGhhdmUgbWVhbmluZy4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDAIKBRIE5QQIDgoNCgUEDAIKARIE5QQPFgoNCgUEDAIKAxIE5QQZGwqNAwoEBAwCCxIE8QQIGxpFI2RlZmluZSBPWE1fT0ZfSVBfRUNOICAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lQX0VDTiwgMSkKIhwgVXNlZCBmb3IgT0ZQWE1UX09GQl9JUF9FQ04gMpkCIFRoZSBFQ04gYml0cyBvZiB0aGUgSVAgaGVhZGVyLgogUGFydCBvZiB0aGUgSVB2NCBUb1MgZmllbGQgb3IgdGhlIElQdjYgVHJhZmZpYyBDbGFzcyBmaWVsZC4KCiBQcmVyZXFzOiBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBiZSBlaXRoZXIgMHgwODAwIG9yIDB4ODZkZC4KCiBGb3JtYXQ6IDgtYml0IGludGVnZXIgd2l0aCA2IG1vc3Qtc2lnbmlmaWNhbnQgYml0cyBmb3JjZWQgdG8gMC4KIE9ubHkgdGhlIGxvd2VyIDIgYml0cyBoYXZlIG1lYW5pbmcuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBAwCCwUSBPEECA4KDQoFBAwCCwESBPEEDxUKDQoFBAwCCwMSBPEEGBoKjQIKBAQMAgwSBPsECB0aRyNkZWZpbmUgT1hNX09GX0lQX1BST1RPICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JUF9QUk9UTywgMSkKIh4gVXNlZCBmb3IgT0ZQWE1UX09GQl9JUF9QUk9UTyAylQEgVGhlICJwcm90b2NvbCIgYnl0ZSBpbiB0aGUgSVAgaGVhZGVyLgoKIFByZXJlcXM6IE9YTV9PRl9FVEhfVFlQRSBtdXN0IGJlIGVpdGhlciAweDA4MDAgb3IgMHg4NmRkLgoKIEZvcm1hdDogOC1iaXQgaW50ZWdlci4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDAIMBRIE+wQIDgoNCgUEDAIMARIE+wQPFwoNCgUEDAIMAxIE+wQaHAqNBAoEBAwCDRIEiQUIHRqkAiNkZWZpbmUgT1hNX09GX0lQVjRfU1JDICAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjRfU1JDLCA0KQojZGVmaW5lIE9YTV9PRl9JUFY0X1NSQ19XICAgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9JUFY0X1NSQywgNCkKI2RlZmluZSBPWE1fT0ZfSVBWNF9EU1QgICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSVBWNF9EU1QsIDQpCiNkZWZpbmUgT1hNX09GX0lQVjRfRFNUX1cgICBPWE1fSEVBREVSX1coMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjRfRFNULCA0KQoiHiBVc2VkIGZvciBPRlBYTVRfT0ZCX0lQVjRfU1JDIDK3ASBUaGUgc291cmNlIG9yIGRlc3RpbmF0aW9uIGFkZHJlc3MgaW4gdGhlIElQIGhlYWRlci4KCiBQcmVyZXFzOiBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDA4MDAgZXhhY3RseS4KCiBGb3JtYXQ6IDMyLWJpdCBpbnRlZ2VyIGluIG5ldHdvcmsgYnl0ZSBvcmRlci4KCiBNYXNraW5nOiBBcmJpdHJhcnkgbWFza3MuCgoNCgUEDAINBRIEiQUIDgoNCgUEDAINARIEiQUPFwoNCgUEDAINAxIEiQUaHAosCgQEDAIOEgSKBQgdIh4gVXNlZCBmb3IgT0ZQWE1UX09GQl9JUFY0X0RTVCAKDQoFBAwCDgUSBIoFCA4KDQoFBAwCDgESBIoFDxcKDQoFBAwCDgMSBIoFGhwKoQMKBAQMAg8SBJcFCBwajAEjZGVmaW5lIE9YTV9PRl9UQ1BfU1JDICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfVENQX1NSQywgMikKI2RlZmluZSBPWE1fT0ZfVENQX0RTVCAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX1RDUF9EU1QsIDIpCiIdIFVzZWQgZm9yIE9GUFhNVF9PRkJfVENQX1NSQyAy5AEgVGhlIHNvdXJjZSBvciBkZXN0aW5hdGlvbiBwb3J0IGluIHRoZSBUQ1AgaGVhZGVyLgoKIFByZXJlcXM6CiAgIE9YTV9PRl9FVEhfVFlQRSBtdXN0IGJlIGVpdGhlciAweDA4MDAgb3IgMHg4NmRkLgogICBPWE1fT0ZfSVBfUFJPVE8gbXVzdCBtYXRjaCA2IGV4YWN0bHkuCgogRm9ybWF0OiAxNi1iaXQgaW50ZWdlciBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBAwCDwUSBJcFCA4KDQoFBAwCDwESBJcFDxYKDQoFBAwCDwMSBJcFGRsKKwoEBAwCEBIEmAUIHCIdIFVzZWQgZm9yIE9GUFhNVF9PRkJfVENQX0RTVCAKDQoFBAwCEAUSBJgFCA4KDQoFBAwCEAESBJgFDxYKDQoFBAwCEAMSBJgFGRsKpQMKBAQMAhESBKUFCBwajAEjZGVmaW5lIE9YTV9PRl9VRFBfU1JDICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfVURQX1NSQywgMikKI2RlZmluZSBPWE1fT0ZfVURQX0RTVCAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX1VEUF9EU1QsIDIpCiIdIFVzZWQgZm9yIE9GUFhNVF9PRkJfVURQX1NSQyAy6AEgVGhlIHNvdXJjZSBvciBkZXN0aW5hdGlvbiBwb3J0IGluIHRoZSBVRFAgaGVhZGVyLgoKIFByZXJlcXM6CiAgIE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIGVpdGhlciAweDA4MDAgb3IgMHg4NmRkLgogICBPWE1fT0ZfSVBfUFJPVE8gbXVzdCBtYXRjaCAxNyBleGFjdGx5LgoKIEZvcm1hdDogMTYtYml0IGludGVnZXIgaW4gbmV0d29yayBieXRlIG9yZGVyLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQMAhEFEgSlBQgOCg0KBQQMAhEBEgSlBQ8WCg0KBQQMAhEDEgSlBRkbCisKBAQMAhISBKYFCBwiHSBVc2VkIGZvciBPRlBYTVRfT0ZCX1VEUF9EU1QgCg0KBQQMAhIFEgSmBQgOCg0KBQQMAhIBEgSmBQ8WCg0KBQQMAhIDEgSmBRkbCqoDCgQEDAITEgSzBQgdGo4BI2RlZmluZSBPWE1fT0ZfU0NUUF9TUkMgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX1NDVFBfU1JDLCAyKQojZGVmaW5lIE9YTV9PRl9TQ1RQX0RTVCAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfU0NUUF9EU1QsIDIpCiIeIFVzZWQgZm9yIE9GUFhNVF9PRkJfU0NUUF9TUkMgMuoBIFRoZSBzb3VyY2Ugb3IgZGVzdGluYXRpb24gcG9ydCBpbiB0aGUgU0NUUCBoZWFkZXIuCgogUHJlcmVxczoKICAgT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggZWl0aGVyIDB4MDgwMCBvciAweDg2ZGQuCiAgIE9YTV9PRl9JUF9QUk9UTyBtdXN0IG1hdGNoIDEzMiBleGFjdGx5LgoKIEZvcm1hdDogMTYtYml0IGludGVnZXIgaW4gbmV0d29yayBieXRlIG9yZGVyLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQMAhMFEgSzBQgOCg0KBQQMAhMBEgSzBQ8XCg0KBQQMAhMDEgSzBRocCiwKBAQMAhQSBLQFCB0iHiBVc2VkIGZvciBPRlBYTVRfT0ZCX1NDVFBfRFNUIAoNCgUEDAIUBRIEtAUIDgoNCgUEDAIUARIEtAUPFwoNCgUEDAIUAxIEtAUaHAqHAwoEBAwCFRIEwQUIIBqYASNkZWZpbmUgT1hNX09GX0lDTVBWNF9UWVBFICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lDTVBWNF9UWVBFLCAxKQojZGVmaW5lIE9YTV9PRl9JQ01QVjRfQ09ERSAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JQ01QVjRfQ09ERSwgMSkKIiEgVXNlZCBmb3IgT0ZQWE1UX09GQl9JQ01QVjRfVFlQRSAyugEgVGhlIHR5cGUgb3IgY29kZSBpbiB0aGUgSUNNUCBoZWFkZXIuCgogUHJlcmVxczoKICAgT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHgwODAwIGV4YWN0bHkuCiAgIE9YTV9PRl9JUF9QUk9UTyBtdXN0IG1hdGNoIDEgZXhhY3RseS4KCiBGb3JtYXQ6IDgtYml0IGludGVnZXIuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBAwCFQUSBMEFCA4KDQoFBAwCFQESBMEFDxoKDQoFBAwCFQMSBMEFHR8KLwoEBAwCFhIEwgUIICIhIFVzZWQgZm9yIE9GUFhNVF9PRkJfSUNNUFY0X0NPREUgCg0KBQQMAhYFEgTCBQgOCg0KBQQMAhYBEgTCBQ8aCg0KBQQMAhYDEgTCBR0fCtUCCgQEDAIXEgTPBQgbGkUjZGVmaW5lIE9YTV9PRl9BUlBfT1AgICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfQVJQX09QLCAyKQoiHCBVc2VkIGZvciBPRlBYTVRfT0ZCX0FSUF9PUCAy4QEgQVJQIG9wY29kZS4KCiBGb3IgYW4gRXRoZXJuZXQrSVAgQVJQIHBhY2tldCwgdGhlIG9wY29kZSBpbiB0aGUgQVJQIGhlYWRlci4gIEFsd2F5cyAwCiBvdGhlcndpc2UuCgogUHJlcmVxczogT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHgwODA2IGV4YWN0bHkuCgogRm9ybWF0OiAxNi1iaXQgaW50ZWdlciBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBAwCFwUSBM8FCA4KDQoFBAwCFwESBM8FDxUKDQoFBAwCFwMSBM8FGBoKtQQKBAQMAhgSBN4FCBwamAIjZGVmaW5lIE9YTV9PRl9BUlBfU1BBICAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfQVJQX1NQQSwgNCkKI2RlZmluZSBPWE1fT0ZfQVJQX1NQQV9XICBPWE1fSEVBREVSX1coMHg4MDAwLCBPRlBYTVRfT0ZCX0FSUF9TUEEsIDQpCiNkZWZpbmUgT1hNX09GX0FSUF9UUEEgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9BUlBfVFBBLCA0KQojZGVmaW5lIE9YTV9PRl9BUlBfVFBBX1cgIE9YTV9IRUFERVJfVygweDgwMDAsIE9GUFhNVF9PRkJfQVJQX1RQQSwgNCkKIhggRm9yIE9GUFhNVF9PRkJfQVJQX1NQQSAy8QEgRm9yIGFuIEV0aGVybmV0K0lQIEFSUCBwYWNrZXQsIHRoZSBzb3VyY2Ugb3IgdGFyZ2V0IHByb3RvY29sIGFkZHJlc3MKIGluIHRoZSBBUlAgaGVhZGVyLiAgQWx3YXlzIDAgb3RoZXJ3aXNlLgoKIFByZXJlcXM6IE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4MDgwNiBleGFjdGx5LgoKIEZvcm1hdDogMzItYml0IGludGVnZXIgaW4gbmV0d29yayBieXRlIG9yZGVyLgoKIE1hc2tpbmc6IEFyYml0cmFyeSBtYXNrcy4KCg0KBQQMAhgFEgTeBQgOCg0KBQQMAhgBEgTeBQ8WCg0KBQQMAhgDEgTeBRkbCiYKBAQMAhkSBN8FCBwiGCBGb3IgT0ZQWE1UX09GQl9BUlBfVFBBIAoNCgUEDAIZBRIE3wUIDgoNCgUEDAIZARIE3wUPFgoNCgUEDAIZAxIE3wUZGwq3BAoEBAwCGhIE7QUIGxqcAiNkZWZpbmUgT1hNX09GX0FSUF9TSEEgICAgT1hNX0hFQURFUiAgICgweDgwMDAsIE9GUFhNVF9PRkJfQVJQX1NIQSwgNikKI2RlZmluZSBPWE1fT0ZfQVJQX1NIQV9XICBPWE1fSEVBREVSX1cgKDB4ODAwMCwgT0ZQWE1UX09GQl9BUlBfU0hBLCA2KQojZGVmaW5lIE9YTV9PRl9BUlBfVEhBICAgIE9YTV9IRUFERVIgICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0FSUF9USEEsIDYpCiNkZWZpbmUgT1hNX09GX0FSUF9USEFfVyAgT1hNX0hFQURFUl9XICgweDgwMDAsIE9GUFhNVF9PRkJfQVJQX1RIQSwgNikKIiIgRm9yIE9GUFhNVF9PRkJfQVJQX1NIQSAoNiBieXRlcykgMuUBIEZvciBhbiBFdGhlcm5ldCtJUCBBUlAgcGFja2V0LCB0aGUgc291cmNlIG9yIHRhcmdldCBoYXJkd2FyZSBhZGRyZXNzCiBpbiB0aGUgQVJQIGhlYWRlci4gIEFsd2F5cyAwIG90aGVyd2lzZS4KCiBQcmVyZXFzOiBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDA4MDYgZXhhY3RseS4KCiBGb3JtYXQ6IDQ4LWJpdCBFdGhlcm5ldCBNQUMgYWRkcmVzcy4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDAIaBRIE7QUIDQoNCgUEDAIaARIE7QUOFQoNCgUEDAIaAxIE7QUYGgowCgQEDAIbEgTuBQgbIiIgRm9yIE9GUFhNVF9PRkJfQVJQX1RIQSAoNiBieXRlcykgCg0KBQQMAhsFEgTuBQgNCg0KBQQMAhsBEgTuBQ4VCg0KBQQMAhsDEgTuBRgaCvoDCgQEDAIcEgT8BQgcGqQCI2RlZmluZSBPWE1fT0ZfSVBWNl9TUkMgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JUFY2X1NSQywgMTYpCiNkZWZpbmUgT1hNX09GX0lQVjZfU1JDX1cgIE9YTV9IRUFERVJfVygweDgwMDAsIE9GUFhNVF9PRkJfSVBWNl9TUkMsIDE2KQojZGVmaW5lIE9YTV9PRl9JUFY2X0RTVCAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjZfRFNULCAxNikKI2RlZmluZSBPWE1fT0ZfSVBWNl9EU1RfVyAgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9JUFY2X0RTVCwgMTYpCiIZIEZvciBPRlBYTVRfT0ZCX0lQVjZfU1JDIDKpASBUaGUgc291cmNlIG9yIGRlc3RpbmF0aW9uIGFkZHJlc3MgaW4gdGhlIElQdjYgaGVhZGVyLgoKIFByZXJlcXM6IE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4ODZkZCBleGFjdGx5LgoKIEZvcm1hdDogMTI4LWJpdCBJUHY2IGFkZHJlc3MuCgogTWFza2luZzogQXJiaXRyYXJ5IG1hc2tzLgoKDQoFBAwCHAUSBPwFCA0KDQoFBAwCHAESBPwFDhYKDQoFBAwCHAMSBPwFGRsKJwoEBAwCHRIE/QUIHCIZIEZvciBPRlBYTVRfT0ZCX0lQVjZfRFNUIAoNCgUEDAIdBRIE/QUIDQoNCgUEDAIdARIE/QUOFgoNCgUEDAIdAxIE/QUZGwqdAwoEBAwCHhIEiwYIIBqaASNkZWZpbmUgT1hNX09GX0lQVjZfRkxBQkVMICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JUFY2X0ZMQUJFTCwgNCkKI2RlZmluZSBPWE1fT0ZfSVBWNl9GTEFCRUxfVyBPWE1fSEVBREVSX1coMHg4MDAwLCBPRlBYTVRfT0ZCX0lQVjZfRkxBQkVMLCA0KQoiHCBGb3IgT0ZQWE1UX09GQl9JUFY2X0ZMQUJFTCAy0wEgVGhlIElQdjYgRmxvdyBMYWJlbAoKIFByZXJlcXM6CiAgIE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4ODZkZCBleGFjdGx5CgogRm9ybWF0OiAzMi1iaXQgaW50ZWdlciB3aXRoIDEyIG1vc3Qtc2lnbmlmaWNhbnQgYml0cyBmb3JjZWQgdG8gMC4KIE9ubHkgdGhlIGxvd2VyIDIwIGJpdHMgaGF2ZSBtZWFuaW5nLgoKIE1hc2tpbmc6IEFyYml0cmFyeSBtYXNrcy4KCg0KBQQMAh4FEgSLBggOCg0KBQQMAh4BEgSLBg8aCg0KBQQMAh4DEgSLBh0fCoMDCgQEDAIfEgSYBgggGpYBI2RlZmluZSBPWE1fT0ZfSUNNUFY2X1RZUEUgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JQ01QVjZfVFlQRSwgMSkKI2RlZmluZSBPWE1fT0ZfSUNNUFY2X0NPREUgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JQ01QVjZfQ09ERSwgMSkKIhwgRm9yIE9GUFhNVF9PRkJfSUNNUFY2X1RZUEUgMr0BIFRoZSB0eXBlIG9yIGNvZGUgaW4gdGhlIElDTVB2NiBoZWFkZXIuCgogUHJlcmVxczoKICAgT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHg4NmRkIGV4YWN0bHkuCiAgIE9YTV9PRl9JUF9QUk9UTyBtdXN0IG1hdGNoIDU4IGV4YWN0bHkuCgogRm9ybWF0OiA4LWJpdCBpbnRlZ2VyLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQMAh8FEgSYBggOCg0KBQQMAh8BEgSYBg8aCg0KBQQMAh8DEgSYBh0fCioKBAQMAiASBJkGCCAiHCBGb3IgT0ZQWE1UX09GQl9JQ01QVjZfQ09ERSAKDQoFBAwCIAUSBJkGCA4KDQoFBAwCIAESBJkGDxoKDQoFBAwCIAMSBJkGHR8KkQMKBAQMAiESBKcGCCIaVyNkZWZpbmUgT1hNX09GX0lQVjZfTkRfVEFSR0VUIE9YTV9IRUFERVIgXAogICAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JUFY2X05EX1RBUkdFVCwgMTYpCiIfIEZvciBPRlBYTVRfT0ZCX0lQVjZfTkRfVEFSR0VUIDKIAiBUaGUgdGFyZ2V0IGFkZHJlc3MgaW4gYW4gSVB2NiBOZWlnaGJvciBEaXNjb3ZlcnkgbWVzc2FnZS4KCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDg2ZGQgZXhhY3RseS4KICAgT1hNX09GX0lQX1BST1RPIG11c3QgbWF0Y2ggNTggZXhhY3RseS4KICAgT1hNX09GX0lDTVBWNl9UWVBFIG11c3QgYmUgZWl0aGVyIDEzNSBvciAxMzYuCgogRm9ybWF0OiAxMjgtYml0IElQdjYgYWRkcmVzcy4KCiBNYXNraW5nOiBOb3QgbWFza2FibGUuIAoNCgUEDAIhBRIEpwYIDQoNCgUEDAIhARIEpwYOHAoNCgUEDAIhAxIEpwYfIQqXAwoEBAwCIhIEtQYIHxpMI2RlZmluZSBPWE1fT0ZfSVBWNl9ORF9TTEwgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSVBWNl9ORF9TTEwsIDYpCiIcIEZvciBPRlBYTVRfT0ZCX0lQVjZfTkRfU0xMIDKcAiBUaGUgc291cmNlIGxpbmstbGF5ZXIgYWRkcmVzcyBvcHRpb24gaW4gYW4gSVB2NiBOZWlnaGJvciBEaXNjb3ZlcnkKIG1lc3NhZ2UuCgogUHJlcmVxczoKICAgT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHg4NmRkIGV4YWN0bHkuCiAgIE9YTV9PRl9JUF9QUk9UTyBtdXN0IG1hdGNoIDU4IGV4YWN0bHkuCiAgIE9YTV9PRl9JQ01QVjZfVFlQRSBtdXN0IGJlIGV4YWN0bHkgMTM1LgoKIEZvcm1hdDogNDgtYml0IEV0aGVybmV0IE1BQyBhZGRyZXNzLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQMAiIFEgS1BggNCg0KBQQMAiIBEgS1Bg4ZCg0KBQQMAiIDEgS1BhweCpcDCgQEDAIjEgTDBggfGkwjZGVmaW5lIE9YTV9PRl9JUFY2X05EX1RMTCAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9JUFY2X05EX1RMTCwgNikKIhwgRm9yIE9GUFhNVF9PRkJfSVBWNl9ORF9UTEwgMpwCIFRoZSB0YXJnZXQgbGluay1sYXllciBhZGRyZXNzIG9wdGlvbiBpbiBhbiBJUHY2IE5laWdoYm9yIERpc2NvdmVyeQogbWVzc2FnZS4KCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDg2ZGQgZXhhY3RseS4KICAgT1hNX09GX0lQX1BST1RPIG11c3QgbWF0Y2ggNTggZXhhY3RseS4KICAgT1hNX09GX0lDTVBWNl9UWVBFIG11c3QgYmUgZXhhY3RseSAxMzYuCgogRm9ybWF0OiA0OC1iaXQgRXRoZXJuZXQgTUFDIGFkZHJlc3MuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBAwCIwUSBMMGCA0KDQoFBAwCIwESBMMGDhkKDQoFBAwCIwMSBMMGHB4K/gIKBAQMAiQSBM8GCB8aSiNkZWZpbmUgT1hNX09GX01QTFNfTEFCRUwgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfTVBMU19MQUJFTCwgNCkKIhsgRm9yIE9GUFhNVF9PRkJfTVBMU19MQUJFTCAyhgIgVGhlIExBQkVMIGluIHRoZSBmaXJzdCBNUExTIHNoaW0gaGVhZGVyLgoKIFByZXJlcXM6CiAgIE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4ODg0NyBvciAweDg4NDggZXhhY3RseS4KCiBGb3JtYXQ6IDMyLWJpdCBpbnRlZ2VyIGluIG5ldHdvcmsgYnl0ZSBvcmRlciB3aXRoIDEyIG1vc3Qtc2lnbmlmaWNhbnQKIGJpdHMgZm9yY2VkIHRvIDAuIE9ubHkgdGhlIGxvd2VyIDIwIGJpdHMgaGF2ZSBtZWFuaW5nLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQMAiQFEgTPBggOCg0KBQQMAiQBEgTPBg8ZCg0KBQQMAiQDEgTPBhweCtwCCgQEDAIlEgTbBggcGkcjZGVmaW5lIE9YTV9PRl9NUExTX1RDICAgICBPWE1fSEVBREVSICAoMHg4MDAwLCBPRlBYTVRfT0ZCX01QTFNfVEMsIDEpCiIYIEZvciBPRlBYTVRfT0ZCX01QTFNfVEMgMuoBIFRoZSBUQyBpbiB0aGUgZmlyc3QgTVBMUyBzaGltIGhlYWRlci4KCiBQcmVyZXFzOgogICBPWE1fT0ZfRVRIX1RZUEUgbXVzdCBtYXRjaCAweDg4NDcgb3IgMHg4ODQ4IGV4YWN0bHkuCgogRm9ybWF0OiA4LWJpdCBpbnRlZ2VyIHdpdGggNSBtb3N0LXNpZ25pZmljYW50IGJpdHMgZm9yY2VkIHRvIDAuCiBPbmx5IHRoZSBsb3dlciAzIGJpdHMgaGF2ZSBtZWFuaW5nLgoKIE1hc2tpbmc6IE5vdCBtYXNrYWJsZS4gCg0KBQQMAiUFEgTbBggOCg0KBQQMAiUBEgTbBg8WCg0KBQQMAiUDEgTbBhkbCuQCCgQEDAImEgTnBggdGkkjZGVmaW5lIE9YTV9PRl9NUExTX0JPUyAgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9NUExTX0JPUywgMSkKIhkgRm9yIE9GUFhNVF9PRkJfTVBMU19CT1MgMu8BIFRoZSBCb1MgYml0IGluIHRoZSBmaXJzdCBNUExTIHNoaW0gaGVhZGVyLgoKIFByZXJlcXM6CiAgIE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4ODg0NyBvciAweDg4NDggZXhhY3RseS4KCiBGb3JtYXQ6IDgtYml0IGludGVnZXIgd2l0aCA3IG1vc3Qtc2lnbmlmaWNhbnQgYml0cyBmb3JjZWQgdG8gMC4KIE9ubHkgdGhlIGxvd2VzdCBiaXQgaGF2ZSBhIG1lYW5pbmcuCgogTWFza2luZzogTm90IG1hc2thYmxlLiAKDQoFBAwCJgUSBOcGCA4KDQoFBAwCJgESBOcGDxcKDQoFBAwCJgMSBOcGGhwKqgMKBAQMAicSBPYGCB0ajgEjZGVmaW5lIE9YTV9PRl9QQkJfSVNJRCAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfUEJCX0lTSUQsIDMpCiNkZWZpbmUgT1hNX09GX1BCQl9JU0lEX1cgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9QQkJfSVNJRCwgMykKIhkgRm9yIE9GUFhNVF9PRkJfUEJCX0lTSUQgMu8BIElFRUUgODAyLjFhaCBJLVNJRC4KCiBGb3IgYSBwYWNrZXQgd2l0aCBhIFBCQiBoZWFkZXIsIHRoaXMgaXMgdGhlIEktU0lEIGZyb20gdGhlCiBvdXRlcm1vc3Qgc2VydmljZSB0YWcuCgogUHJlcmVxczoKICAgT1hNX09GX0VUSF9UWVBFIG11c3QgbWF0Y2ggMHg4OEU3IGV4YWN0bHkuCgogRm9ybWF0OiAyNC1iaXQgaW50ZWdlciBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIuCgogTWFza2luZzogQXJiaXRyYXJ5IG1hc2tzLiAKDQoFBAwCJwUSBPYGCA4KDQoFBAwCJwESBPYGDxcKDQoFBAwCJwMSBPYGGhwKvAYKBAQMAigSBIoHCB4alAEjZGVmaW5lIE9YTV9PRl9UVU5ORUxfSUQgICAgT1hNX0hFQURFUiAgKDB4ODAwMCwgT0ZQWE1UX09GQl9UVU5ORUxfSUQsIDgpCiNkZWZpbmUgT1hNX09GX1RVTk5FTF9JRF9XICBPWE1fSEVBREVSX1coMHg4MDAwLCBPRlBYTVRfT0ZCX1RVTk5FTF9JRCwgOCkKIhogRm9yIE9GUFhNVF9PRkJfVFVOTkVMX0lEIDL6BCBMb2dpY2FsIFBvcnQgTWV0YWRhdGEuCgogTWV0YWRhdGEgYXNzb2NpYXRlZCB3aXRoIGEgbG9naWNhbCBwb3J0LgogSWYgdGhlIGxvZ2ljYWwgcG9ydCBwZXJmb3JtcyBlbmNhcHN1bGF0aW9uIGFuZCBkZWNhcHN1bGF0aW9uLCB0aGlzCiBpcyB0aGUgZGVtdWx0aXBsZXhpbmcgZmllbGQgZnJvbSB0aGUgZW5jYXBzdWxhdGlvbiBoZWFkZXIuCiBGb3IgZXhhbXBsZSwgZm9yIGEgcGFja2V0IHJlY2VpdmVkIHZpYSBHUkUgdHVubmVsIGluY2x1ZGluZyBhICgzMi1iaXQpIGtleSwKIHRoZSBrZXkgaXMgc3RvcmVkIGluIHRoZSBsb3cgMzItYml0cyBhbmQgdGhlIGhpZ2ggYml0cyBhcmUgemVyb2VkLgogRm9yIGEgTVBMUyBsb2dpY2FsIHBvcnQsIHRoZSBsb3cgMjAgYml0cyByZXByZXNlbnQgdGhlIE1QTFMgTGFiZWwuCiBGb3IgYSBWeExBTiBsb2dpY2FsIHBvcnQsIHRoZSBsb3cgMjQgYml0cyByZXByZXNlbnQgdGhlIFZOSS4KIElmIHRoZSBwYWNrZXQgaXMgbm90IHJlY2VpdmVkIHRocm91Z2ggYSBsb2dpY2FsIHBvcnQsIHRoZSB2YWx1ZSBpcyAwLgoKIFByZXJlcXM6IE5vbmUuCgogRm9ybWF0OiA2NC1iaXQgaW50ZWdlciBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIuCgogTWFza2luZzogQXJiaXRyYXJ5IG1hc2tzLiAKDQoFBAwCKAUSBIoHCA4KDQoFBAwCKAESBIoHDxgKDQoFBAwCKAMSBIoHGx0KqAMKBAQMAikSBJcHCCAamgEjZGVmaW5lIE9YTV9PRl9JUFY2X0VYVEhEUiAgIE9YTV9IRUFERVIgICgweDgwMDAsIE9GUFhNVF9PRkJfSVBWNl9FWFRIRFIsIDIpCiNkZWZpbmUgT1hNX09GX0lQVjZfRVhUSERSX1cgT1hNX0hFQURFUl9XKDB4ODAwMCwgT0ZQWE1UX09GQl9JUFY2X0VYVEhEUiwgMikKIhwgRm9yIE9GUFhNVF9PRkJfSVBWNl9FWFRIRFIgMt4BIFRoZSBJUHY2IEV4dGVuc2lvbiBIZWFkZXIgcHNldWRvLWZpZWxkLgoKIFByZXJlcXM6CiAgIE9YTV9PRl9FVEhfVFlQRSBtdXN0IG1hdGNoIDB4ODZkZCBleGFjdGx5CgogRm9ybWF0OiAxNi1iaXQgaW50ZWdlciB3aXRoIDcgbW9zdC1zaWduaWZpY2FudCBiaXRzIGZvcmNlZCB0byAwLgogT25seSB0aGUgbG93ZXIgOSBiaXRzIGhhdmUgbWVhbmluZy4KCiBNYXNraW5nOiBNYXNrYWJsZS4gCg0KBQQMAikFEgSXBwgOCg0KBQQMAikBEgSXBw8aCg0KBQQMAikDEgSXBx0fCk0KBAQMCAESBpwHBLQHBRo9IE9wdGlvbmFsIG1hc2sgdmFsdWVzIChtdXN0IGJlIHByZXNlbnQgd2hlbiBoYXNfbWFzayBpcyB0cnVlIAoNCgUEDAgBARIEnAcKDgonCgQEDAIqEgSdBwgpIhkgRm9yIE9GUFhNVF9PRkJfTUVUQURBVEEgCg0KBQQMAioFEgSdBwgOCg0KBQQMAioBEgSdBw8iCg0KBQQMAioDEgSdByUoCjcKBAQMAisSBJ8HCCEiKSBGb3IgT0ZQWE1UX09GQl9FVEhfRFNUIChleGFjdGx5IDYgYnl0ZXMpCg0KBQQMAisFEgSfBwgNCg0KBQQMAisBEgSfBw4aCg0KBQQMAisDEgSfBx0gCjcKBAQMAiwSBKAHCCEiKSBGb3IgT0ZQWE1UX09GQl9FVEhfU1JDIChleGFjdGx5IDYgYnl0ZXMpCg0KBQQMAiwFEgSgBwgNCg0KBQQMAiwBEgSgBw4aCg0KBQQMAiwDEgSgBx0gCicKBAQMAi0SBKIHCCMiGSBGb3IgT0ZQWE1UX09GQl9WTEFOX1ZJRCAKDQoFBAwCLQUSBKIHCA4KDQoFBAwCLQESBKIHDxwKDQoFBAwCLQMSBKIHHyIKJwoEBAwCLhIEpAcIIyIZIEZvciBPRlBYTVRfT0ZCX0lQVjRfU1JDIAoNCgUEDAIuBRIEpAcIDgoNCgUEDAIuARIEpAcPHAoNCgUEDAIuAxIEpAcfIgonCgQEDAIvEgSlBwgjIhkgRm9yIE9GUFhNVF9PRkJfSVBWNF9EU1QgCg0KBQQMAi8FEgSlBwgOCg0KBQQMAi8BEgSlBw8cCg0KBQQMAi8DEgSlBx8iCiYKBAQMAjASBKcHCCIiGCBGb3IgT0ZQWE1UX09GQl9BUlBfU1BBIAoNCgUEDAIwBRIEpwcIDgoNCgUEDAIwARIEpwcPGwoNCgUEDAIwAxIEpwceIQomCgQEDAIxEgSoBwgiIhggRm9yIE9GUFhNVF9PRkJfQVJQX1RQQSAKDQoFBAwCMQUSBKgHCA4KDQoFBAwCMQESBKgHDxsKDQoFBAwCMQMSBKgHHiEKJwoEBAwCMhIEqgcIIiIZIEZvciBPRlBYTVRfT0ZCX0lQVjZfU1JDIAoNCgUEDAIyBRIEqgcIDQoNCgUEDAIyARIEqgcOGwoNCgUEDAIyAxIEqgceIQonCgQEDAIzEgSrBwgiIhkgRm9yIE9GUFhNVF9PRkJfSVBWNl9EU1QgCg0KBQQMAjMFEgSrBwgNCg0KBQQMAjMBEgSrBw4bCg0KBQQMAjMDEgSrBx4hCioKBAQMAjQSBK0HCCYiHCBGb3IgT0ZQWE1UX09GQl9JUFY2X0ZMQUJFTCAKDQoFBAwCNAUSBK0HCA4KDQoFBAwCNAESBK0HDx8KDQoFBAwCNAMSBK0HIiUKJwoEBAwCNRIErwcIIyIZIEZvciBPRlBYTVRfT0ZCX1BCQl9JU0lEIAoNCgUEDAI1BRIErwcIDgoNCgUEDAI1ARIErwcPHAoNCgUEDAI1AxIErwcfIgooCgQEDAI2EgSxBwgkIhogRm9yIE9GUFhNVF9PRkJfVFVOTkVMX0lEIAoNCgUEDAI2BRIEsQcIDgoNCgUEDAI2ARIEsQcPHQoNCgUEDAI2AxIEsQcgIwoqCgQEDAI3EgSzBwgmIhwgRm9yIE9GUFhNVF9PRkJfSVBWNl9FWFRIRFIgCg0KBQQMAjcFEgSzBwgOCg0KBQQMAjcBEgSzBw8fCg0KBQQMAjcDEgSzByIlCmkKAgUOEga9BwDABwEaWyBUaGUgVkxBTiBpZCBpcyAxMi1iaXRzLCBzbyB3ZSBjYW4gdXNlIHRoZSBlbnRpcmUgMTYgYml0cyB0byBpbmRpY2F0ZQogc3BlY2lhbCBjb25kaXRpb25zLgoKCwoDBQ4BEgS9BwUQCiMKBAUOAgASBL4HBBwiFSBObyBWTEFOIGlkIHdhcyBzZXQuIAoNCgUFDgIAARIEvgcEDwoNCgUFDgIAAhIEvgcVGwo3CgQFDgIBEgS/BwQcIikgQml0IHRoYXQgaW5kaWNhdGUgdGhhdCBhIFZMQU4gaWQgaXMgc2V0IAoNCgUFDgIBARIEvwcEEgoNCgUFDgIBAhIEvwcVGwpwCgIFDxIGxQcA0AcBGjkgQml0IGRlZmluaXRpb25zIGZvciBJUHY2IEV4dGVuc2lvbiBIZWFkZXIgcHNldWRvLWZpZWxkLiAyJyNkZWZpbmUgT0ZQX1ZMQU5fTk9ORSAgICAgIE9GUFZJRF9OT05FCgoLCgMFDwESBMUHBRkKDAoEBQ8CABIExgcEFwoNCgUFDwIAARIExgcEEgoNCgUFDwIAAhIExgcVFgotCgQFDwIBEgTHBwQXIh8gIk5vIG5leHQgaGVhZGVyIiBlbmNvdW50ZXJlZC4gCg0KBQUPAgEBEgTHBwQRCg0KBQUPAgECEgTHBxUWCjUKBAUPAgISBMgHBBciJyBFbmNyeXB0ZWQgU2VjIFBheWxvYWQgaGVhZGVyIHByZXNlbnQuIAoNCgUFDwICARIEyAcEDgoNCgUFDwICAhIEyAcVFgouCgQFDwIDEgTJBwQXIiAgQXV0aGVudGljYXRpb24gaGVhZGVyIHByZXNlbnQuIAoNCgUFDwIDARIEyQcEDwoNCgUFDwIDAhIEyQcVFgosCgQFDwIEEgTKBwQXIh4gMSBvciAyIGRlc3QgaGVhZGVycyBwcmVzZW50LiAKDQoFBQ8CBAESBMoHBA8KDQoFBQ8CBAISBMoHFRYKKAoEBQ8CBRIEywcEGCIaIEZyYWdtZW50IGhlYWRlciBwcmVzZW50LiAKDQoFBQ8CBQESBMsHBA8KDQoFBQ8CBQISBMsHFRcKJgoEBQ8CBhIEzAcEGCIYIFJvdXRlciBoZWFkZXIgcHJlc2VudC4gCg0KBQUPAgYBEgTMBwQRCg0KBQUPAgYCEgTMBxUXCioKBAUPAgcSBM0HBBgiHCBIb3AtYnktaG9wIGhlYWRlciBwcmVzZW50LiAKDQoFBQ8CBwESBM0HBA4KDQoFBQ8CBwISBM0HFRcKLwoEBQ8CCBIEzgcEGSIhIFVuZXhwZWN0ZWQgcmVwZWF0cyBlbmNvdW50ZXJlZC4gCg0KBQUPAggBEgTOBwQQCg0KBQUPAggCEgTOBxUYCjIKBAUPAgkSBM8HBBkiJCBVbmV4cGVjdGVkIHNlcXVlbmNpbmcgZW5jb3VudGVyZWQuIAoNCgUFDwIJARIEzwcEEAoNCgUFDwIJAhIEzwcVGAqkAQoCBA0SBtUHANkHARqVASBIZWFkZXIgZm9yIE9YTSBleHBlcmltZW50ZXIgbWF0Y2ggZmllbGRzLgogVGhlIGV4cGVyaW1lbnRlciBjbGFzcyBzaG91bGQgbm90IHVzZSBPWE1fSEVBREVSKCkgbWFjcm9zIGZvciBkZWZpbmluZwogZmllbGRzIGR1ZSB0byB0aGlzIGV4dHJhIGhlYWRlci4gCgsKAwQNARIE1QcIIgovCgQEDQIAEgTWBwQaIiEgb3htX2NsYXNzID0gT0ZQWE1DX0VYUEVSSU1FTlRFUiAKDwoFBA0CAAQSBtYHBNUHJAoNCgUEDQIABRIE1gcECgoNCgUEDQIAARIE1gcLFQoNCgUEDQIAAxIE1gcYGQpfCgQEDQIBEgTXBwQcIlEgRXhwZXJpbWVudGVyIElEIHdoaWNoIHRha2VzIHRoZSBzYW1lCmZvcm0gYXMgaW4gc3RydWN0IG9mcF9leHBlcmltZW50ZXJfaGVhZGVyLiAKDwoFBA0CAQQSBtcHBNYHGgoNCgUEDQIBBRIE1wcECgoNCgUEDQIBARIE1wcLFwoNCgUEDQIBAxIE1wcaGwpdCgIFEBIG3wcA9AcBMhkgIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMgMhkgIyMgT3BlbkZsb3cgQWN0aW9ucy4gIyMgMhkgIyMgLS0tLS0tLS0tLS0tLS0tLS0gIyMgCgsKAwUQARIE3wcFFAomCgQFEAIAEgTgBwQbIhggT3V0cHV0IHRvIHN3aXRjaCBwb3J0LiAKDQoFBRACAAESBOAHBBAKDQoFBRACAAISBOAHGRoKSgoEBRACARIE4QcEHCI8IENvcHkgVFRMICJvdXR3YXJkcyIgLS0gZnJvbSBuZXh0LXRvLW91dGVybW9zdAp0byBvdXRlcm1vc3QgCg0KBQUQAgEBEgThBwQWCg0KBQUQAgECEgThBxkbCkkKBAUQAgISBOMHBBwiOyBDb3B5IFRUTCAiaW53YXJkcyIgLS0gZnJvbSBvdXRlcm1vc3QgdG8KbmV4dC10by1vdXRlcm1vc3QgCg0KBQUQAgIBEgTjBwQVCg0KBQUQAgICEgTjBxkbChgKBAUQAgMSBOUHBBwiCiBNUExTIFRUTCAKDQoFBRACAwESBOUHBBYKDQoFBRACAwISBOUHGRsKIgoEBRACBBIE5gcEHCIUIERlY3JlbWVudCBNUExTIFRUTCAKDQoFBRACBAESBOYHBBYKDQoFBRACBAISBOYHGRsKIwoEBRACBRIE6AcEHCIVIFB1c2ggYSBuZXcgVkxBTiB0YWcgCg0KBQUQAgUBEgToBwQTCg0KBQUQAgUCEgToBxkbCiYKBAUQAgYSBOkHBBwiGCBQb3AgdGhlIG91dGVyIFZMQU4gdGFnIAoNCgUFEAIGARIE6QcEEgoNCgUFEAIGAhIE6QcZGwojCgQFEAIHEgTqBwQcIhUgUHVzaCBhIG5ldyBNUExTIHRhZyAKDQoFBRACBwESBOoHBBMKDQoFBRACBwISBOoHGRsKJgoEBRACCBIE6wcEHCIYIFBvcCB0aGUgb3V0ZXIgTVBMUyB0YWcgCg0KBQUQAggBEgTrBwQSCg0KBQUQAggCEgTrBxkbCjYKBAUQAgkSBOwHBBwiKCBTZXQgcXVldWUgaWQgd2hlbiBvdXRwdXR0aW5nIHRvIGEgcG9ydCAKDQoFBRACCQESBOwHBBMKDQoFBRACCQISBOwHGRsKHAoEBRACChIE7QcEHCIOIEFwcGx5IGdyb3VwLiAKDQoFBRACCgESBO0HBA8KDQoFBRACCgISBO0HGRsKFwoEBRACCxIE7gcEHCIJIElQIFRUTC4gCg0KBQUQAgsBEgTuBwQUCg0KBQUQAgsCEgTuBxkbCiEKBAUQAgwSBO8HBBwiEyBEZWNyZW1lbnQgSVAgVFRMLiAKDQoFBRACDAESBO8HBBQKDQoFBRACDAISBO8HGRsKOAoEBRACDRIE8AcEHCIqIFNldCBhIGhlYWRlciBmaWVsZCB1c2luZyBPWE0gVExWIGZvcm1hdC4gCg0KBQUQAg0BEgTwBwQTCg0KBQUQAg0CEgTwBxkbCjIKBAUQAg4SBPEHBBwiJCBQdXNoIGEgbmV3IFBCQiBzZXJ2aWNlIHRhZyAoSS1UQUcpIAoNCgUFEAIOARIE8QcEEgoNCgUFEAIOAhIE8QcZGwo1CgQFEAIPEgTyBwQcIicgUG9wIHRoZSBvdXRlciBQQkIgc2VydmljZSB0YWcgKEktVEFHKSAKDQoFBRACDwESBPIHBBEKDQoFBRACDwISBPIHGRsKDAoEBRACEBIE8wcEIAoNCgUFEAIQARIE8wcEFgoNCgUFEAIQAhIE8wcZHwrZAQoCBA4SBvkHAIUIARrKASBBY3Rpb24gaGVhZGVyIHRoYXQgaXMgY29tbW9uIHRvIGFsbCBhY3Rpb25zLiAgVGhlIGxlbmd0aCBpbmNsdWRlcyB0aGUKIGhlYWRlciBhbmQgYW55IHBhZGRpbmcgdXNlZCB0byBtYWtlIHRoZSBhY3Rpb24gNjQtYml0IGFsaWduZWQuCiBOQjogVGhlIGxlbmd0aCBvZiBhbiBhY3Rpb24gKm11c3QqIGFsd2F5cyBiZSBhIG11bHRpcGxlIG9mIGVpZ2h0LiAKCwoDBA4BEgT5BwgSCh8KBAQOAgASBPoHBB0iESBPbmUgb2YgT0ZQQVRfKi4gCg8KBQQOAgAEEgb6BwT5BxQKDQoFBA4CAAYSBPoHBBMKDQoFBA4CAAESBPoHFBgKDQoFBA4CAAMSBPoHGxwKDgoEBA4IABIG+wcEhAgFCg0KBQQOCAABEgT7BwoQCgwKBAQOAgESBPwHCCUKDQoFBA4CAQYSBPwHCBkKDQoFBA4CAQESBPwHGiAKDQoFBA4CAQMSBPwHIyQKDAoEBA4CAhIE/QcIKQoNCgUEDgICBhIE/QcIGwoNCgUEDgICARIE/QccJAoNCgUEDgICAxIE/QcnKAoMCgQEDgIDEgT+BwghCg0KBQQOAgMGEgT+BwgXCg0KBQQOAgMBEgT+BxgcCg0KBQQOAgMDEgT+Bx8gCgwKBAQOAgQSBP8HCCkKDQoFBA4CBAYSBP8HCBsKDQoFBA4CBAESBP8HHCQKDQoFBA4CBAMSBP8HJygKDAoEBA4CBRIEgAgIIwoNCgUEDgIFBhIEgAgIGAoNCgUEDgIFARIEgAgZHgoNCgUEDgIFAxIEgAghIgoMCgQEDgIGEgSBCAglCg0KBQQOAgYGEgSBCAgZCg0KBQQOAgYBEgSBCBogCg0KBQQOAgYDEgSBCCMkCgwKBAQOAgcSBIIICCsKDQoFBA4CBwYSBIIICBwKDQoFBA4CBwESBIIIHSYKDQoFBA4CBwMSBIIIKSoKDAoEBA4CCBIEgwgIMQoNCgUEDgIIBhIEgwgIHwoNCgUEDgIIARIEgwggLAoNCgUEDgIIAxIEgwgvMAoMCgIFERIGhwgAjggBCgsKAwURARIEhwgFGwoMCgQFEQIAEgSICAQZCg0KBQURAgABEgSICAQSCg0KBQURAgACEgSICBcYCloKBAURAgESBIkIBB4iTCBtYXhpbXVtIG1heF9sZW4gdmFsdWUgd2hpY2ggY2FuIGJlIHVzZWQKdG8gcmVxdWVzdCBhIHNwZWNpZmljIGJ5dGUgbGVuZ3RoLiAKDQoFBRECAQESBIkIBA4KDQoFBRECAQISBIkIFx0KcwoEBRECAhIEiwgEHiJlIGluZGljYXRlcyB0aGF0IG5vIGJ1ZmZlcmluZyBzaG91bGQgYmUKYXBwbGllZCBhbmQgdGhlIHdob2xlIHBhY2tldCBpcyB0byBiZQpzZW50IHRvIHRoZSBjb250cm9sbGVyLiAKDQoFBRECAgESBIsIBBQKDQoFBRECAgISBIsIFx0K9gIKAgQPEgaWCACZCAEa5wIgQWN0aW9uIHN0cnVjdHVyZSBmb3IgT0ZQQVRfT1VUUFVULCB3aGljaCBzZW5kcyBwYWNrZXRzIG91dCAncG9ydCcuCiBXaGVuIHRoZSAncG9ydCcgaXMgdGhlIE9GUFBfQ09OVFJPTExFUiwgJ21heF9sZW4nIGluZGljYXRlcyB0aGUgbWF4CiBudW1iZXIgb2YgYnl0ZXMgdG8gc2VuZC4gIEEgJ21heF9sZW4nIG9mIHplcm8gbWVhbnMgbm8gYnl0ZXMgb2YgdGhlCiBwYWNrZXQgc2hvdWxkIGJlIHNlbnQuIEEgJ21heF9sZW4nIG9mIE9GUENNTF9OT19CVUZGRVIgbWVhbnMgdGhhdAogdGhlIHBhY2tldCBpcyBub3QgYnVmZmVyZWQgYW5kIHRoZSBjb21wbGV0ZSBwYWNrZXQgaXMgdG8gYmUgc2VudCB0bwogdGhlIGNvbnRyb2xsZXIuIAoLCgMEDwESBJYICBkKHAoEBA8CABIElwgEFCIOIE91dHB1dCBwb3J0LiAKDwoFBA8CAAQSBpcIBJYIGwoNCgUEDwIABRIElwgECgoNCgUEDwIAARIElwgLDwoNCgUEDwIAAxIElwgSEwoxCgQEDwIBEgSYCAQXIiMgTWF4IGxlbmd0aCB0byBzZW5kIHRvIGNvbnRyb2xsZXIuIAoPCgUEDwIBBBIGmAgElwgUCg0KBQQPAgEFEgSYCAQKCg0KBQQPAgEBEgSYCAsSCg0KBQQPAgEDEgSYCBUWCjgKAgQQEgacCACeCAEaKiBBY3Rpb24gc3RydWN0dXJlIGZvciBPRlBBVF9TRVRfTVBMU19UVEwuIAoLCgMEEAESBJwICBsKGAoEBBACABIEnQgEGCIKIE1QTFMgVFRMIAoPCgUEEAIABBIGnQgEnAgdCg0KBQQQAgAFEgSdCAQKCg0KBQQQAgABEgSdCAsTCg0KBQQQAgADEgSdCBYXCj4KAgQREgahCACjCAEaMCBBY3Rpb24gc3RydWN0dXJlIGZvciBPRlBBVF9QVVNIX1ZMQU4vTVBMUy9QQkIuIAoLCgMEEQESBKEICBcKGQoEBBECABIEoggEGSILIEV0aGVydHlwZSAKDwoFBBECAAQSBqIIBKEIGQoNCgUEEQIABRIEoggECgoNCgUEEQIAARIEoggLFAoNCgUEEQIAAxIEoggXGAo0CgIEEhIGpggAqAgBGiYgQWN0aW9uIHN0cnVjdHVyZSBmb3IgT0ZQQVRfUE9QX01QTFMuIAoLCgMEEgESBKYICBsKGQoEBBICABIEpwgEGSILIEV0aGVydHlwZSAKDwoFBBICAAQSBqcIBKYIHQoNCgUEEgIABRIEpwgECgoNCgUEEgIAARIEpwgLFAoNCgUEEgIAAxIEpwgXGAoxCgIEExIGqwgArQgBGiMgQWN0aW9uIHN0cnVjdHVyZSBmb3IgT0ZQQVRfR1JPVVAuIAoLCgMEEwESBKsICBgKIQoEBBMCABIErAgEGCITIEdyb3VwIGlkZW50aWZpZXIuIAoPCgUEEwIABBIGrAgEqwgaCg0KBQQTAgAFEgSsCAQKCg0KBQQTAgABEgSsCAsTCg0KBQQTAgADEgSsCBYXCjYKAgQUEgawCACyCAEaKCBBY3Rpb24gc3RydWN0dXJlIGZvciBPRlBBVF9TRVRfTldfVFRMLiAKCwoDBBQBEgSwCAgZChYKBAQUAgASBLEIBBYiCCBJUCBUVEwgCg8KBQQUAgAEEgaxCASwCBsKDQoFBBQCAAUSBLEIBAoKDQoFBBQCAAESBLEICxEKDQoFBBQCAAMSBLEIFBUKNQoCBBUSBrUIALcIARonIEFjdGlvbiBzdHJ1Y3R1cmUgZm9yIE9GUEFUX1NFVF9GSUVMRC4gCgsKAwQVARIEtQgIHAoMCgQEFQIAEgS2CAQcCg8KBQQVAgAEEga2CAS1CB4KDQoFBBUCAAYSBLYIBBEKDQoFBBUCAAESBLYIEhcKDQoFBBUCAAMSBLYIGhsKZAoCBBYSBrsIAMAIARpWIEFjdGlvbiBoZWFkZXIgZm9yIE9GUEFUX0VYUEVSSU1FTlRFUi4KIFRoZSByZXN0IG9mIHRoZSBib2R5IGlzIGV4cGVyaW1lbnRlci1kZWZpbmVkLiAKCwoDBBYBEgS7CAgfCl8KBAQWAgASBLwIBBwiUSBFeHBlcmltZW50ZXIgSUQgd2hpY2ggdGFrZXMgdGhlIHNhbWUKZm9ybSBhcyBpbiBzdHJ1Y3QKb2ZwX2V4cGVyaW1lbnRlcl9oZWFkZXIuIAoPCgUEFgIABBIGvAgEuwghCg0KBQQWAgAFEgS8CAQKCg0KBQQWAgABEgS8CAsXCg0KBQQWAgADEgS8CBobCgwKBAQWAgESBL8IBBMKDwoFBBYCAQQSBr8IBLwIHAoNCgUEFgIBBRIEvwgECQoNCgUEFgIBARIEvwgKDgoNCgUEFgIBAxIEvwgREgpsCgIFEhIGxggA1AgBMh4gIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIyAyHiAjIyBPcGVuRmxvdyBJbnN0cnVjdGlvbnMuICMjIDIeICMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIyMgCgsKAwUSARIExggFGQoMCgQFEgIAEgTHCAQZCg0KBQUSAgABEgTHCAQRCg0KBQUSAgACEgTHCBcYCjsKBAUSAgESBMgIBBkiLSBTZXR1cCB0aGUgbmV4dCB0YWJsZSBpbiB0aGUgbG9va3VwCnBpcGVsaW5lIAoNCgUFEgIBARIEyAgEFAoNCgUFEgIBAhIEyAgXGApCCgQFEgICEgTKCAQdIjQgU2V0dXAgdGhlIG1ldGFkYXRhIGZpZWxkIGZvciB1c2UgbGF0ZXIgaW4KcGlwZWxpbmUgCg0KBQUSAgIBEgTKCAQYCg0KBQUSAgICEgTKCBscCkAKBAUSAgMSBMwIBBwiMiBXcml0ZSB0aGUgYWN0aW9uKHMpIG9udG8gdGhlIGRhdGFwYXRoIGFjdGlvbgpzZXQgCg0KBQUSAgMBEgTMCAQXCg0KBQUSAgMCEgTMCBobCjEKBAUSAgQSBM4IBBwiIyBBcHBsaWVzIHRoZSBhY3Rpb24ocykgaW1tZWRpYXRlbHkgCg0KBQUSAgQBEgTOCAQXCg0KBQUSAgQCEgTOCBobCj8KBAUSAgUSBM8IBBwiMSBDbGVhcnMgYWxsIGFjdGlvbnMgZnJvbSB0aGUgZGF0YXBhdGgKYWN0aW9uIHNldCAKDQoFBRICBQESBM8IBBcKDQoFBRICBQISBM8IGhsKKgoEBRICBhIE0QgEFCIcIEFwcGx5IG1ldGVyIChyYXRlIGxpbWl0ZXIpIAoNCgUFEgIGARIE0QgEDwoNCgUFEgIGAhIE0QgSEwooCgQFEgIHEgTTCAQgIhogRXhwZXJpbWVudGVyIGluc3RydWN0aW9uIAoNCgUFEgIHARIE0wgEFgoNCgUFEgIHAhIE0wgZHwrtAQoCBBcSBtkIAOIIARreASBJbnN0cnVjdGlvbiBoZWFkZXIgdGhhdCBpcyBjb21tb24gdG8gYWxsIGluc3RydWN0aW9ucy4gIFRoZSBsZW5ndGggaW5jbHVkZXMKIHRoZSBoZWFkZXIgYW5kIGFueSBwYWRkaW5nIHVzZWQgdG8gbWFrZSB0aGUgaW5zdHJ1Y3Rpb24gNjQtYml0IGFsaWduZWQuCiBOQjogVGhlIGxlbmd0aCBvZiBhbiBpbnN0cnVjdGlvbiAqbXVzdCogYWx3YXlzIGJlIGEgbXVsdGlwbGUgb2YgZWlnaHQuIAoLCgMEFwESBNkICBcKIAoEBBcCABIE2ggEFCISIEluc3RydWN0aW9uIHR5cGUgCg8KBQQXAgAEEgbaCATZCBkKDQoFBBcCAAUSBNoIBAoKDQoFBBcCAAESBNoICw8KDQoFBBcCAAMSBNoIEhMKDgoEBBcIABIG2wgE4QgFCg0KBQQXCAABEgTbCAoOCgwKBAQXAgESBNwICDIKDQoFBBcCAQYSBNwICCIKDQoFBBcCAQESBNwIIy0KDQoFBBcCAQMSBNwIMDEKDAoEBBcCAhIE3QgIOgoNCgUEFwICBhIE3QgIJgoNCgUEFwICARIE3QgnNQoNCgUEFwICAxIE3Qg4OQoMCgQEFwIDEgTeCAgsCg0KBQQXAgMGEgTeCAgfCg0KBQQXAgMBEgTeCCAnCg0KBQQXAgMDEgTeCCorCgwKBAQXAgQSBN8ICCgKDQoFBBcCBAYSBN8ICB0KDQoFBBcCBAESBN8IHiMKDQoFBBcCBAMSBN8IJicKDAoEBBcCBRIE4AgINgoNCgUEFwIFBhIE4AgIJAoNCgUEFwIFARIE4AglMQoNCgUEFwIFAxIE4Ag0NQo6CgIEGBIG5QgA5wgBGiwgSW5zdHJ1Y3Rpb24gc3RydWN0dXJlIGZvciBPRlBJVF9HT1RPX1RBQkxFIAoLCgMEGAESBOUICCIKNQoEBBgCABIE5ggEGCInIFNldCBuZXh0IHRhYmxlIGluIHRoZSBsb29rdXAgcGlwZWxpbmUgCg8KBQQYAgAEEgbmCATlCCQKDQoFBBgCAAUSBOYIBAoKDQoFBBgCAAESBOYICxMKDQoFBBgCAAMSBOYIFhcKPgoCBBkSBuoIAO0IARowIEluc3RydWN0aW9uIHN0cnVjdHVyZSBmb3IgT0ZQSVRfV1JJVEVfTUVUQURBVEEgCgsKAwQZARIE6ggIJgonCgQEGQIAEgTrCAQYIhkgTWV0YWRhdGEgdmFsdWUgdG8gd3JpdGUgCg8KBQQZAgAEEgbrCATqCCgKDQoFBBkCAAUSBOsIBAoKDQoFBBkCAAESBOsICxMKDQoFBBkCAAMSBOsIFhcKJgoEBBkCARIE7AgEHSIYIE1ldGFkYXRhIHdyaXRlIGJpdG1hc2sgCg8KBQQZAgEEEgbsCATrCBgKDQoFBBkCAQUSBOwIBAoKDQoFBBkCAQESBOwICxgKDQoFBBkCAQMSBOwIGxwKSQoCBBoSBvAIAPQIARo7IEluc3RydWN0aW9uIHN0cnVjdHVyZSBmb3IgT0ZQSVRfV1JJVEUvQVBQTFkvQ0xFQVJfQUNUSU9OUyAKCwoDBBoBEgTwCAgfCl0KBAQaAgASBPEIBCQiTyAwIG9yIG1vcmUgYWN0aW9ucyBhc3NvY2lhdGVkCndpdGggT0ZQSVRfV1JJVEVfQUNUSU9OUyBhbmQKT0ZQSVRfQVBQTFlfQUNUSU9OUyAKDQoFBBoCAAQSBPEIBAwKDQoFBBoCAAYSBPEIDRcKDQoFBBoCAAESBPEIGB8KDQoFBBoCAAMSBPEIIiMKNQoCBBsSBvcIAPkIARonIEluc3RydWN0aW9uIHN0cnVjdHVyZSBmb3IgT0ZQSVRfTUVURVIgCgsKAwQbARIE9wgIHQofCgQEGwIAEgT4CAQYIhEgTWV0ZXIgaW5zdGFuY2UuIAoPCgUEGwIABBIG+AgE9wgfCg0KBQQbAgAFEgT4CAQKCg0KBQQbAgABEgT4CAsTCg0KBQQbAgADEgT4CBYXCkMKAgQcEgb8CACBCQEaNSBJbnN0cnVjdGlvbiBzdHJ1Y3R1cmUgZm9yIGV4cGVyaW1lbnRhbCBpbnN0cnVjdGlvbnMgCgsKAwQcARIE/AgIJApfCgQEHAIAEgT9CAQcIlEgRXhwZXJpbWVudGVyIElEIHdoaWNoIHRha2VzIHRoZSBzYW1lIGZvcm0KYXMgaW4gc3RydWN0IG9mcF9leHBlcmltZW50ZXJfaGVhZGVyLiAKDwoFBBwCAAQSBv0IBPwIJgoNCgUEHAIABRIE/QgECgoNCgUEHAIAARIE/QgLFwoNCgUEHAIAAxIE/QgaGwo/CgQEHAIBEgSACQQTGjEgRXhwZXJpbWVudGVyLWRlZmluZWQgYXJiaXRyYXJ5IGFkZGl0aW9uYWwgZGF0YS4gCg8KBQQcAgEEEgaACQT9CBwKDQoFBBwCAQUSBIAJBAkKDQoFBBwCAQESBIAJCg4KDQoFBBwCAQMSBIAJERIKewoCBRMSBocJAI8JATIjICMjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjIyAyIyAjIyBPcGVuRmxvdyBGbG93IE1vZGlmaWNhdGlvbi4gIyMgMiMgIyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMjIAoLCgMFEwESBIcJBRkKGQoEBRMCABIEiAkEHCILIE5ldyBmbG93LiAKDQoFBRMCAAESBIgJBA0KDQoFBRMCAAISBIgJGhsKKgoEBRMCARIEiQkEHCIcIE1vZGlmeSBhbGwgbWF0Y2hpbmcgZmxvd3MuIAoNCgUFEwIBARIEiQkEEAoNCgUFEwIBAhIEiQkaGwpGCgQFEwICEgSKCQQcIjggTW9kaWZ5IGVudHJ5IHN0cmljdGx5IG1hdGNoaW5nIHdpbGRjYXJkcyBhbmQKcHJpb3JpdHkuIAoNCgUFEwICARIEigkEFwoNCgUFEwICAhIEigkaGwoqCgQFEwIDEgSMCQQcIhwgRGVsZXRlIGFsbCBtYXRjaGluZyBmbG93cy4gCg0KBQUTAgMBEgSMCQQQCg0KBQUTAgMCEgSMCRobCkYKBAUTAgQSBI0JBBwiOCBEZWxldGUgZW50cnkgc3RyaWN0bHkgbWF0Y2hpbmcgd2lsZGNhcmRzIGFuZApwcmlvcml0eS4gCg0KBQUTAgQBEgSNCQQXCg0KBQUTAgQCEgSNCRobCt4BCgIFFBIGmAkAoAkBMlsgVmFsdWUgdXNlZCBpbiAiaWRsZV90aW1lb3V0IiBhbmQgImhhcmRfdGltZW91dCIgdG8gaW5kaWNhdGUgdGhhdCB0aGUgZW50cnkKIGlzIHBlcm1hbmVudC4gMh0jZGVmaW5lIE9GUF9GTE9XX1BFUk1BTkVOVCAwCjIuIEJ5IGRlZmF1bHQsIGNob29zZSBhIHByaW9yaXR5IGluIHRoZSBtaWRkbGUuIDIkI2RlZmluZSBPRlBfREVGQVVMVF9QUklPUklUWSAweDgwMDAKCgsKAwUUARIEmAkFFwoMCgQFFAIAEgSZCQQcCg0KBQUUAgABEgSZCQQRCg0KBQUUAgACEgSZCRobCksKBAUUAgESBJoJBBwiPSBTZW5kIGZsb3cgcmVtb3ZlZCBtZXNzYWdlIHdoZW4gZmxvdwogZXhwaXJlcyBvciBpcyBkZWxldGVkLiAKDQoFBRQCAQESBJoJBBcKDQoFBRQCAQISBJoJGhsKNAoEBRQCAhIEnAkEHCImIENoZWNrIGZvciBvdmVybGFwcGluZyBlbnRyaWVzIGZpcnN0LiAKDQoFBRQCAgESBJwJBBcKDQoFBRQCAgISBJwJGhsKMgoEBRQCAxIEnQkEHCIkIFJlc2V0IGZsb3cgcGFja2V0IGFuZCBieXRlIGNvdW50cy4gCg0KBQUUAgMBEgSdCQQWCg0KBQUUAgMCEgSdCRobCjEKBAUUAgQSBJ4JBBwiIyBEb24ndCBrZWVwIHRyYWNrIG9mIHBhY2tldCBjb3VudC4gCg0KBQUUAgQBEgSeCQQXCg0KBQUUAgQCEgSeCRobCi8KBAUUAgUSBJ8JBB0iISBEb24ndCBrZWVwIHRyYWNrIG9mIGJ5dGUgY291bnQuIAoNCgUFFAIFARIEnwkEFwoNCgUFFAIFAhIEnwkaHApBCgIEHRIGowkAwAkBGjMgRmxvdyBzZXR1cCBhbmQgdGVhcmRvd24gKGNvbnRyb2xsZXIgLT4gZGF0YXBhdGgpLiAKCwoDBB0BEgSjCQgUCkkKBAQdAgASBKUJBBYaE29mcF9oZWFkZXIgaGVhZGVyOwoiJiBPcGFxdWUgY29udHJvbGxlci1pc3N1ZWQgaWRlbnRpZmllci4gCg8KBQQdAgAEEgalCQSjCRYKDQoFBB0CAAUSBKUJBAoKDQoFBB0CAAESBKUJCxEKDQoFBB0CAAMSBKUJFBUKoQEKBAQdAgESBKYJBBsikgEgTWFzayB1c2VkIHRvIHJlc3RyaWN0IHRoZSBjb29raWUgYml0cwp0aGF0IG11c3QgbWF0Y2ggd2hlbiB0aGUgY29tbWFuZCBpcwpPRlBGQ19NT0RJRlkqIG9yIE9GUEZDX0RFTEVURSouIEEgdmFsdWUKb2YgMCBpbmRpY2F0ZXMgbm8gcmVzdHJpY3Rpb24uIAoPCgUEHQIBBBIGpgkEpQkWCg0KBQQdAgEFEgSmCQQKCg0KBQQdAgEBEgSmCQsWCg0KBQQdAgEDEgSmCRkaCpYBCgQEHQICEgSqCQQYIocBIElEIG9mIHRoZSB0YWJsZSB0byBwdXQgdGhlIGZsb3cgaW4uCkZvciBPRlBGQ19ERUxFVEVfKiBjb21tYW5kcywgT0ZQVFRfQUxMCmNhbiBhbHNvIGJlIHVzZWQgdG8gZGVsZXRlIG1hdGNoaW5nCmZsb3dzIGZyb20gYWxsIHRhYmxlcy4gCg8KBQQdAgIEEgaqCQSmCRsKDQoFBB0CAgUSBKoJBAoKDQoFBB0CAgESBKoJCxMKDQoFBB0CAgMSBKoJFhcKHwoEBB0CAxIErgkEJSIRIE9uZSBvZiBPRlBGQ18qLiAKDwoFBB0CAwQSBq4JBKoJGAoNCgUEHQIDBhIErgkEGAoNCgUEHQIDARIErgkZIAoNCgUEHQIDAxIErgkjJAo2CgQEHQIEEgSvCQQcIiggSWRsZSB0aW1lIGJlZm9yZSBkaXNjYXJkaW5nIChzZWNvbmRzKS4gCg8KBQQdAgQEEgavCQSuCSUKDQoFBB0CBAUSBK8JBAoKDQoFBB0CBAESBK8JCxcKDQoFBB0CBAMSBK8JGhsKNQoEBB0CBRIEsAkEHCInIE1heCB0aW1lIGJlZm9yZSBkaXNjYXJkaW5nIChzZWNvbmRzKS4gCg8KBQQdAgUEEgawCQSvCRwKDQoFBB0CBQUSBLAJBAoKDQoFBB0CBQESBLAJCxcKDQoFBB0CBQMSBLAJGhsKLQoEBB0CBhIEsQkEGCIfIFByaW9yaXR5IGxldmVsIG9mIGZsb3cgZW50cnkuIAoPCgUEHQIGBBIGsQkEsAkcCg0KBQQdAgYFEgSxCQQKCg0KBQQdAgYBEgSxCQsTCg0KBQQdAgYDEgSxCRYXCmAKBAQdAgcSBLIJBBkiUiBCdWZmZXJlZCBwYWNrZXQgdG8gYXBwbHkgdG8sIG9yCk9GUF9OT19CVUZGRVIuCk5vdCBtZWFuaW5nZnVsIGZvciBPRlBGQ19ERUxFVEUqLiAKDwoFBB0CBwQSBrIJBLEJGAoNCgUEHQIHBRIEsgkECgoNCgUEHQIHARIEsgkLFAoNCgUEHQIHAxIEsgkXGAqXAQoEBB0CCBIEtQkEGCKIASBGb3IgT0ZQRkNfREVMRVRFKiBjb21tYW5kcywgcmVxdWlyZQptYXRjaGluZyBlbnRyaWVzIHRvIGluY2x1ZGUgdGhpcyBhcyBhbgpvdXRwdXQgcG9ydC4gIEEgdmFsdWUgb2YgT0ZQUF9BTlkKaW5kaWNhdGVzIG5vIHJlc3RyaWN0aW9uLiAKDwoFBB0CCAQSBrUJBLIJGQoNCgUEHQIIBRIEtQkECgoNCgUEHQIIARIEtQkLEwoNCgUEHQIIAxIEtQkWFwqYAQoEBB0CCRIEuQkEGiKJASBGb3IgT0ZQRkNfREVMRVRFKiBjb21tYW5kcywgcmVxdWlyZQptYXRjaGluZyBlbnRyaWVzIHRvIGluY2x1ZGUgdGhpcyBhcyBhbgpvdXRwdXQgZ3JvdXAuICBBIHZhbHVlIG9mIE9GUEdfQU5ZCmluZGljYXRlcyBubyByZXN0cmljdGlvbi4gCg8KBQQdAgkEEga5CQS1CRgKDQoFBB0CCQUSBLkJBAoKDQoFBB0CCQESBLkJCxQKDQoFBB0CCQMSBLkJFxkKKAoEBB0CChIEvQkEFiIaIEJpdG1hcCBvZiBPRlBGRl8qIGZsYWdzLiAKDwoFBB0CCgQSBr0JBLkJGgoNCgUEHQIKBRIEvQkECgoNCgUEHQIKARIEvQkLEAoNCgUEHQIKAxIEvQkTFQovCgQEHQILEgS+CQQZIiEgRmllbGRzIHRvIG1hdGNoLiBWYXJpYWJsZSBzaXplLiAKDwoFBB0CCwQSBr4JBL0JFgoNCgUEHQILBhIEvgkEDQoNCgUEHQILARIEvgkOEwoNCgUEHQILAxIEvgkWGAoaCgQEHQIMEgS/CQQvIgwgMCBvciBtb3JlLiAKDQoFBB0CDAQSBL8JBAwKDQoFBB0CDAYSBL8JDRwKDQoFBB0CDAESBL8JHSkKDQoFBB0CDAMSBL8JLC4KSgoCBRUSBsMJAM4JARo8IEdyb3VwIG51bWJlcmluZy4gR3JvdXBzIGNhbiB1c2UgYW55IG51bWJlciB1cCB0byBPRlBHX01BWC4gCgsKAwUVARIEwwkFDgoMCgQFFQIAEgTFCQQVCg0KBQUVAgABEgTFCQQQCg0KBQUVAgACEgTFCRMUCikKBAUVAgESBMgJBCEaGyBMYXN0IHVzYWJsZSBncm91cCBudW1iZXIuIAoNCgUFFQIBARIEyAkEDAoNCgUFFQIBAhIEyAkWIApQCgQFFQICEgTLCQQhGg4gRmFrZSBncm91cHMuICIyIFJlcHJlc2VudHMgYWxsIGdyb3VwcyBmb3IgZ3JvdXAgZGVsZXRlCmNvbW1hbmRzLiAKDQoFBRUCAgESBMsJBAwKDQoFBRUCAgISBMsJFiAKNQoEBRUCAxIEzQkEISInIFNwZWNpYWwgd2lsZGNhcmQ6IG5vIGdyb3VwIHNwZWNpZmllZC4gCg0KBQUVAgMBEgTNCQQMCg0KBQUVAgMCEgTNCRYgCh4KAgUWEgbRCQDVCQEaECBHcm91cCBjb21tYW5kcyAKCwoDBRYBEgTRCQUaChoKBAUWAgASBNIJBBUiDCBOZXcgZ3JvdXAuIAoNCgUFFgIAARIE0gkEDQoNCgUFFgIAAhIE0gkTFAorCgQFFgIBEgTTCQQVIh0gTW9kaWZ5IGFsbCBtYXRjaGluZyBncm91cHMuIAoNCgUFFgIBARIE0wkEEAoNCgUFFgIBAhIE0wkTFAorCgQFFgICEgTUCQQVIh0gRGVsZXRlIGFsbCBtYXRjaGluZyBncm91cHMuIAoNCgUFFgICARIE1AkEEAoNCgUFFgICAhIE1AkTFAopCgIEHhIG2AkA4gkBGhsgQnVja2V0IGZvciB1c2UgaW4gZ3JvdXBzLiAKCwoDBB4BEgTYCQgSCksKBAQeAgASBNkJBBYiPSBSZWxhdGl2ZSB3ZWlnaHQgb2YgYnVja2V0LiAgT25seQpkZWZpbmVkIGZvciBzZWxlY3QgZ3JvdXBzLiAKDwoFBB4CAAQSBtkJBNgJFAoNCgUEHgIABRIE2QkECgoNCgUEHgIAARIE2QkLEQoNCgUEHgIAAxIE2QkUFQpuCgQEHgIBEgTbCQQaImAgUG9ydCB3aG9zZSBzdGF0ZSBhZmZlY3RzIHdoZXRoZXIgdGhpcwpidWNrZXQgaXMgbGl2ZS4gIE9ubHkgcmVxdWlyZWQgZm9yIGZhc3QKZmFpbG92ZXIgZ3JvdXBzLiAKDwoFBB4CAQQSBtsJBNkJFgoNCgUEHgIBBRIE2wkECgoNCgUEHgIBARIE2wkLFQoNCgUEHgIBAxIE2wkYGQpvCgQEHgICEgTeCQQbImEgR3JvdXAgd2hvc2Ugc3RhdGUgYWZmZWN0cyB3aGV0aGVyIHRoaXMKYnVja2V0IGlzIGxpdmUuICBPbmx5IHJlcXVpcmVkIGZvciBmYXN0CmZhaWxvdmVyIGdyb3Vwcy4gCg8KBQQeAgIEEgbeCQTbCRoKDQoFBB4CAgUSBN4JBAoKDQoFBB4CAgESBN4JCxYKDQoFBB4CAgMSBN4JGRoKDAoEBB4CAxIE4QkEJAoNCgUEHgIDBBIE4QkEDAoNCgUEHgIDBhIE4QkNFwoNCgUEHgIDARIE4QkYHwoNCgUEHgIDAxIE4QkiIwpCCgIEHxIG5QkA6wkBGjQgR3JvdXAgc2V0dXAgYW5kIHRlYXJkb3duIChjb250cm9sbGVyIC0+IGRhdGFwYXRoKS4gCgsKAwQfARIE5QkIFQo0CgQEHwIAEgTnCQQmGhNvZnBfaGVhZGVyIGhlYWRlcjsKIhEgT25lIG9mIE9GUEdDXyouIAoPCgUEHwIABBIG5wkE5QkXCg0KBQQfAgAGEgTnCQQZCg0KBQQfAgABEgTnCRohCg0KBQQfAgADEgTnCSQlCh8KBAQfAgESBOgJBBwiESBPbmUgb2YgT0ZQR1RfKi4gCg8KBQQfAgEEEgboCQTnCSYKDQoFBB8CAQYSBOgJBBIKDQoFBB8CAQESBOgJExcKDQoFBB8CAQMSBOgJGhsKIQoEBB8CAhIE6QkEGCITIEdyb3VwIGlkZW50aWZpZXIuIAoPCgUEHwICBBIG6QkE6AkcCg0KBQQfAgIFEgTpCQQKCg0KBQQfAgIBEgTpCQsTCg0KBQQfAgIDEgTpCRYXCgwKBAQfAgMSBOoJBCQKDQoFBB8CAwQSBOoJBAwKDQoFBB8CAwYSBOoJDRcKDQoFBB8CAwESBOoJGB8KDQoFBB8CAwMSBOoJIiMKYAoCBRcSBu8JAPQJARpSIEdyb3VwIHR5cGVzLiAgVmFsdWVzIGluIHRoZSByYW5nZSBbMTI4OyAyNTVdIGFyZSByZXNlcnZlZCBmb3IgZXhwZXJpbWVudGFsCiB1c2UuIAoLCgMFFwESBO8JBRMKMQoEBRcCABIE8AkEFyIjIEFsbCAobXVsdGljYXN0L2Jyb2FkY2FzdCkgZ3JvdXAuICAKDQoFBRcCAAESBPAJBA0KDQoFBRcCAAISBPAJFRYKHQoEBRcCARIE8QkEFyIPIFNlbGVjdCBncm91cC4gCg0KBQUXAgEBEgTxCQQQCg0KBQUXAgECEgTxCRUWCh8KBAUXAgISBPIJBBciESBJbmRpcmVjdCBncm91cC4gCg0KBQUXAgIBEgTyCQQSCg0KBQUXAgICEgTyCRUWCiQKBAUXAgMSBPMJBBciFiBGYXN0IGZhaWxvdmVyIGdyb3VwLiAKDQoFBRcCAwESBPMJBAwKDQoFBRcCAwISBPMJFRYKhQEKAgQgEgb6CQCDCgEaJyBTZW5kIHBhY2tldCAoY29udHJvbGxlciAtPiBkYXRhcGF0aCkuIDIrIFNwZWNpYWwgYnVmZmVyLWlkIHRvIGluZGljYXRlICdubyBidWZmZXInIDIhI2RlZmluZSBPRlBfTk9fQlVGRkVSIDB4ZmZmZmZmZmYKCgsKAwQgARIE+gkIFgpVCgQEIAIAEgT8CQQZGhNvZnBfaGVhZGVyIGhlYWRlcjsKIjIgSUQgYXNzaWduZWQgYnkgZGF0YXBhdGggKE9GUF9OT19CVUZGRVIKaWYgbm9uZSkuIAoPCgUEIAIABBIG/AkE+gkYCg0KBQQgAgAFEgT8CQQKCg0KBQQgAgABEgT8CQsUCg0KBQQgAgADEgT8CRcYCjYKBAQgAgESBP4JBBciKCBQYWNrZXQncyBpbnB1dCBwb3J0IG9yIE9GUFBfQ09OVFJPTExFUi4KDwoFBCACAQQSBv4JBPwJGQoNCgUEIAIBBRIE/gkECgoNCgUEIAIBARIE/gkLEgoNCgUEIAIBAxIE/gkVFgooCgQEIAICEgT/CQQkIhogQWN0aW9uIGxpc3QgLSAwIG9yIG1vcmUuIAoNCgUEIAICBBIE/wkEDAoNCgUEIAICBhIE/wkNFwoNCgUEIAICARIE/wkYHwoNCgUEIAICAxIE/wkiIwqjAQoEBCACAxIEggoEExqEASBUaGUgdmFyaWFibGUgc2l6ZSBhY3Rpb24gbGlzdCBpcyBvcHRpb25hbGx5IGZvbGxvd2VkIGJ5IHBhY2tldCBkYXRhLgogVGhpcyBkYXRhIGlzIG9ubHkgcHJlc2VudCBhbmQgbWVhbmluZ2Z1bCBpZiBidWZmZXJfaWQgPT0gLTEuICIOIFBhY2tldCBkYXRhLiAKDwoFBCACAwQSBoIKBP8JJAoNCgUEIAIDBRIEggoECQoNCgUEIAIDARIEggoKDgoNCgUEIAIDAxIEggoREgpACgIFGBIGhgoAigoBGjIgV2h5IGlzIHRoaXMgcGFja2V0IGJlaW5nIHNlbnQgdG8gdGhlIGNvbnRyb2xsZXI/IAoLCgMFGAESBIYKBRkKOQoEBRgCABIEhwoEGSIrIE5vIG1hdGNoaW5nIGZsb3cgKHRhYmxlLW1pc3MgZmxvdyBlbnRyeSkuIAoNCgUFGAIAARIEhwoEEQoNCgUFGAIAAhIEhwoXGAo3CgQFGAIBEgSICgQZIikgQWN0aW9uIGV4cGxpY2l0bHkgb3V0cHV0IHRvIGNvbnRyb2xsZXIuIAoNCgUFGAIBARIEiAoEDwoNCgUFGAIBAhIEiAoXGAomCgQFGAICEgSJCgQZIhggUGFja2V0IGhhcyBpbnZhbGlkIFRUTCAKDQoFBRgCAgESBIkKBBQKDQoFBRgCAgISBIkKFxgKQQoCBCESBo0KAJUKARozIFBhY2tldCByZWNlaXZlZCBvbiBwb3J0IChkYXRhcGF0aCAtPiBjb250cm9sbGVyKS4gCgsKAwQhARIEjQoIFQo9CgQEIQIAEgSPCgQZGhNvZnBfaGVhZGVyIGhlYWRlcjsKIhogSUQgYXNzaWduZWQgYnkgZGF0YXBhdGguIAoPCgUEIQIABBIGjwoEjQoXCg0KBQQhAgAFEgSPCgQKCg0KBQQhAgABEgSPCgsUCg0KBQQhAgADEgSPChcYCisKBAQhAgESBJAKBCQiHSBSZWFzb24gcGFja2V0IGlzIGJlaW5nIHNlbnQgCg8KBQQhAgEEEgaQCgSPChkKDQoFBCECAQYSBJAKBBgKDQoFBCECAQESBJAKGR8KDQoFBCECAQMSBJAKIiMKMgoEBCECAhIEkQoEGCIkIElEIG9mIHRoZSB0YWJsZSB0aGF0IHdhcyBsb29rZWQgdXAgCg8KBQQhAgIEEgaRCgSQCiQKDQoFBCECAgUSBJEKBAoKDQoFBCECAgESBJEKCxMKDQoFBCECAgMSBJEKFhcKPAoEBCECAxIEkgoEFiIuIENvb2tpZSBvZiB0aGUgZmxvdyBlbnRyeSB0aGF0IHdhcyBsb29rZWQgdXAuIAoPCgUEIQIDBBIGkgoEkQoYCg0KBQQhAgMFEgSSCgQKCg0KBQQhAgMBEgSSCgsRCg0KBQQhAgMDEgSSChQVCi8KBAQhAgQSBJMKBBgiISBQYWNrZXQgbWV0YWRhdGEuIFZhcmlhYmxlIHNpemUuIAoPCgUEIQIEBBIGkwoEkgoWCg0KBQQhAgQGEgSTCgQNCg0KBQQhAgQBEgSTCg4TCg0KBQQhAgQDEgSTChYXCh4KBAQhAgUSBJQKBBMiECBFdGhlcm5ldCBmcmFtZSAKDwoFBCECBQQSBpQKBJMKGAoNCgUEIQIFBRIElAoECQoNCgUEIQIFARIElAoKDgoNCgUEIQIFAxIElAoREgoqCgIFGRIGmAoAngoBGhwgV2h5IHdhcyB0aGlzIGZsb3cgcmVtb3ZlZD8gCgsKAwUZARIEmAoFHAo1CgQFGQIAEgSZCgQbIicgRmxvdyBpZGxlIHRpbWUgZXhjZWVkZWQgaWRsZV90aW1lb3V0LiAKDQoFBRkCAAESBJkKBBYKDQoFBRkCAAISBJkKGRoKKwoEBRkCARIEmgoEGyIdIFRpbWUgZXhjZWVkZWQgaGFyZF90aW1lb3V0LiAKDQoFBRkCAQESBJoKBBYKDQoFBRkCAQISBJoKGRoKLQoEBRkCAhIEmwoEGyIfIEV2aWN0ZWQgYnkgYSBERUxFVEUgZmxvdyBtb2QuIAoNCgUFGQICARIEmwoEEAoNCgUFGQICAhIEmwoZGgoiCgQFGQIDEgScCgQbIhQgR3JvdXAgd2FzIHJlbW92ZWQuIAoNCgUFGQIDARIEnAoEFgoNCgUFGQIDAhIEnAoZGgohCgQFGQIEEgSdCgQbIhMgTWV0ZXIgd2FzIHJlbW92ZWQgCg0KBQUZAgQBEgSdCgQWCg0KBQUZAgQCEgSdChkaCjYKAgQiEgahCgCxCgEaKCBGbG93IHJlbW92ZWQgKGRhdGFwYXRoIC0+IGNvbnRyb2xsZXIpLiAKCwoDBCIBEgShCggYCkkKBAQiAgASBKMKBBYaE29mcF9oZWFkZXIgaGVhZGVyOwoiJiBPcGFxdWUgY29udHJvbGxlci1pc3N1ZWQgaWRlbnRpZmllci4gCg8KBQQiAgAEEgajCgShChoKDQoFBCICAAUSBKMKBAoKDQoFBCICAAESBKMKCxEKDQoFBCICAAMSBKMKFBUKLQoEBCICARIEpQoEGCIfIFByaW9yaXR5IGxldmVsIG9mIGZsb3cgZW50cnkuIAoPCgUEIgIBBBIGpQoEowoWCg0KBQQiAgEFEgSlCgQKCg0KBQQiAgEBEgSlCgsTCg0KBQQiAgEDEgSlChYXCh8KBAQiAgISBKYKBCciESBPbmUgb2YgT0ZQUlJfKi4gCg8KBQQiAgIEEgamCgSlChgKDQoFBCICAgYSBKYKBBsKDQoFBCICAgESBKYKHCIKDQoFBCICAgMSBKYKJSYKHwoEBCICAxIEpwoEGCIRIElEIG9mIHRoZSB0YWJsZSAKDwoFBCICAwQSBqcKBKYKJwoNCgUEIgIDBRIEpwoECgoNCgUEIgIDARIEpwoLEwoNCgUEIgIDAxIEpwoWFwovCgQEIgIEEgSpCgQcIiEgVGltZSBmbG93IHdhcyBhbGl2ZSBpbiBzZWNvbmRzLiAKDwoFBCICBAQSBqkKBKcKGAoNCgUEIgIEBRIEqQoECgoNCgUEIgIEARIEqQoLFwoNCgUEIgIEAxIEqQoaGwpHCgQEIgIFEgSqCgQdIjkgVGltZSBmbG93IHdhcyBhbGl2ZSBpbiBuYW5vc2Vjb25kcyBiZXlvbmQKZHVyYXRpb25fc2VjLiAKDwoFBCICBQQSBqoKBKkKHAoNCgUEIgIFBRIEqgoECgoNCgUEIgIFARIEqgoLGAoNCgUEIgIFAxIEqgobHAo0CgQEIgIGEgSsCgQcIiYgSWRsZSB0aW1lb3V0IGZyb20gb3JpZ2luYWwgZmxvdyBtb2QuIAoPCgUEIgIGBBIGrAoEqgodCg0KBQQiAgYFEgSsCgQKCg0KBQQiAgYBEgSsCgsXCg0KBQQiAgYDEgSsChobCjQKBAQiAgcSBK0KBBwiJiBIYXJkIHRpbWVvdXQgZnJvbSBvcmlnaW5hbCBmbG93IG1vZC4gCg8KBQQiAgcEEgatCgSsChwKDQoFBCICBwUSBK0KBAoKDQoFBCICBwESBK0KCxcKDQoFBCICBwMSBK0KGhsKDAoEBCICCBIErgoEHAoPCgUEIgIIBBIGrgoErQocCg0KBQQiAggFEgSuCgQKCg0KBQQiAggBEgSuCgsXCg0KBQQiAggDEgSuChobCgwKBAQiAgkSBK8KBBsKDwoFBCICCQQSBq8KBK4KHAoNCgUEIgIJBRIErwoECgoNCgUEIgIJARIErwoLFQoNCgUEIgIJAxIErwoYGgo1CgQEIgIKEgSwCgQaIicgRGVzY3JpcHRpb24gb2YgZmllbGRzLiBWYXJpYWJsZSBzaXplLiAKDwoFBCICCgQSBrAKBK8KGwoNCgUEIgIKBhIEsAoEDQoNCgUEIgIKARIEsAoOEwoNCgUEIgIKAxIEsAoWGQpPCgIFGhIGtAoAvgoBGkEgTWV0ZXIgbnVtYmVyaW5nLiBGbG93IG1ldGVycyBjYW4gdXNlIGFueSBudW1iZXIgdXAgdG8gT0ZQTV9NQVguIAoLCgMFGgESBLQKBQ4KDAoEBRoCABIEtQoEGAoNCgUFGgIAARIEtQoEDQoNCgUFGgIAAhIEtQoWFwoiCgQFGgIBEgS3CgQhGhQgTGFzdCB1c2FibGUgbWV0ZXIuIAoNCgUFGgIBARIEtwoEDAoNCgUFGgIBAhIEtwoWIAo7CgQFGgICEgS6CgQhGhEgVmlydHVhbCBtZXRlcnMuICIaIE1ldGVyIGZvciBzbG93IGRhdGFwYXRoLiAKDQoFBRoCAgESBLoKBBEKDQoFBRoCAgISBLoKFiAKMAoEBRoCAxIEuwoEISIiIE1ldGVyIGZvciBjb250cm9sbGVyIGNvbm5lY3Rpb24uIAoNCgUFGgIDARIEuwoEEwoNCgUFGgIDAhIEuwoWIApBCgQFGgIEEgS8CgQhIjMgUmVwcmVzZW50cyBhbGwgbWV0ZXJzIGZvciBzdGF0IHJlcXVlc3RzCmNvbW1hbmRzLiAKDQoFBRoCBAESBLwKBAwKDQoFBRoCBAISBLwKFiAKIAoCBRsSBsEKAMYKARoSIE1ldGVyIGJhbmQgdHlwZXMgCgsKAwUbARIEwQoFGAoMCgQFGwIAEgTCCgQfCg0KBQUbAgABEgTCCgQSCg0KBQUbAgACEgTCCh0eChwKBAUbAgESBMMKBB8iDiBEcm9wIHBhY2tldC4gCg0KBQUbAgEBEgTDCgQPCg0KBQUbAgECEgTDCh0eCi0KBAUbAgISBMQKBB8iHyBSZW1hcmsgRFNDUCBpbiB0aGUgSVAgaGVhZGVyLiAKDQoFBRsCAgESBMQKBBYKDQoFBRsCAgISBMQKHR4KKAoEBRsCAxIExQoEJCIaIEV4cGVyaW1lbnRlciBtZXRlciBiYW5kLiAKDQoFBRsCAwESBMUKBBcKDQoFBRsCAwISBMUKHSMKMQoCBCMSBskKANIKARojIENvbW1vbiBoZWFkZXIgZm9yIGFsbCBtZXRlciBiYW5kcyAKCwoDBCMBEgTJCggdCiAKBAQjAgASBMoKBCEiEiBPbmUgb2YgT0ZQTUJUXyouIAoPCgUEIwIABBIGygoEyQofCg0KBQQjAgAGEgTKCgQXCg0KBQQjAgABEgTKChgcCg0KBQQjAgADEgTKCh8gCiMKBAQjAgESBMsKBCEiFSBSYXRlIGZvciB0aGlzIGJhbmQuIAoPCgUEIwIBBBIGywoEygohCg0KBQQjAgEFEgTLCgQKCg0KBQQjAgEBEgTLChgcCg0KBQQjAgEDEgTLCh8gCh8KBAQjAgISBMwKBCciESBTaXplIG9mIGJ1cnN0cy4gCg8KBQQjAgIEEgbMCgTLCiEKDQoFBCMCAgUSBMwKBAoKDQoFBCMCAgESBMwKGCIKDQoFBCMCAgMSBMwKJSYKDgoEBCMIABIGzQoE0QoFCg0KBQQjCAABEgTNCgoOCgwKBAQjAgMSBM4KCCUKDQoFBCMCAwYSBM4KCBsKDQoFBCMCAwESBM4KHCAKDQoFBCMCAwMSBM4KIyQKDAoEBCMCBBIEzwoIMwoNCgUEIwIEBhIEzwoIIgoNCgUEIwIEARIEzwojLgoNCgUEIwIEAxIEzwoxMgoMCgQEIwIFEgTQCgg1Cg0KBQQjAgUGEgTQCggjCg0KBQQjAgUBEgTQCiQwCg0KBQQjAgUDEgTQCjM0Cj8KAgQkEgbVCgDXCgEaISBPRlBNQlRfRFJPUCBiYW5kIC0gZHJvcCBwYWNrZXRzICIORW1wdHkgcGF5bG9hZAoKCwoDBCQBEgTVCggbCkYKAgQlEgbaCgDcCgEaOCBPRlBNQlRfRFNDUF9SRU1BUksgYmFuZCAtIFJlbWFyayBEU0NQIGluIHRoZSBJUCBoZWFkZXIgCgsKAwQlARIE2goIIgo3CgQEJQIAEgTbCgQhIikgTnVtYmVyIG9mIGRyb3AgcHJlY2VkZW5jZSBsZXZlbCB0byBhZGQuIAoPCgUEJQIABBIG2woE2gokCg0KBQQlAgAFEgTbCgQKCg0KBQQlAgABEgTbChIcCg0KBQQlAgADEgTbCh8gCmwKAgQmEgbgCgDkCgEaXiBPRlBNQlRfRVhQRVJJTUVOVEVSIGJhbmQgLSBFeHBlcmltZW50ZXIgdHlwZS4KIFRoZSByZXN0IG9mIHRoZSBiYW5kIGlzIGV4cGVyaW1lbnRlci1kZWZpbmVkLiAKCwoDBCYBEgTgCggjCl8KBAQmAgASBOEKBCkiUSBFeHBlcmltZW50ZXIgSUQgd2hpY2ggdGFrZXMgdGhlCnNhbWUgZm9ybSBhcyBpbiBzdHJ1Y3QKb2ZwX2V4cGVyaW1lbnRlcl9oZWFkZXIuIAoPCgUEJgIABBIG4QoE4AolCg0KBQQmAgAFEgThCgQKCg0KBQQmAgABEgThChgkCg0KBQQmAgADEgThCicoCh4KAgUcEgbnCgDrCgEaECBNZXRlciBjb21tYW5kcyAKCwoDBRwBEgTnCgUaChoKBAUcAgASBOgKBBIiDCBOZXcgbWV0ZXIuIAoNCgUFHAIAARIE6AoEDQoNCgUFHAIAAhIE6AoQEQonCgQFHAIBEgTpCgQVIhkgTW9kaWZ5IHNwZWNpZmllZCBtZXRlci4gCg0KBQUcAgEBEgTpCgQQCg0KBQUcAgECEgTpChMUCicKBAUcAgISBOoKBBUiGSBEZWxldGUgc3BlY2lmaWVkIG1ldGVyLiAKDQoFBRwCAgESBOoKBBAKDQoFBRwCAgISBOoKExQKKQoCBR0SBu4KAPQKARobIE1ldGVyIGNvbmZpZ3VyYXRpb24gZmxhZ3MgCgsKAwUdARIE7goFFAoMCgQFHQIAEgTvCgQWCg0KBQUdAgABEgTvCgQRCg0KBQUdAgACEgTvChQVCjkKBAUdAgESBPAKBBYiKyBSYXRlIHZhbHVlIGluIGtiL3MgKGtpbG8tYml0IHBlciBzZWNvbmQpLiAKDQoFBR0CAQESBPAKBA4KDQoFBR0CAQISBPAKFBUKKQoEBR0CAhIE8QoEFiIbIFJhdGUgdmFsdWUgaW4gcGFja2V0L3NlYy4gCg0KBQUdAgIBEgTxCgQPCg0KBQUdAgICEgTxChQVCh4KBAUdAgMSBPIKBBYiECBEbyBidXJzdCBzaXplLiAKDQoFBR0CAwESBPIKBA8KDQoFBR0CAwISBPIKFBUKIwoEBR0CBBIE8woEFiIVIENvbGxlY3Qgc3RhdGlzdGljcy4gCg0KBQUdAgQBEgTzCgQPCg0KBQUdAgQCEgTzChQVCjQKAgQnEgb3CgD+CgEaJiBNZXRlciBjb25maWd1cmF0aW9uLiBPRlBUX01FVEVSX01PRC4gCgsKAwQnARIE9woIFQofCgQEJwIAEgT4CgQmIhEgT25lIG9mIE9GUE1DXyouIAoPCgUEJwIABBIG+AoE9woXCg0KBQQnAgAGEgT4CgQZCg0KBQQnAgABEgT4ChohCg0KBQQnAgADEgT4CiQlCigKBAQnAgESBPkKBCQiGiBCaXRtYXAgb2YgT0ZQTUZfKiBmbGFncy4gCg8KBQQnAgEEEgb5CgT4CiYKDQoFBCcCAQUSBPkKBAoKDQoFBCcCAQESBPkKGh8KDQoFBCcCAQMSBPkKIiMKHwoEBCcCAhIE+goEJyIRIE1ldGVyIGluc3RhbmNlLiAKDwoFBCcCAgQSBvoKBPkKJAoNCgUEJwICBRIE+goECgoNCgUEJwICARIE+goaIgoNCgUEJwICAxIE+golJgpVCgQEJwIDEgT7CgQtIkcgVGhlIGJhbmQgbGlzdCBsZW5ndGggaXMKaW5mZXJyZWQgZnJvbSB0aGUgbGVuZ3RoIGZpZWxkCmluIHRoZSBoZWFkZXIuIAoNCgUEJwIDBBIE+woEDAoNCgUEJwIDBhIE+woNIgoNCgUEJwIDARIE+wojKAoNCgUEJwIDAxIE+worLAqzAQoCBR4SBoMLAJMLARqkASBWYWx1ZXMgZm9yICd0eXBlJyBpbiBvZnBfZXJyb3JfbWVzc2FnZS4gIFRoZXNlIHZhbHVlcyBhcmUgaW1tdXRhYmxlOiB0aGV5CiB3aWxsIG5vdCBjaGFuZ2UgaW4gZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBwcm90b2NvbCAoYWx0aG91Z2ggbmV3IHZhbHVlcyBtYXkKIGJlIGFkZGVkKS4gCgsKAwUeARIEgwsFEwomCgQFHgIAEgSECwQjIhggSGVsbG8gcHJvdG9jb2wgZmFpbGVkLiAKDQoFBR4CAAESBIQLBBYKDQoFBR4CAAISBIQLISIKKwoEBR4CARIEhQsEIyIdIFJlcXVlc3Qgd2FzIG5vdCB1bmRlcnN0b29kLiAKDQoFBR4CAQESBIULBBUKDQoFBR4CAQISBIULISIKLAoEBR4CAhIEhgsEIyIeIEVycm9yIGluIGFjdGlvbiBkZXNjcmlwdGlvbi4gCg0KBQUeAgIBEgSGCwQUCg0KBQUeAgICEgSGCyEiCioKBAUeAgMSBIcLBCMiHCBFcnJvciBpbiBpbnN0cnVjdGlvbiBsaXN0LiAKDQoFBR4CAwESBIcLBBkKDQoFBR4CAwISBIcLISIKHwoEBR4CBBIEiAsEIyIRIEVycm9yIGluIG1hdGNoLiAKDQoFBR4CBAESBIgLBBMKDQoFBR4CBAISBIgLISIKLQoEBR4CBRIEiQsEIyIfIFByb2JsZW0gbW9kaWZ5aW5nIGZsb3cgZW50cnkuIAoNCgUFHgIFARIEiQsEGQoNCgUFHgIFAhIEiQshIgouCgQFHgIGEgSKCwQjIiAgUHJvYmxlbSBtb2RpZnlpbmcgZ3JvdXAgZW50cnkuIAoNCgUFHgIGARIEigsEGgoNCgUFHgIGAhIEigshIgooCgQFHgIHEgSLCwQjIhogUG9ydCBtb2QgcmVxdWVzdCBmYWlsZWQuIAoNCgUFHgIHARIEiwsEGQoNCgUFHgIHAhIEiwshIgopCgQFHgIIEgSMCwQjIhsgVGFibGUgbW9kIHJlcXVlc3QgZmFpbGVkLiAKDQoFBR4CCAESBIwLBBoKDQoFBR4CCAISBIwLISIKJwoEBR4CCRIEjQsEIyIZIFF1ZXVlIG9wZXJhdGlvbiBmYWlsZWQuIAoNCgUFHgIJARIEjQsEGQoNCgUFHgIJAhIEjQshIgotCgQFHgIKEgSOCwQkIh8gU3dpdGNoIGNvbmZpZyByZXF1ZXN0IGZhaWxlZC4gCg0KBQUeAgoBEgSOCwQeCg0KBQUeAgoCEgSOCyEjCi8KBAUeAgsSBI8LBCQiISBDb250cm9sbGVyIFJvbGUgcmVxdWVzdCBmYWlsZWQuIAoNCgUFHgILARIEjwsEHQoNCgUFHgILAhIEjwshIwofCgQFHgIMEgSQCwQkIhEgRXJyb3IgaW4gbWV0ZXIuIAoNCgUFHgIMARIEkAsEGgoNCgUFHgIMAhIEkAshIwouCgQFHgINEgSRCwQlIiAgU2V0dGluZyB0YWJsZSBmZWF0dXJlcyBmYWlsZWQuIAoNCgUFHgINARIEkQsEHwoNCgUFHgINAhIEkQsiJAosCgQFHgIOEgSSCwQgIh4gRXhwZXJpbWVudGVyIGVycm9yIG1lc3NhZ2VzLiAKDQoFBR4CDgESBJILBBYKDQoFBR4CDgISBJILGR8KiQEKAgUfEgaXCwCaCwEaeyBvZnBfZXJyb3JfbXNnICdjb2RlJyB2YWx1ZXMgZm9yIE9GUEVUX0hFTExPX0ZBSUxFRC4gICdkYXRhJyBjb250YWlucyBhbgogQVNDSUkgdGV4dCBzdHJpbmcgdGhhdCBtYXkgZ2l2ZSBmYWlsdXJlIGRldGFpbHMuIAoLCgMFHwESBJcLBRoKJgoEBR8CABIEmAsEHCIYIE5vIGNvbXBhdGlibGUgdmVyc2lvbi4gCg0KBQUfAgABEgSYCwQXCg0KBQUfAgACEgSYCxobCiIKBAUfAgESBJkLBBwiFCBQZXJtaXNzaW9ucyBlcnJvci4gCg0KBQUfAgEBEgSZCwQQCg0KBQUfAgECEgSZCxobCocBCgIFIBIGngsAswsBGnkgb2ZwX2Vycm9yX21zZyAnY29kZScgdmFsdWVzIGZvciBPRlBFVF9CQURfUkVRVUVTVC4gICdkYXRhJyBjb250YWlucyBhdCBsZWFzdAogdGhlIGZpcnN0IDY0IGJ5dGVzIG9mIHRoZSBmYWlsZWQgcmVxdWVzdC4gCgsKAwUgARIEngsFGQoxCgQFIAIAEgSfCwQgIiMgb2ZwX2hlYWRlci52ZXJzaW9uIG5vdCBzdXBwb3J0ZWQuIAoNCgUFIAIAARIEnwsEFgoNCgUFIAIAAhIEnwseHwouCgQFIAIBEgSgCwQgIiAgb2ZwX2hlYWRlci50eXBlIG5vdCBzdXBwb3J0ZWQuIAoNCgUFIAIBARIEoAsEEwoNCgUFIAIBAhIEoAseHwo5CgQFIAICEgShCwQgIisgb2ZwX211bHRpcGFydF9yZXF1ZXN0LnR5cGUgbm90IHN1cHBvcnRlZC4KCg0KBQUgAgIBEgShCwQYCg0KBQUgAgICEgShCx4fCn4KBAUgAgMSBKMLBCAicCBFeHBlcmltZW50ZXIgaWQgbm90IHN1cHBvcnRlZAogKGluIG9mcF9leHBlcmltZW50ZXJfaGVhZGVyIG9yCiBvZnBfbXVsdGlwYXJ0X3JlcXVlc3Qgb3IKIG9mcF9tdWx0aXBhcnRfcmVwbHkpLiAKDQoFBSACAwESBKMLBBsKDQoFBSACAwISBKMLHh8KMAoEBSACBBIEpwsEICIiIEV4cGVyaW1lbnRlciB0eXBlIG5vdCBzdXBwb3J0ZWQuIAoNCgUFIAIEARIEpwsEFwoNCgUFIAIEAhIEpwseHwoiCgQFIAIFEgSoCwQgIhQgUGVybWlzc2lvbnMgZXJyb3IuIAoNCgUFIAIFARIEqAsEEAoNCgUFIAIFAhIEqAseHwouCgQFIAIGEgSpCwQgIiAgV3JvbmcgcmVxdWVzdCBsZW5ndGggZm9yIHR5cGUuIAoNCgUFIAIGARIEqQsEEgoNCgUFIAIGAhIEqQseHwo3CgQFIAIHEgSqCwQgIikgU3BlY2lmaWVkIGJ1ZmZlciBoYXMgYWxyZWFkeSBiZWVuIHVzZWQuIAoNCgUFIAIHARIEqgsEFwoNCgUFIAIHAhIEqgseHwowCgQFIAIIEgSrCwQgIiIgU3BlY2lmaWVkIGJ1ZmZlciBkb2VzIG5vdCBleGlzdC4gCg0KBQUgAggBEgSrCwQZCg0KBQUgAggCEgSrCx4fCj4KBAUgAgkSBKwLBCAiMCBTcGVjaWZpZWQgdGFibGUtaWQgaW52YWxpZCBvciBkb2VzIG5vdAogZXhpc3QuIAoNCgUFIAIJARIErAsEFwoNCgUFIAIJAhIErAseHwozCgQFIAIKEgSuCwQhIiUgRGVuaWVkIGJlY2F1c2UgY29udHJvbGxlciBpcyBzbGF2ZS4gCg0KBQUgAgoBEgSuCwQTCg0KBQUgAgoCEgSuCx4gCh0KBAUgAgsSBK8LBCEiDyBJbnZhbGlkIHBvcnQuIAoNCgUFIAILARIErwsEEwoNCgUFIAILAhIErwseIAotCgQFIAIMEgSwCwQhIh8gSW52YWxpZCBwYWNrZXQgaW4gcGFja2V0LW91dC4gCg0KBQUgAgwBEgSwCwQVCg0KBQUgAgwCEgSwCx4gCkUKBAUgAg0SBLELBC0iNyBvZnBfbXVsdGlwYXJ0X3JlcXVlc3QKb3ZlcmZsb3dlZCB0aGUgYXNzaWduZWQgYnVmZmVyLiAKDQoFBSACDQESBLELBCQKDQoFBSACDQISBLELKiwKhgEKAgUhEga3CwDLCwEaeCBvZnBfZXJyb3JfbXNnICdjb2RlJyB2YWx1ZXMgZm9yIE9GUEVUX0JBRF9BQ1RJT04uICAnZGF0YScgY29udGFpbnMgYXQgbGVhc3QKIHRoZSBmaXJzdCA2NCBieXRlcyBvZiB0aGUgZmFpbGVkIHJlcXVlc3QuIAoLCgMFIQESBLcLBRgKMwoEBSECABIEuAsEIiIlIFVua25vd24gb3IgdW5zdXBwb3J0ZWQgYWN0aW9uIHR5cGUuIAoNCgUFIQIAARIEuAsEEwoNCgUFIQIAAhIEuAsgIQoqCgQFIQIBEgS5CwQiIhwgTGVuZ3RoIHByb2JsZW0gaW4gYWN0aW9ucy4gCg0KBQUhAgEBEgS5CwQSCg0KBQUhAgECEgS5CyAhCjIKBAUhAgISBLoLBCIiJCBVbmtub3duIGV4cGVyaW1lbnRlciBpZCBzcGVjaWZpZWQuIAoNCgUFIQICARIEugsEGwoNCgUFIQICAhIEugsgIQozCgQFIQIDEgS7CwQiIiUgVW5rbm93biBhY3Rpb24gZm9yIGV4cGVyaW1lbnRlciBpZC4gCg0KBQUhAgMBEgS7CwQXCg0KBQUhAgMCEgS7CyAhCi8KBAUhAgQSBLwLBCIiISBQcm9ibGVtIHZhbGlkYXRpbmcgb3V0cHV0IHBvcnQuIAoNCgUFIQIEARIEvAsEFwoNCgUFIQIEAhIEvAsgIQokCgQFIQIFEgS9CwQiIhYgQmFkIGFjdGlvbiBhcmd1bWVudC4gCg0KBQUhAgUBEgS9CwQXCg0KBQUhAgUCEgS9CyAhCiIKBAUhAgYSBL4LBCIiFCBQZXJtaXNzaW9ucyBlcnJvci4gCg0KBQUhAgYBEgS+CwQQCg0KBQUhAgYCEgS+CyAhCi8KBAUhAgcSBL8LBCIiISBDYW4ndCBoYW5kbGUgdGhpcyBtYW55IGFjdGlvbnMuIAoNCgUFIQIHARIEvwsEEwoNCgUFIQIHAhIEvwsgIQowCgQFIQIIEgTACwQiIiIgUHJvYmxlbSB2YWxpZGF0aW5nIG91dHB1dCBxdWV1ZS4gCg0KBQUhAggBEgTACwQUCg0KBQUhAggCEgTACyAhCjMKBAUhAgkSBMELBCIiJSBJbnZhbGlkIGdyb3VwIGlkIGluIGZvcndhcmQgYWN0aW9uLiAKDQoFBSECCQESBMELBBgKDQoFBSECCQISBMELICEKVQoEBSECChIEwgsEIyJHIEFjdGlvbiBjYW4ndCBhcHBseSBmb3IgdGhpcyBtYXRjaCwKb3IgU2V0LUZpZWxkIG1pc3NpbmcgcHJlcmVxdWlzaXRlLiAKDQoFBSECCgESBMILBB0KDQoFBSECCgISBMILICIKXwoEBSECCxIExAsEIyJRIEFjdGlvbiBvcmRlciBpcyB1bnN1cHBvcnRlZCBmb3IgdGhlCmFjdGlvbiBsaXN0IGluIGFuIEFwcGx5LUFjdGlvbnMgaW5zdHJ1Y3Rpb24gCg0KBQUhAgsBEgTECwQcCg0KBQUhAgsCEgTECyAiCjYKBAUhAgwSBMYLBCMiKCBBY3Rpb25zIHVzZXMgYW4gdW5zdXBwb3J0ZWQKdGFnL2VuY2FwLiAKDQoFBSECDAESBMYLBBIKDQoFBSECDAISBMYLICIKNQoEBSECDRIEyAsEIyInIFVuc3VwcG9ydGVkIHR5cGUgaW4gU0VUX0ZJRUxEIGFjdGlvbi4gCg0KBQUhAg0BEgTICwQXCg0KBQUhAg0CEgTICyAiCjMKBAUhAg4SBMkLBCMiJSBMZW5ndGggcHJvYmxlbSBpbiBTRVRfRklFTEQgYWN0aW9uLiAKDQoFBSECDgESBMkLBBYKDQoFBSECDgISBMkLICIKMQoEBSECDxIEygsEIyIjIEJhZCBhcmd1bWVudCBpbiBTRVRfRklFTEQgYWN0aW9uLiAKDQoFBSECDwESBMoLBBsKDQoFBSECDwISBMoLICIKiwEKAgUiEgbPCwDbCwEafSBvZnBfZXJyb3JfbXNnICdjb2RlJyB2YWx1ZXMgZm9yIE9GUEVUX0JBRF9JTlNUUlVDVElPTi4gICdkYXRhJyBjb250YWlucyBhdAogbGVhc3QgdGhlIGZpcnN0IDY0IGJ5dGVzIG9mIHRoZSBmYWlsZWQgcmVxdWVzdC4gCgsKAwUiARIEzwsFHQokCgQFIgIAEgTQCwQgIhYgVW5rbm93biBpbnN0cnVjdGlvbi4gCg0KBQUiAgABEgTQCwQXCg0KBQUiAgACEgTQCx4fCkEKBAUiAgESBNELBCAiMyBTd2l0Y2ggb3IgdGFibGUgZG9lcyBub3Qgc3VwcG9ydCB0aGUKaW5zdHJ1Y3Rpb24uIAoNCgUFIgIBARIE0QsEFQoNCgUFIgIBAhIE0QseHworCgQFIgICEgTTCwQgIh0gSW52YWxpZCBUYWJsZS1JRCBzcGVjaWZpZWQuIAoNCgUFIgICARIE0wsEFwoNCgUFIgICAhIE0wseHwo3CgQFIgIDEgTUCwQgIikgTWV0YWRhdGEgdmFsdWUgdW5zdXBwb3J0ZWQgYnkgZGF0YXBhdGguIAoNCgUFIgIDARIE1AsEGQoNCgUFIgIDAhIE1AseHwo8CgQFIgIEEgTVCwQjIi4gTWV0YWRhdGEgbWFzayB2YWx1ZSB1bnN1cHBvcnRlZCBieQpkYXRhcGF0aC4gCg0KBQUiAgQBEgTVCwQeCg0KBQUiAgQCEgTVCyEiCjIKBAUiAgUSBNcLBCAiJCBVbmtub3duIGV4cGVyaW1lbnRlciBpZCBzcGVjaWZpZWQuIAoNCgUFIgIFARIE1wsEGwoNCgUFIgIFAhIE1wseHwo4CgQFIgIGEgTYCwQgIiogVW5rbm93biBpbnN0cnVjdGlvbiBmb3IgZXhwZXJpbWVudGVyIGlkLiAKDQoFBSICBgESBNgLBBcKDQoFBSICBgISBNgLHh8KLwoEBSICBxIE2QsEICIhIExlbmd0aCBwcm9ibGVtIGluIGluc3RydWN0aW9ucy4gCg0KBQUiAgcBEgTZCwQSCg0KBQUiAgcCEgTZCx4fCiIKBAUiAggSBNoLBCAiFCBQZXJtaXNzaW9ucyBlcnJvci4gCg0KBQUiAggBEgTaCwQQCg0KBQUiAggCEgTaCx4fCoUBCgIFIxIG3wsA8wsBGncgb2ZwX2Vycm9yX21zZyAnY29kZScgdmFsdWVzIGZvciBPRlBFVF9CQURfTUFUQ0guICAnZGF0YScgY29udGFpbnMgYXQgbGVhc3QKIHRoZSBmaXJzdCA2NCBieXRlcyBvZiB0aGUgZmFpbGVkIHJlcXVlc3QuIAoLCgMFIwESBN8LBRcKPQoEBSMCABIE4AsEICIvIFVuc3VwcG9ydGVkIG1hdGNoIHR5cGUgc3BlY2lmaWVkIGJ5IHRoZQptYXRjaCAKDQoFBSMCAAESBOALBBMKDQoFBSMCAAISBOALHh8KKAoEBSMCARIE4gsEICIaIExlbmd0aCBwcm9ibGVtIGluIG1hdGNoLiAKDQoFBSMCAQESBOILBBIKDQoFBSMCAQISBOILHh8KNAoEBSMCAhIE4wsEICImIE1hdGNoIHVzZXMgYW4gdW5zdXBwb3J0ZWQgdGFnL2VuY2FwLiAKDQoFBSMCAgESBOMLBBIKDQoFBSMCAgISBOMLHh8KaQoEBSMCAxIE5AsEICJbIFVuc3VwcG9ydGVkIGRhdGFsaW5rIGFkZHIgbWFzayAtIHN3aXRjaApkb2VzIG5vdCBzdXBwb3J0IGFyYml0cmFyeSBkYXRhbGluawphZGRyZXNzIG1hc2suIAoNCgUFIwIDARIE5AsEGwoNCgUFIwIDAhIE5AseHwpnCgQFIwIEEgTnCwQgIlkgVW5zdXBwb3J0ZWQgbmV0d29yayBhZGRyIG1hc2sgLSBzd2l0Y2gKZG9lcyBub3Qgc3VwcG9ydCBhcmJpdHJhcnkgbmV0d29yawphZGRyZXNzIG1hc2suIAoNCgUFIwIEARIE5wsEGwoNCgUFIwIEAhIE5wseHwpRCgQFIwIFEgTqCwQgIkMgVW5zdXBwb3J0ZWQgY29tYmluYXRpb24gb2YgZmllbGRzIG1hc2tlZApvciBvbWl0dGVkIGluIHRoZSBtYXRjaC4gCg0KBQUjAgUBEgTqCwQYCg0KBQUjAgUCEgTqCx4fCjQKBAUjAgYSBOwLBCAiJiBVbnN1cHBvcnRlZCBmaWVsZCB0eXBlIGluIHRoZSBtYXRjaC4gCg0KBQUjAgYBEgTsCwQUCg0KBQUjAgYCEgTsCx4fCjMKBAUjAgcSBO0LBCAiJSBVbnN1cHBvcnRlZCB2YWx1ZSBpbiBhIG1hdGNoIGZpZWxkLiAKDQoFBSMCBwESBO0LBBQKDQoFBSMCBwISBO0LHh8KXwoEBSMCCBIE7gsEICJRIFVuc3VwcG9ydGVkIG1hc2sgc3BlY2lmaWVkIGluIHRoZSBtYXRjaCwKZmllbGQgaXMgbm90IGRsLWFkZHJlc3Mgb3IgbnctYWRkcmVzcy4gCg0KBQUjAggBEgTuCwQTCg0KBQUjAggCEgTuCx4fCisKBAUjAgkSBPALBCAiHSBBIHByZXJlcXVpc2l0ZSB3YXMgbm90IG1ldC4gCg0KBQUjAgkBEgTwCwQVCg0KBQUjAgkCEgTwCx4fCiwKBAUjAgoSBPELBCEiHiBBIGZpZWxkIHR5cGUgd2FzIGR1cGxpY2F0ZWQuIAoNCgUFIwIKARIE8QsEFAoNCgUFIwIKAhIE8QseIAoiCgQFIwILEgTyCwQhIhQgUGVybWlzc2lvbnMgZXJyb3IuIAoNCgUFIwILARIE8gsEEAoNCgUFIwILAhIE8gseIAqLAQoCBSQSBvcLAIIMARp9IG9mcF9lcnJvcl9tc2cgJ2NvZGUnIHZhbHVlcyBmb3IgT0ZQRVRfRkxPV19NT0RfRkFJTEVELiAgJ2RhdGEnIGNvbnRhaW5zCiBhdCBsZWFzdCB0aGUgZmlyc3QgNjQgYnl0ZXMgb2YgdGhlIGZhaWxlZCByZXF1ZXN0LiAKCwoDBSQBEgT3CwUdCiIKBAUkAgASBPgLBB0iFCBVbnNwZWNpZmllZCBlcnJvci4gCg0KBQUkAgABEgT4CwQTCg0KBQUkAgACEgT4CxscCjYKBAUkAgESBPkLBB0iKCBGbG93IG5vdCBhZGRlZCBiZWNhdXNlIHRhYmxlIHdhcyBmdWxsLiAKDQoFBSQCAQESBPkLBBYKDQoFBSQCAQISBPkLGxwKJAoEBSQCAhIE+gsEHSIWIFRhYmxlIGRvZXMgbm90IGV4aXN0IAoNCgUFJAICARIE+gsEGAoNCgUFJAICAhIE+gsbHApOCgQFJAIDEgT7CwQdIkAgQXR0ZW1wdGVkIHRvIGFkZCBvdmVybGFwcGluZyBmbG93IHdpdGgKQ0hFQ0tfT1ZFUkxBUCBmbGFnIHNldC4gCg0KBQUkAgMBEgT7CwQTCg0KBQUkAgMCEgT7CxscCiIKBAUkAgQSBP0LBB0iFCBQZXJtaXNzaW9ucyBlcnJvci4gCg0KBQUkAgQBEgT9CwQRCg0KBQUkAgQCEgT9CxscCkgKBAUkAgUSBP4LBB0iOiBGbG93IG5vdCBhZGRlZCBiZWNhdXNlIG9mIHVuc3VwcG9ydGVkCmlkbGUvaGFyZCB0aW1lb3V0LiAKDQoFBSQCBQESBP4LBBcKDQoFBSQCBQISBP4LGxwKLwoEBSQCBhIEgAwEHSIhIFVuc3VwcG9ydGVkIG9yIHVua25vd24gY29tbWFuZC4gCg0KBQUkAgYBEgSADAQXCg0KBQUkAgYCEgSADBscCi0KBAUkAgcSBIEMBB0iHyBVbnN1cHBvcnRlZCBvciB1bmtub3duIGZsYWdzLiAKDQoFBSQCBwESBIEMBBUKDQoFBSQCBwISBIEMGxwKjAEKAgUlEgaGDAChDAEafiBvZnBfZXJyb3JfbXNnICdjb2RlJyB2YWx1ZXMgZm9yIE9GUEVUX0dST1VQX01PRF9GQUlMRUQuICAnZGF0YScgY29udGFpbnMKIGF0IGxlYXN0IHRoZSBmaXJzdCA2NCBieXRlcyBvZiB0aGUgZmFpbGVkIHJlcXVlc3QuIAoLCgMFJQESBIYMBR4KYgoEBSUCABIEhwwEJSJUIEdyb3VwIG5vdCBhZGRlZCBiZWNhdXNlIGEgZ3JvdXAgQURECmF0dGVtcHRlZCB0byByZXBsYWNlIGFuCmFscmVhZHktcHJlc2VudCBncm91cC4gCg0KBQUlAgABEgSHDAQYCg0KBQUlAgACEgSHDCMkCkMKBAUlAgESBIoMBCUiNSBHcm91cCBub3QgYWRkZWQgYmVjYXVzZSBHcm91cApzcGVjaWZpZWQgaXMgaW52YWxpZC4gCg0KBQUlAgEBEgSKDAQZCg0KBQUlAgECEgSKDCMkClAKBAUlAgISBIwMBCUiQiBTd2l0Y2ggZG9lcyBub3Qgc3VwcG9ydCB1bmVxdWFsIGxvYWQKc2hhcmluZyB3aXRoIHNlbGVjdCBncm91cHMuIAoNCgUFJQICARIEjAwEHgoNCgUFJQICAhIEjAwjJAooCgQFJQIDEgSODAQlIhogVGhlIGdyb3VwIHRhYmxlIGlzIGZ1bGwuIAoNCgUFJQIDARIEjgwEGQoNCgUFJQIDAhIEjgwjJApTCgQFJQIEEgSPDAQlIkUgVGhlIG1heGltdW0gbnVtYmVyIG9mIGFjdGlvbiBidWNrZXRzCmZvciBhIGdyb3VwIGhhcyBiZWVuIGV4Y2VlZGVkLiAKDQoFBSUCBAESBI8MBBoKDQoFBSUCBAISBI8MIyQKRgoEBSUCBRIEkQwEJSI4IFN3aXRjaCBkb2VzIG5vdCBzdXBwb3J0IGdyb3VwcyB0aGF0CmZvcndhcmQgdG8gZ3JvdXBzLiAKDQoFBSUCBQESBJEMBCAKDQoFBSUCBQISBJEMIyQKUAoEBSUCBhIEkwwEJSJCIFRoaXMgZ3JvdXAgY2Fubm90IHdhdGNoIHRoZQp3YXRjaF9wb3J0IG9yIHdhdGNoX2dyb3VwIHNwZWNpZmllZC4KCg0KBQUlAgYBEgSTDAQdCg0KBQUlAgYCEgSTDCMkCi8KBAUlAgcSBJYMBCUiISBHcm91cCBlbnRyeSB3b3VsZCBjYXVzZSBhIGxvb3AuIAoNCgUFJQIHARIElgwEEAoNCgUFJQIHAhIElgwjJApjCgQFJQIIEgSXDAQlIlUgR3JvdXAgbm90IG1vZGlmaWVkIGJlY2F1c2UgYSBncm91cApNT0RJRlkgYXR0ZW1wdGVkIHRvIG1vZGlmeSBhCm5vbi1leGlzdGVudCBncm91cC4gCg0KBQUlAggBEgSXDAQZCg0KBQUlAggCEgSXDCMkCkwKBAUlAgkSBJoMBCUiPiBHcm91cCBub3QgZGVsZXRlZCBiZWNhdXNlIGFub3RoZXIKZ3JvdXAgaXMgZm9yd2FyZGluZyB0byBpdC4gCg0KBQUlAgkBEgSaDAQZCg0KBQUlAgkCEgSaDCMkCjIKBAUlAgoSBJwMBCYiJCBVbnN1cHBvcnRlZCBvciB1bmtub3duIGdyb3VwIHR5cGUuIAoNCgUFJQIKARIEnAwEFAoNCgUFJQIKAhIEnAwjJQovCgQFJQILEgSdDAQmIiEgVW5zdXBwb3J0ZWQgb3IgdW5rbm93biBjb21tYW5kLiAKDQoFBSUCCwESBJ0MBBcKDQoFBSUCCwISBJ0MIyUKIAoEBSUCDBIEngwEJiISIEVycm9yIGluIGJ1Y2tldC4gCg0KBQUlAgwBEgSeDAQWCg0KBQUlAgwCEgSeDCMlCioKBAUlAg0SBJ8MBCYiHCBFcnJvciBpbiB3YXRjaCBwb3J0L2dyb3VwLiAKDQoFBSUCDQESBJ8MBBUKDQoFBSUCDQISBJ8MIyUKIgoEBSUCDhIEoAwEJiIUIFBlcm1pc3Npb25zIGVycm9yLiAKDQoFBSUCDgESBKAMBBEKDQoFBSUCDgISBKAMIyUKiwEKAgUmEgalDACsDAEafSBvZnBfZXJyb3JfbXNnICdjb2RlJyB2YWx1ZXMgZm9yIE9GUEVUX1BPUlRfTU9EX0ZBSUxFRC4gICdkYXRhJyBjb250YWlucwogYXQgbGVhc3QgdGhlIGZpcnN0IDY0IGJ5dGVzIG9mIHRoZSBmYWlsZWQgcmVxdWVzdC4gCgsKAwUmARIEpQwFHQo1CgQFJgIAEgSmDAQeIicgU3BlY2lmaWVkIHBvcnQgbnVtYmVyIGRvZXMgbm90IGV4aXN0LiAKDQoFBSYCAAESBKYMBBQKDQoFBSYCAAISBKYMHB0KSwoEBSYCARIEpwwEHiI9IFNwZWNpZmllZCBoYXJkd2FyZSBhZGRyZXNzIGRvZXMgbm90CiBtYXRjaCB0aGUgcG9ydCBudW1iZXIuIAoNCgUFJgIBARIEpwwEFwoNCgUFJgIBAhIEpwwcHQosCgQFJgICEgSpDAQeIh4gU3BlY2lmaWVkIGNvbmZpZyBpcyBpbnZhbGlkLiAKDQoFBSYCAgESBKkMBBYKDQoFBSYCAgISBKkMHB0KLwoEBSYCAxIEqgwEHiIhIFNwZWNpZmllZCBhZHZlcnRpc2UgaXMgaW52YWxpZC4gCg0KBQUmAgMBEgSqDAQZCg0KBQUmAgMCEgSqDBwdCiIKBAUmAgQSBKsMBB4iFCBQZXJtaXNzaW9ucyBlcnJvci4gCg0KBQUmAgQBEgSrDAQRCg0KBQUmAgQCEgSrDBwdCowBCgIFJxIGsAwAtAwBGn4gb2ZwX2Vycm9yX21zZyAnY29kZScgdmFsdWVzIGZvciBPRlBFVF9UQUJMRV9NT0RfRkFJTEVELiAgJ2RhdGEnIGNvbnRhaW5zCiBhdCBsZWFzdCB0aGUgZmlyc3QgNjQgYnl0ZXMgb2YgdGhlIGZhaWxlZCByZXF1ZXN0LiAKCwoDBScBEgSwDAUeCi8KBAUnAgASBLEMBBsiISBTcGVjaWZpZWQgdGFibGUgZG9lcyBub3QgZXhpc3QuIAoNCgUFJwIAARIEsQwEFQoNCgUFJwIAAhIEsQwZGgosCgQFJwIBEgSyDAQbIh4gU3BlY2lmaWVkIGNvbmZpZyBpcyBpbnZhbGlkLiAKDQoFBScCAQESBLIMBBYKDQoFBScCAQISBLIMGRoKIgoEBScCAhIEswwEGyIUIFBlcm1pc3Npb25zIGVycm9yLiAKDQoFBScCAgESBLMMBBEKDQoFBScCAgISBLMMGRoKiQEKAgUoEga4DAC8DAEaeyBvZnBfZXJyb3IgbXNnICdjb2RlJyB2YWx1ZXMgZm9yIE9GUEVUX1FVRVVFX09QX0ZBSUxFRC4gJ2RhdGEnIGNvbnRhaW5zCiBhdCBsZWFzdCB0aGUgZmlyc3QgNjQgYnl0ZXMgb2YgdGhlIGZhaWxlZCByZXF1ZXN0IAoLCgMFKAESBLgMBR0KNgoEBSgCABIEuQwEGyIoIEludmFsaWQgcG9ydCAob3IgcG9ydCBkb2VzIG5vdCBleGlzdCkuIAoNCgUFKAIAARIEuQwEFAoNCgUFKAIAAhIEuQwZGgolCgQFKAIBEgS6DAQbIhcgUXVldWUgZG9lcyBub3QgZXhpc3QuIAoNCgUFKAIBARIEugwEFQoNCgUFKAIBAhIEugwZGgoiCgQFKAICEgS7DAQbIhQgUGVybWlzc2lvbnMgZXJyb3IuIAoNCgUFKAICARIEuwwEEQoNCgUFKAICAhIEuwwZGgqQAQoCBSkSBsAMAMQMARqBASBvZnBfZXJyb3JfbXNnICdjb2RlJyB2YWx1ZXMgZm9yIE9GUEVUX1NXSVRDSF9DT05GSUdfRkFJTEVELiAnZGF0YScgY29udGFpbnMKIGF0IGxlYXN0IHRoZSBmaXJzdCA2NCBieXRlcyBvZiB0aGUgZmFpbGVkIHJlcXVlc3QuIAoLCgMFKQESBMAMBSIKKwoEBSkCABIEwQwEGyIdIFNwZWNpZmllZCBmbGFncyBpcyBpbnZhbGlkLiAKDQoFBSkCAAESBMEMBBUKDQoFBSkCAAISBMEMGRoKKQoEBSkCARIEwgwEGyIbIFNwZWNpZmllZCBsZW4gaXMgaW52YWxpZC4gCg0KBQUpAgEBEgTCDAQTCg0KBQUpAgECEgTCDBkaCiIKBAUpAgISBMMMBBsiFCBQZXJtaXNzaW9ucyBlcnJvci4gCg0KBQUpAgIBEgTDDAQRCg0KBQUpAgICEgTDDBkaCo8BCgIFKhIGyAwAzAwBGoABIG9mcF9lcnJvcl9tc2cgJ2NvZGUnIHZhbHVlcyBmb3IgT0ZQRVRfUk9MRV9SRVFVRVNUX0ZBSUxFRC4gJ2RhdGEnIGNvbnRhaW5zCiBhdCBsZWFzdCB0aGUgZmlyc3QgNjQgYnl0ZXMgb2YgdGhlIGZhaWxlZCByZXF1ZXN0LiAKCwoDBSoBEgTIDAUhCjEKBAUqAgASBMkMBBsiIyBTdGFsZSBNZXNzYWdlOiBvbGQgZ2VuZXJhdGlvbl9pZC4gCg0KBQUqAgABEgTJDAQRCg0KBQUqAgACEgTJDBkaCjMKBAUqAgESBMoMBBsiJSBDb250cm9sbGVyIHJvbGUgY2hhbmdlIHVuc3VwcG9ydGVkLiAKDQoFBSoCAQESBMoMBBEKDQoFBSoCAQISBMoMGRoKHQoEBSoCAhIEywwEGyIPIEludmFsaWQgcm9sZS4gCg0KBQUqAgIBEgTLDAQUCg0KBQUqAgICEgTLDBkaCowBCgIFKxIG0AwA4wwBGn4gb2ZwX2Vycm9yX21zZyAnY29kZScgdmFsdWVzIGZvciBPRlBFVF9NRVRFUl9NT0RfRkFJTEVELiAgJ2RhdGEnIGNvbnRhaW5zCiBhdCBsZWFzdCB0aGUgZmlyc3QgNjQgYnl0ZXMgb2YgdGhlIGZhaWxlZCByZXF1ZXN0LiAKCwoDBSsBEgTQDAUeCiIKBAUrAgASBNEMBB4iFCBVbnNwZWNpZmllZCBlcnJvci4gCg0KBQUrAgABEgTRDAQTCg0KBQUrAgACEgTRDBwdClwKBAUrAgESBNIMBB4iTiBNZXRlciBub3QgYWRkZWQgYmVjYXVzZSBhIE1ldGVyIEFERAogYXR0ZW1wdGVkIHRvIHJlcGxhY2UgYW4gZXhpc3RpbmcgTWV0ZXIuIAoNCgUFKwIBARIE0gwEGAoNCgUFKwIBAhIE0gwcHQpnCgQFKwICEgTUDAQeIlkgTWV0ZXIgbm90IGFkZGVkIGJlY2F1c2UgTWV0ZXIgc3BlY2lmaWVkCiBpcyBpbnZhbGlkLAogb3IgaW52YWxpZCBtZXRlciBpbiBtZXRlciBhY3Rpb24uIAoNCgUFKwICARIE1AwEGQoNCgUFKwICAhIE1AwcHQqDAQoEBSsCAxIE1wwEHiJ1IE1ldGVyIG5vdCBtb2RpZmllZCBiZWNhdXNlIGEgTWV0ZXIgTU9ESUZZCiBhdHRlbXB0ZWQgdG8gbW9kaWZ5IGEgbm9uLWV4aXN0ZW50IE1ldGVyLAogb3IgYmFkIG1ldGVyIGluIG1ldGVyIGFjdGlvbi4gCg0KBQUrAgMBEgTXDAQZCg0KBQUrAgMCEgTXDBwdCi8KBAUrAgQSBNoMBB4iISBVbnN1cHBvcnRlZCBvciB1bmtub3duIGNvbW1hbmQuIAoNCgUFKwIEARIE2gwEFwoNCgUFKwIEAhIE2gwcHQovCgQFKwIFEgTbDAQeIiEgRmxhZyBjb25maWd1cmF0aW9uIHVuc3VwcG9ydGVkLiAKDQoFBSsCBQESBNsMBBUKDQoFBSsCBQISBNsMHB0KIQoEBSsCBhIE3AwEHiITIFJhdGUgdW5zdXBwb3J0ZWQuIAoNCgUFKwIGARIE3AwEFAoNCgUFKwIGAhIE3AwcHQonCgQFKwIHEgTdDAQeIhkgQnVyc3Qgc2l6ZSB1bnN1cHBvcnRlZC4gCg0KBQUrAgcBEgTdDAQVCg0KBQUrAgcCEgTdDBwdCiEKBAUrAggSBN4MBB4iEyBCYW5kIHVuc3VwcG9ydGVkLiAKDQoFBSsCCAESBN4MBBQKDQoFBSsCCAISBN4MHB0KJwoEBSsCCRIE3wwEICIZIEJhbmQgdmFsdWUgdW5zdXBwb3J0ZWQuIAoNCgUFKwIJARIE3wwEGwoNCgUFKwIJAhIE3wweHwopCgQFKwIKEgTgDAQfIhsgTm8gbW9yZSBtZXRlcnMgYXZhaWxhYmxlLiAKDQoFBSsCCgESBOAMBBkKDQoFBSsCCgISBOAMHB4KUAoEBSsCCxIE4QwEHyJCIFRoZSBtYXhpbXVtIG51bWJlciBvZiBwcm9wZXJ0aWVzCiBmb3IgYSBtZXRlciBoYXMgYmVlbiBleGNlZWRlZC4gCg0KBQUrAgsBEgThDAQYCg0KBQUrAgsCEgThDBweCpEBCgIFLBIG5wwA7gwBGoIBIG9mcF9lcnJvcl9tc2cgJ2NvZGUnIHZhbHVlcyBmb3IgT0ZQRVRfVEFCTEVfRkVBVFVSRVNfRkFJTEVELiAnZGF0YScgY29udGFpbnMKIGF0IGxlYXN0IHRoZSBmaXJzdCA2NCBieXRlcyBvZiB0aGUgZmFpbGVkIHJlcXVlc3QuIAoLCgMFLAESBOcMBSMKLwoEBSwCABIE6AwEHSIhIFNwZWNpZmllZCB0YWJsZSBkb2VzIG5vdCBleGlzdC4gCg0KBQUsAgABEgToDAQVCg0KBQUsAgACEgToDBscCiYKBAUsAgESBOkMBB0iGCBJbnZhbGlkIG1ldGFkYXRhIG1hc2suIAoNCgUFLAIBARIE6QwEGAoNCgUFLAIBAhIE6QwbHAomCgQFLAICEgTqDAQdIhggVW5rbm93biBwcm9wZXJ0eSB0eXBlLiAKDQoFBSwCAgESBOoMBBQKDQoFBSwCAgISBOoMGxwKLQoEBSwCAxIE6wwEHSIfIExlbmd0aCBwcm9ibGVtIGluIHByb3BlcnRpZXMuIAoNCgUFLAIDARIE6wwEEwoNCgUFLAIDAhIE6wwbHAorCgQFLAIEEgTsDAQdIh0gVW5zdXBwb3J0ZWQgcHJvcGVydHkgdmFsdWUuIAoNCgUFLAIEARIE7AwEGAoNCgUFLAIEAhIE7AwbHAoiCgQFLAIFEgTtDAQdIhQgUGVybWlzc2lvbnMgZXJyb3IuIAoNCgUFLAIFARIE7QwEEQoNCgUFLAIFAhIE7QwbHApDCgIEKBIG8QwA9wwBGjUgT0ZQVF9FUlJPUjogRXJyb3IgbWVzc2FnZSAoZGF0YXBhdGggLT4gY29udHJvbGxlcikuIAoLCgMEKAESBPEMCBUKDAoEBCgCABIE8gwEGgoPCgUEKAIABBIG8gwE8QwXCg0KBQQoAgAGEgTyDAQOCg0KBQQoAgABEgTyDA8VCg0KBQQoAgADEgTyDBgZCgwKBAQoAgESBPMMBBQKDwoFBCgCAQQSBvMMBPIMGgoNCgUEKAIBBRIE8wwECgoNCgUEKAIBARIE8wwLDwoNCgUEKAIBAxIE8wwSEwoMCgQEKAICEgT0DAQUCg8KBQQoAgIEEgb0DATzDBQKDQoFBCgCAgUSBPQMBAoKDQoFBCgCAgESBPQMCw8KDQoFBCgCAgMSBPQMEhMKWwoEBCgCAxIE9QwEEyJNIFZhcmlhYmxlLWxlbmd0aCBkYXRhLiAgSW50ZXJwcmV0ZWQgYmFzZWQKb24gdGhlIHR5cGUgYW5kIGNvZGUuICBObyBwYWRkaW5nLiAKDwoFBCgCAwQSBvUMBPQMFAoNCgUEKAIDBRIE9QwECQoNCgUEKAIDARIE9QwKDgoNCgUEKAIDAxIE9QwREgpgCgIEKRIG+gwAgw0BGj0gT0ZQRVRfRVhQRVJJTUVOVEVSOiBFcnJvciBtZXNzYWdlIChkYXRhcGF0aCAtPiBjb250cm9sbGVyKS4gIhNvZnBfaGVhZGVyIGhlYWRlcjsKCgsKAwQpARIE+gwIIgojCgQEKQIAEgT9DAQUIhUgT0ZQRVRfRVhQRVJJTUVOVEVSLiAKDwoFBCkCAAQSBv0MBPoMJAoNCgUEKQIABRIE/QwECgoNCgUEKQIAARIE/QwLDwoNCgUEKQIAAxIE/QwSEwolCgQEKQIBEgT+DAQYIhcgRXhwZXJpbWVudGVyIGRlZmluZWQuIAoPCgUEKQIBBBIG/gwE/QwUCg0KBQQpAgEFEgT+DAQKCg0KBQQpAgEBEgT+DAsTCg0KBQQpAgEDEgT+DBYXCl8KBAQpAgISBP8MBBwiUSBFeHBlcmltZW50ZXIgSUQgd2hpY2ggdGFrZXMgdGhlIHNhbWUgZm9ybQphcyBpbiBzdHJ1Y3Qgb2ZwX2V4cGVyaW1lbnRlcl9oZWFkZXIuIAoPCgUEKQICBBIG/wwE/gwYCg0KBQQpAgIFEgT/DAQKCg0KBQQpAgIBEgT/DAsXCg0KBQQpAgIDEgT/DBobClsKBAQpAgMSBIENBBMiTSBWYXJpYWJsZS1sZW5ndGggZGF0YS4gIEludGVycHJldGVkIGJhc2VkCm9uIHRoZSB0eXBlIGFuZCBjb2RlLiAgTm8gcGFkZGluZy4gCg8KBQQpAgMEEgaBDQT/DBwKDQoFBCkCAwUSBIENBAkKDQoFBCkCAwESBIENCg4KDQoFBCkCAwMSBIENERIKDAoCBS0SBoUNANQNAQoLCgMFLQESBIUNBRcKdAoEBS0CABIEiQ0EExpmIERlc2NyaXB0aW9uIG9mIHRoaXMgT3BlbkZsb3cgc3dpdGNoLgogVGhlIHJlcXVlc3QgYm9keSBpcyBlbXB0eS4KIFRoZSByZXBseSBib2R5IGlzIHN0cnVjdCBvZnBfZGVzYy4gCg0KBQUtAgABEgSJDQQOCg0KBQUtAgACEgSJDRESCpYBCgQFLQIBEgSODQQTGocBIEluZGl2aWR1YWwgZmxvdyBzdGF0aXN0aWNzLgogVGhlIHJlcXVlc3QgYm9keSBpcyBzdHJ1Y3Qgb2ZwX2Zsb3dfc3RhdHNfcmVxdWVzdC4KIFRoZSByZXBseSBib2R5IGlzIGFuIGFycmF5IG9mIHN0cnVjdCBvZnBfZmxvd19zdGF0cy4gCg0KBQUtAgEBEgSODQQOCg0KBQUtAgECEgSODRESCpkBCgQFLQICEgSTDQQYGooBIEFnZ3JlZ2F0ZSBmbG93IHN0YXRpc3RpY3MuCiBUaGUgcmVxdWVzdCBib2R5IGlzIHN0cnVjdCBvZnBfYWdncmVnYXRlX3N0YXRzX3JlcXVlc3QuCiBUaGUgcmVwbHkgYm9keSBpcyBzdHJ1Y3Qgb2ZwX2FnZ3JlZ2F0ZV9zdGF0c19yZXBseS4gCg0KBQUtAgIBEgSTDQQTCg0KBQUtAgICEgSTDRYXCnkKBAUtAgMSBJgNBBQaayBGbG93IHRhYmxlIHN0YXRpc3RpY3MuCiBUaGUgcmVxdWVzdCBib2R5IGlzIGVtcHR5LgogVGhlIHJlcGx5IGJvZHkgaXMgYW4gYXJyYXkgb2Ygc3RydWN0IG9mcF90YWJsZV9zdGF0cy4gCg0KBQUtAgMBEgSYDQQPCg0KBQUtAgMCEgSYDRITCooBCgQFLQIEEgSdDQQZGnwgUG9ydCBzdGF0aXN0aWNzLgogVGhlIHJlcXVlc3QgYm9keSBpcyBzdHJ1Y3Qgb2ZwX3BvcnRfc3RhdHNfcmVxdWVzdC4KIFRoZSByZXBseSBib2R5IGlzIGFuIGFycmF5IG9mIHN0cnVjdCBvZnBfcG9ydF9zdGF0cy4gCg0KBQUtAgQBEgSdDQQUCg0KBQUtAgQCEgSdDRcYCpcBCgQFLQIFEgSiDQQUGogBIFF1ZXVlIHN0YXRpc3RpY3MgZm9yIGEgcG9ydAogVGhlIHJlcXVlc3QgYm9keSBpcyBzdHJ1Y3Qgb2ZwX3F1ZXVlX3N0YXRzX3JlcXVlc3QuCiBUaGUgcmVwbHkgYm9keSBpcyBhbiBhcnJheSBvZiBzdHJ1Y3Qgb2ZwX3F1ZXVlX3N0YXRzIAoNCgUFLQIFARIEog0EDwoNCgUFLQIFAhIEog0SEwqRAQoEBS0CBhIEpw0EFBqCASBHcm91cCBjb3VudGVyIHN0YXRpc3RpY3MuCiBUaGUgcmVxdWVzdCBib2R5IGlzIHN0cnVjdCBvZnBfZ3JvdXBfc3RhdHNfcmVxdWVzdC4KIFRoZSByZXBseSBpcyBhbiBhcnJheSBvZiBzdHJ1Y3Qgb2ZwX2dyb3VwX3N0YXRzLiAKDQoFBS0CBgESBKcNBA8KDQoFBS0CBgISBKcNEhMKdAoEBS0CBxIErA0EGRpmIEdyb3VwIGRlc2NyaXB0aW9uLgogVGhlIHJlcXVlc3QgYm9keSBpcyBlbXB0eS4KIFRoZSByZXBseSBib2R5IGlzIGFuIGFycmF5IG9mIHN0cnVjdCBvZnBfZ3JvdXBfZGVzYy4gCg0KBQUtAgcBEgSsDQQUCg0KBQUtAgcCEgSsDRcYCmkKBAUtAggSBLENBB0aWyBHcm91cCBmZWF0dXJlcy4KIFRoZSByZXF1ZXN0IGJvZHkgaXMgZW1wdHkuCiBUaGUgcmVwbHkgYm9keSBpcyBzdHJ1Y3Qgb2ZwX2dyb3VwX2ZlYXR1cmVzLiAKDQoFBS0CCAESBLENBBgKDQoFBS0CCAISBLENGxwKkwEKBAUtAgkSBLYNBBQahAEgTWV0ZXIgc3RhdGlzdGljcy4KIFRoZSByZXF1ZXN0IGJvZHkgaXMgc3RydWN0IG9mcF9tZXRlcl9tdWx0aXBhcnRfcmVxdWVzdHMuCiBUaGUgcmVwbHkgYm9keSBpcyBhbiBhcnJheSBvZiBzdHJ1Y3Qgb2ZwX21ldGVyX3N0YXRzLiAKDQoFBS0CCQESBLYNBA8KDQoFBS0CCQISBLYNEhMKlwEKBAUtAgoSBLsNBBwaiAEgTWV0ZXIgY29uZmlndXJhdGlvbi4KIFRoZSByZXF1ZXN0IGJvZHkgaXMgc3RydWN0IG9mcF9tZXRlcl9tdWx0aXBhcnRfcmVxdWVzdHMuCiBUaGUgcmVwbHkgYm9keSBpcyBhbiBhcnJheSBvZiBzdHJ1Y3Qgb2ZwX21ldGVyX2NvbmZpZy4gCg0KBQUtAgoBEgS7DQQWCg0KBQUtAgoCEgS7DRkbCmkKBAUtAgsSBMANBB4aWyBNZXRlciBmZWF0dXJlcy4KIFRoZSByZXF1ZXN0IGJvZHkgaXMgZW1wdHkuCiBUaGUgcmVwbHkgYm9keSBpcyBzdHJ1Y3Qgb2ZwX21ldGVyX2ZlYXR1cmVzLiAKDQoFBS0CCwESBMANBBgKDQoFBS0CCwISBMANGx0KsQIKBAUtAgwSBMgNBB4aogIgVGFibGUgZmVhdHVyZXMuCiBUaGUgcmVxdWVzdCBib2R5IGlzIGVpdGhlciBlbXB0eSBvciBjb250YWlucyBhbiBhcnJheSBvZgogc3RydWN0IG9mcF90YWJsZV9mZWF0dXJlcyBjb250YWluaW5nIHRoZSBjb250cm9sbGVyJ3MKIGRlc2lyZWQg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TEVfRVFVQUwpLCB3aGljaCBhbGxvd3MgdGhlIGNvbnRyb2xsZXIgYWNjZXNzIHRvIGFsbAogICAgICBPcGVuRmxvdyBmZWF0dXJlcy4gQWxsIGNvbnRyb2xsZXJzIGhhdmUgZXF1YWwgcmVzcG9uc2liaWxpdHkuCgogVGhlIG90aGVyIHBvc3NpYmxlIHJvbGVzIGFyZSBhIHJlbGF0ZWQgcGFpcjoKCiAgICAtIE1hc3RlciAoT0ZQQ1JfUk9MRV9NQVNURVIpIGlzIGVxdWl2YWxlbnQgdG8gRXF1YWwsIGV4Y2VwdCB0aGF0IHRoZXJlCiAgICAgIG1heSBiZSBhdCBtb3N0IG9uZSBNYXN0ZXIgY29udHJvbGxlciBhdCBhIHRpbWU6IHdoZW4gYSBjb250cm9sbGVyCiAgICAgIGNvbmZpZ3VyZXMgaXRzZWxmIGFzIE1hc3RlciwgYW55IGV4aXN0aW5nIE1hc3RlciBpcyBkZW1vdGVkIHRvIHRoZQogICAgICBTbGF2ZSByb2xlLgoKICAgIC0gU2xhdmUgKE9GUENSX1JPTEVfU0xBVkUpIGFsbG93cyB0aGUgY29udHJvbGxlciByZWFkLW9ubHkgYWNjZXNzIHRvCiAgICAgIE9wZW5GbG93IGZlYXR1cmVzLiAgSW4gcGFydGljdWxhciBhdHRlbXB0cyB0byBtb2RpZnkgdGhlIGZsb3cgdGFibGUKICAgICAgd2lsbCBiZSByZWplY3RlZCB3aXRoIGFuIE9GUEJSQ19FUEVSTSBlcnJvci4KCiAgICAgIFNsYXZlIGNvbnRyb2xsZXJzIGRvIG5vdCByZWNlaXZlIE9GUFRfUEFDS0VUX0lOIG9yIE9GUFRfRkxPV19SRU1PVkVECiAgICAgIG1lc3NhZ2VzLCBidXQgdGhleSBkbyByZWNlaXZlIE9GUFRfUE9SVF9TVEFUVVMgbWVzc2FnZXMuCgoLCgMFMwESBLARBRgKKgoEBTMCABIEsREEHCIcIERvbid0IGNoYW5nZSBjdXJyZW50IHJvbGUuIAoNCgUFMwIAARIEsREEFwoNCgUFMwIAAhIEsREaGwoqCgQFMwIBEgSyEQQcIhwgRGVmYXVsdCByb2xlLCBmdWxsIGFjY2Vzcy4gCg0KBQUzAgEBEgSyEQQUCg0KBQUzAgEC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dGVycwoKCwoDBGEBEgSJEggUCj0KBARhAgASBIsSBDUaLyBNZXRlcnMgYXNzb2NpYXRlZCB3aXRoIGZsb3ctdXBkYXRlIHRvIGFkYXB0ZXIKCg0KBQRhAgAEEgSLEgQMCg0KBQRhAgAGEgSLEg0pCg0KBQRhAgABEgSLEiowCg0KBQRhAgADEgSLEjM0YgZwcm90bzMKixMKInZvbHRoYV9wcm90b3MvbG9naWNhbF9kZXZpY2UucHJvdG8SDmxvZ2ljYWxfZGV2aWNlGhxnb29nbGUvYXBpL2Fubm90YXRpb25zLnByb3RvGh92b2x0aGFfcHJvdG9zL29wZW5mbG93XzEzLnByb3RvIjgKDUxvZ2ljYWxQb3J0SWQSDgoCaWQYASABKAlSAmlkEhcKB3BvcnRfaWQYAiABKAlSBnBvcnRJZCLyAQoLTG9naWNhbFBvcnQSDgoCaWQYASABKAlSAmlkEjAKCG9mcF9wb3J0GAIgASgLMhUub3BlbmZsb3dfMTMub2ZwX3BvcnRSB29mcFBvcnQSGwoJZGV2aWNlX2lkGAMgASgJUghkZXZpY2VJZBIkCg5kZXZpY2VfcG9ydF9ubxgEIAEoDVIMZGV2aWNlUG9ydE5vEhsKCXJvb3RfcG9ydBgFIAEoCFIIcm9vdFBvcnQSQQoOb2ZwX3BvcnRfc3RhdHMYBiABKAsyGy5vcGVuZmxvd18xMy5vZnBfcG9ydF9zdGF0c1IMb2ZwUG9ydFN0YXRzIkEKDExvZ2ljYWxQb3J0cxIxCgVpdGVtcxgBIAMoCzIbLmxvZ2ljYWxfZGV2aWNlLkxvZ2ljYWxQb3J0UgVpdGVtcyLcAQoNTG9naWNhbERldmljZRIOCgJpZBgBIAEoCVICaWQSHwoLZGF0YXBhdGhfaWQYAiABKARSCmRhdGFwYXRoSWQSKQoEZGVzYxgDIAEoCzIVLm9wZW5mbG93XzEzLm9mcF9kZXNjUgRkZXNjEkkKD3N3aXRjaF9mZWF0dXJlcxgEIAEoCzIgLm9wZW5mbG93XzEzLm9mcF9zd2l0Y2hfZmVhdHVyZXNSDnN3aXRjaEZlYXR1cmVzEiQKDnJvb3RfZGV2aWNlX2lkGAUgASgJUgxyb290RGV2aWNlSWQiRQoOTG9naWNhbERldmljZXMSMwoFaXRlbXMYASADKAsyHS5sb2dpY2FsX2RldmljZS5Mb2dpY2FsRGV2aWNlUgVpdGVtc0JlCiJvcmcub3BlbmNvcmQudm9sdGhhLmxvZ2ljYWxfZGV2aWNlQg9PRkxvZ2ljYWxEZXZpY2VaLmdpdGh1Yi5jb20vb3BlbmNvcmQvdm9sdGhhLXByb3Rvcy92NS9nby92b2x0aGFKjgwKBhIEAAA0AQoICgEMEgMAABIKCAoBCBIDAgBFCgkKAggLEgMCAEUKCAoBCBIDAwA7CgkKAggBEgMDADsKCAoBCBIDBAAwCgkKAggIEgMEADAKCAoBAhIDBgAXCgkKAgMAEgMIACYKCQoCAwESAwkAKQoKCgIEABIECwARAQoKCgMEAAESAwsIFQoqCgQEAAIAEgMNBBIaHSB1bmlxdWUgaWQgb2YgbG9naWNhbCBkZXZpY2UKCg0KBQQAAgAEEgQNBAsXCgwKBQQAAgAFEgMNBAoKDAoFBAACAAESAw0LDQoMCgUEAAIAAxIDDRARCjMKBAQAAgESAxAEFxomIGlkIG9mIHRoZSBwb3J0IG9uIHRoZSBsb2dpY2FsIGRldmljZQoKDQoFBAACAQQSBBAEDRIKDAoFBAACAQUSAxAECgoMCgUEAAIBARIDEAsSCgwKBQQAAgEDEgMQFRYKCgoCBAESBBMAGgEKCgoDBAEBEgMTCBMKCwoEBAECABIDFAQSCg0KBQQBAgAEEgQUBBMVCgwKBQQBAgAFEgMUBAoKDAoFBAECAAESAxQLDQoMCgUEAQIAAxIDFBARCgsKBAQBAgESAxUEJgoNCgUEAQIBBBIEFQQUEgoMCgUEAQIBBhIDFQQYCgwKBQQBAgEBEgMVGSEKDAoFBAECAQMSAxUkJQoLCgQEAQICEgMWBBkKDQoFBAECAgQSBBYEFSYKDAoFBAECAgUSAxYECgoMCgUEAQICARIDFgsUCgwKBQQBAgIDEgMWFxgKCwoEBAECAxIDFwQeCg0KBQQBAgMEEgQXBBYZCgwKBQQBAgMFEgMXBAoKDAoFBAECAwESAxcLGQoMCgUEAQIDAxIDFxwdCgsKBAQBAgQSAxgEFwoNCgUEAQIEBBIEGAQXHgoMCgUEAQIEBRIDGAQICgwKBQQBAgQBEgMYCRIKDAoFBAECBAMSAxgVFgoLCgQEAQIFEgMZBDIKDQoFBAECBQQSBBkEGBcKDAoFBAECBQYSAxkEHgoMCgUEAQIFARIDGR8tCgwKBQQBAgUDEgMZMDEKCgoCBAISBBwAHgEKCgoDBAIBEgMcCBQKCwoEBAICABIDHQQjCgwKBQQCAgAEEgMdBAwKDAoFBAICAAYSAx0NGAoMCgUEAgIAARIDHRkeCgwKBQQCAgADEgMdISIKCgoCBAMSBCAAMAEKCgoDBAMBEgMgCBUKKgoEBAMCABIDIwQSGh0gdW5pcXVlIGlkIG9mIGxvZ2ljYWwgZGV2aWNlCgoNCgUEAwIABBIEIwQgFwoMCgUEAwIABRIDIwQKCgwKBQQDAgABEgMjCw0KDAoFBAMCAAMSAyMQEQpVCgQEAwIBEgMmBBsaSCB1bmlxdWUgZGF0YXBhdGggaWQgZm9yIHRoZSBsb2dpY2FsIGRldmljZSAodXNlZCBieSB0aGUgU0ROIGNvbnRyb2xsZXIpCgoNCgUEAwIBBBIEJgQjEgoMCgUEAwIBBRIDJgQKCgwKBQQDAgEBEgMmCxYKDAoFBAMCAQMSAyYZGgohCgQEAwICEgMpBCIaFCBkZXZpY2UgZGVzY3JpcHRpb24KCg0KBQQDAgIEEgQpBCYbCgwKBQQDAgIGEgMpBBgKDAoFBAMCAgESAykZHQoMCgUEAwICAxIDKSAhCh4KBAQDAgMSAywEOBoRIGRldmljZSBmZWF0dXJlcwoKDQoFBAMCAwQSBCwEKSIKDAoFBAMCAwYSAywEIwoMCgUEAwIDARIDLCQzCgwKBQQDAgMDEgMsNjcKPwoEBAMCBBIDLwQeGjIgbmFtZSBvZiB0aGUgcm9vdCBkZXZpY2UgYW5jaG9yaW5nIGxvZ2ljYWwgZGV2aWNlCgoNCgUEAwIEBBIELwQsOAoMCgUEAwIEBRIDLwQKCgwKBQQDAgQBEgMvCxkKDAoFBAMCBAMSAy8cHQoKCgIEBBIEMgA0AQoKCgMEBAESAzIIFgoLCgQEBAIAEgMzBCUKDAoFBAQCAAQSAzMEDAoMCgUEBAIABhIDMw0aCgwKBQQEAgABEgMzGyAKDAoFBAQCAAMSAzMjJGIGcHJvdG8zCv/YAQoadm9sdGhhX3Byb3Rvcy9kZXZpY2UucHJvdG8SBmRldmljZRoZZ29vZ2xlL3Byb3RvYnVmL2FueS5wcm90bxoadm9sdGhhX3Byb3Rvcy9jb21tb24ucHJvdG8aH3ZvbHRoYV9wcm90b3Mvb3BlbmZsb3dfMTMucHJvdG8i4gIKCkRldmljZVR5cGUSDgoCaWQYASABKAlSAmlkEhsKCXZlbmRvcl9pZBgFIAEoCVIIdmVuZG9ySWQSHQoKdmVuZG9yX2lkcxgGIAMoCVIJdmVuZG9ySWRzEhgKB2FkYXB0ZXIYAiABKAlSB2FkYXB0ZXISNwoYYWNjZXB0c19idWxrX2Zsb3dfdXBkYXRlGAMgASgIUhVhY2NlcHRzQnVsa0Zsb3dVcGRhdGUSRAofYWNjZXB0c19hZGRfcmVtb3ZlX2Zsb3dfdXBkYXRlcxgEIAEoCFIbYWNjZXB0c0FkZFJlbW92ZUZsb3dVcGRhdGVzEkwKI2FjY2VwdHNfZGlyZWN0X2xvZ2ljYWxfZmxvd3NfdXBkYXRlGAcgASgIUh9hY2NlcHRzRGlyZWN0TG9naWNhbEZsb3dzVXBkYXRlEiEKDGFkYXB0ZXJfdHlwZRgIIAEoCVILYWRhcHRlclR5cGUiNwoLRGV2aWNlVHlwZXMSKAoFaXRlbXMYASADKAsyEi5kZXZpY2UuRGV2aWNlVHlwZVIFaXRlbXMiwAEKCFBtQ29uZmlnEhIKBG5hbWUYASABKAlSBG5hbWUSKwoEdHlwZRgCIAEoDjIXLmRldmljZS5QbUNvbmZpZy5QbVR5cGVSBHR5cGUSGAoHZW5hYmxlZBgDIAEoCFIHZW5hYmxlZBIfCgtzYW1wbGVfZnJlcRgEIAEoDVIKc2FtcGxlRnJlcSI4CgZQbVR5cGUSCwoHQ09VTlRFUhAAEgkKBUdBVUdFEAESCQoFU1RBVEUQAhILCgdDT05URVhUEAMikwEKDVBtR3JvdXBDb25maWcSHQoKZ3JvdXBfbmFtZRgBIAEoCVIJZ3JvdXBOYW1lEh0KCmdyb3VwX2ZyZXEYAiABKA1SCWdyb3VwRnJlcRIYCgdlbmFibGVkGAMgASgIUgdlbmFibGVkEioKB21ldHJpY3MYBCADKAsyEC5kZXZpY2UuUG1Db25maWdSB21ldHJpY3Mi8wEKCVBtQ29uZmlncxIOCgJpZBgBIAEoCVICaWQSIQoMZGVmYXVsdF9mcmVxGAIgASgNUgtkZWZhdWx0RnJlcRIYCgdncm91cGVkGAMgASgIUgdncm91cGVkEiMKDWZyZXFfb3ZlcnJpZGUYBCABKAhSDGZyZXFPdmVycmlkZRItCgZncm91cHMYBSADKAsyFS5kZXZpY2UuUG1Hcm91cENvbmZpZ1IGZ3JvdXBzEioKB21ldHJpY3MYBiADKAsyEC5kZXZpY2UuUG1Db25maWdSB21ldHJpY3MSGQoIbWF4X3NrZXcYByABKA1SB21heFNrZXcijwIKBUltYWdlEhIKBG5hbWUYASABKAlSBG5hbWUSGAoHdmVyc2lvbhgCIAEoCVIHdmVyc2lvbhISCgRoYXNoGAMgASgNUgRoYXNoEikKEGluc3RhbGxfZGF0ZXRpbWUYBCABKAlSD2luc3RhbGxEYXRldGltZRIbCglpc19hY3RpdmUYBSABKAhSCGlzQWN0aXZlEiEKDGlzX2NvbW1pdHRlZBgGIAEoCFILaXNDb21taXR0ZWQSGQoIaXNfdmFsaWQYByABKAhSB2lzVmFsaWQSEAoDdXJsGAggASgJUgN1cmwSFgoGdmVuZG9yGAkgASgJUgZ2ZW5kb3ISFAoFY3JjMzIYCiABKA1SBWNyYzMyIucHCg1JbWFnZURvd25sb2FkEg4KAmlkGAEgASgJUgJpZBISCgRuYW1lGAIgASgJUgRuYW1lEhAKA3VybBgDIAEoCVIDdXJsEhAKA2NyYxgEIAEoDVIDY3JjEk8KDmRvd25sb2FkX3N0YXRlGAUgASgOMiguZGV2aWNlLkltYWdlRG93bmxvYWQuSW1hZ2VEb3dubG9hZFN0YXRlUg1kb3dubG9hZFN0YXRlEiMKDWltYWdlX3ZlcnNpb24YBiABKAlSDGltYWdlVmVyc2lvbhIpChBkb3dubG9hZGVkX2J5dGVzGAcgASgNUg9kb3dubG9hZGVkQnl0ZXMSSAoGcmVhc29uGAggASgOMjAuZGV2aWNlLkltYWdlRG93bmxvYWQuSW1hZ2VEb3dubG9hZEZhaWx1cmVSZWFzb25SBnJlYXNvbhInCg9hZGRpdGlvbmFsX2luZm8YCSABKAlSDmFkZGl0aW9uYWxJbmZvEh8KC3NhdmVfY29uZmlnGAogASgIUgpzYXZlQ29uZmlnEhsKCWxvY2FsX2RpchgLIAEoCVIIbG9jYWxEaXISSQoLaW1hZ2Vfc3RhdGUYDCABKA4yKC5kZXZpY2UuSW1hZ2VEb3dubG9hZC5JbWFnZUFjdGl2YXRlU3RhdGVSCmltYWdlU3RhdGUSGwoJZmlsZV9zaXplGA0gASgNUghmaWxlU2l6ZSK3AQoSSW1hZ2VEb3dubG9hZFN0YXRlEhQKEERPV05MT0FEX1VOS05PV04QABIWChJET1dOTE9BRF9TVUNDRUVERUQQARIWChJET1dOTE9BRF9SRVFVRVNURUQQAhIUChBET1dOTE9BRF9TVEFSVEVEEAMSEwoPRE9XTkxPQURfRkFJTEVEEAQSGAoURE9XTkxPQURfVU5TVVBQT1JURUQQBRIWChJET1dOTE9BRF9DQU5DRUxMRUQQBiKGAQoaSW1hZ2VEb3dubG9hZEZhaWx1cmVSZWFzb24SDAoITk9fRVJST1IQABIPCgtJTlZBTElEX1VSTBABEg8KC0RFVklDRV9CVVNZEAISFgoSSU5TVUZGSUNJRU5UX1NQQUNFEAMSEQoNVU5LTk9XTl9FUlJPUhAEEg0KCUNBTkNFTExFRBAFIowBChJJbWFnZUFjdGl2YXRlU3RhdGUSEQoNSU1BR0VfVU5LTk9XThAAEhIKDklNQUdFX0lOQUNUSVZFEAESFAoQSU1BR0VfQUNUSVZBVElORxACEhAKDElNQUdFX0FDVElWRRADEhMKD0lNQUdFX1JFVkVSVElORxAEEhIKDklNQUdFX1JFVkVSVEVEEAU6AhgBIkEKDkltYWdlRG93bmxvYWRzEisKBWl0ZW1zGAIgAygLMhUuZGV2aWNlLkltYWdlRG93bmxvYWRSBWl0ZW1zOgIYASItCgZJbWFnZXMSIwoFaW1hZ2UYASADKAsyDS5kZXZpY2UuSW1hZ2VSBWltYWdlIrABCghPbnVJbWFnZRIYCgd2ZXJzaW9uGAEgASgJUgd2ZXJzaW9uEh4KCmlzQ29tbWl0ZWQYAiABKAhSCmlzQ29tbWl0ZWQSGgoIaXNBY3RpdmUYAyABKAhSCGlzQWN0aXZlEhgKB2lzVmFsaWQYBCABKAhSB2lzVmFsaWQSIAoLcHJvZHVjdENvZGUYBSABKAlSC3Byb2R1Y3RDb2RlEhIKBGhhc2gYBiABKAlSBGhhc2giMwoJT251SW1hZ2VzEiYKBWl0ZW1zGAEgAygLMhAuZGV2aWNlLk9udUltYWdlUgVpdGVtcyJjChBEZXZpY2VJbWFnZVN0YXRlEhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSMgoKaW1hZ2VTdGF0ZRgCIAEoCzISLmRldmljZS5JbWFnZVN0YXRlUgppbWFnZVN0YXRlIuMHCgpJbWFnZVN0YXRlEhgKB3ZlcnNpb24YASABKAlSB3ZlcnNpb24STAoOZG93bmxvYWRfc3RhdGUYAiABKA4yJS5kZXZpY2UuSW1hZ2VTdGF0ZS5JbWFnZURvd25sb2FkU3RhdGVSDWRvd25sb2FkU3RhdGUSPQoGcmVhc29uGAMgASgOMiUuZGV2aWNlLkltYWdlU3RhdGUuSW1hZ2VGYWlsdXJlUmVhc29uUgZyZWFzb24SSAoLaW1hZ2Vfc3RhdGUYBCABKA4yJy5kZXZpY2UuSW1hZ2VTdGF0ZS5JbWFnZUFjdGl2YXRpb25TdGF0ZVIKaW1hZ2VTdGF0ZSLQAQoSSW1hZ2VEb3dubG9hZFN0YXRlEhQKEERPV05MT0FEX1VOS05PV04QABIWChJET1dOTE9BRF9TVUNDRUVERUQQARIWChJET1dOTE9BRF9SRVFVRVNURUQQAhIUChBET1dOTE9BRF9TVEFSVEVEEAMSEwoPRE9XTkxPQURfRkFJTEVEEAQSGAoURE9XTkxPQURfVU5TVVBQT1JURUQQBRIXChNET1dOTE9BRF9DQU5DRUxMSU5HEAYSFgoSRE9XTkxPQURfQ0FOQ0VMTEVEEAci9AEKEkltYWdlRmFpbHVyZVJlYXNvbhIMCghOT19FUlJPUhAAEg8KC0lOVkFMSURfVVJMEAESDwoLREVWSUNFX0JVU1kQAhIWChJJTlNVRkZJQ0lFTlRfU1BBQ0UQAxIRCg1VTktOT1dOX0VSUk9SEAQSGAoUQ0FOQ0VMTEVEX09OX1JFUVVFU1QQBRIaChZDQU5DRUxMRURfT05fT05VX1NUQVRFEAYSGgoWVkVORE9SX0RFVklDRV9NSVNNQVRDSBAHEhcKE09NQ0lfVFJBTlNGRVJfRVJST1IQCBIYChRJTUFHRV9SRUZVU0VEX0JZX09OVRAJIpkCChRJbWFnZUFjdGl2YXRpb25TdGF0ZRIRCg1JTUFHRV9VTktOT1dOEAASEgoOSU1BR0VfSU5BQ1RJVkUQARIUChBJTUFHRV9BQ1RJVkFUSU5HEAISEAoMSU1BR0VfQUNUSVZFEAMSFAoQSU1BR0VfQ09NTUlUVElORxAEEhMKD0lNQUdFX0NPTU1JVFRFRBAFEh0KGUlNQUdFX0FDVElWQVRJT05fQUJPUlRJTkcQBhIcChhJTUFHRV9BQ1RJVkFUSU9OX0FCT1JURUQQBxIZChVJTUFHRV9DT01NSVRfQUJPUlRJTkcQCBIYChRJTUFHRV9DT01NSVRfQUJPUlRFRBAJEhUKEUlNQUdFX0RPV05MT0FESU5HEAoitwUKBFBvcnQSFwoHcG9ydF9ubxgBIAEoDVIGcG9ydE5vEhQKBWxhYmVsGAIgASgJUgVsYWJlbBIpCgR0eXBlGAMgASgOMhUuZGV2aWNlLlBvcnQuUG9ydFR5cGVSBHR5cGUSOQoLYWRtaW5fc3RhdGUYBSABKA4yGC5jb21tb24uQWRtaW5TdGF0ZS5UeXBlc1IKYWRtaW5TdGF0ZRI5CgtvcGVyX3N0YXR1cxgGIAEoDjIYLmNvbW1vbi5PcGVyU3RhdHVzLlR5cGVzUgpvcGVyU3RhdHVzEhsKCWRldmljZV9pZBgHIAEoCVIIZGV2aWNlSWQSKwoFcGVlcnMYCCADKAsyFS5kZXZpY2UuUG9ydC5QZWVyUG9ydFIFcGVlcnMSHQoKcnhfcGFja2V0cxgJIAEoBlIJcnhQYWNrZXRzEhkKCHJ4X2J5dGVzGAogASgGUgdyeEJ5dGVzEhsKCXJ4X2Vycm9ycxgLIAEoBlIIcnhFcnJvcnMSHQoKdHhfcGFja2V0cxgMIAEoBlIJdHhQYWNrZXRzEhkKCHR4X2J5dGVzGA0gASgGUgd0eEJ5dGVzEhsKCXR4X2Vycm9ycxgOIAEoBlIIdHhFcnJvcnMSMAoIb2ZwX3BvcnQYDyABKAsyFS5vcGVuZmxvd18xMy5vZnBfcG9ydFIHb2ZwUG9ydBpACghQZWVyUG9ydBIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEhcKB3BvcnRfbm8YAiABKA1SBnBvcnRObyJzCghQb3J0VHlwZRILCgdVTktOT1dOEAASEAoMRVRIRVJORVRfTk5JEAESEAoMRVRIRVJORVRfVU5JEAISCwoHUE9OX09MVBADEgsKB1BPTl9PTlUQBBINCglWRU5FVF9PTFQQBRINCglWRU5FVF9PTlUQBiIrCgVQb3J0cxIiCgVpdGVtcxgBIAMoCzIMLmRldmljZS5Qb3J0UgVpdGVtcyLYCgoGRGV2aWNlEg4KAmlkGAEgASgJUgJpZBISCgR0eXBlGAIgASgJUgR0eXBlEhIKBHJvb3QYAyABKAhSBHJvb3QSGwoJcGFyZW50X2lkGAQgASgJUghwYXJlbnRJZBIkCg5wYXJlbnRfcG9ydF9ubxgUIAEoDVIMcGFyZW50UG9ydE5vEhYKBnZlbmRvchgFIAEoCVIGdmVuZG9yEhQKBW1vZGVsGAYgASgJUgVtb2RlbBIpChBoYXJkd2FyZV92ZXJzaW9uGAcgASgJUg9oYXJkd2FyZVZlcnNpb24SKQoQZmlybXdhcmVfdmVyc2lvbhgIIAEoCVIPZmlybXdhcmVWZXJzaW9uEiYKBmltYWdlcxgJIAEoCzIOLmRldmljZS5JbWFnZXNSBmltYWdlcxIjCg1zZXJpYWxfbnVtYmVyGAogASgJUgxzZXJpYWxOdW1iZXISGwoJdmVuZG9yX2lkGBggASgJUgh2ZW5kb3JJZBIpChBhZGFwdGVyX2VuZHBvaW50GBkgASgJUg9hZGFwdGVyRW5kcG9pbnQSEgoEdmxhbhgMIAEoDVIEdmxhbhIfCgttYWNfYWRkcmVzcxgNIAEoCVIKbWFjQWRkcmVzcxIjCgxpcHY0X2FkZHJlc3MYDiABKAlIAFILaXB2NEFkZHJlc3MSIwoMaXB2Nl9hZGRyZXNzGA8gASgJSABSC2lwdjZBZGRyZXNzEiQKDWhvc3RfYW5kX3BvcnQYFSABKAlIAFILaG9zdEFuZFBvcnQSHQoKZXh0cmFfYXJncxgXIAEoCVIJZXh0cmFBcmdzEkAKDXByb3h5X2FkZHJlc3MYEyABKAsyGy5kZXZpY2UuRGV2aWNlLlByb3h5QWRkcmVzc1IMcHJveHlBZGRyZXNzEjkKC2FkbWluX3N0YXRlGBAgASgOMhguY29tbW9uLkFkbWluU3RhdGUuVHlwZXNSCmFkbWluU3RhdGUSOQoLb3Blcl9zdGF0dXMYESABKA4yGC5jb21tb24uT3BlclN0YXR1cy5UeXBlc1IKb3BlclN0YXR1cxIWCgZyZWFzb24YFiABKAlSBnJlYXNvbhJCCg5jb25uZWN0X3N0YXR1cxgSIAEoDjIbLmNvbW1vbi5Db25uZWN0U3RhdHVzLlR5cGVzUg1jb25uZWN0U3RhdHVzEiwKBmN1c3RvbRhAIAEoCzIULmdvb2dsZS5wcm90b2J1Zi5BbnlSBmN1c3RvbRIxCgpwbV9jb25maWdzGIMBIAEoCzIRLmRldmljZS5QbUNvbmZpZ3NSCXBtQ29uZmlncxI/Cg9pbWFnZV9kb3dubG9hZHMYhQEgAygLMhUuZGV2aWNlLkltYWdlRG93bmxvYWRSDmltYWdlRG93bmxvYWRzGq4CCgxQcm94eUFkZHJlc3MSGwoJZGV2aWNlX2lkGAEgASgJUghkZXZpY2VJZBIfCgtkZXZpY2VfdHlwZRgCIAEoCVIKZGV2aWNlVHlwZRIdCgpjaGFubmVsX2lkGAMgASgNUgljaGFubmVsSWQSKAoQY2hhbm5lbF9ncm91cF9pZBgEIAEoDVIOY2hhbm5lbEdyb3VwSWQSLwoTY2hhbm5lbF90ZXJtaW5hdGlvbhgFIAEoCVISY2hhbm5lbFRlcm1pbmF0aW9uEhUKBm9udV9pZBgGIAEoDVIFb251SWQSJAoOb251X3Nlc3Npb25faWQYByABKA1SDG9udVNlc3Npb25JZBIpChBhZGFwdGVyX2VuZHBvaW50GAggASgJUg9hZGFwdGVyRW5kcG9pbnRCCQoHYWRkcmVzc0oECAsQDCLCAQoaRGV2aWNlSW1hZ2VEb3dubG9hZFJlcXVlc3QSJwoJZGV2aWNlX2lkGAEgAygLMgouY29tbW9uLklEUghkZXZpY2VJZBIjCgVpbWFnZRgCIAEoCzINLmRldmljZS5JbWFnZVIFaW1hZ2USLAoRYWN0aXZhdGVPblN1Y2Nlc3MYAyABKAhSEWFjdGl2YXRlT25TdWNjZXNzEigKD2NvbW1pdE9uU3VjY2VzcxgEIAEoCFIPY29tbWl0T25TdWNjZXNzIoEBChJEZXZpY2VJbWFnZVJlcXVlc3QSJwoJZGV2aWNlX2lkGAEgAygLMgouY29tbW9uLklEUghkZXZpY2VJZBIYCgd2ZXJzaW9uGAIgASgJUgd2ZXJzaW9uEigKD2NvbW1pdE9uU3VjY2VzcxgDIAEoCFIPY29tbWl0T25TdWNjZXNzIl8KE0RldmljZUltYWdlUmVzcG9uc2USSAoTZGV2aWNlX2ltYWdlX3N0YXRlcxgBIAMoCzIYLmRldmljZS5EZXZpY2VJbWFnZVN0YXRlUhFkZXZpY2VJbWFnZVN0YXRlcyKlAQoQU2VsZlRlc3RSZXNwb25zZRI/CgZyZXN1bHQYASABKA4yJy5kZXZpY2UuU2VsZlRlc3RSZXNwb25zZS5TZWxmVGVzdFJlc3VsdFIGcmVzdWx0IlAKDlNlbGZUZXN0UmVzdWx0EgsKB1NVQ0NFU1MQABILCgdGQUlMVVJFEAESEQoNTk9UX1NVUFBPUlRFRBACEhEKDVVOS05PV05fRVJST1IQAyIvCgdEZXZpY2VzEiQKBWl0ZW1zGAEgAygLMg4uZGV2aWNlLkRldmljZVIFaXRlbXMiqAMKFFNpbXVsYXRlQWxhcm1SZXF1ZXN0Eg4KAmlkGAEgASgJUgJpZBIcCglpbmRpY2F0b3IYAiABKAlSCWluZGljYXRvchIXCgdpbnRmX2lkGAMgASgJUgZpbnRmSWQSJAoOcG9ydF90eXBlX25hbWUYBCABKAlSDHBvcnRUeXBlTmFtZRIiCg1vbnVfZGV2aWNlX2lkGAUgASgJUgtvbnVEZXZpY2VJZBIzChZpbnZlcnNlX2JpdF9lcnJvcl9yYXRlGAYgASgFUhNpbnZlcnNlQml0RXJyb3JSYXRlEhQKBWRyaWZ0GAcgASgFUgVkcmlmdBIXCgduZXdfZXFkGAggASgFUgZuZXdFcWQSKgoRb251X3NlcmlhbF9udW1iZXIYCSABKAlSD29udVNlcmlhbE51bWJlchJICglvcGVyYXRpb24YCiABKA4yKi5kZXZpY2UuU2ltdWxhdGVBbGFybVJlcXVlc3QuT3BlcmF0aW9uVHlwZVIJb3BlcmF0aW9uIiUKDU9wZXJhdGlvblR5cGUSCQoFUkFJU0UQABIJCgVDTEVBUhABQloKGm9yZy5vcGVuY29yZC52b2x0aGEuZGV2aWNlQgxWb2x0aGFEZXZpY2VaLmdpdGh1Yi5jb20vb3BlbmNvcmQvdm9sdGhhLXByb3Rvcy92NS9nby92b2x0aGFKnaEBCgcSBQAA7QMBCggKAQwSAwAAEgoICgEIEgMCAEUKCQoCCAsSAwIARQoICgEIEgMDADMKCQoCCAESAwMAMwoICgEIEgMEAC0KCQoCCAgSAwQALQoICgECEgMGAA8KCQoCAwASAwgAIwoJCgIDARIDCgAkCgkKAgMCEgMLACkKGwoCBAASBA4AJQEaDyBBIERldmljZSBUeXBlCgoKCgMEAAESAw4IEgouCgQE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dHdhcmUgaW1hZ2UKIGlzIGFsd2F5cyBhY3RpdmUgd2hpbGUgdGhlIG90aGVyIGlzIGluYWN0aXZlLiBVbmRlciBubyBjaXJjdW1zdGFuY2VzIGFyZQogYm90aCBzb2Z0d2FyZSBpbWFnZXMgYWxsb3dlZCB0byBiZSBhY3RpdmUgYXQgdGhlIHNhbWUgdGltZQogRGVwcmVjYXRlZCBpbiB2b2x0aGEgMi44LCB3aWxsIGJlIHJlbW92ZWQKIh0gVHJ1ZSBpZiB0aGUgaW1hZ2UgaXMgYWN0aXZlCjInIHVzZSBJU08gODYwMSBmb3JtYXQgZm9yIGRhdGUgYW5kIHRpbWUKCg0KBQQFAgQEEgRiBFogCgwKBQQFAgQFEgNiBAgKDAoFBAUCBAESA2IJEgoMCgUEBQIEAxIDYhUWCp8CCgQEBQIFEgNoBBoa7wEgVGhlIGNvbW1pdHRlZCBzb2Z0d2FyZSBpbWFnZSBpcyBsb2FkZWQgYW5kIGV4ZWN1dGVkIHVwb24gcmVib290IG9mIHRoZQogT05VIGFuZC9vciBjaXJjdWl0IHBhY2suIER1cmluZyBub3JtYWwgb3BlcmF0aW9uLCBvbmUgc29mdHdhcmUgaW1hZ2UgaXMKIGFsd2F5cyBjb21taXR0ZWQsIHdoaWxlIHRoZSBvdGhlciBpcyB1bmNvbW1pdHRlZC4KIERlcHJlY2F0ZWQgaW4gdm9sdGhhIDIuOCwgd2lsbCBiZSByZW1vdmVkCiIgIFRydWUgaWYgdGhlIGltYWdlIGlzIGNvbW1pdHRlZAoKDQoFBAUCBQQSBGgEYhcKDAoFBAUCBQUSA2gECAoMCgUEBQIFARIDaAkVCgwKBQQFAgUDEgNoGBkKzAIKBAQFAgYSA28EFhqgAiBBIHNvZnR3YXJlIGltYWdlIGlzIHZhbGlkIGlmIGl0IGhhcyBiZWVuIHZlcmlmaWVkIHRvIGJlIGFuIGV4ZWN1dGFibGUKIGNvZGUgaW1hZ2UuIFRoZSB2ZXJpZmljYXRpb24gbWVjaGFuaXNtIGlzIG5vdCBzdWJqZWN0IHRvIHN0YW5kYXJkaXphdGlvbjsKIGhvd2V2ZXIsIGl0IHNob3VsZCBpbmNsdWRlIGF0IGxlYXN0IGEgZGF0YSBpbnRlZ3JpdHkgKGUuZy4sIENSQykgY2hlY2sg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Zi5XZWxsS25vd25UeXBlc0r4LQoHEgUeAIgBAQrMDAoBDBIDHgASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKCAoBAhIDIAAYCggKAQgSAyIAOwoJCgIIJRIDIgA7CggKAQgSAyMAHwoJCgIIHxIDIwAfCggKAQgSAyQAQgoJCgIICxIDJABCCggKAQgSAyUALAoJCgIIARIDJQAsCggKAQgSAyYALwoJCgIICBIDJgAvCggKAQgSAycAIgoJCgIIChIDJwAiCggKAQgSAygAIQoJCgIIJBIDKAAhCvEbCgIEABIFfACIAQEa4xsgQSBUaW1lc3RhbXAgcmVwcmVzZW50cyBhIHBvaW50IGluIHRpbWUgaW5kZXBlbmRlbnQgb2YgYW55IHRpbWUgem9uZSBvciBsb2NhbAogY2FsZW5kYXIsIGVuY29kZWQgYXMgYSBjb3VudCBvZiBzZWNvbmRzIGFuZCBmcmFjdGlvbnMgb2Ygc2Vjb25kcyBhdAogbmFub3NlY29uZCByZXNvbHV0aW9uLiBUaGUgY291bnQgaXMgcmVsYXRpdmUgdG8gYW4gZXBvY2ggYXQgVVRDIG1pZG5pZ2h0IG9uCiBKYW51YXJ5IDEsIDE5NzAsIGluIHRoZSBwcm9sZXB0aWMgR3JlZ29yaWFuIGNhbGVuZGFyIHdoaWNoIGV4dGVuZHMgdGhlCiBHcmVnb3JpYW4gY2FsZW5kYXIgYmFja3dhcmRzIHRvIHllYXIgb25lLgoKIEFsbCBtaW51dGVzIGFyZSA2MCBzZWNvbmRzIGxvbmcuIExlYXAgc2Vjb25kcyBhcmUgInNtZWFyZWQiIHNvIHRoYXQgbm8gbGVhcAogc2Vjb25kIHRhYmxlIGlzIG5lZWRlZCBmb3IgaW50ZXJwcmV0YXRpb24sIHVzaW5nIGEgWzI0LWhvdXIgbGluZWFyCiBzbWVhcl0oaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vdGltZS9zbWVhcikuCgogVGhlIHJhbmdlIGlzIGZyb20gMDAwMS0wMS0wMVQwMDowMDowMFogdG8gOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5OTlaLiBCeQogcmVzdHJpY3RpbmcgdG8gdGhhdCByYW5nZSwgd2UgZW5zdXJlIHRoYXQgd2UgY2FuIGNvbnZlcnQgdG8gYW5kIGZyb20gW1JGQwogMzMzOV0oaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzMzMzkudHh0KSBkYXRlIHN0cmluZ3MuCgogIyBFeGFtcGxlcwoKIEV4YW1wbGUgMTogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBQT1NJWCBgdGltZSgpYC4KCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHModGltZShOVUxMKSk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcygwKTsKCiBFeGFtcGxlIDI6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gUE9TSVggYGdldHRpbWVvZmRheSgpYC4KCiAgICAgc3RydWN0IHRpbWV2YWwgdHY7CiAgICAgZ2V0dGltZW9mZGF5KCZ0diwgTlVMTCk7CgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXA7CiAgICAgdGltZXN0YW1wLnNldF9zZWNvbmRzKHR2LnR2X3NlYyk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcyh0di50dl91c2VjICogMTAwMCk7CgogRXhhbXBsZSAzOiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIFdpbjMyIGBHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZSgpYC4KCiAgICAgRklMRVRJTUUgZnQ7CiAgICAgR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUoJmZ0KTsKICAgICBVSU5UNjQgdGlja3MgPSAoKChVSU5UNjQpZnQuZHdIaWdoRGF0ZVRpbWUpIDw8IDMyKSB8IGZ0LmR3TG93RGF0ZVRpbWU7CgogICAgIC8vIEEgV2luZG93cyB0aWNrIGlzIDEwMCBuYW5vc2Vjb25kcy4gV2luZG93cyBlcG9jaCAxNjAxLTAxLTAxVDAwOjAwOjAwWgogICAgIC8vIGlzIDExNjQ0NDczNjAwIHNlY29uZHMgYmVmb3JlIFVuaXggZXBvY2ggMTk3MC0wMS0wMVQwMDowMDowMFouCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHMoKElOVDY0KSAoKHRpY2tzIC8gMTAwMDAwMDApIC0gMTE2NDQ0NzM2MDBMTCkpOwogICAgIHRpbWVzdGFtcC5zZXRfbmFub3MoKElOVDMyKSAoKHRpY2tzICUgMTAwMDAwMDApICogMTAwKSk7CgogRXhhbXBsZSA0OiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIEphdmEgYFN5c3RlbS5jdXJyZW50VGltZU1pbGxpcygpYC4KCiAgICAgbG9uZyBtaWxsaXMgPSBTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMoKTsKCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcCA9IFRpbWVzdGFtcC5uZXdCdWlsZGVyKCkuc2V0U2Vjb25kcyhtaWxsaXMgLyAxMDAwKQogICAgICAgICAuc2V0TmFub3MoKGludCkgKChtaWxsaXMgJSAxMDAwKSAqIDEwMDAwMDApKS5idWlsZCgpOwoKCiBFeGFtcGxlIDU6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gY3VycmVudCB0aW1lIGluIFB5dGhvbi4KCiAgICAgdGltZXN0YW1wID0gVGltZXN0YW1wKCkKICAgICB0aW1lc3RhbXAuR2V0Q3VycmVudFRpbWUoKQoKICMgSlNPTiBNYXBwaW5nCgogSW4gSlNPTiBmb3JtYXQsIHRoZSBUaW1lc3RhbXAgdHlwZSBpcyBlbmNvZGVkIGFzIGEgc3RyaW5nIGluIHRoZQogW1JGQyAzMzM5XShodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMzMzOS50eHQpIGZvcm1hdC4gVGhhdCBpcywgdGhlCiBmb3JtYXQgaXMgInt5ZWFyfS17bW9udGh9LXtkYXl9VHtob3VyfTp7bWlufTp7c2VjfVsue2ZyYWNfc2VjfV1aIgogd2hlcmUge3llYXJ9IGlzIGFsd2F5cyBleHByZXNzZWQgdXNpbmcgZm91ciBkaWdpdHMgd2hpbGUge21vbnRofSwge2RheX0sCiB7aG91cn0sIHttaW59LCBhbmQge3NlY30gYXJlIHplcm8tcGFkZGVkIHRvIHR3byBkaWdpdHMgZWFjaC4gVGhlIGZyYWN0aW9uYWwKIHNlY29uZHMsIHdoaWNoIGNhbiBnbyB1cCB0byA5IGRpZ2l0cyAoaS5lLiB1cCB0byAxIG5hbm9zZWNvbmQgcmVzb2x1dGlvbiksCiBhcmUgb3B0aW9uYWwuIFRoZSAiWiIgc3VmZml4IGluZGljYXRlcyB0aGUgdGltZXpvbmUgKCJVVEMiKTsgdGhlIHRpbWV6b25lCiBpcyByZXF1aXJlZC4gQSBwcm90bzMgSlNPTiBzZXJpYWxpemVyIHNob3VsZCBhbHdheXMgdXNlIFVUQyAoYXMgaW5kaWNhdGVkIGJ5CiAiWiIpIHdoZW4gcHJpbnRpbmcgdGhlIFRpbWVzdGFtcCB0eXBlIGFuZCBhIHByb3RvMyBKU09OIHBhcnNlciBzaG91bGQgYmUKIGFibGUgdG8gYWNjZXB0IGJvdGggVVRDIGFuZCBvdGhlciB0aW1lem9uZXMgKGFzIGluZGljYXRlZCBieSBhbiBvZmZzZXQpLgoKIEZvciBleGFtcGxlLCAiMjAxNy0wMS0xNVQwMTozMDoxNS4wMVoiIGVuY29kZXMgMTUuMDEgc2Vjb25kcyBwYXN0CiAwMTozMCBVVEMgb24gSmFudWFyeSAxNSwgMjAxNy4KCiBJbiBKYXZhU2NyaXB0LCBvbmUgY2FuIGNvbnZlcnQgYSBEYXRlIG9iamVjdCB0byB0aGlzIGZvcm1hdCB1c2luZyB0aGUKIHN0YW5kYXJkIFt0b0lTT1N0cmluZygpXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9EYXRlL3RvSVNPU3RyaW5nKQogbWV0aG9kLiBJbiBQeXRob24sIGEgc3RhbmRhcmQgYGRhdGV0aW1lLmRhdGV0aW1lYCBvYmplY3QgY2FuIGJlIGNvbnZlcnRlZAogdG8gdGhpcyBmb3JtYXQgdXNpbmcgW2BzdHJmdGltZWBdKGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzIvbGlicmFyeS90aW1lLmh0bWwjdGltZS5zdHJmdGltZSkKIHdpdGggdGhlIHRpbWUgZm9ybWF0IHNwZWMgJyVZLSVtLSVkVCVIOiVNOiVTLiVmWicuIExpa2V3aXNlLCBpbiBKYXZhLCBvbmUKIGNhbiB1c2UgdGhlIEpvZGEgVGltZSdzIFtgSVNPRGF0ZVRpbWVGb3JtYXQuZGF0ZVRpbWUoKWBdKAogaHR0cDovL3d3dy5qb2RhLm9yZy9qb2RhLXRpbWUvYXBpZG9jcy9vcmcvam9kYS90aW1lL2Zvcm1hdC9JU09EYXRlVGltZUZvcm1hdC5odG1sI2RhdGVUaW1lJTJEJTJECiApIHRvIG9idGFpbiBhIGZvcm1hdHRlciBjYXBhYmxlIG9mIGdlbmVyYXRpbmcgdGltZXN0YW1wcyBpbiB0aGlzIGZvcm1hdC4KCgoKCgoDBAABEgN8CBEKnQEKBAQAAgASBIEBAhQajgEgUmVwcmVzZW50cyBzZWNvbmRzIG9mIFVUQyB0aW1lIHNpbmNlIFVuaXggZXBvY2gKIDE5NzAtMDEtMDFUMDA6MDA6MDBaLiBNdXN0IGJlIGZyb20gMDAwMS0wMS0wMVQwMDowMDowMFogdG8KIDk5OTktMTItMzFUMjM6NTk6NTlaIGluY2x1c2l2ZS4KCg4KBQQAAgAEEgWBAQJ8EwoNCgUEAAIABRIEgQECBwoNCgUEAAIAARIEgQEIDwoNCgUEAAIAAxIEgQESEwrlAQoEBAACARIEhwECEhrWASBOb24tbmVnYXRpdmUgZnJhY3Rpb25zIG9mIGEgc2Vjb25kIGF0IG5hbm9zZWNvbmQgcmVzb2x1dGlvbi4gTmVnYXRpdmUKIHNlY29uZCB2YWx1ZXMgd2l0aCBmcmFjdGlvbnMgbXVzdCBzdGlsbCBoYXZlIG5vbi1uZWdhdGl2ZSBuYW5vcyB2YWx1ZXMKIHRoYXQgY291bnQgZm9yd2FyZCBpbiB0aW1lLiBNdXN0IGJlIGZyb20gMCB0byA5OTksOTk5LDk5OQogaW5jbHVzaXZlLgoKDwoFBAACAQQSBocBAoEBFAoNCgUEAAIBBRIEhwECBwoNCgUEAAIBARIEhwEIDQoNCgUEAAIBAxIEhwEQEWIGcHJvdG8zCqVoChp2b2x0aGFfcHJvdG9zL2V2ZW50cy5wcm90bxIFZXZlbnQaHGdvb2dsZS9hcGkvYW5ub3RhdGlvbnMucHJvdG8aH2dvb2dsZS9wcm90b2J1Zi90aW1lc3RhbXAucHJvdG8aGnZvbHRoYV9wcm90b3MvY29tbW9uLnByb3RvIp4BChJFdmVudEZpbHRlclJ1bGVLZXkihwEKE0V2ZW50RmlsdGVyUnVsZVR5cGUSDgoKZmlsdGVyX2FsbBAAEgwKCGNhdGVnb3J5EAESEAoMc3ViX2NhdGVnb3J5EAISEgoOa3BpX2V2ZW50X3R5cGUQAxIVChFjb25maWdfZXZlbnRfdHlwZRAEEhUKEWRldmljZV9ldmVudF90eXBlEAUiaAoPRXZlbnRGaWx0ZXJSdWxlEj8KA2tleRgBIAEoDjItLmV2ZW50LkV2ZW50RmlsdGVyUnVsZUtleS5FdmVudEZpbHRlclJ1bGVUeXBlUgNrZXkSFAoFdmFsdWUYAiABKAlSBXZhbHVlIp8BCgtFdmVudEZpbHRlchIOCgJpZBgBIAEoCVICaWQSFgoGZW5hYmxlGAIgASgIUgZlbmFibGUSGwoJZGV2aWNlX2lkGAMgASgJUghkZXZpY2VJZBIdCgpldmVudF90eXBlGAQgASgJUglldmVudFR5cGUSLAoFcnVsZXMYBSADKAsyFi5ldmVudC5FdmVudEZpbHRlclJ1bGVSBXJ1bGVzIjwKDEV2ZW50RmlsdGVycxIsCgdmaWx0ZXJzGAEgAygLMhIuZXZlbnQuRXZlbnRGaWx0ZXJSB2ZpbHRlcnMiOwoPQ29uZmlnRXZlbnRUeXBlIigKBVR5cGVzEgcKA2FkZBAAEgoKBnJlbW92ZRABEgoKBnVwZGF0ZRACImcKC0NvbmZpZ0V2ZW50EjAKBHR5cGUYASABKA4yHC5ldmVudC5Db25maWdFdmVudFR5cGUuVHlwZXNSBHR5cGUSEgoEaGFzaBgCIAEoCVIEaGFzaBISCgRkYXRhGAMgASgJUgRkYXRhIioKDEtwaUV2ZW50VHlwZSIaCgVUeXBlcxIJCgVzbGljZRAAEgYKAnRzEAEiqgIKDk1ldHJpY01ldGFEYXRhEhQKBXRpdGxlGAEgASgJUgV0aXRsZRIOCgJ0cxgCIAEoAVICdHMSKgoRbG9naWNhbF9kZXZpY2VfaWQYAyABKAlSD2xvZ2ljYWxEZXZpY2VJZBIbCglzZXJpYWxfbm8YBCABKAlSCHNlcmlhbE5vEhsKCWRldmljZV9pZBgFIAEoCVIIZGV2aWNlSWQSPAoHY29udGV4dBgGIAMoCzIiLmV2ZW50Lk1ldHJpY01ldGFEYXRhLkNvbnRleHRFbnRyeVIHY29udGV4dBISCgR1dWlkGAcgASgJUgR1dWlkGjoKDENvbnRleHRFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBIo4BChBNZXRyaWNWYWx1ZVBhaXJzEj4KB21ldHJpY3MYASADKAsyJC5ldmVudC5NZXRyaWNWYWx1ZVBhaXJzLk1ldHJpY3NFbnRyeVIHbWV0cmljcxo6CgxNZXRyaWNzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAJSBXZhbHVlOgI4ASLDAQoRTWV0cmljSW5mb3JtYXRpb24SMQoIbWV0YWRhdGEYASABKAsyFS5ldmVudC5NZXRyaWNNZXRhRGF0YVIIbWV0YWRhdGESPwoHbWV0cmljcxgCIAMoCzIlLmV2ZW50Lk1ldHJpY0luZm9ybWF0aW9uLk1ldHJpY3NFbnRyeVIHbWV0cmljcxo6CgxNZXRyaWNzRW50cnkSEAoDa2V5GAEgASgJUgNrZXkSFAoFdmFsdWUYAiABKAJSBXZhbHVlOgI4ASLaAQoIS3BpRXZlbnQSLQoEdHlwZRgBIAEoDjIZLmV2ZW50LktwaUV2ZW50VHlwZS5UeXBlc1IEdHlwZRIOCgJ0cxgCIAEoAlICdHMSOQoIcHJlZml4ZXMYAyADKAsyHS5ldmVudC5LcGlFdmVudC5QcmVmaXhlc0VudHJ5UghwcmVmaXhlcxpUCg1QcmVmaXhlc0VudHJ5EhAKA2tleRgBIAEoCVIDa2V5Ei0KBXZhbHVlGAIgASgLMhcuZXZlbnQuTWV0cmljVmFsdWVQYWlyc1IFdmFsdWU6AjgBIoMBCglLcGlFdmVudDISLQoEdHlwZRgBIAEoDjIZLmV2ZW50LktwaUV2ZW50VHlwZS5UeXBlc1IEdHlwZRIOCgJ0cxgCIAEoAVICdHMSNwoKc2xpY2VfZGF0YRgDIAMoCzIYLmV2ZW50Lk1ldHJpY0luZm9ybWF0aW9uUglzbGljZURhdGEi8wEKC0RldmljZUV2ZW50Eh8KC3Jlc291cmNlX2lkGAEgASgJUgpyZXNvdXJjZUlkEioKEWRldmljZV9ldmVudF9uYW1lGAIgASgJUg9kZXZpY2VFdmVudE5hbWUSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEjkKB2NvbnRleHQYBCADKAsyHy5ldmVudC5EZXZpY2VFdmVudC5Db250ZXh0RW50cnlSB2NvbnRleHQaOgoMQ29udGV4dEVudHJ5EhAKA2tleRgBIAEoCVIDa2V5EhQKBXZhbHVlGAIgASgJUgV2YWx1ZToCOAEi2gIKCFJQQ0V2ZW50EhAKA3JwYxgBIAEoCVIDcnBjEiEKDG9wZXJhdGlvbl9pZBgCIAEoCVILb3BlcmF0aW9uSWQSGAoHc2VydmljZRgDIAEoCVIHc2VydmljZRIZCghzdGFja19pZBgEIAEoCVIHc3RhY2tJZBIfCgtyZXNvdXJjZV9pZBgFIAEoCVIKcmVzb3VyY2VJZBIgCgtkZXNjcmlwdGlvbhgGIAEoCVILZGVzY3JpcHRpb24SNgoHY29udGV4dBgHIAMoCzIcLmV2ZW50LlJQQ0V2ZW50LkNvbnRleHRFbnRyeVIHY29udGV4dBItCgZzdGF0dXMYCCABKAsyFS5jb21tb24uT3BlcmF0aW9uUmVzcFIGc3RhdHVzGjoKDENvbnRleHRFbnRyeRIQCgNrZXkYASABKAlSA2tleRIUCgV2YWx1ZRgCIAEoCVIFdmFsdWU6AjgBInYKDUV2ZW50Q2F0ZWdvcnkiZQoFVHlwZXMSEQoNQ09NTVVOSUNBVElPThAAEg8KC0VOVklST05NRU5UEAESDQoJRVFVSVBNRU5UEAISCwoHU0VSVklDRRADEg4KClBST0NFU1NJTkcQBBIMCghTRUNVUklUWRAFIlIKEEV2ZW50U3ViQ2F0ZWdvcnkiPgoFVHlwZXMSBwoDUE9OEAASBwoDT0xUEAESBwoDT05UEAISBwoDT05VEAMSBwoDTk5JEAQSCAoETk9ORRAFImYKCUV2ZW50VHlwZSJZCgVUeXBlcxIQCgxDT05GSUdfRVZFTlQQABINCglLUElfRVZFTlQQARIOCgpLUElfRVZFTlQyEAISEAoMREVWSUNFX0VWRU5UEAMSDQoJUlBDX0VWRU5UEAQi3AIKC0V2ZW50SGVhZGVyEg4KAmlkGAEgASgJUgJpZBI2CghjYXRlZ29yeRgCIAEoDjIaLmV2ZW50LkV2ZW50Q2F0ZWdvcnkuVHlwZXNSCGNhdGVnb3J5EkAKDHN1Yl9jYXRlZ29yeRgDIAEoDjIdLmV2ZW50LkV2ZW50U3ViQ2F0ZWdvcnkuVHlwZXNSC3N1YkNhdGVnb3J5EioKBHR5cGUYBCABKA4yFi5ldmVudC5FdmVudFR5cGUuVHlwZXNSBHR5cGUSIQoMdHlwZV92ZXJzaW9uGAUgASgJUgt0eXBlVmVyc2lvbhI3CglyYWlzZWRfdHMYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUghyYWlzZWRUcxI7CgtyZXBvcnRlZF90cxgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCnJlcG9ydGVkVHMixgIKBUV2ZW50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kAIUIAoNCgUEEgIBAxIEkAIjJAoiCgQEEgICEgSTAggfGhQgUmVmZXJzIHRvIEtwaUV2ZW50CgoNCgUEEgICBhIEkwIIEAoNCgUEEgICARIEkwIRGgoNCgUEEgICAxIEkwIdHgojCgQEEgIDEgSWAgghGhUgUmVmZXJzIHRvIEtwaUV2ZW50MgoKDQoFBBICAwYSBJYCCBEKDQoFBBICAwESBJYCEhwKDQoFBBICAwMSBJYCHyAKJQoEBBICBBIEmQIIJRoXIFJlZmVycyB0byBEZXZpY2VFdmVudAoKDQoFBBICBAYSBJkCCBMKDQoFBBICBAESBJkCFCAKDQoFBBICBAMSBJkCIyQKJgoEBBICBRIEnAIIHxoYIFJlZmVycyB0byBhbiBSUEMgRXZlbnQKCg0KBQQSAgUGEgScAggQCg0KBQQSAgUBEgScAhEaCg0KBQQSAgUDEgScAh0eYgZwcm90bzMKgiEKHnZvbHRoYV9wcm90b3MvZXh0X2NvbmZpZy5wcm90bxIGY29uZmlnImkKC0FsYXJtQ29uZmlnElAKGG9udV9pdHVfcG9uX2FsYXJtX2NvbmZpZxgBIAEoCzIWLmNvbmZpZy5PbnVJdHVQb25BbGFybUgAUhRvbnVJdHVQb25BbGFybUNvbmZpZ0IICgZjb25maWcivgkKDk9udUl0dVBvbkFsYXJtEhUKBnBvbl9uaRgBIAEoB1IFcG9uTmkSFQoGb251X2lkGAIgASgHUgVvbnVJZBI5CghhbGFybV9pZBgDIAEoDjIeLmNvbmZpZy5PbnVJdHVQb25BbGFybS5BbGFybUlEUgdhbGFybUlkEmoKGWFsYXJtX3JlcG9ydGluZ19jb25kaXRpb24YBCABKA4yLi5jb25maWcuT251SXR1UG9uQWxhcm0uQWxhcm1SZXBvcnRpbmdDb25kaXRpb25SF2FsYXJtUmVwb3J0aW5nQ29uZGl0aW9uEmAKFXJhdGVfdGhyZXNob2xkX2NvbmZpZxgFIAEoCzIqLmNvbmZpZy5PbnVJdHVQb25BbGFybS5SYXRlVGhyZXNob2xkQ29uZmlnSABSE3JhdGVUaHJlc2hvbGRDb25maWcSVAoRcmF0ZV9yYW5nZV9jb25maWcYBiABKAsyJi5jb25maWcuT251SXR1UG9uQWxhcm0uUmF0ZVJhbmdlQ29uZmlnSABSD3JhdGVSYW5nZUNvbmZpZxJjChZ2YWx1ZV90aHJlc2hvbGRfY29uZmlnGAcgASgLMisuY29uZmlnLk9udUl0dVBvbkFsYXJtLlZhbHVlVGhyZXNob2xkQ29uZmlnSABSFHZhbHVlVGhyZXNob2xkQ29uZmlnGlwKCFNvYWtUaW1lEigKEGFjdGl2ZV9zb2FrX3RpbWUYASABKAdSDmFjdGl2ZVNvYWtUaW1lEiYKD2NsZWFyX3NvYWtfdGltZRgCIAEoB1INY2xlYXJTb2FrVGltZRq9AQoTUmF0ZVRocmVzaG9sZENvbmZpZxIyChVyYXRlX3RocmVzaG9sZF9yaXNpbmcYASABKAZSE3JhdGVUaHJlc2hvbGRSaXNpbmcSNAoWcmF0ZV90aHJlc2hvbGRfZmFsbGluZxgCIAEoBlIUcmF0ZVRocmVzaG9sZEZhbGxpbmcSPAoJc29ha190aW1lGAMgASgLMh8uY29uZmlnLk9udUl0dVBvbkFsYXJtLlNvYWtUaW1lUghzb2FrVGltZRqjAQoPUmF0ZVJhbmdlQ29uZmlnEigKEHJhdGVfcmFuZ2VfbG93ZXIYASABKAZSDnJhdGVSYW5nZUxvd2VyEigKEHJhdGVfcmFuZ2VfdXBwZXIYAiABKAZSDnJhdGVSYW5nZVVwcGVyEjwKCXNvYWtfdGltZRgDIAEoCzIfLmNvbmZpZy5PbnVJdHVQb25BbGFybS5Tb2FrVGltZVIIc29ha1RpbWUafQoUVmFsdWVUaHJlc2hvbGRDb25maWcSJwoPdGhyZXNob2xkX2xpbWl0GAEgASgGUg50aHJlc2hvbGRMaW1pdBI8Cglzb2FrX3RpbWUYAiABKAsyHy5jb25maWcuT251SXR1UG9uQWxhcm0uU29ha1RpbWVSCHNvYWtUaW1lIhkKB0FsYXJtSUQSDgoKUkRJX0VSUk9SUxAAIlIKF0FsYXJtUmVwb3J0aW5nQ29uZGl0aW9uEhIKDlJBVEVfVEhSRVNIT0xEEAASDgoKUkFURV9SQU5HRRABEhMKD1ZBTFVFX1RIUkVTSE9MRBACQggKBmNvbmZpZ0JJChNvcmcub3BlbmNvcmQudm9sdGhhWjJnaXRodWIuY29tL29wZW5jb3JkL3ZvbHRoYS1wcm90b3MvdjUvZ28vZXh0L2NvbmZp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BQQBAgUBEgNCFygKDAoFBAECBQMSA0IrLAoLCgQEAQIGEgNDBzcKDAoFBAECBgYSA0MHGwoMCgUEAQIGARIDQxwyCgwKBQQBAgYDEgNDNTZiBnByb3RvMwqNwQEKHnZvbHRoYV9wcm90b3MvZXh0ZW5zaW9ucy5wcm90bxIJZXh0ZW5zaW9uGh52b2x0aGFfcHJvdG9zL2V4dF9jb25maWcucHJvdG8aG2dvb2dsZS9wcm90b2J1Zi9lbXB0eS5wcm90byJdCghWYWx1ZVNldBIOCgJpZBgBIAEoCVICaWQSOAoMYWxhcm1fY29uZmlnGAIgASgLMhMuY29uZmlnLkFsYXJtQ29uZmlnSABSC2FsYXJtQ29uZmlnQgcKBXZhbHVlIiwKCVZhbHVlVHlwZSIfCgRUeXBlEgkKBUVNUFRZEAASDAoIRElTVEFOQ0UQASJRCg5WYWx1ZVNwZWNpZmllchIOCgJpZBgBIAEoCVICaWQSLwoFdmFsdWUYAiABKA4yGS5leHRlbnNpb24uVmFsdWVUeXBlLlR5cGVSBXZhbHVlInQKDFJldHVyblZhbHVlcxIQCgNTZXQYASABKA1SA1NldBIgCgtVbnN1cHBvcnRlZBgCIAEoDVILVW5zdXBwb3J0ZWQSFAoFRXJyb3IYAyABKA1SBUVycm9yEhoKCERpc3RhbmNlGAQgASgNUghEaXN0YW5jZSI2ChJHZXREaXN0YW5jZVJlcXVlc3QSIAoLb251RGV2aWNlSWQYASABKAlSC29udURldmljZUlkIjEKE0dldERpc3RhbmNlUmVzcG9uc2USGgoIZGlzdGFuY2UYASABKA1SCGRpc3RhbmNlIjIKFEdldE9udVVuaUluZm9SZXF1ZXN0EhoKCHVuaUluZGV4GAEgASgNUgh1bmlJbmRleCLhBAoVR2V0T251VW5pSW5mb1Jlc3BvbnNlElAKCGFkbVN0YXRlGAEgASgOMjQuZXh0ZW5zaW9uLkdldE9udVVuaUluZm9SZXNwb25zZS5BZG1pbmlzdHJhdGl2ZVN0YXRlUghhZG1TdGF0ZRJPCglvcGVyU3RhdGUYAiABKA4yMS5leHRlbnNpb24uR2V0T251VW5pSW5mb1Jlc3BvbnNlLk9wZXJhdGlvbmFsU3RhdGVSCW9wZXJTdGF0ZRJPCgljb25maWdJbmQYAyABKA4yMS5leHRlbnNpb24uR2V0T251VW5pSW5mb1Jlc3BvbnNlLkNvbmZpZ3VyYXRpb25JbmRSCWNvbmZpZ0luZCLCAQoQQ29uZmlndXJhdGlvbkluZBIKCgZVTktPV04QABISCg5URU5fQkFTRV9UX0ZEWBABEhYKEkhVTkRSRURfQkFTRV9UX0ZEWBACEhgKFEdJR0FCSVRfRVRIRVJORVRfRkRYEAMSFgoSVEVOX0dfRVRIRVJORVRfRkRYEAQSEgoOVEVOX0JBU0VfVF9IRFgQBRIWChJIVU5EUkVEX0JBU0VfVF9IRFgQBhIYChRHSUdBQklUX0VUSEVSTkVUX0hEWBAHIkcKE0FkbWluaXN0cmF0aXZlU3RhdGUSFgoSQURNU1RBVEVfVU5ERUZJTkVEEAASCgoGTE9DS0VEEAESDAoIVU5MT0NLRUQQAiJGChBPcGVyYXRpb25hbFN0YXRlEhcKE09QRVJTVEFURV9VTkRFRklORUQQABILCgdFTkFCTEVEEAESDAoIRElTQUJMRUQQAiK3AQoSR2V0T2x0UG9ydENvdW50ZXJzEhYKBnBvcnRObxgBIAEoDVIGcG9ydE5vEkIKCHBvcnRUeXBlGAIgASgOMiYuZXh0ZW5zaW9uLkdldE9sdFBvcnRDb3VudGVycy5Qb3J0VHlwZVIIcG9ydFR5cGUiRQoIUG9ydFR5cGUSEAoMUG9ydF9VTktOT1dOEAASFQoRUG9ydF9FVEhFUk5FVF9OTkkQARIQCgxQb3J0X1BPTl9PTFQQAiLMAwoaR2V0T2x0UG9ydENvdW50ZXJzUmVzcG9uc2USGAoHdHhCeXRlcxgBIAEoBFIHdHhCeXRlcxIYCgdyeEJ5dGVzGAIgASgEUgdyeEJ5dGVzEhwKCXR4UGFja2V0cxgDIAEoBFIJdHhQYWNrZXRzEhwKCXJ4UGFja2V0cxgEIAEoBFIJcnhQYWNrZXRzEiYKDnR4RXJyb3JQYWNrZXRzGAUgASgEUg50eEVycm9yUGFja2V0cxImCg5yeEVycm9yUGFja2V0cxgGIAEoBFIOcnhFcnJvclBhY2tldHMSJgoOdHhCY2FzdFBhY2tldHMYByABKARSDnR4QmNhc3RQYWNrZXRzEiYKDnJ4QmNhc3RQYWNrZXRzGAggASgEUg5yeEJjYXN0UGFja2V0cxImCg50eFVjYXN0UGFja2V0cxgJIAEoBFIOdHhVY2FzdFBhY2tldHMSJgoOcnhVY2FzdFBhY2tldHMYCiABKARSDnJ4VWNhc3RQYWNrZXRzEiYKDnR4TWNhc3RQYWNrZXRzGAsgASgEUg50eE1jYXN0UGFja2V0cxImCg5yeE1jYXN0UGFja2V0cxgMIAEoBFIOcnhNY2FzdFBhY2tldHMiRAoUR2V0T251UG9uT3B0aWNhbEluZm8SLAoFZW1wdHkYASABKAsyFi5nb29nbGUucHJvdG9idWYuRW1wdHlSBWVtcHR5IoQCChxHZXRPbnVQb25PcHRpY2FsSW5mb1Jlc3BvbnNlEioKEHBvd2VyRmVlZFZvbHRhZ2UYASABKAJSEHBvd2VyRmVlZFZvbHRhZ2USMgoUcmVjZWl2ZWRPcHRpY2FsUG93ZXIYAiABKAJSFHJlY2VpdmVkT3B0aWNhbFBvd2VyEjYKFm1lYW5PcHRpY2FsTGF1bmNoUG93ZXIYAyABKAJSFm1lYW5PcHRpY2FsTGF1bmNoUG93ZXISKgoQbGFzZXJCaWFzQ3VycmVudBgEIAEoAlIQbGFzZXJCaWFzQ3VycmVudBIgCgt0ZW1wZXJhdHVyZRgFIAEoAlILdGVtcGVyYXR1cmUirwEKH0dldE9udUV0aGVybmV0QnJpZGdlUG9ydEhpc3RvcnkSUgoJZGlyZWN0aW9uGAEgASgOMjQuZXh0ZW5zaW9uLkdldE9udUV0aGVybmV0QnJpZGdlUG9ydEhpc3RvcnkuRGlyZWN0aW9uUglkaXJlY3Rpb24iOAoJRGlyZWN0aW9uEg0KCVVOREVGSU5FRBAAEgwKCFVQU1RSRUFNEAESDgoKRE9XTlNUUkVBTRACIpMFCidHZXRPbnVFdGhlcm5ldEJyaWRnZVBvcnRIaXN0b3J5UmVzcG9uc2USHgoKZHJvcEV2ZW50cxgBIAEoDVIKZHJvcEV2ZW50cxIWCgZvY3RldHMYAiABKA1SBm9jdGV0cxIYCgdwYWNrZXRzGAMgASgNUgdwYWNrZXRzEioKEGJyb2FkY2FzdFBhY2tldHMYBCABKA1SEGJyb2FkY2FzdFBhY2tldHMSKgoQbXVsdGljYXN0UGFja2V0cxgFIAEoDVIQbXVsdGljYXN0UGFja2V0cxIsChFjcmNFcnJvcmVkUGFja2V0cxgGIAEoDVIRY3JjRXJyb3JlZFBhY2tldHMSKgoQdW5kZXJzaXplUGFja2V0cxgHIAEoDVIQdW5kZXJzaXplUGFja2V0cxIoCg9vdmVyc2l6ZVBhY2tldHMYCCABKA1SD292ZXJzaXplUGFja2V0cxIoCg9wYWNrZXRzNjRvY3RldHMYCSABKA1SD3BhY2tldHM2NG9jdGV0cxIyChRwYWNrZXRzNjVUbzEyN29jdGV0cxgKIAEoDVIUcGFja2V0czY1VG8xMjdvY3RldHMSNAoVcGFja2V0czEyOFRvMjU1T2N0ZXRzGAsgASgNUhVwYWNrZXRzMTI4VG8yNTVPY3RldHMSNAoVcGFja2V0czI1NlRvNTExb2N0ZXRzGAwgASgNUhVwYWNrZXRzMjU2VG81MTFvY3RldHMSNgoWcGFja2V0czUxMlRvMTAyM29jdGV0cxgNIAEoDVIWcGFja2V0czUxMlRvMTAyM29jdGV0cxI4ChdwYWNrZXRzMTAyNFRvMTUxOG9jdGV0cxgOIAEoDVIXcGFja2V0czEwMjRUbzE1MThvY3RldHMiQAoQR2V0T251RmVjSGlzdG9yeRIsCgVlbXB0eRgBIAEoCzIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eVIFZW1wdHki8gEKGEdldE9udUZlY0hpc3RvcnlSZXNwb25zZRImCg5jb3JyZWN0ZWRCeXRlcxgBIAEoDVIOY29ycmVjdGVkQnl0ZXMSLgoSY29ycmVjdGVkQ29kZVdvcmRzGAIgASgNUhJjb3JyZWN0ZWRDb2RlV29yZHMSHgoKZmVjU2Vjb25kcxgDIAEoDVIKZmVjU2Vjb25kcxImCg50b3RhbENvZGVXb3JkcxgEIAEoDVIOdG90YWxDb2RlV29yZHMSNgoWdW5jb3JyZWN0YWJsZUNvZGVXb3JkcxgFIAEoDVIWdW5jb3JyZWN0YWJsZUNvZGVXb3JkcyJHChVHZXRPbnVDb3VudGVyc1JlcXVlc3QSFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQijQEKJUdldE9tY2lFdGhlcm5ldEZyYW1lRXh0ZW5kZWRQbVJlcXVlc3QSIAoLb251RGV2aWNlSWQYASABKAlSC29udURldmljZUlkEhwKCHVuaUluZGV4GAIgASgNSABSCHVuaUluZGV4EhQKBXJlc2V0GAMgASgIUgVyZXNldEIOCgxpc191bmlfaW5kZXgiQwoRR2V0UnhQb3dlclJlcXVlc3QSFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQi5AwKFkdldE9udUNvdW50ZXJzUmVzcG9uc2USGQoHaW50Zl9pZBgBIAEoB0gAUgZpbnRmSWQSFwoGb251X2lkGAIgASgHSAFSBW9udUlkEicKDnBvc2l0aXZlX2RyaWZ0GAMgASgGSAJSDXBvc2l0aXZlRHJpZnQSJwoObmVnYXRpdmVfZHJpZnQYBCABKAZIA1INbmVnYXRpdmVEcmlmdBI6ChhkZWxpbWl0ZXJfbWlzc19kZXRlY3Rpb24YBSABKAZIBFIWZGVsaW1pdGVyTWlzc0RldGVjdGlvbhIfCgpiaXBfZXJyb3JzGAYgASgGSAVSCWJpcEVycm9ycxIdCgliaXBfdW5pdHMYByABKAZIBlIIYmlwVW5pdHMSNAoVZmVjX2NvcnJlY3RlZF9zeW1ib2xzGAggASgGSAdSE2ZlY0NvcnJlY3RlZFN5bWJvbHMSOAoXZmVjX2NvZGV3b3Jkc19jb3JyZWN0ZWQYCSABKAZICFIVZmVjQ29kZXdvcmRzQ29ycmVjdGVkEkAKG2ZlY19jb2Rld29yZHNfdW5jb3JyZWN0YWJsZRgKIAEoBkgJUhlmZWNDb2Rld29yZHNVbmNvcnJlY3RhYmxlEiUKDWZlY19jb2Rld29yZHMYCyABKAZIClIMZmVjQ29kZXdvcmRzEjAKE2ZlY19jb3JyZWN0ZWRfdW5pdHMYDCABKAZIC1IRZmVjQ29ycmVjdGVkVW5pdHMSKAoPeGdlbV9rZXlfZXJyb3JzGA0gASgGSAxSDXhnZW1LZXlFcnJvcnMSHQoJeGdlbV9sb3NzGA4gASgGSA1SCHhnZW1Mb3NzEigKD3J4X3Bsb2Ftc19lcnJvchgPIAEoBkgOUg1yeFBsb2Ftc0Vycm9yEi0KEnJ4X3Bsb2Ftc19ub25faWRsZRgQIAEoBkgPUg9yeFBsb2Ftc05vbklkbGUSGQoHcnhfb21jaRgRIAEoBkgQUgZyeE9tY2kSGQoHdHhfb21jaRgSIAEoBkgRUgZ0eE9tY2kSOgoZcnhfb21jaV9wYWNrZXRzX2NyY19lcnJvchgTIAEoBkgSUhVyeE9tY2lQYWNrZXRzQ3JjRXJyb3ISGwoIcnhfYnl0ZXMYFCABKAZIE1IHcnhCeXRlcxIfCgpyeF9wYWNrZXRzGBUgASgGSBRSCXJ4UGFja2V0cxIbCgh0eF9ieXRlcxgWIAEoBkgVUgd0eEJ5dGVzEh8KCnR4X3BhY2tldHMYFyABKAZIFlIJdHhQYWNrZXRzEiMKDGJlcl9yZXBvcnRlZBgYIAEoBkgXUgtiZXJSZXBvcnRlZBIhCgtsY2RnX2Vycm9ycxgZIAEoBkgYUgpsY2RnRXJyb3JzEh8KCnJkaV9lcnJvcnMYGiABKAZIGVIJcmRpRXJyb3JzEh4KCXRpbWVzdGFtcBgbIAEoB0gaUgl0aW1lc3RhbXBCDAoKaXNfaW50Zl9pZEILCglpc19vbnVfaWRCEwoRaXNfcG9zaXRpdmVfZHJpZnRCEwoRaXNfbmVnYXRpdmVfZHJpZnRCHQobaXNfZGVsaW1pdGVyX21pc3NfZGV0ZWN0aW9uQg8KDWlzX2JpcF9lcnJvcnNCDgoMaXNfYmlwX3VuaXRzQhoKGGlzX2ZlY19jb3JyZWN0ZWRfc3ltYm9sc0IcChppc19mZWNfY29kZXdvcmRzX2NvcnJlY3RlZEIgCh5pc19mZWNfY29kZXdvcmRzX3VuY29ycmVjdGFibGVCEgoQaXNfZmVjX2NvZGV3b3Jkc0IYChZpc19mZWNfY29ycmVjdGVkX3VuaXRzQhQKEmlzX3hnZW1fa2V5X2Vycm9yc0IOCgxpc194Z2VtX2xvc3NCFAoSaXNfcnhfcGxvYW1zX2Vycm9yQhcKFWlzX3J4X3Bsb2Ftc19ub25faWRsZUIMCgppc19yeF9vbWNpQgwKCmlzX3R4X29tY2lCHgocaXNfcnhfb21jaV9wYWNrZXRzX2NyY19lcnJvckINCgtpc19yeF9ieXRlc0IPCg1pc19yeF9wYWNrZXRzQg0KC2lzX3R4X2J5dGVzQg8KDWlzX3R4X3BhY2tldHNCEQoPaXNfYmVyX3JlcG9ydGVkQhAKDmlzX2xjZGdfZXJyb3JzQg8KDWlzX3JkaV9lcnJvcnNCDgoMaXNfdGltZXN0YW1wIowFChtPbWNpRXRoZXJuZXRGcmFtZUV4dGVuZGVkUG0SHwoLZHJvcF9ldmVudHMYASABKAZSCmRyb3BFdmVudHMSFgoGb2N0ZXRzGAIgASgGUgZvY3RldHMSFgoGZnJhbWVzGAMgASgGUgZmcmFtZXMSKQoQYnJvYWRjYXN0X2ZyYW1lcxgEIAEoBlIPYnJvYWRjYXN0RnJhbWVzEikKEG11bHRpY2FzdF9mcmFtZXMYBSABKAZSD211bHRpY2FzdEZyYW1lcxIsChJjcmNfZXJyb3JlZF9mcmFtZXMYBiABKAZSEGNyY0Vycm9yZWRGcmFtZXMSKQoQdW5kZXJzaXplX2ZyYW1lcxgHIAEoBlIPdW5kZXJzaXplRnJhbWVzEicKD292ZXJzaXplX2ZyYW1lcxgIIAEoBlIOb3ZlcnNpemVGcmFtZXMSKAoQZnJhbWVzXzY0X29jdGV0cxgJIAEoBlIOZnJhbWVzNjRPY3RldHMSNAoXZnJhbWVzXzY1X3RvXzEyN19vY3RldHMYCiABKAZSE2ZyYW1lczY1VG8xMjdPY3RldHMSNgoYZnJhbWVzXzEyOF90b18yNTVfb2N0ZXRzGAsgASgGUhRmcmFtZXMxMjhUbzI1NU9jdGV0cxI2ChhmcmFtZXNfMjU2X3RvXzUxMV9vY3RldHMYDCABKAZSFGZyYW1lczI1NlRvNTExT2N0ZXRzEjgKGWZyYW1lc181MTJfdG9fMTAyM19vY3RldHMYDSABKAZSFWZyYW1lczUxMlRvMTAyM09jdGV0cxI6ChpmcmFtZXNfMTAyNF90b18xNTE4X29jdGV0cxgOIAEoBlIWZnJhbWVzMTAyNFRvMTUxOE9jdGV0cyL0AgomR2V0T21jaUV0aGVybmV0RnJhbWVFeHRlbmRlZFBtUmVzcG9uc2USQgoIdXBzdHJlYW0YASABKAsyJi5leHRlbnNpb24uT21jaUV0aGVybmV0RnJhbWVFeHRlbmRlZFBtUgh1cHN0cmVhbRJGCgpkb3duc3RyZWFtGAIgASgLMiYuZXh0ZW5zaW9uLk9tY2lFdGhlcm5ldEZyYW1lRXh0ZW5kZWRQbVIKZG93bnN0cmVhbRKLAQomb21jaV9ldGhlcm5ldF9mcmFtZV9leHRlbmRlZF9wbV9mb3JtYXQYAyABKA4yOC5leHRlbnNpb24uR2V0T21jaUV0aGVybmV0RnJhbWVFeHRlbmRlZFBtUmVzcG9uc2UuRm9ybWF0UiFvbWNpRXRoZXJuZXRGcmFtZUV4dGVuZGVkUG1Gb3JtYXQiMAoGRm9ybWF0EhIKDlRISVJUWV9UV09fQklUEAASEgoOU0lYVFlfRk9VUl9CSVQQASKYAQoSR2V0UnhQb3dlclJlc3BvbnNlEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhYKBnN0YXR1cxgDIAEoCVIGc3RhdHVzEh8KC2ZhaWxfcmVhc29uGAQgASgJUgpmYWlsUmVhc29uEhkKCHJ4X3Bvd2VyGAUgASgBUgdyeFBvd2VyIoMFCg9HZXRWYWx1ZVJlcXVlc3QSOwoIZGlzdGFuY2UYASABKAsyHS5leHRlbnNpb24uR2V0RGlzdGFuY2VSZXF1ZXN0SABSCGRpc3RhbmNlEjsKB3VuaUluZm8YAiABKAsyHy5leHRlbnNpb24uR2V0T251VW5pSW5mb1JlcXVlc3RIAFIHdW5pSW5mbxJBCgtvbHRQb3J0SW5mbxgDIAEoCzIdLmV4dGVuc2lvbi5HZXRPbHRQb3J0Q291bnRlcnNIAFILb2x0UG9ydEluZm8SSQoOb251T3B0aWNhbEluZm8YBCABKAsyHy5leHRlbnNpb24uR2V0T251UG9uT3B0aWNhbEluZm9IAFIOb251T3B0aWNhbEluZm8SUgoNZXRoQnJpZGdlUG9ydBgFIAEoCzIqLmV4dGVuc2lvbi5HZXRPbnVFdGhlcm5ldEJyaWRnZVBvcnRIaXN0b3J5SABSDWV0aEJyaWRnZVBvcnQSPQoKZmVjSGlzdG9yeRgGIAEoCzIbLmV4dGVuc2lvbi5HZXRPbnVGZWNIaXN0b3J5SABSCmZlY0hpc3RvcnkSQgoKb251UG9uSW5mbxgHIAEoCzIgLmV4dGVuc2lvbi5HZXRPbnVDb3VudGVyc1JlcXVlc3RIAFIKb251UG9uSW5mbxJMCgdvbnVJbmZvGAggASgLMjAuZXh0ZW5zaW9uLkdldE9tY2lFdGhlcm5ldEZyYW1lRXh0ZW5kZWRQbVJlcXVlc3RIAFIHb251SW5mbxI4CgdyeFBvd2VyGAkgASgLMhwuZXh0ZW5zaW9uLkdldFJ4UG93ZXJSZXF1ZXN0SABSB3J4UG93ZXJCCQoHcmVxdWVzdCKqCAoQR2V0VmFsdWVSZXNwb25zZRI6CgZzdGF0dXMYASABKA4yIi5leHRlbnNpb24uR2V0VmFsdWVSZXNwb25zZS5TdGF0dXNSBnN0YXR1cxJFCgllcnJSZWFzb24YAiABKA4yJy5leHRlbnNpb24uR2V0VmFsdWVSZXNwb25zZS5FcnJvclJlYXNvblIJZXJyUmVhc29uEjwKCGRpc3RhbmNlGAMgASgLMh4uZXh0ZW5zaW9uLkdldERpc3RhbmNlUmVzcG9uc2VIAFIIZGlzdGFuY2USPAoHdW5pSW5mbxgEIAEoCzIgLmV4dGVuc2lvbi5HZXRPbnVVbmlJbmZvUmVzcG9uc2VIAFIHdW5pSW5mbxJLCgxwb3J0Q291dG5lcnMYBSABKAsyJS5leHRlbnNpb24uR2V0T2x0UG9ydENvdW50ZXJzUmVzcG9uc2VIAFIMcG9ydENvdXRuZXJzElEKDm9udU9wdGljYWxJbmZvGAYgASgLMicuZXh0ZW5zaW9uLkdldE9udVBvbk9wdGljYWxJbmZvUmVzcG9uc2VIAFIOb251T3B0aWNhbEluZm8SYgoRZXRoQnJpZGdlUG9ydEluZm8YByABKAsyMi5leHRlbnNpb24uR2V0T251RXRoZXJuZXRCcmlkZ2VQb3J0SGlzdG9yeVJlc3BvbnNlSABSEWV0aEJyaWRnZVBvcnRJbmZvEkUKCmZlY0hpc3RvcnkYCCABKAsyIy5leHRlbnNpb24uR2V0T251RmVjSGlzdG9yeVJlc3BvbnNlSABSCmZlY0hpc3RvcnkSSwoOb251UG9uQ291bnRlcnMYCSABKAsyIS5leHRlbnNpb24uR2V0T251Q291bnRlcnNSZXNwb25zZUgAUg5vbnVQb25Db3VudGVycxJVCgtvbnVDb3VudGVycxgKIAEoCzIxLmV4dGVuc2lvbi5HZXRPbWNpRXRoZXJuZXRGcmFtZUV4dGVuZGVkUG1SZXNwb25zZUgAUgtvbnVDb3VudGVycxI5CgdyeFBvd2VyGAsgASgLMh0uZXh0ZW5zaW9uLkdldFJ4UG93ZXJSZXNwb25zZUgAUgdyeFBvd2VyIjEKBlN0YXR1cxIUChBTVEFUVVNfVU5ERUZJTkVEEAASBgoCT0sQARIJCgVFUlJPUhACIq0BCgtFcnJvclJlYXNvbhIUChBSRUFTT05fVU5ERUZJTkVEEAASDwoLVU5TVVBQT1JURUQQARIVChFJTlZBTElEX0RFVklDRV9JRBACEhUKEUlOVkFMSURfUE9SVF9UWVBFEAMSCwoHVElNRU9VVBAEEhQKEElOVkFMSURfUkVRX1RZUEUQBRISCg5JTlRFUk5BTF9FUlJPUhAGEhIKDklOVkFMSURfREVWSUNFEAdCCgoIcmVzcG9uc2UiVgoPU2V0VmFsdWVSZXF1ZXN0EjgKDGFsYXJtX2NvbmZpZxgBIAEoCzITLmNvbmZpZy5BbGFybUNvbmZpZ0gAUgthbGFybUNvbmZpZ0IJCgdyZXF1ZXN0Iv4BChBTZXRWYWx1ZVJlc3BvbnNlEjoKBnN0YXR1cxgBIAEoDjIiLmV4dGVuc2lvbi5TZXRWYWx1ZVJlc3BvbnNlLlN0YXR1c1IGc3RhdHVzEkUKCWVyclJlYXNvbhgCIAEoDjInLmV4dGVuc2lvbi5TZXRWYWx1ZVJlc3BvbnNlLkVycm9yUmVhc29uUgllcnJSZWFzb24iMQoGU3RhdHVzEhQKEFNUQVRVU19VTkRFRklORUQQABIGCgJPSxABEgkKBUVSUk9SEAIiNAoLRXJyb3JSZWFzb24SFAoQUkVBU09OX1VOREVGSU5FRBAAEg8KC1VOU1VQUE9SVEVEEAEiaQoVU2luZ2xlR2V0VmFsdWVSZXF1ZXN0EhoKCHRhcmdldElkGAEgASgJUgh0YXJnZXRJZBI0CgdyZXF1ZXN0GAIgASgLMhouZXh0ZW5zaW9uLkdldFZhbHVlUmVxdWVzdFIHcmVxdWVzdCJRChZTaW5nbGVHZXRWYWx1ZVJlc3BvbnNlEjcKCHJlc3BvbnNlGAEgASgLMhsuZXh0ZW5zaW9uLkdldFZhbHVlUmVzcG9uc2VSCHJlc3BvbnNlImkKFVNpbmdsZVNldFZhbHVlUmVxdWVzdBIaCgh0YXJnZXRJZBgBIAEoCVIIdGFyZ2V0SWQSNAoHcmVxdWVzdBgCIAEoCzIaLmV4dGVuc2lvbi5TZXRWYWx1ZVJlcXVlc3RSB3JlcXVlc3QiUQoWU2luZ2xlU2V0VmFsdWVSZXNwb25zZRI3CghyZXNwb25zZRgBIAEoCzIbLmV4dGVuc2lvbi5TZXRWYWx1ZVJlc3BvbnNlUghyZXNwb25zZTKzAQoJRXh0ZW5zaW9uElIKC0dldEV4dFZhbHVlEiAuZXh0ZW5zaW9uLlNpbmdsZUdldFZhbHVlUmVxdWVzdBohLmV4dGVuc2lvbi5TaW5nbGVHZXRWYWx1ZVJlc3BvbnNlElIKC1NldEV4dFZhbHVlEiAuZXh0ZW5zaW9uLlNpbmdsZVNldFZhbHVlUmVxdWVzdBohLmV4dGVuc2lvbi5TaW5nbGVTZXRWYWx1ZVJlc3BvbnNlQlIKHW9yZy5vcGVuY29yZC52b2x0aGEuZXh0ZW5zaW9uWjFnaXRodWIuY29tL29wZW5jb3JkL3ZvbHRoYS1wcm90b3MvdjUvZ28vZXh0ZW5zaW9uSrR5CgcSBQ4AnwMBCtEECgEMEgMOABIyxgQgQ29weXJpZ2h0IChjKSAyMDE4IE9wZW4gTmV0d29ya2luZyBGb3VuZGF0aW9uCgogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQ6CgogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgoKCAoBCBIDEABICgkKAggLEgMQAEgKCAoBCBIDEQA2CgkK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ZBgBIAEoDVIHY2xhc3NJZBISCgRuYW1lGAIgASgJUgRuYW1lIjAKC01lc3NhZ2VUeXBlEiEKDG1lc3NhZ2VfdHlwZRgBIAEoDVILbWVzc2FnZVR5cGUi0AIKDU1pYkRldmljZURhdGESGwoJZGV2aWNlX2lkGAEgASgJUghkZXZpY2VJZBIYCgdjcmVhdGVkGAIgASgJUgdjcmVhdGVkEiQKDmxhc3Rfc3luY190aW1lGAMgASgJUgxsYXN0U3luY1RpbWUSIgoNbWliX2RhdGFfc3luYxgEIAEoDVILbWliRGF0YVN5bmMSGAoHdmVyc2lvbhgFIAEoDVIHdmVyc2lvbhIsCgdjbGFzc2VzGAYgAygLMhIub21jaS5NaWJDbGFzc0RhdGFSB2NsYXNzZXMSPgoQbWFuYWdlZF9lbnRpdGllcxgHIAMoCzITLm9tY2kuTWFuYWdlZEVudGl0eVIPbWFuYWdlZEVudGl0aWVzEjYKDW1lc3NhZ2VfdHlwZXMYCCADKAsyES5vbWNpLk1lc3NhZ2VUeXBlUgxtZXNzYWdlVHlwZXMiLgoRT3Blbk9tY2lFdmVudFR5cGUiGQoFVHlwZXMSEAoMc3RhdGVfY2hhbmdlEAAiVgoNT3Blbk9tY2lFdmVudBIxCgR0eXBlGAEgASgOMh0ub21jaS5PcGVuT21jaUV2ZW50VHlwZS5UeXBlc1IEdHlwZRISCgRkYXRhGAIgASgJUgRkYXRhQkgKGG9yZy5vcGVuY29yZC52b2x0aGEub21jaVosZ2l0aHViLmNvbS9vcGVuY29yZC92b2x0aGEtcHJvdG9zL3Y1L2dvL29tY2lKtxMKBhIEDwBJAQreBAoBDBIDDwASGtMECiBDb3B5cmlnaHQgMjAxOCAtIHByZXNlbnQgdGhlIG9yaWdpbmFsIGF1dGhvciBvciBhdXRob3JzLgoKIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CgogICAgICBo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DG1lc3NhZ2VfdHlwZRgBIAEoDVILbWVzc2FnZVR5cGUi6gIKD0FsYXJtRGV2aWNlRGF0YRIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEhgKB2NyZWF0ZWQYAiABKAlSB2NyZWF0ZWQSLgoTbGFzdF9hbGFybV9zZXF1ZW5jZRgDIAEoDVIRbGFzdEFsYXJtU2VxdWVuY2USJAoObGFzdF9zeW5jX3RpbWUYBCABKAlSDGxhc3RTeW5jVGltZRIYCgd2ZXJzaW9uGAUgASgNUgd2ZXJzaW9uEi4KB2NsYXNzZXMYBiADKAsyFC5vbWNpLkFsYXJtQ2xhc3NEYXRhUgdjbGFzc2VzEkMKEG1hbmFnZWRfZW50aXRpZXMYByADKAsyGC5vbWNpLkFsYXJtTWFuYWdlZEVudGl0eVIPbWFuYWdlZEVudGl0aWVzEjsKDW1lc3NhZ2VfdHlwZXMYCCADKAsyFi5vbWNpLkFsYXJtTWVzc2FnZVR5cGVSDG1lc3NhZ2VUeXBlcyI/ChZBbGFybU9wZW5PbWNpRXZlbnRUeXBlIiUKEU9wZW5PbWNpRXZlbnRUeXBlEhAKDHN0YXRlX2NoYW5nZRAAImwKEkFsYXJtT3Blbk9tY2lFdmVudBJCCgR0eXBlGAEgASgOMi4ub21jaS5BbGFybU9wZW5PbWNpRXZlbnRUeXBlLk9wZW5PbWNpRXZlbnRUeXBlUgR0eXBlEhIKBGRhdGEYAiABKAlSBGRhdGFCSAoYb3JnLm9wZW5jb3JkLnZvbHRoYS5vbWNpWixnaXRodWIuY29tL29wZW5jb3JkL3ZvbHRoYS1wcm90b3MvdjUvZ28vb21jaUq3EwoGEgQPAEsBCt4ECgEMEgMPABIa0wQKIENvcHlyaWdodCAyMDE4IC0gcHJlc2VudCB0aGUgb3JpZ2luYWwgYXV0aG9yIG9yIGF1dGhvcnMuCgogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2Ug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AAMSAwkQEQoLCgQEAAIBEgMKBBQKDQoFBAACAQQSBAoECRIKDAoFBAACAQUSAwoECgoMCgUEAAIBARIDCgsPCgwKBQQAAgEDEgMKEhMKCgoCBAESBA0AEwEKCgoDBAEBEgMNCBQKDAoEBAEEABIEDgQRBQoMCgUEAQQAARIDDgkbCg0KBgQBBAACABIDDwgUCg4KBwQBBAACAAESAw8IDwoOCgcEAQQAAgACEgMPEhMKDQoGBAEEAAIBEgMQCBQKDgoHBAEEAAIBARIDEAgPCg4KBwQBBAACAQISAxASEwoLCgQEAQIAEgMSBCIKDQoFBAECAAQSBBIEEQUKDAoFBAECAAYSAxIEFgoMCgUEAQIAARIDEhcdCgwKBQQBAgADEgMSICFiBnByb3RvMwrcnQEKGnZvbHRoYV9wcm90b3Mvdm9sdGhhLnByb3RvEgZ2b2x0aGEaHGdvb2dsZS9hcGkvYW5ub3RhdGlvbnMucHJvdG8aG2dvb2dsZS9wcm90b2J1Zi9lbXB0eS5wcm90bxoadm9sdGhhX3Byb3Rvcy9jb21tb24ucHJvdG8aGnZvbHRoYV9wcm90b3MvaGVhbHRoLnByb3RvGiJ2b2x0aGFfcHJvdG9zL2xvZ2ljYWxfZGV2aWNlLnByb3RvGhp2b2x0aGFfcHJvdG9zL2RldmljZS5wcm90bxobdm9sdGhhX3Byb3Rvcy9hZGFwdGVyLnByb3RvGh92b2x0aGFfcHJvdG9zL29wZW5mbG93XzEzLnByb3RvGhp2b2x0aGFfcHJvdG9zL2V2ZW50cy5wcm90bxoedm9sdGhhX3Byb3Rvcy9leHRlbnNpb25zLnByb3RvGh92b2x0aGFfcHJvdG9zL29tY2lfbWliX2RiLnByb3RvGiF2b2x0aGFfcHJvdG9zL29tY2lfYWxhcm1fZGIucHJvdG8aHXZvbHRoYV9wcm90b3Mvb21jaV90ZXN0LnByb3RvIl0KDENvcmVJbnN0YW5jZRIfCgtpbnN0YW5jZV9pZBgBIAEoCVIKaW5zdGFuY2VJZBIsCgZoZWFsdGgYAiABKAsyFC5oZWFsdGguSGVhbHRoU3RhdHVzUgZoZWFsdGgiOwoNQ29yZUluc3RhbmNlcxIqCgVpdGVtcxgBIAMoCzIULnZvbHRoYS5Db3JlSW5zdGFuY2VSBWl0ZW1zIsADCgZWb2x0aGESGAoHdmVyc2lvbhgBIAEoCVIHdmVyc2lvbhIsCghhZGFwdGVycxgCIAMoCzIQLmFkYXB0ZXIuQWRhcHRlclIIYWRhcHRlcnMSRgoPbG9naWNhbF9kZXZpY2VzGAMgAygLMh0ubG9naWNhbF9kZXZpY2UuTG9naWNhbERldmljZVIObG9naWNhbERldmljZXMSKAoHZGV2aWNlcxgEIAMoCzIOLmRldmljZS5EZXZpY2VSB2RldmljZXMSNQoMZGV2aWNlX3R5cGVzGAUgAygLMhIuZGV2aWNlLkRldmljZVR5cGVSC2RldmljZVR5cGVzEjcKDWV2ZW50X2ZpbHRlcnMYByADKAsyEi5ldmVudC5FdmVudEZpbHRlclIMZXZlbnRGaWx0ZXJzEj8KEW9tY2lfbWliX2RhdGFiYXNlGBwgAygLMhMub21jaS5NaWJEZXZpY2VEYXRhUg9vbWNpTWliRGF0YWJhc2USRQoTb21jaV9hbGFybV9kYXRhYmFzZRgdIAMoCzIVLm9tY2kuQWxhcm1EZXZpY2VEYXRhUhFvbWNpQWxhcm1EYXRhYmFzZUoECAYQBzLHMwoNVm9sdGhhU2VydmljZRJECglHZXRWb2x0aGESFi5nb29nbGUucHJvdG9idWYuRW1wdHkaDi52b2x0aGEuVm9sdGhhIg+C0+STAgkSBy9hcGkvdjESXQoRTGlzdENvcmVJbnN0YW5jZXMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaFS52b2x0aGEuQ29yZUluc3RhbmNlcyIZgtPkkwITEhEvYXBpL3YxL2luc3RhbmNlcxJTCg9HZXRDb3JlSW5zdGFuY2USCi5jb21tb24uSUQaFC52b2x0aGEuQ29yZUluc3RhbmNlIh6C0+STAhgSFi9hcGkvdjEvaW5zdGFuY2VzL3tpZH0SUwoMTGlzdEFkYXB0ZXJzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhEuYWRhcHRlci5BZGFwdGVycyIYgtPkkwISEhAvYXBpL3YxL2FkYXB0ZXJzEm0KEkxpc3RMb2dpY2FsRGV2aWNlcxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoeLmxvZ2ljYWxfZGV2aWNlLkxvZ2ljYWxEZXZpY2VzIh+C0+STAhkSFy9hcGkvdjEvbG9naWNhbF9kZXZpY2VzEmMKEEdldExvZ2ljYWxEZXZpY2USCi5jb21tb24uSUQaHS5sb2dpY2FsX2RldmljZS5Mb2dpY2FsRGV2aWNlIiSC0+STAh4SHC9hcGkvdjEvbG9naWNhbF9kZXZpY2VzL3tpZH0SbgoWTGlzdExvZ2ljYWxEZXZpY2VQb3J0cxIKLmNvbW1vbi5JRBocLmxvZ2ljYWxfZGV2aWNlLkxvZ2ljYWxQb3J0cyIqgtPkkwIkEiIvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9L3BvcnRzEogBChRHZXRMb2dpY2FsRGV2aWNlUG9ydBIdLmxvZ2ljYWxfZGV2aWNlLkxvZ2ljYWxQb3J0SWQaGy5sb2dpY2FsX2RldmljZS5Mb2dpY2FsUG9ydCI0gtPkkwIuEiwvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9L3BvcnRzL3twb3J0X2lkfRKNAQoXRW5hYmxlTG9naWNhbERldmljZVBvcnQSHS5sb2dpY2FsX2RldmljZS5Mb2dpY2FsUG9ydElkGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjuC0+STAjUiMy9hcGkvdjEvbG9naWNhbF9kZXZpY2VzL3tpZH0vcG9ydHMve3BvcnRfaWR9L2VuYWJsZRKPAQoYRGlzYWJsZUxvZ2ljYWxEZXZpY2VQb3J0Eh0ubG9naWNhbF9kZXZpY2UuTG9naWNhbFBvcnRJZBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI8gtPkkwI2IjQvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9L3BvcnRzL3twb3J0X2lkfS9kaXNhYmxlEmQKFkxpc3RMb2dpY2FsRGV2aWNlRmxvd3MSCi5jb21tb24uSUQaEi5vcGVuZmxvd18xMy5GbG93cyIqgtPkkwIkEiIvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9L2Zsb3dzEoMBChxVcGRhdGVMb2dpY2FsRGV2aWNlRmxvd1RhYmxlEhwub3BlbmZsb3dfMTMuRmxvd1RhYmxlVXBkYXRlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ii2C0+STAiciIi9hcGkvdjEvbG9naWNhbF9kZXZpY2VzL3tpZH0vZmxvd3M6ASoShAEKHVVwZGF0ZUxvZ2ljYWxEZXZpY2VNZXRlclRhYmxlEhsub3BlbmZsb3dfMTMuTWV0ZXJNb2RVcGRhdGUaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiLoLT5JMCKCIjL2FwaS92MS9sb2dpY2FsX2RldmljZXMve2lkfS9tZXRlcnM6ASoSZwoXTGlzdExvZ2ljYWxEZXZpY2VNZXRlcnMSCi5jb21tb24uSUQaEy5vcGVuZmxvd18xMy5NZXRlcnMiK4LT5JMCJRIjL2FwaS92MS9sb2dpY2FsX2RldmljZXMve2lkfS9tZXRlcnMSdAobTGlzdExvZ2ljYWxEZXZpY2VGbG93R3JvdXBzEgouY29tbW9uLklEGhcub3BlbmZsb3dfMTMuRmxvd0dyb3VwcyIwgtPkkwIqEigvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9L2Zsb3dfZ3JvdXBzEpMBCiFVcGRhdGVMb2dpY2FsRGV2aWNlRmxvd0dyb3VwVGFibGUSIS5vcGVuZmxvd18xMy5GbG93R3JvdXBUYWJsZVVwZGF0ZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIzgtPkkwItIigvYXBpL3YxL2xvZ2ljYWxfZGV2aWNlcy97aWR9L2Zsb3dfZ3JvdXBzOgEqEk8KC0xpc3REZXZpY2VzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Gg8uZGV2aWNlLkRldmljZXMiF4LT5JMCERIPL2FwaS92MS9kZXZpY2VzEk8KDUxpc3REZXZpY2VJZHMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaCy5jb21tb24uSURzIhmC0+STAhMSES9hcGkvdjEvZGV2aWNlaWRzElUKEFJlY29uY2lsZURldmljZXMSCy5jb21tb24uSURzGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IhyC0+STAhYiES9hcGkvdjEvZGV2aWNlaWRzOgEqEkUKCUdldERldmljZRIKLmNvbW1vbi5JRBoOLmRldmljZS5EZXZpY2UiHILT5JMCFhIUL2FwaS92MS9kZXZpY2VzL3tpZH0SSgoMQ3JlYXRlRGV2aWNlEg4uZGV2aWNlLkRldmljZRoOLmRldmljZS5EZXZpY2UiGoLT5JMCFCIPL2FwaS92MS9kZXZpY2VzOgEqElcKDEVuYWJsZURldmljZRIKLmNvbW1vbi5JRBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIjgtPkkwIdIhsvYXBpL3YxL2RldmljZXMve2lkfS9lbmFibGUSWQoNRGlzYWJsZURldmljZRIKLmNvbW1vbi5JRBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIkgtPkkwIeIhwvYXBpL3YxL2RldmljZXMve2lkfS9kaXNhYmxlElcKDFJlYm9vdERldmljZRIKLmNvbW1vbi5JRBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIjgtPkkwIdIhsvYXBpL3YxL2RldmljZXMve2lkfS9yZWJvb3QSVwoMRGVsZXRlRGV2aWNlEgouY29tbW9uLklEGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiOC0+STAh0qGy9hcGkvdjEvZGV2aWNlcy97aWR9L2RlbGV0ZRJiChFGb3JjZURlbGV0ZURldmljZRIKLmNvbW1vbi5JRBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIpgtPkkwIjKiEvYXBpL3YxL2RldmljZXMve2lkfS9mb3JjZV9kZWxldGUSeAoNRG93bmxvYWRJbWFnZRIVLmRldmljZS5JbWFnZURvd25sb2FkGhUuY29tbW9uLk9wZXJhdGlvblJlc3AiOYgCAYLT5JMCMCIrL2FwaS92MS9kZXZpY2VzL3tpZH0vaW1hZ2VfZG93bmxvYWRzL3tuYW1lfToBKhKFAQoWR2V0SW1hZ2VEb3dubG9hZFN0YXR1cxIVLmRldmljZS5JbWFnZURvd25sb2FkGhUuZGV2aWNlLkltYWdlRG93bmxvYWQiPYgCAYLT5JMCNBIyL2FwaS92MS9kZXZpY2VzL3tpZH0vaW1hZ2VfZG93bmxvYWRzL3tuYW1lfS9zdGF0dXMSeAoQR2V0SW1hZ2VEb3dubG9hZBIVLmRldmljZS5JbWFnZURvd25sb2FkGhUuZGV2aWNlLkltYWdlRG93bmxvYWQiNogCAYLT5JMCLRIrL2FwaS92MS9kZXZpY2VzL3tpZH0vaW1hZ2VfZG93bmxvYWRzL3tuYW1lfRJpChJMaXN0SW1hZ2VEb3dubG9hZHMSCi5jb21tb24uSUQaFi5kZXZpY2UuSW1hZ2VEb3dubG9hZHMiL4gCAYLT5JMCJhIkL2FwaS92MS9kZXZpY2VzL3tpZH0vaW1hZ2VfZG93bmxvYWRzEnsKE0NhbmNlbEltYWdlRG93bmxvYWQSFS5kZXZpY2UuSW1hZ2VEb3dubG9hZBoVLmNvbW1vbi5PcGVyYXRpb25SZXNwIjaIAgGC0+STAi0qKy9hcGkvdjEvZGV2aWNlcy97aWR9L2ltYWdlX2Rvd25sb2Fkcy97bmFtZX0SiwEKE0FjdGl2YXRlSW1hZ2VVcGRhdGUSFS5kZXZpY2UuSW1hZ2VEb3dubG9hZBoVLmNvbW1vbi5PcGVyYXRpb25SZXNwIkaIAgGC0+STAj0iOC9hcGkvdjEvZGV2aWNlcy97aWR9L2ltYWdlX2Rvd25sb2Fkcy97bmFtZX0vaW1hZ2VfdXBkYXRlOgEqEokBChFSZXZlcnRJbWFnZVVwZGF0ZRIVLmRldmljZS5JbWFnZURvd25sb2FkGhUuY29tbW9uLk9wZXJhdGlvblJlc3AiRogCAYLT5JMCPSI4L2FwaS92MS9kZXZpY2VzL3tpZH0vaW1hZ2VfZG93bmxvYWRzL3tuYW1lfS9pbWFnZV9yZXZlcnQ6ASoSiAEKFURvd25sb2FkSW1hZ2VUb0RldmljZRIiLmRldmljZS5EZXZpY2VJbWFnZURvd25sb2FkUmVxdWVzdBobLmRldmljZS5EZXZpY2VJbWFnZVJlc3BvbnNlIi6C0+STAigSJi9hcGkvdjEvZGV2aWNlcy9pbWFnZXMvZG93bmxvYWRfaW1hZ2VzEncKDkdldEltYWdlU3RhdHVzEhouZGV2aWNlLkRldmljZUltYWdlUmVxdWVzdBobLmRldmljZS5EZXZpY2VJbWFnZVJlc3BvbnNlIiyC0+STAiYSJC9hcGkvdjEvZGV2aWNlcy9pbWFnZXMvaW1hZ2VzX3N0YXR1cxKJAQoZQWJvcnRJbWFnZVVwZ3JhZGVUb0RldmljZRIaLmRldmljZS5EZXZpY2VJbWFnZVJlcXVlc3QaGy5kZXZpY2UuRGV2aWNlSW1hZ2VSZXNwb25zZSIzgtPkkwItEisvYXBpL3YxL2RldmljZXMvaW1hZ2VzL2Fib3J0X3VwZ3JhZGVfaW1hZ2VzElYKDEdldE9udUltYWdlcxIKLmNvbW1vbi5JRBoRLmRldmljZS5PbnVJbWFnZXMiJ4LT5JMCIRIfL2FwaS92MS9kZXZpY2VzL3tpZH0vb251X2ltYWdlcxJ7Cg1BY3RpdmF0ZUltYWdlEhouZGV2aWNlLkRldmljZUltYWdlUmVxdWVzdBobLmRldmljZS5EZXZpY2VJbWFnZVJlc3BvbnNlIjGC0+STAisiJi9hcGkvdjEvZGV2aWNlcy9pbWFnZXMvYWN0aXZhdGVfaW1hZ2VzOgEqEncKC0NvbW1pdEltYWdlEhouZGV2aWNlLkRldmljZUltYWdlUmVxdWVzdBobLmRldmljZS5EZXZpY2VJbWFnZVJlc3BvbnNlIi+C0+STAikiJC9hcGkvdjEvZGV2aWNlcy9pbWFnZXMvY29tbWl0X2ltYWdlczoBKhJQCg9MaXN0RGV2aWNlUG9ydHMSCi5jb21tb24uSUQaDS5kZXZpY2UuUG9ydHMiIoLT5JMCHBIaL2FwaS92MS9kZXZpY2VzL3tpZH0vcG9ydHMSXQoTTGlzdERldmljZVBtQ29uZmlncxIKLmNvbW1vbi5JRBoRLmRldmljZS5QbUNvbmZpZ3MiJ4LT5JMCIRIfL2FwaS92MS9kZXZpY2VzL3tpZH0vcG1fY29uZmlncxJuChVVcGRhdGVEZXZpY2VQbUNvbmZpZ3MSES5kZXZpY2UuUG1Db25maWdzGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiqC0+STAiQiHy9hcGkvdjEvZGV2aWNlcy97aWR9L3BtX2NvbmZpZ3M6ASoSVQoPTGlzdERldmljZUZsb3dzEgouY29tbW9uLklEGhIub3BlbmZsb3dfMTMuRmxvd3MiIoLT5JMCHBIaL2FwaS92MS9kZXZpY2VzL3tpZH0vZmxvd3MSZQoUTGlzdERldmljZUZsb3dHcm91cHMSCi5jb21tb24uSUQaFy5vcGVuZmxvd18xMy5GbG93R3JvdXBzIiiC0+STAiISIC9hcGkvdjEvZGV2aWNlcy97aWR9L2Zsb3dfZ3JvdXBzElwKD0xpc3REZXZpY2VUeXBlcxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoTLmRldmljZS5EZXZpY2VUeXBlcyIcgtPkkwIWEhQvYXBpL3YxL2RldmljZV90eXBlcxJSCg1HZXREZXZpY2VUeXBlEgouY29tbW9uLklEGhIuZGV2aWNlLkRldmljZVR5cGUiIYLT5JMCGxIZL2FwaS92MS9kZXZpY2VfdHlwZXMve2lkfRJGChBTdHJlYW1QYWNrZXRzT3V0EhYub3BlbmZsb3dfMTMuUGFja2V0T3V0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IgAoARJFChBSZWNlaXZlUGFja2V0c0luEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhUub3BlbmZsb3dfMTMuUGFja2V0SW4iADABEksKE1JlY2VpdmVDaGFuZ2VFdmVudHMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaGC5vcGVuZmxvd18xMy5DaGFuZ2VFdmVudCIAMAESXQoRQ3JlYXRlRXZlbnRGaWx0ZXISEi5ldmVudC5FdmVudEZpbHRlchoSLmV2ZW50LkV2ZW50RmlsdGVyIiCC0+STAhoiFS9hcGkvdjEvZXZlbnRfZmlsdGVyczoBKhJVCg5HZXRFdmVudEZpbHRlchIKLmNvbW1vbi5JRBoTLmV2ZW50LkV2ZW50RmlsdGVycyIigtPkkwIcEhovYXBpL3YxL2V2ZW50X2ZpbHRlcnMve2lkfRJiChFVcGRhdGVFdmVudEZpbHRlchISLmV2ZW50LkV2ZW50RmlsdGVyGhIuZXZlbnQuRXZlbnRGaWx0ZXIiJYLT5JMCHxoaL2FwaS92MS9ldmVudF9maWx0ZXJzL3tpZH06ASoSYwoRRGVsZXRlRXZlbnRGaWx0ZXISEi5ldmVudC5FdmVudEZpbHRlchoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIigtPkkwIcKhovYXBpL3YxL2V2ZW50X2ZpbHRlcnMve2lkfRJeChBMaXN0RXZlbnRGaWx0ZXJzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhMuZXZlbnQuRXZlbnRGaWx0ZXJzIh2C0+STAhcSFS9hcGkvdjEvZXZlbnRfZmlsdGVycxJMCglHZXRJbWFnZXMSCi5jb21tb24uSUQaDi5kZXZpY2UuSW1hZ2VzIiOC0+STAh0SGy9hcGkvdjEvZGV2aWNlcy97aWR9L2ltYWdlcxJYCghTZWxmVGVzdBIKLmNvbW1vbi5JRBoYLmRldmljZS5TZWxmVGVzdFJlc3BvbnNlIiaC0+STAiAiHi9hcGkvdjEvZGV2aWNlcy97aWR9L3NlbGZfdGVzdBJWChBHZXRNaWJEZXZpY2VEYXRhEgouY29tbW9uLklEGhMub21jaS5NaWJEZXZpY2VEYXRhIiGC0+STAhsSGS9hcGkvdjEvb3Blbm9tY2kve2lkfS9taWISXAoSR2V0QWxhcm1EZXZpY2VEYXRhEgouY29tbW9uLklEGhUub21jaS5BbGFybURldmljZURhdGEiI4LT5JMCHRIbL2FwaS92MS9vcGVub21jaS97aWR9L2FsYXJtEnMKDVNpbXVsYXRlQWxhcm0SHC5kZXZpY2UuU2ltdWxhdGVBbGFybVJlcXVlc3QaFS5jb21tb24uT3BlcmF0aW9uUmVzcCItgtPkkwInIiIvYXBpL3YxL2RldmljZXMve2lkfS9zaW11bGF0ZV9sYXJtOgEqEk0KCkVuYWJsZVBvcnQSDC5kZXZpY2UuUG9ydBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIZgtPkkwITIg4vdjEvRW5hYmxlUG9ydDoBKhJPCgtEaXNhYmxlUG9ydBIMLmRldmljZS5Qb3J0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IhqC0+STAhQiDy92MS9EaXNhYmxlUG9ydDoBKhJeCgtHZXRFeHRWYWx1ZRIZLmV4dGVuc2lvbi5WYWx1ZVNwZWNpZmllchoXLmV4dGVuc2lvbi5SZXR1cm5WYWx1ZXMiG4LT5JMCFRITL2FwaS92MS9HZXRFeHRWYWx1ZRJXCgtTZXRFeHRWYWx1ZRITLmV4dGVuc2lvbi5WYWx1ZVNldBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIbgtPkkwIVEhMvYXBpL3YxL1NldEV4dFZhbHVlEmQKE1N0YXJ0T21jaVRlc3RBY3Rpb24SFS5vbWNpLk9tY2lUZXN0UmVxdWVzdBoSLm9tY2kuVGVzdFJlc3BvbnNlIiKC0+STAhwiFy9hcGkvdjEvc3RhcnRfb21jaV90ZXN0OgEqQmwKE29yZy5vcGVuY29yZC52b2x0aGFCDFZvbHRoYVByb3Rvc1ouZ2l0aHViLmNvbS9vcGVuY29yZC92b2x0aGEtcHJvdG9zL3Y1L2dvL3ZvbHRoYaoCFk9wZW5jb3JkLlZvbHRoYS5Wb2x0aGFKhGEKBxIFBgDCBAEKXAoBDBIDBgASMlIKIFRvcC1sZXZlbCBWb2x0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cm90b3MvZXh0ZW5zaW9ucy5wcm90bxoddm9sdGhhX3Byb3Rvcy9vbWNpX3Rlc3QucHJvdG8ibgoTQWRhcHRlclJlZ2lzdHJhdGlvbhIqCgdhZGFwdGVyGAEgASgLMhAuYWRhcHRlci5BZGFwdGVyUgdhZGFwdGVyEisKBmRUeXBlcxgCIAEoCzITLmRldmljZS5EZXZpY2VUeXBlc1IGZFR5cGVzIpIBChFDaGlsZERldmljZUZpbHRlchIbCglwYXJlbnRfaWQYASABKAlSCHBhcmVudElkEiMKDXNlcmlhbF9udW1iZXIYAiABKAlSDHNlcmlhbE51bWJlchIVCgZvbnVfaWQYAyABKA1SBW9udUlkEiQKDnBhcmVudF9wb3J0X25vGAQgASgNUgxwYXJlbnRQb3J0Tm8icQoKUG9ydEZpbHRlchIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEhIKBHBvcnQYAiABKA1SBHBvcnQSMgoJcG9ydF90eXBlGAMgASgOMhUuZGV2aWNlLlBvcnQuUG9ydFR5cGVSCHBvcnRUeXBlIvgBCg9EZXZpY2VEaXNjb3ZlcnkSGwoJcGFyZW50X2lkGAEgASgJUghwYXJlbnRJZBIkCg5wYXJlbnRfcG9ydF9ubxgCIAEoDVIMcGFyZW50UG9ydE5vEioKEWNoaWxkX2RldmljZV90eXBlGAMgASgJUg9jaGlsZERldmljZVR5cGUSHQoKY2hhbm5lbF9pZBgEIAEoDVIJY2hhbm5lbElkEhsKCXZlbmRvcl9pZBgFIAEoCVIIdmVuZG9ySWQSIwoNc2VyaWFsX251bWJlchgGIAEoCVIMc2VyaWFsTnVtYmVyEhUKBm9udV9pZBgHIAEoDVIFb251SWQi0wEKEURldmljZVN0YXRlRmlsdGVyEhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSKAoQcGFyZW50X2RldmljZV9pZBgCIAEoCVIOcGFyZW50RGV2aWNlSWQSOQoLb3Blcl9zdGF0dXMYAyABKA4yGC5jb21tb24uT3BlclN0YXR1cy5UeXBlc1IKb3BlclN0YXR1cxI8Cgtjb25uX3N0YXR1cxgEIAEoDjIbLmNvbW1vbi5Db25uZWN0U3RhdHVzLlR5cGVzUgpjb25uU3RhdHVzIrABCglQb3J0U3RhdGUSGwoJZGV2aWNlX2lkGAEgASgJUghkZXZpY2VJZBIyCglwb3J0X3R5cGUYAiABKA4yFS5kZXZpY2UuUG9ydC5Qb3J0VHlwZVIIcG9ydFR5cGUSFwoHcG9ydF9ubxgDIAEoDVIGcG9ydE5vEjkKC29wZXJfc3RhdHVzGAQgASgOMhguY29tbW9uLk9wZXJTdGF0dXMuVHlwZXNSCm9wZXJTdGF0dXMikwEKD1BvcnRTdGF0ZUZpbHRlchIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEigKEHBvcnRfdHlwZV9maWx0ZXIYAiABKA1SDnBvcnRUeXBlRmlsdGVyEjkKC29wZXJfc3RhdHVzGAQgASgOMhguY29tbW9uLk9wZXJTdGF0dXMuVHlwZXNSCm9wZXJTdGF0dXMiUwoIUGFja2V0SW4SGwoJZGV2aWNlX2lkGAEgASgJUghkZXZpY2VJZBISCgRwb3J0GAIgASgNUgRwb3J0EhYKBnBhY2tldBgDIAEoDFIGcGFja2V0IoMBCglQYWNrZXRPdXQSGwoJZGV2aWNlX2lkGAEgASgJUghkZXZpY2VJZBIkCg5lZ3Jlc3NfcG9ydF9ubxgCIAEoDVIMZWdyZXNzUG9ydE5vEjMKBnBhY2tldBgDIAEoCzIbLm9wZW5mbG93XzEzLm9mcF9wYWNrZXRfb3V0UgZwYWNrZXQiQwoMRGV2aWNlUmVhc29uEhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSFgoGcmVhc29uGAIgASgJUgZyZWFzb24izgEKCUJ1bGtGbG93cxImCgZkZXZpY2UYASABKAsyDi5kZXZpY2UuRGV2aWNlUgZkZXZpY2USKAoFZmxvd3MYAiABKAsyEi5vcGVuZmxvd18xMy5GbG93c1IFZmxvd3MSLwoGZ3JvdXBzGAMgASgLMhcub3BlbmZsb3dfMTMuRmxvd0dyb3Vwc1IGZ3JvdXBzEj4KDWZsb3dfbWV0YWRhdGEYBCABKAsyGS5vcGVuZmxvd18xMy5GbG93TWV0YWRhdGFSDGZsb3dNZXRhZGF0YSLhAQoQSW5jcmVtZW50YWxGbG93cxImCgZkZXZpY2UYASABKAsyDi5kZXZpY2UuRGV2aWNlUgZkZXZpY2USLgoFZmxvd3MYAiABKAsyGC5vcGVuZmxvd18xMy5GbG93Q2hhbmdlc1IFZmxvd3MSNQoGZ3JvdXBzGAMgASgLMh0ub3BlbmZsb3dfMTMuRmxvd0dyb3VwQ2hhbmdlc1IGZ3JvdXBzEj4KDWZsb3dfbWV0YWRhdGEYBCABKAsyGS5vcGVuZmxvd18xMy5GbG93TWV0YWRhdGFSDGZsb3dNZXRhZGF0YSJeCg1QbUNvbmZpZ3NJbmZvEhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSMAoKcG1fY29uZmlncxgCIAEoCzIRLmRldmljZS5QbUNvbmZpZ3NSCXBtQ29uZmlncyKIAQoQU3dpdGNoQ2FwYWJpbGl0eRIpCgRkZXNjGAEgASgLMhUub3BlbmZsb3dfMTMub2ZwX2Rlc2NSBGRlc2MSSQoPc3dpdGNoX2ZlYXR1cmVzGAIgASgLMiAub3BlbmZsb3dfMTMub2ZwX3N3aXRjaF9mZWF0dXJlc1IOc3dpdGNoRmVhdHVyZXMiawoUSW1hZ2VEb3dubG9hZE1lc3NhZ2USJgoGZGV2aWNlGAEgASgLMg4uZGV2aWNlLkRldmljZVIGZGV2aWNlEisKBWltYWdlGAIgASgLMhUuZGV2aWNlLkltYWdlRG93bmxvYWRSBWltYWdlImMKCE9NQ0lUZXN0EiYKBmRldmljZRgBIAEoCzIOLmRldmljZS5EZXZpY2VSBmRldmljZRIvCgdyZXF1ZXN0GAIgASgLMhUub21jaS5PbWNpVGVzdFJlcXVlc3RSB3JlcXVlc3QidgoUU2ltdWxhdGVBbGFybU1lc3NhZ2USJgoGZGV2aWNlGAEgASgLMg4uZGV2aWNlLkRldmljZVIGZGV2aWNlEjYKB3JlcXVlc3QYAiABKAsyHC5kZXZpY2UuU2ltdWxhdGVBbGFybVJlcXVlc3RSB3JlcXVlc3QitgEKEkdldEV4dFZhbHVlTWVzc2FnZRIzCg1wYXJlbnRfZGV2aWNlGAEgASgLMg4uZGV2aWNlLkRldmljZVIMcGFyZW50RGV2aWNlEjEKDGNoaWxkX2RldmljZRgCIAEoCzIOLmRldmljZS5EZXZpY2VSC2NoaWxkRGV2aWNlEjgKCnZhbHVlX3R5cGUYAyABKA4yGS5leHRlbnNpb24uVmFsdWVUeXBlLlR5cGVSCXZhbHVlVHlwZSJn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Y2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSNgoMRGVsZXRlRGV2aWNlEg4uZGV2aWNlLkRldmljZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI3Cg1EaXNhYmxlRGV2aWNlEg4uZGV2aWNlLkRldmljZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI4Cg5SZUVuYWJsZURldmljZRIOLmRldmljZS5EZXZpY2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSNgoMUmVib290RGV2aWNlEg4uZGV2aWNlLkRldmljZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI4Cg5TZWxmVGVzdERldmljZRIOLmRldmljZS5EZXZpY2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSQgoQR2V0T2ZwRGV2aWNlSW5mbxIOLmRldmljZS5EZXZpY2UaHi5jb3JlX2FkYXB0ZXIuU3dpdGNoQ2FwYWJpbGl0eRI5Cg9DaGlsZERldmljZUxvc3QSDi5kZXZpY2UuRGV2aWNlGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EjIKCkVuYWJsZVBvcnQSDC5kZXZpY2UuUG9ydBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRIzCgtEaXNhYmxlUG9ydBIMLmRldmljZS5Qb3J0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkIKD1VwZGF0ZUZsb3dzQnVsaxIXLmNvcmVfYWRhcHRlci5CdWxrRmxvd3MaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSUgoYVXBkYXRlRmxvd3NJbmNyZW1lbnRhbGx5Eh4uY29yZV9hZGFwdGVyLkluY3JlbWVudGFsRmxvd3MaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSQAoNU2VuZFBhY2tldE91dBIXLmNvcmVfYWRhcHRlci5QYWNrZXRPdXQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSRQoOVXBkYXRlUG1Db25maWcSGy5jb3JlX2FkYXB0ZXIuUG1Db25maWdzSW5mbxoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJTChBEb3dubG9hZE9udUltYWdlEiIuZGV2aWNlLkRldmljZUltYWdlRG93bmxvYWRSZXF1ZXN0GhsuZGV2aWNlLkRldmljZUltYWdlUmVzcG9uc2USTAoRR2V0T251SW1hZ2VTdGF0dXMSGi5kZXZpY2UuRGV2aWNlSW1hZ2VSZXF1ZXN0GhsuZGV2aWNlLkRldmljZUltYWdlUmVzcG9uc2USTwoUQWJvcnRPbnVJbWFnZVVwZ3JhZGUSGi5kZXZpY2UuRGV2aWNlSW1hZ2VSZXF1ZXN0GhsuZGV2aWNlLkRldmljZUltYWdlUmVzcG9uc2USLQoMR2V0T251SW1hZ2VzEgouY29tbW9uLklEGhEuZGV2aWNlLk9udUltYWdlcxJLChBBY3RpdmF0ZU9udUltYWdlEhouZGV2aWNlLkRldmljZUltYWdlUmVxdWVzdBobLmRldmljZS5EZXZpY2VJbWFnZVJlc3BvbnNlEkkKDkNvbW1pdE9udUltYWdlEhouZGV2aWNlLkRldmljZUltYWdlUmVxdWVzdBobLmRldmljZS5EZXZpY2VJbWFnZVJlc3BvbnNlEk8KDURvd25sb2FkSW1hZ2USIi5jb3JlX2FkYXB0ZXIuSW1hZ2VEb3dubG9hZE1lc3NhZ2UaFS5kZXZpY2UuSW1hZ2VEb3dubG9hZCIDiAIBElgKFkdldEltYWdlRG93bmxvYWRTdGF0dXMSIi5jb3JlX2FkYXB0ZXIuSW1hZ2VEb3dubG9hZE1lc3NhZ2UaFS5kZXZpY2UuSW1hZ2VEb3dubG9hZCIDiAIBElUKE0NhbmNlbEltYWdlRG93bmxvYWQSIi5jb3JlX2FkYXB0ZXIuSW1hZ2VEb3dubG9hZE1lc3NhZ2UaFS5kZXZpY2UuSW1hZ2VEb3dubG9hZCIDiAIBElUKE0FjdGl2YXRlSW1hZ2VVcGRhdGUSIi5jb3JlX2FkYXB0ZXIuSW1hZ2VEb3dubG9hZE1lc3NhZ2UaFS5kZXZpY2UuSW1hZ2VEb3dubG9hZCIDiAIBElMKEVJldmVydEltYWdlVXBkYXRlEiIuY29yZV9hZGFwdGVyLkltYWdlRG93bmxvYWRNZXNzYWdlGhUuZGV2aWNlLkltYWdlRG93bmxvYWQiA4gCARI7Cg1TdGFydE9tY2lUZXN0EhYuY29yZV9hZGFwdGVyLk9NQ0lUZXN0GhIub21jaS5UZXN0UmVzcG9uc2USSgoNU2ltdWxhdGVBbGFybRIiLmNvcmVfYWRhcHRlci5TaW11bGF0ZUFsYXJtTWVzc2FnZRoVLmNvbW1vbi5PcGVyYXRpb25SZXNwEjsKDVN1cHByZXNzRXZlbnQSEi5ldmVudC5FdmVudEZpbHRlchoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI9Cg9VblN1cHByZXNzRXZlbnQSEi5ldmVudC5FdmVudEZpbHRlchoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJICgtHZXRFeHRWYWx1ZRIgLmNvcmVfYWRhcHRlci5HZXRFeHRWYWx1ZU1lc3NhZ2UaFy5leHRlbnNpb24uUmV0dXJuVmFsdWVzEkcKC1NldEV4dFZhbHVlEiAuY29yZV9hZGFwdGVyLlNldEV4dFZhbHVlTWVzc2FnZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJVCg5HZXRTaW5nbGVWYWx1ZRIgLmV4dGVuc2lvbi5TaW5nbGVHZXRWYWx1ZVJlcXVlc3QaIS5leHRlbnNpb24uU2luZ2xlR2V0VmFsdWVSZXNwb25zZRJVCg5TZXRTaW5nbGVWYWx1ZRIgLmV4dGVuc2lvbi5TaW5nbGVTZXRWYWx1ZVJlcXVlc3QaIS5leHRlbnNpb24uU2luZ2xlU2V0VmFsdWVSZXNwb25zZUJ0CiNvcmcub3BlbmNvcmQudm9sdGhhLmFkYXB0ZXJfc2VydmljZUIUVm9sdGhhQWRhcHRlclNlcnZpY2VaN2dpdGh1Yi5jb20vb3BlbmNvcmQvdm9sdGhhLXByb3Rvcy92NS9nby9hZGFwdGVyX3NlcnZpY2VKrxQKBhIEAABXAQoICgEMEgMAABIKCAoBCBIDAgBOCgkKAggLEgMCAE4KCAoBCBIDAwA8CgkKAggBEgMDADwKCAoBCBIDBAA1CgkKAggIEgMEADUKCAoBAhIDBgAYCgkKAgMAEgMIACUKCQoCAwESAwkAJAoJCgIDAhIDCgAqCgkKAgMDEgMLACQKCQoCAwQSAwwAKAoJCgIDBRIDDQAkCgkKAgMGEgMOACQKCQoCAwcSAw8AJwoJCgIDCBIDEAAkClUKAgYAEgQTAFcBGkkgQWRhcHRlclNlcnZpY2UgaXMgYSBnUlBDIHNlcnZpY2UgdG8gc2VydmUgcmVxdWVzdHMgZnJvbSBWb2x0aGEgUldfQ29yZS4KCgoKAwYAARIDEwgWCpEB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Cg4KBwQABAACBgESAxgEGQoOCgcEAAQAAgYCEgMYHB0KCwoEBAACABIDGgQeCg0KBQQAAgAEEgQaBBkFCgwKBQQAAgAGEgMaBAkKDAoFBAACAAESAxoKGQoMCgUEAAIAAxIDGhwdYgZwcm90bzMK7RsKIXZvbHRoYV9wcm90b3MvY29yZV9zZXJ2aWNlcy5wcm90bxIMY29yZV9zZXJ2aWNlGhtnb29nbGUvcHJvdG9idWYvZW1wdHkucHJvdG8aIHZvbHRoYV9wcm90b3MvY29yZV9hZGFwdGVyLnByb3RvGhp2b2x0aGFfcHJvdG9zL2NvbW1vbi5wcm90bxoadm9sdGhhX3Byb3Rvcy9kZXZpY2UucHJvdG8aGnZvbHRoYV9wcm90b3MvaGVhbHRoLnByb3RvMv0LCgtDb3JlU2VydmljZRI/Cg9HZXRIZWFsdGhTdGF0dXMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaFC5oZWFsdGguSGVhbHRoU3RhdHVzEkwKD1JlZ2lzdGVyQWRhcHRlchIhLmNvcmVfYWRhcHRlci5BZGFwdGVyUmVnaXN0cmF0aW9uGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EjYKDERldmljZVVwZGF0ZRIOLmRldmljZS5EZXZpY2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSMwoLUG9ydENyZWF0ZWQSDC5kZXZpY2UuUG9ydBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJJChBQb3J0c1N0YXRlVXBkYXRlEh0uY29yZV9hZGFwdGVyLlBvcnRTdGF0ZUZpbHRlchoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI0Cg5EZWxldGVBbGxQb3J0cxIKLmNvbW1vbi5JRBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI3Cg1HZXREZXZpY2VQb3J0EhguY29yZV9hZGFwdGVyLlBvcnRGaWx0ZXIaDC5kZXZpY2UuUG9ydBIsCg9MaXN0RGV2aWNlUG9ydHMSCi5jb21tb24uSUQaDS5kZXZpY2UuUG9ydHMSTAoRRGV2aWNlU3RhdGVVcGRhdGUSHy5jb3JlX2FkYXB0ZXIuRGV2aWNlU3RhdGVGaWx0ZXIaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSQQoURGV2aWNlUE1Db25maWdVcGRhdGUSES5kZXZpY2UuUG1Db25maWdzGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkQKE0NoaWxkRGV2aWNlRGV0ZWN0ZWQSHS5jb3JlX2FkYXB0ZXIuRGV2aWNlRGlzY292ZXJ5Gg4uZGV2aWNlLkRldmljZRI2ChBDaGlsZERldmljZXNMb3N0EgouY29tbW9uLklEGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EjoKFENoaWxkRGV2aWNlc0RldGVjdGVkEgouY29tbW9uLklEGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EicKCUdldERldmljZRIKLmNvbW1vbi5JRBoOLmRldmljZS5EZXZpY2USQQoOR2V0Q2hpbGREZXZpY2USHy5jb3JlX2FkYXB0ZXIuQ2hpbGREZXZpY2VGaWx0ZXIaDi5kZXZpY2UuRGV2aWNlEi4KD0dldENoaWxkRGV2aWNlcxIKLmNvbW1vbi5JRBoPLmRldmljZS5EZXZpY2VzEj4KDFNlbmRQYWNrZXRJbhIWLmNvcmVfYWRhcHRlci5QYWNrZXRJbhoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJIChJEZXZpY2VSZWFzb25VcGRhdGUSGi5jb3JlX2FkYXB0ZXIuRGV2aWNlUmVhc29uGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkIKD1BvcnRTdGF0ZVVwZGF0ZRIXLmNvcmVfYWRhcHRlci5Qb3J0U3RhdGUaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSOwoVUmVjb25jaWxlQ2hpbGREZXZpY2VzEgouY29tbW9uLklEGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ek0KHkdldENoaWxkRGV2aWNlV2l0aFByb3h5QWRkcmVzcxIbLmRldmljZS5EZXZpY2UuUHJveHlBZGRyZXNzGg4uZGV2aWNlLkRldmljZRIzCghHZXRQb3J0cxIYLmNvcmVfYWRhcHRlci5Qb3J0RmlsdGVyGg0uZGV2aWNlLlBvcnRzEk4KE0NoaWxkcmVuU3RhdGVVcGRhdGUSHy5jb3JlX2FkYXB0ZXIuRGV2aWNlU3RhdGVGaWx0ZXIaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSRAoTVXBkYXRlSW1hZ2VEb3dubG9hZBIV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PwoMCgUGAAIWAxIDKkpfCgsKBAYAAhcSAysIVwoMCgUGAAIXARIDKwwfCgwKBQYAAhcCEgMrITUKDAoFBgACFwMSAytAVWIGcHJvdG8zCrwYCiN2b2x0aGFfcHJvdG9zL2lldGZfaW50ZXJmYWNlcy5wcm90bxIEaWV0ZiJECgpJbnRlcmZhY2VzEjYKDmFsbF9pbnRlcmZhY2VzGAEgAygLMg8uaWV0Zi5JbnRlcmZhY2VSDWFsbEludGVyZmFjZXMikgIKCUludGVyZmFjZRISCgRuYW1lGAEgASgJUgRuYW1lEiAKC2Rlc2NyaXB0aW9uGAIgASgJUgtkZXNjcmlwdGlvbhISCgR0eXBlGAMgASgJUgR0eXBlEhgKB2VuYWJsZWQYBCABKAhSB2VuYWJsZWQSYAoYbGlua191cF9kb3duX3RyYXBfZW5hYmxlGAUgASgOMiguaWV0Zi5JbnRlcmZhY2UuTGlua1VwRG93blRyYXBFbmFibGVUeXBlUhRsaW5rVXBEb3duVHJhcEVuYWJsZSI/ChhMaW5rVXBEb3duVHJhcEVuYWJsZVR5cGUSEQoNVFJBUF9ESVNBQkxFRBAAEhAKDFRSQVBfRU5BQkxFRBABIkwKD0ludGVyZmFjZXNTdGF0ZRI5Cg1hbGxfaW50ZXJmYWNzGAEgAygLMhQuaWV0Zi5JbnRlcmZhY2VTdGF0ZVIMYWxsSW50ZXJmYWNzIsAECg5JbnRlcmZhY2VTdGF0ZRISCgRuYW1lGAEgASgJUgRuYW1lEhIKBHR5cGUYAiABKAlSBHR5cGUSRwoMYWRtaW5fc3RhdHVzGAMgASgOMiQuaWV0Zi5JbnRlcmZhY2VTdGF0ZS5BZG1pblN0YXR1c1R5cGVSC2FkbWluU3RhdHVzEkQKC29wZXJfc3RhdHVzGAQgASgOMiMuaWV0Zi5JbnRlcmZhY2VTdGF0ZS5PcGVyU3RhdHVzVHlwZVIKb3BlclN0YXR1cxIfCgtsYXN0X2NoYW5nZRgFIAEoCVIKbGFzdENoYW5nZRIZCghpZl9pbmRleBgGIAEoBVIHaWZJbmRleBIhCgxwaHlzX2FkZHJlc3MYByABKAlSC3BoeXNBZGRyZXNzEiYKD2hpZ2hlcl9sYXllcl9pZhgIIAMoCVINaGlnaGVyTGF5ZXJJZhIkCg5sb3dlcl9sYXll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YnMYAiABKAdSA2NicxIQCgNwaXIYAyABKAdSA3BpchIQCgNwYnMYBCABKAdSA3BicxIQCgNnaXIYBSABKAdSA2dpchJICgphZGRfYndfaW5kGAYgASgOMioudGVjaF9wcm9maWxlLkluZmVycmVkQWRkaXRpb25CV0luZGljYXRpb25SCGFkZEJ3SW5kIp0CChBUcmFmZmljU2NoZWR1bGVyEjUKCWRpcmVjdGlvbhgBIAEoDjIXLnRlY2hfcHJvZmlsZS5EaXJlY3Rpb25SCWRpcmVjdGlvbhIZCghhbGxvY19pZBgCIAEoB1IHYWxsb2NJZBI7CglzY2hlZHVsZXIYAyABKAsyHS50ZWNoX3Byb2ZpbGUuU2NoZWR1bGVyQ29uZmlnUglzY2hlZHVsZXISUgoUdHJhZmZpY19zaGFwaW5nX2luZm8YBCABKAsyIC50ZWNoX3Byb2ZpbGUuVHJhZmZpY1NoYXBpbmdJbmZvUhJ0cmFmZmljU2hhcGluZ0luZm8SJgoPdGVjaF9wcm9maWxlX2lkGAUgASgHUg10ZWNoUHJvZmlsZUlkIroBChFUcmFmZmljU2NoZWR1bGVycxIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIVCgZ1bmlfaWQYBCABKAdSBXVuaUlkEhcKB3BvcnRfbm8YBSABKAdSBnBvcnRObxJFCg50cmFmZmljX3NjaGVkcxgDIAMoCzIeLnRlY2hfcHJvZmlsZS5UcmFmZmljU2NoZWR1bGVyUg10cmFmZmljU2NoZWRzIjYKFVRhaWxEcm9wRGlzY2FyZENvbmZpZxIdCgpxdWV1ZV9zaXplGAEgASgHUglxdWV1ZVNpemUihQEKEFJlZERpc2NhcmRDb25maWcSIwoNbWluX3RocmVzaG9sZBgBIAEoB1IMbWluVGhyZXNob2xkEiMKDW1heF90aHJlc2hvbGQYAiABKAdSDG1heFRocmVzaG9sZBInCg9tYXhfcHJvYmFiaWxpdHkYAyABKAdSDm1heFByb2JhYmlsaXR5IrMBChFXUmVkRGlzY2FyZENvbmZpZxI0CgVncmVlbhgBIAEoCzIeLnRlY2hfcHJvZmlsZS5SZWREaXNjYXJkQ29uZmlnUgVncmVlbhI2CgZ5ZWxsb3cYAiABKAsyHi50ZWNoX3Byb2ZpbGUuUmVkRGlzY2FyZENvbmZpZ1IGeWVsbG93EjAKA3JlZBgDIAEoCzIeLnRlY2hfcHJvZmlsZS5SZWREaXNjYXJkQ29uZmlnUgNyZWQi6AIKDURpc2NhcmRDb25maWcSQgoOZGlzY2FyZF9wb2xpY3kYASABKA4yGy50ZWNoX3Byb2ZpbGUuRGlzY2FyZFBvbGljeVINZGlzY2FyZFBvbGljeRJeChh0YWlsX2Ryb3BfZGlzY2FyZF9jb25maWcYAiABKAsyIy50ZWNoX3Byb2ZpbGUuVGFpbERyb3BEaXNjYXJkQ29uZmlnSABSFXRhaWxEcm9wRGlzY2FyZENvbmZpZxJOChJyZWRfZGlzY2FyZF9jb25maWcYAyABKAsyHi50ZWNoX3Byb2ZpbGUuUmVkRGlzY2FyZENvbmZpZ0gAUhByZWREaXNjYXJkQ29uZmlnElEKE3dyZWRfZGlzY2FyZF9jb25maWcYBCABKAsyHy50ZWNoX3Byb2ZpbGUuV1JlZERpc2NhcmRDb25maWdIAFIRd3JlZERpc2NhcmRDb25maWdCEAoOZGlzY2FyZF9jb25maWcipQMKDFRyYWZmaWNRdWV1ZRI1CglkaXJlY3Rpb24YASABKA4yFy50ZWNoX3Byb2ZpbGUuRGlyZWN0aW9uUglkaXJlY3Rpb24SHQoKZ2VtcG9ydF9pZBgCIAEoB1IJZ2VtcG9ydElkEhkKCHBiaXRfbWFwGAMgASgJUgdwYml0TWFwEiUKDmFlc19lbmNyeXB0aW9uGAQgASgIUg1hZXNFbmNyeXB0aW9uEkEKDHNjaGVkX3BvbGljeRgFIAEoDjIeLnRlY2hfcHJvZmlsZS5TY2hlZHVsaW5nUG9saWN5UgtzY2hlZFBvbGljeRIaCghwcmlvcml0eRgGIAEoB1IIcHJpb3JpdHkSFgoGd2VpZ2h0GAcgASgHUgZ3ZWlnaHQSQgoOZGlzY2FyZF9wb2xpY3kYCCABKA4yGy50ZWNoX3Byb2ZpbGUuRGlzY2FyZFBvbGljeVINZGlzY2FyZFBvbGljeRJCCg5kaXNjYXJkX2NvbmZpZxgJIAEoCzIbLnRlY2hfcHJvZmlsZS5EaXNjYXJkQ29uZmlnUg1kaXNjYXJkQ29uZmlnItoBCg1UcmFmZmljUXVldWVzEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhUKBnVuaV9pZBgEIAEoB1IFdW5pSWQSFwoHcG9ydF9ubxgFIAEoB1IGcG9ydE5vEkEKDnRyYWZmaWNfcXVldWVzGAYgAygLMhoudGVjaF9wcm9maWxlLlRyYWZmaWNRdWV1ZVINdHJhZmZpY1F1ZXVlcxImCg90ZWNoX3Byb2ZpbGVfaWQYByABKAdSDXRlY2hQcm9maWxlSWQiZgoPSW5zdGFuY2VDb250cm9sEhAKA29udRgBIAEoCVIDb251EhAKA3VuaRgCIAEoCVIDdW5pEi8KFG1heF9nZW1fcGF5bG9hZF9zaXplGAMgASgJUhFtYXhHZW1QYXlsb2FkU2l6ZSKCAgoLUVRocmVzaG9sZHMSIQoMcV90aHJlc2hvbGQxGAEgASgNUgtxVGhyZXNob2xkMRIhCgxxX3RocmVzaG9sZDIYAiABKA1SC3FUaHJlc2hvbGQyEiEKDHFfdGhyZXNob2xkMxgDIAEoDVILcVRocmVzaG9sZDMSIQoMcV90aHJlc2hvbGQ0GAQgASgNUgtxVGhyZXNob2xkNBIhCgxxX3RocmVzaG9sZDUYBSABKA1SC3FUaHJlc2hvbGQ1EiEKDHFfdGhyZXNob2xkNhgGIAEoDVILcVRocmVzaG9sZDYSIQoMcV90aHJlc2hvbGQ3GAcgASgNUgtxVGhyZXNob2xkNyKzBQoRR2VtUG9ydEF0dHJpYnV0ZXMSHQoKZ2VtcG9ydF9pZBgBIAEoB1IJZ2VtcG9ydElkEhwKCm1heF9xX3NpemUYAiABKAlSCG1heFFTaXplEhkKCHBiaXRfbWFwGAMgASgJUgdwYml0TWFwEiUKDmFlc19lbmNyeXB0aW9uGAQgASgJUg1hZXNFbmNyeXB0aW9uEksKEXNjaGVkdWxpbmdfcG9saWN5GAUgASgOMh4udGVjaF9wcm9maWxlLlNjaGVkdWxpbmdQb2xpY3lSEHNjaGVkdWxpbmdQb2xpY3kSHQoKcHJpb3JpdHlfcRgGIAEoB1IJcHJpb3JpdHlREhYKBndlaWdodBgHIAEoB1IGd2VpZ2h0EkIKDmRpc2NhcmRfcG9saWN5GAggASgOMhsudGVjaF9wcm9maWxlLkRpc2NhcmRQb2xpY3lSDWRpc2NhcmRQb2xpY3kSRQoOZGlzY2FyZF9jb25maWcYCSABKAsyHi50ZWNoX3Byb2ZpbGUuUmVkRGlzY2FyZENvbmZpZ1INZGlzY2FyZENvbmZpZxJHChFkaXNjYXJkX2NvbmZpZ192MhgOIAEoCzIbLnRlY2hfcHJvZmlsZS5EaXNjYXJkQ29uZmlnUg9kaXNjYXJkQ29uZmlnVjISIQoMaXNfbXVsdGljYXN0GAogASgJUgtpc011bHRpY2FzdBIoChBtdWx0aWNhc3RfZ2VtX2lkGAsgASgHUg5tdWx0aWNhc3RHZW1JZBI9ChtkeW5hbWljX2FjY2Vzc19jb250cm9sX2xpc3QYDCABKAlSGGR5bmFtaWNBY2Nlc3NDb250cm9sTGlzdBI7ChpzdGF0aWNfYWNjZXNzX2NvbnRyb2xfbGlzdBgNIAEoCVIXc3RhdGljQWNjZXNzQ29udHJvbExpc3QiogIKE1NjaGVkdWxlckF0dHJpYnV0ZXMSNQoJZGlyZWN0aW9uGAEgASgOMhcudGVjaF9wcm9maWxlLkRpcmVjdGlvblIJZGlyZWN0aW9uEhkKCGFsbG9jX2lkGAIgASgNUgdhbGxvY0lkEj8KDWFkZGl0aW9uYWxfYncYAyABKA4yGi50ZWNoX3Byb2ZpbGUuQWRkaXRpb25hbEJXUgxhZGRpdGlvbmFsQncSGgoIcHJpb3JpdHkYBCABKAdSCHByaW9yaXR5EhYKBndlaWdodBgFIAEoB1IGd2VpZ2h0EkQKDnFfc2NoZWRfcG9saWN5GAYgASgOMh4udGVjaF9wcm9maWxlLlNjaGVkdWxpbmdQb2xpY3lSDHFTY2hlZFBvbGljeSLABgoTRVBPTlF1ZXVlQXR0cmlidXRlcxIcCgptYXhfcV9zaXplGAEgASgJUghtYXhRU2l6ZRIZCghwYml0X21hcBgCIAEoCVIHcGJpdE1hcBIdCgpnZW1wb3J0X2lkGAMgASgNUglnZW1wb3J0SWQSJQoOYWVzX2VuY3J5cHRpb24YBCABKAlSDWFlc0VuY3J5cHRpb24SIQoMdHJhZmZpY190eXBlGAUgASgJUgt0cmFmZmljVHlwZRI0ChZ1bnNvbGljaXRlZF9ncmFudF9zaXplGAYgASgNUhR1bnNvbGljaXRlZEdyYW50U2l6ZRIpChBub21pbmFsX2ludGVydmFsGAcgASgNUg9ub21pbmFsSW50ZXJ2YWwSMgoVdG9sZXJhdGVkX3BvbGxfaml0dGVyGAggASgNUhN0b2xlcmF0ZWRQb2xsSml0dGVyEj4KG3JlcXVlc3RfdHJhbnNtaXNzaW9uX3BvbGljeRgJIAEoDVIZcmVxdWVzdFRyYW5zbWlzc2lvblBvbGljeRIcCgpudW1fcV9zZXRzGAogASgNUghudW1RU2V0cxI8CgxxX3RocmVzaG9sZHMYCyABKAsyGS50ZWNoX3Byb2ZpbGUuUVRocmVzaG9sZHNSC3FUaHJlc2hvbGRzEksKEXNjaGVkdWxpbmdfcG9saWN5GAwgASgOMh4udGVjaF9wcm9maWxlLlNjaGVkdWxpbmdQb2xpY3lSEHNjaGVkdWxpbmdQb2xpY3kSHQoKcHJpb3JpdHlfcRgNIAEoDVIJcHJpb3JpdHlREhYKBndlaWdodBgOIAEoDVIGd2VpZ2h0EkIKDmRpc2NhcmRfcG9saWN5GA8gASgOMhsudGVjaF9wcm9maWxlLkRpc2NhcmRQb2xpY3lSDWRpc2NhcmRQb2xpY3kSRQoOZGlzY2FyZF9jb25maWcYECABKAsyHi50ZWNoX3Byb2ZpbGUuUmVkRGlzY2FyZENvbmZpZ1INZGlzY2FyZENvbmZpZxJHChFkaXNjYXJkX2NvbmZpZ192MhgRIAEoCzIbLnRlY2hfcHJvZmlsZS5EaXNjYXJkQ29uZmlnUg9kaXNjYXJkQ29uZmlnVjIirgQKC1RlY2hQcm9maWxlEhIKBG5hbWUYASABKAlSBG5hbWUSGAoHdmVyc2lvbhgCIAEoDVIHdmVyc2lvbhIhCgxwcm9maWxlX3R5cGUYAyABKAlSC3Byb2ZpbGVUeXBlEiIKDW51bV9nZW1fcG9ydHMYBCABKA1SC251bUdlbVBvcnRzEkgKEGluc3RhbmNlX2NvbnRyb2wYBSABKAsyHS50ZWNoX3Byb2ZpbGUuSW5zdGFuY2VDb250cm9sUg9pbnN0YW5jZUNvbnRyb2wSRAoMdXNfc2NoZWR1bGVyGAYgASgLMiEudGVjaF9wcm9maWxlLlNjaGVkdWxlckF0dHJpYnV0ZXNSC3VzU2NoZWR1bGVyEkQKDGRzX3NjaGVkdWxlchgHIAEoCzIhLnRlY2hfcHJvZmlsZS5TY2hlZHVsZXJBdHRyaWJ1dGVzUgtkc1NjaGVkdWxlchJnCiB1cHN0cmVhbV9nZW1fcG9ydF9hdHRyaWJ1dGVfbGlzdBgIIAMoCzIfLnRlY2hfcHJvZmlsZS5HZW1Qb3J0QXR0cmlidXRlc1IcdXBzdHJlYW1HZW1Qb3J0QXR0cmlidXRlTGlzdBJrCiJkb3duc3RyZWFtX2dlbV9wb3J0X2F0dHJpYnV0ZV9saXN0GAkgAygLMh8udGVjaF9wcm9maWxlLkdlbVBvcnRBdHRyaWJ1dGVzUh5kb3duc3RyZWFtR2VtUG9ydEF0dHJpYnV0ZUxpc3QiwwMKD0Vwb25UZWNoUHJvZmlsZRISCgRuYW1lGAEgASgJUgRuYW1lEhgKB3ZlcnNpb24YAiABKA1SB3ZlcnNpb24SIQoMcHJvZmlsZV90eXBlGAMgASgJUgtwcm9maWxlVHlwZRIiCg1udW1fZ2VtX3BvcnRzGAQgASgNUgtudW1HZW1Qb3J0cxJIChBpbnN0YW5jZV9jb250cm9sGAUgASgLMh0udGVjaF9wcm9maWxlLkluc3RhbmNlQ29udHJvbFIPaW5zdGFuY2VDb250cm9sEiEKDHBhY2thZ2VfdHlwZRgGIAEoCVILcGFja2FnZVR5cGUSZAoddXBzdHJlYW1fcXVldWVfYXR0cmlidXRlX2xpc3QYByADKAsyIS50ZWNoX3Byb2ZpbGUuRVBPTlF1ZXVlQXR0cmlidXRlc1IadXBzdHJlYW1RdWV1ZUF0dHJpYnV0ZUxpc3QSaAofZG93bnN0cmVhbV9xdWV1ZV9hdHRyaWJ1dGVfbGlzdBgIIAMoCzIhLnRlY2hfcHJvZmlsZS5FUE9OUXVldWVBdHRyaWJ1dGVzUhxkb3duc3RyZWFtUXVldWVBdHRyaWJ1dGVMaXN0IusEChNUZWNoUHJvZmlsZUluc3RhbmNlEhIKBG5hbWUYASABKAlSBG5hbWUSGAoHdmVyc2lvbhgCIAEoDVIHdmVyc2lvbhIzChVzdWJzY3JpYmVyX2lkZW50aWZpZXIYAyABKAlSFHN1YnNjcmliZXJJZGVudGlmaWVyEiEKDHByb2ZpbGVfdHlwZRgEIAEoCVILcHJvZmlsZVR5cGUSIgoNbnVtX2dlbV9wb3J0cxgFIAEoDVILbnVtR2VtUG9ydHMSSAoQaW5zdGFuY2VfY29udHJvbBgGIAEoCzIdLnRlY2hfcHJvZmlsZS5JbnN0YW5jZUNvbnRyb2xSD2luc3RhbmNlQ29udHJvbBJECgx1c19zY2hlZHVsZXIYByABKAsyIS50ZWNoX3Byb2ZpbGUuU2NoZWR1bGVyQXR0cmlidXRlc1ILdXNTY2hlZHVsZXISRAoMZHNfc2NoZWR1bGVyGAggASgLMiEudGVjaF9wcm9maWxlLlNjaGVkdWxlckF0dHJpYnV0ZXNSC2RzU2NoZWR1bGVyEmcKIHVwc3RyZWFtX2dlbV9wb3J0X2F0dHJpYnV0ZV9saXN0GAkgAygLMh8udGVjaF9wcm9maWxlLkdlbVBvcnRBdHRyaWJ1dGVzUhx1cHN0cmVhbUdlbVBvcnRBdHRyaWJ1dGVMaXN0EmsKImRvd25zdHJlYW1fZ2VtX3BvcnRfYXR0cmlidXRlX2xpc3QYCiADKAsyHy50ZWNoX3Byb2ZpbGUuR2VtUG9ydEF0dHJpYnV0ZXNSHmRvd25zdHJlYW1HZW1Qb3J0QXR0cmlidXRlTGlzdCKbBAoXRXBvblRlY2hQcm9maWxlSW5zdGFuY2USEgoEbmFtZRgBIAEoCVIEbmFtZRIYCgd2ZXJzaW9uGAIgASgNUgd2ZXJzaW9uEjMKFXN1YnNjcmliZXJfaWRlbnRpZmllchgDIAEoCVIUc3Vic2NyaWJlcklkZW50aWZpZXISIQoMcHJvZmlsZV90eXBlGAQgASgJUgtwcm9maWxlVHlwZRIiCg1udW1fZ2VtX3BvcnRzGAUgASgNUgtudW1HZW1Qb3J0cxIZCghhbGxvY19pZBgGIAEoDVIHYWxsb2NJZBJIChBpbnN0YW5jZV9jb250cm9sGAcgASgLMh0udGVjaF9wcm9maWxlLkluc3RhbmNlQ29udHJvbFIPaW5zdGFuY2VDb250cm9sEiEKDHBhY2thZ2VfdHlwZRgIIAEoCVILcGFja2FnZVR5cGUSZAoddXBzdHJlYW1fcXVldWVfYXR0cmlidXRlX2xpc3QYCSADKAsyIS50ZWNoX3Byb2ZpbGUuRVBPTlF1ZXVlQXR0cmlidXRlc1IadXBzdHJlYW1RdWV1ZUF0dHJpYnV0ZUxpc3QSaAofZG93bnN0cmVhbV9xdWV1ZV9hdHRyaWJ1dGVfbGlzdBgKIAMoCzIhLnRlY2hfcHJvZmlsZS5FUE9OUXVldWVBdHRyaWJ1dGVzUhxkb3duc3RyZWFtUXVldWVBdHRyaWJ1dGVMaXN0IrsBChBSZXNvdXJjZUluc3RhbmNlEhMKBXRwX2lkGAEgASgNUgR0cElkEiEKDHByb2ZpbGVfdHlwZRgCIAEoCVILcHJvZmlsZVR5cGUSMwoVc3Vic2NyaWJlcl9pZGVudGlmaWVyGAMgASgJUhRzdWJzY3JpYmVySWRlbnRpZmllchIZCghhbGxvY19pZBgEIAEoDVIHYWxsb2NJZBIfCgtnZW1wb3J0X2lkcxgFIAMoDVIKZ2VtcG9ydElkcyo8CglEaXJlY3Rpb24SDAoIVVBTVFJFQU0QABIOCgpET1dOU1RSRUFNEAESEQoNQklESVJFQ1RJT05BTBACKjsKEFNjaGVkdWxpbmdQb2xpY3kSBwoDV1JSEAASEgoOU3RyaWN0UHJpb3JpdHkQARIKCgZIeWJyaWQQAipuCgxBZGRpdGlvbmFsQlcSFQoRQWRkaXRpb25hbEJXX05vbmUQABITCg9BZGRpdGlvbmFsQldfTkEQARIbChdBZGRpdGlvbmFsQldfQmVzdEVmZm9ydBACEhUKEUFkZGl0aW9uYWxCV19BdXRvEAMqPwoNRGlzY2FyZFBvbGljeRIMCghUYWlsRHJvcBAAEg0KCVdUYWlsRHJvcBABEgcKA1JlZBACEggKBFdSZWQQAyqcAQocSW5mZXJyZWRBZGRpdGlvbkJXSW5kaWNhdGlvbhIlCiFJbmZlcnJlZEFkZGl0aW9uQldJbmRpY2F0aW9uX05vbmUQABIoCiRJbmZlcnJlZEFkZGl0aW9uQldJbmRpY2F0aW9uX0Fzc3VyZWQQARIrCidJbmZlcnJlZEFkZGl0aW9uQldJbmRpY2F0aW9uX0Jlc3RFZmZvcnQQAkJYCiBvcmcub3BlbmNvcmQudm9sdGhhLnRlY2hfcHJvZmlsZVo0Z2l0aHViLmNvbS9vcGVuY29yZC92b2x0aGEtcHJvdG9zL3Y1L2dvL3RlY2hfcHJvZmlsZUrIZAoHEgUOAP8BAQrRBAoBDBIDDgASMsYEIENvcHlyaWdodCAoYykgMjAxOCBPcGVuIE5ldHdvcmtpbmcgRm91bmRhdGlvbgoKIExpY2Vuc2VkIHVuZGVyIHRoZSBB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Cg0KBQQTAgIBEgT8AQsgCg0KBQQTAgIDEgT8ASMkCgwKBAQTAgMSBP0BBBgKDwoFBBMCAwQSBv0BBPwBJQoNCgUEEwIDBRIE/QEECgoNCgUEEwIDARIE/QELEwoNCgUEEwIDAxIE/QEWFwoMCgQEEwIEEgT+AQQkCg0KBQQTAgQEEgT+AQQMCg0KBQQTAgQFEgT+AQ0TCg0KBQQTAgQBEgT+ARQfCg0KBQQTAgQDEgT+ASIjYgZwcm90bzMKoPoCCht2b2x0aGFfcHJvdG9zL29wZW5vbHQucHJvdG8SB29wZW5vbHQaHGdvb2dsZS9hcGkvYW5ub3RhdGlvbnMucHJvdG8aIHZvbHRoYV9wcm90b3MvdGVjaF9wcm9maWxlLnByb3RvGh52b2x0aGFfcHJvdG9zL2V4dF9jb25maWcucHJvdG8aHnZvbHRoYV9wcm90b3MvZXh0ZW5zaW9ucy5wcm90byLMBAoKSW5kaWNhdGlvbhIxCgdvbHRfaW5kGAEgASgLMhYub3Blbm9sdC5PbHRJbmRpY2F0aW9uSABSBm9sdEluZBI0CghpbnRmX2luZBgCIAEoCzIXLm9wZW5vbHQuSW50ZkluZGljYXRpb25IAFIHaW50ZkluZBJBCg1pbnRmX29wZXJfaW5kGAMgASgLMhsub3Blbm9sdC5JbnRmT3BlckluZGljYXRpb25IAFILaW50Zk9wZXJJbmQSPgoMb251X2Rpc2NfaW5kGAQgASgLMhoub3Blbm9sdC5PbnVEaXNjSW5kaWNhdGlvbkgAUgpvbnVEaXNjSW5kEjEKB29udV9pbmQYBSABKAsyFi5vcGVub2x0Lk9udUluZGljYXRpb25IAFIGb251SW5kEjQKCG9tY2lfaW5kGAYgASgLMhcub3Blbm9sdC5PbWNpSW5kaWNhdGlvbkgAUgdvbWNpSW5kEjQKB3BrdF9pbmQYByABKAsyGS5vcGVub2x0LlBhY2tldEluZGljYXRpb25IAFIGcGt0SW5kEjgKCnBvcnRfc3RhdHMYCCABKAsyFy5vcGVub2x0LlBvcnRTdGF0aXN0aWNzSABSCXBvcnRTdGF0cxI4CgpmbG93X3N0YXRzGAkgASgLMhcub3Blbm9sdC5GbG93U3RhdGlzdGljc0gAUglmbG93U3RhdHMSNwoJYWxhcm1faW5kGAogASgLMhgub3Blbm9sdC5BbGFybUluZGljYXRpb25IAFIIYWxhcm1JbmRCBgoEZGF0YSLrDQoPQWxhcm1JbmRpY2F0aW9uEjEKB2xvc19pbmQYASABKAsyFi5vcGVub2x0Lkxvc0luZGljYXRpb25IAFIGbG9zSW5kEkQKDmR5aW5nX2dhc3BfaW5kGAIgASgLMhwub3Blbm9sdC5EeWluZ0dhc3BJbmRpY2F0aW9uSABSDGR5aW5nR2FzcEluZBJBCg1vbnVfYWxhcm1faW5kGAMgASgLMhsub3Blbm9sdC5PbnVBbGFybUluZGljYXRpb25IAFILb251QWxhcm1JbmQSVwoUb251X3N0YXJ0dXBfZmFpbF9pbmQYBCABKAsyJC5vcGVub2x0Lk9udVN0YXJ0dXBGYWlsdXJlSW5kaWNhdGlvbkgAUhFvbnVTdGFydHVwRmFpbEluZBJaChZvbnVfc2lnbmFsX2RlZ3JhZGVfaW5kGAUgASgLMiMub3Blbm9sdC5PbnVTaWduYWxEZWdyYWRlSW5kaWNhdGlvbkgAUhNvbnVTaWduYWxEZWdyYWRlSW5kElsKF29udV9kcmlmdF9vZl93aW5kb3dfaW5kGAYgASgLMiMub3Blbm9sdC5PbnVEcmlmdE9mV2luZG93SW5kaWNhdGlvbkgAUhNvbnVEcmlmdE9mV2luZG93SW5kElQKEW9udV9sb3NzX29tY2lfaW5kGAcgASgLMicub3Blbm9sdC5PbnVMb3NzT2ZPbWNpQ2hhbm5lbEluZGljYXRpb25IAFIOb251TG9zc09tY2lJbmQSVwoUb251X3NpZ25hbHNfZmFpbF9pbmQYCCABKAsyJC5vcGVub2x0Lk9udVNpZ25hbHNGYWlsdXJlSW5kaWNhdGlvbkgAUhFvbnVTaWduYWxzRmFpbEluZBJPCgxvbnVfdGl3aV9pbmQYCSABKAsyKy5vcGVub2x0Lk9udVRyYW5zbWlzc2lvbkludGVyZmVyZW5jZVdhcm5pbmdIAFIKb251VGl3aUluZBJgChdvbnVfYWN0aXZhdGlvbl9mYWlsX2luZBgKIAEoCzInLm9wZW5vbHQuT251QWN0aXZhdGlvbkZhaWx1cmVJbmRpY2F0aW9uSABSFG9udUFjdGl2YXRpb25GYWlsSW5kEmAKGG9udV9wcm9jZXNzaW5nX2Vycm9yX2luZBgLIAEoCzIlLm9wZW5vbHQuT251UHJvY2Vzc2luZ0Vycm9ySW5kaWNhdGlvbkgAUhVvbnVQcm9jZXNzaW5nRXJyb3JJbmQSZQoZb251X2xvc3Nfb2Zfc3luY19mYWlsX2luZBgMIAEoCzIqLm9wZW5vbHQuT251TG9zc09mS2V5U3luY0ZhaWx1cmVJbmRpY2F0aW9uSABSFG9udUxvc3NPZlN5bmNGYWlsSW5kElUKFW9udV9pdHVfcG9uX3N0YXRzX2luZBgNIAEoCzIhLm9wZW5vbHQuT251SXR1UG9uU3RhdHNJbmRpY2F0aW9uSABSEW9udUl0dVBvblN0YXRzSW5kEmwKHG9udV9kZWFjdGl2YXRpb25fZmFpbHVyZV9pbmQYDiABKAsyKS5vcGVub2x0Lk9udURlYWN0aXZhdGlvbkZhaWx1cmVJbmRpY2F0aW9uSABSGW9udURlYWN0aXZhdGlvbkZhaWx1cmVJbmQSVwoVb251X3JlbW90ZV9kZWZlY3RfaW5kGA8gASgLMiIub3Blbm9sdC5PbnVSZW1vdGVEZWZlY3RJbmRpY2F0aW9uSABSEm9udVJlbW90ZURlZmVjdEluZBJzChxvbnVfbG9zc19nZW1fZGVsaW5lYXRpb25faW5kGBAgASgLMjEub3Blbm9sdC5PbnVMb3NzT2ZHRU1DaGFubmVsRGVsaW5lYXRpb25JbmRpY2F0aW9uSABSGG9udUxvc3NHZW1EZWxpbmVhdGlvbkluZBJ2CiBvbnVfcGh5c2ljYWxfZXF1aXBtZW50X2Vycm9yX2luZBgRIAEoCzIsLm9wZW5vbHQuT251UGh5c2ljYWxFcXVpcG1lbnRFcnJvckluZGljYXRpb25IAFIcb251UGh5c2ljYWxFcXVpcG1lbnRFcnJvckluZBJbChNvbnVfbG9zc19vZl9hY2tfaW5kGBIgASgLMisub3Blbm9sdC5PbnVMb3NzT2ZBY2tub3dsZWRnZW1lbnRJbmRpY2F0aW9uSABSD29udUxvc3NPZkFja0luZBJvChtvbnVfZGlmZl9yZWFjaF9leGNlZWRlZF9pbmQYEyABKAsyLy5vcGVub2x0Lk9udURpZmZlcmVudGlhbFJlYWNoRXhjZWVkZWRJbmRpY2F0aW9uSABSF29udURpZmZSZWFjaEV4Y2VlZGVkSW5kQgYKBGRhdGEiLgoNT2x0SW5kaWNhdGlvbhIdCgpvcGVyX3N0YXRlGAEgASgJUglvcGVyU3RhdGUiSAoOSW50ZkluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEh0KCm9wZXJfc3RhdGUYAiABKAlSCW9wZXJTdGF0ZSJoChFPbnVEaXNjSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSOgoNc2VyaWFsX251bWJlchgCIAEoCzIVLm9wZW5vbHQuU2VyaWFsTnVtYmVyUgxzZXJpYWxOdW1iZXIikwQKDU9udUluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSHQoKb3Blcl9zdGF0ZRgDIAEoCVIJb3BlclN0YXRlEh8KC2FkbWluX3N0YXRlGAUgASgJUgphZG1pblN0YXRlEjoKDXNlcmlhbF9udW1iZXIYBCABKAsyFS5vcGVub2x0LlNlcmlhbE51bWJlclIMc2VyaWFsTnVtYmVyEkwKC2ZhaWxfcmVhc29uGAYgASgOMisub3Blbm9sdC5PbnVJbmRpY2F0aW9uLkFjdGl2YXRpb25GYWlsUmVhc29uUgpmYWlsUmVhc29uIocCChRBY3RpdmF0aW9uRmFpbFJlYXNvbhIjCh9PTlVfQUNUSVZBVElPTl9GQUlMX1JFQVNPTl9OT05FEAASJgoiT05VX0FDVElWQVRJT05fRkFJTF9SRUFTT05fUkFOR0lORxABEjYKMk9OVV9BQ1RJVkFUSU9OX0ZBSUxfUkVBU09OX1BBU1NXT1JEX0FVVEhFTlRJQ0FUSU9OEAISIgoeT05VX0FDVElWQVRJT05fRkFJTF9SRUFTT05fTE9TEAMSIQodT05VX0FDVElWQVRJT05fRkFJTF9PTlVfQUxBUk0QBBIjCh9PTlVfQUNUSVZBVElPTl9GQUlMX1NXSVRDSF9PVkVSEAUiYAoSSW50Zk9wZXJJbmRpY2F0aW9uEhIKBHR5cGUYASABKAlSBHR5cGUSFwoHaW50Zl9pZBgCIAEoB1IGaW50ZklkEh0KCm9wZXJfc3RhdGUYAyABKAlSCW9wZXJTdGF0ZSJSCg5PbWNpSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIQCgNwa3QYAyABKAxSA3BrdCLxAQoQUGFja2V0SW5kaWNhdGlvbhIbCglpbnRmX3R5cGUYBSABKAlSCGludGZUeXBlEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYCCABKAdSBW9udUlkEhUKBnVuaV9pZBgJIAEoB1IFdW5pSWQSHQoKZ2VtcG9ydF9pZBgCIAEoB1IJZ2VtcG9ydElkEhcKB2Zsb3dfaWQYAyABKAdSBmZsb3dJZBIXCgdwb3J0X25vGAYgASgHUgZwb3J0Tm8SFgoGY29va2llGAcgASgGUgZjb29raWUSEAoDcGt0GAQgASgMUgNwa3QiJAoJSW50ZXJmYWNlEhcKB2ludGZfaWQYASABKAdSBmludGZJZCI8CglIZWFydGJlYXQSLwoTaGVhcnRiZWF0X3NpZ25hdHVyZRgBIAEoB1ISaGVhcnRiZWF0U2lnbmF0dXJlIqwBCgNPbnUSFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSOgoNc2VyaWFsX251bWJlchgDIAEoCzIVLm9wZW5vbHQuU2VyaWFsTnVtYmVyUgxzZXJpYWxOdW1iZXISEAoDcGlyGAQgASgHUgNwaXISJwoPb21jY19lbmNyeXB0aW9uGAUgASgIUg5vbWNjRW5jcnlwdGlvbiKxAQoST251TG9naWNhbERpc3RhbmNlEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEjkKGWxvZ2ljYWxfb251X2Rpc3RhbmNlX3plcm8YAyABKAdSFmxvZ2ljYWxPbnVEaXN0YW5jZVplcm8SMAoUbG9naWNhbF9vbnVfZGlzdGFuY2UYBCABKAdSEmxvZ2ljYWxPbnVEaXN0YW5jZSJLCgdPbWNpTXNnEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhAKA3BrdBgDIAEoDFIDcGt0IoUBCglPbnVQYWNrZXQSFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFwoHcG9ydF9ubxgEIAEoB1IGcG9ydE5vEh0KCmdlbXBvcnRfaWQYBSABKAdSCWdlbXBvcnRJZBIQCgNwa3QYAyABKAxSA3BrdCI5CgxVcGxpbmtQYWNrZXQSFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhAKA3BrdBgCIAEoDFIDcGt0IsUJCgpEZXZpY2VJbmZvEhYKBnZlbmRvchgBIAEoCVIGdmVuZG9yEhQKBW1vZGVsGAIgASgJUgVtb2RlbBIpChBoYXJkd2FyZV92ZXJzaW9uGAMgASgJUg9oYXJkd2FyZVZlcnNpb24SKQoQZmlybXdhcmVfdmVyc2lvbhgEIAEoCVIPZmlybXdhcmVWZXJzaW9uEhsKCWRldmljZV9pZBgQIAEoCVIIZGV2aWNlSWQSMAoUZGV2aWNlX3NlcmlhbF9udW1iZXIYESABKAlSEmRldmljZVNlcmlhbE51bWJlchIxChRwcmV2aW91c2x5X2Nvbm5lY3RlZBgTIAEoCFITcHJldmlvdXNseUNvbm5lY3RlZBIbCglwb25fcG9ydHMYDCABKAdSCHBvblBvcnRzEh4KCnRlY2hub2xvZ3kYBSABKAlSCnRlY2hub2xvZ3kSIAoMb251X2lkX3N0YXJ0GAYgASgHUgpvbnVJZFN0YXJ0EhwKCm9udV9pZF9lbmQYByABKAdSCG9udUlkRW5kEiQKDmFsbG9jX2lkX3N0YXJ0GAggASgHUgxhbGxvY0lkU3RhcnQSIAoMYWxsb2NfaWRfZW5kGAkgASgHUgphbGxvY0lkRW5kEigKEGdlbXBvcnRfaWRfc3RhcnQYCiABKAdSDmdlbXBvcnRJZFN0YXJ0EiQKDmdlbXBvcnRfaWRfZW5kGAsgASgHUgxnZW1wb3J0SWRFbmQSIgoNZmxvd19pZF9zdGFydBgNIAEoB1ILZmxvd0lkU3RhcnQSHgoLZmxvd19pZF9lbmQYDiABKAdSCWZsb3dJZEVuZBJACgZyYW5nZXMYDyADKAsyKC5vcGVub2x0LkRldmljZUluZm8uRGV2aWNlUmVzb3VyY2VSYW5nZXNSBnJhbmdlcxqVBAoURGV2aWNlUmVzb3VyY2VSYW5nZXMSGQoIaW50Zl9pZHMYASADKAdSB2ludGZJZHMSHgoKdGVjaG5vbG9neRgCIAEoCVIKdGVjaG5vbG9neRJDCgVwb29scxgDIAMoCzItLm9wZW5vbHQuRGV2aWNlSW5mby5EZXZpY2VSZXNvdXJjZVJhbmdlcy5Qb29sUgVwb29scxr8AgoEUG9vbBJKCgR0eXBlGAEgASgOMjYub3Blbm9sdC5EZXZpY2VJbmZvLkRldmljZVJlc291cmNlUmFuZ2VzLlBvb2wuUG9vbFR5cGVSBHR5cGUSUwoHc2hhcmluZxgCIAEoDjI5Lm9wZW5vbHQuRGV2aWNlSW5mby5EZXZpY2VSZXNvdXJjZVJhbmdlcy5Qb29sLlNoYXJpbmdUeXBlUgdzaGFyaW5nEhQKBXN0YXJ0GAMgASgHUgVzdGFydBIQCgNlbmQYBCABKAdSA2VuZCJBCghQb29sVHlwZRIKCgZPTlVfSUQQABIMCghBTExPQ19JRBABEg4KCkdFTVBPUlRfSUQQAhILCgdGTE9XX0lEEAMiaAoLU2hhcmluZ1R5cGUSFgoSREVESUNBVEVEX1BFUl9JTlRGEAASHwobU0hBUkVEX0JZX0FMTF9JTlRGX0FMTF9URUNIEAESIAocU0hBUkVEX0JZX0FMTF9JTlRGX1NBTUVfVEVDSBACIoQDCgpDbGFzc2lmaWVyEhUKBm9fdHBpZBgBIAEoB1IFb1RwaWQSEwoFb192aWQYAiABKAdSBG9WaWQSFQoGaV90cGlkGAMgASgHUgVpVHBpZBITCgVpX3ZpZBgEIAEoB1IEaVZpZBIXCgdvX3BiaXRzGAUgASgHUgZvUGJpdHMSFwoHaV9wYml0cxgGIAEoB1IGaVBiaXRzEhkKCGV0aF90eXBlGAcgASgHUgdldGhUeXBlEhcKB2RzdF9tYWMYCCABKAxSBmRzdE1hYxIXCgdzcmNfbWFjGAkgASgMUgZzcmNNYWMSGQoIaXBfcHJvdG8YCiABKAdSB2lwUHJvdG8SFQoGZHN0X2lwGAsgASgHUgVkc3RJcBIVCgZzcmNfaXAYDCABKAdSBXNyY0lwEhkKCHNyY19wb3J0GA0gASgHUgdzcmNQb3J0EhkKCGRzdF9wb3J0GA4gASgHUgdkc3RQb3J0EiAKDHBrdF90YWdfdHlwZRgPIAEoCVIKcGt0VGFnVHlwZSKFAwoJQWN0aW9uQ21kEiIKDWFkZF9vdXRlcl90YWcYASABKAhSC2FkZE91dGVyVGFnEigKEHJlbW92ZV9vdXRlcl90YWcYAiABKAhSDnJlbW92ZU91dGVyVGFnEiAKDHRyYXBfdG9faG9zdBgDIAEoCFIKdHJhcFRvSG9zdBIsChJyZW1hcmtfb3V0ZXJfcGJpdHMYBCABKAhSEHJlbWFya091dGVyUGJpdHMSLAoScmVtYXJrX2lubmVyX3BiaXRzGAUgASgIUhByZW1hcmtJbm5lclBiaXRzEiIKDWFkZF9pbm5lcl90YWcYBiABKAhSC2FkZElubmVyVGFnEigKEHJlbW92ZV9pbm5lcl90YWcYByABKAhSDnJlbW92ZUlubmVyVGFnEi4KE3RyYW5zbGF0ZV9pbm5lcl90YWcYCCABKAhSEXRyYW5zbGF0ZUlubmVyVGFnEi4KE3RyYW5zbGF0ZV9vdXRlcl90YWcYCSABKAhSEXRyYW5zbGF0ZU91dGVyVGFnIrgBCgZBY3Rpb24SJAoDY21kGAEgASgLMhIub3Blbm9sdC5BY3Rpb25DbWRSA2NtZBITCgVvX3ZpZBgCIAEoB1IEb1ZpZBIXCgdvX3BiaXRzGAMgASgHUgZvUGJpdHMSFQoGb190cGlkGAQgASgHUgVvVHBpZBITCgVpX3ZpZBgFIAEoB1IEaVZpZBIXCgdpX3BiaXRzGAYgASgHUgZpUGJpdHMSFQoGaV90cGlkGAcgASgHUgVpVHBpZCLHBgoERmxvdxIkCg5hY2Nlc3NfaW50Zl9pZBgBIAEoD1IMYWNjZXNzSW50ZklkEhUKBm9udV9pZBgCIAEoD1IFb251SWQSFQoGdW5pX2lkGAsgASgPUgV1bmlJZBIXCgdmbG93X2lkGAMgASgGUgZmbG93SWQSKgoRc3ltbWV0cmljX2Zsb3dfaWQYEiABKAZSD3N5bW1ldHJpY0Zsb3dJZBIbCglmbG93X3R5cGUYBCABKAlSCGZsb3dUeXBlEhkKCGFsbG9jX2lkGAogASgPUgdhbGxvY0lkEiYKD25ldHdvcmtfaW50Zl9pZBgFIAEoD1INbmV0d29ya0ludGZJZBIdCgpnZW1wb3J0X2lkGAYgASgPUglnZW1wb3J0SWQSMwoKY2xhc3NpZmllchgHIAEoCzITLm9wZW5vbHQuQ2xhc3NpZmllclIKY2xhc3NpZmllchInCgZhY3Rpb24YCCABKAsyDy5vcGVub2x0LkFjdGlvblIGYWN0aW9uEhoKCHByaW9yaXR5GAkgASgPUghwcmlvcml0eRIWCgZjb29raWUYDCABKAZSBmNvb2tpZRIXCgdwb3J0X25vGA0gASgHUgZwb3J0Tm8SGQoIZ3JvdXBfaWQYDiABKAdSB2dyb3VwSWQSJgoPdGVjaF9wcm9maWxlX2lkGA8gASgHUg10ZWNoUHJvZmlsZUlkEiUKDnJlcGxpY2F0ZV9mbG93GBAgASgIUg1yZXBsaWNhdGVGbG93EkgKD3BiaXRfdG9fZ2VtcG9ydBgRIAMoCzIgLm9wZW5vbHQuRmxvdy5QYml0VG9HZW1wb3J0RW50cnlSDXBiaXRUb0dlbXBvcnQSRQoOZ2VtcG9ydF90b19hZXMYEyADKAsyHy5vcGVub2x0LkZsb3cuR2VtcG9ydFRvQWVzRW50cnlSDGdlbXBvcnRUb0FlcxpAChJQYml0VG9HZW1wb3J0RW50cnkSEAoDa2V5GAEgASgHUgNrZXkSFAoFdmFsdWUYAiABKAdSBXZhbHVlOgI4ARo/ChFHZW1wb3J0VG9BZXNFbnRyeRIQCgNrZXkYASABKAdSA2tleRIUCgV2YWx1ZRgCIAEoCFIFdmFsdWU6AjgBIlQKDFNlcmlhbE51bWJlchIbCgl2ZW5kb3JfaWQYASABKAxSCHZlbmRvcklkEicKD3ZlbmRvcl9zcGVjaWZpYxgCIAEoDFIOdmVuZG9yU3BlY2lmaWMi/gsKDlBvcnRTdGF0aXN0aWNzEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIZCghyeF9ieXRlcxgCIAEoBlIHcnhCeXRlcxIdCgpyeF9wYWNrZXRzGAMgASgGUglyeFBhY2tldHMSKAoQcnhfdWNhc3RfcGFja2V0cxgEIAEoBlIOcnhVY2FzdFBhY2tldHMSKAoQcnhfbWNhc3RfcGFja2V0cxgFIAEoBlIOcnhNY2FzdFBhY2tldHMSKAoQcnhfYmNhc3RfcGFja2V0cxgGIAEoBlIOcnhCY2FzdFBhY2tldHMSKAoQcnhfZXJyb3JfcGFja2V0cxgHIAEoBlIOcnhFcnJvclBhY2tldHMSGwoJcnhfZnJhbWVzGBEgASgGUghyeEZyYW1lcxIgCgxyeF9mcmFtZXNfNjQYEiABKAZSCnJ4RnJhbWVzNjQSJwoQcnhfZnJhbWVzXzY1XzEyNxgTIAEoBlINcnhGcmFtZXM2NTEyNxIpChFyeF9mcmFtZXNfMTI4XzI1NRgUIAEoBlIOcnhGcmFtZXMxMjgyNTUSKQoRcnhfZnJhbWVzXzI1Nl81MTEYFSABKAZSDnJ4RnJhbWVzMjU2NTExEisKEnJ4X2ZyYW1lc181MTJfMTAyMxgWIAEoBlIPcnhGcmFtZXM1MTIxMDIzEi0KE3J4X2ZyYW1lc18xMDI0XzE1MTgYFyABKAZSEHJ4RnJhbWVzMTAyNDE1MTgSLQoTcnhfZnJhbWVzXzE1MTlfMjA0NxgYIAEoBlIQcnhGcmFtZXMxNTE5MjA0NxItChNyeF9mcmFtZXNfMjA0OF80MDk1GBkgASgGUhByeEZyYW1lczIwNDg0MDk1Ei0KE3J4X2ZyYW1lc180MDk2XzkyMTYYGiABKAZSEHJ4RnJhbWVzNDA5NjkyMTYSLwoUcnhfZnJhbWVzXzkyMTdfMTYzODMYGyABKAZSEXJ4RnJhbWVzOTIxNzE2MzgzEiIKDXJ4X2NyY19lcnJvcnMYDiABKAZSC3J4Q3JjRXJyb3JzEhkKCHR4X2J5dGVzGAggASgGUgd0eEJ5dGVzEh0KCnR4X3BhY2tldHMYCSABKAZSCXR4UGFja2V0cxIoChB0eF91Y2FzdF9wYWNrZXRzGAogASgGUg50eFVjYXN0UGFja2V0cxIoChB0eF9tY2FzdF9wYWNrZXRzGAsgASgGUg50eE1jYXN0UGFja2V0cxIoChB0eF9iY2FzdF9wYWNrZXRzGAwgASgGUg50eEJjYXN0UGFja2V0cxIoChB0eF9lcnJvcl9wYWNrZXRzGA0gASgGUg50eEVycm9yUGFja2V0cxIbCgl0eF9mcmFtZXMYHCABKAZSCHR4RnJhbWVzEiAKDHR4X2ZyYW1lc182NBgdIAEoBlIKdHhGcmFtZXM2NBInChB0eF9mcmFtZXNfNjVfMTI3GB4gASgGUg10eEZyYW1lczY1MTI3EikKEXR4X2ZyYW1lc18xMjhfMjU1GB8gASgGUg50eEZyYW1lczEyODI1NRIpChF0eF9mcmFtZXNfMjU2XzUxMRggIAEoBlIOdHhGcmFtZXMyNTY1MTESKwoSdHhfZnJhbWVzXzUxMl8xMDIzGCEgASgGUg90eEZyYW1lczUxMjEwMjMSLQoTdHhfZnJhbWVzXzEwMjRfMTUxOBgiIAEoBlIQdHhGcmFtZXMxMDI0MTUxOBItChN0eF9mcmFtZXNfMTUxOV8yMDQ3GCMgASgGUhB0eEZyYW1lczE1MTkyMDQ3Ei0KE3R4X2ZyYW1lc18yMDQ4XzQwOTUYJCABKAZSEHR4RnJhbWVzMjA0ODQwOTUSLQoTdHhfZnJhbWVzXzQwOTZfOTIxNhglIAEoBlIQdHhGcmFtZXM0MDk2OTIxNhIvChR0eF9mcmFtZXNfOTIxN18xNjM4MxgmIAEoBlIRdHhGcmFtZXM5MjE3MTYzODMSHQoKYmlwX2Vycm9ycxgPIAEoBlIJYmlwRXJyb3JzEhwKCXRpbWVzdGFtcBgQIAEoB1IJdGltZXN0YW1wIuYHCg1PbnVTdGF0aXN0aWNzEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEiUKDnBvc2l0aXZlX2RyaWZ0GAMgASgGUg1wb3NpdGl2ZURyaWZ0EiUKDm5lZ2F0aXZlX2RyaWZ0GAQgASgGUg1uZWdhdGl2ZURyaWZ0EjgKGGRlbGltaXRlcl9taXNzX2RldGVjdGlvbhgFIAEoBlIWZGVsaW1pdGVyTWlzc0RldGVjdGlvbhIdCgpiaXBfZXJyb3JzGAYgASgGUgliaXBFcnJvcnMSGwoJYmlwX3VuaXRzGAcgASgGUghiaXBVbml0cxIyChVmZWNfY29ycmVjdGVkX3N5bWJvbHMYCCABKAZSE2ZlY0NvcnJlY3RlZFN5bWJvbHMSNgoXZmVjX2NvZGV3b3Jkc19jb3JyZWN0ZWQYCSABKAZSFWZlY0NvZGV3b3Jkc0NvcnJlY3RlZBI+ChtmZWNfY29kZXdvcmRzX3VuY29ycmVjdGFibGUYCiABKAZSGWZlY0NvZGV3b3Jkc1VuY29ycmVjdGFibGUSIwoNZmVjX2NvZGV3b3JkcxgLIAEoBlIMZmVjQ29kZXdvcmRzEi4KE2ZlY19jb3JyZWN0ZWRfdW5pdHMYDCABKAZSEWZlY0NvcnJlY3RlZFVuaXRzEiYKD3hnZW1fa2V5X2Vycm9ycxgNIAEoBlINeGdlbUtleUVycm9ycxIbCgl4Z2VtX2xvc3MYDiABKAZSCHhnZW1Mb3NzEiYKD3J4X3Bsb2Ftc19lcnJvchgPIAEoBlINcnhQbG9hbXNFcnJvchIrChJyeF9wbG9hbXNfbm9uX2lkbGUYECABKAZSD3J4UGxvYW1zTm9uSWRsZRIXCgdyeF9vbWNpGBEgASgGUgZyeE9tY2kSOAoZcnhfb21jaV9wYWNrZXRzX2NyY19lcnJvchgSIAEoBlIVcnhPbWNpUGFja2V0c0NyY0Vycm9yEhkKCHJ4X2J5dGVzGBMgASgGUgdyeEJ5dGVzEh0KCnJ4X3BhY2tldHMYFCABKAZSCXJ4UGFja2V0cxIZCgh0eF9ieXRlcxgVIAEoBlIHdHhCeXRlcxIdCgp0eF9wYWNrZXRzGBYgASgGUgl0eFBhY2tldHMSIQoMYmVyX3JlcG9ydGVkGBcgASgGUgtiZXJSZXBvcnRlZBIfCgtsY2RnX2Vycm9ycxgYIAEoBlIKbGNkZ0Vycm9ycxIdCgpyZGlfZXJyb3JzGBkgASgGUglyZGlFcnJvcnMSHAoJdGltZXN0YW1wGBogASgHUgl0aW1lc3RhbXAi3QEKEUdlbVBvcnRTdGF0aXN0aWNzEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIdCgpnZW1wb3J0X2lkGAIgASgHUglnZW1wb3J0SWQSHQoKcnhfcGFja2V0cxgDIAEoBlIJcnhQYWNrZXRzEhkKCHJ4X2J5dGVzGAQgASgGUgdyeEJ5dGVzEh0KCnR4X3BhY2tldHMYBSABKAZSCXR4UGFja2V0cxIZCgh0eF9ieXRlcxgGIAEoBlIHdHhCeXRlcxIcCgl0aW1lc3RhbXAYGiABKAdSCXRpbWVzdGFtcCK7AQoORmxvd1N0YXRpc3RpY3MSFwoHZmxvd19pZBgBIAEoB1IGZmxvd0lkEhkKCHJ4X2J5dGVzGAIgASgGUgdyeEJ5dGVzEh0KCnJ4X3BhY2tldHMYAyABKAZSCXJ4UGFja2V0cxIZCgh0eF9ieXRlcxgIIAEoBlIHdHhCeXRlcxIdCgp0eF9wYWNrZXRzGAkgASgGUgl0eFBhY2tldHMSHAoJdGltZXN0YW1wGBAgASgHUgl0aW1lc3RhbXAiQAoNTG9zSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFgoGc3RhdHVzGAIgASgJUgZzdGF0dXMiXQoTRHlpbmdHYXNwSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIWCgZzdGF0dXMYAyABKAlSBnN0YXR1cyKjAgoST251QWxhcm1JbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEh0KCmxvc19zdGF0dXMYAyABKAlSCWxvc1N0YXR1cxIdCgpsb2Jfc3RhdHVzGAQgASgJUglsb2JTdGF0dXMSKAoQbG9wY19taXNzX3N0YXR1cxgFIAEoCVIObG9wY01pc3NTdGF0dXMSMQoVbG9wY19taWNfZXJyb3Jfc3RhdHVzGAYgASgJUhJsb3BjTWljRXJyb3JTdGF0dXMSHwoLbG9maV9zdGF0dXMYByABKAlSCmxvZmlTdGF0dXMSIQoMbG9hbWlfc3RhdHVzGAggASgJUgtsb2FtaVN0YXR1cyJlChtPbnVTdGFydHVwRmFpbHVyZUluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFgoGc3RhdHVzGAMgASgJUgZzdGF0dXMimQEKGk9udVNpZ25hbERlZ3JhZGVJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhYKBnN0YXR1cxgDIAEoCVIGc3RhdHVzEjMKFmludmVyc2VfYml0X2Vycm9yX3JhdGUYBCABKAdSE2ludmVyc2VCaXRFcnJvclJhdGUikwEKGk9udURyaWZ0T2ZXaW5kb3dJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhYKBnN0YXR1cxgDIAEoCVIGc3RhdHVzEhQKBWRyaWZ0GAQgASgHUgVkcmlmdBIXCgduZXdfZXFkGAUgASgHUgZuZXdFcWQiaAoeT251TG9zc09mT21jaUNoYW5uZWxJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhYKBnN0YXR1cxgDIAEoCVIGc3RhdHVzIpoBChtPbnVTaWduYWxzRmFpbHVyZUluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFgoGc3RhdHVzGAMgASgJUgZzdGF0dXMSMwoWaW52ZXJzZV9iaXRfZXJyb3JfcmF0ZRgEIAEoB1ITaW52ZXJzZUJpdEVycm9yUmF0ZSKCAQoiT251VHJhbnNtaXNzaW9uSW50ZXJmZXJlbmNlV2FybmluZxIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIWCgZzdGF0dXMYAyABKAlSBnN0YXR1cxIUCgVkcmlmdBgEIAEoB1IFZHJpZnQicQoeT251QWN0aXZhdGlvbkZhaWx1cmVJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEh8KC2ZhaWxfcmVhc29uGAMgASgHUgpmYWlsUmVhc29uImsKIU9udUxvc3NPZktleVN5bmNGYWlsdXJlSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIWCgZzdGF0dXMYAyABKAlSBnN0YXR1cyJUChJSZGlFcnJvckluZGljYXRpb24SJgoPcmRpX2Vycm9yX2NvdW50GAEgASgGUg1yZGlFcnJvckNvdW50EhYKBnN0YXR1cxgCIAEoCVIGc3RhdHVzIpYBChhPbnVJdHVQb25TdGF0c0luZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSQQoNcmRpX2Vycm9yX2luZBgDIAEoCzIbLm9wZW5vbHQuUmRpRXJyb3JJbmRpY2F0aW9uSABSC3JkaUVycm9ySW5kQgcKBXN0YXRzIk4KHE9udVByb2Nlc3NpbmdFcnJvckluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQiagogT251RGVhY3RpdmF0aW9uRmFpbHVyZUluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFgoGc3RhdHVzGAMgASgJUgZzdGF0dXMiagoZT251UmVtb3RlRGVmZWN0SW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIdCgpyZGlfZXJyb3JzGAMgASgGUglyZGlFcnJvcnMioQEKKE9udUxvc3NPZkdFTUNoYW5uZWxEZWxpbmVhdGlvbkluZGljYXRpb24SFwoHaW50Zl9pZBgBIAEoB1IGaW50ZklkEhUKBm9udV9pZBgCIAEoB1IFb251SWQSFgoGc3RhdHVzGAMgASgJUgZzdGF0dXMSLQoSZGVsaW5lYXRpb25fZXJyb3JzGAQgASgHUhFkZWxpbmVhdGlvbkVycm9ycyJtCiNPbnVQaHlzaWNhbEVxdWlwbWVudEVycm9ySW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIWCgZzdGF0dXMYAyABKAlSBnN0YXR1cyJsCiJPbnVMb3NzT2ZBY2tub3dsZWRnZW1lbnRJbmRpY2F0aW9uEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhYKBnN0YXR1cxgDIAEoCVIGc3RhdHVzIowBCiZPbnVEaWZmZXJlbnRpYWxSZWFjaEV4Y2VlZGVkSW5kaWNhdGlvbhIXCgdpbnRmX2lkGAEgASgHUgZpbnRmSWQSFQoGb251X2lkGAIgASgHUgVvbnVJZBIWCgZzdGF0dXMYAyABKAlSBnN0YXR1cxIaCghkaXN0YW5jZRgEIAEoB1IIZGlzdGFuY2Ui9gEKC0dyb3VwTWVtYmVyEiEKDGludGVyZmFjZV9pZBgBIAEoDVILaW50ZXJmYWNlSWQSSQoOaW50ZXJmYWNlX3R5cGUYAiABKA4yIi5vcGVub2x0Lkdyb3VwTWVtYmVyLkludGVyZmFjZVR5cGVSDWludGVyZmFjZVR5cGUSHgoLZ2VtX3BvcnRfaWQYAyABKA1SCWdlbVBvcnRJZBIaCghwcmlvcml0eRgEIAEoDVIIcHJpb3JpdHkiPQoNSW50ZXJmYWNlVHlwZRIHCgNQT04QABIQCgxFUE9OXzFHX1BBVEgQARIRCg1FUE9OXzEwR19QQVRIEAIihgIKBUdyb3VwEhkKCGdyb3VwX2lkGAEgASgNUgdncm91cElkEjwKB2NvbW1hbmQYAiABKA4yIi5vcGVub2x0Lkdyb3VwLkdyb3VwTWVtYmVyc0NvbW1hbmRSB2NvbW1hbmQSLgoHbWVtYmVycxgDIAMoCzIULm9wZW5vbHQuR3JvdXBNZW1iZXJSB21lbWJlcnMSJwoGYWN0aW9uGAQgASgLMg8ub3Blbm9sdC5BY3Rpb25SBmFjdGlvbiJLChNHcm91cE1lbWJlcnNDb21tYW5kEg8KC0FERF9NRU1CRVJTEAASEgoOUkVNT1ZFX01FTUJFUlMQARIPCgtTRVRfTUVNQkVSUxACIl0KClZhbHVlUGFyYW0SHgoDb251GAEgASgLMgwub3Blbm9sdC5PbnVSA29udRIvCgV2YWx1ZRgCIAEoDjIZLmV4dGVuc2lvbi5WYWx1ZVR5cGUuVHlwZVIFdmFsdWUiwwIKDlBvblJ4UG93ZXJEYXRhEhcKB2ludGZfaWQYASABKAdSBmludGZJZBIVCgZvbnVfaWQYAiABKAdSBW9udUlkEhYKBnN0YXR1cxgDIAEoCVIGc3RhdHVzElIKC2ZhaWxfcmVhc29uGAQgASgOMjEub3Blbm9sdC5Qb25SeFBvd2VyRGF0YS5Sc3NpTWVhc3VyZW1lbnRGYWlsUmVhc29uUgpmYWlsUmVhc29uEikKEXJ4X3Bvd2VyX21lYW5fZGJtGAUgASgBUg5yeFBvd2VyTWVhbkRibSJqChlSc3NpTWVhc3VyZW1lbnRGYWlsUmVhc29uEhQKEEZBSUxfUkVBU09OX05PTkUQABIcChhGQUlMX1JFQVNPTl9OT19ERUxJTUlURVIQARIZChVGQUlMX1JFQVNPTl9OT19BQ0NFU1MQAiIHCgVFbXB0eTKfFAoHT3Blbm9sdBJECgpEaXNhYmxlT2x0Eg4ub3Blbm9sdC5FbXB0eRoOLm9wZW5vbHQuRW1wdHkiFoLT5JMCECILL3YxL0Rpc2FibGU6ASoSRgoLUmVlbmFibGVPbHQSDi5vcGVub2x0LkVtcHR5Gg4ub3Blbm9sdC5FbXB0eSIXgtPkkwIRIgwvdjEvUmVlbmFibGU6ASoSRQoLQWN0aXZhdGVPbnUSDC5vcGVub2x0Lk9udRoOLm9wZW5vbHQuRW1wdHkiGILT5JMCEiINL3YxL0VuYWJsZU9udToBKhJICg1EZWFjdGl2YXRlT251Egwub3Blbm9sdC5PbnUaDi5vcGVub2x0LkVtcHR5IhmC0+STAhMiDi92MS9EaXNhYmxlT251OgEqEkMKCURlbGV0ZU9udRIMLm9wZW5vbHQuT251Gg4ub3Blbm9sdC5FbXB0eSIYgtPkkwISIg0vdjEvRGVsZXRlT251OgEqEkkKCk9tY2lNc2dPdXQSEC5vcGVub2x0Lk9tY2lNc2caDi5vcGVub2x0LkVtcHR5IhmC0+STAhMiDi92MS9PbWNpTXNnT3V0OgEqEk8KDE9udVBhY2tldE91dBISLm9wZW5vbHQuT251UGFja2V0Gg4ub3Blbm9sdC5FbXB0eSIbgtPkkwIVIhAvdjEvT251UGFja2V0T3V0OgEqElgKD1VwbGlua1BhY2tldE91dBIVLm9wZW5vbHQuVXBsaW5rUGFja2V0Gg4ub3Blbm9sdC5FbXB0eSIegtPkkwIYIhMvdjEvVXBsaW5rUGFja2V0T3V0OgEqEkAKB0Zsb3dBZGQSDS5vcGVub2x0LkZsb3caDi5vcGVub2x0LkVtcHR5IhaC0+STAhAiCy92MS9GbG93QWRkOgEqEkYKCkZsb3dSZW1vdmUSDS5vcGVub2x0LkZsb3caDi5vcGVub2x0LkVtcHR5IhmC0+STAhMiDi92MS9GbG93UmVtb3ZlOgEqElMKDkhlYXJ0YmVhdENoZWNrEg4ub3Blbm9sdC5FbXB0eRoSLm9wZW5vbHQuSGVhcnRiZWF0Ih2C0+STAhciEi92MS9IZWFydGJlYXRDaGVjazoBKhJNCgtFbmFibGVQb25JZhISLm9wZW5vbHQuSW50ZXJmYWNlGg4ub3Blbm9sdC5FbXB0eSIagtPkkwIUIg8vdjEvRW5hYmxlUG9uSWY6ASoSTwoMRGlzYWJsZVBvbklmEhIub3Blbm9sdC5JbnRlcmZhY2UaDi5vcGVub2x0LkVtcHR5IhuC0+STAhUiEC92MS9EaXNhYmxlUG9uSWY6ASoSUgoNR2V0RGV2aWNlSW5mbxIOLm9wZW5vbHQuRW1wdHkaEy5vcGVub2x0LkRldmljZUluZm8iHILT5JMCFiIRL3YxL0dldERldmljZUluZm86ASoSPwoGUmVib290Eg4ub3Blbm9sdC5FbXB0eRoOLm9wZW5vbHQuRW1wdHkiFYLT5JMCDyIKL3YxL1JlYm9vdDoBKhJVChFDb2xsZWN0U3RhdGlzdGljcxIOLm9wZW5vbHQuRW1wdHkaDi5vcGVub2x0LkVtcHR5IiCC0+STAhoiFS92MS9Db2xsZWN0U3RhdGlzdGljczoBKhJZChBHZXRPbnVTdGF0aXN0aWNzEgwub3Blbm9sdC5PbnUaFi5vcGVub2x0Lk9udVN0YXRpc3RpY3MiH4LT5JMCGSIUL3YxL0dldE9udVN0YXRpc3RpY3M6ASoSawoUR2V0R2VtUG9ydFN0YXRpc3RpY3MSEi5vcGVub2x0Lk9udVBhY2tldBoaLm9wZW5vbHQuR2VtUG9ydFN0YXRpc3RpY3MiI4LT5JMCHSIYL3YxL0dldEdlbVBvcnRTdGF0aXN0aWNzOgEqEnIKF0NyZWF0ZVRyYWZmaWNTY2hlZHVsZXJzEh8udGVjaF9wcm9maWxlLlRyYWZmaWNTY2hlZHVsZXJzGg4ub3Blbm9sdC5FbXB0eSImgtPkkwIgIhsvdjEvQ3JlYXRlVHJhZmZpY1NjaGVkdWxlcnM6ASoScgoXUmVtb3ZlVHJhZmZpY1NjaGVkdWxlcnMSHy50ZWNoX3Byb2ZpbGUuVHJhZmZpY1NjaGVkdWxlcnMaDi5vcGVub2x0LkVtcHR5IiaC0+STAiAiGy92MS9SZW1vdmVUcmFmZmljU2NoZWR1bGVyczoBKhJmChNDcmVhdGVUcmFmZmljUXVldWVzEhsudGVjaF9wcm9maWxlLlRyYWZmaWNRdWV1ZXMaDi5vcGVub2x0LkVtcHR5IiKC0+STAhwiFy92MS9DcmVhdGVUcmFmZmljUXVldWVzOgEqEmYKE1JlbW92ZVRyYWZmaWNRdWV1ZXMSGy50ZWNoX3Byb2ZpbGUuVHJhZmZpY1F1ZXVlcxoOLm9wZW5vbHQuRW1wdHkiIoLT5JMCHCIXL3YxL1JlbW92ZVRyYWZmaWNRdWV1ZXM6ASoSOwoQRW5hYmxlSW5kaWNhdGlvbhIOLm9wZW5vbHQuRW1wdHkaEy5vcGVub2x0LkluZGljYXRpb24iADABEl0KFVBlcmZvcm1Hcm91cE9wZXJhdGlvbhIOLm9wZW5vbHQuR3JvdXAaDi5vcGVub2x0LkVtcHR5IiSC0+STAh4iGS92MS9QZXJmb3JtR3JvdXBPcGVyYXRpb246ASoSSQoLRGVsZXRlR3JvdXASDi5vcGVub2x0Lkdyb3VwGg4ub3Blbm9sdC5FbXB0eSIagtPkkwIUIg8vdjEvRGVsZXRlR3JvdXA6ASoSVwoLR2V0RXh0VmFsdWUSEy5vcGVub2x0LlZhbHVlUGFyYW0aFy5leHRlbnNpb24uUmV0dXJuVmFsdWVzIhqC0+STAhQiDy92MS9HZXRFeHRWYWx1ZToBKhJdChFPbnVJdHVQb25BbGFybVNldBIWLmNvbmZpZy5PbnVJdHVQb25BbGFybRoOLm9wZW5vbHQuRW1wdHkiIILT5JMCGiIVL3YxL09udUl0dVBvbkFsYXJtU2V0OgEqEnAKGUdldExvZ2ljYWxPbnVEaXN0YW5jZVplcm8SDC5vcGVub2x0Lk9udRobLm9wZW5vbHQuT251TG9naWNhbERpc3RhbmNlIiiC0+STAiIiHS92MS9HZXRMb2dpY2FsT251RGlzdGFuY2VaZXJvOgEqEmgKFUdldExvZ2ljYWxPbnVEaXN0YW5jZRIMLm9wZW5vbHQuT251Ghsub3Blbm9sdC5PbnVMb2dpY2FsRGlzdGFuY2UiJILT5JMCHiIZL3YxL0dldExvZ2ljYWxPbnVEaXN0YW5jZToBKhJUCg1HZXRQb25SeFBvd2VyEgwub3Blbm9sdC5PbnUaFy5vcGVub2x0LlBvblJ4UG93ZXJEYXRhIhyC0+STAhYiES92MS9HZXRQb25SeFBvd2VyOgEqQl0KG29yZy5vcGVuY29yZC52b2x0aGEub3Blbm9sdEINVm9sdGhhT3Blbk9MVFovZ2l0aHViLmNvbS9vcGVuY29yZC92b2x0aGEtcHJvdG9zL3Y1L2dvL29wZW5vbHRK2PcBCgcSBQ4AgQYQCtEECgEMEgMOABIyxgQgQ29weXJpZ2h0IChjKSAyMDE4IE9wZW4gTmV0d29ya2luZyBGb3VuZGF0aW9uCgogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCiBZ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YgZwcm90bzMKmh0KIXZvbHRoYV9wcm90b3MvaW50ZXJfYWRhcHRlci5wcm90bxINaW50ZXJfYWRhcHRlchoadm9sdGhhX3Byb3Rvcy9jb21tb24ucHJvdG8aGnZvbHRoYV9wcm90b3Mvdm9sdGhhLnByb3RvGiB2b2x0aGFfcHJvdG9zL3RlY2hfcHJvZmlsZS5wcm90bxobdm9sdGhhX3Byb3Rvcy9vcGVub2x0LnByb3RvGhp2b2x0aGFfcHJvdG9zL2RldmljZS5wcm90byL/AQoLT21jaU1lc3NhZ2USGAoHbWVzc2FnZRgBIAEoDFIHbWVzc2FnZRJCCg5jb25uZWN0X3N0YXR1cxgCIAEoDjIbLmNvbW1vbi5Db25uZWN0U3RhdHVzLlR5cGVzUg1jb25uZWN0U3RhdHVzEkAKDXByb3h5X2FkZHJlc3MYAyABKAsyGy5kZXZpY2UuRGV2aWNlLlByb3h5QWRkcmVzc1IMcHJveHlBZGRyZXNzEigKEHBhcmVudF9kZXZpY2VfaWQYBCABKAlSDnBhcmVudERldmljZUlkEiYKD2NoaWxkX2RldmljZV9pZBgFIAEoCVINY2hpbGREZXZpY2VJZCKnAgoaVGVjaFByb2ZpbGVEb3dubG9hZE1lc3NhZ2USGwoJZGV2aWNlX2lkGAEgASgJUghkZXZpY2VJZBIVCgZ1bmlfaWQYAiABKA1SBXVuaUlkEigKEHRwX2luc3RhbmNlX3BhdGgYAyABKAlSDnRwSW5zdGFuY2VQYXRoEkQKC3RwX2luc3RhbmNlGAQgASgLMiEudGVjaF9wcm9maWxlLlRlY2hQcm9maWxlSW5zdGFuY2VIAFIKdHBJbnN0YW5jZRJRChBlcG9uX3RwX2luc3RhbmNlGAUgASgLMiUudGVjaF9wcm9maWxlLkVwb25UZWNoUHJvZmlsZUluc3RhbmNlSABSDmVwb25UcEluc3RhbmNlQhIKEHRlY2hfdHBfaW5zdGFuY2UilAEKFERlbGV0ZUdlbVBvcnRNZXNzYWdlEhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSFQoGdW5pX2lkGAIgASgNUgV1bmlJZBIoChB0cF9pbnN0YW5jZV9wYXRoGAMgASgJUg50cEluc3RhbmNlUGF0aBIeCgtnZW1fcG9ydF9pZBgEIAEoDVIJZ2VtUG9ydElkIo0BChJEZWxldGVUY29udE1lc3NhZ2USGwoJZGV2aWNlX2lkGAEgASgJUghkZXZpY2VJZBIVCgZ1bmlfaWQYAiABKA1SBXVuaUlkEigKEHRwX2luc3RhbmNlX3BhdGgYAyABKAlSDnRwSW5zdGFuY2VQYXRoEhkKCGFsbG9jX2lkGAQgASgNUgdhbGxvY0lkInIKFE9udUluZGljYXRpb25NZXNzYWdlEhsKCWRldmljZV9pZBgBIAEoCVIIZGV2aWNlSWQSPQoOb251X2luZGljYXRpb24YAiABKAsyFi5vcGVub2x0Lk9udUluZGljYXRpb25SDW9udUluZGljYXRpb24i6gEKIVRlY2hQcm9maWxlSW5zdGFuY2VSZXF1ZXN0TWVzc2FnZRIbCglkZXZpY2VfaWQYASABKAlSCGRldmljZUlkEigKEHRwX2luc3RhbmNlX3BhdGgYAiABKAlSDnRwSW5zdGFuY2VQYXRoEigKEHBhcmVudF9kZXZpY2VfaWQYAyABKAlSDnBhcmVudERldmljZUlkEiYKD3BhcmVudF9wb25fcG9ydBgEIAEoDVINcGFyZW50UG9uUG9ydBIVCgZvbnVfaWQYBSABKA1SBW9udUlkEhUKBnVuaV9pZBgGIAEoDVIFdW5pSWRCWgohb3JnLm9wZW5jb3JkLnZvbHRoYS5pbnRlcl9hZGFwdGVyWjVnaXRodWIuY29tL29wZW5jb3JkL3ZvbHRoYS1wcm90b3MvdjUvZ28vaW50ZXJfYWRhcHRlckq6EQoGEgQAADwBCggKAQwSAwAAEgoICgEIEgMCAEwKCQoCCAsSAwIATAoICgEIEgMDADoKCQoCCAESAwMAOgoJCgIDABIDBQAkCgkKAgMBEgMGACQKCQoCAwISAwcAKgoJCgIDAxIDCAAlCgkKAgMEEgMJACQKCAoBAhIDCwAWCiQKAgQAEgQQABYBMhggSW50ZXItQWRhcHRlciBtZXNzYWdlcwoKCgoDBAABEgMQCBMKCwoEBAACABIDEQQWCg0KBQQAAgAEEgQRBBAVCgwKBQQAAgAFEgMRBAkKDAoFBAACAAESAxEKEQoMCgUEAAIAAxIDERQVCgsKBAQAAgESAxIEMgoNCgUEAAIBBBIEEgQRFgoMCgUEAAIBBhIDEgQeCgwKBQQAAgEBEgMSHy0KDAoFBAACAQMSAxIwMQoLCgQEAAICEgMTBDEKDQoFBAACAgQSBBMEEjIKDAoFBAACAgYSAxMEHgoMCgUEAAICARIDEx8sCgwKBQQAAgIDEgMTLzAKCwoEBAACAxIDFAQgCg0KBQQAAgMEEgQUBBMxCgwKBQQAAgMFEgMUBAoKDAoFBAACAwESAxQLGwoMCgUEAAIDAxIDFB4fCgsKBAQAAgQSAxUEHwoNCgUEAAIEBBIEFQQUIAoMCgUEAAIEBRIDFQQKCgwKBQQAAgQBEgMVCxoKDAoFBAACBAMSAxUdHgoKCgIEARIEGAAgAQoKCgMEAQESAxgIIgoLCgQEAQIAEgMZBBkKDQoFBAECAAQSBBkEGCQKDAoFBAECAAUSAxkECgoMCgUEAQIAARIDGQsUCgwKBQQBAgADEgMZFxgKCwoEBAECARIDGgQWCg0KBQQBAgEEEgQaBBkZCgwKBQQBAgEFEgMaBAoKDAoFBAECAQESAxoLEQoMCgUEAQIBAxIDGhQVCgsKBAQBAgISAxsEIAoNCgUEAQICBBIEGwQaFgoMCgUEAQICBRIDGwQKCgwKBQQBAgIBEgMbCxsKDAoFBAECAgMSAxseHwoMCgQEAQgAEgQcBB8FCgwKBQQBCAABEgMcChoKQAoEBAECAxIDHQg5IjMgcmVsZXZhbnQgZm9yIEdQT04sIFhHUE9OIGFuZCBYR1MtUE9OIHRlY2hub2xvZ2llcwoKDAoFBAECAwYSAx0IKAoMCgUEAQIDARIDHSk0CgwKBQQBAgMDEgMdNzgKKwoEBAECBBIDHghCIh4gcmVsZXZhbnQgZm9yIEVQT04gdGVjaG5vbG9neQoKDAoFBAECBAYSAx4ILAoMCgUEAQIEARIDHi09CgwKBQQBAgQDEgMeQEEKCgoCBAISBCIAJwEKCgoDBAIBEgMiCBwKCwoEBAICABIDIwQZCg0KBQQCAgAEEgQjBCIeCgwKBQQCAgAFEgMjBAoKDAoFBAICAAESAyMLFAoMCgUEAgIAAxIDIxcYCgsKBAQCAgESAyQEFgoNCgUEAgIBBBIEJAQjGQoMCgUEAgIBBRIDJAQKCgwKBQQCAgEBEgMkCxEKDAoFBAICAQMSAyQUFQoLCgQEAgICEgMlBCAKDQoFBAICAgQSBCUEJBYKDAoFBAICAgUSAyUECgoMCgUEAgICARIDJQsbCgwKBQQCAgIDEgMlHh8KCwoEBAICAxIDJgQbCg0KBQQCAgMEEgQmBCUgCgwKBQQCAgMFEgMmBAoKDAoFBAICAwESAyYLFgoMCgUEAgIDAxIDJhkaCgoKAgQDEgQpAC4BCgoKAwQDARIDKQgaCgsKBAQDAgASAyoEGQoNCgUEAwIABBIEKgQpHAoMCgUEAwIABRIDKgQKCgwKBQQDAgABEgMqCxQKDAoFBAMCAAMSAyoXGAoLCgQEAwIBEgMrBBYKDQoFBAMCAQQSBCsEKhkKDAoFBAMCAQUSAysECgoMCgUEAwIBARIDKwsRCgwKBQQDAgEDEgMrFBUKCwoEBAMCAhIDLAQgCg0KBQQDAgIEEgQsBCsWCgwKBQQDAgIFEgMsBAoKDAoFBAMCAgESAywLGwoMCgUEAwICAxIDLB4fCgsKBAQDAgMSAy0EGAoNCgUEAwIDBBIELQQsIAoMCgUEAwIDBRIDLQQKCgwKBQQDAgMBEgMtCxMKDAoFBAMCAwMSAy0WFwoKCgIEBBIEMAAzAQoKCgMEBAESAzAIHAoLCgQEBAIAEgMxBBkKDQoFBAQCAAQSBDEEMB4KDAoFBAQCAAUSAzEECgoMCgUEBAIAARIDMQsUCgwKBQQEAgADEgMxFxgKCwoEBAQCARIDMgQtCg0KBQQEAgEEEgQyBDEZCgwKBQQEAgEGEgMyBBkKDAoFBAQCAQESAzIaKAoMCgUEBAIBAxIDMissCgoKAgQFEgQ1ADwBCgoKAwQFARIDNQgpCgsKBAQFAgASAzYEGQoNCgUEBQIABBIENgQ1KwoMCgUEBQIABRIDNgQKCgwKBQQFAgABEgM2CxQKDAoFBAUCAAMSAzYXGAovCgQEBQIBEgM3BCAiIiB0ZWNobm9sb2d5IHByb2ZpbGUgaW5zdGFuY2UgcGF0aAoKDQoFBAUCAQQSBDcENhkKDAoFBAUCAQUSAzcECgoMCgUEBQIBARIDNwsbCgwKBQQFAgEDEgM3Hh8KCwoEBAUCAhIDOAQgCg0KBQQFAgIEEgQ4BDcgCgwKBQQFAgIFEgM4BAoKDAoFBAUCAgESAzgLGwoMCgUEBQICAxIDOB4fCgsKBAQFAgMSAzkEHwoNCgUEBQIDBBIEOQQ4IAoMCgUEBQIDBRIDOQQKCgwKBQQFAgMBEgM5CxoKDAoFBAUCAwMSAzkdHgoLCgQEBQIEEgM6BBYKDQoFBAUCBAQSBDoEOR8KDAoFBAUCBAUSAzoECgoMCgUEBQIEARIDOgsRCgwKBQQFAgQDEgM6FBUKCwoEBAUCBRIDOwQWCg0KBQQFAgUEEgQ7BDoWCgwKBQQFAgUFEgM7BAoKDAoFBAUCBQESAzsLEQoMCgUEBQIFAxIDOxQVYgZwcm90bzMKsQgKLXZvbHRoYV9wcm90b3Mvb2x0X2ludGVyX2FkYXB0ZXJfc2VydmljZS5wcm90bxIZb2x0X2ludGVyX2FkYXB0ZXJfc2VydmljZRobZ29vZ2xlL3Byb3RvYnVmL2VtcHR5LnByb3RvGiF2b2x0aGFfcHJvdG9zL2ludGVyX2FkYXB0ZXIucHJvdG8aGnZvbHRoYV9wcm90b3MvaGVhbHRoLnByb3RvMpgCChZPbHRJbnRlckFkYXB0ZXJTZXJ2aWNlEj8KD0dldEhlYWx0aFN0YXR1cxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoULmhlYWx0aC5IZWFsdGhTdGF0dXMSRgoQUHJveHlPbWNpUmVxdWVzdBIaLmludGVyX2FkYXB0ZXIuT21jaU1lc3NhZ2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSdQoWR2V0VGVjaFByb2ZpbGVJbnN0YW5jZRIwLmludGVyX2FkYXB0ZXIuVGVjaFByb2ZpbGVJbnN0YW5jZVJlcXVlc3RNZXNzYWdlGikuaW50ZXJfYWRhcHRlci5UZWNoUHJvZmlsZURvd25sb2FkTWVzc2FnZUKQAQotb3JnLm9wZW5jb3JkLnZvbHRoYS5vbHRfaW50ZXJfYWRhcHRlcl9zZXJ2aWNlQhxWb2x0aGFPbHRJbnRlckFkYXB0ZXJTZXJ2aWNlWkFnaXRodWIuY29tL29wZW5jb3JkL3ZvbHRoYS1wcm90b3MvdjUvZ28vb2x0X2ludGVyX2FkYXB0ZXJfc2VydmljZUrSAwoGEgQAABMBCggKAQwSAwAAEgoICgEIEgMCAFgKCQoCCAsSAwIAWAoICgEIEgMDAEYKCQoCCAESAwMARgoICgEIEgMEAD0KCQoCCAgSAwQAPQoICgECEgMGACIKCQoCAwASAwgAJQoJCgIDARIDCQArCgkKAgMCEgMKACQKCgoCBgASBAwAEwEKCgoDBgABEgMMCB4KoQEKBAYAAgASAw8ETRqTASBHZXRIZWFsdGhTdGF0dXMgaXMgdXNlZCBieSBhbiBPbHRJbnRlckFkYXB0ZXJTZXJ2aWNlIGNsaWVudCB0byB2ZXJpZnkgY29ubmVjdGl2aXR5CiB0byB0aGUgZ1JQQyBzZXJ2ZXIgaG9zdGluZyB0aGUgT2x0SW50ZXJBZGFwdGVyU2VydmljZSBzZXJ2aWNlCgoMCgUGAAIAARIDDwgXCgwKBQYAAgACEgMPGC0KDAoFBgACAAMSAw84SwoLCgQGAAIBEgMRBFQKDAoFBgACAQESAxEIGAoMCgUGAAIBAhIDERkyCgwKBQYAAgEDEgMRPVIKDAoEBgACAhIEEgSDAQoMCgUGAAICARIDEggeCgwKBQYAAgICEgMSH04KDQoFBgACAgMSBBJZgQFiBnByb3RvMwqbCwotdm9sdGhhX3Byb3Rvcy9vbnVfaW50ZXJfYWRhcHRlcl9zZXJ2aWNlLnByb3RvEhlvbnVfaW50ZXJfYWRhcHRlcl9zZXJ2aWNlGhtnb29nbGUvcHJvdG9idWYvZW1wdHkucHJvdG8aIXZvbHRoYV9wcm90b3MvaW50ZXJfYWRhcHRlci5wcm90bxoadm9sdGhhX3Byb3Rvcy9oZWFsdGgucHJvdG8y3wMKFk9udUludGVyQWRhcHRlclNlcnZpY2USPwoPR2V0SGVhbHRoU3RhdHVzEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5GhQuaGVhbHRoLkhlYWx0aFN0YXR1cxJMCg1PbnVJbmRpY2F0aW9uEiMuaW50ZXJfYWRhcHRlci5PbnVJbmRpY2F0aW9uTWVzc2FnZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJECg5PbWNpSW5kaWNhdGlvbhIaLmludGVyX2FkYXB0ZXIuT21jaU1lc3NhZ2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSWAoTRG93bmxvYWRUZWNoUHJvZmlsZRIpLmludGVyX2FkYXB0ZXIuVGVjaFByb2ZpbGVEb3dubG9hZE1lc3NhZ2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSTAoNRGVsZXRlR2VtUG9ydBIjLmludGVyX2FkYXB0ZXIuRGVsZXRlR2VtUG9ydE1lc3NhZ2UaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSSAoLRGVsZXRlVENvbnQSIS5pbnRlcl9hZGFwdGVyLkRlbGV0ZVRjb250TWVzc2FnZRoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eUKQAQotb3JnLm9wZW5jb3JkLnZvbHRoYS5vbnVfaW50ZXJfYWRhcHRlcl9zZXJ2aWNlQhxWb2x0aGFPbnVJbnRlckFkYXB0ZXJTZXJ2aWNlWkFnaXRodWIuY29tL29wZW5jb3JkL3ZvbHRoYS1wcm90b3MvdjUvZ28vb251X2ludGVyX2FkYXB0ZXJfc2VydmljZUr1BAoGEgQAABYBCggKAQwSAwAAEgoICgEIEgMCAFgKCQoCCAsSAwIAWAoICgEIEgMDAEYKCQoCCAESAwMARgoICgEIEgMEAD0KCQoCCAgSAwQAPQoICgECEgMGACIKCQoCAwASAwgAJQoJCgIDARIDCQArCgkKAgMCEgMKACQKCgoCBgASBAwAFgEKCgoDBgABEgMMCB4KoQEKBAYAAgASAw8ETRqTASBHZXRIZWFsdGhTdGF0dXMgaXMgdXNlZCBieSBhbiBPbnVJbnRlckFkYXB0ZXJTZXJ2aWNlIGNsaWVudCB0byB2ZXJpZnkgY29ubmVjdGl2aXR5CiB0byB0aGUgZ1JQQyBzZXJ2ZXIgaG9zdGluZyB0aGUgT251SW50ZXJBZGFwdGVyU2VydmljZSBzZXJ2aWNlCgoMCgUGAAIAARIDDwgXCgwKBQYAAgACEgMPGC0KDAoFBgACAAMSAw84SwoLCgQGAAIBEgMRBFoKDAoFBgACAQESAxEIFQoMCgUGAAIBAhIDERY4CgwKBQYAAgEDEgMRQ1gKCwoEBgACAhIDEgRSCgwKBQYAAgIBEgMSCBYKDAoFBgACAgISAxIXMAoMCgUGAAICAxIDEjtQCgsKBAYAAgMSAxMEZgoMCgUGAAIDARIDEwgbCgwKBQYAAgMCEgMTHEQKDAoFBgACAwMSAxNPZAoLCgQGAAIEEgMUBFoKDAoFBgACBAESAxQIFQoMCgUGAAIEAhIDFBY4CgwKBQYAAgQDEgMUQ1gKCwoEBgACBRIDFQRWCgwKBQYAAgUBEgMVCBMKDAoFBgACBQISAxUUNAoMCgUGAAIFAxIDFT9UYgZwcm90bzM=