Date: Sun, 4 Jun 2006 18:49:42 -0300 From: Alejandro Pulver <alepulver@FreeBSD.org> To: FreeBSD-gnats-submit@FreeBSD.org, freebsd-ports-bugs@FreeBSD.org Subject: Re: ports/98295: [UPDATE] games/cleanq3: security patch, fix on non-i386 and 4.X Message-ID: <20060604184942.01de4b11@phobos.mars.bsd> In-Reply-To: <200606011710.k51HACcg057759@freefall.freebsd.org> References: <1149181585.2640@phobos.mars.bsd> <200606011710.k51HACcg057759@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
LS0tLS1CRUdJTiBQR1AgU0lHTkVEIE1FU1NBR0UtLS0tLQ0KSGFzaDogU0hBMQ0KDQpUaGlzIG5l dyBkaWZmIHJlcGxhY2VzIHBwYyBieSBwb3dlcnBjIGluIHRoZSBNYWtlZmlsZSBzaW5jZSBpdCdz IHRoZQ0KY29ycmVjdCBvbmUgaW4gRnJlZUJTRC4gSXQgYWxzbyB1c2VzIGEgbGlzdCBvZiBzdXBw b3J0ZWQgYXJjaGl0ZWN0dXJlcw0KaW5zdGVhZCBvZiBoYXJkY29kaW5nIHRoZW0uDQoNCj09PT09 PT09PT0gQkVHSU4gPT09PT09PT09PQ0KSW5kZXg6IE1ha2VmaWxlDQo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1Mg ZmlsZTogL2hvbWUvcGN2cy9wb3J0cy9nYW1lcy9jbGVhbnEzL01ha2VmaWxlLHYNCnJldHJpZXZp bmcgcmV2aXNpb24gMS4yDQpkaWZmIC11IC1yMS4yIE1ha2VmaWxlDQotIC0tLSBNYWtlZmlsZQky MiBBcHIgMjAwNiAyMjoxMTozMyAtMDAwMAkxLjINCisrKyBNYWtlZmlsZQk0IEp1biAyMDA2IDIx OjQ0OjAzIC0wMDAwDQpAQCAtNyw2ICs3LDcgQEANCiANCiBQT1JUTkFNRT0JY2xlYW5xMw0KIFBP UlRWRVJTSU9OPQkwLjUuMg0KK1BPUlRSRVZJU0lPTj0JMg0KIENBVEVHT1JJRVM9CWdhbWVzDQog TUFTVEVSX1NJVEVTPQlodHRwOi8vdHJlbW9yLnF1YWtlZGV2LmNvbS8NCiBESVNUTkFNRT0JQ2xl YW5RM192JHtQT1JUVkVSU0lPTn0tc3JjYmluDQpAQCAtMTQsNzIgKzE1LDEwNCBAQA0KIE1BSU5U QUlORVI9CWRhbmZlQEZyZWVCU0Qub3JnDQogQ09NTUVOVD0JQ2xlYW5lZCB1cCBjb3B5IG9mIHRo ZSBvcmlnaW5hbCBRdWFrZSBJSUkgQXJlbmEgc291cmNlIGNvZGUNCiANCi0gLUJVSUxEX0RFUEVO RFM9CW5hc206JHtQT1JUU0RJUn0vZGV2ZWwvbmFzbQ0KLSAtDQogVVNFX1pJUD0JeWVzDQotIC1V U0VfUEVSTDVfQlVJTEQ9eWVzDQogVVNFX0RPUzJVTklYPQl5ZXMNCitVU0VfR01BS0U9CXllcw0K IFVTRV9HQ0M9CTMuMisNCi0gLVVTRV9HTD0JCXllcw0KLSAtDQogV1JLU1JDPQkJJHtXUktESVJ9 L0NsZWFuUTMNCi0gLUlOU1RESVI9CSR7V1JLU1JDfS9jb2RlL2luc3RhbGwNCitCVUlMRF9XUktT UkM9CSR7V1JLU1JDfS9jb2RlL3VuaXgNCisNCitPUFRJT05TPQlDTElFTlQgIkJ1aWxkIGNsaWVu dCIgb24gXA0KKwkJREVESUNBVEVEICJCdWlsZCBkZWRpY2F0ZWQgc2VydmVyIiBvbiBcDQorCQlH QU1FTElCUyAiQnVpbGQgZ2FtZSBsaWJyYXJpZXMgKHdoZW4gbm90IG1hbmRhdG9yeSkiIG9mZiBc DQorCQlPUFRJTUlaRURfQ0ZMQUdTICJFbmFibGUgY29tcGlsYXRpb24gb3B0aW1pemF0aW9ucyIg b24gXA0KKwkJU01QICJCdWlsZCBTTVAgKHRocmVhZGVkKSBjbGllbnQiIG9uDQogDQotIC1QTElT VF9GSUxFUz0JYmluL2NsZWFucTMgYmluL2NsZWFucTNkZWQgXA0KLSAtCQlsaWIvY2xlYW5xMy9i YXNlcTMvY2dhbWUuc28gXA0KLSAtCQlsaWIvY2xlYW5xMy9iYXNlcTMvcWFnYW1lLnNvIFwNCi0g LQkJbGliL2NsZWFucTMvYmFzZXEzL3VpLnNvIFwNCi0gLQkJbGliL2NsZWFucTMvbWlzc2lvbnBh Y2svY2dhbWUuc28gXA0KLSAtCQlsaWIvY2xlYW5xMy9taXNzaW9ucGFjay9xYWdhbWUuc28gXA0K LSAtCQlsaWIvY2xlYW5xMy9taXNzaW9ucGFjay91aS5zbw0KLSAtUExJU1RfRElSUz0JbGliL2Ns ZWFucTMvYmFzZXEzIGxpYi9jbGVhbnEzL21pc3Npb25wYWNrIGxpYi9jbGVhbnEzDQorTUFLRV9F TlY9CUxJQkRJUj0iJHtMSUJESVJ9Ig0KK1BMSVNUX1NVQj0JTElCRElSPSIke0xJQkRJUjpTLyR7 UFJFRklYfVwvLy99Ig0KIA0KLSAtT1BUSU9OUz0JT1BUSU1JWkVEX0NGTEFHUyAiQnVpbGQgd2l0 aCBleHRyYSBvcHRpbWl6YXRpb24gb3B0aW9ucyIgb24NCitMSUJESVI9CQkke1BSRUZJWH0vbGli LyR7UE9SVE5BTUV9DQorVk1fQVJDSFM9CWkzODYgcG93ZXJwYw0KIA0KIC5pbmNsdWRlIDxic2Qu cG9ydC5wcmUubWs+DQogDQotIC0uaWYgJHtBUkNIfSAhPSAiaTM4NiINCi0gLUJST0tFTj0JCURv ZXMgbm90IGNvbXBpbGUgb24gJHtBUkNIfQ0KKy5pZiBkZWZpbmVkKFdJVEhPVVRfQ0xJRU5UKSAm JiBkZWZpbmVkKFdJVEhPVVRfREVESUNBVEVEKSAmJiBcDQorICAgIGRlZmluZWQoV0lUSE9VVF9T TVApDQorSUdOT1JFPQkJbmVlZHMgYXQgbGVhc3Qgb25lIG9mIENMSUVOVCwgREVESUNBVEVEIGFu ZCBTTVAgb3B0aW9ucw0KIC5lbmRpZg0KIA0KLSAtLmlmICR7T1NWRVJTSU9OfSA8IDUwMDAwMA0K LSAtQlJPS0VOPQkJRG9lcyBub3QgY29tcGlsZSBvbiA0LngNCisuaWYgJHtBUkNIfSA9PSAiaTM4 NiINCitCVUlMRF9ERVBFTkRTKz0JbmFzbToke1BPUlRTRElSfS9kZXZlbC9uYXNtDQogLmVuZGlm DQogDQotIC0uaWYgZGVmaW5lZChXSVRIX09QVElNSVpFRF9DRkxBR1MpDQotIC1DRkxBR1M9CQkt TzYgLWZvbWl0LWZyYW1lLXBvaW50ZXIgLWZmYXN0LW1hdGggLWZhbGlnbi1sb29wcz0yIC1mYWxp Z24tanVtcHM9MiBcDQotIC0JCS1mYWxpZ24tZnVuY3Rpb25zPTIgLWZuby1zdHJpY3QtYWxpYXNp bmcgLWZzdHJlbmd0aC1yZWR1Y2UNCi0gLS5lbmRpZg0KLSAtDQotIC1wb3N0LXBhdGNoOiAuU0lM RU5UDQotIC0JJHtSRUlOUExBQ0VfQ01EfSAtZSAnc3wlJUxPQ0FMQkFTRSUlfCR7TE9DQUxCQVNF fXxnIDsgXA0KLSAtCQlzfCUlWDExQkFTRSUlfCR7WDExQkFTRX18ZyA7IHN8JSVDRkxBR1MlJXwk e0NGTEFHU318JyBcDQotIC0JCSR7V1JLU1JDfS9jb2RlL0NvbnN0cnVjdCAke1dSS1NSQ30vY29k ZS91bml4L0NvbnNjcmlwdC1jbGllbnQNCi0gLQkke1JFSU5QTEFDRV9DTUR9IC1lICdzfC1sZGwg fHwgOyBzfGkzODZcLnNvfFwuc298JyBcDQotIC0JCSR7V1JLU1JDfS9jb2RlL2NnYW1lL0NvbnNj cmlwdCBcDQotIC0JCSR7V1JLU1JDfS9jb2RlL2dhbWUvQ29uc2NyaXB0ICR7V1JLU1JDfS9jb2Rl L3EzX3VpL0NvbnNjcmlwdCBcDQotIC0JCSR7V1JLU1JDfS9jb2RlL3VuaXgvQ29uc2NyaXB0LWRl ZGljYXRlZCBcDQotIC0JCSR7V1JLU1JDfS9jb2RlL3VpL0NvbnNjcmlwdA0KLSAtCSR7UkVJTlBM QUNFX0NNRH0gLWUgJ3N8JSVRM0RJUiUlfCIke1EzRElSfSJ8JyBcDQotIC0JCSR7V1JLU1JDfS9j b2RlL3VuaXgvdW5peF9zaGFyZWQuYw0KLSAtCSR7UkVJTlBMQUNFX0NNRH0gLWUgJ3N8JSVQUkVG SVglJXwke1BSRUZJWH18JyBcDQotIC0JCSR7V1JLU1JDfS9jb2RlL3VuaXgvdW5peF9tYWluLmMN Ci0gLQkke1JFSU5QTEFDRV9DTUR9IC1lICdzfGJvdGxpYi5sb2d8L2Rldi9udWxsfCcgXA0KLSAt CQkke1dSS1NSQ30vY29kZS9ib3RsaWIvYmVfaW50ZXJmYWNlLmMNCisuZm9yIGkgaW4gJHtBUkNI fQ0KKy4gICBpZiAke1ZNX0FSQ0hTOk0ke2l9fSAhPSAiIg0KK0hBVkVfVk1fQ09NUElMRUQ9CXll cw0KKy4gICBlbmRpZg0KKy5lbmRmb3INCiANCi0gLWRvLWJ1aWxkOg0KLSAtCWNkICR7V1JLU1JD fS9jb2RlICYmICR7TUFLRV9FTlZ9ICR7UEVSTH0gdW5peC9jb25zDQorLmlmICFkZWZpbmVkKEhB VkVfVk1fQ09NUElMRUQpDQorTUFLRV9FTlYrPQlETExfT05MWT10cnVlDQorLmVuZGlmDQorDQor LmlmICFkZWZpbmVkKFdJVEhPVVRfQ0xJRU5UKSB8fCAhZGVmaW5lZChXSVRIT1VUX1NNUCkNCitV U0VfR0w9CQl5ZXMNCisuZW5kaWYNCisNCisuaWYgIWRlZmluZWQoV0lUSE9VVF9DTElFTlQpDQor TUFLRV9FTlYrPQlDTElFTlQ9WUVTDQorUExJU1RfU1VCKz0JQ0xJRU5UPSIiDQorUTNCSU4rPQkJ Y2xlYW5xMw0KKy5lbHNlDQorUExJU1RfU1VCKz0JQ0xJRU5UPSJAY29tbWVudCAiDQorLmVuZGlm DQorDQorLmlmICFkZWZpbmVkKFdJVEhPVVRfREVESUNBVEVEKQ0KK01BS0VfRU5WKz0JREVESUNB VEVEPVlFUw0KK1BMSVNUX1NVQis9CURFRElDQVRFRD0iIg0KK1EzQklOKz0JCWNsZWFucTNkZWQN CisuZWxzZQ0KK1BMSVNUX1NVQis9CURFRElDQVRFRD0iQGNvbW1lbnQgIg0KKy5lbmRpZg0KKw0K Ky5pZiBkZWZpbmVkKFdJVEhfR0FNRUxJQlMpIHx8ICFkZWZpbmVkKEhBVkVfVk1fQ09NUElMRUQp DQorTUFLRV9FTlYrPQlHQU1FTElCUz1ZRVMNCitQTElTVF9TVUIrPQlHQU1FTElCUz0iIg0KKy5l bHNlDQorUExJU1RfU1VCKz0JR0FNRUxJQlM9IkBjb21tZW50ICINCisuZW5kaWYNCisNCisuaWYg IWRlZmluZWQoV0lUSE9VVF9PUFRJTUlaRURfQ0ZMQUdTKQ0KK01BS0VfRU5WKz0JT1BUSU1JWkVE X0NGTEFHUz1ZRVMNCisuZW5kaWYNCisNCisuaWYgIWRlZmluZWQoV0lUSE9VVF9TTVApDQorTUFL RV9FTlYrPQlTTVA9WUVTIFwNCisJCVBUSFJFQURfTElCUz0iJHtQVEhSRUFEX0xJQlN9Ig0KK1BM SVNUX1NVQis9CVNNUD0iIg0KK1EzQklOKz0JCWNsZWFucTMtc21wDQorLmVsc2UNCitQTElTVF9T VUIrPQlTTVA9IkBjb21tZW50ICINCisuZW5kaWYNCisNCitwb3N0LXBhdGNoOg0KKwlAJHtSRUlO UExBQ0VfQ01EfSAtZSAnc3xib3RsaWJcLmxvZ3wvZGV2L251bGx8JyBcDQorCQkke1dSS1NSQ30v Y29kZS9ib3RsaWIvYmVfaW50ZXJmYWNlLmMNCisJQCR7UkVJTlBMQUNFX0NNRH0gLWUgXA0KKwkJ J3N8Ly9bWzpibGFuazpdXSpcKFN3YXBfSW5pdFtbOmJsYW5rOl1dKigpO1wpfFwxfCcgXA0KKwkJ JHtXUktTUkN9L2NvZGUvYm90bGliL2JlX2ludGVyZmFjZS5jIFwNCisJCSR7V1JLU1JDfS9jb2Rl L3JlbmRlcmVyL3RyX2luaXQuYw0KIA0KIGRvLWluc3RhbGw6DQotIC0JJHtJTlNUQUxMX1BST0dS QU19ICR7SU5TVERJUn0vbGludXhxdWFrZTMgJHtQUkVGSVh9L2Jpbi9jbGVhbnEzDQotIC0JJHtJ TlNUQUxMX1BST0dSQU19ICR7SU5TVERJUn0vbGludXhxM2RlZCAke1BSRUZJWH0vYmluL2NsZWFu cTNkZWQNCi0gLS5mb3IgZCBpbiBiYXNlcTMgbWlzc2lvbnBhY2sNCi0gLQlAJHtNS0RJUn0gJHtQ UkVGSVh9L2xpYi9jbGVhbnEzLyR7ZH0NCi0gLQkke0lOU1RBTExfUFJPR1JBTX0gJHtJTlNURElS fS8ke2R9L2NnYW1lLnNvICR7UFJFRklYfS9saWIvY2xlYW5xMy8ke2R9DQotIC0JJHtJTlNUQUxM X1BST0dSQU19ICR7SU5TVERJUn0vJHtkfS9xYWdhbWUuc28gJHtQUkVGSVh9L2xpYi9jbGVhbnEz LyR7ZH0NCi0gLQkke0lOU1RBTExfUFJPR1JBTX0gJHtJTlNURElSfS8ke2R9L3VpLnNvICR7UFJF RklYfS9saWIvY2xlYW5xMy8ke2R9DQorLmZvciBiaW4gaW4gJHtRM0JJTn0NCisJJHtJTlNUQUxM X1BST0dSQU19ICR7QlVJTERfV1JLU1JDfS9yZWxlYXNlLyR7YmlufSAke1BSRUZJWH0vYmluDQog LmVuZGZvcg0KKy5pZiBkZWZpbmVkKFdJVEhfR0FNRUxJQlMpIHx8ICFkZWZpbmVkKEhBVkVfVk1f Q09NUElMRUQpDQorLmZvciBkaXIgaW4gYmFzZXEzIG1pc3Npb25wYWNrDQorCSR7TUtESVJ9ICR7 TElCRElSfS8ke2Rpcn0NCisJJHtJTlNUQUxMX1BST0dSQU19ICR7QlVJTERfV1JLU1JDfS9yZWxl YXNlLyR7ZGlyfS8qLnNvICR7TElCRElSfS8ke2Rpcn0NCisuZW5kZm9yDQorLmVuZGlmDQogDQog LmluY2x1ZGUgIiR7LkNVUkRJUn0vLi4vcXVha2UzLWRhdGEvTWFrZWZpbGUuaW5jbHVkZSINCi0g LQ0KIC5pbmNsdWRlIDxic2QucG9ydC5wb3N0Lm1rPg0KSW5kZXg6IHBrZy1wbGlzdA0KPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQ0KUkNTIGZpbGU6IHBrZy1wbGlzdA0KZGlmZiAtTiBwa2ctcGxpc3QNCi0gLS0tIC9kZXYv bnVsbAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwDQorKysgcGtnLXBsaXN0CTQgSnVuIDIwMDYg MjE6NDQ6MDMgLTAwMDANCkBAIC0wLDAgKzEsMTMgQEANCislJURFRElDQVRFRCUlYmluL2NsZWFu cTNkZWQNCislJUNMSUVOVCUlYmluL2NsZWFucTMNCislJVNNUCUlYmluL2NsZWFucTMtc21wDQor JSVHQU1FTElCUyUlJSVMSUJESVIlJS9iYXNlcTMvY2dhbWUuc28NCislJUdBTUVMSUJTJSUlJUxJ QkRJUiUlL2Jhc2VxMy9xYWdhbWUuc28NCislJUdBTUVMSUJTJSUlJUxJQkRJUiUlL2Jhc2VxMy91 aS5zbw0KKyUlR0FNRUxJQlMlJSUlTElCRElSJSUvbWlzc2lvbnBhY2svY2dhbWUuc28NCislJUdB TUVMSUJTJSUlJUxJQkRJUiUlL21pc3Npb25wYWNrL3FhZ2FtZS5zbw0KKyUlR0FNRUxJQlMlJSUl TElCRElSJSUvbWlzc2lvbnBhY2svdWkuc28NCislJUdBTUVMSUJTJSVAZGlycm0gJSVMSUJESVIl JS9taXNzaW9ucGFjaw0KKyUlR0FNRUxJQlMlJUBkaXJybSAlJUxJQkRJUiUlL2Jhc2VxMw0KKyUl R0FNRUxJQlMlJUBkaXJybSAlJUxJQkRJUiUlDQorDQpJbmRleDogZmlsZXMvcGF0Y2gtY29kZS1D b25zdHJ1Y3QNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiBmaWxlcy9wYXRjaC1jb2RlLUNvbnN0cnVj dA0KZGlmZiAtTiBmaWxlcy9wYXRjaC1jb2RlLUNvbnN0cnVjdA0KLSAtLS0gZmlsZXMvcGF0Y2gt Y29kZS1Db25zdHJ1Y3QJMjAgTWFyIDIwMDYgMTU6MjE6MjcgLTAwMDAJMS4xDQorKysgL2Rldi9u dWxsCTEgSmFuIDE5NzAgMDA6MDA6MDAgLTAwMDANCkBAIC0xLDY4ICswLDAgQEANCi0gLS0tLSBj b2RlL0NvbnN0cnVjdC5vcmlnCU1vbiBNYXIgMjAgMTg6MTk6MDkgMjAwNg0KLSAtKysrIGNvZGUv Q29uc3RydWN0CU1vbiBNYXIgMjAgMTg6Mzc6MTIgMjAwNg0KLSAtQEAgLTE5LDggKzE5LDggQEAN Ci0gLSB1c2UgQ29uc19nY2M7DQotIC0gDQotIC0gIyBkZWZhdWx0cw0KLSAtLSRjb25maWcgPSAn ZGVidWcnOw0KLSAtLSRkb19zbXAgPSAxOw0KLSAtKyRjb25maWcgPSAncmVsZWFzZSc7DQotIC0r JGRvX3NtcCA9IDA7DQotIC0gJGRvX21hc3RlcnNlcnZlciA9IDA7DQotIC0gJGRvX2F1dGhzZXJ2 ZXIgPSAwOw0KLSAtICRkb19hdXRocG9ydCA9IDA7DQotIC1AQCAtMzAsMTAgKzMwLDEwIEBADQot IC0gJGRvX3BrMyA9IDA7DQotIC0gIyB0aG9zZSBhcmUgZXhwb3J0ZWQNCi0gLSAkRE9fV0lOMzIg PSAwOw0KLSAtLSROT19WTSA9IDA7DQotIC0rJE5PX1ZNID0gMTsNCi0gLSAkTk9fU08gPSAwOw0K LSAtLSRDQz0nZ2NjJzsNCi0gLS0kQ1hYPSdnKysnOw0KLSAtKyRDQz0kRU5We0NDfTsNCi0gLSsk Q1hYPSRFTlZ7Q1hYfTsNCi0gLSANCi0gLSAjIGRldGVjdCBhbiBzZGsgYnVpbGQgKGRvbid0IGF0 dGVtcHQgY2xpZW50IGJ1aWxkIGFuZCBvdGhlciB0aGluZ3MpDQotIC0gaWYgKCAtciAndW5peC9D b25zY3JpcHQtY2xpZW50JyApDQotIC1AQCAtNjMsOSArNjMsNiBAQA0KLSAtIGVsc2UNCi0gLSB7 DQotIC0gCSMgbGliYyAuLiBkbyB0aGUgbGl0dGxlIG1hZ2ljIQ0KLSAtLQkkbGliY19jbWQgPSAn L2xpYi9saWJjLnNvLjYgfGdyZXAgIkdOVSBDICJ8Z3JlcCB2ZXJzaW9ufGF3ayAtRiAidmVyc2lv biAiIFwneyBwcmludCAkMiB9XCd8Y3V0IC1iIC0zJzsNCi0gLS0JJGxpYmMgPSBgJGxpYmNfY21k YDsNCi0gLS0JY2hvcCAoJGxpYmMpOw0KLSAtIH0NCi0gLSANCi0gLSBpZiAoJERPX1dJTjMyIGVx IDEpDQotIC1AQCAtMjI3LDcgKzIyNCw3IEBADQotIC0gIyBidWlsZCB0aGUgY29uZmlnIGRpcmVj dG9yeQ0KLSAtICRDT05GSUdfRElSID0gJGNvbmZpZyAuICctJyAuICRjcHUgLiAnLScgLiAkT1Mg LiAnLScgLiAkbGliYzsNCi0gLSANCi0gLS0kQ09NTU9OX0NGTEFHUyA9ICctcGlwZSAtZnNpZ25l ZC1jaGFyICc7DQotIC0rJENPTU1PTl9DRkxBR1MgPSAnLXBpcGUgLWZzaWduZWQtY2hhciAtSSUl TE9DQUxCQVNFJSUvaW5jbHVkZSAtTCUlTE9DQUxCQVNFJSUvbGliIC1JJSVYMTFCQVNFJSUvaW5j bHVkZSAtTCUlWDExQkFTRSUlL2xpYiAnOw0KLSAtIA0KLSAtIGlmICgkY29uZmlnIGVxICdkZWJ1 ZycpDQotIC0gew0KLSAtQEAgLTIzNyw3ICsyMzQsNyBAQA0KLSAtIH0NCi0gLSBlbHNlDQotIC0g ew0KLSAtLSAgJEJBU0VfQ0ZMQUdTID0gJENPTU1PTl9DRkxBR1MgLiAnLUROREVCVUcgLU82IC1t Y3B1PXBlbnRpdW1wcm8gLW1hcmNoPXBlbnRpdW0gLWZvbWl0LWZyYW1lLXBvaW50ZXIgLWZmYXN0 LW1hdGggLW1hbGlnbi1sb29wcz0yIC1tYWxpZ24tanVtcHM9MiAtbWFsaWduLWZ1bmN0aW9ucz0y IC1mbm8tc3RyaWN0LWFsaWFzaW5nIC1mc3RyZW5ndGgtcmVkdWNlICc7DQotIC0rICAkQkFTRV9D RkxBR1MgPSAkQ09NTU9OX0NGTEFHUyAuICctRE5ERUJVRyAlJUNGTEFHUyUlICc7DQotIC0gCSRC U1BDX0JBU0VfQ0ZMQUdTID0gJEJBU0VfQ0ZMQUdTIC4gJy1ETElOVVggLURCU1BDIC1Ec3RyaWNt cD1zdHJjYXNlY21wICc7DQotIC0gfQ0KLSAtIA0KLSAtQEAgLTMwMiw5ICsyOTksOSBAQA0KLSAt IH0NCi0gLSANCi0gLSAjIGJ1aWxkIHRvb2xzDQotIC0tJGVudl90b29scyA9IG5ldyBjb25zKCk7 DQotIC0tQ29tbWFuZCAkZW52X3Rvb2xzICdxdm10b29scy9xM2xjYycsICdbcGVybF0gJmJ1aWxk X3Rvb2xzKFwncTNsY2NcJyknOw0KLSAtLUNvbW1hbmQgJGVudl90b29scyAncXZtdG9vbHMvcTNh c20nLCAnW3BlcmxdICZidWlsZF90b29scyhcJ3EzYXNtXCcpJzsNCi0gLSsjJGVudl90b29scyA9 IG5ldyBjb25zKCk7DQotIC0rI0NvbW1hbmQgJGVudl90b29scyAncXZtdG9vbHMvcTNsY2MnLCAn W3BlcmxdICZidWlsZF90b29scyhcJ3EzbGNjXCcpJzsNCi0gLSsjQ29tbWFuZCAkZW52X3Rvb2xz ICdxdm10b29scy9xM2FzbScsICdbcGVybF0gJmJ1aWxkX3Rvb2xzKFwncTNhc21cJyknOw0KLSAt IA0KLSAtIGlmICgkZG9fYnNwYyBlcSAxKQ0KLSAtIHsNCkluZGV4OiBmaWxlcy9wYXRjaC1jb2Rl LWNnYW1lLWNnX3dlYXBvbnMuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IGZpbGVzL3BhdGNoLWNv ZGUtY2dhbWUtY2dfd2VhcG9ucy5jDQpkaWZmIC1OIGZpbGVzL3BhdGNoLWNvZGUtY2dhbWUtY2df d2VhcG9ucy5jDQotIC0tLSAvZGV2L251bGwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMA0KKysr IGZpbGVzL3BhdGNoLWNvZGUtY2dhbWUtY2dfd2VhcG9ucy5jCTQgSnVuIDIwMDYgMjE6NDQ6MDMg LTAwMDANCkBAIC0wLDAgKzEsMjMgQEANCistLS0gLi9jb2RlL2NnYW1lL2NnX3dlYXBvbnMuYy5v cmlnCVdlZCBNYXkgMzEgMjA6NTI6MDYgMjAwNg0KKysrKyAuL2NvZGUvY2dhbWUvY2dfd2VhcG9u cy5jCVdlZCBNYXkgMzEgMjA6NTI6NTQgMjAwNg0KK0BAIC02MzYsMTcgKzYzNiwxNyBAQA0KKyAJ fQ0KKyANCisgCXN0cmNweSggcGF0aCwgaXRlbS0+d29ybGRfbW9kZWxbMF0gKTsNCistCUNPTV9T dHJpcEV4dGVuc2lvbiggcGF0aCwgcGF0aCApOw0KKysJQ09NX1N0cmlwRXh0ZW5zaW9uKCBwYXRo LCBwYXRoLCBzaXplb2YocGF0aCkgKTsNCisgCXN0cmNhdCggcGF0aCwgIl9mbGFzaC5tZDMiICk7 DQorIAl3ZWFwb25JbmZvLT5mbGFzaE1vZGVsID0gdHJhcF9SX1JlZ2lzdGVyTW9kZWwoIHBhdGgg KTsNCisgDQorIAlzdHJjcHkoIHBhdGgsIGl0ZW0tPndvcmxkX21vZGVsWzBdICk7DQorLQlDT01f U3RyaXBFeHRlbnNpb24oIHBhdGgsIHBhdGggKTsNCisrCUNPTV9TdHJpcEV4dGVuc2lvbiggcGF0 aCwgcGF0aCwgc2l6ZW9mKHBhdGgpICk7DQorIAlzdHJjYXQoIHBhdGgsICJfYmFycmVsLm1kMyIg KTsNCisgCXdlYXBvbkluZm8tPmJhcnJlbE1vZGVsID0gdHJhcF9SX1JlZ2lzdGVyTW9kZWwoIHBh dGggKTsNCisgDQorIAlzdHJjcHkoIHBhdGgsIGl0ZW0tPndvcmxkX21vZGVsWzBdICk7DQorLQlD T01fU3RyaXBFeHRlbnNpb24oIHBhdGgsIHBhdGggKTsNCisrCUNPTV9TdHJpcEV4dGVuc2lvbigg cGF0aCwgcGF0aCwgc2l6ZW9mKHBhdGgpICk7DQorIAlzdHJjYXQoIHBhdGgsICJfaGFuZC5tZDMi ICk7DQorIAl3ZWFwb25JbmZvLT5oYW5kc01vZGVsID0gdHJhcF9SX1JlZ2lzdGVyTW9kZWwoIHBh dGggKTsNCisgDQpJbmRleDogZmlsZXMvcGF0Y2gtY29kZS1nYW1lLXFfc2hhcmVkLmMNCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0NClJDUyBmaWxlOiBmaWxlcy9wYXRjaC1jb2RlLWdhbWUtcV9zaGFyZWQuYw0KZGlmZiAt TiBmaWxlcy9wYXRjaC1jb2RlLWdhbWUtcV9zaGFyZWQuYw0KLSAtLS0gL2Rldi9udWxsCTEgSmFu IDE5NzAgMDA6MDA6MDAgLTAwMDANCisrKyBmaWxlcy9wYXRjaC1jb2RlLWdhbWUtcV9zaGFyZWQu Ywk0IEp1biAyMDA2IDIxOjQ0OjAzIC0wMDAwDQpAQCAtMCwwICsxLDExMyBAQA0KKy0tLSAuL2Nv ZGUvZ2FtZS9xX3NoYXJlZC5jLm9yaWcJV2VkIE1heSAzMSAyMDo1MjowNiAyMDA2DQorKysrIC4v Y29kZS9nYW1lL3Ffc2hhcmVkLmMJV2VkIE1heSAzMSAyMDo1NDoyNiAyMDA2DQorQEAgLTM4LDE0 ICszOCwyMSBAQA0KKyBDT01fU3RyaXBFeHRlbnNpb24NCisgPT09PT09PT09PT09DQorICovDQor LXZvaWQgQ09NX1N0cmlwRXh0ZW5zaW9uKCBjb25zdCBjaGFyICppbiwgY2hhciAqb3V0ICkgew0K Ky0Jd2hpbGUgKCAqaW4gJiYgKmluICE9ICcuJyApIHsNCistCQkqb3V0KysgPSAqaW4rKzsNCisr dm9pZCBDT01fU3RyaXBFeHRlbnNpb24oIGNvbnN0IGNoYXIgKmluLCBjaGFyICpvdXQsIGludCBk ZXN0c2l6ZSApIHsNCisrCWludAlsZW5ndGg7DQorKw0KKysJUV9zdHJuY3B5eihvdXQsIGluLCBk ZXN0c2l6ZSk7DQorKw0KKysJbGVuZ3RoID0gc3RybGVuKG91dCktMTsNCisrCXdoaWxlIChsZW5n dGggPiAwICYmIG91dFtsZW5ndGhdICE9ICcuJykgew0KKysJCWxlbmd0aC0tOw0KKysJCWlmIChv dXRbbGVuZ3RoXSA9PSAnLycpDQorKwkJCXJldHVybjsJCS8vIG5vIGV4dGVuc2lvbg0KKyAJfQ0K Ky0JKm91dCA9IDA7DQorKwlpZiAobGVuZ3RoKQ0KKysJCW91dFtsZW5ndGhdID0gMDsNCisgfQ0K KyANCistDQorIC8qDQorID09PT09PT09PT09PT09PT09PQ0KKyBDT01fRGVmYXVsdEV4dGVuc2lv bg0KK0BAIC03OSwyOSArODYsMjggQEANCisgDQorID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCisgKi8N CistLyoNCisrDQorIC8vIGNhbid0IGp1c3QgdXNlIGZ1bmN0aW9uIHBvaW50ZXJzLCBvciBkbGwg bGlua2FnZSBjYW4NCisgLy8gbWVzcyB1cCB3aGVuIHFjb21tb24gaXMgaW5jbHVkZWQgaW4gbXVs dGlwbGUgcGxhY2VzDQorLXN0YXRpYyBzaG9ydAkoKl9CaWdTaG9ydCkgKHNob3J0IGwpOw0KKy1z dGF0aWMgc2hvcnQJKCpfTGl0dGxlU2hvcnQpIChzaG9ydCBsKTsNCistc3RhdGljIGludAkJKCpf QmlnTG9uZykgKGludCBsKTsNCistc3RhdGljIGludAkJKCpfTGl0dGxlTG9uZykgKGludCBsKTsN Cisrc3RhdGljIGludDE2X3QJKCpfQmlnU2hvcnQpIChpbnQxNl90IGwpOw0KKytzdGF0aWMgaW50 MTZfdAkoKl9MaXR0bGVTaG9ydCkgKGludDE2X3QgbCk7DQorK3N0YXRpYyBpbnQzMl90CSgqX0Jp Z0xvbmcpIChpbnQzMl90IGwpOw0KKytzdGF0aWMgaW50MzJfdAkoKl9MaXR0bGVMb25nKSAoaW50 MzJfdCBsKTsNCisgc3RhdGljIHFpbnQ2NAkoKl9CaWdMb25nNjQpIChxaW50NjQgbCk7DQorIHN0 YXRpYyBxaW50NjQJKCpfTGl0dGxlTG9uZzY0KSAocWludDY0IGwpOw0KKyBzdGF0aWMgZmxvYXQJ KCpfQmlnRmxvYXQpIChjb25zdCBmbG9hdCAqbCk7DQorIHN0YXRpYyBmbG9hdAkoKl9MaXR0bGVG bG9hdCkgKGNvbnN0IGZsb2F0ICpsKTsNCisgDQorLXNob3J0CUJpZ1Nob3J0KHNob3J0IGwpe3Jl dHVybiBfQmlnU2hvcnQobCk7fQ0KKy1zaG9ydAlMaXR0bGVTaG9ydChzaG9ydCBsKSB7cmV0dXJu IF9MaXR0bGVTaG9ydChsKTt9DQorLWludAkJQmlnTG9uZyAoaW50IGwpIHtyZXR1cm4gX0JpZ0xv bmcobCk7fQ0KKy1pbnQJCUxpdHRsZUxvbmcgKGludCBsKSB7cmV0dXJuIF9MaXR0bGVMb25nKGwp O30NCisraW50MTZfdAlCaWdTaG9ydChpbnQxNl90IGwpe3JldHVybiBfQmlnU2hvcnQobCk7fQ0K KytpbnQxNl90CUxpdHRsZVNob3J0KGludDE2X3QgbCkge3JldHVybiBfTGl0dGxlU2hvcnQobCk7 fQ0KKytpbnQzMl90CUJpZ0xvbmcgKGludDMyX3QgbCkge3JldHVybiBfQmlnTG9uZyhsKTt9DQor K2ludDMyX3QJTGl0dGxlTG9uZyAoaW50MzJfdCBsKSB7cmV0dXJuIF9MaXR0bGVMb25nKGwpO30N CisgcWludDY0IAlCaWdMb25nNjQgKHFpbnQ2NCBsKSB7cmV0dXJuIF9CaWdMb25nNjQobCk7fQ0K KyBxaW50NjQgCUxpdHRsZUxvbmc2NCAocWludDY0IGwpIHtyZXR1cm4gX0xpdHRsZUxvbmc2NChs KTt9DQorLWZsb2F0CUJpZ0Zsb2F0IChjb25zdCBmbG9hdCAqbCkge3JldHVybiBfQmlnRmxvYXQo bCk7fQ0KKy1mbG9hdAlMaXR0bGVGbG9hdCAoY29uc3QgZmxvYXQgKmwpIHtyZXR1cm4gX0xpdHRs ZUZsb2F0KGwpO30NCistKi8NCisrZmxvYXQJQmlnRmxvYXQgKGZsb2F0IGwpIHtyZXR1cm4gX0Jp Z0Zsb2F0KCZsKTt9DQorK2Zsb2F0CUxpdHRsZUZsb2F0IChmbG9hdCBsKSB7cmV0dXJuIF9MaXR0 bGVGbG9hdCgmbCk7fQ0KKyANCistc2hvcnQgICBTaG9ydFN3YXAgKHNob3J0IGwpDQorK2ludDE2 X3QJU2hvcnRTd2FwIChpbnQxNl90IGwpDQorIHsNCisgCWJ5dGUgICAgYjEsYjI7DQorIA0KK0BA IC0xMTEsMTIgKzExNywxMiBAQA0KKyAJcmV0dXJuIChiMTw8OCkgKyBiMjsNCisgfQ0KKyANCist c2hvcnQJU2hvcnROb1N3YXAgKHNob3J0IGwpDQorK2ludDE2X3QJU2hvcnROb1N3YXAgKGludDE2 X3QgbCkNCisgew0KKyAJcmV0dXJuIGw7DQorIH0NCisgDQorLWludCAgICBMb25nU3dhcCAoaW50 IGwpDQorK2ludDMyX3QJTG9uZ1N3YXAgKGludDMyX3QgbCkNCisgew0KKyAJYnl0ZSAgICBiMSxi MixiMyxiNDsNCisgDQorQEAgLTEyOCw3ICsxMzQsNyBAQA0KKyAJcmV0dXJuICgoaW50KWIxPDwy NCkgKyAoKGludCliMjw8MTYpICsgKChpbnQpYjM8PDgpICsgYjQ7DQorIH0NCisgDQorLWludAlM b25nTm9Td2FwIChpbnQgbCkNCisraW50MzJfdAlMb25nTm9Td2FwIChpbnQzMl90IGwpDQorIHsN CisgCXJldHVybiBsOw0KKyB9DQorQEAgLTE3OSw3ICsxODUsNyBAQA0KKyBTd2FwX0luaXQNCisg PT09PT09PT09PT09PT09PQ0KKyAqLw0KKy0vKg0KKysNCisgdm9pZCBTd2FwX0luaXQgKHZvaWQp DQorIHsNCisgCWJ5dGUJc3dhcHRlc3RbMl0gPSB7MSwwfTsNCitAQCAtMjA5LDcgKzIxNSw3IEBA DQorIAl9DQorIA0KKyB9DQorLSovDQorKw0KKyANCisgLyoNCisgPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQ0KSW5kZXg6IGZpbGVzL3BhdGNoLWNvZGUtZ2FtZS1xX3NoYXJlZC5oDQo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpS Q1MgZmlsZTogL2hvbWUvcGN2cy9wb3J0cy9nYW1lcy9jbGVhbnEzL2ZpbGVzL3BhdGNoLWNvZGUt Z2FtZS1xX3NoYXJlZC5oLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4xDQpkaWZmIC11IC1yMS4x IHBhdGNoLWNvZGUtZ2FtZS1xX3NoYXJlZC5oDQotIC0tLSBmaWxlcy9wYXRjaC1jb2RlLWdhbWUt cV9zaGFyZWQuaAkyMCBNYXIgMjAwNiAxNToyMToyNyAtMDAwMAkxLjENCisrKyBmaWxlcy9wYXRj aC1jb2RlLWdhbWUtcV9zaGFyZWQuaAk0IEp1biAyMDA2IDIxOjQ0OjAzIC0wMDAwDQpAQCAtMSw2 ICsxLDkyIEBADQotIC0tLS0gY29kZS9nYW1lL3Ffc2hhcmVkLmgub3JpZwlUdWUgQXVnIDE2IDAy OjEwOjA3IDIwMDUNCi0gLSsrKyBjb2RlL2dhbWUvcV9zaGFyZWQuaAlUdWUgQXVnIDIzIDE0OjE2 OjM0IDIwMDUNCi0gLUBAIC00NTIsMTMgKzQ1Miw5IEBADQorLS0tIC4vY29kZS9nYW1lL3Ffc2hh cmVkLmgub3JpZwlXZWQgTWF5IDMxIDIwOjUyOjA2IDIwMDYNCisrKysgLi9jb2RlL2dhbWUvcV9z aGFyZWQuaAlXZWQgTWF5IDMxIDIwOjU0OjMzIDIwMDYNCitAQCAtMTI2LDEyICsxMjYsMTQgQEAN CisgDQorICNkZWZpbmUgSURfSU5MSU5FIF9faW5saW5lIA0KKyANCisrI2lmIDANCisgc3RhdGlj IElEX0lOTElORSBzaG9ydCBCaWdTaG9ydCggc2hvcnQgbCkgeyByZXR1cm4gU2hvcnRTd2FwKGwp OyB9DQorICNkZWZpbmUgTGl0dGxlU2hvcnQNCisgc3RhdGljIElEX0lOTElORSBpbnQgQmlnTG9u ZyhpbnQgbCkgeyBMb25nU3dhcChsKTsgfQ0KKyAjZGVmaW5lIExpdHRsZUxvbmcNCisgc3RhdGlj IElEX0lOTElORSBmbG9hdCBCaWdGbG9hdChjb25zdCBmbG9hdCAqbCkgeyBGbG9hdFN3YXAobCk7 IH0NCisgI2RlZmluZSBMaXR0bGVGbG9hdA0KKysjZW5kaWYNCisgDQorICNkZWZpbmUJUEFUSF9T RVAgJ1xcJw0KKyANCitAQCAtMTgyLDEyICsxODQsMTQgQEANCisgICAgIHJldHVybiBmaTsNCisg fQ0KKyANCisrI2lmIDANCisgI2RlZmluZSBCaWdTaG9ydA0KKyBzdGF0aWMgaW5saW5lIHNob3J0 IExpdHRsZVNob3J0KHNob3J0IGwpIHsgcmV0dXJuIFNob3J0U3dhcChsKTsgfQ0KKyAjZGVmaW5l IEJpZ0xvbmcNCisgc3RhdGljIGlubGluZSBpbnQgTGl0dGxlTG9uZyAoaW50IGwpIHsgcmV0dXJu IExvbmdTd2FwKGwpOyB9DQorICNkZWZpbmUgQmlnRmxvYXQNCisgc3RhdGljIGlubGluZSBmbG9h dCBMaXR0bGVGbG9hdCAoY29uc3QgZmxvYXQgbCkgeyByZXR1cm4gRmxvYXRTd2FwKCZsKTsgfQ0K KysjZW5kaWYNCisgDQorICNlbmRpZg0KKyANCitAQCAtMjA1LDEyICsyMDksMTQgQEANCisgDQor IHZvaWQgU3lzX1B1bXBFdmVudHMoIHZvaWQgKTsNCisgDQorKyNpZiAwDQorICNkZWZpbmUgQmln U2hvcnQNCisgc3RhdGljIGlubGluZSBzaG9ydCBMaXR0bGVTaG9ydChzaG9ydCBsKSB7IHJldHVy biBTaG9ydFN3YXAobCk7IH0NCisgI2RlZmluZSBCaWdMb25nDQorIHN0YXRpYyBpbmxpbmUgaW50 IExpdHRsZUxvbmcgKGludCBsKSB7IHJldHVybiBMb25nU3dhcChsKTsgfQ0KKyAjZGVmaW5lIEJp Z0Zsb2F0DQorIHN0YXRpYyBpbmxpbmUgZmxvYXQgTGl0dGxlRmxvYXQgKGNvbnN0IGZsb2F0IGwp IHsgcmV0dXJuIEZsb2F0U3dhcCgmbCk7IH0NCisrI2VuZGlmDQorIA0KKyAjZW5kaWYNCisgDQor QEAgLTI0NCw2ICsyNTAsNyBAQA0KKyAjZGVmaW5lCUJPVExJQl9IQVJEX0xJTktFRA0KKyAjZW5k aWYNCisgDQorKyNpZiAwDQorICNpZiAhaWRwcGMNCisgaW5saW5lIHN0YXRpYyBzaG9ydCBCaWdT aG9ydCggc2hvcnQgbCkgeyByZXR1cm4gU2hvcnRTd2FwKGwpOyB9DQorICNkZWZpbmUgTGl0dGxl U2hvcnQNCitAQCAtMjU5LDYgKzI2Niw3IEBADQorICNkZWZpbmUgQmlnRmxvYXQNCisgaW5saW5l IHN0YXRpYyBmbG9hdCBMaXR0bGVGbG9hdCAoY29uc3QgZmxvYXQgKmwpIHsgcmV0dXJuIEZsb2F0 U3dhcChsKTsgfQ0KKyAjZW5kaWYNCisrI2VuZGlmDQorIA0KKyAjZW5kaWYNCisgDQorQEAgLTI4 MCw4ICsyODgsMTYgQEANCisgDQorICNkZWZpbmUJUEFUSF9TRVAgJy8nDQorIA0KKysjaW5jbHVk ZSA8bWFjaGluZS9wYXJhbS5oPg0KKysjaWYgX19GcmVlQlNEX3ZlcnNpb24gPCA1MDAwMDANCisr I2luY2x1ZGUgPGludHR5cGVzLmg+DQorKyNlbHNlDQorKyNpbmNsdWRlIDxzdGRpbnQuaD4NCisr I2VuZGlmDQorKw0KKyAvLyBiazAxMDExNiAtIG9taXR0ZWQgUTNTVEFUSUMgKHNlZSBMaW51eCBh Ym92ZSksIGJyb2tlbiB0YXJnZXQNCisgDQorKyNpZiAwDQorICNpZiAhaWRwcGMNCisgc3RhdGlj IHNob3J0IEJpZ1Nob3J0KCBzaG9ydCBsKSB7IHJldHVybiBTaG9ydFN3YXAobCk7IH0NCisgI2Rl ZmluZSBMaXR0bGVTaG9ydA0KK0BAIC0yOTcsNiArMzEzLDcgQEANCisgI2RlZmluZSBCaWdGbG9h dA0KKyBzdGF0aWMgZmxvYXQgTGl0dGxlRmxvYXQgKGNvbnN0IGZsb2F0ICpsKSB7IHJldHVybiBG bG9hdFN3YXAobCk7IH0NCisgI2VuZGlmDQorKyNlbmRpZg0KKyANCisgI2VuZGlmDQorIA0KK0BA IC00MjgsMTMgKzQ0NSw5IEBADQogIHZvaWQgKkh1bmtfQWxsb2MoIGludCBzaXplLCBoYV9wcmVm IHByZWZlcmVuY2UgKTsNCiAgI2VuZGlmDQogIA0KQEAgLTE0LDMgKzEwMCw0MSBAQA0KICANCiAg I2lmICEoIGRlZmluZWQgX19WRUNUT1JDICkNCiAgdm9pZCBDb21fTWVtc2V0ICh2b2lkKiBkZXN0 LCBjb25zdCBpbnQgdmFsLCBjb25zdCBzaXplX3QgY291bnQpOw0KK0BAIC03NjMsNyArNzc2LDcg QEANCisgZmxvYXQgQ29tX0NsYW1wKCBmbG9hdCBtaW4sIGZsb2F0IG1heCwgZmxvYXQgdmFsdWUg KTsNCisgDQorIGNoYXIJKkNPTV9Ta2lwUGF0aCggY2hhciAqcGF0aG5hbWUgKTsNCistdm9pZAlD T01fU3RyaXBFeHRlbnNpb24oIGNvbnN0IGNoYXIgKmluLCBjaGFyICpvdXQgKTsNCisrdm9pZAlD T01fU3RyaXBFeHRlbnNpb24oIGNvbnN0IGNoYXIgKmluLCBjaGFyICpvdXQsIGludCBkZXN0c2l6 ZSApOw0KKyB2b2lkCUNPTV9EZWZhdWx0RXh0ZW5zaW9uKCBjaGFyICpwYXRoLCBpbnQgbWF4U2l6 ZSwgY29uc3QgY2hhciAqZXh0ZW5zaW9uICk7DQorIA0KKyB2b2lkCUNPTV9CZWdpblBhcnNlU2Vz c2lvbiggY29uc3QgY2hhciAqbmFtZSApOw0KK0BAIC04NjQsMTggKzg3NywxOCBAQA0KKyB9IHFp bnQ2NDsNCisgDQorIC8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09DQorLS8qDQorLXNob3J0CUJpZ1Nob3J0KHNob3J0IGwpOw0KKy1zaG9ydAlMaXR0bGVTaG9y dChzaG9ydCBsKTsNCistaW50CQlCaWdMb25nIChpbnQgbCk7DQorLWludAkJTGl0dGxlTG9uZyAo aW50IGwpOw0KKy1xaW50NjQgIEJpZ0xvbmc2NCAocWludDY0IGwpOw0KKy1xaW50NjQgIExpdHRs ZUxvbmc2NCAocWludDY0IGwpOw0KKy1mbG9hdAlCaWdGbG9hdCAoY29uc3QgZmxvYXQgKmwpOw0K Ky1mbG9hdAlMaXR0bGVGbG9hdCAoY29uc3QgZmxvYXQgKmwpOw0KKysNCisraW50MTZfdAlCaWdT aG9ydChpbnQxNl90IGwpOw0KKytpbnQxNl90CUxpdHRsZVNob3J0KGludDE2X3QgbCk7DQorK2lu dDMyX3QJQmlnTG9uZyAoaW50MzJfdCBsKTsNCisraW50MzJfdAlMaXR0bGVMb25nIChpbnQzMl90 IGwpOw0KKytxaW50NjQJQmlnTG9uZzY0IChxaW50NjQgbCk7DQorK3FpbnQ2NAlMaXR0bGVMb25n NjQgKHFpbnQ2NCBsKTsNCisrZmxvYXQJQmlnRmxvYXQgKGZsb2F0IGwpOw0KKytmbG9hdAlMaXR0 bGVGbG9hdCAoZmxvYXQgbCk7DQorIA0KKyB2b2lkCVN3YXBfSW5pdCAodm9pZCk7DQorLSovDQor Kw0KKyBjaGFyCSogUURFQ0wgdmEoY2hhciAqZm9ybWF0LCAuLi4pOw0KKyANCisgLy89PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCkluZGV4OiBmaWxlcy9wYXRj aC1jb2RlLXEzX3VpLXVpX3BsYXllcm1vZGVsLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiBmaWxl cy9wYXRjaC1jb2RlLXEzX3VpLXVpX3BsYXllcm1vZGVsLmMNCmRpZmYgLU4gZmlsZXMvcGF0Y2gt Y29kZS1xM191aS11aV9wbGF5ZXJtb2RlbC5jDQotIC0tLSAvZGV2L251bGwJMSBKYW4gMTk3MCAw MDowMDowMCAtMDAwMA0KKysrIGZpbGVzL3BhdGNoLWNvZGUtcTNfdWktdWlfcGxheWVybW9kZWwu Ywk0IEp1biAyMDA2IDIxOjQ0OjAzIC0wMDAwDQpAQCAtMCwwICsxLDExIEBADQorLS0tIC4vY29k ZS9xM191aS91aV9wbGF5ZXJtb2RlbC5jLm9yaWcJV2VkIE1heSAzMSAyMDo1MjowNyAyMDA2DQor KysrIC4vY29kZS9xM191aS91aV9wbGF5ZXJtb2RlbC5jCVdlZCBNYXkgMzEgMjA6NTQ6NTAgMjAw Ng0KK0BAIC00MDQsNyArNDA0LDcgQEANCisgCQl7DQorIAkJCWZpbGVsZW4gPSBzdHJsZW4oZmls ZXB0cik7DQorIA0KKy0JCQlDT01fU3RyaXBFeHRlbnNpb24oZmlsZXB0cixza2lubmFtZSk7DQor KwkJCUNPTV9TdHJpcEV4dGVuc2lvbihmaWxlcHRyLCBza2lubmFtZSwgc2l6ZW9mKHNraW5uYW1l KSk7DQorIA0KKyAJCQkvLyBsb29rIGZvciBpY29uXz8/Pz8NCisgCQkJaWYgKCFRX3N0cmljbXBu KHNraW5uYW1lLCJpY29uXyIsNSkpDQpJbmRleDogZmlsZXMvcGF0Y2gtY29kZS1xM191aS11aV9w bGF5ZXJzLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiBmaWxlcy9wYXRjaC1jb2RlLXEzX3VpLXVp X3BsYXllcnMuYw0KZGlmZiAtTiBmaWxlcy9wYXRjaC1jb2RlLXEzX3VpLXVpX3BsYXllcnMuYw0K LSAtLS0gL2Rldi9udWxsCTEgSmFuIDE5NzAgMDA6MDA6MDAgLTAwMDANCisrKyBmaWxlcy9wYXRj aC1jb2RlLXEzX3VpLXVpX3BsYXllcnMuYwk0IEp1biAyMDA2IDIxOjQ0OjAzIC0wMDAwDQpAQCAt MCwwICsxLDE4IEBADQorLS0tIC4vY29kZS9xM191aS91aV9wbGF5ZXJzLmMub3JpZwlXZWQgTWF5 IDMxIDIwOjUyOjA3IDIwMDYNCisrKysgLi9jb2RlL3EzX3VpL3VpX3BsYXllcnMuYwlXZWQgTWF5 IDMxIDIwOjU1OjA1IDIwMDYNCitAQCAtNjksMTMgKzY5LDEzIEBADQorIA0KKyAJaWYgKCB3ZWFw b25OdW0gPT0gV1BfTUFDSElORUdVTiB8fCB3ZWFwb25OdW0gPT0gV1BfR0FVTlRMRVQgfHwgd2Vh cG9uTnVtID09IFdQX0JGRyApIHsNCisgCQlzdHJjcHkoIHBhdGgsIGl0ZW0tPndvcmxkX21vZGVs WzBdICk7DQorLQkJQ09NX1N0cmlwRXh0ZW5zaW9uKCBwYXRoLCBwYXRoICk7DQorKwkJQ09NX1N0 cmlwRXh0ZW5zaW9uKCBwYXRoLCBwYXRoLCBzaXplb2YocGF0aCkgKTsNCisgCQlzdHJjYXQoIHBh dGgsICJfYmFycmVsLm1kMyIgKTsNCisgCQlwaS0+YmFycmVsTW9kZWwgPSB0cmFwX1JfUmVnaXN0 ZXJNb2RlbCggcGF0aCApOw0KKyAJfQ0KKyANCisgCXN0cmNweSggcGF0aCwgaXRlbS0+d29ybGRf bW9kZWxbMF0gKTsNCistCUNPTV9TdHJpcEV4dGVuc2lvbiggcGF0aCwgcGF0aCApOw0KKysJQ09N X1N0cmlwRXh0ZW5zaW9uKCBwYXRoLCBwYXRoLCBzaXplb2YocGF0aCkgKTsNCisgCXN0cmNhdCgg cGF0aCwgIl9mbGFzaC5tZDMiICk7DQorIAlwaS0+Zmxhc2hNb2RlbCA9IHRyYXBfUl9SZWdpc3Rl ck1vZGVsKCBwYXRoICk7DQorIA0KSW5kZXg6IGZpbGVzL3BhdGNoLWNvZGUtcTNfdWktdWlfc2F2 ZWNvbmZpZy5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogZmlsZXMvcGF0Y2gtY29kZS1xM191aS11 aV9zYXZlY29uZmlnLmMNCmRpZmYgLU4gZmlsZXMvcGF0Y2gtY29kZS1xM191aS11aV9zYXZlY29u ZmlnLmMNCi0gLS0tIC9kZXYvbnVsbAkxIEphbiAxOTcwIDAwOjAwOjAwIC0wMDAwDQorKysgZmls ZXMvcGF0Y2gtY29kZS1xM191aS11aV9zYXZlY29uZmlnLmMJNCBKdW4gMjAwNiAyMTo0NDowMyAt MDAwMA0KQEAgLTAsMCArMSwxMSBAQA0KKy0tLSAuL2NvZGUvcTNfdWkvdWlfc2F2ZWNvbmZpZy5j Lm9yaWcJV2VkIE1heSAzMSAyMDo1MjowNyAyMDA2DQorKysrIC4vY29kZS9xM191aS91aV9zYXZl Y29uZmlnLmMJV2VkIE1heSAzMSAyMDo1NToxNSAyMDA2DQorQEAgLTg1LDcgKzg1LDcgQEANCisg CQlyZXR1cm47DQorIAl9DQorIA0KKy0JQ09NX1N0cmlwRXh0ZW5zaW9uKHNhdmVDb25maWcuc2F2 ZW5hbWUuZmllbGQuYnVmZmVyLCBjb25maWduYW1lICk7DQorKwlDT01fU3RyaXBFeHRlbnNpb24o c2F2ZUNvbmZpZy5zYXZlbmFtZS5maWVsZC5idWZmZXIsIGNvbmZpZ25hbWUsIHNpemVvZihjb25m aWduYW1lKSApOw0KKyAJdHJhcF9DbWRfRXhlY3V0ZVRleHQoIEVYRUNfQVBQRU5ELCB2YSggIndy aXRlY29uZmlnICVzLmNmZ1xuIiwgY29uZmlnbmFtZSApICk7DQorIAlVSV9Qb3BNZW51KCk7DQor IH0NCkluZGV4OiBmaWxlcy9wYXRjaC1jb2RlLXFjb21tb24tY29tbW9uLmMNCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0N ClJDUyBmaWxlOiAvaG9tZS9wY3ZzL3BvcnRzL2dhbWVzL2NsZWFucTMvZmlsZXMvcGF0Y2gtY29k ZS1xY29tbW9uLWNvbW1vbi5jLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4xDQpkaWZmIC11IC1y MS4xIHBhdGNoLWNvZGUtcWNvbW1vbi1jb21tb24uYw0KLSAtLS0gZmlsZXMvcGF0Y2gtY29kZS1x Y29tbW9uLWNvbW1vbi5jCTIwIE1hciAyMDA2IDE1OjIxOjI3IC0wMDAwCTEuMQ0KKysrIGZpbGVz L3BhdGNoLWNvZGUtcWNvbW1vbi1jb21tb24uYwk0IEp1biAyMDA2IDIxOjQ0OjAzIC0wMDAwDQpA QCAtMSwxNSArMSwxNSBAQA0KLSAtLS0tIGNvZGUvcWNvbW1vbi9jb21tb24uYy5vcmlnCU1vbiBB dWcgMTUgMjM6MTA6MDcgMjAwNQ0KLSAtKysrIGNvZGUvcWNvbW1vbi9jb21tb24uYwlXZWQgTm92 IDIzIDEwOjUzOjI5IDIwMDUNCistLS0gLi9jb2RlL3Fjb21tb24vY29tbW9uLmMub3JpZwlXZWQg TWF5IDMxIDIwOjUyOjA3IDIwMDYNCisrKysgLi9jb2RlL3Fjb21tb24vY29tbW9uLmMJV2VkIE1h eSAzMSAyMDo1MjowOSAyMDA2DQogQEAgLTI0LDE1ICsyNCw4IEBADQogICNpbmNsdWRlICIuLi9n YW1lL3Ffc2hhcmVkLmgiDQogICNpbmNsdWRlICJxY29tbW9uLmgiDQogICNpbmNsdWRlIDxzZXRq bXAuaD4NCiAtI2lmZGVmIF9fbGludXhfXw0KLSAtKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCi0g LSAjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPg0KKy0jaW5jbHVkZSA8bmV0aW5ldC9pbi5oPg0KIC0j ZWxzZQ0KIC0jaWYgZGVmaW5lZChNQUNPU19YKQ0KLSAtLSNpbmNsdWRlIDxuZXRpbmV0L2luLmg+ DQorKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCisgI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCiAt I2Vsc2UNCiAtI2luY2x1ZGUgPHdpbnNvY2suaD4NCiAtI2VuZGlmDQpAQCAtMTcsMyArMTcsMTIg QEANCiAgDQogIGludCBkZW1vX3Byb3RvY29sc1tdID0NCiAgeyA2NiwgNjcsIDY4LCAwIH07DQor QEAgLTIzNjcsNyArMjM2MCw3IEBADQorIAkvLyBjdmFyIGFuZCBjb21tYW5kIGJ1ZmZlciBtYW5h Z2VtZW50DQorIAlDb21fUGFyc2VDb21tYW5kTGluZSggY29tbWFuZExpbmUgKTsNCisgDQorLS8v CVN3YXBfSW5pdCAoKTsNCisrCVN3YXBfSW5pdCAoKTsNCisgCUNidWZfSW5pdCAoKTsNCisgDQor IAlDb21fSW5pdFpvbmVNZW1vcnkoKTsNCkluZGV4OiBmaWxlcy9wYXRjaC1jb2RlLXFjb21tb24t dm0uYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IGZpbGVzL3BhdGNoLWNvZGUtcWNvbW1vbi12bS5j DQpkaWZmIC1OIGZpbGVzL3BhdGNoLWNvZGUtcWNvbW1vbi12bS5jDQotIC0tLSAvZGV2L251bGwJ MSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMA0KKysrIGZpbGVzL3BhdGNoLWNvZGUtcWNvbW1vbi12 bS5jCTQgSnVuIDIwMDYgMjE6NDQ6MDMgLTAwMDANCkBAIC0wLDAgKzEsMjkgQEANCistLS0gY29k ZS9xY29tbW9uL3ZtLmMub3JpZwlXZWQgTWF5IDMxIDIzOjE4OjQxIDIwMDYNCisrKysgY29kZS9x Y29tbW9uL3ZtLmMJV2VkIE1heSAzMSAyMzoxOTo0MyAyMDA2DQorQEAgLTIyNSw3ICsyMjUsNyBA QA0KKyAJCXJldHVybjsNCisgCX0NCisgDQorLQlDT01fU3RyaXBFeHRlbnNpb24oIHZtLT5uYW1l LCBuYW1lICk7DQorKwlDT01fU3RyaXBFeHRlbnNpb24oIHZtLT5uYW1lLCBuYW1lLCBzaXplb2Yo bmFtZSkgKTsNCisgCUNvbV9zcHJpbnRmKCBzeW1ib2xzLCBzaXplb2YoIHN5bWJvbHMgKSwgInZt LyVzLm1hcCIsIG5hbWUgKTsNCisgCWxlbiA9IEZTX1JlYWRGaWxlKCBzeW1ib2xzLCAodm9pZCAq KikmbWFwZmlsZSApOw0KKyAJaWYgKCAhbWFwZmlsZSApIHsNCitAQCAtNDc4LDcgKzQ3OCw3IEBA DQorIAkJfQ0KKyAJfQ0KKyANCistCWlmICggaW50ZXJwcmV0ID09IFZNSV9OQVRJVkUgKSB7DQor KwlpZiAoIDEgKSB7DQorIAkJLy8gdHJ5IHRvIGxvYWQgYXMgYSBzeXN0ZW0gZGxsDQorIAkJQ29t X1ByaW50ZiggIkxvYWRpbmcgZGxsIGZpbGUgJXMuXG4iLCB2bS0+bmFtZSApOw0KKyAJCXZtLT5k bGxIYW5kbGUgPSBTeXNfTG9hZERsbCggbW9kdWxlLCB2bS0+ZnFwYXRoICwgJnZtLT5lbnRyeVBv aW50LCBWTV9EbGxTeXNjYWxsICk7DQorQEAgLTgyNiw3ICs4MjYsNyBAQA0KKyANCisgDQorIA0K Ky0jaWZkZWYgb0RMTF9PTkxZIC8vIGJrMDEwMjE1IC0gZm9yIERMTF9PTkxZIGRlZGljYXRlZCBz ZXJ2ZXJzL2J1aWxkcyB3L28gVk0NCisrI2lmZGVmIERMTF9PTkxZIC8vIGJrMDEwMjE1IC0gZm9y IERMTF9PTkxZIGRlZGljYXRlZCBzZXJ2ZXJzL2J1aWxkcyB3L28gVk0NCisgaW50CVZNX0NhbGxD b21waWxlZCggdm1fdCAqdm0sIGludCAqYXJncyApIHsNCisgICByZXR1cm4oMCk7IA0KKyB9DQpJ bmRleDogZmlsZXMvcGF0Y2gtY29kZS1yZW5kZXJlci10cl9ic3AuYw0KPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNT IGZpbGU6IGZpbGVzL3BhdGNoLWNvZGUtcmVuZGVyZXItdHJfYnNwLmMNCmRpZmYgLU4gZmlsZXMv cGF0Y2gtY29kZS1yZW5kZXJlci10cl9ic3AuYw0KLSAtLS0gL2Rldi9udWxsCTEgSmFuIDE5NzAg MDA6MDA6MDAgLTAwMDANCisrKyBmaWxlcy9wYXRjaC1jb2RlLXJlbmRlcmVyLXRyX2JzcC5jCTQg SnVuIDIwMDYgMjE6NDQ6MDMgLTAwMDANCkBAIC0wLDAgKzEsMTEgQEANCistLS0gLi9jb2RlL3Jl bmRlcmVyL3RyX2JzcC5jLm9yaWcJV2VkIE1heSAzMSAyMDo1MjowNyAyMDA2DQorKysrIC4vY29k ZS9yZW5kZXJlci90cl9ic3AuYwlXZWQgTWF5IDMxIDIwOjU1OjQ3IDIwMDYNCitAQCAtMTgyMCw3 ICsxODIwLDcgQEANCisgCVFfc3RybmNweXooIHNfd29ybGREYXRhLm5hbWUsIG5hbWUsIHNpemVv Ziggc193b3JsZERhdGEubmFtZSApICk7DQorIA0KKyAJUV9zdHJuY3B5eiggc193b3JsZERhdGEu YmFzZU5hbWUsIENPTV9Ta2lwUGF0aCggc193b3JsZERhdGEubmFtZSApLCBzaXplb2YoIHNfd29y bGREYXRhLm5hbWUgKSApOw0KKy0JQ09NX1N0cmlwRXh0ZW5zaW9uKCBzX3dvcmxkRGF0YS5iYXNl TmFtZSwgc193b3JsZERhdGEuYmFzZU5hbWUgKTsNCisrCUNPTV9TdHJpcEV4dGVuc2lvbiggc193 b3JsZERhdGEuYmFzZU5hbWUsIHNfd29ybGREYXRhLmJhc2VOYW1lLCBzaXplb2Yoc193b3JsZERh dGEuYmFzZU5hbWUpICk7DQorIA0KKyAJc3RhcnRNYXJrZXIgPSByaS5IdW5rX0FsbG9jKDAsIGhf bG93KTsNCisgCWNfZ3JpZFZlcnRzID0gMDsNCkluZGV4OiBmaWxlcy9wYXRjaC1jb2RlLXJlbmRl cmVyLXRyX3NoYWRlci5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogZmlsZXMvcGF0Y2gtY29kZS1y ZW5kZXJlci10cl9zaGFkZXIuYw0KZGlmZiAtTiBmaWxlcy9wYXRjaC1jb2RlLXJlbmRlcmVyLXRy X3NoYWRlci5jDQotIC0tLSAvZGV2L251bGwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMA0KKysr IGZpbGVzL3BhdGNoLWNvZGUtcmVuZGVyZXItdHJfc2hhZGVyLmMJNCBKdW4gMjAwNiAyMTo0NDow MyAtMDAwMA0KQEAgLTAsMCArMSwyOSBAQA0KKy0tLSAuL2NvZGUvcmVuZGVyZXIvdHJfc2hhZGVy LmMub3JpZwlXZWQgTWF5IDMxIDIwOjUyOjA4IDIwMDYNCisrKysgLi9jb2RlL3JlbmRlcmVyL3Ry X3NoYWRlci5jCVdlZCBNYXkgMzEgMjA6NTY6MjAgMjAwNg0KK0BAIC05OSw3ICs5OSw3IEBADQor IA0KKyAJLy8gcmVtYXAgYWxsIHRoZSBzaGFkZXJzIHdpdGggdGhlIGdpdmVuIG5hbWUNCisgCS8v IGV2ZW4gdGhvIHRoZXkgbWlnaHQgaGF2ZSBkaWZmZXJlbnQgbGlnaHRtYXBzDQorLQlDT01fU3Ry aXBFeHRlbnNpb24oIHNoYWRlck5hbWUsIHN0cmlwcGVkTmFtZSApOw0KKysJQ09NX1N0cmlwRXh0 ZW5zaW9uKCBzaGFkZXJOYW1lLCBzdHJpcHBlZE5hbWUsIHNpemVvZihzdHJpcHBlZE5hbWUpICk7 DQorIAloYXNoID0gZ2VuZXJhdGVIYXNoVmFsdWUoc3RyaXBwZWROYW1lLCBGSUxFX0hBU0hfU0la RSk7DQorIAlmb3IgKHNoID0gaGFzaFRhYmxlW2hhc2hdOyBzaDsgc2ggPSBzaC0+bmV4dCkgew0K KyAJCWlmIChRX3N0cmljbXAoc2gtPm5hbWUsIHN0cmlwcGVkTmFtZSkgPT0gMCkgew0KK0BAIC0y MzY4LDcgKzIzNjgsNyBAQA0KKyAJCXJldHVybiB0ci5kZWZhdWx0U2hhZGVyOw0KKyAJfQ0KKyAN CistCUNPTV9TdHJpcEV4dGVuc2lvbiggbmFtZSwgc3RyaXBwZWROYW1lICk7DQorKwlDT01fU3Ry aXBFeHRlbnNpb24oIG5hbWUsIHN0cmlwcGVkTmFtZSwgc2l6ZW9mKHN0cmlwcGVkTmFtZSkgKTsN CisgDQorIAloYXNoID0gZ2VuZXJhdGVIYXNoVmFsdWUoc3RyaXBwZWROYW1lLCBGSUxFX0hBU0hf U0laRSk7DQorIA0KK0BAIC0yNDM2LDcgKzI0MzYsNyBAQA0KKyAJCWxpZ2h0bWFwSW5kZXggPSBM SUdIVE1BUF9CWV9WRVJURVg7DQorIAl9DQorIA0KKy0JQ09NX1N0cmlwRXh0ZW5zaW9uKCBuYW1l LCBzdHJpcHBlZE5hbWUgKTsNCisrCUNPTV9TdHJpcEV4dGVuc2lvbiggbmFtZSwgc3RyaXBwZWRO YW1lLCBzaXplb2Yoc3RyaXBwZWROYW1lKSApOw0KKyANCisgCWhhc2ggPSBnZW5lcmF0ZUhhc2hW YWx1ZShzdHJpcHBlZE5hbWUsIEZJTEVfSEFTSF9TSVpFKTsNCisgDQpJbmRleDogZmlsZXMvcGF0 Y2gtY29kZS1zZXJ2ZXItc3ZfY2xpZW50LmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiBmaWxlcy9w YXRjaC1jb2RlLXNlcnZlci1zdl9jbGllbnQuYw0KZGlmZiAtTiBmaWxlcy9wYXRjaC1jb2RlLXNl cnZlci1zdl9jbGllbnQuYw0KLSAtLS0gL2Rldi9udWxsCTEgSmFuIDE5NzAgMDA6MDA6MDAgLTAw MDANCisrKyBmaWxlcy9wYXRjaC1jb2RlLXNlcnZlci1zdl9jbGllbnQuYwk0IEp1biAyMDA2IDIx OjQ0OjAzIC0wMDAwDQpAQCAtMCwwICsxLDczIEBADQorLS0tIGNvZGUvc2VydmVyL3N2X2NsaWVu dC5jLm9yaWcJVGh1IEp1biAgMSAxNDo1MDoyMSAyMDA2DQorKysrIGNvZGUvc2VydmVyL3N2X2Ns aWVudC5jCVRodSBKdW4gIDEgMTU6MTk6MjkgMjAwNg0KK0BAIC03NTYsMjQgKzc1Niw1NCBAQA0K KyAJaW50IGN1cmluZGV4Ow0KKyAJaW50IHJhdGU7DQorIAlpbnQgYmxvY2tzcGVyc25hcDsNCist CWludCBpZFBhY2ssIG1pc3Npb25QYWNrOw0KKysJaW50IGlkUGFjaywgbWlzc2lvblBhY2ssIHVu cmVmZXJlbmNlZCA9IDE7DQorIAljaGFyIGVycm9yTWVzc2FnZVsxMDI0XTsNCisrCWNoYXIgcGFr YnVmW01BWF9PU1BBVEhdLCAqcGFrcHRyOw0KKysJY29uc3QgY2hhciAqcmVmZXJlbmNlZFBha3M7 DQorKwlpbnQgbnVtUmVmUGFrczsNCisgDQorIAlpZiAoISpjbC0+ZG93bmxvYWROYW1lKQ0KKyAJ CXJldHVybjsJLy8gTm90aGluZyBiZWluZyBkb3dubG9hZGVkDQorIA0KKyAJaWYgKCFjbC0+ZG93 bmxvYWQpIHsNCistCQkvLyBXZSBvcGVuIHRoZSBmaWxlIGhlcmUNCisrCQkvLyBDaG9wIG9mZiBm aWxlbmFtZSBleHRlbnNpb24uDQorKwkJQ29tX3NwcmludGYocGFrYnVmLCBzaXplb2YocGFrYnVm KSwgIiVzIiwgY2wtPmRvd25sb2FkTmFtZSk7DQorKwkJcGFrcHRyID0gUV9zdHJyY2hyKHBha2J1 ZiwgJy4nKTsNCisgDQorLQkJQ29tX1ByaW50ZiggImNsaWVudERvd25sb2FkOiAlZCA6IGJlZ2lu aW5nIFwiJXNcIlxuIiwgY2wgLSBzdnMuY2xpZW50cywgY2wtPmRvd25sb2FkTmFtZSApOw0KKysJ CWlmIChwYWtwdHIpIHsNCisrCQkJKnBha3B0ciA9ICdcMCc7DQorIA0KKy0JCW1pc3Npb25QYWNr ID0gRlNfaWRQYWsoY2wtPmRvd25sb2FkTmFtZSwgIm1pc3Npb25wYWNrIik7DQorLQkJaWRQYWNr ID0gbWlzc2lvblBhY2sgfHwgRlNfaWRQYWsoY2wtPmRvd25sb2FkTmFtZSwgImJhc2VxMyIpOw0K KysJCQkvLyBDaGVjayBmb3IgcGszIGZpbGVuYW1lIGV4dGVuc2lvbg0KKysJCQlpZiAoIVFfc3Ry aWNtcChwYWtwdHIgKyAxLCAicGszIikpIHsNCisrCQkJCXJlZmVyZW5jZWRQYWtzID0gRlNfUmVm ZXJlbmNlZFBha05hbWVzKCk7DQorIA0KKy0JCWlmICggIXN2X2FsbG93RG93bmxvYWQtPmludGVn ZXIgfHwgaWRQYWNrIHx8DQorKwkJCQkvLyBDaGVjayB3aGV0aGVyIHRoZSBmaWxlIGFwcGVhcnMg aW4gdGhlIGxpc3Qgb2YgcmVmZXJlbmNlZA0KKysJCQkJLy8gcGFrcyB0byBwcmV2ZW50IGRvd25s b2FkaW5nIG9mIGFyYml0cmFyeSBmaWxlcy4NCisrCQkJCUNtZF9Ub2tlbml6ZVN0cmluZyhyZWZl cmVuY2VkUGFrcyk7DQorKwkJCQludW1SZWZQYWtzID0gQ21kX0FyZ2MoKTsNCisrDQorKwkJCQlm b3IgKGN1cmluZGV4ID0gMDsgY3VyaW5kZXggPCBudW1SZWZQYWtzOyBjdXJpbmRleCsrKSB7DQor KwkJCQkJaWYgKCFGU19GaWxlbmFtZUNvbXBhcmUoQ21kX0FyZ3YoY3VyaW5kZXgpLCBwYWtidWYp KSB7DQorKwkJCQkJCXVucmVmZXJlbmNlZCA9IDA7DQorKw0KKysJCQkJCQkvLyBub3cgdGhhdCB3 ZSBrbm93IHRoZSBmaWxlIGlzIHJlZmVyZW5jZWQsDQorKwkJCQkJCS8vIGNoZWNrIHdoZXRoZXIg aXQncyBsZWdhbCB0byBkb3dubG9hZCBpdC4NCisrCQkJCQkJbWlzc2lvblBhY2sgPSBGU19pZFBh ayhwYWtidWYsICJtaXNzaW9ucGFjayIpOw0KKysJCQkJCQlpZFBhY2sgPSBtaXNzaW9uUGFjayB8 fCBGU19pZFBhayhwYWtidWYsIEJBU0VHQU1FKTsNCisrDQorKwkJCQkJCWJyZWFrOw0KKysJCQkJ CX0NCisrCQkJCX0NCisrCQkJfQ0KKysJCX0NCisrDQorKwkJLy8gV2Ugb3BlbiB0aGUgZmlsZSBo ZXJlDQorKwkJaWYgKCAhc3ZfYWxsb3dEb3dubG9hZC0+aW50ZWdlciB8fCBpZFBhY2sgfHwgdW5y ZWZlcmVuY2VkIHx8DQorIAkJCSggY2wtPmRvd25sb2FkU2l6ZSA9IEZTX1NWX0ZPcGVuRmlsZVJl YWQoIGNsLT5kb3dubG9hZE5hbWUsICZjbC0+ZG93bmxvYWQgKSApIDw9IDAgKSB7DQorIAkJCS8v IGNhbm5vdCBhdXRvLWRvd25sb2FkIGZpbGUNCistCQkJaWYgKGlkUGFjaykgew0KKysJCQlpZiAo dW5yZWZlcmVuY2VkKSB7DQorKwkJCQlDb21fc3ByaW50ZihlcnJvck1lc3NhZ2UsIHNpemVvZihl cnJvck1lc3NhZ2UpLCAiRmlsZSBcIiVzXCIgaXMgbm90IHJlZmVyZW5jZWQgYW5kIGNhbm5vdCBi ZSBkb3dubG9hZGVkLiIsIGNsLT5kb3dubG9hZE5hbWUpOw0KKysJCQl9IGVsc2UgaWYgKGlkUGFj aykgew0KKyAJCQkJQ29tX1ByaW50ZigiY2xpZW50RG93bmxvYWQ6ICVkIDogXCIlc1wiIGNhbm5v dCBkb3dubG9hZCBpZCBwazMgZmlsZXNcbiIsIGNsIC0gc3ZzLmNsaWVudHMsIGNsLT5kb3dubG9h ZE5hbWUpOw0KKyAJCQkJaWYgKG1pc3Npb25QYWNrKSB7DQorIAkJCQkJQ29tX3NwcmludGYoZXJy b3JNZXNzYWdlLCBzaXplb2YoZXJyb3JNZXNzYWdlKSwgIkNhbm5vdCBhdXRvZG93bmxvYWQgVGVh bSBBcmVuYSBmaWxlIFwiJXNcIlxuIg0KK0BAIC04MDksNiArODM5LDggQEANCisgCQkJcmV0dXJu Ow0KKyAJCX0NCisgIA0KKysJCUNvbV9QcmludGYoICJjbGllbnREb3dubG9hZDogJWQgOiBiZWdp bm5pbmcgXCIlc1wiXG4iLCBjbCAtIHN2cy5jbGllbnRzLCBjbC0+ZG93bmxvYWROYW1lICk7DQor Kw0KKyAJCS8vIEluaXQNCisgCQljbC0+ZG93bmxvYWRDdXJyZW50QmxvY2sgPSBjbC0+ZG93bmxv YWRDbGllbnRCbG9jayA9IGNsLT5kb3dubG9hZFhtaXRCbG9jayA9IDA7DQorIAkJY2wtPmRvd25s b2FkQ291bnQgPSAwOw0KSW5kZXg6IGZpbGVzL3BhdGNoLWNvZGUtdWktdWlfbWFpbi5jDQo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09DQpSQ1MgZmlsZTogZmlsZXMvcGF0Y2gtY29kZS11aS11aV9tYWluLmMNCmRpZmYgLU4g ZmlsZXMvcGF0Y2gtY29kZS11aS11aV9tYWluLmMNCi0gLS0tIC9kZXYvbnVsbAkxIEphbiAxOTcw IDAwOjAwOjAwIC0wMDAwDQorKysgZmlsZXMvcGF0Y2gtY29kZS11aS11aV9tYWluLmMJNCBKdW4g MjAwNiAyMTo0NDowMyAtMDAwMA0KQEAgLTAsMCArMSwxMSBAQA0KKy0tLSAuL2NvZGUvdWkvdWlf bWFpbi5jLm9yaWcJV2VkIE1heSAzMSAyMDo1MjowOCAyMDA2DQorKysrIC4vY29kZS91aS91aV9t YWluLmMJV2VkIE1heSAzMSAyMDo1NjoyOSAyMDA2DQorQEAgLTQ5NzEsNyArNDk3MSw3IEBADQor IAkJew0KKyAJCQlmaWxlbGVuID0gc3RybGVuKGZpbGVwdHIpOw0KKyANCistCQkJQ09NX1N0cmlw RXh0ZW5zaW9uKGZpbGVwdHIsc2tpbm5hbWUpOw0KKysJCQlDT01fU3RyaXBFeHRlbnNpb24oZmls ZXB0ciwgc2tpbm5hbWUsIHNpemVvZihza2lubmFtZSkpOw0KKyANCisgCQkJLy8gbG9vayBmb3Ig aWNvbl8/Pz8/DQorIAkJCWlmIChRX3N0cmljbXBuKHNraW5uYW1lLCAiaWNvbl8iLCA1KSA9PSAw ICYmICEoUV9zdHJpY21wKHNraW5uYW1lLCJpY29uX2JsdWUiKSA9PSAwIHx8IFFfc3RyaWNtcChz a2lubmFtZSwiaWNvbl9yZWQiKSA9PSAwKSkNCkluZGV4OiBmaWxlcy9wYXRjaC1jb2RlLXVpLXVp X3BsYXllcnMuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IGZpbGVzL3BhdGNoLWNvZGUtdWktdWlf cGxheWVycy5jDQpkaWZmIC1OIGZpbGVzL3BhdGNoLWNvZGUtdWktdWlfcGxheWVycy5jDQotIC0t LSAvZGV2L251bGwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMA0KKysrIGZpbGVzL3BhdGNoLWNv ZGUtdWktdWlfcGxheWVycy5jCTQgSnVuIDIwMDYgMjE6NDQ6MDMgLTAwMDANCkBAIC0wLDAgKzEs MTggQEANCistLS0gLi9jb2RlL3VpL3VpX3BsYXllcnMuYy5vcmlnCVdlZCBNYXkgMzEgMjA6NTI6 MDggMjAwNg0KKysrKyAuL2NvZGUvdWkvdWlfcGxheWVycy5jCVdlZCBNYXkgMzEgMjA6NTY6NDcg MjAwNg0KK0BAIC03MCwxMyArNzAsMTMgQEANCisgDQorIAlpZiAoIHdlYXBvbk51bSA9PSBXUF9N QUNISU5FR1VOIHx8IHdlYXBvbk51bSA9PSBXUF9HQVVOVExFVCB8fCB3ZWFwb25OdW0gPT0gV1Bf QkZHICkgew0KKyAJCXN0cmNweSggcGF0aCwgaXRlbS0+d29ybGRfbW9kZWxbMF0gKTsNCistCQlD T01fU3RyaXBFeHRlbnNpb24oIHBhdGgsIHBhdGggKTsNCisrCQlDT01fU3RyaXBFeHRlbnNpb24o IHBhdGgsIHBhdGgsIHNpemVvZihwYXRoKSApOw0KKyAJCXN0cmNhdCggcGF0aCwgIl9iYXJyZWwu bWQzIiApOw0KKyAJCXBpLT5iYXJyZWxNb2RlbCA9IHRyYXBfUl9SZWdpc3Rlck1vZGVsKCBwYXRo ICk7DQorIAl9DQorIA0KKyAJc3RyY3B5KCBwYXRoLCBpdGVtLT53b3JsZF9tb2RlbFswXSApOw0K Ky0JQ09NX1N0cmlwRXh0ZW5zaW9uKCBwYXRoLCBwYXRoICk7DQorKwlDT01fU3RyaXBFeHRlbnNp b24oIHBhdGgsIHBhdGgsIHNpemVvZihwYXRoKSApOw0KKyAJc3RyY2F0KCBwYXRoLCAiX2ZsYXNo Lm1kMyIgKTsNCisgCXBpLT5mbGFzaE1vZGVsID0gdHJhcF9SX1JlZ2lzdGVyTW9kZWwoIHBhdGgg KTsNCisgDQpJbmRleDogZmlsZXMvcGF0Y2gtY29kZS11bml4LUNvbnNjcmlwdC1jbGllbnQNCj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0NClJDUyBmaWxlOiBmaWxlcy9wYXRjaC1jb2RlLXVuaXgtQ29uc2NyaXB0LWNsaWVu dA0KZGlmZiAtTiBmaWxlcy9wYXRjaC1jb2RlLXVuaXgtQ29uc2NyaXB0LWNsaWVudA0KLSAtLS0g ZmlsZXMvcGF0Y2gtY29kZS11bml4LUNvbnNjcmlwdC1jbGllbnQJMjAgTWFyIDIwMDYgMTU6MjE6 MjcgLTAwMDAJMS4xDQorKysgL2Rldi9udWxsCTEgSmFuIDE5NzAgMDA6MDA6MDAgLTAwMDANCkBA IC0xLDI2ICswLDAgQEANCi0gLS0tLSBjb2RlL3VuaXgvQ29uc2NyaXB0LWNsaWVudC5vcmlnCUZy aSBNYXIgMTcgMTM6NTA6MTggMjAwNg0KLSAtKysrIGNvZGUvdW5peC9Db25zY3JpcHQtY2xpZW50 CUZyaSBNYXIgMTcgMTM6NTA6NDAgMjAwNg0KLSAtQEAgLTE0NywxMyArMTQ3LDEzIEBADQotIC0g ICBMSU5LID0+ICRMSU5LLA0KLSAtIAlFTlYgPT4geyBQQVRIID0+ICRFTlZ7UEFUSH0sIEhPTUUg PT4gJEVOVntIT01FfSB9LA0KLSAtICAgQ0ZMQUdTID0+ICRCQVNFX0NGTEFHUywNCi0gLS0gIExJ QlMgPT4gJyAnIC4gJEJVSUxEX0RJUiAuICcvdW5peC9zcGxpbmVzLmEgJyANCi0gLSsgIExJQlMg PT4gJyAnDQotIC0gICAuICRCVUlMRF9ESVIgLiAnL3VuaXgvYm90bGliLmEgJyANCi0gLSAgIC4g JEJVSUxEX0RJUiAuICcvdW5peC9qcGVnbGliLmEgJw0KLSAtICAgLiAkQlVJTERfRElSIC4gJy91 bml4L2FzbWxpYi5hICcNCi0gLSAgIC4gJEJVSUxEX0RJUiAuICcvdW5peC9pbmxpbmVsaWIuYSAn DQotIC0gCS4gJEJBU0VfTERGTEFHUw0KLSAtLSAgLiAnLUwvdXNyL1gxMVI2L2xpYiAtbFgxMSAt bFhleHQgLWxYeGY4NmRnYSAtbFh4Zjg2dm0gLWxkbCAtbG0nDQotIC0rICAuICctTCUlWDExQkFT RSUlL2xpYiAtbFgxMSAtbFhleHQgLWxYeGY4NmRnYSAtbFh4Zjg2dm0gLWxtJw0KLSAtICk7DQot IC0gDQotIC0gQFJFTkRFUkVSX0ZJTEVTID0gcXcoDQotIC1AQCAtMjMxLDcgKzIzMSw2IEBADQot IC0gICAuLi91bml4L2xpbnV4X2NvbW1vbi5jDQotIC0gICAuLi91bml4L2xpbnV4X3FnbC5jICAg DQotIC0gICAuLi91bml4L2xpbnV4X2dsaW1wLmMgICANCi0gLS0gIC4uL3VuaXgvbGludXhfam95 c3RpY2suYyAgDQotIC0gICAuLi91bml4L2xpbnV4X3NuZC5jIA0KLSAtIAkuLi91bml4L2xpbnV4 X3NpZ25hbHMuYw0KLSAtICAgKTsNCkluZGV4OiBmaWxlcy9wYXRjaC1jb2RlLXVuaXgtTWFrZWZp bGUNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0NClJDUyBmaWxlOiBmaWxlcy9wYXRjaC1jb2RlLXVuaXgtTWFrZWZpbGUN CmRpZmYgLU4gZmlsZXMvcGF0Y2gtY29kZS11bml4LU1ha2VmaWxlDQotIC0tLSAvZGV2L251bGwJ MSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMA0KKysrIGZpbGVzL3BhdGNoLWNvZGUtdW5peC1NYWtl ZmlsZQk0IEp1biAyMDA2IDIxOjQ0OjAzIC0wMDAwDQpAQCAtMCwwICsxLDM2NCBAQA0KKy0tLSBj b2RlL3VuaXgvTWFrZWZpbGUub3JpZwlTdW4gSnVuICA0IDE4OjA2OjE3IDIwMDYNCisrKysgY29k ZS91bml4L01ha2VmaWxlCVN1biBKdW4gIDQgMTg6MDc6NDYgMjAwNg0KK0BAIC0xOSw2ICsxOSw3 IEBADQorIA0KKyBQTEFURk9STT0kKHNoZWxsIHVuYW1lfHRyIEEtWiBhLXopDQorIFBMQVRGT1JN X1JFTEVBU0U9JChzaGVsbCB1bmFtZSAtcikNCisrQVJDSD0kKHNoZWxsIHVuYW1lIC1tKQ0KKyAN CisgIyMjDQorICMjIyBUaGVzZSBwYXRocyBhcmUgd2hlcmUgeW91IHByb2JhYmx5IHdhbnQgdG8g Y2hhbmdlIHRoaW5ncw0KK0BAIC0zNCw3ICszNSw3IEBADQorIA0KKyAjIEJ1aWxkIG5hbWUNCisg IyBCVUlMRF9OQU1FPSQoQlVJTERfTkFNRSkNCistQlVJTERfTkFNRT1xdWFrZTMueDg2DQorK0JV SUxEX05BTUU9cXVha2UzDQorIA0KKyANCisgDQorQEAgLTQ2LDggKzQ3LDggQEANCisgDQorIEJB U0VRM19ESVI9JChCRElSKS9iYXNlcTMNCisgDQorLUJEPWRlYnVnJChBUkNIKSQoR0xJQkMpDQor LUJSPXJlbGVhc2UkKEFSQ0gpJChHTElCQykNCisrQkQ9ZGVidWcNCisrQlI9cmVsZWFzZQ0KKyBD RElSPSQoTU9VTlRfRElSKS9jbGllbnQNCisgU0RJUj0kKE1PVU5UX0RJUikvc2VydmVyDQorIFJE SVI9JChNT1VOVF9ESVIpL3JlbmRlcmVyDQorQEAgLTc2LDcgKzc3LDcgQEANCisgIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMNCisgDQorICMjIERlZmF1bHRzDQorLURMTF9PTkxZPWZhbHNlDQorK0RMTF9P TkxZPz1mYWxzZQ0KKyAjIGJrMDEwMjE1IC0gVE9ETyAtIGFkZCBhbGwgZGVmYXVsdHMgLyBraWxs IFJ5YW4NCisgDQorIA0KK0BAIC0xOTksMzEgKzIwMCwyMyBAQA0KKyANCisgR0xJQkM9ICNsaWJj IGlzIGlycmVsZXZhbnQNCisgDQorLWlmbmVxICgsJChmaW5kc3RyaW5nIGFscGhhLCQoc2hlbGwg dW5hbWUgLW0pKSkNCistQVJDSD1heHANCistUlBNQVJDSD1hbHBoYQ0KKy1WRU5ET1I9ZGVjDQor LWVsc2UgI2RlZmF1bHQgdG8gaTM4Ng0KKy1BUkNIPWkzODYNCistUlBNQVJDSD1pMzg2DQorLVZF TkRPUj11bmtub3duDQorLWVuZGlmICNhbHBoYSB0ZXN0DQorK0JBU0VfQ0ZMQUdTID0gJChDRkxB R1MpIC1EREFUQURJUj0nXCIkKFEzRElSKVwiJyAtRExJQkRJUj0nXCIkKExJQkRJUilcIicgLXBp cGUNCisgDQorK0dMX0NGTEFHUyA9IC1JJChYMTFCQVNFKS9pbmNsdWRlDQorIA0KKy1CQVNFX0NG TEFHUyA9ICAtcGlwZQ0KKytERUJVR19DRkxBR1M9JChCQVNFX0NGTEFHUykgLWcgIC1XYWxsIC1X ZXJyb3INCisrUkVMRUFTRV9DRkxBR1M9JChCQVNFX0NGTEFHUykgLUROREVCVUcNCisgDQorLUdM X0NGTEFHUyA9IC1JJChNRVNBRElSKS9pbmNsdWRlIC1JL3Vzci9YMTFSNi9pbmNsdWRlDQorK2lm ZGVmIE9QVElNSVpFRF9DRkxBR1MNCisrICBpZmVxICgkKEFSQ0gpLGkzODYpDQorK1JFTEVBU0Vf Q0ZMQUdTPSQoQkFTRV9DRkxBR1MpIC1PNiAtZm9taXQtZnJhbWUtcG9pbnRlciAtcGlwZSAtZmZh c3QtbWF0aCAtZmFsaWduLWxvb3BzPTIgLWZhbGlnbi1qdW1wcz0yIC1mYWxpZ24tZnVuY3Rpb25z PTIgLWZuby1zdHJpY3QtYWxpYXNpbmcgLWZzdHJlbmd0aC1yZWR1Y2UNCisrICBlbHNlDQorK1JF TEVBU0VfQ0ZMQUdTPSQoQkFTRV9DRkxBR1MpIC1PNiAtZmZhc3QtbWF0aCAtZnVucm9sbC1sb29w cyAtZm9taXQtZnJhbWUtcG9pbnRlciAtZmV4cGVuc2l2ZS1vcHRpbWl6YXRpb25zDQorKyAgZW5k aWYNCisrZW5kaWYNCisgDQorLURFQlVHX0NGTEFHUz0kKEJBU0VfQ0ZMQUdTKSAtZyAgLVdhbGwg LVdlcnJvcg0KKy1pZmVxICgkKEFSQ0gpLGF4cCkNCistQ0M9cGdjYw0KKy1SRUxFQVNFX0NGTEFH Uz0kKEJBU0VfQ0ZMQUdTKSAtRE5ERUJVRyAtTzYgLWZmYXN0LW1hdGggLWZ1bnJvbGwtbG9vcHMg LWZvbWl0LWZyYW1lLXBvaW50ZXIgLWZleHBlbnNpdmUtb3B0aW1pemF0aW9ucw0KKy1lbHNlDQor LSNORVdQR0NDPS9sb2tpL2dsb2JhbC94ODYvYmluL2djYyAjIHJhaXN0bGluMDEyMzAxDQorLSNO RVdQR0NDPS91c3IvbG9jYWwvZ2NjLTIuOTUuMi9iaW4vZ2NjDQorLU5FV1BHQ0M9L2hvbWUvcmFp c3RsbGluL3NyYy9nY2MvYnVpbGQvaW5zdGFsbC9iaW4vZ2NjDQorLUNDPSQoc2hlbGwgaWYgWyAt ZiAkKE5FV1BHQ0MpIF07IHRoZW4gZWNobyAkKE5FV1BHQ0MpOyBlbHNlIGVjaG8gcGdjYzsgZmkg KQ0KKy1SRUxFQVNFX0NGTEFHUz0kKEJBU0VfQ0ZMQUdTKSAtRE5ERUJVRyAtTzYgLW1jcHU9cGVu dGl1bXBybyAtbWFyY2g9cGVudGl1bSAtZm9taXQtZnJhbWUtcG9pbnRlciAtcGlwZSAtZmZhc3Qt bWF0aCAtbWFsaWduLWxvb3BzPTIgLW1hbGlnbi1qdW1wcz0yIC1tYWxpZ24tZnVuY3Rpb25zPTIg LWZuby1zdHJpY3QtYWxpYXNpbmcgLSBmc3RyZW5ndGgtcmVkdWNlDQorK2lmZXEgKCQoRExMX09O TFkpLHRydWUpDQorK0JBU0VfQ0ZMQUdTICs9IC1ERExMX09OTFkNCisgZW5kaWYNCisgDQorIExJ QkVYVD1hDQorQEAgLTIzNSwyNSArMjI4LDM3IEBADQorIEFSRkxBR1M9YXIgcnYNCisgUkFOTElC PXJhbmxpYg0KKyANCistVEhSRUFEX0xERkxBR1M9LWxwdGhyZWFkDQorK1RIUkVBRF9MREZMQUdT PSQoUFRIUkVBRF9MSUJTKQ0KKyAjIGRvbid0IG5lZWQgLWxkbCAoRnJlZUJTRCkNCistTERGTEFH Uz0tbG0NCisrTERGTEFHUys9LWxtDQorICNHTExERkxBR1M9LUwvdXNyL1gxMVI2L2xpYiAtTCQo TUVTQURJUikvbGliIC1sR0wgLWxYMTEgLWxYZXh0IC1sWHhmODZkZ2EgLWxYeGY4NnZtDQorICNH TExERkxBR1M9LUwvdXNyL1gxMS9saWIgLWxHTCAtbFgxMSAtbFhleHQgLWxtDQorLUdMTERGTEFH Uz0tTC91c3IvWDExUjYvbGliIC1sR0wgLWxYMTEgLWxYZXh0IC1sWHhmODZkZ2EgLWxYeGY4NnZt DQorK0dMTERGTEFHUz0tTCQoWDExQkFTRSkvbGliIC1sR0wgLWxYMTEgLWxYZXh0IC1sWHhmODZk Z2EgLWxYeGY4NnZtDQorIA0KKy1pZmVxICgkKEFSQ0gpLGF4cCkNCistVEFSR0VUUz1cDQorLSAg ICAgICAgJChCKS8kKFBMQVRGT1JNKXEzZGVkDQorLWVsc2UNCistVEFSR0VUUz1cDQorLQkkKEIp LyQoUExBVEZPUk0pcXVha2UzIFwNCistCSQoQikvYmFzZXEzL2NnYW1lJChBUkNIKS4kKFNITElC RVhUKSBcDQorLQkkKEIpL2Jhc2VxMy9xYWdhbWUkKEFSQ0gpLiQoU0hMSUJFWFQpIFwNCistCSQo QikvYmFzZXEzL3VpJChBUkNIKS4kKFNITElCRVhUKSAgICAgXA0KKy0JJChCKS9taXNzaW9ucGFj ay9jZ2FtZSQoQVJDSCkuJChTSExJQkVYVCkgXA0KKy0JJChCKS9taXNzaW9ucGFjay9xYWdhbWUk KEFSQ0gpLiQoU0hMSUJFWFQpIFwNCistCSQoQikvbWlzc2lvbnBhY2svdWkkKEFSQ0gpLiQoU0hM SUJFWFQpDQorK2lmZGVmIENMSUVOVA0KKytUQVJHRVRTKz0kKEIpL2NsZWFucTMNCisrZW5kaWYN CisrDQorK2lmZGVmIERFRElDQVRFRA0KKytUQVJHRVRTKz0kKEIpL2NsZWFucTNkZWQNCisrZW5k aWYNCisrDQorK2lmZGVmIFNNUA0KKytUQVJHRVRTKz0kKEIpL2NsZWFucTMtc21wDQorK2VuZGlm DQorKw0KKytpZmVxICgkKERMTF9PTkxZKSx0cnVlKQ0KKytHQU1FTElCUz15ZXMNCisrZW5kaWYN CisrDQorK2lmZGVmIEdBTUVMSUJTDQorK1RBUkdFVFMrPVwNCisrCSQoQikvYmFzZXEzL2NnYW1l LiQoU0hMSUJFWFQpIFwNCisrCSQoQikvYmFzZXEzL3FhZ2FtZS4kKFNITElCRVhUKSBcDQorKwkk KEIpL2Jhc2VxMy91aS4kKFNITElCRVhUKSBcDQorKwkkKEIpL21pc3Npb25wYWNrL2NnYW1lLiQo U0hMSUJFWFQpIFwNCisrCSQoQikvbWlzc2lvbnBhY2svcWFnYW1lLiQoU0hMSUJFWFQpIFwNCisr CSQoQikvbWlzc2lvbnBhY2svdWkuJChTSExJQkVYVCkNCisgZW5kaWYNCisgDQorIGVsc2UgIyBp ZmVxIGZyZWVic2QNCitAQCAtMzQ4LDcgKzM1Myw3IEBADQorIAkkKE1BS0UpICB0YXJnZXRzIEI9 JChCUikgQ0ZMQUdTPSIkKFJFTEVBU0VfQ0ZMQUdTKSINCisgDQorICNCdWlsZCBib3RoIGRlYnVn IGFuZCByZWxlYXNlIGJ1aWxkcw0KKy1hbGw6YnVpbGRfZGVidWcgYnVpbGRfcmVsZWFzZQ0KKyth bGw6YnVpbGRfcmVsZWFzZQ0KKyANCisgdGFyZ2V0czptYWtlZGlycyAkKFRBUkdFVFMpDQorIA0K K0BAIC01MTYsMjAgKzUyMSw2IEBADQorIAkkKEIpL2NsaWVudC91bml4X25ldC5vIFwNCisgCSQo QikvY2xpZW50L3VuaXhfc2hhcmVkLm8gXA0KKyAJXA0KKy0JJChCKS9jbGllbnQvYWhvcHRpbS5v ICBcDQorLQkkKEIpL2NsaWVudC9hdXRvaGludC5vIFwNCistCSQoQikvY2xpZW50L2Z0YmFzZS5v ICAgXA0KKy0JJChCKS9jbGllbnQvZnRkZWJ1Zy5vICBcDQorLQkkKEIpL2NsaWVudC9mdGdseXBo Lm8gIFwNCistCSQoQikvY2xpZW50L2Z0aW5pdC5vICAgXA0KKy0JJChCKS9jbGllbnQvZnRtbS5v ICAgICBcDQorLQkkKEIpL2NsaWVudC9mdHN5c3RlbS5vIFwNCistCSQoQikvY2xpZW50L3Jhc3Rl cjEubyAgXA0KKy0JJChCKS9jbGllbnQvc2ZudC5vICAgICBcDQorLQkkKEIpL2NsaWVudC9zZm9i anMubyAgIFwNCistCSQoQikvY2xpZW50L3Ntb290aC5vICAgXA0KKy0JJChCKS9jbGllbnQvdHJ1 ZXR5cGUubw0KKy0jCVwNCisgIwkkKEIpL2NsaWVudC9xX3BhcnNlLm8gXA0KKyAjCSQoQikvY2xp ZW50L21hdGhfcXVhdGVybmlvbi5vIFwNCisgIwkkKEIpL2NsaWVudC91dGlsX3N0ci5vIFwNCitA QCAtNTQxLDEwICs1MzIsMTIgQEANCisgIwkkKEIpL2NsaWVudC9xX3NoYXJlZC5vIFwNCisgDQor ICAgICBpZmVxICgkKEFSQ0gpLGkzODYpDQorLQkgIFEzT0JKICs9ICQoQikvY2xpZW50L3ZtX3g4 Ni5vDQorKyAgICAgIGlmZXEgKCQoRExMX09OTFkpLGZhbHNlKQ0KKysJUTNPQkogKz0gJChCKS9j bGllbnQvdm1feDg2Lm8NCisrICAgICAgZW5kaWYNCisgICAgIGVuZGlmDQorIA0KKy0gICAgaWZl cSAoJChBUkNIKSxwcGMpDQorKyAgICBpZmVxICgkKEFSQ0gpLHBvd2VycGMpDQorICAgICAgIGlm ZXEgKCQoRExMX09OTFkpLGZhbHNlKQ0KKyAgICAgICAgIFEzT0JKICs9ICQoQikvY2xpZW50L3Zt X3BwYy5vDQorICAgICAgIGVuZGlmDQorQEAgLTU1OSwxMCArNTUyLDI0IEBADQorIAkJJChCKS9j bGllbnQvbGludXhfcWdsLm8gXA0KKyAJCSQoQikvY2xpZW50L2xpbnV4X2dsaW1wLm8gXA0KKyAJ CSQoQikvY2xpZW50L2xpbnV4X3NuZC5vIFwNCisrCQkkKEIpL2NsaWVudC9saW51eF9zaWduYWxz Lm8gXA0KKysJCSQoQikvY2xpZW50L3NuZF9taXhhLm8gXA0KKysJCSQoQikvY2xpZW50L21hdGhh Lm8NCisrDQorKwlRM1BPQkpfU01QPVwNCisrCQkkKEIpL2NsaWVudC9saW51eF9jb21tb24ubyBc DQorKwkJJChCKS9jbGllbnQvbGludXhfcWdsLm8gXA0KKysJCSQoQikvY2xpZW50L2xpbnV4X2ds aW1wX3NtcC5vIFwNCisrCQkkKEIpL2NsaWVudC9saW51eF9zbmQubyBcDQorKwkJJChCKS9jbGll bnQvbGludXhfc2lnbmFscy5vIFwNCisgCQkkKEIpL2NsaWVudC9zbmRfbWl4YS5vIFwNCisgCQkk KEIpL2NsaWVudC9tYXRoYS5vICAgXA0KKy0JCSQoQikvY2xpZW50L2Z0b2wubyBcDQorLQkJJChC KS9jbGllbnQvc25hcHZlY3Rvci5vDQorKw0KKysgICAgaWZlcSAoJChBUkNIKSxpMzg2KQ0KKysJ CVEzUE9CSiArPSAkKEIpL2NsaWVudC9mdG9sLm8gJChCKS9jbGllbnQvc25hcHZlY3Rvci5vDQor KwkJUTNQT0JKX1NNUCArPSAkKEIpL2NsaWVudC9mdG9sLm8gJChCKS9jbGllbnQvc25hcHZlY3Rv ci5vDQorKyAgICBlbmRpZg0KKysNCisgZWxzZQ0KKyBpZmVxICgkKFBMQVRGT1JNKSxpcml4KQ0K KyAJUTNQT0JKPVwNCitAQCAtNjAyLDEyICs2MDksMTIgQEANCisgZW5kaWYgI0ZyZWVCU0QNCisg ZW5kaWYgI0lSSVgNCisgDQorLSQoQikvJChQTEFURk9STSlxdWFrZTMgOiAkKFEzT0JKKSAkKFEz UE9CSikNCisrJChCKS9jbGVhbnEzIDogJChRM09CSikgJChRM1BPQkopDQorIAkkKENDKSAgLW8g JEAgJChRM09CSikgJChRM1BPQkopICQoR0xMREZMQUdTKSAkKExERkxBR1MpIA0KKyAjIFRUaW1v OiBzcGxpbmVzIGNvZGUgcmVxdWlyZXMgQysrIGxpbmtpbmcsIGJ1dCBzcGxpbmVzIGhhdmUgbm90 IGJlZW4gb2ZmaWNpYWxseSBpbmNsdWRlZCBpbiB0aGUgY29kZWJhc2UNCisgIwkkKENYWCkgIC1v ICRAICQoUTNPQkopICQoUTNQT0JKKSAkKEdMTERGTEFHUykgJChMREZMQUdTKSANCisgDQorLSQo QikvJChQTEFURk9STSlxdWFrZTMtc21wIDogJChRM09CSikgJChRM1BPQkpfU01QKQ0KKyskKEIp L2NsZWFucTMtc21wIDogJChRM09CSikgJChRM1BPQkpfU01QKQ0KKyAJJChDQykgIC1vICRAICQo UTNPQkopICQoUTNQT0JKX1NNUCkgJChHTExERkxBR1MpIFwNCisgCQkkKFRIUkVBRF9MREZMQUdT KSAkKExERkxBR1MpIA0KKyANCitAQCAtNzU4LDYgKzc2NSw3IEBADQorICQoQikvY2xpZW50L2xp bnV4X3FnbC5vIDogJChVRElSKS9saW51eF9xZ2wuYzsgJChET19DQykgICQoR0xfQ0ZMQUdTKSAN CisgJChCKS9jbGllbnQvbGludXhfaW5wdXQubyA6ICQoVURJUikvbGludXhfaW5wdXQuYzsgJChE T19DQykgDQorICQoQikvY2xpZW50L2xpbnV4X3NuZC5vIDogJChVRElSKS9saW51eF9zbmQuYzsg JChET19DQykgDQorKyQoQikvY2xpZW50L2xpbnV4X3NpZ25hbHMubyA6ICQoVURJUikvbGludXhf c2lnbmFscy5jOyAkKERPX0NDKSAkKEdMX0NGTEFHUykNCisgJChCKS9jbGllbnQvc25kX21peGEu byA6ICQoVURJUikvc25kX21peGEuczsgJChET19BUykgDQorICQoQikvY2xpZW50L21hdGhhLm8g OiAkKFVESVIpL21hdGhhLnM7ICQoRE9fQVMpIA0KKyANCitAQCAtNzY3LDcgKzc3NSw3IEBADQor ICQoQikvY2xpZW50L3ZtX3g4Ni5vIDogJChDTURJUikvdm1feDg2LmM7ICQoRE9fQ0MpIA0KKyBl bmRpZg0KKyANCistaWZlcSAoJChBUkNIKSxwcGMpDQorK2lmZXEgKCQoQVJDSCkscG93ZXJwYykN CisgaWZlcSAoJChETExfT05MWSksZmFsc2UpDQorICQoQikvY2xpZW50L3ZtX3BwYy5vIDogJChD TURJUikvdm1fcHBjLmM7ICQoRE9fQ0MpDQorIGVuZGlmDQorQEAgLTkxMiwyMiArOTIwLDI2IEBA DQorIAkkKEIpL2RlZC91bml4X21haW4ubyBcDQorIAkkKEIpL2RlZC91bml4X25ldC5vIFwNCisg CSQoQikvZGVkL3VuaXhfc2hhcmVkLm8gXA0KKysJJChCKS9kZWQvbGludXhfc2lnbmFscy5vIFwN CisgCVwNCisgCSQoQikvZGVkL251bGxfY2xpZW50Lm8gXA0KKyAJJChCKS9kZWQvbnVsbF9pbnB1 dC5vIFwNCisgCSQoQikvZGVkL251bGxfc25kZG1hLm8NCisgDQorIGlmZXEgKCQoQVJDSCksaTM4 NikNCistICBRM0RPQkogKz0gJChCKS9kZWQvdm1feDg2Lm8gJChCKS9kZWQvZnRvbC5vICQoQikv ZGVkL3NuYXB2ZWN0b3Iubw0KKysgIFEzRE9CSiArPSAkKEIpL2RlZC9mdG9sLm8gJChCKS9kZWQv c25hcHZlY3Rvci5vDQorKyAgaWZlcSAoJChETExfT05MWSksZmFsc2UpDQorKyAgUTNET0JKICs9 ICQoQikvZGVkL3ZtX3g4Ni5vDQorKyAgZW5kaWYNCisgZW5kaWYNCisgDQorLWlmZXEgKCQoQVJD SCkscHBjKQ0KKytpZmVxICgkKEFSQ0gpLHBvd2VycGMpDQorICAgaWZlcSAoJChETExfT05MWSks ZmFsc2UpDQorICAgICBRM0RPQkogKz0gJChCKS9kZWQvdm1fcHBjLm8NCisgICBlbmRpZg0KKyBl bmRpZg0KKyANCistJChCKS8kKFBMQVRGT1JNKXEzZGVkIDogJChRM0RPQkopDQorKyQoQikvY2xl YW5xM2RlZCA6ICQoUTNET0JKKQ0KKyAJJChDQykgIC1vICRAICQoUTNET0JKKSAkKExERkxBR1Mp DQorIA0KKyAkKEIpL2RlZC9zdl9ib3QubyA6ICQoU0RJUikvc3ZfYm90LmM7ICQoRE9fREVEX0ND KSANCitAQCAtOTg4LDYgKzEwMDAsNyBAQA0KKyAkKEIpL2RlZC91bml4X21haW4ubyA6ICQoVURJ UikvdW5peF9tYWluLmM7ICQoRE9fREVEX0NDKSANCisgJChCKS9kZWQvdW5peF9uZXQubyA6ICQo VURJUikvdW5peF9uZXQuYzsgJChET19ERURfQ0MpIA0KKyAkKEIpL2RlZC91bml4X3NoYXJlZC5v IDogJChVRElSKS91bml4X3NoYXJlZC5jOyAkKERPX0RFRF9DQykgDQorKyQoQikvZGVkL2xpbnV4 X3NpZ25hbHMubyA6ICQoVURJUikvbGludXhfc2lnbmFscy5jOyAkKERPX0RFRF9DQykgDQorICQo QikvZGVkL251bGxfY2xpZW50Lm8gOiAkKE5ESVIpL251bGxfY2xpZW50LmM7ICQoRE9fREVEX0ND KSANCisgJChCKS9kZWQvbnVsbF9pbnB1dC5vIDogJChORElSKS9udWxsX2lucHV0LmM7ICQoRE9f REVEX0NDKSANCisgJChCKS9kZWQvbnVsbF9zbmRkbWEubyA6ICQoTkRJUikvbnVsbF9zbmRkbWEu YzsgJChET19ERURfQ0MpIA0KK0BAIC0xMDAxLDcgKzEwMTQsNyBAQA0KKyAkKEIpL2RlZC9zbmFw dmVjdG9yLm8gOiAkKFVESVIpL3NuYXB2ZWN0b3IubmFzbTsgJChET19OQVNNKSANCisgZW5kaWYN CisgDQorLWlmZXEgKCQoQVJDSCkscHBjKQ0KKytpZmVxICgkKEFSQ0gpLHBvd2VycGMpDQorIGlm ZXEgKCQoRExMX09OTFkpLGZhbHNlKQ0KKyAkKEIpL2RlZC92bV9wcGMubyA6ICQoQ01ESVIpL3Zt X3BwYy5jOyAkKERPX0RFRF9DQykNCisgZW5kaWYNCitAQCAtMTA2OCw3ICsxMDgxLDcgQEANCisg CSQoQikvYmFzZXEzL2NnYW1lL3FfbWF0aC5vIFwNCisgCSQoQikvYmFzZXEzL2NnYW1lL3Ffc2hh cmVkLm8NCisgDQorLSQoQikvYmFzZXEzL2NnYW1lJChBUkNIKS4kKFNITElCRVhUKSA6ICQoUTND R09CSikNCisrJChCKS9iYXNlcTMvY2dhbWUuJChTSExJQkVYVCkgOiAkKFEzQ0dPQkopDQorIAkk KENDKSAgJChTSExJQkxERkxBR1MpIC1vICRAICQoUTNDR09CSikNCisgDQorICQoQikvYmFzZXEz L2NnYW1lL2JnX21pc2MubyA6ICQoR0RJUikvYmdfbWlzYy5jOyAkKERPX1NITElCX0NDKSAgICAg ICAgIA0KK0BAIC0xMTI4LDcgKzExNDEsNyBAQA0KKyAJJChCKS9taXNzaW9ucGFjay9jZ2FtZS9x X3NoYXJlZC5vIFwNCisgCSQoQikvbWlzc2lvbnBhY2svY2dhbWUvdWlfc2hhcmVkLm8NCisgDQor LSQoQikvbWlzc2lvbnBhY2svY2dhbWUkKEFSQ0gpLiQoU0hMSUJFWFQpIDogJChNUENHT0JKKQ0K KyskKEIpL21pc3Npb25wYWNrL2NnYW1lLiQoU0hMSUJFWFQpIDogJChNUENHT0JKKQ0KKyAJJChD QykgJChTSExJQkxERkxBR1MpIC1vICRAICQoTVBDR09CSikNCisgDQorICQoQikvbWlzc2lvbnBh Y2svY2dhbWUvYmdfbWlzYy5vIDogJChHRElSKS9iZ19taXNjLmM7ICQoRE9fU0hMSUJfQ0MpICAg ICAtRE1JU1NJT05QQUNLIA0KK0BAIC0xMjAwLDcgKzEyMTMsNyBAQA0KKyAJJChCKS9iYXNlcTMv Z2FtZS9xX21hdGgubyBcDQorIAkkKEIpL2Jhc2VxMy9nYW1lL3Ffc2hhcmVkLm8NCisgDQorLSQo QikvYmFzZXEzL3FhZ2FtZSQoQVJDSCkuJChTSExJQkVYVCkgOiAkKFEzR09CSikNCisrJChCKS9i YXNlcTMvcWFnYW1lLiQoU0hMSUJFWFQpIDogJChRM0dPQkopDQorIAkkKENDKSAgJChTSExJQkxE RkxBR1MpIC1vICRAICQoUTNHT0JKKQ0KKyANCisgJChCKS9iYXNlcTMvZ2FtZS9haV9jaGF0Lm8g OiAkKEdESVIpL2FpX2NoYXQuYzsgJChET19TSExJQl9DQykgICAgIA0KK0BAIC0xMjc4LDcgKzEy OTEsNyBAQA0KKyAJJChCKS9taXNzaW9ucGFjay9nYW1lL3FfbWF0aC5vIFwNCisgCSQoQikvbWlz c2lvbnBhY2svZ2FtZS9xX3NoYXJlZC5vDQorIA0KKy0kKEIpL21pc3Npb25wYWNrL3FhZ2FtZSQo QVJDSCkuJChTSExJQkVYVCkgOiAkKE1QR09CSikNCisrJChCKS9taXNzaW9ucGFjay9xYWdhbWUu JChTSExJQkVYVCkgOiAkKE1QR09CSikNCisgCSQoQ0MpICQoU0hMSUJMREZMQUdTKSAtbyAkQCAk KE1QR09CSikNCisgDQorICQoQikvbWlzc2lvbnBhY2svZ2FtZS9haV9jaGF0Lm8gOiAkKEdESVIp L2FpX2NoYXQuYzsgJChET19TSExJQl9DQykgICAgLURNSVNTSU9OUEFDSyANCitAQCAtMTM2Nyw3 ICsxMzgwLDcgQEANCisgICAgICAgICAkKEIpL2Jhc2VxMy91aS9xX21hdGgubyBcDQorICAgICAg ICAgJChCKS9iYXNlcTMvdWkvcV9zaGFyZWQubw0KKyANCistJChCKS9iYXNlcTMvdWkkKEFSQ0gp LiQoU0hMSUJFWFQpIDogJChRM1VJT0JKKQ0KKyskKEIpL2Jhc2VxMy91aS4kKFNITElCRVhUKSA6 ICQoUTNVSU9CSikNCisgCSQoQ0MpICQoQ0ZMQUdTKSAkKFNITElCTERGTEFHUykgLW8gJEAgJChR M1VJT0JKKQ0KKyANCisgJChCKS9iYXNlcTMvdWkvYmdfbWlzYy5vIDogJChHRElSKS9iZ19taXNj LmM7ICQoRE9fU0hMSUJfQ0MpIA0KK0BAIC0xNDEwLDcgKzE0MjMsNyBAQA0KKyAkKEIpL2Jhc2Vx My91aS91aV9zdGFydHNlcnZlci5vIDogJChRM1VJRElSKS91aV9zdGFydHNlcnZlci5jOyAkKERP X1NITElCX0NDKSANCisgJChCKS9iYXNlcTMvdWkvdWlfdGVhbS5vIDogJChRM1VJRElSKS91aV90 ZWFtLmM7ICQoRE9fU0hMSUJfQ0MpIA0KKyAkKEIpL2Jhc2VxMy91aS91aV90ZWFtb3JkZXJzLm8g OiAkKFEzVUlESVIpL3VpX3RlYW1vcmRlcnMuYzsgJChET19TSExJQl9DQykgDQorLSQoQikvYmFz ZXEzL3VpL3VpX3N5c2NhbGxzLm8gOiAkKFEzVUlESVIpL3VpX3N5c2NhbGxzLmM7ICQoRE9fU0hM SUJfQ0MpIA0KKyskKEIpL2Jhc2VxMy91aS91aV9zeXNjYWxscy5vIDogJChVSURJUikvdWlfc3lz Y2FsbHMuYzsgJChET19TSExJQl9DQykgDQorICQoQikvYmFzZXEzL3VpL3VpX3ZpZGVvLm8gOiAk KFEzVUlESVIpL3VpX3ZpZGVvLmM7ICQoRE9fU0hMSUJfQ0MpIA0KKyANCisgIyBiazAwMTIwNSAt IHRoZXNlIHdyZSB0aGUgb25seSBTSExJQiBjb21waWxlcyBpbiAxLjE3DQorQEAgLTE0NTAsNyAr MTQ2Myw3IEBADQorICMJJChCKS9taXNzaW9ucGFjay91aS9xX21hdGgubyBcDQorICMJJChCKS9t aXNzaW9ucGFjay91aS9xX3NoYXJlZC5vDQorIA0KKy0kKEIpL21pc3Npb25wYWNrL3VpJChBUkNI KS4kKFNITElCRVhUKSA6ICQoTVBVSU9CSikNCisrJChCKS9taXNzaW9ucGFjay91aS4kKFNITElC RVhUKSA6ICQoTVBVSU9CSikNCisgCSQoQ0MpICQoQ0ZMQUdTKSAkKFNITElCTERGTEFHUykgLW8g JEAgJChNUFVJT0JKKQ0KKyANCisgJChCKS9taXNzaW9ucGFjay91aS91aV9hdG9tcy5vIDogJChV SURJUikvdWlfYXRvbXMuYzsgJChET19TSExJQl9DQykgIC1ETUlTU0lPTlBBQ0sgIA0KK0BAIC0y MDU5LDkgKzIwNzIsOSBAQA0KKyANCisgY29weWZpbGVzOg0KKyAJLW1rZGlyaGllciAkKENPUFlE SVIpDQorLQljcCAkKEJSKS9saW51eHF1YWtlMyAkKENPUFlESVIpL3F1YWtlMy54ODYNCistCXN0 cmlwICQoQ09QWURJUikvcXVha2UzLng4Ng0KKy0JY2htb2QgNzU1ICQoQ09QWURJUikvcXVha2Uz Lng4Ng0KKysJY3AgJChCUikvbGludXhxdWFrZTMgJChDT1BZRElSKS9xdWFrZTMNCisrCXN0cmlw ICQoQ09QWURJUikvcXVha2UzDQorKwljaG1vZCA3NTUgJChDT1BZRElSKS9xdWFrZTMNCisgCWNw ICQoQlIpL2xpbnV4cTNkZWQgJChDT1BZRElSKS9xM2RlZA0KKyAJc3RyaXAgJChDT1BZRElSKS9x M2RlZA0KKyAJY2htb2QgNzU1ICQoQ09QWURJUikvcTNkZWQNCkluZGV4OiBmaWxlcy9wYXRjaC1j b2RlLXVuaXgtY29ucw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IGZpbGVzL3BhdGNoLWNvZGUtdW5p eC1jb25zDQpkaWZmIC1OIGZpbGVzL3BhdGNoLWNvZGUtdW5peC1jb25zDQotIC0tLSBmaWxlcy9w YXRjaC1jb2RlLXVuaXgtY29ucwkyMCBNYXIgMjAwNiAxNToyMToyNyAtMDAwMAkxLjENCisrKyAv ZGV2L251bGwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMA0KQEAgLTEsMjcgKzAsMCBAQA0KLSAt LS0tIGNvZGUvdW5peC9jb25zLm9yaWcJRnJpIEp1biAxNCAxMzowMTozMiAyMDAyDQotIC0rKysg Y29kZS91bml4L2NvbnMJV2VkIE5vdiAyMyAxMDozMjo0OSAyMDA1DQotIC1AQCAtMjcxLDExICsy NzEsMTEgQEANCi0gLSAgICAgICMgRGVmYXVsdHMgZm9yIGEgdHlwaWNhbCAoPykgVU5JWCBwbGF0 Zm9ybS4NCi0gLSAgICAgICMgWW91ciBtaWxlYWdlIG1heSB2YXJ5Lg0KLSAtICAgICAgJ3VuaXgn ID0+IFsNCi0gLS0JCSdDQycgICAgICAgICAgICAgPT4gJ2NjJywNCi0gLS0JCSdDRkxBR1MnICAg ICAgICAgPT4gJycsDQotIC0rCQknQ0MnICAgICAgICAgICAgID0+ICRFTlZ7Q0N9LA0KLSAtKwkJ J0NGTEFHUycgICAgICAgICA9PiAkRU5We0NGTEFHU30sDQotIC0gCQknQ0NDT00nICAgICAgICAg ID0+ICclQ0MgJUNGTEFHUyAlX0lGTEFHUyAtYyAlPCAtbyAlPicsDQotIC0tCQknQ1hYJyAgICAg ICAgICAgID0+ICclQ0MnLA0KLSAtLQkJJ0NYWEZMQUdTJyAgICAgICA9PiAnJUNGTEFHUycsDQot IC0rCQknQ1hYJyAgICAgICAgICAgID0+ICRFTlZ7Q1hYfSwNCi0gLSsJCSdDWFhGTEFHUycgICAg ICAgPT4gJEVOVntDWFhGTEFHU30sDQotIC0gCQknQ1hYQ09NJyAgICAgICAgID0+ICclQ1hYICVD WFhGTEFHUyAlX0lGTEFHUyAtYyAlPCAtbyAlPicsDQotIC0gCQknSU5DRElSUFJFRklYJyAgID0+ ICctSScsDQotIC0gCQknSU5DRElSU1VGRklYJyAgID0+ICcnLA0KLSAtQEAgLTI5NCw3ICsyOTQs NyBAQA0KLSAtIAkJJ0xEJyAgICAgICAgICAgICA9PiAnbGQnLA0KLSAtIAkJJ0xERkxBR1MnICAg ICAgICA9PiAnJywNCi0gLSAJCSdQUkVGTElCJyAgICAgICAgPT4gJ2xpYicsDQotIC0tCQknRU5W JyAgICAgICAgICAgID0+IHsgJ1BBVEgnID0+ICcvYmluOi91c3IvYmluJyB9LA0KLSAtKwkJJ0VO VicgICAgICAgICAgICA9PiB7ICdQQVRIJyA9PiAnL2JpbjovdXNyL2JpbjovdXNyL2xvY2FsL2Jp bicgfSwNCi0gLSAJCV0sDQotIC0gICAgICApOw0KLSAtIA0KSW5kZXg6IGZpbGVzL3BhdGNoLWNv ZGUtdW5peC11bml4X21haW4uYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL3BjdnMvcG9y dHMvZ2FtZXMvY2xlYW5xMy9maWxlcy9wYXRjaC1jb2RlLXVuaXgtdW5peF9tYWluLmMsdg0KcmV0 cmlldmluZyByZXZpc2lvbiAxLjENCmRpZmYgLXUgLXIxLjEgcGF0Y2gtY29kZS11bml4LXVuaXhf bWFpbi5jDQotIC0tLSBmaWxlcy9wYXRjaC1jb2RlLXVuaXgtdW5peF9tYWluLmMJMjAgTWFyIDIw MDYgMTU6MjE6MjcgLTAwMDAJMS4xDQorKysgZmlsZXMvcGF0Y2gtY29kZS11bml4LXVuaXhfbWFp bi5jCTQgSnVuIDIwMDYgMjE6NDQ6MDMgLTAwMDANCkBAIC0xLDUgKzEsNSBAQA0KLSAtLS0tIGNv ZGUvdW5peC91bml4X21haW4uYy5vcmlnCU1vbiBNYXIgMjAgMTg6Mzk6MTAgMjAwNg0KLSAtKysr IGNvZGUvdW5peC91bml4X21haW4uYwlNb24gTWFyIDIwIDIwOjI0OjIyIDIwMDYNCistLS0gLi9j b2RlL3VuaXgvdW5peF9tYWluLmMub3JpZwlXZWQgTWF5IDMxIDIwOjUyOjA4IDIwMDYNCisrKysg Li9jb2RlL3VuaXgvdW5peF9tYWluLmMJV2VkIE1heSAzMSAyMDo1MjowOSAyMDA2DQogQEAgLTcy MiwxNyArNzIyLDcgQEANCiAgICBhc3NlcnQoIG5hbWUgKTsNCiAgDQpAQCAtMjUsNyArMjUsNyBA QA0KICAgICAgICB7DQogKyAgICAgICAgQ29tX1ByaW50ZiggIlN5c19Mb2FkRGxsKCVzKSBmYWls ZWQ6XG5cIiVzXCJcbiIsIGZuLCBkbGVycm9yKCkgKTsNCiArICAgICAgICAvLyBGcmVlQlNEIHBh Y2thZ2UgaW5zdGFsbGF0aW9uIHBhdGgNCi0gLSsgICAgICAgIGZuID0gRlNfQnVpbGRPU1BhdGgo ICIlJVBSRUZJWCUlL2xpYi9jbGVhbnEzIiwgZ2FtZWRpciwgZm5hbWUgKTsNCisrICAgICAgICBm biA9IEZTX0J1aWxkT1NQYXRoKCBMSUJESVIgLCBnYW1lZGlyLCBmbmFtZSApOw0KICsgICAgICAg IENvbV9QcmludGYoICJTeXNfTG9hZERsbCglcykuLi4gXG4iLCBmbiApOw0KICsgICAgICAgIGxp YkhhbmRsZSA9IGRsb3BlbiggZm4sIFFfUlRMRCApOw0KICsNCkluZGV4OiBmaWxlcy9wYXRjaC1j b2RlLXVuaXgtdW5peF9zaGFyZWQuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL3BjdnMv cG9ydHMvZ2FtZXMvY2xlYW5xMy9maWxlcy9wYXRjaC1jb2RlLXVuaXgtdW5peF9zaGFyZWQuYyx2 DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMQ0KZGlmZiAtdSAtcjEuMSBwYXRjaC1jb2RlLXVuaXgt dW5peF9zaGFyZWQuYw0KLSAtLS0gZmlsZXMvcGF0Y2gtY29kZS11bml4LXVuaXhfc2hhcmVkLmMJ MjAgTWFyIDIwMDYgMTU6MjE6MjcgLTAwMDAJMS4xDQorKysgZmlsZXMvcGF0Y2gtY29kZS11bml4 LXVuaXhfc2hhcmVkLmMJNCBKdW4gMjAwNiAyMTo0NDowMyAtMDAwMA0KQEAgLTEsMTEgKzEsMTEg QEANCi0gLS0tLSBjb2RlL3VuaXgvdW5peF9zaGFyZWQuYy5vcmlnCU1vbiBBdWcgMTUgMjA6MTA6 MDcgMjAwNQ0KLSAtKysrIGNvZGUvdW5peC91bml4X3NoYXJlZC5jCVN1biBOb3YgMjAgMTg6NDE6 MjIgMjAwNQ0KKy0tLSAuL2NvZGUvdW5peC91bml4X3NoYXJlZC5jLm9yaWcJV2VkIE1heSAzMSAy MDo1MjowOCAyMDA2DQorKysrIC4vY29kZS91bml4L3VuaXhfc2hhcmVkLmMJV2VkIE1heSAzMSAy MDo1MjowOSAyMDA2DQogQEAgLTM4LDcgKzM4LDcgQEANCiAgc3RhdGljIGNoYXIgY2RQYXRoW01B WF9PU1BBVEhdOw0KICANCiAgLy8gVXNlZCB0byBkZXRlcm1pbmUgbG9jYWwgaW5zdGFsbGF0aW9u IHBhdGgNCiAtc3RhdGljIGNoYXIgaW5zdGFsbFBhdGhbTUFYX09TUEFUSF07DQotIC0rc3RhdGlj IGNoYXIgaW5zdGFsbFBhdGhbTUFYX09TUEFUSF0gPSAlJVEzRElSJSU7DQorK3N0YXRpYyBjaGFy IGluc3RhbGxQYXRoW01BWF9PU1BBVEhdID0gREFUQURJUjsNCiAgDQogIC8vIFVzZWQgdG8gZGV0 ZXJtaW5lIHdoZXJlIHRvIHN0b3JlIHVzZXItc3BlY2lmaWMgZmlsZXMNCiAgc3RhdGljIGNoYXIg aG9tZVBhdGhbTUFYX09TUEFUSF07DQpAQCAtMzQsNyArMzQsNyBAQA0KICANCiAgCS8vIHRlc3Qg dGhlIHdyYXAgaXNzdWUNCiAgI2lmIDAJDQotIC1AQCAtMTM2LDcgKzE0MCw3IEBADQorQEAgLTEz NiwxMCArMTQwLDEwIEBADQogIA0KICAJcmV0dXJuIHJldDsNCiAgfQ0KQEAgLTQyLDQgKzQyLDgg QEANCiArLy8gI2VuZGlmDQogIA0KICAvLyNpZiAwIC8vIGJrMDAxMjE1IC0gc2VlIHNuYXB2ZWN0 b3IubmFzbSBmb3IgcmVwbGFjZW1lbnQNCi0gLSAjaWYgKGRlZmluZWQgX19BUFBMRV9fKSAvLyBy Y2cwMTAyMDYgLSB1c2luZyB0aGlzIGZvciBQUEMgYnVpbGRzLi4uDQorLSNpZiAoZGVmaW5lZCBf X0FQUExFX18pIC8vIHJjZzAxMDIwNiAtIHVzaW5nIHRoaXMgZm9yIFBQQyBidWlsZHMuLi4NCisr I2lmbmRlZiBfX2kzODZfXyAvLyByY2cwMTAyMDYgLSB1c2luZyB0aGlzIGZvciBQUEMgYnVpbGRz Li4uDQorIGxvbmcgZmFzdGZ0b2woIGZsb2F0IGYgKSB7IC8vIGJrMDAxMjEzIC0gZnJvbSB3aW4z Mi93aW5fc2hhcmVkLmMNCisgICAvL3N0YXRpYyBpbnQgdG1wOw0KKyAgIC8vCV9fYXNtIGZsZCBm DQo9PT09PT09PT09PSBFTkQgPT09PT09PT09PT0NCi0tLS0tQkVHSU4gUEdQIFNJR05BVFVSRS0t LS0tDQpWZXJzaW9uOiBHbnVQRyB2MS40LjMgKEZyZWVCU0QpDQoNCmlEOERCUUZFZzFXQWlWMDVF cFJjUDJFUkFsRG9BS0NsT3VSaUgrS1RhcnBicHdxTmMzVm1pVFkzYkFDZ2tWUHgNCitBeGVqQjlz TVpYbGxXVjliUGI1VjNzPQ0KPTZHRmUNCi0tLS0tRU5EIFBHUCBTSUdOQVRVUkUtLS0tLQ0K
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060604184942.01de4b11>