<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>210435</bug_id>
          
          <creation_ts>2020-04-13 10:01:58 -0700</creation_ts>
          <short_desc>[iOS] Remove unused UTType swizzler code</short_desc>
          <delta_ts>2020-04-13 12:31:39 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1640942</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-04-13 10:01:58 -0700</bug_when>
    <thetext>This code was added in r258120, and can be removed, since it is currently not in use.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640974</commentid>
    <comment_count>1</comment_count>
      <attachid>396306</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-04-13 10:39:28 -0700</bug_when>
    <thetext>Created attachment 396306
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640982</commentid>
    <comment_count>2</comment_count>
      <attachid>396309</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-04-13 10:51:36 -0700</bug_when>
    <thetext>Created attachment 396309
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641032</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-13 12:30:58 -0700</bug_when>
    <thetext>Committed r260034: &lt;https://trac.webkit.org/changeset/260034&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 396309.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641033</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-04-13 12:31:39 -0700</bug_when>
    <thetext>&lt;rdar://problem/61731451&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396306</attachid>
            <date>2020-04-13 10:39:28 -0700</date>
            <delta_ts>2020-04-13 10:51:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210435-20200413103927.patch</filename>
            <type>text/plain</type>
            <size>29482</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDAxNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDIwLTA0LTEzICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBSZW1vdmUgdW51
