<?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>246135</bug_id>
          
          <creation_ts>2022-10-05 23:42:45 -0700</creation_ts>
          <short_desc>AX: The isolated tree doesn&apos;t update in response to HTMLOptionElement::setSelectedState changes</short_desc>
          <delta_ts>2022-10-07 10:44:42 -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>
          
          
          <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="Tyler Wilcock">tyler_w</reporter>
          <assigned_to name="Tyler Wilcock">tyler_w</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cdumez</cc>
    
    <cc>cfleizach</cc>
    
    <cc>changseok</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>mifenton</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1903673</commentid>
    <comment_count>0</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-10-05 23:42:45 -0700</bug_when>
    <thetext>AX: The isolated tree doesn&apos;t update in response to HTMLOptionElement::setSelectedState changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1903674</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-10-05 23:42:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/100839849&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1903675</commentid>
    <comment_count>2</comment_count>
      <attachid>462829</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-10-05 23:52:12 -0700</bug_when>
    <thetext>Created attachment 462829
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1903742</commentid>
    <comment_count>3</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2022-10-06 07:14:28 -0700</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #2)
&gt; Created attachment 462829 [details]
&gt; Patch

--- a/Source/WebCore/accessibility/AXObjectCache.cpp
+++ a/Source/WebCore/accessibility/AXObjectCache.cpp

+bool isARIATableCell(Node* node)

Make it a static function like isSimpleImage.

--- a/Source/WebCore/accessibility/AXObjectCache.h
+++ a/Source/WebCore/accessibility/AXObjectCache.h

+    void selectedStateChanged(Node*);

Rename to onSelectedStateChange.

--- a/Source/WebCore/accessibility/ios/AXObjectCacheIOS.mm
+++ a/Source/WebCore/accessibility/ios/AXObjectCacheIOS.mm

-    if (notificationName.isNull())
+    if (notificationName.isNull() || (notificationName == SelectedCellsChangedNotificationName &amp;&amp; !isARIATableCell(object-&gt;node())))
         return;

Why do we want to suppress this notification here? If we don&apos;t want an iOS client to react to it, we should ignore it closer to the client, maybe in the system bundle.

--- a/Source/WebCore/accessibility/mac/AXObjectCacheMac.mm
+++ a/Source/WebCore/accessibility/mac/AXObjectCacheMac.mm

     case AXSelectedStateChanged:
-        macNotification = NSAccessibilitySelectedCellsChangedNotification;
-        break;
+        if (isARIATableCell(object-&gt;node())) {
+            macNotification = NSAccessibilitySelectedCellsChangedNotification;
+            break;
+        }
+        return;

If we want to distinguish SelectedState from SelectedCells for table cells, we should add a new AXSelectedCellsChanged, so that we shouldn&apos;t need to call isARIATableCell(object-&gt;node()) here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1903825</commentid>
    <comment_count>4</comment_count>
      <attachid>462843</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2022-10-06 11:59:34 -0700</bug_when>
    <thetext>Created attachment 462843
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1904084</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-10-07 10:44:38 -0700</bug_when>
    <thetext>Committed 255279@main (1aa25b42a5eb): &lt;https://commits.webkit.org/255279@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 462843.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>462829</attachid>
            <date>2022-10-05 23:52:12 -0700</date>
            <delta_ts>2022-10-06 11:59:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-246135-20221005235212.patch</filename>
            <type>text/plain</type>
            <size>17526</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">RnJvbSBkZjQzNGU1NTg1YjY5MzM3MDcxYjBiMDUyYTExYzMxMDQ3OGRiODM5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUeWxlciBXaWxjb2NrIDx0eWxlcl93QGFwcGxlLmNvbT4KRGF0
