<?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>231251</bug_id>
          
          <creation_ts>2021-10-05 14:01:18 -0700</creation_ts>
          <short_desc>Add back RetainPtrARC and TypeCastsCocoaARC tests to TestWTF</short_desc>
          <delta_ts>2021-10-15 10:53: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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=231819</see_also>
          <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>
          <dependson>230406</dependson>
    
    <dependson>231172</dependson>
          <blocked>231467</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>ayumi_kojima</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1800742</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2021-10-05 14:01:18 -0700</bug_when>
    <thetext>Add back RetainPtrARC and TypeCastsCocoaARC tests to TestWTF.

They were removed for:

    Bug 230406: WTF::RetainPtr&lt;&gt; allows assignment of two pointer types that are not assignable

They were removed to make the bots green again:

    Bug 231172: REGRESSION (r283476): [ iOS macOS Debug ] TestWTF failures in RetainPtrARC and TypeCastsCocoaARC</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800743</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-05 14:02:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/83902809&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801112</commentid>
    <comment_count>2</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2021-10-06 08:55:06 -0700</bug_when>
    <thetext>See test failures here:

&lt;https://results.webkit.org/?suite=api-tests&amp;suite=api-tests&amp;suite=api-tests&amp;suite=api-tests&amp;suite=api-tests&amp;suite=api-tests&amp;test=TestWTF.TypeCastsCocoaARC.dynamic_objc_cast_RetainPtr&amp;test=TestWTF.TypeCastsCocoaARC.dynamic_objc_cast&amp;test=TestWTF.TypeCastsCocoaARC.checked_objc_cast&amp;test=TestWTF.TypeCastsCocoaARC.bridge_id_cast&amp;test=TestWTF.RetainPtrARC.RetainPtrNS&amp;test=TestWTF.RetainPtrARC.AdoptNS&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801418</commentid>
    <comment_count>3</comment_count>
      <attachid>440455</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2021-10-06 16:44:13 -0700</bug_when>
    <thetext>Created attachment 440455
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801465</commentid>
    <comment_count>4</comment_count>
      <attachid>440455</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-06 18:24:02 -0700</bug_when>
    <thetext>Comment on attachment 440455
Patch v1

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

Nice solution.

&gt; Source/WTF/ChangeLog:12
&gt; +        * wtf/cocoa/TypeCastsCocoa.h:
&gt; +        (checked_objc_castArc):
&gt; +        - Change `checked_objc_castARC` to `checked_objc_castArc` to
&gt; +          match `adoptNSArc`.

Nice to match, but not sure why Chris decided to turn ARC into a word.

&gt; Tools/TestWebKitAPI/Tests/WTF/cocoa/TypeCastsCocoa.mm:38
&gt; +#define TEST_WTF_BEGIN_AUTORELEASEPOOL @autoreleasepool {

I suggest a name like: BEGIN_AUTORELEASEPOOL_FOR_ARC_DEBUG

I understand the concept of using &quot;WTF&quot; to avoid conflicts, and &quot;TEST&quot;, but I don’t think either are needed in practice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801468</commentid>
    <comment_count>5</comment_count>
      <attachid>440455</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2021-10-06 18:33:33 -0700</bug_when>
    <thetext>Comment on attachment 440455
Patch v1

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

&gt;&gt; Source/WTF/ChangeLog:12
&gt;&gt; +          match `adoptNSArc`.
&gt; 
&gt; Nice to match, but not sure why Chris decided to turn ARC into a word.

I&apos;ll revert this change for the final patch.

&gt;&gt; Tools/TestWebKitAPI/Tests/WTF/cocoa/TypeCastsCocoa.mm:38
&gt;&gt; +#define TEST_WTF_BEGIN_AUTORELEASEPOOL @autoreleasepool {
&gt; 
&gt; I suggest a name like: BEGIN_AUTORELEASEPOOL_FOR_ARC_DEBUG
&gt; 
&gt; I understand the concept of using &quot;WTF&quot; to avoid conflicts, and &quot;TEST&quot;, but I don’t think either are needed in practice.

Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801469</commentid>
    <comment_count>6</comment_count>
      <attachid>440462</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2021-10-06 18:37:06 -0700</bug_when>
    <thetext>Created attachment 440462
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801604</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-07 08:02:31 -0700</bug_when>
    <thetext>Committed r283712 (242638@main): &lt;https://commits.webkit.org/242638@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 440462.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440455</attachid>
            <date>2021-10-06 16:44:13 -0700</date>
            <delta_ts>2021-10-06 18:24:02 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-231251-20211006164412.patch</filename>
            <type>text/plain</type>
            <size>29017</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGE4NDgwMmU4NjAzYjY5ZDZiNGYwOWI2
