<?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>170892</bug_id>
          
          <creation_ts>2017-04-16 14:03:18 -0700</creation_ts>
          <short_desc>[Cocoa] Move isNullFunctionPointer down into WTF</short_desc>
          <delta_ts>2017-04-17 13:22:40 -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>Web Template Framework</component>
          <version>WebKit Local 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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>andersca</cc>
    
    <cc>darin</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1297806</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-04-16 14:03:18 -0700</bug_when>
    <thetext>Rather than having a copy of isNullFunctionPointer() in each source file that uses it, we can put it in a WTF header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1297812</commentid>
    <comment_count>1</comment_count>
      <attachid>307241</attachid>
    <who name="">mitz</who>
    <bug_when>2017-04-16 15:04:54 -0700</bug_when>
    <thetext>Created attachment 307241
Patch for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1297819</commentid>
    <comment_count>2</comment_count>
      <attachid>307244</attachid>
    <who name="">mitz</who>
    <bug_when>2017-04-16 15:56:30 -0700</bug_when>
    <thetext>Created attachment 307244
Patch for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1297828</commentid>
    <comment_count>3</comment_count>
      <attachid>307250</attachid>
    <who name="">mitz</who>
    <bug_when>2017-04-16 17:08:00 -0700</bug_when>
    <thetext>Created attachment 307250
Move the function to wtf/darwin/WeakLinking.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1297829</commentid>
    <comment_count>4</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-04-16 17:08:40 -0700</bug_when>
    <thetext>Not sure I picked the best place in WTF for this function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1297830</commentid>
    <comment_count>5</comment_count>
      <attachid>307250</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-04-16 17:14:40 -0700</bug_when>
    <thetext>Comment on attachment 307250
Move the function to wtf/darwin/WeakLinking.h

View in context: https://bugs.webkit.org/attachment.cgi?id=307250&amp;action=review

&gt; Source/WTF/wtf/darwin/WeakLinking.h:27
&gt; +

Probably worth including &lt;type_traits&gt; to make this compile standalone.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1297988</commentid>
    <comment_count>6</comment_count>
    <who name="">mitz</who>
    <bug_when>2017-04-17 13:22:40 -0700</bug_when>
    <thetext>Committed &lt;https://trac.webkit.org/r215424&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>307241</attachid>
            <date>2017-04-16 15:04:54 -0700</date>
            <delta_ts>2017-04-16 15:56:30 -0700</delta_ts>
            <desc>Patch for EWS</desc>
            <filename>file_170892.txt</filename>
            <type>text/plain</type>
            <size>19739</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oNCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0NCi0tLSBTb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lv
