<?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>233911</bug_id>
          
          <creation_ts>2021-12-06 19:51:57 -0800</creation_ts>
          <short_desc>CSP: Allow external scripts with SRI hashes matching CSP</short_desc>
          <delta_ts>2021-12-10 08:59:19 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick Griffis">pgriffis</reporter>
          <assigned_to name="Patrick Griffis">pgriffis</assigned_to>
          <cc>cdumez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>mkwst</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1820871</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-12-06 19:51:57 -0800</bug_when>
    <thetext>CSP: Allow external scripts with SRI hashes matching CSP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820875</commentid>
    <comment_count>1</comment_count>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-12-06 19:53:35 -0800</bug_when>
    <thetext>*** Bug 233912 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820877</commentid>
    <comment_count>2</comment_count>
      <attachid>446115</attachid>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-12-06 20:17:41 -0800</bug_when>
    <thetext>Created attachment 446115
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820878</commentid>
    <comment_count>3</comment_count>
      <attachid>446116</attachid>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-12-06 20:40:13 -0800</bug_when>
    <thetext>Created attachment 446116
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820882</commentid>
    <comment_count>4</comment_count>
      <attachid>446119</attachid>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-12-06 21:49:48 -0800</bug_when>
    <thetext>Created attachment 446119
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820895</commentid>
    <comment_count>5</comment_count>
      <attachid>446124</attachid>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-12-06 22:17:57 -0800</bug_when>
    <thetext>Created attachment 446124
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821085</commentid>
    <comment_count>6</comment_count>
      <attachid>446193</attachid>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-12-07 09:57:22 -0800</bug_when>
    <thetext>Created attachment 446193
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1821331</commentid>
    <comment_count>7</comment_count>
      <attachid>446274</attachid>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-12-07 18:39:10 -0800</bug_when>
    <thetext>Created attachment 446274
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822119</commentid>
    <comment_count>8</comment_count>
      <attachid>446274</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-12-09 07:05:17 -0800</bug_when>
    <thetext>Comment on attachment 446274
Patch

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

&gt; Source/WebCore/loader/ResourceCryptographicDigest.cpp:74
&gt; +    if (auto digest = base64Decode(hashValue))

A bit strange that some hash digests in wpt tests don&apos;t have correct padding.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822503</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-09 20:53:54 -0800</bug_when>
    <thetext>Tools/Scripts/svn-apply failed to apply attachment 446274 to trunk.
Please resolve the conflicts and upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822709</commentid>
    <comment_count>10</comment_count>
      <attachid>446732</attachid>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-12-10 08:09:43 -0800</bug_when>
    <thetext>Created attachment 446732
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822710</commentid>
    <comment_count>11</comment_count>
    <who name="Patrick Griffis">pgriffis</who>
    <bug_when>2021-12-10 08:13:23 -0800</bug_when>
    <thetext>(In reply to Kate Cheney from comment #8)
&gt; Comment on attachment 446274 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=446274&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/loader/ResourceCryptographicDigest.cpp:74
&gt; &gt; +    if (auto digest = base64Decode(hashValue))
&gt; 
&gt; A bit strange that some hash digests in wpt tests don&apos;t have correct padding.

Yeah, I&apos;m not sure if it was on purpose to test this or what.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822738</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-10 08:58:10 -0800</bug_when>
    <thetext>Committed r286853 (245086@main): &lt;https://commits.webkit.org/245086@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 446732.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1822740</commentid>
    <comment_count>13</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-10 08:59:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/86324086&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446115</attachid>
            <date>2021-12-06 20:17:41 -0800</date>
            <delta_ts>2021-12-06 20:40:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233911-20211206221740.patch</filename>
            <type>text/plain</type>
            <size>22854</size>
            <attacher name="Patrick Griffis">pgriffis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjNlMzRlN2EyNjgzMGQ3
MjFlNWYzODgzNWM0YzdmZDBlM2E2NGY1NC4uYTNhYjhjNjFhYzllNTg2ZTY3YTc0NGQ3NzRiYTkw
OTY2NjM0YTA4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTEyLTA1ICBQYXRy
aWNrIEdyaWZmaXMgIDxwZ3JpZmZpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIENTUDogQWxsb3cg
ZXh0ZXJuYWwgc2NyaXB0cyB3aXRoIFNSSSBoYXNoZXMgbWF0Y2hpbmcgQ1NQCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5MTEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgY2hhbmdlIGlu
IENTUDMgdGhhdCBhbGxvd3MgbG9hZGluZyBleHRlcm5hbAorICAgICAgICBzY3JpcHRzIHRoYXQg
aGF2ZSBTUkkgaGFzaGVzIG1hdGNoaW5nIENTUCBoYXNoZXMuCisgICAgICAgIGh0dHBzOi8vd3d3
LnczLm9yZy9UUi9DU1AzLyNleHRlcm5hbC1oYXNoCisKKyAgICAgICAgUmVzb3VyY2VDcnlwdG9n
cmFwaGljRGlnZXN0IHdhcyBjaGFuZ2VkIHRvIG5vdCB2YWxpZGF0ZSB3aGl0ZXNwYWNlCisgICAg
ICAgIGR1cmluZyBiYXNlNjQgZGVjb2Rpbmcgd2hpY2ggaXMgaGFybWxlc3MgYW5kIGZpeGVzIHBh
cnNpbmcgdGhlCisgICAgICAgIGhhc2hlcyB1c2VkIGluIFdQVCdzIHNjcmlwdC1zcmMtc3JpX2hh
c2guc3ViLmh0bWwuCisKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6aXNBbGxv
d2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3kpOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUNy
eXB0b2dyYXBoaWNEaWdlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VDcnlwdG9ncmFw
aGljRGlnZXN0SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpkZWNvZGVFbmNvZGVkUmVzb3VyY2VD
cnlwdG9ncmFwaGljRGlnZXN0KToKKyAgICAgICAgKiBsb2FkZXIvU3VicmVzb3VyY2VJbnRlZ3Jp
dHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VJbnRlZ3JpdHlNZXRhZGF0YSk6CisgICAg
ICAgICogbG9hZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5Lmg6CisgICAgICAgICogbG9hZGVyL2Nh
Y2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJl
c291cmNlTG9hZGVyOjphbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3kgY29uc3QpOgorICAg
ICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpwYXJzZVN1YlJlc291cmNlSW50ZWdyaXR5SW50b0RpZ2VzdHMpOgorICAgICAgICAoV2Vi
Q29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjptYXRjaEFsbFNSSUhhc2hlc0luUG9saWNpZXMg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1Jl
c291cmNlRnJvbVNvdXJjZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJp
dHlQb2xpY3k6OmFsbG93U2NyaXB0RnJvbVNvdXJjZSBjb25zdCk6CisgICAgICAgICogcGFnZS9j
c3AvQ29udGVudFNlY3VyaXR5UG9saWN5Lmg6CisgICAgICAgICogcGFnZS9jc3AvQ29udGVudFNl
Y3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50
U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0OjpkaXJlY3RpdmVDb250YWluc0FsbEhhc2hlcyBj
b25zdCk6CisgICAgICAgICogcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZl
TGlzdC5oOgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxp
c3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlz
dDo6bWF0Y2hlc0FsbCBjb25zdCk6CisgICAgICAgICogcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5
UG9saWN5U291cmNlTGlzdC5oOgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBv
bGljeVNvdXJjZUxpc3REaXJlY3RpdmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNl
Y3VyaXR5UG9saWN5U291cmNlTGlzdERpcmVjdGl2ZTo6Y29udGFpbnNBbGxIYXNoZXMgY29uc3Qp
OgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJl
Y3RpdmUuaDoKKwogMjAyMS0xMi0wNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgog
CiAgICAgICAgIDxpbnB1dCB0eXBlPSJ0aW1lIj4ncyByYW5nZSBzaG91bGQgYmUgcmV2ZXJzaWJs
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
LmNwcAppbmRleCA5YTRkNGIyMTJmZGZkMjgxODQzNzZkNGI3MGM3ZGE0ZjNlYjdjODMyLi5jMTBk
NWMxZGJlYmVmMDU1Mjg0M2RkOWZjMGE1MzNkZGI0NzkzYTRiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtNjg1LDcgKzY4
NSw3IEBAIGJvb2wgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjppc0FsbG93ZWRCeUNvbnRlbnRT
ZWN1cml0eVBvbGljeShjb25zdCBVUkwmIHVybCwKICAgICBjYXNlIENvbnRlbnRTZWN1cml0eVBv
bGljeUVuZm9yY2VtZW50OjpFbmZvcmNlQ29ubmVjdFNyY0RpcmVjdGl2ZToKICAgICAgICAgcmV0
dXJuIGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLmFsbG93Q29ubmVjdFRvU291cmNlKHVybCwgcmVk
aXJlY3RSZXNwb25zZVJlY2VpdmVkLCBwcmVSZWRpcmVjdFVSTCk7CiAgICAgY2FzZSBDb250ZW50
U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RW5mb3JjZVNjcmlwdFNyY0RpcmVjdGl2ZToKLSAg
ICAgICAgcmV0dXJuIGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLmFsbG93U2NyaXB0RnJvbVNvdXJj
ZSh1cmwsIHJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCwgcHJlUmVkaXJlY3RVUkwpOworICAgICAg
ICByZXR1cm4gY29udGVudFNlY3VyaXR5UG9saWN5KCkuYWxsb3dTY3JpcHRGcm9tU291cmNlKHVy
bCwgcmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBwcmVSZWRpcmVjdFVSTCwgbV9vcHRpb25zLmlu
dGVncml0eSk7CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBm
YWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUNyeXB0b2dy
YXBoaWNEaWdlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlQ3J5cHRvZ3Jh
cGhpY0RpZ2VzdC5jcHAKaW5kZXggYzYyNzc2ODU4YTZkYzVhZmZkMzZkYzllNzg1YzhiZDI0NzJi
Yjc0ZC4uNDg0MGYxNGNmMjVkZGYxZjYwMGFlOTZkYWM2M2Q5NzExYzhjOTQwNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdC5j
cHAKQEAgLTcxLDcgKzcxLDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4gc3Rh
dGljIHN0ZDo6b3B0aW9uYWw8UmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXMKIAogICAgIFN0cmlu
Z1ZpZXcgaGFzaFZhbHVlKGJlZ2luSGFzaFZhbHVlLCBidWZmZXIucG9zaXRpb24oKSAtIGJlZ2lu
SGFzaFZhbHVlKTsKIAotICAgIGlmIChhdXRvIGRpZ2VzdCA9IGJhc2U2NERlY29kZShoYXNoVmFs
dWUsIEJhc2U2NERlY29kZU9wdGlvbnM6OlZhbGlkYXRlUGFkZGluZykpCisgICAgaWYgKGF1dG8g
ZGlnZXN0ID0gYmFzZTY0RGVjb2RlKGhhc2hWYWx1ZSkpCiAgICAgICAgIHJldHVybiBSZXNvdXJj
ZUNyeXB0b2dyYXBoaWNEaWdlc3QgeyAqYWxnb3JpdGhtLCBXVEZNb3ZlKCpkaWdlc3QpIH07CiAK
ICAgICBpZiAoYXV0byBkaWdlc3QgPSBiYXNlNjRVUkxEZWNvZGUoaGFzaFZhbHVlKSkKQEAgLTEy
NSw3ICsxMjUsNyBAQCBzdGQ6Om9wdGlvbmFsPEVuY29kZWRSZXNvdXJjZUNyeXB0b2dyYXBoaWNE
aWdlc3Q+IHBhcnNlRW5jb2RlZENyeXB0b2dyYXBoaWNEaWdlcwogCiBzdGQ6Om9wdGlvbmFsPFJl
c291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdD4gZGVjb2RlRW5jb2RlZFJlc291cmNlQ3J5cHRvZ3Jh
cGhpY0RpZ2VzdChjb25zdCBFbmNvZGVkUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0JiBlbmNv
ZGVkRGlnZXN0KQogewotICAgIGlmIChhdXRvIGRpZ2VzdCA9IGJhc2U2NERlY29kZShlbmNvZGVk
RGlnZXN0LmRpZ2VzdCwgQmFzZTY0RGVjb2RlT3B0aW9uczo6VmFsaWRhdGVQYWRkaW5nKSkKKyAg
ICBpZiAoYXV0byBkaWdlc3QgPSBiYXNlNjREZWNvZGUoZW5jb2RlZERpZ2VzdC5kaWdlc3QpKQog
ICAgICAgICByZXR1cm4gUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0IHsgZW5jb2RlZERpZ2Vz
dC5hbGdvcml0aG0sIFdURk1vdmUoKmRpZ2VzdCkgfTsKIAogICAgIGlmIChhdXRvIGRpZ2VzdCA9
IGJhc2U2NFVSTERlY29kZShlbmNvZGVkRGlnZXN0LmRpZ2VzdCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VJbnRlZ3JpdHkuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5LmNwcAppbmRleCBjNTIwODFiNDIxNjdiYTgw
YzI3NTcwOGNiZDk5NmQ4N2E4NTQ0MjJmLi5mNDNkY2Q4NGVkMzI1NGVjOTdhZGU5OGVmYTA5NWRm
YmZkMWUyZDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VJ
bnRlZ3JpdHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUludGVn
cml0eS5jcHAKQEAgLTk2LDcgKzk2LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHNwbGl0T25TcGFj
ZXMoU3RyaW5nUGFyc2luZ0J1ZmZlcjxDaGFyYWN0ZXJUeXBlPiBidWZmZXIsIEZ1bmMKICAgICB9
CiB9CiAKLXN0YXRpYyBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxFbmNvZGVkUmVzb3VyY2VDcnlwdG9n
cmFwaGljRGlnZXN0Pj4gcGFyc2VJbnRlZ3JpdHlNZXRhZGF0YShjb25zdCBTdHJpbmcmIGludGVn
cml0eU1ldGFkYXRhKQorc3RkOjpvcHRpb25hbDxWZWN0b3I8RW5jb2RlZFJlc291cmNlQ3J5cHRv
Z3JhcGhpY0RpZ2VzdD4+IHBhcnNlSW50ZWdyaXR5TWV0YWRhdGEoY29uc3QgU3RyaW5nJiBpbnRl
Z3JpdHlNZXRhZGF0YSkKIHsKICAgICBpZiAoaW50ZWdyaXR5TWV0YWRhdGEuaXNFbXB0eSgpKQog
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3Vi
cmVzb3VyY2VJbnRlZ3JpdHkuaAppbmRleCAxYmQ2ODY2OGVjYWVlMzcxZDBhNDQzNjE3MWRkMzA4
ZGIzNDI4NTk1Li4yNTM1YjhjMzZhMzg0ZWI4MDRhYzZmNzU3M2M0ZGNkMmM2ZGY3NmU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VJbnRlZ3JpdHkuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VJbnRlZ3JpdHkuaApAQCAtMzMsNSAr
MzMsNiBAQCBjbGFzcyBDYWNoZWRSZXNvdXJjZTsKIAogYm9vbCBtYXRjaEludGVncml0eU1ldGFk
YXRhKGNvbnN0IENhY2hlZFJlc291cmNlJiwgY29uc3QgU3RyaW5nJiBpbnRlZ3JpdHlNZXRhZGF0
YSk7CiBTdHJpbmcgaW50ZWdyaXR5TWlzbWF0Y2hEZXNjcmlwdGlvbihjb25zdCBDYWNoZWRSZXNv
dXJjZSYsIGNvbnN0IFN0cmluZyYgaW50ZWdyaXR5TWV0YWRhdGEpOworc3RkOjpvcHRpb25hbDxW
ZWN0b3I8RW5jb2RlZFJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdD4+IHBhcnNlSW50ZWdyaXR5
TWV0YWRhdGEoY29uc3QgU3RyaW5nJiBpbnRlZ3JpdHlNZXRhZGF0YSk7CiAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmlu
ZGV4IGZhMzgyMWFhYzEyNTJmOWU3MmFjOWNkOWZiNWFhY2E4NjYwODI0NTYuLjg0YzAxNGJkNjQz
MGExODJjY2ZkN2Y0MmM4NWZhMzhiYjdjNDBhZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAtNTAxLDcgKzUwMSw3
IEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmFsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBv
bGljeShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlw
ZTo6WFNMU3R5bGVTaGVldDoKICNlbmRpZgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6
OlNjcmlwdDoKLSAgICAgICAgaWYgKCFtX2RvY3VtZW50LT5jb250ZW50U2VjdXJpdHlQb2xpY3ko
KS0+YWxsb3dTY3JpcHRGcm9tU291cmNlKHVybCwgcmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBw
cmVSZWRpcmVjdFVSTCkpCisgICAgICAgIGlmICghbV9kb2N1bWVudC0+Y29udGVudFNlY3VyaXR5
UG9saWN5KCktPmFsbG93U2NyaXB0RnJvbVNvdXJjZSh1cmwsIHJlZGlyZWN0UmVzcG9uc2VSZWNl
aXZlZCwgcHJlUmVkaXJlY3RVUkwsIG9wdGlvbnMuaW50ZWdyaXR5KSkKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlw
ZTo6Q1NTU3R5bGVTaGVldDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0Nv
bnRlbnRTZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50
U2VjdXJpdHlQb2xpY3kuY3BwCmluZGV4IGFjZjEzMWY1MGRlYmRkZjlmZjQ5NGQ2MjUwNzAxNzVj
NzdhMDE2MjkuLmRlNDJkZmUwMjlmMzgwODVmNTAyZDg5NWRiOTI2MzRjMzVkNDI3MTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcApA
QCAtNTIsNiArNTIsNyBAQAogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAi
U2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudC5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisj
aW5jbHVkZSAiU3VicmVzb3VyY2VJbnRlZ3JpdHkuaCIKICNpbmNsdWRlICJUZXh0RW5jb2Rpbmcu
aCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmg+CkBAIC0zNTUsNiArMzU2
LDM3IEBAIGJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxTY3JpcHRQb2xpY2llc0FsbG93
KFZpb2xhdGVkRGlyZWN0aXZlQ2FsbGJhY2smJiBjCiAgICAgcmV0dXJuIGlzQWxsb3dlZDsKIH0K
IAorc3RhdGljIFZlY3RvcjxSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3Q+IHBhcnNlU3ViUmVz
b3VyY2VJbnRlZ3JpdHlJbnRvRGlnZXN0cyhjb25zdCBTdHJpbmcmIHN1YlJlc291cmNlSW50ZWdy
aXR5KQoreworICAgIGF1dG8gZW5jb2RlZERpZ2VzdHMgPSBwYXJzZUludGVncml0eU1ldGFkYXRh
KHN1YlJlc291cmNlSW50ZWdyaXR5KTsKKyAgICBWZWN0b3I8UmVzb3VyY2VDcnlwdG9ncmFwaGlj
RGlnZXN0PiBkZWNvZGVkRGlnZXN0czsKKworICAgIGlmICghZW5jb2RlZERpZ2VzdHMuaGFzX3Zh
bHVlKCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBmb3IgKGNvbnN0IGF1dG8mIGVuY29k
ZWREaWdlc3QgOiBlbmNvZGVkRGlnZXN0cy52YWx1ZSgpKSB7CisgICAgICAgIGF1dG8gZGVjb2Rl
ZERpZ2VzdCA9IGRlY29kZUVuY29kZWRSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3QoZW5jb2Rl
ZERpZ2VzdCk7CisgICAgICAgIGlmIChkZWNvZGVkRGlnZXN0Lmhhc192YWx1ZSgpKQorICAgICAg
ICAgICAgZGVjb2RlZERpZ2VzdHMuYXBwZW5kKGRlY29kZWREaWdlc3QudmFsdWUoKSk7CisgICAg
fQorCisgICAgcmV0dXJuIGRlY29kZWREaWdlc3RzOworfQorCitib29sIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6bWF0Y2hBbGxTUklIYXNoZXNJblBvbGljaWVzKGNvbnN0IFN0cmluZyYgc3ViUmVz
b3VyY2VJbnRlZ3JpdHkpIGNvbnN0Cit7CisgICAgYXV0byBkaWdlc3RzID0gcGFyc2VTdWJSZXNv
dXJjZUludGVncml0eUludG9EaWdlc3RzKHN1YlJlc291cmNlSW50ZWdyaXR5KTsKKyAgICBpZiAo
ZGlnZXN0cy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGZvciAoYXV0
byYgcG9saWN5IDogbV9wb2xpY2llcykgeworICAgICAgICBpZiAocG9saWN5LmdldCgpLT5kaXJl
Y3RpdmVDb250YWluc0FsbEhhc2hlcyhkaWdlc3RzKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVl
OworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKwogdGVtcGxhdGU8dHlwZW5hbWUgUHJl
ZGljYXRlPgogQ29udGVudFNlY3VyaXR5UG9saWN5OjpIYXNoSW5FbmZvcmNlZEFuZFJlcG9ydE9u
bHlQb2xpY2llc1BhaXIgQ29udGVudFNlY3VyaXR5UG9saWN5OjpmaW5kSGFzaE9mQ29udGVudElu
UG9saWNpZXMoY29uc3QgUHJlZGljYXRlJiBwcmVkaWNhdGUsIFN0cmluZ1ZpZXcgY29udGVudCwg
T3B0aW9uU2V0PENvbnRlbnRTZWN1cml0eVBvbGljeUhhc2hBbGdvcml0aG0+IGFsZ29yaXRobXMp
IGNvbnN0CiB7CkBAIC02MjEsNyArNjUzLDcgQEAgYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6
OmFsbG93Q2hpbGRGcmFtZUZyb21Tb3VyY2UoY29uc3QgVVJMJiB1cmwsIFJlZGlyZWN0UmUKICAg
ICByZXR1cm4gYWxsUG9saWNpZXNBbGxvdyhXVEZNb3ZlKGhhbmRsZVZpb2xhdGVkRGlyZWN0aXZl
KSwgJkNvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3Q6OnZpb2xhdGVkRGlyZWN0aXZl
Rm9yRnJhbWUsIHVybCwgcmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkID09IFJlZGlyZWN0UmVzcG9u
c2VSZWNlaXZlZDo6WWVzKTsKIH0KIAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93
UmVzb3VyY2VGcm9tU291cmNlKGNvbnN0IFVSTCYgdXJsLCBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2
ZWQgcmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBjb25zdCBjaGFyKiBuYW1lLCBSZXNvdXJjZVBy
ZWRpY2F0ZSByZXNvdXJjZVByZWRpY2F0ZSwgY29uc3QgVVJMJiBwcmVSZWRpcmVjdFVSTCkgY29u
c3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1Jlc291cmNlRnJvbVNvdXJjZShj
b25zdCBVUkwmIHVybCwgUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkIHJlZGlyZWN0UmVzcG9uc2VS
ZWNlaXZlZCwgY29uc3QgY2hhciogbmFtZSwgUmVzb3VyY2VQcmVkaWNhdGUgcmVzb3VyY2VQcmVk
aWNhdGUsIGNvbnN0IFVSTCYgcHJlUmVkaXJlY3RVUkwsIGNvbnN0IFN0cmluZyYgc3ViUmVzb3Vy
Y2VJbnRlZ3JpdHkpIGNvbnN0CiB7CiAgICAgaWYgKExlZ2FjeVNjaGVtZVJlZ2lzdHJ5OjpzY2hl
bWVTaG91bGRCeXBhc3NDb250ZW50U2VjdXJpdHlQb2xpY3kodXJsLnByb3RvY29sKCkudG9TdHJp
bmdXaXRob3V0Q29weWluZygpKSkKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC02MzIsNiArNjY0
LDEwIEBAIGJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1Jlc291cmNlRnJvbVNvdXJj
ZShjb25zdCBVUkwmIHVybCwgUmVkaXJlY3RSZXNwCiAgICAgICAgIFN0cmluZyBjb25zb2xlTWVz
c2FnZSA9IGNvbnNvbGVNZXNzYWdlRm9yVmlvbGF0aW9uKG5hbWUsIHZpb2xhdGVkRGlyZWN0aXZl
LCBibG9ja2VkVVJMLCAiUmVmdXNlZCB0byBsb2FkIik7CiAgICAgICAgIHJlcG9ydFZpb2xhdGlv
bihuYW1lLCB2aW9sYXRlZERpcmVjdGl2ZSwgYmxvY2tlZFVSTC5zdHJpbmcoKSwgY29uc29sZU1l
c3NhZ2UsIHNvdXJjZVVSTCwgU3RyaW5nVmlldygpLCBzb3VyY2VQb3NpdGlvbik7CiAgICAgfTsK
KworICAgIGlmIChtYXRjaEFsbFNSSUhhc2hlc0luUG9saWNpZXMoc3ViUmVzb3VyY2VJbnRlZ3Jp
dHkpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIHJldHVybiBhbGxQb2xpY2llc0FsbG93
KFdURk1vdmUoaGFuZGxlVmlvbGF0ZWREaXJlY3RpdmUpLCByZXNvdXJjZVByZWRpY2F0ZSwgdXJs
LCByZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgPT0gUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkOjpZ
ZXMpOwogfQogCkBAIC02NDAsMTIgKzY3NiwxMiBAQCBib29sIENvbnRlbnRTZWN1cml0eVBvbGlj
eTo6YWxsb3dDaGlsZENvbnRleHRGcm9tU291cmNlKGNvbnN0IFVSTCYgdXJsLCBSZWRpcmVjdAog
ICAgIHJldHVybiBhbGxvd1Jlc291cmNlRnJvbVNvdXJjZSh1cmwsIHJlZGlyZWN0UmVzcG9uc2VS
ZWNlaXZlZCwgQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTmFtZXM6OmNoaWxkU3JjLCAm
Q29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdDo6dmlvbGF0ZWREaXJlY3RpdmVGb3JD
aGlsZENvbnRleHQsIHByZVJlZGlyZWN0VVJMKTsKIH0KIAotYm9vbCBDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OmFsbG93U2NyaXB0RnJvbVNvdXJjZShjb25zdCBVUkwmIHVybCwgUmVkaXJlY3RSZXNw
b25zZVJlY2VpdmVkIHJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCwgY29uc3QgVVJMJiBwcmVSZWRp
cmVjdFVSTCkgY29uc3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1NjcmlwdEZy
b21Tb3VyY2UoY29uc3QgVVJMJiB1cmwsIFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCByZWRpcmVj
dFJlc3BvbnNlUmVjZWl2ZWQsIGNvbnN0IFVSTCYgcHJlUmVkaXJlY3RVUkwsIGNvbnN0IFN0cmlu
ZyYgc3ViUmVzb3VyY2VJbnRlZ3JpdHkpIGNvbnN0CiB7CiAgICAgaWYgKHNob3VsZFBlcmZvcm1F
YXJseUNTUENoZWNrKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgcmV0dXJuIGFsbG93
UmVzb3VyY2VGcm9tU291cmNlKHVybCwgcmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBDb250ZW50
U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVOYW1lczo6c2NyaXB0U3JjLCAmQ29udGVudFNlY3VyaXR5
UG9saWN5RGlyZWN0aXZlTGlzdDo6dmlvbGF0ZWREaXJlY3RpdmVGb3JTY3JpcHQsIHByZVJlZGly
ZWN0VVJMKTsKKyAgICByZXR1cm4gYWxsb3dSZXNvdXJjZUZyb21Tb3VyY2UodXJsLCByZWRpcmVj
dFJlc3BvbnNlUmVjZWl2ZWQsIENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZU5hbWVzOjpz
Y3JpcHRTcmMsICZDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0Ojp2aW9sYXRlZERp
cmVjdGl2ZUZvclNjcmlwdCwgcHJlUmVkaXJlY3RVUkwsIHN1YlJlc291cmNlSW50ZWdyaXR5KTsK
IH0KIAogYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93SW1hZ2VGcm9tU291cmNlKGNv
bnN0IFVSTCYgdXJsLCBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgcmVkaXJlY3RSZXNwb25zZVJl
Y2VpdmVkLCBjb25zdCBVUkwmIHByZVJlZGlyZWN0VVJMKSBjb25zdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuaAppbmRleCBlY2ZlNTJhNzU0ZmMw
NjNiZTYwM2Q1OWUzMjA3YzEzYmE2NTQ1ZGZiLi41NThlMzlhZWZlN2QwOWI0OTk2ZGFiZjg3MDFm
M2ZhOWM0ZWQwNjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50
U2VjdXJpdHlQb2xpY3kuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2Vj
dXJpdHlQb2xpY3kuaApAQCAtMTEwLDcgKzExMCw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VY
UE9SVCBib29sIG92ZXJyaWRlc1hGcmFtZU9wdGlvbnMoKSBjb25zdDsKIAogICAgIGVudW0gY2xh
c3MgUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkIHsgTm8sIFllcyB9OwotICAgIFdFQkNPUkVfRVhQ
T1JUIGJvb2wgYWxsb3dTY3JpcHRGcm9tU291cmNlKGNvbnN0IFVSTCYsIFJlZGlyZWN0UmVzcG9u
c2VSZWNlaXZlZCA9IFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZDo6Tm8sIGNvbnN0IFVSTCYgcHJl
UmVkaXJlY3RVUkwgPSBVUkwoKSkgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBhbGxv
d1NjcmlwdEZyb21Tb3VyY2UoY29uc3QgVVJMJiwgUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkID0g
UmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkOjpObywgY29uc3QgVVJMJiBwcmVSZWRpcmVjdFVSTCA9
IFVSTCgpLCBjb25zdCBTdHJpbmcmID0gbnVsbFN0cmluZygpKSBjb25zdDsKICAgICBib29sIGFs
bG93SW1hZ2VGcm9tU291cmNlKGNvbnN0IFVSTCYsIFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCA9
IFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZDo6Tm8sIGNvbnN0IFVSTCYgcHJlUmVkaXJlY3RVUkwg
PSBVUkwoKSkgY29uc3Q7CiAgICAgYm9vbCBhbGxvd1N0eWxlRnJvbVNvdXJjZShjb25zdCBVUkwm
LCBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgPSBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQ6Ok5v
LCBjb25zdCBVUkwmIHByZVJlZGlyZWN0VVJMID0gVVJMKCkpIGNvbnN0OwogICAgIGJvb2wgYWxs
b3dGb250RnJvbVNvdXJjZShjb25zdCBVUkwmLCBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgPSBS
ZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQ6Ok5vLCBjb25zdCBVUkwmIHByZVJlZGlyZWN0VVJMID0g
VVJMKCkpIGNvbnN0OwpAQCAtMjE1LDkgKzIxNSwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgc2hv
dWxkUGVyZm9ybUVhcmx5Q1NQQ2hlY2soKSBjb25zdDsKICAgICAKICAgICB1c2luZyBSZXNvdXJj
ZVByZWRpY2F0ZSA9IGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZSAqKENvbnRl
bnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3Q6OiopKGNvbnN0IFVSTCAmLCBib29sKSBjb25z
dDsKLSAgICBib29sIGFsbG93UmVzb3VyY2VGcm9tU291cmNlKGNvbnN0IFVSTCYsIFJlZGlyZWN0
UmVzcG9uc2VSZWNlaXZlZCwgY29uc3QgY2hhciosIFJlc291cmNlUHJlZGljYXRlLCBjb25zdCBV
UkwmIHByZVJlZGlyZWN0VVJMID0gVVJMKCkpIGNvbnN0OworICAgIGJvb2wgYWxsb3dSZXNvdXJj
ZUZyb21Tb3VyY2UoY29uc3QgVVJMJiwgUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBjb25zdCBj
aGFyKiwgUmVzb3VyY2VQcmVkaWNhdGUsIGNvbnN0IFVSTCYgcHJlUmVkaXJlY3RVUkwgPSBVUkwo
KSwgY29uc3QgU3RyaW5nJiA9IG51bGxTdHJpbmcoKSkgY29uc3Q7CiAKICAgICB1c2luZyBIYXNo
SW5FbmZvcmNlZEFuZFJlcG9ydE9ubHlQb2xpY2llc1BhaXIgPSBzdGQ6OnBhaXI8Ym9vbCwgYm9v
bD47CisgICAgYm9vbCBtYXRjaEFsbFNSSUhhc2hlc0luUG9saWNpZXMoY29uc3QgU3RyaW5nJikg
Y29uc3QgV0FSTl9VTlVTRURfUkVUVVJOOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFByZWRpY2F0
ZT4gSGFzaEluRW5mb3JjZWRBbmRSZXBvcnRPbmx5UG9saWNpZXNQYWlyIGZpbmRIYXNoT2ZDb250
ZW50SW5Qb2xpY2llcyhjb25zdCBQcmVkaWNhdGUmLCBTdHJpbmdWaWV3IGNvbnRlbnQsIE9wdGlv
blNldDxDb250ZW50U2VjdXJpdHlQb2xpY3lIYXNoQWxnb3JpdGhtPikgY29uc3QgV0FSTl9VTlVT
RURfUkVUVVJOOwogCiAgICAgdm9pZCByZXBvcnRWaW9sYXRpb24oY29uc3QgU3RyaW5nJiBlZmZl
Y3RpdmVWaW9sYXRlZERpcmVjdGl2ZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0
aXZlJiB2aW9sYXRlZERpcmVjdGl2ZSwgY29uc3QgU3RyaW5nJiBibG9ja2VkVVJMLCBjb25zdCBT
dHJpbmcmIGNvbnNvbGVNZXNzYWdlLCBKU0M6OkpTR2xvYmFsT2JqZWN0KikgY29uc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lEaXJl
Y3RpdmVMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBv
bGljeURpcmVjdGl2ZUxpc3QuY3BwCmluZGV4IDExMTE3MWNlODMxOWM3MWNkNDFjNjI0ZjQ5NzUz
YzViY2RjOWY4ODMuLjk4M2Q1YzFlMTIwMGIwYTdiZTAzY2JkZWYxM2Q4ZTM0YjQwZTM3MGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeURp
cmVjdGl2ZUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1
cml0eVBvbGljeURpcmVjdGl2ZUxpc3QuY3BwCkBAIC0yNTUsNiArMjU1LDE1IEBAIGNvbnN0IENv
bnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZSogQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0
aXZlTGlzdDo6dmlvbGF0CiAgICAgcmV0dXJuIG9wZXJhdGl2ZURpcmVjdGl2ZTsKIH0KIAorYm9v
bCBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0OjpkaXJlY3RpdmVDb250YWluc0Fs
bEhhc2hlcyhjb25zdCBWZWN0b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4mIGhhc2hlcykg
Y29uc3QKK3sKKyAgICBhdXRvKiBvcGVyYXRpdmVEaXJlY3RpdmUgPSB0aGlzLT5vcGVyYXRpdmVE
aXJlY3RpdmUobV9zY3JpcHRTcmMuZ2V0KCksIENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2
ZU5hbWVzOjpzY3JpcHRTcmMpOworICAgIGlmICghb3BlcmF0aXZlRGlyZWN0aXZlKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gb3BlcmF0aXZlRGlyZWN0aXZlLT5jb250YWlu
c0FsbEhhc2hlcyhoYXNoZXMpOworfQorCiBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJl
Y3RpdmUqIENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3Q6OnZpb2xhdGVkRGlyZWN0
aXZlRm9yU3R5bGVIYXNoKGNvbnN0IFZlY3RvcjxDb250ZW50U2VjdXJpdHlQb2xpY3lIYXNoPiYg
aGFzaGVzKSBjb25zdAogewogICAgIGF1dG8qIG9wZXJhdGl2ZURpcmVjdGl2ZSA9IHRoaXMtPm9w
ZXJhdGl2ZURpcmVjdGl2ZShtX3N0eWxlU3JjLmdldCgpLCBDb250ZW50U2VjdXJpdHlQb2xpY3lE
aXJlY3RpdmVOYW1lczo6c3R5bGVTcmMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5oCmluZGV4IGMz
ZTIwODQwZDg2YzEwZmMwMjM0YWQ0ZTk2NmY5MGI2ZGQwZDVkODkuLjFiYzRkMGFjMzdmNTZjZTc1
YWJhZjVjMDhmNDhkMjBiZTI0YWY5YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Y3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3QuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0LmgKQEAgLTc4
LDYgKzc4LDggQEAgcHVibGljOgogICAgIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVj
dGl2ZSogdmlvbGF0ZWREaXJlY3RpdmVGb3JTY3JpcHQoY29uc3QgVVJMJiwgYm9vbCBkaWRSZWNl
aXZlUmVkaXJlY3RSZXNwb25zZSkgY29uc3Q7CiAgICAgY29uc3QgQ29udGVudFNlY3VyaXR5UG9s
aWN5RGlyZWN0aXZlKiB2aW9sYXRlZERpcmVjdGl2ZUZvclN0eWxlKGNvbnN0IFVSTCYsIGJvb2wg
ZGlkUmVjZWl2ZVJlZGlyZWN0UmVzcG9uc2UpIGNvbnN0OwogCisgICAgYm9vbCBkaXJlY3RpdmVD
b250YWluc0FsbEhhc2hlcyhjb25zdCBWZWN0b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4m
KSBjb25zdDsKKwogICAgIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZSogZGVm
YXVsdFNyYygpIGNvbnN0IHsgcmV0dXJuIG1fZGVmYXVsdFNyYy5nZXQoKTsgfQogCiAgICAgYm9v
bCBoYXNCbG9ja0FsbE1peGVkQ29udGVudERpcmVjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1faGFz
QmxvY2tBbGxNaXhlZENvbnRlbnREaXJlY3RpdmU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdC5jcHAKaW5k
ZXggNDlkYTQ0YTlkY2MyYTRiM2ZiOGJmMTk4ZmQ5ZDdhNDU4NzdhMmQwMi4uZGNmZTUyZGExMDgy
OWUwNmFkZjU0YTJiYzljYjU4MGIxZmVmOTY0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdC5jcHAKQEAg
LTE1NSw2ICsxNTUsMTYgQEAgYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0Ojpt
YXRjaGVzKGNvbnN0IFZlY3RvcjxDb250ZW50U2VjdXJpdHlQb2xpY3kKICAgICByZXR1cm4gZmFs
c2U7CiB9CiAKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdDo6bWF0Y2hlc0Fs
bChjb25zdCBWZWN0b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4mIGhhc2hlcykgY29uc3QK
K3sKKyAgICBmb3IgKGF1dG8mIGhhc2ggOiBoYXNoZXMpIHsKKyAgICAgICAgaWYgKCFtX2hhc2hl
cy5jb250YWlucyhoYXNoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0
OjptYXRjaGVzKGNvbnN0IFN0cmluZyYgbm9uY2UpIGNvbnN0CiB7CiAgICAgaWYgKG5vbmNlLmlz
RW1wdHkoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1
cml0eVBvbGljeVNvdXJjZUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRT
ZWN1cml0eVBvbGljeVNvdXJjZUxpc3QuaAppbmRleCAzNzk0NWU2Y2IwM2YzMWYzMDMxMzg2ODRh
YzIyODE5MjNiNmMzNmQ1Li5lNGY4Yzg3OWM1NDAzZjU5MWRmMjM0ZTZhMWM4YWI5ZmE1NTljY2Y4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xp
Y3lTb3VyY2VMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3Vy
aXR5UG9saWN5U291cmNlTGlzdC5oCkBAIC00NSw2ICs0NSw3IEBAIHB1YmxpYzoKIAogICAgIGJv
b2wgbWF0Y2hlcyhjb25zdCBVUkwmLCBib29sIGRpZFJlY2VpdmVSZWRpcmVjdFJlc3BvbnNlKSBj
b25zdDsKICAgICBib29sIG1hdGNoZXMoY29uc3QgVmVjdG9yPENvbnRlbnRTZWN1cml0eVBvbGlj
eUhhc2g+JikgY29uc3Q7CisgICAgYm9vbCBtYXRjaGVzQWxsKGNvbnN0IFZlY3RvcjxDb250ZW50
U2VjdXJpdHlQb2xpY3lIYXNoPiYpIGNvbnN0OwogICAgIGJvb2wgbWF0Y2hlcyhjb25zdCBTdHJp
bmcmIG5vbmNlKSBjb25zdDsKIAogICAgIE9wdGlvblNldDxDb250ZW50U2VjdXJpdHlQb2xpY3lI
YXNoQWxnb3JpdGhtPiBoYXNoQWxnb3JpdGhtc1VzZWQoKSBjb25zdCB7IHJldHVybiBtX2hhc2hB
bGdvcml0aG1zVXNlZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29u
dGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdERpcmVjdGl2ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0RGlyZWN0aXZlLmNwcApp
bmRleCAxZTBiZDMyMTM5NGRjNGYyNWE0MWIwZjU3MTcyN2U2OTFhYTBjNjVhLi5iMDY5Y2FmNDEz
ZDFmNzhmM2I4Yjc0MzhlM2YwNzA5ZDVkNjFmNzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0RGlyZWN0aXZlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VM
aXN0RGlyZWN0aXZlLmNwcApAQCAtNTIsNiArNTIsMTEgQEAgYm9vbCBDb250ZW50U2VjdXJpdHlQ
b2xpY3lTb3VyY2VMaXN0RGlyZWN0aXZlOjphbGxvd3MoY29uc3QgU3RyaW5nJiBub25jZSkgY29u
c3QKICAgICByZXR1cm4gbV9zb3VyY2VMaXN0Lm1hdGNoZXMobm9uY2UpOwogfQogCitib29sIENv
bnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3RpdmU6OmNvbnRhaW5zQWxsSGFzaGVz
KGNvbnN0IFZlY3RvcjxDb250ZW50U2VjdXJpdHlQb2xpY3lIYXNoPiYgaGFzaGVzKSBjb25zdAor
eworICAgIHJldHVybiBtX3NvdXJjZUxpc3QubWF0Y2hlc0FsbChoYXNoZXMpOworfQorCiBib29s
IENvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3RpdmU6OmFsbG93cyhjb25zdCBW
ZWN0b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4mIGhhc2hlcykgY29uc3QKIHsKICAgICBy
ZXR1cm4gbV9zb3VyY2VMaXN0Lm1hdGNoZXMoaGFzaGVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3RpdmUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxp
c3REaXJlY3RpdmUuaAppbmRleCA3OGJhOTVhODFkMDEzOTM2OGQzODdmMWRkZjA0NTVkNWRkOWNl
MzBkLi5jMzU0YTFjZTNlYmEzODljMzRmOTFmM2Q4NmRlOTc3Mjc4ZTBiYjBiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0
RGlyZWN0aXZlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5
UG9saWN5U291cmNlTGlzdERpcmVjdGl2ZS5oCkBAIC00MCw2ICs0MCw3IEBAIHB1YmxpYzoKICAg
ICBlbnVtIGNsYXNzIFNob3VsZEFsbG93RW1wdHlVUkxJZlNvdXJjZUxpc3RJc05vdE5vbmUgeyBO
bywgWWVzIH07CiAgICAgYm9vbCBhbGxvd3MoY29uc3QgVVJMJiwgYm9vbCBkaWRSZWNlaXZlUmVk
aXJlY3RSZXNwb25zZSwgU2hvdWxkQWxsb3dFbXB0eVVSTElmU291cmNlTGlzdElzTm90Tm9uZSk7
CiAgICAgYm9vbCBhbGxvd3MoY29uc3QgVmVjdG9yPENvbnRlbnRTZWN1cml0eVBvbGljeUhhc2g+
JikgY29uc3Q7CisgICAgYm9vbCBjb250YWluc0FsbEhhc2hlcyhjb25zdCBWZWN0b3I8Q29udGVu
dFNlY3VyaXR5UG9saWN5SGFzaD4mKSBjb25zdDsKICAgICBib29sIGFsbG93VW5zYWZlSGFzaGVz
KGNvbnN0IFZlY3RvcjxDb250ZW50U2VjdXJpdHlQb2xpY3lIYXNoPiYpIGNvbnN0OwogICAgIGJv
b2wgYWxsb3dzKGNvbnN0IFN0cmluZyYgbm9uY2UpIGNvbnN0OwogICAgIGJvb2wgYWxsb3dJbmxp
bmUoKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZUxpc3QuYWxsb3dJbmxpbmUoKTsgfQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMDM1Y2ZlZDgzODlhZjI4Yjk0MjI1YmMxOWE1ZTcz
YzA5NjZkMDEwZC4uNDdjOTQyZDk0YWY4M2E2YmI5YTJlYTQyM2M3OWZkMjhkMTU0MTUxMCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKyAgMjAyMS0xMi0w
NSAgUGF0cmljayBHcmlmZmlzICA8cGdyaWZmaXNAaWdhbGlhLmNvbT4KKworICAgICAgICBDU1A6
IEFsbG93IGV4dGVybmFsIHNjcmlwdHMgd2l0aCBTUkkgaGFzaGVzIG1hdGNoaW5nIENTUAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzOTExCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGV4cGVj
dGF0aW9ucyB3aXRoIG1vcmUgcGFzc2VzLgorCisgICAgICAgIFswXSBodHRwczovL3d3dy53My5v
cmcvVFIvQ1NQMy8jZXh0ZXJuYWwtaGFzaAorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3NjcmlwdC1zcmMvc2NyaXB0LXNyYy1zcmlfaGFzaC5z
dWItZXhwZWN0ZWQudHh0OgorCiAyMDIxLTEyLTA2ICBUYWRldSBaYWdhbGxvICA8dHphZ2FsbG9A
YXBwbGUuY29tPgogCiAgICAgICAgIFJlc3RvcmUgbmF2aWdhdG9yLmhhcmR3YXJlQ29uY3VycmVu
Y3kKQEAgLTM2LDcgKzQ5LDYgQEAKICAgICAgICAgUmViYXNlbGluZSBXUFQgdGVzdHMgbm93IHRo
YXQgbW9yZSBjaGVja3MgYXJlIHBhc3NpbmcuCiAKICAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvY29uc3RyYWludHMvZm9ybS12YWxpZGF0aW9uLXZhbGlk
aXR5LXZhbGlkLWV4cGVjdGVkLnR4dDoKLQogMjAyMS0xMi0wMiAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgogCiAgICAgICAgIGh0bWwvc2VtYW50aWNzL2Zvcm1zL2NvbnN0cmFpbnRz
L2lucHV0LW51bWJlci12YWxpZGl0eS1keW5hbWljLXZhbHVlLW5vLWNoYW5nZS5odG1sIFdQVCB0
ZXN0IGlzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0eS1wb2xpY3kvc2NyaXB0LXNyYy9zY3JpcHQt
c3JjLXNyaV9oYXNoLnN1Yi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3NjcmlwdC1zcmMvc2Ny
aXB0LXNyYy1zcmlfaGFzaC5zdWItZXhwZWN0ZWQudHh0CmluZGV4IGYzZDcyZTQwYmI2MTNjYzY0
MDMzMTg2NDM1MTkwZDFlYjZjNThjNGQuLjg3Mjc2NmY3OTU0OTQ4MGIzYzRmY2I3OThiNjA4NGY1
ODRkM2I3MGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY29udGVudC1zZWN1cml0eS1wb2xpY3kvc2NyaXB0LXNyYy9zY3JpcHQtc3JjLXNy
aV9oYXNoLnN1Yi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQtc3JjL3Njcmlw
dC1zcmMtc3JpX2hhc2guc3ViLWV4cGVjdGVkLnR4dApAQCAtMiwxNCArMiwxNCBAQCBFeHRlcm5h
bCBzY3JpcHRzIHdpdGggbWF0Y2hpbmcgU1JJIGhhc2ggc2hvdWxkIGJlIGFsbG93ZWQuCiAKIAog
UEFTUyBMb2FkIGFsbCB0aGUgdGVzdHMuCi1GQUlMIG1hdGNoaW5nIGludGVncml0eSBhc3NlcnRf
dW5yZWFjaGVkOiBTY3JpcHQgc2hvdWxkIGxvYWQhIGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9jb250
ZW50LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQtc3JjL3NpbXBsZVNvdXJjZWRTY3JpcHQuanMgUmVh
Y2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIG11bHRpcGxlIG1hdGNoaW5nIGludGVncml0eSBh
c3NlcnRfdW5yZWFjaGVkOiBTY3JpcHQgc2hvdWxkIGxvYWQhIGh0dHA6Ly9sb2NhbGhvc3Q6ODgw
MC9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQtc3JjL3NpbXBsZVNvdXJjZWRTY3JpcHQu
anMgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIG1hdGNoaW5nIGludGVncml0eQorUEFT
UyBtdWx0aXBsZSBtYXRjaGluZyBpbnRlZ3JpdHkKIFBBU1Mgbm8gaW50ZWdyaXR5Ci1GQUlMIG1h
dGNoaW5nIHBsdXMgdW5zdXBwb3J0ZWQgaW50ZWdyaXR5IGFzc2VydF91bnJlYWNoZWQ6IFNjcmlw
dCBzaG91bGQgbG9hZCEgaHR0cDovL2xvY2FsaG9zdDo4ODAwL2NvbnRlbnQtc2VjdXJpdHktcG9s
aWN5L3NjcmlwdC1zcmMvc2ltcGxlU291cmNlZFNjcmlwdC5qcyBSZWFjaGVkIHVucmVhY2hhYmxl
IGNvZGUKK1BBU1MgbWF0Y2hpbmcgcGx1cyB1bnN1cHBvcnRlZCBpbnRlZ3JpdHkKIFBBU1MgbWlz
bWF0Y2hlZCBpbnRlZ3JpdHkKIFBBU1MgbXVsdGlwbGUgbWlzbWF0Y2hlZCBpbnRlZ3JpdHkKIFBB
U1MgcGFydGlhbGx5IG1hdGNoaW5nIGludGVncml0eQogRkFJTCBjcm9zc29yaWdpbiBubyBpbnRl
Z3JpdHkgYnV0IGFsbG93ZWQgaG9zdCBhc3NlcnRfdW5yZWFjaGVkOiBTY3JpcHQgc2hvdWxkIGxv
YWQhIGh0dHA6Ly8xMjcuMC4wLjE6ODgwMC9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQt
c3JjL2Nyb3Nzb3JpZ2luU2NyaXB0LmpzIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogRkFJTCBj
cm9zc29yaWdpbiBtaXNtYXRjaGVkIGludGVncml0eSBidXQgYWxsb3dlZCBob3N0IGFzc2VydF91
bnJlYWNoZWQ6IFNjcmlwdCBzaG91bGQgbG9hZCEgaHR0cDovLzEyNy4wLjAuMTo4ODAwL2NvbnRl
bnQtc2VjdXJpdHktcG9saWN5L3NjcmlwdC1zcmMvY3Jvc3NvcmlnaW5TY3JpcHQuanMgUmVhY2hl
ZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIEV4dGVybmFsIHNjcmlwdCBpbiBhIHNjcmlwdCB0YWcg
d2l0aCBtYXRjaGluZyBTUkkgaGFzaCBzaG91bGQgcnVuLiBhc3NlcnRfdHJ1ZTogRXh0ZXJuYWwg
c2NyaXB0IHJhbi4gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgRXh0ZXJuYWwgc2NyaXB0
IGluIGEgc2NyaXB0IHRhZyB3aXRoIG1hdGNoaW5nIFNSSSBoYXNoIHNob3VsZCBydW4uCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446116</attachid>
            <date>2021-12-06 20:40:13 -0800</date>
            <delta_ts>2021-12-06 21:49:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233911-20211206224012.patch</filename>
            <type>text/plain</type>
            <size>22794</size>
            <attacher name="Patrick Griffis">pgriffis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjNlMzRlN2EyNjgzMGQ3
MjFlNWYzODgzNWM0YzdmZDBlM2E2NGY1NC4uMTdhOThmNjJmZDQxYjgxYmZmM2Q0NzZiMDkxZWU5
NTE1NjA4ZDY0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTEyLTA1ICBQYXRy
aWNrIEdyaWZmaXMgIDxwZ3JpZmZpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIENTUDogQWxsb3cg
ZXh0ZXJuYWwgc2NyaXB0cyB3aXRoIFNSSSBoYXNoZXMgbWF0Y2hpbmcgQ1NQCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5MTEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgY2hhbmdlIGlu
IENTUDMgdGhhdCBhbGxvd3MgbG9hZGluZyBleHRlcm5hbAorICAgICAgICBzY3JpcHRzIHRoYXQg
aGF2ZSBTUkkgaGFzaGVzIG1hdGNoaW5nIENTUCBoYXNoZXMuCisgICAgICAgIGh0dHBzOi8vd3d3
LnczLm9yZy9UUi9DU1AzLyNleHRlcm5hbC1oYXNoCisKKyAgICAgICAgUmVzb3VyY2VDcnlwdG9n
cmFwaGljRGlnZXN0IHdhcyBjaGFuZ2VkIHRvIG5vdCB2YWxpZGF0ZSBwYWRkaW5nCisgICAgICAg
IGR1cmluZyBiYXNlNjQgZGVjb2Rpbmcgd2hpY2ggaXMgaGFybWxlc3MgYW5kIGZpeGVzIHBhcnNp
bmcgdGhlCisgICAgICAgIGhhc2hlcyB1c2VkIGluIFdQVCdzIHNjcmlwdC1zcmMtc3JpX2hhc2gu
c3ViLmh0bWwuCisKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6aXNBbGxvd2Vk
QnlDb250ZW50U2VjdXJpdHlQb2xpY3kpOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUNyeXB0
b2dyYXBoaWNEaWdlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VDcnlwdG9ncmFwaGlj
RGlnZXN0SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpkZWNvZGVFbmNvZGVkUmVzb3VyY2VDcnlw
dG9ncmFwaGljRGlnZXN0KToKKyAgICAgICAgKiBsb2FkZXIvU3VicmVzb3VyY2VJbnRlZ3JpdHku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VJbnRlZ3JpdHlNZXRhZGF0YSk6CisgICAgICAg
ICogbG9hZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5Lmg6CisgICAgICAgICogbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291
cmNlTG9hZGVyOjphbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3kgY29uc3QpOgorICAgICAg
ICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpwYXJzZVN1YlJlc291cmNlSW50ZWdyaXR5SW50b0RpZ2VzdHMpOgorICAgICAgICAoV2ViQ29y
ZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjptYXRjaEFsbFNSSUhhc2hlc0luUG9saWNpZXMgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1Jlc291
cmNlRnJvbVNvdXJjZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OmFsbG93U2NyaXB0RnJvbVNvdXJjZSBjb25zdCk6CisgICAgICAgICogcGFnZS9jc3Av
Q29udGVudFNlY3VyaXR5UG9saWN5Lmg6CisgICAgICAgICogcGFnZS9jc3AvQ29udGVudFNlY3Vy
aXR5UG9saWN5RGlyZWN0aXZlTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2Vj
dXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0OjpkaXJlY3RpdmVDb250YWluc0FsbEhhc2hlcyBjb25z
dCk6CisgICAgICAgICogcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlz
dC5oOgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdDo6
bWF0Y2hlc0FsbCBjb25zdCk6CisgICAgICAgICogcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9s
aWN5U291cmNlTGlzdC5oOgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGlj
eVNvdXJjZUxpc3REaXJlY3RpdmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3Vy
aXR5UG9saWN5U291cmNlTGlzdERpcmVjdGl2ZTo6Y29udGFpbnNBbGxIYXNoZXMgY29uc3QpOgor
ICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3Rp
dmUuaDoKKwogMjAyMS0xMi0wNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIDxpbnB1dCB0eXBlPSJ0aW1lIj4ncyByYW5nZSBzaG91bGQgYmUgcmV2ZXJzaWJsZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNw
cAppbmRleCA5YTRkNGIyMTJmZGZkMjgxODQzNzZkNGI3MGM3ZGE0ZjNlYjdjODMyLi5jMTBkNWMx
ZGJlYmVmMDU1Mjg0M2RkOWZjMGE1MzNkZGI0NzkzYTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtNjg1LDcgKzY4NSw3
IEBAIGJvb2wgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjppc0FsbG93ZWRCeUNvbnRlbnRTZWN1
cml0eVBvbGljeShjb25zdCBVUkwmIHVybCwKICAgICBjYXNlIENvbnRlbnRTZWN1cml0eVBvbGlj
eUVuZm9yY2VtZW50OjpFbmZvcmNlQ29ubmVjdFNyY0RpcmVjdGl2ZToKICAgICAgICAgcmV0dXJu
IGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLmFsbG93Q29ubmVjdFRvU291cmNlKHVybCwgcmVkaXJl
Y3RSZXNwb25zZVJlY2VpdmVkLCBwcmVSZWRpcmVjdFVSTCk7CiAgICAgY2FzZSBDb250ZW50U2Vj
dXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RW5mb3JjZVNjcmlwdFNyY0RpcmVjdGl2ZToKLSAgICAg
ICAgcmV0dXJuIGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLmFsbG93U2NyaXB0RnJvbVNvdXJjZSh1
cmwsIHJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCwgcHJlUmVkaXJlY3RVUkwpOworICAgICAgICBy
ZXR1cm4gY29udGVudFNlY3VyaXR5UG9saWN5KCkuYWxsb3dTY3JpcHRGcm9tU291cmNlKHVybCwg
cmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBwcmVSZWRpcmVjdFVSTCwgbV9vcHRpb25zLmludGVn
cml0eSk7CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBmYWxz
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUNyeXB0b2dyYXBo
aWNEaWdlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlQ3J5cHRvZ3JhcGhp
Y0RpZ2VzdC5jcHAKaW5kZXggYzYyNzc2ODU4YTZkYzVhZmZkMzZkYzllNzg1YzhiZDI0NzJiYjc0
ZC4uNDg0MGYxNGNmMjVkZGYxZjYwMGFlOTZkYWM2M2Q5NzExYzhjOTQwNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdC5jcHAK
QEAgLTcxLDcgKzcxLDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4gc3RhdGlj
IHN0ZDo6b3B0aW9uYWw8UmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXMKIAogICAgIFN0cmluZ1Zp
ZXcgaGFzaFZhbHVlKGJlZ2luSGFzaFZhbHVlLCBidWZmZXIucG9zaXRpb24oKSAtIGJlZ2luSGFz
aFZhbHVlKTsKIAotICAgIGlmIChhdXRvIGRpZ2VzdCA9IGJhc2U2NERlY29kZShoYXNoVmFsdWUs
IEJhc2U2NERlY29kZU9wdGlvbnM6OlZhbGlkYXRlUGFkZGluZykpCisgICAgaWYgKGF1dG8gZGln
ZXN0ID0gYmFzZTY0RGVjb2RlKGhhc2hWYWx1ZSkpCiAgICAgICAgIHJldHVybiBSZXNvdXJjZUNy
eXB0b2dyYXBoaWNEaWdlc3QgeyAqYWxnb3JpdGhtLCBXVEZNb3ZlKCpkaWdlc3QpIH07CiAKICAg
ICBpZiAoYXV0byBkaWdlc3QgPSBiYXNlNjRVUkxEZWNvZGUoaGFzaFZhbHVlKSkKQEAgLTEyNSw3
ICsxMjUsNyBAQCBzdGQ6Om9wdGlvbmFsPEVuY29kZWRSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdl
c3Q+IHBhcnNlRW5jb2RlZENyeXB0b2dyYXBoaWNEaWdlcwogCiBzdGQ6Om9wdGlvbmFsPFJlc291
cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdD4gZGVjb2RlRW5jb2RlZFJlc291cmNlQ3J5cHRvZ3JhcGhp
Y0RpZ2VzdChjb25zdCBFbmNvZGVkUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0JiBlbmNvZGVk
RGlnZXN0KQogewotICAgIGlmIChhdXRvIGRpZ2VzdCA9IGJhc2U2NERlY29kZShlbmNvZGVkRGln
ZXN0LmRpZ2VzdCwgQmFzZTY0RGVjb2RlT3B0aW9uczo6VmFsaWRhdGVQYWRkaW5nKSkKKyAgICBp
ZiAoYXV0byBkaWdlc3QgPSBiYXNlNjREZWNvZGUoZW5jb2RlZERpZ2VzdC5kaWdlc3QpKQogICAg
ICAgICByZXR1cm4gUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0IHsgZW5jb2RlZERpZ2VzdC5h
bGdvcml0aG0sIFdURk1vdmUoKmRpZ2VzdCkgfTsKIAogICAgIGlmIChhdXRvIGRpZ2VzdCA9IGJh
c2U2NFVSTERlY29kZShlbmNvZGVkRGlnZXN0LmRpZ2VzdCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VJbnRlZ3JpdHkuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5LmNwcAppbmRleCBjNTIwODFiNDIxNjdiYTgwYzI3
NTcwOGNiZDk5NmQ4N2E4NTQ0MjJmLi5mNDNkY2Q4NGVkMzI1NGVjOTdhZGU5OGVmYTA5NWRmYmZk
MWUyZDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VJbnRl
Z3JpdHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUludGVncml0
eS5jcHAKQEAgLTk2LDcgKzk2LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHNwbGl0T25TcGFjZXMo
U3RyaW5nUGFyc2luZ0J1ZmZlcjxDaGFyYWN0ZXJUeXBlPiBidWZmZXIsIEZ1bmMKICAgICB9CiB9
CiAKLXN0YXRpYyBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxFbmNvZGVkUmVzb3VyY2VDcnlwdG9ncmFw
aGljRGlnZXN0Pj4gcGFyc2VJbnRlZ3JpdHlNZXRhZGF0YShjb25zdCBTdHJpbmcmIGludGVncml0
eU1ldGFkYXRhKQorc3RkOjpvcHRpb25hbDxWZWN0b3I8RW5jb2RlZFJlc291cmNlQ3J5cHRvZ3Jh
cGhpY0RpZ2VzdD4+IHBhcnNlSW50ZWdyaXR5TWV0YWRhdGEoY29uc3QgU3RyaW5nJiBpbnRlZ3Jp
dHlNZXRhZGF0YSkKIHsKICAgICBpZiAoaW50ZWdyaXR5TWV0YWRhdGEuaXNFbXB0eSgpKQogICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVz
b3VyY2VJbnRlZ3JpdHkuaAppbmRleCAxYmQ2ODY2OGVjYWVlMzcxZDBhNDQzNjE3MWRkMzA4ZGIz
NDI4NTk1Li4yNTM1YjhjMzZhMzg0ZWI4MDRhYzZmNzU3M2M0ZGNkMmM2ZGY3NmU2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VJbnRlZ3JpdHkuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VJbnRlZ3JpdHkuaApAQCAtMzMsNSArMzMs
NiBAQCBjbGFzcyBDYWNoZWRSZXNvdXJjZTsKIAogYm9vbCBtYXRjaEludGVncml0eU1ldGFkYXRh
KGNvbnN0IENhY2hlZFJlc291cmNlJiwgY29uc3QgU3RyaW5nJiBpbnRlZ3JpdHlNZXRhZGF0YSk7
CiBTdHJpbmcgaW50ZWdyaXR5TWlzbWF0Y2hEZXNjcmlwdGlvbihjb25zdCBDYWNoZWRSZXNvdXJj
ZSYsIGNvbnN0IFN0cmluZyYgaW50ZWdyaXR5TWV0YWRhdGEpOworc3RkOjpvcHRpb25hbDxWZWN0
b3I8RW5jb2RlZFJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdD4+IHBhcnNlSW50ZWdyaXR5TWV0
YWRhdGEoY29uc3QgU3RyaW5nJiBpbnRlZ3JpdHlNZXRhZGF0YSk7CiAKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4
IGZhMzgyMWFhYzEyNTJmOWU3MmFjOWNkOWZiNWFhY2E4NjYwODI0NTYuLjg0YzAxNGJkNjQzMGEx
ODJjY2ZkN2Y0MmM4NWZhMzhiYjdjNDBhZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAtNTAxLDcgKzUwMSw3IEBA
IGJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmFsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGlj
eShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6
WFNMU3R5bGVTaGVldDoKICNlbmRpZgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlNj
cmlwdDoKLSAgICAgICAgaWYgKCFtX2RvY3VtZW50LT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+
YWxsb3dTY3JpcHRGcm9tU291cmNlKHVybCwgcmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBwcmVS
ZWRpcmVjdFVSTCkpCisgICAgICAgIGlmICghbV9kb2N1bWVudC0+Y29udGVudFNlY3VyaXR5UG9s
aWN5KCktPmFsbG93U2NyaXB0RnJvbVNvdXJjZSh1cmwsIHJlZGlyZWN0UmVzcG9uc2VSZWNlaXZl
ZCwgcHJlUmVkaXJlY3RVUkwsIG9wdGlvbnMuaW50ZWdyaXR5KSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6
Q1NTU3R5bGVTaGVldDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRl
bnRTZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2Vj
dXJpdHlQb2xpY3kuY3BwCmluZGV4IGFjZjEzMWY1MGRlYmRkZjlmZjQ5NGQ2MjUwNzAxNzVjNzdh
MDE2MjkuLmRlNDJkZmUwMjlmMzgwODVmNTAyZDg5NWRiOTI2MzRjMzVkNDI3MTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcApAQCAt
NTIsNiArNTIsNyBAQAogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2Vj
dXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudC5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5j
bHVkZSAiU3VicmVzb3VyY2VJbnRlZ3JpdHkuaCIKICNpbmNsdWRlICJUZXh0RW5jb2RpbmcuaCIK
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmg+CkBAIC0zNTUsNiArMzU2LDM3
IEBAIGJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxTY3JpcHRQb2xpY2llc0FsbG93KFZp
b2xhdGVkRGlyZWN0aXZlQ2FsbGJhY2smJiBjCiAgICAgcmV0dXJuIGlzQWxsb3dlZDsKIH0KIAor
c3RhdGljIFZlY3RvcjxSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3Q+IHBhcnNlU3ViUmVzb3Vy
Y2VJbnRlZ3JpdHlJbnRvRGlnZXN0cyhjb25zdCBTdHJpbmcmIHN1YlJlc291cmNlSW50ZWdyaXR5
KQoreworICAgIGF1dG8gZW5jb2RlZERpZ2VzdHMgPSBwYXJzZUludGVncml0eU1ldGFkYXRhKHN1
YlJlc291cmNlSW50ZWdyaXR5KTsKKyAgICBWZWN0b3I8UmVzb3VyY2VDcnlwdG9ncmFwaGljRGln
ZXN0PiBkZWNvZGVkRGlnZXN0czsKKworICAgIGlmICghZW5jb2RlZERpZ2VzdHMuaGFzX3ZhbHVl
KCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBmb3IgKGNvbnN0IGF1dG8mIGVuY29kZWRE
aWdlc3QgOiBlbmNvZGVkRGlnZXN0cy52YWx1ZSgpKSB7CisgICAgICAgIGF1dG8gZGVjb2RlZERp
Z2VzdCA9IGRlY29kZUVuY29kZWRSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3QoZW5jb2RlZERp
Z2VzdCk7CisgICAgICAgIGlmIChkZWNvZGVkRGlnZXN0Lmhhc192YWx1ZSgpKQorICAgICAgICAg
ICAgZGVjb2RlZERpZ2VzdHMuYXBwZW5kKGRlY29kZWREaWdlc3QudmFsdWUoKSk7CisgICAgfQor
CisgICAgcmV0dXJuIGRlY29kZWREaWdlc3RzOworfQorCitib29sIENvbnRlbnRTZWN1cml0eVBv
bGljeTo6bWF0Y2hBbGxTUklIYXNoZXNJblBvbGljaWVzKGNvbnN0IFN0cmluZyYgc3ViUmVzb3Vy
Y2VJbnRlZ3JpdHkpIGNvbnN0Cit7CisgICAgYXV0byBkaWdlc3RzID0gcGFyc2VTdWJSZXNvdXJj
ZUludGVncml0eUludG9EaWdlc3RzKHN1YlJlc291cmNlSW50ZWdyaXR5KTsKKyAgICBpZiAoZGln
ZXN0cy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGZvciAoYXV0byYg
cG9saWN5IDogbV9wb2xpY2llcykgeworICAgICAgICBpZiAocG9saWN5LmdldCgpLT5kaXJlY3Rp
dmVDb250YWluc0FsbEhhc2hlcyhkaWdlc3RzKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwor
ICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKwogdGVtcGxhdGU8dHlwZW5hbWUgUHJlZGlj
YXRlPgogQ29udGVudFNlY3VyaXR5UG9saWN5OjpIYXNoSW5FbmZvcmNlZEFuZFJlcG9ydE9ubHlQ
b2xpY2llc1BhaXIgQ29udGVudFNlY3VyaXR5UG9saWN5OjpmaW5kSGFzaE9mQ29udGVudEluUG9s
aWNpZXMoY29uc3QgUHJlZGljYXRlJiBwcmVkaWNhdGUsIFN0cmluZ1ZpZXcgY29udGVudCwgT3B0
aW9uU2V0PENvbnRlbnRTZWN1cml0eVBvbGljeUhhc2hBbGdvcml0aG0+IGFsZ29yaXRobXMpIGNv
bnN0CiB7CkBAIC02MjEsNyArNjUzLDcgQEAgYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFs
bG93Q2hpbGRGcmFtZUZyb21Tb3VyY2UoY29uc3QgVVJMJiB1cmwsIFJlZGlyZWN0UmUKICAgICBy
ZXR1cm4gYWxsUG9saWNpZXNBbGxvdyhXVEZNb3ZlKGhhbmRsZVZpb2xhdGVkRGlyZWN0aXZlKSwg
JkNvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3Q6OnZpb2xhdGVkRGlyZWN0aXZlRm9y
RnJhbWUsIHVybCwgcmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkID09IFJlZGlyZWN0UmVzcG9uc2VS
ZWNlaXZlZDo6WWVzKTsKIH0KIAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93UmVz
b3VyY2VGcm9tU291cmNlKGNvbnN0IFVSTCYgdXJsLCBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQg
cmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBjb25zdCBjaGFyKiBuYW1lLCBSZXNvdXJjZVByZWRp
Y2F0ZSByZXNvdXJjZVByZWRpY2F0ZSwgY29uc3QgVVJMJiBwcmVSZWRpcmVjdFVSTCkgY29uc3QK
K2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1Jlc291cmNlRnJvbVNvdXJjZShjb25z
dCBVUkwmIHVybCwgUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkIHJlZGlyZWN0UmVzcG9uc2VSZWNl
aXZlZCwgY29uc3QgY2hhciogbmFtZSwgUmVzb3VyY2VQcmVkaWNhdGUgcmVzb3VyY2VQcmVkaWNh
dGUsIGNvbnN0IFVSTCYgcHJlUmVkaXJlY3RVUkwsIGNvbnN0IFN0cmluZyYgc3ViUmVzb3VyY2VJ
bnRlZ3JpdHkpIGNvbnN0CiB7CiAgICAgaWYgKExlZ2FjeVNjaGVtZVJlZ2lzdHJ5OjpzY2hlbWVT
aG91bGRCeXBhc3NDb250ZW50U2VjdXJpdHlQb2xpY3kodXJsLnByb3RvY29sKCkudG9TdHJpbmdX
aXRob3V0Q29weWluZygpKSkKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC02MzIsNiArNjY0LDEw
IEBAIGJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1Jlc291cmNlRnJvbVNvdXJjZShj
b25zdCBVUkwmIHVybCwgUmVkaXJlY3RSZXNwCiAgICAgICAgIFN0cmluZyBjb25zb2xlTWVzc2Fn
ZSA9IGNvbnNvbGVNZXNzYWdlRm9yVmlvbGF0aW9uKG5hbWUsIHZpb2xhdGVkRGlyZWN0aXZlLCBi
bG9ja2VkVVJMLCAiUmVmdXNlZCB0byBsb2FkIik7CiAgICAgICAgIHJlcG9ydFZpb2xhdGlvbihu
YW1lLCB2aW9sYXRlZERpcmVjdGl2ZSwgYmxvY2tlZFVSTC5zdHJpbmcoKSwgY29uc29sZU1lc3Nh
Z2UsIHNvdXJjZVVSTCwgU3RyaW5nVmlldygpLCBzb3VyY2VQb3NpdGlvbik7CiAgICAgfTsKKwor
ICAgIGlmIChtYXRjaEFsbFNSSUhhc2hlc0luUG9saWNpZXMoc3ViUmVzb3VyY2VJbnRlZ3JpdHkp
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIHJldHVybiBhbGxQb2xpY2llc0FsbG93KFdU
Rk1vdmUoaGFuZGxlVmlvbGF0ZWREaXJlY3RpdmUpLCByZXNvdXJjZVByZWRpY2F0ZSwgdXJsLCBy
ZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgPT0gUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkOjpZZXMp
OwogfQogCkBAIC02NDAsMTIgKzY3NiwxMiBAQCBib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
YWxsb3dDaGlsZENvbnRleHRGcm9tU291cmNlKGNvbnN0IFVSTCYgdXJsLCBSZWRpcmVjdAogICAg
IHJldHVybiBhbGxvd1Jlc291cmNlRnJvbVNvdXJjZSh1cmwsIHJlZGlyZWN0UmVzcG9uc2VSZWNl
aXZlZCwgQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTmFtZXM6OmNoaWxkU3JjLCAmQ29u
dGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdDo6dmlvbGF0ZWREaXJlY3RpdmVGb3JDaGls
ZENvbnRleHQsIHByZVJlZGlyZWN0VVJMKTsKIH0KIAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xp
Y3k6OmFsbG93U2NyaXB0RnJvbVNvdXJjZShjb25zdCBVUkwmIHVybCwgUmVkaXJlY3RSZXNwb25z
ZVJlY2VpdmVkIHJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCwgY29uc3QgVVJMJiBwcmVSZWRpcmVj
dFVSTCkgY29uc3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1NjcmlwdEZyb21T
b3VyY2UoY29uc3QgVVJMJiB1cmwsIFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCByZWRpcmVjdFJl
c3BvbnNlUmVjZWl2ZWQsIGNvbnN0IFVSTCYgcHJlUmVkaXJlY3RVUkwsIGNvbnN0IFN0cmluZyYg
c3ViUmVzb3VyY2VJbnRlZ3JpdHkpIGNvbnN0CiB7CiAgICAgaWYgKHNob3VsZFBlcmZvcm1FYXJs
eUNTUENoZWNrKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgcmV0dXJuIGFsbG93UmVz
b3VyY2VGcm9tU291cmNlKHVybCwgcmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBDb250ZW50U2Vj
dXJpdHlQb2xpY3lEaXJlY3RpdmVOYW1lczo6c2NyaXB0U3JjLCAmQ29udGVudFNlY3VyaXR5UG9s
aWN5RGlyZWN0aXZlTGlzdDo6dmlvbGF0ZWREaXJlY3RpdmVGb3JTY3JpcHQsIHByZVJlZGlyZWN0
VVJMKTsKKyAgICByZXR1cm4gYWxsb3dSZXNvdXJjZUZyb21Tb3VyY2UodXJsLCByZWRpcmVjdFJl
c3BvbnNlUmVjZWl2ZWQsIENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZU5hbWVzOjpzY3Jp
cHRTcmMsICZDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0Ojp2aW9sYXRlZERpcmVj
dGl2ZUZvclNjcmlwdCwgcHJlUmVkaXJlY3RVUkwsIHN1YlJlc291cmNlSW50ZWdyaXR5KTsKIH0K
IAogYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93SW1hZ2VGcm9tU291cmNlKGNvbnN0
IFVSTCYgdXJsLCBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgcmVkaXJlY3RSZXNwb25zZVJlY2Vp
dmVkLCBjb25zdCBVUkwmIHByZVJlZGlyZWN0VVJMKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuaAppbmRleCBlY2ZlNTJhNzU0ZmMwNjNi
ZTYwM2Q1OWUzMjA3YzEzYmE2NTQ1ZGZiLi41NThlMzlhZWZlN2QwOWI0OTk2ZGFiZjg3MDFmM2Zh
OWM0ZWQwNjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2Vj
dXJpdHlQb2xpY3kuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJp
dHlQb2xpY3kuaApAQCAtMTEwLDcgKzExMCw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9S
VCBib29sIG92ZXJyaWRlc1hGcmFtZU9wdGlvbnMoKSBjb25zdDsKIAogICAgIGVudW0gY2xhc3Mg
UmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkIHsgTm8sIFllcyB9OwotICAgIFdFQkNPUkVfRVhQT1JU
IGJvb2wgYWxsb3dTY3JpcHRGcm9tU291cmNlKGNvbnN0IFVSTCYsIFJlZGlyZWN0UmVzcG9uc2VS
ZWNlaXZlZCA9IFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZDo6Tm8sIGNvbnN0IFVSTCYgcHJlUmVk
aXJlY3RVUkwgPSBVUkwoKSkgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBhbGxvd1Nj
cmlwdEZyb21Tb3VyY2UoY29uc3QgVVJMJiwgUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkID0gUmVk
aXJlY3RSZXNwb25zZVJlY2VpdmVkOjpObywgY29uc3QgVVJMJiBwcmVSZWRpcmVjdFVSTCA9IFVS
TCgpLCBjb25zdCBTdHJpbmcmID0gbnVsbFN0cmluZygpKSBjb25zdDsKICAgICBib29sIGFsbG93
SW1hZ2VGcm9tU291cmNlKGNvbnN0IFVSTCYsIFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCA9IFJl
ZGlyZWN0UmVzcG9uc2VSZWNlaXZlZDo6Tm8sIGNvbnN0IFVSTCYgcHJlUmVkaXJlY3RVUkwgPSBV
UkwoKSkgY29uc3Q7CiAgICAgYm9vbCBhbGxvd1N0eWxlRnJvbVNvdXJjZShjb25zdCBVUkwmLCBS
ZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgPSBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQ6Ok5vLCBj
b25zdCBVUkwmIHByZVJlZGlyZWN0VVJMID0gVVJMKCkpIGNvbnN0OwogICAgIGJvb2wgYWxsb3dG
b250RnJvbVNvdXJjZShjb25zdCBVUkwmLCBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgPSBSZWRp
cmVjdFJlc3BvbnNlUmVjZWl2ZWQ6Ok5vLCBjb25zdCBVUkwmIHByZVJlZGlyZWN0VVJMID0gVVJM
KCkpIGNvbnN0OwpAQCAtMjE1LDkgKzIxNSwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgc2hvdWxk
UGVyZm9ybUVhcmx5Q1NQQ2hlY2soKSBjb25zdDsKICAgICAKICAgICB1c2luZyBSZXNvdXJjZVBy
ZWRpY2F0ZSA9IGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZSAqKENvbnRlbnRT
ZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3Q6OiopKGNvbnN0IFVSTCAmLCBib29sKSBjb25zdDsK
LSAgICBib29sIGFsbG93UmVzb3VyY2VGcm9tU291cmNlKGNvbnN0IFVSTCYsIFJlZGlyZWN0UmVz
cG9uc2VSZWNlaXZlZCwgY29uc3QgY2hhciosIFJlc291cmNlUHJlZGljYXRlLCBjb25zdCBVUkwm
IHByZVJlZGlyZWN0VVJMID0gVVJMKCkpIGNvbnN0OworICAgIGJvb2wgYWxsb3dSZXNvdXJjZUZy
b21Tb3VyY2UoY29uc3QgVVJMJiwgUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBjb25zdCBjaGFy
KiwgUmVzb3VyY2VQcmVkaWNhdGUsIGNvbnN0IFVSTCYgcHJlUmVkaXJlY3RVUkwgPSBVUkwoKSwg
Y29uc3QgU3RyaW5nJiA9IG51bGxTdHJpbmcoKSkgY29uc3Q7CiAKICAgICB1c2luZyBIYXNoSW5F
bmZvcmNlZEFuZFJlcG9ydE9ubHlQb2xpY2llc1BhaXIgPSBzdGQ6OnBhaXI8Ym9vbCwgYm9vbD47
CisgICAgYm9vbCBtYXRjaEFsbFNSSUhhc2hlc0luUG9saWNpZXMoY29uc3QgU3RyaW5nJikgY29u
c3QgV0FSTl9VTlVTRURfUkVUVVJOOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFByZWRpY2F0ZT4g
SGFzaEluRW5mb3JjZWRBbmRSZXBvcnRPbmx5UG9saWNpZXNQYWlyIGZpbmRIYXNoT2ZDb250ZW50
SW5Qb2xpY2llcyhjb25zdCBQcmVkaWNhdGUmLCBTdHJpbmdWaWV3IGNvbnRlbnQsIE9wdGlvblNl
dDxDb250ZW50U2VjdXJpdHlQb2xpY3lIYXNoQWxnb3JpdGhtPikgY29uc3QgV0FSTl9VTlVTRURf
UkVUVVJOOwogCiAgICAgdm9pZCByZXBvcnRWaW9sYXRpb24oY29uc3QgU3RyaW5nJiBlZmZlY3Rp
dmVWaW9sYXRlZERpcmVjdGl2ZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZl
JiB2aW9sYXRlZERpcmVjdGl2ZSwgY29uc3QgU3RyaW5nJiBibG9ja2VkVVJMLCBjb25zdCBTdHJp
bmcmIGNvbnNvbGVNZXNzYWdlLCBKU0M6OkpTR2xvYmFsT2JqZWN0KikgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3Rp
dmVMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGlj
eURpcmVjdGl2ZUxpc3QuY3BwCmluZGV4IDExMTE3MWNlODMxOWM3MWNkNDFjNjI0ZjQ5NzUzYzVi
Y2RjOWY4ODMuLjk4M2Q1YzFlMTIwMGIwYTdiZTAzY2JkZWYxM2Q4ZTM0YjQwZTM3MGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVj
dGl2ZUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0
eVBvbGljeURpcmVjdGl2ZUxpc3QuY3BwCkBAIC0yNTUsNiArMjU1LDE1IEBAIGNvbnN0IENvbnRl
bnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZSogQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZl
TGlzdDo6dmlvbGF0CiAgICAgcmV0dXJuIG9wZXJhdGl2ZURpcmVjdGl2ZTsKIH0KIAorYm9vbCBD
b250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0OjpkaXJlY3RpdmVDb250YWluc0FsbEhh
c2hlcyhjb25zdCBWZWN0b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4mIGhhc2hlcykgY29u
c3QKK3sKKyAgICBhdXRvKiBvcGVyYXRpdmVEaXJlY3RpdmUgPSB0aGlzLT5vcGVyYXRpdmVEaXJl
Y3RpdmUobV9zY3JpcHRTcmMuZ2V0KCksIENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZU5h
bWVzOjpzY3JpcHRTcmMpOworICAgIGlmICghb3BlcmF0aXZlRGlyZWN0aXZlKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gb3BlcmF0aXZlRGlyZWN0aXZlLT5jb250YWluc0Fs
bEhhc2hlcyhoYXNoZXMpOworfQorCiBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3Rp
dmUqIENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3Q6OnZpb2xhdGVkRGlyZWN0aXZl
Rm9yU3R5bGVIYXNoKGNvbnN0IFZlY3RvcjxDb250ZW50U2VjdXJpdHlQb2xpY3lIYXNoPiYgaGFz
aGVzKSBjb25zdAogewogICAgIGF1dG8qIG9wZXJhdGl2ZURpcmVjdGl2ZSA9IHRoaXMtPm9wZXJh
dGl2ZURpcmVjdGl2ZShtX3N0eWxlU3JjLmdldCgpLCBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJl
Y3RpdmVOYW1lczo6c3R5bGVTcmMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9j
c3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5oCmluZGV4IGMzZTIw
ODQwZDg2YzEwZmMwMjM0YWQ0ZTk2NmY5MGI2ZGQwZDVkODkuLjFiYzRkMGFjMzdmNTZjZTc1YWJh
ZjVjMDhmNDhkMjBiZTI0YWY5YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3Nw
L0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0LmgKQEAgLTc4LDYg
Kzc4LDggQEAgcHVibGljOgogICAgIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2
ZSogdmlvbGF0ZWREaXJlY3RpdmVGb3JTY3JpcHQoY29uc3QgVVJMJiwgYm9vbCBkaWRSZWNlaXZl
UmVkaXJlY3RSZXNwb25zZSkgY29uc3Q7CiAgICAgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5
RGlyZWN0aXZlKiB2aW9sYXRlZERpcmVjdGl2ZUZvclN0eWxlKGNvbnN0IFVSTCYsIGJvb2wgZGlk
UmVjZWl2ZVJlZGlyZWN0UmVzcG9uc2UpIGNvbnN0OwogCisgICAgYm9vbCBkaXJlY3RpdmVDb250
YWluc0FsbEhhc2hlcyhjb25zdCBWZWN0b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4mKSBj
b25zdDsKKwogICAgIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZSogZGVmYXVs
dFNyYygpIGNvbnN0IHsgcmV0dXJuIG1fZGVmYXVsdFNyYy5nZXQoKTsgfQogCiAgICAgYm9vbCBo
YXNCbG9ja0FsbE1peGVkQ29udGVudERpcmVjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1faGFzQmxv
Y2tBbGxNaXhlZENvbnRlbnREaXJlY3RpdmU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdC5jcHAKaW5kZXgg
NDlkYTQ0YTlkY2MyYTRiM2ZiOGJmMTk4ZmQ5ZDdhNDU4NzdhMmQwMi4uZGNmZTUyZGExMDgyOWUw
NmFkZjU0YTJiYzljYjU4MGIxZmVmOTY0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdC5jcHAKQEAgLTE1
NSw2ICsxNTUsMTYgQEAgYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0OjptYXRj
aGVzKGNvbnN0IFZlY3RvcjxDb250ZW50U2VjdXJpdHlQb2xpY3kKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdDo6bWF0Y2hlc0FsbChj
b25zdCBWZWN0b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4mIGhhc2hlcykgY29uc3QKK3sK
KyAgICBmb3IgKGF1dG8mIGhhc2ggOiBoYXNoZXMpIHsKKyAgICAgICAgaWYgKCFtX2hhc2hlcy5j
b250YWlucyhoYXNoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBy
ZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0Ojpt
YXRjaGVzKGNvbnN0IFN0cmluZyYgbm9uY2UpIGNvbnN0CiB7CiAgICAgaWYgKG5vbmNlLmlzRW1w
dHkoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0
eVBvbGljeVNvdXJjZUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1
cml0eVBvbGljeVNvdXJjZUxpc3QuaAppbmRleCAzNzk0NWU2Y2IwM2YzMWYzMDMxMzg2ODRhYzIy
ODE5MjNiNmMzNmQ1Li5lNGY4Yzg3OWM1NDAzZjU5MWRmMjM0ZTZhMWM4YWI5ZmE1NTljY2Y4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lT
b3VyY2VMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5
UG9saWN5U291cmNlTGlzdC5oCkBAIC00NSw2ICs0NSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wg
bWF0Y2hlcyhjb25zdCBVUkwmLCBib29sIGRpZFJlY2VpdmVSZWRpcmVjdFJlc3BvbnNlKSBjb25z
dDsKICAgICBib29sIG1hdGNoZXMoY29uc3QgVmVjdG9yPENvbnRlbnRTZWN1cml0eVBvbGljeUhh
c2g+JikgY29uc3Q7CisgICAgYm9vbCBtYXRjaGVzQWxsKGNvbnN0IFZlY3RvcjxDb250ZW50U2Vj
dXJpdHlQb2xpY3lIYXNoPiYpIGNvbnN0OwogICAgIGJvb2wgbWF0Y2hlcyhjb25zdCBTdHJpbmcm
IG5vbmNlKSBjb25zdDsKIAogICAgIE9wdGlvblNldDxDb250ZW50U2VjdXJpdHlQb2xpY3lIYXNo
QWxnb3JpdGhtPiBoYXNoQWxnb3JpdGhtc1VzZWQoKSBjb25zdCB7IHJldHVybiBtX2hhc2hBbGdv
cml0aG1zVXNlZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVu
dFNlY3VyaXR5UG9saWN5U291cmNlTGlzdERpcmVjdGl2ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0RGlyZWN0aXZlLmNwcAppbmRl
eCAxZTBiZDMyMTM5NGRjNGYyNWE0MWIwZjU3MTcyN2U2OTFhYTBjNjVhLi5iMDY5Y2FmNDEzZDFm
NzhmM2I4Yjc0MzhlM2YwNzA5ZDVkNjFmNzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0RGlyZWN0aXZlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0
RGlyZWN0aXZlLmNwcApAQCAtNTIsNiArNTIsMTEgQEAgYm9vbCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lTb3VyY2VMaXN0RGlyZWN0aXZlOjphbGxvd3MoY29uc3QgU3RyaW5nJiBub25jZSkgY29uc3QK
ICAgICByZXR1cm4gbV9zb3VyY2VMaXN0Lm1hdGNoZXMobm9uY2UpOwogfQogCitib29sIENvbnRl
bnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3RpdmU6OmNvbnRhaW5zQWxsSGFzaGVzKGNv
bnN0IFZlY3RvcjxDb250ZW50U2VjdXJpdHlQb2xpY3lIYXNoPiYgaGFzaGVzKSBjb25zdAorewor
ICAgIHJldHVybiBtX3NvdXJjZUxpc3QubWF0Y2hlc0FsbChoYXNoZXMpOworfQorCiBib29sIENv
bnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3RpdmU6OmFsbG93cyhjb25zdCBWZWN0
b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4mIGhhc2hlcykgY29uc3QKIHsKICAgICByZXR1
cm4gbV9zb3VyY2VMaXN0Lm1hdGNoZXMoaGFzaGVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3RpdmUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3RE
aXJlY3RpdmUuaAppbmRleCA3OGJhOTVhODFkMDEzOTM2OGQzODdmMWRkZjA0NTVkNWRkOWNlMzBk
Li5jMzU0YTFjZTNlYmEzODljMzRmOTFmM2Q4NmRlOTc3Mjc4ZTBiYjBiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0RGly
ZWN0aXZlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9s
aWN5U291cmNlTGlzdERpcmVjdGl2ZS5oCkBAIC00MCw2ICs0MCw3IEBAIHB1YmxpYzoKICAgICBl
bnVtIGNsYXNzIFNob3VsZEFsbG93RW1wdHlVUkxJZlNvdXJjZUxpc3RJc05vdE5vbmUgeyBObywg
WWVzIH07CiAgICAgYm9vbCBhbGxvd3MoY29uc3QgVVJMJiwgYm9vbCBkaWRSZWNlaXZlUmVkaXJl
Y3RSZXNwb25zZSwgU2hvdWxkQWxsb3dFbXB0eVVSTElmU291cmNlTGlzdElzTm90Tm9uZSk7CiAg
ICAgYm9vbCBhbGxvd3MoY29uc3QgVmVjdG9yPENvbnRlbnRTZWN1cml0eVBvbGljeUhhc2g+Jikg
Y29uc3Q7CisgICAgYm9vbCBjb250YWluc0FsbEhhc2hlcyhjb25zdCBWZWN0b3I8Q29udGVudFNl
Y3VyaXR5UG9saWN5SGFzaD4mKSBjb25zdDsKICAgICBib29sIGFsbG93VW5zYWZlSGFzaGVzKGNv
bnN0IFZlY3RvcjxDb250ZW50U2VjdXJpdHlQb2xpY3lIYXNoPiYpIGNvbnN0OwogICAgIGJvb2wg
YWxsb3dzKGNvbnN0IFN0cmluZyYgbm9uY2UpIGNvbnN0OwogICAgIGJvb2wgYWxsb3dJbmxpbmUo
KSBjb25zdCB7IHJldHVybiBtX3NvdXJjZUxpc3QuYWxsb3dJbmxpbmUoKTsgfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMDM1Y2ZlZDgzODlhZjI4Yjk0MjI1YmMxOWE1ZTczYzA5
NjZkMDEwZC4uZmIxNDBiMDU3ODE4NTg1YmM0YjkxNWNlZjZjYzZlNjExOWRlNTQ3ZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKyAgMjAyMS0xMi0wNSAg
UGF0cmljayBHcmlmZmlzICA8cGdyaWZmaXNAaWdhbGlhLmNvbT4KKworICAgICAgICBDU1A6IEFs
bG93IGV4dGVybmFsIHNjcmlwdHMgd2l0aCBTUkkgaGFzaGVzIG1hdGNoaW5nIENTUAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzOTExCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGV4cGVjdGF0
aW9ucyB3aXRoIG1vcmUgcGFzc2VzLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nv
bnRlbnQtc2VjdXJpdHktcG9saWN5L3NjcmlwdC1zcmMvc2NyaXB0LXNyYy1zcmlfaGFzaC5zdWIt
ZXhwZWN0ZWQudHh0OgorCiAyMDIxLTEyLTA2ICBUYWRldSBaYWdhbGxvICA8dHphZ2FsbG9AYXBw
bGUuY29tPgogCiAgICAgICAgIFJlc3RvcmUgbmF2aWdhdG9yLmhhcmR3YXJlQ29uY3VycmVuY3kK
QEAgLTM2LDcgKzQ3LDYgQEAKICAgICAgICAgUmViYXNlbGluZSBXUFQgdGVzdHMgbm93IHRoYXQg
bW9yZSBjaGVja3MgYXJlIHBhc3NpbmcuCiAKICAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvZm9ybXMvY29uc3RyYWludHMvZm9ybS12YWxpZGF0aW9uLXZhbGlkaXR5
LXZhbGlkLWV4cGVjdGVkLnR4dDoKLQogMjAyMS0xMi0wMiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpA
YXBwbGUuY29tPgogCiAgICAgICAgIGh0bWwvc2VtYW50aWNzL2Zvcm1zL2NvbnN0cmFpbnRzL2lu
cHV0LW51bWJlci12YWxpZGl0eS1keW5hbWljLXZhbHVlLW5vLWNoYW5nZS5odG1sIFdQVCB0ZXN0
IGlzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0eS1wb2xpY3kvc2NyaXB0LXNyYy9zY3JpcHQtc3Jj
LXNyaV9oYXNoLnN1Yi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3NjcmlwdC1zcmMvc2NyaXB0
LXNyYy1zcmlfaGFzaC5zdWItZXhwZWN0ZWQudHh0CmluZGV4IGYzZDcyZTQwYmI2MTNjYzY0MDMz
MTg2NDM1MTkwZDFlYjZjNThjNGQuLjg3Mjc2NmY3OTU0OTQ4MGIzYzRmY2I3OThiNjA4NGY1ODRk
M2I3MGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY29udGVudC1zZWN1cml0eS1wb2xpY3kvc2NyaXB0LXNyYy9zY3JpcHQtc3JjLXNyaV9o
YXNoLnN1Yi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQtc3JjL3NjcmlwdC1z
cmMtc3JpX2hhc2guc3ViLWV4cGVjdGVkLnR4dApAQCAtMiwxNCArMiwxNCBAQCBFeHRlcm5hbCBz
Y3JpcHRzIHdpdGggbWF0Y2hpbmcgU1JJIGhhc2ggc2hvdWxkIGJlIGFsbG93ZWQuCiAKIAogUEFT
UyBMb2FkIGFsbCB0aGUgdGVzdHMuCi1GQUlMIG1hdGNoaW5nIGludGVncml0eSBhc3NlcnRfdW5y
ZWFjaGVkOiBTY3JpcHQgc2hvdWxkIGxvYWQhIGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9jb250ZW50
LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQtc3JjL3NpbXBsZVNvdXJjZWRTY3JpcHQuanMgUmVhY2hl
ZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIG11bHRpcGxlIG1hdGNoaW5nIGludGVncml0eSBhc3Nl
cnRfdW5yZWFjaGVkOiBTY3JpcHQgc2hvdWxkIGxvYWQhIGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9j
b250ZW50LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQtc3JjL3NpbXBsZVNvdXJjZWRTY3JpcHQuanMg
UmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIG1hdGNoaW5nIGludGVncml0eQorUEFTUyBt
dWx0aXBsZSBtYXRjaGluZyBpbnRlZ3JpdHkKIFBBU1Mgbm8gaW50ZWdyaXR5Ci1GQUlMIG1hdGNo
aW5nIHBsdXMgdW5zdXBwb3J0ZWQgaW50ZWdyaXR5IGFzc2VydF91bnJlYWNoZWQ6IFNjcmlwdCBz
aG91bGQgbG9hZCEgaHR0cDovL2xvY2FsaG9zdDo4ODAwL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5
L3NjcmlwdC1zcmMvc2ltcGxlU291cmNlZFNjcmlwdC5qcyBSZWFjaGVkIHVucmVhY2hhYmxlIGNv
ZGUKK1BBU1MgbWF0Y2hpbmcgcGx1cyB1bnN1cHBvcnRlZCBpbnRlZ3JpdHkKIFBBU1MgbWlzbWF0
Y2hlZCBpbnRlZ3JpdHkKIFBBU1MgbXVsdGlwbGUgbWlzbWF0Y2hlZCBpbnRlZ3JpdHkKIFBBU1Mg
cGFydGlhbGx5IG1hdGNoaW5nIGludGVncml0eQogRkFJTCBjcm9zc29yaWdpbiBubyBpbnRlZ3Jp
dHkgYnV0IGFsbG93ZWQgaG9zdCBhc3NlcnRfdW5yZWFjaGVkOiBTY3JpcHQgc2hvdWxkIGxvYWQh
IGh0dHA6Ly8xMjcuMC4wLjE6ODgwMC9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQtc3Jj
L2Nyb3Nzb3JpZ2luU2NyaXB0LmpzIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogRkFJTCBjcm9z
c29yaWdpbiBtaXNtYXRjaGVkIGludGVncml0eSBidXQgYWxsb3dlZCBob3N0IGFzc2VydF91bnJl
YWNoZWQ6IFNjcmlwdCBzaG91bGQgbG9hZCEgaHR0cDovLzEyNy4wLjAuMTo4ODAwL2NvbnRlbnQt
c2VjdXJpdHktcG9saWN5L3NjcmlwdC1zcmMvY3Jvc3NvcmlnaW5TY3JpcHQuanMgUmVhY2hlZCB1
bnJlYWNoYWJsZSBjb2RlCi1GQUlMIEV4dGVybmFsIHNjcmlwdCBpbiBhIHNjcmlwdCB0YWcgd2l0
aCBtYXRjaGluZyBTUkkgaGFzaCBzaG91bGQgcnVuLiBhc3NlcnRfdHJ1ZTogRXh0ZXJuYWwgc2Ny
aXB0IHJhbi4gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgRXh0ZXJuYWwgc2NyaXB0IGlu
IGEgc2NyaXB0IHRhZyB3aXRoIG1hdGNoaW5nIFNSSSBoYXNoIHNob3VsZCBydW4uCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446119</attachid>
            <date>2021-12-06 21:49:48 -0800</date>
            <delta_ts>2021-12-06 22:17:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233911-20211206234947.patch</filename>
            <type>text/plain</type>
            <size>26799</size>
            <attacher name="Patrick Griffis">pgriffis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjNlMzRlN2EyNjgzMGQ3
MjFlNWYzODgzNWM0YzdmZDBlM2E2NGY1NC4uMTdhOThmNjJmZDQxYjgxYmZmM2Q0NzZiMDkxZWU5
NTE1NjA4ZDY0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTEyLTA1ICBQYXRy
aWNrIEdyaWZmaXMgIDxwZ3JpZmZpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIENTUDogQWxsb3cg
ZXh0ZXJuYWwgc2NyaXB0cyB3aXRoIFNSSSBoYXNoZXMgbWF0Y2hpbmcgQ1NQCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5MTEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgY2hhbmdlIGlu
IENTUDMgdGhhdCBhbGxvd3MgbG9hZGluZyBleHRlcm5hbAorICAgICAgICBzY3JpcHRzIHRoYXQg
aGF2ZSBTUkkgaGFzaGVzIG1hdGNoaW5nIENTUCBoYXNoZXMuCisgICAgICAgIGh0dHBzOi8vd3d3
LnczLm9yZy9UUi9DU1AzLyNleHRlcm5hbC1oYXNoCisKKyAgICAgICAgUmVzb3VyY2VDcnlwdG9n
cmFwaGljRGlnZXN0IHdhcyBjaGFuZ2VkIHRvIG5vdCB2YWxpZGF0ZSBwYWRkaW5nCisgICAgICAg
IGR1cmluZyBiYXNlNjQgZGVjb2Rpbmcgd2hpY2ggaXMgaGFybWxlc3MgYW5kIGZpeGVzIHBhcnNp
bmcgdGhlCisgICAgICAgIGhhc2hlcyB1c2VkIGluIFdQVCdzIHNjcmlwdC1zcmMtc3JpX2hhc2gu
c3ViLmh0bWwuCisKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6aXNBbGxvd2Vk
QnlDb250ZW50U2VjdXJpdHlQb2xpY3kpOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUNyeXB0
b2dyYXBoaWNEaWdlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VDcnlwdG9ncmFwaGlj
RGlnZXN0SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpkZWNvZGVFbmNvZGVkUmVzb3VyY2VDcnlw
dG9ncmFwaGljRGlnZXN0KToKKyAgICAgICAgKiBsb2FkZXIvU3VicmVzb3VyY2VJbnRlZ3JpdHku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VJbnRlZ3JpdHlNZXRhZGF0YSk6CisgICAgICAg
ICogbG9hZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5Lmg6CisgICAgICAgICogbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291
cmNlTG9hZGVyOjphbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3kgY29uc3QpOgorICAgICAg
ICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpwYXJzZVN1YlJlc291cmNlSW50ZWdyaXR5SW50b0RpZ2VzdHMpOgorICAgICAgICAoV2ViQ29y
ZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjptYXRjaEFsbFNSSUhhc2hlc0luUG9saWNpZXMgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1Jlc291
cmNlRnJvbVNvdXJjZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OmFsbG93U2NyaXB0RnJvbVNvdXJjZSBjb25zdCk6CisgICAgICAgICogcGFnZS9jc3Av
Q29udGVudFNlY3VyaXR5UG9saWN5Lmg6CisgICAgICAgICogcGFnZS9jc3AvQ29udGVudFNlY3Vy
aXR5UG9saWN5RGlyZWN0aXZlTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2Vj
dXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0OjpkaXJlY3RpdmVDb250YWluc0FsbEhhc2hlcyBjb25z
dCk6CisgICAgICAgICogcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlz
dC5oOgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdDo6
bWF0Y2hlc0FsbCBjb25zdCk6CisgICAgICAgICogcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9s
aWN5U291cmNlTGlzdC5oOgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGlj
eVNvdXJjZUxpc3REaXJlY3RpdmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3Vy
aXR5UG9saWN5U291cmNlTGlzdERpcmVjdGl2ZTo6Y29udGFpbnNBbGxIYXNoZXMgY29uc3QpOgor
ICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3Rp
dmUuaDoKKwogMjAyMS0xMi0wNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIDxpbnB1dCB0eXBlPSJ0aW1lIj4ncyByYW5nZSBzaG91bGQgYmUgcmV2ZXJzaWJsZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNw
cAppbmRleCA5YTRkNGIyMTJmZGZkMjgxODQzNzZkNGI3MGM3ZGE0ZjNlYjdjODMyLi5jMTBkNWMx
ZGJlYmVmMDU1Mjg0M2RkOWZjMGE1MzNkZGI0NzkzYTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtNjg1LDcgKzY4NSw3
IEBAIGJvb2wgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjppc0FsbG93ZWRCeUNvbnRlbnRTZWN1
cml0eVBvbGljeShjb25zdCBVUkwmIHVybCwKICAgICBjYXNlIENvbnRlbnRTZWN1cml0eVBvbGlj
eUVuZm9yY2VtZW50OjpFbmZvcmNlQ29ubmVjdFNyY0RpcmVjdGl2ZToKICAgICAgICAgcmV0dXJu
IGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLmFsbG93Q29ubmVjdFRvU291cmNlKHVybCwgcmVkaXJl
Y3RSZXNwb25zZVJlY2VpdmVkLCBwcmVSZWRpcmVjdFVSTCk7CiAgICAgY2FzZSBDb250ZW50U2Vj
dXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RW5mb3JjZVNjcmlwdFNyY0RpcmVjdGl2ZToKLSAgICAg
ICAgcmV0dXJuIGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLmFsbG93U2NyaXB0RnJvbVNvdXJjZSh1
cmwsIHJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCwgcHJlUmVkaXJlY3RVUkwpOworICAgICAgICBy
ZXR1cm4gY29udGVudFNlY3VyaXR5UG9saWN5KCkuYWxsb3dTY3JpcHRGcm9tU291cmNlKHVybCwg
cmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBwcmVSZWRpcmVjdFVSTCwgbV9vcHRpb25zLmludGVn
cml0eSk7CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBmYWxz
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUNyeXB0b2dyYXBo
aWNEaWdlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlQ3J5cHRvZ3JhcGhp
Y0RpZ2VzdC5jcHAKaW5kZXggYzYyNzc2ODU4YTZkYzVhZmZkMzZkYzllNzg1YzhiZDI0NzJiYjc0
ZC4uNDg0MGYxNGNmMjVkZGYxZjYwMGFlOTZkYWM2M2Q5NzExYzhjOTQwNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdC5jcHAK
QEAgLTcxLDcgKzcxLDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4gc3RhdGlj
IHN0ZDo6b3B0aW9uYWw8UmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXMKIAogICAgIFN0cmluZ1Zp
ZXcgaGFzaFZhbHVlKGJlZ2luSGFzaFZhbHVlLCBidWZmZXIucG9zaXRpb24oKSAtIGJlZ2luSGFz
aFZhbHVlKTsKIAotICAgIGlmIChhdXRvIGRpZ2VzdCA9IGJhc2U2NERlY29kZShoYXNoVmFsdWUs
IEJhc2U2NERlY29kZU9wdGlvbnM6OlZhbGlkYXRlUGFkZGluZykpCisgICAgaWYgKGF1dG8gZGln
ZXN0ID0gYmFzZTY0RGVjb2RlKGhhc2hWYWx1ZSkpCiAgICAgICAgIHJldHVybiBSZXNvdXJjZUNy
eXB0b2dyYXBoaWNEaWdlc3QgeyAqYWxnb3JpdGhtLCBXVEZNb3ZlKCpkaWdlc3QpIH07CiAKICAg
ICBpZiAoYXV0byBkaWdlc3QgPSBiYXNlNjRVUkxEZWNvZGUoaGFzaFZhbHVlKSkKQEAgLTEyNSw3
ICsxMjUsNyBAQCBzdGQ6Om9wdGlvbmFsPEVuY29kZWRSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdl
c3Q+IHBhcnNlRW5jb2RlZENyeXB0b2dyYXBoaWNEaWdlcwogCiBzdGQ6Om9wdGlvbmFsPFJlc291
cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdD4gZGVjb2RlRW5jb2RlZFJlc291cmNlQ3J5cHRvZ3JhcGhp
Y0RpZ2VzdChjb25zdCBFbmNvZGVkUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0JiBlbmNvZGVk
RGlnZXN0KQogewotICAgIGlmIChhdXRvIGRpZ2VzdCA9IGJhc2U2NERlY29kZShlbmNvZGVkRGln
ZXN0LmRpZ2VzdCwgQmFzZTY0RGVjb2RlT3B0aW9uczo6VmFsaWRhdGVQYWRkaW5nKSkKKyAgICBp
ZiAoYXV0byBkaWdlc3QgPSBiYXNlNjREZWNvZGUoZW5jb2RlZERpZ2VzdC5kaWdlc3QpKQogICAg
ICAgICByZXR1cm4gUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0IHsgZW5jb2RlZERpZ2VzdC5h
bGdvcml0aG0sIFdURk1vdmUoKmRpZ2VzdCkgfTsKIAogICAgIGlmIChhdXRvIGRpZ2VzdCA9IGJh
c2U2NFVSTERlY29kZShlbmNvZGVkRGlnZXN0LmRpZ2VzdCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VJbnRlZ3JpdHkuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5LmNwcAppbmRleCBjNTIwODFiNDIxNjdiYTgwYzI3
NTcwOGNiZDk5NmQ4N2E4NTQ0MjJmLi5mNDNkY2Q4NGVkMzI1NGVjOTdhZGU5OGVmYTA5NWRmYmZk
MWUyZDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VJbnRl
Z3JpdHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUludGVncml0
eS5jcHAKQEAgLTk2LDcgKzk2LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHNwbGl0T25TcGFjZXMo
U3RyaW5nUGFyc2luZ0J1ZmZlcjxDaGFyYWN0ZXJUeXBlPiBidWZmZXIsIEZ1bmMKICAgICB9CiB9
CiAKLXN0YXRpYyBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxFbmNvZGVkUmVzb3VyY2VDcnlwdG9ncmFw
aGljRGlnZXN0Pj4gcGFyc2VJbnRlZ3JpdHlNZXRhZGF0YShjb25zdCBTdHJpbmcmIGludGVncml0
eU1ldGFkYXRhKQorc3RkOjpvcHRpb25hbDxWZWN0b3I8RW5jb2RlZFJlc291cmNlQ3J5cHRvZ3Jh
cGhpY0RpZ2VzdD4+IHBhcnNlSW50ZWdyaXR5TWV0YWRhdGEoY29uc3QgU3RyaW5nJiBpbnRlZ3Jp
dHlNZXRhZGF0YSkKIHsKICAgICBpZiAoaW50ZWdyaXR5TWV0YWRhdGEuaXNFbXB0eSgpKQogICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVz
b3VyY2VJbnRlZ3JpdHkuaAppbmRleCAxYmQ2ODY2OGVjYWVlMzcxZDBhNDQzNjE3MWRkMzA4ZGIz
NDI4NTk1Li4yNTM1YjhjMzZhMzg0ZWI4MDRhYzZmNzU3M2M0ZGNkMmM2ZGY3NmU2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VJbnRlZ3JpdHkuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VJbnRlZ3JpdHkuaApAQCAtMzMsNSArMzMs
NiBAQCBjbGFzcyBDYWNoZWRSZXNvdXJjZTsKIAogYm9vbCBtYXRjaEludGVncml0eU1ldGFkYXRh
KGNvbnN0IENhY2hlZFJlc291cmNlJiwgY29uc3QgU3RyaW5nJiBpbnRlZ3JpdHlNZXRhZGF0YSk7
CiBTdHJpbmcgaW50ZWdyaXR5TWlzbWF0Y2hEZXNjcmlwdGlvbihjb25zdCBDYWNoZWRSZXNvdXJj
ZSYsIGNvbnN0IFN0cmluZyYgaW50ZWdyaXR5TWV0YWRhdGEpOworc3RkOjpvcHRpb25hbDxWZWN0
b3I8RW5jb2RlZFJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdD4+IHBhcnNlSW50ZWdyaXR5TWV0
YWRhdGEoY29uc3QgU3RyaW5nJiBpbnRlZ3JpdHlNZXRhZGF0YSk7CiAKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4
IGZhMzgyMWFhYzEyNTJmOWU3MmFjOWNkOWZiNWFhY2E4NjYwODI0NTYuLjg0YzAxNGJkNjQzMGEx
ODJjY2ZkN2Y0MmM4NWZhMzhiYjdjNDBhZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAtNTAxLDcgKzUwMSw3IEBA
IGJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmFsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGlj
eShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6
WFNMU3R5bGVTaGVldDoKICNlbmRpZgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlNj
cmlwdDoKLSAgICAgICAgaWYgKCFtX2RvY3VtZW50LT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+
YWxsb3dTY3JpcHRGcm9tU291cmNlKHVybCwgcmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBwcmVS
ZWRpcmVjdFVSTCkpCisgICAgICAgIGlmICghbV9kb2N1bWVudC0+Y29udGVudFNlY3VyaXR5UG9s
aWN5KCktPmFsbG93U2NyaXB0RnJvbVNvdXJjZSh1cmwsIHJlZGlyZWN0UmVzcG9uc2VSZWNlaXZl
ZCwgcHJlUmVkaXJlY3RVUkwsIG9wdGlvbnMuaW50ZWdyaXR5KSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6
Q1NTU3R5bGVTaGVldDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRl
bnRTZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2Vj
dXJpdHlQb2xpY3kuY3BwCmluZGV4IGFjZjEzMWY1MGRlYmRkZjlmZjQ5NGQ2MjUwNzAxNzVjNzdh
MDE2MjkuLmRlNDJkZmUwMjlmMzgwODVmNTAyZDg5NWRiOTI2MzRjMzVkNDI3MTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcApAQCAt
NTIsNiArNTIsNyBAQAogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2Vj
dXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudC5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5j
bHVkZSAiU3VicmVzb3VyY2VJbnRlZ3JpdHkuaCIKICNpbmNsdWRlICJUZXh0RW5jb2RpbmcuaCIK
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmg+CkBAIC0zNTUsNiArMzU2LDM3
IEBAIGJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxTY3JpcHRQb2xpY2llc0FsbG93KFZp
b2xhdGVkRGlyZWN0aXZlQ2FsbGJhY2smJiBjCiAgICAgcmV0dXJuIGlzQWxsb3dlZDsKIH0KIAor
c3RhdGljIFZlY3RvcjxSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3Q+IHBhcnNlU3ViUmVzb3Vy
Y2VJbnRlZ3JpdHlJbnRvRGlnZXN0cyhjb25zdCBTdHJpbmcmIHN1YlJlc291cmNlSW50ZWdyaXR5
KQoreworICAgIGF1dG8gZW5jb2RlZERpZ2VzdHMgPSBwYXJzZUludGVncml0eU1ldGFkYXRhKHN1
YlJlc291cmNlSW50ZWdyaXR5KTsKKyAgICBWZWN0b3I8UmVzb3VyY2VDcnlwdG9ncmFwaGljRGln
ZXN0PiBkZWNvZGVkRGlnZXN0czsKKworICAgIGlmICghZW5jb2RlZERpZ2VzdHMuaGFzX3ZhbHVl
KCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBmb3IgKGNvbnN0IGF1dG8mIGVuY29kZWRE
aWdlc3QgOiBlbmNvZGVkRGlnZXN0cy52YWx1ZSgpKSB7CisgICAgICAgIGF1dG8gZGVjb2RlZERp
Z2VzdCA9IGRlY29kZUVuY29kZWRSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3QoZW5jb2RlZERp
Z2VzdCk7CisgICAgICAgIGlmIChkZWNvZGVkRGlnZXN0Lmhhc192YWx1ZSgpKQorICAgICAgICAg
ICAgZGVjb2RlZERpZ2VzdHMuYXBwZW5kKGRlY29kZWREaWdlc3QudmFsdWUoKSk7CisgICAgfQor
CisgICAgcmV0dXJuIGRlY29kZWREaWdlc3RzOworfQorCitib29sIENvbnRlbnRTZWN1cml0eVBv
bGljeTo6bWF0Y2hBbGxTUklIYXNoZXNJblBvbGljaWVzKGNvbnN0IFN0cmluZyYgc3ViUmVzb3Vy
Y2VJbnRlZ3JpdHkpIGNvbnN0Cit7CisgICAgYXV0byBkaWdlc3RzID0gcGFyc2VTdWJSZXNvdXJj
ZUludGVncml0eUludG9EaWdlc3RzKHN1YlJlc291cmNlSW50ZWdyaXR5KTsKKyAgICBpZiAoZGln
ZXN0cy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGZvciAoYXV0byYg
cG9saWN5IDogbV9wb2xpY2llcykgeworICAgICAgICBpZiAocG9saWN5LmdldCgpLT5kaXJlY3Rp
dmVDb250YWluc0FsbEhhc2hlcyhkaWdlc3RzKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwor
ICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKwogdGVtcGxhdGU8dHlwZW5hbWUgUHJlZGlj
YXRlPgogQ29udGVudFNlY3VyaXR5UG9saWN5OjpIYXNoSW5FbmZvcmNlZEFuZFJlcG9ydE9ubHlQ
b2xpY2llc1BhaXIgQ29udGVudFNlY3VyaXR5UG9saWN5OjpmaW5kSGFzaE9mQ29udGVudEluUG9s
aWNpZXMoY29uc3QgUHJlZGljYXRlJiBwcmVkaWNhdGUsIFN0cmluZ1ZpZXcgY29udGVudCwgT3B0
aW9uU2V0PENvbnRlbnRTZWN1cml0eVBvbGljeUhhc2hBbGdvcml0aG0+IGFsZ29yaXRobXMpIGNv
bnN0CiB7CkBAIC02MjEsNyArNjUzLDcgQEAgYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFs
bG93Q2hpbGRGcmFtZUZyb21Tb3VyY2UoY29uc3QgVVJMJiB1cmwsIFJlZGlyZWN0UmUKICAgICBy
ZXR1cm4gYWxsUG9saWNpZXNBbGxvdyhXVEZNb3ZlKGhhbmRsZVZpb2xhdGVkRGlyZWN0aXZlKSwg
JkNvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3Q6OnZpb2xhdGVkRGlyZWN0aXZlRm9y
RnJhbWUsIHVybCwgcmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkID09IFJlZGlyZWN0UmVzcG9uc2VS
ZWNlaXZlZDo6WWVzKTsKIH0KIAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93UmVz
b3VyY2VGcm9tU291cmNlKGNvbnN0IFVSTCYgdXJsLCBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQg
cmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBjb25zdCBjaGFyKiBuYW1lLCBSZXNvdXJjZVByZWRp
Y2F0ZSByZXNvdXJjZVByZWRpY2F0ZSwgY29uc3QgVVJMJiBwcmVSZWRpcmVjdFVSTCkgY29uc3QK
K2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1Jlc291cmNlRnJvbVNvdXJjZShjb25z
dCBVUkwmIHVybCwgUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkIHJlZGlyZWN0UmVzcG9uc2VSZWNl
aXZlZCwgY29uc3QgY2hhciogbmFtZSwgUmVzb3VyY2VQcmVkaWNhdGUgcmVzb3VyY2VQcmVkaWNh
dGUsIGNvbnN0IFVSTCYgcHJlUmVkaXJlY3RVUkwsIGNvbnN0IFN0cmluZyYgc3ViUmVzb3VyY2VJ
bnRlZ3JpdHkpIGNvbnN0CiB7CiAgICAgaWYgKExlZ2FjeVNjaGVtZVJlZ2lzdHJ5OjpzY2hlbWVT
aG91bGRCeXBhc3NDb250ZW50U2VjdXJpdHlQb2xpY3kodXJsLnByb3RvY29sKCkudG9TdHJpbmdX
aXRob3V0Q29weWluZygpKSkKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC02MzIsNiArNjY0LDEw
IEBAIGJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1Jlc291cmNlRnJvbVNvdXJjZShj
b25zdCBVUkwmIHVybCwgUmVkaXJlY3RSZXNwCiAgICAgICAgIFN0cmluZyBjb25zb2xlTWVzc2Fn
ZSA9IGNvbnNvbGVNZXNzYWdlRm9yVmlvbGF0aW9uKG5hbWUsIHZpb2xhdGVkRGlyZWN0aXZlLCBi
bG9ja2VkVVJMLCAiUmVmdXNlZCB0byBsb2FkIik7CiAgICAgICAgIHJlcG9ydFZpb2xhdGlvbihu
YW1lLCB2aW9sYXRlZERpcmVjdGl2ZSwgYmxvY2tlZFVSTC5zdHJpbmcoKSwgY29uc29sZU1lc3Nh
Z2UsIHNvdXJjZVVSTCwgU3RyaW5nVmlldygpLCBzb3VyY2VQb3NpdGlvbik7CiAgICAgfTsKKwor
ICAgIGlmIChtYXRjaEFsbFNSSUhhc2hlc0luUG9saWNpZXMoc3ViUmVzb3VyY2VJbnRlZ3JpdHkp
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIHJldHVybiBhbGxQb2xpY2llc0FsbG93KFdU
Rk1vdmUoaGFuZGxlVmlvbGF0ZWREaXJlY3RpdmUpLCByZXNvdXJjZVByZWRpY2F0ZSwgdXJsLCBy
ZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgPT0gUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkOjpZZXMp
OwogfQogCkBAIC02NDAsMTIgKzY3NiwxMiBAQCBib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
YWxsb3dDaGlsZENvbnRleHRGcm9tU291cmNlKGNvbnN0IFVSTCYgdXJsLCBSZWRpcmVjdAogICAg
IHJldHVybiBhbGxvd1Jlc291cmNlRnJvbVNvdXJjZSh1cmwsIHJlZGlyZWN0UmVzcG9uc2VSZWNl
aXZlZCwgQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTmFtZXM6OmNoaWxkU3JjLCAmQ29u
dGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdDo6dmlvbGF0ZWREaXJlY3RpdmVGb3JDaGls
ZENvbnRleHQsIHByZVJlZGlyZWN0VVJMKTsKIH0KIAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xp
Y3k6OmFsbG93U2NyaXB0RnJvbVNvdXJjZShjb25zdCBVUkwmIHVybCwgUmVkaXJlY3RSZXNwb25z
ZVJlY2VpdmVkIHJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCwgY29uc3QgVVJMJiBwcmVSZWRpcmVj
dFVSTCkgY29uc3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1NjcmlwdEZyb21T
b3VyY2UoY29uc3QgVVJMJiB1cmwsIFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCByZWRpcmVjdFJl
c3BvbnNlUmVjZWl2ZWQsIGNvbnN0IFVSTCYgcHJlUmVkaXJlY3RVUkwsIGNvbnN0IFN0cmluZyYg
c3ViUmVzb3VyY2VJbnRlZ3JpdHkpIGNvbnN0CiB7CiAgICAgaWYgKHNob3VsZFBlcmZvcm1FYXJs
eUNTUENoZWNrKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgcmV0dXJuIGFsbG93UmVz
b3VyY2VGcm9tU291cmNlKHVybCwgcmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBDb250ZW50U2Vj
dXJpdHlQb2xpY3lEaXJlY3RpdmVOYW1lczo6c2NyaXB0U3JjLCAmQ29udGVudFNlY3VyaXR5UG9s
aWN5RGlyZWN0aXZlTGlzdDo6dmlvbGF0ZWREaXJlY3RpdmVGb3JTY3JpcHQsIHByZVJlZGlyZWN0
VVJMKTsKKyAgICByZXR1cm4gYWxsb3dSZXNvdXJjZUZyb21Tb3VyY2UodXJsLCByZWRpcmVjdFJl
c3BvbnNlUmVjZWl2ZWQsIENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZU5hbWVzOjpzY3Jp
cHRTcmMsICZDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0Ojp2aW9sYXRlZERpcmVj
dGl2ZUZvclNjcmlwdCwgcHJlUmVkaXJlY3RVUkwsIHN1YlJlc291cmNlSW50ZWdyaXR5KTsKIH0K
IAogYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93SW1hZ2VGcm9tU291cmNlKGNvbnN0
IFVSTCYgdXJsLCBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgcmVkaXJlY3RSZXNwb25zZVJlY2Vp
dmVkLCBjb25zdCBVUkwmIHByZVJlZGlyZWN0VVJMKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuaAppbmRleCBlY2ZlNTJhNzU0ZmMwNjNi
ZTYwM2Q1OWUzMjA3YzEzYmE2NTQ1ZGZiLi41NThlMzlhZWZlN2QwOWI0OTk2ZGFiZjg3MDFmM2Zh
OWM0ZWQwNjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2Vj
dXJpdHlQb2xpY3kuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJp
dHlQb2xpY3kuaApAQCAtMTEwLDcgKzExMCw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9S
VCBib29sIG92ZXJyaWRlc1hGcmFtZU9wdGlvbnMoKSBjb25zdDsKIAogICAgIGVudW0gY2xhc3Mg
UmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkIHsgTm8sIFllcyB9OwotICAgIFdFQkNPUkVfRVhQT1JU
IGJvb2wgYWxsb3dTY3JpcHRGcm9tU291cmNlKGNvbnN0IFVSTCYsIFJlZGlyZWN0UmVzcG9uc2VS
ZWNlaXZlZCA9IFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZDo6Tm8sIGNvbnN0IFVSTCYgcHJlUmVk
aXJlY3RVUkwgPSBVUkwoKSkgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBhbGxvd1Nj
cmlwdEZyb21Tb3VyY2UoY29uc3QgVVJMJiwgUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkID0gUmVk
aXJlY3RSZXNwb25zZVJlY2VpdmVkOjpObywgY29uc3QgVVJMJiBwcmVSZWRpcmVjdFVSTCA9IFVS
TCgpLCBjb25zdCBTdHJpbmcmID0gbnVsbFN0cmluZygpKSBjb25zdDsKICAgICBib29sIGFsbG93
SW1hZ2VGcm9tU291cmNlKGNvbnN0IFVSTCYsIFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCA9IFJl
ZGlyZWN0UmVzcG9uc2VSZWNlaXZlZDo6Tm8sIGNvbnN0IFVSTCYgcHJlUmVkaXJlY3RVUkwgPSBV
UkwoKSkgY29uc3Q7CiAgICAgYm9vbCBhbGxvd1N0eWxlRnJvbVNvdXJjZShjb25zdCBVUkwmLCBS
ZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgPSBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQ6Ok5vLCBj
b25zdCBVUkwmIHByZVJlZGlyZWN0VVJMID0gVVJMKCkpIGNvbnN0OwogICAgIGJvb2wgYWxsb3dG
b250RnJvbVNvdXJjZShjb25zdCBVUkwmLCBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgPSBSZWRp
cmVjdFJlc3BvbnNlUmVjZWl2ZWQ6Ok5vLCBjb25zdCBVUkwmIHByZVJlZGlyZWN0VVJMID0gVVJM
KCkpIGNvbnN0OwpAQCAtMjE1LDkgKzIxNSwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgc2hvdWxk
UGVyZm9ybUVhcmx5Q1NQQ2hlY2soKSBjb25zdDsKICAgICAKICAgICB1c2luZyBSZXNvdXJjZVBy
ZWRpY2F0ZSA9IGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZSAqKENvbnRlbnRT
ZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3Q6OiopKGNvbnN0IFVSTCAmLCBib29sKSBjb25zdDsK
LSAgICBib29sIGFsbG93UmVzb3VyY2VGcm9tU291cmNlKGNvbnN0IFVSTCYsIFJlZGlyZWN0UmVz
cG9uc2VSZWNlaXZlZCwgY29uc3QgY2hhciosIFJlc291cmNlUHJlZGljYXRlLCBjb25zdCBVUkwm
IHByZVJlZGlyZWN0VVJMID0gVVJMKCkpIGNvbnN0OworICAgIGJvb2wgYWxsb3dSZXNvdXJjZUZy
b21Tb3VyY2UoY29uc3QgVVJMJiwgUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBjb25zdCBjaGFy
KiwgUmVzb3VyY2VQcmVkaWNhdGUsIGNvbnN0IFVSTCYgcHJlUmVkaXJlY3RVUkwgPSBVUkwoKSwg
Y29uc3QgU3RyaW5nJiA9IG51bGxTdHJpbmcoKSkgY29uc3Q7CiAKICAgICB1c2luZyBIYXNoSW5F
bmZvcmNlZEFuZFJlcG9ydE9ubHlQb2xpY2llc1BhaXIgPSBzdGQ6OnBhaXI8Ym9vbCwgYm9vbD47
CisgICAgYm9vbCBtYXRjaEFsbFNSSUhhc2hlc0luUG9saWNpZXMoY29uc3QgU3RyaW5nJikgY29u
c3QgV0FSTl9VTlVTRURfUkVUVVJOOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFByZWRpY2F0ZT4g
SGFzaEluRW5mb3JjZWRBbmRSZXBvcnRPbmx5UG9saWNpZXNQYWlyIGZpbmRIYXNoT2ZDb250ZW50
SW5Qb2xpY2llcyhjb25zdCBQcmVkaWNhdGUmLCBTdHJpbmdWaWV3IGNvbnRlbnQsIE9wdGlvblNl
dDxDb250ZW50U2VjdXJpdHlQb2xpY3lIYXNoQWxnb3JpdGhtPikgY29uc3QgV0FSTl9VTlVTRURf
UkVUVVJOOwogCiAgICAgdm9pZCByZXBvcnRWaW9sYXRpb24oY29uc3QgU3RyaW5nJiBlZmZlY3Rp
dmVWaW9sYXRlZERpcmVjdGl2ZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZl
JiB2aW9sYXRlZERpcmVjdGl2ZSwgY29uc3QgU3RyaW5nJiBibG9ja2VkVVJMLCBjb25zdCBTdHJp
bmcmIGNvbnNvbGVNZXNzYWdlLCBKU0M6OkpTR2xvYmFsT2JqZWN0KikgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3Rp
dmVMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGlj
eURpcmVjdGl2ZUxpc3QuY3BwCmluZGV4IDExMTE3MWNlODMxOWM3MWNkNDFjNjI0ZjQ5NzUzYzVi
Y2RjOWY4ODMuLjk4M2Q1YzFlMTIwMGIwYTdiZTAzY2JkZWYxM2Q4ZTM0YjQwZTM3MGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVj
dGl2ZUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0
eVBvbGljeURpcmVjdGl2ZUxpc3QuY3BwCkBAIC0yNTUsNiArMjU1LDE1IEBAIGNvbnN0IENvbnRl
bnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZSogQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZl
TGlzdDo6dmlvbGF0CiAgICAgcmV0dXJuIG9wZXJhdGl2ZURpcmVjdGl2ZTsKIH0KIAorYm9vbCBD
b250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0OjpkaXJlY3RpdmVDb250YWluc0FsbEhh
c2hlcyhjb25zdCBWZWN0b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4mIGhhc2hlcykgY29u
c3QKK3sKKyAgICBhdXRvKiBvcGVyYXRpdmVEaXJlY3RpdmUgPSB0aGlzLT5vcGVyYXRpdmVEaXJl
Y3RpdmUobV9zY3JpcHRTcmMuZ2V0KCksIENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZU5h
bWVzOjpzY3JpcHRTcmMpOworICAgIGlmICghb3BlcmF0aXZlRGlyZWN0aXZlKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gb3BlcmF0aXZlRGlyZWN0aXZlLT5jb250YWluc0Fs
bEhhc2hlcyhoYXNoZXMpOworfQorCiBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3Rp
dmUqIENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3Q6OnZpb2xhdGVkRGlyZWN0aXZl
Rm9yU3R5bGVIYXNoKGNvbnN0IFZlY3RvcjxDb250ZW50U2VjdXJpdHlQb2xpY3lIYXNoPiYgaGFz
aGVzKSBjb25zdAogewogICAgIGF1dG8qIG9wZXJhdGl2ZURpcmVjdGl2ZSA9IHRoaXMtPm9wZXJh
dGl2ZURpcmVjdGl2ZShtX3N0eWxlU3JjLmdldCgpLCBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJl
Y3RpdmVOYW1lczo6c3R5bGVTcmMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9j
c3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5oCmluZGV4IGMzZTIw
ODQwZDg2YzEwZmMwMjM0YWQ0ZTk2NmY5MGI2ZGQwZDVkODkuLjFiYzRkMGFjMzdmNTZjZTc1YWJh
ZjVjMDhmNDhkMjBiZTI0YWY5YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3Nw
L0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0LmgKQEAgLTc4LDYg
Kzc4LDggQEAgcHVibGljOgogICAgIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2
ZSogdmlvbGF0ZWREaXJlY3RpdmVGb3JTY3JpcHQoY29uc3QgVVJMJiwgYm9vbCBkaWRSZWNlaXZl
UmVkaXJlY3RSZXNwb25zZSkgY29uc3Q7CiAgICAgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5
RGlyZWN0aXZlKiB2aW9sYXRlZERpcmVjdGl2ZUZvclN0eWxlKGNvbnN0IFVSTCYsIGJvb2wgZGlk
UmVjZWl2ZVJlZGlyZWN0UmVzcG9uc2UpIGNvbnN0OwogCisgICAgYm9vbCBkaXJlY3RpdmVDb250
YWluc0FsbEhhc2hlcyhjb25zdCBWZWN0b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4mKSBj
b25zdDsKKwogICAgIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZSogZGVmYXVs
dFNyYygpIGNvbnN0IHsgcmV0dXJuIG1fZGVmYXVsdFNyYy5nZXQoKTsgfQogCiAgICAgYm9vbCBo
YXNCbG9ja0FsbE1peGVkQ29udGVudERpcmVjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1faGFzQmxv
Y2tBbGxNaXhlZENvbnRlbnREaXJlY3RpdmU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdC5jcHAKaW5kZXgg
NDlkYTQ0YTlkY2MyYTRiM2ZiOGJmMTk4ZmQ5ZDdhNDU4NzdhMmQwMi4uZGNmZTUyZGExMDgyOWUw
NmFkZjU0YTJiYzljYjU4MGIxZmVmOTY0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdC5jcHAKQEAgLTE1
NSw2ICsxNTUsMTYgQEAgYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0OjptYXRj
aGVzKGNvbnN0IFZlY3RvcjxDb250ZW50U2VjdXJpdHlQb2xpY3kKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdDo6bWF0Y2hlc0FsbChj
b25zdCBWZWN0b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4mIGhhc2hlcykgY29uc3QKK3sK
KyAgICBmb3IgKGF1dG8mIGhhc2ggOiBoYXNoZXMpIHsKKyAgICAgICAgaWYgKCFtX2hhc2hlcy5j
b250YWlucyhoYXNoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBy
ZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0Ojpt
YXRjaGVzKGNvbnN0IFN0cmluZyYgbm9uY2UpIGNvbnN0CiB7CiAgICAgaWYgKG5vbmNlLmlzRW1w
dHkoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0
eVBvbGljeVNvdXJjZUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1
cml0eVBvbGljeVNvdXJjZUxpc3QuaAppbmRleCAzNzk0NWU2Y2IwM2YzMWYzMDMxMzg2ODRhYzIy
ODE5MjNiNmMzNmQ1Li5lNGY4Yzg3OWM1NDAzZjU5MWRmMjM0ZTZhMWM4YWI5ZmE1NTljY2Y4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lT
b3VyY2VMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5
UG9saWN5U291cmNlTGlzdC5oCkBAIC00NSw2ICs0NSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wg
bWF0Y2hlcyhjb25zdCBVUkwmLCBib29sIGRpZFJlY2VpdmVSZWRpcmVjdFJlc3BvbnNlKSBjb25z
dDsKICAgICBib29sIG1hdGNoZXMoY29uc3QgVmVjdG9yPENvbnRlbnRTZWN1cml0eVBvbGljeUhh
c2g+JikgY29uc3Q7CisgICAgYm9vbCBtYXRjaGVzQWxsKGNvbnN0IFZlY3RvcjxDb250ZW50U2Vj
dXJpdHlQb2xpY3lIYXNoPiYpIGNvbnN0OwogICAgIGJvb2wgbWF0Y2hlcyhjb25zdCBTdHJpbmcm
IG5vbmNlKSBjb25zdDsKIAogICAgIE9wdGlvblNldDxDb250ZW50U2VjdXJpdHlQb2xpY3lIYXNo
QWxnb3JpdGhtPiBoYXNoQWxnb3JpdGhtc1VzZWQoKSBjb25zdCB7IHJldHVybiBtX2hhc2hBbGdv
cml0aG1zVXNlZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVu
dFNlY3VyaXR5UG9saWN5U291cmNlTGlzdERpcmVjdGl2ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0RGlyZWN0aXZlLmNwcAppbmRl
eCAxZTBiZDMyMTM5NGRjNGYyNWE0MWIwZjU3MTcyN2U2OTFhYTBjNjVhLi5iMDY5Y2FmNDEzZDFm
NzhmM2I4Yjc0MzhlM2YwNzA5ZDVkNjFmNzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0RGlyZWN0aXZlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0
RGlyZWN0aXZlLmNwcApAQCAtNTIsNiArNTIsMTEgQEAgYm9vbCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lTb3VyY2VMaXN0RGlyZWN0aXZlOjphbGxvd3MoY29uc3QgU3RyaW5nJiBub25jZSkgY29uc3QK
ICAgICByZXR1cm4gbV9zb3VyY2VMaXN0Lm1hdGNoZXMobm9uY2UpOwogfQogCitib29sIENvbnRl
bnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3RpdmU6OmNvbnRhaW5zQWxsSGFzaGVzKGNv
bnN0IFZlY3RvcjxDb250ZW50U2VjdXJpdHlQb2xpY3lIYXNoPiYgaGFzaGVzKSBjb25zdAorewor
ICAgIHJldHVybiBtX3NvdXJjZUxpc3QubWF0Y2hlc0FsbChoYXNoZXMpOworfQorCiBib29sIENv
bnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3RpdmU6OmFsbG93cyhjb25zdCBWZWN0
b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4mIGhhc2hlcykgY29uc3QKIHsKICAgICByZXR1
cm4gbV9zb3VyY2VMaXN0Lm1hdGNoZXMoaGFzaGVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3RpdmUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3RE
aXJlY3RpdmUuaAppbmRleCA3OGJhOTVhODFkMDEzOTM2OGQzODdmMWRkZjA0NTVkNWRkOWNlMzBk
Li5jMzU0YTFjZTNlYmEzODljMzRmOTFmM2Q4NmRlOTc3Mjc4ZTBiYjBiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0RGly
ZWN0aXZlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9s
aWN5U291cmNlTGlzdERpcmVjdGl2ZS5oCkBAIC00MCw2ICs0MCw3IEBAIHB1YmxpYzoKICAgICBl
bnVtIGNsYXNzIFNob3VsZEFsbG93RW1wdHlVUkxJZlNvdXJjZUxpc3RJc05vdE5vbmUgeyBObywg
WWVzIH07CiAgICAgYm9vbCBhbGxvd3MoY29uc3QgVVJMJiwgYm9vbCBkaWRSZWNlaXZlUmVkaXJl
Y3RSZXNwb25zZSwgU2hvdWxkQWxsb3dFbXB0eVVSTElmU291cmNlTGlzdElzTm90Tm9uZSk7CiAg
ICAgYm9vbCBhbGxvd3MoY29uc3QgVmVjdG9yPENvbnRlbnRTZWN1cml0eVBvbGljeUhhc2g+Jikg
Y29uc3Q7CisgICAgYm9vbCBjb250YWluc0FsbEhhc2hlcyhjb25zdCBWZWN0b3I8Q29udGVudFNl
Y3VyaXR5UG9saWN5SGFzaD4mKSBjb25zdDsKICAgICBib29sIGFsbG93VW5zYWZlSGFzaGVzKGNv
bnN0IFZlY3RvcjxDb250ZW50U2VjdXJpdHlQb2xpY3lIYXNoPiYpIGNvbnN0OwogICAgIGJvb2wg
YWxsb3dzKGNvbnN0IFN0cmluZyYgbm9uY2UpIGNvbnN0OwogICAgIGJvb2wgYWxsb3dJbmxpbmUo
KSBjb25zdCB7IHJldHVybiBtX3NvdXJjZUxpc3QuYWxsb3dJbmxpbmUoKTsgfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGMy
NTRjMGUyYjA5ODA2MmRkYmIxYjk4YTE1Y2IzY2YyZjg2YjhkNzcuLjcxMDEwMzE3MDdhMjM2YzJl
M2E4YzYzNTQ4ODU3ZWIzZmNhNzhkMDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0xMi0w
NSAgUGF0cmljayBHcmlmZmlzICA8cGdyaWZmaXNAaWdhbGlhLmNvbT4KKworICAgICAgICBDU1A6
IEFsbG93IGV4dGVybmFsIHNjcmlwdHMgd2l0aCBTUkkgaGFzaGVzIG1hdGNoaW5nIENTUAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzOTExCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIHRlc3Rz
IHRvIGFjY2VwdCBiYXNlNjQgd2l0aCBleHRyYSBwYWRkaW5nLgorCisgICAgICAgICogaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NjcmlwdGhhc2gtdGVzdHMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5LzEuMS9zY3JpcHRoYXNoLXRlc3RzLmh0bWw6CisKIDIwMjEtMTItMDYgIEFyY2Fk
eSBHb2xkbWludHMtT3Jsb3YgIDxhZ29sZG1pbnRzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dU
S11bV1BFXSBNYXRobWwgYXNzZXJ0cyB3aXRoIGludmlzaWJsZSBvcGVyYXRvcnMKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDAzNWNmZWQ4Mzg5YWYyOGI5NDIyNWJjMTlhNWU3M2Mw
OTY2ZDAxMGQuLjJiM2I1MDUzNjNkMzhkZjUzODllYTQ1ODIzNDY0ZDEwMGM2ZDljZTkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTEyLTA1ICBQ
YXRyaWNrIEdyaWZmaXMgIDxwZ3JpZmZpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIENTUDogQWxs
b3cgZXh0ZXJuYWwgc2NyaXB0cyB3aXRoIFNSSSBoYXNoZXMgbWF0Y2hpbmcgQ1NQCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5MTEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgZXhwZWN0YXRp
b25zIHdpdGggbW9yZSBwYXNzZXMuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY29u
dGVudC1zZWN1cml0eS1wb2xpY3kvc2NyaXB0LXNyYy9zY3JpcHQtc3JjLXJlcG9ydC1vbmx5LXBv
bGljeS13b3Jrcy13aXRoLWV4dGVybmFsLWhhc2gtcG9saWN5LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0eS1wb2xpY3kvc2NyaXB0LXNy
Yy9zY3JpcHQtc3JjLXNyaV9oYXNoLnN1Yi1leHBlY3RlZC50eHQ6CisKIDIwMjEtMTItMDYgIFRh
ZGV1IFphZ2FsbG8gIDx0emFnYWxsb0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVzdG9yZSBuYXZp
Z2F0b3IuaGFyZHdhcmVDb25jdXJyZW5jeQpAQCAtMzYsNyArNDgsNiBAQAogICAgICAgICBSZWJh
c2VsaW5lIFdQVCB0ZXN0cyBub3cgdGhhdCBtb3JlIGNoZWNrcyBhcmUgcGFzc2luZy4KIAogICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy9jb25zdHJhaW50
cy9mb3JtLXZhbGlkYXRpb24tdmFsaWRpdHktdmFsaWQtZXhwZWN0ZWQudHh0OgotCiAyMDIxLTEy
LTAyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgaHRtbC9zZW1h
bnRpY3MvZm9ybXMvY29uc3RyYWludHMvaW5wdXQtbnVtYmVyLXZhbGlkaXR5LWR5bmFtaWMtdmFs
dWUtbm8tY2hhbmdlLmh0bWwgV1BUIHRlc3QgaXMgZmFpbGluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3Njcmlw
dGhhc2gtdGVzdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NjcmlwdGhhc2gtdGVzdHMtZXhwZWN0ZWQudHh0
CmluZGV4IDczOTYzYTZhM2ZiOWQ5ZDQ1MWNmNDU2ZDJkNzgzNjQxNzg4OTc5Y2IuLjE0OTQ5YWUz
M2NkZWRjZWMwNGRlNTEwMWM0YWNmZDIxMzc2MzNiNjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zY3JpcHRoYXNo
LXRlc3RzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2NyaXB0aGFzaC10ZXN0cy1leHBlY3RlZC50eHQK
QEAgLTUzLDcgKzUzLDcgQEAgUEFTUyAiSGFzaCB3aXRob3V0IHByZWZpeCIgZGlkIG5vdCBydW4g
aW5saW5lIHNjcmlwdC4KIFBBU1MgIlNIQS0yNTYgaGFzaCB3aXRoIFNIQS0zODQgcHJlZml4IiBk
aWQgbm90IHJ1biBpbmxpbmUgc2NyaXB0LgogUEFTUyAiU0hBLTI1NiBoYXNoIHdpdGggU0hBLTUx
MiBwcmVmaXgiIGRpZCBub3QgcnVuIGlubGluZSBzY3JpcHQuCiBQQVNTICJNYWxmb3JtZWQgU0hB
LTI1NiBoYXNoIChlcXVhbCBzaWduIGluIGRpc2FsbG93ZWQgcG9zaXRpb24pIiBkaWQgbm90IHJ1
biBpbmxpbmUgc2NyaXB0LgotUEFTUyAiU0hBLTI1NiBoYXNoIHdpdGggb25lIGV4dHJhbmVvdXMg
ZXF1YWwgc2lnbiIgZGlkIG5vdCBydW4gaW5saW5lIHNjcmlwdC4KK1BBU1MgIlNIQS0yNTYgaGFz
aCB3aXRoIG9uZSBleHRyYW5lb3VzIGVxdWFsIHNpZ24iIGRpZCBydW4gaW5saW5lIHNjcmlwdC4K
IFBBU1MgIlNIQS0yNTYgaGFzaCB3aXRoIHR3byBleHRyYW5lb3VzIGVxdWFsIHNpZ25zIiBkaWQg
bm90IHJ1biBpbmxpbmUgc2NyaXB0LgogUEFTUyAiTWFsZm9ybWVkIGhhc2ggc291cmNlIiBkaWQg
bm90IHJ1biBpbmxpbmUgc2NyaXB0LgogUEFTUyAiSGFzaCBzb3VyY2Ugd2l0aG91dCBoYXNoIiBk
aWQgbm90IHJ1biBpbmxpbmUgc2NyaXB0LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NjcmlwdGhhc2gtdGVzdHMu
aHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5LzEuMS9zY3JpcHRoYXNoLXRlc3RzLmh0bWwKaW5kZXggMjUyNmNmNmI3NzYzMTIwMjNjODA4
OGQ0MjVhMDUwNWVlNWVkNjIwZS4uOWQyNjJmNjVjZmI2NTIwY2M0MTAzMzM2NjZhNTkzN2MxYjdj
ODcxMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvMS4xL3NjcmlwdGhhc2gtdGVzdHMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2NyaXB0aGFz
aC10ZXN0cy5odG1sCkBAIC0xNTksNyArMTU5LDcgQEAgdmFyIHRlc3RzID0gWwogICAgIGNoYXJz
ZXQ6ICJVVEY4IiwKICAgICBzY3JpcHQ6IGVuY29kZVVSSUNvbXBvbmVudCgiZGlkUnVuSW5saW5l
U2NyaXB0ID0gdHJ1ZTsiKSwKICAgICBoYXNoU291cmNlOiAiJ3NoYTI1Ni0vdkVUMnJWQTZXV1NO
WThYWUJsK0JxQUwwZ1RGMGZ6dzdlb3ZRUUcraE5BPT0nIiwKLSAgICBleHBlY3RlZFJlc3VsdDog
RG9Ob3RSdW5JbmxpbmVTY3JpcHQsCisgICAgZXhwZWN0ZWRSZXN1bHQ6IFJ1bklubGluZVNjcmlw
dCwKIH0sCiB7CiAgICAgbmFtZTogIlNIQS0yNTYgaGFzaCB3aXRoIHR3byBleHRyYW5lb3VzIGVx
dWFsIHNpZ25zIiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0eS1wb2xpY3kvc2NyaXB0LXNyYy9zY3JpcHQtc3Jj
LXJlcG9ydC1vbmx5LXBvbGljeS13b3Jrcy13aXRoLWV4dGVybmFsLWhhc2gtcG9saWN5LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29u
dGVudC1zZWN1cml0eS1wb2xpY3kvc2NyaXB0LXNyYy9zY3JpcHQtc3JjLXJlcG9ydC1vbmx5LXBv
bGljeS13b3Jrcy13aXRoLWV4dGVybmFsLWhhc2gtcG9saWN5LWV4cGVjdGVkLnR4dAppbmRleCA4
ODczZjZkYzkwYzQxMWQ2OGE2MmMzYzYxYzdiY2YwMWIzZTljN2VkLi43OTdmZDdmMDIyOWI5Y2Q5
ZmRhZGY3YzNkYjJhZGE3ZGExOWMxNGVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3NjcmlwdC1z
cmMvc2NyaXB0LXNyYy1yZXBvcnQtb25seS1wb2xpY3ktd29ya3Mtd2l0aC1leHRlcm5hbC1oYXNo
LXBvbGljeS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQtc3JjL3NjcmlwdC1z
cmMtcmVwb3J0LW9ubHktcG9saWN5LXdvcmtzLXdpdGgtZXh0ZXJuYWwtaGFzaC1wb2xpY3ktZXhw
ZWN0ZWQudHh0CkBAIC0xLDQgKzEsNiBAQAogCi1GQUlMIFNob3VsZCBmaXJlIHNlY3VyaXR5cG9s
aWN5dmlvbGF0aW9uIGV2ZW50IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZXBvcnQiIGJ1dCBn
b3QgImVuZm9yY2UiCi1GQUlMIEV4dGVybmFsIHNjcmlwdCBpbiBhIHNjcmlwdCB0YWcgd2l0aCBt
YXRjaGluZyBTUkkgaGFzaCBzaG91bGQgcnVuLiBhc3NlcnRfdHJ1ZTogRXh0ZXJuYWwgc2NyaXB0
IHJhbi4gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0hhcm5lc3MgRXJyb3IgKFRJTUVPVVQpLCBt
ZXNzYWdlID0gbnVsbAorCitOT1RSVU4gU2hvdWxkIGZpcmUgc2VjdXJpdHlwb2xpY3l2aW9sYXRp
b24gZXZlbnQKK1BBU1MgRXh0ZXJuYWwgc2NyaXB0IGluIGEgc2NyaXB0IHRhZyB3aXRoIG1hdGNo
aW5nIFNSSSBoYXNoIHNob3VsZCBydW4uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0eS1wb2xpY3kvc2NyaXB0
LXNyYy9zY3JpcHQtc3JjLXNyaV9oYXNoLnN1Yi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3Nj
cmlwdC1zcmMvc2NyaXB0LXNyYy1zcmlfaGFzaC5zdWItZXhwZWN0ZWQudHh0CmluZGV4IGYzZDcy
ZTQwYmI2MTNjYzY0MDMzMTg2NDM1MTkwZDFlYjZjNThjNGQuLjg3Mjc2NmY3OTU0OTQ4MGIzYzRm
Y2I3OThiNjA4NGY1ODRkM2I3MGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0eS1wb2xpY3kvc2NyaXB0LXNyYy9z
Y3JpcHQtc3JjLXNyaV9oYXNoLnN1Yi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9zY3Jp
cHQtc3JjL3NjcmlwdC1zcmMtc3JpX2hhc2guc3ViLWV4cGVjdGVkLnR4dApAQCAtMiwxNCArMiwx
NCBAQCBFeHRlcm5hbCBzY3JpcHRzIHdpdGggbWF0Y2hpbmcgU1JJIGhhc2ggc2hvdWxkIGJlIGFs
bG93ZWQuCiAKIAogUEFTUyBMb2FkIGFsbCB0aGUgdGVzdHMuCi1GQUlMIG1hdGNoaW5nIGludGVn
cml0eSBhc3NlcnRfdW5yZWFjaGVkOiBTY3JpcHQgc2hvdWxkIGxvYWQhIGh0dHA6Ly9sb2NhbGhv
c3Q6ODgwMC9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQtc3JjL3NpbXBsZVNvdXJjZWRT
Y3JpcHQuanMgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIG11bHRpcGxlIG1hdGNoaW5n
IGludGVncml0eSBhc3NlcnRfdW5yZWFjaGVkOiBTY3JpcHQgc2hvdWxkIGxvYWQhIGh0dHA6Ly9s
b2NhbGhvc3Q6ODgwMC9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQtc3JjL3NpbXBsZVNv
dXJjZWRTY3JpcHQuanMgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIG1hdGNoaW5nIGlu
dGVncml0eQorUEFTUyBtdWx0aXBsZSBtYXRjaGluZyBpbnRlZ3JpdHkKIFBBU1Mgbm8gaW50ZWdy
aXR5Ci1GQUlMIG1hdGNoaW5nIHBsdXMgdW5zdXBwb3J0ZWQgaW50ZWdyaXR5IGFzc2VydF91bnJl
YWNoZWQ6IFNjcmlwdCBzaG91bGQgbG9hZCEgaHR0cDovL2xvY2FsaG9zdDo4ODAwL2NvbnRlbnQt
c2VjdXJpdHktcG9saWN5L3NjcmlwdC1zcmMvc2ltcGxlU291cmNlZFNjcmlwdC5qcyBSZWFjaGVk
IHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgbWF0Y2hpbmcgcGx1cyB1bnN1cHBvcnRlZCBpbnRlZ3Jp
dHkKIFBBU1MgbWlzbWF0Y2hlZCBpbnRlZ3JpdHkKIFBBU1MgbXVsdGlwbGUgbWlzbWF0Y2hlZCBp
bnRlZ3JpdHkKIFBBU1MgcGFydGlhbGx5IG1hdGNoaW5nIGludGVncml0eQogRkFJTCBjcm9zc29y
aWdpbiBubyBpbnRlZ3JpdHkgYnV0IGFsbG93ZWQgaG9zdCBhc3NlcnRfdW5yZWFjaGVkOiBTY3Jp
cHQgc2hvdWxkIGxvYWQhIGh0dHA6Ly8xMjcuMC4wLjE6ODgwMC9jb250ZW50LXNlY3VyaXR5LXBv
bGljeS9zY3JpcHQtc3JjL2Nyb3Nzb3JpZ2luU2NyaXB0LmpzIFJlYWNoZWQgdW5yZWFjaGFibGUg
Y29kZQogRkFJTCBjcm9zc29yaWdpbiBtaXNtYXRjaGVkIGludGVncml0eSBidXQgYWxsb3dlZCBo
b3N0IGFzc2VydF91bnJlYWNoZWQ6IFNjcmlwdCBzaG91bGQgbG9hZCEgaHR0cDovLzEyNy4wLjAu
MTo4ODAwL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3NjcmlwdC1zcmMvY3Jvc3NvcmlnaW5TY3Jp
cHQuanMgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIEV4dGVybmFsIHNjcmlwdCBpbiBh
IHNjcmlwdCB0YWcgd2l0aCBtYXRjaGluZyBTUkkgaGFzaCBzaG91bGQgcnVuLiBhc3NlcnRfdHJ1
ZTogRXh0ZXJuYWwgc2NyaXB0IHJhbi4gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgRXh0
ZXJuYWwgc2NyaXB0IGluIGEgc2NyaXB0IHRhZyB3aXRoIG1hdGNoaW5nIFNSSSBoYXNoIHNob3Vs
ZCBydW4uCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446124</attachid>
            <date>2021-12-06 22:17:57 -0800</date>
            <delta_ts>2021-12-07 09:57:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233911-20211207001756.patch</filename>
            <type>text/plain</type>
            <size>28297</size>
            <attacher name="Patrick Griffis">pgriffis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjNlMzRlN2EyNjgzMGQ3
MjFlNWYzODgzNWM0YzdmZDBlM2E2NGY1NC4uMTdhOThmNjJmZDQxYjgxYmZmM2Q0NzZiMDkxZWU5
NTE1NjA4ZDY0YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTEyLTA1ICBQYXRy
aWNrIEdyaWZmaXMgIDxwZ3JpZmZpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIENTUDogQWxsb3cg
ZXh0ZXJuYWwgc2NyaXB0cyB3aXRoIFNSSSBoYXNoZXMgbWF0Y2hpbmcgQ1NQCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5MTEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgY2hhbmdlIGlu
IENTUDMgdGhhdCBhbGxvd3MgbG9hZGluZyBleHRlcm5hbAorICAgICAgICBzY3JpcHRzIHRoYXQg
aGF2ZSBTUkkgaGFzaGVzIG1hdGNoaW5nIENTUCBoYXNoZXMuCisgICAgICAgIGh0dHBzOi8vd3d3
LnczLm9yZy9UUi9DU1AzLyNleHRlcm5hbC1oYXNoCisKKyAgICAgICAgUmVzb3VyY2VDcnlwdG9n
cmFwaGljRGlnZXN0IHdhcyBjaGFuZ2VkIHRvIG5vdCB2YWxpZGF0ZSBwYWRkaW5nCisgICAgICAg
IGR1cmluZyBiYXNlNjQgZGVjb2Rpbmcgd2hpY2ggaXMgaGFybWxlc3MgYW5kIGZpeGVzIHBhcnNp
bmcgdGhlCisgICAgICAgIGhhc2hlcyB1c2VkIGluIFdQVCdzIHNjcmlwdC1zcmMtc3JpX2hhc2gu
c3ViLmh0bWwuCisKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6aXNBbGxvd2Vk
QnlDb250ZW50U2VjdXJpdHlQb2xpY3kpOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUNyeXB0
b2dyYXBoaWNEaWdlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VDcnlwdG9ncmFwaGlj
RGlnZXN0SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpkZWNvZGVFbmNvZGVkUmVzb3VyY2VDcnlw
dG9ncmFwaGljRGlnZXN0KToKKyAgICAgICAgKiBsb2FkZXIvU3VicmVzb3VyY2VJbnRlZ3JpdHku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VJbnRlZ3JpdHlNZXRhZGF0YSk6CisgICAgICAg
ICogbG9hZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5Lmg6CisgICAgICAgICogbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291
cmNlTG9hZGVyOjphbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3kgY29uc3QpOgorICAgICAg
ICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpwYXJzZVN1YlJlc291cmNlSW50ZWdyaXR5SW50b0RpZ2VzdHMpOgorICAgICAgICAoV2ViQ29y
ZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjptYXRjaEFsbFNSSUhhc2hlc0luUG9saWNpZXMgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1Jlc291
cmNlRnJvbVNvdXJjZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OmFsbG93U2NyaXB0RnJvbVNvdXJjZSBjb25zdCk6CisgICAgICAgICogcGFnZS9jc3Av
Q29udGVudFNlY3VyaXR5UG9saWN5Lmg6CisgICAgICAgICogcGFnZS9jc3AvQ29udGVudFNlY3Vy
aXR5UG9saWN5RGlyZWN0aXZlTGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2Vj
dXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0OjpkaXJlY3RpdmVDb250YWluc0FsbEhhc2hlcyBjb25z
dCk6CisgICAgICAgICogcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlz
dC5oOgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdDo6
bWF0Y2hlc0FsbCBjb25zdCk6CisgICAgICAgICogcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9s
aWN5U291cmNlTGlzdC5oOgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGlj
eVNvdXJjZUxpc3REaXJlY3RpdmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3Vy
aXR5UG9saWN5U291cmNlTGlzdERpcmVjdGl2ZTo6Y29udGFpbnNBbGxIYXNoZXMgY29uc3QpOgor
ICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3Rp
dmUuaDoKKwogMjAyMS0xMi0wNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIDxpbnB1dCB0eXBlPSJ0aW1lIj4ncyByYW5nZSBzaG91bGQgYmUgcmV2ZXJzaWJsZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNw
cAppbmRleCA5YTRkNGIyMTJmZGZkMjgxODQzNzZkNGI3MGM3ZGE0ZjNlYjdjODMyLi5jMTBkNWMx
ZGJlYmVmMDU1Mjg0M2RkOWZjMGE1MzNkZGI0NzkzYTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtNjg1LDcgKzY4NSw3
IEBAIGJvb2wgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyOjppc0FsbG93ZWRCeUNvbnRlbnRTZWN1
cml0eVBvbGljeShjb25zdCBVUkwmIHVybCwKICAgICBjYXNlIENvbnRlbnRTZWN1cml0eVBvbGlj
eUVuZm9yY2VtZW50OjpFbmZvcmNlQ29ubmVjdFNyY0RpcmVjdGl2ZToKICAgICAgICAgcmV0dXJu
IGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLmFsbG93Q29ubmVjdFRvU291cmNlKHVybCwgcmVkaXJl
Y3RSZXNwb25zZVJlY2VpdmVkLCBwcmVSZWRpcmVjdFVSTCk7CiAgICAgY2FzZSBDb250ZW50U2Vj
dXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RW5mb3JjZVNjcmlwdFNyY0RpcmVjdGl2ZToKLSAgICAg
ICAgcmV0dXJuIGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLmFsbG93U2NyaXB0RnJvbVNvdXJjZSh1
cmwsIHJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCwgcHJlUmVkaXJlY3RVUkwpOworICAgICAgICBy
ZXR1cm4gY29udGVudFNlY3VyaXR5UG9saWN5KCkuYWxsb3dTY3JpcHRGcm9tU291cmNlKHVybCwg
cmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBwcmVSZWRpcmVjdFVSTCwgbV9vcHRpb25zLmludGVn
cml0eSk7CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBmYWxz
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUNyeXB0b2dyYXBo
aWNEaWdlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlQ3J5cHRvZ3JhcGhp
Y0RpZ2VzdC5jcHAKaW5kZXggYzYyNzc2ODU4YTZkYzVhZmZkMzZkYzllNzg1YzhiZDI0NzJiYjc0
ZC4uNDg0MGYxNGNmMjVkZGYxZjYwMGFlOTZkYWM2M2Q5NzExYzhjOTQwNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdC5jcHAK
QEAgLTcxLDcgKzcxLDcgQEAgdGVtcGxhdGU8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4gc3RhdGlj
IHN0ZDo6b3B0aW9uYWw8UmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXMKIAogICAgIFN0cmluZ1Zp
ZXcgaGFzaFZhbHVlKGJlZ2luSGFzaFZhbHVlLCBidWZmZXIucG9zaXRpb24oKSAtIGJlZ2luSGFz
aFZhbHVlKTsKIAotICAgIGlmIChhdXRvIGRpZ2VzdCA9IGJhc2U2NERlY29kZShoYXNoVmFsdWUs
IEJhc2U2NERlY29kZU9wdGlvbnM6OlZhbGlkYXRlUGFkZGluZykpCisgICAgaWYgKGF1dG8gZGln
ZXN0ID0gYmFzZTY0RGVjb2RlKGhhc2hWYWx1ZSkpCiAgICAgICAgIHJldHVybiBSZXNvdXJjZUNy
eXB0b2dyYXBoaWNEaWdlc3QgeyAqYWxnb3JpdGhtLCBXVEZNb3ZlKCpkaWdlc3QpIH07CiAKICAg
ICBpZiAoYXV0byBkaWdlc3QgPSBiYXNlNjRVUkxEZWNvZGUoaGFzaFZhbHVlKSkKQEAgLTEyNSw3
ICsxMjUsNyBAQCBzdGQ6Om9wdGlvbmFsPEVuY29kZWRSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdl
c3Q+IHBhcnNlRW5jb2RlZENyeXB0b2dyYXBoaWNEaWdlcwogCiBzdGQ6Om9wdGlvbmFsPFJlc291
cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdD4gZGVjb2RlRW5jb2RlZFJlc291cmNlQ3J5cHRvZ3JhcGhp
Y0RpZ2VzdChjb25zdCBFbmNvZGVkUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0JiBlbmNvZGVk
RGlnZXN0KQogewotICAgIGlmIChhdXRvIGRpZ2VzdCA9IGJhc2U2NERlY29kZShlbmNvZGVkRGln
ZXN0LmRpZ2VzdCwgQmFzZTY0RGVjb2RlT3B0aW9uczo6VmFsaWRhdGVQYWRkaW5nKSkKKyAgICBp
ZiAoYXV0byBkaWdlc3QgPSBiYXNlNjREZWNvZGUoZW5jb2RlZERpZ2VzdC5kaWdlc3QpKQogICAg
ICAgICByZXR1cm4gUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0IHsgZW5jb2RlZERpZ2VzdC5h
bGdvcml0aG0sIFdURk1vdmUoKmRpZ2VzdCkgfTsKIAogICAgIGlmIChhdXRvIGRpZ2VzdCA9IGJh
c2U2NFVSTERlY29kZShlbmNvZGVkRGlnZXN0LmRpZ2VzdCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VJbnRlZ3JpdHkuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5LmNwcAppbmRleCBjNTIwODFiNDIxNjdiYTgwYzI3
NTcwOGNiZDk5NmQ4N2E4NTQ0MjJmLi5mNDNkY2Q4NGVkMzI1NGVjOTdhZGU5OGVmYTA5NWRmYmZk
MWUyZDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VJbnRl
Z3JpdHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUludGVncml0
eS5jcHAKQEAgLTk2LDcgKzk2LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHNwbGl0T25TcGFjZXMo
U3RyaW5nUGFyc2luZ0J1ZmZlcjxDaGFyYWN0ZXJUeXBlPiBidWZmZXIsIEZ1bmMKICAgICB9CiB9
CiAKLXN0YXRpYyBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxFbmNvZGVkUmVzb3VyY2VDcnlwdG9ncmFw
aGljRGlnZXN0Pj4gcGFyc2VJbnRlZ3JpdHlNZXRhZGF0YShjb25zdCBTdHJpbmcmIGludGVncml0
eU1ldGFkYXRhKQorc3RkOjpvcHRpb25hbDxWZWN0b3I8RW5jb2RlZFJlc291cmNlQ3J5cHRvZ3Jh
cGhpY0RpZ2VzdD4+IHBhcnNlSW50ZWdyaXR5TWV0YWRhdGEoY29uc3QgU3RyaW5nJiBpbnRlZ3Jp
dHlNZXRhZGF0YSkKIHsKICAgICBpZiAoaW50ZWdyaXR5TWV0YWRhdGEuaXNFbXB0eSgpKQogICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5LmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVz
b3VyY2VJbnRlZ3JpdHkuaAppbmRleCAxYmQ2ODY2OGVjYWVlMzcxZDBhNDQzNjE3MWRkMzA4ZGIz
NDI4NTk1Li4yNTM1YjhjMzZhMzg0ZWI4MDRhYzZmNzU3M2M0ZGNkMmM2ZGY3NmU2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VJbnRlZ3JpdHkuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VJbnRlZ3JpdHkuaApAQCAtMzMsNSArMzMs
NiBAQCBjbGFzcyBDYWNoZWRSZXNvdXJjZTsKIAogYm9vbCBtYXRjaEludGVncml0eU1ldGFkYXRh
KGNvbnN0IENhY2hlZFJlc291cmNlJiwgY29uc3QgU3RyaW5nJiBpbnRlZ3JpdHlNZXRhZGF0YSk7
CiBTdHJpbmcgaW50ZWdyaXR5TWlzbWF0Y2hEZXNjcmlwdGlvbihjb25zdCBDYWNoZWRSZXNvdXJj
ZSYsIGNvbnN0IFN0cmluZyYgaW50ZWdyaXR5TWV0YWRhdGEpOworc3RkOjpvcHRpb25hbDxWZWN0
b3I8RW5jb2RlZFJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdD4+IHBhcnNlSW50ZWdyaXR5TWV0
YWRhdGEoY29uc3QgU3RyaW5nJiBpbnRlZ3JpdHlNZXRhZGF0YSk7CiAKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4
IGZhMzgyMWFhYzEyNTJmOWU3MmFjOWNkOWZiNWFhY2E4NjYwODI0NTYuLjg0YzAxNGJkNjQzMGEx
ODJjY2ZkN2Y0MmM4NWZhMzhiYjdjNDBhZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApAQCAtNTAxLDcgKzUwMSw3IEBA
IGJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmFsbG93ZWRCeUNvbnRlbnRTZWN1cml0eVBvbGlj
eShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6
WFNMU3R5bGVTaGVldDoKICNlbmRpZgogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlNj
cmlwdDoKLSAgICAgICAgaWYgKCFtX2RvY3VtZW50LT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+
YWxsb3dTY3JpcHRGcm9tU291cmNlKHVybCwgcmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBwcmVS
ZWRpcmVjdFVSTCkpCisgICAgICAgIGlmICghbV9kb2N1bWVudC0+Y29udGVudFNlY3VyaXR5UG9s
aWN5KCktPmFsbG93U2NyaXB0RnJvbVNvdXJjZSh1cmwsIHJlZGlyZWN0UmVzcG9uc2VSZWNlaXZl
ZCwgcHJlUmVkaXJlY3RVUkwsIG9wdGlvbnMuaW50ZWdyaXR5KSkKICAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDYWNoZWRSZXNvdXJjZTo6VHlwZTo6
Q1NTU3R5bGVTaGVldDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRl
bnRTZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2Vj
dXJpdHlQb2xpY3kuY3BwCmluZGV4IGFjZjEzMWY1MGRlYmRkZjlmZjQ5NGQ2MjUwNzAxNzVjNzdh
MDE2MjkuLmRlNDJkZmUwMjlmMzgwODVmNTAyZDg5NWRiOTI2MzRjMzVkNDI3MTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcApAQCAt
NTIsNiArNTIsNyBAQAogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2Vj
dXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudC5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCisjaW5j
bHVkZSAiU3VicmVzb3VyY2VJbnRlZ3JpdHkuaCIKICNpbmNsdWRlICJUZXh0RW5jb2RpbmcuaCIK
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRDYWxsU3RhY2suaD4KICNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9TY3JpcHRDYWxsU3RhY2tGYWN0b3J5Lmg+CkBAIC0zNTUsNiArMzU2LDM3
IEBAIGJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxTY3JpcHRQb2xpY2llc0FsbG93KFZp
b2xhdGVkRGlyZWN0aXZlQ2FsbGJhY2smJiBjCiAgICAgcmV0dXJuIGlzQWxsb3dlZDsKIH0KIAor
c3RhdGljIFZlY3RvcjxSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3Q+IHBhcnNlU3ViUmVzb3Vy
Y2VJbnRlZ3JpdHlJbnRvRGlnZXN0cyhjb25zdCBTdHJpbmcmIHN1YlJlc291cmNlSW50ZWdyaXR5
KQoreworICAgIGF1dG8gZW5jb2RlZERpZ2VzdHMgPSBwYXJzZUludGVncml0eU1ldGFkYXRhKHN1
YlJlc291cmNlSW50ZWdyaXR5KTsKKyAgICBWZWN0b3I8UmVzb3VyY2VDcnlwdG9ncmFwaGljRGln
ZXN0PiBkZWNvZGVkRGlnZXN0czsKKworICAgIGlmICghZW5jb2RlZERpZ2VzdHMuaGFzX3ZhbHVl
KCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBmb3IgKGNvbnN0IGF1dG8mIGVuY29kZWRE
aWdlc3QgOiBlbmNvZGVkRGlnZXN0cy52YWx1ZSgpKSB7CisgICAgICAgIGF1dG8gZGVjb2RlZERp
Z2VzdCA9IGRlY29kZUVuY29kZWRSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3QoZW5jb2RlZERp
Z2VzdCk7CisgICAgICAgIGlmIChkZWNvZGVkRGlnZXN0Lmhhc192YWx1ZSgpKQorICAgICAgICAg
ICAgZGVjb2RlZERpZ2VzdHMuYXBwZW5kKGRlY29kZWREaWdlc3QudmFsdWUoKSk7CisgICAgfQor
CisgICAgcmV0dXJuIGRlY29kZWREaWdlc3RzOworfQorCitib29sIENvbnRlbnRTZWN1cml0eVBv
bGljeTo6bWF0Y2hBbGxTUklIYXNoZXNJblBvbGljaWVzKGNvbnN0IFN0cmluZyYgc3ViUmVzb3Vy
Y2VJbnRlZ3JpdHkpIGNvbnN0Cit7CisgICAgYXV0byBkaWdlc3RzID0gcGFyc2VTdWJSZXNvdXJj
ZUludGVncml0eUludG9EaWdlc3RzKHN1YlJlc291cmNlSW50ZWdyaXR5KTsKKyAgICBpZiAoZGln
ZXN0cy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGZvciAoYXV0byYg
cG9saWN5IDogbV9wb2xpY2llcykgeworICAgICAgICBpZiAocG9saWN5LmdldCgpLT5kaXJlY3Rp
dmVDb250YWluc0FsbEhhc2hlcyhkaWdlc3RzKSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwor
ICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKwogdGVtcGxhdGU8dHlwZW5hbWUgUHJlZGlj
YXRlPgogQ29udGVudFNlY3VyaXR5UG9saWN5OjpIYXNoSW5FbmZvcmNlZEFuZFJlcG9ydE9ubHlQ
b2xpY2llc1BhaXIgQ29udGVudFNlY3VyaXR5UG9saWN5OjpmaW5kSGFzaE9mQ29udGVudEluUG9s
aWNpZXMoY29uc3QgUHJlZGljYXRlJiBwcmVkaWNhdGUsIFN0cmluZ1ZpZXcgY29udGVudCwgT3B0
aW9uU2V0PENvbnRlbnRTZWN1cml0eVBvbGljeUhhc2hBbGdvcml0aG0+IGFsZ29yaXRobXMpIGNv
bnN0CiB7CkBAIC02MjEsNyArNjUzLDcgQEAgYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFs
bG93Q2hpbGRGcmFtZUZyb21Tb3VyY2UoY29uc3QgVVJMJiB1cmwsIFJlZGlyZWN0UmUKICAgICBy
ZXR1cm4gYWxsUG9saWNpZXNBbGxvdyhXVEZNb3ZlKGhhbmRsZVZpb2xhdGVkRGlyZWN0aXZlKSwg
JkNvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3Q6OnZpb2xhdGVkRGlyZWN0aXZlRm9y
RnJhbWUsIHVybCwgcmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkID09IFJlZGlyZWN0UmVzcG9uc2VS
ZWNlaXZlZDo6WWVzKTsKIH0KIAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93UmVz
b3VyY2VGcm9tU291cmNlKGNvbnN0IFVSTCYgdXJsLCBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQg
cmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBjb25zdCBjaGFyKiBuYW1lLCBSZXNvdXJjZVByZWRp
Y2F0ZSByZXNvdXJjZVByZWRpY2F0ZSwgY29uc3QgVVJMJiBwcmVSZWRpcmVjdFVSTCkgY29uc3QK
K2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1Jlc291cmNlRnJvbVNvdXJjZShjb25z
dCBVUkwmIHVybCwgUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkIHJlZGlyZWN0UmVzcG9uc2VSZWNl
aXZlZCwgY29uc3QgY2hhciogbmFtZSwgUmVzb3VyY2VQcmVkaWNhdGUgcmVzb3VyY2VQcmVkaWNh
dGUsIGNvbnN0IFVSTCYgcHJlUmVkaXJlY3RVUkwsIGNvbnN0IFN0cmluZyYgc3ViUmVzb3VyY2VJ
bnRlZ3JpdHkpIGNvbnN0CiB7CiAgICAgaWYgKExlZ2FjeVNjaGVtZVJlZ2lzdHJ5OjpzY2hlbWVT
aG91bGRCeXBhc3NDb250ZW50U2VjdXJpdHlQb2xpY3kodXJsLnByb3RvY29sKCkudG9TdHJpbmdX
aXRob3V0Q29weWluZygpKSkKICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC02MzIsNiArNjY0LDEw
IEBAIGJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1Jlc291cmNlRnJvbVNvdXJjZShj
b25zdCBVUkwmIHVybCwgUmVkaXJlY3RSZXNwCiAgICAgICAgIFN0cmluZyBjb25zb2xlTWVzc2Fn
ZSA9IGNvbnNvbGVNZXNzYWdlRm9yVmlvbGF0aW9uKG5hbWUsIHZpb2xhdGVkRGlyZWN0aXZlLCBi
bG9ja2VkVVJMLCAiUmVmdXNlZCB0byBsb2FkIik7CiAgICAgICAgIHJlcG9ydFZpb2xhdGlvbihu
YW1lLCB2aW9sYXRlZERpcmVjdGl2ZSwgYmxvY2tlZFVSTC5zdHJpbmcoKSwgY29uc29sZU1lc3Nh
Z2UsIHNvdXJjZVVSTCwgU3RyaW5nVmlldygpLCBzb3VyY2VQb3NpdGlvbik7CiAgICAgfTsKKwor
ICAgIGlmIChtYXRjaEFsbFNSSUhhc2hlc0luUG9saWNpZXMoc3ViUmVzb3VyY2VJbnRlZ3JpdHkp
KQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIHJldHVybiBhbGxQb2xpY2llc0FsbG93KFdU
Rk1vdmUoaGFuZGxlVmlvbGF0ZWREaXJlY3RpdmUpLCByZXNvdXJjZVByZWRpY2F0ZSwgdXJsLCBy
ZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgPT0gUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkOjpZZXMp
OwogfQogCkBAIC02NDAsMTIgKzY3NiwxMiBAQCBib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
YWxsb3dDaGlsZENvbnRleHRGcm9tU291cmNlKGNvbnN0IFVSTCYgdXJsLCBSZWRpcmVjdAogICAg
IHJldHVybiBhbGxvd1Jlc291cmNlRnJvbVNvdXJjZSh1cmwsIHJlZGlyZWN0UmVzcG9uc2VSZWNl
aXZlZCwgQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTmFtZXM6OmNoaWxkU3JjLCAmQ29u
dGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdDo6dmlvbGF0ZWREaXJlY3RpdmVGb3JDaGls
ZENvbnRleHQsIHByZVJlZGlyZWN0VVJMKTsKIH0KIAotYm9vbCBDb250ZW50U2VjdXJpdHlQb2xp
Y3k6OmFsbG93U2NyaXB0RnJvbVNvdXJjZShjb25zdCBVUkwmIHVybCwgUmVkaXJlY3RSZXNwb25z
ZVJlY2VpdmVkIHJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCwgY29uc3QgVVJMJiBwcmVSZWRpcmVj
dFVSTCkgY29uc3QKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1NjcmlwdEZyb21T
b3VyY2UoY29uc3QgVVJMJiB1cmwsIFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCByZWRpcmVjdFJl
c3BvbnNlUmVjZWl2ZWQsIGNvbnN0IFVSTCYgcHJlUmVkaXJlY3RVUkwsIGNvbnN0IFN0cmluZyYg
c3ViUmVzb3VyY2VJbnRlZ3JpdHkpIGNvbnN0CiB7CiAgICAgaWYgKHNob3VsZFBlcmZvcm1FYXJs
eUNTUENoZWNrKCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgcmV0dXJuIGFsbG93UmVz
b3VyY2VGcm9tU291cmNlKHVybCwgcmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBDb250ZW50U2Vj
dXJpdHlQb2xpY3lEaXJlY3RpdmVOYW1lczo6c2NyaXB0U3JjLCAmQ29udGVudFNlY3VyaXR5UG9s
aWN5RGlyZWN0aXZlTGlzdDo6dmlvbGF0ZWREaXJlY3RpdmVGb3JTY3JpcHQsIHByZVJlZGlyZWN0
VVJMKTsKKyAgICByZXR1cm4gYWxsb3dSZXNvdXJjZUZyb21Tb3VyY2UodXJsLCByZWRpcmVjdFJl
c3BvbnNlUmVjZWl2ZWQsIENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZU5hbWVzOjpzY3Jp
cHRTcmMsICZDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0Ojp2aW9sYXRlZERpcmVj
dGl2ZUZvclNjcmlwdCwgcHJlUmVkaXJlY3RVUkwsIHN1YlJlc291cmNlSW50ZWdyaXR5KTsKIH0K
IAogYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93SW1hZ2VGcm9tU291cmNlKGNvbnN0
IFVSTCYgdXJsLCBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgcmVkaXJlY3RSZXNwb25zZVJlY2Vp
dmVkLCBjb25zdCBVUkwmIHByZVJlZGlyZWN0VVJMKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuaAppbmRleCBlY2ZlNTJhNzU0ZmMwNjNi
ZTYwM2Q1OWUzMjA3YzEzYmE2NTQ1ZGZiLi41NThlMzlhZWZlN2QwOWI0OTk2ZGFiZjg3MDFmM2Zh
OWM0ZWQwNjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2Vj
dXJpdHlQb2xpY3kuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJp
dHlQb2xpY3kuaApAQCAtMTEwLDcgKzExMCw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9S
VCBib29sIG92ZXJyaWRlc1hGcmFtZU9wdGlvbnMoKSBjb25zdDsKIAogICAgIGVudW0gY2xhc3Mg
UmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkIHsgTm8sIFllcyB9OwotICAgIFdFQkNPUkVfRVhQT1JU
IGJvb2wgYWxsb3dTY3JpcHRGcm9tU291cmNlKGNvbnN0IFVSTCYsIFJlZGlyZWN0UmVzcG9uc2VS
ZWNlaXZlZCA9IFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZDo6Tm8sIGNvbnN0IFVSTCYgcHJlUmVk
aXJlY3RVUkwgPSBVUkwoKSkgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBhbGxvd1Nj
cmlwdEZyb21Tb3VyY2UoY29uc3QgVVJMJiwgUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkID0gUmVk
aXJlY3RSZXNwb25zZVJlY2VpdmVkOjpObywgY29uc3QgVVJMJiBwcmVSZWRpcmVjdFVSTCA9IFVS
TCgpLCBjb25zdCBTdHJpbmcmID0gbnVsbFN0cmluZygpKSBjb25zdDsKICAgICBib29sIGFsbG93
SW1hZ2VGcm9tU291cmNlKGNvbnN0IFVSTCYsIFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCA9IFJl
ZGlyZWN0UmVzcG9uc2VSZWNlaXZlZDo6Tm8sIGNvbnN0IFVSTCYgcHJlUmVkaXJlY3RVUkwgPSBV
UkwoKSkgY29uc3Q7CiAgICAgYm9vbCBhbGxvd1N0eWxlRnJvbVNvdXJjZShjb25zdCBVUkwmLCBS
ZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgPSBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQ6Ok5vLCBj
b25zdCBVUkwmIHByZVJlZGlyZWN0VVJMID0gVVJMKCkpIGNvbnN0OwogICAgIGJvb2wgYWxsb3dG
b250RnJvbVNvdXJjZShjb25zdCBVUkwmLCBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgPSBSZWRp
cmVjdFJlc3BvbnNlUmVjZWl2ZWQ6Ok5vLCBjb25zdCBVUkwmIHByZVJlZGlyZWN0VVJMID0gVVJM
KCkpIGNvbnN0OwpAQCAtMjE1LDkgKzIxNSwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgc2hvdWxk
UGVyZm9ybUVhcmx5Q1NQQ2hlY2soKSBjb25zdDsKICAgICAKICAgICB1c2luZyBSZXNvdXJjZVBy
ZWRpY2F0ZSA9IGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZSAqKENvbnRlbnRT
ZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3Q6OiopKGNvbnN0IFVSTCAmLCBib29sKSBjb25zdDsK
LSAgICBib29sIGFsbG93UmVzb3VyY2VGcm9tU291cmNlKGNvbnN0IFVSTCYsIFJlZGlyZWN0UmVz
cG9uc2VSZWNlaXZlZCwgY29uc3QgY2hhciosIFJlc291cmNlUHJlZGljYXRlLCBjb25zdCBVUkwm
IHByZVJlZGlyZWN0VVJMID0gVVJMKCkpIGNvbnN0OworICAgIGJvb2wgYWxsb3dSZXNvdXJjZUZy
b21Tb3VyY2UoY29uc3QgVVJMJiwgUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBjb25zdCBjaGFy
KiwgUmVzb3VyY2VQcmVkaWNhdGUsIGNvbnN0IFVSTCYgcHJlUmVkaXJlY3RVUkwgPSBVUkwoKSwg
Y29uc3QgU3RyaW5nJiA9IG51bGxTdHJpbmcoKSkgY29uc3Q7CiAKICAgICB1c2luZyBIYXNoSW5F
bmZvcmNlZEFuZFJlcG9ydE9ubHlQb2xpY2llc1BhaXIgPSBzdGQ6OnBhaXI8Ym9vbCwgYm9vbD47
CisgICAgYm9vbCBtYXRjaEFsbFNSSUhhc2hlc0luUG9saWNpZXMoY29uc3QgU3RyaW5nJikgY29u
c3QgV0FSTl9VTlVTRURfUkVUVVJOOwogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFByZWRpY2F0ZT4g
SGFzaEluRW5mb3JjZWRBbmRSZXBvcnRPbmx5UG9saWNpZXNQYWlyIGZpbmRIYXNoT2ZDb250ZW50
SW5Qb2xpY2llcyhjb25zdCBQcmVkaWNhdGUmLCBTdHJpbmdWaWV3IGNvbnRlbnQsIE9wdGlvblNl
dDxDb250ZW50U2VjdXJpdHlQb2xpY3lIYXNoQWxnb3JpdGhtPikgY29uc3QgV0FSTl9VTlVTRURf
UkVUVVJOOwogCiAgICAgdm9pZCByZXBvcnRWaW9sYXRpb24oY29uc3QgU3RyaW5nJiBlZmZlY3Rp
dmVWaW9sYXRlZERpcmVjdGl2ZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZl
JiB2aW9sYXRlZERpcmVjdGl2ZSwgY29uc3QgU3RyaW5nJiBibG9ja2VkVVJMLCBjb25zdCBTdHJp
bmcmIGNvbnNvbGVNZXNzYWdlLCBKU0M6OkpTR2xvYmFsT2JqZWN0KikgY29uc3Q7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3Rp
dmVMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGlj
eURpcmVjdGl2ZUxpc3QuY3BwCmluZGV4IDExMTE3MWNlODMxOWM3MWNkNDFjNjI0ZjQ5NzUzYzVi
Y2RjOWY4ODMuLjk4M2Q1YzFlMTIwMGIwYTdiZTAzY2JkZWYxM2Q4ZTM0YjQwZTM3MGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVj
dGl2ZUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0
eVBvbGljeURpcmVjdGl2ZUxpc3QuY3BwCkBAIC0yNTUsNiArMjU1LDE1IEBAIGNvbnN0IENvbnRl
bnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZSogQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZl
TGlzdDo6dmlvbGF0CiAgICAgcmV0dXJuIG9wZXJhdGl2ZURpcmVjdGl2ZTsKIH0KIAorYm9vbCBD
b250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0OjpkaXJlY3RpdmVDb250YWluc0FsbEhh
c2hlcyhjb25zdCBWZWN0b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4mIGhhc2hlcykgY29u
c3QKK3sKKyAgICBhdXRvKiBvcGVyYXRpdmVEaXJlY3RpdmUgPSB0aGlzLT5vcGVyYXRpdmVEaXJl
Y3RpdmUobV9zY3JpcHRTcmMuZ2V0KCksIENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZU5h
bWVzOjpzY3JpcHRTcmMpOworICAgIGlmICghb3BlcmF0aXZlRGlyZWN0aXZlKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gb3BlcmF0aXZlRGlyZWN0aXZlLT5jb250YWluc0Fs
bEhhc2hlcyhoYXNoZXMpOworfQorCiBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3Rp
dmUqIENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3Q6OnZpb2xhdGVkRGlyZWN0aXZl
Rm9yU3R5bGVIYXNoKGNvbnN0IFZlY3RvcjxDb250ZW50U2VjdXJpdHlQb2xpY3lIYXNoPiYgaGFz
aGVzKSBjb25zdAogewogICAgIGF1dG8qIG9wZXJhdGl2ZURpcmVjdGl2ZSA9IHRoaXMtPm9wZXJh
dGl2ZURpcmVjdGl2ZShtX3N0eWxlU3JjLmdldCgpLCBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJl
Y3RpdmVOYW1lczo6c3R5bGVTcmMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9j
c3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5oCmluZGV4IGMzZTIw
ODQwZDg2YzEwZmMwMjM0YWQ0ZTk2NmY5MGI2ZGQwZDVkODkuLjFiYzRkMGFjMzdmNTZjZTc1YWJh
ZjVjMDhmNDhkMjBiZTI0YWY5YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3Nw
L0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0LmgKQEAgLTc4LDYg
Kzc4LDggQEAgcHVibGljOgogICAgIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2
ZSogdmlvbGF0ZWREaXJlY3RpdmVGb3JTY3JpcHQoY29uc3QgVVJMJiwgYm9vbCBkaWRSZWNlaXZl
UmVkaXJlY3RSZXNwb25zZSkgY29uc3Q7CiAgICAgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5
RGlyZWN0aXZlKiB2aW9sYXRlZERpcmVjdGl2ZUZvclN0eWxlKGNvbnN0IFVSTCYsIGJvb2wgZGlk
UmVjZWl2ZVJlZGlyZWN0UmVzcG9uc2UpIGNvbnN0OwogCisgICAgYm9vbCBkaXJlY3RpdmVDb250
YWluc0FsbEhhc2hlcyhjb25zdCBWZWN0b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4mKSBj
b25zdDsKKwogICAgIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZSogZGVmYXVs
dFNyYygpIGNvbnN0IHsgcmV0dXJuIG1fZGVmYXVsdFNyYy5nZXQoKTsgfQogCiAgICAgYm9vbCBo
YXNCbG9ja0FsbE1peGVkQ29udGVudERpcmVjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1faGFzQmxv
Y2tBbGxNaXhlZENvbnRlbnREaXJlY3RpdmU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdC5jcHAKaW5kZXgg
NDlkYTQ0YTlkY2MyYTRiM2ZiOGJmMTk4ZmQ5ZDdhNDU4NzdhMmQwMi4uZGNmZTUyZGExMDgyOWUw
NmFkZjU0YTJiYzljYjU4MGIxZmVmOTY0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdC5jcHAKQEAgLTE1
NSw2ICsxNTUsMTYgQEAgYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0OjptYXRj
aGVzKGNvbnN0IFZlY3RvcjxDb250ZW50U2VjdXJpdHlQb2xpY3kKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdDo6bWF0Y2hlc0FsbChj
b25zdCBWZWN0b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4mIGhhc2hlcykgY29uc3QKK3sK
KyAgICBmb3IgKGF1dG8mIGhhc2ggOiBoYXNoZXMpIHsKKyAgICAgICAgaWYgKCFtX2hhc2hlcy5j
b250YWlucyhoYXNoKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBy
ZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0Ojpt
YXRjaGVzKGNvbnN0IFN0cmluZyYgbm9uY2UpIGNvbnN0CiB7CiAgICAgaWYgKG5vbmNlLmlzRW1w
dHkoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0
eVBvbGljeVNvdXJjZUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1
cml0eVBvbGljeVNvdXJjZUxpc3QuaAppbmRleCAzNzk0NWU2Y2IwM2YzMWYzMDMxMzg2ODRhYzIy
ODE5MjNiNmMzNmQ1Li5lNGY4Yzg3OWM1NDAzZjU5MWRmMjM0ZTZhMWM4YWI5ZmE1NTljY2Y4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lT
b3VyY2VMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5
UG9saWN5U291cmNlTGlzdC5oCkBAIC00NSw2ICs0NSw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wg
bWF0Y2hlcyhjb25zdCBVUkwmLCBib29sIGRpZFJlY2VpdmVSZWRpcmVjdFJlc3BvbnNlKSBjb25z
dDsKICAgICBib29sIG1hdGNoZXMoY29uc3QgVmVjdG9yPENvbnRlbnRTZWN1cml0eVBvbGljeUhh
c2g+JikgY29uc3Q7CisgICAgYm9vbCBtYXRjaGVzQWxsKGNvbnN0IFZlY3RvcjxDb250ZW50U2Vj
dXJpdHlQb2xpY3lIYXNoPiYpIGNvbnN0OwogICAgIGJvb2wgbWF0Y2hlcyhjb25zdCBTdHJpbmcm
IG5vbmNlKSBjb25zdDsKIAogICAgIE9wdGlvblNldDxDb250ZW50U2VjdXJpdHlQb2xpY3lIYXNo
QWxnb3JpdGhtPiBoYXNoQWxnb3JpdGhtc1VzZWQoKSBjb25zdCB7IHJldHVybiBtX2hhc2hBbGdv
cml0aG1zVXNlZDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVu
dFNlY3VyaXR5UG9saWN5U291cmNlTGlzdERpcmVjdGl2ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0RGlyZWN0aXZlLmNwcAppbmRl
eCAxZTBiZDMyMTM5NGRjNGYyNWE0MWIwZjU3MTcyN2U2OTFhYTBjNjVhLi5iMDY5Y2FmNDEzZDFm
NzhmM2I4Yjc0MzhlM2YwNzA5ZDVkNjFmNzdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0RGlyZWN0aXZlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0
RGlyZWN0aXZlLmNwcApAQCAtNTIsNiArNTIsMTEgQEAgYm9vbCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lTb3VyY2VMaXN0RGlyZWN0aXZlOjphbGxvd3MoY29uc3QgU3RyaW5nJiBub25jZSkgY29uc3QK
ICAgICByZXR1cm4gbV9zb3VyY2VMaXN0Lm1hdGNoZXMobm9uY2UpOwogfQogCitib29sIENvbnRl
bnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3RpdmU6OmNvbnRhaW5zQWxsSGFzaGVzKGNv
bnN0IFZlY3RvcjxDb250ZW50U2VjdXJpdHlQb2xpY3lIYXNoPiYgaGFzaGVzKSBjb25zdAorewor
ICAgIHJldHVybiBtX3NvdXJjZUxpc3QubWF0Y2hlc0FsbChoYXNoZXMpOworfQorCiBib29sIENv
bnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3RpdmU6OmFsbG93cyhjb25zdCBWZWN0
b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4mIGhhc2hlcykgY29uc3QKIHsKICAgICByZXR1
cm4gbV9zb3VyY2VMaXN0Lm1hdGNoZXMoaGFzaGVzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3RpdmUuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3RE
aXJlY3RpdmUuaAppbmRleCA3OGJhOTVhODFkMDEzOTM2OGQzODdmMWRkZjA0NTVkNWRkOWNlMzBk
Li5jMzU0YTFjZTNlYmEzODljMzRmOTFmM2Q4NmRlOTc3Mjc4ZTBiYjBiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0RGly
ZWN0aXZlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9s
aWN5U291cmNlTGlzdERpcmVjdGl2ZS5oCkBAIC00MCw2ICs0MCw3IEBAIHB1YmxpYzoKICAgICBl
bnVtIGNsYXNzIFNob3VsZEFsbG93RW1wdHlVUkxJZlNvdXJjZUxpc3RJc05vdE5vbmUgeyBObywg
WWVzIH07CiAgICAgYm9vbCBhbGxvd3MoY29uc3QgVVJMJiwgYm9vbCBkaWRSZWNlaXZlUmVkaXJl
Y3RSZXNwb25zZSwgU2hvdWxkQWxsb3dFbXB0eVVSTElmU291cmNlTGlzdElzTm90Tm9uZSk7CiAg
ICAgYm9vbCBhbGxvd3MoY29uc3QgVmVjdG9yPENvbnRlbnRTZWN1cml0eVBvbGljeUhhc2g+Jikg
Y29uc3Q7CisgICAgYm9vbCBjb250YWluc0FsbEhhc2hlcyhjb25zdCBWZWN0b3I8Q29udGVudFNl
Y3VyaXR5UG9saWN5SGFzaD4mKSBjb25zdDsKICAgICBib29sIGFsbG93VW5zYWZlSGFzaGVzKGNv
bnN0IFZlY3RvcjxDb250ZW50U2VjdXJpdHlQb2xpY3lIYXNoPiYpIGNvbnN0OwogICAgIGJvb2wg
YWxsb3dzKGNvbnN0IFN0cmluZyYgbm9uY2UpIGNvbnN0OwogICAgIGJvb2wgYWxsb3dJbmxpbmUo
KSBjb25zdCB7IHJldHVybiBtX3NvdXJjZUxpc3QuYWxsb3dJbmxpbmUoKTsgfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGMy
NTRjMGUyYjA5ODA2MmRkYmIxYjk4YTE1Y2IzY2YyZjg2YjhkNzcuLjcxMDEwMzE3MDdhMjM2YzJl
M2E4YzYzNTQ4ODU3ZWIzZmNhNzhkMDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0xMi0w
NSAgUGF0cmljayBHcmlmZmlzICA8cGdyaWZmaXNAaWdhbGlhLmNvbT4KKworICAgICAgICBDU1A6
IEFsbG93IGV4dGVybmFsIHNjcmlwdHMgd2l0aCBTUkkgaGFzaGVzIG1hdGNoaW5nIENTUAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzOTExCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIHRlc3Rz
IHRvIGFjY2VwdCBiYXNlNjQgd2l0aCBleHRyYSBwYWRkaW5nLgorCisgICAgICAgICogaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NjcmlwdGhhc2gtdGVzdHMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5LzEuMS9zY3JpcHRoYXNoLXRlc3RzLmh0bWw6CisKIDIwMjEtMTItMDYgIEFyY2Fk
eSBHb2xkbWludHMtT3Jsb3YgIDxhZ29sZG1pbnRzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dU
S11bV1BFXSBNYXRobWwgYXNzZXJ0cyB3aXRoIGludmlzaWJsZSBvcGVyYXRvcnMKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDAzNWNmZWQ4Mzg5YWYyOGI5NDIyNWJjMTlhNWU3M2Mw
OTY2ZDAxMGQuLjJiM2I1MDUzNjNkMzhkZjUzODllYTQ1ODIzNDY0ZDEwMGM2ZDljZTkgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTEyLTA1ICBQ
YXRyaWNrIEdyaWZmaXMgIDxwZ3JpZmZpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIENTUDogQWxs
b3cgZXh0ZXJuYWwgc2NyaXB0cyB3aXRoIFNSSSBoYXNoZXMgbWF0Y2hpbmcgQ1NQCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5MTEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgZXhwZWN0YXRp
b25zIHdpdGggbW9yZSBwYXNzZXMuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY29u
dGVudC1zZWN1cml0eS1wb2xpY3kvc2NyaXB0LXNyYy9zY3JpcHQtc3JjLXJlcG9ydC1vbmx5LXBv
bGljeS13b3Jrcy13aXRoLWV4dGVybmFsLWhhc2gtcG9saWN5LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0eS1wb2xpY3kvc2NyaXB0LXNy
Yy9zY3JpcHQtc3JjLXNyaV9oYXNoLnN1Yi1leHBlY3RlZC50eHQ6CisKIDIwMjEtMTItMDYgIFRh
ZGV1IFphZ2FsbG8gIDx0emFnYWxsb0BhcHBsZS5jb20+CiAKICAgICAgICAgUmVzdG9yZSBuYXZp
Z2F0b3IuaGFyZHdhcmVDb25jdXJyZW5jeQpAQCAtMzYsNyArNDgsNiBAQAogICAgICAgICBSZWJh
c2VsaW5lIFdQVCB0ZXN0cyBub3cgdGhhdCBtb3JlIGNoZWNrcyBhcmUgcGFzc2luZy4KIAogICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy9jb25zdHJhaW50
cy9mb3JtLXZhbGlkYXRpb24tdmFsaWRpdHktdmFsaWQtZXhwZWN0ZWQudHh0OgotCiAyMDIxLTEy
LTAyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgaHRtbC9zZW1h
bnRpY3MvZm9ybXMvY29uc3RyYWludHMvaW5wdXQtbnVtYmVyLXZhbGlkaXR5LWR5bmFtaWMtdmFs
dWUtbm8tY2hhbmdlLmh0bWwgV1BUIHRlc3QgaXMgZmFpbGluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3Njcmlw
dGhhc2gtdGVzdHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NjcmlwdGhhc2gtdGVzdHMtZXhwZWN0ZWQudHh0
CmluZGV4IDczOTYzYTZhM2ZiOWQ5ZDQ1MWNmNDU2ZDJkNzgzNjQxNzg4OTc5Y2IuLmQ0ZDVmYWUy
M2RjYTU0YTE0M2Y1NWIxYjk1MGU5MjJjYjMyNTU2ZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zY3JpcHRoYXNo
LXRlc3RzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2NyaXB0aGFzaC10ZXN0cy1leHBlY3RlZC50eHQK
QEAgLTEyLDggKzEyLDYgQEAgQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGV4ZWN1dGUgYSBz
Y3JpcHQgYmVjYXVzZSBpdHMgaGFzaCwgaXRzIG5vbmNlLCBvciAndW4KIENPTlNPTEUgTUVTU0FH
RTogUmVmdXNlZCB0byBleGVjdXRlIGEgc2NyaXB0IGJlY2F1c2UgaXRzIGhhc2gsIGl0cyBub25j
ZSwgb3IgJ3Vuc2FmZS1pbmxpbmUnIGRvZXMgbm90IGFwcGVhciBpbiB0aGUgc2NyaXB0LXNyYyBk
aXJlY3RpdmUgb2YgdGhlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LgogQ09OU09MRSBNRVNTQUdF
OiBUaGUgc291cmNlIGxpc3QgZm9yIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZSAn
c2NyaXB0LXNyYycgY29udGFpbnMgYW4gaW52YWxpZCBzb3VyY2U6ICcnc2hhMjU2LS9WZXQyUnZh
Nnd3c255OHh5YkwrPWJRYWwwR3RmMEZaVzdFT1ZxcWcrSG5hPScnLiBJdCB3aWxsIGJlIGlnbm9y
ZWQuCiBDT05TT0xFIE1FU1NBR0U6IFJlZnVzZWQgdG8gZXhlY3V0ZSBhIHNjcmlwdCBiZWNhdXNl
IGl0cyBoYXNoLCBpdHMgbm9uY2UsIG9yICd1bnNhZmUtaW5saW5lJyBkb2VzIG5vdCBhcHBlYXIg
aW4gdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlIG9mIHRoZSBDb250ZW50IFNlY3VyaXR5IFBvbGlj
eS4KLUNPTlNPTEUgTUVTU0FHRTogVGhlIHNvdXJjZSBsaXN0IGZvciBDb250ZW50IFNlY3VyaXR5
IFBvbGljeSBkaXJlY3RpdmUgJ3NjcmlwdC1zcmMnIGNvbnRhaW5zIGFuIGludmFsaWQgc291cmNl
OiAnJ3NoYTI1Ni0vdkVUMnJWQTZXV1NOWThYWUJsK0JxQUwwZ1RGMGZ6dzdlb3ZRUUcraE5BPT0n
Jy4gSXQgd2lsbCBiZSBpZ25vcmVkLgotQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGV4ZWN1
dGUgYSBzY3JpcHQgYmVjYXVzZSBpdHMgaGFzaCwgaXRzIG5vbmNlLCBvciAndW5zYWZlLWlubGlu
ZScgZG9lcyBub3QgYXBwZWFyIGluIHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBvZiB0aGUgQ29u
dGVudCBTZWN1cml0eSBQb2xpY3kuCiBDT05TT0xFIE1FU1NBR0U6IFRoZSBzb3VyY2UgbGlzdCBm
b3IgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlICdzY3JpcHQtc3JjJyBjb250YWlu
cyBhbiBpbnZhbGlkIHNvdXJjZTogJydzaGEyNTYtL3ZFVDJyVkE2V1dTTlk4WFlCbCtCcUFMMGdU
RjBmenc3ZW92UVFHK2hOQT09PScnLiBJdCB3aWxsIGJlIGlnbm9yZWQuCiBDT05TT0xFIE1FU1NB
R0U6IFJlZnVzZWQgdG8gZXhlY3V0ZSBhIHNjcmlwdCBiZWNhdXNlIGl0cyBoYXNoLCBpdHMgbm9u
Y2UsIG9yICd1bnNhZmUtaW5saW5lJyBkb2VzIG5vdCBhcHBlYXIgaW4gdGhlIHNjcmlwdC1zcmMg
ZGlyZWN0aXZlIG9mIHRoZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4KIENPTlNPTEUgTUVTU0FH
RTogVGhlIHNvdXJjZSBsaXN0IGZvciBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmUg
J3NjcmlwdC1zcmMnIGNvbnRhaW5zIGFuIGludmFsaWQgc291cmNlOiAnJ3NoYTI1Ni0nLiBJdCB3
aWxsIGJlIGlnbm9yZWQuCkBAIC01Myw3ICs1MSw3IEBAIFBBU1MgIkhhc2ggd2l0aG91dCBwcmVm
aXgiIGRpZCBub3QgcnVuIGlubGluZSBzY3JpcHQuCiBQQVNTICJTSEEtMjU2IGhhc2ggd2l0aCBT
SEEtMzg0IHByZWZpeCIgZGlkIG5vdCBydW4gaW5saW5lIHNjcmlwdC4KIFBBU1MgIlNIQS0yNTYg
aGFzaCB3aXRoIFNIQS01MTIgcHJlZml4IiBkaWQgbm90IHJ1biBpbmxpbmUgc2NyaXB0LgogUEFT
UyAiTWFsZm9ybWVkIFNIQS0yNTYgaGFzaCAoZXF1YWwgc2lnbiBpbiBkaXNhbGxvd2VkIHBvc2l0
aW9uKSIgZGlkIG5vdCBydW4gaW5saW5lIHNjcmlwdC4KLVBBU1MgIlNIQS0yNTYgaGFzaCB3aXRo
IG9uZSBleHRyYW5lb3VzIGVxdWFsIHNpZ24iIGRpZCBub3QgcnVuIGlubGluZSBzY3JpcHQuCitQ
QVNTICJTSEEtMjU2IGhhc2ggd2l0aCBvbmUgZXh0cmFuZW91cyBlcXVhbCBzaWduIiBkaWQgcnVu
IGlubGluZSBzY3JpcHQuCiBQQVNTICJTSEEtMjU2IGhhc2ggd2l0aCB0d28gZXh0cmFuZW91cyBl
cXVhbCBzaWducyIgZGlkIG5vdCBydW4gaW5saW5lIHNjcmlwdC4KIFBBU1MgIk1hbGZvcm1lZCBo
YXNoIHNvdXJjZSIgZGlkIG5vdCBydW4gaW5saW5lIHNjcmlwdC4KIFBBU1MgIkhhc2ggc291cmNl
IHdpdGhvdXQgaGFzaCIgZGlkIG5vdCBydW4gaW5saW5lIHNjcmlwdC4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9z
Y3JpcHRoYXNoLXRlc3RzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2NyaXB0aGFzaC10ZXN0cy5odG1sCmluZGV4IDI1MjZj
ZjZiNzc2MzEyMDIzYzgwODhkNDI1YTA1MDVlZTVlZDYyMGUuLjlkMjYyZjY1Y2ZiNjUyMGNjNDEw
MzMzNjY2YTU5MzdjMWI3Yzg3MTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zY3JpcHRoYXNoLXRlc3RzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvMS4xL3NjcmlwdGhhc2gtdGVzdHMuaHRtbApAQCAtMTU5LDcgKzE1OSw3IEBAIHZhciB0ZXN0
cyA9IFsKICAgICBjaGFyc2V0OiAiVVRGOCIsCiAgICAgc2NyaXB0OiBlbmNvZGVVUklDb21wb25l
bnQoImRpZFJ1bklubGluZVNjcmlwdCA9IHRydWU7IiksCiAgICAgaGFzaFNvdXJjZTogIidzaGEy
NTYtL3ZFVDJyVkE2V1dTTlk4WFlCbCtCcUFMMGdURjBmenc3ZW92UVFHK2hOQT09JyIsCi0gICAg
ZXhwZWN0ZWRSZXN1bHQ6IERvTm90UnVuSW5saW5lU2NyaXB0LAorICAgIGV4cGVjdGVkUmVzdWx0
OiBSdW5JbmxpbmVTY3JpcHQsCiB9LAogewogICAgIG5hbWU6ICJTSEEtMjU2IGhhc2ggd2l0aCB0
d28gZXh0cmFuZW91cyBlcXVhbCBzaWducyIsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3Njcmlw
dC1zcmMvc2NyaXB0LXNyYy1yZXBvcnQtb25seS1wb2xpY3ktd29ya3Mtd2l0aC1leHRlcm5hbC1o
YXNoLXBvbGljeS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3NjcmlwdC1zcmMvc2NyaXB0LXNy
Yy1yZXBvcnQtb25seS1wb2xpY3ktd29ya3Mtd2l0aC1leHRlcm5hbC1oYXNoLXBvbGljeS1leHBl
Y3RlZC50eHQKaW5kZXggODg3M2Y2ZGM5MGM0MTFkNjhhNjJjM2M2MWM3YmNmMDFiM2U5YzdlZC4u
Nzk3ZmQ3ZjAyMjliOWNkOWZkYWRmN2MzZGIyYWRhN2RhMTljMTRlZiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50LXNlY3VyaXR5
LXBvbGljeS9zY3JpcHQtc3JjL3NjcmlwdC1zcmMtcmVwb3J0LW9ubHktcG9saWN5LXdvcmtzLXdp
dGgtZXh0ZXJuYWwtaGFzaC1wb2xpY3ktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0eS1wb2xpY3kvc2Ny
aXB0LXNyYy9zY3JpcHQtc3JjLXJlcG9ydC1vbmx5LXBvbGljeS13b3Jrcy13aXRoLWV4dGVybmFs
LWhhc2gtcG9saWN5LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDYgQEAKIAotRkFJTCBTaG91bGQg
ZmlyZSBzZWN1cml0eXBvbGljeXZpb2xhdGlvbiBldmVudCBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAicmVwb3J0IiBidXQgZ290ICJlbmZvcmNlIgotRkFJTCBFeHRlcm5hbCBzY3JpcHQgaW4gYSBz
Y3JpcHQgdGFnIHdpdGggbWF0Y2hpbmcgU1JJIGhhc2ggc2hvdWxkIHJ1bi4gYXNzZXJ0X3RydWU6
IEV4dGVybmFsIHNjcmlwdCByYW4uIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitIYXJuZXNzIEVy
cm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKKworTk9UUlVOIFNob3VsZCBmaXJlIHNlY3Vy
aXR5cG9saWN5dmlvbGF0aW9uIGV2ZW50CitQQVNTIEV4dGVybmFsIHNjcmlwdCBpbiBhIHNjcmlw
dCB0YWcgd2l0aCBtYXRjaGluZyBTUkkgaGFzaCBzaG91bGQgcnVuLgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJp
dHktcG9saWN5L3NjcmlwdC1zcmMvc2NyaXB0LXNyYy1zcmlfaGFzaC5zdWItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50LXNl
Y3VyaXR5LXBvbGljeS9zY3JpcHQtc3JjL3NjcmlwdC1zcmMtc3JpX2hhc2guc3ViLWV4cGVjdGVk
LnR4dAppbmRleCBmM2Q3MmU0MGJiNjEzY2M2NDAzMzE4NjQzNTE5MGQxZWI2YzU4YzRkLi44NzI3
NjZmNzk1NDk0ODBiM2M0ZmNiNzk4YjYwODRmNTg0ZDNiNzBiIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9s
aWN5L3NjcmlwdC1zcmMvc2NyaXB0LXNyYy1zcmlfaGFzaC5zdWItZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29udGVudC1zZWN1
cml0eS1wb2xpY3kvc2NyaXB0LXNyYy9zY3JpcHQtc3JjLXNyaV9oYXNoLnN1Yi1leHBlY3RlZC50
eHQKQEAgLTIsMTQgKzIsMTQgQEAgRXh0ZXJuYWwgc2NyaXB0cyB3aXRoIG1hdGNoaW5nIFNSSSBo
YXNoIHNob3VsZCBiZSBhbGxvd2VkLgogCiAKIFBBU1MgTG9hZCBhbGwgdGhlIHRlc3RzLgotRkFJ
TCBtYXRjaGluZyBpbnRlZ3JpdHkgYXNzZXJ0X3VucmVhY2hlZDogU2NyaXB0IHNob3VsZCBsb2Fk
ISBodHRwOi8vbG9jYWxob3N0Ojg4MDAvY29udGVudC1zZWN1cml0eS1wb2xpY3kvc2NyaXB0LXNy
Yy9zaW1wbGVTb3VyY2VkU2NyaXB0LmpzIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQotRkFJTCBt
dWx0aXBsZSBtYXRjaGluZyBpbnRlZ3JpdHkgYXNzZXJ0X3VucmVhY2hlZDogU2NyaXB0IHNob3Vs
ZCBsb2FkISBodHRwOi8vbG9jYWxob3N0Ojg4MDAvY29udGVudC1zZWN1cml0eS1wb2xpY3kvc2Ny
aXB0LXNyYy9zaW1wbGVTb3VyY2VkU2NyaXB0LmpzIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQor
UEFTUyBtYXRjaGluZyBpbnRlZ3JpdHkKK1BBU1MgbXVsdGlwbGUgbWF0Y2hpbmcgaW50ZWdyaXR5
CiBQQVNTIG5vIGludGVncml0eQotRkFJTCBtYXRjaGluZyBwbHVzIHVuc3VwcG9ydGVkIGludGVn
cml0eSBhc3NlcnRfdW5yZWFjaGVkOiBTY3JpcHQgc2hvdWxkIGxvYWQhIGh0dHA6Ly9sb2NhbGhv
c3Q6ODgwMC9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQtc3JjL3NpbXBsZVNvdXJjZWRT
Y3JpcHQuanMgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIG1hdGNoaW5nIHBsdXMgdW5z
dXBwb3J0ZWQgaW50ZWdyaXR5CiBQQVNTIG1pc21hdGNoZWQgaW50ZWdyaXR5CiBQQVNTIG11bHRp
cGxlIG1pc21hdGNoZWQgaW50ZWdyaXR5CiBQQVNTIHBhcnRpYWxseSBtYXRjaGluZyBpbnRlZ3Jp
dHkKIEZBSUwgY3Jvc3NvcmlnaW4gbm8gaW50ZWdyaXR5IGJ1dCBhbGxvd2VkIGhvc3QgYXNzZXJ0
X3VucmVhY2hlZDogU2NyaXB0IHNob3VsZCBsb2FkISBodHRwOi8vMTI3LjAuMC4xOjg4MDAvY29u
dGVudC1zZWN1cml0eS1wb2xpY3kvc2NyaXB0LXNyYy9jcm9zc29yaWdpblNjcmlwdC5qcyBSZWFj
aGVkIHVucmVhY2hhYmxlIGNvZGUKIEZBSUwgY3Jvc3NvcmlnaW4gbWlzbWF0Y2hlZCBpbnRlZ3Jp
dHkgYnV0IGFsbG93ZWQgaG9zdCBhc3NlcnRfdW5yZWFjaGVkOiBTY3JpcHQgc2hvdWxkIGxvYWQh
IGh0dHA6Ly8xMjcuMC4wLjE6ODgwMC9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQtc3Jj
L2Nyb3Nzb3JpZ2luU2NyaXB0LmpzIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQotRkFJTCBFeHRl
cm5hbCBzY3JpcHQgaW4gYSBzY3JpcHQgdGFnIHdpdGggbWF0Y2hpbmcgU1JJIGhhc2ggc2hvdWxk
IHJ1bi4gYXNzZXJ0X3RydWU6IEV4dGVybmFsIHNjcmlwdCByYW4uIGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCitQQVNTIEV4dGVybmFsIHNjcmlwdCBpbiBhIHNjcmlwdCB0YWcgd2l0aCBtYXRjaGlu
ZyBTUkkgaGFzaCBzaG91bGQgcnVuLgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446193</attachid>
            <date>2021-12-07 09:57:22 -0800</date>
            <delta_ts>2021-12-07 18:39:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233911-20211207115722.patch</filename>
            <type>text/plain</type>
            <size>28364</size>
            <attacher name="Patrick Griffis">pgriffis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjNlMzRlN2EyNjgzMGQ3
MjFlNWYzODgzNWM0YzdmZDBlM2E2NGY1NC4uMTMxMzcwZmE3YjYzZmYyY2JjN2E2YTNjZTA4MWM2
YTQxNmVmMmYzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTEyLTA1ICBQYXRy
aWNrIEdyaWZmaXMgIDxwZ3JpZmZpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIENTUDogQWxsb3cg
ZXh0ZXJuYWwgc2NyaXB0cyB3aXRoIFNSSSBoYXNoZXMgbWF0Y2hpbmcgQ1NQCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5MTEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgY2hhbmdlIGlu
IENTUDMgdGhhdCBhbGxvd3MgbG9hZGluZyBleHRlcm5hbAorICAgICAgICBzY3JpcHRzIHRoYXQg
aGF2ZSBTUkkgaGFzaGVzIG1hdGNoaW5nIENTUCBoYXNoZXMuCisgICAgICAgIGh0dHBzOi8vd3d3
LnczLm9yZy9UUi9DU1AzLyNleHRlcm5hbC1oYXNoCisKKyAgICAgICAgUmVzb3VyY2VDcnlwdG9n
cmFwaGljRGlnZXN0IHdhcyBjaGFuZ2VkIHRvIG5vdCB2YWxpZGF0ZSBwYWRkaW5nCisgICAgICAg
IGR1cmluZyBiYXNlNjQgZGVjb2Rpbmcgd2hpY2ggaXMgaGFybWxlc3MgYW5kIGZpeGVzIHBhcnNp
bmcgdGhlCisgICAgICAgIGhhc2hlcyB1c2VkIGluIFdQVCdzIHNjcmlwdC1zcmMtc3JpX2hhc2gu
c3ViLmh0bWwuCisKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6aXNBbGxvd2Vk
QnlDb250ZW50U2VjdXJpdHlQb2xpY3kpOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUNyeXB0
b2dyYXBoaWNEaWdlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VDcnlwdG9ncmFwaGlj
RGlnZXN0SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpkZWNvZGVFbmNvZGVkUmVzb3VyY2VDcnlw
dG9ncmFwaGljRGlnZXN0KToKKyAgICAgICAgKiBsb2FkZXIvU3VicmVzb3VyY2VJbnRlZ3JpdHku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VJbnRlZ3JpdHlNZXRhZGF0YSk6CisgICAgICAg
ICogbG9hZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5Lmg6CisgICAgICAgICogbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291
cmNlTG9hZGVyOjphbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3kgY29uc3QpOgorICAgICAg
ICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbFNjcmlwdFBvbGljaWVzQWxsb3cgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6cGFyc2VTdWJSZXNvdXJjZUludGVncml0eUludG9EaWdlc3RzKToK
KyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dSZXNvdXJjZUZy
b21Tb3VyY2UgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5
OjphbGxvd1NjcmlwdEZyb21Tb3VyY2UgY29uc3QpOgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRl
bnRTZWN1cml0eVBvbGljeS5oOgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBv
bGljeURpcmVjdGl2ZUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5
UG9saWN5RGlyZWN0aXZlTGlzdDo6dmlvbGF0ZWREaXJlY3RpdmVGb3JTY3JpcHQgY29uc3QpOgor
ICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3QuaDoK
KyAgICAgICAgKiBwYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3Q6Om1hdGNo
ZXNBbGwgY29uc3QpOgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNv
dXJjZUxpc3QuaDoKKyAgICAgICAgKiBwYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3Vy
Y2VMaXN0RGlyZWN0aXZlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBv
bGljeVNvdXJjZUxpc3REaXJlY3RpdmU6OmNvbnRhaW5zQWxsSGFzaGVzIGNvbnN0KToKKyAgICAg
ICAgKiBwYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0RGlyZWN0aXZlLmg6
CisKIDIwMjEtMTItMDYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICA8aW5wdXQgdHlwZT0idGltZSI+J3MgcmFuZ2Ugc2hvdWxkIGJlIHJldmVyc2libGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKaW5k
ZXggOWE0ZDRiMjEyZmRmZDI4MTg0Mzc2ZDRiNzBjN2RhNGYzZWI3YzgzMi4uYzEwZDVjMWRiZWJl
ZjA1NTI4NDNkZDlmYzBhNTMzZGRiNDc5M2E0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTY4NSw3ICs2ODUsNyBAQCBi
b29sIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6aXNBbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQ
b2xpY3koY29uc3QgVVJMJiB1cmwsCiAgICAgY2FzZSBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZv
cmNlbWVudDo6RW5mb3JjZUNvbm5lY3RTcmNEaXJlY3RpdmU6CiAgICAgICAgIHJldHVybiBjb250
ZW50U2VjdXJpdHlQb2xpY3koKS5hbGxvd0Nvbm5lY3RUb1NvdXJjZSh1cmwsIHJlZGlyZWN0UmVz
cG9uc2VSZWNlaXZlZCwgcHJlUmVkaXJlY3RVUkwpOwogICAgIGNhc2UgQ29udGVudFNlY3VyaXR5
UG9saWN5RW5mb3JjZW1lbnQ6OkVuZm9yY2VTY3JpcHRTcmNEaXJlY3RpdmU6Ci0gICAgICAgIHJl
dHVybiBjb250ZW50U2VjdXJpdHlQb2xpY3koKS5hbGxvd1NjcmlwdEZyb21Tb3VyY2UodXJsLCBy
ZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQsIHByZVJlZGlyZWN0VVJMKTsKKyAgICAgICAgcmV0dXJu
IGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLmFsbG93U2NyaXB0RnJvbVNvdXJjZSh1cmwsIHJlZGly
ZWN0UmVzcG9uc2VSZWNlaXZlZCwgcHJlUmVkaXJlY3RVUkwsIG1fb3B0aW9ucy5pbnRlZ3JpdHkp
OwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gZmFsc2U7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VDcnlwdG9ncmFwaGljRGln
ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdl
c3QuY3BwCmluZGV4IGM2Mjc3Njg1OGE2ZGM1YWZmZDM2ZGM5ZTc4NWM4YmQyNDcyYmI3NGQuLjQ4
NDBmMTRjZjI1ZGRmMWY2MDBhZTk2ZGFjNjNkOTcxMWM4Yzk0MDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3QuY3BwCkBAIC03
MSw3ICs3MSw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IHN0YXRpYyBzdGQ6
Om9wdGlvbmFsPFJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzCiAKICAgICBTdHJpbmdWaWV3IGhh
c2hWYWx1ZShiZWdpbkhhc2hWYWx1ZSwgYnVmZmVyLnBvc2l0aW9uKCkgLSBiZWdpbkhhc2hWYWx1
ZSk7CiAKLSAgICBpZiAoYXV0byBkaWdlc3QgPSBiYXNlNjREZWNvZGUoaGFzaFZhbHVlLCBCYXNl
NjREZWNvZGVPcHRpb25zOjpWYWxpZGF0ZVBhZGRpbmcpKQorICAgIGlmIChhdXRvIGRpZ2VzdCA9
IGJhc2U2NERlY29kZShoYXNoVmFsdWUpKQogICAgICAgICByZXR1cm4gUmVzb3VyY2VDcnlwdG9n
cmFwaGljRGlnZXN0IHsgKmFsZ29yaXRobSwgV1RGTW92ZSgqZGlnZXN0KSB9OwogCiAgICAgaWYg
KGF1dG8gZGlnZXN0ID0gYmFzZTY0VVJMRGVjb2RlKGhhc2hWYWx1ZSkpCkBAIC0xMjUsNyArMTI1
LDcgQEAgc3RkOjpvcHRpb25hbDxFbmNvZGVkUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0PiBw
YXJzZUVuY29kZWRDcnlwdG9ncmFwaGljRGlnZXMKIAogc3RkOjpvcHRpb25hbDxSZXNvdXJjZUNy
eXB0b2dyYXBoaWNEaWdlc3Q+IGRlY29kZUVuY29kZWRSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdl
c3QoY29uc3QgRW5jb2RlZFJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdCYgZW5jb2RlZERpZ2Vz
dCkKIHsKLSAgICBpZiAoYXV0byBkaWdlc3QgPSBiYXNlNjREZWNvZGUoZW5jb2RlZERpZ2VzdC5k
aWdlc3QsIEJhc2U2NERlY29kZU9wdGlvbnM6OlZhbGlkYXRlUGFkZGluZykpCisgICAgaWYgKGF1
dG8gZGlnZXN0ID0gYmFzZTY0RGVjb2RlKGVuY29kZWREaWdlc3QuZGlnZXN0KSkKICAgICAgICAg
cmV0dXJuIFJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdCB7IGVuY29kZWREaWdlc3QuYWxnb3Jp
dGhtLCBXVEZNb3ZlKCpkaWdlc3QpIH07CiAKICAgICBpZiAoYXV0byBkaWdlc3QgPSBiYXNlNjRV
UkxEZWNvZGUoZW5jb2RlZERpZ2VzdC5kaWdlc3QpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9TdWJyZXNvdXJjZUludGVncml0eS5jcHAKaW5kZXggYzUyMDgxYjQyMTY3YmE4MGMyNzU3MDhj
YmQ5OTZkODdhODU0NDIyZi4uZjQzZGNkODRlZDMyNTRlYzk3YWRlOThlZmEwOTVkZmJmZDFlMmQ4
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VJbnRlZ3JpdHkuY3Bw
CkBAIC05Niw3ICs5Niw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBzcGxpdE9uU3BhY2VzKFN0cmlu
Z1BhcnNpbmdCdWZmZXI8Q2hhcmFjdGVyVHlwZT4gYnVmZmVyLCBGdW5jCiAgICAgfQogfQogCi1z
dGF0aWMgc3RkOjpvcHRpb25hbDxWZWN0b3I8RW5jb2RlZFJlc291cmNlQ3J5cHRvZ3JhcGhpY0Rp
Z2VzdD4+IHBhcnNlSW50ZWdyaXR5TWV0YWRhdGEoY29uc3QgU3RyaW5nJiBpbnRlZ3JpdHlNZXRh
ZGF0YSkKK3N0ZDo6b3B0aW9uYWw8VmVjdG9yPEVuY29kZWRSZXNvdXJjZUNyeXB0b2dyYXBoaWNE
aWdlc3Q+PiBwYXJzZUludGVncml0eU1ldGFkYXRhKGNvbnN0IFN0cmluZyYgaW50ZWdyaXR5TWV0
YWRhdGEpCiB7CiAgICAgaWYgKGludGVncml0eU1ldGFkYXRhLmlzRW1wdHkoKSkKICAgICAgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9T
dWJyZXNvdXJjZUludGVncml0eS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNl
SW50ZWdyaXR5LmgKaW5kZXggMWJkNjg2NjhlY2FlZTM3MWQwYTQ0MzYxNzFkZDMwOGRiMzQyODU5
NS4uMjUzNWI4YzM2YTM4NGViODA0YWM2Zjc1NzNjNGRjZDJjNmRmNzZlNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5LmgKQEAgLTMzLDUgKzMzLDYgQEAg
Y2xhc3MgQ2FjaGVkUmVzb3VyY2U7CiAKIGJvb2wgbWF0Y2hJbnRlZ3JpdHlNZXRhZGF0YShjb25z
dCBDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IFN0cmluZyYgaW50ZWdyaXR5TWV0YWRhdGEpOwogU3Ry
aW5nIGludGVncml0eU1pc21hdGNoRGVzY3JpcHRpb24oY29uc3QgQ2FjaGVkUmVzb3VyY2UmLCBj
b25zdCBTdHJpbmcmIGludGVncml0eU1ldGFkYXRhKTsKK3N0ZDo6b3B0aW9uYWw8VmVjdG9yPEVu
Y29kZWRSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3Q+PiBwYXJzZUludGVncml0eU1ldGFkYXRh
KGNvbnN0IFN0cmluZyYgaW50ZWdyaXR5TWV0YWRhdGEpOwogCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBmYTM4
MjFhYWMxMjUyZjllNzJhYzljZDlmYjVhYWNhODY2MDgyNDU2Li44NGMwMTRiZDY0MzBhMTgyY2Nm
ZDdmNDJjODVmYTM4YmI3YzQwYWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTUwMSw3ICs1MDEsNyBAQCBib29s
IENhY2hlZFJlc291cmNlTG9hZGVyOjphbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3koQ2Fj
aGVkUmVzb3VyY2U6OlR5cGUgdAogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlhTTFN0
eWxlU2hlZXQ6CiAjZW5kaWYKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpTY3JpcHQ6
Ci0gICAgICAgIGlmICghbV9kb2N1bWVudC0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93
U2NyaXB0RnJvbVNvdXJjZSh1cmwsIHJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCwgcHJlUmVkaXJl
Y3RVUkwpKQorICAgICAgICBpZiAoIW1fZG9jdW1lbnQtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgp
LT5hbGxvd1NjcmlwdEZyb21Tb3VyY2UodXJsLCByZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQsIHBy
ZVJlZGlyZWN0VVJMLCBvcHRpb25zLmludGVncml0eSkpCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkNTU1N0
eWxlU2hlZXQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2Vj
dXJpdHlQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5
UG9saWN5LmNwcAppbmRleCBhY2YxMzFmNTBkZWJkZGY5ZmY0OTRkNjI1MDcwMTc1Yzc3YTAxNjI5
Li5hY2QzNzkxMjU1MWQ0OGNlZDM2MmQ4OWUyZjcyODdiNGZhODM4ZDQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKQEAgLTUyLDYg
KzUyLDcgQEAKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNlY3VyaXR5
UG9saWN5VmlvbGF0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgorI2luY2x1ZGUg
IlN1YnJlc291cmNlSW50ZWdyaXR5LmgiCiAjaW5jbHVkZSAiVGV4dEVuY29kaW5nLmgiCiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oPgpAQCAtMzM5LDcgKzM0MCw3IEBAIGJv
b2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxTY3JpcHRQb2xpY2llc0FsbG93KFZpb2xhdGVk
RGlyZWN0aXZlQ2FsbGJhY2smJiBjCiAgICAgZm9yIChhdXRvJiBwb2xpY3kgOiBtX3BvbGljaWVz
KSB7CiAgICAgICAgIGF1dG8gdmlvbGF0ZWREaXJlY3RpdmVGb3JOb25QYXJzZXJJbnNlcnRlZFNj
cmlwdCA9IHBvbGljeS5nZXQoKS0+dmlvbGF0ZWREaXJlY3RpdmVGb3JQYXJzZXJJbnNlcnRlZFNj
cmlwdChwYXJzZXJJbnNlcnRlZCk7CiAgICAgICAgIGF1dG8gdmlvbGF0ZWREaXJlY3RpdmVGb3JT
Y3JpcHROb25jZSA9IHBvbGljeS5nZXQoKS0+dmlvbGF0ZWREaXJlY3RpdmVGb3JTY3JpcHROb25j
ZShub25jZSk7Ci0gICAgICAgIGF1dG8gdmlvbGF0ZWREaXJlY3RpdmVGb3JTY3JpcHRTcmMgPSBw
b2xpY3kuZ2V0KCktPnZpb2xhdGVkRGlyZWN0aXZlRm9yU2NyaXB0KHVybCwgZmFsc2UpOworICAg
ICAgICBhdXRvIHZpb2xhdGVkRGlyZWN0aXZlRm9yU2NyaXB0U3JjID0gcG9saWN5LmdldCgpLT52
aW9sYXRlZERpcmVjdGl2ZUZvclNjcmlwdCh1cmwsIGZhbHNlLCB7IH0pOwogICAgICAgICBhdXRv
IFtmb3VuZEhhc2hJbkVuZm9yY2VkUG9saWNpZXMsIGZvdW5kSGFzaEluUmVwb3J0T25seVBvbGlj
aWVzXSA9IGZpbmRIYXNoT2ZDb250ZW50SW5Qb2xpY2llcygmQ29udGVudFNlY3VyaXR5UG9saWN5
RGlyZWN0aXZlTGlzdDo6dmlvbGF0ZWREaXJlY3RpdmVGb3JTY3JpcHRIYXNoLCBzY3JpcHRDb250
ZW50LCBtX2hhc2hBbGdvcml0aG1zRm9ySW5saW5lU2NyaXB0cyk7CiAKICAgICAgICAgaWYgKHZp
b2xhdGVkRGlyZWN0aXZlRm9yTm9uUGFyc2VySW5zZXJ0ZWRTY3JpcHQgJiYgdmlvbGF0ZWREaXJl
Y3RpdmVGb3JTY3JpcHROb25jZSAmJiB2aW9sYXRlZERpcmVjdGl2ZUZvclNjcmlwdFNyYyAmJiAh
Zm91bmRIYXNoSW5FbmZvcmNlZFBvbGljaWVzKSB7CkBAIC0zNTUsNiArMzU2LDIzIEBAIGJvb2wg
Q29udGVudFNlY3VyaXR5UG9saWN5OjphbGxTY3JpcHRQb2xpY2llc0FsbG93KFZpb2xhdGVkRGly
ZWN0aXZlQ2FsbGJhY2smJiBjCiAgICAgcmV0dXJuIGlzQWxsb3dlZDsKIH0KIAorc3RhdGljIFZl
Y3RvcjxSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3Q+IHBhcnNlU3ViUmVzb3VyY2VJbnRlZ3Jp
dHlJbnRvRGlnZXN0cyhjb25zdCBTdHJpbmcmIHN1YlJlc291cmNlSW50ZWdyaXR5KQoreworICAg
IGF1dG8gZW5jb2RlZERpZ2VzdHMgPSBwYXJzZUludGVncml0eU1ldGFkYXRhKHN1YlJlc291cmNl
SW50ZWdyaXR5KTsKKyAgICBWZWN0b3I8UmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0PiBkZWNv
ZGVkRGlnZXN0czsKKworICAgIGlmICghZW5jb2RlZERpZ2VzdHMuaGFzX3ZhbHVlKCkpCisgICAg
ICAgIHJldHVybiB7IH07CisKKyAgICBmb3IgKGNvbnN0IGF1dG8mIGVuY29kZWREaWdlc3QgOiBl
bmNvZGVkRGlnZXN0cy52YWx1ZSgpKSB7CisgICAgICAgIGF1dG8gZGVjb2RlZERpZ2VzdCA9IGRl
Y29kZUVuY29kZWRSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3QoZW5jb2RlZERpZ2VzdCk7Cisg
ICAgICAgIGlmIChkZWNvZGVkRGlnZXN0Lmhhc192YWx1ZSgpKQorICAgICAgICAgICAgZGVjb2Rl
ZERpZ2VzdHMuYXBwZW5kKGRlY29kZWREaWdlc3QudmFsdWUoKSk7CisgICAgfQorCisgICAgcmV0
dXJuIGRlY29kZWREaWdlc3RzOworfQorCiB0ZW1wbGF0ZTx0eXBlbmFtZSBQcmVkaWNhdGU+CiBD
b250ZW50U2VjdXJpdHlQb2xpY3k6Okhhc2hJbkVuZm9yY2VkQW5kUmVwb3J0T25seVBvbGljaWVz
UGFpciBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmZpbmRIYXNoT2ZDb250ZW50SW5Qb2xpY2llcyhj
b25zdCBQcmVkaWNhdGUmIHByZWRpY2F0ZSwgU3RyaW5nVmlldyBjb250ZW50LCBPcHRpb25TZXQ8
Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaEFsZ29yaXRobT4gYWxnb3JpdGhtcykgY29uc3QKIHsK
QEAgLTYzMiw2ICs2NTAsNyBAQCBib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dSZXNv
dXJjZUZyb21Tb3VyY2UoY29uc3QgVVJMJiB1cmwsIFJlZGlyZWN0UmVzcAogICAgICAgICBTdHJp
bmcgY29uc29sZU1lc3NhZ2UgPSBjb25zb2xlTWVzc2FnZUZvclZpb2xhdGlvbihuYW1lLCB2aW9s
YXRlZERpcmVjdGl2ZSwgYmxvY2tlZFVSTCwgIlJlZnVzZWQgdG8gbG9hZCIpOwogICAgICAgICBy
ZXBvcnRWaW9sYXRpb24obmFtZSwgdmlvbGF0ZWREaXJlY3RpdmUsIGJsb2NrZWRVUkwuc3RyaW5n
KCksIGNvbnNvbGVNZXNzYWdlLCBzb3VyY2VVUkwsIFN0cmluZ1ZpZXcoKSwgc291cmNlUG9zaXRp
b24pOwogICAgIH07CisKICAgICByZXR1cm4gYWxsUG9saWNpZXNBbGxvdyhXVEZNb3ZlKGhhbmRs
ZVZpb2xhdGVkRGlyZWN0aXZlKSwgcmVzb3VyY2VQcmVkaWNhdGUsIHVybCwgcmVkaXJlY3RSZXNw
b25zZVJlY2VpdmVkID09IFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZDo6WWVzKTsKIH0KIApAQCAt
NjQwLDEyICs2NTksMjMgQEAgYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93Q2hpbGRD
b250ZXh0RnJvbVNvdXJjZShjb25zdCBVUkwmIHVybCwgUmVkaXJlY3QKICAgICByZXR1cm4gYWxs
b3dSZXNvdXJjZUZyb21Tb3VyY2UodXJsLCByZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQsIENvbnRl
bnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZU5hbWVzOjpjaGlsZFNyYywgJkNvbnRlbnRTZWN1cml0
eVBvbGljeURpcmVjdGl2ZUxpc3Q6OnZpb2xhdGVkRGlyZWN0aXZlRm9yQ2hpbGRDb250ZXh0LCBw
cmVSZWRpcmVjdFVSTCk7CiB9CiAKLWJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd1Nj
cmlwdEZyb21Tb3VyY2UoY29uc3QgVVJMJiB1cmwsIFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCBy
ZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQsIGNvbnN0IFVSTCYgcHJlUmVkaXJlY3RVUkwpIGNvbnN0
Citib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dTY3JpcHRGcm9tU291cmNlKGNvbnN0
IFVSTCYgdXJsLCBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgcmVkaXJlY3RSZXNwb25zZVJlY2Vp
dmVkLCBjb25zdCBVUkwmIHByZVJlZGlyZWN0VVJMLCBjb25zdCBTdHJpbmcmIHN1YlJlc291cmNl
SW50ZWdyaXR5KSBjb25zdAogewogICAgIGlmIChzaG91bGRQZXJmb3JtRWFybHlDU1BDaGVjaygp
KQogICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAoTGVnYWN5U2NoZW1lUmVnaXN0cnk6OnNj
aGVtZVNob3VsZEJ5cGFzc0NvbnRlbnRTZWN1cml0eVBvbGljeSh1cmwucHJvdG9jb2woKS50b1N0
cmluZ1dpdGhvdXRDb3B5aW5nKCkpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIFN0cmlu
ZyBzb3VyY2VVUkw7CisgICAgY29uc3QgYXV0byYgYmxvY2tlZFVSTCA9ICFwcmVSZWRpcmVjdFVS
TC5pc051bGwoKSA/IHByZVJlZGlyZWN0VVJMIDogdXJsOworICAgIFRleHRQb3NpdGlvbiBzb3Vy
Y2VQb3NpdGlvbihPcmRpbmFsTnVtYmVyOjpiZWZvcmVGaXJzdCgpLCBPcmRpbmFsTnVtYmVyKCkp
OworICAgIGF1dG8gaGFuZGxlVmlvbGF0ZWREaXJlY3RpdmUgPSBbJl0gKGNvbnN0IENvbnRlbnRT
ZWN1cml0eVBvbGljeURpcmVjdGl2ZSYgdmlvbGF0ZWREaXJlY3RpdmUpIHsKKyAgICAgICAgU3Ry
aW5nIGNvbnNvbGVNZXNzYWdlID0gY29uc29sZU1lc3NhZ2VGb3JWaW9sYXRpb24oQ29udGVudFNl
Y3VyaXR5UG9saWN5RGlyZWN0aXZlTmFtZXM6OnNjcmlwdFNyYywgdmlvbGF0ZWREaXJlY3RpdmUs
IGJsb2NrZWRVUkwsICJSZWZ1c2VkIHRvIGxvYWQiKTsKKyAgICAgICAgcmVwb3J0VmlvbGF0aW9u
KENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZU5hbWVzOjpzY3JpcHRTcmMsIHZpb2xhdGVk
RGlyZWN0aXZlLCBibG9ja2VkVVJMLnN0cmluZygpLCBjb25zb2xlTWVzc2FnZSwgc291cmNlVVJM
LCBTdHJpbmdWaWV3KCksIHNvdXJjZVBvc2l0aW9uKTsKKyAgICB9OwogCi0gICAgcmV0dXJuIGFs
bG93UmVzb3VyY2VGcm9tU291cmNlKHVybCwgcmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBDb250
ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVOYW1lczo6c2NyaXB0U3JjLCAmQ29udGVudFNlY3Vy
aXR5UG9saWN5RGlyZWN0aXZlTGlzdDo6dmlvbGF0ZWREaXJlY3RpdmVGb3JTY3JpcHQsIHByZVJl
ZGlyZWN0VVJMKTsKKyAgICBhdXRvIHN1YlJlc291cmNlSW50ZWdyaXR5RGlnZXN0cyA9IHBhcnNl
U3ViUmVzb3VyY2VJbnRlZ3JpdHlJbnRvRGlnZXN0cyhzdWJSZXNvdXJjZUludGVncml0eSk7Cisg
ICAgcmV0dXJuIGFsbFBvbGljaWVzQWxsb3coV1RGTW92ZShoYW5kbGVWaW9sYXRlZERpcmVjdGl2
ZSksICZDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0Ojp2aW9sYXRlZERpcmVjdGl2
ZUZvclNjcmlwdCwgdXJsLCByZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgPT0gUmVkaXJlY3RSZXNw
b25zZVJlY2VpdmVkOjpZZXMsIHN1YlJlc291cmNlSW50ZWdyaXR5RGlnZXN0cyk7CiB9CiAKIGJv
b2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0ltYWdlRnJvbVNvdXJjZShjb25zdCBVUkwm
IHVybCwgUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkIHJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCwg
Y29uc3QgVVJMJiBwcmVSZWRpcmVjdFVSTCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKaW5kZXggZWNmZTUyYTc1NGZjMDYzYmU2MDNk
NTllMzIwN2MxM2JhNjU0NWRmYi4uMTliZDc4ZDE4YzdlNDA0ZmQ2OTAxMTAwYzJlODllNWU4MzEy
M2M3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5
UG9saWN5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9s
aWN5LmgKQEAgLTExMCw3ICsxMTAsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9v
bCBvdmVycmlkZXNYRnJhbWVPcHRpb25zKCkgY29uc3Q7CiAKICAgICBlbnVtIGNsYXNzIFJlZGly
ZWN0UmVzcG9uc2VSZWNlaXZlZCB7IE5vLCBZZXMgfTsKLSAgICBXRUJDT1JFX0VYUE9SVCBib29s
IGFsbG93U2NyaXB0RnJvbVNvdXJjZShjb25zdCBVUkwmLCBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2
ZWQgPSBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQ6Ok5vLCBjb25zdCBVUkwmIHByZVJlZGlyZWN0
VVJMID0gVVJMKCkpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgYWxsb3dTY3JpcHRG
cm9tU291cmNlKGNvbnN0IFVSTCYsIFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCA9IFJlZGlyZWN0
UmVzcG9uc2VSZWNlaXZlZDo6Tm8sIGNvbnN0IFVSTCYgcHJlUmVkaXJlY3RVUkwgPSBVUkwoKSwg
Y29uc3QgU3RyaW5nJiA9IG51bGxTdHJpbmcoKSkgY29uc3Q7CiAgICAgYm9vbCBhbGxvd0ltYWdl
RnJvbVNvdXJjZShjb25zdCBVUkwmLCBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgPSBSZWRpcmVj
dFJlc3BvbnNlUmVjZWl2ZWQ6Ok5vLCBjb25zdCBVUkwmIHByZVJlZGlyZWN0VVJMID0gVVJMKCkp
IGNvbnN0OwogICAgIGJvb2wgYWxsb3dTdHlsZUZyb21Tb3VyY2UoY29uc3QgVVJMJiwgUmVkaXJl
Y3RSZXNwb25zZVJlY2VpdmVkID0gUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkOjpObywgY29uc3Qg
VVJMJiBwcmVSZWRpcmVjdFVSTCA9IFVSTCgpKSBjb25zdDsKICAgICBib29sIGFsbG93Rm9udEZy
b21Tb3VyY2UoY29uc3QgVVJMJiwgUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkID0gUmVkaXJlY3RS
ZXNwb25zZVJlY2VpdmVkOjpObywgY29uc3QgVVJMJiBwcmVSZWRpcmVjdFVSTCA9IFVSTCgpKSBj
b25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0
eVBvbGljeURpcmVjdGl2ZUxpc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVu
dFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5jcHAKaW5kZXggMTExMTcxY2U4MzE5YzcxY2Q0
MWM2MjRmNDk3NTNjNWJjZGM5Zjg4My4uZWY2YWVkOTJiZjNjYzRiZmRlNjc5MGEwMzMyMzE3Yzdj
ZmJhMGJlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3Vy
aXR5UG9saWN5RGlyZWN0aXZlTGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3Av
Q29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5jcHAKQEAgLTM4Nyw5ICszODcsMTMg
QEAgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlKiBDb250ZW50U2VjdXJpdHlQ
b2xpY3lEaXJlY3RpdmVMaXN0Ojp2aW9sYXQKICAgICByZXR1cm4gbV9wbHVnaW5UeXBlcy5nZXQo
KTsKIH0KIAotY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlKiBDb250ZW50U2Vj
dXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0Ojp2aW9sYXRlZERpcmVjdGl2ZUZvclNjcmlwdChjb25z
dCBVUkwmIHVybCwgYm9vbCBkaWRSZWNlaXZlUmVkaXJlY3RSZXNwb25zZSkgY29uc3QKK2NvbnN0
IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZSogQ29udGVudFNlY3VyaXR5UG9saWN5RGly
ZWN0aXZlTGlzdDo6dmlvbGF0ZWREaXJlY3RpdmVGb3JTY3JpcHQoY29uc3QgVVJMJiB1cmwsIGJv
b2wgZGlkUmVjZWl2ZVJlZGlyZWN0UmVzcG9uc2UsIGNvbnN0IFZlY3RvcjxSZXNvdXJjZUNyeXB0
b2dyYXBoaWNEaWdlc3Q+JiBzdWJSZXNvdXJjZUludGVncml0eURpZ2VzdHMpIGNvbnN0CiB7CiAg
ICAgYXV0byogb3BlcmF0aXZlRGlyZWN0aXZlID0gdGhpcy0+b3BlcmF0aXZlRGlyZWN0aXZlKG1f
c2NyaXB0U3JjLmdldCgpLCBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVOYW1lczo6c2Ny
aXB0U3JjRWxlbSk7CisKKyAgICBpZiAob3BlcmF0aXZlRGlyZWN0aXZlLT5jb250YWluc0FsbEhh
c2hlcyhzdWJSZXNvdXJjZUludGVncml0eURpZ2VzdHMpKQorICAgICAgICByZXR1cm4gbnVsbHB0
cjsKKwogICAgIGlmIChjaGVja1NvdXJjZShvcGVyYXRpdmVEaXJlY3RpdmUsIHVybCwgZGlkUmVj
ZWl2ZVJlZGlyZWN0UmVzcG9uc2UpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICByZXR1
cm4gb3BlcmF0aXZlRGlyZWN0aXZlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9j
c3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5oCmluZGV4IGMzZTIw
ODQwZDg2YzEwZmMwMjM0YWQ0ZTk2NmY5MGI2ZGQwZDVkODkuLjg3ZGM4ZmZhNGQ1YjU3NzAzNTJk
YmNmOTVlMjU1OWE0NzcyMmIyMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3Nw
L0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0LmgKQEAgLTc1LDkg
Kzc1LDExIEBAIHB1YmxpYzoKICAgICBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3Rp
dmUqIHZpb2xhdGVkRGlyZWN0aXZlRm9yTWVkaWEoY29uc3QgVVJMJiwgYm9vbCBkaWRSZWNlaXZl
UmVkaXJlY3RSZXNwb25zZSkgY29uc3Q7CiAgICAgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5
RGlyZWN0aXZlKiB2aW9sYXRlZERpcmVjdGl2ZUZvck9iamVjdFNvdXJjZShjb25zdCBVUkwmLCBi
b29sIGRpZFJlY2VpdmVSZWRpcmVjdFJlc3BvbnNlLCBDb250ZW50U2VjdXJpdHlQb2xpY3lTb3Vy
Y2VMaXN0RGlyZWN0aXZlOjpTaG91bGRBbGxvd0VtcHR5VVJMSWZTb3VyY2VMaXN0SXNOb3ROb25l
KSBjb25zdDsKICAgICBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmUqIHZpb2xh
dGVkRGlyZWN0aXZlRm9yUGx1Z2luVHlwZShjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmlu
ZyYgdHlwZUF0dHJpYnV0ZSkgY29uc3Q7Ci0gICAgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5
RGlyZWN0aXZlKiB2aW9sYXRlZERpcmVjdGl2ZUZvclNjcmlwdChjb25zdCBVUkwmLCBib29sIGRp
ZFJlY2VpdmVSZWRpcmVjdFJlc3BvbnNlKSBjb25zdDsKKyAgICBjb25zdCBDb250ZW50U2VjdXJp
dHlQb2xpY3lEaXJlY3RpdmUqIHZpb2xhdGVkRGlyZWN0aXZlRm9yU2NyaXB0KGNvbnN0IFVSTCYs
IGJvb2wgZGlkUmVjZWl2ZVJlZGlyZWN0UmVzcG9uc2UsIGNvbnN0IFZlY3RvcjxSZXNvdXJjZUNy
eXB0b2dyYXBoaWNEaWdlc3Q+JikgY29uc3Q7CiAgICAgY29uc3QgQ29udGVudFNlY3VyaXR5UG9s
aWN5RGlyZWN0aXZlKiB2aW9sYXRlZERpcmVjdGl2ZUZvclN0eWxlKGNvbnN0IFVSTCYsIGJvb2wg
ZGlkUmVjZWl2ZVJlZGlyZWN0UmVzcG9uc2UpIGNvbnN0OwogCisgICAgYm9vbCBkaXJlY3RpdmVD
b250YWluc0FsbEhhc2hlcyhjb25zdCBWZWN0b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4m
KSBjb25zdDsKKwogICAgIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZSogZGVm
YXVsdFNyYygpIGNvbnN0IHsgcmV0dXJuIG1fZGVmYXVsdFNyYy5nZXQoKTsgfQogCiAgICAgYm9v
bCBoYXNCbG9ja0FsbE1peGVkQ29udGVudERpcmVjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1faGFz
QmxvY2tBbGxNaXhlZENvbnRlbnREaXJlY3RpdmU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdC5jcHAKaW5k
ZXggNDlkYTQ0YTlkY2MyYTRiM2ZiOGJmMTk4ZmQ5ZDdhNDU4NzdhMmQwMi4uMzg3MTFlMWM1YzY3
NjE3ZTFkM2ZjMjAyOGIwZjE5MjZlMjQyMzUwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdC5jcHAKQEAg
LTE1NSw2ICsxNTUsMTkgQEAgYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0Ojpt
YXRjaGVzKGNvbnN0IFZlY3RvcjxDb250ZW50U2VjdXJpdHlQb2xpY3kKICAgICByZXR1cm4gZmFs
c2U7CiB9CiAKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdDo6bWF0Y2hlc0Fs
bChjb25zdCBWZWN0b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4mIGhhc2hlcykgY29uc3QK
K3sKKyAgICBpZiAoaGFzaGVzLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgZm9yIChhdXRvJiBoYXNoIDogaGFzaGVzKSB7CisgICAgICAgIGlmICghbV9oYXNoZXMuY29u
dGFpbnMoaGFzaCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgcmV0
dXJuIHRydWU7Cit9CisKIGJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdDo6bWF0
Y2hlcyhjb25zdCBTdHJpbmcmIG5vbmNlKSBjb25zdAogewogICAgIGlmIChub25jZS5pc0VtcHR5
KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQ
b2xpY3lTb3VyY2VMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJp
dHlQb2xpY3lTb3VyY2VMaXN0LmgKaW5kZXggMzc5NDVlNmNiMDNmMzFmMzAzMTM4Njg0YWMyMjgx
OTIzYjZjMzZkNS4uZTRmOGM4NzljNTQwM2Y1OTFkZjIzNGU2YTFjOGFiOWZhNTU5Y2NmOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291
cmNlTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBv
bGljeVNvdXJjZUxpc3QuaApAQCAtNDUsNiArNDUsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIG1h
dGNoZXMoY29uc3QgVVJMJiwgYm9vbCBkaWRSZWNlaXZlUmVkaXJlY3RSZXNwb25zZSkgY29uc3Q7
CiAgICAgYm9vbCBtYXRjaGVzKGNvbnN0IFZlY3RvcjxDb250ZW50U2VjdXJpdHlQb2xpY3lIYXNo
PiYpIGNvbnN0OworICAgIGJvb2wgbWF0Y2hlc0FsbChjb25zdCBWZWN0b3I8Q29udGVudFNlY3Vy
aXR5UG9saWN5SGFzaD4mKSBjb25zdDsKICAgICBib29sIG1hdGNoZXMoY29uc3QgU3RyaW5nJiBu
b25jZSkgY29uc3Q7CiAKICAgICBPcHRpb25TZXQ8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaEFs
Z29yaXRobT4gaGFzaEFsZ29yaXRobXNVc2VkKCkgY29uc3QgeyByZXR1cm4gbV9oYXNoQWxnb3Jp
dGhtc1VzZWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRT
ZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3RpdmUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdERpcmVjdGl2ZS5jcHAKaW5kZXgg
MWUwYmQzMjEzOTRkYzRmMjVhNDFiMGY1NzE3MjdlNjkxYWEwYzY1YS4uYjA2OWNhZjQxM2QxZjc4
ZjNiOGI3NDM4ZTNmMDcwOWQ1ZDYxZjc3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdERpcmVjdGl2ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdERp
cmVjdGl2ZS5jcHAKQEAgLTUyLDYgKzUyLDExIEBAIGJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5
U291cmNlTGlzdERpcmVjdGl2ZTo6YWxsb3dzKGNvbnN0IFN0cmluZyYgbm9uY2UpIGNvbnN0CiAg
ICAgcmV0dXJuIG1fc291cmNlTGlzdC5tYXRjaGVzKG5vbmNlKTsKIH0KIAorYm9vbCBDb250ZW50
U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0RGlyZWN0aXZlOjpjb250YWluc0FsbEhhc2hlcyhjb25z
dCBWZWN0b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4mIGhhc2hlcykgY29uc3QKK3sKKyAg
ICByZXR1cm4gbV9zb3VyY2VMaXN0Lm1hdGNoZXNBbGwoaGFzaGVzKTsKK30KKwogYm9vbCBDb250
ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0RGlyZWN0aXZlOjphbGxvd3MoY29uc3QgVmVjdG9y
PENvbnRlbnRTZWN1cml0eVBvbGljeUhhc2g+JiBoYXNoZXMpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IG1fc291cmNlTGlzdC5tYXRjaGVzKGhhc2hlcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0RGlyZWN0aXZlLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0RGly
ZWN0aXZlLmgKaW5kZXggNzhiYTk1YTgxZDAxMzkzNjhkMzg3ZjFkZGYwNDU1ZDVkZDljZTMwZC4u
YzM1NGExY2UzZWJhMzg5YzM0ZjkxZjNkODZkZTk3NzI3OGUwYmIwYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdERpcmVj
dGl2ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGlj
eVNvdXJjZUxpc3REaXJlY3RpdmUuaApAQCAtNDAsNiArNDAsNyBAQCBwdWJsaWM6CiAgICAgZW51
bSBjbGFzcyBTaG91bGRBbGxvd0VtcHR5VVJMSWZTb3VyY2VMaXN0SXNOb3ROb25lIHsgTm8sIFll
cyB9OwogICAgIGJvb2wgYWxsb3dzKGNvbnN0IFVSTCYsIGJvb2wgZGlkUmVjZWl2ZVJlZGlyZWN0
UmVzcG9uc2UsIFNob3VsZEFsbG93RW1wdHlVUkxJZlNvdXJjZUxpc3RJc05vdE5vbmUpOwogICAg
IGJvb2wgYWxsb3dzKGNvbnN0IFZlY3RvcjxDb250ZW50U2VjdXJpdHlQb2xpY3lIYXNoPiYpIGNv
bnN0OworICAgIGJvb2wgY29udGFpbnNBbGxIYXNoZXMoY29uc3QgVmVjdG9yPENvbnRlbnRTZWN1
cml0eVBvbGljeUhhc2g+JikgY29uc3Q7CiAgICAgYm9vbCBhbGxvd1Vuc2FmZUhhc2hlcyhjb25z
dCBWZWN0b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4mKSBjb25zdDsKICAgICBib29sIGFs
bG93cyhjb25zdCBTdHJpbmcmIG5vbmNlKSBjb25zdDsKICAgICBib29sIGFsbG93SW5saW5lKCkg
Y29uc3QgeyByZXR1cm4gbV9zb3VyY2VMaXN0LmFsbG93SW5saW5lKCk7IH0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjMjU0
YzBlMmIwOTgwNjJkZGJiMWI5OGExNWNiM2NmMmY4NmI4ZDc3Li43MTAxMDMxNzA3YTIzNmMyZTNh
OGM2MzU0ODg1N2ViM2ZjYTc4ZDAxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMTItMDUg
IFBhdHJpY2sgR3JpZmZpcyAgPHBncmlmZmlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgQ1NQOiBB
bGxvdyBleHRlcm5hbCBzY3JpcHRzIHdpdGggU1JJIGhhc2hlcyBtYXRjaGluZyBDU1AKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzkxMQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSB0ZXN0cyB0
byBhY2NlcHQgYmFzZTY0IHdpdGggZXh0cmEgcGFkZGluZy4KKworICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zY3JpcHRoYXNoLXRlc3RzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS8xLjEvc2NyaXB0aGFzaC10ZXN0cy5odG1sOgorCiAyMDIxLTEyLTA2ICBBcmNhZHkg
R29sZG1pbnRzLU9ybG92ICA8YWdvbGRtaW50c0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtd
W1dQRV0gTWF0aG1sIGFzc2VydHMgd2l0aCBpbnZpc2libGUgb3BlcmF0b3JzCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAwMzVjZmVkODM4OWFmMjhiOTQyMjViYzE5YTVlNzNjMDk2
NmQwMTBkLi4yYjNiNTA1MzYzZDM4ZGY1Mzg5ZWE0NTgyMzQ2NGQxMDBjNmQ5Y2U5IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0xMi0wNSAgUGF0
cmljayBHcmlmZmlzICA8cGdyaWZmaXNAaWdhbGlhLmNvbT4KKworICAgICAgICBDU1A6IEFsbG93
IGV4dGVybmFsIHNjcmlwdHMgd2l0aCBTUkkgaGFzaGVzIG1hdGNoaW5nIENTUAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzOTExCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGV4cGVjdGF0aW9u
cyB3aXRoIG1vcmUgcGFzc2VzLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRl
bnQtc2VjdXJpdHktcG9saWN5L3NjcmlwdC1zcmMvc2NyaXB0LXNyYy1yZXBvcnQtb25seS1wb2xp
Y3ktd29ya3Mtd2l0aC1leHRlcm5hbC1oYXNoLXBvbGljeS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3NjcmlwdC1zcmMv
c2NyaXB0LXNyYy1zcmlfaGFzaC5zdWItZXhwZWN0ZWQudHh0OgorCiAyMDIxLTEyLTA2ICBUYWRl
dSBaYWdhbGxvICA8dHphZ2FsbG9AYXBwbGUuY29tPgogCiAgICAgICAgIFJlc3RvcmUgbmF2aWdh
dG9yLmhhcmR3YXJlQ29uY3VycmVuY3kKQEAgLTM2LDcgKzQ4LDYgQEAKICAgICAgICAgUmViYXNl
bGluZSBXUFQgdGVzdHMgbm93IHRoYXQgbW9yZSBjaGVja3MgYXJlIHBhc3NpbmcuCiAKICAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvY29uc3RyYWludHMv
Zm9ybS12YWxpZGF0aW9uLXZhbGlkaXR5LXZhbGlkLWV4cGVjdGVkLnR4dDoKLQogMjAyMS0xMi0w
MiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIGh0bWwvc2VtYW50
aWNzL2Zvcm1zL2NvbnN0cmFpbnRzL2lucHV0LW51bWJlci12YWxpZGl0eS1keW5hbWljLXZhbHVl
LW5vLWNoYW5nZS5odG1sIFdQVCB0ZXN0IGlzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zY3JpcHRo
YXNoLXRlc3RzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zY3JpcHRoYXNoLXRlc3RzLWV4cGVjdGVkLnR4dApp
bmRleCA3Mzk2M2E2YTNmYjlkOWQ0NTFjZjQ1NmQyZDc4MzY0MTc4ODk3OWNiLi5kNGQ1ZmFlMjNk
Y2E1NGExNDNmNTViMWI5NTBlOTIyY2IzMjU1NmYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2NyaXB0aGFzaC10
ZXN0cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NjcmlwdGhhc2gtdGVzdHMtZXhwZWN0ZWQudHh0CkBA
IC0xMiw4ICsxMiw2IEBAIENPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBleGVjdXRlIGEgc2Ny
aXB0IGJlY2F1c2UgaXRzIGhhc2gsIGl0cyBub25jZSwgb3IgJ3VuCiBDT05TT0xFIE1FU1NBR0U6
IFJlZnVzZWQgdG8gZXhlY3V0ZSBhIHNjcmlwdCBiZWNhdXNlIGl0cyBoYXNoLCBpdHMgbm9uY2Us
IG9yICd1bnNhZmUtaW5saW5lJyBkb2VzIG5vdCBhcHBlYXIgaW4gdGhlIHNjcmlwdC1zcmMgZGly
ZWN0aXZlIG9mIHRoZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeS4KIENPTlNPTEUgTUVTU0FHRTog
VGhlIHNvdXJjZSBsaXN0IGZvciBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmUgJ3Nj
cmlwdC1zcmMnIGNvbnRhaW5zIGFuIGludmFsaWQgc291cmNlOiAnJ3NoYTI1Ni0vVmV0MlJ2YTZ3
d3NueTh4eWJMKz1iUWFsMEd0ZjBGWlc3RU9WcXFnK0huYT0nJy4gSXQgd2lsbCBiZSBpZ25vcmVk
LgogQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGV4ZWN1dGUgYSBzY3JpcHQgYmVjYXVzZSBp
dHMgaGFzaCwgaXRzIG5vbmNlLCBvciAndW5zYWZlLWlubGluZScgZG9lcyBub3QgYXBwZWFyIGlu
IHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBvZiB0aGUgQ29udGVudCBTZWN1cml0eSBQb2xpY3ku
Ci1DT05TT0xFIE1FU1NBR0U6IFRoZSBzb3VyY2UgbGlzdCBmb3IgQ29udGVudCBTZWN1cml0eSBQ
b2xpY3kgZGlyZWN0aXZlICdzY3JpcHQtc3JjJyBjb250YWlucyBhbiBpbnZhbGlkIHNvdXJjZTog
JydzaGEyNTYtL3ZFVDJyVkE2V1dTTlk4WFlCbCtCcUFMMGdURjBmenc3ZW92UVFHK2hOQT09Jycu
IEl0IHdpbGwgYmUgaWdub3JlZC4KLUNPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBleGVjdXRl
IGEgc2NyaXB0IGJlY2F1c2UgaXRzIGhhc2gsIGl0cyBub25jZSwgb3IgJ3Vuc2FmZS1pbmxpbmUn
IGRvZXMgbm90IGFwcGVhciBpbiB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUgb2YgdGhlIENvbnRl
bnQgU2VjdXJpdHkgUG9saWN5LgogQ09OU09MRSBNRVNTQUdFOiBUaGUgc291cmNlIGxpc3QgZm9y
IENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZSAnc2NyaXB0LXNyYycgY29udGFpbnMg
YW4gaW52YWxpZCBzb3VyY2U6ICcnc2hhMjU2LS92RVQyclZBNldXU05ZOFhZQmwrQnFBTDBnVEYw
Znp3N2VvdlFRRytoTkE9PT0nJy4gSXQgd2lsbCBiZSBpZ25vcmVkLgogQ09OU09MRSBNRVNTQUdF
OiBSZWZ1c2VkIHRvIGV4ZWN1dGUgYSBzY3JpcHQgYmVjYXVzZSBpdHMgaGFzaCwgaXRzIG5vbmNl
LCBvciAndW5zYWZlLWlubGluZScgZG9lcyBub3QgYXBwZWFyIGluIHRoZSBzY3JpcHQtc3JjIGRp
cmVjdGl2ZSBvZiB0aGUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kuCiBDT05TT0xFIE1FU1NBR0U6
IFRoZSBzb3VyY2UgbGlzdCBmb3IgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlICdz
Y3JpcHQtc3JjJyBjb250YWlucyBhbiBpbnZhbGlkIHNvdXJjZTogJydzaGEyNTYtJy4gSXQgd2ls
bCBiZSBpZ25vcmVkLgpAQCAtNTMsNyArNTEsNyBAQCBQQVNTICJIYXNoIHdpdGhvdXQgcHJlZml4
IiBkaWQgbm90IHJ1biBpbmxpbmUgc2NyaXB0LgogUEFTUyAiU0hBLTI1NiBoYXNoIHdpdGggU0hB
LTM4NCBwcmVmaXgiIGRpZCBub3QgcnVuIGlubGluZSBzY3JpcHQuCiBQQVNTICJTSEEtMjU2IGhh
c2ggd2l0aCBTSEEtNTEyIHByZWZpeCIgZGlkIG5vdCBydW4gaW5saW5lIHNjcmlwdC4KIFBBU1Mg
Ik1hbGZvcm1lZCBTSEEtMjU2IGhhc2ggKGVxdWFsIHNpZ24gaW4gZGlzYWxsb3dlZCBwb3NpdGlv
bikiIGRpZCBub3QgcnVuIGlubGluZSBzY3JpcHQuCi1QQVNTICJTSEEtMjU2IGhhc2ggd2l0aCBv
bmUgZXh0cmFuZW91cyBlcXVhbCBzaWduIiBkaWQgbm90IHJ1biBpbmxpbmUgc2NyaXB0LgorUEFT
UyAiU0hBLTI1NiBoYXNoIHdpdGggb25lIGV4dHJhbmVvdXMgZXF1YWwgc2lnbiIgZGlkIHJ1biBp
bmxpbmUgc2NyaXB0LgogUEFTUyAiU0hBLTI1NiBoYXNoIHdpdGggdHdvIGV4dHJhbmVvdXMgZXF1
YWwgc2lnbnMiIGRpZCBub3QgcnVuIGlubGluZSBzY3JpcHQuCiBQQVNTICJNYWxmb3JtZWQgaGFz
aCBzb3VyY2UiIGRpZCBub3QgcnVuIGlubGluZSBzY3JpcHQuCiBQQVNTICJIYXNoIHNvdXJjZSB3
aXRob3V0IGhhc2giIGRpZCBub3QgcnVuIGlubGluZSBzY3JpcHQuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2Ny
aXB0aGFzaC10ZXN0cy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NjcmlwdGhhc2gtdGVzdHMuaHRtbAppbmRleCAyNTI2Y2Y2
Yjc3NjMxMjAyM2M4MDg4ZDQyNWEwNTA1ZWU1ZWQ2MjBlLi45ZDI2MmY2NWNmYjY1MjBjYzQxMDMz
MzY2NmE1OTM3YzFiN2M4NzEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2NyaXB0aGFzaC10ZXN0cy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
LzEuMS9zY3JpcHRoYXNoLXRlc3RzLmh0bWwKQEAgLTE1OSw3ICsxNTksNyBAQCB2YXIgdGVzdHMg
PSBbCiAgICAgY2hhcnNldDogIlVURjgiLAogICAgIHNjcmlwdDogZW5jb2RlVVJJQ29tcG9uZW50
KCJkaWRSdW5JbmxpbmVTY3JpcHQgPSB0cnVlOyIpLAogICAgIGhhc2hTb3VyY2U6ICInc2hhMjU2
LS92RVQyclZBNldXU05ZOFhZQmwrQnFBTDBnVEYwZnp3N2VvdlFRRytoTkE9PSciLAotICAgIGV4
cGVjdGVkUmVzdWx0OiBEb05vdFJ1bklubGluZVNjcmlwdCwKKyAgICBleHBlY3RlZFJlc3VsdDog
UnVuSW5saW5lU2NyaXB0LAogfSwKIHsKICAgICBuYW1lOiAiU0hBLTI1NiBoYXNoIHdpdGggdHdv
IGV4dHJhbmVvdXMgZXF1YWwgc2lnbnMiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQt
c3JjL3NjcmlwdC1zcmMtcmVwb3J0LW9ubHktcG9saWN5LXdvcmtzLXdpdGgtZXh0ZXJuYWwtaGFz
aC1wb2xpY3ktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQtc3JjL3NjcmlwdC1zcmMt
cmVwb3J0LW9ubHktcG9saWN5LXdvcmtzLXdpdGgtZXh0ZXJuYWwtaGFzaC1wb2xpY3ktZXhwZWN0
ZWQudHh0CmluZGV4IDg4NzNmNmRjOTBjNDExZDY4YTYyYzNjNjFjN2JjZjAxYjNlOWM3ZWQuLjUy
NDRkNjMyNTlmYTI2ZWMyZjM1OTcwYmUzMTZiZTFjMzk4MWZiYjAgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0eS1w
b2xpY3kvc2NyaXB0LXNyYy9zY3JpcHQtc3JjLXJlcG9ydC1vbmx5LXBvbGljeS13b3Jrcy13aXRo
LWV4dGVybmFsLWhhc2gtcG9saWN5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3Njcmlw
dC1zcmMvc2NyaXB0LXNyYy1yZXBvcnQtb25seS1wb2xpY3ktd29ya3Mtd2l0aC1leHRlcm5hbC1o
YXNoLXBvbGljeS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgU2hvdWxkIGZp
cmUgc2VjdXJpdHlwb2xpY3l2aW9sYXRpb24gZXZlbnQgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
InJlcG9ydCIgYnV0IGdvdCAiZW5mb3JjZSIKLUZBSUwgRXh0ZXJuYWwgc2NyaXB0IGluIGEgc2Ny
aXB0IHRhZyB3aXRoIG1hdGNoaW5nIFNSSSBoYXNoIHNob3VsZCBydW4uIGFzc2VydF90cnVlOiBF
eHRlcm5hbCBzY3JpcHQgcmFuLiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBTaG91bGQg
ZmlyZSBzZWN1cml0eXBvbGljeXZpb2xhdGlvbiBldmVudAorUEFTUyBFeHRlcm5hbCBzY3JpcHQg
aW4gYSBzY3JpcHQgdGFnIHdpdGggbWF0Y2hpbmcgU1JJIGhhc2ggc2hvdWxkIHJ1bi4KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb250
ZW50LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQtc3JjL3NjcmlwdC1zcmMtc3JpX2hhc2guc3ViLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y29udGVudC1zZWN1cml0eS1wb2xpY3kvc2NyaXB0LXNyYy9zY3JpcHQtc3JjLXNyaV9oYXNoLnN1
Yi1leHBlY3RlZC50eHQKaW5kZXggZjNkNzJlNDBiYjYxM2NjNjQwMzMxODY0MzUxOTBkMWViNmM1
OGM0ZC4uODcyNzY2Zjc5NTQ5NDgwYjNjNGZjYjc5OGI2MDg0ZjU4NGQzYjcwYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50LXNl
Y3VyaXR5LXBvbGljeS9zY3JpcHQtc3JjL3NjcmlwdC1zcmMtc3JpX2hhc2guc3ViLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nv
bnRlbnQtc2VjdXJpdHktcG9saWN5L3NjcmlwdC1zcmMvc2NyaXB0LXNyYy1zcmlfaGFzaC5zdWIt
ZXhwZWN0ZWQudHh0CkBAIC0yLDE0ICsyLDE0IEBAIEV4dGVybmFsIHNjcmlwdHMgd2l0aCBtYXRj
aGluZyBTUkkgaGFzaCBzaG91bGQgYmUgYWxsb3dlZC4KIAogCiBQQVNTIExvYWQgYWxsIHRoZSB0
ZXN0cy4KLUZBSUwgbWF0Y2hpbmcgaW50ZWdyaXR5IGFzc2VydF91bnJlYWNoZWQ6IFNjcmlwdCBz
aG91bGQgbG9hZCEgaHR0cDovL2xvY2FsaG9zdDo4ODAwL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5
L3NjcmlwdC1zcmMvc2ltcGxlU291cmNlZFNjcmlwdC5qcyBSZWFjaGVkIHVucmVhY2hhYmxlIGNv
ZGUKLUZBSUwgbXVsdGlwbGUgbWF0Y2hpbmcgaW50ZWdyaXR5IGFzc2VydF91bnJlYWNoZWQ6IFNj
cmlwdCBzaG91bGQgbG9hZCEgaHR0cDovL2xvY2FsaG9zdDo4ODAwL2NvbnRlbnQtc2VjdXJpdHkt
cG9saWN5L3NjcmlwdC1zcmMvc2ltcGxlU291cmNlZFNjcmlwdC5qcyBSZWFjaGVkIHVucmVhY2hh
YmxlIGNvZGUKK1BBU1MgbWF0Y2hpbmcgaW50ZWdyaXR5CitQQVNTIG11bHRpcGxlIG1hdGNoaW5n
IGludGVncml0eQogUEFTUyBubyBpbnRlZ3JpdHkKLUZBSUwgbWF0Y2hpbmcgcGx1cyB1bnN1cHBv
cnRlZCBpbnRlZ3JpdHkgYXNzZXJ0X3VucmVhY2hlZDogU2NyaXB0IHNob3VsZCBsb2FkISBodHRw
Oi8vbG9jYWxob3N0Ojg4MDAvY29udGVudC1zZWN1cml0eS1wb2xpY3kvc2NyaXB0LXNyYy9zaW1w
bGVTb3VyY2VkU2NyaXB0LmpzIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBtYXRjaGlu
ZyBwbHVzIHVuc3VwcG9ydGVkIGludGVncml0eQogUEFTUyBtaXNtYXRjaGVkIGludGVncml0eQog
UEFTUyBtdWx0aXBsZSBtaXNtYXRjaGVkIGludGVncml0eQogUEFTUyBwYXJ0aWFsbHkgbWF0Y2hp
bmcgaW50ZWdyaXR5CiBGQUlMIGNyb3Nzb3JpZ2luIG5vIGludGVncml0eSBidXQgYWxsb3dlZCBo
b3N0IGFzc2VydF91bnJlYWNoZWQ6IFNjcmlwdCBzaG91bGQgbG9hZCEgaHR0cDovLzEyNy4wLjAu
MTo4ODAwL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3NjcmlwdC1zcmMvY3Jvc3NvcmlnaW5TY3Jp
cHQuanMgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCiBGQUlMIGNyb3Nzb3JpZ2luIG1pc21hdGNo
ZWQgaW50ZWdyaXR5IGJ1dCBhbGxvd2VkIGhvc3QgYXNzZXJ0X3VucmVhY2hlZDogU2NyaXB0IHNo
b3VsZCBsb2FkISBodHRwOi8vMTI3LjAuMC4xOjg4MDAvY29udGVudC1zZWN1cml0eS1wb2xpY3kv
c2NyaXB0LXNyYy9jcm9zc29yaWdpblNjcmlwdC5qcyBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUK
LUZBSUwgRXh0ZXJuYWwgc2NyaXB0IGluIGEgc2NyaXB0IHRhZyB3aXRoIG1hdGNoaW5nIFNSSSBo
YXNoIHNob3VsZCBydW4uIGFzc2VydF90cnVlOiBFeHRlcm5hbCBzY3JpcHQgcmFuLiBleHBlY3Rl
ZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBFeHRlcm5hbCBzY3JpcHQgaW4gYSBzY3JpcHQgdGFnIHdp
dGggbWF0Y2hpbmcgU1JJIGhhc2ggc2hvdWxkIHJ1bi4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446274</attachid>
            <date>2021-12-07 18:39:10 -0800</date>
            <delta_ts>2021-12-10 08:09:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233911-20211207203910.patch</filename>
            <type>text/plain</type>
            <size>26922</size>
            <attacher name="Patrick Griffis">pgriffis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjNlMzRlN2EyNjgzMGQ3
MjFlNWYzODgzNWM0YzdmZDBlM2E2NGY1NC4uMTMxMzcwZmE3YjYzZmYyY2JjN2E2YTNjZTA4MWM2
YTQxNmVmMmYzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTEyLTA1ICBQYXRy
aWNrIEdyaWZmaXMgIDxwZ3JpZmZpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIENTUDogQWxsb3cg
ZXh0ZXJuYWwgc2NyaXB0cyB3aXRoIFNSSSBoYXNoZXMgbWF0Y2hpbmcgQ1NQCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5MTEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgY2hhbmdlIGlu
IENTUDMgdGhhdCBhbGxvd3MgbG9hZGluZyBleHRlcm5hbAorICAgICAgICBzY3JpcHRzIHRoYXQg
aGF2ZSBTUkkgaGFzaGVzIG1hdGNoaW5nIENTUCBoYXNoZXMuCisgICAgICAgIGh0dHBzOi8vd3d3
LnczLm9yZy9UUi9DU1AzLyNleHRlcm5hbC1oYXNoCisKKyAgICAgICAgUmVzb3VyY2VDcnlwdG9n
cmFwaGljRGlnZXN0IHdhcyBjaGFuZ2VkIHRvIG5vdCB2YWxpZGF0ZSBwYWRkaW5nCisgICAgICAg
IGR1cmluZyBiYXNlNjQgZGVjb2Rpbmcgd2hpY2ggaXMgaGFybWxlc3MgYW5kIGZpeGVzIHBhcnNp
bmcgdGhlCisgICAgICAgIGhhc2hlcyB1c2VkIGluIFdQVCdzIHNjcmlwdC1zcmMtc3JpX2hhc2gu
c3ViLmh0bWwuCisKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6aXNBbGxvd2Vk
QnlDb250ZW50U2VjdXJpdHlQb2xpY3kpOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUNyeXB0
b2dyYXBoaWNEaWdlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VDcnlwdG9ncmFwaGlj
RGlnZXN0SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpkZWNvZGVFbmNvZGVkUmVzb3VyY2VDcnlw
dG9ncmFwaGljRGlnZXN0KToKKyAgICAgICAgKiBsb2FkZXIvU3VicmVzb3VyY2VJbnRlZ3JpdHku
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VJbnRlZ3JpdHlNZXRhZGF0YSk6CisgICAgICAg
ICogbG9hZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5Lmg6CisgICAgICAgICogbG9hZGVyL2NhY2hl
L0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291
cmNlTG9hZGVyOjphbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3kgY29uc3QpOgorICAgICAg
ICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbFNjcmlwdFBvbGljaWVzQWxsb3cgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6cGFyc2VTdWJSZXNvdXJjZUludGVncml0eUludG9EaWdlc3RzKToK
KyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dSZXNvdXJjZUZy
b21Tb3VyY2UgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5
OjphbGxvd1NjcmlwdEZyb21Tb3VyY2UgY29uc3QpOgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRl
bnRTZWN1cml0eVBvbGljeS5oOgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBv
bGljeURpcmVjdGl2ZUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5
UG9saWN5RGlyZWN0aXZlTGlzdDo6dmlvbGF0ZWREaXJlY3RpdmVGb3JTY3JpcHQgY29uc3QpOgor
ICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3QuaDoK
KyAgICAgICAgKiBwYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3Q6Om1hdGNo
ZXNBbGwgY29uc3QpOgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNv
dXJjZUxpc3QuaDoKKyAgICAgICAgKiBwYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3Vy
Y2VMaXN0RGlyZWN0aXZlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBv
bGljeVNvdXJjZUxpc3REaXJlY3RpdmU6OmNvbnRhaW5zQWxsSGFzaGVzIGNvbnN0KToKKyAgICAg
ICAgKiBwYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0RGlyZWN0aXZlLmg6
CisKIDIwMjEtMTItMDYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAg
ICA8aW5wdXQgdHlwZT0idGltZSI+J3MgcmFuZ2Ugc2hvdWxkIGJlIHJldmVyc2libGUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKaW5k
ZXggOWE0ZDRiMjEyZmRmZDI4MTg0Mzc2ZDRiNzBjN2RhNGYzZWI3YzgzMi4uYzEwZDVjMWRiZWJl
ZjA1NTI4NDNkZDlmYzBhNTMzZGRiNDc5M2E0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTY4NSw3ICs2ODUsNyBAQCBi
b29sIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6aXNBbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQ
b2xpY3koY29uc3QgVVJMJiB1cmwsCiAgICAgY2FzZSBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZv
cmNlbWVudDo6RW5mb3JjZUNvbm5lY3RTcmNEaXJlY3RpdmU6CiAgICAgICAgIHJldHVybiBjb250
ZW50U2VjdXJpdHlQb2xpY3koKS5hbGxvd0Nvbm5lY3RUb1NvdXJjZSh1cmwsIHJlZGlyZWN0UmVz
cG9uc2VSZWNlaXZlZCwgcHJlUmVkaXJlY3RVUkwpOwogICAgIGNhc2UgQ29udGVudFNlY3VyaXR5
UG9saWN5RW5mb3JjZW1lbnQ6OkVuZm9yY2VTY3JpcHRTcmNEaXJlY3RpdmU6Ci0gICAgICAgIHJl
dHVybiBjb250ZW50U2VjdXJpdHlQb2xpY3koKS5hbGxvd1NjcmlwdEZyb21Tb3VyY2UodXJsLCBy
ZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQsIHByZVJlZGlyZWN0VVJMKTsKKyAgICAgICAgcmV0dXJu
IGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLmFsbG93U2NyaXB0RnJvbVNvdXJjZSh1cmwsIHJlZGly
ZWN0UmVzcG9uc2VSZWNlaXZlZCwgcHJlUmVkaXJlY3RVUkwsIG1fb3B0aW9ucy5pbnRlZ3JpdHkp
OwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gZmFsc2U7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VDcnlwdG9ncmFwaGljRGln
ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdl
c3QuY3BwCmluZGV4IGM2Mjc3Njg1OGE2ZGM1YWZmZDM2ZGM5ZTc4NWM4YmQyNDcyYmI3NGQuLjQ4
NDBmMTRjZjI1ZGRmMWY2MDBhZTk2ZGFjNjNkOTcxMWM4Yzk0MDcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3QuY3BwCkBAIC03
MSw3ICs3MSw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IHN0YXRpYyBzdGQ6
Om9wdGlvbmFsPFJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzCiAKICAgICBTdHJpbmdWaWV3IGhh
c2hWYWx1ZShiZWdpbkhhc2hWYWx1ZSwgYnVmZmVyLnBvc2l0aW9uKCkgLSBiZWdpbkhhc2hWYWx1
ZSk7CiAKLSAgICBpZiAoYXV0byBkaWdlc3QgPSBiYXNlNjREZWNvZGUoaGFzaFZhbHVlLCBCYXNl
NjREZWNvZGVPcHRpb25zOjpWYWxpZGF0ZVBhZGRpbmcpKQorICAgIGlmIChhdXRvIGRpZ2VzdCA9
IGJhc2U2NERlY29kZShoYXNoVmFsdWUpKQogICAgICAgICByZXR1cm4gUmVzb3VyY2VDcnlwdG9n
cmFwaGljRGlnZXN0IHsgKmFsZ29yaXRobSwgV1RGTW92ZSgqZGlnZXN0KSB9OwogCiAgICAgaWYg
KGF1dG8gZGlnZXN0ID0gYmFzZTY0VVJMRGVjb2RlKGhhc2hWYWx1ZSkpCkBAIC0xMjUsNyArMTI1
LDcgQEAgc3RkOjpvcHRpb25hbDxFbmNvZGVkUmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0PiBw
YXJzZUVuY29kZWRDcnlwdG9ncmFwaGljRGlnZXMKIAogc3RkOjpvcHRpb25hbDxSZXNvdXJjZUNy
eXB0b2dyYXBoaWNEaWdlc3Q+IGRlY29kZUVuY29kZWRSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdl
c3QoY29uc3QgRW5jb2RlZFJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdCYgZW5jb2RlZERpZ2Vz
dCkKIHsKLSAgICBpZiAoYXV0byBkaWdlc3QgPSBiYXNlNjREZWNvZGUoZW5jb2RlZERpZ2VzdC5k
aWdlc3QsIEJhc2U2NERlY29kZU9wdGlvbnM6OlZhbGlkYXRlUGFkZGluZykpCisgICAgaWYgKGF1
dG8gZGlnZXN0ID0gYmFzZTY0RGVjb2RlKGVuY29kZWREaWdlc3QuZGlnZXN0KSkKICAgICAgICAg
cmV0dXJuIFJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdCB7IGVuY29kZWREaWdlc3QuYWxnb3Jp
dGhtLCBXVEZNb3ZlKCpkaWdlc3QpIH07CiAKICAgICBpZiAoYXV0byBkaWdlc3QgPSBiYXNlNjRV
UkxEZWNvZGUoZW5jb2RlZERpZ2VzdC5kaWdlc3QpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9TdWJyZXNvdXJjZUludGVncml0eS5jcHAKaW5kZXggYzUyMDgxYjQyMTY3YmE4MGMyNzU3MDhj
YmQ5OTZkODdhODU0NDIyZi4uZjQzZGNkODRlZDMyNTRlYzk3YWRlOThlZmEwOTVkZmJmZDFlMmQ4
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VJbnRlZ3JpdHkuY3Bw
CkBAIC05Niw3ICs5Niw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBzcGxpdE9uU3BhY2VzKFN0cmlu
Z1BhcnNpbmdCdWZmZXI8Q2hhcmFjdGVyVHlwZT4gYnVmZmVyLCBGdW5jCiAgICAgfQogfQogCi1z
dGF0aWMgc3RkOjpvcHRpb25hbDxWZWN0b3I8RW5jb2RlZFJlc291cmNlQ3J5cHRvZ3JhcGhpY0Rp
Z2VzdD4+IHBhcnNlSW50ZWdyaXR5TWV0YWRhdGEoY29uc3QgU3RyaW5nJiBpbnRlZ3JpdHlNZXRh
ZGF0YSkKK3N0ZDo6b3B0aW9uYWw8VmVjdG9yPEVuY29kZWRSZXNvdXJjZUNyeXB0b2dyYXBoaWNE
aWdlc3Q+PiBwYXJzZUludGVncml0eU1ldGFkYXRhKGNvbnN0IFN0cmluZyYgaW50ZWdyaXR5TWV0
YWRhdGEpCiB7CiAgICAgaWYgKGludGVncml0eU1ldGFkYXRhLmlzRW1wdHkoKSkKICAgICAgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9T
dWJyZXNvdXJjZUludGVncml0eS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNl
SW50ZWdyaXR5LmgKaW5kZXggMWJkNjg2NjhlY2FlZTM3MWQwYTQ0MzYxNzFkZDMwOGRiMzQyODU5
NS4uMjUzNWI4YzM2YTM4NGViODA0YWM2Zjc1NzNjNGRjZDJjNmRmNzZlNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5LmgKQEAgLTMzLDUgKzMzLDYgQEAg
Y2xhc3MgQ2FjaGVkUmVzb3VyY2U7CiAKIGJvb2wgbWF0Y2hJbnRlZ3JpdHlNZXRhZGF0YShjb25z
dCBDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IFN0cmluZyYgaW50ZWdyaXR5TWV0YWRhdGEpOwogU3Ry
aW5nIGludGVncml0eU1pc21hdGNoRGVzY3JpcHRpb24oY29uc3QgQ2FjaGVkUmVzb3VyY2UmLCBj
b25zdCBTdHJpbmcmIGludGVncml0eU1ldGFkYXRhKTsKK3N0ZDo6b3B0aW9uYWw8VmVjdG9yPEVu
Y29kZWRSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3Q+PiBwYXJzZUludGVncml0eU1ldGFkYXRh
KGNvbnN0IFN0cmluZyYgaW50ZWdyaXR5TWV0YWRhdGEpOwogCiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAppbmRleCBmYTM4
MjFhYWMxMjUyZjllNzJhYzljZDlmYjVhYWNhODY2MDgyNDU2Li44NGMwMTRiZDY0MzBhMTgyY2Nm
ZDdmNDJjODVmYTM4YmI3YzQwYWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
Y2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTUwMSw3ICs1MDEsNyBAQCBib29s
IENhY2hlZFJlc291cmNlTG9hZGVyOjphbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3koQ2Fj
aGVkUmVzb3VyY2U6OlR5cGUgdAogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OlhTTFN0
eWxlU2hlZXQ6CiAjZW5kaWYKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBlOjpTY3JpcHQ6
Ci0gICAgICAgIGlmICghbV9kb2N1bWVudC0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93
U2NyaXB0RnJvbVNvdXJjZSh1cmwsIHJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCwgcHJlUmVkaXJl
Y3RVUkwpKQorICAgICAgICBpZiAoIW1fZG9jdW1lbnQtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgp
LT5hbGxvd1NjcmlwdEZyb21Tb3VyY2UodXJsLCByZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQsIHBy
ZVJlZGlyZWN0VVJMLCBvcHRpb25zLmludGVncml0eSkpCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5cGU6OkNTU1N0
eWxlU2hlZXQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2Vj
dXJpdHlQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5
UG9saWN5LmNwcAppbmRleCBhY2YxMzFmNTBkZWJkZGY5ZmY0OTRkNjI1MDcwMTc1Yzc3YTAxNjI5
Li40MTY0OWQ3MDA5ODRhZGE3ODlkMWQyYjg4MDhlNmVmM2QzZGY4MWZhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKQEAgLTUyLDYg
KzUyLDcgQEAKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNlY3VyaXR5
UG9saWN5VmlvbGF0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgorI2luY2x1ZGUg
IlN1YnJlc291cmNlSW50ZWdyaXR5LmgiCiAjaW5jbHVkZSAiVGV4dEVuY29kaW5nLmgiCiAjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oPgpAQCAtMzM5LDcgKzM0MCw3IEBAIGJv
b2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxTY3JpcHRQb2xpY2llc0FsbG93KFZpb2xhdGVk
RGlyZWN0aXZlQ2FsbGJhY2smJiBjCiAgICAgZm9yIChhdXRvJiBwb2xpY3kgOiBtX3BvbGljaWVz
KSB7CiAgICAgICAgIGF1dG8gdmlvbGF0ZWREaXJlY3RpdmVGb3JOb25QYXJzZXJJbnNlcnRlZFNj
cmlwdCA9IHBvbGljeS5nZXQoKS0+dmlvbGF0ZWREaXJlY3RpdmVGb3JQYXJzZXJJbnNlcnRlZFNj
cmlwdChwYXJzZXJJbnNlcnRlZCk7CiAgICAgICAgIGF1dG8gdmlvbGF0ZWREaXJlY3RpdmVGb3JT
Y3JpcHROb25jZSA9IHBvbGljeS5nZXQoKS0+dmlvbGF0ZWREaXJlY3RpdmVGb3JTY3JpcHROb25j
ZShub25jZSk7Ci0gICAgICAgIGF1dG8gdmlvbGF0ZWREaXJlY3RpdmVGb3JTY3JpcHRTcmMgPSBw
b2xpY3kuZ2V0KCktPnZpb2xhdGVkRGlyZWN0aXZlRm9yU2NyaXB0KHVybCwgZmFsc2UpOworICAg
ICAgICBhdXRvIHZpb2xhdGVkRGlyZWN0aXZlRm9yU2NyaXB0U3JjID0gcG9saWN5LmdldCgpLT52
aW9sYXRlZERpcmVjdGl2ZUZvclNjcmlwdCh1cmwsIGZhbHNlLCB7IH0pOwogICAgICAgICBhdXRv
IFtmb3VuZEhhc2hJbkVuZm9yY2VkUG9saWNpZXMsIGZvdW5kSGFzaEluUmVwb3J0T25seVBvbGlj
aWVzXSA9IGZpbmRIYXNoT2ZDb250ZW50SW5Qb2xpY2llcygmQ29udGVudFNlY3VyaXR5UG9saWN5
RGlyZWN0aXZlTGlzdDo6dmlvbGF0ZWREaXJlY3RpdmVGb3JTY3JpcHRIYXNoLCBzY3JpcHRDb250
ZW50LCBtX2hhc2hBbGdvcml0aG1zRm9ySW5saW5lU2NyaXB0cyk7CiAKICAgICAgICAgaWYgKHZp
b2xhdGVkRGlyZWN0aXZlRm9yTm9uUGFyc2VySW5zZXJ0ZWRTY3JpcHQgJiYgdmlvbGF0ZWREaXJl
Y3RpdmVGb3JTY3JpcHROb25jZSAmJiB2aW9sYXRlZERpcmVjdGl2ZUZvclNjcmlwdFNyYyAmJiAh
Zm91bmRIYXNoSW5FbmZvcmNlZFBvbGljaWVzKSB7CkBAIC02NDAsMTIgKzY0MSw0MCBAQCBib29s
IENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dDaGlsZENvbnRleHRGcm9tU291cmNlKGNvbnN0
IFVSTCYgdXJsLCBSZWRpcmVjdAogICAgIHJldHVybiBhbGxvd1Jlc291cmNlRnJvbVNvdXJjZSh1
cmwsIHJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCwgQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0
aXZlTmFtZXM6OmNoaWxkU3JjLCAmQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdDo6
dmlvbGF0ZWREaXJlY3RpdmVGb3JDaGlsZENvbnRleHQsIHByZVJlZGlyZWN0VVJMKTsKIH0KIAot
Ym9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93U2NyaXB0RnJvbVNvdXJjZShjb25zdCBV
UkwmIHVybCwgUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkIHJlZGlyZWN0UmVzcG9uc2VSZWNlaXZl
ZCwgY29uc3QgVVJMJiBwcmVSZWRpcmVjdFVSTCkgY29uc3QKK3N0YXRpYyBWZWN0b3I8UmVzb3Vy
Y2VDcnlwdG9ncmFwaGljRGlnZXN0PiBwYXJzZVN1YlJlc291cmNlSW50ZWdyaXR5SW50b0RpZ2Vz
dHMoY29uc3QgU3RyaW5nJiBzdWJSZXNvdXJjZUludGVncml0eSkKK3sKKyAgICBhdXRvIGVuY29k
ZWREaWdlc3RzID0gcGFyc2VJbnRlZ3JpdHlNZXRhZGF0YShzdWJSZXNvdXJjZUludGVncml0eSk7
CisgICAgVmVjdG9yPFJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdD4gZGVjb2RlZERpZ2VzdHM7
CisKKyAgICBpZiAoIWVuY29kZWREaWdlc3RzLmhhc192YWx1ZSgpKQorICAgICAgICByZXR1cm4g
eyB9OworCisgICAgZm9yIChjb25zdCBhdXRvJiBlbmNvZGVkRGlnZXN0IDogZW5jb2RlZERpZ2Vz
dHMudmFsdWUoKSkgeworICAgICAgICBhdXRvIGRlY29kZWREaWdlc3QgPSBkZWNvZGVFbmNvZGVk
UmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0KGVuY29kZWREaWdlc3QpOworICAgICAgICBpZiAo
ZGVjb2RlZERpZ2VzdC5oYXNfdmFsdWUoKSkKKyAgICAgICAgICAgIGRlY29kZWREaWdlc3RzLmFw
cGVuZChkZWNvZGVkRGlnZXN0LnZhbHVlKCkpOworICAgIH0KKworICAgIHJldHVybiBkZWNvZGVk
RGlnZXN0czsKK30KKworYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbG93U2NyaXB0RnJv
bVNvdXJjZShjb25zdCBVUkwmIHVybCwgUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkIHJlZGlyZWN0
UmVzcG9uc2VSZWNlaXZlZCwgY29uc3QgVVJMJiBwcmVSZWRpcmVjdFVSTCwgY29uc3QgU3RyaW5n
JiBzdWJSZXNvdXJjZUludGVncml0eSkgY29uc3QKIHsKICAgICBpZiAoc2hvdWxkUGVyZm9ybUVh
cmx5Q1NQQ2hlY2soKSkKICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgaWYgKExlZ2FjeVNjaGVt
ZVJlZ2lzdHJ5OjpzY2hlbWVTaG91bGRCeXBhc3NDb250ZW50U2VjdXJpdHlQb2xpY3kodXJsLnBy
b3RvY29sKCkudG9TdHJpbmdXaXRob3V0Q29weWluZygpKSkKKyAgICAgICAgcmV0dXJuIHRydWU7
CisKKyAgICBTdHJpbmcgc291cmNlVVJMOworICAgIGNvbnN0IGF1dG8mIGJsb2NrZWRVUkwgPSAh
cHJlUmVkaXJlY3RVUkwuaXNOdWxsKCkgPyBwcmVSZWRpcmVjdFVSTCA6IHVybDsKKyAgICBUZXh0
UG9zaXRpb24gc291cmNlUG9zaXRpb24oT3JkaW5hbE51bWJlcjo6YmVmb3JlRmlyc3QoKSwgT3Jk
aW5hbE51bWJlcigpKTsKKyAgICBhdXRvIGhhbmRsZVZpb2xhdGVkRGlyZWN0aXZlID0gWyZdIChj
b25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmUmIHZpb2xhdGVkRGlyZWN0aXZlKSB7
CisgICAgICAgIFN0cmluZyBjb25zb2xlTWVzc2FnZSA9IGNvbnNvbGVNZXNzYWdlRm9yVmlvbGF0
aW9uKENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZU5hbWVzOjpzY3JpcHRTcmMsIHZpb2xh
dGVkRGlyZWN0aXZlLCBibG9ja2VkVVJMLCAiUmVmdXNlZCB0byBsb2FkIik7CisgICAgICAgIHJl
cG9ydFZpb2xhdGlvbihDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVOYW1lczo6c2NyaXB0
U3JjLCB2aW9sYXRlZERpcmVjdGl2ZSwgYmxvY2tlZFVSTC5zdHJpbmcoKSwgY29uc29sZU1lc3Nh
Z2UsIHNvdXJjZVVSTCwgU3RyaW5nVmlldygpLCBzb3VyY2VQb3NpdGlvbik7CisgICAgfTsKIAot
ICAgIHJldHVybiBhbGxvd1Jlc291cmNlRnJvbVNvdXJjZSh1cmwsIHJlZGlyZWN0UmVzcG9uc2VS
ZWNlaXZlZCwgQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTmFtZXM6OnNjcmlwdFNyYywg
JkNvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3Q6OnZpb2xhdGVkRGlyZWN0aXZlRm9y
U2NyaXB0LCBwcmVSZWRpcmVjdFVSTCk7CisgICAgYXV0byBzdWJSZXNvdXJjZUludGVncml0eURp
Z2VzdHMgPSBwYXJzZVN1YlJlc291cmNlSW50ZWdyaXR5SW50b0RpZ2VzdHMoc3ViUmVzb3VyY2VJ
bnRlZ3JpdHkpOworICAgIHJldHVybiBhbGxQb2xpY2llc0FsbG93KFdURk1vdmUoaGFuZGxlVmlv
bGF0ZWREaXJlY3RpdmUpLCAmQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdDo6dmlv
bGF0ZWREaXJlY3RpdmVGb3JTY3JpcHQsIHVybCwgcmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkID09
IFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZDo6WWVzLCBzdWJSZXNvdXJjZUludGVncml0eURpZ2Vz
dHMpOwogfQogCiBib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dJbWFnZUZyb21Tb3Vy
Y2UoY29uc3QgVVJMJiB1cmwsIFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCByZWRpcmVjdFJlc3Bv
bnNlUmVjZWl2ZWQsIGNvbnN0IFVSTCYgcHJlUmVkaXJlY3RVUkwpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oCmluZGV4IGVjZmU1MmE3
NTRmYzA2M2JlNjAzZDU5ZTMyMDdjMTNiYTY1NDVkZmIuLjE5YmQ3OGQxOGM3ZTQwNGZkNjkwMTEw
MGMyZTg5ZTVlODMxMjNjNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0Nv
bnRlbnRTZWN1cml0eVBvbGljeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRl
bnRTZWN1cml0eVBvbGljeS5oCkBAIC0xMTAsNyArMTEwLDcgQEAgcHVibGljOgogICAgIFdFQkNP
UkVfRVhQT1JUIGJvb2wgb3ZlcnJpZGVzWEZyYW1lT3B0aW9ucygpIGNvbnN0OwogCiAgICAgZW51
bSBjbGFzcyBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgeyBObywgWWVzIH07Ci0gICAgV0VCQ09S
RV9FWFBPUlQgYm9vbCBhbGxvd1NjcmlwdEZyb21Tb3VyY2UoY29uc3QgVVJMJiwgUmVkaXJlY3RS
ZXNwb25zZVJlY2VpdmVkID0gUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkOjpObywgY29uc3QgVVJM
JiBwcmVSZWRpcmVjdFVSTCA9IFVSTCgpKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCBib29s
IGFsbG93U2NyaXB0RnJvbVNvdXJjZShjb25zdCBVUkwmLCBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2
ZWQgPSBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQ6Ok5vLCBjb25zdCBVUkwmIHByZVJlZGlyZWN0
VVJMID0gVVJMKCksIGNvbnN0IFN0cmluZyYgPSBudWxsU3RyaW5nKCkpIGNvbnN0OwogICAgIGJv
b2wgYWxsb3dJbWFnZUZyb21Tb3VyY2UoY29uc3QgVVJMJiwgUmVkaXJlY3RSZXNwb25zZVJlY2Vp
dmVkID0gUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkOjpObywgY29uc3QgVVJMJiBwcmVSZWRpcmVj
dFVSTCA9IFVSTCgpKSBjb25zdDsKICAgICBib29sIGFsbG93U3R5bGVGcm9tU291cmNlKGNvbnN0
IFVSTCYsIFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCA9IFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZl
ZDo6Tm8sIGNvbnN0IFVSTCYgcHJlUmVkaXJlY3RVUkwgPSBVUkwoKSkgY29uc3Q7CiAgICAgYm9v
bCBhbGxvd0ZvbnRGcm9tU291cmNlKGNvbnN0IFVSTCYsIFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZl
ZCA9IFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZDo6Tm8sIGNvbnN0IFVSTCYgcHJlUmVkaXJlY3RV
UkwgPSBVUkwoKSkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9D
b250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3QuY3BwCmluZGV4IDExMTE3
MWNlODMxOWM3MWNkNDFjNjI0ZjQ5NzUzYzViY2RjOWY4ODMuLmVmNmFlZDkyYmYzY2M0YmZkZTY3
OTBhMDMzMjMxN2M3Y2ZiYTBiZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3Nw
L0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3QuY3BwCkBAIC0z
ODcsOSArMzg3LDEzIEBAIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZSogQ29u
dGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdDo6dmlvbGF0CiAgICAgcmV0dXJuIG1fcGx1
Z2luVHlwZXMuZ2V0KCk7CiB9CiAKLWNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2
ZSogQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdDo6dmlvbGF0ZWREaXJlY3RpdmVG
b3JTY3JpcHQoY29uc3QgVVJMJiB1cmwsIGJvb2wgZGlkUmVjZWl2ZVJlZGlyZWN0UmVzcG9uc2Up
IGNvbnN0Citjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmUqIENvbnRlbnRTZWN1
cml0eVBvbGljeURpcmVjdGl2ZUxpc3Q6OnZpb2xhdGVkRGlyZWN0aXZlRm9yU2NyaXB0KGNvbnN0
IFVSTCYgdXJsLCBib29sIGRpZFJlY2VpdmVSZWRpcmVjdFJlc3BvbnNlLCBjb25zdCBWZWN0b3I8
UmVzb3VyY2VDcnlwdG9ncmFwaGljRGlnZXN0PiYgc3ViUmVzb3VyY2VJbnRlZ3JpdHlEaWdlc3Rz
KSBjb25zdAogewogICAgIGF1dG8qIG9wZXJhdGl2ZURpcmVjdGl2ZSA9IHRoaXMtPm9wZXJhdGl2
ZURpcmVjdGl2ZShtX3NjcmlwdFNyYy5nZXQoKSwgQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0
aXZlTmFtZXM6OnNjcmlwdFNyY0VsZW0pOworCisgICAgaWYgKG9wZXJhdGl2ZURpcmVjdGl2ZS0+
Y29udGFpbnNBbGxIYXNoZXMoc3ViUmVzb3VyY2VJbnRlZ3JpdHlEaWdlc3RzKSkKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisKICAgICBpZiAoY2hlY2tTb3VyY2Uob3BlcmF0aXZlRGlyZWN0aXZl
LCB1cmwsIGRpZFJlY2VpdmVSZWRpcmVjdFJlc3BvbnNlKSkKICAgICAgICAgcmV0dXJuIG51bGxw
dHI7CiAgICAgcmV0dXJuIG9wZXJhdGl2ZURpcmVjdGl2ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3QuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3Qu
aAppbmRleCBjM2UyMDg0MGQ4NmMxMGZjMDIzNGFkNGU5NjZmOTBiNmRkMGQ1ZDg5Li44Njg0ZDU2
NDM5YTAyOGZmNTJlMTE2ZjM2MTYxZjI2YzJhODZjNzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlz
dC5oCkBAIC03NSw3ICs3NSw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBDb250ZW50U2VjdXJpdHlQ
b2xpY3lEaXJlY3RpdmUqIHZpb2xhdGVkRGlyZWN0aXZlRm9yTWVkaWEoY29uc3QgVVJMJiwgYm9v
bCBkaWRSZWNlaXZlUmVkaXJlY3RSZXNwb25zZSkgY29uc3Q7CiAgICAgY29uc3QgQ29udGVudFNl
Y3VyaXR5UG9saWN5RGlyZWN0aXZlKiB2aW9sYXRlZERpcmVjdGl2ZUZvck9iamVjdFNvdXJjZShj
b25zdCBVUkwmLCBib29sIGRpZFJlY2VpdmVSZWRpcmVjdFJlc3BvbnNlLCBDb250ZW50U2VjdXJp
dHlQb2xpY3lTb3VyY2VMaXN0RGlyZWN0aXZlOjpTaG91bGRBbGxvd0VtcHR5VVJMSWZTb3VyY2VM
aXN0SXNOb3ROb25lKSBjb25zdDsKICAgICBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJl
Y3RpdmUqIHZpb2xhdGVkRGlyZWN0aXZlRm9yUGx1Z2luVHlwZShjb25zdCBTdHJpbmcmIHR5cGUs
IGNvbnN0IFN0cmluZyYgdHlwZUF0dHJpYnV0ZSkgY29uc3Q7Ci0gICAgY29uc3QgQ29udGVudFNl
Y3VyaXR5UG9saWN5RGlyZWN0aXZlKiB2aW9sYXRlZERpcmVjdGl2ZUZvclNjcmlwdChjb25zdCBV
UkwmLCBib29sIGRpZFJlY2VpdmVSZWRpcmVjdFJlc3BvbnNlKSBjb25zdDsKKyAgICBjb25zdCBD
b250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmUqIHZpb2xhdGVkRGlyZWN0aXZlRm9yU2NyaXB0
KGNvbnN0IFVSTCYsIGJvb2wgZGlkUmVjZWl2ZVJlZGlyZWN0UmVzcG9uc2UsIGNvbnN0IFZlY3Rv
cjxSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3Q+JikgY29uc3Q7CiAgICAgY29uc3QgQ29udGVu
dFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlKiB2aW9sYXRlZERpcmVjdGl2ZUZvclN0eWxlKGNvbnN0
IFVSTCYsIGJvb2wgZGlkUmVjZWl2ZVJlZGlyZWN0UmVzcG9uc2UpIGNvbnN0OwogCiAgICAgY29u
c3QgQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlKiBkZWZhdWx0U3JjKCkgY29uc3QgeyBy
ZXR1cm4gbV9kZWZhdWx0U3JjLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3QuY3BwCmluZGV4IDQ5
ZGE0NGE5ZGNjMmE0YjNmYjhiZjE5OGZkOWQ3YTQ1ODc3YTJkMDIuLjM4NzExZTFjNWM2NzYxN2Ux
ZDNmYzIwMjhiMGYxOTI2ZTI0MjM1MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Y3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3QuY3BwCkBAIC0xNTUs
NiArMTU1LDE5IEBAIGJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdDo6bWF0Y2hl
cyhjb25zdCBWZWN0b3I8Q29udGVudFNlY3VyaXR5UG9saWN5CiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCitib29sIENvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3Q6Om1hdGNoZXNBbGwoY29u
c3QgVmVjdG9yPENvbnRlbnRTZWN1cml0eVBvbGljeUhhc2g+JiBoYXNoZXMpIGNvbnN0Cit7Cisg
ICAgaWYgKGhhc2hlcy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGZv
ciAoYXV0byYgaGFzaCA6IGhhc2hlcykgeworICAgICAgICBpZiAoIW1faGFzaGVzLmNvbnRhaW5z
KGhhc2gpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIHJldHVybiB0
cnVlOworfQorCiBib29sIENvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3Q6Om1hdGNoZXMo
Y29uc3QgU3RyaW5nJiBub25jZSkgY29uc3QKIHsKICAgICBpZiAobm9uY2UuaXNFbXB0eSgpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5
U291cmNlTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9s
aWN5U291cmNlTGlzdC5oCmluZGV4IDM3OTQ1ZTZjYjAzZjMxZjMwMzEzODY4NGFjMjI4MTkyM2I2
YzM2ZDUuLmU0ZjhjODc5YzU0MDNmNTkxZGYyMzRlNmExYzhhYjlmYTU1OWNjZjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxp
c3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lT
b3VyY2VMaXN0LmgKQEAgLTQ1LDYgKzQ1LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBtYXRjaGVz
KGNvbnN0IFVSTCYsIGJvb2wgZGlkUmVjZWl2ZVJlZGlyZWN0UmVzcG9uc2UpIGNvbnN0OwogICAg
IGJvb2wgbWF0Y2hlcyhjb25zdCBWZWN0b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4mKSBj
b25zdDsKKyAgICBib29sIG1hdGNoZXNBbGwoY29uc3QgVmVjdG9yPENvbnRlbnRTZWN1cml0eVBv
bGljeUhhc2g+JikgY29uc3Q7CiAgICAgYm9vbCBtYXRjaGVzKGNvbnN0IFN0cmluZyYgbm9uY2Up
IGNvbnN0OwogCiAgICAgT3B0aW9uU2V0PENvbnRlbnRTZWN1cml0eVBvbGljeUhhc2hBbGdvcml0
aG0+IGhhc2hBbGdvcml0aG1zVXNlZCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzaEFsZ29yaXRobXNV
c2VkOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJp
dHlQb2xpY3lTb3VyY2VMaXN0RGlyZWN0aXZlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3Nw
L0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3RpdmUuY3BwCmluZGV4IDFlMGJk
MzIxMzk0ZGM0ZjI1YTQxYjBmNTcxNzI3ZTY5MWFhMGM2NWEuLmIwNjljYWY0MTNkMWY3OGYzYjhi
NzQzOGUzZjA3MDlkNWQ2MWY3N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3Nw
L0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3RpdmUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3Rp
dmUuY3BwCkBAIC01Miw2ICs1MiwxMSBAQCBib29sIENvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJj
ZUxpc3REaXJlY3RpdmU6OmFsbG93cyhjb25zdCBTdHJpbmcmIG5vbmNlKSBjb25zdAogICAgIHJl
dHVybiBtX3NvdXJjZUxpc3QubWF0Y2hlcyhub25jZSk7CiB9CiAKK2Jvb2wgQ29udGVudFNlY3Vy
aXR5UG9saWN5U291cmNlTGlzdERpcmVjdGl2ZTo6Y29udGFpbnNBbGxIYXNoZXMoY29uc3QgVmVj
dG9yPENvbnRlbnRTZWN1cml0eVBvbGljeUhhc2g+JiBoYXNoZXMpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fc291cmNlTGlzdC5tYXRjaGVzQWxsKGhhc2hlcyk7Cit9CisKIGJvb2wgQ29udGVudFNl
Y3VyaXR5UG9saWN5U291cmNlTGlzdERpcmVjdGl2ZTo6YWxsb3dzKGNvbnN0IFZlY3RvcjxDb250
ZW50U2VjdXJpdHlQb2xpY3lIYXNoPiYgaGFzaGVzKSBjb25zdAogewogICAgIHJldHVybiBtX3Nv
dXJjZUxpc3QubWF0Y2hlcyhoYXNoZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdERpcmVjdGl2ZS5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdERpcmVjdGl2
ZS5oCmluZGV4IDc4YmE5NWE4MWQwMTM5MzY4ZDM4N2YxZGRmMDQ1NWQ1ZGQ5Y2UzMGQuLmMzNTRh
MWNlM2ViYTM4OWMzNGY5MWYzZDg2ZGU5NzcyNzhlMGJiMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3RpdmUu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3Vy
Y2VMaXN0RGlyZWN0aXZlLmgKQEAgLTQwLDYgKzQwLDcgQEAgcHVibGljOgogICAgIGVudW0gY2xh
c3MgU2hvdWxkQWxsb3dFbXB0eVVSTElmU291cmNlTGlzdElzTm90Tm9uZSB7IE5vLCBZZXMgfTsK
ICAgICBib29sIGFsbG93cyhjb25zdCBVUkwmLCBib29sIGRpZFJlY2VpdmVSZWRpcmVjdFJlc3Bv
bnNlLCBTaG91bGRBbGxvd0VtcHR5VVJMSWZTb3VyY2VMaXN0SXNOb3ROb25lKTsKICAgICBib29s
IGFsbG93cyhjb25zdCBWZWN0b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4mKSBjb25zdDsK
KyAgICBib29sIGNvbnRhaW5zQWxsSGFzaGVzKGNvbnN0IFZlY3RvcjxDb250ZW50U2VjdXJpdHlQ
b2xpY3lIYXNoPiYpIGNvbnN0OwogICAgIGJvb2wgYWxsb3dVbnNhZmVIYXNoZXMoY29uc3QgVmVj
dG9yPENvbnRlbnRTZWN1cml0eVBvbGljeUhhc2g+JikgY29uc3Q7CiAgICAgYm9vbCBhbGxvd3Mo
Y29uc3QgU3RyaW5nJiBub25jZSkgY29uc3Q7CiAgICAgYm9vbCBhbGxvd0lubGluZSgpIGNvbnN0
IHsgcmV0dXJuIG1fc291cmNlTGlzdC5hbGxvd0lubGluZSgpOyB9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzI1NGMwZTJi
MDk4MDYyZGRiYjFiOThhMTVjYjNjZjJmODZiOGQ3Ny4uNzEwMTAzMTcwN2EyMzZjMmUzYThjNjM1
NDg4NTdlYjNmY2E3OGQwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTEyLTA1ICBQYXRy
aWNrIEdyaWZmaXMgIDxwZ3JpZmZpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIENTUDogQWxsb3cg
ZXh0ZXJuYWwgc2NyaXB0cyB3aXRoIFNSSSBoYXNoZXMgbWF0Y2hpbmcgQ1NQCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5MTEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGVzdHMgdG8gYWNj
ZXB0IGJhc2U2NCB3aXRoIGV4dHJhIHBhZGRpbmcuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2NyaXB0aGFzaC10ZXN0cy1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvMS4xL3NjcmlwdGhhc2gtdGVzdHMuaHRtbDoKKwogMjAyMS0xMi0wNiAgQXJjYWR5IEdvbGRt
aW50cy1PcmxvdiAgPGFnb2xkbWludHNAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXVtXUEVd
IE1hdGhtbCBhc3NlcnRzIHdpdGggaW52aXNpYmxlIG9wZXJhdG9ycwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKaW5kZXggMDM1Y2ZlZDgzODlhZjI4Yjk0MjI1YmMxOWE1ZTczYzA5NjZkMDEw
ZC4uYjU0YjdlMzVmOTg3ODdjNTA1ZDdhMWU1MjlkNmRhNjJiNGViYjRhMiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMTItMDUgIFBhdHJpY2sg
R3JpZmZpcyAgPHBncmlmZmlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgQ1NQOiBBbGxvdyBleHRl
cm5hbCBzY3JpcHRzIHdpdGggU1JJIGhhc2hlcyBtYXRjaGluZyBDU1AKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzkxMQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBleHBlY3RhdGlvbnMgd2l0
aCBtb3JlIHBhc3Nlcy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50LXNl
Y3VyaXR5LXBvbGljeS9zY3JpcHQtc3JjL3NjcmlwdC1zcmMtcmVwb3J0LW9ubHktcG9saWN5LXdv
cmtzLXdpdGgtZXh0ZXJuYWwtaGFzaC1wb2xpY3ktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQtc3JjL3Njcmlw
dC1zcmMtc3JpX2hhc2guc3ViLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0xMi0wNiAgVGFkZXUgWmFn
YWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXN0b3JlIG5hdmlnYXRvci5o
YXJkd2FyZUNvbmN1cnJlbmN5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2NyaXB0aGFzaC10ZXN0cy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS8xLjEvc2NyaXB0aGFzaC10ZXN0cy1leHBlY3RlZC50eHQKaW5kZXggNzM5NjNhNmEzZmI5
ZDlkNDUxY2Y0NTZkMmQ3ODM2NDE3ODg5NzljYi4uZDRkNWZhZTIzZGNhNTRhMTQzZjU1YjFiOTUw
ZTkyMmNiMzI1NTZmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NjcmlwdGhhc2gtdGVzdHMtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9s
aWN5LzEuMS9zY3JpcHRoYXNoLXRlc3RzLWV4cGVjdGVkLnR4dApAQCAtMTIsOCArMTIsNiBAQCBD
T05TT0xFIE1FU1NBR0U6IFJlZnVzZWQgdG8gZXhlY3V0ZSBhIHNjcmlwdCBiZWNhdXNlIGl0cyBo
YXNoLCBpdHMgbm9uY2UsIG9yICd1bgogQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGV4ZWN1
dGUgYSBzY3JpcHQgYmVjYXVzZSBpdHMgaGFzaCwgaXRzIG5vbmNlLCBvciAndW5zYWZlLWlubGlu
ZScgZG9lcyBub3QgYXBwZWFyIGluIHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2ZSBvZiB0aGUgQ29u
dGVudCBTZWN1cml0eSBQb2xpY3kuCiBDT05TT0xFIE1FU1NBR0U6IFRoZSBzb3VyY2UgbGlzdCBm
b3IgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlICdzY3JpcHQtc3JjJyBjb250YWlu
cyBhbiBpbnZhbGlkIHNvdXJjZTogJydzaGEyNTYtL1ZldDJSdmE2d3dzbnk4eHliTCs9YlFhbDBH
dGYwRlpXN0VPVnFxZytIbmE9JycuIEl0IHdpbGwgYmUgaWdub3JlZC4KIENPTlNPTEUgTUVTU0FH
RTogUmVmdXNlZCB0byBleGVjdXRlIGEgc2NyaXB0IGJlY2F1c2UgaXRzIGhhc2gsIGl0cyBub25j
ZSwgb3IgJ3Vuc2FmZS1pbmxpbmUnIGRvZXMgbm90IGFwcGVhciBpbiB0aGUgc2NyaXB0LXNyYyBk
aXJlY3RpdmUgb2YgdGhlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LgotQ09OU09MRSBNRVNTQUdF
OiBUaGUgc291cmNlIGxpc3QgZm9yIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZSAn
c2NyaXB0LXNyYycgY29udGFpbnMgYW4gaW52YWxpZCBzb3VyY2U6ICcnc2hhMjU2LS92RVQyclZB
NldXU05ZOFhZQmwrQnFBTDBnVEYwZnp3N2VvdlFRRytoTkE9PScnLiBJdCB3aWxsIGJlIGlnbm9y
ZWQuCi1DT05TT0xFIE1FU1NBR0U6IFJlZnVzZWQgdG8gZXhlY3V0ZSBhIHNjcmlwdCBiZWNhdXNl
IGl0cyBoYXNoLCBpdHMgbm9uY2UsIG9yICd1bnNhZmUtaW5saW5lJyBkb2VzIG5vdCBhcHBlYXIg
aW4gdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlIG9mIHRoZSBDb250ZW50IFNlY3VyaXR5IFBvbGlj
eS4KIENPTlNPTEUgTUVTU0FHRTogVGhlIHNvdXJjZSBsaXN0IGZvciBDb250ZW50IFNlY3VyaXR5
IFBvbGljeSBkaXJlY3RpdmUgJ3NjcmlwdC1zcmMnIGNvbnRhaW5zIGFuIGludmFsaWQgc291cmNl
OiAnJ3NoYTI1Ni0vdkVUMnJWQTZXV1NOWThYWUJsK0JxQUwwZ1RGMGZ6dzdlb3ZRUUcraE5BPT09
JycuIEl0IHdpbGwgYmUgaWdub3JlZC4KIENPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBleGVj
dXRlIGEgc2NyaXB0IGJlY2F1c2UgaXRzIGhhc2gsIGl0cyBub25jZSwgb3IgJ3Vuc2FmZS1pbmxp
bmUnIGRvZXMgbm90IGFwcGVhciBpbiB0aGUgc2NyaXB0LXNyYyBkaXJlY3RpdmUgb2YgdGhlIENv
bnRlbnQgU2VjdXJpdHkgUG9saWN5LgogQ09OU09MRSBNRVNTQUdFOiBUaGUgc291cmNlIGxpc3Qg
Zm9yIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZSAnc2NyaXB0LXNyYycgY29udGFp
bnMgYW4gaW52YWxpZCBzb3VyY2U6ICcnc2hhMjU2LScuIEl0IHdpbGwgYmUgaWdub3JlZC4KQEAg
LTUzLDcgKzUxLDcgQEAgUEFTUyAiSGFzaCB3aXRob3V0IHByZWZpeCIgZGlkIG5vdCBydW4gaW5s
aW5lIHNjcmlwdC4KIFBBU1MgIlNIQS0yNTYgaGFzaCB3aXRoIFNIQS0zODQgcHJlZml4IiBkaWQg
bm90IHJ1biBpbmxpbmUgc2NyaXB0LgogUEFTUyAiU0hBLTI1NiBoYXNoIHdpdGggU0hBLTUxMiBw
cmVmaXgiIGRpZCBub3QgcnVuIGlubGluZSBzY3JpcHQuCiBQQVNTICJNYWxmb3JtZWQgU0hBLTI1
NiBoYXNoIChlcXVhbCBzaWduIGluIGRpc2FsbG93ZWQgcG9zaXRpb24pIiBkaWQgbm90IHJ1biBp
bmxpbmUgc2NyaXB0LgotUEFTUyAiU0hBLTI1NiBoYXNoIHdpdGggb25lIGV4dHJhbmVvdXMgZXF1
YWwgc2lnbiIgZGlkIG5vdCBydW4gaW5saW5lIHNjcmlwdC4KK1BBU1MgIlNIQS0yNTYgaGFzaCB3
aXRoIG9uZSBleHRyYW5lb3VzIGVxdWFsIHNpZ24iIGRpZCBydW4gaW5saW5lIHNjcmlwdC4KIFBB
U1MgIlNIQS0yNTYgaGFzaCB3aXRoIHR3byBleHRyYW5lb3VzIGVxdWFsIHNpZ25zIiBkaWQgbm90
IHJ1biBpbmxpbmUgc2NyaXB0LgogUEFTUyAiTWFsZm9ybWVkIGhhc2ggc291cmNlIiBkaWQgbm90
IHJ1biBpbmxpbmUgc2NyaXB0LgogUEFTUyAiSGFzaCBzb3VyY2Ugd2l0aG91dCBoYXNoIiBkaWQg
bm90IHJ1biBpbmxpbmUgc2NyaXB0LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NjcmlwdGhhc2gtdGVzdHMuaHRt
bCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
LzEuMS9zY3JpcHRoYXNoLXRlc3RzLmh0bWwKaW5kZXggMjUyNmNmNmI3NzYzMTIwMjNjODA4OGQ0
MjVhMDUwNWVlNWVkNjIwZS4uOWQyNjJmNjVjZmI2NTIwY2M0MTAzMzM2NjZhNTkzN2MxYjdjODcx
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvMS4xL3NjcmlwdGhhc2gtdGVzdHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2NyaXB0aGFzaC10
ZXN0cy5odG1sCkBAIC0xNTksNyArMTU5LDcgQEAgdmFyIHRlc3RzID0gWwogICAgIGNoYXJzZXQ6
ICJVVEY4IiwKICAgICBzY3JpcHQ6IGVuY29kZVVSSUNvbXBvbmVudCgiZGlkUnVuSW5saW5lU2Ny
aXB0ID0gdHJ1ZTsiKSwKICAgICBoYXNoU291cmNlOiAiJ3NoYTI1Ni0vdkVUMnJWQTZXV1NOWThY
WUJsK0JxQUwwZ1RGMGZ6dzdlb3ZRUUcraE5BPT0nIiwKLSAgICBleHBlY3RlZFJlc3VsdDogRG9O
b3RSdW5JbmxpbmVTY3JpcHQsCisgICAgZXhwZWN0ZWRSZXN1bHQ6IFJ1bklubGluZVNjcmlwdCwK
IH0sCiB7CiAgICAgbmFtZTogIlNIQS0yNTYgaGFzaCB3aXRoIHR3byBleHRyYW5lb3VzIGVxdWFs
IHNpZ25zIiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY29udGVudC1zZWN1cml0eS1wb2xpY3kvc2NyaXB0LXNyYy9zY3JpcHQtc3JjLXJl
cG9ydC1vbmx5LXBvbGljeS13b3Jrcy13aXRoLWV4dGVybmFsLWhhc2gtcG9saWN5LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29udGVu
dC1zZWN1cml0eS1wb2xpY3kvc2NyaXB0LXNyYy9zY3JpcHQtc3JjLXJlcG9ydC1vbmx5LXBvbGlj
eS13b3Jrcy13aXRoLWV4dGVybmFsLWhhc2gtcG9saWN5LWV4cGVjdGVkLnR4dAppbmRleCA4ODcz
ZjZkYzkwYzQxMWQ2OGE2MmMzYzYxYzdiY2YwMWIzZTljN2VkLi41MjQ0ZDYzMjU5ZmEyNmVjMmYz
NTk3MGJlMzE2YmUxYzM5ODFmYmIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3NjcmlwdC1zcmMv
c2NyaXB0LXNyYy1yZXBvcnQtb25seS1wb2xpY3ktd29ya3Mtd2l0aC1leHRlcm5hbC1oYXNoLXBv
bGljeS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQtc3JjL3NjcmlwdC1zcmMt
cmVwb3J0LW9ubHktcG9saWN5LXdvcmtzLXdpdGgtZXh0ZXJuYWwtaGFzaC1wb2xpY3ktZXhwZWN0
ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIFNob3VsZCBmaXJlIHNlY3VyaXR5cG9saWN5
dmlvbGF0aW9uIGV2ZW50IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZXBvcnQiIGJ1dCBnb3Qg
ImVuZm9yY2UiCi1GQUlMIEV4dGVybmFsIHNjcmlwdCBpbiBhIHNjcmlwdCB0YWcgd2l0aCBtYXRj
aGluZyBTUkkgaGFzaCBzaG91bGQgcnVuLiBhc3NlcnRfdHJ1ZTogRXh0ZXJuYWwgc2NyaXB0IHJh
bi4gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgU2hvdWxkIGZpcmUgc2VjdXJpdHlwb2xp
Y3l2aW9sYXRpb24gZXZlbnQKK1BBU1MgRXh0ZXJuYWwgc2NyaXB0IGluIGEgc2NyaXB0IHRhZyB3
aXRoIG1hdGNoaW5nIFNSSSBoYXNoIHNob3VsZCBydW4uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0eS1wb2xp
Y3kvc2NyaXB0LXNyYy9zY3JpcHQtc3JjLXNyaV9oYXNoLnN1Yi1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHkt
cG9saWN5L3NjcmlwdC1zcmMvc2NyaXB0LXNyYy1zcmlfaGFzaC5zdWItZXhwZWN0ZWQudHh0Cmlu
ZGV4IGYzZDcyZTQwYmI2MTNjYzY0MDMzMTg2NDM1MTkwZDFlYjZjNThjNGQuLjg3Mjc2NmY3OTU0
OTQ4MGIzYzRmY2I3OThiNjA4NGY1ODRkM2I3MGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0eS1wb2xpY3kvc2Ny
aXB0LXNyYy9zY3JpcHQtc3JjLXNyaV9oYXNoLnN1Yi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50LXNlY3VyaXR5LXBv
bGljeS9zY3JpcHQtc3JjL3NjcmlwdC1zcmMtc3JpX2hhc2guc3ViLWV4cGVjdGVkLnR4dApAQCAt
MiwxNCArMiwxNCBAQCBFeHRlcm5hbCBzY3JpcHRzIHdpdGggbWF0Y2hpbmcgU1JJIGhhc2ggc2hv
dWxkIGJlIGFsbG93ZWQuCiAKIAogUEFTUyBMb2FkIGFsbCB0aGUgdGVzdHMuCi1GQUlMIG1hdGNo
aW5nIGludGVncml0eSBhc3NlcnRfdW5yZWFjaGVkOiBTY3JpcHQgc2hvdWxkIGxvYWQhIGh0dHA6
Ly9sb2NhbGhvc3Q6ODgwMC9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQtc3JjL3NpbXBs
ZVNvdXJjZWRTY3JpcHQuanMgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIG11bHRpcGxl
IG1hdGNoaW5nIGludGVncml0eSBhc3NlcnRfdW5yZWFjaGVkOiBTY3JpcHQgc2hvdWxkIGxvYWQh
IGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQtc3Jj
L3NpbXBsZVNvdXJjZWRTY3JpcHQuanMgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIG1h
dGNoaW5nIGludGVncml0eQorUEFTUyBtdWx0aXBsZSBtYXRjaGluZyBpbnRlZ3JpdHkKIFBBU1Mg
bm8gaW50ZWdyaXR5Ci1GQUlMIG1hdGNoaW5nIHBsdXMgdW5zdXBwb3J0ZWQgaW50ZWdyaXR5IGFz
c2VydF91bnJlYWNoZWQ6IFNjcmlwdCBzaG91bGQgbG9hZCEgaHR0cDovL2xvY2FsaG9zdDo4ODAw
L2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3NjcmlwdC1zcmMvc2ltcGxlU291cmNlZFNjcmlwdC5q
cyBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgbWF0Y2hpbmcgcGx1cyB1bnN1cHBvcnRl
ZCBpbnRlZ3JpdHkKIFBBU1MgbWlzbWF0Y2hlZCBpbnRlZ3JpdHkKIFBBU1MgbXVsdGlwbGUgbWlz
bWF0Y2hlZCBpbnRlZ3JpdHkKIFBBU1MgcGFydGlhbGx5IG1hdGNoaW5nIGludGVncml0eQogRkFJ
TCBjcm9zc29yaWdpbiBubyBpbnRlZ3JpdHkgYnV0IGFsbG93ZWQgaG9zdCBhc3NlcnRfdW5yZWFj
aGVkOiBTY3JpcHQgc2hvdWxkIGxvYWQhIGh0dHA6Ly8xMjcuMC4wLjE6ODgwMC9jb250ZW50LXNl
Y3VyaXR5LXBvbGljeS9zY3JpcHQtc3JjL2Nyb3Nzb3JpZ2luU2NyaXB0LmpzIFJlYWNoZWQgdW5y
ZWFjaGFibGUgY29kZQogRkFJTCBjcm9zc29yaWdpbiBtaXNtYXRjaGVkIGludGVncml0eSBidXQg
YWxsb3dlZCBob3N0IGFzc2VydF91bnJlYWNoZWQ6IFNjcmlwdCBzaG91bGQgbG9hZCEgaHR0cDov
LzEyNy4wLjAuMTo4ODAwL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3NjcmlwdC1zcmMvY3Jvc3Nv
cmlnaW5TY3JpcHQuanMgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIEV4dGVybmFsIHNj
cmlwdCBpbiBhIHNjcmlwdCB0YWcgd2l0aCBtYXRjaGluZyBTUkkgaGFzaCBzaG91bGQgcnVuLiBh
c3NlcnRfdHJ1ZTogRXh0ZXJuYWwgc2NyaXB0IHJhbi4gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UK
K1BBU1MgRXh0ZXJuYWwgc2NyaXB0IGluIGEgc2NyaXB0IHRhZyB3aXRoIG1hdGNoaW5nIFNSSSBo
YXNoIHNob3VsZCBydW4uCiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446732</attachid>
            <date>2021-12-10 08:09:43 -0800</date>
            <delta_ts>2021-12-10 08:58:13 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-233911-20211210100942.patch</filename>
            <type>text/plain</type>
            <size>26934</size>
            <attacher name="Patrick Griffis">pgriffis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2ODUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzBjOTg2ZDgyNjE5Y2I4
MjlkNmUyYjY4NTI4ZWZkZWY5YTliZjZhYi4uNTMzN2I1ZjMyYzQ4N2JmYzAwMWJiMGMxM2M4NzA1
YTFlZDYwNTUyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDIxLTEyLTEwICBQYXRy
aWNrIEdyaWZmaXMgIDxwZ3JpZmZpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIENTUDogQWxsb3cg
ZXh0ZXJuYWwgc2NyaXB0cyB3aXRoIFNSSSBoYXNoZXMgbWF0Y2hpbmcgQ1NQCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM5MTEKKworICAgICAgICBS
ZXZpZXdlZCBieSBLYXRlIENoZW5leS4KKworICAgICAgICBUaGlzIGlzIGEgY2hhbmdlIGluIENT
UDMgdGhhdCBhbGxvd3MgbG9hZGluZyBleHRlcm5hbAorICAgICAgICBzY3JpcHRzIHRoYXQgaGF2
ZSBTUkkgaGFzaGVzIG1hdGNoaW5nIENTUCBoYXNoZXMuCisgICAgICAgIGh0dHBzOi8vd3d3Lncz
Lm9yZy9UUi9DU1AzLyNleHRlcm5hbC1oYXNoCisKKyAgICAgICAgUmVzb3VyY2VDcnlwdG9ncmFw
aGljRGlnZXN0IHdhcyBjaGFuZ2VkIHRvIG5vdCB2YWxpZGF0ZSBwYWRkaW5nCisgICAgICAgIGR1
cmluZyBiYXNlNjQgZGVjb2Rpbmcgd2hpY2ggaXMgaGFybWxlc3MgYW5kIGZpeGVzIHBhcnNpbmcg
dGhlCisgICAgICAgIGhhc2hlcyB1c2VkIGluIFdQVCdzIHNjcmlwdC1zcmMtc3JpX2hhc2guc3Vi
Lmh0bWwuCisKKyAgICAgICAgKiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6aXNBbGxvd2VkQnlD
b250ZW50U2VjdXJpdHlQb2xpY3kpOgorICAgICAgICAqIGxvYWRlci9SZXNvdXJjZUNyeXB0b2dy
YXBoaWNEaWdlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VDcnlwdG9ncmFwaGljRGln
ZXN0SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpkZWNvZGVFbmNvZGVkUmVzb3VyY2VDcnlwdG9n
cmFwaGljRGlnZXN0KToKKyAgICAgICAgKiBsb2FkZXIvU3VicmVzb3VyY2VJbnRlZ3JpdHkuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VJbnRlZ3JpdHlNZXRhZGF0YSk6CisgICAgICAgICog
bG9hZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5Lmg6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0Nh
Y2hlZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNl
TG9hZGVyOjphbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQb2xpY3kgY29uc3QpOgorICAgICAgICAq
IHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
b250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbFNjcmlwdFBvbGljaWVzQWxsb3cgY29uc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6cGFyc2VTdWJSZXNvdXJjZUludGVncml0eUludG9EaWdlc3RzKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dSZXNvdXJjZUZyb21T
b3VyY2UgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5Ojph
bGxvd1NjcmlwdEZyb21Tb3VyY2UgY29uc3QpOgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRT
ZWN1cml0eVBvbGljeS5oOgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGlj
eURpcmVjdGl2ZUxpc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9s
aWN5RGlyZWN0aXZlTGlzdDo6dmlvbGF0ZWREaXJlY3RpdmVGb3JTY3JpcHQgY29uc3QpOgorICAg
ICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3QuaDoKKyAg
ICAgICAgKiBwYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3Q6Om1hdGNoZXNB
bGwgY29uc3QpOgorICAgICAgICAqIHBhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJj
ZUxpc3QuaDoKKyAgICAgICAgKiBwYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VM
aXN0RGlyZWN0aXZlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGlj
eVNvdXJjZUxpc3REaXJlY3RpdmU6OmNvbnRhaW5zQWxsSGFzaGVzIGNvbnN0KToKKyAgICAgICAg
KiBwYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0RGlyZWN0aXZlLmg6CisK
IDIwMjEtMTItMTAgIEFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtM
RkNdW0lGQ10gRW5hYmxlIGJpZGkgaGFuZGxpbmcgZm9yIGNvbnRlbnQgd2l0aCBpbmxpbmUgYm94
ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVM
b2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRl
ci5jcHAKaW5kZXggOWE0ZDRiMjEyZmRmZDI4MTg0Mzc2ZDRiNzBjN2RhNGYzZWI3YzgzMi4uYzEw
ZDVjMWRiZWJlZjA1NTI4NDNkZDlmYzBhNTMzZGRiNDc5M2E0YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKQEAgLTY4NSw3ICs2
ODUsNyBAQCBib29sIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6aXNBbGxvd2VkQnlDb250ZW50
U2VjdXJpdHlQb2xpY3koY29uc3QgVVJMJiB1cmwsCiAgICAgY2FzZSBDb250ZW50U2VjdXJpdHlQ
b2xpY3lFbmZvcmNlbWVudDo6RW5mb3JjZUNvbm5lY3RTcmNEaXJlY3RpdmU6CiAgICAgICAgIHJl
dHVybiBjb250ZW50U2VjdXJpdHlQb2xpY3koKS5hbGxvd0Nvbm5lY3RUb1NvdXJjZSh1cmwsIHJl
ZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCwgcHJlUmVkaXJlY3RVUkwpOwogICAgIGNhc2UgQ29udGVu
dFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkVuZm9yY2VTY3JpcHRTcmNEaXJlY3RpdmU6Ci0g
ICAgICAgIHJldHVybiBjb250ZW50U2VjdXJpdHlQb2xpY3koKS5hbGxvd1NjcmlwdEZyb21Tb3Vy
Y2UodXJsLCByZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQsIHByZVJlZGlyZWN0VVJMKTsKKyAgICAg
ICAgcmV0dXJuIGNvbnRlbnRTZWN1cml0eVBvbGljeSgpLmFsbG93U2NyaXB0RnJvbVNvdXJjZSh1
cmwsIHJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCwgcHJlUmVkaXJlY3RVUkwsIG1fb3B0aW9ucy5p
bnRlZ3JpdHkpOwogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4g
ZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VDcnlwdG9n
cmFwaGljRGlnZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUNyeXB0b2dy
YXBoaWNEaWdlc3QuY3BwCmluZGV4IGM2Mjc3Njg1OGE2ZGM1YWZmZDM2ZGM5ZTc4NWM4YmQyNDcy
YmI3NGQuLjQ4NDBmMTRjZjI1ZGRmMWY2MDBhZTk2ZGFjNjNkOTcxMWM4Yzk0MDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3Qu
Y3BwCkBAIC03MSw3ICs3MSw3IEBAIHRlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+IHN0
YXRpYyBzdGQ6Om9wdGlvbmFsPFJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzCiAKICAgICBTdHJp
bmdWaWV3IGhhc2hWYWx1ZShiZWdpbkhhc2hWYWx1ZSwgYnVmZmVyLnBvc2l0aW9uKCkgLSBiZWdp
bkhhc2hWYWx1ZSk7CiAKLSAgICBpZiAoYXV0byBkaWdlc3QgPSBiYXNlNjREZWNvZGUoaGFzaFZh
bHVlLCBCYXNlNjREZWNvZGVPcHRpb25zOjpWYWxpZGF0ZVBhZGRpbmcpKQorICAgIGlmIChhdXRv
IGRpZ2VzdCA9IGJhc2U2NERlY29kZShoYXNoVmFsdWUpKQogICAgICAgICByZXR1cm4gUmVzb3Vy
Y2VDcnlwdG9ncmFwaGljRGlnZXN0IHsgKmFsZ29yaXRobSwgV1RGTW92ZSgqZGlnZXN0KSB9Owog
CiAgICAgaWYgKGF1dG8gZGlnZXN0ID0gYmFzZTY0VVJMRGVjb2RlKGhhc2hWYWx1ZSkpCkBAIC0x
MjUsNyArMTI1LDcgQEAgc3RkOjpvcHRpb25hbDxFbmNvZGVkUmVzb3VyY2VDcnlwdG9ncmFwaGlj
RGlnZXN0PiBwYXJzZUVuY29kZWRDcnlwdG9ncmFwaGljRGlnZXMKIAogc3RkOjpvcHRpb25hbDxS
ZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3Q+IGRlY29kZUVuY29kZWRSZXNvdXJjZUNyeXB0b2dy
YXBoaWNEaWdlc3QoY29uc3QgRW5jb2RlZFJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdCYgZW5j
b2RlZERpZ2VzdCkKIHsKLSAgICBpZiAoYXV0byBkaWdlc3QgPSBiYXNlNjREZWNvZGUoZW5jb2Rl
ZERpZ2VzdC5kaWdlc3QsIEJhc2U2NERlY29kZU9wdGlvbnM6OlZhbGlkYXRlUGFkZGluZykpCisg
ICAgaWYgKGF1dG8gZGlnZXN0ID0gYmFzZTY0RGVjb2RlKGVuY29kZWREaWdlc3QuZGlnZXN0KSkK
ICAgICAgICAgcmV0dXJuIFJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdCB7IGVuY29kZWREaWdl
c3QuYWxnb3JpdGhtLCBXVEZNb3ZlKCpkaWdlc3QpIH07CiAKICAgICBpZiAoYXV0byBkaWdlc3Qg
PSBiYXNlNjRVUkxEZWNvZGUoZW5jb2RlZERpZ2VzdC5kaWdlc3QpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9TdWJyZXNvdXJjZUludGVncml0eS5jcHAKaW5kZXggYzUyMDgxYjQyMTY3YmE4
MGMyNzU3MDhjYmQ5OTZkODdhODU0NDIyZi4uZjQzZGNkODRlZDMyNTRlYzk3YWRlOThlZmEwOTVk
ZmJmZDFlMmQ4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNl
SW50ZWdyaXR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VJbnRl
Z3JpdHkuY3BwCkBAIC05Niw3ICs5Niw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBzcGxpdE9uU3Bh
Y2VzKFN0cmluZ1BhcnNpbmdCdWZmZXI8Q2hhcmFjdGVyVHlwZT4gYnVmZmVyLCBGdW5jCiAgICAg
fQogfQogCi1zdGF0aWMgc3RkOjpvcHRpb25hbDxWZWN0b3I8RW5jb2RlZFJlc291cmNlQ3J5cHRv
Z3JhcGhpY0RpZ2VzdD4+IHBhcnNlSW50ZWdyaXR5TWV0YWRhdGEoY29uc3QgU3RyaW5nJiBpbnRl
Z3JpdHlNZXRhZGF0YSkKK3N0ZDo6b3B0aW9uYWw8VmVjdG9yPEVuY29kZWRSZXNvdXJjZUNyeXB0
b2dyYXBoaWNEaWdlc3Q+PiBwYXJzZUludGVncml0eU1ldGFkYXRhKGNvbnN0IFN0cmluZyYgaW50
ZWdyaXR5TWV0YWRhdGEpCiB7CiAgICAgaWYgKGludGVncml0eU1ldGFkYXRhLmlzRW1wdHkoKSkK
ICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9TdWJyZXNvdXJjZUludGVncml0eS5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1
YnJlc291cmNlSW50ZWdyaXR5LmgKaW5kZXggMWJkNjg2NjhlY2FlZTM3MWQwYTQ0MzYxNzFkZDMw
OGRiMzQyODU5NS4uMjUzNWI4YzM2YTM4NGViODA0YWM2Zjc1NzNjNGRjZDJjNmRmNzZlNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlSW50ZWdyaXR5LmgKQEAgLTMzLDUg
KzMzLDYgQEAgY2xhc3MgQ2FjaGVkUmVzb3VyY2U7CiAKIGJvb2wgbWF0Y2hJbnRlZ3JpdHlNZXRh
ZGF0YShjb25zdCBDYWNoZWRSZXNvdXJjZSYsIGNvbnN0IFN0cmluZyYgaW50ZWdyaXR5TWV0YWRh
dGEpOwogU3RyaW5nIGludGVncml0eU1pc21hdGNoRGVzY3JpcHRpb24oY29uc3QgQ2FjaGVkUmVz
b3VyY2UmLCBjb25zdCBTdHJpbmcmIGludGVncml0eU1ldGFkYXRhKTsKK3N0ZDo6b3B0aW9uYWw8
VmVjdG9yPEVuY29kZWRSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3Q+PiBwYXJzZUludGVncml0
eU1ldGFkYXRhKGNvbnN0IFN0cmluZyYgaW50ZWdyaXR5TWV0YWRhdGEpOwogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApp
bmRleCBmYTM4MjFhYWMxMjUyZjllNzJhYzljZDlmYjVhYWNhODY2MDgyNDU2Li44NGMwMTRiZDY0
MzBhMTgyY2NmZDdmNDJjODVmYTM4YmI3YzQwYWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTUwMSw3ICs1MDEs
NyBAQCBib29sIENhY2hlZFJlc291cmNlTG9hZGVyOjphbGxvd2VkQnlDb250ZW50U2VjdXJpdHlQ
b2xpY3koQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdAogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5
cGU6OlhTTFN0eWxlU2hlZXQ6CiAjZW5kaWYKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpUeXBl
OjpTY3JpcHQ6Ci0gICAgICAgIGlmICghbV9kb2N1bWVudC0+Y29udGVudFNlY3VyaXR5UG9saWN5
KCktPmFsbG93U2NyaXB0RnJvbVNvdXJjZSh1cmwsIHJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCwg
cHJlUmVkaXJlY3RVUkwpKQorICAgICAgICBpZiAoIW1fZG9jdW1lbnQtPmNvbnRlbnRTZWN1cml0
eVBvbGljeSgpLT5hbGxvd1NjcmlwdEZyb21Tb3VyY2UodXJsLCByZWRpcmVjdFJlc3BvbnNlUmVj
ZWl2ZWQsIHByZVJlZGlyZWN0VVJMLCBvcHRpb25zLmludGVncml0eSkpCiAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlR5
cGU6OkNTU1N0eWxlU2hlZXQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9D
b250ZW50U2VjdXJpdHlQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVu
dFNlY3VyaXR5UG9saWN5LmNwcAppbmRleCBiYjc4MDQ4MWU4OWNiMTljMTY3ODlmYjE0YjQyMmU3
MGFmY2Q1MTk3Li41N2EzODc1ZjU5ZDdiNjdhNzZmN2JjYjRlZjM0YjA3Mjc2MmY0MjdjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAK
QEAgLTUyLDYgKzUyLDcgQEAKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUg
IlNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgor
I2luY2x1ZGUgIlN1YnJlc291cmNlSW50ZWdyaXR5LmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvU2NyaXB0Q2FsbFN0YWNrLmg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU2NyaXB0Q2Fs
bFN0YWNrRmFjdG9yeS5oPgogI2luY2x1ZGUgPHBhbC9jcnlwdG8vQ3J5cHRvRGlnZXN0Lmg+CkBA
IC0zMzksNyArMzQwLDcgQEAgYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmFsbFNjcmlwdFBv
bGljaWVzQWxsb3coVmlvbGF0ZWREaXJlY3RpdmVDYWxsYmFjayYmIGMKICAgICBmb3IgKGF1dG8m
IHBvbGljeSA6IG1fcG9saWNpZXMpIHsKICAgICAgICAgYXV0byB2aW9sYXRlZERpcmVjdGl2ZUZv
ck5vblBhcnNlckluc2VydGVkU2NyaXB0ID0gcG9saWN5LmdldCgpLT52aW9sYXRlZERpcmVjdGl2
ZUZvclBhcnNlckluc2VydGVkU2NyaXB0KHBhcnNlckluc2VydGVkKTsKICAgICAgICAgYXV0byB2
aW9sYXRlZERpcmVjdGl2ZUZvclNjcmlwdE5vbmNlID0gcG9saWN5LmdldCgpLT52aW9sYXRlZERp
cmVjdGl2ZUZvclNjcmlwdE5vbmNlKG5vbmNlKTsKLSAgICAgICAgYXV0byB2aW9sYXRlZERpcmVj
dGl2ZUZvclNjcmlwdFNyYyA9IHBvbGljeS5nZXQoKS0+dmlvbGF0ZWREaXJlY3RpdmVGb3JTY3Jp
cHQodXJsLCBmYWxzZSk7CisgICAgICAgIGF1dG8gdmlvbGF0ZWREaXJlY3RpdmVGb3JTY3JpcHRT
cmMgPSBwb2xpY3kuZ2V0KCktPnZpb2xhdGVkRGlyZWN0aXZlRm9yU2NyaXB0KHVybCwgZmFsc2Us
IHsgfSk7CiAgICAgICAgIGF1dG8gW2ZvdW5kSGFzaEluRW5mb3JjZWRQb2xpY2llcywgZm91bmRI
YXNoSW5SZXBvcnRPbmx5UG9saWNpZXNdID0gZmluZEhhc2hPZkNvbnRlbnRJblBvbGljaWVzKCZD
b250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0Ojp2aW9sYXRlZERpcmVjdGl2ZUZvclNj
cmlwdEhhc2gsIHNjcmlwdENvbnRlbnQsIG1faGFzaEFsZ29yaXRobXNGb3JJbmxpbmVTY3JpcHRz
KTsKIAogICAgICAgICBpZiAodmlvbGF0ZWREaXJlY3RpdmVGb3JOb25QYXJzZXJJbnNlcnRlZFNj
cmlwdCAmJiB2aW9sYXRlZERpcmVjdGl2ZUZvclNjcmlwdE5vbmNlICYmIHZpb2xhdGVkRGlyZWN0
aXZlRm9yU2NyaXB0U3JjICYmICFmb3VuZEhhc2hJbkVuZm9yY2VkUG9saWNpZXMpIHsKQEAgLTY0
MCwxMiArNjQxLDQwIEBAIGJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5OjphbGxvd0NoaWxkQ29u
dGV4dEZyb21Tb3VyY2UoY29uc3QgVVJMJiB1cmwsIFJlZGlyZWN0CiAgICAgcmV0dXJuIGFsbG93
UmVzb3VyY2VGcm9tU291cmNlKHVybCwgcmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBDb250ZW50
U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVOYW1lczo6Y2hpbGRTcmMsICZDb250ZW50U2VjdXJpdHlQ
b2xpY3lEaXJlY3RpdmVMaXN0Ojp2aW9sYXRlZERpcmVjdGl2ZUZvckNoaWxkQ29udGV4dCwgcHJl
UmVkaXJlY3RVUkwpOwogfQogCi1ib29sIENvbnRlbnRTZWN1cml0eVBvbGljeTo6YWxsb3dTY3Jp
cHRGcm9tU291cmNlKGNvbnN0IFVSTCYgdXJsLCBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgcmVk
aXJlY3RSZXNwb25zZVJlY2VpdmVkLCBjb25zdCBVUkwmIHByZVJlZGlyZWN0VVJMKSBjb25zdAor
c3RhdGljIFZlY3RvcjxSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3Q+IHBhcnNlU3ViUmVzb3Vy
Y2VJbnRlZ3JpdHlJbnRvRGlnZXN0cyhjb25zdCBTdHJpbmcmIHN1YlJlc291cmNlSW50ZWdyaXR5
KQoreworICAgIGF1dG8gZW5jb2RlZERpZ2VzdHMgPSBwYXJzZUludGVncml0eU1ldGFkYXRhKHN1
YlJlc291cmNlSW50ZWdyaXR5KTsKKyAgICBWZWN0b3I8UmVzb3VyY2VDcnlwdG9ncmFwaGljRGln
ZXN0PiBkZWNvZGVkRGlnZXN0czsKKworICAgIGlmICghZW5jb2RlZERpZ2VzdHMuaGFzX3ZhbHVl
KCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBmb3IgKGNvbnN0IGF1dG8mIGVuY29kZWRE
aWdlc3QgOiBlbmNvZGVkRGlnZXN0cy52YWx1ZSgpKSB7CisgICAgICAgIGF1dG8gZGVjb2RlZERp
Z2VzdCA9IGRlY29kZUVuY29kZWRSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3QoZW5jb2RlZERp
Z2VzdCk7CisgICAgICAgIGlmIChkZWNvZGVkRGlnZXN0Lmhhc192YWx1ZSgpKQorICAgICAgICAg
ICAgZGVjb2RlZERpZ2VzdHMuYXBwZW5kKGRlY29kZWREaWdlc3QudmFsdWUoKSk7CisgICAgfQor
CisgICAgcmV0dXJuIGRlY29kZWREaWdlc3RzOworfQorCitib29sIENvbnRlbnRTZWN1cml0eVBv
bGljeTo6YWxsb3dTY3JpcHRGcm9tU291cmNlKGNvbnN0IFVSTCYgdXJsLCBSZWRpcmVjdFJlc3Bv
bnNlUmVjZWl2ZWQgcmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBjb25zdCBVUkwmIHByZVJlZGly
ZWN0VVJMLCBjb25zdCBTdHJpbmcmIHN1YlJlc291cmNlSW50ZWdyaXR5KSBjb25zdAogewogICAg
IGlmIChzaG91bGRQZXJmb3JtRWFybHlDU1BDaGVjaygpKQogICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICBpZiAoTGVnYWN5U2NoZW1lUmVnaXN0cnk6OnNjaGVtZVNob3VsZEJ5cGFzc0NvbnRlbnRT
ZWN1cml0eVBvbGljeSh1cmwucHJvdG9jb2woKS50b1N0cmluZ1dpdGhvdXRDb3B5aW5nKCkpKQor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIFN0cmluZyBzb3VyY2VVUkw7CisgICAgY29uc3Qg
YXV0byYgYmxvY2tlZFVSTCA9ICFwcmVSZWRpcmVjdFVSTC5pc051bGwoKSA/IHByZVJlZGlyZWN0
VVJMIDogdXJsOworICAgIFRleHRQb3NpdGlvbiBzb3VyY2VQb3NpdGlvbihPcmRpbmFsTnVtYmVy
OjpiZWZvcmVGaXJzdCgpLCBPcmRpbmFsTnVtYmVyKCkpOworICAgIGF1dG8gaGFuZGxlVmlvbGF0
ZWREaXJlY3RpdmUgPSBbJl0gKGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZSYg
dmlvbGF0ZWREaXJlY3RpdmUpIHsKKyAgICAgICAgU3RyaW5nIGNvbnNvbGVNZXNzYWdlID0gY29u
c29sZU1lc3NhZ2VGb3JWaW9sYXRpb24oQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTmFt
ZXM6OnNjcmlwdFNyYywgdmlvbGF0ZWREaXJlY3RpdmUsIGJsb2NrZWRVUkwsICJSZWZ1c2VkIHRv
IGxvYWQiKTsKKyAgICAgICAgcmVwb3J0VmlvbGF0aW9uKENvbnRlbnRTZWN1cml0eVBvbGljeURp
cmVjdGl2ZU5hbWVzOjpzY3JpcHRTcmMsIHZpb2xhdGVkRGlyZWN0aXZlLCBibG9ja2VkVVJMLnN0
cmluZygpLCBjb25zb2xlTWVzc2FnZSwgc291cmNlVVJMLCBTdHJpbmdWaWV3KCksIHNvdXJjZVBv
c2l0aW9uKTsKKyAgICB9OwogCi0gICAgcmV0dXJuIGFsbG93UmVzb3VyY2VGcm9tU291cmNlKHVy
bCwgcmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkLCBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3Rp
dmVOYW1lczo6c2NyaXB0U3JjLCAmQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdDo6
dmlvbGF0ZWREaXJlY3RpdmVGb3JTY3JpcHQsIHByZVJlZGlyZWN0VVJMKTsKKyAgICBhdXRvIHN1
YlJlc291cmNlSW50ZWdyaXR5RGlnZXN0cyA9IHBhcnNlU3ViUmVzb3VyY2VJbnRlZ3JpdHlJbnRv
RGlnZXN0cyhzdWJSZXNvdXJjZUludGVncml0eSk7CisgICAgcmV0dXJuIGFsbFBvbGljaWVzQWxs
b3coV1RGTW92ZShoYW5kbGVWaW9sYXRlZERpcmVjdGl2ZSksICZDb250ZW50U2VjdXJpdHlQb2xp
Y3lEaXJlY3RpdmVMaXN0Ojp2aW9sYXRlZERpcmVjdGl2ZUZvclNjcmlwdCwgdXJsLCByZWRpcmVj
dFJlc3BvbnNlUmVjZWl2ZWQgPT0gUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkOjpZZXMsIHN1YlJl
c291cmNlSW50ZWdyaXR5RGlnZXN0cyk7CiB9CiAKIGJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5
OjphbGxvd0ltYWdlRnJvbVNvdXJjZShjb25zdCBVUkwmIHVybCwgUmVkaXJlY3RSZXNwb25zZVJl
Y2VpdmVkIHJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCwgY29uc3QgVVJMJiBwcmVSZWRpcmVjdFVS
TCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1
cml0eVBvbGljeS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9s
aWN5LmgKaW5kZXggYzFkZjg0OWVhOGVmZWU2YzliZjA4ZWQyZGUzOTIwMjYzN2MxYWFlNi4uNjU3
NTA3NDgzNWE2NTNlZDdlZmU2ODQ2MjZkMGRiMTU5ZTIzOTUxYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKQEAgLTExMyw3ICsxMTMsNyBA
QCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBvdmVycmlkZXNYRnJhbWVPcHRpb25z
KCkgY29uc3Q7CiAKICAgICBlbnVtIGNsYXNzIFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCB7IE5v
LCBZZXMgfTsKLSAgICBXRUJDT1JFX0VYUE9SVCBib29sIGFsbG93U2NyaXB0RnJvbVNvdXJjZShj
b25zdCBVUkwmLCBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgPSBSZWRpcmVjdFJlc3BvbnNlUmVj
ZWl2ZWQ6Ok5vLCBjb25zdCBVUkwmIHByZVJlZGlyZWN0VVJMID0gVVJMKCkpIGNvbnN0OworICAg
IFdFQkNPUkVfRVhQT1JUIGJvb2wgYWxsb3dTY3JpcHRGcm9tU291cmNlKGNvbnN0IFVSTCYsIFJl
ZGlyZWN0UmVzcG9uc2VSZWNlaXZlZCA9IFJlZGlyZWN0UmVzcG9uc2VSZWNlaXZlZDo6Tm8sIGNv
bnN0IFVSTCYgcHJlUmVkaXJlY3RVUkwgPSBVUkwoKSwgY29uc3QgU3RyaW5nJiA9IG51bGxTdHJp
bmcoKSkgY29uc3Q7CiAgICAgYm9vbCBhbGxvd0ltYWdlRnJvbVNvdXJjZShjb25zdCBVUkwmLCBS
ZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQgPSBSZWRpcmVjdFJlc3BvbnNlUmVjZWl2ZWQ6Ok5vLCBj
b25zdCBVUkwmIHByZVJlZGlyZWN0VVJMID0gVVJMKCkpIGNvbnN0OwogICAgIGJvb2wgYWxsb3dT
dHlsZUZyb21Tb3VyY2UoY29uc3QgVVJMJiwgUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkID0gUmVk
aXJlY3RSZXNwb25zZVJlY2VpdmVkOjpObywgY29uc3QgVVJMJiBwcmVSZWRpcmVjdFVSTCA9IFVS
TCgpKSBjb25zdDsKICAgICBib29sIGFsbG93Rm9udEZyb21Tb3VyY2UoY29uc3QgVVJMJiwgUmVk
aXJlY3RSZXNwb25zZVJlY2VpdmVkID0gUmVkaXJlY3RSZXNwb25zZVJlY2VpdmVkOjpObywgY29u
c3QgVVJMJiBwcmVSZWRpcmVjdFVSTCA9IFVSTCgpKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZUxpc3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZl
TGlzdC5jcHAKaW5kZXggMTExMTcxY2U4MzE5YzcxY2Q0MWM2MjRmNDk3NTNjNWJjZGM5Zjg4My4u
ZWY2YWVkOTJiZjNjYzRiZmRlNjc5MGEwMzMyMzE3YzdjZmJhMGJlZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5RGly
ZWN0aXZlTGlzdC5jcHAKQEAgLTM4Nyw5ICszODcsMTMgQEAgY29uc3QgQ29udGVudFNlY3VyaXR5
UG9saWN5RGlyZWN0aXZlKiBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0Ojp2aW9s
YXQKICAgICByZXR1cm4gbV9wbHVnaW5UeXBlcy5nZXQoKTsKIH0KIAotY29uc3QgQ29udGVudFNl
Y3VyaXR5UG9saWN5RGlyZWN0aXZlKiBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVMaXN0
Ojp2aW9sYXRlZERpcmVjdGl2ZUZvclNjcmlwdChjb25zdCBVUkwmIHVybCwgYm9vbCBkaWRSZWNl
aXZlUmVkaXJlY3RSZXNwb25zZSkgY29uc3QKK2NvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeURp
cmVjdGl2ZSogQ29udGVudFNlY3VyaXR5UG9saWN5RGlyZWN0aXZlTGlzdDo6dmlvbGF0ZWREaXJl
Y3RpdmVGb3JTY3JpcHQoY29uc3QgVVJMJiB1cmwsIGJvb2wgZGlkUmVjZWl2ZVJlZGlyZWN0UmVz
cG9uc2UsIGNvbnN0IFZlY3RvcjxSZXNvdXJjZUNyeXB0b2dyYXBoaWNEaWdlc3Q+JiBzdWJSZXNv
dXJjZUludGVncml0eURpZ2VzdHMpIGNvbnN0CiB7CiAgICAgYXV0byogb3BlcmF0aXZlRGlyZWN0
aXZlID0gdGhpcy0+b3BlcmF0aXZlRGlyZWN0aXZlKG1fc2NyaXB0U3JjLmdldCgpLCBDb250ZW50
U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmVOYW1lczo6c2NyaXB0U3JjRWxlbSk7CisKKyAgICBpZiAo
b3BlcmF0aXZlRGlyZWN0aXZlLT5jb250YWluc0FsbEhhc2hlcyhzdWJSZXNvdXJjZUludGVncml0
eURpZ2VzdHMpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKwogICAgIGlmIChjaGVja1NvdXJj
ZShvcGVyYXRpdmVEaXJlY3RpdmUsIHVybCwgZGlkUmVjZWl2ZVJlZGlyZWN0UmVzcG9uc2UpKQog
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICByZXR1cm4gb3BlcmF0aXZlRGlyZWN0aXZlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5
RGlyZWN0aXZlTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5
UG9saWN5RGlyZWN0aXZlTGlzdC5oCmluZGV4IGMzZTIwODQwZDg2YzEwZmMwMjM0YWQ0ZTk2NmY5
MGI2ZGQwZDVkODkuLjg2ODRkNTY0MzlhMDI4ZmY1MmUxMTZmMzYxNjFmMjZjMmE4NmM3MTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeURp
cmVjdGl2ZUxpc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJp
dHlQb2xpY3lEaXJlY3RpdmVMaXN0LmgKQEAgLTc1LDcgKzc1LDcgQEAgcHVibGljOgogICAgIGNv
bnN0IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZSogdmlvbGF0ZWREaXJlY3RpdmVGb3JN
ZWRpYShjb25zdCBVUkwmLCBib29sIGRpZFJlY2VpdmVSZWRpcmVjdFJlc3BvbnNlKSBjb25zdDsK
ICAgICBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmUqIHZpb2xhdGVkRGlyZWN0
aXZlRm9yT2JqZWN0U291cmNlKGNvbnN0IFVSTCYsIGJvb2wgZGlkUmVjZWl2ZVJlZGlyZWN0UmVz
cG9uc2UsIENvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3RpdmU6OlNob3VsZEFs
bG93RW1wdHlVUkxJZlNvdXJjZUxpc3RJc05vdE5vbmUpIGNvbnN0OwogICAgIGNvbnN0IENvbnRl
bnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZSogdmlvbGF0ZWREaXJlY3RpdmVGb3JQbHVnaW5UeXBl
KGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiB0eXBlQXR0cmlidXRlKSBjb25zdDsK
LSAgICBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmUqIHZpb2xhdGVkRGlyZWN0
aXZlRm9yU2NyaXB0KGNvbnN0IFVSTCYsIGJvb2wgZGlkUmVjZWl2ZVJlZGlyZWN0UmVzcG9uc2Up
IGNvbnN0OworICAgIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeURpcmVjdGl2ZSogdmlvbGF0
ZWREaXJlY3RpdmVGb3JTY3JpcHQoY29uc3QgVVJMJiwgYm9vbCBkaWRSZWNlaXZlUmVkaXJlY3RS
ZXNwb25zZSwgY29uc3QgVmVjdG9yPFJlc291cmNlQ3J5cHRvZ3JhcGhpY0RpZ2VzdD4mKSBjb25z
dDsKICAgICBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmUqIHZpb2xhdGVkRGly
ZWN0aXZlRm9yU3R5bGUoY29uc3QgVVJMJiwgYm9vbCBkaWRSZWNlaXZlUmVkaXJlY3RSZXNwb25z
ZSkgY29uc3Q7CiAKICAgICBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lEaXJlY3RpdmUqIGRl
ZmF1bHRTcmMoKSBjb25zdCB7IHJldHVybiBtX2RlZmF1bHRTcmMuZ2V0KCk7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxp
c3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291
cmNlTGlzdC5jcHAKaW5kZXggYTg2ZWI0NGIyZTM4ZTY0MmRjZDQ0Mzg2MmQ5Nzk2N2E0NzI0MDdk
My4uNmRjNWUzM2EwNmYyNGM0NzU4MzM4YTA3YTM4YmY0MDU1N2M2MDhkMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291
cmNlTGlzdC5jcHAKQEAgLTE1NSw2ICsxNTUsMTkgQEAgYm9vbCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lTb3VyY2VMaXN0OjptYXRjaGVzKGNvbnN0IFZlY3RvcjxDb250ZW50U2VjdXJpdHlQb2xpY3kK
ICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNl
TGlzdDo6bWF0Y2hlc0FsbChjb25zdCBWZWN0b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4m
IGhhc2hlcykgY29uc3QKK3sKKyAgICBpZiAoaGFzaGVzLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgZm9yIChhdXRvJiBoYXNoIDogaGFzaGVzKSB7CisgICAgICAgIGlm
ICghbV9oYXNoZXMuY29udGFpbnMoaGFzaCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wgQ29udGVudFNlY3VyaXR5UG9saWN5
U291cmNlTGlzdDo6bWF0Y2hlcyhjb25zdCBTdHJpbmcmIG5vbmNlKSBjb25zdAogewogICAgIGlm
IChub25jZS5pc0VtcHR5KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9D
b250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2Nz
cC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0LmgKaW5kZXggMzc5NDVlNmNiMDNmMzFm
MzAzMTM4Njg0YWMyMjgxOTIzYjZjMzZkNS4uZTRmOGM4NzljNTQwM2Y1OTFkZjIzNGU2YTFjOGFi
OWZhNTU5Y2NmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNl
Y3VyaXR5UG9saWN5U291cmNlTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0Nv
bnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3QuaApAQCAtNDUsNiArNDUsNyBAQCBwdWJsaWM6
CiAKICAgICBib29sIG1hdGNoZXMoY29uc3QgVVJMJiwgYm9vbCBkaWRSZWNlaXZlUmVkaXJlY3RS
ZXNwb25zZSkgY29uc3Q7CiAgICAgYm9vbCBtYXRjaGVzKGNvbnN0IFZlY3RvcjxDb250ZW50U2Vj
dXJpdHlQb2xpY3lIYXNoPiYpIGNvbnN0OworICAgIGJvb2wgbWF0Y2hlc0FsbChjb25zdCBWZWN0
b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4mKSBjb25zdDsKICAgICBib29sIG1hdGNoZXMo
Y29uc3QgU3RyaW5nJiBub25jZSkgY29uc3Q7CiAKICAgICBPcHRpb25TZXQ8Q29udGVudFNlY3Vy
aXR5UG9saWN5SGFzaEFsZ29yaXRobT4gaGFzaEFsZ29yaXRobXNVc2VkKCkgY29uc3QgeyByZXR1
cm4gbV9oYXNoQWxnb3JpdGhtc1VzZWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvY3NwL0NvbnRlbnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3RpdmUuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdERpcmVj
dGl2ZS5jcHAKaW5kZXggMWUwYmQzMjEzOTRkYzRmMjVhNDFiMGY1NzE3MjdlNjkxYWEwYzY1YS4u
YjA2OWNhZjQxM2QxZjc4ZjNiOGI3NDM4ZTNmMDcwOWQ1ZDYxZjc3ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5U291cmNlTGlzdERpcmVj
dGl2ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9s
aWN5U291cmNlTGlzdERpcmVjdGl2ZS5jcHAKQEAgLTUyLDYgKzUyLDExIEBAIGJvb2wgQ29udGVu
dFNlY3VyaXR5UG9saWN5U291cmNlTGlzdERpcmVjdGl2ZTo6YWxsb3dzKGNvbnN0IFN0cmluZyYg
bm9uY2UpIGNvbnN0CiAgICAgcmV0dXJuIG1fc291cmNlTGlzdC5tYXRjaGVzKG5vbmNlKTsKIH0K
IAorYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0RGlyZWN0aXZlOjpjb250YWlu
c0FsbEhhc2hlcyhjb25zdCBWZWN0b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4mIGhhc2hl
cykgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zb3VyY2VMaXN0Lm1hdGNoZXNBbGwoaGFzaGVzKTsK
K30KKwogYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0RGlyZWN0aXZlOjphbGxv
d3MoY29uc3QgVmVjdG9yPENvbnRlbnRTZWN1cml0eVBvbGljeUhhc2g+JiBoYXNoZXMpIGNvbnN0
CiB7CiAgICAgcmV0dXJuIG1fc291cmNlTGlzdC5tYXRjaGVzKGhhc2hlcyk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xpY3lTb3VyY2VMaXN0
RGlyZWN0aXZlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2NzcC9Db250ZW50U2VjdXJpdHlQb2xp
Y3lTb3VyY2VMaXN0RGlyZWN0aXZlLmgKaW5kZXggNzhiYTk1YTgxZDAxMzkzNjhkMzg3ZjFkZGYw
NDU1ZDVkZDljZTMwZC4uYzM1NGExY2UzZWJhMzg5YzM0ZjkxZjNkODZkZTk3NzI3OGUwYmIwYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9jc3AvQ29udGVudFNlY3VyaXR5UG9saWN5
U291cmNlTGlzdERpcmVjdGl2ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvY3NwL0NvbnRl
bnRTZWN1cml0eVBvbGljeVNvdXJjZUxpc3REaXJlY3RpdmUuaApAQCAtNDAsNiArNDAsNyBAQCBw
dWJsaWM6CiAgICAgZW51bSBjbGFzcyBTaG91bGRBbGxvd0VtcHR5VVJMSWZTb3VyY2VMaXN0SXNO
b3ROb25lIHsgTm8sIFllcyB9OwogICAgIGJvb2wgYWxsb3dzKGNvbnN0IFVSTCYsIGJvb2wgZGlk
UmVjZWl2ZVJlZGlyZWN0UmVzcG9uc2UsIFNob3VsZEFsbG93RW1wdHlVUkxJZlNvdXJjZUxpc3RJ
c05vdE5vbmUpOwogICAgIGJvb2wgYWxsb3dzKGNvbnN0IFZlY3RvcjxDb250ZW50U2VjdXJpdHlQ
b2xpY3lIYXNoPiYpIGNvbnN0OworICAgIGJvb2wgY29udGFpbnNBbGxIYXNoZXMoY29uc3QgVmVj
dG9yPENvbnRlbnRTZWN1cml0eVBvbGljeUhhc2g+JikgY29uc3Q7CiAgICAgYm9vbCBhbGxvd1Vu
c2FmZUhhc2hlcyhjb25zdCBWZWN0b3I8Q29udGVudFNlY3VyaXR5UG9saWN5SGFzaD4mKSBjb25z
dDsKICAgICBib29sIGFsbG93cyhjb25zdCBTdHJpbmcmIG5vbmNlKSBjb25zdDsKICAgICBib29s
IGFsbG93SW5saW5lKCkgY29uc3QgeyByZXR1cm4gbV9zb3VyY2VMaXN0LmFsbG93SW5saW5lKCk7
IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBiMmUwMTVkNjMwODY0MDk0YjBmYmRjZTk5OTg0YjFjZTQzZWJkOGQ4Li5kMDli
ZDZhODJlZGFiNDI2ZjVjN2Y0MTU5YjAzYTAwZTY5ZTVkY2ViIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMjEtMTItMTAgIFBhdHJpY2sgR3JpZmZpcyAgPHBncmlmZmlzQGlnYWxpYS5jb20+CisK
KyAgICAgICAgQ1NQOiBBbGxvdyBleHRlcm5hbCBzY3JpcHRzIHdpdGggU1JJIGhhc2hlcyBtYXRj
aGluZyBDU1AKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzMzkxMQorCisgICAgICAgIFJldmlld2VkIGJ5IEthdGUgQ2hlbmV5LgorCisgICAgICAgIFVw
ZGF0ZSB0ZXN0cyB0byBhY2NlcHQgYmFzZTY0IHdpdGggZXh0cmEgcGFkZGluZy4KKworICAgICAg
ICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zY3JpcHRo
YXNoLXRlc3RzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2NyaXB0aGFzaC10ZXN0cy5odG1sOgorCiAyMDIxLTEy
LTEwICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNd
IEVuYWJsZSBiaWRpIGhhbmRsaW5nIGZvciBjb250ZW50IHdpdGggaW5saW5lIGJveGVzCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA4NjEyOTMzMzU2YmVhNDdmMjIzOGFkMzdkNWQ2
N2YwZGUwMTU2OTVmLi5iOTE1MWFiZTg0ZTBjMWQyOTUwMmU2YmMxOWVmOTY1MzM2OGJlYjNhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0xMi0x
MCAgUGF0cmljayBHcmlmZmlzICA8cGdyaWZmaXNAaWdhbGlhLmNvbT4KKworICAgICAgICBDU1A6
IEFsbG93IGV4dGVybmFsIHNjcmlwdHMgd2l0aCBTUkkgaGFzaGVzIG1hdGNoaW5nIENTUAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzOTExCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgS2F0ZSBDaGVuZXkuCisKKyAgICAgICAgVXBkYXRlIGV4cGVjdGF0
aW9ucyB3aXRoIG1vcmUgcGFzc2VzLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nv
bnRlbnQtc2VjdXJpdHktcG9saWN5L3NjcmlwdC1zcmMvc2NyaXB0LXNyYy1yZXBvcnQtb25seS1w
b2xpY3ktd29ya3Mtd2l0aC1leHRlcm5hbC1oYXNoLXBvbGljeS1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3NjcmlwdC1z
cmMvc2NyaXB0LXNyYy1zcmlfaGFzaC5zdWItZXhwZWN0ZWQudHh0OgorCiAyMDIxLTEyLTEwICBN
YW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtXUFRd
IEltcG9ydCByZXNvdXJjZXMvYWNjZXNza2V5LmpzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2NyaXB0aGFzaC10
ZXN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS8xLjEvc2NyaXB0aGFzaC10ZXN0cy1leHBlY3RlZC50eHQKaW5kZXgg
NzM5NjNhNmEzZmI5ZDlkNDUxY2Y0NTZkMmQ3ODM2NDE3ODg5NzljYi4uZDRkNWZhZTIzZGNhNTRh
MTQzZjU1YjFiOTUwZTkyMmNiMzI1NTZmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NjcmlwdGhhc2gtdGVzdHMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5LzEuMS9zY3JpcHRoYXNoLXRlc3RzLWV4cGVjdGVkLnR4dApAQCAtMTIs
OCArMTIsNiBAQCBDT05TT0xFIE1FU1NBR0U6IFJlZnVzZWQgdG8gZXhlY3V0ZSBhIHNjcmlwdCBi
ZWNhdXNlIGl0cyBoYXNoLCBpdHMgbm9uY2UsIG9yICd1bgogQ09OU09MRSBNRVNTQUdFOiBSZWZ1
c2VkIHRvIGV4ZWN1dGUgYSBzY3JpcHQgYmVjYXVzZSBpdHMgaGFzaCwgaXRzIG5vbmNlLCBvciAn
dW5zYWZlLWlubGluZScgZG9lcyBub3QgYXBwZWFyIGluIHRoZSBzY3JpcHQtc3JjIGRpcmVjdGl2
ZSBvZiB0aGUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kuCiBDT05TT0xFIE1FU1NBR0U6IFRoZSBz
b3VyY2UgbGlzdCBmb3IgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlICdzY3JpcHQt
c3JjJyBjb250YWlucyBhbiBpbnZhbGlkIHNvdXJjZTogJydzaGEyNTYtL1ZldDJSdmE2d3dzbnk4
eHliTCs9YlFhbDBHdGYwRlpXN0VPVnFxZytIbmE9JycuIEl0IHdpbGwgYmUgaWdub3JlZC4KIENP
TlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBleGVjdXRlIGEgc2NyaXB0IGJlY2F1c2UgaXRzIGhh
c2gsIGl0cyBub25jZSwgb3IgJ3Vuc2FmZS1pbmxpbmUnIGRvZXMgbm90IGFwcGVhciBpbiB0aGUg
c2NyaXB0LXNyYyBkaXJlY3RpdmUgb2YgdGhlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LgotQ09O
U09MRSBNRVNTQUdFOiBUaGUgc291cmNlIGxpc3QgZm9yIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5
IGRpcmVjdGl2ZSAnc2NyaXB0LXNyYycgY29udGFpbnMgYW4gaW52YWxpZCBzb3VyY2U6ICcnc2hh
MjU2LS92RVQyclZBNldXU05ZOFhZQmwrQnFBTDBnVEYwZnp3N2VvdlFRRytoTkE9PScnLiBJdCB3
aWxsIGJlIGlnbm9yZWQuCi1DT05TT0xFIE1FU1NBR0U6IFJlZnVzZWQgdG8gZXhlY3V0ZSBhIHNj
cmlwdCBiZWNhdXNlIGl0cyBoYXNoLCBpdHMgbm9uY2UsIG9yICd1bnNhZmUtaW5saW5lJyBkb2Vz
IG5vdCBhcHBlYXIgaW4gdGhlIHNjcmlwdC1zcmMgZGlyZWN0aXZlIG9mIHRoZSBDb250ZW50IFNl
Y3VyaXR5IFBvbGljeS4KIENPTlNPTEUgTUVTU0FHRTogVGhlIHNvdXJjZSBsaXN0IGZvciBDb250
ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmUgJ3NjcmlwdC1zcmMnIGNvbnRhaW5zIGFuIGlu
dmFsaWQgc291cmNlOiAnJ3NoYTI1Ni0vdkVUMnJWQTZXV1NOWThYWUJsK0JxQUwwZ1RGMGZ6dzdl
b3ZRUUcraE5BPT09JycuIEl0IHdpbGwgYmUgaWdub3JlZC4KIENPTlNPTEUgTUVTU0FHRTogUmVm
dXNlZCB0byBleGVjdXRlIGEgc2NyaXB0IGJlY2F1c2UgaXRzIGhhc2gsIGl0cyBub25jZSwgb3Ig
J3Vuc2FmZS1pbmxpbmUnIGRvZXMgbm90IGFwcGVhciBpbiB0aGUgc2NyaXB0LXNyYyBkaXJlY3Rp
dmUgb2YgdGhlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5LgogQ09OU09MRSBNRVNTQUdFOiBUaGUg
c291cmNlIGxpc3QgZm9yIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZSAnc2NyaXB0
LXNyYycgY29udGFpbnMgYW4gaW52YWxpZCBzb3VyY2U6ICcnc2hhMjU2LScuIEl0IHdpbGwgYmUg
aWdub3JlZC4KQEAgLTUzLDcgKzUxLDcgQEAgUEFTUyAiSGFzaCB3aXRob3V0IHByZWZpeCIgZGlk
IG5vdCBydW4gaW5saW5lIHNjcmlwdC4KIFBBU1MgIlNIQS0yNTYgaGFzaCB3aXRoIFNIQS0zODQg
cHJlZml4IiBkaWQgbm90IHJ1biBpbmxpbmUgc2NyaXB0LgogUEFTUyAiU0hBLTI1NiBoYXNoIHdp
dGggU0hBLTUxMiBwcmVmaXgiIGRpZCBub3QgcnVuIGlubGluZSBzY3JpcHQuCiBQQVNTICJNYWxm
b3JtZWQgU0hBLTI1NiBoYXNoIChlcXVhbCBzaWduIGluIGRpc2FsbG93ZWQgcG9zaXRpb24pIiBk
aWQgbm90IHJ1biBpbmxpbmUgc2NyaXB0LgotUEFTUyAiU0hBLTI1NiBoYXNoIHdpdGggb25lIGV4
dHJhbmVvdXMgZXF1YWwgc2lnbiIgZGlkIG5vdCBydW4gaW5saW5lIHNjcmlwdC4KK1BBU1MgIlNI
QS0yNTYgaGFzaCB3aXRoIG9uZSBleHRyYW5lb3VzIGVxdWFsIHNpZ24iIGRpZCBydW4gaW5saW5l
IHNjcmlwdC4KIFBBU1MgIlNIQS0yNTYgaGFzaCB3aXRoIHR3byBleHRyYW5lb3VzIGVxdWFsIHNp
Z25zIiBkaWQgbm90IHJ1biBpbmxpbmUgc2NyaXB0LgogUEFTUyAiTWFsZm9ybWVkIGhhc2ggc291
cmNlIiBkaWQgbm90IHJ1biBpbmxpbmUgc2NyaXB0LgogUEFTUyAiSGFzaCBzb3VyY2Ugd2l0aG91
dCBoYXNoIiBkaWQgbm90IHJ1biBpbmxpbmUgc2NyaXB0LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NjcmlwdGhh
c2gtdGVzdHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNl
Y3VyaXR5UG9saWN5LzEuMS9zY3JpcHRoYXNoLXRlc3RzLmh0bWwKaW5kZXggMjUyNmNmNmI3NzYz
MTIwMjNjODA4OGQ0MjVhMDUwNWVlNWVkNjIwZS4uOWQyNjJmNjVjZmI2NTIwY2M0MTAzMzM2NjZh
NTkzN2MxYjdjODcxMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NjcmlwdGhhc2gtdGVzdHMuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEv
c2NyaXB0aGFzaC10ZXN0cy5odG1sCkBAIC0xNTksNyArMTU5LDcgQEAgdmFyIHRlc3RzID0gWwog
ICAgIGNoYXJzZXQ6ICJVVEY4IiwKICAgICBzY3JpcHQ6IGVuY29kZVVSSUNvbXBvbmVudCgiZGlk
UnVuSW5saW5lU2NyaXB0ID0gdHJ1ZTsiKSwKICAgICBoYXNoU291cmNlOiAiJ3NoYTI1Ni0vdkVU
MnJWQTZXV1NOWThYWUJsK0JxQUwwZ1RGMGZ6dzdlb3ZRUUcraE5BPT0nIiwKLSAgICBleHBlY3Rl
ZFJlc3VsdDogRG9Ob3RSdW5JbmxpbmVTY3JpcHQsCisgICAgZXhwZWN0ZWRSZXN1bHQ6IFJ1bklu
bGluZVNjcmlwdCwKIH0sCiB7CiAgICAgbmFtZTogIlNIQS0yNTYgaGFzaCB3aXRoIHR3byBleHRy
YW5lb3VzIGVxdWFsIHNpZ25zIiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0eS1wb2xpY3kvc2NyaXB0LXNyYy9z
Y3JpcHQtc3JjLXJlcG9ydC1vbmx5LXBvbGljeS13b3Jrcy13aXRoLWV4dGVybmFsLWhhc2gtcG9s
aWN5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY29udGVudC1zZWN1cml0eS1wb2xpY3kvc2NyaXB0LXNyYy9zY3JpcHQtc3JjLXJlcG9y
dC1vbmx5LXBvbGljeS13b3Jrcy13aXRoLWV4dGVybmFsLWhhc2gtcG9saWN5LWV4cGVjdGVkLnR4
dAppbmRleCA4ODczZjZkYzkwYzQxMWQ2OGE2MmMzYzYxYzdiY2YwMWIzZTljN2VkLi41MjQ0ZDYz
MjU5ZmEyNmVjMmYzNTk3MGJlMzE2YmUxYzM5ODFmYmIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5
L3NjcmlwdC1zcmMvc2NyaXB0LXNyYy1yZXBvcnQtb25seS1wb2xpY3ktd29ya3Mtd2l0aC1leHRl
cm5hbC1oYXNoLXBvbGljeS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQtc3Jj
L3NjcmlwdC1zcmMtcmVwb3J0LW9ubHktcG9saWN5LXdvcmtzLXdpdGgtZXh0ZXJuYWwtaGFzaC1w
b2xpY3ktZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIFNob3VsZCBmaXJlIHNl
Y3VyaXR5cG9saWN5dmlvbGF0aW9uIGV2ZW50IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJyZXBv
cnQiIGJ1dCBnb3QgImVuZm9yY2UiCi1GQUlMIEV4dGVybmFsIHNjcmlwdCBpbiBhIHNjcmlwdCB0
YWcgd2l0aCBtYXRjaGluZyBTUkkgaGFzaCBzaG91bGQgcnVuLiBhc3NlcnRfdHJ1ZTogRXh0ZXJu
YWwgc2NyaXB0IHJhbi4gZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK1BBU1MgU2hvdWxkIGZpcmUg
c2VjdXJpdHlwb2xpY3l2aW9sYXRpb24gZXZlbnQKK1BBU1MgRXh0ZXJuYWwgc2NyaXB0IGluIGEg
c2NyaXB0IHRhZyB3aXRoIG1hdGNoaW5nIFNSSSBoYXNoIHNob3VsZCBydW4uCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29udGVudC1z
ZWN1cml0eS1wb2xpY3kvc2NyaXB0LXNyYy9zY3JpcHQtc3JjLXNyaV9oYXNoLnN1Yi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRl
bnQtc2VjdXJpdHktcG9saWN5L3NjcmlwdC1zcmMvc2NyaXB0LXNyYy1zcmlfaGFzaC5zdWItZXhw
ZWN0ZWQudHh0CmluZGV4IGYzZDcyZTQwYmI2MTNjYzY0MDMzMTg2NDM1MTkwZDFlYjZjNThjNGQu
Ljg3Mjc2NmY3OTU0OTQ4MGIzYzRmY2I3OThiNjA4NGY1ODRkM2I3MGIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0
eS1wb2xpY3kvc2NyaXB0LXNyYy9zY3JpcHQtc3JjLXNyaV9oYXNoLnN1Yi1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50
LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQtc3JjL3NjcmlwdC1zcmMtc3JpX2hhc2guc3ViLWV4cGVj
dGVkLnR4dApAQCAtMiwxNCArMiwxNCBAQCBFeHRlcm5hbCBzY3JpcHRzIHdpdGggbWF0Y2hpbmcg
U1JJIGhhc2ggc2hvdWxkIGJlIGFsbG93ZWQuCiAKIAogUEFTUyBMb2FkIGFsbCB0aGUgdGVzdHMu
Ci1GQUlMIG1hdGNoaW5nIGludGVncml0eSBhc3NlcnRfdW5yZWFjaGVkOiBTY3JpcHQgc2hvdWxk
IGxvYWQhIGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9zY3Jp
cHQtc3JjL3NpbXBsZVNvdXJjZWRTY3JpcHQuanMgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1G
QUlMIG11bHRpcGxlIG1hdGNoaW5nIGludGVncml0eSBhc3NlcnRfdW5yZWFjaGVkOiBTY3JpcHQg
c2hvdWxkIGxvYWQhIGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9jb250ZW50LXNlY3VyaXR5LXBvbGlj
eS9zY3JpcHQtc3JjL3NpbXBsZVNvdXJjZWRTY3JpcHQuanMgUmVhY2hlZCB1bnJlYWNoYWJsZSBj
b2RlCitQQVNTIG1hdGNoaW5nIGludGVncml0eQorUEFTUyBtdWx0aXBsZSBtYXRjaGluZyBpbnRl
Z3JpdHkKIFBBU1Mgbm8gaW50ZWdyaXR5Ci1GQUlMIG1hdGNoaW5nIHBsdXMgdW5zdXBwb3J0ZWQg
aW50ZWdyaXR5IGFzc2VydF91bnJlYWNoZWQ6IFNjcmlwdCBzaG91bGQgbG9hZCEgaHR0cDovL2xv
Y2FsaG9zdDo4ODAwL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3NjcmlwdC1zcmMvc2ltcGxlU291
cmNlZFNjcmlwdC5qcyBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgbWF0Y2hpbmcgcGx1
cyB1bnN1cHBvcnRlZCBpbnRlZ3JpdHkKIFBBU1MgbWlzbWF0Y2hlZCBpbnRlZ3JpdHkKIFBBU1Mg
bXVsdGlwbGUgbWlzbWF0Y2hlZCBpbnRlZ3JpdHkKIFBBU1MgcGFydGlhbGx5IG1hdGNoaW5nIGlu
dGVncml0eQogRkFJTCBjcm9zc29yaWdpbiBubyBpbnRlZ3JpdHkgYnV0IGFsbG93ZWQgaG9zdCBh
c3NlcnRfdW5yZWFjaGVkOiBTY3JpcHQgc2hvdWxkIGxvYWQhIGh0dHA6Ly8xMjcuMC4wLjE6ODgw
MC9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9zY3JpcHQtc3JjL2Nyb3Nzb3JpZ2luU2NyaXB0Lmpz
IFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogRkFJTCBjcm9zc29yaWdpbiBtaXNtYXRjaGVkIGlu
dGVncml0eSBidXQgYWxsb3dlZCBob3N0IGFzc2VydF91bnJlYWNoZWQ6IFNjcmlwdCBzaG91bGQg
bG9hZCEgaHR0cDovLzEyNy4wLjAuMTo4ODAwL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3Njcmlw
dC1zcmMvY3Jvc3NvcmlnaW5TY3JpcHQuanMgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlM
IEV4dGVybmFsIHNjcmlwdCBpbiBhIHNjcmlwdCB0YWcgd2l0aCBtYXRjaGluZyBTUkkgaGFzaCBz
aG91bGQgcnVuLiBhc3NlcnRfdHJ1ZTogRXh0ZXJuYWwgc2NyaXB0IHJhbi4gZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKK1BBU1MgRXh0ZXJuYWwgc2NyaXB0IGluIGEgc2NyaXB0IHRhZyB3aXRoIG1h
dGNoaW5nIFNSSSBoYXNoIHNob3VsZCBydW4uCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>