<?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>253752</bug_id>
          
          <creation_ts>2023-03-10 19:40:49 -0800</creation_ts>
          <short_desc>AX: -[WebAccessibilityObjectWrapperMac attachmentView] should only be called when needed</short_desc>
          <delta_ts>2023-03-14 11:12:36 -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>Other</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>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1940575</commentid>
    <comment_count>0</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-03-10 19:40:49 -0800</bug_when>
    <thetext>There are several places where we repeat calls to -[WebAccessibilityObjectWrapperMac attachmentView] in close succession rather than storing the attachment view in a local variable and re-using it. This is wasteful in ITM as each call requires a separate, synchronous round-trip to the main-thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1940576</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-03-10 19:40:59 -0800</bug_when>
    <thetext>&lt;rdar://problem/106584475&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1940577</commentid>
    <comment_count>2</comment_count>
      <attachid>465390</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-03-10 19:49:59 -0800</bug_when>
    <thetext>Created attachment 465390
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1940578</commentid>
    <comment_count>3</comment_count>
      <attachid>465390</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2023-03-10 19:56:37 -0800</bug_when>
    <thetext>Comment on attachment 465390
Patch

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

&gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:3830
&gt; +            }

I think we can get rid of the isAttschment variable and just use whether attachmentView is nil

AddObject: attachmentView ?: wrapper</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1940579</commentid>
    <comment_count>4</comment_count>
      <attachid>465391</attachid>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-03-10 20:04:30 -0800</bug_when>
    <thetext>Created attachment 465391
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1940580</commentid>
    <comment_count>5</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-03-10 20:05:10 -0800</bug_when>
    <thetext>(In reply to chris fleizach from comment #3)
&gt; Comment on attachment 465390 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=465390&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm:3830
&gt; &gt; +            }
&gt; 
&gt; I think we can get rid of the isAttschment variable and just use whether
&gt; attachmentView is nil
&gt; 
&gt; AddObject: attachmentView ?: wrapper
Good point, thanks! Fixed in latest patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1940939</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-03-13 10:20:43 -0700</bug_when>
    <thetext>commit-queue failed to commit attachment 465391 to WebKit repository. To retry, please set cq+ flag again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1941215</commentid>
    <comment_count>7</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2023-03-14 08:04:40 -0700</bug_when>
    <thetext>(In reply to Tyler Wilcock from comment #4)
&gt; Created attachment 465391 [details]
&gt; Patch

Would it make sense to get rid of isAttachment() and just have a attachmentView() that returns nil when it is not an attachment?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1941254</commentid>
    <comment_count>8</comment_count>
    <who name="Tyler Wilcock">tyler_w</who>
    <bug_when>2023-03-14 10:02:58 -0700</bug_when>
    <thetext>(In reply to Andres Gonzalez from comment #7)
&gt; (In reply to Tyler Wilcock from comment #4)
&gt; &gt; Created attachment 465391 [details]
&gt; &gt; Patch
&gt; 
&gt; Would it make sense to get rid of isAttachment() and just have a
&gt; attachmentView() that returns nil when it is not an attachment?
Yes, that&apos;s a good idea! Will put on my to-do list for a future patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1941274</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-03-14 11:12:32 -0700</bug_when>
    <thetext>Committed 261641@main (f238a7ef7870): &lt;https://commits.webkit.org/261641@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 465391.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>465390</attachid>
            <date>2023-03-10 19:49:59 -0800</date>
            <delta_ts>2023-03-10 20:04:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-253752-20230310194958.patch</filename>
            <type>text/plain</type>
            <size>8923</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">RnJvbSBjOGNkNWFjMmM2OGYyN2Y1NTVjY2MwYzJjN2IyNjczZTI0OWQ0MjI0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUeWxlciBXaWxjb2NrIDx0eWxlcl93QGFwcGxlLmNvbT4KRGF0
ZTogRnJpLCAxMCBNYXIgMjAyMyAxOTo0MToxNSAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIEFYOiAt
W1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjIGF0dGFjaG1lbnRWaWV3XSBzaG91bGQK
IG9ubHkgYmUgY2FsbGVkIHdoZW4gbmVlZGVkIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yNTM3NTIKIHJkYXI6Ly9wcm9ibGVtLzEwNjU4NDQ3NQoKUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCgpUaGVyZSBhcmUgc2V2ZXJhbCBwbGFjZXMgd2hlcmUgd2UgcmVwZWF0
IGNhbGxzIHRvIGAtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjIGF0dGFjaG1lbnRW
aWV3XWAgaW4gY2xvc2Ugc3VjY2Vzc2lvbgpyYXRoZXIgdGhhbiBzdG9yaW5nIHRoZSBhdHRhY2ht
ZW50IHZpZXcgaW4gYSBsb2NhbCB2YXJpYWJsZSBhbmQgcmUtdXNpbmcgaXQuIFRoaXMgaXMgd2Fz
dGVmdWwgaW4gSVRNIGFzIGVhY2ggY2FsbApyZXF1aXJlcyBhIHNlcGFyYXRlLCBzeW5jaHJvbm91
cyByb3VuZC10cmlwIHRvIHRoZSBtYWluLXRocmVhZC4KCk1vc3Qgbm90YWJseSBvZiBhbGwsIHRo
aXMgcGF0Y2ggZml4ZXMgYSBidWcgd2hlcmUgd2UgZGlkbid0IGNoZWNrIGBBWENvcmVPYmplY3Q6
OmlzQXR0YWNobWVudCgpYCBiZWZvcmUgY2FsbGluZwpgLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlck1hYyBhdHRhY2htZW50Vmlld11gIHdoZW4gaGFuZGxpbmcgYEFYVUlFbGVtZW50Rm9y
VGV4dE1hcmtlckF0dHJpYnV0ZWAuIFRoaXMgYnVnCmVmZmVjdGl2ZWx5IG1lYW50IHRoYXQgd2Ug
d2VudCB0byB0aGUgbWFpbi10aHJlYWQgZm9yIDEwMCUgb2Ygb2JqZWN0cyB0byB0cnkgdG8gZ2V0
IHRoZWlyIGF0dGFjaG1lbnRWaWV3LCBldmVuIGZvcgpvYmplY3RzIHRoYXQgYXJlIG5vdCBhdHRh
Y2htZW50cyAod2hpY2ggaXMgdGhlIG1ham9yaXR5KS4gSW4gYSBzYW1wbGUgdGFrZW4gZnJvbSBh
IHBvcHVsYXIgc29jaWFsIG1lZGlhIHdlYnNpdGUsCnRoaXMgYnVnIGNhdXNlZCAzODI4IHNhbXBs
ZXMgb2YgOTU5NDkgdG90YWwgc2Vjb25kYXJ5IHRocmVhZCBzYW1wbGVzLgoKKiBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0TWFjLm1tOgooV2ViQ29y
ZTo6YXR0cmlidXRlZFN0cmluZ1NldEVsZW1lbnQpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbToKKG1ha2VOU0Fy
cmF5KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlck1hYy5tbToKKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWNj
ZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOl0pOgooLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlciBhY2Nlc3NpYmlsaXR5SGl0VGVzdDpdKToKKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXIgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOmZvclBhcmFtZXRlcjpdKToKKC1bV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUFycmF5QXR0cmlidXRlVmFs
dWVzOmluZGV4Om1heENvdW50Ol0pOgotLS0KIC4uLi9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdE1h
Yy5tbSAgICAgICAgICAgICB8ICA2ICsrLQogLi4uL21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlckJhc2UubW0gIHwgIDYgKystCiAuLi4vbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyTWFjLm1tICAgfCAzOSArKysrKysrKysrKystLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQs
IDM0IGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2liaWxpdHlPYmplY3RNYWMubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0TWFjLm1tCmlu
ZGV4IDQxYWIwYWM5MTc0Ny4uMzM4ZGNhN2IyZTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0TWFjLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2liaWxpdHlPYmplY3RNYWMubW0KQEAg
LTY5OSw4ICs2OTksMTAgQEAgc3RhdGljIHZvaWQgYXR0cmlidXRlZFN0cmluZ1NldEVsZW1lbnQo
TlNNdXRhYmxlQXR0cmlidXRlZFN0cmluZyAqYXR0clN0cmluZywgTlMKICAgICAgICAgcmV0dXJu
OwogCiAgICAgaWQgd3JhcHBlciA9IG9iamVjdC0+d3JhcHBlcigpOwotICAgIGlmIChbYXR0cmli
dXRlIGlzRXF1YWxUb1N0cmluZzpOU0FjY2Vzc2liaWxpdHlBdHRhY2htZW50VGV4dEF0dHJpYnV0
ZV0gJiYgb2JqZWN0LT5pc0F0dGFjaG1lbnQoKSAmJiBbd3JhcHBlciBhdHRhY2htZW50Vmlld10p
Ci0gICAgICAgIHdyYXBwZXIgPSBbd3JhcHBlciBhdHRhY2htZW50Vmlld107CisgICAgaWYgKFth
dHRyaWJ1dGUgaXNFcXVhbFRvU3RyaW5nOk5TQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnRUZXh0QXR0
cmlidXRlXSAmJiBvYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CisgICAgICAgIGlmIChpZCBhdHRh
Y2htZW50VmlldyA9IFt3cmFwcGVyIGF0dGFjaG1lbnRWaWV3XSkKKyAgICAgICAgICAgIHdyYXBw
ZXIgPSBbd3JhcHBlciBhdHRhY2htZW50Vmlld107CisgICAgfQogCiAgICAgaWYgKGF1dG8gYXhF
bGVtZW50ID0gYWRvcHRDRihOU0FjY2Vzc2liaWxpdHlDcmVhdGVBWFVJRWxlbWVudFJlZih3cmFw
cGVyKSkpCiAgICAgICAgIFthdHRyU3RyaW5nIGFkZEF0dHJpYnV0ZTphdHRyaWJ1dGUgdmFsdWU6
KF9fYnJpZGdlIGlkKWF4RWxlbWVudC5nZXQoKSByYW5nZTpyYW5nZV07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlckJhc2UubW0gYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW0KaW5kZXggYjlkYmNjYTU1NTMwLi43YTlkYWNkY2Q5
YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW0KQEAgLTI3MCw4
ICsyNzAsMTAgQEAgTlNBcnJheSAqbWFrZU5TQXJyYXkoY29uc3QgV2ViQ29yZTo6QVhDb3JlT2Jq
ZWN0OjpBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImIGMKIAogICAgICAgICAvLyBXZSB3YW50
IHRvIHJldHVybiB0aGUgYXR0YWNobWVudCB2aWV3IGluc3RlYWQgb2YgdGhlIG9iamVjdCByZXBy
ZXNlbnRpbmcgdGhlIGF0dGFjaG1lbnQsCiAgICAgICAgIC8vIG90aGVyd2lzZSwgd2UgZ2V0IHBh
bGluZHJvbWUgZXJyb3JzIGluIHRoZSBBWCBoaWVyYXJjaHkuCi0gICAgICAgIGlmIChjaGlsZC0+
aXNBdHRhY2htZW50KCkgJiYgd3JhcHBlci5hdHRhY2htZW50VmlldykKLSAgICAgICAgICAgIHJl
dHVybiB3cmFwcGVyLmF0dGFjaG1lbnRWaWV3OworICAgICAgICBpZiAoY2hpbGQtPmlzQXR0YWNo
bWVudCgpKSB7CisgICAgICAgICAgICBpZiAoaWQgYXR0YWNobWVudFZpZXcgPSB3cmFwcGVyLmF0
dGFjaG1lbnRWaWV3KQorICAgICAgICAgICAgICAgIHJldHVybiBhdHRhY2htZW50VmlldzsKKyAg
ICAgICAgfQogCiAgICAgICAgIHJldHVybiB3cmFwcGVyOwogICAgIH0pLmF1dG9yZWxlYXNlKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
bWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCmluZGV4IDViMTdjMGM3NGNh
OC4uMmNlMjMzMWMzZmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlck1hYy5t
bQpAQCAtMTcwNyw4ICsxNzA3LDkgQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNf
RU5ECiAKICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2li
aWxpdHlUaXRsZUF0dHJpYnV0ZV0pIHsKICAgICAgICAgaWYgKGJhY2tpbmdPYmplY3QtPmlzQXR0
YWNobWVudCgpKSB7Ci0gICAgICAgICAgICBpZiAoW1tbc2VsZiBhdHRhY2htZW50Vmlld10gYWNj
ZXNzaWJpbGl0eUF0dHJpYnV0ZU5hbWVzXSBjb250YWluc09iamVjdDpOU0FjY2Vzc2liaWxpdHlU
aXRsZUF0dHJpYnV0ZV0pCi0gICAgICAgICAgICAgICAgcmV0dXJuIFtbc2VsZiBhdHRhY2htZW50
Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVRpdGxlQXR0
cmlidXRlXTsKKyAgICAgICAgICAgIGlkIGF0dGFjaG1lbnRWaWV3ID0gW3NlbGYgYXR0YWNobWVu
dFZpZXddOworICAgICAgICAgICAgaWYgKFtbYXR0YWNobWVudFZpZXcgYWNjZXNzaWJpbGl0eUF0
dHJpYnV0ZU5hbWVzXSBjb250YWluc09iamVjdDpOU0FjY2Vzc2liaWxpdHlUaXRsZUF0dHJpYnV0
ZV0pCisgICAgICAgICAgICAgICAgcmV0dXJuIFthdHRhY2htZW50VmlldyBhY2Nlc3NpYmlsaXR5
QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5VGl0bGVBdHRyaWJ1dGVdOwogICAgICAgICB9
CiAKICAgICAgICAgcmV0dXJuIGJhY2tpbmdPYmplY3QtPnRpdGxlQXR0cmlidXRlVmFsdWUoKTsK
QEAgLTE3MTYsMTYgKzE3MTcsMTggQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNf
RU5ECiAKICAgICBpZiAoW2F0dHJpYnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOk5TQWNjZXNzaWJp
bGl0eURlc2NyaXB0aW9uQXR0cmlidXRlXSkgewogICAgICAgICBpZiAoYmFja2luZ09iamVjdC0+
aXNBdHRhY2htZW50KCkpIHsKLSAgICAgICAgICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3
XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJp
bGl0eURlc2NyaXB0aW9uQXR0cmlidXRlXSkKLSAgICAgICAgICAgICAgICByZXR1cm4gW1tzZWxm
IGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmls
aXR5RGVzY3JpcHRpb25BdHRyaWJ1dGVdOworICAgICAgICAgICAgaWQgYXR0YWNobWVudFZpZXcg
PSBbc2VsZiBhdHRhY2htZW50Vmlld107CisgICAgICAgICAgICBpZiAoW1thdHRhY2htZW50Vmll
dyBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJp
bGl0eURlc2NyaXB0aW9uQXR0cmlidXRlXSkKKyAgICAgICAgICAgICAgICByZXR1cm4gW2F0dGFj
aG1lbnRWaWV3IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlEZXNj
cmlwdGlvbkF0dHJpYnV0ZV07CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIGJhY2tpbmdPYmpl
Y3QtPmRlc2NyaXB0aW9uQXR0cmlidXRlVmFsdWUoKTsKICAgICB9CiAKICAgICBpZiAoW2F0dHJp
YnV0ZU5hbWUgaXNFcXVhbFRvU3RyaW5nOiBOU0FjY2Vzc2liaWxpdHlWYWx1ZUF0dHJpYnV0ZV0p
IHsKICAgICAgICAgaWYgKGJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpKSB7Ci0gICAgICAg
ICAgICBpZiAoW1tbc2VsZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5h
bWVzXSBjb250YWluc09iamVjdDpOU0FjY2Vzc2liaWxpdHlWYWx1ZUF0dHJpYnV0ZV0pCi0gICAg
ICAgICAgICAgICAgcmV0dXJuIFtbc2VsZiBhdHRhY2htZW50Vmlld10gYWNjZXNzaWJpbGl0eUF0
dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eVZhbHVlQXR0cmlidXRlXTsKKyAgICAgICAgICAg
IGlkIGF0dGFjaG1lbnRWaWV3ID0gW3NlbGYgYXR0YWNobWVudFZpZXddOworICAgICAgICAgICAg
aWYgKFtbYXR0YWNobWVudFZpZXcgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZU5hbWVzXSBjb250YWlu
c09iamVjdDpOU0FjY2Vzc2liaWxpdHlWYWx1ZUF0dHJpYnV0ZV0pCisgICAgICAgICAgICAgICAg
cmV0dXJuIFthdHRhY2htZW50VmlldyBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nl
c3NpYmlsaXR5VmFsdWVBdHRyaWJ1dGVdOwogICAgICAgICB9CiAKICAgICAgICAgYXV0byB2YWx1
ZSA9IGJhY2tpbmdPYmplY3QtPnZhbHVlKCk7CkBAIC0yMzE5LDggKzIzMjIsMTAgQEAgLSAoaWQp
YWNjZXNzaWJpbGl0eUhpdFRlc3Q6KE5TUG9pbnQpcG9pbnQKIAogICAgIGlkIGhpdCA9IG5pbDsK
ICAgICBpZiAoYXhPYmplY3QpIHsKLSAgICAgICAgaWYgKGF4T2JqZWN0LT5pc0F0dGFjaG1lbnQo
KSAmJiBbYXhPYmplY3QtPndyYXBwZXIoKSBhdHRhY2htZW50Vmlld10pCi0gICAgICAgICAgICBy
ZXR1cm4gW2F4T2JqZWN0LT53cmFwcGVyKCkgYXR0YWNobWVudFZpZXddOworICAgICAgICBpZiAo
YXhPYmplY3QtPmlzQXR0YWNobWVudCgpKSB7CisgICAgICAgICAgICBpZiAoaWQgYXR0YWNobWVu
dFZpZXcgPSBbYXhPYmplY3QtPndyYXBwZXIoKSBhdHRhY2htZW50Vmlld10pCisgICAgICAgICAg
ICAgICAgcmV0dXJuIGF0dGFjaG1lbnRWaWV3OworICAgICAgICB9CiAKICAgICAgICAgaGl0ID0g
QWNjZXNzaWJpbGl0eTo6cmV0cmlldmVBdXRvcmVsZWFzZWRWYWx1ZUZyb21NYWluVGhyZWFkPGlk
PihbJmF4T2JqZWN0LCAmcG9pbnRdICgpIC0+IFJldGFpblB0cjxpZD4gewogICAgICAgICAgICAg
YXV0byogd2lkZ2V0ID0gYXhPYmplY3QtPndpZGdldCgpOwpAQCAtMzI5NCw3ICszMjk5LDcgQEAg
QUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNfRU5ECiAKICAgICBpZiAoW2F0dHJpYnV0
ZSBpc0VxdWFsVG9TdHJpbmc6QVhVSUVsZW1lbnRGb3JUZXh0TWFya2VyQXR0cmlidXRlXSkgewog
ICAgICAgICBBWFRleHRNYXJrZXIgbWFya2VyKHRleHRNYXJrZXIpOwotICAgICAgICBhdXRvIG9i
amVjdCA9IG1hcmtlci5vYmplY3QoKTsKKyAgICAgICAgUmVmUHRyIG9iamVjdCA9IG1hcmtlci5v
YmplY3QoKTsKICAgICAgICAgaWYgKCFvYmplY3QpCiAgICAgICAgICAgICByZXR1cm4gbmlsOwog
CkBAIC0zMzAyLDggKzMzMDcsMTAgQEAgQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNf
RU5ECiAgICAgICAgIGlmICghd3JhcHBlcikKICAgICAgICAgICAgIHJldHVybiBuaWw7CiAKLSAg
ICAgICAgaWYgKGlkIGF0dGFjaG1lbnRWaWV3ID0gd3JhcHBlci5hdHRhY2htZW50VmlldykKLSAg
ICAgICAgICAgIHJldHVybiBhdHRhY2htZW50VmlldzsKKyAgICAgICAgaWYgKG9iamVjdC0+aXNB
dHRhY2htZW50KCkpIHsKKyAgICAgICAgICAgIGlmIChpZCBhdHRhY2htZW50VmlldyA9IHdyYXBw
ZXIuYXR0YWNobWVudFZpZXcpCisgICAgICAgICAgICAgICAgcmV0dXJuIGF0dGFjaG1lbnRWaWV3
OworICAgICAgICB9CiAgICAgICAgIHJldHVybiB3cmFwcGVyOwogICAgIH0KIApAQCAtMzgxMyw5
ICszODIwLDE1IEBAIC0gKE5TQXJyYXkgKilhY2Nlc3NpYmlsaXR5QXJyYXlBdHRyaWJ1dGVWYWx1
ZXM6KE5TU3RyaW5nICopYXR0cmlidXRlIGluZGV4OihOU1VJCiAgICAgICAgIE5TTXV0YWJsZUFy
cmF5ICpzdWJhcnJheSA9IFtOU011dGFibGVBcnJheSBhcnJheVdpdGhDYXBhY2l0eTphdmFpbGFi
bGVdOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGFkZGVkID0gMDsgYWRkZWQgPCBhdmFpbGFibGU7
ICsraW5kZXgsICsrYWRkZWQpIHsKICAgICAgICAgICAgIFdlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyKiB3cmFwcGVyID0gY2hpbGRyZW5baW5kZXhdOworCiAgICAgICAgICAgICAvLyBUaGUg
YXR0YWNobWVudCB2aWV3IHNob3VsZCBiZSByZXR1cm5lZCwgb3RoZXJ3aXNlIEFYIHBhbGluZHJv
bWUgZXJyb3JzIG9jY3VyLgotICAgICAgICAgICAgQk9PTCBpc0F0dGFjaG1lbnQgPSBbd3JhcHBl
ciBpc0tpbmRPZkNsYXNzOltXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciBjbGFzc11dICYm
IHdyYXBwZXIuYXhCYWNraW5nT2JqZWN0ICYmIHdyYXBwZXIuYXhCYWNraW5nT2JqZWN0LT5pc0F0
dGFjaG1lbnQoKSAmJiBbd3JhcHBlciBhdHRhY2htZW50Vmlld107Ci0gICAgICAgICAgICBbc3Vi
YXJyYXkgYWRkT2JqZWN0OmlzQXR0YWNobWVudCA/IFt3cmFwcGVyIGF0dGFjaG1lbnRWaWV3XSA6
IHdyYXBwZXJdOworICAgICAgICAgICAgaWQgYXR0YWNobWVudFZpZXcgPSBuaWw7CisgICAgICAg
ICAgICBCT09MIGlzQXR0YWNobWVudCA9IFt3cmFwcGVyIGlzS2luZE9mQ2xhc3M6W1dlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyIGNsYXNzXV0gJiYgd3JhcHBlci5heEJhY2tpbmdPYmplY3Qg
JiYgd3JhcHBlci5heEJhY2tpbmdPYmplY3QtPmlzQXR0YWNobWVudCgpOworICAgICAgICAgICAg
aWYgKGlzQXR0YWNobWVudCkgeworICAgICAgICAgICAgICAgIGF0dGFjaG1lbnRWaWV3ID0gW3dy
YXBwZXIgYXR0YWNobWVudFZpZXddOworICAgICAgICAgICAgICAgIGlzQXR0YWNobWVudCA9ICEh
YXR0YWNobWVudFZpZXc7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBbc3ViYXJyYXkgYWRk
T2JqZWN0OmlzQXR0YWNobWVudCA/IGF0dGFjaG1lbnRWaWV3IDogd3JhcHBlcl07CiAgICAgICAg
IH0KIAogICAgICAgICByZXR1cm4gc3ViYXJyYXk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>465391</attachid>
            <date>2023-03-10 20:04:30 -0800</date>
            <delta_ts>2023-03-14 11:12:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-253752-20230310200429.patch</filename>
            <type>text/plain</type>
            <size>8813</size>
            <attacher name="Tyler Wilcock">tyler_w</attacher>
            
              <data encoding="base64">RnJvbSBiZGJiOTQxNDhmMzE1Yzc1ODEwZjIzZjEwMDVlOTJhYjk3NmM4OWVhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUeWxlciBXaWxjb2NrIDx0eWxlcl93QGFwcGxlLmNvbT4KRGF0
ZTogRnJpLCAxMCBNYXIgMjAyMyAxOTo0MToxNSAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIEFYOiAt
W1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjIGF0dGFjaG1lbnRWaWV3XSBzaG91bGQK
IG9ubHkgYmUgY2FsbGVkIHdoZW4gbmVlZGVkIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yNTM3NTIKIHJkYXI6Ly9wcm9ibGVtLzEwNjU4NDQ3NQoKUmV2aWV3ZWQgYnkg
Q2hyaXMgRmxlaXphY2guCgpUaGVyZSBhcmUgc2V2ZXJhbCBwbGFjZXMgd2hlcmUgd2UgcmVwZWF0
IGNhbGxzIHRvIGAtW1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjIGF0dGFjaG1lbnRW
aWV3XWAgaW4gY2xvc2Ugc3VjY2Vzc2lvbgpyYXRoZXIgdGhhbiBzdG9yaW5nIHRoZSBhdHRhY2ht
ZW50IHZpZXcgaW4gYSBsb2NhbCB2YXJpYWJsZSBhbmQgcmUtdXNpbmcgaXQuIFRoaXMgaXMgd2Fz
dGVmdWwgaW4gSVRNIGFzIGVhY2ggY2FsbApyZXF1aXJlcyBhIHNlcGFyYXRlLCBzeW5jaHJvbm91
cyByb3VuZC10cmlwIHRvIHRoZSBtYWluLXRocmVhZC4KCk1vc3Qgbm90YWJseSBvZiBhbGwsIHRo
aXMgcGF0Y2ggZml4ZXMgYSBidWcgd2hlcmUgd2UgZGlkbid0IGNoZWNrIGBBWENvcmVPYmplY3Q6
OmlzQXR0YWNobWVudCgpYCBiZWZvcmUgY2FsbGluZwpgLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlck1hYyBhdHRhY2htZW50Vmlld11gIHdoZW4gaGFuZGxpbmcgYEFYVUlFbGVtZW50Rm9y
VGV4dE1hcmtlckF0dHJpYnV0ZWAuIFRoaXMgYnVnCmVmZmVjdGl2ZWx5IG1lYW50IHRoYXQgd2Ug
d2VudCB0byB0aGUgbWFpbi10aHJlYWQgZm9yIDEwMCUgb2Ygb2JqZWN0cyB0byB0cnkgdG8gZ2V0
IHRoZWlyIGF0dGFjaG1lbnRWaWV3LCBldmVuIGZvcgpvYmplY3RzIHRoYXQgYXJlIG5vdCBhdHRh
Y2htZW50cyAod2hpY2ggaXMgdGhlIG1ham9yaXR5KS4gSW4gYSBzYW1wbGUgdGFrZW4gZnJvbSBh
IHBvcHVsYXIgc29jaWFsIG1lZGlhIHdlYnNpdGUsCnRoaXMgYnVnIGNhdXNlZCAzODI4IHNhbXBs
ZXMgb2YgOTU5NDkgdG90YWwgc2Vjb25kYXJ5IHRocmVhZCBzYW1wbGVzLgoKKiBTb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L21hYy9BY2Nlc3NpYmlsaXR5T2JqZWN0TWFjLm1tOgooV2ViQ29y
ZTo6YXR0cmlidXRlZFN0cmluZ1NldEVsZW1lbnQpOgoqIFNvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbToKKG1ha2VOU0Fy
cmF5KToKKiBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5
T2JqZWN0V3JhcHBlck1hYy5tbToKKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWNj
ZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOl0pOgooLVtXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlciBhY2Nlc3NpYmlsaXR5SGl0VGVzdDpdKToKKC1bV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXIgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOmZvclBhcmFtZXRlcjpdKToKKC1bV2Vi
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgYWNjZXNzaWJpbGl0eUFycmF5QXR0cmlidXRlVmFs
dWVzOmluZGV4Om1heENvdW50Ol0pOgotLS0KIC4uLi9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdE1h
Yy5tbSAgICAgICAgICAgICB8ICA2ICsrLS0KIC4uLi9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXJCYXNlLm1tICB8ICA2ICsrLS0KIC4uLi9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXJNYWMubW0gICB8IDM2ICsrKysrKysrKysrKy0tLS0tLS0KIDMgZmlsZXMgY2hhbmdl
ZCwgMzEgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdE1hYy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2liaWxpdHlPYmplY3RNYWMubW0K
aW5kZXggNDFhYjBhYzkxNzQ3Li4zMzhkY2E3YjJlN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvbWFjL0FjY2Vzc2liaWxpdHlPYmplY3RNYWMubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvQWNjZXNzaWJpbGl0eU9iamVjdE1hYy5tbQpA
QCAtNjk5LDggKzY5OSwxMCBAQCBzdGF0aWMgdm9pZCBhdHRyaWJ1dGVkU3RyaW5nU2V0RWxlbWVu
dChOU011dGFibGVBdHRyaWJ1dGVkU3RyaW5nICphdHRyU3RyaW5nLCBOUwogICAgICAgICByZXR1
cm47CiAKICAgICBpZCB3cmFwcGVyID0gb2JqZWN0LT53cmFwcGVyKCk7Ci0gICAgaWYgKFthdHRy
aWJ1dGUgaXNFcXVhbFRvU3RyaW5nOk5TQWNjZXNzaWJpbGl0eUF0dGFjaG1lbnRUZXh0QXR0cmli
dXRlXSAmJiBvYmplY3QtPmlzQXR0YWNobWVudCgpICYmIFt3cmFwcGVyIGF0dGFjaG1lbnRWaWV3
XSkKLSAgICAgICAgd3JhcHBlciA9IFt3cmFwcGVyIGF0dGFjaG1lbnRWaWV3XTsKKyAgICBpZiAo
W2F0dHJpYnV0ZSBpc0VxdWFsVG9TdHJpbmc6TlNBY2Nlc3NpYmlsaXR5QXR0YWNobWVudFRleHRB
dHRyaWJ1dGVdICYmIG9iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKKyAgICAgICAgaWYgKGlkIGF0
dGFjaG1lbnRWaWV3ID0gW3dyYXBwZXIgYXR0YWNobWVudFZpZXddKQorICAgICAgICAgICAgd3Jh
cHBlciA9IFt3cmFwcGVyIGF0dGFjaG1lbnRWaWV3XTsKKyAgICB9CiAKICAgICBpZiAoYXV0byBh
eEVsZW1lbnQgPSBhZG9wdENGKE5TQWNjZXNzaWJpbGl0eUNyZWF0ZUFYVUlFbGVtZW50UmVmKHdy
YXBwZXIpKSkKICAgICAgICAgW2F0dHJTdHJpbmcgYWRkQXR0cmlidXRlOmF0dHJpYnV0ZSB2YWx1
ZTooX19icmlkZ2UgaWQpYXhFbGVtZW50LmdldCgpIHJhbmdlOnJhbmdlXTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RX
cmFwcGVyQmFzZS5tbSBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQppbmRleCBiOWRiY2NhNTU1MzAuLjdhOWRhY2Rj
ZDlhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQpAQCAtMjcw
LDggKzI3MCwxMCBAQCBOU0FycmF5ICptYWtlTlNBcnJheShjb25zdCBXZWJDb3JlOjpBWENvcmVP
YmplY3Q6OkFjY2Vzc2liaWxpdHlDaGlsZHJlblZlY3RvciYgYwogCiAgICAgICAgIC8vIFdlIHdh
bnQgdG8gcmV0dXJuIHRoZSBhdHRhY2htZW50IHZpZXcgaW5zdGVhZCBvZiB0aGUgb2JqZWN0IHJl
cHJlc2VudGluZyB0aGUgYXR0YWNobWVudCwKICAgICAgICAgLy8gb3RoZXJ3aXNlLCB3ZSBnZXQg
cGFsaW5kcm9tZSBlcnJvcnMgaW4gdGhlIEFYIGhpZXJhcmNoeS4KLSAgICAgICAgaWYgKGNoaWxk
LT5pc0F0dGFjaG1lbnQoKSAmJiB3cmFwcGVyLmF0dGFjaG1lbnRWaWV3KQotICAgICAgICAgICAg
cmV0dXJuIHdyYXBwZXIuYXR0YWNobWVudFZpZXc7CisgICAgICAgIGlmIChjaGlsZC0+aXNBdHRh
Y2htZW50KCkpIHsKKyAgICAgICAgICAgIGlmIChpZCBhdHRhY2htZW50VmlldyA9IHdyYXBwZXIu
YXR0YWNobWVudFZpZXcpCisgICAgICAgICAgICAgICAgcmV0dXJuIGF0dGFjaG1lbnRWaWV3Owor
ICAgICAgICB9CiAKICAgICAgICAgcmV0dXJuIHdyYXBwZXI7CiAgICAgfSkuYXV0b3JlbGVhc2Uo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJNYWMubW0KaW5kZXggNWIxN2MwYzc0
Y2E4Li5jZTkxZjU1YjgwNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyTWFj
Lm1tCkBAIC0xNzA3LDggKzE3MDcsOSBAQCBBTExPV19ERVBSRUNBVEVEX0lNUExFTUVOVEFUSU9O
U19FTkQKIAogICAgIGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNz
aWJpbGl0eVRpdGxlQXR0cmlidXRlXSkgewogICAgICAgICBpZiAoYmFja2luZ09iamVjdC0+aXNB
dHRhY2htZW50KCkpIHsKLSAgICAgICAgICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBh
Y2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0
eVRpdGxlQXR0cmlidXRlXSkKLSAgICAgICAgICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1l
bnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5VGl0bGVB
dHRyaWJ1dGVdOworICAgICAgICAgICAgaWQgYXR0YWNobWVudFZpZXcgPSBbc2VsZiBhdHRhY2ht
ZW50Vmlld107CisgICAgICAgICAgICBpZiAoW1thdHRhY2htZW50VmlldyBhY2Nlc3NpYmlsaXR5
QXR0cmlidXRlTmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eVRpdGxlQXR0cmli
dXRlXSkKKyAgICAgICAgICAgICAgICByZXR1cm4gW2F0dGFjaG1lbnRWaWV3IGFjY2Vzc2liaWxp
dHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlUaXRsZUF0dHJpYnV0ZV07CiAgICAgICAg
IH0KIAogICAgICAgICByZXR1cm4gYmFja2luZ09iamVjdC0+dGl0bGVBdHRyaWJ1dGVWYWx1ZSgp
OwpAQCAtMTcxNiwxNiArMTcxNywxOCBAQCBBTExPV19ERVBSRUNBVEVEX0lNUExFTUVOVEFUSU9O
U19FTkQKIAogICAgIGlmIChbYXR0cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6TlNBY2Nlc3Np
YmlsaXR5RGVzY3JpcHRpb25BdHRyaWJ1dGVdKSB7CiAgICAgICAgIGlmIChiYWNraW5nT2JqZWN0
LT5pc0F0dGFjaG1lbnQoKSkgewotICAgICAgICAgICAgaWYgKFtbW3NlbGYgYXR0YWNobWVudFZp
ZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10gY29udGFpbnNPYmplY3Q6TlNBY2Nlc3Np
YmlsaXR5RGVzY3JpcHRpb25BdHRyaWJ1dGVdKQotICAgICAgICAgICAgICAgIHJldHVybiBbW3Nl
bGYgYXR0YWNobWVudFZpZXddIGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2li
aWxpdHlEZXNjcmlwdGlvbkF0dHJpYnV0ZV07CisgICAgICAgICAgICBpZCBhdHRhY2htZW50Vmll
dyA9IFtzZWxmIGF0dGFjaG1lbnRWaWV3XTsKKyAgICAgICAgICAgIGlmIChbW2F0dGFjaG1lbnRW
aWV3IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVOYW1lc10gY29udGFpbnNPYmplY3Q6TlNBY2Nlc3Np
YmlsaXR5RGVzY3JpcHRpb25BdHRyaWJ1dGVdKQorICAgICAgICAgICAgICAgIHJldHVybiBbYXR0
YWNobWVudFZpZXcgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eURl
c2NyaXB0aW9uQXR0cmlidXRlXTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gYmFja2luZ09i
amVjdC0+ZGVzY3JpcHRpb25BdHRyaWJ1dGVWYWx1ZSgpOwogICAgIH0KIAogICAgIGlmIChbYXR0
cmlidXRlTmFtZSBpc0VxdWFsVG9TdHJpbmc6IE5TQWNjZXNzaWJpbGl0eVZhbHVlQXR0cmlidXRl
XSkgewogICAgICAgICBpZiAoYmFja2luZ09iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKLSAgICAg
ICAgICAgIGlmIChbW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5QXR0cmlidXRl
TmFtZXNdIGNvbnRhaW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eVZhbHVlQXR0cmlidXRlXSkKLSAg
ICAgICAgICAgICAgICByZXR1cm4gW1tzZWxmIGF0dGFjaG1lbnRWaWV3XSBhY2Nlc3NpYmlsaXR5
QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5VmFsdWVBdHRyaWJ1dGVdOworICAgICAgICAg
ICAgaWQgYXR0YWNobWVudFZpZXcgPSBbc2VsZiBhdHRhY2htZW50Vmlld107CisgICAgICAgICAg
ICBpZiAoW1thdHRhY2htZW50VmlldyBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlTmFtZXNdIGNvbnRh
aW5zT2JqZWN0Ok5TQWNjZXNzaWJpbGl0eVZhbHVlQXR0cmlidXRlXSkKKyAgICAgICAgICAgICAg
ICByZXR1cm4gW2F0dGFjaG1lbnRWaWV3IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0Fj
Y2Vzc2liaWxpdHlWYWx1ZUF0dHJpYnV0ZV07CiAgICAgICAgIH0KIAogICAgICAgICBhdXRvIHZh
bHVlID0gYmFja2luZ09iamVjdC0+dmFsdWUoKTsKQEAgLTIzMTksOCArMjMyMiwxMCBAQCAtIChp
ZClhY2Nlc3NpYmlsaXR5SGl0VGVzdDooTlNQb2ludClwb2ludAogCiAgICAgaWQgaGl0ID0gbmls
OwogICAgIGlmIChheE9iamVjdCkgewotICAgICAgICBpZiAoYXhPYmplY3QtPmlzQXR0YWNobWVu
dCgpICYmIFtheE9iamVjdC0+d3JhcHBlcigpIGF0dGFjaG1lbnRWaWV3XSkKLSAgICAgICAgICAg
IHJldHVybiBbYXhPYmplY3QtPndyYXBwZXIoKSBhdHRhY2htZW50Vmlld107CisgICAgICAgIGlm
IChheE9iamVjdC0+aXNBdHRhY2htZW50KCkpIHsKKyAgICAgICAgICAgIGlmIChpZCBhdHRhY2ht
ZW50VmlldyA9IFtheE9iamVjdC0+d3JhcHBlcigpIGF0dGFjaG1lbnRWaWV3XSkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gYXR0YWNobWVudFZpZXc7CisgICAgICAgIH0KIAogICAgICAgICBoaXQg
PSBBY2Nlc3NpYmlsaXR5OjpyZXRyaWV2ZUF1dG9yZWxlYXNlZFZhbHVlRnJvbU1haW5UaHJlYWQ8
aWQ+KFsmYXhPYmplY3QsICZwb2ludF0gKCkgLT4gUmV0YWluUHRyPGlkPiB7CiAgICAgICAgICAg
ICBhdXRvKiB3aWRnZXQgPSBheE9iamVjdC0+d2lkZ2V0KCk7CkBAIC0zMjk0LDcgKzMyOTksNyBA
QCBBTExPV19ERVBSRUNBVEVEX0lNUExFTUVOVEFUSU9OU19FTkQKIAogICAgIGlmIChbYXR0cmli
dXRlIGlzRXF1YWxUb1N0cmluZzpBWFVJRWxlbWVudEZvclRleHRNYXJrZXJBdHRyaWJ1dGVdKSB7
CiAgICAgICAgIEFYVGV4dE1hcmtlciBtYXJrZXIodGV4dE1hcmtlcik7Ci0gICAgICAgIGF1dG8g
b2JqZWN0ID0gbWFya2VyLm9iamVjdCgpOworICAgICAgICBSZWZQdHIgb2JqZWN0ID0gbWFya2Vy
Lm9iamVjdCgpOwogICAgICAgICBpZiAoIW9iamVjdCkKICAgICAgICAgICAgIHJldHVybiBuaWw7
CiAKQEAgLTMzMDIsOCArMzMwNywxMCBAQCBBTExPV19ERVBSRUNBVEVEX0lNUExFTUVOVEFUSU9O
U19FTkQKICAgICAgICAgaWYgKCF3cmFwcGVyKQogICAgICAgICAgICAgcmV0dXJuIG5pbDsKIAot
ICAgICAgICBpZiAoaWQgYXR0YWNobWVudFZpZXcgPSB3cmFwcGVyLmF0dGFjaG1lbnRWaWV3KQot
ICAgICAgICAgICAgcmV0dXJuIGF0dGFjaG1lbnRWaWV3OworICAgICAgICBpZiAob2JqZWN0LT5p
c0F0dGFjaG1lbnQoKSkgeworICAgICAgICAgICAgaWYgKGlkIGF0dGFjaG1lbnRWaWV3ID0gd3Jh
cHBlci5hdHRhY2htZW50VmlldykKKyAgICAgICAgICAgICAgICByZXR1cm4gYXR0YWNobWVudFZp
ZXc7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHdyYXBwZXI7CiAgICAgfQogCkBAIC0zODEz
LDkgKzM4MjAsMTIgQEAgLSAoTlNBcnJheSAqKWFjY2Vzc2liaWxpdHlBcnJheUF0dHJpYnV0ZVZh
bHVlczooTlNTdHJpbmcgKilhdHRyaWJ1dGUgaW5kZXg6KE5TVUkKICAgICAgICAgTlNNdXRhYmxl
QXJyYXkgKnN1YmFycmF5ID0gW05TTXV0YWJsZUFycmF5IGFycmF5V2l0aENhcGFjaXR5OmF2YWls
YWJsZV07CiAgICAgICAgIGZvciAodW5zaWduZWQgYWRkZWQgPSAwOyBhZGRlZCA8IGF2YWlsYWJs
ZTsgKytpbmRleCwgKythZGRlZCkgewogICAgICAgICAgICAgV2ViQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXIqIHdyYXBwZXIgPSBjaGlsZHJlbltpbmRleF07CisKICAgICAgICAgICAgIC8vIFRo
ZSBhdHRhY2htZW50IHZpZXcgc2hvdWxkIGJlIHJldHVybmVkLCBvdGhlcndpc2UgQVggcGFsaW5k
cm9tZSBlcnJvcnMgb2NjdXIuCi0gICAgICAgICAgICBCT09MIGlzQXR0YWNobWVudCA9IFt3cmFw
cGVyIGlzS2luZE9mQ2xhc3M6W1dlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyIGNsYXNzXV0g
JiYgd3JhcHBlci5heEJhY2tpbmdPYmplY3QgJiYgd3JhcHBlci5heEJhY2tpbmdPYmplY3QtPmlz
QXR0YWNobWVudCgpICYmIFt3cmFwcGVyIGF0dGFjaG1lbnRWaWV3XTsKLSAgICAgICAgICAgIFtz
dWJhcnJheSBhZGRPYmplY3Q6aXNBdHRhY2htZW50ID8gW3dyYXBwZXIgYXR0YWNobWVudFZpZXdd
IDogd3JhcHBlcl07CisgICAgICAgICAgICBpZCBhdHRhY2htZW50VmlldyA9IG5pbDsKKyAgICAg
ICAgICAgIGlmIChbd3JhcHBlciBpc0tpbmRPZkNsYXNzOltXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0
V3JhcHBlciBjbGFzc11dICYmIHdyYXBwZXIuYXhCYWNraW5nT2JqZWN0ICYmIHdyYXBwZXIuYXhC
YWNraW5nT2JqZWN0LT5pc0F0dGFjaG1lbnQoKSkKKyAgICAgICAgICAgICAgICBhdHRhY2htZW50
VmlldyA9IFt3cmFwcGVyIGF0dGFjaG1lbnRWaWV3XTsKKyAgICAgICAgICAgIFtzdWJhcnJheSBh
ZGRPYmplY3Q6YXR0YWNobWVudFZpZXcgPyBhdHRhY2htZW50VmlldyA6IHdyYXBwZXJdOwogICAg
ICAgICB9CiAKICAgICAgICAgcmV0dXJuIHN1YmFycmF5Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>