ZGlmZiAtLWdpdCBhL2ZwZGZzZGsvZnBkZl9zdHJ1Y3R0cmVlLmNwcCBiL2ZwZGZzZGsvZnBkZl9zdHJ1Y3R0cmVlLmNwcAppbmRleCA3NmZkNjAxLi44OWY1ZjMwIDEwMDY0NAotLS0gYS9mcGRmc2RrL2ZwZGZfc3RydWN0dHJlZS5jcHAKKysrIGIvZnBkZnNkay9mcGRmX3N0cnVjdHRyZWUuY3BwCkBAIC0zMCw2ICszMCwxNSBAQAogICByZXR1cm4gbGVuOwogfQogCitpbnQgR2V0TWNpZEZyb21EaWN0KGNvbnN0IENQREZfRGljdGlvbmFyeSogZGljdCkgeworICBpZiAoZGljdCAmJiBkaWN0LT5HZXROYW1lRm9yKCJUeXBlIikgPT0gIk1DUiIpIHsKKyAgICBjb25zdCBDUERGX09iamVjdCogb2JqID0gZGljdC0+R2V0T2JqZWN0Rm9yKCJNQ0lEIik7CisgICAgaWYgKG9iaiAmJiBvYmotPklzTnVtYmVyKCkpCisgICAgICByZXR1cm4gb2JqLT5HZXRJbnRlZ2VyKCk7CisgIH0KKyAgcmV0dXJuIC0xOworfQorCiB9ICAvLyBuYW1lc3BhY2UKIAogRlBERl9FWFBPUlQgRlBERl9TVFJVQ1RUUkVFIEZQREZfQ0FMTENPTlYKQEAgLTM5NywzICs0MDYsNDggQEAKICAgKm91dF9idWZsZW4gPSBsZW47CiAgIHJldHVybiB0cnVlOwogfQorCitGUERGX0VYUE9SVCBpbnQgRlBERl9DQUxMQ09OVgorRlBERl9TdHJ1Y3RFbGVtZW50X0dldE1hcmtlZENvbnRlbnRJZENvdW50KEZQREZfU1RSVUNURUxFTUVOVCBzdHJ1Y3RfZWxlbWVudCkgeworICBDUERGX1N0cnVjdEVsZW1lbnQqIGVsZW0gPQorICAgICAgQ1BERlN0cnVjdEVsZW1lbnRGcm9tRlBERlN0cnVjdEVsZW1lbnQoc3RydWN0X2VsZW1lbnQpOworICBjb25zdCBDUERGX0RpY3Rpb25hcnkqIGRpY3QgPSBlbGVtID8gZWxlbS0+R2V0RGljdCgpIDogbnVsbHB0cjsKKyAgY29uc3QgQ1BERl9PYmplY3QqIHAgPSBkaWN0ID8gZGljdC0+R2V0T2JqZWN0Rm9yKCJLIikgOiBudWxscHRyOworICBpZiAoIXApCisgICAgcmV0dXJuIC0xOworCisgIGlmIChwLT5Jc051bWJlcigpIHx8IHAtPklzRGljdGlvbmFyeSgpKQorICAgIHJldHVybiAxOworCisgIHJldHVybiBwLT5Jc0FycmF5KCkgPyBmeGNydDo6Q29sbGVjdGlvblNpemU8aW50PigqcC0+QXNBcnJheSgpKSA6IC0xOworfQorCitGUERGX0VYUE9SVCBpbnQgRlBERl9DQUxMQ09OVgorRlBERl9TdHJ1Y3RFbGVtZW50X0dldE1hcmtlZENvbnRlbnRJZEF0SW5kZXgoRlBERl9TVFJVQ1RFTEVNRU5UIHN0cnVjdF9lbGVtZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGluZGV4KSB7CisgIENQREZfU3RydWN0RWxlbWVudCogZWxlbSA9CisgICAgICBDUERGU3RydWN0RWxlbWVudEZyb21GUERGU3RydWN0RWxlbWVudChzdHJ1Y3RfZWxlbWVudCk7CisgIGNvbnN0IENQREZfRGljdGlvbmFyeSogZGljdCA9IGVsZW0gPyBlbGVtLT5HZXREaWN0KCkgOiBudWxscHRyOworICBjb25zdCBDUERGX09iamVjdCogcCA9IGRpY3QgPyBkaWN0LT5HZXRPYmplY3RGb3IoIksiKSA6IG51bGxwdHI7CisgIGlmICghcCkKKyAgICByZXR1cm4gLTE7CisKKyAgaWYgKHAtPklzTnVtYmVyKCkpCisgICAgcmV0dXJuIGluZGV4ID09IDAgPyBwLT5HZXRJbnRlZ2VyKCkgOiAtMTsKKworICBpZiAocC0+SXNEaWN0aW9uYXJ5KCkpCisgICAgcmV0dXJuIEdldE1jaWRGcm9tRGljdChwLT5HZXREaWN0KCkpOworCisgIGlmIChwLT5Jc0FycmF5KCkpIHsKKyAgICBjb25zdCBDUERGX0FycmF5KiBhcnJheSA9IHAtPkFzQXJyYXkoKTsKKyAgICBpZiAoaW5kZXggPCAwIHx8IHN0YXRpY19jYXN0PHNpemVfdD4oaW5kZXgpID49IGFycmF5LT5zaXplKCkpCisgICAgICByZXR1cm4gLTE7CisgICAgY29uc3QgQ1BERl9PYmplY3QqIGFycmF5X2VsZW0gPSBhcnJheS0+R2V0T2JqZWN0QXQoaW5kZXgpOworICAgIGlmIChhcnJheV9lbGVtLT5Jc051bWJlcigpKQorICAgICAgcmV0dXJuIGFycmF5X2VsZW0tPkdldEludGVnZXIoKTsKKyAgICBpZiAoYXJyYXlfZWxlbS0+SXNEaWN0aW9uYXJ5KCkpIHsKKyAgICAgIHJldHVybiBHZXRNY2lkRnJvbURpY3QoYXJyYXlfZWxlbS0+R2V0RGljdCgpKTsKKyAgICB9CisgIH0KKyAgcmV0dXJuIC0xOworfQpkaWZmIC0tZ2l0IGEvZnBkZnNkay9mcGRmX3N0cnVjdHRyZWVfZW1iZWRkZXJ0ZXN0LmNwcCBiL2ZwZGZzZGsvZnBkZl9zdHJ1Y3R0cmVlX2VtYmVkZGVydGVzdC5jcHAKaW5kZXggZmQyZjI1YS4uMzQxNzY1NCAxMDA2NDQKLS0tIGEvZnBkZnNkay9mcGRmX3N0cnVjdHRyZWVfZW1iZWRkZXJ0ZXN0LmNwcAorKysgYi9mcGRmc2RrL2ZwZGZfc3RydWN0dHJlZV9lbWJlZGRlcnRlc3QuY3BwCkBAIC0zMzQsNiArMzM0LDYwIEBACiAgIFVubG9hZFBhZ2UocGFnZSk7CiB9CiAKK1RFU1RfRihGUERGU3RydWN0VHJlZUVtYmVkZGVyVGVzdCwgR2V0TWFya2VkQ29udGVudElkQXRJbmRleCkgeworICBBU1NFUlRfVFJVRShPcGVuRG9jdW1lbnQoInRhZ2dlZF9tYXJrZWRfY29udGVudC5wZGYiKSk7CisgIEZQREZfUEFHRSBwYWdlID0gTG9hZFBhZ2UoMCk7CisgIEFTU0VSVF9UUlVFKHBhZ2UpOworCisgIHsKKyAgICBTY29wZWRGUERGU3RydWN0VHJlZSBzdHJ1Y3RfdHJlZShGUERGX1N0cnVjdFRyZWVfR2V0Rm9yUGFnZShwYWdlKSk7CisgICAgQVNTRVJUX1RSVUUoc3RydWN0X3RyZWUpOworICAgIEFTU0VSVF9FUSg0LCBGUERGX1N0cnVjdFRyZWVfQ291bnRDaGlsZHJlbihzdHJ1Y3RfdHJlZS5nZXQoKSkpOworCisgICAgLy8gSyBpcyBhbiBpbnRlZ2VyIE1DSUQKKyAgICBGUERGX1NUUlVDVEVMRU1FTlQgY2hpbGQxID0KKyAgICAgICAgRlBERl9TdHJ1Y3RUcmVlX0dldENoaWxkQXRJbmRleChzdHJ1Y3RfdHJlZS5nZXQoKSwgMCk7CisgICAgQVNTRVJUX1RSVUUoY2hpbGQxKTsKKyAgICAvLyBMZWdhY3kgQVBJCisgICAgRVhQRUNUX0VRKDAsIEZQREZfU3RydWN0RWxlbWVudF9HZXRNYXJrZWRDb250ZW50SUQoY2hpbGQxKSk7CisKKyAgICAvLyBLIGlzIGEgZGljdCBjb250YWluaW5nIE1DUiBvYmplY3QgcmVmZXJlbmNlCisgICAgRlBERl9TVFJVQ1RFTEVNRU5UIGNoaWxkMiA9CisgICAgICAgIEZQREZfU3RydWN0VHJlZV9HZXRDaGlsZEF0SW5kZXgoc3RydWN0X3RyZWUuZ2V0KCksIDEpOworICAgIEFTU0VSVF9UUlVFKGNoaWxkMik7CisKKyAgICAvLyBLIGlzIGFuIGFycmF5IGNvbnRhaW5pbmcgZGljdCBNQ1Igb2JqZWN0IHJlZmVyZW5jZSBhbmQgaW50ZWdlciBNQ0lECisgICAgRlBERl9TVFJVQ1RFTEVNRU5UIGNoaWxkMyA9CisgICAgICAgIEZQREZfU3RydWN0VHJlZV9HZXRDaGlsZEF0SW5kZXgoc3RydWN0X3RyZWUuZ2V0KCksIDIpOworICAgIEFTU0VSVF9UUlVFKGNoaWxkMyk7CisKKyAgICAvLyBLIGRvZXMgbm90IGV4aXN0CisgICAgRlBERl9TVFJVQ1RFTEVNRU5UIGNoaWxkNCA9CisgICAgICAgIEZQREZfU3RydWN0VHJlZV9HZXRDaGlsZEF0SW5kZXgoc3RydWN0X3RyZWUuZ2V0KCksIDMpOworICAgIEFTU0VSVF9UUlVFKGNoaWxkNCk7CisKKyAgICAvLyBOZXcgQVBJcworICAgIEVYUEVDVF9FUSgtMSwgRlBERl9TdHJ1Y3RFbGVtZW50X0dldE1hcmtlZENvbnRlbnRJZENvdW50KG51bGxwdHIpKTsKKyAgICBFWFBFQ1RfRVEoLTEsIEZQREZfU3RydWN0RWxlbWVudF9HZXRNYXJrZWRDb250ZW50SWRBdEluZGV4KG51bGxwdHIsIDApKTsKKyAgICBFWFBFQ1RfRVEoLTEsIEZQREZfU3RydWN0RWxlbWVudF9HZXRNYXJrZWRDb250ZW50SWRBdEluZGV4KGNoaWxkMSwgLTEpKTsKKyAgICBFWFBFQ1RfRVEoLTEsIEZQREZfU3RydWN0RWxlbWVudF9HZXRNYXJrZWRDb250ZW50SWRBdEluZGV4KGNoaWxkMSwgMSkpOworICAgIEVYUEVDVF9FUSgxLCBGUERGX1N0cnVjdEVsZW1lbnRfR2V0TWFya2VkQ29udGVudElkQ291bnQoY2hpbGQxKSk7CisgICAgRVhQRUNUX0VRKDAsIEZQREZfU3RydWN0RWxlbWVudF9HZXRNYXJrZWRDb250ZW50SWRBdEluZGV4KGNoaWxkMSwgMCkpOworCisgICAgRVhQRUNUX0VRKDEsIEZQREZfU3RydWN0RWxlbWVudF9HZXRNYXJrZWRDb250ZW50SWRDb3VudChjaGlsZDIpKTsKKyAgICBFWFBFQ1RfRVEoMSwgRlBERl9TdHJ1Y3RFbGVtZW50X0dldE1hcmtlZENvbnRlbnRJZEF0SW5kZXgoY2hpbGQyLCAwKSk7CisKKyAgICBFWFBFQ1RfRVEoMiwgRlBERl9TdHJ1Y3RFbGVtZW50X0dldE1hcmtlZENvbnRlbnRJZENvdW50KGNoaWxkMykpOworICAgIEVYUEVDVF9FUSgyLCBGUERGX1N0cnVjdEVsZW1lbnRfR2V0TWFya2VkQ29udGVudElkQXRJbmRleChjaGlsZDMsIDApKTsKKyAgICBFWFBFQ1RfRVEoMywgRlBERl9TdHJ1Y3RFbGVtZW50X0dldE1hcmtlZENvbnRlbnRJZEF0SW5kZXgoY2hpbGQzLCAxKSk7CisKKyAgICBFWFBFQ1RfRVEoLTEsIEZQREZfU3RydWN0RWxlbWVudF9HZXRNYXJrZWRDb250ZW50SWRDb3VudChjaGlsZDQpKTsKKyAgICBFWFBFQ1RfRVEoLTEsIEZQREZfU3RydWN0RWxlbWVudF9HZXRNYXJrZWRDb250ZW50SWRBdEluZGV4KGNoaWxkNCwgMCkpOworICB9CisKKyAgVW5sb2FkUGFnZShwYWdlKTsKK30KKwogVEVTVF9GKEZQREZTdHJ1Y3RUcmVlRW1iZWRkZXJUZXN0LCBHZXRUeXBlKSB7CiAgIEFTU0VSVF9UUlVFKE9wZW5Eb2N1bWVudCgidGFnZ2VkX2FsdF90ZXh0LnBkZiIpKTsKICAgRlBERl9QQUdFIHBhZ2UgPSBMb2FkUGFnZSgwKTsKZGlmZiAtLWdpdCBhL2ZwZGZzZGsvZnBkZl92aWV3X2NfYXBpX3Rlc3QuYyBiL2ZwZGZzZGsvZnBkZl92aWV3X2NfYXBpX3Rlc3QuYwppbmRleCAzOGZjNTI1Li45ZjBlMmRhIDEwMDY0NAotLS0gYS9mcGRmc2RrL2ZwZGZfdmlld19jX2FwaV90ZXN0LmMKKysrIGIvZnBkZnNkay9mcGRmX3ZpZXdfY19hcGlfdGVzdC5jCkBAIC0zNjgsNiArMzY4LDggQEAKICAgICBDSEsoRlBERl9TdHJ1Y3RFbGVtZW50X0dldElEKTsKICAgICBDSEsoRlBERl9TdHJ1Y3RFbGVtZW50X0dldExhbmcpOwogICAgIENISyhGUERGX1N0cnVjdEVsZW1lbnRfR2V0TWFya2VkQ29udGVudElEKTsKKyAgICBDSEsoRlBERl9TdHJ1Y3RFbGVtZW50X0dldE1hcmtlZENvbnRlbnRJZEF0SW5kZXgpOworICAgIENISyhGUERGX1N0cnVjdEVsZW1lbnRfR2V0TWFya2VkQ29udGVudElkQ291bnQpOwogICAgIENISyhGUERGX1N0cnVjdEVsZW1lbnRfR2V0T2JqVHlwZSk7CiAgICAgQ0hLKEZQREZfU3RydWN0RWxlbWVudF9HZXRQYXJlbnQpOwogICAgIENISyhGUERGX1N0cnVjdEVsZW1lbnRfR2V0U3RyaW5nQXR0cmlidXRlKTsKZGlmZiAtLWdpdCBhL3B1YmxpYy9mcGRmX3N0cnVjdHRyZWUuaCBiL3B1YmxpYy9mcGRmX3N0cnVjdHRyZWUuaAppbmRleCAyZGU0MWFmLi4yYmMyZGM2IDEwMDY0NAotLS0gYS9wdWJsaWMvZnBkZl9zdHJ1Y3R0cmVlLmgKKysrIGIvcHVibGljL2ZwZGZfc3RydWN0dHJlZS5oCkBAIC00MjQsNiArNDI0LDI5IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBidWZsZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyogb3V0X2J1Zmxlbik7CiAKKy8vIEV4cGVyaW1lbnRhbCBBUEkuCisvLyBGdW5jdGlvbjogRlBERl9TdHJ1Y3RFbGVtZW50X0dldE1hcmtlZENvbnRlbnRJZENvdW50CisvLyAgICAgICAgICBHZXQgdGhlIGNvdW50IG9mIG1hcmtlZCBjb250ZW50IGlkcyBmb3IgYSBnaXZlbiBlbGVtZW50LgorLy8gUGFyYW1ldGVyczoKKy8vICAgICAgICAgIHN0cnVjdF9lbGVtZW50IC0gICBIYW5kbGUgdG8gdGhlIHN0cnVjdCBlbGVtZW50LgorLy8gUmV0dXJuIHZhbHVlOgorLy8gICAgICAgICAgVGhlIGNvdW50IG9mIG1hcmtlZCBjb250ZW50IGlkcyBvciAtMSBpZiBub25lIGV4aXN0cy4KK0ZQREZfRVhQT1JUIGludCBGUERGX0NBTExDT05WCitGUERGX1N0cnVjdEVsZW1lbnRfR2V0TWFya2VkQ29udGVudElkQ291bnQoRlBERl9TVFJVQ1RFTEVNRU5UIHN0cnVjdF9lbGVtZW50KTsKKworLy8gRXhwZXJpbWVudGFsIEFQSS4KKy8vIEZ1bmN0aW9uOiBGUERGX1N0cnVjdEVsZW1lbnRfR2V0TWFya2VkQ29udGVudElkQXRJbmRleAorLy8gICAgICAgICAgR2V0IHRoZSBtYXJrZWQgY29udGVudCBpZCBhdCBhIGdpdmVuIGluZGV4IGZvciBhIGdpdmVuIGVsZW1lbnQuCisvLyBQYXJhbWV0ZXJzOgorLy8gICAgICAgICAgc3RydWN0X2VsZW1lbnQgLSAgIEhhbmRsZSB0byB0aGUgc3RydWN0IGVsZW1lbnQuCisvLyAgICAgICAgICBpbmRleCAgICAgICAgICAtICAgVGhlIGluZGV4IG9mIHRoZSBtYXJrZWQgY29udGVudCBpZCwgMC1iYXNlZC4KKy8vIFJldHVybiB2YWx1ZToKKy8vICAgICAgICAgIFRoZSBtYXJrZWQgY29udGVudCBJRCBvZiB0aGUgZWxlbWVudC4gSWYgbm8gSUQgZXhpc3RzLCByZXR1cm5zCisvLyAgICAgICAgICAtMS4KK0ZQREZfRVhQT1JUIGludCBGUERGX0NBTExDT05WCitGUERGX1N0cnVjdEVsZW1lbnRfR2V0TWFya2VkQ29udGVudElkQXRJbmRleChGUERGX1NUUlVDVEVMRU1FTlQgc3RydWN0X2VsZW1lbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgaW5kZXgpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0gIC8vIGV4dGVybiAiQyIKICNlbmRpZgpkaWZmIC0tZ2l0IGEvdGVzdGluZy9yZXNvdXJjZXMvdGFnZ2VkX21hcmtlZF9jb250ZW50LmluIGIvdGVzdGluZy9yZXNvdXJjZXMvdGFnZ2VkX21hcmtlZF9jb250ZW50LmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE4ZWE2NGIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0aW5nL3Jlc291cmNlcy90YWdnZWRfbWFya2VkX2NvbnRlbnQuaW4KQEAgLTAsMCArMSwxNDAgQEAKK3t7aGVhZGVyfX0KK3t7b2JqZWN0IDEgMH19IDw8CisgIC9UeXBlIC9DYXRhbG9nCisgIC9QYWdlcyAyIDAgUgorICAvU3RydWN0VHJlZVJvb3QgNyAwIFIKKyAgL01hcmtJbmZvIDw8CisgICAgL1R5cGUgL01hcmtJbmZvCisgICAgL01hcmtlZCB0cnVlCisgID4+Cis+PgorZW5kb2JqCit7e29iamVjdCAyIDB9fSA8PAorICAvVHlwZSAvUGFnZXMKKyAgL0NvdW50IDEKKyAgL0tpZHMgWzMgMCBSXQorPj4KK2VuZG9iagore3tvYmplY3QgMyAwfX0gPDwKKyAgL1R5cGUgL1BhZ2UKKyAgL1BhcmVudCAyIDAgUgorICAvU3RydWN0UGFyZW50cyAwCisgIC9Bbm5vdHMgWzQgMCBSXQorICAvQ29udGVudHMgNSAwIFIKKyAgL01lZGlhQm94IFswIDAgNjEyIDc5Ml0KKyAgL1Jlc291cmNlcyA8PAorICAgIC9Qcm9jU2V0IFsvUERGIC9UZXh0XQorICAgIC9Gb250IDw8CisgICAgICAvRjQgNiAwIFIKKyAgICA+PgorICA+PgorPj4KK2VuZG9iagore3tvYmplY3QgNCAwfX0gPDwKKyAgL1R5cGUgL0Fubm90CisgIC9TdWJ0eXBlIC9MaW5rCisgIC9Cb3JkZXIgWzAgMCAwXQorICAvRGVzdCAvdG9wCisgIC9GIDQKKyAgL1JlY3QgWzIwIDQ2IDY4IDYxXQorPj4KK2VuZG9iagore3tvYmplY3QgNSAwfX0gPDwKKyAge3tzdHJlYW1sZW59fQorPj4KK3N0cmVhbQorcQorQlQKKy9QIDw8L01DSUQgMCA+PkJEQworL0Y0IDE2IFRmCisyMCA2NTAgVGQKKyhUb3AgTGVmdCkgVGoKK0VNQworRVQKK0JUCisvUCA8PC9NQ0lEIDEgPj5CREMKKy9GNCAxNiBUZgorMjAgNTAgVGQKKyhCb3R0b20gTGVmdCkgVGoKK0VNQworRVQKK0JUCisvUCA8PC9NQ0lEIDIgPj5CREMKKy9GNCAxNiBUZgorNDAwIDUwIFRkCisoQm90dG9tIFJpZ2h0KSBUagorRU1DCitFVAorQlQKKy9QIDw8L01DSUQgMyA+PkJEQworL0Y0IDE2IFRmCis0MDAgNjUwIFRkCisoVG9wIFJpZ2h0KSBUagorRU1DCitFVAorUQorZW5kc3RyZWFtCitlbmRvYmoKK3t7b2JqZWN0IDYgMH19IDw8CisgIC9UeXBlIC9Gb250CisgIC9TdWJ0eXBlIC9UeXBlMQorICAvQmFzZUZvbnQgL1RpbWVzLVJvbWFuCis+PgorZW5kb2JqCit7e29iamVjdCA3IDB9fSA8PAorICAvVHlwZSAvU3RydWN0VHJlZVJvb3QKKyAgL0sgWzkgMCBSIDEwIDAgUiAxMSAwIFIgMTIgMCBSXQorICAvUGFyZW50VHJlZSA4IDAgUgorICAvUGFyZW50VHJlZU5leHRLZXkgMQorPj4KK2VuZG9iagore3tvYmplY3QgOCAwfX0gPDwKKyAgL1R5cGUgL1BhcmVudFRyZWUKKyAgL051bXMgWzAgWzkgMCBSIDEwIDAgUiAxMSAwIFIgMTIgMCBSXV0KKz4+CitlbmRvYmoKK3t7b2JqZWN0IDkgMH19IDw8CisgIC9UeXBlIC9TdHJ1Y3RFbGVtCisgIC9TIC9Ob25TdHJ1Y3QKKyAgL1AgNyAwIFIKKyAgL0sgMAorICAvSUQgLzMKKz4+CitlbmRvYmoKK3t7b2JqZWN0IDEwIDB9fSA8PAorICAvVHlwZSAvU3RydWN0RWxlbQorICAvUyAvTm9uU3RydWN0CisgIC9QIDcgMCBSCisgIC9LIDw8CisgICAgICAvVHlwZSAvTUNSCisgICAgICAvTUNJRCAxCisgICAgICAvUGcgMyAwIFIKKyAgICAgPj4KKyAgL0lEIC80Cis+PgorZW5kb2JqCit7e29iamVjdCAxMSAwfX0gPDwKKyAgL1R5cGUgL1N0cnVjdEVsZW0KKyAgL1MgL05vblN0cnVjdAorICAvUCA3IDAgUgorICAvSyBbCisgICAgICA8PAorICAgICAgIC9UeXBlIC9NQ1IKKyAgICAgICAvTUNJRCAyCisgICAgICAgL1BnIDMgMCBSCisgICAgICA+PgorICAgICAgM10KKyAgL0lEIC81Cis+PgorZW5kb2JqCit7e29iamVjdCAxMiAwfX0gPDwKKyAgL1R5cGUgL1N0cnVjdEVsZW0KKyAgL1MgL05vblN0cnVjdAorICAvUCA3IDAgUgorICAvSUQgLzYKKz4+CitlbmRvYmoKK3t7eHJlZn19Cit7e3RyYWlsZXJ9fQore3tzdGFydHhyZWZ9fQorJSVFT0YKZGlmZiAtLWdpdCBhL3Rlc3RpbmcvcmVzb3VyY2VzL3RhZ2dlZF9tYXJrZWRfY29udGVudC5wZGYgYi90ZXN0aW5nL3Jlc291cmNlcy90YWdnZWRfbWFya2VkX2NvbnRlbnQucGRmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyZjczMWQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0aW5nL3Jlc291cmNlcy90YWdnZWRfbWFya2VkX2NvbnRlbnQucGRmCkBAIC0wLDAgKzEsMTU5IEBACislUERGLTEuNworJaDypPQKKzEgMCBvYmogPDwKKyAgL1R5cGUgL0NhdGFsb2cKKyAgL1BhZ2VzIDIgMCBSCisgIC9TdHJ1Y3RUcmVlUm9vdCA3IDAgUgorICAvTWFya0luZm8gPDwKKyAgICAvVHlwZSAvTWFya0luZm8KKyAgICAvTWFya2VkIHRydWUKKyAgPj4KKz4+CitlbmRvYmoKKzIgMCBvYmogPDwKKyAgL1R5cGUgL1BhZ2VzCisgIC9Db3VudCAxCisgIC9LaWRzIFszIDAgUl0KKz4+CitlbmRvYmoKKzMgMCBvYmogPDwKKyAgL1R5cGUgL1BhZ2UKKyAgL1BhcmVudCAyIDAgUgorICAvU3RydWN0UGFyZW50cyAwCisgIC9Bbm5vdHMgWzQgMCBSXQorICAvQ29udGVudHMgNSAwIFIKKyAgL01lZGlhQm94IFswIDAgNjEyIDc5Ml0KKyAgL1Jlc291cmNlcyA8PAorICAgIC9Qcm9jU2V0IFsvUERGIC9UZXh0XQorICAgIC9Gb250IDw8CisgICAgICAvRjQgNiAwIFIKKyAgICA+PgorICA+PgorPj4KK2VuZG9iagorNCAwIG9iaiA8PAorICAvVHlwZSAvQW5ub3QKKyAgL1N1YnR5cGUgL0xpbmsKKyAgL0JvcmRlciBbMCAwIDBdCisgIC9EZXN0IC90b3AKKyAgL0YgNAorICAvUmVjdCBbMjAgNDYgNjggNjFdCis+PgorZW5kb2JqCis1IDAgb2JqIDw8CisgIC9MZW5ndGggMjY0Cis+Pgorc3RyZWFtCitxCitCVAorL1AgPDwvTUNJRCAwID4+QkRDCisvRjQgMTYgVGYKKzIwIDY1MCBUZAorKFRvcCBMZWZ0KSBUagorRU1DCitFVAorQlQKKy9QIDw8L01DSUQgMSA+PkJEQworL0Y0IDE2IFRmCisyMCA1MCBUZAorKEJvdHRvbSBMZWZ0KSBUagorRU1DCitFVAorQlQKKy9QIDw8L01DSUQgMiA+PkJEQworL0Y0IDE2IFRmCis0MDAgNTAgVGQKKyhCb3R0b20gUmlnaHQpIFRqCitFTUMKK0VUCitCVAorL1AgPDwvTUNJRCAzID4+QkRDCisvRjQgMTYgVGYKKzQwMCA2NTAgVGQKKyhUb3AgUmlnaHQpIFRqCitFTUMKK0VUCitRCitlbmRzdHJlYW0KK2VuZG9iagorNiAwIG9iaiA8PAorICAvVHlwZSAvRm9udAorICAvU3VidHlwZSAvVHlwZTEKKyAgL0Jhc2VGb250IC9UaW1lcy1Sb21hbgorPj4KK2VuZG9iagorNyAwIG9iaiA8PAorICAvVHlwZSAvU3RydWN0VHJlZVJvb3QKKyAgL0sgWzkgMCBSIDEwIDAgUiAxMSAwIFIgMTIgMCBSXQorICAvUGFyZW50VHJlZSA4IDAgUgorICAvUGFyZW50VHJlZU5leHRLZXkgMQorPj4KK2VuZG9iagorOCAwIG9iaiA8PAorICAvVHlwZSAvUGFyZW50VHJlZQorICAvTnVtcyBbMCBbOSAwIFIgMTAgMCBSIDExIDAgUiAxMiAwIFJdXQorPj4KK2VuZG9iagorOSAwIG9iaiA8PAorICAvVHlwZSAvU3RydWN0RWxlbQorICAvUyAvTm9uU3RydWN0CisgIC9QIDcgMCBSCisgIC9LIDAKKyAgL0lEIC8zCis+PgorZW5kb2JqCisxMCAwIG9iaiA8PAorICAvVHlwZSAvU3RydWN0RWxlbQorICAvUyAvTm9uU3RydWN0CisgIC9QIDcgMCBSCisgIC9LIDw8CisgICAgICAvVHlwZSAvTUNSCisgICAgICAvTUNJRCAxCisgICAgICAvUGcgMyAwIFIKKyAgICAgPj4KKyAgL0lEIC80Cis+PgorZW5kb2JqCisxMSAwIG9iaiA8PAorICAvVHlwZSAvU3RydWN0RWxlbQorICAvUyAvTm9uU3RydWN0CisgIC9QIDcgMCBSCisgIC9LIFsKKyAgICAgIDw8CisgICAgICAgL1R5cGUgL01DUgorICAgICAgIC9NQ0lEIDIKKyAgICAgICAvUGcgMyAwIFIKKyAgICAgID4+CisgICAgICAzXQorICAvSUQgLzUKKz4+CitlbmRvYmoKKzEyIDAgb2JqIDw8CisgIC9UeXBlIC9TdHJ1Y3RFbGVtCisgIC9TIC9Ob25TdHJ1Y3QKKyAgL1AgNyAwIFIKKyAgL0lEIC82Cis+PgorZW5kb2JqCit4cmVmCiswIDEzCiswMDAwMDAwMDAwIDY1NTM1IGYgCiswMDAwMDAwMDE1IDAwMDAwIG4gCiswMDAwMDAwMTQ5IDAwMDAwIG4gCiswMDAwMDAwMjEyIDAwMDAwIG4gCiswMDAwMDAwNDI3IDAwMDAwIG4gCiswMDAwMDAwNTQwIDAwMDAwIG4gCiswMDAwMDAwODU2IDAwMDAwIG4gCiswMDAwMDAwOTM0IDAwMDAwIG4gCiswMDAwMDAxMDU2IDAwMDAwIG4gCiswMDAwMDAxMTM4IDAwMDAwIG4gCiswMDAwMDAxMjIyIDAwMDAwIG4gCiswMDAwMDAxMzYzIDAwMDAwIG4gCiswMDAwMDAxNTI1IDAwMDAwIG4gCit0cmFpbGVyIDw8CisgIC9Sb290IDEgMCBSCisgIC9TaXplIDEzCis+Pgorc3RhcnR4cmVmCisxNjAzCislJUVPRgo=