<?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>215649</bug_id>
          
          <creation_ts>2020-08-19 08:58:00 -0700</creation_ts>
          <short_desc>[ macOS ] accessibility/mac/select-element-selection-with-optgroups.html is a flaky failure</short_desc>
          <delta_ts>2020-10-14 06:29:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Accessibility</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=175341</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Hector Lopez">hector_i_lopez</reporter>
          <assigned_to name="Andres Gonzalez">andresg_22</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bot-watchers-bugzilla</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1681357</commentid>
    <comment_count>0</comment_count>
    <who name="Hector Lopez">hector_i_lopez</who>
    <bug_when>2020-08-19 08:58:00 -0700</bug_when>
    <thetext>accessibility/mac/select-element-selection-with-optgroups.html 

Test is a flaky failure according to history on macOS. Failures have been most recently on Debug. Last failure on Release was at r261505. Will setup expectations across macOS. There is no indication of first occurrence as failures reach the limit of history going back as far as limit of results webpage.

Maybe related to https://bugs.webkit.org/show_bug.cgi?id=175341

History:
https://results.webkit.org/?suite=layout-tests&amp;test=accessibility%2Fmac%2Fselect-element-selection-with-optgroups.html&amp;limit=50000

Diff:
--- /Volumes/Data/slave/catalina-debug-tests-wk2/build/layout-test-results/accessibility/mac/select-element-selection-with-optgroups-expected.txt
+++ /Volumes/Data/slave/catalina-debug-tests-wk2/build/layout-test-results/accessibility/mac/select-element-selection-with-optgroups-actual.txt
@@ -10,7 +10,7 @@
 PASS selectElement.selectedChildrenCount became 1
 PASS selectElement.selectedChildAtIndex(0).isEqual(option2) is true
 PASS selectElement.selectedChildrenCount became 1
-PASS selectElement.selectedChildAtIndex(0).isEqual(option3) is true
+FAIL selectElement.selectedChildAtIndex(0).isEqual(option3) should be true. Was false.
 PASS successfullyParsed is true
 
 TEST COMPLETE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681358</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-08-19 08:58:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/67406148&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1681367</commentid>
    <comment_count>2</comment_count>
    <who name="Hector Lopez">hector_i_lopez</who>
    <bug_when>2020-08-19 09:21:34 -0700</bug_when>
    <thetext>Test expectation while investigated:

https://trac.webkit.org/changeset/265862/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1696528</commentid>
    <comment_count>3</comment_count>
      <attachid>411016</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2020-10-10 12:07:07 -0700</bug_when>
    <thetext>Created attachment 411016
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1696930</commentid>
    <comment_count>4</comment_count>
      <attachid>411016</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2020-10-12 10:50:31 -0700</bug_when>
    <thetext>Comment on attachment 411016
Patch

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

&gt; Source/WebCore/accessibility/AXObjectCache.cpp:959
&gt; +    Vector&lt;RefPtr&lt;AXCoreObject&gt;&gt; axObjects;

can we use the map function in Vector to make this use less code?

&gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:154
&gt; +    result.reserveCapacity(objects.size());