c2VkIFVUVHlwZSBzd2l6emxlciBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTA0MzUKKworICAgICAgICBVbnJldmlld2VkIHJvbGxvdXQgb2Yg
cjI1ODEyMC4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9VVFR5cGVSZWNvcmRTd2l6emxlci5oOiBSZW1vdmVk
LgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1VUVHlwZVJlY29yZFN3aXp6bGVyLm1tOiBSZW1v
dmVkLgorCiAyMDIwLTA0LTEzICBKb29uZ2h1biBQYXJrICA8amg3MTgucGFya0BzYW1zdW5nLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkLiBSZW1vdmUgcmVkdW5kYW50IG1vdmUgaW4gcmV0dXJu
IHN0YXRlbWVudC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkocmV2aXNpb24gMjYwMDE0KQorKysg
U291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEz
IEBACisyMDIwLTA0LTEzICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbaU9TXSBSZW1vdmUgdW51c2VkIFVUVHlwZSBzd2l6emxlciBjb2RlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA0MzUKKworICAgICAg
ICBVbnJldmlld2VkIHJvbGxvdXQgb2YgcjI1ODEyMC4KKworICAgICAgICAqIFBBTC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBhbC9zcGkvY29jb2EvTlNVVFR5cGVSZWNv
cmRTUEkuaDogUmVtb3ZlZC4KKwogMjAyMC0wNC0xMCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBTUEkgdG8gaGFuZGxlIHByb3h5IGF1
dGhlbnRpY2F0aW9uIGFuZCByZXF1aXJlIHNlY3VyZSBwcm94eSBjb25uZWN0aW9ucwpJbmRleDog
U291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
cmV2aXNpb24gMjYwMDE0KQorKysgU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0zNTIsNyArMzUyLDYgQEAKIAkJQ0RBQ0Iz
NUYyMzg3M0U0ODAwMThEN0NFIC8qIE1lZGlhVG9vbGJveFNvZnRMaW5rLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE1lZGlhVG9vbGJveFNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUNERjkxMTEyMjIwRTRFRUMwMDFFQTM5RSAvKiBDZWxlc3RpYWxTUEkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ2VsZXN0aWFsU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUNFNTY3Mzg2MjE1MUE3QjkwMDJGOTJENyAvKiBJT0tpdFNQSS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJT0tpdFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQlFMzAzN0Y0RjI0MTVBREY0MDAzMUNBMEYgLyogTlNVVFR5cGVSZWNvcmRTUEku
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTlNVVFR5cGVSZWNvcmRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTVENDVEMTEyMTA2QTA3NDAwRDJCNzM4IC8qIE5TQ29sb3JXZWxsU1BJLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5TQ29sb3JXZWxsU1BJLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU1RDQ1RDEzMjEwNkExODcwMEQyQjczOCAvKiBOU1Bv
cG92ZXJDb2xvcldlbGxTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTlNQ
b3BvdmVyQ29sb3JXZWxsU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0NDI5
MTVEMUZBNTI0NzMwMDJDQzkzRSAvKiBOU0ZpbGVTaXplRm9ybWF0dGVyU1BJLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IE5TRmlsZVNpemVGb3JtYXR0ZXJTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTQ1Niw3ICs0NTUsNiBAQAogCQkJCTBDMkRBMTM3MUYzQkVCNDkwMERCQzMxNyAvKiBO
U1VSTERvd25sb2FkU1BJLmggKi8sCiAJCQkJMEMyREExMzgxRjNCRUI0OTAwREJDMzE3IC8qIE5T
VVJMRmlsZVR5cGVNYXBwaW5nc1NQSS5oICovLAogCQkJCUMxNUNCQjMyMjNGMzRBMTIwMDMwMEND
NyAvKiBOU1VzZXJEZWZhdWx0c1NQSS5oICovLAotCQkJCUUzMDM3RjRGMjQxNUFERjQwMDMxQ0Ew
RiAvKiBOU1VUVHlwZVJlY29yZFNQSS5oICovLAogCQkJCTU3MEFCOEY4MjBBRjZFM0QwMEI4QkU4
NyAvKiBOU1hQQ0Nvbm5lY3Rpb25TUEkuaCAqLywKIAkJCQkwQzJEQTEzOTFGM0JFQjQ5MDBEQkMz
MTcgLyogUGFzc0tpdFNQSS5oICovLAogCQkJCTBDMkRBMTNBMUYzQkVCNDkwMERCQzMxNyAvKiBw
dGhyZWFkU1BJLmggKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9O
U1VUVHlwZVJlY29yZFNQSS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
c3BpL2NvY29hL05TVVRUeXBlUmVjb3JkU1BJLmgJKHJldmlzaW9uIDI2MDAxNCkKKysrIFNvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL05TVVRUeXBlUmVjb3JkU1BJLmgJKG5vbmV4aXN0
ZW50KQpAQCAtMSw0NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIElu
Yy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQot
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykK
LQotI2ltcG9ydCA8Q29yZVNlcnZpY2VzL0xTUHJvcGVydHlMaXN0UHJpdi5oPgotI2ltcG9ydCA8
Q29yZVNlcnZpY2VzL1VUVHlwZVJlY29yZFByaXYuaD4KLQotI2Vsc2UKLQotX19hdHRyaWJ1dGVf
XygodmlzaWJpbGl0eSgiZGVmYXVsdCIpKSkKLUBpbnRlcmZhY2UgTFNSZWNvcmQgOiBOU09iamVj
dCA8TlNDb3B5aW5nLCBOU0Rpc2NhcmRhYmxlQ29udGVudD4KLUBlbmQKLQotX19hdHRyaWJ1dGVf
XygodmlzaWJpbGl0eSgiZGVmYXVsdCIpKSkKLUBpbnRlcmZhY2UgVVRUeXBlUmVjb3JkIDogTFNS
ZWNvcmQKLSsgKG51bGxhYmxlIGluc3RhbmNldHlwZSl0eXBlUmVjb3JkV2l0aFRhZzooTlNTdHJp
bmcgKil0YWcgb2ZDbGFzczooTlNTdHJpbmcgKil0YWdDbGFzcyBjb25mb3JtaW5nVG9JZGVudGlm
aWVyOihOU1N0cmluZyAqKWNvbmZvcm1zVG87Ci1AcHJvcGVydHkgKHJlYWRvbmx5KSBOU1N0cmlu
ZyAqaWRlbnRpZmllcjsKLUBlbmQKLQotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNjAwMTQpCisr
KyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtp
bmcgY29weSkKQEAgLTQ5MDYsOCArNDkwNiw2IEBACiAJCUUzQkJDMjQ3MjM4MzU1MjYwMDZFQzM5
RiAvKiBDU1NWYWx1ZUtleS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTNCQkMyNDUyMzgzNTUxQTAwNkVDMzlGIC8qIENTU1ZhbHVlS2V5LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTNDOTlBMDkxREMz
RDQxQzAwNzk0QUQzIC8qIERPTUpJVENoZWNrRE9NLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0M5OUEwODFEQzNENDE3MDA3OTRBRDMgLyogRE9NSklU
Q2hlY2tET00uaCAqLzsgfTsKIAkJRTNDOUFFQ0IyMTEzMTQ5OTAwNDE5QjkyIC8qIEpTTWljcm90
YXNrQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEUzQzlBRUM5MjExMzE0NzQwMDQxOUI5MiAvKiBKU01pY3JvdGFza0NhbGxiYWNrLmggKi87
IH07Ci0JCUUzQ0FBQTYxMjQxNTVGODcwMENFRDJFMiAvKiBVVFR5cGVSZWNvcmRTd2l6emxlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDQUFBNUUy
NDE1NUVGMjAwQ0VEMkUyIC8qIFVUVHlwZVJlY29yZFN3aXp6bGVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJRTNDQUFBNjIyNDE1NjEzMjAwQ0VE
MkUyIC8qIFVUVHlwZVJlY29yZFN3aXp6bGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDQUFBNjAyNDE1NUVGMzAwQ0VEMkUyIC8qIFVUVHlwZVJl
Y29yZFN3aXp6bGVyLm1tICovOyB9OwogCQlFM0U0RTJBODFFM0IxNzEwMDAyM0JCOEEgLyogU2Ny
aXB0RWxlbWVudENhY2hlZFNjcmlwdEZldGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRTRFMkE2MUUzQjE2RkMwMDIzQkI4QSAvKiBTY3JpcHRF
bGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUUzRkEzODY0MUQ3MTgxMkQwMEFBNTk1MCAvKiBQZW5kaW5n
U2NyaXB0Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFM0ZBMzg2MTFENzE2RTc2MDBBQTU5NTAgLyogUGVuZGluZ1NjcmlwdENsaWVudC5oICov
OyB9OwogCQlFNDAxQzI3NTE3Q0U1M0VDMDBDNDFBMzUgLyogRWxlbWVudEl0ZXJhdG9yQXNzZXJ0
aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQw
MUMyNzQxN0NFNTNFQzAwQzQxQTM1IC8qIEVsZW1lbnRJdGVyYXRvckFzc2VydGlvbnMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTUzNzksOCAr
MTUzNzcsNiBAQAogCQlFM0JGMTlFNzIyQUYzMDlGMDA5Qzk5MjYgLyogU2VjdXJpdHlQb2xpY3lW
aW9sYXRpb25FdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTZWN1cml0eVBvbGljeVZpb2xh
dGlvbkV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNDOTlBMDgxREMz
RDQxNzAwNzk0QUQzIC8qIERPTUpJVENoZWNrRE9NLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERPTUpJVENoZWNrRE9NLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUUzQzlBRUM5MjExMzE0NzQwMDQxOUI5MiAvKiBKU01pY3JvdGFza0NhbGxiYWNrLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWljcm90YXNrQ2FsbGJhY2suaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTNDQUFBNUUyNDE1NUVGMjAwQ0VEMkUyIC8qIFVUVHlw
ZVJlY29yZFN3aXp6bGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVUVHlw
ZVJlY29yZFN3aXp6bGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUUzQ0FBQTYw
MjQxNTVFRjMwMENFRDJFMiAvKiBVVFR5cGVSZWNvcmRTd2l6emxlci5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVUVHlwZVJlY29yZFN3aXp6bGVyLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0QwNDk5MzFEQURDMDQ1MDA3MThGM0MgLyogTm9k
ZUNvbnN0YW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOb2RlQ29uc3Rh
bnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzRTRFMkE1MUUzQjE2RkMwMDIz
QkI4QSAvKiBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzRTRFMkE2MUUzQjE2RkMwMDIz
QkI4QSAvKiBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjMzMjUsOCArMjMzMjEsNiBAQAogCQkJCTMx
MEQ3MTk0MUIzMzVDOUQwMDlDN0I3MyAvKiBUaGVtZUNvY29hLmggKi8sCiAJCQkJMzEwRDcxOTMx
QjMzNUM5RDAwOUM3QjczIC8qIFRoZW1lQ29jb2EubW0gKi8sCiAJCQkJQTNBRjlEODEyMDMyNTJF
RTAwNkNBRDA2IC8qIFVzZXJBZ2VudENvY29hLm1tICovLAotCQkJCUUzQ0FBQTVFMjQxNTVFRjIw
MENFRDJFMiAvKiBVVFR5cGVSZWNvcmRTd2l6emxlci5oICovLAotCQkJCUUzQ0FBQTYwMjQxNTVF
RjMwMENFRDJFMiAvKiBVVFR5cGVSZWNvcmRTd2l6emxlci5tbSAqLywKIAkJCQk1MkIwRDRCRjFD
NTdGRDY2MDA3N0NFNTMgLyogVmlkZW9GdWxsc2NyZWVuQ2hhbmdlT2JzZXJ2ZXIuaCAqLywKIAkJ
CQk1MkQ1QTFBNDFDNTc0ODg5MDBERTM0QTMgLyogVmlkZW9GdWxsc2NyZWVuTW9kZWwuaCAqLywK
IAkJCQk1MkQ1QTFBNTFDNTc0ODg5MDBERTM0QTMgLyogVmlkZW9GdWxsc2NyZWVuTW9kZWxWaWRl
b0VsZW1lbnQuaCAqLywKQEAgLTMzMjc2LDcgKzMzMjcwLDYgQEAKIAkJCQk1NzJCNDAzNjIxNzZB
OTIyMDAwQUQ0M0UgLyogVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQk1NUFGMTRFNjFFQUFDNTlCMDAyNkVFQUEgLyogVVRJUmVnaXN0cnkuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFGQUZCRjE5MTVBNUZBNzQwMDA4M0EyMCAvKiBVVElVdGlsaXRpZXMuaCBp
biBIZWFkZXJzICovLAotCQkJCUUzQ0FBQTYxMjQxNTVGODcwMENFRDJFMiAvKiBVVFR5cGVSZWNv
cmRTd2l6emxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNDNDVCOEUxREMyQjY4QTAwODg3MUJB
IC8qIFZhbGlkYXRpb25CdWJibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUY1QTE1NDI4MTI3OTUz
NEQwMEQwQjBDMCAvKiBWYWxpZGF0aW9uTWVzc2FnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjUx
M0EzRUExNUZGNDg0MTAwMTUyNkRCIC8qIFZhbGlkYXRpb25NZXNzYWdlQ2xpZW50LmggaW4gSGVh
ZGVycyAqLywKQEAgLTM0NzM5LDcgKzM0NzMyLDYgQEAKIAkJCQk3QzNCNzk3MTE5MDg3NTdCMDBC
NDdBMkQgLyogVXNlck1lc3NhZ2VIYW5kbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDRTY4
MzQ0MTkyMTQzQTgwMEY0RDkyOCAvKiBVc2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTdDNzNGQjA3MTkxRUY0MTcwMDdERTA2MSAvKiBVc2VyTWVzc2Fn
ZUhhbmRsZXJzTmFtZXNwYWNlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUUzQ0FBQTYyMjQxNTYx
MzIwMENFRDJFMiAvKiBVVFR5cGVSZWNvcmRTd2l6emxlci5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTNGQkM0QUYzMTg5ODgxNTYwMDQ2RUUzOCAvKiBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUyRDVBMThGMUM1NDU5MjMwMERFMzRBMyAvKiBWaWRl
b0xheWVyTWFuYWdlck9iakMubW0gaW4gU291cmNlcyAqLywKIAkJCQlCRTg4RTBERTE3MTVEMkEy
MDA2NThEOTggLyogVmlkZW9UcmFjay5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL1VUVHlwZVJlY29yZFN3aXp6bGVyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVVRUeXBlUmVjb3JkU3dpenpsZXIuaAko
cmV2aXNpb24gMjYwMDE0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVVRUeXBl
UmVjb3JkU3dpenpsZXIuaAkobm9uZXhpc3RlbnQpCkBAIC0xLDg1ICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgot
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
LSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIFVTRShVVFRZUEVfU1dJWlpMRVIpCi0KLSNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdHJ1Y3Qg
VVRUeXBlSXRlbSB7Ci0gICAgU3RyaW5nIHRhZzsKLSAgICBTdHJpbmcgdGFnQ2xhc3M7Ci0gICAg
U3RyaW5nIGlkZW50aWZpZXI7Ci0gICAgU3RyaW5nIHV0aTsKLQotICAgIHRlbXBsYXRlPGNsYXNz
IEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKLSAgICB0ZW1wbGF0ZTxjbGFz
cyBEZWNvZGVyPiBzdGF0aWMgT3B0aW9uYWw8VVRUeXBlSXRlbT4gZGVjb2RlKERlY29kZXImKTsK
LX07Ci0KLVdFQkNPUkVfRVhQT1JUIHZvaWQgc3dpenpsZVVUVHlwZVJlY29yZCgpOwotCi1XRUJD
T1JFX0VYUE9SVCBjb25zdCBWZWN0b3I8VVRUeXBlSXRlbT4mIGNyZWF0ZVZlY3Rvck9mVVRUeXBl
SXRlbSgpOwotV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRWZWN0b3JPZlVUVHlwZUl0ZW0oVmVjdG9y
PFVUVHlwZUl0ZW0+JiYpOwotCi10ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgotdm9pZCBVVFR5cGVJ
dGVtOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKLXsKLSAgICBlbmNvZGVyIDw8IHRh
ZzsKLSAgICBlbmNvZGVyIDw8IHRhZ0NsYXNzOwotICAgIGVuY29kZXIgPDwgaWRlbnRpZmllcjsK
LSAgICBlbmNvZGVyIDw8IHV0aTsKLX0KLQotdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KLU9wdGlv
bmFsPFVUVHlwZUl0ZW0+IFVUVHlwZUl0ZW06OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQotewot
ICAgIE9wdGlvbmFsPFN0cmluZz4gdGFnOwotICAgIGRlY29kZXIgPj4gdGFnOwotICAgIGlmICgh
dGFnKQotICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotCi0gICAgT3B0aW9uYWw8U3RyaW5n
PiB0YWdDbGFzczsKLSAgICBkZWNvZGVyID4+IHRhZ0NsYXNzOwotICAgIGlmICghdGFnQ2xhc3Mp
Ci0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KLSAgICBPcHRpb25hbDxTdHJpbmc+IGlk
ZW50aWZpZXI7Ci0gICAgZGVjb2RlciA+PiBpZGVudGlmaWVyOwotICAgIGlmICghaWRlbnRpZmll
cikKLSAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQotICAgIE9wdGlvbmFsPFN0cmluZz4g
dXRpOwotICAgIGRlY29kZXIgPj4gdXRpOwotICAgIGlmICghdXRpKQotICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OwotCi0gICAgcmV0dXJuIFVUVHlwZUl0ZW0geyAqdGFnLCAqdGFnQ2xhc3Ms
ICppZGVudGlmaWVyLCAqdXRpIH07Ci19Ci19OwotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NvY29hL1VUVHlwZVJlY29yZFN3aXp6bGVyLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1VUVHlwZVJlY29yZFN3aXp6bGVyLm1tCShy
ZXZpc2lvbiAyNjAwMTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9VVFR5cGVS
ZWNvcmRTd2l6emxlci5tbQkobm9uZXhpc3RlbnQpCkBAIC0xLDExOCArMCwwIEBACi0vKgotKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotKgotKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0qIGFyZSBtZXQ6Ci0qIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0qICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotKgotKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCi0qIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0qIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUwotKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0qIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0qIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UwotKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgotKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0q
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSovCi0KLSNpbXBvcnQgImNvbmZpZy5o
IgotI2ltcG9ydCAiVVRUeXBlUmVjb3JkU3dpenpsZXIuaCIKLQotI2lmIFVTRShVVFRZUEVfU1dJ
WlpMRVIpCi0KLSNpbXBvcnQgPE1vYmlsZUNvcmVTZXJ2aWNlcy9Nb2JpbGVDb3JlU2VydmljZXMu
aD4KLQotI2ltcG9ydCA8V2ViQ29yZS9VVElVdGlsaXRpZXMuaD4KLSNpbXBvcnQgPHBhbC9zcGkv
Y29jb2EvTlNVVFR5cGVSZWNvcmRTUEkuaD4KLSNpbXBvcnQgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW1w
b3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KLSNpbXBvcnQgPHd0Zi9PYmpDUnVudGltZUV4dHJh
cy5oPgotI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+Ci0jaW1wb3J0IDx3dGYvVmVjdG9yLmg+
Ci0jaW1wb3J0IDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+Ci0jaW1wb3J0IDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KLQotX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSgiZGVmYXVsdCIpKSkKLUBpbnRl
cmZhY2UgV2ViVVRUeXBlUmVjb3JkIDogVVRUeXBlUmVjb3JkCi0tICh2b2lkKXNldElkZW50aWZp
ZXI6KE5TU3RyaW5nICopaTsKLUBlbmQKLQotQGltcGxlbWVudGF0aW9uIFdlYlVUVHlwZVJlY29y
ZCB7Ci1AcGFja2FnZQotICAgIE5TU3RyaW5nICpfaWRlbnRpZmllcjsKLX0KLUBzeW50aGVzaXpl
IGlkZW50aWZpZXI9X2lkZW50aWZpZXI7Ci0tICh2b2lkKXNldElkZW50aWZpZXI6KE5TU3RyaW5n
ICopaQotewotICAgIF9pZGVudGlmaWVyID0gaTsKLX0KLUBlbmQKLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi1zdGF0aWMgVmVjdG9yPFVUVHlwZUl0ZW0+JiB2ZWN0b3JPZlVUVHlwZVJlY29yZHMo
KQotewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxWZWN0b3I8VVRUeXBlSXRlbT4+IHZlY3Rv
cjsKLSAgICByZXR1cm4gdmVjdG9yOwotfQotCi1zdGF0aWMgSU1QIHR5cGVSZWNvcmRXaXRoVGFn
T3JpZ2luYWwgPSBuaWw7Ci0KLXN0YXRpYyBVVFR5cGVSZWNvcmQgKnR5cGVSZWNvcmRXaXRoVGFn
T3ZlcnJpZGUoaWQgc2VsZiwgU0VMIHNlbGVjdG9yLCBOU1N0cmluZyAqdGFnLCBOU1N0cmluZyAq
dGFnQ2xhc3MsIE5TU3RyaW5nICppZGVudGlmaWVyKQotewotICAgIGZvciAoYXV0byYgciA6IHZl
Y3Rvck9mVVRUeXBlUmVjb3JkcygpKSB7Ci0gICAgICAgIGlmIChyLnRhZyA9PSBTdHJpbmcodGFn
KSAmJiByLnRhZ0NsYXNzID09IFN0cmluZyh0YWdDbGFzcykgJiYgci5pZGVudGlmaWVyID09IFN0
cmluZyhpZGVudGlmaWVyKSkgewotICAgICAgICAgICAgV2ViVVRUeXBlUmVjb3JkICpyZWNvcmQg
PSBbV2ViVVRUeXBlUmVjb3JkIGFsbG9jXTsKLSAgICAgICAgICAgIFtyZWNvcmQgc2V0SWRlbnRp
ZmllcjpyLnV0aV07Ci0gICAgICAgICAgICByZXR1cm4gW3JlY29yZCBhdXRvcmVsZWFzZV07Ci0g
ICAgICAgIH0KLSAgICB9Ci0gICAgV1RGTG9nQWx3YXlzKCJVVEkgbm90IGZvdW5kIGZvciB0YWc6
ICVzICVzICVzXG4iLCBTdHJpbmcodGFnKS51dGY4KCkuZGF0YSgpLCBTdHJpbmcodGFnQ2xhc3Mp
LnV0ZjgoKS5kYXRhKCksIFN0cmluZyhpZGVudGlmaWVyKS51dGY4KCkuZGF0YSgpKTsKLSAgICBy
ZXR1cm4gd3RmQ2FsbElNUDxVVFR5cGVSZWNvcmQgKj4odHlwZVJlY29yZFdpdGhUYWdPcmlnaW5h
bCwgc2VsZiwgc2VsZWN0b3IsIHRhZywgdGFnQ2xhc3MsIGlkZW50aWZpZXIpOwotfQotCi1jb25z
dCBWZWN0b3I8VVRUeXBlSXRlbT4mIGNyZWF0ZVZlY3Rvck9mVVRUeXBlSXRlbSgpCi17Ci0gICAg
c3RhdGljIE5ldmVyRGVzdHJveWVkPFZlY3RvcjxVVFR5cGVJdGVtPj4gdmVjdG9yID0gW10gewot
ICAgICAgICBWZWN0b3I8VVRUeXBlSXRlbT4gdiA9IHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxVVFR5
cGVJdGVtPiB7Ci0gICAgICAgICAgICB7ICJkYXQiX3MsICJwdWJsaWMuZmlsZW5hbWUtZXh0ZW5z
aW9uIl9zLCBzdGF0aWNfY2FzdDxjaGFyKj4obnVsbHB0ciksIHN0YXRpY19jYXN0PGNoYXIqPihu
dWxscHRyKSB9LAotICAgICAgICAgICAgeyAibXA0Il9zLCAicHVibGljLmZpbGVuYW1lLWV4dGVu
c2lvbiJfcywgc3RhdGljX2Nhc3Q8Y2hhcio+KG51bGxwdHIpLCBzdGF0aWNfY2FzdDxjaGFyKj4o
bnVsbHB0cikgfSwKLSAgICAgICAgICAgIHsgIm90ZiJfcywgInB1YmxpYy5maWxlbmFtZS1leHRl
bnNpb24iX3MsIHN0YXRpY19jYXN0PGNoYXIqPihudWxscHRyKSwgc3RhdGljX2Nhc3Q8Y2hhcio+
KG51bGxwdHIpIH0sCi0gICAgICAgIH07Ci0gICAgICAgIGZvciAoYXV0byYgciA6IHYpIHsKLSAg
ICAgICAgICAgIGF1dG8gdXRpID0gYWRvcHRDRihVVFR5cGVDcmVhdGVQcmVmZXJyZWRJZGVudGlm
aWVyRm9yVGFnKHIudGFnQ2xhc3MuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwgci50YWcuY3JlYXRl
Q0ZTdHJpbmcoKS5nZXQoKSwgci5pZGVudGlmaWVyLmlzTnVsbCgpID8gbnVsbHB0ciA6IHIuaWRl
bnRpZmllci5jcmVhdGVDRlN0cmluZygpLmdldCgpKSk7Ci0gICAgICAgICAgICByLnV0aSA9IHV0
aS5nZXQoKTsKLSAgICAgICAgfQotICAgICAgICBmb3IgKGF1dG8mIGl0IDogY3JlYXRlVVRJRnJv
bU1JTUVUeXBlTWFwKCkpIHsKLSAgICAgICAgICAgIFVUVHlwZUl0ZW0gaSA9IHsgaXQua2V5LCAi
cHVibGljLm1pbWUtdHlwZSJfcywgc3RhdGljX2Nhc3Q8Y2hhcio+KG51bGxwdHIpLCBzdGF0aWNf
Y2FzdDxjaGFyKj4obnVsbHB0cikgfTsKLSAgICAgICAgICAgIGF1dG8gdXRpID0gYWRvcHRDRihV
VFR5cGVDcmVhdGVQcmVmZXJyZWRJZGVudGlmaWVyRm9yVGFnKGkudGFnQ2xhc3MuY3JlYXRlQ0ZT
dHJpbmcoKS5nZXQoKSwgaS50YWcuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwgaS5pZGVudGlmaWVy
LmlzTnVsbCgpID8gbnVsbHB0ciA6IGkuaWRlbnRpZmllci5jcmVhdGVDRlN0cmluZygpLmdldCgp
KSk7Ci0gICAgICAgICAgICBpLnV0aSA9IHV0aS5nZXQoKTsKLSAgICAgICAgICAgIHYuYXBwZW5k
KFdURk1vdmUoaSkpOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiB2OwotICAgIH0oKTsKLSAg
ICByZXR1cm4gdmVjdG9yOwotfQotCi12b2lkIHNldFZlY3Rvck9mVVRUeXBlSXRlbShWZWN0b3I8
VVRUeXBlSXRlbT4mJiB2ZWN0b3IpCi17Ci0gICAgdmVjdG9yT2ZVVFR5cGVSZWNvcmRzKCkgPSBX
VEZNb3ZlKHZlY3Rvcik7Ci19Ci0KLXZvaWQgc3dpenpsZVVUVHlwZVJlY29yZCgpCi17Ci0gICAg
TWV0aG9kIHR5cGVSZWNvcmRXaXRoVGFnTWV0aG9kID0gY2xhc3NfZ2V0Q2xhc3NNZXRob2Qob2Jq
Y19nZXRDbGFzcygiVVRUeXBlUmVjb3JkIiksIEBzZWxlY3Rvcih0eXBlUmVjb3JkV2l0aFRhZzog
b2ZDbGFzczogY29uZm9ybWluZ1RvSWRlbnRpZmllcjopKTsKLSAgICB0eXBlUmVjb3JkV2l0aFRh
Z09yaWdpbmFsID0gbWV0aG9kX3NldEltcGxlbWVudGF0aW9uKHR5cGVSZWNvcmRXaXRoVGFnTWV0
aG9kLCAoSU1QKXR5cGVSZWNvcmRXaXRoVGFnT3ZlcnJpZGUpOwotfQotCi19OwotCi0jZW5kaWYK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjAwMTQpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA0LTEzICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBSZW1vdmUgdW51c2Vk
IFVUVHlwZSBzd2l6emxlciBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTA0MzUKKworICAgICAgICBVbnJldmlld2VkIHJvbGxvdXQgb2YgcjI1
ODEyMC4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6
ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vz
cyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgor
CiAyMDIwLTA0LTEzICBKb29uZ2h1biBQYXJrICA8amg3MTgucGFya0BzYW1zdW5nLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkLiBSZW1vdmUgcmVkdW5kYW50IG1vdmUgaW4gcmV0dXJuIHN0YXRl
bWVudC4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuY3BwCShyZXZpc2lvbiAyNjAwMTQpCisrKyBTb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTgxLDkgKzE4MSw2IEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5j
b2QKICAgICBlbmNvZGVyIDw8IGNzc1ZhbHVlVG9TeXN0ZW1Db2xvck1hcDsKICAgICBlbmNvZGVy
IDw8IGZvY3VzUmluZ0NvbG9yOwogICAgIGVuY29kZXIgPDwgbG9jYWxpemVkRGV2aWNlTW9kZWw7
Ci0jaWYgVVNFKFVUVFlQRV9TV0laWkxFUikKLSAgICBlbmNvZGVyIDw8IHZlY3Rvck9mVVRUeXBl
SXRlbTsKLSNlbmRpZgogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKQEAgLTUwNCwxNCAr
NTAxLDYgQEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZAogICAgIAog
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5sb2NhbGl6ZWREZXZpY2VNb2RlbCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKLSNpZiBVU0UoVVRUWVBFX1NXSVpaTEVSKQot
ICAgIE9wdGlvbmFsPFZlY3RvcjxXZWJDb3JlOjpVVFR5cGVJdGVtPj4gdmVjdG9yT2ZVVFR5cGVJ
dGVtOwotICAgIGRlY29kZXIgPj4gdmVjdG9yT2ZVVFR5cGVJdGVtOwotICAgIGlmICghdmVjdG9y
T2ZVVFR5cGVJdGVtKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcGFyYW1ldGVycy52ZWN0
b3JPZlVUVHlwZUl0ZW0gPSBXVEZNb3ZlKCp2ZWN0b3JPZlVUVHlwZUl0ZW0pOwotI2VuZGlmCiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAkocmV2aXNpb24gMjYwMDE0
KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0yMjIsOSArMjIyLDYgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMgewogICAgIFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjpDU1NWYWx1ZVRv
U3lzdGVtQ29sb3JNYXAgY3NzVmFsdWVUb1N5c3RlbUNvbG9yTWFwOwogICAgIFdlYkNvcmU6OkNv
bG9yIGZvY3VzUmluZ0NvbG9yOwogICAgIFN0cmluZyBsb2NhbGl6ZWREZXZpY2VNb2RlbDsKLSNp
ZiBVU0UoVVRUWVBFX1NXSVpaTEVSKQotICAgIFZlY3RvcjxXZWJDb3JlOjpVVFR5cGVJdGVtPiB2
ZWN0b3JPZlVUVHlwZUl0ZW07Ci0jZW5kaWYKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0Ep
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29h
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nl
c3NQb29sQ29jb2EubW0JKHJldmlzaW9uIDI2MDAxNCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTQyOSwx
MCArNDI5LDYgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplVwogICAg
IHBhcmFtZXRlcnMuY3NzVmFsdWVUb1N5c3RlbUNvbG9yTWFwID0gUmVuZGVyVGhlbWVJT1M6OmNz
c1ZhbHVlVG9TeXN0ZW1Db2xvck1hcCgpOwogICAgIHBhcmFtZXRlcnMuZm9jdXNSaW5nQ29sb3Ig
PSBSZW5kZXJUaGVtZTo6c2luZ2xldG9uKCkuZm9jdXNSaW5nQ29sb3IoT3B0aW9uU2V0PFN0eWxl
Q29sb3I6Ok9wdGlvbnM+KCkpOwogICAgIHBhcmFtZXRlcnMubG9jYWxpemVkRGV2aWNlTW9kZWwg
PSBsb2NhbGl6ZWREZXZpY2VNb2RlbCgpOwotI2lmIFVTRShVVFRZUEVfU1dJWlpMRVIpCi0gICAg
aWYgKFdlYkNvcmU6OklPU0FwcGxpY2F0aW9uOjppc01vYmlsZVNhZmFyaSgpKQotICAgICAgICBw
YXJhbWV0ZXJzLnZlY3Rvck9mVVRUeXBlSXRlbSA9IGNyZWF0ZVZlY3Rvck9mVVRUeXBlSXRlbSgp
OwotI2VuZGlmCiAjZW5kaWYKICAgICAKICAgICAvLyBBbGxvdyBtaWNyb3Bob25lIGFjY2VzcyBp
ZiBlaXRoZXIgcHJlZmVyZW5jZSBpcyBzZXQgYmVjYXVzZSBXZWJSVEMgcmVxdWlyZXMgbWljcm9w
aG9uZSBhY2Nlc3MuCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJv
Y2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2Nv
YS9XZWJQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI2MDAxNCkKKysrIFNvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTMy
MSwxMyArMzIxLDYgQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcgog
ICAgIH0KICNlbmRpZgogICAgICAgICAKLSNpZiBVU0UoVVRUWVBFX1NXSVpaTEVSKQotICAgIGlm
ICghcGFyYW1ldGVycy52ZWN0b3JPZlVUVHlwZUl0ZW0uaXNFbXB0eSgpKSB7Ci0gICAgICAgIHN3
aXp6bGVVVFR5cGVSZWNvcmQoKTsKLSAgICAgICAgc2V0VmVjdG9yT2ZVVFR5cGVJdGVtKFdURk1v
dmUocGFyYW1ldGVycy52ZWN0b3JPZlVUVHlwZUl0ZW0pKTsKLSAgICB9Ci0jZW5kaWYKLQogICAg
IFdlYkNvcmU6OnNsZWVwRGlzYWJsZXJDbGllbnQoKSA9IG1ha2VVbmlxdWU8V2ViU2xlZXBEaXNh
YmxlckNsaWVudD4oKTsKIAogICAgIHVwZGF0ZVByb2Nlc3NOYW1lKCk7CkluZGV4OiBUb29scy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjAwMjIp
CisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAy
MC0wNC0xMyAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAg
W2lPU10gUmVtb3ZlIHVudXNlZCBVVFR5cGUgc3dpenpsZXIgY29kZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEwNDM1CisKKyAgICAgICAgVW5yZXZp
ZXdlZCByb2xsb3V0IG9mIHIyNTgxMjAuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYktpdC9VVElGcm9tVGFnLm1tOiBSZW1vdmVkLgorCiAyMDIwLTA0LTEzICBB
YWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNvbT4KIAogICAgICAgICBbZXdzXSBJbXBy
b3ZlIGhhbmRsaW5nIG9mIHVuZXhwZWN0ZWQgbmV0d29yayBpc3N1ZXMgd2hpbGUgY29tbXVuaWNh
dGluZyB3aXRoIEJ1Z3ppbGxhCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24g
MjYwMDE0KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTEwMjMsNyArMTAyMyw2IEBACiAJCUUz
QTFFNzgyMjFCMjVCN0EwMDhDNjAwNyAvKiBVUkwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNBMUU3ODAyMUIyNUI3OTAwOEM2MDA3IC8qIFVSTC5j
cHAgKi87IH07CiAJCUUzQTFFNzg1MjFCMjVCOTEwMDhDNjAwNyAvKiBVUkxQYXJzZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNBMUU3ODQyMUIy
NUI5MTAwOEM2MDA3IC8qIFVSTFBhcnNlci5jcHAgKi87IH07CiAJCUUzQzIxQTdDMjFCMjVDQTIw
MDNCMzFBMyAvKiBVUkxFeHRyYXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFM0MyMUE3QjIxQjI1Q0EyMDAzQjMxQTMgLyogVVJMRXh0cmFzLm1tICov
OyB9OwotCQlFM0NBQUE0QzI0MTU1MDUxMDBDRUQyRTIgLyogVVRJRnJvbVRhZy5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzQ0FBQTRCMjQxNTUwNTEw
MENFRDJFMiAvKiBVVElGcm9tVGFnLm1tICovOyB9OwogCQlFM0RFQTgxMTFGMEE1ODkwMDBDQkMy
RTggLyogVGhyZWFkR3JvdXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTNERUE4MTAxRjBBNTg4MDAwQ0JDMkU4IC8qIFRocmVhZEdyb3VwLmNwcCAq
LzsgfTsKIAkJRTNGOEFCOTIyNDFBQjlDRTAwM0UyQTdFIC8qIEFjY2Vzc2liaWxpdHlSZW1vdGVV
SUFwcC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUz
RjhBQjkxMjQxQUI5Q0UwMDNFMkE3RSAvKiBBY2Nlc3NpYmlsaXR5UmVtb3RlVUlBcHAubW0gKi87
IH07CiAJCUU1MDM2Rjc4MjExQkMyNTQwMEJGREJFMiAvKiBjb2xvci1kcm9wLmh0bWwgaW4gQ29w
eSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTUwMzZGNzcy
MTFCQzIyODAwQkZEQkUyIC8qIGNvbG9yLWRyb3AuaHRtbCAqLzsgfTsKQEAgLTI2MzksNyArMjYz
OCw2IEBACiAJCUUzQTFFNzgwMjFCMjVCNzkwMDhDNjAwNyAvKiBVUkwuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVVJMLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRTNBMUU3ODQyMUIyNUI5MTAwOEM2MDA3IC8qIFVSTFBhcnNlci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVUkxQYXJzZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFM0MyMUE3QjIxQjI1Q0EyMDAzQjMxQTMgLyogVVJMRXh0cmFz
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVVJMRXh0cmFzLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFM0NBQUE0QjI0MTU1MDUxMDBDRUQyRTIg
LyogVVRJRnJvbVRhZy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVUSUZyb21UYWcubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzREVBODEwMUYwQTU4ODAwMENCQzJFOCAvKiBU
aHJlYWRHcm91cC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUaHJl
YWRHcm91cC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzRjhBQjkxMjQxQUI5
Q0UwMDNFMkE3RSAvKiBBY2Nlc3NpYmlsaXR5UmVtb3RlVUlBcHAubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBBY2Nlc3NpYmlsaXR5UmVtb3RlVUlBcHAubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUU0MDAxOTMwMUFDRTlCNUMwMDFCMEEyQSAvKiBCbG9vbUZpbHRlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCbG9vbUZpbHRlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yOTQ2LDcgKzI5NDQsNiBAQAogCQkJCUUzMjVDOTA2
MjNFMzg3MDIwMEJDN0QzQiAvKiBQaWN0dXJlSW5QaWN0dXJlU3VwcG9ydC5tbSAqLywKIAkJCQlD
MTVDQkIzRTIzRkIxNzdBMDAzMDBDQzcgLyogUHJlZmVyZW5jZUNoYW5nZXMubW0gKi8sCiAJCQkJ
QzE0OUQ1NEYyNDJFOTg0NDAwM0VCQjEyIC8qIFNsZWVwRGlzYWJsZXIubW0gKi8sCi0JCQkJRTND
QUFBNEIyNDE1NTA1MTAwQ0VEMkUyIC8qIFVUSUZyb21UYWcubW0gKi8sCiAJCQkJMEYxMzlFNzUx
QTQyM0E1MzAwRjU5MEY1IC8qIFdlYWtPYmpDUHRyLm1tICovLAogCQkJKTsKIAkJCW5hbWUgPSBj
b2NvYTsKQEAgLTUxNTksNyArNTE1Niw2IEBACiAJCQkJMDdGNEU5MkUyMEFGNTlFMjAwMkUzODAz
IC8qIFVzZXJNZWRpYVNpbXVsYXRlRmFpbGVkU2FuZGJveC5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTdDQ0U3RjE4MUE0MTFBRTYwMDQ0N0M0QyAvKiBVc2VyTWVzc2FnZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkyRUIyNDJCODIxRDQxNDBCMDA1NUMxQzAgLyogVXNlU2VsZWN0aW9uQXNGaW5kU3Ry
aW5nLm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJRTNDQUFBNEMyNDE1NTA1MTAwQ0VEMkUyIC8qIFVU
SUZyb21UYWcubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QzgzRTAzQTFEMEE2MDI3MDBGRUJDRjMg
LyogVXRpbGl0aWVzQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQk3QzgzRTBDNjFEMEE2NTRF
MDBGRUJDRjMgLyogVmlkZW9Db250cm9sc01hbmFnZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQlD
RDMwNjVFMDIxNjU2ODJFMDBFODk1REYgLyogVmlkZW9RdWFsaXR5RGlzcGxheUNvbXBvc2l0aW5n
Lm1tIGluIFNvdXJjZXMgKi8sCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dC9VVElGcm9tVGFnLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0L1VUSUZyb21UYWcubW0JKHJldmlzaW9uIDI2MDAxNCkKKysrIFRvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0L1VUSUZyb21UYWcubW0JKG5vbmV4aXN0ZW50KQpAQCAtMSw1NCAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgot
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotCi0jaWYgV0tfSEFWRV9D
X1NQSQotCi0jaWYgVVNFKFVUVFlQRV9TV0laWkxFUikKLQotI2ltcG9ydCAiUGxhdGZvcm1VdGls
aXRpZXMuaCIKLSNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKLSNpbXBvcnQgPFdlYkNvcmUvVVRJ
VXRpbGl0aWVzLmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1VUVHlwZVJlY29yZFN3aXp6bGVyLmg+Ci0K
LVRFU1QoV2ViS2l0LCBVVElGcm9tVGFnKQotewotICAgIGF1dG8gY29uZmlndXJhdGlvbiA9IGFk
b3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0XSk7Ci0gICAgV0tSZXRh
aW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhUZXN0V2ViS2l0QVBJOjpVdGls
OjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJJbnRlcm5hbHNJbmplY3RlZEJ1
bmRsZVRlc3QiKSk7Ci0gICAgY29uZmlndXJhdGlvbi5nZXQoKS5wcm9jZXNzUG9vbCA9IChXS1By
b2Nlc3NQb29sICopY29udGV4dC5nZXQoKTsKLSAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtb
VGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDMwMCwg
MzAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCkgYWRkVG9XaW5kb3c6WUVTXSk7
Ci0KLSAgICBmb3IgKGF1dG8mIGl0ZW0gOiBXZWJDb3JlOjpjcmVhdGVWZWN0b3JPZlVUVHlwZUl0
ZW0oKSkgewotICAgICAgICBhdXRvIGpzID0gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6QCJ3
aW5kb3cuaW50ZXJuYWxzLmdldFVUSUZyb21UYWcoXCIlc1wiLCBcIiVzXCIsIFwiJXNcIikiLCBp
dGVtLnRhZy51dGY4KCkuZGF0YSgpLCBpdGVtLnRhZ0NsYXNzLnV0ZjgoKS5kYXRhKCksICwgaXRl
bS5pZGVudGlmaWVyLnV0ZjgoKS5kYXRhKCldOwotCi0gICAgICAgIGF1dG8gdXRpID0gW3dlYlZp
ZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpqc107Ci0KLSAgICAgICAgQVNTRVJUX1RS
VUUoV2ViQ29yZTo6VVRJRnJvbVRhZyhpdGVtLnRhZ0NsYXNzLCBpdGVtLnRhZywgaXRlbS5pZGVu
dGlmaWVyKSA9PSBTdHJpbmcodXRpKSk7Ci0gICAgfQotfQotI2VuZGlmCi0KLSNlbmRpZiAvLyBX
S19IQVZFX0NfU1BJCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396309</attachid>
            <date>2020-04-13 10:51:36 -0700</date>
            <delta_ts>2020-04-13 12:30:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-210435-20200413105136.patch</filename>
            <type>text/plain</type>
            <size>29883</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDAxNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDIwLTA0LTEzICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBSZW1vdmUgdW51
