CpYGChFkbWkvY29tbW9ucy5wcm90bxIDZG1pKjEKBlN0YXR1cxIUChBVTkRFRklORURfU1RBVFVTEAASBgoCT0sQARIJCgVFUlJPUhACKmkKBlJlYXNvbhIUChBVTkRFRklORURfUkVBU09OEAASEgoOVU5LTk9XTl9ERVZJQ0UQARISCg5JTlRFUk5BTF9FUlJPUhACEhAKDFdST05HX01FVFJJQxADEg8KC1dST05HX0VWRU5UEARCO1o5Z2l0aHViLmNvbS9vcGVuY29yZC9kZXZpY2UtbWFuYWdlbWVudC1pbnRlcmZhY2UvdjMvZ28vZG1pSpgECgYSBAAAFAEKCAoBDBIDAAASCggKAQgSAwIAUAoJCgIICxIDAgBQCggKAQISAwMADApUCgIFABIEBwALATJIIENvbW1vbiBzdHJ1Y3R1cmVzIHVzZWQgYWNyb3NzIHRoZSBkaWZmZXJlbnQgRGV2aWNlIE1hbmFnZW1lbnQgc2VydmljZXMKCgoKAwUAARIDBwULCgsKBAUAAgASAwgEGQoMCgUFAAIAARIDCAQUCgwKBQUAAgACEgMIFxgKCwoEBQACARIDCQQLCgwKBQUAAgEBEgMJBAYKDAoFBQACAQISAwkJCgoLCgQFAAICEgMKBA4KDAoFBQACAgESAwoECQoMCgUFAAICAhIDCgwNCi8KAgUBEgQOABQBGiMgUmVhc29uIGZvciB0aGUgZmFpbHVyZSBvZiByZXF1ZXN0CgoKCgMFAQESAw4FCwoLCgQFAQIAEgMPBBkKDAoFBQECAAESAw8EFAoMCgUFAQIAAhIDDxcYCgsKBAUBAgESAxAEFwoMCgUFAQIBARIDEAQSCgwKBQUBAgECEgMQFRYKCwoEBQECAhIDEQQXCgwKBQUBAgIBEgMRBBIKDAoFBQECAgISAxEVFgoLCgQFAQIDEgMSBBUKDAoFBQECAwESAxIEEAoMCgUFAQIDAhIDEhMUCgsKBAUBAgQSAxMEFAoMCgUFAQIEARIDEwQPCgwKBQUBAgQCEgMTEhNiBnByb3RvMwryLwofZ29vZ2xlL3Byb3RvYnVmL3RpbWVzdGFtcC5wcm90bxIPZ29vZ2xlLnByb3RvYnVmIjsKCVRpbWVzdGFtcBIYCgdzZWNvbmRzGAEgASgDUgdzZWNvbmRzEhQKBW5hbm9zGAIgASgFUgVuYW5vc0J+ChNjb20uZ29vZ2xlLnByb3RvYnVmQg5UaW1lc3RhbXBQcm90b1ABWitnaXRodWIuY29tL2dvbGFuZy9wcm90b2J1Zi9wdHlwZXMvdGltZXN0YW1w+AEBogIDR1BCqgIeR29vZ2xlLlByb3RvYnVmLldlbGxLbm93blR5cGVzSvgtCgcSBR4AiAEBCswMCgEMEgMeABIywQwgUHJvdG9jb2wgQnVmZmVycyAtIEdvb2dsZSdzIGRhdGEgaW50ZXJjaGFuZ2UgZm9ybWF0CiBDb3B5cmlnaHQgMjAwOCBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL3Byb3RvY29sLWJ1ZmZlcnMvCgogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCiBtZXQ6CgogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKIGRpc3RyaWJ1dGlvbi4KICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgoKIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCgoICgECEgMgABgKCAoBCBIDIgA7CgkKAgglEgMiADsKCAoBCBIDIwAfCgkKAggfEgMjAB8KCAoBCBIDJABCCgkKAggLEgMkAEIKCAoBCBIDJQAsCgkKAggBEgMlACwKCAoBCBIDJgAvCgkKAggIEgMmAC8KCAoBCBIDJwAiCgkKAggKEgMnACIKCAoBCBIDKAAhCgkKAggkEgMoACEK8RsKAgQAEgV8AIgBARrjGyBBIFRpbWVzdGFtcCByZXByZXNlbnRzIGEgcG9pbnQgaW4gdGltZSBpbmRlcGVuZGVudCBvZiBhbnkgdGltZSB6b25lIG9yIGxvY2FsCiBjYWxlbmRhciwgZW5jb2RlZCBhcyBhIGNvdW50IG9mIHNlY29uZHMgYW5kIGZyYWN0aW9ucyBvZiBzZWNvbmRzIGF0CiBuYW5vc2Vjb25kIHJlc29sdXRpb24uIFRoZSBjb3VudCBpcyByZWxhdGl2ZSB0byBhbiBlcG9jaCBhdCBVVEMgbWlkbmlnaHQgb24KIEphbnVhcnkgMSwgMTk3MCwgaW4gdGhlIHByb2xlcHRpYyBHcmVnb3JpYW4gY2FsZW5kYXIgd2hpY2ggZXh0ZW5kcyB0aGUKIEdyZWdvcmlhbiBjYWxlbmRhciBiYWNrd2FyZHMgdG8geWVhciBvbmUuCgogQWxsIG1pbnV0ZXMgYXJlIDYwIHNlY29uZHMgbG9uZy4gTGVhcCBzZWNvbmRzIGFyZSAic21lYXJlZCIgc28gdGhhdCBubyBsZWFwCiBzZWNvbmQgdGFibGUgaXMgbmVlZGVkIGZvciBpbnRlcnByZXRhdGlvbiwgdXNpbmcgYSBbMjQtaG91ciBsaW5lYXIKIHNtZWFyXShodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS90aW1lL3NtZWFyKS4KCiBUaGUgcmFuZ2UgaXMgZnJvbSAwMDAxLTAxLTAxVDAwOjAwOjAwWiB0byA5OTk5LTEyLTMxVDIzOjU5OjU5Ljk5OTk5OTk5OVouIEJ5CiByZXN0cmljdGluZyB0byB0aGF0IHJhbmdlLCB3ZSBlbnN1cmUgdGhhdCB3ZSBjYW4gY29udmVydCB0byBhbmQgZnJvbSBbUkZDCiAzMzM5XShodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMzMzOS50eHQpIGRhdGUgc3RyaW5ncy4KCiAjIEV4YW1wbGVzCgogRXhhbXBsZSAxOiBDb21wdXRlIFRpbWVzdGFtcCBmcm9tIFBPU0lYIGB0aW1lKClgLgoKICAgICBUaW1lc3RhbXAgdGltZXN0YW1wOwogICAgIHRpbWVzdGFtcC5zZXRfc2Vjb25kcyh0aW1lKE5VTEwpKTsKICAgICB0aW1lc3RhbXAuc2V0X25hbm9zKDApOwoKIEV4YW1wbGUgMjogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBQT1NJWCBgZ2V0dGltZW9mZGF5KClgLgoKICAgICBzdHJ1Y3QgdGltZXZhbCB0djsKICAgICBnZXR0aW1lb2ZkYXkoJnR2LCBOVUxMKTsKCiAgICAgVGltZXN0YW1wIHRpbWVzdGFtcDsKICAgICB0aW1lc3RhbXAuc2V0X3NlY29uZHModHYudHZfc2VjKTsKICAgICB0aW1lc3RhbXAuc2V0X25hbm9zKHR2LnR2X3VzZWMgKiAxMDAwKTsKCiBFeGFtcGxlIDM6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gV2luMzIgYEdldFN5c3RlbVRpbWVBc0ZpbGVUaW1lKClgLgoKICAgICBGSUxFVElNRSBmdDsKICAgICBHZXRTeXN0ZW1UaW1lQXNGaWxlVGltZSgmZnQpOwogICAgIFVJTlQ2NCB0aWNrcyA9ICgoKFVJTlQ2NClmdC5kd0hpZ2hEYXRlVGltZSkgPDwgMzIpIHwgZnQuZHdMb3dEYXRlVGltZTsKCiAgICAgLy8gQSBXaW5kb3dzIHRpY2sgaXMgMTAwIG5hbm9zZWNvbmRzLiBXaW5kb3dzIGVwb2NoIDE2MDEtMDEtMDFUMDA6MDA6MDBaCiAgICAgLy8gaXMgMTE2NDQ0NzM2MDAgc2Vjb25kcyBiZWZvcmUgVW5peCBlcG9jaCAxOTcwLTAxLTAxVDAwOjAwOjAwWi4KICAgICBUaW1lc3RhbXAgdGltZXN0YW1wOwogICAgIHRpbWVzdGFtcC5zZXRfc2Vjb25kcygoSU5UNjQpICgodGlja3MgLyAxMDAwMDAwMCkgLSAxMTY0NDQ3MzYwMExMKSk7CiAgICAgdGltZXN0YW1wLnNldF9uYW5vcygoSU5UMzIpICgodGlja3MgJSAxMDAwMDAwMCkgKiAxMDApKTsKCiBFeGFtcGxlIDQ6IENvbXB1dGUgVGltZXN0YW1wIGZyb20gSmF2YSBgU3lzdGVtLmN1cnJlbnRUaW1lTWlsbGlzKClgLgoKICAgICBsb25nIG1pbGxpcyA9IFN5c3RlbS5jdXJyZW50VGltZU1pbGxpcygpOwoKICAgICBUaW1lc3RhbXAgdGltZXN0YW1wID0gVGltZXN0YW1wLm5ld0J1aWxkZXIoKS5zZXRTZWNvbmRzKG1pbGxpcyAvIDEwMDApCiAgICAgICAgIC5zZXROYW5vcygoaW50KSAoKG1pbGxpcyAlIDEwMDApICogMTAwMDAwMCkpLmJ1aWxkKCk7CgoKIEV4YW1wbGUgNTogQ29tcHV0ZSBUaW1lc3RhbXAgZnJvbSBjdXJyZW50IHRpbWUgaW4gUHl0aG9uLgoKICAgICB0aW1lc3RhbXAgPSBUaW1lc3RhbXAoKQogICAgIHRpbWVzdGFtcC5HZXRDdXJyZW50VGltZSgpCgogIyBKU09OIE1hcHBpbmcKCiBJbiBKU09OIGZvcm1hdCwgdGhlIFRpbWVzdGFtcCB0eXBlIGlzIGVuY29kZWQgYXMgYSBzdHJpbmcgaW4gdGhlCiBbUkZDIDMzMzldKGh0dHBzOi8vd3d3LmlldGYub3JnL3JmYy9yZmMzMzM5LnR4dCkgZm9ybWF0LiBUaGF0IGlzLCB0aGUKIGZvcm1hdCBpcyAie3llYXJ9LXttb250aH0te2RheX1Ue2hvdXJ9OnttaW59OntzZWN9Wy57ZnJhY19zZWN9XVoiCiB3aGVyZSB7eWVhcn0gaXMgYWx3YXlzIGV4cHJlc3NlZCB1c2luZyBmb3VyIGRpZ2l0cyB3aGlsZSB7bW9udGh9LCB7ZGF5fSwKIHtob3VyfSwge21pbn0sIGFuZCB7c2VjfSBhcmUgemVyby1wYWRkZWQgdG8gdHdvIGRpZ2l0cyBlYWNoLiBUaGUgZnJhY3Rpb25hbAogc2Vjb25kcywgd2hpY2ggY2FuIGdvIHVwIHRvIDkgZGlnaXRzIChpLmUuIHVwIHRvIDEgbmFub3NlY29uZCByZXNvbHV0aW9uKSwKIGFyZSBvcHRpb25hbC4gVGhlICJaIiBzdWZmaXggaW5kaWNhdGVzIHRoZSB0aW1lem9uZSAoIlVUQyIpOyB0aGUgdGltZXpvbmUKIGlzIHJlcXVpcmVkLiBBIHByb3RvMyBKU09OIHNlcmlhbGl6ZXIgc2hvdWxkIGFsd2F5cyB1c2UgVVRDIChhcyBpbmRpY2F0ZWQgYnkKICJaIikgd2hlbiBwcmludGluZyB0aGUgVGltZXN0YW1wIHR5cGUgYW5kIGEgcHJvdG8zIEpTT04gcGFyc2VyIHNob3VsZCBiZQogYWJsZSB0byBhY2NlcHQgYm90aCBVVEMgYW5kIG90aGVyIHRpbWV6b25lcyAoYXMgaW5kaWNhdGVkIGJ5IGFuIG9mZnNldCkuCgogRm9yIGV4YW1wbGUsICIyMDE3LTAxLTE1VDAxOjMwOjE1LjAxWiIgZW5jb2RlcyAxNS4wMSBzZWNvbmRzIHBhc3QKIDAxOjMwIFVUQyBvbiBKYW51YXJ5IDE1LCAyMDE3LgoKIEluIEphdmFTY3JpcHQsIG9uZSBjYW4gY29udmVydCBhIERhdGUgb2JqZWN0IHRvIHRoaXMgZm9ybWF0IHVzaW5nIHRoZQogc3RhbmRhcmQgW3RvSVNPU3RyaW5nKCldKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0RhdGUvdG9JU09TdHJpbmcpCiBtZXRob2QuIEluIFB5dGhvbiwgYSBzdGFuZGFyZCBgZGF0ZXRpbWUuZGF0ZXRpbWVgIG9iamVjdCBjYW4gYmUgY29udmVydGVkCiB0byB0aGlzIGZvcm1hdCB1c2luZyBbYHN0cmZ0aW1lYF0oaHR0cHM6Ly9kb2NzLnB5dGhvbi5vcmcvMi9saWJyYXJ5L3RpbWUuaHRtbCN0aW1lLnN0cmZ0aW1lKQogd2l0aCB0aGUgdGltZSBmb3JtYXQgc3BlYyAnJVktJW0tJWRUJUg6JU06JVMuJWZaJy4gTGlrZXdpc2UsIGluIEphdmEsIG9uZQogY2FuIHVzZSB0aGUgSm9kYSBUaW1lJ3MgW2BJU09EYXRlVGltZUZvcm1hdC5kYXRlVGltZSgpYF0oCiBodHRwOi8vd3d3LmpvZGEub3JnL2pvZGEtdGltZS9hcGlkb2NzL29yZy9qb2RhL3RpbWUvZm9ybWF0L0lTT0RhdGVUaW1lRm9ybWF0Lmh0bWwjZGF0ZVRpbWUlMkQlMkQKICkgdG8gb2J0YWluIGEgZm9ybWF0dGVyIGNhcGFibGUgb2YgZ2VuZXJhdGluZyB0aW1lc3RhbXBzIGluIHRoaXMgZm9ybWF0LgoKCgoKCgMEAAESA3wIEQqdAQoEBAACABIEgQECFBqOASBSZXByZXNlbnRzIHNlY29uZHMgb2YgVVRDIHRpbWUgc2luY2UgVW5peCBlcG9jaAogMTk3MC0wMS0wMVQwMDowMDowMFouIE11c3QgYmUgZnJvbSAwMDAxLTAxLTAxVDAwOjAwOjAwWiB0bwogOTk5OS0xMi0zMVQyMzo1OTo1OVogaW5jbHVzaXZlLgoKDgoFBAACAAQSBYEBAnwTCg0KBQQAAgAFEgSBAQIHCg0KBQQAAgABEgSBAQgPCg0KBQQAAgADEgSBARITCuUBCgQEAAIBEgSHAQISGtYBIE5vbi1uZWdhdGl2ZSBmcmFjdGlvbnMgb2YgYSBzZWNvbmQgYXQgbmFub3NlY29uZCByZXNvbHV0aW9uLiBOZWdhdGl2ZQogc2Vjb25kIHZhbHVlcyB3aXRoIGZyYWN0aW9ucyBtdXN0IHN0aWxsIGhhdmUgbm9uLW5lZ2F0aXZlIG5hbm9zIHZhbHVlcwogdGhhdCBjb3VudCBmb3J3YXJkIGluIHRpbWUuIE11c3QgYmUgZnJvbSAwIHRvIDk5OSw5OTksOTk5CiBpbmNsdXNpdmUuCgoPCgUEAAIBBBIGhwECgQEUCg0KBQQAAgEFEgSHAQIHCg0KBQQAAgEBEgSHAQgNCg0KBQQAAgEDEgSHARARYgZwcm90bzMKvWMKDGRtaS9ody5wcm90bxIDZG1pGh9nb29nbGUvcHJvdG9idWYvdGltZXN0YW1wLnByb3RvIhoKBFV1aWQSEgoEdXVpZBgBIAEoCVIEdXVpZCIrCgpIYXJkd2FyZUlEEh0KBHV1aWQYASABKAsyCS5kbWkuVXVpZFIEdXVpZCIXCgNVcmkSEAoDdXJpGAEgASgJUgN1cmkihAMKDkNvbXBvbmVudFN0YXRlEkgKEnN0YXRlX2xhc3RfY2hhbmdlZBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSEHN0YXRlTGFzdENoYW5nZWQSOQoLYWRtaW5fc3RhdGUYAiABKA4yGC5kbWkuQ29tcG9uZW50QWRtaW5TdGF0ZVIKYWRtaW5TdGF0ZRI2CgpvcGVyX3N0YXRlGAMgASgOMhcuZG1pLkNvbXBvbmVudE9wZXJTdGF0ZVIJb3BlclN0YXRlEjkKC3VzYWdlX3N0YXRlGAQgASgOMhguZG1pLkNvbXBvbmVudFVzYWdlU3RhdGVSCnVzYWdlU3RhdGUSOQoLYWxhcm1fc3RhdGUYBSABKA4yGC5kbWkuQ29tcG9uZW50QWxhcm1TdGF0ZVIKYWxhcm1TdGF0ZRI/Cg1zdGFuZGJ5X3N0YXRlGAYgASgOMhouZG1pLkNvbXBvbmVudFN0YW5kYnlTdGF0ZVIMc3RhbmRieVN0YXRlIvMCChNDb21wb25lbnRTZW5zb3JEYXRhEhQKBXZhbHVlGAEgASgFUgV2YWx1ZRIoCgR0eXBlGAIgASgOMhQuZG1pLlNlbnNvclZhbHVlVHlwZVIEdHlwZRIrCgVzY2FsZRgDIAEoDjIVLmRtaS5TZW5zb3JWYWx1ZVNjYWxlUgVzY2FsZRIcCglwcmVjaXNpb24YBCABKAVSCXByZWNpc2lvbhIpCgZzdGF0dXMYBSABKA4yES5kbWkuU2Vuc29yU3RhdHVzUgZzdGF0dXMSIwoNdW5pdHNfZGlzcGxheRgGIAEoCVIMdW5pdHNEaXNwbGF5EjgKCXRpbWVzdGFtcBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCXRpbWVzdGFtcBIqChF2YWx1ZV91cGRhdGVfcmF0ZRgIIAEoDVIPdmFsdWVVcGRhdGVSYXRlEhsKCWRhdGFfdHlwZRgJIAEoCVIIZGF0YVR5cGUitwUKCUNvbXBvbmVudBISCgRuYW1lGAEgASgJUgRuYW1lEigKBWNsYXNzGAIgASgOMhIuZG1pLkNvbXBvbmVudFR5cGVSBWNsYXNzEiAKC2Rlc2NyaXB0aW9uGAMgASgJUgtkZXNjcmlwdGlvbhIWCgZwYXJlbnQYBCABKAlSBnBhcmVudBIkCg5wYXJlbnRfcmVsX3BvcxgFIAEoBVIMcGFyZW50UmVsUG9zEioKCGNoaWxkcmVuGAYgAygLMg4uZG1pLkNvbXBvbmVudFIIY2hpbGRyZW4SIQoMaGFyZHdhcmVfcmV2GAcgASgJUgtoYXJkd2FyZVJldhIhCgxmaXJtd2FyZV9yZXYYCCABKAlSC2Zpcm13YXJlUmV2EiEKDHNvZnR3YXJlX3JldhgJIAEoCVILc29mdHdhcmVSZXYSHQoKc2VyaWFsX251bRgKIAEoCVIJc2VyaWFsTnVtEhkKCG1mZ19uYW1lGAsgASgJUgdtZmdOYW1lEh0KCm1vZGVsX25hbWUYDCABKAlSCW1vZGVsTmFtZRIUCgVhbGlhcxgNIAEoCVIFYWxpYXMSGQoIYXNzZXRfaWQYDiABKAlSB2Fzc2V0SWQSFQoGaXNfZnJ1GA8gASgIUgVpc0ZydRI1CghtZmdfZGF0ZRgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSB21mZ0RhdGUSGgoDdXJpGBEgASgLMgguZG1pLlVyaVIDdXJpEh0KBHV1aWQYEiABKAsyCS5kbWkuVXVpZFIEdXVpZBIpCgVzdGF0ZRgTIAEoCzITLmRtaS5Db21wb25lbnRTdGF0ZVIFc3RhdGUSOQoLc2Vuc29yX2RhdGEYFCADKAsyGC5kbWkuQ29tcG9uZW50U2Vuc29yRGF0YVIKc2Vuc29yRGF0YSJrCghIYXJkd2FyZRI7CgtsYXN0X2NoYW5nZRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCmxhc3RDaGFuZ2USIgoEcm9vdBgCIAEoCzIOLmRtaS5Db21wb25lbnRSBHJvb3QiqQIKE01vZGlmaWFibGVDb21wb25lbnQSEgoEbmFtZRgBIAEoCVIEbmFtZRIoCgVjbGFzcxgCIAEoDjISLmRtaS5Db21wb25lbnRUeXBlUgVjbGFzcxImCgZwYXJlbnQYAyABKAsyDi5kbWkuQ29tcG9uZW50UgZwYXJlbnQSJAoOcGFyZW50X3JlbF9wb3MYBCABKAVSDHBhcmVudFJlbFBvcxIUCgVhbGlhcxgFIAEoCVIFYWxpYXMSGQoIYXNzZXRfaWQYBiABKAlSB2Fzc2V0SWQSGgoDdXJpGAcgASgLMgguZG1pLlVyaVIDdXJpEjkKC2FkbWluX3N0YXRlGAggASgOMhguZG1pLkNvbXBvbmVudEFkbWluU3RhdGVSCmFkbWluU3RhdGUqtAMKDUNvbXBvbmVudFR5cGUSHAoYQ09NUE9ORU5UX1RZUEVfVU5ERUZJTkVEEAASGgoWQ09NUE9ORU5UX1RZUEVfVU5LTk9XThABEhoKFkNPTVBPTkVOVF9UWVBFX0NIQVNTSVMQAhIcChhDT01QT05FTlRfVFlQRV9CQUNLUExBTkUQAxIcChhDT01QT05FTlRfVFlQRV9DT05UQUlORVIQBBIfChtDT01QT05FTlRfVFlQRV9QT1dFUl9TVVBQTFkQBRIWChJDT01QT05FTlRfVFlQRV9GQU4QBhIZChVDT01QT05FTlRfVFlQRV9TRU5TT1IQBxIZChVDT01QT05FTlRfVFlQRV9NT0RVTEUQCBIXChNDT01QT05FTlRfVFlQRV9QT1JUEAkSFgoSQ09NUE9ORU5UX1RZUEVfQ1BVEAoSGgoWQ09NUE9ORU5UX1RZUEVfQkFUVEVSWRALEhoKFkNPTVBPTkVOVF9UWVBFX1NUT1JBR0UQDBIZChVDT01QT05FTlRfVFlQRV9NRU1PUlkQDRIeChpDT01QT05FTlRfVFlQRV9UUkFOU0NFSVZFUhAOKrMBChNDb21wb25lbnRBZG1pblN0YXRlEh4KGkNPTVBfQURNSU5fU1RBVEVfVU5ERUZJTkVEEAASHAoYQ09NUF9BRE1JTl9TVEFURV9VTktOT1dOEAESGwoXQ09NUF9BRE1JTl9TVEFURV9MT0NLRUQQAhIiCh5DT01QX0FETUlOX1NUQVRFX1NIVVRUSU5HX0RPV04QAxIdChlDT01QX0FETUlOX1NUQVRFX1VOTE9DS0VEEAQqqAEKEkNvbXBvbmVudE9wZXJTdGF0ZRIdChlDT01QX09QRVJfU1RBVEVfVU5ERUZJTkVEEAASGwoXQ09NUF9PUEVSX1NUQVRFX1VOS05PV04QARIcChhDT01QX09QRVJfU1RBVEVfRElTQUJMRUQQAhIbChdDT01QX09QRVJfU1RBVEVfRU5BQkxFRBADEhsKF0NPTVBfT1BFUl9TVEFURV9URVNUSU5HEAQqpgEKE0NvbXBvbmVudFVzYWdlU3RhdGUSHgoaQ09NUF9VU0FHRV9TVEFURV9VTkRFRklORUQQABIcChhDT01QX1VTQUdFX1NUQVRFX1VOS05PV04QARIZChVDT01QX1VTQUdFX1NUQVRFX0lETEUQAhIbChdDT01QX1VTQUdFX1NUQVRFX0FDVElWRRADEhkKFUNPTVBfVVNBR0VfU1RBVEVfQlVTWRAEKo4CChNDb21wb25lbnRBbGFybVN0YXRlEh4KGkNPTVBfQUxBUk1fU1RBVEVfVU5ERUZJTkVEEAASHAoYQ09NUF9BTEFSTV9TVEFURV9VTktOT1dOEAESIQodQ09NUF9BTEFSTV9TVEFURV9VTkRFUl9SRVBBSVIQAhIdChlDT01QX0FMQVJNX1NUQVRFX0NSSVRJQ0FMEAMSGgoWQ09NUF9BTEFSTV9TVEFURV9NQUpPUhAEEhoKFkNPTVBfQUxBUk1fU1RBVEVfTUlOT1IQBRIcChhDT01QX0FMQVJNX1NUQVRFX1dBUk5JTkcQBhIhCh1DT01QX0FMQVJNX1NUQVRFX0lOVEVSTUVESUFURRAHKrwBChVDb21wb25lbnRTdGFuZGJ5U3RhdGUSIAocQ09NUF9TVEFOREJZX1NUQVRFX1VOREVGSU5FRBAAEh4KGkNPTVBfU1RBTkRCWV9TVEFURV9VTktOT1dOEAESGgoWQ09NUF9TVEFOREJZX1NUQVRFX0hPVBACEhsKF0NPTVBfU1RBTkRCWV9TVEFURV9DT0xEEAMSKAokQ09NUF9TVEFOREJZX1NUQVRFX1BST1ZJRElOR19TRVJWSUNFEAQqoQMKD1NlbnNvclZhbHVlVHlwZRIfChtTRU5TT1JfVkFMVUVfVFlQRV9VTkRFRklORUQQABIbChdTRU5TT1JfVkFMVUVfVFlQRV9PVEhFUhABEh0KGVNFTlNPUl9WQUxVRV9UWVBFX1VOS05PV04QAhIeChpTRU5TT1JfVkFMVUVfVFlQRV9WT0xUU19BQxADEh4KGlNFTlNPUl9WQUxVRV9UWVBFX1ZPTFRTX0RDEAQSHQoZU0VOU09SX1ZBTFVFX1RZUEVfQU1QRVJFUxAFEhsKF1NFTlNPUl9WQUxVRV9UWVBFX1dBVFRTEAYSGwoXU0VOU09SX1ZBTFVFX1RZUEVfSEVSVFoQBxIdChlTRU5TT1JfVkFMVUVfVFlQRV9DRUxTSVVTEAgSIAocU0VOU09SX1ZBTFVFX1RZUEVfUEVSQ0VOVF9SSBAJEhkKFVNFTlNPUl9WQUxVRV9UWVBFX1JQTRAKEhkKFVNFTlNPUl9WQUxVRV9UWVBFX0NNTRALEiEKHVNFTlNPUl9WQUxVRV9UWVBFX1RSVVRIX1ZBTFVFEAwqqAQKEFNlbnNvclZhbHVlU2NhbGUSIAocU0VOU09SX1ZBTFVFX1NDQUxFX1VOREVGSU5FRBAAEhwKGFNFTlNPUl9WQUxVRV9TQ0FMRV9ZT0NUTxABEhwKGFNFTlNPUl9WQUxVRV9TQ0FMRV9aRVBUTxACEhsKF1NFTlNPUl9WQUxVRV9TQ0FMRV9BVFRPEAMSHAoYU0VOU09SX1ZBTFVFX1NDQUxFX0ZFTVRPEAQSGwoXU0VOU09SX1ZBTFVFX1NDQUxFX1BJQ08QBRIbChdTRU5TT1JfVkFMVUVfU0NBTEVfTkFOTxAGEhwKGFNFTlNPUl9WQUxVRV9TQ0FMRV9NSUNSTxAHEhwKGFNFTlNPUl9WQUxVRV9TQ0FMRV9NSUxMSRAIEhwKGFNFTlNPUl9WQUxVRV9TQ0FMRV9VTklUUxAJEhsKF1NFTlNPUl9WQUxVRV9TQ0FMRV9LSUxPEAoSGwoXU0VOU09SX1ZBTFVFX1NDQUxFX01FR0EQCxIbChdTRU5TT1JfVkFMVUVfU0NBTEVfR0lHQRAMEhsKF1NFTlNPUl9WQUxVRV9TQ0FMRV9URVJBEA0SGwoXU0VOU09SX1ZBTFVFX1NDQUxFX1BFVEEQDhIaChZTRU5TT1JfVkFMVUVfU0NBTEVfRVhBEA8SHAoYU0VOU09SX1ZBTFVFX1NDQUxFX1pFVFRBEBASHAoYU0VOU09SX1ZBTFVFX1NDQUxFX1lPVFRBEBEqggEKDFNlbnNvclN0YXR1cxIbChdTRU5TT1JfU1RBVFVTX1VOREVGSU5FRBAAEhQKEFNFTlNPUl9TVEFUVVNfT0sQARIdChlTRU5TT1JfU1RBVFVTX1VOQVZBSUxBQkxFEAISIAocU0VOU09SX1NUQVRVU19OT05PUEVSQVRJT05BTBADQjtaOWdpdGh1Yi5jb20vb3BlbmNvcmQvZGV2aWNlLW1hbmFnZW1lbnQtaW50ZXJmYWNlL3YzL2dvL2RtaUqqPwoHEgUAAMIBAQoICgEMEgMAABIKCAoBCBIDAgBQCgkKAggLEgMCAFAKCAoBAhIDAwAMCgkKAgMAEgMFACkKaQoCBAASBAkACwEyXSBUaGUgbW9kZWwgdXNlZCB0byByZXByZXNlbnQgYSBIVyBpcyBiYXNlZCBvbiBSRkM4MzQ4IChodHRwczovL3Rvb2xzLmlldGYub3Jn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SABSBmludFZhbBIbCgh1aW50X3ZhbBgCIAEoBEgAUgd1aW50VmFsEh0KCWZsb2F0X3ZhbBgDIAEoAkgAUghmbG9hdFZhbEIFCgN2YWwiUgoKV2F0ZXJNYXJrcxIiCgRoaWdoGAEgASgLMg4uZG1pLlZhbHVlVHlwZVIEaGlnaBIgCgNsb3cYAiABKAsyDi5kbWkuVmFsdWVUeXBlUgNsb3ciawoKVGhyZXNob2xkcxInCgV1cHBlchgBIAEoCzIPLmRtaS5XYXRlck1hcmtzSABSBXVwcGVyEicKBWxvd2VyGAIgASgLMg8uZG1pLldhdGVyTWFya3NIAFIFbG93ZXJCCwoJdGhyZXNob2xkIn4KFFRocmVzaG9sZEluZm9ybWF0aW9uEjUKDm9ic2VydmVkX3ZhbHVlGAEgASgLMg4uZG1pLlZhbHVlVHlwZVINb2JzZXJ2ZWRWYWx1ZRIvCgp0aHJlc2hvbGRzGAIgASgLMg8uZG1pLlRocmVzaG9sZHNSCnRocmVzaG9sZHMiigEKCEV2ZW50Q2ZnEigKCGV2ZW50X2lkGAEgASgOMg0uZG1pLkV2ZW50SWRzUgdldmVudElkEiMKDWlzX2NvbmZpZ3VyZWQYAiABKAhSDGlzQ29uZmlndXJlZBIvCgp0aHJlc2hvbGRzGAMgASgLMg8uZG1pLlRocmVzaG9sZHNSCnRocmVzaG9sZHMiMAoJRXZlbnRzQ2ZnEiMKBWl0ZW1zGAEgAygLMg0uZG1pLkV2ZW50Q2ZnUgVpdGVtcyKGAQoSTGlzdEV2ZW50c1Jlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIjCgZyZWFzb24YAiABKA4yCy5kbWkuUmVhc29uUgZyZWFzb24SJgoGZXZlbnRzGAMgASgLMg4uZG1pLkV2ZW50c0NmZ1IGZXZlbnRzIq0BChpFdmVudHNDb25maWd1cmF0aW9uUmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEioKB2NoYW5nZXMYAiABKAsyDi5kbWkuRXZlbnRzQ2ZnSABSB2NoYW5nZXMSKgoQcmVzZXRfdG9fZGVmYXVsdBgDIAEoCEgAUg5yZXNldFRvRGVmYXVsdEILCglvcGVyYXRpb24iZwobRXZlbnRzQ29uZmlndXJhdGlvblJlc3BvbnNlEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIjCgZyZWFzb24YAiABKA4yCy5kbWkuUmVhc29uUgZyZWFzb24ilAEKDUV2ZW50TWV0YURhdGESKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIwCg5jb21wb25lbnRfdXVpZBgCIAEoCzIJLmRtaS5VdWlkUg1jb21wb25lbnRVdWlkEiUKDmNvbXBvbmVudF9uYW1lGAMgASgJUg1jb21wb25lbnROYW1lIoICCgVFdmVudBI5Cg5ldmVudF9tZXRhZGF0YRgBIAEoCzISLmRtaS5FdmVudE1ldGFEYXRhUg1ldmVudE1ldGFkYXRhEigKCGV2ZW50X2lkGAIgASgOMg0uZG1pLkV2ZW50SWRzUgdldmVudElkEjcKCXJhaXNlZF90cxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBSCHJhaXNlZFRzEkAKDnRocmVzaG9sZF9pbmZvGAQgASgLMhkuZG1pLlRocmVzaG9sZEluZm9ybWF0aW9uUg10aHJlc2hvbGRJbmZvEhkKCGFkZF9pbmZvGAUgASgJUgdhZGRJbmZvKtEOCghFdmVudElkcxIYChRFVkVOVF9OQU1FX1VOREVGSU5FRBAAEh4KGkVWRU5UX1RSQU5TQ0VJVkVSX1BMVUdfT1VUEGQSHQoZRVZFTlRfVFJBTlNDRUlWRVJfUExVR19JThBlEi0KKUVWRU5UX1RSQU5TQ0VJVkVSX1ZPTFRBR0VfQUJPVkVfVEhSRVNIT0xEEGYSLQopRVZFTlRfVFJBTlNDRUlWRVJfVk9MVEFHRV9CRUxPV19USFJFU0hPTEQQZxIxCi1FVkVOVF9UUkFOU0NFSVZFUl9URU1QRVJBVFVSRV9BQk9WRV9USFJFU0hPTEQQaBIxCi1FVkVOVF9UUkFOU0NFSVZFUl9URU1QRVJBVFVSRV9CRUxPV19USFJFU0hPTEQQaRItCilFVkVOVF9UUkFOU0NFSVZFUl9DVVJSRU5UX0FCT1ZFX1RIUkVTSE9MRBBqEi0KKUVWRU5UX1RSQU5TQ0VJVkVSX0NVUlJFTlRfQkVMT1dfVEhSRVNIT0xEEGsSLgoqRVZFTlRfVFJBTlNDRUlWRVJfUlhfUE9XRVJfQUJPVkVfVEhSRVNIT0xEEGwSLgoqRVZFTlRfVFJBTlNDRUlWRVJfUlhfUE9XRVJfQkVMT1dfVEhSRVNIT0xEEG0SLgoqRVZFTlRfVFJBTlNDRUlWRVJfVFhfUE9XRVJfQUJPVkVfVEhSRVNIT0xEEG4SLgoqRVZFTlRfVFJBTlNDRUlWRVJfVFhfUE9XRVJfQkVMT1dfVEhSRVNIT0xEEG8SHQoZRVZFTlRfVFJBTlNDRUlWRVJfRkFJTFVSRRBwEjcKM0VWRU5UX1RSQU5TQ0VJVkVSX1ZPTFRBR0VfQUJPVkVfVEhSRVNIT0xEX1JFQ09WRVJFRBBxEjcKM0VWRU5UX1RSQU5TQ0VJVkVSX1ZPTFRBR0VfQkVMT1dfVEhSRVNIT0xEX1JFQ09WRVJFRBByEjsKN0VWRU5UX1RSQU5TQ0VJVkVSX1RFTVBFUkFUVVJFX0FCT1ZFX1RIUkVTSE9MRF9SRUNPVkVSRUQQcxI7CjdFVkVOVF9UUkFOU0NFSVZFUl9URU1QRVJBVFVSRV9CRUxPV19USFJFU0hPTERfUkVDT1ZFUkVEEHQSNwozRVZFTlRfVFJBTlNDRUlWRVJfQ1VSUkVOVF9BQk9WRV9USFJFU0hPTERfUkVDT1ZFUkVEEHUSNwozRVZFTlRfVFJBTlNDRUlWRVJfQ1VSUkVOVF9CRUxPV19USFJFU0hPTERfUkVDT1ZFUkVEEHYSOAo0RVZFTlRfVFJBTlNDRUlWRVJfUlhfUE9XRVJfQUJPVkVfVEhSRVNIT0xEX1JFQ09WRVJFRBB3EjgKNEVWRU5UX1RSQU5TQ0VJVkVSX1JYX1BPV0VSX0JFTE9XX1RIUkVTSE9MRF9SRUNPVkVSRUQQeBI4CjRFVkVOVF9UUkFOU0NFSVZFUl9UWF9QT1dFUl9BQk9WRV9USFJFU0hPTERfUkVDT1ZFUkVEEHkSOAo0RVZFTlRfVFJBTlNDRUlWRVJfVFhfUE9XRVJfQkVMT1dfVEhSRVNIT0xEX1JFQ09WRVJFRBB6EicKI0VWRU5UX1RSQU5TQ0VJVkVSX0ZBSUxVUkVfUkVDT1ZFUkVEEHsSFwoSRVZFTlRfUFNVX1BMVUdfT1VUEMgBEhYKEUVWRU5UX1BTVV9QTFVHX0lOEMkBEhYKEUVWRU5UX1BTVV9GQUlMVVJFEMoBEiAKG0VWRU5UX1BTVV9GQUlMVVJFX1JFQ09WRVJFRBDLARIWChFFVkVOVF9GQU5fRkFJTFVSRRCsAhIXChJFVkVOVF9GQU5fUExVR19PVVQQrQISFgoRRVZFTlRfRkFOX1BMVUdfSU4QrgISIAobRVZFTlRfRkFOX0ZBSUxVUkVfUkVDT1ZFUkVEEK8CEikKJEVWRU5UX0NQVV9URU1QRVJBVFVSRV9BQk9WRV9DUklUSUNBTBCQAxImCiFFVkVOVF9DUFVfVEVNUEVSQVRVUkVfQUJPVkVfRkFUQUwQkQMSMwouRVZFTlRfQ1BVX1RFTVBFUkFUVVJFX0FCT1ZFX0NSSVRJQ0FMX1JFQ09WRVJFRBCSAxIwCitFVkVOVF9DUFVfVEVNUEVSQVRVUkVfQUJPVkVfRkFUQUxfUkVDT1ZFUkVEEJMDEhoKFUVWRU5UX0hXX0RFVklDRV9SRVNFVBD0AxIvCipFVkVOVF9IV19ERVZJQ0VfVEVNUEVSQVRVUkVfQUJPVkVfQ1JJVElDQUwQ9QMSLAonRVZFTlRfSFdfREVWSUNFX1RFTVBFUkFUVVJFX0FCT1ZFX0ZBVEFMEPYDEjkKNEVWRU5UX0hXX0RFVklDRV9URU1QRVJBVFVSRV9BQk9WRV9DUklUSUNBTF9SRUNPVkVSRUQQ9wMSNgoxRVZFTlRfSFdfREVWSUNFX1RFTVBFUkFUVVJFX0FCT1ZFX0ZBVEFMX1JFQ09WRVJFRBD4AzK3AQodTmF0aXZlRXZlbnRzTWFuYWdlbWVudFNlcnZpY2USNgoKTGlzdEV2ZW50cxIPLmRtaS5IYXJkd2FyZUlEGhcuZG1pLkxpc3RFdmVudHNSZXNwb25zZRJeChlVcGRhdGVFdmVudHNDb25maWd1cmF0aW9uEh8uZG1pLkV2ZW50c0NvbmZpZ3VyYXRpb25SZXF1ZXN0GiAuZG1pLkV2ZW50c0NvbmZpZ3VyYXRpb25SZXNwb25zZUI7WjlnaXRodWIuY29tL29wZW5jb3JkL2RldmljZS1tYW5hZ2VtZW50LWludGVyZmFjZS92My9nby9kbWlKnigKBxIFAACZAQEKCAoBDBIDAAASCggKAQgSAwIAUAoJCgIICxIDAgBQCggKAQISAwMADAoJCgID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AQoZSFdDb21wb25lbnRJbmZvR2V0UmVxdWVzdBIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEjAKDmNvbXBvbmVudF91dWlkGAIgASgLMgkuZG1pLlV1aWRSDWNvbXBvbmVudFV1aWQSJQoOY29tcG9uZW50X25hbWUYAyABKAlSDWNvbXBvbmVudE5hbWUi1AEKGUhXQ29tcG9uZW50SW5mb1NldFJlcXVlc3QSKgoLZGV2aWNlX3V1aWQYASABKAsyCS5kbWkuVXVpZFIKZGV2aWNlVXVpZBIwCg5jb21wb25lbnRfdXVpZBgCIAEoCzIJLmRtaS5VdWlkUg1jb21wb25lbnRVdWlkEiUKDmNvbXBvbmVudF9uYW1lGAMgASgJUg1jb21wb25lbnROYW1lEjIKB2NoYW5nZXMYBCABKAsyGC5kbWkuTW9kaWZpYWJsZUNvbXBvbmVudFIHY2hhbmdlcyJmChpIV0NvbXBvbmVudEluZm9TZXRSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSIwoGcmVhc29uGAIgASgOMgsuZG1pLlJlYXNvblIGcmVhc29uIpMBChtTdGFydE1hbmFnaW5nRGV2aWNlUmVzcG9uc2USIwoGc3RhdHVzGAEgASgOMgsuZG1pLlN0YXR1c1IGc3RhdHVzEiMKBnJlYXNvbhgCIAEoDjILLmRtaS5SZWFzb25SBnJlYXNvbhIqCgtkZXZpY2VfdXVpZBgDIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkIi8KGVN0b3BNYW5hZ2luZ0RldmljZVJlcXVlc3QSEgoEbmFtZRgBIAEoCVIEbmFtZSJmChpTdG9wTWFuYWdpbmdEZXZpY2VSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSIwoGcmVhc29uGAIgASgOMgsuZG1pLlJlYXNvblIGcmVhc29uMr8DChlOYXRpdmVIV01hbmFnZW1lbnRTZXJ2aWNlElMKE1N0YXJ0TWFuYWdpbmdEZXZpY2USGC5kbWkuTW9kaWZpYWJsZUNvbXBvbmVudBogLmRtaS5TdGFydE1hbmFnaW5nRGV2aWNlUmVzcG9uc2UwARJV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WAo6CgQGAAICEgNFBGEaLSBHZXQgdGhlIEhXIGludmVudG9yeSBkZXRhaWxzIG9mIHRoZSBEZXZpY2UNCgoMCgUGAAICARIDRQgcCgwKBQYAAgICEgNFHTUKDAoFBgACAgYSA0U/RQoMCgUGAAICAxIDRUZfCjwKBAYAAgMSA0gEUBovIEdldCB0aGUgZGV0YWlscyBvZiBhIHBhcnRpY3VsYXIgSFcgY29tcG9uZW50DQoKDAoFBgACAwESA0gIGgoMCgUGAAIDAhIDSBs0CgwKBQYAAgMGEgNIPkQKDAoFBgACAwMSA0hFTgpBCgQGAAIEEgNLBFoaNCBTZXRzIHRoZSBwZXJtaXNzaWJsZSBhdHRyaWJ1dGVzIG9mIGEgSFcgY29tcG9uZW50DQoKDAoFBgACBAESA0sIGgoMCgUGAAIEAhIDSxs0CgwKBQYAAgQDEgNLPlhiBnByb3RvMwqEMwohZG1pL2h3X21ldHJpY3NfbWdtdF9zZXJ2aWNlLnByb3RvEgNkbWkaEWRtaS9jb21tb25zLnByb3RvGgxkbWkvaHcucHJvdG8ihwEKDE1ldHJpY0NvbmZpZxItCgltZXRyaWNfaWQYASABKA4yEC5kbWkuTWV0cmljTmFtZXNSCG1ldHJpY0lkEiMKDWlzX2NvbmZpZ3VyZWQYAiABKAhSDGlzQ29uZmlndXJlZBIjCg1wb2xsX2ludGVydmFsGAMgASgNUgxwb2xsSW50ZXJ2YWwiPAoNTWV0cmljc0NvbmZpZxIrCgdtZXRyaWNzGAEgAygLMhEuZG1pLk1ldHJpY0NvbmZpZ1IHbWV0cmljcyKNAQoTTGlzdE1ldHJpY3NSZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSIwoGcmVhc29uGAIgASgOMgsuZG1pLlJlYXNvblIGcmVhc29uEiwKB21ldHJpY3MYAyABKAsyEi5kbWkuTWV0cmljc0NvbmZpZ1IHbWV0cmljcyKyAQobTWV0cmljc0NvbmZpZ3VyYXRpb25SZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSLgoHY2hhbmdlcxgCIAEoCzISLmRtaS5NZXRyaWNzQ29uZmlnSABSB2NoYW5nZXMSKgoQcmVzZXRfdG9fZGVmYXVsdBgDIAEoCEgAUg5yZXNldFRvRGVmYXVsdEILCglvcGVyYXRpb24iaAocTWV0cmljc0NvbmZpZ3VyYXRpb25SZXNwb25zZRIjCgZzdGF0dXMYASABKA4yCy5kbWkuU3RhdHVzUgZzdGF0dXMSIwoGcmVhc29uGAIgASgOMgsuZG1pLlJlYXNvblIGcmVhc29uIpUBCg5NZXRyaWNNZXRhRGF0YRIqCgtkZXZpY2VfdXVpZBgBIAEoCzIJLmRtaS5VdWlkUgpkZXZpY2VVdWlkEjAKDmNvbXBvbmVudF91dWlkGAIgASgLMgkuZG1pLlV1aWRSDWNvbXBvbmVudFV1aWQSJQoOY29tcG9uZW50X25hbWUYAyABKAlSDWNvbXBvbmVudE5hbWUipQEKBk1ldHJpYxItCgltZXRyaWNfaWQYASABKA4yEC5kbWkuTWV0cmljTmFtZXNSCG1ldHJpY0lkEjwKD21ldHJpY19tZXRhZGF0YRgCIAEoCzITLmRtaS5NZXRyaWNNZXRhRGF0YVIObWV0cmljTWV0YWRhdGESLgoFdmFsdWUYAyABKAsyGC5kbWkuQ29tcG9uZW50U2Vuc29yRGF0YVIFdmFsdWUicwoQR2V0TWV0cmljUmVxdWVzdBIwCgltZXRhX2RhdGEYASABKAsyEy5kbWkuTWV0cmljTWV0YURhdGFSCG1ldGFEYXRhEi0KCW1ldHJpY19pZBgCIAEoDjIQLmRtaS5NZXRyaWNOYW1lc1IIbWV0cmljSWQq2QUKC01ldHJpY05hbWVzEhkKFU1FVFJJQ19OQU1FX1VOREVGSU5FRBAAEhQKEE1FVFJJQ19GQU5fU1BFRUQQARITCg9NRVRSSUNfQ1BVX1RFTVAQZBIfChtNRVRSSUNfQ1BVX1VTQUdFX1BFUkNFTlRBR0UQZRIcChdNRVRSSUNfVFJBTlNDRUlWRVJfVEVNUBDIARIfChpNRVRSSUNfVFJBTlNDRUlWRVJfVk9MVEFHRRDJARIcChdNRVRSSUNfVFJBTlNDRUlWRVJfQklBUxDKARIgChtNRVRSSUNfVFJBTlNDRUlWRVJfUlhfUE9XRVIQywESIAobTUVUUklDX1RSQU5TQ0VJVkVSX1RYX1BPV0VSEMwBEiIKHU1FVFJJQ19UUkFOU0NFSVZFUl9XQVZFTEVOR1RIEM0BEhUKEE1FVFJJQ19ESVNLX1RFTVAQrAISGQoUTUVUUklDX0RJU0tfQ0FQQUNJVFkQrQISFgoRTUVUUklDX0RJU0tfVVNBR0UQrgISIQocTUVUUklDX0RJU0tfVVNBR0VfUEVSQ0VOVEFHRRCvAhImCiFNRVRSSUNfRElTS19SRUFEX1dSSVRFX1BFUkNFTlRBR0UQsAISKAojTUVUUklDX0RJU0tfRkFVTFRZX0NFTExTX1BFUkNFTlRBR0UQsQISFAoPTUVUUklDX1JBTV9URU1QEJADEhgKE01FVFJJQ19SQU1fQ0FQQUNJVFkQkQMSFQoQTUVUUklDX1JBTV9VU0FHRRCSAxIgChtNRVRSSUNfUkFNX1VTQUdFX1BFUkNFTlRBR0UQkwMSFQoQTUVUUklDX1BPV0VSX01BWBD0AxIXChJNRVRSSUNfUE9XRVJfVVNBR0UQ9QMSIgodTUVUUklDX1BPV0VSX1VTQUdFX1BFUkNFTlRBR0UQ9gMSIgodTUVUUklDX0lOTkVSX1NVUlJPVU5ESU5HX1RFTVAQ2AQy7gEKHk5hdGl2ZU1ldHJpY3NNYW5hZ2VtZW50U2VydmljZRI4CgtMaXN0TWV0cmljcxIPLmRtaS5IYXJkd2FyZUlEGhguZG1pLkxpc3RNZXRyaWNzUmVzcG9uc2USYQoaVXBkYXRlTWV0cmljc0NvbmZpZ3VyYXRpb24SIC5kbWkuTWV0cmljc0NvbmZpZ3VyYXRpb25SZXF1ZXN0GiEuZG1pLk1ldHJpY3NDb25maWd1cmF0aW9uUmVzcG9uc2USLwoJR2V0TWV0cmljEhUuZG1pLkdldE1ldHJpY1JlcXVlc3QaCy5kbWkuTWV0cmljQjtaOWdpdGh1Yi5jb20vb3BlbmNvcmQvZGV2aWNlLW1hbmFnZW1lbnQtaW50ZXJmYWNlL3YzL2dvL2RtaUr6IQoGEgQAAHwBCggKAQwSAwAAEgoICgEIEgMCAFAKCQoCCAsSAwIAUAoICgECEgMDAAwKCQoCAwASAwUAGwoJCgIDARIDBgAWCtgBCgIFABIEDQA0ATKOASBUaGUgbW9kZWwgdXNlZCB0byByZXByZXNlbnQgdGhlIGV2ZW50IGRhdGEgb24gdGhlIFNlbnNvckRhdGEgb2YgYSBjb21wb25lbnQgYXMgZGVzY3JpYmVkDQogaW4gUkZDODM0OCAoaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzgzNDgpDQoyOyBNYW5hZ2VtZW50IG9mIE1ldHJpY3MgYW5kIHByb3RvcyBmb3IgZW5jb2Rpbmcgb2YgTWV0cmljcw0KCgoKAwUAARIDDQUQCgsKBAUAAgASAw4EHgoMCgUFAAIAARIDDgQZCgwKBQUAAgACEgMOHB0KIwoEBQACARIDEQQZGhYgRkFOIHJlbGF0ZWQgbWV0cmljcw0KCgwKBQUAAgEBEgMRBBQKDAoFBQACAQISAxEXGAojCgQFAAICEgMUBBoaFiBDUFUgcmVsYXRlZCBtZXRyaWNzDQoKDAoFBQACAgESAxQEEwoMCgUFAAICAhIDFBYZCgsKBAUAAgMSAxUEJgoMCgUFAAIDARIDFQQfCgwKBQUAAgMCEgMVIiUKKwoEBQACBBIDGAQiGh4gVHJhbnNjZWl2ZXIgcmVsYXRlZCBtZXRyaWNzDQoKDAoFBQACBAESAxgEGwoMCgUFAAIEAhIDGB4hCgsKBAUAAgUSAxkEJQoMCgUFAAIFARIDGQQeCgwKBQUAAgUCEgMZISQKCwoEBQACBhIDGgQiCgwKBQUAAgYBEgMaBBsKDAoFBQACBgISAxoeIQoLCgQFAAIHEgMbBCYKDAoFBQACBwESAxsEHwoMCgUFAAIHAhIDGyIlCgsKBAUAAggSAxwEJgoMCgUFAAIIARIDHAQfCgwKBQUAAggCEgMcIiUKCwoEBQACCRIDHQQoCgwKBQUAAgkBEgMdBCEKDAoFBQACCQISAx0kJwokCgQFAAIKEgMgBBsaFyBEaXNrIHJlbGF0ZWQgbWV0cmljcw0KCgwKBQUAAgoBEgMgBBQKDAoFBQACCgISAyAXGgoLCgQFAAILEgMhBB8KDAoFBQACCwESAyEEGAoMCgUFAAILAhIDIRseCgsKBAUAAgwSAyIEHAoMCgUFAAIMARIDIgQVCgwKBQUAAgwCEgMiGBsKCwoEBQACDRIDIwQnCgwKBQUAAg0BEgMjBCAKDAoFBQACDQISAyMjJgoLCgQFAAIOEgMkBCwKDAoFBQACDgESAyQEJQoMCgUFAAIOAhIDJCgrCgsKBAUAAg8SAyUELgoMCgUFAAIPARIDJQQnCgwKBQUAAg8CEgMlKi0KIwoEBQACEBIDKAQaGhYgUkFNIHJlbGF0ZWQgbWV0cmljcw0KCgwKBQUAAhABEgMoBBMKDAoFBQACEAISAygWGQoLCgQFAAIREgMpBB4KDAoFBQACEQESAykEFwoMCgUFAAIRAhIDKRodCgsKBAUAAhISAyoEGwoMCgUFAAISARIDKgQUCgwKBQUAAhICEgMqFxoKCwoEBQACExIDKwQmCgwKBQUAAhMBEgMrBB8KDAoFBQACEwISAysiJQolCgQFAAIUEgMuBBsaGCBQb3dlciByZWxhdGVkIG1ldHJpY3MNCgoMCgUFAAIUARIDLgQUCgwKBQUAAhQCEgMuFxoKCwoEBQACFRIDLwQdCgwKBQUAAhUBEgMvBBYKDAoFBQACFQISAy8ZHAoLCgQFAAIWEgMwBCgKDAoFBQACFgESAzAEIQoMCgUFAAIWAhIDMCQnCicKBAUAAhcSAzMEKBoaIENoYXNzaXMgcmVsYXRlZCBtZXRyaWNzDQoKDAoFBQACFwESAzMEIQoMCgUFAAIXAhIDMyQnCgoKAgQAEgQ2AD4BCgoKAwQAARIDNggUCgsKBAQAAgASAzcEHgoNCgUEAAIABBIENwQ2FgoMCgUEAAIABhIDNwQPCgwKBQQAAgABEgM3EBkKDAoFBAACAAMSAzccHQpZCgQEAAIBEgM5BBsaTCBXaGV0aGVyIHRoZSBkZXZpY2UgbWFuYWdlciBpcyBjb2xsZWN0aW5nIGFuZCByZXBvcnRpbmcgdGhpcyBtZXRyaWMgb3Igbm90DQoKDQoFBAACAQQSBDkENx4KDAoFBAACAQUSAzkECAoMCgUEAAIBARIDOQkWCgwKBQQAAgEDEgM5GRoK5wEKBAQAAgISAz0EHRrZASBOdW1iZXIgb2Ygc2Vjb25kcyBiZXR3ZWVuIHR3byBjb25zZWN1dGl2ZSBwb2xscyBvZiB0aGUgcGFydGljdWxhciBtZXRyaWMNCiBFYWNoIGRldmljZSBtYW5hZ2VyIGltcGxlbWVuYXRpb24gY291bGQgaGF2ZSBpdCdzIHBlciBtZXRyaWMgZGVmYXVsdCBwb2xsIGZyZXF1ZW5jeSB3aGljaA0KIGNhbiBiZSByZXF1ZXN0ZWQgdG8gYmUgY2hhbmdlZCB1c2luZyB0aGlzIHZhbHVlDQoKDQoFBAACAgQSBD0EORsKDAoFBAACAgUSAz0ECgoMCgUEAAICARIDPQsYCgwKBQQAAgIDEgM9GxwKCgoCBAESBEAAQgEKCgoDBAEBEgNACBUKCwoEBAECABIDQQQmCgwKBQQBAgAEEgNBBAwKDAoFBAECAAYSA0ENGQoMCgUEAQIAARIDQRohCgwKBQQBAgADEgNBJCUKCgoCBAISBEQASAEKCgoDBAIBEgNECBsKCwoEBAICABIDRQQWCg0KBQQCAgAEEgRFBEQdCgwKBQQCAgAGEgNFBAoKDAoFBAICAAESA0ULEQoMCgUEAgIAAxIDRRQVCgsKBAQCAgESA0YEFgoNCgUEAgIBBBIERgRFFgoMCgUEAgIBBhIDRgQKCgwKBQQCAgEBEgNGCxEKDAoFBAICAQMSA0YUFQoLCgQEAgICEgNHBB4KDQoFBAICAgQSBEcERhYKDAoFBAICAgYSA0cEEQoMCgUEAgICARIDRxIZCgwKBQQCAgIDEgNHHB0KCgoCBAMSBEoAUAEKCgoDBAMBEgNKCCMKCwoEBAMCABIDSwQZCg0KBQQDAgAEEgRLBEolCgwKBQQDAgAGEgNLBAgKDAoFBAMCAAESA0sJFAoMCgUEAwIAAxIDSxcYCgwKBAQDCAASBEwETwUKDAoFBAMIAAESA0wKEwoLCgQEAwIBEgNNCCIKDAoFBAMCAQYSA00IFQoMCgUEAwIBARIDTRYdCgwKBQQDAgEDEgNNICEKCwoEBAMCAhIDTggiCgwKBQQDAgIFEgNOCAwKDAoFBAMCAgESA04NHQoMCgUEAwICAxIDTiAhCgoKAgQEEgRSAFUBCgoKAwQEARIDUggkCgsKBAQEAgASA1MEFgoNCgUEBAIABBIEUwRSJgoMCgUEBAIABhIDUwQKCgwKBQQEAgABEgNTCxEKDAoFBAQCAAMSA1MUFQoLCgQEBAIBEgNUBBYKDQoFBAQCAQQSBFQEUxYKDAoFBAQCAQYSA1QECgoMCgUEBAIBARIDVAsRCgwKBQQEAgEDEgNUFBUKCgoCBAUSBFcAXAEKCgoDBAUBEgNXCBYKCwoEBAUCABIDWAQZCg0KBQQFAgAEEgRYBFcYCgwKBQQFAgAGEgNYBAgKDAoFBAUCAAESA1gJFAoMCgUEBQIAAxIDWBcYCiUKBAQFAgESA1oEHBoYIHV1aWQgb2YgdGhlIGNvbXBvbmVudA0KCg0KBQQFAgEEEgRaBFgZCgwKBQQFAgEGEgNaBAgKDAoFBAUCAQESA1oJFwoMCgUEBQIBAxIDWhobCgsKBAQFAgISA1sEHgoNCgUEBQICBBIEWwRaHAoMCgUEBQICBRIDWwQKCgwKBQQFAgIBEgNbCxkKDAoFBAUCAgMSA1scHQrPAQoCBAYSBGEAZQEawgEgVGhlIE1ldHJpY3MgYXJlIGNvbnZleWVkIHRvIGV4dGVybmFsIHN5c3RlbXMgYnkgc3VibWl0dGluZyB0aGVtIG9uIGEga2Fma2EgYnVzLg0KIFRoZSB0b3BpYyB0byB3aGljaCBhcmUgTWV0cmljcyBhcmUgc3VibWl0dGVkIHdvdWxkIGJlIGNvbmZpZ3VyZWQgYXMgc3RhcnR1cA0KIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGNvbXBvbmVudHMNCgoKCgMEBgESA2EIDgoLCgQEBgIAEgNiBB4KDQoFBAYCAAQSBGIEYRAKDAoFBAYCAAYSA2IEDwoMCgUEBgIAARIDYhAZCgwKBQQGAgADEgNiHB0KCwoEBAYCARIDYwQnCg0KBQQGAgEEEgRjBGIeCgwKBQQGAgEGEgNjBBIKDAoFBAYCAQESA2MTIgoMCgUEBgIBAxIDYyUmCgsKBAQGAgISA2QEIgoNCgUEBgICBBIEZARjJwoMCgUEBgICBhIDZAQXCgwKBQQGAgIBEgNkGB0KDAoFBAYCAgMSA2QgIQoKCgIEBxIEZwBqAQoKCgMEBwESA2cIGAoLCgQEBwIAEgNoBCEKDQoFBAcCAAQSBGgEZxoKDAoFBAcCAAYSA2gEEgoMCgUEBwIAARIDaBMcCgwKBQQHAgADEgNoHyAKCwoEBAcCARIDaQQeCg0KBQQHAgEEEgRpBGghCgwKBQQHAgEGEgNpBA8KDAoFBAcCAQESA2kQGQoMCgUEBwIBAxIDaRwdCgoKAgYAEgRsAHwBCgoKAwYAARIDbAgmCoMCCgQGAAIAEgNxBD0a9QEgTGlzdCB0aGUgc3VwcG9ydGVkIG1ldHJpY3MgZm9yIHRoZSBwYXNzZWQgZGV2aWNlLg0KIFRoaXMgd291bGQgYmUgdGhlIGZpcnN0IGNhbGwgdGhhdCB5b3UgbWFrZSB0byBrbm93IGFib3V0IHRoZSBtZXRyaWNzIHRoYXQgYSBwYXJ0aWN1bGFyIGRldmljZSBzdXBwb3J0cyBhbmQNCiB0aGVuIHVzZSB0aGUgVXBkYXRlTWV0cmljc0NvbmZpZ3VyYXRpb24gQVBJIHRvIG1vbml0b3Igb25seSB0aGUgcmVxdWlyZWQgbWV0cmljcy4NCgoMCgUGAAIAARIDcQgTCgwKBQYAAgACEgNxFB4KDAoFBgACAAMSA3EoOwqmAgoEBgACARIDeARmGpgCIFVwZGF0ZXMgdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGxpc3Qgb2YgbWV0cmljcyBpbiB0aGUgcmVxdWVzdA0KIEFjdHMgdXBvbiBzaW5nbGUgbWV0cmljIGNvbmZpZ3VyYXRpb24sIGNvbGxlY3Rpb24gb2YgYSBzaW5nbGUgbWV0cmljIGNhbiBiZSBzdGFydGVkL3N0b3BwZWQNCiBieSBjaGFuZ2luZyBpdHMgY29uZmlndXJhdGlvbi4NCg0KIFRoaXMgY29uZmlndXJhdGlvbiBpcyBwZXJzaXN0ZWQgYWNyb3NzIHJlc3RhcnQgb2YgdGhlIGRldmljZSBvciB0aGUgZGV2aWNlIG1hbmFnZXINCgoMCgUGAAIBARIDeAgiCgwKBQYAAgECEgN4Iz4KDAoFBgACAQMSA3hIZAo2CgQGAAICEgN7BDQaKSBHZXQgdGhlIGluc3RhbnRlbm91cyB2YWx1ZSBvZiBhIG1ldHJpYw0KCgwKBQYAAgIBEgN7CBEKDAoFBgACAgISA3sSIgoMCgUGAAICAxIDeywyYgZwcm90bzMK0hgKEmRtaS9zd19pbWFnZS5wcm90bxIDZG1pGhFkbWkvY29tbW9ucy5wcm90byJHCgxJbWFnZVZlcnNpb24SHQoKaW1hZ2VfbmFtZRgBIAEoCVIJaW1hZ2VOYW1lEhgKB3ZlcnNpb24YAiABKAlSB3ZlcnNpb24iqAEKEEltYWdlSW5mb3JtYXRpb24SJwoFaW1hZ2UYASABKAsyES5kbWkuSW1hZ2VWZXJzaW9uUgVpbWFnZRIwChRpbWFnZV9pbnN0YWxsX3NjcmlwdBgCIAEoCVISaW1hZ2VJbnN0YWxsU2NyaXB0EhsKCWltYWdlX3VybBgDIAEoCVIIaW1hZ2VVcmwSHAoJc2hhMjU2c3VtGAUgASgJUglzaGEyNTZzdW0inQQKC0ltYWdlU3RhdHVzEiMKBnN0YXR1cxgBIAEoDjILLmRtaS5TdGF0dXNSBnN0YXR1cxIvCgZyZWFzb24YAiABKA4yFy5kbWkuSW1hZ2VTdGF0dXMuUmVhc29uUgZyZWFzb24SMQoFc3RhdGUYAyABKA4yGy5kbWkuSW1hZ2VTdGF0dXMuSW1hZ2VTdGF0ZVIFc3RhdGUSIAoLZGVzY3JpcHRpb24YBCABKAlSC2Rlc2NyaXB0aW9uIs8BCgpJbWFnZVN0YXRlEhMKD1VOREVGSU5FRF9TVEFURRAAEhEKDUNPUFlJTkdfSU1BR0UQARIUChBJTlNUQUxMSU5HX0lNQUdFEAISEwoPQ09NTUlUSU5HX0lNQUdFEAMSFAoQUkVCT09USU5HX0RFVklDRRAEEhQKEFVQR1JBREVfQ09NUExFVEUQBRISCg5VUEdSQURFX0ZBSUxFRBAGEhcKE0FDVElWQVRJT05fQ09NUExFVEUQBxIVChFBQ1RJVkFUSU9OX0ZBSUxFRBAIIpABCgZSZWFzb24SFAoQVU5ERUZJTkVEX1JFQVNPThAAEhQKEEVSUk9SX0lOX1JFUVVFU1QQARISCg5JTlRFUk5BTF9FUlJPUhACEhkKFURFVklDRV9JTl9XUk9OR19TVEFURRADEhEKDUlOVkFMSURfSU1BR0UQBBIYChRXUk9OR19JTUFHRV9DSEVDS1NVTRAFQjtaOWdpdGh1Yi5jb20vb3BlbmNvcmQvZGV2aWNlLW1hbmFnZW1lbnQtaW50ZXJmYWNlL3YzL2dvL2RtaUrKEQoGEgQAADYBCggKAQwSAwAAEgoICgEIEgMCAFAKCQoCCAsSAwIAUAoICgECEgMDAAwKCQoCAwASAwUAGwpDCgIEABIECQAMATI3IFByb3RvcyBmb3IgbW9kZWxpbmcgYSBzb2Z0d2FyZSBpbWFnZSBhbmQgaXQncyBzdGF0dXMNCgoKCgMEAAESAwkIFAoLCgQEAAIAEgMKBBoKDQoFBAACAAQSBAoECRYKDAoFBAACAAUSAwoECgoMCgUEAAIAARIDCgsVCgwKBQQAAgADEgMKGBkKCwoEBAACARIDCwQXCg0KBQQAAgEEEgQLBAoaCgwKBQQAAgEFEgMLBAoKDAoFBAACAQESAwsLEgoMCgUEAAIBAxIDCxUWCgoKAgQBEgQOABkBCgoKAwQBARIDDggYCgsKBAQBAgAS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IGluZm9ybWF0aW9uIGFib3V0IHRoZSBjdXJyZW50IHN0YXRlIG9mIHRoZSBwcm9jZWR1cmUgYW5kIGlzIGRldmljZSBkZXBlbmRhbnQNCgoNCgUEAgIDBBIENQQzGQoMCgUEAgIDBRIDNQQKCgwKBQQCAgMBEgM1CxYKDAoFBAICAwMSAzUZGmIGcHJvdG8zCoQSCh9kbWkvc3dfbWFuYWdlbWVudF9zZXJ2aWNlLnByb3RvEgNkbWkaDGRtaS9ody5wcm90bxoSZG1pL3N3X2ltYWdlLnByb3RvIpYBChpTb2Z0d2FyZVZlcnNpb25JbmZvcm1hdGlvbhI6Cg9hY3RpdmVfdmVyc2lvbnMYASADKAsyES5kbWkuSW1hZ2VWZXJzaW9uUg5hY3RpdmVWZXJzaW9ucxI8ChBzdGFuZGJ5X3ZlcnNpb25zGAIgAygLMhEuZG1pLkltYWdlVmVyc2lvblIPc3RhbmRieVZlcnNpb25zIngKFERvd25sb2FkSW1hZ2VSZXF1ZXN0EioKC2RldmljZV91dWlkGAEgASgLMgkuZG1pLlV1aWRSCmRldmljZVV1aWQSNAoKaW1hZ2VfaW5mbxgCIAEoCzIVLmRtaS5JbWFnZUluZm9ybWF0aW9uUglpbWFnZUluZm8ynAIKH05hdGl2ZVNvZnR3YXJlTWFuYWdlbWVudFNlcnZpY2USRgoSR2V0U29mdHdhcmVWZXJzaW9uEg8uZG1pLkhhcmR3YXJlSUQaHy5kbWkuU29mdHdhcmVWZXJzaW9uSW5mb3JtYXRpb24SPgoNRG93bmxvYWRJbWFnZRIZLmRtaS5Eb3dubG9hZEltYWdlUmVxdWVzdBoQLmRtaS5JbWFnZVN0YXR1czABEjQKDUFjdGl2YXRlSW1hZ2USDy5kbWkuSGFyZHdhcmVJRBoQLmRtaS5JbWFnZVN0YXR1czABEjsKFFJldmVydFRvU3RhbmRieUltYWdlEg8uZG1pLkhhcmR3YXJlSUQaEC5kbWkuSW1hZ2VTdGF0dXMwAUI7WjlnaXRodWIuY29tL29wZW5jb3JkL2RldmljZS1tYW5hZ2VtZW50LWludGVyZmFjZS92My9nby9kbWlKwgwKBhIEAAAqAQoICgEMEgMAABIKCAoBCBIDAgBQCgkKAggLEgMCAFAKCAoBAhIDAwAMCgkKAgMA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