can we use a map function to reduce code?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1697387</commentid>
    <comment_count>5</comment_count>
      <attachid>411249</attachid>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2020-10-13 13:56:45 -0700</bug_when>
    <thetext>Created attachment 411249
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1697388</commentid>
    <comment_count>6</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2020-10-13 13:58:08 -0700</bug_when>
    <thetext>(In reply to chris fleizach from comment #4)
&gt; Comment on attachment 411016 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=411016&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/accessibility/AXObjectCache.cpp:959
&gt; &gt; +    Vector&lt;RefPtr&lt;AXCoreObject&gt;&gt; axObjects;
&gt; 
&gt; can we use the map function in Vector to make this use less code?

Done.
&gt; 
&gt; &gt; Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:154
&gt; &gt; +    result.reserveCapacity(objects.size());
&gt; 
&gt; can we use a map function to reduce code?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1697691</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-14 06:29:18 -0700</bug_when>
    <thetext>Committed r268454: &lt;https://trac.webkit.org/changeset/268454&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 411249.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>411016</attachid>
            <date>2020-10-10 12:07:07 -0700</date>
            <delta_ts>2020-10-13 13:56:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215649-20201010150706.patch</filename>
            <type>text/plain</type>
            <size>27077</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4MjU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODljMjJkMmQzZDE0NzBj
Y2Q3ZDkwMjEwOTNjZGIyODgxOTllYmNkZi4uMWQzNjFkMDQzYjEzNmI3NDMyNGRjNmFlNjA3ZThk
ZTJjYmY2M2ZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDIwLTEwLTEwICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBbIG1hY09TIF0g
YWNjZXNzaWJpbGl0eS9tYWMvc2VsZWN0LWVsZW1lbnQtc2VsZWN0aW9uLXdpdGgtb3B0Z3JvdXBz
Lmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTU2NDkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY3NDA2MTQ4
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6
IGFjY2Vzc2liaWxpdHkvbWFjL3NlbGVjdC1lbGVtZW50LXNlbGVjdGlvbi13aXRoLW9wdGdyb3Vw
cy5odG1sLgorCisgICAgICAgIEZpeCB0aGlzIHRlc3QgYnkgdXNpbmcgUHJvbWlzZXMgYW5kIHdh
aXRpbmcgZm9yIHRoZSBjb3JyZWN0IGV2ZW50cy4gTm8KKyAgICAgICAgbG9uZ2VyIGZsYWt5Lgor
ICAgICAgICBBbHNvIGZpeGVkIHRoZSB0ZXN0IGluIGlzb2xhdGVkIHRyZWUgbW9kZSwgZm9yIHdo
aWNoIHNldmVyYWwgY2hhbmdlcyBkZXRhaWxlZCBiZWxvdyB3ZXJlIG5lY2Vzc2FyeS4KKworICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpBWE9iamVjdENhY2hlOjpvYmplY3RzRm9ySURzIGNvbnN0KToKKyAgICAgICAgQWRkZWQgdGhp
cyB1dGlsaXR5IG1ldGhvZCB0byByZXRyaWV2ZSBhIFZlY3RvciBvZiBBWCBvYmplY3RzIGdpdmVu
IHRoZWlyIElEcy4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlMaXN0Qm94LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlMaXN0Qm94OjpjYW5TZXRTZWxlY3RlZENoaWxkcmVuIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlMaXN0Qm94OjpzZXRTZWxlY3Rl
ZENoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlMaXN0Qm94OjpjYW5T
ZXRTZWxlY3RlZENoaWxkcmVuQXR0cmlidXRlIGNvbnN0KToKKyAgICAgICAgQmVjYW1lIGNhblNl
dFNlbGVjdGVkQ2hpbGRyZW4gc2luY2UgQXR0cmlidXRlIHdhcyB1bm5lY2Vzc2FyeSBhbmQKKyAg
ICAgICAgbWlzbGVhZGluZy4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlM
aXN0Qm94Lmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmg6
CisgICAgICAgIChXZWJDb3JlOjpBWENvcmVPYmplY3Q6OnNldFNlbGVjdGVkQ2hpbGRyZW4pOiBF
eHBvc2VzIHRoaXMgZnVuY3Rpb25hbGl0eQorICAgICAgICBpbiB0aGUgYmFzZSBjbGFzcyBzbyB0
aGF0IGl0IGlzIGFjY2Vzc2libGUgZm9yIEFYIGFuZCBpc29sYXRlZCBvYmplY3RzLgorICAgICAg
ICAoV2ViQ29yZTo6QVhDb3JlT2JqZWN0Ojppc05hdGl2ZUxpc3RCb3ggY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZE9iamVjdDo6aW5pdGlhbGl6ZUF0dHJp
YnV0ZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZE9iamVjdDo6c2V0U2VsZWN0
ZWRDaGlsZHJlbik6CisgICAgICAgIEltcGxlbWVudHMgdGhpcyBmdW5jdGlvbmFsaXR5IGJ5IGZv
cndhcmRpbmcgdG8gdGhlIG1haW4gdGhyZWFkIGFuZAorICAgICAgICByZXRyaWV2aW5nIHRoZSBj
b3JyZXNwb2RuaW5nIEFYIG9iamVjdHMuCisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkT2Jq
ZWN0Ojppc0FjY2Vzc2liaWxpdHlMaXN0Qm94SW5zdGFuY2UgY29uc3QpOgorICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaDoKKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6b2JqZWN0c0ZvcklEcyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6aWRzRm9yT2JqZWN0cyBjb25zdCk6CisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaDoKKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbToKKyAg
ICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUlzQXR0
cmlidXRlU2V0dGFibGU6XSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyIF9hY2Nlc3NpYmlsaXR5U2V0VmFsdWU6Zm9yQXR0cmlidXRlOl0pOgorICAgICAgICBJbnN0
ZWFkIG9mIHNwZWNpYWwgY2FzaW5nIEFjY2Vzc2liaWxpdHlMaXN0Qm94IGNsYXNzLCBpdCBhbGxv
d3MgdG8gc2V0CisgICAgICAgIHNlbGVjdGVkIGNoaWxkcmVuIGZvciBhbGwgb2JqZWN0cyB0aGF0
IGNhblNldFNlbGVjdGVkQ2hpbGRyZW4uCisgICAgICAgIEVsaW1pbmF0ZXMgdGhlIGRvd25jYXN0
IHRoYXQgZG9lcyBub3Qgd29yayBmb3IgaXNvbGF0ZWQgb2JqZWN0cy4KKwogMjAyMC0xMC0wMSAg
U2VyZ2lvIFZpbGxhciBTZW5pbiAgPHN2aWxsYXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV2Vi
WFJdIE1ha2UgZW51bWVyYXRlSW1tZXJzaXZlWFJEZXZpY2VzKCkgYXN5bmNocm9ubm91cwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5kZXggZDNk
OTljNzI1NGNkMmE0N2QzMWJjMzcwNmRkZDRiNDNkMWIwMWJkZC4uMDM0ZDJkYmY4ZmNhZWEwYjhk
YzVlZDFkYjM4OTMxZjY2NWRjNjIxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FYT2JqZWN0Q2FjaGUuY3BwCkBAIC05NTIsNiArOTUyLDIzIEBAIEFYSUQgQVhPYmplY3RD
YWNoZTo6cGxhdGZvcm1HZW5lcmF0ZUFYSUQoKSBjb25zdAogfQogI2VuZGlmCiAKK1ZlY3RvcjxS
ZWZQdHI8QVhDb3JlT2JqZWN0Pj4gQVhPYmplY3RDYWNoZTo6b2JqZWN0c0ZvcklEcyhjb25zdCBW
ZWN0b3I8QVhJRD4mIGF4SURzKSBjb25zdAoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7
CisKKyAgICBWZWN0b3I8UmVmUHRyPEFYQ29yZU9iamVjdD4+IGF4T2JqZWN0czsKKyAgICBheE9i
amVjdHMucmVzZXJ2ZUNhcGFjaXR5KGF4SURzLnNpemUoKSk7CisgICAgZm9yIChBWElEIGF4SUQg
OiBheElEcykgeworICAgICAgICBpZiAoYXhJRCA9PSBJbnZhbGlkQVhJRCkKKyAgICAgICAgICAg
IGNvbnRpbnVlOworCisgICAgICAgIGlmIChhdXRvIGF4T2JqZWN0ID0gb2JqZWN0RnJvbUFYSUQo
YXhJRCkpCisgICAgICAgICAgICBheE9iamVjdHMudW5jaGVja2VkQXBwZW5kKGF4T2JqZWN0KTsK
KyAgICB9CisKKyAgICByZXR1cm4gYXhPYmplY3RzOworfQorCiBBWElEIEFYT2JqZWN0Q2FjaGU6
OmdldEFYSUQoQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqKQogewogICAgIC8vIGNoZWNrIGZvciBh
bHJlYWR5LWFzc2lnbmVkIElECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FYT2JqZWN0Q2FjaGUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5oCmluZGV4IGJjY2I4OTBmMGViYTliN2U0N2I3NzcxYmU2Yjg0YWEyNWVjODBiZWUu
LjlmYzRkY2M4ODlkZTVmMGZkM2YxMWU2ZTFlODA0OTRhY2U1ZTBjNDYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCkBAIC0yMjAsNiArMjIwLDcgQEAg
cHVibGljOgogCiAgICAgQVhJRCBwbGF0Zm9ybUdlbmVyYXRlQVhJRCgpIGNvbnN0OwogICAgIEFj
Y2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdEZyb21BWElEKEFYSUQgaWQpIGNvbnN0IHsgcmV0dXJu
IG1fb2JqZWN0cy5nZXQoaWQpOyB9CisgICAgVmVjdG9yPFJlZlB0cjxBWENvcmVPYmplY3Q+PiBv
YmplY3RzRm9ySURzKGNvbnN0IFZlY3RvcjxBWElEPiYpIGNvbnN0OwogCiAgICAgLy8gVGV4dCBt
YXJrZXIgdXRpbGl0aWVzLgogICAgIE9wdGlvbmFsPFRleHRNYXJrZXJEYXRhPiB0ZXh0TWFya2Vy
RGF0YUZvclZpc2libGVQb3NpdGlvbihjb25zdCBWaXNpYmxlUG9zaXRpb24mKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3RCb3guY3Bw
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TGlzdEJveC5jcHAK
aW5kZXggZjZjNTllOTVmY2Y3MGRhYmEyOWM0ZWY1MjVjMGNhMTM3MjFjMWQxZS4uNzIyODk0ZDg5
ZDU2MzkzYWUxMDA1NzMyY2U3ODc5NjJlNjcxMGQ3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TGlzdEJveC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TGlzdEJveC5jcHAKQEAgLTUyLDggKzUy
LDggQEAgUmVmPEFjY2Vzc2liaWxpdHlMaXN0Qm94PiBBY2Nlc3NpYmlsaXR5TGlzdEJveDo6Y3Jl
YXRlKFJlbmRlck9iamVjdCogcmVuZGVyZXIpCiB7CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
QWNjZXNzaWJpbGl0eUxpc3RCb3gocmVuZGVyZXIpKTsKIH0KLSAgICAKLWJvb2wgQWNjZXNzaWJp
bGl0eUxpc3RCb3g6OmNhblNldFNlbGVjdGVkQ2hpbGRyZW5BdHRyaWJ1dGUoKSBjb25zdAorCiti
b29sIEFjY2Vzc2liaWxpdHlMaXN0Qm94OjpjYW5TZXRTZWxlY3RlZENoaWxkcmVuKCkgY29uc3QK
IHsKICAgICBOb2RlKiBzZWxlY3ROb2RlID0gbV9yZW5kZXJlci0+bm9kZSgpOwogICAgIGlmICgh
c2VsZWN0Tm9kZSkKQEAgLTgyLDkgKzgyLDkgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5TGlzdEJveDo6
YWRkQ2hpbGRyZW4oKQogCiB2b2lkIEFjY2Vzc2liaWxpdHlMaXN0Qm94OjpzZXRTZWxlY3RlZENo
aWxkcmVuKGNvbnN0IEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgY2hpbGRyZW4pCiB7Ci0g
ICAgaWYgKCFjYW5TZXRTZWxlY3RlZENoaWxkcmVuQXR0cmlidXRlKCkpCisgICAgaWYgKCFjYW5T
ZXRTZWxlY3RlZENoaWxkcmVuKCkpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIE5vZGUq
IHNlbGVjdE5vZGUgPSBtX3JlbmRlcmVyLT5ub2RlKCk7CiAgICAgaWYgKCFzZWxlY3ROb2RlKQog
ICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FjY2Vzc2liaWxpdHlMaXN0Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlMaXN0Qm94LmgKaW5kZXggNzRlNTkwODJlM2M5N2UwNTMyMTAyMThhNjVlZjNh
YjZjMjY4MTg0OC4uNDY0OGJkNmU2ZjMwMGUyY2RmOWNmZjYyODdiMGQ0YjcyOTk0Yzc0MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5TGlzdEJv
eC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3RC
b3guaApAQCAtMzYsOSArMzYsOSBAQCBjbGFzcyBBY2Nlc3NpYmlsaXR5TGlzdEJveCBmaW5hbCA6
IHB1YmxpYyBBY2Nlc3NpYmlsaXR5UmVuZGVyT2JqZWN0IHsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPEFjY2Vzc2liaWxpdHlMaXN0Qm94PiBjcmVhdGUoUmVuZGVyT2JqZWN0Kik7CiAgICAgdmly
dHVhbCB+QWNjZXNzaWJpbGl0eUxpc3RCb3goKTsKLSAgICAKLSAgICBib29sIGNhblNldFNlbGVj
dGVkQ2hpbGRyZW5BdHRyaWJ1dGUoKSBjb25zdCBvdmVycmlkZTsKLSAgICB2b2lkIHNldFNlbGVj
dGVkQ2hpbGRyZW4oY29uc3QgQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJik7CisKKyAgICBi
b29sIGNhblNldFNlbGVjdGVkQ2hpbGRyZW4oKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIHNl
dFNlbGVjdGVkQ2hpbGRyZW4oY29uc3QgQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJikgb3Zl
cnJpZGU7CiAgICAgQWNjZXNzaWJpbGl0eVJvbGUgcm9sZVZhbHVlKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gQWNjZXNzaWJpbGl0eVJvbGU6Okxpc3RCb3g7IH0KICAgICAgICAgCiAgICAgdm9p
ZCBzZWxlY3RlZENoaWxkcmVuKEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYpIG92ZXJyaWRl
OwpAQCAtNDksMTEgKzQ5LDExIEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgQWNj
ZXNzaWJpbGl0eUxpc3RCb3goUmVuZGVyT2JqZWN0Kik7CiAKLSAgICBib29sIGlzTmF0aXZlTGlz
dEJveCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KKyAgICBib29sIGlzQWNjZXNz
aWJpbGl0eUxpc3RCb3hJbnN0YW5jZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0K
ICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBsaXN0Qm94T3B0aW9uQWNjZXNzaWJpbGl0eU9iamVj
dChIVE1MRWxlbWVudCopIGNvbnN0OwogICAgIEFYQ29yZU9iamVjdCogZWxlbWVudEFjY2Vzc2li
aWxpdHlIaXRUZXN0KGNvbnN0IEludFBvaW50JikgY29uc3Qgb3ZlcnJpZGU7CiB9OwogICAgIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi1TUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0FDQ0VTU0lC
SUxJVFkoQWNjZXNzaWJpbGl0eUxpc3RCb3gsIGlzTmF0aXZlTGlzdEJveCgpKQorU1BFQ0lBTEla
RV9UWVBFX1RSQUlUU19BQ0NFU1NJQklMSVRZKEFjY2Vzc2liaWxpdHlMaXN0Qm94LCBpc0FjY2Vz
c2liaWxpdHlMaXN0Qm94SW5zdGFuY2UoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmgKaW5kZXggZWMzZjdjZDE0OWMwZTNhNGMxMzQy
NWExOTJiY2IwN2Q5Njk1YzkyOS4uODA4ZmVmYTI5NTkyYTIwMjhkZDRiYmE2NDIyMzkzNjliMmJj
NWQwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5T2JqZWN0LmgKQEAgLTk4LDYgKzk4LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNBY2Nlc3Np
YmlsaXR5VGFibGVJbnN0YW5jZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAg
ICAgYm9vbCBpc0FjY2Vzc2liaWxpdHlUYWJsZUNvbHVtbkluc3RhbmNlKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gZmFsc2U7IH0KICAgICBib29sIGlzQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5k
aWNhdG9ySW5zdGFuY2UoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQorICAgIGJv
b2wgaXNBY2Nlc3NpYmlsaXR5TGlzdEJveEluc3RhbmNlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gZmFsc2U7IH0KICAgICBib29sIGlzQVhJc29sYXRlZE9iamVjdEluc3RhbmNlKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIGJvb2wgaXNBdHRhY2htZW50RWxlbWVu
dCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CkBAIC0xMTAsNyArMTExLDYgQEAg
cHVibGljOgogICAgIEFjY2Vzc2liaWxpdHlPYmplY3QqIHBhc3N3b3JkRmllbGRPckNvbnRhaW5p
bmdQYXNzd29yZEZpZWxkKCkgb3ZlcnJpZGUgeyByZXR1cm4gbnVsbHB0cjsgfQogICAgIGJvb2wg
aXNOYXRpdmVUZXh0Q29udHJvbCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAg
ICAgYm9vbCBpc1NlYXJjaEZpZWxkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0K
LSAgICBib29sIGlzTmF0aXZlTGlzdEJveCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNl
OyB9CiAgICAgYm9vbCBpc0xpc3RCb3hPcHRpb24oKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBm
YWxzZTsgfQogICAgIGJvb2wgaXNBdHRhY2htZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
ZmFsc2U7IH0KICAgICBib29sIGlzTWVkaWFUaW1lbGluZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIGZhbHNlOyB9CkBAIC0yNDgsNyArMjQ4LDcgQEAgcHVibGljOgogICAgIGJvb2wgY2FuU2V0
VmFsdWVBdHRyaWJ1dGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAgIGJv
b2wgY2FuU2V0TnVtZXJpY1ZhbHVlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0K
ICAgICBib29sIGNhblNldFNlbGVjdGVkQXR0cmlidXRlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gZmFsc2U7IH0KLSAgICBib29sIGNhblNldFNlbGVjdGVkQ2hpbGRyZW5BdHRyaWJ1dGUoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQorICAgIGJvb2wgY2FuU2V0U2VsZWN0ZWRD
aGlsZHJlbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBjYW5T
ZXRFeHBhbmRlZEF0dHJpYnV0ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAK
ICAgICBFbGVtZW50KiBlbGVtZW50KCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC01MDAsNiArNTAwLDcg
QEAgcHVibGljOgogCiAgICAgYm9vbCBjYW5IYXZlU2VsZWN0ZWRDaGlsZHJlbigpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdm9pZCBzZWxlY3RlZENoaWxkcmVuKEFjY2Vz
c2liaWxpdHlDaGlsZHJlblZlY3RvciYpIG92ZXJyaWRlIHsgfQorICAgIHZvaWQgc2V0U2VsZWN0
ZWRDaGlsZHJlbihjb25zdCBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImKSBvdmVycmlkZSB7
IH0KICAgICB2b2lkIHZpc2libGVDaGlsZHJlbihBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3Im
KSBvdmVycmlkZSB7IH0KICAgICB2b2lkIHRhYkNoaWxkcmVuKEFjY2Vzc2liaWxpdHlDaGlsZHJl
blZlY3RvciYpIG92ZXJyaWRlIHsgfQogICAgIGJvb2wgc2hvdWxkRm9jdXNBY3RpdmVEZXNjZW5k
YW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNl
LmgKaW5kZXggMjdjMzlkN2U5ZDNjZTdlNGI5NTcwMDRiZmUzNmFjODE1NjQwODMyNC4uNjVjMDU3
YmRkYzI1NDcxNGZkMjZhNDJiNzgxYjYxNWE4MDQyMjY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNl
LmgKQEAgLTc5NCw2ICs3OTQsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIGlzQWNjZXNz
aWJpbGl0eVRhYmxlSW5zdGFuY2UoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzQWNj
ZXNzaWJpbGl0eVRhYmxlQ29sdW1uSW5zdGFuY2UoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBi
b29sIGlzQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9ySW5zdGFuY2UoKSBjb25zdCA9IDA7
CisgICAgdmlydHVhbCBib29sIGlzQWNjZXNzaWJpbGl0eUxpc3RCb3hJbnN0YW5jZSgpIGNvbnN0
ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaXNBWElzb2xhdGVkT2JqZWN0SW5zdGFuY2UoKSBjb25z
dCA9IDA7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNBdHRhY2htZW50RWxlbWVudCgpIGNvbnN0ID0g
MDsKQEAgLTgxMiw3ICs4MTMsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0NoZWNrYm94KCkgY29u
c3QgeyByZXR1cm4gcm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6OkNoZWNrQm94OyB9
CiAgICAgYm9vbCBpc1JhZGlvQnV0dG9uKCkgY29uc3QgeyByZXR1cm4gcm9sZVZhbHVlKCkgPT0g
QWNjZXNzaWJpbGl0eVJvbGU6OlJhZGlvQnV0dG9uOyB9CiAgICAgYm9vbCBpc0xpc3RCb3goKSBj
b25zdCB7IHJldHVybiByb2xlVmFsdWUoKSA9PSBBY2Nlc3NpYmlsaXR5Um9sZTo6TGlzdEJveDsg
fQotICAgIHZpcnR1YWwgYm9vbCBpc05hdGl2ZUxpc3RCb3goKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfTsKICAgICB2aXJ0dWFsIGJvb2wgaXNMaXN0Qm94T3B0aW9uKCkgY29uc3QgPSAwOwogICAg
IHZpcnR1YWwgYm9vbCBpc0F0dGFjaG1lbnQoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29s
IGlzTWVkaWFUaW1lbGluZSgpIGNvbnN0ID0gMDsKQEAgLTk4MSw3ICs5ODEsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBib29sIGNhblNldFZhbHVlQXR0cmlidXRlKCkgY29uc3QgPSAwOwogICAg
IHZpcnR1YWwgYm9vbCBjYW5TZXROdW1lcmljVmFsdWUoKSBjb25zdCA9IDA7CiAgICAgdmlydHVh
bCBib29sIGNhblNldFNlbGVjdGVkQXR0cmlidXRlKCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwg
Ym9vbCBjYW5TZXRTZWxlY3RlZENoaWxkcmVuQXR0cmlidXRlKCkgY29uc3QgPSAwOworICAgIHZp
cnR1YWwgYm9vbCBjYW5TZXRTZWxlY3RlZENoaWxkcmVuKCkgY29uc3QgPSAwOwogICAgIHZpcnR1
YWwgYm9vbCBjYW5TZXRFeHBhbmRlZEF0dHJpYnV0ZSgpIGNvbnN0ID0gMDsKIAogICAgIHZpcnR1
YWwgRWxlbWVudCogZWxlbWVudCgpIGNvbnN0ID0gMDsKQEAgLTEyMzksNiArMTIzOSw3IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBjYW5IYXZlU2VsZWN0ZWRDaGlsZHJlbigpIGNvbnN0
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2VsZWN0ZWRDaGlsZHJlbihBY2Nlc3NpYmlsaXR5Q2hp
bGRyZW5WZWN0b3ImKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNldFNlbGVjdGVkQ2hpbGRyZW4o
Y29uc3QgQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJikgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCB2aXNpYmxlQ2hpbGRyZW4oQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJikgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCB0YWJDaGlsZHJlbihBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImKSA9
IDA7CiAgICAgdmlydHVhbCBib29sIHNob3VsZEZvY3VzQWN0aXZlRGVzY2VuZGFudCgpIGNvbnN0
ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0
cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9p
c29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHAKaW5kZXggY2Y4NWRkZGZmZmVhZDAyYTM3
YjY2N2FiZGEwNTIzYTg5OTIxMjExZi4uYmIzNjY4NWU3MjU0MTU0Y2RjZDNmYmU4MWY3ZGU3NTE3
ZTQwOWRlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHAKQEAgLTE0NSw3ICsxNDUsNyBA
QCB2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6OmluaXRpYWxpemVBdHRyaWJ1dGVEYXRhKEFYQ29yZU9i
amVjdCYgb2JqZWN0LCBib29sIGlzUm9vdAogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1l
OjpDYW5TZXROdW1lcmljVmFsdWUsIG9iamVjdC5jYW5TZXROdW1lcmljVmFsdWUoKSk7CiAgICAg
c2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlN1cHBvcnRzUmVxdWlyZWRBdHRyaWJ1dGUsIG9i
amVjdC5zdXBwb3J0c1JlcXVpcmVkQXR0cmlidXRlKCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJv
cGVydHlOYW1lOjpDYW5TZXRTZWxlY3RlZEF0dHJpYnV0ZSwgb2JqZWN0LmNhblNldFNlbGVjdGVk
QXR0cmlidXRlKCkpOwotICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpDYW5TZXRTZWxl
Y3RlZENoaWxkcmVuQXR0cmlidXRlLCBvYmplY3QuY2FuU2V0U2VsZWN0ZWRDaGlsZHJlbkF0dHJp
YnV0ZSgpKTsKKyAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6Q2FuU2V0U2VsZWN0ZWRD
aGlsZHJlbiwgb2JqZWN0LmNhblNldFNlbGVjdGVkQ2hpbGRyZW4oKSk7CiAgICAgc2V0UHJvcGVy
dHkoQVhQcm9wZXJ0eU5hbWU6OkNhblNldEV4cGFuZGVkQXR0cmlidXRlLCBvYmplY3QuY2FuU2V0
RXhwYW5kZWRBdHRyaWJ1dGUoKSk7CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6Oklz
U2hvd2luZ1ZhbGlkYXRpb25NZXNzYWdlLCBvYmplY3QuaXNTaG93aW5nVmFsaWRhdGlvbk1lc3Nh
Z2UoKSk7CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlZhbGlkYXRpb25NZXNzYWdl
LCBvYmplY3QudmFsaWRhdGlvbk1lc3NhZ2UoKSk7CkBAIC01MDAsNiArNTAwLDI1IEBAIGNvbnN0
IEFYQ29yZU9iamVjdDo6QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJiBBWElzb2xhdGVkT2Jq
ZWN0OjpjaGlsZHJlbihib29sCiAgICAgcmV0dXJuIG1fY2hpbGRyZW47CiB9CiAKK3ZvaWQgQVhJ
c29sYXRlZE9iamVjdDo6c2V0U2VsZWN0ZWRDaGlsZHJlbihjb25zdCBBY2Nlc3NpYmlsaXR5Q2hp
bGRyZW5WZWN0b3ImIHNlbGVjdGVkQ2hpbGRyZW4pCit7CisgICAgQVNTRVJUKHNlbGVjdGVkQ2hp
bGRyZW4uaXNFbXB0eSgpIHx8IChzZWxlY3RlZENoaWxkcmVuWzBdICYmIHNlbGVjdGVkQ2hpbGRy
ZW5bMF0tPmlzQVhJc29sYXRlZE9iamVjdEluc3RhbmNlKCkpKTsKKworICAgIHBlcmZvcm1GdW5j
dGlvbk9uTWFpblRocmVhZChbJl0gKEFYQ29yZU9iamVjdCogb2JqZWN0KSB7CisgICAgICAgIGlm
IChzZWxlY3RlZENoaWxkcmVuLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgLy8gTm8gc2VsZWN0
aW9uLCBubyBuZWVkIHRvIGNvbnZlcnQgb2JqZWN0cyBmcm9tIGlzb2xhdGVkIHRvIGxpdmUuCisg
ICAgICAgICAgICBvYmplY3QtPnNldFNlbGVjdGVkQ2hpbGRyZW4oc2VsZWN0ZWRDaGlsZHJlbik7
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBBU1NFUlQoYXhPYmpl
Y3RDYWNoZSgpKTsKKworICAgICAgICBhdXRvIGF4SURzID0gdHJlZSgpLT5pZHNGb3JPYmplY3Rz
KHNlbGVjdGVkQ2hpbGRyZW4pOworICAgICAgICBhdXRvIGF4U2VsZWN0ZWRDaGlsZHJlbiA9IGF4
T2JqZWN0Q2FjaGUoKS0+b2JqZWN0c0ZvcklEcyhheElEcyk7CisgICAgICAgIG9iamVjdC0+c2V0
U2VsZWN0ZWRDaGlsZHJlbihheFNlbGVjdGVkQ2hpbGRyZW4pOworICAgIH0pOworfQorCiBib29s
IEFYSXNvbGF0ZWRPYmplY3Q6OmlzRGV0YWNoZWRGcm9tUGFyZW50KCkKIHsKICAgICBpZiAocGFy
ZW50KCkgIT0gSW52YWxpZEFYSUQpCkBAIC0xMDQyLDYgKzEwNjEsMTIgQEAgYm9vbCBBWElzb2xh
dGVkT2JqZWN0Ojppc0FjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvckluc3RhbmNlKCkgY29u
c3QKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgQVhJc29sYXRlZE9iamVjdDo6aXNBY2Nl
c3NpYmlsaXR5TGlzdEJveEluc3RhbmNlKCkgY29uc3QKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIGJvb2wgQVhJc29sYXRlZE9iamVjdDo6aXNB
dHRhY2htZW50RWxlbWVudCgpIGNvbnN0CiB7CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJl
ZS9BWElzb2xhdGVkT2JqZWN0LmgKaW5kZXggYmY2NDg1MzFhOWY0YjJkMzAwNGNlMzZjZDZiMThi
MmQzMDk5OGQwNi4uN2I3NWUzY2U2ODVmOWU0MzZlMDVjOTM2NjVkM2I2ZGJhOTI4MTRiZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29s
YXRlZE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0
cmVlL0FYSXNvbGF0ZWRPYmplY3QuaApAQCAtMjEyLDcgKzIxMiw3IEBAIHByaXZhdGU6CiAgICAg
Ym9vbCBjYW5TZXRWYWx1ZUF0dHJpYnV0ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xB
dHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6Q2FuU2V0VmFsdWVBdHRyaWJ1dGUpOyB9CiAg
ICAgYm9vbCBjYW5TZXROdW1lcmljVmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBib29s
QXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OkNhblNldE51bWVyaWNWYWx1ZSk7IH0KICAg
ICBib29sIGNhblNldFNlbGVjdGVkQXR0cmlidXRlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
Ym9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpDYW5TZXRTZWxlY3RlZEF0dHJpYnV0
ZSk7IH0KLSAgICBib29sIGNhblNldFNlbGVjdGVkQ2hpbGRyZW5BdHRyaWJ1dGUoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiBib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OkNhblNl
dFNlbGVjdGVkQ2hpbGRyZW5BdHRyaWJ1dGUpOyB9CisgICAgYm9vbCBjYW5TZXRTZWxlY3RlZENo
aWxkcmVuKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJv
cGVydHlOYW1lOjpDYW5TZXRTZWxlY3RlZENoaWxkcmVuKTsgfQogICAgIGJvb2wgY2FuU2V0RXhw
YW5kZWRBdHRyaWJ1dGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBib29sQXR0cmlidXRlVmFs
dWUoQVhQcm9wZXJ0eU5hbWU6OkNhblNldEV4cGFuZGVkQXR0cmlidXRlKTsgfQogICAgIGJvb2wg
YWNjZXNzaWJpbGl0eUlzSWdub3JlZCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRy
aWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6SXNBY2Nlc3NpYmlsaXR5SWdub3JlZCk7IH0KICAg
ICBib29sIGlzU2hvd2luZ1ZhbGlkYXRpb25NZXNzYWdlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1
cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpJc1Nob3dpbmdWYWxpZGF0aW9u
TWVzc2FnZSk7IH0KQEAgLTM0NSw2ICszNDUsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBsYW5n
dWFnZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHN0cmluZ0F0dHJpYnV0ZVZhbHVlKEFYUHJv
cGVydHlOYW1lOjpMYW5ndWFnZSk7IH0KICAgICBib29sIGNhbkhhdmVTZWxlY3RlZENoaWxkcmVu
KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlO
YW1lOjpDYW5IYXZlU2VsZWN0ZWRDaGlsZHJlbik7IH0KICAgICB2b2lkIHNlbGVjdGVkQ2hpbGRy
ZW4oQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJiBjaGlsZHJlbikgb3ZlcnJpZGUgeyBmaWxs
Q2hpbGRyZW5WZWN0b3JGb3JQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6U2VsZWN0ZWRDaGlsZHJl
biwgY2hpbGRyZW4pOyB9CisgICAgdm9pZCBzZXRTZWxlY3RlZENoaWxkcmVuKGNvbnN0IEFjY2Vz
c2liaWxpdHlDaGlsZHJlblZlY3RvciYpIG92ZXJyaWRlOwogICAgIHZvaWQgdmlzaWJsZUNoaWxk
cmVuKEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgY2hpbGRyZW4pIG92ZXJyaWRlIHsgZmls
bENoaWxkcmVuVmVjdG9yRm9yUHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlZpc2libGVDaGlsZHJl
biwgY2hpbGRyZW4pOyB9CiAgICAgdm9pZCB0YWJDaGlsZHJlbihBY2Nlc3NpYmlsaXR5Q2hpbGRy
ZW5WZWN0b3ImIGNoaWxkcmVuKSBvdmVycmlkZSB7IGZpbGxDaGlsZHJlblZlY3RvckZvclByb3Bl
cnR5KEFYUHJvcGVydHlOYW1lOjpUYWJDaGlsZHJlbiwgY2hpbGRyZW4pOyB9CiAgICAgYm9vbCBo
YXNBUklBVmFsdWVOb3coKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBib29sQXR0cmlidXRlVmFs
dWUoQVhQcm9wZXJ0eU5hbWU6Okhhc0FSSUFWYWx1ZU5vdyk7IH0KQEAgLTQ3NCw2ICs0NzUsNyBA
QCBwcml2YXRlOgogICAgIGJvb2wgaXNBY2Nlc3NpYmlsaXR5VGFibGVJbnN0YW5jZSgpIGNvbnN0
IG92ZXJyaWRlOwogICAgIGJvb2wgaXNBY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW5JbnN0YW5jZSgp
IGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgaXNBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0
b3JJbnN0YW5jZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wgaXNBY2Nlc3NpYmlsaXR5TGlz
dEJveEluc3RhbmNlKCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBib29sIGlzQXR0YWNobWVudEVs
ZW1lbnQoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIGlzTmF0aXZlSW1hZ2UoKSBjb25zdCBv
dmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
aXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcAppbmRleCBjYTE3ZDcwNGEyYTdiNzFjMDQ5
ODkyMzBmNzI4OGNlZjE0MTI3MzgxLi5lYWRlZmQxOTkyMjhlMzdjNzVhMWM2MzIwOTgzMzdjMGQ2
MzY0ZTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVk
dHJlZS9BWElzb2xhdGVkVHJlZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuY3BwCkBAIC0xMzQsNyArMTM0LDcgQEAgUmVm
UHRyPEFYSXNvbGF0ZWRPYmplY3Q+IEFYSXNvbGF0ZWRUcmVlOjpub2RlRm9ySUQoQVhJRCBheElE
KSBjb25zdAogICAgIHJldHVybiBheElEICE9IEludmFsaWRBWElEID8gbV9yZWFkZXJUaHJlYWRO
b2RlTWFwLmdldChheElEKSA6IG51bGxwdHI7CiB9CiAKLVZlY3RvcjxSZWZQdHI8QVhDb3JlT2Jq
ZWN0Pj4gQVhJc29sYXRlZFRyZWU6Om9iamVjdHNGb3JJRHMoVmVjdG9yPEFYSUQ+IGF4SURzKSBj
b25zdAorVmVjdG9yPFJlZlB0cjxBWENvcmVPYmplY3Q+PiBBWElzb2xhdGVkVHJlZTo6b2JqZWN0
c0ZvcklEcyhjb25zdCBWZWN0b3I8QVhJRD4mIGF4SURzKSBjb25zdAogewogICAgIEFYVFJBQ0Uo
IkFYSXNvbGF0ZWRUcmVlOjpvYmplY3RzRm9ySURzIik7CiAgICAgVmVjdG9yPFJlZlB0cjxBWENv
cmVPYmplY3Q+PiByZXN1bHQ7CkBAIC0xNDgsNiArMTQ4LDE5IEBAIFZlY3RvcjxSZWZQdHI8QVhD
b3JlT2JqZWN0Pj4gQVhJc29sYXRlZFRyZWU6Om9iamVjdHNGb3JJRHMoVmVjdG9yPEFYSUQ+IGF4
SURzKSBjCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorVmVjdG9yPEFYSUQ+IEFYSXNvbGF0ZWRU
cmVlOjppZHNGb3JPYmplY3RzKGNvbnN0IFZlY3RvcjxSZWZQdHI8QVhDb3JlT2JqZWN0Pj4mIG9i
amVjdHMpIGNvbnN0Cit7CisgICAgVmVjdG9yPEFYSUQ+IHJlc3VsdDsKKyAgICByZXN1bHQucmVz
ZXJ2ZUNhcGFjaXR5KG9iamVjdHMuc2l6ZSgpKTsKKworICAgIGZvciAoY29uc3QgYXV0byYgb2Jq
ZWN0IDogb2JqZWN0cykgeworICAgICAgICBpZiAob2JqZWN0KQorICAgICAgICAgICAgcmVzdWx0
LnVuY2hlY2tlZEFwcGVuZChvYmplY3QtPm9iamVjdElEKCkpOworICAgIH0KKworICAgIHJldHVy
biByZXN1bHQ7Cit9CisKIHZvaWQgQVhJc29sYXRlZFRyZWU6OnVwZGF0ZUNoaWxkcmVuSURzKEFY
SUQgYXhJRCwgVmVjdG9yPEFYSUQ+JiYgY2hpbGRyZW5JRHMpCiB7CiAgICAgQVNTRVJUKGlzTWFp
blRocmVhZCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNv
bGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCmluZGV4IDk2OWFkYjFlNzQ1NmNiYjYwMGUx
N2RmMTdkMTAyMmZmNWQwOTFmNTEuLmFhMjhkMTk4NWFkYWM0ODRmNGM3NTA1ZmYwMjY1NTQ3ZWQw
NDFhMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0
cmVlL0FYSXNvbGF0ZWRUcmVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9p
c29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaApAQCAtNzQsNyArNzQsNyBAQCBlbnVtIGNsYXNz
IEFYUHJvcGVydHlOYW1lIDogdWludDE2X3QgewogICAgIENhblNldEZvY3VzQXR0cmlidXRlLAog
ICAgIENhblNldE51bWVyaWNWYWx1ZSwKICAgICBDYW5TZXRTZWxlY3RlZEF0dHJpYnV0ZSwKLSAg
ICBDYW5TZXRTZWxlY3RlZENoaWxkcmVuQXR0cmlidXRlLAorICAgIENhblNldFNlbGVjdGVkQ2hp
bGRyZW4sCiAgICAgQ2FuU2V0VGV4dFJhbmdlQXR0cmlidXRlcywKICAgICBDYW5TZXRWYWx1ZUF0
dHJpYnV0ZSwKICAgICBDYW52YXNIYXNGYWxsYmFja0NvbnRlbnQsCkBAIC0zMzQsNyArMzM0LDgg
QEAgcHVibGljOgogICAgIFJlZlB0cjxBWElzb2xhdGVkT2JqZWN0PiByb290Tm9kZSgpOwogICAg
IFJlZlB0cjxBWElzb2xhdGVkT2JqZWN0PiBmb2N1c2VkTm9kZSgpOwogICAgIFJlZlB0cjxBWElz
b2xhdGVkT2JqZWN0PiBub2RlRm9ySUQoQVhJRCkgY29uc3Q7Ci0gICAgVmVjdG9yPFJlZlB0cjxB
WENvcmVPYmplY3Q+PiBvYmplY3RzRm9ySURzKFZlY3RvcjxBWElEPikgY29uc3Q7CisgICAgVmVj
dG9yPFJlZlB0cjxBWENvcmVPYmplY3Q+PiBvYmplY3RzRm9ySURzKGNvbnN0IFZlY3RvcjxBWElE
PiYpIGNvbnN0OworICAgIFZlY3RvcjxBWElEPiBpZHNGb3JPYmplY3RzKGNvbnN0IFZlY3RvcjxS
ZWZQdHI8QVhDb3JlT2JqZWN0Pj4mKSBjb25zdDsKIAogICAgIHN0cnVjdCBOb2RlQ2hhbmdlIHsK
ICAgICAgICAgUmVmPEFYSXNvbGF0ZWRPYmplY3Q+IGlzb2xhdGVkT2JqZWN0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQppbmRleCBmNGRjZDRjY2M1YWNiNDZkZWQwZDAx
MmI4NWYxZjZjZGRjZmU5YTRlLi5lODNmMGExYmE1YjA2ODc0YjIwZWU0YjUyNWNmYzA4MGI0ZDcy
YTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nl
c3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQpAQCAtMzE2MSw3
ICszMTYxLDcgQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNfRU5ECiAgICAgICAg
IHJldHVybiBiYWNraW5nT2JqZWN0LT5jYW5TZXRTZWxlY3RlZEF0dHJpYnV0ZSgpOwogCiAgICAg
aWYgKFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzogTlNBY2Nlc3NpYmlsaXR5U2VsZWN0
ZWRDaGlsZHJlbkF0dHJpYnV0ZV0pCi0gICAgICAgIHJldHVybiBiYWNraW5nT2JqZWN0LT5jYW5T
ZXRTZWxlY3RlZENoaWxkcmVuQXR0cmlidXRlKCk7CisgICAgICAgIHJldHVybiBiYWNraW5nT2Jq
ZWN0LT5jYW5TZXRTZWxlY3RlZENoaWxkcmVuKCk7CiAKICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUg
aXNFcXVhbFRvU3RyaW5nOk5TQWNjZXNzaWJpbGl0eURpc2Nsb3NpbmdBdHRyaWJ1dGVdCiAgICAg
ICAgIHx8IFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzpOU0FjY2Vzc2liaWxpdHlFeHBh
bmRlZEF0dHJpYnV0ZV0pCkBAIC0zNTQ5LDE0ICszNTQ5LDEzIEBAIEFMTE9XX0RFUFJFQ0FURURf
SU1QTEVNRU5UQVRJT05TX0VORAogICAgICAgICBpZiAoIW51bWJlcikKICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgYmFja2luZ09iamVjdC0+c2V0U2VsZWN0ZWQoW251bWJlciBib29sVmFs
dWVdKTsKLSAgICB9IGVsc2UgaWYgKFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzogTlNB
Y2Nlc3NpYmlsaXR5U2VsZWN0ZWRDaGlsZHJlbkF0dHJpYnV0ZV0pIHsKLSAgICAgICAgaWYgKCFh
cnJheSkKKyAgICB9IGVsc2UgaWYgKFthdHRyaWJ1dGVOYW1lIGlzRXF1YWxUb1N0cmluZzpOU0Fj
Y2Vzc2liaWxpdHlTZWxlY3RlZENoaWxkcmVuQXR0cmlidXRlXSkgeworICAgICAgICBpZiAoIWFy
cmF5IHx8ICFiYWNraW5nT2JqZWN0LT5jYW5TZXRTZWxlY3RlZENoaWxkcmVuKCkpCiAgICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIGlmICghYmFja2luZ09iamVjdC0+aXNOYXRpdmVMaXN0Qm94
KCkpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIEFjY2Vzc2liaWxpdHlPYmplY3Q6OkFj
Y2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciBzZWxlY3RlZENoaWxkcmVuOworCisgICAgICAgIEFY
Q29yZU9iamVjdDo6QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yIHNlbGVjdGVkQ2hpbGRyZW47
CiAgICAgICAgIGNvbnZlcnRUb1ZlY3RvcihhcnJheSwgc2VsZWN0ZWRDaGlsZHJlbik7Ci0gICAg
ICAgIGRvd25jYXN0PEFjY2Vzc2liaWxpdHlMaXN0Qm94PigqYmFja2luZ09iamVjdCkuc2V0U2Vs
ZWN0ZWRDaGlsZHJlbihzZWxlY3RlZENoaWxkcmVuKTsKKyAgICAgICAgYmFja2luZ09iamVjdC0+
c2V0U2VsZWN0ZWRDaGlsZHJlbihzZWxlY3RlZENoaWxkcmVuKTsKICAgICB9IGVsc2UgaWYgKGJh
Y2tpbmdPYmplY3QtPmlzVGV4dENvbnRyb2woKSkgewogICAgICAgICBpZiAoW2F0dHJpYnV0ZU5h
bWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlTZWxlY3RlZFRleHRBdHRyaWJ1dGVd
KSB7CiAgICAgICAgICAgICBiYWNraW5nT2JqZWN0LT5zZXRTZWxlY3RlZFRleHQoc3RyaW5nKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4ZDc3N2Y4YTc0ODA3OTQzNjZhNjM1MGNkY2EzMmIzODU1NjYyYWYwLi4xZjg2YTI0
Yjg4NDc0OWQwOWMyODU1MDMxNzI0NGM2NjEyNjkyNmRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMjAtMTAtMTAgIEFuZHJlcyBHb256YWxleiAgPGFuZHJlc2dfMjJAYXBwbGUuY29tPgorCisg
ICAgICAgIFsgbWFjT1MgXSBhY2Nlc3NpYmlsaXR5L21hYy9zZWxlY3QtZWxlbWVudC1zZWxlY3Rp
b24td2l0aC1vcHRncm91cHMuaHRtbCBpcyBhIGZsYWt5IGZhaWx1cmUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTY0OQorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vNjc0MDYxNDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVXNlcyBQcm9taXNlcyB0byBtYWtlIGl0IGRldGVybWluaXN0aWMuIEFsc28g
d2FpdHMgZm9yIHRoZSBjb3JyZWN0IGV2ZW50CisgICAgICAgIHNpbmNlIHNlbGVjdGVkQ2hpbGRy
ZW5Db3VudCBpcyBub3QgdGhlIHJpZ2h0IGluZGljYXRpb24gdGhhdCB0aGUKKyAgICAgICAgZXhw
ZWN0ZWQgdXBkYXRlIGhhcHBlbmVkLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvc2Vs
ZWN0LWVsZW1lbnQtc2VsZWN0aW9uLXdpdGgtb3B0Z3JvdXBzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9zZWxlY3QtZWxlbWVudC1zZWxlY3Rpb24td2l0aC1vcHRn
cm91cHMuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczogTm8g
bG9uZ2VyIGZsYWt5LgorCiAyMDIwLTEwLTA5ICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIy
QGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggZm9yIGFjY2Vzc2liaWxpdHkgdGVzdHMga2V5ZXZl
bnRzLXBvc3RlZC1mb3ItaW5jcmVtZW50LWFjdGlvbnMuaHRtbCBhbmQga2V5ZXZlbnRzLWZvci1p
bmNyZW1lbnQtYWN0aW9ucy13aXRoLW5vZGUtcmVtb3ZhbC5odG1sIGluIGlzb2xhdGVkIHRyZWUg
bW9kZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3NlbGVjdC1l
bGVtZW50LXNlbGVjdGlvbi13aXRoLW9wdGdyb3Vwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L21hYy9zZWxlY3QtZWxlbWVudC1zZWxlY3Rpb24td2l0aC1vcHRncm91
cHMtZXhwZWN0ZWQudHh0CmluZGV4IGI2MzQzYzFmZjJlNjM3MTVkOWJhYzVkMGY3YTBkMjllZjU5
N2NiNDAuLmJlZWM1MmVlYzBhOTdiNDFkOWRiYWRlMTY0N2M4NmEyNjY2M2U2Y2UgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3NlbGVjdC1lbGVtZW50LXNlbGVjdGlv
bi13aXRoLW9wdGdyb3Vwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9tYWMvc2VsZWN0LWVsZW1lbnQtc2VsZWN0aW9uLXdpdGgtb3B0Z3JvdXBzLWV4cGVjdGVk
LnR4dApAQCAtNSwxMSArNSw4IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIAogUEFTUyBz
ZWxlY3RFbGVtZW50LnNlbGVjdGVkQ2hpbGRyZW5Db3VudCBpcyAwCi1QQVNTIHNlbGVjdEVsZW1l
bnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50IGJlY2FtZSAxCiBQQVNTIHNlbGVjdEVsZW1lbnQuc2Vs
ZWN0ZWRDaGlsZEF0SW5kZXgoMCkuaXNFcXVhbChvcHRpb24xKSBpcyB0cnVlCi1QQVNTIHNlbGVj
dEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50IGJlY2FtZSAxCiBQQVNTIHNlbGVjdEVsZW1l
bnQuc2VsZWN0ZWRDaGlsZEF0SW5kZXgoMCkuaXNFcXVhbChvcHRpb24yKSBpcyB0cnVlCi1QQVNT
IHNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50IGJlY2FtZSAxCiBQQVNTIHNlbGVj
dEVsZW1lbnQuc2VsZWN0ZWRDaGlsZEF0SW5kZXgoMCkuaXNFcXVhbChvcHRpb24zKSBpcyB0cnVl
CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvbWFjL3NlbGVjdC1lbGVtZW50LXNlbGVjdGlvbi13aXRoLW9wdGdy
b3Vwcy5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvc2VsZWN0LWVsZW1lbnQt
c2VsZWN0aW9uLXdpdGgtb3B0Z3JvdXBzLmh0bWwKaW5kZXggNzAxNGY5NjQyYmYzMzAxNGVkZTM1
YzlmNDMwZjMxN2FmZDYyNDJiOS4uYTY2OTY2MzFmYzcwYzM1ZWNkYjU2OTU3Mzg1ZjhkZDI1OTY2
NWM4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvc2VsZWN0LWVs
ZW1lbnQtc2VsZWN0aW9uLXdpdGgtb3B0Z3JvdXBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9tYWMvc2VsZWN0LWVsZW1lbnQtc2VsZWN0aW9uLXdpdGgtb3B0Z3JvdXBzLmh0
bWwKQEAgLTIsNiArMiw3IEBACiA8aHRtbD4KIDxoZWFkPgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2FjY2Vzc2liaWxpdHktaGVscGVyLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5
IGlkPSJib2R5Ij4KIApAQCAtMjcsMzQgKzI4LDM5IEBAIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3Rz
IHRoYXQgc2V0dGluZyBzZWxlY3Rpb24gd2l0aGluIGEgbGlzdCBib3ggd29ya3MgY29ycmVjdGx5
CiBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlDb250cm9sbGVyKSB7CiAgICAgd2luZG93LmpzVGVz
dElzQXN5bmMgPSB0cnVlOwogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzdWl0ZSIpLmZv
Y3VzKCk7Ci0gICAgdmFyIHNlbGVjdEVsZW1lbnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5m
b2N1c2VkRWxlbWVudDsKIAorICAgIHdpbmRvdy5zZWxlY3RFbGVtZW50ID0gYWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7CiAgICAgc2hvdWxkQmUoInNlbGVjdEVsZW1lbnQu
c2VsZWN0ZWRDaGlsZHJlbkNvdW50IiwgIjAiKTsKIAotICAgIHZhciBvcHRpb24xID0gc2VsZWN0
RWxlbWVudC5jaGlsZEF0SW5kZXgoMSk7Ci0gICAgdmFyIG9wdGlvbjIgPSBzZWxlY3RFbGVtZW50
LmNoaWxkQXRJbmRleCgyKTsKLSAgICB2YXIgb3B0aW9uMyA9IHNlbGVjdEVsZW1lbnQuY2hpbGRB
dEluZGV4KDQpOworICAgIHdpbmRvdy5vcHRpb24xID0gc2VsZWN0RWxlbWVudC5jaGlsZEF0SW5k
ZXgoMSk7CisgICAgd2luZG93Lm9wdGlvbjIgPSBzZWxlY3RFbGVtZW50LmNoaWxkQXRJbmRleCgy
KTsKKyAgICB3aW5kb3cub3B0aW9uMyA9IHNlbGVjdEVsZW1lbnQuY2hpbGRBdEluZGV4KDQpOwog
CiAgICAgLy8gU2VsZWN0aW9uIG9wZXJhdGlvbnMgaGFwcGVuIGFmdGVyIGEgZGVsYXkgc28gdGhl
eSBkb24ndCBoYW5nLiBDaGVjayB0aGUgcmVzdWx0IG9uIGEgdGltZW91dC4KICAgICBzZWxlY3RF
bGVtZW50LnNldFNlbGVjdGVkQ2hpbGQob3B0aW9uMSk7Ci0gICAgc2hvdWxkQmVjb21lRXF1YWwo
InNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50IiwgIjEiLCBmdW5jdGlvbigpIHsK
KyAgICBzZXRUaW1lb3V0KGFzeW5jIGZ1bmN0aW9uKCkgeworICAgICAgICBhd2FpdCB3YWl0Rm9y
KCgpID0+IHsKKyAgICAgICAgICAgIHJldHVybiBzZWxlY3RFbGVtZW50LnNlbGVjdGVkQ2hpbGRB
dEluZGV4KDApLmlzRXF1YWwob3B0aW9uMSk7CisgICAgICAgIH0pOwogICAgICAgICBzaG91bGRC
ZVRydWUoInNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZEF0SW5kZXgoMCkuaXNFcXVhbChvcHRp
b24xKSIpOwogCiAgICAgICAgIHNlbGVjdEVsZW1lbnQuc2V0U2VsZWN0ZWRDaGlsZChvcHRpb24y
KTsKLSAgICAgICAgc2hvdWxkQmVjb21lRXF1YWwoInNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGls
ZHJlbkNvdW50IiwgIjEiLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJz
ZWxlY3RFbGVtZW50LnNlbGVjdGVkQ2hpbGRBdEluZGV4KDApLmlzRXF1YWwob3B0aW9uMikiKTsK
LQotICAgICAgICAgICAgc2VsZWN0RWxlbWVudC5zZXRTZWxlY3RlZENoaWxkKG9wdGlvbjMpOwot
ICAgICAgICAgICAgc2hvdWxkQmVjb21lRXF1YWwoInNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGls
ZHJlbkNvdW50IiwgIjEiLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICBzaG91bGRCZVRy
dWUoInNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZEF0SW5kZXgoMCkuaXNFcXVhbChvcHRpb24z
KSIpOwotICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwotICAgICAgICAgICAgfSk7Cisg
ICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4geworICAgICAgICAgICAgcmV0dXJuIHNlbGVjdEVs
ZW1lbnQuc2VsZWN0ZWRDaGlsZEF0SW5kZXgoMCkuaXNFcXVhbChvcHRpb24yKTsKKyAgICAgICAg
fSk7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgic2VsZWN0RWxlbWVudC5zZWxlY3RlZENoaWxkQXRJ
bmRleCgwKS5pc0VxdWFsKG9wdGlvbjIpIik7CisKKyAgICAgICAgc2VsZWN0RWxlbWVudC5zZXRT
ZWxlY3RlZENoaWxkKG9wdGlvbjMpOworICAgICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHsKKyAg
ICAgICAgICAgIHJldHVybiBzZWxlY3RFbGVtZW50LnNlbGVjdGVkQ2hpbGRBdEluZGV4KDApLmlz
RXF1YWwob3B0aW9uMyk7CiAgICAgICAgIH0pOwotICAgIH0pOworICAgICAgICBzaG91bGRCZVRy
dWUoInNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZEF0SW5kZXgoMCkuaXNFcXVhbChvcHRpb24z
KSIpOworCisgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgIH0sIDApOwogfSBlbHNlCiAgICAg
ZGVidWcoIndpbmRvdy5hY2Nlc3NpYmlsaXR5Q29udHJvbGxlciBpcyBub3QgcHJlc2VudCIpOwog
PC9zY3JpcHQ+Ci0KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggZDI2MGM3NWZkMDU1ZmY3OTQ1ODRjZGRhNmNiMDIzMDQ0NzA5
ZGE3ZC4uYWFjZjZiZWNjYmJlNjE2YjRjY2ExZmJkYWY0MjlmNzZkOTczOGY0OCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTIxNTMsOCArMjE1Myw2IEBA
IHdlYmtpdC5vcmcvYi8yMTU1ODMgbWVkaWEvdHJhY2svdHJhY2staW4tYmFuZC1zdHlsZS5odG1s
IFsgUGFzcyBGYWlsdXJlIFRpbWVvdXQKIAogd2Via2l0Lm9yZy9iLzIxNTU4NyBtZWRpYS9tb2Rl
cm4tbWVkaWEtY29udHJvbHMvdm9sdW1lLWRvd24tc3VwcG9ydC92b2x1bWUtZG93bi1zdXBwb3J0
Lmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogCi13ZWJraXQub3JnL2IvMjE1NjQ5IGFjY2Vzc2liaWxp
dHkvbWFjL3NlbGVjdC1lbGVtZW50LXNlbGVjdGlvbi13aXRoLW9wdGdyb3Vwcy5odG1sIFsgUGFz
cyBGYWlsdXJlIF0KLQogd2Via2l0Lm9yZy9iLzIxNTcyMyBmYXN0L3JlcGFpbnQvbGlzdC1pdGVt
LWVxdWFsLXN0eWxlLWNoYW5nZS1uby1yZXBhaW50Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCiB3
ZWJraXQub3JnL2IvMTg5NjcyIFsgUmVsZWFzZSBdIHdlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi90
ZXh0dXJlcy9jYW52YXMvdGV4LTJkLXJnMzJmLXJnLWZsb2F0Lmh0bWwgWyBQYXNzIEZhaWx1cmUg
XQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>411249</attachid>
            <date>2020-10-13 13:56:45 -0700</date>
            <delta_ts>2020-10-14 06:29:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215649-20201013165644.patch</filename>
            <type>text/plain</type>
            <size>26708</size>
            <attacher name="Andres Gonzalez">andresg_22</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY4MzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzgyMjFiODczMDg0MDlm
Yzc3OWExYzA3NDBmOGY3MmYyZjIzMWZmZC4uZTk0ZjRmZGUyYmU0ZDFmZGE1NGUzNmVmMzQ3OWIw
Y2Q1NWE0ZTZhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDIwLTEwLTEwICBBbmRy
ZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KKworICAgICAgICBbIG1hY09TIF0g
YWNjZXNzaWJpbGl0eS9tYWMvc2VsZWN0LWVsZW1lbnQtc2VsZWN0aW9uLXdpdGgtb3B0Z3JvdXBz
Lmh0bWwgaXMgYSBmbGFreSBmYWlsdXJlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMTU2NDkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY3NDA2MTQ4
PgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIEZsZWl6YWNoLgorCisgICAgICAgIFRlc3Q6
IGFjY2Vzc2liaWxpdHkvbWFjL3NlbGVjdC1lbGVtZW50LXNlbGVjdGlvbi13aXRoLW9wdGdyb3Vw
cy5odG1sLgorCisgICAgICAgIEZpeCB0aGlzIHRlc3QgYnkgdXNpbmcgUHJvbWlzZXMgYW5kIHdh
aXRpbmcgZm9yIHRoZSBjb3JyZWN0IGV2ZW50cy4gTm8KKyAgICAgICAgbG9uZ2VyIGZsYWt5Lgor
ICAgICAgICBBbHNvIGZpeGVkIHRoZSB0ZXN0IGluIGlzb2xhdGVkIHRyZWUgbW9kZSwgZm9yIHdo
aWNoIHNldmVyYWwgY2hhbmdlcyBkZXRhaWxlZCBiZWxvdyB3ZXJlIG5lY2Vzc2FyeS4KKworICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpBWE9iamVjdENhY2hlOjpvYmplY3RzRm9ySURzIGNvbnN0KToKKyAgICAgICAgQWRkZWQgdGhp
cyB1dGlsaXR5IG1ldGhvZCB0byByZXRyaWV2ZSBhIFZlY3RvciBvZiBBWCBvYmplY3RzIGdpdmVu
IHRoZWlyIElEcy4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlMaXN0Qm94LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlMaXN0Qm94OjpjYW5TZXRTZWxlY3RlZENoaWxkcmVuIGNv
bnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlMaXN0Qm94OjpzZXRTZWxlY3Rl
ZENoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlMaXN0Qm94OjpjYW5T
ZXRTZWxlY3RlZENoaWxkcmVuQXR0cmlidXRlIGNvbnN0KToKKyAgICAgICAgQmVjYW1lIGNhblNl
dFNlbGVjdGVkQ2hpbGRyZW4gc2luY2UgQXR0cmlidXRlIHdhcyB1bm5lY2Vzc2FyeSBhbmQKKyAg
ICAgICAgbWlzbGVhZGluZy4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlM
aXN0Qm94Lmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0Lmg6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmg6
CisgICAgICAgIChXZWJDb3JlOjpBWENvcmVPYmplY3Q6OnNldFNlbGVjdGVkQ2hpbGRyZW4pOiBF
eHBvc2VzIHRoaXMgZnVuY3Rpb25hbGl0eQorICAgICAgICBpbiB0aGUgYmFzZSBjbGFzcyBzbyB0
aGF0IGl0IGlzIGFjY2Vzc2libGUgZm9yIEFYIGFuZCBpc29sYXRlZCBvYmplY3RzLgorICAgICAg
ICAoV2ViQ29yZTo6QVhDb3JlT2JqZWN0Ojppc05hdGl2ZUxpc3RCb3ggY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZE9iamVjdDo6aW5pdGlhbGl6ZUF0dHJp
YnV0ZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6QVhJc29sYXRlZE9iamVjdDo6c2V0U2VsZWN0
ZWRDaGlsZHJlbik6CisgICAgICAgIEltcGxlbWVudHMgdGhpcyBmdW5jdGlvbmFsaXR5IGJ5IGZv
cndhcmRpbmcgdG8gdGhlIG1haW4gdGhyZWFkIGFuZAorICAgICAgICByZXRyaWV2aW5nIHRoZSBj
b3JyZXNwb2RuaW5nIEFYIG9iamVjdHMuCisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkT2Jq
ZWN0Ojppc0FjY2Vzc2liaWxpdHlMaXN0Qm94SW5zdGFuY2UgY29uc3QpOgorICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuaDoKKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6b2JqZWN0c0ZvcklEcyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBWElzb2xhdGVkVHJlZTo6aWRzRm9yT2JqZWN0cyBjb25zdCk6CisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaDoKKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbToKKyAg
ICAgICAgKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUlzQXR0
cmlidXRlU2V0dGFibGU6XSk6CisgICAgICAgICgtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFw
cGVyIF9hY2Nlc3NpYmlsaXR5U2V0VmFsdWU6Zm9yQXR0cmlidXRlOl0pOgorICAgICAgICBJbnN0
ZWFkIG9mIHNwZWNpYWwgY2FzaW5nIEFjY2Vzc2liaWxpdHlMaXN0Qm94IGNsYXNzLCBpdCBhbGxv
d3MgdG8gc2V0CisgICAgICAgIHNlbGVjdGVkIGNoaWxkcmVuIGZvciBhbGwgb2JqZWN0cyB0aGF0
IGNhblNldFNlbGVjdGVkQ2hpbGRyZW4uCisgICAgICAgIEVsaW1pbmF0ZXMgdGhlIGRvd25jYXN0
IHRoYXQgZG9lcyBub3Qgd29yayBmb3IgaXNvbGF0ZWQgb2JqZWN0cy4KKwogMjAyMC0xMC0xMiAg
TWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgSW1wcm92
ZSBzZXJpYWxpemF0aW9uIG9mIHNjcm9sbC1zbmFwLXR5cGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IGQzZDk5YzcyNTRjZDJhNDdkMzFi
YzM3MDZkZGQ0YjQzZDFiMDFiZGQuLmZmMWUxZjkxNDI4YTBiMGNjOTBkYzY5YzcxOWE3ZGFkZjk2
OGVhYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RD
YWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hl
LmNwcApAQCAtOTUyLDYgKzk1MiwxNiBAQCBBWElEIEFYT2JqZWN0Q2FjaGU6OnBsYXRmb3JtR2Vu
ZXJhdGVBWElEKCkgY29uc3QKIH0KICNlbmRpZgogCitWZWN0b3I8UmVmUHRyPEFYQ29yZU9iamVj
dD4+IEFYT2JqZWN0Q2FjaGU6Om9iamVjdHNGb3JJRHMoY29uc3QgVmVjdG9yPEFYSUQ+JiBheElE
cykgY29uc3QKK3sKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworCisgICAgcmV0dXJuIGF4
SURzLm1hcChbdGhpc10gKEFYSUQgYXhJRCkgLT4gUmVmUHRyPEFYQ29yZU9iamVjdD4geworICAg
ICAgICBBU1NFUlQoYXhJRCAhPSBJbnZhbGlkQVhJRCk7CisgICAgICAgIHJldHVybiBvYmplY3RG
cm9tQVhJRChheElEKTsKKyAgICB9KTsKK30KKwogQVhJRCBBWE9iamVjdENhY2hlOjpnZXRBWElE
KEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iaikKIHsKICAgICAvLyBjaGVjayBmb3IgYWxyZWFkeS1h
c3NpZ25lZCBJRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9i
amVjdENhY2hlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUu
aAppbmRleCBiY2NiODkwZjBlYmE5YjdlNDdiNzc3MWJlNmI4NGFhMjVlYzgwYmVlLi45ZmM0ZGNj
ODg5ZGU1ZjBmZDNmMTFlNmUxZTgwNDk0YWNlNWUwYzQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaApAQCAtMjIwLDYgKzIyMCw3IEBAIHB1YmxpYzoK
IAogICAgIEFYSUQgcGxhdGZvcm1HZW5lcmF0ZUFYSUQoKSBjb25zdDsKICAgICBBY2Nlc3NpYmls
aXR5T2JqZWN0KiBvYmplY3RGcm9tQVhJRChBWElEIGlkKSBjb25zdCB7IHJldHVybiBtX29iamVj
dHMuZ2V0KGlkKTsgfQorICAgIFZlY3RvcjxSZWZQdHI8QVhDb3JlT2JqZWN0Pj4gb2JqZWN0c0Zv
cklEcyhjb25zdCBWZWN0b3I8QVhJRD4mKSBjb25zdDsKIAogICAgIC8vIFRleHQgbWFya2VyIHV0
aWxpdGllcy4KICAgICBPcHRpb25hbDxUZXh0TWFya2VyRGF0YT4gdGV4dE1hcmtlckRhdGFGb3JW
aXNpYmxlUG9zaXRpb24oY29uc3QgVmlzaWJsZVBvc2l0aW9uJik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlMaXN0Qm94LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3RCb3guY3BwCmluZGV4IGY2
YzU5ZTk1ZmNmNzBkYWJhMjljNGVmNTI1YzBjYTEzNzIxYzFkMWUuLjcyMjg5NGQ4OWQ1NjM5M2Fl
MTAwNTczMmNlNzg3OTYyZTY3MTBkNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3RCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3RCb3guY3BwCkBAIC01Miw4ICs1Miw4IEBAIFJl
ZjxBY2Nlc3NpYmlsaXR5TGlzdEJveD4gQWNjZXNzaWJpbGl0eUxpc3RCb3g6OmNyZWF0ZShSZW5k
ZXJPYmplY3QqIHJlbmRlcmVyKQogewogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFjY2Vzc2li
aWxpdHlMaXN0Qm94KHJlbmRlcmVyKSk7CiB9Ci0gICAgCi1ib29sIEFjY2Vzc2liaWxpdHlMaXN0
Qm94OjpjYW5TZXRTZWxlY3RlZENoaWxkcmVuQXR0cmlidXRlKCkgY29uc3QKKworYm9vbCBBY2Nl
c3NpYmlsaXR5TGlzdEJveDo6Y2FuU2V0U2VsZWN0ZWRDaGlsZHJlbigpIGNvbnN0CiB7CiAgICAg
Tm9kZSogc2VsZWN0Tm9kZSA9IG1fcmVuZGVyZXItPm5vZGUoKTsKICAgICBpZiAoIXNlbGVjdE5v
ZGUpCkBAIC04Miw5ICs4Miw5IEBAIHZvaWQgQWNjZXNzaWJpbGl0eUxpc3RCb3g6OmFkZENoaWxk
cmVuKCkKIAogdm9pZCBBY2Nlc3NpYmlsaXR5TGlzdEJveDo6c2V0U2VsZWN0ZWRDaGlsZHJlbihj
b25zdCBBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImIGNoaWxkcmVuKQogewotICAgIGlmICgh
Y2FuU2V0U2VsZWN0ZWRDaGlsZHJlbkF0dHJpYnV0ZSgpKQorICAgIGlmICghY2FuU2V0U2VsZWN0
ZWRDaGlsZHJlbigpKQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBOb2RlKiBzZWxlY3RO
b2RlID0gbV9yZW5kZXJlci0+bm9kZSgpOwogICAgIGlmICghc2VsZWN0Tm9kZSkKICAgICAgICAg
cmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3Np
YmlsaXR5TGlzdEJveC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5TGlzdEJveC5oCmluZGV4IDc0ZTU5MDgyZTNjOTdlMDUzMjEwMjE4YTY1ZWYzYWI2YzI2ODE4
NDguLjQ2NDhiZDZlNmYzMDBlMmNkZjljZmY2Mjg3YjBkNGI3Mjk5NGM3NDAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eUxpc3RCb3guaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlMaXN0Qm94LmgKQEAg
LTM2LDkgKzM2LDkgQEAgY2xhc3MgQWNjZXNzaWJpbGl0eUxpc3RCb3ggZmluYWwgOiBwdWJsaWMg
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxBY2Nl
c3NpYmlsaXR5TGlzdEJveD4gY3JlYXRlKFJlbmRlck9iamVjdCopOwogICAgIHZpcnR1YWwgfkFj
Y2Vzc2liaWxpdHlMaXN0Qm94KCk7Ci0gICAgCi0gICAgYm9vbCBjYW5TZXRTZWxlY3RlZENoaWxk
cmVuQXR0cmlidXRlKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZXRTZWxlY3RlZENoaWxk
cmVuKGNvbnN0IEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYpOworCisgICAgYm9vbCBjYW5T
ZXRTZWxlY3RlZENoaWxkcmVuKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRTZWxlY3Rl
ZENoaWxkcmVuKGNvbnN0IEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYpIG92ZXJyaWRlOwog
ICAgIEFjY2Vzc2liaWxpdHlSb2xlIHJvbGVWYWx1ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IEFjY2Vzc2liaWxpdHlSb2xlOjpMaXN0Qm94OyB9CiAgICAgICAgIAogICAgIHZvaWQgc2VsZWN0
ZWRDaGlsZHJlbihBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImKSBvdmVycmlkZTsKQEAgLTQ5
LDExICs0OSwxMSBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEFjY2Vzc2liaWxp
dHlMaXN0Qm94KFJlbmRlck9iamVjdCopOwogCi0gICAgYm9vbCBpc05hdGl2ZUxpc3RCb3goKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CisgICAgYm9vbCBpc0FjY2Vzc2liaWxpdHlM
aXN0Qm94SW5zdGFuY2UoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgQWNj
ZXNzaWJpbGl0eU9iamVjdCogbGlzdEJveE9wdGlvbkFjY2Vzc2liaWxpdHlPYmplY3QoSFRNTEVs
ZW1lbnQqKSBjb25zdDsKICAgICBBWENvcmVPYmplY3QqIGVsZW1lbnRBY2Nlc3NpYmlsaXR5SGl0
VGVzdChjb25zdCBJbnRQb2ludCYpIGNvbnN0IG92ZXJyaWRlOwogfTsKICAgICAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAotU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19BQ0NFU1NJQklMSVRZKEFj
Y2Vzc2liaWxpdHlMaXN0Qm94LCBpc05hdGl2ZUxpc3RCb3goKSkKK1NQRUNJQUxJWkVfVFlQRV9U
UkFJVFNfQUNDRVNTSUJJTElUWShBY2Nlc3NpYmlsaXR5TGlzdEJveCwgaXNBY2Nlc3NpYmlsaXR5
TGlzdEJveEluc3RhbmNlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
QWNjZXNzaWJpbGl0eU9iamVjdC5oCmluZGV4IGVjM2Y3Y2QxNDljMGUzYTRjMTM0MjVhMTkyYmNi
MDdkOTY5NWM5MjkuLjgwOGZlZmEyOTU5MmEyMDI4ZGQ0YmJhNjQyMjM5MzY5YjJiYzVkMGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVj
dC5oCkBAIC05OCw2ICs5OCw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzQWNjZXNzaWJpbGl0eVRh
YmxlSW5zdGFuY2UoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAgIGJvb2wg
aXNBY2Nlc3NpYmlsaXR5VGFibGVDb2x1bW5JbnN0YW5jZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0
dXJuIGZhbHNlOyB9CiAgICAgYm9vbCBpc0FjY2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvcklu
c3RhbmNlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICBib29sIGlzQWNj
ZXNzaWJpbGl0eUxpc3RCb3hJbnN0YW5jZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNl
OyB9CiAgICAgYm9vbCBpc0FYSXNvbGF0ZWRPYmplY3RJbnN0YW5jZSgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICBib29sIGlzQXR0YWNobWVudEVsZW1lbnQoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQpAQCAtMTEwLDcgKzExMSw2IEBAIHB1YmxpYzoK
ICAgICBBY2Nlc3NpYmlsaXR5T2JqZWN0KiBwYXNzd29yZEZpZWxkT3JDb250YWluaW5nUGFzc3dv
cmRGaWVsZCgpIG92ZXJyaWRlIHsgcmV0dXJuIG51bGxwdHI7IH0KICAgICBib29sIGlzTmF0aXZl
VGV4dENvbnRyb2woKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAgIGJvb2wg
aXNTZWFyY2hGaWVsZCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgYm9v
bCBpc05hdGl2ZUxpc3RCb3goKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAg
IGJvb2wgaXNMaXN0Qm94T3B0aW9uKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0K
ICAgICBib29sIGlzQXR0YWNobWVudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9
CiAgICAgYm9vbCBpc01lZGlhVGltZWxpbmUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxz
ZTsgfQpAQCAtMjQ4LDcgKzI0OCw3IEBAIHB1YmxpYzoKICAgICBib29sIGNhblNldFZhbHVlQXR0
cmlidXRlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KICAgICBib29sIGNhblNl
dE51bWVyaWNWYWx1ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9v
bCBjYW5TZXRTZWxlY3RlZEF0dHJpYnV0ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNl
OyB9Ci0gICAgYm9vbCBjYW5TZXRTZWxlY3RlZENoaWxkcmVuQXR0cmlidXRlKCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICBib29sIGNhblNldFNlbGVjdGVkQ2hpbGRyZW4o
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAgIGJvb2wgY2FuU2V0RXhwYW5k
ZWRBdHRyaWJ1dGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgRWxl
bWVudCogZWxlbWVudCgpIGNvbnN0IG92ZXJyaWRlOwpAQCAtNTAwLDYgKzUwMCw3IEBAIHB1Ymxp
YzoKIAogICAgIGJvb2wgY2FuSGF2ZVNlbGVjdGVkQ2hpbGRyZW4oKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBmYWxzZTsgfQogICAgIHZvaWQgc2VsZWN0ZWRDaGlsZHJlbihBY2Nlc3NpYmlsaXR5
Q2hpbGRyZW5WZWN0b3ImKSBvdmVycmlkZSB7IH0KKyAgICB2b2lkIHNldFNlbGVjdGVkQ2hpbGRy
ZW4oY29uc3QgQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJikgb3ZlcnJpZGUgeyB9CiAgICAg
dm9pZCB2aXNpYmxlQ2hpbGRyZW4oQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJikgb3ZlcnJp
ZGUgeyB9CiAgICAgdm9pZCB0YWJDaGlsZHJlbihBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3Im
KSBvdmVycmlkZSB7IH0KICAgICBib29sIHNob3VsZEZvY3VzQWN0aXZlRGVzY2VuZGFudCgpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3RJbnRlcmZhY2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oCmluZGV4
IDI3YzM5ZDdlOWQzY2U3ZTRiOTU3MDA0YmZlMzZhYzgxNTY0MDgzMjQuLjY1YzA1N2JkZGMyNTQ3
MTRmZDI2YTQyYjc4MWI2MTVhODA0MjI2ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oCkBAIC03
OTQsNiArNzk0LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc0FjY2Vzc2liaWxpdHlU
YWJsZUluc3RhbmNlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBpc0FjY2Vzc2liaWxp
dHlUYWJsZUNvbHVtbkluc3RhbmNlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBpc0Fj
Y2Vzc2liaWxpdHlQcm9ncmVzc0luZGljYXRvckluc3RhbmNlKCkgY29uc3QgPSAwOworICAgIHZp
cnR1YWwgYm9vbCBpc0FjY2Vzc2liaWxpdHlMaXN0Qm94SW5zdGFuY2UoKSBjb25zdCA9IDA7CiAg
ICAgdmlydHVhbCBib29sIGlzQVhJc29sYXRlZE9iamVjdEluc3RhbmNlKCkgY29uc3QgPSAwOwog
CiAgICAgdmlydHVhbCBib29sIGlzQXR0YWNobWVudEVsZW1lbnQoKSBjb25zdCA9IDA7CkBAIC04
MTIsNyArODEzLDYgQEAgcHVibGljOgogICAgIGJvb2wgaXNDaGVja2JveCgpIGNvbnN0IHsgcmV0
dXJuIHJvbGVWYWx1ZSgpID09IEFjY2Vzc2liaWxpdHlSb2xlOjpDaGVja0JveDsgfQogICAgIGJv
b2wgaXNSYWRpb0J1dHRvbigpIGNvbnN0IHsgcmV0dXJuIHJvbGVWYWx1ZSgpID09IEFjY2Vzc2li
aWxpdHlSb2xlOjpSYWRpb0J1dHRvbjsgfQogICAgIGJvb2wgaXNMaXN0Qm94KCkgY29uc3QgeyBy
ZXR1cm4gcm9sZVZhbHVlKCkgPT0gQWNjZXNzaWJpbGl0eVJvbGU6Okxpc3RCb3g7IH0KLSAgICB2
aXJ0dWFsIGJvb2wgaXNOYXRpdmVMaXN0Qm94KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH07CiAg
ICAgdmlydHVhbCBib29sIGlzTGlzdEJveE9wdGlvbigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFs
IGJvb2wgaXNBdHRhY2htZW50KCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBpc01lZGlh
VGltZWxpbmUoKSBjb25zdCA9IDA7CkBAIC05ODEsNyArOTgxLDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgYm9vbCBjYW5TZXRWYWx1ZUF0dHJpYnV0ZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFs
IGJvb2wgY2FuU2V0TnVtZXJpY1ZhbHVlKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBj
YW5TZXRTZWxlY3RlZEF0dHJpYnV0ZSgpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgY2Fu
U2V0U2VsZWN0ZWRDaGlsZHJlbkF0dHJpYnV0ZSgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGJv
b2wgY2FuU2V0U2VsZWN0ZWRDaGlsZHJlbigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wg
Y2FuU2V0RXhwYW5kZWRBdHRyaWJ1dGUoKSBjb25zdCA9IDA7CiAKICAgICB2aXJ0dWFsIEVsZW1l
bnQqIGVsZW1lbnQoKSBjb25zdCA9IDA7CkBAIC0xMjM5LDYgKzEyMzksNyBAQCBwdWJsaWM6CiAK
ICAgICB2aXJ0dWFsIGJvb2wgY2FuSGF2ZVNlbGVjdGVkQ2hpbGRyZW4oKSBjb25zdCA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIHNlbGVjdGVkQ2hpbGRyZW4oQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVj
dG9yJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRTZWxlY3RlZENoaWxkcmVuKGNvbnN0IEFj
Y2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdmlzaWJs
ZUNoaWxkcmVuKEFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgdGFiQ2hpbGRyZW4oQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJikgPSAwOwogICAg
IHZpcnR1YWwgYm9vbCBzaG91bGRGb2N1c0FjdGl2ZURlc2NlbmRhbnQoKSBjb25zdCA9IDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0
cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwCmluZGV4IGNmODVkZGRmZmZlYWQwMmEzN2I2NjdhYmRh
MDUyM2E4OTkyMTIxMWYuLmJiMzY2ODVlNzI1NDE1NGNkY2QzZmJlODFmN2RlNzUxN2U0MDlkZWYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FY
SXNvbGF0ZWRPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNv
bGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwCkBAIC0xNDUsNyArMTQ1LDcgQEAgdm9pZCBB
WElzb2xhdGVkT2JqZWN0Ojppbml0aWFsaXplQXR0cmlidXRlRGF0YShBWENvcmVPYmplY3QmIG9i
amVjdCwgYm9vbCBpc1Jvb3QKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6Q2FuU2V0
TnVtZXJpY1ZhbHVlLCBvYmplY3QuY2FuU2V0TnVtZXJpY1ZhbHVlKCkpOwogICAgIHNldFByb3Bl
cnR5KEFYUHJvcGVydHlOYW1lOjpTdXBwb3J0c1JlcXVpcmVkQXR0cmlidXRlLCBvYmplY3Quc3Vw
cG9ydHNSZXF1aXJlZEF0dHJpYnV0ZSgpKTsKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFt
ZTo6Q2FuU2V0U2VsZWN0ZWRBdHRyaWJ1dGUsIG9iamVjdC5jYW5TZXRTZWxlY3RlZEF0dHJpYnV0
ZSgpKTsKLSAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6Q2FuU2V0U2VsZWN0ZWRDaGls
ZHJlbkF0dHJpYnV0ZSwgb2JqZWN0LmNhblNldFNlbGVjdGVkQ2hpbGRyZW5BdHRyaWJ1dGUoKSk7
CisgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkNhblNldFNlbGVjdGVkQ2hpbGRyZW4s
IG9iamVjdC5jYW5TZXRTZWxlY3RlZENoaWxkcmVuKCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJv
cGVydHlOYW1lOjpDYW5TZXRFeHBhbmRlZEF0dHJpYnV0ZSwgb2JqZWN0LmNhblNldEV4cGFuZGVk
QXR0cmlidXRlKCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpJc1Nob3dpbmdW
YWxpZGF0aW9uTWVzc2FnZSwgb2JqZWN0LmlzU2hvd2luZ1ZhbGlkYXRpb25NZXNzYWdlKCkpOwog
ICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpWYWxpZGF0aW9uTWVzc2FnZSwgb2JqZWN0
LnZhbGlkYXRpb25NZXNzYWdlKCkpOwpAQCAtNTAwLDYgKzUwMCwyNSBAQCBjb25zdCBBWENvcmVP
YmplY3Q6OkFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgQVhJc29sYXRlZE9iamVjdDo6Y2hp
bGRyZW4oYm9vbAogICAgIHJldHVybiBtX2NoaWxkcmVuOwogfQogCit2b2lkIEFYSXNvbGF0ZWRP
YmplY3Q6OnNldFNlbGVjdGVkQ2hpbGRyZW4oY29uc3QgQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVj
dG9yJiBzZWxlY3RlZENoaWxkcmVuKQoreworICAgIEFTU0VSVChzZWxlY3RlZENoaWxkcmVuLmlz
RW1wdHkoKSB8fCAoc2VsZWN0ZWRDaGlsZHJlblswXSAmJiBzZWxlY3RlZENoaWxkcmVuWzBdLT5p
c0FYSXNvbGF0ZWRPYmplY3RJbnN0YW5jZSgpKSk7CisKKyAgICBwZXJmb3JtRnVuY3Rpb25Pbk1h
aW5UaHJlYWQoWyZdIChBWENvcmVPYmplY3QqIG9iamVjdCkgeworICAgICAgICBpZiAoc2VsZWN0
ZWRDaGlsZHJlbi5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIC8vIE5vIHNlbGVjdGlvbiwgbm8g
bmVlZCB0byBjb252ZXJ0IG9iamVjdHMgZnJvbSBpc29sYXRlZCB0byBsaXZlLgorICAgICAgICAg
ICAgb2JqZWN0LT5zZXRTZWxlY3RlZENoaWxkcmVuKHNlbGVjdGVkQ2hpbGRyZW4pOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgQVNTRVJUKGF4T2JqZWN0Q2FjaGUo
KSk7CisKKyAgICAgICAgYXV0byBheElEcyA9IHRyZWUoKS0+aWRzRm9yT2JqZWN0cyhzZWxlY3Rl
ZENoaWxkcmVuKTsKKyAgICAgICAgYXV0byBheFNlbGVjdGVkQ2hpbGRyZW4gPSBheE9iamVjdENh
Y2hlKCktPm9iamVjdHNGb3JJRHMoYXhJRHMpOworICAgICAgICBvYmplY3QtPnNldFNlbGVjdGVk
Q2hpbGRyZW4oYXhTZWxlY3RlZENoaWxkcmVuKTsKKyAgICB9KTsKK30KKwogYm9vbCBBWElzb2xh
dGVkT2JqZWN0Ojppc0RldGFjaGVkRnJvbVBhcmVudCgpCiB7CiAgICAgaWYgKHBhcmVudCgpICE9
IEludmFsaWRBWElEKQpAQCAtMTA0Miw2ICsxMDYxLDEyIEBAIGJvb2wgQVhJc29sYXRlZE9iamVj
dDo6aXNBY2Nlc3NpYmlsaXR5UHJvZ3Jlc3NJbmRpY2F0b3JJbnN0YW5jZSgpIGNvbnN0CiAgICAg
cmV0dXJuIGZhbHNlOwogfQogCitib29sIEFYSXNvbGF0ZWRPYmplY3Q6OmlzQWNjZXNzaWJpbGl0
eUxpc3RCb3hJbnN0YW5jZSgpIGNvbnN0Cit7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgcmV0dXJuIGZhbHNlOworfQorCiBib29sIEFYSXNvbGF0ZWRPYmplY3Q6OmlzQXR0YWNobWVu
dEVsZW1lbnQoKSBjb25zdAogewogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9i
amVjdC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29s
YXRlZE9iamVjdC5oCmluZGV4IGJmNjQ4NTMxYTlmNGIyZDMwMDRjZTM2Y2Q2YjE4YjJkMzA5OThk
MDYuLjdiNzVlM2NlNjg1ZjllNDM2ZTA1YzkzNjY1ZDNiNmRiYTkyODE0YmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmpl
Y3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkT2JqZWN0LmgKQEAgLTIxMiw3ICsyMTIsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgY2Fu
U2V0VmFsdWVBdHRyaWJ1dGUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBib29sQXR0cmlidXRl
VmFsdWUoQVhQcm9wZXJ0eU5hbWU6OkNhblNldFZhbHVlQXR0cmlidXRlKTsgfQogICAgIGJvb2wg
Y2FuU2V0TnVtZXJpY1ZhbHVlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gYm9vbEF0dHJpYnV0
ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpDYW5TZXROdW1lcmljVmFsdWUpOyB9CiAgICAgYm9vbCBj
YW5TZXRTZWxlY3RlZEF0dHJpYnV0ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRy
aWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6Q2FuU2V0U2VsZWN0ZWRBdHRyaWJ1dGUpOyB9Ci0g
ICAgYm9vbCBjYW5TZXRTZWxlY3RlZENoaWxkcmVuQXR0cmlidXRlKCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpDYW5TZXRTZWxlY3Rl
ZENoaWxkcmVuQXR0cmlidXRlKTsgfQorICAgIGJvb2wgY2FuU2V0U2VsZWN0ZWRDaGlsZHJlbigp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFt
ZTo6Q2FuU2V0U2VsZWN0ZWRDaGlsZHJlbik7IH0KICAgICBib29sIGNhblNldEV4cGFuZGVkQXR0
cmlidXRlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJv
cGVydHlOYW1lOjpDYW5TZXRFeHBhbmRlZEF0dHJpYnV0ZSk7IH0KICAgICBib29sIGFjY2Vzc2li
aWxpdHlJc0lnbm9yZWQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBib29sQXR0cmlidXRlVmFs
dWUoQVhQcm9wZXJ0eU5hbWU6OklzQWNjZXNzaWJpbGl0eUlnbm9yZWQpOyB9CiAgICAgYm9vbCBp
c1Nob3dpbmdWYWxpZGF0aW9uTWVzc2FnZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xB
dHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6SXNTaG93aW5nVmFsaWRhdGlvbk1lc3NhZ2Up
OyB9CkBAIC0zNDUsNiArMzQ1LDcgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbGFuZ3VhZ2UoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFt
ZTo6TGFuZ3VhZ2UpOyB9CiAgICAgYm9vbCBjYW5IYXZlU2VsZWN0ZWRDaGlsZHJlbigpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6Q2Fu
SGF2ZVNlbGVjdGVkQ2hpbGRyZW4pOyB9CiAgICAgdm9pZCBzZWxlY3RlZENoaWxkcmVuKEFjY2Vz
c2liaWxpdHlDaGlsZHJlblZlY3RvciYgY2hpbGRyZW4pIG92ZXJyaWRlIHsgZmlsbENoaWxkcmVu
VmVjdG9yRm9yUHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlNlbGVjdGVkQ2hpbGRyZW4sIGNoaWxk
cmVuKTsgfQorICAgIHZvaWQgc2V0U2VsZWN0ZWRDaGlsZHJlbihjb25zdCBBY2Nlc3NpYmlsaXR5
Q2hpbGRyZW5WZWN0b3ImKSBvdmVycmlkZTsKICAgICB2b2lkIHZpc2libGVDaGlsZHJlbihBY2Nl
c3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImIGNoaWxkcmVuKSBvdmVycmlkZSB7IGZpbGxDaGlsZHJl
blZlY3RvckZvclByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpWaXNpYmxlQ2hpbGRyZW4sIGNoaWxk
cmVuKTsgfQogICAgIHZvaWQgdGFiQ2hpbGRyZW4oQWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9y
JiBjaGlsZHJlbikgb3ZlcnJpZGUgeyBmaWxsQ2hpbGRyZW5WZWN0b3JGb3JQcm9wZXJ0eShBWFBy
b3BlcnR5TmFtZTo6VGFiQ2hpbGRyZW4sIGNoaWxkcmVuKTsgfQogICAgIGJvb2wgaGFzQVJJQVZh
bHVlTm93KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJv
cGVydHlOYW1lOjpIYXNBUklBVmFsdWVOb3cpOyB9CkBAIC00NzQsNiArNDc1LDcgQEAgcHJpdmF0
ZToKICAgICBib29sIGlzQWNjZXNzaWJpbGl0eVRhYmxlSW5zdGFuY2UoKSBjb25zdCBvdmVycmlk
ZTsKICAgICBib29sIGlzQWNjZXNzaWJpbGl0eVRhYmxlQ29sdW1uSW5zdGFuY2UoKSBjb25zdCBv
dmVycmlkZTsKICAgICBib29sIGlzQWNjZXNzaWJpbGl0eVByb2dyZXNzSW5kaWNhdG9ySW5zdGFu
Y2UoKSBjb25zdCBvdmVycmlkZTsKKyAgICBib29sIGlzQWNjZXNzaWJpbGl0eUxpc3RCb3hJbnN0
YW5jZSgpIGNvbnN0IG92ZXJyaWRlOwogCiAgICAgYm9vbCBpc0F0dGFjaG1lbnRFbGVtZW50KCkg
Y29uc3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBpc05hdGl2ZUltYWdlKCkgY29uc3Qgb3ZlcnJpZGU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9B
WElzb2xhdGVkVHJlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVk
dHJlZS9BWElzb2xhdGVkVHJlZS5jcHAKaW5kZXggY2ExN2Q3MDRhMmE3YjcxYzA0OTg5MjMwZjcy
ODhjZWYxNDEyNzM4MS4uNzc0ZWIwYjgzNzNhYjZhZmMzNTMxMmNmZTQ1ODhmNjVlMzZlZTVmMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJ
c29sYXRlZFRyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcApAQCAtMTM0LDcgKzEzNCw3IEBAIFJlZlB0cjxBWElz
b2xhdGVkT2JqZWN0PiBBWElzb2xhdGVkVHJlZTo6bm9kZUZvcklEKEFYSUQgYXhJRCkgY29uc3QK
ICAgICByZXR1cm4gYXhJRCAhPSBJbnZhbGlkQVhJRCA/IG1fcmVhZGVyVGhyZWFkTm9kZU1hcC5n
ZXQoYXhJRCkgOiBudWxscHRyOwogfQogCi1WZWN0b3I8UmVmUHRyPEFYQ29yZU9iamVjdD4+IEFY
SXNvbGF0ZWRUcmVlOjpvYmplY3RzRm9ySURzKFZlY3RvcjxBWElEPiBheElEcykgY29uc3QKK1Zl
Y3RvcjxSZWZQdHI8QVhDb3JlT2JqZWN0Pj4gQVhJc29sYXRlZFRyZWU6Om9iamVjdHNGb3JJRHMo
Y29uc3QgVmVjdG9yPEFYSUQ+JiBheElEcykgY29uc3QKIHsKICAgICBBWFRSQUNFKCJBWElzb2xh
dGVkVHJlZTo6b2JqZWN0c0ZvcklEcyIpOwogICAgIFZlY3RvcjxSZWZQdHI8QVhDb3JlT2JqZWN0
Pj4gcmVzdWx0OwpAQCAtMTQ4LDYgKzE0OCwxMyBAQCBWZWN0b3I8UmVmUHRyPEFYQ29yZU9iamVj
dD4+IEFYSXNvbGF0ZWRUcmVlOjpvYmplY3RzRm9ySURzKFZlY3RvcjxBWElEPiBheElEcykgYwog
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKK1ZlY3RvcjxBWElEPiBBWElzb2xhdGVkVHJlZTo6aWRz
Rm9yT2JqZWN0cyhjb25zdCBWZWN0b3I8UmVmUHRyPEFYQ29yZU9iamVjdD4+JiBvYmplY3RzKSBj
b25zdAoreworICAgIHJldHVybiBvYmplY3RzLm1hcChbXSAoY29uc3QgUmVmUHRyPEFYQ29yZU9i
amVjdD4mIG9iamVjdCkgLT4gQVhJRCB7CisgICAgICAgIHJldHVybiBvYmplY3QgPyBvYmplY3Qt
Pm9iamVjdElEKCkgOiBJbnZhbGlkQVhJRDsKKyAgICB9KTsKK30KKwogdm9pZCBBWElzb2xhdGVk
VHJlZTo6dXBkYXRlQ2hpbGRyZW5JRHMoQVhJRCBheElELCBWZWN0b3I8QVhJRD4mJiBjaGlsZHJl
bklEcykKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgK
aW5kZXggOTY5YWRiMWU3NDU2Y2JiNjAwZTE3ZGYxN2QxMDIyZmY1ZDA5MWY1MS4uYWEyOGQxOTg1
YWRhYzQ4NGY0Yzc1MDVmZjAyNjU1NDdlZDA0MWEyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCkBA
IC03NCw3ICs3NCw3IEBAIGVudW0gY2xhc3MgQVhQcm9wZXJ0eU5hbWUgOiB1aW50MTZfdCB7CiAg
ICAgQ2FuU2V0Rm9jdXNBdHRyaWJ1dGUsCiAgICAgQ2FuU2V0TnVtZXJpY1ZhbHVlLAogICAgIENh
blNldFNlbGVjdGVkQXR0cmlidXRlLAotICAgIENhblNldFNlbGVjdGVkQ2hpbGRyZW5BdHRyaWJ1
dGUsCisgICAgQ2FuU2V0U2VsZWN0ZWRDaGlsZHJlbiwKICAgICBDYW5TZXRUZXh0UmFuZ2VBdHRy
aWJ1dGVzLAogICAgIENhblNldFZhbHVlQXR0cmlidXRlLAogICAgIENhbnZhc0hhc0ZhbGxiYWNr
Q29udGVudCwKQEAgLTMzNCw3ICszMzQsOCBAQCBwdWJsaWM6CiAgICAgUmVmUHRyPEFYSXNvbGF0
ZWRPYmplY3Q+IHJvb3ROb2RlKCk7CiAgICAgUmVmUHRyPEFYSXNvbGF0ZWRPYmplY3Q+IGZvY3Vz
ZWROb2RlKCk7CiAgICAgUmVmUHRyPEFYSXNvbGF0ZWRPYmplY3Q+IG5vZGVGb3JJRChBWElEKSBj
b25zdDsKLSAgICBWZWN0b3I8UmVmUHRyPEFYQ29yZU9iamVjdD4+IG9iamVjdHNGb3JJRHMoVmVj
dG9yPEFYSUQ+KSBjb25zdDsKKyAgICBWZWN0b3I8UmVmUHRyPEFYQ29yZU9iamVjdD4+IG9iamVj
dHNGb3JJRHMoY29uc3QgVmVjdG9yPEFYSUQ+JikgY29uc3Q7CisgICAgVmVjdG9yPEFYSUQ+IGlk
c0Zvck9iamVjdHMoY29uc3QgVmVjdG9yPFJlZlB0cjxBWENvcmVPYmplY3Q+PiYpIGNvbnN0Owog
CiAgICAgc3RydWN0IE5vZGVDaGFuZ2UgewogICAgICAgICBSZWY8QVhJc29sYXRlZE9iamVjdD4g
aXNvbGF0ZWRPYmplY3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCmlu
ZGV4IGY0ZGNkNGNjYzVhY2I0NmRlZDBkMDEyYjg1ZjFmNmNkZGNmZTlhNGUuLmU4M2YwYTFiYTVi
MDY4NzRiMjBlZTRiNTI1Y2ZjMDgwYjRkNzJhMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmpl
Y3RXcmFwcGVyTWFjLm1tCkBAIC0zMTYxLDcgKzMxNjEsNyBAQCBBTExPV19ERVBSRUNBVEVEX0lN
UExFTUVOVEFUSU9OU19FTkQKICAgICAgICAgcmV0dXJuIGJhY2tpbmdPYmplY3QtPmNhblNldFNl
bGVjdGVkQXR0cmlidXRlKCk7CiAKICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3Ry
aW5nOiBOU0FjY2Vzc2liaWxpdHlTZWxlY3RlZENoaWxkcmVuQXR0cmlidXRlXSkKLSAgICAgICAg
cmV0dXJuIGJhY2tpbmdPYmplY3QtPmNhblNldFNlbGVjdGVkQ2hpbGRyZW5BdHRyaWJ1dGUoKTsK
KyAgICAgICAgcmV0dXJuIGJhY2tpbmdPYmplY3QtPmNhblNldFNlbGVjdGVkQ2hpbGRyZW4oKTsK
IAogICAgIGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6TlNBY2Nlc3NpYmlsaXR5
RGlzY2xvc2luZ0F0dHJpYnV0ZV0KICAgICAgICAgfHwgW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRv
U3RyaW5nOk5TQWNjZXNzaWJpbGl0eUV4cGFuZGVkQXR0cmlidXRlXSkKQEAgLTM1NDksMTQgKzM1
NDksMTMgQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNfRU5ECiAgICAgICAgIGlm
ICghbnVtYmVyKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBiYWNraW5nT2JqZWN0LT5z
ZXRTZWxlY3RlZChbbnVtYmVyIGJvb2xWYWx1ZV0pOwotICAgIH0gZWxzZSBpZiAoW2F0dHJpYnV0
ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlTZWxlY3RlZENoaWxkcmVuQXR0
cmlidXRlXSkgewotICAgICAgICBpZiAoIWFycmF5KQorICAgIH0gZWxzZSBpZiAoW2F0dHJpYnV0
ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOk5TQWNjZXNzaWJpbGl0eVNlbGVjdGVkQ2hpbGRyZW5BdHRy
aWJ1dGVdKSB7CisgICAgICAgIGlmICghYXJyYXkgfHwgIWJhY2tpbmdPYmplY3QtPmNhblNldFNl
bGVjdGVkQ2hpbGRyZW4oKSkKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgaWYgKCFiYWNr
aW5nT2JqZWN0LT5pc05hdGl2ZUxpc3RCb3goKSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgQWNjZXNzaWJpbGl0eU9iamVjdDo6QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yIHNlbGVj
dGVkQ2hpbGRyZW47CisKKyAgICAgICAgQVhDb3JlT2JqZWN0OjpBY2Nlc3NpYmlsaXR5Q2hpbGRy
ZW5WZWN0b3Igc2VsZWN0ZWRDaGlsZHJlbjsKICAgICAgICAgY29udmVydFRvVmVjdG9yKGFycmF5
LCBzZWxlY3RlZENoaWxkcmVuKTsKLSAgICAgICAgZG93bmNhc3Q8QWNjZXNzaWJpbGl0eUxpc3RC
b3g+KCpiYWNraW5nT2JqZWN0KS5zZXRTZWxlY3RlZENoaWxkcmVuKHNlbGVjdGVkQ2hpbGRyZW4p
OworICAgICAgICBiYWNraW5nT2JqZWN0LT5zZXRTZWxlY3RlZENoaWxkcmVuKHNlbGVjdGVkQ2hp
bGRyZW4pOwogICAgIH0gZWxzZSBpZiAoYmFja2luZ09iamVjdC0+aXNUZXh0Q29udHJvbCgpKSB7
CiAgICAgICAgIGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJp
bGl0eVNlbGVjdGVkVGV4dEF0dHJpYnV0ZV0pIHsKICAgICAgICAgICAgIGJhY2tpbmdPYmplY3Qt
PnNldFNlbGVjdGVkVGV4dChzdHJpbmcpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGM3YTdiZDk4MmUxNmE0YmE3NmI5M2M1
ZWJhYzZlZWQ0NWE2MzI3NzEuLjZhNzMzZDcyNzM4ZGIyZjA3MDc5OGJlYTc0YjllYmY1ZTM1OTZj
MTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAyMC0xMC0xMCAgQW5kcmVzIEdvbnphbGV6ICA8
YW5kcmVzZ18yMkBhcHBsZS5jb20+CisKKyAgICAgICAgWyBtYWNPUyBdIGFjY2Vzc2liaWxpdHkv
bWFjL3NlbGVjdC1lbGVtZW50LXNlbGVjdGlvbi13aXRoLW9wdGdyb3Vwcy5odG1sIGlzIGEgZmxh
a3kgZmFpbHVyZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjE1NjQ5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NzQwNjE0OD4KKworICAgICAgICBS
ZXZpZXdlZCBieSBDaHJpcyBGbGVpemFjaC4KKworICAgICAgICBVc2VzIFByb21pc2VzIHRvIG1h
a2UgdGVzdCBkZXRlcm1pbmlzdGljLiBBbHNvIHdhaXRzIGZvciB0aGUgY29ycmVjdCBldmVudAor
ICAgICAgICBzaW5jZSBzZWxlY3RlZENoaWxkcmVuQ291bnQgaXMgbm90IHRoZSByaWdodCBpbmRp
Y2F0aW9uIHRoYXQgdGhlCisgICAgICAgIGV4cGVjdGVkIHVwZGF0ZSBoYXBwZW5lZC4KKworICAg
ICAgICAqIGFjY2Vzc2liaWxpdHkvbWFjL3NlbGVjdC1lbGVtZW50LXNlbGVjdGlvbi13aXRoLW9w
dGdyb3Vwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9tYWMvc2VsZWN0
LWVsZW1lbnQtc2VsZWN0aW9uLXdpdGgtb3B0Z3JvdXBzLmh0bWw6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6IE5vIGxvbmdlciBmbGFreS4KKwogMjAyMC0xMC0xMiAg
TWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgSW1wcm92
ZSBzZXJpYWxpemF0aW9uIG9mIHNjcm9sbC1zbmFwLXR5cGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvbWFjL3NlbGVjdC1lbGVtZW50LXNlbGVjdGlvbi13aXRoLW9wdGdy
b3Vwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9zZWxlY3Qt
ZWxlbWVudC1zZWxlY3Rpb24td2l0aC1vcHRncm91cHMtZXhwZWN0ZWQudHh0CmluZGV4IGI2MzQz
YzFmZjJlNjM3MTVkOWJhYzVkMGY3YTBkMjllZjU5N2NiNDAuLmJlZWM1MmVlYzBhOTdiNDFkOWRi
YWRlMTY0N2M4NmEyNjY2M2U2Y2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvbWFjL3NlbGVjdC1lbGVtZW50LXNlbGVjdGlvbi13aXRoLW9wdGdyb3Vwcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvc2VsZWN0LWVsZW1lbnQtc2Vs
ZWN0aW9uLXdpdGgtb3B0Z3JvdXBzLWV4cGVjdGVkLnR4dApAQCAtNSwxMSArNSw4IEBAIE9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFCiAKIAogUEFTUyBzZWxlY3RFbGVtZW50LnNlbGVjdGVkQ2hpbGRy
ZW5Db3VudCBpcyAwCi1QQVNTIHNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50IGJl
Y2FtZSAxCiBQQVNTIHNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZEF0SW5kZXgoMCkuaXNFcXVh
bChvcHRpb24xKSBpcyB0cnVlCi1QQVNTIHNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJlbkNv
dW50IGJlY2FtZSAxCiBQQVNTIHNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZEF0SW5kZXgoMCku
aXNFcXVhbChvcHRpb24yKSBpcyB0cnVlCi1QQVNTIHNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGls
ZHJlbkNvdW50IGJlY2FtZSAxCiBQQVNTIHNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZEF0SW5k
ZXgoMCkuaXNFcXVhbChvcHRpb24zKSBpcyB0cnVlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBp
cyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvbWFjL3NlbGVj
dC1lbGVtZW50LXNlbGVjdGlvbi13aXRoLW9wdGdyb3Vwcy5odG1sIGIvTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9tYWMvc2VsZWN0LWVsZW1lbnQtc2VsZWN0aW9uLXdpdGgtb3B0Z3JvdXBzLmh0
bWwKaW5kZXggNzAxNGY5NjQyYmYzMzAxNGVkZTM1YzlmNDMwZjMxN2FmZDYyNDJiOS4uYTY2OTY2
MzFmYzcwYzM1ZWNkYjU2OTU3Mzg1ZjhkZDI1OTY2NWM4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9tYWMvc2VsZWN0LWVsZW1lbnQtc2VsZWN0aW9uLXdpdGgtb3B0Z3Jv
dXBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9tYWMvc2VsZWN0LWVsZW1l
bnQtc2VsZWN0aW9uLXdpdGgtb3B0Z3JvdXBzLmh0bWwKQEAgLTIsNiArMiw3IEBACiA8aHRtbD4K
IDxoZWFkPgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2FjY2Vzc2liaWxpdHktaGVscGVy
LmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IGlkPSJib2R5Ij4KIApAQCAtMjcsMzQgKzI4
LDM5IEBAIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoYXQgc2V0dGluZyBzZWxlY3Rpb24gd2l0
aGluIGEgbGlzdCBib3ggd29ya3MgY29ycmVjdGx5CiBpZiAod2luZG93LmFjY2Vzc2liaWxpdHlD
b250cm9sbGVyKSB7CiAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJzdWl0ZSIpLmZvY3VzKCk7Ci0gICAgdmFyIHNlbGVjdEVsZW1l
bnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKIAorICAgIHdpbmRv
dy5zZWxlY3RFbGVtZW50ID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuZm9jdXNlZEVsZW1lbnQ7
CiAgICAgc2hvdWxkQmUoInNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50IiwgIjAi
KTsKIAotICAgIHZhciBvcHRpb24xID0gc2VsZWN0RWxlbWVudC5jaGlsZEF0SW5kZXgoMSk7Ci0g
ICAgdmFyIG9wdGlvbjIgPSBzZWxlY3RFbGVtZW50LmNoaWxkQXRJbmRleCgyKTsKLSAgICB2YXIg
b3B0aW9uMyA9IHNlbGVjdEVsZW1lbnQuY2hpbGRBdEluZGV4KDQpOworICAgIHdpbmRvdy5vcHRp
b24xID0gc2VsZWN0RWxlbWVudC5jaGlsZEF0SW5kZXgoMSk7CisgICAgd2luZG93Lm9wdGlvbjIg
PSBzZWxlY3RFbGVtZW50LmNoaWxkQXRJbmRleCgyKTsKKyAgICB3aW5kb3cub3B0aW9uMyA9IHNl
bGVjdEVsZW1lbnQuY2hpbGRBdEluZGV4KDQpOwogCiAgICAgLy8gU2VsZWN0aW9uIG9wZXJhdGlv
bnMgaGFwcGVuIGFmdGVyIGEgZGVsYXkgc28gdGhleSBkb24ndCBoYW5nLiBDaGVjayB0aGUgcmVz
dWx0IG9uIGEgdGltZW91dC4KICAgICBzZWxlY3RFbGVtZW50LnNldFNlbGVjdGVkQ2hpbGQob3B0
aW9uMSk7Ci0gICAgc2hvdWxkQmVjb21lRXF1YWwoInNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGls
ZHJlbkNvdW50IiwgIjEiLCBmdW5jdGlvbigpIHsKKyAgICBzZXRUaW1lb3V0KGFzeW5jIGZ1bmN0
aW9uKCkgeworICAgICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHsKKyAgICAgICAgICAgIHJldHVy
biBzZWxlY3RFbGVtZW50LnNlbGVjdGVkQ2hpbGRBdEluZGV4KDApLmlzRXF1YWwob3B0aW9uMSk7
CisgICAgICAgIH0pOwogICAgICAgICBzaG91bGRCZVRydWUoInNlbGVjdEVsZW1lbnQuc2VsZWN0
ZWRDaGlsZEF0SW5kZXgoMCkuaXNFcXVhbChvcHRpb24xKSIpOwogCiAgICAgICAgIHNlbGVjdEVs
ZW1lbnQuc2V0U2VsZWN0ZWRDaGlsZChvcHRpb24yKTsKLSAgICAgICAgc2hvdWxkQmVjb21lRXF1
YWwoInNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50IiwgIjEiLCBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJzZWxlY3RFbGVtZW50LnNlbGVjdGVkQ2hpbGRB
dEluZGV4KDApLmlzRXF1YWwob3B0aW9uMikiKTsKLQotICAgICAgICAgICAgc2VsZWN0RWxlbWVu
dC5zZXRTZWxlY3RlZENoaWxkKG9wdGlvbjMpOwotICAgICAgICAgICAgc2hvdWxkQmVjb21lRXF1
YWwoInNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50IiwgIjEiLCBmdW5jdGlvbigp
IHsKLSAgICAgICAgICAgICAgICBzaG91bGRCZVRydWUoInNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRD
aGlsZEF0SW5kZXgoMCkuaXNFcXVhbChvcHRpb24zKSIpOwotICAgICAgICAgICAgICAgIGZpbmlz
aEpTVGVzdCgpOwotICAgICAgICAgICAgfSk7CisgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4g
eworICAgICAgICAgICAgcmV0dXJuIHNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZEF0SW5kZXgo
MCkuaXNFcXVhbChvcHRpb24yKTsKKyAgICAgICAgfSk7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgi
c2VsZWN0RWxlbWVudC5zZWxlY3RlZENoaWxkQXRJbmRleCgwKS5pc0VxdWFsKG9wdGlvbjIpIik7
CisKKyAgICAgICAgc2VsZWN0RWxlbWVudC5zZXRTZWxlY3RlZENoaWxkKG9wdGlvbjMpOworICAg
ICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHsKKyAgICAgICAgICAgIHJldHVybiBzZWxlY3RFbGVt
ZW50LnNlbGVjdGVkQ2hpbGRBdEluZGV4KDApLmlzRXF1YWwob3B0aW9uMyk7CiAgICAgICAgIH0p
OwotICAgIH0pOworICAgICAgICBzaG91bGRCZVRydWUoInNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRD
aGlsZEF0SW5kZXgoMCkuaXNFcXVhbChvcHRpb24zKSIpOworCisgICAgICAgIGZpbmlzaEpTVGVz
dCgpOworICAgIH0sIDApOwogfSBlbHNlCiAgICAgZGVidWcoIndpbmRvdy5hY2Nlc3NpYmlsaXR5
Q29udHJvbGxlciBpcyBub3QgcHJlc2VudCIpOwogPC9zY3JpcHQ+Ci0KIDxzY3JpcHQgc3JjPSIu
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KIDwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25z
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZWFiYzMx
OWFjMWQzM2ZhNjM5MDA5OWEwZTdkNGRiYzNjOGUyNzFiNi4uNmM4ZjYwMTgwZTAxMDdiNmM5NDE3
MTQxNzk1NmZlYTQ2MjA3MmRmZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTIxNTEsOCArMjE1MSw2IEBAIHdlYmtpdC5vcmcvYi8yMTU1ODMgbWVkaWEv
dHJhY2svdHJhY2staW4tYmFuZC1zdHlsZS5odG1sIFsgUGFzcyBGYWlsdXJlIFRpbWVvdXQKIAog
d2Via2l0Lm9yZy9iLzIxNTU4NyBtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvdm9sdW1lLWRv
d24tc3VwcG9ydC92b2x1bWUtZG93bi1zdXBwb3J0Lmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogCi13
ZWJraXQub3JnL2IvMjE1NjQ5IGFjY2Vzc2liaWxpdHkvbWFjL3NlbGVjdC1lbGVtZW50LXNlbGVj
dGlvbi13aXRoLW9wdGdyb3Vwcy5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLQogd2Via2l0Lm9yZy9i
LzIxNTcyMyBmYXN0L3JlcGFpbnQvbGlzdC1pdGVtLWVxdWFsLXN0eWxlLWNoYW5nZS1uby1yZXBh
aW50Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMTg5NjcyIFsgUmVsZWFz
ZSBdIHdlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi90ZXh0dXJlcy9jYW52YXMvdGV4LTJkLXJnMzJm
LXJnLWZsb2F0Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>