Cu0HChFkbWkvY29tbW9ucy5wcm90bxIDZG1pKjEKBlN0YXR1cxIUChBVTkRFRklORURfU1RBVFVTEAASBgoCT0sQARIJCgVFUlJPUhACKsQBCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIQCgxXUk9OR19NRVRSSUMQAxIPCgtXUk9OR19FVkVOVBAEEhoKFkxPR0dJTkdfRU5EUE9JTlRfRVJST1IQBRIjCh9MT0dHSU5HX0VORFBPSU5UX1BST1RPQ09MX0VSUk9SEAYSGAoUS0FGS0FfRU5EUE9JTlRfRVJST1IQB0I7WjlnaXRodWIuY29tL29wZW5jb3JkL2RldmljZS1tYW5hZ2VtZW50LWludGVyZmFjZS92My9nby9kbWlKkwUKBhIEAAAXAQoICgEMEgMAABIKCAoBCBIDAgBQCgkKAggLEgMCAFAKCAoBAhIDAwAMClQKAgUAEgQHAAsBMkggQ29tbW9uIHN0cnVjdHVyZXMgdXNlZCBhY3Jvc3MgdGhlIGRpZmZlcmVudCBEZXZpY2UgTWFuYWdlbWVudCBzZXJ2aWNlcwoKCgoDBQABEgMHBQsKCwoEBQACABIDCAQZCgwKBQUAAgABEgMIBBQKDAoFBQACAAISAwgXGAoLCgQFAAIBEgMJBAsKDAoFBQACAQESAwkEBgoMCgUFAAIBAhIDCQkKCgsKBAUAAgISAwoEDgoMCgUFAAICARIDCgQJCgwKBQUAAgICEgMKDA0KLwoCBQESBA4AFwEaIyBSZWFzb24gZm9yIHRoZSBmYWlsdXJlIG9mIHJlcXVlc3QKCgoKAwUBARIDDgULCgsKBAUBAgASAw8EGQoMCgUFAQIAARIDDwQUCgwKBQUBAgACEgMPFxgKCwoEBQECARIDEAQXCgwKBQUBAgEBEgMQBBIKDAoFBQECAQISAxAVFgoLCgQFAQICEgMRBBcKDAoFBQECAgESAxEEEgoMCgUFAQICAhIDERUWCgsKBAUBAgMSAxIEFQoMCgUFAQIDARIDEgQQCgwKBQUBAgMCEgMSExQKCwoEBQECBBIDEwQUCgwKBQUBAgQBEgMTBA8KDAoFBQECBAISAxMSEwoLCgQFAQIFEgMUBB8KDAoFBQECBQESAxQEGgoMCgUFAQIFAhIDFB0eCgsKBAUBAgYSAxUEKAoMCgUFAQIGARIDFQQjCgwKBQUBAgYCEgMVJicKCwoEBQECBxIDFgQdCgwKBQUBAgcBEgMWBBgKDAoFBQECBwISAxYbHGIGcHJvdG8zCvIvCh9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvEg9nb29nbGUucHJvdG9idWYiOwoJVGltZXN0YW1wEhgKB3NlY29uZHMYASABKANSB3NlY29uZHMSFAoFbmFub3MYAiABKAVSBW5hbm9zQn4KE2NvbS5nb29nbGUucHJvdG9idWZCDlRpbWVzdGFtcFByb3RvUAFaK2dpdGh1Yi5jb20vZ29sYW5nL3Byb3RvYnVmL3B0eXBlcy90aW1lc3RhbXD4AQGiAgNHUEKqAh5Hb29nbGUuUHJvdG9idWYuV2VsbEtub3duVHlwZXNK+C0KBxIFHgCIAQEKzAwKAQwSAx4AEjLBDCBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCggKAQISAyAAGAoICgEIEgMiADsKCQoCCCUSAyIAOwoICgEIEgMjAB8KCQoCCB8SAyMAHwoICgEIEgMkAEIKCQoCCAsSAyQAQgoICgEIEgMlACwKCQoCCAESAyUALAoICgEIEgMmAC8KCQoCCAgSAyYALwoICgEIEgMnACIKCQoCCAoSAycAIgoICgEIEgMoACEKCQoCCCQSAygAIQrxGwoCBAASBXwAiAEBGuMbIEEgVGltZXN0YW1wIHJlcHJlc2VudHMgYSBwb2ludCBpbiB0aW1lIGluZGVwZW5kZW50IG9mIGFueSB0aW1lIHpvbmUgb3IgbG9jYWwKIGNhbGVuZGFyLCBlbmNvZGVkIGFzIGEgY291bnQgb2Ygc2Vjb25kcyBhbmQgZnJhY3Rpb25zIG9mIHNlY29uZHMgYXQKIG5hbm9zZWNvbmQgcmVzb2x1dGlvbi4gVGhlIGNvdW50IGlzIHJlbGF0aXZlIHRvIGFuIGVwb2NoIGF0IFVUQyBtaWRuaWdodCBvbgogSmFudWFyeSAxLCAxOTcwLCBpbiB0aGUgcHJvbGVwdGljIEdyZWdvcmlhbiBjYWxlbmRhciB3aGljaCBleHRlbmRzIHRoZQogR3JlZ29yaWFuIGNhbGVuZGFyIGJhY2t3YXJkcyB0byB5ZWFyIG9uZS4KCiBBbGwgbWludXRlcyBhcmUgNjAgc2Vjb25kcyBsb25nLiBMZWFwIHNlY29uZHMgYXJlICJzbWVhcmVkIiBzbyB0aGF0IG5vIGxlYXAKIHNlY29uZCB0YWJsZSBpcyBuZWVkZWQgZm9yIGludGVycHJldGF0aW9uLCB1c2luZyBhIFsyNC1ob3VyIGxpbmVhcgogc21lYXJdKGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3RpbWUvc21lYXIpLgoKIFRoZSByYW5nZSBpcyBmcm9tIDAwMDEtMDEtMDFUMDA6MDA6MDBaIHRvIDk5OTktMTItMzFUMjM6NTk6NTkuOTk5OTk5OTk5Wi4gQnkKIHJlc3RyaWN0aW5nIHRvIHRoYXQgcmFuZ2UsIHdlIGVuc3VyZSB0aGF0IHdlIGNhbiBjb252ZXJ0IHRvIGFuZCBmcm9tIFtSRkMKIDMzMzldKGh0dHBzOi8vd3d3LmlldGYub3JnL3JmYy9yZmMzMzM5LnR4dCkgZGF0ZSBzdHJpbmdzLgoKICMgRXhhbXBsZXMKCiBFeGFtcGxlIDE6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gUE9TSVggYHRpbWUoKWAuCgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXA7CiAgICAgdGltZXN0YW1wLnNldF9zZWNvbmRzKHRpbWUoTlVMTCkpOwogICAgIHRpbWVzdGFtcC5zZXRfbmFub3MoMCk7CgogRXhhbXBsZSAyOiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIFBPU0lYIGBnZXR0aW1lb2ZkYXkoKWAuCgogICAgIHN0cnVjdCB0aW1ldmFsIHR2OwogICAgIGdldHRpbWVvZmRheSgmdHYsIE5VTEwpOwoKICAgICBUaW1lc3RhbXAgdGltZXN0YW1wOwogICAgIHRpbWVzdGFtcC5zZXRfc2Vjb25kcyh0di50dl9zZWMpOwogICAgIHRpbWVzdGFtcC5zZXRfbmFub3ModHYudHZfdXNlYyAqIDEwMDApOwoKIEV4YW1wbGUgMzogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBXaW4zMiBgR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUoKWAuCgogICAgIEZJTEVUSU1FIGZ0OwogICAgIEdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lKCZmdCk7CiAgICAgVUlOVDY0IHRpY2tzID0gKCgoVUlOVDY0KWZ0LmR3SGlnaERhdGVUaW1lKSA8PCAzMikgfCBmdC5kd0xvd0RhdGVUaW1lOwoKICAgICAvLyBBIFdpbmRvd3MgdGljayBpcyAxMDAgbmFub3NlY29uZHMuIFdpbmRvd3MgZXBvY2ggMTYwMS0wMS0wMVQwMDowMDowMFoKICAgICAvLyBpcyAxMTY0NDQ3MzYwMCBzZWNvbmRzIGJlZm9yZSBVbml4IGVwb2NoIDE5NzAtMDEtMDFUMDA6MDA6MDBaLgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXA7CiAgICAgdGltZXN0YW1wLnNldF9zZWNvbmRzKChJTlQ2NCkgKCh0aWNrcyAvIDEwMDAwMDAwKSAtIDExNjQ0NDczNjAwTEwpKTsKICAgICB0aW1lc3RhbXAuc2V0X25hbm9zKChJTlQzMikgKCh0aWNrcyAlIDEwMDAwMDAwKSAqIDEwMCkpOwoKIEV4YW1wbGUgNDogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBKYXZhIGBTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMoKWAuCgogICAgIGxvbmcgbWlsbGlzID0gU3lzdGVtLmN1cnJlbnRUaW1lTWlsbGlzKCk7CgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXAgPSBUaW1lc3RhbXAubmV3QnVpbGRlcigpLnNldFNlY29uZHMobWlsbGlzIC8gMTAwMCkKICAgICAgICAgLnNldE5hbm9zKChpbnQpICgobWlsbGlzICUgMTAwMCkgKiAxMDAwMDAwKSkuYnVpbGQoKTsKCgogRXhhbXBsZSA1OiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIGN1cnJlbnQgdGltZSBpbiBQeXRob24uCgogICAgIHRpbWVzdGFtcCA9IFRpbWVzdGFtcCgpCiAgICAgdGltZXN0YW1wLkdldEN1cnJlbnRUaW1lKCkKCiAjIEpTT04gTWFwcGluZwoKIEluIEpTT04gZm9ybWF0LCB0aGUgVGltZXN0YW1wIHR5cGUgaXMgZW5jb2RlZCBhcyBhIHN0cmluZyBpbiB0aGUKIFtSRkMgMzMzOV0oaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzMzMzkudHh0KSBmb3JtYXQuIFRoYXQgaXMsIHRoZQogZm9ybWF0IGlzICJ7eWVhcn0te21vbnRofS17ZGF5fVR7aG91cn06e21pbn06e3NlY31bLntmcmFjX3NlY31dWiIKIHdoZXJlIHt5ZWFyfSBpcyBhbHdheXMgZXhwcmVzc2VkIHVzaW5nIGZvdXIgZGlnaXRzIHdoaWxlIHttb250aH0sIHtkYXl9LAoge2hvdXJ9LCB7bWlufSwgYW5kIHtzZWN9IGFyZSB6ZXJvLXBhZGRlZCB0byB0d28gZGlnaXRzIGVhY2guIFRoZSBmcmFjdGlvbmFsCiBzZWNvbmRzLCB3aGljaCBjYW4gZ28gdXAgdG8gOSBkaWdpdHMgKGkuZS4gdXAgdG8gMSBuYW5vc2Vjb25kIHJlc29sdXRpb24pLAogYXJlIG9wdGlvbmFsLiBUaGUgIloiIHN1ZmZpeCBpbmRpY2F0ZXMgdGhlIHRpbWV6b25lICgiVVRDIik7IHRoZSB0aW1lem9uZQogaXMgcmVxdWlyZWQuIEEgcHJvdG8zIEpTT04gc2VyaWFsaXplciBzaG91bGQgYWx3YXlzIHVzZSBVVEMgKGFzIGluZGljYXRlZCBieQogIloiKSB3aGVuIHByaW50aW5nIHRoZSBUaW1lc3RhbXAgdHlwZSBhbmQgYSBwcm90bzMgSlNPTiBwYXJzZXIgc2hvdWxkIGJlCiBhYmxlIHRvIGFjY2VwdCBib3RoIFVUQyBhbmQgb3RoZXIgdGltZXpvbmVzIChhcyBpbmRpY2F0ZWQgYnkgYW4gb2Zmc2V0KS4KCiBGb3IgZXhhbXBsZSwgIjIwMTctMDEtMTVUMDE6MzA6MTUuMDFaIiBlbmNvZGVzIDE1LjAxIHNlY29uZHMgcGFzdAogMDE6MzAgVVRDIG9uIEphbnVhcnkgMTUsIDIwMTcuCgogSW4gSmF2YVNjcmlwdCwgb25lIGNhbiBjb252ZXJ0IGEgRGF0ZSBvYmplY3QgdG8gdGhpcyBmb3JtYXQgdXNpbmcgdGhlCiBzdGFuZGFyZCBbdG9JU09TdHJpbmcoKV0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvRGF0ZS90b0lTT1N0cmluZykKIG1ldGhvZC4gSW4gUHl0aG9uLCBhIHN0YW5kYXJkIGBkYXRldGltZS5kYXRldGltZWAgb2JqZWN0IGNhbiBiZSBjb252ZXJ0ZWQKIHRvIHRoaXMgZm9ybWF0IHVzaW5nIFtgc3RyZnRpbWVgXShodHRwczovL2RvY3MucHl0aG9uLm9yZy8yL2xpYnJhcnkvdGltZS5odG1sI3RpbWUuc3RyZnRpbWUpCiB3aXRoIHRoZSB0aW1lIGZvcm1hdCBzcGVjICclWS0lbS0lZFQlSDolTTolUy4lZlonLiBMaWtld2lzZSwgaW4gSmF2YSwgb25lCiBjYW4gdXNlIHRoZSBKb2RhIFRpbWUncyBbYElTT0RhdGVUaW1lRm9ybWF0LmRhdGVUaW1lKClgXSgKIGh0dHA6Ly93d3cuam9kYS5vcmcvam9kYS10aW1lL2FwaWRvY3Mvb3JnL2pvZGEvdGltZS9mb3JtYXQvSVNPRGF0ZVRpbWVGb3JtYXQuaHRtbCNkYXRlVGltZSUyRCUyRAogKSB0byBvYnRhaW4gYSBmb3JtYXR0ZXIgY2FwYWJsZSBvZiBnZW5lcmF0aW5nIHRpbWVzdGFtcHMgaW4gdGhpcyBmb3JtYXQuCgoKCgoKAwQAARIDfAgRCp0BCgQEAAIAEgSBAQIUGo4BIFJlcHJlc2VudHMgc2Vjb25kcyBvZiBVVEMgdGltZSBzaW5jZSBVbml4IGVwb2NoCiAxOTcwLTAxLTAxVDAwOjAwOjAwWi4gTXVzdCBiZSBmcm9tIDAwMDEtMDEtMDFUMDA6MDA6MDBaIHRvCiA5OTk5LTEyLTMxVDIzOjU5OjU5WiBpbmNsdXNpdmUuCgoOCgUEAAIABBIFgQECfBMKDQoFBAACAAUSBIEBAgcKDQoFBAACAAESBIEBCA8KDQoFBAACAAMSBIEBEhMK5QEKBAQAAgESBIcBAhIa1gEgTm9uLW5lZ2F0aXZlIGZyYWN0aW9ucyBvZiBhIHNlY29uZCBhdCBuYW5vc2Vjb25kIHJlc29sdXRpb24uIE5lZ2F0aXZlCiBzZWNvbmQgdmFsdWVzIHdpdGggZnJhY3Rpb25zIG11c3Qgc3RpbGwgaGF2ZSBub24tbmVnYXRpdmUgbmFub3MgdmFsdWVzCiB0aGF0IGNvdW50IGZvcndhcmQgaW4gdGltZS4gTXVzdCBiZSBmcm9tIDAgdG8gOTk5LDk5OSw5OTkKIGluY2x1c2l2ZS4KCg8KBQQAAgEEEgaHAQKBARQKDQoFBAACAQUSBIcBAgcKDQoFBAACAQESBIcBCA0KDQoFBAACAQMSBIcBEBFiBnByb3RvMwrdZAoMZG1pL2h3LnByb3RvEgNkbWkaH2dvb2dsZS9wcm90b2J1Zi90aW1lc3RhbXAucHJvdG8iGgoEVXVpZBISCgR1dWlkGAEgASgJUgR1dWlkIisKCkhhcmR3YXJlSUQSHQoEdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgR1dWlkIhcKA1VyaRIQCgN1cmkYASABKAlSA3VyaSKEAwoOQ29tcG9uZW50U3RhdGUSSAoSc3RhdGVfbGFzdF9jaGFuZ2VkGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIQc3RhdGVMYXN0Q2hhbmdlZBI5CgthZG1pbl9zdGF0ZRgCIAEoDjIYLmRtaS5Db21wb25lbnRBZG1pblN0YXRlUgphZG1pblN0YXRlEjYKCm9wZXJfc3RhdGUYAyABKA4yFy5kbWkuQ29tcG9uZW50T3BlclN0YXRlUglvcGVyU3RhdGUSOQoLdXNhZ2Vfc3RhdGUYBCABKA4yGC5kbWkuQ29tcG9uZW50VXNhZ2VTdGF0ZVIKdXNhZ2VTdGF0ZRI5CgthbGFybV9zdGF0ZRgFIAEoDjIYLmRtaS5Db21wb25lbnRBbGFybVN0YXRlUgphbGFybVN0YXRlEj8KDXN0YW5kYnlfc3RhdGUYBiABKA4yGi5kbWkuQ29tcG9uZW50U3RhbmRieVN0YXRlUgxzdGFuZGJ5U3RhdGUi8wIKE0NvbXBvbmVudFNlbnNvckRhdGESFAoFdmFsdWUYASABKAVSBXZhbHVlEigKBHR5cGUYAiABKA4yFC5kbWkuU2Vuc29yVmFsdWVUeXBlUgR0eXBlEisKBXNjYWxlGAMgASgOMhUuZG1pLlNlbnNvclZhbHVlU2NhbGVSBXNjYWxlEhwKCXByZWNpc2lvbhgEIAEoBVIJcHJlY2lzaW9uEikKBnN0YXR1cxgFIAEoDjIRLmRtaS5TZW5zb3JTdGF0dXNSBnN0YXR1cxIjCg11bml0c19kaXNwbGF5GAYgASgJUgx1bml0c0Rpc3BsYXkSOAoJdGltZXN0YW1wGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIJdGltZXN0YW1wEioKEXZhbHVlX3VwZGF0ZV9yYXRlGAggASgNUg92YWx1ZVVwZGF0ZVJhdGUSGwoJZGF0YV90eXBlGAkgASgJUghkYXRhVHlwZSK3BQoJQ29tcG9uZW50EhIKBG5hbWUYASABKAlSBG5hbWUSKAoFY2xhc3MYAiABKA4yEi5kbWkuQ29tcG9uZW50VHlwZVIFY2xhc3MSIAoLZGVzY3JpcHRpb24YAyABKAlSC2Rlc2NyaXB0aW9uEhYKBnBhcmVudBgEIAEoCVIGcGFyZW50EiQKDnBhcmVudF9yZWxfcG9zGAUgASgFUgxwYXJlbnRSZWxQb3MSKgoIY2hpbGRyZW4YBiADKAsyDi5kbWkuQ29tcG9uZW50UghjaGlsZHJlbhIhCgxoYXJkd2FyZV9yZXYYByABKAlSC2hhcmR3YXJlUmV2EiEKDGZpcm13YXJlX3JldhgIIAEoCVILZmlybXdhcmVSZXYSIQoMc29mdHdhcmVfcmV2GAkgASgJUgtzb2Z0d2FyZVJldhIdCgpzZXJpYWxfbnVtGAogASgJUglzZXJpYWxOdW0SGQoIbWZnX25hbWUYCyABKAlSB21mZ05hbWUSHQoKbW9kZWxfbmFtZRgMIAEoCVIJbW9kZWxOYW1lEhQKBWFsaWFzGA0gASgJUgVhbGlhcxIZCghhc3NldF9pZBgOIAEoCVIHYXNzZXRJZBIVCgZpc19mcnUYDyABKAhSBWlzRnJ1EjUKCG1mZ19kYXRlGBAgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIHbWZnRGF0ZRIaCgN1cmkYESABKAsyCC5kbWkuVXJpUgN1cmkSHQoEdXVpZBgSIAEoCzIJLmRtaS5VdWlkUgR1dWlkEikKBXN0YXRlGBMgASgLMhMuZG1pLkNvbXBvbmVudFN0YXRlUgVzdGF0ZRI5CgtzZW5zb3JfZGF0YRgUIAMoCzIYLmRtaS5Db21wb25lbnRTZW5zb3JEYXRhUgpzZW5zb3JEYXRhImsKCEhhcmR3YXJlEjsKC2xhc3RfY2hhbmdlGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIKbGFzdENoYW5nZRIiCgRyb290GAIgASgLMg4uZG1pLkNvbXBvbmVudFIEcm9vdCKpAgoTTW9kaWZpYWJsZUNvbXBvbmVudBISCgRuYW1lGAEgASgJUgRuYW1lEigKBWNsYXNzGAIgASgOMhIuZG1pLkNvbXBvbmVudFR5cGVSBWNsYXNzEiYKBnBhcmVudBgDIAEoCzIOLmRtaS5Db21wb25lbnRSBnBhcmVudBIkCg5wYXJlbnRfcmVsX3BvcxgEIAEoBVIMcGFyZW50UmVsUG9zEhQKBWFsaWFzGAUgASgJUgVhbGlhcxIZCghhc3NldF9pZBgGIAEoCVIHYXNzZXRJZBIaCgN1cmkYByABKAsyCC5kbWkuVXJpUgN1cmkSOQoLYWRtaW5fc3RhdGUYCCABKA4yGC5kbWkuQ29tcG9uZW50QWRtaW5TdGF0ZVIKYWRtaW5TdGF0ZSqBBAoNQ29tcG9uZW50VHlwZRIcChhDT01QT05FTlRfVFlQRV9VTkRFRklORUQQABIaChZDT01QT05FTlRfVFlQRV9VTktOT1dOEAESGgoWQ09NUE9ORU5UX1RZUEVfQ0hBU1NJUxACEhwKGENPTVBPTkVOVF9UWVBFX0JBQ0tQTEFORRADEhwKGENPTVBPTkVOVF9UWVBFX0NPTlRBSU5FUhAEEh8KG0NPTVBPTkVOVF9UWVBFX1BPV0VSX1NVUFBMWRAFEhYKEkNPTVBPTkVOVF9UWVBFX0ZBThAGEhkKFUNPTVBPTkVOVF9UWVBFX1NFTlNPUhAHEhkKFUNPTVBPTkVOVF9UWVBFX01PRFVMRRAIEhcKE0NPTVBPTkVOVF9UWVBFX1BPUlQQCRIWChJDT01QT05FTlRfVFlQRV9DUFUQChIaChZDT01QT05FTlRfVFlQRV9CQVRURVJZEAsSGgoWQ09NUE9ORU5UX1RZUEVfU1RPUkFHRRAMEhkKFUNPTVBPTkVOVF9UWVBFX01FTU9SWRANEh4KGkNPTVBPTkVOVF9UWVBFX1RSQU5TQ0VJVkVSEA4SIwofQ09NUE9ORU5UX1RZUEVfR1BPTl9UUkFOU0NFSVZFUhAPEiYKIkNPTVBPTkVOVF9UWVBFX1hHU19QT05fVFJBTlNDRUlWRVIQECqzAQoTQ29tcG9uZW50QWRtaW5TdGF0ZRIeChpDT01QX0FETUlOX1NUQVRFX1VOREVGSU5FRBAAEhwKGENPTVBfQURNSU5fU1RBVEVfVU5LTk9XThABEhsKF0NPTVBfQURNSU5fU1RBVEVfTE9DS0VEEAISIgoeQ09NUF9BRE1JTl9TVEFURV9TSFVUVElOR19ET1dOEAMSHQoZQ09NUF9BRE1JTl9TVEFURV9VTkxPQ0tFRBAEKqgBChJDb21wb25lbnRPcGVyU3RhdGUSHQoZQ09NUF9PUEVSX1NUQVRFX1VOREVGSU5FRBAAEhsKF0NPTVBfT1BFUl9TVEFURV9VTktOT1dOEAESHAoYQ09NUF9PUEVSX1NUQVRFX0RJU0FCTEVEEAISGwoXQ09NUF9PUEVSX1NUQVRFX0VOQUJMRUQQAxIbChdDT01QX09QRVJfU1RBVEVfVEVTVElORxAEKqYBChNDb21wb25lbnRVc2FnZVN0YXRlEh4KGkNPTVBfVVNBR0VfU1RBVEVfVU5ERUZJTkVEEAASHAoYQ09NUF9VU0FHRV9TVEFURV9VTktOT1dOEAESGQoVQ09NUF9VU0FHRV9TVEFURV9JRExFEAISGwoXQ09NUF9VU0FHRV9TVEFURV9BQ1RJVkUQAxIZChVDT01QX1VTQUdFX1NUQVRFX0JVU1kQBCqOAgoTQ29tcG9uZW50QWxhcm1TdGF0ZRIeChpDT01QX0FMQVJNX1NUQVRFX1VOREVGSU5FRBAAEhwKGENPTVBfQUxBUk1fU1RBVEVfVU5LTk9XThABEiEKHUNPTVBfQUxBUk1fU1RBVEVfVU5ERVJfUkVQQUlSEAISHQoZQ09NUF9BTEFSTV9TVEFURV9DUklUSUNBTBADEhoKFkNPTVBfQUxBUk1fU1RBVEVfTUFKT1IQBBIaChZDT01QX0FMQVJNX1NUQVRFX01JTk9SEAUSHAoYQ09NUF9BTEFSTV9TVEFURV9XQVJOSU5HEAYSIQodQ09NUF9BTEFSTV9TVEFURV9JTlRFUk1FRElBVEUQByq8AQoVQ29tcG9uZW50U3RhbmRieVN0YXRlEiAKHENPTVBfU1RBTkRCWV9TVEFURV9VTkRFRklORUQQABIeChpDT01QX1NUQU5EQllfU1RBVEVfVU5LTk9XThABEhoKFkNPTVBfU1RBTkRCWV9TVEFURV9IT1QQAhIbChdDT01QX1NUQU5EQllfU1RBVEVfQ09MRBADEigKJENPTVBfU1RBTkRCWV9TVEFURV9QUk9WSURJTkdfU0VSVklDRRAEKqEDCg9TZW5zb3JWYWx1ZVR5cGUSHwobU0VOU09SX1ZBTFVFX1RZUEVfVU5ERUZJTkVEEAASGwoXU0VOU09SX1ZBTFVFX1RZUEVfT1RIRVIQARIdChlTRU5TT1JfVkFMVUVfVFlQRV9VTktOT1dOEAISHgoaU0VOU09SX1ZBTFVFX1RZUEVfVk9MVFNfQUMQAxIeChpTRU5TT1JfVkFMVUVfVFlQRV9WT0xUU19EQxAEEh0KGVNFTlNPUl9WQUxVRV9UWVBFX0FNUEVSRVMQBRIbChdTRU5TT1JfVkFMVUVfVFlQRV9XQVRUUxAGEhsKF1NFTlNPUl9WQUxVRV9UWVBFX0hFUlRaEAcSHQoZU0VOU09SX1ZBTFVFX1RZUEVfQ0VMU0lVUxAIEiAKHFNFTlNPUl9WQUxVRV9UWVBFX1BFUkNFTlRfUkgQCRIZChVTRU5TT1JfVkFMVUVfVFlQRV9SUE0QChIZChVTRU5TT1JfVkFMVUVfVFlQRV9DTU0QCxIhCh1TRU5TT1JfVkFMVUVfVFlQRV9UUlVUSF9WQUxVRRAMKqgEChBTZW5zb3JWYWx1ZVNjYWxlEiAKHFNFTlNPUl9WQUxVRV9TQ0FMRV9VTkRFRklORUQQABIcChhTRU5TT1JfVkFMVUVfU0NBTEVfWU9DVE8QARIcChhTRU5TT1JfVkFMVUVfU0NBTEVfWkVQVE8QAhIbChdTRU5TT1JfVkFMVUVfU0NBTEVfQVRUTxADEhwKGFNFTlNPUl9WQUxVRV9TQ0FMRV9GRU1UTxAEEhsKF1NFTlNPUl9WQUxVRV9TQ0FMRV9QSUNPEAUSGwoXU0VOU09SX1ZBTFVFX1NDQUxFX05BTk8QBhIcChhTRU5TT1JfVkFMVUVfU0NBTEVfTUlDUk8QBxIcChhTRU5TT1JfVkFMVUVfU0NBTEVfTUlMTEkQCBIcChhTRU5TT1JfVkFMVUVfU0NBTEVfVU5JVFMQCRIbChdTRU5TT1JfVkFMVUVfU0NBTEVfS0lMTxAKEhsKF1NFTlNPUl9WQUxVRV9TQ0FMRV9NRUdBEAsSGwoXU0VOU09SX1ZBTFVFX1NDQUxFX0dJR0EQDBIbChdTRU5TT1JfVkFMVUVfU0NBTEVfVEVSQRANEhsKF1NFTlNPUl9WQUxVRV9TQ0FMRV9QRVRBEA4SGgoWU0VOU09SX1ZBTFVFX1NDQUxFX0VYQRAPEhwKGFNFTlNPUl9WQUxVRV9TQ0FMRV9aRVRUQRAQEhwKGFNFTlNPUl9WQUxVRV9TQ0FMRV9ZT1RUQRARKoIBCgxTZW5zb3JTdGF0dXMSGwoXU0VOU09SX1NUQVRVU19VTkRFRklORUQQABIUChBTRU5TT1Jf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ZHNSCnRocmVzaG9sZHMiMAoJRXZlbnRzQ2ZnEiMKBWl0ZW1zGAEgAygLMg0uZG1pLkV2ZW50Q2ZnUgVpdGVtcyKGAQoSTGlzdEV2ZW50c1Jlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIjCgZyZWFzb24YAiABKA4yCy5kbWkuUmVhc29uUgZyZWFzb24SJgoGZXZlbnRzGAMgASgLMg4uZG1pLkV2ZW50c0NmZ1IGZXZlbnRzIq0BChpFdmVudHNDb25maWd1cmF0aW9uUmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEioKB2NoYW5nZXMYAiABKAsyDi5kbWkuRXZlbnRzQ2ZnSABSB2NoYW5nZXMSKgoQcmVzZXRfdG9fZGVmYXVsdBgDIAEoCEgAUg5yZXNldFRvRGVmYXVsdEILCglvcGVyYXRpb24iZwobRXZlbnRzQ29uZmlndXJhdGlvblJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIjCgZyZWFzb24YAiABKA4yCy5kbWkuUmVhc29uUgZyZWFzb24ilAEKDUV2ZW50TWV0YURhdGESKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIwCg5jb21wb25lbnRfdXVpZBgCIAEoCzIJLmRtaS5VdWlkUg1jb21wb25lbnRVdWlkEiUKDmNvbXBvbmVudF9uYW1lGAMgASgJUg1jb21wb25lbnROYW1lIoICCgVFdmVudBI5Cg5ldmVudF9tZXRhZGF0YRgBIAEoCzISLmRtaS5FdmVudE1ldGFEYXRhUg1ldmVudE1ldGFkYXRhEigKCGV2ZW50X2lkGAIgASgOMg0uZG1pLkV2ZW50SWRzUgdldmVudElkEjcKCXJhaXNlZF90cxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCHJhaXNlZFRzEkAKDnRocmVzaG9sZF9pbmZvGAQgASgLMhkuZG1pLlRocmVzaG9sZEluZm9ybWF0aW9uUg10aHJlc2hvbGRJbmZvEhkKCGFkZF9pbmZvGAUgASgJUgdhZGRJbmZvKtEOCghFdmVudElkcxIYChRFVkVOVF9OQU1FX1VOREVGSU5FRBAAEh4KGkVWRU5UX1RSQU5TQ0VJVkVSX1BMVUdfT1VUEGQSHQoZRVZFTlRfVFJBTlNDRUlWRVJfUExVR19JThBlEi0KKUVWRU5UX1RSQU5TQ0VJVkVSX1ZPTFRBR0VfQUJPVkVfVEhSRVNIT0xEEGYSLQopRVZFTlRfVFJBTlNDRUlWRVJfVk9MVEFHRV9CRUxPV19USFJFU0hPTEQQZxIxCi1FVkVOVF9UUkFOU0NFSVZFUl9URU1QRVJBVFVSRV9BQk9WRV9USFJFU0hPTEQQaBIxCi1FVkVOVF9UUkFOU0NFSVZFUl9URU1QRVJBVFVSRV9CRUxPV19USFJFU0hPTEQQaRItCilFVkVOVF9UUkFOU0NFSVZFUl9DVVJSRU5UX0FCT1ZFX1RIUkVTSE9MRBBqEi0KKUVWRU5UX1RSQU5TQ0VJVkVSX0NVUlJFTlRfQkVMT1dfVEhSRVNIT0xEEGsSLgoqRVZFTlRfVFJBTlNDRUlWRVJfUlhfUE9XRVJfQUJPVkVfVEhSRVNIT0xEEGwSLgoqRVZFTlRfVFJBTlNDRUlWRVJfUlhfUE9XRVJfQkVMT1dfVEhSRVNIT0xEEG0SLgoqRVZFTlRfVFJBTlNDRUlWRVJfVFhfUE9XRVJfQUJPVkVfVEhSRVNIT0xEEG4SLgoqRVZFTlRfVFJBTlNDRUlWRVJfVFhfUE9XRVJfQkVMT1dfVEhSRVNIT0xEEG8SHQoZRVZFTlRfVFJBTlNDRUlWRVJfRkFJTFVSRRBwEjcKM0VWRU5UX1RSQU5TQ0VJVkVSX1ZPTFRBR0VfQUJPVkVfVEhSRVNIT0xEX1JFQ09WRVJFRBBxEjcKM0VWRU5UX1RSQU5TQ0VJVkVSX1ZPTFRBR0VfQkVMT1dfVEhSRVNIT0xEX1JFQ09WRVJFRBByEjsKN0VWRU5UX1RSQU5TQ0VJVkVSX1RFTVBFUkFUVVJFX0FCT1ZFX1RIUkVTSE9MRF9SRUNPVkVSRUQQcxI7CjdFVkVOVF9UUkFOU0NFSVZFUl9URU1QRVJBVFVSRV9CRUxPV19USFJFU0hPTERfUkVDT1ZFUkVEEHQSNwozRVZFTlRfVFJBTlNDRUlWRVJfQ1VSUkVOVF9BQk9WRV9USFJFU0hPTERfUkVDT1ZFUkVEEHUSNwozRVZFTlRfVFJBTlNDRUlWRVJfQ1VSUkVOVF9CRUxPV19USFJFU0hPTERfUkVDT1ZFUkVEEHYSOAo0RVZFTlRfVFJBTlNDRUlWRVJfUlhfUE9XRVJfQUJPVkVfVEhSRVNIT0xEX1JFQ09WRVJFRBB3EjgKNEVWRU5UX1RSQU5TQ0VJVkVSX1JYX1BPV0VSX0JFTE9XX1RIUkVTSE9MRF9SRUNPVkVSRUQQeBI4CjRFVkVOVF9UUkFOU0NFSVZFUl9UWF9QT1dFUl9BQk9WRV9USFJFU0hPTERfUkVDT1ZFUkVEEHkSOAo0RVZFTlRfVFJBTlNDRUlWRVJfVFhfUE9XRVJfQkVMT1dfVEhSRVNIT0xEX1JFQ09WRVJFRBB6EicKI0VWRU5UX1RSQU5TQ0VJVkVSX0ZBSUxVUkVfUkVDT1ZFUkVEEHsSFwoSRVZFTlRfUFNVX1BMVUdfT1VUEMgBEhYKEUVWRU5UX1BTVV9QTFVHX0lOEMkBEhYKEUVWRU5UX1BTVV9GQUlMVVJFEMoBEiAKG0VWRU5UX1BTVV9GQUlMVVJFX1JFQ09WRVJFRBDLARIWChFFVkVOVF9GQU5fRkFJTFVSRRCsAhIXChJFVkVOVF9GQU5fUExVR19PVVQQrQISFgoRRVZFTlRfRkFOX1BMVUdfSU4QrgISIAobRVZFTlRfRkFOX0ZBSUxVUkVfUkVDT1ZFUkVEEK8CEikKJEVWRU5UX0NQVV9URU1QRVJBVFVSRV9BQk9WRV9DUklUSUNBTBCQAxImCiFFVkVOVF9DUFVfVEVNUEVSQVRVUkVfQUJPVkVfRkFUQUwQkQMSMwouRVZFTlRfQ1BVX1RFTVBFUkFUVVJFX0FCT1ZFX0NSSVRJQ0FMX1JFQ09WRVJFRBCSAxIwCitFVkVOVF9DUFVfVEVNUEVSQVRVUkVfQUJPVkVfRkFUQUxfUkVDT1ZFUkVEEJMDEhoKFUVWRU5UX0hXX0RFVklDRV9SRVNFVBD0AxIvCipFVkVOVF9IV19ERVZJQ0VfVEVNUEVSQVRVUkVfQUJPVkVfQ1JJVElDQUwQ9QMSLAonRVZFTlRfSFdfREVWSUNFX1RFTVBFUkFUVVJFX0FCT1ZFX0ZBVEFMEPYDEjkKNEVWRU5UX0hXX0RFVklDRV9URU1QRVJBVFVSRV9BQk9WRV9DUklUSUNB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IG9yIHRoZSBkZXZpY2UgbWFuYWdlcg0KCg0KBQYAAgEBEgSYAQghCg0KBQYAAgECEgSYASI8Cg0KBQYAAgEDEgSYAUZhYgZwcm90bzMKuBIKG2dvb2dsZS9wcm90b2J1Zi9lbXB0eS5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIgcKBUVtcHR5QnYKE2NvbS5nb29nbGUucHJvdG9idWZCCkVtcHR5UHJvdG9QAVonZ2l0aHViLmNvbS9nb2xhbmcvcHJvdG9idWYvcHR5cGVzL2VtcHR5+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSv4QCgYSBB4AMxAKzAwKAQwSAx4AEjLBDCBQcm90b2NvbCBCdWZmZXJzIC0gR29vZ2xlJ3MgZGF0YSBpbnRlcmNoYW5nZSBmb3JtYXQKIENvcHlyaWdodCAyMDA4IEdvb2dsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vcHJvdG9jb2wtYnVmZmVycy8KCiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKIG1ldDoKCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQogZGlzdHJpYnV0aW9uLgogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCgogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KCggKAQISAyAAGAoICgEIEgMiADsKCQoCCCUSAyIAOwoICgEIEgMjAD4KCQoCCAsSAyMAPgoICgEIEgMkACwKCQoCCAESAyQALAoICgEIEgMlACsKCQoCCAgSAyUAKwoICgEIEgMmACIKCQoCCAoSAyYAIgoICgEIEgMnACEKCQoCCCQSAycAIQoICgEIEgMoAB8KCQoCCB8SAygAHwr7AgoCBAASAzMAEBrvAiBBIGdlbmVyaWMgZW1wdHkgbWVzc2FnZSB0aGF0IHlvdSBjYW4gcmUtdXNlIHRvIGF2b2lkIGRlZmluaW5nIGR1cGxpY2F0ZWQKIGVtcHR5IG1lc3NhZ2VzIGluIHlvdXIgQVBJcy4gQSB0eXBpY2FsIGV4YW1wbGUgaXMgdG8gdXNlIGl0IGFzIHRoZSByZXF1ZXN0CiBvciB0aGUgcmVzcG9uc2UgdHlwZSBvZiBhbiBBUEkgbWV0aG9kLiBGb3IgaW5zdGFuY2U6CgogICAgIHNlcnZpY2UgRm9vIHsKICAgICAgIHJwYyBCYXIoZ29vZ2xlLnByb3RvYnVmLkVtcHR5KSByZXR1cm5zIChnb29nbGUucHJvdG9idWYuRW1wdHkpOwogICAgIH0KCiBUaGUgSlNPTiByZXByZXNlbnRhdGlvbiBmb3IgYEVtcHR5YCBpcyBlbXB0eSBKU09OIG9iamVjdCBge31gLgoKCgoDBAABEgMzCA1iBnByb3RvMwqjOwofZG1pL2h3X21hbmFnZW1lbnRfc2VydmljZS5wcm90bxIDZG1pGhFkbWkvY29tbW9ucy5wcm90bxoMZG1pL2h3LnByb3RvGhtnb29nbGUvcHJvdG9idWYvZW1wdHkucHJvdG8iRgoYUGh5c2ljYWxJbnZlbnRvcnlSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQikgEKGVBoeXNpY2FsSW52ZW50b3J5UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEiMKBnJlYXNvbhgCIAEoDjILLmRtaS5SZWFzb25SBnJlYXNvbhIrCglpbnZlbnRvcnkYAyABKAsyDS5kbWkuSGFyZHdhcmVSCWludmVudG9yeSKgAQoZSFdDb21wb25lbnRJbmZvR2V0UmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEjAKDmNvbXBvbmVudF91dWlkGAIgASgLMgkuZG1pLlV1aWRSDWNvbXBvbmVudFV1aWQSJQoOY29tcG9uZW50X25hbWUYAyABKAlSDWNvbXBvbmVudE5hbWUilAEKGkhXQ29tcG9uZW50SW5mb0dldFJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIjCgZyZWFzb24YAiABKA4yCy5kbWkuUmVhc29uUgZyZWFzb24SLAoJY29tcG9uZW50GAMgASgLMg4uZG1pLkNvbXBvbmVudFIJY29tcG9uZW50ItQBChlIV0NvbXBvbmVudEluZm9TZXRSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMAoOY29tcG9uZW50X3V1aWQYAiABKAsyCS5kbWkuVXVpZFINY29tcG9uZW50VXVpZBIlCg5jb21wb25lbnRfbmFtZRgDIAEoCVINY29tcG9uZW50TmFtZRIyCgdjaGFuZ2VzGAQgASgLMhguZG1pLk1vZGlmaWFibGVDb21wb25lbnRSB2NoYW5nZXMiZgoaSFdDb21wb25lbnRJbmZvU2V0UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEiMKBnJlYXNvbhgCIAEoDjILLmRtaS5SZWFzb25SBnJlYXNvbiKTAQobU3RhcnRNYW5hZ2luZ0RldmljZVJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIjCgZyZWFzb24YAiABKA4yCy5kbWkuUmVhc29uUgZyZWFzb24SKgoLZGV2aWNlX3V1aWQYAyABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZCIvChlTdG9wTWFuYWdpbmdEZXZpY2VSZXF1ZXN0EhIKBG5hbWUYASABKAlSBG5hbWUiZgoaU3RvcE1hbmFnaW5nRGV2aWNlUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEiMKBnJlYXNvbhgCIAEoDjILLmRtaS5SZWFzb25SBnJlYXNvbiJMChZNYW5hZ2VkRGV2aWNlc1Jlc3BvbnNlEjIKB2RldmljZXMYASADKAsyGC5kbWkuTW9kaWZpYWJsZUNvbXBvbmVudFIHZGV2aWNlcyKdAQoZU2V0TG9nZ2luZ0VuZHBvaW50UmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEikKEGxvZ2dpbmdfZW5kcG9pbnQYAiABKAlSD2xvZ2dpbmdFbmRwb2ludBIpChBsb2dnaW5nX3Byb3RvY29sGAMgASgJUg9sb2dnaW5nUHJvdG9jb2wiZQoZU2V0UmVtb3RlRW5kcG9pbnRSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSIwoGcmVhc29uGAIgASgOMgsuZG1pLlJlYXNvblIGcmVhc29uIrwBChpHZXRMb2dnaW5nRW5kcG9pbnRSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSIwoGcmVhc29uGAIgASgOMgsuZG1pLlJlYXNvblIGcmVhc29uEikKEGxvZ2dpbmdfZW5kcG9pbnQYAyABKAlSD2xvZ2dpbmdFbmRwb2ludBIpChBsb2dnaW5nX3Byb3RvY29sGAQgASgJUg9sb2dnaW5nUHJvdG9jb2wiQwoYU2V0TXNnQnVzRW5kcG9pbnRSZXF1ZXN0EicKD21zZ2J1c19lbmRwb2ludBgBIAEoCVIObXNnYnVzRW5kcG9pbnQijgEKGUdldE1zZ0J1c0VuZHBvaW50UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEiMKBnJlYXNvbhgCIAEoDjILLmRtaS5SZWFzb25SBnJlYXNvbhInCg9tc2didXNfZW5kcG9pbnQYAyABKAlSDm1zZ2J1c0VuZHBvaW50MtMGChlOYXRpdmVIV01hbmFnZW1lbnRTZXJ2aWNlElMKE1N0YXJ0TWFuYWdpbmdEZXZpY2USGC5kbWkuTW9kaWZpYWJsZUNvbXBvbmVudBogLmRtaS5TdGFydE1hbmFnaW5nRGV2aWNlUmVzcG9uc2UwARJVChJTdG9wTWFuYWdpbmdEZXZpY2USHi5kbWkuU3RvcE1hbmFnaW5nRGV2aWNlUmVxdWVzdBofLmRtaS5TdG9wTWFuYWdpbmdEZXZpY2VSZXNwb25zZRJIChFHZXRNYW5hZ2VkRGV2aWNlcxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRobLmRtaS5NYW5hZ2VkRGV2aWNlc1Jlc3BvbnNlElcKFEdldFBoeXNpY2FsSW52ZW50b3J5Eh0uZG1pLlBoeXNpY2FsSW52ZW50b3J5UmVxdWVzdBoeLmRtaS5QaHlzaWNhbEludmVudG9yeVJlc3BvbnNlMAESVwoSR2V0SFdDb21wb25lbnRJbmZvEh4uZG1pLkhXQ29tcG9uZW50SW5mb0dldFJlcXVlc3QaHy5kbWkuSFdDb21wb25lbnRJbmZvR2V0UmVzcG9uc2UwARJVChJTZXRIV0NvbXBvbmVudEluZm8SHi5kbWkuSFdDb21wb25lbnRJbmZvU2V0UmVxdWVzdBofLmRtaS5IV0NvbXBvbmVudEluZm9TZXRSZXNwb25zZRJUChJTZXRMb2dnaW5nRW5kcG9pbnQSHi5kbWkuU2V0TG9nZ2luZ0VuZHBvaW50UmVxdWVzdBoeLmRtaS5TZXRSZW1vdGVFbmRwb2ludFJlc3BvbnNlEkAKEkdldExvZ2dpbmdFbmRwb2ludBIJLmRtaS5VdWlkGh8uZG1pLkdldExvZ2dpbmdFbmRwb2ludFJlc3BvbnNlElIKEVNldE1zZ0J1c0VuZHBvaW50Eh0uZG1pLlNldE1zZ0J1c0VuZHBvaW50UmVxdWVzdBoeLmRtaS5TZXRSZW1vdGVFbmRwb2ludFJlc3BvbnNlEksKEUdldE1zZ0J1c0VuZHBvaW50EhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Gh4uZG1pLkdldE1zZ0J1c0VuZHBvaW50UmVzcG9uc2VCO1o5Z2l0aHViLmNvbS9vcGVuY29yZC9kZXZpY2UtbWFuYWdlbWVudC1pbnRlcmZhY2UvdjMvZ28vZG1pSrIkCgcSBQAAggEBCggKAQwSAwAAEgoICgEIEgMCAFAKCQoCCAsS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cyB0aGUgY29uZmlndXJlZCBsb2NhdGlvbiB0byB3aGljaCB0aGUgZXZlbnRzIGFuZCBtZXRyaWNzIGFyZSBiZWluZyBzaGlwcGVkDQoKDQoFBgACCQESBIEBCBkKDQoFBgACCQISBIEBGi8KDQoFBgACCQMSBIEBOVJiBnByb3RvMwqENgohZG1pL2h3X21ldHJpY3NfbWdtdF9zZXJ2aWNlLnByb3RvEgNkbWkaEWRtaS9jb21tb25zLnByb3RvGgxkbWkvaHcucHJvdG8ihwEKDE1ldHJpY0NvbmZpZxItCgltZXRyaWNfaWQYASABKA4yEC5kbWkuTWV0cmljTmFtZXNSCG1ldHJpY0lkEiMKDWlzX2NvbmZpZ3VyZWQYAiABKAhSDGlzQ29uZmlndXJlZBIjCg1wb2xsX2ludGVydmFsGAMgASgNUgxwb2xsSW50ZXJ2YWwiPAoNTWV0cmljc0NvbmZpZxIrCgdtZXRyaWNzGAEgAygLMhEuZG1pLk1ldHJpY0NvbmZpZ1IHbWV0cmljcyKNAQoTTGlzdE1ldHJpY3NSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSIwoGcmVhc29uGAIgASgOMgsuZG1pLlJlYXNvblIGcmVhc29uEiwKB21ldHJpY3MYAyABKAsyEi5kbWkuTWV0cmljc0NvbmZpZ1IHbWV0cmljcyKyAQobTWV0cmljc0NvbmZpZ3VyYXRpb25SZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSLgoHY2hhbmdlcxgCIAEoCzISLmRtaS5NZXRyaWNzQ29uZmlnSABSB2NoYW5nZXMSKgoQcmVzZXRfdG9fZGVmYXVsdBgDIAEoCEgAUg5yZXNldFRvRGVmYXVsdEILCglvcGVyYXRpb24iaAocTWV0cmljc0NvbmZpZ3VyYXRpb25SZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSIwoGcmVhc29uGAIgASgOMgsuZG1pLlJlYXNvblIGcmVhc29uIpUBCg5NZXRyaWNNZXRhRGF0YRIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEjAKDmNvbXBvbmVudF91dWlkGAIgASgLMgkuZG1pLlV1aWRSDWNvbXBvbmVudFV1aWQSJQoOY29tcG9uZW50X25hbWUYAyABKAlSDWNvbXBvbmVudE5hbWUipQEKBk1ldHJpYxItCgltZXRyaWNfaWQYASABKA4yEC5kbWkuTWV0cmljTmFtZXNSCG1ldHJpY0lkEjwKD21ldHJpY19tZXRhZGF0YRgCIAEoCzITLmRtaS5NZXRyaWNNZXRhRGF0YVIObWV0cmljTWV0YWRhdGESLgoFdmFsdWUYAyABKAsyGC5kbWkuQ29tcG9uZW50U2Vuc29yRGF0YVIFdmFsdWUicwoQR2V0TWV0cmljUmVxdWVzdBIwCgltZXRhX2RhdGEYASABKAsyEy5kbWkuTWV0cmljTWV0YURhdGFSCG1ldGFEYXRhEi0KCW1ldHJpY19pZBgCIAEoDjIQLmRtaS5NZXRyaWNOYW1lc1IIbWV0cmljSWQiggEKEUdldE1ldHJpY1Jlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIjCgZyZWFzb24YAiABKA4yCy5kbWkuUmVhc29uUgZyZWFzb24SIwoGbWV0cmljGAMgASgLMgsuZG1pLk1ldHJpY1IGbWV0cmljKtkFCgtNZXRyaWNOYW1lcxIZChVNRVRSSUNfTkFNRV9VTkRFRklORUQQABIUChBNRVRSSUNfRkFOX1NQRUVEEAESEwoPTUVUUklDX0NQVV9URU1QEGQSHwobTUVUUklDX0NQVV9VU0FHRV9QRVJDRU5UQUdFEGUSHAoXTUVUUklDX1RSQU5TQ0VJVkVSX1RFTVAQyAESHwoaTUVUUklDX1RSQU5TQ0VJVkVSX1ZPTFRBR0UQyQESHAoXTUVUUklDX1RSQU5TQ0VJVkVSX0JJQVMQygESIAobTUVUUklDX1RSQU5TQ0VJVkVSX1JYX1BPV0VSEMsBEiAKG01FVFJJQ19UUkFOU0NFSVZFUl9UWF9QT1dFUhDMARIiCh1NRVRSSUNfVFJBTlNDRUlWRVJfV0FWRUxFTkdUSBDNARIVChBNRVRSSUNfRElTS19URU1QEKwCEhkKFE1FVFJJQ19ESVNLX0NBUEFDSVRZEK0CEhYKEU1FVFJJQ19ESVNLX1VTQUdFEK4CEiEKHE1FVFJJQ19ESVNLX1VTQUdFX1BFUkNFTlRBR0UQrwISJgohTUVUUklDX0RJU0tfUkVBRF9XUklURV9QRVJDRU5UQUdFELACEigKI01FVFJJQ19ESVNLX0ZBVUxUWV9DRUxMU19QRVJDRU5UQUdFELECEhQKD01FVFJJQ19SQU1fVEVNUBCQAxIYChNNRVRSSUNfUkFNX0NBUEFDSVRZEJEDEhUKEE1FVFJJQ19SQU1fVVNBR0UQkgMSIAobTUVUUklDX1JBTV9VU0FHRV9QRVJDRU5UQUdFEJMDEhUKEE1FVFJJQ19QT1dFUl9NQVgQ9AMSFwoSTUVUUklDX1BPV0VSX1VTQUdFEPUDEiIKHU1FVFJJQ19QT1dFUl9VU0FHRV9QRVJDRU5UQUdFEPYDEiIKHU1FVFJJQ19JTk5FUl9TVVJST1VORElOR19URU1QENgEMvkBCh5OYXRpdmVNZXRyaWNzTWFuYWdlbWVudFNlcnZpY2USOAoLTGlzdE1ldHJpY3MSDy5kbWkuSGFyZHdhcmVJRBoYLmRtaS5MaXN0TWV0cmljc1Jlc3BvbnNlEmEKGlVwZGF0ZU1ldHJpY3NDb25maWd1cmF0aW9uEiAuZG1pLk1ldHJpY3NDb25maWd1cmF0aW9uUmVxdWVzdBohLmRtaS5NZXRyaWNzQ29uZmlndXJhdGlvblJlc3BvbnNlEjoKCUdldE1ldHJpYxIVLmRtaS5HZXRNZXRyaWNSZXF1ZXN0GhYuZG1pLkdldE1ldHJpY1Jlc3BvbnNlQjtaOWdpdGh1Yi5jb20vb3BlbmNvcmQvZGV2aWNlLW1hbmFnZW1lbnQtaW50ZXJmYWNlL3YzL2dvL2RtaUrqIwoHEgUAAIIBAQoICgEMEgMAABIKCAoBCBIDAgBQCgkKAggLEgMCAFAKCAoBAhIDAwAMCgkKAgMAEgMFABsKCQoCAwESAwYAFgrYAQoCBQASBA0ANAEyjgEgVGhlIG1vZGVsIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBldmVudCBkYXRhIG9uIHRoZSBTZW5zb3JEYXRhIG9mIGEgY29tcG9uZW50IGFzIGRlc2NyaWJlZA0KIGluIFJGQzgzNDggKGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM4MzQ4KQ0KMjsgTWFuYWdlbWVudCBv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BAYAAgASA3cEPRr1ASBMaXN0IHRoZSBzdXBwb3J0ZWQgbWV0cmljcyBmb3IgdGhlIHBhc3NlZCBkZXZpY2UuDQogVGhpcyB3b3VsZCBiZSB0aGUgZmlyc3QgY2FsbCB0aGF0IHlvdSBtYWtlIHRvIGtub3cgYWJvdXQgdGhlIG1ldHJpY3MgdGhhdCBhIHBhcnRpY3VsYXIgZGV2aWNlIHN1cHBvcnRzIGFuZA0KIHRoZW4gdXNlIHRoZSBVcGRhdGVNZXRyaWNzQ29uZmlndXJhdGlvbiBBUEkgdG8gbW9uaXRvciBvbmx5IHRoZSByZXF1aXJlZCBtZXRyaWNzLg0KCgwKBQYAAgABEgN3CBMKDAoFBgACAAISA3cUHgoMCgUGAAIAAxIDdyg7CqYCCgQGAAIBEgN+BGYamAIgVXBkYXRlcyB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGUgbGlzdCBvZiBtZXRyaWNzIGluIHRoZSByZXF1ZXN0DQogQWN0cyB1cG9uIHNpbmdsZSBtZXRyaWMgY29uZmlndXJhdGlvbiwgY29sbGVjdGlvbiBvZiBhIHNpbmdsZSBtZXRyaWMgY2FuIGJlIHN0YXJ0ZWQvc3RvcHBlZA0KIGJ5IGNoYW5naW5nIGl0cyBjb25maWd1cmF0aW9uLg0KDQogVGhpcyBjb25maWd1cmF0aW9uIGlzIHBlcnNpc3RlZCBhY3Jvc3MgcmVzdGFydCBvZiB0aGUgZGV2aWNlIG9yIHRoZSBkZXZpY2UgbWFuYWdlcg0KCgwKBQYAAgEBEgN+CCIKDAoFBgACAQISA34jPgoMCgUGAAIBAxIDfkhkCjcKBAYAAgISBIEBBD8aKSBHZXQgdGhlIGluc3RhbnRlbm91cyB2YWx1ZSBvZiBhIG1ldHJpYw0KCg0KBQYAAgIBEgSBAQgRCg0KBQYAAgICEgSBARIiCg0KBQYAAgIDEgSBASw9YgZwcm90bzMK0xgKEmRtaS9zd19pbWFnZS5wcm90bxIDZG1pGhFkbWkvY29tbW9ucy5wcm90byJHCgxJbWFnZVZlcnNpb24SHQoKaW1hZ2VfbmFtZRgBIAEoCVIJaW1hZ2VOYW1lEhgKB3ZlcnNpb24YAiABKAlSB3ZlcnNpb24iqAEKEEltYWdlSW5mb3JtYXRpb24SJwoFaW1hZ2UYASABKAsyES5kbWkuSW1hZ2VWZXJzaW9uUgVpbWFnZRIwChRpbWFnZV9pbnN0YWxsX3NjcmlwdBgCIAEoCVISaW1hZ2VJbnN0YWxsU2NyaXB0EhsKCWltYWdlX3VybBgDIAEoCVIIaW1hZ2VVcmwSHAoJc2hhMjU2c3VtGAUgASgJUglzaGEyNTZzdW0ingQKC0ltYWdlU3RhdHVzEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIvCgZyZWFzb24YAiABKA4yFy5kbWkuSW1hZ2VTdGF0dXMuUmVhc29uUgZyZWFzb24SMQoFc3RhdGUYAyABKA4yGy5kbWkuSW1hZ2VTdGF0dXMuSW1hZ2VTdGF0ZVIFc3RhdGUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uItABCgpJbWFnZVN0YXRlEhMKD1VOREVGSU5FRF9TVEFURRAAEhEKDUNPUFlJTkdfSU1BR0UQARIUChBJTlNUQUxMSU5HX0lNQUdFEAISFAoQQ09NTUlUVElOR19JTUFHRRADEhQKEFJFQk9PVElOR19ERVZJQ0UQBBIUChBVUEdSQURFX0NPTVBMRVRFEAUSEgoOVVBHUkFERV9GQUlMRUQQBhIXChNBQ1RJVkFUSU9OX0NPTVBMRVRFEAcSFQoRQUNUSVZBVElPTl9GQUlMRUQQCCKQAQoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABIUChBFUlJPUl9JTl9SRVFVRVNUEAESEgoOSU5URVJOQUxfRVJST1IQAhIZChVERVZJQ0VfSU5fV1JPTkdfU1RBVEUQAxIRCg1JTlZBTElEX0lNQUdFEAQSGAoUV1JPTkdfSU1BR0VfQ0hFQ0tTVU0QBUI7WjlnaXRodWIuY29tL29wZW5jb3JkL2RldmljZS1tYW5hZ2VtZW50LWludGVyZmFjZS92My9nby9kbWlKyhEKBhIEAAA2AQoICgEMEgMAABIKCAoBCBIDAgBQCgkKAggLEgMCAFAKCAoBAhIDAwAMCgkKAgMAEgMFABsKQwoCBAASBAkADAEyNyBQcm90b3MgZm9yIG1vZGVsaW5nIGEgc29mdHdhcmUgaW1hZ2UgYW5kIGl0J3Mgc3RhdHVzDQoKCgoDBAABEgMJCBQKCwoEBAACABID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AgIBBBIEMgQxFwoMCgUEAgIBBhIDMgQKCgwKBQQCAgEBEgMyCxEKDAoFBAICAQMSAzIUFQoLCgQEAgICEgMzBBkKDQoFBAICAgQSBDMEMhYKDAoFBAICAgYSAzMEDgoMCgUEAgICARIDMw8UCgwKBQQCAgIDEgMzFxgKdgoEBAICAxIDNQQbGmkgZGVzY3JpcHRpb24gY29udGFpbnMgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgcHJvY2VkdXJlIGFuZCBpcyBkZXZpY2UgZGVwZW5kYW50DQoKDQoFBAICAwQSBDUEMxkKDAoFBAICAwUSAzUECgoMCgUEAgIDARIDNQsWCgwKBQQCAgMDEgM1GRpiBnByb3RvMwrAFQofZG1pL3N3X21hbmFnZW1lbnRfc2VydmljZS5wcm90bxIDZG1pGhFkbWkvY29tbW9ucy5wcm90bxoMZG1pL2h3LnByb3RvGhJkbWkvc3dfaW1hZ2UucHJvdG8ilgEKGlNvZnR3YXJlVmVyc2lvbkluZm9ybWF0aW9uEjoKD2FjdGl2ZV92ZXJzaW9ucxgBIAMoCzIRLmRtaS5JbWFnZVZlcnNpb25SDmFjdGl2ZVZlcnNpb25zEjwKEHN0YW5kYnlfdmVyc2lvbnMYAiADKAsyES5kbWkuSW1hZ2VWZXJzaW9uUg9zdGFuZGJ5VmVyc2lvbnMipgEKJUdldFNvZnR3YXJlVmVyc2lvbkluZm9ybWF0aW9uUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEiMKBnJlYXNvbhgCIAEoDjILLmRtaS5SZWFzb25SBnJlYXNvbhIzCgRpbmZvGAMgASgLMh8uZG1pLlNvZnR3YXJlVmVyc2lvbkluZm9ybWF0aW9uUgRpbmZvIngKFERvd25sb2FkSW1hZ2VSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSNAoKaW1hZ2VfaW5mbxgCIAEoCzIVLmRtaS5JbWFnZUluZm9ybWF0aW9uUglpbWFnZUluZm8ypwIKH05hdGl2ZVNvZnR3YXJlTWFuYWdlbWVudFNlcnZpY2USUQoSR2V0U29mdHdhcmVWZXJz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