[LyX/master] Rework matter support

Juergen Spitzmueller <[email protected]> Tue, 04 Aug 2026 14:35:19 +0000
Newsgroups gmane.editors.lyx.cvs
Message-ID <[email protected]>
Y29tbWl0IDE5MDEwMDA2ODA4NGQzOTdlMzNmNGFiYTM0MGE3NWQyMDA4NDIyYzUKQXV0aG9yOiBK
dWVyZ2VuIFNwaXR6bXVlbGxlciA8c3BpdHpAbHl4Lm9yZz4KRGF0ZTogICBUdWUgQXVnIDQgMTY6
MzM6NDYgMjAyNiArMDIwMAoKICAgIFJld29yayBtYXR0ZXIgc3VwcG9ydAogICAgCiAgICBSYXRo
ZXIgdGhhbiBoYXJkY29kaW5nIFxmcm9udG1hdHRlciwgXG1haW5tYXR0ZXIsIGFuZCBcYmFja21h
dHRlciwKICAgIGxldCB0aGUgY2xhc3NlcyBkZWZpbmUgd2hpY2ggZGl2aXNpb25zIHRoZXkgc3Vw
cG9ydAogICAgCiAgICBUaGlzIGFsbG93cyBzdXBwb3J0IGZvciBzdGFycmVkIHZlcnNpb25zIChL
T01BLCBtZW1vaXIpIGFuZCBvdGhlcgogICAgdmFyaWFudHMgKEtPTUEpCi0tLQogZGV2ZWxvcG1l
bnQvRk9STUFUICAgICAgICAgICAgfCAgIDIgKy0KIGxpYi9NYWtlZmlsZS5hbSAgICAgICAgICAg
ICAgIHwgICAxICsKIGxpYi9kb2MvQ3VzdG9taXphdGlvbi5seXggICAgIHwgMzE0ICsrKysrKysr
KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQogbGliL2RvYy9kZS9DdXN0b21pemF0
aW9uLmx5eCAgfCAyNTkgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogbGliL2xh
eW91dHMvYW1zYm9vay5sYXlvdXQgICAgfCAgIDMgKy0KIGxpYi9sYXlvdXRzL2Jvb2subGF5b3V0
ICAgICAgIHwgICAyICstCiBsaWIvbGF5b3V0cy9tZW1vaXIubGF5b3V0ICAgICB8ICAzMyArKysr
LQogbGliL2xheW91dHMvbXdiay5sYXlvdXQgICAgICAgfCAgIDIgKy0KIGxpYi9sYXlvdXRzL3Jl
Y2lwZWJvb2subGF5b3V0IHwgMTEyICsrKysrKysrKysrKysrLQogbGliL2xheW91dHMvc2NyYm9v
ay5sYXlvdXQgICAgfCAxMTMgKysrKysrKysrKysrKystCiBsaWIvbGF5b3V0cy9zdGRtYXR0ZXJz
LmluYyAgICB8ICAyNSArKysrCiBsaWIvbGF5b3V0cy9zdm1vbm8ubGF5b3V0ICAgICB8ICAgMiAr
LQogbGliL2xheW91dHMvc3ZtdWx0LmxheW91dCAgICAgfCAgIDIgKy0KIGxpYi9sYXlvdXRzL3R1
ZnRlLWJvb2subGF5b3V0IHwgICAzICstCiBsaWIvc2NyaXB0cy9sYXlvdXQybGF5b3V0LnB5ICB8
ICAgMiArLQogbGliL3VpL3N0ZG1lbnVzLmluYyAgICAgICAgICAgfCAgIDQgKy0KIHNyYy9CdWZm
ZXIuY3BwICAgICAgICAgICAgICAgIHwgICA3ICstCiBzcmMvTGF5b3V0RW51bXMuaCAgICAgICAg
ICAgICB8ICAxMiAtLQogc3JjL1BhcmFncmFwaFBhcmFtZXRlcnMuY3BwICAgfCAgMjcgKy0tLQog
c3JjL1BhcmFncmFwaFBhcmFtZXRlcnMuaCAgICAgfCAgIDYgKy0KIHNyYy9Sb3dQYWludGVyLmNw
cCAgICAgICAgICAgIHwgIDI0ICstLS0KIHNyYy9UZXh0LmNwcCAgICAgICAgICAgICAgICAgIHwg
IDQwICsrLS0tLQogc3JjL1RleHRDbGFzcy5jcHAgICAgICAgICAgICAgfCAgOTYgKysrKysrKysr
KysrLQogc3JjL1RleHRDbGFzcy5oICAgICAgICAgICAgICAgfCAgMjUgKysrLQogc3JjL1RleHRN
ZXRyaWNzLmNwcCAgICAgICAgICAgfCAgIDIgKy0KIHNyYy9mcm9udGVuZHMvcXQvTWVudXMuY3Bw
ICAgIHwgIDMwICsrKy0KIHNyYy9vdXRwdXRfbGF0ZXguY3BwICAgICAgICAgIHwgIDE3ICstLQog
MjcgZmlsZXMgY2hhbmdlZCwgODY1IGluc2VydGlvbnMoKyksIDMwMCBkZWxldGlvbnMoLSkKCmRp
ZmYgLS1naXQgYS9kZXZlbG9wbWVudC9GT1JNQVQgYi9kZXZlbG9wbWVudC9GT1JNQVQKaW5kZXgg
YmRhNzUxZDE3My4uMWJiZTM1MGZmYiAxMDA2NDQKLS0tIGEvZGV2ZWxvcG1lbnQvRk9STUFUCisr
KyBiL2RldmVsb3BtZW50L0ZPUk1BVApAQCAtMTAsNyArMTAsNyBAQCBjaGFuZ2VzIGhhcHBlbmVk
IGluIHBhcnRpY3VsYXIgaWYgcG9zc2libGUuIEEgZ29vZCBleGFtcGxlIHdvdWxkIGJlCiAyMDI2
LTA4LTAzIErDvHJnZW4gU3BpdHptw7xsbGVyIDxzcGl0ekBseXgub3JnPgogCSogRm9ybWF0IGlu
Y3JlbWVudGVkIHRvIDY1NzogU3VwcG9ydCBmb3IgXGZyb25tYXR0ZXIsIFxtYWlubWF0dGVyLAog
CSAgYW5kIFxiYWNrbWF0dGVyIHZpYSBwYXJhZ3JhcGggcGFyYW1ldGVyCi0JICBcc3RhcnRfb2Zf
bWF0dGVyIHtmcm9udG1hdHRlcixtYWlubWF0dGVyLGJhY2ttYXR0ZXJ9CisJICBcc3RhcnRfb2Zf
bWF0dGVyIHtmcm9udG1hdHRlcixtYWlubWF0dGVyLGJhY2ttYXR0ZXIsLi4ufQogCiAyMDI2LTA4
LTAyIErDvHJnZW4gU3BpdHptw7xsbGVyIDxzcGl0ekBseXgub3JnPgogCSogRm9ybWF0IGluY3Jl
bWVudGVkIHRvIDY1NjogU3VwcG9ydCBmb3IgcGFyZmlsbHNraXAKZGlmZiAtLWdpdCBhL2xpYi9N
YWtlZmlsZS5hbSBiL2xpYi9NYWtlZmlsZS5hbQppbmRleCA5NTUyZTRhNGI4Li43MmI1OTFlMjY4
IDEwMDY0NAotLS0gYS9saWIvTWFrZWZpbGUuYW0KKysrIGIvbGliL01ha2VmaWxlLmFtCkBAIC0z
MTI1LDYgKzMxMjUsNyBAQCBkaXN0X2xheW91dHNfREFUQSA9XAogCWxheW91dHMvc3RkbGV0dGVy
LmluYyBcCiAJbGF5b3V0cy9zdGRsaXN0cy5pbmMgXAogCWxheW91dHMvc3RkbHl4bGlzdC5pbmMg
XAorCWxheW91dHMvc3RkbWF0dGVycy5pbmMgXAogCWxheW91dHMvc3RkcmVmcHJlZml4LmluYyBc
CiAJbGF5b3V0cy9zdGRzZWN0aW9ucy5pbmMgXAogCWxheW91dHMvc3Rkc3BlY2lhbGNoYXJzLmlu
YyBcCmRpZmYgLS1naXQgYS9saWIvZG9jL0N1c3RvbWl6YXRpb24ubHl4IGIvbGliL2RvYy9DdXN0
b21pemF0aW9uLmx5eAppbmRleCBmYWQzNzQzMjVkLi5lZDYxZGQzYzUyIDEwMDY0NAotLS0gYS9s
aWIvZG9jL0N1c3RvbWl6YXRpb24ubHl4CisrKyBiL2xpYi9kb2MvQ3VzdG9taXphdGlvbi5seXgK
QEAgLTEwNjUwLDggKzEwNjUwLDIyMyBAQCBNTU1NTQogXGVuZF9pbnNldAogCiAuKQorXGNoYW5n
ZV9pbnNlcnRlZCAtNzEyNjk4MzIxIDE3ODU4NTMxNDEKKworXGVuZF9sYXlvdXQKKworXGJlZ2lu
X2xheW91dCBEZXNjcmlwdGlvbgorCitcY2hhbmdlX2luc2VydGVkIC03MTI2OTgzMjEgMTc4NTg1
MzM1MworXGJlZ2luX2luc2V0IEZsZXggQ29kZQorc3RhdHVzIGNvbGxhcHNlZAorCitcYmVnaW5f
bGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVkIC03MTI2OTgzMjEgMTc4NTg1
MzE0MgorTWF0dGVyCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0CisKKyBbCitcYmVnaW5faW5z
ZXQgRmxleCBDb2RlCitzdGF0dXMgY29sbGFwc2VkCisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5
b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgLTcxMjY5ODMyMSAxNzg1ODUzMTU2CitzdHJpbmcKK1xl
bmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKworXSBkZWZpbmVzIGEgZG9jdW1lbnQgZGl2aXNpb24g
c3VjaCBhcyAKK1xiZWdpbl9pbnNldCBGbGV4IENvZGUKK3N0YXR1cyBjb2xsYXBzZWQKKworXGJl
Z2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGNoYW5nZV9pbnNlcnRlZCAtNzEyNjk4MzIxIDE3
ODU4NTMxNDIKKworXGJhY2tzbGFzaAorZnJvbnRtYXR0ZXIKK1xlbmRfbGF5b3V0CisKK1xlbmRf
aW5zZXQKKworLAorIAorXGJlZ2luX2luc2V0IEZsZXggQ29kZQorc3RhdHVzIGNvbGxhcHNlZAor
CitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVkIC03MTI2OTgz
MjEgMTc4NTg1MzE0MgorCitcYmFja3NsYXNoCittYWlubWF0dGVyCitcZW5kX2xheW91dAorCitc
ZW5kX2luc2V0CisKKywKKyBvciAKK1xiZWdpbl9pbnNldCBGbGV4IENvZGUKK3N0YXR1cyBjb2xs
YXBzZWQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGNoYW5nZV9pbnNlcnRlZCAt
NzEyNjk4MzIxIDE3ODU4NTMxNDIKKworXGJhY2tzbGFzaAorYmFja21hdHRlcgorXGVuZF9sYXlv
dXQKKworXGVuZF9pbnNldAorCissCisgaWYgdGhlIGNsYXNzIHByb3ZpZGVzIGZvciB0aGlzLgor
IFRoZSBkZWZpbml0aW9uIGlzIHRlcm1pbmF0ZWQgYnkgCitcYmVnaW5faW5zZXQgRmxleCBDb2Rl
CitzdGF0dXMgY29sbGFwc2VkCisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CisKK1xjaGFu
Z2VfaW5zZXJ0ZWQgLTcxMjY5ODMyMSAxNzg1ODUzMjA1CitFbmRNYXR0ZXIKK1xlbmRfbGF5b3V0
CisKK1xlbmRfaW5zZXQKKworLgorIE5leHQgdG8gdGhlIHN0cmluZyAod2hpY2ggZXF1YWxzIHRv
IHRoZSBcU3BlY2lhbENoYXIgTGFUZVgKKyBjb21tYW5kIHdpdGhvdXQgYmFja3NsYXNoIGJ1dCBp
bmNsdWRpbmcgb3B0aW9ucyksCisgdGhlIGRlZmluaXRpb24gY29udGFpbnM6CitcZW5kX2xheW91
dAorCitcYmVnaW5fZGVlcGVyCitcYmVnaW5fbGF5b3V0IERlc2NyaXB0aW9uCisKK1xjaGFuZ2Vf
aW5zZXJ0ZWQgLTcxMjY5ODMyMSAxNzg1ODUzMzE5CitcYmVnaW5faW5zZXQgRmxleCBDb2RlCitz
dGF0dXMgb3BlbgorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2Vy
dGVkIC03MTI2OTgzMjEgMTc4NTg1MzMwNworR3VpTmFtZQorXGJlZ2luX2luc2V0IHNwYWNlIH4K
K1xlbmRfaW5zZXQKKworPHN0cmluZz4KK1xjaGFuZ2VfdW5jaGFuZ2VkCisKK1xlbmRfbGF5b3V0
CisKK1xlbmRfaW5zZXQKKworIFRoZSBuYW1lIGFzIHNob3duIGluIHRoZSB3b3JrYXJlYQorXGVu
ZF9sYXlvdXQKKworXGJlZ2luX2xheW91dCBEZXNjcmlwdGlvbgorCitcY2hhbmdlX2luc2VydGVk
IC03MTI2OTgzMjEgMTc4NTg1MzM4MQorXGJlZ2luX2luc2V0IEZsZXggQ29kZQorc3RhdHVzIGNv
bGxhcHNlZAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVk
IC03MTI2OTgzMjEgMTc4NTg1MzM2MgorTWVudVN0cmluZworXGJlZ2luX2luc2V0IHNwYWNlIH4K
K1xlbmRfaW5zZXQKKworPHN0cmluZz4KK1xjaGFuZ2VfdW5jaGFuZ2VkCisKK1xlbmRfbGF5b3V0
CisKK1xlbmRfaW5zZXQKKworIFRoZSBzdHJpbmcgc2hvd24gaW4gdGhlIG1lbnUgaW5jbHVkaW5n
IGFjY2VsZXJhdG9ycwogXGVuZF9sYXlvdXQKIAorXGJlZ2luX2xheW91dCBEZXNjcmlwdGlvbgor
CitcY2hhbmdlX2luc2VydGVkIC03MTI2OTgzMjEgMTc4NTg1MzQ1NQorXGJlZ2luX2luc2V0IEZs
ZXggQ29kZQorc3RhdHVzIGNvbGxhcHNlZAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAor
CitcY2hhbmdlX2luc2VydGVkIC03MTI2OTgzMjEgMTc4NTg1MzQwMgorVXNlQ291bnRlcnMKK1xi
ZWdpbl9pbnNldCBzcGFjZSB+CitcZW5kX2luc2V0CisKK1sKK1xiZWdpbl9pbnNldCBGbGV4IENv
ZGUKK3N0YXR1cyBjb2xsYXBzZWQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGNo
YW5nZV9pbnNlcnRlZCAtNzEyNjk4MzIxIDE3ODU4NTM0MDIKKworXGVtcGggb24KKzAKK1xlbmRf
bGF5b3V0CisKK1xlbmRfaW5zZXQKKworCitcYmVnaW5faW5zZXQgc3BhY2UgXHRoaW5zcGFjZXt9
CitcZW5kX2luc2V0CisKKworXGJlZ2luX2luc2V0IEZsZXggQ29kZQorc3RhdHVzIGNvbGxhcHNl
ZAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorCitcY2hhbmdlX2luc2VydGVkIC03MTI2
OTgzMjEgMTc4NTg1MzQwMgorMQorXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorCitdCitcY2hh
bmdlX3VuY2hhbmdlZAorCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0CisKKyBJbmRpY2F0ZXMg
d2hldGhlciBzZWN0aW9uIGNvdW50ZXJzIGFyZSBhY3RpdmUgd2l0aGluIHRoaXMgZGl2aXNpb24u
CitcZW5kX2xheW91dAorCitcYmVnaW5fbGF5b3V0IFN0YW5kYXJkCisKK1xjaGFuZ2VfaW5zZXJ0
ZWQgLTcxMjY5ODMyMSAxNzg1ODUzNTA2CitQbGVhc2UgcmVmZXIgdG8gdGhlIGZpbGUgCitcYmVn
aW5faW5zZXQgRmxleCBDb2RlCitzdGF0dXMgY29sbGFwc2VkCisKK1xiZWdpbl9sYXlvdXQgUGxh
aW4gTGF5b3V0CisKK1xjaGFuZ2VfaW5zZXJ0ZWQgLTcxMjY5ODMyMSAxNzg1ODUzNDgwCitzdGRt
YXR0ZXJzLmluYworXGNoYW5nZV91bmNoYW5nZWQKKworXGVuZF9sYXlvdXQKKworXGVuZF9pbnNl
dAorCisgZm9yIGRlZmluaXRpb25zIG9mIHRoZSBzdGFuZGFyZCBkaXZpc2lvbnMgb2YgYm9vay1s
aWtlIGNsYXNzZXMuCitcY2hhbmdlX3VuY2hhbmdlZAorCitcZW5kX2xheW91dAorCitcZW5kX2Rl
ZXBlcgogXGJlZ2luX2xheW91dCBEZXNjcmlwdGlvbgogXGJlZ2luX2luc2V0IEZsZXggQ29kZQog
c3RhdHVzIGNvbGxhcHNlZApAQCAtMTE1MjgsMTA1ICsxMTc0Myw2IEBAIG5vbGluayAiZmFsc2Ui
CiAKIFxlbmRfbGF5b3V0CiAKLVxiZWdpbl9sYXlvdXQgRGVzY3JpcHRpb24KLQotXGNoYW5nZV9p
bnNlcnRlZCAtNzEyNjk4MzIxIDE3ODU3NDcyMzEKLVxiZWdpbl9pbnNldCBGbGV4IENvZGUKLXN0
YXR1cyBjb2xsYXBzZWQKLQotXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKLQotXGNoYW5nZV9p
bnNlcnRlZCAtNzEyNjk4MzIxIDE3ODU3NDcxNzgKLVByb3ZpZGVzTWF0dGVycwotXGVuZF9sYXlv
dXQKLQotXGVuZF9pbnNldAotCi0gWwotXGJlZ2luX2luc2V0IEZsZXggQ29kZQotc3RhdHVzIGNv
bGxhcHNlZAotCi1cYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAotCi1cY2hhbmdlX2luc2VydGVk
IC03MTI2OTgzMjEgMTc4NTc0NzE3MQotCi1cZW1waCBvbgotMAotXGVuZF9sYXlvdXQKLQotXGVu
ZF9pbnNldAotCi0KLVxiZWdpbl9pbnNldCBzcGFjZSBcdGhpbnNwYWNle30KLVxlbmRfaW5zZXQK
LQotCi1cYmVnaW5faW5zZXQgRmxleCBDb2RlCi1zdGF0dXMgY29sbGFwc2VkCi0KLVxiZWdpbl9s
YXlvdXQgUGxhaW4gTGF5b3V0Ci0KLVxjaGFuZ2VfaW5zZXJ0ZWQgLTcxMjY5ODMyMSAxNzg1NzQ3
MTcxCi0xCi1cZW5kX2xheW91dAotCi1cZW5kX2luc2V0Ci0KLV0gaW5kaWNhdGVzIHdoZXRoZXIg
dGhlIHRleHQgY2xhc3MgcHJvdmlkZXMgZm9yIAotXGJlZ2luX2luc2V0IEZsZXggQ29kZQotc3Rh
dHVzIGNvbGxhcHNlZAotCi1cYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAotCi1cY2hhbmdlX2lu
c2VydGVkIC03MTI2OTgzMjEgMTc4NTc0NzIxNwotCi1cYmFja3NsYXNoCi1mcm9udG1hdHRlcgot
XGNoYW5nZV91bmNoYW5nZWQKLQotXGVuZF9sYXlvdXQKLQotXGVuZF9pbnNldAotCi0sCi0gCi1c
YmVnaW5faW5zZXQgRmxleCBDb2RlCi1zdGF0dXMgY29sbGFwc2VkCi0KLVxiZWdpbl9sYXlvdXQg
UGxhaW4gTGF5b3V0Ci0KLVxjaGFuZ2VfaW5zZXJ0ZWQgLTcxMjY5ODMyMSAxNzg1NzQ3MjI0Ci0K
LVxiYWNrc2xhc2gKLW1haW5tYXR0ZXIKLVxjaGFuZ2VfdW5jaGFuZ2VkCi0KLVxlbmRfbGF5b3V0
Ci0KLVxlbmRfaW5zZXQKLQotLAotIGFuZCAKLVxiZWdpbl9pbnNldCBGbGV4IENvZGUKLXN0YXR1
cyBjb2xsYXBzZWQKLQotXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKLQotXGNoYW5nZV9pbnNl
cnRlZCAtNzEyNjk4MzIxIDE3ODU3NDcyMzEKLQotXGJhY2tzbGFzaAotYmFja21hdHRlcgotXGNo
YW5nZV91bmNoYW5nZWQKLQotXGVuZF9sYXlvdXQKLQotXGVuZF9pbnNldAotCi0gZG9jdW1lbnQg
ZGl2aXNpb24uCi1cY2hhbmdlX3VuY2hhbmdlZAotCi1cZW5kX2xheW91dAotCiBcYmVnaW5fbGF5
b3V0IERlc2NyaXB0aW9uCiBcYmVnaW5faW5zZXQgRmxleCBDb2RlCiBzdGF0dXMgY29sbGFwc2Vk
CmRpZmYgLS1naXQgYS9saWIvZG9jL2RlL0N1c3RvbWl6YXRpb24ubHl4IGIvbGliL2RvYy9kZS9D
dXN0b21pemF0aW9uLmx5eAppbmRleCA0ZWMwMDAwMzM2Li5mYzYzODMwYjFlIDEwMDY0NAotLS0g
YS9saWIvZG9jL2RlL0N1c3RvbWl6YXRpb24ubHl4CisrKyBiL2xpYi9kb2MvZGUvQ3VzdG9taXph
dGlvbi5seXgKQEAgLTkxNjMsNiArOTE2MywxODkgQEAgc3RhdHVzIGNvbGxhcHNlZAogXGJlZ2lu
X2luc2V0IEZsZXggQ29kZQogc3RhdHVzIGNvbGxhcHNlZAogCitcYmVnaW5fbGF5b3V0IFBsYWlu
IExheW91dAorTWF0dGVyCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0CisKKyBbCitcYmVnaW5f
aW5zZXQgRmxleCBDb2RlCitzdGF0dXMgY29sbGFwc2VkCisKK1xiZWdpbl9sYXlvdXQgUGxhaW4g
TGF5b3V0CitzdHJpbmcKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKworXSBkZWZpbmllcnQg
U3RydWt0dXJpZXJ1bmdzYmVmZWhsZSBmw7xyIERva3VtZW50ZSB3aWUgCitcYmVnaW5faW5zZXQg
RmxleCBDb2RlCitzdGF0dXMgY29sbGFwc2VkCisKK1xiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0
CisKK1xiYWNrc2xhc2gKK2Zyb250bWF0dGVyCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0CisK
KywKKyAKK1xiZWdpbl9pbnNldCBGbGV4IENvZGUKK3N0YXR1cyBjb2xsYXBzZWQKKworXGJlZ2lu
X2xheW91dCBQbGFpbiBMYXlvdXQKKworXGJhY2tzbGFzaAorbWFpbm1hdHRlcgorXGVuZF9sYXlv
dXQKKworXGVuZF9pbnNldAorCisgb2RlciAKK1xiZWdpbl9pbnNldCBGbGV4IENvZGUKK3N0YXR1
cyBjb2xsYXBzZWQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKKworXGJhY2tzbGFzaAor
YmFja21hdHRlcgorXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorCissCisgZmFsbHMgZGllIEts
YXNzZSBkaWVzZSB1bnRlcnN0w7x0enQuCisgRGllIERlZmluaXRpb24gd2lyZCBkdXJjaCAKK1xi
ZWdpbl9pbnNldCBGbGV4IENvZGUKK3N0YXR1cyBjb2xsYXBzZWQKKworXGJlZ2luX2xheW91dCBQ
bGFpbiBMYXlvdXQKK0VuZE1hdHRlcgorXGVuZF9sYXlvdXQKKworXGVuZF9pbnNldAorCisgYWJn
ZXNjaGxvc3Nlbi4KKyBOZWJlbiBkZW0gWworXGJlZ2luX2luc2V0IEZsZXggQ29kZQorc3RhdHVz
IGNvbGxhcHNlZAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorc3RyaW5nCitcZW5kX2xh
eW91dAorCitcZW5kX2luc2V0CisKK10gKGRlciBkZW0gXFNwZWNpYWxDaGFyIExhVGVYCistQmVm
ZWhsIG9obmUgQmFja3NsYXNoLAorIGFiZXIgbWl0IGV2dGwuCisgT3B0aW9uZW4gZW50c3ByaWNo
dCkgZW50aMOkbHQgZGllIERlZmluaXRpb24gZm9sZ2VuZGVzOgorXGVuZF9sYXlvdXQKKworXGJl
Z2luX2RlZXBlcgorXGJlZ2luX2xheW91dCBEZXNjcmlwdGlvbgorXGJlZ2luX2luc2V0IEZsZXgg
Q29kZQorc3RhdHVzIGNvbGxhcHNlZAorCitcYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAorR3Vp
TmFtZQorXGJlZ2luX2luc2V0IHNwYWNlIH4KK1xlbmRfaW5zZXQKKworPHN0cmluZz4KK1xlbmRf
bGF5b3V0CisKK1xlbmRfaW5zZXQKKworIERlciBOYW1lLAorIGRlciBpbSBBcmJlaXRzYmVyZWlj
aCBhbmdlemVpZ3Qgd2lyZAorXGVuZF9sYXlvdXQKKworXGJlZ2luX2xheW91dCBEZXNjcmlwdGlv
bgorXGJlZ2luX2luc2V0IEZsZXggQ29kZQorc3RhdHVzIGNvbGxhcHNlZAorCitcYmVnaW5fbGF5
b3V0IFBsYWluIExheW91dAorTWVudVN0cmluZworXGJlZ2luX2luc2V0IHNwYWNlIH4KK1xlbmRf
aW5zZXQKKworPHN0cmluZz4KK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKworIERpZSBaZWlj
aGVua2xldHRlLAorIGRpZSBpbSBNZW7DvCBlcnNjaGVpbnQgKGlua2wuCisgVGFzdGVua8O8cnpl
bCkKK1xlbmRfbGF5b3V0CisKK1xiZWdpbl9sYXlvdXQgRGVzY3JpcHRpb24KK1xiZWdpbl9pbnNl
dCBGbGV4IENvZGUKK3N0YXR1cyBjb2xsYXBzZWQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlv
dXQKK1VzZUNvdW50ZXJzCitcYmVnaW5faW5zZXQgc3BhY2UgfgorXGVuZF9pbnNldAorCitbCitc
YmVnaW5faW5zZXQgRmxleCBDb2RlCitzdGF0dXMgY29sbGFwc2VkCisKK1xiZWdpbl9sYXlvdXQg
UGxhaW4gTGF5b3V0CisKK1xlbXBoIG9uCiswCitcZW5kX2xheW91dAorCitcZW5kX2luc2V0CisK
KworXGJlZ2luX2luc2V0IHNwYWNlIFx0aGluc3BhY2V7fQorXGVuZF9pbnNldAorCisKK1xiZWdp
bl9pbnNldCBGbGV4IENvZGUKK3N0YXR1cyBjb2xsYXBzZWQKKworXGJlZ2luX2xheW91dCBQbGFp
biBMYXlvdXQKKzEKK1xlbmRfbGF5b3V0CisKK1xlbmRfaW5zZXQKKworXQorXGVuZF9sYXlvdXQK
KworXGVuZF9pbnNldAorCisgemVpZ3QgYW4sCisgb2IgaW4gZGllc2VyIFN0cnVrdHVyZWluaGVp
dCBBYnNjaG5pdHRzesOkaGx1bmcgZXJmb2xndC4KK1xlbmRfbGF5b3V0CisKK1xiZWdpbl9sYXlv
dXQgU3RhbmRhcmQKK0RpZSBEYXRlaSAKK1xiZWdpbl9pbnNldCBGbGV4IENvZGUKK3N0YXR1cyBj
b2xsYXBzZWQKKworXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKK3N0ZG1hdHRlcnMuaW5jCitc
ZW5kX2xheW91dAorCitcZW5kX2luc2V0CisKKyBlbnRow6RsdCBEZWZpbml0aW9uZW4gZGVyIFN0
YW5kYXJkLVN0cnVrdHVyZWluaGVpdGVuIGJ1Y2jDpGhubGljaGVyIEtsYXNzZW4uCitcZW5kX2xh
eW91dAorCitcZW5kX2RlZXBlcgorXGJlZ2luX2xheW91dCBEZXNjcmlwdGlvbgorXGJlZ2luX2lu
c2V0IEZsZXggQ29kZQorc3RhdHVzIGNvbGxhcHNlZAorCiBcYmVnaW5fbGF5b3V0IFBsYWluIExh
eW91dAogTWF4Q2l0ZU5hbWVzCiBcZW5kX2xheW91dApAQCAtOTk2Niw4MiArMTAxNDksNiBAQCBu
b2xpbmsgImZhbHNlIgogXGJlZ2luX2luc2V0IEZsZXggQ29kZQogc3RhdHVzIGNvbGxhcHNlZAog
Ci1cYmVnaW5fbGF5b3V0IFBsYWluIExheW91dAotUHJvdmlkZXNNYXR0ZXJzCi1cZW5kX2xheW91
dAotCi1cZW5kX2luc2V0Ci0KLSBbCi1cYmVnaW5faW5zZXQgRmxleCBDb2RlCi1zdGF0dXMgY29s
bGFwc2VkCi0KLVxiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0Ci0KLVxlbXBoIG9uCi0wCi1cZW5k
X2xheW91dAotCi1cZW5kX2luc2V0Ci0KLQotXGJlZ2luX2luc2V0IHNwYWNlIFx0aGluc3BhY2V7
fQotXGVuZF9pbnNldAotCi0KLVxiZWdpbl9pbnNldCBGbGV4IENvZGUKLXN0YXR1cyBjb2xsYXBz
ZWQKLQotXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKLTEKLVxlbmRfbGF5b3V0Ci0KLVxlbmRf
aW5zZXQKLQotXSB6ZWlndCBhbiBvYiBkaWUgS2xhc3NlIGRpZSBTdHJ1a3R1cmllcnVuZyBkZXMg
RG9rdW1lbnRzIG1pdHRlbHMgCi1cYmVnaW5faW5zZXQgRmxleCBDb2RlCi1zdGF0dXMgY29sbGFw
c2VkCi0KLVxiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0Ci0KLVxiYWNrc2xhc2gKLWZyb250bWF0
dGVyCi1cZW5kX2xheW91dAotCi1cZW5kX2luc2V0Ci0KLSwKLSAKLVxiZWdpbl9pbnNldCBGbGV4
IENvZGUKLXN0YXR1cyBjb2xsYXBzZWQKLQotXGJlZ2luX2xheW91dCBQbGFpbiBMYXlvdXQKLQot
XGJhY2tzbGFzaAotbWFpbm1hdHRlcgotXGVuZF9sYXlvdXQKLQotXGVuZF9pbnNldAotCi0gdW5k
IAotXGJlZ2luX2luc2V0IEZsZXggQ29kZQotc3RhdHVzIGNvbGxhcHNlZAotCi1cYmVnaW5fbGF5
b3V0IFBsYWluIExheW91dAotCi1cYmFja3NsYXNoCi1iYWNrbWF0dGVyCi1cZW5kX2xheW91dAot
Ci1cZW5kX2luc2V0Ci0KLSB1bnRlcnN0w7x0enQuCi1cZW5kX2xheW91dAotCi1cYmVnaW5fbGF5
b3V0IERlc2NyaXB0aW9uCi1cYmVnaW5faW5zZXQgRmxleCBDb2RlCi1zdGF0dXMgY29sbGFwc2Vk
Ci0KIFxiZWdpbl9sYXlvdXQgUGxhaW4gTGF5b3V0CiBQcm92aWRlc01vZHVsZQogXGVuZF9sYXlv
dXQKZGlmZiAtLWdpdCBhL2xpYi9sYXlvdXRzL2Ftc2Jvb2subGF5b3V0IGIvbGliL2xheW91dHMv
YW1zYm9vay5sYXlvdXQKaW5kZXggZDdiNzNkZmUyNi4uNWU3YTM5OWZjYiAxMDA2NDQKLS0tIGEv
bGliL2xheW91dHMvYW1zYm9vay5sYXlvdXQKKysrIGIvbGliL2xheW91dHMvYW1zYm9vay5sYXlv
dXQKQEAgLTE0LDEwICsxNCwxMSBAQAogCiBGb3JtYXQgMTIwCiAKK0lucHV0IHN0ZG1hdHRlcnMu
aW5jCisKIENvbHVtbnMgICAgICAgICAgICAgICAgIDEKIFNpZGVzICAgICAgICAgICAgICAgICAg
IDIKIFBhZ2VTdHlsZSAgICAgICAgICAgICAgIEhlYWRlcnMKLVByb3ZpZGVzTWF0dGVycyAgICAg
ICAgIDEKIERvY0Jvb2tSb290ICAgICAgICAgICAgIGJvb2sKIAogUHJvdmlkZXMgYW1zbWF0aCAg
ICAgICAgIDEKZGlmZiAtLWdpdCBhL2xpYi9sYXlvdXRzL2Jvb2subGF5b3V0IGIvbGliL2xheW91
dHMvYm9vay5sYXlvdXQKaW5kZXggMTdlZjhkNjlkYi4uY2M2NWFiZmQ0OCAxMDA2NDQKLS0tIGEv
bGliL2xheW91dHMvYm9vay5sYXlvdXQKKysrIGIvbGliL2xheW91dHMvYm9vay5sYXlvdXQKQEAg
LTEwLDEwICsxMCwxMCBAQAogRm9ybWF0IDEyMAogSW5wdXQgc3RkY2xhc3MuaW5jCiBJbnB1dCBu
dW1yZXBvcnQuaW5jCitJbnB1dCBzdGRtYXR0ZXJzLmluYwogCiBTaWRlcyAgICAgICAgICAgICAg
ICAgMgogUGFnZVN0eWxlICAgICAgICAgICAgIEhlYWRpbmdzCi1Qcm92aWRlc01hdHRlcnMgICAg
ICAgMQogRG9jQm9va1Jvb3QJICAgICAgYm9vawogRG9jQm9va0ZvcmNlQWJzdHJhY3QgIHRydWUK
IApkaWZmIC0tZ2l0IGEvbGliL2xheW91dHMvbWVtb2lyLmxheW91dCBiL2xpYi9sYXlvdXRzL21l
bW9pci5sYXlvdXQKaW5kZXggYTRjNGQyOTM0OS4uOTM4ZjMxNGNhYSAxMDA2NDQKLS0tIGEvbGli
L2xheW91dHMvbWVtb2lyLmxheW91dAorKysgYi9saWIvbGF5b3V0cy9tZW1vaXIubGF5b3V0CkBA
IC04LDExICs4LDExIEBACiAKIAogRm9ybWF0IDEyMAorCiBDb2x1bW5zICAgICAgICAgICAgMQog
U2lkZXMgICAgICAgICAgICAgIDIKIFNlY051bURlcHRoICAgICAgICAxCiBUb2NEZXB0aCAgICAg
ICAgICAgMQotUHJvdmlkZXNNYXR0ZXJzICAgIDEKIERlZmF1bHRTdHlsZSAgICAgICBTdGFuZGFy
ZAogUGFnZVN0eWxlICAgICAgICAgIEhlYWRpbmdzCiBQYWdlU2l6ZSAgICAgICAgICAgbGV0dGVy
CkBAIC0zNiw2ICszNiwzNyBAQCBDbGFzc09wdGlvbnMKIAlPdGhlciAgICAgICAgICAgICAgICBv
bGRmb250Y29tbWFuZHMKIEVuZAogCisjCisjIERvY3VtZW50IERpdmlzaW9ucworIworCitNYXR0
ZXIgZnJvbnRtYXR0ZXIKKwlHdWlOYW1lICJGcm9udCBNYXR0ZXIiCisJTWVudVN0cmluZyAiRnJv
bnQgTWF0dGVyfEYiCitFbmRNYXR0ZXIKKworTWF0dGVyIGZyb250bWF0dGVyKgorCUd1aU5hbWUg
IkZyb250IE1hdHRlciAoQ29udGludW91cyBQYWdpbmF0aW9uKSIKKwlNZW51U3RyaW5nICJGcm9u
dCBNYXR0ZXIgKENvbnRpbnVvdXMgUGFnaW5hdGlvbil8ciIKK0VuZE1hdHRlcgorCitNYXR0ZXIg
bWFpbm1hdHRlcgorCUd1aU5hbWUgIk1haW4gTWF0dGVyIgorCU1lbnVTdHJpbmcgIk1haW4gTWF0
dGVyfE0iCisJVXNlQ291bnRlcnMgMQorRW5kTWF0dGVyCisKK01hdHRlciBtYWlubWF0dGVyKgor
CUd1aU5hbWUgIk1haW4gTWF0dGVyIChDb250aW51b3VzIFBhZ2luYXRpb24pIgorCU1lbnVTdHJp
bmcgIk1haW4gTWF0dGVyIChDb250aW51b3VzIFBhZ2luYXRpb24pfGEiCisJVXNlQ291bnRlcnMg
MQorRW5kTWF0dGVyCisKK01hdHRlciBiYWNrbWF0dGVyCisJR3VpTmFtZSAiQmFjayBNYXR0ZXIi
CisJTWVudVN0cmluZyAiQmFjayBNYXR0ZXJ8QiIKK0VuZE1hdHRlcgorCiAKIFN0eWxlIFN0YW5k
YXJkCiAJQ2F0ZWdvcnkgICAgICAgICAgICAgIE1haW5UZXh0CmRpZmYgLS1naXQgYS9saWIvbGF5
b3V0cy9td2JrLmxheW91dCBiL2xpYi9sYXlvdXRzL213YmsubGF5b3V0CmluZGV4IDVlNjg2NmZl
MDYuLjg5YzE2NDUxMGMgMTAwNjQ0Ci0tLSBhL2xpYi9sYXlvdXRzL213YmsubGF5b3V0CisrKyBi
L2xpYi9sYXlvdXRzL213YmsubGF5b3V0CkBAIC04LDEwICs4LDEwIEBACiAKIEZvcm1hdCAxMjAK
IElucHV0IHN0ZGNsYXNzLmluYworSW5wdXQgc3RkbWF0dGVycy5pbmMKIElucHV0IG51bXJlcG9y
dC5pbmMKIAogU2lkZXMgICAgICAgICAgICAgICAgIDIKLVByb3ZpZGVzTWF0dGVycyAgICAgICAx
CiAKIENsYXNzT3B0aW9ucwogCVBhZ2VTdHlsZSAgICAgZW1wdHl8cGxhaW58b3V0ZXJ8aGVhZGlu
Z3N8bXloZWFkaW5nc3x1aGVhZGluZ3N8bXl1aGVhZGluZ3MKZGlmZiAtLWdpdCBhL2xpYi9sYXlv
dXRzL3JlY2lwZWJvb2subGF5b3V0IGIvbGliL2xheW91dHMvcmVjaXBlYm9vay5sYXlvdXQKaW5k
ZXggYmI5NDRkYTUwYS4uN2RjMmVhMmVlMCAxMDA2NDQKLS0tIGEvbGliL2xheW91dHMvcmVjaXBl
Ym9vay5sYXlvdXQKKysrIGIvbGliL2xheW91dHMvcmVjaXBlYm9vay5sYXlvdXQKQEAgLTM1LDkg
KzM1LDExOSBAQCBJbnB1dCBudW1yZXBvcnQuaW5jCiBTZWNOdW1EZXB0aAkJMgogVG9jRGVwdGgJ
CTMKIFBhZ2VTdHlsZQkJSGVhZGluZ3MKLVByb3ZpZGVzTWF0dGVycyAgICAgICAgIDEKIERvY0Jv
b2tSb290CQlib29rCiAKKyMKKyMgRG9jdW1lbnQgRGl2aXNpb25zCisjCisKK01hdHRlciBmcm9u
dG1hdHRlcgorCUd1aU5hbWUgIkZyb250IE1hdHRlciIKKwlNZW51U3RyaW5nICJGcm9udCBNYXR0
ZXJ8RiIKK0VuZE1hdHRlcgorCitNYXR0ZXIgZnJvbnRtYXR0ZXIqCisJR3VpTmFtZSAiRnJvbnQg
TWF0dGVyIChDb250aW51b3VzIFBhZ2luYXRpb24pIgorCU1lbnVTdHJpbmcgIkZyb250IE1hdHRl
ciAoQ29udGludW91cyBQYWdpbmF0aW9uKXxyIgorRW5kTWF0dGVyCisKK01hdHRlciBmcm9udG1h
dHRlclthcmFiaWNdCisJR3VpTmFtZSAiRnJvbnQgTWF0dGVyIChBcmFiaWMgUGFnaW5hdGlvbiki
CisJTWVudVN0cmluZyAiRnJvbnQgTWF0dGVyIChBcmFiaWMgUGFnaW5hdGlvbil8byIKK0VuZE1h
dHRlcgorCitNYXR0ZXIgZnJvbnRtYXR0ZXJbcm9tYW5dCisJR3VpTmFtZSAiRnJvbnQgTWF0dGVy
IChMb3dlcmNhc2UgUm9tYW4gUGFnaW5hdGlvbikiCisJTWVudVN0cmluZyAiRnJvbnQgTWF0dGVy
IChMb3dlcmNhc2UgUm9tYW4gUGFnaW5hdGlvbil8biIKK0VuZE1hdHRlcgorCitNYXR0ZXIgZnJv
bnRtYXR0ZXJbUm9tYW5dCisJR3VpTmFtZSAiRnJvbnQgTWF0dGVyIChVcHBlcmNhc2UgUm9tYW4g
UGFnaW5hdGlvbikiCisJTWVudVN0cmluZyAiRnJvbnQgTWF0dGVyIChVcHBlcmNhc2UgUm9tYW4g
UGFnaW5hdGlvbil8dCIKK0VuZE1hdHRlcgorCitNYXR0ZXIgZnJvbnRtYXR0ZXJbYWxwaF0KKwlH
dWlOYW1lICJGcm9udCBNYXR0ZXIgKExvd2VyY2FzZSBBbHBoYWJldGljIFBhZ2luYXRpb24pIgor
CU1lbnVTdHJpbmcgIkZyb250IE1hdHRlciAoTG93ZXJjYXNlIEFscGhhYmV0aWMgUGFnaW5hdGlv
bil8TCIKK0VuZE1hdHRlcgorCitNYXR0ZXIgZnJvbnRtYXR0ZXJbQWxwaF0KKwlHdWlOYW1lICJG
cm9udCBNYXR0ZXIgKFVwcGVyY2FzZSBBbHBoYWJldGljIFBhZ2luYXRpb24pIgorCU1lbnVTdHJp
bmcgIkZyb250IE1hdHRlciAoVXBwZXJjYXNlIEFscGhhYmV0aWMgUGFnaW5hdGlvbil8VSIKK0Vu
ZE1hdHRlcgorCitNYXR0ZXIgbWFpbm1hdHRlcgorCUd1aU5hbWUgIk1haW4gTWF0dGVyIgorCU1l
bnVTdHJpbmcgIk1haW4gTWF0dGVyfE0iCisJVXNlQ291bnRlcnMgMQorRW5kTWF0dGVyCisKK01h
dHRlciBtYWlubWF0dGVyKgorCUd1aU5hbWUgIk1haW4gTWF0dGVyIChDb250aW51b3VzIFBhZ2lu
YXRpb24pIgorCU1lbnVTdHJpbmcgIk1haW4gTWF0dGVyIChDb250aW51b3VzIFBhZ2luYXRpb24p
fGEiCisJVXNlQ291bnRlcnMgMQorRW5kTWF0dGVyCisKK01hdHRlciBmcm9udG1hdHRlclthcmFi
aWNdCisJR3VpTmFtZSAiTWFpbiBNYXR0ZXIgKEFyYWJpYyBQYWdpbmF0aW9uKSIKKwlNZW51U3Ry
aW5nICJNYWluIE1hdHRlciAoQXJhYmljIFBhZ2luYXRpb24pfGkiCisJVXNlQ291bnRlcnMgMQor
RW5kTWF0dGVyCisKK01hdHRlciBtYWlubWF0dGVyW3JvbWFuXQorCUd1aU5hbWUgIk1haW4gTWF0
dGVyIChMb3dlcmNhc2UgUm9tYW4gUGFnaW5hdGlvbikiCisJTWVudVN0cmluZyAiTWFpbiBNYXR0
ZXIgKExvd2VyY2FzZSBSb21hbiBQYWdpbmF0aW9uKXx3IgorCVVzZUNvdW50ZXJzIDEKK0VuZE1h
dHRlcgorCitNYXR0ZXIgbWFpbm1hdHRlcltSb21hbl0KKwlHdWlOYW1lICJNYWluIE1hdHRlciAo
VXBwZXJjYXNlIFJvbWFuIFBhZ2luYXRpb24pIgorCU1lbnVTdHJpbmcgIk1haW4gTWF0dGVyIChV
cHBlcmNhc2UgUm9tYW4gUGFnaW5hdGlvbil8YyIKKwlVc2VDb3VudGVycyAxCitFbmRNYXR0ZXIK
KworTWF0dGVyIG1haW5tYXR0ZXJbYWxwaF0KKwlHdWlOYW1lICJNYWluIE1hdHRlciAoTG93ZXJj
YXNlIEFscGhhYmV0aWMgUGFnaW5hdGlvbikiCisJTWVudVN0cmluZyAiTWFpbiBNYXR0ZXIgKExv
d2VyY2FzZSBBbHBoYWJldGljIFBhZ2luYXRpb24pfHMiCisJVXNlQ291bnRlcnMgMQorRW5kTWF0
dGVyCisKK01hdHRlciBtYWlubWF0dGVyW0FscGhdCisJR3VpTmFtZSAiTWFpbiBNYXR0ZXIgKFVw
cGVyY2FzZSBBbHBoYWJldGljIFBhZ2luYXRpb24pIgorCU1lbnVTdHJpbmcgIk1haW4gTWF0dGVy
IChVcHBlcmNhc2UgQWxwaGFiZXRpYyBQYWdpbmF0aW9uKXxwIgorCVVzZUNvdW50ZXJzIDEKK0Vu
ZE1hdHRlcgorCitNYXR0ZXIgYmFja21hdHRlcgorCUd1aU5hbWUgIkJhY2sgTWF0dGVyIgorCU1l
bnVTdHJpbmcgIkJhY2sgTWF0dGVyfEIiCitFbmRNYXR0ZXIKKworTWF0dGVyIGJhY2ttYXR0ZXJb
YXJhYmljXQorCUd1aU5hbWUgIkJhY2sgTWF0dGVyIChBcmFiaWMgUGFnaW5hdGlvbikiCisJTWVu
dVN0cmluZyAiQmFjayBNYXR0ZXIgKEFyYWJpYyBQYWdpbmF0aW9uKXxrIgorRW5kTWF0dGVyCisK
K01hdHRlciBiYWNrbWF0dGVyW3JvbWFuXQorCUd1aU5hbWUgIkJhY2sgTWF0dGVyIChMb3dlcmNh
c2UgUm9tYW4gUGFnaW5hdGlvbikiCisJTWVudVN0cmluZyAiQmFjayBNYXR0ZXIgKExvd2VyY2Fz
ZSBSb21hbiBQYWdpbmF0aW9uKXxlIgorRW5kTWF0dGVyCisKK01hdHRlciBiYWNrbWF0dGVyW1Jv
bWFuXQorCUd1aU5hbWUgIkJhY2sgTWF0dGVyIChVcHBlcmNhc2UgUm9tYW4gUGFnaW5hdGlvbiki
CisJTWVudVN0cmluZyAiQmFjayBNYXR0ZXIgKFVwcGVyY2FzZSBSb21hbiBQYWdpbmF0aW9uKXxn
IgorRW5kTWF0dGVyCisKK01hdHRlciBiYWNrbWF0dGVyW2FscGhdCisJR3VpTmFtZSAiQmFjayBN
YXR0ZXIgKExvd2VyY2FzZSBBbHBoYWJldGljIFBhZ2luYXRpb24pIgorCU1lbnVTdHJpbmcgIkJh
Y2sgTWF0dGVyIChMb3dlcmNhc2UgQWxwaGFiZXRpYyBQYWdpbmF0aW9uKXxoIgorRW5kTWF0dGVy
CisKK01hdHRlciBiYWNrbWF0dGVyW0FscGhdCisJR3VpTmFtZSAiQmFjayBNYXR0ZXIgKFVwcGVy
Y2FzZSBBbHBoYWJldGljIFBhZ2luYXRpb24pIgorCU1lbnVTdHJpbmcgIkJhY2sgTWF0dGVyIChV
cHBlcmNhc2UgQWxwaGFiZXRpYyBQYWdpbmF0aW9uKSIKK0VuZE1hdHRlcgorCiAjIFRoZXJlIGlz
IG5vIGFic3RyYWN0IGVudmlyb25tZW50IGluIHNjcmJvb2suY2xzCiBOb1N0eWxlIEFic3RyYWN0
CiAKZGlmZiAtLWdpdCBhL2xpYi9sYXlvdXRzL3NjcmJvb2subGF5b3V0IGIvbGliL2xheW91dHMv
c2NyYm9vay5sYXlvdXQKaW5kZXggYTcyMmM4NmViYy4uODA3OThjNDc4YSAxMDA2NDQKLS0tIGEv
bGliL2xheW91dHMvc2NyYm9vay5sYXlvdXQKKysrIGIvbGliL2xheW91dHMvc2NyYm9vay5sYXlv
dXQKQEAgLTEwLDEyICsxMCwxMjMgQEAgSW5wdXQgbnVtcmVwb3J0LmluYwogCiBTaWRlcwkJCTIK
IFBhZ2VTdHlsZQkJSGVhZGluZ3MKLVByb3ZpZGVzTWF0dGVycyAgICAgICAgIDEKIERvY0Jvb2tS
b290CQlib29rCiAKIE5vU3R5bGUgQWJzdHJhY3QKIAogCisjCisjIERvY3VtZW50IERpdmlzaW9u
cworIworCitNYXR0ZXIgZnJvbnRtYXR0ZXIKKwlHdWlOYW1lICJGcm9udCBNYXR0ZXIiCisJTWVu
dVN0cmluZyAiRnJvbnQgTWF0dGVyfEYiCitFbmRNYXR0ZXIKKworTWF0dGVyIGZyb250bWF0dGVy
KgorCUd1aU5hbWUgIkZyb250IE1hdHRlciAoQ29udGludW91cyBQYWdpbmF0aW9uKSIKKwlNZW51
U3RyaW5nICJGcm9udCBNYXR0ZXIgKENvbnRpbnVvdXMgUGFnaW5hdGlvbil8ciIKK0VuZE1hdHRl
cgorCitNYXR0ZXIgZnJvbnRtYXR0ZXJbYXJhYmljXQorCUd1aU5hbWUgIkZyb250IE1hdHRlciAo
QXJhYmljIFBhZ2luYXRpb24pIgorCU1lbnVTdHJpbmcgIkZyb250IE1hdHRlciAoQXJhYmljIFBh
Z2luYXRpb24pfG8iCitFbmRNYXR0ZXIKKworTWF0dGVyIGZyb250bWF0dGVyW3JvbWFuXQorCUd1
aU5hbWUgIkZyb250IE1hdHRlciAoTG93ZXJjYXNlIFJvbWFuIFBhZ2luYXRpb24pIgorCU1lbnVT
dHJpbmcgIkZyb250IE1hdHRlciAoTG93ZXJjYXNlIFJvbWFuIFBhZ2luYXRpb24pfG4iCitFbmRN
YXR0ZXIKKworTWF0dGVyIGZyb250bWF0dGVyW1JvbWFuXQorCUd1aU5hbWUgIkZyb250IE1hdHRl
ciAoVXBwZXJjYXNlIFJvbWFuIFBhZ2luYXRpb24pIgorCU1lbnVTdHJpbmcgIkZyb250IE1hdHRl
ciAoVXBwZXJjYXNlIFJvbWFuIFBhZ2luYXRpb24pfHQiCitFbmRNYXR0ZXIKKworTWF0dGVyIGZy
b250bWF0dGVyW2FscGhdCisJR3VpTmFtZSAiRnJvbnQgTWF0dGVyIChMb3dlcmNhc2UgQWxwaGFi
ZXRpYyBQYWdpbmF0aW9uKSIKKwlNZW51U3RyaW5nICJGcm9udCBNYXR0ZXIgKExvd2VyY2FzZSBB
bHBoYWJldGljIFBhZ2luYXRpb24pfEwiCitFbmRNYXR0ZXIKKworTWF0dGVyIGZyb250bWF0dGVy
W0FscGhdCisJR3VpTmFtZSAiRnJvbnQgTWF0dGVyIChVcHBlcmNhc2UgQWxwaGFiZXRpYyBQYWdp
bmF0aW9uKSIKKwlNZW51U3RyaW5nICJGcm9udCBNYXR0ZXIgKFVwcGVyY2FzZSBBbHBoYWJldGlj
IFBhZ2luYXRpb24pfFUiCitFbmRNYXR0ZXIKKworTWF0dGVyIG1haW5tYXR0ZXIKKwlHdWlOYW1l
ICJNYWluIE1hdHRlciIKKwlNZW51U3RyaW5nICJNYWluIE1hdHRlcnxNIgorCVVzZUNvdW50ZXJz
IDEKK0VuZE1hdHRlcgorCitNYXR0ZXIgbWFpbm1hdHRlcioKKwlHdWlOYW1lICJNYWluIE1hdHRl
ciAoQ29udGludW91cyBQYWdpbmF0aW9uKSIKKwlNZW51U3RyaW5nICJNYWluIE1hdHRlciAoQ29u
dGludW91cyBQYWdpbmF0aW9uKXxhIgorCVVzZUNvdW50ZXJzIDEKK0VuZE1hdHRlcgorCitNYXR0
ZXIgZnJvbnRtYXR0ZXJbYXJhYmljXQorCUd1aU5hbWUgIk1haW4gTWF0dGVyIChBcmFiaWMgUGFn
aW5hdGlvbikiCisJTWVudVN0cmluZyAiTWFpbiBNYXR0ZXIgKEFyYWJpYyBQYWdpbmF0aW9uKXxp
IgorCVVzZUNvdW50ZXJzIDEKK0VuZE1hdHRlcgorCitNYXR0ZXIgbWFpbm1hdHRlcltyb21hbl0K
KwlHdWlOYW1lICJNYWluIE1hdHRlciAoTG93ZXJjYXNlIFJvbWFuIFBhZ2luYXRpb24pIgorCU1l
bnVTdHJpbmcgIk1haW4gTWF0dGVyIChMb3dlcmNhc2UgUm9tYW4gUGFnaW5hdGlvbil8dyIKKwlV
c2VDb3VudGVycyAxCitFbmRNYXR0ZXIKKworTWF0dGVyIG1haW5tYXR0ZXJbUm9tYW5dCisJR3Vp
TmFtZSAiTWFpbiBNYXR0ZXIgKFVwcGVyY2FzZSBSb21hbiBQYWdpbmF0aW9uKSIKKwlNZW51U3Ry
aW5nICJNYWluIE1hdHRlciAoVXBwZXJjYXNlIFJvbWFuIFBhZ2luYXRpb24pfGMiCisJVXNlQ291
bnRlcnMgMQorRW5kTWF0dGVyCisKK01hdHRlciBtYWlubWF0dGVyW2FscGhdCisJR3VpTmFtZSAi
TWFpbiBNYXR0ZXIgKExvd2VyY2FzZSBBbHBoYWJldGljIFBhZ2luYXRpb24pIgorCU1lbnVTdHJp
bmcgIk1haW4gTWF0dGVyIChMb3dlcmNhc2UgQWxwaGFiZXRpYyBQYWdpbmF0aW9uKXxzIgorCVVz
ZUNvdW50ZXJzIDEKK0VuZE1hdHRlcgorCitNYXR0ZXIgbWFpbm1hdHRlcltBbHBoXQorCUd1aU5h
bWUgIk1haW4gTWF0dGVyIChVcHBlcmNhc2UgQWxwaGFiZXRpYyBQYWdpbmF0aW9uKSIKKwlNZW51
U3RyaW5nICJNYWluIE1hdHRlciAoVXBwZXJjYXNlIEFscGhhYmV0aWMgUGFnaW5hdGlvbil8cCIK
KwlVc2VDb3VudGVycyAxCitFbmRNYXR0ZXIKKworTWF0dGVyIGJhY2ttYXR0ZXIKKwlHdWlOYW1l
ICJCYWNrIE1hdHRlciIKKwlNZW51U3RyaW5nICJCYWNrIE1hdHRlcnxCIgorRW5kTWF0dGVyCisK
K01hdHRlciBiYWNrbWF0dGVyW2FyYWJpY10KKwlHdWlOYW1lICJCYWNrIE1hdHRlciAoQXJhYmlj
IFBhZ2luYXRpb24pIgorCU1lbnVTdHJpbmcgIkJhY2sgTWF0dGVyIChBcmFiaWMgUGFnaW5hdGlv
bil8ayIKK0VuZE1hdHRlcgorCitNYXR0ZXIgYmFja21hdHRlcltyb21hbl0KKwlHdWlOYW1lICJC
YWNrIE1hdHRlciAoTG93ZXJjYXNlIFJvbWFuIFBhZ2luYXRpb24pIgorCU1lbnVTdHJpbmcgIkJh
Y2sgTWF0dGVyIChMb3dlcmNhc2UgUm9tYW4gUGFnaW5hdGlvbil8ZSIKK0VuZE1hdHRlcgorCitN
YXR0ZXIgYmFja21hdHRlcltSb21hbl0KKwlHdWlOYW1lICJCYWNrIE1hdHRlciAoVXBwZXJjYXNl
IFJvbWFuIFBhZ2luYXRpb24pIgorCU1lbnVTdHJpbmcgIkJhY2sgTWF0dGVyIChVcHBlcmNhc2Ug
Um9tYW4gUGFnaW5hdGlvbil8ZyIKK0VuZE1hdHRlcgorCitNYXR0ZXIgYmFja21hdHRlclthbHBo
XQorCUd1aU5hbWUgIkJhY2sgTWF0dGVyIChMb3dlcmNhc2UgQWxwaGFiZXRpYyBQYWdpbmF0aW9u
KSIKKwlNZW51U3RyaW5nICJCYWNrIE1hdHRlciAoTG93ZXJjYXNlIEFscGhhYmV0aWMgUGFnaW5h
dGlvbil8aCIKK0VuZE1hdHRlcgorCitNYXR0ZXIgYmFja21hdHRlcltBbHBoXQorCUd1aU5hbWUg
IkJhY2sgTWF0dGVyIChVcHBlcmNhc2UgQWxwaGFiZXRpYyBQYWdpbmF0aW9uKSIKKwlNZW51U3Ry
aW5nICJCYWNrIE1hdHRlciAoVXBwZXJjYXNlIEFscGhhYmV0aWMgUGFnaW5hdGlvbikiCitFbmRN
YXR0ZXIKKworCiBTdHlsZSBDaGFwdGVyCiAJTGFiZWxTdHJpbmcgICAgICAgICAgICJcdGhlY2hh
cHRlciIKIAlUb2NMZXZlbCAgICAgICAgICAgICAgMApkaWZmIC0tZ2l0IGEvbGliL2xheW91dHMv
c3RkbWF0dGVycy5pbmMgYi9saWIvbGF5b3V0cy9zdGRtYXR0ZXJzLmluYwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwLi4yYmRmMmQxZTc3Ci0tLSAvZGV2L251bGwKKysrIGIv
bGliL2xheW91dHMvc3RkbWF0dGVycy5pbmMKQEAgLTAsMCArMSwyNSBAQAorIyBTdGFuZGFyZCB0
ZXh0Y2xhc3MgZGVmaW5pdGlvbiBmaWxlLgorIyBBdXRob3IgOiBKw7xyZ2VuIFNwaXR6bcO8bGxl
ciA8c3BpdHpAbHl4Lm9yZz4KKworIyBUaGlzIGluY2x1ZGUgZmlsZXMgY29udGFpbnMgYWxsIHN0
cnVjdHVyYWwgZGl2aXNpb25zIG9mCisjIGEgYm9vay1saWtlIGRvY3VtZW50LgorCisKK0Zvcm1h
dCAxMjAKKworTWF0dGVyIGZyb250bWF0dGVyCisJR3VpTmFtZSAiRnJvbnQgTWF0dGVyIgorCU1l
bnVTdHJpbmcgIkZyb250IE1hdHRlcnxGIgorRW5kTWF0dGVyCisKK01hdHRlciBtYWlubWF0dGVy
CisJR3VpTmFtZSAiTWFpbiBNYXR0ZXIiCisJTWVudVN0cmluZyAiTWFpbiBNYXR0ZXJ8TSIKKwlV
c2VDb3VudGVycyAxCitFbmRNYXR0ZXIKKworTWF0dGVyIGJhY2ttYXR0ZXIKKwlHdWlOYW1lICJC
YWNrIE1hdHRlciIKKwlNZW51U3RyaW5nICJCYWNrIE1hdHRlcnxCIgorRW5kTWF0dGVyCisKZGlm
ZiAtLWdpdCBhL2xpYi9sYXlvdXRzL3N2bW9uby5sYXlvdXQgYi9saWIvbGF5b3V0cy9zdm1vbm8u
bGF5b3V0CmluZGV4IGM1YTYwMDYyNDEuLjkyZTVjZGMxNDYgMTAwNjQ0Ci0tLSBhL2xpYi9sYXlv
dXRzL3N2bW9uby5sYXlvdXQKKysrIGIvbGliL2xheW91dHMvc3Ztb25vLmxheW91dApAQCAtMTAs
MTAgKzEwLDEwIEBACiAjCiBGb3JtYXQgMTIwCiBJbnB1dCBzdmNvbW1vbi5pbmMKK0lucHV0IHN0
ZG1hdHRlcnMuaW5jCiAKIFRvY0RlcHRoCQkyCiBEb2NCb29rUm9vdAkJYm9vawotUHJvdmlkZXNN
YXR0ZXJzCQkxCiAKIENsYXNzT3B0aW9ucwogCUZvbnRTaXplCTEwCmRpZmYgLS1naXQgYS9saWIv
bGF5b3V0cy9zdm11bHQubGF5b3V0IGIvbGliL2xheW91dHMvc3ZtdWx0LmxheW91dAppbmRleCAw
NjA5ZDIyZWE5Li5hYzYxZmY4ZWNmIDEwMDY0NAotLS0gYS9saWIvbGF5b3V0cy9zdm11bHQubGF5
b3V0CisrKyBiL2xpYi9sYXlvdXRzL3N2bXVsdC5sYXlvdXQKQEAgLTExLDEwICsxMSwxMCBAQAog
Rm9ybWF0IDEyMAogCiBJbnB1dCBzdmNvbW1vbi5pbmMKK0lucHV0IHN0ZG1hdHRlcnMuaW5jCiAK
ICMgRXZlbiB0aG91Z2ggdGhpcyBsYXlvdXQgY2FuIGFsc28gYmUgdXNlZCBmb3IgYXJ0aWNsZXMu
Li4KIERvY0Jvb2tSb290CQlib29rCi1Qcm92aWRlc01hdHRlcnMJCTEKIAogQ2xhc3NPcHRpb25z
CiAJRm9udFNpemUJIiIKZGlmZiAtLWdpdCBhL2xpYi9sYXlvdXRzL3R1ZnRlLWJvb2subGF5b3V0
IGIvbGliL2xheW91dHMvdHVmdGUtYm9vay5sYXlvdXQKaW5kZXggOWNhY2FlYjQ1OC4uNGZhODJl
ZDljMiAxMDA2NDQKLS0tIGEvbGliL2xheW91dHMvdHVmdGUtYm9vay5sYXlvdXQKKysrIGIvbGli
L2xheW91dHMvdHVmdGUtYm9vay5sYXlvdXQKQEAgLTEyLDkgKzEyLDEwIEBAIFByb3ZpZGVzIG5h
dGJpYi1pbnRlcm5hbCAxCiAKIFNpZGVzCQkyCiBQYWdlU3R5bGUJSGVhZGluZ3MKLVByb3ZpZGVz
TWF0dGVycyAxCiBEb2NCb29rUm9vdAlib29rCiAKK0lucHV0IHN0ZG1hdHRlcnMuaW5jCisKIENs
YXNzT3B0aW9ucwogCU90aGVyCQlub2h5cGVyCiBlbmQKZGlmZiAtLWdpdCBhL2xpYi9zY3JpcHRz
L2xheW91dDJsYXlvdXQucHkgYi9saWIvc2NyaXB0cy9sYXlvdXQybGF5b3V0LnB5CmluZGV4IGNi
YWEwODkwNGIuLjlkMmM1YWYzOWIgMTAwNjQ0Ci0tLSBhL2xpYi9zY3JpcHRzL2xheW91dDJsYXlv
dXQucHkKKysrIGIvbGliL3NjcmlwdHMvbGF5b3V0MmxheW91dC5weQpAQCAtNDA1LDcgKzQwNSw3
IEBAIGN1cnJlbnRGb3JtYXQgPSAxMjAKICMgYW5kIFBhcmZpbGxza2lwVGhpcmQKIAogIyBJbmNy
ZW1lbnRlZCB0byBmb3JtYXQgMTIwLCAzIEF1Z3VzdCAyMDI2IGJ5IHNwaXR6Ci0jIE5ldyBjbGFz
cyB0YWcgUHJvdmlkZXNNYXR0ZXJzCisjIE5ldyBjbGFzcyB0YWcgTWF0dGVycwogCiAjIERvIG5v
dCBmb3JnZXQgdG8gZG9jdW1lbnQgZm9ybWF0IGNoYW5nZSBpbiBDdXN0b21pemF0aW9uCiAjIE1h
bnVhbCAoc2VjdGlvbiAiRGVjbGFyaW5nIGEgbmV3IHRleHQgY2xhc3MiKS4KZGlmZiAtLWdpdCBh
L2xpYi91aS9zdGRtZW51cy5pbmMgYi9saWIvdWkvc3RkbWVudXMuaW5jCmluZGV4IDEwZjE4NjA2
ZjYuLjUzZjUyYWFmNDQgMTAwNjQ0Ci0tLSBhL2xpYi91aS9zdGRtZW51cy5pbmMKKysrIGIvbGli
L3VpL3N0ZG1lbnVzLmluYwpAQCAtNTk0LDkgKzU5NCw3IEBAIE1lbnVzZXQKIAlFbmQKIAogCU1l
bnUgIm1hdHRlciIKLQkJT3B0SXRlbSAiRnJvbnQgTWF0dGVyfEYiICJtYXR0ZXIgZnJvbnRtYXR0
ZXIiCi0JCU9wdEl0ZW0gIk1haW4gTWF0dGVyfE0iICJtYXR0ZXIgbWFpbm1hdHRlciIKLQkJT3B0
SXRlbSAiQmFjayBNYXR0ZXJ8QiIgIm1hdHRlciBiYWNrbWF0dGVyIgorCQlEb2NNYXR0ZXJzCiAJ
RW5kCiAKICMKZGlmZiAtLWdpdCBhL3NyYy9CdWZmZXIuY3BwIGIvc3JjL0J1ZmZlci5jcHAKaW5k
ZXggZTBkYmIwNjU5Yi4uNjRhNDcxYTYwZiAxMDA2NDQKLS0tIGEvc3JjL0J1ZmZlci5jcHAKKysr
IGIvc3JjL0J1ZmZlci5jcHAKQEAgLTU0MDUsOSArNTQwNSwxMCBAQCB2b2lkIEJ1ZmZlcjo6SW1w
bDo6c2V0TGFiZWwoUGFySXRlcmF0b3IgJiBpdCwgVXBkYXRlVHlwZSB1dHlwZSkgY29uc3QKIAl9
CiAJcGFyLnBhcmFtcygpLmFwcGVuZGl4KGNvdW50ZXJzLmFwcGVuZGl4KCkpOwogCi0JaWYgKHBh
ci5wYXJhbXMoKS5zdGFydE9mTWF0dGVyKCkgIT0gTUFUVEVSX05PTkUpIHsKLQkJY291bnRlcnMu
bWFpbk1hdHRlcihwYXIucGFyYW1zKCkuc3RhcnRPZk1hdHRlcigpID09IE1BVFRFUl9NQUlOKTsK
LQl9CisJc3RyaW5nIGNvbnN0IG1hdHRlciA9IHBhci5wYXJhbXMoKS5zdGFydE9mTWF0dGVyKCk7
CisJaWYgKCFtYXR0ZXIuZW1wdHkoKSAmJiB0ZXh0Y2xhc3MuaGFzTWF0dGVyKG1hdHRlcikpCisJ
CWNvdW50ZXJzLm1haW5NYXR0ZXIodGV4dGNsYXNzLmdldE1hdHRlcihtYXR0ZXIpLnVzZV9jb3Vu
dGVycyk7CisKIAlwYXIucGFyYW1zKCkubWFpbk1hdHRlcihjb3VudGVycy5tYWluTWF0dGVyKCkp
OwogCiAJLy8gQ29tcHV0ZSB0aGUgaXRlbSBkZXB0aCBvZiB0aGUgcGFyYWdyYXBoCmRpZmYgLS1n
aXQgYS9zcmMvTGF5b3V0RW51bXMuaCBiL3NyYy9MYXlvdXRFbnVtcy5oCmluZGV4IDMyMTUzMTE4
MDYuLjQ4ZTg0OWYxYTQgMTAwNjQ0Ci0tLSBhL3NyYy9MYXlvdXRFbnVtcy5oCisrKyBiL3NyYy9M
YXlvdXRFbnVtcy5oCkBAIC0xNTgsMTggKzE1OCw2IEBAIGVudW0gQXJnUGFzc1RocnUgewogCVBU
X1RSVUUKIH07CiAKLS8vLwotZW51bSBNYXR0ZXIgewotCS8vLwotCU1BVFRFUl9OT05FLAotCS8v
LwotCU1BVFRFUl9GUk9OVCwKLQkvLy8KLQlNQVRURVJfTUFJTiwKLQkvLy8KLQlNQVRURVJfQkFD
SwotfTsKLQogfSAvLyBuYW1lc3BhY2UgbHl4CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjL1Bh
cmFncmFwaFBhcmFtZXRlcnMuY3BwIGIvc3JjL1BhcmFncmFwaFBhcmFtZXRlcnMuY3BwCmluZGV4
IDJlMTljZGViMjAuLjJkNjJiZDhlNjIgMTAwNjQ0Ci0tLSBhL3NyYy9QYXJhZ3JhcGhQYXJhbWV0
ZXJzLmNwcAorKysgYi9zcmMvUGFyYWdyYXBoUGFyYW1ldGVycy5jcHAKQEAgLTQxLDcgKzQxLDcg
QEAgc3RhdGljIGNoYXIgY29uc3QgKiBjb25zdCBzdHJpbmdfYWxpZ25bXSA9IHsKIFBhcmFncmFw
aFBhcmFtZXRlcnM6OlBhcmFncmFwaFBhcmFtZXRlcnMoKQogCTogbm9pbmRlbnRfKGZhbHNlKSwK
IAkJc3RhcnRfb2ZfYXBwZW5kaXhfKGZhbHNlKSwgYXBwZW5kaXhfKGZhbHNlKSwKLQkJc3RhcnRf
b2ZfbWF0dGVyXyhNQVRURVJfTk9ORSksIG1haW5fbWF0dGVyXyh0cnVlKSwKKwkJc3RhcnRfb2Zf
bWF0dGVyXygpLCBtYWluX21hdHRlcl8odHJ1ZSksCiAJICBhbGlnbl8oTFlYX0FMSUdOX0xBWU9V
VCksIGRlcHRoXygwKQoge30KIApAQCAtMTMzLDEzICsxMzMsMTMgQEAgdm9pZCBQYXJhZ3JhcGhQ
YXJhbWV0ZXJzOjphcHBlbmRpeChib29sIGEpCiB9CiAKIAotTWF0dGVyIFBhcmFncmFwaFBhcmFt
ZXRlcnM6OnN0YXJ0T2ZNYXR0ZXIoKSBjb25zdAorc3RyaW5nIFBhcmFncmFwaFBhcmFtZXRlcnM6
OnN0YXJ0T2ZNYXR0ZXIoKSBjb25zdAogewogCXJldHVybiBzdGFydF9vZl9tYXR0ZXJfOwogfQog
CiAKLXZvaWQgUGFyYWdyYXBoUGFyYW1ldGVyczo6c3RhcnRPZk1hdHRlcihNYXR0ZXIgc29tKQor
dm9pZCBQYXJhZ3JhcGhQYXJhbWV0ZXJzOjpzdGFydE9mTWF0dGVyKHN0cmluZyBjb25zdCAmIHNv
bSkKIHsKIAlzdGFydF9vZl9tYXR0ZXJfID0gc29tOwogfQpAQCAtMjM1LDEyICsyMzUsNyBAQCB2
b2lkIFBhcmFncmFwaFBhcmFtZXRlcnM6OnJlYWQoTGV4ZXIgJiBsZXgsIGJvb2wgbWVyZ2UpCiAJ
CX0gZWxzZSBpZiAodG9rZW4gPT0gIlxcc3RhcnRfb2ZfbWF0dGVyIikgewogCQkJbGV4Lm5leHQo
KTsKIAkJCXN0cmluZyBjb25zdCB0bXAgPSBydHJpbShsZXguZ2V0U3RyaW5nKCkpOwotCQkJaWYg
KHRtcCA9PSAiZnJvbnRtYXR0ZXIiKQotCQkJCXN0YXJ0T2ZNYXR0ZXIoTUFUVEVSX0ZST05UKTsK
LQkJCWVsc2UgaWYgKHRtcCA9PSAibWFpbm1hdHRlciIpCi0JCQkJc3RhcnRPZk1hdHRlcihNQVRU
RVJfTUFJTik7Ci0JCQllbHNlIGlmICh0bXAgPT0gImJhY2ttYXR0ZXIiKQotCQkJCXN0YXJ0T2ZN
YXR0ZXIoTUFUVEVSX0JBQ0spOworCQkJc3RhcnRPZk1hdHRlcih0bXApOwogCQl9IGVsc2UgaWYg
KHRva2VuID09ICJcXHBhcmFncmFwaF9zcGFjaW5nIikgewogCQkJbGV4Lm5leHQoKTsKIAkJCXN0
cmluZyBjb25zdCB0bXAgPSBydHJpbShsZXguZ2V0U3RyaW5nKCkpOwpAQCAtMzAzLDE3ICsyOTgs
OSBAQCB2b2lkIFBhcmFncmFwaFBhcmFtZXRlcnM6OndyaXRlKG9zdHJlYW0gJiBvcykgY29uc3QK
IAlpZiAoc3RhcnRPZkFwcGVuZGl4KCkpCiAJCW9zIDw8ICJcXHN0YXJ0X29mX2FwcGVuZGl4XG4i
OwogCi0JLy8gU3RhcnQgb2YgZnJvbnQgbWF0dGVyPwotCWlmIChzdGFydE9mTWF0dGVyKCkgIT0g
TUFUVEVSX05PTkUpIHsKLQkJc3RyaW5nIHRtcDsKLQkJaWYgKHN0YXJ0T2ZNYXR0ZXIoKSA9PSBN
QVRURVJfRlJPTlQpCi0JCQl0bXAgPSAiZnJvbnRtYXR0ZXIiOwotCQllbHNlIGlmIChzdGFydE9m
TWF0dGVyKCkgPT0gTUFUVEVSX01BSU4pCi0JCQl0bXAgPSAibWFpbm1hdHRlciI7Ci0JCWVsc2Ug
aWYgKHN0YXJ0T2ZNYXR0ZXIoKSA9PSBNQVRURVJfQkFDSykKLQkJCXRtcCA9ICJiYWNrbWF0dGVy
IjsKLQkJb3MgPDwgIlxcc3RhcnRfb2ZfbWF0dGVyICIgPDwgdG1wIDw8ICJcbiI7Ci0JfQorCS8v
IFN0YXJ0IG9mIG1hdHRlcj8KKwlpZiAoIXN0YXJ0T2ZNYXR0ZXIoKS5lbXB0eSgpKQorCQlvcyA8
PCAiXFxzdGFydF9vZl9tYXR0ZXIgIiA8PCBzdGFydE9mTWF0dGVyKCkgPDwgIlxuIjsKIAogCS8v
IE5vaW5kZW50PwogCWlmIChub2luZGVudCgpKQpkaWZmIC0tZ2l0IGEvc3JjL1BhcmFncmFwaFBh
cmFtZXRlcnMuaCBiL3NyYy9QYXJhZ3JhcGhQYXJhbWV0ZXJzLmgKaW5kZXggOWZmNDJiMGNmMi4u
M2YxZTgwODRhNiAxMDA2NDQKLS0tIGEvc3JjL1BhcmFncmFwaFBhcmFtZXRlcnMuaAorKysgYi9z
cmMvUGFyYWdyYXBoUGFyYW1ldGVycy5oCkBAIC02Myw5ICs2Myw5IEBAIHB1YmxpYzoKIAkvLy8K
IAl2b2lkIGFwcGVuZGl4KGJvb2wpOwogCS8vLwotCU1hdHRlciBzdGFydE9mTWF0dGVyKCkgY29u
c3Q7CisJc3RkOjpzdHJpbmcgc3RhcnRPZk1hdHRlcigpIGNvbnN0OwogCS8vLwotCXZvaWQgc3Rh
cnRPZk1hdHRlcihNYXR0ZXIpOworCXZvaWQgc3RhcnRPZk1hdHRlcihzdGQ6OnN0cmluZyBjb25z
dCAmKTsKIAkvLy8KIAlib29sIG1haW5NYXR0ZXIoKSBjb25zdDsKIAkvLy8KQEAgLTExMCw3ICsx
MTAsNyBAQCBwcml2YXRlOgogCS8vLwogCWJvb2wgYXBwZW5kaXhfOwogCS8vLwotCU1hdHRlciBz
dGFydF9vZl9tYXR0ZXJfOworCXN0ZDo6c3RyaW5nIHN0YXJ0X29mX21hdHRlcl87CiAJLy8vCiAJ
Ym9vbCBtYWluX21hdHRlcl87CiAJLy8vCmRpZmYgLS1naXQgYS9zcmMvUm93UGFpbnRlci5jcHAg
Yi9zcmMvUm93UGFpbnRlci5jcHAKaW5kZXggMzk2MTFhMWJiYy4uMmY4N2IyNGNlOCAxMDA2NDQK
LS0tIGEvc3JjL1Jvd1BhaW50ZXIuY3BwCisrKyBiL3NyYy9Sb3dQYWludGVyLmNwcApAQCAtMzMz
LDcgKzMzMyw3IEBAIHZvaWQgUm93UGFpbnRlcjo6cGFpbnRBcHBlbmRpeCgpIGNvbnN0CiAJaW50
IHkgPSB5b18gLSByb3dfLmFzY2VudCgpOwogCiAJaWYgKHBhcl8ucGFyYW1zKCkuc3RhcnRPZkFw
cGVuZGl4KCkKLQkgICAgfHwgcGFyXy5wYXJhbXMoKS5zdGFydE9mTWF0dGVyKCkgIT0gTUFUVEVS
X05PTkUpCisJICAgIHx8ICFwYXJfLnBhcmFtcygpLnN0YXJ0T2ZNYXR0ZXIoKS5lbXB0eSgpKQog
CQl5ICs9IDIgKiBkZWZhdWx0Um93SGVpZ2h0KCk7CiAKIAlwaV8ucGFpbi5saW5lKDEsIHksIDEs
IHlvXyArIHJvd18uZGVzY2VudCgpLCBDb2xvcl9hcHBlbmRpeCk7CkBAIC00MzMsMjYgKzQzMywx
NiBAQCB2b2lkIFJvd1BhaW50ZXI6OnBhaW50Rmlyc3QoKSBjb25zdAogCWlmIChwYXJfLnBhcmFt
cygpLnN0YXJ0T2ZBcHBlbmRpeCgpKQogCQlsYWJlbCA9IF8oIkFwcGVuZGl4Iik7CiAJLy8gc3Rh
cnQgb2YgbWF0dGVyPwotCWlmIChwYXJfLnBhcmFtcygpLnN0YXJ0T2ZNYXR0ZXIoKSAhPSBNQVRU
RVJfTk9ORSkgeworCWlmICghcGFyXy5wYXJhbXMoKS5zdGFydE9mTWF0dGVyKCkuZW1wdHkoKSkg
ewogCQlpZiAoIWxhYmVsLmVtcHR5KCkpCiAJCQlsYWJlbCArPSAiICYgIjsKLQkJc3dpdGNoIChw
YXJfLnBhcmFtcygpLnN0YXJ0T2ZNYXR0ZXIoKSkgewotCQkJY2FzZSBNQVRURVJfRlJPTlQ6Ci0J
CQkJbGFiZWwgKz0gXygiRnJvbnQgTWF0dGVyIik7Ci0JCQkJYnJlYWs7Ci0JCQljYXNlIE1BVFRF
Ul9NQUlOOgotCQkJCWxhYmVsICs9IF8oIk1haW4gTWF0dGVyIik7Ci0JCQkJYnJlYWs7Ci0JCQlj
YXNlIE1BVFRFUl9CQUNLOgotCQkJCWxhYmVsICs9IF8oIkJhY2sgTWF0dGVyIik7Ci0JCQkJYnJl
YWs7Ci0JCQljYXNlIE1BVFRFUl9OT05FOgotCQkJCWJyZWFrOwotCQl9CiAJCS8vIE1hdHRlcnMg
YXJlIHN1cHBvcnRlZCBvbmx5IGJ5IHNlbGVjdGVkIGNsYXNzZXMKLQkJaWYgKCFwaV8uYmFzZS5i
di0+YnVmZmVyKCkucGFyYW1zKCkuZG9jdW1lbnRDbGFzcygpLmhhc01hdHRlcnMoKSkKKwkJc3Ry
aW5nIGNvbnN0IG1hdHRlciA9IHBhcl8ucGFyYW1zKCkuc3RhcnRPZk1hdHRlcigpOworCQlpZiAo
cGlfLmJhc2UuYnYtPmJ1ZmZlcigpLnBhcmFtcygpLmRvY3VtZW50Q2xhc3MoKS5oYXNNYXR0ZXIo
bWF0dGVyKSkKKwkJCWxhYmVsICs9IHRyYW5zbGF0ZUlmUG9zc2libGUocGlfLmJhc2UuYnYtPmJ1
ZmZlcigpLnBhcmFtcygpLmRvY3VtZW50Q2xhc3MoKS5nZXRNYXR0ZXIobWF0dGVyKS5ndWluYW1l
KTsKKwkJZWxzZQogCQkJbGFiZWwgPSBzdXBwb3J0OjpiZm9ybWF0KF8oIiUxJHNbW21hdHRlciBu
YW1lXV0gKCUyJHNbW25vdCBzdXBwb3J0ZWQgcXVhbGlmaWNhdGlvbl1dKSIpLAotCQkJCQkJIGxh
YmVsLCBfKCJub3Qgc3VwcG9ydGVkISIpKTsKKwkJCQkJCSBmcm9tX3V0ZjgobWF0dGVyKSwgXygi
bm90IHN1cHBvcnRlZCEiKSk7CiAJfQogCWlmICghbGFiZWwuZW1wdHkoKSkKIAkJcGFpbnRNYXR0
ZXJTdGFydCh5b18gLSByb3dfLmFzY2VudCgpICsgMiAqIGRlZmF1bHRSb3dIZWlnaHQoKSwgbGFi
ZWwpOwpkaWZmIC0tZ2l0IGEvc3JjL1RleHQuY3BwIGIvc3JjL1RleHQuY3BwCmluZGV4IDc2ZmYx
MzE0NTQuLjM4ZmYyNzAwYjAgMTAwNjQ0Ci0tLSBhL3NyYy9UZXh0LmNwcAorKysgYi9zcmMvVGV4
dC5jcHAKQEAgLTc5OCw3ICs3OTgsNyBAQCBzdGF0aWMgdm9pZCBicmVha1BhcmFncmFwaChUZXh0
ICYgdGV4dCwgcGl0X3R5cGUgcGFyX29mZnNldCwgcG9zX3R5cGUgcG9zLAogCiAJaWYgKCFpc2Vt
cHR5KSB7CiAJCWJvb2wgY29uc3Qgc29hID0gcGFyLnBhcmFtcygpLnN0YXJ0T2ZBcHBlbmRpeCgp
OwotCQlNYXR0ZXIgY29uc3Qgc29tID0gcGFyLnBhcmFtcygpLnN0YXJ0T2ZNYXR0ZXIoKTsKKwkJ
c3RyaW5nIGNvbnN0IHNvbSA9IHBhci5wYXJhbXMoKS5zdGFydE9mTWF0dGVyKCk7CiAJCXBhci5w
YXJhbXMoKS5jbGVhcigpOwogCQkvLyBkbyBub3QgbG9zZSBzdGFydCBvZiBhcHBlbmRpeCBtYXJr
ZXIgKGJ1ZyA0MjEyKQogCQlwYXIucGFyYW1zKCkuc3RhcnRPZkFwcGVuZGl4KHNvYSk7CkBAIC0z
Mjk2LDEyICszMjk2LDEyIEBAIGJvb2wgVGV4dDo6ZGVsZXRlRW1wdHlQYXJhZ3JhcGhNZWNoYW5p
c20oQ3Vyc29yICYgY3VyLAogCSAgICAgICAgICAgICAgIG1pbihvbGQucGl0KCkgKyAxLCBvbGQu
bGFzdHBpdCgpKSk7CiAJUGFyYWdyYXBoTGlzdCAmIHBsaXN0ID0gb2xkLnRleHQoKS0+cGFyYWdy
YXBocygpOwogCWJvb2wgY29uc3Qgc29hID0gb2xkcGFyLnBhcmFtcygpLnN0YXJ0T2ZBcHBlbmRp
eCgpOwotCU1hdHRlciBjb25zdCBzb20gPSBvbGRwYXIucGFyYW1zKCkuc3RhcnRPZk1hdHRlcigp
OworCXN0cmluZyBjb25zdCBzb20gPSBvbGRwYXIucGFyYW1zKCkuc3RhcnRPZk1hdHRlcigpOwog
CXBsaXN0LmVyYXNlKHBsaXN0Lml0ZXJhdG9yX2F0KG9sZC5waXQoKSkpOwogCS8vIGRvIG5vdCBs
b3NlIHN0YXJ0IG9mIGFwcGVuZGl4IG1hcmtlciAoYnVnIDQyMTIpCiAJaWYgKHNvYSAmJiBvbGQu
cGl0KCkgPCBwaXRfdHlwZShwbGlzdC5zaXplKCkpKQogCQlwbGlzdFtvbGQucGl0KCldLnBhcmFt
cygpLnN0YXJ0T2ZBcHBlbmRpeCh0cnVlKTsKLQlpZiAoc29tICE9IE1BVFRFUl9OT05FICYmIG9s
ZC5waXQoKSA8IHBpdF90eXBlKHBsaXN0LnNpemUoKSkpCisJaWYgKCFzb20uZW1wdHkoKSAmJiBv
bGQucGl0KCkgPCBwaXRfdHlwZShwbGlzdC5zaXplKCkpKQogCQlwbGlzdFtvbGQucGl0KCldLnBh
cmFtcygpLnN0YXJ0T2ZNYXR0ZXIoc29tKTsKIAogCS8vIHNlZSAjd2FybmluZyAoRklYTUU/KSBh
Ym92ZQpAQCAtNDE0MiwyMCArNDE0MiwxMyBAQCB2b2lkIFRleHQ6OmRpc3BhdGNoKEN1cnNvciAm
IGN1ciwgRnVuY1JlcXVlc3QgJiBjbWQpCiAKIAljYXNlIExGVU5fTUFUVEVSOiB7CiAJCVBhcmFn
cmFwaCAmIHBhciA9IGN1ci5wYXJhZ3JhcGgoKTsKLQkJZG9jc3RyaW5nIGNvbnN0ICYgYXJnID0g
Y21kLmFyZ3VtZW50KCk7Ci0JCU1hdHRlciBzdGFydCA9IE1BVFRFUl9OT05FOwotCQlpZiAoYXJn
ID09ICJmcm9udG1hdHRlciIpIHsKLQkJCXN0YXJ0ID0gcGFyLnBhcmFtcygpLnN0YXJ0T2ZNYXR0
ZXIoKSA9PSBNQVRURVJfRlJPTlQKLQkJCQkJCSAgID8gTUFUVEVSX05PTkUgOiBNQVRURVJfRlJP
TlQ7Ci0JCX0gZWxzZSBpZiAoYXJnID09ICJtYWlubWF0dGVyIikgewotCQkJc3RhcnQgPSBwYXIu
cGFyYW1zKCkuc3RhcnRPZk1hdHRlcigpID09IE1BVFRFUl9NQUlOCi0JCQkJCQkgICA/IE1BVFRF
Ul9OT05FIDogTUFUVEVSX01BSU47Ci0JCX0gZWxzZSBpZiAoYXJnID09ICJiYWNrbWF0dGVyIikg
ewotCQkJc3RhcnQgPSBwYXIucGFyYW1zKCkuc3RhcnRPZk1hdHRlcigpID09IE1BVFRFUl9CQUNL
Ci0JCQkJCQkgICA/IE1BVFRFUl9OT05FIDogTUFUVEVSX0JBQ0s7Ci0JCX0KKwkJc3RyaW5nIGNv
bnN0ICYgYXJnID0gdG9fdXRmOChjbWQuYXJndW1lbnQoKSk7CiAJCWN1ci5yZWNvcmRVbmRvKCk7
Ci0JCXBhci5wYXJhbXMoKS5zdGFydE9mTWF0dGVyKHN0YXJ0KTsKKwkJaWYgKGFyZyA9PSBwYXIu
cGFyYW1zKCkuc3RhcnRPZk1hdHRlcigpKQorCQkJcGFyLnBhcmFtcygpLnN0YXJ0T2ZNYXR0ZXIo
c3RyaW5nKCkpOworCQllbHNlCisJCQlwYXIucGFyYW1zKCkuc3RhcnRPZk1hdHRlcihhcmcpOwor
CiAJCS8vIHdlIGNhbiBzZXQgdGhlIHJlZnJlc2hpbmcgcGFyYW1ldGVycyBub3cKIAkJY3VyLmZv
cmNlQnVmZmVyVXBkYXRlKCk7CiAJCWJyZWFrOwpAQCAtNjQyMiwyMyArNjQxNSwxOCBAQCBib29s
IFRleHQ6OmdldFN0YXR1cyhDdXJzb3IgJiBjdXIsIEZ1bmNSZXF1ZXN0IGNvbnN0ICYgY21kLAog
CQlzdGF0dXMuc2V0T25PZmYoY3VyLnBhcmFncmFwaCgpLnBhcmFtcygpLnN0YXJ0T2ZBcHBlbmRp
eCgpKTsKIAkJYnJlYWs7CiAKLQljYXNlIExGVU5fTUFUVEVSOgotCQlpZiAoIWN1ci5idWZmZXIo
KS0+cGFyYW1zKCkuZG9jdW1lbnRDbGFzcygpLmhhc01hdHRlcnMoKSkgeworCWNhc2UgTEZVTl9N
QVRURVI6IHsKKwkJc3RyaW5nIGNvbnN0IGFyZyA9IHRvX3V0ZjgoY21kLmFyZ3VtZW50KCkpOwor
CQlpZiAoIWN1ci5idWZmZXIoKS0+cGFyYW1zKCkuZG9jdW1lbnRDbGFzcygpLmhhc01hdHRlcihh
cmcpKSB7CiAJCQllbmFibGUgPSBmYWxzZTsKIAkJCWJyZWFrOwogCQl9CiAJCS8vIEZJWE1FIFdl
IHJlYWxseSBzaG91bGQgbm90IGFsbG93IHRoaXMgdG8gYmUgcHV0LCBlLmcuLAogCQkvLyBpbiBh
IGZvb3Rub3RlLCBvciBpbiBFUlQuIEJ1dCBpdCB3b3VsZCBtYWtlIHNlbnNlIGluIGEKIAkJLy8g
YnJhbmNoLCBzbyBJJ20gbm90IHN1cmUgd2hhdCB0byBkby4KLQkJaWYgKGNtZC5hcmd1bWVudCgp
ID09ICJmcm9udG1hdHRlciIpCi0JCQlzdGF0dXMuc2V0T25PZmYoY3VyLnBhcmFncmFwaCgpLnBh
cmFtcygpLnN0YXJ0T2ZNYXR0ZXIoKSA9PSBNQVRURVJfRlJPTlQpOwotCQllbHNlIGlmIChjbWQu
YXJndW1lbnQoKSA9PSAibWFpbm1hdHRlciIpCi0JCQlzdGF0dXMuc2V0T25PZmYoY3VyLnBhcmFn
cmFwaCgpLnBhcmFtcygpLnN0YXJ0T2ZNYXR0ZXIoKSA9PSBNQVRURVJfTUFJTik7Ci0JCWVsc2Ug
aWYgKGNtZC5hcmd1bWVudCgpID09ICJiYWNrbWF0dGVyIikKLQkJCXN0YXR1cy5zZXRPbk9mZihj
dXIucGFyYWdyYXBoKCkucGFyYW1zKCkuc3RhcnRPZk1hdHRlcigpID09IE1BVFRFUl9CQUNLKTsK
LQkJZWxzZQotCQkJZW5hYmxlID0gZmFsc2U7CisJCXN0YXR1cy5zZXRPbk9mZihjdXIucGFyYWdy
YXBoKCkucGFyYW1zKCkuc3RhcnRPZk1hdHRlcigpID09IGFyZyk7CiAJCWJyZWFrOworCX0KIAog
CWNhc2UgTEZVTl9ESUFMT0dfU0hPV19ORVdfSU5TRVQ6CiAJCWlmIChjbWQuYXJndW1lbnQoKSA9
PSAiYmliaXRlbSIpCmRpZmYgLS1naXQgYS9zcmMvVGV4dENsYXNzLmNwcCBiL3NyYy9UZXh0Q2xh
c3MuY3BwCmluZGV4IGMwNDc3NTMzZTMuLmU5YzFiZjNhMzkgMTAwNjQ0Ci0tLSBhL3NyYy9UZXh0
Q2xhc3MuY3BwCisrKyBiL3NyYy9UZXh0Q2xhc3MuY3BwCkBAIC02MCw3ICs2MCw3IEBAIG5hbWVz
cGFjZSBseXggewogLy8gWW91IHNob3VsZCBhbHNvIHJ1biB0aGUgZGV2ZWxvcG1lbnQvdG9vbHMv
dXBkYXRlbGF5b3V0cy5weSBzY3JpcHQsCiAvLyB0byB1cGRhdGUgdGhlIGZvcm1hdCBvZiBhbGwg
b2Ygb3VyIGxheW91dCBmaWxlcy4KIC8vCi1pbnQgY29uc3QgTEFZT1VUX0ZPUk1BVCA9IDEyMDsg
Ly8gc3BpdHo6IFByb3ZpZGVzTWF0dGVycworaW50IGNvbnN0IExBWU9VVF9GT1JNQVQgPSAxMjA7
IC8vIHNwaXR6OiBNYXR0ZXJzCiAKIAogLy8gTGF5b3V0IGZvcm1hdCBmb3IgdGhlIGN1cnJlbnQg
bHl4IGZpbGUgZm9ybWF0LiBDb250cm9scyB3aGljaCBmb3JtYXQgaXMKQEAgLTE0Miw3ICsxNDIs
NyBAQCBUZXh0Q2xhc3M6OlRleHRDbGFzcygpCiAJICBjb2x1bW5zXygxKSwgc2lkZXNfKE9uZVNp
ZGUpLCBzZWNudW1kZXB0aF8oMyksIHRvY2RlcHRoXygzKSwgb3V0cHV0VHlwZV8oTEFURVgpLAog
CSAgb3V0cHV0Rm9ybWF0XygibGF0ZXgiKSwgaGFzX291dHB1dF9mb3JtYXRfKGZhbHNlKSwgZGVm
YXVsdGZvbnRfKHNhbmVfZm9udCksIAogCSAgdGl0bGV0eXBlXyhUSVRMRV9DT01NQU5EX0FGVEVS
KSwgdGl0bGVuYW1lXygibWFrZXRpdGxlIiksCi0JICBtaW5fdG9jbGV2ZWxfKDApLCBtYXhfdG9j
bGV2ZWxfKDApLCBoYXNfbWF0dGVyc18oZmFsc2UpLCBtYXhjaXRlbmFtZXNfKDIpLAorCSAgbWlu
X3RvY2xldmVsXygwKSwgbWF4X3RvY2xldmVsXygwKSwgbWF4Y2l0ZW5hbWVzXygyKSwKIAkgIGNp
dGVfZnVsbF9hdXRob3JfbGlzdF8odHJ1ZSksIGJpYmludG9jXyhmYWxzZSkKIHt9CiAKQEAgLTE4
NSw3ICsxODUsNyBAQCBlbnVtIFRleHRDbGFzc1RhZ3MgewogCVRDX0RFRkFVTFRGT05ULAogCVRD
X1NFQ05VTURFUFRILAogCVRDX1RPQ0RFUFRILAotCVRDX1BST1ZJREVTTUFUVEVSUywKKwlUQ19N
QVRURVIsCiAJVENfQ0xBU1NPUFRJT05TLAogCVRDX1NQRUNJQUxDSEFSUywKIAlUQ19QUkVBTUJM
RSwKQEAgLTI2Miw2ICsyNjIsNyBAQCBMZXhlcktleXdvcmQgdGV4dENsYXNzVGFnc1tdID0gewog
CXsgImlucHV0Z2xvYmFsIiwgICAgICAgVENfSU5QVVRfR0xPQkFMIH0sCiAJeyAiaW5zZXRsYXlv
dXQiLCAgICAgICBUQ19JTlNFVExBWU9VVCB9LAogCXsgImxlZnRtYXJnaW4iLCAgICAgICAgVENf
TEVGVE1BUkdJTiB9LAorCXsgIm1hdHRlciIsICAgICAgICAgICAgVENfTUFUVEVSIH0sCiAJeyAi
bWF4Y2l0ZW5hbWVzIiwgICAgICBUQ19NQVhDSVRFTkFNRVMgfSwKIAl7ICJtYXhsYXRleHZlcnNp
b24iLCAgIFRDX01BWF9MQVRFWF9WRVJTSU9OIH0sCiAJeyAibW9kaWZ5aW5zZXRsYXlvdXQiLCBU
Q19NT0RJRllJTlNFVExBWU9VVCB9LApAQCAtMjc5LDcgKzI4MCw2IEBAIExleGVyS2V5d29yZCB0
ZXh0Q2xhc3NUYWdzW10gPSB7CiAJeyAicHJlYW1ibGUiLCAgICAgICAgICBUQ19QUkVBTUJMRSB9
LAogCXsgInByb3ZpZGVpbnNldGxheW91dCIsIFRDX1BST1ZJREVJTlNFVExBWU9VVCB9LAogCXsg
InByb3ZpZGVzIiwgICAgICAgICAgVENfUFJPVklERVMgfSwKLQl7ICJwcm92aWRlc21hdHRlcnMi
LCAgIFRDX1BST1ZJREVTTUFUVEVSUyB9LAogCXsgInByb3ZpZGVzbW9kdWxlIiwgICAgVENfUFJP
VklERVNNT0RVTEUgfSwKIAl7ICJwcm92aWRlc3R5bGUiLCAgICAgIFRDX1BST1ZJREVTVFlMRSB9
LAogCXsgInJlcXVpcmVzIiwgICAgICAgICAgVENfUkVRVUlSRVMgfSwKQEAgLTY2Myw5ICs2NjMs
OCBAQCBUZXh0Q2xhc3M6OlJldHVyblZhbHVlcyBUZXh0Q2xhc3M6OnJlYWQoTGV4ZXIgJiBsZXhy
YywgUmVhZFR5cGUgcnQpCiAJCQl0b2NkZXB0aF8gPSBsZXhyYy5nZXRJbnRlZ2VyKCk7CiAJCQli
cmVhazsKIAotCQljYXNlIFRDX1BST1ZJREVTTUFUVEVSUzoKLQkJCWlmIChsZXhyYy5uZXh0KCkp
Ci0JCQkJaGFzX21hdHRlcnNfID0gbGV4cmMuZ2V0Qm9vbCgpOworCQljYXNlIFRDX01BVFRFUjoK
KwkJCXJlYWRNYXR0ZXIobGV4cmMpOwogCQkJYnJlYWs7CiAKIAkJLy8gRmlyc3Qgc3RlcCB0byBz
dXBwb3J0IG9wdGlvbnMKQEAgLTEwNjYsNiArMTA2NSw2OSBAQCB2b2lkIFRleHRDbGFzczo6cmVh
ZFRpdGxlVHlwZShMZXhlciAmIGxleHJjKQogfQogCiAKK3ZvaWQgVGV4dENsYXNzOjpyZWFkTWF0
dGVyKExleGVyICYgbGV4cmMpCit7CisJaWYgKCFsZXhyYy5uZXh0KCkpIHsKKwkJTFlYRVJSMCgi
VW5hYmxlIHRvIHJlYWQgTWF0dGVyIG5hbWUhIik7CisJCXJldHVybjsKKwl9CisJLy8vIE1hdHRl
ciB0YWdzCisJZW51bSB7CisJCS8vLworCQlNQVRURVJfR1VJX05BTUUgPSAxLAorCQkvLy8KKwkJ
TUFUVEVSX01FTlVfU1RSSU5HLAorCQkvLy8KKwkJTUFUVEVSX1VTRV9DT1VOVEVSUywKKwkJLy8v
CisJCU1BVFRFUl9FTkQKKwl9OworCisJTGV4ZXJLZXl3b3JkIG1hdHRlclRhZ3NbXSA9IHsKKwkJ
eyAiZW5kbWF0dGVyIiwgIE1BVFRFUl9FTkQgfSwKKwkJeyAiZ3VpbmFtZSIsICBNQVRURVJfR1VJ
X05BTUUgfSwKKwkJeyAibWVudXN0cmluZyIsIE1BVFRFUl9NRU5VX1NUUklORyB9LAorCQl7ICJ1
c2Vjb3VudGVycyIsIE1BVFRFUl9VU0VfQ09VTlRFUlMgfQorCX07CisKKwlQdXNoUG9wSGVscGVy
IHBwaChsZXhyYywgbWF0dGVyVGFncyk7CisKKwlEb2NNYXR0ZXIgbWF0dGVyOworCW1hdHRlci5u
YW1lID0gbGV4cmMuZ2V0U3RyaW5nKCk7CisKKwlib29sIGdldG91dCA9IGZhbHNlOworCXdoaWxl
ICghZ2V0b3V0ICYmIGxleHJjLmlzT0soKSkgeworCQlpbnQgbGUgPSBsZXhyYy5sZXgoKTsKKwkJ
c3dpdGNoIChsZSkgeworCQljYXNlIExleGVyOjpMRVhfVU5ERUY6CisJCQlsZXhyYy5wcmludEVy
cm9yKCJVbmtub3duIENsYXNzT3B0aW9uIHRhZyBgJCRUb2tlbiciKTsKKwkJCWNvbnRpbnVlOwor
CQlkZWZhdWx0OgorCQkJYnJlYWs7CisJCX0KKwkJc3dpdGNoIChsZSkgeworCQljYXNlIE1BVFRF
Ul9HVUlfTkFNRToKKwkJCWxleHJjLm5leHQoKTsKKwkJCW1hdHRlci5ndWluYW1lID0gcnRyaW0o
bGV4cmMuZ2V0RG9jU3RyaW5nKCkpOworCQkJYnJlYWs7CisJCWNhc2UgTUFUVEVSX01FTlVfU1RS
SU5HOgorCQkJbGV4cmMubmV4dCgpOworCQkJbWF0dGVyLm1lbnVzdHJpbmcgPSBydHJpbShsZXhy
Yy5nZXREb2NTdHJpbmcoKSk7CisJCQlicmVhazsKKwkJY2FzZSBNQVRURVJfVVNFX0NPVU5URVJT
OgorCQkJbGV4cmMubmV4dCgpOworCQkJbWF0dGVyLnVzZV9jb3VudGVycyA9IGxleHJjLmdldEJv
b2woKTsKKwkJCWJyZWFrOworCQljYXNlIE1BVFRFUl9FTkQ6CisJCQlnZXRvdXQgPSB0cnVlOwor
CQkJYnJlYWs7CisJCX0KKwl9CisKKwltYXR0ZXJzXy5wdXNoX2JhY2sobWF0dGVyKTsKK30KKwor
CiB2b2lkIFRleHRDbGFzczo6cmVhZE91dHB1dFR5cGUoTGV4ZXIgJiBsZXhyYykKIHsKIAlMZXhl
cktleXdvcmQgb3V0cHV0VHlwZVRhZ3NbXSA9IHsKQEAgLTE4NzMsNiArMTkzNSwyNiBAQCBib29s
IFRleHRDbGFzczo6aGFzSW5zZXRMYXlvdXQoZG9jc3RyaW5nIGNvbnN0ICYgbikgY29uc3QKIH0K
IAogCitib29sIFRleHRDbGFzczo6aGFzTWF0dGVyKHN0ZDo6c3RyaW5nIGNvbnN0ICYgbSkgY29u
c3QKK3sKKwlmb3IgKGF1dG8gY29uc3QgJiBtYXR0ZXIgOiBtYXR0ZXJzXykgeworCQlpZiAobWF0
dGVyLm5hbWUgPT0gbSkKKwkJCXJldHVybiB0cnVlOworCX0KKwlyZXR1cm4gZmFsc2U7Cit9CisK
KworVGV4dENsYXNzOjpEb2NNYXR0ZXIgVGV4dENsYXNzOjpnZXRNYXR0ZXIoc3RkOjpzdHJpbmcg
Y29uc3QgJiBtKSBjb25zdAoreworCWZvciAoYXV0byBjb25zdCAmIG1hdHRlciA6IG1hdHRlcnNf
KSB7CisJCWlmIChtYXR0ZXIubmFtZSA9PSBtKQorCQkJcmV0dXJuIG1hdHRlcjsKKwl9CisJcmV0
dXJuIERvY01hdHRlcigpOworfQorCisKIExheW91dCBjb25zdCAmIFRleHRDbGFzczo6b3BlcmF0
b3JbXShkb2NzdHJpbmcgY29uc3QgJiBuYW1lKSBjb25zdAogewogCUxBVFRFU1QoIW5hbWUuZW1w
dHkoKSk7CmRpZmYgLS1naXQgYS9zcmMvVGV4dENsYXNzLmggYi9zcmMvVGV4dENsYXNzLmgKaW5k
ZXggZThiZjBkNzY4ZS4uNGUyOGQ4ZmE5YiAxMDA2NDQKLS0tIGEvc3JjL1RleHRDbGFzcy5oCisr
KyBiL3NyYy9UZXh0Q2xhc3MuaApAQCAtMjA5LDggKzIwOSwyMyBAQCBwdWJsaWM6CiAJc3RkOjpz
dHJpbmcgY29uc3QgJiBvdXRwdXRGb3JtYXQoKSBjb25zdCB7IHJldHVybiBvdXRwdXRGb3JtYXRf
OyB9CiAJLy8vIERvZXMgdGhpcyBjbGFzcyByZWRlZmluZSB0aGUgb3V0cHV0IGZvcm1hdD8KIAli
b29sIGhhc091dHB1dEZvcm1hdCgpIGNvbnN0IHsgcmV0dXJuIGhhc19vdXRwdXRfZm9ybWF0Xzsg
fQorCS8vLworCXN0cnVjdCBEb2NNYXR0ZXIgeworCQkvLy8KKwkJc3RkOjpzdHJpbmcgbmFtZTsK
KwkJLy8vCisJCWRvY3N0cmluZyBndWluYW1lOworCQkvLy8KKwkJZG9jc3RyaW5nIG1lbnVzdHJp
bmc7CisJCS8vLworCQlib29sIHVzZV9jb3VudGVyczsKKwl9OwogCS8vLyBEb2VzIHRoaXMgY2xh
c3MgcHJvdmlkZSBcZm9ybnRtYXR0ZXIsIFxtYWlubWF0dGVyLCBhbmQgXGJhY2ttYXR0ZXI/Ci0J
Ym9vbCBoYXNNYXR0ZXJzKCkgY29uc3QgeyByZXR1cm4gaGFzX21hdHRlcnNfOyB9CisJYm9vbCBo
YXNNYXR0ZXIoc3RkOjpzdHJpbmcgY29uc3QgJiBtKSBjb25zdDsKKwkvLy8KKwlEb2NNYXR0ZXIg
Z2V0TWF0dGVyKHN0ZDo6c3RyaW5nIGNvbnN0ICYgbSkgY29uc3Q7CisJLy8vCisJc3RkOjp2ZWN0
b3I8RG9jTWF0dGVyPiBnZXRNYXR0ZXJzKCkgY29uc3QgeyByZXR1cm4gbWF0dGVyc187IH0KIAkv
Ly8gUmV0dXJuIHRoZSBub24tbG9jYWxpc2VkIG5hbWVzIGZvciB0aGUgdG9jIHR5cGVzLgogCXN0
ZDo6bWFwPHN0ZDo6c3RyaW5nLCBkb2NzdHJpbmc+IGNvbnN0ICYKIAkJb3V0bGluZXJOYW1lcygp
IGNvbnN0IHsgcmV0dXJuIG91dGxpbmVyX25hbWVzXzsgfQpAQCAtMzcwLDggKzM4NSw4IEBAIHBy
b3RlY3RlZDoKIAlpbnQgbWluX3RvY2xldmVsXzsKIAkvLy8gVGhlIG1heGltYWwgVG9jTGV2ZWwg
b2Ygc2VjdGlvbmluZyBsYXlvdXRzCiAJaW50IG1heF90b2NsZXZlbF87Ci0JLy8vIERvZXMgdGhp
cyBjbGFzcyBwcm92aWRlIFxmcm9udG1hdHRlciwgXG1haW5tYXR0ZXIsIGFuZCBcYmFja21hdHRl
cj8KLQlib29sIGhhc19tYXR0ZXJzXzsKKwkvLy8KKwlzdGQ6OnZlY3RvcjxEb2NNYXR0ZXI+IG1h
dHRlcnNfOwogCS8vLyBDaXRhdGlvbiBmb3JtYXR0aW5nIGluZm9ybWF0aW9uCiAJc3RkOjptYXA8
Q2l0ZUVuZ2luZVR5cGUsIHN0ZDo6bWFwPHN0ZDo6c3RyaW5nLCBzdGQ6OnN0cmluZz4gPiBjaXRl
X2Zvcm1hdHNfOwogCS8vLyBDaXRhdGlvbiBtYWNyb3MKQEAgLTQxNSwxNCArNDMwLDE0IEBAIHBy
aXZhdGU6CiAJLy8vCiAJdm9pZCByZWFkVGl0bGVUeXBlKHN1cHBvcnQ6OkxleGVyICYpOwogCS8v
LworCXZvaWQgcmVhZE1hdHRlcihzdXBwb3J0OjpMZXhlciAmKTsKKwkvLy8KIAl2b2lkIHJlYWRN
YXhDb3VudGVyKHN1cHBvcnQ6OkxleGVyICYpOwogCS8vLwogCXZvaWQgcmVhZENsYXNzT3B0aW9u
cyhzdXBwb3J0OjpMZXhlciAmKTsKIAkvLy8KIAl2b2lkIHJlYWRTcGVjaWFsQ2hhcnMoc3VwcG9y
dDo6TGV4ZXIgJik7CiAJLy8vCi0Jdm9pZCByZWFkQ2hhclN0eWxlKHN1cHBvcnQ6OkxleGVyICYs
IHN0ZDo6c3RyaW5nIGNvbnN0ICYpOwotCS8vLwogCWJvb2wgcmVhZEZsb2F0KHN1cHBvcnQ6Okxl
eGVyICYpOwogCS8vLwogCXN0ZDo6dmVjdG9yPENpdGF0aW9uU3R5bGU+IGNvbnN0ICYgZ2V0Q2l0
ZVN0eWxlcyhDaXRlRW5naW5lVHlwZSBjb25zdCAmKSBjb25zdDsKZGlmZiAtLWdpdCBhL3NyYy9U
ZXh0TWV0cmljcy5jcHAgYi9zcmMvVGV4dE1ldHJpY3MuY3BwCmluZGV4IDA2ZTNmY2UyZGIuLjRh
YzFjYjY3ZmEgMTAwNjQ0Ci0tLSBhL3NyYy9UZXh0TWV0cmljcy5jcHAKKysrIGIvc3JjL1RleHRN
ZXRyaWNzLmNwcApAQCAtMTMxMCw3ICsxMzEwLDcgQEAgaW50IFRleHRNZXRyaWNzOjpwYXJUb3BT
cGFjaW5nKHBpdF90eXBlIGNvbnN0IHBpdCkgY29uc3QKIAkJYXNjICs9IGJwYXJhbXMuZ2V0RGVm
U2tpcCgpLmluUGl4ZWxzKCpidl8pOwogCX0KIAkvLyBleHRyYSByb3cgaGVpZ2h0IGZvciBzdGFy
dCBvZiBhcHBlbmRpeCBhbmQgbWF0dGVycwotCWlmIChwYXIucGFyYW1zKCkuc3RhcnRPZkFwcGVu
ZGl4KCkgfHwgcGFyLnBhcmFtcygpLnN0YXJ0T2ZNYXR0ZXIoKSAhPSBNQVRURVJfTk9ORSkKKwlp
ZiAocGFyLnBhcmFtcygpLnN0YXJ0T2ZBcHBlbmRpeCgpIHx8ICFwYXIucGFyYW1zKCkuc3RhcnRP
Zk1hdHRlcigpLmVtcHR5KCkpCiAJCWFzYyArPSBpbnQoMyAqIGRoKTsKIAogCS8vIHNwZWNpYWwg
Y29kZSBmb3IgdGhlIHRvcCBsYWJlbApkaWZmIC0tZ2l0IGEvc3JjL2Zyb250ZW5kcy9xdC9NZW51
cy5jcHAgYi9zcmMvZnJvbnRlbmRzL3F0L01lbnVzLmNwcAppbmRleCBhNmUyMTUyYTVmLi40MTcw
ZWUxNmM3IDEwMDY0NAotLS0gYS9zcmMvZnJvbnRlbmRzL3F0L01lbnVzLmNwcAorKysgYi9zcmMv
ZnJvbnRlbmRzL3F0L01lbnVzLmNwcApAQCAtMjA2LDcgKzIwNiw5IEBAIHB1YmxpYzoKIAkJLyoq
IFRoaXMgaXMgdGhlIGxpc3Qgb2YgbG9nbyBzcGVjaWFsIGNoYXJzIGF2YWlsYWJsZSAqLwogCQlT
cGVjaWFsQ2hhcnNMb2dvcywKIAkJLyoqIE9wdGlvbnMgaW4gdGhlIFpvb20gbWVudSAqKi8KLQkJ
Wm9vbU9wdGlvbnMKKwkJWm9vbU9wdGlvbnMsCisJCS8qKiBEb2N1bWVudCBEaXZpc2lvbnMgKE1h
dHRlcnMpICoqLworCQlEb2NNYXR0ZXJzCiAJfTsKIAogCWV4cGxpY2l0IE1lbnVJdGVtKEtpbmQg
a2luZCkgOiBraW5kXyhraW5kKSwgb3B0aW9uYWxfKGZhbHNlKSB7fQpAQCAtNDAwLDYgKzQwMiw3
IEBAIHB1YmxpYzoKIAl2b2lkIGV4cGFuZENhcHRpb25zKEJ1ZmZlciBjb25zdCAqIGJ1ZiwgYm9v
bCBzd2l0Y2hjYXAgPSBmYWxzZSk7CiAJdm9pZCBleHBhbmRFbnZpcm9ubWVudFNlcGFyYXRvcnMo
QnVmZmVyVmlldyBjb25zdCAqLCBib29sIGNvbnRleHRtZW51ID0gZmFsc2UpOwogCXZvaWQgZXhw
YW5kUXVvdGVzKEJ1ZmZlclZpZXcgY29uc3QgKik7CisJdm9pZCBleHBhbmREb2NNYXR0ZXJzKEJ1
ZmZlciBjb25zdCAqKTsKIAl2b2lkIGV4cGFuZFpvb21PcHRpb25zKEJ1ZmZlclZpZXcgY29uc3Qg
Kik7CiAJLy8vCiAJSXRlbUxpc3QgaXRlbXNfOwpAQCAtNDg5LDYgKzQ5Miw3IEBAIHZvaWQgTWVu
dURlZmluaXRpb246OnJlYWQoTGV4ZXIgJiBsZXgpCiAJCW1kX2Jvb2ttYXJrcywKIAkJbWRfY2hh
cnN0eWxlcywKIAkJbWRfY3VzdG9tLAorCQltZF9kb2NtYXR0ZXJzLAogCQltZF9lbmRtZW51LAog
CQltZF9leHBvcnRmb3JtYXQsCiAJCW1kX2V4cG9ydGZvcm1hdHMsCkBAIC01MzYsNiArNTQwLDcg
QEAgdm9pZCBNZW51RGVmaW5pdGlvbjo6cmVhZChMZXhlciAmIGxleCkKIAkJeyAiY2hhcnN0eWxl
cyIsIG1kX2NoYXJzdHlsZXMgfSwKIAkJeyAiY2l0ZXN0eWxlcyIsIG1kX2NpdGVzdHlsZXMgfSwK
IAkJeyAiY3VzdG9tIiwgbWRfY3VzdG9tIH0sCisJCXsgImRvY21hdHRlcnMiLCBtZF9kb2NtYXR0
ZXJzIH0sCiAJCXsgImRvY3VtZW50cyIsIG1kX2RvY3VtZW50cyB9LAogCQl7ICJlbmQiLCBtZF9l
bmRtZW51IH0sCiAJCXsgImVudmlyb25tZW50c2VwYXJhdG9ycyIsIG1kX2Vudl9zZXBhcmF0b3Jz
IH0sCkBAIC03NDgsMTIgKzc1MywxNSBAQCB2b2lkIE1lbnVEZWZpbml0aW9uOjpyZWFkKExleGVy
ICYgbGV4KQogCQljYXNlIG1kX3RleHRicmVha3Ntb2RpZnk6CiAJCQlhZGQoTWVudUl0ZW0oTWVu
dUl0ZW06OlRleHRCcmVha3NNb2RpZnkpKTsKIAkJCWJyZWFrOwotCQkKIAogCQljYXNlIG1kX3pv
b21vcHRpb25zOgogCQkJYWRkKE1lbnVJdGVtKE1lbnVJdGVtOjpab29tT3B0aW9ucykpOwogCQkJ
YnJlYWs7CiAKKwkJY2FzZSBtZF9kb2NtYXR0ZXJzOgorCQkJYWRkKE1lbnVJdGVtKE1lbnVJdGVt
OjpEb2NNYXR0ZXJzKSk7CisJCQlicmVhazsKKwogCQljYXNlIG1kX29wdHN1Ym1lbnU6CiAJCWNh
c2UgbWRfc3VibWVudTogewogCQkJbGV4Lm5leHQodHJ1ZSk7CkBAIC0yMDEwLDYgKzIwMTgsMjAg
QEAgdm9pZCBNZW51RGVmaW5pdGlvbjo6ZXhwYW5kQ2FwdGlvbnMoQnVmZmVyIGNvbnN0ICogYnVm
LCBib29sIHN3aXRjaGNhcCkKIH0KIAogCit2b2lkIE1lbnVEZWZpbml0aW9uOjpleHBhbmREb2NN
YXR0ZXJzKEJ1ZmZlciBjb25zdCAqIGJ1ZikKK3sKKwlpZiAoIWJ1ZikKKwkJcmV0dXJuOworCisJ
RG9jdW1lbnRDbGFzcyBjb25zdCAmIGRjID0gYnVmLT5wYXJhbXMoKS5kb2N1bWVudENsYXNzKCk7
CisJZm9yIChhdXRvIGNvbnN0ICYgbSA6IGRjLmdldE1hdHRlcnMoKSkgeworCQlkb2NzdHJpbmcg
Y29uc3QgZ3VpID0gbS5tZW51c3RyaW5nLmVtcHR5KCkgPyBtLmd1aW5hbWUgOiBtLm1lbnVzdHJp
bmc7CisJCWFkZChNZW51SXRlbShNZW51SXRlbTo6Q29tbWFuZCwgdG9xc3RyKHRyYW5zbGF0ZUlm
UG9zc2libGUoZ3VpKSksCisJCQkgICAgIEZ1bmNSZXF1ZXN0KExGVU5fTUFUVEVSLCBmcm9tX2Fz
Y2lpKG0ubmFtZSkpKSk7CisJfQorfQorCisKIHZvaWQgTWVudURlZmluaXRpb246OmV4cGFuZFpv
b21PcHRpb25zKEJ1ZmZlclZpZXcgY29uc3QgKiBidikKIHsKIAlpZiAoIWJ2KQpAQCAtMjY5NCw2
ICsyNzE2LDEwIEBAIHZvaWQgTWVudXM6OkltcGw6OmV4cGFuZChNZW51RGVmaW5pdGlvbiBjb25z
dCAmIGZyb21tZW51LAogCQkJdG9tZW51LmV4cGFuZFpvb21PcHRpb25zKGJ2KTsKIAkJCWJyZWFr
OwogCisJCWNhc2UgTWVudUl0ZW06OkRvY01hdHRlcnM6CisJCQl0b21lbnUuZXhwYW5kRG9jTWF0
dGVycyhidWYpOworCQkJYnJlYWs7CisKIAkJY2FzZSBNZW51SXRlbTo6U3VibWVudTogewogCQkJ
TWVudUl0ZW0gaXRlbSgqY2l0KTsKIAkJCWl0ZW0uc2V0U3VibWVudShNZW51RGVmaW5pdGlvbihj
aXQtPnN1Ym1lbnVuYW1lKCkpKTsKZGlmZiAtLWdpdCBhL3NyYy9vdXRwdXRfbGF0ZXguY3BwIGIv
c3JjL291dHB1dF9sYXRleC5jcHAKaW5kZXggOGFlZjhjNzVkMC4uYTU5YTBjN2NkMCAxMDA2NDQK
LS0tIGEvc3JjL291dHB1dF9sYXRleC5jcHAKKysrIGIvc3JjL291dHB1dF9sYXRleC5jcHAKQEAg
LTEyMzcsMjEgKzEyMzcsOCBAQCB2b2lkIFRlWE9uZVBhcihCdWZmZXIgY29uc3QgJiBidWYsCiAJ
CWlmIChwYXIucGFyYW1zKCkuc3RhcnRPZkFwcGVuZGl4KCkpIHsKIAkJCW9zIDw8ICJcblxcYXBw
ZW5kaXhcbiI7CiAJCX0KLQkJaWYgKGJwYXJhbXMuZG9jdW1lbnRDbGFzcygpLmhhc01hdHRlcnMo
KSkgewotCQkJc3dpdGNoIChwYXIucGFyYW1zKCkuc3RhcnRPZk1hdHRlcigpKSB7Ci0JCQkJY2Fz
ZSBNQVRURVJfRlJPTlQ6Ci0JCQkJCW9zIDw8ICJcblxcZnJvbnRtYXR0ZXJcbiI7Ci0JCQkJCWJy
ZWFrOwotCQkJCWNhc2UgTUFUVEVSX01BSU46Ci0JCQkJCW9zIDw8ICJcblxcbWFpbm1hdHRlclxu
IjsKLQkJCQkJYnJlYWs7Ci0JCQkJY2FzZSBNQVRURVJfQkFDSzoKLQkJCQkJb3MgPDwgIlxuXFxi
YWNrbWF0dGVyXG4iOwotCQkJCQlicmVhazsKLQkJCQlkZWZhdWx0OgotCQkJCQlicmVhazsKLQkJ
CX0KLQkJfQorCQlpZiAoYnBhcmFtcy5kb2N1bWVudENsYXNzKCkuaGFzTWF0dGVyKHBhci5wYXJh
bXMoKS5zdGFydE9mTWF0dGVyKCkpKQorCQkJb3MgPDwgIlxuXFwiIDw8IHBhci5wYXJhbXMoKS5z
dGFydE9mTWF0dGVyKCkgPDwgIlxuIjsKIAogCQkvLyBJblRpdGxlIGNvbW1hbmRzIG11c3QgdXNl
IHN3aXRjaGVzIChub3QgZW52aXJvbm1lbnRzKQogCQkvLyBpbnNpZGUgdGhlIGNvbW1hbmRzIChz
ZWUgIzkzMzIpCi0tIApseXgtY3ZzIG1haWxpbmcgbGlzdApseXgtY3ZzQGxpc3RzLmx5eC5vcmcK
aHR0cHM6Ly9saXN0cy5seXgub3JnL21haWxtYW4vbGlzdGluZm8vbHl4LWN2cwo=