c2VkIFVUVHlwZSBzd2l6emxlciBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTA0MzUKKworICAgICAgICBVbnJldmlld2VkIHJvbGxvdXQgb2Yg
cjI1ODEyMC4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9VVFR5cGVSZWNvcmRTd2l6emxlci5oOiBSZW1vdmVk
LgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1VUVHlwZVJlY29yZFN3aXp6bGVyLm1tOiBSZW1v
dmVkLgorCiAyMDIwLTA0LTEzICBKb29uZ2h1biBQYXJrICA8amg3MTgucGFya0BzYW1zdW5nLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkLiBSZW1vdmUgcmVkdW5kYW50IG1vdmUgaW4gcmV0dXJu
IHN0YXRlbWVudC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkocmV2aXNpb24gMjYwMDE0KQorKysg
U291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEz
IEBACisyMDIwLTA0LTEzICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbaU9TXSBSZW1vdmUgdW51c2VkIFVUVHlwZSBzd2l6emxlciBjb2RlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA0MzUKKworICAgICAg
ICBVbnJldmlld2VkIHJvbGxvdXQgb2YgcjI1ODEyMC4KKworICAgICAgICAqIFBBTC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBhbC9zcGkvY29jb2EvTlNVVFR5cGVSZWNv
cmRTUEkuaDogUmVtb3ZlZC4KKwogMjAyMC0wNC0xMCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBTUEkgdG8gaGFuZGxlIHByb3h5IGF1
dGhlbnRpY2F0aW9uIGFuZCByZXF1aXJlIHNlY3VyZSBwcm94eSBjb25uZWN0aW9ucwpJbmRleDog
U291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
cmV2aXNpb24gMjYwMDE0KQorKysgU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0zNTIsNyArMzUyLDYgQEAKIAkJQ0RBQ0Iz
NUYyMzg3M0U0ODAwMThEN0NFIC8qIE1lZGlhVG9vbGJveFNvZnRMaW5rLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE1lZGlhVG9vbGJveFNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUNERjkxMTEyMjIwRTRFRUMwMDFFQTM5RSAvKiBDZWxlc3RpYWxTUEkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ2VsZXN0aWFsU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUNFNTY3Mzg2MjE1MUE3QjkwMDJGOTJENyAvKiBJT0tpdFNQSS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJT0tpdFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQlFMzAzN0Y0RjI0MTVBREY0MDAzMUNBMEYgLyogTlNVVFR5cGVSZWNvcmRTUEku
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTlNVVFR5cGVSZWNvcmRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTVENDVEMTEyMTA2QTA3NDAwRDJCNzM4IC8qIE5TQ29sb3JXZWxsU1BJLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5TQ29sb3JXZWxsU1BJLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUU1RDQ1RDEzMjEwNkExODcwMEQyQjczOCAvKiBOU1Bv
cG92ZXJDb2xvcldlbGxTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTlNQ
b3BvdmVyQ29sb3JXZWxsU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0NDI5
MTVEMUZBNTI0NzMwMDJDQzkzRSAvKiBOU0ZpbGVTaXplRm9ybWF0dGVyU1BJLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IE5TRmlsZVNpemVGb3JtYXR0ZXJTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTQ1Niw3ICs0NTUsNiBAQAogCQkJCTBDMkRBMTM3MUYzQkVCNDkwMERCQzMxNyAvKiBO
U1VSTERvd25sb2FkU1BJLmggKi8sCiAJCQkJMEMyREExMzgxRjNCRUI0OTAwREJDMzE3IC8qIE5T
VVJMRmlsZVR5cGVNYXBwaW5nc1NQSS5oICovLAogCQkJCUMxNUNCQjMyMjNGMzRBMTIwMDMwMEND
NyAvKiBOU1VzZXJEZWZhdWx0c1NQSS5oICovLAotCQkJCUUzMDM3RjRGMjQxNUFERjQwMDMxQ0Ew
RiAvKiBOU1VUVHlwZVJlY29yZFNQSS5oICovLAogCQkJCTU3MEFCOEY4MjBBRjZFM0QwMEI4QkU4
NyAvKiBOU1hQQ0Nvbm5lY3Rpb25TUEkuaCAqLywKIAkJCQkwQzJEQTEzOTFGM0JFQjQ5MDBEQkMz
MTcgLyogUGFzc0tpdFNQSS5oICovLAogCQkJCTBDMkRBMTNBMUYzQkVCNDkwMERCQzMxNyAvKiBw
dGhyZWFkU1BJLmggKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9O
U1VUVHlwZVJlY29yZFNQSS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
c3BpL2NvY29hL05TVVRUeXBlUmVjb3JkU1BJLmgJKHJldmlzaW9uIDI2MDAxNCkKKysrIFNvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL05TVVRUeXBlUmVjb3JkU1BJLmgJKG5vbmV4aXN0
ZW50KQpAQCAtMSw0NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIwIEFwcGxlIElu
Yy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQot
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykK
LQotI2ltcG9ydCA8Q29yZVNlcnZpY2VzL0xTUHJvcGVydHlMaXN0UHJpdi5oPgotI2ltcG9ydCA8
Q29yZVNlcnZpY2VzL1VUVHlwZVJlY29yZFByaXYuaD4KLQotI2Vsc2UKLQotX19hdHRyaWJ1dGVf
XygodmlzaWJpbGl0eSgiZGVmYXVsdCIpKSkKLUBpbnRlcmZhY2UgTFNSZWNvcmQgOiBOU09iamVj
dCA8TlNDb3B5aW5nLCBOU0Rpc2NhcmRhYmxlQ29udGVudD4KLUBlbmQKLQotX19hdHRyaWJ1dGVf
XygodmlzaWJpbGl0eSgiZGVmYXVsdCIpKSkKLUBpbnRlcmZhY2UgVVRUeXBlUmVjb3JkIDogTFNS
ZWNvcmQKLSsgKG51bGxhYmxlIGluc3RhbmNldHlwZSl0eXBlUmVjb3JkV2l0aFRhZzooTlNTdHJp
bmcgKil0YWcgb2ZDbGFzczooTlNTdHJpbmcgKil0YWdDbGFzcyBjb25mb3JtaW5nVG9JZGVudGlm
aWVyOihOU1N0cmluZyAqKWNvbmZvcm1zVG87Ci1AcHJvcGVydHkgKHJlYWRvbmx5KSBOU1N0cmlu
ZyAqaWRlbnRpZmllcjsKLUBlbmQKLQotI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNjAwMTQpCisr
KyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtp
bmcgY29weSkKQEAgLTQ5MDYsOCArNDkwNiw2IEBACiAJCUUzQkJDMjQ3MjM4MzU1MjYwMDZFQzM5
RiAvKiBDU1NWYWx1ZUtleS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTNCQkMyNDUyMzgzNTUxQTAwNkVDMzlGIC8qIENTU1ZhbHVlS2V5LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTNDOTlBMDkxREMz
RDQxQzAwNzk0QUQzIC8qIERPTUpJVENoZWNrRE9NLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0M5OUEwODFEQzNENDE3MDA3OTRBRDMgLyogRE9NSklU
Q2hlY2tET00uaCAqLzsgfTsKIAkJRTNDOUFFQ0IyMTEzMTQ5OTAwNDE5QjkyIC8qIEpTTWljcm90
YXNrQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEUzQzlBRUM5MjExMzE0NzQwMDQxOUI5MiAvKiBKU01pY3JvdGFza0NhbGxiYWNrLmggKi87
IH07Ci0JCUUzQ0FBQTYxMjQxNTVGODcwMENFRDJFMiAvKiBVVFR5cGVSZWNvcmRTd2l6emxlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDQUFBNUUy
NDE1NUVGMjAwQ0VEMkUyIC8qIFVUVHlwZVJlY29yZFN3aXp6bGVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJRTNDQUFBNjIyNDE1NjEzMjAwQ0VE
MkUyIC8qIFVUVHlwZVJlY29yZFN3aXp6bGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDQUFBNjAyNDE1NUVGMzAwQ0VEMkUyIC8qIFVUVHlwZVJl
Y29yZFN3aXp6bGVyLm1tICovOyB9OwogCQlFM0U0RTJBODFFM0IxNzEwMDAyM0JCOEEgLyogU2Ny
aXB0RWxlbWVudENhY2hlZFNjcmlwdEZldGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzRTRFMkE2MUUzQjE2RkMwMDIzQkI4QSAvKiBTY3JpcHRF
bGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUUzRkEzODY0MUQ3MTgxMkQwMEFBNTk1MCAvKiBQZW5kaW5n
U2NyaXB0Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBFM0ZBMzg2MTFENzE2RTc2MDBBQTU5NTAgLyogUGVuZGluZ1NjcmlwdENsaWVudC5oICov
OyB9OwogCQlFNDAxQzI3NTE3Q0U1M0VDMDBDNDFBMzUgLyogRWxlbWVudEl0ZXJhdG9yQXNzZXJ0
aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQw
MUMyNzQxN0NFNTNFQzAwQzQxQTM1IC8qIEVsZW1lbnRJdGVyYXRvckFzc2VydGlvbnMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTUzNzksOCAr
MTUzNzcsNiBAQAogCQlFM0JGMTlFNzIyQUYzMDlGMDA5Qzk5MjYgLyogU2VjdXJpdHlQb2xpY3lW
aW9sYXRpb25FdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTZWN1cml0eVBvbGljeVZpb2xh
dGlvbkV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNDOTlBMDgxREMz
RDQxNzAwNzk0QUQzIC8qIERPTUpJVENoZWNrRE9NLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERPTUpJVENoZWNrRE9NLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUUzQzlBRUM5MjExMzE0NzQwMDQxOUI5MiAvKiBKU01pY3JvdGFza0NhbGxiYWNrLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWljcm90YXNrQ2FsbGJhY2suaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTNDQUFBNUUyNDE1NUVGMjAwQ0VEMkUyIC8qIFVUVHlw
ZVJlY29yZFN3aXp6bGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVUVHlw
ZVJlY29yZFN3aXp6bGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUUzQ0FBQTYw
MjQxNTVFRjMwMENFRDJFMiAvKiBVVFR5cGVSZWNvcmRTd2l6emxlci5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVUVHlwZVJlY29yZFN3aXp6bGVyLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFM0QwNDk5MzFEQURDMDQ1MDA3MThGM0MgLyogTm9k
ZUNvbnN0YW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOb2RlQ29uc3Rh
bnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzRTRFMkE1MUUzQjE2RkMwMDIz
QkI4QSAvKiBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzRTRFMkE2MUUzQjE2RkMwMDIz
QkI4QSAvKiBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBTY3JpcHRFbGVtZW50Q2FjaGVkU2NyaXB0RmV0Y2hlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjMzMjUsOCArMjMzMjEsNiBAQAogCQkJCTMx
MEQ3MTk0MUIzMzVDOUQwMDlDN0I3MyAvKiBUaGVtZUNvY29hLmggKi8sCiAJCQkJMzEwRDcxOTMx
QjMzNUM5RDAwOUM3QjczIC8qIFRoZW1lQ29jb2EubW0gKi8sCiAJCQkJQTNBRjlEODEyMDMyNTJF
RTAwNkNBRDA2IC8qIFVzZXJBZ2VudENvY29hLm1tICovLAotCQkJCUUzQ0FBQTVFMjQxNTVFRjIw
MENFRDJFMiAvKiBVVFR5cGVSZWNvcmRTd2l6emxlci5oICovLAotCQkJCUUzQ0FBQTYwMjQxNTVF
RjMwMENFRDJFMiAvKiBVVFR5cGVSZWNvcmRTd2l6emxlci5tbSAqLywKIAkJCQk1MkIwRDRCRjFD
NTdGRDY2MDA3N0NFNTMgLyogVmlkZW9GdWxsc2NyZWVuQ2hhbmdlT2JzZXJ2ZXIuaCAqLywKIAkJ
CQk1MkQ1QTFBNDFDNTc0ODg5MDBERTM0QTMgLyogVmlkZW9GdWxsc2NyZWVuTW9kZWwuaCAqLywK
IAkJCQk1MkQ1QTFBNTFDNTc0ODg5MDBERTM0QTMgLyogVmlkZW9GdWxsc2NyZWVuTW9kZWxWaWRl
b0VsZW1lbnQuaCAqLywKQEAgLTMzMjc2LDcgKzMzMjcwLDYgQEAKIAkJCQk1NzJCNDAzNjIxNzZB
OTIyMDAwQUQ0M0UgLyogVXNlclZlcmlmaWNhdGlvblJlcXVpcmVtZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQk1NUFGMTRFNjFFQUFDNTlCMDAyNkVFQUEgLyogVVRJUmVnaXN0cnkuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFGQUZCRjE5MTVBNUZBNzQwMDA4M0EyMCAvKiBVVElVdGlsaXRpZXMuaCBp
biBIZWFkZXJzICovLAotCQkJCUUzQ0FBQTYxMjQxNTVGODcwMENFRDJFMiAvKiBVVFR5cGVSZWNv
cmRTd2l6emxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNDNDVCOEUxREMyQjY4QTAwODg3MUJB
IC8qIFZhbGlkYXRpb25CdWJibGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUY1QTE1NDI4MTI3OTUz
NEQwMEQwQjBDMCAvKiBWYWxpZGF0aW9uTWVzc2FnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjUx
M0EzRUExNUZGNDg0MTAwMTUyNkRCIC8qIFZhbGlkYXRpb25NZXNzYWdlQ2xpZW50LmggaW4gSGVh
ZGVycyAqLywKQEAgLTM0NzM5LDcgKzM0NzMyLDYgQEAKIAkJCQk3QzNCNzk3MTE5MDg3NTdCMDBC
NDdBMkQgLyogVXNlck1lc3NhZ2VIYW5kbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDRTY4
MzQ0MTkyMTQzQTgwMEY0RDkyOCAvKiBVc2VyTWVzc2FnZUhhbmRsZXJEZXNjcmlwdG9yLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTdDNzNGQjA3MTkxRUY0MTcwMDdERTA2MSAvKiBVc2VyTWVzc2Fn
ZUhhbmRsZXJzTmFtZXNwYWNlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUUzQ0FBQTYyMjQxNTYx
MzIwMENFRDJFMiAvKiBVVFR5cGVSZWNvcmRTd2l6emxlci5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTNGQkM0QUYzMTg5ODgxNTYwMDQ2RUUzOCAvKiBWaWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VBVktp
dC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUyRDVBMThGMUM1NDU5MjMwMERFMzRBMyAvKiBWaWRl
b0xheWVyTWFuYWdlck9iakMubW0gaW4gU291cmNlcyAqLywKIAkJCQlCRTg4RTBERTE3MTVEMkEy
MDA2NThEOTggLyogVmlkZW9UcmFjay5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL1VUVHlwZVJlY29yZFN3aXp6bGVyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVVRUeXBlUmVjb3JkU3dpenpsZXIuaAko
cmV2aXNpb24gMjYwMDE0KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvVVRUeXBl
UmVjb3JkU3dpenpsZXIuaAkobm9uZXhpc3RlbnQpCkBAIC0xLDg1ICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgot
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
LSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIFVTRShVVFRZUEVfU1dJWlpMRVIpCi0KLSNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdHJ1Y3Qg
VVRUeXBlSXRlbSB7Ci0gICAgU3RyaW5nIHRhZzsKLSAgICBTdHJpbmcgdGFnQ2xhc3M7Ci0gICAg
U3RyaW5nIGlkZW50aWZpZXI7Ci0gICAgU3RyaW5nIHV0aTsKLQotICAgIHRlbXBsYXRlPGNsYXNz
IEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKLSAgICB0ZW1wbGF0ZTxjbGFz
cyBEZWNvZGVyPiBzdGF0aWMgT3B0aW9uYWw8VVRUeXBlSXRlbT4gZGVjb2RlKERlY29kZXImKTsK
LX07Ci0KLVdFQkNPUkVfRVhQT1JUIHZvaWQgc3dpenpsZVVUVHlwZVJlY29yZCgpOwotCi1XRUJD
T1JFX0VYUE9SVCBjb25zdCBWZWN0b3I8VVRUeXBlSXRlbT4mIGNyZWF0ZVZlY3Rvck9mVVRUeXBl
SXRlbSgpOwotV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRWZWN0b3JPZlVUVHlwZUl0ZW0oVmVjdG9y
PFVUVHlwZUl0ZW0+JiYpOwotCi10ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPgotdm9pZCBVVFR5cGVJ
dGVtOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKLXsKLSAgICBlbmNvZGVyIDw8IHRh
ZzsKLSAgICBlbmNvZGVyIDw8IHRhZ0NsYXNzOwotICAgIGVuY29kZXIgPDwgaWRlbnRpZmllcjsK
LSAgICBlbmNvZGVyIDw8IHV0aTsKLX0KLQotdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KLU9wdGlv
bmFsPFVUVHlwZUl0ZW0+IFVUVHlwZUl0ZW06OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQotewot
ICAgIE9wdGlvbmFsPFN0cmluZz4gdGFnOwotICAgIGRlY29kZXIgPj4gdGFnOwotICAgIGlmICgh
dGFnKQotICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwotCi0gICAgT3B0aW9uYWw8U3RyaW5n
PiB0YWdDbGFzczsKLSAgICBkZWNvZGVyID4+IHRhZ0NsYXNzOwotICAgIGlmICghdGFnQ2xhc3Mp
Ci0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0KLSAgICBPcHRpb25hbDxTdHJpbmc+IGlk
ZW50aWZpZXI7Ci0gICAgZGVjb2RlciA+PiBpZGVudGlmaWVyOwotICAgIGlmICghaWRlbnRpZmll
cikKLSAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKLQotICAgIE9wdGlvbmFsPFN0cmluZz4g
dXRpOwotICAgIGRlY29kZXIgPj4gdXRpOwotICAgIGlmICghdXRpKQotICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OwotCi0gICAgcmV0dXJuIFVUVHlwZUl0ZW0geyAqdGFnLCAqdGFnQ2xhc3Ms
ICppZGVudGlmaWVyLCAqdXRpIH07Ci19Ci19OwotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NvY29hL1VUVHlwZVJlY29yZFN3aXp6bGVyLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1VUVHlwZVJlY29yZFN3aXp6bGVyLm1tCShy
ZXZpc2lvbiAyNjAwMTQpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9VVFR5cGVS
ZWNvcmRTd2l6emxlci5tbQkobm9uZXhpc3RlbnQpCkBAIC0xLDExOCArMCwwIEBACi0vKgotKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotKgotKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0qIGFyZSBtZXQ6Ci0qIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0qICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotKgotKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCi0qIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0qIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUwotKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0qIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0qIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UwotKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgotKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0q
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSovCi0KLSNpbXBvcnQgImNvbmZpZy5o
IgotI2ltcG9ydCAiVVRUeXBlUmVjb3JkU3dpenpsZXIuaCIKLQotI2lmIFVTRShVVFRZUEVfU1dJ
WlpMRVIpCi0KLSNpbXBvcnQgPE1vYmlsZUNvcmVTZXJ2aWNlcy9Nb2JpbGVDb3JlU2VydmljZXMu
aD4KLQotI2ltcG9ydCA8V2ViQ29yZS9VVElVdGlsaXRpZXMuaD4KLSNpbXBvcnQgPHBhbC9zcGkv
Y29jb2EvTlNVVFR5cGVSZWNvcmRTUEkuaD4KLSNpbXBvcnQgPHd0Zi9IYXNoU2V0Lmg+Ci0jaW1w
b3J0IDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KLSNpbXBvcnQgPHd0Zi9PYmpDUnVudGltZUV4dHJh
cy5oPgotI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+Ci0jaW1wb3J0IDx3dGYvVmVjdG9yLmg+
Ci0jaW1wb3J0IDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+Ci0jaW1wb3J0IDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KLQotX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSgiZGVmYXVsdCIpKSkKLUBpbnRl
cmZhY2UgV2ViVVRUeXBlUmVjb3JkIDogVVRUeXBlUmVjb3JkCi0tICh2b2lkKXNldElkZW50aWZp
ZXI6KE5TU3RyaW5nICopaTsKLUBlbmQKLQotQGltcGxlbWVudGF0aW9uIFdlYlVUVHlwZVJlY29y
ZCB7Ci1AcGFja2FnZQotICAgIE5TU3RyaW5nICpfaWRlbnRpZmllcjsKLX0KLUBzeW50aGVzaXpl
IGlkZW50aWZpZXI9X2lkZW50aWZpZXI7Ci0tICh2b2lkKXNldElkZW50aWZpZXI6KE5TU3RyaW5n
ICopaQotewotICAgIF9pZGVudGlmaWVyID0gaTsKLX0KLUBlbmQKLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi1zdGF0aWMgVmVjdG9yPFVUVHlwZUl0ZW0+JiB2ZWN0b3JPZlVUVHlwZVJlY29yZHMo
KQotewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxWZWN0b3I8VVRUeXBlSXRlbT4+IHZlY3Rv
cjsKLSAgICByZXR1cm4gdmVjdG9yOwotfQotCi1zdGF0aWMgSU1QIHR5cGVSZWNvcmRXaXRoVGFn
T3JpZ2luYWwgPSBuaWw7Ci0KLXN0YXRpYyBVVFR5cGVSZWNvcmQgKnR5cGVSZWNvcmRXaXRoVGFn
T3ZlcnJpZGUoaWQgc2VsZiwgU0VMIHNlbGVjdG9yLCBOU1N0cmluZyAqdGFnLCBOU1N0cmluZyAq
dGFnQ2xhc3MsIE5TU3RyaW5nICppZGVudGlmaWVyKQotewotICAgIGZvciAoYXV0byYgciA6IHZl
Y3Rvck9mVVRUeXBlUmVjb3JkcygpKSB7Ci0gICAgICAgIGlmIChyLnRhZyA9PSBTdHJpbmcodGFn
KSAmJiByLnRhZ0NsYXNzID09IFN0cmluZyh0YWdDbGFzcykgJiYgci5pZGVudGlmaWVyID09IFN0
cmluZyhpZGVudGlmaWVyKSkgewotICAgICAgICAgICAgV2ViVVRUeXBlUmVjb3JkICpyZWNvcmQg
PSBbV2ViVVRUeXBlUmVjb3JkIGFsbG9jXTsKLSAgICAgICAgICAgIFtyZWNvcmQgc2V0SWRlbnRp
ZmllcjpyLnV0aV07Ci0gICAgICAgICAgICByZXR1cm4gW3JlY29yZCBhdXRvcmVsZWFzZV07Ci0g
ICAgICAgIH0KLSAgICB9Ci0gICAgV1RGTG9nQWx3YXlzKCJVVEkgbm90IGZvdW5kIGZvciB0YWc6
ICVzICVzICVzXG4iLCBTdHJpbmcodGFnKS51dGY4KCkuZGF0YSgpLCBTdHJpbmcodGFnQ2xhc3Mp
LnV0ZjgoKS5kYXRhKCksIFN0cmluZyhpZGVudGlmaWVyKS51dGY4KCkuZGF0YSgpKTsKLSAgICBy
ZXR1cm4gd3RmQ2FsbElNUDxVVFR5cGVSZWNvcmQgKj4odHlwZVJlY29yZFdpdGhUYWdPcmlnaW5h
bCwgc2VsZiwgc2VsZWN0b3IsIHRhZywgdGFnQ2xhc3MsIGlkZW50aWZpZXIpOwotfQotCi1jb25z
dCBWZWN0b3I8VVRUeXBlSXRlbT4mIGNyZWF0ZVZlY3Rvck9mVVRUeXBlSXRlbSgpCi17Ci0gICAg
c3RhdGljIE5ldmVyRGVzdHJveWVkPFZlY3RvcjxVVFR5cGVJdGVtPj4gdmVjdG9yID0gW10gewot
ICAgICAgICBWZWN0b3I8VVRUeXBlSXRlbT4gdiA9IHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxVVFR5
cGVJdGVtPiB7Ci0gICAgICAgICAgICB7ICJkYXQiX3MsICJwdWJsaWMuZmlsZW5hbWUtZXh0ZW5z
aW9uIl9zLCBzdGF0aWNfY2FzdDxjaGFyKj4obnVsbHB0ciksIHN0YXRpY19jYXN0PGNoYXIqPihu
dWxscHRyKSB9LAotICAgICAgICAgICAgeyAibXA0Il9zLCAicHVibGljLmZpbGVuYW1lLWV4dGVu
c2lvbiJfcywgc3RhdGljX2Nhc3Q8Y2hhcio+KG51bGxwdHIpLCBzdGF0aWNfY2FzdDxjaGFyKj4o
bnVsbHB0cikgfSwKLSAgICAgICAgICAgIHsgIm90ZiJfcywgInB1YmxpYy5maWxlbmFtZS1leHRl
bnNpb24iX3MsIHN0YXRpY19jYXN0PGNoYXIqPihudWxscHRyKSwgc3RhdGljX2Nhc3Q8Y2hhcio+
KG51bGxwdHIpIH0sCi0gICAgICAgIH07Ci0gICAgICAgIGZvciAoYXV0byYgciA6IHYpIHsKLSAg
ICAgICAgICAgIGF1dG8gdXRpID0gYWRvcHRDRihVVFR5cGVDcmVhdGVQcmVmZXJyZWRJZGVudGlm
aWVyRm9yVGFnKHIudGFnQ2xhc3MuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwgci50YWcuY3JlYXRl
Q0ZTdHJpbmcoKS5nZXQoKSwgci5pZGVudGlmaWVyLmlzTnVsbCgpID8gbnVsbHB0ciA6IHIuaWRl
bnRpZmllci5jcmVhdGVDRlN0cmluZygpLmdldCgpKSk7Ci0gICAgICAgICAgICByLnV0aSA9IHV0
aS5nZXQoKTsKLSAgICAgICAgfQotICAgICAgICBmb3IgKGF1dG8mIGl0IDogY3JlYXRlVVRJRnJv
bU1JTUVUeXBlTWFwKCkpIHsKLSAgICAgICAgICAgIFVUVHlwZUl0ZW0gaSA9IHsgaXQua2V5LCAi
cHVibGljLm1pbWUtdHlwZSJfcywgc3RhdGljX2Nhc3Q8Y2hhcio+KG51bGxwdHIpLCBzdGF0aWNf
Y2FzdDxjaGFyKj4obnVsbHB0cikgfTsKLSAgICAgICAgICAgIGF1dG8gdXRpID0gYWRvcHRDRihV
VFR5cGVDcmVhdGVQcmVmZXJyZWRJZGVudGlmaWVyRm9yVGFnKGkudGFnQ2xhc3MuY3JlYXRlQ0ZT
dHJpbmcoKS5nZXQoKSwgaS50YWcuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSwgaS5pZGVudGlmaWVy
LmlzTnVsbCgpID8gbnVsbHB0ciA6IGkuaWRlbnRpZmllci5jcmVhdGVDRlN0cmluZygpLmdldCgp
KSk7Ci0gICAgICAgICAgICBpLnV0aSA9IHV0aS5nZXQoKTsKLSAgICAgICAgICAgIHYuYXBwZW5k
KFdURk1vdmUoaSkpOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiB2OwotICAgIH0oKTsKLSAg
ICByZXR1cm4gdmVjdG9yOwotfQotCi12b2lkIHNldFZlY3Rvck9mVVRUeXBlSXRlbShWZWN0b3I8
VVRUeXBlSXRlbT4mJiB2ZWN0b3IpCi17Ci0gICAgdmVjdG9yT2ZVVFR5cGVSZWNvcmRzKCkgPSBX
VEZNb3ZlKHZlY3Rvcik7Ci19Ci0KLXZvaWQgc3dpenpsZVVUVHlwZVJlY29yZCgpCi17Ci0gICAg
TWV0aG9kIHR5cGVSZWNvcmRXaXRoVGFnTWV0aG9kID0gY2xhc3NfZ2V0Q2xhc3NNZXRob2Qob2Jq
Y19nZXRDbGFzcygiVVRUeXBlUmVjb3JkIiksIEBzZWxlY3Rvcih0eXBlUmVjb3JkV2l0aFRhZzog
b2ZDbGFzczogY29uZm9ybWluZ1RvSWRlbnRpZmllcjopKTsKLSAgICB0eXBlUmVjb3JkV2l0aFRh
Z09yaWdpbmFsID0gbWV0aG9kX3NldEltcGxlbWVudGF0aW9uKHR5cGVSZWNvcmRXaXRoVGFnTWV0
aG9kLCAoSU1QKXR5cGVSZWNvcmRXaXRoVGFnT3ZlcnJpZGUpOwotfQotCi19OwotCi0jZW5kaWYK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjAwMTQpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDIwLTA0LTEzICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBSZW1vdmUgdW51c2Vk
IFVUVHlwZSBzd2l6emxlciBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTA0MzUKKworICAgICAgICBVbnJldmlld2VkIHJvbGxvdXQgb2YgcjI1
ODEyMC4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6
ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vz
cyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgor
CiAyMDIwLTA0LTEzICBKb29uZ2h1biBQYXJrICA8amg3MTgucGFya0BzYW1zdW5nLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkLiBSZW1vdmUgcmVkdW5kYW50IG1vdmUgaW4gcmV0dXJuIHN0YXRl
bWVudC4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuY3BwCShyZXZpc2lvbiAyNjAwMTQpCisrKyBTb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTgxLDkgKzE4MSw2IEBAIHZvaWQgV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5j
b2QKICAgICBlbmNvZGVyIDw8IGNzc1ZhbHVlVG9TeXN0ZW1Db2xvck1hcDsKICAgICBlbmNvZGVy
IDw8IGZvY3VzUmluZ0NvbG9yOwogICAgIGVuY29kZXIgPDwgbG9jYWxpemVkRGV2aWNlTW9kZWw7
Ci0jaWYgVVNFKFVUVFlQRV9TV0laWkxFUikKLSAgICBlbmNvZGVyIDw8IHZlY3Rvck9mVVRUeXBl
SXRlbTsKLSNlbmRpZgogI2VuZGlmCiAKICNpZiBQTEFURk9STShDT0NPQSkKQEAgLTUwNCwxNCAr
NTAxLDYgQEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzOjpkZWNvZAogICAgIAog
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5sb2NhbGl6ZWREZXZpY2VNb2RlbCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKLSNpZiBVU0UoVVRUWVBFX1NXSVpaTEVSKQot
ICAgIE9wdGlvbmFsPFZlY3RvcjxXZWJDb3JlOjpVVFR5cGVJdGVtPj4gdmVjdG9yT2ZVVFR5cGVJ
dGVtOwotICAgIGRlY29kZXIgPj4gdmVjdG9yT2ZVVFR5cGVJdGVtOwotICAgIGlmICghdmVjdG9y
T2ZVVFR5cGVJdGVtKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcGFyYW1ldGVycy52ZWN0
b3JPZlVUVHlwZUl0ZW0gPSBXVEZNb3ZlKCp2ZWN0b3JPZlVUVHlwZUl0ZW0pOwotI2VuZGlmCiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAkocmV2aXNpb24gMjYwMDE0
KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
CSh3b3JraW5nIGNvcHkpCkBAIC01MCw3ICs1MCw2IEBACiAKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQogI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyVGhlbWVJT1MuaD4KLSNpbmNsdWRlIDxXZWJD
b3JlL1VUVHlwZVJlY29yZFN3aXp6bGVyLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNlIEFQSSB7CkBA
IC0yMjIsOSArMjIxLDYgQEAgc3RydWN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewog
ICAgIFdlYkNvcmU6OlJlbmRlclRoZW1lSU9TOjpDU1NWYWx1ZVRvU3lzdGVtQ29sb3JNYXAgY3Nz
VmFsdWVUb1N5c3RlbUNvbG9yTWFwOwogICAgIFdlYkNvcmU6OkNvbG9yIGZvY3VzUmluZ0NvbG9y
OwogICAgIFN0cmluZyBsb2NhbGl6ZWREZXZpY2VNb2RlbDsKLSNpZiBVU0UoVVRUWVBFX1NXSVpa
TEVSKQotICAgIFZlY3RvcjxXZWJDb3JlOjpVVFR5cGVJdGVtPiB2ZWN0b3JPZlVUVHlwZUl0ZW07
Ci0jZW5kaWYKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQb29sQ29jb2EubW0JKHJl
dmlzaW9uIDI2MDAxNCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nl
c3NQb29sQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTQyOSwxMCArNDI5LDYgQEAgdm9pZCBX
ZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplVwogICAgIHBhcmFtZXRlcnMuY3NzVmFs
dWVUb1N5c3RlbUNvbG9yTWFwID0gUmVuZGVyVGhlbWVJT1M6OmNzc1ZhbHVlVG9TeXN0ZW1Db2xv
ck1hcCgpOwogICAgIHBhcmFtZXRlcnMuZm9jdXNSaW5nQ29sb3IgPSBSZW5kZXJUaGVtZTo6c2lu
Z2xldG9uKCkuZm9jdXNSaW5nQ29sb3IoT3B0aW9uU2V0PFN0eWxlQ29sb3I6Ok9wdGlvbnM+KCkp
OwogICAgIHBhcmFtZXRlcnMubG9jYWxpemVkRGV2aWNlTW9kZWwgPSBsb2NhbGl6ZWREZXZpY2VN
b2RlbCgpOwotI2lmIFVTRShVVFRZUEVfU1dJWlpMRVIpCi0gICAgaWYgKFdlYkNvcmU6OklPU0Fw
cGxpY2F0aW9uOjppc01vYmlsZVNhZmFyaSgpKQotICAgICAgICBwYXJhbWV0ZXJzLnZlY3Rvck9m
VVRUeXBlSXRlbSA9IGNyZWF0ZVZlY3Rvck9mVVRUeXBlSXRlbSgpOwotI2VuZGlmCiAjZW5kaWYK
ICAgICAKICAgICAvLyBBbGxvdyBtaWNyb3Bob25lIGFjY2VzcyBpZiBlaXRoZXIgcHJlZmVyZW5j
ZSBpcyBzZXQgYmVjYXVzZSBXZWJSVEMgcmVxdWlyZXMgbWljcm9waG9uZSBhY2Nlc3MuCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2Eu
bW0JKHJldmlzaW9uIDI2MDAxNCkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9X
ZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTExMSw3ICsxMTEsNiBAQAogI2lt
cG9ydCAiV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdElPUy5oIgogI2ltcG9ydCA8TW9iaWxl
Q29yZVNlcnZpY2VzL01vYmlsZUNvcmVTZXJ2aWNlcy5oPgogI2ltcG9ydCA8VUlLaXQvVUlBY2Nl
c3NpYmlsaXR5Lmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1VUVHlwZVJlY29yZFN3aXp6bGVyLmg+CiAj
aW1wb3J0IDxwYWwvc3BpL2lvcy9HcmFwaGljc1NlcnZpY2VzU1BJLmg+CiAjZW5kaWYKIApAQCAt
MzIxLDEzICszMjAsNiBAQCB2b2lkIFdlYlByb2Nlc3M6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlBy
CiAgICAgfQogI2VuZGlmCiAgICAgICAgIAotI2lmIFVTRShVVFRZUEVfU1dJWlpMRVIpCi0gICAg
aWYgKCFwYXJhbWV0ZXJzLnZlY3Rvck9mVVRUeXBlSXRlbS5pc0VtcHR5KCkpIHsKLSAgICAgICAg
c3dpenpsZVVUVHlwZVJlY29yZCgpOwotICAgICAgICBzZXRWZWN0b3JPZlVUVHlwZUl0ZW0oV1RG
TW92ZShwYXJhbWV0ZXJzLnZlY3Rvck9mVVRUeXBlSXRlbSkpOwotICAgIH0KLSNlbmRpZgotCiAg
ICAgV2ViQ29yZTo6c2xlZXBEaXNhYmxlckNsaWVudCgpID0gbWFrZVVuaXF1ZTxXZWJTbGVlcERp
c2FibGVyQ2xpZW50PigpOwogCiAgICAgdXBkYXRlUHJvY2Vzc05hbWUoKTsKSW5kZXg6IFRvb2xz
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2MDAy
MikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisy
MDIwLTA0LTEzICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAg
ICBbaU9TXSBSZW1vdmUgdW51c2VkIFVUVHlwZSBzd2l6emxlciBjb2RlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTA0MzUKKworICAgICAgICBVbnJl
dmlld2VkIHJvbGxvdXQgb2YgcjI1ODEyMC4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0L1VUSUZyb21UYWcubW06IFJlbW92ZWQuCisKIDIwMjAtMDQtMTMg
IEFha2FzaCBKYWluICA8YWFrYXNoX2phaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtld3NdIElt
cHJvdmUgaGFuZGxpbmcgb2YgdW5leHBlY3RlZCBuZXR3b3JrIGlzc3VlcyB3aGlsZSBjb21tdW5p
Y2F0aW5nIHdpdGggQnVnemlsbGEKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktp
dEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lv
biAyNjAwMTQpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTAyMyw3ICsxMDIzLDYgQEAKIAkJ
RTNBMUU3ODIyMUIyNUI3QTAwOEM2MDA3IC8qIFVSTC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0ExRTc4MDIxQjI1Qjc5MDA4QzYwMDcgLyogVVJM
LmNwcCAqLzsgfTsKIAkJRTNBMUU3ODUyMUIyNUI5MTAwOEM2MDA3IC8qIFVSTFBhcnNlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0ExRTc4NDIx
QjI1QjkxMDA4QzYwMDcgLyogVVJMUGFyc2VyLmNwcCAqLzsgfTsKIAkJRTNDMjFBN0MyMUIyNUNB
MjAwM0IzMUEzIC8qIFVSTEV4dHJhcy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUzQzIxQTdCMjFCMjVDQTIwMDNCMzFBMyAvKiBVUkxFeHRyYXMubW0g
Ki87IH07Ci0JCUUzQ0FBQTRDMjQxNTUwNTEwMENFRDJFMiAvKiBVVElGcm9tVGFnLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTNDQUFBNEIyNDE1NTA1
MTAwQ0VEMkUyIC8qIFVUSUZyb21UYWcubW0gKi87IH07CiAJCUUzREVBODExMUYwQTU4OTAwMENC
QzJFOCAvKiBUaHJlYWRHcm91cC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBFM0RFQTgxMDFGMEE1ODgwMDBDQkMyRTggLyogVGhyZWFkR3JvdXAuY3Bw
ICovOyB9OwogCQlFM0Y4QUI5MjI0MUFCOUNFMDAzRTJBN0UgLyogQWNjZXNzaWJpbGl0eVJlbW90
ZVVJQXBwLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTNGOEFCOTEyNDFBQjlDRTAwM0UyQTdFIC8qIEFjY2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5tbSAq
LzsgfTsKIAkJRTUwMzZGNzgyMTFCQzI1NDAwQkZEQkUyIC8qIGNvbG9yLWRyb3AuaHRtbCBpbiBD
b3B5IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNTAzNkY3
NzIxMUJDMjI4MDBCRkRCRTIgLyogY29sb3ItZHJvcC5odG1sICovOyB9OwpAQCAtMjYzOSw3ICsy
NjM4LDYgQEAKIAkJRTNBMUU3ODAyMUIyNUI3OTAwOEM2MDA3IC8qIFVSTC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBVUkwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlFM0ExRTc4NDIxQjI1QjkxMDA4QzYwMDcgLyogVVJMUGFyc2VyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFVSTFBhcnNlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzQzIxQTdCMjFCMjVDQTIwMDNCMzFBMyAvKiBVUkxFeHRy
YXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVUkxFeHRyYXMu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUUzQ0FBQTRCMjQxNTUwNTEwMENFRDJF
MiAvKiBVVElGcm9tVGFnLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVVRJRnJvbVRhZy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNERUE4MTAxRjBBNTg4MDAwQ0JDMkU4IC8q
IFRocmVhZEdyb3VwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRo
cmVhZEdyb3VwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNGOEFCOTEyNDFB
QjlDRTAwM0UyQTdFIC8qIEFjY2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTQwMDE5MzAxQUNFOUI1QzAwMUIwQTJBIC8qIEJsb29tRmlsdGVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJsb29tRmlsdGVyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI5NDYsNyArMjk0NCw2IEBACiAJCQkJRTMyNUM5
MDYyM0UzODcwMjAwQkM3RDNCIC8qIFBpY3R1cmVJblBpY3R1cmVTdXBwb3J0Lm1tICovLAogCQkJ
CUMxNUNCQjNFMjNGQjE3N0EwMDMwMENDNyAvKiBQcmVmZXJlbmNlQ2hhbmdlcy5tbSAqLywKIAkJ
CQlDMTQ5RDU0RjI0MkU5ODQ0MDAzRUJCMTIgLyogU2xlZXBEaXNhYmxlci5tbSAqLywKLQkJCQlF
M0NBQUE0QjI0MTU1MDUxMDBDRUQyRTIgLyogVVRJRnJvbVRhZy5tbSAqLywKIAkJCQkwRjEzOUU3
NTFBNDIzQTUzMDBGNTkwRjUgLyogV2Vha09iakNQdHIubW0gKi8sCiAJCQkpOwogCQkJbmFtZSA9
IGNvY29hOwpAQCAtNTE1OSw3ICs1MTU2LDYgQEAKIAkJCQkwN0Y0RTkyRTIwQUY1OUUyMDAyRTM4
MDMgLyogVXNlck1lZGlhU2ltdWxhdGVGYWlsZWRTYW5kYm94Lm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJN0NDRTdGMTgxQTQxMUFFNjAwNDQ3QzRDIC8qIFVzZXJNZXNzYWdlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTJFQjI0MkI4MjFENDE0MEIwMDU1QzFDMCAvKiBVc2VTZWxlY3Rpb25Bc0ZpbmRT
dHJpbmcubW0gaW4gU291cmNlcyAqLywKLQkJCQlFM0NBQUE0QzI0MTU1MDUxMDBDRUQyRTIgLyog
VVRJRnJvbVRhZy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDODNFMDNBMUQwQTYwMjcwMEZFQkNG
MyAvKiBVdGlsaXRpZXNDb2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDODNFMEM2MUQwQTY1
NEUwMEZFQkNGMyAvKiBWaWRlb0NvbnRyb2xzTWFuYWdlci5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CUNEMzA2NUUwMjE2NTY4MkUwMEU4OTVERiAvKiBWaWRlb1F1YWxpdHlEaXNwbGF5Q29tcG9zaXRp
bmcubW0gaW4gU291cmNlcyAqLywKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0L1VUSUZyb21UYWcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXQvVVRJRnJvbVRhZy5tbQkocmV2aXNpb24gMjYwMDE0KQorKysgVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQvVVRJRnJvbVRhZy5tbQkobm9uZXhpc3RlbnQpCkBAIC0xLDU0
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
Ci0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgot
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNpZiBXS19IQVZF
X0NfU1BJCi0KLSNpZiBVU0UoVVRUWVBFX1NXSVpaTEVSKQotCi0jaW1wb3J0ICJQbGF0Zm9ybVV0
aWxpdGllcy5oIgotI2ltcG9ydCAiVGVzdFdLV2ViVmlldy5oIgotI2ltcG9ydCA8V2ViQ29yZS9V
VElVdGlsaXRpZXMuaD4KLSNpbXBvcnQgPFdlYkNvcmUvVVRUeXBlUmVjb3JkU3dpenpsZXIuaD4K
LQotVEVTVChXZWJLaXQsIFVUSUZyb21UYWcpCi17Ci0gICAgYXV0byBjb25maWd1cmF0aW9uID0g
YWRvcHROUyhbW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gYWxsb2NdIGluaXRdKTsKLSAgICBXS1Jl
dGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQgPSBhZG9wdFdLKFRlc3RXZWJLaXRBUEk6OlV0
aWw6OmNyZWF0ZUNvbnRleHRGb3JJbmplY3RlZEJ1bmRsZVRlc3QoIkludGVybmFsc0luamVjdGVk
QnVuZGxlVGVzdCIpKTsKLSAgICBjb25maWd1cmF0aW9uLmdldCgpLnByb2Nlc3NQb29sID0gKFdL
UHJvY2Vzc1Bvb2wgKiljb250ZXh0LmdldCgpOwotICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMo
W1tUZXN0V0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgMzAw
LCAzMDApIGNvbmZpZ3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKSBhZGRUb1dpbmRvdzpZRVNd
KTsKLQotICAgIGZvciAoYXV0byYgaXRlbSA6IFdlYkNvcmU6OmNyZWF0ZVZlY3Rvck9mVVRUeXBl
SXRlbSgpKSB7Ci0gICAgICAgIGF1dG8ganMgPSBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpA
IndpbmRvdy5pbnRlcm5hbHMuZ2V0VVRJRnJvbVRhZyhcIiVzXCIsIFwiJXNcIiwgXCIlc1wiKSIs
IGl0ZW0udGFnLnV0ZjgoKS5kYXRhKCksIGl0ZW0udGFnQ2xhc3MudXRmOCgpLmRhdGEoKSwgLCBp
dGVtLmlkZW50aWZpZXIudXRmOCgpLmRhdGEoKV07Ci0KLSAgICAgICAgYXV0byB1dGkgPSBbd2Vi
VmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2NyaXB0OmpzXTsKLQotICAgICAgICBBU1NFUlRf
VFJVRShXZWJDb3JlOjpVVElGcm9tVGFnKGl0ZW0udGFnQ2xhc3MsIGl0ZW0udGFnLCBpdGVtLmlk
ZW50aWZpZXIpID09IFN0cmluZyh1dGkpKTsKLSAgICB9Ci19Ci0jZW5kaWYKLQotI2VuZGlmIC8v
IFdLX0hBVkVfQ19TUEkK
</data>

          </attachment>
      

    </bug>

</bugzilla>