CuEFChFkbWkvY29tbW9ucy5wcm90bxIDZG1pKj8KBlN0YXR1cxIUChBVTkRFRklORURfU1RBVFVTEAASDQoJT0tfU1RBVFVTEAESEAoMRVJST1JfU1RBVFVTEAIqPwoITG9nTGV2ZWwSCQoFVFJBQ0UQABIJCgVERUJVRxABEggKBElORk8QAhIICgRXQVJOEAMSCQoFRVJST1IQBEI7WjlnaXRodWIuY29tL29wZW5jb3JkL2RldmljZS1tYW5hZ2VtZW50LWludGVyZmFjZS92My9nby9kbWlK/wMKBhIEAAAUAQoICgEMEgMAABIKCAoBCBIDAgBQCgkKAggLEgMCAFAKCAoBAhIDAwAMClQKAgUAEgQHAAsBMkggQ29tbW9uIHN0cnVjdHVyZXMgdXNlZCBhY3Jvc3MgdGhlIGRpZmZlcmVudCBEZXZpY2UgTWFuYWdlbWVudCBzZXJ2aWNlcwoKCgoDBQABEgMHBQsKCwoEBQACABIDCAQZCgwKBQUAAgABEgMIBBQKDAoFBQACAAISAwgXGAoLCgQFAAIBEgMJBBIKDAoFBQACAQESAwkEDQoMCgUFAAIBAhIDCRARCgsKBAUAAgISAwoEFQoMCgUFAAICARIDCgQQCgwKBQUAAgICEgMKExQKFgoCBQESBA4AFAEaCkxvZyBMZXZlbAoKCgoDBQEBEgMOBQ0KCwoEBQECABIDDwQOCgwKBQUBAgABEgMPBAkKDAoFBQECAAISAw8MDQoLCgQFAQIBEgMQBA4KDAoFBQECAQESAxAECQoMCgUFAQIBAhIDEAwNCgsKBAUBAgISAxEEDgoMCgUFAQICARIDEQQICgwKBQUBAgICEgMRDA0KCwoEBQECAxIDEgQOCgwKBQUBAgMBEgMSBAgKDAoFBQECAwISAxIMDQoLCgQFAQIEEgMTBA4KDAoFBQECBAESAxMECQoMCgUFAQIEAhIDEwwNYgZwcm90bzMK8i8KH2dvb2dsZS9wcm90b2J1Zi90aW1lc3RhbXAucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiI7CglUaW1lc3RhbXASGAoHc2Vjb25kcxgBIAEoA1IHc2Vjb25kcxIUCgVuYW5vcxgCIAEoBVIFbmFub3NCfgoTY29tLmdvb2dsZS5wcm90b2J1ZkIOVGltZXN0YW1wUHJvdG9QAVorZ2l0aHViLmNvbS9nb2xhbmcvcHJvdG9idWYvcHR5cGVzL3RpbWVzdGFtcPgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc0r4LQoHEgUeAIgBAQrMDAoBDBIDHgASMsEMIFByb3RvY29sIEJ1ZmZlcnMgLSBHb29nbGUncyBkYXRhIGludGVyY2hhbmdlIGZvcm1hdAogQ29weXJpZ2h0IDIwMDggR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wcm90b2NvbC1idWZmZXJzLwoKIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQogbWV0OgoKICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCiBkaXN0cmlidXRpb24uCiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KCiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgoKCAoBAhIDIAAYCggKAQgSAyIAOwoJCgIIJRIDIgA7CggKAQgSAyMAHwoJCgIIHxIDIwAfCggKAQgSAyQAQgoJCgIICxIDJABCCggKAQgSAyUALAoJCgIIARIDJQAsCggKAQgSAyYALwoJCgIICBIDJgAvCggKAQgSAycAIgoJCgIIChIDJwAiCggKAQgSAygAIQoJCgIIJBIDKAAhCvEbCgIEABIFfACIAQEa4xsgQSBUaW1lc3RhbXAgcmVwcmVzZW50cyBhIHBvaW50IGluIHRpbWUgaW5kZXBlbmRlbnQgb2YgYW55IHRpbWUgem9uZSBvciBsb2NhbAogY2FsZW5kYXIsIGVuY29kZWQgYXMgYSBjb3VudCBvZiBzZWNvbmRzIGFuZCBmcmFjdGlvbnMgb2Ygc2Vjb25kcyBhdAogbmFub3NlY29uZCByZXNvbHV0aW9uLiBUaGUgY291bnQgaXMgcmVsYXRpdmUgdG8gYW4gZXBvY2ggYXQgVVRDIG1pZG5pZ2h0IG9uCiBKYW51YXJ5IDEsIDE5NzAsIGluIHRoZSBwcm9sZXB0aWMgR3JlZ29yaWFuIGNhbGVuZGFyIHdoaWNoIGV4dGVuZHMgdGhlCiBHcmVnb3JpYW4gY2FsZW5kYXIgYmFja3dhcmRzIHRvIHllYXIgb25lLgoKIEFsbCBtaW51dGVzIGFyZSA2MCBzZWNvbmRzIGxvbmcuIExlYXAgc2Vjb25kcyBhcmUgInNtZWFyZWQiIHNvIHRoYXQgbm8gbGVhcAogc2Vjb25kIHRhYmxlIGlzIG5lZWRlZCBmb3IgaW50ZXJwcmV0YXRpb24sIHVzaW5nIGEgWzI0LWhvdXIgbGluZWFyCiBzbWVhcl0oaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vdGltZS9zbWVhcikuCgogVGhlIHJhbmdlIGlzIGZyb20gMDAwMS0wMS0wMVQwMDowMDowMFogdG8gOTk5OS0xMi0zMVQyMzo1OTo1OS45OTk5OTk5OTlaLiBCeQogcmVzdHJpY3RpbmcgdG8gdGhhdCByYW5nZSwgd2UgZW5zdXJlIHRoYXQgd2UgY2FuIGNvbnZlcnQgdG8gYW5kIGZyb20gW1JGQwogMzMzOV0oaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzMzMzkudHh0KSBkYXRlIHN0cmluZ3MuCgogIyBFeGFtcGxlcwoKIEV4YW1wbGUgMTogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBQT1NJWCBgdGltZSgpYC4KCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHModGltZShOVUxMKSk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcygwKTsKCiBFeGFtcGxlIDI6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gUE9TSVggYGdldHRpbWVvZmRheSgpYC4KCiAgICAgc3RydWN0IHRpbWV2YWwgdHY7CiAgICAgZ2V0dGltZW9mZGF5KCZ0diwgTlVMTCk7CgogICAgIFRpbWVzdGFtcCB0aW1lc3RhbXA7CiAgICAgdGltZXN0YW1wLnNldF9zZWNvbmRzKHR2LnR2X3NlYyk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcyh0di50dl91c2VjICogMTAwMCk7CgogRXhhbXBsZSAzOiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIFdpbjMyIGBHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZSgpYC4KCiAgICAgRklMRVRJTUUgZnQ7CiAgICAgR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUoJmZ0KTsKICAgICBVSU5UNjQgdGlja3MgPSAoKChVSU5UNjQpZnQuZHdIaWdoRGF0ZVRpbWUpIDw8IDMyKSB8IGZ0LmR3TG93RGF0ZVRpbWU7CgogICAgIC8vIEEgV2luZG93cyB0aWNrIGlzIDEwMCBuYW5vc2Vjb25kcy4gV2luZG93cyBlcG9jaCAxNjAxLTAxLTAxVDAwOjAwOjAwWgogICAgIC8vIGlzIDExNjQ0NDczNjAwIHNlY29uZHMgYmVmb3JlIFVuaXggZXBvY2ggMTk3MC0wMS0wMVQwMDowMDowMFouCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHMoKElOVDY0KSAoKHRpY2tzIC8gMTAwMDAwMDApIC0gMTE2NDQ0NzM2MDBMTCkpOwogICAgIHRpbWVzdGFtcC5zZXRfbmFub3MoKElOVDMyKSAoKHRpY2tzICUgMTAwMDAwMDApICogMTAwKSk7CgogRXhhbXBsZSA0OiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIEphdmEgYFN5c3RlbS5jdXJyZW50VGltZU1pbGxpcygpYC4KCiAgICAgbG9uZyBtaWxsaXMgPSBTeXN0ZW0uY3VycmVudFRpbWVNaWxsaXMoKTsKCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcCA9IFRpbWVzdGFtcC5uZXdCdWlsZGVyKCkuc2V0U2Vjb25kcyhtaWxsaXMgLyAxMDAwKQogICAgICAgICAuc2V0TmFub3MoKGludCkgKChtaWxsaXMgJSAxMDAwKSAqIDEwMDAwMDApKS5idWlsZCgpOwoKCiBFeGFtcGxlIDU6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gY3VycmVudCB0aW1lIGluIFB5dGhvbi4KCiAgICAgdGltZXN0YW1wID0gVGltZXN0YW1wKCkKICAgICB0aW1lc3RhbXAuR2V0Q3VycmVudFRpbWUoKQoKICMgSlNPTiBNYXBwaW5nCgogSW4gSlNPTiBmb3JtYXQsIHRoZSBUaW1lc3RhbXAgdHlwZSBpcyBlbmNvZGVkIGFzIGEgc3RyaW5nIGluIHRoZQogW1JGQyAzMzM5XShodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMzMzOS50eHQpIGZvcm1hdC4gVGhhdCBpcywgdGhlCiBmb3JtYXQgaXMgInt5ZWFyfS17bW9udGh9LXtkYXl9VHtob3VyfTp7bWlufTp7c2VjfVsue2ZyYWNfc2VjfV1aIgogd2hlcmUge3llYXJ9IGlzIGFsd2F5cyBleHByZXNzZWQgdXNpbmcgZm91ciBkaWdpdHMgd2hpbGUge21vbnRofSwge2RheX0sCiB7aG91cn0sIHttaW59LCBhbmQge3NlY30gYXJlIHplcm8tcGFkZGVkIHRvIHR3byBkaWdpdHMgZWFjaC4gVGhlIGZyYWN0aW9uYWwKIHNlY29uZHMsIHdoaWNoIGNhbiBnbyB1cCB0byA5IGRpZ2l0cyAoaS5lLiB1cCB0byAxIG5hbm9zZWNvbmQgcmVzb2x1dGlvbiksCiBhcmUgb3B0aW9uYWwuIFRoZSAiWiIgc3VmZml4IGluZGljYXRlcyB0aGUgdGltZXpvbmUgKCJVVEMiKTsgdGhlIHRpbWV6b25lCiBpcyByZXF1aXJlZC4gQSBwcm90bzMgSlNPTiBzZXJpYWxpemVyIHNob3VsZCBhbHdheXMgdXNlIFVUQyAoYXMgaW5kaWNhdGVkIGJ5CiAiWiIpIHdoZW4gcHJpbnRpbmcgdGhlIFRpbWVzdGFtcCB0eXBlIGFuZCBhIHByb3RvMyBKU09OIHBhcnNlciBzaG91bGQgYmUKIGFibGUgdG8gYWNjZXB0IGJvdGggVVRDIGFuZCBvdGhlciB0aW1lem9uZXMgKGFzIGluZGljYXRlZCBieSBhbiBvZmZzZXQpLgoKIEZvciBleGFtcGxlLCAiMjAxNy0wMS0xNVQwMTozMDoxNS4wMVoiIGVuY29kZXMgMTUuMDEgc2Vjb25kcyBwYXN0CiAwMTozMCBVVEMgb24gSmFudWFyeSAxNSwgMjAxNy4KCiBJbiBKYXZhU2NyaXB0LCBvbmUgY2FuIGNvbnZlcnQgYSBEYXRlIG9iamVjdCB0byB0aGlzIGZvcm1hdCB1c2luZyB0aGUKIHN0YW5kYXJkIFt0b0lTT1N0cmluZygpXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9EYXRlL3RvSVNPU3RyaW5nKQogbWV0aG9kLiBJbiBQeXRob24sIGEgc3RhbmRhcmQgYGRhdGV0aW1lLmRhdGV0aW1lYCBvYmplY3QgY2FuIGJlIGNvbnZlcnRlZAogdG8gdGhpcyBmb3JtYXQgdXNpbmcgW2BzdHJmdGltZWBdKGh0dHBzOi8vZG9jcy5weXRob24ub3JnLzIvbGlicmFyeS90aW1lLmh0bWwjdGltZS5zdHJmdGltZSkKIHdpdGggdGhlIHRpbWUgZm9ybWF0IHNwZWMgJyVZLSVtLSVkVCVIOiVNOiVTLiVmWicuIExpa2V3aXNlLCBpbiBKYXZhLCBvbmUKIGNhbiB1c2UgdGhlIEpvZGEgVGltZSdzIFtgSVNPRGF0ZVRpbWVGb3JtYXQuZGF0ZVRpbWUoKWBdKAogaHR0cDovL3d3dy5qb2RhLm9yZy9qb2RhLXRpbWUvYXBpZG9jcy9vcmcvam9kYS90aW1lL2Zvcm1hdC9JU09EYXRlVGltZUZvcm1hdC5odG1sI2RhdGVUaW1lJTJEJTJECiApIHRvIG9idGFpbiBhIGZvcm1hdHRlciBjYXBhYmxlIG9mIGdlbmVyYXRpbmcgdGltZXN0YW1wcyBpbiB0aGlzIGZvcm1hdC4KCgoKCgoDBAABEgN8CBEKnQEKBAQAAgASBIEBAhQajgEgUmVwcmVzZW50cyBzZWNvbmRzIG9mIFVUQyB0aW1lIHNpbmNlIFVuaXggZXBvY2gKIDE5NzAtMDEtMDFUMDA6MDA6MDBaLiBNdXN0IGJlIGZyb20gMDAwMS0wMS0wMVQwMDowMDowMFogdG8KIDk5OTktMTItMzFUMjM6NTk6NTlaIGluY2x1c2l2ZS4KCg4KBQQAAgAEEgWBAQJ8EwoNCgUEAAIABRIEgQECBwoNCgUEAAIAARIEgQEIDwoNCgUEAAIAAxIEgQESEwrlAQoEBAACARIEhwECEhrWASBOb24tbmVnYXRpdmUgZnJhY3Rpb25zIG9mIGEgc2Vjb25kIGF0IG5hbm9zZWNvbmQgcmVzb2x1dGlvbi4gTmVnYXRpdmUKIHNlY29uZCB2YWx1ZXMgd2l0aCBmcmFjdGlvbnMgbXVzdCBzdGlsbCBoYXZlIG5vbi1uZWdhdGl2ZSBuYW5vcyB2YWx1ZXMKIHRoYXQgY291bnQgZm9yd2FyZCBpbiB0aW1lLiBNdXN0IGJlIGZyb20gMCB0byA5OTksOTk5LDk5OQogaW5jbHVzaXZlLgoKDwoFBAACAQQSBocBAoEBFAoNCgUEAAIBBRIEhwECBwoNCgUEAAIBARIEhwEIDQoNCgUEAAIBAxIEhwEQEWIGcHJvdG8zCt5kCgxkbWkvaHcucHJvdG8SA2RtaRofZ29vZ2xlL3Byb3RvYnVmL3RpbWVzdGFtcC5wcm90byIaCgRVdWlkEhIKBHV1aWQYASABKAlSBHV1aWQiKwoKSGFyZHdhcmVJRBIdCgR1dWlkGAEgASgLMgkuZG1pLlV1aWRSBHV1aWQiFwoDVXJpEhAKA3VyaRgBIAEoCVIDdXJpIoQDCg5Db21wb25lbnRTdGF0ZRJIChJzdGF0ZV9sYXN0X2NoYW5nZWQYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUhBzdGF0ZUxhc3RDaGFuZ2VkEjkKC2FkbWluX3N0YXRlGAIgASgOMhguZG1pLkNvbXBvbmVudEFkbWluU3RhdGVSCmFkbWluU3RhdGUSNgoKb3Blcl9zdGF0ZRgDIAEoDjIXLmRtaS5Db21wb25lbnRPcGVyU3RhdGVSCW9wZXJTdGF0ZRI5Cgt1c2FnZV9zdGF0ZRgEIAEoDjIYLmRtaS5Db21wb25lbnRVc2FnZVN0YXRlUgp1c2FnZVN0YXRlEjkKC2FsYXJtX3N0YXRlGAUgASgOMhguZG1pLkNvbXBvbmVudEFsYXJtU3RhdGVSCmFsYXJtU3RhdGUSPwoNc3RhbmRieV9zdGF0ZRgGIAEoDjIaLmRtaS5Db21wb25lbnRTdGFuZGJ5U3RhdGVSDHN0YW5kYnlTdGF0ZSLzAgoTQ29tcG9uZW50U2Vuc29yRGF0YRIUCgV2YWx1ZRgBIAEoBVIFdmFsdWUSKAoEdHlwZRgCIAEoDjIULmRtaS5TZW5zb3JWYWx1ZVR5cGVSBHR5cGUSKwoFc2NhbGUYAyABKA4yFS5kbWkuU2Vuc29yVmFsdWVTY2FsZVIFc2NhbGUSHAoJcHJlY2lzaW9uGAQgASgFUglwcmVjaXNpb24SKQoGc3RhdHVzGAUgASgOMhEuZG1pLlNlbnNvclN0YXR1c1IGc3RhdHVzEiMKDXVuaXRzX2Rpc3BsYXkYBiABKAlSDHVuaXRzRGlzcGxheRI4Cgl0aW1lc3RhbXAYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUgl0aW1lc3RhbXASKgoRdmFsdWVfdXBkYXRlX3JhdGUYCCABKA1SD3ZhbHVlVXBkYXRlUmF0ZRIbCglkYXRhX3R5cGUYCSABKAlSCGRhdGFUeXBlIrcFCglDb21wb25lbnQSEgoEbmFtZRgBIAEoCVIEbmFtZRIoCgVjbGFzcxgCIAEoDjISLmRtaS5Db21wb25lbnRUeXBlUgVjbGFzcxIgCgtkZXNjcmlwdGlvbhgDIAEoCVILZGVzY3JpcHRpb24SFgoGcGFyZW50GAQgASgJUgZwYXJlbnQSJAoOcGFyZW50X3JlbF9wb3MYBSABKAVSDHBhcmVudFJlbFBvcxIqCghjaGlsZHJlbhgGIAMoCzIOLmRtaS5Db21wb25lbnRSCGNoaWxkcmVuEiEKDGhhcmR3YXJlX3JldhgHIAEoCVILaGFyZHdhcmVSZXYSIQoMZmlybXdhcmVfcmV2GAggASgJUgtmaXJtd2FyZVJldhIhCgxzb2Z0d2FyZV9yZXYYCSABKAlSC3NvZnR3YXJlUmV2Eh0KCnNlcmlhbF9udW0YCiABKAlSCXNlcmlhbE51bRIZCghtZmdfbmFtZRgLIAEoCVIHbWZnTmFtZRIdCgptb2RlbF9uYW1lGAwgASgJUgltb2RlbE5hbWUSFAoFYWxpYXMYDSABKAlSBWFsaWFzEhkKCGFzc2V0X2lkGA4gASgJUgdhc3NldElkEhUKBmlzX2ZydRgPIAEoCFIFaXNGcnUSNQoIbWZnX2RhdGUYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUgdtZmdEYXRlEhoKA3VyaRgRIAEoCzIILmRtaS5VcmlSA3VyaRIdCgR1dWlkGBIgASgLMgkuZG1pLlV1aWRSBHV1aWQSKQoFc3RhdGUYEyABKAsyEy5kbWkuQ29tcG9uZW50U3RhdGVSBXN0YXRlEjkKC3NlbnNvcl9kYXRhGBQgAygLMhguZG1pLkNvbXBvbmVudFNlbnNvckRhdGFSCnNlbnNvckRhdGEiawoISGFyZHdhcmUSOwoLbGFzdF9jaGFuZ2UYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wUgpsYXN0Q2hhbmdlEiIKBHJvb3QYAiABKAsyDi5kbWkuQ29tcG9uZW50UgRyb290IqkCChNNb2RpZmlhYmxlQ29tcG9uZW50EhIKBG5hbWUYASABKAlSBG5hbWUSKAoFY2xhc3MYAiABKA4yEi5kbWkuQ29tcG9uZW50VHlwZVIFY2xhc3MSJgoGcGFyZW50GAMgASgLMg4uZG1pLkNvbXBvbmVudFIGcGFyZW50EiQKDnBhcmVudF9yZWxfcG9zGAQgASgFUgxwYXJlbnRSZWxQb3MSFAoFYWxpYXMYBSABKAlSBWFsaWFzEhkKCGFzc2V0X2lkGAYgASgJUgdhc3NldElkEhoKA3VyaRgHIAEoCzIILmRtaS5VcmlSA3VyaRI5CgthZG1pbl9zdGF0ZRgIIAEoDjIYLmRtaS5Db21wb25lbnRBZG1pblN0YXRlUgphZG1pblN0YXRlKoEECg1Db21wb25lbnRUeXBlEhwKGENPTVBPTkVOVF9UWVBFX1VOREVGSU5FRBAAEhoKFkNPTVBPTkVOVF9UWVBFX1VOS05PV04QARIaChZDT01QT05FTlRfVFlQRV9DSEFTU0lTEAISHAoYQ09NUE9ORU5UX1RZUEVfQkFDS1BMQU5FEAMSHAoYQ09NUE9ORU5UX1RZUEVfQ09OVEFJTkVSEAQSHwobQ09NUE9ORU5UX1RZUEVfUE9XRVJfU1VQUExZEAUSFgoSQ09NUE9ORU5UX1RZUEVfRkFOEAYSGQoVQ09NUE9ORU5UX1RZUEVfU0VOU09SEAcSGQoVQ09NUE9ORU5UX1RZUEVfTU9EVUxFEAgSFwoTQ09NUE9ORU5UX1RZUEVfUE9SVBAJEhYKEkNPTVBPTkVOVF9UWVBFX0NQVRAKEhoKFkNPTVBPTkVOVF9UWVBFX0JBVFRFUlkQCxIaChZDT01QT05FTlRfVFlQRV9TVE9SQUdFEAwSGQoVQ09NUE9ORU5UX1RZUEVfTUVNT1JZEA0SHgoaQ09NUE9ORU5UX1RZUEVfVFJBTlNDRUlWRVIQDhIjCh9DT01QT05FTlRfVFlQRV9HUE9OX1RSQU5TQ0VJVkVSEA8SJgoiQ09NUE9ORU5UX1RZUEVfWEdTX1BPTl9UUkFOU0NFSVZFUhAQKrMBChNDb21wb25lbnRBZG1pblN0YXRlEh4KGkNPTVBfQURNSU5fU1RBVEVfVU5ERUZJTkVEEAASHAoYQ09NUF9BRE1JTl9TVEFURV9VTktOT1dOEAESGwoXQ09NUF9BRE1JTl9TVEFURV9MT0NLRUQQAhIiCh5DT01QX0FETUlOX1NUQVRFX1NIVVRUSU5HX0RPV04QAxIdChlDT01QX0FETUlOX1NUQVRFX1VOTE9DS0VEEAQqqAEKEkNvbXBvbmVudE9wZXJTdGF0ZRIdChlDT01QX09QRVJfU1RBVEVfVU5ERUZJTkVEEAASGwoXQ09NUF9PUEVSX1NUQVRFX1VOS05PV04QARIcChhDT01QX09QRVJfU1RBVEVfRElTQUJMRUQQAhIbChdDT01QX09QRVJfU1RBVEVfRU5BQkxFRBADEhsKF0NPTVBfT1BFUl9TVEFURV9URVNUSU5HEAQqpgEKE0NvbXBvbmVudFVzYWdlU3RhdGUSHgoaQ09NUF9VU0FHRV9TVEFURV9VTkRFRklORUQQABIcChhDT01QX1VTQUdFX1NUQVRFX1VOS05PV04QARIZChVDT01QX1VTQUdFX1NUQVRFX0lETEUQAhIbChdDT01QX1VTQUdFX1NUQVRFX0FDVElWRRADEhkKFUNPTVBfVVNBR0VfU1RBVEVfQlVTWRAEKo8CChNDb21wb25lbnRBbGFybVN0YXRlEh4KGkNPTVBfQUxBUk1fU1RBVEVfVU5ERUZJTkVEEAASHAoYQ09NUF9BTEFSTV9TVEFURV9VTktOT1dOEAESIQodQ09NUF9BTEFSTV9TVEFURV9VTkRFUl9SRVBBSVIQAhIdChlDT01QX0FMQVJNX1NUQVRFX0NSSVRJQ0FMEAMSGgoWQ09NUF9BTEFSTV9TVEFURV9NQUpPUhAEEhoKFkNPTVBfQUxBUk1fU1RBVEVfTUlOT1IQBRIcChhDT01QX0FMQVJNX1NUQVRFX1dBUk5JTkcQBhIiCh5DT01QX0FMQVJNX1NUQVRFX0lOREVURVJNSU5BVEUQByq8AQoVQ29tcG9uZW50U3RhbmRieVN0YXRlEiAKHENPTVBfU1RBTkRCWV9TVEFURV9VTkRFRklORUQQABIeChpDT01QX1NUQU5EQllfU1RBVEVfVU5LTk9XThABEhoKFkNPTVBfU1RBTkRCWV9TVEFURV9IT1QQAhIbChdDT01QX1NUQU5EQllfU1RBVEVfQ09MRBADEigKJENPTVBfU1RBTkRCWV9TVEFURV9QUk9WSURJTkdfU0VSVklDRRAEKqEDCg9TZW5zb3JWYWx1ZVR5cGUSHwobU0VOU09SX1ZBTFVFX1RZUEVfVU5ERUZJTkVEEAASGwoXU0VOU09SX1ZBTFVFX1RZUEVfT1RIRVIQARIdChlTRU5TT1JfVkFMVUVfVFlQRV9VTktOT1dOEAISHgoaU0VOU09SX1ZBTFVFX1RZUEVfVk9MVFNfQUMQAxIeChpTRU5TT1JfVkFMVUVfVFlQRV9WT0xUU19EQxAEEh0KGVNFTlNPUl9WQUxVRV9UWVBFX0FNUEVSRVMQBRIbChdTRU5TT1JfVkFMVUVfVFlQRV9XQVRUUxAGEhsKF1NFTlNPUl9WQUxVRV9UWVBFX0hFUlRaEAcSHQoZU0VOU09SX1ZBTFVFX1RZUEVfQ0VMU0lVUxAIEiAKHFNFTlNPUl9WQUxVRV9UWVBFX1BFUkNFTlRfUkgQCRIZChVTRU5TT1JfVkFMVUVfVFlQRV9SUE0QChIZChVTRU5TT1JfVkFMVUVfVFlQRV9DTU0QCxIhCh1TRU5TT1JfVkFMVUVfVFlQRV9UUlVUSF9WQUxVRRAMKqgEChBTZW5zb3JWYWx1ZVNjYWxlEiAKHFNFTlNPUl9WQUxVRV9TQ0FMRV9VTkRFRklORUQQABIcChhTRU5TT1JfVkFMVUVfU0NBTEVfWU9DVE8QARIcChhTRU5TT1JfVkFMVUVfU0NBTEVfWkVQVE8QAhIbChdTRU5TT1JfVkFMVUVfU0NBTEVfQVRUTxADEhwKGFNFTlNPUl9WQUxVRV9TQ0FMRV9GRU1UTxAEEhsKF1NFTlNPUl9WQUxVRV9TQ0FMRV9QSUNPEAUSGwoXU0VOU09SX1ZBTFVFX1NDQUxFX05BTk8QBhIcChhTRU5TT1JfVkFMVUVfU0NBTEVfTUlDUk8QBxIcChhTRU5TT1JfVkFMVUVfU0NBTEVfTUlMTEkQCBIcChhTRU5TT1JfVkFMVUVfU0NBTEVfVU5JVFMQCRIbChdTRU5TT1JfVkFMVUVfU0NBTEVfS0lMTxAKEhsKF1NFTlNPUl9WQUxVRV9TQ0FMRV9NRUdBEAsSGwoXU0VOU09SX1ZBTFVFX1NDQUxFX0dJR0EQDBIbChdTRU5TT1JfVkFMVUVfU0NBTEVfVEVSQRANEhsKF1NFTlNPUl9WQUxVRV9TQ0FMRV9QRVRBEA4SGgoWU0VOU09SX1ZBTFVFX1NDQUxFX0VYQRAPEhwKGFNFTlNPUl9WQUxVRV9TQ0FMRV9aRVRUQRAQEhwKGFNFTlNPUl9WQUxVRV9TQ0FMRV9ZT1RUQRARKoIBCgxTZW5zb3JTdGF0dXMSGwoXU0VOU09SX1NUQVRVU19VTkRFRklORUQQABIUChBTRU5TT1JfU1RBVFVTX09LEAESHQoZU0VOU09SX1NUQVRVU19VTkFWQUlMQUJMRRACEiAKHFNFTlNPUl9TVEFUVVNfTk9OT1BFUkFUSU9OQUwQA0I7WjlnaXRodWIuY29tL29wZW5jb3JkL2RldmljZS1tYW5hZ2VtZW50LWludGVyZmFjZS92My9nby9kbWlK/T8KBxIFAADEAQEKCAoBDBIDAAASCggKAQgSAwIAUAoJCgIICxIDAgBQCggKAQISAwMADAoJCgIDABIDBQApCmkKAgQAEgQJAAsBMl0gVGhlIG1vZGVsIHVzZWQgdG8gcmVwcmVzZW50IGEgSFcgaXMgYmFzZWQgb24gUkZDODM0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ZS5wcm90bxIDZG1pGhFkbWkvY29tbW9ucy5wcm90bxoMZG1pL2h3LnByb3RvGh9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvImkKCVZhbHVlVHlwZRIZCgdpbnRfdmFsGAEgASgDSABSBmludFZhbBIbCgh1aW50X3ZhbBgCIAEoBEgAUgd1aW50VmFsEh0KCWZsb2F0X3ZhbBgDIAEoAkgAUghmbG9hdFZhbEIFCgN2YWwiUgoKV2F0ZXJNYXJrcxIiCgRoaWdoGAEgASgLMg4uZG1pLlZhbHVlVHlwZVIEaGlnaBIgCgNsb3cYAiABKAsyDi5kbWkuVmFsdWVUeXBlUgNsb3ciawoKVGhyZXNob2xkcxInCgV1cHBlchgBIAEoCzIPLmRtaS5XYXRlck1hcmtzSABSBXVwcGVyEicKBWxvd2VyGAIgASgLMg8uZG1pLldhdGVyTWFya3NIAFIFbG93ZXJCCwoJdGhyZXNob2xkIn4KFFRocmVzaG9sZEluZm9ybWF0aW9uEjUKDm9ic2VydmVkX3ZhbHVlGAEgASgLMg4uZG1pLlZhbHVlVHlwZVINb2JzZXJ2ZWRWYWx1ZRIvCgp0aHJlc2hvbGRzGAIgASgLMg8uZG1pLlRocmVzaG9sZHNSCnRocmVzaG9sZHMiigEKCEV2ZW50Q2ZnEigKCGV2ZW50X2lkGAEgASgOMg0uZG1pLkV2ZW50SWRzUgdldmVudElkEiMKDWlzX2NvbmZpZ3VyZWQYAiABKAhSDGlzQ29uZmlndXJlZBIvCgp0aHJlc2hvbGRzGAMgASgLMg8uZG1pLlRocmVzaG9sZHNSCnRocmVzaG9sZHMiMAoJRXZlbnRzQ2ZnEiMKBWl0ZW1zGAEgAygLMg0uZG1pLkV2ZW50Q2ZnUgVpdGVtcyLhAQoSTGlzdEV2ZW50c1Jlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI2CgZyZWFzb24YAiABKA4yHi5kbWkuTGlzdEV2ZW50c1Jlc3BvbnNlLlJlYXNvblIGcmVhc29uEiYKBmV2ZW50cxgDIAEoCzIOLmRtaS5FdmVudHNDZmdSBmV2ZW50cyJGCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAiKtAQoaRXZlbnRzQ29uZmlndXJhdGlvblJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIqCgdjaGFuZ2VzGAIgASgLMg4uZG1pLkV2ZW50c0NmZ0gAUgdjaGFuZ2VzEioKEHJlc2V0X3RvX2RlZmF1bHQYAyABKAhIAFIOcmVzZXRUb0RlZmF1bHRCCwoJb3BlcmF0aW9uIt8BChtFdmVudHNDb25maWd1cmF0aW9uUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj8KBnJlYXNvbhgCIAEoDjInLmRtaS5FdmVudHNDb25maWd1cmF0aW9uUmVzcG9uc2UuUmVhc29uUgZyZWFzb24iWgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISEgoOSU5WQUxJRF9DT05GSUcQAyKUAQoNRXZlbnRNZXRhRGF0YRIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEjAKDmNvbXBvbmVudF91dWlkGAIgASgLMgkuZG1pLlV1aWRSDWNvbXBvbmVudFV1aWQSJQoOY29tcG9uZW50X25hbWUYAyABKAlSDWNvbXBvbmVudE5hbWUiggIKBUV2ZW50EjkKDmV2ZW50X21ldGFkYXRhGAEgASgLMhIuZG1pLkV2ZW50TWV0YURhdGFSDWV2ZW50TWV0YWRhdGESKAoIZXZlbnRfaWQYAiABKA4yDS5kbWkuRXZlbnRJZHNSB2V2ZW50SWQSNwoJcmFpc2VkX3RzGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcFIIcmFpc2VkVHMSQAoOdGhyZXNob2xkX2luZm8YBCABKAsyGS5kbWkuVGhyZXNob2xkSW5mb3JtYXRpb25SDXRocmVzaG9sZEluZm8SGQoIYWRkX2luZm8YBSABKAlSB2FkZEluZm8q0Q4KCEV2ZW50SWRzEhgKFEVWRU5UX05BTUVfVU5ERUZJTkVEEAASHgoaRVZFTlRfVFJBTlNDRUlWRVJfUExVR19PVVQQZBIdChlFVkVOVF9UUkFOU0NFSVZFUl9QTFVHX0lOEGUSLQopRVZFTlRfVFJBTlNDRUlWRVJfVk9MVEFHRV9BQk9WRV9USFJFU0hPTEQQZhItCilFVkVOVF9UUkFOU0NFSVZFUl9WT0xUQUdFX0JFTE9XX1RIUkVTSE9MRBBnEjEKLUVWRU5UX1RSQU5TQ0VJVkVSX1RFTVBFUkFUVVJFX0FCT1ZFX1RIUkVTSE9MRBBoEjEKLUVWRU5UX1RSQU5TQ0VJVkVSX1RFTVBFUkFUVVJFX0JFTE9XX1RIUkVTSE9MRBBpEi0KKUVWRU5UX1RSQU5TQ0VJVkVSX0NVUlJFTlRfQUJPVkVfVEhSRVNIT0xEEGoSLQopRVZFTlRfVFJBTlNDRUlWRVJfQ1VSUkVOVF9CRUxPV19USFJFU0hPTEQQaxIuCipFVkVOVF9UUkFOU0NFSVZFUl9SWF9QT1dFUl9BQk9WRV9USFJFU0hPTEQQbBIuCipFVkVOVF9UUkFOU0NFSVZFUl9SWF9QT1dFUl9CRUxPV19USFJFU0hPTEQQbRIuCipFVkVOVF9UUkFOU0NFSVZFUl9UWF9QT1dFUl9BQk9WRV9USFJFU0hPTEQQbhIuCipFVkVOVF9UUkFOU0NFSVZFUl9UWF9QT1dFUl9CRUxPV19USFJFU0hPTEQQbxIdChlFVkVOVF9UUkFOU0NFSVZFUl9GQUlMVVJFEHASNwozRVZFTlRfVFJBTlNDRUlWRVJfVk9MVEFHRV9BQk9WRV9USFJFU0hPTERfUkVDT1ZFUkVEEHESNwozRVZFTlRfVFJBTlNDRUlWRVJfVk9MVEFHRV9CRUxPV19USFJFU0hPTERfUkVDT1ZFUkVEEHISOwo3RVZFTlRfVFJBTlNDRUlWRVJfVEVNUEVSQVRVUkVfQUJPVkVfVEhSRVNIT0xEX1JFQ09WRVJFRBBzEjsKN0VWRU5UX1RSQU5TQ0VJVkVSX1RFTVBFUkFUVVJFX0JFTE9XX1RIUkVTSE9MRF9SRUNPVkVSRUQQdBI3CjNFVkVOVF9UUkFOU0NFSVZFUl9DVVJSRU5UX0FCT1ZFX1RIUkVTSE9MRF9SRUNPVkVSRUQQdRI3CjNFVkVOVF9UUkFOU0NFSVZFUl9DVVJSRU5UX0JFTE9XX1RIUkVTSE9MRF9SRUNPVkVSRUQQdhI4CjRFVkVOVF9UUkFOU0NFSVZFUl9SWF9QT1dFUl9BQk9WRV9USFJFU0hPTERfUkVDT1ZFUkVEEHcSOAo0RVZFTlRfVFJBTlNDRUlWRVJfUlhfUE9XRVJfQkVMT1dfVEhSRVNIT0xEX1JFQ09WRVJFRBB4EjgKNEVWRU5UX1RSQU5TQ0VJVkVSX1RYX1BPV0VSX0FCT1ZFX1RIUkVTSE9MRF9SRUNPVkVSRUQQeRI4CjRFVkVOVF9UUkFOU0NFSVZFUl9UWF9QT1dFUl9CRUxPV19USFJFU0hPTERfUkVDT1ZFUkVEEHoSJwojRVZFTlRfVFJBTlNDRUlWRVJfRkFJTFVSRV9SRUNPVkVSRUQQexIXChJFVkVOVF9QU1VfUExVR19PVVQQyAESFgoRRVZFTlRfUFNVX1BMVUdfSU4QyQESFgoRRVZFTlRfUFNVX0ZBSUxVUkUQygESIAobRVZFTlRfUFNVX0ZBSUxVUkVfUkVDT1ZFUkVEEMsBEhYKEUVWRU5UX0ZBTl9GQUlMVVJFEKwCEhcKEkVWRU5UX0ZBTl9QTFVHX09VVBCtAhIWChFFVkVOVF9GQU5fUExVR19JThCuAhIgChtFVkVOVF9GQU5fRkFJTFVSRV9SRUNPVkVSRUQQrwISKQokRVZFTlRfQ1BVX1RFTVBFUkFUVVJFX0FCT1ZFX0NSSVRJQ0FMEJADEiYKIUVWRU5UX0NQVV9URU1QRVJBVFVSRV9BQk9WRV9GQVRBTBCRAxIzCi5FVkVOVF9DUFVfVEVNUEVSQVRVUkVfQUJPVkVfQ1JJVElDQUxfUkVDT1ZFUkVEEJIDEjAKK0VWRU5UX0NQVV9URU1QRVJBVFVSRV9BQk9WRV9GQVRBTF9SRUNPVkVSRUQQkwMSGgoVRVZFTlRfSFdfREVWSUNFX1JFU0VUEPQDEi8KKkVWRU5UX0hXX0RFVklDRV9URU1QRVJBVFVSRV9BQk9WRV9DUklUSUNBTBD1AxIsCidFVkVOVF9IV19ERVZJQ0VfVEVNUEVSQVRVUkVfQUJPVkVfRkFUQUwQ9gMSOQo0RVZFTlRfSFdfREVWSUNFX1RFTVBFUkFUVVJFX0FCT1ZFX0NSSVRJQ0FMX1JFQ09WRVJFRBD3AxI2CjFFVkVOVF9IV19ERVZJQ0VfVEVNUEVSQVRVUkVfQUJPVkVfRkFU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CgIEAxIEmAEWFwoMCgIGABIGmwEApAEBCgsKAwYAARIEmwEIJQpACgQGAAIAEgSeAQQ7GjIgTGlzdCB0aGUgc3VwcG9ydGVkIGV2ZW50cyBmb3IgdGhlIHBhc3NlZCBkZXZpY2UNCgoNCgUGAAIAARIEngEIEgoNCgUGAAIAAhIEngETHQoNCgUGAAIAAxIEngEnOQrwAQoEBgACARIEowEEYxrhASBVcGRhdGVzIHRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBsaXN0IG9mIGV2ZW50cyBpbiB0aGUgcmVxdWVzdA0KIFRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBkZXZpY2UgaXMgdG8gcmVwb3J0IGFsbCB0aGUgc3VwcG9ydGVkIGV2ZW50cw0KIFRoaXMgY29uZmlndXJhdGlvbiBpcyBwZXJzaXN0ZWQgYWNyb3NzIHJlYm9vdHMgb2YgdGhlIGRldmljZSBvciB0aGUgZGV2aWNlIG1hbmFnZXINCgoNCgUGAAIBARIEowEIIQoNCgUGAAIBAhIEowEiPAoNCgUGAAIBAxIEowFGYWIGcHJvdG8zCrgSChtnb29nbGUvcHJvdG9idWYvZW1wdHkucHJvdG8SD2dvb2dsZS5wcm90b2J1ZiIHCgVFbXB0eUJ2ChNjb20uZ29vZ2xlLnByb3RvYnVmQgpFbXB0eVByb3RvUAFaJ2dpdGh1Yi5jb20vZ29sYW5nL3Byb3RvYnVmL3B0eXBlcy9lbXB0efgBAaICA0dQQqoCHkdvb2dsZS5Qcm90b2J1Zi5XZWxsS25vd25UeXBlc0r+EAoGEgQeADMQCswMCgEMEgMeABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCAoBCBIDIgA7CgkKAgglEgMiADsKCAoBCBIDIwA+CgkKAggLEgMjAD4KCAoBCBIDJAAsCgkKAggBEgMkACwKCAoBCBIDJQArCgkKAggIEgMlACsKCAoBCBIDJgAiCgkKAggKEgMmACIKCAoBCBIDJwAhCgkKAggkEgMnACEKCAoBCBIDKAAfCgkKAggfEgMoAB8K+wIKAgQAEgMzABAa7wIgQSBnZW5lcmljIGVtcHR5IG1lc3NhZ2UgdGhhdCB5b3UgY2FuIHJlLXVzZSB0byBhdm9pZCBkZWZpbmluZyBkdXBsaWNhdGVkCiBlbXB0eSBtZXNzYWdlcyBpbiB5b3VyIEFQSXMuIEEgdHlwaWNhbCBleGFtcGxlIGlzIHRvIHVzZSBpdCBhcyB0aGUgcmVxdWVzdAogb3IgdGhlIHJlc3BvbnNlIHR5cGUgb2YgYW4gQVBJIG1ldGhvZC4gRm9yIGluc3RhbmNlOgoKICAgICBzZXJ2aWNlIEZvbyB7CiAgICAgICBycGMgQmFyKGdvb2dsZS5wcm90b2J1Zi5FbXB0eSkgcmV0dXJucyAoZ29vZ2xlLnByb3RvYnVmLkVtcHR5KTsKICAgICB9CgogVGhlIEpTT04gcmVwcmVzZW50YXRpb24gZm9yIGBFbXB0eWAgaXMgZW1wdHkgSlNPTiBvYmplY3QgYHt9YC4KCgoKAwQAARIDMwgNYgZwcm90bzMKh3IKH2RtaS9od19tYW5hZ2VtZW50X3NlcnZpY2UucHJvdG8SA2RtaRoRZG1pL2NvbW1vbnMucHJvdG8aDGRtaS9ody5wcm90bxobZ29vZ2xlL3Byb3RvYnVmL2VtcHR5LnByb3RvIkYKGFBoeXNpY2FsSW52ZW50b3J5UmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkIvQBChlQaHlzaWNhbEludmVudG9yeVJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI9CgZyZWFzb24YAiABKA4yJS5kbWkuUGh5c2ljYWxJbnZlbnRvcnlSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIrCglpbnZlbnRvcnkYAyABKAsyDS5kbWkuSGFyZHdhcmVSCWludmVudG9yeSJGCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAiKgAQoZSFdDb21wb25lbnRJbmZvR2V0UmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEjAKDmNvbXBvbmVudF91dWlkGAIgASgLMgkuZG1pLlV1aWRSDWNvbXBvbmVudFV1aWQSJQoOY29tcG9uZW50X25hbWUYAyABKAlSDWNvbXBvbmVudE5hbWUijgIKGkhXQ29tcG9uZW50SW5mb0dldFJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI+CgZyZWFzb24YAiABKA4yJi5kbWkuSFdDb21wb25lbnRJbmZvR2V0UmVzcG9uc2UuUmVhc29uUgZyZWFzb24SLAoJY29tcG9uZW50GAMgASgLMg4uZG1pLkNvbXBvbmVudFIJY29tcG9uZW50Il0KBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARIVChFVTktOT1dOX0NPTVBPTkVOVBACEhIKDklOVEVSTkFMX0VSUk9SEAMi1AEKGUhXQ29tcG9uZW50SW5mb1NldFJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIwCg5jb21wb25lbnRfdXVpZBgCIAEoCzIJLmRtaS5VdWlkUg1jb21wb25lbnRVdWlkEiUKDmNvbXBvbmVudF9uYW1lGAMgASgJUg1jb21wb25lbnROYW1lEjIKB2NoYW5nZXMYBCABKAsyGC5kbWkuTW9kaWZpYWJsZUNvbXBvbmVudFIHY2hhbmdlcyL0AQoaSFdDb21wb25lbnRJbmZvU2V0UmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj4KBnJlYXNvbhgCIAEoDjImLmRtaS5IV0NvbXBvbmVudEluZm9TZXRSZXNwb25zZS5SZWFzb25SBnJlYXNvbiJxCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESFQoRVU5LTk9XTl9DT01QT05FTlQQAhISCg5JTlZBTElEX1BBUkFNUxADEhIKDklOVEVSTkFMX0VSUk9SEAQitwIKG1N0YXJ0TWFuYWdpbmdEZXZpY2VSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSPwoGcmVhc29uGAIgASgOMicuZG1pLlN0YXJ0TWFuYWdpbmdEZXZpY2VSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIqCgtkZXZpY2VfdXVpZBgDIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkIoUBCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhoKFkRFVklDRV9BTFJFQURZX01BTkFHRUQQARIhCh1PUEVSQVRJT05fQUxSRUFEWV9JTl9QUk9HUkVTUxACEhIKDklOVkFMSURfUEFSQU1TEAMSEgoOSU5URVJOQUxfRVJST1IQBCIvChlTdG9wTWFuYWdpbmdEZXZpY2VSZXF1ZXN0EhIKBG5hbWUYASABKAlSBG5hbWUitQEKGlN0b3BNYW5hZ2luZ0RldmljZVJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI+CgZyZWFzb24YAiABKA4yJi5kbWkuU3RvcE1hbmFnaW5nRGV2aWNlUmVzcG9uc2UuUmVhc29uUgZyZWFzb24iMgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABIkwKFk1hbmFnZWREZXZpY2VzUmVzcG9uc2USMgoHZGV2aWNlcxgBIAMoCzIYLmRtaS5Nb2RpZmlhYmxlQ29tcG9uZW50UgdkZXZpY2VzIp0BChlTZXRMb2dnaW5nRW5kcG9pbnRSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSKQoQbG9nZ2luZ19lbmRwb2ludBgCIAEoCVIPbG9nZ2luZ0VuZHBvaW50EikKEGxvZ2dpbmdfcHJvdG9jb2wYAyABKAlSD2xvZ2dpbmdQcm90b2NvbCKkAgoZU2V0UmVtb3RlRW5kcG9pbnRSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSPQoGcmVhc29uGAIgASgOMiUuZG1pLlNldFJlbW90ZUVuZHBvaW50UmVzcG9uc2UuUmVhc29uUgZyZWFzb24iogEKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhoKFkxPR0dJTkdfRU5EUE9JTlRfRVJST1IQAxIjCh9MT0dHSU5HX0VORFBPSU5UX1BST1RPQ09MX0VSUk9SEAQSGQoVTVNHQlVTX0VORFBPSU5UX0VSUk9SEAUinwIKGkdldExvZ2dpbmdFbmRwb2ludFJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI+CgZyZWFzb24YAiABKA4yJi5kbWkuR2V0TG9nZ2luZ0VuZHBvaW50UmVzcG9uc2UuUmVhc29uUgZyZWFzb24SKQoQbG9nZ2luZ19lbmRwb2ludBgDIAEoCVIPbG9nZ2luZ0VuZHBvaW50EikKEGxvZ2dpbmdfcHJvdG9jb2wYBCABKAlSD2xvZ2dpbmdQcm90b2NvbCJGCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAiJDChhTZXRNc2dCdXNFbmRwb2ludFJlcXVlc3QSJwoPbXNnYnVzX2VuZHBvaW50GAEgASgJUg5tc2didXNFbmRwb2ludCLcAQoZR2V0TXNnQnVzRW5kcG9pbnRSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSPQoGcmVhc29uGAIgASgOMiUuZG1pLkdldE1zZ0J1c0VuZHBvaW50UmVzcG9uc2UuUmVhc29uUgZyZWFzb24SJwoPbXNnYnVzX2VuZHBvaW50GAMgASgJUg5tc2didXNFbmRwb2ludCIyCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDklOVEVSTkFMX0VSUk9SEAEiWQoQRW50aXRpZXNMb2dMZXZlbBIpCghsb2dMZXZlbBgBIAEoDjINLmRtaS5Mb2dMZXZlbFIIbG9nTGV2ZWwSGgoIZW50aXRpZXMYAiADKAlSCGVudGl0aWVzInUKElNldExvZ0xldmVsUmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEjMKCWxvZ2xldmVscxgCIAMoCzIVLmRtaS5FbnRpdGllc0xvZ0xldmVsUglsb2dsZXZlbHMi/wEKE1NldExvZ0xldmVsUmVzcG9uc2USKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIjCgZzdGF0dXMYAiABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSNwoGcmVhc29uGAMgASgOMh8uZG1pLlNldExvZ0xldmVsUmVzcG9uc2UuUmVhc29uUgZyZWFzb24iXgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISFgoSVU5LTk9XTl9MT0dfRU5USVRZEAMiXAoSR2V0TG9nTGV2ZWxSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSGgoIZW50aXRpZXMYAiADKAlSCGVudGl0aWVzIrQCChNHZXRMb2dMZXZlbFJlc3BvbnNlEioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSMwoJbG9nTGV2ZWxzGAIgAygLMhUuZG1pLkVudGl0aWVzTG9nTGV2ZWxSCWxvZ0xldmVscxIjCgZzdGF0dXMYAyABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSNwoGcmVhc29uGAQgASgOMh8uZG1pLkdldExvZ0xldmVsUmVzcG9uc2UuUmVhc29uUgZyZWFzb24iXgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAISFgoSVU5LTk9XTl9MT0dfRU5USVRZEAMiSAoaR2V0TG9nZ2FibGVFbnRpdGllc1JlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZDKvCAoZTmF0aXZlSFdNYW5hZ2VtZW50U2VydmljZRJTChNTdGFydE1hbmFnaW5nRGV2aWNlEhguZG1pLk1vZGlmaWFibGVDb21wb25lbnQaIC5kbWkuU3RhcnRNYW5hZ2luZ0RldmljZVJlc3BvbnNlMAESVQoSU3RvcE1hbmFnaW5nRGV2aWNlEh4uZG1pLlN0b3BNYW5hZ2luZ0RldmljZVJlcXVlc3QaHy5kbWkuU3RvcE1hbmFnaW5nRGV2aWNlUmVzcG9uc2USSAoRR2V0TWFuYWdlZERldmljZXMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaGy5kbWkuTWFuYWdlZERldmljZXNSZXNwb25zZRJXChRHZXRQaHlzaWNhbEludmVudG9yeRIdLmRtaS5QaHlzaWNhbEludmVudG9yeVJlcXVlc3QaHi5kbWkuUGh5c2ljYWxJbnZlbnRvcnlSZXNwb25zZTABElcKEkdldEhXQ29tcG9uZW50SW5mbxIeLmRtaS5IV0NvbXBvbmVudEluZm9HZXRSZXF1ZXN0Gh8uZG1pLkhXQ29tcG9uZW50SW5mb0dldFJlc3BvbnNlMAESVQoSU2V0SFdDb21wb25lbnRJbmZvEh4uZG1pLkhXQ29tcG9uZW50SW5mb1NldFJlcXVlc3QaHy5kbWkuSFdDb21wb25lbnRJbmZvU2V0UmVzcG9uc2USVAoSU2V0TG9nZ2luZ0VuZHBvaW50Eh4uZG1pLlNldExvZ2dpbmdFbmRwb2ludFJlcXVlc3QaHi5kbWkuU2V0UmVtb3RlRW5kcG9pbnRSZXNwb25zZRJGChJHZXRMb2dnaW5nRW5kcG9pbnQSDy5kbWkuSGFyZHdhcmVJRBofLmRtaS5HZXRMb2dnaW5nRW5kcG9pbnRSZXNwb25zZRJSChFTZXRNc2dCdXNFbmRwb2ludBIdLmRtaS5TZXRNc2dCdXNFbmRwb2ludFJlcXVlc3QaHi5kbWkuU2V0UmVtb3RlRW5kcG9pbnRSZXNwb25zZRJLChFHZXRNc2dCdXNFbmRwb2ludBIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRoeLmRtaS5HZXRNc2dCdXNFbmRwb2ludFJlc3BvbnNlElAKE0dldExvZ2dhYmxlRW50aXRpZXMSHy5kbWkuR2V0TG9nZ2FibGVFbnRpdGllc1JlcXVlc3QaGC5kbWkuR2V0TG9nTGV2ZWxSZXNwb25zZRJACgtTZXRMb2dMZXZlbBIXLmRtaS5TZXRMb2dMZXZlbFJlcXVlc3QaGC5kbWkuU2V0TG9nTGV2ZWxSZXNwb25zZRJACgtHZXRMb2dMZXZlbBIXLmRtaS5HZXRMb2dMZXZlbFJlcXVlc3QaGC5kbWkuR2V0TG9nTGV2ZWxSZXNwb25zZUI7WjlnaXRodWIuY29tL29wZW5jb3JkL2RldmljZS1tYW5hZ2VtZW50LWludGVyZmFjZS92My9nby9kbWlKt0oKBxIFAADyAQEKCAoBDBIDAAASCggKAQgSAwIAUAoJCgIICxIDAgBQCggKAQISAwMADAoJCgIDABIDBQAbCgkKAgMBEgMGABYKCQoCAwISAwcAJQpKCgIEABIECwANATI+IFByb3RvcyBmb3IgdGhlIG1hbmFnZW1lbnQgb2YgYSBoYXJkd2FyZSBhbmQgaXQncyBjb21wb25lbnRzDQoKCgoDBAABEgMLCCAKCwoEBAACABIDDAQZCg0KBQQAAgAEEgQMBAsiCgwKBQQAAgAGEgMMBAgKDAoFBAACAAESAwwJ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bGwgdGhlIGVudGl0aWVzLg0KCg0KBQYAAgsBEgTtAQgTCg0KBQYAAgsCEgTtARQmCg0KBQYAAgsDEgTtATBDCr4BCgQGAAIMEgTxAQRFGq8BIEdldHMgdGhlIGNvbmZpZ3VyZWQgbG9nIGxldmVsIGZvciBhIGNlcnRhaW4gZW50aXR5IG9uIGEgY2VydGFpbiBkZXZpY2UuDQogSWYgbm8gZW50aXR5IGlzIHNwZWNpZmllZCBpbiB0aGUgcmVxdWVzdCBhbGwgdGhlIGVudGl0aWVzIHdpdGggdGhlaXIgbG9nIGxldmVsIHNob3VsZCBiZSByZXR1cm5lZC4NCgoNCgUGAAIMARIE8QEIEwoNCgUGAAIMAhIE8QEUJgoNCgUGAAIMAxIE8QEwQ2IGcHJvdG8zCtE+CiFkbWkvaHdfbWV0cmljc19tZ210X3NlcnZpY2UucHJvdG8SA2RtaRoRZG1pL2NvbW1vbnMucHJvdG8aDGRtaS9ody5wcm90byKHAQoMTWV0cmljQ29uZmlnEi0KCW1ldHJpY19pZBgBIAEoDjIQLmRtaS5NZXRyaWNOYW1lc1IIbWV0cmljSWQSIwoNaXNfY29uZmlndXJlZBgCIAEoCFIMaXNDb25maWd1cmVkEiMKDXBvbGxfaW50ZXJ2YWwYAyABKA1SDHBvbGxJbnRlcnZhbCI8Cg1NZXRyaWNzQ29uZmlnEisKB21ldHJpY3MYASADKAsyES5kbWkuTWV0cmljQ29uZmlnUgdtZXRyaWNzIukBChNMaXN0TWV0cmljc1Jlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxI3CgZyZWFzb24YAiABKA4yHy5kbWkuTGlzdE1ldHJpY3NSZXNwb25zZS5SZWFzb25SBnJlYXNvbhIsCgdtZXRyaWNzGAMgASgLMhIuZG1pLk1ldHJpY3NDb25maWdSB21ldHJpY3MiRgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAIisgEKG01ldHJpY3NDb25maWd1cmF0aW9uUmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEi4KB2NoYW5nZXMYAiABKAsyEi5kbWkuTWV0cmljc0NvbmZpZ0gAUgdjaGFuZ2VzEioKEHJlc2V0X3RvX2RlZmF1bHQYAyABKAhIAFIOcmVzZXRUb0RlZmF1bHRCCwoJb3BlcmF0aW9uIoACChxNZXRyaWNzQ29uZmlndXJhdGlvblJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxJACgZyZWFzb24YAiABKA4yKC5kbWkuTWV0cmljc0NvbmZpZ3VyYXRpb25SZXNwb25zZS5SZWFzb25SBnJlYXNvbiJ5CgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIdChlQT0xMX0lOVEVSVkFMX1VOU1VQUE9SVEVEEAMSEgoOSU5WQUxJRF9NRVRSSUMQBCKVAQoOTWV0cmljTWV0YURhdGESKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIwCg5jb21wb25lbnRfdXVpZBgCIAEoCzIJLmRtaS5VdWlkUg1jb21wb25lbnRVdWlkEiUKDmNvbXBvbmVudF9uYW1lGAMgASgJUg1jb21wb25lbnROYW1lIqUBCgZNZXRyaWMSLQoJbWV0cmljX2lkGAEgASgOMhAuZG1pLk1ldHJpY05hbWVzUghtZXRyaWNJZBI8Cg9tZXRyaWNfbWV0YWRhdGEYAiABKAsyEy5kbWkuTWV0cmljTWV0YURhdGFSDm1ldHJpY01ldGFkYXRhEi4KBXZhbHVlGAMgASgLMhguZG1pLkNvbXBvbmVudFNlbnNvckRhdGFSBXZhbHVlInMKEEdldE1ldHJpY1JlcXVlc3QSMAoJbWV0YV9kYXRhGAEgASgLMhMuZG1pLk1ldHJpY01ldGFEYXRhUghtZXRhRGF0YRItCgltZXRyaWNfaWQYAiABKA4yEC5kbWkuTWV0cmljTmFtZXNSCG1ldHJpY0lkIocCChFHZXRNZXRyaWNSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSNQoGcmVhc29uGAIgASgOMh0uZG1pLkdldE1ldHJpY1Jlc3BvbnNlLlJlYXNvblIGcmVhc29uEiMKBm1ldHJpYxgDIAEoCzILLmRtaS5NZXRyaWNSBm1ldHJpYyJxCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESFQoRVU5LTk9XTl9DT01QT05FTlQQAhISCg5JTlRFUk5BTF9FUlJPUhADEhIKDklOVkFMSURfTUVUUklDEAQq2QUKC01ldHJpY05hbWVzEhkKFU1FVFJJQ19OQU1FX1VOREVGSU5FRBAAEhQKEE1FVFJJQ19GQU5fU1BFRUQQARITCg9NRVRSSUNfQ1BVX1RFTVAQZBIfChtNRVRSSUNfQ1BVX1VTQUdFX1BFUkNFTlRBR0UQZRIcChdNRVRSSUNfVFJBTlNDRUlWRVJfVEVNUBDIARIfChpNRVRSSUNfVFJBTlNDRUlWRVJfVk9MVEFHRRDJARIcChdNRVRSSUNfVFJBTlNDRUlWRVJfQklBUxDKARIgChtNRVRSSUNfVFJBTlNDRUlWRVJfUlhfUE9XRVIQywESIAobTUVUUklDX1RSQU5TQ0VJVkVSX1RYX1BPV0VSEMwBEiIKHU1FVFJJQ19UUkFOU0NFSVZFUl9XQVZFTEVOR1RIEM0BEhUKEE1FVFJJQ19ESVNLX1RFTVAQrAISGQoUTUVUUklDX0RJU0tfQ0FQQUNJVFkQrQISFgoRTUVUUklDX0RJU0tfVVNBR0UQrgISIQocTUVUUklDX0RJU0tfVVNBR0VfUEVSQ0VOVEFHRRCvAhImCiFNRVRSSUNfRElTS19SRUFEX1dSSVRFX1BFUkNFTlRBR0UQsAISKAojTUVUUklDX0RJU0tfRkFVTFRZX0NFTExTX1BFUkNFTlRBR0UQsQISFAoPTUVUUklDX1JBTV9URU1QEJADEhgKE01FVFJJQ19SQU1fQ0FQQUNJVFkQkQMSFQoQTUVUUklDX1JBTV9VU0FHRRCSAxIgChtNRVRSSUNfUkFNX1VTQUdFX1BFUkNFTlRBR0UQkwMSFQoQTUVUUklDX1BPV0VSX01BWBD0AxIXChJNRVRSSUNfUE9XRVJfVVNBR0UQ9QMSIgodTUVUUklDX1BPV0VSX1VTQUdFX1BFUkNFTlRBR0UQ9gMSIgodTUVUUklDX0lOTkVSX1NVUlJPVU5ESU5HX1RFTVAQ2AQy+QEKHk5hdGl2ZU1ldHJpY3NNYW5hZ2VtZW50U2VydmljZRI4CgtMaXN0TWV0cmljcxIPLmRtaS5IYXJkd2FyZUlEGhguZG1pLkxpc3RNZXRyaWNzUmVzcG9uc2USYQoaVXBkYXRlTWV0cmljc0NvbmZpZ3VyYXRpb24SIC5kbWkuTWV0cmljc0NvbmZpZ3VyYXRpb25SZXF1ZXN0GiEuZG1pLk1ldHJpY3NDb25maWd1cmF0aW9uUmVzcG9uc2USOgoJR2V0TWV0cmljEhUuZG1pLkdldE1ldHJpY1JlcXVlc3QaFi5kbWkuR2V0TWV0cmljUmVzcG9uc2VCO1o5Z2l0aHViLmNvbS9vcGVuY29yZC9kZXZpY2UtbWFuYWdlbWVudC1pbnRlcmZhY2UvdjMvZ28vZG1pSr0pCgcSBQAAlQEBCggKAQwSAwAAEgoICgEIEgMCAFAKCQoCCAsSAwIAUAoICgECEgMDAAwKCQoCAwASAwUAGwoJCgIDARIDBgAWCtgBCgIFABIEDQA0ATKOASBUaGUgbW9kZWwgdXNlZCB0byByZXByZXNlbnQgdGhlIGV2ZW50IGRhdGEgb24gdGhlIFNlbnNvckRhdGEgb2YgYSBjb21wb25lbnQgYXMgZGVzY3JpYmVkDQogaW4gUkZDODM0OCAoaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzgzNDgpDQoyOyBNYW5hZ2VtZW50IG9mIE1ldHJpY3MgYW5kIHByb3RvcyBmb3IgZW5jb2Rpbmcgb2YgTWV0cmljcw0KCgoKAwUAARIDDQUQCgsKBAUAAgASAw4EHgoMCgUFAAIAARIDDgQZCgwKBQUAAgACEgMOHB0KIwoEBQACARIDEQQZGhYgRkFOIHJlbGF0ZWQgbWV0cmljcw0KCgwKBQUAAgEBEgMRBBQKDAoFBQACAQISAxEXGAojCgQFAAICEgMUBBoaFiBDUFUgcmVsYXRlZCBtZXRyaWNzDQoKDAoFBQACAgESAxQEEwoMCgUFAAICAhIDFBYZCgsKBAUAAgMSAxUEJgoMCgUFAAIDARIDFQQfCgwKBQUAAgMCEgMVIiUKKwoEBQACBBIDGAQiGh4gVHJhbnNjZWl2ZXIgcmVsYXRlZCBtZXRyaWNzDQoKDAoFBQACBAESAxgEGwoMCgUFAAIEAhIDGB4h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Z3VyYXRpb24gaXMgcGVyc2lzdGVkIGFjcm9zcyByZXN0YXJ0IG9mIHRoZSBkZXZpY2Ugb3IgdGhlIGRldmljZSBtYW5hZ2VyDQoKDQoFBgACAQESBJEBCCIKDQoFBgACAQISBJEBIz4KDQoFBgACAQMSBJEBSGQKNwoEBgACAhIElAEEPxopIEdldCB0aGUgaW5zdGFudGVub3VzIHZhbHVlIG9mIGEgbWV0cmljDQoKDQoFBgACAgESBJQBCBEKDQoFBgACAgISBJQBEiIKDQoFBgACAgMSBJQBLD1iBnByb3RvMwqcHAoSZG1pL3N3X2ltYWdlLnByb3RvEgNkbWkaEWRtaS9jb21tb25zLnByb3RvIkcKDEltYWdlVmVyc2lvbhIdCgppbWFnZV9uYW1lGAEgASgJUglpbWFnZU5hbWUSGAoHdmVyc2lvbhgCIAEoCVIHdmVyc2lvbiKoAQoQSW1hZ2VJbmZvcm1hdGlvbhInCgVpbWFnZRgBIAEoCzIRLmRtaS5JbWFnZVZlcnNpb25SBWltYWdlEjAKFGltYWdlX2luc3RhbGxfc2NyaXB0GAIgASgJUhJpbWFnZUluc3RhbGxTY3JpcHQSGwoJaW1hZ2VfdXJsGAMgASgJUghpbWFnZVVybBIcCglzaGEyNTZzdW0YBSABKAlSCXNoYTI1NnN1bSLvBAoLSW1hZ2VTdGF0dXMSIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEi8KBnJlYXNvbhgCIAEoDjIXLmRtaS5JbWFnZVN0YXR1cy5SZWFzb25SBnJlYXNvbhIxCgVzdGF0ZRgDIAEoDjIbLmRtaS5JbWFnZVN0YXR1cy5JbWFnZVN0YXRlUgVzdGF0ZRIgCgtkZXNjcmlwdGlvbhgEIAEoCVILZGVzY3JpcHRpb24i0AEKCkltYWdlU3RhdGUSEwoPVU5ERUZJTkVEX1NUQVRFEAASEQoNQ09QWUlOR19JTUFHRRABEhQKEElOU1RBTExJTkdfSU1BR0UQAhIUChBDT01NSVRUSU5HX0lNQUdFEAMSFAoQUkVCT09USU5HX0RFVklDRRAEEhQKEFVQR1JBREVfQ09NUExFVEUQBRISCg5VUEdSQURFX0ZBSUxFRBAGEhcKE0FDVElWQVRJT05fQ09NUExFVEUQBxIVChFB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BBkKDQoFBAICAgQSBDgENxYKDAoFBAICAgYSAzgEDgoMCgUEAgICARIDOA8UCgwKBQQCAgIDEgM4FxgKdgoEBAICAxIDOgQbGmkgZGVzY3JpcHRpb24gY29udGFpbnMgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgcHJvY2VkdXJlIGFuZCBpcyBkZXZpY2UgZGVwZW5kYW50DQoKDQoFBAICAwQSBDoEOBkKDAoFBAICAwUSAzoECgoMCgUEAgIDARIDOgsWCgwKBQQCAgMDEgM6GRpiBnByb3RvMwqWMAofZG1pL3N3X21hbmFnZW1lbnRfc2VydmljZS5wcm90bxIDZG1pGhFkbWkvY29tbW9ucy5wcm90bxoMZG1pL2h3LnByb3RvGhJkbWkvc3dfaW1hZ2UucHJvdG8ilgEKGlNvZnR3YXJlVmVyc2lvbkluZm9ybWF0aW9uEjoKD2FjdGl2ZV92ZXJzaW9ucxgBIAMoCzIRLmRtaS5JbWFnZVZlcnNpb25SDmFjdGl2ZVZlcnNpb25zEjwKEHN0YW5kYnlfdmVyc2lvbnMYAiADKAsyES5kbWkuSW1hZ2VWZXJzaW9uUg9zdGFuZGJ5VmVyc2lvbnMilAIKJUdldFNvZnR3YXJlVmVyc2lvbkluZm9ybWF0aW9uUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEkkKBnJlYXNvbhgCIAEoDjIxLmRtaS5HZXRTb2Z0d2FyZVZlcnNpb25JbmZvcm1hdGlvblJlc3BvbnNlLlJlYXNvblIGcmVhc29uEjMKBGluZm8YAyABKAsyHy5kbWkuU29mdHdhcmVWZXJzaW9uSW5mb3JtYXRpb25SBGluZm8iRgoGUmVhc29uEhQKEFVOREVGSU5FRF9SRUFTT04QABISCg5VTktOT1dOX0RFVklDRRABEhIKDklOVEVSTkFMX0VSUk9SEAIieAoURG93bmxvYWRJbWFnZVJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBI0CgppbWFnZV9pbmZvGAIgASgLMhUuZG1pLkltYWdlSW5mb3JtYXRpb25SCWltYWdlSW5mbyJaCg1Db25maWdSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSHQoKY29uZmlnX3VybBgCIAEoCVIJY29uZmlnVXJsIoQCCg5Db25maWdSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSMgoGcmVhc29uGAIgASgOMhouZG1pLkNvbmZpZ1Jlc3BvbnNlLlJlYXNvblIGcmVhc29uIpgBCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhIKDlVOS05PV05fREVWSUNFEAESEgoOSU5URVJOQUxfRVJST1IQAhIZChVFUlJPUl9GRVRDSElOR19DT05GSUcQAxISCg5JTlZBTElEX0NPTkZJRxAEEiEKHU9QRVJBVElPTl9BTFJFQURZX0lOX1BST0dSRVNTEAUiRgoYU3RhcnR1cENvbmZpZ0luZm9SZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQigAIKGVN0YXJ0dXBDb25maWdJbmZvUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEj0KBnJlYXNvbhgCIAEoDjIlLmRtaS5TdGFydHVwQ29uZmlnSW5mb1Jlc3BvbnNlLlJlYXNvblIGcmVhc29uEh0KCmNvbmZpZ191cmwYAyABKAlSCWNvbmZpZ1VybBIYCgd2ZXJzaW9uGAQgASgJUgd2ZXJzaW9uIkYKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACMs4DCh9OYXRpdmVTb2Z0d2FyZU1hbmFnZW1lbnRTZXJ2aWNlElEKEkdldFNvZnR3YXJlVmVyc2lvbhIPLmRtaS5IYXJkd2FyZUlEGiouZG1pLkdldFNvZnR3YXJlVmVyc2lvbkluZm9ybWF0aW9uUmVzcG9uc2USPgoNRG93bmxvYWRJbWFnZRIZLmRtaS5Eb3dubG9hZEltYWdlUmVxdWVzdBoQLmRtaS5JbWFnZVN0YXR1czABEjQKDUFjdGl2YXRlSW1hZ2USDy5kbWkuSGFyZHdhcmVJRBoQLmRt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