biAyMTU0MDApDQorKysgU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
d29ya2luZyBjb3B5KQ0KQEAgLTE0MCw2ICsxNDAsNyBAQA0KIAkJMkNERUQwRUYxODExNUMzODAw
NERCQTcwIC8qIFJ1bkxvb3BDRi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyQ0RFRDBFRTE4MTE1QzM4MDA0REJBNzAgLyogUnVuTG9vcENGLmNwcCAq
LzsgfTsNCiAJCTJDREVEMEYzMTgxMTVDODUwMDREQkE3MCAvKiBSdW5Mb29wLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJDREVEMEYxMTgxMTVDODUw
MDREQkE3MCAvKiBSdW5Mb29wLmNwcCAqLzsgfTsNCiAJCTJDREVEMEY0MTgxMTVDODUwMDREQkE3
MCAvKiBSdW5Mb29wLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyQ0RFRDBGMjE4MTE1Qzg1MDA0REJBNzAgLyogUnVuTG9vcC5oICovOyB9Ow0KKwkJMzdD
N0NDMkExRUE0MEE3MzAwN0JEOTU2IC8qIFdlYWtMaW5raW5nLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0M3Q0MyOTFFQTQwQTczMDA3QkQ5NTYgLyog
V2Vha0xpbmtpbmcuaCAqLzsgfTsNCiAJCTQzMEI0Nzg5MUFBQUFDMUEwMDEyMjNEQSAvKiBTdHJp
bmdDb21tb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQzMEI0Nzg3MUFBQUFDMUEwMDEyMjNEQSAvKiBTdHJpbmdDb21tb24uaCAqLzsgfTsNCiAJCTRC
MjY4MEREOUI5NzQ0MDI4OTlFRDU3MiAvKiBJbmRleGVkQ29udGFpbmVySXRlcmF0b3IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlDNjdDNTQyNTg5MzQ4
RTI4NUI0OTY5OSAvKiBJbmRleGVkQ29udGFpbmVySXRlcmF0b3IuaCAqLzsgfTsNCiAJCTUxM0Ux
NzBCMUNEN0Q1QkYwMEUzNjUwQiAvKiBMb2dnaW5nQWNjdW11bGF0b3IuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxM0UxNzBBMUNEN0Q1QkYwMEUzNjUw
QiAvKiBMb2dnaW5nQWNjdW11bGF0b3IuaCAqLzsgfTsNCkBAIC01MzksNiArNTQwLDcgQEANCiAJ
CTJDREVEMEYxMTgxMTVDODUwMDREQkE3MCAvKiBSdW5Mb29wLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJ1bkxvb3AuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9Ow0KIAkJMkNERUQwRjIxODExNUM4NTAwNERCQTcwIC8qIFJ1bkxvb3AuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUnVuTG9vcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9Ow0KIAkJMzEzN0UxRDdEQkQ4NEFDMzhGQUU0RDM0IC8qIEluZGV4U2V0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluZGV4U2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07DQorCQkzN0M3Q0MyOTFFQTQwQTczMDA3QkQ5NTYgLyogV2Vha0xpbmtpbmcuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vha0xpbmtpbmcuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsNCiAJCTQzMEI0Nzg3MUFBQUFDMUEwMDEyMjNEQSAvKiBTdHJpbmdDb21t
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RyaW5nQ29tbW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07DQogCQk1MTNFMTcwQTFDRDdENUJGMDBFMzY1MEIgLyog
TG9nZ2luZ0FjY3VtdWxhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExv
Z2dpbmdBY2N1bXVsYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Ow0KIAkJNTE1Rjc5
NEIxQ0ZDOUY0QTAwQ0NFRDkzIC8qIENyb3NzVGhyZWFkQ29waWVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENyb3NzVGhyZWFkQ29waWVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsNCkBAIC04NjIsNiArODY0LDE0IEBADQogCQkJcGF0aCA9IGNmOw0K
IAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7DQogCQl9Ow0KKwkJMzdDN0NDMjgxRUE0MEE1NDAw
N0JEOTU2IC8qIGRhcndpbiAqLyA9IHsNCisJCQlpc2EgPSBQQlhHcm91cDsNCisJCQljaGlsZHJl
biA9ICgNCisJCQkJMzdDN0NDMjkxRUE0MEE3MzAwN0JEOTU2IC8qIFdlYWtMaW5raW5nLmggKi8s
DQorCQkJKTsNCisJCQlwYXRoID0gZGFyd2luOw0KKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
DQorCQl9Ow0KIAkJNUQyNDdCNTcxNDY4OUI4NjAwRTc4Qjc2ID0gew0KIAkJCWlzYSA9IFBCWEdy
b3VwOw0KIAkJCWNoaWxkcmVuID0gKA0KQEAgLTkzMiw2ICs5NDIsNyBAQA0KIAkJCWNoaWxkcmVu
ID0gKA0KIAkJCQkyQ0RFRDBGMDE4MTE1QzNGMDA0REJBNzAgLyogY2YgKi8sDQogCQkJCUU0QTBB
RDNCMUE5NjI1MTkwMDUzNkRGNiAvKiBjb2NvYSAqLywNCisJCQkJMzdDN0NDMjgxRUE0MEE1NDAw
N0JEOTU2IC8qIGRhcndpbiAqLywNCiAJCQkJQThBNDcyODExNTFBODI1QTAwNDEyM0ZGIC8qIGR0
b2EgKi8sDQogCQkJCTFGQTQ3Qzg3MTUyNTAyREEwMDU2OEQxQiAvKiBpb3MgKi8sDQogCQkJCUE4
QTQ3MkM0MTUxQTgyNUEwMDQxMjNGRiAvKiBtYWMgKi8sDQpAQCAtMTQ2Niw2ICsxNDc3LDcgQEAN
CiAJCQkJQThBNDczQTUxNTFBODI1QjAwNDEyM0ZGIC8qIERlcXVlLmggaW4gSGVhZGVycyAqLywN
CiAJCQkJQThBNDczQTYxNTFBODI1QjAwNDEyM0ZGIC8qIERpc2FsbG93Q1R5cGUuaCBpbiBIZWFk
ZXJzICovLA0KIAkJCQlBOEE0NzNBRjE1MUE4MjVCMDA0MTIzRkYgLyogZGl5LWZwLmggaW4gSGVh
ZGVycyAqLywNCisJCQkJMzdDN0NDMkExRUE0MEE3MzAwN0JEOTU2IC8qIFdlYWtMaW5raW5nLmgg
aW4gSGVhZGVycyAqLywNCiAJCQkJMEY0NTcwNDMxQkU1QjU4RjAwNjJBNjI5IC8qIERvbWluYXRv
cnMuaCBpbiBIZWFkZXJzICovLA0KIAkJCQlBOEE0NzNCMTE1MUE4MjVCMDA0MTIzRkYgLyogZG91
YmxlLWNvbnZlcnNpb24uaCBpbiBIZWFkZXJzICovLA0KIAkJCQlBOEE0NzNCMjE1MUE4MjVCMDA0
MTIzRkYgLyogZG91YmxlLmggaW4gSGVhZGVycyAqLywNCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9k
YXJ3aW4vV2Vha0xpbmtpbmcuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XVEYvd3RmL2Rhcndp
bi9XZWFrTGlua2luZy5oCShub25leGlzdGVudCkNCisrKyBTb3VyY2UvV1RGL3d0Zi9kYXJ3aW4v
V2Vha0xpbmtpbmcuaAkod29ya2luZyBjb3B5KQ0KQEAgLTAsMCArMSw0NyBAQA0KKy8qDQorICog
Q29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCisgKg0K
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dA0KKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucw0KKyAqIGFyZSBtZXQ6DQorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQN
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuDQorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQNCisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlDQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4NCisgKg0KKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycNCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywNCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSDQorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTDQorICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUg0K
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GDQorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQorICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4N
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQ0KKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YNCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuDQorICovDQorDQorI3ByYWdtYSBvbmNlDQorDQorbmFtZXNwYWNl
IFdURiB7DQorDQordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgPSBzdGQ6OmVuYWJsZV9p
Zl90PHN0ZDo6aXNfZnVuY3Rpb248VD46OnZhbHVlPj4NCitpbmxpbmUgYm9vbCBpc051bGxGdW5j
dGlvblBvaW50ZXIoVCogZnVuY3Rpb25Qb2ludGVyKQ0KK3sNCisgICAgdm9pZCogcmVzdWx0Ow0K
KyAgICAvLyBUaGUgQyBjb21waWxlciBtYXkgdGFrZSBhZHZhbnRhZ2Ugb2YgdGhlIGZhY3QgdGhh
dCBieSBkZWZpbml0aW9uLCBmdW5jdGlvbiBwb2ludGVycyBjYW5ub3QgYmUNCisgICAgLy8gbnVs
bC4gV2hlbiB3ZWFrLWxpbmtpbmcgYSBsaWJyYXJ5LCBmdW5jdGlvbiBwb2ludGVycyBjYW4gYmUg
bnVsbC4gV2UgdXNlIG5vbi1DIGNvZGUgdG8NCisgICAgLy8gcHJldmVudCB0aGUgQyBjb21waWxl
ciBmcm9tIHVzaW5nIHRoZSBkZWZpbml0aW9uIHRvIG9wdGltaXplIG91dCB0aGUgbnVsbCBjaGVj
ay4NCisgICAgYXNtKA0KKyAgICAgICAgIm1vdiAlMSwgJTAiDQorICAgICAgICA6ICI9ciIgKHJl
c3VsdCkNCisgICAgICAgIDogInIiIChmdW5jdGlvblBvaW50ZXIpDQorICAgICk7DQorICAgIHJl
dHVybiAhcmVzdWx0Ow0KK30NCisNCit9DQorDQordXNpbmcgV1RGOjppc051bGxGdW5jdGlvblBv
aW50ZXI7DQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2Vi
cnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAJKHJl
dmlzaW9uIDIxNTQwMCkNCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9s
aWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtMzcsNiAr
MzcsNyBAQA0KICNpbmNsdWRlIDx3ZWJydGMvc2RrL29iamMvRnJhbWV3b3JrL0NsYXNzZXMvdmlk
ZW90b29sYm94dmlkZW9jb2RlY2ZhY3RvcnkuaD4NCiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+
DQogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPg0KKyNpbmNsdWRlIDx3dGYvZGFyd2lu
L1dlYWtMaW5raW5nLmg+DQogI2VuZGlmDQogDQogbmFtZXNwYWNlIFdlYkNvcmUgew0KQEAgLTIw
MywyNiArMjA0LDEyIEBAIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlBlZXJDb25uZWN0aW8N
CiAgICAgcmV0dXJuIGNyZWF0ZUFjdHVhbFBlZXJDb25uZWN0aW9uKG9ic2VydmVyLCBXVEZNb3Zl
KHBvcnRBbGxvY2F0b3IpKTsNCiB9DQogDQotc3RhdGljIGlubGluZSBib29sIGlzTnVsbEZ1bmN0
aW9uUG9pbnRlcih2b2lkKiBmdW5jdGlvblBvaW50ZXIpDQotew0KLSAgICB2b2lkKiByZXN1bHQ7
DQotICAgIGFzbSgNCi0gICAgICAgICJtb3YgJTEsICUwIg0KLSAgICAgICAgOiAiPXIiIChyZXN1
bHQpDQotICAgICAgICA6ICJyIiAoZnVuY3Rpb25Qb2ludGVyKQ0KLSAgICApOw0KLSAgICByZXR1
cm4gIXJlc3VsdDsNCi19DQotDQogI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpDQogDQogYm9vbCBM
aWJXZWJSVENQcm92aWRlcjo6d2ViUlRDQXZhaWxhYmxlKCkNCiB7DQogI2lmIFVTRShMSUJXRUJS
VEMpDQotICAgIHN0YXRpYyBib29sIGF2YWlsYWJsZSA9IFtdIHsNCi0gICAgICAgIHJldHVybiAh
aXNOdWxsRnVuY3Rpb25Qb2ludGVyKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHJ0Yzo6TG9nTWVz
c2FnZTo6TG9nVG9EZWJ1ZykpOw0KLSAgICB9KCk7DQotICAgIHJldHVybiBhdmFpbGFibGU7DQor
ICAgIHJldHVybiAhaXNOdWxsRnVuY3Rpb25Qb2ludGVyKHJ0Yzo6TG9nTWVzc2FnZTo6TG9nVG9E
ZWJ1Zyk7DQogI2Vsc2UNCiAgICAgcmV0dXJuIHRydWU7DQogI2VuZGlmDQpJbmRleDogU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckNvY29hLmNwcA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2Nv
YS5jcHAJKHJldmlzaW9uIDIxNTQwMCkNCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFz
c2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwCSh3
b3JraW5nIGNvcHkpDQpAQCAtMzEsNiArMzEsNyBAQA0KICNpbmNsdWRlICJDb3JlUHJlZGljdGlv
blNQSS5oIg0KICNpbmNsdWRlICJMb2dnaW5nLmgiDQogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ry
b3llZC5oPg0KKyNpbmNsdWRlIDx3dGYvZGFyd2luL1dlYWtMaW5raW5nLmg+DQogDQogbmFtZXNw
YWNlIFdlYktpdCB7DQogDQpAQCAtNzIsMjAgKzczLDYgQEAgU3RyaW5nIFJlc291cmNlTG9hZFN0
YXRpc3RpY3NDbGFzc2lmaWVyQw0KICAgICByZXR1cm4gU3RyaW5nKHJlc291cmNlVXJsU3RyaW5n
LmdldCgpKTsNCiB9DQogDQotc3RhdGljIGlubGluZSBib29sIGlzTnVsbEZ1bmN0aW9uUG9pbnRl
cih2b2lkKiBmdW5jdGlvblBvaW50ZXIpDQotew0KLSAgICB2b2lkKiByZXN1bHQ7DQotICAgIC8v
IFRoZSBDIGNvbXBpbGVyIG1heSB0YWtlIGFkdmFudGFnZSBvZiB0aGUgZmFjdCB0aGF0IGJ5IGRl
ZmluaXRpb24sIGZ1bmN0aW9uIHBvaW50ZXJzIGNhbm5vdCBiZQ0KLSAgICAvLyBudWxsLiBXaGVu
IHdlYWstbGlua2luZyBhIGxpYnJhcnksIGZ1bmN0aW9uIHBvaW50ZXJzIGNhbiBiZSBudWxsLiBX
ZSB1c2Ugbm9uLUMgY29kZSB0bw0KLSAgICAvLyBwcmV2ZW50IHRoZSBDIGNvbXBpbGVyIGZyb20g
dXNpbmcgdGhlIGRlZmluaXRpb24gdG8gb3B0aW1pemUgb3V0IHRoZSBudWxsIGNoZWNrLg0KLSAg
ICBhc20oDQotICAgICAgICAibW92ICUxLCAlMCINCi0gICAgICAgIDogIj1yIiAocmVzdWx0KQ0K
LSAgICAgICAgOiAiciIgKGZ1bmN0aW9uUG9pbnRlcikNCi0gICAgKTsNCi0gICAgcmV0dXJuICFy
ZXN1bHQ7DQotfQ0KLQ0KIGJvb2wgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2Nv
YTo6Y2FuVXNlQ29yZVByZWRpY3Rpb24oKQ0KIHsNCiAgICAgaWYgKG1faGF2ZUxvYWRlZE1vZGVs
KQ0KQEAgLTk0LDcgKzgxLDcgQEAgYm9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckNvYw0KICAgICBpZiAoIW1fdXNlQ29yZVByZWRpY3Rpb24pDQogICAgICAgICByZXR1cm4gZmFs
c2U7DQogDQotICAgIGlmIChpc051bGxGdW5jdGlvblBvaW50ZXIocmVpbnRlcnByZXRfY2FzdDx2
b2lkKj4oc3ZtX2xvYWRfbW9kZWwpKSkgew0KKyAgICBpZiAoaXNOdWxsRnVuY3Rpb25Qb2ludGVy
KHN2bV9sb2FkX21vZGVsKSkgew0KICAgICAgICAgbV91c2VDb3JlUHJlZGljdGlvbiA9IGZhbHNl
Ow0KICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICB9DQpJbmRleDogVG9vbHMvVGVzdFdlYktp
dEFQSS9Db25maWd1cmF0aW9ucy9UZXN0V1RGLnhjY29uZmlnDQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gVG9v
bHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9UZXN0V1RGLnhjY29uZmlnCShyZXZpc2lv
biAyMTU0MDApDQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9UZXN0V1RG
LnhjY29uZmlnCSh3b3JraW5nIGNvcHkpDQpAQCAtMjQsNiArMjQsOSBAQA0KICNpbmNsdWRlICJG
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyINCiANCiBQUk9EVUNUX05BTUUgPSBUZXN0V1RGOw0KKw0K
K0xJQlJBUllfU0VBUkNIX1BBVEhTID0gJChQUk9KRUNUX0RJUikvVGVzdHMvV1RGL2RhcndpbiAk
KGluaGVydGllZCk7DQorDQogR0NDX0VOQUJMRV9PQkpDX0VYQ0VQVElPTlMgPSBZRVM7DQogDQog
VU5FWFBPUlRFRF9TWU1CT0xfTERGTEFHUyA9IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9f
Wk43dGVzdGluZzRUZXN0MTZUZWFyRG93blRlc3RDYXNlRXYgLVdsLC11bmV4cG9ydGVkX3N5bWJv
bCAtV2wsX19aTjd0ZXN0aW5nNFRlc3QxM1NldFVwVGVzdENhc2VFdg0KSW5kZXg6IFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qDQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09DQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIxNTQwMCkNCisrKyBUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQ0K
QEAgLTExNCw2ICsxMTQsNyBAQA0KIAkJMzdBNzA5QUYxRTNFQTk3RTAwQ0E1OTY5IC8qIEJ1bmRs
ZVJhbmdlSGFuZGxlUGx1Z0luLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzdBNzA5QUExRTNFQTc5MDAwQ0E1OTY5IC8qIEJ1bmRsZVJhbmdlSGFuZGxl
UGx1Z0luLm1tICovOyB9Ow0KIAkJMzdCNDdFMzAxRDY0RTdDQTAwNUY0RUZGIC8qIFdLT2JqZWN0
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdCNDdF
MkUxRDY0RTdDQTAwNUY0RUZGIC8qIFdLT2JqZWN0Lm1tICovOyB9Ow0KIAkJMzdCQ0E2MUMxQjU5
NkJBOTAwMjAxMkNBIC8qIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNJbk5ld1dpbmRvd0FjdGlvbnMu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0JDQTYx
QjFCNTk2QkE5MDAyMDEyQ0EgLyogU2hvdWxkT3BlbkV4dGVybmFsVVJMc0luTmV3V2luZG93QWN0
aW9ucy5tbSAqLzsgfTsNCisJCTM3QzdDQzJEMUVBNDE0NkIwMDdCRDk1NiAvKiBXZWFrTGlua2lu
Zy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0M3
Q0MyQjFFQTQxNDZCMDA3QkQ5NTYgLyogV2Vha0xpbmtpbmcuY3BwICovOyB9Ow0KIAkJMzdEMzZF
RDcxQUY0MkVDRDAwQkFGNUQ5IC8qIExvYWRBbHRlcm5hdGVIVE1MU3RyaW5nLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdEMzZFRDYxQUY0MkVDRDAw
QkFGNUQ5IC8qIExvYWRBbHRlcm5hdGVIVE1MU3RyaW5nLm1tICovOyB9Ow0KIAkJMzdEQzY3OTEx
NDBEN0Q3NjAwQUJDQ0RCIC8qIERPTVJhbmdlT2ZTdHJpbmcuaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0RDNjc4RjE0MEQ3RDNBMDBB
QkNDREIgLyogRE9NUmFuZ2VPZlN0cmluZy5odG1sICovOyB9Ow0KIAkJMzdFMTA2NEMxNjk3Njgx
ODAwQjc4QkQwIC8qIERPTUhUTUxUYWJsZUNlbGxFbGVtZW50Q2VsbEFib3ZlLmh0bWwgaW4gQ29w
eSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdFMTA2NEIx
Njk3NjdGNzAwQjc4QkQwIC8qIERPTUhUTUxUYWJsZUNlbGxFbGVtZW50Q2VsbEFib3ZlLmh0bWwg
Ki87IH07DQpAQCAtMTAxNSw2ICsxMDE2LDExIEBADQogCQkzN0I0N0UyRTFENjRFN0NBMDA1RjRF
RkYgLyogV0tPYmplY3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBXS09iamVjdC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsNCiAJCTM3QkNBNjFCMUI1
OTZCQTkwMDIwMTJDQSAvKiBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzSW5OZXdXaW5kb3dBY3Rpb25z
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2hvdWxkT3BlbkV4
dGVybmFsVVJMc0luTmV3V2luZG93QWN0aW9ucy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsNCiAJCTM3Qzc4NERFMTk3QzhGMkUwMDEwQTQ5NiAvKiBSZW5kZXJlZEltYWdlRnJvbURPTU5v
ZGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSZW5kZXJlZElt
YWdlRnJvbURPTU5vZGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07DQorCQkzN0M3Q0My
QjFFQTQxNDZCMDA3QkQ5NTYgLyogV2Vha0xpbmtpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gV2Vha0xpbmtpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9Ow0KKwkJMzdDN0NDMkUxRUE0MTcwMjAwN0JEOTU2IC8qIGxpYlRlc3RXVEZBbHdheXNNaXNz
aW5nLW1hY09TLXYyLnRiZCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9ICJzb3VyY2Vjb2RlLnRleHQtYmFzZWQtZHlsaWItZGVmaW5pdGlvbiI7IHBhdGgg
PSAibGliVGVzdFdURkFsd2F5c01pc3NpbmctbWFjT1MtdjIudGJkIjsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsNCisJCTM3QzdDQzMzMUVBNDFFQzgwMDdCRDk1NiAvKiBsaWJUZXN0V1RGQWx3
YXlzTWlzc2luZy1pT1MtdjIudGJkICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gInNvdXJjZWNvZGUudGV4dC1iYXNlZC1k
eWxpYi1kZWZpbml0aW9uIjsgcGF0aCA9ICJsaWJUZXN0V1RGQWx3YXlzTWlzc2luZy1pT1MtdjIu
dGJkIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsNCisJCTM3QzdDQzM0MUVBNDFFQzgwMDdC
RDk1NiAvKiBsaWJUZXN0V1RGQWx3YXlzTWlzc2luZy1pT1MudGJkICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gInNvdXJj
ZWNvZGUudGV4dC1iYXNlZC1keWxpYi1kZWZpbml0aW9uIjsgcGF0aCA9ICJsaWJUZXN0V1RGQWx3
YXlzTWlzc2luZy1pT1MudGJkIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsNCisJCTM3QzdD
QzM1MUVBNDFFQzgwMDdCRDk1NiAvKiBsaWJUZXN0V1RGQWx3YXlzTWlzc2luZy1tYWNPUy50YmQg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSAic291cmNlY29kZS50ZXh0LWJhc2VkLWR5bGliLWRlZmluaXRpb24iOyBwYXRo
ID0gImxpYlRlc3RXVEZBbHdheXNNaXNzaW5nLW1hY09TLnRiZCI7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07DQogCQkzN0QzNkVENjFBRjQyRUNEMDBCQUY1RDkgLyogTG9hZEFsdGVybmF0ZUhU
TUxTdHJpbmcubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb2Fk
QWx0ZXJuYXRlSFRNTFN0cmluZy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsNCiAJCTM3
REM2NzhCMTQwRDdDNTAwMEFCQ0NEQiAvKiBET01SYW5nZU9mU3RyaW5nLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NUmFuZ2VPZlN0cmluZy5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsNCiAJCTM3REM2NzhGMTQwRDdEM0EwMEFCQ0NEQiAvKiBET01S
YW5nZU9mU3RyaW5nLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBET01SYW5nZU9m
U3RyaW5nLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07DQpAQCAtMTgxOSw3ICsxODI1
LDEyIEBADQogCQk3Q0JCQTA3NTE5QkI4QTA5MDBCQkYwMjUgLyogZGFyd2luICovID0gew0KIAkJ
CWlzYSA9IFBCWEdyb3VwOw0KIAkJCWNoaWxkcmVuID0gKA0KKwkJCQkzN0M3Q0MzMzFFQTQxRUM4
MDA3QkQ5NTYgLyogbGliVGVzdFdURkFsd2F5c01pc3NpbmctaU9TLXYyLnRiZCAqLywNCisJCQkJ
MzdDN0NDMzQxRUE0MUVDODAwN0JEOTU2IC8qIGxpYlRlc3RXVEZBbHdheXNNaXNzaW5nLWlPUy50
YmQgKi8sDQorCQkJCTM3QzdDQzJFMUVBNDE3MDIwMDdCRDk1NiAvKiBsaWJUZXN0V1RGQWx3YXlz
TWlzc2luZy1tYWNPUy12Mi50YmQgKi8sDQorCQkJCTM3QzdDQzM1MUVBNDFFQzgwMDdCRDk1NiAv
KiBsaWJUZXN0V1RGQWx3YXlzTWlzc2luZy1tYWNPUy50YmQgKi8sDQogCQkJCTdDQkJBMDc2MTlC
QjhBOTEwMEJCRjAyNSAvKiBPU09iamVjdFB0ci5jcHAgKi8sDQorCQkJCTM3QzdDQzJCMUVBNDE0
NkIwMDdCRDk1NiAvKiBXZWFrTGlua2luZy5jcHAgKi8sDQogCQkJKTsNCiAJCQlwYXRoID0gZGFy
d2luOw0KIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7DQpAQCAtMjY5NCw2ICsyNzA1LDcgQEAN
CiAJCQkJMUEzNTI0QUUxRDYzQTRGQjAwMzE3MjlCIC8qIFNjb3BlLmNwcCBpbiBTb3VyY2VzICov
LA0KIAkJCQk3QzgzREYxMjFEMEE1OTBDMDBGRUJDRjMgLyogU2NvcGVkTGFtYmRhLmNwcCBpbiBT
b3VyY2VzICovLA0KIAkJCQk3QzgzREYzRDFEMEE1OTBDMDBGRUJDRjMgLyogU2V0Rm9yU2NvcGUu
Y3BwIGluIFNvdXJjZXMgKi8sDQorCQkJCTM3QzdDQzJEMUVBNDE0NkIwMDdCRDk1NiAvKiBXZWFr
TGlua2luZy5jcHAgaW4gU291cmNlcyAqLywNCiAJCQkJN0M4M0RGMkExRDBBNTkwQzAwRkVCQ0Yz
IC8qIFNIQTEuY3BwIGluIFNvdXJjZXMgKi8sDQogCQkJCTdDODNERjMyMUQwQTU5MEMwMEZFQkNG
MyAvKiBTdHJpbmdCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovLA0KIAkJCQk3Q0Q0QzI2RTFFMkMw
RTZFMDA5Mjk0NzAgLyogU3RyaW5nQ29uY2F0ZW5hdGUuY3BwIGluIFNvdXJjZXMgKi8sDQpJbmRl
eDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvZGFyd2luL1dlYWtMaW5raW5nLmNwcA0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQ0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL2Rhcndpbi9XZWFr
TGlua2luZy5jcHAJKG5vbmV4aXN0ZW50KQ0KKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V1RGL2Rhcndpbi9XZWFrTGlua2luZy5jcHAJKHdvcmtpbmcgY29weSkNCkBAIC0wLDAgKzEsNjQg
QEANCisvKg0KKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuDQorICoNCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQNCisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMNCisgKiBhcmUgbWV0Og0K
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0DQorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0DQorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQ0KKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uDQorICoNCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnDQorICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sDQorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUg0KKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUw0KKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1INCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRg0KKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElODQorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkNCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GDQorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KKyAqLw0KKw0KKyNpbmNsdWRlICJjb25m
aWcuaCINCisNCisjaWYgT1MoREFSV0lOKQ0KKw0KKyNpbmNsdWRlIDx3dGYvZGFyd2luL1dlYWtM
aW5raW5nLmg+DQorDQorI2lmIFBMQVRGT1JNKElPUykNCisNCisjaWYgX19JUEhPTkVfT1NfVkVS
U0lPTl9NQVhfQUxMT1dFRCA+PSAxMDEwMDANCithc20oIi5saW5rZXJfb3B0aW9uIFwiLWxUZXN0
V1RGQWx3YXlzTWlzc2luZy1pT1MtdjJcIiIpOw0KKyNlbHNlDQorYXNtKCIubGlua2VyX29wdGlv
biBcIi1sVGVzdFdURkFsd2F5c01pc3NpbmctaU9TXCIiKTsNCisjZW5kaWYNCisNCisjZWxzZQ0K
Kw0KKyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTAxMjAwDQorYXNtKCIu
bGlua2VyX29wdGlvbiBcIi1sVGVzdFdURkFsd2F5c01pc3NpbmctbWFjT1MtdjJcIiIpOw0KKyNl
bHNlDQorYXNtKCIubGlua2VyX29wdGlvbiBcIi1sVGVzdFdURkFsd2F5c01pc3NpbmctbWFjT1Nc
IiIpOw0KKyNlbmRpZg0KKw0KKyNlbmRpZg0KKw0KK2V4dGVybiAiQyIgew0KKyAgICBleHRlcm4g
dm9pZCBUZXN0V1RGQWx3YXlzTWlzc2luZyh2b2lkKSBfX2F0dHJpYnV0ZV9fKCh3ZWFrX2ltcG9y
dCkpOw0KK30NCisNCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7DQorDQorVEVTVChXZWFrTGlu
a2luZywgSXNOdWxsRnVuY3Rpb25Qb2ludGVyKQ0KK3sNCisgICAgRVhQRUNUX1RSVUUoaXNOdWxs
RnVuY3Rpb25Qb2ludGVyKFRlc3RXVEZBbHdheXNNaXNzaW5nKSk7DQorICAgIEVYUEVDVF9GQUxT
RShpc051bGxGdW5jdGlvblBvaW50ZXIob3BlbikpOw0KK30NCisNCit9DQorDQorI2VuZGlmDQpJ
bmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvZGFyd2luL2xpYlRlc3RXVEZBbHdh
eXNNaXNzaW5nLWlPUy12Mi50YmQNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dURi9kYXJ3aW4vbGliVGVzdFdURkFsd2F5c01pc3NpbmctaU9TLXYyLnRiZAkobm9u
ZXhpc3RlbnQpDQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvZGFyd2luL2xpYlRl
c3RXVEZBbHdheXNNaXNzaW5nLWlPUy12Mi50YmQJKHdvcmtpbmcgY29weSkNCkBAIC0wLDAgKzEs
MTAgQEANCistLS0gIXRhcGktdGJkLXYyDQorYXJjaHM6IFsgaTM4NiwgeDg2XzY0LCBhcm12Nywg
YXJtdjdzLCBhcm02NCBdDQordXVpZHM6IFsgJ2kzODY6IDZFQTgxQTBBLUQ4M0YtNDA4MS1CM0VB
LTkwNDE5QzE1NzNCQTg3JywgJ3g4Nl82NDogMjhFODFFMTEtMjc5NC00MTkyLUE0NkEtMDZDNzND
OUJBRkI5JywgJ2FybXY3OiAwMEM2NzM5Ny1GN0EyLTQzMUEtOUYyNy1ENEY2MTEwNkZDMUYnLCAn
YXJtdjdzOiBGOUMxNzJGQy1BMTEyLTQ4OEMtODg5Qi1CNzBGQTIwQUU4MjcnLCAnYXJtNjQ6IDNG
REIxMkZCLTBCRjItNDA1Qy1CMjFBLTJEM0QyRDE4RUI1RicgXQ0KK3BsYXRmb3JtOiBpb3MNCitp
bnN0YWxsLW5hbWU6IC91c3IvbG9jYWwvbGliL2xpYlRlc3RXVEZBbHdheXNNaXNzaW5nLmR5bGli
DQorb2JqYy1jb25zdHJhaW50OiBub25lDQorZXhwb3J0czoNCisgIC0gYXJjaHM6IFsgaTM4Niwg
eDg2XzY0LCBhcm12NywgYXJtdjdzLCBhcm02NCBdDQorICAgIHN5bWJvbHM6IFsgX1Rlc3RXVEZB
bHdheXNNaXNzaW5nIF0NCisuLi4NCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dU
Ri9kYXJ3aW4vbGliVGVzdFdURkFsd2F5c01pc3NpbmctaU9TLnRiZA0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0t
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL2Rhcndpbi9saWJUZXN0V1RGQWx3YXlzTWlz
c2luZy1pT1MudGJkCShub25leGlzdGVudCkNCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9kYXJ3aW4vbGliVGVzdFdURkFsd2F5c01pc3NpbmctaU9TLnRiZAkod29ya2luZyBjb3B5
KQ0KQEAgLTAsMCArMSw5IEBADQorLS0tDQorYXJjaHM6IFsgaTM4NiwgeDg2XzY0LCBhcm12Nywg
YXJtdjdzLCBhcm02NCBdDQorcGxhdGZvcm06IGlvcw0KK2luc3RhbGwtbmFtZTogL3Vzci9sb2Nh
bC9saWIvbGliVGVzdFdURkFsd2F5c01pc3NpbmcuZHlsaWINCitvYmpjLWNvbnN0cmFpbnQ6IG5v
bmUNCitleHBvcnRzOg0KKyAgLSBhcmNoczogWyBpMzg2LCB4ODZfNjQsIGFybXY3LCBhcm12N3Ms
IGFybTY0IF0NCisgICAgc3ltYm9sczogWyBfVGVzdFdURkFsd2F5c01pc3NpbmcgXQ0KKy4uLg0K
SW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL2Rhcndpbi9saWJUZXN0V1RGQWx3
YXlzTWlzc2luZy1tYWNPUy12Mi50YmQNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9kYXJ3aW4vbGliVGVzdFdURkFsd2F5c01pc3NpbmctbWFjT1MtdjIudGJk
CShub25leGlzdGVudCkNCisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9kYXJ3aW4v
bGliVGVzdFdURkFsd2F5c01pc3NpbmctbWFjT1MtdjIudGJkCSh3b3JraW5nIGNvcHkpDQpAQCAt
MCwwICsxLDEwIEBADQorLS0tICF0YXBpLXRiZC12Mg0KK2FyY2hzOiBbIGkzODYsIHg4Nl82NCBd
DQordXVpZHM6IFsgJ2kzODY6IDZFQTgxQTBBLUQ4M0YtNDA4MS1CM0VBLTkwNDE5QzE1NzNCQTg3
JywgJ3g4Nl82NDogMjhFODFFMTEtMjc5NC00MTkyLUE0NkEtMDZDNzNDOUJBRkI5JyBdDQorcGxh
dGZvcm06IG1hY29zeA0KK2luc3RhbGwtbmFtZTogL3Vzci9sb2NhbC9saWIvbGliVGVzdFdURkFs
d2F5c01pc3NpbmcuZHlsaWINCitvYmpjLWNvbnN0cmFpbnQ6IG5vbmUNCitleHBvcnRzOg0KKyAg
LSBhcmNoczogWyBpMzg2LCB4ODZfNjQgXQ0KKyAgICBzeW1ib2xzOiBbIF9UZXN0V1RGQWx3YXlz
TWlzc2luZyBdDQorLi4uDQpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvZGFy
d2luL2xpYlRlc3RXVEZBbHdheXNNaXNzaW5nLW1hY09TLnRiZA0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFRv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL2Rhcndpbi9saWJUZXN0V1RGQWx3YXlzTWlzc2lu
Zy1tYWNPUy50YmQJKG5vbmV4aXN0ZW50KQ0KKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V1RGL2Rhcndpbi9saWJUZXN0V1RGQWx3YXlzTWlzc2luZy1tYWNPUy50YmQJKHdvcmtpbmcgY29w
eSkNCkBAIC0wLDAgKzEsOSBAQA0KKy0tLQ0KK2FyY2hzOiBbIGkzODYsIHg4Nl82NCBdDQorcGxh
dGZvcm06IG1hY29zeA0KK2luc3RhbGwtbmFtZTogL3Vzci9sb2NhbC9saWIvbGliVGVzdFdURkFs
d2F5c01pc3NpbmcuZHlsaWINCitvYmpjLWNvbnN0cmFpbnQ6IG5vbmUNCitleHBvcnRzOg0KKyAg
LSBhcmNoczogWyBpMzg2LCB4ODZfNjQgXQ0KKyAgICBzeW1ib2xzOiBbIF9UZXN0V1RGQWx3YXlz
TWlzc2luZyBdDQorLi4uDQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>307244</attachid>
            <date>2017-04-16 15:56:30 -0700</date>
            <delta_ts>2017-04-16 17:07:58 -0700</delta_ts>
            <desc>Patch for EWS</desc>
            <filename>file_170892.txt</filename>
            <type>text/plain</type>
            <size>19766</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oNCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0NCi0tLSBTb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lv
