Name: series-workflowtlhmq Phase: Failed StartedAt: 2026-08-31 18:19:37 +0000 UTC FinishedAt: 2026-08-31 18:41:23 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtlhmq[0] Phase: Succeeded StartedAt: 2026-08-31 18:19:37 +0000 UTC FinishedAt: 2026-08-31 18:41:13 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtlhmq[0].run-triage Phase: Succeeded StartedAt: 2026-08-31 18:19:37 +0000 UTC FinishedAt: 2026-08-31 18:41:13 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "AI determined the patch has no functional impact", "targets": null, "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzMxIDE4OjM5PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgTUNDIHJlc3BvbnNlIHBhY2tldCBzaXplIHZhbGlkYXRpb24gaW4gdGhlIEludGVsIGl3bHdpZmkgd2lyZWxlc3MgZHJpdmVyIChpd2xtdm0pLiBUaGlzIGRyaXZlciByZXF1aXJlcyBwaHlzaWNhbCBJbnRlbCBQQ0llIHdpcmVsZXNzIG5ldHdvcmsgYWRhcHRlcnMgYW5kIHByb3ByaWV0YXJ5IGZpcm13YXJlLCB3aGljaCBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVUvR0NFLiBUaGVyZWZvcmUsIHRoaXMgY29kZSBpcyB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMTg6Mzk8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBjZWZmZGRmMDlhYWQ3OGUyYjRhOTc1ZTBjOWU1NzUxNjFiMjgwNzZjXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIE1vbiBBdWcgMzEgMTg6Mzk6MDMgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbnZtLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9udm0uY1xuaW5kZXggOTUzMjE4ZjFlMDI1YS4uZjc2ZTU3Mzk5YzFmMyAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9udm0uY1xuQEAgLTEsNiAmIzQzOzEsNiBAQFxuIC8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wIE9SIEJTRC0zLUNsYXVzZVxuIC8qXG4tICogQ29weXJpZ2h0IChDKSAyMDEyLTIwMTQsIDIwMTgtMjAxOSwgMjAyMS0yMDI1IEludGVsIENvcnBvcmF0aW9uXG4mIzQzOyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE0LCAyMDE4LTIwMTksIDIwMjEtMjAyNiBJbnRlbCBDb3Jwb3JhdGlvblxuICAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE1IEludGVsIE1vYmlsZSBDb21tdW5pY2F0aW9ucyBHbWJIXG4gICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMTcgSW50ZWwgRGV1dHNjaGxhbmQgR21iSFxuICAqL1xuQEAgLTQxNiw2ICYjNDM7NDE2LDcgQEAgaXdsX212bV91cGRhdGVfbWNjKHN0cnVjdCBpd2xfbXZtICptdm0sIGNvbnN0IGNoYXIgKmFscGhhMixcbiBcdGludCByZXQsIHJlc3BfdmVyO1xuIFx0dTMyIHN0YXR1cztcbiBcdGludCByZXNwX2xlbiwgbl9jaGFubmVscztcbiYjNDM7XHR1bnNpZ25lZCBpbnQgcGt0X2xlbjtcbiBcdHUxNiBtY2M7XG4gXG4gXHRpZiAoV0FSTl9PTl9PTkNFKCFpd2xfbXZtX2lzX2xhcl9zdXBwb3J0ZWQobXZtKSkpXG5AQCAtNDMxLDYgJiM0Mzs0MzIsNyBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLFxuIFx0XHRyZXR1cm4gRVJSX1BUUihyZXQpO1xuIFxuIFx0cGt0ID0gY21kLnJlc3BfcGt0O1xuJiM0MztcdHBrdF9sZW4gPSBpd2xfcnhfcGFja2V0X3BheWxvYWRfbGVuKHBrdCk7XG4gXG4gXHRyZXNwX3ZlciA9IGl3bF9md19sb29rdXBfbm90aWZfdmVyKG12bS1cdTAwM2VmdywgSVdMX0FMV0FZU19MT05HX0dST1VQLFxuIFx0XHRcdFx0XHQgICBNQ0NfVVBEQVRFX0NNRCwgMCk7XG5AQCAtNDM5LDkgJiM0Mzs0NDEsMTggQEAgaXdsX212bV91cGRhdGVfbWNjKHN0cnVjdCBpd2xfbXZtICptdm0sIGNvbnN0IGNoYXIgKmFscGhhMixcbiBcdGlmIChyZXNwX3ZlciBcdTAwM2U9IDgpIHtcbiBcdFx0c3RydWN0IGl3bF9tY2NfdXBkYXRlX3Jlc3BfdjggKm1jY19yZXNwX3Y4ID0gKHZvaWQgKilwa3QtXHUwMDNlZGF0YTtcbiBcbiYjNDM7XHRcdGlmIChJV0xfRldfQ0hFQ0sobXZtLCBwa3RfbGVuIFx1MDAzYyBzaXplb2YoKm1jY19yZXNwX3Y4KSxcbiYjNDM7XHRcdFx0XHQgXCYjMzQ7TUNDIHY4IHJlc3BvbnNlIHRvbyBzaG9ydDogJXVcXG5cJiMzNDssIHBrdF9sZW4pKSB7XG4mIzQzO1x0XHRcdHJlc3BfY3AgPSBFUlJfUFRSKC1FSU5WQUwpO1xuJiM0MztcdFx0XHRnb3RvIGV4aXQ7XG4mIzQzO1x0XHR9XG4mIzQzO1xuIFx0XHRuX2NoYW5uZWxzID0gIF9fbGUzMl90b19jcHUobWNjX3Jlc3BfdjgtXHUwMDNlbl9jaGFubmVscyk7XG4tXHRcdGlmIChpd2xfcnhfcGFja2V0X3BheWxvYWRfbGVuKHBrdCkgIT1cbi1cdFx0ICAgIHN0cnVjdF9zaXplKG1jY19yZXNwX3Y4LCBjaGFubmVscywgbl9jaGFubmVscykpIHtcbiYjNDM7XHRcdGlmIChJV0xfRldfQ0hFQ0sobXZtLFxuJiM0MztcdFx0XHRcdCBwa3RfbGVuICE9XG4mIzQzO1x0XHRcdFx0IHN0cnVjdF9zaXplKG1jY19yZXNwX3Y4LCBjaGFubmVscywgbl9jaGFubmVscyksXG4mIzQzO1x0XHRcdFx0IFwmIzM0O2ludmFsaWQgTUNDIHY4IHJlc3BvbnNlIHNpemU6ICV1IChuX2NoYW5uZWxzPSVkKVxcblwmIzM0OyxcbiYjNDM7XHRcdFx0XHQgcGt0X2xlbiwgbl9jaGFubmVscykpIHtcbiBcdFx0XHRyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTtcbiBcdFx0XHRnb3RvIGV4aXQ7XG4gXHRcdH1cbkBAIC00NjQsOSAmIzQzOzQ3NSwxOCBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLFxuIFx0XHRcdCAgICAgICBJV0xfVUNPREVfVExWX0NBUEFfTUNDX1VQREFURV8xMUFYX1NVUFBPUlQpKSB7XG4gXHRcdHN0cnVjdCBpd2xfbWNjX3VwZGF0ZV9yZXNwX3Y0ICptY2NfcmVzcF92NCA9ICh2b2lkICopcGt0LVx1MDAzZWRhdGE7XG4gXG4mIzQzO1x0XHRpZiAoSVdMX0ZXX0NIRUNLKG12bSwgcGt0X2xlbiBcdTAwM2Mgc2l6ZW9mKCptY2NfcmVzcF92NCksXG4mIzQzO1x0XHRcdFx0IFwmIzM0O01DQyB2NCByZXNwb25zZSB0b28gc2hvcnQ6ICV1XFxuXCYjMzQ7LCBwa3RfbGVuKSkge1xuJiM0MztcdFx0XHRyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTtcbiYjNDM7XHRcdFx0Z290byBleGl0O1xuJiM0MztcdFx0fVxuJiM0MztcbiBcdFx0bl9jaGFubmVscyA9ICBfX2xlMzJfdG9fY3B1KG1jY19yZXNwX3Y0LVx1MDAzZW5fY2hhbm5lbHMpO1xuLVx0XHRpZiAoaXdsX3J4X3BhY2tldF9wYXlsb2FkX2xlbihwa3QpICE9XG4tXHRcdCAgICBzdHJ1Y3Rfc2l6ZShtY2NfcmVzcF92NCwgY2hhbm5lbHMsIG5fY2hhbm5lbHMpKSB7XG4mIzQzO1x0XHRpZiAoSVdMX0ZXX0NIRUNLKG12bSxcbiYjNDM7XHRcdFx0XHQgcGt0X2xlbiAhPVxuJiM0MztcdFx0XHRcdCBzdHJ1Y3Rfc2l6ZShtY2NfcmVzcF92NCwgY2hhbm5lbHMsIG5fY2hhbm5lbHMpLFxuJiM0MztcdFx0XHRcdCBcJiMzNDtpbnZhbGlkIE1DQyB2NCByZXNwb25zZSBzaXplOiAldSAobl9jaGFubmVscz0lZClcXG5cJiMzNDssXG4mIzQzO1x0XHRcdFx0IHBrdF9sZW4sIG5fY2hhbm5lbHMpKSB7XG4gXHRcdFx0cmVzcF9jcCA9IEVSUl9QVFIoLUVJTlZBTCk7XG4gXHRcdFx0Z290byBleGl0O1xuIFx0XHR9XG5AQCAtNDg5LDkgJiM0Mzs1MDksMTggQEAgaXdsX212bV91cGRhdGVfbWNjKHN0cnVjdCBpd2xfbXZtICptdm0sIGNvbnN0IGNoYXIgKmFscGhhMixcbiBcdH0gZWxzZSB7XG4gXHRcdHN0cnVjdCBpd2xfbWNjX3VwZGF0ZV9yZXNwX3YzICptY2NfcmVzcF92MyA9ICh2b2lkICopcGt0LVx1MDAzZWRhdGE7XG4gXG4mIzQzO1x0XHRpZiAoSVdMX0ZXX0NIRUNLKG12bSwgcGt0X2xlbiBcdTAwM2Mgc2l6ZW9mKCptY2NfcmVzcF92MyksXG4mIzQzO1x0XHRcdFx0IFwmIzM0O01DQyB2MyByZXNwb25zZSB0b28gc2hvcnQ6ICV1XFxuXCYjMzQ7LCBwa3RfbGVuKSkge1xuJiM0MztcdFx0XHRyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTtcbiYjNDM7XHRcdFx0Z290byBleGl0O1xuJiM0MztcdFx0fVxuJiM0MztcbiBcdFx0bl9jaGFubmVscyA9ICBfX2xlMzJfdG9fY3B1KG1jY19yZXNwX3YzLVx1MDAzZW5fY2hhbm5lbHMpO1xuLVx0XHRpZiAoaXdsX3J4X3BhY2tldF9wYXlsb2FkX2xlbihwa3QpICE9XG4tXHRcdCAgICBzdHJ1Y3Rfc2l6ZShtY2NfcmVzcF92MywgY2hhbm5lbHMsIG5fY2hhbm5lbHMpKSB7XG4mIzQzO1x0XHRpZiAoSVdMX0ZXX0NIRUNLKG12bSxcbiYjNDM7XHRcdFx0XHQgcGt0X2xlbiAhPVxuJiM0MztcdFx0XHRcdCBzdHJ1Y3Rfc2l6ZShtY2NfcmVzcF92MywgY2hhbm5lbHMsIG5fY2hhbm5lbHMpLFxuJiM0MztcdFx0XHRcdCBcJiMzNDtpbnZhbGlkIE1DQyB2MyByZXNwb25zZSBzaXplOiAldSAobl9jaGFubmVscz0lZClcXG5cJiMzNDssXG4mIzQzO1x0XHRcdFx0IHBrdF9sZW4sIG5fY2hhbm5lbHMpKSB7XG4gXHRcdFx0cmVzcF9jcCA9IEVSUl9QVFIoLUVJTlZBTCk7XG4gXHRcdFx0Z290byBleGl0O1xuIFx0XHR9XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMTg6Mzk8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Y29yZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgTUNDIHJlc3BvbnNlIHBhY2tldCBzaXplIHZhbGlkYXRpb24gaW4gdGhlIEludGVsIGl3bHdpZmkgd2lyZWxlc3MgZHJpdmVyIChpd2xtdm0pLiBUaGlzIGRyaXZlciByZXF1aXJlcyBwaHlzaWNhbCBJbnRlbCBQQ0llIHdpcmVsZXNzIG5ldHdvcmsgYWRhcHRlcnMgYW5kIHByb3ByaWV0YXJ5IGZpcm13YXJlLCB3aGljaCBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVUvR0NFLiBUaGVyZWZvcmUsIHRoaXMgY29kZSBpcyB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsCiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuCi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSkKICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgogICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnMKICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIEFsc28gY2hlY2sgJiMzNDtkZXBlbmRzIG9uJiMzNDsgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzCiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncwogICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBjZWZmZGRmMDlhYWQ3OGUyYjRhOTc1ZTBjOWU1NzUxNjFiMjgwNzZjCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIE1vbiBBdWcgMzEgMTg6Mzk6MDMgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9udm0uYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jCmluZGV4IDk1MzIxOGYxZTAyNWEuLmY3NmU1NzM5OWMxZjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jCkBAIC0xLDYgJiM0MzsxLDYgQEAKIC8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wIE9SIEJTRC0zLUNsYXVzZQogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE0LCAyMDE4LTIwMTksIDIwMjEtMjAyNSBJbnRlbCBDb3Jwb3JhdGlvbgomIzQzOyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE0LCAyMDE4LTIwMTksIDIwMjEtMjAyNiBJbnRlbCBDb3Jwb3JhdGlvbgogICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTUgSW50ZWwgTW9iaWxlIENvbW11bmljYXRpb25zIEdtYkgKICAqIENvcHlyaWdodCAoQykgMjAxNi0yMDE3IEludGVsIERldXRzY2hsYW5kIEdtYkgKICAqLwpAQCAtNDE2LDYgJiM0Mzs0MTYsNyBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLAogCWludCByZXQsIHJlc3BfdmVyOwogCXUzMiBzdGF0dXM7CiAJaW50IHJlc3BfbGVuLCBuX2NoYW5uZWxzOwomIzQzOwl1bnNpZ25lZCBpbnQgcGt0X2xlbjsKIAl1MTYgbWNjOwogCiAJaWYgKFdBUk5fT05fT05DRSghaXdsX212bV9pc19sYXJfc3VwcG9ydGVkKG12bSkpKQpAQCAtNDMxLDYgJiM0Mzs0MzIsNyBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLAogCQlyZXR1cm4gRVJSX1BUUihyZXQpOwogCiAJcGt0ID0gY21kLnJlc3BfcGt0OwomIzQzOwlwa3RfbGVuID0gaXdsX3J4X3BhY2tldF9wYXlsb2FkX2xlbihwa3QpOwogCiAJcmVzcF92ZXIgPSBpd2xfZndfbG9va3VwX25vdGlmX3Zlcihtdm0tJmd0O2Z3LCBJV0xfQUxXQVlTX0xPTkdfR1JPVVAsCiAJCQkJCSAgIE1DQ19VUERBVEVfQ01ELCAwKTsKQEAgLTQzOSw5ICYjNDM7NDQxLDE4IEBAIGl3bF9tdm1fdXBkYXRlX21jYyhzdHJ1Y3QgaXdsX212bSAqbXZtLCBjb25zdCBjaGFyICphbHBoYTIsCiAJaWYgKHJlc3BfdmVyICZndDs9IDgpIHsKIAkJc3RydWN0IGl3bF9tY2NfdXBkYXRlX3Jlc3BfdjggKm1jY19yZXNwX3Y4ID0gKHZvaWQgKilwa3QtJmd0O2RhdGE7CiAKJiM0MzsJCWlmIChJV0xfRldfQ0hFQ0sobXZtLCBwa3RfbGVuICZsdDsgc2l6ZW9mKCptY2NfcmVzcF92OCksCiYjNDM7CQkJCSAmIzM0O01DQyB2OCByZXNwb25zZSB0b28gc2hvcnQ6ICV1XG4mIzM0OywgcGt0X2xlbikpIHsKJiM0MzsJCQlyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTsKJiM0MzsJCQlnb3RvIGV4aXQ7CiYjNDM7CQl9CiYjNDM7CiAJCW5fY2hhbm5lbHMgPSAgX19sZTMyX3RvX2NwdShtY2NfcmVzcF92OC0mZ3Q7bl9jaGFubmVscyk7Ci0JCWlmIChpd2xfcnhfcGFja2V0X3BheWxvYWRfbGVuKHBrdCkgIT0KLQkJICAgIHN0cnVjdF9zaXplKG1jY19yZXNwX3Y4LCBjaGFubmVscywgbl9jaGFubmVscykpIHsKJiM0MzsJCWlmIChJV0xfRldfQ0hFQ0sobXZtLAomIzQzOwkJCQkgcGt0X2xlbiAhPQomIzQzOwkJCQkgc3RydWN0X3NpemUobWNjX3Jlc3BfdjgsIGNoYW5uZWxzLCBuX2NoYW5uZWxzKSwKJiM0MzsJCQkJICYjMzQ7aW52YWxpZCBNQ0MgdjggcmVzcG9uc2Ugc2l6ZTogJXUgKG5fY2hhbm5lbHM9JWQpXG4mIzM0OywKJiM0MzsJCQkJIHBrdF9sZW4sIG5fY2hhbm5lbHMpKSB7CiAJCQlyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTsKIAkJCWdvdG8gZXhpdDsKIAkJfQpAQCAtNDY0LDkgJiM0Mzs0NzUsMTggQEAgaXdsX212bV91cGRhdGVfbWNjKHN0cnVjdCBpd2xfbXZtICptdm0sIGNvbnN0IGNoYXIgKmFscGhhMiwKIAkJCSAgICAgICBJV0xfVUNPREVfVExWX0NBUEFfTUNDX1VQREFURV8xMUFYX1NVUFBPUlQpKSB7CiAJCXN0cnVjdCBpd2xfbWNjX3VwZGF0ZV9yZXNwX3Y0ICptY2NfcmVzcF92NCA9ICh2b2lkICopcGt0LSZndDtkYXRhOwogCiYjNDM7CQlpZiAoSVdMX0ZXX0NIRUNLKG12bSwgcGt0X2xlbiAmbHQ7IHNpemVvZigqbWNjX3Jlc3BfdjQpLAomIzQzOwkJCQkgJiMzNDtNQ0MgdjQgcmVzcG9uc2UgdG9vIHNob3J0OiAldVxuJiMzNDssIHBrdF9sZW4pKSB7CiYjNDM7CQkJcmVzcF9jcCA9IEVSUl9QVFIoLUVJTlZBTCk7CiYjNDM7CQkJZ290byBleGl0OwomIzQzOwkJfQomIzQzOwogCQluX2NoYW5uZWxzID0gIF9fbGUzMl90b19jcHUobWNjX3Jlc3BfdjQtJmd0O25fY2hhbm5lbHMpOwotCQlpZiAoaXdsX3J4X3BhY2tldF9wYXlsb2FkX2xlbihwa3QpICE9Ci0JCSAgICBzdHJ1Y3Rfc2l6ZShtY2NfcmVzcF92NCwgY2hhbm5lbHMsIG5fY2hhbm5lbHMpKSB7CiYjNDM7CQlpZiAoSVdMX0ZXX0NIRUNLKG12bSwKJiM0MzsJCQkJIHBrdF9sZW4gIT0KJiM0MzsJCQkJIHN0cnVjdF9zaXplKG1jY19yZXNwX3Y0LCBjaGFubmVscywgbl9jaGFubmVscyksCiYjNDM7CQkJCSAmIzM0O2ludmFsaWQgTUNDIHY0IHJlc3BvbnNlIHNpemU6ICV1IChuX2NoYW5uZWxzPSVkKVxuJiMzNDssCiYjNDM7CQkJCSBwa3RfbGVuLCBuX2NoYW5uZWxzKSkgewogCQkJcmVzcF9jcCA9IEVSUl9QVFIoLUVJTlZBTCk7CiAJCQlnb3RvIGV4aXQ7CiAJCX0KQEAgLTQ4OSw5ICYjNDM7NTA5LDE4IEBAIGl3bF9tdm1fdXBkYXRlX21jYyhzdHJ1Y3QgaXdsX212bSAqbXZtLCBjb25zdCBjaGFyICphbHBoYTIsCiAJfSBlbHNlIHsKIAkJc3RydWN0IGl3bF9tY2NfdXBkYXRlX3Jlc3BfdjMgKm1jY19yZXNwX3YzID0gKHZvaWQgKilwa3QtJmd0O2RhdGE7CiAKJiM0MzsJCWlmIChJV0xfRldfQ0hFQ0sobXZtLCBwa3RfbGVuICZsdDsgc2l6ZW9mKCptY2NfcmVzcF92MyksCiYjNDM7CQkJCSAmIzM0O01DQyB2MyByZXNwb25zZSB0b28gc2hvcnQ6ICV1XG4mIzM0OywgcGt0X2xlbikpIHsKJiM0MzsJCQlyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTsKJiM0MzsJCQlnb3RvIGV4aXQ7CiYjNDM7CQl9CiYjNDM7CiAJCW5fY2hhbm5lbHMgPSAgX19sZTMyX3RvX2NwdShtY2NfcmVzcF92My0mZ3Q7bl9jaGFubmVscyk7Ci0JCWlmIChpd2xfcnhfcGFja2V0X3BheWxvYWRfbGVuKHBrdCkgIT0KLQkJICAgIHN0cnVjdF9zaXplKG1jY19yZXNwX3YzLCBjaGFubmVscywgbl9jaGFubmVscykpIHsKJiM0MzsJCWlmIChJV0xfRldfQ0hFQ0sobXZtLAomIzQzOwkJCQkgcGt0X2xlbiAhPQomIzQzOwkJCQkgc3RydWN0X3NpemUobWNjX3Jlc3BfdjMsIGNoYW5uZWxzLCBuX2NoYW5uZWxzKSwKJiM0MzsJCQkJICYjMzQ7aW52YWxpZCBNQ0MgdjMgcmVzcG9uc2Ugc2l6ZTogJXUgKG5fY2hhbm5lbHM9JWQpXG4mIzM0OywKJiM0MzsJCQkJIHBrdF9sZW4sIG5fY2hhbm5lbHMpKSB7CiAJCQlyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTsKIAkJCWdvdG8gZXhpdDsKIAkJfQo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8zMSAxODozOTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuNy1mbGFzaDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNDI2CgkJCQkJCQlvdXRwdXQ6IDM0CgkJCQkJCQl0aG91Z2h0czogMjk2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgRnV6emluZyBQb3RlbnRpYWwgb2YgVGhpcyBQYXRjaCoqCgpPa2F5LCBsZXQmIzM5O3MgZGl2ZSBpbnRvIHRoaXMgcGF0Y2ggYW5kIGFzc2VzcyBpZiBpdCYjMzk7cyBhIGdvb2QgY2FuZGlkYXRlIGZvciBmdXp6aW5nLiBUaGUgcGF0Y2ggdG91Y2hlcyBgZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbnZtLmNgLCBzcGVjaWZpY2FsbHkgYGl3bF9tdm1fdXBkYXRlX21jY2AuIFJpZ2h0IG9mZiB0aGUgYmF0LCBJIHJlY29nbml6ZSB0aGlzIGlzIHRoZSBJbnRlbCBpd2x3aWZpIGRyaXZlciwgc3BlY2lmaWNhbGx5IHRoZSBgSVdMTVZNYCAvIGBJV0xXSUZJYCBjb21wb25lbnQuIEdvb2QsIHRoYXQgbmFycm93cyBkb3duIHRoZSBzY29wZS4KCk5vdyBjb21lcyB0aGUgY3J1Y2lhbCBxdWVzdGlvbjogY2FuIEkgcmVhbGlzdGljYWxseSByZWFjaCB0aGlzIGNvZGUgaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudCBsaWtlIFFFTVUgb3IgR29vZ2xlIENvbXB1dGUgRW5naW5lLCBvciBhcmUgd2UgZGVhbGluZyB3aXRoIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgdGhhdOKAmXMgbm90IGVtdWxhdGVkIGluIHRoZSB0eXBpY2FsIFFFTVUgc2V0dXA/IEkmIzM5O3ZlIGdvdCB0aGUgZ3VpZGVsaW5lcyBpbiBtaW5kOiBhbnl0aGluZyB0aGF0JiMzOTtzIGluaGVyZW50bHkgdW5yZWFjaGFibGUgaW4gYSB2aXJ0dWFsaXplZCBzZXR0aW5nLCBvciByZXF1aXJlcyBzcGVjaWZpYywgbm9uLWVtdWxhdGVkIGhhcmR3YXJlIGxpa2UgdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoIGRyaXZlcnMsIGlzIGEgbm8tZ28gZm9yIGZ1enppbmcgcHVycG9zZXMuCgpXYWl0LCBJIG5lZWQgdG8gZG91YmxlLWNoZWNrIHRoaXM6IGRvZXMgaXdsd2lmaSBkZXBlbmQgb24gcGh5c2ljYWwgUENJZSBjYXJkcywgb3IgaXMgdGhlcmUgYSBwYXRod2F5IHRvIHNpbXVsYXRlIG9yIHZpcnR1YWxpemUgaXRzIG9wZXJhdGlvbj8gSSBuZWVkIHRvIGxvb2sgaW50byB0aGlzIG1vcmUgZGVlcGx5LiBJIHNob3VsZCBwcm9iYWJseSBjaGVjayB0aGUga2VybmVsIHNvdXJjZXMgZm9yIGl3bHdpZmkgYW5kIHNlZSBpZiB0aGVyZSBhcmUgYW55IGhpbnRzIGFib3V0IGEgc2ltdWxhdGVkIGJ1cyBvciBpZiBpdCYjMzk7cyBzdHJpY3RseSBQQ0kvaGFyZHdhcmUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMTg6Mzk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7aXdsd2lmaSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7XG5GdWxsIG91dHB1dCBpcyB0b28gbG9uZywgc2hvd2luZyA1MDAgb3V0IG9mIDE1MTUgbGluZXMuXG5Vc2UgbW9yZSBwcmVjaXNlIGV4cHJlc3Npb24gaWYgcG9zc2libGUuXG5cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZz0yPWNvbmZpZyBJV0xXSUZJXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6MzpcdHRyaXN0YXRlIFwmIzM0O0ludGVsIFdpcmVsZXNzIFdpRmkgTmV4dCBHZW4gQUdOIC0gV2lyZWxlc3MtTi9BZHZhbmNlZC1OL1VsdGltYXRlLU4gKGl3bHdpZmkpIFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTQtXHRkZXBlbmRzIG9uIFBDSSBcdTAwMjZcdTAwMjYgSEFTX0lPTUVNIFx1MDAyNlx1MDAyNiBDRkc4MDIxMVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0zNC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzozNTpcdCAgICAgICAgICBcdTAwM2NodHRwczovL3dpcmVsZXNzLndpa2kua2VybmVsLm9yZy9lbi91c2Vycy9Ecml2ZXJzL2l3bHdpZmlcdTAwM2UuXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctMzYtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTQ0LVx0ICBzYXkgTSBoZXJlIGFuZCByZWFkIFx1MDAzY2ZpbGU6RG9jdW1lbnRhdGlvbi9rYnVpbGQvbW9kdWxlcy5yc3RcdTAwM2UuICBUaGVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzo0NTpcdCAgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIGl3bHdpZmkuXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctNDYtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnPTQ5PWNvbmZpZyBJV0xXSUZJX0tVTklUX1RFU1RTXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTUzLVx0aGVscFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjU0Olx0ICBFbmFibGUgdGhpcyBvcHRpb24gZm9yIGl3bHdpZmkga3VuaXQgdGVzdHMuXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctNTUtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnPTY2PWNvbmZpZyBJV0xEVk1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctNzEtXHQgIG9mIHRoZSBkZXZpY2VzIHRoYXQgdXNlIHRoaXMgZmlybXdhcmUgaXMgYXZhaWxhYmxlIGhlcmU6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6NzI6XHQgIGh0dHBzOi8vd2lyZWxlc3Mud2lraS5rZXJuZWwub3JnL2VuL3VzZXJzL2RyaXZlcnMvaXdsd2lmaSNmaXJtd2FyZVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTczLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnPTc0PWNvbmZpZyBJV0xNVk1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctODEtXHQgIG9mIHRoZSBkZXZpY2VzIHRoYXQgdXNlIHRoaXMgZmlybXdhcmUgaXMgYXZhaWxhYmxlIGhlcmU6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6ODI6XHQgIGh0dHBzOi8vd2lyZWxlc3Mud2lraS5rZXJuZWwub3JnL2VuL3VzZXJzL2RyaXZlcnMvaXdsd2lmaSNmaXJtd2FyZVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTgzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnPTg0PWNvbmZpZyBJV0xNTERcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctOTEtXHQgIFRoZSBsaXN0IG9mIHRoZSBkZXZpY2VzIHRoYXQgdXNlIHRoaXMgZmlybXdhcmUgaXMgYXZhaWxhYmxlIGhlcmU6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6OTI6XHQgIGh0dHBzOi8vd2lyZWxlc3Mud2lraS5rZXJuZWwub3JnL2VuL3VzZXJzL2RyaXZlcnMvaXdsd2lmaSNmaXJtd2FyZVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTkzLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZz05NT1jb25maWcgSVdMV0lGSV9PUE1PREVfTU9EVUxBUlxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMDEtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6MTAyOmNvbW1lbnQgXCYjMzQ7V0FSTklORzogaXdsd2lmaSBpcyB1c2VsZXNzIHdpdGhvdXQgSVdMRFZNIG9yIElXTE1WTSBvciBJV0xNTERcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMDMtXHRkZXBlbmRzIG9uIElXTERWTT1uIFx1MDAyNlx1MDAyNiBJV0xNVk09biBcdTAwMjZcdTAwMjYgSVdMTUxEPW5cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc9MTA3PWNvbmZpZyBJV0xXSUZJX0RFQlVHXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6MTA4Olx0Ym9vbCBcJiMzNDtFbmFibGUgZnVsbCBkZWJ1Z2dpbmcgb3V0cHV0IGluIHRoZSBpd2x3aWZpIGRyaXZlclwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTEwOS1cdGhlbHBcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzoxMTA6XHQgIFRoaXMgb3B0aW9uIHdpbGwgZW5hYmxlIGRlYnVnIHRyYWNpbmcgb3V0cHV0IGZvciB0aGUgaXdsd2lmaSBkcml2ZXJzXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctMTExLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMTUtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6MTE2Olx0XHQvc3lzL21vZHVsZS9pd2x3aWZpL3BhcmFtZXRlcnMvZGVidWdcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMTctXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTEyMS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzoxMjI6XHRcdCAgJSBlY2hvIDB4NDNmZmYgXHUwMDNlIC9zeXMvbW9kdWxlL2l3bHdpZmkvcGFyYW1ldGVycy9kZWJ1Z1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTEyMy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMjQtXHQgIFlvdSBjYW4gZmluZCB0aGUgbGlzdCBvZiBkZWJ1ZyBtYXNrIHZhbHVlcyBpbjpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzoxMjU6XHRcdCAgZHJpdmVycy9uZXQvd2lyZWxlc3MvaXdsd2lmaS9pd2wtZGVidWcuaFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTEyNi1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc9MTMxPWNvbmZpZyBJV0xXSUZJX0RFQlVHRlNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzoxMzI6XHRib29sIFwmIzM0O2l3bHdpZmkgZGVidWdmcyBzdXBwb3J0XCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctMTMzLVx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR0ZTXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctMTM0LVx0aGVscFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjEzNTpcdCAgRW5hYmxlIGNyZWF0aW9uIG9mIGRlYnVnZnMgZmlsZXMgZm9yIHRoZSBpd2x3aWZpIGRyaXZlcnMuIFRoaXNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMzYtXHQgIGlzIGEgbG93LWltcGFjdCBvcHRpb24gdGhhdCBhbGxvd3MgZ2V0dGluZyBpbnNpZ2h0IGludG8gdGhlXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnPTEzOT1jb25maWcgSVdMV0lGSV9ERVZJQ0VfVFJBQ0lOR1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjE0MDpcdGJvb2wgXCYjMzQ7aXdsd2lmaSBkZXZpY2UgYWNjZXNzIHRyYWNpbmdcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xNDEtXHRkZXBlbmRzIG9uIEVWRU5UX1RSQUNJTkdcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctMTQ0LVx0ICBTYXkgWSBoZXJlIHRvIHRyYWNlIGFsbCBjb21tYW5kcywgaW5jbHVkaW5nIFRYIGZyYW1lcyBhbmQgSU9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzoxNDU6XHQgIGFjY2Vzc2VzLCBzZW50IHRvIHRoZSBkZXZpY2UuIElmIHlvdSBzYXkgeWVzLCBpd2x3aWZpIHdpbGxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xNDYtXHQgIHJlZ2lzdGVyIHdpdGggdGhlIGZ0cmFjZSBmcmFtZXdvcmsgZm9yIGV2ZW50IHRyYWNpbmcgYW5kIGR1bXBcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTItIyBjb21tb25cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MzpvYmotJChDT05GSUdfSVdMV0lGSSlcdCYjNDM7PSBpd2x3aWZpLm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6NDppd2x3aWZpLW9ianNcdFx0JiM0Mzs9IGl3bC1pby5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjU6aXdsd2lmaS1vYmpzXHRcdCYjNDM7PSBpd2wtZHJ2Lm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6Njppd2x3aWZpLW9ianNcdFx0JiM0Mzs9IGl3bC1kZWJ1Zy5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjc6aXdsd2lmaS1vYmpzXHRcdCYjNDM7PSBpd2wtbnZtLXV0aWxzLm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6ODppd2x3aWZpLW9ianNcdFx0JiM0Mzs9IGl3bC11dGlscy5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjk6aXdsd2lmaS1vYmpzXHRcdCYjNDM7PSBpd2wtcGh5LWRiLm8gaXdsLW52bS1wYXJzZS5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTEwLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZS0xMS0jIEJ1c1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZToxMjppd2x3aWZpLW9ianNcdFx0JiM0Mzs9IHBjaWUvY3R4dC1pbmZvLm8gcGNpZS9jdHh0LWluZm8tdjIubyBwY2llL2Rydi5vIHBjaWUvdXRpbHMub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZToxMzppd2x3aWZpLW9ianNcdFx0JiM0Mzs9IHBjaWUvZ2VuMV8yL3J4Lm8gcGNpZS9nZW4xXzIvdHgubyBwY2llL2dlbjFfMi90cmFucy5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjE0Oml3bHdpZmktb2Jqc1x0XHQmIzQzOz0gcGNpZS9nZW4xXzIvdHJhbnMtZ2VuMi5vIHBjaWUvZ2VuMV8yL3R4LWdlbjIub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZS0xNS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU9MTY9Q0ZMQUdTX3BjaWUvZHJ2Lm8gJiM0Mzs9IC1Xbm8tb3ZlcnJpZGUtaW5pdFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGUtMTgtIyBjb21iaW5lZCBNQUMvUkYgY29uZmlndXJhdGlvbnNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MTk6aXdsd2lmaS0kKENPTkZJR19JV0xEVk0pICYjNDM7PSBjZmcvMTAwMC5vIGNmZy8yMDAwLm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MjA6aXdsd2lmaS0kKENPTkZJR19JV0xEVk0pICYjNDM7PSBjZmcvNTAwMC5vIGNmZy82MDAwLm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MjE6aXdsd2lmaS0kKENPTkZJR19JV0xNVk0pICYjNDM7PSBjZmcvNzAwMC5vIGNmZy84MDAwLm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGUtMjItIyBNQUMgY29uZmlndXJhdGlvbnNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MjM6aXdsd2lmaS0kKENPTkZJR19JV0xNVk0pICYjNDM7PSBjZmcvOTAwMC5vIGNmZy8yMjAwMC5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjI0Oml3bHdpZmktJChDT05GSUdfSVdMTVZNKSAmIzQzOz0gY2ZnL2F4MjEwLm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MjU6aXdsd2lmaS0kKENPTkZJR19JV0xNVk0pICYjNDM7PSBjZmcvYnoubyBjZmcvc2Mub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZToyNjppd2x3aWZpLSQoQ09ORklHX0lXTE1MRCkgJiM0Mzs9IGNmZy9iei5vIGNmZy9zYy5vIGNmZy9kci5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTI3LSMgUkYgY29uZmlndXJhdGlvbnNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6Mjg6aXdsd2lmaS0kKENPTkZJR19JV0xNVk0pICYjNDM7PSBjZmcvcmYtamYubyBjZmcvcmYtaHIubyBjZmcvcmYtZ2Yub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZToyOTppd2x3aWZpLSQoQ09ORklHX0lXTE1MRCkgJiM0Mzs9IGNmZy9yZi1mbS5vIGNmZy9yZi13aC5vIGNmZy9yZi1wZS5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTMwLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZTozMTppd2x3aWZpLW9ianNcdFx0JiM0Mzs9IGl3bC1kYmctdGx2Lm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MzI6aXdsd2lmaS1vYmpzXHRcdCYjNDM7PSBpd2wtdHJhbnMub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZS0zMy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MzQ6aXdsd2lmaS1vYmpzXHRcdCYjNDM7PSBmdy9pbWcubyBmdy9ub3RpZi13YWl0Lm8gZncvcnMub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZTozNTppd2x3aWZpLW9ianNcdFx0JiM0Mzs9IGZ3L2RiZy5vIGZ3L2RiZy1vbGQubyBmdy9wbnZtLm8gZncvZHVtcC5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjM2Oml3bHdpZmktb2Jqc1x0XHQmIzQzOz0gZncvcmVndWxhdG9yeS5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjM3Oml3bHdpZmktJChDT05GSUdfSVdMTVZNKSAmIzQzOz0gZncvcGFnaW5nLm8gZncvc21lbS5vIGZ3L2luaXQub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZTozODppd2x3aWZpLSQoQ09ORklHX0lXTE1MRCkgJiM0Mzs9IGZ3L3NtZW0ubyBmdy9pbml0Lm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6Mzk6aXdsd2lmaS0kKENPTkZJR19BQ1BJKSAmIzQzOz0gZncvYWNwaS5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjQwOml3bHdpZmktJChDT05GSUdfRUZJKVx0JiM0Mzs9IGZ3L3VlZmkub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZTo0MTppd2x3aWZpLSQoQ09ORklHX0lXTFdJRklfREVCVUdGUykgJiM0Mzs9IGZ3L2RlYnVnZnMub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZS00Mi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6NDM6aXdsd2lmaS1vYmpzICYjNDM7PSAkKGl3bHdpZmktbSlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGUtNDQtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjQ1Oml3bHdpZmktJChDT05GSUdfSVdMV0lGSV9ERVZJQ0VfVFJBQ0lORykgJiM0Mzs9IGl3bC1kZXZ0cmFjZS5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTQ2LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzEwMDAuYy0yNC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzEwMDAuYzoyNTojZGVmaW5lIElXTDEwMDBfRldfUFJFIFwmIzM0O2l3bHdpZmktMTAwMFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMTAwMC5jLTI2LSNkZWZpbmUgSVdMMTAwMF9NT0RVTEVfRklSTVdBUkUoYXBpKSBJV0wxMDAwX0ZXX1BSRSBcJiMzNDstXCYjMzQ7IF9fc3RyaW5naWZ5KGFwaSkgXCYjMzQ7LnVjb2RlXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8xMDAwLmMtMjctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8xMDAwLmM6Mjg6I2RlZmluZSBJV0wxMDBfRldfUFJFIFwmIzM0O2l3bHdpZmktMTAwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8xMDAwLmMtMjktI2RlZmluZSBJV0wxMDBfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgSVdMMTAwX0ZXX1BSRSBcJiMzNDstXCYjMzQ7IF9fc3RyaW5naWZ5KGFwaSkgXCYjMzQ7LnVjb2RlXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjAwMC5jLTMwLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjAwMC5jOjMxOiNkZWZpbmUgSVdMMjAzMF9GV19QUkUgXCYjMzQ7aXdsd2lmaS0yMDMwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8yMDAwLmMtMzItI2RlZmluZSBJV0wyMDMwX01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDIwMzBfRldfUFJFIFwmIzM0Oy1cJiMzNDsgX19zdHJpbmdpZnkoYXBpKSBcJiMzNDsudWNvZGVcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIwMDAuYy0zMy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIwMDAuYzozNDojZGVmaW5lIElXTDIwMDBfRldfUFJFIFwmIzM0O2l3bHdpZmktMjAwMFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjAwMC5jLTM1LSNkZWZpbmUgSVdMMjAwMF9NT0RVTEVfRklSTVdBUkUoYXBpKSBJV0wyMDAwX0ZXX1BSRSBcJiMzNDstXCYjMzQ7IF9fc3RyaW5naWZ5KGFwaSkgXCYjMzQ7LnVjb2RlXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8yMDAwLmMtMzYtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8yMDAwLmM6Mzc6I2RlZmluZSBJV0wxMDVfRldfUFJFIFwmIzM0O2l3bHdpZmktMTA1XCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8yMDAwLmMtMzgtI2RlZmluZSBJV0wxMDVfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgSVdMMTA1X0ZXX1BSRSBcJiMzNDstXCYjMzQ7IF9fc3RyaW5naWZ5KGFwaSkgXCYjMzQ7LnVjb2RlXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8yMDAwLmMtMzktXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8yMDAwLmM6NDA6I2RlZmluZSBJV0wxMzVfRldfUFJFIFwmIzM0O2l3bHdpZmktMTM1XCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8yMDAwLmMtNDEtI2RlZmluZSBJV0wxMzVfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgSVdMMTM1X0ZXX1BSRSBcJiMzNDstXCYjMzQ7IF9fc3RyaW5naWZ5KGFwaSkgXCYjMzQ7LnVjb2RlXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjIwMDAuYy0xNy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIyMDAwLmM6MTg6I2RlZmluZSBJV0xfQ0NfQV9GV19QUkVcdFx0XHRcJiMzNDtpd2x3aWZpLWNjLWEwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8yMjAwMC5jOjE5OiNkZWZpbmUgSVdMX1FVX0JfSFJfQl9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1RdS1iMC1oci1iMFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjIwMDAuYzoyMDojZGVmaW5lIElXTF9RVV9DX0hSX0JfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktUXUtYzAtaHItYjBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIyMDAwLmM6MjE6I2RlZmluZSBJV0xfUVVaX0FfSFJfQl9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1RdVotYTAtaHItYjBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIyMDAwLmMtMjItXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNTAwMC5jLTI2LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNTAwMC5jOjI3OiNkZWZpbmUgSVdMNTAwMF9GV19QUkUgXCYjMzQ7aXdsd2lmaS01MDAwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy81MDAwLmMtMjgtI2RlZmluZSBJV0w1MDAwX01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDUwMDBfRldfUFJFIFwmIzM0Oy1cJiMzNDsgX19zdHJpbmdpZnkoYXBpKSBcJiMzNDsudWNvZGVcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzUwMDAuYy0yOS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzUwMDAuYzozMDojZGVmaW5lIElXTDUxNTBfRldfUFJFIFwmIzM0O2l3bHdpZmktNTE1MFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNTAwMC5jLTMxLSNkZWZpbmUgSVdMNTE1MF9NT0RVTEVfRklSTVdBUkUoYXBpKSBJV0w1MTUwX0ZXX1BSRSBcJiMzNDstXCYjMzQ7IF9fc3RyaW5naWZ5KGFwaSkgXCYjMzQ7LnVjb2RlXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNjAwMC5jLTM5LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNjAwMC5jOjQwOiNkZWZpbmUgSVdMNjAwMF9GV19QUkUgXCYjMzQ7aXdsd2lmaS02MDAwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy82MDAwLmMtNDEtI2RlZmluZSBJV0w2MDAwX01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDYwMDBfRldfUFJFIFwmIzM0Oy1cJiMzNDsgX19zdHJpbmdpZnkoYXBpKSBcJiMzNDsudWNvZGVcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzYwMDAuYy00Mi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzYwMDAuYzo0MzojZGVmaW5lIElXTDYwNTBfRldfUFJFIFwmIzM0O2l3bHdpZmktNjA1MFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNjAwMC5jLTQ0LSNkZWZpbmUgSVdMNjA1MF9NT0RVTEVfRklSTVdBUkUoYXBpKSBJV0w2MDUwX0ZXX1BSRSBcJiMzNDstXCYjMzQ7IF9fc3RyaW5naWZ5KGFwaSkgXCYjMzQ7LnVjb2RlXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy82MDAwLmMtNDUtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy82MDAwLmM6NDY6I2RlZmluZSBJV0w2MDA1X0ZXX1BSRSBcJiMzNDtpd2x3aWZpLTYwMDBnMmFcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzYwMDAuYy00Ny0jZGVmaW5lIElXTDYwMDVfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgSVdMNjAwNV9GV19QUkUgXCYjMzQ7LVwmIzM0OyBfX3N0cmluZ2lmeShhcGkpIFwmIzM0Oy51Y29kZVwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNjAwMC5jLTQ4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNjAwMC5jOjQ5OiNkZWZpbmUgSVdMNjAzMF9GV19QUkUgXCYjMzQ7aXdsd2lmaS02MDAwZzJiXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy82MDAwLmMtNTAtI2RlZmluZSBJV0w2MDMwX01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDYwMzBfRldfUFJFIFwmIzM0Oy1cJiMzNDsgX19zdHJpbmdpZnkoYXBpKSBcJiMzNDsudWNvZGVcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy83MDAwLmMtMzYtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy83MDAwLmM6Mzc6I2RlZmluZSBJV0w3MjYwX0ZXX1BSRSBcJiMzNDtpd2x3aWZpLTcyNjBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzcwMDAuYy0zOC0jZGVmaW5lIElXTDcyNjBfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgSVdMNzI2MF9GV19QUkUgXCYjMzQ7LVwmIzM0OyBfX3N0cmluZ2lmeShhcGkpIFwmIzM0Oy51Y29kZVwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNzAwMC5jLTM5LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNzAwMC5jOjQwOiNkZWZpbmUgSVdMMzE2MF9GV19QUkUgXCYjMzQ7aXdsd2lmaS0zMTYwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy83MDAwLmMtNDEtI2RlZmluZSBJV0wzMTYwX01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDMxNjBfRldfUFJFIFwmIzM0Oy1cJiMzNDsgX19zdHJpbmdpZnkoYXBpKSBcJiMzNDsudWNvZGVcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzcwMDAuYy00Mi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzcwMDAuYzo0MzojZGVmaW5lIElXTDMxNjhfRldfUFJFIFwmIzM0O2l3bHdpZmktMzE2OFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNzAwMC5jLTQ0LSNkZWZpbmUgSVdMMzE2OF9NT0RVTEVfRklSTVdBUkUoYXBpKSBJV0wzMTY4X0ZXX1BSRSBcJiMzNDstXCYjMzQ7IF9fc3RyaW5naWZ5KGFwaSkgXCYjMzQ7LnVjb2RlXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy83MDAwLmMtNDUtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy83MDAwLmM6NDY6I2RlZmluZSBJV0w3MjY1X0ZXX1BSRSBcJiMzNDtpd2x3aWZpLTcyNjVcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzcwMDAuYy00Ny0jZGVmaW5lIElXTDcyNjVfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgSVdMNzI2NV9GV19QUkUgXCYjMzQ7LVwmIzM0OyBfX3N0cmluZ2lmeShhcGkpIFwmIzM0Oy51Y29kZVwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNzAwMC5jLTQ4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNzAwMC5jOjQ5OiNkZWZpbmUgSVdMNzI2NURfRldfUFJFIFwmIzM0O2l3bHdpZmktNzI2NURcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzcwMDAuYy01MC0jZGVmaW5lIElXTDcyNjVEX01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDcyNjVEX0ZXX1BSRSBcJiMzNDstXCYjMzQ7IF9fc3RyaW5naWZ5KGFwaSkgXCYjMzQ7LnVjb2RlXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvODAwMC5jLTI5LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvODAwMC5jOjMwOiNkZWZpbmUgSVdMODAwMF9GV19QUkUgXCYjMzQ7aXdsd2lmaS04MDAwQ1wmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvODAwMC5jLTMxLSNkZWZpbmUgSVdMODAwMF9NT0RVTEVfRklSTVdBUkUoYXBpKSBcXFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzgwMDAuYy0zMy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzgwMDAuYzozNDojZGVmaW5lIElXTDgyNjVfRldfUFJFIFwmIzM0O2l3bHdpZmktODI2NVwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvODAwMC5jLTM1LSNkZWZpbmUgSVdMODI2NV9NT0RVTEVfRklSTVdBUkUoYXBpKSBcXFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzkwMDAuYy0yMS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzkwMDAuYzoyMjojZGVmaW5lICBJV0w5MDAwX0ZXX1BSRSBcJiMzNDtpd2x3aWZpLTkwMDAtcHUtYjAtamYtYjBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzkwMDAuYzoyMzojZGVmaW5lICBJV0w5MjYwX0ZXX1BSRSBcJiMzNDtpd2x3aWZpLTkyNjAtdGgtYjAtamYtYjBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzkwMDAuYy0yNC0jZGVmaW5lIElXTDkwMDBfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgXFxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jLTE3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvYXgyMTAuYzoxODojZGVmaW5lIElXTF9TT19BX0dGX0FfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktc28tYTAtZ2YtYTBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2F4MjEwLmM6MTk6I2RlZmluZSBJV0xfVFlfQV9HRl9BX0ZXX1BSRVx0XHRcJiMzNDtpd2x3aWZpLXR5LWEwLWdmLWEwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jOjIwOiNkZWZpbmUgSVdMX01BX0FfR0ZfQV9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1tYS1hMC1nZi1hMFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvYXgyMTAuYzoyMTojZGVmaW5lIElXTF9NQV9CX0dGX0FfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktbWEtYjAtZ2YtYTBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2F4MjEwLmM6MjI6I2RlZmluZSBJV0xfU09fQV9HRjRfQV9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1zby1hMC1nZjQtYTBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2F4MjEwLmM6MjM6I2RlZmluZSBJV0xfTUFfQV9HRjRfQV9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1tYS1hMC1nZjQtYTBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2F4MjEwLmM6MjQ6I2RlZmluZSBJV0xfTUFfQl9HRjRfQV9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1tYS1iMC1nZjQtYTBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2F4MjEwLmM6MjU6I2RlZmluZSBJV0xfU09fQV9IUl9CX0ZXX1BSRVx0XHRcJiMzNDtpd2x3aWZpLXNvLWEwLWhyLWIwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jOjI2OiNkZWZpbmUgSVdMX01BX0FfSFJfQl9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1tYS1hMC1oci1iMFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvYXgyMTAuYzoyNzojZGVmaW5lIElXTF9NQV9CX0hSX0JfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktbWEtYjAtaHItYjBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2F4MjEwLmMtMjgtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvYnouYy0xNy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2J6LmM6MTg6I2RlZmluZSBJV0xfQlpfQV9GTV9CX0ZXX1BSRVx0XHRcJiMzNDtpd2x3aWZpLWJ6LWEwLWZtLWIwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9iei5jOjE5OiNkZWZpbmUgSVdMX0JaX0FfRk1fQ19GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1iei1hMC1mbS1jMFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvYnouYzoyMDojZGVmaW5lIElXTF9CWl9BX0ZNNF9CX0ZXX1BSRVx0XHRcJiMzNDtpd2x3aWZpLWJ6LWEwLWZtNC1iMFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvYnouYzoyMTojZGVmaW5lIElXTF9HTF9CX0ZNX0JfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktZ2wtYjAtZm0tYjBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2J6LmM6MjI6I2RlZmluZSBJV0xfR0xfQ19GTV9DX0ZXX1BSRVx0XHRcJiMzNDtpd2x3aWZpLWdsLWMwLWZtLWMwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9iei5jLTIzLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2RyLmMtMTYtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9kci5jOjE3OiNkZWZpbmUgSVdMX0RSX0FfUEVfQV9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1kci1hMC1wZS1hMFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvZHIuYy0xOC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1nZi5jLTEzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvcmYtZ2YuYzoxNDojZGVmaW5lIElXTF9CWl9BX0dGX0FfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktYnotYTAtZ2YtYTBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3JmLWdmLmM6MTU6I2RlZmluZSBJV0xfQlpfQV9HRjRfQV9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1iei1hMC1nZjQtYTBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3JmLWdmLmM6MTY6I2RlZmluZSBJV0xfU0NfQV9HRl9BX0ZXX1BSRVx0XHRcJiMzNDtpd2x3aWZpLXNjLWEwLWdmLWEwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1nZi5jOjE3OiNkZWZpbmUgSVdMX1NDX0FfR0Y0X0FfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktc2MtYTAtZ2Y0LWEwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1nZi5jLTE4LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3JmLWhyLmMtMTMtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1oci5jOjE0OiNkZWZpbmUgSVdMX0JaX0FfSFJfQl9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1iei1hMC1oci1iMFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvcmYtaHIuYzoxNTojZGVmaW5lIElXTF9TQ19BX0hSX0FfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktc2MtYTAtaHItYjBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3JmLWhyLmM6MTY6I2RlZmluZSBJV0xfU0NfQV9IUl9CX0ZXX1BSRVx0XHRcJiMzNDtpd2x3aWZpLXNjLWEwLWhyLWIwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1oci5jLTE3LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3JmLWpmLmMtMTMtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1qZi5jOjE0OiNkZWZpbmUgSVdMX1FVX0JfSkZfQl9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1RdS1iMC1qZi1iMFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvcmYtamYuYzoxNTojZGVmaW5lIElXTF9RVV9DX0pGX0JfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktUXUtYzAtamYtYjBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3JmLWpmLmM6MTY6I2RlZmluZSBJV0xfUVVaX0FfSkZfQl9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1RdVotYTAtamYtYjBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3JmLWpmLmM6MTc6I2RlZmluZSBJV0xfU09fQV9KRl9CX0ZXX1BSRVx0XHRcJiMzNDtpd2x3aWZpLXNvLWEwLWpmLWIwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1qZi5jLTE4LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3NjLmMtMTctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9zYy5jOjE4OiNkZWZpbmUgSVdMX1NDX0FfRk1fQl9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1zYy1hMC1mbS1iMFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvc2MuYzoxOTojZGVmaW5lIElXTF9TQ19BX0ZNX0NfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktc2MtYTAtZm0tYzBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3NjLmM6MjA6I2RlZmluZSBJV0xfU0NfQV9XSF9BX0ZXX1BSRVx0XHRcJiMzNDtpd2x3aWZpLXNjLWEwLXdoLWEwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9zYy5jOjIxOiNkZWZpbmUgSVdMX1NDMl9BX0ZNX0NfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktc2MyLWEwLWZtLWMwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9zYy5jOjIyOiNkZWZpbmUgSVdMX1NDMl9BX1dIX0FfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktc2MyLWEwLXdoLWEwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9zYy5jLTIzLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2RlYnVnZnMuYz0yMjYyPXN0YXRpYyBzc2l6ZV90IGl3bF9kYmdmc19md19yZXN0YXJ0X3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2RlYnVnZnMuYy0yMjY2LVx0c3RydWN0IGl3bF9wcml2ICpwcml2ID0gZmlsZS1cdTAwM2Vwcml2YXRlX2RhdGE7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZWJ1Z2ZzLmM6MjI2NzpcdGJvb2wgZndfcmVzdGFydCA9IGl3bHdpZmlfbW9kX3BhcmFtcy5md19yZXN0YXJ0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGVidWdmcy5jLTIyNjgtXHRpbnQgX19tYXliZV91bnVzZWQgcmV0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGVidWdmcy5jLTIyNjktXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZWJ1Z2ZzLmM6MjI3MDpcdGl3bHdpZmlfbW9kX3BhcmFtcy5md19yZXN0YXJ0ID0gdHJ1ZTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2RlYnVnZnMuYy0yMjcxLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2RlYnVnZnMuYy0yMjc4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGVidWdmcy5jOjIyNzk6XHRpd2x3aWZpX21vZF9wYXJhbXMuZndfcmVzdGFydCA9IGZ3X3Jlc3RhcnQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZWJ1Z2ZzLmMtMjI4MC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZWJ1Z2ZzLmM9MjMxMz12b2lkIGl3bF9kYmdmc19yZWdpc3RlcihzdHJ1Y3QgaXdsX3ByaXYgKnByaXYsIHN0cnVjdCBkZW50cnkgKmRiZ2ZzX2Rpcilcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZWJ1Z2ZzLmMtMjM4MC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2RlYnVnZnMuYzoyMzgxOlx0XHRkZWJ1Z2ZzX2NyZWF0ZV9zeW1saW5rKFwmIzM0O2l3bHdpZmlcJiMzNDssIG1hYzgwMjExX2RpciwgYnVmKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2RlYnVnZnMuYy0yMzgyLVx0fVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2Rldi5oPTIxMD1zdHJ1Y3QgaXdsX3NlbnNpdGl2aXR5X3JhbmdlcyB7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGV2LmgtMjQ0LSAqIE5hbWluZyBjb252ZW50aW9uIC0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZXYuaDoyNDU6ICogaXdsXyAgICAgICAgIFx1MDAzYy0tIElzIHBhcnQgb2YgaXdsd2lmaVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGV2LmgtMjQ2LSAqIGl3bFhYWFhfICAgICBcdTAwM2MtLSBIYXJkd2FyZSBzcGVjaWZpYyAoaW1wbGVtZW50ZWQgaW4gaXdsLVhYWFguYyBmb3IgWFhYWClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9lZXByb20uYz0xMDU5PWl3bF9wYXJzZV9lZXByb21fZGF0YShzdHJ1Y3QgaXdsX3RyYW5zICp0cmFucywgY29uc3Qgc3RydWN0IGl3bF9yZl9jZmcgKmNmZyxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9lZXByb20uYy0xMTE4LVx0ZGF0YS1cdTAwM2Vza3VfY2FwX2lwYW5fZW5hYmxlID0gc2t1IFx1MDAyNiBFRVBST01fU0tVX0NBUF9JUEFOX0VOQUJMRTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2VlcHJvbS5jOjExMTk6XHRpZiAoaXdsd2lmaV9tb2RfcGFyYW1zLmRpc2FibGVfMTFuIFx1MDAyNiBJV0xfRElTQUJMRV9IVF9BTEwpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9lZXByb20uYy0xMTIwLVx0XHRkYXRhLVx1MDAzZXNrdV9jYXBfMTFuX2VuYWJsZSA9IGZhbHNlO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2xlZC5jPTE1NT12b2lkIGl3bF9sZWRzX2luaXQoc3RydWN0IGl3bF9wcml2ICpwcml2KVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbGVkLmMtMTU2LXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2xlZC5jOjE1NzpcdGludCBtb2RlID0gaXdsd2lmaV9tb2RfcGFyYW1zLmxlZF9tb2RlO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbGVkLmMtMTU4LVx0aW50IHJldDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9saWIuYz0yMDE9dm9pZCBpd2xhZ25fc2VuZF9hZHZhbmNlX2J0X2NvbmZpZyhzdHJ1Y3QgaXdsX3ByaXYgKnByaXYpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbGliLmMtMjYyLVx0ICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9saWIuYzoyNjM6XHRpZiAoIWl3bHdpZmlfbW9kX3BhcmFtcy5idF9jb2V4X2FjdGl2ZSB8fFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbGliLmMtMjY0LVx0ICAgIHByaXYtXHUwMDNlaXdfbW9kZSA9PSBOTDgwMjExX0lGVFlQRV9BREhPQykge1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2xpYi5jPTEwMzQ9aW50IGl3bGFnbl9zdXNwZW5kKHN0cnVjdCBpd2xfcHJpdiAqcHJpdiwgc3RydWN0IGNmZzgwMjExX3dvd2xhbiAqd293bGFuKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2xpYi5jLTExMzUtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9saWIuYzoxMTM2Olx0aWYgKCFpd2x3aWZpX21vZF9wYXJhbXMuc3djcnlwdG8pIHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2xpYi5jLTExMzctXHRcdC8qIG1hcmsgYWxsIGtleXMgY2xlYXIgKi9cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWM4MDIxMS5jPTc4PWludCBpd2xhZ25fbWFjX3NldHVwX3JlZ2lzdGVyKHN0cnVjdCBpd2xfcHJpdiAqcHJpdixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWM4MDIxMS5jLTEyMS1cdGlmIChwcml2LVx1MDAzZWZ3LVx1MDAzZXVjb2RlX2NhcGEuZmxhZ3MgXHUwMDI2IElXTF9VQ09ERV9UTFZfRkxBR1NfTUZQIFx1MDAyNlx1MDAyNlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYzoxMjI6XHQgICAgIWl3bHdpZmlfbW9kX3BhcmFtcy5zd2NyeXB0bylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21hYzgwMjExLmMtMTIzLVx0XHRpZWVlODAyMTFfaHdfc2V0KGh3LCBNRlBfQ0FQQUJMRSk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYy0xNTItXHRcdFx0XHRcdCAgICAgV0lQSFlfV09XTEFOX1JGS0lMTF9SRUxFQVNFO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYzoxNTM6XHRcdGlmICghaXdsd2lmaV9tb2RfcGFyYW1zLnN3Y3J5cHRvKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYy0xNTQtXHRcdFx0cHJpdi1cdTAwM2V3b3dsYW5fc3VwcG9ydC5mbGFncyB8PVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21hYzgwMjExLmMtMTY2LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYzoxNjc6XHRpZiAoaXdsd2lmaV9tb2RfcGFyYW1zLnBvd2VyX3NhdmUpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWM4MDIxMS5jLTE2OC1cdFx0aHctXHUwMDNld2lwaHktXHUwMDNlZmxhZ3MgfD0gV0lQSFlfRkxBR19QU19PTl9CWV9ERUZBVUxUO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21hYzgwMjExLmM9MzI1PXN0YXRpYyB2b2lkIGl3bGFnbl9tYWNfc2V0X3Jla2V5X2RhdGEoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYy0zMzAtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWM4MDIxMS5jOjMzMTpcdGlmIChpd2x3aWZpX21vZF9wYXJhbXMuc3djcnlwdG8pXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWM4MDIxMS5jLTMzMi1cdFx0cmV0dXJuO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21hYzgwMjExLmM9NTg4PXN0YXRpYyBpbnQgaXdsYWduX21hY19zZXRfa2V5KHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LCBlbnVtIHNldF9rZXlfY21kIGNtZCxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWM4MDIxMS5jLTYwMC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21hYzgwMjExLmM6NjAxOlx0aWYgKGl3bHdpZmlfbW9kX3BhcmFtcy5zd2NyeXB0bykge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYy02MDItXHRcdElXTF9ERUJVR19NQUM4MDIxMShwcml2LCBcJiMzNDtsZWF2ZSAtIGh3Y3J5cHRvIGRpc2FibGVkXFxuXCYjMzQ7KTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM9Mzk4PXN0YXRpYyB2b2lkIGl3bF9wcmludF9jb250X2V2ZW50X3RyYWNlKHN0cnVjdCBpd2xfcHJpdiAqcHJpdiwgdTMyIGJhc2UsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTQzNC1cdFx0aWYgKG1vZGUgPT0gMCkge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jOjQzNTpcdFx0XHR0cmFjZV9pd2x3aWZpX2Rldl91Y29kZV9jb250X2V2ZW50KFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTQzNi1cdFx0XHRcdFx0cHJpdi1cdTAwM2V0cmFucy1cdTAwM2VkZXYsIDAsIHRpbWUsIGV2KTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtNDM4LVx0XHRcdGRhdGEgPSBpd2xfcmVhZDMyKHByaXYtXHUwMDNldHJhbnMsIEhCVVNfVEFSR19NRU1fUkRBVCk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM6NDM5Olx0XHRcdHRyYWNlX2l3bHdpZmlfZGV2X3Vjb2RlX2NvbnRfZXZlbnQoXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtNDQwLVx0XHRcdFx0XHRwcml2LVx1MDAzZXRyYW5zLVx1MDAzZWRldiwgdGltZSwgZGF0YSwgZXYpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYz00NDc9c3RhdGljIHZvaWQgaXdsX2NvbnRpbnVvdXNfZXZlbnRfdHJhY2Uoc3RydWN0IGl3bF9wcml2ICpwcml2KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYy01MDMtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM6NTA0Olx0XHR0cmFjZV9pd2x3aWZpX2Rldl91Y29kZV93cmFwX2V2ZW50KHByaXYtXHUwMDNldHJhbnMtXHUwMDNlZGV2LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTUwNS1cdFx0XHRcdG51bV93cmFwcyAtIHByaXYtXHUwMDNlZXZlbnRfbG9nLm51bV93cmFwcyxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM9NzM3PXN0YXRpYyB2b2lkIGl3bF9zZW5kX2J0X2NvbmZpZyhzdHJ1Y3QgaXdsX3ByaXYgKnByaXYpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTc0NS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYzo3NDY6XHRpZiAoIWl3bHdpZmlfbW9kX3BhcmFtcy5idF9jb2V4X2FjdGl2ZSlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYy03NDctXHRcdGJ0X2NtZC5mbGFncyA9IEJUX0NPRVhfRElTQUJMRTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM9MTIzMz1zdGF0aWMgc3RydWN0IGl3bF9vcF9tb2RlICppd2xfb3BfbW9kZV9kdm1fc3RhcnQoc3RydWN0IGl3bF90cmFucyAqdHJhbnMsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTEzMjQtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM6MTMyNTpcdHN3aXRjaCAoaXdsd2lmaV9tb2RfcGFyYW1zLmFtc2R1X3NpemUpIHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYy0xMzI2LVx0Y2FzZSBJV0xfQU1TRFVfREVGOlxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYy0xMzM2LVx0XHRwcl9lcnIoXCYjMzQ7VW5zdXBwb3J0ZWQgYW1zZHVfc2l6ZTogJWRcXG5cJiMzNDssXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM6MTMzNzpcdFx0ICAgICAgIGl3bHdpZmlfbW9kX3BhcmFtcy5hbXNkdV9zaXplKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYy0xMzM4LVx0fVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYz0xNjk4PXN0YXRpYyBpbnQgaXdsX3ByaW50X2V2ZW50X2xvZyhzdHJ1Y3QgaXdsX3ByaXYgKnByaXYsIHUzMiBzdGFydF9pZHgsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTE3NDctXHRcdFx0fSBlbHNlIHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYzoxNzQ4Olx0XHRcdFx0dHJhY2VfaXdsd2lmaV9kZXZfdWNvZGVfZXZlbnQodHJhbnMtXHUwMDNlZGV2LCAwLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTE3NDktXHRcdFx0XHRcdHRpbWUsIGV2KTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtMTc2MS1cdFx0XHRcdFx0dGltZSwgZGF0YSwgZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jOjE3NjI6XHRcdFx0XHR0cmFjZV9pd2x3aWZpX2Rldl91Y29kZV9ldmVudCh0cmFucy1cdTAwM2VkZXYsIHRpbWUsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtMTc2My1cdFx0XHRcdFx0ZGF0YSwgZXYpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYz0xOTEyPXN0YXRpYyB2b2lkIGl3bGFnbl9md19lcnJvcihzdHJ1Y3QgaXdsX3ByaXYgKnByaXYsIGJvb2wgb25kZW1hbmQpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTE5NDUtXHRpZiAoIXRlc3RfYml0KFNUQVRVU19FWElUX1BFTkRJTkcsIFx1MDAyNnByaXYtXHUwMDNlc3RhdHVzKSkge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jOjE5NDY6XHRcdGlmIChpd2x3aWZpX21vZF9wYXJhbXMuZndfcmVzdGFydCkge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTE5NDctXHRcdFx0SVdMX0RFQlVHX0ZXKHByaXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vcG93ZXIuYz0yNzE9c3RhdGljIHZvaWQgaXdsX3Bvd2VyX2J1aWxkX2NtZChzdHJ1Y3QgaXdsX3ByaXYgKnByaXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vcG93ZXIuYy0zMDEtXHRcdGJ1dCB3ZSBwYXNzIDAtNCBiZWNhdXNlIGl0IGFjdHMgYXMgYW4gYXJyYXkgaW5kZXguICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9wb3dlci5jOjMwMjpcdFx0aWYgKGl3bHdpZmlfbW9kX3BhcmFtcy5wb3dlcl9sZXZlbCBcdTAwM2UgSVdMX1BPV0VSX0lOREVYXzEgXHUwMDI2XHUwMDI2XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9wb3dlci5jOjMwMzpcdFx0ICAgIGl3bHdpZmlfbW9kX3BhcmFtcy5wb3dlcl9sZXZlbCBcdTAwM2M9IElXTF9QT1dFUl9OVU0pXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9wb3dlci5jLTMwNC1cdFx0XHRpd2xfc3RhdGljX3NsZWVwX2NtZChwcml2LCBjbWQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9wb3dlci5jOjMwNTpcdFx0XHRcdGl3bHdpZmlfbW9kX3BhcmFtcy5wb3dlcl9sZXZlbCAtIDEsIGR0aW1wZXIpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vcG93ZXIuYy0zMDYtXHRcdGVsc2Vcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9yeC5jPTYwND1zdGF0aWMgdm9pZCBpd2xhZ25fcGFzc19wYWNrZXRfdG9fbWFjODAyMTEoc3RydWN0IGl3bF9wcml2ICpwcml2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3J4LmMtNjIzLVx0LyogSW4gY2FzZSBvZiBIVyBhY2NlbGVyYXRlZCBjcnlwdG8gYW5kIGJhZCBkZWNyeXB0aW9uLCBkcm9wICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9yeC5jOjYyNDpcdGlmICghaXdsd2lmaV9tb2RfcGFyYW1zLnN3Y3J5cHRvIFx1MDAyNlx1MDAyNlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vcnguYy02MjUtXHQgICAgaXdsYWduX3NldF9kZWNyeXB0ZWRfZmxhZyhwcml2LCBoZHIsIGFtcGR1X3N0YXR1cywgc3RhdHMpKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3J4b24uYz0xMDIzPWludCBpd2xhZ25fY29tbWl0X3J4b24oc3RydWN0IGl3bF9wcml2ICpwcml2LCBzdHJ1Y3QgaXdsX3J4b25fY29udGV4dCAqY3R4KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3J4b24uYy0xMTAyLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vcnhvbi5jOjExMDM6XHRpd2xfc2V0X3J4b25faHdjcnlwdG8ocHJpdiwgY3R4LCAhaXdsd2lmaV9tb2RfcGFyYW1zLnN3Y3J5cHRvKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3J4b24uYy0xMTA0LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZncvaW1nLmg9MTM2PXN0cnVjdCBpd2xfZndfcGFnaW5nIHtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2Z3L2ltZy5oLTE0My0vKipcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZncvaW1nLmg6MTQ0OiAqIGVudW0gaXdsX2Z3X3R5cGUgLSBpd2x3aWZpIGZpcm13YXJlIHR5cGVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZncvaW1nLmgtMTQ1LSAqIEBJV0xfRldfRFZNOiBEVk0gZmlybXdhcmVcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kYmctdGx2LmM9NDk5PXZvaWQgaXdsX2RiZ190bHZfbG9hZF9iaW4oc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgaXdsX3RyYW5zICp0cmFucylcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kYmctdGx2LmMtNTA0LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGJnLXRsdi5jOjUwNTpcdGlmICghaXdsd2lmaV9tb2RfcGFyYW1zLmVuYWJsZV9pbmkgfHxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRiZy10bHYuYy01MDYtXHQgICAgdHJhbnMtXHUwMDNlbWFjX2NmZy1cdTAwM2VkZXZpY2VfZmFtaWx5IFx1MDAzYz0gSVdMX0RFVklDRV9GQU1JTFlfODAwMClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5jPTEzPXZvaWQgX19pd2xfICMjZm4oc3RydWN0IGRldmljZSAqZGV2LCBjb25zdCBjaGFyICpmbXQsIC4uLilcdFxcXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuYy0yMi1cdGRldl8gIyNmbihkZXYsIFwmIzM0OyVwVlwmIzM0OywgXHUwMDI2dmFmKTtcdFx0XHRcdFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5jOjIzOlx0dHJhY2VfaXdsd2lmaV8gIyNmbihcdTAwMjZ2YWYpO1x0XHRcdFx0XFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmMtMjQtXHR2YV9lbmQoYXJncyk7XHRcdFx0XHRcdFx0XFxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5jPTM0PXZvaWQgX19pd2xfZXJyKHN0cnVjdCBkZXZpY2UgKmRldiwgZW51bSBpd2xfZXJyX21vZGUgbW9kZSwgY29uc3QgY2hhciAqZm10LCAuLi4pXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuYy02MC1cdHZhZi52YSA9IFx1MDAyNmFyZ3M7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5jOjYxOlx0dHJhY2VfaXdsd2lmaV9lcnIoXHUwMDI2dmFmKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmMtNjItXHR2YV9lbmQoYXJncyk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuYz02Nz12b2lkIF9faXdsX2RiZyhzdHJ1Y3QgZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuYy04Mi0jZW5kaWZcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmM6ODM6XHR0cmFjZV9pd2x3aWZpX2RiZyhsZXZlbCwgZnVuY3Rpb24sIFx1MDAyNnZhZik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5jLTg0LVx0dmFfZW5kKGFyZ3MpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmg9MTY9c3RhdGljIGlubGluZSBib29sIGl3bF9oYXZlX2RlYnVnX2xldmVsKHUzMiBsZXZlbClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5oLTE4LSNpZmRlZiBDT05GSUdfSVdMV0lGSV9ERUJVR1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuaDoxOTpcdHJldHVybiBpd2x3aWZpX21vZF9wYXJhbXMuZGVidWdfbGV2ZWwgXHUwMDI2IGxldmVsO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuaC0yMC0jZWxzZVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmg9MTAyPWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFx0XHRcdFxcXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuaC0xMjYtICpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmg6MTI3OiAqXHQvc3lzL21vZHVsZS9pd2x3aWZpL3BhcmFtZXRlcnMvZGVidWdcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmgtMTI4LSAqIHdoZW4gQ09ORklHX0lXTFdJRklfREVCVUc9eS5cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmgtMTI5LSAqXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5oOjEzMDogKlx0L3N5cy9rZXJuZWwvZGVidWcvcGh5MC9pd2x3aWZpL2RlYnVnL2RlYnVnX2xldmVsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5oLTEzMS0gKiB3aGVuIENPTkZJR19JV0xXSUZJX0RFQlVHRlM9eS5cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1kYXRhLmgtMTQtI3VuZGVmIFRSQUNFX1NZU1RFTVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtZGF0YS5oOjE1OiNkZWZpbmUgVFJBQ0VfU1lTVEVNIGl3bHdpZmlfZGF0YVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtZGF0YS5oLTE2LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtZGF0YS5oOjE3OlRSQUNFX0VWRU5UKGl3bHdpZmlfZGV2X3R4X3RiLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtZGF0YS5oLTE4LVx0VFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWRhdGEuaC0zNi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWRhdGEuaDozNzpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9yeF9kYXRhLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtZGF0YS5oLTM4LVx0VFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtMTQtI3VuZGVmIFRSQUNFX1NZU1RFTVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDoxNTojZGVmaW5lIFRSQUNFX1NZU1RFTSBpd2x3aWZpX2lvXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTE2LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDoxNzpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9pb3JlYWQzMixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtMTgtXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHUzMiBvZmZzLCB1MzIgdmFsKSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTMzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDozNDpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9pb3dyaXRlOCxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtMzUtXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHUzMiBvZmZzLCB1OCB2YWwpLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtNTAtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oOjUxOlRSQUNFX0VWRU5UKGl3bHdpZmlfZGV2X2lvd3JpdGUzMixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtNTItXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHUzMiBvZmZzLCB1MzIgdmFsKSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTY3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDo2ODpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9pb3dyaXRlNjQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTY5LVx0VFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LCB1NjQgb2ZmcywgdTY0IHZhbCksXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC04NC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmg6ODU6VFJBQ0VfRVZFTlQoaXdsd2lmaV9kZXZfaW93cml0ZV9wcnBoMzIsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTg2LVx0VFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LCB1MzIgb2ZmcywgdTMyIHZhbCksXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC0xMDEtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oOjEwMjpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9pb3dyaXRlX3BycGg2NCxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtMTAzLVx0VFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LCB1NjQgb2ZmcywgdTY0IHZhbCksXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC0xMTgtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oOjExOTpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9pb3JlYWRfcHJwaDMyLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC0xMjAtXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHUzMiBvZmZzLCB1MzIgdmFsKSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTEzNS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmg6MTM2OlRSQUNFX0VWRU5UKGl3bHdpZmlfZGV2X2lycSxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtMTM3LVx0VFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmljZSAqZGV2KSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTE0OC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmg6MTQ5OlRSQUNFX0VWRU5UKGl3bHdpZmlfZGV2X2lycV9tc2l4LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC0xNTAtXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBtc2l4X2VudHJ5ICptc2l4X2VudHJ5LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtMTcxLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDoxNzI6VFJBQ0VfRVZFTlQoaXdsd2lmaV9kZXZfaWN0X3JlYWQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTE3My1cdFRQX1BST1RPKGNvbnN0IHN0cnVjdCBkZXZpY2UgKmRldiwgdTMyIGluZGV4LCB1MzIgdmFsdWUpLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWl3bHdpZmkuaC0xNS0jdW5kZWYgVFJBQ0VfU1lTVEVNXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pd2x3aWZpLmg6MTY6I2RlZmluZSBUUkFDRV9TWVNURU0gaXdsd2lmaVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaXdsd2lmaS5oLTE3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaXdsd2lmaS5oOjE4OlRSQUNFX0VWRU5UKGl3bHdpZmlfZGV2X2hjbWQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pd2x3aWZpLmgtMTktXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaXdsd2lmaS5oLTUxLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaXdsd2lmaS5oOjUyOlRSQUNFX0VWRU5UKGl3bHdpZmlfZGV2X3J4LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaXdsd2lmaS5oLTUzLVx0VFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWl3bHdpZmkuaC03Mi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWl3bHdpZmkuaDo3MzpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl90eCxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWl3bHdpZmkuaC03NC1cdFRQX1BST1RPKGNvbnN0IHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHNrX2J1ZmYgKnNrYixcblxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzMxIDE4OjM5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE5NDYxCgkJCQkJCQlvdXRwdXQ6IDQxCgkJCQkJCQl0aG91Z2h0czogOTUKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBpd2x3aWZpIERyaXZlcioqCgpPa2F5LCBsZXQmIzM5O3MgYnJlYWsgdGhpcyBkb3duLiAqaXdsd2lmaSrigKYgcmlnaHQsIGl0JiMzOTtzIGEgUENJIGRyaXZlci4gU3BlY2lmaWNhbGx5LCBpdCByZWxpZXMgb24gUENJLCBIQVNfSU9NRU0sIGFuZCBDRkc4MDIxMSwgd2hpY2ggbWFrZXMgc2Vuc2UuIEkgbmVlZCB0byB1bmRlcnN0YW5kIHRoaXMgZHJpdmVyIGJldHRlciwgc28gSSYjMzk7bSB0aGlua2luZywgZG9lcyAqaXdsd2lmaSogaGF2ZSBhbnkgc29ydCBvZiBzb2Z0d2FyZSBlbXVsYXRpb24gb3IgbW9jayBmdW5jdGlvbmFsaXR5LCBvciBpcyBpdCBleGNsdXNpdmVseSB0aWVkIHRvIHRoZSB2ZW5kb3ImIzM5O3Mgc3BlY2lmaWMgUENJZSBoYXJkd2FyZT8gVGhhdCYjMzk7cyB0aGUgY29yZSBxdWVzdGlvbiBoZXJlLiBJIG5lZWQgdG8gY29uZmlybSB3aGV0aGVyIEkgY2FuIHdvcmsgd2l0aCBpdCBpbiBhbiBlbXVsYXRlZCBlbnZpcm9ubWVudC4gSG9sZCBvbiwgYmVmb3JlIEkgZGl2ZSB0b28gZGVlcCBpbnRvIHRoZSBicm9hZGVyIHNjb3BlLCBsZXQgbWUgdGFrZSBhIGxvb2sgYXQgYGl3bF9tdm1fdXBkYXRlX21jY2AuIEhvdyBpcyB0aGF0IGZ1bmN0aW9uIGNhbGxlZD8gQW5kIHdoZXJlIGlzIGl0IGJlaW5nIHVzZWQ/IFVuZGVyc3RhbmRpbmcgdGhhdCBmdW5jdGlvbiYjMzk7cyBjb250ZXh0IG1pZ2h0IHByb3ZpZGUgdGhlIGNsdWVzIEkgbmVlZCB0byBkZXRlcm1pbmUgaG93IHRoZSBkcml2ZXIgd29ya3MgYXQgYSBmdW5kYW1lbnRhbCBsZXZlbC4gSSBuZWVkIHRvIHNlZSBob3cgdGhlIHNvZnR3YXJlIGludGVyYWN0cyB3aXRoIHRoZSBoYXJkd2FyZSwgdG8gdW5kZXJzdGFuZCBpdCYjMzk7cyBvcGVyYXRpb24uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMTg6Mzk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7aXdsX212bV91cGRhdGVfbWNjJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaSYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tYWM4MDIxMS5jPTExNz1zdHJ1Y3QgaWVlZTgwMjExX3JlZ2RvbWFpbiAqaXdsX212bV9nZXRfcmVnZG9tYWluKHN0cnVjdCB3aXBoeSAqd2lwaHksXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWFjODAyMTEuYy0xMzEtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tYWM4MDIxMS5jOjEzMjpcdHJlc3AgPSBpd2xfbXZtX3VwZGF0ZV9tY2MobXZtLCBhbHBoYTIsIHNyY19pZCk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tYWM4MDIxMS5jLTEzMy1cdGlmIChJU19FUlJfT1JfTlVMTChyZXNwKSkge1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL212bS5oPTIzMjI9c3RydWN0IGl3bF9tY2NfdXBkYXRlX3Jlc3BfdjggKlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbXZtLmg6MjMyMzppd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbXZtLmgtMjMyNC1cdFx0ICAgZW51bSBpd2xfbWNjX3NvdXJjZSBzcmNfaWQpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jPTQwMD1zdHJ1Y3QgaXdsX21jY191cGRhdGVfcmVzcF92OCAqXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9udm0uYzo0MDE6aXdsX212bV91cGRhdGVfbWNjKHN0cnVjdCBpd2xfbXZtICptdm0sIGNvbnN0IGNoYXIgKmFscGhhMixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jLTQwMi1cdFx0ICAgZW51bSBpd2xfbWNjX3NvdXJjZSBzcmNfaWQpXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMTg6Mzk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjAyNzYKCQkJCQkJCW91dHB1dDogMjQKCQkJCQkJCXRob3VnaHRzOiAzNwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipDaGVja2luZyBmb3IgUm9idXN0bmVzcyBpbiB0aGUgaXdsd2lmaSBEcml2ZXIqKgoKT2theSwgbGV0JiMzOTtzIHRha2UgYSBsb29rIGF0IHRoZSBgaXdsd2lmaWAgZHJpdmVyLiBNeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gYXNzZXNzIGl0cyB0ZXN0IGNvdmVyYWdlLiBJIHdhbnQgdG8gc2VlIGlmIHRoZXkmIzM5O3ZlIGltcGxlbWVudGVkIGFueSBLVW5pdCB0ZXN0cywgd2hpY2ggd291bGQgYmUgaWRlYWwuIEtVbml0IGlzIGEgZ3JlYXQgZnJhbWV3b3JrIGZvciBrZXJuZWwtbGV2ZWwgdW5pdCB0ZXN0aW5nLCBzbyB0aGF0JiMzOTtzIHRoZSBmaXJzdCBwbGFjZSBJJiMzOTtsbCBsb29rLiBJJiMzOTtsbCBuZWVkIHRvIGNoZWNrIHRoZSBidWlsZCBjb25maWd1cmF0aW9uIGFuZCB0aGUgc291cmNlIGNvZGUgZm9yIHNpZ25zIG9mIGEgc2ltdWxhdGVkIGRyaXZlciBhcyB3ZWxsLiBTcGVjaWZpY2FsbHksIEkgbmVlZCB0byBjaGVjayBmb3IgYSBmbGFnLCBsaWtlbHkgc29tZXRoaW5nIGxpa2UgYElXTFdJRklfS1VOSVRfVEVTVFNgIGluIHRoZSBidWlsZCBjb25maWd1cmF0aW9uLiBUaGF0IHdvdWxkIGJlIHRoZSBlYXNpZXN0IHdheSB0byBpZGVudGlmeSBpZiB0aGV5JiMzOTtyZSBhY3R1YWxseSBpbnRlZ3JhdGVkLiBIb3BlZnVsbHksIHRoZXkgaGF2ZSBhIHNvbGlkIHRlc3Qgc3VpdGUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMTg6NDA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7SVdMV0lGSV9LVU5JVF9URVNUUyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc9NDc9aWYgSVdMV0lGSVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTQ4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjQ5OmNvbmZpZyBJV0xXSUZJX0tVTklUX1RFU1RTXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctNTAtXHR0cmlzdGF0ZVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZz05NT1jb25maWcgSVdMV0lGSV9PUE1PREVfTU9EVUxBUlxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy05OS1cdGRlZmF1bHQgeSBpZiBJV0xNTEQ9bVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjEwMDpcdGRlZmF1bHQgeSBpZiBJV0xXSUZJX0tVTklUX1RFU1RTPW1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMDEtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZT01Mj1vYmotJChDT05GSUdfSVdMTUxEKVx0JiM0Mzs9IG1sZC9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGUtNTMtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjU0Om9iai0kKENPTkZJR19JV0xXSUZJX0tVTklUX1RFU1RTKSAmIzQzOz0gdGVzdHMvXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTU1LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWNvbmZpZy5oPTUxMz1zdHJ1Y3QgaXdsX2Rldl9pbmZvIHtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1jb25maWcuaC01MzEtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1jb25maWcuaDo1MzI6I2lmIElTX0VOQUJMRUQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1jb25maWcuaC01MzMtZXh0ZXJuIGNvbnN0IHN0cnVjdCBpd2xfZGV2X2luZm8gaXdsX2Rldl9pbmZvX3RhYmxlW107XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZHJ2Lmg9ODU9Ym9vbCBpd2xfZHJ2X2lzX3dpZmk3X3N1cHBvcnRlZChzdHJ1Y3QgaXdsX3RyYW5zICp0cmFucyk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZHJ2LmgtOTktXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kcnYuaDoxMDA6I2lmIElTX0VOQUJMRUQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kcnYuaC0xMDEtI2RlZmluZSBFWFBPUlRfU1lNQk9MX0lGX0lXTFdJRklfS1VOSVQoc3ltKVx0RVhQT1JUX1NZTUJPTF9JRl9LVU5JVChzeW0pXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtbnZtLXBhcnNlLmg9NzU9ZW51bSBpd2xfbnZtX2NoYW5uZWxfZmxhZ3Mge1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLW52bS1wYXJzZS5oLTkzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtbnZtLXBhcnNlLmg6OTQ6I2lmIElTX0VOQUJMRUQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1udm0tcGFyc2UuaC05NS11MzIgaXdsX252bV9nZXRfcmVnZG9tX2J3X2ZsYWdzKGNvbnN0IHUxNiAqbnZtX2NoYW4sXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvTWFrZWZpbGU9Mj1vYmotJChDT05GSUdfSVdMTUxEKSAgICYjNDM7PSBpd2xtbGQub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvTWFrZWZpbGU6MzpvYmotJChDT05GSUdfSVdMV0lGSV9LVU5JVF9URVNUUykgJiM0Mzs9IHRlc3RzL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvTWFrZWZpbGUtNC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9saW5rLmg9MTQyPXVuc2lnbmVkIGludCBpd2xfbWxkX2dldF9saW5rX2dyYWRlKHN0cnVjdCBpd2xfbWxkICptbGQsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbGluay5oLTE0NC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL2xpbmsuaDoxNDU6I2lmIElTX0VOQUJMRUQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9saW5rLmgtMTQ2LXM4IGl3bF9tbGRfZ2V0X2R1cF9iZWFjb25fcnNzaV9hZGp1c3Qoc3RydWN0IGl3bF9tbGQgKm1sZCxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tbGQuYz0zNDE9RVhQT1JUX1NZTUJPTF9JRl9JV0xXSUZJX0tVTklUKGl3bF9tbGRfZ3JvdXBzKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21sZC5jLTM0Mi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21sZC5jOjM0MzojaWYgSVNfRU5BQkxFRChDT05GSUdfSVdMV0lGSV9LVU5JVF9URVNUUylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21sZC5jLTM0NC1jb25zdCB1bnNpZ25lZCBpbnQgZ2xvYmFsX2l3bF9tbGRfZ291cHNfc2l6ZSA9IEFSUkFZX1NJWkUoaXdsX21sZF9ncm91cHMpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21sZC5oPTUwNj1zdHJ1Y3QgaXdsX25vdGlmX3N0cnVjdF9zaXplIHtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tbGQuaC01MDktXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tbGQuaDo1MTA6I2lmIElTX0VOQUJMRUQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tbGQuaC01MTEtZXh0ZXJuIGNvbnN0IHN0cnVjdCBpd2xfaGNtZF9hcnIgaXdsX21sZF9ncm91cHNbXTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tbG8uaD0xNjU9dm9pZCBpd2xfbWxkX2VtbHNyX2Jsb2NrX3RtcF9ub25fYnNzKHN0cnVjdCBpd2xfbWxkICptbGQpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWxvLmgtMTY2LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWxvLmg6MTY3OiNpZiBJU19FTkFCTEVEKENPTkZJR19JV0xXSUZJX0tVTklUX1RFU1RTKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWxvLmgtMTY4LXUzMiBpd2xfbWxkX2VtbHNyX3BhaXJfc3RhdGUoc3RydWN0IGllZWU4MDIxMV92aWYgKnZpZixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9ub3RpZi5jPTQ3Nj1FWFBPUlRfU1lNQk9MX0lGX0lXTFdJRklfS1VOSVQoaXdsX21sZF9yeF9oYW5kbGVycyk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9ub3RpZi5jLTQ3Ny1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL25vdGlmLmM6NDc4OiNpZiBJU19FTkFCTEVEKENPTkZJR19JV0xXSUZJX0tVTklUX1RFU1RTKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbm90aWYuYy00NzktY29uc3QgdW5zaWduZWQgaW50IGl3bF9tbGRfcnhfaGFuZGxlcnNfbnVtID0gQVJSQVlfU0laRShpd2xfbWxkX3J4X2hhbmRsZXJzKTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC90ZXN0cy9NYWtlZmlsZT01PWNjZmxhZ3MteSAmIzQzOz0gLUkkKHNyYykvLi4vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC90ZXN0cy9NYWtlZmlsZTo2Om9iai0kKENPTkZJR19JV0xXSUZJX0tVTklUX1RFU1RTKSAmIzQzOz0gaXdsbWxkLXRlc3RzLm9cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9NYWtlZmlsZT0yPW9iai0kKENPTkZJR19JV0xNVk0pICAgJiM0Mzs9IGl3bG12bS5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9NYWtlZmlsZTozOm9iai0kKENPTkZJR19JV0xXSUZJX0tVTklUX1RFU1RTKSAmIzQzOz0gdGVzdHMvXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9NYWtlZmlsZS00LWl3bG12bS15ICYjNDM7PSBmdy5vIG1hYzgwMjExLm8gbnZtLm8gb3BzLm8gcGh5LWN0eHQubyBtYWMtY3R4dC5vXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbXZtLmg9MTk2Nj1pbnQgaXdsX212bV9kaXNhYmxlX2xpbmsoc3RydWN0IGl3bF9tdm0gKm12bSwgc3RydWN0IGllZWU4MDIxMV92aWYgKnZpZixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tdm0uaC0xOTY4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbXZtLmg6MTk2OTojaWYgSVNfRU5BQkxFRChDT05GSUdfSVdMV0lGSV9LVU5JVF9URVNUUylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL212bS5oLTE5NzAtZXh0ZXJuIGNvbnN0IHN0cnVjdCBpd2xfaGNtZF9hcnIgaXdsX212bV9ncm91cHNbXTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9vcHMuYz03MzY9RVhQT1JUX1NZTUJPTF9JRl9JV0xXSUZJX0tVTklUKGl3bF9tdm1fZ3JvdXBzKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL29wcy5jOjczNzojaWYgSVNfRU5BQkxFRChDT05GSUdfSVdMV0lGSV9LVU5JVF9URVNUUylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL29wcy5jLTczOC1jb25zdCB1bnNpZ25lZCBpbnQgaXdsX212bV9ncm91cHNfc2l6ZSA9IEFSUkFZX1NJWkUoaXdsX212bV9ncm91cHMpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL3Rlc3RzL01ha2VmaWxlPTE9aXdsbXZtLXRlc3RzLXkgJiM0Mzs9IG1vZHVsZS5vIGhjbWQub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vdGVzdHMvTWFrZWZpbGUtMi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL3Rlc3RzL01ha2VmaWxlOjM6b2JqLSQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpICYjNDM7PSBpd2xtdm0tdGVzdHMub1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvcGNpZS9kcnYuYz0xMDkyPUVYUE9SVF9TWU1CT0xfSUZfSVdMV0lGSV9LVU5JVChpd2xfZGV2X2luZm9fdGFibGUpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9wY2llL2Rydi5jLTEwOTMtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmM6MTA5NDojaWYgSVNfRU5BQkxFRChDT05GSUdfSVdMV0lGSV9LVU5JVF9URVNUUylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvcGNpZS9kcnYuYy0xMDk1LWNvbnN0IHVuc2lnbmVkIGludCBpd2xfZGV2X2luZm9fdGFibGVfc2l6ZSA9IEFSUkFZX1NJWkUoaXdsX2Rldl9pbmZvX3RhYmxlKTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3Rlc3RzL01ha2VmaWxlPTU9Y2NmbGFncy15ICYjNDM7PSAtSSQoc3JjKS8uLi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvdGVzdHMvTWFrZWZpbGUtNi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvdGVzdHMvTWFrZWZpbGU6NzpvYmotJChDT05GSUdfSVdMV0lGSV9LVU5JVF9URVNUUykgJiM0Mzs9IGl3bHdpZmktdGVzdHMub1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzMxIDE4OjQwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIzMTU1CgkJCQkJCQlvdXRwdXQ6IDM5CgkJCQkJCQl0aG91Z2h0czogNDE5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgdGhlIGBpd2x3aWZpYCBEcml2ZXImIzM5O3MgRnV6emluZyBQb3RlbnRpYWwqKgoKT2theSwgbGV0JiMzOTtzIGJyZWFrIHRoaXMgZG93bi4gRmlyc3QsIEkgbmVlZCB0byB1bmRlcnN0YW5kIHdoYXQgYGl3bHdpZmlgIGlzLiBSaWdodCwgaXQmIzM5O3MgdGhlIEludGVsIFdpRmkgZHJpdmVyLCBzcGVjaWZpYyB0byBwaHlzaWNhbCBQQ0llIHdpcmVsZXNzIGFkYXB0ZXJzIOKAkyB0aGUgNzI2MHMsIDgyNjVzLCB0aGUgQVggc2VyaWVzLi4uIHlvdSBrbm93LCB0aGUgdXN1YWwgc3VzcGVjdHMuIE5vdywgdGhlIGtleSBxdWVzdGlvbiBmb3IgZnV6emluZyBpczogY2FuIEkgZXZlbiAqdXNlKiBvciBpbnN0YW50aWF0ZSB0aGlzIGRyaXZlciB3aXRob3V0IHRoZSBwaHlzaWNhbCBJbnRlbCBXaUZpIFBDSWUgaGFyZHdhcmUsIHNwZWNpZmljYWxseSBpbiBhIHZpcnR1YWwgZW52aXJvbm1lbnQgbGlrZSBRRU1VIG9yIEdDRT8KCkxldCYjMzk7cyByZWZlciB0byB0aG9zZSBydWxlcyBvZiBmdXp6aW5nIGFuZCBmaWd1cmUgdGhpcyBvdXQuIEkgcmVtZW1iZXIgdGhvc2Ugc3BlY2lmaWMgY29uZGl0aW9ucyB0aGF0IGRpc3F1YWxpZnkgYSBwYXRjaCBmcm9tIGJlaW5nIHdvcnRoIGZ1enppbmc6IHVucmVhY2hhYmxlIGNvZGUgcGF0aHMgaW4gdmlydHVhbCBlbnZpcm9ubWVudHMsIHZlbmRvci1zcGVjaWZpYyBzdHVmZiB0aWVkIHRvIHBoeXNpY2FsIGhhcmR3YXJlIHRoYXQgaXNuJiMzOTt0IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUsIG9yIHRlYXJkb3duIGNhbGxiYWNrcyB0aGF0IG9ubHkgdHJpZ2dlciBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3IgZHJpdmVyIHVuYmluZGluZy4KClJpZ2h0LCBzbyBjYW4gUUVNVSBlbXVsYXRlIHRoZXNlIEludGVsIGBpd2x3aWZpYCBQQ0kgZGV2aWNlcz8gQSBxdWljayBjaGVjayByZXZlYWxzIHRoYXQgc3RhbmRhcmQgUUVNVSBkb2VzbiYjMzk7dCBkaXJlY3RseSBlbXVsYXRlIHRob3NlLiBJdCBmb2N1c2VzIG9uIHRoZSBtb3JlIGNvbW1vbiBuZXR3b3JrIGFkYXB0ZXJzIGxpa2UgZTEwMDAsIHJ0bDgxMzksIHZpcnRpby1uZXQsIGFuZCBzbyBvbi4KCkhtbSwgbWFjODAyMTFfaHdzaW3igKYgVGhhdCYjMzk7cyBhIHNlcGFyYXRlIHZpcnR1YWwgbWFjODAyMTEgZHJpdmVyLiBJdCYjMzk7cyBzZXBhcmF0ZSBmcm9tIGBpd2x3aWZpYCBhbmQgYGl3bG12bWAuIE9rYXksIHNvIG1hYzgwMjExX2h3c2ltIGlzICpub3QqIGFuIGF2ZW51ZSB0byBleHBsb3JlIGZvciBmdXp6aW5nIGBpd2x3aWZpYC4KCkxldCBtZSB2ZXJpZnkgaWYgSSYjMzk7bSBtaXNzaW5nIHNvbWV0aGluZywgdGhvdWdoLiBQZXJoYXBzIHRoZXJlIGlzIGEgdmlydHVhbCBidXMgb3IgZHVtbXkgZGV2aWNlIHRoYXQgaXMgcGFydCBvZiB0aGUgaXdsd2lmaSBwYWNrYWdlIEkmIzM5O20gbWlzc2luZy4gVGltZSB0byBleHBsb3JlIGBkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2AuLi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMTg6NDA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7cGxhdGZvcm1fZHJpdmVyfHBjaV9kcml2ZXImIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvcGNpZS9kcnYuYz0xMzMwPXN0YXRpYyB2b2lkIGl3bF9wY2lfZHVtcChzdHJ1Y3QgZGV2aWNlICpkZXZpY2UpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9wY2llL2Rydi5jLTEzMzctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmM6MTMzODpzdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgaXdsX3BjaV9kcml2ZXIgPSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmMtMTMzOS1cdC5uYW1lID0gRFJWX05BTUUsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9wY2llL2Rydi5jPTEzNDc9aW50IF9fbXVzdF9jaGVjayBpd2xfcGNpX3JlZ2lzdGVyX2RyaXZlcih2b2lkKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvcGNpZS9kcnYuYy0xMzQ5LVx0aW50IHJldDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvcGNpZS9kcnYuYzoxMzUwOlx0cmV0ID0gcGNpX3JlZ2lzdGVyX2RyaXZlcihcdTAwMjZpd2xfcGNpX2RyaXZlcik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmMtMTM1MS1cdGlmIChyZXQpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9wY2llL2Rydi5jPTEzNTc9dm9pZCBpd2xfcGNpX3VucmVnaXN0ZXJfZHJpdmVyKHZvaWQpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmMtMTM1OC17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmM6MTM1OTpcdHBjaV91bnJlZ2lzdGVyX2RyaXZlcihcdTAwMjZpd2xfcGNpX2RyaXZlcik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmMtMTM2MC19XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzMxIDE4OjQwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI0NDM4CgkJCQkJCQlvdXRwdXQ6IDQ3CgkJCQkJCQl0aG91Z2h0czogMTMzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFuYWx5c2lzIG9mIHRoZSBpd2x3aWZpIERyaXZlciYjMzk7cyBJbnRlcmFjdGlvbioqCgpPa2F5LCBzbyB0aGUgYGl3bHdpZmlgIGRyaXZlciwgZnJvbSB3aGF0IEkmIzM5O20gc2VlaW5nLCBwcmltYXJpbHkgaG9va3MgaW50byB0aGUgc3lzdGVtIHRocm91Z2ggdGhlIGBpd2xfcGNpX2RyaXZlcmAgbW9kdWxlLiBUaGlzIGlzIHRoZSBlbnRyeSBwb2ludCwgdGhlIHRoaW5nIHRoYXQgYXR0YWNoZXMgZGlyZWN0bHkgdG8gdGhlIHBoeXNpY2FsIFBDSWUgSW50ZWwgV2lGaSBoYXJkd2FyZS4gTWFrZXMgc2Vuc2UsIHRoYXQmIzM5O3MgdGhlIGZvdW5kYXRpb24uCgpOb3csIGRpZ2dpbmcgZGVlcGVyLCBJIHNlZSB0aGF0IGEgZnVuY3Rpb24gY2FsbGVkIGBpd2xfbXZtX3VwZGF0ZV9tY2NgIGlzIGNlbnRyYWwgdG8gbWFuYWdpbmcsIG9yIHVwZGF0aW5nIHRoZSBkZXZpY2UmIzM5O3MgY2FwYWJpbGl0aWVzLCBzcGVjaWZpY2FsbHkgYnkgdXNpbmcgdGhlIGBNQ0NfVVBEQVRFX0NNRGAuIFRoaXMgY29tbWFuZCBpcyB0aGVuIHNlbnQgZGlyZWN0bHkgdG8gdGhlIGZpcm13YXJlIHRoYXQmIzM5O3MgKnJ1bm5pbmcqIG9uIHRoZSBJbnRlbCBXaUZpIGhhcmR3YXJlIGl0c2VsZiwgdXNpbmcgYGl3bF9tdm1fc2VuZF9jbWRfcGRldihtdm0sICZhbXA7Y21kKWAuIFRoYXQmIzM5O3Mgd2hlcmUgdGhlIHJlYWwgaW50ZWxsaWdlbmNlIHNlZW1zIHRvIHJlc2lkZSwgaW4gdGhlIGZpcm13YXJlLiBBbmQsIGl0JiMzOTtzIG5vdCBhIG9uZS13YXkgc3RyZWV0LCB0aGUgZHJpdmVyIGFjdHVhbGx5IGNhcmVzIGFib3V0IHRoZSBkZXZpY2UmIzM5O3MgcmVzcG9uc2UgYWZ0ZXIgc2VuZGluZyB0aGlzIGNvbW1hbmQsIHNvIGl0IG11c3QgcGFyc2UgdGhlIHJlc3VsdCBmcm9tIHRoZSBmaXJtd2FyZS4KCkdpdmVuIHRoaXMsIEkmIzM5O20gZ29pbmcgdG8gc3RhcnQgcmVhZGluZyB0aGUgY29kZSBmb3IgYGl3bF9tdm1fdXBkYXRlX21jY2AgZnVuY3Rpb24uIEFjY29yZGluZyB0byB0aGUgdGV4dCwgdGhlIHNvdXJjZSBmaWxlIGlzIGxvY2F0ZWQgaW4gYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jYC4gVGhpcyB3aWxsIGdpdmUgbWUgdGhlIGxvd2Rvd24gb24gdGhlIHNwZWNpZmljIHVwZGF0ZSBmbG93LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEyLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8zMSAxODo0MDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnJlYWQtZmlsZTwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RmlsZSYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogNDEwLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDgwCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtDb250ZW50cyYjMzQ7OiAmIzM0OyA0MTA6XHRcdHN0cnVjdCBpd2xfaG9zdF9jbWQgY21kID0ge1xuIDQxMTpcdFx0XHQuaWQgPSBNQ0NfVVBEQVRFX0NNRCxcbiA0MTI6XHRcdFx0LmZsYWdzID0gQ01EX1dBTlRfU0tCIHwgQ01EX1NFTkRfSU5fUkZLSUxMLFxuIDQxMzpcdFx0XHQuZGF0YSA9IHsgXHUwMDI2bWNjX3VwZGF0ZV9jbWQgfSxcbiA0MTQ6XHRcdH07XG4gNDE1Olx0XG4gNDE2Olx0XHRpbnQgcmV0LCByZXNwX3ZlcjtcbiA0MTc6XHRcdHUzMiBzdGF0dXM7XG4gNDE4Olx0XHRpbnQgcmVzcF9sZW4sIG5fY2hhbm5lbHM7XG4gNDE5Olx0XHR1bnNpZ25lZCBpbnQgcGt0X2xlbjtcbiA0MjA6XHRcdHUxNiBtY2M7XG4gNDIxOlx0XG4gNDIyOlx0XHRpZiAoV0FSTl9PTl9PTkNFKCFpd2xfbXZtX2lzX2xhcl9zdXBwb3J0ZWQobXZtKSkpXG4gNDIzOlx0XHRcdHJldHVybiBFUlJfUFRSKC1FT1BOT1RTVVBQKTtcbiA0MjQ6XHRcbiA0MjU6XHRcdGNtZC5sZW5bMF0gPSBzaXplb2Yoc3RydWN0IGl3bF9tY2NfdXBkYXRlX2NtZCk7XG4gNDI2Olx0XG4gNDI3Olx0XHRJV0xfREVCVUdfTEFSKG12bSwgXCYjMzQ7c2VuZCBNQ0MgdXBkYXRlIHRvIEZXIHdpdGggJiMzOTslYyVjJiMzOTsgc3JjID0gJWRcXG5cJiMzNDssXG4gNDI4Olx0XHRcdCAgICAgIGFscGhhMlswXSwgYWxwaGEyWzFdLCBzcmNfaWQpO1xuIDQyOTpcdFxuIDQzMDpcdFx0cmV0ID0gaXdsX212bV9zZW5kX2NtZChtdm0sIFx1MDAyNmNtZCk7XG4gNDMxOlx0XHRpZiAocmV0KVxuIDQzMjpcdFx0XHRyZXR1cm4gRVJSX1BUUihyZXQpO1xuIDQzMzpcdFxuIDQzNDpcdFx0cGt0ID0gY21kLnJlc3BfcGt0O1xuIDQzNTpcdFx0cGt0X2xlbiA9IGl3bF9yeF9wYWNrZXRfcGF5bG9hZF9sZW4ocGt0KTtcbiA0MzY6XHRcbiA0Mzc6XHRcdHJlc3BfdmVyID0gaXdsX2Z3X2xvb2t1cF9ub3RpZl92ZXIobXZtLVx1MDAzZWZ3LCBJV0xfQUxXQVlTX0xPTkdfR1JPVVAsXG4gNDM4Olx0XHRcdFx0XHRcdCAgIE1DQ19VUERBVEVfQ01ELCAwKTtcbiA0Mzk6XHRcbiA0NDA6XHRcdC8qIEV4dHJhY3QgTUNDIHJlc3BvbnNlICovXG4gNDQxOlx0XHRpZiAocmVzcF92ZXIgXHUwMDNlPSA4KSB7XG4gNDQyOlx0XHRcdHN0cnVjdCBpd2xfbWNjX3VwZGF0ZV9yZXNwX3Y4ICptY2NfcmVzcF92OCA9ICh2b2lkICopcGt0LVx1MDAzZWRhdGE7XG4gNDQzOlx0XG4gNDQ0Olx0XHRcdGlmIChJV0xfRldfQ0hFQ0sobXZtLCBwa3RfbGVuIFx1MDAzYyBzaXplb2YoKm1jY19yZXNwX3Y4KSxcbiA0NDU6XHRcdFx0XHRcdCBcJiMzNDtNQ0MgdjggcmVzcG9uc2UgdG9vIHNob3J0OiAldVxcblwmIzM0OywgcGt0X2xlbikpIHtcbiA0NDY6XHRcdFx0XHRyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTtcbiA0NDc6XHRcdFx0XHRnb3RvIGV4aXQ7XG4gNDQ4Olx0XHRcdH1cbiA0NDk6XHRcbiA0NTA6XHRcdFx0bl9jaGFubmVscyA9ICBfX2xlMzJfdG9fY3B1KG1jY19yZXNwX3Y4LVx1MDAzZW5fY2hhbm5lbHMpO1xuIDQ1MTpcdFx0XHRpZiAoSVdMX0ZXX0NIRUNLKG12bSxcbiA0NTI6XHRcdFx0XHRcdCBwa3RfbGVuICE9XG4gNDUzOlx0XHRcdFx0XHQgc3RydWN0X3NpemUobWNjX3Jlc3BfdjgsIGNoYW5uZWxzLCBuX2NoYW5uZWxzKSxcbiA0NTQ6XHRcdFx0XHRcdCBcJiMzNDtpbnZhbGlkIE1DQyB2OCByZXNwb25zZSBzaXplOiAldSAobl9jaGFubmVscz0lZClcXG5cJiMzNDssXG4gNDU1Olx0XHRcdFx0XHQgcGt0X2xlbiwgbl9jaGFubmVscykpIHtcbiA0NTY6XHRcdFx0XHRyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTtcbiA0NTc6XHRcdFx0XHRnb3RvIGV4aXQ7XG4gNDU4Olx0XHRcdH1cbiA0NTk6XHRcdFx0cmVzcF9sZW4gPSBzdHJ1Y3Rfc2l6ZShyZXNwX2NwLCBjaGFubmVscywgbl9jaGFubmVscyk7XG4gNDYwOlx0XHRcdHJlc3BfY3AgPSBremFsbG9jKHJlc3BfbGVuLCBHRlBfS0VSTkVMKTtcbiA0NjE6XHRcdFx0aWYgKCFyZXNwX2NwKSB7XG4gNDYyOlx0XHRcdFx0cmVzcF9jcCA9IEVSUl9QVFIoLUVOT01FTSk7XG4gNDYzOlx0XHRcdFx0Z290byBleGl0O1xuIDQ2NDpcdFx0XHR9XG4gNDY1Olx0XHRcdHJlc3BfY3AtXHUwMDNlc3RhdHVzID0gbWNjX3Jlc3BfdjgtXHUwMDNlc3RhdHVzO1xuIDQ2NjpcdFx0XHRyZXNwX2NwLVx1MDAzZW1jYyA9IG1jY19yZXNwX3Y4LVx1MDAzZW1jYztcbiA0Njc6XHRcdFx0cmVzcF9jcC1cdTAwM2VjYXAgPSBtY2NfcmVzcF92OC1cdTAwM2VjYXA7XG4gNDY4Olx0XHRcdHJlc3BfY3AtXHUwMDNlc291cmNlX2lkID0gbWNjX3Jlc3BfdjgtXHUwMDNlc291cmNlX2lkO1xuIDQ2OTpcdFx0XHRyZXNwX2NwLVx1MDAzZXRpbWUgPSBtY2NfcmVzcF92OC1cdTAwM2V0aW1lO1xuIDQ3MDpcdFx0XHRyZXNwX2NwLVx1MDAzZWdlb19pbmZvID0gbWNjX3Jlc3BfdjgtXHUwMDNlZ2VvX2luZm87XG4gNDcxOlx0XHRcdHJlc3BfY3AtXHUwMDNlbl9jaGFubmVscyA9IG1jY19yZXNwX3Y4LVx1MDAzZW5fY2hhbm5lbHM7XG4gNDcyOlx0XHRcdG1lbWNweShyZXNwX2NwLVx1MDAzZWNoYW5uZWxzLCBtY2NfcmVzcF92OC1cdTAwM2VjaGFubmVscyxcbiA0NzM6XHRcdFx0ICAgICAgIG5fY2hhbm5lbHMgKiBzaXplb2YoX19sZTMyKSk7XG4gNDc0Olx0XHR9IGVsc2UgaWYgKGZ3X2hhc19jYXBhKFx1MDAyNm12bS1cdTAwM2Vmdy1cdTAwM2V1Y29kZV9jYXBhLFxuIDQ3NTpcdFx0XHRcdCAgICAgICBJV0xfVUNPREVfVExWX0NBUEFfTUNDX1VQREFURV8xMUFYX1NVUFBPUlQpKSB7XG4gNDc2Olx0XHRcdHN0cnVjdCBpd2xfbWNjX3VwZGF0ZV9yZXNwX3Y0ICptY2NfcmVzcF92NCA9ICh2b2lkICopcGt0LVx1MDAzZWRhdGE7XG4gNDc3Olx0XG4gNDc4Olx0XHRcdGlmIChJV0xfRldfQ0hFQ0sobXZtLCBwa3RfbGVuIFx1MDAzYyBzaXplb2YoKm1jY19yZXNwX3Y0KSxcbiA0Nzk6XHRcdFx0XHRcdCBcJiMzNDtNQ0MgdjQgcmVzcG9uc2UgdG9vIHNob3J0OiAldVxcblwmIzM0OywgcGt0X2xlbikpIHtcbiA0ODA6XHRcdFx0XHRyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTtcbiA0ODE6XHRcdFx0XHRnb3RvIGV4aXQ7XG4gNDgyOlx0XHRcdH1cbiA0ODM6XHRcbiA0ODQ6XHRcdFx0bl9jaGFubmVscyA9ICBfX2xlMzJfdG9fY3B1KG1jY19yZXNwX3Y0LVx1MDAzZW5fY2hhbm5lbHMpO1xuIDQ4NTpcdFx0XHRpZiAoSVdMX0ZXX0NIRUNLKG12bSxcbiA0ODY6XHRcdFx0XHRcdCBwa3RfbGVuICE9XG4gNDg3Olx0XHRcdFx0XHQgc3RydWN0X3NpemUobWNjX3Jlc3BfdjQsIGNoYW5uZWxzLCBuX2NoYW5uZWxzKSxcbiA0ODg6XHRcdFx0XHRcdCBcJiMzNDtpbnZhbGlkIE1DQyB2NCByZXNwb25zZSBzaXplOiAldSAobl9jaGFubmVscz0lZClcXG5cJiMzNDssXG4gNDg5Olx0XHRcdFx0XHQgcGt0X2xlbiwgbl9jaGFubmVscykpIHtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMy8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMTg6NDA8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjYzOTQKCQkJCQkJCW91dHB1dDogOTMKCQkJCQkJCXRob3VnaHRzOiAzMjEKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTXkgQXNzZXNzbWVudCBvZiB0aGUgRnV6emluZyBTdWl0YWJpbGl0eSoqCgpPa2F5LCBzbyB0aGlzIGNvZGUgcmVzaWRlcyB3aXRoaW4gYGl3bHdpZmlgLCBzcGVjaWZpY2FsbHkgdGhlIEludGVsIE1WTSB3aXJlbGVzcyBkcml2ZXIgKGBJV0xNVk1gKS4gVGhpcyBpcyBhIHZlbmRvci1zcGVjaWZpYyBQQ0kgZHJpdmVyIGRlc2lnbmVkIGZvciBJbnRlbCBXaUZpIGhhcmR3YXJlIGNhcmRzLiBDcnVjaWFsbHksIHRoaXMgaGFyZHdhcmUgaXMgKnBoeXNpY2FsKiBQQ0llIGhhcmR3YXJlLCBub3Qgc29tZXRoaW5nIGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgR0NFIHZpcnR1YWwgbWFjaGluZXMuIFRoYXQgcHV0cyBpdCBkaXJlY3RseSBpbnRvIHRoZSBjYXRlZ29yeSBvZiAmIzM0O2NvZGUgcGF0aHMgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMsJiMzNDsgZXZlbiB3aXRoIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIGxpa2UgYHVzYiBnYWRnZXRgIG9yIGBtYWM4MDIxMV9od3NpbWAuIEFsc28sIHRoaXMgaXMgYSBQQ0llIGRyaXZlciwgcGxhY2luZyBpdCBpbiB0aGUgY2F0ZWdvcnkgb2YsICYjMzQ7Q29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycy4mIzM0OwoKR2l2ZW4gdGhlc2UgZmFjdHMsIGBXb3J0aEZ1enppbmdgIGhhcyB0byBiZSBgZmFsc2VgLiBJdCYjMzk7cyBzaW1wbHkgbm90IGZlYXNpYmxlIHRvIHRlc3QgdGhpcyBjb2RlIGRpcmVjdGx5IGluIGEgc3RhbmRhcmQgZnV6emluZyBzZXR1cC4KCkJlZm9yZSBJIGNvbW1pdCB0byBzZXR0aW5nIHRoZSByZXN1bHRzLCBJJiMzOTttIGdvaW5nIHRvIHF1aWNrbHkgcmV2aWV3IGV2ZXJ5dGhpbmcuIExldCBtZSBzZWUuLi4KCiogICBgV29ydGhGdXp6aW5nYDogRGVmaW5pdGVseSBgZmFsc2VgLgoqICAgYEZvY3VzU3ltYm9sc2A6IEVtcHR5OyB0aGF0JiMzOTtzIHJpZ2h0LCBub3RoaW5nIHRvIGZvY3VzIG9uLgoqICAgYEVuYWJsZUNvbmZpZ3NgOiBFbXB0eTsgbWFrZXMgc2Vuc2UsIG5vIHNwZWNpYWwgY29uZmlndXJhdGlvbnMgYXJlIG5lZWRlZC4KKiAgIGBSZWFzb25pbmdgOiBDb25jaXNlIGFuZCBhY2N1cmF0ZS4gVGhlIHJlYXNvbmluZyBmb3IgYFdvcnRoRnV6emluZzogZmFsc2VgIGlzLCAmIzM0O1RoZSBtb2RpZmllZCBjb2RlIGlzIGluIHRoZSBJbnRlbCBpd2x3aWZpIGRyaXZlciAoc3BlY2lmaWNhbGx5IGl3bG12bSksIHdoaWNoIHJlcXVpcmVzIHBoeXNpY2FsIEludGVsIFBDSWUgd2lyZWxlc3MgaGFyZHdhcmUgdGhhdCBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UuJiMzNDsKCkFscmlnaHQsIHBhcmFtZXRlcnMgdmVyaWZpZWQuIExldCYjMzk7cyBjb25maXJtIGFnYWluOgoKKiAgIGBXb3J0aEZ1enppbmdgOiBmYWxzZQoqICAgYEZvY3VzU3ltYm9sc2A6IFtdCiogICBgRW5hYmxlQ29uZmlnc2A6IFtdCiogICBgUmVhc29uaW5nYDogJiMzNDtUaGUgbW9kaWZpZWQgY29kZSBpcyBpbiB0aGUgSW50ZWwgaXdsd2lmaSBkcml2ZXIgKHNwZWNpZmljYWxseSBpd2xtdm0pLCB3aGljaCByZXF1aXJlcyBwaHlzaWNhbCBJbnRlbCBQQ0llIHdpcmVsZXNzIGhhcmR3YXJlIHRoYXQgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVUgb3IgR0NFLiYjMzQ7CgpPa2F5LCBJJiMzOTttIGNvbmZpZGVudCBpbiB0aGVzZSBwYXJhbWV0ZXJzLiBJJiMzOTtsbCBleGVjdXRlIGBzZXQtcmVzdWx0c2Agbm93LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE0LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8zMSAxODo0MTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFtdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIE1DQyByZXNwb25zZSBwYWNrZXQgc2l6ZSB2YWxpZGF0aW9uIGluIHRoZSBJbnRlbCBpd2x3aWZpIHdpcmVsZXNzIGRyaXZlciAoaXdsbXZtKS4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgcGh5c2ljYWwgSW50ZWwgUENJZSB3aXJlbGVzcyBuZXR3b3JrIGFkYXB0ZXJzIGFuZCBwcm9wcmlldGFyeSBmaXJtd2FyZSwgd2hpY2ggYXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBRRU1VL0dDRS4gVGhlcmVmb3JlLCB0aGlzIGNvZGUgaXMgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyBNQ0MgcmVzcG9uc2UgcGFja2V0IHNpemUgdmFsaWRhdGlvbiBpbiB0aGUgSW50ZWwgaXdsd2lmaSB3aXJlbGVzcyBkcml2ZXIgKGl3bG12bSkuIFRoaXMgZHJpdmVyIHJlcXVpcmVzIHBoeXNpY2FsIEludGVsIFBDSWUgd2lyZWxlc3MgbmV0d29yayBhZGFwdGVycyBhbmQgcHJvcHJpZXRhcnkgZmlybXdhcmUsIHdoaWNoIGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVS9HQ0UuIFRoZXJlZm9yZSwgdGhpcyBjb2RlIGlzIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNS8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMTg6NDE8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPklmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDE4OjM5OjA0LjQ3NDIwNDA4N1oiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjExNjgxODE5NzY3MSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJLTVNBTlJlYXNvbmluZ1wiOiBcIlwiLFxuICBcIk5lZWRzS01TQU5cIjogZmFsc2UsXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIE1DQyByZXNwb25zZSBwYWNrZXQgc2l6ZSB2YWxpZGF0aW9uIGluIHRoZSBJbnRlbCBpd2x3aWZpIHdpcmVsZXNzIGRyaXZlciAoaXdsbXZtKS4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgcGh5c2ljYWwgSW50ZWwgUENJZSB3aXJlbGVzcyBuZXR3b3JrIGFkYXB0ZXJzIGFuZCBwcm9wcmlldGFyeSBmaXJtd2FyZSwgd2hpY2ggYXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBRRU1VL0dDRS4gVGhlcmVmb3JlLCB0aGlzIGNvZGUgaXMgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0zMVQxODozOTowNC40NzQyMDk4ODdaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjY3NTYwNTI1MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IGNlZmZkZGYwOWFhZDc4ZTJiNGE5NzVlMGM5ZTU3NTE2MWIyODA3NmNcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIE1vbiBBdWcgMzEgMTg6Mzk6MDMgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbnZtLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9udm0uY1xcbmluZGV4IDk1MzIxOGYxZTAyNWEuLmY3NmU1NzM5OWMxZjMgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbnZtLmNcXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9udm0uY1xcbkBAIC0xLDYgKzEsNiBAQFxcbiAvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCBPUiBCU0QtMy1DbGF1c2VcXG4gLypcXG4tICogQ29weXJpZ2h0IChDKSAyMDEyLTIwMTQsIDIwMTgtMjAxOSwgMjAyMS0yMDI1IEludGVsIENvcnBvcmF0aW9uXFxuKyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE0LCAyMDE4LTIwMTksIDIwMjEtMjAyNiBJbnRlbCBDb3Jwb3JhdGlvblxcbiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNSBJbnRlbCBNb2JpbGUgQ29tbXVuaWNhdGlvbnMgR21iSFxcbiAgKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAxNyBJbnRlbCBEZXV0c2NobGFuZCBHbWJIXFxuICAqL1xcbkBAIC00MTYsNiArNDE2LDcgQEAgaXdsX212bV91cGRhdGVfbWNjKHN0cnVjdCBpd2xfbXZtICptdm0sIGNvbnN0IGNoYXIgKmFscGhhMixcXG4gXFx0aW50IHJldCwgcmVzcF92ZXI7XFxuIFxcdHUzMiBzdGF0dXM7XFxuIFxcdGludCByZXNwX2xlbiwgbl9jaGFubmVscztcXG4rXFx0dW5zaWduZWQgaW50IHBrdF9sZW47XFxuIFxcdHUxNiBtY2M7XFxuIFxcbiBcXHRpZiAoV0FSTl9PTl9PTkNFKCFpd2xfbXZtX2lzX2xhcl9zdXBwb3J0ZWQobXZtKSkpXFxuQEAgLTQzMSw2ICs0MzIsNyBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLFxcbiBcXHRcXHRyZXR1cm4gRVJSX1BUUihyZXQpO1xcbiBcXG4gXFx0cGt0ID0gY21kLnJlc3BfcGt0O1xcbitcXHRwa3RfbGVuID0gaXdsX3J4X3BhY2tldF9wYXlsb2FkX2xlbihwa3QpO1xcbiBcXG4gXFx0cmVzcF92ZXIgPSBpd2xfZndfbG9va3VwX25vdGlmX3Zlcihtdm0tXFx1MDAzZWZ3LCBJV0xfQUxXQVlTX0xPTkdfR1JPVVAsXFxuIFxcdFxcdFxcdFxcdFxcdCAgIE1DQ19VUERBVEVfQ01ELCAwKTtcXG5AQCAtNDM5LDkgKzQ0MSwxOCBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLFxcbiBcXHRpZiAocmVzcF92ZXIgXFx1MDAzZT0gOCkge1xcbiBcXHRcXHRzdHJ1Y3QgaXdsX21jY191cGRhdGVfcmVzcF92OCAqbWNjX3Jlc3BfdjggPSAodm9pZCAqKXBrdC1cXHUwMDNlZGF0YTtcXG4gXFxuK1xcdFxcdGlmIChJV0xfRldfQ0hFQ0sobXZtLCBwa3RfbGVuIFxcdTAwM2Mgc2l6ZW9mKCptY2NfcmVzcF92OCksXFxuK1xcdFxcdFxcdFxcdCBcXFwiTUNDIHY4IHJlc3BvbnNlIHRvbyBzaG9ydDogJXVcXFxcblxcXCIsIHBrdF9sZW4pKSB7XFxuK1xcdFxcdFxcdHJlc3BfY3AgPSBFUlJfUFRSKC1FSU5WQUwpO1xcbitcXHRcXHRcXHRnb3RvIGV4aXQ7XFxuK1xcdFxcdH1cXG4rXFxuIFxcdFxcdG5fY2hhbm5lbHMgPSAgX19sZTMyX3RvX2NwdShtY2NfcmVzcF92OC1cXHUwMDNlbl9jaGFubmVscyk7XFxuLVxcdFxcdGlmIChpd2xfcnhfcGFja2V0X3BheWxvYWRfbGVuKHBrdCkgIT1cXG4tXFx0XFx0ICAgIHN0cnVjdF9zaXplKG1jY19yZXNwX3Y4LCBjaGFubmVscywgbl9jaGFubmVscykpIHtcXG4rXFx0XFx0aWYgKElXTF9GV19DSEVDSyhtdm0sXFxuK1xcdFxcdFxcdFxcdCBwa3RfbGVuICE9XFxuK1xcdFxcdFxcdFxcdCBzdHJ1Y3Rfc2l6ZShtY2NfcmVzcF92OCwgY2hhbm5lbHMsIG5fY2hhbm5lbHMpLFxcbitcXHRcXHRcXHRcXHQgXFxcImludmFsaWQgTUNDIHY4IHJlc3BvbnNlIHNpemU6ICV1IChuX2NoYW5uZWxzPSVkKVxcXFxuXFxcIixcXG4rXFx0XFx0XFx0XFx0IHBrdF9sZW4sIG5fY2hhbm5lbHMpKSB7XFxuIFxcdFxcdFxcdHJlc3BfY3AgPSBFUlJfUFRSKC1FSU5WQUwpO1xcbiBcXHRcXHRcXHRnb3RvIGV4aXQ7XFxuIFxcdFxcdH1cXG5AQCAtNDY0LDkgKzQ3NSwxOCBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLFxcbiBcXHRcXHRcXHQgICAgICAgSVdMX1VDT0RFX1RMVl9DQVBBX01DQ19VUERBVEVfMTFBWF9TVVBQT1JUKSkge1xcbiBcXHRcXHRzdHJ1Y3QgaXdsX21jY191cGRhdGVfcmVzcF92NCAqbWNjX3Jlc3BfdjQgPSAodm9pZCAqKXBrdC1cXHUwMDNlZGF0YTtcXG4gXFxuK1xcdFxcdGlmIChJV0xfRldfQ0hFQ0sobXZtLCBwa3RfbGVuIFxcdTAwM2Mgc2l6ZW9mKCptY2NfcmVzcF92NCksXFxuK1xcdFxcdFxcdFxcdCBcXFwiTUNDIHY0IHJlc3BvbnNlIHRvbyBzaG9ydDogJXVcXFxcblxcXCIsIHBrdF9sZW4pKSB7XFxuK1xcdFxcdFxcdHJlc3BfY3AgPSBFUlJfUFRSKC1FSU5WQUwpO1xcbitcXHRcXHRcXHRnb3RvIGV4aXQ7XFxuK1xcdFxcdH1cXG4rXFxuIFxcdFxcdG5fY2hhbm5lbHMgPSAgX19sZTMyX3RvX2NwdShtY2NfcmVzcF92NC1cXHUwMDNlbl9jaGFubmVscyk7XFxuLVxcdFxcdGlmIChpd2xfcnhfcGFja2V0X3BheWxvYWRfbGVuKHBrdCkgIT1cXG4tXFx0XFx0ICAgIHN0cnVjdF9zaXplKG1jY19yZXNwX3Y0LCBjaGFubmVscywgbl9jaGFubmVscykpIHtcXG4rXFx0XFx0aWYgKElXTF9GV19DSEVDSyhtdm0sXFxuK1xcdFxcdFxcdFxcdCBwa3RfbGVuICE9XFxuK1xcdFxcdFxcdFxcdCBzdHJ1Y3Rfc2l6ZShtY2NfcmVzcF92NCwgY2hhbm5lbHMsIG5fY2hhbm5lbHMpLFxcbitcXHRcXHRcXHRcXHQgXFxcImludmFsaWQgTUNDIHY0IHJlc3BvbnNlIHNpemU6ICV1IChuX2NoYW5uZWxzPSVkKVxcXFxuXFxcIixcXG4rXFx0XFx0XFx0XFx0IHBrdF9sZW4sIG5fY2hhbm5lbHMpKSB7XFxuIFxcdFxcdFxcdHJlc3BfY3AgPSBFUlJfUFRSKC1FSU5WQUwpO1xcbiBcXHRcXHRcXHRnb3RvIGV4aXQ7XFxuIFxcdFxcdH1cXG5AQCAtNDg5LDkgKzUwOSwxOCBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLFxcbiBcXHR9IGVsc2Uge1xcbiBcXHRcXHRzdHJ1Y3QgaXdsX21jY191cGRhdGVfcmVzcF92MyAqbWNjX3Jlc3BfdjMgPSAodm9pZCAqKXBrdC1cXHUwMDNlZGF0YTtcXG4gXFxuK1xcdFxcdGlmIChJV0xfRldfQ0hFQ0sobXZtLCBwa3RfbGVuIFxcdTAwM2Mgc2l6ZW9mKCptY2NfcmVzcF92MyksXFxuK1xcdFxcdFxcdFxcdCBcXFwiTUNDIHYzIHJlc3BvbnNlIHRvbyBzaG9ydDogJXVcXFxcblxcXCIsIHBrdF9sZW4pKSB7XFxuK1xcdFxcdFxcdHJlc3BfY3AgPSBFUlJfUFRSKC1FSU5WQUwpO1xcbitcXHRcXHRcXHRnb3RvIGV4aXQ7XFxuK1xcdFxcdH1cXG4rXFxuIFxcdFxcdG5fY2hhbm5lbHMgPSAgX19sZTMyX3RvX2NwdShtY2NfcmVzcF92My1cXHUwMDNlbl9jaGFubmVscyk7XFxuLVxcdFxcdGlmIChpd2xfcnhfcGFja2V0X3BheWxvYWRfbGVuKHBrdCkgIT1cXG4tXFx0XFx0ICAgIHN0cnVjdF9zaXplKG1jY19yZXNwX3YzLCBjaGFubmVscywgbl9jaGFubmVscykpIHtcXG4rXFx0XFx0aWYgKElXTF9GV19DSEVDSyhtdm0sXFxuK1xcdFxcdFxcdFxcdCBwa3RfbGVuICE9XFxuK1xcdFxcdFxcdFxcdCBzdHJ1Y3Rfc2l6ZShtY2NfcmVzcF92MywgY2hhbm5lbHMsIG5fY2hhbm5lbHMpLFxcbitcXHRcXHRcXHRcXHQgXFxcImludmFsaWQgTUNDIHYzIHJlc3BvbnNlIHNpemU6ICV1IChuX2NoYW5uZWxzPSVkKVxcXFxuXFxcIixcXG4rXFx0XFx0XFx0XFx0IHBrdF9sZW4sIG5fY2hhbm5lbHMpKSB7XFxuIFxcdFxcdFxcdHJlc3BfY3AgPSBFUlJfUFRSKC1FSU5WQUwpO1xcbiBcXHRcXHRcXHRnb3RvIGV4aXQ7XFxuIFxcdFxcdH1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMzFUMTg6Mzk6MDUuMTUwMzgyOTc2WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiY29yZSIsIkR1cmF0aW9uIjoxMTYxNDIwMDczOTIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIE1DQyByZXNwb25zZSBwYWNrZXQgc2l6ZSB2YWxpZGF0aW9uIGluIHRoZSBJbnRlbCBpd2x3aWZpIHdpcmVsZXNzIGRyaXZlciAoaXdsbXZtKS4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgcGh5c2ljYWwgSW50ZWwgUENJZSB3aXJlbGVzcyBuZXR3b3JrIGFkYXB0ZXJzIGFuZCBwcm9wcmlldGFyeSBmaXJtd2FyZSwgd2hpY2ggYXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBRRU1VL0dDRS4gVGhlcmVmb3JlLCB0aGlzIGNvZGUgaXMgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG4gIGV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cbi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsXG4gIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLlxuLSBEcml2ZXIgLnJlbW92ZSwgLnNodXRkb3duLCBvciBwY2lfdW5yZWdpc3Rlcl9kcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzIChlLmcuLCBpZ2JfcmVtb3ZlKVxuICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbiAgIFByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9uc1xuICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIEFsc28gY2hlY2sgXCJkZXBlbmRzIG9uXCIgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzXG4gICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3NcbiAgIG91dHB1dCBhcnJheSwgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCBjZWZmZGRmMDlhYWQ3OGUyYjRhOTc1ZTBjOWU1NzUxNjFiMjgwNzZjXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIE1vbiBBdWcgMzEgMTg6Mzk6MDMgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9udm0uYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jXG5pbmRleCA5NTMyMThmMWUwMjVhLi5mNzZlNTczOTljMWYzIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbnZtLmNcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jXG5AQCAtMSw2ICsxLDYgQEBcbiAvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCBPUiBCU0QtMy1DbGF1c2VcbiAvKlxuLSAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE0LCAyMDE4LTIwMTksIDIwMjEtMjAyNSBJbnRlbCBDb3Jwb3JhdGlvblxuKyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE0LCAyMDE4LTIwMTksIDIwMjEtMjAyNiBJbnRlbCBDb3Jwb3JhdGlvblxuICAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE1IEludGVsIE1vYmlsZSBDb21tdW5pY2F0aW9ucyBHbWJIXG4gICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMTcgSW50ZWwgRGV1dHNjaGxhbmQgR21iSFxuICAqL1xuQEAgLTQxNiw2ICs0MTYsNyBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLFxuIFx0aW50IHJldCwgcmVzcF92ZXI7XG4gXHR1MzIgc3RhdHVzO1xuIFx0aW50IHJlc3BfbGVuLCBuX2NoYW5uZWxzO1xuK1x0dW5zaWduZWQgaW50IHBrdF9sZW47XG4gXHR1MTYgbWNjO1xuIFxuIFx0aWYgKFdBUk5fT05fT05DRSghaXdsX212bV9pc19sYXJfc3VwcG9ydGVkKG12bSkpKVxuQEAgLTQzMSw2ICs0MzIsNyBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLFxuIFx0XHRyZXR1cm4gRVJSX1BUUihyZXQpO1xuIFxuIFx0cGt0ID0gY21kLnJlc3BfcGt0O1xuK1x0cGt0X2xlbiA9IGl3bF9yeF9wYWNrZXRfcGF5bG9hZF9sZW4ocGt0KTtcbiBcbiBcdHJlc3BfdmVyID0gaXdsX2Z3X2xvb2t1cF9ub3RpZl92ZXIobXZtLVx1MDAzZWZ3LCBJV0xfQUxXQVlTX0xPTkdfR1JPVVAsXG4gXHRcdFx0XHRcdCAgIE1DQ19VUERBVEVfQ01ELCAwKTtcbkBAIC00MzksOSArNDQxLDE4IEBAIGl3bF9tdm1fdXBkYXRlX21jYyhzdHJ1Y3QgaXdsX212bSAqbXZtLCBjb25zdCBjaGFyICphbHBoYTIsXG4gXHRpZiAocmVzcF92ZXIgXHUwMDNlPSA4KSB7XG4gXHRcdHN0cnVjdCBpd2xfbWNjX3VwZGF0ZV9yZXNwX3Y4ICptY2NfcmVzcF92OCA9ICh2b2lkICopcGt0LVx1MDAzZWRhdGE7XG4gXG4rXHRcdGlmIChJV0xfRldfQ0hFQ0sobXZtLCBwa3RfbGVuIFx1MDAzYyBzaXplb2YoKm1jY19yZXNwX3Y4KSxcbitcdFx0XHRcdCBcIk1DQyB2OCByZXNwb25zZSB0b28gc2hvcnQ6ICV1XFxuXCIsIHBrdF9sZW4pKSB7XG4rXHRcdFx0cmVzcF9jcCA9IEVSUl9QVFIoLUVJTlZBTCk7XG4rXHRcdFx0Z290byBleGl0O1xuK1x0XHR9XG4rXG4gXHRcdG5fY2hhbm5lbHMgPSAgX19sZTMyX3RvX2NwdShtY2NfcmVzcF92OC1cdTAwM2VuX2NoYW5uZWxzKTtcbi1cdFx0aWYgKGl3bF9yeF9wYWNrZXRfcGF5bG9hZF9sZW4ocGt0KSAhPVxuLVx0XHQgICAgc3RydWN0X3NpemUobWNjX3Jlc3BfdjgsIGNoYW5uZWxzLCBuX2NoYW5uZWxzKSkge1xuK1x0XHRpZiAoSVdMX0ZXX0NIRUNLKG12bSxcbitcdFx0XHRcdCBwa3RfbGVuICE9XG4rXHRcdFx0XHQgc3RydWN0X3NpemUobWNjX3Jlc3BfdjgsIGNoYW5uZWxzLCBuX2NoYW5uZWxzKSxcbitcdFx0XHRcdCBcImludmFsaWQgTUNDIHY4IHJlc3BvbnNlIHNpemU6ICV1IChuX2NoYW5uZWxzPSVkKVxcblwiLFxuK1x0XHRcdFx0IHBrdF9sZW4sIG5fY2hhbm5lbHMpKSB7XG4gXHRcdFx0cmVzcF9jcCA9IEVSUl9QVFIoLUVJTlZBTCk7XG4gXHRcdFx0Z290byBleGl0O1xuIFx0XHR9XG5AQCAtNDY0LDkgKzQ3NSwxOCBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLFxuIFx0XHRcdCAgICAgICBJV0xfVUNPREVfVExWX0NBUEFfTUNDX1VQREFURV8xMUFYX1NVUFBPUlQpKSB7XG4gXHRcdHN0cnVjdCBpd2xfbWNjX3VwZGF0ZV9yZXNwX3Y0ICptY2NfcmVzcF92NCA9ICh2b2lkICopcGt0LVx1MDAzZWRhdGE7XG4gXG4rXHRcdGlmIChJV0xfRldfQ0hFQ0sobXZtLCBwa3RfbGVuIFx1MDAzYyBzaXplb2YoKm1jY19yZXNwX3Y0KSxcbitcdFx0XHRcdCBcIk1DQyB2NCByZXNwb25zZSB0b28gc2hvcnQ6ICV1XFxuXCIsIHBrdF9sZW4pKSB7XG4rXHRcdFx0cmVzcF9jcCA9IEVSUl9QVFIoLUVJTlZBTCk7XG4rXHRcdFx0Z290byBleGl0O1xuK1x0XHR9XG4rXG4gXHRcdG5fY2hhbm5lbHMgPSAgX19sZTMyX3RvX2NwdShtY2NfcmVzcF92NC1cdTAwM2VuX2NoYW5uZWxzKTtcbi1cdFx0aWYgKGl3bF9yeF9wYWNrZXRfcGF5bG9hZF9sZW4ocGt0KSAhPVxuLVx0XHQgICAgc3RydWN0X3NpemUobWNjX3Jlc3BfdjQsIGNoYW5uZWxzLCBuX2NoYW5uZWxzKSkge1xuK1x0XHRpZiAoSVdMX0ZXX0NIRUNLKG12bSxcbitcdFx0XHRcdCBwa3RfbGVuICE9XG4rXHRcdFx0XHQgc3RydWN0X3NpemUobWNjX3Jlc3BfdjQsIGNoYW5uZWxzLCBuX2NoYW5uZWxzKSxcbitcdFx0XHRcdCBcImludmFsaWQgTUNDIHY0IHJlc3BvbnNlIHNpemU6ICV1IChuX2NoYW5uZWxzPSVkKVxcblwiLFxuK1x0XHRcdFx0IHBrdF9sZW4sIG5fY2hhbm5lbHMpKSB7XG4gXHRcdFx0cmVzcF9jcCA9IEVSUl9QVFIoLUVJTlZBTCk7XG4gXHRcdFx0Z290byBleGl0O1xuIFx0XHR9XG5AQCAtNDg5LDkgKzUwOSwxOCBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLFxuIFx0fSBlbHNlIHtcbiBcdFx0c3RydWN0IGl3bF9tY2NfdXBkYXRlX3Jlc3BfdjMgKm1jY19yZXNwX3YzID0gKHZvaWQgKilwa3QtXHUwMDNlZGF0YTtcbiBcbitcdFx0aWYgKElXTF9GV19DSEVDSyhtdm0sIHBrdF9sZW4gXHUwMDNjIHNpemVvZigqbWNjX3Jlc3BfdjMpLFxuK1x0XHRcdFx0IFwiTUNDIHYzIHJlc3BvbnNlIHRvbyBzaG9ydDogJXVcXG5cIiwgcGt0X2xlbikpIHtcbitcdFx0XHRyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTtcbitcdFx0XHRnb3RvIGV4aXQ7XG4rXHRcdH1cbitcbiBcdFx0bl9jaGFubmVscyA9ICBfX2xlMzJfdG9fY3B1KG1jY19yZXNwX3YzLVx1MDAzZW5fY2hhbm5lbHMpO1xuLVx0XHRpZiAoaXdsX3J4X3BhY2tldF9wYXlsb2FkX2xlbihwa3QpICE9XG4tXHRcdCAgICBzdHJ1Y3Rfc2l6ZShtY2NfcmVzcF92MywgY2hhbm5lbHMsIG5fY2hhbm5lbHMpKSB7XG4rXHRcdGlmIChJV0xfRldfQ0hFQ0sobXZtLFxuK1x0XHRcdFx0IHBrdF9sZW4gIT1cbitcdFx0XHRcdCBzdHJ1Y3Rfc2l6ZShtY2NfcmVzcF92MywgY2hhbm5lbHMsIG5fY2hhbm5lbHMpLFxuK1x0XHRcdFx0IFwiaW52YWxpZCBNQ0MgdjMgcmVzcG9uc2Ugc2l6ZTogJXUgKG5fY2hhbm5lbHM9JWQpXFxuXCIsXG4rXHRcdFx0XHQgcGt0X2xlbiwgbl9jaGFubmVscykpIHtcbiBcdFx0XHRyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTtcbiBcdFx0XHRnb3RvIGV4aXQ7XG4gXHRcdH1cbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDE4OjM5OjA1LjE1MDM4NzM0N1oiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjE3MjIyNjcxMzg4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgRnV6emluZyBQb3RlbnRpYWwgb2YgVGhpcyBQYXRjaCoqXG5cbk9rYXksIGxldCdzIGRpdmUgaW50byB0aGlzIHBhdGNoIGFuZCBhc3Nlc3MgaWYgaXQncyBhIGdvb2QgY2FuZGlkYXRlIGZvciBmdXp6aW5nLiBUaGUgcGF0Y2ggdG91Y2hlcyBgZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbnZtLmNgLCBzcGVjaWZpY2FsbHkgYGl3bF9tdm1fdXBkYXRlX21jY2AuIFJpZ2h0IG9mZiB0aGUgYmF0LCBJIHJlY29nbml6ZSB0aGlzIGlzIHRoZSBJbnRlbCBpd2x3aWZpIGRyaXZlciwgc3BlY2lmaWNhbGx5IHRoZSBgSVdMTVZNYCAvIGBJV0xXSUZJYCBjb21wb25lbnQuIEdvb2QsIHRoYXQgbmFycm93cyBkb3duIHRoZSBzY29wZS5cblxuTm93IGNvbWVzIHRoZSBjcnVjaWFsIHF1ZXN0aW9uOiBjYW4gSSByZWFsaXN0aWNhbGx5IHJlYWNoIHRoaXMgY29kZSBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50IGxpa2UgUUVNVSBvciBHb29nbGUgQ29tcHV0ZSBFbmdpbmUsIG9yIGFyZSB3ZSBkZWFsaW5nIHdpdGggcGh5c2ljYWwgUENJZSBoYXJkd2FyZSB0aGF04oCZcyBub3QgZW11bGF0ZWQgaW4gdGhlIHR5cGljYWwgUUVNVSBzZXR1cD8gSSd2ZSBnb3QgdGhlIGd1aWRlbGluZXMgaW4gbWluZDogYW55dGhpbmcgdGhhdCdzIGluaGVyZW50bHkgdW5yZWFjaGFibGUgaW4gYSB2aXJ0dWFsaXplZCBzZXR0aW5nLCBvciByZXF1aXJlcyBzcGVjaWZpYywgbm9uLWVtdWxhdGVkIGhhcmR3YXJlIGxpa2UgdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoIGRyaXZlcnMsIGlzIGEgbm8tZ28gZm9yIGZ1enppbmcgcHVycG9zZXMuXG5cbldhaXQsIEkgbmVlZCB0byBkb3VibGUtY2hlY2sgdGhpczogZG9lcyBpd2x3aWZpIGRlcGVuZCBvbiBwaHlzaWNhbCBQQ0llIGNhcmRzLCBvciBpcyB0aGVyZSBhIHBhdGh3YXkgdG8gc2ltdWxhdGUgb3IgdmlydHVhbGl6ZSBpdHMgb3BlcmF0aW9uPyBJIG5lZWQgdG8gbG9vayBpbnRvIHRoaXMgbW9yZSBkZWVwbHkuIEkgc2hvdWxkIHByb2JhYmx5IGNoZWNrIHRoZSBrZXJuZWwgc291cmNlcyBmb3IgaXdsd2lmaSBhbmQgc2VlIGlmIHRoZXJlIGFyZSBhbnkgaGludHMgYWJvdXQgYSBzaW11bGF0ZWQgYnVzIG9yIGlmIGl0J3Mgc3RyaWN0bHkgUENJL2hhcmR3YXJlLlxuXG5cbiIsIklucHV0VG9rZW5zIjozNDI2LCJPdXRwdXRUb2tlbnMiOjM0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6Mjk2LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMzFUMTg6Mzk6MjIuMzczMDYyMzg0WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjUzMDc0MDY2LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIml3bHdpZmlcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaVwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJcXG5GdWxsIG91dHB1dCBpcyB0b28gbG9uZywgc2hvd2luZyA1MDAgb3V0IG9mIDE1MTUgbGluZXMuXFxuVXNlIG1vcmUgcHJlY2lzZSBleHByZXNzaW9uIGlmIHBvc3NpYmxlLlxcblxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZz0yPWNvbmZpZyBJV0xXSUZJXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjM6XFx0dHJpc3RhdGUgXFxcIkludGVsIFdpcmVsZXNzIFdpRmkgTmV4dCBHZW4gQUdOIC0gV2lyZWxlc3MtTi9BZHZhbmNlZC1OL1VsdGltYXRlLU4gKGl3bHdpZmkpIFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctNC1cXHRkZXBlbmRzIG9uIFBDSSBcXHUwMDI2XFx1MDAyNiBIQVNfSU9NRU0gXFx1MDAyNlxcdTAwMjYgQ0ZHODAyMTFcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0zNC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6MzU6XFx0ICAgICAgICAgIFxcdTAwM2NodHRwczovL3dpcmVsZXNzLndpa2kua2VybmVsLm9yZy9lbi91c2Vycy9Ecml2ZXJzL2l3bHdpZmlcXHUwMDNlLlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0zNi1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy00NC1cXHQgIHNheSBNIGhlcmUgYW5kIHJlYWQgXFx1MDAzY2ZpbGU6RG9jdW1lbnRhdGlvbi9rYnVpbGQvbW9kdWxlcy5yc3RcXHUwMDNlLiAgVGhlXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjQ1OlxcdCAgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIGl3bHdpZmkuXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTQ2LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnPTQ5PWNvbmZpZyBJV0xXSUZJX0tVTklUX1RFU1RTXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctNTMtXFx0aGVscFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzo1NDpcXHQgIEVuYWJsZSB0aGlzIG9wdGlvbiBmb3IgaXdsd2lmaSBrdW5pdCB0ZXN0cy5cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctNTUtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc9NjY9Y29uZmlnIElXTERWTVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTcxLVxcdCAgb2YgdGhlIGRldmljZXMgdGhhdCB1c2UgdGhpcyBmaXJtd2FyZSBpcyBhdmFpbGFibGUgaGVyZTpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6NzI6XFx0ICBodHRwczovL3dpcmVsZXNzLndpa2kua2VybmVsLm9yZy9lbi91c2Vycy9kcml2ZXJzL2l3bHdpZmkjZmlybXdhcmVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctNzMtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnPTc0PWNvbmZpZyBJV0xNVk1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy04MS1cXHQgIG9mIHRoZSBkZXZpY2VzIHRoYXQgdXNlIHRoaXMgZmlybXdhcmUgaXMgYXZhaWxhYmxlIGhlcmU6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjgyOlxcdCAgaHR0cHM6Ly93aXJlbGVzcy53aWtpLmtlcm5lbC5vcmcvZW4vdXNlcnMvZHJpdmVycy9pd2x3aWZpI2Zpcm13YXJlXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTgzLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZz04ND1jb25maWcgSVdMTUxEXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctOTEtXFx0ICBUaGUgbGlzdCBvZiB0aGUgZGV2aWNlcyB0aGF0IHVzZSB0aGlzIGZpcm13YXJlIGlzIGF2YWlsYWJsZSBoZXJlOlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzo5MjpcXHQgIGh0dHBzOi8vd2lyZWxlc3Mud2lraS5rZXJuZWwub3JnL2VuL3VzZXJzL2RyaXZlcnMvaXdsd2lmaSNmaXJtd2FyZVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy05My1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZz05NT1jb25maWcgSVdMV0lGSV9PUE1PREVfTU9EVUxBUlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTEwMS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6MTAyOmNvbW1lbnQgXFxcIldBUk5JTkc6IGl3bHdpZmkgaXMgdXNlbGVzcyB3aXRob3V0IElXTERWTSBvciBJV0xNVk0gb3IgSVdMTUxEXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMDMtXFx0ZGVwZW5kcyBvbiBJV0xEVk09biBcXHUwMDI2XFx1MDAyNiBJV0xNVk09biBcXHUwMDI2XFx1MDAyNiBJV0xNTEQ9blxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnPTEwNz1jb25maWcgSVdMV0lGSV9ERUJVR1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzoxMDg6XFx0Ym9vbCBcXFwiRW5hYmxlIGZ1bGwgZGVidWdnaW5nIG91dHB1dCBpbiB0aGUgaXdsd2lmaSBkcml2ZXJcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTEwOS1cXHRoZWxwXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjExMDpcXHQgIFRoaXMgb3B0aW9uIHdpbGwgZW5hYmxlIGRlYnVnIHRyYWNpbmcgb3V0cHV0IGZvciB0aGUgaXdsd2lmaSBkcml2ZXJzXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTExMS1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMTUtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjExNjpcXHRcXHQvc3lzL21vZHVsZS9pd2x3aWZpL3BhcmFtZXRlcnMvZGVidWdcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctMTE3LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTEyMS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6MTIyOlxcdFxcdCAgJSBlY2hvIDB4NDNmZmYgXFx1MDAzZSAvc3lzL21vZHVsZS9pd2x3aWZpL3BhcmFtZXRlcnMvZGVidWdcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctMTIzLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMjQtXFx0ICBZb3UgY2FuIGZpbmQgdGhlIGxpc3Qgb2YgZGVidWcgbWFzayB2YWx1ZXMgaW46XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjEyNTpcXHRcXHQgIGRyaXZlcnMvbmV0L3dpcmVsZXNzL2l3bHdpZmkvaXdsLWRlYnVnLmhcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctMTI2LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnPTEzMT1jb25maWcgSVdMV0lGSV9ERUJVR0ZTXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjEzMjpcXHRib29sIFxcXCJpd2x3aWZpIGRlYnVnZnMgc3VwcG9ydFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctMTMzLVxcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdGU1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMzQtXFx0aGVscFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzoxMzU6XFx0ICBFbmFibGUgY3JlYXRpb24gb2YgZGVidWdmcyBmaWxlcyBmb3IgdGhlIGl3bHdpZmkgZHJpdmVycy4gVGhpc1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMzYtXFx0ICBpcyBhIGxvdy1pbXBhY3Qgb3B0aW9uIHRoYXQgYWxsb3dzIGdldHRpbmcgaW5zaWdodCBpbnRvIHRoZVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnPTEzOT1jb25maWcgSVdMV0lGSV9ERVZJQ0VfVFJBQ0lOR1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzoxNDA6XFx0Ym9vbCBcXFwiaXdsd2lmaSBkZXZpY2UgYWNjZXNzIHRyYWNpbmdcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTE0MS1cXHRkZXBlbmRzIG9uIEVWRU5UX1RSQUNJTkdcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xNDQtXFx0ICBTYXkgWSBoZXJlIHRvIHRyYWNlIGFsbCBjb21tYW5kcywgaW5jbHVkaW5nIFRYIGZyYW1lcyBhbmQgSU9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6MTQ1OlxcdCAgYWNjZXNzZXMsIHNlbnQgdG8gdGhlIGRldmljZS4gSWYgeW91IHNheSB5ZXMsIGl3bHdpZmkgd2lsbFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xNDYtXFx0ICByZWdpc3RlciB3aXRoIHRoZSBmdHJhY2UgZnJhbWV3b3JrIGZvciBldmVudCB0cmFjaW5nIGFuZCBkdW1wXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTItIyBjb21tb25cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjM6b2JqLSQoQ09ORklHX0lXTFdJRkkpXFx0Kz0gaXdsd2lmaS5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZTo0Oml3bHdpZmktb2Jqc1xcdFxcdCs9IGl3bC1pby5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZTo1Oml3bHdpZmktb2Jqc1xcdFxcdCs9IGl3bC1kcnYub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6Njppd2x3aWZpLW9ianNcXHRcXHQrPSBpd2wtZGVidWcub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6Nzppd2x3aWZpLW9ianNcXHRcXHQrPSBpd2wtbnZtLXV0aWxzLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjg6aXdsd2lmaS1vYmpzXFx0XFx0Kz0gaXdsLXV0aWxzLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjk6aXdsd2lmaS1vYmpzXFx0XFx0Kz0gaXdsLXBoeS1kYi5vIGl3bC1udm0tcGFyc2Uub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGUtMTAtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZS0xMS0jIEJ1c1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MTI6aXdsd2lmaS1vYmpzXFx0XFx0Kz0gcGNpZS9jdHh0LWluZm8ubyBwY2llL2N0eHQtaW5mby12Mi5vIHBjaWUvZHJ2Lm8gcGNpZS91dGlscy5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZToxMzppd2x3aWZpLW9ianNcXHRcXHQrPSBwY2llL2dlbjFfMi9yeC5vIHBjaWUvZ2VuMV8yL3R4Lm8gcGNpZS9nZW4xXzIvdHJhbnMub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MTQ6aXdsd2lmaS1vYmpzXFx0XFx0Kz0gcGNpZS9nZW4xXzIvdHJhbnMtZ2VuMi5vIHBjaWUvZ2VuMV8yL3R4LWdlbjIub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGUtMTUtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZT0xNj1DRkxBR1NfcGNpZS9kcnYubyArPSAtV25vLW92ZXJyaWRlLWluaXRcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGUtMTgtIyBjb21iaW5lZCBNQUMvUkYgY29uZmlndXJhdGlvbnNcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjE5Oml3bHdpZmktJChDT05GSUdfSVdMRFZNKSArPSBjZmcvMTAwMC5vIGNmZy8yMDAwLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjIwOml3bHdpZmktJChDT05GSUdfSVdMRFZNKSArPSBjZmcvNTAwMC5vIGNmZy82MDAwLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjIxOml3bHdpZmktJChDT05GSUdfSVdMTVZNKSArPSBjZmcvNzAwMC5vIGNmZy84MDAwLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTIyLSMgTUFDIGNvbmZpZ3VyYXRpb25zXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZToyMzppd2x3aWZpLSQoQ09ORklHX0lXTE1WTSkgKz0gY2ZnLzkwMDAubyBjZmcvMjIwMDAub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MjQ6aXdsd2lmaS0kKENPTkZJR19JV0xNVk0pICs9IGNmZy9heDIxMC5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZToyNTppd2x3aWZpLSQoQ09ORklHX0lXTE1WTSkgKz0gY2ZnL2J6Lm8gY2ZnL3NjLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjI2Oml3bHdpZmktJChDT05GSUdfSVdMTUxEKSArPSBjZmcvYnoubyBjZmcvc2MubyBjZmcvZHIub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGUtMjctIyBSRiBjb25maWd1cmF0aW9uc1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6Mjg6aXdsd2lmaS0kKENPTkZJR19JV0xNVk0pICs9IGNmZy9yZi1qZi5vIGNmZy9yZi1oci5vIGNmZy9yZi1nZi5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZToyOTppd2x3aWZpLSQoQ09ORklHX0lXTE1MRCkgKz0gY2ZnL3JmLWZtLm8gY2ZnL3JmLXdoLm8gY2ZnL3JmLXBlLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTMwLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MzE6aXdsd2lmaS1vYmpzXFx0XFx0Kz0gaXdsLWRiZy10bHYub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MzI6aXdsd2lmaS1vYmpzXFx0XFx0Kz0gaXdsLXRyYW5zLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTMzLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MzQ6aXdsd2lmaS1vYmpzXFx0XFx0Kz0gZncvaW1nLm8gZncvbm90aWYtd2FpdC5vIGZ3L3JzLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjM1Oml3bHdpZmktb2Jqc1xcdFxcdCs9IGZ3L2RiZy5vIGZ3L2RiZy1vbGQubyBmdy9wbnZtLm8gZncvZHVtcC5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZTozNjppd2x3aWZpLW9ianNcXHRcXHQrPSBmdy9yZWd1bGF0b3J5Lm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjM3Oml3bHdpZmktJChDT05GSUdfSVdMTVZNKSArPSBmdy9wYWdpbmcubyBmdy9zbWVtLm8gZncvaW5pdC5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZTozODppd2x3aWZpLSQoQ09ORklHX0lXTE1MRCkgKz0gZncvc21lbS5vIGZ3L2luaXQub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6Mzk6aXdsd2lmaS0kKENPTkZJR19BQ1BJKSArPSBmdy9hY3BpLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjQwOml3bHdpZmktJChDT05GSUdfRUZJKVxcdCs9IGZ3L3VlZmkub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6NDE6aXdsd2lmaS0kKENPTkZJR19JV0xXSUZJX0RFQlVHRlMpICs9IGZ3L2RlYnVnZnMub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGUtNDItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZTo0Mzppd2x3aWZpLW9ianMgKz0gJChpd2x3aWZpLW0pXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZS00NC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjQ1Oml3bHdpZmktJChDT05GSUdfSVdMV0lGSV9ERVZJQ0VfVFJBQ0lORykgKz0gaXdsLWRldnRyYWNlLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTQ2LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMTAwMC5jLTI0LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzEwMDAuYzoyNTojZGVmaW5lIElXTDEwMDBfRldfUFJFIFxcXCJpd2x3aWZpLTEwMDBcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMTAwMC5jLTI2LSNkZWZpbmUgSVdMMTAwMF9NT0RVTEVfRklSTVdBUkUoYXBpKSBJV0wxMDAwX0ZXX1BSRSBcXFwiLVxcXCIgX19zdHJpbmdpZnkoYXBpKSBcXFwiLnVjb2RlXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzEwMDAuYy0yNy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8xMDAwLmM6Mjg6I2RlZmluZSBJV0wxMDBfRldfUFJFIFxcXCJpd2x3aWZpLTEwMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8xMDAwLmMtMjktI2RlZmluZSBJV0wxMDBfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgSVdMMTAwX0ZXX1BSRSBcXFwiLVxcXCIgX19zdHJpbmdpZnkoYXBpKSBcXFwiLnVjb2RlXFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjAwMC5jLTMwLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIwMDAuYzozMTojZGVmaW5lIElXTDIwMzBfRldfUFJFIFxcXCJpd2x3aWZpLTIwMzBcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjAwMC5jLTMyLSNkZWZpbmUgSVdMMjAzMF9NT0RVTEVfRklSTVdBUkUoYXBpKSBJV0wyMDMwX0ZXX1BSRSBcXFwiLVxcXCIgX19zdHJpbmdpZnkoYXBpKSBcXFwiLnVjb2RlXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIwMDAuYy0zMy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8yMDAwLmM6MzQ6I2RlZmluZSBJV0wyMDAwX0ZXX1BSRSBcXFwiaXdsd2lmaS0yMDAwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIwMDAuYy0zNS0jZGVmaW5lIElXTDIwMDBfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgSVdMMjAwMF9GV19QUkUgXFxcIi1cXFwiIF9fc3RyaW5naWZ5KGFwaSkgXFxcIi51Y29kZVxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8yMDAwLmMtMzYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjAwMC5jOjM3OiNkZWZpbmUgSVdMMTA1X0ZXX1BSRSBcXFwiaXdsd2lmaS0xMDVcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjAwMC5jLTM4LSNkZWZpbmUgSVdMMTA1X01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDEwNV9GV19QUkUgXFxcIi1cXFwiIF9fc3RyaW5naWZ5KGFwaSkgXFxcIi51Y29kZVxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8yMDAwLmMtMzktXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjAwMC5jOjQwOiNkZWZpbmUgSVdMMTM1X0ZXX1BSRSBcXFwiaXdsd2lmaS0xMzVcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjAwMC5jLTQxLSNkZWZpbmUgSVdMMTM1X01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDEzNV9GV19QUkUgXFxcIi1cXFwiIF9fc3RyaW5naWZ5KGFwaSkgXFxcIi51Y29kZVxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIyMDAwLmMtMTctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjIwMDAuYzoxODojZGVmaW5lIElXTF9DQ19BX0ZXX1BSRVxcdFxcdFxcdFxcXCJpd2x3aWZpLWNjLWEwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIyMDAwLmM6MTk6I2RlZmluZSBJV0xfUVVfQl9IUl9CX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLVF1LWIwLWhyLWIwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIyMDAwLmM6MjA6I2RlZmluZSBJV0xfUVVfQ19IUl9CX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLVF1LWMwLWhyLWIwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIyMDAwLmM6MjE6I2RlZmluZSBJV0xfUVVaX0FfSFJfQl9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1RdVotYTAtaHItYjBcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjIwMDAuYy0yMi1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzUwMDAuYy0yNi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy81MDAwLmM6Mjc6I2RlZmluZSBJV0w1MDAwX0ZXX1BSRSBcXFwiaXdsd2lmaS01MDAwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzUwMDAuYy0yOC0jZGVmaW5lIElXTDUwMDBfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgSVdMNTAwMF9GV19QUkUgXFxcIi1cXFwiIF9fc3RyaW5naWZ5KGFwaSkgXFxcIi51Y29kZVxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy81MDAwLmMtMjktXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNTAwMC5jOjMwOiNkZWZpbmUgSVdMNTE1MF9GV19QUkUgXFxcIml3bHdpZmktNTE1MFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy81MDAwLmMtMzEtI2RlZmluZSBJV0w1MTUwX01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDUxNTBfRldfUFJFIFxcXCItXFxcIiBfX3N0cmluZ2lmeShhcGkpIFxcXCIudWNvZGVcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy82MDAwLmMtMzktXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNjAwMC5jOjQwOiNkZWZpbmUgSVdMNjAwMF9GV19QUkUgXFxcIml3bHdpZmktNjAwMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy82MDAwLmMtNDEtI2RlZmluZSBJV0w2MDAwX01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDYwMDBfRldfUFJFIFxcXCItXFxcIiBfX3N0cmluZ2lmeShhcGkpIFxcXCIudWNvZGVcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNjAwMC5jLTQyLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzYwMDAuYzo0MzojZGVmaW5lIElXTDYwNTBfRldfUFJFIFxcXCJpd2x3aWZpLTYwNTBcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNjAwMC5jLTQ0LSNkZWZpbmUgSVdMNjA1MF9NT0RVTEVfRklSTVdBUkUoYXBpKSBJV0w2MDUwX0ZXX1BSRSBcXFwiLVxcXCIgX19zdHJpbmdpZnkoYXBpKSBcXFwiLnVjb2RlXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzYwMDAuYy00NS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy82MDAwLmM6NDY6I2RlZmluZSBJV0w2MDA1X0ZXX1BSRSBcXFwiaXdsd2lmaS02MDAwZzJhXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzYwMDAuYy00Ny0jZGVmaW5lIElXTDYwMDVfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgSVdMNjAwNV9GV19QUkUgXFxcIi1cXFwiIF9fc3RyaW5naWZ5KGFwaSkgXFxcIi51Y29kZVxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy82MDAwLmMtNDgtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNjAwMC5jOjQ5OiNkZWZpbmUgSVdMNjAzMF9GV19QUkUgXFxcIml3bHdpZmktNjAwMGcyYlxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy82MDAwLmMtNTAtI2RlZmluZSBJV0w2MDMwX01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDYwMzBfRldfUFJFIFxcXCItXFxcIiBfX3N0cmluZ2lmeShhcGkpIFxcXCIudWNvZGVcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy83MDAwLmMtMzYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNzAwMC5jOjM3OiNkZWZpbmUgSVdMNzI2MF9GV19QUkUgXFxcIml3bHdpZmktNzI2MFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy83MDAwLmMtMzgtI2RlZmluZSBJV0w3MjYwX01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDcyNjBfRldfUFJFIFxcXCItXFxcIiBfX3N0cmluZ2lmeShhcGkpIFxcXCIudWNvZGVcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNzAwMC5jLTM5LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzcwMDAuYzo0MDojZGVmaW5lIElXTDMxNjBfRldfUFJFIFxcXCJpd2x3aWZpLTMxNjBcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNzAwMC5jLTQxLSNkZWZpbmUgSVdMMzE2MF9NT0RVTEVfRklSTVdBUkUoYXBpKSBJV0wzMTYwX0ZXX1BSRSBcXFwiLVxcXCIgX19zdHJpbmdpZnkoYXBpKSBcXFwiLnVjb2RlXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzcwMDAuYy00Mi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy83MDAwLmM6NDM6I2RlZmluZSBJV0wzMTY4X0ZXX1BSRSBcXFwiaXdsd2lmaS0zMTY4XFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzcwMDAuYy00NC0jZGVmaW5lIElXTDMxNjhfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgSVdMMzE2OF9GV19QUkUgXFxcIi1cXFwiIF9fc3RyaW5naWZ5KGFwaSkgXFxcIi51Y29kZVxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy83MDAwLmMtNDUtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNzAwMC5jOjQ2OiNkZWZpbmUgSVdMNzI2NV9GV19QUkUgXFxcIml3bHdpZmktNzI2NVxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy83MDAwLmMtNDctI2RlZmluZSBJV0w3MjY1X01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDcyNjVfRldfUFJFIFxcXCItXFxcIiBfX3N0cmluZ2lmeShhcGkpIFxcXCIudWNvZGVcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNzAwMC5jLTQ4LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzcwMDAuYzo0OTojZGVmaW5lIElXTDcyNjVEX0ZXX1BSRSBcXFwiaXdsd2lmaS03MjY1RFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy83MDAwLmMtNTAtI2RlZmluZSBJV0w3MjY1RF9NT0RVTEVfRklSTVdBUkUoYXBpKSBJV0w3MjY1RF9GV19QUkUgXFxcIi1cXFwiIF9fc3RyaW5naWZ5KGFwaSkgXFxcIi51Y29kZVxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzgwMDAuYy0yOS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy84MDAwLmM6MzA6I2RlZmluZSBJV0w4MDAwX0ZXX1BSRSBcXFwiaXdsd2lmaS04MDAwQ1xcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy84MDAwLmMtMzEtI2RlZmluZSBJV0w4MDAwX01PRFVMRV9GSVJNV0FSRShhcGkpIFxcXFxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzgwMDAuYy0zMy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy84MDAwLmM6MzQ6I2RlZmluZSBJV0w4MjY1X0ZXX1BSRSBcXFwiaXdsd2lmaS04MjY1XFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzgwMDAuYy0zNS0jZGVmaW5lIElXTDgyNjVfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgXFxcXFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvOTAwMC5jLTIxLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzkwMDAuYzoyMjojZGVmaW5lICBJV0w5MDAwX0ZXX1BSRSBcXFwiaXdsd2lmaS05MDAwLXB1LWIwLWpmLWIwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzkwMDAuYzoyMzojZGVmaW5lICBJV0w5MjYwX0ZXX1BSRSBcXFwiaXdsd2lmaS05MjYwLXRoLWIwLWpmLWIwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzkwMDAuYy0yNC0jZGVmaW5lIElXTDkwMDBfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgXFxcXFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvYXgyMTAuYy0xNy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jOjE4OiNkZWZpbmUgSVdMX1NPX0FfR0ZfQV9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1zby1hMC1nZi1hMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jOjE5OiNkZWZpbmUgSVdMX1RZX0FfR0ZfQV9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS10eS1hMC1nZi1hMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jOjIwOiNkZWZpbmUgSVdMX01BX0FfR0ZfQV9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1tYS1hMC1nZi1hMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jOjIxOiNkZWZpbmUgSVdMX01BX0JfR0ZfQV9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1tYS1iMC1nZi1hMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jOjIyOiNkZWZpbmUgSVdMX1NPX0FfR0Y0X0FfRldfUFJFXFx0XFx0XFxcIml3bHdpZmktc28tYTAtZ2Y0LWEwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2F4MjEwLmM6MjM6I2RlZmluZSBJV0xfTUFfQV9HRjRfQV9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1tYS1hMC1nZjQtYTBcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvYXgyMTAuYzoyNDojZGVmaW5lIElXTF9NQV9CX0dGNF9BX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLW1hLWIwLWdmNC1hMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jOjI1OiNkZWZpbmUgSVdMX1NPX0FfSFJfQl9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1zby1hMC1oci1iMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jOjI2OiNkZWZpbmUgSVdMX01BX0FfSFJfQl9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1tYS1hMC1oci1iMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jOjI3OiNkZWZpbmUgSVdMX01BX0JfSFJfQl9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1tYS1iMC1oci1iMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jLTI4LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvYnouYy0xNy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9iei5jOjE4OiNkZWZpbmUgSVdMX0JaX0FfRk1fQl9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1iei1hMC1mbS1iMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9iei5jOjE5OiNkZWZpbmUgSVdMX0JaX0FfRk1fQ19GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1iei1hMC1mbS1jMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9iei5jOjIwOiNkZWZpbmUgSVdMX0JaX0FfRk00X0JfRldfUFJFXFx0XFx0XFxcIml3bHdpZmktYnotYTAtZm00LWIwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2J6LmM6MjE6I2RlZmluZSBJV0xfR0xfQl9GTV9CX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLWdsLWIwLWZtLWIwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2J6LmM6MjI6I2RlZmluZSBJV0xfR0xfQ19GTV9DX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLWdsLWMwLWZtLWMwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2J6LmMtMjMtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9kci5jLTE2LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2RyLmM6MTc6I2RlZmluZSBJV0xfRFJfQV9QRV9BX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLWRyLWEwLXBlLWEwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2RyLmMtMTgtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1nZi5jLTEzLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3JmLWdmLmM6MTQ6I2RlZmluZSBJV0xfQlpfQV9HRl9BX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLWJ6LWEwLWdmLWEwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3JmLWdmLmM6MTU6I2RlZmluZSBJV0xfQlpfQV9HRjRfQV9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1iei1hMC1nZjQtYTBcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvcmYtZ2YuYzoxNjojZGVmaW5lIElXTF9TQ19BX0dGX0FfRldfUFJFXFx0XFx0XFxcIml3bHdpZmktc2MtYTAtZ2YtYTBcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvcmYtZ2YuYzoxNzojZGVmaW5lIElXTF9TQ19BX0dGNF9BX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLXNjLWEwLWdmNC1hMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1nZi5jLTE4LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvcmYtaHIuYy0xMy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1oci5jOjE0OiNkZWZpbmUgSVdMX0JaX0FfSFJfQl9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1iei1hMC1oci1iMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1oci5jOjE1OiNkZWZpbmUgSVdMX1NDX0FfSFJfQV9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1zYy1hMC1oci1iMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1oci5jOjE2OiNkZWZpbmUgSVdMX1NDX0FfSFJfQl9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1zYy1hMC1oci1iMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1oci5jLTE3LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvcmYtamYuYy0xMy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1qZi5jOjE0OiNkZWZpbmUgSVdMX1FVX0JfSkZfQl9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1RdS1iMC1qZi1iMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1qZi5jOjE1OiNkZWZpbmUgSVdMX1FVX0NfSkZfQl9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1RdS1jMC1qZi1iMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1qZi5jOjE2OiNkZWZpbmUgSVdMX1FVWl9BX0pGX0JfRldfUFJFXFx0XFx0XFxcIml3bHdpZmktUXVaLWEwLWpmLWIwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3JmLWpmLmM6MTc6I2RlZmluZSBJV0xfU09fQV9KRl9CX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLXNvLWEwLWpmLWIwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3JmLWpmLmMtMTgtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9zYy5jLTE3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3NjLmM6MTg6I2RlZmluZSBJV0xfU0NfQV9GTV9CX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLXNjLWEwLWZtLWIwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3NjLmM6MTk6I2RlZmluZSBJV0xfU0NfQV9GTV9DX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLXNjLWEwLWZtLWMwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3NjLmM6MjA6I2RlZmluZSBJV0xfU0NfQV9XSF9BX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLXNjLWEwLXdoLWEwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3NjLmM6MjE6I2RlZmluZSBJV0xfU0MyX0FfRk1fQ19GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1zYzItYTAtZm0tYzBcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvc2MuYzoyMjojZGVmaW5lIElXTF9TQzJfQV9XSF9BX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLXNjMi1hMC13aC1hMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9zYy5jLTIzLVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGVidWdmcy5jPTIyNjI9c3RhdGljIHNzaXplX3QgaXdsX2RiZ2ZzX2Z3X3Jlc3RhcnRfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZWJ1Z2ZzLmMtMjI2Ni1cXHRzdHJ1Y3QgaXdsX3ByaXYgKnByaXYgPSBmaWxlLVxcdTAwM2Vwcml2YXRlX2RhdGE7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGVidWdmcy5jOjIyNjc6XFx0Ym9vbCBmd19yZXN0YXJ0ID0gaXdsd2lmaV9tb2RfcGFyYW1zLmZ3X3Jlc3RhcnQ7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGVidWdmcy5jLTIyNjgtXFx0aW50IF9fbWF5YmVfdW51c2VkIHJldDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZWJ1Z2ZzLmMtMjI2OS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZWJ1Z2ZzLmM6MjI3MDpcXHRpd2x3aWZpX21vZF9wYXJhbXMuZndfcmVzdGFydCA9IHRydWU7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGVidWdmcy5jLTIyNzEtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZWJ1Z2ZzLmMtMjI3OC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZWJ1Z2ZzLmM6MjI3OTpcXHRpd2x3aWZpX21vZF9wYXJhbXMuZndfcmVzdGFydCA9IGZ3X3Jlc3RhcnQ7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGVidWdmcy5jLTIyODAtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZWJ1Z2ZzLmM9MjMxMz12b2lkIGl3bF9kYmdmc19yZWdpc3RlcihzdHJ1Y3QgaXdsX3ByaXYgKnByaXYsIHN0cnVjdCBkZW50cnkgKmRiZ2ZzX2RpcilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2RlYnVnZnMuYy0yMzgwLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2RlYnVnZnMuYzoyMzgxOlxcdFxcdGRlYnVnZnNfY3JlYXRlX3N5bWxpbmsoXFxcIml3bHdpZmlcXFwiLCBtYWM4MDIxMV9kaXIsIGJ1Zik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGVidWdmcy5jLTIzODItXFx0fVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGV2Lmg9MjEwPXN0cnVjdCBpd2xfc2Vuc2l0aXZpdHlfcmFuZ2VzIHtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2Rldi5oLTI0NC0gKiBOYW1pbmcgY29udmVudGlvbiAtLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2Rldi5oOjI0NTogKiBpd2xfICAgICAgICAgXFx1MDAzYy0tIElzIHBhcnQgb2YgaXdsd2lmaVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2Rldi5oLTI0Ni0gKiBpd2xYWFhYXyAgICAgXFx1MDAzYy0tIEhhcmR3YXJlIHNwZWNpZmljIChpbXBsZW1lbnRlZCBpbiBpd2wtWFhYWC5jIGZvciBYWFhYKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZWVwcm9tLmM9MTA1OT1pd2xfcGFyc2VfZWVwcm9tX2RhdGEoc3RydWN0IGl3bF90cmFucyAqdHJhbnMsIGNvbnN0IHN0cnVjdCBpd2xfcmZfY2ZnICpjZmcsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9lZXByb20uYy0xMTE4LVxcdGRhdGEtXFx1MDAzZXNrdV9jYXBfaXBhbl9lbmFibGUgPSBza3UgXFx1MDAyNiBFRVBST01fU0tVX0NBUF9JUEFOX0VOQUJMRTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9lZXByb20uYzoxMTE5OlxcdGlmIChpd2x3aWZpX21vZF9wYXJhbXMuZGlzYWJsZV8xMW4gXFx1MDAyNiBJV0xfRElTQUJMRV9IVF9BTEwpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZWVwcm9tLmMtMTEyMC1cXHRcXHRkYXRhLVxcdTAwM2Vza3VfY2FwXzExbl9lbmFibGUgPSBmYWxzZTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2xlZC5jPTE1NT12b2lkIGl3bF9sZWRzX2luaXQoc3RydWN0IGl3bF9wcml2ICpwcml2KVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2xlZC5jLTE1Ni17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbGVkLmM6MTU3OlxcdGludCBtb2RlID0gaXdsd2lmaV9tb2RfcGFyYW1zLmxlZF9tb2RlO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2xlZC5jLTE1OC1cXHRpbnQgcmV0O1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbGliLmM9MjAxPXZvaWQgaXdsYWduX3NlbmRfYWR2YW5jZV9idF9jb25maWcoc3RydWN0IGl3bF9wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbGliLmMtMjYyLVxcdCAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2xpYi5jOjI2MzpcXHRpZiAoIWl3bHdpZmlfbW9kX3BhcmFtcy5idF9jb2V4X2FjdGl2ZSB8fFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2xpYi5jLTI2NC1cXHQgICAgcHJpdi1cXHUwMDNlaXdfbW9kZSA9PSBOTDgwMjExX0lGVFlQRV9BREhPQykge1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbGliLmM9MTAzND1pbnQgaXdsYWduX3N1c3BlbmQoc3RydWN0IGl3bF9wcml2ICpwcml2LCBzdHJ1Y3QgY2ZnODAyMTFfd293bGFuICp3b3dsYW4pXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9saWIuYy0xMTM1LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2xpYi5jOjExMzY6XFx0aWYgKCFpd2x3aWZpX21vZF9wYXJhbXMuc3djcnlwdG8pIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9saWIuYy0xMTM3LVxcdFxcdC8qIG1hcmsgYWxsIGtleXMgY2xlYXIgKi9cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21hYzgwMjExLmM9Nzg9aW50IGl3bGFnbl9tYWNfc2V0dXBfcmVnaXN0ZXIoc3RydWN0IGl3bF9wcml2ICpwcml2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYy0xMjEtXFx0aWYgKHByaXYtXFx1MDAzZWZ3LVxcdTAwM2V1Y29kZV9jYXBhLmZsYWdzIFxcdTAwMjYgSVdMX1VDT0RFX1RMVl9GTEFHU19NRlAgXFx1MDAyNlxcdTAwMjZcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWM4MDIxMS5jOjEyMjpcXHQgICAgIWl3bHdpZmlfbW9kX3BhcmFtcy5zd2NyeXB0bylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWM4MDIxMS5jLTEyMy1cXHRcXHRpZWVlODAyMTFfaHdfc2V0KGh3LCBNRlBfQ0FQQUJMRSk7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWM4MDIxMS5jLTE1Mi1cXHRcXHRcXHRcXHRcXHQgICAgIFdJUEhZX1dPV0xBTl9SRktJTExfUkVMRUFTRTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWM4MDIxMS5jOjE1MzpcXHRcXHRpZiAoIWl3bHdpZmlfbW9kX3BhcmFtcy5zd2NyeXB0bylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWM4MDIxMS5jLTE1NC1cXHRcXHRcXHRwcml2LVxcdTAwM2V3b3dsYW5fc3VwcG9ydC5mbGFncyB8PVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYy0xNjYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYzoxNjc6XFx0aWYgKGl3bHdpZmlfbW9kX3BhcmFtcy5wb3dlcl9zYXZlKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21hYzgwMjExLmMtMTY4LVxcdFxcdGh3LVxcdTAwM2V3aXBoeS1cXHUwMDNlZmxhZ3MgfD0gV0lQSFlfRkxBR19QU19PTl9CWV9ERUZBVUxUO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYz0zMjU9c3RhdGljIHZvaWQgaXdsYWduX21hY19zZXRfcmVrZXlfZGF0YShzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodyxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21hYzgwMjExLmMtMzMwLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21hYzgwMjExLmM6MzMxOlxcdGlmIChpd2x3aWZpX21vZF9wYXJhbXMuc3djcnlwdG8pXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYy0zMzItXFx0XFx0cmV0dXJuO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYz01ODg9c3RhdGljIGludCBpd2xhZ25fbWFjX3NldF9rZXkoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsIGVudW0gc2V0X2tleV9jbWQgY21kLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYy02MDAtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYzo2MDE6XFx0aWYgKGl3bHdpZmlfbW9kX3BhcmFtcy5zd2NyeXB0bykge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21hYzgwMjExLmMtNjAyLVxcdFxcdElXTF9ERUJVR19NQUM4MDIxMShwcml2LCBcXFwibGVhdmUgLSBod2NyeXB0byBkaXNhYmxlZFxcXFxuXFxcIik7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM9Mzk4PXN0YXRpYyB2b2lkIGl3bF9wcmludF9jb250X2V2ZW50X3RyYWNlKHN0cnVjdCBpd2xfcHJpdiAqcHJpdiwgdTMyIGJhc2UsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtNDM0LVxcdFxcdGlmIChtb2RlID09IDApIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM6NDM1OlxcdFxcdFxcdHRyYWNlX2l3bHdpZmlfZGV2X3Vjb2RlX2NvbnRfZXZlbnQoXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTQzNi1cXHRcXHRcXHRcXHRcXHRwcml2LVxcdTAwM2V0cmFucy1cXHUwMDNlZGV2LCAwLCB0aW1lLCBldik7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtNDM4LVxcdFxcdFxcdGRhdGEgPSBpd2xfcmVhZDMyKHByaXYtXFx1MDAzZXRyYW5zLCBIQlVTX1RBUkdfTUVNX1JEQVQpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYzo0Mzk6XFx0XFx0XFx0dHJhY2VfaXdsd2lmaV9kZXZfdWNvZGVfY29udF9ldmVudChcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtNDQwLVxcdFxcdFxcdFxcdFxcdHByaXYtXFx1MDAzZXRyYW5zLVxcdTAwM2VkZXYsIHRpbWUsIGRhdGEsIGV2KTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYz00NDc9c3RhdGljIHZvaWQgaXdsX2NvbnRpbnVvdXNfZXZlbnRfdHJhY2Uoc3RydWN0IGl3bF9wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTUwMy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM6NTA0OlxcdFxcdHRyYWNlX2l3bHdpZmlfZGV2X3Vjb2RlX3dyYXBfZXZlbnQocHJpdi1cXHUwMDNldHJhbnMtXFx1MDAzZWRldixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtNTA1LVxcdFxcdFxcdFxcdG51bV93cmFwcyAtIHByaXYtXFx1MDAzZWV2ZW50X2xvZy5udW1fd3JhcHMsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM9NzM3PXN0YXRpYyB2b2lkIGl3bF9zZW5kX2J0X2NvbmZpZyhzdHJ1Y3QgaXdsX3ByaXYgKnByaXYpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtNzQ1LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYzo3NDY6XFx0aWYgKCFpd2x3aWZpX21vZF9wYXJhbXMuYnRfY29leF9hY3RpdmUpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTc0Ny1cXHRcXHRidF9jbWQuZmxhZ3MgPSBCVF9DT0VYX0RJU0FCTEU7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM9MTIzMz1zdGF0aWMgc3RydWN0IGl3bF9vcF9tb2RlICppd2xfb3BfbW9kZV9kdm1fc3RhcnQoc3RydWN0IGl3bF90cmFucyAqdHJhbnMsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtMTMyNC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM6MTMyNTpcXHRzd2l0Y2ggKGl3bHdpZmlfbW9kX3BhcmFtcy5hbXNkdV9zaXplKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTEzMjYtXFx0Y2FzZSBJV0xfQU1TRFVfREVGOlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTEzMzYtXFx0XFx0cHJfZXJyKFxcXCJVbnN1cHBvcnRlZCBhbXNkdV9zaXplOiAlZFxcXFxuXFxcIixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM6MTMzNzpcXHRcXHQgICAgICAgaXdsd2lmaV9tb2RfcGFyYW1zLmFtc2R1X3NpemUpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYy0xMzM4LVxcdH1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYz0xNjk4PXN0YXRpYyBpbnQgaXdsX3ByaW50X2V2ZW50X2xvZyhzdHJ1Y3QgaXdsX3ByaXYgKnByaXYsIHUzMiBzdGFydF9pZHgsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtMTc0Ny1cXHRcXHRcXHR9IGVsc2Uge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYzoxNzQ4OlxcdFxcdFxcdFxcdHRyYWNlX2l3bHdpZmlfZGV2X3Vjb2RlX2V2ZW50KHRyYW5zLVxcdTAwM2VkZXYsIDAsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTE3NDktXFx0XFx0XFx0XFx0XFx0dGltZSwgZXYpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTE3NjEtXFx0XFx0XFx0XFx0XFx0dGltZSwgZGF0YSwgZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYzoxNzYyOlxcdFxcdFxcdFxcdHRyYWNlX2l3bHdpZmlfZGV2X3Vjb2RlX2V2ZW50KHRyYW5zLVxcdTAwM2VkZXYsIHRpbWUsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTE3NjMtXFx0XFx0XFx0XFx0XFx0ZGF0YSwgZXYpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jPTE5MTI9c3RhdGljIHZvaWQgaXdsYWduX2Z3X2Vycm9yKHN0cnVjdCBpd2xfcHJpdiAqcHJpdiwgYm9vbCBvbmRlbWFuZClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYy0xOTQ1LVxcdGlmICghdGVzdF9iaXQoU1RBVFVTX0VYSVRfUEVORElORywgXFx1MDAyNnByaXYtXFx1MDAzZXN0YXR1cykpIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM6MTk0NjpcXHRcXHRpZiAoaXdsd2lmaV9tb2RfcGFyYW1zLmZ3X3Jlc3RhcnQpIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtMTk0Ny1cXHRcXHRcXHRJV0xfREVCVUdfRlcocHJpdixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3Bvd2VyLmM9MjcxPXN0YXRpYyB2b2lkIGl3bF9wb3dlcl9idWlsZF9jbWQoc3RydWN0IGl3bF9wcml2ICpwcml2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vcG93ZXIuYy0zMDEtXFx0XFx0YnV0IHdlIHBhc3MgMC00IGJlY2F1c2UgaXQgYWN0cyBhcyBhbiBhcnJheSBpbmRleC4gKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9wb3dlci5jOjMwMjpcXHRcXHRpZiAoaXdsd2lmaV9tb2RfcGFyYW1zLnBvd2VyX2xldmVsIFxcdTAwM2UgSVdMX1BPV0VSX0lOREVYXzEgXFx1MDAyNlxcdTAwMjZcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9wb3dlci5jOjMwMzpcXHRcXHQgICAgaXdsd2lmaV9tb2RfcGFyYW1zLnBvd2VyX2xldmVsIFxcdTAwM2M9IElXTF9QT1dFUl9OVU0pXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vcG93ZXIuYy0zMDQtXFx0XFx0XFx0aXdsX3N0YXRpY19zbGVlcF9jbWQocHJpdiwgY21kLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3Bvd2VyLmM6MzA1OlxcdFxcdFxcdFxcdGl3bHdpZmlfbW9kX3BhcmFtcy5wb3dlcl9sZXZlbCAtIDEsIGR0aW1wZXIpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3Bvd2VyLmMtMzA2LVxcdFxcdGVsc2VcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3J4LmM9NjA0PXN0YXRpYyB2b2lkIGl3bGFnbl9wYXNzX3BhY2tldF90b19tYWM4MDIxMShzdHJ1Y3QgaXdsX3ByaXYgKnByaXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9yeC5jLTYyMy1cXHQvKiBJbiBjYXNlIG9mIEhXIGFjY2VsZXJhdGVkIGNyeXB0byBhbmQgYmFkIGRlY3J5cHRpb24sIGRyb3AgKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9yeC5jOjYyNDpcXHRpZiAoIWl3bHdpZmlfbW9kX3BhcmFtcy5zd2NyeXB0byBcXHUwMDI2XFx1MDAyNlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3J4LmMtNjI1LVxcdCAgICBpd2xhZ25fc2V0X2RlY3J5cHRlZF9mbGFnKHByaXYsIGhkciwgYW1wZHVfc3RhdHVzLCBzdGF0cykpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9yeG9uLmM9MTAyMz1pbnQgaXdsYWduX2NvbW1pdF9yeG9uKHN0cnVjdCBpd2xfcHJpdiAqcHJpdiwgc3RydWN0IGl3bF9yeG9uX2NvbnRleHQgKmN0eClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3J4b24uYy0xMTAyLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3J4b24uYzoxMTAzOlxcdGl3bF9zZXRfcnhvbl9od2NyeXB0byhwcml2LCBjdHgsICFpd2x3aWZpX21vZF9wYXJhbXMuc3djcnlwdG8pO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3J4b24uYy0xMTA0LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9mdy9pbWcuaD0xMzY9c3RydWN0IGl3bF9md19wYWdpbmcge1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9mdy9pbWcuaC0xNDMtLyoqXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9mdy9pbWcuaDoxNDQ6ICogZW51bSBpd2xfZndfdHlwZSAtIGl3bHdpZmkgZmlybXdhcmUgdHlwZVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZncvaW1nLmgtMTQ1LSAqIEBJV0xfRldfRFZNOiBEVk0gZmlybXdhcmVcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRiZy10bHYuYz00OTk9dm9pZCBpd2xfZGJnX3Rsdl9sb2FkX2JpbihzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBpd2xfdHJhbnMgKnRyYW5zKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGJnLXRsdi5jLTUwNC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kYmctdGx2LmM6NTA1OlxcdGlmICghaXdsd2lmaV9tb2RfcGFyYW1zLmVuYWJsZV9pbmkgfHxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kYmctdGx2LmMtNTA2LVxcdCAgICB0cmFucy1cXHUwMDNlbWFjX2NmZy1cXHUwMDNlZGV2aWNlX2ZhbWlseSBcXHUwMDNjPSBJV0xfREVWSUNFX0ZBTUlMWV84MDAwKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuYz0xMz12b2lkIF9faXdsXyAjI2ZuKHN0cnVjdCBkZXZpY2UgKmRldiwgY29uc3QgY2hhciAqZm10LCAuLi4pXFx0XFxcXFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuYy0yMi1cXHRkZXZfICMjZm4oZGV2LCBcXFwiJXBWXFxcIiwgXFx1MDAyNnZhZik7XFx0XFx0XFx0XFx0XFxcXFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmM6MjM6XFx0dHJhY2VfaXdsd2lmaV8gIyNmbihcXHUwMDI2dmFmKTtcXHRcXHRcXHRcXHRcXFxcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuYy0yNC1cXHR2YV9lbmQoYXJncyk7XFx0XFx0XFx0XFx0XFx0XFx0XFxcXFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuYz0zND12b2lkIF9faXdsX2VycihzdHJ1Y3QgZGV2aWNlICpkZXYsIGVudW0gaXdsX2Vycl9tb2RlIG1vZGUsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuYy02MC1cXHR2YWYudmEgPSBcXHUwMDI2YXJncztcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5jOjYxOlxcdHRyYWNlX2l3bHdpZmlfZXJyKFxcdTAwMjZ2YWYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmMtNjItXFx0dmFfZW5kKGFyZ3MpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuYz02Nz12b2lkIF9faXdsX2RiZyhzdHJ1Y3QgZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5jLTgyLSNlbmRpZlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmM6ODM6XFx0dHJhY2VfaXdsd2lmaV9kYmcobGV2ZWwsIGZ1bmN0aW9uLCBcXHUwMDI2dmFmKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5jLTg0LVxcdHZhX2VuZChhcmdzKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmg9MTY9c3RhdGljIGlubGluZSBib29sIGl3bF9oYXZlX2RlYnVnX2xldmVsKHUzMiBsZXZlbClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmgtMTgtI2lmZGVmIENPTkZJR19JV0xXSUZJX0RFQlVHXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuaDoxOTpcXHRyZXR1cm4gaXdsd2lmaV9tb2RfcGFyYW1zLmRlYnVnX2xldmVsIFxcdTAwMjYgbGV2ZWw7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuaC0yMC0jZWxzZVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuaD0xMDI9ZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFx0XFx0XFx0XFxcXFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuaC0xMjYtICpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5oOjEyNzogKlxcdC9zeXMvbW9kdWxlL2l3bHdpZmkvcGFyYW1ldGVycy9kZWJ1Z1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmgtMTI4LSAqIHdoZW4gQ09ORklHX0lXTFdJRklfREVCVUc9eS5cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5oLTEyOS0gKlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmg6MTMwOiAqXFx0L3N5cy9rZXJuZWwvZGVidWcvcGh5MC9pd2x3aWZpL2RlYnVnL2RlYnVnX2xldmVsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuaC0xMzEtICogd2hlbiBDT05GSUdfSVdMV0lGSV9ERUJVR0ZTPXkuXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1kYXRhLmgtMTQtI3VuZGVmIFRSQUNFX1NZU1RFTVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWRhdGEuaDoxNTojZGVmaW5lIFRSQUNFX1NZU1RFTSBpd2x3aWZpX2RhdGFcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1kYXRhLmgtMTYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtZGF0YS5oOjE3OlRSQUNFX0VWRU5UKGl3bHdpZmlfZGV2X3R4X3RiLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWRhdGEuaC0xOC1cXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBza19idWZmICpza2IsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1kYXRhLmgtMzYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtZGF0YS5oOjM3OlRSQUNFX0VWRU5UKGl3bHdpZmlfZGV2X3J4X2RhdGEsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtZGF0YS5oLTM4LVxcdFRQX1BST1RPKGNvbnN0IHN0cnVjdCBkZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtMTQtI3VuZGVmIFRSQUNFX1NZU1RFTVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmg6MTU6I2RlZmluZSBUUkFDRV9TWVNURU0gaXdsd2lmaV9pb1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtMTYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDoxNzpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9pb3JlYWQzMixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTE4LVxcdFRQX1BST1RPKGNvbnN0IHN0cnVjdCBkZXZpY2UgKmRldiwgdTMyIG9mZnMsIHUzMiB2YWwpLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC0zMy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oOjM0OlRSQUNFX0VWRU5UKGl3bHdpZmlfZGV2X2lvd3JpdGU4LFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtMzUtXFx0VFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LCB1MzIgb2ZmcywgdTggdmFsKSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtNTAtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDo1MTpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9pb3dyaXRlMzIsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC01Mi1cXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHUzMiBvZmZzLCB1MzIgdmFsKSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtNjctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDo2ODpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9pb3dyaXRlNjQsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC02OS1cXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHU2NCBvZmZzLCB1NjQgdmFsKSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtODQtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDo4NTpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9pb3dyaXRlX3BycGgzMixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTg2LVxcdFRQX1BST1RPKGNvbnN0IHN0cnVjdCBkZXZpY2UgKmRldiwgdTMyIG9mZnMsIHUzMiB2YWwpLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC0xMDEtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDoxMDI6VFJBQ0VfRVZFTlQoaXdsd2lmaV9kZXZfaW93cml0ZV9wcnBoNjQsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC0xMDMtXFx0VFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LCB1NjQgb2ZmcywgdTY0IHZhbCksXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTExOC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oOjExOTpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9pb3JlYWRfcHJwaDMyLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtMTIwLVxcdFRQX1BST1RPKGNvbnN0IHN0cnVjdCBkZXZpY2UgKmRldiwgdTMyIG9mZnMsIHUzMiB2YWwpLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC0xMzUtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDoxMzY6VFJBQ0VfRVZFTlQoaXdsd2lmaV9kZXZfaXJxLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtMTM3LVxcdFRQX1BST1RPKGNvbnN0IHN0cnVjdCBkZXZpY2UgKmRldiksXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTE0OC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oOjE0OTpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9pcnFfbXNpeCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTE1MC1cXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBtc2l4X2VudHJ5ICptc2l4X2VudHJ5LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC0xNzEtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDoxNzI6VFJBQ0VfRVZFTlQoaXdsd2lmaV9kZXZfaWN0X3JlYWQsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC0xNzMtXFx0VFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LCB1MzIgaW5kZXgsIHUzMiB2YWx1ZSksXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pd2x3aWZpLmgtMTUtI3VuZGVmIFRSQUNFX1NZU1RFTVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWl3bHdpZmkuaDoxNjojZGVmaW5lIFRSQUNFX1NZU1RFTSBpd2x3aWZpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaXdsd2lmaS5oLTE3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWl3bHdpZmkuaDoxODpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9oY21kLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWl3bHdpZmkuaC0xOS1cXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pd2x3aWZpLmgtNTEtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaXdsd2lmaS5oOjUyOlRSQUNFX0VWRU5UKGl3bHdpZmlfZGV2X3J4LFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWl3bHdpZmkuaC01My1cXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pd2x3aWZpLmgtNzItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaXdsd2lmaS5oOjczOlRSQUNFX0VWRU5UKGl3bHdpZmlfZGV2X3R4LFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWl3bHdpZmkuaC03NC1cXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBza19idWZmICpza2IsXFxuXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDE4OjM5OjIyLjQyNjE0MjEyWiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjctZmxhc2giLCJEdXJhdGlvbiI6NzUyMDg3OTM1MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIGl3bHdpZmkgRHJpdmVyKipcblxuT2theSwgbGV0J3MgYnJlYWsgdGhpcyBkb3duLiAqaXdsd2lmaSrigKYgcmlnaHQsIGl0J3MgYSBQQ0kgZHJpdmVyLiBTcGVjaWZpY2FsbHksIGl0IHJlbGllcyBvbiBQQ0ksIEhBU19JT01FTSwgYW5kIENGRzgwMjExLCB3aGljaCBtYWtlcyBzZW5zZS4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhpcyBkcml2ZXIgYmV0dGVyLCBzbyBJJ20gdGhpbmtpbmcsIGRvZXMgKml3bHdpZmkqIGhhdmUgYW55IHNvcnQgb2Ygc29mdHdhcmUgZW11bGF0aW9uIG9yIG1vY2sgZnVuY3Rpb25hbGl0eSwgb3IgaXMgaXQgZXhjbHVzaXZlbHkgdGllZCB0byB0aGUgdmVuZG9yJ3Mgc3BlY2lmaWMgUENJZSBoYXJkd2FyZT8gVGhhdCdzIHRoZSBjb3JlIHF1ZXN0aW9uIGhlcmUuIEkgbmVlZCB0byBjb25maXJtIHdoZXRoZXIgSSBjYW4gd29yayB3aXRoIGl0IGluIGFuIGVtdWxhdGVkIGVudmlyb25tZW50LiBIb2xkIG9uLCBiZWZvcmUgSSBkaXZlIHRvbyBkZWVwIGludG8gdGhlIGJyb2FkZXIgc2NvcGUsIGxldCBtZSB0YWtlIGEgbG9vayBhdCBgaXdsX212bV91cGRhdGVfbWNjYC4gSG93IGlzIHRoYXQgZnVuY3Rpb24gY2FsbGVkPyBBbmQgd2hlcmUgaXMgaXQgYmVpbmcgdXNlZD8gVW5kZXJzdGFuZGluZyB0aGF0IGZ1bmN0aW9uJ3MgY29udGV4dCBtaWdodCBwcm92aWRlIHRoZSBjbHVlcyBJIG5lZWQgdG8gZGV0ZXJtaW5lIGhvdyB0aGUgZHJpdmVyIHdvcmtzIGF0IGEgZnVuZGFtZW50YWwgbGV2ZWwuIEkgbmVlZCB0byBzZWUgaG93IHRoZSBzb2Z0d2FyZSBpbnRlcmFjdHMgd2l0aCB0aGUgaGFyZHdhcmUsIHRvIHVuZGVyc3RhbmQgaXQncyBvcGVyYXRpb24uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE5NDYxLCJPdXRwdXRUb2tlbnMiOjQxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6OTUsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMzFUMTg6Mzk6MjkuOTQ3MDIzOTlaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTI0NTIxNTYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiaXdsX212bV91cGRhdGVfbWNjXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmlcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWFjODAyMTEuYz0xMTc9c3RydWN0IGllZWU4MDIxMV9yZWdkb21haW4gKml3bF9tdm1fZ2V0X3JlZ2RvbWFpbihzdHJ1Y3Qgd2lwaHkgKndpcGh5LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWFjODAyMTEuYy0xMzEtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWFjODAyMTEuYzoxMzI6XFx0cmVzcCA9IGl3bF9tdm1fdXBkYXRlX21jYyhtdm0sIGFscGhhMiwgc3JjX2lkKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tYWM4MDIxMS5jLTEzMy1cXHRpZiAoSVNfRVJSX09SX05VTEwocmVzcCkpIHtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL212bS5oPTIzMjI9c3RydWN0IGl3bF9tY2NfdXBkYXRlX3Jlc3BfdjggKlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL212bS5oOjIzMjM6aXdsX212bV91cGRhdGVfbWNjKHN0cnVjdCBpd2xfbXZtICptdm0sIGNvbnN0IGNoYXIgKmFscGhhMixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tdm0uaC0yMzI0LVxcdFxcdCAgIGVudW0gaXdsX21jY19zb3VyY2Ugc3JjX2lkKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jPTQwMD1zdHJ1Y3QgaXdsX21jY191cGRhdGVfcmVzcF92OCAqXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbnZtLmM6NDAxOml3bF9tdm1fdXBkYXRlX21jYyhzdHJ1Y3QgaXdsX212bSAqbXZtLCBjb25zdCBjaGFyICphbHBoYTIsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbnZtLmMtNDAyLVxcdFxcdCAgIGVudW0gaXdsX21jY19zb3VyY2Ugc3JjX2lkKVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0zMVQxODozOToyOS45OTk0ODIxNjZaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjo1MTE5MjYzMzY0OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipDaGVja2luZyBmb3IgUm9idXN0bmVzcyBpbiB0aGUgaXdsd2lmaSBEcml2ZXIqKlxuXG5Pa2F5LCBsZXQncyB0YWtlIGEgbG9vayBhdCB0aGUgYGl3bHdpZmlgIGRyaXZlci4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIGFzc2VzcyBpdHMgdGVzdCBjb3ZlcmFnZS4gSSB3YW50IHRvIHNlZSBpZiB0aGV5J3ZlIGltcGxlbWVudGVkIGFueSBLVW5pdCB0ZXN0cywgd2hpY2ggd291bGQgYmUgaWRlYWwuIEtVbml0IGlzIGEgZ3JlYXQgZnJhbWV3b3JrIGZvciBrZXJuZWwtbGV2ZWwgdW5pdCB0ZXN0aW5nLCBzbyB0aGF0J3MgdGhlIGZpcnN0IHBsYWNlIEknbGwgbG9vay4gSSdsbCBuZWVkIHRvIGNoZWNrIHRoZSBidWlsZCBjb25maWd1cmF0aW9uIGFuZCB0aGUgc291cmNlIGNvZGUgZm9yIHNpZ25zIG9mIGEgc2ltdWxhdGVkIGRyaXZlciBhcyB3ZWxsLiBTcGVjaWZpY2FsbHksIEkgbmVlZCB0byBjaGVjayBmb3IgYSBmbGFnLCBsaWtlbHkgc29tZXRoaW5nIGxpa2UgYElXTFdJRklfS1VOSVRfVEVTVFNgIGluIHRoZSBidWlsZCBjb25maWd1cmF0aW9uLiBUaGF0IHdvdWxkIGJlIHRoZSBlYXNpZXN0IHdheSB0byBpZGVudGlmeSBpZiB0aGV5J3JlIGFjdHVhbGx5IGludGVncmF0ZWQuIEhvcGVmdWxseSwgdGhleSBoYXZlIGEgc29saWQgdGVzdCBzdWl0ZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MjAyNzYsIk91dHB1dFRva2VucyI6MjQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozNywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0zMVQxODo0MDoyMS4xOTIxMTgzNjVaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTc2MTQzMDgyOCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJJV0xXSUZJX0tVTklUX1RFU1RTXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZz00Nz1pZiBJV0xXSUZJXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTQ4LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzo0OTpjb25maWcgSVdMV0lGSV9LVU5JVF9URVNUU1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy01MC1cXHR0cmlzdGF0ZVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnPTk1PWNvbmZpZyBJV0xXSUZJX09QTU9ERV9NT0RVTEFSXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctOTktXFx0ZGVmYXVsdCB5IGlmIElXTE1MRD1tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjEwMDpcXHRkZWZhdWx0IHkgaWYgSVdMV0lGSV9LVU5JVF9URVNUUz1tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTEwMS1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU9NTI9b2JqLSQoQ09ORklHX0lXTE1MRClcXHQrPSBtbGQvXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZS01My1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjU0Om9iai0kKENPTkZJR19JV0xXSUZJX0tVTklUX1RFU1RTKSArPSB0ZXN0cy9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTU1LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtY29uZmlnLmg9NTEzPXN0cnVjdCBpd2xfZGV2X2luZm8ge1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtY29uZmlnLmgtNTMxLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWNvbmZpZy5oOjUzMjojaWYgSVNfRU5BQkxFRChDT05GSUdfSVdMV0lGSV9LVU5JVF9URVNUUylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1jb25maWcuaC01MzMtZXh0ZXJuIGNvbnN0IHN0cnVjdCBpd2xfZGV2X2luZm8gaXdsX2Rldl9pbmZvX3RhYmxlW107XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kcnYuaD04NT1ib29sIGl3bF9kcnZfaXNfd2lmaTdfc3VwcG9ydGVkKHN0cnVjdCBpd2xfdHJhbnMgKnRyYW5zKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRydi5oLTk5LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRydi5oOjEwMDojaWYgSVNfRU5BQkxFRChDT05GSUdfSVdMV0lGSV9LVU5JVF9URVNUUylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kcnYuaC0xMDEtI2RlZmluZSBFWFBPUlRfU1lNQk9MX0lGX0lXTFdJRklfS1VOSVQoc3ltKVxcdEVYUE9SVF9TWU1CT0xfSUZfS1VOSVQoc3ltKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtbnZtLXBhcnNlLmg9NzU9ZW51bSBpd2xfbnZtX2NoYW5uZWxfZmxhZ3Mge1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtbnZtLXBhcnNlLmgtOTMtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtbnZtLXBhcnNlLmg6OTQ6I2lmIElTX0VOQUJMRUQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtbnZtLXBhcnNlLmgtOTUtdTMyIGl3bF9udm1fZ2V0X3JlZ2RvbV9id19mbGFncyhjb25zdCB1MTYgKm52bV9jaGFuLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvTWFrZWZpbGU9Mj1vYmotJChDT05GSUdfSVdMTUxEKSAgICs9IGl3bG1sZC5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvTWFrZWZpbGU6MzpvYmotJChDT05GSUdfSVdMV0lGSV9LVU5JVF9URVNUUykgKz0gdGVzdHMvXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvTWFrZWZpbGUtNC1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL2xpbmsuaD0xNDI9dW5zaWduZWQgaW50IGl3bF9tbGRfZ2V0X2xpbmtfZ3JhZGUoc3RydWN0IGl3bF9tbGQgKm1sZCxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL2xpbmsuaC0xNDQtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbGluay5oOjE0NTojaWYgSVNfRU5BQkxFRChDT05GSUdfSVdMV0lGSV9LVU5JVF9URVNUUylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9saW5rLmgtMTQ2LXM4IGl3bF9tbGRfZ2V0X2R1cF9iZWFjb25fcnNzaV9hZGp1c3Qoc3RydWN0IGl3bF9tbGQgKm1sZCxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21sZC5jPTM0MT1FWFBPUlRfU1lNQk9MX0lGX0lXTFdJRklfS1VOSVQoaXdsX21sZF9ncm91cHMpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21sZC5jLTM0Mi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tbGQuYzozNDM6I2lmIElTX0VOQUJMRUQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWxkLmMtMzQ0LWNvbnN0IHVuc2lnbmVkIGludCBnbG9iYWxfaXdsX21sZF9nb3Vwc19zaXplID0gQVJSQVlfU0laRShpd2xfbWxkX2dyb3Vwcyk7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tbGQuaD01MDY9c3RydWN0IGl3bF9ub3RpZl9zdHJ1Y3Rfc2l6ZSB7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tbGQuaC01MDktXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWxkLmg6NTEwOiNpZiBJU19FTkFCTEVEKENPTkZJR19JV0xXSUZJX0tVTklUX1RFU1RTKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21sZC5oLTUxMS1leHRlcm4gY29uc3Qgc3RydWN0IGl3bF9oY21kX2FyciBpd2xfbWxkX2dyb3Vwc1tdO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWxvLmg9MTY1PXZvaWQgaXdsX21sZF9lbWxzcl9ibG9ja190bXBfbm9uX2JzcyhzdHJ1Y3QgaXdsX21sZCAqbWxkKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tbG8uaC0xNjYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWxvLmg6MTY3OiNpZiBJU19FTkFCTEVEKENPTkZJR19JV0xXSUZJX0tVTklUX1RFU1RTKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21sby5oLTE2OC11MzIgaXdsX21sZF9lbWxzcl9wYWlyX3N0YXRlKHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9ub3RpZi5jPTQ3Nj1FWFBPUlRfU1lNQk9MX0lGX0lXTFdJRklfS1VOSVQoaXdsX21sZF9yeF9oYW5kbGVycyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbm90aWYuYy00NzctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbm90aWYuYzo0Nzg6I2lmIElTX0VOQUJMRUQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbm90aWYuYy00NzktY29uc3QgdW5zaWduZWQgaW50IGl3bF9tbGRfcnhfaGFuZGxlcnNfbnVtID0gQVJSQVlfU0laRShpd2xfbWxkX3J4X2hhbmRsZXJzKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL3Rlc3RzL01ha2VmaWxlPTU9Y2NmbGFncy15ICs9IC1JJChzcmMpLy4uL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL3Rlc3RzL01ha2VmaWxlOjY6b2JqLSQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpICs9IGl3bG1sZC10ZXN0cy5vXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9NYWtlZmlsZT0yPW9iai0kKENPTkZJR19JV0xNVk0pICAgKz0gaXdsbXZtLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9NYWtlZmlsZTozOm9iai0kKENPTkZJR19JV0xXSUZJX0tVTklUX1RFU1RTKSArPSB0ZXN0cy9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9NYWtlZmlsZS00LWl3bG12bS15ICs9IGZ3Lm8gbWFjODAyMTEubyBudm0ubyBvcHMubyBwaHktY3R4dC5vIG1hYy1jdHh0Lm9cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL212bS5oPTE5NjY9aW50IGl3bF9tdm1fZGlzYWJsZV9saW5rKHN0cnVjdCBpd2xfbXZtICptdm0sIHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tdm0uaC0xOTY4LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL212bS5oOjE5Njk6I2lmIElTX0VOQUJMRUQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbXZtLmgtMTk3MC1leHRlcm4gY29uc3Qgc3RydWN0IGl3bF9oY21kX2FyciBpd2xfbXZtX2dyb3Vwc1tdO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vb3BzLmM9NzM2PUVYUE9SVF9TWU1CT0xfSUZfSVdMV0lGSV9LVU5JVChpd2xfbXZtX2dyb3Vwcyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vb3BzLmM6NzM3OiNpZiBJU19FTkFCTEVEKENPTkZJR19JV0xXSUZJX0tVTklUX1RFU1RTKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL29wcy5jLTczOC1jb25zdCB1bnNpZ25lZCBpbnQgaXdsX212bV9ncm91cHNfc2l6ZSA9IEFSUkFZX1NJWkUoaXdsX212bV9ncm91cHMpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vdGVzdHMvTWFrZWZpbGU9MT1pd2xtdm0tdGVzdHMteSArPSBtb2R1bGUubyBoY21kLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS90ZXN0cy9NYWtlZmlsZS0yLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL3Rlc3RzL01ha2VmaWxlOjM6b2JqLSQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpICs9IGl3bG12bS10ZXN0cy5vXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmM9MTA5Mj1FWFBPUlRfU1lNQk9MX0lGX0lXTFdJRklfS1VOSVQoaXdsX2Rldl9pbmZvX3RhYmxlKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmMtMTA5My1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmM6MTA5NDojaWYgSVNfRU5BQkxFRChDT05GSUdfSVdMV0lGSV9LVU5JVF9URVNUUylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmMtMTA5NS1jb25zdCB1bnNpZ25lZCBpbnQgaXdsX2Rldl9pbmZvX3RhYmxlX3NpemUgPSBBUlJBWV9TSVpFKGl3bF9kZXZfaW5mb190YWJsZSk7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3Rlc3RzL01ha2VmaWxlPTU9Y2NmbGFncy15ICs9IC1JJChzcmMpLy4uL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvdGVzdHMvTWFrZWZpbGUtNi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3Rlc3RzL01ha2VmaWxlOjc6b2JqLSQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpICs9IGl3bHdpZmktdGVzdHMub1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0zMVQxODo0MDoyMi45NTM1NTYzMDNaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjoxOTYwOTY1MDk0OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBc3Nlc3NtZW50IG9mIHRoZSBgaXdsd2lmaWAgRHJpdmVyJ3MgRnV6emluZyBQb3RlbnRpYWwqKlxuXG5Pa2F5LCBsZXQncyBicmVhayB0aGlzIGRvd24uIEZpcnN0LCBJIG5lZWQgdG8gdW5kZXJzdGFuZCB3aGF0IGBpd2x3aWZpYCBpcy4gUmlnaHQsIGl0J3MgdGhlIEludGVsIFdpRmkgZHJpdmVyLCBzcGVjaWZpYyB0byBwaHlzaWNhbCBQQ0llIHdpcmVsZXNzIGFkYXB0ZXJzIOKAkyB0aGUgNzI2MHMsIDgyNjVzLCB0aGUgQVggc2VyaWVzLi4uIHlvdSBrbm93LCB0aGUgdXN1YWwgc3VzcGVjdHMuIE5vdywgdGhlIGtleSBxdWVzdGlvbiBmb3IgZnV6emluZyBpczogY2FuIEkgZXZlbiAqdXNlKiBvciBpbnN0YW50aWF0ZSB0aGlzIGRyaXZlciB3aXRob3V0IHRoZSBwaHlzaWNhbCBJbnRlbCBXaUZpIFBDSWUgaGFyZHdhcmUsIHNwZWNpZmljYWxseSBpbiBhIHZpcnR1YWwgZW52aXJvbm1lbnQgbGlrZSBRRU1VIG9yIEdDRT9cblxuTGV0J3MgcmVmZXIgdG8gdGhvc2UgcnVsZXMgb2YgZnV6emluZyBhbmQgZmlndXJlIHRoaXMgb3V0LiBJIHJlbWVtYmVyIHRob3NlIHNwZWNpZmljIGNvbmRpdGlvbnMgdGhhdCBkaXNxdWFsaWZ5IGEgcGF0Y2ggZnJvbSBiZWluZyB3b3J0aCBmdXp6aW5nOiB1bnJlYWNoYWJsZSBjb2RlIHBhdGhzIGluIHZpcnR1YWwgZW52aXJvbm1lbnRzLCB2ZW5kb3Itc3BlY2lmaWMgc3R1ZmYgdGllZCB0byBwaHlzaWNhbCBoYXJkd2FyZSB0aGF0IGlzbid0IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUsIG9yIHRlYXJkb3duIGNhbGxiYWNrcyB0aGF0IG9ubHkgdHJpZ2dlciBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3IgZHJpdmVyIHVuYmluZGluZy5cblxuUmlnaHQsIHNvIGNhbiBRRU1VIGVtdWxhdGUgdGhlc2UgSW50ZWwgYGl3bHdpZmlgIFBDSSBkZXZpY2VzPyBBIHF1aWNrIGNoZWNrIHJldmVhbHMgdGhhdCBzdGFuZGFyZCBRRU1VIGRvZXNuJ3QgZGlyZWN0bHkgZW11bGF0ZSB0aG9zZS4gSXQgZm9jdXNlcyBvbiB0aGUgbW9yZSBjb21tb24gbmV0d29yayBhZGFwdGVycyBsaWtlIGUxMDAwLCBydGw4MTM5LCB2aXJ0aW8tbmV0LCBhbmQgc28gb24uXG5cbkhtbSwgbWFjODAyMTFfaHdzaW3igKYgVGhhdCdzIGEgc2VwYXJhdGUgdmlydHVhbCBtYWM4MDIxMSBkcml2ZXIuIEl0J3Mgc2VwYXJhdGUgZnJvbSBgaXdsd2lmaWAgYW5kIGBpd2xtdm1gLiBPa2F5LCBzbyBtYWM4MDIxMV9od3NpbSBpcyAqbm90KiBhbiBhdmVudWUgdG8gZXhwbG9yZSBmb3IgZnV6emluZyBgaXdsd2lmaWAuXG5cbkxldCBtZSB2ZXJpZnkgaWYgSSdtIG1pc3Npbmcgc29tZXRoaW5nLCB0aG91Z2guIFBlcmhhcHMgdGhlcmUgaXMgYSB2aXJ0dWFsIGJ1cyBvciBkdW1teSBkZXZpY2UgdGhhdCBpcyBwYXJ0IG9mIHRoZSBpd2x3aWZpIHBhY2thZ2UgSSdtIG1pc3NpbmcuIFRpbWUgdG8gZXhwbG9yZSBgZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9gLi4uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjIzMTU1LCJPdXRwdXRUb2tlbnMiOjM5LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDE5LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDE4OjQwOjQyLjU2MzIxMDczM1oiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDk1OTAyNDYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwicGxhdGZvcm1fZHJpdmVyfHBjaV9kcml2ZXJcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaVwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmM9MTMzMD1zdGF0aWMgdm9pZCBpd2xfcGNpX2R1bXAoc3RydWN0IGRldmljZSAqZGV2aWNlKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9wY2llL2Rydi5jLTEzMzctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9wY2llL2Rydi5jOjEzMzg6c3RhdGljIHN0cnVjdCBwY2lfZHJpdmVyIGl3bF9wY2lfZHJpdmVyID0ge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvcGNpZS9kcnYuYy0xMzM5LVxcdC5uYW1lID0gRFJWX05BTUUsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmM9MTM0Nz1pbnQgX19tdXN0X2NoZWNrIGl3bF9wY2lfcmVnaXN0ZXJfZHJpdmVyKHZvaWQpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmMtMTM0OS1cXHRpbnQgcmV0O1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvcGNpZS9kcnYuYzoxMzUwOlxcdHJldCA9IHBjaV9yZWdpc3Rlcl9kcml2ZXIoXFx1MDAyNml3bF9wY2lfZHJpdmVyKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmMtMTM1MS1cXHRpZiAocmV0KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9wY2llL2Rydi5jPTEzNTc9dm9pZCBpd2xfcGNpX3VucmVnaXN0ZXJfZHJpdmVyKHZvaWQpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9wY2llL2Rydi5jLTEzNTgte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvcGNpZS9kcnYuYzoxMzU5OlxcdHBjaV91bnJlZ2lzdGVyX2RyaXZlcihcXHUwMDI2aXdsX3BjaV9kcml2ZXIpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvcGNpZS9kcnYuYy0xMzYwLX1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMzFUMTg6NDA6NDIuNjEyODA1MTM5WiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjY4MDY1NzcwNDMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgQW5hbHlzaXMgb2YgdGhlIGl3bHdpZmkgRHJpdmVyJ3MgSW50ZXJhY3Rpb24qKlxuXG5Pa2F5LCBzbyB0aGUgYGl3bHdpZmlgIGRyaXZlciwgZnJvbSB3aGF0IEknbSBzZWVpbmcsIHByaW1hcmlseSBob29rcyBpbnRvIHRoZSBzeXN0ZW0gdGhyb3VnaCB0aGUgYGl3bF9wY2lfZHJpdmVyYCBtb2R1bGUuIFRoaXMgaXMgdGhlIGVudHJ5IHBvaW50LCB0aGUgdGhpbmcgdGhhdCBhdHRhY2hlcyBkaXJlY3RseSB0byB0aGUgcGh5c2ljYWwgUENJZSBJbnRlbCBXaUZpIGhhcmR3YXJlLiBNYWtlcyBzZW5zZSwgdGhhdCdzIHRoZSBmb3VuZGF0aW9uLlxuXG5Ob3csIGRpZ2dpbmcgZGVlcGVyLCBJIHNlZSB0aGF0IGEgZnVuY3Rpb24gY2FsbGVkIGBpd2xfbXZtX3VwZGF0ZV9tY2NgIGlzIGNlbnRyYWwgdG8gbWFuYWdpbmcsIG9yIHVwZGF0aW5nIHRoZSBkZXZpY2UncyBjYXBhYmlsaXRpZXMsIHNwZWNpZmljYWxseSBieSB1c2luZyB0aGUgYE1DQ19VUERBVEVfQ01EYC4gVGhpcyBjb21tYW5kIGlzIHRoZW4gc2VudCBkaXJlY3RseSB0byB0aGUgZmlybXdhcmUgdGhhdCdzICpydW5uaW5nKiBvbiB0aGUgSW50ZWwgV2lGaSBoYXJkd2FyZSBpdHNlbGYsIHVzaW5nIGBpd2xfbXZtX3NlbmRfY21kX3BkZXYobXZtLCBcdTAwMjZjbWQpYC4gVGhhdCdzIHdoZXJlIHRoZSByZWFsIGludGVsbGlnZW5jZSBzZWVtcyB0byByZXNpZGUsIGluIHRoZSBmaXJtd2FyZS4gQW5kLCBpdCdzIG5vdCBhIG9uZS13YXkgc3RyZWV0LCB0aGUgZHJpdmVyIGFjdHVhbGx5IGNhcmVzIGFib3V0IHRoZSBkZXZpY2UncyByZXNwb25zZSBhZnRlciBzZW5kaW5nIHRoaXMgY29tbWFuZCwgc28gaXQgbXVzdCBwYXJzZSB0aGUgcmVzdWx0IGZyb20gdGhlIGZpcm13YXJlLlxuXG5HaXZlbiB0aGlzLCBJJ20gZ29pbmcgdG8gc3RhcnQgcmVhZGluZyB0aGUgY29kZSBmb3IgYGl3bF9tdm1fdXBkYXRlX21jY2AgZnVuY3Rpb24uIEFjY29yZGluZyB0byB0aGUgdGV4dCwgdGhlIHNvdXJjZSBmaWxlIGlzIGxvY2F0ZWQgaW4gYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jYC4gVGhpcyB3aWxsIGdpdmUgbWUgdGhlIGxvd2Rvd24gb24gdGhlIHNwZWNpZmljIHVwZGF0ZSBmbG93LlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNDQzOCwiT3V0cHV0VG9rZW5zIjo0NywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjEzMywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0zMVQxODo0MDo0OS40MTkzODU5MTNaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTE4MzIwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDQxMCxcbiAgXCJMaW5lQ291bnRcIjogODBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiIDQxMDpcXHRcXHRzdHJ1Y3QgaXdsX2hvc3RfY21kIGNtZCA9IHtcXG4gNDExOlxcdFxcdFxcdC5pZCA9IE1DQ19VUERBVEVfQ01ELFxcbiA0MTI6XFx0XFx0XFx0LmZsYWdzID0gQ01EX1dBTlRfU0tCIHwgQ01EX1NFTkRfSU5fUkZLSUxMLFxcbiA0MTM6XFx0XFx0XFx0LmRhdGEgPSB7IFxcdTAwMjZtY2NfdXBkYXRlX2NtZCB9LFxcbiA0MTQ6XFx0XFx0fTtcXG4gNDE1OlxcdFxcbiA0MTY6XFx0XFx0aW50IHJldCwgcmVzcF92ZXI7XFxuIDQxNzpcXHRcXHR1MzIgc3RhdHVzO1xcbiA0MTg6XFx0XFx0aW50IHJlc3BfbGVuLCBuX2NoYW5uZWxzO1xcbiA0MTk6XFx0XFx0dW5zaWduZWQgaW50IHBrdF9sZW47XFxuIDQyMDpcXHRcXHR1MTYgbWNjO1xcbiA0MjE6XFx0XFxuIDQyMjpcXHRcXHRpZiAoV0FSTl9PTl9PTkNFKCFpd2xfbXZtX2lzX2xhcl9zdXBwb3J0ZWQobXZtKSkpXFxuIDQyMzpcXHRcXHRcXHRyZXR1cm4gRVJSX1BUUigtRU9QTk9UU1VQUCk7XFxuIDQyNDpcXHRcXG4gNDI1OlxcdFxcdGNtZC5sZW5bMF0gPSBzaXplb2Yoc3RydWN0IGl3bF9tY2NfdXBkYXRlX2NtZCk7XFxuIDQyNjpcXHRcXG4gNDI3OlxcdFxcdElXTF9ERUJVR19MQVIobXZtLCBcXFwic2VuZCBNQ0MgdXBkYXRlIHRvIEZXIHdpdGggJyVjJWMnIHNyYyA9ICVkXFxcXG5cXFwiLFxcbiA0Mjg6XFx0XFx0XFx0ICAgICAgYWxwaGEyWzBdLCBhbHBoYTJbMV0sIHNyY19pZCk7XFxuIDQyOTpcXHRcXG4gNDMwOlxcdFxcdHJldCA9IGl3bF9tdm1fc2VuZF9jbWQobXZtLCBcXHUwMDI2Y21kKTtcXG4gNDMxOlxcdFxcdGlmIChyZXQpXFxuIDQzMjpcXHRcXHRcXHRyZXR1cm4gRVJSX1BUUihyZXQpO1xcbiA0MzM6XFx0XFxuIDQzNDpcXHRcXHRwa3QgPSBjbWQucmVzcF9wa3Q7XFxuIDQzNTpcXHRcXHRwa3RfbGVuID0gaXdsX3J4X3BhY2tldF9wYXlsb2FkX2xlbihwa3QpO1xcbiA0MzY6XFx0XFxuIDQzNzpcXHRcXHRyZXNwX3ZlciA9IGl3bF9md19sb29rdXBfbm90aWZfdmVyKG12bS1cXHUwMDNlZncsIElXTF9BTFdBWVNfTE9OR19HUk9VUCxcXG4gNDM4OlxcdFxcdFxcdFxcdFxcdFxcdCAgIE1DQ19VUERBVEVfQ01ELCAwKTtcXG4gNDM5OlxcdFxcbiA0NDA6XFx0XFx0LyogRXh0cmFjdCBNQ0MgcmVzcG9uc2UgKi9cXG4gNDQxOlxcdFxcdGlmIChyZXNwX3ZlciBcXHUwMDNlPSA4KSB7XFxuIDQ0MjpcXHRcXHRcXHRzdHJ1Y3QgaXdsX21jY191cGRhdGVfcmVzcF92OCAqbWNjX3Jlc3BfdjggPSAodm9pZCAqKXBrdC1cXHUwMDNlZGF0YTtcXG4gNDQzOlxcdFxcbiA0NDQ6XFx0XFx0XFx0aWYgKElXTF9GV19DSEVDSyhtdm0sIHBrdF9sZW4gXFx1MDAzYyBzaXplb2YoKm1jY19yZXNwX3Y4KSxcXG4gNDQ1OlxcdFxcdFxcdFxcdFxcdCBcXFwiTUNDIHY4IHJlc3BvbnNlIHRvbyBzaG9ydDogJXVcXFxcblxcXCIsIHBrdF9sZW4pKSB7XFxuIDQ0NjpcXHRcXHRcXHRcXHRyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTtcXG4gNDQ3OlxcdFxcdFxcdFxcdGdvdG8gZXhpdDtcXG4gNDQ4OlxcdFxcdFxcdH1cXG4gNDQ5OlxcdFxcbiA0NTA6XFx0XFx0XFx0bl9jaGFubmVscyA9ICBfX2xlMzJfdG9fY3B1KG1jY19yZXNwX3Y4LVxcdTAwM2VuX2NoYW5uZWxzKTtcXG4gNDUxOlxcdFxcdFxcdGlmIChJV0xfRldfQ0hFQ0sobXZtLFxcbiA0NTI6XFx0XFx0XFx0XFx0XFx0IHBrdF9sZW4gIT1cXG4gNDUzOlxcdFxcdFxcdFxcdFxcdCBzdHJ1Y3Rfc2l6ZShtY2NfcmVzcF92OCwgY2hhbm5lbHMsIG5fY2hhbm5lbHMpLFxcbiA0NTQ6XFx0XFx0XFx0XFx0XFx0IFxcXCJpbnZhbGlkIE1DQyB2OCByZXNwb25zZSBzaXplOiAldSAobl9jaGFubmVscz0lZClcXFxcblxcXCIsXFxuIDQ1NTpcXHRcXHRcXHRcXHRcXHQgcGt0X2xlbiwgbl9jaGFubmVscykpIHtcXG4gNDU2OlxcdFxcdFxcdFxcdHJlc3BfY3AgPSBFUlJfUFRSKC1FSU5WQUwpO1xcbiA0NTc6XFx0XFx0XFx0XFx0Z290byBleGl0O1xcbiA0NTg6XFx0XFx0XFx0fVxcbiA0NTk6XFx0XFx0XFx0cmVzcF9sZW4gPSBzdHJ1Y3Rfc2l6ZShyZXNwX2NwLCBjaGFubmVscywgbl9jaGFubmVscyk7XFxuIDQ2MDpcXHRcXHRcXHRyZXNwX2NwID0ga3phbGxvYyhyZXNwX2xlbiwgR0ZQX0tFUk5FTCk7XFxuIDQ2MTpcXHRcXHRcXHRpZiAoIXJlc3BfY3ApIHtcXG4gNDYyOlxcdFxcdFxcdFxcdHJlc3BfY3AgPSBFUlJfUFRSKC1FTk9NRU0pO1xcbiA0NjM6XFx0XFx0XFx0XFx0Z290byBleGl0O1xcbiA0NjQ6XFx0XFx0XFx0fVxcbiA0NjU6XFx0XFx0XFx0cmVzcF9jcC1cXHUwMDNlc3RhdHVzID0gbWNjX3Jlc3BfdjgtXFx1MDAzZXN0YXR1cztcXG4gNDY2OlxcdFxcdFxcdHJlc3BfY3AtXFx1MDAzZW1jYyA9IG1jY19yZXNwX3Y4LVxcdTAwM2VtY2M7XFxuIDQ2NzpcXHRcXHRcXHRyZXNwX2NwLVxcdTAwM2VjYXAgPSBtY2NfcmVzcF92OC1cXHUwMDNlY2FwO1xcbiA0Njg6XFx0XFx0XFx0cmVzcF9jcC1cXHUwMDNlc291cmNlX2lkID0gbWNjX3Jlc3BfdjgtXFx1MDAzZXNvdXJjZV9pZDtcXG4gNDY5OlxcdFxcdFxcdHJlc3BfY3AtXFx1MDAzZXRpbWUgPSBtY2NfcmVzcF92OC1cXHUwMDNldGltZTtcXG4gNDcwOlxcdFxcdFxcdHJlc3BfY3AtXFx1MDAzZWdlb19pbmZvID0gbWNjX3Jlc3BfdjgtXFx1MDAzZWdlb19pbmZvO1xcbiA0NzE6XFx0XFx0XFx0cmVzcF9jcC1cXHUwMDNlbl9jaGFubmVscyA9IG1jY19yZXNwX3Y4LVxcdTAwM2VuX2NoYW5uZWxzO1xcbiA0NzI6XFx0XFx0XFx0bWVtY3B5KHJlc3BfY3AtXFx1MDAzZWNoYW5uZWxzLCBtY2NfcmVzcF92OC1cXHUwMDNlY2hhbm5lbHMsXFxuIDQ3MzpcXHRcXHRcXHQgICAgICAgbl9jaGFubmVscyAqIHNpemVvZihfX2xlMzIpKTtcXG4gNDc0OlxcdFxcdH0gZWxzZSBpZiAoZndfaGFzX2NhcGEoXFx1MDAyNm12bS1cXHUwMDNlZnctXFx1MDAzZXVjb2RlX2NhcGEsXFxuIDQ3NTpcXHRcXHRcXHRcXHQgICAgICAgSVdMX1VDT0RFX1RMVl9DQVBBX01DQ19VUERBVEVfMTFBWF9TVVBQT1JUKSkge1xcbiA0NzY6XFx0XFx0XFx0c3RydWN0IGl3bF9tY2NfdXBkYXRlX3Jlc3BfdjQgKm1jY19yZXNwX3Y0ID0gKHZvaWQgKilwa3QtXFx1MDAzZWRhdGE7XFxuIDQ3NzpcXHRcXG4gNDc4OlxcdFxcdFxcdGlmIChJV0xfRldfQ0hFQ0sobXZtLCBwa3RfbGVuIFxcdTAwM2Mgc2l6ZW9mKCptY2NfcmVzcF92NCksXFxuIDQ3OTpcXHRcXHRcXHRcXHRcXHQgXFxcIk1DQyB2NCByZXNwb25zZSB0b28gc2hvcnQ6ICV1XFxcXG5cXFwiLCBwa3RfbGVuKSkge1xcbiA0ODA6XFx0XFx0XFx0XFx0cmVzcF9jcCA9IEVSUl9QVFIoLUVJTlZBTCk7XFxuIDQ4MTpcXHRcXHRcXHRcXHRnb3RvIGV4aXQ7XFxuIDQ4MjpcXHRcXHRcXHR9XFxuIDQ4MzpcXHRcXG4gNDg0OlxcdFxcdFxcdG5fY2hhbm5lbHMgPSAgX19sZTMyX3RvX2NwdShtY2NfcmVzcF92NC1cXHUwMDNlbl9jaGFubmVscyk7XFxuIDQ4NTpcXHRcXHRcXHRpZiAoSVdMX0ZXX0NIRUNLKG12bSxcXG4gNDg2OlxcdFxcdFxcdFxcdFxcdCBwa3RfbGVuICE9XFxuIDQ4NzpcXHRcXHRcXHRcXHRcXHQgc3RydWN0X3NpemUobWNjX3Jlc3BfdjQsIGNoYW5uZWxzLCBuX2NoYW5uZWxzKSxcXG4gNDg4OlxcdFxcdFxcdFxcdFxcdCBcXFwiaW52YWxpZCBNQ0MgdjQgcmVzcG9uc2Ugc2l6ZTogJXUgKG5fY2hhbm5lbHM9JWQpXFxcXG5cXFwiLFxcbiA0ODk6XFx0XFx0XFx0XFx0XFx0IHBrdF9sZW4sIG5fY2hhbm5lbHMpKSB7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDE4OjQwOjQ5LjQxOTUwNjQzM1oiLCJTZXEiOjEzLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjoxMTg3Mjg1NTcxNiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBc3Nlc3NtZW50IG9mIHRoZSBGdXp6aW5nIFN1aXRhYmlsaXR5KipcblxuT2theSwgc28gdGhpcyBjb2RlIHJlc2lkZXMgd2l0aGluIGBpd2x3aWZpYCwgc3BlY2lmaWNhbGx5IHRoZSBJbnRlbCBNVk0gd2lyZWxlc3MgZHJpdmVyIChgSVdMTVZNYCkuIFRoaXMgaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJIGRyaXZlciBkZXNpZ25lZCBmb3IgSW50ZWwgV2lGaSBoYXJkd2FyZSBjYXJkcy4gQ3J1Y2lhbGx5LCB0aGlzIGhhcmR3YXJlIGlzICpwaHlzaWNhbCogUENJZSBoYXJkd2FyZSwgbm90IHNvbWV0aGluZyBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIEdDRSB2aXJ0dWFsIG1hY2hpbmVzLiBUaGF0IHB1dHMgaXQgZGlyZWN0bHkgaW50byB0aGUgY2F0ZWdvcnkgb2YgXCJjb2RlIHBhdGhzIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLFwiIGV2ZW4gd2l0aCBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSBsaWtlIGB1c2IgZ2FkZ2V0YCBvciBgbWFjODAyMTFfaHdzaW1gLiBBbHNvLCB0aGlzIGlzIGEgUENJZSBkcml2ZXIsIHBsYWNpbmcgaXQgaW4gdGhlIGNhdGVnb3J5IG9mLCBcIkNvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMuXCJcblxuR2l2ZW4gdGhlc2UgZmFjdHMsIGBXb3J0aEZ1enppbmdgIGhhcyB0byBiZSBgZmFsc2VgLiBJdCdzIHNpbXBseSBub3QgZmVhc2libGUgdG8gdGVzdCB0aGlzIGNvZGUgZGlyZWN0bHkgaW4gYSBzdGFuZGFyZCBmdXp6aW5nIHNldHVwLlxuXG5CZWZvcmUgSSBjb21taXQgdG8gc2V0dGluZyB0aGUgcmVzdWx0cywgSSdtIGdvaW5nIHRvIHF1aWNrbHkgcmV2aWV3IGV2ZXJ5dGhpbmcuIExldCBtZSBzZWUuLi5cblxuKiAgIGBXb3J0aEZ1enppbmdgOiBEZWZpbml0ZWx5IGBmYWxzZWAuXG4qICAgYEZvY3VzU3ltYm9sc2A6IEVtcHR5OyB0aGF0J3MgcmlnaHQsIG5vdGhpbmcgdG8gZm9jdXMgb24uXG4qICAgYEVuYWJsZUNvbmZpZ3NgOiBFbXB0eTsgbWFrZXMgc2Vuc2UsIG5vIHNwZWNpYWwgY29uZmlndXJhdGlvbnMgYXJlIG5lZWRlZC5cbiogICBgUmVhc29uaW5nYDogQ29uY2lzZSBhbmQgYWNjdXJhdGUuIFRoZSByZWFzb25pbmcgZm9yIGBXb3J0aEZ1enppbmc6IGZhbHNlYCBpcywgXCJUaGUgbW9kaWZpZWQgY29kZSBpcyBpbiB0aGUgSW50ZWwgaXdsd2lmaSBkcml2ZXIgKHNwZWNpZmljYWxseSBpd2xtdm0pLCB3aGljaCByZXF1aXJlcyBwaHlzaWNhbCBJbnRlbCBQQ0llIHdpcmVsZXNzIGhhcmR3YXJlIHRoYXQgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVUgb3IgR0NFLlwiXG5cbkFscmlnaHQsIHBhcmFtZXRlcnMgdmVyaWZpZWQuIExldCdzIGNvbmZpcm0gYWdhaW46XG5cbiogICBgV29ydGhGdXp6aW5nYDogZmFsc2VcbiogICBgRm9jdXNTeW1ib2xzYDogW11cbiogICBgRW5hYmxlQ29uZmlnc2A6IFtdXG4qICAgYFJlYXNvbmluZ2A6IFwiVGhlIG1vZGlmaWVkIGNvZGUgaXMgaW4gdGhlIEludGVsIGl3bHdpZmkgZHJpdmVyIChzcGVjaWZpY2FsbHkgaXdsbXZtKSwgd2hpY2ggcmVxdWlyZXMgcGh5c2ljYWwgSW50ZWwgUENJZSB3aXJlbGVzcyBoYXJkd2FyZSB0aGF0IGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBRRU1VIG9yIEdDRS5cIlxuXG5Pa2F5LCBJJ20gY29uZmlkZW50IGluIHRoZXNlIHBhcmFtZXRlcnMuIEknbGwgZXhlY3V0ZSBgc2V0LXJlc3VsdHNgIG5vdy5cblxuXG4iLCJJbnB1dFRva2VucyI6MjYzOTQsIk91dHB1dFRva2VucyI6OTMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozMjEsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0zMVQxODo0MTowMS4yOTIzNjQ2MzlaIiwiU2VxIjoxNCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyNDYyMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW10sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyBNQ0MgcmVzcG9uc2UgcGFja2V0IHNpemUgdmFsaWRhdGlvbiBpbiB0aGUgSW50ZWwgaXdsd2lmaSB3aXJlbGVzcyBkcml2ZXIgKGl3bG12bSkuIFRoaXMgZHJpdmVyIHJlcXVpcmVzIHBoeXNpY2FsIEludGVsIFBDSWUgd2lyZWxlc3MgbmV0d29yayBhZGFwdGVycyBhbmQgcHJvcHJpZXRhcnkgZmlybXdhcmUsIHdoaWNoIGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVS9HQ0UuIFRoZXJlZm9yZSwgdGhpcyBjb2RlIGlzIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgTUNDIHJlc3BvbnNlIHBhY2tldCBzaXplIHZhbGlkYXRpb24gaW4gdGhlIEludGVsIGl3bHdpZmkgd2lyZWxlc3MgZHJpdmVyIChpd2xtdm0pLiBUaGlzIGRyaXZlciByZXF1aXJlcyBwaHlzaWNhbCBJbnRlbCBQQ0llIHdpcmVsZXNzIG5ldHdvcmsgYWRhcHRlcnMgYW5kIHByb3ByaWV0YXJ5IGZpcm13YXJlLCB3aGljaCBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVUvR0NFLiBUaGVyZWZvcmUsIHRoaXMgY29kZSBpcyB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDE4OjQxOjAxLjI5MjM5MjY1OVoiLCJTZXEiOjE1LCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6IklmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTcwMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowtlhmq[0].run-triage(0) Phase: Succeeded StartedAt: 2026-08-31 18:19:37 +0000 UTC FinishedAt: 2026-08-31 18:41:03 +0000 UTC Input: nil Output: &Outputs{Parameters:[]Parameter{Parameter{Name:result,Default:nil,Value:*{ "skip_reason": "AI determined the patch has no functional impact", "targets": null, "trajectory": "CjwhZG9jdHlwZSBodG1sPgo8aHRtbD4KPGhlYWQ+Cgk8dGl0bGU+QUkgVHJhamVjdG9yeTwvdGl0bGU+Cgk8c3R5bGU+CgkJdGFibGUgewoJCQlib3JkZXI6IDFweCBzb2xpZCAjY2NjOwoJCQltYXJnaW46IDIwcHggNXB4OwoJCQlib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwoJCQl3aGl0ZS1zcGFjZTogbm93cmFwOwoJCQl0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKCQkJb3ZlcmZsb3c6IGhpZGRlbjsKCQl9CgoJCXRhYmxlIGNhcHRpb24gewoJCQlmb250LXdlaWdodDogYm9sZDsKCQl9CgoJCXRhYmxlIHRkLCB0YWJsZSB0aCB7CgkJCXZlcnRpY2FsLWFsaWduOiB0b3A7CgkJCXBhZGRpbmc6IDJweCA4cHg7CgkJCXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwoJCQlvdmVyZmxvdzogaGlkZGVuOwoJCX0KCgkJLmxpc3RfdGFibGUgdGQsIC5saXN0X3RhYmxlIHRoIHsKCQkJYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwoJCX0KCgkJLmxpc3RfdGFibGUgdGggewoJCQliYWNrZ3JvdW5kOiAjRjRGNEY0OwoJCX0KCgkJLmxpc3RfdGFibGUgdHI6bnRoLWNoaWxkKDJuKSB7CgkJCWJhY2tncm91bmQ6ICNGNEY0RjQ7CgkJfQoKCQkubGlzdF90YWJsZSB0cjpob3ZlciB7CgkJCWJhY2tncm91bmQ6ICNmZmZmOTk7CgkJfQoKCQkjYWlfZGV0YWlsc19kaXYgcHJlIHsKCQkJbWFyZ2luOiAxcHg7CgkJCW1heC13aWR0aDogMTIwY2g7CgkJCXdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKCQkJb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgoJPGgxPkFJIFRyYWplY3Rvcnk8L2gxPgoJPGJyPgoKCQoJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQk8Y2FwdGlvbj5UcmFqZWN0b3J5OiAoPGEgaHJlZj0iIyIgb25jbGljaz0idG9nZ2xlQWxsRGV0YWlscygpOyByZXR1cm4gZmFsc2U7Ij5FeHBhbmQvQ29sbGFwc2UgQWxsPC9hPik8L2NhcHRpb24+CgkJPHRoZWFkPjx0cj4KCQkJPHRoPlNlcTwvdGg+CgkJCTx0aD5UaW1lc3RhbXA8L3RoPgoJCQk8dGg+VHlwZTwvdGg+CgkJCTx0aD5OYW1lPC90aD4KCQkJPHRoPkR1cmF0aW9uPC90aD4KCQk8L3RyPjwvdGhlYWQ+CgkJPHRib2R5PgoJCQoJCTx0cj4KCQkJPHRkPjAvMDwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzMxIDE4OjM5PC90ZD4KCQkJPHRkPmZsb3c8L3RkPgoJCQk8dGQ+cGF0Y2gtdHJpYWdlPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RW5hYmxlQ29uZmlncyYjMzQ7OiBudWxsLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7S01TQU5SZWFzb25pbmcmIzM0OzogJiMzNDsmIzM0OywKICAmIzM0O05lZWRzS01TQU4mIzM0OzogZmFsc2UsCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgTUNDIHJlc3BvbnNlIHBhY2tldCBzaXplIHZhbGlkYXRpb24gaW4gdGhlIEludGVsIGl3bHdpZmkgd2lyZWxlc3MgZHJpdmVyIChpd2xtdm0pLiBUaGlzIGRyaXZlciByZXF1aXJlcyBwaHlzaWNhbCBJbnRlbCBQQ0llIHdpcmVsZXNzIG5ldHdvcmsgYWRhcHRlcnMgYW5kIHByb3ByaWV0YXJ5IGZpcm13YXJlLCB3aGljaCBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVUvR0NFLiBUaGVyZWZvcmUsIHRoaXMgY29kZSBpcyB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MS8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMTg6Mzk8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPnJlYWQtcGF0Y2gtZGlmZjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O1BhdGNoRGlmZiYjMzQ7OiAmIzM0O2NvbW1pdCBjZWZmZGRmMDlhYWQ3OGUyYjRhOTc1ZTBjOWU1NzUxNjFiMjgwNzZjXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIE1vbiBBdWcgMzEgMTg6Mzk6MDMgMjAyNiAmIzQzOzAwMDBcblxuICAgIHN5ei1jbHVzdGVyOiBhcHBsaWVkIHBhdGNoIHVuZGVyIHJldmlld1xuXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbnZtLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9udm0uY1xuaW5kZXggOTUzMjE4ZjFlMDI1YS4uZjc2ZTU3Mzk5YzFmMyAxMDA2NDRcbi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jXG4mIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9udm0uY1xuQEAgLTEsNiAmIzQzOzEsNiBAQFxuIC8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wIE9SIEJTRC0zLUNsYXVzZVxuIC8qXG4tICogQ29weXJpZ2h0IChDKSAyMDEyLTIwMTQsIDIwMTgtMjAxOSwgMjAyMS0yMDI1IEludGVsIENvcnBvcmF0aW9uXG4mIzQzOyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE0LCAyMDE4LTIwMTksIDIwMjEtMjAyNiBJbnRlbCBDb3Jwb3JhdGlvblxuICAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE1IEludGVsIE1vYmlsZSBDb21tdW5pY2F0aW9ucyBHbWJIXG4gICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMTcgSW50ZWwgRGV1dHNjaGxhbmQgR21iSFxuICAqL1xuQEAgLTQxNiw2ICYjNDM7NDE2LDcgQEAgaXdsX212bV91cGRhdGVfbWNjKHN0cnVjdCBpd2xfbXZtICptdm0sIGNvbnN0IGNoYXIgKmFscGhhMixcbiBcdGludCByZXQsIHJlc3BfdmVyO1xuIFx0dTMyIHN0YXR1cztcbiBcdGludCByZXNwX2xlbiwgbl9jaGFubmVscztcbiYjNDM7XHR1bnNpZ25lZCBpbnQgcGt0X2xlbjtcbiBcdHUxNiBtY2M7XG4gXG4gXHRpZiAoV0FSTl9PTl9PTkNFKCFpd2xfbXZtX2lzX2xhcl9zdXBwb3J0ZWQobXZtKSkpXG5AQCAtNDMxLDYgJiM0Mzs0MzIsNyBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLFxuIFx0XHRyZXR1cm4gRVJSX1BUUihyZXQpO1xuIFxuIFx0cGt0ID0gY21kLnJlc3BfcGt0O1xuJiM0MztcdHBrdF9sZW4gPSBpd2xfcnhfcGFja2V0X3BheWxvYWRfbGVuKHBrdCk7XG4gXG4gXHRyZXNwX3ZlciA9IGl3bF9md19sb29rdXBfbm90aWZfdmVyKG12bS1cdTAwM2VmdywgSVdMX0FMV0FZU19MT05HX0dST1VQLFxuIFx0XHRcdFx0XHQgICBNQ0NfVVBEQVRFX0NNRCwgMCk7XG5AQCAtNDM5LDkgJiM0Mzs0NDEsMTggQEAgaXdsX212bV91cGRhdGVfbWNjKHN0cnVjdCBpd2xfbXZtICptdm0sIGNvbnN0IGNoYXIgKmFscGhhMixcbiBcdGlmIChyZXNwX3ZlciBcdTAwM2U9IDgpIHtcbiBcdFx0c3RydWN0IGl3bF9tY2NfdXBkYXRlX3Jlc3BfdjggKm1jY19yZXNwX3Y4ID0gKHZvaWQgKilwa3QtXHUwMDNlZGF0YTtcbiBcbiYjNDM7XHRcdGlmIChJV0xfRldfQ0hFQ0sobXZtLCBwa3RfbGVuIFx1MDAzYyBzaXplb2YoKm1jY19yZXNwX3Y4KSxcbiYjNDM7XHRcdFx0XHQgXCYjMzQ7TUNDIHY4IHJlc3BvbnNlIHRvbyBzaG9ydDogJXVcXG5cJiMzNDssIHBrdF9sZW4pKSB7XG4mIzQzO1x0XHRcdHJlc3BfY3AgPSBFUlJfUFRSKC1FSU5WQUwpO1xuJiM0MztcdFx0XHRnb3RvIGV4aXQ7XG4mIzQzO1x0XHR9XG4mIzQzO1xuIFx0XHRuX2NoYW5uZWxzID0gIF9fbGUzMl90b19jcHUobWNjX3Jlc3BfdjgtXHUwMDNlbl9jaGFubmVscyk7XG4tXHRcdGlmIChpd2xfcnhfcGFja2V0X3BheWxvYWRfbGVuKHBrdCkgIT1cbi1cdFx0ICAgIHN0cnVjdF9zaXplKG1jY19yZXNwX3Y4LCBjaGFubmVscywgbl9jaGFubmVscykpIHtcbiYjNDM7XHRcdGlmIChJV0xfRldfQ0hFQ0sobXZtLFxuJiM0MztcdFx0XHRcdCBwa3RfbGVuICE9XG4mIzQzO1x0XHRcdFx0IHN0cnVjdF9zaXplKG1jY19yZXNwX3Y4LCBjaGFubmVscywgbl9jaGFubmVscyksXG4mIzQzO1x0XHRcdFx0IFwmIzM0O2ludmFsaWQgTUNDIHY4IHJlc3BvbnNlIHNpemU6ICV1IChuX2NoYW5uZWxzPSVkKVxcblwmIzM0OyxcbiYjNDM7XHRcdFx0XHQgcGt0X2xlbiwgbl9jaGFubmVscykpIHtcbiBcdFx0XHRyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTtcbiBcdFx0XHRnb3RvIGV4aXQ7XG4gXHRcdH1cbkBAIC00NjQsOSAmIzQzOzQ3NSwxOCBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLFxuIFx0XHRcdCAgICAgICBJV0xfVUNPREVfVExWX0NBUEFfTUNDX1VQREFURV8xMUFYX1NVUFBPUlQpKSB7XG4gXHRcdHN0cnVjdCBpd2xfbWNjX3VwZGF0ZV9yZXNwX3Y0ICptY2NfcmVzcF92NCA9ICh2b2lkICopcGt0LVx1MDAzZWRhdGE7XG4gXG4mIzQzO1x0XHRpZiAoSVdMX0ZXX0NIRUNLKG12bSwgcGt0X2xlbiBcdTAwM2Mgc2l6ZW9mKCptY2NfcmVzcF92NCksXG4mIzQzO1x0XHRcdFx0IFwmIzM0O01DQyB2NCByZXNwb25zZSB0b28gc2hvcnQ6ICV1XFxuXCYjMzQ7LCBwa3RfbGVuKSkge1xuJiM0MztcdFx0XHRyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTtcbiYjNDM7XHRcdFx0Z290byBleGl0O1xuJiM0MztcdFx0fVxuJiM0MztcbiBcdFx0bl9jaGFubmVscyA9ICBfX2xlMzJfdG9fY3B1KG1jY19yZXNwX3Y0LVx1MDAzZW5fY2hhbm5lbHMpO1xuLVx0XHRpZiAoaXdsX3J4X3BhY2tldF9wYXlsb2FkX2xlbihwa3QpICE9XG4tXHRcdCAgICBzdHJ1Y3Rfc2l6ZShtY2NfcmVzcF92NCwgY2hhbm5lbHMsIG5fY2hhbm5lbHMpKSB7XG4mIzQzO1x0XHRpZiAoSVdMX0ZXX0NIRUNLKG12bSxcbiYjNDM7XHRcdFx0XHQgcGt0X2xlbiAhPVxuJiM0MztcdFx0XHRcdCBzdHJ1Y3Rfc2l6ZShtY2NfcmVzcF92NCwgY2hhbm5lbHMsIG5fY2hhbm5lbHMpLFxuJiM0MztcdFx0XHRcdCBcJiMzNDtpbnZhbGlkIE1DQyB2NCByZXNwb25zZSBzaXplOiAldSAobl9jaGFubmVscz0lZClcXG5cJiMzNDssXG4mIzQzO1x0XHRcdFx0IHBrdF9sZW4sIG5fY2hhbm5lbHMpKSB7XG4gXHRcdFx0cmVzcF9jcCA9IEVSUl9QVFIoLUVJTlZBTCk7XG4gXHRcdFx0Z290byBleGl0O1xuIFx0XHR9XG5AQCAtNDg5LDkgJiM0Mzs1MDksMTggQEAgaXdsX212bV91cGRhdGVfbWNjKHN0cnVjdCBpd2xfbXZtICptdm0sIGNvbnN0IGNoYXIgKmFscGhhMixcbiBcdH0gZWxzZSB7XG4gXHRcdHN0cnVjdCBpd2xfbWNjX3VwZGF0ZV9yZXNwX3YzICptY2NfcmVzcF92MyA9ICh2b2lkICopcGt0LVx1MDAzZWRhdGE7XG4gXG4mIzQzO1x0XHRpZiAoSVdMX0ZXX0NIRUNLKG12bSwgcGt0X2xlbiBcdTAwM2Mgc2l6ZW9mKCptY2NfcmVzcF92MyksXG4mIzQzO1x0XHRcdFx0IFwmIzM0O01DQyB2MyByZXNwb25zZSB0b28gc2hvcnQ6ICV1XFxuXCYjMzQ7LCBwa3RfbGVuKSkge1xuJiM0MztcdFx0XHRyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTtcbiYjNDM7XHRcdFx0Z290byBleGl0O1xuJiM0MztcdFx0fVxuJiM0MztcbiBcdFx0bl9jaGFubmVscyA9ICBfX2xlMzJfdG9fY3B1KG1jY19yZXNwX3YzLVx1MDAzZW5fY2hhbm5lbHMpO1xuLVx0XHRpZiAoaXdsX3J4X3BhY2tldF9wYXlsb2FkX2xlbihwa3QpICE9XG4tXHRcdCAgICBzdHJ1Y3Rfc2l6ZShtY2NfcmVzcF92MywgY2hhbm5lbHMsIG5fY2hhbm5lbHMpKSB7XG4mIzQzO1x0XHRpZiAoSVdMX0ZXX0NIRUNLKG12bSxcbiYjNDM7XHRcdFx0XHQgcGt0X2xlbiAhPVxuJiM0MztcdFx0XHRcdCBzdHJ1Y3Rfc2l6ZShtY2NfcmVzcF92MywgY2hhbm5lbHMsIG5fY2hhbm5lbHMpLFxuJiM0MztcdFx0XHRcdCBcJiMzNDtpbnZhbGlkIE1DQyB2MyByZXNwb25zZSBzaXplOiAldSAobl9jaGFubmVscz0lZClcXG5cJiMzNDssXG4mIzQzO1x0XHRcdFx0IHBrdF9sZW4sIG5fY2hhbm5lbHMpKSB7XG4gXHRcdFx0cmVzcF9jcCA9IEVSUl9QVFIoLUVJTlZBTCk7XG4gXHRcdFx0Z290byBleGl0O1xuIFx0XHR9XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Mi8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMTg6Mzk8L3RkPgoJCQk8dGQ+YWdlbnQ8L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MW08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Y29yZTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IG51bGwsCiAgJiMzNDtGb2N1c1N5bWJvbHMmIzM0OzogW10sCiAgJiMzNDtSZWFzb25pbmcmIzM0OzogJiMzNDtUaGUgcGF0Y2ggbW9kaWZpZXMgTUNDIHJlc3BvbnNlIHBhY2tldCBzaXplIHZhbGlkYXRpb24gaW4gdGhlIEludGVsIGl3bHdpZmkgd2lyZWxlc3MgZHJpdmVyIChpd2xtdm0pLiBUaGlzIGRyaXZlciByZXF1aXJlcyBwaHlzaWNhbCBJbnRlbCBQQ0llIHdpcmVsZXNzIG5ldHdvcmsgYWRhcHRlcnMgYW5kIHByb3ByaWV0YXJ5IGZpcm13YXJlLCB3aGljaCBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVUvR0NFLiBUaGVyZWZvcmUsIHRoaXMgY29kZSBpcyB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy4mIzM0OywKICAmIzM0O1dvcnRoRnV6emluZyYjMzQ7OiBmYWxzZQp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5JbnN0cnVjdGlvbjo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPllvdSBhcmUgYW4gZXhwZXJ0IExpbnV4IGtlcm5lbCBtYWludGFpbmVyLgpZb3VyIGpvYiBpcyB0byByZXZpZXcgYSBwcm92aWRlZCBwYXRjaCBzZXJpZXMgYW5kIGRldGVybWluZQppZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuCgpJTVBPUlRBTlQ6IFRoZSBjaGFuZ2VzIGhhdmUgQUxSRUFEWSBiZWVuIGFwcGxpZWQgYW5kIGNvbW1pdHRlZCBhcyB0aGUgSEVBRCBjb21taXQgaW4KeW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5CnVzZSB5b3VyIGNvZGUgYWNjZXNzIHRvb2xzIHRvIGV4YW1pbmUgdGhlIGFjdHVhbCBzb3VyY2UgY29kZSBhbmQgY29uZmlybSBhbnkgYXNzdW1wdGlvbnMuCgpSZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOgotIE1vZGlmaWNhdGlvbnMgdG8gRG9jdW1lbnRhdGlvbi8sIEtjb25maWcgZmlsZXMsIG9yIGNvZGUgY29tbWVudHMuCi0gUHVyZWx5IGRlY29yYXRpdmUgY2hhbmdlcywgc3VjaCBhcyBsb2dnaW5nIChlLmcuLCBwcl9lcnIsIHByaW50aykgb3IgdHJhY2Vwb2ludHMuCi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LgotIENvZGUgcGF0aHMgdGhhdCBhcmUgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBHQ0Ugb3IgUUVNVSwKICBldmVuIHdoZW4gdXRpbGl6aW5nIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIChlLmcuLCB1c2IgZ2FkZ2V0LCBtYWM4MDIxMV9od3NpbSkuCi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsCiAgaW9uaWMsIGFtZGdwdSkgdGhhdCByZXF1aXJlIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgY2FyZHMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUuCi0gRHJpdmVyIC5yZW1vdmUsIC5zaHV0ZG93biwgb3IgcGNpX3VucmVnaXN0ZXJfZHJpdmVyIHRlYXJkb3duIGNhbGxiYWNrcyAoZS5nLiwgaWdiX3JlbW92ZSkKICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuCgpJZiBpdCBtb2RpZmllcyByZWFjaGFibGUgY29yZSBrZXJuZWwgbG9naWMsIGRyaXZlcnMsIG9yIGFyY2hpdGVjdHVyZXMsIHVzZSB5b3VyIGNvZGUgc2VhcmNoCnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLgoKV2hlbiByZXR1cm5pbmcgV29ydGhGdXp6aW5nPXRydWUsIHlvdSBNVVNUIEFMU086CjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuCiAgIEF2b2lkIGxpc3RpbmcgZ2VuZXJpYyBob3QtcGF0aCBmdW5jdGlvbnMgdG8gcHJldmVudCBza2V3ZWQgdGVzdCBkaXN0cmlidXRpb25zLgogICBQcmVmZXIgbm9uLXN0YXRpYywgbm9uLWlubGluZWQgQVBJIGVudHJ5cG9pbnQgZnVuY3Rpb25zIG92ZXIgaW50ZXJuYWwgc3RhdGljIGhlbHBlciBmdW5jdGlvbnMKICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuCjIuIElkZW50aWZ5IGFueSBzcGVjaWZpYyBDT05GSUdfIG9wdGlvbnMgcmVxdWlyZWQgdG8gcHJvcGVybHkgdGVzdCB0aGlzIG5ldy9tb2RpZmllZCBmZWF0dXJlLgogICBHbyBhbmQgbG9vayBpbnRvIHRoZSBLY29uZmlnIGZpbGVzIGFuZCBjaGVjayBmb3IgaWZkZWZzIGFyb3VuZCB0aGUgY29kZSwgZG8gbm90IG1ha2UgYXNzdW1wdGlvbnMuCiAgIEFsc28gY2hlY2sgJiMzNDtkZXBlbmRzIG9uJiMzNDsgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzCiAgIG5lZWRlZCBmb3IgS2J1aWxkIHRvIGNvbXBpbGUgdGhlIGNvZGUgc3RhdGljYWxseSBpbnRvIHZtbGludXguIExpc3QgdGhlbSBpbiB0aGUgRW5hYmxlQ29uZmlncwogICBvdXRwdXQgYXJyYXksIGFuZCBETyBOT1QgYWRkIGEgJiMzOTtDT05GSUdfJiMzOTsgcHJlZml4IChlLmcuLCByZXR1cm4gJiMzNDtORVRfSVBWNCYjMzQ7IGluc3RlYWQgb2YgJiMzNDtDT05GSUdfTkVUX0lQVjQmIzM0OykuClByZWZlciBjYWxsaW5nIHNldmVyYWwgdG9vbHMgYXQgdGhlIHNhbWUgdGltZSB0byBzYXZlIHJvdW5kLXRyaXBzLgoKClVzZSBzZXQtcmVzdWx0cyB0b29sIHRvIHByb3ZpZGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuCkl0IG11c3QgYmUgY2FsbGVkIGV4YWN0bHkgb25jZSBiZWZvcmUgdGhlIGZpbmFsIHJlcGx5LgpJZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UHJvbXB0OjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Rm9yIHlvdXIgY29udmVuaWVuY2UsIGhlcmUgaXMgdGhlIGRpZmYgb2YgdGhlIGNoYW5nZXM6CmNvbW1pdCBjZWZmZGRmMDlhYWQ3OGUyYjRhOTc1ZTBjOWU1NzUxNjFiMjgwNzZjCkF1dGhvcjogc3l6LWNsdXN0ZXIgJmx0O3RyaWFnZUBzeXprYWxsZXIuY29tJmd0OwpEYXRlOiAgIE1vbiBBdWcgMzEgMTg6Mzk6MDMgMjAyNiAmIzQzOzAwMDAKCiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXcKCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9udm0uYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jCmluZGV4IDk1MzIxOGYxZTAyNWEuLmY3NmU1NzM5OWMxZjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jCiYjNDM7JiM0MzsmIzQzOyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jCkBAIC0xLDYgJiM0MzsxLDYgQEAKIC8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wIE9SIEJTRC0zLUNsYXVzZQogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE0LCAyMDE4LTIwMTksIDIwMjEtMjAyNSBJbnRlbCBDb3Jwb3JhdGlvbgomIzQzOyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE0LCAyMDE4LTIwMTksIDIwMjEtMjAyNiBJbnRlbCBDb3Jwb3JhdGlvbgogICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTUgSW50ZWwgTW9iaWxlIENvbW11bmljYXRpb25zIEdtYkgKICAqIENvcHlyaWdodCAoQykgMjAxNi0yMDE3IEludGVsIERldXRzY2hsYW5kIEdtYkgKICAqLwpAQCAtNDE2LDYgJiM0Mzs0MTYsNyBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLAogCWludCByZXQsIHJlc3BfdmVyOwogCXUzMiBzdGF0dXM7CiAJaW50IHJlc3BfbGVuLCBuX2NoYW5uZWxzOwomIzQzOwl1bnNpZ25lZCBpbnQgcGt0X2xlbjsKIAl1MTYgbWNjOwogCiAJaWYgKFdBUk5fT05fT05DRSghaXdsX212bV9pc19sYXJfc3VwcG9ydGVkKG12bSkpKQpAQCAtNDMxLDYgJiM0Mzs0MzIsNyBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLAogCQlyZXR1cm4gRVJSX1BUUihyZXQpOwogCiAJcGt0ID0gY21kLnJlc3BfcGt0OwomIzQzOwlwa3RfbGVuID0gaXdsX3J4X3BhY2tldF9wYXlsb2FkX2xlbihwa3QpOwogCiAJcmVzcF92ZXIgPSBpd2xfZndfbG9va3VwX25vdGlmX3Zlcihtdm0tJmd0O2Z3LCBJV0xfQUxXQVlTX0xPTkdfR1JPVVAsCiAJCQkJCSAgIE1DQ19VUERBVEVfQ01ELCAwKTsKQEAgLTQzOSw5ICYjNDM7NDQxLDE4IEBAIGl3bF9tdm1fdXBkYXRlX21jYyhzdHJ1Y3QgaXdsX212bSAqbXZtLCBjb25zdCBjaGFyICphbHBoYTIsCiAJaWYgKHJlc3BfdmVyICZndDs9IDgpIHsKIAkJc3RydWN0IGl3bF9tY2NfdXBkYXRlX3Jlc3BfdjggKm1jY19yZXNwX3Y4ID0gKHZvaWQgKilwa3QtJmd0O2RhdGE7CiAKJiM0MzsJCWlmIChJV0xfRldfQ0hFQ0sobXZtLCBwa3RfbGVuICZsdDsgc2l6ZW9mKCptY2NfcmVzcF92OCksCiYjNDM7CQkJCSAmIzM0O01DQyB2OCByZXNwb25zZSB0b28gc2hvcnQ6ICV1XG4mIzM0OywgcGt0X2xlbikpIHsKJiM0MzsJCQlyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTsKJiM0MzsJCQlnb3RvIGV4aXQ7CiYjNDM7CQl9CiYjNDM7CiAJCW5fY2hhbm5lbHMgPSAgX19sZTMyX3RvX2NwdShtY2NfcmVzcF92OC0mZ3Q7bl9jaGFubmVscyk7Ci0JCWlmIChpd2xfcnhfcGFja2V0X3BheWxvYWRfbGVuKHBrdCkgIT0KLQkJICAgIHN0cnVjdF9zaXplKG1jY19yZXNwX3Y4LCBjaGFubmVscywgbl9jaGFubmVscykpIHsKJiM0MzsJCWlmIChJV0xfRldfQ0hFQ0sobXZtLAomIzQzOwkJCQkgcGt0X2xlbiAhPQomIzQzOwkJCQkgc3RydWN0X3NpemUobWNjX3Jlc3BfdjgsIGNoYW5uZWxzLCBuX2NoYW5uZWxzKSwKJiM0MzsJCQkJICYjMzQ7aW52YWxpZCBNQ0MgdjggcmVzcG9uc2Ugc2l6ZTogJXUgKG5fY2hhbm5lbHM9JWQpXG4mIzM0OywKJiM0MzsJCQkJIHBrdF9sZW4sIG5fY2hhbm5lbHMpKSB7CiAJCQlyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTsKIAkJCWdvdG8gZXhpdDsKIAkJfQpAQCAtNDY0LDkgJiM0Mzs0NzUsMTggQEAgaXdsX212bV91cGRhdGVfbWNjKHN0cnVjdCBpd2xfbXZtICptdm0sIGNvbnN0IGNoYXIgKmFscGhhMiwKIAkJCSAgICAgICBJV0xfVUNPREVfVExWX0NBUEFfTUNDX1VQREFURV8xMUFYX1NVUFBPUlQpKSB7CiAJCXN0cnVjdCBpd2xfbWNjX3VwZGF0ZV9yZXNwX3Y0ICptY2NfcmVzcF92NCA9ICh2b2lkICopcGt0LSZndDtkYXRhOwogCiYjNDM7CQlpZiAoSVdMX0ZXX0NIRUNLKG12bSwgcGt0X2xlbiAmbHQ7IHNpemVvZigqbWNjX3Jlc3BfdjQpLAomIzQzOwkJCQkgJiMzNDtNQ0MgdjQgcmVzcG9uc2UgdG9vIHNob3J0OiAldVxuJiMzNDssIHBrdF9sZW4pKSB7CiYjNDM7CQkJcmVzcF9jcCA9IEVSUl9QVFIoLUVJTlZBTCk7CiYjNDM7CQkJZ290byBleGl0OwomIzQzOwkJfQomIzQzOwogCQluX2NoYW5uZWxzID0gIF9fbGUzMl90b19jcHUobWNjX3Jlc3BfdjQtJmd0O25fY2hhbm5lbHMpOwotCQlpZiAoaXdsX3J4X3BhY2tldF9wYXlsb2FkX2xlbihwa3QpICE9Ci0JCSAgICBzdHJ1Y3Rfc2l6ZShtY2NfcmVzcF92NCwgY2hhbm5lbHMsIG5fY2hhbm5lbHMpKSB7CiYjNDM7CQlpZiAoSVdMX0ZXX0NIRUNLKG12bSwKJiM0MzsJCQkJIHBrdF9sZW4gIT0KJiM0MzsJCQkJIHN0cnVjdF9zaXplKG1jY19yZXNwX3Y0LCBjaGFubmVscywgbl9jaGFubmVscyksCiYjNDM7CQkJCSAmIzM0O2ludmFsaWQgTUNDIHY0IHJlc3BvbnNlIHNpemU6ICV1IChuX2NoYW5uZWxzPSVkKVxuJiMzNDssCiYjNDM7CQkJCSBwa3RfbGVuLCBuX2NoYW5uZWxzKSkgewogCQkJcmVzcF9jcCA9IEVSUl9QVFIoLUVJTlZBTCk7CiAJCQlnb3RvIGV4aXQ7CiAJCX0KQEAgLTQ4OSw5ICYjNDM7NTA5LDE4IEBAIGl3bF9tdm1fdXBkYXRlX21jYyhzdHJ1Y3QgaXdsX212bSAqbXZtLCBjb25zdCBjaGFyICphbHBoYTIsCiAJfSBlbHNlIHsKIAkJc3RydWN0IGl3bF9tY2NfdXBkYXRlX3Jlc3BfdjMgKm1jY19yZXNwX3YzID0gKHZvaWQgKilwa3QtJmd0O2RhdGE7CiAKJiM0MzsJCWlmIChJV0xfRldfQ0hFQ0sobXZtLCBwa3RfbGVuICZsdDsgc2l6ZW9mKCptY2NfcmVzcF92MyksCiYjNDM7CQkJCSAmIzM0O01DQyB2MyByZXNwb25zZSB0b28gc2hvcnQ6ICV1XG4mIzM0OywgcGt0X2xlbikpIHsKJiM0MzsJCQlyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTsKJiM0MzsJCQlnb3RvIGV4aXQ7CiYjNDM7CQl9CiYjNDM7CiAJCW5fY2hhbm5lbHMgPSAgX19sZTMyX3RvX2NwdShtY2NfcmVzcF92My0mZ3Q7bl9jaGFubmVscyk7Ci0JCWlmIChpd2xfcnhfcGFja2V0X3BheWxvYWRfbGVuKHBrdCkgIT0KLQkJICAgIHN0cnVjdF9zaXplKG1jY19yZXNwX3YzLCBjaGFubmVscywgbl9jaGFubmVscykpIHsKJiM0MzsJCWlmIChJV0xfRldfQ0hFQ0sobXZtLAomIzQzOwkJCQkgcGt0X2xlbiAhPQomIzQzOwkJCQkgc3RydWN0X3NpemUobWNjX3Jlc3BfdjMsIGNoYW5uZWxzLCBuX2NoYW5uZWxzKSwKJiM0MzsJCQkJICYjMzQ7aW52YWxpZCBNQ0MgdjMgcmVzcG9uc2Ugc2l6ZTogJXUgKG5fY2hhbm5lbHM9JWQpXG4mIzM0OywKJiM0MzsJCQkJIHBrdF9sZW4sIG5fY2hhbm5lbHMpKSB7CiAJCQlyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTsKIAkJCWdvdG8gZXhpdDsKIAkJfQo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4zLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8zMSAxODozOTwvdGQ+CgkJCTx0ZD5sbG08L3RkPgoJCQk8dGQ+cGF0Y2gtZXZhbHVhdG9yPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCTxiPk1vZGVsOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+Z2VtaW5pLTMuNy1mbGFzaDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+QXJnczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5Ub2tlbnM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4KCQkJCQkJCWlucHV0OiAzNDI2CgkJCQkJCQlvdXRwdXQ6IDM0CgkJCQkJCQl0aG91Z2h0czogMjk2CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKkFuYWx5emluZyB0aGUgRnV6emluZyBQb3RlbnRpYWwgb2YgVGhpcyBQYXRjaCoqCgpPa2F5LCBsZXQmIzM5O3MgZGl2ZSBpbnRvIHRoaXMgcGF0Y2ggYW5kIGFzc2VzcyBpZiBpdCYjMzk7cyBhIGdvb2QgY2FuZGlkYXRlIGZvciBmdXp6aW5nLiBUaGUgcGF0Y2ggdG91Y2hlcyBgZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbnZtLmNgLCBzcGVjaWZpY2FsbHkgYGl3bF9tdm1fdXBkYXRlX21jY2AuIFJpZ2h0IG9mZiB0aGUgYmF0LCBJIHJlY29nbml6ZSB0aGlzIGlzIHRoZSBJbnRlbCBpd2x3aWZpIGRyaXZlciwgc3BlY2lmaWNhbGx5IHRoZSBgSVdMTVZNYCAvIGBJV0xXSUZJYCBjb21wb25lbnQuIEdvb2QsIHRoYXQgbmFycm93cyBkb3duIHRoZSBzY29wZS4KCk5vdyBjb21lcyB0aGUgY3J1Y2lhbCBxdWVzdGlvbjogY2FuIEkgcmVhbGlzdGljYWxseSByZWFjaCB0aGlzIGNvZGUgaW4gYSB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudCBsaWtlIFFFTVUgb3IgR29vZ2xlIENvbXB1dGUgRW5naW5lLCBvciBhcmUgd2UgZGVhbGluZyB3aXRoIHBoeXNpY2FsIFBDSWUgaGFyZHdhcmUgdGhhdOKAmXMgbm90IGVtdWxhdGVkIGluIHRoZSB0eXBpY2FsIFFFTVUgc2V0dXA/IEkmIzM5O3ZlIGdvdCB0aGUgZ3VpZGVsaW5lcyBpbiBtaW5kOiBhbnl0aGluZyB0aGF0JiMzOTtzIGluaGVyZW50bHkgdW5yZWFjaGFibGUgaW4gYSB2aXJ0dWFsaXplZCBzZXR0aW5nLCBvciByZXF1aXJlcyBzcGVjaWZpYywgbm9uLWVtdWxhdGVkIGhhcmR3YXJlIGxpa2UgdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoIGRyaXZlcnMsIGlzIGEgbm8tZ28gZm9yIGZ1enppbmcgcHVycG9zZXMuCgpXYWl0LCBJIG5lZWQgdG8gZG91YmxlLWNoZWNrIHRoaXM6IGRvZXMgaXdsd2lmaSBkZXBlbmQgb24gcGh5c2ljYWwgUENJZSBjYXJkcywgb3IgaXMgdGhlcmUgYSBwYXRod2F5IHRvIHNpbXVsYXRlIG9yIHZpcnR1YWxpemUgaXRzIG9wZXJhdGlvbj8gSSBuZWVkIHRvIGxvb2sgaW50byB0aGlzIG1vcmUgZGVlcGx5LiBJIHNob3VsZCBwcm9iYWJseSBjaGVjayB0aGUga2VybmVsIHNvdXJjZXMgZm9yIGl3bHdpZmkgYW5kIHNlZSBpZiB0aGVyZSBhcmUgYW55IGhpbnRzIGFib3V0IGEgc2ltdWxhdGVkIGJ1cyBvciBpZiBpdCYjMzk7cyBzdHJpY3RseSBQQ0kvaGFyZHdhcmUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+NC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMTg6Mzk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7aXdsd2lmaSYjMzQ7LAogICYjMzQ7UGF0aFByZWZpeCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkmIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7T3V0cHV0JiMzNDs6ICYjMzQ7XG5GdWxsIG91dHB1dCBpcyB0b28gbG9uZywgc2hvd2luZyA1MDAgb3V0IG9mIDE1MTUgbGluZXMuXG5Vc2UgbW9yZSBwcmVjaXNlIGV4cHJlc3Npb24gaWYgcG9zc2libGUuXG5cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZz0yPWNvbmZpZyBJV0xXSUZJXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6MzpcdHRyaXN0YXRlIFwmIzM0O0ludGVsIFdpcmVsZXNzIFdpRmkgTmV4dCBHZW4gQUdOIC0gV2lyZWxlc3MtTi9BZHZhbmNlZC1OL1VsdGltYXRlLU4gKGl3bHdpZmkpIFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTQtXHRkZXBlbmRzIG9uIFBDSSBcdTAwMjZcdTAwMjYgSEFTX0lPTUVNIFx1MDAyNlx1MDAyNiBDRkc4MDIxMVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0zNC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzozNTpcdCAgICAgICAgICBcdTAwM2NodHRwczovL3dpcmVsZXNzLndpa2kua2VybmVsLm9yZy9lbi91c2Vycy9Ecml2ZXJzL2l3bHdpZmlcdTAwM2UuXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctMzYtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTQ0LVx0ICBzYXkgTSBoZXJlIGFuZCByZWFkIFx1MDAzY2ZpbGU6RG9jdW1lbnRhdGlvbi9rYnVpbGQvbW9kdWxlcy5yc3RcdTAwM2UuICBUaGVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzo0NTpcdCAgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIGl3bHdpZmkuXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctNDYtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnPTQ5PWNvbmZpZyBJV0xXSUZJX0tVTklUX1RFU1RTXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTUzLVx0aGVscFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjU0Olx0ICBFbmFibGUgdGhpcyBvcHRpb24gZm9yIGl3bHdpZmkga3VuaXQgdGVzdHMuXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctNTUtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnPTY2PWNvbmZpZyBJV0xEVk1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctNzEtXHQgIG9mIHRoZSBkZXZpY2VzIHRoYXQgdXNlIHRoaXMgZmlybXdhcmUgaXMgYXZhaWxhYmxlIGhlcmU6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6NzI6XHQgIGh0dHBzOi8vd2lyZWxlc3Mud2lraS5rZXJuZWwub3JnL2VuL3VzZXJzL2RyaXZlcnMvaXdsd2lmaSNmaXJtd2FyZVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTczLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnPTc0PWNvbmZpZyBJV0xNVk1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctODEtXHQgIG9mIHRoZSBkZXZpY2VzIHRoYXQgdXNlIHRoaXMgZmlybXdhcmUgaXMgYXZhaWxhYmxlIGhlcmU6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6ODI6XHQgIGh0dHBzOi8vd2lyZWxlc3Mud2lraS5rZXJuZWwub3JnL2VuL3VzZXJzL2RyaXZlcnMvaXdsd2lmaSNmaXJtd2FyZVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTgzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnPTg0PWNvbmZpZyBJV0xNTERcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctOTEtXHQgIFRoZSBsaXN0IG9mIHRoZSBkZXZpY2VzIHRoYXQgdXNlIHRoaXMgZmlybXdhcmUgaXMgYXZhaWxhYmxlIGhlcmU6XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6OTI6XHQgIGh0dHBzOi8vd2lyZWxlc3Mud2lraS5rZXJuZWwub3JnL2VuL3VzZXJzL2RyaXZlcnMvaXdsd2lmaSNmaXJtd2FyZVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTkzLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZz05NT1jb25maWcgSVdMV0lGSV9PUE1PREVfTU9EVUxBUlxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMDEtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6MTAyOmNvbW1lbnQgXCYjMzQ7V0FSTklORzogaXdsd2lmaSBpcyB1c2VsZXNzIHdpdGhvdXQgSVdMRFZNIG9yIElXTE1WTSBvciBJV0xNTERcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMDMtXHRkZXBlbmRzIG9uIElXTERWTT1uIFx1MDAyNlx1MDAyNiBJV0xNVk09biBcdTAwMjZcdTAwMjYgSVdMTUxEPW5cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc9MTA3PWNvbmZpZyBJV0xXSUZJX0RFQlVHXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6MTA4Olx0Ym9vbCBcJiMzNDtFbmFibGUgZnVsbCBkZWJ1Z2dpbmcgb3V0cHV0IGluIHRoZSBpd2x3aWZpIGRyaXZlclwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTEwOS1cdGhlbHBcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzoxMTA6XHQgIFRoaXMgb3B0aW9uIHdpbGwgZW5hYmxlIGRlYnVnIHRyYWNpbmcgb3V0cHV0IGZvciB0aGUgaXdsd2lmaSBkcml2ZXJzXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctMTExLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMTUtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6MTE2Olx0XHQvc3lzL21vZHVsZS9pd2x3aWZpL3BhcmFtZXRlcnMvZGVidWdcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMTctXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTEyMS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzoxMjI6XHRcdCAgJSBlY2hvIDB4NDNmZmYgXHUwMDNlIC9zeXMvbW9kdWxlL2l3bHdpZmkvcGFyYW1ldGVycy9kZWJ1Z1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTEyMy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMjQtXHQgIFlvdSBjYW4gZmluZCB0aGUgbGlzdCBvZiBkZWJ1ZyBtYXNrIHZhbHVlcyBpbjpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzoxMjU6XHRcdCAgZHJpdmVycy9uZXQvd2lyZWxlc3MvaXdsd2lmaS9pd2wtZGVidWcuaFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTEyNi1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc9MTMxPWNvbmZpZyBJV0xXSUZJX0RFQlVHRlNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzoxMzI6XHRib29sIFwmIzM0O2l3bHdpZmkgZGVidWdmcyBzdXBwb3J0XCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctMTMzLVx0ZGVwZW5kcyBvbiBNQUM4MDIxMV9ERUJVR0ZTXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctMTM0LVx0aGVscFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjEzNTpcdCAgRW5hYmxlIGNyZWF0aW9uIG9mIGRlYnVnZnMgZmlsZXMgZm9yIHRoZSBpd2x3aWZpIGRyaXZlcnMuIFRoaXNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMzYtXHQgIGlzIGEgbG93LWltcGFjdCBvcHRpb24gdGhhdCBhbGxvd3MgZ2V0dGluZyBpbnNpZ2h0IGludG8gdGhlXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnPTEzOT1jb25maWcgSVdMV0lGSV9ERVZJQ0VfVFJBQ0lOR1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjE0MDpcdGJvb2wgXCYjMzQ7aXdsd2lmaSBkZXZpY2UgYWNjZXNzIHRyYWNpbmdcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xNDEtXHRkZXBlbmRzIG9uIEVWRU5UX1RSQUNJTkdcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctMTQ0LVx0ICBTYXkgWSBoZXJlIHRvIHRyYWNlIGFsbCBjb21tYW5kcywgaW5jbHVkaW5nIFRYIGZyYW1lcyBhbmQgSU9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzoxNDU6XHQgIGFjY2Vzc2VzLCBzZW50IHRvIHRoZSBkZXZpY2UuIElmIHlvdSBzYXkgeWVzLCBpd2x3aWZpIHdpbGxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xNDYtXHQgIHJlZ2lzdGVyIHdpdGggdGhlIGZ0cmFjZSBmcmFtZXdvcmsgZm9yIGV2ZW50IHRyYWNpbmcgYW5kIGR1bXBcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTItIyBjb21tb25cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MzpvYmotJChDT05GSUdfSVdMV0lGSSlcdCYjNDM7PSBpd2x3aWZpLm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6NDppd2x3aWZpLW9ianNcdFx0JiM0Mzs9IGl3bC1pby5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjU6aXdsd2lmaS1vYmpzXHRcdCYjNDM7PSBpd2wtZHJ2Lm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6Njppd2x3aWZpLW9ianNcdFx0JiM0Mzs9IGl3bC1kZWJ1Zy5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjc6aXdsd2lmaS1vYmpzXHRcdCYjNDM7PSBpd2wtbnZtLXV0aWxzLm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6ODppd2x3aWZpLW9ianNcdFx0JiM0Mzs9IGl3bC11dGlscy5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjk6aXdsd2lmaS1vYmpzXHRcdCYjNDM7PSBpd2wtcGh5LWRiLm8gaXdsLW52bS1wYXJzZS5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTEwLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZS0xMS0jIEJ1c1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZToxMjppd2x3aWZpLW9ianNcdFx0JiM0Mzs9IHBjaWUvY3R4dC1pbmZvLm8gcGNpZS9jdHh0LWluZm8tdjIubyBwY2llL2Rydi5vIHBjaWUvdXRpbHMub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZToxMzppd2x3aWZpLW9ianNcdFx0JiM0Mzs9IHBjaWUvZ2VuMV8yL3J4Lm8gcGNpZS9nZW4xXzIvdHgubyBwY2llL2dlbjFfMi90cmFucy5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjE0Oml3bHdpZmktb2Jqc1x0XHQmIzQzOz0gcGNpZS9nZW4xXzIvdHJhbnMtZ2VuMi5vIHBjaWUvZ2VuMV8yL3R4LWdlbjIub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZS0xNS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU9MTY9Q0ZMQUdTX3BjaWUvZHJ2Lm8gJiM0Mzs9IC1Xbm8tb3ZlcnJpZGUtaW5pdFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGUtMTgtIyBjb21iaW5lZCBNQUMvUkYgY29uZmlndXJhdGlvbnNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MTk6aXdsd2lmaS0kKENPTkZJR19JV0xEVk0pICYjNDM7PSBjZmcvMTAwMC5vIGNmZy8yMDAwLm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MjA6aXdsd2lmaS0kKENPTkZJR19JV0xEVk0pICYjNDM7PSBjZmcvNTAwMC5vIGNmZy82MDAwLm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MjE6aXdsd2lmaS0kKENPTkZJR19JV0xNVk0pICYjNDM7PSBjZmcvNzAwMC5vIGNmZy84MDAwLm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGUtMjItIyBNQUMgY29uZmlndXJhdGlvbnNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MjM6aXdsd2lmaS0kKENPTkZJR19JV0xNVk0pICYjNDM7PSBjZmcvOTAwMC5vIGNmZy8yMjAwMC5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjI0Oml3bHdpZmktJChDT05GSUdfSVdMTVZNKSAmIzQzOz0gY2ZnL2F4MjEwLm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MjU6aXdsd2lmaS0kKENPTkZJR19JV0xNVk0pICYjNDM7PSBjZmcvYnoubyBjZmcvc2Mub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZToyNjppd2x3aWZpLSQoQ09ORklHX0lXTE1MRCkgJiM0Mzs9IGNmZy9iei5vIGNmZy9zYy5vIGNmZy9kci5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTI3LSMgUkYgY29uZmlndXJhdGlvbnNcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6Mjg6aXdsd2lmaS0kKENPTkZJR19JV0xNVk0pICYjNDM7PSBjZmcvcmYtamYubyBjZmcvcmYtaHIubyBjZmcvcmYtZ2Yub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZToyOTppd2x3aWZpLSQoQ09ORklHX0lXTE1MRCkgJiM0Mzs9IGNmZy9yZi1mbS5vIGNmZy9yZi13aC5vIGNmZy9yZi1wZS5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTMwLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZTozMTppd2x3aWZpLW9ianNcdFx0JiM0Mzs9IGl3bC1kYmctdGx2Lm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MzI6aXdsd2lmaS1vYmpzXHRcdCYjNDM7PSBpd2wtdHJhbnMub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZS0zMy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MzQ6aXdsd2lmaS1vYmpzXHRcdCYjNDM7PSBmdy9pbWcubyBmdy9ub3RpZi13YWl0Lm8gZncvcnMub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZTozNTppd2x3aWZpLW9ianNcdFx0JiM0Mzs9IGZ3L2RiZy5vIGZ3L2RiZy1vbGQubyBmdy9wbnZtLm8gZncvZHVtcC5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjM2Oml3bHdpZmktb2Jqc1x0XHQmIzQzOz0gZncvcmVndWxhdG9yeS5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjM3Oml3bHdpZmktJChDT05GSUdfSVdMTVZNKSAmIzQzOz0gZncvcGFnaW5nLm8gZncvc21lbS5vIGZ3L2luaXQub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZTozODppd2x3aWZpLSQoQ09ORklHX0lXTE1MRCkgJiM0Mzs9IGZ3L3NtZW0ubyBmdy9pbml0Lm9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6Mzk6aXdsd2lmaS0kKENPTkZJR19BQ1BJKSAmIzQzOz0gZncvYWNwaS5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjQwOml3bHdpZmktJChDT05GSUdfRUZJKVx0JiM0Mzs9IGZ3L3VlZmkub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZTo0MTppd2x3aWZpLSQoQ09ORklHX0lXTFdJRklfREVCVUdGUykgJiM0Mzs9IGZ3L2RlYnVnZnMub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZS00Mi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6NDM6aXdsd2lmaS1vYmpzICYjNDM7PSAkKGl3bHdpZmktbSlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGUtNDQtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjQ1Oml3bHdpZmktJChDT05GSUdfSVdMV0lGSV9ERVZJQ0VfVFJBQ0lORykgJiM0Mzs9IGl3bC1kZXZ0cmFjZS5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTQ2LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzEwMDAuYy0yNC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzEwMDAuYzoyNTojZGVmaW5lIElXTDEwMDBfRldfUFJFIFwmIzM0O2l3bHdpZmktMTAwMFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMTAwMC5jLTI2LSNkZWZpbmUgSVdMMTAwMF9NT0RVTEVfRklSTVdBUkUoYXBpKSBJV0wxMDAwX0ZXX1BSRSBcJiMzNDstXCYjMzQ7IF9fc3RyaW5naWZ5KGFwaSkgXCYjMzQ7LnVjb2RlXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8xMDAwLmMtMjctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8xMDAwLmM6Mjg6I2RlZmluZSBJV0wxMDBfRldfUFJFIFwmIzM0O2l3bHdpZmktMTAwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8xMDAwLmMtMjktI2RlZmluZSBJV0wxMDBfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgSVdMMTAwX0ZXX1BSRSBcJiMzNDstXCYjMzQ7IF9fc3RyaW5naWZ5KGFwaSkgXCYjMzQ7LnVjb2RlXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjAwMC5jLTMwLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjAwMC5jOjMxOiNkZWZpbmUgSVdMMjAzMF9GV19QUkUgXCYjMzQ7aXdsd2lmaS0yMDMwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8yMDAwLmMtMzItI2RlZmluZSBJV0wyMDMwX01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDIwMzBfRldfUFJFIFwmIzM0Oy1cJiMzNDsgX19zdHJpbmdpZnkoYXBpKSBcJiMzNDsudWNvZGVcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIwMDAuYy0zMy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIwMDAuYzozNDojZGVmaW5lIElXTDIwMDBfRldfUFJFIFwmIzM0O2l3bHdpZmktMjAwMFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjAwMC5jLTM1LSNkZWZpbmUgSVdMMjAwMF9NT0RVTEVfRklSTVdBUkUoYXBpKSBJV0wyMDAwX0ZXX1BSRSBcJiMzNDstXCYjMzQ7IF9fc3RyaW5naWZ5KGFwaSkgXCYjMzQ7LnVjb2RlXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8yMDAwLmMtMzYtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8yMDAwLmM6Mzc6I2RlZmluZSBJV0wxMDVfRldfUFJFIFwmIzM0O2l3bHdpZmktMTA1XCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8yMDAwLmMtMzgtI2RlZmluZSBJV0wxMDVfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgSVdMMTA1X0ZXX1BSRSBcJiMzNDstXCYjMzQ7IF9fc3RyaW5naWZ5KGFwaSkgXCYjMzQ7LnVjb2RlXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8yMDAwLmMtMzktXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8yMDAwLmM6NDA6I2RlZmluZSBJV0wxMzVfRldfUFJFIFwmIzM0O2l3bHdpZmktMTM1XCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8yMDAwLmMtNDEtI2RlZmluZSBJV0wxMzVfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgSVdMMTM1X0ZXX1BSRSBcJiMzNDstXCYjMzQ7IF9fc3RyaW5naWZ5KGFwaSkgXCYjMzQ7LnVjb2RlXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjIwMDAuYy0xNy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIyMDAwLmM6MTg6I2RlZmluZSBJV0xfQ0NfQV9GV19QUkVcdFx0XHRcJiMzNDtpd2x3aWZpLWNjLWEwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8yMjAwMC5jOjE5OiNkZWZpbmUgSVdMX1FVX0JfSFJfQl9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1RdS1iMC1oci1iMFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjIwMDAuYzoyMDojZGVmaW5lIElXTF9RVV9DX0hSX0JfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktUXUtYzAtaHItYjBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIyMDAwLmM6MjE6I2RlZmluZSBJV0xfUVVaX0FfSFJfQl9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1RdVotYTAtaHItYjBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIyMDAwLmMtMjItXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNTAwMC5jLTI2LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNTAwMC5jOjI3OiNkZWZpbmUgSVdMNTAwMF9GV19QUkUgXCYjMzQ7aXdsd2lmaS01MDAwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy81MDAwLmMtMjgtI2RlZmluZSBJV0w1MDAwX01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDUwMDBfRldfUFJFIFwmIzM0Oy1cJiMzNDsgX19zdHJpbmdpZnkoYXBpKSBcJiMzNDsudWNvZGVcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzUwMDAuYy0yOS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzUwMDAuYzozMDojZGVmaW5lIElXTDUxNTBfRldfUFJFIFwmIzM0O2l3bHdpZmktNTE1MFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNTAwMC5jLTMxLSNkZWZpbmUgSVdMNTE1MF9NT0RVTEVfRklSTVdBUkUoYXBpKSBJV0w1MTUwX0ZXX1BSRSBcJiMzNDstXCYjMzQ7IF9fc3RyaW5naWZ5KGFwaSkgXCYjMzQ7LnVjb2RlXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNjAwMC5jLTM5LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNjAwMC5jOjQwOiNkZWZpbmUgSVdMNjAwMF9GV19QUkUgXCYjMzQ7aXdsd2lmaS02MDAwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy82MDAwLmMtNDEtI2RlZmluZSBJV0w2MDAwX01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDYwMDBfRldfUFJFIFwmIzM0Oy1cJiMzNDsgX19zdHJpbmdpZnkoYXBpKSBcJiMzNDsudWNvZGVcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzYwMDAuYy00Mi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzYwMDAuYzo0MzojZGVmaW5lIElXTDYwNTBfRldfUFJFIFwmIzM0O2l3bHdpZmktNjA1MFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNjAwMC5jLTQ0LSNkZWZpbmUgSVdMNjA1MF9NT0RVTEVfRklSTVdBUkUoYXBpKSBJV0w2MDUwX0ZXX1BSRSBcJiMzNDstXCYjMzQ7IF9fc3RyaW5naWZ5KGFwaSkgXCYjMzQ7LnVjb2RlXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy82MDAwLmMtNDUtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy82MDAwLmM6NDY6I2RlZmluZSBJV0w2MDA1X0ZXX1BSRSBcJiMzNDtpd2x3aWZpLTYwMDBnMmFcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzYwMDAuYy00Ny0jZGVmaW5lIElXTDYwMDVfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgSVdMNjAwNV9GV19QUkUgXCYjMzQ7LVwmIzM0OyBfX3N0cmluZ2lmeShhcGkpIFwmIzM0Oy51Y29kZVwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNjAwMC5jLTQ4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNjAwMC5jOjQ5OiNkZWZpbmUgSVdMNjAzMF9GV19QUkUgXCYjMzQ7aXdsd2lmaS02MDAwZzJiXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy82MDAwLmMtNTAtI2RlZmluZSBJV0w2MDMwX01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDYwMzBfRldfUFJFIFwmIzM0Oy1cJiMzNDsgX19zdHJpbmdpZnkoYXBpKSBcJiMzNDsudWNvZGVcJiMzNDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy83MDAwLmMtMzYtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy83MDAwLmM6Mzc6I2RlZmluZSBJV0w3MjYwX0ZXX1BSRSBcJiMzNDtpd2x3aWZpLTcyNjBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzcwMDAuYy0zOC0jZGVmaW5lIElXTDcyNjBfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgSVdMNzI2MF9GV19QUkUgXCYjMzQ7LVwmIzM0OyBfX3N0cmluZ2lmeShhcGkpIFwmIzM0Oy51Y29kZVwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNzAwMC5jLTM5LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNzAwMC5jOjQwOiNkZWZpbmUgSVdMMzE2MF9GV19QUkUgXCYjMzQ7aXdsd2lmaS0zMTYwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy83MDAwLmMtNDEtI2RlZmluZSBJV0wzMTYwX01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDMxNjBfRldfUFJFIFwmIzM0Oy1cJiMzNDsgX19zdHJpbmdpZnkoYXBpKSBcJiMzNDsudWNvZGVcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzcwMDAuYy00Mi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzcwMDAuYzo0MzojZGVmaW5lIElXTDMxNjhfRldfUFJFIFwmIzM0O2l3bHdpZmktMzE2OFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNzAwMC5jLTQ0LSNkZWZpbmUgSVdMMzE2OF9NT0RVTEVfRklSTVdBUkUoYXBpKSBJV0wzMTY4X0ZXX1BSRSBcJiMzNDstXCYjMzQ7IF9fc3RyaW5naWZ5KGFwaSkgXCYjMzQ7LnVjb2RlXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy83MDAwLmMtNDUtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy83MDAwLmM6NDY6I2RlZmluZSBJV0w3MjY1X0ZXX1BSRSBcJiMzNDtpd2x3aWZpLTcyNjVcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzcwMDAuYy00Ny0jZGVmaW5lIElXTDcyNjVfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgSVdMNzI2NV9GV19QUkUgXCYjMzQ7LVwmIzM0OyBfX3N0cmluZ2lmeShhcGkpIFwmIzM0Oy51Y29kZVwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNzAwMC5jLTQ4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNzAwMC5jOjQ5OiNkZWZpbmUgSVdMNzI2NURfRldfUFJFIFwmIzM0O2l3bHdpZmktNzI2NURcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzcwMDAuYy01MC0jZGVmaW5lIElXTDcyNjVEX01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDcyNjVEX0ZXX1BSRSBcJiMzNDstXCYjMzQ7IF9fc3RyaW5naWZ5KGFwaSkgXCYjMzQ7LnVjb2RlXCYjMzQ7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvODAwMC5jLTI5LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvODAwMC5jOjMwOiNkZWZpbmUgSVdMODAwMF9GV19QUkUgXCYjMzQ7aXdsd2lmaS04MDAwQ1wmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvODAwMC5jLTMxLSNkZWZpbmUgSVdMODAwMF9NT0RVTEVfRklSTVdBUkUoYXBpKSBcXFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzgwMDAuYy0zMy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzgwMDAuYzozNDojZGVmaW5lIElXTDgyNjVfRldfUFJFIFwmIzM0O2l3bHdpZmktODI2NVwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvODAwMC5jLTM1LSNkZWZpbmUgSVdMODI2NV9NT0RVTEVfRklSTVdBUkUoYXBpKSBcXFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzkwMDAuYy0yMS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzkwMDAuYzoyMjojZGVmaW5lICBJV0w5MDAwX0ZXX1BSRSBcJiMzNDtpd2x3aWZpLTkwMDAtcHUtYjAtamYtYjBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzkwMDAuYzoyMzojZGVmaW5lICBJV0w5MjYwX0ZXX1BSRSBcJiMzNDtpd2x3aWZpLTkyNjAtdGgtYjAtamYtYjBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzkwMDAuYy0yNC0jZGVmaW5lIElXTDkwMDBfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgXFxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jLTE3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvYXgyMTAuYzoxODojZGVmaW5lIElXTF9TT19BX0dGX0FfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktc28tYTAtZ2YtYTBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2F4MjEwLmM6MTk6I2RlZmluZSBJV0xfVFlfQV9HRl9BX0ZXX1BSRVx0XHRcJiMzNDtpd2x3aWZpLXR5LWEwLWdmLWEwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jOjIwOiNkZWZpbmUgSVdMX01BX0FfR0ZfQV9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1tYS1hMC1nZi1hMFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvYXgyMTAuYzoyMTojZGVmaW5lIElXTF9NQV9CX0dGX0FfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktbWEtYjAtZ2YtYTBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2F4MjEwLmM6MjI6I2RlZmluZSBJV0xfU09fQV9HRjRfQV9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1zby1hMC1nZjQtYTBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2F4MjEwLmM6MjM6I2RlZmluZSBJV0xfTUFfQV9HRjRfQV9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1tYS1hMC1nZjQtYTBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2F4MjEwLmM6MjQ6I2RlZmluZSBJV0xfTUFfQl9HRjRfQV9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1tYS1iMC1nZjQtYTBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2F4MjEwLmM6MjU6I2RlZmluZSBJV0xfU09fQV9IUl9CX0ZXX1BSRVx0XHRcJiMzNDtpd2x3aWZpLXNvLWEwLWhyLWIwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jOjI2OiNkZWZpbmUgSVdMX01BX0FfSFJfQl9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1tYS1hMC1oci1iMFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvYXgyMTAuYzoyNzojZGVmaW5lIElXTF9NQV9CX0hSX0JfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktbWEtYjAtaHItYjBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2F4MjEwLmMtMjgtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvYnouYy0xNy1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2J6LmM6MTg6I2RlZmluZSBJV0xfQlpfQV9GTV9CX0ZXX1BSRVx0XHRcJiMzNDtpd2x3aWZpLWJ6LWEwLWZtLWIwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9iei5jOjE5OiNkZWZpbmUgSVdMX0JaX0FfRk1fQ19GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1iei1hMC1mbS1jMFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvYnouYzoyMDojZGVmaW5lIElXTF9CWl9BX0ZNNF9CX0ZXX1BSRVx0XHRcJiMzNDtpd2x3aWZpLWJ6LWEwLWZtNC1iMFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvYnouYzoyMTojZGVmaW5lIElXTF9HTF9CX0ZNX0JfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktZ2wtYjAtZm0tYjBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2J6LmM6MjI6I2RlZmluZSBJV0xfR0xfQ19GTV9DX0ZXX1BSRVx0XHRcJiMzNDtpd2x3aWZpLWdsLWMwLWZtLWMwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9iei5jLTIzLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2RyLmMtMTYtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9kci5jOjE3OiNkZWZpbmUgSVdMX0RSX0FfUEVfQV9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1kci1hMC1wZS1hMFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvZHIuYy0xOC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1nZi5jLTEzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvcmYtZ2YuYzoxNDojZGVmaW5lIElXTF9CWl9BX0dGX0FfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktYnotYTAtZ2YtYTBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3JmLWdmLmM6MTU6I2RlZmluZSBJV0xfQlpfQV9HRjRfQV9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1iei1hMC1nZjQtYTBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3JmLWdmLmM6MTY6I2RlZmluZSBJV0xfU0NfQV9HRl9BX0ZXX1BSRVx0XHRcJiMzNDtpd2x3aWZpLXNjLWEwLWdmLWEwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1nZi5jOjE3OiNkZWZpbmUgSVdMX1NDX0FfR0Y0X0FfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktc2MtYTAtZ2Y0LWEwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1nZi5jLTE4LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3JmLWhyLmMtMTMtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1oci5jOjE0OiNkZWZpbmUgSVdMX0JaX0FfSFJfQl9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1iei1hMC1oci1iMFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvcmYtaHIuYzoxNTojZGVmaW5lIElXTF9TQ19BX0hSX0FfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktc2MtYTAtaHItYjBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3JmLWhyLmM6MTY6I2RlZmluZSBJV0xfU0NfQV9IUl9CX0ZXX1BSRVx0XHRcJiMzNDtpd2x3aWZpLXNjLWEwLWhyLWIwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1oci5jLTE3LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3JmLWpmLmMtMTMtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1qZi5jOjE0OiNkZWZpbmUgSVdMX1FVX0JfSkZfQl9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1RdS1iMC1qZi1iMFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvcmYtamYuYzoxNTojZGVmaW5lIElXTF9RVV9DX0pGX0JfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktUXUtYzAtamYtYjBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3JmLWpmLmM6MTY6I2RlZmluZSBJV0xfUVVaX0FfSkZfQl9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1RdVotYTAtamYtYjBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3JmLWpmLmM6MTc6I2RlZmluZSBJV0xfU09fQV9KRl9CX0ZXX1BSRVx0XHRcJiMzNDtpd2x3aWZpLXNvLWEwLWpmLWIwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1qZi5jLTE4LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3NjLmMtMTctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9zYy5jOjE4OiNkZWZpbmUgSVdMX1NDX0FfRk1fQl9GV19QUkVcdFx0XCYjMzQ7aXdsd2lmaS1zYy1hMC1mbS1iMFwmIzM0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvc2MuYzoxOTojZGVmaW5lIElXTF9TQ19BX0ZNX0NfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktc2MtYTAtZm0tYzBcJiMzNDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3NjLmM6MjA6I2RlZmluZSBJV0xfU0NfQV9XSF9BX0ZXX1BSRVx0XHRcJiMzNDtpd2x3aWZpLXNjLWEwLXdoLWEwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9zYy5jOjIxOiNkZWZpbmUgSVdMX1NDMl9BX0ZNX0NfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktc2MyLWEwLWZtLWMwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9zYy5jOjIyOiNkZWZpbmUgSVdMX1NDMl9BX1dIX0FfRldfUFJFXHRcdFwmIzM0O2l3bHdpZmktc2MyLWEwLXdoLWEwXCYjMzQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9zYy5jLTIzLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2RlYnVnZnMuYz0yMjYyPXN0YXRpYyBzc2l6ZV90IGl3bF9kYmdmc19md19yZXN0YXJ0X3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2RlYnVnZnMuYy0yMjY2LVx0c3RydWN0IGl3bF9wcml2ICpwcml2ID0gZmlsZS1cdTAwM2Vwcml2YXRlX2RhdGE7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZWJ1Z2ZzLmM6MjI2NzpcdGJvb2wgZndfcmVzdGFydCA9IGl3bHdpZmlfbW9kX3BhcmFtcy5md19yZXN0YXJ0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGVidWdmcy5jLTIyNjgtXHRpbnQgX19tYXliZV91bnVzZWQgcmV0O1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGVidWdmcy5jLTIyNjktXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZWJ1Z2ZzLmM6MjI3MDpcdGl3bHdpZmlfbW9kX3BhcmFtcy5md19yZXN0YXJ0ID0gdHJ1ZTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2RlYnVnZnMuYy0yMjcxLVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2RlYnVnZnMuYy0yMjc4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGVidWdmcy5jOjIyNzk6XHRpd2x3aWZpX21vZF9wYXJhbXMuZndfcmVzdGFydCA9IGZ3X3Jlc3RhcnQ7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZWJ1Z2ZzLmMtMjI4MC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZWJ1Z2ZzLmM9MjMxMz12b2lkIGl3bF9kYmdmc19yZWdpc3RlcihzdHJ1Y3QgaXdsX3ByaXYgKnByaXYsIHN0cnVjdCBkZW50cnkgKmRiZ2ZzX2Rpcilcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZWJ1Z2ZzLmMtMjM4MC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2RlYnVnZnMuYzoyMzgxOlx0XHRkZWJ1Z2ZzX2NyZWF0ZV9zeW1saW5rKFwmIzM0O2l3bHdpZmlcJiMzNDssIG1hYzgwMjExX2RpciwgYnVmKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2RlYnVnZnMuYy0yMzgyLVx0fVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2Rldi5oPTIxMD1zdHJ1Y3QgaXdsX3NlbnNpdGl2aXR5X3JhbmdlcyB7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGV2LmgtMjQ0LSAqIE5hbWluZyBjb252ZW50aW9uIC0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZXYuaDoyNDU6ICogaXdsXyAgICAgICAgIFx1MDAzYy0tIElzIHBhcnQgb2YgaXdsd2lmaVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGV2LmgtMjQ2LSAqIGl3bFhYWFhfICAgICBcdTAwM2MtLSBIYXJkd2FyZSBzcGVjaWZpYyAoaW1wbGVtZW50ZWQgaW4gaXdsLVhYWFguYyBmb3IgWFhYWClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9lZXByb20uYz0xMDU5PWl3bF9wYXJzZV9lZXByb21fZGF0YShzdHJ1Y3QgaXdsX3RyYW5zICp0cmFucywgY29uc3Qgc3RydWN0IGl3bF9yZl9jZmcgKmNmZyxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9lZXByb20uYy0xMTE4LVx0ZGF0YS1cdTAwM2Vza3VfY2FwX2lwYW5fZW5hYmxlID0gc2t1IFx1MDAyNiBFRVBST01fU0tVX0NBUF9JUEFOX0VOQUJMRTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2VlcHJvbS5jOjExMTk6XHRpZiAoaXdsd2lmaV9tb2RfcGFyYW1zLmRpc2FibGVfMTFuIFx1MDAyNiBJV0xfRElTQUJMRV9IVF9BTEwpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9lZXByb20uYy0xMTIwLVx0XHRkYXRhLVx1MDAzZXNrdV9jYXBfMTFuX2VuYWJsZSA9IGZhbHNlO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2xlZC5jPTE1NT12b2lkIGl3bF9sZWRzX2luaXQoc3RydWN0IGl3bF9wcml2ICpwcml2KVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbGVkLmMtMTU2LXtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2xlZC5jOjE1NzpcdGludCBtb2RlID0gaXdsd2lmaV9tb2RfcGFyYW1zLmxlZF9tb2RlO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbGVkLmMtMTU4LVx0aW50IHJldDtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9saWIuYz0yMDE9dm9pZCBpd2xhZ25fc2VuZF9hZHZhbmNlX2J0X2NvbmZpZyhzdHJ1Y3QgaXdsX3ByaXYgKnByaXYpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbGliLmMtMjYyLVx0ICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9saWIuYzoyNjM6XHRpZiAoIWl3bHdpZmlfbW9kX3BhcmFtcy5idF9jb2V4X2FjdGl2ZSB8fFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbGliLmMtMjY0LVx0ICAgIHByaXYtXHUwMDNlaXdfbW9kZSA9PSBOTDgwMjExX0lGVFlQRV9BREhPQykge1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2xpYi5jPTEwMzQ9aW50IGl3bGFnbl9zdXNwZW5kKHN0cnVjdCBpd2xfcHJpdiAqcHJpdiwgc3RydWN0IGNmZzgwMjExX3dvd2xhbiAqd293bGFuKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2xpYi5jLTExMzUtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9saWIuYzoxMTM2Olx0aWYgKCFpd2x3aWZpX21vZF9wYXJhbXMuc3djcnlwdG8pIHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2xpYi5jLTExMzctXHRcdC8qIG1hcmsgYWxsIGtleXMgY2xlYXIgKi9cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWM4MDIxMS5jPTc4PWludCBpd2xhZ25fbWFjX3NldHVwX3JlZ2lzdGVyKHN0cnVjdCBpd2xfcHJpdiAqcHJpdixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWM4MDIxMS5jLTEyMS1cdGlmIChwcml2LVx1MDAzZWZ3LVx1MDAzZXVjb2RlX2NhcGEuZmxhZ3MgXHUwMDI2IElXTF9VQ09ERV9UTFZfRkxBR1NfTUZQIFx1MDAyNlx1MDAyNlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYzoxMjI6XHQgICAgIWl3bHdpZmlfbW9kX3BhcmFtcy5zd2NyeXB0bylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21hYzgwMjExLmMtMTIzLVx0XHRpZWVlODAyMTFfaHdfc2V0KGh3LCBNRlBfQ0FQQUJMRSk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYy0xNTItXHRcdFx0XHRcdCAgICAgV0lQSFlfV09XTEFOX1JGS0lMTF9SRUxFQVNFO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYzoxNTM6XHRcdGlmICghaXdsd2lmaV9tb2RfcGFyYW1zLnN3Y3J5cHRvKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYy0xNTQtXHRcdFx0cHJpdi1cdTAwM2V3b3dsYW5fc3VwcG9ydC5mbGFncyB8PVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21hYzgwMjExLmMtMTY2LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYzoxNjc6XHRpZiAoaXdsd2lmaV9tb2RfcGFyYW1zLnBvd2VyX3NhdmUpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWM4MDIxMS5jLTE2OC1cdFx0aHctXHUwMDNld2lwaHktXHUwMDNlZmxhZ3MgfD0gV0lQSFlfRkxBR19QU19PTl9CWV9ERUZBVUxUO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21hYzgwMjExLmM9MzI1PXN0YXRpYyB2b2lkIGl3bGFnbl9tYWNfc2V0X3Jla2V5X2RhdGEoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYy0zMzAtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWM4MDIxMS5jOjMzMTpcdGlmIChpd2x3aWZpX21vZF9wYXJhbXMuc3djcnlwdG8pXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWM4MDIxMS5jLTMzMi1cdFx0cmV0dXJuO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21hYzgwMjExLmM9NTg4PXN0YXRpYyBpbnQgaXdsYWduX21hY19zZXRfa2V5KHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LCBlbnVtIHNldF9rZXlfY21kIGNtZCxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWM4MDIxMS5jLTYwMC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21hYzgwMjExLmM6NjAxOlx0aWYgKGl3bHdpZmlfbW9kX3BhcmFtcy5zd2NyeXB0bykge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYy02MDItXHRcdElXTF9ERUJVR19NQUM4MDIxMShwcml2LCBcJiMzNDtsZWF2ZSAtIGh3Y3J5cHRvIGRpc2FibGVkXFxuXCYjMzQ7KTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM9Mzk4PXN0YXRpYyB2b2lkIGl3bF9wcmludF9jb250X2V2ZW50X3RyYWNlKHN0cnVjdCBpd2xfcHJpdiAqcHJpdiwgdTMyIGJhc2UsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTQzNC1cdFx0aWYgKG1vZGUgPT0gMCkge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jOjQzNTpcdFx0XHR0cmFjZV9pd2x3aWZpX2Rldl91Y29kZV9jb250X2V2ZW50KFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTQzNi1cdFx0XHRcdFx0cHJpdi1cdTAwM2V0cmFucy1cdTAwM2VkZXYsIDAsIHRpbWUsIGV2KTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtNDM4LVx0XHRcdGRhdGEgPSBpd2xfcmVhZDMyKHByaXYtXHUwMDNldHJhbnMsIEhCVVNfVEFSR19NRU1fUkRBVCk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM6NDM5Olx0XHRcdHRyYWNlX2l3bHdpZmlfZGV2X3Vjb2RlX2NvbnRfZXZlbnQoXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtNDQwLVx0XHRcdFx0XHRwcml2LVx1MDAzZXRyYW5zLVx1MDAzZWRldiwgdGltZSwgZGF0YSwgZXYpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYz00NDc9c3RhdGljIHZvaWQgaXdsX2NvbnRpbnVvdXNfZXZlbnRfdHJhY2Uoc3RydWN0IGl3bF9wcml2ICpwcml2KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYy01MDMtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM6NTA0Olx0XHR0cmFjZV9pd2x3aWZpX2Rldl91Y29kZV93cmFwX2V2ZW50KHByaXYtXHUwMDNldHJhbnMtXHUwMDNlZGV2LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTUwNS1cdFx0XHRcdG51bV93cmFwcyAtIHByaXYtXHUwMDNlZXZlbnRfbG9nLm51bV93cmFwcyxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM9NzM3PXN0YXRpYyB2b2lkIGl3bF9zZW5kX2J0X2NvbmZpZyhzdHJ1Y3QgaXdsX3ByaXYgKnByaXYpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTc0NS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYzo3NDY6XHRpZiAoIWl3bHdpZmlfbW9kX3BhcmFtcy5idF9jb2V4X2FjdGl2ZSlcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYy03NDctXHRcdGJ0X2NtZC5mbGFncyA9IEJUX0NPRVhfRElTQUJMRTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM9MTIzMz1zdGF0aWMgc3RydWN0IGl3bF9vcF9tb2RlICppd2xfb3BfbW9kZV9kdm1fc3RhcnQoc3RydWN0IGl3bF90cmFucyAqdHJhbnMsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTEzMjQtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM6MTMyNTpcdHN3aXRjaCAoaXdsd2lmaV9tb2RfcGFyYW1zLmFtc2R1X3NpemUpIHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYy0xMzI2LVx0Y2FzZSBJV0xfQU1TRFVfREVGOlxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYy0xMzM2LVx0XHRwcl9lcnIoXCYjMzQ7VW5zdXBwb3J0ZWQgYW1zZHVfc2l6ZTogJWRcXG5cJiMzNDssXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM6MTMzNzpcdFx0ICAgICAgIGl3bHdpZmlfbW9kX3BhcmFtcy5hbXNkdV9zaXplKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYy0xMzM4LVx0fVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYz0xNjk4PXN0YXRpYyBpbnQgaXdsX3ByaW50X2V2ZW50X2xvZyhzdHJ1Y3QgaXdsX3ByaXYgKnByaXYsIHUzMiBzdGFydF9pZHgsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTE3NDctXHRcdFx0fSBlbHNlIHtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYzoxNzQ4Olx0XHRcdFx0dHJhY2VfaXdsd2lmaV9kZXZfdWNvZGVfZXZlbnQodHJhbnMtXHUwMDNlZGV2LCAwLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTE3NDktXHRcdFx0XHRcdHRpbWUsIGV2KTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtMTc2MS1cdFx0XHRcdFx0dGltZSwgZGF0YSwgZXYpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jOjE3NjI6XHRcdFx0XHR0cmFjZV9pd2x3aWZpX2Rldl91Y29kZV9ldmVudCh0cmFucy1cdTAwM2VkZXYsIHRpbWUsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtMTc2My1cdFx0XHRcdFx0ZGF0YSwgZXYpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYz0xOTEyPXN0YXRpYyB2b2lkIGl3bGFnbl9md19lcnJvcihzdHJ1Y3QgaXdsX3ByaXYgKnByaXYsIGJvb2wgb25kZW1hbmQpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTE5NDUtXHRpZiAoIXRlc3RfYml0KFNUQVRVU19FWElUX1BFTkRJTkcsIFx1MDAyNnByaXYtXHUwMDNlc3RhdHVzKSkge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jOjE5NDY6XHRcdGlmIChpd2x3aWZpX21vZF9wYXJhbXMuZndfcmVzdGFydCkge1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTE5NDctXHRcdFx0SVdMX0RFQlVHX0ZXKHByaXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vcG93ZXIuYz0yNzE9c3RhdGljIHZvaWQgaXdsX3Bvd2VyX2J1aWxkX2NtZChzdHJ1Y3QgaXdsX3ByaXYgKnByaXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vcG93ZXIuYy0zMDEtXHRcdGJ1dCB3ZSBwYXNzIDAtNCBiZWNhdXNlIGl0IGFjdHMgYXMgYW4gYXJyYXkgaW5kZXguICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9wb3dlci5jOjMwMjpcdFx0aWYgKGl3bHdpZmlfbW9kX3BhcmFtcy5wb3dlcl9sZXZlbCBcdTAwM2UgSVdMX1BPV0VSX0lOREVYXzEgXHUwMDI2XHUwMDI2XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9wb3dlci5jOjMwMzpcdFx0ICAgIGl3bHdpZmlfbW9kX3BhcmFtcy5wb3dlcl9sZXZlbCBcdTAwM2M9IElXTF9QT1dFUl9OVU0pXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9wb3dlci5jLTMwNC1cdFx0XHRpd2xfc3RhdGljX3NsZWVwX2NtZChwcml2LCBjbWQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9wb3dlci5jOjMwNTpcdFx0XHRcdGl3bHdpZmlfbW9kX3BhcmFtcy5wb3dlcl9sZXZlbCAtIDEsIGR0aW1wZXIpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vcG93ZXIuYy0zMDYtXHRcdGVsc2Vcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9yeC5jPTYwND1zdGF0aWMgdm9pZCBpd2xhZ25fcGFzc19wYWNrZXRfdG9fbWFjODAyMTEoc3RydWN0IGl3bF9wcml2ICpwcml2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3J4LmMtNjIzLVx0LyogSW4gY2FzZSBvZiBIVyBhY2NlbGVyYXRlZCBjcnlwdG8gYW5kIGJhZCBkZWNyeXB0aW9uLCBkcm9wICovXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9yeC5jOjYyNDpcdGlmICghaXdsd2lmaV9tb2RfcGFyYW1zLnN3Y3J5cHRvIFx1MDAyNlx1MDAyNlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vcnguYy02MjUtXHQgICAgaXdsYWduX3NldF9kZWNyeXB0ZWRfZmxhZyhwcml2LCBoZHIsIGFtcGR1X3N0YXR1cywgc3RhdHMpKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3J4b24uYz0xMDIzPWludCBpd2xhZ25fY29tbWl0X3J4b24oc3RydWN0IGl3bF9wcml2ICpwcml2LCBzdHJ1Y3QgaXdsX3J4b25fY29udGV4dCAqY3R4KVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3J4b24uYy0xMTAyLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vcnhvbi5jOjExMDM6XHRpd2xfc2V0X3J4b25faHdjcnlwdG8ocHJpdiwgY3R4LCAhaXdsd2lmaV9tb2RfcGFyYW1zLnN3Y3J5cHRvKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3J4b24uYy0xMTA0LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZncvaW1nLmg9MTM2PXN0cnVjdCBpd2xfZndfcGFnaW5nIHtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2Z3L2ltZy5oLTE0My0vKipcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZncvaW1nLmg6MTQ0OiAqIGVudW0gaXdsX2Z3X3R5cGUgLSBpd2x3aWZpIGZpcm13YXJlIHR5cGVcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZncvaW1nLmgtMTQ1LSAqIEBJV0xfRldfRFZNOiBEVk0gZmlybXdhcmVcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kYmctdGx2LmM9NDk5PXZvaWQgaXdsX2RiZ190bHZfbG9hZF9iaW4oc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgaXdsX3RyYW5zICp0cmFucylcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kYmctdGx2LmMtNTA0LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGJnLXRsdi5jOjUwNTpcdGlmICghaXdsd2lmaV9tb2RfcGFyYW1zLmVuYWJsZV9pbmkgfHxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRiZy10bHYuYy01MDYtXHQgICAgdHJhbnMtXHUwMDNlbWFjX2NmZy1cdTAwM2VkZXZpY2VfZmFtaWx5IFx1MDAzYz0gSVdMX0RFVklDRV9GQU1JTFlfODAwMClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5jPTEzPXZvaWQgX19pd2xfICMjZm4oc3RydWN0IGRldmljZSAqZGV2LCBjb25zdCBjaGFyICpmbXQsIC4uLilcdFxcXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuYy0yMi1cdGRldl8gIyNmbihkZXYsIFwmIzM0OyVwVlwmIzM0OywgXHUwMDI2dmFmKTtcdFx0XHRcdFxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5jOjIzOlx0dHJhY2VfaXdsd2lmaV8gIyNmbihcdTAwMjZ2YWYpO1x0XHRcdFx0XFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmMtMjQtXHR2YV9lbmQoYXJncyk7XHRcdFx0XHRcdFx0XFxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5jPTM0PXZvaWQgX19pd2xfZXJyKHN0cnVjdCBkZXZpY2UgKmRldiwgZW51bSBpd2xfZXJyX21vZGUgbW9kZSwgY29uc3QgY2hhciAqZm10LCAuLi4pXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuYy02MC1cdHZhZi52YSA9IFx1MDAyNmFyZ3M7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5jOjYxOlx0dHJhY2VfaXdsd2lmaV9lcnIoXHUwMDI2dmFmKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmMtNjItXHR2YV9lbmQoYXJncyk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuYz02Nz12b2lkIF9faXdsX2RiZyhzdHJ1Y3QgZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuYy04Mi0jZW5kaWZcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmM6ODM6XHR0cmFjZV9pd2x3aWZpX2RiZyhsZXZlbCwgZnVuY3Rpb24sIFx1MDAyNnZhZik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5jLTg0LVx0dmFfZW5kKGFyZ3MpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmg9MTY9c3RhdGljIGlubGluZSBib29sIGl3bF9oYXZlX2RlYnVnX2xldmVsKHUzMiBsZXZlbClcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5oLTE4LSNpZmRlZiBDT05GSUdfSVdMV0lGSV9ERUJVR1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuaDoxOTpcdHJldHVybiBpd2x3aWZpX21vZF9wYXJhbXMuZGVidWdfbGV2ZWwgXHUwMDI2IGxldmVsO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuaC0yMC0jZWxzZVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmg9MTAyPWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFx0XHRcdFxcXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuaC0xMjYtICpcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmg6MTI3OiAqXHQvc3lzL21vZHVsZS9pd2x3aWZpL3BhcmFtZXRlcnMvZGVidWdcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmgtMTI4LSAqIHdoZW4gQ09ORklHX0lXTFdJRklfREVCVUc9eS5cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmgtMTI5LSAqXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5oOjEzMDogKlx0L3N5cy9rZXJuZWwvZGVidWcvcGh5MC9pd2x3aWZpL2RlYnVnL2RlYnVnX2xldmVsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5oLTEzMS0gKiB3aGVuIENPTkZJR19JV0xXSUZJX0RFQlVHRlM9eS5cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1kYXRhLmgtMTQtI3VuZGVmIFRSQUNFX1NZU1RFTVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtZGF0YS5oOjE1OiNkZWZpbmUgVFJBQ0VfU1lTVEVNIGl3bHdpZmlfZGF0YVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtZGF0YS5oLTE2LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtZGF0YS5oOjE3OlRSQUNFX0VWRU5UKGl3bHdpZmlfZGV2X3R4X3RiLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtZGF0YS5oLTE4LVx0VFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWRhdGEuaC0zNi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWRhdGEuaDozNzpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9yeF9kYXRhLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtZGF0YS5oLTM4LVx0VFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtMTQtI3VuZGVmIFRSQUNFX1NZU1RFTVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDoxNTojZGVmaW5lIFRSQUNFX1NZU1RFTSBpd2x3aWZpX2lvXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTE2LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDoxNzpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9pb3JlYWQzMixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtMTgtXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHUzMiBvZmZzLCB1MzIgdmFsKSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTMzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDozNDpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9pb3dyaXRlOCxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtMzUtXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHUzMiBvZmZzLCB1OCB2YWwpLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtNTAtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oOjUxOlRSQUNFX0VWRU5UKGl3bHdpZmlfZGV2X2lvd3JpdGUzMixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtNTItXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHUzMiBvZmZzLCB1MzIgdmFsKSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTY3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDo2ODpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9pb3dyaXRlNjQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTY5LVx0VFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LCB1NjQgb2ZmcywgdTY0IHZhbCksXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC04NC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmg6ODU6VFJBQ0VfRVZFTlQoaXdsd2lmaV9kZXZfaW93cml0ZV9wcnBoMzIsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTg2LVx0VFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LCB1MzIgb2ZmcywgdTMyIHZhbCksXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC0xMDEtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oOjEwMjpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9pb3dyaXRlX3BycGg2NCxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtMTAzLVx0VFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LCB1NjQgb2ZmcywgdTY0IHZhbCksXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC0xMTgtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oOjExOTpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9pb3JlYWRfcHJwaDMyLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC0xMjAtXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHUzMiBvZmZzLCB1MzIgdmFsKSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTEzNS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmg6MTM2OlRSQUNFX0VWRU5UKGl3bHdpZmlfZGV2X2lycSxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtMTM3LVx0VFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmljZSAqZGV2KSxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTE0OC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmg6MTQ5OlRSQUNFX0VWRU5UKGl3bHdpZmlfZGV2X2lycV9tc2l4LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC0xNTAtXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBtc2l4X2VudHJ5ICptc2l4X2VudHJ5LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtMTcxLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDoxNzI6VFJBQ0VfRVZFTlQoaXdsd2lmaV9kZXZfaWN0X3JlYWQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTE3My1cdFRQX1BST1RPKGNvbnN0IHN0cnVjdCBkZXZpY2UgKmRldiwgdTMyIGluZGV4LCB1MzIgdmFsdWUpLFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWl3bHdpZmkuaC0xNS0jdW5kZWYgVFJBQ0VfU1lTVEVNXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pd2x3aWZpLmg6MTY6I2RlZmluZSBUUkFDRV9TWVNURU0gaXdsd2lmaVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaXdsd2lmaS5oLTE3LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaXdsd2lmaS5oOjE4OlRSQUNFX0VWRU5UKGl3bHdpZmlfZGV2X2hjbWQsXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pd2x3aWZpLmgtMTktXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaXdsd2lmaS5oLTUxLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaXdsd2lmaS5oOjUyOlRSQUNFX0VWRU5UKGl3bHdpZmlfZGV2X3J4LFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaXdsd2lmaS5oLTUzLVx0VFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LFxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWl3bHdpZmkuaC03Mi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWl3bHdpZmkuaDo3MzpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl90eCxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWl3bHdpZmkuaC03NC1cdFRQX1BST1RPKGNvbnN0IHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IHNrX2J1ZmYgKnNrYixcblxuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjUvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzMxIDE4OjM5PC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDE5NDYxCgkJCQkJCQlvdXRwdXQ6IDQxCgkJCQkJCQl0aG91Z2h0czogOTUKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqQW5hbHl6aW5nIHRoZSBpd2x3aWZpIERyaXZlcioqCgpPa2F5LCBsZXQmIzM5O3MgYnJlYWsgdGhpcyBkb3duLiAqaXdsd2lmaSrigKYgcmlnaHQsIGl0JiMzOTtzIGEgUENJIGRyaXZlci4gU3BlY2lmaWNhbGx5LCBpdCByZWxpZXMgb24gUENJLCBIQVNfSU9NRU0sIGFuZCBDRkc4MDIxMSwgd2hpY2ggbWFrZXMgc2Vuc2UuIEkgbmVlZCB0byB1bmRlcnN0YW5kIHRoaXMgZHJpdmVyIGJldHRlciwgc28gSSYjMzk7bSB0aGlua2luZywgZG9lcyAqaXdsd2lmaSogaGF2ZSBhbnkgc29ydCBvZiBzb2Z0d2FyZSBlbXVsYXRpb24gb3IgbW9jayBmdW5jdGlvbmFsaXR5LCBvciBpcyBpdCBleGNsdXNpdmVseSB0aWVkIHRvIHRoZSB2ZW5kb3ImIzM5O3Mgc3BlY2lmaWMgUENJZSBoYXJkd2FyZT8gVGhhdCYjMzk7cyB0aGUgY29yZSBxdWVzdGlvbiBoZXJlLiBJIG5lZWQgdG8gY29uZmlybSB3aGV0aGVyIEkgY2FuIHdvcmsgd2l0aCBpdCBpbiBhbiBlbXVsYXRlZCBlbnZpcm9ubWVudC4gSG9sZCBvbiwgYmVmb3JlIEkgZGl2ZSB0b28gZGVlcCBpbnRvIHRoZSBicm9hZGVyIHNjb3BlLCBsZXQgbWUgdGFrZSBhIGxvb2sgYXQgYGl3bF9tdm1fdXBkYXRlX21jY2AuIEhvdyBpcyB0aGF0IGZ1bmN0aW9uIGNhbGxlZD8gQW5kIHdoZXJlIGlzIGl0IGJlaW5nIHVzZWQ/IFVuZGVyc3RhbmRpbmcgdGhhdCBmdW5jdGlvbiYjMzk7cyBjb250ZXh0IG1pZ2h0IHByb3ZpZGUgdGhlIGNsdWVzIEkgbmVlZCB0byBkZXRlcm1pbmUgaG93IHRoZSBkcml2ZXIgd29ya3MgYXQgYSBmdW5kYW1lbnRhbCBsZXZlbC4gSSBuZWVkIHRvIHNlZSBob3cgdGhlIHNvZnR3YXJlIGludGVyYWN0cyB3aXRoIHRoZSBoYXJkd2FyZSwgdG8gdW5kZXJzdGFuZCBpdCYjMzk7cyBvcGVyYXRpb24uCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ni8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMTg6Mzk8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7aXdsX212bV91cGRhdGVfbWNjJiMzNDssCiAgJiMzNDtQYXRoUHJlZml4JiMzNDs6ICYjMzQ7ZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaSYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tYWM4MDIxMS5jPTExNz1zdHJ1Y3QgaWVlZTgwMjExX3JlZ2RvbWFpbiAqaXdsX212bV9nZXRfcmVnZG9tYWluKHN0cnVjdCB3aXBoeSAqd2lwaHksXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWFjODAyMTEuYy0xMzEtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tYWM4MDIxMS5jOjEzMjpcdHJlc3AgPSBpd2xfbXZtX3VwZGF0ZV9tY2MobXZtLCBhbHBoYTIsIHNyY19pZCk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tYWM4MDIxMS5jLTEzMy1cdGlmIChJU19FUlJfT1JfTlVMTChyZXNwKSkge1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL212bS5oPTIzMjI9c3RydWN0IGl3bF9tY2NfdXBkYXRlX3Jlc3BfdjggKlxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbXZtLmg6MjMyMzppd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbXZtLmgtMjMyNC1cdFx0ICAgZW51bSBpd2xfbWNjX3NvdXJjZSBzcmNfaWQpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jPTQwMD1zdHJ1Y3QgaXdsX21jY191cGRhdGVfcmVzcF92OCAqXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9udm0uYzo0MDE6aXdsX212bV91cGRhdGVfbWNjKHN0cnVjdCBpd2xfbXZtICptdm0sIGNvbnN0IGNoYXIgKmFscGhhMixcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jLTQwMi1cdFx0ICAgZW51bSBpd2xfbWNjX3NvdXJjZSBzcmNfaWQpXG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+Ny8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMTg6Mzk8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjAyNzYKCQkJCQkJCW91dHB1dDogMjQKCQkJCQkJCXRob3VnaHRzOiAzNwoJCQkJCQk8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRob3VnaHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+KipDaGVja2luZyBmb3IgUm9idXN0bmVzcyBpbiB0aGUgaXdsd2lmaSBEcml2ZXIqKgoKT2theSwgbGV0JiMzOTtzIHRha2UgYSBsb29rIGF0IHRoZSBgaXdsd2lmaWAgZHJpdmVyLiBNeSBpbml0aWFsIHRob3VnaHQgaXMgdG8gYXNzZXNzIGl0cyB0ZXN0IGNvdmVyYWdlLiBJIHdhbnQgdG8gc2VlIGlmIHRoZXkmIzM5O3ZlIGltcGxlbWVudGVkIGFueSBLVW5pdCB0ZXN0cywgd2hpY2ggd291bGQgYmUgaWRlYWwuIEtVbml0IGlzIGEgZ3JlYXQgZnJhbWV3b3JrIGZvciBrZXJuZWwtbGV2ZWwgdW5pdCB0ZXN0aW5nLCBzbyB0aGF0JiMzOTtzIHRoZSBmaXJzdCBwbGFjZSBJJiMzOTtsbCBsb29rLiBJJiMzOTtsbCBuZWVkIHRvIGNoZWNrIHRoZSBidWlsZCBjb25maWd1cmF0aW9uIGFuZCB0aGUgc291cmNlIGNvZGUgZm9yIHNpZ25zIG9mIGEgc2ltdWxhdGVkIGRyaXZlciBhcyB3ZWxsLiBTcGVjaWZpY2FsbHksIEkgbmVlZCB0byBjaGVjayBmb3IgYSBmbGFnLCBsaWtlbHkgc29tZXRoaW5nIGxpa2UgYElXTFdJRklfS1VOSVRfVEVTVFNgIGluIHRoZSBidWlsZCBjb25maWd1cmF0aW9uLiBUaGF0IHdvdWxkIGJlIHRoZSBlYXNpZXN0IHdheSB0byBpZGVudGlmeSBpZiB0aGV5JiMzOTtyZSBhY3R1YWxseSBpbnRlZ3JhdGVkLiBIb3BlZnVsbHksIHRoZXkgaGF2ZSBhIHNvbGlkIHRlc3Qgc3VpdGUuCgoKPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+OC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMTg6NDA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7SVdMV0lGSV9LVU5JVF9URVNUUyYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtPdXRwdXQmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc9NDc9aWYgSVdMV0lGSVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTQ4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjQ5OmNvbmZpZyBJV0xXSUZJX0tVTklUX1RFU1RTXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctNTAtXHR0cmlzdGF0ZVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZz05NT1jb25maWcgSVdMV0lGSV9PUE1PREVfTU9EVUxBUlxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy05OS1cdGRlZmF1bHQgeSBpZiBJV0xNTEQ9bVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjEwMDpcdGRlZmF1bHQgeSBpZiBJV0xXSUZJX0tVTklUX1RFU1RTPW1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMDEtXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZT01Mj1vYmotJChDT05GSUdfSVdMTUxEKVx0JiM0Mzs9IG1sZC9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGUtNTMtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjU0Om9iai0kKENPTkZJR19JV0xXSUZJX0tVTklUX1RFU1RTKSAmIzQzOz0gdGVzdHMvXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTU1LVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWNvbmZpZy5oPTUxMz1zdHJ1Y3QgaXdsX2Rldl9pbmZvIHtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1jb25maWcuaC01MzEtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1jb25maWcuaDo1MzI6I2lmIElTX0VOQUJMRUQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1jb25maWcuaC01MzMtZXh0ZXJuIGNvbnN0IHN0cnVjdCBpd2xfZGV2X2luZm8gaXdsX2Rldl9pbmZvX3RhYmxlW107XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZHJ2Lmg9ODU9Ym9vbCBpd2xfZHJ2X2lzX3dpZmk3X3N1cHBvcnRlZChzdHJ1Y3QgaXdsX3RyYW5zICp0cmFucyk7XG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZHJ2LmgtOTktXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kcnYuaDoxMDA6I2lmIElTX0VOQUJMRUQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kcnYuaC0xMDEtI2RlZmluZSBFWFBPUlRfU1lNQk9MX0lGX0lXTFdJRklfS1VOSVQoc3ltKVx0RVhQT1JUX1NZTUJPTF9JRl9LVU5JVChzeW0pXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtbnZtLXBhcnNlLmg9NzU9ZW51bSBpd2xfbnZtX2NoYW5uZWxfZmxhZ3Mge1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLW52bS1wYXJzZS5oLTkzLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtbnZtLXBhcnNlLmg6OTQ6I2lmIElTX0VOQUJMRUQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1udm0tcGFyc2UuaC05NS11MzIgaXdsX252bV9nZXRfcmVnZG9tX2J3X2ZsYWdzKGNvbnN0IHUxNiAqbnZtX2NoYW4sXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvTWFrZWZpbGU9Mj1vYmotJChDT05GSUdfSVdMTUxEKSAgICYjNDM7PSBpd2xtbGQub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvTWFrZWZpbGU6MzpvYmotJChDT05GSUdfSVdMV0lGSV9LVU5JVF9URVNUUykgJiM0Mzs9IHRlc3RzL1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvTWFrZWZpbGUtNC1cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9saW5rLmg9MTQyPXVuc2lnbmVkIGludCBpd2xfbWxkX2dldF9saW5rX2dyYWRlKHN0cnVjdCBpd2xfbWxkICptbGQsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbGluay5oLTE0NC1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL2xpbmsuaDoxNDU6I2lmIElTX0VOQUJMRUQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9saW5rLmgtMTQ2LXM4IGl3bF9tbGRfZ2V0X2R1cF9iZWFjb25fcnNzaV9hZGp1c3Qoc3RydWN0IGl3bF9tbGQgKm1sZCxcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tbGQuYz0zNDE9RVhQT1JUX1NZTUJPTF9JRl9JV0xXSUZJX0tVTklUKGl3bF9tbGRfZ3JvdXBzKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21sZC5jLTM0Mi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21sZC5jOjM0MzojaWYgSVNfRU5BQkxFRChDT05GSUdfSVdMV0lGSV9LVU5JVF9URVNUUylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21sZC5jLTM0NC1jb25zdCB1bnNpZ25lZCBpbnQgZ2xvYmFsX2l3bF9tbGRfZ291cHNfc2l6ZSA9IEFSUkFZX1NJWkUoaXdsX21sZF9ncm91cHMpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21sZC5oPTUwNj1zdHJ1Y3QgaXdsX25vdGlmX3N0cnVjdF9zaXplIHtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tbGQuaC01MDktXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tbGQuaDo1MTA6I2lmIElTX0VOQUJMRUQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tbGQuaC01MTEtZXh0ZXJuIGNvbnN0IHN0cnVjdCBpd2xfaGNtZF9hcnIgaXdsX21sZF9ncm91cHNbXTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tbG8uaD0xNjU9dm9pZCBpd2xfbWxkX2VtbHNyX2Jsb2NrX3RtcF9ub25fYnNzKHN0cnVjdCBpd2xfbWxkICptbGQpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWxvLmgtMTY2LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWxvLmg6MTY3OiNpZiBJU19FTkFCTEVEKENPTkZJR19JV0xXSUZJX0tVTklUX1RFU1RTKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWxvLmgtMTY4LXUzMiBpd2xfbWxkX2VtbHNyX3BhaXJfc3RhdGUoc3RydWN0IGllZWU4MDIxMV92aWYgKnZpZixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9ub3RpZi5jPTQ3Nj1FWFBPUlRfU1lNQk9MX0lGX0lXTFdJRklfS1VOSVQoaXdsX21sZF9yeF9oYW5kbGVycyk7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9ub3RpZi5jLTQ3Ny1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL25vdGlmLmM6NDc4OiNpZiBJU19FTkFCTEVEKENPTkZJR19JV0xXSUZJX0tVTklUX1RFU1RTKVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbm90aWYuYy00NzktY29uc3QgdW5zaWduZWQgaW50IGl3bF9tbGRfcnhfaGFuZGxlcnNfbnVtID0gQVJSQVlfU0laRShpd2xfbWxkX3J4X2hhbmRsZXJzKTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC90ZXN0cy9NYWtlZmlsZT01PWNjZmxhZ3MteSAmIzQzOz0gLUkkKHNyYykvLi4vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC90ZXN0cy9NYWtlZmlsZTo2Om9iai0kKENPTkZJR19JV0xXSUZJX0tVTklUX1RFU1RTKSAmIzQzOz0gaXdsbWxkLXRlc3RzLm9cbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9NYWtlZmlsZT0yPW9iai0kKENPTkZJR19JV0xNVk0pICAgJiM0Mzs9IGl3bG12bS5vXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9NYWtlZmlsZTozOm9iai0kKENPTkZJR19JV0xXSUZJX0tVTklUX1RFU1RTKSAmIzQzOz0gdGVzdHMvXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9NYWtlZmlsZS00LWl3bG12bS15ICYjNDM7PSBmdy5vIG1hYzgwMjExLm8gbnZtLm8gb3BzLm8gcGh5LWN0eHQubyBtYWMtY3R4dC5vXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbXZtLmg9MTk2Nj1pbnQgaXdsX212bV9kaXNhYmxlX2xpbmsoc3RydWN0IGl3bF9tdm0gKm12bSwgc3RydWN0IGllZWU4MDIxMV92aWYgKnZpZixcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tdm0uaC0xOTY4LVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbXZtLmg6MTk2OTojaWYgSVNfRU5BQkxFRChDT05GSUdfSVdMV0lGSV9LVU5JVF9URVNUUylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL212bS5oLTE5NzAtZXh0ZXJuIGNvbnN0IHN0cnVjdCBpd2xfaGNtZF9hcnIgaXdsX212bV9ncm91cHNbXTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9vcHMuYz03MzY9RVhQT1JUX1NZTUJPTF9JRl9JV0xXSUZJX0tVTklUKGl3bF9tdm1fZ3JvdXBzKTtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL29wcy5jOjczNzojaWYgSVNfRU5BQkxFRChDT05GSUdfSVdMV0lGSV9LVU5JVF9URVNUUylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL29wcy5jLTczOC1jb25zdCB1bnNpZ25lZCBpbnQgaXdsX212bV9ncm91cHNfc2l6ZSA9IEFSUkFZX1NJWkUoaXdsX212bV9ncm91cHMpO1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL3Rlc3RzL01ha2VmaWxlPTE9aXdsbXZtLXRlc3RzLXkgJiM0Mzs9IG1vZHVsZS5vIGhjbWQub1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vdGVzdHMvTWFrZWZpbGUtMi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL3Rlc3RzL01ha2VmaWxlOjM6b2JqLSQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpICYjNDM7PSBpd2xtdm0tdGVzdHMub1xuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvcGNpZS9kcnYuYz0xMDkyPUVYUE9SVF9TWU1CT0xfSUZfSVdMV0lGSV9LVU5JVChpd2xfZGV2X2luZm9fdGFibGUpO1xuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9wY2llL2Rydi5jLTEwOTMtXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmM6MTA5NDojaWYgSVNfRU5BQkxFRChDT05GSUdfSVdMV0lGSV9LVU5JVF9URVNUUylcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvcGNpZS9kcnYuYy0xMDk1LWNvbnN0IHVuc2lnbmVkIGludCBpd2xfZGV2X2luZm9fdGFibGVfc2l6ZSA9IEFSUkFZX1NJWkUoaXdsX2Rldl9pbmZvX3RhYmxlKTtcbi0tXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3Rlc3RzL01ha2VmaWxlPTU9Y2NmbGFncy15ICYjNDM7PSAtSSQoc3JjKS8uLi9cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvdGVzdHMvTWFrZWZpbGUtNi1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvdGVzdHMvTWFrZWZpbGU6NzpvYmotJChDT05GSUdfSVdMV0lGSV9LVU5JVF9URVNUUykgJiM0Mzs9IGl3bHdpZmktdGVzdHMub1xuJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjkvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzMxIDE4OjQwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDIzMTU1CgkJCQkJCQlvdXRwdXQ6IDM5CgkJCQkJCQl0aG91Z2h0czogNDE5CgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFzc2Vzc21lbnQgb2YgdGhlIGBpd2x3aWZpYCBEcml2ZXImIzM5O3MgRnV6emluZyBQb3RlbnRpYWwqKgoKT2theSwgbGV0JiMzOTtzIGJyZWFrIHRoaXMgZG93bi4gRmlyc3QsIEkgbmVlZCB0byB1bmRlcnN0YW5kIHdoYXQgYGl3bHdpZmlgIGlzLiBSaWdodCwgaXQmIzM5O3MgdGhlIEludGVsIFdpRmkgZHJpdmVyLCBzcGVjaWZpYyB0byBwaHlzaWNhbCBQQ0llIHdpcmVsZXNzIGFkYXB0ZXJzIOKAkyB0aGUgNzI2MHMsIDgyNjVzLCB0aGUgQVggc2VyaWVzLi4uIHlvdSBrbm93LCB0aGUgdXN1YWwgc3VzcGVjdHMuIE5vdywgdGhlIGtleSBxdWVzdGlvbiBmb3IgZnV6emluZyBpczogY2FuIEkgZXZlbiAqdXNlKiBvciBpbnN0YW50aWF0ZSB0aGlzIGRyaXZlciB3aXRob3V0IHRoZSBwaHlzaWNhbCBJbnRlbCBXaUZpIFBDSWUgaGFyZHdhcmUsIHNwZWNpZmljYWxseSBpbiBhIHZpcnR1YWwgZW52aXJvbm1lbnQgbGlrZSBRRU1VIG9yIEdDRT8KCkxldCYjMzk7cyByZWZlciB0byB0aG9zZSBydWxlcyBvZiBmdXp6aW5nIGFuZCBmaWd1cmUgdGhpcyBvdXQuIEkgcmVtZW1iZXIgdGhvc2Ugc3BlY2lmaWMgY29uZGl0aW9ucyB0aGF0IGRpc3F1YWxpZnkgYSBwYXRjaCBmcm9tIGJlaW5nIHdvcnRoIGZ1enppbmc6IHVucmVhY2hhYmxlIGNvZGUgcGF0aHMgaW4gdmlydHVhbCBlbnZpcm9ubWVudHMsIHZlbmRvci1zcGVjaWZpYyBzdHVmZiB0aWVkIHRvIHBoeXNpY2FsIGhhcmR3YXJlIHRoYXQgaXNuJiMzOTt0IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUsIG9yIHRlYXJkb3duIGNhbGxiYWNrcyB0aGF0IG9ubHkgdHJpZ2dlciBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3IgZHJpdmVyIHVuYmluZGluZy4KClJpZ2h0LCBzbyBjYW4gUUVNVSBlbXVsYXRlIHRoZXNlIEludGVsIGBpd2x3aWZpYCBQQ0kgZGV2aWNlcz8gQSBxdWljayBjaGVjayByZXZlYWxzIHRoYXQgc3RhbmRhcmQgUUVNVSBkb2VzbiYjMzk7dCBkaXJlY3RseSBlbXVsYXRlIHRob3NlLiBJdCBmb2N1c2VzIG9uIHRoZSBtb3JlIGNvbW1vbiBuZXR3b3JrIGFkYXB0ZXJzIGxpa2UgZTEwMDAsIHJ0bDgxMzksIHZpcnRpby1uZXQsIGFuZCBzbyBvbi4KCkhtbSwgbWFjODAyMTFfaHdzaW3igKYgVGhhdCYjMzk7cyBhIHNlcGFyYXRlIHZpcnR1YWwgbWFjODAyMTEgZHJpdmVyLiBJdCYjMzk7cyBzZXBhcmF0ZSBmcm9tIGBpd2x3aWZpYCBhbmQgYGl3bG12bWAuIE9rYXksIHNvIG1hYzgwMjExX2h3c2ltIGlzICpub3QqIGFuIGF2ZW51ZSB0byBleHBsb3JlIGZvciBmdXp6aW5nIGBpd2x3aWZpYC4KCkxldCBtZSB2ZXJpZnkgaWYgSSYjMzk7bSBtaXNzaW5nIHNvbWV0aGluZywgdGhvdWdoLiBQZXJoYXBzIHRoZXJlIGlzIGEgdmlydHVhbCBidXMgb3IgZHVtbXkgZGV2aWNlIHRoYXQgaXMgcGFydCBvZiB0aGUgaXdsd2lmaSBwYWNrYWdlIEkmIzM5O20gbWlzc2luZy4gVGltZSB0byBleHBsb3JlIGBkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2AuLi4KCgo8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMC8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMTg6NDA8L3RkPgoJCQk8dGQ+dG9vbDwvdGQ+CgkJCTx0ZD5ncmVwcGVyPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFeHByZXNzaW9uJiMzNDs6ICYjMzQ7cGxhdGZvcm1fZHJpdmVyfHBjaV9kcml2ZXImIzM0OywKICAmIzM0O1BhdGhQcmVmaXgmIzM0OzogJiMzNDtkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpJiMzNDsKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O091dHB1dCYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvcGNpZS9kcnYuYz0xMzMwPXN0YXRpYyB2b2lkIGl3bF9wY2lfZHVtcChzdHJ1Y3QgZGV2aWNlICpkZXZpY2UpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9wY2llL2Rydi5jLTEzMzctXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmM6MTMzODpzdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgaXdsX3BjaV9kcml2ZXIgPSB7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmMtMTMzOS1cdC5uYW1lID0gRFJWX05BTUUsXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9wY2llL2Rydi5jPTEzNDc9aW50IF9fbXVzdF9jaGVjayBpd2xfcGNpX3JlZ2lzdGVyX2RyaXZlcih2b2lkKVxuLS1cbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvcGNpZS9kcnYuYy0xMzQ5LVx0aW50IHJldDtcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvcGNpZS9kcnYuYzoxMzUwOlx0cmV0ID0gcGNpX3JlZ2lzdGVyX2RyaXZlcihcdTAwMjZpd2xfcGNpX2RyaXZlcik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmMtMTM1MS1cdGlmIChyZXQpXG4tLVxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9wY2llL2Rydi5jPTEzNTc9dm9pZCBpd2xfcGNpX3VucmVnaXN0ZXJfZHJpdmVyKHZvaWQpXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmMtMTM1OC17XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmM6MTM1OTpcdHBjaV91bnJlZ2lzdGVyX2RyaXZlcihcdTAwMjZpd2xfcGNpX2RyaXZlcik7XG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmMtMTM2MC19XG4mIzM0Owp9PC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJPC9kZXRhaWxzPgoJCQk8L3RkPgoJCTwvdHI+CgkJCgkJPHRyPgoJCQk8dGQ+MTEvMjwvdGQ+CgkJCTx0ZD4yMDI2LzA4LzMxIDE4OjQwPC90ZD4KCQkJPHRkPmxsbTwvdGQ+CgkJCTx0ZD5wYXRjaC1ldmFsdWF0b3I8L3RkPgoJCQk8dGQ+CgkJCQk8ZGV0YWlscz4KCQkJCQk8c3VtbWFyeT4wbTwvc3VtbWFyeT4KCQkJCQkKCQkJCQkJPGI+TW9kZWw6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5nZW1pbmktMy43LWZsYXNoPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPlRva2Vuczo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPgoJCQkJCQkJaW5wdXQ6IDI0NDM4CgkJCQkJCQlvdXRwdXQ6IDQ3CgkJCQkJCQl0aG91Z2h0czogMTMzCgkJCQkJCTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+VGhvdWdodHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT4qKk15IEFuYWx5c2lzIG9mIHRoZSBpd2x3aWZpIERyaXZlciYjMzk7cyBJbnRlcmFjdGlvbioqCgpPa2F5LCBzbyB0aGUgYGl3bHdpZmlgIGRyaXZlciwgZnJvbSB3aGF0IEkmIzM5O20gc2VlaW5nLCBwcmltYXJpbHkgaG9va3MgaW50byB0aGUgc3lzdGVtIHRocm91Z2ggdGhlIGBpd2xfcGNpX2RyaXZlcmAgbW9kdWxlLiBUaGlzIGlzIHRoZSBlbnRyeSBwb2ludCwgdGhlIHRoaW5nIHRoYXQgYXR0YWNoZXMgZGlyZWN0bHkgdG8gdGhlIHBoeXNpY2FsIFBDSWUgSW50ZWwgV2lGaSBoYXJkd2FyZS4gTWFrZXMgc2Vuc2UsIHRoYXQmIzM5O3MgdGhlIGZvdW5kYXRpb24uCgpOb3csIGRpZ2dpbmcgZGVlcGVyLCBJIHNlZSB0aGF0IGEgZnVuY3Rpb24gY2FsbGVkIGBpd2xfbXZtX3VwZGF0ZV9tY2NgIGlzIGNlbnRyYWwgdG8gbWFuYWdpbmcsIG9yIHVwZGF0aW5nIHRoZSBkZXZpY2UmIzM5O3MgY2FwYWJpbGl0aWVzLCBzcGVjaWZpY2FsbHkgYnkgdXNpbmcgdGhlIGBNQ0NfVVBEQVRFX0NNRGAuIFRoaXMgY29tbWFuZCBpcyB0aGVuIHNlbnQgZGlyZWN0bHkgdG8gdGhlIGZpcm13YXJlIHRoYXQmIzM5O3MgKnJ1bm5pbmcqIG9uIHRoZSBJbnRlbCBXaUZpIGhhcmR3YXJlIGl0c2VsZiwgdXNpbmcgYGl3bF9tdm1fc2VuZF9jbWRfcGRldihtdm0sICZhbXA7Y21kKWAuIFRoYXQmIzM5O3Mgd2hlcmUgdGhlIHJlYWwgaW50ZWxsaWdlbmNlIHNlZW1zIHRvIHJlc2lkZSwgaW4gdGhlIGZpcm13YXJlLiBBbmQsIGl0JiMzOTtzIG5vdCBhIG9uZS13YXkgc3RyZWV0LCB0aGUgZHJpdmVyIGFjdHVhbGx5IGNhcmVzIGFib3V0IHRoZSBkZXZpY2UmIzM5O3MgcmVzcG9uc2UgYWZ0ZXIgc2VuZGluZyB0aGlzIGNvbW1hbmQsIHNvIGl0IG11c3QgcGFyc2UgdGhlIHJlc3VsdCBmcm9tIHRoZSBmaXJtd2FyZS4KCkdpdmVuIHRoaXMsIEkmIzM5O20gZ29pbmcgdG8gc3RhcnQgcmVhZGluZyB0aGUgY29kZSBmb3IgYGl3bF9tdm1fdXBkYXRlX21jY2AgZnVuY3Rpb24uIEFjY29yZGluZyB0byB0aGUgdGV4dCwgdGhlIHNvdXJjZSBmaWxlIGlzIGxvY2F0ZWQgaW4gYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jYC4gVGhpcyB3aWxsIGdpdmUgbWUgdGhlIGxvd2Rvd24gb24gdGhlIHNwZWNpZmljIHVwZGF0ZSBmbG93LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjEyLzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8zMSAxODo0MDwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnJlYWQtZmlsZTwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5BcmdzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+ewogICYjMzQ7RmlsZSYjMzQ7OiAmIzM0O2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jJiMzNDssCiAgJiMzNDtGaXJzdExpbmUmIzM0OzogNDEwLAogICYjMzQ7TGluZUNvdW50JiMzNDs6IDgwCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCTxiPlJlc3VsdHM6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtDb250ZW50cyYjMzQ7OiAmIzM0OyA0MTA6XHRcdHN0cnVjdCBpd2xfaG9zdF9jbWQgY21kID0ge1xuIDQxMTpcdFx0XHQuaWQgPSBNQ0NfVVBEQVRFX0NNRCxcbiA0MTI6XHRcdFx0LmZsYWdzID0gQ01EX1dBTlRfU0tCIHwgQ01EX1NFTkRfSU5fUkZLSUxMLFxuIDQxMzpcdFx0XHQuZGF0YSA9IHsgXHUwMDI2bWNjX3VwZGF0ZV9jbWQgfSxcbiA0MTQ6XHRcdH07XG4gNDE1Olx0XG4gNDE2Olx0XHRpbnQgcmV0LCByZXNwX3ZlcjtcbiA0MTc6XHRcdHUzMiBzdGF0dXM7XG4gNDE4Olx0XHRpbnQgcmVzcF9sZW4sIG5fY2hhbm5lbHM7XG4gNDE5Olx0XHR1bnNpZ25lZCBpbnQgcGt0X2xlbjtcbiA0MjA6XHRcdHUxNiBtY2M7XG4gNDIxOlx0XG4gNDIyOlx0XHRpZiAoV0FSTl9PTl9PTkNFKCFpd2xfbXZtX2lzX2xhcl9zdXBwb3J0ZWQobXZtKSkpXG4gNDIzOlx0XHRcdHJldHVybiBFUlJfUFRSKC1FT1BOT1RTVVBQKTtcbiA0MjQ6XHRcbiA0MjU6XHRcdGNtZC5sZW5bMF0gPSBzaXplb2Yoc3RydWN0IGl3bF9tY2NfdXBkYXRlX2NtZCk7XG4gNDI2Olx0XG4gNDI3Olx0XHRJV0xfREVCVUdfTEFSKG12bSwgXCYjMzQ7c2VuZCBNQ0MgdXBkYXRlIHRvIEZXIHdpdGggJiMzOTslYyVjJiMzOTsgc3JjID0gJWRcXG5cJiMzNDssXG4gNDI4Olx0XHRcdCAgICAgIGFscGhhMlswXSwgYWxwaGEyWzFdLCBzcmNfaWQpO1xuIDQyOTpcdFxuIDQzMDpcdFx0cmV0ID0gaXdsX212bV9zZW5kX2NtZChtdm0sIFx1MDAyNmNtZCk7XG4gNDMxOlx0XHRpZiAocmV0KVxuIDQzMjpcdFx0XHRyZXR1cm4gRVJSX1BUUihyZXQpO1xuIDQzMzpcdFxuIDQzNDpcdFx0cGt0ID0gY21kLnJlc3BfcGt0O1xuIDQzNTpcdFx0cGt0X2xlbiA9IGl3bF9yeF9wYWNrZXRfcGF5bG9hZF9sZW4ocGt0KTtcbiA0MzY6XHRcbiA0Mzc6XHRcdHJlc3BfdmVyID0gaXdsX2Z3X2xvb2t1cF9ub3RpZl92ZXIobXZtLVx1MDAzZWZ3LCBJV0xfQUxXQVlTX0xPTkdfR1JPVVAsXG4gNDM4Olx0XHRcdFx0XHRcdCAgIE1DQ19VUERBVEVfQ01ELCAwKTtcbiA0Mzk6XHRcbiA0NDA6XHRcdC8qIEV4dHJhY3QgTUNDIHJlc3BvbnNlICovXG4gNDQxOlx0XHRpZiAocmVzcF92ZXIgXHUwMDNlPSA4KSB7XG4gNDQyOlx0XHRcdHN0cnVjdCBpd2xfbWNjX3VwZGF0ZV9yZXNwX3Y4ICptY2NfcmVzcF92OCA9ICh2b2lkICopcGt0LVx1MDAzZWRhdGE7XG4gNDQzOlx0XG4gNDQ0Olx0XHRcdGlmIChJV0xfRldfQ0hFQ0sobXZtLCBwa3RfbGVuIFx1MDAzYyBzaXplb2YoKm1jY19yZXNwX3Y4KSxcbiA0NDU6XHRcdFx0XHRcdCBcJiMzNDtNQ0MgdjggcmVzcG9uc2UgdG9vIHNob3J0OiAldVxcblwmIzM0OywgcGt0X2xlbikpIHtcbiA0NDY6XHRcdFx0XHRyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTtcbiA0NDc6XHRcdFx0XHRnb3RvIGV4aXQ7XG4gNDQ4Olx0XHRcdH1cbiA0NDk6XHRcbiA0NTA6XHRcdFx0bl9jaGFubmVscyA9ICBfX2xlMzJfdG9fY3B1KG1jY19yZXNwX3Y4LVx1MDAzZW5fY2hhbm5lbHMpO1xuIDQ1MTpcdFx0XHRpZiAoSVdMX0ZXX0NIRUNLKG12bSxcbiA0NTI6XHRcdFx0XHRcdCBwa3RfbGVuICE9XG4gNDUzOlx0XHRcdFx0XHQgc3RydWN0X3NpemUobWNjX3Jlc3BfdjgsIGNoYW5uZWxzLCBuX2NoYW5uZWxzKSxcbiA0NTQ6XHRcdFx0XHRcdCBcJiMzNDtpbnZhbGlkIE1DQyB2OCByZXNwb25zZSBzaXplOiAldSAobl9jaGFubmVscz0lZClcXG5cJiMzNDssXG4gNDU1Olx0XHRcdFx0XHQgcGt0X2xlbiwgbl9jaGFubmVscykpIHtcbiA0NTY6XHRcdFx0XHRyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTtcbiA0NTc6XHRcdFx0XHRnb3RvIGV4aXQ7XG4gNDU4Olx0XHRcdH1cbiA0NTk6XHRcdFx0cmVzcF9sZW4gPSBzdHJ1Y3Rfc2l6ZShyZXNwX2NwLCBjaGFubmVscywgbl9jaGFubmVscyk7XG4gNDYwOlx0XHRcdHJlc3BfY3AgPSBremFsbG9jKHJlc3BfbGVuLCBHRlBfS0VSTkVMKTtcbiA0NjE6XHRcdFx0aWYgKCFyZXNwX2NwKSB7XG4gNDYyOlx0XHRcdFx0cmVzcF9jcCA9IEVSUl9QVFIoLUVOT01FTSk7XG4gNDYzOlx0XHRcdFx0Z290byBleGl0O1xuIDQ2NDpcdFx0XHR9XG4gNDY1Olx0XHRcdHJlc3BfY3AtXHUwMDNlc3RhdHVzID0gbWNjX3Jlc3BfdjgtXHUwMDNlc3RhdHVzO1xuIDQ2NjpcdFx0XHRyZXNwX2NwLVx1MDAzZW1jYyA9IG1jY19yZXNwX3Y4LVx1MDAzZW1jYztcbiA0Njc6XHRcdFx0cmVzcF9jcC1cdTAwM2VjYXAgPSBtY2NfcmVzcF92OC1cdTAwM2VjYXA7XG4gNDY4Olx0XHRcdHJlc3BfY3AtXHUwMDNlc291cmNlX2lkID0gbWNjX3Jlc3BfdjgtXHUwMDNlc291cmNlX2lkO1xuIDQ2OTpcdFx0XHRyZXNwX2NwLVx1MDAzZXRpbWUgPSBtY2NfcmVzcF92OC1cdTAwM2V0aW1lO1xuIDQ3MDpcdFx0XHRyZXNwX2NwLVx1MDAzZWdlb19pbmZvID0gbWNjX3Jlc3BfdjgtXHUwMDNlZ2VvX2luZm87XG4gNDcxOlx0XHRcdHJlc3BfY3AtXHUwMDNlbl9jaGFubmVscyA9IG1jY19yZXNwX3Y4LVx1MDAzZW5fY2hhbm5lbHM7XG4gNDcyOlx0XHRcdG1lbWNweShyZXNwX2NwLVx1MDAzZWNoYW5uZWxzLCBtY2NfcmVzcF92OC1cdTAwM2VjaGFubmVscyxcbiA0NzM6XHRcdFx0ICAgICAgIG5fY2hhbm5lbHMgKiBzaXplb2YoX19sZTMyKSk7XG4gNDc0Olx0XHR9IGVsc2UgaWYgKGZ3X2hhc19jYXBhKFx1MDAyNm12bS1cdTAwM2Vmdy1cdTAwM2V1Y29kZV9jYXBhLFxuIDQ3NTpcdFx0XHRcdCAgICAgICBJV0xfVUNPREVfVExWX0NBUEFfTUNDX1VQREFURV8xMUFYX1NVUFBPUlQpKSB7XG4gNDc2Olx0XHRcdHN0cnVjdCBpd2xfbWNjX3VwZGF0ZV9yZXNwX3Y0ICptY2NfcmVzcF92NCA9ICh2b2lkICopcGt0LVx1MDAzZWRhdGE7XG4gNDc3Olx0XG4gNDc4Olx0XHRcdGlmIChJV0xfRldfQ0hFQ0sobXZtLCBwa3RfbGVuIFx1MDAzYyBzaXplb2YoKm1jY19yZXNwX3Y0KSxcbiA0Nzk6XHRcdFx0XHRcdCBcJiMzNDtNQ0MgdjQgcmVzcG9uc2UgdG9vIHNob3J0OiAldVxcblwmIzM0OywgcGt0X2xlbikpIHtcbiA0ODA6XHRcdFx0XHRyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTtcbiA0ODE6XHRcdFx0XHRnb3RvIGV4aXQ7XG4gNDgyOlx0XHRcdH1cbiA0ODM6XHRcbiA0ODQ6XHRcdFx0bl9jaGFubmVscyA9ICBfX2xlMzJfdG9fY3B1KG1jY19yZXNwX3Y0LVx1MDAzZW5fY2hhbm5lbHMpO1xuIDQ4NTpcdFx0XHRpZiAoSVdMX0ZXX0NIRUNLKG12bSxcbiA0ODY6XHRcdFx0XHRcdCBwa3RfbGVuICE9XG4gNDg3Olx0XHRcdFx0XHQgc3RydWN0X3NpemUobWNjX3Jlc3BfdjQsIGNoYW5uZWxzLCBuX2NoYW5uZWxzKSxcbiA0ODg6XHRcdFx0XHRcdCBcJiMzNDtpbnZhbGlkIE1DQyB2NCByZXNwb25zZSBzaXplOiAldSAobl9jaGFubmVscz0lZClcXG5cJiMzNDssXG4gNDg5Olx0XHRcdFx0XHQgcGt0X2xlbiwgbl9jaGFubmVscykpIHtcbiYjMzQ7Cn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xMy8yPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMTg6NDA8L3RkPgoJCQk8dGQ+bGxtPC90ZD4KCQkJPHRkPnBhdGNoLWV2YWx1YXRvcjwvdGQ+CgkJCTx0ZD4KCQkJCTxkZXRhaWxzPgoJCQkJCTxzdW1tYXJ5PjBtPC9zdW1tYXJ5PgoJCQkJCQoJCQkJCQk8Yj5Nb2RlbDo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPmdlbWluaS0zLjctZmxhc2g8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT5udWxsPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5SZXN1bHRzOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+bnVsbDwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkKCQkJCQkJPGI+VG9rZW5zOjwvYj4gPGRpdiBpZD0iYWlfZGV0YWlsc19kaXYiPjxwcmU+CgkJCQkJCQlpbnB1dDogMjYzOTQKCQkJCQkJCW91dHB1dDogOTMKCQkJCQkJCXRob3VnaHRzOiAzMjEKCQkJCQkJPC9wcmU+PC9kaXY+PGJyPgoJCQkJCQoJCQkJCQoJCQkJCQk8Yj5UaG91Z2h0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPioqTXkgQXNzZXNzbWVudCBvZiB0aGUgRnV6emluZyBTdWl0YWJpbGl0eSoqCgpPa2F5LCBzbyB0aGlzIGNvZGUgcmVzaWRlcyB3aXRoaW4gYGl3bHdpZmlgLCBzcGVjaWZpY2FsbHkgdGhlIEludGVsIE1WTSB3aXJlbGVzcyBkcml2ZXIgKGBJV0xNVk1gKS4gVGhpcyBpcyBhIHZlbmRvci1zcGVjaWZpYyBQQ0kgZHJpdmVyIGRlc2lnbmVkIGZvciBJbnRlbCBXaUZpIGhhcmR3YXJlIGNhcmRzLiBDcnVjaWFsbHksIHRoaXMgaGFyZHdhcmUgaXMgKnBoeXNpY2FsKiBQQ0llIGhhcmR3YXJlLCBub3Qgc29tZXRoaW5nIGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUgb3IgR0NFIHZpcnR1YWwgbWFjaGluZXMuIFRoYXQgcHV0cyBpdCBkaXJlY3RseSBpbnRvIHRoZSBjYXRlZ29yeSBvZiAmIzM0O2NvZGUgcGF0aHMgaW1wb3NzaWJsZSB0byByZWFjaCBpbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMsJiMzNDsgZXZlbiB3aXRoIHNvZnR3YXJlLWVtdWxhdGVkIGhhcmR3YXJlIGxpa2UgYHVzYiBnYWRnZXRgIG9yIGBtYWM4MDIxMV9od3NpbWAuIEFsc28sIHRoaXMgaXMgYSBQQ0llIGRyaXZlciwgcGxhY2luZyBpdCBpbiB0aGUgY2F0ZWdvcnkgb2YsICYjMzQ7Q29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycy4mIzM0OwoKR2l2ZW4gdGhlc2UgZmFjdHMsIGBXb3J0aEZ1enppbmdgIGhhcyB0byBiZSBgZmFsc2VgLiBJdCYjMzk7cyBzaW1wbHkgbm90IGZlYXNpYmxlIHRvIHRlc3QgdGhpcyBjb2RlIGRpcmVjdGx5IGluIGEgc3RhbmRhcmQgZnV6emluZyBzZXR1cC4KCkJlZm9yZSBJIGNvbW1pdCB0byBzZXR0aW5nIHRoZSByZXN1bHRzLCBJJiMzOTttIGdvaW5nIHRvIHF1aWNrbHkgcmV2aWV3IGV2ZXJ5dGhpbmcuIExldCBtZSBzZWUuLi4KCiogICBgV29ydGhGdXp6aW5nYDogRGVmaW5pdGVseSBgZmFsc2VgLgoqICAgYEZvY3VzU3ltYm9sc2A6IEVtcHR5OyB0aGF0JiMzOTtzIHJpZ2h0LCBub3RoaW5nIHRvIGZvY3VzIG9uLgoqICAgYEVuYWJsZUNvbmZpZ3NgOiBFbXB0eTsgbWFrZXMgc2Vuc2UsIG5vIHNwZWNpYWwgY29uZmlndXJhdGlvbnMgYXJlIG5lZWRlZC4KKiAgIGBSZWFzb25pbmdgOiBDb25jaXNlIGFuZCBhY2N1cmF0ZS4gVGhlIHJlYXNvbmluZyBmb3IgYFdvcnRoRnV6emluZzogZmFsc2VgIGlzLCAmIzM0O1RoZSBtb2RpZmllZCBjb2RlIGlzIGluIHRoZSBJbnRlbCBpd2x3aWZpIGRyaXZlciAoc3BlY2lmaWNhbGx5IGl3bG12bSksIHdoaWNoIHJlcXVpcmVzIHBoeXNpY2FsIEludGVsIFBDSWUgd2lyZWxlc3MgaGFyZHdhcmUgdGhhdCBpcyBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVSBvciBHQ0UuJiMzNDsKCkFscmlnaHQsIHBhcmFtZXRlcnMgdmVyaWZpZWQuIExldCYjMzk7cyBjb25maXJtIGFnYWluOgoKKiAgIGBXb3J0aEZ1enppbmdgOiBmYWxzZQoqICAgYEZvY3VzU3ltYm9sc2A6IFtdCiogICBgRW5hYmxlQ29uZmlnc2A6IFtdCiogICBgUmVhc29uaW5nYDogJiMzNDtUaGUgbW9kaWZpZWQgY29kZSBpcyBpbiB0aGUgSW50ZWwgaXdsd2lmaSBkcml2ZXIgKHNwZWNpZmljYWxseSBpd2xtdm0pLCB3aGljaCByZXF1aXJlcyBwaHlzaWNhbCBJbnRlbCBQQ0llIHdpcmVsZXNzIGhhcmR3YXJlIHRoYXQgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVUgb3IgR0NFLiYjMzQ7CgpPa2F5LCBJJiMzOTttIGNvbmZpZGVudCBpbiB0aGVzZSBwYXJhbWV0ZXJzLiBJJiMzOTtsbCBleGVjdXRlIGBzZXQtcmVzdWx0c2Agbm93LgoKCjwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCTwvZGV0YWlscz4KCQkJPC90ZD4KCQk8L3RyPgoJCQoJCTx0cj4KCQkJPHRkPjE0LzI8L3RkPgoJCQk8dGQ+MjAyNi8wOC8zMSAxODo0MTwvdGQ+CgkJCTx0ZD50b29sPC90ZD4KCQkJPHRkPnNldC1yZXN1bHRzPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtFbmFibGVDb25maWdzJiMzNDs6IFtdLAogICYjMzQ7Rm9jdXNTeW1ib2xzJiMzNDs6IFtdLAogICYjMzQ7UmVhc29uaW5nJiMzNDs6ICYjMzQ7VGhlIHBhdGNoIG1vZGlmaWVzIE1DQyByZXNwb25zZSBwYWNrZXQgc2l6ZSB2YWxpZGF0aW9uIGluIHRoZSBJbnRlbCBpd2x3aWZpIHdpcmVsZXNzIGRyaXZlciAoaXdsbXZtKS4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgcGh5c2ljYWwgSW50ZWwgUENJZSB3aXJlbGVzcyBuZXR3b3JrIGFkYXB0ZXJzIGFuZCBwcm9wcmlldGFyeSBmaXJtd2FyZSwgd2hpY2ggYXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBRRU1VL0dDRS4gVGhlcmVmb3JlLCB0aGlzIGNvZGUgaXMgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuJiMzNDssCiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPnsKICAmIzM0O0VuYWJsZUNvbmZpZ3MmIzM0OzogbnVsbCwKICAmIzM0O0ZvY3VzU3ltYm9scyYjMzQ7OiBbXSwKICAmIzM0O1JlYXNvbmluZyYjMzQ7OiAmIzM0O1RoZSBwYXRjaCBtb2RpZmllcyBNQ0MgcmVzcG9uc2UgcGFja2V0IHNpemUgdmFsaWRhdGlvbiBpbiB0aGUgSW50ZWwgaXdsd2lmaSB3aXJlbGVzcyBkcml2ZXIgKGl3bG12bSkuIFRoaXMgZHJpdmVyIHJlcXVpcmVzIHBoeXNpY2FsIEludGVsIFBDSWUgd2lyZWxlc3MgbmV0d29yayBhZGFwdGVycyBhbmQgcHJvcHJpZXRhcnkgZmlybXdhcmUsIHdoaWNoIGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVS9HQ0UuIFRoZXJlZm9yZSwgdGhpcyBjb2RlIGlzIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLiYjMzQ7LAogICYjMzQ7V29ydGhGdXp6aW5nJiMzNDs6IGZhbHNlCn08L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8dHI+CgkJCTx0ZD4xNS8xPC90ZD4KCQkJPHRkPjIwMjYvMDgvMzEgMTg6NDE8L3RkPgoJCQk8dGQ+YWN0aW9uPC90ZD4KCQkJPHRkPklmPC90ZD4KCQkJPHRkPgoJCQkJPGRldGFpbHM+CgkJCQkJPHN1bW1hcnk+MG08L3N1bW1hcnk+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCTxiPkFyZ3M6PC9iPiA8ZGl2IGlkPSJhaV9kZXRhaWxzX2RpdiI+PHByZT57CiAgJiMzNDtXb3J0aEZ1enppbmcmIzM0OzogZmFsc2UKfTwvcHJlPjwvZGl2Pjxicj4KCQkJCQkKCQkJCQkKCQkJCQkJPGI+UmVzdWx0czo8L2I+IDxkaXYgaWQ9ImFpX2RldGFpbHNfZGl2Ij48cHJlPm51bGw8L3ByZT48L2Rpdj48YnI+CgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQkJCgkJCQk8L2RldGFpbHM+CgkJCTwvdGQ+CgkJPC90cj4KCQkKCQk8L3Rib2R5PgoJPC90YWJsZT4KCgk8ZGl2IGlkPSJsbG1fc3VtbWFyeV90YWJsZV9kaXYiIHN0eWxlPSJtYXJnaW46IDIwcHggMDsiPgoJCTx0YWJsZSBjbGFzcz0ibGlzdF90YWJsZSI+CgkJCTxjYXB0aW9uPkxMTSBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIFRva2VuczwvdGg+CgkJCQkJPHRoPkF2ZyBUb2tlbnM8L3RoPgoJCQkJCTx0aD5Ub3RhbCBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJCTx0aD5BdmcgRHVyYXRpb24gKFNlY29uZHMpPC90aD4KCQkJCTwvdHI+CgkJCTwvdGhlYWQ+CgkJCTx0Ym9keSBpZD0ibGxtX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0idG9vbF9zdW1tYXJ5X3RhYmxlX2RpdiIgc3R5bGU9Im1hcmdpbjogMjBweCAwOyI+CgkJPHRhYmxlIGNsYXNzPSJsaXN0X3RhYmxlIj4KCQkJPGNhcHRpb24+VG9vbCBDYWxscyBTdW1tYXJ5OjwvY2FwdGlvbj4KCQkJPHRoZWFkPgoJCQkJPHRyPgoJCQkJCTx0aD5Ub3RhbCBDYWxsczwvdGg+CgkJCQkJPHRoPlRvdGFsIER1cmF0aW9uIChTZWNvbmRzKTwvdGg+CgkJCQkJPHRoPkF2ZyBEdXJhdGlvbiAoU2Vjb25kcyk8L3RoPgoJCQkJPC90cj4KCQkJPC90aGVhZD4KCQkJPHRib2R5IGlkPSJ0b29sX3N1bW1hcnlfc3RhdHNfYm9keSI+PC90Ym9keT4KCQk8L3RhYmxlPgoJPC9kaXY+CgoJPGRpdiBpZD0iZHVyYXRpb25fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoJPGRpdiBpZD0idG9rZW5fY2hhcnRfZGl2IiBzdHlsZT0id2lkdGg6IDEwMCU7IG1hcmdpbjogMjBweCAwOyBib3JkZXI6IDFweDsiPjwvZGl2PgoKCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vanNhcGkiPjwvc2NyaXB0PgoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgoJCWdvb2dsZS5sb2FkKCJ2aXN1YWxpemF0aW9uIiwgIjEiLCB7cGFja2FnZXM6WyJjb3JlY2hhcnQiXX0pOwoJCWdvb2dsZS5zZXRPbkxvYWRDYWxsYmFjayhkcmF3Q2hhcnRzKTsKCgkJZnVuY3Rpb24gZHJhd0NoYXJ0cygpIHsKCQkJY29uc3QgcmF3RGF0YSA9IFt7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDE4OjM5OjA0LjQ3NDIwNDA4N1oiLCJTZXEiOjAsIk5lc3RpbmciOjAsIlR5cGUiOiJmbG93IiwiTmFtZSI6InBhdGNoLXRyaWFnZSIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjExNjgxODE5NzY3MSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJLTVNBTlJlYXNvbmluZ1wiOiBcIlwiLFxuICBcIk5lZWRzS01TQU5cIjogZmFsc2UsXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIE1DQyByZXNwb25zZSBwYWNrZXQgc2l6ZSB2YWxpZGF0aW9uIGluIHRoZSBJbnRlbCBpd2x3aWZpIHdpcmVsZXNzIGRyaXZlciAoaXdsbXZtKS4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgcGh5c2ljYWwgSW50ZWwgUENJZSB3aXJlbGVzcyBuZXR3b3JrIGFkYXB0ZXJzIGFuZCBwcm9wcmlldGFyeSBmaXJtd2FyZSwgd2hpY2ggYXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBRRU1VL0dDRS4gVGhlcmVmb3JlLCB0aGlzIGNvZGUgaXMgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0zMVQxODozOTowNC40NzQyMDk4ODdaIiwiU2VxIjoxLCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6InJlYWQtcGF0Y2gtZGlmZiIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjY3NTYwNTI1MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJ7XG4gIFwiUGF0Y2hEaWZmXCI6IFwiY29tbWl0IGNlZmZkZGYwOWFhZDc4ZTJiNGE5NzVlMGM5ZTU3NTE2MWIyODA3NmNcXG5BdXRob3I6IHN5ei1jbHVzdGVyIFxcdTAwM2N0cmlhZ2VAc3l6a2FsbGVyLmNvbVxcdTAwM2VcXG5EYXRlOiAgIE1vbiBBdWcgMzEgMTg6Mzk6MDMgMjAyNiArMDAwMFxcblxcbiAgICBzeXotY2x1c3RlcjogYXBwbGllZCBwYXRjaCB1bmRlciByZXZpZXdcXG5cXG5kaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbnZtLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9udm0uY1xcbmluZGV4IDk1MzIxOGYxZTAyNWEuLmY3NmU1NzM5OWMxZjMgMTAwNjQ0XFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbnZtLmNcXG4rKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9udm0uY1xcbkBAIC0xLDYgKzEsNiBAQFxcbiAvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCBPUiBCU0QtMy1DbGF1c2VcXG4gLypcXG4tICogQ29weXJpZ2h0IChDKSAyMDEyLTIwMTQsIDIwMTgtMjAxOSwgMjAyMS0yMDI1IEludGVsIENvcnBvcmF0aW9uXFxuKyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE0LCAyMDE4LTIwMTksIDIwMjEtMjAyNiBJbnRlbCBDb3Jwb3JhdGlvblxcbiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNSBJbnRlbCBNb2JpbGUgQ29tbXVuaWNhdGlvbnMgR21iSFxcbiAgKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAxNyBJbnRlbCBEZXV0c2NobGFuZCBHbWJIXFxuICAqL1xcbkBAIC00MTYsNiArNDE2LDcgQEAgaXdsX212bV91cGRhdGVfbWNjKHN0cnVjdCBpd2xfbXZtICptdm0sIGNvbnN0IGNoYXIgKmFscGhhMixcXG4gXFx0aW50IHJldCwgcmVzcF92ZXI7XFxuIFxcdHUzMiBzdGF0dXM7XFxuIFxcdGludCByZXNwX2xlbiwgbl9jaGFubmVscztcXG4rXFx0dW5zaWduZWQgaW50IHBrdF9sZW47XFxuIFxcdHUxNiBtY2M7XFxuIFxcbiBcXHRpZiAoV0FSTl9PTl9PTkNFKCFpd2xfbXZtX2lzX2xhcl9zdXBwb3J0ZWQobXZtKSkpXFxuQEAgLTQzMSw2ICs0MzIsNyBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLFxcbiBcXHRcXHRyZXR1cm4gRVJSX1BUUihyZXQpO1xcbiBcXG4gXFx0cGt0ID0gY21kLnJlc3BfcGt0O1xcbitcXHRwa3RfbGVuID0gaXdsX3J4X3BhY2tldF9wYXlsb2FkX2xlbihwa3QpO1xcbiBcXG4gXFx0cmVzcF92ZXIgPSBpd2xfZndfbG9va3VwX25vdGlmX3Zlcihtdm0tXFx1MDAzZWZ3LCBJV0xfQUxXQVlTX0xPTkdfR1JPVVAsXFxuIFxcdFxcdFxcdFxcdFxcdCAgIE1DQ19VUERBVEVfQ01ELCAwKTtcXG5AQCAtNDM5LDkgKzQ0MSwxOCBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLFxcbiBcXHRpZiAocmVzcF92ZXIgXFx1MDAzZT0gOCkge1xcbiBcXHRcXHRzdHJ1Y3QgaXdsX21jY191cGRhdGVfcmVzcF92OCAqbWNjX3Jlc3BfdjggPSAodm9pZCAqKXBrdC1cXHUwMDNlZGF0YTtcXG4gXFxuK1xcdFxcdGlmIChJV0xfRldfQ0hFQ0sobXZtLCBwa3RfbGVuIFxcdTAwM2Mgc2l6ZW9mKCptY2NfcmVzcF92OCksXFxuK1xcdFxcdFxcdFxcdCBcXFwiTUNDIHY4IHJlc3BvbnNlIHRvbyBzaG9ydDogJXVcXFxcblxcXCIsIHBrdF9sZW4pKSB7XFxuK1xcdFxcdFxcdHJlc3BfY3AgPSBFUlJfUFRSKC1FSU5WQUwpO1xcbitcXHRcXHRcXHRnb3RvIGV4aXQ7XFxuK1xcdFxcdH1cXG4rXFxuIFxcdFxcdG5fY2hhbm5lbHMgPSAgX19sZTMyX3RvX2NwdShtY2NfcmVzcF92OC1cXHUwMDNlbl9jaGFubmVscyk7XFxuLVxcdFxcdGlmIChpd2xfcnhfcGFja2V0X3BheWxvYWRfbGVuKHBrdCkgIT1cXG4tXFx0XFx0ICAgIHN0cnVjdF9zaXplKG1jY19yZXNwX3Y4LCBjaGFubmVscywgbl9jaGFubmVscykpIHtcXG4rXFx0XFx0aWYgKElXTF9GV19DSEVDSyhtdm0sXFxuK1xcdFxcdFxcdFxcdCBwa3RfbGVuICE9XFxuK1xcdFxcdFxcdFxcdCBzdHJ1Y3Rfc2l6ZShtY2NfcmVzcF92OCwgY2hhbm5lbHMsIG5fY2hhbm5lbHMpLFxcbitcXHRcXHRcXHRcXHQgXFxcImludmFsaWQgTUNDIHY4IHJlc3BvbnNlIHNpemU6ICV1IChuX2NoYW5uZWxzPSVkKVxcXFxuXFxcIixcXG4rXFx0XFx0XFx0XFx0IHBrdF9sZW4sIG5fY2hhbm5lbHMpKSB7XFxuIFxcdFxcdFxcdHJlc3BfY3AgPSBFUlJfUFRSKC1FSU5WQUwpO1xcbiBcXHRcXHRcXHRnb3RvIGV4aXQ7XFxuIFxcdFxcdH1cXG5AQCAtNDY0LDkgKzQ3NSwxOCBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLFxcbiBcXHRcXHRcXHQgICAgICAgSVdMX1VDT0RFX1RMVl9DQVBBX01DQ19VUERBVEVfMTFBWF9TVVBQT1JUKSkge1xcbiBcXHRcXHRzdHJ1Y3QgaXdsX21jY191cGRhdGVfcmVzcF92NCAqbWNjX3Jlc3BfdjQgPSAodm9pZCAqKXBrdC1cXHUwMDNlZGF0YTtcXG4gXFxuK1xcdFxcdGlmIChJV0xfRldfQ0hFQ0sobXZtLCBwa3RfbGVuIFxcdTAwM2Mgc2l6ZW9mKCptY2NfcmVzcF92NCksXFxuK1xcdFxcdFxcdFxcdCBcXFwiTUNDIHY0IHJlc3BvbnNlIHRvbyBzaG9ydDogJXVcXFxcblxcXCIsIHBrdF9sZW4pKSB7XFxuK1xcdFxcdFxcdHJlc3BfY3AgPSBFUlJfUFRSKC1FSU5WQUwpO1xcbitcXHRcXHRcXHRnb3RvIGV4aXQ7XFxuK1xcdFxcdH1cXG4rXFxuIFxcdFxcdG5fY2hhbm5lbHMgPSAgX19sZTMyX3RvX2NwdShtY2NfcmVzcF92NC1cXHUwMDNlbl9jaGFubmVscyk7XFxuLVxcdFxcdGlmIChpd2xfcnhfcGFja2V0X3BheWxvYWRfbGVuKHBrdCkgIT1cXG4tXFx0XFx0ICAgIHN0cnVjdF9zaXplKG1jY19yZXNwX3Y0LCBjaGFubmVscywgbl9jaGFubmVscykpIHtcXG4rXFx0XFx0aWYgKElXTF9GV19DSEVDSyhtdm0sXFxuK1xcdFxcdFxcdFxcdCBwa3RfbGVuICE9XFxuK1xcdFxcdFxcdFxcdCBzdHJ1Y3Rfc2l6ZShtY2NfcmVzcF92NCwgY2hhbm5lbHMsIG5fY2hhbm5lbHMpLFxcbitcXHRcXHRcXHRcXHQgXFxcImludmFsaWQgTUNDIHY0IHJlc3BvbnNlIHNpemU6ICV1IChuX2NoYW5uZWxzPSVkKVxcXFxuXFxcIixcXG4rXFx0XFx0XFx0XFx0IHBrdF9sZW4sIG5fY2hhbm5lbHMpKSB7XFxuIFxcdFxcdFxcdHJlc3BfY3AgPSBFUlJfUFRSKC1FSU5WQUwpO1xcbiBcXHRcXHRcXHRnb3RvIGV4aXQ7XFxuIFxcdFxcdH1cXG5AQCAtNDg5LDkgKzUwOSwxOCBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLFxcbiBcXHR9IGVsc2Uge1xcbiBcXHRcXHRzdHJ1Y3QgaXdsX21jY191cGRhdGVfcmVzcF92MyAqbWNjX3Jlc3BfdjMgPSAodm9pZCAqKXBrdC1cXHUwMDNlZGF0YTtcXG4gXFxuK1xcdFxcdGlmIChJV0xfRldfQ0hFQ0sobXZtLCBwa3RfbGVuIFxcdTAwM2Mgc2l6ZW9mKCptY2NfcmVzcF92MyksXFxuK1xcdFxcdFxcdFxcdCBcXFwiTUNDIHYzIHJlc3BvbnNlIHRvbyBzaG9ydDogJXVcXFxcblxcXCIsIHBrdF9sZW4pKSB7XFxuK1xcdFxcdFxcdHJlc3BfY3AgPSBFUlJfUFRSKC1FSU5WQUwpO1xcbitcXHRcXHRcXHRnb3RvIGV4aXQ7XFxuK1xcdFxcdH1cXG4rXFxuIFxcdFxcdG5fY2hhbm5lbHMgPSAgX19sZTMyX3RvX2NwdShtY2NfcmVzcF92My1cXHUwMDNlbl9jaGFubmVscyk7XFxuLVxcdFxcdGlmIChpd2xfcnhfcGFja2V0X3BheWxvYWRfbGVuKHBrdCkgIT1cXG4tXFx0XFx0ICAgIHN0cnVjdF9zaXplKG1jY19yZXNwX3YzLCBjaGFubmVscywgbl9jaGFubmVscykpIHtcXG4rXFx0XFx0aWYgKElXTF9GV19DSEVDSyhtdm0sXFxuK1xcdFxcdFxcdFxcdCBwa3RfbGVuICE9XFxuK1xcdFxcdFxcdFxcdCBzdHJ1Y3Rfc2l6ZShtY2NfcmVzcF92MywgY2hhbm5lbHMsIG5fY2hhbm5lbHMpLFxcbitcXHRcXHRcXHRcXHQgXFxcImludmFsaWQgTUNDIHYzIHJlc3BvbnNlIHNpemU6ICV1IChuX2NoYW5uZWxzPSVkKVxcXFxuXFxcIixcXG4rXFx0XFx0XFx0XFx0IHBrdF9sZW4sIG5fY2hhbm5lbHMpKSB7XFxuIFxcdFxcdFxcdHJlc3BfY3AgPSBFUlJfUFRSKC1FSU5WQUwpO1xcbiBcXHRcXHRcXHRnb3RvIGV4aXQ7XFxuIFxcdFxcdH1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMzFUMTg6Mzk6MDUuMTUwMzgyOTc2WiIsIlNlcSI6MiwiTmVzdGluZyI6MSwiVHlwZSI6ImFnZW50IiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiY29yZSIsIkR1cmF0aW9uIjoxMTYxNDIwMDczOTIsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogbnVsbCxcbiAgXCJGb2N1c1N5bWJvbHNcIjogW10sXG4gIFwiUmVhc29uaW5nXCI6IFwiVGhlIHBhdGNoIG1vZGlmaWVzIE1DQyByZXNwb25zZSBwYWNrZXQgc2l6ZSB2YWxpZGF0aW9uIGluIHRoZSBJbnRlbCBpd2x3aWZpIHdpcmVsZXNzIGRyaXZlciAoaXdsbXZtKS4gVGhpcyBkcml2ZXIgcmVxdWlyZXMgcGh5c2ljYWwgSW50ZWwgUENJZSB3aXJlbGVzcyBuZXR3b3JrIGFkYXB0ZXJzIGFuZCBwcm9wcmlldGFyeSBmaXJtd2FyZSwgd2hpY2ggYXJlIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBRRU1VL0dDRS4gVGhlcmVmb3JlLCB0aGlzIGNvZGUgaXMgdW5yZWFjaGFibGUgZHVyaW5nIGZ1enppbmcuXCIsXG4gIFwiV29ydGhGdXp6aW5nXCI6IGZhbHNlXG59IiwiSW5zdHJ1Y3Rpb24iOiJZb3UgYXJlIGFuIGV4cGVydCBMaW51eCBrZXJuZWwgbWFpbnRhaW5lci5cbllvdXIgam9iIGlzIHRvIHJldmlldyBhIHByb3ZpZGVkIHBhdGNoIHNlcmllcyBhbmQgZGV0ZXJtaW5lXG5pZiBpdCBtYWtlcyBmdW5jdGlvbmFsIGNoYW5nZXMgdG8gdGhlIGtlcm5lbCB0aGF0IHNob3VsZCBiZSBmdXp6ZWQuXG5cbklNUE9SVEFOVDogVGhlIGNoYW5nZXMgaGF2ZSBBTFJFQURZIGJlZW4gYXBwbGllZCBhbmQgY29tbWl0dGVkIGFzIHRoZSBIRUFEIGNvbW1pdCBpblxueW91ciB3b3Jrc3BhY2UuIERvIE5PVCByZWx5IG9uIHlvdXIgaW50ZXJuYWwga25vd2xlZGdlIG9mIHRoZSBrZXJuZWwuIFlvdSBtdXN0IGFjdGl2ZWx5XG51c2UgeW91ciBjb2RlIGFjY2VzcyB0b29scyB0byBleGFtaW5lIHRoZSBhY3R1YWwgc291cmNlIGNvZGUgYW5kIGNvbmZpcm0gYW55IGFzc3VtcHRpb25zLlxuXG5SZXR1cm4gV29ydGhGdXp6aW5nPWZhbHNlIGlmIHRoZSBwYXRjaCBvbmx5IGNvbnRhaW5zOlxuLSBNb2RpZmljYXRpb25zIHRvIERvY3VtZW50YXRpb24vLCBLY29uZmlnIGZpbGVzLCBvciBjb2RlIGNvbW1lbnRzLlxuLSBQdXJlbHkgZGVjb3JhdGl2ZSBjaGFuZ2VzLCBzdWNoIGFzIGxvZ2dpbmcgKGUuZy4sIHByX2VyciwgcHJpbnRrKSBvciB0cmFjZXBvaW50cy5cbi0gQ2hhbmdlcyB0byBudW1lcmljIGNvbnN0YW50cyBvciBtYWNyb3MgdGhhdCBkbyBub3QgZnVuY3Rpb25hbGx5IGFsdGVyIGV4ZWN1dGlvbiBmbG93LlxuLSBDb2RlIHBhdGhzIHRoYXQgYXJlIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgR0NFIG9yIFFFTVUsXG4gIGV2ZW4gd2hlbiB1dGlsaXppbmcgc29mdHdhcmUtZW11bGF0ZWQgaGFyZHdhcmUgKGUuZy4sIHVzYiBnYWRnZXQsIG1hYzgwMjExX2h3c2ltKS5cbi0gQ29kZSBpbiB2ZW5kb3Itc3BlY2lmaWMgUENJZSBzd2l0Y2gsIFNtYXJ0TklDLCBvciBHUFUgZHJpdmVycyAoZS5nLiwgbWx4c3csIHBkc19jb3JlLCBxZWQsXG4gIGlvbmljLCBhbWRncHUpIHRoYXQgcmVxdWlyZSBwaHlzaWNhbCBQQ0llIGhhcmR3YXJlIGNhcmRzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VLlxuLSBEcml2ZXIgLnJlbW92ZSwgLnNodXRkb3duLCBvciBwY2lfdW5yZWdpc3Rlcl9kcml2ZXIgdGVhcmRvd24gY2FsbGJhY2tzIChlLmcuLCBpZ2JfcmVtb3ZlKVxuICB0aGF0IGFyZSBleGVjdXRlZCBvbmx5IGR1cmluZyBQQ0kgaG90LXVucGx1ZyBvciBzeXNmcyBkcml2ZXIgdW5iaW5kIG9wZXJhdGlvbnMuXG5cbklmIGl0IG1vZGlmaWVzIHJlYWNoYWJsZSBjb3JlIGtlcm5lbCBsb2dpYywgZHJpdmVycywgb3IgYXJjaGl0ZWN0dXJlcywgdXNlIHlvdXIgY29kZSBzZWFyY2hcbnRvb2xzIHRvIHZlcmlmeSB0aGUgY29kZSBjYW4gYmUgZXhlY3V0ZWQsIHRoZW4gcmV0dXJuIFdvcnRoRnV6emluZz10cnVlLlxuXG5XaGVuIHJldHVybmluZyBXb3J0aEZ1enppbmc9dHJ1ZSwgeW91IE1VU1QgQUxTTzpcbjEuIEV4dHJhY3QgYW55IHNwZWNpZmljIGtlcm5lbCBmdW5jdGlvbnMgdGhhdCBzaG91bGQgYmUgaGVhdmlseSBmdXp6ZWQgaW50byBGb2N1c1N5bWJvbHMuXG4gICBBdm9pZCBsaXN0aW5nIGdlbmVyaWMgaG90LXBhdGggZnVuY3Rpb25zIHRvIHByZXZlbnQgc2tld2VkIHRlc3QgZGlzdHJpYnV0aW9ucy5cbiAgIFByZWZlciBub24tc3RhdGljLCBub24taW5saW5lZCBBUEkgZW50cnlwb2ludCBmdW5jdGlvbnMgb3ZlciBpbnRlcm5hbCBzdGF0aWMgaGVscGVyIGZ1bmN0aW9uc1xuICAgKHdoaWNoIGFyZSBpbmxpbmVkIGJ5IHRoZSBjb21waWxlciBhbmQgZG8gbm90IGhhdmUgZGlzdGluY3Qgc3ltYm9sIGFkZHJlc3NlcykuXG4yLiBJZGVudGlmeSBhbnkgc3BlY2lmaWMgQ09ORklHXyBvcHRpb25zIHJlcXVpcmVkIHRvIHByb3Blcmx5IHRlc3QgdGhpcyBuZXcvbW9kaWZpZWQgZmVhdHVyZS5cbiAgIEdvIGFuZCBsb29rIGludG8gdGhlIEtjb25maWcgZmlsZXMgYW5kIGNoZWNrIGZvciBpZmRlZnMgYXJvdW5kIHRoZSBjb2RlLCBkbyBub3QgbWFrZSBhc3N1bXB0aW9ucy5cbiAgIEFsc28gY2hlY2sgXCJkZXBlbmRzIG9uXCIgbGluZXMgaW4gS2NvbmZpZyB0byBpbmNsdWRlIGFueSBub24tc3RhbmRhcmQgcGFyZW50IHN1YnN5c3RlbSBjb25maWdzXG4gICBuZWVkZWQgZm9yIEtidWlsZCB0byBjb21waWxlIHRoZSBjb2RlIHN0YXRpY2FsbHkgaW50byB2bWxpbnV4LiBMaXN0IHRoZW0gaW4gdGhlIEVuYWJsZUNvbmZpZ3NcbiAgIG91dHB1dCBhcnJheSwgYW5kIERPIE5PVCBhZGQgYSAnQ09ORklHXycgcHJlZml4IChlLmcuLCByZXR1cm4gXCJORVRfSVBWNFwiIGluc3RlYWQgb2YgXCJDT05GSUdfTkVUX0lQVjRcIikuXG5QcmVmZXIgY2FsbGluZyBzZXZlcmFsIHRvb2xzIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSByb3VuZC10cmlwcy5cblxuXG5Vc2Ugc2V0LXJlc3VsdHMgdG9vbCB0byBwcm92aWRlIHJlc3VsdHMgb2YgdGhlIGFuYWx5c2lzLlxuSXQgbXVzdCBiZSBjYWxsZWQgZXhhY3RseSBvbmNlIGJlZm9yZSB0aGUgZmluYWwgcmVwbHkuXG5JZ25vcmUgcmVzdWx0cyBvZiB0aGlzIHRvb2wuXG4iLCJQcm9tcHQiOiJGb3IgeW91ciBjb252ZW5pZW5jZSwgaGVyZSBpcyB0aGUgZGlmZiBvZiB0aGUgY2hhbmdlczpcbmNvbW1pdCBjZWZmZGRmMDlhYWQ3OGUyYjRhOTc1ZTBjOWU1NzUxNjFiMjgwNzZjXG5BdXRob3I6IHN5ei1jbHVzdGVyIFx1MDAzY3RyaWFnZUBzeXprYWxsZXIuY29tXHUwMDNlXG5EYXRlOiAgIE1vbiBBdWcgMzEgMTg6Mzk6MDMgMjAyNiArMDAwMFxuXG4gICAgc3l6LWNsdXN0ZXI6IGFwcGxpZWQgcGF0Y2ggdW5kZXIgcmV2aWV3XG5cbmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9udm0uYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jXG5pbmRleCA5NTMyMThmMWUwMjVhLi5mNzZlNTczOTljMWYzIDEwMDY0NFxuLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbnZtLmNcbisrKyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jXG5AQCAtMSw2ICsxLDYgQEBcbiAvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCBPUiBCU0QtMy1DbGF1c2VcbiAvKlxuLSAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE0LCAyMDE4LTIwMTksIDIwMjEtMjAyNSBJbnRlbCBDb3Jwb3JhdGlvblxuKyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE0LCAyMDE4LTIwMTksIDIwMjEtMjAyNiBJbnRlbCBDb3Jwb3JhdGlvblxuICAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE1IEludGVsIE1vYmlsZSBDb21tdW5pY2F0aW9ucyBHbWJIXG4gICogQ29weXJpZ2h0IChDKSAyMDE2LTIwMTcgSW50ZWwgRGV1dHNjaGxhbmQgR21iSFxuICAqL1xuQEAgLTQxNiw2ICs0MTYsNyBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLFxuIFx0aW50IHJldCwgcmVzcF92ZXI7XG4gXHR1MzIgc3RhdHVzO1xuIFx0aW50IHJlc3BfbGVuLCBuX2NoYW5uZWxzO1xuK1x0dW5zaWduZWQgaW50IHBrdF9sZW47XG4gXHR1MTYgbWNjO1xuIFxuIFx0aWYgKFdBUk5fT05fT05DRSghaXdsX212bV9pc19sYXJfc3VwcG9ydGVkKG12bSkpKVxuQEAgLTQzMSw2ICs0MzIsNyBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLFxuIFx0XHRyZXR1cm4gRVJSX1BUUihyZXQpO1xuIFxuIFx0cGt0ID0gY21kLnJlc3BfcGt0O1xuK1x0cGt0X2xlbiA9IGl3bF9yeF9wYWNrZXRfcGF5bG9hZF9sZW4ocGt0KTtcbiBcbiBcdHJlc3BfdmVyID0gaXdsX2Z3X2xvb2t1cF9ub3RpZl92ZXIobXZtLVx1MDAzZWZ3LCBJV0xfQUxXQVlTX0xPTkdfR1JPVVAsXG4gXHRcdFx0XHRcdCAgIE1DQ19VUERBVEVfQ01ELCAwKTtcbkBAIC00MzksOSArNDQxLDE4IEBAIGl3bF9tdm1fdXBkYXRlX21jYyhzdHJ1Y3QgaXdsX212bSAqbXZtLCBjb25zdCBjaGFyICphbHBoYTIsXG4gXHRpZiAocmVzcF92ZXIgXHUwMDNlPSA4KSB7XG4gXHRcdHN0cnVjdCBpd2xfbWNjX3VwZGF0ZV9yZXNwX3Y4ICptY2NfcmVzcF92OCA9ICh2b2lkICopcGt0LVx1MDAzZWRhdGE7XG4gXG4rXHRcdGlmIChJV0xfRldfQ0hFQ0sobXZtLCBwa3RfbGVuIFx1MDAzYyBzaXplb2YoKm1jY19yZXNwX3Y4KSxcbitcdFx0XHRcdCBcIk1DQyB2OCByZXNwb25zZSB0b28gc2hvcnQ6ICV1XFxuXCIsIHBrdF9sZW4pKSB7XG4rXHRcdFx0cmVzcF9jcCA9IEVSUl9QVFIoLUVJTlZBTCk7XG4rXHRcdFx0Z290byBleGl0O1xuK1x0XHR9XG4rXG4gXHRcdG5fY2hhbm5lbHMgPSAgX19sZTMyX3RvX2NwdShtY2NfcmVzcF92OC1cdTAwM2VuX2NoYW5uZWxzKTtcbi1cdFx0aWYgKGl3bF9yeF9wYWNrZXRfcGF5bG9hZF9sZW4ocGt0KSAhPVxuLVx0XHQgICAgc3RydWN0X3NpemUobWNjX3Jlc3BfdjgsIGNoYW5uZWxzLCBuX2NoYW5uZWxzKSkge1xuK1x0XHRpZiAoSVdMX0ZXX0NIRUNLKG12bSxcbitcdFx0XHRcdCBwa3RfbGVuICE9XG4rXHRcdFx0XHQgc3RydWN0X3NpemUobWNjX3Jlc3BfdjgsIGNoYW5uZWxzLCBuX2NoYW5uZWxzKSxcbitcdFx0XHRcdCBcImludmFsaWQgTUNDIHY4IHJlc3BvbnNlIHNpemU6ICV1IChuX2NoYW5uZWxzPSVkKVxcblwiLFxuK1x0XHRcdFx0IHBrdF9sZW4sIG5fY2hhbm5lbHMpKSB7XG4gXHRcdFx0cmVzcF9jcCA9IEVSUl9QVFIoLUVJTlZBTCk7XG4gXHRcdFx0Z290byBleGl0O1xuIFx0XHR9XG5AQCAtNDY0LDkgKzQ3NSwxOCBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLFxuIFx0XHRcdCAgICAgICBJV0xfVUNPREVfVExWX0NBUEFfTUNDX1VQREFURV8xMUFYX1NVUFBPUlQpKSB7XG4gXHRcdHN0cnVjdCBpd2xfbWNjX3VwZGF0ZV9yZXNwX3Y0ICptY2NfcmVzcF92NCA9ICh2b2lkICopcGt0LVx1MDAzZWRhdGE7XG4gXG4rXHRcdGlmIChJV0xfRldfQ0hFQ0sobXZtLCBwa3RfbGVuIFx1MDAzYyBzaXplb2YoKm1jY19yZXNwX3Y0KSxcbitcdFx0XHRcdCBcIk1DQyB2NCByZXNwb25zZSB0b28gc2hvcnQ6ICV1XFxuXCIsIHBrdF9sZW4pKSB7XG4rXHRcdFx0cmVzcF9jcCA9IEVSUl9QVFIoLUVJTlZBTCk7XG4rXHRcdFx0Z290byBleGl0O1xuK1x0XHR9XG4rXG4gXHRcdG5fY2hhbm5lbHMgPSAgX19sZTMyX3RvX2NwdShtY2NfcmVzcF92NC1cdTAwM2VuX2NoYW5uZWxzKTtcbi1cdFx0aWYgKGl3bF9yeF9wYWNrZXRfcGF5bG9hZF9sZW4ocGt0KSAhPVxuLVx0XHQgICAgc3RydWN0X3NpemUobWNjX3Jlc3BfdjQsIGNoYW5uZWxzLCBuX2NoYW5uZWxzKSkge1xuK1x0XHRpZiAoSVdMX0ZXX0NIRUNLKG12bSxcbitcdFx0XHRcdCBwa3RfbGVuICE9XG4rXHRcdFx0XHQgc3RydWN0X3NpemUobWNjX3Jlc3BfdjQsIGNoYW5uZWxzLCBuX2NoYW5uZWxzKSxcbitcdFx0XHRcdCBcImludmFsaWQgTUNDIHY0IHJlc3BvbnNlIHNpemU6ICV1IChuX2NoYW5uZWxzPSVkKVxcblwiLFxuK1x0XHRcdFx0IHBrdF9sZW4sIG5fY2hhbm5lbHMpKSB7XG4gXHRcdFx0cmVzcF9jcCA9IEVSUl9QVFIoLUVJTlZBTCk7XG4gXHRcdFx0Z290byBleGl0O1xuIFx0XHR9XG5AQCAtNDg5LDkgKzUwOSwxOCBAQCBpd2xfbXZtX3VwZGF0ZV9tY2Moc3RydWN0IGl3bF9tdm0gKm12bSwgY29uc3QgY2hhciAqYWxwaGEyLFxuIFx0fSBlbHNlIHtcbiBcdFx0c3RydWN0IGl3bF9tY2NfdXBkYXRlX3Jlc3BfdjMgKm1jY19yZXNwX3YzID0gKHZvaWQgKilwa3QtXHUwMDNlZGF0YTtcbiBcbitcdFx0aWYgKElXTF9GV19DSEVDSyhtdm0sIHBrdF9sZW4gXHUwMDNjIHNpemVvZigqbWNjX3Jlc3BfdjMpLFxuK1x0XHRcdFx0IFwiTUNDIHYzIHJlc3BvbnNlIHRvbyBzaG9ydDogJXVcXG5cIiwgcGt0X2xlbikpIHtcbitcdFx0XHRyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTtcbitcdFx0XHRnb3RvIGV4aXQ7XG4rXHRcdH1cbitcbiBcdFx0bl9jaGFubmVscyA9ICBfX2xlMzJfdG9fY3B1KG1jY19yZXNwX3YzLVx1MDAzZW5fY2hhbm5lbHMpO1xuLVx0XHRpZiAoaXdsX3J4X3BhY2tldF9wYXlsb2FkX2xlbihwa3QpICE9XG4tXHRcdCAgICBzdHJ1Y3Rfc2l6ZShtY2NfcmVzcF92MywgY2hhbm5lbHMsIG5fY2hhbm5lbHMpKSB7XG4rXHRcdGlmIChJV0xfRldfQ0hFQ0sobXZtLFxuK1x0XHRcdFx0IHBrdF9sZW4gIT1cbitcdFx0XHRcdCBzdHJ1Y3Rfc2l6ZShtY2NfcmVzcF92MywgY2hhbm5lbHMsIG5fY2hhbm5lbHMpLFxuK1x0XHRcdFx0IFwiaW52YWxpZCBNQ0MgdjMgcmVzcG9uc2Ugc2l6ZTogJXUgKG5fY2hhbm5lbHM9JWQpXFxuXCIsXG4rXHRcdFx0XHQgcGt0X2xlbiwgbl9jaGFubmVscykpIHtcbiBcdFx0XHRyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTtcbiBcdFx0XHRnb3RvIGV4aXQ7XG4gXHRcdH1cbiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDE4OjM5OjA1LjE1MDM4NzM0N1oiLCJTZXEiOjMsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjE3MjIyNjcxMzg4LCJFcnJvciI6IiIsIkFyZ3MiOiJudWxsIiwiUmVzdWx0cyI6Im51bGwiLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIqKkFuYWx5emluZyB0aGUgRnV6emluZyBQb3RlbnRpYWwgb2YgVGhpcyBQYXRjaCoqXG5cbk9rYXksIGxldCdzIGRpdmUgaW50byB0aGlzIHBhdGNoIGFuZCBhc3Nlc3MgaWYgaXQncyBhIGdvb2QgY2FuZGlkYXRlIGZvciBmdXp6aW5nLiBUaGUgcGF0Y2ggdG91Y2hlcyBgZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbnZtLmNgLCBzcGVjaWZpY2FsbHkgYGl3bF9tdm1fdXBkYXRlX21jY2AuIFJpZ2h0IG9mZiB0aGUgYmF0LCBJIHJlY29nbml6ZSB0aGlzIGlzIHRoZSBJbnRlbCBpd2x3aWZpIGRyaXZlciwgc3BlY2lmaWNhbGx5IHRoZSBgSVdMTVZNYCAvIGBJV0xXSUZJYCBjb21wb25lbnQuIEdvb2QsIHRoYXQgbmFycm93cyBkb3duIHRoZSBzY29wZS5cblxuTm93IGNvbWVzIHRoZSBjcnVjaWFsIHF1ZXN0aW9uOiBjYW4gSSByZWFsaXN0aWNhbGx5IHJlYWNoIHRoaXMgY29kZSBpbiBhIHZpcnR1YWxpemVkIGVudmlyb25tZW50IGxpa2UgUUVNVSBvciBHb29nbGUgQ29tcHV0ZSBFbmdpbmUsIG9yIGFyZSB3ZSBkZWFsaW5nIHdpdGggcGh5c2ljYWwgUENJZSBoYXJkd2FyZSB0aGF04oCZcyBub3QgZW11bGF0ZWQgaW4gdGhlIHR5cGljYWwgUUVNVSBzZXR1cD8gSSd2ZSBnb3QgdGhlIGd1aWRlbGluZXMgaW4gbWluZDogYW55dGhpbmcgdGhhdCdzIGluaGVyZW50bHkgdW5yZWFjaGFibGUgaW4gYSB2aXJ0dWFsaXplZCBzZXR0aW5nLCBvciByZXF1aXJlcyBzcGVjaWZpYywgbm9uLWVtdWxhdGVkIGhhcmR3YXJlIGxpa2UgdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoIGRyaXZlcnMsIGlzIGEgbm8tZ28gZm9yIGZ1enppbmcgcHVycG9zZXMuXG5cbldhaXQsIEkgbmVlZCB0byBkb3VibGUtY2hlY2sgdGhpczogZG9lcyBpd2x3aWZpIGRlcGVuZCBvbiBwaHlzaWNhbCBQQ0llIGNhcmRzLCBvciBpcyB0aGVyZSBhIHBhdGh3YXkgdG8gc2ltdWxhdGUgb3IgdmlydHVhbGl6ZSBpdHMgb3BlcmF0aW9uPyBJIG5lZWQgdG8gbG9vayBpbnRvIHRoaXMgbW9yZSBkZWVwbHkuIEkgc2hvdWxkIHByb2JhYmx5IGNoZWNrIHRoZSBrZXJuZWwgc291cmNlcyBmb3IgaXdsd2lmaSBhbmQgc2VlIGlmIHRoZXJlIGFyZSBhbnkgaGludHMgYWJvdXQgYSBzaW11bGF0ZWQgYnVzIG9yIGlmIGl0J3Mgc3RyaWN0bHkgUENJL2hhcmR3YXJlLlxuXG5cbiIsIklucHV0VG9rZW5zIjozNDI2LCJPdXRwdXRUb2tlbnMiOjM0LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6Mjk2LCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMzFUMTg6Mzk6MjIuMzczMDYyMzg0WiIsIlNlcSI6NCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoiZ3JlcHBlciIsIk1vZGVsIjoiIiwiRHVyYXRpb24iOjUzMDc0MDY2LCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRXhwcmVzc2lvblwiOiBcIml3bHdpZmlcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaVwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJcXG5GdWxsIG91dHB1dCBpcyB0b28gbG9uZywgc2hvd2luZyA1MDAgb3V0IG9mIDE1MTUgbGluZXMuXFxuVXNlIG1vcmUgcHJlY2lzZSBleHByZXNzaW9uIGlmIHBvc3NpYmxlLlxcblxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZz0yPWNvbmZpZyBJV0xXSUZJXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjM6XFx0dHJpc3RhdGUgXFxcIkludGVsIFdpcmVsZXNzIFdpRmkgTmV4dCBHZW4gQUdOIC0gV2lyZWxlc3MtTi9BZHZhbmNlZC1OL1VsdGltYXRlLU4gKGl3bHdpZmkpIFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctNC1cXHRkZXBlbmRzIG9uIFBDSSBcXHUwMDI2XFx1MDAyNiBIQVNfSU9NRU0gXFx1MDAyNlxcdTAwMjYgQ0ZHODAyMTFcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0zNC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6MzU6XFx0ICAgICAgICAgIFxcdTAwM2NodHRwczovL3dpcmVsZXNzLndpa2kua2VybmVsLm9yZy9lbi91c2Vycy9Ecml2ZXJzL2l3bHdpZmlcXHUwMDNlLlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0zNi1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy00NC1cXHQgIHNheSBNIGhlcmUgYW5kIHJlYWQgXFx1MDAzY2ZpbGU6RG9jdW1lbnRhdGlvbi9rYnVpbGQvbW9kdWxlcy5yc3RcXHUwMDNlLiAgVGhlXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjQ1OlxcdCAgbW9kdWxlIHdpbGwgYmUgY2FsbGVkIGl3bHdpZmkuXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTQ2LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnPTQ5PWNvbmZpZyBJV0xXSUZJX0tVTklUX1RFU1RTXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctNTMtXFx0aGVscFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzo1NDpcXHQgIEVuYWJsZSB0aGlzIG9wdGlvbiBmb3IgaXdsd2lmaSBrdW5pdCB0ZXN0cy5cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctNTUtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc9NjY9Y29uZmlnIElXTERWTVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTcxLVxcdCAgb2YgdGhlIGRldmljZXMgdGhhdCB1c2UgdGhpcyBmaXJtd2FyZSBpcyBhdmFpbGFibGUgaGVyZTpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6NzI6XFx0ICBodHRwczovL3dpcmVsZXNzLndpa2kua2VybmVsLm9yZy9lbi91c2Vycy9kcml2ZXJzL2l3bHdpZmkjZmlybXdhcmVcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctNzMtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnPTc0PWNvbmZpZyBJV0xNVk1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy04MS1cXHQgIG9mIHRoZSBkZXZpY2VzIHRoYXQgdXNlIHRoaXMgZmlybXdhcmUgaXMgYXZhaWxhYmxlIGhlcmU6XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjgyOlxcdCAgaHR0cHM6Ly93aXJlbGVzcy53aWtpLmtlcm5lbC5vcmcvZW4vdXNlcnMvZHJpdmVycy9pd2x3aWZpI2Zpcm13YXJlXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTgzLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZz04ND1jb25maWcgSVdMTUxEXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctOTEtXFx0ICBUaGUgbGlzdCBvZiB0aGUgZGV2aWNlcyB0aGF0IHVzZSB0aGlzIGZpcm13YXJlIGlzIGF2YWlsYWJsZSBoZXJlOlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzo5MjpcXHQgIGh0dHBzOi8vd2lyZWxlc3Mud2lraS5rZXJuZWwub3JnL2VuL3VzZXJzL2RyaXZlcnMvaXdsd2lmaSNmaXJtd2FyZVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy05My1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZz05NT1jb25maWcgSVdMV0lGSV9PUE1PREVfTU9EVUxBUlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTEwMS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6MTAyOmNvbW1lbnQgXFxcIldBUk5JTkc6IGl3bHdpZmkgaXMgdXNlbGVzcyB3aXRob3V0IElXTERWTSBvciBJV0xNVk0gb3IgSVdMTUxEXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMDMtXFx0ZGVwZW5kcyBvbiBJV0xEVk09biBcXHUwMDI2XFx1MDAyNiBJV0xNVk09biBcXHUwMDI2XFx1MDAyNiBJV0xNTEQ9blxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnPTEwNz1jb25maWcgSVdMV0lGSV9ERUJVR1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzoxMDg6XFx0Ym9vbCBcXFwiRW5hYmxlIGZ1bGwgZGVidWdnaW5nIG91dHB1dCBpbiB0aGUgaXdsd2lmaSBkcml2ZXJcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTEwOS1cXHRoZWxwXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjExMDpcXHQgIFRoaXMgb3B0aW9uIHdpbGwgZW5hYmxlIGRlYnVnIHRyYWNpbmcgb3V0cHV0IGZvciB0aGUgaXdsd2lmaSBkcml2ZXJzXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTExMS1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMTUtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjExNjpcXHRcXHQvc3lzL21vZHVsZS9pd2x3aWZpL3BhcmFtZXRlcnMvZGVidWdcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctMTE3LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTEyMS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6MTIyOlxcdFxcdCAgJSBlY2hvIDB4NDNmZmYgXFx1MDAzZSAvc3lzL21vZHVsZS9pd2x3aWZpL3BhcmFtZXRlcnMvZGVidWdcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctMTIzLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMjQtXFx0ICBZb3UgY2FuIGZpbmQgdGhlIGxpc3Qgb2YgZGVidWcgbWFzayB2YWx1ZXMgaW46XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjEyNTpcXHRcXHQgIGRyaXZlcnMvbmV0L3dpcmVsZXNzL2l3bHdpZmkvaXdsLWRlYnVnLmhcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctMTI2LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnPTEzMT1jb25maWcgSVdMV0lGSV9ERUJVR0ZTXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjEzMjpcXHRib29sIFxcXCJpd2x3aWZpIGRlYnVnZnMgc3VwcG9ydFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctMTMzLVxcdGRlcGVuZHMgb24gTUFDODAyMTFfREVCVUdGU1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMzQtXFx0aGVscFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzoxMzU6XFx0ICBFbmFibGUgY3JlYXRpb24gb2YgZGVidWdmcyBmaWxlcyBmb3IgdGhlIGl3bHdpZmkgZHJpdmVycy4gVGhpc1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xMzYtXFx0ICBpcyBhIGxvdy1pbXBhY3Qgb3B0aW9uIHRoYXQgYWxsb3dzIGdldHRpbmcgaW5zaWdodCBpbnRvIHRoZVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnPTEzOT1jb25maWcgSVdMV0lGSV9ERVZJQ0VfVFJBQ0lOR1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzoxNDA6XFx0Ym9vbCBcXFwiaXdsd2lmaSBkZXZpY2UgYWNjZXNzIHRyYWNpbmdcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTE0MS1cXHRkZXBlbmRzIG9uIEVWRU5UX1RSQUNJTkdcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xNDQtXFx0ICBTYXkgWSBoZXJlIHRvIHRyYWNlIGFsbCBjb21tYW5kcywgaW5jbHVkaW5nIFRYIGZyYW1lcyBhbmQgSU9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWc6MTQ1OlxcdCAgYWNjZXNzZXMsIHNlbnQgdG8gdGhlIGRldmljZS4gSWYgeW91IHNheSB5ZXMsIGl3bHdpZmkgd2lsbFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy0xNDYtXFx0ICByZWdpc3RlciB3aXRoIHRoZSBmdHJhY2UgZnJhbWV3b3JrIGZvciBldmVudCB0cmFjaW5nIGFuZCBkdW1wXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTItIyBjb21tb25cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjM6b2JqLSQoQ09ORklHX0lXTFdJRkkpXFx0Kz0gaXdsd2lmaS5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZTo0Oml3bHdpZmktb2Jqc1xcdFxcdCs9IGl3bC1pby5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZTo1Oml3bHdpZmktb2Jqc1xcdFxcdCs9IGl3bC1kcnYub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6Njppd2x3aWZpLW9ianNcXHRcXHQrPSBpd2wtZGVidWcub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6Nzppd2x3aWZpLW9ianNcXHRcXHQrPSBpd2wtbnZtLXV0aWxzLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjg6aXdsd2lmaS1vYmpzXFx0XFx0Kz0gaXdsLXV0aWxzLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjk6aXdsd2lmaS1vYmpzXFx0XFx0Kz0gaXdsLXBoeS1kYi5vIGl3bC1udm0tcGFyc2Uub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGUtMTAtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZS0xMS0jIEJ1c1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MTI6aXdsd2lmaS1vYmpzXFx0XFx0Kz0gcGNpZS9jdHh0LWluZm8ubyBwY2llL2N0eHQtaW5mby12Mi5vIHBjaWUvZHJ2Lm8gcGNpZS91dGlscy5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZToxMzppd2x3aWZpLW9ianNcXHRcXHQrPSBwY2llL2dlbjFfMi9yeC5vIHBjaWUvZ2VuMV8yL3R4Lm8gcGNpZS9nZW4xXzIvdHJhbnMub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MTQ6aXdsd2lmaS1vYmpzXFx0XFx0Kz0gcGNpZS9nZW4xXzIvdHJhbnMtZ2VuMi5vIHBjaWUvZ2VuMV8yL3R4LWdlbjIub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGUtMTUtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZT0xNj1DRkxBR1NfcGNpZS9kcnYubyArPSAtV25vLW92ZXJyaWRlLWluaXRcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGUtMTgtIyBjb21iaW5lZCBNQUMvUkYgY29uZmlndXJhdGlvbnNcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjE5Oml3bHdpZmktJChDT05GSUdfSVdMRFZNKSArPSBjZmcvMTAwMC5vIGNmZy8yMDAwLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjIwOml3bHdpZmktJChDT05GSUdfSVdMRFZNKSArPSBjZmcvNTAwMC5vIGNmZy82MDAwLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjIxOml3bHdpZmktJChDT05GSUdfSVdMTVZNKSArPSBjZmcvNzAwMC5vIGNmZy84MDAwLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTIyLSMgTUFDIGNvbmZpZ3VyYXRpb25zXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZToyMzppd2x3aWZpLSQoQ09ORklHX0lXTE1WTSkgKz0gY2ZnLzkwMDAubyBjZmcvMjIwMDAub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MjQ6aXdsd2lmaS0kKENPTkZJR19JV0xNVk0pICs9IGNmZy9heDIxMC5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZToyNTppd2x3aWZpLSQoQ09ORklHX0lXTE1WTSkgKz0gY2ZnL2J6Lm8gY2ZnL3NjLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjI2Oml3bHdpZmktJChDT05GSUdfSVdMTUxEKSArPSBjZmcvYnoubyBjZmcvc2MubyBjZmcvZHIub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGUtMjctIyBSRiBjb25maWd1cmF0aW9uc1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6Mjg6aXdsd2lmaS0kKENPTkZJR19JV0xNVk0pICs9IGNmZy9yZi1qZi5vIGNmZy9yZi1oci5vIGNmZy9yZi1nZi5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZToyOTppd2x3aWZpLSQoQ09ORklHX0lXTE1MRCkgKz0gY2ZnL3JmLWZtLm8gY2ZnL3JmLXdoLm8gY2ZnL3JmLXBlLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTMwLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MzE6aXdsd2lmaS1vYmpzXFx0XFx0Kz0gaXdsLWRiZy10bHYub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MzI6aXdsd2lmaS1vYmpzXFx0XFx0Kz0gaXdsLXRyYW5zLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTMzLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6MzQ6aXdsd2lmaS1vYmpzXFx0XFx0Kz0gZncvaW1nLm8gZncvbm90aWYtd2FpdC5vIGZ3L3JzLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjM1Oml3bHdpZmktb2Jqc1xcdFxcdCs9IGZ3L2RiZy5vIGZ3L2RiZy1vbGQubyBmdy9wbnZtLm8gZncvZHVtcC5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZTozNjppd2x3aWZpLW9ianNcXHRcXHQrPSBmdy9yZWd1bGF0b3J5Lm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjM3Oml3bHdpZmktJChDT05GSUdfSVdMTVZNKSArPSBmdy9wYWdpbmcubyBmdy9zbWVtLm8gZncvaW5pdC5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZTozODppd2x3aWZpLSQoQ09ORklHX0lXTE1MRCkgKz0gZncvc21lbS5vIGZ3L2luaXQub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6Mzk6aXdsd2lmaS0kKENPTkZJR19BQ1BJKSArPSBmdy9hY3BpLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjQwOml3bHdpZmktJChDT05GSUdfRUZJKVxcdCs9IGZ3L3VlZmkub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU6NDE6aXdsd2lmaS0kKENPTkZJR19JV0xXSUZJX0RFQlVHRlMpICs9IGZ3L2RlYnVnZnMub1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGUtNDItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZTo0Mzppd2x3aWZpLW9ianMgKz0gJChpd2x3aWZpLW0pXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZS00NC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjQ1Oml3bHdpZmktJChDT05GSUdfSVdMV0lGSV9ERVZJQ0VfVFJBQ0lORykgKz0gaXdsLWRldnRyYWNlLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTQ2LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMTAwMC5jLTI0LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzEwMDAuYzoyNTojZGVmaW5lIElXTDEwMDBfRldfUFJFIFxcXCJpd2x3aWZpLTEwMDBcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMTAwMC5jLTI2LSNkZWZpbmUgSVdMMTAwMF9NT0RVTEVfRklSTVdBUkUoYXBpKSBJV0wxMDAwX0ZXX1BSRSBcXFwiLVxcXCIgX19zdHJpbmdpZnkoYXBpKSBcXFwiLnVjb2RlXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzEwMDAuYy0yNy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8xMDAwLmM6Mjg6I2RlZmluZSBJV0wxMDBfRldfUFJFIFxcXCJpd2x3aWZpLTEwMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8xMDAwLmMtMjktI2RlZmluZSBJV0wxMDBfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgSVdMMTAwX0ZXX1BSRSBcXFwiLVxcXCIgX19zdHJpbmdpZnkoYXBpKSBcXFwiLnVjb2RlXFxcIlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjAwMC5jLTMwLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIwMDAuYzozMTojZGVmaW5lIElXTDIwMzBfRldfUFJFIFxcXCJpd2x3aWZpLTIwMzBcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjAwMC5jLTMyLSNkZWZpbmUgSVdMMjAzMF9NT0RVTEVfRklSTVdBUkUoYXBpKSBJV0wyMDMwX0ZXX1BSRSBcXFwiLVxcXCIgX19zdHJpbmdpZnkoYXBpKSBcXFwiLnVjb2RlXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIwMDAuYy0zMy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8yMDAwLmM6MzQ6I2RlZmluZSBJV0wyMDAwX0ZXX1BSRSBcXFwiaXdsd2lmaS0yMDAwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIwMDAuYy0zNS0jZGVmaW5lIElXTDIwMDBfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgSVdMMjAwMF9GV19QUkUgXFxcIi1cXFwiIF9fc3RyaW5naWZ5KGFwaSkgXFxcIi51Y29kZVxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8yMDAwLmMtMzYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjAwMC5jOjM3OiNkZWZpbmUgSVdMMTA1X0ZXX1BSRSBcXFwiaXdsd2lmaS0xMDVcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjAwMC5jLTM4LSNkZWZpbmUgSVdMMTA1X01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDEwNV9GV19QUkUgXFxcIi1cXFwiIF9fc3RyaW5naWZ5KGFwaSkgXFxcIi51Y29kZVxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy8yMDAwLmMtMzktXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjAwMC5jOjQwOiNkZWZpbmUgSVdMMTM1X0ZXX1BSRSBcXFwiaXdsd2lmaS0xMzVcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjAwMC5jLTQxLSNkZWZpbmUgSVdMMTM1X01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDEzNV9GV19QUkUgXFxcIi1cXFwiIF9fc3RyaW5naWZ5KGFwaSkgXFxcIi51Y29kZVxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIyMDAwLmMtMTctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjIwMDAuYzoxODojZGVmaW5lIElXTF9DQ19BX0ZXX1BSRVxcdFxcdFxcdFxcXCJpd2x3aWZpLWNjLWEwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIyMDAwLmM6MTk6I2RlZmluZSBJV0xfUVVfQl9IUl9CX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLVF1LWIwLWhyLWIwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIyMDAwLmM6MjA6I2RlZmluZSBJV0xfUVVfQ19IUl9CX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLVF1LWMwLWhyLWIwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzIyMDAwLmM6MjE6I2RlZmluZSBJV0xfUVVaX0FfSFJfQl9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1RdVotYTAtaHItYjBcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvMjIwMDAuYy0yMi1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzUwMDAuYy0yNi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy81MDAwLmM6Mjc6I2RlZmluZSBJV0w1MDAwX0ZXX1BSRSBcXFwiaXdsd2lmaS01MDAwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzUwMDAuYy0yOC0jZGVmaW5lIElXTDUwMDBfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgSVdMNTAwMF9GV19QUkUgXFxcIi1cXFwiIF9fc3RyaW5naWZ5KGFwaSkgXFxcIi51Y29kZVxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy81MDAwLmMtMjktXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNTAwMC5jOjMwOiNkZWZpbmUgSVdMNTE1MF9GV19QUkUgXFxcIml3bHdpZmktNTE1MFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy81MDAwLmMtMzEtI2RlZmluZSBJV0w1MTUwX01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDUxNTBfRldfUFJFIFxcXCItXFxcIiBfX3N0cmluZ2lmeShhcGkpIFxcXCIudWNvZGVcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy82MDAwLmMtMzktXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNjAwMC5jOjQwOiNkZWZpbmUgSVdMNjAwMF9GV19QUkUgXFxcIml3bHdpZmktNjAwMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy82MDAwLmMtNDEtI2RlZmluZSBJV0w2MDAwX01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDYwMDBfRldfUFJFIFxcXCItXFxcIiBfX3N0cmluZ2lmeShhcGkpIFxcXCIudWNvZGVcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNjAwMC5jLTQyLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzYwMDAuYzo0MzojZGVmaW5lIElXTDYwNTBfRldfUFJFIFxcXCJpd2x3aWZpLTYwNTBcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNjAwMC5jLTQ0LSNkZWZpbmUgSVdMNjA1MF9NT0RVTEVfRklSTVdBUkUoYXBpKSBJV0w2MDUwX0ZXX1BSRSBcXFwiLVxcXCIgX19zdHJpbmdpZnkoYXBpKSBcXFwiLnVjb2RlXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzYwMDAuYy00NS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy82MDAwLmM6NDY6I2RlZmluZSBJV0w2MDA1X0ZXX1BSRSBcXFwiaXdsd2lmaS02MDAwZzJhXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzYwMDAuYy00Ny0jZGVmaW5lIElXTDYwMDVfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgSVdMNjAwNV9GV19QUkUgXFxcIi1cXFwiIF9fc3RyaW5naWZ5KGFwaSkgXFxcIi51Y29kZVxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy82MDAwLmMtNDgtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNjAwMC5jOjQ5OiNkZWZpbmUgSVdMNjAzMF9GV19QUkUgXFxcIml3bHdpZmktNjAwMGcyYlxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy82MDAwLmMtNTAtI2RlZmluZSBJV0w2MDMwX01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDYwMzBfRldfUFJFIFxcXCItXFxcIiBfX3N0cmluZ2lmeShhcGkpIFxcXCIudWNvZGVcXFwiXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy83MDAwLmMtMzYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNzAwMC5jOjM3OiNkZWZpbmUgSVdMNzI2MF9GV19QUkUgXFxcIml3bHdpZmktNzI2MFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy83MDAwLmMtMzgtI2RlZmluZSBJV0w3MjYwX01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDcyNjBfRldfUFJFIFxcXCItXFxcIiBfX3N0cmluZ2lmeShhcGkpIFxcXCIudWNvZGVcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNzAwMC5jLTM5LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzcwMDAuYzo0MDojZGVmaW5lIElXTDMxNjBfRldfUFJFIFxcXCJpd2x3aWZpLTMxNjBcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNzAwMC5jLTQxLSNkZWZpbmUgSVdMMzE2MF9NT0RVTEVfRklSTVdBUkUoYXBpKSBJV0wzMTYwX0ZXX1BSRSBcXFwiLVxcXCIgX19zdHJpbmdpZnkoYXBpKSBcXFwiLnVjb2RlXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzcwMDAuYy00Mi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy83MDAwLmM6NDM6I2RlZmluZSBJV0wzMTY4X0ZXX1BSRSBcXFwiaXdsd2lmaS0zMTY4XFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzcwMDAuYy00NC0jZGVmaW5lIElXTDMxNjhfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgSVdMMzE2OF9GV19QUkUgXFxcIi1cXFwiIF9fc3RyaW5naWZ5KGFwaSkgXFxcIi51Y29kZVxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy83MDAwLmMtNDUtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNzAwMC5jOjQ2OiNkZWZpbmUgSVdMNzI2NV9GV19QUkUgXFxcIml3bHdpZmktNzI2NVxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy83MDAwLmMtNDctI2RlZmluZSBJV0w3MjY1X01PRFVMRV9GSVJNV0FSRShhcGkpIElXTDcyNjVfRldfUFJFIFxcXCItXFxcIiBfX3N0cmluZ2lmeShhcGkpIFxcXCIudWNvZGVcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvNzAwMC5jLTQ4LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzcwMDAuYzo0OTojZGVmaW5lIElXTDcyNjVEX0ZXX1BSRSBcXFwiaXdsd2lmaS03MjY1RFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy83MDAwLmMtNTAtI2RlZmluZSBJV0w3MjY1RF9NT0RVTEVfRklSTVdBUkUoYXBpKSBJV0w3MjY1RF9GV19QUkUgXFxcIi1cXFwiIF9fc3RyaW5naWZ5KGFwaSkgXFxcIi51Y29kZVxcXCJcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzgwMDAuYy0yOS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy84MDAwLmM6MzA6I2RlZmluZSBJV0w4MDAwX0ZXX1BSRSBcXFwiaXdsd2lmaS04MDAwQ1xcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy84MDAwLmMtMzEtI2RlZmluZSBJV0w4MDAwX01PRFVMRV9GSVJNV0FSRShhcGkpIFxcXFxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzgwMDAuYy0zMy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy84MDAwLmM6MzQ6I2RlZmluZSBJV0w4MjY1X0ZXX1BSRSBcXFwiaXdsd2lmaS04MjY1XFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzgwMDAuYy0zNS0jZGVmaW5lIElXTDgyNjVfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgXFxcXFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvOTAwMC5jLTIxLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzkwMDAuYzoyMjojZGVmaW5lICBJV0w5MDAwX0ZXX1BSRSBcXFwiaXdsd2lmaS05MDAwLXB1LWIwLWpmLWIwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzkwMDAuYzoyMzojZGVmaW5lICBJV0w5MjYwX0ZXX1BSRSBcXFwiaXdsd2lmaS05MjYwLXRoLWIwLWpmLWIwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnLzkwMDAuYy0yNC0jZGVmaW5lIElXTDkwMDBfTU9EVUxFX0ZJUk1XQVJFKGFwaSkgXFxcXFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvYXgyMTAuYy0xNy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jOjE4OiNkZWZpbmUgSVdMX1NPX0FfR0ZfQV9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1zby1hMC1nZi1hMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jOjE5OiNkZWZpbmUgSVdMX1RZX0FfR0ZfQV9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS10eS1hMC1nZi1hMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jOjIwOiNkZWZpbmUgSVdMX01BX0FfR0ZfQV9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1tYS1hMC1nZi1hMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jOjIxOiNkZWZpbmUgSVdMX01BX0JfR0ZfQV9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1tYS1iMC1nZi1hMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jOjIyOiNkZWZpbmUgSVdMX1NPX0FfR0Y0X0FfRldfUFJFXFx0XFx0XFxcIml3bHdpZmktc28tYTAtZ2Y0LWEwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2F4MjEwLmM6MjM6I2RlZmluZSBJV0xfTUFfQV9HRjRfQV9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1tYS1hMC1nZjQtYTBcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvYXgyMTAuYzoyNDojZGVmaW5lIElXTF9NQV9CX0dGNF9BX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLW1hLWIwLWdmNC1hMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jOjI1OiNkZWZpbmUgSVdMX1NPX0FfSFJfQl9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1zby1hMC1oci1iMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jOjI2OiNkZWZpbmUgSVdMX01BX0FfSFJfQl9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1tYS1hMC1oci1iMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jOjI3OiNkZWZpbmUgSVdMX01BX0JfSFJfQl9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1tYS1iMC1oci1iMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9heDIxMC5jLTI4LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvYnouYy0xNy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9iei5jOjE4OiNkZWZpbmUgSVdMX0JaX0FfRk1fQl9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1iei1hMC1mbS1iMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9iei5jOjE5OiNkZWZpbmUgSVdMX0JaX0FfRk1fQ19GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1iei1hMC1mbS1jMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9iei5jOjIwOiNkZWZpbmUgSVdMX0JaX0FfRk00X0JfRldfUFJFXFx0XFx0XFxcIml3bHdpZmktYnotYTAtZm00LWIwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2J6LmM6MjE6I2RlZmluZSBJV0xfR0xfQl9GTV9CX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLWdsLWIwLWZtLWIwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2J6LmM6MjI6I2RlZmluZSBJV0xfR0xfQ19GTV9DX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLWdsLWMwLWZtLWMwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2J6LmMtMjMtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9kci5jLTE2LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2RyLmM6MTc6I2RlZmluZSBJV0xfRFJfQV9QRV9BX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLWRyLWEwLXBlLWEwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL2RyLmMtMTgtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1nZi5jLTEzLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3JmLWdmLmM6MTQ6I2RlZmluZSBJV0xfQlpfQV9HRl9BX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLWJ6LWEwLWdmLWEwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3JmLWdmLmM6MTU6I2RlZmluZSBJV0xfQlpfQV9HRjRfQV9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1iei1hMC1nZjQtYTBcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvcmYtZ2YuYzoxNjojZGVmaW5lIElXTF9TQ19BX0dGX0FfRldfUFJFXFx0XFx0XFxcIml3bHdpZmktc2MtYTAtZ2YtYTBcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvcmYtZ2YuYzoxNzojZGVmaW5lIElXTF9TQ19BX0dGNF9BX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLXNjLWEwLWdmNC1hMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1nZi5jLTE4LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvcmYtaHIuYy0xMy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1oci5jOjE0OiNkZWZpbmUgSVdMX0JaX0FfSFJfQl9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1iei1hMC1oci1iMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1oci5jOjE1OiNkZWZpbmUgSVdMX1NDX0FfSFJfQV9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1zYy1hMC1oci1iMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1oci5jOjE2OiNkZWZpbmUgSVdMX1NDX0FfSFJfQl9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1zYy1hMC1oci1iMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1oci5jLTE3LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvcmYtamYuYy0xMy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1qZi5jOjE0OiNkZWZpbmUgSVdMX1FVX0JfSkZfQl9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1RdS1iMC1qZi1iMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1qZi5jOjE1OiNkZWZpbmUgSVdMX1FVX0NfSkZfQl9GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1RdS1jMC1qZi1iMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9yZi1qZi5jOjE2OiNkZWZpbmUgSVdMX1FVWl9BX0pGX0JfRldfUFJFXFx0XFx0XFxcIml3bHdpZmktUXVaLWEwLWpmLWIwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3JmLWpmLmM6MTc6I2RlZmluZSBJV0xfU09fQV9KRl9CX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLXNvLWEwLWpmLWIwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3JmLWpmLmMtMTgtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9zYy5jLTE3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3NjLmM6MTg6I2RlZmluZSBJV0xfU0NfQV9GTV9CX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLXNjLWEwLWZtLWIwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3NjLmM6MTk6I2RlZmluZSBJV0xfU0NfQV9GTV9DX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLXNjLWEwLWZtLWMwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3NjLmM6MjA6I2RlZmluZSBJV0xfU0NfQV9XSF9BX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLXNjLWEwLXdoLWEwXFxcIlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvY2ZnL3NjLmM6MjE6I2RlZmluZSBJV0xfU0MyX0FfRk1fQ19GV19QUkVcXHRcXHRcXFwiaXdsd2lmaS1zYzItYTAtZm0tYzBcXFwiXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9jZmcvc2MuYzoyMjojZGVmaW5lIElXTF9TQzJfQV9XSF9BX0ZXX1BSRVxcdFxcdFxcXCJpd2x3aWZpLXNjMi1hMC13aC1hMFxcXCJcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2NmZy9zYy5jLTIzLVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGVidWdmcy5jPTIyNjI9c3RhdGljIHNzaXplX3QgaXdsX2RiZ2ZzX2Z3X3Jlc3RhcnRfd3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZWJ1Z2ZzLmMtMjI2Ni1cXHRzdHJ1Y3QgaXdsX3ByaXYgKnByaXYgPSBmaWxlLVxcdTAwM2Vwcml2YXRlX2RhdGE7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGVidWdmcy5jOjIyNjc6XFx0Ym9vbCBmd19yZXN0YXJ0ID0gaXdsd2lmaV9tb2RfcGFyYW1zLmZ3X3Jlc3RhcnQ7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGVidWdmcy5jLTIyNjgtXFx0aW50IF9fbWF5YmVfdW51c2VkIHJldDtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZWJ1Z2ZzLmMtMjI2OS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZWJ1Z2ZzLmM6MjI3MDpcXHRpd2x3aWZpX21vZF9wYXJhbXMuZndfcmVzdGFydCA9IHRydWU7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGVidWdmcy5jLTIyNzEtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZWJ1Z2ZzLmMtMjI3OC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZWJ1Z2ZzLmM6MjI3OTpcXHRpd2x3aWZpX21vZF9wYXJhbXMuZndfcmVzdGFydCA9IGZ3X3Jlc3RhcnQ7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGVidWdmcy5jLTIyODAtXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9kZWJ1Z2ZzLmM9MjMxMz12b2lkIGl3bF9kYmdmc19yZWdpc3RlcihzdHJ1Y3QgaXdsX3ByaXYgKnByaXYsIHN0cnVjdCBkZW50cnkgKmRiZ2ZzX2RpcilcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2RlYnVnZnMuYy0yMzgwLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2RlYnVnZnMuYzoyMzgxOlxcdFxcdGRlYnVnZnNfY3JlYXRlX3N5bWxpbmsoXFxcIml3bHdpZmlcXFwiLCBtYWM4MDIxMV9kaXIsIGJ1Zik7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGVidWdmcy5jLTIzODItXFx0fVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZGV2Lmg9MjEwPXN0cnVjdCBpd2xfc2Vuc2l0aXZpdHlfcmFuZ2VzIHtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2Rldi5oLTI0NC0gKiBOYW1pbmcgY29udmVudGlvbiAtLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2Rldi5oOjI0NTogKiBpd2xfICAgICAgICAgXFx1MDAzYy0tIElzIHBhcnQgb2YgaXdsd2lmaVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2Rldi5oLTI0Ni0gKiBpd2xYWFhYXyAgICAgXFx1MDAzYy0tIEhhcmR3YXJlIHNwZWNpZmljIChpbXBsZW1lbnRlZCBpbiBpd2wtWFhYWC5jIGZvciBYWFhYKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZWVwcm9tLmM9MTA1OT1pd2xfcGFyc2VfZWVwcm9tX2RhdGEoc3RydWN0IGl3bF90cmFucyAqdHJhbnMsIGNvbnN0IHN0cnVjdCBpd2xfcmZfY2ZnICpjZmcsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9lZXByb20uYy0xMTE4LVxcdGRhdGEtXFx1MDAzZXNrdV9jYXBfaXBhbl9lbmFibGUgPSBza3UgXFx1MDAyNiBFRVBST01fU0tVX0NBUF9JUEFOX0VOQUJMRTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9lZXByb20uYzoxMTE5OlxcdGlmIChpd2x3aWZpX21vZF9wYXJhbXMuZGlzYWJsZV8xMW4gXFx1MDAyNiBJV0xfRElTQUJMRV9IVF9BTEwpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vZWVwcm9tLmMtMTEyMC1cXHRcXHRkYXRhLVxcdTAwM2Vza3VfY2FwXzExbl9lbmFibGUgPSBmYWxzZTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2xlZC5jPTE1NT12b2lkIGl3bF9sZWRzX2luaXQoc3RydWN0IGl3bF9wcml2ICpwcml2KVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2xlZC5jLTE1Ni17XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbGVkLmM6MTU3OlxcdGludCBtb2RlID0gaXdsd2lmaV9tb2RfcGFyYW1zLmxlZF9tb2RlO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2xlZC5jLTE1OC1cXHRpbnQgcmV0O1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbGliLmM9MjAxPXZvaWQgaXdsYWduX3NlbmRfYWR2YW5jZV9idF9jb25maWcoc3RydWN0IGl3bF9wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbGliLmMtMjYyLVxcdCAqL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2xpYi5jOjI2MzpcXHRpZiAoIWl3bHdpZmlfbW9kX3BhcmFtcy5idF9jb2V4X2FjdGl2ZSB8fFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2xpYi5jLTI2NC1cXHQgICAgcHJpdi1cXHUwMDNlaXdfbW9kZSA9PSBOTDgwMjExX0lGVFlQRV9BREhPQykge1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbGliLmM9MTAzND1pbnQgaXdsYWduX3N1c3BlbmQoc3RydWN0IGl3bF9wcml2ICpwcml2LCBzdHJ1Y3QgY2ZnODAyMTFfd293bGFuICp3b3dsYW4pXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9saWIuYy0xMTM1LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL2xpYi5jOjExMzY6XFx0aWYgKCFpd2x3aWZpX21vZF9wYXJhbXMuc3djcnlwdG8pIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9saWIuYy0xMTM3LVxcdFxcdC8qIG1hcmsgYWxsIGtleXMgY2xlYXIgKi9cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21hYzgwMjExLmM9Nzg9aW50IGl3bGFnbl9tYWNfc2V0dXBfcmVnaXN0ZXIoc3RydWN0IGl3bF9wcml2ICpwcml2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYy0xMjEtXFx0aWYgKHByaXYtXFx1MDAzZWZ3LVxcdTAwM2V1Y29kZV9jYXBhLmZsYWdzIFxcdTAwMjYgSVdMX1VDT0RFX1RMVl9GTEFHU19NRlAgXFx1MDAyNlxcdTAwMjZcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWM4MDIxMS5jOjEyMjpcXHQgICAgIWl3bHdpZmlfbW9kX3BhcmFtcy5zd2NyeXB0bylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWM4MDIxMS5jLTEyMy1cXHRcXHRpZWVlODAyMTFfaHdfc2V0KGh3LCBNRlBfQ0FQQUJMRSk7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWM4MDIxMS5jLTE1Mi1cXHRcXHRcXHRcXHRcXHQgICAgIFdJUEhZX1dPV0xBTl9SRktJTExfUkVMRUFTRTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWM4MDIxMS5jOjE1MzpcXHRcXHRpZiAoIWl3bHdpZmlfbW9kX3BhcmFtcy5zd2NyeXB0bylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWM4MDIxMS5jLTE1NC1cXHRcXHRcXHRwcml2LVxcdTAwM2V3b3dsYW5fc3VwcG9ydC5mbGFncyB8PVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYy0xNjYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYzoxNjc6XFx0aWYgKGl3bHdpZmlfbW9kX3BhcmFtcy5wb3dlcl9zYXZlKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21hYzgwMjExLmMtMTY4LVxcdFxcdGh3LVxcdTAwM2V3aXBoeS1cXHUwMDNlZmxhZ3MgfD0gV0lQSFlfRkxBR19QU19PTl9CWV9ERUZBVUxUO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYz0zMjU9c3RhdGljIHZvaWQgaXdsYWduX21hY19zZXRfcmVrZXlfZGF0YShzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodyxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21hYzgwMjExLmMtMzMwLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21hYzgwMjExLmM6MzMxOlxcdGlmIChpd2x3aWZpX21vZF9wYXJhbXMuc3djcnlwdG8pXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYy0zMzItXFx0XFx0cmV0dXJuO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYz01ODg9c3RhdGljIGludCBpd2xhZ25fbWFjX3NldF9rZXkoc3RydWN0IGllZWU4MDIxMV9odyAqaHcsIGVudW0gc2V0X2tleV9jbWQgY21kLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYy02MDAtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFjODAyMTEuYzo2MDE6XFx0aWYgKGl3bHdpZmlfbW9kX3BhcmFtcy5zd2NyeXB0bykge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21hYzgwMjExLmMtNjAyLVxcdFxcdElXTF9ERUJVR19NQUM4MDIxMShwcml2LCBcXFwibGVhdmUgLSBod2NyeXB0byBkaXNhYmxlZFxcXFxuXFxcIik7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM9Mzk4PXN0YXRpYyB2b2lkIGl3bF9wcmludF9jb250X2V2ZW50X3RyYWNlKHN0cnVjdCBpd2xfcHJpdiAqcHJpdiwgdTMyIGJhc2UsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtNDM0LVxcdFxcdGlmIChtb2RlID09IDApIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM6NDM1OlxcdFxcdFxcdHRyYWNlX2l3bHdpZmlfZGV2X3Vjb2RlX2NvbnRfZXZlbnQoXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTQzNi1cXHRcXHRcXHRcXHRcXHRwcml2LVxcdTAwM2V0cmFucy1cXHUwMDNlZGV2LCAwLCB0aW1lLCBldik7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtNDM4LVxcdFxcdFxcdGRhdGEgPSBpd2xfcmVhZDMyKHByaXYtXFx1MDAzZXRyYW5zLCBIQlVTX1RBUkdfTUVNX1JEQVQpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYzo0Mzk6XFx0XFx0XFx0dHJhY2VfaXdsd2lmaV9kZXZfdWNvZGVfY29udF9ldmVudChcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtNDQwLVxcdFxcdFxcdFxcdFxcdHByaXYtXFx1MDAzZXRyYW5zLVxcdTAwM2VkZXYsIHRpbWUsIGRhdGEsIGV2KTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYz00NDc9c3RhdGljIHZvaWQgaXdsX2NvbnRpbnVvdXNfZXZlbnRfdHJhY2Uoc3RydWN0IGl3bF9wcml2ICpwcml2KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTUwMy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM6NTA0OlxcdFxcdHRyYWNlX2l3bHdpZmlfZGV2X3Vjb2RlX3dyYXBfZXZlbnQocHJpdi1cXHUwMDNldHJhbnMtXFx1MDAzZWRldixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtNTA1LVxcdFxcdFxcdFxcdG51bV93cmFwcyAtIHByaXYtXFx1MDAzZWV2ZW50X2xvZy5udW1fd3JhcHMsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM9NzM3PXN0YXRpYyB2b2lkIGl3bF9zZW5kX2J0X2NvbmZpZyhzdHJ1Y3QgaXdsX3ByaXYgKnByaXYpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtNzQ1LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYzo3NDY6XFx0aWYgKCFpd2x3aWZpX21vZF9wYXJhbXMuYnRfY29leF9hY3RpdmUpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTc0Ny1cXHRcXHRidF9jbWQuZmxhZ3MgPSBCVF9DT0VYX0RJU0FCTEU7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM9MTIzMz1zdGF0aWMgc3RydWN0IGl3bF9vcF9tb2RlICppd2xfb3BfbW9kZV9kdm1fc3RhcnQoc3RydWN0IGl3bF90cmFucyAqdHJhbnMsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtMTMyNC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM6MTMyNTpcXHRzd2l0Y2ggKGl3bHdpZmlfbW9kX3BhcmFtcy5hbXNkdV9zaXplKSB7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTEzMjYtXFx0Y2FzZSBJV0xfQU1TRFVfREVGOlxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTEzMzYtXFx0XFx0cHJfZXJyKFxcXCJVbnN1cHBvcnRlZCBhbXNkdV9zaXplOiAlZFxcXFxuXFxcIixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM6MTMzNzpcXHRcXHQgICAgICAgaXdsd2lmaV9tb2RfcGFyYW1zLmFtc2R1X3NpemUpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYy0xMzM4LVxcdH1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYz0xNjk4PXN0YXRpYyBpbnQgaXdsX3ByaW50X2V2ZW50X2xvZyhzdHJ1Y3QgaXdsX3ByaXYgKnByaXYsIHUzMiBzdGFydF9pZHgsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtMTc0Ny1cXHRcXHRcXHR9IGVsc2Uge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYzoxNzQ4OlxcdFxcdFxcdFxcdHRyYWNlX2l3bHdpZmlfZGV2X3Vjb2RlX2V2ZW50KHRyYW5zLVxcdTAwM2VkZXYsIDAsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTE3NDktXFx0XFx0XFx0XFx0XFx0dGltZSwgZXYpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTE3NjEtXFx0XFx0XFx0XFx0XFx0dGltZSwgZGF0YSwgZXYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYzoxNzYyOlxcdFxcdFxcdFxcdHRyYWNlX2l3bHdpZmlfZGV2X3Vjb2RlX2V2ZW50KHRyYW5zLVxcdTAwM2VkZXYsIHRpbWUsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jLTE3NjMtXFx0XFx0XFx0XFx0XFx0ZGF0YSwgZXYpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vbWFpbi5jPTE5MTI9c3RhdGljIHZvaWQgaXdsYWduX2Z3X2Vycm9yKHN0cnVjdCBpd2xfcHJpdiAqcHJpdiwgYm9vbCBvbmRlbWFuZClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL21haW4uYy0xOTQ1LVxcdGlmICghdGVzdF9iaXQoU1RBVFVTX0VYSVRfUEVORElORywgXFx1MDAyNnByaXYtXFx1MDAzZXN0YXR1cykpIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmM6MTk0NjpcXHRcXHRpZiAoaXdsd2lmaV9tb2RfcGFyYW1zLmZ3X3Jlc3RhcnQpIHtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9tYWluLmMtMTk0Ny1cXHRcXHRcXHRJV0xfREVCVUdfRlcocHJpdixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3Bvd2VyLmM9MjcxPXN0YXRpYyB2b2lkIGl3bF9wb3dlcl9idWlsZF9jbWQoc3RydWN0IGl3bF9wcml2ICpwcml2LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vcG93ZXIuYy0zMDEtXFx0XFx0YnV0IHdlIHBhc3MgMC00IGJlY2F1c2UgaXQgYWN0cyBhcyBhbiBhcnJheSBpbmRleC4gKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9wb3dlci5jOjMwMjpcXHRcXHRpZiAoaXdsd2lmaV9tb2RfcGFyYW1zLnBvd2VyX2xldmVsIFxcdTAwM2UgSVdMX1BPV0VSX0lOREVYXzEgXFx1MDAyNlxcdTAwMjZcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9wb3dlci5jOjMwMzpcXHRcXHQgICAgaXdsd2lmaV9tb2RfcGFyYW1zLnBvd2VyX2xldmVsIFxcdTAwM2M9IElXTF9QT1dFUl9OVU0pXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9kdm0vcG93ZXIuYy0zMDQtXFx0XFx0XFx0aXdsX3N0YXRpY19zbGVlcF9jbWQocHJpdiwgY21kLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3Bvd2VyLmM6MzA1OlxcdFxcdFxcdFxcdGl3bHdpZmlfbW9kX3BhcmFtcy5wb3dlcl9sZXZlbCAtIDEsIGR0aW1wZXIpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3Bvd2VyLmMtMzA2LVxcdFxcdGVsc2VcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3J4LmM9NjA0PXN0YXRpYyB2b2lkIGl3bGFnbl9wYXNzX3BhY2tldF90b19tYWM4MDIxMShzdHJ1Y3QgaXdsX3ByaXYgKnByaXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9yeC5jLTYyMy1cXHQvKiBJbiBjYXNlIG9mIEhXIGFjY2VsZXJhdGVkIGNyeXB0byBhbmQgYmFkIGRlY3J5cHRpb24sIGRyb3AgKi9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9yeC5jOjYyNDpcXHRpZiAoIWl3bHdpZmlfbW9kX3BhcmFtcy5zd2NyeXB0byBcXHUwMDI2XFx1MDAyNlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3J4LmMtNjI1LVxcdCAgICBpd2xhZ25fc2V0X2RlY3J5cHRlZF9mbGFnKHByaXYsIGhkciwgYW1wZHVfc3RhdHVzLCBzdGF0cykpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2R2bS9yeG9uLmM9MTAyMz1pbnQgaXdsYWduX2NvbW1pdF9yeG9uKHN0cnVjdCBpd2xfcHJpdiAqcHJpdiwgc3RydWN0IGl3bF9yeG9uX2NvbnRleHQgKmN0eClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3J4b24uYy0xMTAyLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3J4b24uYzoxMTAzOlxcdGl3bF9zZXRfcnhvbl9od2NyeXB0byhwcml2LCBjdHgsICFpd2x3aWZpX21vZF9wYXJhbXMuc3djcnlwdG8pO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZHZtL3J4b24uYy0xMTA0LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9mdy9pbWcuaD0xMzY9c3RydWN0IGl3bF9md19wYWdpbmcge1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9mdy9pbWcuaC0xNDMtLyoqXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9mdy9pbWcuaDoxNDQ6ICogZW51bSBpd2xfZndfdHlwZSAtIGl3bHdpZmkgZmlybXdhcmUgdHlwZVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvZncvaW1nLmgtMTQ1LSAqIEBJV0xfRldfRFZNOiBEVk0gZmlybXdhcmVcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRiZy10bHYuYz00OTk9dm9pZCBpd2xfZGJnX3Rsdl9sb2FkX2JpbihzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBpd2xfdHJhbnMgKnRyYW5zKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGJnLXRsdi5jLTUwNC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kYmctdGx2LmM6NTA1OlxcdGlmICghaXdsd2lmaV9tb2RfcGFyYW1zLmVuYWJsZV9pbmkgfHxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kYmctdGx2LmMtNTA2LVxcdCAgICB0cmFucy1cXHUwMDNlbWFjX2NmZy1cXHUwMDNlZGV2aWNlX2ZhbWlseSBcXHUwMDNjPSBJV0xfREVWSUNFX0ZBTUlMWV84MDAwKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuYz0xMz12b2lkIF9faXdsXyAjI2ZuKHN0cnVjdCBkZXZpY2UgKmRldiwgY29uc3QgY2hhciAqZm10LCAuLi4pXFx0XFxcXFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuYy0yMi1cXHRkZXZfICMjZm4oZGV2LCBcXFwiJXBWXFxcIiwgXFx1MDAyNnZhZik7XFx0XFx0XFx0XFx0XFxcXFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmM6MjM6XFx0dHJhY2VfaXdsd2lmaV8gIyNmbihcXHUwMDI2dmFmKTtcXHRcXHRcXHRcXHRcXFxcXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuYy0yNC1cXHR2YV9lbmQoYXJncyk7XFx0XFx0XFx0XFx0XFx0XFx0XFxcXFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuYz0zND12b2lkIF9faXdsX2VycihzdHJ1Y3QgZGV2aWNlICpkZXYsIGVudW0gaXdsX2Vycl9tb2RlIG1vZGUsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuYy02MC1cXHR2YWYudmEgPSBcXHUwMDI2YXJncztcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5jOjYxOlxcdHRyYWNlX2l3bHdpZmlfZXJyKFxcdTAwMjZ2YWYpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmMtNjItXFx0dmFfZW5kKGFyZ3MpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuYz02Nz12b2lkIF9faXdsX2RiZyhzdHJ1Y3QgZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5jLTgyLSNlbmRpZlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmM6ODM6XFx0dHJhY2VfaXdsd2lmaV9kYmcobGV2ZWwsIGZ1bmN0aW9uLCBcXHUwMDI2dmFmKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5jLTg0LVxcdHZhX2VuZChhcmdzKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmg9MTY9c3RhdGljIGlubGluZSBib29sIGl3bF9oYXZlX2RlYnVnX2xldmVsKHUzMiBsZXZlbClcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmgtMTgtI2lmZGVmIENPTkZJR19JV0xXSUZJX0RFQlVHXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuaDoxOTpcXHRyZXR1cm4gaXdsd2lmaV9tb2RfcGFyYW1zLmRlYnVnX2xldmVsIFxcdTAwMjYgbGV2ZWw7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuaC0yMC0jZWxzZVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuaD0xMDI9ZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFx0XFx0XFx0XFxcXFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuaC0xMjYtICpcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5oOjEyNzogKlxcdC9zeXMvbW9kdWxlL2l3bHdpZmkvcGFyYW1ldGVycy9kZWJ1Z1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmgtMTI4LSAqIHdoZW4gQ09ORklHX0lXTFdJRklfREVCVUc9eS5cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZWJ1Zy5oLTEyOS0gKlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRlYnVnLmg6MTMwOiAqXFx0L3N5cy9rZXJuZWwvZGVidWcvcGh5MC9pd2x3aWZpL2RlYnVnL2RlYnVnX2xldmVsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGVidWcuaC0xMzEtICogd2hlbiBDT05GSUdfSVdMV0lGSV9ERUJVR0ZTPXkuXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1kYXRhLmgtMTQtI3VuZGVmIFRSQUNFX1NZU1RFTVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWRhdGEuaDoxNTojZGVmaW5lIFRSQUNFX1NZU1RFTSBpd2x3aWZpX2RhdGFcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1kYXRhLmgtMTYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtZGF0YS5oOjE3OlRSQUNFX0VWRU5UKGl3bHdpZmlfZGV2X3R4X3RiLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWRhdGEuaC0xOC1cXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBza19idWZmICpza2IsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1kYXRhLmgtMzYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtZGF0YS5oOjM3OlRSQUNFX0VWRU5UKGl3bHdpZmlfZGV2X3J4X2RhdGEsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtZGF0YS5oLTM4LVxcdFRQX1BST1RPKGNvbnN0IHN0cnVjdCBkZXZpY2UgKmRldixcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtMTQtI3VuZGVmIFRSQUNFX1NZU1RFTVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmg6MTU6I2RlZmluZSBUUkFDRV9TWVNURU0gaXdsd2lmaV9pb1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtMTYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDoxNzpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9pb3JlYWQzMixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTE4LVxcdFRQX1BST1RPKGNvbnN0IHN0cnVjdCBkZXZpY2UgKmRldiwgdTMyIG9mZnMsIHUzMiB2YWwpLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC0zMy1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oOjM0OlRSQUNFX0VWRU5UKGl3bHdpZmlfZGV2X2lvd3JpdGU4LFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtMzUtXFx0VFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LCB1MzIgb2ZmcywgdTggdmFsKSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtNTAtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDo1MTpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9pb3dyaXRlMzIsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC01Mi1cXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHUzMiBvZmZzLCB1MzIgdmFsKSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtNjctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDo2ODpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9pb3dyaXRlNjQsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC02OS1cXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHU2NCBvZmZzLCB1NjQgdmFsKSxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtODQtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDo4NTpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9pb3dyaXRlX3BycGgzMixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTg2LVxcdFRQX1BST1RPKGNvbnN0IHN0cnVjdCBkZXZpY2UgKmRldiwgdTMyIG9mZnMsIHUzMiB2YWwpLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC0xMDEtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDoxMDI6VFJBQ0VfRVZFTlQoaXdsd2lmaV9kZXZfaW93cml0ZV9wcnBoNjQsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC0xMDMtXFx0VFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LCB1NjQgb2ZmcywgdTY0IHZhbCksXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTExOC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oOjExOTpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9pb3JlYWRfcHJwaDMyLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtMTIwLVxcdFRQX1BST1RPKGNvbnN0IHN0cnVjdCBkZXZpY2UgKmRldiwgdTMyIG9mZnMsIHUzMiB2YWwpLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC0xMzUtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDoxMzY6VFJBQ0VfRVZFTlQoaXdsd2lmaV9kZXZfaXJxLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWlvLmgtMTM3LVxcdFRQX1BST1RPKGNvbnN0IHN0cnVjdCBkZXZpY2UgKmRldiksXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTE0OC1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oOjE0OTpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9pcnFfbXNpeCxcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pby5oLTE1MC1cXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBtc2l4X2VudHJ5ICptc2l4X2VudHJ5LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC0xNzEtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaDoxNzI6VFJBQ0VfRVZFTlQoaXdsd2lmaV9kZXZfaWN0X3JlYWQsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaW8uaC0xNzMtXFx0VFBfUFJPVE8oY29uc3Qgc3RydWN0IGRldmljZSAqZGV2LCB1MzIgaW5kZXgsIHUzMiB2YWx1ZSksXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pd2x3aWZpLmgtMTUtI3VuZGVmIFRSQUNFX1NZU1RFTVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWl3bHdpZmkuaDoxNjojZGVmaW5lIFRSQUNFX1NZU1RFTSBpd2x3aWZpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaXdsd2lmaS5oLTE3LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWl3bHdpZmkuaDoxODpUUkFDRV9FVkVOVChpd2x3aWZpX2Rldl9oY21kLFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWl3bHdpZmkuaC0xOS1cXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pd2x3aWZpLmgtNTEtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaXdsd2lmaS5oOjUyOlRSQUNFX0VWRU5UKGl3bHdpZmlfZGV2X3J4LFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWl3bHdpZmkuaC01My1cXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kZXZ0cmFjZS1pd2x3aWZpLmgtNzItXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtZGV2dHJhY2UtaXdsd2lmaS5oOjczOlRSQUNFX0VWRU5UKGl3bHdpZmlfZGV2X3R4LFxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRldnRyYWNlLWl3bHdpZmkuaC03NC1cXHRUUF9QUk9UTyhjb25zdCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBza19idWZmICpza2IsXFxuXFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDE4OjM5OjIyLjQyNjE0MjEyWiIsIlNlcSI6NSwiTmVzdGluZyI6MiwiVHlwZSI6ImxsbSIsIk5hbWUiOiJwYXRjaC1ldmFsdWF0b3IiLCJNb2RlbCI6ImdlbWluaS0zLjctZmxhc2giLCJEdXJhdGlvbiI6NzUyMDg3OTM1MCwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipBbmFseXppbmcgdGhlIGl3bHdpZmkgRHJpdmVyKipcblxuT2theSwgbGV0J3MgYnJlYWsgdGhpcyBkb3duLiAqaXdsd2lmaSrigKYgcmlnaHQsIGl0J3MgYSBQQ0kgZHJpdmVyLiBTcGVjaWZpY2FsbHksIGl0IHJlbGllcyBvbiBQQ0ksIEhBU19JT01FTSwgYW5kIENGRzgwMjExLCB3aGljaCBtYWtlcyBzZW5zZS4gSSBuZWVkIHRvIHVuZGVyc3RhbmQgdGhpcyBkcml2ZXIgYmV0dGVyLCBzbyBJJ20gdGhpbmtpbmcsIGRvZXMgKml3bHdpZmkqIGhhdmUgYW55IHNvcnQgb2Ygc29mdHdhcmUgZW11bGF0aW9uIG9yIG1vY2sgZnVuY3Rpb25hbGl0eSwgb3IgaXMgaXQgZXhjbHVzaXZlbHkgdGllZCB0byB0aGUgdmVuZG9yJ3Mgc3BlY2lmaWMgUENJZSBoYXJkd2FyZT8gVGhhdCdzIHRoZSBjb3JlIHF1ZXN0aW9uIGhlcmUuIEkgbmVlZCB0byBjb25maXJtIHdoZXRoZXIgSSBjYW4gd29yayB3aXRoIGl0IGluIGFuIGVtdWxhdGVkIGVudmlyb25tZW50LiBIb2xkIG9uLCBiZWZvcmUgSSBkaXZlIHRvbyBkZWVwIGludG8gdGhlIGJyb2FkZXIgc2NvcGUsIGxldCBtZSB0YWtlIGEgbG9vayBhdCBgaXdsX212bV91cGRhdGVfbWNjYC4gSG93IGlzIHRoYXQgZnVuY3Rpb24gY2FsbGVkPyBBbmQgd2hlcmUgaXMgaXQgYmVpbmcgdXNlZD8gVW5kZXJzdGFuZGluZyB0aGF0IGZ1bmN0aW9uJ3MgY29udGV4dCBtaWdodCBwcm92aWRlIHRoZSBjbHVlcyBJIG5lZWQgdG8gZGV0ZXJtaW5lIGhvdyB0aGUgZHJpdmVyIHdvcmtzIGF0IGEgZnVuZGFtZW50YWwgbGV2ZWwuIEkgbmVlZCB0byBzZWUgaG93IHRoZSBzb2Z0d2FyZSBpbnRlcmFjdHMgd2l0aCB0aGUgaGFyZHdhcmUsIHRvIHVuZGVyc3RhbmQgaXQncyBvcGVyYXRpb24uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjE5NDYxLCJPdXRwdXRUb2tlbnMiOjQxLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6OTUsIlRvb2xDYWxscyI6WyJncmVwcGVyIl19LHsiU3RhcnRlZCI6IjIwMjYtMDgtMzFUMTg6Mzk6MjkuOTQ3MDIzOTlaIiwiU2VxIjo2LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NTI0NTIxNTYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwiaXdsX212bV91cGRhdGVfbWNjXCIsXG4gIFwiUGF0aFByZWZpeFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmlcIlxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiT3V0cHV0XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWFjODAyMTEuYz0xMTc9c3RydWN0IGllZWU4MDIxMV9yZWdkb21haW4gKml3bF9tdm1fZ2V0X3JlZ2RvbWFpbihzdHJ1Y3Qgd2lwaHkgKndpcGh5LFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWFjODAyMTEuYy0xMzEtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbWFjODAyMTEuYzoxMzI6XFx0cmVzcCA9IGl3bF9tdm1fdXBkYXRlX21jYyhtdm0sIGFscGhhMiwgc3JjX2lkKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tYWM4MDIxMS5jLTEzMy1cXHRpZiAoSVNfRVJSX09SX05VTEwocmVzcCkpIHtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL212bS5oPTIzMjI9c3RydWN0IGl3bF9tY2NfdXBkYXRlX3Jlc3BfdjggKlxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL212bS5oOjIzMjM6aXdsX212bV91cGRhdGVfbWNjKHN0cnVjdCBpd2xfbXZtICptdm0sIGNvbnN0IGNoYXIgKmFscGhhMixcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tdm0uaC0yMzI0LVxcdFxcdCAgIGVudW0gaXdsX21jY19zb3VyY2Ugc3JjX2lkKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jPTQwMD1zdHJ1Y3QgaXdsX21jY191cGRhdGVfcmVzcF92OCAqXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbnZtLmM6NDAxOml3bF9tdm1fdXBkYXRlX21jYyhzdHJ1Y3QgaXdsX212bSAqbXZtLCBjb25zdCBjaGFyICphbHBoYTIsXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbnZtLmMtNDAyLVxcdFxcdCAgIGVudW0gaXdsX21jY19zb3VyY2Ugc3JjX2lkKVxcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0zMVQxODozOToyOS45OTk0ODIxNjZaIiwiU2VxIjo3LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjo1MTE5MjYzMzY0OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipDaGVja2luZyBmb3IgUm9idXN0bmVzcyBpbiB0aGUgaXdsd2lmaSBEcml2ZXIqKlxuXG5Pa2F5LCBsZXQncyB0YWtlIGEgbG9vayBhdCB0aGUgYGl3bHdpZmlgIGRyaXZlci4gTXkgaW5pdGlhbCB0aG91Z2h0IGlzIHRvIGFzc2VzcyBpdHMgdGVzdCBjb3ZlcmFnZS4gSSB3YW50IHRvIHNlZSBpZiB0aGV5J3ZlIGltcGxlbWVudGVkIGFueSBLVW5pdCB0ZXN0cywgd2hpY2ggd291bGQgYmUgaWRlYWwuIEtVbml0IGlzIGEgZ3JlYXQgZnJhbWV3b3JrIGZvciBrZXJuZWwtbGV2ZWwgdW5pdCB0ZXN0aW5nLCBzbyB0aGF0J3MgdGhlIGZpcnN0IHBsYWNlIEknbGwgbG9vay4gSSdsbCBuZWVkIHRvIGNoZWNrIHRoZSBidWlsZCBjb25maWd1cmF0aW9uIGFuZCB0aGUgc291cmNlIGNvZGUgZm9yIHNpZ25zIG9mIGEgc2ltdWxhdGVkIGRyaXZlciBhcyB3ZWxsLiBTcGVjaWZpY2FsbHksIEkgbmVlZCB0byBjaGVjayBmb3IgYSBmbGFnLCBsaWtlbHkgc29tZXRoaW5nIGxpa2UgYElXTFdJRklfS1VOSVRfVEVTVFNgIGluIHRoZSBidWlsZCBjb25maWd1cmF0aW9uLiBUaGF0IHdvdWxkIGJlIHRoZSBlYXNpZXN0IHdheSB0byBpZGVudGlmeSBpZiB0aGV5J3JlIGFjdHVhbGx5IGludGVncmF0ZWQuIEhvcGVmdWxseSwgdGhleSBoYXZlIGEgc29saWQgdGVzdCBzdWl0ZS5cblxuXG4iLCJJbnB1dFRva2VucyI6MjAyNzYsIk91dHB1dFRva2VucyI6MjQsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozNywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0zMVQxODo0MDoyMS4xOTIxMTgzNjVaIiwiU2VxIjo4LCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTc2MTQzMDgyOCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkV4cHJlc3Npb25cIjogXCJJV0xXSUZJX0tVTklUX1RFU1RTXCJcbn0iLCJSZXN1bHRzIjoie1xuICBcIk91dHB1dFwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZz00Nz1pZiBJV0xXSUZJXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTQ4LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZzo0OTpjb25maWcgSVdMV0lGSV9LVU5JVF9URVNUU1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvS2NvbmZpZy01MC1cXHR0cmlzdGF0ZVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnPTk1PWNvbmZpZyBJV0xXSUZJX09QTU9ERV9NT0RVTEFSXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL0tjb25maWctOTktXFx0ZGVmYXVsdCB5IGlmIElXTE1MRD1tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnOjEwMDpcXHRkZWZhdWx0IHkgaWYgSVdMV0lGSV9LVU5JVF9URVNUUz1tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9LY29uZmlnLTEwMS1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvTWFrZWZpbGU9NTI9b2JqLSQoQ09ORklHX0lXTE1MRClcXHQrPSBtbGQvXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9NYWtlZmlsZS01My1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlOjU0Om9iai0kKENPTkZJR19JV0xXSUZJX0tVTklUX1RFU1RTKSArPSB0ZXN0cy9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL01ha2VmaWxlLTU1LVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtY29uZmlnLmg9NTEzPXN0cnVjdCBpd2xfZGV2X2luZm8ge1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtY29uZmlnLmgtNTMxLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWNvbmZpZy5oOjUzMjojaWYgSVNfRU5BQkxFRChDT05GSUdfSVdMV0lGSV9LVU5JVF9URVNUUylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1jb25maWcuaC01MzMtZXh0ZXJuIGNvbnN0IHN0cnVjdCBpd2xfZGV2X2luZm8gaXdsX2Rldl9pbmZvX3RhYmxlW107XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kcnYuaD04NT1ib29sIGl3bF9kcnZfaXNfd2lmaTdfc3VwcG9ydGVkKHN0cnVjdCBpd2xfdHJhbnMgKnRyYW5zKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRydi5oLTk5LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvaXdsLWRydi5oOjEwMDojaWYgSVNfRU5BQkxFRChDT05GSUdfSVdMV0lGSV9LVU5JVF9URVNUUylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL2l3bC1kcnYuaC0xMDEtI2RlZmluZSBFWFBPUlRfU1lNQk9MX0lGX0lXTFdJRklfS1VOSVQoc3ltKVxcdEVYUE9SVF9TWU1CT0xfSUZfS1VOSVQoc3ltKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtbnZtLXBhcnNlLmg9NzU9ZW51bSBpd2xfbnZtX2NoYW5uZWxfZmxhZ3Mge1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtbnZtLXBhcnNlLmgtOTMtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtbnZtLXBhcnNlLmg6OTQ6I2lmIElTX0VOQUJMRUQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9pd2wtbnZtLXBhcnNlLmgtOTUtdTMyIGl3bF9udm1fZ2V0X3JlZ2RvbV9id19mbGFncyhjb25zdCB1MTYgKm52bV9jaGFuLFxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvTWFrZWZpbGU9Mj1vYmotJChDT05GSUdfSVdMTUxEKSAgICs9IGl3bG1sZC5vXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvTWFrZWZpbGU6MzpvYmotJChDT05GSUdfSVdMV0lGSV9LVU5JVF9URVNUUykgKz0gdGVzdHMvXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvTWFrZWZpbGUtNC1cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL2xpbmsuaD0xNDI9dW5zaWduZWQgaW50IGl3bF9tbGRfZ2V0X2xpbmtfZ3JhZGUoc3RydWN0IGl3bF9tbGQgKm1sZCxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL2xpbmsuaC0xNDQtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbGluay5oOjE0NTojaWYgSVNfRU5BQkxFRChDT05GSUdfSVdMV0lGSV9LVU5JVF9URVNUUylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9saW5rLmgtMTQ2LXM4IGl3bF9tbGRfZ2V0X2R1cF9iZWFjb25fcnNzaV9hZGp1c3Qoc3RydWN0IGl3bF9tbGQgKm1sZCxcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21sZC5jPTM0MT1FWFBPUlRfU1lNQk9MX0lGX0lXTFdJRklfS1VOSVQoaXdsX21sZF9ncm91cHMpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21sZC5jLTM0Mi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tbGQuYzozNDM6I2lmIElTX0VOQUJMRUQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWxkLmMtMzQ0LWNvbnN0IHVuc2lnbmVkIGludCBnbG9iYWxfaXdsX21sZF9nb3Vwc19zaXplID0gQVJSQVlfU0laRShpd2xfbWxkX2dyb3Vwcyk7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tbGQuaD01MDY9c3RydWN0IGl3bF9ub3RpZl9zdHJ1Y3Rfc2l6ZSB7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tbGQuaC01MDktXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWxkLmg6NTEwOiNpZiBJU19FTkFCTEVEKENPTkZJR19JV0xXSUZJX0tVTklUX1RFU1RTKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21sZC5oLTUxMS1leHRlcm4gY29uc3Qgc3RydWN0IGl3bF9oY21kX2FyciBpd2xfbWxkX2dyb3Vwc1tdO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWxvLmg9MTY1PXZvaWQgaXdsX21sZF9lbWxzcl9ibG9ja190bXBfbm9uX2JzcyhzdHJ1Y3QgaXdsX21sZCAqbWxkKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9tbG8uaC0xNjYtXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbWxvLmg6MTY3OiNpZiBJU19FTkFCTEVEKENPTkZJR19JV0xXSUZJX0tVTklUX1RFU1RTKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL21sby5oLTE2OC11MzIgaXdsX21sZF9lbWxzcl9wYWlyX3N0YXRlKHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL21sZC9ub3RpZi5jPTQ3Nj1FWFBPUlRfU1lNQk9MX0lGX0lXTFdJRklfS1VOSVQoaXdsX21sZF9yeF9oYW5kbGVycyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbm90aWYuYy00NzctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbm90aWYuYzo0Nzg6I2lmIElTX0VOQUJMRUQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tbGQvbm90aWYuYy00NzktY29uc3QgdW5zaWduZWQgaW50IGl3bF9tbGRfcnhfaGFuZGxlcnNfbnVtID0gQVJSQVlfU0laRShpd2xfbWxkX3J4X2hhbmRsZXJzKTtcXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL3Rlc3RzL01ha2VmaWxlPTU9Y2NmbGFncy15ICs9IC1JJChzcmMpLy4uL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbWxkL3Rlc3RzL01ha2VmaWxlOjY6b2JqLSQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpICs9IGl3bG1sZC10ZXN0cy5vXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9NYWtlZmlsZT0yPW9iai0kKENPTkZJR19JV0xNVk0pICAgKz0gaXdsbXZtLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9NYWtlZmlsZTozOm9iai0kKENPTkZJR19JV0xXSUZJX0tVTklUX1RFU1RTKSArPSB0ZXN0cy9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9NYWtlZmlsZS00LWl3bG12bS15ICs9IGZ3Lm8gbWFjODAyMTEubyBudm0ubyBvcHMubyBwaHktY3R4dC5vIG1hYy1jdHh0Lm9cXG4tLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL212bS5oPTE5NjY9aW50IGl3bF9tdm1fZGlzYWJsZV9saW5rKHN0cnVjdCBpd2xfbXZtICptdm0sIHN0cnVjdCBpZWVlODAyMTFfdmlmICp2aWYsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS9tdm0uaC0xOTY4LVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL212bS5oOjE5Njk6I2lmIElTX0VOQUJMRUQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vbXZtLmgtMTk3MC1leHRlcm4gY29uc3Qgc3RydWN0IGl3bF9oY21kX2FyciBpd2xfbXZtX2dyb3Vwc1tdO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vb3BzLmM9NzM2PUVYUE9SVF9TWU1CT0xfSUZfSVdMV0lGSV9LVU5JVChpd2xfbXZtX2dyb3Vwcyk7XFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vb3BzLmM6NzM3OiNpZiBJU19FTkFCTEVEKENPTkZJR19JV0xXSUZJX0tVTklUX1RFU1RTKVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL29wcy5jLTczOC1jb25zdCB1bnNpZ25lZCBpbnQgaXdsX212bV9ncm91cHNfc2l6ZSA9IEFSUkFZX1NJWkUoaXdsX212bV9ncm91cHMpO1xcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9tdm0vdGVzdHMvTWFrZWZpbGU9MT1pd2xtdm0tdGVzdHMteSArPSBtb2R1bGUubyBoY21kLm9cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL212bS90ZXN0cy9NYWtlZmlsZS0yLVxcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL3Rlc3RzL01ha2VmaWxlOjM6b2JqLSQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpICs9IGl3bG12bS10ZXN0cy5vXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmM9MTA5Mj1FWFBPUlRfU1lNQk9MX0lGX0lXTFdJRklfS1VOSVQoaXdsX2Rldl9pbmZvX3RhYmxlKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmMtMTA5My1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmM6MTA5NDojaWYgSVNfRU5BQkxFRChDT05GSUdfSVdMV0lGSV9LVU5JVF9URVNUUylcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmMtMTA5NS1jb25zdCB1bnNpZ25lZCBpbnQgaXdsX2Rldl9pbmZvX3RhYmxlX3NpemUgPSBBUlJBWV9TSVpFKGl3bF9kZXZfaW5mb190YWJsZSk7XFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3Rlc3RzL01ha2VmaWxlPTU9Y2NmbGFncy15ICs9IC1JJChzcmMpLy4uL1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvdGVzdHMvTWFrZWZpbGUtNi1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3Rlc3RzL01ha2VmaWxlOjc6b2JqLSQoQ09ORklHX0lXTFdJRklfS1VOSVRfVEVTVFMpICs9IGl3bHdpZmktdGVzdHMub1xcblwiXG59IiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH0seyJTdGFydGVkIjoiMjAyNi0wOC0zMVQxODo0MDoyMi45NTM1NTYzMDNaIiwiU2VxIjo5LCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjoxOTYwOTY1MDk0OSwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBc3Nlc3NtZW50IG9mIHRoZSBgaXdsd2lmaWAgRHJpdmVyJ3MgRnV6emluZyBQb3RlbnRpYWwqKlxuXG5Pa2F5LCBsZXQncyBicmVhayB0aGlzIGRvd24uIEZpcnN0LCBJIG5lZWQgdG8gdW5kZXJzdGFuZCB3aGF0IGBpd2x3aWZpYCBpcy4gUmlnaHQsIGl0J3MgdGhlIEludGVsIFdpRmkgZHJpdmVyLCBzcGVjaWZpYyB0byBwaHlzaWNhbCBQQ0llIHdpcmVsZXNzIGFkYXB0ZXJzIOKAkyB0aGUgNzI2MHMsIDgyNjVzLCB0aGUgQVggc2VyaWVzLi4uIHlvdSBrbm93LCB0aGUgdXN1YWwgc3VzcGVjdHMuIE5vdywgdGhlIGtleSBxdWVzdGlvbiBmb3IgZnV6emluZyBpczogY2FuIEkgZXZlbiAqdXNlKiBvciBpbnN0YW50aWF0ZSB0aGlzIGRyaXZlciB3aXRob3V0IHRoZSBwaHlzaWNhbCBJbnRlbCBXaUZpIFBDSWUgaGFyZHdhcmUsIHNwZWNpZmljYWxseSBpbiBhIHZpcnR1YWwgZW52aXJvbm1lbnQgbGlrZSBRRU1VIG9yIEdDRT9cblxuTGV0J3MgcmVmZXIgdG8gdGhvc2UgcnVsZXMgb2YgZnV6emluZyBhbmQgZmlndXJlIHRoaXMgb3V0LiBJIHJlbWVtYmVyIHRob3NlIHNwZWNpZmljIGNvbmRpdGlvbnMgdGhhdCBkaXNxdWFsaWZ5IGEgcGF0Y2ggZnJvbSBiZWluZyB3b3J0aCBmdXp6aW5nOiB1bnJlYWNoYWJsZSBjb2RlIHBhdGhzIGluIHZpcnR1YWwgZW52aXJvbm1lbnRzLCB2ZW5kb3Itc3BlY2lmaWMgc3R1ZmYgdGllZCB0byBwaHlzaWNhbCBoYXJkd2FyZSB0aGF0IGlzbid0IGVtdWxhdGVkIGluIHN0YW5kYXJkIFFFTVUsIG9yIHRlYXJkb3duIGNhbGxiYWNrcyB0aGF0IG9ubHkgdHJpZ2dlciBkdXJpbmcgUENJIGhvdC11bnBsdWcgb3IgZHJpdmVyIHVuYmluZGluZy5cblxuUmlnaHQsIHNvIGNhbiBRRU1VIGVtdWxhdGUgdGhlc2UgSW50ZWwgYGl3bHdpZmlgIFBDSSBkZXZpY2VzPyBBIHF1aWNrIGNoZWNrIHJldmVhbHMgdGhhdCBzdGFuZGFyZCBRRU1VIGRvZXNuJ3QgZGlyZWN0bHkgZW11bGF0ZSB0aG9zZS4gSXQgZm9jdXNlcyBvbiB0aGUgbW9yZSBjb21tb24gbmV0d29yayBhZGFwdGVycyBsaWtlIGUxMDAwLCBydGw4MTM5LCB2aXJ0aW8tbmV0LCBhbmQgc28gb24uXG5cbkhtbSwgbWFjODAyMTFfaHdzaW3igKYgVGhhdCdzIGEgc2VwYXJhdGUgdmlydHVhbCBtYWM4MDIxMSBkcml2ZXIuIEl0J3Mgc2VwYXJhdGUgZnJvbSBgaXdsd2lmaWAgYW5kIGBpd2xtdm1gLiBPa2F5LCBzbyBtYWM4MDIxMV9od3NpbSBpcyAqbm90KiBhbiBhdmVudWUgdG8gZXhwbG9yZSBmb3IgZnV6emluZyBgaXdsd2lmaWAuXG5cbkxldCBtZSB2ZXJpZnkgaWYgSSdtIG1pc3Npbmcgc29tZXRoaW5nLCB0aG91Z2guIFBlcmhhcHMgdGhlcmUgaXMgYSB2aXJ0dWFsIGJ1cyBvciBkdW1teSBkZXZpY2UgdGhhdCBpcyBwYXJ0IG9mIHRoZSBpd2x3aWZpIHBhY2thZ2UgSSdtIG1pc3NpbmcuIFRpbWUgdG8gZXhwbG9yZSBgZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9gLi4uXG5cblxuIiwiSW5wdXRUb2tlbnMiOjIzMTU1LCJPdXRwdXRUb2tlbnMiOjM5LCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6NDE5LCJUb29sQ2FsbHMiOlsiZ3JlcHBlciJdfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDE4OjQwOjQyLjU2MzIxMDczM1oiLCJTZXEiOjEwLCJOZXN0aW5nIjoyLCJUeXBlIjoidG9vbCIsIk5hbWUiOiJncmVwcGVyIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6NDk1OTAyNDYsIkVycm9yIjoiIiwiQXJncyI6IntcbiAgXCJFeHByZXNzaW9uXCI6IFwicGxhdGZvcm1fZHJpdmVyfHBjaV9kcml2ZXJcIixcbiAgXCJQYXRoUHJlZml4XCI6IFwiZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaVwiXG59IiwiUmVzdWx0cyI6IntcbiAgXCJPdXRwdXRcIjogXCJkcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmM9MTMzMD1zdGF0aWMgdm9pZCBpd2xfcGNpX2R1bXAoc3RydWN0IGRldmljZSAqZGV2aWNlKVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9wY2llL2Rydi5jLTEzMzctXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9wY2llL2Rydi5jOjEzMzg6c3RhdGljIHN0cnVjdCBwY2lfZHJpdmVyIGl3bF9wY2lfZHJpdmVyID0ge1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvcGNpZS9kcnYuYy0xMzM5LVxcdC5uYW1lID0gRFJWX05BTUUsXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmM9MTM0Nz1pbnQgX19tdXN0X2NoZWNrIGl3bF9wY2lfcmVnaXN0ZXJfZHJpdmVyKHZvaWQpXFxuLS1cXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmMtMTM0OS1cXHRpbnQgcmV0O1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvcGNpZS9kcnYuYzoxMzUwOlxcdHJldCA9IHBjaV9yZWdpc3Rlcl9kcml2ZXIoXFx1MDAyNml3bF9wY2lfZHJpdmVyKTtcXG5kcml2ZXJzL25ldC93aXJlbGVzcy9pbnRlbC9pd2x3aWZpL3BjaWUvZHJ2LmMtMTM1MS1cXHRpZiAocmV0KVxcbi0tXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9wY2llL2Rydi5jPTEzNTc9dm9pZCBpd2xfcGNpX3VucmVnaXN0ZXJfZHJpdmVyKHZvaWQpXFxuZHJpdmVycy9uZXQvd2lyZWxlc3MvaW50ZWwvaXdsd2lmaS9wY2llL2Rydi5jLTEzNTgte1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvcGNpZS9kcnYuYzoxMzU5OlxcdHBjaV91bnJlZ2lzdGVyX2RyaXZlcihcXHUwMDI2aXdsX3BjaV9kcml2ZXIpO1xcbmRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvcGNpZS9kcnYuYy0xMzYwLX1cXG5cIlxufSIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IiIsIklucHV0VG9rZW5zIjowLCJPdXRwdXRUb2tlbnMiOjAsIk91dHB1dFRob3VnaHRzVG9rZW5zIjowLCJUb29sQ2FsbHMiOm51bGx9LHsiU3RhcnRlZCI6IjIwMjYtMDgtMzFUMTg6NDA6NDIuNjEyODA1MTM5WiIsIlNlcSI6MTEsIk5lc3RpbmciOjIsIlR5cGUiOiJsbG0iLCJOYW1lIjoicGF0Y2gtZXZhbHVhdG9yIiwiTW9kZWwiOiJnZW1pbmktMy43LWZsYXNoIiwiRHVyYXRpb24iOjY4MDY1NzcwNDMsIkVycm9yIjoiIiwiQXJncyI6Im51bGwiLCJSZXN1bHRzIjoibnVsbCIsIkluc3RydWN0aW9uIjoiIiwiUHJvbXB0IjoiIiwiUmVwbHkiOiIiLCJUaG91Z2h0cyI6IioqTXkgQW5hbHlzaXMgb2YgdGhlIGl3bHdpZmkgRHJpdmVyJ3MgSW50ZXJhY3Rpb24qKlxuXG5Pa2F5LCBzbyB0aGUgYGl3bHdpZmlgIGRyaXZlciwgZnJvbSB3aGF0IEknbSBzZWVpbmcsIHByaW1hcmlseSBob29rcyBpbnRvIHRoZSBzeXN0ZW0gdGhyb3VnaCB0aGUgYGl3bF9wY2lfZHJpdmVyYCBtb2R1bGUuIFRoaXMgaXMgdGhlIGVudHJ5IHBvaW50LCB0aGUgdGhpbmcgdGhhdCBhdHRhY2hlcyBkaXJlY3RseSB0byB0aGUgcGh5c2ljYWwgUENJZSBJbnRlbCBXaUZpIGhhcmR3YXJlLiBNYWtlcyBzZW5zZSwgdGhhdCdzIHRoZSBmb3VuZGF0aW9uLlxuXG5Ob3csIGRpZ2dpbmcgZGVlcGVyLCBJIHNlZSB0aGF0IGEgZnVuY3Rpb24gY2FsbGVkIGBpd2xfbXZtX3VwZGF0ZV9tY2NgIGlzIGNlbnRyYWwgdG8gbWFuYWdpbmcsIG9yIHVwZGF0aW5nIHRoZSBkZXZpY2UncyBjYXBhYmlsaXRpZXMsIHNwZWNpZmljYWxseSBieSB1c2luZyB0aGUgYE1DQ19VUERBVEVfQ01EYC4gVGhpcyBjb21tYW5kIGlzIHRoZW4gc2VudCBkaXJlY3RseSB0byB0aGUgZmlybXdhcmUgdGhhdCdzICpydW5uaW5nKiBvbiB0aGUgSW50ZWwgV2lGaSBoYXJkd2FyZSBpdHNlbGYsIHVzaW5nIGBpd2xfbXZtX3NlbmRfY21kX3BkZXYobXZtLCBcdTAwMjZjbWQpYC4gVGhhdCdzIHdoZXJlIHRoZSByZWFsIGludGVsbGlnZW5jZSBzZWVtcyB0byByZXNpZGUsIGluIHRoZSBmaXJtd2FyZS4gQW5kLCBpdCdzIG5vdCBhIG9uZS13YXkgc3RyZWV0LCB0aGUgZHJpdmVyIGFjdHVhbGx5IGNhcmVzIGFib3V0IHRoZSBkZXZpY2UncyByZXNwb25zZSBhZnRlciBzZW5kaW5nIHRoaXMgY29tbWFuZCwgc28gaXQgbXVzdCBwYXJzZSB0aGUgcmVzdWx0IGZyb20gdGhlIGZpcm13YXJlLlxuXG5HaXZlbiB0aGlzLCBJJ20gZ29pbmcgdG8gc3RhcnQgcmVhZGluZyB0aGUgY29kZSBmb3IgYGl3bF9tdm1fdXBkYXRlX21jY2AgZnVuY3Rpb24uIEFjY29yZGluZyB0byB0aGUgdGV4dCwgdGhlIHNvdXJjZSBmaWxlIGlzIGxvY2F0ZWQgaW4gYGRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jYC4gVGhpcyB3aWxsIGdpdmUgbWUgdGhlIGxvd2Rvd24gb24gdGhlIHNwZWNpZmljIHVwZGF0ZSBmbG93LlxuXG5cbiIsIklucHV0VG9rZW5zIjoyNDQzOCwiT3V0cHV0VG9rZW5zIjo0NywiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjEzMywiVG9vbENhbGxzIjpbImdyZXBwZXIiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0zMVQxODo0MDo0OS40MTkzODU5MTNaIiwiU2VxIjoxMiwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoicmVhZC1maWxlIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTE4MzIwLCJFcnJvciI6IiIsIkFyZ3MiOiJ7XG4gIFwiRmlsZVwiOiBcImRyaXZlcnMvbmV0L3dpcmVsZXNzL2ludGVsL2l3bHdpZmkvbXZtL252bS5jXCIsXG4gIFwiRmlyc3RMaW5lXCI6IDQxMCxcbiAgXCJMaW5lQ291bnRcIjogODBcbn0iLCJSZXN1bHRzIjoie1xuICBcIkNvbnRlbnRzXCI6IFwiIDQxMDpcXHRcXHRzdHJ1Y3QgaXdsX2hvc3RfY21kIGNtZCA9IHtcXG4gNDExOlxcdFxcdFxcdC5pZCA9IE1DQ19VUERBVEVfQ01ELFxcbiA0MTI6XFx0XFx0XFx0LmZsYWdzID0gQ01EX1dBTlRfU0tCIHwgQ01EX1NFTkRfSU5fUkZLSUxMLFxcbiA0MTM6XFx0XFx0XFx0LmRhdGEgPSB7IFxcdTAwMjZtY2NfdXBkYXRlX2NtZCB9LFxcbiA0MTQ6XFx0XFx0fTtcXG4gNDE1OlxcdFxcbiA0MTY6XFx0XFx0aW50IHJldCwgcmVzcF92ZXI7XFxuIDQxNzpcXHRcXHR1MzIgc3RhdHVzO1xcbiA0MTg6XFx0XFx0aW50IHJlc3BfbGVuLCBuX2NoYW5uZWxzO1xcbiA0MTk6XFx0XFx0dW5zaWduZWQgaW50IHBrdF9sZW47XFxuIDQyMDpcXHRcXHR1MTYgbWNjO1xcbiA0MjE6XFx0XFxuIDQyMjpcXHRcXHRpZiAoV0FSTl9PTl9PTkNFKCFpd2xfbXZtX2lzX2xhcl9zdXBwb3J0ZWQobXZtKSkpXFxuIDQyMzpcXHRcXHRcXHRyZXR1cm4gRVJSX1BUUigtRU9QTk9UU1VQUCk7XFxuIDQyNDpcXHRcXG4gNDI1OlxcdFxcdGNtZC5sZW5bMF0gPSBzaXplb2Yoc3RydWN0IGl3bF9tY2NfdXBkYXRlX2NtZCk7XFxuIDQyNjpcXHRcXG4gNDI3OlxcdFxcdElXTF9ERUJVR19MQVIobXZtLCBcXFwic2VuZCBNQ0MgdXBkYXRlIHRvIEZXIHdpdGggJyVjJWMnIHNyYyA9ICVkXFxcXG5cXFwiLFxcbiA0Mjg6XFx0XFx0XFx0ICAgICAgYWxwaGEyWzBdLCBhbHBoYTJbMV0sIHNyY19pZCk7XFxuIDQyOTpcXHRcXG4gNDMwOlxcdFxcdHJldCA9IGl3bF9tdm1fc2VuZF9jbWQobXZtLCBcXHUwMDI2Y21kKTtcXG4gNDMxOlxcdFxcdGlmIChyZXQpXFxuIDQzMjpcXHRcXHRcXHRyZXR1cm4gRVJSX1BUUihyZXQpO1xcbiA0MzM6XFx0XFxuIDQzNDpcXHRcXHRwa3QgPSBjbWQucmVzcF9wa3Q7XFxuIDQzNTpcXHRcXHRwa3RfbGVuID0gaXdsX3J4X3BhY2tldF9wYXlsb2FkX2xlbihwa3QpO1xcbiA0MzY6XFx0XFxuIDQzNzpcXHRcXHRyZXNwX3ZlciA9IGl3bF9md19sb29rdXBfbm90aWZfdmVyKG12bS1cXHUwMDNlZncsIElXTF9BTFdBWVNfTE9OR19HUk9VUCxcXG4gNDM4OlxcdFxcdFxcdFxcdFxcdFxcdCAgIE1DQ19VUERBVEVfQ01ELCAwKTtcXG4gNDM5OlxcdFxcbiA0NDA6XFx0XFx0LyogRXh0cmFjdCBNQ0MgcmVzcG9uc2UgKi9cXG4gNDQxOlxcdFxcdGlmIChyZXNwX3ZlciBcXHUwMDNlPSA4KSB7XFxuIDQ0MjpcXHRcXHRcXHRzdHJ1Y3QgaXdsX21jY191cGRhdGVfcmVzcF92OCAqbWNjX3Jlc3BfdjggPSAodm9pZCAqKXBrdC1cXHUwMDNlZGF0YTtcXG4gNDQzOlxcdFxcbiA0NDQ6XFx0XFx0XFx0aWYgKElXTF9GV19DSEVDSyhtdm0sIHBrdF9sZW4gXFx1MDAzYyBzaXplb2YoKm1jY19yZXNwX3Y4KSxcXG4gNDQ1OlxcdFxcdFxcdFxcdFxcdCBcXFwiTUNDIHY4IHJlc3BvbnNlIHRvbyBzaG9ydDogJXVcXFxcblxcXCIsIHBrdF9sZW4pKSB7XFxuIDQ0NjpcXHRcXHRcXHRcXHRyZXNwX2NwID0gRVJSX1BUUigtRUlOVkFMKTtcXG4gNDQ3OlxcdFxcdFxcdFxcdGdvdG8gZXhpdDtcXG4gNDQ4OlxcdFxcdFxcdH1cXG4gNDQ5OlxcdFxcbiA0NTA6XFx0XFx0XFx0bl9jaGFubmVscyA9ICBfX2xlMzJfdG9fY3B1KG1jY19yZXNwX3Y4LVxcdTAwM2VuX2NoYW5uZWxzKTtcXG4gNDUxOlxcdFxcdFxcdGlmIChJV0xfRldfQ0hFQ0sobXZtLFxcbiA0NTI6XFx0XFx0XFx0XFx0XFx0IHBrdF9sZW4gIT1cXG4gNDUzOlxcdFxcdFxcdFxcdFxcdCBzdHJ1Y3Rfc2l6ZShtY2NfcmVzcF92OCwgY2hhbm5lbHMsIG5fY2hhbm5lbHMpLFxcbiA0NTQ6XFx0XFx0XFx0XFx0XFx0IFxcXCJpbnZhbGlkIE1DQyB2OCByZXNwb25zZSBzaXplOiAldSAobl9jaGFubmVscz0lZClcXFxcblxcXCIsXFxuIDQ1NTpcXHRcXHRcXHRcXHRcXHQgcGt0X2xlbiwgbl9jaGFubmVscykpIHtcXG4gNDU2OlxcdFxcdFxcdFxcdHJlc3BfY3AgPSBFUlJfUFRSKC1FSU5WQUwpO1xcbiA0NTc6XFx0XFx0XFx0XFx0Z290byBleGl0O1xcbiA0NTg6XFx0XFx0XFx0fVxcbiA0NTk6XFx0XFx0XFx0cmVzcF9sZW4gPSBzdHJ1Y3Rfc2l6ZShyZXNwX2NwLCBjaGFubmVscywgbl9jaGFubmVscyk7XFxuIDQ2MDpcXHRcXHRcXHRyZXNwX2NwID0ga3phbGxvYyhyZXNwX2xlbiwgR0ZQX0tFUk5FTCk7XFxuIDQ2MTpcXHRcXHRcXHRpZiAoIXJlc3BfY3ApIHtcXG4gNDYyOlxcdFxcdFxcdFxcdHJlc3BfY3AgPSBFUlJfUFRSKC1FTk9NRU0pO1xcbiA0NjM6XFx0XFx0XFx0XFx0Z290byBleGl0O1xcbiA0NjQ6XFx0XFx0XFx0fVxcbiA0NjU6XFx0XFx0XFx0cmVzcF9jcC1cXHUwMDNlc3RhdHVzID0gbWNjX3Jlc3BfdjgtXFx1MDAzZXN0YXR1cztcXG4gNDY2OlxcdFxcdFxcdHJlc3BfY3AtXFx1MDAzZW1jYyA9IG1jY19yZXNwX3Y4LVxcdTAwM2VtY2M7XFxuIDQ2NzpcXHRcXHRcXHRyZXNwX2NwLVxcdTAwM2VjYXAgPSBtY2NfcmVzcF92OC1cXHUwMDNlY2FwO1xcbiA0Njg6XFx0XFx0XFx0cmVzcF9jcC1cXHUwMDNlc291cmNlX2lkID0gbWNjX3Jlc3BfdjgtXFx1MDAzZXNvdXJjZV9pZDtcXG4gNDY5OlxcdFxcdFxcdHJlc3BfY3AtXFx1MDAzZXRpbWUgPSBtY2NfcmVzcF92OC1cXHUwMDNldGltZTtcXG4gNDcwOlxcdFxcdFxcdHJlc3BfY3AtXFx1MDAzZWdlb19pbmZvID0gbWNjX3Jlc3BfdjgtXFx1MDAzZWdlb19pbmZvO1xcbiA0NzE6XFx0XFx0XFx0cmVzcF9jcC1cXHUwMDNlbl9jaGFubmVscyA9IG1jY19yZXNwX3Y4LVxcdTAwM2VuX2NoYW5uZWxzO1xcbiA0NzI6XFx0XFx0XFx0bWVtY3B5KHJlc3BfY3AtXFx1MDAzZWNoYW5uZWxzLCBtY2NfcmVzcF92OC1cXHUwMDNlY2hhbm5lbHMsXFxuIDQ3MzpcXHRcXHRcXHQgICAgICAgbl9jaGFubmVscyAqIHNpemVvZihfX2xlMzIpKTtcXG4gNDc0OlxcdFxcdH0gZWxzZSBpZiAoZndfaGFzX2NhcGEoXFx1MDAyNm12bS1cXHUwMDNlZnctXFx1MDAzZXVjb2RlX2NhcGEsXFxuIDQ3NTpcXHRcXHRcXHRcXHQgICAgICAgSVdMX1VDT0RFX1RMVl9DQVBBX01DQ19VUERBVEVfMTFBWF9TVVBQT1JUKSkge1xcbiA0NzY6XFx0XFx0XFx0c3RydWN0IGl3bF9tY2NfdXBkYXRlX3Jlc3BfdjQgKm1jY19yZXNwX3Y0ID0gKHZvaWQgKilwa3QtXFx1MDAzZWRhdGE7XFxuIDQ3NzpcXHRcXG4gNDc4OlxcdFxcdFxcdGlmIChJV0xfRldfQ0hFQ0sobXZtLCBwa3RfbGVuIFxcdTAwM2Mgc2l6ZW9mKCptY2NfcmVzcF92NCksXFxuIDQ3OTpcXHRcXHRcXHRcXHRcXHQgXFxcIk1DQyB2NCByZXNwb25zZSB0b28gc2hvcnQ6ICV1XFxcXG5cXFwiLCBwa3RfbGVuKSkge1xcbiA0ODA6XFx0XFx0XFx0XFx0cmVzcF9jcCA9IEVSUl9QVFIoLUVJTlZBTCk7XFxuIDQ4MTpcXHRcXHRcXHRcXHRnb3RvIGV4aXQ7XFxuIDQ4MjpcXHRcXHRcXHR9XFxuIDQ4MzpcXHRcXG4gNDg0OlxcdFxcdFxcdG5fY2hhbm5lbHMgPSAgX19sZTMyX3RvX2NwdShtY2NfcmVzcF92NC1cXHUwMDNlbl9jaGFubmVscyk7XFxuIDQ4NTpcXHRcXHRcXHRpZiAoSVdMX0ZXX0NIRUNLKG12bSxcXG4gNDg2OlxcdFxcdFxcdFxcdFxcdCBwa3RfbGVuICE9XFxuIDQ4NzpcXHRcXHRcXHRcXHRcXHQgc3RydWN0X3NpemUobWNjX3Jlc3BfdjQsIGNoYW5uZWxzLCBuX2NoYW5uZWxzKSxcXG4gNDg4OlxcdFxcdFxcdFxcdFxcdCBcXFwiaW52YWxpZCBNQ0MgdjQgcmVzcG9uc2Ugc2l6ZTogJXUgKG5fY2hhbm5lbHM9JWQpXFxcXG5cXFwiLFxcbiA0ODk6XFx0XFx0XFx0XFx0XFx0IHBrdF9sZW4sIG5fY2hhbm5lbHMpKSB7XFxuXCJcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDE4OjQwOjQ5LjQxOTUwNjQzM1oiLCJTZXEiOjEzLCJOZXN0aW5nIjoyLCJUeXBlIjoibGxtIiwiTmFtZSI6InBhdGNoLWV2YWx1YXRvciIsIk1vZGVsIjoiZ2VtaW5pLTMuNy1mbGFzaCIsIkR1cmF0aW9uIjoxMTg3Mjg1NTcxNiwiRXJyb3IiOiIiLCJBcmdzIjoibnVsbCIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiKipNeSBBc3Nlc3NtZW50IG9mIHRoZSBGdXp6aW5nIFN1aXRhYmlsaXR5KipcblxuT2theSwgc28gdGhpcyBjb2RlIHJlc2lkZXMgd2l0aGluIGBpd2x3aWZpYCwgc3BlY2lmaWNhbGx5IHRoZSBJbnRlbCBNVk0gd2lyZWxlc3MgZHJpdmVyIChgSVdMTVZNYCkuIFRoaXMgaXMgYSB2ZW5kb3Itc3BlY2lmaWMgUENJIGRyaXZlciBkZXNpZ25lZCBmb3IgSW50ZWwgV2lGaSBoYXJkd2FyZSBjYXJkcy4gQ3J1Y2lhbGx5LCB0aGlzIGhhcmR3YXJlIGlzICpwaHlzaWNhbCogUENJZSBoYXJkd2FyZSwgbm90IHNvbWV0aGluZyBlbXVsYXRlZCBpbiBzdGFuZGFyZCBRRU1VIG9yIEdDRSB2aXJ0dWFsIG1hY2hpbmVzLiBUaGF0IHB1dHMgaXQgZGlyZWN0bHkgaW50byB0aGUgY2F0ZWdvcnkgb2YgXCJjb2RlIHBhdGhzIGltcG9zc2libGUgdG8gcmVhY2ggaW4gdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzLFwiIGV2ZW4gd2l0aCBzb2Z0d2FyZS1lbXVsYXRlZCBoYXJkd2FyZSBsaWtlIGB1c2IgZ2FkZ2V0YCBvciBgbWFjODAyMTFfaHdzaW1gLiBBbHNvLCB0aGlzIGlzIGEgUENJZSBkcml2ZXIsIHBsYWNpbmcgaXQgaW4gdGhlIGNhdGVnb3J5IG9mLCBcIkNvZGUgaW4gdmVuZG9yLXNwZWNpZmljIFBDSWUgc3dpdGNoLCBTbWFydE5JQywgb3IgR1BVIGRyaXZlcnMuXCJcblxuR2l2ZW4gdGhlc2UgZmFjdHMsIGBXb3J0aEZ1enppbmdgIGhhcyB0byBiZSBgZmFsc2VgLiBJdCdzIHNpbXBseSBub3QgZmVhc2libGUgdG8gdGVzdCB0aGlzIGNvZGUgZGlyZWN0bHkgaW4gYSBzdGFuZGFyZCBmdXp6aW5nIHNldHVwLlxuXG5CZWZvcmUgSSBjb21taXQgdG8gc2V0dGluZyB0aGUgcmVzdWx0cywgSSdtIGdvaW5nIHRvIHF1aWNrbHkgcmV2aWV3IGV2ZXJ5dGhpbmcuIExldCBtZSBzZWUuLi5cblxuKiAgIGBXb3J0aEZ1enppbmdgOiBEZWZpbml0ZWx5IGBmYWxzZWAuXG4qICAgYEZvY3VzU3ltYm9sc2A6IEVtcHR5OyB0aGF0J3MgcmlnaHQsIG5vdGhpbmcgdG8gZm9jdXMgb24uXG4qICAgYEVuYWJsZUNvbmZpZ3NgOiBFbXB0eTsgbWFrZXMgc2Vuc2UsIG5vIHNwZWNpYWwgY29uZmlndXJhdGlvbnMgYXJlIG5lZWRlZC5cbiogICBgUmVhc29uaW5nYDogQ29uY2lzZSBhbmQgYWNjdXJhdGUuIFRoZSByZWFzb25pbmcgZm9yIGBXb3J0aEZ1enppbmc6IGZhbHNlYCBpcywgXCJUaGUgbW9kaWZpZWQgY29kZSBpcyBpbiB0aGUgSW50ZWwgaXdsd2lmaSBkcml2ZXIgKHNwZWNpZmljYWxseSBpd2xtdm0pLCB3aGljaCByZXF1aXJlcyBwaHlzaWNhbCBJbnRlbCBQQ0llIHdpcmVsZXNzIGhhcmR3YXJlIHRoYXQgaXMgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVUgb3IgR0NFLlwiXG5cbkFscmlnaHQsIHBhcmFtZXRlcnMgdmVyaWZpZWQuIExldCdzIGNvbmZpcm0gYWdhaW46XG5cbiogICBgV29ydGhGdXp6aW5nYDogZmFsc2VcbiogICBgRm9jdXNTeW1ib2xzYDogW11cbiogICBgRW5hYmxlQ29uZmlnc2A6IFtdXG4qICAgYFJlYXNvbmluZ2A6IFwiVGhlIG1vZGlmaWVkIGNvZGUgaXMgaW4gdGhlIEludGVsIGl3bHdpZmkgZHJpdmVyIChzcGVjaWZpY2FsbHkgaXdsbXZtKSwgd2hpY2ggcmVxdWlyZXMgcGh5c2ljYWwgSW50ZWwgUENJZSB3aXJlbGVzcyBoYXJkd2FyZSB0aGF0IGlzIG5vdCBlbXVsYXRlZCBpbiBzdGFuZGFyZCB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMgbGlrZSBRRU1VIG9yIEdDRS5cIlxuXG5Pa2F5LCBJJ20gY29uZmlkZW50IGluIHRoZXNlIHBhcmFtZXRlcnMuIEknbGwgZXhlY3V0ZSBgc2V0LXJlc3VsdHNgIG5vdy5cblxuXG4iLCJJbnB1dFRva2VucyI6MjYzOTQsIk91dHB1dFRva2VucyI6OTMsIk91dHB1dFRob3VnaHRzVG9rZW5zIjozMjEsIlRvb2xDYWxscyI6WyJyZWFkLWZpbGUiXX0seyJTdGFydGVkIjoiMjAyNi0wOC0zMVQxODo0MTowMS4yOTIzNjQ2MzlaIiwiU2VxIjoxNCwiTmVzdGluZyI6MiwiVHlwZSI6InRvb2wiLCJOYW1lIjoic2V0LXJlc3VsdHMiLCJNb2RlbCI6IiIsIkR1cmF0aW9uIjoyNDYyMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIkVuYWJsZUNvbmZpZ3NcIjogW10sXG4gIFwiRm9jdXNTeW1ib2xzXCI6IFtdLFxuICBcIlJlYXNvbmluZ1wiOiBcIlRoZSBwYXRjaCBtb2RpZmllcyBNQ0MgcmVzcG9uc2UgcGFja2V0IHNpemUgdmFsaWRhdGlvbiBpbiB0aGUgSW50ZWwgaXdsd2lmaSB3aXJlbGVzcyBkcml2ZXIgKGl3bG12bSkuIFRoaXMgZHJpdmVyIHJlcXVpcmVzIHBoeXNpY2FsIEludGVsIFBDSWUgd2lyZWxlc3MgbmV0d29yayBhZGFwdGVycyBhbmQgcHJvcHJpZXRhcnkgZmlybXdhcmUsIHdoaWNoIGFyZSBub3QgZW11bGF0ZWQgaW4gc3RhbmRhcmQgdmlydHVhbGl6ZWQgZW52aXJvbm1lbnRzIGxpa2UgUUVNVS9HQ0UuIFRoZXJlZm9yZSwgdGhpcyBjb2RlIGlzIHVucmVhY2hhYmxlIGR1cmluZyBmdXp6aW5nLlwiLFxuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJ7XG4gIFwiRW5hYmxlQ29uZmlnc1wiOiBudWxsLFxuICBcIkZvY3VzU3ltYm9sc1wiOiBbXSxcbiAgXCJSZWFzb25pbmdcIjogXCJUaGUgcGF0Y2ggbW9kaWZpZXMgTUNDIHJlc3BvbnNlIHBhY2tldCBzaXplIHZhbGlkYXRpb24gaW4gdGhlIEludGVsIGl3bHdpZmkgd2lyZWxlc3MgZHJpdmVyIChpd2xtdm0pLiBUaGlzIGRyaXZlciByZXF1aXJlcyBwaHlzaWNhbCBJbnRlbCBQQ0llIHdpcmVsZXNzIG5ldHdvcmsgYWRhcHRlcnMgYW5kIHByb3ByaWV0YXJ5IGZpcm13YXJlLCB3aGljaCBhcmUgbm90IGVtdWxhdGVkIGluIHN0YW5kYXJkIHZpcnR1YWxpemVkIGVudmlyb25tZW50cyBsaWtlIFFFTVUvR0NFLiBUaGVyZWZvcmUsIHRoaXMgY29kZSBpcyB1bnJlYWNoYWJsZSBkdXJpbmcgZnV6emluZy5cIixcbiAgXCJXb3J0aEZ1enppbmdcIjogZmFsc2Vcbn0iLCJJbnN0cnVjdGlvbiI6IiIsIlByb21wdCI6IiIsIlJlcGx5IjoiIiwiVGhvdWdodHMiOiIiLCJJbnB1dFRva2VucyI6MCwiT3V0cHV0VG9rZW5zIjowLCJPdXRwdXRUaG91Z2h0c1Rva2VucyI6MCwiVG9vbENhbGxzIjpudWxsfSx7IlN0YXJ0ZWQiOiIyMDI2LTA4LTMxVDE4OjQxOjAxLjI5MjM5MjY1OVoiLCJTZXEiOjE1LCJOZXN0aW5nIjoxLCJUeXBlIjoiYWN0aW9uIiwiTmFtZSI6IklmIiwiTW9kZWwiOiIiLCJEdXJhdGlvbiI6MTcwMCwiRXJyb3IiOiIiLCJBcmdzIjoie1xuICBcIldvcnRoRnV6emluZ1wiOiBmYWxzZVxufSIsIlJlc3VsdHMiOiJudWxsIiwiSW5zdHJ1Y3Rpb24iOiIiLCJQcm9tcHQiOiIiLCJSZXBseSI6IiIsIlRob3VnaHRzIjoiIiwiSW5wdXRUb2tlbnMiOjAsIk91dHB1dFRva2VucyI6MCwiT3V0cHV0VGhvdWdodHNUb2tlbnMiOjAsIlRvb2xDYWxscyI6bnVsbH1dOwoJCQlpZiAoIXJhd0RhdGEgfHwgcmF3RGF0YS5sZW5ndGggPT09IDApIHJldHVybjsKCgkJCWRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpOwoJCQlkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKTsKCQkJZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKTsKCQl9CgoJCWZ1bmN0aW9uIGRyYXdTdW1tYXJ5VGFibGVzKHJhd0RhdGEpIHsKCQkJY29uc3Qgc3RhdHMgPSB7CgkJCQlsbG06IHsgY291bnQ6IDAsIHRva2VuczogMCwgZHVyYXRpb246IDAgfSwKCQkJCXRvb2w6IHsgY291bnQ6IDAsIGR1cmF0aW9uOiAwIH0KCQkJfTsKCgkJCXJhd0RhdGEuZm9yRWFjaChzID0+IHsKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOyAKCQkJCWlmIChzLlR5cGUgPT09ICJsbG0iKSB7CgkJCQkJc3RhdHMubGxtLmNvdW50Kys7CgkJCQkJc3RhdHMubGxtLnRva2VucyArPSAocy5JbnB1dFRva2VucyArIHMuT3V0cHV0VG9rZW5zICsgcy5PdXRwdXRUaG91Z2h0c1Rva2Vucyk7CgkJCQkJc3RhdHMubGxtLmR1cmF0aW9uICs9IGR1cjsKCQkJCX0gZWxzZSBpZiAocy5UeXBlID09PSAidG9vbCIpIHsKCQkJCQlzdGF0cy50b29sLmNvdW50Kys7CgkJCQkJc3RhdHMudG9vbC5kdXJhdGlvbiArPSBkdXI7CgkJCQl9CgkJCX0pOwoKCQkJY29uc3QgYXZnTGxtRHVyID0gc3RhdHMubGxtLmNvdW50ID4gMCA/IChzdGF0cy5sbG0uZHVyYXRpb24gLyBzdGF0cy5sbG0uY291bnQpLnRvRml4ZWQoMikgOiAwOwoJCQljb25zdCBhdmdMbG1Ub2tlbiA9IHN0YXRzLmxsbS5jb3VudCA+IDAgPyAoc3RhdHMubGxtLnRva2VucyAvIHN0YXRzLmxsbS5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgkJCWNvbnN0IGF2Z1Rvb2xEdXIgPSBzdGF0cy50b29sLmNvdW50ID4gMCA/IChzdGF0cy50b29sLmR1cmF0aW9uIC8gc3RhdHMudG9vbC5jb3VudCkudG9GaXhlZCgyKSA6IDA7CgoJCQljb25zdCBsbG1TdW1hcnlDZWxscyA9IFtzdGF0cy5sbG0uY291bnQsIHN0YXRzLmxsbS50b2tlbnMsIGF2Z0xsbVRva2VuLCBzdGF0cy5sbG0uZHVyYXRpb24sIGF2Z0xsbUR1cl07CgkJCWNvbnN0IHRvb2xTdW1tYXJ5Q2VsbHMgPSBbc3RhdHMudG9vbC5jb3VudCwgc3RhdHMudG9vbC5kdXJhdGlvbiwgYXZnVG9vbER1cl07CgoJCQljb25zdCBsbG1TdW1tYXJ5Qm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdsbG1fc3VtbWFyeV9zdGF0c19ib2R5Jyk7CgkJCWxsbVN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCBsbG1UciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RyJyk7CgkJCWxsbVN1bWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQlsbG1Uci5hcHBlbmRDaGlsZCh0ZCk7CgkJCX0pOwoJCQlsbG1TdW1tYXJ5Qm9keS5hcHBlbmRDaGlsZChsbG1Ucik7CgoJCQljb25zdCB0b29sU3VtbWFyeUJvZHkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndG9vbF9zdW1tYXJ5X3N0YXRzX2JvZHknKTsKCQkJdG9vbFN1bW1hcnlCb2R5LmlubmVySFRNTCA9ICIiOwoJCQljb25zdCB0b29sVHIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCd0cicpOwoJCQl0b29sU3VtbWFyeUNlbGxzLmZvckVhY2goY2VsbCA9PiB7CgkJCQljb25zdCB0ZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3RkJyk7CgkJCQl0ZC50ZXh0Q29udGVudCA9IGNlbGw7CgkJCQl0b29sVHIuYXBwZW5kQ2hpbGQodGQpOwoJCQl9KTsKCQkJdG9vbFN1bW1hcnlCb2R5LmFwcGVuZENoaWxkKHRvb2xUcik7CgkJfQoKCQlmdW5jdGlvbiBkcmF3RHVyYXRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGZpbHRlcmVkU3RlcHMgPSByYXdEYXRhLmZpbHRlcihkID0+IFsibGxtIiwgInRvb2wiXS5pbmNsdWRlcyhkLlR5cGUpKTsKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnRHVyYXRpb24nKTsKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsgCgoJCQlmaWx0ZXJlZFN0ZXBzLmZvckVhY2gocyA9PiB7CgkJCQkKCQkJCWNvbnN0IGR1ciA9IHMuRHVyYXRpb24gLyAxMDAwMDAwMDAwOwoJCQkJbGV0IHRvb2x0aXAgPSBzLk5hbWU7CgkJCQlpZiAocy5UeXBlID09PSAibGxtIiAmJiBzLlRvb2xDYWxscyAmJiBzLlRvb2xDYWxscy5sZW5ndGggPiAwKSB7CgkJCQkJdG9vbHRpcCArPSBgXG5Ub29sczogJHtzLlRvb2xDYWxscy5qb2luKCcsICcpfWA7CgkJCQl9CgkJCQlkYXRhLmFkZFJvdyhbYCR7cy5TZXF9YCwgZHVyLCB0b29sdGlwXSk7CgkJCX0pOwoKCQkJY29uc3Qgb3B0aW9ucyA9IHsKCQkJCXRpdGxlOiAnVGltZSBDb25zdW1wdGlvbiBvZiBMTE0vVG9vbCBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNL1Rvb2wgU3RlcHMnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnU2Vjb25kcycgfSwKCQkJCWxlZ2VuZDogeyBwb3NpdGlvbjogJ25vbmUnIH0sCgkJCQliYXI6IHsgZ3JvdXBXaWR0aDogJzc1JScgfSwKCQkJCWNoYXJ0QXJlYTogeyB3aWR0aDogJzg1JScsIGhlaWdodDogJzcwJScgfSwKCQkJCWhlaWdodDogNDAwCgkJCX07CgoJCQljb25zdCBjaGFydCA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5Db2x1bW5DaGFydChkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHVyYXRpb25fY2hhcnRfZGl2JykpOwoJCQljaGFydC5kcmF3KGRhdGEsIG9wdGlvbnMpOwoJCX0KCgkJZnVuY3Rpb24gZHJhd1Rva2VuQ29uc3VtcHRpb25DaGFydChyYXdEYXRhKSB7CgkJCWNvbnN0IGxsbVN0ZXBzID0gcmF3RGF0YS5maWx0ZXIoZCA9PiBkLlR5cGUgPT09ICJsbG0iKTsKCQkJaWYgKGxsbVN0ZXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuOwoKCQkJY29uc3QgZGF0YSA9IG5ldyBnb29nbGUudmlzdWFsaXphdGlvbi5EYXRhVGFibGUoKTsKCQkJZGF0YS5hZGRDb2x1bW4oJ3N0cmluZycsICdTdGVwJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKCdudW1iZXInLCAnVG9rZW5zJyk7CQkJCgkJCWRhdGEuYWRkQ29sdW1uKHt0eXBlOiAnc3RyaW5nJywgcm9sZTogJ3N0eWxlJ30pOwkKCQkJZGF0YS5hZGRDb2x1bW4oe3R5cGU6ICdzdHJpbmcnLCByb2xlOiAndG9vbHRpcCd9KTsJCgoJCQljb25zdCBhZ2VudENvbG9ycyA9IHt9OwoJCQljb25zdCBwYWxldHRlID0gWycjNDI4NUY0JywgJyNEQjQ0MzcnLCAnI0Y0QjQwMCcsICcjMEY5RDU4JywgJyNBQjQ3QkMnLCAnIzAwQUNDMSddOwoJCQlsZXQgY29sb3JJZHggPSAwOwoJCQljb25zdCBhZ2VudExMTUNvdW50cyA9IHt9OwoJCQlsbG1TdGVwcy5mb3JFYWNoKHMgPT4gewoJCQkJaWYgKCFhZ2VudENvbG9yc1tzLk5hbWVdKSB7CgkJCQkJYWdlbnRDb2xvcnNbcy5OYW1lXSA9IHBhbGV0dGVbY29sb3JJZHggJSBwYWxldHRlLmxlbmd0aF07CgkJCQkJY29sb3JJZHgrKzsKCQkJCX0KCgkJCQlhZ2VudExMTUNvdW50c1tzLk5hbWVdID0gKGFnZW50TExNQ291bnRzW3MuTmFtZV0gfHwgMCkgKyAxOwoJCQkJY29uc3QgbGFiZWwgPSBgJHtzLk5hbWV9LSR7YWdlbnRMTE1Db3VudHNbcy5OYW1lXX1gOwoJCQkJY29uc3QgdG90YWxUb2tlbnMgPSBzLklucHV0VG9rZW5zICsgcy5PdXRwdXRUb2tlbnMgKyBzLk91dHB1dFRob3VnaHRzVG9rZW5zOwoJCQkJY29uc3Qgc3R5bGUgPSBgY29sb3I6ICR7YWdlbnRDb2xvcnNbcy5OYW1lXX1gOwoJCQkJbGV0IHRvb2x0aXAgPSBgVG90YWwgVG9rZW5zOiAke3RvdGFsVG9rZW5zfVxuKEluOiAke3MuSW5wdXRUb2tlbnN9LCBPdXQ6ICR7cy5PdXRwdXRUb2tlbnN9LCBUaG91Z2h0czogJHtzLk91dHB1dFRob3VnaHRzVG9rZW5zfSlgOwoJCQkJaWYgKHMuVG9vbENhbGxzICYmIHMuVG9vbENhbGxzLmxlbmd0aCA+IDApIHsKCQkJCQl0b29sdGlwICs9IGBcblRvb2xzOiAke3MuVG9vbENhbGxzLmpvaW4oJywgJyl9YDsKCQkJCX0KCgkJCQlkYXRhLmFkZFJvdyhbbGFiZWwsIHRvdGFsVG9rZW5zLCBzdHlsZSwgdG9vbHRpcF0pOwoJCQl9KTsKCgkJCWNvbnN0IG9wdGlvbnMgPSB7CgkJCQl0aXRsZTogJ1Rva2VuIENvbnN1bXB0aW9uIGJ5IExMTSBDYWxscycsCgkJCQloQXhpczogewoJCQkJCXRpdGxlOiAnTExNIENhbGwgU2VxdWVuY2UnLAoJCQkJfSwKCQkJCXZBeGlzOiB7IHRpdGxlOiAnQ29uc3VtZWQgVG9rZW5zJyB9LAoJCQkJbGVnZW5kOiB7IHBvc2l0aW9uOiAnbm9uZScgfSwKCQkJCWJhcjogeyBncm91cFdpZHRoOiAnNzUlJyB9LAoJCQkJY2hhcnRBcmVhOiB7IHdpZHRoOiAnODUlJywgaGVpZ2h0OiAnNzAlJyB9LAoJCQkJaGVpZ2h0OiA0MDAKCQkJfTsKCgkJCWNvbnN0IGNoYXJ0ID0gbmV3IGdvb2dsZS52aXN1YWxpemF0aW9uLkNvbHVtbkNoYXJ0KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0b2tlbl9jaGFydF9kaXYnKSk7CgkJCWNoYXJ0LmRyYXcoZGF0YSwgb3B0aW9ucyk7CgkJfQoJCWxldCBhbGxFeHBhbmRlZCA9IGZhbHNlOwoJCWZ1bmN0aW9uIHRvZ2dsZUFsbERldGFpbHMoKSB7CgkJCWFsbEV4cGFuZGVkID0gIWFsbEV4cGFuZGVkOwoJCQlkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkZXRhaWxzJykuZm9yRWFjaChkID0+IHsKCQkJCWlmIChhbGxFeHBhbmRlZCkgZC5zZXRBdHRyaWJ1dGUoJ29wZW4nLCAnJyk7CgkJCQllbHNlIGQucmVtb3ZlQXR0cmlidXRlKCdvcGVuJyk7CgkJCX0pOwoJCX0KCTwvc2NyaXB0PgoKCjwvYm9keT4KPC9odG1sPgo=" },ValueFrom:&ValueFrom{Path:/output/result.json,JSONPath:,JQFilter:,Parameter:,Default:nil,Supplied:nil,Event:,Expression:,ConfigMapKeyRef:nil,},GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},Result:nil,ExitCode:*0,} --------- Name: series-workflowtlhmq[1] Phase: Running StartedAt: 2026-08-31 18:41:13 +0000 UTC FinishedAt: 0001-01-01 00:00:00 +0000 UTC Input: nil Output: nil --------- Name: series-workflowtlhmq[1].abort-on-skip-outcome Phase: Failed StartedAt: 2026-08-31 18:41:13 +0000 UTC FinishedAt: 2026-08-31 18:41:17 +0000 UTC Input: &Inputs{Parameters:[]Parameter{Parameter{Name:code,Default:nil,Value:*1,ValueFrom:nil,GlobalName:,Enum:[],Description:nil,},},Artifacts:[]Artifact{},} Output: &Outputs{Parameters:[]Parameter{},Artifacts:[]Artifact{},Result:nil,ExitCode:*1,}