NTQyNjY5ZTQzMTU3ZjQ1N2MuLmYyZWE3MWVhNGE5ZTE2Y2Q0NTVhZjU2ZmFjNjE2NWRkZjBjMzFm
MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTAtMDYgIERhdmlkIEtpbHplciAgPGRka2ls
emVyQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYmFjayBSZXRhaW5QdHJBUkMgYW5kIFR5cGVD
YXN0c0NvY29hQVJDIHRlc3RzIHRvIFRlc3RXVEYKKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9y
Zy9iLzIzMTI1MT4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgzOTAyODA5PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL2NvY29hL1R5cGVD
YXN0c0NvY29hLmg6CisgICAgICAgIChjaGVja2VkX29iamNfY2FzdEFyYyk6CisgICAgICAgIC0g
Q2hhbmdlIGBjaGVja2VkX29iamNfY2FzdEFSQ2AgdG8gYGNoZWNrZWRfb2JqY19jYXN0QXJjYCB0
bworICAgICAgICAgIG1hdGNoIGBhZG9wdE5TQXJjYC4KKwogMjAyMS0xMC0wNSAgRGF2aWQgS2ls
emVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEZvbGxvdy11cCAjMjogV1RGOjpS
ZXRhaW5QdHI8PiBhbGxvd3MgYXNzaWdubWVudCBvZiB0d28gcG9pbnRlciB0eXBlcyB0aGF0IGFy
ZSBub3QgYXNzaWduYWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2EvVHlwZUNh
c3RzQ29jb2EuaCBiL1NvdXJjZS9XVEYvd3RmL2NvY29hL1R5cGVDYXN0c0NvY29hLmgKaW5kZXgg
MmJkYzI2YWM3NGJmZDA5ZTBmMjFjZDg1M2ZjNDRmOTY2YjU0ZDI3YS4uMDQyYjljNTIwZDU0MzQ1
MmJhNjE0NTlkYTIyYzE4MWE0ODIzNjFjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvY29j
b2EvVHlwZUNhc3RzQ29jb2EuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9UeXBlQ2FzdHND
b2NvYS5oCkBAIC0xMTEsNyArMTExLDcgQEAgaW5saW5lIFJldGFpblB0cjxpZD4gYnJpZGdlX2lk
X2Nhc3QoUmV0YWluUHRyPENGVHlwZVJlZj4mJiBvYmplY3QpCiAvLyBCZWNhdXNlIEFSQyBlbmFi
bGVtZW50IGlzIGEgY29tcGlsZS10aW1lIGNob2ljZSwgYW5kIHdlIGNvbXBpbGUgdGhpcyBoZWFk
ZXIKIC8vIGJvdGggd2F5cywgd2UgbmVlZCBhIHNlcGFyYXRlIGNvcHkgb2Ygb3VyIGNvZGUgd2hl
biBBUkMgaXMgZW5hYmxlZC4KICNpZiBfX2hhc19mZWF0dXJlKG9iamNfYXJjKQotI2RlZmluZSBj
aGVja2VkX29iamNfY2FzdCBjaGVja2VkX29iamNfY2FzdEFSQworI2RlZmluZSBjaGVja2VkX29i
amNfY2FzdCBjaGVja2VkX29iamNfY2FzdEFyYwogI2VuZGlmCiAKIHRlbXBsYXRlPHR5cGVuYW1l
IFQ+IGlubGluZSBUKiBjaGVja2VkX29iamNfY2FzdChpZCBvYmplY3QpCmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjdkYTBjNmM5MTZhOTc1MTU0
ODM4ZTQzYzAxMDE0OTg1NTQ5MjVkZi4uMWI2YjI4ZWZhODFiZTI1YzQzMDQ2M2JiMjBlMTNhOTFm
MGQxNTI2ZiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTEwLTA2ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIGJhY2sgUmV0YWluUHRyQVJDIGFuZCBUeXBlQ2FzdHND
b2NvYUFSQyB0ZXN0cyB0byBUZXN0V1RGCisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8y
MzEyNTE+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MzkwMjgwOT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAtIEFkZCBSZXRhaW5Q
dHJBUkMubW0gYW5kIFR5cGVDYXN0c0NvY29hQVJDLm1tIHRvIHRoZSBwcm9qZWN0LgorCisgICAg
ICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvY29jb2EvVHlwZUNhc3RzQ29jb2EubW06Cisg
ICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKToKKyAgICAgICAgLSBNb2RpZnkgdGVzdHMgdG8g
Y2xlYW4gdXAgYXV0b3JlbGVhc2VkIG9iamVjdHMgaW4gRGVidWcgYnVpbGRzCisgICAgICAgICAg
dGhhdCBhcmUgb3B0aW1pemVkIG91dCBvZiBSZWxlYXNlIGJ1aWxkcy4KKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9jb2NvYS9UeXBlQ2FzdHNDb2NvYUFSQy5tbTogQWRkLgorICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL25zL1JldGFpblB0ci5tbToKKyAgICAgICAg
KFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorICAgICAgICAtIE1vZGlmeSB0ZXN0cyB0byBjbGVhbiB1
cCBhdXRvcmVsZWFzZWQgb2JqZWN0cyBpbiBEZWJ1ZyBidWlsZHMKKyAgICAgICAgICB0aGF0IGFy
ZSBvcHRpbWl6ZWQgb3V0IG9mIFJlbGVhc2UgYnVpbGRzLgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV1RGL25zL1JldGFpblB0ckFSQy5tbTogQWRkLgorCiAyMDIxLTEwLTA1ICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI4
MzQ3Nik6IFsgaU9TIG1hY09TIERlYnVnIF0gVGVzdFdURiBmYWlsdXJlcyBpbiBSZXRhaW5QdHJB
UkMgYW5kIFR5cGVDYXN0c0NvY29hQVJDCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDdlMGY2
MzlmYjA3Y2ZkODVlYmRiOWEwMGJjZDRlY2Q5M2E3ZjQ1MDUuLmJkOTI4MjM4NTA1MTI3NjY5ZWQ2
NDE0ZWM4ZmJkZjYyNWIwODE3MmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNjIsNiAr
MjYyLDcgQEAKIAkJNDFFNjdBODUyNUQxNkU4MzAwN0IwQTRDIC8qIFNUVU5NZXNzYWdlUGFyc2lu
Z1Rlc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDFFNjdBODQyNUQxNkU4MzAwN0IwQTRDIC8qIFNUVU5NZXNzYWdlUGFyc2luZ1Rlc3QuY3BwICov
OyB9OwogCQk0NDA3N0JCMTIzMTQ0QjUwMDAxNzlFMkQgLyogRGF0YURldGVjdG9yc1Rlc3RJT1Mu
bW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDA3N0JC
MDIzMTQ0OUQyMDAxNzlFMkQgLyogRGF0YURldGVjdG9yc1Rlc3RJT1MubW0gKi87IH07CiAJCTQ0
MzNBMzk2MjA4MDQ0MTQwMDkxRUQ1NyAvKiBTeW5jaHJvbm91c1RpbWVvdXRUZXN0cy5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzNBMzk1MjA4MDQ0
MTMwMDkxRUQ1NyAvKiBTeW5jaHJvbm91c1RpbWVvdXRUZXN0cy5tbSAqLzsgfTsKKwkJNDQ2NTJD
QjcyNkZDRDQwNTAwNUVDMjcyIC8qIFR5cGVDYXN0c0NvY29hQVJDLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ2NTJDQjYyNkZDRDQwNTAwNUVDMjcy
IC8qIFR5cGVDYXN0c0NvY29hQVJDLm1tICovOyBzZXR0aW5ncyA9IHtDT01QSUxFUl9GTEFHUyA9
ICItZm9iamMtYXJjIjsgfTsgfTsKIAkJNDQ4MTEwQzIyNTNGNDAzMDAwOTdGQzMzIC8qIFdlYlBy
ZWZlcmVuY2VzVGVzdC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ0ODExMEMxMjUzRjQwMjQwMDk3RkMzMyAvKiBXZWJQcmVmZXJlbmNlc1Rlc3QubW0g
Ki87IH07CiAJCTQ0ODE3QTJGMUYwNDg2QkYwMDAwMzgxMCAvKiBXS1JlcXVlc3RBY3RpdmF0ZWRF
bGVtZW50SW5mby5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ0ODE3QTJFMUYwNDg2QkYwMDAwMzgxMCAvKiBXS1JlcXVlc3RBY3RpdmF0ZWRFbGVtZW50
SW5mby5tbSAqLzsgfTsKIAkJNDQ4RDdFNDcxRUE2QzU1NTAwRUNDNzU2IC8qIEVudmlyb25tZW50
VXRpbGl0aWVzVGVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NDhEN0U0NTFFQTZDNTU1MDBFQ0M3NTYgLyogRW52aXJvbm1lbnRVdGlsaXRpZXNU
ZXN0LmNwcCAqLzsgfTsKQEAgLTI2OSw2ICsyNzAsNyBAQAogCQk0NEMyRkJFMjI1RTc1OTJDMDBB
QkM3MkYgLyogV0tBcHBIaWdobGlnaHRzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDRDMkZCRTEyNUU3NTkyQzAwQUJDNzJGIC8qIFdLQXBwSGlnaGxp
Z2h0cy5tbSAqLzsgfTsKIAkJNDRDREU0RDQyNkVFNkU0QTAwOUY2QUNCIC8qIFR5cGVDYXN0c0Nv
Y29hLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRD
REU0RDMyNkVFNkU0MTAwOUY2QUNCIC8qIFR5cGVDYXN0c0NvY29hLm1tICovOyB9OwogCQk0NENG
MzFGRDI0OTk0MUU4MDA5Q0I2Q0IgLyogQ29udGV4dE1lbnVBY3Rpb24uY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRDRjMxRkIyNDk5M0Y2NjAwOUNC
NkNCIC8qIENvbnRleHRNZW51QWN0aW9uLmNwcCAqLzsgfTsKKwkJNDRENTAwOEUyNkZFOUVENjAw
MEVCMTJGIC8qIFJldGFpblB0ckFSQy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQ0RDUwMDhEMjZGRTlFRDYwMDBFQjEyRiAvKiBSZXRhaW5QdHJBUkMu
bW0gKi87IHNldHRpbmdzID0ge0NPTVBJTEVSX0ZMQUdTID0gIi1mb2JqYy1hcmMiOyB9OyB9Owog
CQk0NjEyQzJCOTIxMEE2QUNFMDBCNzg4QTYgLyogTG9hZEZpbGVUaGVuUmVsb2FkLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDYxMkMyQjgyMTBBNkFC
RjAwQjc4OEE2IC8qIExvYWRGaWxlVGhlblJlbG9hZC5tbSAqLzsgfTsKIAkJNDYyOEM4RTkyMzY3
QUJEMTAwQjA3M0YwIC8qIFdLU2VjdXJpdHlPcmlnaW4uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDYyOEM4RTgyMzY3QUJCQzAwQjA3M0YwIC8qIFdL
U2VjdXJpdHlPcmlnaW4uY3BwICovOyB9OwogCQk0NjM5N0I5NTFEQzJDODUwMDA5QTc4QUUgLyog
RE9NTm9kZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ2Mzk3Qjk0MURDMkM4NTAwMDlBNzhBRSAvKiBET01Ob2RlLm1tICovOyB9OwpAQCAtMjEwMyw2
ICsyMTA1LDcgQEAKIAkJNDQwNzdCQjAyMzE0NDlEMjAwMTc5RTJEIC8qIERhdGFEZXRlY3RvcnNU
ZXN0SU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRGF0YURl
dGVjdG9yc1Rlc3RJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0MkJCRjY4
MUM5MUNBRDkwMDE3MDg3RiAvKiBSZWZMb2dnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gUmVmTG9nZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDQzM0EzOTUyMDgwNDQxMzAwOTFFRDU3IC8qIFN5bmNocm9ub3VzVGltZW91dFRlc3RzLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3luY2hyb25vdXNUaW1l
b3V0VGVzdHMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0NjUyQ0I2MjZGQ0Q0
MDUwMDVFQzI3MiAvKiBUeXBlQ2FzdHNDb2NvYUFSQy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFR5cGVDYXN0c0NvY29hQVJDLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0NDgxMTBDMTI1M0Y0MDI0MDA5N0ZDMzMgLyogV2ViUHJlZmVyZW5jZXNU
ZXN0Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViUHJlZmVyZW5jZXNUZXN0Lm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDgxN0EyRTFGMDQ4NkJGMDAwMDM4MTAgLyogV0tS
ZXF1ZXN0QWN0aXZhdGVkRWxlbWVudEluZm8ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBXS1JlcXVlc3RBY3RpdmF0ZWRFbGVtZW50SW5mby5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ4RDdFNDUxRUE2QzU1NTAwRUNDNzU2IC8qIEVudmlyb25t
ZW50VXRpbGl0aWVzVGVzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBFbnZpcm9ubWVudFV0aWxpdGllc1Rlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMjExMCw2ICsyMTEzLDcgQEAKIAkJNDRDMkZCRTEyNUU3NTkyQzAwQUJDNzJGIC8qIFdL
QXBwSGlnaGxpZ2h0cy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFdLQXBwSGlnaGxpZ2h0cy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRDREU0
RDMyNkVFNkU0MTAwOUY2QUNCIC8qIFR5cGVDYXN0c0NvY29hLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gVHlwZUNhc3RzQ29jb2EubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQ0Q0YzMUZCMjQ5OTNGNjYwMDlDQjZDQiAvKiBDb250ZXh0TWVudUFj
dGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb250ZXh0TWVu
dUFjdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RDUwMDhEMjZGRTlF
RDYwMDBFQjEyRiAvKiBSZXRhaW5QdHJBUkMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IG5hbWUgPSBSZXRhaW5QdHJBUkMubW07IHBhdGggPSBucy9SZXRhaW5QdHJBUkMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2MEMyRkM4MjcwMzlEN0QwMDQ3RUYxMSAv
KiBTZXJ2aWNlV29ya2VyUGFnZVByb3RvY29sLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNlcnZpY2VXb3Jr
ZXJQYWdlUHJvdG9jb2wuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDYxMkMyQjgy
MTBBNkFCRjAwQjc4OEE2IC8qIExvYWRGaWxlVGhlblJlbG9hZC5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExvYWRGaWxlVGhlblJlbG9hZC5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDYyOEM4RTgyMzY3QUJCQzAwQjA3M0YwIC8qIFdLU2VjdXJp
dHlPcmlnaW4uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tTZWN1
cml0eU9yaWdpbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00Mjk3LDYgKzQz
MDEsNyBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJMUFEQUQxNEUxRDc3QTlGNjAwMjEyNTg2IC8q
IEJsb2NrUHRyLm1tICovLAogCQkJCUJDMDI5QjFCMTQ4NkIyNTkwMDgxN0RBOSAvKiBSZXRhaW5Q
dHIubW0gKi8sCisJCQkJNDRENTAwOEQyNkZFOUVENjAwMEVCMTJGIC8qIFJldGFpblB0ckFSQy5t
bSAqLywKIAkJCSk7CiAJCQluYW1lID0gbnM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpA
QCAtNTAxMSw2ICs1MDE2LDcgQEAKIAkJCQkxQzQ2MTZBNjI2QkIxNzJGMDBGOEM5RjYgLyogVGV4
dFN0cmVhbUNvY29hLmNwcCAqLywKIAkJCQkxQzQ2MTY5RTI2QkE1MTA3MDBGOEM5RjYgLyogVGV4
dFN0cmVhbUNvY29hLm1tICovLAogCQkJCTQ0Q0RFNEQzMjZFRTZFNDEwMDlGNkFDQiAvKiBUeXBl
Q2FzdHNDb2NvYS5tbSAqLywKKwkJCQk0NDY1MkNCNjI2RkNENDA1MDA1RUMyNzIgLyogVHlwZUNh
c3RzQ29jb2FBUkMubW0gKi8sCiAJCQkJRTNDMjFBN0IyMUIyNUNBMjAwM0IzMUEzIC8qIFVSTEV4
dHJhcy5tbSAqLywKIAkJCSk7CiAJCQlwYXRoID0gY29jb2E7CkBAIC01MzI5LDYgKzUzMzUsNyBA
QAogCQkJCTdDODNERjE2MUQwQTU5MEMwMEZFQkNGMyAvKiBSZWZQdHIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNDRBQzhCQzYyMUQwMjQ1QTAwQ0FGQjM0IC8qIFJldGFpblB0ci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk3QzgzREYyNDFEMEE1OTBDMDBGRUJDRjMgLyogUmV0YWluUHRyLm1tIGlu
IFNvdXJjZXMgKi8sCisJCQkJNDRENTAwOEUyNkZFOUVENjAwMEVCMTJGIC8qIFJldGFpblB0ckFS
Qy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUUzNTVBNjMyMjYxNTcxOEYwMDFDMTEyOSAvKiBSb2Jp
bkhvb2RIYXNoTWFwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUzNTVBNjMwMjYxNTcxNzQwMDFD
MTEyOSAvKiBSb2Jpbkhvb2RIYXNoU2V0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDODNERjA1
MUQwQTU5MEMwMEZFQkNGMyAvKiBSdW5Mb29wLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNTM2MSw2
ICs1MzY4LDcgQEAKIAkJCQk1MzExQkQ1RTFFQTk0OTBFMDA1MjUyODEgLyogVGhyZWFkTWVzc2Fn
ZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEYyQzIwQjgxRENENTQ1MDAwNTQyRDlFIC8qIFRp
bWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDRDREU0RDQyNkVFNkU0QTAwOUY2QUNCIC8qIFR5
cGVDYXN0c0NvY29hLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNDQ2NTJDQjcyNkZDRDQwNTAwNUVD
MjcyIC8qIFR5cGVDYXN0c0NvY29hQVJDLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRTMyNEE2RjAy
MDQxQzgyMDAwQTc2NTkzIC8qIFVuaXF1ZUFycmF5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUz
QTFFNzgyMjFCMjVCN0EwMDhDNjAwNyAvKiBVUkwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTND
MjFBN0MyMUIyNUNBMjAwM0IzMUEzIC8qIFVSTEV4dHJhcy5tbSBpbiBTb3VyY2VzICovLApkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvY29jb2EvVHlwZUNhc3RzQ29j
b2EubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9jb2NvYS9UeXBlQ2FzdHNDb2Nv
YS5tbQppbmRleCA5ZmZiNDZlNDY3MGIwZjMyYWNiYWZmYmZjMGRjMWVkZTE0MGEwZmU1Li40NDA0
MjEzZWRmNzI4ZmY3YTIzM2JmNDU4NDViNjY2NjA3MzY1YmYxIDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9jb2NvYS9UeXBlQ2FzdHNDb2NvYS5tbQorKysgYi9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9jb2NvYS9UeXBlQ2FzdHNDb2NvYS5tbQpAQCAtMzEs
NiArMzEsMTcgQEAKICNlcnJvciBUaGlzIHRlc3RzIFR5cGVDYXN0c0NvY29hLmggd2l0aCBBUkMg
ZGlzYWJsZWQuCiAjZW5kaWYKIAorI2lmIF9faGFzX2ZlYXR1cmUob2JqY19hcmMpICYmICFkZWZp
bmVkKE5ERUJVRykKKy8vIERlYnVnIGJ1aWxkcyB3aXRoIEFSQyBlbmFibGVkIGNhdXNlIG9iamVj
dHMgdG8gYmUgYXV0b3JlbGVhc2VkCisvLyB3aGVuIGFzc2lnbmluZyBhZG9wdE5TKCkgcmVzdWx0
IHRvIGEgZGlmZmVyZW50IFJldGFpblB0cjw+IHR5cGUsCisvLyBhbmQgd2hlbiBjYWxsaW5nIFJl
dGFpblB0cjw+OjpnZXQoKS4KKyNkZWZpbmUgVEVTVF9XVEZfQkVHSU5fQVVUT1JFTEVBU0VQT09M
IEBhdXRvcmVsZWFzZXBvb2wgeworI2RlZmluZSBURVNUX1dURl9FTkRfQVVUT1JFTEVBU0VQT09M
IH0KKyNlbHNlCisjZGVmaW5lIFRFU1RfV1RGX0JFR0lOX0FVVE9SRUxFQVNFUE9PTAorI2RlZmlu
ZSBURVNUX1dURl9FTkRfQVVUT1JFTEVBU0VQT09MCisjZW5kaWYKKwogQGludGVyZmFjZSBNeU9i
amVjdFN1YnR5cGUgOiBOU09iamVjdAogQGVuZAogCkBAIC0xMDIsNyArMTEzLDEwIEBAIFRFU1Qo
VHlwZUNhc3RzQ29jb2EsIGJyaWRnZV9pZF9jYXN0KQogICAgICAgICBFWFBFQ1RfRVEoMUwsIENG
R2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmplY3RDRlB0cikpOwogCiAgICAgICAgIGF1dG8g
b2JqZWN0SUQgPSBicmlkZ2VfaWRfY2FzdChXVEZNb3ZlKG9iamVjdENGKSk7Ci0gICAgICAgIGF1
dG8gb2JqZWN0SURQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0SUQuZ2V0
KCkpOworICAgICAgICB1aW50cHRyX3Qgb2JqZWN0SURQdHI7CitURVNUX1dURl9CRUdJTl9BVVRP
UkVMRUFTRVBPT0wKKyAgICAgICAgb2JqZWN0SURQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRw
dHJfdD4ob2JqZWN0SUQuZ2V0KCkpOworVEVTVF9XVEZfRU5EX0FVVE9SRUxFQVNFUE9PTAogICAg
ICAgICBFWFBFQ1RfRVEoTlVMTCwgb2JqZWN0Q0YuZ2V0KCkpOwogICAgICAgICBFWFBFQ1RfRVEo
b2JqZWN0Q0ZQdHIsIG9iamVjdElEUHRyKTsKICAgICAgICAgRVhQRUNUX0VRKDFMLCBDRkdldFJl
dGFpbkNvdW50KChDRlR5cGVSZWYpb2JqZWN0SURQdHIpKTsKQEAgLTExNCwyNCArMTI4LDM2IEBA
IFRFU1QoVHlwZUNhc3RzQ29jb2EsIGNoZWNrZWRfb2JqY19jYXN0KQogICAgIEVYUEVDVF9FUShu
aWwsIGNoZWNrZWRfb2JqY19jYXN0PE5TU3RyaW5nPihuaWwpKTsKIAogICAgIEBhdXRvcmVsZWFz
ZXBvb2wgewotICAgICAgICBhdXRvIG9iamVjdE5TID0gYWRvcHROUzxpZD4oW1tOU1N0cmluZyBh
bGxvY10gaW5pdFdpdGhGb3JtYXQ6QCIlcyIsIGhlbGxvV29ybGRDU3RyaW5nXSk7Ci0gICAgICAg
IGF1dG8gb2JqZWN0TlNQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0TlMu
Z2V0KCkpOworICAgICAgICBSZXRhaW5QdHI8aWQ+IG9iamVjdE5TOworICAgICAgICB1aW50cHRy
X3Qgb2JqZWN0TlNQdHI7CitURVNUX1dURl9CRUdJTl9BVVRPUkVMRUFTRVBPT0wKKyAgICAgICAg
b2JqZWN0TlMgPSBhZG9wdE5TPGlkPihbW05TU3RyaW5nIGFsbG9jXSBpbml0V2l0aEZvcm1hdDpA
IiVzIiwgaGVsbG9Xb3JsZENTdHJpbmddKTsKKyAgICAgICAgb2JqZWN0TlNQdHIgPSByZWludGVy
cHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0TlMuZ2V0KCkpOwogICAgICAgICBFWFBFQ1RfRVEo
b2JqZWN0TlMuZ2V0KCksIGNoZWNrZWRfb2JqY19jYXN0PE5TU3RyaW5nPihvYmplY3ROUy5nZXQo
KSkpOwogICAgICAgICBFWFBFQ1RfRVEob2JqZWN0TlMuZ2V0KCksIGNoZWNrZWRfb2JqY19jYXN0
PE5TT2JqZWN0PihvYmplY3ROUy5nZXQoKSkpOworVEVTVF9XVEZfRU5EX0FVVE9SRUxFQVNFUE9P
TAogICAgICAgICBFWFBFQ1RfRVEoMUwsIENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmpl
Y3ROU1B0cikpOwogICAgIH0KIAogICAgIEBhdXRvcmVsZWFzZXBvb2wgewotICAgICAgICBhdXRv
IG9iamVjdE5TID0gYWRvcHROUzxOU09iamVjdCAqPihbW05TU3RyaW5nIGFsbG9jXSBpbml0V2l0
aEZvcm1hdDpAIiVzIiwgaGVsbG9Xb3JsZENTdHJpbmddKTsKLSAgICAgICAgYXV0byBvYmplY3RO
U1B0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3ROUy5nZXQoKSk7CisgICAg
ICAgIFJldGFpblB0cjxOU09iamVjdCAqPiBvYmplY3ROUzsKKyAgICAgICAgdWludHB0cl90IG9i
amVjdE5TUHRyOworVEVTVF9XVEZfQkVHSU5fQVVUT1JFTEVBU0VQT09MCisgICAgICAgIG9iamVj
dE5TID0gYWRvcHROUzxOU09iamVjdCAqPihbW05TU3RyaW5nIGFsbG9jXSBpbml0V2l0aEZvcm1h
dDpAIiVzIiwgaGVsbG9Xb3JsZENTdHJpbmddKTsKKyAgICAgICAgb2JqZWN0TlNQdHIgPSByZWlu
dGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0TlMuZ2V0KCkpOwogICAgICAgICBFWFBFQ1Rf
RVEob2JqZWN0TlMuZ2V0KCksIGNoZWNrZWRfb2JqY19jYXN0PE5TU3RyaW5nPihvYmplY3ROUy5n
ZXQoKSkpOworVEVTVF9XVEZfRU5EX0FVVE9SRUxFQVNFUE9PTAogICAgICAgICBFWFBFQ1RfRVEo
MUwsIENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmplY3ROU1B0cikpOwogICAgIH0KIAog
ICAgIEBhdXRvcmVsZWFzZXBvb2wgewotICAgICAgICBhdXRvIG9iamVjdE5TID0gYWRvcHROUyhb
W05TU3RyaW5nIGFsbG9jXSBpbml0V2l0aEZvcm1hdDpAIiVzIiwgaGVsbG9Xb3JsZENTdHJpbmdd
KTsKLSAgICAgICAgYXV0byBvYmplY3ROU1B0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90
PihvYmplY3ROUy5nZXQoKSk7CisgICAgICAgIFJldGFpblB0cjxOU1N0cmluZz4gb2JqZWN0TlM7
CisgICAgICAgIHVpbnRwdHJfdCBvYmplY3ROU1B0cjsKK1RFU1RfV1RGX0JFR0lOX0FVVE9SRUxF
QVNFUE9PTAorICAgICAgICBvYmplY3ROUyA9IGFkb3B0TlMoW1tOU1N0cmluZyBhbGxvY10gaW5p
dFdpdGhGb3JtYXQ6QCIlcyIsIGhlbGxvV29ybGRDU3RyaW5nXSk7CisgICAgICAgIG9iamVjdE5T
UHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdE5TLmdldCgpKTsKICAgICAg
ICAgRVhQRUNUX0VRKG9iamVjdE5TLmdldCgpLCBjaGVja2VkX29iamNfY2FzdDxOU09iamVjdD4o
b2JqZWN0TlMuZ2V0KCkpKTsKK1RFU1RfV1RGX0VORF9BVVRPUkVMRUFTRVBPT0wKICAgICAgICAg
RVhQRUNUX0VRKDFMLCBDRkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2JqZWN0TlNQdHIpKTsK
ICAgICB9CiB9CkBAIC0xNDIsNDEgKzE2OCw1NiBAQCBURVNUKFR5cGVDYXN0c0NvY29hLCBkeW5h
bWljX29iamNfY2FzdCkKIAogICAgIEBhdXRvcmVsZWFzZXBvb2wgewogICAgICAgICBhdXRvIG9i
amVjdE5TID0gYWRvcHROUzxpZD4oW1tOU1N0cmluZyBhbGxvY10gaW5pdFdpdGhGb3JtYXQ6QCIl
cyIsIGhlbGxvV29ybGRDU3RyaW5nXSk7Ci0gICAgICAgIGF1dG8gb2JqZWN0TlNQdHIgPSByZWlu
dGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0TlMuZ2V0KCkpOworICAgICAgICB1aW50cHRy
X3Qgb2JqZWN0TlNQdHI7CitURVNUX1dURl9CRUdJTl9BVVRPUkVMRUFTRVBPT0wKKyAgICAgICAg
b2JqZWN0TlNQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0TlMuZ2V0KCkp
OwogICAgICAgICBFWFBFQ1RfRVEob2JqZWN0TlMuZ2V0KCksIGR5bmFtaWNfb2JqY19jYXN0PE5T
U3RyaW5nPihvYmplY3ROUy5nZXQoKSkpOwogICAgICAgICBFWFBFQ1RfRVEob2JqZWN0TlMuZ2V0
KCksIGR5bmFtaWNfb2JqY19jYXN0PE5TT2JqZWN0PihvYmplY3ROUy5nZXQoKSkpOwogICAgICAg
ICBFWFBFQ1RfRVEobmlsLCBkeW5hbWljX29iamNfY2FzdDxOU0FycmF5PihvYmplY3ROUy5nZXQo
KSkpOworVEVTVF9XVEZfRU5EX0FVVE9SRUxFQVNFUE9PTAogICAgICAgICBFWFBFQ1RfRVEoMUws
IENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmplY3ROU1B0cikpOwogICAgIH0KIAogICAg
IEBhdXRvcmVsZWFzZXBvb2wgewogICAgICAgICBhdXRvIG9iamVjdE5TID0gYWRvcHROUzxOU09i
amVjdCAqPihbW05TU3RyaW5nIGFsbG9jXSBpbml0V2l0aEZvcm1hdDpAIiVzIiwgaGVsbG9Xb3Js
ZENTdHJpbmddKTsKLSAgICAgICAgYXV0byBvYmplY3ROU1B0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8
dWludHB0cl90PihvYmplY3ROUy5nZXQoKSk7CisgICAgICAgIHVpbnRwdHJfdCBvYmplY3ROU1B0
cjsKK1RFU1RfV1RGX0JFR0lOX0FVVE9SRUxFQVNFUE9PTAorICAgICAgICBvYmplY3ROU1B0ciA9
IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3ROUy5nZXQoKSk7CiAgICAgICAgIEVY
UEVDVF9FUShvYmplY3ROUy5nZXQoKSwgZHluYW1pY19vYmpjX2Nhc3Q8TlNTdHJpbmc+KG9iamVj
dE5TLmdldCgpKSk7CiAgICAgICAgIEVYUEVDVF9FUShuaWwsIGR5bmFtaWNfb2JqY19jYXN0PE5T
QXJyYXk+KG9iamVjdE5TLmdldCgpKSk7CitURVNUX1dURl9FTkRfQVVUT1JFTEVBU0VQT09MCiAg
ICAgICAgIEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5Db3VudCgoQ0ZUeXBlUmVmKW9iamVjdE5T
UHRyKSk7CiAgICAgfQogCiAgICAgQGF1dG9yZWxlYXNlcG9vbCB7CiAgICAgICAgIGF1dG8gb2Jq
ZWN0TlMgPSBhZG9wdE5TKFtbTlNTdHJpbmcgYWxsb2NdIGluaXRXaXRoRm9ybWF0OkAiJXMiLCBo
ZWxsb1dvcmxkQ1N0cmluZ10pOwotICAgICAgICBhdXRvIG9iamVjdE5TUHRyID0gcmVpbnRlcnBy
ZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdE5TLmdldCgpKTsKKyAgICAgICAgdWludHB0cl90IG9i
amVjdE5TUHRyOworVEVTVF9XVEZfQkVHSU5fQVVUT1JFTEVBU0VQT09MCisgICAgICAgIG9iamVj
dE5TUHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdE5TLmdldCgpKTsKICAg
ICAgICAgRVhQRUNUX0VRKG9iamVjdE5TLmdldCgpLCBkeW5hbWljX29iamNfY2FzdDxOU09iamVj
dD4ob2JqZWN0TlMuZ2V0KCkpKTsKICAgICAgICAgRVhQRUNUX0VRKG5pbCwgZHluYW1pY19vYmpj
X2Nhc3Q8TlNBcnJheT4ob2JqZWN0TlMuZ2V0KCkpKTsKK1RFU1RfV1RGX0VORF9BVVRPUkVMRUFT
RVBPT0wKICAgICAgICAgRVhQRUNUX0VRKDFMLCBDRkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYp
b2JqZWN0TlNQdHIpKTsKICAgICB9CiAKICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKICAgICAgICAg
YXV0byBvYmplY3RJRCA9IGFkb3B0TlM8aWQ+KFtbTlNPYmplY3QgYWxsb2NdIGluaXRdKTsKLSAg
ICAgICAgYXV0byBvYmplY3RJRFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmpl
Y3RJRC5nZXQoKSk7CisgICAgICAgIHVpbnRwdHJfdCBvYmplY3RJRFB0cjsKK1RFU1RfV1RGX0JF
R0lOX0FVVE9SRUxFQVNFUE9PTAorICAgICAgICBvYmplY3RJRFB0ciA9IHJlaW50ZXJwcmV0X2Nh
c3Q8dWludHB0cl90PihvYmplY3RJRC5nZXQoKSk7CiAgICAgICAgIEVYUEVDVF9FUShvYmplY3RJ
RC5nZXQoKSwgZHluYW1pY19vYmpjX2Nhc3Q8TlNPYmplY3Q+KG9iamVjdElELmdldCgpKSk7CiAg
ICAgICAgIEVYUEVDVF9FUShuaWwsIGR5bmFtaWNfb2JqY19jYXN0PE15T2JqZWN0U3VidHlwZT4o
b2JqZWN0SUQuZ2V0KCkpKTsKK1RFU1RfV1RGX0VORF9BVVRPUkVMRUFTRVBPT0wKICAgICAgICAg
RVhQRUNUX0VRKDFMLCBDRkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2JqZWN0SURQdHIpKTsK
ICAgICB9CiAKICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKICAgICAgICAgYXV0byBvYmplY3ROUyA9
IGFkb3B0TlMoW1tOU09iamVjdCBhbGxvY10gaW5pdF0pOwotICAgICAgICBhdXRvIG9iamVjdE5T
UHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdE5TLmdldCgpKTsKKyAgICAg
ICAgdWludHB0cl90IG9iamVjdE5TUHRyOworVEVTVF9XVEZfQkVHSU5fQVVUT1JFTEVBU0VQT09M
CisgICAgICAgIG9iamVjdE5TUHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVj
dE5TLmdldCgpKTsKICAgICAgICAgRVhQRUNUX0VRKG5pbCwgZHluYW1pY19vYmpjX2Nhc3Q8TXlP
YmplY3RTdWJ0eXBlPihvYmplY3ROUy5nZXQoKSkpOworVEVTVF9XVEZfRU5EX0FVVE9SRUxFQVNF
UE9PTAogICAgICAgICBFWFBFQ1RfRVEoMUwsIENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilv
YmplY3ROU1B0cikpOwogICAgIH0KIH0KQEAgLTE5MiwzMSArMjMzLDUwIEBAIFRFU1QoVHlwZUNh
c3RzQ29jb2EsIGR5bmFtaWNfb2JqY19jYXN0X1JldGFpblB0cikKIAogICAgIEBhdXRvcmVsZWFz
ZXBvb2wgewogICAgICAgICBhdXRvIG9iamVjdCA9IGFkb3B0TlM8aWQ+KFtbTlNTdHJpbmcgYWxs
b2NdIGluaXRXaXRoRm9ybWF0OkAiJXMiLCBoZWxsb1dvcmxkQ1N0cmluZ10pOwotICAgICAgICBh
dXRvIG9iamVjdFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3QuZ2V0KCkp
OworICAgICAgICB1aW50cHRyX3Qgb2JqZWN0UHRyOworVEVTVF9XVEZfQkVHSU5fQVVUT1JFTEVB
U0VQT09MCisgICAgICAgIG9iamVjdFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90Pihv
YmplY3QuZ2V0KCkpOworVEVTVF9XVEZfRU5EX0FVVE9SRUxFQVNFUE9PTAogICAgICAgICBFWFBF
Q1RfRVEoMUwsIENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmplY3RQdHIpKTsKIAotICAg
ICAgICBhdXRvIG9iamVjdENhc3QgPSBkeW5hbWljX29iamNfY2FzdDxOU1N0cmluZz4oV1RGTW92
ZShvYmplY3QpKTsKLSAgICAgICAgYXV0byBvYmplY3RDYXN0UHRyID0gcmVpbnRlcnByZXRfY2Fz
dDx1aW50cHRyX3Q+KG9iamVjdENhc3QuZ2V0KCkpOworICAgICAgICBSZXRhaW5QdHI8TlNTdHJp
bmc+IG9iamVjdENhc3Q7CisgICAgICAgIHVpbnRwdHJfdCBvYmplY3RDYXN0UHRyOworVEVTVF9X
VEZfQkVHSU5fQVVUT1JFTEVBU0VQT09MCisgICAgICAgIG9iamVjdENhc3QgPSBkeW5hbWljX29i
amNfY2FzdDxOU1N0cmluZz4oV1RGTW92ZShvYmplY3QpKTsKKyAgICAgICAgb2JqZWN0Q2FzdFB0
ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3RDYXN0LmdldCgpKTsKK1RFU1Rf
V1RGX0VORF9BVVRPUkVMRUFTRVBPT0wKICAgICAgICAgRVhQRUNUX0VRKG5pbCwgb2JqZWN0Lmdl
dCgpKTsKICAgICAgICAgRVhQRUNUX0VRKG9iamVjdFB0ciwgb2JqZWN0Q2FzdFB0cik7CiAgICAg
ICAgIEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5Db3VudCgoQ0ZUeXBlUmVmKW9iamVjdENhc3RQ
dHIpKTsKIAorVEVTVF9XVEZfQkVHSU5fQVVUT1JFTEVBU0VQT09MCiAgICAgICAgIG9iamVjdCA9
IGFkb3B0TlM8aWQ+KFtbTlNTdHJpbmcgYWxsb2NdIGluaXRXaXRoRm9ybWF0OkAiJXMiLCBoZWxs
b1dvcmxkQ1N0cmluZ10pOwogICAgICAgICBvYmplY3RQdHIgPSByZWludGVycHJldF9jYXN0PHVp
bnRwdHJfdD4ob2JqZWN0LmdldCgpKTsKK1RFU1RfV1RGX0VORF9BVVRPUkVMRUFTRVBPT0wKICAg
ICAgICAgRVhQRUNUX0VRKDFMLCBDRkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2JqZWN0UHRy
KSk7CiAKLSAgICAgICAgYXV0byBvYmplY3RDYXN0MiA9IGR5bmFtaWNfb2JqY19jYXN0PE5TT2Jq
ZWN0PihXVEZNb3ZlKG9iamVjdCkpOwotICAgICAgICBhdXRvIG9iamVjdENhc3RQdHIyID0gcmVp
bnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdENhc3QyLmdldCgpKTsKKyAgICAgICAgUmV0
YWluUHRyPE5TT2JqZWN0PiBvYmplY3RDYXN0MjsKKyAgICAgICAgdWludHB0cl90IG9iamVjdENh
c3RQdHIyOworVEVTVF9XVEZfQkVHSU5fQVVUT1JFTEVBU0VQT09MCisgICAgICAgIG9iamVjdENh
c3QyID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNPYmplY3Q+KFdURk1vdmUob2JqZWN0KSk7CisgICAg
ICAgIG9iamVjdENhc3RQdHIyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdENh
c3QyLmdldCgpKTsKK1RFU1RfV1RGX0VORF9BVVRPUkVMRUFTRVBPT0wKICAgICAgICAgRVhQRUNU
X0VRKG5pbCwgb2JqZWN0LmdldCgpKTsKICAgICAgICAgRVhQRUNUX0VRKG9iamVjdFB0ciwgb2Jq
ZWN0Q2FzdFB0cjIpOwogICAgICAgICBFWFBFQ1RfRVEoMUwsIENGR2V0UmV0YWluQ291bnQoKENG
VHlwZVJlZilvYmplY3RDYXN0UHRyMikpOwogCitURVNUX1dURl9CRUdJTl9BVVRPUkVMRUFTRVBP
T0wKICAgICAgICAgb2JqZWN0ID0gYWRvcHROUzxpZD4oW1tOU1N0cmluZyBhbGxvY10gaW5pdFdp
dGhGb3JtYXQ6QCIlcyIsIGhlbGxvV29ybGRDU3RyaW5nXSk7CiAgICAgICAgIG9iamVjdFB0ciA9
IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3QuZ2V0KCkpOworVEVTVF9XVEZfRU5E
X0FVVE9SRUxFQVNFUE9PTAogICAgICAgICBFWFBFQ1RfRVEoMUwsIENGR2V0UmV0YWluQ291bnQo
KENGVHlwZVJlZilvYmplY3RQdHIpKTsKIAotICAgICAgICBhdXRvIG9iamVjdENhc3RCYWQgPSBk
eW5hbWljX29iamNfY2FzdDxOU0FycmF5PihXVEZNb3ZlKG9iamVjdCkpOwotICAgICAgICBhdXRv
IG9iamVjdFB0cjIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0LmdldCgpKTsK
KyAgICAgICAgUmV0YWluUHRyPE5TQXJyYXk+IG9iamVjdENhc3RCYWQ7CisgICAgICAgIHVpbnRw
dHJfdCBvYmplY3RQdHIyOworVEVTVF9XVEZfQkVHSU5fQVVUT1JFTEVBU0VQT09MCisgICAgICAg
IG9iamVjdENhc3RCYWQgPSBkeW5hbWljX29iamNfY2FzdDxOU0FycmF5PihXVEZNb3ZlKG9iamVj
dCkpOworICAgICAgICBvYmplY3RQdHIyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9i
amVjdC5nZXQoKSk7CitURVNUX1dURl9FTkRfQVVUT1JFTEVBU0VQT09MCiAgICAgICAgIEVYUEVD
VF9FUShvYmplY3RQdHIsIG9iamVjdFB0cjIpOwogICAgICAgICBFWFBFQ1RfRVEobmlsLCBvYmpl
Y3RDYXN0QmFkLmdldCgpKTsKICAgICAgICAgRVhQRUNUX0VRKDFMLCBDRkdldFJldGFpbkNvdW50
KChDRlR5cGVSZWYpb2JqZWN0UHRyMikpOwpAQCAtMjI0LDMyICsyODQsNTEgQEAgVEVTVChUeXBl
Q2FzdHNDb2NvYSwgZHluYW1pY19vYmpjX2Nhc3RfUmV0YWluUHRyKQogCiAgICAgQGF1dG9yZWxl
YXNlcG9vbCB7CiAgICAgICAgIGF1dG8gb2JqZWN0ID0gYWRvcHROUyhbW05TU3RyaW5nIGFsbG9j
XSBpbml0V2l0aEZvcm1hdDpAIiVzIiwgaGVsbG9Xb3JsZENTdHJpbmddKTsKLSAgICAgICAgYXV0
byBvYmplY3RQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0LmdldCgpKTsK
KyAgICAgICAgdWludHB0cl90IG9iamVjdFB0cjsKK1RFU1RfV1RGX0JFR0lOX0FVVE9SRUxFQVNF
UE9PTAorICAgICAgICBvYmplY3RQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2Jq
ZWN0LmdldCgpKTsKK1RFU1RfV1RGX0VORF9BVVRPUkVMRUFTRVBPT0wKICAgICAgICAgRVhQRUNU
X0VRKDFMLCBDRkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2JqZWN0UHRyKSk7CiAKICAgICAg
ICAgYXV0byBvYmplY3RDYXN0ID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNPYmplY3Q+KFdURk1vdmUo
b2JqZWN0KSk7Ci0gICAgICAgIGF1dG8gb2JqZWN0Q2FzdFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8
dWludHB0cl90PihvYmplY3RDYXN0LmdldCgpKTsKKyAgICAgICAgdWludHB0cl90IG9iamVjdENh
c3RQdHI7CitURVNUX1dURl9CRUdJTl9BVVRPUkVMRUFTRVBPT0wKKyAgICAgICAgb2JqZWN0Q2Fz
dFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3RDYXN0LmdldCgpKTsKK1RF
U1RfV1RGX0VORF9BVVRPUkVMRUFTRVBPT0wKICAgICAgICAgRVhQRUNUX0VRKG5pbCwgb2JqZWN0
LmdldCgpKTsKICAgICAgICAgRVhQRUNUX0VRKG9iamVjdFB0ciwgb2JqZWN0Q2FzdFB0cik7CiAg
ICAgICAgIEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5Db3VudCgoQ0ZUeXBlUmVmKW9iamVjdENh
c3RQdHIpKTsKICAgICB9CiAKICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKLSAgICAgICAgYXV0byBv
YmplY3QgPSBhZG9wdE5TPGlkPihbW05TT2JqZWN0IGFsbG9jXSBpbml0XSk7Ci0gICAgICAgIGF1
dG8gb2JqZWN0UHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdC5nZXQoKSk7
CisgICAgICAgIFJldGFpblB0cjxpZD4gb2JqZWN0OworICAgICAgICB1aW50cHRyX3Qgb2JqZWN0
UHRyOworVEVTVF9XVEZfQkVHSU5fQVVUT1JFTEVBU0VQT09MCisgICAgICAgIG9iamVjdCA9IGFk
b3B0TlM8aWQ+KFtbTlNPYmplY3QgYWxsb2NdIGluaXRdKTsKKyAgICAgICAgb2JqZWN0UHRyID0g
cmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdC5nZXQoKSk7CitURVNUX1dURl9FTkRf
QVVUT1JFTEVBU0VQT09MCiAgICAgICAgIEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5Db3VudCgo
Q0ZUeXBlUmVmKW9iamVjdFB0cikpOwogCi0gICAgICAgIGF1dG8gb2JqZWN0Q2FzdCA9IGR5bmFt
aWNfb2JqY19jYXN0PE5TT2JqZWN0PihXVEZNb3ZlKG9iamVjdCkpOwotICAgICAgICBhdXRvIG9i
amVjdENhc3RQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0Q2FzdC5nZXQo
KSk7CisgICAgICAgIFJldGFpblB0cjxOU09iamVjdD4gb2JqZWN0Q2FzdDsKKyAgICAgICAgdWlu
dHB0cl90IG9iamVjdENhc3RQdHI7CitURVNUX1dURl9CRUdJTl9BVVRPUkVMRUFTRVBPT0wKKyAg
ICAgICAgb2JqZWN0Q2FzdCA9IGR5bmFtaWNfb2JqY19jYXN0PE5TT2JqZWN0PihXVEZNb3ZlKG9i
amVjdCkpOworICAgICAgICBvYmplY3RDYXN0UHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRy
X3Q+KG9iamVjdENhc3QuZ2V0KCkpOworVEVTVF9XVEZfRU5EX0FVVE9SRUxFQVNFUE9PTAogICAg
ICAgICBFWFBFQ1RfRVEobmlsLCBvYmplY3QuZ2V0KCkpOwogICAgICAgICBFWFBFQ1RfRVEob2Jq
ZWN0UHRyLCBvYmplY3RDYXN0UHRyKTsKICAgICAgICAgRVhQRUNUX0VRKDFMLCBDRkdldFJldGFp
bkNvdW50KChDRlR5cGVSZWYpb2JqZWN0Q2FzdFB0cikpOwogCitURVNUX1dURl9CRUdJTl9BVVRP
UkVMRUFTRVBPT0wKICAgICAgICAgb2JqZWN0ID0gYWRvcHROUzxpZD4oW1tOU09iamVjdCBhbGxv
Y10gaW5pdF0pOwogICAgICAgICBvYmplY3RQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJf
dD4ob2JqZWN0LmdldCgpKTsKK1RFU1RfV1RGX0VORF9BVVRPUkVMRUFTRVBPT0wKICAgICAgICAg
RVhQRUNUX0VRKDFMLCBDRkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2JqZWN0UHRyKSk7CiAK
LSAgICAgICAgYXV0byBvYmplY3RDYXN0QmFkID0gZHluYW1pY19vYmpjX2Nhc3Q8TXlPYmplY3RT
dWJ0eXBlPihXVEZNb3ZlKG9iamVjdCkpOworICAgICAgICBSZXRhaW5QdHI8TXlPYmplY3RTdWJ0
eXBlPiBvYmplY3RDYXN0QmFkOworVEVTVF9XVEZfQkVHSU5fQVVUT1JFTEVBU0VQT09MCisgICAg
ICAgIG9iamVjdENhc3RCYWQgPSBkeW5hbWljX29iamNfY2FzdDxNeU9iamVjdFN1YnR5cGU+KFdU
Rk1vdmUob2JqZWN0KSk7CitURVNUX1dURl9FTkRfQVVUT1JFTEVBU0VQT09MCiAgICAgICAgIEVY
UEVDVF9FUShuaWwsIG9iamVjdENhc3RCYWQuZ2V0KCkpOwogICAgICAgICBFWFBFQ1RfRVEoMUws
IENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmplY3RQdHIpKTsKICAgICB9CmRpZmYgLS1n
aXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9jb2NvYS9UeXBlQ2FzdHNDb2NvYUFS
Qy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL2NvY29hL1R5cGVDYXN0c0NvY29h
QVJDLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjlkM2FlNmQ5NTVkMDZjOWE4ZTA3OTE3YjExNjA2OTQ4MGQxYWVj
YjUKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9jb2Nv
YS9UeXBlQ2FzdHNDb2NvYUFSQy5tbQpAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
ZiAhX19oYXNfZmVhdHVyZShvYmpjX2FyYykKKyNlcnJvciBUaGlzIHRlc3RzIFR5cGVDYXN0c0Nv
Y29hLmggd2l0aCBBUkMgZW5hYmxlZC4KKyNlbmRpZgorCisjZGVmaW5lIE15T2JqZWN0U3VidHlw
ZSBNeU9iamVjdFN1YnR5cGVBUkMKKyNkZWZpbmUgVHlwZUNhc3RzQ29jb2EgVHlwZUNhc3RzQ29j
b2FBUkMKKyNpbmNsdWRlICJUeXBlQ2FzdHNDb2NvYS5tbSIKKyN1bmRlZiBUeXBlQ2FzdHNDb2Nv
YQorI3VuZGVmIE15T2JqZWN0U3VidHlwZQpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XVEYvbnMvUmV0YWluUHRyLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvbnMvUmV0YWluUHRyLm1tCmluZGV4IDk3MTM2MGZkNGRmYjlhNzBhYmU2MDNmZjBiNjQ3YTcy
MmUyMmU0NTMuLjRhZDVhY2Q5N2M3NDYzMTc3OGM4OWVmNmM2YmMyYzdmNWIzMTI2YjEgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL25zL1JldGFpblB0ci5tbQorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9ucy9SZXRhaW5QdHIubW0KQEAgLTQwLDIw
ICs0MCw0MiBAQAogI2RlZmluZSBSRVRBSU5fUFRSX1RFU1RfTkFNRSBSZXRhaW5QdHIKICNlbmRp
ZgogCisjaWYgX19oYXNfZmVhdHVyZShvYmpjX2FyYykgJiYgIWRlZmluZWQoTkRFQlVHKQorLy8g
RGVidWcgYnVpbGRzIHdpdGggQVJDIGVuYWJsZWQgY2F1c2Ugb2JqZWN0cyB0byBiZSBhdXRvcmVs
ZWFzZWQKKy8vIHdoZW4gYXNzaWduaW5nIGFkb3B0TlMoKSByZXN1bHQgdG8gYSBkaWZmZXJlbnQg
UmV0YWluUHRyPD4gdHlwZSwKKy8vIGFuZCB3aGVuIGNhbGxpbmcgUmV0YWluUHRyPD46OmdldCgp
LgorI2RlZmluZSBURVNUX1dURl9CRUdJTl9BVVRPUkVMRUFTRVBPT0wgQGF1dG9yZWxlYXNlcG9v
bCB7CisjZGVmaW5lIFRFU1RfV1RGX0VORF9BVVRPUkVMRUFTRVBPT0wgfQorI2Vsc2UKKyNkZWZp
bmUgVEVTVF9XVEZfQkVHSU5fQVVUT1JFTEVBU0VQT09MCisjZGVmaW5lIFRFU1RfV1RGX0VORF9B
VVRPUkVMRUFTRVBPT0wKKyNlbmRpZgorCiBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CiAKIFRF
U1QoUkVUQUlOX1BUUl9URVNUX05BTUUsIEFkb3B0TlMpCiB7CiAgICAgUmV0YWluUHRyPE5TT2Jq
ZWN0PiBvYmplY3QxID0gYWRvcHROUyhbW05TT2JqZWN0IGFsbG9jXSBpbml0XSk7Ci0gICAgYXV0
byBvYmplY3RQdHIxID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdDEuZ2V0KCkp
OworICAgIHVpbnRwdHJfdCBvYmplY3RQdHIxID0gMDsKK1RFU1RfV1RGX0JFR0lOX0FVVE9SRUxF
QVNFUE9PTAorICAgIG9iamVjdFB0cjEgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2Jq
ZWN0MS5nZXQoKSk7CitURVNUX1dURl9FTkRfQVVUT1JFTEVBU0VQT09MCiAgICAgRVhQRUNUX0VR
KDFMLCBDRkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2JqZWN0UHRyMSkpOwogCi0gICAgUmV0
YWluUHRyPE5TT2JqZWN0ICo+IG9iamVjdDIgPSBhZG9wdE5TKFtbTlNPYmplY3QgYWxsb2NdIGlu
aXRdKTsKLSAgICBhdXRvIG9iamVjdFB0cjIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4o
b2JqZWN0Mi5nZXQoKSk7CisgICAgUmV0YWluUHRyPE5TT2JqZWN0ICo+IG9iamVjdDI7CisgICAg
dWludHB0cl90IG9iamVjdFB0cjIgPSAwOworVEVTVF9XVEZfQkVHSU5fQVVUT1JFTEVBU0VQT09M
CisgICAgb2JqZWN0MiA9IGFkb3B0TlMoW1tOU09iamVjdCBhbGxvY10gaW5pdF0pOworICAgIG9i
amVjdFB0cjIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0Mi5nZXQoKSk7CitU
RVNUX1dURl9FTkRfQVVUT1JFTEVBU0VQT09MCiAgICAgRVhQRUNUX0VRKDFMLCBDRkdldFJldGFp
bkNvdW50KChDRlR5cGVSZWYpb2JqZWN0UHRyMikpOwogCi0gICAgUmV0YWluUHRyPGlkPiBvYmpl
Y3QzID0gYWRvcHROUyhbW05TT2JqZWN0IGFsbG9jXSBpbml0XSk7Ci0gICAgYXV0byBvYmplY3RQ
dHIzID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdDMuZ2V0KCkpOworICAgIFJl
dGFpblB0cjxpZD4gb2JqZWN0MzsKKyAgICB1aW50cHRyX3Qgb2JqZWN0UHRyMyA9IDA7CitURVNU
X1dURl9CRUdJTl9BVVRPUkVMRUFTRVBPT0wKKyAgICBvYmplY3QzID0gYWRvcHROUyhbW05TT2Jq
ZWN0IGFsbG9jXSBpbml0XSk7CisgICAgb2JqZWN0UHRyMyA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWlu
dHB0cl90PihvYmplY3QzLmdldCgpKTsKK1RFU1RfV1RGX0VORF9BVVRPUkVMRUFTRVBPT0wKICAg
ICBFWFBFQ1RfRVEoMSwgQ0ZHZXRSZXRhaW5Db3VudCgoQ0ZUeXBlUmVmKW9iamVjdFB0cjMpKTsK
IH0KIApAQCAtMjc2LDIxICsyOTgsMzAgQEAgVEVTVChSRVRBSU5fUFRSX1RFU1RfTkFNRSwgUmV0
YWluUHRyTlMpCiAgICAgQGF1dG9yZWxlYXNlcG9vbCB7CiAgICAgICAgIG9iamVjdDEgPSByZXRh
aW5QdHIoW1tOU09iamVjdCBuZXddIGF1dG9yZWxlYXNlXSk7CiAgICAgfQotICAgIGF1dG8gb2Jq
ZWN0UHRyMSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3QxLmdldCgpKTsKKyAg
ICB1aW50cHRyX3Qgb2JqZWN0UHRyMSA9IDA7CitURVNUX1dURl9CRUdJTl9BVVRPUkVMRUFTRVBP
T0wKKyAgICBvYmplY3RQdHIxID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdDEu
Z2V0KCkpOworVEVTVF9XVEZfRU5EX0FVVE9SRUxFQVNFUE9PTAogICAgIEVYUEVDVF9FUSgxTCwg
Q0ZHZXRSZXRhaW5Db3VudCgoQ0ZUeXBlUmVmKW9iamVjdFB0cjEpKTsKIAogICAgIFJldGFpblB0
cjxOU09iamVjdCAqPiBvYmplY3QyOwogICAgIEBhdXRvcmVsZWFzZXBvb2wgewogICAgICAgICBv
YmplY3QyID0gcmV0YWluUHRyKFtbTlNPYmplY3QgbmV3XSBhdXRvcmVsZWFzZV0pOwogICAgIH0K
LSAgICBhdXRvIG9iamVjdFB0cjIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0
Mi5nZXQoKSk7CisgICAgdWludHB0cl90IG9iamVjdFB0cjIgPSAwOworVEVTVF9XVEZfQkVHSU5f
QVVUT1JFTEVBU0VQT09MCisgICAgb2JqZWN0UHRyMiA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0
cl90PihvYmplY3QyLmdldCgpKTsKK1RFU1RfV1RGX0VORF9BVVRPUkVMRUFTRVBPT0wKICAgICBF
WFBFQ1RfRVEoMUwsIENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmplY3RQdHIyKSk7CiAK
ICAgICBSZXRhaW5QdHI8aWQ+IG9iamVjdDM7CiAgICAgQGF1dG9yZWxlYXNlcG9vbCB7CiAgICAg
ICAgIG9iamVjdDMgPSByZXRhaW5QdHIoW1tOU09iamVjdCBuZXddIGF1dG9yZWxlYXNlXSk7CiAg
ICAgfQotICAgIGF1dG8gb2JqZWN0UHRyMyA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90Pihv
YmplY3QzLmdldCgpKTsKKyAgICB1aW50cHRyX3Qgb2JqZWN0UHRyMyA9IDA7CitURVNUX1dURl9C
RUdJTl9BVVRPUkVMRUFTRVBPT0wKKyAgICBvYmplY3RQdHIzID0gcmVpbnRlcnByZXRfY2FzdDx1
aW50cHRyX3Q+KG9iamVjdDMuZ2V0KCkpOworVEVTVF9XVEZfRU5EX0FVVE9SRUxFQVNFUE9PTAog
ICAgIEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5Db3VudCgoQ0ZUeXBlUmVmKW9iamVjdFB0cjMp
KTsKIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvbnMvUmV0
YWluUHRyQVJDLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvbnMvUmV0YWluUHRy
QVJDLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQ4YTI1MjM0YjBkZGMwOGY5MzQ0MDYxM2IyOGMwMzRhYWE4ZjAy
ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9ucy9S
ZXRhaW5QdHJBUkMubW0KQEAgLTAsMCArMSwzMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAg
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgIV9faGFz
X2ZlYXR1cmUob2JqY19hcmMpCisjZXJyb3IgVGhpcyB0ZXN0cyBSZXRhaW5QdHIuaCB3aXRoIEFS
QyBlbmFibGVkLgorI2VuZGlmCisKKyNkZWZpbmUgUkVUQUlOX1BUUl9URVNUX05BTUUgUmV0YWlu
UHRyQVJDCisjaW5jbHVkZSAiUmV0YWluUHRyLm1tIgorI3VuZGVmIFJFVEFJTl9QVFJfVEVTVF9O
QU1FCg==
</data>
<flag name="review"
          id="464388"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440462</attachid>
            <date>2021-10-06 18:37:06 -0700</date>
            <delta_ts>2021-10-07 08:02:33 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-231251-20211006183705.patch</filename>
            <type>text/plain</type>
            <size>27827</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNTUzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjdkYTBjNmM5MTZhOTc1MTU0ODM4ZTQzYzAxMDE0OTg1
