[RFC][PATCH] Remove private symbols from Vorbis shared libs
Yuri Gribov <[email protected]> Fri, 27 Apr 2018 21:40:34 +0100
| Newsgroups | gmane.comp.multimedia.ogg.vorbis.devel |
|---|---|
| Message-ID | <CAJOtW+6bWj9BJoQ6HOCygUCYnYLLgA67LCv-t2t2JBuCfW5KLg@mail.gmail.com> |
--0000000000001f02a8056ada8415 Content-Type: text/plain; charset="UTF-8" Hi all, I recently noticed that Vorbis shlibs export several symbols which are not present in it's public header (for a total of 85 symbols, see attach). Would it make sense to filter them via -fvisibility=hidden and -Wl,--version-script? I attached a draft patch. Best regards, Yury Gribov --0000000000001f02a8056ada8415 Content-Type: text/plain; charset="US-ASCII"; name="Private_symbols.txt" Content-Disposition: attachment; filename="Private_symbols.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jgif8sn61 X2Jvb2tfbWFwdHlwZTFfcXVhbnR2YWxzDQpfYm9va191bnF1YW50aXplDQpfX2Jzc19zdGFydA0K ZHJmdF9iYWNrd2FyZA0KZHJmdF9jbGVhcg0KZHJmdF9mb3J3YXJkDQpkcmZ0X2luaXQNCl9lZGF0 YQ0KX2VuZA0KX2ZpbmkNCl9mbG9hdDMyX3BhY2sNCl9mbG9hdDMyX3VucGFjaw0KZmxvb3IwX2V4 cG9ydGJ1bmRsZQ0KZmxvb3IxX2VuY29kZQ0KZmxvb3IxX2V4cG9ydGJ1bmRsZQ0KZmxvb3IxX2Zp dA0KZmxvb3IxX2ludGVycG9sYXRlX2ZpdA0KX2Zsb29yX1ANCl9pbml0DQpfbWFrZV93b3Jkcw0K bWFwcGluZzBfZXhwb3J0YnVuZGxlDQpfbWFwcGluZ19QDQptZGN0X2JhY2t3YXJkDQptZGN0X2Ns ZWFyDQptZGN0X2ZvcndhcmQNCm1kY3RfaW5pdA0Kb3ZfaWxvZw0KcmVzMF9mcmVlX2luZm8NCnJl czBfZnJlZV9sb29rDQpyZXMwX2ludmVyc2UNCnJlczBfbG9vaw0KcmVzMF9wYWNrDQpyZXMwX3Vu cGFjaw0KcmVzMV9jbGFzcw0KcmVzMV9mb3J3YXJkDQpyZXMxX2ludmVyc2UNCnJlczJfY2xhc3MN CnJlczJfZm9yd2FyZA0KcmVzMl9pbnZlcnNlDQpyZXNpZHVlMF9leHBvcnRidW5kbGUNCnJlc2lk dWUxX2V4cG9ydGJ1bmRsZQ0KcmVzaWR1ZTJfZXhwb3J0YnVuZGxlDQpfcmVzaWR1ZV9QDQpfdmVf ZW52ZWxvcGVfY2xlYXINCl92ZV9lbnZlbG9wZV9pbml0DQpfdmVfZW52ZWxvcGVfbWFyaw0KX3Zl X2VudmVsb3BlX3NlYXJjaA0KX3ZlX2VudmVsb3BlX3NoaWZ0DQpfdmlfZ3BzeV9mcmVlDQpfdmlf cHN5X2ZyZWUNCl92b3JiaXNfYXBwbHlfd2luZG93DQp2b3JiaXNfYml0cmF0ZV9jbGVhcg0Kdm9y YmlzX2JpdHJhdGVfaW5pdA0Kdm9yYmlzX2JpdHJhdGVfbWFuYWdlZA0KX3ZvcmJpc19ibG9ja19h bGxvYw0KX3ZvcmJpc19ibG9ja19yaXBjb3JkDQp2b3JiaXNfYm9va19jbGVhcg0Kdm9yYmlzX2Jv b2tfY29kZWxlbg0Kdm9yYmlzX2Jvb2tfY29kZXdvcmQNCnZvcmJpc19ib29rX2RlY29kZQ0Kdm9y YmlzX2Jvb2tfZGVjb2Rldl9hZGQNCnZvcmJpc19ib29rX2RlY29kZXZzX2FkZA0Kdm9yYmlzX2Jv b2tfZGVjb2Rldl9zZXQNCnZvcmJpc19ib29rX2RlY29kZXZ2X2FkZA0Kdm9yYmlzX2Jvb2tfZW5j b2RlDQp2b3JiaXNfYm9va19pbml0X2RlY29kZQ0Kdm9yYmlzX2Jvb2tfaW5pdF9lbmNvZGUNCnZv cmJpc19scGNfZnJvbV9kYXRhDQp2b3JiaXNfbHBjX3ByZWRpY3QNCnZvcmJpc19scGNfdG9fbHNw DQp2b3JiaXNfbHNwX3RvX2N1cnZlDQp2b3JiaXNfc3RhdGljYm9va19kZXN0cm95DQp2b3JiaXNf c3RhdGljYm9va19wYWNrDQp2b3JiaXNfc3RhdGljYm9va191bnBhY2sNCnZvcmJpc193aW5kb3cN Cl92b3JiaXNfd2luZG93X2dldA0KX3ZwX2FtcG1heF9kZWNheQ0KX3ZwX2NvdXBsZV9xdWFudGl6 ZV9ub3JtYWxpemUNCl92cF9nbG9iYWxfZnJlZQ0KX3ZwX2dsb2JhbF9sb29rDQpfdnBfbm9pc2Vt YXNrDQpfdnBfb2Zmc2V0X2FuZF9taXgNCl92cF9wc3lfY2xlYXINCl92cF9wc3lfaW5pdA0KX3Zw X3RvbmVtYXNrDQo= --0000000000001f02a8056ada8415 Content-Type: application/octet-stream; name="0001-Hide-private-symbols.patch" Content-Disposition: attachment; filename="0001-Hide-private-symbols.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jgif7a5n0 RnJvbSA5ZDdmNWZlMDU0ZTI2OTAxZTcwOWZjN2RjZjZlNjQxNWZhMDc0NzA5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBZdXJ5IEdyaWJvdiA8dGV0cmEyMDA1QGdtYWlsLmNvbT4KRGF0 ZTogRnJpLCAyNyBBcHIgMjAxOCAyMToyODoyOSArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIEhpZGUg cHJpdmF0ZSBzeW1ib2xzLgoKLS0tCiBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgfCAyMyAr KysrKysrKysrKysKIGluY2x1ZGUvdm9yYmlzL2NvZGVjLmggICAgICB8IDgyICsrKysrKysrKysr KysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQogaW5jbHVkZS92b3JiaXMvdm9yYmlzZW5j LmggIHwgMTIgKysrLS0tLQogaW5jbHVkZS92b3JiaXMvdm9yYmlzZmlsZS5oIHwgODYgKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBsaWIvYmxvY2suYyAgICAg ICAgICAgICAgICAgfCAgMiArLQogdm9yYmlzLnZlcnNpb24gICAgICAgICAgICAgIHwgIDQgKysr CiA2IGZpbGVzIGNoYW5nZWQsIDEyMSBpbnNlcnRpb25zKCspLCA4OCBkZWxldGlvbnMoLSkKIGNy ZWF0ZSBtb2RlIDEwMDY0NCB2b3JiaXMudmVyc2lvbgoKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5h YyBiL2NvbmZpZ3VyZS5hYwppbmRleCAyOGIwYTE0Li4xMWQxY2IzIDEwMDY0NAotLS0gYS9jb25m aWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC0yMjAsNiArMjIwLDI5IEBAIGVsc2UKIGZp CiBDRkxBR1M9IiRDRkxBR1MgJGNmbGFnc19zYXZlIgogCitkbmwgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KK2RubCBDaGVjayBmb3IgdmlzaWJpbGl0eSBhbm5vdGF0aW9ucworZG5s IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitPTERDRkxBR1M9IiRDRkxBR1MiCitD RkxBR1M9IiRDRkxBR1MgLWZ2aXNpYmlsaXR5PWhpZGRlbiIKK0FDX01TR19DSEVDS0lORyh3aGV0 aGVyIGNvbXBpbGVyIHN1cHBvcnRzIHZpc2liaWxpdHkgYW5ub3RhdGlvbnMpCitBQ19DT01QSUxF X0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1t2b2lkIF9fYXR0cmlidXRlX18oKHZpc2liaWxpdHko ImRlZmF1bHQiKSkpIGZvbygpIHt9XV0pXSwKKyAgICAgICAgICAgICAgICAgIFtDRkxBR1M9IiRD RkxBR1MgLURWT1JCSVNfRU5BQkxFX1ZJU0lCSUxJVFkiOworICAgICAgICAgICAgICAgICAgIEFD X01TR19SRVNVTFQoeWVzKV0sCisgICAgICAgICAgICAgICAgICBbQ0ZMQUdTPSIkT0xEQ0ZMQUdT IgorICAgICAgICAgICAgICAgICAgIEFDX01TR19SRVNVTFQoeWVzKV0pCisKK2RubCAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCitkbmwgQ2hlY2sgZm9yIHZlcnNpb24gc2NyaXB0cworZG5sIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK09MRExERkxBR1M9IiRMREZMQUdTIgorTERGTEFHUz0i JExERkxBR1MgLVdsLC0tdmVyc2lvbi1zY3JpcHQ9JHNyY2Rpci92b3JiaXMudmVyc2lvbiIKK0FD X01TR19DSEVDS0lORyh3aGV0aGVyIGxpbmtlciBhY2NlcHRzIHZlcnNpb24gc2NyaXB0cykKK0FD X1RSWV9MSU5LKCwsCisgICAgICAgICAgICBBQ19NU0dfUkVTVUxUKHllcyksCisgICAgICAgICAg ICBbTERGTEFHUz0iJE9MRExERkxBR1MiCisgICAgICAgICAgICAgQUNfTVNHX1JFU1VMVChubyld KQorCiBkbmwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KIGRubCBDaGVjayBmb3IgaGVhZGVycwogZG5sIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9pbmNsdWRlL3ZvcmJpcy9jb2Rl Yy5oIGIvaW5jbHVkZS92b3JiaXMvY29kZWMuaAppbmRleCA0MmFhMjkxLi5mNzc0ZDU4IDEwMDY0 NAotLS0gYS9pbmNsdWRlL3ZvcmJpcy9jb2RlYy5oCisrKyBiL2luY2x1ZGUvdm9yYmlzL2NvZGVj LmgKQEAgLTI0LDYgKzI0LDEyIEBAIGV4dGVybiAiQyIKIAogI2luY2x1ZGUgPG9nZy9vZ2cuaD4K IAorI2lmZGVmIFZPUkJJU19FTkFCTEVfVklTSUJJTElUWQorIyAgZGVmaW5lIFZPUkJJU19FWFBP UlQgX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSgiZGVmYXVsdCIpKSkKKyNlbHNlCisjICBkZWZp bmUgVk9SQklTX0VYUE9SVAorI2VuZGlmCisKIHR5cGVkZWYgc3RydWN0IHZvcmJpc19pbmZvewog ICBpbnQgdmVyc2lvbjsKICAgaW50IGNoYW5uZWxzOwpAQCAtMTYxLDYwICsxNjcsNjAgQEAgdHlw ZWRlZiBzdHJ1Y3Qgdm9yYmlzX2NvbW1lbnR7CiAKIC8qIFZvcmJpcyBQUklNSVRJVkVTOiBnZW5l cmFsICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAotZXh0ZXJuIHZv aWQgICAgIHZvcmJpc19pbmZvX2luaXQodm9yYmlzX2luZm8gKnZpKTsKLWV4dGVybiB2b2lkICAg ICB2b3JiaXNfaW5mb19jbGVhcih2b3JiaXNfaW5mbyAqdmkpOwotZXh0ZXJuIGludCAgICAgIHZv cmJpc19pbmZvX2Jsb2Nrc2l6ZSh2b3JiaXNfaW5mbyAqdmksaW50IHpvKTsKLWV4dGVybiB2b2lk ICAgICB2b3JiaXNfY29tbWVudF9pbml0KHZvcmJpc19jb21tZW50ICp2Yyk7Ci1leHRlcm4gdm9p ZCAgICAgdm9yYmlzX2NvbW1lbnRfYWRkKHZvcmJpc19jb21tZW50ICp2YywgY29uc3QgY2hhciAq Y29tbWVudCk7Ci1leHRlcm4gdm9pZCAgICAgdm9yYmlzX2NvbW1lbnRfYWRkX3RhZyh2b3JiaXNf Y29tbWVudCAqdmMsCitleHRlcm4gVk9SQklTX0VYUE9SVCB2b2lkICAgICB2b3JiaXNfaW5mb19p bml0KHZvcmJpc19pbmZvICp2aSk7CitleHRlcm4gVk9SQklTX0VYUE9SVCB2b2lkICAgICB2b3Ji aXNfaW5mb19jbGVhcih2b3JiaXNfaW5mbyAqdmkpOworZXh0ZXJuIFZPUkJJU19FWFBPUlQgaW50 ICAgICAgdm9yYmlzX2luZm9fYmxvY2tzaXplKHZvcmJpc19pbmZvICp2aSxpbnQgem8pOworZXh0 ZXJuIFZPUkJJU19FWFBPUlQgdm9pZCAgICAgdm9yYmlzX2NvbW1lbnRfaW5pdCh2b3JiaXNfY29t bWVudCAqdmMpOworZXh0ZXJuIFZPUkJJU19FWFBPUlQgdm9pZCAgICAgdm9yYmlzX2NvbW1lbnRf YWRkKHZvcmJpc19jb21tZW50ICp2YywgY29uc3QgY2hhciAqY29tbWVudCk7CitleHRlcm4gVk9S QklTX0VYUE9SVCB2b2lkICAgICB2b3JiaXNfY29tbWVudF9hZGRfdGFnKHZvcmJpc19jb21tZW50 ICp2YywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIg KnRhZywgY29uc3QgY2hhciAqY29udGVudHMpOwotZXh0ZXJuIGNoYXIgICAgKnZvcmJpc19jb21t ZW50X3F1ZXJ5KHZvcmJpc19jb21tZW50ICp2YywgY29uc3QgY2hhciAqdGFnLCBpbnQgY291bnQp OwotZXh0ZXJuIGludCAgICAgIHZvcmJpc19jb21tZW50X3F1ZXJ5X2NvdW50KHZvcmJpc19jb21t ZW50ICp2YywgY29uc3QgY2hhciAqdGFnKTsKLWV4dGVybiB2b2lkICAgICB2b3JiaXNfY29tbWVu dF9jbGVhcih2b3JiaXNfY29tbWVudCAqdmMpOwotCi1leHRlcm4gaW50ICAgICAgdm9yYmlzX2Js b2NrX2luaXQodm9yYmlzX2RzcF9zdGF0ZSAqdiwgdm9yYmlzX2Jsb2NrICp2Yik7Ci1leHRlcm4g aW50ICAgICAgdm9yYmlzX2Jsb2NrX2NsZWFyKHZvcmJpc19ibG9jayAqdmIpOwotZXh0ZXJuIHZv aWQgICAgIHZvcmJpc19kc3BfY2xlYXIodm9yYmlzX2RzcF9zdGF0ZSAqdik7Ci1leHRlcm4gZG91 YmxlICAgdm9yYmlzX2dyYW51bGVfdGltZSh2b3JiaXNfZHNwX3N0YXRlICp2LAorZXh0ZXJuIFZP UkJJU19FWFBPUlQgY2hhciAgICAqdm9yYmlzX2NvbW1lbnRfcXVlcnkodm9yYmlzX2NvbW1lbnQg KnZjLCBjb25zdCBjaGFyICp0YWcsIGludCBjb3VudCk7CitleHRlcm4gVk9SQklTX0VYUE9SVCBp bnQgICAgICB2b3JiaXNfY29tbWVudF9xdWVyeV9jb3VudCh2b3JiaXNfY29tbWVudCAqdmMsIGNv bnN0IGNoYXIgKnRhZyk7CitleHRlcm4gVk9SQklTX0VYUE9SVCB2b2lkICAgICB2b3JiaXNfY29t bWVudF9jbGVhcih2b3JiaXNfY29tbWVudCAqdmMpOworCitleHRlcm4gVk9SQklTX0VYUE9SVCBp bnQgICAgICB2b3JiaXNfYmxvY2tfaW5pdCh2b3JiaXNfZHNwX3N0YXRlICp2LCB2b3JiaXNfYmxv Y2sgKnZiKTsKK2V4dGVybiBWT1JCSVNfRVhQT1JUIGludCAgICAgIHZvcmJpc19ibG9ja19jbGVh cih2b3JiaXNfYmxvY2sgKnZiKTsKK2V4dGVybiBWT1JCSVNfRVhQT1JUIHZvaWQgICAgIHZvcmJp c19kc3BfY2xlYXIodm9yYmlzX2RzcF9zdGF0ZSAqdik7CitleHRlcm4gVk9SQklTX0VYUE9SVCBk b3VibGUgICB2b3JiaXNfZ3JhbnVsZV90aW1lKHZvcmJpc19kc3Bfc3RhdGUgKnYsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZ2dfaW50NjRfdCBncmFudWxlcG9zKTsKIAot ZXh0ZXJuIGNvbnN0IGNoYXIgKnZvcmJpc192ZXJzaW9uX3N0cmluZyh2b2lkKTsKK2V4dGVybiBW T1JCSVNfRVhQT1JUIGNvbnN0IGNoYXIgKnZvcmJpc192ZXJzaW9uX3N0cmluZyh2b2lkKTsKIAog LyogVm9yYmlzIFBSSU1JVElWRVM6IGFuYWx5c2lzL0RTUCBsYXllciAqKioqKioqKioqKioqKioq KioqKioqKioqKioqLwogCi1leHRlcm4gaW50ICAgICAgdm9yYmlzX2FuYWx5c2lzX2luaXQodm9y YmlzX2RzcF9zdGF0ZSAqdix2b3JiaXNfaW5mbyAqdmkpOwotZXh0ZXJuIGludCAgICAgIHZvcmJp c19jb21tZW50aGVhZGVyX291dCh2b3JiaXNfY29tbWVudCAqdmMsIG9nZ19wYWNrZXQgKm9wKTsK LWV4dGVybiBpbnQgICAgICB2b3JiaXNfYW5hbHlzaXNfaGVhZGVyb3V0KHZvcmJpc19kc3Bfc3Rh dGUgKnYsCitleHRlcm4gVk9SQklTX0VYUE9SVCBpbnQgICAgICB2b3JiaXNfYW5hbHlzaXNfaW5p dCh2b3JiaXNfZHNwX3N0YXRlICp2LHZvcmJpc19pbmZvICp2aSk7CitleHRlcm4gVk9SQklTX0VY UE9SVCBpbnQgICAgICB2b3JiaXNfY29tbWVudGhlYWRlcl9vdXQodm9yYmlzX2NvbW1lbnQgKnZj LCBvZ2dfcGFja2V0ICpvcCk7CitleHRlcm4gVk9SQklTX0VYUE9SVCBpbnQgICAgICB2b3JiaXNf YW5hbHlzaXNfaGVhZGVyb3V0KHZvcmJpc19kc3Bfc3RhdGUgKnYsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB2b3JiaXNfY29tbWVudCAqdmMsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZ2dfcGFja2V0ICpvcCwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9nZ19wYWNrZXQgKm9wX2NvbW0sCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZ2dfcGFja2V0ICpvcF9j b2RlKTsKLWV4dGVybiBmbG9hdCAgKip2b3JiaXNfYW5hbHlzaXNfYnVmZmVyKHZvcmJpc19kc3Bf c3RhdGUgKnYsaW50IHZhbHMpOwotZXh0ZXJuIGludCAgICAgIHZvcmJpc19hbmFseXNpc193cm90 ZSh2b3JiaXNfZHNwX3N0YXRlICp2LGludCB2YWxzKTsKLWV4dGVybiBpbnQgICAgICB2b3JiaXNf YW5hbHlzaXNfYmxvY2tvdXQodm9yYmlzX2RzcF9zdGF0ZSAqdix2b3JiaXNfYmxvY2sgKnZiKTsK LWV4dGVybiBpbnQgICAgICB2b3JiaXNfYW5hbHlzaXModm9yYmlzX2Jsb2NrICp2YixvZ2dfcGFj a2V0ICpvcCk7CitleHRlcm4gVk9SQklTX0VYUE9SVCBmbG9hdCAgKip2b3JiaXNfYW5hbHlzaXNf YnVmZmVyKHZvcmJpc19kc3Bfc3RhdGUgKnYsaW50IHZhbHMpOworZXh0ZXJuIFZPUkJJU19FWFBP UlQgaW50ICAgICAgdm9yYmlzX2FuYWx5c2lzX3dyb3RlKHZvcmJpc19kc3Bfc3RhdGUgKnYsaW50 IHZhbHMpOworZXh0ZXJuIFZPUkJJU19FWFBPUlQgaW50ICAgICAgdm9yYmlzX2FuYWx5c2lzX2Js b2Nrb3V0KHZvcmJpc19kc3Bfc3RhdGUgKnYsdm9yYmlzX2Jsb2NrICp2Yik7CitleHRlcm4gVk9S QklTX0VYUE9SVCBpbnQgICAgICB2b3JiaXNfYW5hbHlzaXModm9yYmlzX2Jsb2NrICp2YixvZ2df cGFja2V0ICpvcCk7CiAKLWV4dGVybiBpbnQgICAgICB2b3JiaXNfYml0cmF0ZV9hZGRibG9jayh2 b3JiaXNfYmxvY2sgKnZiKTsKLWV4dGVybiBpbnQgICAgICB2b3JiaXNfYml0cmF0ZV9mbHVzaHBh Y2tldCh2b3JiaXNfZHNwX3N0YXRlICp2ZCwKK2V4dGVybiBWT1JCSVNfRVhQT1JUIGludCAgICAg IHZvcmJpc19iaXRyYXRlX2FkZGJsb2NrKHZvcmJpc19ibG9jayAqdmIpOworZXh0ZXJuIFZPUkJJ U19FWFBPUlQgaW50ICAgICAgdm9yYmlzX2JpdHJhdGVfZmx1c2hwYWNrZXQodm9yYmlzX2RzcF9z dGF0ZSAqdmQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2dn X3BhY2tldCAqb3ApOwogCiAvKiBWb3JiaXMgUFJJTUlUSVZFUzogc3ludGhlc2lzIGxheWVyICoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi1leHRlcm4gaW50ICAgICAgdm9yYmlzX3N5 bnRoZXNpc19pZGhlYWRlcihvZ2dfcGFja2V0ICpvcCk7Ci1leHRlcm4gaW50ICAgICAgdm9yYmlz X3N5bnRoZXNpc19oZWFkZXJpbih2b3JiaXNfaW5mbyAqdmksdm9yYmlzX2NvbW1lbnQgKnZjLAor ZXh0ZXJuIFZPUkJJU19FWFBPUlQgaW50ICAgICAgdm9yYmlzX3N5bnRoZXNpc19pZGhlYWRlcihv Z2dfcGFja2V0ICpvcCk7CitleHRlcm4gVk9SQklTX0VYUE9SVCBpbnQgICAgICB2b3JiaXNfc3lu dGhlc2lzX2hlYWRlcmluKHZvcmJpc19pbmZvICp2aSx2b3JiaXNfY29tbWVudCAqdmMsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZ2dfcGFja2V0ICpvcCk7CiAK LWV4dGVybiBpbnQgICAgICB2b3JiaXNfc3ludGhlc2lzX2luaXQodm9yYmlzX2RzcF9zdGF0ZSAq dix2b3JiaXNfaW5mbyAqdmkpOwotZXh0ZXJuIGludCAgICAgIHZvcmJpc19zeW50aGVzaXNfcmVz dGFydCh2b3JiaXNfZHNwX3N0YXRlICp2KTsKLWV4dGVybiBpbnQgICAgICB2b3JiaXNfc3ludGhl c2lzKHZvcmJpc19ibG9jayAqdmIsb2dnX3BhY2tldCAqb3ApOwotZXh0ZXJuIGludCAgICAgIHZv cmJpc19zeW50aGVzaXNfdHJhY2tvbmx5KHZvcmJpc19ibG9jayAqdmIsb2dnX3BhY2tldCAqb3Ap OwotZXh0ZXJuIGludCAgICAgIHZvcmJpc19zeW50aGVzaXNfYmxvY2tpbih2b3JiaXNfZHNwX3N0 YXRlICp2LHZvcmJpc19ibG9jayAqdmIpOwotZXh0ZXJuIGludCAgICAgIHZvcmJpc19zeW50aGVz aXNfcGNtb3V0KHZvcmJpc19kc3Bfc3RhdGUgKnYsZmxvYXQgKioqcGNtKTsKLWV4dGVybiBpbnQg ICAgICB2b3JiaXNfc3ludGhlc2lzX2xhcG91dCh2b3JiaXNfZHNwX3N0YXRlICp2LGZsb2F0ICoq KnBjbSk7Ci1leHRlcm4gaW50ICAgICAgdm9yYmlzX3N5bnRoZXNpc19yZWFkKHZvcmJpc19kc3Bf c3RhdGUgKnYsaW50IHNhbXBsZXMpOwotZXh0ZXJuIGxvbmcgICAgIHZvcmJpc19wYWNrZXRfYmxv Y2tzaXplKHZvcmJpc19pbmZvICp2aSxvZ2dfcGFja2V0ICpvcCk7Ci0KLWV4dGVybiBpbnQgICAg ICB2b3JiaXNfc3ludGhlc2lzX2hhbGZyYXRlKHZvcmJpc19pbmZvICp2LGludCBmbGFnKTsKLWV4 dGVybiBpbnQgICAgICB2b3JiaXNfc3ludGhlc2lzX2hhbGZyYXRlX3Aodm9yYmlzX2luZm8gKnYp OworZXh0ZXJuIFZPUkJJU19FWFBPUlQgaW50ICAgICAgdm9yYmlzX3N5bnRoZXNpc19pbml0KHZv cmJpc19kc3Bfc3RhdGUgKnYsdm9yYmlzX2luZm8gKnZpKTsKK2V4dGVybiBWT1JCSVNfRVhQT1JU IGludCAgICAgIHZvcmJpc19zeW50aGVzaXNfcmVzdGFydCh2b3JiaXNfZHNwX3N0YXRlICp2KTsK K2V4dGVybiBWT1JCSVNfRVhQT1JUIGludCAgICAgIHZvcmJpc19zeW50aGVzaXModm9yYmlzX2Js b2NrICp2YixvZ2dfcGFja2V0ICpvcCk7CitleHRlcm4gVk9SQklTX0VYUE9SVCBpbnQgICAgICB2 b3JiaXNfc3ludGhlc2lzX3RyYWNrb25seSh2b3JiaXNfYmxvY2sgKnZiLG9nZ19wYWNrZXQgKm9w KTsKK2V4dGVybiBWT1JCSVNfRVhQT1JUIGludCAgICAgIHZvcmJpc19zeW50aGVzaXNfYmxvY2tp bih2b3JiaXNfZHNwX3N0YXRlICp2LHZvcmJpc19ibG9jayAqdmIpOworZXh0ZXJuIFZPUkJJU19F WFBPUlQgaW50ICAgICAgdm9yYmlzX3N5bnRoZXNpc19wY21vdXQodm9yYmlzX2RzcF9zdGF0ZSAq dixmbG9hdCAqKipwY20pOworZXh0ZXJuIFZPUkJJU19FWFBPUlQgaW50ICAgICAgdm9yYmlzX3N5 bnRoZXNpc19sYXBvdXQodm9yYmlzX2RzcF9zdGF0ZSAqdixmbG9hdCAqKipwY20pOworZXh0ZXJu IFZPUkJJU19FWFBPUlQgaW50ICAgICAgdm9yYmlzX3N5bnRoZXNpc19yZWFkKHZvcmJpc19kc3Bf c3RhdGUgKnYsaW50IHNhbXBsZXMpOworZXh0ZXJuIFZPUkJJU19FWFBPUlQgbG9uZyAgICAgdm9y YmlzX3BhY2tldF9ibG9ja3NpemUodm9yYmlzX2luZm8gKnZpLG9nZ19wYWNrZXQgKm9wKTsKKwor ZXh0ZXJuIFZPUkJJU19FWFBPUlQgaW50ICAgICAgdm9yYmlzX3N5bnRoZXNpc19oYWxmcmF0ZSh2 b3JiaXNfaW5mbyAqdixpbnQgZmxhZyk7CitleHRlcm4gVk9SQklTX0VYUE9SVCBpbnQgICAgICB2 b3JiaXNfc3ludGhlc2lzX2hhbGZyYXRlX3Aodm9yYmlzX2luZm8gKnYpOwogCiAvKiBWb3JiaXMg RVJST1JTIGFuZCByZXR1cm4gY29kZXMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KiovCiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdm9yYmlzL3ZvcmJpc2VuYy5oIGIvaW5jbHVkZS92 b3JiaXMvdm9yYmlzZW5jLmgKaW5kZXggNTVmM2I0YS4uM2FkMzMwMyAxMDA2NDQKLS0tIGEvaW5j bHVkZS92b3JiaXMvdm9yYmlzZW5jLmgKKysrIGIvaW5jbHVkZS92b3JiaXMvdm9yYmlzZW5jLmgK QEAgLTU2LDcgKzU2LDcgQEAgZXh0ZXJuICJDIgogICogXHJldHZhbCBPVl9FSU5WQUwgIEludmFs aWQgc2V0dXAgcmVxdWVzdCwgZWcsIG91dCBvZiByYW5nZSBhcmd1bWVudC4KICAqIFxyZXR2YWwg T1ZfRUlNUEwgICBVbmltcGxlbWVudGVkIG1vZGU7IHVuYWJsZSB0byBjb21wbHkgd2l0aCBiaXRy YXRlIHJlcXVlc3QuCiAgKi8KLWV4dGVybiBpbnQgdm9yYmlzX2VuY29kZV9pbml0KHZvcmJpc19p bmZvICp2aSwKK2V4dGVybiBWT1JCSVNfRVhQT1JUIGludCB2b3JiaXNfZW5jb2RlX2luaXQodm9y YmlzX2luZm8gKnZpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9uZyBjaGFubmVs cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvbmcgcmF0ZSwKIApAQCAtOTMsNyAr OTMsNyBAQCBleHRlcm4gaW50IHZvcmJpc19lbmNvZGVfaW5pdCh2b3JiaXNfaW5mbyAqdmksCiAg KiBccmV0dmFsIE9WX0VJTlZBTCAgIEludmFsaWQgc2V0dXAgcmVxdWVzdCwgZWcsIG91dCBvZiBy YW5nZSBhcmd1bWVudC4KICAqIFxyZXR2YWwgT1ZfRUlNUEwgICAgVW5pbXBsZW1lbnRlZCBtb2Rl OyB1bmFibGUgdG8gY29tcGx5IHdpdGggYml0cmF0ZSByZXF1ZXN0LgogICovCi1leHRlcm4gaW50 IHZvcmJpc19lbmNvZGVfc2V0dXBfbWFuYWdlZCh2b3JiaXNfaW5mbyAqdmksCitleHRlcm4gVk9S QklTX0VYUE9SVCBpbnQgdm9yYmlzX2VuY29kZV9zZXR1cF9tYW5hZ2VkKHZvcmJpc19pbmZvICp2 aSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvbmcgY2hhbm5lbHMs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb25nIHJhdGUsCiAKQEAg LTEyNSw3ICsxMjUsNyBAQCBleHRlcm4gaW50IHZvcmJpc19lbmNvZGVfc2V0dXBfbWFuYWdlZCh2 b3JiaXNfaW5mbyAqdmksCiAgKiBccmV0dmFsICBPVl9FSU5WQUwgIEludmFsaWQgc2V0dXAgcmVx dWVzdCwgZWcsIG91dCBvZiByYW5nZSBhcmd1bWVudC4KICAqIFxyZXR2YWwgIE9WX0VJTVBMICAg VW5pbXBsZW1lbnRlZCBtb2RlOyB1bmFibGUgdG8gY29tcGx5IHdpdGggcXVhbGl0eSBsZXZlbCBy ZXF1ZXN0LgogICovCi1leHRlcm4gaW50IHZvcmJpc19lbmNvZGVfc2V0dXBfdmJyKHZvcmJpc19p bmZvICp2aSwKK2V4dGVybiBWT1JCSVNfRVhQT1JUIGludCB2b3JiaXNfZW5jb2RlX3NldHVwX3Zi cih2b3JiaXNfaW5mbyAqdmksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9u ZyBjaGFubmVscywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb25nIHJhdGUs CiAKQEAgLTE1NCw3ICsxNTQsNyBAQCBleHRlcm4gaW50IHZvcmJpc19lbmNvZGVfc2V0dXBfdmJy KHZvcmJpc19pbmZvICp2aSwKICAqIFxyZXR2YWwgT1ZfRUlOVkFMICAgSW52YWxpZCBzZXR1cCBy ZXF1ZXN0LCBlZywgb3V0IG9mIHJhbmdlIGFyZ3VtZW50LgogICogXHJldHZhbCBPVl9FSU1QTCAg ICBVbmltcGxlbWVudGVkIG1vZGU7IHVuYWJsZSB0byBjb21wbHkgd2l0aCBxdWFsaXR5IGxldmVs IHJlcXVlc3QuCiAgKi8KLWV4dGVybiBpbnQgdm9yYmlzX2VuY29kZV9pbml0X3Zicih2b3JiaXNf aW5mbyAqdmksCitleHRlcm4gVk9SQklTX0VYUE9SVCBpbnQgdm9yYmlzX2VuY29kZV9pbml0X3Zi cih2b3JiaXNfaW5mbyAqdmksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9u ZyBjaGFubmVscywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb25nIHJhdGUs CiAKQEAgLTE4OCw3ICsxODgsNyBAQCBleHRlcm4gaW50IHZvcmJpc19lbmNvZGVfaW5pdF92YnIo dm9yYmlzX2luZm8gKnZpLAogICogaW5pdGlhbGl6ZSB0aGUgaGlnaC1sZXZlbCBlbmNvZGluZyBz ZXR1cAogICoKICAqLwotZXh0ZXJuIGludCB2b3JiaXNfZW5jb2RlX3NldHVwX2luaXQodm9yYmlz X2luZm8gKnZpKTsKK2V4dGVybiBWT1JCSVNfRVhQT1JUIGludCB2b3JiaXNfZW5jb2RlX3NldHVw X2luaXQodm9yYmlzX2luZm8gKnZpKTsKIAogLyoqCiAgKiBUaGlzIGZ1bmN0aW9uIGltcGxlbWVu dHMgYSBnZW5lcmljIGludGVyZmFjZSB0byBtaXNjZWxsYW5lb3VzIGVuY29kZXIKQEAgLTIxNiw3 ICsyMTYsNyBAQCBleHRlcm4gaW50IHZvcmJpc19lbmNvZGVfc2V0dXBfaW5pdCh2b3JiaXNfaW5m byAqdmkpOwogICoKICAqIFxyZXR2YWwgT1ZfRUlNUEwgICBVbmltcGxlbWVudGVkIG9yIHVua25v d24gcmVxdWVzdAogICovCi1leHRlcm4gaW50IHZvcmJpc19lbmNvZGVfY3RsKHZvcmJpc19pbmZv ICp2aSxpbnQgbnVtYmVyLHZvaWQgKmFyZyk7CitleHRlcm4gVk9SQklTX0VYUE9SVCBpbnQgdm9y YmlzX2VuY29kZV9jdGwodm9yYmlzX2luZm8gKnZpLGludCBudW1iZXIsdm9pZCAqYXJnKTsKIAog LyoqCiAgKiBcZGVwcmVjYXRlZCBUaGlzIGlzIGEgZGVwcmVjYXRlZCBpbnRlcmZhY2UuIFBsZWFz ZSB1c2Ugdm9yYmlzX2VuY29kZV9jdGwoKQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS92b3JiaXMvdm9y YmlzZmlsZS5oIGIvaW5jbHVkZS92b3JiaXMvdm9yYmlzZmlsZS5oCmluZGV4IDU2NjI2MTEuLjU4 ODBjNjUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdm9yYmlzL3ZvcmJpc2ZpbGUuaAorKysgYi9pbmNs dWRlL3ZvcmJpcy92b3JiaXNmaWxlLmgKQEAgLTE0NSw1NyArMTQ1LDU3IEBAIHR5cGVkZWYgc3Ry dWN0IE9nZ1ZvcmJpc19GaWxlIHsKIH0gT2dnVm9yYmlzX0ZpbGU7CiAKIAotZXh0ZXJuIGludCBv dl9jbGVhcihPZ2dWb3JiaXNfRmlsZSAqdmYpOwotZXh0ZXJuIGludCBvdl9mb3Blbihjb25zdCBj aGFyICpwYXRoLE9nZ1ZvcmJpc19GaWxlICp2Zik7Ci1leHRlcm4gaW50IG92X29wZW4oRklMRSAq ZixPZ2dWb3JiaXNfRmlsZSAqdmYsY29uc3QgY2hhciAqaW5pdGlhbCxsb25nIGlieXRlcyk7Ci1l eHRlcm4gaW50IG92X29wZW5fY2FsbGJhY2tzKHZvaWQgKmRhdGFzb3VyY2UsIE9nZ1ZvcmJpc19G aWxlICp2ZiwKK2V4dGVybiBWT1JCSVNfRVhQT1JUIGludCBvdl9jbGVhcihPZ2dWb3JiaXNfRmls ZSAqdmYpOworZXh0ZXJuIFZPUkJJU19FWFBPUlQgaW50IG92X2ZvcGVuKGNvbnN0IGNoYXIgKnBh dGgsT2dnVm9yYmlzX0ZpbGUgKnZmKTsKK2V4dGVybiBWT1JCSVNfRVhQT1JUIGludCBvdl9vcGVu KEZJTEUgKmYsT2dnVm9yYmlzX0ZpbGUgKnZmLGNvbnN0IGNoYXIgKmluaXRpYWwsbG9uZyBpYnl0 ZXMpOworZXh0ZXJuIFZPUkJJU19FWFBPUlQgaW50IG92X29wZW5fY2FsbGJhY2tzKHZvaWQgKmRh dGFzb3VyY2UsIE9nZ1ZvcmJpc19GaWxlICp2ZiwKICAgICAgICAgICAgICAgICBjb25zdCBjaGFy ICppbml0aWFsLCBsb25nIGlieXRlcywgb3ZfY2FsbGJhY2tzIGNhbGxiYWNrcyk7CiAKLWV4dGVy biBpbnQgb3ZfdGVzdChGSUxFICpmLE9nZ1ZvcmJpc19GaWxlICp2Zixjb25zdCBjaGFyICppbml0 aWFsLGxvbmcgaWJ5dGVzKTsKLWV4dGVybiBpbnQgb3ZfdGVzdF9jYWxsYmFja3Modm9pZCAqZGF0 YXNvdXJjZSwgT2dnVm9yYmlzX0ZpbGUgKnZmLAorZXh0ZXJuIFZPUkJJU19FWFBPUlQgaW50IG92 X3Rlc3QoRklMRSAqZixPZ2dWb3JiaXNfRmlsZSAqdmYsY29uc3QgY2hhciAqaW5pdGlhbCxsb25n IGlieXRlcyk7CitleHRlcm4gVk9SQklTX0VYUE9SVCBpbnQgb3ZfdGVzdF9jYWxsYmFja3Modm9p ZCAqZGF0YXNvdXJjZSwgT2dnVm9yYmlzX0ZpbGUgKnZmLAogICAgICAgICAgICAgICAgIGNvbnN0 IGNoYXIgKmluaXRpYWwsIGxvbmcgaWJ5dGVzLCBvdl9jYWxsYmFja3MgY2FsbGJhY2tzKTsKLWV4 dGVybiBpbnQgb3ZfdGVzdF9vcGVuKE9nZ1ZvcmJpc19GaWxlICp2Zik7Ci0KLWV4dGVybiBsb25n IG92X2JpdHJhdGUoT2dnVm9yYmlzX0ZpbGUgKnZmLGludCBpKTsKLWV4dGVybiBsb25nIG92X2Jp dHJhdGVfaW5zdGFudChPZ2dWb3JiaXNfRmlsZSAqdmYpOwotZXh0ZXJuIGxvbmcgb3Zfc3RyZWFt cyhPZ2dWb3JiaXNfRmlsZSAqdmYpOwotZXh0ZXJuIGxvbmcgb3Zfc2Vla2FibGUoT2dnVm9yYmlz X0ZpbGUgKnZmKTsKLWV4dGVybiBsb25nIG92X3NlcmlhbG51bWJlcihPZ2dWb3JiaXNfRmlsZSAq dmYsaW50IGkpOwotCi1leHRlcm4gb2dnX2ludDY0X3Qgb3ZfcmF3X3RvdGFsKE9nZ1ZvcmJpc19G aWxlICp2ZixpbnQgaSk7Ci1leHRlcm4gb2dnX2ludDY0X3Qgb3ZfcGNtX3RvdGFsKE9nZ1ZvcmJp c19GaWxlICp2ZixpbnQgaSk7Ci1leHRlcm4gZG91YmxlIG92X3RpbWVfdG90YWwoT2dnVm9yYmlz X0ZpbGUgKnZmLGludCBpKTsKLQotZXh0ZXJuIGludCBvdl9yYXdfc2VlayhPZ2dWb3JiaXNfRmls ZSAqdmYsb2dnX2ludDY0X3QgcG9zKTsKLWV4dGVybiBpbnQgb3ZfcGNtX3NlZWsoT2dnVm9yYmlz X0ZpbGUgKnZmLG9nZ19pbnQ2NF90IHBvcyk7Ci1leHRlcm4gaW50IG92X3BjbV9zZWVrX3BhZ2Uo T2dnVm9yYmlzX0ZpbGUgKnZmLG9nZ19pbnQ2NF90IHBvcyk7Ci1leHRlcm4gaW50IG92X3RpbWVf c2VlayhPZ2dWb3JiaXNfRmlsZSAqdmYsZG91YmxlIHBvcyk7Ci1leHRlcm4gaW50IG92X3RpbWVf c2Vla19wYWdlKE9nZ1ZvcmJpc19GaWxlICp2Zixkb3VibGUgcG9zKTsKLQotZXh0ZXJuIGludCBv dl9yYXdfc2Vla19sYXAoT2dnVm9yYmlzX0ZpbGUgKnZmLG9nZ19pbnQ2NF90IHBvcyk7Ci1leHRl cm4gaW50IG92X3BjbV9zZWVrX2xhcChPZ2dWb3JiaXNfRmlsZSAqdmYsb2dnX2ludDY0X3QgcG9z KTsKLWV4dGVybiBpbnQgb3ZfcGNtX3NlZWtfcGFnZV9sYXAoT2dnVm9yYmlzX0ZpbGUgKnZmLG9n Z19pbnQ2NF90IHBvcyk7Ci1leHRlcm4gaW50IG92X3RpbWVfc2Vla19sYXAoT2dnVm9yYmlzX0Zp bGUgKnZmLGRvdWJsZSBwb3MpOwotZXh0ZXJuIGludCBvdl90aW1lX3NlZWtfcGFnZV9sYXAoT2dn Vm9yYmlzX0ZpbGUgKnZmLGRvdWJsZSBwb3MpOwotCi1leHRlcm4gb2dnX2ludDY0X3Qgb3ZfcmF3 X3RlbGwoT2dnVm9yYmlzX0ZpbGUgKnZmKTsKLWV4dGVybiBvZ2dfaW50NjRfdCBvdl9wY21fdGVs bChPZ2dWb3JiaXNfRmlsZSAqdmYpOwotZXh0ZXJuIGRvdWJsZSBvdl90aW1lX3RlbGwoT2dnVm9y YmlzX0ZpbGUgKnZmKTsKLQotZXh0ZXJuIHZvcmJpc19pbmZvICpvdl9pbmZvKE9nZ1ZvcmJpc19G aWxlICp2ZixpbnQgbGluayk7Ci1leHRlcm4gdm9yYmlzX2NvbW1lbnQgKm92X2NvbW1lbnQoT2dn Vm9yYmlzX0ZpbGUgKnZmLGludCBsaW5rKTsKLQotZXh0ZXJuIGxvbmcgb3ZfcmVhZF9mbG9hdChP Z2dWb3JiaXNfRmlsZSAqdmYsZmxvYXQgKioqcGNtX2NoYW5uZWxzLGludCBzYW1wbGVzLAorZXh0 ZXJuIFZPUkJJU19FWFBPUlQgaW50IG92X3Rlc3Rfb3BlbihPZ2dWb3JiaXNfRmlsZSAqdmYpOwor CitleHRlcm4gVk9SQklTX0VYUE9SVCBsb25nIG92X2JpdHJhdGUoT2dnVm9yYmlzX0ZpbGUgKnZm LGludCBpKTsKK2V4dGVybiBWT1JCSVNfRVhQT1JUIGxvbmcgb3ZfYml0cmF0ZV9pbnN0YW50KE9n Z1ZvcmJpc19GaWxlICp2Zik7CitleHRlcm4gVk9SQklTX0VYUE9SVCBsb25nIG92X3N0cmVhbXMo T2dnVm9yYmlzX0ZpbGUgKnZmKTsKK2V4dGVybiBWT1JCSVNfRVhQT1JUIGxvbmcgb3Zfc2Vla2Fi bGUoT2dnVm9yYmlzX0ZpbGUgKnZmKTsKK2V4dGVybiBWT1JCSVNfRVhQT1JUIGxvbmcgb3Zfc2Vy aWFsbnVtYmVyKE9nZ1ZvcmJpc19GaWxlICp2ZixpbnQgaSk7CisKK2V4dGVybiBWT1JCSVNfRVhQ T1JUIG9nZ19pbnQ2NF90IG92X3Jhd190b3RhbChPZ2dWb3JiaXNfRmlsZSAqdmYsaW50IGkpOwor ZXh0ZXJuIFZPUkJJU19FWFBPUlQgb2dnX2ludDY0X3Qgb3ZfcGNtX3RvdGFsKE9nZ1ZvcmJpc19G aWxlICp2ZixpbnQgaSk7CitleHRlcm4gVk9SQklTX0VYUE9SVCBkb3VibGUgb3ZfdGltZV90b3Rh bChPZ2dWb3JiaXNfRmlsZSAqdmYsaW50IGkpOworCitleHRlcm4gVk9SQklTX0VYUE9SVCBpbnQg b3ZfcmF3X3NlZWsoT2dnVm9yYmlzX0ZpbGUgKnZmLG9nZ19pbnQ2NF90IHBvcyk7CitleHRlcm4g Vk9SQklTX0VYUE9SVCBpbnQgb3ZfcGNtX3NlZWsoT2dnVm9yYmlzX0ZpbGUgKnZmLG9nZ19pbnQ2 NF90IHBvcyk7CitleHRlcm4gVk9SQklTX0VYUE9SVCBpbnQgb3ZfcGNtX3NlZWtfcGFnZShPZ2dW b3JiaXNfRmlsZSAqdmYsb2dnX2ludDY0X3QgcG9zKTsKK2V4dGVybiBWT1JCSVNfRVhQT1JUIGlu dCBvdl90aW1lX3NlZWsoT2dnVm9yYmlzX0ZpbGUgKnZmLGRvdWJsZSBwb3MpOworZXh0ZXJuIFZP UkJJU19FWFBPUlQgaW50IG92X3RpbWVfc2Vla19wYWdlKE9nZ1ZvcmJpc19GaWxlICp2Zixkb3Vi bGUgcG9zKTsKKworZXh0ZXJuIFZPUkJJU19FWFBPUlQgaW50IG92X3Jhd19zZWVrX2xhcChPZ2dW b3JiaXNfRmlsZSAqdmYsb2dnX2ludDY0X3QgcG9zKTsKK2V4dGVybiBWT1JCSVNfRVhQT1JUIGlu dCBvdl9wY21fc2Vla19sYXAoT2dnVm9yYmlzX0ZpbGUgKnZmLG9nZ19pbnQ2NF90IHBvcyk7Citl eHRlcm4gVk9SQklTX0VYUE9SVCBpbnQgb3ZfcGNtX3NlZWtfcGFnZV9sYXAoT2dnVm9yYmlzX0Zp bGUgKnZmLG9nZ19pbnQ2NF90IHBvcyk7CitleHRlcm4gVk9SQklTX0VYUE9SVCBpbnQgb3ZfdGlt ZV9zZWVrX2xhcChPZ2dWb3JiaXNfRmlsZSAqdmYsZG91YmxlIHBvcyk7CitleHRlcm4gVk9SQklT X0VYUE9SVCBpbnQgb3ZfdGltZV9zZWVrX3BhZ2VfbGFwKE9nZ1ZvcmJpc19GaWxlICp2Zixkb3Vi bGUgcG9zKTsKKworZXh0ZXJuIFZPUkJJU19FWFBPUlQgb2dnX2ludDY0X3Qgb3ZfcmF3X3RlbGwo T2dnVm9yYmlzX0ZpbGUgKnZmKTsKK2V4dGVybiBWT1JCSVNfRVhQT1JUIG9nZ19pbnQ2NF90IG92 X3BjbV90ZWxsKE9nZ1ZvcmJpc19GaWxlICp2Zik7CitleHRlcm4gVk9SQklTX0VYUE9SVCBkb3Vi bGUgb3ZfdGltZV90ZWxsKE9nZ1ZvcmJpc19GaWxlICp2Zik7CisKK2V4dGVybiBWT1JCSVNfRVhQ T1JUIHZvcmJpc19pbmZvICpvdl9pbmZvKE9nZ1ZvcmJpc19GaWxlICp2ZixpbnQgbGluayk7Citl eHRlcm4gVk9SQklTX0VYUE9SVCB2b3JiaXNfY29tbWVudCAqb3ZfY29tbWVudChPZ2dWb3JiaXNf RmlsZSAqdmYsaW50IGxpbmspOworCitleHRlcm4gVk9SQklTX0VYUE9SVCBsb25nIG92X3JlYWRf ZmxvYXQoT2dnVm9yYmlzX0ZpbGUgKnZmLGZsb2F0ICoqKnBjbV9jaGFubmVscyxpbnQgc2FtcGxl cywKICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICpiaXRzdHJlYW0pOwotZXh0ZXJuIGxv bmcgb3ZfcmVhZF9maWx0ZXIoT2dnVm9yYmlzX0ZpbGUgKnZmLGNoYXIgKmJ1ZmZlcixpbnQgbGVu Z3RoLAorZXh0ZXJuIFZPUkJJU19FWFBPUlQgbG9uZyBvdl9yZWFkX2ZpbHRlcihPZ2dWb3JiaXNf RmlsZSAqdmYsY2hhciAqYnVmZmVyLGludCBsZW5ndGgsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgIGludCBiaWdlbmRpYW5wLGludCB3b3JkLGludCBzZ25lZCxpbnQgKmJpdHN0cmVhbSwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAoKmZpbHRlcikoZmxvYXQgKipwY20sbG9uZyBj aGFubmVscyxsb25nIHNhbXBsZXMsdm9pZCAqZmlsdGVyX3BhcmFtKSx2b2lkICpmaWx0ZXJfcGFy YW0pOwotZXh0ZXJuIGxvbmcgb3ZfcmVhZChPZ2dWb3JiaXNfRmlsZSAqdmYsY2hhciAqYnVmZmVy LGludCBsZW5ndGgsCitleHRlcm4gVk9SQklTX0VYUE9SVCBsb25nIG92X3JlYWQoT2dnVm9yYmlz X0ZpbGUgKnZmLGNoYXIgKmJ1ZmZlcixpbnQgbGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICBp bnQgYmlnZW5kaWFucCxpbnQgd29yZCxpbnQgc2duZWQsaW50ICpiaXRzdHJlYW0pOwotZXh0ZXJu IGludCBvdl9jcm9zc2xhcChPZ2dWb3JiaXNfRmlsZSAqdmYxLE9nZ1ZvcmJpc19GaWxlICp2ZjIp OworZXh0ZXJuIFZPUkJJU19FWFBPUlQgaW50IG92X2Nyb3NzbGFwKE9nZ1ZvcmJpc19GaWxlICp2 ZjEsT2dnVm9yYmlzX0ZpbGUgKnZmMik7CiAKLWV4dGVybiBpbnQgb3ZfaGFsZnJhdGUoT2dnVm9y YmlzX0ZpbGUgKnZmLGludCBmbGFnKTsKLWV4dGVybiBpbnQgb3ZfaGFsZnJhdGVfcChPZ2dWb3Ji aXNfRmlsZSAqdmYpOworZXh0ZXJuIFZPUkJJU19FWFBPUlQgaW50IG92X2hhbGZyYXRlKE9nZ1Zv cmJpc19GaWxlICp2ZixpbnQgZmxhZyk7CitleHRlcm4gVk9SQklTX0VYUE9SVCBpbnQgb3ZfaGFs ZnJhdGVfcChPZ2dWb3JiaXNfRmlsZSAqdmYpOwogCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KZGlm ZiAtLWdpdCBhL2xpYi9ibG9jay5jIGIvbGliL2Jsb2NrLmMKaW5kZXggZGIyNDViMy4uOWZiYTk2 MiAxMDA2NDQKLS0tIGEvbGliL2Jsb2NrLmMKKysrIGIvbGliL2Jsb2NrLmMKQEAgLTEwMzUsNyAr MTAzNSw3IEBAIGludCB2b3JiaXNfc3ludGhlc2lzX2xhcG91dCh2b3JiaXNfZHNwX3N0YXRlICp2 LGZsb2F0ICoqKnBjbSl7CiAKIH0KIAotY29uc3QgZmxvYXQgKnZvcmJpc193aW5kb3codm9yYmlz X2RzcF9zdGF0ZSAqdixpbnQgVyl7CitWT1JCSVNfRVhQT1JUIGNvbnN0IGZsb2F0ICp2b3JiaXNf d2luZG93KHZvcmJpc19kc3Bfc3RhdGUgKnYsaW50IFcpewogICB2b3JiaXNfaW5mbyAqdmk9di0+ dmk7CiAgIGNvZGVjX3NldHVwX2luZm8gKmNpPXZpLT5jb2RlY19zZXR1cDsKICAgaW50IGhzPWNp LT5oYWxmcmF0ZV9mbGFnOwpkaWZmIC0tZ2l0IGEvdm9yYmlzLnZlcnNpb24gYi92b3JiaXMudmVy c2lvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYWQzYjc1Ci0tLSAvZGV2 L251bGwKKysrIGIvdm9yYmlzLnZlcnNpb24KQEAgLTAsMCArMSw0IEBACit7CisgIGdsb2JhbDog dm9yYmlzXyo7IG92Xyo7IF9vdl8qOyBPVl8qOworICBsb2NhbDogKjsKK307Ci0tIAoyLjcuNAoK --0000000000001f02a8056ada8415 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVm9yYmlzLWRl diBtYWlsaW5nIGxpc3QKVm9yYmlzLWRldkB4aXBoLm9yZwpodHRwOi8vbGlzdHMueGlwaC5vcmcv bWFpbG1hbi9saXN0aW5mby92b3JiaXMtZGV2Cg== --0000000000001f02a8056ada8415--