biAyMTU0MDApDQorKysgU291cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
d29ya2luZyBjb3B5KQ0KQEAgLTE0MCw2ICsxNDAsNyBAQA0KIAkJMkNERUQwRUYxODExNUMzODAw
NERCQTcwIC8qIFJ1bkxvb3BDRi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyQ0RFRDBFRTE4MTE1QzM4MDA0REJBNzAgLyogUnVuTG9vcENGLmNwcCAq
LzsgfTsNCiAJCTJDREVEMEYzMTgxMTVDODUwMDREQkE3MCAvKiBSdW5Mb29wLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJDREVEMEYxMTgxMTVDODUw
MDREQkE3MCAvKiBSdW5Mb29wLmNwcCAqLzsgfTsNCiAJCTJDREVEMEY0MTgxMTVDODUwMDREQkE3
MCAvKiBSdW5Mb29wLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyQ0RFRDBGMjE4MTE1Qzg1MDA0REJBNzAgLyogUnVuTG9vcC5oICovOyB9Ow0KKwkJMzdD
N0NDMkExRUE0MEE3MzAwN0JEOTU2IC8qIFdlYWtMaW5raW5nLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0M3Q0MyOTFFQTQwQTczMDA3QkQ5NTYgLyog
V2Vha0xpbmtpbmcuaCAqLzsgfTsNCiAJCTQzMEI0Nzg5MUFBQUFDMUEwMDEyMjNEQSAvKiBTdHJp
bmdDb21tb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQzMEI0Nzg3MUFBQUFDMUEwMDEyMjNEQSAvKiBTdHJpbmdDb21tb24uaCAqLzsgfTsNCiAJCTRC
MjY4MEREOUI5NzQ0MDI4OTlFRDU3MiAvKiBJbmRleGVkQ29udGFpbmVySXRlcmF0b3IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlDNjdDNTQyNTg5MzQ4
RTI4NUI0OTY5OSAvKiBJbmRleGVkQ29udGFpbmVySXRlcmF0b3IuaCAqLzsgfTsNCiAJCTUxM0Ux
NzBCMUNEN0Q1QkYwMEUzNjUwQiAvKiBMb2dnaW5nQWNjdW11bGF0b3IuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxM0UxNzBBMUNEN0Q1QkYwMEUzNjUw
QiAvKiBMb2dnaW5nQWNjdW11bGF0b3IuaCAqLzsgfTsNCkBAIC01MzksNiArNTQwLDcgQEANCiAJ
CTJDREVEMEYxMTgxMTVDODUwMDREQkE3MCAvKiBSdW5Mb29wLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJ1bkxvb3AuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9Ow0KIAkJMkNERUQwRjIxODExNUM4NTAwNERCQTcwIC8qIFJ1bkxvb3AuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUnVuTG9vcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9Ow0KIAkJMzEzN0UxRDdEQkQ4NEFDMzhGQUU0RDM0IC8qIEluZGV4U2V0LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluZGV4U2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07DQorCQkzN0M3Q0MyOTFFQTQwQTczMDA3QkQ5NTYgLyogV2Vha0xpbmtpbmcuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vha0xpbmtpbmcuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsNCiAJCTQzMEI0Nzg3MUFBQUFDMUEwMDEyMjNEQSAvKiBTdHJpbmdDb21t
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RyaW5nQ29tbW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07DQogCQk1MTNFMTcwQTFDRDdENUJGMDBFMzY1MEIgLyog
TG9nZ2luZ0FjY3VtdWxhdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExv
Z2dpbmdBY2N1bXVsYXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Ow0KIAkJNTE1Rjc5
NEIxQ0ZDOUY0QTAwQ0NFRDkzIC8qIENyb3NzVGhyZWFkQ29waWVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENyb3NzVGhyZWFkQ29waWVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsNCkBAIC04NjIsNiArODY0LDE0IEBADQogCQkJcGF0aCA9IGNmOw0K
IAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7DQogCQl9Ow0KKwkJMzdDN0NDMjgxRUE0MEE1NDAw
N0JEOTU2IC8qIGRhcndpbiAqLyA9IHsNCisJCQlpc2EgPSBQQlhHcm91cDsNCisJCQljaGlsZHJl
biA9ICgNCisJCQkJMzdDN0NDMjkxRUE0MEE3MzAwN0JEOTU2IC8qIFdlYWtMaW5raW5nLmggKi8s
DQorCQkJKTsNCisJCQlwYXRoID0gZGFyd2luOw0KKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
DQorCQl9Ow0KIAkJNUQyNDdCNTcxNDY4OUI4NjAwRTc4Qjc2ID0gew0KIAkJCWlzYSA9IFBCWEdy
b3VwOw0KIAkJCWNoaWxkcmVuID0gKA0KQEAgLTkzMiw2ICs5NDIsNyBAQA0KIAkJCWNoaWxkcmVu
ID0gKA0KIAkJCQkyQ0RFRDBGMDE4MTE1QzNGMDA0REJBNzAgLyogY2YgKi8sDQogCQkJCUU0QTBB
RDNCMUE5NjI1MTkwMDUzNkRGNiAvKiBjb2NvYSAqLywNCisJCQkJMzdDN0NDMjgxRUE0MEE1NDAw
N0JEOTU2IC8qIGRhcndpbiAqLywNCiAJCQkJQThBNDcyODExNTFBODI1QTAwNDEyM0ZGIC8qIGR0
b2EgKi8sDQogCQkJCTFGQTQ3Qzg3MTUyNTAyREEwMDU2OEQxQiAvKiBpb3MgKi8sDQogCQkJCUE4
QTQ3MkM0MTUxQTgyNUEwMDQxMjNGRiAvKiBtYWMgKi8sDQpAQCAtMTQ2Niw2ICsxNDc3LDcgQEAN
CiAJCQkJQThBNDczQTUxNTFBODI1QjAwNDEyM0ZGIC8qIERlcXVlLmggaW4gSGVhZGVycyAqLywN
CiAJCQkJQThBNDczQTYxNTFBODI1QjAwNDEyM0ZGIC8qIERpc2FsbG93Q1R5cGUuaCBpbiBIZWFk
ZXJzICovLA0KIAkJCQlBOEE0NzNBRjE1MUE4MjVCMDA0MTIzRkYgLyogZGl5LWZwLmggaW4gSGVh
ZGVycyAqLywNCisJCQkJMzdDN0NDMkExRUE0MEE3MzAwN0JEOTU2IC8qIFdlYWtMaW5raW5nLmgg
aW4gSGVhZGVycyAqLywNCiAJCQkJMEY0NTcwNDMxQkU1QjU4RjAwNjJBNjI5IC8qIERvbWluYXRv
cnMuaCBpbiBIZWFkZXJzICovLA0KIAkJCQlBOEE0NzNCMTE1MUE4MjVCMDA0MTIzRkYgLyogZG91
YmxlLWNvbnZlcnNpb24uaCBpbiBIZWFkZXJzICovLA0KIAkJCQlBOEE0NzNCMjE1MUE4MjVCMDA0
MTIzRkYgLyogZG91YmxlLmggaW4gSGVhZGVycyAqLywNCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9k
YXJ3aW4vV2Vha0xpbmtpbmcuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XVEYvd3RmL2Rhcndp
bi9XZWFrTGlua2luZy5oCShub25leGlzdGVudCkNCisrKyBTb3VyY2UvV1RGL3d0Zi9kYXJ3aW4v
V2Vha0xpbmtpbmcuaAkod29ya2luZyBjb3B5KQ0KQEAgLTAsMCArMSw0NyBAQA0KKy8qDQorICog
Q29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCisgKg0K
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dA0KKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucw0KKyAqIGFyZSBtZXQ6DQorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQN
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuDQorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQNCisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlDQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4NCisgKg0KKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycNCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywNCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSDQorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTDQorICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUg0K
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GDQorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTDQorICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4N
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQ0KKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YNCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuDQorICovDQorDQorI3ByYWdtYSBvbmNlDQorDQorbmFtZXNwYWNl
IFdURiB7DQorDQordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgPSBzdGQ6OmVuYWJsZV9p
Zl90PHN0ZDo6aXNfZnVuY3Rpb248VD46OnZhbHVlPj4NCitpbmxpbmUgYm9vbCBpc051bGxGdW5j
dGlvblBvaW50ZXIoVCogZnVuY3Rpb25Qb2ludGVyKQ0KK3sNCisgICAgdm9pZCogcmVzdWx0Ow0K
KyAgICAvLyBUaGUgQyBjb21waWxlciBtYXkgdGFrZSBhZHZhbnRhZ2Ugb2YgdGhlIGZhY3QgdGhh
dCBieSBkZWZpbml0aW9uLCBmdW5jdGlvbiBwb2ludGVycyBjYW5ub3QgYmUNCisgICAgLy8gbnVs
bC4gV2hlbiB3ZWFrLWxpbmtpbmcgYSBsaWJyYXJ5LCBmdW5jdGlvbiBwb2ludGVycyBjYW4gYmUg
bnVsbC4gV2UgdXNlIG5vbi1DIGNvZGUgdG8NCisgICAgLy8gcHJldmVudCB0aGUgQyBjb21waWxl
ciBmcm9tIHVzaW5nIHRoZSBkZWZpbml0aW9uIHRvIG9wdGltaXplIG91dCB0aGUgbnVsbCBjaGVj
ay4NCisgICAgYXNtKA0KKyAgICAgICAgIm1vdiAlMSwgJTAiDQorICAgICAgICA6ICI9ciIgKHJl
c3VsdCkNCisgICAgICAgIDogInIiIChmdW5jdGlvblBvaW50ZXIpDQorICAgICk7DQorICAgIHJl
dHVybiAhcmVzdWx0Ow0KK30NCisNCit9DQorDQordXNpbmcgV1RGOjppc051bGxGdW5jdGlvblBv
aW50ZXI7DQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2Vi
cnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAJKHJl
dmlzaW9uIDIxNTQwMCkNCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9s
aWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtMzcsNiAr
MzcsNyBAQA0KICNpbmNsdWRlIDx3ZWJydGMvc2RrL29iamMvRnJhbWV3b3JrL0NsYXNzZXMvdmlk
ZW90b29sYm94dmlkZW9jb2RlY2ZhY3RvcnkuaD4NCiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+
DQogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPg0KKyNpbmNsdWRlIDx3dGYvZGFyd2lu
L1dlYWtMaW5raW5nLmg+DQogI2VuZGlmDQogDQogbmFtZXNwYWNlIFdlYkNvcmUgew0KQEAgLTIw
MywyNiArMjA0LDEyIEBAIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlBlZXJDb25uZWN0aW8N
CiAgICAgcmV0dXJuIGNyZWF0ZUFjdHVhbFBlZXJDb25uZWN0aW9uKG9ic2VydmVyLCBXVEZNb3Zl
KHBvcnRBbGxvY2F0b3IpKTsNCiB9DQogDQotc3RhdGljIGlubGluZSBib29sIGlzTnVsbEZ1bmN0
aW9uUG9pbnRlcih2b2lkKiBmdW5jdGlvblBvaW50ZXIpDQotew0KLSAgICB2b2lkKiByZXN1bHQ7
DQotICAgIGFzbSgNCi0gICAgICAgICJtb3YgJTEsICUwIg0KLSAgICAgICAgOiAiPXIiIChyZXN1
bHQpDQotICAgICAgICA6ICJyIiAoZnVuY3Rpb25Qb2ludGVyKQ0KLSAgICApOw0KLSAgICByZXR1
cm4gIXJlc3VsdDsNCi19DQotDQogI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpDQogDQogYm9vbCBM
aWJXZWJSVENQcm92aWRlcjo6d2ViUlRDQXZhaWxhYmxlKCkNCiB7DQogI2lmIFVTRShMSUJXRUJS
VEMpDQotICAgIHN0YXRpYyBib29sIGF2YWlsYWJsZSA9IFtdIHsNCi0gICAgICAgIHJldHVybiAh
aXNOdWxsRnVuY3Rpb25Qb2ludGVyKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHJ0Yzo6TG9nTWVz
c2FnZTo6TG9nVG9EZWJ1ZykpOw0KLSAgICB9KCk7DQotICAgIHJldHVybiBhdmFpbGFibGU7DQor
ICAgIHJldHVybiAhaXNOdWxsRnVuY3Rpb25Qb2ludGVyKHJ0Yzo6TG9nTWVzc2FnZTo6TG9nVG9E
ZWJ1Zyk7DQogI2Vsc2UNCiAgICAgcmV0dXJuIHRydWU7DQogI2VuZGlmDQpJbmRleDogU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRTdGF0aXN0aWNz
Q2xhc3NpZmllckNvY29hLmNwcA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL2NsYXNzaWZpZXIvY29jb2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2Nv
YS5jcHAJKHJldmlzaW9uIDIxNTQwMCkNCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9jbGFz
c2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2EuY3BwCSh3
b3JraW5nIGNvcHkpDQpAQCAtMzEsNiArMzEsNyBAQA0KICNpbmNsdWRlICJDb3JlUHJlZGljdGlv
blNQSS5oIg0KICNpbmNsdWRlICJMb2dnaW5nLmgiDQogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ry
b3llZC5oPg0KKyNpbmNsdWRlIDx3dGYvZGFyd2luL1dlYWtMaW5raW5nLmg+DQogDQogbmFtZXNw
YWNlIFdlYktpdCB7DQogDQpAQCAtNzIsMjAgKzczLDYgQEAgU3RyaW5nIFJlc291cmNlTG9hZFN0
YXRpc3RpY3NDbGFzc2lmaWVyQw0KICAgICByZXR1cm4gU3RyaW5nKHJlc291cmNlVXJsU3RyaW5n
LmdldCgpKTsNCiB9DQogDQotc3RhdGljIGlubGluZSBib29sIGlzTnVsbEZ1bmN0aW9uUG9pbnRl
cih2b2lkKiBmdW5jdGlvblBvaW50ZXIpDQotew0KLSAgICB2b2lkKiByZXN1bHQ7DQotICAgIC8v
IFRoZSBDIGNvbXBpbGVyIG1heSB0YWtlIGFkdmFudGFnZSBvZiB0aGUgZmFjdCB0aGF0IGJ5IGRl
ZmluaXRpb24sIGZ1bmN0aW9uIHBvaW50ZXJzIGNhbm5vdCBiZQ0KLSAgICAvLyBudWxsLiBXaGVu
IHdlYWstbGlua2luZyBhIGxpYnJhcnksIGZ1bmN0aW9uIHBvaW50ZXJzIGNhbiBiZSBudWxsLiBX
ZSB1c2Ugbm9uLUMgY29kZSB0bw0KLSAgICAvLyBwcmV2ZW50IHRoZSBDIGNvbXBpbGVyIGZyb20g
dXNpbmcgdGhlIGRlZmluaXRpb24gdG8gb3B0aW1pemUgb3V0IHRoZSBudWxsIGNoZWNrLg0KLSAg
ICBhc20oDQotICAgICAgICAibW92ICUxLCAlMCINCi0gICAgICAgIDogIj1yIiAocmVzdWx0KQ0K
LSAgICAgICAgOiAiciIgKGZ1bmN0aW9uUG9pbnRlcikNCi0gICAgKTsNCi0gICAgcmV0dXJuICFy
ZXN1bHQ7DQotfQ0KLQ0KIGJvb2wgUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2Nv
YTo6Y2FuVXNlQ29yZVByZWRpY3Rpb24oKQ0KIHsNCiAgICAgaWYgKG1faGF2ZUxvYWRlZE1vZGVs
KQ0KQEAgLTk0LDcgKzgxLDcgQEAgYm9vbCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmll
ckNvYw0KICAgICBpZiAoIW1fdXNlQ29yZVByZWRpY3Rpb24pDQogICAgICAgICByZXR1cm4gZmFs
c2U7DQogDQotICAgIGlmIChpc051bGxGdW5jdGlvblBvaW50ZXIocmVpbnRlcnByZXRfY2FzdDx2
b2lkKj4oc3ZtX2xvYWRfbW9kZWwpKSkgew0KKyAgICBpZiAoaXNOdWxsRnVuY3Rpb25Qb2ludGVy
KHN2bV9sb2FkX21vZGVsKSkgew0KICAgICAgICAgbV91c2VDb3JlUHJlZGljdGlvbiA9IGZhbHNl
Ow0KICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICB9DQpJbmRleDogVG9vbHMvVGVzdFdlYktp
dEFQSS9Db25maWd1cmF0aW9ucy9UZXN0V1RGLnhjY29uZmlnDQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gVG9v
bHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9UZXN0V1RGLnhjY29uZmlnCShyZXZpc2lv
biAyMTU0MDApDQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9UZXN0V1RG
LnhjY29uZmlnCSh3b3JraW5nIGNvcHkpDQpAQCAtMjQsNiArMjQsOSBAQA0KICNpbmNsdWRlICJG
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyINCiANCiBQUk9EVUNUX05BTUUgPSBUZXN0V1RGOw0KKw0K
K0xJQlJBUllfU0VBUkNIX1BBVEhTID0gJChQUk9KRUNUX0RJUikvVGVzdHMvV1RGL2RhcndpbiAk
KGluaGVydGllZCk7DQorDQogR0NDX0VOQUJMRV9PQkpDX0VYQ0VQVElPTlMgPSBZRVM7DQogDQog
VU5FWFBPUlRFRF9TWU1CT0xfTERGTEFHUyA9IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9f
Wk43dGVzdGluZzRUZXN0MTZUZWFyRG93blRlc3RDYXNlRXYgLVdsLC11bmV4cG9ydGVkX3N5bWJv
bCAtV2wsX19aTjd0ZXN0aW5nNFRlc3QxM1NldFVwVGVzdENhc2VFdg0KSW5kZXg6IFRvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qDQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09DQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDIxNTQwMCkNCisrKyBUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQ0K
QEAgLTExNCw2ICsxMTQsNyBAQA0KIAkJMzdBNzA5QUYxRTNFQTk3RTAwQ0E1OTY5IC8qIEJ1bmRs
ZVJhbmdlSGFuZGxlUGx1Z0luLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzdBNzA5QUExRTNFQTc5MDAwQ0E1OTY5IC8qIEJ1bmRsZVJhbmdlSGFuZGxl
UGx1Z0luLm1tICovOyB9Ow0KIAkJMzdCNDdFMzAxRDY0RTdDQTAwNUY0RUZGIC8qIFdLT2JqZWN0
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdCNDdF
MkUxRDY0RTdDQTAwNUY0RUZGIC8qIFdLT2JqZWN0Lm1tICovOyB9Ow0KIAkJMzdCQ0E2MUMxQjU5
NkJBOTAwMjAxMkNBIC8qIFNob3VsZE9wZW5FeHRlcm5hbFVSTHNJbk5ld1dpbmRvd0FjdGlvbnMu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0JDQTYx
QjFCNTk2QkE5MDAyMDEyQ0EgLyogU2hvdWxkT3BlbkV4dGVybmFsVVJMc0luTmV3V2luZG93QWN0
aW9ucy5tbSAqLzsgfTsNCisJCTM3QzdDQzJEMUVBNDE0NkIwMDdCRDk1NiAvKiBXZWFrTGlua2lu
Zy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0M3
Q0MyQjFFQTQxNDZCMDA3QkQ5NTYgLyogV2Vha0xpbmtpbmcuY3BwICovOyB9Ow0KIAkJMzdEMzZF
RDcxQUY0MkVDRDAwQkFGNUQ5IC8qIExvYWRBbHRlcm5hdGVIVE1MU3RyaW5nLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdEMzZFRDYxQUY0MkVDRDAw
QkFGNUQ5IC8qIExvYWRBbHRlcm5hdGVIVE1MU3RyaW5nLm1tICovOyB9Ow0KIAkJMzdEQzY3OTEx
NDBEN0Q3NjAwQUJDQ0RCIC8qIERPTVJhbmdlT2ZTdHJpbmcuaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0RDNjc4RjE0MEQ3RDNBMDBB
QkNDREIgLyogRE9NUmFuZ2VPZlN0cmluZy5odG1sICovOyB9Ow0KIAkJMzdFMTA2NEMxNjk3Njgx
ODAwQjc4QkQwIC8qIERPTUhUTUxUYWJsZUNlbGxFbGVtZW50Q2VsbEFib3ZlLmh0bWwgaW4gQ29w
eSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdFMTA2NEIx
Njk3NjdGNzAwQjc4QkQwIC8qIERPTUhUTUxUYWJsZUNlbGxFbGVtZW50Q2VsbEFib3ZlLmh0bWwg
Ki87IH07DQpAQCAtMTAxNSw2ICsxMDE2LDExIEBADQogCQkzN0I0N0UyRTFENjRFN0NBMDA1RjRF
RkYgLyogV0tPYmplY3QubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBXS09iamVjdC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsNCiAJCTM3QkNBNjFCMUI1
OTZCQTkwMDIwMTJDQSAvKiBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzSW5OZXdXaW5kb3dBY3Rpb25z
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2hvdWxkT3BlbkV4
dGVybmFsVVJMc0luTmV3V2luZG93QWN0aW9ucy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsNCiAJCTM3Qzc4NERFMTk3QzhGMkUwMDEwQTQ5NiAvKiBSZW5kZXJlZEltYWdlRnJvbURPTU5v
ZGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSZW5kZXJlZElt
YWdlRnJvbURPTU5vZGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07DQorCQkzN0M3Q0My
QjFFQTQxNDZCMDA3QkQ5NTYgLyogV2Vha0xpbmtpbmcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gV2Vha0xpbmtpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9Ow0KKwkJMzdDN0NDMkUxRUE0MTcwMjAwN0JEOTU2IC8qIGxpYlRlc3RXVEZBbHdheXNNaXNz
aW5nLW1hY09TLXYyLnRiZCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9ICJzb3VyY2Vjb2RlLnRleHQtYmFzZWQtZHlsaWItZGVmaW5pdGlvbiI7IHBhdGgg
PSAibGliVGVzdFdURkFsd2F5c01pc3NpbmctbWFjT1MtdjIudGJkIjsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsNCisJCTM3QzdDQzMzMUVBNDFFQzgwMDdCRDk1NiAvKiBsaWJUZXN0V1RGQWx3
YXlzTWlzc2luZy1pT1MtdjIudGJkICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gInNvdXJjZWNvZGUudGV4dC1iYXNlZC1k
eWxpYi1kZWZpbml0aW9uIjsgcGF0aCA9ICJsaWJUZXN0V1RGQWx3YXlzTWlzc2luZy1pT1MtdjIu
dGJkIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsNCisJCTM3QzdDQzM0MUVBNDFFQzgwMDdC
RDk1NiAvKiBsaWJUZXN0V1RGQWx3YXlzTWlzc2luZy1pT1MudGJkICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gInNvdXJj
ZWNvZGUudGV4dC1iYXNlZC1keWxpYi1kZWZpbml0aW9uIjsgcGF0aCA9ICJsaWJUZXN0V1RGQWx3
YXlzTWlzc2luZy1pT1MudGJkIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsNCisJCTM3QzdD
QzM1MUVBNDFFQzgwMDdCRDk1NiAvKiBsaWJUZXN0V1RGQWx3YXlzTWlzc2luZy1tYWNPUy50YmQg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSAic291cmNlY29kZS50ZXh0LWJhc2VkLWR5bGliLWRlZmluaXRpb24iOyBwYXRo
ID0gImxpYlRlc3RXVEZBbHdheXNNaXNzaW5nLW1hY09TLnRiZCI7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07DQogCQkzN0QzNkVENjFBRjQyRUNEMDBCQUY1RDkgLyogTG9hZEFsdGVybmF0ZUhU
TUxTdHJpbmcubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb2Fk
QWx0ZXJuYXRlSFRNTFN0cmluZy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsNCiAJCTM3
REM2NzhCMTQwRDdDNTAwMEFCQ0NEQiAvKiBET01SYW5nZU9mU3RyaW5nLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NUmFuZ2VPZlN0cmluZy5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsNCiAJCTM3REM2NzhGMTQwRDdEM0EwMEFCQ0NEQiAvKiBET01S
YW5nZU9mU3RyaW5nLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBET01SYW5nZU9m
U3RyaW5nLmh0bWw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07DQpAQCAtMTgxOSw3ICsxODI1
LDEyIEBADQogCQk3Q0JCQTA3NTE5QkI4QTA5MDBCQkYwMjUgLyogZGFyd2luICovID0gew0KIAkJ
CWlzYSA9IFBCWEdyb3VwOw0KIAkJCWNoaWxkcmVuID0gKA0KKwkJCQkzN0M3Q0MzMzFFQTQxRUM4
MDA3QkQ5NTYgLyogbGliVGVzdFdURkFsd2F5c01pc3NpbmctaU9TLXYyLnRiZCAqLywNCisJCQkJ
MzdDN0NDMzQxRUE0MUVDODAwN0JEOTU2IC8qIGxpYlRlc3RXVEZBbHdheXNNaXNzaW5nLWlPUy50
YmQgKi8sDQorCQkJCTM3QzdDQzJFMUVBNDE3MDIwMDdCRDk1NiAvKiBsaWJUZXN0V1RGQWx3YXlz
TWlzc2luZy1tYWNPUy12Mi50YmQgKi8sDQorCQkJCTM3QzdDQzM1MUVBNDFFQzgwMDdCRDk1NiAv
KiBsaWJUZXN0V1RGQWx3YXlzTWlzc2luZy1tYWNPUy50YmQgKi8sDQogCQkJCTdDQkJBMDc2MTlC
QjhBOTEwMEJCRjAyNSAvKiBPU09iamVjdFB0ci5jcHAgKi8sDQorCQkJCTM3QzdDQzJCMUVBNDE0
NkIwMDdCRDk1NiAvKiBXZWFrTGlua2luZy5jcHAgKi8sDQogCQkJKTsNCiAJCQlwYXRoID0gZGFy
d2luOw0KIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7DQpAQCAtMjY5NCw2ICsyNzA1LDcgQEAN
CiAJCQkJMUEzNTI0QUUxRDYzQTRGQjAwMzE3MjlCIC8qIFNjb3BlLmNwcCBpbiBTb3VyY2VzICov
LA0KIAkJCQk3QzgzREYxMjFEMEE1OTBDMDBGRUJDRjMgLyogU2NvcGVkTGFtYmRhLmNwcCBpbiBT
b3VyY2VzICovLA0KIAkJCQk3QzgzREYzRDFEMEE1OTBDMDBGRUJDRjMgLyogU2V0Rm9yU2NvcGUu
Y3BwIGluIFNvdXJjZXMgKi8sDQorCQkJCTM3QzdDQzJEMUVBNDE0NkIwMDdCRDk1NiAvKiBXZWFr
TGlua2luZy5jcHAgaW4gU291cmNlcyAqLywNCiAJCQkJN0M4M0RGMkExRDBBNTkwQzAwRkVCQ0Yz
IC8qIFNIQTEuY3BwIGluIFNvdXJjZXMgKi8sDQogCQkJCTdDODNERjMyMUQwQTU5MEMwMEZFQkNG
MyAvKiBTdHJpbmdCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovLA0KIAkJCQk3Q0Q0QzI2RTFFMkMw
RTZFMDA5Mjk0NzAgLyogU3RyaW5nQ29uY2F0ZW5hdGUuY3BwIGluIFNvdXJjZXMgKi8sDQpJbmRl
eDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvZGFyd2luL1dlYWtMaW5raW5nLmNwcA0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQ0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL2Rhcndpbi9XZWFr
TGlua2luZy5jcHAJKG5vbmV4aXN0ZW50KQ0KKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V1RGL2Rhcndpbi9XZWFrTGlua2luZy5jcHAJKHdvcmtpbmcgY29weSkNCkBAIC0wLDAgKzEsNjUg
QEANCisvKg0KKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuDQorICoNCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQNCisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMNCisgKiBhcmUgbWV0Og0K
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0DQorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0DQorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQ0KKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uDQorICoNCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnDQorICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sDQorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUg0KKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUw0KKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1INCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRg0KKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUw0KKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElODQorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkNCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GDQorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLg0KKyAqLw0KKw0KKyNpbmNsdWRlICJjb25m
aWcuaCINCisNCisjaWYgT1MoREFSV0lOKQ0KKw0KKyNpbmNsdWRlIDxzeXMvdW5pc3RkLmg+DQor
I2luY2x1ZGUgPHd0Zi9kYXJ3aW4vV2Vha0xpbmtpbmcuaD4NCisNCisjaWYgUExBVEZPUk0oSU9T
KQ0KKw0KKyNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTAwMA0KK2Fz
bSgiLmxpbmtlcl9vcHRpb24gXCItbFRlc3RXVEZBbHdheXNNaXNzaW5nLWlPUy12MlwiIik7DQor
I2Vsc2UNCithc20oIi5saW5rZXJfb3B0aW9uIFwiLWxUZXN0V1RGQWx3YXlzTWlzc2luZy1pT1Nc
IiIpOw0KKyNlbmRpZg0KKw0KKyNlbHNlDQorDQorI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NQVhf
QUxMT1dFRCA+PSAxMDEyMDANCithc20oIi5saW5rZXJfb3B0aW9uIFwiLWxUZXN0V1RGQWx3YXlz
TWlzc2luZy1tYWNPUy12MlwiIik7DQorI2Vsc2UNCithc20oIi5saW5rZXJfb3B0aW9uIFwiLWxU
ZXN0V1RGQWx3YXlzTWlzc2luZy1tYWNPU1wiIik7DQorI2VuZGlmDQorDQorI2VuZGlmDQorDQor
ZXh0ZXJuICJDIiB7DQorICAgIGV4dGVybiB2b2lkIFRlc3RXVEZBbHdheXNNaXNzaW5nKHZvaWQp
IF9fYXR0cmlidXRlX18oKHdlYWtfaW1wb3J0KSk7DQorfQ0KKw0KK25hbWVzcGFjZSBUZXN0V2Vi
S2l0QVBJIHsNCisNCitURVNUKFdlYWtMaW5raW5nLCBJc051bGxGdW5jdGlvblBvaW50ZXIpDQor
ew0KKyAgICBFWFBFQ1RfVFJVRShpc051bGxGdW5jdGlvblBvaW50ZXIoVGVzdFdURkFsd2F5c01p
c3NpbmcpKTsNCisgICAgRVhQRUNUX0ZBTFNFKGlzTnVsbEZ1bmN0aW9uUG9pbnRlcihjbG9zZSkp
Ow0KK30NCisNCit9DQorDQorI2VuZGlmDQpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XVEYvZGFyd2luL2xpYlRlc3RXVEZBbHdheXNNaXNzaW5nLWlPUy12Mi50YmQNCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0NCi0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9kYXJ3aW4vbGliVGVzdFdURkFs
d2F5c01pc3NpbmctaU9TLXYyLnRiZAkobm9uZXhpc3RlbnQpDQorKysgVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XVEYvZGFyd2luL2xpYlRlc3RXVEZBbHdheXNNaXNzaW5nLWlPUy12Mi50YmQJ
KHdvcmtpbmcgY29weSkNCkBAIC0wLDAgKzEsMTAgQEANCistLS0gIXRhcGktdGJkLXYyDQorYXJj
aHM6IFsgaTM4NiwgeDg2XzY0LCBhcm12NywgYXJtdjdzLCBhcm02NCBdDQordXVpZHM6IFsgJ2kz
ODY6IDZFQTgxQTBBLUQ4M0YtNDA4MS1CM0VBLTkwNDE5QzE1NzNCQTg3JywgJ3g4Nl82NDogMjhF
ODFFMTEtMjc5NC00MTkyLUE0NkEtMDZDNzNDOUJBRkI5JywgJ2FybXY3OiAwMEM2NzM5Ny1GN0Ey
LTQzMUEtOUYyNy1ENEY2MTEwNkZDMUYnLCAnYXJtdjdzOiBGOUMxNzJGQy1BMTEyLTQ4OEMtODg5
Qi1CNzBGQTIwQUU4MjcnLCAnYXJtNjQ6IDNGREIxMkZCLTBCRjItNDA1Qy1CMjFBLTJEM0QyRDE4
RUI1RicgXQ0KK3BsYXRmb3JtOiBpb3MNCitpbnN0YWxsLW5hbWU6IC91c3IvbG9jYWwvbGliL2xp
YlRlc3RXVEZBbHdheXNNaXNzaW5nLmR5bGliDQorb2JqYy1jb25zdHJhaW50OiBub25lDQorZXhw
b3J0czoNCisgIC0gYXJjaHM6IFsgaTM4NiwgeDg2XzY0LCBhcm12NywgYXJtdjdzLCBhcm02NCBd
DQorICAgIHN5bWJvbHM6IFsgX1Rlc3RXVEZBbHdheXNNaXNzaW5nIF0NCisuLi4NCkluZGV4OiBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9kYXJ3aW4vbGliVGVzdFdURkFsd2F5c01pc3Np
bmctaU9TLnRiZA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RG
L2Rhcndpbi9saWJUZXN0V1RGQWx3YXlzTWlzc2luZy1pT1MudGJkCShub25leGlzdGVudCkNCisr
KyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9kYXJ3aW4vbGliVGVzdFdURkFsd2F5c01p
c3NpbmctaU9TLnRiZAkod29ya2luZyBjb3B5KQ0KQEAgLTAsMCArMSw5IEBADQorLS0tDQorYXJj
aHM6IFsgaTM4NiwgeDg2XzY0LCBhcm12NywgYXJtdjdzLCBhcm02NCBdDQorcGxhdGZvcm06IGlv
cw0KK2luc3RhbGwtbmFtZTogL3Vzci9sb2NhbC9saWIvbGliVGVzdFdURkFsd2F5c01pc3Npbmcu
ZHlsaWINCitvYmpjLWNvbnN0cmFpbnQ6IG5vbmUNCitleHBvcnRzOg0KKyAgLSBhcmNoczogWyBp
Mzg2LCB4ODZfNjQsIGFybXY3LCBhcm12N3MsIGFybTY0IF0NCisgICAgc3ltYm9sczogWyBfVGVz
dFdURkFsd2F5c01pc3NpbmcgXQ0KKy4uLg0KSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV1RGL2Rhcndpbi9saWJUZXN0V1RGQWx3YXlzTWlzc2luZy1tYWNPUy12Mi50YmQNCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0NCi0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9kYXJ3aW4vbGliVGVzdFdU
RkFsd2F5c01pc3NpbmctbWFjT1MtdjIudGJkCShub25leGlzdGVudCkNCisrKyBUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9kYXJ3aW4vbGliVGVzdFdURkFsd2F5c01pc3NpbmctbWFjT1Mt
djIudGJkCSh3b3JraW5nIGNvcHkpDQpAQCAtMCwwICsxLDEwIEBADQorLS0tICF0YXBpLXRiZC12
Mg0KK2FyY2hzOiBbIGkzODYsIHg4Nl82NCBdDQordXVpZHM6IFsgJ2kzODY6IDZFQTgxQTBBLUQ4
M0YtNDA4MS1CM0VBLTkwNDE5QzE1NzNCQTg3JywgJ3g4Nl82NDogMjhFODFFMTEtMjc5NC00MTky
LUE0NkEtMDZDNzNDOUJBRkI5JyBdDQorcGxhdGZvcm06IG1hY29zeA0KK2luc3RhbGwtbmFtZTog
L3Vzci9sb2NhbC9saWIvbGliVGVzdFdURkFsd2F5c01pc3NpbmcuZHlsaWINCitvYmpjLWNvbnN0
cmFpbnQ6IG5vbmUNCitleHBvcnRzOg0KKyAgLSBhcmNoczogWyBpMzg2LCB4ODZfNjQgXQ0KKyAg
ICBzeW1ib2xzOiBbIF9UZXN0V1RGQWx3YXlzTWlzc2luZyBdDQorLi4uDQpJbmRleDogVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvZGFyd2luL2xpYlRlc3RXVEZBbHdheXNNaXNzaW5nLW1h
Y09TLnRiZA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQ0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL2Rh
cndpbi9saWJUZXN0V1RGQWx3YXlzTWlzc2luZy1tYWNPUy50YmQJKG5vbmV4aXN0ZW50KQ0KKysr
IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL2Rhcndpbi9saWJUZXN0V1RGQWx3YXlzTWlz
c2luZy1tYWNPUy50YmQJKHdvcmtpbmcgY29weSkNCkBAIC0wLDAgKzEsOSBAQA0KKy0tLQ0KK2Fy
Y2hzOiBbIGkzODYsIHg4Nl82NCBdDQorcGxhdGZvcm06IG1hY29zeA0KK2luc3RhbGwtbmFtZTog
L3Vzci9sb2NhbC9saWIvbGliVGVzdFdURkFsd2F5c01pc3NpbmcuZHlsaWINCitvYmpjLWNvbnN0
cmFpbnQ6IG5vbmUNCitleHBvcnRzOg0KKyAgLSBhcmNoczogWyBpMzg2LCB4ODZfNjQgXQ0KKyAg
ICBzeW1ib2xzOiBbIF9UZXN0V1RGQWx3YXlzTWlzc2luZyBdDQorLi4uDQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>307250</attachid>
            <date>2017-04-16 17:08:00 -0700</date>
            <delta_ts>2017-04-16 17:14:40 -0700</delta_ts>
            <desc>Move the function to wtf/darwin/WeakLinking.h</desc>
            <filename>bug-170892-20170416170759.patch</filename>
            <type>text/plain</type>
            <size>23037</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyMTU0MDApCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE3LTA0LTE2ICBEYW4gQmVybnN0ZWluICA8bWl0
ekBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBNb3ZlIGlzTnVsbEZ1bmN0aW9uUG9pbnRl
ciBkb3duIGludG8gV1RGCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzA4OTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUZXN0OiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9kYXJ3aW4vV2Vha0xpbmtpbmcu
Y3BwCisKKyAgICAgICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkZWQgcmVm
ZXJlbmNlIHRvIG5ldyBmaWxlLgorICAgICAgICAqIHd0Zi9kYXJ3aW46IEFkZGVkLgorICAgICAg
ICAqIHd0Zi9kYXJ3aW4vV2Vha0xpbmtpbmcuaDogQWRkZWQuCisgICAgICAgIChXVEY6OmlzTnVs
bEZ1bmN0aW9uUG9pbnRlcik6IENvcGllZCBmcm9tIFJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFz
c2lmaWVyQ29jb2EuY3BwIGluCisgICAgICAgICAgV2ViS2l0MiBhbmQgY2hhbmdlZCBpbnRvIGEg
ZnVuY3Rpb24gdGVtcGxhdGUgdGhhdCB3b3JrcyB3aXRoIGFueSBmdW5jdGlvbiBwb2ludGVyLgor
CiAyMDE3LTA0LTE0ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBV
cGRhdGUgYXJjaGl0ZWN0dXJlcyBpbiB4Y2NvbmZpZyBmaWxlcy4KSW5kZXg6IFNvdXJjZS9XVEYv
V1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi9X
VEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjE1NDAwKQorKysgU291cmNl
L1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTQw
LDYgKzE0MCw3IEBACiAJCTJDREVEMEVGMTgxMTVDMzgwMDREQkE3MCAvKiBSdW5Mb29wQ0YuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkNERUQwRUUx
ODExNUMzODAwNERCQTcwIC8qIFJ1bkxvb3BDRi5jcHAgKi87IH07CiAJCTJDREVEMEYzMTgxMTVD
ODUwMDREQkE3MCAvKiBSdW5Mb29wLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDJDREVEMEYxMTgxMTVDODUwMDREQkE3MCAvKiBSdW5Mb29wLmNwcCAq
LzsgfTsKIAkJMkNERUQwRjQxODExNUM4NTAwNERCQTcwIC8qIFJ1bkxvb3AuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJDREVEMEYyMTgxMTVDODUwMDRE
QkE3MCAvKiBSdW5Mb29wLmggKi87IH07CisJCTM3QzdDQzJBMUVBNDBBNzMwMDdCRDk1NiAvKiBX
ZWFrTGlua2luZy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMzdDN0NDMjkxRUE0MEE3MzAwN0JEOTU2IC8qIFdlYWtMaW5raW5nLmggKi87IH07CiAJCTQz
MEI0Nzg5MUFBQUFDMUEwMDEyMjNEQSAvKiBTdHJpbmdDb21tb24uaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQzMEI0Nzg3MUFBQUFDMUEwMDEyMjNEQSAv
KiBTdHJpbmdDb21tb24uaCAqLzsgfTsKIAkJNEIyNjgwREQ5Qjk3NDQwMjg5OUVENTcyIC8qIElu
ZGV4ZWRDb250YWluZXJJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOUM2N0M1NDI1ODkzNDhFMjg1QjQ5Njk5IC8qIEluZGV4ZWRDb250YWlu
ZXJJdGVyYXRvci5oICovOyB9OwogCQk1MTNFMTcwQjFDRDdENUJGMDBFMzY1MEIgLyogTG9nZ2lu
Z0FjY3VtdWxhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MTNFMTcwQTFDRDdENUJGMDBFMzY1MEIgLyogTG9nZ2luZ0FjY3VtdWxhdG9yLmggKi87
IH07CkBAIC01MzksNiArNTQwLDcgQEAKIAkJMkNERUQwRjExODExNUM4NTAwNERCQTcwIC8qIFJ1
bkxvb3AuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUnVuTG9vcC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJDREVEMEYyMTgxMTVDODUwMDREQkE3
MCAvKiBSdW5Mb29wLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJ1bkxvb3Au
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzEzN0UxRDdEQkQ4NEFDMzhGQUU0RDM0
IC8qIEluZGV4U2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluZGV4U2V0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTM3QzdDQzI5MUVBNDBBNzMwMDdCRDk1
NiAvKiBXZWFrTGlua2luZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWFr
TGlua2luZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzBCNDc4NzFBQUFBQzFB
MDAxMjIzREEgLyogU3RyaW5nQ29tbW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFN0cmluZ0NvbW1vbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTNFMTcw
QTFDRDdENUJGMDBFMzY1MEIgLyogTG9nZ2luZ0FjY3VtdWxhdG9yLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IExvZ2dpbmdBY2N1bXVsYXRvci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1MTVGNzk0QjFDRkM5RjRBMDBDQ0VEOTMgLyogQ3Jvc3NUaHJlYWRDb3Bp
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ3Jvc3NUaHJlYWRD
b3BpZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtODYyLDYgKzg2NCwxNCBA
QAogCQkJcGF0aCA9IGNmOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJMzdD
N0NDMjgxRUE0MEE1NDAwN0JEOTU2IC8qIGRhcndpbiAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3Vw
OworCQkJY2hpbGRyZW4gPSAoCisJCQkJMzdDN0NDMjkxRUE0MEE3MzAwN0JEOTU2IC8qIFdlYWtM
aW5raW5nLmggKi8sCisJCQkpOworCQkJcGF0aCA9IGRhcndpbjsKKwkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CisJCX07CiAJCTVEMjQ3QjU3MTQ2ODlCODYwMEU3OEI3NiA9IHsKIAkJCWlzYSA9
IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC05MzIsNiArOTQyLDcgQEAKIAkJCWNoaWxk
cmVuID0gKAogCQkJCTJDREVEMEYwMTgxMTVDM0YwMDREQkE3MCAvKiBjZiAqLywKIAkJCQlFNEEw
QUQzQjFBOTYyNTE5MDA1MzZERjYgLyogY29jb2EgKi8sCisJCQkJMzdDN0NDMjgxRUE0MEE1NDAw
N0JEOTU2IC8qIGRhcndpbiAqLywKIAkJCQlBOEE0NzI4MTE1MUE4MjVBMDA0MTIzRkYgLyogZHRv
YSAqLywKIAkJCQkxRkE0N0M4NzE1MjUwMkRBMDA1NjhEMUIgLyogaW9zICovLAogCQkJCUE4QTQ3
MkM0MTUxQTgyNUEwMDQxMjNGRiAvKiBtYWMgKi8sCkBAIC0xNDY2LDYgKzE0NzcsNyBAQAogCQkJ
CUE4QTQ3M0E1MTUxQTgyNUIwMDQxMjNGRiAvKiBEZXF1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QThBNDczQTYxNTFBODI1QjAwNDEyM0ZGIC8qIERpc2FsbG93Q1R5cGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE4QTQ3M0FGMTUxQTgyNUIwMDQxMjNGRiAvKiBkaXktZnAuaCBpbiBIZWFkZXJzICov
LAorCQkJCTM3QzdDQzJBMUVBNDBBNzMwMDdCRDk1NiAvKiBXZWFrTGlua2luZy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEY0NTcwNDMxQkU1QjU4RjAwNjJBNjI5IC8qIERvbWluYXRvcnMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE4QTQ3M0IxMTUxQTgyNUIwMDQxMjNGRiAvKiBkb3VibGUtY29udmVy
c2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczQjIxNTFBODI1QjAwNDEyM0ZGIC8qIGRv
dWJsZS5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9kYXJ3aW4vV2Vha0xp
bmtpbmcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9kYXJ3aW4vV2Vha0xpbmtpbmcu
aAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV1RGL3d0Zi9kYXJ3aW4vV2Vha0xpbmtpbmcuaAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSA9IHN0
ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19mdW5jdGlvbjxUPjo6dmFsdWU+PgoraW5saW5lIGJvb2wg
aXNOdWxsRnVuY3Rpb25Qb2ludGVyKFQqIGZ1bmN0aW9uUG9pbnRlcikKK3sKKyAgICB2b2lkKiBy
ZXN1bHQ7CisgICAgLy8gVGhlIEMgY29tcGlsZXIgbWF5IHRha2UgYWR2YW50YWdlIG9mIHRoZSBm
YWN0IHRoYXQgYnkgZGVmaW5pdGlvbiwgZnVuY3Rpb24gcG9pbnRlcnMgY2Fubm90IGJlCisgICAg
Ly8gbnVsbC4gV2hlbiB3ZWFrLWxpbmtpbmcgYSBsaWJyYXJ5LCBmdW5jdGlvbiBwb2ludGVycyBj
YW4gYmUgbnVsbC4gV2UgdXNlIG5vbi1DIGNvZGUgdG8KKyAgICAvLyBwcmV2ZW50IHRoZSBDIGNv
bXBpbGVyIGZyb20gdXNpbmcgdGhlIGRlZmluaXRpb24gdG8gb3B0aW1pemUgb3V0IHRoZSBudWxs
IGNoZWNrLgorICAgIGFzbSgKKyAgICAgICAgIm1vdiAlMSwgJTAiCisgICAgICAgIDogIj1yIiAo
cmVzdWx0KQorICAgICAgICA6ICJyIiAoZnVuY3Rpb25Qb2ludGVyKQorICAgICk7CisgICAgcmV0
dXJuICFyZXN1bHQ7Cit9CisKK30KKwordXNpbmcgV1RGOjppc051bGxGdW5jdGlvblBvaW50ZXI7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTU0MDApCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxNy0wNC0xNiAgRGFuIEJl
cm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gTW92ZSBpc051bGxG
dW5jdGlvblBvaW50ZXIgZG93biBpbnRvIFdURgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwODkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDUHJvdmlkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI6
OndlYlJUQ0F2YWlsYWJsZSk6IENoYW5nZWQgdG8gdXNlIFdURjo6aXNOdWxsRnVuY3Rpb25Qb2lu
dGVyLAorICAgICAgICAgIGFuZCByZW1vdmVkIHRoZSBzdGF0aWMgdmFyaWFibGUsIHNvIGluc3Rl
YWQgb2YgbG9hZGluZyBmcm9tIHRoZSBpbml0aWFsaXphdGlvbiBndWFyZCwKKyAgICAgICAgICBi
cmFuY2hpbmcsIHRoZW4gbG9hZGluZyBmcm9tIHRoZSB2YXJpYWJsZSBpdHNlbGYsIHdlIGp1c3Qg
bG9hZCBmcm9tIHRoZSBmdW5jdGlvbiBwb2ludGVyLgorICAgICAgICAoV2ViQ29yZTo6aXNOdWxs
RnVuY3Rpb25Qb2ludGVyKTogRGVsZXRlZC4KKwogMjAxNy0wNC0xNSAgQWxleCBDaHJpc3RlbnNl
biAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCBXaW5kb3dzIGJ1aWxk
IGFmdGVyIHIyMTUzOTYuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5j
cHAJKHJldmlzaW9uIDIxNTQwMCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3
LDYgKzM3LDcgQEAKICNpbmNsdWRlIDx3ZWJydGMvc2RrL29iamMvRnJhbWV3b3JrL0NsYXNzZXMv
dmlkZW90b29sYm94dmlkZW9jb2RlY2ZhY3RvcnkuaD4KICNpbmNsdWRlIDx3dGYvRnVuY3Rpb24u
aD4KICNpbmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKyNpbmNsdWRlIDx3dGYvZGFyd2lu
L1dlYWtMaW5raW5nLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMjAzLDI2
ICsyMDQsMTIgQEAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UGVlckNvbm5lY3RpbwogICAg
IHJldHVybiBjcmVhdGVBY3R1YWxQZWVyQ29ubmVjdGlvbihvYnNlcnZlciwgV1RGTW92ZShwb3J0
QWxsb2NhdG9yKSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBpc051bGxGdW5jdGlvblBvaW50
ZXIodm9pZCogZnVuY3Rpb25Qb2ludGVyKQotewotICAgIHZvaWQqIHJlc3VsdDsKLSAgICBhc20o
Ci0gICAgICAgICJtb3YgJTEsICUwIgotICAgICAgICA6ICI9ciIgKHJlc3VsdCkKLSAgICAgICAg
OiAiciIgKGZ1bmN0aW9uUG9pbnRlcikKLSAgICApOwotICAgIHJldHVybiAhcmVzdWx0OwotfQot
CiAjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKIAogYm9vbCBMaWJXZWJSVENQcm92aWRlcjo6d2Vi
UlRDQXZhaWxhYmxlKCkKIHsKICNpZiBVU0UoTElCV0VCUlRDKQotICAgIHN0YXRpYyBib29sIGF2
YWlsYWJsZSA9IFtdIHsKLSAgICAgICAgcmV0dXJuICFpc051bGxGdW5jdGlvblBvaW50ZXIocmVp
bnRlcnByZXRfY2FzdDx2b2lkKj4ocnRjOjpMb2dNZXNzYWdlOjpMb2dUb0RlYnVnKSk7Ci0gICAg
fSgpOwotICAgIHJldHVybiBhdmFpbGFibGU7CisgICAgcmV0dXJuICFpc051bGxGdW5jdGlvblBv
aW50ZXIocnRjOjpMb2dNZXNzYWdlOjpMb2dUb0RlYnVnKTsKICNlbHNlCiAgICAgcmV0dXJuIHRy
dWU7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxNTQwMikKKysrIFNvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDE3LTA0
LTE2ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBN
b3ZlIGlzTnVsbEZ1bmN0aW9uUG9pbnRlciBkb3duIGludG8gV1RGCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzA4OTIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBsYXRmb3JtL2NsYXNzaWZpZXIvY29j
b2EvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OlJlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2E6OmNhblVzZUNvcmVQ
cmVkaWN0aW9uKTogQ2hhbmdlZCB0byB1c2UKKyAgICAgICAgICBXVEY6OmlzTnVsbEZ1bmN0aW9u
UG9pbnRlci4KKyAgICAgICAgKFdlYktpdDo6aXNOdWxsRnVuY3Rpb25Qb2ludGVyKTogRGVsZXRl
ZC4KKwogMjAxNy0wNC0xNSAgS2VpdGggUm9sbGluICA8a3JvbGxpbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgSW5jbHVkZSByZXNvdXJjZSBzaXplIGluIHNvbWUgZXhpc3RpbmcgbG9nZ2luZwpJbmRl
eDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vY2xhc3NpZmllci9jb2NvYS9SZXNvdXJjZUxvYWRT
dGF0aXN0aWNzQ2xhc3NpZmllckNvY29hLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lm
aWVyQ29jb2EuY3BwCShyZXZpc2lvbiAyMTU0MDApCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9jbGFzc2lmaWVyL2NvY29hL1Jlc291cmNlTG9hZFN0YXRpc3RpY3NDbGFzc2lmaWVyQ29jb2Eu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw2ICszMSw3IEBACiAjaW5jbHVkZSAiQ29yZVByZWRp
Y3Rpb25TUEkuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSA8d3RmL05ldmVyRGVz
dHJveWVkLmg+CisjaW5jbHVkZSA8d3RmL2Rhcndpbi9XZWFrTGlua2luZy5oPgogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIApAQCAtNzIsMjAgKzczLDYgQEAgU3RyaW5nIFJlc291cmNlTG9hZFN0YXRp
c3RpY3NDbGFzc2lmaWVyQwogICAgIHJldHVybiBTdHJpbmcocmVzb3VyY2VVcmxTdHJpbmcuZ2V0
KCkpOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgaXNOdWxsRnVuY3Rpb25Qb2ludGVyKHZvaWQq
IGZ1bmN0aW9uUG9pbnRlcikKLXsKLSAgICB2b2lkKiByZXN1bHQ7Ci0gICAgLy8gVGhlIEMgY29t
cGlsZXIgbWF5IHRha2UgYWR2YW50YWdlIG9mIHRoZSBmYWN0IHRoYXQgYnkgZGVmaW5pdGlvbiwg
ZnVuY3Rpb24gcG9pbnRlcnMgY2Fubm90IGJlCi0gICAgLy8gbnVsbC4gV2hlbiB3ZWFrLWxpbmtp
bmcgYSBsaWJyYXJ5LCBmdW5jdGlvbiBwb2ludGVycyBjYW4gYmUgbnVsbC4gV2UgdXNlIG5vbi1D
IGNvZGUgdG8KLSAgICAvLyBwcmV2ZW50IHRoZSBDIGNvbXBpbGVyIGZyb20gdXNpbmcgdGhlIGRl
ZmluaXRpb24gdG8gb3B0aW1pemUgb3V0IHRoZSBudWxsIGNoZWNrLgotICAgIGFzbSgKLSAgICAg
ICAgIm1vdiAlMSwgJTAiCi0gICAgICAgIDogIj1yIiAocmVzdWx0KQotICAgICAgICA6ICJyIiAo
ZnVuY3Rpb25Qb2ludGVyKQotICAgICk7Ci0gICAgcmV0dXJuICFyZXN1bHQ7Ci19Ci0KIGJvb2wg
UmVzb3VyY2VMb2FkU3RhdGlzdGljc0NsYXNzaWZpZXJDb2NvYTo6Y2FuVXNlQ29yZVByZWRpY3Rp
b24oKQogewogICAgIGlmIChtX2hhdmVMb2FkZWRNb2RlbCkKQEAgLTk0LDcgKzgxLDcgQEAgYm9v
bCBSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQ2xhc3NpZmllckNvYwogICAgIGlmICghbV91c2VDb3Jl
UHJlZGljdGlvbikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKGlzTnVsbEZ1bmN0
aW9uUG9pbnRlcihyZWludGVycHJldF9jYXN0PHZvaWQqPihzdm1fbG9hZF9tb2RlbCkpKSB7Cisg
ICAgaWYgKGlzTnVsbEZ1bmN0aW9uUG9pbnRlcihzdm1fbG9hZF9tb2RlbCkpIHsKICAgICAgICAg
bV91c2VDb3JlUHJlZGljdGlvbiA9IGZhbHNlOwogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
fQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwko
cmV2aXNpb24gMjE1NDAyKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMTctMDQtMTYgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4K
KworICAgICAgICBbQ29jb2FdIE1vdmUgaXNOdWxsRnVuY3Rpb25Qb2ludGVyIGRvd24gaW50byBX
VEYKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDg5
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVz
dFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9UZXN0V1RGLnhjY29uZmlnOgorICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL2Rhcndpbi9XZWFrTGlua2luZy5jcHA6IEFk
ZGVkLgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6VEVTVCk6CisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XVEYvZGFyd2luL2xpYlRlc3RXVEZBbHdheXNNaXNzaW5nLWlPUy12Mi50YmQ6
IEFkZGVkLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL2Rhcndpbi9saWJUZXN0
V1RGQWx3YXlzTWlzc2luZy1pT1MudGJkOiBBZGRlZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dURi9kYXJ3aW4vbGliVGVzdFdURkFsd2F5c01pc3NpbmctbWFjT1MtdjIudGJkOiBB
ZGRlZC4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9kYXJ3aW4vbGliVGVzdFdU
RkFsd2F5c01pc3NpbmctbWFjT1MudGJkOiBBZGRlZC4KKwogMjAxNy0wNC0xNCAgTWFyayBMYW0g
IDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgVXBkYXRlIGFyY2hpdGVjdHVyZXMgaW4g
eGNjb25maWcgZmlsZXMuCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25z
L1Rlc3RXVEYueGNjb25maWcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9Db25m
aWd1cmF0aW9ucy9UZXN0V1RGLnhjY29uZmlnCShyZXZpc2lvbiAyMTU0MDApCisrKyBUb29scy9U
ZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL1Rlc3RXVEYueGNjb25maWcJKHdvcmtpbmcgY29w
eSkKQEAgLTI0LDYgKzI0LDkgQEAKICNpbmNsdWRlICJGZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyIK
IAogUFJPRFVDVF9OQU1FID0gVGVzdFdURjsKKworTElCUkFSWV9TRUFSQ0hfUEFUSFMgPSAkKFBS
T0pFQ1RfRElSKS9UZXN0cy9XVEYvZGFyd2luICQoaW5oZXJ0aWVkKTsKKwogR0NDX0VOQUJMRV9P
QkpDX0VYQ0VQVElPTlMgPSBZRVM7CiAKIFVORVhQT1JURURfU1lNQk9MX0xERkxBR1MgPSAtV2ws
LXVuZXhwb3J0ZWRfc3ltYm9sIC1XbCxfX1pON3Rlc3Rpbmc0VGVzdDE2VGVhckRvd25UZXN0Q2Fz
ZUV2IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWk43dGVzdGluZzRUZXN0MTNTZXRVcFRl
c3RDYXNlRXYKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyMTU0MDApCisr
KyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTE0LDYgKzExNCw3IEBACiAJCTM3QTcwOUFGMUUzRUE5
N0UwMENBNTk2OSAvKiBCdW5kbGVSYW5nZUhhbmRsZVBsdWdJbi5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3QTcwOUFBMUUzRUE3OTAwMENBNTk2OSAv
KiBCdW5kbGVSYW5nZUhhbmRsZVBsdWdJbi5tbSAqLzsgfTsKIAkJMzdCNDdFMzAxRDY0RTdDQTAw
NUY0RUZGIC8qIFdLT2JqZWN0Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzdCNDdFMkUxRDY0RTdDQTAwNUY0RUZGIC8qIFdLT2JqZWN0Lm1tICovOyB9
OwogCQkzN0JDQTYxQzFCNTk2QkE5MDAyMDEyQ0EgLyogU2hvdWxkT3BlbkV4dGVybmFsVVJMc0lu
TmV3V2luZG93QWN0aW9ucy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDM3QkNBNjFCMUI1OTZCQTkwMDIwMTJDQSAvKiBTaG91bGRPcGVuRXh0ZXJuYWxV
UkxzSW5OZXdXaW5kb3dBY3Rpb25zLm1tICovOyB9OworCQkzN0M3Q0MyRDFFQTQxNDZCMDA3QkQ5
NTYgLyogV2Vha0xpbmtpbmcuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzdDN0NDMkIxRUE0MTQ2QjAwN0JEOTU2IC8qIFdlYWtMaW5raW5nLmNwcCAq
LzsgfTsKIAkJMzdEMzZFRDcxQUY0MkVDRDAwQkFGNUQ5IC8qIExvYWRBbHRlcm5hdGVIVE1MU3Ry
aW5nLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzdE
MzZFRDYxQUY0MkVDRDAwQkFGNUQ5IC8qIExvYWRBbHRlcm5hdGVIVE1MU3RyaW5nLm1tICovOyB9
OwogCQkzN0RDNjc5MTE0MEQ3RDc2MDBBQkNDREIgLyogRE9NUmFuZ2VPZlN0cmluZy5odG1sIGlu
IENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3REM2
NzhGMTQwRDdEM0EwMEFCQ0NEQiAvKiBET01SYW5nZU9mU3RyaW5nLmh0bWwgKi87IH07CiAJCTM3
RTEwNjRDMTY5NzY4MTgwMEI3OEJEMCAvKiBET01IVE1MVGFibGVDZWxsRWxlbWVudENlbGxBYm92
ZS5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDM3RTEwNjRCMTY5NzY3RjcwMEI3OEJEMCAvKiBET01IVE1MVGFibGVDZWxsRWxlbWVudENl
bGxBYm92ZS5odG1sICovOyB9OwpAQCAtMTAxNSw2ICsxMDE2LDExIEBACiAJCTM3QjQ3RTJFMUQ2
NEU3Q0EwMDVGNEVGRiAvKiBXS09iamVjdC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFdLT2JqZWN0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkz
N0JDQTYxQjFCNTk2QkE5MDAyMDEyQ0EgLyogU2hvdWxkT3BlbkV4dGVybmFsVVJMc0luTmV3V2lu
ZG93QWN0aW9ucy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNo
b3VsZE9wZW5FeHRlcm5hbFVSTHNJbk5ld1dpbmRvd0FjdGlvbnMubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTM3Qzc4NERFMTk3QzhGMkUwMDEwQTQ5NiAvKiBSZW5kZXJlZEltYWdl
RnJvbURPTU5vZGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBS
ZW5kZXJlZEltYWdlRnJvbURPTU5vZGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTM3QzdDQzJCMUVBNDE0NkIwMDdCRDk1NiAvKiBXZWFrTGlua2luZy5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWFrTGlua2luZy5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTM3QzdDQzJFMUVBNDE3MDIwMDdCRDk1NiAvKiBsaWJUZXN0V1RGQWx3
YXlzTWlzc2luZy1tYWNPUy12Mi50YmQgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSAic291cmNlY29kZS50ZXh0LWJhc2VkLWR5bGliLWRlZmluaXRpb24i
OyBwYXRoID0gImxpYlRlc3RXVEZBbHdheXNNaXNzaW5nLW1hY09TLXYyLnRiZCI7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTM3QzdDQzMzMUVBNDFFQzgwMDdCRDk1NiAvKiBsaWJUZXN0
V1RGQWx3YXlzTWlzc2luZy1pT1MtdjIudGJkICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gInNvdXJjZWNvZGUudGV4dC1i
YXNlZC1keWxpYi1kZWZpbml0aW9uIjsgcGF0aCA9ICJsaWJUZXN0V1RGQWx3YXlzTWlzc2luZy1p
T1MtdjIudGJkIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzdDN0NDMzQxRUE0MUVD
ODAwN0JEOTU2IC8qIGxpYlRlc3RXVEZBbHdheXNNaXNzaW5nLWlPUy50YmQgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSAi
c291cmNlY29kZS50ZXh0LWJhc2VkLWR5bGliLWRlZmluaXRpb24iOyBwYXRoID0gImxpYlRlc3RX
VEZBbHdheXNNaXNzaW5nLWlPUy50YmQiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkz
N0M3Q0MzNTFFQTQxRUM4MDA3QkQ5NTYgLyogbGliVGVzdFdURkFsd2F5c01pc3NpbmctbWFjT1Mu
dGJkICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gInNvdXJjZWNvZGUudGV4dC1iYXNlZC1keWxpYi1kZWZpbml0aW9uIjsg
cGF0aCA9ICJsaWJUZXN0V1RGQWx3YXlzTWlzc2luZy1tYWNPUy50YmQiOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkzN0QzNkVENjFBRjQyRUNEMDBCQUY1RDkgLyogTG9hZEFsdGVybmF0
ZUhUTUxTdHJpbmcubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBM
b2FkQWx0ZXJuYXRlSFRNTFN0cmluZy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MzdEQzY3OEIxNDBEN0M1MDAwQUJDQ0RCIC8qIERPTVJhbmdlT2ZTdHJpbmcubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01SYW5nZU9mU3RyaW5nLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzN0RDNjc4RjE0MEQ3RDNBMDBBQkNDREIgLyogRE9N
UmFuZ2VPZlN0cmluZy5odG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gRE9NUmFuZ2VP
ZlN0cmluZy5odG1sOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTgxOSw3ICsxODI1
LDEyIEBACiAJCTdDQkJBMDc1MTlCQjhBMDkwMEJCRjAyNSAvKiBkYXJ3aW4gKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTM3QzdDQzMzMUVBNDFFQzgwMDdC
RDk1NiAvKiBsaWJUZXN0V1RGQWx3YXlzTWlzc2luZy1pT1MtdjIudGJkICovLAorCQkJCTM3QzdD
QzM0MUVBNDFFQzgwMDdCRDk1NiAvKiBsaWJUZXN0V1RGQWx3YXlzTWlzc2luZy1pT1MudGJkICov
LAorCQkJCTM3QzdDQzJFMUVBNDE3MDIwMDdCRDk1NiAvKiBsaWJUZXN0V1RGQWx3YXlzTWlzc2lu
Zy1tYWNPUy12Mi50YmQgKi8sCisJCQkJMzdDN0NDMzUxRUE0MUVDODAwN0JEOTU2IC8qIGxpYlRl
c3RXVEZBbHdheXNNaXNzaW5nLW1hY09TLnRiZCAqLywKIAkJCQk3Q0JCQTA3NjE5QkI4QTkxMDBC
QkYwMjUgLyogT1NPYmplY3RQdHIuY3BwICovLAorCQkJCTM3QzdDQzJCMUVBNDE0NkIwMDdCRDk1
NiAvKiBXZWFrTGlua2luZy5jcHAgKi8sCiAJCQkpOwogCQkJcGF0aCA9IGRhcndpbjsKIAkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0yNjk0LDYgKzI3MDUsNyBAQAogCQkJCTFBMzUyNEFF
MUQ2M0E0RkIwMDMxNzI5QiAvKiBTY29wZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzgzREYx
MjFEMEE1OTBDMDBGRUJDRjMgLyogU2NvcGVkTGFtYmRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTdDODNERjNEMUQwQTU5MEMwMEZFQkNGMyAvKiBTZXRGb3JTY29wZS5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkzN0M3Q0MyRDFFQTQxNDZCMDA3QkQ5NTYgLyogV2Vha0xpbmtpbmcuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJN0M4M0RGMkExRDBBNTkwQzAwRkVCQ0YzIC8qIFNIQTEuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJN0M4M0RGMzIxRDBBNTkwQzAwRkVCQ0YzIC8qIFN0cmluZ0J1aWxkZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NENEMyNkUxRTJDMEU2RTAwOTI5NDcwIC8qIFN0cmlu
Z0NvbmNhdGVuYXRlLmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XVEYvZGFyd2luL1dlYWtMaW5raW5nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9kYXJ3aW4vV2Vha0xpbmtpbmcuY3BwCShub25leGlzdGVu
dCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL2Rhcndpbi9XZWFrTGlua2luZy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKworI2lmIE9TKERBUldJTikKKworI2luY2x1ZGUgPHN5cy91bmlzdGQuaD4K
KyNpbmNsdWRlIDx3dGYvZGFyd2luL1dlYWtMaW5raW5nLmg+CisKKyNpZiBQTEFURk9STShJT1Mp
CisKKyNpZiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDEwMTAwMAorYXNtKCIu
bGlua2VyX29wdGlvbiBcIi1sVGVzdFdURkFsd2F5c01pc3NpbmctaU9TLXYyXCIiKTsKKyNlbHNl
Cithc20oIi5saW5rZXJfb3B0aW9uIFwiLWxUZXN0V1RGQWx3YXlzTWlzc2luZy1pT1NcIiIpOwor
I2VuZGlmCisKKyNlbHNlCisKKyNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0g
MTAxMjAwCithc20oIi5saW5rZXJfb3B0aW9uIFwiLWxUZXN0V1RGQWx3YXlzTWlzc2luZy1tYWNP
Uy12MlwiIik7CisjZWxzZQorYXNtKCIubGlua2VyX29wdGlvbiBcIi1sVGVzdFdURkFsd2F5c01p
c3NpbmctbWFjT1NcIiIpOworI2VuZGlmCisKKyNlbmRpZgorCitleHRlcm4gIkMiIHsKKyAgICBl
eHRlcm4gdm9pZCBUZXN0V1RGQWx3YXlzTWlzc2luZyh2b2lkKSBfX2F0dHJpYnV0ZV9fKCh3ZWFr
X2ltcG9ydCkpOworfQorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisKK1RFU1QoV2Vha0xp
bmtpbmcsIElzTnVsbEZ1bmN0aW9uUG9pbnRlcikKK3sKKyAgICBFWFBFQ1RfVFJVRShpc051bGxG
dW5jdGlvblBvaW50ZXIoVGVzdFdURkFsd2F5c01pc3NpbmcpKTsKKyAgICBFWFBFQ1RfRkFMU0Uo
aXNOdWxsRnVuY3Rpb25Qb2ludGVyKGNsb3NlKSk7Cit9CisKK30KKworI2VuZGlmCkluZGV4OiBU
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9kYXJ3aW4vbGliVGVzdFdURkFsd2F5c01pc3Np
bmctaU9TLXYyLnRiZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dU
Ri9kYXJ3aW4vbGliVGVzdFdURkFsd2F5c01pc3NpbmctaU9TLXYyLnRiZAkobm9uZXhpc3RlbnQp
CisrKyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9kYXJ3aW4vbGliVGVzdFdURkFsd2F5
c01pc3NpbmctaU9TLXYyLnRiZAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACistLS0g
IXRhcGktdGJkLXYyCithcmNoczogWyBpMzg2LCB4ODZfNjQsIGFybXY3LCBhcm12N3MsIGFybTY0
IF0KK3V1aWRzOiBbICdpMzg2OiA2RUE4MUEwQS1EODNGLTQwODEtQjNFQS05MDQxOUMxNTczQkE4
NycsICd4ODZfNjQ6IDI4RTgxRTExLTI3OTQtNDE5Mi1BNDZBLTA2QzczQzlCQUZCOScsICdhcm12
NzogMDBDNjczOTctRjdBMi00MzFBLTlGMjctRDRGNjExMDZGQzFGJywgJ2FybXY3czogRjlDMTcy
RkMtQTExMi00ODhDLTg4OUItQjcwRkEyMEFFODI3JywgJ2FybTY0OiAzRkRCMTJGQi0wQkYyLTQw
NUMtQjIxQS0yRDNEMkQxOEVCNUYnIF0KK3BsYXRmb3JtOiBpb3MKK2luc3RhbGwtbmFtZTogL3Vz
ci9sb2NhbC9saWIvbGliVGVzdFdURkFsd2F5c01pc3NpbmcuZHlsaWIKK29iamMtY29uc3RyYWlu
dDogbm9uZQorZXhwb3J0czoKKyAgLSBhcmNoczogWyBpMzg2LCB4ODZfNjQsIGFybXY3LCBhcm12
N3MsIGFybTY0IF0KKyAgICBzeW1ib2xzOiBbIF9UZXN0V1RGQWx3YXlzTWlzc2luZyBdCisuLi4K
SW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL2Rhcndpbi9saWJUZXN0V1RGQWx3
YXlzTWlzc2luZy1pT1MudGJkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV1RGL2Rhcndpbi9saWJUZXN0V1RGQWx3YXlzTWlzc2luZy1pT1MudGJkCShub25leGlzdGVu
dCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL2Rhcndpbi9saWJUZXN0V1RGQWx3
YXlzTWlzc2luZy1pT1MudGJkCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsOSBAQAorLS0tCith
cmNoczogWyBpMzg2LCB4ODZfNjQsIGFybXY3LCBhcm12N3MsIGFybTY0IF0KK3BsYXRmb3JtOiBp
b3MKK2luc3RhbGwtbmFtZTogL3Vzci9sb2NhbC9saWIvbGliVGVzdFdURkFsd2F5c01pc3Npbmcu
ZHlsaWIKK29iamMtY29uc3RyYWludDogbm9uZQorZXhwb3J0czoKKyAgLSBhcmNoczogWyBpMzg2
LCB4ODZfNjQsIGFybXY3LCBhcm12N3MsIGFybTY0IF0KKyAgICBzeW1ib2xzOiBbIF9UZXN0V1RG
QWx3YXlzTWlzc2luZyBdCisuLi4KSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RG
L2Rhcndpbi9saWJUZXN0V1RGQWx3YXlzTWlzc2luZy1tYWNPUy12Mi50YmQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvZGFyd2luL2xpYlRlc3RXVEZBbHdheXNN
aXNzaW5nLW1hY09TLXYyLnRiZAkobm9uZXhpc3RlbnQpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dURi9kYXJ3aW4vbGliVGVzdFdURkFsd2F5c01pc3NpbmctbWFjT1MtdjIudGJkCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTAgQEAKKy0tLSAhdGFwaS10YmQtdjIKK2FyY2hzOiBb
IGkzODYsIHg4Nl82NCBdCit1dWlkczogWyAnaTM4NjogNkVBODFBMEEtRDgzRi00MDgxLUIzRUEt
OTA0MTlDMTU3M0JBODcnLCAneDg2XzY0OiAyOEU4MUUxMS0yNzk0LTQxOTItQTQ2QS0wNkM3M0M5
QkFGQjknIF0KK3BsYXRmb3JtOiBtYWNvc3gKK2luc3RhbGwtbmFtZTogL3Vzci9sb2NhbC9saWIv
bGliVGVzdFdURkFsd2F5c01pc3NpbmcuZHlsaWIKK29iamMtY29uc3RyYWludDogbm9uZQorZXhw
b3J0czoKKyAgLSBhcmNoczogWyBpMzg2LCB4ODZfNjQgXQorICAgIHN5bWJvbHM6IFsgX1Rlc3RX
VEZBbHdheXNNaXNzaW5nIF0KKy4uLgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvZGFyd2luL2xpYlRlc3RXVEZBbHdheXNNaXNzaW5nLW1hY09TLnRiZAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9kYXJ3aW4vbGliVGVzdFdURkFsd2F5c01p
c3NpbmctbWFjT1MudGJkCShub25leGlzdGVudCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV1RGL2Rhcndpbi9saWJUZXN0V1RGQWx3YXlzTWlzc2luZy1tYWNPUy50YmQJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw5IEBACistLS0KK2FyY2hzOiBbIGkzODYsIHg4Nl82NCBdCitwbGF0
Zm9ybTogbWFjb3N4CitpbnN0YWxsLW5hbWU6IC91c3IvbG9jYWwvbGliL2xpYlRlc3RXVEZBbHdh
eXNNaXNzaW5nLmR5bGliCitvYmpjLWNvbnN0cmFpbnQ6IG5vbmUKK2V4cG9ydHM6CisgIC0gYXJj
aHM6IFsgaTM4NiwgeDg2XzY0IF0KKyAgICBzeW1ib2xzOiBbIF9UZXN0V1RGQWx3YXlzTWlzc2lu
ZyBdCisuLi4K
</data>
<flag name="review"
          id="328530"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>