From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jakub Jelinek To: git-commits@fedoraproject.org Subject: [rpms/gcc] rhel-f41-base: 4.6.0-0.2 Date: Mon, 29 Jun 2026 12:24:59 GMT Message-ID: <178273589928.1.12246822155273467364.rpms-gcc-759d90703df5@fedoraproject.org> List-ID: X-Git-Repo: rpms/gcc X-Git-Branch: rhel-f41-base X-Git-Rev: 759d90703df5a33f20b45147feabf073143fa845 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2NjCkJyYW5jaCA6 IHJoZWwtZjQxLWJhc2UKQ29tbWl0IDogNzU5ZDkwNzAzZGY1YTMzZjIwYjQ1MTQ3ZmVhYmYwNzMx NDNmYTg0NQpBdXRob3IgOiBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPgpEYXRlICAg OiAyMDExLTAxLTIyVDExOjI2OjE0KzAxOjAwClN0YXRzICA6ICsxNjUwLy0xNDIwIGluIDM0IGZp bGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nY2MvYy83 NTlkOTA3MDNkZjVhMzNmMjBiNDUxNDdmZWFiZjA3MzE0M2ZhODQ1P2JyYW5jaD1yaGVsLWY0MS1i YXNlCgpMb2c6CjQuNi4wLTAuMgoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGln bm9yZQppbmRleCBjZTI0ZmI4Li5jZDllNjRlIDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBi Ly5naXRpZ25vcmUKQEAgLTEsMiArMSw0IEBACiBmYXN0amFyLTAuOTcudGFyLmd6CiBnY2MtNC41 LjEtMjAxMDExMzAudGFyLmJ6MgorL2Zhc3RqYXItMC45Ny50YXIuZ3oKKy9nY2MtNC42LjAtMjAx MTAxMjIudGFyLmJ6MgoKZGlmZiAtLWdpdCBhL2djYy5zcGVjIGIvZ2NjLnNwZWMKaW5kZXggMTlj ZWIzNy4uYTE1ZGU3MyAxMDA2NDQKLS0tIGEvZ2NjLnNwZWMKKysrIGIvZ2NjLnNwZWMKQEAgLTEs OSArMSw5IEBACi0lZ2xvYmFsIERBVEUgMjAxMDExMzAKLSVnbG9iYWwgU1ZOUkVWIDE2NzI5OQot JWdsb2JhbCBnY2NfdmVyc2lvbiA0LjUuMQorJWdsb2JhbCBEQVRFIDIwMTEwMTIyCislZ2xvYmFs IFNWTlJFViAxNjkxMjUKKyVnbG9iYWwgZ2NjX3ZlcnNpb24gNC42LjAKICMgTm90ZSwgZ2NjX3Jl bGVhc2UgbXVzdCBiZSBpbnRlZ2VyLCBpZiB5b3Ugd2FudCB0byBhZGQgc3VmZml4ZXMgdG8KICMg JXtyZWxlYXNlfSwgYXBwZW5kIHRoZW0gYWZ0ZXIgJXtnY2NfcmVsZWFzZX0gb24gUmVsZWFzZTog bGluZS4KLSVnbG9iYWwgZ2NjX3JlbGVhc2UgNgorJWdsb2JhbCBnY2NfcmVsZWFzZSAwLjIKICVn bG9iYWwgX3VucGFja2FnZWRfZmlsZXNfdGVybWluYXRlX2J1aWxkIDAKICVnbG9iYWwgbXVsdGls aWJfNjRfYXJjaHMgc3BhcmM2NCBwcGM2NCBzMzkweCB4ODZfNjQKICVpZmFyY2ggJXtpeDg2fSB4 ODZfNjQgaWE2NCBwcGMgcHBjNjQgYWxwaGEKQEAgLTEyLDYgKzEyLDcgQEAKICVnbG9iYWwgYnVp bGRfYWRhIDAKICVlbmRpZgogJWdsb2JhbCBidWlsZF9qYXZhIDEKKyVnbG9iYWwgYnVpbGRfZ28g MQogJWdsb2JhbCBidWlsZF9jbG9vZyAxCiAlZ2xvYmFsIGJ1aWxkX2xpYnN0ZGN4eF9kb2NzIDEK ICMgSWYgeW91IGRvbid0IGhhdmUgYWxyZWFkeSBhIHVzYWJsZSBnY2MtamF2YSBhbmQgbGliZ2Nq IGZvciB5b3VyIGFyY2gsCkBAIC00Miw3ICs0Myw3IEBAIExpY2Vuc2U6IEdQTHYzKyBhbmQgR1BM djMrIHdpdGggZXhjZXB0aW9ucyBhbmQgR1BMdjIrIHdpdGggZXhjZXB0aW9ucwogR3JvdXA6IERl dmVsb3BtZW50L0xhbmd1YWdlcwogIyBUaGUgc291cmNlIGZvciB0aGlzIHBhY2thZ2Ugd2FzIHB1 bGxlZCBmcm9tIHVwc3RyZWFtJ3MgdmNzLiAgVXNlIHRoZQogIyBmb2xsb3dpbmcgY29tbWFuZHMg dG8gZ2VuZXJhdGUgdGhlIHRhcmJhbGw6Ci0jIHN2biBleHBvcnQgc3ZuOi8vZ2NjLmdudS5vcmcv c3ZuL2djYy9icmFuY2hlcy9yZWRoYXQvZ2NjLTRfNC1icmFuY2hAJXtTVk5SRVZ9IGdjYy0le3Zl cnNpb259LSV7REFURX0KKyMgc3ZuIGV4cG9ydCBzdm46Ly9nY2MuZ251Lm9yZy9zdm4vZ2NjL2Jy YW5jaGVzL3JlZGhhdC9nY2MtNF82LWJyYW5jaEAle1NWTlJFVn0gZ2NjLSV7dmVyc2lvbn0tJXtE QVRFfQogIyB0YXIgY2YgLSBnY2MtJXt2ZXJzaW9ufS0le0RBVEV9IHwgYnppcDIgLTkgPiBnY2Mt JXt2ZXJzaW9ufS0le0RBVEV9LnRhci5iejIKIFNvdXJjZTA6IGdjYy0le3ZlcnNpb259LSV7REFU RX0udGFyLmJ6MgogU291cmNlMTogbGliZ2NjX3Bvc3RfdXBncmFkZS5jCkBAIC02NSw2ICs2Niw3 IEBAIEJ1aWxkUmVxdWlyZXM6IGJpbnV0aWxzID49IDIuMjAuNTEuMC4yLTEyCiAjIC1zdGF0aWMg aXMgdXNlZCBzZXZlcmFsIHRpbWVzLgogQnVpbGRSZXF1aXJlczogZ2xpYmMtc3RhdGljCiBCdWls ZFJlcXVpcmVzOiB6bGliLWRldmVsLCBnZXR0ZXh0LCBkZWphZ251LCBiaXNvbiwgZmxleCwgdGV4 aW5mbywgc2hhcnV0aWxzCitCdWlsZFJlcXVpcmVzOiBzeXN0ZW10YXAtc2R0LWRldmVsID49IDEu MwogIyBGb3IgVlRBIGd1YWxpdHkgdGVzdGluZwogQnVpbGRSZXF1aXJlczogZ2RiCiAlaWYgJXti dWlsZF9qYXZhfQpAQCAtMTM4LDIwICsxNDAsMjMgQEAgUmVxdWlyZXMocG9zdCk6IC9zYmluL2lu c3RhbGwtaW5mbwogUmVxdWlyZXMocHJldW4pOiAvc2Jpbi9pbnN0YWxsLWluZm8KIEF1dG9SZXE6 IHRydWUKIAotUGF0Y2gwOiBnY2M0NS1oYWNrLnBhdGNoCi1QYXRjaDI6IGdjYzQ1LWMrKy1idWls dGluLXJlZGVjbC5wYXRjaAotUGF0Y2g0OiBnY2M0NS1qYXZhLW5vbXVsdGkucGF0Y2gKLVBhdGNo NTogZ2NjNDUtcHBjMzItcmV0YWRkci5wYXRjaAotUGF0Y2g2OiBnY2M0NS1wcjMzNzYzLnBhdGNo Ci1QYXRjaDc6IGdjYzQ1LXJoMzMwNzcxLnBhdGNoCi1QYXRjaDg6IGdjYzQ1LWkzODYtbGliZ29t cC5wYXRjaAotUGF0Y2g5OiBnY2M0NS1zcGFyYy1jb25maWctZGV0ZWN0aW9uLnBhdGNoCi1QYXRj aDEwOiBnY2M0NS1saWJnb21wLW9tcF9oLW11bHRpbGliLnBhdGNoCi1QYXRjaDExOiBnY2M0NS1s aWJ0b29sLW5vLXJwYXRoLnBhdGNoCi1QYXRjaDEyOiBnY2M0NS1jbG9vZy1kbC5wYXRjaAotUGF0 Y2gxNDogZ2NjNDUtcHIzODc1Ny5wYXRjaAotUGF0Y2gxNTogZ2NjNDUtbGlic3RkYysrLWRvY3Mu cGF0Y2gKLVBhdGNoMTc6IGdjYzQ1LW5vLWFkZC1uZWVkZWQucGF0Y2gKK1BhdGNoMDogZ2NjNDYt aGFjay5wYXRjaAorUGF0Y2gyOiBnY2M0Ni1jKystYnVpbHRpbi1yZWRlY2wucGF0Y2gKK1BhdGNo NDogZ2NjNDYtamF2YS1ub211bHRpLnBhdGNoCitQYXRjaDU6IGdjYzQ2LXBwYzMyLXJldGFkZHIu cGF0Y2gKK1BhdGNoNjogZ2NjNDYtcHIzMzc2My5wYXRjaAorUGF0Y2g3OiBnY2M0Ni1yaDMzMDc3 MS5wYXRjaAorUGF0Y2g4OiBnY2M0Ni1pMzg2LWxpYmdvbXAucGF0Y2gKK1BhdGNoOTogZ2NjNDYt c3BhcmMtY29uZmlnLWRldGVjdGlvbi5wYXRjaAorUGF0Y2gxMDogZ2NjNDYtbGliZ29tcC1vbXBf aC1tdWx0aWxpYi5wYXRjaAorUGF0Y2gxMTogZ2NjNDYtbGlidG9vbC1uby1ycGF0aC5wYXRjaAor UGF0Y2gxMjogZ2NjNDYtY2xvb2ctZGwucGF0Y2gKK1BhdGNoMTQ6IGdjYzQ2LXByMzg3NTcucGF0 Y2gKK1BhdGNoMTU6IGdjYzQ2LWxpYnN0ZGMrKy1kb2NzLnBhdGNoCitQYXRjaDE3OiBnY2M0Ni1u by1hZGQtbmVlZGVkLnBhdGNoCitQYXRjaDE4OiBnY2M0Ni11bndpbmQtZGVidWdob29rLXNkdC5w YXRjaAorUGF0Y2gxOTogZ2NjNDYtcHI0NzEwNi1yZXZlcnQucGF0Y2gKK1BhdGNoMjA6IGdjYzQ2 LXByNDY4OTAucGF0Y2gKIAogUGF0Y2gxMDAwOiBmYXN0amFyLTAuOTctc2VnZmF1bHQucGF0Y2gK IFBhdGNoMTAwMTogZmFzdGphci0wLjk3LWxlbjEucGF0Y2gKQEAgLTE3NSwxMSArMTgwLDExIEBA IFBhdGNoMTAwNDogZmFzdGphci1tYW4ucGF0Y2gKICVlbmRpZgogCiAlZGVzY3JpcHRpb24KLVRo ZSBnY2MgcGFja2FnZSBjb250YWlucyB0aGUgR05VIENvbXBpbGVyIENvbGxlY3Rpb24gdmVyc2lv biA0LjUuCitUaGUgZ2NjIHBhY2thZ2UgY29udGFpbnMgdGhlIEdOVSBDb21waWxlciBDb2xsZWN0 aW9uIHZlcnNpb24gNC42LgogWW91J2xsIG5lZWQgdGhpcyBwYWNrYWdlIGluIG9yZGVyIHRvIGNv bXBpbGUgQyBjb2RlLgogCiAlcGFja2FnZSAtbiBsaWJnY2MKLVN1bW1hcnk6IEdDQyB2ZXJzaW9u IDQuNSBzaGFyZWQgc3VwcG9ydCBsaWJyYXJ5CitTdW1tYXJ5OiBHQ0MgdmVyc2lvbiA0LjYgc2hh cmVkIHN1cHBvcnQgbGlicmFyeQogR3JvdXA6IFN5c3RlbSBFbnZpcm9ubWVudC9MaWJyYXJpZXMK IEF1dG9yZXE6IGZhbHNlCiAKQEAgLTQ4MSw2ICs0ODYsOSBAQCBHTkFUIGlzIGEgR05VIEFkYSA5 NSBmcm9udC1lbmQgdG8gR0NDLiBUaGlzIHBhY2thZ2UgaW5jbHVkZXMgc3RhdGljIGxpYnJhcmll cy4KICVwYXRjaDE1IC1wMCAtYiAubGlic3RkYysrLWRvY3N+CiAlZW5kaWYKICVwYXRjaDE3IC1w MCAtYiAubm8tYWRkLW5lZWRlZH4KKyVwYXRjaDE4IC1wMCAtYiAudW53aW5kLWRlYnVnaG9vay1z ZHR+CislcGF0Y2gxOSAtcDAgLWIgLnByNDcxMDYtcmV2ZXJ0fgorJXBhdGNoMjAgLXAwIC1iIC5w cjQ2ODkwfgogCiAjIFRoaXMgdGVzdGNhc2UgZG9lc24ndCBjb21waWxlLgogcm0gbGliamF2YS90 ZXN0c3VpdGUvbGliamF2YS5sYW5nL1BSMzUwMjAqCkBAIC00OTcsMTEgKzUwNSw4IEBAIHRhciB4 emYgJXtTT1VSQ0U0fQogdGFyIHhqZiAle1NPVVJDRTEwfQogJWVuZGlmCiAKLXNlZCAtaSAtZSAn cy80XC41XC4yLzQuNS4xLycgZ2NjL0JBU0UtVkVSCitzZWQgLWkgLWUgJ3MvNFwuNlwuMC80LjYu MC8nIGdjYy9CQVNFLVZFUgogZWNobyAnUmVkIEhhdCAle3ZlcnNpb259LSV7Z2NjX3JlbGVhc2V9 JyA+IGdjYy9ERVYtUEhBU0UKLSVpZiAwJXs/ZmVkb3JhfSA8PSAxNAotc2VkIC1pIC1lICdzLyNk ZWZpbmUgRU1JVF9JTVBMSUNJVF9QVFIgMS8jZGVmaW5lIEVNSVRfSU1QTElDSVRfUFRSIDAvJyBn Y2MvY2ZnZXhwYW5kLmMKLSVlbmRpZgogCiAjIERlZmF1bHQgdG8gLWdkd2FyZi0zIHJhdGhlciB0 aGFuIC1nZHdhcmYtMgogc2VkIC1pICcvVUludGVnZXIgVmFyKGR3YXJmX3ZlcnNpb24pL3MvSW5p dCgyKS9Jbml0KDMpLycgZ2NjL2NvbW1vbi5vcHQKQEAgLTUzOCw2ICs1NDMsOSBAQCBpZiBbIC1k IGxpYnN0ZGMrKy12My9jb25maWcvYWJpL3Bvc3Qvc3BhcmM2NC1saW51eC1nbnUgXTsgdGhlbgog ZmkKICVlbmRpZgogCisjIFRoaXMgdGVzdCBjYXVzZXMgZm9yayBmYWlsdXJlcywgYmVjYXVzZSBp dCBzcGF3bnMgd2F5IHRvbyBtYW55IHRocmVhZHMKK3JtIC1mIGdjYy90ZXN0c3VpdGUvZ28udGVz dC90ZXN0L2NoYW4vZ29yb3V0aW5lcy5nbworCiAlYnVpbGQKIAogJWlmICV7YnVpbGRfamF2YX0K QEAgLTYyNyw5ICs2MzUsOSBAQCBDQz0iJENDIiBDRkxBR1M9IiRPUFRfRkxBR1MiIENYWEZMQUdT PSJgZWNobyAkT1BUX0ZMQUdTIHwgc2VkICdzLyAtV2FsbCAvIC9nJ2AiIAogCS0td2l0aC1zeXN0 ZW0temxpYiAtLWVuYWJsZS1fX2N4YV9hdGV4aXQgLS1kaXNhYmxlLWxpYnVud2luZC1leGNlcHRp b25zIFwKIAktLWVuYWJsZS1nbnUtdW5pcXVlLW9iamVjdCAtLWVuYWJsZS1saW5rZXItYnVpbGQt aWQgXAogJWlmICEle2J1aWxkX2FkYX0KLQktLWVuYWJsZS1sYW5ndWFnZXM9YyxjKyssb2JqYyxv YmotYysrLGphdmEsZm9ydHJhbixsdG8gXAorCS0tZW5hYmxlLWxhbmd1YWdlcz1jLGMrKyxvYmpj LG9iai1jKyssamF2YSxmb3J0cmFuLGdvLGx0byBcCiAlZWxzZQotCS0tZW5hYmxlLWxhbmd1YWdl cz1jLGMrKyxvYmpjLG9iai1jKyssamF2YSxmb3J0cmFuLGFkYSxsdG8gXAorCS0tZW5hYmxlLWxh bmd1YWdlcz1jLGMrKyxvYmpjLG9iai1jKyssamF2YSxmb3J0cmFuLGFkYSxnbyxsdG8gXAogJWVu ZGlmCiAJLS1lbmFibGUtcGx1Z2luIFwKICVpZiAhJXtidWlsZF9qYXZhfQpAQCAtNzI0LDkgKzcz Miw2IEBAIGRvbmUpCiAoY2QgbGliZ2ZvcnRyYW47IGZvciBpIGluIENoYW5nZUxvZyo7IGRvCiAJ Y3AgLXAgJGkgLi4vcnBtLmRvYy9nZm9ydHJhbi8kaS5saWJnZm9ydHJhbgogZG9uZSkKLShjZCBn Y2Mvb2JqYzsgZm9yIGkgaW4gUkVBRE1FKjsgZG8KLQljcCAtcCAkaSAuLi8uLi9ycG0uZG9jL29i amMvJGkub2JqYwotZG9uZSkKIChjZCBsaWJvYmpjOyBmb3IgaSBpbiBSRUFETUUqOyBkbwogCWNw IC1wICRpIC4uL3JwbS5kb2Mvb2JqYy8kaS5saWJvYmpjCiBkb25lKQpAQCAtOTUwLDI4ICs5NTUs MjggQEAgcG9wZAogCiBwdXNoZCAkRlVMTFBBVEgKIGlmIFsgIiV7X2xpYn0iID0gImxpYiIgXTsg dGhlbgotbG4gLXNmIC4uLy4uLy4uL2xpYm9iamMuc28uMiBsaWJvYmpjLnNvCitsbiAtc2YgLi4v Li4vLi4vbGlib2JqYy5zby4zIGxpYm9iamMuc28KIGxuIC1zZiAuLi8uLi8uLi9saWJzdGRjKysu c28uNi4qWzAtOV0gbGlic3RkYysrLnNvCiBsbiAtc2YgLi4vLi4vLi4vbGliZ2ZvcnRyYW4uc28u My4qIGxpYmdmb3J0cmFuLnNvCiBsbiAtc2YgLi4vLi4vLi4vbGliZ29tcC5zby4xLiogbGliZ29t cC5zbwogbG4gLXNmIC4uLy4uLy4uL2xpYm11ZGZsYXAuc28uMC4qIGxpYm11ZGZsYXAuc28KIGxu IC1zZiAuLi8uLi8uLi9saWJtdWRmbGFwdGguc28uMC4qIGxpYm11ZGZsYXB0aC5zbwogJWlmICV7 YnVpbGRfamF2YX0KLWxuIC1zZiAuLi8uLi8uLi9saWJnY2ouc28uMTEuKiBsaWJnY2ouc28KLWxu IC1zZiAuLi8uLi8uLi9saWJnY2otdG9vbHMuc28uMTEuKiBsaWJnY2otdG9vbHMuc28KLWxuIC1z ZiAuLi8uLi8uLi9saWJnaWouc28uMTEuKiBsaWJnaWouc28KK2xuIC1zZiAuLi8uLi8uLi9saWJn Y2ouc28uMTIuKiBsaWJnY2ouc28KK2xuIC1zZiAuLi8uLi8uLi9saWJnY2otdG9vbHMuc28uMTIu KiBsaWJnY2otdG9vbHMuc28KK2xuIC1zZiAuLi8uLi8uLi9saWJnaWouc28uMTIuKiBsaWJnaWou c28KICVlbmRpZgogZWxzZQotbG4gLXNmIC4uLy4uLy4uLy4uLyV7X2xpYn0vbGlib2JqYy5zby4y IGxpYm9iamMuc28KK2xuIC1zZiAuLi8uLi8uLi8uLi8le19saWJ9L2xpYm9iamMuc28uMyBsaWJv YmpjLnNvCiBsbiAtc2YgLi4vLi4vLi4vLi4vJXtfbGlifS9saWJzdGRjKysuc28uNi4qWzAtOV0g bGlic3RkYysrLnNvCiBsbiAtc2YgLi4vLi4vLi4vLi4vJXtfbGlifS9saWJnZm9ydHJhbi5zby4z LiogbGliZ2ZvcnRyYW4uc28KIGxuIC1zZiAuLi8uLi8uLi8uLi8le19saWJ9L2xpYmdvbXAuc28u MS4qIGxpYmdvbXAuc28KIGxuIC1zZiAuLi8uLi8uLi8uLi8le19saWJ9L2xpYm11ZGZsYXAuc28u MC4qIGxpYm11ZGZsYXAuc28KIGxuIC1zZiAuLi8uLi8uLi8uLi8le19saWJ9L2xpYm11ZGZsYXB0 aC5zby4wLiogbGlibXVkZmxhcHRoLnNvCiAlaWYgJXtidWlsZF9qYXZhfQotbG4gLXNmIC4uLy4u Ly4uLy4uLyV7X2xpYn0vbGliZ2NqLnNvLjExLiogbGliZ2NqLnNvCi1sbiAtc2YgLi4vLi4vLi4v Li4vJXtfbGlifS9saWJnY2otdG9vbHMuc28uMTEuKiBsaWJnY2otdG9vbHMuc28KLWxuIC1zZiAu Li8uLi8uLi8uLi8le19saWJ9L2xpYmdpai5zby4xMS4qIGxpYmdpai5zbworbG4gLXNmIC4uLy4u Ly4uLy4uLyV7X2xpYn0vbGliZ2NqLnNvLjEyLiogbGliZ2NqLnNvCitsbiAtc2YgLi4vLi4vLi4v Li4vJXtfbGlifS9saWJnY2otdG9vbHMuc28uMTIuKiBsaWJnY2otdG9vbHMuc28KK2xuIC1zZiAu Li8uLi8uLi8uLi8le19saWJ9L2xpYmdpai5zby4xMi4qIGxpYmdpai5zbwogJWVuZGlmCiBmaQog JWlmICV7YnVpbGRfamF2YX0KQEAgLTk5NiwzNSArMTAwMSwzNSBAQCBtdiAtZiAkRlVMTFBBVEgv YWRhe2luY2x1ZGUsbGlifSAkRlVMTExQQVRILwogcHVzaGQgJEZVTExMUEFUSC9hZGFsaWIKIGlm IFsgIiV7X2xpYn0iID0gImxpYiIgXTsgdGhlbgogbG4gLXNmIC4uLy4uLy4uLy4uLy4uL2xpYmdu YXJsLSouc28gbGliZ25hcmwuc28KLWxuIC1zZiAuLi8uLi8uLi8uLi8uLi9saWJnbmFybC0qLnNv IGxpYmduYXJsLTQuNS5zbworbG4gLXNmIC4uLy4uLy4uLy4uLy4uL2xpYmduYXJsLSouc28gbGli Z25hcmwtNC42LnNvCiBsbiAtc2YgLi4vLi4vLi4vLi4vLi4vbGliZ25hdC0qLnNvIGxpYmduYXQu c28KLWxuIC1zZiAuLi8uLi8uLi8uLi8uLi9saWJnbmF0LSouc28gbGliZ25hdC00LjUuc28KK2xu IC1zZiAuLi8uLi8uLi8uLi8uLi9saWJnbmF0LSouc28gbGliZ25hdC00LjYuc28KIGVsc2UKIGxu IC1zZiAuLi8uLi8uLi8uLi8uLi8uLi8le19saWJ9L2xpYmduYXJsLSouc28gbGliZ25hcmwuc28K LWxuIC1zZiAuLi8uLi8uLi8uLi8uLi8uLi8le19saWJ9L2xpYmduYXJsLSouc28gbGliZ25hcmwt NC41LnNvCitsbiAtc2YgLi4vLi4vLi4vLi4vLi4vLi4vJXtfbGlifS9saWJnbmFybC0qLnNvIGxp YmduYXJsLTQuNi5zbwogbG4gLXNmIC4uLy4uLy4uLy4uLy4uLy4uLyV7X2xpYn0vbGliZ25hdC0q LnNvIGxpYmduYXQuc28KLWxuIC1zZiAuLi8uLi8uLi8uLi8uLi8uLi8le19saWJ9L2xpYmduYXQt Ki5zbyBsaWJnbmF0LTQuNS5zbworbG4gLXNmIC4uLy4uLy4uLy4uLy4uLy4uLyV7X2xpYn0vbGli Z25hdC0qLnNvIGxpYmduYXQtNC42LnNvCiBmaQogcG9wZAogZWxzZQogcHVzaGQgJEZVTExQQVRI L2FkYWxpYgogaWYgWyAiJXtfbGlifSIgPSAibGliIiBdOyB0aGVuCiBsbiAtc2YgLi4vLi4vLi4v Li4vbGliZ25hcmwtKi5zbyBsaWJnbmFybC5zbwotbG4gLXNmIC4uLy4uLy4uLy4uL2xpYmduYXJs LSouc28gbGliZ25hcmwtNC41LnNvCitsbiAtc2YgLi4vLi4vLi4vLi4vbGliZ25hcmwtKi5zbyBs aWJnbmFybC00LjYuc28KIGxuIC1zZiAuLi8uLi8uLi8uLi9saWJnbmF0LSouc28gbGliZ25hdC5z bwotbG4gLXNmIC4uLy4uLy4uLy4uL2xpYmduYXQtKi5zbyBsaWJnbmF0LTQuNS5zbworbG4gLXNm IC4uLy4uLy4uLy4uL2xpYmduYXQtKi5zbyBsaWJnbmF0LTQuNi5zbwogZWxzZQogbG4gLXNmIC4u Ly4uLy4uLy4uLy4uLyV7X2xpYn0vbGliZ25hcmwtKi5zbyBsaWJnbmFybC5zbwotbG4gLXNmIC4u Ly4uLy4uLy4uLy4uLyV7X2xpYn0vbGliZ25hcmwtKi5zbyBsaWJnbmFybC00LjUuc28KK2xuIC1z ZiAuLi8uLi8uLi8uLi8uLi8le19saWJ9L2xpYmduYXJsLSouc28gbGliZ25hcmwtNC42LnNvCiBs biAtc2YgLi4vLi4vLi4vLi4vLi4vJXtfbGlifS9saWJnbmF0LSouc28gbGliZ25hdC5zbwotbG4g LXNmIC4uLy4uLy4uLy4uLy4uLyV7X2xpYn0vbGliZ25hdC0qLnNvIGxpYmduYXQtNC41LnNvCits biAtc2YgLi4vLi4vLi4vLi4vLi4vJXtfbGlifS9saWJnbmF0LSouc28gbGliZ25hdC00LjYuc28K IGZpCiBwb3BkCiBmaQogJWVuZGlmCiAKICVpZmFyY2ggc3BhcmN2OSBwcGMKLWxuIC1zZiAuLi8u Li8uLi8uLi8uLi9saWI2NC9saWJvYmpjLnNvLjIgNjQvbGlib2JqYy5zbworbG4gLXNmIC4uLy4u Ly4uLy4uLy4uL2xpYjY0L2xpYm9iamMuc28uMyA2NC9saWJvYmpjLnNvCiBsbiAtc2YgLi4vYGVj aG8gLi4vLi4vLi4vLi4vbGliL2xpYnN0ZGMrKy5zby42LipbMC05XSB8IHNlZCBzfi9saWIvfi9s aWI2NC9+YCA2NC9saWJzdGRjKysuc28KIGxuIC1zZiAuLi9gZWNobyAuLi8uLi8uLi8uLi9saWIv bGliZ2ZvcnRyYW4uc28uMy4qIHwgc2VkIHN+L2xpYi9+L2xpYjY0L35gIDY0L2xpYmdmb3J0cmFu LnNvCiBsbiAtc2YgLi4vYGVjaG8gLi4vLi4vLi4vLi4vbGliL2xpYmdvbXAuc28uMS4qIHwgc2Vk IHN+L2xpYi9+L2xpYjY0L35gIDY0L2xpYmdvbXAuc28KQEAgLTEwMzQsOSArMTAzOSw5IEBAIGVj aG8gJ0lOUFVUICggJXtfcHJlZml4fS9saWIvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYi9saWJtdWRm bGFwdGguc28uMC4qIHwgc2VkICdzCiBlY2hvICdJTlBVVCAoICV7X3ByZWZpeH0vbGliNjQvJ2Bl Y2hvIC4uLy4uLy4uLy4uL2xpYi9saWJtdWRmbGFwLnNvLjAuKiB8IHNlZCAncyxeLipsaWJtLGxp Ym0sJ2AnICknID4gNjQvbGlibXVkZmxhcC5zbwogZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xp YjY0LydgZWNobyAuLi8uLi8uLi8uLi9saWIvbGlibXVkZmxhcHRoLnNvLjAuKiB8IHNlZCAncyxe LipsaWJtLGxpYm0sJ2AnICknID4gNjQvbGlibXVkZmxhcHRoLnNvCiAlaWYgJXtidWlsZF9qYXZh fQotbG4gLXNmIC4uL2BlY2hvIC4uLy4uLy4uLy4uL2xpYi9saWJnY2ouc28uMTEuKiB8IHNlZCBz fi9saWIvfi9saWI2NC9+YCA2NC9saWJnY2ouc28KLWxuIC1zZiAuLi9gZWNobyAuLi8uLi8uLi8u Li9saWIvbGliZ2NqLXRvb2xzLnNvLjExLiogfCBzZWQgc34vbGliL34vbGliNjQvfmAgNjQvbGli Z2NqLXRvb2xzLnNvCi1sbiAtc2YgLi4vYGVjaG8gLi4vLi4vLi4vLi4vbGliL2xpYmdpai5zby4x MS4qIHwgc2VkIHN+L2xpYi9+L2xpYjY0L35gIDY0L2xpYmdpai5zbworbG4gLXNmIC4uL2BlY2hv IC4uLy4uLy4uLy4uL2xpYi9saWJnY2ouc28uMTIuKiB8IHNlZCBzfi9saWIvfi9saWI2NC9+YCA2 NC9saWJnY2ouc28KK2xuIC1zZiAuLi9gZWNobyAuLi8uLi8uLi8uLi9saWIvbGliZ2NqLXRvb2xz LnNvLjEyLiogfCBzZWQgc34vbGliL34vbGliNjQvfmAgNjQvbGliZ2NqLXRvb2xzLnNvCitsbiAt c2YgLi4vYGVjaG8gLi4vLi4vLi4vLi4vbGliL2xpYmdpai5zby4xMi4qIHwgc2VkIHN+L2xpYi9+ L2xpYjY0L35gIDY0L2xpYmdpai5zbwogbG4gLXNmIGxpYjMyL2xpYmdjal9iYy5zbyBsaWJnY2pf YmMuc28KIGxuIC1zZiAuLi9saWI2NC9saWJnY2pfYmMuc28gNjQvbGliZ2NqX2JjLnNvCiAlZW5k aWYKQEAgLTEwNjAsNyArMTA2NSw3IEBAIGxuIC1zZiAuLi9saWI2NC9hZGFsaWIgNjQvYWRhbGli CiAlZW5kaWYKICVpZmFyY2ggJXttdWx0aWxpYl82NF9hcmNoc30KIG1rZGlyIC1wIDMyCi1sbiAt c2YgLi4vLi4vLi4vLi4vbGlib2JqYy5zby4yIDMyL2xpYm9iamMuc28KK2xuIC1zZiAuLi8uLi8u Li8uLi9saWJvYmpjLnNvLjMgMzIvbGlib2JqYy5zbwogbG4gLXNmIC4uL2BlY2hvIC4uLy4uLy4u Ly4uL2xpYjY0L2xpYnN0ZGMrKy5zby42LipbMC05XSB8IHNlZCBzfi8uLi9saWI2NC9+L35gIDMy L2xpYnN0ZGMrKy5zbwogbG4gLXNmIC4uL2BlY2hvIC4uLy4uLy4uLy4uL2xpYjY0L2xpYmdmb3J0 cmFuLnNvLjMuKiB8IHNlZCBzfi8uLi9saWI2NC9+L35gIDMyL2xpYmdmb3J0cmFuLnNvCiBsbiAt c2YgLi4vYGVjaG8gLi4vLi4vLi4vLi4vbGliNjQvbGliZ29tcC5zby4xLiogfCBzZWQgc34vLi4v bGliNjQvfi9+YCAzMi9saWJnb21wLnNvCkBAIC0xMDcwLDkgKzEwNzUsOSBAQCBlY2hvICdJTlBV VCAoICV7X3ByZWZpeH0vbGliNjQvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYjY0L2xpYm11ZGZsYXB0 aC5zby4wLiogfCBzZQogZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYi8nYGVjaG8gLi4vLi4v Li4vLi4vbGliNjQvbGlibXVkZmxhcC5zby4wLiogfCBzZWQgJ3MsXi4qbGlibSxsaWJtLCdgJyAp JyA+IDMyL2xpYm11ZGZsYXAuc28KIGVjaG8gJ0lOUFVUICggJXtfcHJlZml4fS9saWIvJ2BlY2hv IC4uLy4uLy4uLy4uL2xpYjY0L2xpYm11ZGZsYXB0aC5zby4wLiogfCBzZWQgJ3MsXi4qbGlibSxs aWJtLCdgJyApJyA+IDMyL2xpYm11ZGZsYXB0aC5zbwogJWlmICV7YnVpbGRfamF2YX0KLWxuIC1z ZiAuLi9gZWNobyAuLi8uLi8uLi8uLi9saWI2NC9saWJnY2ouc28uMTEuKiB8IHNlZCBzfi8uLi9s aWI2NC9+L35gIDMyL2xpYmdjai5zbwotbG4gLXNmIC4uL2BlY2hvIC4uLy4uLy4uLy4uL2xpYjY0 L2xpYmdjai10b29scy5zby4xMS4qIHwgc2VkIHN+Ly4uL2xpYjY0L34vfmAgMzIvbGliZ2NqLXRv b2xzLnNvCi1sbiAtc2YgLi4vYGVjaG8gLi4vLi4vLi4vLi4vbGliNjQvbGliZ2lqLnNvLjExLiog fCBzZWQgc34vLi4vbGliNjQvfi9+YCAzMi9saWJnaWouc28KK2xuIC1zZiAuLi9gZWNobyAuLi8u Li8uLi8uLi9saWI2NC9saWJnY2ouc28uMTIuKiB8IHNlZCBzfi8uLi9saWI2NC9+L35gIDMyL2xp Ymdjai5zbworbG4gLXNmIC4uL2BlY2hvIC4uLy4uLy4uLy4uL2xpYjY0L2xpYmdjai10b29scy5z by4xMi4qIHwgc2VkIHN+Ly4uL2xpYjY0L34vfmAgMzIvbGliZ2NqLXRvb2xzLnNvCitsbiAtc2Yg Li4vYGVjaG8gLi4vLi4vLi4vLi4vbGliNjQvbGliZ2lqLnNvLjEyLiogfCBzZWQgc34vLi4vbGli NjQvfi9+YCAzMi9saWJnaWouc28KICVlbmRpZgogbXYgLWYgJXtidWlsZHJvb3R9JXtfcHJlZml4 fS9saWIvbGliZ2ZvcnRyYW4uKmEgMzIvCiBtdiAtZiAle2J1aWxkcm9vdH0le19wcmVmaXh9L2xp Yi9saWJvYmpjLiphIDMyLwpAQCAtMTEyMSw3ICsxMTI2LDcgQEAgcG9wZAogY2htb2QgNzU1ICV7 YnVpbGRyb290fSV7X3ByZWZpeH0vJXtfbGlifS9saWJnZm9ydHJhbi5zby4zLioKIGNobW9kIDc1 NSAle2J1aWxkcm9vdH0le19wcmVmaXh9LyV7X2xpYn0vbGliZ29tcC5zby4xLioKIGNobW9kIDc1 NSAle2J1aWxkcm9vdH0le19wcmVmaXh9LyV7X2xpYn0vbGlibXVkZmxhcHssdGh9LnNvLjAuKgot Y2htb2QgNzU1ICV7YnVpbGRyb290fSV7X3ByZWZpeH0vJXtfbGlifS9saWJvYmpjLnNvLjIuKgor Y2htb2QgNzU1ICV7YnVpbGRyb290fSV7X3ByZWZpeH0vJXtfbGlifS9saWJvYmpjLnNvLjMuKgog CiAlaWYgJXtidWlsZF9hZGF9CiBjaG1vZCA3NTUgJXtidWlsZHJvb3R9JXtfcHJlZml4fS8le19s aWJ9L2xpYmduYXJsKnNvKgpAQCAtMTYzNiw3ICsxNjQxLDcgQEAgZmkKIAogJWZpbGVzIC1uIGxp Ym9iamMKICVkZWZhdHRyKC0scm9vdCxyb290LC0pCi0le19wcmVmaXh9LyV7X2xpYn0vbGlib2Jq Yy5zby4yKgorJXtfcHJlZml4fS8le19saWJ9L2xpYm9iamMuc28uMyoKIAogJWZpbGVzIGdmb3J0 cmFuCiAlZGVmYXR0cigtLHJvb3Qscm9vdCwtKQpAQCAtMTk1NSwxMTkgKzE5NjAsNTQgQEAgZmkK ICVlbmRpZgogCiAlY2hhbmdlbG9nCi0qIFR1ZSBOb3YgMzAgMjAxMCBKYWt1YiBKZWxpbmVrIDxq YWt1YkByZWRoYXQuY29tPiA0LjUuMS02Ci0tIHVwZGF0ZSBmcm9tIGdjYy00XzUtYnJhbmNoCi0g IC0gUFJzIGFkYS80MDc3NywgYy80NjU0NywgZGVidWcvNDYyNTgsIGZvcnRyYW4vNDU3NDIsIGZv cnRyYW4vNDY2MzgsCi0JZm9ydHJhbi80NjY2OCwgbWlkZGxlLWVuZC80MzA1NywgbWlkZGxlLWVu ZC80NjY1MSwKLQlydGwtb3B0aW1pemF0aW9uLzQ2MzE1LCBydGwtb3B0aW1pemF0aW9uLzQ2NTcx LCB0YXJnZXQvMzExMDAsCi0JdGFyZ2V0LzQ0MjY2LCB0YXJnZXQvNDU4MDcsIHRyZWUtb3B0aW1p emF0aW9uLzQ0NTQ1LAotCXRyZWUtb3B0aW1pemF0aW9uLzQ2NDkxLCB0cmVlLW9wdGltaXphdGlv bi80NjQ5OCwKLQl0cmVlLW9wdGltaXphdGlvbi80NjY3NQotJWlmIDAle2ZlZG9yYX0gPj0gMTUK LS0gcmVidWlsdCBhZ2FpbnN0IG5ldyBtcGZyIGFuZCBsaWJtcGMKLSVlbmRpZgotCi0qIEZyaSBO b3YgMTIgMjAxMCBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjUuMS01Ci0tIHVw ZGF0ZSBmcm9tIGdjYy00XzUtYnJhbmNoCi0gIC0gUFJzIGJvb3RzdHJhcC80NDQ1NSwgYm9vdHN0 cmFwLzQ0NjIxLCBjKysvNDU4OTQsIGMrKy80NTk4MywgYysrLzQ2MDI0LAotCWMrKy80NjE2MCwg Yy80NDc3MiwgYy80NTk2OSwgZGVidWcvNDI0ODcsIGRlYnVnLzQ0ODMyLCBkZWJ1Zy80NTY1NiwK LQlkZWJ1Zy80NTkzOSwgZm9ydHJhbi80MjE2OSwgZm9ydHJhbi80NTc0OCwgZm9ydHJhbi80NjAw NywKLQlmb3J0cmFuLzQ2MTQwLCBmb3J0cmFuLzQ2MTUyLCBqYXZhLzQzODM5LCBsaWJmZmkvNDU2 NzcsCi0JbGliZm9ydHJhbi80NTcxMCwgbGliZ2ZvcnRyYW4vNDYwMTAsIGxpYmdmb3J0cmFuLzQ2 MzczLAotCWxpYnN0ZGMrKy80NTQwMywgbGlic3RkYysrLzQ1NzExLCBsaWJzdGRjKysvNDU5MjQs IGxpYnN0ZGMrKy80NTk5OSwKLQltaWRkbGUtZW5kLzQzNjkwLCBtaWRkbGUtZW5kLzQ0NTY5LCBt aWRkbGUtZW5kLzQ1NTY5LAotCW1pZGRsZS1lbmQvNDU4NjksIG1pZGRsZS1lbmQvNDYwMTksIG1p ZGRsZS1lbmQvNDY0MTksCi0JcnRsLW9wdC80NjIyNiwgcnRsLW9wdGltaXphdGlvbi80MzM1OCwg cnRsLW9wdGltaXphdGlvbi80NDY5MSwKLQlydGwtb3B0aW1pemF0aW9uLzQ2MjM3LCB0YXJnZXQv NDIwNzAsIHRhcmdldC80MzcxNSwgdGFyZ2V0LzQzNzY0LAotCXRhcmdldC80NDQ1MiwgdGFyZ2V0 LzQ1ODIwLCB0YXJnZXQvNDU4NDMsIHRhcmdldC80NTk0NiwgdGFyZ2V0LzQ2MDk4LAotCXRhcmdl dC80NjE1MywgdGFyZ2V0LzQ2NDE5LCB0cmVlLW9wdGltaXphdGlvbi80NTMxNCwKLQl0cmVlLW9w dGltaXphdGlvbi80NTc1MiwgdHJlZS1vcHRpbWl6YXRpb24vNDU4NTQsCi0JdHJlZS1vcHRpbWl6 YXRpb24vNDU5MDIsIHRyZWUtb3B0aW1pemF0aW9uLzQ1OTgyLAotCXRyZWUtb3B0aW1pemF0aW9u LzQ2MDk5LCB0cmVlLW9wdGltaXphdGlvbi80NjEwNywKLQl0cmVlLW9wdGltaXphdGlvbi80NjE2 NSwgdHJlZS1vcHRpbWl6YXRpb24vNDYxNjcsCi0JdHJlZS1vcHRpbWl6YXRpb24vNDYxNzcsIHRy ZWUtb3B0aW1pemF0aW9uLzQ2MzU1Ci0tIC1XdW51c2VkLWJ1dC1zZXQqIGZpeCBmb3IgY29tcHV0 ZWQgZ290byAoUFIgYy80NjAxNSkKLS0gZml4IC1XdW51c2VkLWJ1dC1zZXQqIGZvciBPYmpDIGFu ZCBPYmpDKysKLS0gVlRBIGJhY2twb3J0cwotICAtIFBScyBib290c3RyYXAvNDM5OTQsIGJvb3Rz dHJhcC80NTYzMCwgZGVidWcvNDM0NzgsIGRlYnVnLzQ0MDIzLAotCWRlYnVnLzQ2MTcxLCBkZWJ1 Zy80NjI1MiwgZGVidWcvNDYyNTUsIHJ0bC1vcHRpbWl6YXRpb24vNDUxNjIsCi0JdHJlZS1vcHRp bWl6YXRpb24vNDYwNjYKLSVpZiAwJXs/ZmVkb3JhfSA+IDE0Ci0tIERXX09QX0dOVV9pbXBsaWNp dF9wb2ludGVyIHN1cHBvcnQKLSVlbmRpZgotCi0qIEZyaSBTZXAgMjQgMjAxMCBKYWt1YiBKZWxp bmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjUuMS00Ci0tIHVwZGF0ZSBmcm9tIGdjYy00XzUtYnJh bmNoCi0gIC0gUFJzIGJvb3RzdHJhcC80Mzg0NywgZGVidWcvNDM2MjgsIGZvcnRyYW4vNDUwODEs IGZvcnRyYW4vNDU1OTUsCi0JamF2YS80NDA5NSwgbGliZm9ydHJhbi80NTUzMiwgbGlic3RkYysr LzQ1Mzk4LCBtaWRkbGUtZW5kLzQwMzg2LAotCW1pZGRsZS1lbmQvNDQ1NTQsIG1pZGRsZS1lbmQv NDQ3NjMsIG1pZGRsZS1lbmQvNDUzMTIsCi0JbWlkZGxlLWVuZC80NTU2NywgbWlkZGxlLWVuZC80 NTY3OCwgbWlkZGxlLWVuZC80NTcwNCwgb3RoZXIvNDU0NDMsCi0JcnRsLW9wdGltaXphdGlvbi80 MTA4NSwgcnRsLW9wdGltaXphdGlvbi80MTA4NywKLQlydGwtb3B0aW1pemF0aW9uLzQyNzc1LCBy dGwtb3B0aW1pemF0aW9uLzQ0OTE5LAotCXJ0bC1vcHRpbWl6YXRpb24vNDUwNTEsIHJ0bC1vcHRp bWl6YXRpb24vNDU1OTMsCi0JcnRsLW9wdGltaXphdGlvbi80NTcyOCwgdGFyZ2V0LzM1NjY0LCB0 YXJnZXQvMzY1MDIsIHRhcmdldC80MDk1OSwKLQl0YXJnZXQvNDIzMTMsIHRhcmdldC80NDY1MSwg dGFyZ2V0LzQ1Njk0LCB0YXJnZXQvNDU3MjYsCi0JdHJlZS1vcHRpbWl6YXRpb24vNDU2MjMsIHRy ZWUtb3B0aW1pemF0aW9uLzQ1NzA5Ci0gIC0gZml4IElDRSBpbiBkd2FyZjJvdXRfZmluaXNoICgj NjMyODQ3LCBQUiBkZWJ1Zy80NTY2MCkKLSAgLSBmaXggY29tYmluZXIgKCM2MzQ3NTcsIFBSIHJ0 bC1vcHRpbWl6YXRpb24vNDU2OTUpCi0tIHlldCBhbm90aGVyIC1XdW51c2VkLWJ1dC1zZXQqIGZp eCBmb3IgQysrIGNvbnN0cyBpbgotICB0ZW1wbGF0ZXMgKFBSIGMrKy80NTU4OCkKLS0gZW1pdCBz bGlnaHRseSBtb3JlIGNvbXBhY3QgLmVoX2ZyYW1lCi0KLSogVHVlIFNlcCAgNyAyMDEwIEpha3Vi IEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+IDQuNS4xLTMKLS0gdXBkYXRlIGZyb20gZ2NjLTRf NS1icmFuY2gKLSAgLSBQUnMgYysrLzQ0OTkxLCBjKysvNDUzMTUsIGRlYnVnLzQ1NTAwLCBmb3J0 cmFuLzQ1MDE5LCBmb3J0cmFuLzQ1MTg2LAotCWZvcnRyYW4vNDUzNDQsIGZvcnRyYW4vNDU0ODks IGZvcnRyYW4vNDU1MzAsIGxpYnN0ZGMrKy80NTI4MywKLQlsdG8vNDU0OTYsIG1pZGRsZS1lbmQv NDQ2MzIsIG1pZGRsZS1lbmQvNDUyOTIsIG1pZGRsZS1lbmQvNDU0MjMsCi0JbWlkZGxlLWVuZC80 NTQ1OCwgbWlkZGxlLWVuZC80NTQ4NCwgcnRsLW9wdGltaXphdGlvbi80NDg1OCwKLQlydGwtb3B0 aW1pemF0aW9uLzQ1MzUzLCBydGwtb3B0aW1pemF0aW9uLzQ1NDAwLCB0YXJnZXQvNDE0ODQsCi0J dGFyZ2V0LzQ1MDcwLCB0YXJnZXQvNDUyOTYsIHRhcmdldC80NTMyNywgdHJlZS1vcHRpbWl6YXRp b24vNDUyNDEsCi0JdHJlZS1vcHRpbWl6YXRpb24vNDUyNjAsIHRyZWUtb3B0aW1pemF0aW9uLzQ1 MzkzCi0gIC0gZml4IFRZUEVOQU1FX1RZUEUgaGFuZGxpbmcgKCM2MjAwOTUsIFBScyBjKysvNDUy MDAsIGMrKy80NTI5MywgYysrLzQ1NTU4KQotCi0qIFR1ZSBBdWcgMzEgMjAxMCBEZW5uaXMgR2ls bW9yZSA8ZGVubmlzQGF1c2lsLnVzPiA0LjUuMS0yCi0tIGVuYWJsZSBjbG9vZyBvbiBzcGFyYyBh cmNoZXMKLQotKiBUaHUgQXVnIDEyIDIwMTAgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNv bT4gNC41LjEtMQotLSB1cGRhdGUgZnJvbSBnY2MtNF81LWJyYW5jaAotICAtIEdDQyA0LjUuMSBy ZWxlYXNlCi0gIC0gUFJzIGJvZWhtLWdjLzM0NTQ0LCBjKysvNDUxMTIsIGZvcnRyYW4vMzE1ODgs IGZvcnRyYW4vNDIwNTEsCi0JZm9ydHJhbi80Mzk1NCwgZm9ydHJhbi80NDA2NCwgZm9ydHJhbi80 NDY2MCwgZm9ydHJhbi80NDkyOSwKLQlmb3J0cmFuLzQ1MTUxLCBsaWJzdGRjKysvNDQ5NjMsIG1p ZGRsZS1lbmQvNDQxMzMsIG1pZGRsZS1lbmQvNDUwMzQsCi0JbWlkZGxlLWVuZC80NTI2MiwgdGFy Z2V0LzQxMDg5LCB0YXJnZXQvNDM2OTgsIHRhcmdldC80NDgwNSwKLQl0ZXN0c3VpdGUvNDMyODMs IHRyZWUtb3B0aW1pemF0aW9uLzQ0OTE0LCB0cmVlLW9wdGltaXphdGlvbi80NTA1MiwKLQl0cmVl LW9wdGltaXphdGlvbi80NTEwOQotICAtIGZpeCBWVEEgSUNFIGluIGNhbGxlci1zYXZlLmMgKCM2 MjIwNjAsIFBSIGRlYnVnLzQ1MjU5KQotLSBmaXggdXAgZ2RiIGxpYnN0ZGMrKyBwcmV0dHkgcHJp bnRpbmcgKCM2MjE3MTcpCi0tIGZpeCB1cCBsaWJnY2ouc28sIGxpYmdpai5zbyBhbmQgbGliZ2Nq LXRvb2xzLnNvIHN5bWxpbmtzICgjNjE5MTU2KQotCi0qIEZyaSBKdWwgMzAgMjAxMCBKYWt1YiBK ZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiA0LjUuMC00Ci0tIHVwZGF0ZSBmcm9tIGdjYy00XzUt YnJhbmNoCi0gIC0gUFJzIGMrKy80MzAxNiwgYysrLzQ0OTk2LCBjKysvNDUwMDgsIGMvNDUwNzks IGRlYnVnLzQ1MDE1LCBmb3J0cmFuLzMwNjY4LAotCWZvcnRyYW4vMzEzNDYsIGZvcnRyYW4vMzQy NjAsIGZvcnRyYW4vNDAwMTEsIHRlc3RzdWl0ZS8zODk0NiwKLQl0cmVlLW9wdGltaXphdGlvbi80 NDkwMCwgdHJlZS1vcHRpbWl6YXRpb24vNDQ5NzcKLSAgLSBmaXggdmVjdG9yaXplciBJQ0UgKCM2 MTc0OTIsIFBSIHRyZWUtb3B0aW1pemF0aW9uLzQ1MDQ3KQotLSB1c2UgLS1lbmFibGUtbGlua2Vy LWJ1aWxkLWlkIGluIGNvbmZpZ3VyeSBpbnN0ZWFkIG9mIHBhdGNoaW5nCi0gIC0tYnVpbGQtaWQg c3VwcG9ydCBpbgotLSBWVEEgYmFja3BvcnRzCi0gIC0gUFJzIGRlYnVnLzQ1MDU1LCBydGwtb3B0 aW1pemF0aW9uLzQ1MTM3LCBkZWJ1Zy80NTAwMywKLQlkZWJ1Zy80NTAwNiwgYm9vdHN0cmFwLzQ1 MDI4Ci0KLSogRnJpIEp1bCAxNiAyMDEwIEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+ IDQuNS4wLTMKLS0gdXBkYXRlIGZyb20gZ2NjLTRfNS1icmFuY2gKLSAgLSBQUnMgYWRhLzQzNzMx LCBmb3J0cmFuLzQ0NzczLCBwY2gvMTQ5NDAsIHRlc3RzdWl0ZS80NDMyNQotICAtIGZpeCB2ZWN0 b3JpemVyICgjNjE0Mzc1LCAjNjE0ODE0LCBQUiB0cmVlLW9wdGltaXphdGlvbi80NDg4NikKLS0g Zml4IGZvcnRyYW4gQ0hBUkFDVEVSIHR5cGUgU0VMRUNUIENBU0UgaGFuZGxpbmcgKFBSIGZvcnRy YW4vNDAyMDYpCi0tIGZpeCBpbmxpbmUtYXNtIGNoZWNrIGZvciBhdXRvLWluYy1kZWMgb3BlcmFu ZHMgKFBSIHRlc3RzdWl0ZS80NDcwMSkKLS0gZml4IHZhX3N0YXJ0IG9uIHg4Nl82NCAoUFIgdGFy Z2V0LzQ0OTQyKQotCi0qIEZyaSBKdWwgIDkgMjAxMCBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRo YXQuY29tPiA0LjUuMC0yCi0tIHVwZGF0ZSBmcm9tIGdjYy00XzUtYnJhbmNoCi0gIC0gUFJzIGMr Ky80NDcwMywgZm9ydHJhbi80NDg0NywgbWlkZGxlLWVuZC80MTM1NSwgbWlkZGxlLWVuZC80NDgy OCwKLQl0YXJnZXQvNDM4ODgsIHRyZWUtb3B0aW1pemF0aW9uLzQ0Mjg0Ci0tIHVzZSBEV19PUF9j b25zdFs0OF11IGluc3RlYWQgb2YgRFdfT1BfYWRkciBiZWZvcmUgRFdfT1BfR05VX3B1c2hfdGxz X2FkZHJlc3MKLS0gZml4IGEgbXVsdGlsaWIgaXNzdWUgd2l0aCAqLnB5W29jXSBmaWxlcyBpbiBs aWJzdGRjKysgKCM2MTI3NDIpCi0tIGZpeCB1cCBsaWJnY2pfYmMuc28KLQotKiBXZWQgSnVsICA3 IDIwMTAgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC41LjAtMQotLSBpbml0aWFs IDQuNSBwYWNrYWdlLCB1c2luZyBuZXdseSBjcmVhdGVkIHJlZGhhdC9nY2MtNF81LWJyYW5jaAor KiBTYXQgSmFuIDIyIDIwMTEgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC42LjAt MC4yCistIHVwZGF0ZSBmcm9tIHRoZSB0cnVuaworICAtIFBScyBib290c3RyYXAvNDcwNTUsIGJv b3RzdHJhcC80NzE4NywgYm9vdHN0cmFwLzQ3MjE1LCBjKysvMzM1NTgsCisJYysrLzQ1NTIwLCBj KysvNDY1NTIsIGMrKy80NjY1OCwgYysrLzQ2Njg4LCBjKysvNDY5MDMsIGMrKy80Njk3NywKKwlj KysvNDcwMjIsIGMrKy80NzA0MSwgYysrLzQ3MDY3LCBjKysvNDcyMTMsIGMrKy80NzIxOCwgYysr LzQ3Mjg5LAorCWMrKy80NzI5MSwgYysrLzQ3MzAzLCBjKysvNDczODgsIGMvNDcxNTAsIGRlYnVn LzQ2MjQwLCBkZWJ1Zy80NjU4MywKKwlkZWJ1Zy80NjcwNCwgZGVidWcvNDY3MjQsIGRlYnVnLzQ2 OTU1LCBkZWJ1Zy80NzA3OSwgZGVidWcvNDcxMDYsCisJZGVidWcvNDcyMDksIGRlYnVnLzQ3Mjgz LCBkZWJ1Zy80NzQwMiwgZGVidWcvUFI0Njk3MywgZHJpdmVyLzQyNDQ1LAorCWRyaXZlci80NzI0 NCwgZm9ydHJhbi8zMzExNywgZm9ydHJhbi8zODUzNiwgZm9ydHJhbi80MTU4MCwKKwlmb3J0cmFu LzQ1Nzc3LCBmb3J0cmFuLzQ1ODQ4LCBmb3J0cmFuLzQ2MDE3LCBmb3J0cmFuLzQ2MzEzLAorCWZv cnRyYW4vNDY0MDIsIGZvcnRyYW4vNDY0MDUsIGZvcnRyYW4vNDY0MTYsIGZvcnRyYW4vNDY0Nzgs CisJZm9ydHJhbi80NjYyNSwgZm9ydHJhbi80NjgxNywgZm9ydHJhbi80Njg5NiwgZm9ydHJhbi80 NzAyNCwKKwlmb3J0cmFuLzQ3MDUxLCBmb3J0cmFuLzQ3MTc0LCBmb3J0cmFuLzQ3MTc3LCBmb3J0 cmFuLzQ3MTgwLAorCWZvcnRyYW4vNDcxODIsIGZvcnRyYW4vNDcxODksIGZvcnRyYW4vNDcxOTQs IGZvcnRyYW4vNDcxOTUsCisJZm9ydHJhbi80NzIwNCwgZm9ydHJhbi80NzIyNCwgZm9ydHJhbi80 NzI0MCwgZm9ydHJhbi80NzI2MCwKKwlmb3J0cmFuLzQ3MjY4LCBmb3J0cmFuLzQ3Mjk1LCBmb3J0 cmFuLzQ3MzI3LCBmb3J0cmFuLzQ3MzMxLAorCWZvcnRyYW4vNDczNzcsIGZvcnRyYW4vNDczOTQs IGdjYy80NjkwMiwgbGliZm9ydHJhbi80NjI2NywKKwlsaWJmb3J0cmFuLzQ3Mjk2LCBsaWJmb3J0 cmFuLzQ3MzIyLCBsaWJnZm9ydHJhbi80NzE1NCwKKwlsaWJnZm9ydHJhbi80NzI5NiwgbGlic3Rk YysrLzM2MTA0LCBsaWJzdGRjKysvNDcwNDUsIGxpYnN0ZGMrKy80NzE0NSwKKwlsaWJzdGRjKysv NDcxODUsIGxpYnN0ZGMrKy80NzMyMCwgbGlic3RkYysrLzQ3MzIxLCBsaWJzdGRjKysvNDczMjMs CisJbGlic3RkYysrLzQ3MzU0LCBsdG8vNDUzNzUsIGx0by80NTcyMSwgbHRvLzQ2MDgzLCBsdG8v NDY3NjAsCisJbHRvLzQ3MTYyLCBsdG8vNDcxODgsIGx0by80NzIyMiwgbHRvLzQ3MjI1LCBsdG8v NDcyNTksIGx0by80NzI2NCwKKwltaWRkbGUtZW5kLzMyNTExLCBtaWRkbGUtZW5kLzQ1MjM1LCBt aWRkbGUtZW5kLzQ1NTY2LAorCW1pZGRsZS1lbmQvNDY4MjMsIG1pZGRsZS1lbmQvNDY4OTQsIG1p ZGRsZS1lbmQvNDcyODEsCisJbWlkZGxlLWVuZC80NzM3MCwgbWlkZGxlLWVuZC80NzM5NSwgb2Jq Yy80NTk4OSwgb2JqYy80NzA3OCwKKwlvYmpjLzQ3MjMyLCBvYmpjLzQ3MzE0LCBvdGhlci80NTkx NSwgb3RoZXIvNDY5NDYsIHByZXByb2Nlc3Nvci8zOTIxMywKKwlydGwtb3B0aW1pemF0aW9uLzM5 MDc3LCBydGwtb3B0aW1pemF0aW9uLzQxNjE5LAorCXJ0bC1vcHRpbWl6YXRpb24vNDUzNTIsIHJ0 bC1vcHRpbWl6YXRpb24vNDcyMTYsCisJcnRsLW9wdGltaXphdGlvbi80NzI5OSwgcnRsLW9wdGlt aXphdGlvbi80NzMzNywKKwlydGwtb3B0aW1pemF0aW9uLzQ3MzY2LCB0YXJnZXQvMTkxNjIsIHRh cmdldC8zODExOCwgdGFyZ2V0LzQzMzA5LAorCXRhcmdldC80NTI1OCwgdGFyZ2V0LzQ2MDM3LCB0 YXJnZXQvNDY2NTUsIHRhcmdldC80Njk5NywgdGFyZ2V0LzQ3MjAxLAorCXRhcmdldC80NzIxOSwg dGFyZ2V0LzQ3MjUxLCB0YXJnZXQvNDczMTgsIHRlc3RzdWl0ZS8zMzAzMywKKwl0ZXN0c3VpdGUv NDExNDYsIHRlc3RzdWl0ZS80NTM0MiwgdGVzdHN1aXRlLzQ2MjMwLCB0ZXN0c3VpdGUvNDY5MTIs CisJdGVzdHN1aXRlLzQ3MzI1LCB0ZXN0c3VpdGUvNDczNzEsIHRyZWUtb3B0aW1pemF0aW9uLzQ1 OTM0LAorCXRyZWUtb3B0aW1pemF0aW9uLzQ1OTY3LCB0cmVlLW9wdGltaXphdGlvbi80NjAyMSwK Kwl0cmVlLW9wdGltaXphdGlvbi80NjA3NiwgdHJlZS1vcHRpbWl6YXRpb24vNDYxMzAsCisJdHJl ZS1vcHRpbWl6YXRpb24vNDYzMDIsIHRyZWUtb3B0aW1pemF0aW9uLzQ2MzY3LAorCXRyZWUtb3B0 aW1pemF0aW9uLzQ3MDA1LCB0cmVlLW9wdGltaXphdGlvbi80NzA1MywKKwl0cmVlLW9wdGltaXph dGlvbi80NzA1NiwgdHJlZS1vcHRpbWl6YXRpb24vNDcwODYsCisJdHJlZS1vcHRpbWl6YXRpb24v NDcxMzksIHRyZWUtb3B0aW1pemF0aW9uLzQ3MTQxLAorCXRyZWUtb3B0aW1pemF0aW9uLzQ3MTY3 LCB0cmVlLW9wdGltaXphdGlvbi80NzE3OSwKKwl0cmVlLW9wdGltaXphdGlvbi80NzIzMywgdHJl ZS1vcHRpbWl6YXRpb24vNDcyMzQsCisJdHJlZS1vcHRpbWl6YXRpb24vNDcyMzksIHRyZWUtb3B0 aW1pemF0aW9uLzQ3Mjc2LAorCXRyZWUtb3B0aW1pemF0aW9uLzQ3MjgwLCB0cmVlLW9wdGltaXph dGlvbi80NzI4NiwKKwl0cmVlLW9wdGltaXphdGlvbi80NzI5MCwgdHJlZS1vcHRpbWl6YXRpb24v NDczMTMsCisJdHJlZS1vcHRpbWl6YXRpb24vNDczNTUsIHRyZWUtb3B0aW1pemF0aW9uLzQ3MzY1 LAorCXRyZWUtb3B0aW1pemF0aW9uLzQ3MzkxLCB0cmVlLW9wdG1pemF0aW9uLzQ2NDY5CistIGFk ZCBzeXN0ZW10YXAgcHJvYmUgdG8gX1Vud2luZF9EZWJ1Z0hvb2sKKworKiBUdWUgSmFuICA0IDIw MTEgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC42LjAtMC4xCistIG5ldyBwYWNr YWdlCgpkaWZmIC0tZ2l0IGEvZ2NjNDUtYysrLWJ1aWx0aW4tcmVkZWNsLnBhdGNoIGIvZ2NjNDUt YysrLWJ1aWx0aW4tcmVkZWNsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAx ZjM2ZjFmLi4wMDAwMDAwCi0tLSBhL2djYzQ1LWMrKy1idWlsdGluLXJlZGVjbC5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDEwMiArMCwwIEBACi0yMDA3LTEwLTAyICBKYWt1YiBKZWxpbmVrICA8 amFrdWJAcmVkaGF0LmNvbT4KLQotCSogZGVjbC5jIChkdXBsaWNhdGVfZGVjbHMpOiBXaGVuIHJl ZGVjbGFyaW5nIGEgYnVpbHRpbiBmdW5jdGlvbiwKLQlrZWVwIHRoZSBtZXJnZWQgZGVjbCBidWls dGluIHdoZW5ldmVyIHR5cGVzIG1hdGNoLCBldmVuIGlmIG5ldwotCWRlY2wgZGVmaW5lcyBhIGZ1 bmN0aW9uLgotCi0JKiBnY2MuZGcvYnVpbHRpbnMtNjUuYzogTmV3IHRlc3QuCi0JKiBnKysuZGcv ZXh0L2J1aWx0aW4xMC5DOiBOZXcgdGVzdC4KLQotLS0tIGdjYy9jcC9kZWNsLmMuamoJMjAwNy0x MC0wMSAyMjoxMTowOS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnY2MvY3AvZGVjbC5jCTIwMDctMTAt MDIgMTE6Mzk6NDYuMDAwMDAwMDAwICswMjAwCi1AQCAtMjAwMSwyMyArMjAwMSwyMSBAQCBkdXBs aWNhdGVfZGVjbHMgKHRyZWUgbmV3ZGVjbCwgdHJlZSBvbGRkCi0gCSAgREVDTF9BUkdVTUVOVFMg KG9sZGRlY2wpID0gREVDTF9BUkdVTUVOVFMgKG5ld2RlY2wpOwotIAkgIERFQ0xfUkVTVUxUIChv bGRkZWNsKSA9IERFQ0xfUkVTVUxUIChuZXdkZWNsKTsKLSAJfQotKyAgICAgIC8qIElmIHJlZGVj bGFyaW5nIGEgYnVpbHRpbiBmdW5jdGlvbiwgaXQgc3RheXMgYnVpbHQgaW4uICAqLwotKyAgICAg IGlmICh0eXBlc19tYXRjaCAmJiBERUNMX0JVSUxUX0lOIChvbGRkZWNsKSkKLSsJewotKwkgIERF Q0xfQlVJTFRfSU5fQ0xBU1MgKG5ld2RlY2wpID0gREVDTF9CVUlMVF9JTl9DTEFTUyAob2xkZGVj bCk7Ci0rCSAgREVDTF9GVU5DVElPTl9DT0RFIChuZXdkZWNsKSA9IERFQ0xfRlVOQ1RJT05fQ09E RSAob2xkZGVjbCk7Ci0rCSAgLyogSWYgd2UncmUga2VlcGluZyB0aGUgYnVpbHQtaW4gZGVmaW5p dGlvbiwga2VlcCB0aGUgcnRsLAotKwkgICAgIHJlZ2FyZGxlc3Mgb2YgZGVjbGFyYXRpb24gbWF0 Y2hlcy4gICovCi0rCSAgQ09QWV9ERUNMX1JUTCAob2xkZGVjbCwgbmV3ZGVjbCk7Ci0rCX0KLSAg ICAgICBpZiAobmV3X2RlZmluZXNfZnVuY3Rpb24pCi0gCS8qIElmIGRlZmluaW5nIGEgZnVuY3Rp b24gZGVjbGFyZWQgd2l0aCBvdGhlciBsYW5ndWFnZQotIAkgICBsaW5rYWdlLCB1c2UgdGhlIHBy ZXZpb3VzbHkgZGVjbGFyZWQgbGFuZ3VhZ2UgbGlua2FnZS4gICovCi0gCVNFVF9ERUNMX0xBTkdV QUdFIChuZXdkZWNsLCBERUNMX0xBTkdVQUdFIChvbGRkZWNsKSk7Ci0gICAgICAgZWxzZSBpZiAo dHlwZXNfbWF0Y2gpCi0gCXsKLS0JICAvKiBJZiByZWRlY2xhcmluZyBhIGJ1aWx0aW4gZnVuY3Rp b24sIGFuZCBub3QgYSBkZWZpbml0aW9uLAotLQkgICAgIGl0IHN0YXlzIGJ1aWx0IGluLiAgKi8K LS0JICBpZiAoREVDTF9CVUlMVF9JTiAob2xkZGVjbCkpCi0tCSAgICB7Ci0tCSAgICAgIERFQ0xf QlVJTFRfSU5fQ0xBU1MgKG5ld2RlY2wpID0gREVDTF9CVUlMVF9JTl9DTEFTUyAob2xkZGVjbCk7 Ci0tCSAgICAgIERFQ0xfRlVOQ1RJT05fQ09ERSAobmV3ZGVjbCkgPSBERUNMX0ZVTkNUSU9OX0NP REUgKG9sZGRlY2wpOwotLQkgICAgICAvKiBJZiB3ZSdyZSBrZWVwaW5nIHRoZSBidWlsdC1pbiBk ZWZpbml0aW9uLCBrZWVwIHRoZSBydGwsCi0tCQkgcmVnYXJkbGVzcyBvZiBkZWNsYXJhdGlvbiBt YXRjaGVzLiAgKi8KLS0JICAgICAgQ09QWV9ERUNMX1JUTCAob2xkZGVjbCwgbmV3ZGVjbCk7Ci0t CSAgICB9Ci0tCi0gCSAgREVDTF9SRVNVTFQgKG5ld2RlY2wpID0gREVDTF9SRVNVTFQgKG9sZGRl Y2wpOwotIAkgIC8qIERvbid0IGNsZWFyIG91dCB0aGUgYXJndW1lbnRzIGlmIHdlJ3JlIGp1c3Qg cmVkZWNsYXJpbmcgYQotIAkgICAgIGZ1bmN0aW9uLiAgKi8KLS0tLSBnY2MvdGVzdHN1aXRlL2dj Yy5kZy9idWlsdGlucy02NS5jLmpqCTIwMDctMTAtMDIgMTE6MjM6NTEuMDAwMDAwMDAwICswMjAw Ci0rKysgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYnVpbHRpbnMtNjUuYwkyMDA3LTEwLTAyIDExOjI0 OjEyLjAwMDAwMDAwMCArMDIwMAotQEAgLTAsMCArMSwyNSBAQAotKy8qIHsgZGctZG8gY29tcGls ZSB9ICovCi0rLyogeyBkZy1vcHRpb25zICItTzIiIH0gKi8KLSsKLSt0eXBlZGVmIF9fU0laRV9U WVBFX18gc2l6ZV90OwotK2V4dGVybiB2b2lkIF9fY2hrX2ZhaWwgKHZvaWQpOwotK2V4dGVybiBp bnQgc25wcmludGYgKGNoYXIgKiwgc2l6ZV90LCBjb25zdCBjaGFyICosIC4uLik7Ci0rZXh0ZXJu IGlubGluZSBfX2F0dHJpYnV0ZV9fKChnbnVfaW5saW5lLCBhbHdheXNfaW5saW5lKSkgaW50IHNu cHJpbnRmIChjaGFyICphLCBzaXplX3QgYiwgY29uc3QgY2hhciAqZm10LCAuLi4pCi0rewotKyAg aWYgKF9fYnVpbHRpbl9vYmplY3Rfc2l6ZSAoYSwgMCkgIT0gLTFVTCAmJiBfX2J1aWx0aW5fb2Jq ZWN0X3NpemUgKGEsIDApIDwgYikKLSsgICAgX19jaGtfZmFpbCAoKTsKLSsgIHJldHVybiBfX2J1 aWx0aW5fc25wcmludGYgKGEsIGIsIGZtdCwgX19idWlsdGluX3ZhX2FyZ19wYWNrICgpKTsKLSt9 Ci0rZXh0ZXJuIGludCBzbnByaW50ZiAoY2hhciAqLCBzaXplX3QsIGNvbnN0IGNoYXIgKiwgLi4u KSBfX2FzbSAoIm15c25wcmludGYiKTsKLSsKLStjaGFyIGJ1ZlsxMF07Ci0rCi0raW50Ci0rbWFp biAodm9pZCkKLSt7Ci0rICBzbnByaW50ZiAoYnVmLCAxMCwgIiVkJWRcbiIsIDEwLCAxMCk7Ci0r ICByZXR1cm4gMDsKLSt9Ci0rCi0rLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyICJteXNu cHJpbnRmIiB9IH0gKi8KLSsvKiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90ICJfX2No a19mYWlsIiB9IH0gKi8KLS0tLSBnY2MvdGVzdHN1aXRlL2crKy5kZy9leHQvYnVpbHRpbjEwLkMu amoJMjAwNy0xMC0wMiAxMToxOTo0NS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnY2MvdGVzdHN1aXRl L2crKy5kZy9leHQvYnVpbHRpbjEwLkMJMjAwNy0xMC0wMiAxMToyMzoyNi4wMDAwMDAwMDAgKzAy MDAKLUBAIC0wLDAgKzEsMjcgQEAKLSsvLyB7IGRnLWRvIGNvbXBpbGUgfQotKy8vIHsgZGctb3B0 aW9ucyAiLU8yIiB9Ci0rCi0rdHlwZWRlZiBfX1NJWkVfVFlQRV9fIHNpemVfdDsKLStleHRlcm4g IkMiIHsKLStleHRlcm4gdm9pZCBfX2Noa19mYWlsICh2b2lkKTsKLStleHRlcm4gaW50IHNucHJp bnRmIChjaGFyICosIHNpemVfdCwgY29uc3QgY2hhciAqLCAuLi4pOwotK2V4dGVybiBpbmxpbmUg X19hdHRyaWJ1dGVfXygoZ251X2lubGluZSwgYWx3YXlzX2lubGluZSkpIGludCBzbnByaW50ZiAo Y2hhciAqYSwgc2l6ZV90IGIsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQotK3sKLSsgIGlmIChfX2J1 aWx0aW5fb2JqZWN0X3NpemUgKGEsIDApICE9IC0xVUwgJiYgX19idWlsdGluX29iamVjdF9zaXpl IChhLCAwKSA8IGIpCi0rICAgIF9fY2hrX2ZhaWwgKCk7Ci0rICByZXR1cm4gX19idWlsdGluX3Nu cHJpbnRmIChhLCBiLCBmbXQsIF9fYnVpbHRpbl92YV9hcmdfcGFjayAoKSk7Ci0rfQotK2V4dGVy biBpbnQgc25wcmludGYgKGNoYXIgKiwgc2l6ZV90LCBjb25zdCBjaGFyICosIC4uLikgX19hc20g KCJteXNucHJpbnRmIik7Ci0rfQotKwotK2NoYXIgYnVmWzEwXTsKLSsKLStpbnQKLSttYWluICh2 b2lkKQotK3sKLSsgIHNucHJpbnRmIChidWYsIDEwLCAiJWQlZFxuIiwgMTAsIDEwKTsKLSsgIHJl dHVybiAwOwotK30KLSsKLSsvLyB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXIgIm15c25wcmlu dGYiIH0gfQotKy8vIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci1ub3QgIl9fY2hrX2ZhaWwi IH0gfQoKZGlmZiAtLWdpdCBhL2djYzQ1LWNsb29nLWRsLnBhdGNoIGIvZ2NjNDUtY2xvb2ctZGwu cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEzZWExZWEuLjAwMDAwMDAKLS0t IGEvZ2NjNDUtY2xvb2ctZGwucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNTAgKzAsMCBAQAot MjAxMC0wNy0wMSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+Ci0KLQkqIE1ha2Vm aWxlLmluIChCQUNLRU5ETElCUyk6IExpbmsgYWdhaW5zdCAtbGRsIGluc3RlYWQgb2YgLWxjbG9v ZyAtbHBwbC4KLQkoZ3JhcGhpdGUubywgZ3JhcGhpdGUlLm8pOiBGb3JjZSAtTywgcmVtb3ZlIC1m a2VlcC1pbmxpbmUtZnVuY3Rpb25zLgotCShncmFwaGl0ZS1wcGwubyk6IERlcGVuZCBvbiBncmFw aGl0ZS5oLgotCSogZ3JhcGhpdGUuaDogSW5jbHVkZSA8ZGxmY24uaD4uICBSZWZlcmVuY2UgbGli Y2xvb2cgYW5kIGxpYnBwbCBzeW1ib2xzCi0JdGhyb3VnaCBwb2ludGVycyBpbiBjbG9vZ19wb2lu dGVyc19fIHZhcmlhYmxlLgotCSogZ3JhcGhpdGUuYyAoaW5pdF9jbG9vZ19wb2ludGVycyk6IE5l dyBmdW5jdGlvbi4KLQkoZ3JhcGhpdGVfdHJhbnNmb3JtX2xvb3BzKTogQ2FsbCBpbml0X2Nsb29n X3BvaW50ZXJzLgotCSogZ3JhcGhpdGUtY2xhc3QtdG8tZ2ltcGxlLmMgKGdjY190eXBlX2Zvcl9p dl9vZl9jbGFzdF9sb29wKTogUmVuYW1lIHN0bXRfZm9yCi0JYXJndW1lbnQgdG8gc3RtdF9mb3Jh LgotCSogZ3JhcGhpdGUtcHBsLmM6IEluY2x1ZGUgZ3JhcGhpdGUuaC4KLQotLS0tIGdjYy9ncmFw aGl0ZS5jLmpqCTIwMTAtMDYtMzAgMDk6NDg6MzAuMDAwMDAwMDAwICswMjAwCi0rKysgZ2NjL2dy YXBoaXRlLmMJMjAxMC0wNy0wMSAxNjo1Nzo0OC4yNDg1MjMyMzcgKzAyMDAKLUBAIC02Nyw2ICs2 NywzNSBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgCi0gI2luY2x1 ZGUgImdyYXBoaXRlLWNsYXN0LXRvLWdpbXBsZS5oIgotICNpbmNsdWRlICJncmFwaGl0ZS1zZXNl LXRvLXBvbHkuaCIKLSAKLStfX3R5cGVvZiAoY2xvb2dfcG9pbnRlcnNfXykgY2xvb2dfcG9pbnRl cnNfXzsKLSsKLStzdGF0aWMgYm9vbAotK2luaXRfY2xvb2dfcG9pbnRlcnMgKHZvaWQpCi0rewot KyAgdm9pZCAqaDsKLSsKLSsgIGlmIChjbG9vZ19wb2ludGVyc19fLmluaXRlZCkKLSsgICAgcmV0 dXJuIGNsb29nX3BvaW50ZXJzX18uaCAhPSBOVUxMOwotKyAgaCA9IGRsb3BlbiAoImxpYmNsb29n LnNvLjAiLCBSVExEX0xBWlkpOwotKyAgY2xvb2dfcG9pbnRlcnNfXy5oID0gaDsKLSsgIGlmICho ID09IE5VTEwpCi0rICAgIHJldHVybiBmYWxzZTsKLSsjZGVmaW5lIERZTlNZTSh4KSBcCi0rICBk byBcCi0rICAgIHsgXAotKyAgICAgIHVuaW9uIHsgX190eXBlb2YgKGNsb29nX3BvaW50ZXJzX18u cF8jI3gpIHA7IHZvaWQgKnE7IH0gdTsgXAotKyAgICAgIHUucSA9IGRsc3ltIChoLCAjeCk7IFwK LSsgICAgICBpZiAodS5xID09IE5VTEwpIFwKLSsJcmV0dXJuIGZhbHNlOyBcCi0rICAgICAgY2xv b2dfcG9pbnRlcnNfXy5wXyMjeCA9IHUucDsgXAotKyAgICB9IFwKLSsgIHdoaWxlICgwKQotKyAg RFlOU1lNUwotKyN1bmRlZiBEWU5TWU0KLSsgIHJldHVybiB0cnVlOwotK30KLSsKLSsKLSAvKiBQ cmludCBnbG9iYWwgc3RhdGlzdGljcyB0byBGSUxFLiAgKi8KLSAKLSBzdGF0aWMgdm9pZAotQEAg LTIxMCw2ICsyMzksMTIgQEAgZ3JhcGhpdGVfaW5pdGlhbGl6ZSAodm9pZCkKLSAgICAgICByZXR1 cm4gZmFsc2U7Ci0gICAgIH0KLSAKLSsgIGlmICghaW5pdF9jbG9vZ19wb2ludGVycyAoKSkKLSsg ICAgewotKyAgICAgIHNvcnJ5ICgiR3JhcGhpdGUgbG9vcCBvcHRpbWl6YXRpb25zIGNhbm5vdCBi ZSB1c2VkIik7Ci0rICAgICAgcmV0dXJuIGZhbHNlOwotKyAgICB9Ci0rCi0gICByZWNvbXB1dGVf YWxsX2RvbWluYXRvcnMgKCk7Ci0gICBpbml0aWFsaXplX29yaWdpbmFsX2NvcHlfdGFibGVzICgp OwotICAgY2xvb2dfaW5pdGlhbGl6ZSAoKTsKLS0tLSBnY2MvZ3JhcGhpdGUuaC5qagkyMDEwLTA2 LTMwIDA5OjQ4OjMwLjAwMDAwMDAwMCArMDIwMAotKysrIGdjYy9ncmFwaGl0ZS5oCTIwMTAtMDct MDEgMTc6Mjk6MzcuMjI1NDkxODUwICswMjAwCi1AQCAtMjEsNCArMjEsMjI0IEBAIGFsb25nIHdp dGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICAKLSAjaWZuZGVmIEdDQ19HUkFQSElURV9I Ci0gI2RlZmluZSBHQ0NfR1JBUEhJVEVfSAotIAotKyNpbmNsdWRlIDxkbGZjbi5oPgotKyNkZWZp bmUgRFlOU1lNUyBcCi0rICBEWU5TWU0gKGNsb29nX2Jsb2NrX2FsbG9jKTsgXAotKyAgRFlOU1lN IChjbG9vZ19ibG9ja19saXN0X2ZyZWUpOyBcCi0rICBEWU5TWU0gKGNsb29nX2Jsb2NrX2xpc3Rf bWFsbG9jKTsgXAotKyAgRFlOU1lNIChjbG9vZ19jbGFzdF9jcmVhdGUpOyBcCi0rICBEWU5TWU0g KGNsb29nX2NsYXN0X2ZyZWUpOyBcCi0rICBEWU5TWU0gKGNsb29nX2RvbWFpbl9mcmVlKTsgXAot KyAgRFlOU1lNIChjbG9vZ19kb21haW5fbWF0cml4MmRvbWFpbik7IFwKLSsgIERZTlNZTSAoY2xv b2dfaW5pdGlhbGl6ZSk7IFwKLSsgIERZTlNZTSAoY2xvb2dfbG9vcF9tYWxsb2MpOyBcCi0rICBE WU5TWU0gKGNsb29nX21hdHJpeF9hbGxvYyk7IFwKLSsgIERZTlNZTSAoY2xvb2dfbWF0cml4X2Nv cHkpOyBcCi0rICBEWU5TWU0gKGNsb29nX21hdHJpeF9mcmVlKTsgXAotKyAgRFlOU1lNIChjbG9v Z19tYXRyaXhfcHJpbnQpOyBcCi0rICBEWU5TWU0gKGNsb29nX25hbWVzX21hbGxvYyk7IFwKLSsg IERZTlNZTSAoY2xvb2dfbmFtZXNfc2NhbGFyaXplKTsgXAotKyAgRFlOU1lNIChjbG9vZ19vcHRp b25zX2ZyZWUpOyBcCi0rICBEWU5TWU0gKGNsb29nX29wdGlvbnNfbWFsbG9jKTsgXAotKyAgRFlO U1lNIChjbG9vZ19wcm9ncmFtX2R1bXBfY2xvb2cpOyBcCi0rICBEWU5TWU0gKGNsb29nX3Byb2dy YW1fZXh0cmFjdF9zY2FsYXJzKTsgXAotKyAgRFlOU1lNIChjbG9vZ19wcm9ncmFtX2ZyZWUpOyBc Ci0rICBEWU5TWU0gKGNsb29nX3Byb2dyYW1fZ2VuZXJhdGUpOyBcCi0rICBEWU5TWU0gKGNsb29n X3Byb2dyYW1fbWFsbG9jKTsgXAotKyAgRFlOU1lNIChjbG9vZ19wcm9ncmFtX3ByaW50KTsgXAot KyAgRFlOU1lNIChjbG9vZ19wcm9ncmFtX3NjYXR0ZXIpOyBcCi0rICBEWU5TWU0gKGNsb29nX3N0 YXRlbWVudF9hbGxvYyk7IFwKLSsgIERZTlNZTSAoY2xvb2dfZG9tYWluX3VuaW9uKTsgXAotKyAg RFlOU1lNIChjbG9vZ19tYXRyaXhfcmVhZCk7IFwKLSsgIERZTlNZTSAoY2xvb2dfbmV3X3BvbCk7 IFwKLSsgIERZTlNZTSAoY2xvb2dfdmVjdG9yX2djZCk7IFwKLSsgIERZTlNZTSAocHBsX2ZpbmFs aXplKTsgXAotKyAgRFlOU1lNIChwcGxfYXNzaWduX0NvZWZmaWNpZW50X2Zyb21fbXB6X3QpOyBc Ci0rICBEWU5TWU0gKHBwbF9hc3NpZ25fTGluZWFyX0V4cHJlc3Npb25fZnJvbV9MaW5lYXJfRXhw cmVzc2lvbik7IFwKLSsgIERZTlNZTSAocHBsX0NvZWZmaWNpZW50X3RvX21wel90KTsgXAotKyAg RFlOU1lNIChwcGxfQ29uc3RyYWludF9jb2VmZmljaWVudCk7IFwKLSsgIERZTlNZTSAocHBsX0Nv bnN0cmFpbnRfaW5ob21vZ2VuZW91c190ZXJtKTsgXAotKyAgRFlOU1lNIChwcGxfQ29uc3RyYWlu dF9zcGFjZV9kaW1lbnNpb24pOyBcCi0rICBEWU5TWU0gKHBwbF9Db25zdHJhaW50X1N5c3RlbV9i ZWdpbik7IFwKLSsgIERZTlNZTSAocHBsX0NvbnN0cmFpbnRfU3lzdGVtX2NvbnN0X2l0ZXJhdG9y X2RlcmVmZXJlbmNlKTsgXAotKyAgRFlOU1lNIChwcGxfQ29uc3RyYWludF9TeXN0ZW1fY29uc3Rf aXRlcmF0b3JfZXF1YWxfdGVzdCk7IFwKLSsgIERZTlNZTSAocHBsX0NvbnN0cmFpbnRfU3lzdGVt X2NvbnN0X2l0ZXJhdG9yX2luY3JlbWVudCk7IFwKLSsgIERZTlNZTSAocHBsX0NvbnN0cmFpbnRf U3lzdGVtX2VuZCk7IFwKLSsgIERZTlNZTSAocHBsX0NvbnN0cmFpbnRfU3lzdGVtX2luc2VydF9D b25zdHJhaW50KTsgXAotKyAgRFlOU1lNIChwcGxfQ29uc3RyYWludF9TeXN0ZW1fc3BhY2VfZGlt ZW5zaW9uKTsgXAotKyAgRFlOU1lNIChwcGxfQ29uc3RyYWludF90eXBlKTsgXAotKyAgRFlOU1lN IChwcGxfZGVsZXRlX0NvZWZmaWNpZW50KTsgXAotKyAgRFlOU1lNIChwcGxfZGVsZXRlX0NvbnN0 cmFpbnQpOyBcCi0rICBEWU5TWU0gKHBwbF9kZWxldGVfQ29uc3RyYWludF9TeXN0ZW1fY29uc3Rf aXRlcmF0b3IpOyBcCi0rICBEWU5TWU0gKHBwbF9kZWxldGVfTGluZWFyX0V4cHJlc3Npb24pOyBc Ci0rICBEWU5TWU0gKHBwbF9kZWxldGVfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uKTsg XAotKyAgRFlOU1lNIChwcGxfZGVsZXRlX1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9p dGVyYXRvcik7IFwKLSsgIERZTlNZTSAocHBsX2RlbGV0ZV9Qb2x5aGVkcm9uKTsgXAotKyAgRFlO U1lNIChwcGxfTGluZWFyX0V4cHJlc3Npb25fYWRkX3RvX2NvZWZmaWNpZW50KTsgXAotKyAgRFlO U1lNIChwcGxfTGluZWFyX0V4cHJlc3Npb25fYWRkX3RvX2luaG9tb2dlbmVvdXMpOyBcCi0rICBE WU5TWU0gKHBwbF9MaW5lYXJfRXhwcmVzc2lvbl9jb2VmZmljaWVudCk7IFwKLSsgIERZTlNZTSAo cHBsX0xpbmVhcl9FeHByZXNzaW9uX2luaG9tb2dlbmVvdXNfdGVybSk7IFwKLSsgIERZTlNZTSAo cHBsX0xpbmVhcl9FeHByZXNzaW9uX3NwYWNlX2RpbWVuc2lvbik7IFwKLSsgIERZTlNZTSAocHBs X25ld19Db2VmZmljaWVudCk7IFwKLSsgIERZTlNZTSAocHBsX25ld19Db2VmZmljaWVudF9mcm9t X21wel90KTsgXAotKyAgRFlOU1lNIChwcGxfbmV3X0NvbnN0cmFpbnQpOyBcCi0rICBEWU5TWU0g KHBwbF9uZXdfQ29uc3RyYWludF9TeXN0ZW0pOyBcCi0rICBEWU5TWU0gKHBwbF9uZXdfQ29uc3Ry YWludF9TeXN0ZW1fY29uc3RfaXRlcmF0b3IpOyBcCi0rICBEWU5TWU0gKHBwbF9uZXdfQ19Qb2x5 aGVkcm9uX2Zyb21fQ19Qb2x5aGVkcm9uKTsgXAotKyAgRFlOU1lNIChwcGxfbmV3X0NfUG9seWhl ZHJvbl9mcm9tX3NwYWNlX2RpbWVuc2lvbik7IFwKLSsgIERZTlNZTSAocHBsX25ld19DX1BvbHlo ZWRyb25fcmVjeWNsZV9Db25zdHJhaW50X1N5c3RlbSk7IFwKLSsgIERZTlNZTSAocHBsX25ld19M aW5lYXJfRXhwcmVzc2lvbik7IFwKLSsgIERZTlNZTSAocHBsX25ld19MaW5lYXJfRXhwcmVzc2lv bl9mcm9tX0NvbnN0cmFpbnQpOyBcCi0rICBEWU5TWU0gKHBwbF9uZXdfTGluZWFyX0V4cHJlc3Np b25fZnJvbV9MaW5lYXJfRXhwcmVzc2lvbik7IFwKLSsgIERZTlNZTSAocHBsX25ld19MaW5lYXJf RXhwcmVzc2lvbl93aXRoX2RpbWVuc2lvbik7IFwKLSsgIERZTlNZTSAocHBsX25ld19Qb2ludHNl dF9Qb3dlcnNldF9DX1BvbHloZWRyb25fZnJvbV9DX1BvbHloZWRyb24pOyBcCi0rICBEWU5TWU0g KHBwbF9uZXdfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2Zyb21fUG9pbnRzZXRfUG93 ZXJzZXRfQ19Qb2x5aGVkcm9uKTsgXAotKyAgRFlOU1lNIChwcGxfbmV3X1BvaW50c2V0X1Bvd2Vy c2V0X0NfUG9seWhlZHJvbl9mcm9tX3NwYWNlX2RpbWVuc2lvbik7IFwKLSsgIERZTlNZTSAocHBs X25ld19Qb2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25faXRlcmF0b3IpOyBcCi0rICBEWU5T WU0gKHBwbF9Qb2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25fYWRkX2NvbnN0cmFpbnQpOyBc Ci0rICBEWU5TWU0gKHBwbF9Qb2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25fYWRkX3NwYWNl X2RpbWVuc2lvbnNfYW5kX2VtYmVkKTsgXAotKyAgRFlOU1lNIChwcGxfUG9pbnRzZXRfUG93ZXJz ZXRfQ19Qb2x5aGVkcm9uX2RpZmZlcmVuY2VfYXNzaWduKTsgXAotKyAgRFlOU1lNIChwcGxfUG9p bnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2ludGVyc2VjdGlvbl9hc3NpZ24pOyBcCi0rICBE WU5TWU0gKHBwbF9Qb2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25faXNfZW1wdHkpOyBcCi0r ICBEWU5TWU0gKHBwbF9Qb2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25faXRlcmF0b3JfYmVn aW4pOyBcCi0rICBEWU5TWU0gKHBwbF9Qb2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25faXRl cmF0b3JfZGVyZWZlcmVuY2UpOyBcCi0rICBEWU5TWU0gKHBwbF9Qb2ludHNldF9Qb3dlcnNldF9D X1BvbHloZWRyb25faXRlcmF0b3JfZW5kKTsgXAotKyAgRFlOU1lNIChwcGxfUG9pbnRzZXRfUG93 ZXJzZXRfQ19Qb2x5aGVkcm9uX2l0ZXJhdG9yX2VxdWFsX3Rlc3QpOyBcCi0rICBEWU5TWU0gKHBw bF9Qb2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25faXRlcmF0b3JfaW5jcmVtZW50KTsgXAot KyAgRFlOU1lNIChwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX21hcF9zcGFjZV9k aW1lbnNpb25zKTsgXAotKyAgRFlOU1lNIChwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVk cm9uX21heGltaXplKTsgXAotKyAgRFlOU1lNIChwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5 aGVkcm9uX21pbmltaXplKTsgXAotKyAgRFlOU1lNIChwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Q b2x5aGVkcm9uX3JlbW92ZV9zcGFjZV9kaW1lbnNpb25zKTsgXAotKyAgRFlOU1lNIChwcGxfUG9p bnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX3NpemUpOyBcCi0rICBEWU5TWU0gKHBwbF9Qb2lu dHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25fc3BhY2VfZGltZW5zaW9uKTsgXAotKyAgRFlOU1lN IChwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX3VwcGVyX2JvdW5kX2Fzc2lnbik7 IFwKLSsgIERZTlNZTSAocHBsX1BvbHloZWRyb25fYWRkX2NvbnN0cmFpbnQpOyBcCi0rICBEWU5T WU0gKHBwbF9Qb2x5aGVkcm9uX2FkZF9jb25zdHJhaW50cyk7IFwKLSsgIERZTlNZTSAocHBsX1Bv bHloZWRyb25fYWRkX3NwYWNlX2RpbWVuc2lvbnNfYW5kX2VtYmVkKTsgXAotKyAgRFlOU1lNIChw cGxfUG9seWhlZHJvbl9nZXRfY29uc3RyYWludHMpOyBcCi0rICBEWU5TWU0gKHBwbF9Qb2x5aGVk cm9uX21hcF9zcGFjZV9kaW1lbnNpb25zKTsgXAotKyAgRFlOU1lNIChwcGxfUG9seWhlZHJvbl9y ZW1vdmVfc3BhY2VfZGltZW5zaW9ucyk7IFwKLSsgIERZTlNZTSAocHBsX1BvbHloZWRyb25fc3Bh Y2VfZGltZW5zaW9uKTsgXAotKyAgRFlOU1lNIChwcGxfc3VidHJhY3RfTGluZWFyX0V4cHJlc3Np b25fZnJvbV9MaW5lYXJfRXhwcmVzc2lvbik7IFwKLSsgIERZTlNZTSAocHByaW50KTsgXAotKyAg RFlOU1lNIChzdG10X2Jsb2NrKTsgXAotKyAgRFlOU1lNIChzdG10X2Zvcik7IFwKLSsgIERZTlNZ TSAoc3RtdF9ndWFyZCk7IFwKLSsgIERZTlNZTSAoc3RtdF9yb290KTsgXAotKyAgRFlOU1lNIChz dG10X3VzZXIpOwotK2V4dGVybiBzdHJ1Y3QKLSt7Ci0rICBib29sIGluaXRlZDsKLSsgIHZvaWQg Kmg7Ci0rI2RlZmluZSBEWU5TWU0oeCkgX190eXBlb2YgKHgpICpwXyMjeAotKyAgRFlOU1lNUwot KyN1bmRlZiBEWU5TWU0KLSt9IGNsb29nX3BvaW50ZXJzX187Ci0rCi0rI2RlZmluZSBjbG9vZ19i bG9ja19hbGxvYyAoKmNsb29nX3BvaW50ZXJzX18ucF9jbG9vZ19ibG9ja19hbGxvYykKLSsjZGVm aW5lIGNsb29nX2Jsb2NrX2xpc3RfZnJlZSAoKmNsb29nX3BvaW50ZXJzX18ucF9jbG9vZ19ibG9j a19saXN0X2ZyZWUpCi0rI2RlZmluZSBjbG9vZ19ibG9ja19saXN0X21hbGxvYyAoKmNsb29nX3Bv aW50ZXJzX18ucF9jbG9vZ19ibG9ja19saXN0X21hbGxvYykKLSsjZGVmaW5lIGNsb29nX2NsYXN0 X2NyZWF0ZSAoKmNsb29nX3BvaW50ZXJzX18ucF9jbG9vZ19jbGFzdF9jcmVhdGUpCi0rI2RlZmlu ZSBjbG9vZ19jbGFzdF9mcmVlICgqY2xvb2dfcG9pbnRlcnNfXy5wX2Nsb29nX2NsYXN0X2ZyZWUp Ci0rI2RlZmluZSBjbG9vZ19kb21haW5fZnJlZSAoKmNsb29nX3BvaW50ZXJzX18ucF9jbG9vZ19k b21haW5fZnJlZSkKLSsjZGVmaW5lIGNsb29nX2RvbWFpbl9tYXRyaXgyZG9tYWluICgqY2xvb2df cG9pbnRlcnNfXy5wX2Nsb29nX2RvbWFpbl9tYXRyaXgyZG9tYWluKQotKyNkZWZpbmUgY2xvb2df aW5pdGlhbGl6ZSAoKmNsb29nX3BvaW50ZXJzX18ucF9jbG9vZ19pbml0aWFsaXplKQotKyNkZWZp bmUgY2xvb2dfbG9vcF9tYWxsb2MgKCpjbG9vZ19wb2ludGVyc19fLnBfY2xvb2dfbG9vcF9tYWxs b2MpCi0rI2RlZmluZSBjbG9vZ19tYXRyaXhfYWxsb2MgKCpjbG9vZ19wb2ludGVyc19fLnBfY2xv b2dfbWF0cml4X2FsbG9jKQotKyNkZWZpbmUgY2xvb2dfbWF0cml4X2NvcHkgKCpjbG9vZ19wb2lu dGVyc19fLnBfY2xvb2dfbWF0cml4X2NvcHkpCi0rI2RlZmluZSBjbG9vZ19tYXRyaXhfZnJlZSAo KmNsb29nX3BvaW50ZXJzX18ucF9jbG9vZ19tYXRyaXhfZnJlZSkKLSsjZGVmaW5lIGNsb29nX21h dHJpeF9wcmludCAoKmNsb29nX3BvaW50ZXJzX18ucF9jbG9vZ19tYXRyaXhfcHJpbnQpCi0rI2Rl ZmluZSBjbG9vZ19uYW1lc19tYWxsb2MgKCpjbG9vZ19wb2ludGVyc19fLnBfY2xvb2dfbmFtZXNf bWFsbG9jKQotKyNkZWZpbmUgY2xvb2dfbmFtZXNfc2NhbGFyaXplICgqY2xvb2dfcG9pbnRlcnNf Xy5wX2Nsb29nX25hbWVzX3NjYWxhcml6ZSkKLSsjZGVmaW5lIGNsb29nX29wdGlvbnNfZnJlZSAo KmNsb29nX3BvaW50ZXJzX18ucF9jbG9vZ19vcHRpb25zX2ZyZWUpCi0rI2RlZmluZSBjbG9vZ19v cHRpb25zX21hbGxvYyAoKmNsb29nX3BvaW50ZXJzX18ucF9jbG9vZ19vcHRpb25zX21hbGxvYykK LSsjZGVmaW5lIGNsb29nX3Byb2dyYW1fZHVtcF9jbG9vZyAoKmNsb29nX3BvaW50ZXJzX18ucF9j bG9vZ19wcm9ncmFtX2R1bXBfY2xvb2cpCi0rI2RlZmluZSBjbG9vZ19wcm9ncmFtX2V4dHJhY3Rf c2NhbGFycyAoKmNsb29nX3BvaW50ZXJzX18ucF9jbG9vZ19wcm9ncmFtX2V4dHJhY3Rfc2NhbGFy cykKLSsjZGVmaW5lIGNsb29nX3Byb2dyYW1fZnJlZSAoKmNsb29nX3BvaW50ZXJzX18ucF9jbG9v Z19wcm9ncmFtX2ZyZWUpCi0rI2RlZmluZSBjbG9vZ19wcm9ncmFtX2dlbmVyYXRlICgqY2xvb2df cG9pbnRlcnNfXy5wX2Nsb29nX3Byb2dyYW1fZ2VuZXJhdGUpCi0rI2RlZmluZSBjbG9vZ19wcm9n cmFtX21hbGxvYyAoKmNsb29nX3BvaW50ZXJzX18ucF9jbG9vZ19wcm9ncmFtX21hbGxvYykKLSsj ZGVmaW5lIGNsb29nX3Byb2dyYW1fcHJpbnQgKCpjbG9vZ19wb2ludGVyc19fLnBfY2xvb2dfcHJv Z3JhbV9wcmludCkKLSsjZGVmaW5lIGNsb29nX3Byb2dyYW1fc2NhdHRlciAoKmNsb29nX3BvaW50 ZXJzX18ucF9jbG9vZ19wcm9ncmFtX3NjYXR0ZXIpCi0rI2RlZmluZSBjbG9vZ19zdGF0ZW1lbnRf YWxsb2MgKCpjbG9vZ19wb2ludGVyc19fLnBfY2xvb2dfc3RhdGVtZW50X2FsbG9jKQotKyNkZWZp bmUgY2xvb2dfZG9tYWluX3VuaW9uICgqY2xvb2dfcG9pbnRlcnNfXy5wX2Nsb29nX2RvbWFpbl91 bmlvbikKLSsjZGVmaW5lIGNsb29nX21hdHJpeF9yZWFkICgqY2xvb2dfcG9pbnRlcnNfXy5wX2Ns b29nX21hdHJpeF9yZWFkKQotKyNkZWZpbmUgY2xvb2dfbmV3X3BvbCAoKmNsb29nX3BvaW50ZXJz X18ucF9jbG9vZ19uZXdfcG9sKQotKyNkZWZpbmUgY2xvb2dfdmVjdG9yX2djZCAoKmNsb29nX3Bv aW50ZXJzX18ucF9jbG9vZ192ZWN0b3JfZ2NkKQotKyNkZWZpbmUgcHBsX2ZpbmFsaXplICgqY2xv b2dfcG9pbnRlcnNfXy5wX3BwbF9maW5hbGl6ZSkKLSsjZGVmaW5lIHBwbF9hc3NpZ25fQ29lZmZp Y2llbnRfZnJvbV9tcHpfdCAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfYXNzaWduX0NvZWZmaWNp ZW50X2Zyb21fbXB6X3QpCi0rI2RlZmluZSBwcGxfYXNzaWduX0xpbmVhcl9FeHByZXNzaW9uX2Zy b21fTGluZWFyX0V4cHJlc3Npb24gKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX2Fzc2lnbl9MaW5l YXJfRXhwcmVzc2lvbl9mcm9tX0xpbmVhcl9FeHByZXNzaW9uKQotKyNkZWZpbmUgcHBsX0NvZWZm aWNpZW50X3RvX21wel90ICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9Db2VmZmljaWVudF90b19t cHpfdCkKLSsjZGVmaW5lIHBwbF9Db25zdHJhaW50X2NvZWZmaWNpZW50ICgqY2xvb2dfcG9pbnRl cnNfXy5wX3BwbF9Db25zdHJhaW50X2NvZWZmaWNpZW50KQotKyNkZWZpbmUgcHBsX0NvbnN0cmFp bnRfaW5ob21vZ2VuZW91c190ZXJtICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9Db25zdHJhaW50 X2luaG9tb2dlbmVvdXNfdGVybSkKLSsjZGVmaW5lIHBwbF9Db25zdHJhaW50X3NwYWNlX2RpbWVu c2lvbiAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfQ29uc3RyYWludF9zcGFjZV9kaW1lbnNpb24p Ci0rI2RlZmluZSBwcGxfQ29uc3RyYWludF9TeXN0ZW1fYmVnaW4gKCpjbG9vZ19wb2ludGVyc19f LnBfcHBsX0NvbnN0cmFpbnRfU3lzdGVtX2JlZ2luKQotKyNkZWZpbmUgcHBsX0NvbnN0cmFpbnRf U3lzdGVtX2NvbnN0X2l0ZXJhdG9yX2RlcmVmZXJlbmNlICgqY2xvb2dfcG9pbnRlcnNfXy5wX3Bw bF9Db25zdHJhaW50X1N5c3RlbV9jb25zdF9pdGVyYXRvcl9kZXJlZmVyZW5jZSkKLSsjZGVmaW5l IHBwbF9Db25zdHJhaW50X1N5c3RlbV9jb25zdF9pdGVyYXRvcl9lcXVhbF90ZXN0ICgqY2xvb2df cG9pbnRlcnNfXy5wX3BwbF9Db25zdHJhaW50X1N5c3RlbV9jb25zdF9pdGVyYXRvcl9lcXVhbF90 ZXN0KQotKyNkZWZpbmUgcHBsX0NvbnN0cmFpbnRfU3lzdGVtX2NvbnN0X2l0ZXJhdG9yX2luY3Jl bWVudCAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfQ29uc3RyYWludF9TeXN0ZW1fY29uc3RfaXRl cmF0b3JfaW5jcmVtZW50KQotKyNkZWZpbmUgcHBsX0NvbnN0cmFpbnRfU3lzdGVtX2VuZCAoKmNs b29nX3BvaW50ZXJzX18ucF9wcGxfQ29uc3RyYWludF9TeXN0ZW1fZW5kKQotKyNkZWZpbmUgcHBs X0NvbnN0cmFpbnRfU3lzdGVtX2luc2VydF9Db25zdHJhaW50ICgqY2xvb2dfcG9pbnRlcnNfXy5w X3BwbF9Db25zdHJhaW50X1N5c3RlbV9pbnNlcnRfQ29uc3RyYWludCkKLSsjZGVmaW5lIHBwbF9D b25zdHJhaW50X1N5c3RlbV9zcGFjZV9kaW1lbnNpb24gKCpjbG9vZ19wb2ludGVyc19fLnBfcHBs X0NvbnN0cmFpbnRfU3lzdGVtX3NwYWNlX2RpbWVuc2lvbikKLSsjZGVmaW5lIHBwbF9Db25zdHJh aW50X3R5cGUgKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX0NvbnN0cmFpbnRfdHlwZSkKLSsjZGVm aW5lIHBwbF9kZWxldGVfQ29lZmZpY2llbnQgKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX2RlbGV0 ZV9Db2VmZmljaWVudCkKLSsjZGVmaW5lIHBwbF9kZWxldGVfQ29uc3RyYWludCAoKmNsb29nX3Bv aW50ZXJzX18ucF9wcGxfZGVsZXRlX0NvbnN0cmFpbnQpCi0rI2RlZmluZSBwcGxfZGVsZXRlX0Nv bnN0cmFpbnRfU3lzdGVtX2NvbnN0X2l0ZXJhdG9yICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9k ZWxldGVfQ29uc3RyYWludF9TeXN0ZW1fY29uc3RfaXRlcmF0b3IpCi0rI2RlZmluZSBwcGxfZGVs ZXRlX0xpbmVhcl9FeHByZXNzaW9uICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9kZWxldGVfTGlu ZWFyX0V4cHJlc3Npb24pCi0rI2RlZmluZSBwcGxfZGVsZXRlX1BvaW50c2V0X1Bvd2Vyc2V0X0Nf UG9seWhlZHJvbiAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfZGVsZXRlX1BvaW50c2V0X1Bvd2Vy c2V0X0NfUG9seWhlZHJvbikKLSsjZGVmaW5lIHBwbF9kZWxldGVfUG9pbnRzZXRfUG93ZXJzZXRf Q19Qb2x5aGVkcm9uX2l0ZXJhdG9yICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9kZWxldGVfUG9p bnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2l0ZXJhdG9yKQotKyNkZWZpbmUgcHBsX2RlbGV0 ZV9Qb2x5aGVkcm9uICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9kZWxldGVfUG9seWhlZHJvbikK LSsjZGVmaW5lIHBwbF9MaW5lYXJfRXhwcmVzc2lvbl9hZGRfdG9fY29lZmZpY2llbnQgKCpjbG9v Z19wb2ludGVyc19fLnBfcHBsX0xpbmVhcl9FeHByZXNzaW9uX2FkZF90b19jb2VmZmljaWVudCkK LSsjZGVmaW5lIHBwbF9MaW5lYXJfRXhwcmVzc2lvbl9hZGRfdG9faW5ob21vZ2VuZW91cyAoKmNs b29nX3BvaW50ZXJzX18ucF9wcGxfTGluZWFyX0V4cHJlc3Npb25fYWRkX3RvX2luaG9tb2dlbmVv dXMpCi0rI2RlZmluZSBwcGxfTGluZWFyX0V4cHJlc3Npb25fY29lZmZpY2llbnQgKCpjbG9vZ19w b2ludGVyc19fLnBfcHBsX0xpbmVhcl9FeHByZXNzaW9uX2NvZWZmaWNpZW50KQotKyNkZWZpbmUg cHBsX0xpbmVhcl9FeHByZXNzaW9uX2luaG9tb2dlbmVvdXNfdGVybSAoKmNsb29nX3BvaW50ZXJz X18ucF9wcGxfTGluZWFyX0V4cHJlc3Npb25faW5ob21vZ2VuZW91c190ZXJtKQotKyNkZWZpbmUg cHBsX0xpbmVhcl9FeHByZXNzaW9uX3NwYWNlX2RpbWVuc2lvbiAoKmNsb29nX3BvaW50ZXJzX18u cF9wcGxfTGluZWFyX0V4cHJlc3Npb25fc3BhY2VfZGltZW5zaW9uKQotKyNkZWZpbmUgcHBsX25l d19Db2VmZmljaWVudCAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfbmV3X0NvZWZmaWNpZW50KQot KyNkZWZpbmUgcHBsX25ld19Db2VmZmljaWVudF9mcm9tX21wel90ICgqY2xvb2dfcG9pbnRlcnNf Xy5wX3BwbF9uZXdfQ29lZmZpY2llbnRfZnJvbV9tcHpfdCkKLSsjZGVmaW5lIHBwbF9uZXdfQ29u c3RyYWludCAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfbmV3X0NvbnN0cmFpbnQpCi0rI2RlZmlu ZSBwcGxfbmV3X0NvbnN0cmFpbnRfU3lzdGVtICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9uZXdf Q29uc3RyYWludF9TeXN0ZW0pCi0rI2RlZmluZSBwcGxfbmV3X0NvbnN0cmFpbnRfU3lzdGVtX2Nv bnN0X2l0ZXJhdG9yICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9uZXdfQ29uc3RyYWludF9TeXN0 ZW1fY29uc3RfaXRlcmF0b3IpCi0rI2RlZmluZSBwcGxfbmV3X0NfUG9seWhlZHJvbl9mcm9tX0Nf UG9seWhlZHJvbiAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfbmV3X0NfUG9seWhlZHJvbl9mcm9t X0NfUG9seWhlZHJvbikKLSsjZGVmaW5lIHBwbF9uZXdfQ19Qb2x5aGVkcm9uX2Zyb21fc3BhY2Vf ZGltZW5zaW9uICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9uZXdfQ19Qb2x5aGVkcm9uX2Zyb21f c3BhY2VfZGltZW5zaW9uKQotKyNkZWZpbmUgcHBsX25ld19DX1BvbHloZWRyb25fcmVjeWNsZV9D b25zdHJhaW50X1N5c3RlbSAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfbmV3X0NfUG9seWhlZHJv bl9yZWN5Y2xlX0NvbnN0cmFpbnRfU3lzdGVtKQotKyNkZWZpbmUgcHBsX25ld19MaW5lYXJfRXhw cmVzc2lvbiAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfbmV3X0xpbmVhcl9FeHByZXNzaW9uKQot KyNkZWZpbmUgcHBsX25ld19MaW5lYXJfRXhwcmVzc2lvbl9mcm9tX0NvbnN0cmFpbnQgKCpjbG9v Z19wb2ludGVyc19fLnBfcHBsX25ld19MaW5lYXJfRXhwcmVzc2lvbl9mcm9tX0NvbnN0cmFpbnQp Ci0rI2RlZmluZSBwcGxfbmV3X0xpbmVhcl9FeHByZXNzaW9uX2Zyb21fTGluZWFyX0V4cHJlc3Np b24gKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX25ld19MaW5lYXJfRXhwcmVzc2lvbl9mcm9tX0xp bmVhcl9FeHByZXNzaW9uKQotKyNkZWZpbmUgcHBsX25ld19MaW5lYXJfRXhwcmVzc2lvbl93aXRo X2RpbWVuc2lvbiAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfbmV3X0xpbmVhcl9FeHByZXNzaW9u X3dpdGhfZGltZW5zaW9uKQotKyNkZWZpbmUgcHBsX25ld19Qb2ludHNldF9Qb3dlcnNldF9DX1Bv bHloZWRyb25fZnJvbV9DX1BvbHloZWRyb24gKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX25ld19Q b2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25fZnJvbV9DX1BvbHloZWRyb24pCi0rI2RlZmlu ZSBwcGxfbmV3X1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9mcm9tX1BvaW50c2V0X1Bv d2Vyc2V0X0NfUG9seWhlZHJvbiAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfbmV3X1BvaW50c2V0 X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9mcm9tX1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJv bikKLSsjZGVmaW5lIHBwbF9uZXdfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2Zyb21f c3BhY2VfZGltZW5zaW9uICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9uZXdfUG9pbnRzZXRfUG93 ZXJzZXRfQ19Qb2x5aGVkcm9uX2Zyb21fc3BhY2VfZGltZW5zaW9uKQotKyNkZWZpbmUgcHBsX25l d19Qb2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25faXRlcmF0b3IgKCpjbG9vZ19wb2ludGVy c19fLnBfcHBsX25ld19Qb2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25faXRlcmF0b3IpCi0r I2RlZmluZSBwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2FkZF9jb25zdHJhaW50 ICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9Qb2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25f YWRkX2NvbnN0cmFpbnQpCi0rI2RlZmluZSBwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVk cm9uX2FkZF9zcGFjZV9kaW1lbnNpb25zX2FuZF9lbWJlZCAoKmNsb29nX3BvaW50ZXJzX18ucF9w cGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2FkZF9zcGFjZV9kaW1lbnNpb25zX2Fu ZF9lbWJlZCkKLSsjZGVmaW5lIHBwbF9Qb2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25fZGlm ZmVyZW5jZV9hc3NpZ24gKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX1BvaW50c2V0X1Bvd2Vyc2V0 X0NfUG9seWhlZHJvbl9kaWZmZXJlbmNlX2Fzc2lnbikKLSsjZGVmaW5lIHBwbF9Qb2ludHNldF9Q b3dlcnNldF9DX1BvbHloZWRyb25faW50ZXJzZWN0aW9uX2Fzc2lnbiAoKmNsb29nX3BvaW50ZXJz X18ucF9wcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2ludGVyc2VjdGlvbl9hc3Np Z24pCi0rI2RlZmluZSBwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2lzX2VtcHR5 ICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9Qb2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25f aXNfZW1wdHkpCi0rI2RlZmluZSBwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2l0 ZXJhdG9yX2JlZ2luICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9Qb2ludHNldF9Qb3dlcnNldF9D X1BvbHloZWRyb25faXRlcmF0b3JfYmVnaW4pCi0rI2RlZmluZSBwcGxfUG9pbnRzZXRfUG93ZXJz ZXRfQ19Qb2x5aGVkcm9uX2l0ZXJhdG9yX2RlcmVmZXJlbmNlICgqY2xvb2dfcG9pbnRlcnNfXy5w X3BwbF9Qb2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25faXRlcmF0b3JfZGVyZWZlcmVuY2Up Ci0rI2RlZmluZSBwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2l0ZXJhdG9yX2Vu ZCAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9u X2l0ZXJhdG9yX2VuZCkKLSsjZGVmaW5lIHBwbF9Qb2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRy b25faXRlcmF0b3JfZXF1YWxfdGVzdCAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfUG9pbnRzZXRf UG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2l0ZXJhdG9yX2VxdWFsX3Rlc3QpCi0rI2RlZmluZSBwcGxf UG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2l0ZXJhdG9yX2luY3JlbWVudCAoKmNsb29n X3BvaW50ZXJzX18ucF9wcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2l0ZXJhdG9y X2luY3JlbWVudCkKLSsjZGVmaW5lIHBwbF9Qb2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25f bWFwX3NwYWNlX2RpbWVuc2lvbnMgKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX1BvaW50c2V0X1Bv d2Vyc2V0X0NfUG9seWhlZHJvbl9tYXBfc3BhY2VfZGltZW5zaW9ucykKLSsjZGVmaW5lIHBwbF9Q b2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25fbWF4aW1pemUgKCpjbG9vZ19wb2ludGVyc19f LnBfcHBsX1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9tYXhpbWl6ZSkKLSsjZGVmaW5l IHBwbF9Qb2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25fbWluaW1pemUgKCpjbG9vZ19wb2lu dGVyc19fLnBfcHBsX1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9taW5pbWl6ZSkKLSsj ZGVmaW5lIHBwbF9Qb2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25fcmVtb3ZlX3NwYWNlX2Rp bWVuc2lvbnMgKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9s eWhlZHJvbl9yZW1vdmVfc3BhY2VfZGltZW5zaW9ucykKLSsjZGVmaW5lIHBwbF9Qb2ludHNldF9Q b3dlcnNldF9DX1BvbHloZWRyb25fc2l6ZSAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfUG9pbnRz ZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX3NpemUpCi0rI2RlZmluZSBwcGxfUG9pbnRzZXRfUG93 ZXJzZXRfQ19Qb2x5aGVkcm9uX3NwYWNlX2RpbWVuc2lvbiAoKmNsb29nX3BvaW50ZXJzX18ucF9w cGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX3NwYWNlX2RpbWVuc2lvbikKLSsjZGVm aW5lIHBwbF9Qb2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25fdXBwZXJfYm91bmRfYXNzaWdu ICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9Qb2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25f dXBwZXJfYm91bmRfYXNzaWduKQotKyNkZWZpbmUgcHBsX1BvbHloZWRyb25fYWRkX2NvbnN0cmFp bnQgKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX1BvbHloZWRyb25fYWRkX2NvbnN0cmFpbnQpCi0r I2RlZmluZSBwcGxfUG9seWhlZHJvbl9hZGRfY29uc3RyYWludHMgKCpjbG9vZ19wb2ludGVyc19f LnBfcHBsX1BvbHloZWRyb25fYWRkX2NvbnN0cmFpbnRzKQotKyNkZWZpbmUgcHBsX1BvbHloZWRy b25fYWRkX3NwYWNlX2RpbWVuc2lvbnNfYW5kX2VtYmVkICgqY2xvb2dfcG9pbnRlcnNfXy5wX3Bw bF9Qb2x5aGVkcm9uX2FkZF9zcGFjZV9kaW1lbnNpb25zX2FuZF9lbWJlZCkKLSsjZGVmaW5lIHBw bF9Qb2x5aGVkcm9uX2dldF9jb25zdHJhaW50cyAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfUG9s eWhlZHJvbl9nZXRfY29uc3RyYWludHMpCi0rI2RlZmluZSBwcGxfUG9seWhlZHJvbl9tYXBfc3Bh Y2VfZGltZW5zaW9ucyAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfUG9seWhlZHJvbl9tYXBfc3Bh Y2VfZGltZW5zaW9ucykKLSsjZGVmaW5lIHBwbF9Qb2x5aGVkcm9uX3JlbW92ZV9zcGFjZV9kaW1l bnNpb25zICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9Qb2x5aGVkcm9uX3JlbW92ZV9zcGFjZV9k aW1lbnNpb25zKQotKyNkZWZpbmUgcHBsX1BvbHloZWRyb25fc3BhY2VfZGltZW5zaW9uICgqY2xv b2dfcG9pbnRlcnNfXy5wX3BwbF9Qb2x5aGVkcm9uX3NwYWNlX2RpbWVuc2lvbikKLSsjZGVmaW5l IHBwbF9zdWJ0cmFjdF9MaW5lYXJfRXhwcmVzc2lvbl9mcm9tX0xpbmVhcl9FeHByZXNzaW9uICgq Y2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9zdWJ0cmFjdF9MaW5lYXJfRXhwcmVzc2lvbl9mcm9tX0xp bmVhcl9FeHByZXNzaW9uKQotKyNkZWZpbmUgcHByaW50ICgqY2xvb2dfcG9pbnRlcnNfXy5wX3Bw cmludCkKLSsjZGVmaW5lIHN0bXRfYmxvY2sgKCpjbG9vZ19wb2ludGVyc19fLnBfc3RtdF9ibG9j aykKLSsjZGVmaW5lIHN0bXRfZm9yICgqY2xvb2dfcG9pbnRlcnNfXy5wX3N0bXRfZm9yKQotKyNk ZWZpbmUgc3RtdF9ndWFyZCAoKmNsb29nX3BvaW50ZXJzX18ucF9zdG10X2d1YXJkKQotKyNkZWZp bmUgc3RtdF9yb290ICgqY2xvb2dfcG9pbnRlcnNfXy5wX3N0bXRfcm9vdCkKLSsjZGVmaW5lIHN0 bXRfdXNlciAoKmNsb29nX3BvaW50ZXJzX18ucF9zdG10X3VzZXIpCi0rCi0rI2RlZmluZSBjbG9v Z19maW5hbGl6ZSAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfZmluYWxpemUpCi0rCi0gI2VuZGlm ICAvKiBHQ0NfR1JBUEhJVEVfSCAgKi8KLS0tLSBnY2MvTWFrZWZpbGUuaW4uamoJMjAxMC0wNi0z MCAyMToyMzoyOS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnY2MvTWFrZWZpbGUuaW4JMjAxMC0wNy0w MSAxNzozMzoxMS4wMTY0Nzk5NjMgKzAyMDAKLUBAIC0xMDExLDcgKzEwMTEsNyBAQCBCVUlMRF9M SUJERVBTPSAkKEJVSUxEX0xJQklCRVJUWSkKLSAjIGFuZCB0aGUgc3lzdGVtJ3MgaW5zdGFsbGVk IGxpYnJhcmllcy4KLSBMSUJTID0gQExJQlNAICQoQ1BQTElCKSAkKExJQklOVEwpICQoTElCSUNP TlYpICQoTElCSUJFUlRZKSAkKExJQkRFQ05VTUJFUikgXAotIAkkKEhPU1RfTElCUykKLS1CQUNL RU5ETElCUyA9ICQoQ0xPT0dMSUJTKSAkKFBQTExJQlMpICQoR01QTElCUykgJChQTFVHSU5MSUJT KSAkKEhPU1RfTElCUykgXAotK0JBQ0tFTkRMSUJTID0gJChHTVBMSUJTKSAkKGlmICQoQ0xPT0dM SUJTKSwtbGRsKSAkKFBMVUdJTkxJQlMpICQoSE9TVF9MSUJTKSBcCi0gCSQoWkxJQikgJChMSUJF TEZMSUJTKQotICMgQW55IHN5c3RlbSBsaWJyYXJpZXMgbmVlZGVkIGp1c3QgZm9yIEdOQVQuCi0g U1lTTElCUyA9IEBHTkFUX0xJQkVYQ0AKLUBAIC0yNjA3LDcgKzI2MDcsNyBAQCBncmFwaGl0ZS1w b2x5Lm86IGdyYXBoaXRlLXBvbHkuYyAkKENPTkZJCi0gICAgJChUUkVFX0RBVEFfUkVGX0gpIHRy ZWUtcGFzcy5oIGRvbXdhbGsuaCBncmFwaGl0ZS5oIGdyYXBoaXRlLWRlcGVuZGVuY2VzLmggXAot ICAgIHBvaW50ZXItc2V0LmggdmFsdWUtcHJvZi5oIGdyYXBoaXRlLXBwbC5oIHNlc2UuaCBvdXRw dXQuaCBncmFwaGl0ZS1wb2x5LmgKLSBncmFwaGl0ZS1wcGwubzogZ3JhcGhpdGUtcHBsLmMgJChD T05GSUdfSCkgJChTWVNURU1fSCkgY29yZXR5cGVzLmggJChUTV9IKSBcCi0tICAgJChHR0NfSCkg Z3JhcGhpdGUtcHBsLmgKLSsgICAkKEdHQ19IKSBncmFwaGl0ZS1wcGwuaCBncmFwaGl0ZS5oCi0g Z3JhcGhpdGUtc2NvcC1kZXRlY3Rpb24ubzogZ3JhcGhpdGUtc2NvcC1kZXRlY3Rpb24uYyAkKENP TkZJR19IKSAkKFNZU1RFTV9IKSBcCi0gICAgJChHR0NfSCkgJChUUkVFX0gpICQoUlRMX0gpICQo QkFTSUNfQkxPQ0tfSCkgJChESUFHTk9TVElDX0gpICQoVE9QTEVWX0gpIFwKLSAgICAkKFRSRUVf RkxPV19IKSAkKFRSRUVfRFVNUF9IKSAkKFRJTUVWQVJfSCkgJChDRkdMT09QX0gpICQoR0lNUExF X0gpIFwKLUBAIC0zMzU5LDYgKzMzNTksMTEgQEAgJChvdXRfb2JqZWN0X2ZpbGUpOiAkKG91dF9m aWxlKSAkKENPTkZJRwotIAkkKENPTVBJTEVSKSAtYyAkKEFMTF9DT01QSUxFUkZMQUdTKSAkKEFM TF9DUFBGTEFHUykgXAotIAkJJChvdXRfZmlsZSkgJChPVVRQVVRfT1BUSU9OKQotIAotK2dyYXBo aXRlJS5vIDogXAotKyAgQUxMX0NGTEFHUyA6PSAtTyAkKGZpbHRlci1vdXQgLWZrZWVwLWlubGlu ZS1mdW5jdGlvbnMsICQoQUxMX0NGTEFHUykpCi0rZ3JhcGhpdGUubyA6IFwKLSsgIEFMTF9DRkxB R1MgOj0gLU8gJChmaWx0ZXItb3V0IC1ma2VlcC1pbmxpbmUtZnVuY3Rpb25zLCAkKEFMTF9DRkxB R1MpKQotKwotICMgQnVpbGQgYXV4aWxpYXJ5IGZpbGVzIHRoYXQgc3VwcG9ydCBlY29mZiBmb3Jt YXQuCi0gbWlwcy10ZmlsZTogbWlwcy10ZmlsZS5vIHZlcnNpb24ubyAkKExJQkRFUFMpCi0gCSQo TElOS0VSKSAkKExJTktFUkZMQUdTKSAkKExERkxBR1MpIC1vICRAIFwKLS0tLSBnY2MvZ3JhcGhp dGUtcHBsLmMuamoJMjAxMC0wNi0zMCAwOTo0ODozMC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnY2Mv Z3JhcGhpdGUtcHBsLmMJMjAxMC0wNy0wMSAxNzowODoxNC4xNjEzMzU2NDIgKzAyMDAKLUBAIC0y OSw2ICsyOSw3IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICAKLSAj aW5jbHVkZSAicHBsX2MuaCIKLSAjaW5jbHVkZSAiY2xvb2cvY2xvb2cuaCIKLSAjaW5jbHVkZSAi Z3JhcGhpdGUtcHBsLmgiCi0rI2luY2x1ZGUgImdyYXBoaXRlLmgiCi0gCi0gLyogVHJhbnNsYXRl cyByb3cgUk9XIG9mIHRoZSBDbG9vZ01hdHJpeCBNQVRSSVggdG8gYSBQUEwgQ29uc3RyYWludC4g ICovCi0gCi0tLS0gZ2NjL2dyYXBoaXRlLWNsYXN0LXRvLWdpbXBsZS5jLmpqCTIwMTAtMDYtMzAg MDk6NDg6MzAuMDAwMDAwMDAwICswMjAwCi0rKysgZ2NjL2dyYXBoaXRlLWNsYXN0LXRvLWdpbXBs ZS5jCTIwMTAtMDctMDEgMTY6NTA6MTUuODEyNDg1NjcxICswMjAwCi1AQCAtNjEzLDExICs2MTMs MTEgQEAgZ2NjX3R5cGVfZm9yX2Nsb29nX2l2IChjb25zdCBjaGFyICpjbG9vZwotICAgIFNUTVQu ICAqLwotIAotIHN0YXRpYyB0cmVlCi0tZ2NjX3R5cGVfZm9yX2l2X29mX2NsYXN0X2xvb3AgKHN0 cnVjdCBjbGFzdF9mb3IgKnN0bXRfZm9yKQotK2djY190eXBlX2Zvcl9pdl9vZl9jbGFzdF9sb29w IChzdHJ1Y3QgY2xhc3RfZm9yICpzdG10X2ZvcmEpCi0gewotLSAgc3RydWN0IGNsYXN0X3N0bXQg KnN0bXQgPSAoc3RydWN0IGNsYXN0X3N0bXQgKikgc3RtdF9mb3I7Ci0rICBzdHJ1Y3QgY2xhc3Rf c3RtdCAqc3RtdCA9IChzdHJ1Y3QgY2xhc3Rfc3RtdCAqKSBzdG10X2ZvcmE7Ci0gICBzdHJ1Y3Qg Y2xhc3RfdXNlcl9zdG10ICpib2R5ID0gY2xhc3RfZ2V0X2JvZHlfb2ZfbG9vcCAoc3RtdCk7Ci0t ICBjb25zdCBjaGFyICpjbG9vZ19pdiA9IHN0bXRfZm9yLT5pdGVyYXRvcjsKLSsgIGNvbnN0IGNo YXIgKmNsb29nX2l2ID0gc3RtdF9mb3JhLT5pdGVyYXRvcjsKLSAgIENsb29nU3RhdGVtZW50ICpj cyA9IGJvZHktPnN0YXRlbWVudDsKLSAgIHBvbHlfYmJfcCBwYmIgPSAocG9seV9iYl9wKSBjbG9v Z19zdGF0ZW1lbnRfdXNyIChjcyk7Ci0gCgpkaWZmIC0tZ2l0IGEvZ2NjNDUtaGFjay5wYXRjaCBi L2djYzQ1LWhhY2sucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ3MDYyN2Qu LjAwMDAwMDAKLS0tIGEvZ2NjNDUtaGFjay5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyMyAr MCwwIEBACi0tLS0gbGliYWRhL01ha2VmaWxlLmluLmpqCTIwMDktMDEtMTQgMTI6MDc6MzUuMDAw MDAwMDAwICswMTAwCi0rKysgbGliYWRhL01ha2VmaWxlLmluCTIwMDktMDEtMTUgMTQ6MjU6MzMu MDAwMDAwMDAwICswMTAwCi1AQCAtNjksMTggKzY5LDQwIEBAIHZlcnNpb24gOj0gJChzaGVsbCBj YXQgJChzcmNkaXIpLy4uL2djYy8KLSBsaWJzdWJkaXIgOj0gJChsaWJkaXIpL2djYy8kKHRhcmdl dF9ub25jYW5vbmljYWwpLyQodmVyc2lvbikkKE1VTFRJU1VCRElSKQotIEFEQV9SVFNfRElSPSQo R0NDX0RJUikvYWRhL3J0cyQoc3Vic3QgLyxfLCQoTVVMVElTVUJESVIpKQotIAotK0RFRkFVTFRN VUxUSUZMQUdTIDo9Ci0raWZlcSAoJChNVUxUSVNVQkRJUiksKQotK3Rhcmc6PSQoc3Vic3QgLSwg LCQodGFyZ2V0KSkKLSthcmNoOj0kKHdvcmQgMSwkKHRhcmcpKQotK2lmZXEgKCQod29yZHMgJCh0 YXJnKSksMikKLStvc3lzOj0kKHdvcmQgMiwkKHRhcmcpKQotK2Vsc2UKLStvc3lzOj0kKHdvcmQg MywkKHRhcmcpKQotK2VuZGlmCi0raWZlcSAoJChzdHJpcCAkKGZpbHRlci1vdXQgaSU4NiB4ODZf NjQgcG93ZXJwYyUgcHBjJSBzMzkwJSBzcGFyYyUgbGludXglLCAkKGFyY2gpICQob3N5cykpKSwp Ci0raWZlcSAoJChzaGVsbCAkKENDKSAkKENGTEFHUykgLXByaW50LW11bHRpLW9zLWRpcmVjdG9y eSksLi4vbGliNjQpCi0rREVGQVVMVE1VTFRJRkxBR1MgOj0gLW02NAotK2Vsc2UKLStpZmVxICgk KHN0cmlwICQoZmlsdGVyLW91dCBzMzkwJSwgJChhcmNoKSkpLCkKLStERUZBVUxUTVVMVElGTEFH UyA6PSAtbTMxCi0rZWxzZQotK0RFRkFVTFRNVUxUSUZMQUdTIDo9IC1tMzIKLStlbmRpZgotK2Vu ZGlmCi0rZW5kaWYKLStlbmRpZgotKwotICMgZXhlZXh0IHNob3VsZCBub3QgYmUgdXNlZCBiZWNh dXNlIGl0J3MgdGhlICpob3N0KiBleGVleHQuICBXZSdyZSBidWlsZGluZwotICMgYSAqdGFyZ2V0 KiBsaWJyYXJ5LCBhcmVuJ3Qgd2U/IT8gIExpa2V3aXNlIGZvciBDQy4gIFN0aWxsLCBwcm92aWRl IGJvZ3VzCi0gIyBkZWZpbml0aW9ucyBqdXN0IGluIGNhc2Ugc29tZXRoaW5nIHNsaXBzIHRocm91 Z2ggdGhlIHNhZmV0eSBuZXQgcHJvdmlkZWQKLSAjIGJ5IHJlY3Vyc2l2ZSBtYWtlIGludm9jYXRp b25zIGluIGdjYy9hZGEvTWFrZWZpbGUuaW4KLSBMSUJBREFfRkxBR1NfVE9fUEFTUyA9IFwKLSAg ICAgICAgICJNQUtFT1ZFUlJJREVTPSIgXAotLSAgICAgICAgIkxERkxBR1M9JChMREZMQUdTKSIg XAotKyAgICAgICAgIkxERkxBR1M9JChzdHJpcCAkKExERkxBR1MpICQoREVGQVVMVE1VTFRJRkxB R1MpKSIgXAotICAgICAgICAgIkxOX1M9JChMTl9TKSIgXAotICAgICAgICAgIlNIRUxMPSQoU0hF TEwpIiBcCi0tICAgICAgICAiR05BVExJQkZMQUdTPSQoR05BVExJQkZMQUdTKSAkKE1VTFRJRkxB R1MpIiBcCi0tICAgICAgICAiR05BVExJQkNGTEFHUz0kKEdOQVRMSUJDRkxBR1MpICQoTVVMVElG TEFHUykiIFwKLS0gICAgICAgICJHTkFUTElCQ0ZMQUdTX0ZPUl9DPSQoR05BVExJQkNGTEFHU19G T1JfQykgJChNVUxUSUZMQUdTKSIgXAotKyAgICAgICAgIkdOQVRMSUJGTEFHUz0kKHN0cmlwICQo R05BVExJQkZMQUdTKSAkKE1VTFRJRkxBR1MpICQoREVGQVVMVE1VTFRJRkxBR1MpKSIgXAotKyAg ICAgICAgIkdOQVRMSUJDRkxBR1M9JChzdHJpcCAkKEdOQVRMSUJDRkxBR1MpICQoTVVMVElGTEFH UykgJChERUZBVUxUTVVMVElGTEFHUykpIiBcCi0rICAgICAgICAiR05BVExJQkNGTEFHU19GT1Jf Qz0kKHN0cmlwICQoR05BVExJQkNGTEFHU19GT1JfQykgJChNVUxUSUZMQUdTKSAkKERFRkFVTFRN VUxUSUZMQUdTKSkiIFwKLSAgICAgICAgICJUQVJHRVRfTElCR0NDMl9DRkxBR1M9JChUQVJHRVRf TElCR0NDMl9DRkxBR1MpIiBcCi0gICAgICAgICAiVEhSRUFEX0tJTkQ9JChUSFJFQURfS0lORCki IFwKLSAgICAgICAgICJUUkFDRT0kKFRSQUNFKSIgXAotQEAgLTkxLDcgKzExMyw3IEBAIExJQkFE QV9GTEFHU19UT19QQVNTID0gXAotICAgICAgICAgImV4ZWV4dD0uZXhlZXh0LnNob3VsZC5ub3Qu YmUudXNlZCAiIFwKLSAJJ0NDPXRoZS5ob3N0LmNvbXBpbGVyLnNob3VsZC5ub3QuYmUubmVlZGVk JyBcCi0gCSJHQ0NfRk9SX1RBUkdFVD0kKENDKSIgXAotLSAgICAgICAgIkNGTEFHUz0kKENGTEFH UykgJChXQVJOX0NGTEFHUykiCi0rICAgICAgICAiQ0ZMQUdTPSQoc3RyaXAgJChDRkxBR1MpICQo REVGQVVMVE1VTFRJRkxBR1MpICQoV0FSTl9DRkxBR1MpKSIKLSAKLSAjIFJ1bGVzIHRvIGJ1aWxk IGduYXRsaWIuCi0gLlBIT05ZOiBnbmF0bGliIGduYXRsaWItcGxhaW4gZ25hdGxpYi1zamxqIGdu YXRsaWItemN4IGduYXRsaWItc2hhcmVkIG9zY29ucwotLS0tIGdjYy9hZGEvbWFrZS5hZGIJMjAw OC0xMS0wNyAyMzowMDozMi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnY2MvYWRhL21ha2UuYWRiCTIw MDktMDEtMTYgMTc6NTU6MDIuMDAwMDAwMDAwICswMTAwCi1AQCAtODAwNyw2ICs4MDA3LDcgQEAg cGFja2FnZSBib2R5IE1ha2UgaXMKLSAgICAgICAgICAgICAgb3IgZWxzZSBBcmd2ICgyIC4uIEFy Z3YnTGFzdCkgPSAicGciCi0gICAgICAgICAgICAgIG9yIGVsc2UgKEFyZ3YgKDIpID0gJ20nIGFu ZCB0aGVuIEFyZ3YnTGFzdCA+IDIpCi0gICAgICAgICAgICAgIG9yIGVsc2UgKEFyZ3YgKDIpID0g J2YnIGFuZCB0aGVuIEFyZ3YnTGFzdCA+IDIpCi0rICAgICAgICAgICAgIG9yIGVsc2UgKEFyZ3Yn TGFzdCA+PSA4IGFuZCB0aGVuIEFyZ3YgKDIgLi4gOCkgPSAiLXBhcmFtPSIpCi0gICAgICAgICAg dGhlbgotICAgICAgICAgICAgIEFkZF9Td2l0Y2ggKEFyZ3YsIENvbXBpbGVyLCBBbmRfU2F2ZSA9 PiBBbmRfU2F2ZSk7Ci0gICAgICAgICAgICAgQWRkX1N3aXRjaCAoQXJndiwgTGlua2VyLCAgIEFu ZF9TYXZlID0+IEFuZF9TYXZlKTsKLS0tLSBnY2MvYWRhL3NlbV91dGlsLmFkYgkocmV2aXNpb24g MTYxNjc3KQotKysrIGdjYy9hZGEvc2VtX3V0aWwuYWRiCSh3b3JraW5nIGNvcHkpCi1AQCAtMjI0 Niw3ICsyMjQ2LDExIEBACi0gICAgICAgICAgZW5kIGlmOwotIAotICAgICAgIGVsc2lmIElzX0Vu dGl0eV9OYW1lIChBMikgdGhlbgotKwotKyAgICAgICAgIC0tICBUcmlnZ2VyZWQgYnkgLVdhbGwK LSsgICAgICAgICBwcmFnbWEgV2FybmluZ3MgKE9mZik7Ci0gICAgICAgICAgcmV0dXJuIERlbm90 ZXNfU2FtZV9QcmVmaXggKEEyLCBBMSk7Ci0rICAgICAgICAgcHJhZ21hIFdhcm5pbmdzIChPbik7 Ci0gCi0gICAgICAgZWxzaWYgTmtpbmRfSW4gKEExLCBOX1NlbGVjdGVkX0NvbXBvbmVudCwgTl9J bmRleGVkX0NvbXBvbmVudCwgTl9TbGljZSkKLSAgICAgICAgICAgICAgIGFuZCB0aGVuCi1AQCAt NDY5NCw3ICs0Njk4LDcgQEAKLSAgICAgICAgICAgICBFeHAgICAgICAgICAgIDogTm9kZV9JZDsK LSAgICAgICAgICAgICBBc3NuICAgICAgICAgIDogTm9kZV9JZDsKLSAgICAgICAgICAgICBDaG9p Y2UgICAgICAgIDogTm9kZV9JZDsKLS0gICAgICAgICAgICBDb21wX1R5cGUgICAgIDogRW50aXR5 X0lkOwotKyAgICAgICAgICAgIENvbXBfVHlwZSAgICAgOiBFbnRpdHlfSWQgOj0gRW1wdHk7Ci0g ICAgICAgICAgICAgSXNfQXJyYXlfQWdnciA6IEJvb2xlYW47Ci0gCi0gICAgICAgICAgYmVnaW4K LS0tLSBjb25maWctbWwuaW4uamoJMjAxMC0wNi0zMCAwOTo1MDo0NC4wMDAwMDAwMDAgKzAyMDAK LSsrKyBjb25maWctbWwuaW4JMjAxMC0wNy0wMiAyMToyNDoxNy45OTQyMTExNTEgKzAyMDAKLUBA IC01MTYsNiArNTE2LDcgQEAgbXVsdGktZG86Ci0gCQkJCUFEQUZMQUdTPSIkKEFEQUZMQUdTKSAk JHtmbGFnc30iIFwKLSAJCQkJcHJlZml4PSIkKHByZWZpeCkiIFwKLSAJCQkJZXhlY19wcmVmaXg9 IiQoZXhlY19wcmVmaXgpIiBcCi0rCQkJCW1hbmRpcj0iJChtYW5kaXIpIiBcCi0gCQkJCUdDSkZM QUdTPSIkKEdDSkZMQUdTKSAkJHtmbGFnc30iIFwKLSAJCQkJQ1hYRkxBR1M9IiQoQ1hYRkxBR1Mp ICQke2ZsYWdzfSIgXAotIAkJCQlMSUJDRkxBR1M9IiQoTElCQ0ZMQUdTKSAkJHtmbGFnc30iIFwK LS0tLSBsaWJqYXZhL01ha2VmaWxlLmFtLmpqCTIwMTAtMDctMDkgMTE6MTc6MzMuNzI5NjA0MDkw ICswMjAwCi0rKysgbGliamF2YS9NYWtlZmlsZS5hbQkyMDEwLTA3LTA5IDEzOjE2OjQxLjg5NDM3 NTY0MSArMDIwMAotQEAgLTcxMCw3ICs3MTAsOCBAQCBpZiBVU0VfTElCR0NKX0JDCi0gIyMgbGF0 ZXIuCi0gCUBlY2hvIEluc3RhbGxpbmcgZHVtbXkgbGliIGxpYmdjal9iYy5zby4xLjAuMDsgXAot IAlybSAkKERFU1RESVIpJCh0b29sZXhlY2xpYmRpcikvbGliZ2NqX2JjLnNvOyBcCi0tCW12ICQo REVTVERJUikkKHRvb2xleGVjbGliZGlyKS9saWJnY2pfYmMuc28uMS4wLjAgJChERVNURElSKSQo dG9vbGV4ZWNsaWJkaXIpL2xpYmdjal9iYy5zbzsgXAotKwkkKElOU1RBTEwpICQoSU5TVEFMTF9T VFJJUF9GTEFHKSAkKGhlcmUpLy5saWJzL2xpYmdjal9iYy5zbyAkKERFU1RESVIpJCh0b29sZXhl Y2xpYmRpcikvbGliZ2NqX2JjLnNvOyBcCi0rCXJtICQoREVTVERJUikkKHRvb2xleGVjbGliZGly KS9saWJnY2pfYmMuc28uMS4wLjA7IFwKLSAJJChsaWJnY2pfYmNfZHVtbXlfTElOSykgLXhjIC9k ZXYvbnVsbCAtV2wsLXNvbmFtZSxsaWJnY2pfYmMuc28uMSBcCi0gCS1vICQoREVTVERJUikkKHRv b2xleGVjbGliZGlyKS9saWJnY2pfYmMuc28uMS4wLjAgLWxnY2ogfHwgZXhpdDsgXAotIAlybSAk KERFU1RESVIpJCh0b29sZXhlY2xpYmRpcikvbGliZ2NqX2JjLnNvLjE7IFwKLS0tLSBsaWJqYXZh L01ha2VmaWxlLmluLmpqCTIwMTAtMDctMDkgMTE6MTc6MzQuMDAwMDAwMDAwICswMjAwCi0rKysg bGliamF2YS9NYWtlZmlsZS5pbgkyMDEwLTA3LTA5IDEzOjE4OjA3LjU0MjU3MjI3MCArMDIwMAot QEAgLTEyNjY1LDcgKzEyNjY1LDggQEAgaW5zdGFsbC1leGVjLWhvb2s6IGluc3RhbGwtYmluUFJP R1JBTVMgaQotIAlpbnN0YWxsLWxpYmV4ZWNzdWJQUk9HUkFNUwotIEBVU0VfTElCR0NKX0JDX1RS VUVACUBlY2hvIEluc3RhbGxpbmcgZHVtbXkgbGliIGxpYmdjal9iYy5zby4xLjAuMDsgXAotIEBV U0VfTElCR0NKX0JDX1RSVUVACXJtICQoREVTVERJUikkKHRvb2xleGVjbGliZGlyKS9saWJnY2pf YmMuc287IFwKLS1AVVNFX0xJQkdDSl9CQ19UUlVFQAltdiAkKERFU1RESVIpJCh0b29sZXhlY2xp YmRpcikvbGliZ2NqX2JjLnNvLjEuMC4wICQoREVTVERJUikkKHRvb2xleGVjbGliZGlyKS9saWJn Y2pfYmMuc287IFwKLStAVVNFX0xJQkdDSl9CQ19UUlVFQAkkKElOU1RBTEwpICQoSU5TVEFMTF9T VFJJUF9GTEFHKSAkKGhlcmUpLy5saWJzL2xpYmdjal9iYy5zbyAkKERFU1RESVIpJCh0b29sZXhl Y2xpYmRpcikvbGliZ2NqX2JjLnNvOyBcCi0rQFVTRV9MSUJHQ0pfQkNfVFJVRUAJcm0gJChERVNU RElSKSQodG9vbGV4ZWNsaWJkaXIpL2xpYmdjal9iYy5zby4xLjAuMDsgXAotIEBVU0VfTElCR0NK X0JDX1RSVUVACSQobGliZ2NqX2JjX2R1bW15X0xJTkspIC14YyAvZGV2L251bGwgLVdsLC1zb25h bWUsbGliZ2NqX2JjLnNvLjEgXAotIEBVU0VfTElCR0NKX0JDX1RSVUVACS1vICQoREVTVERJUikk KHRvb2xleGVjbGliZGlyKS9saWJnY2pfYmMuc28uMS4wLjAgLWxnY2ogfHwgZXhpdDsgXAotIEBV U0VfTElCR0NKX0JDX1RSVUVACXJtICQoREVTVERJUikkKHRvb2xleGVjbGliZGlyKS9saWJnY2pf YmMuc28uMTsgXAoKZGlmZiAtLWdpdCBhL2djYzQ1LWkzODYtbGliZ29tcC5wYXRjaCBiL2djYzQ1 LWkzODYtbGliZ29tcC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWQxZWVh OC4uMDAwMDAwMAotLS0gYS9nY2M0NS1pMzg2LWxpYmdvbXAucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSw2MSArMCwwIEBACi1CdWlsZCBpMzg2LnJwbSBsaWJnb21wIGFuZCBsaWJzdXBjKysuYShn dWFyZC5vKSBhcyBpNDg2KywgcHJlLWk0ODYKLWhhcmR3YXJlIGlzbid0IHN1cHBvcnRlZCBiZWNh dXNlIE5QVEwgZG9lc24ndCBzdXBwb3J0IGl0IGFueXdheS4KLQotLS0tIGxpYmdvbXAvY29uZmln dXJlLnRndC5qagkyMDA4LTAxLTEwIDIwOjUzOjQ4LjAwMDAwMDAwMCArMDEwMAotKysrIGxpYmdv bXAvY29uZmlndXJlLnRndAkyMDA4LTAzLTI3IDEyOjQ0OjUxLjAwMDAwMDAwMCArMDEwMAotQEAg LTQ0LDE0ICs0NCwxNCBAQCBpZiB0ZXN0ICRlbmFibGVfbGludXhfZnV0ZXggPSB5ZXM7IHRoZW4K LSAJOzsKLSAKLSAgICAgIyBOb3RlIHRoYXQgYmFyZSBpMzg2IGlzIG5vdCBpbmNsdWRlZCBoZXJl LiAgV2UgbmVlZCBjbXB4Y2hnLgotLSAgICBpWzQ1Nl04Ni0qLWxpbnV4KikKLSsgICAgaVszNDU2 XTg2LSotbGludXgqKQotIAljb25maWdfcGF0aD0ibGludXgveDg2IGxpbnV4IHBvc2l4IgotIAlj YXNlICIgJHtDQ30gJHtDRkxBR1N9ICIgaW4KLSAJICAqIiAtbTY0ICIqKQotIAkgICAgOzsKLSAJ ICAqKQotIAkgICAgaWYgdGVzdCAteiAiJHdpdGhfYXJjaCI7IHRoZW4KLS0JICAgICAgWENGTEFH Uz0iJHtYQ0ZMQUdTfSAtbWFyY2g9aTQ4NiAtbXR1bmU9JHt0YXJnZXRfY3B1fSIKLSsJICAgICAg WENGTEFHUz0iJHtYQ0ZMQUdTfSAtbWFyY2g9aTQ4NiAtbXR1bmU9Z2VuZXJpYyIKLSAJICAgIGZp Ci0gCWVzYWMKLSAJOzsKLUBAIC02Myw3ICs2Myw3IEBAIGlmIHRlc3QgJGVuYWJsZV9saW51eF9m dXRleCA9IHllczsgdGhlbgotIAljb25maWdfcGF0aD0ibGludXgveDg2IGxpbnV4IHBvc2l4Igot IAljYXNlICIgJHtDQ30gJHtDRkxBR1N9ICIgaW4KLSAJICAqIiAtbTMyICIqKQotLQkgICAgWENG TEFHUz0iJHtYQ0ZMQUdTfSAtbWFyY2g9aTQ4NiAtbXR1bmU9aTY4NiIKLSsJICAgIFhDRkxBR1M9 IiR7WENGTEFHU30gLW1hcmNoPWk0ODYgLW10dW5lPWdlbmVyaWMiCi0gCSAgICA7OwotIAllc2Fj Ci0gCTs7Ci0tLS0gbGlic3RkYysrLXYzL2xpYnN1cGMrKy9ndWFyZC5jYy5qagkyMDA4LTAzLTAx IDAwOjU4OjI0LjAwMDAwMDAwMCArMDEwMAotKysrIGxpYnN0ZGMrKy12My9saWJzdXBjKysvZ3Vh cmQuY2MJMjAwOC0wMy0yNyAxNDowODo0NC4wMDAwMDAwMDAgKzAxMDAKLUBAIC0zNSw2ICszNSwy NyBAQAotICNpbmNsdWRlIDxuZXc+Ci0gI2luY2x1ZGUgPGV4dC9hdG9taWNpdHkuaD4KLSAjaW5j bHVkZSA8ZXh0L2NvbmN1cnJlbmNlLmg+Ci0rI2lmIGRlZmluZWQgX19pMzg2X18gJiYgIWRlZmlu ZWQgX0dMSUJDWFhfQVRPTUlDX0JVSUxUSU5TXzQKLSsjIGRlZmluZSBfR0xJQkNYWF9BVE9NSUNf QlVJTFRJTlNfNCAxCi0rIyBkZWZpbmUgX19zeW5jX3ZhbF9jb21wYXJlX2FuZF9zd2FwKGEsIGIs IGMpIFwKLSsgICh7CQkJCQkJCQlcCi0rICAgICB0eXBlZGVmIGNoYXIgc2x0YXN0W3NpemVvZiAo KmEpID09IHNpemVvZiAoaW50KSA/IDEgOiAtMV07CVwKLSsgICAgIGludCBzbHRhczsJCQkJCQkJ XAotKyAgICAgX19hc20gX192b2xhdGlsZSAoImxvY2s7IGNtcHhjaGdsICUzLCAoJTEpIgkJXAot KwkJICAgICAgIDogIj1hIiAoc2x0YXMpCQkJCVwKLSsJCSAgICAgICA6ICJyIiAoYSksICIwIiAo YiksICJyIiAoYykgOiAibWVtb3J5Iik7CVwKLSsgICAgIHNsdGFzOwkJCQkJCQlcCi0rICAgfSkK LSsjIGRlZmluZSBfX3N5bmNfbG9ja190ZXN0X2FuZF9zZXQoYSwgYikgXAotKyAgKHsJCQkJCQkJ CVwKLSsgICAgIHR5cGVkZWYgY2hhciBzbHRhc3Rbc2l6ZW9mICgqYSkgPT0gc2l6ZW9mIChpbnQp ID8gMSA6IC0xXTsJXAotKyAgICAgaW50IHNsdGFzOwkJCQkJCQlcCi0rICAgICBfX2FzbSBfX3Zv bGF0aWxlICgieGNoZ2wgKCUxKSwgJTAiCQkJCVwKLSsJCSAgICAgICA6ICI9ciIgKHNsdGFzKQkJ CQlcCi0rCQkgICAgICAgOiAiciIgKGEpLCAiMCIgKGIpIDogIm1lbW9yeSIpOwkJXAotKyAgICAg c2x0YXM7CQkJCQkJCVwKLSsgICB9KQotKyNlbmRpZgotICNpZiBkZWZpbmVkKF9fR1RIUkVBRFMp ICYmIGRlZmluZWQoX19HVEhSRUFEX0hBU19DT05EKSBcCi0gICAgICYmIGRlZmluZWQoX0dMSUJD WFhfQVRPTUlDX0JVSUxUSU5TXzQpICYmIGRlZmluZWQoX0dMSUJDWFhfSEFWRV9MSU5VWF9GVVRF WCkKLSAjIGluY2x1ZGUgPGNsaW1pdHM+CgpkaWZmIC0tZ2l0IGEvZ2NjNDUtamF2YS1ub211bHRp LnBhdGNoIGIvZ2NjNDUtamF2YS1ub211bHRpLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAxNzMzNGFhLi4wMDAwMDAwCi0tLSBhL2djYzQ1LWphdmEtbm9tdWx0aS5wYXRjaAor KysgL2Rldi9udWxsCkBAIC0xLDQ0ICswLDAgQEAKLS0tLSBsaWJqYXZhL2NvbmZpZ3VyZS5hYy5q agkyMDA3LTEyLTA3IDE3OjU1OjUwLjAwMDAwMDAwMCArMDEwMAotKysrIGxpYmphdmEvY29uZmln dXJlLmFjCTIwMDctMTItMDcgMTg6MzY6NTYuMDAwMDAwMDAwICswMTAwCi1AQCAtODIsNiArODIs MTMgQEAgQUNfQVJHX0VOQUJMRShqYXZhLW1haW50YWluZXItbW9kZSwKLSAJW2FsbG93IHJlYnVp bGRpbmcgb2YgLmNsYXNzIGFuZCAuaCBmaWxlc10pKQotIEFNX0NPTkRJVElPTkFMKEpBVkFfTUFJ TlRBSU5FUl9NT0RFLCB0ZXN0ICIkZW5hYmxlX2phdmFfbWFpbnRhaW5lcl9tb2RlIiA9IHllcykK LSAKLStBQ19BUkdfRU5BQkxFKGxpYmphdmEtbXVsdGlsaWIsCi0rCUFTX0hFTFBfU1RSSU5HKFst LWVuYWJsZS1saWJqYXZhLW11bHRpbGliXSwgW2J1aWxkIGxpYmphdmEgYXMgbXVsdGlsaWJdKSkK LStpZiB0ZXN0ICIkZW5hYmxlX2xpYmphdmFfbXVsdGlsaWIiID0gbm87IHRoZW4KLSsgIG11bHRp bGliPW5vCi0rICBhY19jb25maWd1cmVfYXJncz0iJGFjX2NvbmZpZ3VyZV9hcmdzIC0tZGlzYWJs ZS1tdWx0aWxpYiIKLStmaQotKwotICMgSXQgbWF5IG5vdCBiZSBzYWZlIHRvIHJ1biBsaW5raW5n IHRlc3RzIGluIEFDX1BST0dfQ0MvQUNfUFJPR19DWFguCi0gR0NDX05PX0VYRUNVVEFCTEVTCi0g Ci0tLS0gbGliamF2YS9jb25maWd1cmUuamoJMjAwNy0xMi0wNyAxNzo1NTo1MC4wMDAwMDAwMDAg KzAxMDAKLSsrKyBsaWJqYXZhL2NvbmZpZ3VyZQkyMDA3LTEyLTA3IDE4OjM5OjU4LjAwMDAwMDAw MCArMDEwMAotQEAgLTEwMjEsNiArMTAyMSw4IEBAIE9wdGlvbmFsIEZlYXR1cmVzOgotICAgICAg ICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD15ZXMKLSAgIC0tZW5hYmxlLWphdmEtbWFpbnRh aW5lci1tb2RlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvdyByZWJ1aWxkaW5nIG9m IC5jbGFzcyBhbmQgLmggZmlsZXMKLSsgIC0tZW5hYmxlLWxpYmphdmEtbXVsdGlsaWIKLSsgICAg ICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkIGxpYmphdmEgYXMgbXVsdGlsaWIKLSAgIC0tZGlz YWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nICBzcGVlZHMgdXAgb25lLXRpbWUgYnVpbGQKLSAgIC0t ZW5hYmxlLWRlcGVuZGVuY3ktdHJhY2tpbmcgICBkbyBub3QgcmVqZWN0IHNsb3cgZGVwZW5kZW5j eSBleHRyYWN0b3JzCi0gICAtLWVuYWJsZS1tYWludGFpbmVyLW1vZGUgIGVuYWJsZSBtYWtlIHJ1 bGVzIGFuZCBkZXBlbmRlbmNpZXMgbm90IHVzZWZ1bAotQEAgLTE5NzMsNiArMTk3NSwxNiBAQCBl bHNlCi0gZmkKLSAKLSAKLSsjIENoZWNrIHdoZXRoZXIgLS1lbmFibGUtbGliamF2YS1tdWx0aWxp YiB3YXMgZ2l2ZW4uCi0raWYgdGVzdCAiJHtlbmFibGVfbGliamF2YV9tdWx0aWxpYitzZXR9IiA9 IHNldDsgdGhlbgotKyAgZW5hYmxldmFsPSRlbmFibGVfbGliamF2YV9tdWx0aWxpYjsKLStmaQot KwotK2lmIHRlc3QgIiRlbmFibGVfbGliamF2YV9tdWx0aWxpYiIgPSBubzsgdGhlbgotKyAgbXVs dGlsaWI9bm8KLSsgIGFjX2NvbmZpZ3VyZV9hcmdzPSIkYWNfY29uZmlndXJlX2FyZ3MgLS1kaXNh YmxlLW11bHRpbGliIgotK2ZpCi0rCi0gIyBJdCBtYXkgbm90IGJlIHNhZmUgdG8gcnVuIGxpbmtp bmcgdGVzdHMgaW4gQUNfUFJPR19DQy9BQ19QUk9HX0NYWC4KLSAKLSAKCmRpZmYgLS1naXQgYS9n Y2M0NS1saWJnb21wLW9tcF9oLW11bHRpbGliLnBhdGNoIGIvZ2NjNDUtbGliZ29tcC1vbXBfaC1t dWx0aWxpYi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDBlOThkMS4uMDAw MDAwMAotLS0gYS9nY2M0NS1saWJnb21wLW9tcF9oLW11bHRpbGliLnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsMTcgKzAsMCBAQAotMjAwOC0wNi0wOSAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJl ZGhhdC5jb20+Ci0KLQkqIG9tcC5oLmluIChvbXBfbmVzdF9sb2NrX3QpOiBGaXggdXAgZm9yIExp bnV4IG11bHRpbGlicy4KLQotLS0tIGxpYmdvbXAvb21wLmguaW4uamoJMjAwOC0wNi0wOSAxMzoz NDowNS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBsaWJnb21wL29tcC5oLmluCTIwMDgtMDYtMDkgMTM6 MzQ6NDguMDAwMDAwMDAwICswMjAwCi1AQCAtNDIsOCArNDIsOCBAQCB0eXBlZGVmIHN0cnVjdAot IAotIHR5cGVkZWYgc3RydWN0Ci0gewotLSAgdW5zaWduZWQgY2hhciBfeFtAT01QX05FU1RfTE9D S19TSVpFQF0gCi0tICAgIF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKEBPTVBfTkVTVF9MT0NL X0FMSUdOQCkpKTsKLSsgIHVuc2lnbmVkIGNoYXIgX3hbOCArIHNpemVvZiAodm9pZCAqKV0gCi0r ICAgIF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKHNpemVvZiAodm9pZCAqKSkpKTsKLSB9IG9t cF9uZXN0X2xvY2tfdDsKLSAjZW5kaWYKLSAKCmRpZmYgLS1naXQgYS9nY2M0NS1saWJzdGRjKyst ZG9jcy5wYXRjaCBiL2djYzQ1LWxpYnN0ZGMrKy1kb2NzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAyZDE4ZjQ0Li4wMDAwMDAwCi0tLSBhL2djYzQ1LWxpYnN0ZGMrKy1kb2Nz LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotLS0tIGxpYnN0ZGMrKy12My9k b2MvaHRtbC9pbmRleC5odG1sLmpqCTIwMTAtMDYtMzAgMDk6NDg6MzguMDAwMDAwMDAwICswMjAw Ci0rKysgbGlic3RkYysrLXYzL2RvYy9odG1sL2luZGV4Lmh0bWwJMjAxMC0wNy0wMSAxNjoyMjoy NS4wNjY0OTE4NzggKzAyMDAKLUBAIC0xMiw3ICsxMiw4IEBACi0gPGRpdj4KLSA8aDE+VGhlIEdO VSBDKysgTGlicmFyeSBEb2N1bWVudGF0aW9uPC9oMT4KLSAKLS08cD5Db3B5cmlnaHQgMjAwOCwg MjAwOSBGU0Y8L3A+Ci0rPHA+UmVsZWFzZSA0LjUuMDwvcD4KLSs8cD5Db3B5cmlnaHQgMjAwOCwg MjAwOSwgMjAxMCBGU0Y8L3A+Ci0gCi0gPHA+Ci0gICBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8g Y29weSwgZGlzdHJpYnV0ZSBhbmQvb3IgbW9kaWZ5IHRoaXMKLS0tLSBsaWJzdGRjKystdjMvZG9j L2h0bWwvYXBpLmh0bWwuamoJMjAxMC0wNi0zMCAwOTo0ODozOC4wMDAwMDAwMDAgKzAyMDAKLSsr KyBsaWJzdGRjKystdjMvZG9jL2h0bWwvYXBpLmh0bWwJMjAxMC0wNy0wMSAxNjoyNDozOS4xNTg0 Mjk0MTAgKzAyMDAKLUBAIC0xNywyNyArMTcsMTIgQEAgdXNlZnVsIGZvciBleGFtaW5pbmcgdGhl IHNpZ25hdHVyZXMgb2YgcAotIHRoZSBsaWJyYXJ5IGNsYXNzZXMsIGZpbmRpbmcgb3V0IHdoYXQg aXMgaW4gYSBwYXJ0aWN1bGFyIGluY2x1ZGUKLSBmaWxlLCBsb29raW5nIGF0IGluaGVyaXRhbmNl IGRpYWdyYW1zLCBldGMuCi0gPC9wPjxwPgotLVRoZSBzb3VyY2UtbGV2ZWwgZG9jdW1lbnRhdGlv biBmb3IgdGhlIG1vc3QgcmVjZW50IHJlbGVhc2VzIGNhbiBiZQotLXZpZXdlZCBvbmxpbmU6Ci0t PC9wPjxkaXYgY2xhc3M9Iml0ZW1pemVkbGlzdCI+PHVsIGNsYXNzPSJpdGVtaXplZGxpc3QiIHR5 cGU9ImRpc2MiPjxsaSBjbGFzcz0ibGlzdGl0ZW0iPjxwPgotLSAgICAgIDxhIGNsYXNzPSJ1bGlu ayIgaHJlZj0iaHR0cDovL2djYy5nbnUub3JnL29ubGluZWRvY3MvbGlic3RkYysrL2xpYnN0ZGMr Ky1odG1sLVVTRVJTLTMuNC9pbmRleC5odG1sIiB0YXJnZXQ9Il90b3AiPmZvciB0aGUgMy40IHJl bGVhc2UKLStUaGUgc291cmNlLWxldmVsIGRvY3VtZW50YXRpb24gY2FuIGJlIHZpZXdlZCBoZXJl OgotKzwvcD4KLSs8ZGl2IGNsYXNzPSJpdGVtaXplZGxpc3QiPjx1bCB0eXBlPSJkaXNjIj4KLSsg ICAgPGxpPjxwPgotKyAgICAgIDxhIGNsYXNzPSJ1bGluayIgaHJlZj0iYXBpL2luZGV4Lmh0bWwi IHRhcmdldD0iX3RvcCI+Zm9yIHRoZSA0LjUgcmVsZWFzZQotICAgICAgIDwvYT4KLS0gICAgPC9w PjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+Ci0tICAgICAgPGEgY2xhc3M9InVsaW5rIiBo cmVmPSJodHRwOi8vZ2NjLmdudS5vcmcvb25saW5lZG9jcy9saWJzdGRjKysvbGlic3RkYysrLWh0 bWwtVVNFUlMtNC4xL2luZGV4Lmh0bWwiIHRhcmdldD0iX3RvcCI+Zm9yIHRoZSA0LjEgcmVsZWFz ZQotLSAgICAgIDwvYT4KLS0gICAgPC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+Ci0t ICAgICAgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vZ2NjLmdudS5vcmcvb25saW5lZG9j cy9saWJzdGRjKysvbGlic3RkYysrLWh0bWwtVVNFUlMtNC4yL2luZGV4Lmh0bWwiIHRhcmdldD0i X3RvcCI+Zm9yIHRoZSA0LjIgcmVsZWFzZQotLSAgICAgIDwvYT4KLS0gICAgPC9wPjwvbGk+PGxp IGNsYXNzPSJsaXN0aXRlbSI+PHA+Ci0tICAgICAgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRw Oi8vZ2NjLmdudS5vcmcvb25saW5lZG9jcy9saWJzdGRjKysvbGlic3RkYysrLWh0bWwtVVNFUlMt NC4zL2luZGV4Lmh0bWwiIHRhcmdldD0iX3RvcCI+Zm9yIHRoZSA0LjMgcmVsZWFzZQotLSAgICAg IDwvYT4KLS0gICAgPC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+Ci0tICAgICAgPGEg Y2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vZ2NjLmdudS5vcmcvb25saW5lZG9jcy9saWJzdGRj KysvbGlic3RkYysrLWh0bWwtVVNFUlMtNC40L2luZGV4Lmh0bWwiIHRhcmdldD0iX3RvcCI+Zm9y IHRoZSA0LjQgcmVsZWFzZQotLSAgICAgIDwvYT4KLS0gICAgPC9wPjwvbGk+PGxpIGNsYXNzPSJs aXN0aXRlbSI+PHA+Ci0tICAgICAgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vZ2NjLmdu dS5vcmcvb25saW5lZG9jcy9saWJzdGRjKysvbGF0ZXN0LWRveHlnZW4vaW5kZXguaHRtbCIgdGFy Z2V0PSJfdG9wIj4idGhlIGxhdGVzdCBjb2xsZWN0aW9uIgotLSAgICAgIDwvYT4KLS0gICAgICAo Rm9yIHRoZSBtYWluIGRldmVsb3BtZW50IHRyZWU7IHNlZSB0aGUgZGF0ZSBvbiB0aGUgZmlyc3Qg cGFnZS4pCi0gICAgIDwvcD48L2xpPjwvdWw+PC9kaXY+PHA+Ci0gVGhpcyBnZW5lcmF0ZWQgSFRN TCBjb2xsZWN0aW9uLCBhcyBhYm92ZSwgaXMgYWxzbyBhdmFpbGFibGUgZm9yIGRvd25sb2FkIGlu IHRoZSBsaWJzdGRjKysgc25hcHNob3RzIGRpcmVjdG9yeSBhdAotICAgIDxjb2RlIGNsYXNzPSJs aXRlcmFsIj4mbHQ7VVJMOmZ0cDovL2djYy5nbnUub3JnL3B1Yi9nY2MvbGlic3RkYysrL2RveHln ZW4vJmd0OzwvY29kZT4uCgpkaWZmIC0tZ2l0IGEvZ2NjNDUtbGlidG9vbC1uby1ycGF0aC5wYXRj aCBiL2djYzQ1LWxpYnRvb2wtbm8tcnBhdGgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDQ2NmM2NjEuLjAwMDAwMDAKLS0tIGEvZ2NjNDUtbGlidG9vbC1uby1ycGF0aC5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDI3ICswLDAgQEAKLWxpYnRvb2wgc3Vja3MuCi0tLS0gbHRt YWluLnNoLmpqCTIwMDctMTItMDcgMTQ6NTM6MjEuMDAwMDAwMDAwICswMTAwCi0rKysgbHRtYWlu LnNoCTIwMDgtMDktMDUgMjE6NTE6NDguMDAwMDAwMDAwICswMjAwCi1AQCAtNTM5NCw2ICs1Mzk0 LDcgQEAgRU9GCi0gCSAgcnBhdGg9IiRmaW5hbGl6ZV9ycGF0aCIKLSAJICB0ZXN0ICIkbW9kZSIg IT0gcmVsaW5rICYmIHJwYXRoPSIkY29tcGlsZV9ycGF0aCRycGF0aCIKLSAJICBmb3IgbGliZGly IGluICRycGF0aDsgZG8KLSsJICAgIGNhc2UgIiRsaWJkaXIiIGluIC91c3IvbGlifC91c3IvbGli NjR8L3Vzci9saWIvLi4vbGlifC91c3IvbGliLy4uL2xpYjY0KSBjb250aW51ZTs7IGVzYWMKLSAJ ICAgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfZmxhZ19zcGVjIjsgdGhlbgotIAkgICAg ICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciI7IHRoZW4KLSAJCWlmIHRl c3QgLXogIiRoYXJkY29kZV9saWJkaXJzIjsgdGhlbgotQEAgLTYwNzEsNiArNjA3Miw3IEBAIEVP RgotICAgICAgIHJwYXRoPQotICAgICAgIGhhcmRjb2RlX2xpYmRpcnM9Ci0gICAgICAgZm9yIGxp YmRpciBpbiAkY29tcGlsZV9ycGF0aCAkZmluYWxpemVfcnBhdGg7IGRvCi0rCWNhc2UgIiRsaWJk aXIiIGluIC91c3IvbGlifC91c3IvbGliNjR8L3Vzci9saWIvLi4vbGlifC91c3IvbGliLy4uL2xp YjY0KSBjb250aW51ZTs7IGVzYWMKLSAJaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9mbGFn X3NwZWMiOyB0aGVuCi0gCSAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3Ii OyB0aGVuCi0gCSAgICBpZiB0ZXN0IC16ICIkaGFyZGNvZGVfbGliZGlycyI7IHRoZW4KLUBAIC02 MTIwLDYgKzYxMjIsNyBAQCBFT0YKLSAgICAgICBycGF0aD0KLSAgICAgICBoYXJkY29kZV9saWJk aXJzPQotICAgICAgIGZvciBsaWJkaXIgaW4gJGZpbmFsaXplX3JwYXRoOyBkbwotKwljYXNlICIk bGliZGlyIiBpbiAvdXNyL2xpYnwvdXNyL2xpYjY0fC91c3IvbGliLy4uL2xpYnwvdXNyL2xpYi8u Li9saWI2NCkgY29udGludWU7OyBlc2FjCi0gCWlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJf ZmxhZ19zcGVjIjsgdGhlbgotIAkgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfc2VwYXJh dG9yIjsgdGhlbgotIAkgICAgaWYgdGVzdCAteiAiJGhhcmRjb2RlX2xpYmRpcnMiOyB0aGVuCgpk aWZmIC0tZ2l0IGEvZ2NjNDUtbm8tYWRkLW5lZWRlZC5wYXRjaCBiL2djYzQ1LW5vLWFkZC1uZWVk ZWQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIzNzA0ZDMuLjAwMDAwMDAK LS0tIGEvZ2NjNDUtbm8tYWRkLW5lZWRlZC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUyICsw LDAgQEAKLTIwMTAtMDItMDggIFJvbGFuZCBNY0dyYXRoICA8cm9sYW5kQHJlZGhhdC5jb20+Ci0K LQkqIGNvbmZpZy9yczYwMDAvc3lzdjQuaCAoTElOS19FSF9TUEVDKTogUGFzcyAtLW5vLWFkZC1u ZWVkZWQgdG8gdGhlCi0JbGlua2VyLgotCSogY29uZmlnL2xpbnV4LmggKExJTktfRUhfU1BFQyk6 IExpa2V3aXNlLgotCSogY29uZmlnL2FscGhhL2VsZi5oIChMSU5LX0VIX1NQRUMpOiBMaWtld2lz ZS4KLQkqIGNvbmZpZy9pYTY0L2xpbnV4LmggKExJTktfRUhfU1BFQyk6IExpa2V3aXNlLgotCi0t LS0gZ2NjL2NvbmZpZy9hbHBoYS9lbGYuaC5+MX4KLSsrKyBnY2MvY29uZmlnL2FscGhhL2VsZi5o Ci1AQCAtNDIxLDcgKzQyMSw3IEBAIGV4dGVybiBpbnQgYWxwaGFfdGhpc19ncGRpc3Bfc2VxdWVu Y2VfbnUKLSAgICBJIGltYWdpbmUgdGhhdCBvdGhlciBzeXN0ZW1zIHdpbGwgY2F0Y2ggdXAuICBJ biB0aGUgbWVhbnRpbWUsIGl0Ci0gICAgZG9lc24ndCBoYXJtIHRvIG1ha2Ugc3VyZSB0aGF0IHRo ZSBkYXRhIGV4aXN0cyB0byBiZSB1c2VkIGxhdGVyLiAgKi8KLSAjaWYgZGVmaW5lZChIQVZFX0xE X0VIX0ZSQU1FX0hEUikKLS0jZGVmaW5lIExJTktfRUhfU1BFQyAiJXshc3RhdGljOi0tZWgtZnJh bWUtaGRyfSAiCi0rI2RlZmluZSBMSU5LX0VIX1NQRUMgIi0tbm8tYWRkLW5lZWRlZCAleyFzdGF0 aWM6LS1laC1mcmFtZS1oZHJ9ICIKLSAjZW5kaWYKLSAKLSAvKiBBIEMgc3RhdGVtZW50IChzYW5z IHNlbWljb2xvbikgdG8gb3V0cHV0IHRvIHRoZSBzdGRpbyBzdHJlYW0gU1RSRUFNCi0tLS0gZ2Nj L2NvbmZpZy9pYTY0L2xpbnV4LmgufjF+Ci0rKysgZ2NjL2NvbmZpZy9pYTY0L2xpbnV4LmgKLUBA IC01OCw3ICs1OCw3IEBAIGRvIHsJCQkJCQlcCi0gICAgU2lnbmFsaXplIHRoYXQgYmVjYXVzZSB3 ZSBoYXZlIGZkZS1nbGliYywgd2UgZG9uJ3QgbmVlZCBhbGwgQyBzaGFyZWQgbGlicwotICAgIGxp bmtlZCBhZ2FpbnN0IC1sZ2NjX3MuICAqLwotICN1bmRlZiBMSU5LX0VIX1NQRUMKLS0jZGVmaW5l IExJTktfRUhfU1BFQyAiIgotKyNkZWZpbmUgTElOS19FSF9TUEVDICItLW5vLWFkZC1uZWVkZWQg IgotIAotICNkZWZpbmUgTURfVU5XSU5EX1NVUFBPUlQgImNvbmZpZy9pYTY0L2xpbnV4LXVud2lu ZC5oIgotIAotLS0tIGdjYy9jb25maWcvbGludXguaC5+MX4KLSsrKyBnY2MvY29uZmlnL2xpbnV4 LmgKLUBAIC04OSw3ICs4OSw3IEBAIHNlZSB0aGUgZmlsZXMgQ09QWUlORzMgYW5kIENPUFlJTkcu UlVOVEkKLSAgICAgfSB3aGlsZSAoMCkKLSAKLSAjaWYgZGVmaW5lZChIQVZFX0xEX0VIX0ZSQU1F X0hEUikKLS0jZGVmaW5lIExJTktfRUhfU1BFQyAiJXshc3RhdGljOi0tZWgtZnJhbWUtaGRyfSAi Ci0rI2RlZmluZSBMSU5LX0VIX1NQRUMgIi0tbm8tYWRkLW5lZWRlZCAleyFzdGF0aWM6LS1laC1m cmFtZS1oZHJ9ICIKLSAjZW5kaWYKLSAKLSAvKiBEZWZpbmUgdGhpcyBzbyB3ZSBjYW4gY29tcGls ZSBNUyBjb2RlIGZvciB1c2Ugd2l0aCBXSU5FLiAgKi8KLS0tLSBnY2MvY29uZmlnL3JzNjAwMC9z eXN2NC5oLn4xfgotKysrIGdjYy9jb25maWcvcnM2MDAwL3N5c3Y0LmgKLUBAIC05MTcsNyArOTE3 LDcgQEAgU1ZSNF9BU01fU1BFQyBcCi0gICAleyFkeW5hbWljLWxpbmtlcjotZHluYW1pYy1saW5r ZXIgIiBMSU5VWF9EWU5BTUlDX0xJTktFUiAifX19IgotIAotICNpZiBkZWZpbmVkKEhBVkVfTERf RUhfRlJBTUVfSERSKQotLSMgZGVmaW5lIExJTktfRUhfU1BFQyAiJXshc3RhdGljOi0tZWgtZnJh bWUtaGRyfSAiCi0rIyBkZWZpbmUgTElOS19FSF9TUEVDICItLW5vLWFkZC1uZWVkZWQgJXshc3Rh dGljOi0tZWgtZnJhbWUtaGRyfSAiCi0gI2VuZGlmCi0gCi0gI2RlZmluZSBDUFBfT1NfTElOVVhf U1BFQyAiLURfX3VuaXhfXyAtRF9fZ251X2xpbnV4X18gLURfX2xpbnV4X18gXAoKZGlmZiAtLWdp dCBhL2djYzQ1LXBwYzMyLXJldGFkZHIucGF0Y2ggYi9nY2M0NS1wcGMzMi1yZXRhZGRyLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlOWFlMWJjLi4wMDAwMDAwCi0tLSBhL2dj YzQ1LXBwYzMyLXJldGFkZHIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4NiArMCwwIEBACi0y MDA1LTExLTI4ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KLQotCSogY29uZmln L3JzNjAwMC9yczYwMDAuYyAocnM2MDAwX3JldHVybl9hZGRyKTogSWYgQ09VTlQgPT0gMCwKLQly ZWFkIHdvcmQgUkVUVVJOX0FERFJFU1NfT0ZGU0VUIGJ5dGVzIGFib3ZlIGFyZ19wb2ludGVyX3J0 eAotCWluc3RlYWQgb2YgZG9pbmcgYW4gZXh0cmFuIGluZGlyZWN0aW9uIGZyb20gZnJhbWVfcG9p bnRlcl9ydHguCi0KLQkqIGdjYy5kZy8yMDA1MTEyOC0xLmM6IE5ldyB0ZXN0LgotCi0tLS0gZ2Nj L2NvbmZpZy9yczYwMDAvcnM2MDAwLmMuamoJMjAwNS0xMS0yNiAxNDozODowMS4wMDAwMDAwMDAg KzAxMDAKLSsrKyBnY2MvY29uZmlnL3JzNjAwMC9yczYwMDAuYwkyMDA1LTExLTI4IDIwOjMyOjE4 LjAwMDAwMDAwMCArMDEwMAotQEAgLTEzMTY2LDE3ICsxMzE2NiwyMiBAQCByczYwMDBfcmV0dXJu X2FkZHIgKGludCBjb3VudCwgcnR4IGZyYW1lCi0gICAgICBkb24ndCB0cnkgdG8gYmUgdG9vIGNs ZXZlciBoZXJlLiAgKi8KLSAgIGlmIChjb3VudCAhPSAwIHx8IChERUZBVUxUX0FCSSAhPSBBQklf QUlYICYmIGZsYWdfcGljKSkKLSAgICAgewotKyAgICAgIHJ0eCB4OwotICAgICAgIGNmdW4tPm1h Y2hpbmUtPnJhX25lZWRzX2Z1bGxfZnJhbWUgPSAxOwotIAotLSAgICAgIHJldHVybgotLQlnZW5f cnR4X01FTQotLQkgIChQbW9kZSwKLS0JICAgbWVtb3J5X2FkZHJlc3MKLS0JICAgKFBtb2RlLAot LQkgICAgcGx1c19jb25zdGFudCAoY29weV90b19yZWcKLS0JCQkgICAoZ2VuX3J0eF9NRU0gKFBt b2RlLAotLQkJCQkJIG1lbW9yeV9hZGRyZXNzIChQbW9kZSwgZnJhbWUpKSksCi0tCQkJICAgUkVU VVJOX0FERFJFU1NfT0ZGU0VUKSkpOwotKyAgICAgIGlmIChjb3VudCA9PSAwKQotKwl7Ci0rCSAg Z2NjX2Fzc2VydCAoZnJhbWUgPT0gZnJhbWVfcG9pbnRlcl9ydHgpOwotKwkgIHggPSBhcmdfcG9p bnRlcl9ydHg7Ci0rCX0KLSsgICAgICBlbHNlCi0rCXsKLSsJICB4ID0gbWVtb3J5X2FkZHJlc3Mg KFBtb2RlLCBmcmFtZSk7Ci0rCSAgeCA9IGNvcHlfdG9fcmVnIChnZW5fcnR4X01FTSAoUG1vZGUs IHgpKTsKLSsJfQotKwotKyAgICAgIHggPSBwbHVzX2NvbnN0YW50ICh4LCBSRVRVUk5fQUREUkVT U19PRkZTRVQpOwotKyAgICAgIHJldHVybiBnZW5fcnR4X01FTSAoUG1vZGUsIG1lbW9yeV9hZGRy ZXNzIChQbW9kZSwgeCkpOwotICAgICB9Ci0gCi0gICBjZnVuLT5tYWNoaW5lLT5yYV9uZWVkX2xy ID0gMTsKLS0tLSBnY2MvdGVzdHN1aXRlL2djYy5kZy8yMDA1MTEyOC0xLmMuamoJMjAwNS0xMC0x MCAxMToyMTo0MS4wOTY5OTkwMDAgKzAyMDAKLSsrKyBnY2MvdGVzdHN1aXRlL2djYy5kZy8yMDA1 MTEyOC0xLmMJMjAwNS0xMS0yOCAxMjozMDo1Ny4wMDAwMDAwMDAgKzAxMDAKLUBAIC0wLDAgKzEs NDEgQEAKLSsvKiB7IGRnLWRvIHJ1biB9ICovCi0rLyogeyBkZy1vcHRpb25zICItTzIgLWZwaWMi IH0gKi8KLSsKLStleHRlcm4gdm9pZCBleGl0IChpbnQpOwotK2V4dGVybiB2b2lkIGFib3J0ICh2 b2lkKTsKLSsKLStpbnQgYjsKLSsKLStzdHJ1Y3QgQQotK3sKLSsgIHZvaWQgKnBhZFsxNDddOwot KyAgdm9pZCAqcmEsICpoOwotKyAgbG9uZyBvOwotK307Ci0rCi0rdm9pZAotK19fYXR0cmlidXRl X18oKG5vaW5saW5lKSkKLStmb28gKHN0cnVjdCBBICphLCB2b2lkICp4KQotK3sKLSsgIF9fYnVp bHRpbl9tZW1zZXQgKGEsIDAsIHNpemVvZiAoYSkpOwotKyAgaWYgKCFiKQotKyAgICBleGl0ICgw KTsKLSt9Ci0rCi0rdm9pZAotK19fYXR0cmlidXRlX18oKG5vaW5saW5lKSkKLStiYXIgKHZvaWQp Ci0rewotKyAgc3RydWN0IEEgYTsKLSsKLSsgIF9fYnVpbHRpbl91bndpbmRfaW5pdCAoKTsKLSsg IGZvbyAoJmEsIF9fYnVpbHRpbl9yZXR1cm5fYWRkcmVzcyAoMCkpOwotK30KLSsKLStpbnQKLStt YWluICh2b2lkKQotK3sKLSsgIGJhciAoKTsKLSsgIGFib3J0ICgpOwotKyAgcmV0dXJuIDA7Ci0r fQoKZGlmZiAtLWdpdCBhL2djYzQ1LXByMzM3NjMucGF0Y2ggYi9nY2M0NS1wcjMzNzYzLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NmM4YWM3Li4wMDAwMDAwCi0tLSBhL2dj YzQ1LXByMzM3NjMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNTMgKzAsMCBAQAotMjAwNy0x MS0wNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+Ci0KLQlQUiB0cmVlLW9wdGlt aXphdGlvbi8zMzc2MwotCSogZ2NjLmRnL3ByMzM3NjMuYzogTmV3IHRlc3QuCi0JKiBnKysuZGcv b3B0L2lubGluZTEzLkM6IE5ldyB0ZXN0LgotCi0yMDA3LTExLTA2ICBKYW4gSHViaWNrYSAgPGpo QHN1c2UuY3o+Ci0KLQlQUiB0cmVlLW9wdGltaXphdGlvbi8zMzc2MwotCSogdHJlZS1pbmxpbmUu YyAoZXhwYW5kX2NhbGxfaW5saW5lKTogU2lsZW50bHkgaWdub3JlIGFsd2F5c19pbmxpbmUKLQlh dHRyaWJ1dGUgZm9yIHJlZGVmaW5lZCBleHRlcm4gaW5saW5lIGZ1bmN0aW9ucy4KLQotLS0tIGdj Yy90cmVlLWlubGluZS5jLmpqCTIwMDctMTEtMDYgMDk6Mjk6MDQuMDAwMDAwMDAwICswMTAwCi0r KysgZ2NjL3RyZWUtaW5saW5lLmMJMjAwNy0xMS0wNiAxNjoxOToxMi4wMDAwMDAwMDAgKzAxMDAK LUBAIC0zMTU3LDYgKzMxNTcsMTIgQEAgZXhwYW5kX2NhbGxfaW5saW5lIChiYXNpY19ibG9jayBi YiwgZ2ltcAotIAlnb3RvIGVncmVzczsKLSAKLSAgICAgICBpZiAobG9va3VwX2F0dHJpYnV0ZSAo ImFsd2F5c19pbmxpbmUiLCBERUNMX0FUVFJJQlVURVMgKGZuKSkKLSsJLyogRm9yIGV4dGVybiBp bmxpbmUgZnVuY3Rpb25zIHRoYXQgZ2V0IHJlZGVmaW5lZCB3ZSBhbHdheXMKLSsJICAgc2lsZW50 bHkgaWdub3JlZCBhbHdheV9pbmxpbmUgZmxhZy4gQmV0dGVyIGJlaGF2aW91ciB3b3VsZAotKwkg ICBiZSB0byBiZSBhYmxlIHRvIGtlZXAgYm90aCBib2RpZXMgYW5kIHVzZSBleHRlcm4gaW5saW5l IGJvZHkKLSsJICAgZm9yIGlubGluaW5nLCBidXQgd2UgY2FuJ3QgZG8gdGhhdCBiZWNhdXNlIGZy b250ZW5kcyBvdmVyd3JpdGUKLSsJICAgdGhlIGJvZHkuICAqLwotKwkgICYmICFjZ19lZGdlLT5j YWxsZWUtPmxvY2FsLnJlZGVmaW5lZF9leHRlcm5faW5saW5lCi0gCSAgLyogQXZvaWQgd2Fybmlu Z3MgZHVyaW5nIGVhcmx5IGlubGluZSBwYXNzLiAqLwotIAkgICYmIGNncmFwaF9nbG9iYWxfaW5m b19yZWFkeSkKLSAJewotLS0tIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ByMzM3NjMuYy5qagkyMDA3 LTExLTA2IDE2OjE5OjEyLjAwMDAwMDAwMCArMDEwMAotKysrIGdjYy90ZXN0c3VpdGUvZ2NjLmRn L3ByMzM3NjMuYwkyMDA3LTExLTA2IDE2OjE5OjEyLjAwMDAwMDAwMCArMDEwMAotQEAgLTAsMCAr MSw2MCBAQAotKy8qIFBSIHRyZWUtb3B0aW1pemF0aW9uLzMzNzYzICovCi0rLyogeyBkZy1kbyBj b21waWxlIH0gKi8KLSsvKiB7IGRnLW9wdGlvbnMgIi1PMiIgfSAqLwotKwotK3R5cGVkZWYgc3Ry dWN0Ci0rewotKyAgdm9pZCAqYTsKLSsgIHZvaWQgKmI7Ci0rfSBUOwotK2V4dGVybiB2b2lkICpm b28gKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKLStleHRlcm4gdm9pZCAqYmFyICh2b2lk ICosIGNvbnN0IGNoYXIgKiwgVCk7Ci0rZXh0ZXJuIGludCBiYXogKGNvbnN0IGNoYXIgKiwgaW50 KTsKLSsKLStleHRlcm4gaW5saW5lIF9fYXR0cmlidXRlX18gKChhbHdheXNfaW5saW5lLCBnbnVf aW5saW5lKSkgaW50Ci0rYmF6IChjb25zdCBjaGFyICp4LCBpbnQgeSkKLSt7Ci0rICByZXR1cm4g MjsKLSt9Ci0rCi0raW50Ci0rYmF6IChjb25zdCBjaGFyICp4LCBpbnQgeSkKLSt7Ci0rICByZXR1 cm4gMTsKLSt9Ci0rCi0raW50IHhhLCB4YjsKLSsKLStzdGF0aWMgdm9pZCAqCi0raW5sIChjb25z dCBjaGFyICp4LCBjb25zdCBjaGFyICp5KQotK3sKLSsgIFQgdCA9IHsgJnhhLCAmeGIgfTsKLSsg IGludCAqZiA9IChpbnQgKikgX19idWlsdGluX21hbGxvYyAoc2l6ZW9mIChpbnQpKTsKLSsgIGNv bnN0IGNoYXIgKno7Ci0rICBpbnQgbyA9IDA7Ci0rICB2b2lkICpyID0gMDsKLSsKLSsgIGZvciAo eiA9IHk7ICp6OyB6KyspCi0rICAgIHsKLSsgICAgICBpZiAoKnogPT0gJ3InKQotKwlvIHw9IDE7 Ci0rICAgICAgaWYgKCp6ID09ICd3JykKLSsJbyB8PSAyOwotKyAgICB9Ci0rICBpZiAobyA9PSAx KQotKyAgICAqZiA9IGJheiAoeCwgMCk7Ci0rICBpZiAobyA9PSAyKQotKyAgICAqZiA9IGJheiAo eCwgMSk7Ci0rICBpZiAobyA9PSAzKQotKyAgICAqZiA9IGJheiAoeCwgMik7Ci0rCi0rICBpZiAo byAmJiAqZiA+IDApCi0rICAgIHIgPSBiYXIgKGYsICJ3IiwgdCk7Ci0rICByZXR1cm4gcjsKLSt9 Ci0rCi0rdm9pZCAqCi0rZm9vIChjb25zdCBjaGFyICp4LCBjb25zdCBjaGFyICp5KQotK3sKLSsg IHJldHVybiBpbmwgKHgsIHkpOwotK30KLS0tLSBnY2MvdGVzdHN1aXRlL2crKy5kZy9vcHQvaW5s aW5lMTMuQy5qagkyMDA3LTExLTA2IDE2OjIwOjIwLjAwMDAwMDAwMCArMDEwMAotKysrIGdjYy90 ZXN0c3VpdGUvZysrLmRnL29wdC9pbmxpbmUxMy5DCTIwMDctMTEtMDYgMTY6MjE6MzAuMDAwMDAw MDAwICswMTAwCi1AQCAtMCwwICsxLDYwIEBACi0rLy8gUFIgdHJlZS1vcHRpbWl6YXRpb24vMzM3 NjMKLSsvLyB7IGRnLWRvIGNvbXBpbGUgfQotKy8vIHsgZGctb3B0aW9ucyAiLU8yIiB9Ci0rCi0r dHlwZWRlZiBzdHJ1Y3QKLSt7Ci0rICB2b2lkICphOwotKyAgdm9pZCAqYjsKLSt9IFQ7Ci0rZXh0 ZXJuIHZvaWQgKmZvbyAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOwotK2V4dGVybiB2b2lk ICpiYXIgKHZvaWQgKiwgY29uc3QgY2hhciAqLCBUKTsKLStleHRlcm4gaW50IGJheiAoY29uc3Qg Y2hhciAqLCBpbnQpOwotKwotK2V4dGVybiBpbmxpbmUgX19hdHRyaWJ1dGVfXyAoKGFsd2F5c19p bmxpbmUsIGdudV9pbmxpbmUpKSBpbnQKLStiYXogKGNvbnN0IGNoYXIgKngsIGludCB5KQotK3sK LSsgIHJldHVybiAyOwotK30KLSsKLStpbnQKLStiYXogKGNvbnN0IGNoYXIgKngsIGludCB5KQot K3sKLSsgIHJldHVybiAxOwotK30KLSsKLStpbnQgeGEsIHhiOwotKwotK3N0YXRpYyB2b2lkICoK LStpbmwgKGNvbnN0IGNoYXIgKngsIGNvbnN0IGNoYXIgKnkpCi0rewotKyAgVCB0ID0geyAmeGEs ICZ4YiB9OwotKyAgaW50ICpmID0gKGludCAqKSBfX2J1aWx0aW5fbWFsbG9jIChzaXplb2YgKGlu dCkpOwotKyAgY29uc3QgY2hhciAqejsKLSsgIGludCBvID0gMDsKLSsgIHZvaWQgKnIgPSAwOwot KwotKyAgZm9yICh6ID0geTsgKno7IHorKykKLSsgICAgewotKyAgICAgIGlmICgqeiA9PSAncicp Ci0rCW8gfD0gMTsKLSsgICAgICBpZiAoKnogPT0gJ3cnKQotKwlvIHw9IDI7Ci0rICAgIH0KLSsg IGlmIChvID09IDEpCi0rICAgICpmID0gYmF6ICh4LCAwKTsKLSsgIGlmIChvID09IDIpCi0rICAg ICpmID0gYmF6ICh4LCAxKTsKLSsgIGlmIChvID09IDMpCi0rICAgICpmID0gYmF6ICh4LCAyKTsK LSsKLSsgIGlmIChvICYmICpmID4gMCkKLSsgICAgciA9IGJhciAoZiwgInciLCB0KTsKLSsgIHJl dHVybiByOwotK30KLSsKLSt2b2lkICoKLStmb28gKGNvbnN0IGNoYXIgKngsIGNvbnN0IGNoYXIg KnkpCi0rewotKyAgcmV0dXJuIGlubCAoeCwgeSk7Ci0rfQoKZGlmZiAtLWdpdCBhL2djYzQ1LXBy Mzg3NTcucGF0Y2ggYi9nY2M0NS1wcjM4NzU3LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCBkNTUwOTg4Li4wMDAwMDAwCi0tLSBhL2djYzQ1LXByMzg3NTcucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSwxMTggKzAsMCBAQAotMjAwOS0wMy0xOCAgSmFrdWIgSmVsaW5layAgPGph a3ViQHJlZGhhdC5jb20+Ci0KLQlQUiBkZWJ1Zy8zODc1NwotCSogbGFuZ2hvb2tzLmggKHN0cnVj dCBsYW5nX2hvb2tzKTogQWRkIHNvdXJjZV9sYW5ndWFnZSBsYW5naG9vay4KLQkqIGxhbmdob29r cy1kZWYuaCAoTEFOR19IT09LU19TT1VSQ0VfTEFOR1VBR0UpOiBEZWZpbmUgdG8gTlVMTC4KLQko TEFOR19IT09LU19JTklUSUFMSVpFUik6IEFkZCBMQU5HX0hPT0tTX1NPVVJDRV9MQU5HVUFHRS4K LQkqIGMtbGFuZy5jIChjX3NvdXJjZV9sYW5ndWFnZSk6IE5ldyBmdW5jdGlvbi4KLQkoTEFOR19I T09LU19TT1VSQ0VfTEFOR1VBR0UpOiBEZWZpbmUuCi0JKiBkd2FyZjJvdXQuYyAoYWRkX3Byb3Rv dHlwZWRfYXR0cmlidXRlKTogQWRkIERXX0FUX3Byb3RvdHlwZQotCWFsc28gZm9yIERXX0xBTkdf e0MsQzk5LE9iakN9LgotCShnZW5fY29tcGlsZV91bml0X2RpZSk6IFVzZSBsYW5nX2hvb2tzLnNv dXJjZV9sYW5ndWFnZSAoKSB0bwotCWRldGVybWluZSBpZiBEV19MQU5HX0M5OSBvciBEV19MQU5H X0M4OSBzaG91bGQgYmUgcmV0dXJuZWQuCi0KLS0tLSBnY2MvbGFuZ2hvb2tzLmguamoJMjAxMC0w Ni0zMCAwOTo0ODozMC4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnY2MvbGFuZ2hvb2tzLmgJMjAxMC0w Ny0wMSAxNjoxNToyMi40MzI2MTY4NzEgKzAyMDAKLUBAIC00NTQsNiArNDU0LDEwIEBAIHN0cnVj dCBsYW5nX2hvb2tzCi0gICAgICBpcyBlbmFibGVkLiAgKi8KLSAgIGJvb2wgZWhfdXNlX2N4YV9l bmRfY2xlYW51cDsKLSAKLSsgIC8qIFJldHVybiB5ZWFyIG9mIHRoZSBzb3VyY2UgbGFuZ3VhZ2Ug c3RhbmRhcmQgdmVyc2lvbiBpZiB0aGUgRkUgc3VwcG9ydHMKLSsgICAgIG11bHRpcGxlIHZlcnNp b25zIG9mIHRoZSBzdGFuZGFyZC4gICovCi0rICBpbnQgKCpzb3VyY2VfbGFuZ3VhZ2UpICh2b2lk KTsKLSsKLSAgIC8qIFdoZW5ldmVyIHlvdSBhZGQgZW50cmllcyBoZXJlLCBtYWtlIHN1cmUgeW91 IGFkanVzdCBsYW5naG9va3MtZGVmLmgKLSAgICAgIGFuZCBsYW5naG9va3MuYyBhY2NvcmRpbmds eS4gICovCi0gfTsKLS0tLSBnY2MvbGFuZ2hvb2tzLWRlZi5oLmpqCTIwMTAtMDYtMzAgMDk6NDg6 MzAuMDAwMDAwMDAwICswMjAwCi0rKysgZ2NjL2xhbmdob29rcy1kZWYuaAkyMDEwLTA3LTAxIDE2 OjE2OjA3LjQyNzQ2MDc2MSArMDIwMAotQEAgLTEsNSArMSw1IEBACi0gLyogRGVmYXVsdCBtYWNy b3MgdG8gaW5pdGlhbGl6ZSB0aGUgbGFuZ19ob29rcyBkYXRhIHN0cnVjdHVyZS4KLS0gICBDb3B5 cmlnaHQgMjAwMSwgMjAwMiwgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOAotKyAg IENvcHlyaWdodCAyMDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4 LCAyMDA5Ci0gICAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0gICAgQ29udHJpYnV0 ZWQgYnkgQWxleGFuZHJlIE9saXZhICA8YW9saXZhQHJlZGhhdC5jb20+Ci0gCi1AQCAtMTExLDYg KzExMSw3IEBAIGV4dGVybiB2b2lkIGxoZF9vbXBfZmlyc3Rwcml2YXRpemVfdHlwZV8KLSAjZGVm aW5lIExBTkdfSE9PS1NfRUhfUEVSU09OQUxJVFkJbGhkX2djY19wZXJzb25hbGl0eQotICNkZWZp bmUgTEFOR19IT09LU19FSF9SVU5USU1FX1RZUEUJbGhkX3Bhc3NfdGhyb3VnaF90Ci0gI2RlZmlu ZSBMQU5HX0hPT0tTX0VIX1VTRV9DWEFfRU5EX0NMRUFOVVAJZmFsc2UKLSsjZGVmaW5lIExBTkdf SE9PS1NfU09VUkNFX0xBTkdVQUdFCU5VTEwKLSAKLSAvKiBBdHRyaWJ1dGUgaG9va3MuICAqLwot ICNkZWZpbmUgTEFOR19IT09LU19BVFRSSUJVVEVfVEFCTEUJCU5VTEwKLUBAIC0zMDEsNiArMzAy LDcgQEAgZXh0ZXJuIHZvaWQgbGhkX2VuZF9zZWN0aW9uICh2b2lkKTsKLSAgIExBTkdfSE9PS1Nf RUhfUEVSU09OQUxJVFksIFwKLSAgIExBTkdfSE9PS1NfRUhfUlVOVElNRV9UWVBFLCBcCi0gICBM QU5HX0hPT0tTX0VIX1VTRV9DWEFfRU5EX0NMRUFOVVAsIFwKLSsgIExBTkdfSE9PS1NfU09VUkNF X0xBTkdVQUdFLCBcCi0gfQotIAotICNlbmRpZiAvKiBHQ0NfTEFOR19IT09LU19ERUZfSCAqLwot LS0tIGdjYy9jLWxhbmcuYy5qagkyMDEwLTA2LTMwIDA5OjQ4OjMwLjAwMDAwMDAwMCArMDIwMAot KysrIGdjYy9jLWxhbmcuYwkyMDEwLTA3LTAxIDE2OjE0OjI1LjM5NjE5NzgwNCArMDIwMAotQEAg LTEsNiArMSw2IEBACi0gLyogTGFuZ3VhZ2Utc3BlY2lmaWMgaG9vayBkZWZpbml0aW9ucyBmb3Ig QyBmcm9udCBlbmQuCi0gICAgQ29weXJpZ2h0IChDKSAxOTkxLCAxOTk1LCAxOTk3LCAxOTk4LAot LSAgIDE5OTksIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDcsIDIwMDgKLSsgICAx OTk5LCAyMDAwLCAyMDAxLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA3LCAyMDA4LCAyMDA5Ci0gICAg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0gCi0gVGhpcyBmaWxlIGlzIHBhcnQgb2Yg R0NDLgotQEAgLTM3LDYgKzM3LDEyIEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09Q WUlORzMuICAKLSAKLSBlbnVtIGNfbGFuZ3VhZ2Vfa2luZCBjX2xhbmd1YWdlID0gY2xrX2M7Ci0g Ci0rc3RhdGljIGludAotK2Nfc291cmNlX2xhbmd1YWdlICh2b2lkKQotK3sKLSsgIHJldHVybiBm bGFnX2lzb2M5OSA/IDE5OTkgOiAxOTg5OwotK30KLSsKLSAvKiBMYW5nIGhvb2tzIGNvbW1vbiB0 byBDIGFuZCBPYmpDIGFyZSBkZWNsYXJlZCBpbiBjLW9iamMtY29tbW9uLmg7Ci0gICAgY29uc2Vx dWVudGx5LCB0aGVyZSBzaG91bGQgYmUgdmVyeSBmZXcgaG9va3MgYmVsb3cuICAqLwotIAotQEAg LTQ0LDYgKzUwLDggQEAgZW51bSBjX2xhbmd1YWdlX2tpbmQgY19sYW5ndWFnZSA9IGNsa19jOwot ICNkZWZpbmUgTEFOR19IT09LU19OQU1FICJHTlUgQyIKLSAjdW5kZWYgTEFOR19IT09LU19JTklU Ci0gI2RlZmluZSBMQU5HX0hPT0tTX0lOSVQgY19vYmpjX2NvbW1vbl9pbml0Ci0rI3VuZGVmIExB TkdfSE9PS1NfU09VUkNFX0xBTkdVQUdFCi0rI2RlZmluZSBMQU5HX0hPT0tTX1NPVVJDRV9MQU5H VUFHRSBjX3NvdXJjZV9sYW5ndWFnZQotIAotIC8qIEVhY2ggZnJvbnQgZW5kIHByb3ZpZGVzIGl0 cyBvd24gbGFuZyBob29rIGluaXRpYWxpemVyLiAgKi8KLSBzdHJ1Y3QgbGFuZ19ob29rcyBsYW5n X2hvb2tzID0gTEFOR19IT09LU19JTklUSUFMSVpFUjsKLS0tLSBnY2MvZHdhcmYyb3V0LmMuamoJ MjAxMC0wNy0wMSAxNDowNzo0MS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnY2MvZHdhcmYyb3V0LmMJ MjAxMC0wNy0wMSAxNjoxMzoyNC41OTczNTQ3MTcgKzAyMDAKLUBAIC0xNzE1MCw5ICsxNzE1MCwx OCBAQCBhZGRfYml0X3NpemVfYXR0cmlidXRlIChkd19kaWVfcmVmIGRpZSwgCi0gc3RhdGljIGlu bGluZSB2b2lkCi0gYWRkX3Byb3RvdHlwZWRfYXR0cmlidXRlIChkd19kaWVfcmVmIGRpZSwgdHJl ZSBmdW5jX3R5cGUpCi0gewotLSAgaWYgKGdldF9BVF91bnNpZ25lZCAoY29tcF91bml0X2RpZSwg RFdfQVRfbGFuZ3VhZ2UpID09IERXX0xBTkdfQzg5Ci0tICAgICAgJiYgVFlQRV9BUkdfVFlQRVMg KGZ1bmNfdHlwZSkgIT0gTlVMTCkKLS0gICAgYWRkX0FUX2ZsYWcgKGRpZSwgRFdfQVRfcHJvdG90 eXBlZCwgMSk7Ci0rICBzd2l0Y2ggKGdldF9BVF91bnNpZ25lZCAoY29tcF91bml0X2RpZSwgRFdf QVRfbGFuZ3VhZ2UpKQotKyAgICB7Ci0rICAgIGNhc2UgRFdfTEFOR19DOgotKyAgICBjYXNlIERX X0xBTkdfQzg5OgotKyAgICBjYXNlIERXX0xBTkdfQzk5OgotKyAgICBjYXNlIERXX0xBTkdfT2Jq QzoKLSsgICAgICBpZiAoVFlQRV9BUkdfVFlQRVMgKGZ1bmNfdHlwZSkgIT0gTlVMTCkKLSsJYWRk X0FUX2ZsYWcgKGRpZSwgRFdfQVRfcHJvdG90eXBlZCwgMSk7Ci0rICAgICAgYnJlYWs7Ci0rICAg IGRlZmF1bHQ6Ci0rICAgICAgYnJlYWs7Ci0rICAgIH0KLSB9Ci0gCi0gLyogQWRkIGFuICdhYnN0 cmFjdF9vcmlnaW4nIGF0dHJpYnV0ZSBiZWxvdyBhIGdpdmVuIERJRS4gIFRoZSBESUUgaXMgZm91 bmQKLUBAIC0xOTI0Niw2ICsxOTI1NSwxMCBAQCBnZW5fY29tcGlsZV91bml0X2RpZSAoY29uc3Qg Y2hhciAqZmlsZW5hCi0gCWxhbmd1YWdlID0gRFdfTEFOR19PYmpDOwotICAgICAgIGVsc2UgaWYg KHN0cmNtcCAobGFuZ3VhZ2Vfc3RyaW5nLCAiR05VIE9iamVjdGl2ZS1DKysiKSA9PSAwKQotIAls YW5ndWFnZSA9IERXX0xBTkdfT2JqQ19wbHVzX3BsdXM7Ci0rICAgICAgZWxzZSBpZiAoc3RyY21w IChsYW5ndWFnZV9zdHJpbmcsICJHTlUgQyIpID09IDAKLSsJICAgICAgICYmIGxhbmdfaG9va3Mu c291cmNlX2xhbmd1YWdlCi0rCSAgICAgICAmJiBsYW5nX2hvb2tzLnNvdXJjZV9sYW5ndWFnZSAo KSA+PSAxOTk5KQotKwlsYW5ndWFnZSA9IERXX0xBTkdfQzk5OwotICAgICB9Ci0gCi0gICBhZGRf QVRfdW5zaWduZWQgKGRpZSwgRFdfQVRfbGFuZ3VhZ2UsIGxhbmd1YWdlKTsKCmRpZmYgLS1naXQg YS9nY2M0NS1yaDMzMDc3MS5wYXRjaCBiL2djYzQ1LXJoMzMwNzcxLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAxZDkxY2M4Li4wMDAwMDAwCi0tLSBhL2djYzQ1LXJoMzMwNzcx LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotMjAwNy0xMC0xNiAgSmFrdWIg SmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+Ci0KLQkqIE1ha2VmaWxlLmFtIChsaWJnY2pfdG9v bHNfbGFfTElCQUREKTogQWRkLgotCSogTWFrZWZpbGUuaW46IFJlZ2VuZXJhdGVkLgotCi0tLS0g bGliamF2YS9NYWtlZmlsZS5hbS5qagkyMDA5LTA1LTA2IDA4OjE0OjUwLjAwMDAwMDAwMCArMDIw MAotKysrIGxpYmphdmEvTWFrZWZpbGUuYW0JMjAwOS0wNS0wNiAxMDoyNjo0My4wMDAwMDAwMDAg KzAyMDAKLUBAIC01MTAsNyArNTEwLDcgQEAgbGliZ2NqX3Rvb2xzX2xhX0dDSkZMQUdTID0gJChB TV9HQ0pGTEFHUwotIGxpYmdjal90b29sc19sYV9MREZMQUdTID0gLXJwYXRoICQodG9vbGV4ZWNs aWJkaXIpIFwKLSAgLXZlcnNpb24taW5mbyBgZ3JlcCAtdiAnXlwjJyAkKHNyY2RpcikvbGlidG9v bC12ZXJzaW9uYCBcCi0gICQoTElCR0NKX0xEX1NZTUJPTElDX0ZVTkNUSU9OUykgJChMSUJKQVZB X0xERkxBR1NfTk9VTkRFRikKLS1saWJnY2pfdG9vbHNfbGFfTElCQUREID0gbGliZ2NqLmxhIC1s bQotK2xpYmdjal90b29sc19sYV9MSUJBREQgPSAtTCQoaGVyZSkvLmxpYnMgbGliZ2NqLmxhIC1s bQotIGxpYmdjal90b29sc19sYV9ERVBFTkRFTkNJRVMgPSBsaWJnY2oubGEgbGliZ2NqLnNwZWMK LSBpZiBCVUlMRF9TVUJMSUJTCi0gbGliZ2NqX3Rvb2xzX2xhX0RFUEVOREVOQ0lFUyArPSBsaWJn Y2otbm9uY29yZS5sYQotLS0tIGxpYmphdmEvTWFrZWZpbGUuaW4uamoJMjAwOS0wNS0wNiAwODox NDo0OS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBsaWJqYXZhL01ha2VmaWxlLmluCTIwMDktMDUtMDYg MTA6Mjc6MTguMDAwMDAwMDAwICswMjAwCi1AQCAtMTE5MCw3ICsxMTkwLDcgQEAgbGliZ2NqX3Rv b2xzX2xhX0xERkxBR1MgPSAtcnBhdGggJCh0b29sZQotICAtdmVyc2lvbi1pbmZvIGBncmVwIC12 ICdeXCMnICQoc3JjZGlyKS9saWJ0b29sLXZlcnNpb25gIFwKLSAgJChMSUJHQ0pfTERfU1lNQk9M SUNfRlVOQ1RJT05TKSAkKExJQkpBVkFfTERGTEFHU19OT1VOREVGKQotIAotLWxpYmdjal90b29s c19sYV9MSUJBREQgPSBsaWJnY2oubGEgLWxtCi0rbGliZ2NqX3Rvb2xzX2xhX0xJQkFERCA9IC1M JChoZXJlKS8ubGlicyBsaWJnY2oubGEgLWxtCi0gbGliZ2NqX3Rvb2xzX2xhX0RFUEVOREVOQ0lF UyA9IGxpYmdjai5sYSBsaWJnY2ouc3BlYyAkKGFtX19hcHBlbmRfMjIpCi0gbGliZ2NqX3Rvb2xz X2xhX0xJTksgPSAkKExJQkxJTkspICQobGliZ2NqX3Rvb2xzX2xhX0xERkxBR1MpCi0gbGlianZt X2xhX1NPVVJDRVMgPSBqbmktbGlianZtLmNjCgpkaWZmIC0tZ2l0IGEvZ2NjNDUtc3BhcmMtY29u ZmlnLWRldGVjdGlvbi5wYXRjaCBiL2djYzQ1LXNwYXJjLWNvbmZpZy1kZXRlY3Rpb24ucGF0Y2gK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ5NGIxN2QuLjAwMDAwMDAKLS0tIGEvZ2Nj NDUtc3BhcmMtY29uZmlnLWRldGVjdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICsw LDAgQEAKLS0tLSBnY2MvY29uZmlnLmdjYy5qagkyMDA4LTA0LTI0IDE1OjQyOjQ2LjAwMDAwMDAw MCAtMDUwMAotKysrIGdjYy9jb25maWcuZ2NjCTIwMDgtMDQtMjQgMTU6NDQ6NTEuMDAwMDAwMDAw IC0wNTAwCi1AQCAtMjM5Myw3ICsyMzkzLDcgQEAgc3BhcmMtKi1lbGYqKQotIAl0bWFrZV9maWxl PSJzcGFyYy90LWVsZiBzcGFyYy90LWNydGZtIgotIAlleHRyYV9wYXJ0cz0iY3J0aS5vIGNydG4u byBjcnRiZWdpbi5vIGNydGVuZC5vIgotIAk7OwotLXNwYXJjLSotbGludXgqKQkJIyBTUEFSQydz IHJ1bm5pbmcgR05VL0xpbnV4LCBsaWJjNgotK3NwYXJjLSotbGludXgqIHwgc3BhcmN2OSotKi1s aW51eCopCQkjIFNQQVJDJ3MgcnVubmluZyBHTlUvTGludXgsIGxpYmM2Ci0gCXRtX2ZpbGU9IiR7 dG1fZmlsZX0gZGJ4ZWxmLmggZWxmb3MuaCBzdnI0Lmggc3BhcmMvc3lzdjQuaCBsaW51eC5oIGds aWJjLXN0ZGludC5oIgotIAlleHRyYV9vcHRpb25zPSIke2V4dHJhX29wdGlvbnN9IHNwYXJjL2xv bmctZG91YmxlLXN3aXRjaC5vcHQiCi0gCXRtYWtlX2ZpbGU9IiR7dG1ha2VfZmlsZX0gc3BhcmMv dC1saW51eCIKLUBAIC0yNDgxLDcgKzI0ODEsNyBAQCBzcGFyYzY0LSotZnJlZWJzZCp8dWx0cmFz cGFyYy0qLWZyZWVic2QqCi0gCQkqKSBlY2hvICIkd2l0aF9jcHUgbm90IHN1cHBvcnRlZCBmb3Ig ZnJlZWJzZCB0YXJnZXQiOyBleGl0IDEgOzsKLSAJZXNhYwotIAk7OwotLXNwYXJjNjQtKi1saW51 eCopCQkjIDY0LWJpdCBTUEFSQydzIHJ1bm5pbmcgR05VL0xpbnV4Ci0rc3BhcmM2NCotKi1saW51 eCopCQkjIDY0LWJpdCBTUEFSQydzIHJ1bm5pbmcgR05VL0xpbnV4Ci0gCXRtX2ZpbGU9InNwYXJj L2JpYXJjaDY0LmggJHt0bV9maWxlfSBkYnhlbGYuaCBlbGZvcy5oIHN2cjQuaCBzcGFyYy9zeXN2 NC5oIGxpbnV4LmggZ2xpYmMtc3RkaW50Lmggc3BhcmMvbGludXg2NC5oIgotIAlleHRyYV9vcHRp b25zPSIke2V4dHJhX29wdGlvbnN9IHNwYXJjL2xvbmctZG91YmxlLXN3aXRjaC5vcHQiCi0gCXRt YWtlX2ZpbGU9IiR7dG1ha2VfZmlsZX0gc3BhcmMvdC1saW51eCBzcGFyYy90LWxpbnV4NjQgc3Bh cmMvdC1jcnRmbSIKLS0tLSBsaWJnY2MvY29uZmlnLmhvc3QuamoJMjAwOC0wNC0yNCAxNTo0Njox OS4wMDAwMDAwMDAgLTA1MDAKLSsrKyBsaWJnY2MvY29uZmlnLmhvc3QJMjAwOC0wNC0yNCAxNTo0 Njo0OS4wMDAwMDAwMDAgLTA1MDAKLUBAIC01NzIsNyArNTcyLDcgQEAgc3BhcmM2NC0qLW9wZW5i c2QqKQotIAk7OwotIHNwYXJjLSotZWxmKikKLSAJOzsKLS1zcGFyYy0qLWxpbnV4KikJCSMgU1BB UkMncyBydW5uaW5nIEdOVS9MaW51eCwgbGliYzYKLStzcGFyYy0qLWxpbnV4KiB8IHNwYXJjdjkq LSotbGludXgqKQkJIyBTUEFSQydzIHJ1bm5pbmcgR05VL0xpbnV4LCBsaWJjNgotIAlleHRyYV9w YXJ0cz0iJGV4dHJhX3BhcnRzIGNydGZhc3RtYXRoLm8iCi0gCXRtYWtlX2ZpbGU9IiR7dG1ha2Vf ZmlsZX0gc3BhcmMvdC1jcnRmbSIKLSAJOzsKLUBAIC01OTAsNyArNTkwLDcgQEAgc3BhcmMtd3Jz LXZ4d29ya3MpCi0gCTs7Ci0gc3BhcmM2NC0qLWZyZWVic2QqfHVsdHJhc3BhcmMtKi1mcmVlYnNk KikKLSAJOzsKLS1zcGFyYzY0LSotbGludXgqKQkJIyA2NC1iaXQgU1BBUkMncyBydW5uaW5nIEdO VS9MaW51eAotK3NwYXJjNjQqLSotbGludXgqKQkJIyA2NC1iaXQgU1BBUkMncyBydW5uaW5nIEdO VS9MaW51eAotIAlleHRyYV9wYXJ0cz0iJGV4dHJhX3BhcnRzIGNydGZhc3RtYXRoLm8iCi0gCXRt YWtlX2ZpbGU9IiR7dG1ha2VfZmlsZX0gc3BhcmMvdC1jcnRmbSIKLSAJOzsKCmRpZmYgLS1naXQg YS9nY2M0Ni1jKystYnVpbHRpbi1yZWRlY2wucGF0Y2ggYi9nY2M0Ni1jKystYnVpbHRpbi1yZWRl Y2wucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWYzNmYxZgotLS0g L2Rldi9udWxsCisrKyBiL2djYzQ2LWMrKy1idWlsdGluLXJlZGVjbC5wYXRjaApAQCAtMCwwICsx LDEwMiBAQAorMjAwNy0xMC0wMiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CisK KwkqIGRlY2wuYyAoZHVwbGljYXRlX2RlY2xzKTogV2hlbiByZWRlY2xhcmluZyBhIGJ1aWx0aW4g ZnVuY3Rpb24sCisJa2VlcCB0aGUgbWVyZ2VkIGRlY2wgYnVpbHRpbiB3aGVuZXZlciB0eXBlcyBt YXRjaCwgZXZlbiBpZiBuZXcKKwlkZWNsIGRlZmluZXMgYSBmdW5jdGlvbi4KKworCSogZ2NjLmRn L2J1aWx0aW5zLTY1LmM6IE5ldyB0ZXN0LgorCSogZysrLmRnL2V4dC9idWlsdGluMTAuQzogTmV3 IHRlc3QuCisKKy0tLSBnY2MvY3AvZGVjbC5jLmpqCTIwMDctMTAtMDEgMjI6MTE6MDkuMDAwMDAw MDAwICswMjAwCisrKysgZ2NjL2NwL2RlY2wuYwkyMDA3LTEwLTAyIDExOjM5OjQ2LjAwMDAwMDAw MCArMDIwMAorQEAgLTIwMDEsMjMgKzIwMDEsMjEgQEAgZHVwbGljYXRlX2RlY2xzICh0cmVlIG5l d2RlY2wsIHRyZWUgb2xkZAorIAkgIERFQ0xfQVJHVU1FTlRTIChvbGRkZWNsKSA9IERFQ0xfQVJH VU1FTlRTIChuZXdkZWNsKTsKKyAJICBERUNMX1JFU1VMVCAob2xkZGVjbCkgPSBERUNMX1JFU1VM VCAobmV3ZGVjbCk7CisgCX0KKysgICAgICAvKiBJZiByZWRlY2xhcmluZyBhIGJ1aWx0aW4gZnVu Y3Rpb24sIGl0IHN0YXlzIGJ1aWx0IGluLiAgKi8KKysgICAgICBpZiAodHlwZXNfbWF0Y2ggJiYg REVDTF9CVUlMVF9JTiAob2xkZGVjbCkpCisrCXsKKysJICBERUNMX0JVSUxUX0lOX0NMQVNTIChu ZXdkZWNsKSA9IERFQ0xfQlVJTFRfSU5fQ0xBU1MgKG9sZGRlY2wpOworKwkgIERFQ0xfRlVOQ1RJ T05fQ09ERSAobmV3ZGVjbCkgPSBERUNMX0ZVTkNUSU9OX0NPREUgKG9sZGRlY2wpOworKwkgIC8q IElmIHdlJ3JlIGtlZXBpbmcgdGhlIGJ1aWx0LWluIGRlZmluaXRpb24sIGtlZXAgdGhlIHJ0bCwK KysJICAgICByZWdhcmRsZXNzIG9mIGRlY2xhcmF0aW9uIG1hdGNoZXMuICAqLworKwkgIENPUFlf REVDTF9SVEwgKG9sZGRlY2wsIG5ld2RlY2wpOworKwl9CisgICAgICAgaWYgKG5ld19kZWZpbmVz X2Z1bmN0aW9uKQorIAkvKiBJZiBkZWZpbmluZyBhIGZ1bmN0aW9uIGRlY2xhcmVkIHdpdGggb3Ro ZXIgbGFuZ3VhZ2UKKyAJICAgbGlua2FnZSwgdXNlIHRoZSBwcmV2aW91c2x5IGRlY2xhcmVkIGxh bmd1YWdlIGxpbmthZ2UuICAqLworIAlTRVRfREVDTF9MQU5HVUFHRSAobmV3ZGVjbCwgREVDTF9M QU5HVUFHRSAob2xkZGVjbCkpOworICAgICAgIGVsc2UgaWYgKHR5cGVzX21hdGNoKQorIAl7Cist CSAgLyogSWYgcmVkZWNsYXJpbmcgYSBidWlsdGluIGZ1bmN0aW9uLCBhbmQgbm90IGEgZGVmaW5p dGlvbiwKKy0JICAgICBpdCBzdGF5cyBidWlsdCBpbi4gICovCistCSAgaWYgKERFQ0xfQlVJTFRf SU4gKG9sZGRlY2wpKQorLQkgICAgeworLQkgICAgICBERUNMX0JVSUxUX0lOX0NMQVNTIChuZXdk ZWNsKSA9IERFQ0xfQlVJTFRfSU5fQ0xBU1MgKG9sZGRlY2wpOworLQkgICAgICBERUNMX0ZVTkNU SU9OX0NPREUgKG5ld2RlY2wpID0gREVDTF9GVU5DVElPTl9DT0RFIChvbGRkZWNsKTsKKy0JICAg ICAgLyogSWYgd2UncmUga2VlcGluZyB0aGUgYnVpbHQtaW4gZGVmaW5pdGlvbiwga2VlcCB0aGUg cnRsLAorLQkJIHJlZ2FyZGxlc3Mgb2YgZGVjbGFyYXRpb24gbWF0Y2hlcy4gICovCistCSAgICAg IENPUFlfREVDTF9SVEwgKG9sZGRlY2wsIG5ld2RlY2wpOworLQkgICAgfQorLQorIAkgIERFQ0xf UkVTVUxUIChuZXdkZWNsKSA9IERFQ0xfUkVTVUxUIChvbGRkZWNsKTsKKyAJICAvKiBEb24ndCBj bGVhciBvdXQgdGhlIGFyZ3VtZW50cyBpZiB3ZSdyZSBqdXN0IHJlZGVjbGFyaW5nIGEKKyAJICAg ICBmdW5jdGlvbi4gICovCistLS0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvYnVpbHRpbnMtNjUuYy5q agkyMDA3LTEwLTAyIDExOjIzOjUxLjAwMDAwMDAwMCArMDIwMAorKysrIGdjYy90ZXN0c3VpdGUv Z2NjLmRnL2J1aWx0aW5zLTY1LmMJMjAwNy0xMC0wMiAxMToyNDoxMi4wMDAwMDAwMDAgKzAyMDAK K0BAIC0wLDAgKzEsMjUgQEAKKysvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworKy8qIHsgZGctb3B0 aW9ucyAiLU8yIiB9ICovCisrCisrdHlwZWRlZiBfX1NJWkVfVFlQRV9fIHNpemVfdDsKKytleHRl cm4gdm9pZCBfX2Noa19mYWlsICh2b2lkKTsKKytleHRlcm4gaW50IHNucHJpbnRmIChjaGFyICos IHNpemVfdCwgY29uc3QgY2hhciAqLCAuLi4pOworK2V4dGVybiBpbmxpbmUgX19hdHRyaWJ1dGVf XygoZ251X2lubGluZSwgYWx3YXlzX2lubGluZSkpIGludCBzbnByaW50ZiAoY2hhciAqYSwgc2l6 ZV90IGIsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQorK3sKKysgIGlmIChfX2J1aWx0aW5fb2JqZWN0 X3NpemUgKGEsIDApICE9IC0xVUwgJiYgX19idWlsdGluX29iamVjdF9zaXplIChhLCAwKSA8IGIp CisrICAgIF9fY2hrX2ZhaWwgKCk7CisrICByZXR1cm4gX19idWlsdGluX3NucHJpbnRmIChhLCBi LCBmbXQsIF9fYnVpbHRpbl92YV9hcmdfcGFjayAoKSk7CisrfQorK2V4dGVybiBpbnQgc25wcmlu dGYgKGNoYXIgKiwgc2l6ZV90LCBjb25zdCBjaGFyICosIC4uLikgX19hc20gKCJteXNucHJpbnRm Iik7CisrCisrY2hhciBidWZbMTBdOworKworK2ludAorK21haW4gKHZvaWQpCisreworKyAgc25w cmludGYgKGJ1ZiwgMTAsICIlZCVkXG4iLCAxMCwgMTApOworKyAgcmV0dXJuIDA7CisrfQorKwor Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlciAibXlzbnByaW50ZiIgfSB9ICovCisrLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLW5vdCAiX19jaGtfZmFpbCIgfSB9ICovCistLS0g Z2NjL3Rlc3RzdWl0ZS9nKysuZGcvZXh0L2J1aWx0aW4xMC5DLmpqCTIwMDctMTAtMDIgMTE6MTk6 NDUuMDAwMDAwMDAwICswMjAwCisrKysgZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvZXh0L2J1aWx0aW4x MC5DCTIwMDctMTAtMDIgMTE6MjM6MjYuMDAwMDAwMDAwICswMjAwCitAQCAtMCwwICsxLDI3IEBA CisrLy8geyBkZy1kbyBjb21waWxlIH0KKysvLyB7IGRnLW9wdGlvbnMgIi1PMiIgfQorKworK3R5 cGVkZWYgX19TSVpFX1RZUEVfXyBzaXplX3Q7CisrZXh0ZXJuICJDIiB7CisrZXh0ZXJuIHZvaWQg X19jaGtfZmFpbCAodm9pZCk7CisrZXh0ZXJuIGludCBzbnByaW50ZiAoY2hhciAqLCBzaXplX3Qs IGNvbnN0IGNoYXIgKiwgLi4uKTsKKytleHRlcm4gaW5saW5lIF9fYXR0cmlidXRlX18oKGdudV9p bmxpbmUsIGFsd2F5c19pbmxpbmUpKSBpbnQgc25wcmludGYgKGNoYXIgKmEsIHNpemVfdCBiLCBj b25zdCBjaGFyICpmbXQsIC4uLikKKyt7CisrICBpZiAoX19idWlsdGluX29iamVjdF9zaXplIChh LCAwKSAhPSAtMVVMICYmIF9fYnVpbHRpbl9vYmplY3Rfc2l6ZSAoYSwgMCkgPCBiKQorKyAgICBf X2Noa19mYWlsICgpOworKyAgcmV0dXJuIF9fYnVpbHRpbl9zbnByaW50ZiAoYSwgYiwgZm10LCBf X2J1aWx0aW5fdmFfYXJnX3BhY2sgKCkpOworK30KKytleHRlcm4gaW50IHNucHJpbnRmIChjaGFy ICosIHNpemVfdCwgY29uc3QgY2hhciAqLCAuLi4pIF9fYXNtICgibXlzbnByaW50ZiIpOworK30K KysKKytjaGFyIGJ1ZlsxMF07CisrCisraW50CisrbWFpbiAodm9pZCkKKyt7CisrICBzbnByaW50 ZiAoYnVmLCAxMCwgIiVkJWRcbiIsIDEwLCAxMCk7CisrICByZXR1cm4gMDsKKyt9CisrCisrLy8g eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyICJteXNucHJpbnRmIiB9IH0KKysvLyB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItbm90ICJfX2Noa19mYWlsIiB9IH0KCmRpZmYgLS1naXQgYS9n Y2M0Ni1jbG9vZy1kbC5wYXRjaCBiL2djYzQ2LWNsb29nLWRsLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViMDlhMjIKLS0tIC9kZXYvbnVsbAorKysgYi9nY2M0Ni1j bG9vZy1kbC5wYXRjaApAQCAtMCwwICsxLDQ0MiBAQAorMjAxMS0wMS0wNCAgSmFrdWIgSmVsaW5l ayAgPGpha3ViQHJlZGhhdC5jb20+CisKKwkqIE1ha2VmaWxlLmluIChCQUNLRU5ETElCUyk6IExp bmsgYWdhaW5zdCAtbGRsIGluc3RlYWQgb2YKKwktbGNsb29nIC1scHBsLgorCShncmFwaGl0ZS5v LCBncmFwaGl0ZSUubyk6IEZvcmNlIC1PLCByZW1vdmUgLWZrZWVwLWlubGluZS1mdW5jdGlvbnMu CisJKEdSQVBISVRFX0NMT09HX1VUSUxfSCwgR1JBUEhJVEVfUE9MWV9IKTogTmV3LgorCShncmFw aGl0ZSoubyk6IEFkanVzdCBkZXBlbmRlbmNpZXMuCisJKiBncmFwaGl0ZS1jbG9vZy1jb21wYXQu aDogSW5jbHVkZSA8ZGxmY24uaD4uICBSZWZlcmVuY2UgbGliY2xvb2cgYW5kCisJbGlicHBsIHN5 bWJvbHMgdGhyb3VnaCBwb2ludGVycyBpbiBjbG9vZ19wb2ludGVyc19fIHZhcmlhYmxlLgorCSog Z3JhcGhpdGUuYyAoaW5pdF9jbG9vZ19wb2ludGVycyk6IE5ldyBmdW5jdGlvbi4KKwkoZ3JhcGhp dGVfdHJhbnNmb3JtX2xvb3BzKTogQ2FsbCBpbml0X2Nsb29nX3BvaW50ZXJzLgorCSogZ3JhcGhp dGUtY2xhc3QtdG8tZ2ltcGxlLmMgKGdjY190eXBlX2Zvcl9pdl9vZl9jbGFzdF9sb29wKTogUmVu YW1lCisJc3RtdF9mb3IgYXJndW1lbnQgdG8gc3RtdF9mb3JhLgorCSogZ3JhcGhpdGUtcG9seS5o OiBJbmNsdWRlIGdyYXBoaXRlLWNsb29nLXV0aWwuaC4KKworLS0tIGdjYy9NYWtlZmlsZS5pbi5q agkyMDExLTAxLTAzIDEzOjQ0OjE0LjE2MzkwMDkwMiArMDEwMAorKysrIGdjYy9NYWtlZmlsZS5p bgkyMDExLTAxLTA0IDE3OjQ4OjUzLjU4ODc3NTkxMSArMDEwMAorQEAgLTk4NSw2ICs5ODUsOCBA QCBHQ0NfUExVR0lOX0ggPSBnY2MtcGx1Z2luLmggaGlnaGxldi1wbHVnCisgUExVR0lOX0ggPSBw bHVnaW4uaCAkKEdDQ19QTFVHSU5fSCkKKyBQTFVHSU5fVkVSU0lPTl9IID0gcGx1Z2luLXZlcnNp b24uaCBjb25maWdhcmdzLmgKKyBMSUJGVU5DU19IID0gbGliZnVuY3MuaCAkKEhBU0hUQUJfSCkK KytHUkFQSElURV9DTE9PR19VVElMX0ggPSBncmFwaGl0ZS1jbG9vZy11dGlsLmggZ3JhcGhpdGUt Y2xvb2ctY29tcGF0LmgKKytHUkFQSElURV9QT0xZX0ggPSBncmFwaGl0ZS1wb2x5LmggJChHUkFQ SElURV9DTE9PR19VVElMX0gpCisgCisgIwwKKyAjIE5vdyBmaWd1cmUgb3V0IGZyb20gdGhvc2Ug dmFyaWFibGVzIGhvdyB0byBjb21waWxlIGFuZCBsaW5rLgorQEAgLTEwMzgsNyArMTA0MCw3IEBA IEJVSUxEX0xJQkRFUFM9ICQoQlVJTERfTElCSUJFUlRZKQorICMgYW5kIHRoZSBzeXN0ZW0ncyBp bnN0YWxsZWQgbGlicmFyaWVzLgorIExJQlMgPSBATElCU0AgJChDUFBMSUIpICQoTElCSU5UTCkg JChMSUJJQ09OVikgJChMSUJJQkVSVFkpICQoTElCREVDTlVNQkVSKSBcCisgCSQoSE9TVF9MSUJT KQorLUJBQ0tFTkRMSUJTID0gJChDTE9PR0xJQlMpICQoUFBMTElCUykgJChHTVBMSUJTKSAkKFBM VUdJTkxJQlMpICQoSE9TVF9MSUJTKSBcCisrQkFDS0VORExJQlMgPSAkKEdNUExJQlMpICQoaWYg JChDTE9PR0xJQlMpLC1sZGwpICQoUExVR0lOTElCUykgJChIT1NUX0xJQlMpIFwKKyAJJChaTElC KQorICMgQW55IHN5c3RlbSBsaWJyYXJpZXMgbmVlZGVkIGp1c3QgZm9yIEdOQVQuCisgU1lTTElC UyA9IEBHTkFUX0xJQkVYQ0AKK0BAIC0yNjcxLDM5ICsyNjczLDM5IEBAIHNlc2UubyA6IHNlc2Uu YyBzZXNlLmggJChDT05GSUdfSCkgJChTWVMKKyAgICAkKFRSRUVfRkxPV19IKSAkKENGR0xPT1Bf SCkgJChUUkVFX0RBVEFfUkVGX0gpIHRyZWUtcGFzcy5oIHZhbHVlLXByb2YuaAorIGdyYXBoaXRl Lm8gOiBncmFwaGl0ZS5jICQoQ09ORklHX0gpICQoU1lTVEVNX0gpIGNvcmV0eXBlcy5oICQoRElB R05PU1RJQ19DT1JFX0gpIFwKKyAgICAkKFRSRUVfRkxPV19IKSAkKFRSRUVfRFVNUF9IKSAkKENG R0xPT1BfSCkgJChUUkVFX0RBVEFfUkVGX0gpIHNlc2UuaCBcCistICAgJChEQkdDTlRfSCkgZ3Jh cGhpdGUtcHBsLmggZ3JhcGhpdGUtcG9seS5oIGdyYXBoaXRlLXNjb3AtZGV0ZWN0aW9uLmggXAor KyAgICQoREJHQ05UX0gpIGdyYXBoaXRlLXBwbC5oICQoR1JBUEhJVEVfUE9MWV9IKSBncmFwaGl0 ZS1zY29wLWRldGVjdGlvbi5oIFwKKyAgICBncmFwaGl0ZS1jbGFzdC10by1naW1wbGUuaCBncmFw aGl0ZS1zZXNlLXRvLXBvbHkuaAorIGdyYXBoaXRlLWJsb2NraW5nLm8gOiBncmFwaGl0ZS1ibG9j a2luZy5jICQoQ09ORklHX0gpICQoU1lTVEVNX0gpIFwKKyAgICBjb3JldHlwZXMuaCAkKFRSRUVf RkxPV19IKSAkKFRSRUVfRFVNUF9IKSAkKENGR0xPT1BfSCkgJChUUkVFX0RBVEFfUkVGX0gpIFwK Ky0gICBzZXNlLmggZ3JhcGhpdGUtcHBsLmggZ3JhcGhpdGUtcG9seS5oCisrICAgc2VzZS5oIGdy YXBoaXRlLXBwbC5oICQoR1JBUEhJVEVfUE9MWV9IKQorIGdyYXBoaXRlLWNsYXN0LXRvLWdpbXBs ZS5vIDogZ3JhcGhpdGUtY2xhc3QtdG8tZ2ltcGxlLmMgJChDT05GSUdfSCkgXAorICAgICQoU1lT VEVNX0gpIGNvcmV0eXBlcy5oICQoRElBR05PU1RJQ19DT1JFX0gpICQoVFJFRV9GTE9XX0gpICQo VFJFRV9EVU1QX0gpIFwKKy0gICAkKENGR0xPT1BfSCkgJChUUkVFX0RBVEFfUkVGX0gpIHNlc2Uu aCBncmFwaGl0ZS1jbG9vZy11dGlsLmggXAorLSAgIGdyYXBoaXRlLXBwbC5oIGdyYXBoaXRlLXBv bHkuaCBncmFwaGl0ZS1jbGFzdC10by1naW1wbGUuaCBcCistICAgZ3JhcGhpdGUtZGVwZW5kZW5j ZXMuaCBncmFwaGl0ZS1jbG9vZy1jb21wYXQuaAorKyAgICQoQ0ZHTE9PUF9IKSAkKFRSRUVfREFU QV9SRUZfSCkgc2VzZS5oICQoR1JBUEhJVEVfQ0xPT0dfVVRJTF9IKSBcCisrICAgZ3JhcGhpdGUt cHBsLmggJChHUkFQSElURV9QT0xZX0gpIGdyYXBoaXRlLWNsYXN0LXRvLWdpbXBsZS5oIFwKKysg ICBncmFwaGl0ZS1kZXBlbmRlbmNlcy5oCisgZ3JhcGhpdGUtY2xvb2ctdXRpbC5vIDogZ3JhcGhp dGUtY2xvb2ctdXRpbC5jICQoQ09ORklHX0gpICQoU1lTVEVNX0gpIFwKKy0gICBjb3JldHlwZXMu aCBncmFwaGl0ZS1jbG9vZy11dGlsLmggZ3JhcGhpdGUtY2xvb2ctY29tcGF0LmgKKysgICBjb3Jl dHlwZXMuaCAkKEdSQVBISVRFX0NMT09HX1VUSUxfSCkgZ3JhcGhpdGUtY2xvb2ctY29tcGF0LmgK KyBncmFwaGl0ZS1kZXBlbmRlbmNlcy5vIDogZ3JhcGhpdGUtZGVwZW5kZW5jZXMuYyAkKENPTkZJ R19IKSAkKFNZU1RFTV9IKSBcCisgICAgY29yZXR5cGVzLmggJChUUkVFX0ZMT1dfSCkgJChUUkVF X0RVTVBfSCkgJChDRkdMT09QX0gpICQoVFJFRV9EQVRBX1JFRl9IKSBcCistICAgc2VzZS5oIGdy YXBoaXRlLXBwbC5oIGdyYXBoaXRlLXBvbHkuaCBncmFwaGl0ZS1kZXBlbmRlbmNlcy5oCisrICAg c2VzZS5oIGdyYXBoaXRlLXBwbC5oICQoR1JBUEhJVEVfUE9MWV9IKSBncmFwaGl0ZS1kZXBlbmRl bmNlcy5oCisgZ3JhcGhpdGUtZmxhdHRlbmluZy5vIDogZ3JhcGhpdGUtZmxhdHRlbmluZy5jICQo Q09ORklHX0gpICQoU1lTVEVNX0gpCVwKKyAgICBjb3JldHlwZXMuaCAkKFRSRUVfRkxPV19IKSAk KFRSRUVfRFVNUF9IKSAkKENGR0xPT1BfSCkgJChUUkVFX0RBVEFfUkVGX0gpIFwKKy0gICBzZXNl LmggZ3JhcGhpdGUtcHBsLmggZ3JhcGhpdGUtcG9seS5oCisrICAgc2VzZS5oIGdyYXBoaXRlLXBw bC5oICQoR1JBUEhJVEVfUE9MWV9IKQorIGdyYXBoaXRlLWludGVyY2hhbmdlLm8gOiBncmFwaGl0 ZS1pbnRlcmNoYW5nZS5jICQoQ09ORklHX0gpICQoU1lTVEVNX0gpIFwKKyAgICBjb3JldHlwZXMu aCAkKFRSRUVfRkxPV19IKSAkKFRSRUVfRFVNUF9IKSAkKENGR0xPT1BfSCkgJChUUkVFX0RBVEFf UkVGX0gpIFwKKy0gICBzZXNlLmggZ3JhcGhpdGUtcHBsLmggZ3JhcGhpdGUtcG9seS5oCisrICAg c2VzZS5oIGdyYXBoaXRlLXBwbC5oICQoR1JBUEhJVEVfUE9MWV9IKQorIGdyYXBoaXRlLXBvbHku byA6IGdyYXBoaXRlLXBvbHkuYyAkKENPTkZJR19IKSAkKFNZU1RFTV9IKSBjb3JldHlwZXMuaCBc CisgICAgJChESUFHTk9TVElDX0NPUkVfSCkgJChUUkVFX0ZMT1dfSCkgJChUUkVFX0RVTVBfSCkg Z2ltcGxlLXByZXR0eS1wcmludC5oIFwKKy0gICAkKENGR0xPT1BfSCkgJChUUkVFX0RBVEFfUkVG X0gpIHNlc2UuaCBncmFwaGl0ZS1wcGwuaCBncmFwaGl0ZS1wb2x5LmggXAorLSAgIGdyYXBoaXRl LWRlcGVuZGVuY2VzLmggZ3JhcGhpdGUtY2xvb2ctdXRpbC5oCisrICAgJChDRkdMT09QX0gpICQo VFJFRV9EQVRBX1JFRl9IKSBzZXNlLmggZ3JhcGhpdGUtcHBsLmggJChHUkFQSElURV9QT0xZX0gp IFwKKysgICBncmFwaGl0ZS1kZXBlbmRlbmNlcy5oICQoR1JBUEhJVEVfQ0xPT0dfVVRJTF9IKQor IGdyYXBoaXRlLXBwbC5vIDogZ3JhcGhpdGUtcHBsLmMgJChDT05GSUdfSCkgJChTWVNURU1fSCkg Y29yZXR5cGVzLmggXAorLSAgIGdyYXBoaXRlLWNsb29nLXV0aWwuaCBncmFwaGl0ZS1wcGwuaAor KyAgICQoR1JBUEhJVEVfQ0xPT0dfVVRJTF9IKSBncmFwaGl0ZS1wcGwuaAorIGdyYXBoaXRlLXNj b3AtZGV0ZWN0aW9uLm8gOiBncmFwaGl0ZS1zY29wLWRldGVjdGlvbi5jICQoQ09ORklHX0gpICQo U1lTVEVNX0gpIFwKKyAgICBjb3JldHlwZXMuaCAkKFRSRUVfRkxPV19IKSAkKENGR0xPT1BfSCkg JChUUkVFX0RBVEFfUkVGX0gpICQoVFJFRV9QQVNTX0gpIFwKKy0gICBzZXNlLmggZ3JhcGhpdGUt cHBsLmggZ3JhcGhpdGUtcG9seS5oIGdyYXBoaXRlLXNjb3AtZGV0ZWN0aW9uLmgKKysgICBzZXNl LmggZ3JhcGhpdGUtcHBsLmggJChHUkFQSElURV9QT0xZX0gpIGdyYXBoaXRlLXNjb3AtZGV0ZWN0 aW9uLmgKKyBncmFwaGl0ZS1zZXNlLXRvLXBvbHkubyA6IGdyYXBoaXRlLXNlc2UtdG8tcG9seS5j ICQoQ09ORklHX0gpIFwKKyAgICAkKFNZU1RFTV9IKSBjb3JldHlwZXMuaCAkKFRSRUVfRkxPV19I KSAkKFRSRUVfRFVNUF9IKSAkKENGR0xPT1BfSCkgXAorLSAgICQoVFJFRV9EQVRBX1JFRl9IKSBk b213YWxrLmggc2VzZS5oIGdyYXBoaXRlLXBwbC5oIGdyYXBoaXRlLXBvbHkuaCBcCisrICAgJChU UkVFX0RBVEFfUkVGX0gpIGRvbXdhbGsuaCBzZXNlLmggZ3JhcGhpdGUtcHBsLmggJChHUkFQSElU RV9QT0xZX0gpIFwKKyAgICBncmFwaGl0ZS1zZXNlLXRvLXBvbHkuaAorIHRyZWUtdmVjdC1sb29w Lm86IHRyZWUtdmVjdC1sb29wLmMgJChDT05GSUdfSCkgJChTWVNURU1fSCkgY29yZXR5cGVzLmgg XAorICAgICQoVE1fSCkgJChHR0NfSCkgJChUUkVFX0gpICQoQkFTSUNfQkxPQ0tfSCkgJChESUFH Tk9TVElDX0gpICQoVFJFRV9GTE9XX0gpIFwKK0BAIC0zNDg4LDYgKzM0OTAsMTEgQEAgJChvdXRf b2JqZWN0X2ZpbGUpOiAkKG91dF9maWxlKSAkKENPTkZJRworIAkkKENPTVBJTEVSKSAtYyAkKEFM TF9DT01QSUxFUkZMQUdTKSAkKEFMTF9DUFBGTEFHUykgXAorIAkJJChvdXRfZmlsZSkgJChPVVRQ VVRfT1BUSU9OKQorIAorK2dyYXBoaXRlJS5vIDogXAorKyAgQUxMX0NGTEFHUyA6PSAtTyAkKGZp bHRlci1vdXQgLWZrZWVwLWlubGluZS1mdW5jdGlvbnMsICQoQUxMX0NGTEFHUykpCisrZ3JhcGhp dGUubyA6IFwKKysgIEFMTF9DRkxBR1MgOj0gLU8gJChmaWx0ZXItb3V0IC1ma2VlcC1pbmxpbmUt ZnVuY3Rpb25zLCAkKEFMTF9DRkxBR1MpKQorKworICMgQnVpbGQgYXV4aWxpYXJ5IGZpbGVzIHRo YXQgc3VwcG9ydCBlY29mZiBmb3JtYXQuCisgbWlwcy10ZmlsZTogbWlwcy10ZmlsZS5vIHZlcnNp b24ubyAkKExJQkRFUFMpCisgCSQoTElOS0VSKSAkKExJTktFUkZMQUdTKSAkKExERkxBR1MpIC1v ICRAIFwKKy0tLSBnY2MvZ3JhcGhpdGUtY2xvb2ctY29tcGF0LmguamoJMjAxMS0wMS0wMyAxMjo1 MzowNS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnY2MvZ3JhcGhpdGUtY2xvb2ctY29tcGF0LmgJMjAx MS0wMS0wNCAxNzozNDowOS44NTc3NTc1NDQgKzAxMDAKK0BAIC0yNzIsNCArMjcyLDI2MSBAQCBz dGF0aWMgaW5saW5lIGludCBjbG9vZ19tYXRyaXhfbnJvd3MgKENsCisgICAgcmV0dXJuIG0tPk5i Um93czsKKyB9CisgI2VuZGlmIC8qIENMT09HX09SRyAgKi8KKysKKysjaW5jbHVkZSA8ZGxmY24u aD4KKysjZGVmaW5lIERZTlNZTVMgXAorKyAgRFlOU1lNIChjbG9vZ19ibG9ja19hbGxvYyk7IFwK KysgIERZTlNZTSAoY2xvb2dfYmxvY2tfbGlzdF9mcmVlKTsgXAorKyAgRFlOU1lNIChjbG9vZ19i bG9ja19saXN0X21hbGxvYyk7IFwKKysgIERZTlNZTSAoY2xvb2dfY2xhc3RfY3JlYXRlKTsgXAor KyAgRFlOU1lNIChjbG9vZ19jbGFzdF9mcmVlKTsgXAorKyAgRFlOU1lNIChjbG9vZ19kb21haW5f ZnJlZSk7IFwKKysgIERZTlNZTSAoY2xvb2dfZG9tYWluX21hdHJpeDJkb21haW4pOyBcCisrICBE WU5TWU0gKGNsb29nX2luaXRpYWxpemUpOyBcCisrICBEWU5TWU0gKGNsb29nX2xvb3BfbWFsbG9j KTsgXAorKyAgRFlOU1lNIChjbG9vZ19tYXRyaXhfYWxsb2MpOyBcCisrICBEWU5TWU0gKGNsb29n X21hdHJpeF9jb3B5KTsgXAorKyAgRFlOU1lNIChjbG9vZ19tYXRyaXhfZnJlZSk7IFwKKysgIERZ TlNZTSAoY2xvb2dfbWF0cml4X3ByaW50KTsgXAorKyAgRFlOU1lNIChjbG9vZ19uYW1lc19tYWxs b2MpOyBcCisrICBEWU5TWU0gKGNsb29nX25hbWVzX3NjYWxhcml6ZSk7IFwKKysgIERZTlNZTSAo Y2xvb2dfb3B0aW9uc19mcmVlKTsgXAorKyAgRFlOU1lNIChjbG9vZ19vcHRpb25zX21hbGxvYyk7 IFwKKysgIERZTlNZTSAoY2xvb2dfcHJvZ3JhbV9kdW1wX2Nsb29nKTsgXAorKyAgRFlOU1lNIChj bG9vZ19wcm9ncmFtX2V4dHJhY3Rfc2NhbGFycyk7IFwKKysgIERZTlNZTSAoY2xvb2dfcHJvZ3Jh bV9mcmVlKTsgXAorKyAgRFlOU1lNIChjbG9vZ19wcm9ncmFtX2dlbmVyYXRlKTsgXAorKyAgRFlO U1lNIChjbG9vZ19wcm9ncmFtX21hbGxvYyk7IFwKKysgIERZTlNZTSAoY2xvb2dfcHJvZ3JhbV9w cmludCk7IFwKKysgIERZTlNZTSAoY2xvb2dfcHJvZ3JhbV9zY2F0dGVyKTsgXAorKyAgRFlOU1lN IChjbG9vZ19zdGF0ZW1lbnRfYWxsb2MpOyBcCisrICBEWU5TWU0gKGNsb29nX2RvbWFpbl91bmlv bik7IFwKKysgIERZTlNZTSAoY2xvb2dfbWF0cml4X3JlYWQpOyBcCisrICBEWU5TWU0gKGNsb29n X25ld19wb2wpOyBcCisrICBEWU5TWU0gKGNsb29nX3ZlY3Rvcl9nY2QpOyBcCisrICBEWU5TWU0g KHBwbF9maW5hbGl6ZSk7IFwKKysgIERZTlNZTSAocHBsX2Fzc2lnbl9Db2VmZmljaWVudF9mcm9t X21wel90KTsgXAorKyAgRFlOU1lNIChwcGxfYXNzaWduX0xpbmVhcl9FeHByZXNzaW9uX2Zyb21f TGluZWFyX0V4cHJlc3Npb24pOyBcCisrICBEWU5TWU0gKHBwbF9Db2VmZmljaWVudF90b19tcHpf dCk7IFwKKysgIERZTlNZTSAocHBsX0NvbnN0cmFpbnRfY29lZmZpY2llbnQpOyBcCisrICBEWU5T WU0gKHBwbF9Db25zdHJhaW50X2luaG9tb2dlbmVvdXNfdGVybSk7IFwKKysgIERZTlNZTSAocHBs X0NvbnN0cmFpbnRfc3BhY2VfZGltZW5zaW9uKTsgXAorKyAgRFlOU1lNIChwcGxfQ29uc3RyYWlu dF9TeXN0ZW1fYmVnaW4pOyBcCisrICBEWU5TWU0gKHBwbF9Db25zdHJhaW50X1N5c3RlbV9jb25z dF9pdGVyYXRvcl9kZXJlZmVyZW5jZSk7IFwKKysgIERZTlNZTSAocHBsX0NvbnN0cmFpbnRfU3lz dGVtX2NvbnN0X2l0ZXJhdG9yX2VxdWFsX3Rlc3QpOyBcCisrICBEWU5TWU0gKHBwbF9Db25zdHJh aW50X1N5c3RlbV9jb25zdF9pdGVyYXRvcl9pbmNyZW1lbnQpOyBcCisrICBEWU5TWU0gKHBwbF9D b25zdHJhaW50X1N5c3RlbV9lbmQpOyBcCisrICBEWU5TWU0gKHBwbF9Db25zdHJhaW50X1N5c3Rl bV9pbnNlcnRfQ29uc3RyYWludCk7IFwKKysgIERZTlNZTSAocHBsX0NvbnN0cmFpbnRfU3lzdGVt X3NwYWNlX2RpbWVuc2lvbik7IFwKKysgIERZTlNZTSAocHBsX0NvbnN0cmFpbnRfdHlwZSk7IFwK KysgIERZTlNZTSAocHBsX2RlbGV0ZV9Db2VmZmljaWVudCk7IFwKKysgIERZTlNZTSAocHBsX2Rl bGV0ZV9Db25zdHJhaW50KTsgXAorKyAgRFlOU1lNIChwcGxfZGVsZXRlX0NvbnN0cmFpbnRfU3lz dGVtX2NvbnN0X2l0ZXJhdG9yKTsgXAorKyAgRFlOU1lNIChwcGxfZGVsZXRlX0xpbmVhcl9FeHBy ZXNzaW9uKTsgXAorKyAgRFlOU1lNIChwcGxfZGVsZXRlX1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9s eWhlZHJvbik7IFwKKysgIERZTlNZTSAocHBsX2RlbGV0ZV9Qb2ludHNldF9Qb3dlcnNldF9DX1Bv bHloZWRyb25faXRlcmF0b3IpOyBcCisrICBEWU5TWU0gKHBwbF9kZWxldGVfUG9seWhlZHJvbik7 IFwKKysgIERZTlNZTSAocHBsX0xpbmVhcl9FeHByZXNzaW9uX2FkZF90b19jb2VmZmljaWVudCk7 IFwKKysgIERZTlNZTSAocHBsX0xpbmVhcl9FeHByZXNzaW9uX2FkZF90b19pbmhvbW9nZW5lb3Vz KTsgXAorKyAgRFlOU1lNIChwcGxfTGluZWFyX0V4cHJlc3Npb25fY29lZmZpY2llbnQpOyBcCisr ICBEWU5TWU0gKHBwbF9MaW5lYXJfRXhwcmVzc2lvbl9pbmhvbW9nZW5lb3VzX3Rlcm0pOyBcCisr ICBEWU5TWU0gKHBwbF9MaW5lYXJfRXhwcmVzc2lvbl9zcGFjZV9kaW1lbnNpb24pOyBcCisrICBE WU5TWU0gKHBwbF9uZXdfQ29lZmZpY2llbnQpOyBcCisrICBEWU5TWU0gKHBwbF9uZXdfQ29lZmZp Y2llbnRfZnJvbV9tcHpfdCk7IFwKKysgIERZTlNZTSAocHBsX25ld19Db25zdHJhaW50KTsgXAor KyAgRFlOU1lNIChwcGxfbmV3X0NvbnN0cmFpbnRfU3lzdGVtKTsgXAorKyAgRFlOU1lNIChwcGxf bmV3X0NvbnN0cmFpbnRfU3lzdGVtX2NvbnN0X2l0ZXJhdG9yKTsgXAorKyAgRFlOU1lNIChwcGxf bmV3X0NfUG9seWhlZHJvbl9mcm9tX0NfUG9seWhlZHJvbik7IFwKKysgIERZTlNZTSAocHBsX25l d19DX1BvbHloZWRyb25fZnJvbV9zcGFjZV9kaW1lbnNpb24pOyBcCisrICBEWU5TWU0gKHBwbF9u ZXdfQ19Qb2x5aGVkcm9uX3JlY3ljbGVfQ29uc3RyYWludF9TeXN0ZW0pOyBcCisrICBEWU5TWU0g KHBwbF9uZXdfTGluZWFyX0V4cHJlc3Npb24pOyBcCisrICBEWU5TWU0gKHBwbF9uZXdfTGluZWFy X0V4cHJlc3Npb25fZnJvbV9Db25zdHJhaW50KTsgXAorKyAgRFlOU1lNIChwcGxfbmV3X0xpbmVh cl9FeHByZXNzaW9uX2Zyb21fTGluZWFyX0V4cHJlc3Npb24pOyBcCisrICBEWU5TWU0gKHBwbF9u ZXdfTGluZWFyX0V4cHJlc3Npb25fd2l0aF9kaW1lbnNpb24pOyBcCisrICBEWU5TWU0gKHBwbF9u ZXdfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2Zyb21fQ19Qb2x5aGVkcm9uKTsgXAor KyAgRFlOU1lNIChwcGxfbmV3X1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9mcm9tX1Bv aW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbik7IFwKKysgIERZTlNZTSAocHBsX25ld19Qb2lu dHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25fZnJvbV9zcGFjZV9kaW1lbnNpb24pOyBcCisrICBE WU5TWU0gKHBwbF9uZXdfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2l0ZXJhdG9yKTsg XAorKyAgRFlOU1lNIChwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2FkZF9jb25z dHJhaW50KTsgXAorKyAgRFlOU1lNIChwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9u X2FkZF9zcGFjZV9kaW1lbnNpb25zX2FuZF9lbWJlZCk7IFwKKysgIERZTlNZTSAocHBsX1BvaW50 c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9kaWZmZXJlbmNlX2Fzc2lnbik7IFwKKysgIERZTlNZ TSAocHBsX1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9pbnRlcnNlY3Rpb25fYXNzaWdu KTsgXAorKyAgRFlOU1lNIChwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2lzX2Vt cHR5KTsgXAorKyAgRFlOU1lNIChwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2l0 ZXJhdG9yX2JlZ2luKTsgXAorKyAgRFlOU1lNIChwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5 aGVkcm9uX2l0ZXJhdG9yX2RlcmVmZXJlbmNlKTsgXAorKyAgRFlOU1lNIChwcGxfUG9pbnRzZXRf UG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2l0ZXJhdG9yX2VuZCk7IFwKKysgIERZTlNZTSAocHBsX1Bv aW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9pdGVyYXRvcl9lcXVhbF90ZXN0KTsgXAorKyAg RFlOU1lNIChwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2l0ZXJhdG9yX2luY3Jl bWVudCk7IFwKKysgIERZTlNZTSAocHBsX1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9t YXBfc3BhY2VfZGltZW5zaW9ucyk7IFwKKysgIERZTlNZTSAocHBsX1BvaW50c2V0X1Bvd2Vyc2V0 X0NfUG9seWhlZHJvbl9tYXhpbWl6ZSk7IFwKKysgIERZTlNZTSAocHBsX1BvaW50c2V0X1Bvd2Vy c2V0X0NfUG9seWhlZHJvbl9taW5pbWl6ZSk7IFwKKysgIERZTlNZTSAocHBsX1BvaW50c2V0X1Bv d2Vyc2V0X0NfUG9seWhlZHJvbl9yZW1vdmVfc3BhY2VfZGltZW5zaW9ucyk7IFwKKysgIERZTlNZ TSAocHBsX1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9zaXplKTsgXAorKyAgRFlOU1lN IChwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX3NwYWNlX2RpbWVuc2lvbik7IFwK KysgIERZTlNZTSAocHBsX1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl91cHBlcl9ib3Vu ZF9hc3NpZ24pOyBcCisrICBEWU5TWU0gKHBwbF9Qb2x5aGVkcm9uX2FkZF9jb25zdHJhaW50KTsg XAorKyAgRFlOU1lNIChwcGxfUG9seWhlZHJvbl9hZGRfY29uc3RyYWludHMpOyBcCisrICBEWU5T WU0gKHBwbF9Qb2x5aGVkcm9uX2FkZF9zcGFjZV9kaW1lbnNpb25zX2FuZF9lbWJlZCk7IFwKKysg IERZTlNZTSAocHBsX1BvbHloZWRyb25fZ2V0X2NvbnN0cmFpbnRzKTsgXAorKyAgRFlOU1lNIChw cGxfUG9seWhlZHJvbl9tYXBfc3BhY2VfZGltZW5zaW9ucyk7IFwKKysgIERZTlNZTSAocHBsX1Bv bHloZWRyb25fcmVtb3ZlX3NwYWNlX2RpbWVuc2lvbnMpOyBcCisrICBEWU5TWU0gKHBwbF9Qb2x5 aGVkcm9uX3NwYWNlX2RpbWVuc2lvbik7IFwKKysgIERZTlNZTSAocHBsX3N1YnRyYWN0X0xpbmVh cl9FeHByZXNzaW9uX2Zyb21fTGluZWFyX0V4cHJlc3Npb24pOyBcCisrICBEWU5TWU0gKHBwcmlu dCk7IFwKKysgIERZTlNZTSAoc3RtdF9ibG9jayk7IFwKKysgIERZTlNZTSAoc3RtdF9mb3IpOyBc CisrICBEWU5TWU0gKHN0bXRfZ3VhcmQpOyBcCisrICBEWU5TWU0gKHN0bXRfcm9vdCk7IFwKKysg IERZTlNZTSAoc3RtdF91c2VyKTsgXAorKyAgRFlOU1lNIChwcGxfZGVsZXRlX0NvbnN0cmFpbnRf U3lzdGVtKTsgXAorKyAgRFlOU1lNIChwcGxfaW5pdGlhbGl6ZSk7IFwKKysgIERZTlNZTSAocHBs X25ld19Db25zdHJhaW50X1N5c3RlbV9mcm9tX0NvbnN0cmFpbnQpOyBcCisrICBEWU5TWU0gKHBw bF9uZXdfQ19Qb2x5aGVkcm9uX2Zyb21fQ29uc3RyYWludF9TeXN0ZW0pOyBcCisrICBEWU5TWU0g KHBwbF9Qb2x5aGVkcm9uX2FmZmluZV9pbWFnZSk7CisrZXh0ZXJuIHN0cnVjdAorK3sKKysgIGJv b2wgaW5pdGVkOworKyAgdm9pZCAqaDsKKysjZGVmaW5lIERZTlNZTSh4KSBfX3R5cGVvZiAoeCkg KnBfIyN4CisrICBEWU5TWU1TCisrI3VuZGVmIERZTlNZTQorK30gY2xvb2dfcG9pbnRlcnNfXzsK KysKKysjZGVmaW5lIGNsb29nX2Jsb2NrX2FsbG9jICgqY2xvb2dfcG9pbnRlcnNfXy5wX2Nsb29n X2Jsb2NrX2FsbG9jKQorKyNkZWZpbmUgY2xvb2dfYmxvY2tfbGlzdF9mcmVlICgqY2xvb2dfcG9p bnRlcnNfXy5wX2Nsb29nX2Jsb2NrX2xpc3RfZnJlZSkKKysjZGVmaW5lIGNsb29nX2Jsb2NrX2xp c3RfbWFsbG9jICgqY2xvb2dfcG9pbnRlcnNfXy5wX2Nsb29nX2Jsb2NrX2xpc3RfbWFsbG9jKQor KyNkZWZpbmUgY2xvb2dfY2xhc3RfY3JlYXRlICgqY2xvb2dfcG9pbnRlcnNfXy5wX2Nsb29nX2Ns YXN0X2NyZWF0ZSkKKysjZGVmaW5lIGNsb29nX2NsYXN0X2ZyZWUgKCpjbG9vZ19wb2ludGVyc19f LnBfY2xvb2dfY2xhc3RfZnJlZSkKKysjZGVmaW5lIGNsb29nX2RvbWFpbl9mcmVlICgqY2xvb2df cG9pbnRlcnNfXy5wX2Nsb29nX2RvbWFpbl9mcmVlKQorKyNkZWZpbmUgY2xvb2dfZG9tYWluX21h dHJpeDJkb21haW4gKCpjbG9vZ19wb2ludGVyc19fLnBfY2xvb2dfZG9tYWluX21hdHJpeDJkb21h aW4pCisrI2RlZmluZSBjbG9vZ19pbml0aWFsaXplICgqY2xvb2dfcG9pbnRlcnNfXy5wX2Nsb29n X2luaXRpYWxpemUpCisrI2lmbmRlZiBDTE9PR19PUkcKKysjdW5kZWYgY2xvb2dfbG9vcF9tYWxs b2MKKysjZGVmaW5lIGNsb29nX2xvb3BfbWFsbG9jKFNUQVRFKSAoKmNsb29nX3BvaW50ZXJzX18u cF9jbG9vZ19sb29wX21hbGxvYykgKCkKKysjZWxzZQorKyNkZWZpbmUgY2xvb2dfbG9vcF9tYWxs b2MgKCpjbG9vZ19wb2ludGVyc19fLnBfY2xvb2dfbG9vcF9tYWxsb2MpCisrI2VuZGlmCisrI2Rl ZmluZSBjbG9vZ19tYXRyaXhfYWxsb2MgKCpjbG9vZ19wb2ludGVyc19fLnBfY2xvb2dfbWF0cml4 X2FsbG9jKQorKyNkZWZpbmUgY2xvb2dfbWF0cml4X2NvcHkgKCpjbG9vZ19wb2ludGVyc19fLnBf Y2xvb2dfbWF0cml4X2NvcHkpCisrI2RlZmluZSBjbG9vZ19tYXRyaXhfZnJlZSAoKmNsb29nX3Bv aW50ZXJzX18ucF9jbG9vZ19tYXRyaXhfZnJlZSkKKysjZGVmaW5lIGNsb29nX21hdHJpeF9wcmlu dCAoKmNsb29nX3BvaW50ZXJzX18ucF9jbG9vZ19tYXRyaXhfcHJpbnQpCisrI2RlZmluZSBjbG9v Z19uYW1lc19tYWxsb2MgKCpjbG9vZ19wb2ludGVyc19fLnBfY2xvb2dfbmFtZXNfbWFsbG9jKQor KyNkZWZpbmUgY2xvb2dfbmFtZXNfc2NhbGFyaXplICgqY2xvb2dfcG9pbnRlcnNfXy5wX2Nsb29n X25hbWVzX3NjYWxhcml6ZSkKKysjZGVmaW5lIGNsb29nX29wdGlvbnNfZnJlZSAoKmNsb29nX3Bv aW50ZXJzX18ucF9jbG9vZ19vcHRpb25zX2ZyZWUpCisrI2lmbmRlZiBDTE9PR19PUkcKKysjdW5k ZWYgY2xvb2dfb3B0aW9uc19tYWxsb2MKKysjZGVmaW5lIGNsb29nX29wdGlvbnNfbWFsbG9jKFNU QVRFKSAoKmNsb29nX3BvaW50ZXJzX18ucF9jbG9vZ19vcHRpb25zX21hbGxvYykgKCkKKysjdW5k ZWYgY2xvb2dfcHJvZ3JhbV9kdW1wX2Nsb29nCisrI2RlZmluZSBjbG9vZ19wcm9ncmFtX2R1bXBf Y2xvb2coRFVNUEZJTEUsIFBST0dSQU0sIFNDQVRURVJJTkdMSVNUKSBcCisrICAoKmNsb29nX3Bv aW50ZXJzX18ucF9jbG9vZ19wcm9ncmFtX2R1bXBfY2xvb2cpIChEVU1QRklMRSwgUFJPR1JBTSkK KysjdW5kZWYgY2xvb2dfcHJvZ3JhbV9leHRyYWN0X3NjYWxhcnMKKysjZGVmaW5lIGNsb29nX3By b2dyYW1fZXh0cmFjdF9zY2FsYXJzKFBST0csIFNDQVRULCBPUFQpIFwKKysgICgqY2xvb2dfcG9p bnRlcnNfXy5wX2Nsb29nX3Byb2dyYW1fZXh0cmFjdF9zY2FsYXJzKSAoUFJPRywgU0NBVFQpCisr I2Vsc2UKKysjZGVmaW5lIGNsb29nX29wdGlvbnNfbWFsbG9jICgqY2xvb2dfcG9pbnRlcnNfXy5w X2Nsb29nX29wdGlvbnNfbWFsbG9jKQorKyNkZWZpbmUgY2xvb2dfcHJvZ3JhbV9kdW1wX2Nsb29n ICgqY2xvb2dfcG9pbnRlcnNfXy5wX2Nsb29nX3Byb2dyYW1fZHVtcF9jbG9vZykKKysjZGVmaW5l IGNsb29nX3Byb2dyYW1fZXh0cmFjdF9zY2FsYXJzICgqY2xvb2dfcG9pbnRlcnNfXy5wX2Nsb29n X3Byb2dyYW1fZXh0cmFjdF9zY2FsYXJzKQorKyNlbmRpZgorKyNkZWZpbmUgY2xvb2dfcHJvZ3Jh bV9mcmVlICgqY2xvb2dfcG9pbnRlcnNfXy5wX2Nsb29nX3Byb2dyYW1fZnJlZSkKKysjZGVmaW5l IGNsb29nX3Byb2dyYW1fZ2VuZXJhdGUgKCpjbG9vZ19wb2ludGVyc19fLnBfY2xvb2dfcHJvZ3Jh bV9nZW5lcmF0ZSkKKysjZGVmaW5lIGNsb29nX3Byb2dyYW1fbWFsbG9jICgqY2xvb2dfcG9pbnRl cnNfXy5wX2Nsb29nX3Byb2dyYW1fbWFsbG9jKQorKyNkZWZpbmUgY2xvb2dfcHJvZ3JhbV9wcmlu dCAoKmNsb29nX3BvaW50ZXJzX18ucF9jbG9vZ19wcm9ncmFtX3ByaW50KQorKyNpZm5kZWYgQ0xP T0dfT1JHCisrI3VuZGVmIGNsb29nX3Byb2dyYW1fc2NhdHRlcgorKyNkZWZpbmUgY2xvb2dfcHJv Z3JhbV9zY2F0dGVyKFBST0csIFNDQVRULCBPUFQpIFwKKysgICgqY2xvb2dfcG9pbnRlcnNfXy5w X2Nsb29nX3Byb2dyYW1fc2NhdHRlcikgKFBST0csIFNDQVRUKQorKyN1bmRlZiBjbG9vZ19zdGF0 ZW1lbnRfYWxsb2MKKysjZGVmaW5lIGNsb29nX3N0YXRlbWVudF9hbGxvYyhTVEFURSwgSU5ERVgp IFwKKysgICgqY2xvb2dfcG9pbnRlcnNfXy5wX2Nsb29nX3N0YXRlbWVudF9hbGxvYykgKElOREVY KQorKyNlbHNlCisrI2RlZmluZSBjbG9vZ19wcm9ncmFtX3NjYXR0ZXIgKCpjbG9vZ19wb2ludGVy c19fLnBfY2xvb2dfcHJvZ3JhbV9zY2F0dGVyKQorKyNkZWZpbmUgY2xvb2dfc3RhdGVtZW50X2Fs bG9jICgqY2xvb2dfcG9pbnRlcnNfXy5wX2Nsb29nX3N0YXRlbWVudF9hbGxvYykKKysjZW5kaWYK KysjZGVmaW5lIGNsb29nX2RvbWFpbl91bmlvbiAoKmNsb29nX3BvaW50ZXJzX18ucF9jbG9vZ19k b21haW5fdW5pb24pCisrI2RlZmluZSBjbG9vZ19tYXRyaXhfcmVhZCAoKmNsb29nX3BvaW50ZXJz X18ucF9jbG9vZ19tYXRyaXhfcmVhZCkKKysjZGVmaW5lIGNsb29nX25ld19wb2wgKCpjbG9vZ19w b2ludGVyc19fLnBfY2xvb2dfbmV3X3BvbCkKKysjZGVmaW5lIGNsb29nX3ZlY3Rvcl9nY2QgKCpj bG9vZ19wb2ludGVyc19fLnBfY2xvb2dfdmVjdG9yX2djZCkKKysjZGVmaW5lIHBwbF9maW5hbGl6 ZSAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfZmluYWxpemUpCisrI2RlZmluZSBwcGxfYXNzaWdu X0NvZWZmaWNpZW50X2Zyb21fbXB6X3QgKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX2Fzc2lnbl9D b2VmZmljaWVudF9mcm9tX21wel90KQorKyNkZWZpbmUgcHBsX2Fzc2lnbl9MaW5lYXJfRXhwcmVz c2lvbl9mcm9tX0xpbmVhcl9FeHByZXNzaW9uICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9hc3Np Z25fTGluZWFyX0V4cHJlc3Npb25fZnJvbV9MaW5lYXJfRXhwcmVzc2lvbikKKysjZGVmaW5lIHBw bF9Db2VmZmljaWVudF90b19tcHpfdCAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfQ29lZmZpY2ll bnRfdG9fbXB6X3QpCisrI2RlZmluZSBwcGxfQ29uc3RyYWludF9jb2VmZmljaWVudCAoKmNsb29n X3BvaW50ZXJzX18ucF9wcGxfQ29uc3RyYWludF9jb2VmZmljaWVudCkKKysjZGVmaW5lIHBwbF9D b25zdHJhaW50X2luaG9tb2dlbmVvdXNfdGVybSAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfQ29u c3RyYWludF9pbmhvbW9nZW5lb3VzX3Rlcm0pCisrI2RlZmluZSBwcGxfQ29uc3RyYWludF9zcGFj ZV9kaW1lbnNpb24gKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX0NvbnN0cmFpbnRfc3BhY2VfZGlt ZW5zaW9uKQorKyNkZWZpbmUgcHBsX0NvbnN0cmFpbnRfU3lzdGVtX2JlZ2luICgqY2xvb2dfcG9p bnRlcnNfXy5wX3BwbF9Db25zdHJhaW50X1N5c3RlbV9iZWdpbikKKysjZGVmaW5lIHBwbF9Db25z dHJhaW50X1N5c3RlbV9jb25zdF9pdGVyYXRvcl9kZXJlZmVyZW5jZSAoKmNsb29nX3BvaW50ZXJz X18ucF9wcGxfQ29uc3RyYWludF9TeXN0ZW1fY29uc3RfaXRlcmF0b3JfZGVyZWZlcmVuY2UpCisr I2RlZmluZSBwcGxfQ29uc3RyYWludF9TeXN0ZW1fY29uc3RfaXRlcmF0b3JfZXF1YWxfdGVzdCAo KmNsb29nX3BvaW50ZXJzX18ucF9wcGxfQ29uc3RyYWludF9TeXN0ZW1fY29uc3RfaXRlcmF0b3Jf ZXF1YWxfdGVzdCkKKysjZGVmaW5lIHBwbF9Db25zdHJhaW50X1N5c3RlbV9jb25zdF9pdGVyYXRv cl9pbmNyZW1lbnQgKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX0NvbnN0cmFpbnRfU3lzdGVtX2Nv bnN0X2l0ZXJhdG9yX2luY3JlbWVudCkKKysjZGVmaW5lIHBwbF9Db25zdHJhaW50X1N5c3RlbV9l bmQgKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX0NvbnN0cmFpbnRfU3lzdGVtX2VuZCkKKysjZGVm aW5lIHBwbF9Db25zdHJhaW50X1N5c3RlbV9pbnNlcnRfQ29uc3RyYWludCAoKmNsb29nX3BvaW50 ZXJzX18ucF9wcGxfQ29uc3RyYWludF9TeXN0ZW1faW5zZXJ0X0NvbnN0cmFpbnQpCisrI2RlZmlu ZSBwcGxfQ29uc3RyYWludF9TeXN0ZW1fc3BhY2VfZGltZW5zaW9uICgqY2xvb2dfcG9pbnRlcnNf Xy5wX3BwbF9Db25zdHJhaW50X1N5c3RlbV9zcGFjZV9kaW1lbnNpb24pCisrI2RlZmluZSBwcGxf Q29uc3RyYWludF90eXBlICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9Db25zdHJhaW50X3R5cGUp CisrI2RlZmluZSBwcGxfZGVsZXRlX0NvZWZmaWNpZW50ICgqY2xvb2dfcG9pbnRlcnNfXy5wX3Bw bF9kZWxldGVfQ29lZmZpY2llbnQpCisrI2RlZmluZSBwcGxfZGVsZXRlX0NvbnN0cmFpbnQgKCpj bG9vZ19wb2ludGVyc19fLnBfcHBsX2RlbGV0ZV9Db25zdHJhaW50KQorKyNkZWZpbmUgcHBsX2Rl bGV0ZV9Db25zdHJhaW50X1N5c3RlbV9jb25zdF9pdGVyYXRvciAoKmNsb29nX3BvaW50ZXJzX18u cF9wcGxfZGVsZXRlX0NvbnN0cmFpbnRfU3lzdGVtX2NvbnN0X2l0ZXJhdG9yKQorKyNkZWZpbmUg cHBsX2RlbGV0ZV9MaW5lYXJfRXhwcmVzc2lvbiAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfZGVs ZXRlX0xpbmVhcl9FeHByZXNzaW9uKQorKyNkZWZpbmUgcHBsX2RlbGV0ZV9Qb2ludHNldF9Qb3dl cnNldF9DX1BvbHloZWRyb24gKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX2RlbGV0ZV9Qb2ludHNl dF9Qb3dlcnNldF9DX1BvbHloZWRyb24pCisrI2RlZmluZSBwcGxfZGVsZXRlX1BvaW50c2V0X1Bv d2Vyc2V0X0NfUG9seWhlZHJvbl9pdGVyYXRvciAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfZGVs ZXRlX1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9pdGVyYXRvcikKKysjZGVmaW5lIHBw bF9kZWxldGVfUG9seWhlZHJvbiAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfZGVsZXRlX1BvbHlo ZWRyb24pCisrI2RlZmluZSBwcGxfTGluZWFyX0V4cHJlc3Npb25fYWRkX3RvX2NvZWZmaWNpZW50 ICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9MaW5lYXJfRXhwcmVzc2lvbl9hZGRfdG9fY29lZmZp Y2llbnQpCisrI2RlZmluZSBwcGxfTGluZWFyX0V4cHJlc3Npb25fYWRkX3RvX2luaG9tb2dlbmVv dXMgKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX0xpbmVhcl9FeHByZXNzaW9uX2FkZF90b19pbmhv bW9nZW5lb3VzKQorKyNkZWZpbmUgcHBsX0xpbmVhcl9FeHByZXNzaW9uX2NvZWZmaWNpZW50ICgq Y2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9MaW5lYXJfRXhwcmVzc2lvbl9jb2VmZmljaWVudCkKKysj ZGVmaW5lIHBwbF9MaW5lYXJfRXhwcmVzc2lvbl9pbmhvbW9nZW5lb3VzX3Rlcm0gKCpjbG9vZ19w b2ludGVyc19fLnBfcHBsX0xpbmVhcl9FeHByZXNzaW9uX2luaG9tb2dlbmVvdXNfdGVybSkKKysj ZGVmaW5lIHBwbF9MaW5lYXJfRXhwcmVzc2lvbl9zcGFjZV9kaW1lbnNpb24gKCpjbG9vZ19wb2lu dGVyc19fLnBfcHBsX0xpbmVhcl9FeHByZXNzaW9uX3NwYWNlX2RpbWVuc2lvbikKKysjZGVmaW5l IHBwbF9uZXdfQ29lZmZpY2llbnQgKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX25ld19Db2VmZmlj aWVudCkKKysjZGVmaW5lIHBwbF9uZXdfQ29lZmZpY2llbnRfZnJvbV9tcHpfdCAoKmNsb29nX3Bv aW50ZXJzX18ucF9wcGxfbmV3X0NvZWZmaWNpZW50X2Zyb21fbXB6X3QpCisrI2RlZmluZSBwcGxf bmV3X0NvbnN0cmFpbnQgKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX25ld19Db25zdHJhaW50KQor KyNkZWZpbmUgcHBsX25ld19Db25zdHJhaW50X1N5c3RlbSAoKmNsb29nX3BvaW50ZXJzX18ucF9w cGxfbmV3X0NvbnN0cmFpbnRfU3lzdGVtKQorKyNkZWZpbmUgcHBsX25ld19Db25zdHJhaW50X1N5 c3RlbV9jb25zdF9pdGVyYXRvciAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfbmV3X0NvbnN0cmFp bnRfU3lzdGVtX2NvbnN0X2l0ZXJhdG9yKQorKyNkZWZpbmUgcHBsX25ld19DX1BvbHloZWRyb25f ZnJvbV9DX1BvbHloZWRyb24gKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX25ld19DX1BvbHloZWRy b25fZnJvbV9DX1BvbHloZWRyb24pCisrI2RlZmluZSBwcGxfbmV3X0NfUG9seWhlZHJvbl9mcm9t X3NwYWNlX2RpbWVuc2lvbiAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfbmV3X0NfUG9seWhlZHJv bl9mcm9tX3NwYWNlX2RpbWVuc2lvbikKKysjZGVmaW5lIHBwbF9uZXdfQ19Qb2x5aGVkcm9uX3Jl Y3ljbGVfQ29uc3RyYWludF9TeXN0ZW0gKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX25ld19DX1Bv bHloZWRyb25fcmVjeWNsZV9Db25zdHJhaW50X1N5c3RlbSkKKysjZGVmaW5lIHBwbF9uZXdfTGlu ZWFyX0V4cHJlc3Npb24gKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX25ld19MaW5lYXJfRXhwcmVz c2lvbikKKysjZGVmaW5lIHBwbF9uZXdfTGluZWFyX0V4cHJlc3Npb25fZnJvbV9Db25zdHJhaW50 ICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9uZXdfTGluZWFyX0V4cHJlc3Npb25fZnJvbV9Db25z dHJhaW50KQorKyNkZWZpbmUgcHBsX25ld19MaW5lYXJfRXhwcmVzc2lvbl9mcm9tX0xpbmVhcl9F eHByZXNzaW9uICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9uZXdfTGluZWFyX0V4cHJlc3Npb25f ZnJvbV9MaW5lYXJfRXhwcmVzc2lvbikKKysjZGVmaW5lIHBwbF9uZXdfTGluZWFyX0V4cHJlc3Np b25fd2l0aF9kaW1lbnNpb24gKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX25ld19MaW5lYXJfRXhw cmVzc2lvbl93aXRoX2RpbWVuc2lvbikKKysjZGVmaW5lIHBwbF9uZXdfUG9pbnRzZXRfUG93ZXJz ZXRfQ19Qb2x5aGVkcm9uX2Zyb21fQ19Qb2x5aGVkcm9uICgqY2xvb2dfcG9pbnRlcnNfXy5wX3Bw bF9uZXdfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2Zyb21fQ19Qb2x5aGVkcm9uKQor KyNkZWZpbmUgcHBsX25ld19Qb2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25fZnJvbV9Qb2lu dHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb24gKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX25ld19Q b2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25fZnJvbV9Qb2ludHNldF9Qb3dlcnNldF9DX1Bv bHloZWRyb24pCisrI2RlZmluZSBwcGxfbmV3X1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJv bl9mcm9tX3NwYWNlX2RpbWVuc2lvbiAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfbmV3X1BvaW50 c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9mcm9tX3NwYWNlX2RpbWVuc2lvbikKKysjZGVmaW5l IHBwbF9uZXdfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2l0ZXJhdG9yICgqY2xvb2df cG9pbnRlcnNfXy5wX3BwbF9uZXdfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2l0ZXJh dG9yKQorKyNkZWZpbmUgcHBsX1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9hZGRfY29u c3RyYWludCAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5 aGVkcm9uX2FkZF9jb25zdHJhaW50KQorKyNkZWZpbmUgcHBsX1BvaW50c2V0X1Bvd2Vyc2V0X0Nf UG9seWhlZHJvbl9hZGRfc3BhY2VfZGltZW5zaW9uc19hbmRfZW1iZWQgKCpjbG9vZ19wb2ludGVy c19fLnBfcHBsX1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9hZGRfc3BhY2VfZGltZW5z aW9uc19hbmRfZW1iZWQpCisrI2RlZmluZSBwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVk cm9uX2RpZmZlcmVuY2VfYXNzaWduICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9Qb2ludHNldF9Q b3dlcnNldF9DX1BvbHloZWRyb25fZGlmZmVyZW5jZV9hc3NpZ24pCisrI2RlZmluZSBwcGxfUG9p bnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2ludGVyc2VjdGlvbl9hc3NpZ24gKCpjbG9vZ19w b2ludGVyc19fLnBfcHBsX1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9pbnRlcnNlY3Rp b25fYXNzaWduKQorKyNkZWZpbmUgcHBsX1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9p c19lbXB0eSAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5 aGVkcm9uX2lzX2VtcHR5KQorKyNkZWZpbmUgcHBsX1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhl ZHJvbl9pdGVyYXRvcl9iZWdpbiAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfUG9pbnRzZXRfUG93 ZXJzZXRfQ19Qb2x5aGVkcm9uX2l0ZXJhdG9yX2JlZ2luKQorKyNkZWZpbmUgcHBsX1BvaW50c2V0 X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9pdGVyYXRvcl9kZXJlZmVyZW5jZSAoKmNsb29nX3BvaW50 ZXJzX18ucF9wcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX2l0ZXJhdG9yX2RlcmVm ZXJlbmNlKQorKyNkZWZpbmUgcHBsX1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9pdGVy YXRvcl9lbmQgKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9s eWhlZHJvbl9pdGVyYXRvcl9lbmQpCisrI2RlZmluZSBwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Q b2x5aGVkcm9uX2l0ZXJhdG9yX2VxdWFsX3Rlc3QgKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX1Bv aW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9pdGVyYXRvcl9lcXVhbF90ZXN0KQorKyNkZWZp bmUgcHBsX1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9pdGVyYXRvcl9pbmNyZW1lbnQg KCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9p dGVyYXRvcl9pbmNyZW1lbnQpCisrI2RlZmluZSBwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5 aGVkcm9uX21hcF9zcGFjZV9kaW1lbnNpb25zICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9Qb2lu dHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25fbWFwX3NwYWNlX2RpbWVuc2lvbnMpCisrI2RlZmlu ZSBwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX21heGltaXplICgqY2xvb2dfcG9p bnRlcnNfXy5wX3BwbF9Qb2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25fbWF4aW1pemUpCisr I2RlZmluZSBwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX21pbmltaXplICgqY2xv b2dfcG9pbnRlcnNfXy5wX3BwbF9Qb2ludHNldF9Qb3dlcnNldF9DX1BvbHloZWRyb25fbWluaW1p emUpCisrI2RlZmluZSBwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX3JlbW92ZV9z cGFjZV9kaW1lbnNpb25zICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9Qb2ludHNldF9Qb3dlcnNl dF9DX1BvbHloZWRyb25fcmVtb3ZlX3NwYWNlX2RpbWVuc2lvbnMpCisrI2RlZmluZSBwcGxfUG9p bnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX3NpemUgKCpjbG9vZ19wb2ludGVyc19fLnBfcHBs X1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9zaXplKQorKyNkZWZpbmUgcHBsX1BvaW50 c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9zcGFjZV9kaW1lbnNpb24gKCpjbG9vZ19wb2ludGVy c19fLnBfcHBsX1BvaW50c2V0X1Bvd2Vyc2V0X0NfUG9seWhlZHJvbl9zcGFjZV9kaW1lbnNpb24p CisrI2RlZmluZSBwcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5aGVkcm9uX3VwcGVyX2JvdW5k X2Fzc2lnbiAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfUG9pbnRzZXRfUG93ZXJzZXRfQ19Qb2x5 aGVkcm9uX3VwcGVyX2JvdW5kX2Fzc2lnbikKKysjZGVmaW5lIHBwbF9Qb2x5aGVkcm9uX2FkZF9j b25zdHJhaW50ICgqY2xvb2dfcG9pbnRlcnNfXy5wX3BwbF9Qb2x5aGVkcm9uX2FkZF9jb25zdHJh aW50KQorKyNkZWZpbmUgcHBsX1BvbHloZWRyb25fYWRkX2NvbnN0cmFpbnRzICgqY2xvb2dfcG9p bnRlcnNfXy5wX3BwbF9Qb2x5aGVkcm9uX2FkZF9jb25zdHJhaW50cykKKysjZGVmaW5lIHBwbF9Q b2x5aGVkcm9uX2FkZF9zcGFjZV9kaW1lbnNpb25zX2FuZF9lbWJlZCAoKmNsb29nX3BvaW50ZXJz X18ucF9wcGxfUG9seWhlZHJvbl9hZGRfc3BhY2VfZGltZW5zaW9uc19hbmRfZW1iZWQpCisrI2Rl ZmluZSBwcGxfUG9seWhlZHJvbl9nZXRfY29uc3RyYWludHMgKCpjbG9vZ19wb2ludGVyc19fLnBf cHBsX1BvbHloZWRyb25fZ2V0X2NvbnN0cmFpbnRzKQorKyNkZWZpbmUgcHBsX1BvbHloZWRyb25f bWFwX3NwYWNlX2RpbWVuc2lvbnMgKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX1BvbHloZWRyb25f bWFwX3NwYWNlX2RpbWVuc2lvbnMpCisrI2RlZmluZSBwcGxfUG9seWhlZHJvbl9yZW1vdmVfc3Bh Y2VfZGltZW5zaW9ucyAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfUG9seWhlZHJvbl9yZW1vdmVf c3BhY2VfZGltZW5zaW9ucykKKysjZGVmaW5lIHBwbF9Qb2x5aGVkcm9uX3NwYWNlX2RpbWVuc2lv biAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfUG9seWhlZHJvbl9zcGFjZV9kaW1lbnNpb24pCisr I2RlZmluZSBwcGxfc3VidHJhY3RfTGluZWFyX0V4cHJlc3Npb25fZnJvbV9MaW5lYXJfRXhwcmVz c2lvbiAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfc3VidHJhY3RfTGluZWFyX0V4cHJlc3Npb25f ZnJvbV9MaW5lYXJfRXhwcmVzc2lvbikKKysjZGVmaW5lIHBwcmludCAoKmNsb29nX3BvaW50ZXJz X18ucF9wcHJpbnQpCisrI2RlZmluZSBzdG10X2Jsb2NrICgqY2xvb2dfcG9pbnRlcnNfXy5wX3N0 bXRfYmxvY2spCisrI2RlZmluZSBzdG10X2ZvciAoKmNsb29nX3BvaW50ZXJzX18ucF9zdG10X2Zv cikKKysjZGVmaW5lIHN0bXRfZ3VhcmQgKCpjbG9vZ19wb2ludGVyc19fLnBfc3RtdF9ndWFyZCkK KysjZGVmaW5lIHN0bXRfcm9vdCAoKmNsb29nX3BvaW50ZXJzX18ucF9zdG10X3Jvb3QpCisrI2Rl ZmluZSBzdG10X3VzZXIgKCpjbG9vZ19wb2ludGVyc19fLnBfc3RtdF91c2VyKQorKyNkZWZpbmUg cHBsX2RlbGV0ZV9Db25zdHJhaW50X1N5c3RlbSAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfZGVs ZXRlX0NvbnN0cmFpbnRfU3lzdGVtKQorKyNkZWZpbmUgcHBsX2luaXRpYWxpemUgKCpjbG9vZ19w b2ludGVyc19fLnBfcHBsX2luaXRpYWxpemUpCisrI2RlZmluZSBwcGxfbmV3X0NvbnN0cmFpbnRf U3lzdGVtX2Zyb21fQ29uc3RyYWludCAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfbmV3X0NvbnN0 cmFpbnRfU3lzdGVtX2Zyb21fQ29uc3RyYWludCkKKysjZGVmaW5lIHBwbF9uZXdfQ19Qb2x5aGVk cm9uX2Zyb21fQ29uc3RyYWludF9TeXN0ZW0gKCpjbG9vZ19wb2ludGVyc19fLnBfcHBsX25ld19D X1BvbHloZWRyb25fZnJvbV9Db25zdHJhaW50X1N5c3RlbSkKKysjZGVmaW5lIHBwbF9Qb2x5aGVk cm9uX2FmZmluZV9pbWFnZSAoKmNsb29nX3BvaW50ZXJzX18ucF9wcGxfUG9seWhlZHJvbl9hZmZp bmVfaW1hZ2UpCisrCisrI2RlZmluZSBjbG9vZ19maW5hbGl6ZSAoKmNsb29nX3BvaW50ZXJzX18u cF9wcGxfZmluYWxpemUpCisrCisrCisgI2VuZGlmIC8qIEdSQVBISVRFX0NMT09HX0NPTVBBVF9I ICAqLworLS0tIGdjYy9ncmFwaGl0ZS5jLmpqCTIwMTEtMDEtMDMgMTI6NTM6MDUuMTk0MDU2NTEz ICswMTAwCisrKysgZ2NjL2dyYXBoaXRlLmMJMjAxMS0wMS0wNCAxNjoxODozMi4zODUwMDc3Njcg KzAxMDAKK0BAIC01NCw2ICs1NCwzNSBAQCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENP UFlJTkczLiAgCisgI2luY2x1ZGUgImdyYXBoaXRlLWNsYXN0LXRvLWdpbXBsZS5oIgorICNpbmNs dWRlICJncmFwaGl0ZS1zZXNlLXRvLXBvbHkuaCIKKyAKKytfX3R5cGVvZiAoY2xvb2dfcG9pbnRl cnNfXykgY2xvb2dfcG9pbnRlcnNfXzsKKysKKytzdGF0aWMgYm9vbAorK2luaXRfY2xvb2dfcG9p bnRlcnMgKHZvaWQpCisreworKyAgdm9pZCAqaDsKKysKKysgIGlmIChjbG9vZ19wb2ludGVyc19f LmluaXRlZCkKKysgICAgcmV0dXJuIGNsb29nX3BvaW50ZXJzX18uaCAhPSBOVUxMOworKyAgaCA9 IGRsb3BlbiAoImxpYmNsb29nLnNvLjAiLCBSVExEX0xBWlkpOworKyAgY2xvb2dfcG9pbnRlcnNf Xy5oID0gaDsKKysgIGlmIChoID09IE5VTEwpCisrICAgIHJldHVybiBmYWxzZTsKKysjZGVmaW5l IERZTlNZTSh4KSBcCisrICBkbyBcCisrICAgIHsgXAorKyAgICAgIHVuaW9uIHsgX190eXBlb2Yg KGNsb29nX3BvaW50ZXJzX18ucF8jI3gpIHA7IHZvaWQgKnE7IH0gdTsgXAorKyAgICAgIHUucSA9 IGRsc3ltIChoLCAjeCk7IFwKKysgICAgICBpZiAodS5xID09IE5VTEwpIFwKKysJcmV0dXJuIGZh bHNlOyBcCisrICAgICAgY2xvb2dfcG9pbnRlcnNfXy5wXyMjeCA9IHUucDsgXAorKyAgICB9IFwK KysgIHdoaWxlICgwKQorKyAgRFlOU1lNUworKyN1bmRlZiBEWU5TWU0KKysgIHJldHVybiB0cnVl OworK30KKysKKysKKyAvKiBQcmludCBnbG9iYWwgc3RhdGlzdGljcyB0byBGSUxFLiAgKi8KKyAK KyBzdGF0aWMgdm9pZAorQEAgLTE5OSw2ICsyMjgsMTIgQEAgZ3JhcGhpdGVfaW5pdGlhbGl6ZSAo dm9pZCkKKyAgICAgICByZXR1cm4gZmFsc2U7CisgICAgIH0KKyAKKysgIGlmICghaW5pdF9jbG9v Z19wb2ludGVycyAoKSkKKysgICAgeworKyAgICAgIHNvcnJ5ICgiR3JhcGhpdGUgbG9vcCBvcHRp bWl6YXRpb25zIGNhbm5vdCBiZSB1c2VkIik7CisrICAgICAgcmV0dXJuIGZhbHNlOworKyAgICB9 CisrCisgICBzY2V2X3Jlc2V0ICgpOworICAgcmVjb21wdXRlX2FsbF9kb21pbmF0b3JzICgpOwor ICAgaW5pdGlhbGl6ZV9vcmlnaW5hbF9jb3B5X3RhYmxlcyAoKTsKKy0tLSBnY2MvZ3JhcGhpdGUt Y2xhc3QtdG8tZ2ltcGxlLmMuamoJMjAxMS0wMS0wMyAxMjo1MzowNS4wMDAwMDAwMDAgKzAxMDAK KysrKyBnY2MvZ3JhcGhpdGUtY2xhc3QtdG8tZ2ltcGxlLmMJMjAxMS0wMS0wNCAxNjoyOTo1NS43 MzgwMDc0NjMgKzAxMDAKK0BAIC03MzgsMTAgKzczOCwxMCBAQCBjbGFzdF9nZXRfYm9keV9vZl9s b29wIChzdHJ1Y3QgY2xhc3Rfc3RtCisgICAgZnJvbSBTVE1UX0ZPUi4gICovCisgCisgc3RhdGlj IHRyZWUKKy1nY2NfdHlwZV9mb3JfaXZfb2ZfY2xhc3RfbG9vcCAoc3RydWN0IGNsYXN0X2ZvciAq c3RtdF9mb3IsIGludCBsZXZlbCwKKytnY2NfdHlwZV9mb3JfaXZfb2ZfY2xhc3RfbG9vcCAoc3Ry dWN0IGNsYXN0X2ZvciAqc3RtdF9mb3JhLCBpbnQgbGV2ZWwsCisgCQkJICAgICAgIHRyZWUgbGJf dHlwZSwgdHJlZSB1Yl90eXBlKQorIHsKKy0gIHN0cnVjdCBjbGFzdF9zdG10ICpzdG10ID0gKHN0 cnVjdCBjbGFzdF9zdG10ICopIHN0bXRfZm9yOworKyAgc3RydWN0IGNsYXN0X3N0bXQgKnN0bXQg PSAoc3RydWN0IGNsYXN0X3N0bXQgKikgc3RtdF9mb3JhOworICAgc3RydWN0IGNsYXN0X3VzZXJf c3RtdCAqYm9keSA9IGNsYXN0X2dldF9ib2R5X29mX2xvb3AgKHN0bXQpOworICAgQ2xvb2dTdGF0 ZW1lbnQgKmNzID0gYm9keS0+c3RhdGVtZW50OworICAgcG9seV9iYl9wIHBiYiA9IChwb2x5X2Ji X3ApIGNsb29nX3N0YXRlbWVudF91c3IgKGNzKTsKKy0tLSBnY2MvZ3JhcGhpdGUtcG9seS5oLmpq CTIwMTEtMDEtMDMgMTI6NTM6MDUuMDAwMDAwMDAwICswMTAwCisrKysgZ2NjL2dyYXBoaXRlLXBv bHkuaAkyMDExLTAxLTA0IDE3OjM1OjUzLjMwODc4ODYyOSArMDEwMAorQEAgLTIyLDYgKzIyLDgg QEAgYWxvbmcgd2l0aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4gIAorICNpZm5kZWYgR0ND X0dSQVBISVRFX1BPTFlfSAorICNkZWZpbmUgR0NDX0dSQVBISVRFX1BPTFlfSAorIAorKyNpbmNs dWRlICJncmFwaGl0ZS1jbG9vZy11dGlsLmgiCisrCisgdHlwZWRlZiBzdHJ1Y3QgcG9seV9kciAq cG9seV9kcl9wOworIERFRl9WRUNfUChwb2x5X2RyX3ApOworIERFRl9WRUNfQUxMT0NfUCAocG9s eV9kcl9wLCBoZWFwKTsKCmRpZmYgLS1naXQgYS9nY2M0Ni1oYWNrLnBhdGNoIGIvZ2NjNDYtaGFj ay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Njg5Y2U4Ci0tLSAv ZGV2L251bGwKKysrIGIvZ2NjNDYtaGFjay5wYXRjaApAQCAtMCwwICsxLDExNCBAQAorLS0tIGxp YmFkYS9NYWtlZmlsZS5pbi5qagkyMDA5LTAxLTE0IDEyOjA3OjM1LjAwMDAwMDAwMCArMDEwMAor KysrIGxpYmFkYS9NYWtlZmlsZS5pbgkyMDA5LTAxLTE1IDE0OjI1OjMzLjAwMDAwMDAwMCArMDEw MAorQEAgLTY5LDE4ICs2OSw0MCBAQCB2ZXJzaW9uIDo9ICQoc2hlbGwgY2F0ICQoc3JjZGlyKS8u Li9nY2MvCisgbGlic3ViZGlyIDo9ICQobGliZGlyKS9nY2MvJCh0YXJnZXRfbm9uY2Fub25pY2Fs KS8kKHZlcnNpb24pJChNVUxUSVNVQkRJUikKKyBBREFfUlRTX0RJUj0kKEdDQ19ESVIpL2FkYS9y dHMkKHN1YnN0IC8sXywkKE1VTFRJU1VCRElSKSkKKyAKKytERUZBVUxUTVVMVElGTEFHUyA6PQor K2lmZXEgKCQoTVVMVElTVUJESVIpLCkKKyt0YXJnOj0kKHN1YnN0IC0sICwkKHRhcmdldCkpCisr YXJjaDo9JCh3b3JkIDEsJCh0YXJnKSkKKytpZmVxICgkKHdvcmRzICQodGFyZykpLDIpCisrb3N5 czo9JCh3b3JkIDIsJCh0YXJnKSkKKytlbHNlCisrb3N5czo9JCh3b3JkIDMsJCh0YXJnKSkKKytl bmRpZgorK2lmZXEgKCQoc3RyaXAgJChmaWx0ZXItb3V0IGklODYgeDg2XzY0IHBvd2VycGMlIHBw YyUgczM5MCUgc3BhcmMlIGxpbnV4JSwgJChhcmNoKSAkKG9zeXMpKSksKQorK2lmZXEgKCQoc2hl bGwgJChDQykgJChDRkxBR1MpIC1wcmludC1tdWx0aS1vcy1kaXJlY3RvcnkpLC4uL2xpYjY0KQor K0RFRkFVTFRNVUxUSUZMQUdTIDo9IC1tNjQKKytlbHNlCisraWZlcSAoJChzdHJpcCAkKGZpbHRl ci1vdXQgczM5MCUsICQoYXJjaCkpKSwpCisrREVGQVVMVE1VTFRJRkxBR1MgOj0gLW0zMQorK2Vs c2UKKytERUZBVUxUTVVMVElGTEFHUyA6PSAtbTMyCisrZW5kaWYKKytlbmRpZgorK2VuZGlmCisr ZW5kaWYKKysKKyAjIGV4ZWV4dCBzaG91bGQgbm90IGJlIHVzZWQgYmVjYXVzZSBpdCdzIHRoZSAq aG9zdCogZXhlZXh0LiAgV2UncmUgYnVpbGRpbmcKKyAjIGEgKnRhcmdldCogbGlicmFyeSwgYXJl bid0IHdlPyE/ICBMaWtld2lzZSBmb3IgQ0MuICBTdGlsbCwgcHJvdmlkZSBib2d1cworICMgZGVm aW5pdGlvbnMganVzdCBpbiBjYXNlIHNvbWV0aGluZyBzbGlwcyB0aHJvdWdoIHRoZSBzYWZldHkg bmV0IHByb3ZpZGVkCisgIyBieSByZWN1cnNpdmUgbWFrZSBpbnZvY2F0aW9ucyBpbiBnY2MvYWRh L01ha2VmaWxlLmluCisgTElCQURBX0ZMQUdTX1RPX1BBU1MgPSBcCisgICAgICAgICAiTUFLRU9W RVJSSURFUz0iIFwKKy0gICAgICAgICJMREZMQUdTPSQoTERGTEFHUykiIFwKKysgICAgICAgICJM REZMQUdTPSQoc3RyaXAgJChMREZMQUdTKSAkKERFRkFVTFRNVUxUSUZMQUdTKSkiIFwKKyAgICAg ICAgICJMTl9TPSQoTE5fUykiIFwKKyAgICAgICAgICJTSEVMTD0kKFNIRUxMKSIgXAorLSAgICAg ICAgIkdOQVRMSUJGTEFHUz0kKEdOQVRMSUJGTEFHUykgJChNVUxUSUZMQUdTKSIgXAorLSAgICAg ICAgIkdOQVRMSUJDRkxBR1M9JChHTkFUTElCQ0ZMQUdTKSAkKE1VTFRJRkxBR1MpIiBcCistICAg ICAgICAiR05BVExJQkNGTEFHU19GT1JfQz0kKEdOQVRMSUJDRkxBR1NfRk9SX0MpICQoTVVMVElG TEFHUykiIFwKKysgICAgICAgICJHTkFUTElCRkxBR1M9JChzdHJpcCAkKEdOQVRMSUJGTEFHUykg JChNVUxUSUZMQUdTKSAkKERFRkFVTFRNVUxUSUZMQUdTKSkiIFwKKysgICAgICAgICJHTkFUTElC Q0ZMQUdTPSQoc3RyaXAgJChHTkFUTElCQ0ZMQUdTKSAkKE1VTFRJRkxBR1MpICQoREVGQVVMVE1V TFRJRkxBR1MpKSIgXAorKyAgICAgICAgIkdOQVRMSUJDRkxBR1NfRk9SX0M9JChzdHJpcCAkKEdO QVRMSUJDRkxBR1NfRk9SX0MpICQoTVVMVElGTEFHUykgJChERUZBVUxUTVVMVElGTEFHUykpIiBc CisgICAgICAgICAiVEFSR0VUX0xJQkdDQzJfQ0ZMQUdTPSQoVEFSR0VUX0xJQkdDQzJfQ0ZMQUdT KSIgXAorICAgICAgICAgIlRIUkVBRF9LSU5EPSQoVEhSRUFEX0tJTkQpIiBcCisgICAgICAgICAi VFJBQ0U9JChUUkFDRSkiIFwKK0BAIC05MSw3ICsxMTMsNyBAQCBMSUJBREFfRkxBR1NfVE9fUEFT UyA9IFwKKyAgICAgICAgICJleGVleHQ9LmV4ZWV4dC5zaG91bGQubm90LmJlLnVzZWQgIiBcCisg CSdDQz10aGUuaG9zdC5jb21waWxlci5zaG91bGQubm90LmJlLm5lZWRlZCcgXAorIAkiR0NDX0ZP Ul9UQVJHRVQ9JChDQykiIFwKKy0gICAgICAgICJDRkxBR1M9JChDRkxBR1MpICQoV0FSTl9DRkxB R1MpIgorKyAgICAgICAgIkNGTEFHUz0kKHN0cmlwICQoQ0ZMQUdTKSAkKERFRkFVTFRNVUxUSUZM QUdTKSAkKFdBUk5fQ0ZMQUdTKSkiCisgCisgIyBSdWxlcyB0byBidWlsZCBnbmF0bGliLgorIC5Q SE9OWTogZ25hdGxpYiBnbmF0bGliLXBsYWluIGduYXRsaWItc2psaiBnbmF0bGliLXpjeCBnbmF0 bGliLXNoYXJlZCBvc2NvbnMKKy0tLSBnY2MvYWRhL3NlbV91dGlsLmFkYgkocmV2aXNpb24gMTYx Njc3KQorKysrIGdjYy9hZGEvc2VtX3V0aWwuYWRiCSh3b3JraW5nIGNvcHkpCitAQCAtMjI0Niw3 ICsyMjQ2LDExIEBACisgICAgICAgICAgZW5kIGlmOworIAorICAgICAgIGVsc2lmIElzX0VudGl0 eV9OYW1lIChBMikgdGhlbgorKworKyAgICAgICAgIC0tICBUcmlnZ2VyZWQgYnkgLVdhbGwKKysg ICAgICAgICBwcmFnbWEgV2FybmluZ3MgKE9mZik7CisgICAgICAgICAgcmV0dXJuIERlbm90ZXNf U2FtZV9QcmVmaXggKEEyLCBBMSk7CisrICAgICAgICAgcHJhZ21hIFdhcm5pbmdzIChPbik7Cisg CisgICAgICAgZWxzaWYgTmtpbmRfSW4gKEExLCBOX1NlbGVjdGVkX0NvbXBvbmVudCwgTl9JbmRl eGVkX0NvbXBvbmVudCwgTl9TbGljZSkKKyAgICAgICAgICAgICAgIGFuZCB0aGVuCitAQCAtNDY5 NCw3ICs0Njk4LDcgQEAKKyAgICAgICAgICAgICBFeHAgICAgICAgICAgIDogTm9kZV9JZDsKKyAg ICAgICAgICAgICBBc3NuICAgICAgICAgIDogTm9kZV9JZDsKKyAgICAgICAgICAgICBDaG9pY2Ug ICAgICAgIDogTm9kZV9JZDsKKy0gICAgICAgICAgICBDb21wX1R5cGUgICAgIDogRW50aXR5X0lk OworKyAgICAgICAgICAgIENvbXBfVHlwZSAgICAgOiBFbnRpdHlfSWQgOj0gRW1wdHk7CisgICAg ICAgICAgICAgSXNfQXJyYXlfQWdnciA6IEJvb2xlYW47CisgCisgICAgICAgICAgYmVnaW4KKy0t LSBjb25maWctbWwuaW4uamoJMjAxMC0wNi0zMCAwOTo1MDo0NC4wMDAwMDAwMDAgKzAyMDAKKysr KyBjb25maWctbWwuaW4JMjAxMC0wNy0wMiAyMToyNDoxNy45OTQyMTExNTEgKzAyMDAKK0BAIC01 MTYsNiArNTE2LDggQEAgbXVsdGktZG86CisgCQkJCUFEQUZMQUdTPSIkKEFEQUZMQUdTKSAkJHtm bGFnc30iIFwKKyAJCQkJcHJlZml4PSIkKHByZWZpeCkiIFwKKyAJCQkJZXhlY19wcmVmaXg9IiQo ZXhlY19wcmVmaXgpIiBcCisrCQkJCW1hbmRpcj0iJChtYW5kaXIpIiBcCisrCQkJCWluZm9kaXI9 IiQoaW5mb2RpcikiIFwKKyAJCQkJR0NKRkxBR1M9IiQoR0NKRkxBR1MpICQke2ZsYWdzfSIgXAor IAkJCQlHT0NGTEFHUz0iJChHT0NGTEFHUykgJCR7ZmxhZ3N9IiBcCisgCQkJCUNYWEZMQUdTPSIk KENYWEZMQUdTKSAkJHtmbGFnc30iIFwKKy0tLSBsaWJqYXZhL01ha2VmaWxlLmFtLmpqCTIwMTAt MDctMDkgMTE6MTc6MzMuNzI5NjA0MDkwICswMjAwCisrKysgbGliamF2YS9NYWtlZmlsZS5hbQky MDEwLTA3LTA5IDEzOjE2OjQxLjg5NDM3NTY0MSArMDIwMAorQEAgLTcxMCw3ICs3MTAsOCBAQCBp ZiBVU0VfTElCR0NKX0JDCisgIyMgbGF0ZXIuCisgCUBlY2hvIEluc3RhbGxpbmcgZHVtbXkgbGli IGxpYmdjal9iYy5zby4xLjAuMDsgXAorIAlybSAkKERFU1RESVIpJCh0b29sZXhlY2xpYmRpcikv bGliZ2NqX2JjLnNvOyBcCistCW12ICQoREVTVERJUikkKHRvb2xleGVjbGliZGlyKS9saWJnY2pf YmMuc28uMS4wLjAgJChERVNURElSKSQodG9vbGV4ZWNsaWJkaXIpL2xpYmdjal9iYy5zbzsgXAor KwkkKElOU1RBTEwpICQoSU5TVEFMTF9TVFJJUF9GTEFHKSAkKGhlcmUpLy5saWJzL2xpYmdjal9i Yy5zbyAkKERFU1RESVIpJCh0b29sZXhlY2xpYmRpcikvbGliZ2NqX2JjLnNvOyBcCisrCXJtICQo REVTVERJUikkKHRvb2xleGVjbGliZGlyKS9saWJnY2pfYmMuc28uMS4wLjA7IFwKKyAJJChsaWJn Y2pfYmNfZHVtbXlfTElOSykgLXhjIC9kZXYvbnVsbCAtV2wsLXNvbmFtZSxsaWJnY2pfYmMuc28u MSBcCisgCS1vICQoREVTVERJUikkKHRvb2xleGVjbGliZGlyKS9saWJnY2pfYmMuc28uMS4wLjAg LWxnY2ogfHwgZXhpdDsgXAorIAlybSAkKERFU1RESVIpJCh0b29sZXhlY2xpYmRpcikvbGliZ2Nq X2JjLnNvLjE7IFwKKy0tLSBsaWJqYXZhL01ha2VmaWxlLmluLmpqCTIwMTAtMDctMDkgMTE6MTc6 MzQuMDAwMDAwMDAwICswMjAwCisrKysgbGliamF2YS9NYWtlZmlsZS5pbgkyMDEwLTA3LTA5IDEz OjE4OjA3LjU0MjU3MjI3MCArMDIwMAorQEAgLTEyNjY1LDcgKzEyNjY1LDggQEAgaW5zdGFsbC1l eGVjLWhvb2s6IGluc3RhbGwtYmluUFJPR1JBTVMgaQorIAlpbnN0YWxsLWxpYmV4ZWNzdWJQUk9H UkFNUworIEBVU0VfTElCR0NKX0JDX1RSVUVACUBlY2hvIEluc3RhbGxpbmcgZHVtbXkgbGliIGxp Ymdjal9iYy5zby4xLjAuMDsgXAorIEBVU0VfTElCR0NKX0JDX1RSVUVACXJtICQoREVTVERJUikk KHRvb2xleGVjbGliZGlyKS9saWJnY2pfYmMuc287IFwKKy1AVVNFX0xJQkdDSl9CQ19UUlVFQAlt diAkKERFU1RESVIpJCh0b29sZXhlY2xpYmRpcikvbGliZ2NqX2JjLnNvLjEuMC4wICQoREVTVERJ UikkKHRvb2xleGVjbGliZGlyKS9saWJnY2pfYmMuc287IFwKKytAVVNFX0xJQkdDSl9CQ19UUlVF QAkkKElOU1RBTEwpICQoSU5TVEFMTF9TVFJJUF9GTEFHKSAkKGhlcmUpLy5saWJzL2xpYmdjal9i Yy5zbyAkKERFU1RESVIpJCh0b29sZXhlY2xpYmRpcikvbGliZ2NqX2JjLnNvOyBcCisrQFVTRV9M SUJHQ0pfQkNfVFJVRUAJcm0gJChERVNURElSKSQodG9vbGV4ZWNsaWJkaXIpL2xpYmdjal9iYy5z by4xLjAuMDsgXAorIEBVU0VfTElCR0NKX0JDX1RSVUVACSQobGliZ2NqX2JjX2R1bW15X0xJTksp IC14YyAvZGV2L251bGwgLVdsLC1zb25hbWUsbGliZ2NqX2JjLnNvLjEgXAorIEBVU0VfTElCR0NK X0JDX1RSVUVACS1vICQoREVTVERJUikkKHRvb2xleGVjbGliZGlyKS9saWJnY2pfYmMuc28uMS4w LjAgLWxnY2ogfHwgZXhpdDsgXAorIEBVU0VfTElCR0NKX0JDX1RSVUVACXJtICQoREVTVERJUikk KHRvb2xleGVjbGliZGlyKS9saWJnY2pfYmMuc28uMTsgXAoKZGlmZiAtLWdpdCBhL2djYzQ2LWkz ODYtbGliZ29tcC5wYXRjaCBiL2djYzQ2LWkzODYtbGliZ29tcC5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZDFlZWE4Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjNDYt aTM4Ni1saWJnb21wLnBhdGNoCkBAIC0wLDAgKzEsNjEgQEAKK0J1aWxkIGkzODYucnBtIGxpYmdv bXAgYW5kIGxpYnN1cGMrKy5hKGd1YXJkLm8pIGFzIGk0ODYrLCBwcmUtaTQ4NgoraGFyZHdhcmUg aXNuJ3Qgc3VwcG9ydGVkIGJlY2F1c2UgTlBUTCBkb2Vzbid0IHN1cHBvcnQgaXQgYW55d2F5Lgor CistLS0gbGliZ29tcC9jb25maWd1cmUudGd0LmpqCTIwMDgtMDEtMTAgMjA6NTM6NDguMDAwMDAw MDAwICswMTAwCisrKysgbGliZ29tcC9jb25maWd1cmUudGd0CTIwMDgtMDMtMjcgMTI6NDQ6NTEu MDAwMDAwMDAwICswMTAwCitAQCAtNDQsMTQgKzQ0LDE0IEBAIGlmIHRlc3QgJGVuYWJsZV9saW51 eF9mdXRleCA9IHllczsgdGhlbgorIAk7OworIAorICAgICAjIE5vdGUgdGhhdCBiYXJlIGkzODYg aXMgbm90IGluY2x1ZGVkIGhlcmUuICBXZSBuZWVkIGNtcHhjaGcuCistICAgIGlbNDU2XTg2LSot bGludXgqKQorKyAgICBpWzM0NTZdODYtKi1saW51eCopCisgCWNvbmZpZ19wYXRoPSJsaW51eC94 ODYgbGludXggcG9zaXgiCisgCWNhc2UgIiAke0NDfSAke0NGTEFHU30gIiBpbgorIAkgICoiIC1t NjQgIiopCisgCSAgICA7OworIAkgICopCisgCSAgICBpZiB0ZXN0IC16ICIkd2l0aF9hcmNoIjsg dGhlbgorLQkgICAgICBYQ0ZMQUdTPSIke1hDRkxBR1N9IC1tYXJjaD1pNDg2IC1tdHVuZT0ke3Rh cmdldF9jcHV9IgorKwkgICAgICBYQ0ZMQUdTPSIke1hDRkxBR1N9IC1tYXJjaD1pNDg2IC1tdHVu ZT1nZW5lcmljIgorIAkgICAgZmkKKyAJZXNhYworIAk7OworQEAgLTYzLDcgKzYzLDcgQEAgaWYg dGVzdCAkZW5hYmxlX2xpbnV4X2Z1dGV4ID0geWVzOyB0aGVuCisgCWNvbmZpZ19wYXRoPSJsaW51 eC94ODYgbGludXggcG9zaXgiCisgCWNhc2UgIiAke0NDfSAke0NGTEFHU30gIiBpbgorIAkgICoi IC1tMzIgIiopCistCSAgICBYQ0ZMQUdTPSIke1hDRkxBR1N9IC1tYXJjaD1pNDg2IC1tdHVuZT1p Njg2IgorKwkgICAgWENGTEFHUz0iJHtYQ0ZMQUdTfSAtbWFyY2g9aTQ4NiAtbXR1bmU9Z2VuZXJp YyIKKyAJICAgIDs7CisgCWVzYWMKKyAJOzsKKy0tLSBsaWJzdGRjKystdjMvbGlic3VwYysrL2d1 YXJkLmNjLmpqCTIwMDgtMDMtMDEgMDA6NTg6MjQuMDAwMDAwMDAwICswMTAwCisrKysgbGlic3Rk YysrLXYzL2xpYnN1cGMrKy9ndWFyZC5jYwkyMDA4LTAzLTI3IDE0OjA4OjQ0LjAwMDAwMDAwMCAr MDEwMAorQEAgLTM1LDYgKzM1LDI3IEBACisgI2luY2x1ZGUgPG5ldz4KKyAjaW5jbHVkZSA8ZXh0 L2F0b21pY2l0eS5oPgorICNpbmNsdWRlIDxleHQvY29uY3VycmVuY2UuaD4KKysjaWYgZGVmaW5l ZCBfX2kzODZfXyAmJiAhZGVmaW5lZCBfR0xJQkNYWF9BVE9NSUNfQlVJTFRJTlNfNAorKyMgZGVm aW5lIF9HTElCQ1hYX0FUT01JQ19CVUlMVElOU180IDEKKysjIGRlZmluZSBfX3N5bmNfdmFsX2Nv bXBhcmVfYW5kX3N3YXAoYSwgYiwgYykgXAorKyAgKHsJCQkJCQkJCVwKKysgICAgIHR5cGVkZWYg Y2hhciBzbHRhc3Rbc2l6ZW9mICgqYSkgPT0gc2l6ZW9mIChpbnQpID8gMSA6IC0xXTsJXAorKyAg ICAgaW50IHNsdGFzOwkJCQkJCQlcCisrICAgICBfX2FzbSBfX3ZvbGF0aWxlICgibG9jazsgY21w eGNoZ2wgJTMsICglMSkiCQlcCisrCQkgICAgICAgOiAiPWEiIChzbHRhcykJCQkJXAorKwkJICAg ICAgIDogInIiIChhKSwgIjAiIChiKSwgInIiIChjKSA6ICJtZW1vcnkiKTsJXAorKyAgICAgc2x0 YXM7CQkJCQkJCVwKKysgICB9KQorKyMgZGVmaW5lIF9fc3luY19sb2NrX3Rlc3RfYW5kX3NldChh LCBiKSBcCisrICAoewkJCQkJCQkJXAorKyAgICAgdHlwZWRlZiBjaGFyIHNsdGFzdFtzaXplb2Yg KCphKSA9PSBzaXplb2YgKGludCkgPyAxIDogLTFdOwlcCisrICAgICBpbnQgc2x0YXM7CQkJCQkJ CVwKKysgICAgIF9fYXNtIF9fdm9sYXRpbGUgKCJ4Y2hnbCAoJTEpLCAlMCIJCQkJXAorKwkJICAg ICAgIDogIj1yIiAoc2x0YXMpCQkJCVwKKysJCSAgICAgICA6ICJyIiAoYSksICIwIiAoYikgOiAi bWVtb3J5Iik7CQlcCisrICAgICBzbHRhczsJCQkJCQkJXAorKyAgIH0pCisrI2VuZGlmCisgI2lm IGRlZmluZWQoX19HVEhSRUFEUykgJiYgZGVmaW5lZChfX0dUSFJFQURfSEFTX0NPTkQpIFwKKyAg ICAgJiYgZGVmaW5lZChfR0xJQkNYWF9BVE9NSUNfQlVJTFRJTlNfNCkgJiYgZGVmaW5lZChfR0xJ QkNYWF9IQVZFX0xJTlVYX0ZVVEVYKQorICMgaW5jbHVkZSA8Y2xpbWl0cz4KCmRpZmYgLS1naXQg YS9nY2M0Ni1qYXZhLW5vbXVsdGkucGF0Y2ggYi9nY2M0Ni1qYXZhLW5vbXVsdGkucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTczMzRhYQotLS0gL2Rldi9udWxsCisr KyBiL2djYzQ2LWphdmEtbm9tdWx0aS5wYXRjaApAQCAtMCwwICsxLDQ0IEBACistLS0gbGliamF2 YS9jb25maWd1cmUuYWMuamoJMjAwNy0xMi0wNyAxNzo1NTo1MC4wMDAwMDAwMDAgKzAxMDAKKysr KyBsaWJqYXZhL2NvbmZpZ3VyZS5hYwkyMDA3LTEyLTA3IDE4OjM2OjU2LjAwMDAwMDAwMCArMDEw MAorQEAgLTgyLDYgKzgyLDEzIEBAIEFDX0FSR19FTkFCTEUoamF2YS1tYWludGFpbmVyLW1vZGUs CisgCVthbGxvdyByZWJ1aWxkaW5nIG9mIC5jbGFzcyBhbmQgLmggZmlsZXNdKSkKKyBBTV9DT05E SVRJT05BTChKQVZBX01BSU5UQUlORVJfTU9ERSwgdGVzdCAiJGVuYWJsZV9qYXZhX21haW50YWlu ZXJfbW9kZSIgPSB5ZXMpCisgCisrQUNfQVJHX0VOQUJMRShsaWJqYXZhLW11bHRpbGliLAorKwlB U19IRUxQX1NUUklORyhbLS1lbmFibGUtbGliamF2YS1tdWx0aWxpYl0sIFtidWlsZCBsaWJqYXZh IGFzIG11bHRpbGliXSkpCisraWYgdGVzdCAiJGVuYWJsZV9saWJqYXZhX211bHRpbGliIiA9IG5v OyB0aGVuCisrICBtdWx0aWxpYj1ubworKyAgYWNfY29uZmlndXJlX2FyZ3M9IiRhY19jb25maWd1 cmVfYXJncyAtLWRpc2FibGUtbXVsdGlsaWIiCisrZmkKKysKKyAjIEl0IG1heSBub3QgYmUgc2Fm ZSB0byBydW4gbGlua2luZyB0ZXN0cyBpbiBBQ19QUk9HX0NDL0FDX1BST0dfQ1hYLgorIEdDQ19O T19FWEVDVVRBQkxFUworIAorLS0tIGxpYmphdmEvY29uZmlndXJlLmpqCTIwMDctMTItMDcgMTc6 NTU6NTAuMDAwMDAwMDAwICswMTAwCisrKysgbGliamF2YS9jb25maWd1cmUJMjAwNy0xMi0wNyAx ODozOTo1OC4wMDAwMDAwMDAgKzAxMDAKK0BAIC0xMDIxLDYgKzEwMjEsOCBAQCBPcHRpb25hbCBG ZWF0dXJlczoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9eWVzCisgICAtLWVu YWJsZS1qYXZhLW1haW50YWluZXItbW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxs b3cgcmVidWlsZGluZyBvZiAuY2xhc3MgYW5kIC5oIGZpbGVzCisrICAtLWVuYWJsZS1saWJqYXZh LW11bHRpbGliCisrICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZCBsaWJqYXZhIGFzIG11 bHRpbGliCisgICAtLWRpc2FibGUtZGVwZW5kZW5jeS10cmFja2luZyAgc3BlZWRzIHVwIG9uZS10 aW1lIGJ1aWxkCisgICAtLWVuYWJsZS1kZXBlbmRlbmN5LXRyYWNraW5nICAgZG8gbm90IHJlamVj dCBzbG93IGRlcGVuZGVuY3kgZXh0cmFjdG9ycworICAgLS1lbmFibGUtbWFpbnRhaW5lci1tb2Rl ICBlbmFibGUgbWFrZSBydWxlcyBhbmQgZGVwZW5kZW5jaWVzIG5vdCB1c2VmdWwKK0BAIC0xOTcz LDYgKzE5NzUsMTYgQEAgZWxzZQorIGZpCisgCisgCisrIyBDaGVjayB3aGV0aGVyIC0tZW5hYmxl LWxpYmphdmEtbXVsdGlsaWIgd2FzIGdpdmVuLgorK2lmIHRlc3QgIiR7ZW5hYmxlX2xpYmphdmFf bXVsdGlsaWIrc2V0fSIgPSBzZXQ7IHRoZW4KKysgIGVuYWJsZXZhbD0kZW5hYmxlX2xpYmphdmFf bXVsdGlsaWI7CisrZmkKKysKKytpZiB0ZXN0ICIkZW5hYmxlX2xpYmphdmFfbXVsdGlsaWIiID0g bm87IHRoZW4KKysgIG11bHRpbGliPW5vCisrICBhY19jb25maWd1cmVfYXJncz0iJGFjX2NvbmZp Z3VyZV9hcmdzIC0tZGlzYWJsZS1tdWx0aWxpYiIKKytmaQorKworICMgSXQgbWF5IG5vdCBiZSBz YWZlIHRvIHJ1biBsaW5raW5nIHRlc3RzIGluIEFDX1BST0dfQ0MvQUNfUFJPR19DWFguCisgCisg CgpkaWZmIC0tZ2l0IGEvZ2NjNDYtbGliZ29tcC1vbXBfaC1tdWx0aWxpYi5wYXRjaCBiL2djYzQ2 LWxpYmdvbXAtb21wX2gtbXVsdGlsaWIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uZDBlOThkMQotLS0gL2Rldi9udWxsCisrKyBiL2djYzQ2LWxpYmdvbXAtb21wX2gt bXVsdGlsaWIucGF0Y2gKQEAgLTAsMCArMSwxNyBAQAorMjAwOC0wNi0wOSAgSmFrdWIgSmVsaW5l ayAgPGpha3ViQHJlZGhhdC5jb20+CisKKwkqIG9tcC5oLmluIChvbXBfbmVzdF9sb2NrX3QpOiBG aXggdXAgZm9yIExpbnV4IG11bHRpbGlicy4KKworLS0tIGxpYmdvbXAvb21wLmguaW4uamoJMjAw OC0wNi0wOSAxMzozNDowNS4wMDAwMDAwMDAgKzAyMDAKKysrKyBsaWJnb21wL29tcC5oLmluCTIw MDgtMDYtMDkgMTM6MzQ6NDguMDAwMDAwMDAwICswMjAwCitAQCAtNDIsOCArNDIsOCBAQCB0eXBl ZGVmIHN0cnVjdAorIAorIHR5cGVkZWYgc3RydWN0CisgeworLSAgdW5zaWduZWQgY2hhciBfeFtA T01QX05FU1RfTE9DS19TSVpFQF0gCistICAgIF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKEBP TVBfTkVTVF9MT0NLX0FMSUdOQCkpKTsKKysgIHVuc2lnbmVkIGNoYXIgX3hbOCArIHNpemVvZiAo dm9pZCAqKV0gCisrICAgIF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKHNpemVvZiAodm9pZCAq KSkpKTsKKyB9IG9tcF9uZXN0X2xvY2tfdDsKKyAjZW5kaWYKKyAKCmRpZmYgLS1naXQgYS9nY2M0 Ni1saWJzdGRjKystZG9jcy5wYXRjaCBiL2djYzQ2LWxpYnN0ZGMrKy1kb2NzLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5MjZkYTgKLS0tIC9kZXYvbnVsbAorKysg Yi9nY2M0Ni1saWJzdGRjKystZG9jcy5wYXRjaApAQCAtMCwwICsxLDM2IEBACistLS0gbGlic3Rk YysrLXYzL2RvYy9odG1sL2luZGV4Lmh0bWwuamoJMjAxMS0wMS0wMyAxMjo1MzoyMS4yODI4Mjkw MTAgKzAxMDAKKysrKyBsaWJzdGRjKystdjMvZG9jL2h0bWwvaW5kZXguaHRtbAkyMDExLTAxLTA0 IDE4OjA2OjI4Ljk5OTg1MTE0NSArMDEwMAorQEAgLTEyLDcgKzEyLDggQEAKKyA8ZGl2PgorIDxo MT5UaGUgR05VIEMrKyBMaWJyYXJ5IERvY3VtZW50YXRpb248L2gxPgorIAorLTxwPkNvcHlyaWdo dCAyMDA4LCAyMDA5IEZTRjwvcD4KKys8cD5SZWxlYXNlIDQuNi4wPC9wPgorKzxwPkNvcHlyaWdo dCAyMDA4LCAyMDA5LCAyMDEwLCAyMDExIEZTRjwvcD4KKyAKKyA8cD4KKyAgIFBlcm1pc3Npb24g aXMgZ3JhbnRlZCB0byBjb3B5LCBkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhpcworLS0tIGxp YnN0ZGMrKy12My9kb2MvaHRtbC9hcGkuaHRtbC5qagkyMDExLTAxLTAzIDEyOjUzOjIxLjAwMDAw MDAwMCArMDEwMAorKysrIGxpYnN0ZGMrKy12My9kb2MvaHRtbC9hcGkuaHRtbAkyMDExLTAxLTA0 IDE4OjEyOjAxLjY3Mjc1Nzc4NCArMDEwMAorQEAgLTMsNyArMyw3IEBACisgPGh0bWwgeG1sbnM9 Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPjxoZWFkPjxtZXRhIGh0dHAtZXF1aXY9IkNv bnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04IiAvPjx0aXRsZT5B UEkgRG9jdW1lbnRhdGlvbjwvdGl0bGU+PG1ldGEgbmFtZT0iZ2VuZXJhdG9yIiBjb250ZW50PSJE b2NCb29rIFhTTCBTdHlsZXNoZWV0cyBWMS43NS4yIiAvPjxsaW5rIHJlbD0iaG9tZSIgaHJlZj0i c3BpbmUuaHRtbCIgdGl0bGU9IlRoZSBHTlUgQysrIExpYnJhcnkgRG9jdW1lbnRhdGlvbiIgLz48 bGluayByZWw9InVwIiBocmVmPSJiazAyLmh0bWwiIHRpdGxlPSIiIC8+PGxpbmsgcmVsPSJwcmV2 IiBocmVmPSJiazAyLmh0bWwiIHRpdGxlPSIiIC8+PGxpbmsgcmVsPSJuZXh0IiBocmVmPSJiazAz Lmh0bWwiIHRpdGxlPSIiIC8+PC9oZWFkPjxib2R5PjxkaXYgY2xhc3M9Im5hdmhlYWRlciI+PHRh YmxlIHdpZHRoPSIxMDAlIiBzdW1tYXJ5PSJOYXZpZ2F0aW9uIGhlYWRlciI+PHRyPjx0aCBjb2xz cGFuPSIzIiBhbGlnbj0iY2VudGVyIj5BUEkgRG9jdW1lbnRhdGlvbjwvdGg+PC90cj48dHI+PHRk IHdpZHRoPSIyMCUiIGFsaWduPSJsZWZ0Ij48YSBhY2Nlc3NrZXk9InAiIGhyZWY9ImJrMDIuaHRt bCI+UHJldjwvYT7CoDwvdGQ+PHRoIHdpZHRoPSI2MCUiIGFsaWduPSJjZW50ZXIiPjwvdGg+PHRk IHdpZHRoPSIyMCUiIGFsaWduPSJyaWdodCI+wqA8YSBhY2Nlc3NrZXk9Im4iIGhyZWY9ImJrMDMu aHRtbCI+TmV4dDwvYT48L3RkPjwvdHI+PC90YWJsZT48aHIgLz48L2Rpdj48ZGl2IGNsYXNzPSJh cnRpY2xlIiB0aXRsZT0iQVBJIERvY3VtZW50YXRpb24iPjxkaXYgY2xhc3M9InRpdGxlcGFnZSI+ PGRpdj48ZGl2PjxoMiBjbGFzcz0idGl0bGUiPjxhIGlkPSJhcGkiPjwvYT5BUEkgRG9jdW1lbnRh dGlvbjwvaDI+PC9kaXY+PGRpdj48cCBjbGFzcz0iY29weXJpZ2h0Ij5Db3B5cmlnaHQgwqkgCisg ICAgICAgMjAwOAorICAgICAsIAorLSAgICAgIDIwMTAKKysgICAgICAyMDEwLCAyMDExCisgICAg ICAKKyAgICAgICA8YSBjbGFzcz0idWxpbmsiIGhyZWY9Imh0dHA6Ly93d3cuZnNmLm9yZy8iIHRh cmdldD0iX3RvcCI+RlNGCisgICAgICAgPC9hPgorQEAgLTE5LDggKzE5LDExIEBACisgICBtZW1i ZXIgZnVuY3Rpb25zIGZvciB0aGUgbGlicmFyeSBjbGFzc2VzLCBmaW5kaW5nIG91dCB3aGF0IGlz IGluIGEKKyAgIHBhcnRpY3VsYXIgaW5jbHVkZSBmaWxlLCBsb29raW5nIGF0IGluaGVyaXRhbmNl IGRpYWdyYW1zLCBldGMuCisgPC9wPjxwPgorLSAgVGhlIEFQSSBkb2N1bWVudGF0aW9uLCByZW5k ZXJlZCBpbnRvIEhUTUwsIGNhbiBiZSB2aWV3ZWQgb25saW5lOgorKyAgVGhlIEFQSSBkb2N1bWVu dGF0aW9uLCByZW5kZXJlZCBpbnRvIEhUTUwsIGNhbiBiZSB2aWV3ZWQgaGVyZToKKyA8L3A+PGRp diBjbGFzcz0iaXRlbWl6ZWRsaXN0Ij48dWwgY2xhc3M9Iml0ZW1pemVkbGlzdCIgdHlwZT0iZGlz YyI+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+CisrICAgICAgPGEgY2xhc3M9InVsaW5rIiBocmVm PSJhcGkvaW5kZXguaHRtbCIgdGFyZ2V0PSJfdG9wIj5mb3IgdGhlIDQuNiByZWxlYXNlLCBsb2Nh bAorKyAgICAgIDwvYT4KKysgICAgPC9wPjwvbGk+PGxpIGNsYXNzPSJsaXN0aXRlbSI+PHA+Cisg ICAgICAgPGEgY2xhc3M9InVsaW5rIiBocmVmPSJodHRwOi8vZ2NjLmdudS5vcmcvb25saW5lZG9j cy9saWJzdGRjKysvbGlic3RkYysrLWh0bWwtVVNFUlMtMy40L2luZGV4Lmh0bWwiIHRhcmdldD0i X3RvcCI+Zm9yIHRoZSAzLjQgcmVsZWFzZQorICAgICAgIDwvYT4KKyAgICAgPC9wPjwvbGk+PGxp IGNsYXNzPSJsaXN0aXRlbSI+PHA+CgpkaWZmIC0tZ2l0IGEvZ2NjNDYtbGlidG9vbC1uby1ycGF0 aC5wYXRjaCBiL2djYzQ2LWxpYnRvb2wtbm8tcnBhdGgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uNDY2YzY2MQotLS0gL2Rldi9udWxsCisrKyBiL2djYzQ2LWxpYnRv b2wtbm8tcnBhdGgucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorbGlidG9vbCBzdWNrcy4KKy0tLSBs dG1haW4uc2guamoJMjAwNy0xMi0wNyAxNDo1MzoyMS4wMDAwMDAwMDAgKzAxMDAKKysrKyBsdG1h aW4uc2gJMjAwOC0wOS0wNSAyMTo1MTo0OC4wMDAwMDAwMDAgKzAyMDAKK0BAIC01Mzk0LDYgKzUz OTQsNyBAQCBFT0YKKyAJICBycGF0aD0iJGZpbmFsaXplX3JwYXRoIgorIAkgIHRlc3QgIiRtb2Rl IiAhPSByZWxpbmsgJiYgcnBhdGg9IiRjb21waWxlX3JwYXRoJHJwYXRoIgorIAkgIGZvciBsaWJk aXIgaW4gJHJwYXRoOyBkbworKwkgICAgY2FzZSAiJGxpYmRpciIgaW4gL3Vzci9saWJ8L3Vzci9s aWI2NHwvdXNyL2xpYi8uLi9saWJ8L3Vzci9saWIvLi4vbGliNjQpIGNvbnRpbnVlOzsgZXNhYwor IAkgICAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMiOyB0aGVuCisgCSAg ICAgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIjsgdGhlbgorIAkJaWYg dGVzdCAteiAiJGhhcmRjb2RlX2xpYmRpcnMiOyB0aGVuCitAQCAtNjA3MSw2ICs2MDcyLDcgQEAg RU9GCisgICAgICAgcnBhdGg9CisgICAgICAgaGFyZGNvZGVfbGliZGlycz0KKyAgICAgICBmb3Ig bGliZGlyIGluICRjb21waWxlX3JwYXRoICRmaW5hbGl6ZV9ycGF0aDsgZG8KKysJY2FzZSAiJGxp YmRpciIgaW4gL3Vzci9saWJ8L3Vzci9saWI2NHwvdXNyL2xpYi8uLi9saWJ8L3Vzci9saWIvLi4v bGliNjQpIGNvbnRpbnVlOzsgZXNhYworIAlpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX2Zs YWdfc3BlYyI7IHRoZW4KKyAJICBpZiB0ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRv ciI7IHRoZW4KKyAJICAgIGlmIHRlc3QgLXogIiRoYXJkY29kZV9saWJkaXJzIjsgdGhlbgorQEAg LTYxMjAsNiArNjEyMiw3IEBAIEVPRgorICAgICAgIHJwYXRoPQorICAgICAgIGhhcmRjb2RlX2xp YmRpcnM9CisgICAgICAgZm9yIGxpYmRpciBpbiAkZmluYWxpemVfcnBhdGg7IGRvCisrCWNhc2Ug IiRsaWJkaXIiIGluIC91c3IvbGlifC91c3IvbGliNjR8L3Vzci9saWIvLi4vbGlifC91c3IvbGli Ly4uL2xpYjY0KSBjb250aW51ZTs7IGVzYWMKKyAJaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRp cl9mbGFnX3NwZWMiOyB0aGVuCisgCSAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9zZXBh cmF0b3IiOyB0aGVuCisgCSAgICBpZiB0ZXN0IC16ICIkaGFyZGNvZGVfbGliZGlycyI7IHRoZW4K CmRpZmYgLS1naXQgYS9nY2M0Ni1uby1hZGQtbmVlZGVkLnBhdGNoIGIvZ2NjNDYtbm8tYWRkLW5l ZWRlZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZWJkNjU1Ci0t LSAvZGV2L251bGwKKysrIGIvZ2NjNDYtbm8tYWRkLW5lZWRlZC5wYXRjaApAQCAtMCwwICsxLDUy IEBACisyMDEwLTAyLTA4ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJ KiBjb25maWcvcnM2MDAwL3N5c3Y0LmggKExJTktfRUhfU1BFQyk6IFBhc3MgLS1uby1hZGQtbmVl ZGVkIHRvIHRoZQorCWxpbmtlci4KKwkqIGNvbmZpZy9saW51eC5oIChMSU5LX0VIX1NQRUMpOiBM aWtld2lzZS4KKwkqIGNvbmZpZy9hbHBoYS9lbGYuaCAoTElOS19FSF9TUEVDKTogTGlrZXdpc2Uu CisJKiBjb25maWcvaWE2NC9saW51eC5oIChMSU5LX0VIX1NQRUMpOiBMaWtld2lzZS4KKworLS0t IGdjYy9jb25maWcvYWxwaGEvZWxmLmguamoJMjAxMS0wMS0wMyAxMjo1MjozMS4xMTgwNTY3NjQg KzAxMDAKKysrKyBnY2MvY29uZmlnL2FscGhhL2VsZi5oCTIwMTEtMDEtMDQgMTg6MTQ6MTAuOTMx ODc0MTYwICswMTAwCitAQCAtNDM4LDcgKzQzOCw3IEBAIGV4dGVybiBpbnQgYWxwaGFfdGhpc19n cGRpc3Bfc2VxdWVuY2VfbnUKKyAgICBJIGltYWdpbmUgdGhhdCBvdGhlciBzeXN0ZW1zIHdpbGwg Y2F0Y2ggdXAuICBJbiB0aGUgbWVhbnRpbWUsIGl0CisgICAgZG9lc24ndCBoYXJtIHRvIG1ha2Ug c3VyZSB0aGF0IHRoZSBkYXRhIGV4aXN0cyB0byBiZSB1c2VkIGxhdGVyLiAgKi8KKyAjaWYgZGVm aW5lZChIQVZFX0xEX0VIX0ZSQU1FX0hEUikKKy0jZGVmaW5lIExJTktfRUhfU1BFQyAiJXshc3Rh dGljOi0tZWgtZnJhbWUtaGRyfSAiCisrI2RlZmluZSBMSU5LX0VIX1NQRUMgIi0tbm8tYWRkLW5l ZWRlZCAleyFzdGF0aWM6LS1laC1mcmFtZS1oZHJ9ICIKKyAjZW5kaWYKKyAKKyAvKiBBIEMgc3Rh dGVtZW50IChzYW5zIHNlbWljb2xvbikgdG8gb3V0cHV0IHRvIHRoZSBzdGRpbyBzdHJlYW0gU1RS RUFNCistLS0gZ2NjL2NvbmZpZy9pYTY0L2xpbnV4LmguamoJMjAxMS0wMS0wMyAxMzowMjoxMS40 NjI5OTQ1MjIgKzAxMDAKKysrKyBnY2MvY29uZmlnL2lhNjQvbGludXguaAkyMDExLTAxLTA0IDE4 OjE0OjEwLjkzMTg3NDE2MCArMDEwMAorQEAgLTgyLDcgKzgyLDcgQEAgZG8gewkJCQkJCVwKKyAg ICBTaWduYWxpemUgdGhhdCBiZWNhdXNlIHdlIGhhdmUgZmRlLWdsaWJjLCB3ZSBkb24ndCBuZWVk IGFsbCBDIHNoYXJlZCBsaWJzCisgICAgbGlua2VkIGFnYWluc3QgLWxnY2Nfcy4gICovCisgI3Vu ZGVmIExJTktfRUhfU1BFQworLSNkZWZpbmUgTElOS19FSF9TUEVDICIiCisrI2RlZmluZSBMSU5L X0VIX1NQRUMgIi0tbm8tYWRkLW5lZWRlZCAiCisgCisgI2RlZmluZSBNRF9VTldJTkRfU1VQUE9S VCAiY29uZmlnL2lhNjQvbGludXgtdW53aW5kLmgiCisgCistLS0gZ2NjL2NvbmZpZy9saW51eC5o LmpqCTIwMTEtMDEtMDMgMTI6NTM6MDMuNzM5MDU3Mjk5ICswMTAwCisrKysgZ2NjL2NvbmZpZy9s aW51eC5oCTIwMTEtMDEtMDQgMTg6MTQ6MTAuOTMyODE0ODg0ICswMTAwCitAQCAtMTAyLDcgKzEw Miw3IEBAIHNlZSB0aGUgZmlsZXMgQ09QWUlORzMgYW5kIENPUFlJTkcuUlVOVEkKKyAgICAgfSB3 aGlsZSAoMCkKKyAKKyAjaWYgZGVmaW5lZChIQVZFX0xEX0VIX0ZSQU1FX0hEUikKKy0jZGVmaW5l IExJTktfRUhfU1BFQyAiJXshc3RhdGljOi0tZWgtZnJhbWUtaGRyfSAiCisrI2RlZmluZSBMSU5L X0VIX1NQRUMgIi0tbm8tYWRkLW5lZWRlZCAleyFzdGF0aWM6LS1laC1mcmFtZS1oZHJ9ICIKKyAj ZW5kaWYKKyAKKyAjdW5kZWYgTElOS19HQ0NfQ19TRVFVRU5DRV9TUEVDCistLS0gZ2NjL2NvbmZp Zy9yczYwMDAvc3lzdjQuaC5qagkyMDExLTAxLTAzIDEzOjAyOjE4LjI1NTk5NDIxNSArMDEwMAor KysrIGdjYy9jb25maWcvcnM2MDAwL3N5c3Y0LmgJMjAxMS0wMS0wNCAxODoxNDoxMC45MzM4ODg4 NzEgKzAxMDAKK0BAIC04NjksNyArODY5LDcgQEAgZXh0ZXJuIGludCBmaXh1cGxhYmVsbm87Cisg ICAtZHluYW1pYy1saW5rZXIgIiBMSU5VWF9EWU5BTUlDX0xJTktFUiAifX0iCisgCisgI2lmIGRl ZmluZWQoSEFWRV9MRF9FSF9GUkFNRV9IRFIpCistIyBkZWZpbmUgTElOS19FSF9TUEVDICIleyFz dGF0aWM6LS1laC1mcmFtZS1oZHJ9ICIKKysjIGRlZmluZSBMSU5LX0VIX1NQRUMgIi0tbm8tYWRk LW5lZWRlZCAleyFzdGF0aWM6LS1laC1mcmFtZS1oZHJ9ICIKKyAjZW5kaWYKKyAKKyAjZGVmaW5l IENQUF9PU19MSU5VWF9TUEVDICItRF9fdW5peF9fIC1EX19nbnVfbGludXhfXyAtRF9fbGludXhf XyBcCgpkaWZmIC0tZ2l0IGEvZ2NjNDYtcHBjMzItcmV0YWRkci5wYXRjaCBiL2djYzQ2LXBwYzMy LXJldGFkZHIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTlhZTFi YwotLS0gL2Rldi9udWxsCisrKyBiL2djYzQ2LXBwYzMyLXJldGFkZHIucGF0Y2gKQEAgLTAsMCAr MSw4NiBAQAorMjAwNS0xMS0yOCAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CisK KwkqIGNvbmZpZy9yczYwMDAvcnM2MDAwLmMgKHJzNjAwMF9yZXR1cm5fYWRkcik6IElmIENPVU5U ID09IDAsCisJcmVhZCB3b3JkIFJFVFVSTl9BRERSRVNTX09GRlNFVCBieXRlcyBhYm92ZSBhcmdf cG9pbnRlcl9ydHgKKwlpbnN0ZWFkIG9mIGRvaW5nIGFuIGV4dHJhbiBpbmRpcmVjdGlvbiBmcm9t IGZyYW1lX3BvaW50ZXJfcnR4LgorCisJKiBnY2MuZGcvMjAwNTExMjgtMS5jOiBOZXcgdGVzdC4K KworLS0tIGdjYy9jb25maWcvcnM2MDAwL3JzNjAwMC5jLmpqCTIwMDUtMTEtMjYgMTQ6Mzg6MDEu MDAwMDAwMDAwICswMTAwCisrKysgZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLmMJMjAwNS0xMS0y OCAyMDozMjoxOC4wMDAwMDAwMDAgKzAxMDAKK0BAIC0xMzE2NiwxNyArMTMxNjYsMjIgQEAgcnM2 MDAwX3JldHVybl9hZGRyIChpbnQgY291bnQsIHJ0eCBmcmFtZQorICAgICAgZG9uJ3QgdHJ5IHRv IGJlIHRvbyBjbGV2ZXIgaGVyZS4gICovCisgICBpZiAoY291bnQgIT0gMCB8fCAoREVGQVVMVF9B QkkgIT0gQUJJX0FJWCAmJiBmbGFnX3BpYykpCisgICAgIHsKKysgICAgICBydHggeDsKKyAgICAg ICBjZnVuLT5tYWNoaW5lLT5yYV9uZWVkc19mdWxsX2ZyYW1lID0gMTsKKyAKKy0gICAgICByZXR1 cm4KKy0JZ2VuX3J0eF9NRU0KKy0JICAoUG1vZGUsCistCSAgIG1lbW9yeV9hZGRyZXNzCistCSAg IChQbW9kZSwKKy0JICAgIHBsdXNfY29uc3RhbnQgKGNvcHlfdG9fcmVnCistCQkJICAgKGdlbl9y dHhfTUVNIChQbW9kZSwKKy0JCQkJCSBtZW1vcnlfYWRkcmVzcyAoUG1vZGUsIGZyYW1lKSkpLAor LQkJCSAgIFJFVFVSTl9BRERSRVNTX09GRlNFVCkpKTsKKysgICAgICBpZiAoY291bnQgPT0gMCkK KysJeworKwkgIGdjY19hc3NlcnQgKGZyYW1lID09IGZyYW1lX3BvaW50ZXJfcnR4KTsKKysJICB4 ID0gYXJnX3BvaW50ZXJfcnR4OworKwl9CisrICAgICAgZWxzZQorKwl7CisrCSAgeCA9IG1lbW9y eV9hZGRyZXNzIChQbW9kZSwgZnJhbWUpOworKwkgIHggPSBjb3B5X3RvX3JlZyAoZ2VuX3J0eF9N RU0gKFBtb2RlLCB4KSk7CisrCX0KKysKKysgICAgICB4ID0gcGx1c19jb25zdGFudCAoeCwgUkVU VVJOX0FERFJFU1NfT0ZGU0VUKTsKKysgICAgICByZXR1cm4gZ2VuX3J0eF9NRU0gKFBtb2RlLCBt ZW1vcnlfYWRkcmVzcyAoUG1vZGUsIHgpKTsKKyAgICAgfQorIAorICAgY2Z1bi0+bWFjaGluZS0+ cmFfbmVlZF9sciA9IDE7CistLS0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvMjAwNTExMjgtMS5jLmpq CTIwMDUtMTAtMTAgMTE6MjE6NDEuMDk2OTk5MDAwICswMjAwCisrKysgZ2NjL3Rlc3RzdWl0ZS9n Y2MuZGcvMjAwNTExMjgtMS5jCTIwMDUtMTEtMjggMTI6MzA6NTcuMDAwMDAwMDAwICswMTAwCitA QCAtMCwwICsxLDQxIEBACisrLyogeyBkZy1kbyBydW4gfSAqLworKy8qIHsgZGctb3B0aW9ucyAi LU8yIC1mcGljIiB9ICovCisrCisrZXh0ZXJuIHZvaWQgZXhpdCAoaW50KTsKKytleHRlcm4gdm9p ZCBhYm9ydCAodm9pZCk7CisrCisraW50IGI7CisrCisrc3RydWN0IEEKKyt7CisrICB2b2lkICpw YWRbMTQ3XTsKKysgIHZvaWQgKnJhLCAqaDsKKysgIGxvbmcgbzsKKyt9OworKworK3ZvaWQKKytf X2F0dHJpYnV0ZV9fKChub2lubGluZSkpCisrZm9vIChzdHJ1Y3QgQSAqYSwgdm9pZCAqeCkKKyt7 CisrICBfX2J1aWx0aW5fbWVtc2V0IChhLCAwLCBzaXplb2YgKGEpKTsKKysgIGlmICghYikKKysg ICAgZXhpdCAoMCk7CisrfQorKworK3ZvaWQKKytfX2F0dHJpYnV0ZV9fKChub2lubGluZSkpCisr YmFyICh2b2lkKQorK3sKKysgIHN0cnVjdCBBIGE7CisrCisrICBfX2J1aWx0aW5fdW53aW5kX2lu aXQgKCk7CisrICBmb28gKCZhLCBfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MgKDApKTsKKyt9Cisr CisraW50CisrbWFpbiAodm9pZCkKKyt7CisrICBiYXIgKCk7CisrICBhYm9ydCAoKTsKKysgIHJl dHVybiAwOworK30KCmRpZmYgLS1naXQgYS9nY2M0Ni1wcjMzNzYzLnBhdGNoIGIvZ2NjNDYtcHIz Mzc2My5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NmM4YWM3Ci0t LSAvZGV2L251bGwKKysrIGIvZ2NjNDYtcHIzMzc2My5wYXRjaApAQCAtMCwwICsxLDE1MyBAQAor MjAwNy0xMS0wNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CisKKwlQUiB0cmVl LW9wdGltaXphdGlvbi8zMzc2MworCSogZ2NjLmRnL3ByMzM3NjMuYzogTmV3IHRlc3QuCisJKiBn KysuZGcvb3B0L2lubGluZTEzLkM6IE5ldyB0ZXN0LgorCisyMDA3LTExLTA2ICBKYW4gSHViaWNr YSAgPGpoQHN1c2UuY3o+CisKKwlQUiB0cmVlLW9wdGltaXphdGlvbi8zMzc2MworCSogdHJlZS1p bmxpbmUuYyAoZXhwYW5kX2NhbGxfaW5saW5lKTogU2lsZW50bHkgaWdub3JlIGFsd2F5c19pbmxp bmUKKwlhdHRyaWJ1dGUgZm9yIHJlZGVmaW5lZCBleHRlcm4gaW5saW5lIGZ1bmN0aW9ucy4KKwor LS0tIGdjYy90cmVlLWlubGluZS5jLmpqCTIwMDctMTEtMDYgMDk6Mjk6MDQuMDAwMDAwMDAwICsw MTAwCisrKysgZ2NjL3RyZWUtaW5saW5lLmMJMjAwNy0xMS0wNiAxNjoxOToxMi4wMDAwMDAwMDAg KzAxMDAKK0BAIC0zMTU3LDYgKzMxNTcsMTIgQEAgZXhwYW5kX2NhbGxfaW5saW5lIChiYXNpY19i bG9jayBiYiwgZ2ltcAorIAlnb3RvIGVncmVzczsKKyAKKyAgICAgICBpZiAobG9va3VwX2F0dHJp YnV0ZSAoImFsd2F5c19pbmxpbmUiLCBERUNMX0FUVFJJQlVURVMgKGZuKSkKKysJLyogRm9yIGV4 dGVybiBpbmxpbmUgZnVuY3Rpb25zIHRoYXQgZ2V0IHJlZGVmaW5lZCB3ZSBhbHdheXMKKysJICAg c2lsZW50bHkgaWdub3JlZCBhbHdheV9pbmxpbmUgZmxhZy4gQmV0dGVyIGJlaGF2aW91ciB3b3Vs ZAorKwkgICBiZSB0byBiZSBhYmxlIHRvIGtlZXAgYm90aCBib2RpZXMgYW5kIHVzZSBleHRlcm4g aW5saW5lIGJvZHkKKysJICAgZm9yIGlubGluaW5nLCBidXQgd2UgY2FuJ3QgZG8gdGhhdCBiZWNh dXNlIGZyb250ZW5kcyBvdmVyd3JpdGUKKysJICAgdGhlIGJvZHkuICAqLworKwkgICYmICFjZ19l ZGdlLT5jYWxsZWUtPmxvY2FsLnJlZGVmaW5lZF9leHRlcm5faW5saW5lCisgCSAgLyogQXZvaWQg d2FybmluZ3MgZHVyaW5nIGVhcmx5IGlubGluZSBwYXNzLiAqLworIAkgICYmIGNncmFwaF9nbG9i YWxfaW5mb19yZWFkeSkKKyAJeworLS0tIGdjYy90ZXN0c3VpdGUvZ2NjLmRnL3ByMzM3NjMuYy5q agkyMDA3LTExLTA2IDE2OjE5OjEyLjAwMDAwMDAwMCArMDEwMAorKysrIGdjYy90ZXN0c3VpdGUv Z2NjLmRnL3ByMzM3NjMuYwkyMDA3LTExLTA2IDE2OjE5OjEyLjAwMDAwMDAwMCArMDEwMAorQEAg LTAsMCArMSw2MCBAQAorKy8qIFBSIHRyZWUtb3B0aW1pemF0aW9uLzMzNzYzICovCisrLyogeyBk Zy1kbyBjb21waWxlIH0gKi8KKysvKiB7IGRnLW9wdGlvbnMgIi1PMiIgfSAqLworKworK3R5cGVk ZWYgc3RydWN0CisreworKyAgdm9pZCAqYTsKKysgIHZvaWQgKmI7CisrfSBUOworK2V4dGVybiB2 b2lkICpmb28gKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKKytleHRlcm4gdm9pZCAqYmFy ICh2b2lkICosIGNvbnN0IGNoYXIgKiwgVCk7CisrZXh0ZXJuIGludCBiYXogKGNvbnN0IGNoYXIg KiwgaW50KTsKKysKKytleHRlcm4gaW5saW5lIF9fYXR0cmlidXRlX18gKChhbHdheXNfaW5saW5l LCBnbnVfaW5saW5lKSkgaW50CisrYmF6IChjb25zdCBjaGFyICp4LCBpbnQgeSkKKyt7CisrICBy ZXR1cm4gMjsKKyt9CisrCisraW50CisrYmF6IChjb25zdCBjaGFyICp4LCBpbnQgeSkKKyt7Cisr ICByZXR1cm4gMTsKKyt9CisrCisraW50IHhhLCB4YjsKKysKKytzdGF0aWMgdm9pZCAqCisraW5s IChjb25zdCBjaGFyICp4LCBjb25zdCBjaGFyICp5KQorK3sKKysgIFQgdCA9IHsgJnhhLCAmeGIg fTsKKysgIGludCAqZiA9IChpbnQgKikgX19idWlsdGluX21hbGxvYyAoc2l6ZW9mIChpbnQpKTsK KysgIGNvbnN0IGNoYXIgKno7CisrICBpbnQgbyA9IDA7CisrICB2b2lkICpyID0gMDsKKysKKysg IGZvciAoeiA9IHk7ICp6OyB6KyspCisrICAgIHsKKysgICAgICBpZiAoKnogPT0gJ3InKQorKwlv IHw9IDE7CisrICAgICAgaWYgKCp6ID09ICd3JykKKysJbyB8PSAyOworKyAgICB9CisrICBpZiAo byA9PSAxKQorKyAgICAqZiA9IGJheiAoeCwgMCk7CisrICBpZiAobyA9PSAyKQorKyAgICAqZiA9 IGJheiAoeCwgMSk7CisrICBpZiAobyA9PSAzKQorKyAgICAqZiA9IGJheiAoeCwgMik7CisrCisr ICBpZiAobyAmJiAqZiA+IDApCisrICAgIHIgPSBiYXIgKGYsICJ3IiwgdCk7CisrICByZXR1cm4g cjsKKyt9CisrCisrdm9pZCAqCisrZm9vIChjb25zdCBjaGFyICp4LCBjb25zdCBjaGFyICp5KQor K3sKKysgIHJldHVybiBpbmwgKHgsIHkpOworK30KKy0tLSBnY2MvdGVzdHN1aXRlL2crKy5kZy9v cHQvaW5saW5lMTMuQy5qagkyMDA3LTExLTA2IDE2OjIwOjIwLjAwMDAwMDAwMCArMDEwMAorKysr IGdjYy90ZXN0c3VpdGUvZysrLmRnL29wdC9pbmxpbmUxMy5DCTIwMDctMTEtMDYgMTY6MjE6MzAu MDAwMDAwMDAwICswMTAwCitAQCAtMCwwICsxLDYwIEBACisrLy8gUFIgdHJlZS1vcHRpbWl6YXRp b24vMzM3NjMKKysvLyB7IGRnLWRvIGNvbXBpbGUgfQorKy8vIHsgZGctb3B0aW9ucyAiLU8yIiB9 CisrCisrdHlwZWRlZiBzdHJ1Y3QKKyt7CisrICB2b2lkICphOworKyAgdm9pZCAqYjsKKyt9IFQ7 CisrZXh0ZXJuIHZvaWQgKmZvbyAoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOworK2V4dGVy biB2b2lkICpiYXIgKHZvaWQgKiwgY29uc3QgY2hhciAqLCBUKTsKKytleHRlcm4gaW50IGJheiAo Y29uc3QgY2hhciAqLCBpbnQpOworKworK2V4dGVybiBpbmxpbmUgX19hdHRyaWJ1dGVfXyAoKGFs d2F5c19pbmxpbmUsIGdudV9pbmxpbmUpKSBpbnQKKytiYXogKGNvbnN0IGNoYXIgKngsIGludCB5 KQorK3sKKysgIHJldHVybiAyOworK30KKysKKytpbnQKKytiYXogKGNvbnN0IGNoYXIgKngsIGlu dCB5KQorK3sKKysgIHJldHVybiAxOworK30KKysKKytpbnQgeGEsIHhiOworKworK3N0YXRpYyB2 b2lkICoKKytpbmwgKGNvbnN0IGNoYXIgKngsIGNvbnN0IGNoYXIgKnkpCisreworKyAgVCB0ID0g eyAmeGEsICZ4YiB9OworKyAgaW50ICpmID0gKGludCAqKSBfX2J1aWx0aW5fbWFsbG9jIChzaXpl b2YgKGludCkpOworKyAgY29uc3QgY2hhciAqejsKKysgIGludCBvID0gMDsKKysgIHZvaWQgKnIg PSAwOworKworKyAgZm9yICh6ID0geTsgKno7IHorKykKKysgICAgeworKyAgICAgIGlmICgqeiA9 PSAncicpCisrCW8gfD0gMTsKKysgICAgICBpZiAoKnogPT0gJ3cnKQorKwlvIHw9IDI7CisrICAg IH0KKysgIGlmIChvID09IDEpCisrICAgICpmID0gYmF6ICh4LCAwKTsKKysgIGlmIChvID09IDIp CisrICAgICpmID0gYmF6ICh4LCAxKTsKKysgIGlmIChvID09IDMpCisrICAgICpmID0gYmF6ICh4 LCAyKTsKKysKKysgIGlmIChvICYmICpmID4gMCkKKysgICAgciA9IGJhciAoZiwgInciLCB0KTsK KysgIHJldHVybiByOworK30KKysKKyt2b2lkICoKKytmb28gKGNvbnN0IGNoYXIgKngsIGNvbnN0 IGNoYXIgKnkpCisreworKyAgcmV0dXJuIGlubCAoeCwgeSk7CisrfQoKZGlmZiAtLWdpdCBhL2dj YzQ2LXByMzg3NTcucGF0Y2ggYi9nY2M0Ni1wcjM4NzU3LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLjVlNmJmNTcKLS0tIC9kZXYvbnVsbAorKysgYi9nY2M0Ni1wcjM4 NzU3LnBhdGNoCkBAIC0wLDAgKzEsMTA1IEBACisyMDA5LTAzLTE4ICBKYWt1YiBKZWxpbmVrICA8 amFrdWJAcmVkaGF0LmNvbT4KKworCVBSIGRlYnVnLzM4NzU3CisJKiBsYW5naG9va3MuaCAoc3Ry dWN0IGxhbmdfaG9va3MpOiBBZGQgc291cmNlX2xhbmd1YWdlIGxhbmdob29rLgorCSogbGFuZ2hv b2tzLWRlZi5oIChMQU5HX0hPT0tTX1NPVVJDRV9MQU5HVUFHRSk6IERlZmluZSB0byBOVUxMLgor CShMQU5HX0hPT0tTX0lOSVRJQUxJWkVSKTogQWRkIExBTkdfSE9PS1NfU09VUkNFX0xBTkdVQUdF LgorCSogYy1sYW5nLmMgKGNfc291cmNlX2xhbmd1YWdlKTogTmV3IGZ1bmN0aW9uLgorCShMQU5H X0hPT0tTX1NPVVJDRV9MQU5HVUFHRSk6IERlZmluZS4KKwkqIGR3YXJmMm91dC5jIChhZGRfcHJv dG90eXBlZF9hdHRyaWJ1dGUpOiBBZGQgRFdfQVRfcHJvdG90eXBlCisJYWxzbyBmb3IgRFdfTEFO R197QyxDOTksT2JqQ30uCisJKGdlbl9jb21waWxlX3VuaXRfZGllKTogVXNlIGxhbmdfaG9va3Mu c291cmNlX2xhbmd1YWdlICgpIHRvCisJZGV0ZXJtaW5lIGlmIERXX0xBTkdfQzk5IG9yIERXX0xB TkdfQzg5IHNob3VsZCBiZSByZXR1cm5lZC4KKworLS0tIGdjYy9sYW5naG9va3MuaC5qagkyMDEx LTAxLTAzIDEyOjUzOjA1LjEyNTc0NTQ1MCArMDEwMAorKysrIGdjYy9sYW5naG9va3MuaAkyMDEx LTAxLTA0IDE3OjU5OjQzLjE2Njc0NDkyNiArMDEwMAorQEAgLTQ2Nyw2ICs0NjcsMTAgQEAgc3Ry dWN0IGxhbmdfaG9va3MKKyAgICAgIGdpbXBsaWZpY2F0aW9uLiAgKi8KKyAgIGJvb2wgZGVlcF91 bnNoYXJpbmc7CisgCisrICAvKiBSZXR1cm4geWVhciBvZiB0aGUgc291cmNlIGxhbmd1YWdlIHN0 YW5kYXJkIHZlcnNpb24gaWYgdGhlIEZFIHN1cHBvcnRzCisrICAgICBtdWx0aXBsZSB2ZXJzaW9u cyBvZiB0aGUgc3RhbmRhcmQuICAqLworKyAgaW50ICgqc291cmNlX2xhbmd1YWdlKSAodm9pZCk7 CisrCisgICAvKiBXaGVuZXZlciB5b3UgYWRkIGVudHJpZXMgaGVyZSwgbWFrZSBzdXJlIHlvdSBh ZGp1c3QgbGFuZ2hvb2tzLWRlZi5oCisgICAgICBhbmQgbGFuZ2hvb2tzLmMgYWNjb3JkaW5nbHku ICAqLworIH07CistLS0gZ2NjL2xhbmdob29rcy1kZWYuaC5qagkyMDExLTAxLTAzIDEyOjUzOjA1 LjAwMDAwMDAwMCArMDEwMAorKysrIGdjYy9sYW5naG9va3MtZGVmLmgJMjAxMS0wMS0wNCAxODow MDo0NC44NTg4NTEwMzAgKzAxMDAKK0BAIC0xMTgsNiArMTE4LDcgQEAgZXh0ZXJuIHZvaWQgbGhk X29tcF9maXJzdHByaXZhdGl6ZV90eXBlXworICNkZWZpbmUgTEFOR19IT09LU19FSF9QUk9URUNU X0NMRUFOVVBfQUNUSU9OUwlOVUxMCisgI2RlZmluZSBMQU5HX0hPT0tTX0VIX1VTRV9DWEFfRU5E X0NMRUFOVVAJZmFsc2UKKyAjZGVmaW5lIExBTkdfSE9PS1NfREVFUF9VTlNIQVJJTkcJZmFsc2UK KysjZGVmaW5lIExBTkdfSE9PS1NfU09VUkNFX0xBTkdVQUdFCU5VTEwKKyAKKyAvKiBBdHRyaWJ1 dGUgaG9va3MuICAqLworICNkZWZpbmUgTEFOR19IT09LU19BVFRSSUJVVEVfVEFCTEUJCU5VTEwK K0BAIC0zMDcsNyArMzA4LDggQEAgZXh0ZXJuIHZvaWQgbGhkX2VuZF9zZWN0aW9uICh2b2lkKTsK KyAgIExBTkdfSE9PS1NfRUhfUlVOVElNRV9UWVBFLCBcCisgICBMQU5HX0hPT0tTX0VIX1BST1RF Q1RfQ0xFQU5VUF9BQ1RJT05TLCBcCisgICBMQU5HX0hPT0tTX0VIX1VTRV9DWEFfRU5EX0NMRUFO VVAsIFwKKy0gIExBTkdfSE9PS1NfREVFUF9VTlNIQVJJTkcgXAorKyAgTEFOR19IT09LU19ERUVQ X1VOU0hBUklORywgXAorKyAgTEFOR19IT09LU19TT1VSQ0VfTEFOR1VBR0UgXAorIH0KKyAKKyAj ZW5kaWYgLyogR0NDX0xBTkdfSE9PS1NfREVGX0ggKi8KKy0tLSBnY2MvYy1sYW5nLmMuamoJMjAx MS0wMS0wMyAxMjo1MzowNS4zNzYwNTY5MzYgKzAxMDAKKysrKyBnY2MvYy1sYW5nLmMJMjAxMS0w MS0wNCAxNzo1OTo0My4xNjc3NDM3OTggKzAxMDAKK0BAIC0zNiw2ICszNiwxMiBAQCBhbG9uZyB3 aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgCisgCisgZW51bSBjX2xhbmd1YWdlX2tp bmQgY19sYW5ndWFnZSA9IGNsa19jOworIAorK3N0YXRpYyBpbnQKKytjX3NvdXJjZV9sYW5ndWFn ZSAodm9pZCkKKyt7CisrICByZXR1cm4gZmxhZ19pc29jOTkgPyAxOTk5IDogMTk4OTsKKyt9Cisr CisgLyogTGFuZyBob29rcyBjb21tb24gdG8gQyBhbmQgT2JqQyBhcmUgZGVjbGFyZWQgaW4gYy1v YmpjLWNvbW1vbi5oOworICAgIGNvbnNlcXVlbnRseSwgdGhlcmUgc2hvdWxkIGJlIHZlcnkgZmV3 IGhvb2tzIGJlbG93LiAgKi8KKyAKK0BAIC00Myw2ICs0OSw4IEBAIGVudW0gY19sYW5ndWFnZV9r aW5kIGNfbGFuZ3VhZ2UgPSBjbGtfYzsKKyAjZGVmaW5lIExBTkdfSE9PS1NfTkFNRSAiR05VIEMi CisgI3VuZGVmIExBTkdfSE9PS1NfSU5JVAorICNkZWZpbmUgTEFOR19IT09LU19JTklUIGNfb2Jq Y19jb21tb25faW5pdAorKyN1bmRlZiBMQU5HX0hPT0tTX1NPVVJDRV9MQU5HVUFHRQorKyNkZWZp bmUgTEFOR19IT09LU19TT1VSQ0VfTEFOR1VBR0UgY19zb3VyY2VfbGFuZ3VhZ2UKKyAKKyAvKiBF YWNoIGZyb250IGVuZCBwcm92aWRlcyBpdHMgb3duIGxhbmcgaG9vayBpbml0aWFsaXplci4gICov Cisgc3RydWN0IGxhbmdfaG9va3MgbGFuZ19ob29rcyA9IExBTkdfSE9PS1NfSU5JVElBTElaRVI7 CistLS0gZ2NjL2R3YXJmMm91dC5jLmpqCTIwMTEtMDEtMDMgMTI6NTM6MDUuMTAyMDU2NDc1ICsw MTAwCisrKysgZ2NjL2R3YXJmMm91dC5jCTIwMTEtMDEtMDQgMTg6MDM6MTQuNTM0MTUxNzYzICsw MTAwCitAQCAtMTc2NTAsOSArMTc2NTAsMTggQEAgYWRkX2JpdF9zaXplX2F0dHJpYnV0ZSAoZHdf ZGllX3JlZiBkaWUsIAorIHN0YXRpYyBpbmxpbmUgdm9pZAorIGFkZF9wcm90b3R5cGVkX2F0dHJp YnV0ZSAoZHdfZGllX3JlZiBkaWUsIHRyZWUgZnVuY190eXBlKQorIHsKKy0gIGlmIChnZXRfQVRf dW5zaWduZWQgKGNvbXBfdW5pdF9kaWUgKCksIERXX0FUX2xhbmd1YWdlKSA9PSBEV19MQU5HX0M4 OQorLSAgICAgICYmIHByb3RvdHlwZV9wIChmdW5jX3R5cGUpKQorLSAgICBhZGRfQVRfZmxhZyAo ZGllLCBEV19BVF9wcm90b3R5cGVkLCAxKTsKKysgIHN3aXRjaCAoZ2V0X0FUX3Vuc2lnbmVkIChj b21wX3VuaXRfZGllICgpLCBEV19BVF9sYW5ndWFnZSkpCisrICAgIHsKKysgICAgY2FzZSBEV19M QU5HX0M6CisrICAgIGNhc2UgRFdfTEFOR19DODk6CisrICAgIGNhc2UgRFdfTEFOR19DOTk6Cisr ICAgIGNhc2UgRFdfTEFOR19PYmpDOgorKyAgICAgIGlmIChwcm90b3R5cGVfcCAoZnVuY190eXBl KSAhPSBOVUxMKQorKwlhZGRfQVRfZmxhZyAoZGllLCBEV19BVF9wcm90b3R5cGVkLCAxKTsKKysg ICAgICBicmVhazsKKysgICAgZGVmYXVsdDoKKysgICAgICBicmVhazsKKysgICAgfQorIH0KKyAK KyAvKiBBZGQgYW4gJ2Fic3RyYWN0X29yaWdpbicgYXR0cmlidXRlIGJlbG93IGEgZ2l2ZW4gRElF LiAgVGhlIERJRSBpcyBmb3VuZAorQEAgLTE5ODc1LDYgKzE5ODg0LDEwIEBAIGdlbl9jb21waWxl X3VuaXRfZGllIChjb25zdCBjaGFyICpmaWxlbmEKKyAJbGFuZ3VhZ2UgPSBEV19MQU5HX09iakM7 CisgICAgICAgZWxzZSBpZiAoc3RyY21wIChsYW5ndWFnZV9zdHJpbmcsICJHTlUgT2JqZWN0aXZl LUMrKyIpID09IDApCisgCWxhbmd1YWdlID0gRFdfTEFOR19PYmpDX3BsdXNfcGx1czsKKysgICAg ICBlbHNlIGlmIChzdHJjbXAgKGxhbmd1YWdlX3N0cmluZywgIkdOVSBDIikgPT0gMAorKwkgICAg ICAgJiYgbGFuZ19ob29rcy5zb3VyY2VfbGFuZ3VhZ2UKKysJICAgICAgICYmIGxhbmdfaG9va3Mu c291cmNlX2xhbmd1YWdlICgpID49IDE5OTkpCisrCWxhbmd1YWdlID0gRFdfTEFOR19DOTk7Cisg ICAgIH0KKyAKKyAgIGFkZF9BVF91bnNpZ25lZCAoZGllLCBEV19BVF9sYW5ndWFnZSwgbGFuZ3Vh Z2UpOwoKZGlmZiAtLWdpdCBhL2djYzQ2LXByNDY4OTAucGF0Y2ggYi9nY2M0Ni1wcjQ2ODkwLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhZmIzZjYKLS0tIC9kZXYv bnVsbAorKysgYi9nY2M0Ni1wcjQ2ODkwLnBhdGNoCkBAIC0wLDAgKzEsMTEwIEBACisyMDEwLTEy LTE3ICBOYXRoYW4gRnJveWQgIDxmcm95ZG5qQGNvZGVzb3VyY2VyeS5jb20+CisKKwlQUiBjKysv NDY4OTAKKwkqIHBhcnNlci5jIChjcF9wYXJzZXJfY2xhc3Nfc3BlY2lmaWVyKTogQWRkIFJJRF9U WVBFREVGIHRvCisJbG9va2FoZWFkIGxvZ2ljIGFuZCBmaXggc2V0dGluZyBvZiB3YW50X3NlbWlj b2xvbi4KKworCSogZysrLmRnL3ByNDY4OTAuQzogTmV3IHRlc3QuCisJKiBnKysuZGcvcGFyc2Uv c2VtaWNvbG9uLkM6IEFkZCBuZXcgY2FzZXMuCisKKy0tLSBnY2MvY3AvcGFyc2VyLmMKKysrKyBn Y2MvY3AvcGFyc2VyLmMKK0BAIC0xNjk1OSwxNyArMTY5NTksMTYgQEAgY3BfcGFyc2VyX2NsYXNz X3NwZWNpZmllciAoY3BfcGFyc2VyKiBwYXJzZXIpCisgCSAgIHN0YXRpYyBjb25zdCA8dHlwZT4g dmFyID0gLi4uOyAgKi8KKyAgICAgICBjYXNlIENQUF9LRVlXT1JEOgorIAlpZiAoa2V5d29yZF9p c19zdG9yYWdlX2NsYXNzX3NwZWNpZmllciAodG9rZW4tPmtleXdvcmQpCistCSAgICB8fCBrZXl3 b3JkX2lzX3R5cGVfcXVhbGlmaWVyICh0b2tlbi0+a2V5d29yZCkpCisrCSAgICB8fCBrZXl3b3Jk X2lzX3R5cGVfcXVhbGlmaWVyICh0b2tlbi0+a2V5d29yZCkKKysJICAgIHx8IHRva2VuLT5rZXl3 b3JkID09IFJJRF9UWVBFREVGKQorIAkgIHsKKyAJICAgIGNwX3Rva2VuICpsb29rYWhlYWQgPSBj cF9sZXhlcl9wZWVrX250aF90b2tlbiAocGFyc2VyLT5sZXhlciwgMik7CisgCistCSAgICBpZiAo bG9va2FoZWFkLT50eXBlID09IENQUF9LRVlXT1JECistCQkmJiAha2V5d29yZF9iZWdpbnNfdHlw ZV9zcGVjaWZpZXIgKGxvb2thaGVhZC0+a2V5d29yZCkpCistCSAgICAgIHdhbnRfc2VtaWNvbG9u ID0gZmFsc2U7CistCSAgICBlbHNlIGlmIChsb29rYWhlYWQtPnR5cGUgPT0gQ1BQX05BTUUpCist CSAgICAgIC8qIEhhbmRsaW5nIHVzZXItZGVmaW5lZCB0eXBlcyBoZXJlIHdvdWxkIGJlIG5pY2Us IGJ1dAorLQkJIHZlcnkgdHJpY2t5LiAgKi8KKy0JICAgICAgd2FudF9zZW1pY29sb24gPSBmYWxz ZTsKKysJICAgIC8qIEhhbmRsaW5nIHVzZXItZGVmaW5lZCB0eXBlcyBoZXJlIHdvdWxkIGJlIG5p Y2UsIGJ1dCB2ZXJ5CisrCSAgICAgICB0cmlja3kuICAqLworKwkgICAgd2FudF9zZW1pY29sb24K KysJICAgICAgPSAobG9va2FoZWFkLT50eXBlID09IENQUF9LRVlXT1JECisrCQkgJiYga2V5d29y ZF9iZWdpbnNfdHlwZV9zcGVjaWZpZXIgKGxvb2thaGVhZC0+a2V5d29yZCkpOworIAkgIH0KKyAJ YnJlYWs7CisgICAgICAgZGVmYXVsdDoKKy0tLSBnY2MvdGVzdHN1aXRlL2crKy5kZy9wYXJzZS9z ZW1pY29sb24zLkMKKysrKyBnY2MvdGVzdHN1aXRlL2crKy5kZy9wYXJzZS9zZW1pY29sb24zLkMK K0BAIC02Miw2ICs2Miw0OCBAQCBhdXRvdGVzdCAodm9pZCkKKyAgIHJldHVybiBvazEwLmE7Cisg fQorIAorK3N0cnVjdCBPSzExCisreworKyAgaW50IGE7CisrfSAvLyBubyBjb21wbGFpbnRzCisr ICBjb25zdCAqb2sxMV92YXI7CisrCisrc3RydWN0IE9LMTIKKyt7CisrICBpbnQgYTsKKyt9IC8v IG5vIGNvbXBsYWludHMKKysgIGNvbnN0ICZvazEyX3ZhciA9ICoobmV3IE9LMTIoKSk7CisrCisr c3RydWN0IE9LMTMKKyt7CisrICBpbnQgYTsKKyt9IC8vIG5vIGNvbXBsYWludHMKKysgIHN0YXRp YyAqb2sxM192YXI7CisrCisrY2xhc3MgT0sxNAorK3sKKysgIHN0cnVjdCBPSzE0c3ViCisrICB7 CisrICAgIGludCBhOworKyAgfSAvLyBubyBjb21wbGFpbnRzCisrICAgIHN0YXRpYyAmb2sxNF92 YXI7CisrfTsKKysKKytjbGFzcyBPSzE1CisreworKyAgaW50IGE7CisrfSB0eXBlZGVmIHRPSzE1 OworKworK2NsYXNzIE9LMTYKKyt7CisrICBpbnQgYTsKKyt9IHR5cGVkZWYgKnBPSzE2OworKwor K2NsYXNzIE9LMTcKKyt7CisrICBpbnQgYTsKKyt9IHR5cGVkZWYgJnJPSzE2OworKworIHN0cnVj dCBFMQorIHsKKyAgIGludCBhOworQEAgLTE5Niw2ICsyMzgsMTMgQEAgY2xhc3MgRTE3CisgICAg IG11dGFibGUgaW50IGk7CisgfSAvLyB7IGRnLWVycm9yICJhZnRlciBjbGFzcyBkZWZpbml0aW9u IiB9CisgCisrY2xhc3MgRTE4CisreworKyAgaW50IGE7CisrfSAvLyB7IGRnLWVycm9yICJhZnRl ciBjbGFzcyBkZWZpbml0aW9uIiB9CisrCisrdHlwZWRlZiBpbnQgRTE4aW50OworKworIC8qIFRo aXMgd2FzIHRoZSBvcmlnaW5hbCB0ZXN0IGZyb20gdGhlIFBSLiAgKi8KKyAKKyBjbGFzcyBDMAor LS0tIGdjYy90ZXN0c3VpdGUvZysrLmRnL3ByNDY4OTAuQworKysrIGdjYy90ZXN0c3VpdGUvZysr LmRnL3ByNDY4OTAuQworQEAgLTAsMCArMSw2IEBACisrLy8gUFIgYysrLzQ2ODkwCisrLy8geyBk Zy1kbyBjb21waWxlIH0KKysKKytzdHJ1Y3QgTWRhdFJlc291cmNlIHsKKytjb25zdCBjaGFyICpt ZGF0QWxsb2M7CisrfSBjb25zdCAqX3Jlc291cmNlOwoKZGlmZiAtLWdpdCBhL2djYzQ2LXByNDcx MDYtcmV2ZXJ0LnBhdGNoIGIvZ2NjNDYtcHI0NzEwNi1yZXZlcnQucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTk0MGY2NQotLS0gL2Rldi9udWxsCisrKyBiL2djYzQ2 LXByNDcxMDYtcmV2ZXJ0LnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK1RlbXBvcmFyaWx5IHJldmVy dDoKKwkyMDExLTAxLTIxICBBbGV4YW5kcmUgT2xpdmEgIDxhb2xpdmFAcmVkaGF0LmNvbT4KKwor CVBSIGRlYnVnLzQ3MTA2CisJKiBjZmdleHBhbmQuYyAoYWNjb3VudF91c2VkX3ZhcnNfZm9yX2Js b2NrKTogT25seSBhY2NvdW50IHZhcnMKKwl0aGF0IGFyZSBhbm5vdGF0ZWQgYXMgdXNlZC4KKwko ZXN0aW1hdGVkX3N0YWNrX2ZyYW1lX3NpemUpOiBEb24ndCBzZXQgVFJFRV9VU0VELgorCistLS0g Z2NjL2NmZ2V4cGFuZC5jCShyZXZpc2lvbiAxNjkwOTMpCisrKysgZ2NjL2NmZ2V4cGFuZC5jCShy ZXZpc2lvbiAxNjkwOTIpCitAQCAtMTMyNSw3ICsxMzI1LDcgQEAgYWNjb3VudF91c2VkX3ZhcnNf Zm9yX2Jsb2NrICh0cmVlIGJsb2NrLAorIAorICAgLyogRXhwYW5kIGFsbCB2YXJpYWJsZXMgYXQg dGhpcyBsZXZlbC4gICovCisgICBmb3IgKHQgPSBCTE9DS19WQVJTIChibG9jayk7IHQgOyB0ID0g REVDTF9DSEFJTiAodCkpCistICAgIGlmICh2YXJfYW5uICh0KSAmJiB2YXJfYW5uICh0KS0+dXNl ZCkKKysgICAgaWYgKFRSRUVfVVNFRCAodCkpCisgICAgICAgc2l6ZSArPSBleHBhbmRfb25lX3Zh ciAodCwgdG9wbGV2ZWwsIGZhbHNlKTsKKyAKKyAgIC8qIEV4cGFuZCBhbGwgdmFyaWFibGVzIGF0 IGNvbnRhaW5pbmcgbGV2ZWxzLiAgKi8KK0BAIC0xMzg5LDEwICsxMzg5LDkgQEAgZXN0aW1hdGVk X3N0YWNrX2ZyYW1lX3NpemUgKHRyZWUgZGVjbCkKKyAKKyAgIEZPUl9FQUNIX0xPQ0FMX0RFQ0wg KGNmdW4sIGl4LCB2YXIpCisgICAgIHsKKy0gICAgICAvKiBUUkVFX1VTRUQgbWFya3MgbG9jYWwg dmFyaWFibGVzIHRoYXQgZG8gbm90IGFwcGVhciBpbiBsZXhpY2FsCistCSBibG9ja3MuICBXZSBk b24ndCB3YW50IHRvIGV4cGFuZCB0aG9zZSB0aGF0IGRvIHR3aWNlLiAgKi8KKyAgICAgICBpZiAo VFJFRV9VU0VEICh2YXIpKQorICAgICAgICAgc2l6ZSArPSBleHBhbmRfb25lX3ZhciAodmFyLCB0 cnVlLCBmYWxzZSk7CisrICAgICAgVFJFRV9VU0VEICh2YXIpID0gMTsKKyAgICAgfQorICAgc2l6 ZSArPSBhY2NvdW50X3VzZWRfdmFyc19mb3JfYmxvY2sgKG91dGVyX2Jsb2NrLCB0cnVlKTsKKyAK CmRpZmYgLS1naXQgYS9nY2M0Ni1yaDMzMDc3MS5wYXRjaCBiL2djYzQ2LXJoMzMwNzcxLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwMjczMGYKLS0tIC9kZXYvbnVs bAorKysgYi9nY2M0Ni1yaDMzMDc3MS5wYXRjaApAQCAtMCwwICsxLDI3IEBACisyMDA3LTEwLTE2 ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KKworCSogTWFrZWZpbGUuYW0gKGxp Ymdjal90b29sc19sYV9MSUJBREQpOiBBZGQuCisJKiBNYWtlZmlsZS5pbjogUmVnZW5lcmF0ZWQu CisKKy0tLSBsaWJqYXZhL01ha2VmaWxlLmFtLmpqCTIwMDktMDUtMDYgMDg6MTQ6NTAuMDAwMDAw MDAwICswMjAwCisrKysgbGliamF2YS9NYWtlZmlsZS5hbQkyMDA5LTA1LTA2IDEwOjI2OjQzLjAw MDAwMDAwMCArMDIwMAorQEAgLTU1MCw3ICs1NTAsNyBAQCBsaWJnY2pfdG9vbHNfbGFfTERGTEFH UyA9IC1ycGF0aCAkKHRvb2xlCisgICQoTElCR0NKX0xEX1NZTUJPTElDX0ZVTkNUSU9OUykgJChM SUJKQVZBX0xERkxBR1NfTk9VTkRFRikgXAorICAkKExJQkpBVkFfTERGTEFHU19MSUJNQVRIKQor IAorLWxpYmdjal90b29sc19sYV9MSUJBREQgPSBsaWJnY2oubGEKKytsaWJnY2pfdG9vbHNfbGFf TElCQUREID0gLUwkKGhlcmUpLy5saWJzIGxpYmdjai5sYQorIGxpYmdjal90b29sc19sYV9ERVBF TkRFTkNJRVMgPSBsaWJnY2oubGEgbGliZ2NqLnNwZWMgXAorICAkKGxpYmdjal90b29sc19sYV92 ZXJzaW9uX2RlcCkKKyBpZiBCVUlMRF9TVUJMSUJTCistLS0gbGliamF2YS9NYWtlZmlsZS5pbi5q agkyMDA5LTA1LTA2IDA4OjE0OjQ5LjAwMDAwMDAwMCArMDIwMAorKysrIGxpYmphdmEvTWFrZWZp bGUuaW4JMjAwOS0wNS0wNiAxMDoyNzoxOC4wMDAwMDAwMDAgKzAyMDAKK0BAIC0xMTEwLDcgKzEx MTAsNyBAQCBsaWJnY2pfdG9vbHNfbGFfTERGTEFHUyA9IC1ycGF0aCAkKHRvb2xlCisgICQoTElC R0NKX0xEX1NZTUJPTElDX0ZVTkNUSU9OUykgJChMSUJKQVZBX0xERkxBR1NfTk9VTkRFRikgXAor ICAkKExJQkpBVkFfTERGTEFHU19MSUJNQVRIKQorIAorLWxpYmdjal90b29sc19sYV9MSUJBREQg PSBsaWJnY2oubGEKKytsaWJnY2pfdG9vbHNfbGFfTElCQUREID0gLUwkKGhlcmUpLy5saWJzIGxp Ymdjai5sYQorIGxpYmdjal90b29sc19sYV9ERVBFTkRFTkNJRVMgPSBsaWJnY2oubGEgbGliZ2Nq LnNwZWMgXAorIAkkKGxpYmdjal90b29sc19sYV92ZXJzaW9uX2RlcCkgJChhbV9fYXBwZW5kXzE5 KQorIGxpYmdjal90b29sc19sYV9MSU5LID0gJChMSUJMSU5LKSAkKGxpYmdjal90b29sc19sYV9M REZMQUdTKSBcCgpkaWZmIC0tZ2l0IGEvZ2NjNDYtc3BhcmMtY29uZmlnLWRldGVjdGlvbi5wYXRj aCBiL2djYzQ2LXNwYXJjLWNvbmZpZy1kZXRlY3Rpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uY2QzNmU3MAotLS0gL2Rldi9udWxsCisrKyBiL2djYzQ2LXNwYXJj LWNvbmZpZy1kZXRlY3Rpb24ucGF0Y2gKQEAgLTAsMCArMSw0MCBAQAorLS0tIGdjYy9jb25maWcu Z2NjLmpqCTIwMDgtMDQtMjQgMTU6NDI6NDYuMDAwMDAwMDAwIC0wNTAwCisrKysgZ2NjL2NvbmZp Zy5nY2MJMjAwOC0wNC0yNCAxNTo0NDo1MS4wMDAwMDAwMDAgLTA1MDAKK0BAIC0yNDgzLDcgKzI0 ODMsNyBAQCBzcGFyYy0qLXJ0ZW1zKikKKyAJdG1ha2VfZmlsZT0ic3BhcmMvdC1lbGYgc3BhcmMv dC1jcnRmbSB0LXJ0ZW1zIgorIAlleHRyYV9wYXJ0cz0iY3J0YmVnaW4ubyBjcnRlbmQubyIKKyAJ OzsKKy1zcGFyYy0qLWxpbnV4KikKKytzcGFyYy0qLWxpbnV4KiB8IHNwYXJjdjktKi1saW51eCop CisgCXRtX2ZpbGU9IiR7dG1fZmlsZX0gZGJ4ZWxmLmggZWxmb3MuaCBzcGFyYy9zeXN2NC5oIGxp bnV4LmggZ2xpYmMtc3RkaW50LmgiCisgCWV4dHJhX29wdGlvbnM9IiR7ZXh0cmFfb3B0aW9uc30g c3BhcmMvbG9uZy1kb3VibGUtc3dpdGNoLm9wdCIKKyAJY2FzZSAke3RhcmdldH0gaW4KK0BAIC0y NTc3LDcgKzI1NzcsNyBAQCBzcGFyYzY0LSotcnRlbXMqKQorIAl0bWFrZV9maWxlPSIke3RtYWtl X2ZpbGV9IHNwYXJjL3QtY3J0Zm0gdC1ydGVtcyIKKyAJZXh0cmFfcGFydHM9ImNydGJlZ2luLm8g Y3J0ZW5kLm8iCisgCTs7Cistc3BhcmM2NC0qLWxpbnV4KikKKytzcGFyYzY0Ki0qLWxpbnV4KikK KyAJdG1fZmlsZT0ic3BhcmMvYmlhcmNoNjQuaCAke3RtX2ZpbGV9IGRieGVsZi5oIGVsZm9zLmgg c3BhcmMvc3lzdjQuaCBsaW51eC5oIGdsaWJjLXN0ZGludC5oIHNwYXJjL2xpbnV4NjQuaCIKKyAJ ZXh0cmFfb3B0aW9ucz0iJHtleHRyYV9vcHRpb25zfSBzcGFyYy9sb25nLWRvdWJsZS1zd2l0Y2gu b3B0IgorIAl0bWFrZV9maWxlPSIke3RtYWtlX2ZpbGV9IHNwYXJjL3QtbGludXggc3BhcmMvdC1s aW51eDY0IHNwYXJjL3QtY3J0Zm0iCistLS0gbGliZ2NjL2NvbmZpZy5ob3N0LmpqCTIwMDgtMDQt MjQgMTU6NDY6MTkuMDAwMDAwMDAwIC0wNTAwCisrKysgbGliZ2NjL2NvbmZpZy5ob3N0CTIwMDgt MDQtMjQgMTU6NDY6NDkuMDAwMDAwMDAwIC0wNTAwCitAQCAtNTcyLDcgKzU3Miw3IEBAIHNwYXJj NjQtKi1vcGVuYnNkKikKKyAJOzsKKyBzcGFyYy0qLWVsZiopCisgCTs7Cistc3BhcmMtKi1saW51 eCopCQkjIFNQQVJDJ3MgcnVubmluZyBHTlUvTGludXgsIGxpYmM2Cisrc3BhcmMtKi1saW51eCog fCBzcGFyY3Y5Ki0qLWxpbnV4KikJCSMgU1BBUkMncyBydW5uaW5nIEdOVS9MaW51eCwgbGliYzYK KyAJZXh0cmFfcGFydHM9IiRleHRyYV9wYXJ0cyBjcnRmYXN0bWF0aC5vIgorIAl0bWFrZV9maWxl PSIke3RtYWtlX2ZpbGV9IHNwYXJjL3QtY3J0Zm0iCisgCTs7CitAQCAtNTkwLDcgKzU5MCw3IEBA IHNwYXJjLXdycy12eHdvcmtzKQorIAk7OworIHNwYXJjNjQtKi1mcmVlYnNkKnx1bHRyYXNwYXJj LSotZnJlZWJzZCopCisgCTs7Cistc3BhcmM2NC0qLWxpbnV4KikJCSMgNjQtYml0IFNQQVJDJ3Mg cnVubmluZyBHTlUvTGludXgKKytzcGFyYzY0Ki0qLWxpbnV4KikJCSMgNjQtYml0IFNQQVJDJ3Mg cnVubmluZyBHTlUvTGludXgKKyAJZXh0cmFfcGFydHM9IiRleHRyYV9wYXJ0cyBjcnRmYXN0bWF0 aC5vIgorIAl0bWFrZV9maWxlPSIke3RtYWtlX2ZpbGV9IHNwYXJjL3QtY3J0Zm0iCisgCTs7Cgpk aWZmIC0tZ2l0IGEvZ2NjNDYtdW53aW5kLWRlYnVnaG9vay1zZHQucGF0Y2ggYi9nY2M0Ni11bndp bmQtZGVidWdob29rLXNkdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li4zYjg3ZTM5Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjNDYtdW53aW5kLWRlYnVnaG9vay1zZHQu cGF0Y2gKQEAgLTAsMCArMSw4OCBAQAorMjAxMS0wMS0xNCAgVG9tIFRyb21leSAgPHRyb21leUBy ZWRoYXQuY29tPgorCisJKiB1bndpbmQtZHcyLmM6IEluY2x1ZGUgc3lzL3NkdC5oIGlmIGl0IGV4 aXN0cy4KKwkoX1Vud2luZF9EZWJ1Z0hvb2spOiBVc2UgU1RBUF9QUk9CRTIuCisJKiBjb25maWcu aW4sIGNvbmZpZ3VyZTogUmVidWlsZC4KKwkqIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIHN5cy9z ZHQuaC4KKworLS0tIGdjYy9jb25maWd1cmUuYWMKKysrKyBnY2MvY29uZmlndXJlLmFjCitAQCAt NDMxMyw2ICs0MzEzLDE2IEBAIGlmIHRlc3QgeCRnY2NfY3ZfbGliY19wcm92aWRlc19zc3AgPSB4 eWVzOyB0aGVuCisgCSAgICBbRGVmaW5lIGlmIHlvdXIgdGFyZ2V0IEMgbGlicmFyeSBwcm92aWRl cyBzdGFjayBwcm90ZWN0b3Igc3VwcG9ydF0pCisgZmkKKyAKKysjIFRlc3QgZm9yIDxzeXMvc2R0 Lmg+IG9uIHRoZSB0YXJnZXQuCisrR0NDX1RBUkdFVF9URU1QTEFURShbSEFWRV9TWVNfU0RUX0hd KQorK0FDX01TR19DSEVDS0lORyhzeXMvc2R0LmggaW4gdGhlIHRhcmdldCBDIGxpYnJhcnkpCisr aGF2ZV9zeXNfc2R0X2g9bm8KKytpZiB0ZXN0IC1mICR0YXJnZXRfaGVhZGVyX2Rpci9zeXMvc2R0 Lmg7IHRoZW4KKysgIEFDX0RFRklORShIQVZFX1NZU19TRFRfSCwgMSwKKysgICAgICAgICAgICBb RGVmaW5lIGlmIHlvdXIgdGFyZ2V0IEMgbGlicmFyeSBwcm92aWRlcyBzeXMvc2R0LmhdKQorK2Zp CisrQUNfTVNHX1JFU1VMVCgkaGF2ZV9zeXNfc2R0X2gpCisrCisgIyBDaGVjayBpZiBURm1vZGUg bG9uZyBkb3VibGUgc2hvdWxkIGJlIHVzZWQgYnkgZGVmYXVsdCBvciBub3QuCisgIyBTb21lIGds aWJjIHRhcmdldHMgdXNlZCBERm1vZGUgbG9uZyBkb3VibGUsIGJ1dCB3aXRoIGdsaWJjIDIuNAor ICMgYW5kIGxhdGVyIHRoZXkgY2FuIHVzZSBURm1vZGUuCistLS0gZ2NjL3Vud2luZC1kdzIuYwor KysrIGdjYy91bndpbmQtZHcyLmMKK0BAIC0zNyw2ICszNywxMCBAQAorICNpbmNsdWRlICJndGhy LmgiCisgI2luY2x1ZGUgInVud2luZC1kdzIuaCIKKyAKKysjaWZkZWYgSEFWRV9TWVNfU0RUX0gK KysjaW5jbHVkZSA8c3lzL3NkdC5oPgorKyNlbmRpZgorKworICNpZm5kZWYgX19VU0lOR19TSkxK X0VYQ0VQVElPTlNfXworIAorICNpZm5kZWYgU1RBQ0tfR1JPV1NfRE9XTldBUkQKK0BAIC0xNDkz LDcgKzE0OTcsMTMgQEAgc3RhdGljIHZvaWQKKyBfVW53aW5kX0RlYnVnSG9vayAodm9pZCAqY2Zh IF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9fKSksCisgCQkgICB2b2lkICpoYW5kbGVyIF9fYXR0 cmlidXRlX18gKChfX3VudXNlZF9fKSkpCisgeworKyAgLyogV2Ugb25seSB3YW50IHRvIHVzZSBz dGFwIHByb2JlcyBzdGFydGluZyB3aXRoIHYzLiAgRWFybGllcgorKyAgICAgdmVyc2lvbnMgYWRk ZWQgdG9vIG11Y2ggc3RhcnR1cCBjb3N0LiAgKi8KKysjaWYgZGVmaW5lZCAoSEFWRV9TWVNfU0RU X0gpICYmIGRlZmluZWQgKFNUQVBfUFJPQkUyKSAmJiBfU0RUX05PVEVfVFlQRSA+PSAzCisrICBT VEFQX1BST0JFMiAobGliZ2NjLCB1bndpbmQsIGNmYSwgaGFuZGxlcik7CisrI2Vsc2UKKyAgIGFz bSAoIiIpOworKyNlbmRpZgorIH0KKyAKKyAvKiBJbnN0YWxsIFRBUkdFVCBpbnRvIENVUlJFTlQg c28gdGhhdCB3ZSBjYW4gcmV0dXJuIHRvIGl0LiAgVGhpcyBpcyBhCisKKy0tLSBnY2MvY29uZmln LmluLmpqCTIwMTEtMDEtMjIgMTA6MjE6NDcuMDAwMDAwMDAwICswMTAwCisrKysgZ2NjL2NvbmZp Zy5pbgkyMDExLTAxLTIyIDExOjEwOjM5LjAwMDAwMDAwMCArMDEwMAorQEAgLTE0MDUsNiArMTQw Nyw5IEBACisgI2VuZGlmCisgCisgCisrLyogRGVmaW5lIGlmIHlvdXIgdGFyZ2V0IEMgbGlicmFy eSBwcm92aWRlcyBzeXMvc2R0LmggKi8KKysjdW5kZWYgSEFWRV9TWVNfU0RUX0gKKysKKyAvKiBE ZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9zdGF0Lmg+IGhlYWRlciBmaWxlLiAqLwor ICNpZm5kZWYgVVNFRF9GT1JfVEFSR0VUCisgI3VuZGVmIEhBVkVfU1lTX1NUQVRfSAorLS0tIGdj Yy9jb25maWd1cmUuamoJMjAxMS0wMS0yMiAxMDoyMDo1NS4wMDAwMDAwMDAgKzAxMDAKKysrKyBn Y2MvY29uZmlndXJlCTIwMTEtMDEtMjIgMTE6MTA6MzQuOTkwNjQ4Mjk4ICswMTAwCitAQCAtMjU3 NTcsNiArMjU3NTcsMTkgQEAgJGFzX2VjaG8gIiNkZWZpbmUgVEFSR0VUX0xJQkNfUFJPVklERVNf UworIAorIGZpCisgCisrIyBUZXN0IGZvciA8c3lzL3NkdC5oPiBvbiB0aGUgdGFyZ2V0LgorKwor K3sgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgc3lzL3Nk dC5oIGluIHRoZSB0YXJnZXQgQyBsaWJyYXJ5IiA+JjUKKyskYXNfZWNob19uICJjaGVja2luZyBz eXMvc2R0LmggaW4gdGhlIHRhcmdldCBDIGxpYnJhcnkuLi4gIiA+JjY7IH0KKytoYXZlX3N5c19z ZHRfaD1ubworK2lmIHRlc3QgLWYgJHRhcmdldF9oZWFkZXJfZGlyL3N5cy9zZHQuaDsgdGhlbgor KworKyRhc19lY2hvICIjZGVmaW5lIEhBVkVfU1lTX1NEVF9IIDEiID4+Y29uZmRlZnMuaAorKwor K2ZpCisreyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRo YXZlX3N5c19zZHRfaCIgPiY1CisrJGFzX2VjaG8gIiRoYXZlX3N5c19zZHRfaCIgPiY2OyB9Cisr CisgIyBDaGVjayBpZiBURm1vZGUgbG9uZyBkb3VibGUgc2hvdWxkIGJlIHVzZWQgYnkgZGVmYXVs dCBvciBub3QuCisgIyBTb21lIGdsaWJjIHRhcmdldHMgdXNlZCBERm1vZGUgbG9uZyBkb3VibGUs IGJ1dCB3aXRoIGdsaWJjIDIuNAorICMgYW5kIGxhdGVyIHRoZXkgY2FuIHVzZSBURm1vZGUuCgpk aWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggY2E0NmYzYi4uMjRkZmRiMiAxMDA2 NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBAIC0xLDIgKzEsMiBAQAogMjY1OWYwOWMy ZTQzZWY4YjdkNDQwNjMyMTc1M2YxYjIgIGZhc3RqYXItMC45Ny50YXIuZ3oKLWM4NTNlMWE4ZmE5 MmZmZTBmOTU2MDFmY2VkYWU4MWJmICBnY2MtNC41LjEtMjAxMDExMzAudGFyLmJ6MgorODllZTEx MzI3OTIxOTRlNjI0MjRkZWU5OWE3ODBjNjAgIGdjYy00LjYuMC0yMDExMDEyMi50YXIuYnoyCg==