ZGlmZiAtLWdpdCBhL2ZwZGZzZGsvZnBkZl90ZXh0X2VtYmVkZGVydGVzdC5jcHAgYi9mcGRmc2RrL2ZwZGZfdGV4dF9lbWJlZGRlcnRlc3QuY3BwCmluZGV4IDdlNzE2MGEuLjU2YjJiMjcgMTAwNjQ0Ci0tLSBhL2ZwZGZzZGsvZnBkZl90ZXh0X2VtYmVkZGVydGVzdC5jcHAKKysrIGIvZnBkZnNkay9mcGRmX3RleHRfZW1iZWRkZXJ0ZXN0LmNwcApAQCAtMTYwNCwzICsxNjA0LDYwIEBACiAKICAgVW5sb2FkUGFnZShwYWdlKTsKIH0KKworVEVTVF9GKEZQREZUZXh0RW1iZWRkZXJUZXN0LCBTbWFsbFR5cGUzR2x5cGgpIHsKKyAgQVNTRVJUX1RSVUUoT3BlbkRvY3VtZW50KCJidWdfMTU5MS5wZGYiKSk7CisgIEZQREZfUEFHRSBwYWdlID0gTG9hZFBhZ2UoMCk7CisgIEFTU0VSVF9UUlVFKHBhZ2UpOworCisgIHsKKyAgICBTY29wZWRGUERGVGV4dFBhZ2UgdGV4dF9wYWdlKEZQREZUZXh0X0xvYWRQYWdlKHBhZ2UpKTsKKyAgICBBU1NFUlRfVFJVRSh0ZXh0X3BhZ2UpOworICAgIEFTU0VSVF9FUSg1LCBGUERGVGV4dF9Db3VudENoYXJzKHRleHRfcGFnZS5nZXQoKSkpOworCisgICAgRVhQRUNUX0VRKDQ5dSwgRlBERlRleHRfR2V0VW5pY29kZSh0ZXh0X3BhZ2UuZ2V0KCksIDApKTsKKyAgICBFWFBFQ1RfRVEoMzJ1LCBGUERGVGV4dF9HZXRVbmljb2RlKHRleHRfcGFnZS5nZXQoKSwgMSkpOworICAgIEVYUEVDVF9FUSg1MHUsIEZQREZUZXh0X0dldFVuaWNvZGUodGV4dF9wYWdlLmdldCgpLCAyKSk7CisgICAgRVhQRUNUX0VRKDMydSwgRlBERlRleHRfR2V0VW5pY29kZSh0ZXh0X3BhZ2UuZ2V0KCksIDMpKTsKKyAgICBFWFBFQ1RfRVEoNDl1LCBGUERGVGV4dF9HZXRVbmljb2RlKHRleHRfcGFnZS5nZXQoKSwgNCkpOworCisgICAgLy8gQ2hlY2sgdGhlIGNoYXJhY3RlciBib3ggc2l6ZS4KKyAgICBkb3VibGUgbGVmdDsKKyAgICBkb3VibGUgcmlnaHQ7CisgICAgZG91YmxlIGJvdHRvbTsKKyAgICBkb3VibGUgdG9wOworICAgIEFTU0VSVF9UUlVFKAorICAgICAgICBGUERGVGV4dF9HZXRDaGFyQm94KHRleHRfcGFnZS5nZXQoKSwgMCwgJmxlZnQsICZyaWdodCwgJmJvdHRvbSwgJnRvcCkpOworICAgIEVYUEVDVF9ET1VCTEVfRVEoNjMuNDM5OTk4NjI2NzA4OTg0LCBsZWZ0KTsKKyAgICBFWFBFQ1RfRE9VQkxFX0VRKDY1LjM2MDAwMDYxMDM1MTU2MiwgcmlnaHQpOworICAgIEVYUEVDVF9ET1VCTEVfRVEoNTAuMCwgYm90dG9tKTsKKyAgICBFWFBFQ1RfRE9VQkxFX0VRKDYxLjUyMDAwMDQ1Nzc2MzY3MiwgdG9wKTsKKyAgICBBU1NFUlRfVFJVRSgKKyAgICAgICAgRlBERlRleHRfR2V0Q2hhckJveCh0ZXh0X3BhZ2UuZ2V0KCksIDEsICZsZWZ0LCAmcmlnaHQsICZib3R0b20sICZ0b3ApKTsKKyAgICBFWFBFQ1RfRE9VQkxFX0VRKDYyLjAwNzk5OTQyMDE2NjAxNiwgbGVmdCk7CisgICAgRVhQRUNUX0RPVUJMRV9FUSg2Mi4wMDc5OTk0MjAxNjYwMTYsIHJpZ2h0KTsKKyAgICBFWFBFQ1RfRE9VQkxFX0VRKDUwLjAsIGJvdHRvbSk7CisgICAgRVhQRUNUX0RPVUJMRV9FUSg1MC4wLCB0b3ApOworICAgIEFTU0VSVF9UUlVFKAorICAgICAgICBGUERGVGV4dF9HZXRDaGFyQm94KHRleHRfcGFnZS5nZXQoKSwgMiwgJmxlZnQsICZyaWdodCwgJmJvdHRvbSwgJnRvcCkpOworICAgIEVYUEVDVF9ET1VCTEVfRVEoODYuMCwgbGVmdCk7CisgICAgRVhQRUNUX0RPVUJMRV9FUSg4OC40MDAwMDE1MjU4Nzg5MDYsIHJpZ2h0KTsKKyAgICBFWFBFQ1RfRE9VQkxFX0VRKDUwLjAsIGJvdHRvbSk7CisgICAgLy8gVE9ETyhjcmJ1Zy5jb20vcGRmaXVtLzE1OTEpOiBUaGUgdG9wIHZhbHVlIGlzIHRvbyBiaWcuCisgICAgRVhQRUNUX0RPVUJMRV9FUSgyOTAuMCwgdG9wKTsKKyAgICBBU1NFUlRfVFJVRSgKKyAgICAgICAgRlBERlRleHRfR2V0Q2hhckJveCh0ZXh0X3BhZ2UuZ2V0KCksIDMsICZsZWZ0LCAmcmlnaHQsICZib3R0b20sICZ0b3ApKTsKKyAgICBFWFBFQ1RfRE9VQkxFX0VRKDg2LjAxMDAwMjEzNjIzMDQ2OSwgbGVmdCk7CisgICAgRVhQRUNUX0RPVUJMRV9FUSg4Ni4wMTAwMDIxMzYyMzA0NjksIHJpZ2h0KTsKKyAgICBFWFBFQ1RfRE9VQkxFX0VRKDUwLjAsIGJvdHRvbSk7CisgICAgRVhQRUNUX0RPVUJMRV9FUSg1MC4wLCB0b3ApOworICAgIEFTU0VSVF9UUlVFKAorICAgICAgICBGUERGVGV4dF9HZXRDaGFyQm94KHRleHRfcGFnZS5nZXQoKSwgNCwgJmxlZnQsICZyaWdodCwgJmJvdHRvbSwgJnRvcCkpOworICAgIEVYUEVDVF9ET1VCTEVfRVEoOTkuNDQwMDAyNDQxNDA2MjUsIGxlZnQpOworICAgIEVYUEVDVF9ET1VCTEVfRVEoMTAxLjM2MDAwMDYxMDM1MTU2LCByaWdodCk7CisgICAgRVhQRUNUX0RPVUJMRV9FUSg1MC4wLCBib3R0b20pOworICAgIEVYUEVDVF9ET1VCTEVfRVEoNjEuNTIwMDAwNDU3NzYzNjcyLCB0b3ApOworICB9CisKKyAgVW5sb2FkUGFnZShwYWdlKTsKK30KZGlmZiAtLWdpdCBhL3Rlc3RpbmcvcmVzb3VyY2VzL2J1Z18xNTkxLmluIGIvdGVzdGluZy9yZXNvdXJjZXMvYnVnXzE1OTEuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzYzMmUxMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RpbmcvcmVzb3VyY2VzL2J1Z18xNTkxLmluCkBAIC0wLDAgKzEsMTA2IEBACit7e2hlYWRlcn19Cit7e29iamVjdCAxIDB9fSA8PAorICAvVHlwZSAvQ2F0YWxvZworICAvUGFnZXMgMiAwIFIKKz4+CitlbmRvYmoKK3t7b2JqZWN0IDIgMH19IDw8CisgIC9UeXBlIC9QYWdlcworICAvQ291bnQgMQorICAvS2lkcyBbMyAwIFJdCis+PgorZW5kb2JqCit7e29iamVjdCAzIDB9fSA8PAorICAvVHlwZSAvUGFnZQorICAvUGFyZW50IDIgMCBSCisgIC9Db250ZW50cyA0IDAgUgorICAvTWVkaWFCb3ggWzAgMCAxNjAgNDAwXQorICAvUmVzb3VyY2VzIDw8CisgICAgL1Byb2NTZXQgWy9QREYgL1RleHRdCisgICAgL0ZvbnQgPDwKKyAgICAgIC9GMSA1IDAgUgorICAgID4+CisgID4+Cis+PgorZW5kb2JqCit7e29iamVjdCA0IDB9fSA8PAorICB7e3N0cmVhbWxlbn19Cis+Pgorc3RyZWFtCiswIDAgMCByZworQlQKKy9GMSAxIFRmCisyNDAgMCAwIDI0MCA1MCA1MCBUbQorMC4yIFR3CiswLjA1IDAgVGQKKygxKSBUagorMC4xIDAgVGQKKygyKSBUagorMC4wNSAwIFRkCisoMSkgVGoKK0VUCitlbmRzdHJlYW0KK2VuZG9iagore3tvYmplY3QgNSAwfX0gPDwKKyAgL1R5cGUgL0ZvbnQKKyAgL1N1YnR5cGUgL1R5cGUzCisgIC9DaGFyUHJvY3MgNiAwIFIKKyAgL0VuY29kaW5nIDcgMCBSCisgIC9GaXJzdENoYXIgNDkKKyAgL0ZvbnRCQm94IFstMSAtOCAyOCAyN10KKyAgL0ZvbnRNYXRyaXggWzAuMDAxIDAgMCAwLjAwMSAwIDBdCisgIC9MYXN0Q2hhciA1MAorICAvTmFtZSAvRjEKKyAgL1Jlc291cmNlcyA8PAorICAgIC9Qcm9jU2V0IFsvUERGIC9JbWFnZUJdCisgID4+CisgIC9XaWR0aHMgWzggMTBdCis+PgorZW5kb2JqCit7e29iamVjdCA2IDB9fSA8PAorICAvdW5pRTAyMiA4IDAgUgorICAvdW5pRTAyMyA5IDAgUgorPj4KK2VuZG9iagore3tvYmplY3QgNyAwfX0gPDwKKyAgL1R5cGUgL0VuY29kaW5nCisgIC9EaWZmZXJlbmNlcyBbNDkgL3VuaUUwMjIgL3VuaUUwMjNdCis+PgorZW5kb2JqCit7e29iamVjdCA4IDB9fSA8PAorICB7e3N0cmVhbWxlbn19Cis+Pgorc3RyZWFtCitxCis2IDAgMCA0OCA2IDAgY20KK0JJCisvVyA2CisvSCA0OAorL0JQQyAxCisvSU0gdHJ1ZQorSUQKK3h4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eAorRUkKK1EKK2VuZHN0cmVhbQorZW5kb2JqCit7e29iamVjdCA5IDB9fSA8PAorICB7e3N0cmVhbWxlbn19Cis+Pgorc3RyZWFtCitxCitCSQorL1cgNAorL0ggNAorL0JQQyAxCisvSU0gdHJ1ZQorSUQKK3h4CitFSQorUQorZW5kc3RyZWFtCitlbmRvYmoKK3t7eHJlZn19Cit7e3RyYWlsZXJ9fQore3tzdGFydHhyZWZ9fQorJSVFT0YKZGlmZiAtLWdpdCBhL3Rlc3RpbmcvcmVzb3VyY2VzL2J1Z18xNTkxLnBkZiBiL3Rlc3RpbmcvcmVzb3VyY2VzL2J1Z18xNTkxLnBkZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZWMwYTEzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdGluZy9yZXNvdXJjZXMvYnVnXzE1OTEucGRmCkBAIC0wLDAgKzEsMTIyIEBACislUERGLTEuNworJaDypPQKKzEgMCBvYmogPDwKKyAgL1R5cGUgL0NhdGFsb2cKKyAgL1BhZ2VzIDIgMCBSCis+PgorZW5kb2JqCisyIDAgb2JqIDw8CisgIC9UeXBlIC9QYWdlcworICAvQ291bnQgMQorICAvS2lkcyBbMyAwIFJdCis+PgorZW5kb2JqCiszIDAgb2JqIDw8CisgIC9UeXBlIC9QYWdlCisgIC9QYXJlbnQgMiAwIFIKKyAgL0NvbnRlbnRzIDQgMCBSCisgIC9NZWRpYUJveCBbMCAwIDE2MCA0MDBdCisgIC9SZXNvdXJjZXMgPDwKKyAgICAvUHJvY1NldCBbL1BERiAvVGV4dF0KKyAgICAvRm9udCA8PAorICAgICAgL0YxIDUgMCBSCisgICAgPj4KKyAgPj4KKz4+CitlbmRvYmoKKzQgMCBvYmogPDwKKyAgL0xlbmd0aCAxMDIKKz4+CitzdHJlYW0KKzAgMCAwIHJnCitCVAorL0YxIDEgVGYKKzI0MCAwIDAgMjQwIDUwIDUwIFRtCiswLjIgVHcKKzAuMDUgMCBUZAorKDEpIFRqCiswLjEgMCBUZAorKDIpIFRqCiswLjA1IDAgVGQKKygxKSBUagorRVQKK2VuZHN0cmVhbQorZW5kb2JqCis1IDAgb2JqIDw8CisgIC9UeXBlIC9Gb250CisgIC9TdWJ0eXBlIC9UeXBlMworICAvQ2hhclByb2NzIDYgMCBSCisgIC9FbmNvZGluZyA3IDAgUgorICAvRmlyc3RDaGFyIDQ5CisgIC9Gb250QkJveCBbLTEgLTggMjggMjddCisgIC9Gb250TWF0cml4IFswLjAwMSAwIDAgMC4wMDEgMCAwXQorICAvTGFzdENoYXIgNTAKKyAgL05hbWUgL0YxCisgIC9SZXNvdXJjZXMgPDwKKyAgICAvUHJvY1NldCBbL1BERiAvSW1hZ2VCXQorICA+PgorICAvV2lkdGhzIFs4IDEwXQorPj4KK2VuZG9iagorNiAwIG9iaiA8PAorICAvdW5pRTAyMiA4IDAgUgorICAvdW5pRTAyMyA5IDAgUgorPj4KK2VuZG9iagorNyAwIG9iaiA8PAorICAvVHlwZSAvRW5jb2RpbmcKKyAgL0RpZmZlcmVuY2VzIFs0OSAvdW5pRTAyMiAvdW5pRTAyM10KKz4+CitlbmRvYmoKKzggMCBvYmogPDwKKyAgL0xlbmd0aCAxMDUKKz4+CitzdHJlYW0KK3EKKzYgMCAwIDQ4IDYgMCBjbQorQkkKKy9XIDYKKy9IIDQ4CisvQlBDIDEKKy9JTSB0cnVlCitJRAoreHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4CitFSQorUQorZW5kc3RyZWFtCitlbmRvYmoKKzkgMCBvYmogPDwKKyAgL0xlbmd0aCA0MgorPj4KK3N0cmVhbQorcQorQkkKKy9XIDQKKy9IIDQKKy9CUEMgMQorL0lNIHRydWUKK0lECit4eAorRUkKK1EKK2VuZHN0cmVhbQorZW5kb2JqCit4cmVmCiswIDEwCiswMDAwMDAwMDAwIDY1NTM1IGYgCiswMDAwMDAwMDE1IDAwMDAwIG4gCiswMDAwMDAwMDY4IDAwMDAwIG4gCiswMDAwMDAwMTMxIDAwMDAwIG4gCiswMDAwMDAwMzA5IDAwMDAwIG4gCiswMDAwMDAwNDYzIDAwMDAwIG4gCiswMDAwMDAwNzI0IDAwMDAwIG4gCiswMDAwMDAwNzc5IDAwMDAwIG4gCiswMDAwMDAwODU2IDAwMDAwIG4gCiswMDAwMDAxMDEzIDAwMDAwIG4gCit0cmFpbGVyIDw8CisgIC9Sb290IDEgMCBSCisgIC9TaXplIDEwCis+Pgorc3RhcnR4cmVmCisxMTA2CislJUVPRgo=