ZTogV2VkLCA1IE9jdCAyMDIyIDIzOjQyOjUwIC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gQVg6IFRo
ZSBpc29sYXRlZCB0cmVlIGRvZXNuJ3QgdXBkYXRlIGluIHJlc3BvbnNlIHRvCiBIVE1MT3B0aW9u
RWxlbWVudDo6c2V0U2VsZWN0ZWRTdGF0ZSBjaGFuZ2VzCiBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjQ2MTM1IHJkYXI6Ly9wcm9ibGVtLzEwMDgzOTg0OQoKUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCgoqIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHktaXNvbGF0
ZWQtdHJlZS9UZXN0RXhwZWN0YXRpb25zOgpNYXJrIGFjY2Vzc2liaWxpdHkvc2VsZWN0LWVsZW1l
bnQtYXQtaW5kZXguaHRtbCBhcyBmaXhlZC4KKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3Nl
bGVjdC1lbGVtZW50LWF0LWluZGV4LWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L3NlbGVjdC1lbGVtZW50LWF0LWluZGV4Lmh0bWw6Ck1ha2UgdGVzdCBhc3luYyBzbyBp
dCBjYW4gcGFzcyBpbiBJVE0uCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVj
dENhY2hlLmNwcDoKKFdlYkNvcmU6OmlzQVJJQVRhYmxlQ2VsbCk6IEFkZGVkLgooV2ViQ29yZTo6
QVhPYmplY3RDYWNoZTo6c2VsZWN0ZWRTdGF0ZUNoYW5nZWQpOgpBbHNvIHBvc3QgQVhTZWxlY3Rl
ZFN0YXRlQ2hhbmdlZCBmb3Igb3B0aW9uIGVsZW1lbnRzLgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhPYmplY3RDYWNoZS5oOgooV2ViQ29yZTo6aXNBUklBVGFibGVDZWxsKTogQWRk
ZWQuCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvQVhPYmplY3RDYWNoZUlPUy5t
bToKKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6Om5vdGlmaWNhdGlvblBsYXRmb3JtTmFtZSk6Ck9u
bHkgcG9zdCBBWFNlbGVjdGVkQ2VsbHNDaGFuZ2VkIGlmIHRoZSBvYmplY3QgaXMgYmFja2VkIGJ5
IGFuIEFSSUEKdGFibGUgY2VsbCBlbGVtZW50LiBUaGlzIGlzIHJlbGV2YW50IHRvIHRoaXMgcGF0
Y2ggYmVjYXVzZSB3ZSBub3cgcG9zdApBWFNlbGVjdGVkU3RhdGVDaGFuZ2VkIGZvciBub24gQVJJ
QSB0YWJsZSBjZWxsIGVsZW1lbnRzLgooV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdFBsYXRm
b3JtTm90aWZpY2F0aW9uKToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9i
amVjdENhY2hlTWFjLm1tOgooV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90
aWZpY2F0aW9uKToKT25seSBwb3N0IE5TQWNjZXNzaWJpbGl0eVNlbGVjdGVkQ2VsbHNDaGFuZ2Vk
Tm90aWZpY2F0aW9uIGlmIHRoZSBvYmplY3QgaXMgYmFja2VkIGJ5IGFuIEFSSUEKdGFibGUgY2Vs
bCBlbGVtZW50LgoqIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwOgoo
V2ViQ29yZTo6SFRNTE9wdGlvbkVsZW1lbnQ6OnNldFNlbGVjdGVkU3RhdGUpOgpSZW1vdmUgI2lm
IFBMQVRGT1JNKEFUU1BJKSBndWFyZGluZyB0aGUgY2FjaGUgdXBkYXRlLgotLS0KIC4uLi9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgICB8ICAxMCArLQogU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmggIHwgICA0ICstCiAuLi4vYWNjZXNz
aWJpbGl0eS9pb3MvQVhPYmplY3RDYWNoZUlPUy5tbSAgICAgfCAgIDggKy0KIC4uLi9hY2Nlc3Np
YmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tICAgICB8ICAgNyArLQogU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MT3B0aW9uRWxlbWVudC5jcHAgICAgIHwgICA0ICstCiAuLi4vVGVzdEV4cGVj
dGF0aW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgLQogLi4uL3NlbGVjdC1lbGVt
ZW50LWF0LWluZGV4LWV4cGVjdGVkLnR4dCAgICAgIHwgIDUzICsrKysrLS0tLQogLi4uL3NlbGVj
dC1lbGVtZW50LWF0LWluZGV4Lmh0bWwgICAgICAgICAgICAgIHwgMTA3ICsrKysrKysrKystLS0t
LS0tLQogOCBmaWxlcyBjaGFuZ2VkLCAxMTIgaW5zZXJ0aW9ucygrKSwgODIgZGVsZXRpb25zKC0p
CgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKaW5k
ZXggOWVlMjg1Y2Q3ZTk1Li43OGYwYjcyM2MyNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNwcApAQCAtNTU3LDYgKzU1NywxMSBAQCBib29sIG5v
ZGVIYXNSb2xlKE5vZGUqIG5vZGUsIFN0cmluZ1ZpZXcgcm9sZSkKICAgICByZXR1cm4gU3BhY2VT
cGxpdFN0cmluZzo6c3BhY2VTcGxpdFN0cmluZ0NvbnRhaW5zVmFsdWUocm9sZVZhbHVlLCByb2xl
LCBTcGFjZVNwbGl0U3RyaW5nOjpTaG91bGRGb2xkQ2FzZTo6WWVzKTsKIH0KIAorYm9vbCBpc0FS
SUFUYWJsZUNlbGwoTm9kZSogbm9kZSkKK3sKKyAgICByZXR1cm4gbm9kZSAmJiAobm9kZUhhc1Jv
bGUobm9kZSwgImdyaWRjZWxsIl9zKSB8fCBub2RlSGFzUm9sZShub2RlLCAiY2VsbCJfcykgfHwg
bm9kZUhhc1JvbGUobm9kZSwgImNvbHVtbmhlYWRlciJfcykgfHwgbm9kZUhhc1JvbGUobm9kZSwg
InJvd2hlYWRlciJfcykpOworfQorCiBzdGF0aWMgYm9vbCBpc1NpbXBsZUltYWdlKGNvbnN0IFJl
bmRlck9iamVjdCYgcmVuZGVyZXIpCiB7CiAgICAgaWYgKCFpczxSZW5kZXJJbWFnZT4ocmVuZGVy
ZXIpKQpAQCAtMTQzNiwxMCArMTQ0MSw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6c2VsZWN0ZWRD
aGlsZHJlbkNoYW5nZWQoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKIAogdm9pZCBBWE9iamVjdENh
Y2hlOjpzZWxlY3RlZFN0YXRlQ2hhbmdlZChOb2RlKiBub2RlKQogewotICAgIC8vIEZvciBhIHRh
YmxlIGNlbGwsIHBvc3QgQVhTZWxlY3RlZFN0YXRlQ2hhbmdlZCBvbiB0aGUgY2VsbCBpdHNlbGYu
Ci0gICAgLy8gRm9yIGFueSBvdGhlciBlbGVtZW50LCBwb3N0IEFYU2VsZWN0ZWRDaGlsZHJlbkNo
YW5nZWQgb24gdGhlIHBhcmVudC4KLSAgICBpZiAobm9kZUhhc1JvbGUobm9kZSwgImdyaWRjZWxs
Il9zKSB8fCBub2RlSGFzUm9sZShub2RlLCAiY2VsbCJfcykKLSAgICAgICAgfHwgbm9kZUhhc1Jv
bGUobm9kZSwgImNvbHVtbmhlYWRlciJfcykgfHwgbm9kZUhhc1JvbGUobm9kZSwgInJvd2hlYWRl
ciJfcykpCisgICAgaWYgKGlzPEhUTUxPcHRpb25FbGVtZW50Pihub2RlKSB8fCBpc0FSSUFUYWJs
ZUNlbGwobm9kZSkpCiAgICAgICAgIHBvc3ROb3RpZmljYXRpb24obm9kZSwgQVhTZWxlY3RlZFN0
YXRlQ2hhbmdlZCk7CiAgICAgZWxzZQogICAgICAgICBzZWxlY3RlZENoaWxkcmVuQ2hhbmdlZChu
b2RlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RD
YWNoZS5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKaW5k
ZXggZTMxYTFjMmM3M2EwLi5kN2U4N2E4MjAxODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQVhPYmplY3RDYWNoZS5oCkBAIC0xODYsNiArMTg2LDcgQEAgcHVibGljOgogICAg
IHZvaWQgY2hpbGRyZW5DaGFuZ2VkKE5vZGUqLCBOb2RlKiBuZXdDaGlsZCA9IG51bGxwdHIpOwog
ICAgIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKFJlbmRlck9iamVjdCosIFJlbmRlck9iamVjdCogbmV3
Q2hpbGQgPSBudWxscHRyKTsKICAgICB2b2lkIGNoaWxkcmVuQ2hhbmdlZChBY2Nlc3NpYmlsaXR5
T2JqZWN0Kik7CisgICAgdm9pZCBzZWxlY3RlZFN0YXRlQ2hhbmdlZChOb2RlKik7CiAgICAgdm9p
ZCB2YWx1ZUNoYW5nZWQoRWxlbWVudCopOwogICAgIHZvaWQgY2hlY2tlZFN0YXRlQ2hhbmdlZChO
b2RlKik7CiAgICAgdm9pZCBhdXRvZmlsbFR5cGVDaGFuZ2VkKE5vZGUqKTsKQEAgLTQ5OCw3ICs0
OTksNiBAQCBwcml2YXRlOgogICAgIGJvb2wgc2hvdWxkUHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShF
bGVtZW50KiwgY29uc3QgUXVhbGlmaWVkTmFtZSYpOwogICAgIHZvaWQgc2VsZWN0ZWRDaGlsZHJl
bkNoYW5nZWQoTm9kZSopOwogICAgIHZvaWQgc2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQoUmVuZGVy
T2JqZWN0Kik7Ci0gICAgdm9pZCBzZWxlY3RlZFN0YXRlQ2hhbmdlZChOb2RlKik7CiAKICAgICB2
b2lkIGhhbmRsZUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkKEVsZW1lbnQmKTsKIApAQCAtNjE2LDYg
KzYxNiw3IEBAIHByaXZhdGU6CiB9OwogCiBib29sIG5vZGVIYXNSb2xlKE5vZGUqLCBTdHJpbmdW
aWV3IHJvbGUpOworYm9vbCBpc0FSSUFUYWJsZUNlbGwoTm9kZSopOwogLy8gVGhpcyB3aWxsIGxl
dCB5b3Uga25vdyBpZiBhcmlhLWhpZGRlbiB3YXMgZXhwbGljaXRseSBzZXQgdG8gZmFsc2UuCiBi
b29sIGlzTm9kZUFyaWFWaXNpYmxlKE5vZGUqKTsKICAgICAKQEAgLTY0MCw2ICs2NDEsNyBAQCBp
bmxpbmUgdm9pZCBBWE9iamVjdENhY2hlOjplbmFibGVBY2Nlc3NpYmlsaXR5KCkgeyB9CiBpbmxp
bmUgdm9pZCBBWE9iamVjdENhY2hlOjpkaXNhYmxlQWNjZXNzaWJpbGl0eSgpIHsgfQogaW5saW5l
IHZvaWQgQVhPYmplY3RDYWNoZTo6c2V0RW5oYW5jZWRVc2VySW50ZXJmYWNlQWNjZXNzaWJpbGl0
eShib29sKSB7IH0KIGlubGluZSBib29sIG5vZGVIYXNSb2xlKE5vZGUqLCBTdHJpbmdWaWV3KSB7
IHJldHVybiBmYWxzZTsgfQoraW5saW5lIGJvb2wgaXNBUklBVGFibGVDZWxsKE5vZGUqKSB7IHJl
dHVybiBmYWxzZTsgfQogaW5saW5lIHZvaWQgQVhPYmplY3RDYWNoZTo6c3RhcnRDYWNoaW5nQ29t
cHV0ZWRPYmplY3RBdHRyaWJ1dGVzVW50aWxUcmVlTXV0YXRlcygpIHsgfQogaW5saW5lIHZvaWQg
QVhPYmplY3RDYWNoZTo6c3RvcENhY2hpbmdDb21wdXRlZE9iamVjdEF0dHJpYnV0ZXMoKSB7IH0K
IGlubGluZSBib29sIGlzTm9kZUFyaWFWaXNpYmxlKE5vZGUqKSB7IHJldHVybiB0cnVlOyB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9BWE9iamVjdENhY2hl
SU9TLm1tIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvQVhPYmplY3RDYWNoZUlP
Uy5tbQppbmRleCAwZWQ1NzEzZWUwNjAuLmViYjI1MGU3YjQ4MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvQVhPYmplY3RDYWNoZUlPUy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9BWE9iamVjdENhY2hlSU9TLm1tCkBAIC0yOCw2
ICsyOCwxMCBAQAogCiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFBMQVRGT1JNKElPU19G
QU1JTFkpCiAKKyNpZm5kZWYgU2VsZWN0ZWRDZWxsc0NoYW5nZWROb3RpZmljYXRpb25OYW1lCisj
ZGVmaW5lIFNlbGVjdGVkQ2VsbHNDaGFuZ2VkTm90aWZpY2F0aW9uTmFtZSAiQVhTZWxlY3RlZENl
bGxzQ2hhbmdlZCJfcworI2VuZGlmCisKICNpbXBvcnQgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIK
ICNpbXBvcnQgIldlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVySU9TLmgiCiAjaW1wb3J0ICJS
ZW5kZXJPYmplY3QuaCIKQEAgLTU4LDcgKzYyLDcgQEAgQVNDSUlMaXRlcmFsIEFYT2JqZWN0Q2Fj
aGU6Om5vdGlmaWNhdGlvblBsYXRmb3JtTmFtZShBWE5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24K
ICAgICAgICAgbmFtZSA9ICJBWFBhZ2VTY3JvbGxlZCJfczsKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBBWFNlbGVjdGVkU3RhdGVDaGFuZ2VkOgotICAgICAgICBuYW1lID0gIkFYU2VsZWN0ZWRD
ZWxsc0NoYW5nZWQiX3M7CisgICAgICAgIG5hbWUgPSBTZWxlY3RlZENlbGxzQ2hhbmdlZE5vdGlm
aWNhdGlvbk5hbWU7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQVhTZWxlY3RlZFRleHRDaGFu
Z2VkOgogICAgICAgICBuYW1lID0gIkFYU2VsZWN0ZWRUZXh0Q2hhbmdlZCJfczsKQEAgLTk5LDcg
KzEwMyw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKEFY
Q29yZU9iamVjdCogb2JqZWN0LCBBWE5vdGlmaWNhdGlvCiAgICAgLy8gQnV0IFdlYkNvcmUgaXMg
bm90IGxpbmtlZCB3aXRoIFVJS2l0LiBTbyBhIHdvcmthcm91bmQgaXMgdG8gb3ZlcnJpZGUgdGhl
IHdyYXBwZXIncwogICAgIC8vIHBvc3ROb3RpZmljYXRpb24gbWV0aG9kIGluIHRoZSBzeXN0ZW0g
V2ViS2l0QWNjZXNzaWJpbGl0eSBidW5kbGUgdGhhdCBkb2VzIGxpbmsgVUlLaXQuCiAgICAgYXV0
byBub3RpZmljYXRpb25OYW1lID0gbm90aWZpY2F0aW9uUGxhdGZvcm1OYW1lKG5vdGlmaWNhdGlv
bik7Ci0gICAgaWYgKG5vdGlmaWNhdGlvbk5hbWUuaXNOdWxsKCkpCisgICAgaWYgKG5vdGlmaWNh
dGlvbk5hbWUuaXNOdWxsKCkgfHwgKG5vdGlmaWNhdGlvbk5hbWUgPT0gU2VsZWN0ZWRDZWxsc0No
YW5nZWROb3RpZmljYXRpb25OYW1lICYmICFpc0FSSUFUYWJsZUNlbGwob2JqZWN0LT5ub2RlKCkp
KSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgYXV0byBuc05vdGlmaWNhdGlvbk5hbWUgPSBub3Rp
ZmljYXRpb25OYW1lLmNyZWF0ZU5TU3RyaW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbQppbmRleCBhM2NlYmEzYjQxNDUu
Ljk1MjY2ZWExNDRiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9t
YWMvQVhPYmplY3RDYWNoZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCkBAIC0zNzEsOCArMzcxLDExIEBAIHZvaWQgQVhPYmpl
Y3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9uKEFYQ29yZU9iamVjdCogb2JqZWN0LCBB
WE5vdGlmaWNhdGlvCiAgICAgICAgICAgICBtYWNOb3RpZmljYXRpb24gPSBOU0FjY2Vzc2liaWxp
dHlTZWxlY3RlZENoaWxkcmVuQ2hhbmdlZE5vdGlmaWNhdGlvbjsKICAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBBWFNlbGVjdGVkU3RhdGVDaGFuZ2VkOgotICAgICAgICBtYWNOb3RpZmljYXRpb24g
PSBOU0FjY2Vzc2liaWxpdHlTZWxlY3RlZENlbGxzQ2hhbmdlZE5vdGlmaWNhdGlvbjsKLSAgICAg
ICAgYnJlYWs7CisgICAgICAgIGlmIChpc0FSSUFUYWJsZUNlbGwob2JqZWN0LT5ub2RlKCkpKSB7
CisgICAgICAgICAgICBtYWNOb3RpZmljYXRpb24gPSBOU0FjY2Vzc2liaWxpdHlTZWxlY3RlZENl
bGxzQ2hhbmdlZE5vdGlmaWNhdGlvbjsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9Cisg
ICAgICAgIHJldHVybjsKICAgICBjYXNlIEFYU2VsZWN0ZWRUZXh0Q2hhbmdlZDoKICAgICAgICAg
bWFjTm90aWZpY2F0aW9uID0gTlNBY2Nlc3NpYmlsaXR5U2VsZWN0ZWRUZXh0Q2hhbmdlZE5vdGlm
aWNhdGlvbjsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxPcHRpb25FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVs
ZW1lbnQuY3BwCmluZGV4IGUyMGQzZGFkNDdlMS4uNjExMGU2ZTg2NTAzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcApAQCAtMjM5LDEwICsyMzksOCBAQCB2b2lk
IEhUTUxPcHRpb25FbGVtZW50OjpzZXRTZWxlY3RlZFN0YXRlKGJvb2wgc2VsZWN0ZWQsIEFsbG93
U3R5bGVJbnZhbGlkYXRpb24gYQogCiAgICAgbV9pc1NlbGVjdGVkID0gc2VsZWN0ZWQ7CiAKLSNp
ZiBVU0UoQVRTUEkpCiAgICAgaWYgKGF1dG8qIGNhY2hlID0gZG9jdW1lbnQoKS5leGlzdGluZ0FY
T2JqZWN0Q2FjaGUoKSkKLSAgICAgICAgY2FjaGUtPnBvc3ROb3RpZmljYXRpb24odGhpcywgQVhP
YmplY3RDYWNoZTo6QVhTZWxlY3RlZFN0YXRlQ2hhbmdlZCk7Ci0jZW5kaWYKKyAgICAgICAgY2Fj
aGUtPnNlbGVjdGVkU3RhdGVDaGFuZ2VkKHRoaXMpOwogfQogCiB2b2lkIEhUTUxPcHRpb25FbGVt
ZW50OjpjaGlsZHJlbkNoYW5nZWQoY29uc3QgQ2hpbGRDaGFuZ2UmIGNoYW5nZSkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHktaXNvbGF0ZWQtdHJlZS9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS1pc29sYXRlZC10cmVlL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggOWU5NTgyY2I1NzVmLi42NzFjODVhZTdiNDYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHktaXNvbGF0ZWQtdHJlZS9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHktaXNvbGF0ZWQtdHJlZS9UZXN0RXhwZWN0YXRpb25z
CkBAIC02Miw3ICs2Miw2IEBAIGFjY2Vzc2liaWxpdHkvc2Nyb2xsLXRvLW1ha2UtdmlzaWJsZS1p
ZnJhbWUuaHRtbCBbIEZhaWx1cmUgXQogYWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8tbWFrZS12aXNp
YmxlLW5lc3RlZC0yLmh0bWwgWyBGYWlsdXJlIF0KIGFjY2Vzc2liaWxpdHkvc2Nyb2xsLXRvLW1h
a2UtdmlzaWJsZS1uZXN0ZWQuaHRtbCBbIEZhaWx1cmUgXQogYWNjZXNzaWJpbGl0eS9zY3JvbGwt
dG8tbWFrZS12aXNpYmxlLXdpdGgtc3ViZm9jdXMuaHRtbCBbIEZhaWx1cmUgXQotYWNjZXNzaWJp
bGl0eS9zZWxlY3QtZWxlbWVudC1hdC1pbmRleC5odG1sIFsgRmFpbHVyZSBdCiBhY2Nlc3NpYmls
aXR5L3NldC12YWx1ZS1ub3Qtd29yay1mb3ItZGlzYWJsZWQtc2xpZGVycy5odG1sIFsgRmFpbHVy
ZSBdCiBhY2Nlc3NpYmlsaXR5L3NsaWRlci13aXRoLWxvc3QtcmVuZGVyZXIuaHRtbCBbIEZhaWx1
cmUgXQogYWNjZXNzaWJpbGl0eS9zdmctcmVtb3RlLWVsZW1lbnQuaHRtbCBbIEZhaWx1cmUgXQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9zZWxlY3QtZWxlbWVudC1hdC1p
bmRleC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3NlbGVjdC1lbGVt
ZW50LWF0LWluZGV4LWV4cGVjdGVkLnR4dAppbmRleCBhZTBhODhiNDBmMTkuLjFhMzQ5NjMyZGI2
NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9zZWxlY3QtZWxlbWVudC1h
dC1pbmRleC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9zZWxl
Y3QtZWxlbWVudC1hdC1pbmRleC1leHBlY3RlZC50eHQKQEAgLTEsMjYgKzEsMzUgQEAKK1RoaXMg
dGVzdCBlbnN1cmVzIHdlIGNhbiB1c2UgQVggQVBJcyB0byBzZXQgYW5kIHJlbW92ZSBvcHRpb24g
c2VsZWN0aW9uIHN0YXRlLgorCitQQVNTOiBzZWxlY3RFbGVtZW50LnNlbGVjdGVkQ2hpbGRyZW5D
b3VudCA9PT0gMAorCitTZXR0aW5nIHNlbGVjdGVkIGluZGV4IHRvIDAuCitQQVNTOiBzZWxlY3RF
bGVtZW50LnNlbGVjdGVkQ2hpbGRyZW5Db3VudCA9PT0gMQorUEFTUzogb3B0aW9uMS5pc1NlbGVj
dGVkID09PSB0cnVlCitQQVNTOiBzZWxlY3RFbGVtZW50LnNlbGVjdGVkQ2hpbGRBdEluZGV4KDAp
LmlzRXF1YWwob3B0aW9uMSkgPT09IHRydWUKKworU2V0dGluZyBzZWxlY3RlZCBpbmRleCB0byAx
LgorUEFTUzogc2VsZWN0RWxlbWVudC5zZWxlY3RlZENoaWxkcmVuQ291bnQgPT09IDIKK1BBU1M6
IG9wdGlvbjIuaXNTZWxlY3RlZCA9PT0gdHJ1ZQorUEFTUzogc2VsZWN0RWxlbWVudC5zZWxlY3Rl
ZENoaWxkQXRJbmRleCgxKS5pc0VxdWFsKG9wdGlvbjIpID09PSB0cnVlCitQQVNTOiBvcHRpb24z
LmlzU2VsZWN0ZWQgPT09IGZhbHNlCisKK1NldHRpbmcgc2VsZWN0ZWQgaW5kZXggdG8gMy4KK1BB
U1M6IHNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50ID09PSAzCitQQVNTOiBvcHRp
b240LmlzU2VsZWN0ZWQgPT09IHRydWUKK1BBU1M6IHNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGls
ZEF0SW5kZXgoMikuaXNFcXVhbChvcHRpb240KSA9PT0gdHJ1ZQorCitSZW1vdmluZyBzZWxlY3Rp
b24gYXQgaW5kZXggMy4KK1BBU1M6IG9wdGlvbjQuaXNTZWxlY3RlZCA9PT0gZmFsc2UKK1BBU1M6
IHNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50ID09PSAyCisKK1JlbW92aW5nIHNl
bGVjdGlvbiBhdCBpbmRleCAxLgorUEFTUzogb3B0aW9uMi5pc1NlbGVjdGVkID09PSBmYWxzZQor
UEFTUzogc2VsZWN0RWxlbWVudC5zZWxlY3RlZENoaWxkcmVuQ291bnQgPT09IDEKKworUmVtb3Zp
bmcgc2VsZWN0aW9uIGF0IGluZGV4IDAuCitQQVNTOiBvcHRpb24xLmlzU2VsZWN0ZWQgPT09IGZh
bHNlCitQQVNTOiBzZWxlY3RFbGVtZW50LnNlbGVjdGVkQ2hpbGRyZW5Db3VudCA9PT0gMAogCi1U
ZXN0cyB0aGF0IGNoZWNrcyB3aGV0aGVyIHNldHRpbmcgc2VsZWN0aW9uIGF0IHRoZSBnaXZlbiBp
bmRleCB3b3JrcyBjb3JyZWN0bHkKLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBB
U1Mgc2VsZWN0RWxlbWVudC5zZWxlY3RlZENoaWxkcmVuQ291bnQgaXMgMAotUEFTUyBzZWxlY3RF
bGVtZW50LnNlbGVjdGVkQ2hpbGRyZW5Db3VudCBpcyAxCi1QQVNTIG9wdGlvbjEuaXNTZWxlY3Rl
ZCBpcyB0cnVlCi1QQVNTIHNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZEF0SW5kZXgoMCkuaXNF
cXVhbChvcHRpb24xKSBpcyB0cnVlCi1QQVNTIHNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJl
bkNvdW50IGlzIDIKLVBBU1Mgb3B0aW9uMi5pc1NlbGVjdGVkIGlzIHRydWUKLVBBU1Mgc2VsZWN0
RWxlbWVudC5zZWxlY3RlZENoaWxkQXRJbmRleCgxKS5pc0VxdWFsKG9wdGlvbjIpIGlzIHRydWUK
LVBBU1Mgb3B0aW9uMy5pc1NlbGVjdGVkIGlzIGZhbHNlCi1QQVNTIHNlbGVjdEVsZW1lbnQuc2Vs
ZWN0ZWRDaGlsZHJlbkNvdW50IGlzIDMKLVBBU1Mgb3B0aW9uNC5pc1NlbGVjdGVkIGlzIHRydWUK
LVBBU1Mgc2VsZWN0RWxlbWVudC5zZWxlY3RlZENoaWxkQXRJbmRleCgyKS5pc0VxdWFsKG9wdGlv
bjQpIGlzIHRydWUKLVBBU1Mgb3B0aW9uNC5pc1NlbGVjdGVkIGlzIGZhbHNlCi1QQVNTIHNlbGVj
dEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50IGlzIDIKLVBBU1Mgb3B0aW9uMi5pc1NlbGVj
dGVkIGlzIGZhbHNlCi1QQVNTIHNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50IGlz
IDEKLVBBU1Mgb3B0aW9uMS5pc1NlbGVjdGVkIGlzIGZhbHNlCi1QQVNTIHNlbGVjdEVsZW1lbnQu
c2VsZWN0ZWRDaGlsZHJlbkNvdW50IGlzIDAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9zZWxlY3QtZWxlbWVudC1hdC1pbmRleC5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9zZWxlY3QtZWxlbWVudC1hdC1pbmRleC5odG1sCmluZGV4IDU4NzFhZjQ4OTQ3ZC4uYTM3MThk
YWNiMzZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3NlbGVjdC1lbGVt
ZW50LWF0LWluZGV4Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9zZWxlY3Qt
ZWxlbWVudC1hdC1pbmRleC5odG1sCkBAIC0xLDcxICsxLDg0IEBACiA8IURPQ1RZUEUgSFRNTCBQ
VUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+CiA8aHRtbD4KIDxoZWFkPgotPHNjcmlwdCBz
cmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vcmVzb3VyY2VzL2FjY2Vzc2liaWxpdHktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+Ci08Ym9keSBp
ZD0iYm9keSI+Cis8Ym9keT4KIAotPHNlbGVjdCBpZD0iZ3JvdXAiIG11bHRpcGxlPSJtdWx0aXBs
ZSI+Cis8c2VsZWN0IGlkPSJzZWxlY3QiIG11bHRpcGxlPSJtdWx0aXBsZSI+CiAgICAgPG9wdGlv
bj5PcHRpb24gMTwvb3B0aW9uPgogICAgIDxvcHRpb24+T3B0aW9uIDI8L29wdGlvbj4KICAgICA8
b3B0aW9uPk9wdGlvbiAzPC9vcHRpb24+CiAgICAgPG9wdGlvbj5PcHRpb24gNDwvb3B0aW9uPgog
PC9zZWxlY3Q+CiAKLTxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Ci0KIDxzY3JpcHQ+Ci0KLSAgICBkZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBjaGVja3Mg
d2hldGhlciBzZXR0aW5nIHNlbGVjdGlvbiBhdCB0aGUgZ2l2ZW4gaW5kZXggd29ya3MgY29ycmVj
dGx5Iik7CisgICAgdmFyIHRlc3RPdXRwdXQgPSAiVGhpcyB0ZXN0IGVuc3VyZXMgd2UgY2FuIHVz
ZSBBWCBBUElzIHRvIHNldCBhbmQgcmVtb3ZlIG9wdGlvbiBzZWxlY3Rpb24gc3RhdGUuXG5cbiI7
CisgICAgdmFyIHNlbGVjdEVsZW1lbnQgPSB3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIg
PyBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoInNlbGVjdCIp
IDogbnVsbDsKKworICAgIGFzeW5jIGZ1bmN0aW9uIHNldFNlbGVjdGVkSW5kZXgoaW5kZXgpIHsK
KyAgICAgICAgY29uc3QgaW5pdGlhbFNlbGVjdGVkQ2hpbGRyZW5Db3VudCA9IHNlbGVjdEVsZW1l
bnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50OworICAgICAgICB0ZXN0T3V0cHV0ICs9IGBcblNldHRp
bmcgc2VsZWN0ZWQgaW5kZXggdG8gJHtpbmRleH0uXG5gCisgICAgICAgIHNlbGVjdEVsZW1lbnQu
c2V0U2VsZWN0ZWRDaGlsZEF0SW5kZXgoaW5kZXgpOworICAgICAgICBhd2FpdCB3YWl0Rm9yKCgp
ID0+IHNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50ICE9PSBpbml0aWFsU2VsZWN0
ZWRDaGlsZHJlbkNvdW50KTsKKyAgICB9CisKKyAgICBhc3luYyBmdW5jdGlvbiByZW1vdmVTZWxl
Y3Rpb25BdEluZGV4KGluZGV4KSB7CisgICAgICAgIGNvbnN0IGluaXRpYWxTZWxlY3RlZENoaWxk
cmVuQ291bnQgPSBzZWxlY3RFbGVtZW50LnNlbGVjdGVkQ2hpbGRyZW5Db3VudDsKKyAgICAgICAg
dGVzdE91dHB1dCArPSBgXG5SZW1vdmluZyBzZWxlY3Rpb24gYXQgaW5kZXggJHtpbmRleH0uXG5g
CisgICAgICAgIHNlbGVjdEVsZW1lbnQucmVtb3ZlU2VsZWN0aW9uQXRJbmRleChpbmRleCk7Cisg
ICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4gc2VsZWN0RWxlbWVudC5zZWxlY3RlZENoaWxkcmVu
Q291bnQgIT09IGluaXRpYWxTZWxlY3RlZENoaWxkcmVuQ291bnQpOworICAgIH0KIAogICAgIGlm
ICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIpIHsKLSAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImdyb3VwIikuZm9jdXMoKTsKLSAgICAgICAgdmFyIHNlbGVjdEVsZW1lbnQg
PSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1c2VkRWxlbWVudDsKKyAgICAgICAgd2luZG93
LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi0gICAgICAgIHNob3VsZEJlKCJzZWxlY3RFbGVtZW50
LnNlbGVjdGVkQ2hpbGRyZW5Db3VudCIsICIwIik7CisgICAgICAgIHRlc3RPdXRwdXQgKz0gZXhw
ZWN0KCJzZWxlY3RFbGVtZW50LnNlbGVjdGVkQ2hpbGRyZW5Db3VudCIsICIwIik7CiAKICAgICAg
ICAgdmFyIG9wdGlvbjEgPSBzZWxlY3RFbGVtZW50LmNoaWxkQXRJbmRleCgwKTsKICAgICAgICAg
dmFyIG9wdGlvbjIgPSBzZWxlY3RFbGVtZW50LmNoaWxkQXRJbmRleCgxKTsKICAgICAgICAgdmFy
IG9wdGlvbjMgPSBzZWxlY3RFbGVtZW50LmNoaWxkQXRJbmRleCgyKTsKICAgICAgICAgdmFyIG9w
dGlvbjQgPSBzZWxlY3RFbGVtZW50LmNoaWxkQXRJbmRleCgzKTsKIAotICAgICAgICBzZWxlY3RF
bGVtZW50LnNldFNlbGVjdGVkQ2hpbGRBdEluZGV4KDApOwotICAgICAgICBzaG91bGRCZSgic2Vs
ZWN0RWxlbWVudC5zZWxlY3RlZENoaWxkcmVuQ291bnQiLCAiMSIpOwotICAgICAgICBzaG91bGRC
ZVRydWUoIm9wdGlvbjEuaXNTZWxlY3RlZCIpOwotICAgICAgICBzaG91bGRCZVRydWUoInNlbGVj
dEVsZW1lbnQuc2VsZWN0ZWRDaGlsZEF0SW5kZXgoMCkuaXNFcXVhbChvcHRpb24xKSIpOwotCi0g
ICAgICAgIHNlbGVjdEVsZW1lbnQuc2V0U2VsZWN0ZWRDaGlsZEF0SW5kZXgoMSk7Ci0gICAgICAg
IHNob3VsZEJlKCJzZWxlY3RFbGVtZW50LnNlbGVjdGVkQ2hpbGRyZW5Db3VudCIsICIyIik7Ci0g
ICAgICAgIHNob3VsZEJlVHJ1ZSgib3B0aW9uMi5pc1NlbGVjdGVkIik7Ci0gICAgICAgIHNob3Vs
ZEJlVHJ1ZSgic2VsZWN0RWxlbWVudC5zZWxlY3RlZENoaWxkQXRJbmRleCgxKS5pc0VxdWFsKG9w
dGlvbjIpIik7Ci0KLSAgICAgICAgc2hvdWxkQmVGYWxzZSgib3B0aW9uMy5pc1NlbGVjdGVkIik7
Ci0KLSAgICAgICAgc2VsZWN0RWxlbWVudC5zZXRTZWxlY3RlZENoaWxkQXRJbmRleCgzKTsKLSAg
ICAgICAgc2hvdWxkQmUoInNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50IiwgIjMi
KTsKLSAgICAgICAgc2hvdWxkQmVUcnVlKCJvcHRpb240LmlzU2VsZWN0ZWQiKTsKLQotICAgICAg
ICAvLyBUaGUgaW5kZXggZXhwZWN0ZWQgYnkgc2VsZWN0ZWRDaGlsZEF0SW5kZXggaXMgd2l0aCBy
ZXNwZWN0IHRvIHRoZSBhcnJheSBvZgotICAgICAgICAvLyBzZWxlY3RlZCBjaGlsZHJlbjsgbm90
IHRoZSBhcnJheSBvZiBhbGwgY2hpbGRyZW4uIFRoZSBlbGVtZW50IHdob3NlIHRleHQgaXMKLSAg
ICAgICAgLy8gIk9wdGlvbiA0IiBpcyB0aGUgdGhpcmQgb2YgdGhyZWUgc2VsZWN0ZWQgaXRlbXMs
IHRodXMgdGhlIGluZGV4IHNob3VsZCBiZSAyLgotICAgICAgICBzaG91bGRCZVRydWUoInNlbGVj
dEVsZW1lbnQuc2VsZWN0ZWRDaGlsZEF0SW5kZXgoMikuaXNFcXVhbChvcHRpb240KSIpOwotCi0g
ICAgICAgIHNlbGVjdEVsZW1lbnQucmVtb3ZlU2VsZWN0aW9uQXRJbmRleCgzKTsKLSAgICAgICAg
c2hvdWxkQmVGYWxzZSgib3B0aW9uNC5pc1NlbGVjdGVkIik7Ci0gICAgICAgIHNob3VsZEJlKCJz
ZWxlY3RFbGVtZW50LnNlbGVjdGVkQ2hpbGRyZW5Db3VudCIsICIyIik7Ci0KLSAgICAgICAgc2Vs
ZWN0RWxlbWVudC5yZW1vdmVTZWxlY3Rpb25BdEluZGV4KDEpOwotICAgICAgICBzaG91bGRCZUZh
bHNlKCJvcHRpb24yLmlzU2VsZWN0ZWQiKTsKLSAgICAgICAgc2hvdWxkQmUoInNlbGVjdEVsZW1l
bnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50IiwgIjEiKTsKLQotICAgICAgICBzZWxlY3RFbGVtZW50
LnJlbW92ZVNlbGVjdGlvbkF0SW5kZXgoMCk7Ci0gICAgICAgIHNob3VsZEJlRmFsc2UoIm9wdGlv
bjEuaXNTZWxlY3RlZCIpOwotICAgICAgICBzaG91bGRCZSgic2VsZWN0RWxlbWVudC5zZWxlY3Rl
ZENoaWxkcmVuQ291bnQiLCAiMCIpOwotfQotCisgICAgICAgIHNldFRpbWVvdXQoYXN5bmMgZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICBhd2FpdCBzZXRTZWxlY3RlZEluZGV4KDApOworICAgICAg
ICAgICAgdGVzdE91dHB1dCArPSBleHBlY3QoInNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJl
bkNvdW50IiwgIjEiKTsKKyAgICAgICAgICAgIHRlc3RPdXRwdXQgKz0gZXhwZWN0KCJvcHRpb24x
LmlzU2VsZWN0ZWQiLCAidHJ1ZSIpOworICAgICAgICAgICAgdGVzdE91dHB1dCArPSBleHBlY3Qo
InNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZEF0SW5kZXgoMCkuaXNFcXVhbChvcHRpb24xKSIs
ICJ0cnVlIik7CisKKyAgICAgICAgICAgIGF3YWl0IHNldFNlbGVjdGVkSW5kZXgoMSk7CisgICAg
ICAgICAgICB0ZXN0T3V0cHV0ICs9IGV4cGVjdCgic2VsZWN0RWxlbWVudC5zZWxlY3RlZENoaWxk
cmVuQ291bnQiLCAiMiIpOworICAgICAgICAgICAgdGVzdE91dHB1dCArPSBleHBlY3QoIm9wdGlv
bjIuaXNTZWxlY3RlZCIsICJ0cnVlIik7CisgICAgICAgICAgICB0ZXN0T3V0cHV0ICs9IGV4cGVj
dCgic2VsZWN0RWxlbWVudC5zZWxlY3RlZENoaWxkQXRJbmRleCgxKS5pc0VxdWFsKG9wdGlvbjIp
IiwgInRydWUiKTsKKyAgICAgICAgICAgIHRlc3RPdXRwdXQgKz0gZXhwZWN0KCJvcHRpb24zLmlz
U2VsZWN0ZWQiLCAiZmFsc2UiKTsKKworICAgICAgICAgICAgYXdhaXQgc2V0U2VsZWN0ZWRJbmRl
eCgzKTsKKyAgICAgICAgICAgIHRlc3RPdXRwdXQgKz0gZXhwZWN0KCJzZWxlY3RFbGVtZW50LnNl
bGVjdGVkQ2hpbGRyZW5Db3VudCIsICIzIik7CisgICAgICAgICAgICB0ZXN0T3V0cHV0ICs9IGV4
cGVjdCgib3B0aW9uNC5pc1NlbGVjdGVkIiwgInRydWUiKTsKKworICAgICAgICAgICAgLy8gVGhl
IGluZGV4IGV4cGVjdGVkIGJ5IHNlbGVjdGVkQ2hpbGRBdEluZGV4IGlzIHdpdGggcmVzcGVjdCB0
byB0aGUgYXJyYXkgb2YKKyAgICAgICAgICAgIC8vIHNlbGVjdGVkIGNoaWxkcmVuOyBub3QgdGhl
IGFycmF5IG9mIGFsbCBjaGlsZHJlbi4gVGhlIGVsZW1lbnQgd2hvc2UgdGV4dCBpcworICAgICAg
ICAgICAgLy8gIk9wdGlvbiA0IiBpcyB0aGUgdGhpcmQgb2YgdGhyZWUgc2VsZWN0ZWQgaXRlbXMs
IHRodXMgdGhlIGluZGV4IHNob3VsZCBiZSAyLgorICAgICAgICAgICAgdGVzdE91dHB1dCArPSBl
eHBlY3QoInNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZEF0SW5kZXgoMikuaXNFcXVhbChvcHRp
b240KSIsICJ0cnVlIik7CisKKyAgICAgICAgICAgIGF3YWl0IHJlbW92ZVNlbGVjdGlvbkF0SW5k
ZXgoMyk7CisgICAgICAgICAgICB0ZXN0T3V0cHV0ICs9IGV4cGVjdCgib3B0aW9uNC5pc1NlbGVj
dGVkIiwgImZhbHNlIik7CisgICAgICAgICAgICB0ZXN0T3V0cHV0ICs9IGV4cGVjdCgic2VsZWN0
RWxlbWVudC5zZWxlY3RlZENoaWxkcmVuQ291bnQiLCAiMiIpOworCisgICAgICAgICAgICBhd2Fp
dCByZW1vdmVTZWxlY3Rpb25BdEluZGV4KDEpOworICAgICAgICAgICAgdGVzdE91dHB1dCArPSBl
eHBlY3QoIm9wdGlvbjIuaXNTZWxlY3RlZCIsICJmYWxzZSIpOworICAgICAgICAgICAgdGVzdE91
dHB1dCArPSBleHBlY3QoInNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50IiwgIjEi
KTsKKworICAgICAgICAgICAgYXdhaXQgcmVtb3ZlU2VsZWN0aW9uQXRJbmRleCgwKTsKKyAgICAg
ICAgICAgIHRlc3RPdXRwdXQgKz0gZXhwZWN0KCJvcHRpb24xLmlzU2VsZWN0ZWQiLCAiZmFsc2Ui
KTsKKyAgICAgICAgICAgIHRlc3RPdXRwdXQgKz0gZXhwZWN0KCJzZWxlY3RFbGVtZW50LnNlbGVj
dGVkQ2hpbGRyZW5Db3VudCIsICIwIik7CisKKyAgICAgICAgICAgIGRlYnVnKHRlc3RPdXRwdXQp
OworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgIH0sIDApOworICAgIH0KIDwv
c2NyaXB0PgotCi08c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>462843</attachid>
            <date>2022-10-06 11:59:34 -0700</date>
            <delta_ts>2022-10-07 10:44:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-246135-20221006115933.patch</filename>
            <type>text/plain</type>
            <size>17838</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">RnJvbSBiZmU4ZDc3MGJkNWRhZmMyMmZlM2QxYzljZWMxOTc1NzE1NjJmZTM3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUeWxlciBXaWxjb2NrIDx0eWxlcl93QGFwcGxlLmNvbT4KRGF0