NTQ5MjVkZi4uMmZiODU2YmYyOGUzZDZmMjIzMDBiZTg3OTg5MGE0MGM5ZGQxYTg0MiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1
IEBACisyMDIxLTEwLTA2ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAg
ICAgICAgQWRkIGJhY2sgUmV0YWluUHRyQVJDIGFuZCBUeXBlQ2FzdHNDb2NvYUFSQyB0ZXN0cyB0
byBUZXN0V1RGCisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcvYi8yMzEyNTE+CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS84MzkwMjgwOT4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBB
ZGxlci4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAtIEFkZCBSZXRhaW5QdHJBUkMubW0gYW5kIFR5cGVD
YXN0c0NvY29hQVJDLm1tIHRvIHRoZSBwcm9qZWN0LgorCisgICAgICAgICogVGVzdFdlYktpdEFQ
SS9UZXN0cy9XVEYvY29jb2EvVHlwZUNhc3RzQ29jb2EubW06CisgICAgICAgIChUZXN0V2ViS2l0
QVBJOjpURVNUKToKKyAgICAgICAgLSBNb2RpZnkgdGVzdHMgdG8gY2xlYW4gdXAgYXV0b3JlbGVh
c2VkIG9iamVjdHMgaW4gRGVidWcgYnVpbGRzCisgICAgICAgICAgdGhhdCBhcmUgb3B0aW1pemVk
IG91dCBvZiBSZWxlYXNlIGJ1aWxkcy4KKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dU
Ri9jb2NvYS9UeXBlQ2FzdHNDb2NvYUFSQy5tbTogQWRkLgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV1RGL25zL1JldGFpblB0ci5tbToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRF
U1QpOgorICAgICAgICAtIE1vZGlmeSB0ZXN0cyB0byBjbGVhbiB1cCBhdXRvcmVsZWFzZWQgb2Jq
ZWN0cyBpbiBEZWJ1ZyBidWlsZHMKKyAgICAgICAgICB0aGF0IGFyZSBvcHRpbWl6ZWQgb3V0IG9m
IFJlbGVhc2UgYnVpbGRzLgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL25zL1Jl
dGFpblB0ckFSQy5tbTogQWRkLgorCiAyMDIxLTEwLTA1ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHpl
ckBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI4MzQ3Nik6IFsgaU9TIG1hY09T
IERlYnVnIF0gVGVzdFdURiBmYWlsdXJlcyBpbiBSZXRhaW5QdHJBUkMgYW5kIFR5cGVDYXN0c0Nv
Y29hQVJDCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQ
SS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDdlMGY2MzlmYjA3Y2ZkODVlYmRiOWEw
MGJjZDRlY2Q5M2E3ZjQ1MDUuLmJkOTI4MjM4NTA1MTI3NjY5ZWQ2NDE0ZWM4ZmJkZjYyNWIwODE3
MmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQ
SS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yNjIsNiArMjYyLDcgQEAKIAkJNDFFNjdB
ODUyNUQxNkU4MzAwN0IwQTRDIC8qIFNUVU5NZXNzYWdlUGFyc2luZ1Rlc3QuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFFNjdBODQyNUQxNkU4MzAw
N0IwQTRDIC8qIFNUVU5NZXNzYWdlUGFyc2luZ1Rlc3QuY3BwICovOyB9OwogCQk0NDA3N0JCMTIz
MTQ0QjUwMDAxNzlFMkQgLyogRGF0YURldGVjdG9yc1Rlc3RJT1MubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDA3N0JCMDIzMTQ0OUQyMDAxNzlFMkQg
LyogRGF0YURldGVjdG9yc1Rlc3RJT1MubW0gKi87IH07CiAJCTQ0MzNBMzk2MjA4MDQ0MTQwMDkx
RUQ1NyAvKiBTeW5jaHJvbm91c1RpbWVvdXRUZXN0cy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MzNBMzk1MjA4MDQ0MTMwMDkxRUQ1NyAvKiBTeW5j
aHJvbm91c1RpbWVvdXRUZXN0cy5tbSAqLzsgfTsKKwkJNDQ2NTJDQjcyNkZDRDQwNTAwNUVDMjcy
IC8qIFR5cGVDYXN0c0NvY29hQVJDLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDQ2NTJDQjYyNkZDRDQwNTAwNUVDMjcyIC8qIFR5cGVDYXN0c0NvY29h
QVJDLm1tICovOyBzZXR0aW5ncyA9IHtDT01QSUxFUl9GTEFHUyA9ICItZm9iamMtYXJjIjsgfTsg
fTsKIAkJNDQ4MTEwQzIyNTNGNDAzMDAwOTdGQzMzIC8qIFdlYlByZWZlcmVuY2VzVGVzdC5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0ODExMEMxMjUz
RjQwMjQwMDk3RkMzMyAvKiBXZWJQcmVmZXJlbmNlc1Rlc3QubW0gKi87IH07CiAJCTQ0ODE3QTJG
MUYwNDg2QkYwMDAwMzgxMCAvKiBXS1JlcXVlc3RBY3RpdmF0ZWRFbGVtZW50SW5mby5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0ODE3QTJFMUYwNDg2
QkYwMDAwMzgxMCAvKiBXS1JlcXVlc3RBY3RpdmF0ZWRFbGVtZW50SW5mby5tbSAqLzsgfTsKIAkJ
NDQ4RDdFNDcxRUE2QzU1NTAwRUNDNzU2IC8qIEVudmlyb25tZW50VXRpbGl0aWVzVGVzdC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDhEN0U0NTFF
QTZDNTU1MDBFQ0M3NTYgLyogRW52aXJvbm1lbnRVdGlsaXRpZXNUZXN0LmNwcCAqLzsgfTsKQEAg
LTI2OSw2ICsyNzAsNyBAQAogCQk0NEMyRkJFMjI1RTc1OTJDMDBBQkM3MkYgLyogV0tBcHBIaWdo
bGlnaHRzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDRDMkZCRTEyNUU3NTkyQzAwQUJDNzJGIC8qIFdLQXBwSGlnaGxpZ2h0cy5tbSAqLzsgfTsKIAkJ
NDRDREU0RDQyNkVFNkU0QTAwOUY2QUNCIC8qIFR5cGVDYXN0c0NvY29hLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRDREU0RDMyNkVFNkU0MTAwOUY2
QUNCIC8qIFR5cGVDYXN0c0NvY29hLm1tICovOyB9OwogCQk0NENGMzFGRDI0OTk0MUU4MDA5Q0I2
Q0IgLyogQ29udGV4dE1lbnVBY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDRDRjMxRkIyNDk5M0Y2NjAwOUNCNkNCIC8qIENvbnRleHRNZW51
QWN0aW9uLmNwcCAqLzsgfTsKKwkJNDRENTAwOEUyNkZFOUVENjAwMEVCMTJGIC8qIFJldGFpblB0
ckFSQy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0
RDUwMDhEMjZGRTlFRDYwMDBFQjEyRiAvKiBSZXRhaW5QdHJBUkMubW0gKi87IHNldHRpbmdzID0g
e0NPTVBJTEVSX0ZMQUdTID0gIi1mb2JqYy1hcmMiOyB9OyB9OwogCQk0NjEyQzJCOTIxMEE2QUNF
MDBCNzg4QTYgLyogTG9hZEZpbGVUaGVuUmVsb2FkLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDYxMkMyQjgyMTBBNkFCRjAwQjc4OEE2IC8qIExvYWRG
aWxlVGhlblJlbG9hZC5tbSAqLzsgfTsKIAkJNDYyOEM4RTkyMzY3QUJEMTAwQjA3M0YwIC8qIFdL
U2VjdXJpdHlPcmlnaW4uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDYyOEM4RTgyMzY3QUJCQzAwQjA3M0YwIC8qIFdLU2VjdXJpdHlPcmlnaW4uY3Bw
ICovOyB9OwogCQk0NjM5N0I5NTFEQzJDODUwMDA5QTc4QUUgLyogRE9NTm9kZS5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ2Mzk3Qjk0MURDMkM4NTAw
MDlBNzhBRSAvKiBET01Ob2RlLm1tICovOyB9OwpAQCAtMjEwMyw2ICsyMTA1LDcgQEAKIAkJNDQw
NzdCQjAyMzE0NDlEMjAwMTc5RTJEIC8qIERhdGFEZXRlY3RvcnNUZXN0SU9TLm1tICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRGF0YURldGVjdG9yc1Rlc3RJT1MubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0MkJCRjY4MUM5MUNBRDkwMDE3MDg3RiAv
KiBSZWZMb2dnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVm
TG9nZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQzM0EzOTUyMDgwNDQx
MzAwOTFFRDU3IC8qIFN5bmNocm9ub3VzVGltZW91dFRlc3RzLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gU3luY2hyb25vdXNUaW1lb3V0VGVzdHMubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0NjUyQ0I2MjZGQ0Q0MDUwMDVFQzI3MiAvKiBUeXBl
Q2FzdHNDb2NvYUFSQy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFR5cGVDYXN0c0NvY29hQVJDLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDgx
MTBDMTI1M0Y0MDI0MDA5N0ZDMzMgLyogV2ViUHJlZmVyZW5jZXNUZXN0Lm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gV2ViUHJlZmVyZW5jZXNUZXN0Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0NDgxN0EyRTFGMDQ4NkJGMDAwMDM4MTAgLyogV0tSZXF1ZXN0QWN0aXZhdGVkRWxl
bWVudEluZm8ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXS1Jl
cXVlc3RBY3RpdmF0ZWRFbGVtZW50SW5mby5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDQ4RDdFNDUxRUE2QzU1NTAwRUNDNzU2IC8qIEVudmlyb25tZW50VXRpbGl0aWVzVGVzdC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFbnZpcm9ubWVudFV0aWxp
dGllc1Rlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjExMCw2ICsyMTEz
LDcgQEAKIAkJNDRDMkZCRTEyNUU3NTkyQzAwQUJDNzJGIC8qIFdLQXBwSGlnaGxpZ2h0cy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdLQXBwSGlnaGxpZ2h0cy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRDREU0RDMyNkVFNkU0MTAwOUY2QUNC
IC8qIFR5cGVDYXN0c0NvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gVHlwZUNhc3RzQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0
Q0YzMUZCMjQ5OTNGNjYwMDlDQjZDQiAvKiBDb250ZXh0TWVudUFjdGlvbi5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb250ZXh0TWVudUFjdGlvbi5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RDUwMDhEMjZGRTlFRDYwMDBFQjEyRiAvKiBSZXRh
aW5QdHJBUkMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBSZXRh
aW5QdHJBUkMubW07IHBhdGggPSBucy9SZXRhaW5QdHJBUkMubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQ2MEMyRkM4MjcwMzlEN0QwMDQ3RUYxMSAvKiBTZXJ2aWNlV29ya2VyUGFn
ZVByb3RvY29sLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNlcnZpY2VXb3JrZXJQYWdlUHJvdG9jb2wuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDYxMkMyQjgyMTBBNkFCRjAwQjc4OEE2IC8q
IExvYWRGaWxlVGhlblJlbG9hZC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IExvYWRGaWxlVGhlblJlbG9hZC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDYyOEM4RTgyMzY3QUJCQzAwQjA3M0YwIC8qIFdLU2VjdXJpdHlPcmlnaW4uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tTZWN1cml0eU9yaWdpbi5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00Mjk3LDYgKzQzMDEsNyBAQAogCQkJY2hpbGRy
ZW4gPSAoCiAJCQkJMUFEQUQxNEUxRDc3QTlGNjAwMjEyNTg2IC8qIEJsb2NrUHRyLm1tICovLAog
CQkJCUJDMDI5QjFCMTQ4NkIyNTkwMDgxN0RBOSAvKiBSZXRhaW5QdHIubW0gKi8sCisJCQkJNDRE
NTAwOEQyNkZFOUVENjAwMEVCMTJGIC8qIFJldGFpblB0ckFSQy5tbSAqLywKIAkJCSk7CiAJCQlu
YW1lID0gbnM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtNTAxMSw2ICs1MDE2LDcg
QEAKIAkJCQkxQzQ2MTZBNjI2QkIxNzJGMDBGOEM5RjYgLyogVGV4dFN0cmVhbUNvY29hLmNwcCAq
LywKIAkJCQkxQzQ2MTY5RTI2QkE1MTA3MDBGOEM5RjYgLyogVGV4dFN0cmVhbUNvY29hLm1tICov
LAogCQkJCTQ0Q0RFNEQzMjZFRTZFNDEwMDlGNkFDQiAvKiBUeXBlQ2FzdHNDb2NvYS5tbSAqLywK
KwkJCQk0NDY1MkNCNjI2RkNENDA1MDA1RUMyNzIgLyogVHlwZUNhc3RzQ29jb2FBUkMubW0gKi8s
CiAJCQkJRTNDMjFBN0IyMUIyNUNBMjAwM0IzMUEzIC8qIFVSTEV4dHJhcy5tbSAqLywKIAkJCSk7
CiAJCQlwYXRoID0gY29jb2E7CkBAIC01MzI5LDYgKzUzMzUsNyBAQAogCQkJCTdDODNERjE2MUQw
QTU5MEMwMEZFQkNGMyAvKiBSZWZQdHIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDRBQzhCQzYy
MUQwMjQ1QTAwQ0FGQjM0IC8qIFJldGFpblB0ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Qzgz
REYyNDFEMEE1OTBDMDBGRUJDRjMgLyogUmV0YWluUHRyLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJ
NDRENTAwOEUyNkZFOUVENjAwMEVCMTJGIC8qIFJldGFpblB0ckFSQy5tbSBpbiBTb3VyY2VzICov
LAogCQkJCUUzNTVBNjMyMjYxNTcxOEYwMDFDMTEyOSAvKiBSb2Jpbkhvb2RIYXNoTWFwLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUUzNTVBNjMwMjYxNTcxNzQwMDFDMTEyOSAvKiBSb2Jpbkhvb2RI
YXNoU2V0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDODNERjA1MUQwQTU5MEMwMEZFQkNGMyAv
KiBSdW5Mb29wLmNwcCBpbiBTb3VyY2VzICovLApAQCAtNTM2MSw2ICs1MzY4LDcgQEAKIAkJCQk1
MzExQkQ1RTFFQTk0OTBFMDA1MjUyODEgLyogVGhyZWFkTWVzc2FnZXMuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEYyQzIwQjgxRENENTQ1MDAwNTQyRDlFIC8qIFRpbWUuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNDRDREU0RDQyNkVFNkU0QTAwOUY2QUNCIC8qIFR5cGVDYXN0c0NvY29hLm1tIGlu
IFNvdXJjZXMgKi8sCisJCQkJNDQ2NTJDQjcyNkZDRDQwNTAwNUVDMjcyIC8qIFR5cGVDYXN0c0Nv
Y29hQVJDLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRTMyNEE2RjAyMDQxQzgyMDAwQTc2NTkzIC8q
IFVuaXF1ZUFycmF5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUzQTFFNzgyMjFCMjVCN0EwMDhD
NjAwNyAvKiBVUkwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTNDMjFBN0MyMUIyNUNBMjAwM0Iz
MUEzIC8qIFVSTEV4dHJhcy5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XVEYvY29jb2EvVHlwZUNhc3RzQ29jb2EubW0gYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9jb2NvYS9UeXBlQ2FzdHNDb2NvYS5tbQppbmRleCA5ZmZiNDZl
NDY3MGIwZjMyYWNiYWZmYmZjMGRjMWVkZTE0MGEwZmU1Li5jMjRjYTc1MTBmNTA3YjZhNTNjMTJj
N2U0OGY4YmU5NTI3MmVlMTYzIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dURi9jb2NvYS9UeXBlQ2FzdHNDb2NvYS5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dURi9jb2NvYS9UeXBlQ2FzdHNDb2NvYS5tbQpAQCAtMzEsNiArMzEsMTcgQEAKICNlcnJv
ciBUaGlzIHRlc3RzIFR5cGVDYXN0c0NvY29hLmggd2l0aCBBUkMgZGlzYWJsZWQuCiAjZW5kaWYK
IAorI2lmIF9faGFzX2ZlYXR1cmUob2JqY19hcmMpICYmICFkZWZpbmVkKE5ERUJVRykKKy8vIERl
YnVnIGJ1aWxkcyB3aXRoIEFSQyBlbmFibGVkIGNhdXNlIG9iamVjdHMgdG8gYmUgYXV0b3JlbGVh
c2VkCisvLyB3aGVuIGFzc2lnbmluZyBhZG9wdE5TKCkgcmVzdWx0IHRvIGEgZGlmZmVyZW50IFJl
dGFpblB0cjw+IHR5cGUsCisvLyBhbmQgd2hlbiBjYWxsaW5nIFJldGFpblB0cjw+OjpnZXQoKS4K
KyNkZWZpbmUgQkVHSU5fQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcgQGF1dG9yZWxlYXNl
cG9vbCB7CisjZGVmaW5lIEVORF9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRyB9CisjZWxz
ZQorI2RlZmluZSBCRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRworI2RlZmluZSBF
TkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKKyNlbmRpZgorCiBAaW50ZXJmYWNlIE15
T2JqZWN0U3VidHlwZSA6IE5TT2JqZWN0CiBAZW5kCiAKQEAgLTEwMiw3ICsxMTMsMTAgQEAgVEVT
VChUeXBlQ2FzdHNDb2NvYSwgYnJpZGdlX2lkX2Nhc3QpCiAgICAgICAgIEVYUEVDVF9FUSgxTCwg
Q0ZHZXRSZXRhaW5Db3VudCgoQ0ZUeXBlUmVmKW9iamVjdENGUHRyKSk7CiAKICAgICAgICAgYXV0
byBvYmplY3RJRCA9IGJyaWRnZV9pZF9jYXN0KFdURk1vdmUob2JqZWN0Q0YpKTsKLSAgICAgICAg
YXV0byBvYmplY3RJRFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3RJRC5n
ZXQoKSk7CisgICAgICAgIHVpbnRwdHJfdCBvYmplY3RJRFB0cjsKK0JFR0lOX0FVVE9SRUxFQVNF
UE9PTF9GT1JfQVJDX0RFQlVHCisgICAgICAgIG9iamVjdElEUHRyID0gcmVpbnRlcnByZXRfY2Fz
dDx1aW50cHRyX3Q+KG9iamVjdElELmdldCgpKTsKK0VORF9BVVRPUkVMRUFTRVBPT0xfRk9SX0FS
Q19ERUJVRwogICAgICAgICBFWFBFQ1RfRVEoTlVMTCwgb2JqZWN0Q0YuZ2V0KCkpOwogICAgICAg
ICBFWFBFQ1RfRVEob2JqZWN0Q0ZQdHIsIG9iamVjdElEUHRyKTsKICAgICAgICAgRVhQRUNUX0VR
KDFMLCBDRkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2JqZWN0SURQdHIpKTsKQEAgLTExNCwy
NCArMTI4LDM2IEBAIFRFU1QoVHlwZUNhc3RzQ29jb2EsIGNoZWNrZWRfb2JqY19jYXN0KQogICAg
IEVYUEVDVF9FUShuaWwsIGNoZWNrZWRfb2JqY19jYXN0PE5TU3RyaW5nPihuaWwpKTsKIAogICAg
IEBhdXRvcmVsZWFzZXBvb2wgewotICAgICAgICBhdXRvIG9iamVjdE5TID0gYWRvcHROUzxpZD4o
W1tOU1N0cmluZyBhbGxvY10gaW5pdFdpdGhGb3JtYXQ6QCIlcyIsIGhlbGxvV29ybGRDU3RyaW5n
XSk7Ci0gICAgICAgIGF1dG8gb2JqZWN0TlNQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJf
dD4ob2JqZWN0TlMuZ2V0KCkpOworICAgICAgICBSZXRhaW5QdHI8aWQ+IG9iamVjdE5TOworICAg
ICAgICB1aW50cHRyX3Qgb2JqZWN0TlNQdHI7CitCRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FS
Q19ERUJVRworICAgICAgICBvYmplY3ROUyA9IGFkb3B0TlM8aWQ+KFtbTlNTdHJpbmcgYWxsb2Nd
IGluaXRXaXRoRm9ybWF0OkAiJXMiLCBoZWxsb1dvcmxkQ1N0cmluZ10pOworICAgICAgICBvYmpl
Y3ROU1B0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3ROUy5nZXQoKSk7CiAg
ICAgICAgIEVYUEVDVF9FUShvYmplY3ROUy5nZXQoKSwgY2hlY2tlZF9vYmpjX2Nhc3Q8TlNTdHJp
bmc+KG9iamVjdE5TLmdldCgpKSk7CiAgICAgICAgIEVYUEVDVF9FUShvYmplY3ROUy5nZXQoKSwg
Y2hlY2tlZF9vYmpjX2Nhc3Q8TlNPYmplY3Q+KG9iamVjdE5TLmdldCgpKSk7CitFTkRfQVVUT1JF
TEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKICAgICAgICAgRVhQRUNUX0VRKDFMLCBDRkdldFJldGFp
bkNvdW50KChDRlR5cGVSZWYpb2JqZWN0TlNQdHIpKTsKICAgICB9CiAKICAgICBAYXV0b3JlbGVh
c2Vwb29sIHsKLSAgICAgICAgYXV0byBvYmplY3ROUyA9IGFkb3B0TlM8TlNPYmplY3QgKj4oW1tO
U1N0cmluZyBhbGxvY10gaW5pdFdpdGhGb3JtYXQ6QCIlcyIsIGhlbGxvV29ybGRDU3RyaW5nXSk7
Ci0gICAgICAgIGF1dG8gb2JqZWN0TlNQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4o
b2JqZWN0TlMuZ2V0KCkpOworICAgICAgICBSZXRhaW5QdHI8TlNPYmplY3QgKj4gb2JqZWN0TlM7
CisgICAgICAgIHVpbnRwdHJfdCBvYmplY3ROU1B0cjsKK0JFR0lOX0FVVE9SRUxFQVNFUE9PTF9G
T1JfQVJDX0RFQlVHCisgICAgICAgIG9iamVjdE5TID0gYWRvcHROUzxOU09iamVjdCAqPihbW05T
U3RyaW5nIGFsbG9jXSBpbml0V2l0aEZvcm1hdDpAIiVzIiwgaGVsbG9Xb3JsZENTdHJpbmddKTsK
KyAgICAgICAgb2JqZWN0TlNQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0
TlMuZ2V0KCkpOwogICAgICAgICBFWFBFQ1RfRVEob2JqZWN0TlMuZ2V0KCksIGNoZWNrZWRfb2Jq
Y19jYXN0PE5TU3RyaW5nPihvYmplY3ROUy5nZXQoKSkpOworRU5EX0FVVE9SRUxFQVNFUE9PTF9G
T1JfQVJDX0RFQlVHCiAgICAgICAgIEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5Db3VudCgoQ0ZU
eXBlUmVmKW9iamVjdE5TUHRyKSk7CiAgICAgfQogCiAgICAgQGF1dG9yZWxlYXNlcG9vbCB7Ci0g
ICAgICAgIGF1dG8gb2JqZWN0TlMgPSBhZG9wdE5TKFtbTlNTdHJpbmcgYWxsb2NdIGluaXRXaXRo
Rm9ybWF0OkAiJXMiLCBoZWxsb1dvcmxkQ1N0cmluZ10pOwotICAgICAgICBhdXRvIG9iamVjdE5T
UHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdE5TLmdldCgpKTsKKyAgICAg
ICAgUmV0YWluUHRyPE5TU3RyaW5nPiBvYmplY3ROUzsKKyAgICAgICAgdWludHB0cl90IG9iamVj
dE5TUHRyOworQkVHSU5fQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKKyAgICAgICAgb2Jq
ZWN0TlMgPSBhZG9wdE5TKFtbTlNTdHJpbmcgYWxsb2NdIGluaXRXaXRoRm9ybWF0OkAiJXMiLCBo
ZWxsb1dvcmxkQ1N0cmluZ10pOworICAgICAgICBvYmplY3ROU1B0ciA9IHJlaW50ZXJwcmV0X2Nh
c3Q8dWludHB0cl90PihvYmplY3ROUy5nZXQoKSk7CiAgICAgICAgIEVYUEVDVF9FUShvYmplY3RO
Uy5nZXQoKSwgY2hlY2tlZF9vYmpjX2Nhc3Q8TlNPYmplY3Q+KG9iamVjdE5TLmdldCgpKSk7CitF
TkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKICAgICAgICAgRVhQRUNUX0VRKDFMLCBD
RkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2JqZWN0TlNQdHIpKTsKICAgICB9CiB9CkBAIC0x
NDIsNDEgKzE2OCw1NiBAQCBURVNUKFR5cGVDYXN0c0NvY29hLCBkeW5hbWljX29iamNfY2FzdCkK
IAogICAgIEBhdXRvcmVsZWFzZXBvb2wgewogICAgICAgICBhdXRvIG9iamVjdE5TID0gYWRvcHRO
UzxpZD4oW1tOU1N0cmluZyBhbGxvY10gaW5pdFdpdGhGb3JtYXQ6QCIlcyIsIGhlbGxvV29ybGRD
U3RyaW5nXSk7Ci0gICAgICAgIGF1dG8gb2JqZWN0TlNQdHIgPSByZWludGVycHJldF9jYXN0PHVp
bnRwdHJfdD4ob2JqZWN0TlMuZ2V0KCkpOworICAgICAgICB1aW50cHRyX3Qgb2JqZWN0TlNQdHI7
CitCRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRworICAgICAgICBvYmplY3ROU1B0
ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3ROUy5nZXQoKSk7CiAgICAgICAg
IEVYUEVDVF9FUShvYmplY3ROUy5nZXQoKSwgZHluYW1pY19vYmpjX2Nhc3Q8TlNTdHJpbmc+KG9i
amVjdE5TLmdldCgpKSk7CiAgICAgICAgIEVYUEVDVF9FUShvYmplY3ROUy5nZXQoKSwgZHluYW1p
Y19vYmpjX2Nhc3Q8TlNPYmplY3Q+KG9iamVjdE5TLmdldCgpKSk7CiAgICAgICAgIEVYUEVDVF9F
UShuaWwsIGR5bmFtaWNfb2JqY19jYXN0PE5TQXJyYXk+KG9iamVjdE5TLmdldCgpKSk7CitFTkRf
QVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKICAgICAgICAgRVhQRUNUX0VRKDFMLCBDRkdl
dFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2JqZWN0TlNQdHIpKTsKICAgICB9CiAKICAgICBAYXV0
b3JlbGVhc2Vwb29sIHsKICAgICAgICAgYXV0byBvYmplY3ROUyA9IGFkb3B0TlM8TlNPYmplY3Qg
Kj4oW1tOU1N0cmluZyBhbGxvY10gaW5pdFdpdGhGb3JtYXQ6QCIlcyIsIGhlbGxvV29ybGRDU3Ry
aW5nXSk7Ci0gICAgICAgIGF1dG8gb2JqZWN0TlNQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRw
dHJfdD4ob2JqZWN0TlMuZ2V0KCkpOworICAgICAgICB1aW50cHRyX3Qgb2JqZWN0TlNQdHI7CitC
RUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRworICAgICAgICBvYmplY3ROU1B0ciA9
IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3ROUy5nZXQoKSk7CiAgICAgICAgIEVY
UEVDVF9FUShvYmplY3ROUy5nZXQoKSwgZHluYW1pY19vYmpjX2Nhc3Q8TlNTdHJpbmc+KG9iamVj
dE5TLmdldCgpKSk7CiAgICAgICAgIEVYUEVDVF9FUShuaWwsIGR5bmFtaWNfb2JqY19jYXN0PE5T
QXJyYXk+KG9iamVjdE5TLmdldCgpKSk7CitFTkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVC
VUcKICAgICAgICAgRVhQRUNUX0VRKDFMLCBDRkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2Jq
ZWN0TlNQdHIpKTsKICAgICB9CiAKICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKICAgICAgICAgYXV0
byBvYmplY3ROUyA9IGFkb3B0TlMoW1tOU1N0cmluZyBhbGxvY10gaW5pdFdpdGhGb3JtYXQ6QCIl
cyIsIGhlbGxvV29ybGRDU3RyaW5nXSk7Ci0gICAgICAgIGF1dG8gb2JqZWN0TlNQdHIgPSByZWlu
dGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0TlMuZ2V0KCkpOworICAgICAgICB1aW50cHRy
X3Qgb2JqZWN0TlNQdHI7CitCRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRworICAg
ICAgICBvYmplY3ROU1B0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3ROUy5n
ZXQoKSk7CiAgICAgICAgIEVYUEVDVF9FUShvYmplY3ROUy5nZXQoKSwgZHluYW1pY19vYmpjX2Nh
c3Q8TlNPYmplY3Q+KG9iamVjdE5TLmdldCgpKSk7CiAgICAgICAgIEVYUEVDVF9FUShuaWwsIGR5
bmFtaWNfb2JqY19jYXN0PE5TQXJyYXk+KG9iamVjdE5TLmdldCgpKSk7CitFTkRfQVVUT1JFTEVB
U0VQT09MX0ZPUl9BUkNfREVCVUcKICAgICAgICAgRVhQRUNUX0VRKDFMLCBDRkdldFJldGFpbkNv
dW50KChDRlR5cGVSZWYpb2JqZWN0TlNQdHIpKTsKICAgICB9CiAKICAgICBAYXV0b3JlbGVhc2Vw
b29sIHsKICAgICAgICAgYXV0byBvYmplY3RJRCA9IGFkb3B0TlM8aWQ+KFtbTlNPYmplY3QgYWxs
b2NdIGluaXRdKTsKLSAgICAgICAgYXV0byBvYmplY3RJRFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8
dWludHB0cl90PihvYmplY3RJRC5nZXQoKSk7CisgICAgICAgIHVpbnRwdHJfdCBvYmplY3RJRFB0
cjsKK0JFR0lOX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCisgICAgICAgIG9iamVjdElE
UHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdElELmdldCgpKTsKICAgICAg
ICAgRVhQRUNUX0VRKG9iamVjdElELmdldCgpLCBkeW5hbWljX29iamNfY2FzdDxOU09iamVjdD4o
b2JqZWN0SUQuZ2V0KCkpKTsKICAgICAgICAgRVhQRUNUX0VRKG5pbCwgZHluYW1pY19vYmpjX2Nh
c3Q8TXlPYmplY3RTdWJ0eXBlPihvYmplY3RJRC5nZXQoKSkpOworRU5EX0FVVE9SRUxFQVNFUE9P
TF9GT1JfQVJDX0RFQlVHCiAgICAgICAgIEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5Db3VudCgo
Q0ZUeXBlUmVmKW9iamVjdElEUHRyKSk7CiAgICAgfQogCiAgICAgQGF1dG9yZWxlYXNlcG9vbCB7
CiAgICAgICAgIGF1dG8gb2JqZWN0TlMgPSBhZG9wdE5TKFtbTlNPYmplY3QgYWxsb2NdIGluaXRd
KTsKLSAgICAgICAgYXV0byBvYmplY3ROU1B0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90
PihvYmplY3ROUy5nZXQoKSk7CisgICAgICAgIHVpbnRwdHJfdCBvYmplY3ROU1B0cjsKK0JFR0lO
X0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCisgICAgICAgIG9iamVjdE5TUHRyID0gcmVp
bnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdE5TLmdldCgpKTsKICAgICAgICAgRVhQRUNU
X0VRKG5pbCwgZHluYW1pY19vYmpjX2Nhc3Q8TXlPYmplY3RTdWJ0eXBlPihvYmplY3ROUy5nZXQo
KSkpOworRU5EX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCiAgICAgICAgIEVYUEVDVF9F
USgxTCwgQ0ZHZXRSZXRhaW5Db3VudCgoQ0ZUeXBlUmVmKW9iamVjdE5TUHRyKSk7CiAgICAgfQog
fQpAQCAtMTkyLDMxICsyMzMsNTAgQEAgVEVTVChUeXBlQ2FzdHNDb2NvYSwgZHluYW1pY19vYmpj
X2Nhc3RfUmV0YWluUHRyKQogCiAgICAgQGF1dG9yZWxlYXNlcG9vbCB7CiAgICAgICAgIGF1dG8g
b2JqZWN0ID0gYWRvcHROUzxpZD4oW1tOU1N0cmluZyBhbGxvY10gaW5pdFdpdGhGb3JtYXQ6QCIl
cyIsIGhlbGxvV29ybGRDU3RyaW5nXSk7Ci0gICAgICAgIGF1dG8gb2JqZWN0UHRyID0gcmVpbnRl
cnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdC5nZXQoKSk7CisgICAgICAgIHVpbnRwdHJfdCBv
YmplY3RQdHI7CitCRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRworICAgICAgICBv
YmplY3RQdHIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0LmdldCgpKTsKK0VO
RF9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRwogICAgICAgICBFWFBFQ1RfRVEoMUwsIENG
R2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmplY3RQdHIpKTsKIAotICAgICAgICBhdXRvIG9i
amVjdENhc3QgPSBkeW5hbWljX29iamNfY2FzdDxOU1N0cmluZz4oV1RGTW92ZShvYmplY3QpKTsK
LSAgICAgICAgYXV0byBvYmplY3RDYXN0UHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+
KG9iamVjdENhc3QuZ2V0KCkpOworICAgICAgICBSZXRhaW5QdHI8TlNTdHJpbmc+IG9iamVjdENh
c3Q7CisgICAgICAgIHVpbnRwdHJfdCBvYmplY3RDYXN0UHRyOworQkVHSU5fQVVUT1JFTEVBU0VQ
T09MX0ZPUl9BUkNfREVCVUcKKyAgICAgICAgb2JqZWN0Q2FzdCA9IGR5bmFtaWNfb2JqY19jYXN0
PE5TU3RyaW5nPihXVEZNb3ZlKG9iamVjdCkpOworICAgICAgICBvYmplY3RDYXN0UHRyID0gcmVp
bnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdENhc3QuZ2V0KCkpOworRU5EX0FVVE9SRUxF
QVNFUE9PTF9GT1JfQVJDX0RFQlVHCiAgICAgICAgIEVYUEVDVF9FUShuaWwsIG9iamVjdC5nZXQo
KSk7CiAgICAgICAgIEVYUEVDVF9FUShvYmplY3RQdHIsIG9iamVjdENhc3RQdHIpOwogICAgICAg
ICBFWFBFQ1RfRVEoMUwsIENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmplY3RDYXN0UHRy
KSk7CiAKK0JFR0lOX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCiAgICAgICAgIG9iamVj
dCA9IGFkb3B0TlM8aWQ+KFtbTlNTdHJpbmcgYWxsb2NdIGluaXRXaXRoRm9ybWF0OkAiJXMiLCBo
ZWxsb1dvcmxkQ1N0cmluZ10pOwogICAgICAgICBvYmplY3RQdHIgPSByZWludGVycHJldF9jYXN0
PHVpbnRwdHJfdD4ob2JqZWN0LmdldCgpKTsKK0VORF9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19E
RUJVRwogICAgICAgICBFWFBFQ1RfRVEoMUwsIENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilv
YmplY3RQdHIpKTsKIAotICAgICAgICBhdXRvIG9iamVjdENhc3QyID0gZHluYW1pY19vYmpjX2Nh
c3Q8TlNPYmplY3Q+KFdURk1vdmUob2JqZWN0KSk7Ci0gICAgICAgIGF1dG8gb2JqZWN0Q2FzdFB0
cjIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2JqZWN0Q2FzdDIuZ2V0KCkpOworICAg
ICAgICBSZXRhaW5QdHI8TlNPYmplY3Q+IG9iamVjdENhc3QyOworICAgICAgICB1aW50cHRyX3Qg
b2JqZWN0Q2FzdFB0cjI7CitCRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRworICAg
ICAgICBvYmplY3RDYXN0MiA9IGR5bmFtaWNfb2JqY19jYXN0PE5TT2JqZWN0PihXVEZNb3ZlKG9i
amVjdCkpOworICAgICAgICBvYmplY3RDYXN0UHRyMiA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0
cl90PihvYmplY3RDYXN0Mi5nZXQoKSk7CitFTkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVC
VUcKICAgICAgICAgRVhQRUNUX0VRKG5pbCwgb2JqZWN0LmdldCgpKTsKICAgICAgICAgRVhQRUNU
X0VRKG9iamVjdFB0ciwgb2JqZWN0Q2FzdFB0cjIpOwogICAgICAgICBFWFBFQ1RfRVEoMUwsIENG
R2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmplY3RDYXN0UHRyMikpOwogCitCRUdJTl9BVVRP
UkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRwogICAgICAgICBvYmplY3QgPSBhZG9wdE5TPGlkPihb
W05TU3RyaW5nIGFsbG9jXSBpbml0V2l0aEZvcm1hdDpAIiVzIiwgaGVsbG9Xb3JsZENTdHJpbmdd
KTsKICAgICAgICAgb2JqZWN0UHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVj
dC5nZXQoKSk7CitFTkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKICAgICAgICAgRVhQ
RUNUX0VRKDFMLCBDRkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2JqZWN0UHRyKSk7CiAKLSAg
ICAgICAgYXV0byBvYmplY3RDYXN0QmFkID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNBcnJheT4oV1RG
TW92ZShvYmplY3QpKTsKLSAgICAgICAgYXV0byBvYmplY3RQdHIyID0gcmVpbnRlcnByZXRfY2Fz
dDx1aW50cHRyX3Q+KG9iamVjdC5nZXQoKSk7CisgICAgICAgIFJldGFpblB0cjxOU0FycmF5PiBv
YmplY3RDYXN0QmFkOworICAgICAgICB1aW50cHRyX3Qgb2JqZWN0UHRyMjsKK0JFR0lOX0FVVE9S
RUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCisgICAgICAgIG9iamVjdENhc3RCYWQgPSBkeW5hbWlj
X29iamNfY2FzdDxOU0FycmF5PihXVEZNb3ZlKG9iamVjdCkpOworICAgICAgICBvYmplY3RQdHIy
ID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdC5nZXQoKSk7CitFTkRfQVVUT1JF
TEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKICAgICAgICAgRVhQRUNUX0VRKG9iamVjdFB0ciwgb2Jq
ZWN0UHRyMik7CiAgICAgICAgIEVYUEVDVF9FUShuaWwsIG9iamVjdENhc3RCYWQuZ2V0KCkpOwog
ICAgICAgICBFWFBFQ1RfRVEoMUwsIENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmplY3RQ
dHIyKSk7CkBAIC0yMjQsMzIgKzI4NCw1MSBAQCBURVNUKFR5cGVDYXN0c0NvY29hLCBkeW5hbWlj
X29iamNfY2FzdF9SZXRhaW5QdHIpCiAKICAgICBAYXV0b3JlbGVhc2Vwb29sIHsKICAgICAgICAg
YXV0byBvYmplY3QgPSBhZG9wdE5TKFtbTlNTdHJpbmcgYWxsb2NdIGluaXRXaXRoRm9ybWF0OkAi
JXMiLCBoZWxsb1dvcmxkQ1N0cmluZ10pOwotICAgICAgICBhdXRvIG9iamVjdFB0ciA9IHJlaW50
ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3QuZ2V0KCkpOworICAgICAgICB1aW50cHRyX3Qg
b2JqZWN0UHRyOworQkVHSU5fQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKKyAgICAgICAg
b2JqZWN0UHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdC5nZXQoKSk7CitF
TkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKICAgICAgICAgRVhQRUNUX0VRKDFMLCBD
RkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2JqZWN0UHRyKSk7CiAKICAgICAgICAgYXV0byBv
YmplY3RDYXN0ID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNPYmplY3Q+KFdURk1vdmUob2JqZWN0KSk7
Ci0gICAgICAgIGF1dG8gb2JqZWN0Q2FzdFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90
PihvYmplY3RDYXN0LmdldCgpKTsKKyAgICAgICAgdWludHB0cl90IG9iamVjdENhc3RQdHI7CitC
RUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRworICAgICAgICBvYmplY3RDYXN0UHRy
ID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdENhc3QuZ2V0KCkpOworRU5EX0FV
VE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCiAgICAgICAgIEVYUEVDVF9FUShuaWwsIG9iamVj
dC5nZXQoKSk7CiAgICAgICAgIEVYUEVDVF9FUShvYmplY3RQdHIsIG9iamVjdENhc3RQdHIpOwog
ICAgICAgICBFWFBFQ1RfRVEoMUwsIENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmplY3RD
YXN0UHRyKSk7CiAgICAgfQogCiAgICAgQGF1dG9yZWxlYXNlcG9vbCB7Ci0gICAgICAgIGF1dG8g
b2JqZWN0ID0gYWRvcHROUzxpZD4oW1tOU09iamVjdCBhbGxvY10gaW5pdF0pOwotICAgICAgICBh
dXRvIG9iamVjdFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3QuZ2V0KCkp
OworICAgICAgICBSZXRhaW5QdHI8aWQ+IG9iamVjdDsKKyAgICAgICAgdWludHB0cl90IG9iamVj
dFB0cjsKK0JFR0lOX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCisgICAgICAgIG9iamVj
dCA9IGFkb3B0TlM8aWQ+KFtbTlNPYmplY3QgYWxsb2NdIGluaXRdKTsKKyAgICAgICAgb2JqZWN0
UHRyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdC5nZXQoKSk7CitFTkRfQVVU
T1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKICAgICAgICAgRVhQRUNUX0VRKDFMLCBDRkdldFJl
dGFpbkNvdW50KChDRlR5cGVSZWYpb2JqZWN0UHRyKSk7CiAKLSAgICAgICAgYXV0byBvYmplY3RD
YXN0ID0gZHluYW1pY19vYmpjX2Nhc3Q8TlNPYmplY3Q+KFdURk1vdmUob2JqZWN0KSk7Ci0gICAg
ICAgIGF1dG8gb2JqZWN0Q2FzdFB0ciA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmpl
Y3RDYXN0LmdldCgpKTsKKyAgICAgICAgUmV0YWluUHRyPE5TT2JqZWN0PiBvYmplY3RDYXN0Owor
ICAgICAgICB1aW50cHRyX3Qgb2JqZWN0Q2FzdFB0cjsKK0JFR0lOX0FVVE9SRUxFQVNFUE9PTF9G
T1JfQVJDX0RFQlVHCisgICAgICAgIG9iamVjdENhc3QgPSBkeW5hbWljX29iamNfY2FzdDxOU09i
amVjdD4oV1RGTW92ZShvYmplY3QpKTsKKyAgICAgICAgb2JqZWN0Q2FzdFB0ciA9IHJlaW50ZXJw
cmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3RDYXN0LmdldCgpKTsKK0VORF9BVVRPUkVMRUFTRVBP
T0xfRk9SX0FSQ19ERUJVRwogICAgICAgICBFWFBFQ1RfRVEobmlsLCBvYmplY3QuZ2V0KCkpOwog
ICAgICAgICBFWFBFQ1RfRVEob2JqZWN0UHRyLCBvYmplY3RDYXN0UHRyKTsKICAgICAgICAgRVhQ
RUNUX0VRKDFMLCBDRkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2JqZWN0Q2FzdFB0cikpOwog
CitCRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRwogICAgICAgICBvYmplY3QgPSBh
ZG9wdE5TPGlkPihbW05TT2JqZWN0IGFsbG9jXSBpbml0XSk7CiAgICAgICAgIG9iamVjdFB0ciA9
IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3QuZ2V0KCkpOworRU5EX0FVVE9SRUxF
QVNFUE9PTF9GT1JfQVJDX0RFQlVHCiAgICAgICAgIEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5D
b3VudCgoQ0ZUeXBlUmVmKW9iamVjdFB0cikpOwogCi0gICAgICAgIGF1dG8gb2JqZWN0Q2FzdEJh
ZCA9IGR5bmFtaWNfb2JqY19jYXN0PE15T2JqZWN0U3VidHlwZT4oV1RGTW92ZShvYmplY3QpKTsK
KyAgICAgICAgUmV0YWluUHRyPE15T2JqZWN0U3VidHlwZT4gb2JqZWN0Q2FzdEJhZDsKK0JFR0lO
X0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCisgICAgICAgIG9iamVjdENhc3RCYWQgPSBk
eW5hbWljX29iamNfY2FzdDxNeU9iamVjdFN1YnR5cGU+KFdURk1vdmUob2JqZWN0KSk7CitFTkRf
QVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKICAgICAgICAgRVhQRUNUX0VRKG5pbCwgb2Jq
ZWN0Q2FzdEJhZC5nZXQoKSk7CiAgICAgICAgIEVYUEVDVF9FUSgxTCwgQ0ZHZXRSZXRhaW5Db3Vu
dCgoQ0ZUeXBlUmVmKW9iamVjdFB0cikpOwogICAgIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV1RGL2NvY29hL1R5cGVDYXN0c0NvY29hQVJDLm1tIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XVEYvY29jb2EvVHlwZUNhc3RzQ29jb2FBUkMubW0KbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOWQzYWU2ZDk1NWQwNmM5YThlMDc5MTdiMTE2MDY5NDgwZDFhZWNiNQotLS0gL2Rldi9udWxs
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL2NvY29hL1R5cGVDYXN0c0NvY29h
QVJDLm1tCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmICFfX2hhc19mZWF0dXJl
KG9iamNfYXJjKQorI2Vycm9yIFRoaXMgdGVzdHMgVHlwZUNhc3RzQ29jb2EuaCB3aXRoIEFSQyBl
bmFibGVkLgorI2VuZGlmCisKKyNkZWZpbmUgTXlPYmplY3RTdWJ0eXBlIE15T2JqZWN0U3VidHlw
ZUFSQworI2RlZmluZSBUeXBlQ2FzdHNDb2NvYSBUeXBlQ2FzdHNDb2NvYUFSQworI2luY2x1ZGUg
IlR5cGVDYXN0c0NvY29hLm1tIgorI3VuZGVmIFR5cGVDYXN0c0NvY29hCisjdW5kZWYgTXlPYmpl
Y3RTdWJ0eXBlCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9ucy9S
ZXRhaW5QdHIubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9ucy9SZXRhaW5QdHIu
bW0KaW5kZXggOTcxMzYwZmQ0ZGZiOWE3MGFiZTYwM2ZmMGI2NDdhNzIyZTIyZTQ1My4uMGRlMGRj
NzU0NDczODMzNjBmMzk0Y2JjOWU1MjNlYjc1MjBkYjJiMiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XVEYvbnMvUmV0YWluUHRyLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL25zL1JldGFpblB0ci5tbQpAQCAtNDAsMjAgKzQwLDQyIEBACiAjZGVm
aW5lIFJFVEFJTl9QVFJfVEVTVF9OQU1FIFJldGFpblB0cgogI2VuZGlmCiAKKyNpZiBfX2hhc19m
ZWF0dXJlKG9iamNfYXJjKSAmJiAhZGVmaW5lZChOREVCVUcpCisvLyBEZWJ1ZyBidWlsZHMgd2l0
aCBBUkMgZW5hYmxlZCBjYXVzZSBvYmplY3RzIHRvIGJlIGF1dG9yZWxlYXNlZAorLy8gd2hlbiBh
c3NpZ25pbmcgYWRvcHROUygpIHJlc3VsdCB0byBhIGRpZmZlcmVudCBSZXRhaW5QdHI8PiB0eXBl
LAorLy8gYW5kIHdoZW4gY2FsbGluZyBSZXRhaW5QdHI8Pjo6Z2V0KCkuCisjZGVmaW5lIEJFR0lO
X0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHIEBhdXRvcmVsZWFzZXBvb2wgeworI2RlZmlu
ZSBFTkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcgfQorI2Vsc2UKKyNkZWZpbmUgQkVH
SU5fQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKKyNkZWZpbmUgRU5EX0FVVE9SRUxFQVNF
UE9PTF9GT1JfQVJDX0RFQlVHCisjZW5kaWYKKwogbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkgewog
CiBURVNUKFJFVEFJTl9QVFJfVEVTVF9OQU1FLCBBZG9wdE5TKQogewogICAgIFJldGFpblB0cjxO
U09iamVjdD4gb2JqZWN0MSA9IGFkb3B0TlMoW1tOU09iamVjdCBhbGxvY10gaW5pdF0pOwotICAg
IGF1dG8gb2JqZWN0UHRyMSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3QxLmdl
dCgpKTsKKyAgICB1aW50cHRyX3Qgb2JqZWN0UHRyMSA9IDA7CitCRUdJTl9BVVRPUkVMRUFTRVBP
T0xfRk9SX0FSQ19ERUJVRworICAgIG9iamVjdFB0cjEgPSByZWludGVycHJldF9jYXN0PHVpbnRw
dHJfdD4ob2JqZWN0MS5nZXQoKSk7CitFTkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcK
ICAgICBFWFBFQ1RfRVEoMUwsIENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmplY3RQdHIx
KSk7CiAKLSAgICBSZXRhaW5QdHI8TlNPYmplY3QgKj4gb2JqZWN0MiA9IGFkb3B0TlMoW1tOU09i
amVjdCBhbGxvY10gaW5pdF0pOwotICAgIGF1dG8gb2JqZWN0UHRyMiA9IHJlaW50ZXJwcmV0X2Nh
c3Q8dWludHB0cl90PihvYmplY3QyLmdldCgpKTsKKyAgICBSZXRhaW5QdHI8TlNPYmplY3QgKj4g
b2JqZWN0MjsKKyAgICB1aW50cHRyX3Qgb2JqZWN0UHRyMiA9IDA7CitCRUdJTl9BVVRPUkVMRUFT
RVBPT0xfRk9SX0FSQ19ERUJVRworICAgIG9iamVjdDIgPSBhZG9wdE5TKFtbTlNPYmplY3QgYWxs
b2NdIGluaXRdKTsKKyAgICBvYmplY3RQdHIyID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+
KG9iamVjdDIuZ2V0KCkpOworRU5EX0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCiAgICAg
RVhQRUNUX0VRKDFMLCBDRkdldFJldGFpbkNvdW50KChDRlR5cGVSZWYpb2JqZWN0UHRyMikpOwog
Ci0gICAgUmV0YWluUHRyPGlkPiBvYmplY3QzID0gYWRvcHROUyhbW05TT2JqZWN0IGFsbG9jXSBp
bml0XSk7Ci0gICAgYXV0byBvYmplY3RQdHIzID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+
KG9iamVjdDMuZ2V0KCkpOworICAgIFJldGFpblB0cjxpZD4gb2JqZWN0MzsKKyAgICB1aW50cHRy
X3Qgb2JqZWN0UHRyMyA9IDA7CitCRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FSQ19ERUJVRwor
ICAgIG9iamVjdDMgPSBhZG9wdE5TKFtbTlNPYmplY3QgYWxsb2NdIGluaXRdKTsKKyAgICBvYmpl
Y3RQdHIzID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdDMuZ2V0KCkpOworRU5E
X0FVVE9SRUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCiAgICAgRVhQRUNUX0VRKDEsIENGR2V0UmV0
YWluQ291bnQoKENGVHlwZVJlZilvYmplY3RQdHIzKSk7CiB9CiAKQEAgLTI3NiwyMSArMjk4LDMw
IEBAIFRFU1QoUkVUQUlOX1BUUl9URVNUX05BTUUsIFJldGFpblB0ck5TKQogICAgIEBhdXRvcmVs
ZWFzZXBvb2wgewogICAgICAgICBvYmplY3QxID0gcmV0YWluUHRyKFtbTlNPYmplY3QgbmV3XSBh
dXRvcmVsZWFzZV0pOwogICAgIH0KLSAgICBhdXRvIG9iamVjdFB0cjEgPSByZWludGVycHJldF9j
YXN0PHVpbnRwdHJfdD4ob2JqZWN0MS5nZXQoKSk7CisgICAgdWludHB0cl90IG9iamVjdFB0cjEg
PSAwOworQkVHSU5fQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKKyAgICBvYmplY3RQdHIx
ID0gcmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KG9iamVjdDEuZ2V0KCkpOworRU5EX0FVVE9S
RUxFQVNFUE9PTF9GT1JfQVJDX0RFQlVHCiAgICAgRVhQRUNUX0VRKDFMLCBDRkdldFJldGFpbkNv
dW50KChDRlR5cGVSZWYpb2JqZWN0UHRyMSkpOwogCiAgICAgUmV0YWluUHRyPE5TT2JqZWN0ICo+
IG9iamVjdDI7CiAgICAgQGF1dG9yZWxlYXNlcG9vbCB7CiAgICAgICAgIG9iamVjdDIgPSByZXRh
aW5QdHIoW1tOU09iamVjdCBuZXddIGF1dG9yZWxlYXNlXSk7CiAgICAgfQotICAgIGF1dG8gb2Jq
ZWN0UHRyMiA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmplY3QyLmdldCgpKTsKKyAg
ICB1aW50cHRyX3Qgb2JqZWN0UHRyMiA9IDA7CitCRUdJTl9BVVRPUkVMRUFTRVBPT0xfRk9SX0FS
Q19ERUJVRworICAgIG9iamVjdFB0cjIgPSByZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4ob2Jq
ZWN0Mi5nZXQoKSk7CitFTkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNfREVCVUcKICAgICBFWFBF
Q1RfRVEoMUwsIENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmplY3RQdHIyKSk7CiAKICAg
ICBSZXRhaW5QdHI8aWQ+IG9iamVjdDM7CiAgICAgQGF1dG9yZWxlYXNlcG9vbCB7CiAgICAgICAg
IG9iamVjdDMgPSByZXRhaW5QdHIoW1tOU09iamVjdCBuZXddIGF1dG9yZWxlYXNlXSk7CiAgICAg
fQotICAgIGF1dG8gb2JqZWN0UHRyMyA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihvYmpl
Y3QzLmdldCgpKTsKKyAgICB1aW50cHRyX3Qgb2JqZWN0UHRyMyA9IDA7CitCRUdJTl9BVVRPUkVM
RUFTRVBPT0xfRk9SX0FSQ19ERUJVRworICAgIG9iamVjdFB0cjMgPSByZWludGVycHJldF9jYXN0
PHVpbnRwdHJfdD4ob2JqZWN0My5nZXQoKSk7CitFTkRfQVVUT1JFTEVBU0VQT09MX0ZPUl9BUkNf
REVCVUcKICAgICBFWFBFQ1RfRVEoMUwsIENGR2V0UmV0YWluQ291bnQoKENGVHlwZVJlZilvYmpl
Y3RQdHIzKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RG
L25zL1JldGFpblB0ckFSQy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL25zL1Jl
dGFpblB0ckFSQy5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OGEyNTIzNGIwZGRjMDhmOTM0NDA2MTNiMjhjMDM0
YWFhOGYwMmZiCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
VEYvbnMvUmV0YWluUHRyQVJDLm1tCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
CisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
ICFfX2hhc19mZWF0dXJlKG9iamNfYXJjKQorI2Vycm9yIFRoaXMgdGVzdHMgUmV0YWluUHRyLmgg
d2l0aCBBUkMgZW5hYmxlZC4KKyNlbmRpZgorCisjZGVmaW5lIFJFVEFJTl9QVFJfVEVTVF9OQU1F
IFJldGFpblB0ckFSQworI2luY2x1ZGUgIlJldGFpblB0ci5tbSIKKyN1bmRlZiBSRVRBSU5fUFRS
X1RFU1RfTkFNRQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>