ZTogV2VkLCA1IE9jdCAyMDIyIDIzOjQyOjUwIC0wNzAwClN1YmplY3Q6IFtQQVRDSF0gQVg6IFRo
ZSBpc29sYXRlZCB0cmVlIGRvZXNuJ3QgdXBkYXRlIGluIHJlc3BvbnNlIHRvCiBIVE1MT3B0aW9u
RWxlbWVudDo6c2V0U2VsZWN0ZWRTdGF0ZSBjaGFuZ2VzCiBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjQ2MTM1IHJkYXI6Ly9wcm9ibGVtLzEwMDgzOTg0OQoKUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCgoqIExheW91dFRlc3RzL2FjY2Vzc2liaWxpdHktaXNvbGF0
ZWQtdHJlZS9UZXN0RXhwZWN0YXRpb25zOgpNYXJrIGFjY2Vzc2liaWxpdHkvc2VsZWN0LWVsZW1l
bnQtYXQtaW5kZXguaHRtbCBhcyBmaXhlZC4KKiBMYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L3Nl
bGVjdC1lbGVtZW50LWF0LWluZGV4LWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L3NlbGVjdC1lbGVtZW50LWF0LWluZGV4Lmh0bWw6Ck1ha2UgdGVzdCBhc3luYyBzbyBp
dCBjYW4gcGFzcyBpbiBJVE0uCiogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVj
dENhY2hlLmNwcDoKKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OnNlbGVjdGVkU3RhdGVDaGFuZ2Vk
KToKQWxzbyBwb3N0IEFYU2VsZWN0ZWRTdGF0ZUNoYW5nZWQgZm9yIG9wdGlvbiBlbGVtZW50cy4K
KiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuaDoKKiBTb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lvcy9BWE9iamVjdENhY2hlSU9TLm1tOgooV2ViQ29yZTo6
QVhPYmplY3RDYWNoZTo6bm90aWZpY2F0aW9uUGxhdGZvcm1OYW1lKToKKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OnBvc3RQbGF0Zm9ybU5vdGlmaWNhdGlvbik6CiogU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9tYWMvQVhPYmplY3RDYWNoZU1hYy5tbToKKFdlYkNvcmU6OkFYT2JqZWN0Q2Fj
aGU6OnBvc3RQbGF0Zm9ybU5vdGlmaWNhdGlvbik6CiogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
T3B0aW9uRWxlbWVudC5jcHA6CihXZWJDb3JlOjpIVE1MT3B0aW9uRWxlbWVudDo6c2V0U2VsZWN0
ZWRTdGF0ZSk6ClJlbW92ZSAjaWYgUExBVEZPUk0oQVRTUEkpIGd1YXJkaW5nIHRoZSBjYWNoZSB1
cGRhdGUuCi0tLQogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWExvZ2dlci5jcHAgICAg
IHwgICAzICsKIC4uLi9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgICB8
ICAxNyArKy0KIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oICB8
ICAgMyArLQogLi4uL2F0c3BpL0FYT2JqZWN0Q2FjaGVBdHNwaS5jcHAgICAgICAgICAgICAgIHwg
ICAxICsKIC4uLi9hY2Nlc3NpYmlsaXR5L2lvcy9BWE9iamVjdENhY2hlSU9TLm1tICAgICB8ICAg
MiArLQogLi4uL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMubW0gICAgIHwgICAy
ICstCiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcCAgICAgfCAgIDQg
Ky0KIC4uLi9UZXN0RXhwZWN0YXRpb25zICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSAt
CiAuLi4vc2VsZWN0LWVsZW1lbnQtYXQtaW5kZXgtZXhwZWN0ZWQudHh0ICAgICAgfCAgNTMgKysr
KystLS0tCiAuLi4vc2VsZWN0LWVsZW1lbnQtYXQtaW5kZXguaHRtbCAgICAgICAgICAgICAgfCAx
MDcgKysrKysrKysrKy0tLS0tLS0tCiAxMCBmaWxlcyBjaGFuZ2VkLCAxMTEgaW5zZXJ0aW9ucygr
KSwgODIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BWExvZ2dlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYTG9nZ2Vy
LmNwcAppbmRleCA4NDRlNWIzOTI4NmYuLjUzOTY4NDU3ZmQxOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWExvZ2dlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BWExvZ2dlci5jcHAKQEAgLTQ3NSw2ICs0NzUsOSBAQCBUZXh0U3RyZWFt
JiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHN0cmVhbSwgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmlj
YXRpb24gbm90aWZpYwogICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6QVhOb3RpZmljYXRpb246OkFY
U2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQ6CiAgICAgICAgIHN0cmVhbSA8PCAiQVhTZWxlY3RlZENo
aWxkcmVuQ2hhbmdlZCI7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhPYmplY3RDYWNoZTo6
QVhOb3RpZmljYXRpb246OkFYU2VsZWN0ZWRDZWxsQ2hhbmdlZDoKKyAgICAgICAgc3RyZWFtIDw8
ICJBWFNlbGVjdGVkQ2VsbENoYW5nZWQiOworICAgICAgICBicmVhazsKICAgICBjYXNlIEFYT2Jq
ZWN0Q2FjaGU6OkFYTm90aWZpY2F0aW9uOjpBWFNlbGVjdGVkU3RhdGVDaGFuZ2VkOgogICAgICAg
ICBzdHJlYW0gPDwgIkFYU2VsZWN0ZWRTdGF0ZUNoYW5nZWQiOwogICAgICAgICBicmVhazsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IDll
ZTI4NWNkN2U5NS4uYjQ5ZDI5ZjM3ODBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQVhPYmplY3RDYWNoZS5jcHAKQEAgLTE0MzQsMTIgKzE0MzQsMTYgQEAgdm9pZCBBWE9i
amVjdENhY2hlOjpzZWxlY3RlZENoaWxkcmVuQ2hhbmdlZChSZW5kZXJPYmplY3QqIHJlbmRlcmVy
KQogICAgIHBvc3ROb3RpZmljYXRpb24ocmVuZGVyZXIsIEFYU2VsZWN0ZWRDaGlsZHJlbkNoYW5n
ZWQsIFBvc3RUYXJnZXQ6Ok9ic2VydmFibGVQYXJlbnQpOwogfQogCi12b2lkIEFYT2JqZWN0Q2Fj
aGU6OnNlbGVjdGVkU3RhdGVDaGFuZ2VkKE5vZGUqIG5vZGUpCitzdGF0aWMgYm9vbCBpc0FSSUFU
YWJsZUNlbGwoTm9kZSogbm9kZSkKIHsKLSAgICAvLyBGb3IgYSB0YWJsZSBjZWxsLCBwb3N0IEFY
U2VsZWN0ZWRTdGF0ZUNoYW5nZWQgb24gdGhlIGNlbGwgaXRzZWxmLgotICAgIC8vIEZvciBhbnkg
b3RoZXIgZWxlbWVudCwgcG9zdCBBWFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkIG9uIHRoZSBwYXJl
bnQuCi0gICAgaWYgKG5vZGVIYXNSb2xlKG5vZGUsICJncmlkY2VsbCJfcykgfHwgbm9kZUhhc1Jv
bGUobm9kZSwgImNlbGwiX3MpCi0gICAgICAgIHx8IG5vZGVIYXNSb2xlKG5vZGUsICJjb2x1bW5o
ZWFkZXIiX3MpIHx8IG5vZGVIYXNSb2xlKG5vZGUsICJyb3doZWFkZXIiX3MpKQorICAgIHJldHVy
biBub2RlICYmIChub2RlSGFzUm9sZShub2RlLCAiZ3JpZGNlbGwiX3MpIHx8IG5vZGVIYXNSb2xl
KG5vZGUsICJjZWxsIl9zKSB8fCBub2RlSGFzUm9sZShub2RlLCAiY29sdW1uaGVhZGVyIl9zKSB8
fCBub2RlSGFzUm9sZShub2RlLCAicm93aGVhZGVyIl9zKSk7Cit9CisKK3ZvaWQgQVhPYmplY3RD
YWNoZTo6b25TZWxlY3RlZENoYW5nZWQoTm9kZSogbm9kZSkKK3sKKyAgICBpZiAoaXNBUklBVGFi
bGVDZWxsKG5vZGUpKQorICAgICAgICBwb3N0Tm90aWZpY2F0aW9uKG5vZGUsIEFYU2VsZWN0ZWRD
ZWxsQ2hhbmdlZCk7CisgICAgZWxzZSBpZiAoaXM8SFRNTE9wdGlvbkVsZW1lbnQ+KG5vZGUpKQog
ICAgICAgICBwb3N0Tm90aWZpY2F0aW9uKG5vZGUsIEFYU2VsZWN0ZWRTdGF0ZUNoYW5nZWQpOwog
ICAgIGVsc2UKICAgICAgICAgc2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQobm9kZSk7CkBAIC0yMTAx
LDcgKzIxMDUsNyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZUF0dHJpYnV0ZUNoYW5nZShF
bGVtZW50KiBlbGVtZW50LCBjb25zdCBRdWFsaWZpZWROYW1lJgogICAgIGVsc2UgaWYgKGF0dHJO
YW1lID09IGFyaWFfcmVsZXZhbnRBdHRyKQogICAgICAgICBwb3N0Tm90aWZpY2F0aW9uKGVsZW1l
bnQsIEFYTGl2ZVJlZ2lvblJlbGV2YW50Q2hhbmdlZCk7CiAgICAgZWxzZSBpZiAoYXR0ck5hbWUg
PT0gYXJpYV9zZWxlY3RlZEF0dHIpCi0gICAgICAgIHNlbGVjdGVkU3RhdGVDaGFuZ2VkKGVsZW1l
bnQpOworICAgICAgICBvblNlbGVjdGVkQ2hhbmdlZChlbGVtZW50KTsKICAgICBlbHNlIGlmIChh
dHRyTmFtZSA9PSBhcmlhX3NldHNpemVBdHRyKQogICAgICAgICBwb3N0Tm90aWZpY2F0aW9uKGVs
ZW1lbnQsIEFYU2V0U2l6ZUNoYW5nZWQpOwogICAgIGVsc2UgaWYgKGF0dHJOYW1lID09IGFyaWFf
ZXhwYW5kZWRBdHRyKQpAQCAtMzcxMyw2ICszNzE3LDcgQEAgdm9pZCBBWE9iamVjdENhY2hlOjp1
cGRhdGVJc29sYXRlZFRyZWUoY29uc3QgVmVjdG9yPHN0ZDo6cGFpcjxSZWZQdHI8QWNjZXNzaWJp
bGkKICAgICAgICAgY2FzZSBBWFJvd0luZGV4Q2hhbmdlZDoKICAgICAgICAgICAgIHRyZWUtPnVw
ZGF0ZU5vZGVQcm9wZXJ0eSgqbm90aWZpY2F0aW9uLmZpcnN0LCBBWFByb3BlcnR5TmFtZTo6QVhS
b3dJbmRleCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBBWFNlbGVjdGVkQ2Vs
bENoYW5nZWQ6CiAgICAgICAgIGNhc2UgQVhTZWxlY3RlZFN0YXRlQ2hhbmdlZDoKICAgICAgICAg
ICAgIHRyZWUtPnVwZGF0ZU5vZGVQcm9wZXJ0eSgqbm90aWZpY2F0aW9uLmZpcnN0LCBBWFByb3Bl
cnR5TmFtZTo6SXNTZWxlY3RlZCk7CiAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5oIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmgKaW5kZXggZTMxYTFjMmM3M2EwLi40OGUw
NGU5OWI1YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmpl
Y3RDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNo
ZS5oCkBAIC0xODYsNiArMTg2LDcgQEAgcHVibGljOgogICAgIHZvaWQgY2hpbGRyZW5DaGFuZ2Vk
KE5vZGUqLCBOb2RlKiBuZXdDaGlsZCA9IG51bGxwdHIpOwogICAgIHZvaWQgY2hpbGRyZW5DaGFu
Z2VkKFJlbmRlck9iamVjdCosIFJlbmRlck9iamVjdCogbmV3Q2hpbGQgPSBudWxscHRyKTsKICAg
ICB2b2lkIGNoaWxkcmVuQ2hhbmdlZChBY2Nlc3NpYmlsaXR5T2JqZWN0Kik7CisgICAgdm9pZCBv
blNlbGVjdGVkQ2hhbmdlZChOb2RlKik7CiAgICAgdm9pZCB2YWx1ZUNoYW5nZWQoRWxlbWVudCop
OwogICAgIHZvaWQgY2hlY2tlZFN0YXRlQ2hhbmdlZChOb2RlKik7CiAgICAgdm9pZCBhdXRvZmls
bFR5cGVDaGFuZ2VkKE5vZGUqKTsKQEAgLTMwOSw2ICszMTAsNyBAQCBwdWJsaWM6CiAgICAgICAg
IEFYUm93SW5kZXhDaGFuZ2VkLAogICAgICAgICBBWFJvd1NwYW5DaGFuZ2VkLAogICAgICAgICBB
WFNlbGVjdGVkQ2hpbGRyZW5DaGFuZ2VkLAorICAgICAgICBBWFNlbGVjdGVkQ2VsbENoYW5nZWQs
CiAgICAgICAgIEFYU2VsZWN0ZWRTdGF0ZUNoYW5nZWQsCiAgICAgICAgIEFYU2VsZWN0ZWRUZXh0
Q2hhbmdlZCwKICAgICAgICAgQVhTZXRTaXplQ2hhbmdlZCwKQEAgLTQ5OCw3ICs1MDAsNiBAQCBw
cml2YXRlOgogICAgIGJvb2wgc2hvdWxkUHJvY2Vzc0F0dHJpYnV0ZUNoYW5nZShFbGVtZW50Kiwg
Y29uc3QgUXVhbGlmaWVkTmFtZSYpOwogICAgIHZvaWQgc2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQo
Tm9kZSopOwogICAgIHZvaWQgc2VsZWN0ZWRDaGlsZHJlbkNoYW5nZWQoUmVuZGVyT2JqZWN0Kik7
Ci0gICAgdm9pZCBzZWxlY3RlZFN0YXRlQ2hhbmdlZChOb2RlKik7CiAKICAgICB2b2lkIGhhbmRs
ZUFjdGl2ZURlc2NlbmRhbnRDaGFuZ2VkKEVsZW1lbnQmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BWE9iamVjdENhY2hlQXRzcGkuY3BwIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BWE9iamVjdENhY2hlQXRzcGkuY3BwCmlu
ZGV4IGY2NTE1Mzc4NGIwZi4uMDJkNzVmMzliY2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FYT2JqZWN0Q2FjaGVBdHNwaS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BWE9iamVjdENhY2hlQXRzcGkuY3BwCkBAIC03
Niw2ICs3Niw3IEBAIHZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZpY2F0aW9u
KEFYQ29yZU9iamVjdCogY29yZU9iamVjdCwgQVhOb3RpZmljCiAgICAgICAgIGlmIChjb3JlT2Jq
ZWN0LT5pc0NoZWNrYm94T3JSYWRpbygpIHx8IGNvcmVPYmplY3QtPmlzU3dpdGNoKCkpCiAgICAg
ICAgICAgICB3cmFwcGVyLT5zdGF0ZUNoYW5nZWQoImNoZWNrZWQiLCBjb3JlT2JqZWN0LT5pc0No
ZWNrZWQoKSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgQVhTZWxlY3RlZENlbGxDaGFuZ2Vk
OgogICAgIGNhc2UgQVhTZWxlY3RlZFN0YXRlQ2hhbmdlZDoKICAgICAgICAgd3JhcHBlci0+c3Rh
dGVDaGFuZ2VkKCJzZWxlY3RlZCIsIGNvcmVPYmplY3QtPmlzU2VsZWN0ZWQoKSk7CiAgICAgICAg
IGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvQVhP
YmplY3RDYWNoZUlPUy5tbSBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL0FYT2Jq
ZWN0Q2FjaGVJT1MubW0KaW5kZXggMGVkNTcxM2VlMDYwLi41ODdkN2NiZWRiODMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaW9zL0FYT2JqZWN0Q2FjaGVJT1MubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pb3MvQVhPYmplY3RDYWNoZUlPUy5t
bQpAQCAtNTcsNyArNTcsNyBAQCBBU0NJSUxpdGVyYWwgQVhPYmplY3RDYWNoZTo6bm90aWZpY2F0
aW9uUGxhdGZvcm1OYW1lKEFYTm90aWZpY2F0aW9uIG5vdGlmaWNhdGlvbgogICAgIGNhc2UgQVhQ
YWdlU2Nyb2xsZWQ6CiAgICAgICAgIG5hbWUgPSAiQVhQYWdlU2Nyb2xsZWQiX3M7CiAgICAgICAg
IGJyZWFrOwotICAgIGNhc2UgQVhTZWxlY3RlZFN0YXRlQ2hhbmdlZDoKKyAgICBjYXNlIEFYU2Vs
ZWN0ZWRDZWxsQ2hhbmdlZDoKICAgICAgICAgbmFtZSA9ICJBWFNlbGVjdGVkQ2VsbHNDaGFuZ2Vk
Il9zOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEFYU2VsZWN0ZWRUZXh0Q2hhbmdlZDoKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVN
YWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFj
Lm1tCmluZGV4IGEzY2ViYTNiNDE0NS4uN2I5MmRiYTNhNGE3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BWE9iamVjdENhY2hlTWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FYT2JqZWN0Q2FjaGVNYWMubW0KQEAgLTM3MCw3
ICszNzAsNyBAQCB2b2lkIEFYT2JqZWN0Q2FjaGU6OnBvc3RQbGF0Zm9ybU5vdGlmaWNhdGlvbihB
WENvcmVPYmplY3QqIG9iamVjdCwgQVhOb3RpZmljYXRpbwogICAgICAgICBlbHNlCiAgICAgICAg
ICAgICBtYWNOb3RpZmljYXRpb24gPSBOU0FjY2Vzc2liaWxpdHlTZWxlY3RlZENoaWxkcmVuQ2hh
bmdlZE5vdGlmaWNhdGlvbjsKICAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBBWFNlbGVjdGVkU3Rh
dGVDaGFuZ2VkOgorICAgIGNhc2UgQVhTZWxlY3RlZENlbGxDaGFuZ2VkOgogICAgICAgICBtYWNO
b3RpZmljYXRpb24gPSBOU0FjY2Vzc2liaWxpdHlTZWxlY3RlZENlbGxzQ2hhbmdlZE5vdGlmaWNh
dGlvbjsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBBWFNlbGVjdGVkVGV4dENoYW5nZWQ6CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE9wdGlvbkVsZW1lbnQuY3BwCmluZGV4IGUyMGQzZGFkNDdl
MS4uY2Q1NDBjY2ExYTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRp
b25FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxPcHRpb25FbGVtZW50
LmNwcApAQCAtMjM5LDEwICsyMzksOCBAQCB2b2lkIEhUTUxPcHRpb25FbGVtZW50OjpzZXRTZWxl
Y3RlZFN0YXRlKGJvb2wgc2VsZWN0ZWQsIEFsbG93U3R5bGVJbnZhbGlkYXRpb24gYQogCiAgICAg
bV9pc1NlbGVjdGVkID0gc2VsZWN0ZWQ7CiAKLSNpZiBVU0UoQVRTUEkpCiAgICAgaWYgKGF1dG8q
IGNhY2hlID0gZG9jdW1lbnQoKS5leGlzdGluZ0FYT2JqZWN0Q2FjaGUoKSkKLSAgICAgICAgY2Fj
aGUtPnBvc3ROb3RpZmljYXRpb24odGhpcywgQVhPYmplY3RDYWNoZTo6QVhTZWxlY3RlZFN0YXRl
Q2hhbmdlZCk7Ci0jZW5kaWYKKyAgICAgICAgY2FjaGUtPm9uU2VsZWN0ZWRDaGFuZ2VkKHRoaXMp
OwogfQogCiB2b2lkIEhUTUxPcHRpb25FbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY29uc3QgQ2hp
bGRDaGFuZ2UmIGNoYW5nZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkt
aXNvbGF0ZWQtdHJlZS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS1pc29sYXRlZC10cmVlL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggOWU5NTgyY2I1NzVmLi42NzFj
ODVhZTdiNDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHktaXNvbGF0ZWQt
dHJlZS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHktaXNv
bGF0ZWQtdHJlZS9UZXN0RXhwZWN0YXRpb25zCkBAIC02Miw3ICs2Miw2IEBAIGFjY2Vzc2liaWxp
dHkvc2Nyb2xsLXRvLW1ha2UtdmlzaWJsZS1pZnJhbWUuaHRtbCBbIEZhaWx1cmUgXQogYWNjZXNz
aWJpbGl0eS9zY3JvbGwtdG8tbWFrZS12aXNpYmxlLW5lc3RlZC0yLmh0bWwgWyBGYWlsdXJlIF0K
IGFjY2Vzc2liaWxpdHkvc2Nyb2xsLXRvLW1ha2UtdmlzaWJsZS1uZXN0ZWQuaHRtbCBbIEZhaWx1
cmUgXQogYWNjZXNzaWJpbGl0eS9zY3JvbGwtdG8tbWFrZS12aXNpYmxlLXdpdGgtc3ViZm9jdXMu
aHRtbCBbIEZhaWx1cmUgXQotYWNjZXNzaWJpbGl0eS9zZWxlY3QtZWxlbWVudC1hdC1pbmRleC5o
dG1sIFsgRmFpbHVyZSBdCiBhY2Nlc3NpYmlsaXR5L3NldC12YWx1ZS1ub3Qtd29yay1mb3ItZGlz
YWJsZWQtc2xpZGVycy5odG1sIFsgRmFpbHVyZSBdCiBhY2Nlc3NpYmlsaXR5L3NsaWRlci13aXRo
LWxvc3QtcmVuZGVyZXIuaHRtbCBbIEZhaWx1cmUgXQogYWNjZXNzaWJpbGl0eS9zdmctcmVtb3Rl
LWVsZW1lbnQuaHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNz
aWJpbGl0eS9zZWxlY3QtZWxlbWVudC1hdC1pbmRleC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L3NlbGVjdC1lbGVtZW50LWF0LWluZGV4LWV4cGVjdGVkLnR4dAppbmRl
eCBhZTBhODhiNDBmMTkuLjFhMzQ5NjMyZGI2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9zZWxlY3QtZWxlbWVudC1hdC1pbmRleC1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9zZWxlY3QtZWxlbWVudC1hdC1pbmRleC1leHBlY3RlZC50
eHQKQEAgLTEsMjYgKzEsMzUgQEAKK1RoaXMgdGVzdCBlbnN1cmVzIHdlIGNhbiB1c2UgQVggQVBJ
cyB0byBzZXQgYW5kIHJlbW92ZSBvcHRpb24gc2VsZWN0aW9uIHN0YXRlLgorCitQQVNTOiBzZWxl
Y3RFbGVtZW50LnNlbGVjdGVkQ2hpbGRyZW5Db3VudCA9PT0gMAorCitTZXR0aW5nIHNlbGVjdGVk
IGluZGV4IHRvIDAuCitQQVNTOiBzZWxlY3RFbGVtZW50LnNlbGVjdGVkQ2hpbGRyZW5Db3VudCA9
PT0gMQorUEFTUzogb3B0aW9uMS5pc1NlbGVjdGVkID09PSB0cnVlCitQQVNTOiBzZWxlY3RFbGVt
ZW50LnNlbGVjdGVkQ2hpbGRBdEluZGV4KDApLmlzRXF1YWwob3B0aW9uMSkgPT09IHRydWUKKwor
U2V0dGluZyBzZWxlY3RlZCBpbmRleCB0byAxLgorUEFTUzogc2VsZWN0RWxlbWVudC5zZWxlY3Rl
ZENoaWxkcmVuQ291bnQgPT09IDIKK1BBU1M6IG9wdGlvbjIuaXNTZWxlY3RlZCA9PT0gdHJ1ZQor
UEFTUzogc2VsZWN0RWxlbWVudC5zZWxlY3RlZENoaWxkQXRJbmRleCgxKS5pc0VxdWFsKG9wdGlv
bjIpID09PSB0cnVlCitQQVNTOiBvcHRpb24zLmlzU2VsZWN0ZWQgPT09IGZhbHNlCisKK1NldHRp
bmcgc2VsZWN0ZWQgaW5kZXggdG8gMy4KK1BBU1M6IHNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGls
ZHJlbkNvdW50ID09PSAzCitQQVNTOiBvcHRpb240LmlzU2VsZWN0ZWQgPT09IHRydWUKK1BBU1M6
IHNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZEF0SW5kZXgoMikuaXNFcXVhbChvcHRpb240KSA9
PT0gdHJ1ZQorCitSZW1vdmluZyBzZWxlY3Rpb24gYXQgaW5kZXggMy4KK1BBU1M6IG9wdGlvbjQu
aXNTZWxlY3RlZCA9PT0gZmFsc2UKK1BBU1M6IHNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJl
bkNvdW50ID09PSAyCisKK1JlbW92aW5nIHNlbGVjdGlvbiBhdCBpbmRleCAxLgorUEFTUzogb3B0
aW9uMi5pc1NlbGVjdGVkID09PSBmYWxzZQorUEFTUzogc2VsZWN0RWxlbWVudC5zZWxlY3RlZENo
aWxkcmVuQ291bnQgPT09IDEKKworUmVtb3Zpbmcgc2VsZWN0aW9uIGF0IGluZGV4IDAuCitQQVNT
OiBvcHRpb24xLmlzU2VsZWN0ZWQgPT09IGZhbHNlCitQQVNTOiBzZWxlY3RFbGVtZW50LnNlbGVj
dGVkQ2hpbGRyZW5Db3VudCA9PT0gMAogCi1UZXN0cyB0aGF0IGNoZWNrcyB3aGV0aGVyIHNldHRp
bmcgc2VsZWN0aW9uIGF0IHRoZSBnaXZlbiBpbmRleCB3b3JrcyBjb3JyZWN0bHkKLQotT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1Mgc2VsZWN0RWxlbWVudC5zZWxlY3RlZENoaWxk
cmVuQ291bnQgaXMgMAotUEFTUyBzZWxlY3RFbGVtZW50LnNlbGVjdGVkQ2hpbGRyZW5Db3VudCBp
cyAxCi1QQVNTIG9wdGlvbjEuaXNTZWxlY3RlZCBpcyB0cnVlCi1QQVNTIHNlbGVjdEVsZW1lbnQu
c2VsZWN0ZWRDaGlsZEF0SW5kZXgoMCkuaXNFcXVhbChvcHRpb24xKSBpcyB0cnVlCi1QQVNTIHNl
bGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50IGlzIDIKLVBBU1Mgb3B0aW9uMi5pc1Nl
bGVjdGVkIGlzIHRydWUKLVBBU1Mgc2VsZWN0RWxlbWVudC5zZWxlY3RlZENoaWxkQXRJbmRleCgx
KS5pc0VxdWFsKG9wdGlvbjIpIGlzIHRydWUKLVBBU1Mgb3B0aW9uMy5pc1NlbGVjdGVkIGlzIGZh
bHNlCi1QQVNTIHNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50IGlzIDMKLVBBU1Mg
b3B0aW9uNC5pc1NlbGVjdGVkIGlzIHRydWUKLVBBU1Mgc2VsZWN0RWxlbWVudC5zZWxlY3RlZENo
aWxkQXRJbmRleCgyKS5pc0VxdWFsKG9wdGlvbjQpIGlzIHRydWUKLVBBU1Mgb3B0aW9uNC5pc1Nl
bGVjdGVkIGlzIGZhbHNlCi1QQVNTIHNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50
IGlzIDIKLVBBU1Mgb3B0aW9uMi5pc1NlbGVjdGVkIGlzIGZhbHNlCi1QQVNTIHNlbGVjdEVsZW1l
bnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50IGlzIDEKLVBBU1Mgb3B0aW9uMS5pc1NlbGVjdGVkIGlz
IGZhbHNlCi1QQVNTIHNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50IGlzIDAKIFBB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9zZWxlY3QtZWxlbWVudC1hdC1pbmRleC5odG1s
IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9zZWxlY3QtZWxlbWVudC1hdC1pbmRleC5odG1s
CmluZGV4IDU4NzFhZjQ4OTQ3ZC4uYTM3MThkYWNiMzZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9hY2Nlc3NpYmlsaXR5L3NlbGVjdC1lbGVtZW50LWF0LWluZGV4Lmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvYWNjZXNzaWJpbGl0eS9zZWxlY3QtZWxlbWVudC1hdC1pbmRleC5odG1sCkBAIC0xLDcx
ICsxLDg0IEBACiA8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+
CiA8aHRtbD4KIDxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2FjY2Vzc2liaWxpdHktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+
PC9zY3JpcHQ+CiA8L2hlYWQ+Ci08Ym9keSBpZD0iYm9keSI+Cis8Ym9keT4KIAotPHNlbGVjdCBp
ZD0iZ3JvdXAiIG11bHRpcGxlPSJtdWx0aXBsZSI+Cis8c2VsZWN0IGlkPSJzZWxlY3QiIG11bHRp
cGxlPSJtdWx0aXBsZSI+CiAgICAgPG9wdGlvbj5PcHRpb24gMTwvb3B0aW9uPgogICAgIDxvcHRp
b24+T3B0aW9uIDI8L29wdGlvbj4KICAgICA8b3B0aW9uPk9wdGlvbiAzPC9vcHRpb24+CiAgICAg
PG9wdGlvbj5PcHRpb24gNDwvb3B0aW9uPgogPC9zZWxlY3Q+CiAKLTxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgotPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Ci0KIDxzY3JpcHQ+Ci0KLSAgICBkZXNj
cmlwdGlvbigiVGVzdHMgdGhhdCBjaGVja3Mgd2hldGhlciBzZXR0aW5nIHNlbGVjdGlvbiBhdCB0
aGUgZ2l2ZW4gaW5kZXggd29ya3MgY29ycmVjdGx5Iik7CisgICAgdmFyIHRlc3RPdXRwdXQgPSAi
VGhpcyB0ZXN0IGVuc3VyZXMgd2UgY2FuIHVzZSBBWCBBUElzIHRvIHNldCBhbmQgcmVtb3ZlIG9w
dGlvbiBzZWxlY3Rpb24gc3RhdGUuXG5cbiI7CisgICAgdmFyIHNlbGVjdEVsZW1lbnQgPSB3aW5k
b3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIgPyBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nl
c3NpYmxlRWxlbWVudEJ5SWQoInNlbGVjdCIpIDogbnVsbDsKKworICAgIGFzeW5jIGZ1bmN0aW9u
IHNldFNlbGVjdGVkSW5kZXgoaW5kZXgpIHsKKyAgICAgICAgY29uc3QgaW5pdGlhbFNlbGVjdGVk
Q2hpbGRyZW5Db3VudCA9IHNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50OworICAg
ICAgICB0ZXN0T3V0cHV0ICs9IGBcblNldHRpbmcgc2VsZWN0ZWQgaW5kZXggdG8gJHtpbmRleH0u
XG5gCisgICAgICAgIHNlbGVjdEVsZW1lbnQuc2V0U2VsZWN0ZWRDaGlsZEF0SW5kZXgoaW5kZXgp
OworICAgICAgICBhd2FpdCB3YWl0Rm9yKCgpID0+IHNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGls
ZHJlbkNvdW50ICE9PSBpbml0aWFsU2VsZWN0ZWRDaGlsZHJlbkNvdW50KTsKKyAgICB9CisKKyAg
ICBhc3luYyBmdW5jdGlvbiByZW1vdmVTZWxlY3Rpb25BdEluZGV4KGluZGV4KSB7CisgICAgICAg
IGNvbnN0IGluaXRpYWxTZWxlY3RlZENoaWxkcmVuQ291bnQgPSBzZWxlY3RFbGVtZW50LnNlbGVj
dGVkQ2hpbGRyZW5Db3VudDsKKyAgICAgICAgdGVzdE91dHB1dCArPSBgXG5SZW1vdmluZyBzZWxl
Y3Rpb24gYXQgaW5kZXggJHtpbmRleH0uXG5gCisgICAgICAgIHNlbGVjdEVsZW1lbnQucmVtb3Zl
U2VsZWN0aW9uQXRJbmRleChpbmRleCk7CisgICAgICAgIGF3YWl0IHdhaXRGb3IoKCkgPT4gc2Vs
ZWN0RWxlbWVudC5zZWxlY3RlZENoaWxkcmVuQ291bnQgIT09IGluaXRpYWxTZWxlY3RlZENoaWxk
cmVuQ291bnQpOworICAgIH0KIAogICAgIGlmICh3aW5kb3cuYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIpIHsKLSAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdyb3VwIikuZm9jdXMoKTsK
LSAgICAgICAgdmFyIHNlbGVjdEVsZW1lbnQgPSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5mb2N1
c2VkRWxlbWVudDsKKyAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOwogCi0gICAg
ICAgIHNob3VsZEJlKCJzZWxlY3RFbGVtZW50LnNlbGVjdGVkQ2hpbGRyZW5Db3VudCIsICIwIik7
CisgICAgICAgIHRlc3RPdXRwdXQgKz0gZXhwZWN0KCJzZWxlY3RFbGVtZW50LnNlbGVjdGVkQ2hp
bGRyZW5Db3VudCIsICIwIik7CiAKICAgICAgICAgdmFyIG9wdGlvbjEgPSBzZWxlY3RFbGVtZW50
LmNoaWxkQXRJbmRleCgwKTsKICAgICAgICAgdmFyIG9wdGlvbjIgPSBzZWxlY3RFbGVtZW50LmNo
aWxkQXRJbmRleCgxKTsKICAgICAgICAgdmFyIG9wdGlvbjMgPSBzZWxlY3RFbGVtZW50LmNoaWxk
QXRJbmRleCgyKTsKICAgICAgICAgdmFyIG9wdGlvbjQgPSBzZWxlY3RFbGVtZW50LmNoaWxkQXRJ
bmRleCgzKTsKIAotICAgICAgICBzZWxlY3RFbGVtZW50LnNldFNlbGVjdGVkQ2hpbGRBdEluZGV4
KDApOwotICAgICAgICBzaG91bGRCZSgic2VsZWN0RWxlbWVudC5zZWxlY3RlZENoaWxkcmVuQ291
bnQiLCAiMSIpOwotICAgICAgICBzaG91bGRCZVRydWUoIm9wdGlvbjEuaXNTZWxlY3RlZCIpOwot
ICAgICAgICBzaG91bGRCZVRydWUoInNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZEF0SW5kZXgo
MCkuaXNFcXVhbChvcHRpb24xKSIpOwotCi0gICAgICAgIHNlbGVjdEVsZW1lbnQuc2V0U2VsZWN0
ZWRDaGlsZEF0SW5kZXgoMSk7Ci0gICAgICAgIHNob3VsZEJlKCJzZWxlY3RFbGVtZW50LnNlbGVj
dGVkQ2hpbGRyZW5Db3VudCIsICIyIik7Ci0gICAgICAgIHNob3VsZEJlVHJ1ZSgib3B0aW9uMi5p
c1NlbGVjdGVkIik7Ci0gICAgICAgIHNob3VsZEJlVHJ1ZSgic2VsZWN0RWxlbWVudC5zZWxlY3Rl
ZENoaWxkQXRJbmRleCgxKS5pc0VxdWFsKG9wdGlvbjIpIik7Ci0KLSAgICAgICAgc2hvdWxkQmVG
YWxzZSgib3B0aW9uMy5pc1NlbGVjdGVkIik7Ci0KLSAgICAgICAgc2VsZWN0RWxlbWVudC5zZXRT
ZWxlY3RlZENoaWxkQXRJbmRleCgzKTsKLSAgICAgICAgc2hvdWxkQmUoInNlbGVjdEVsZW1lbnQu
c2VsZWN0ZWRDaGlsZHJlbkNvdW50IiwgIjMiKTsKLSAgICAgICAgc2hvdWxkQmVUcnVlKCJvcHRp
b240LmlzU2VsZWN0ZWQiKTsKLQotICAgICAgICAvLyBUaGUgaW5kZXggZXhwZWN0ZWQgYnkgc2Vs
ZWN0ZWRDaGlsZEF0SW5kZXggaXMgd2l0aCByZXNwZWN0IHRvIHRoZSBhcnJheSBvZgotICAgICAg
ICAvLyBzZWxlY3RlZCBjaGlsZHJlbjsgbm90IHRoZSBhcnJheSBvZiBhbGwgY2hpbGRyZW4uIFRo
ZSBlbGVtZW50IHdob3NlIHRleHQgaXMKLSAgICAgICAgLy8gIk9wdGlvbiA0IiBpcyB0aGUgdGhp
cmQgb2YgdGhyZWUgc2VsZWN0ZWQgaXRlbXMsIHRodXMgdGhlIGluZGV4IHNob3VsZCBiZSAyLgot
ICAgICAgICBzaG91bGRCZVRydWUoInNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZEF0SW5kZXgo
MikuaXNFcXVhbChvcHRpb240KSIpOwotCi0gICAgICAgIHNlbGVjdEVsZW1lbnQucmVtb3ZlU2Vs
ZWN0aW9uQXRJbmRleCgzKTsKLSAgICAgICAgc2hvdWxkQmVGYWxzZSgib3B0aW9uNC5pc1NlbGVj
dGVkIik7Ci0gICAgICAgIHNob3VsZEJlKCJzZWxlY3RFbGVtZW50LnNlbGVjdGVkQ2hpbGRyZW5D
b3VudCIsICIyIik7Ci0KLSAgICAgICAgc2VsZWN0RWxlbWVudC5yZW1vdmVTZWxlY3Rpb25BdElu
ZGV4KDEpOwotICAgICAgICBzaG91bGRCZUZhbHNlKCJvcHRpb24yLmlzU2VsZWN0ZWQiKTsKLSAg
ICAgICAgc2hvdWxkQmUoInNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50IiwgIjEi
KTsKLQotICAgICAgICBzZWxlY3RFbGVtZW50LnJlbW92ZVNlbGVjdGlvbkF0SW5kZXgoMCk7Ci0g
ICAgICAgIHNob3VsZEJlRmFsc2UoIm9wdGlvbjEuaXNTZWxlY3RlZCIpOwotICAgICAgICBzaG91
bGRCZSgic2VsZWN0RWxlbWVudC5zZWxlY3RlZENoaWxkcmVuQ291bnQiLCAiMCIpOwotfQotCisg
ICAgICAgIHNldFRpbWVvdXQoYXN5bmMgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBhd2FpdCBz
ZXRTZWxlY3RlZEluZGV4KDApOworICAgICAgICAgICAgdGVzdE91dHB1dCArPSBleHBlY3QoInNl
bGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZHJlbkNvdW50IiwgIjEiKTsKKyAgICAgICAgICAgIHRl
c3RPdXRwdXQgKz0gZXhwZWN0KCJvcHRpb24xLmlzU2VsZWN0ZWQiLCAidHJ1ZSIpOworICAgICAg
ICAgICAgdGVzdE91dHB1dCArPSBleHBlY3QoInNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRDaGlsZEF0
SW5kZXgoMCkuaXNFcXVhbChvcHRpb24xKSIsICJ0cnVlIik7CisKKyAgICAgICAgICAgIGF3YWl0
IHNldFNlbGVjdGVkSW5kZXgoMSk7CisgICAgICAgICAgICB0ZXN0T3V0cHV0ICs9IGV4cGVjdCgi
c2VsZWN0RWxlbWVudC5zZWxlY3RlZENoaWxkcmVuQ291bnQiLCAiMiIpOworICAgICAgICAgICAg
dGVzdE91dHB1dCArPSBleHBlY3QoIm9wdGlvbjIuaXNTZWxlY3RlZCIsICJ0cnVlIik7CisgICAg
ICAgICAgICB0ZXN0T3V0cHV0ICs9IGV4cGVjdCgic2VsZWN0RWxlbWVudC5zZWxlY3RlZENoaWxk
QXRJbmRleCgxKS5pc0VxdWFsKG9wdGlvbjIpIiwgInRydWUiKTsKKyAgICAgICAgICAgIHRlc3RP
dXRwdXQgKz0gZXhwZWN0KCJvcHRpb24zLmlzU2VsZWN0ZWQiLCAiZmFsc2UiKTsKKworICAgICAg
ICAgICAgYXdhaXQgc2V0U2VsZWN0ZWRJbmRleCgzKTsKKyAgICAgICAgICAgIHRlc3RPdXRwdXQg
Kz0gZXhwZWN0KCJzZWxlY3RFbGVtZW50LnNlbGVjdGVkQ2hpbGRyZW5Db3VudCIsICIzIik7Cisg
ICAgICAgICAgICB0ZXN0T3V0cHV0ICs9IGV4cGVjdCgib3B0aW9uNC5pc1NlbGVjdGVkIiwgInRy
dWUiKTsKKworICAgICAgICAgICAgLy8gVGhlIGluZGV4IGV4cGVjdGVkIGJ5IHNlbGVjdGVkQ2hp
bGRBdEluZGV4IGlzIHdpdGggcmVzcGVjdCB0byB0aGUgYXJyYXkgb2YKKyAgICAgICAgICAgIC8v
IHNlbGVjdGVkIGNoaWxkcmVuOyBub3QgdGhlIGFycmF5IG9mIGFsbCBjaGlsZHJlbi4gVGhlIGVs
ZW1lbnQgd2hvc2UgdGV4dCBpcworICAgICAgICAgICAgLy8gIk9wdGlvbiA0IiBpcyB0aGUgdGhp
cmQgb2YgdGhyZWUgc2VsZWN0ZWQgaXRlbXMsIHRodXMgdGhlIGluZGV4IHNob3VsZCBiZSAyLgor
ICAgICAgICAgICAgdGVzdE91dHB1dCArPSBleHBlY3QoInNlbGVjdEVsZW1lbnQuc2VsZWN0ZWRD
aGlsZEF0SW5kZXgoMikuaXNFcXVhbChvcHRpb240KSIsICJ0cnVlIik7CisKKyAgICAgICAgICAg
IGF3YWl0IHJlbW92ZVNlbGVjdGlvbkF0SW5kZXgoMyk7CisgICAgICAgICAgICB0ZXN0T3V0cHV0
ICs9IGV4cGVjdCgib3B0aW9uNC5pc1NlbGVjdGVkIiwgImZhbHNlIik7CisgICAgICAgICAgICB0
ZXN0T3V0cHV0ICs9IGV4cGVjdCgic2VsZWN0RWxlbWVudC5zZWxlY3RlZENoaWxkcmVuQ291bnQi
LCAiMiIpOworCisgICAgICAgICAgICBhd2FpdCByZW1vdmVTZWxlY3Rpb25BdEluZGV4KDEpOwor
ICAgICAgICAgICAgdGVzdE91dHB1dCArPSBleHBlY3QoIm9wdGlvbjIuaXNTZWxlY3RlZCIsICJm
YWxzZSIpOworICAgICAgICAgICAgdGVzdE91dHB1dCArPSBleHBlY3QoInNlbGVjdEVsZW1lbnQu
c2VsZWN0ZWRDaGlsZHJlbkNvdW50IiwgIjEiKTsKKworICAgICAgICAgICAgYXdhaXQgcmVtb3Zl
U2VsZWN0aW9uQXRJbmRleCgwKTsKKyAgICAgICAgICAgIHRlc3RPdXRwdXQgKz0gZXhwZWN0KCJv
cHRpb24xLmlzU2VsZWN0ZWQiLCAiZmFsc2UiKTsKKyAgICAgICAgICAgIHRlc3RPdXRwdXQgKz0g
ZXhwZWN0KCJzZWxlY3RFbGVtZW50LnNlbGVjdGVkQ2hpbGRyZW5Db3VudCIsICIwIik7CisKKyAg
ICAgICAgICAgIGRlYnVnKHRlc3RPdXRwdXQpOworICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7
CisgICAgICAgIH0sIDApOworICAgIH0KIDwvc2NyaXB0PgotCi08c2NyaXB0IHNyYz0iLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+CiA8L2h0bWw+CisK
</data>

          </attachment>
      

    </bug>

</bugzilla>