<?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>272315</bug_id>
          
          <creation_ts>2024-04-07 20:50:07 -0700</creation_ts>
          <short_desc>[SetNeedsLayout][Cleanup] Decouple marking ancestor chain dirty and scheduling layout</short_desc>
          <delta_ts>2024-04-08 19:25:15 -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>Layout and Rendering</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2026680</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2024-04-07 20:50:07 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2026681</commentid>
    <comment_count>1</comment_count>
      <attachid>470809</attachid>
    <who name="alan">zalan</who>
    <bug_when>2024-04-07 20:58:40 -0700</bug_when>
    <thetext>Created attachment 470809
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2026733</commentid>
    <comment_count>2</comment_count>
      <attachid>470814</attachid>
    <who name="alan">zalan</who>
    <bug_when>2024-04-08 06:21:28 -0700</bug_when>
    <thetext>Created attachment 470814
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2026802</commentid>
    <comment_count>3</comment_count>
      <attachid>470819</attachid>
    <who name="alan">zalan</who>
    <bug_when>2024-04-08 11:07:02 -0700</bug_when>
    <thetext>Created attachment 470819
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2026948</commentid>
    <comment_count>4</comment_count>
      <attachid>470823</attachid>
    <who name="alan">zalan</who>
    <bug_when>2024-04-08 14:36:31 -0700</bug_when>
    <thetext>Created attachment 470823
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2026991</commentid>
    <comment_count>5</comment_count>
      <attachid>470825</attachid>
    <who name="alan">zalan</who>
    <bug_when>2024-04-08 17:27:45 -0700</bug_when>
    <thetext>Created attachment 470825
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2027019</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2024-04-08 19:24:54 -0700</bug_when>
    <thetext>Committed 277229@main (2a8de03264da): &lt;https://commits.webkit.org/277229@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 470825.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2027020</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2024-04-08 19:25:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/126109886&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>470809</attachid>
            <date>2024-04-07 20:58:40 -0700</date>
            <delta_ts>2024-04-08 06:21:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-272315-20240407205839.patch</filename>
            <type>text/plain</type>
            <size>14622</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAzZmZmNzc4OGVhZGY2YTYyOTViMjYwNDFlYjA2MTdmN2YyYTU3ZThjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFN1biwgNyBBcHIgMjAyNCAyMDo1MToxNSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzIzMTUKIFtTZXROZWVkc0xheW91dF1b
Q2xlYW51cF0gRGVjb3VwbGUgbWFya2luZyBhbmNlc3RvciBjaGFpbiBkaXJ0eSBhbmQKIHNjaGVk
dWxpbmcgbGF5b3V0CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCkluIGNhc2VzIHdoZW4g
c3VidHJlZSBsYXlvdXQgc2NoZWR1bGluZyByZXF1aXJlcyBhZGp1c3RpbmcgdGhlIGxheW91dCBy
b290LCB3ZSBvbmx5IHdhbnQgdG8gbWFyayBzb21lIG1vcmUKcmVuZGVyZXJzIGRpcnR5IHdpdGhv
dXQgc2NoZWR1bGluZyBsYXlvdXQgKHRoZXJlJ3MgYSBwZW5kaW5nIGxheW91dCBzY2hlZHVsZWQg
YWxyZWFkeSkuCgpMZXQgUmVuZGVyT2JqZWN0OjptYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91
dCBvbmx5IGRlYWwgd2l0aCBtYXJraW5nIHJlbmRlcmVycyBkaXJ0eSBhbmQgcmV0dXJuaW5nIHRo
ZSBjb21wdXRlZCBsYXlvdXQgcm9vdCAoUmVuZGVyVmlldyBpbiBtb3N0IGNhc2VzKQphbmQgaGF2
ZSB0aGUgY2FsbGVyIGhhbmRsZSBsYXlvdXQgc2NoZWR1bGluZyB3aGVuIG5lZWRlZC4KClRoaXMg
aXMgYWxzbyBpbiBwcmVwYXJhdGlvbiBmb3IgcmVtb3ZpbmcgaXNSb290ZWQoKSBpbiBSZW5kZXJP
YmplY3Q6OnNjaGVkdWxlTGF5b3V0LgoKKiBTb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2FsRnJhbWVW
aWV3TGF5b3V0Q29udGV4dC5jcHA6CihXZWJDb3JlOjpMb2NhbEZyYW1lVmlld0xheW91dENvbnRl
eHQ6OnNjaGVkdWxlU3VidHJlZUxheW91dCk6CihXZWJDb3JlOjpMb2NhbEZyYW1lVmlld0xheW91
dENvbnRleHQ6OmNvbnZlcnRTdWJ0cmVlTGF5b3V0VG9GdWxsTGF5b3V0KToKKiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKFdlYkNvcmU6OlJlbmRlckJveDo6c3R5bGVX
aWxsQ2hhbmdlKToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6
CihXZWJDb3JlOjpSZW5kZXJFbGVtZW50OjpzdHlsZURpZENoYW5nZSk6CihXZWJDb3JlOjpSZW5k
ZXJFbGVtZW50OjpzZXROZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dCk6CihXZWJDb3JlOjpS
ZW5kZXJFbGVtZW50OjpzZXROZWVkc1NpbXBsaWZpZWROb3JtYWxGbG93TGF5b3V0KToKKiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgooV2ViQ29yZTo6UmVuZGVyRWxl
bWVudDo6c2V0Q2hpbGROZWVkc0xheW91dCk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHA6CihXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNjaGVkdWxlTGF5b3V0KToK
KFdlYkNvcmU6OlJlbmRlck9iamVjdDo6bWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQpOgoo
V2ViQ29yZTo6c2NoZWR1bGVSZWxheW91dEZvclN1YnRyZWUpOiBEZWxldGVkLgoqIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6
c2V0TmVlZHNMYXlvdXQpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3RF
bnVtcy5oOgotLS0KIC4uLi9wYWdlL0xvY2FsRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5jcHAgICAg
ICB8IDIzICsrKysrLS0tLS0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cCAgICAgICAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQu
Y3BwICAgIHwgIDYgKy0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5o
ICAgICAgfCAgMyArLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAg
ICAgIHwgMzkgKysrKysrKystLS0tLS0tLS0tLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5oICAgICAgIHwgIDUgKystCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0RW51bXMuaCAgfCAgMiAtCiA3IGZpbGVzIGNoYW5nZWQsIDM0IGluc2VydGlvbnMo
KyksIDQ2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9j
YWxGcmFtZVZpZXdMYXlvdXRDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxG
cmFtZVZpZXdMYXlvdXRDb250ZXh0LmNwcAppbmRleCA3YzFiOGRmZTM1ZTEuLjRlYzA3ZTVhMzEx
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhbEZyYW1lVmlld0xheW91dENv
bnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxGcmFtZVZpZXdMYXlvdXRD
b250ZXh0LmNwcApAQCAtNDExLDE5ICs0MTEsMTQgQEAgdm9pZCBMb2NhbEZyYW1lVmlld0xheW91
dENvbnRleHQ6OnVuc2NoZWR1bGVMYXlvdXQoKQogCiB2b2lkIExvY2FsRnJhbWVWaWV3TGF5b3V0
Q29udGV4dDo6c2NoZWR1bGVTdWJ0cmVlTGF5b3V0KFJlbmRlckVsZW1lbnQmIGxheW91dFJvb3Qp
CiB7Ci0gICAgQVNTRVJUKHJlbmRlclZpZXcoKSk7Ci0gICAgYXV0byYgcmVuZGVyVmlldyA9ICp0
aGlzLT5yZW5kZXJWaWV3KCk7Ci0KICAgICAvLyBUcnkgdG8gY2F0Y2ggdW5uZWNlc3Nhcnkgd29y
ayBkdXJpbmcgcmVuZGVyIHRyZWUgdGVhcmRvd24uCi0gICAgQVNTRVJUKCFyZW5kZXJWaWV3LnJl
bmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpKTsKKyAgICBBU1NFUlQocmVuZGVyVmlldygpICYmICFy
ZW5kZXJWaWV3KCktPnJlbmRlclRyZWVCZWluZ0Rlc3Ryb3llZCgpKTsKICAgICBBU1NFUlQoZnJh
bWUoKS52aWV3KCkgPT0gJnZpZXcoKSk7CiAKLSAgICBpZiAocmVuZGVyVmlldy5uZWVkc0xheW91
dCgpICYmICFzdWJ0cmVlTGF5b3V0Um9vdCgpKSB7Ci0gICAgICAgIGxheW91dFJvb3QubWFya0Nv
bnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoU2NoZWR1bGVSZWxheW91dDo6Tm8pOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQorICAgIGlmICghaXNMYXlvdXRQZW5kaW5nKCkpIHsKKyAgICAgICAgaWYg
KCFpc0xheW91dFNjaGVkdWxpbmdFbmFibGVkKCkgfHwgIWZyYW1lKCkuZG9jdW1lbnQoKS0+c2hv
dWxkU2NoZWR1bGVMYXlvdXQoKSkKKyAgICAgICAgICAgIHJldHVybjsKIAotICAgIGlmICghaXNM
YXlvdXRQZW5kaW5nKCkgJiYgaXNMYXlvdXRTY2hlZHVsaW5nRW5hYmxlZCgpKSB7CiAgICAgICAg
IEFTU0VSVCghbGF5b3V0Um9vdC5jb250YWluZXIoKSB8fCBpczxSZW5kZXJWaWV3PihsYXlvdXRS
b290LmNvbnRhaW5lcigpKSB8fCAhbGF5b3V0Um9vdC5jb250YWluZXIoKS0+bmVlZHNMYXlvdXQo
KSk7CiAgICAgICAgIHNldFN1YnRyZWVMYXlvdXRSb290KGxheW91dFJvb3QpOwogICAgICAgICBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEludmFsaWRhdGVMYXlvdXQocHJvdGVjdGVkRnJh
bWUoKSk7CkBAIC00MzcsMjEgKzQzMiwyMSBAQCB2b2lkIExvY2FsRnJhbWVWaWV3TGF5b3V0Q29u
dGV4dDo6c2NoZWR1bGVTdWJ0cmVlTGF5b3V0KFJlbmRlckVsZW1lbnQmIGxheW91dFJvbwogCiAg
ICAgaWYgKCFzdWJ0cmVlTGF5b3V0Um9vdCkgewogICAgICAgICAvLyBXZSBhbHJlYWR5IGhhdmUg
YSBwZW5kaW5nIChmdWxsKSBsYXlvdXQuIEp1c3QgbWFyayB0aGUgc3VidHJlZSBmb3IgbGF5b3V0
LgotICAgICAgICBsYXlvdXRSb290Lm1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KFNjaGVk
dWxlUmVsYXlvdXQ6Ok5vKTsKKyAgICAgICAgbGF5b3V0Um9vdC5tYXJrQ29udGFpbmluZ0Jsb2Nr
c0ZvckxheW91dCgpOwogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEludmFs
aWRhdGVMYXlvdXQocHJvdGVjdGVkRnJhbWUoKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
ICAgICBpZiAoaXNPYmplY3RBbmNlc3RvckNvbnRhaW5lck9mKCpzdWJ0cmVlTGF5b3V0Um9vdCwg
bGF5b3V0Um9vdCkpIHsKICAgICAgICAgLy8gS2VlcCB0aGUgY3VycmVudCByb290LgotICAgICAg
ICBsYXlvdXRSb290Lm1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KFNjaGVkdWxlUmVsYXlv
dXQ6Ok5vLCBzdWJ0cmVlTGF5b3V0Um9vdCk7CisgICAgICAgIGxheW91dFJvb3QubWFya0NvbnRh
aW5pbmdCbG9ja3NGb3JMYXlvdXQoc3VidHJlZUxheW91dFJvb3QpOwogICAgICAgICBBU1NFUlQo
IXN1YnRyZWVMYXlvdXRSb290LT5jb250YWluZXIoKSB8fCBpczxSZW5kZXJWaWV3PihzdWJ0cmVl
TGF5b3V0Um9vdC0+Y29udGFpbmVyKCkpIHx8ICFzdWJ0cmVlTGF5b3V0Um9vdC0+Y29udGFpbmVy
KCktPm5lZWRzTGF5b3V0KCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKGlz
T2JqZWN0QW5jZXN0b3JDb250YWluZXJPZihsYXlvdXRSb290LCAqc3VidHJlZUxheW91dFJvb3Qp
KSB7CiAgICAgICAgIC8vIFJlLXJvb3QgYXQgbmV3UmVsYXlvdXRSb290LgotICAgICAgICBzdWJ0
cmVlTGF5b3V0Um9vdC0+bWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoU2NoZWR1bGVSZWxh
eW91dDo6Tm8sICZsYXlvdXRSb290KTsKKyAgICAgICAgc3VidHJlZUxheW91dFJvb3QtPm1hcmtD
b250YWluaW5nQmxvY2tzRm9yTGF5b3V0KCZsYXlvdXRSb290KTsKICAgICAgICAgc2V0U3VidHJl
ZUxheW91dFJvb3QobGF5b3V0Um9vdCk7CiAgICAgICAgIEFTU0VSVCghbGF5b3V0Um9vdC5jb250
YWluZXIoKSB8fCBpczxSZW5kZXJWaWV3PihsYXlvdXRSb290LmNvbnRhaW5lcigpKSB8fCAhbGF5
b3V0Um9vdC5jb250YWluZXIoKS0+bmVlZHNMYXlvdXQoKSk7CiAgICAgICAgIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6ZGlkSW52YWxpZGF0ZUxheW91dChwcm90ZWN0ZWRGcmFtZSgpKTsKQEAg
LTQ1OSw3ICs0NTQsNyBAQCB2b2lkIExvY2FsRnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6c2NoZWR1
bGVTdWJ0cmVlTGF5b3V0KFJlbmRlckVsZW1lbnQmIGxheW91dFJvbwogICAgIH0KICAgICAvLyBU
d28gZGlzam9pbnQgc3VidHJlZXMgbmVlZCBsYXlvdXQuIE1hcmsgYm90aCBvZiB0aGVtIGFuZCBp
c3N1ZSBhIGZ1bGwgbGF5b3V0IGluc3RlYWQuCiAgICAgY29udmVydFN1YnRyZWVMYXlvdXRUb0Z1
bGxMYXlvdXQoKTsKLSAgICBsYXlvdXRSb290Lm1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0
KFNjaGVkdWxlUmVsYXlvdXQ6Ok5vKTsKKyAgICBsYXlvdXRSb290Lm1hcmtDb250YWluaW5nQmxv
Y2tzRm9yTGF5b3V0KCk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnZhbGlk
YXRlTGF5b3V0KHByb3RlY3RlZEZyYW1lKCkpOwogfQogCkBAIC00ODAsNyArNDc1LDcgQEAgUmVu
ZGVyRWxlbWVudCogTG9jYWxGcmFtZVZpZXdMYXlvdXRDb250ZXh0OjpzdWJ0cmVlTGF5b3V0Um9v
dCgpIGNvbnN0CiB2b2lkIExvY2FsRnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6Y29udmVydFN1YnRy
ZWVMYXlvdXRUb0Z1bGxMYXlvdXQoKQogewogICAgIEFTU0VSVChzdWJ0cmVlTGF5b3V0Um9vdCgp
KTsKLSAgICBzdWJ0cmVlTGF5b3V0Um9vdCgpLT5tYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91
dChTY2hlZHVsZVJlbGF5b3V0OjpObyk7CisgICAgc3VidHJlZUxheW91dFJvb3QoKS0+bWFya0Nv
bnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoKTsKICAgICBjbGVhclN1YnRyZWVMYXlvdXRSb290KCk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggMjZkZmY2Y2Nk
YzdiLi43YzY4MmExZWE1YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
CkBAIC0yODMsNyArMjgzLDcgQEAgdm9pZCBSZW5kZXJCb3g6OnN0eWxlV2lsbENoYW5nZShTdHls
ZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUmIG5ld1N0eWwKICAgICAgICAgICAg
ICAgICAvLyBjdXJyZW50IGNvbnRhaW5pbmcgYmxvY2sgY2hhaW4gZm9yIHByZWZlcnJlZCB3aWR0
aHMgcmVjYWxjdWxhdGlvbi4KICAgICAgICAgICAgICAgICBzZXROZWVkc0xheW91dEFuZFByZWZX
aWR0aHNSZWNhbGMoKTsKICAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIG1hcmtD
b250YWluaW5nQmxvY2tzRm9yTGF5b3V0KCk7CisgICAgICAgICAgICAgICAgc2NoZWR1bGVMYXlv
dXQobWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoKSk7CiAgICAgICAgICAgICAKICAgICAg
ICAgICAgIGlmIChvbGRTdHlsZS0+cG9zaXRpb24oKSAhPSBQb3NpdGlvblR5cGU6OlN0YXRpYyAm
JiBuZXdTdHlsZS5oYXNPdXRPZkZsb3dQb3NpdGlvbigpKQogICAgICAgICAgICAgICAgIHBhcmVu
dCgpLT5zZXRDaGlsZE5lZWRzTGF5b3V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRWxlbWVudC5jcHAKaW5kZXggYzdkOTU2OTliMWZlLi5iNzg2MzU0MGYzZjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKQEAgLTEwMTEsNyArMTAxMSw3
IEBAIHZvaWQgUmVuZGVyRWxlbWVudDo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRp
ZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTCiAgICAgICAgIC8vIGRpcmVjdGx5IGFmZmVjdCB0
aGUgY29udGFpbmluZyBibG9jayBvZiB0aGlzIG9iamVjdCBpcyBhIGNoYW5nZSB0bwogICAgICAg
ICAvLyB0aGUgcG9zaXRpb24gc3R5bGUuCiAgICAgICAgIGlmIChuZWVkc0xheW91dCgpICYmIG9s
ZFN0eWxlICYmIG9sZFN0eWxlLT5wb3NpdGlvbigpICE9IG1fc3R5bGUucG9zaXRpb24oKSkKLSAg
ICAgICAgICAgIG1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KCk7CisgICAgICAgICAgICBz
Y2hlZHVsZUxheW91dChtYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dCgpKTsKIAogICAgICAg
ICBpZiAoZGlmZiA9PSBTdHlsZURpZmZlcmVuY2U6OkxheW91dCkKICAgICAgICAgICAgIHNldE5l
ZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2FsYygpOwpAQCAtMTE1OSw3ICsxMTU5LDcgQEAgdm9p
ZCBSZW5kZXJFbGVtZW50OjpzZXROZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dChjb25zdCBS
ZW5kZXJTdHlsZSogb2xkU3R5bGUKICAgICBpZiAobmVlZHNQb3NpdGlvbmVkTW92ZW1lbnRMYXlv
dXQoKSkKICAgICAgICAgcmV0dXJuOwogICAgIHNldE5lZWRzUG9zaXRpb25lZE1vdmVtZW50TGF5
b3V0Qml0KHRydWUpOwotICAgIG1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KCk7CisgICAg
c2NoZWR1bGVMYXlvdXQobWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoKSk7CiAgICAgaWYg
KGhhc0xheWVyKCkpIHsKICAgICAgICAgaWYgKG9sZFN0eWxlICYmIHN0eWxlKCkuZGlmZlJlcXVp
cmVzTGF5ZXJSZXBhaW50KCpvbGRTdHlsZSwgZG93bmNhc3Q8UmVuZGVyTGF5ZXJNb2RlbE9iamVj
dD4oKnRoaXMpLmxheWVyKCktPmlzQ29tcG9zaXRlZCgpKSkKICAgICAgICAgICAgIHNldExheWVy
TmVlZHNGdWxsUmVwYWludCgpOwpAQCAtMTE4Miw3ICsxMTgyLDcgQEAgdm9pZCBSZW5kZXJFbGVt
ZW50OjpzZXROZWVkc1NpbXBsaWZpZWROb3JtYWxGbG93TGF5b3V0KCkKICAgICBpZiAobmVlZHNT
aW1wbGlmaWVkTm9ybWFsRmxvd0xheW91dCgpKQogICAgICAgICByZXR1cm47CiAgICAgc2V0TmVl
ZHNTaW1wbGlmaWVkTm9ybWFsRmxvd0xheW91dEJpdCh0cnVlKTsKLSAgICBtYXJrQ29udGFpbmlu
Z0Jsb2Nrc0ZvckxheW91dCgpOworICAgIHNjaGVkdWxlTGF5b3V0KG1hcmtDb250YWluaW5nQmxv
Y2tzRm9yTGF5b3V0KCkpOwogICAgIGlmIChoYXNMYXllcigpKQogICAgICAgICBzZXRMYXllck5l
ZWRzRnVsbFJlcGFpbnQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVu
dC5oCmluZGV4IGE4YzgwYzVjNDcyNS4uNTg2NGNjZDQ4ZjRkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJFbGVtZW50LmgKQEAgLTQyOCwxMCArNDI4LDkgQEAgaW5saW5lIHZvaWQg
UmVuZGVyRWxlbWVudDo6c2V0Q2hpbGROZWVkc0xheW91dChNYXJraW5nQmVoYXZpb3IgbWFya1Bh
cmVudHMpCiAgICAgICAgIHJldHVybjsKICAgICBzZXROb3JtYWxDaGlsZE5lZWRzTGF5b3V0Qml0
KHRydWUpOwogICAgIGlmIChtYXJrUGFyZW50cyA9PSBNYXJrQ29udGFpbmluZ0Jsb2NrQ2hhaW4p
Ci0gICAgICAgIG1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KCk7CisgICAgICAgIHNjaGVk
dWxlTGF5b3V0KG1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KCkpOwogfQogCi0KIGlubGlu
ZSBFbGVtZW50KiBSZW5kZXJFbGVtZW50OjpnZW5lcmF0aW5nRWxlbWVudCgpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIGRvd25jYXN0PEVsZW1lbnQ+KFJlbmRlck9iamVjdDo6Z2VuZXJhdGluZ05vZGUo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4IDAwMzdl
ZmVmOTBjYS4uNDA0YWI4NjY5MmMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcApAQCAtNTY4LDIwICs1NjgsMTcgQEAgdm9pZCBSZW5kZXJPYmplY3Q6OmNsZWFy
TmVlZHNMYXlvdXQoRXZlckhhZFNraXBwZWRDb250ZW50TGF5b3V0IGV2ZXJIYWRTa2lwcGVkQ28K
ICNlbmRpZgogfQogCi1zdGF0aWMgdm9pZCBzY2hlZHVsZVJlbGF5b3V0Rm9yU3VidHJlZShSZW5k
ZXJFbGVtZW50JiByZW5kZXJlcikKK3ZvaWQgUmVuZGVyT2JqZWN0OjpzY2hlZHVsZUxheW91dChS
ZW5kZXJFbGVtZW50KiBsYXlvdXRSb290KQogewotICAgIGlmIChhdXRvKiByZW5kZXJWaWV3ID0g
ZHluYW1pY0Rvd25jYXN0PFJlbmRlclZpZXc+KHJlbmRlcmVyKSkgewotICAgICAgICByZW5kZXJW
aWV3LT5wcm90ZWN0ZWRGcmFtZVZpZXcoKS0+Y2hlY2tlZExheW91dENvbnRleHQoKS0+c2NoZWR1
bGVMYXlvdXQoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBpZiAoYXV0byogcmVuZGVy
VmlldyA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJWaWV3PihsYXlvdXRSb290KSkKKyAgICAgICAg
cmV0dXJuIHJlbmRlclZpZXctPnByb3RlY3RlZEZyYW1lVmlldygpLT5jaGVja2VkTGF5b3V0Q29u
dGV4dCgpLT5zY2hlZHVsZUxheW91dCgpOwogCi0gICAgaWYgKHJlbmRlcmVyLmlzUm9vdGVkKCkp
Ci0gICAgICAgIHJlbmRlcmVyLnZpZXcoKS5wcm90ZWN0ZWRGcmFtZVZpZXcoKS0+Y2hlY2tlZExh
eW91dENvbnRleHQoKS0+c2NoZWR1bGVTdWJ0cmVlTGF5b3V0KHJlbmRlcmVyKTsKKyAgICBpZiAo
bGF5b3V0Um9vdCAmJiBsYXlvdXRSb290LT5pc1Jvb3RlZCgpKQorICAgICAgICBsYXlvdXRSb290
LT52aWV3KCkucHJvdGVjdGVkRnJhbWVWaWV3KCktPmNoZWNrZWRMYXlvdXRDb250ZXh0KCktPnNj
aGVkdWxlU3VidHJlZUxheW91dCgqbGF5b3V0Um9vdCk7CiB9CiAKLXZvaWQgUmVuZGVyT2JqZWN0
OjptYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dChTY2hlZHVsZVJlbGF5b3V0IHNjaGVkdWxl
UmVsYXlvdXQsIFJlbmRlckVsZW1lbnQqIG5ld1Jvb3QpCitSZW5kZXJFbGVtZW50KiBSZW5kZXJP
YmplY3Q6Om1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KFJlbmRlckVsZW1lbnQqIGxheW91
dFJvb3QpCiB7Ci0gICAgQVNTRVJUKHNjaGVkdWxlUmVsYXlvdXQgPT0gU2NoZWR1bGVSZWxheW91
dDo6Tm8gfHwgIW5ld1Jvb3QpOwogICAgIEFTU0VSVCghaXNTZXROZWVkc0xheW91dEZvcmJpZGRl
bigpKTsKIAogICAgIENoZWNrZWRQdHIgYW5jZXN0b3IgPSBjb250YWluZXIoKTsKQEAgLTU5Niw0
MiArNTkzLDQwIEBAIHZvaWQgUmVuZGVyT2JqZWN0OjptYXJrQ29udGFpbmluZ0Jsb2Nrc0Zvckxh
eW91dChTY2hlZHVsZVJlbGF5b3V0IHNjaGVkdWxlUmVsYXlvCiAgICAgICAgIC8vIERvbid0IG1h
cmsgdGhlIG91dGVybW9zdCBvYmplY3Qgb2YgYW4gdW5yb290ZWQgc3VidHJlZS4gVGhhdCBvYmpl
Y3Qgd2lsbCBiZQogICAgICAgICAvLyBtYXJrZWQgd2hlbiB0aGUgc3VidHJlZSBpcyBhZGRlZCB0
byB0aGUgZG9jdW1lbnQuCiAgICAgICAgIENoZWNrZWRQdHIgY29udGFpbmVyID0gYW5jZXN0b3It
PmNvbnRhaW5lcigpOwotICAgICAgICBpZiAoIWNvbnRhaW5lciAmJiAhYW5jZXN0b3ItPmlzUmVu
ZGVyVmlldygpKQotICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBpZiAoIWNvbnRhaW5lciAm
JiAhYW5jZXN0b3ItPmlzUmVuZGVyVmlldygpKSB7CisgICAgICAgICAgICAvLyBJbnRlcm5hbCBy
ZW5kZXIgdHJlZSBzaHVmZmxlLgorICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgfQor
CiAgICAgICAgIGlmIChoYXNPdXRPZkZsb3dQb3NpdGlvbikgewogICAgICAgICAgICAgYm9vbCB3
aWxsU2tpcFJlbGF0aXZlbHlQb3NpdGlvbmVkSW5saW5lcyA9ICFhbmNlc3Rvci0+aXNSZW5kZXJC
bG9jaygpIHx8IGFuY2VzdG9yLT5pc0Fub255bW91c0Jsb2NrKCk7CiAgICAgICAgICAgICAvLyBT
a2lwIHJlbGF0aXZlbHkgcG9zaXRpb25lZCBpbmxpbmVzIGFuZCBhbm9ueW1vdXMgYmxvY2tzIHRv
IGdldCB0byB0aGUgZW5jbG9zaW5nIFJlbmRlckJsb2NrLgogICAgICAgICAgICAgd2hpbGUgKGFu
Y2VzdG9yICYmICghYW5jZXN0b3ItPmlzUmVuZGVyQmxvY2soKSB8fCBhbmNlc3Rvci0+aXNBbm9u
eW1vdXNCbG9jaygpKSkKICAgICAgICAgICAgICAgICBhbmNlc3RvciA9IGFuY2VzdG9yLT5jb250
YWluZXIoKTsKICAgICAgICAgICAgIGlmICghYW5jZXN0b3IgfHwgYW5jZXN0b3ItPnBvc0NoaWxk
TmVlZHNMYXlvdXQoKSkKLSAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAg
cmV0dXJuIHsgfTsKICAgICAgICAgICAgIGlmICh3aWxsU2tpcFJlbGF0aXZlbHlQb3NpdGlvbmVk
SW5saW5lcykKICAgICAgICAgICAgICAgICBjb250YWluZXIgPSBhbmNlc3Rvci0+Y29udGFpbmVy
KCk7CiAgICAgICAgICAgICBhbmNlc3Rvci0+c2V0UG9zQ2hpbGROZWVkc0xheW91dEJpdCh0cnVl
KTsKICAgICAgICAgICAgIHNpbXBsaWZpZWROb3JtYWxGbG93TGF5b3V0ID0gdHJ1ZTsKICAgICAg
ICAgfSBlbHNlIGlmIChzaW1wbGlmaWVkTm9ybWFsRmxvd0xheW91dCkgewogICAgICAgICAgICAg
aWYgKGFuY2VzdG9yLT5uZWVkc1NpbXBsaWZpZWROb3JtYWxGbG93TGF5b3V0KCkpCi0gICAgICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIHJldHVybiB7IH07CiAgICAgICAgICAg
ICBhbmNlc3Rvci0+c2V0TmVlZHNTaW1wbGlmaWVkTm9ybWFsRmxvd0xheW91dEJpdCh0cnVlKTsK
ICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIGlmIChhbmNlc3Rvci0+bm9ybWFsQ2hpbGRO
ZWVkc0xheW91dCgpKQotICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4geyB9OwogICAgICAgICAgICAgYW5jZXN0b3ItPnNldE5vcm1hbENoaWxkTmVlZHNMYXlv
dXRCaXQodHJ1ZSk7CiAgICAgICAgIH0KICAgICAgICAgQVNTRVJUKCFhbmNlc3Rvci0+aXNTZXRO
ZWVkc0xheW91dEZvcmJpZGRlbigpKTsKIAotICAgICAgICBpZiAoYW5jZXN0b3IgPT0gbmV3Um9v
dCkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBpZiAoc2NoZWR1bGVSZWxheW91dCA9
PSBTY2hlZHVsZVJlbGF5b3V0OjpZZXMgJiYgb2JqZWN0SXNSZWxheW91dEJvdW5kYXJ5KGFuY2Vz
dG9yLmdldCgpKSkKLSAgICAgICAgICAgIGJyZWFrOworICAgICAgICBpZiAob2JqZWN0SXNSZWxh
eW91dEJvdW5kYXJ5KGFuY2VzdG9yLmdldCgpKSB8fCBhbmNlc3RvciA9PSBsYXlvdXRSb290KQor
ICAgICAgICAgICAgcmV0dXJuIGFuY2VzdG9yLmdldCgpOwogCiAgICAgICAgIGhhc091dE9mRmxv
d1Bvc2l0aW9uID0gYW5jZXN0b3ItPmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpOwogICAgICAgICBh
bmNlc3RvciA9IFdURk1vdmUoY29udGFpbmVyKTsKICAgICB9Ci0KLSAgICBpZiAoc2NoZWR1bGVS
ZWxheW91dCA9PSBTY2hlZHVsZVJlbGF5b3V0OjpZZXMgJiYgYW5jZXN0b3IpCi0gICAgICAgIHNj
aGVkdWxlUmVsYXlvdXRGb3JTdWJ0cmVlKCphbmNlc3Rvcik7CisgICAgcmV0dXJuIHsgfTsKIH0K
IAogI2lmIEFTU0VSVF9FTkFCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmgKaW5kZXggNjgwMjQ4MTEwNmE1Li4yZWU4MmZmZTIyZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTc1Myw3ICs3NTMsNyBAQCBwdWJsaWM6CiAKICAgICBS
ZW5kZXJCb3hNb2RlbE9iamVjdCogb2Zmc2V0UGFyZW50KCkgY29uc3Q7CiAKLSAgICB2b2lkIG1h
cmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KFNjaGVkdWxlUmVsYXlvdXQgPSBTY2hlZHVsZVJl
bGF5b3V0OjpZZXMsIFJlbmRlckVsZW1lbnQqIG5ld1Jvb3QgPSBudWxscHRyKTsKKyAgICBSZW5k
ZXJFbGVtZW50KiBtYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dChSZW5kZXJFbGVtZW50KiBs
YXlvdXRSb290ID0gbnVsbHB0cik7CiAgICAgdm9pZCBzZXROZWVkc0xheW91dChNYXJraW5nQmVo
YXZpb3IgPSBNYXJrQ29udGFpbmluZ0Jsb2NrQ2hhaW4pOwogICAgIGVudW0gY2xhc3MgRXZlckhh
ZFNraXBwZWRDb250ZW50TGF5b3V0IHsgWWVzLCBObyB9OwogICAgIHZvaWQgY2xlYXJOZWVkc0xh
eW91dChFdmVySGFkU2tpcHBlZENvbnRlbnRMYXlvdXQgPSBFdmVySGFkU2tpcHBlZENvbnRlbnRM
YXlvdXQ6Olllcyk7CkBAIC0xMTMzLDYgKzExMzMsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICB2aXJ0
dWFsIHZvaWQgd2lsbEJlRGVzdHJveWVkKCk7CiAKKyAgICB2b2lkIHNjaGVkdWxlTGF5b3V0KFJl
bmRlckVsZW1lbnQqIGxheW91dFJvb3QpOwogICAgIHZvaWQgc2V0TmVlZHNQb3NpdGlvbmVkTW92
ZW1lbnRMYXlvdXRCaXQoYm9vbCBiKSB7IG1fc3RhdGVCaXRmaWVsZHMuc2V0RmxhZyhTdGF0ZUZs
YWc6Ok5lZWRzUG9zaXRpb25lZE1vdmVtZW50TGF5b3V0LCBiKTsgfQogICAgIHZvaWQgc2V0Tm9y
bWFsQ2hpbGROZWVkc0xheW91dEJpdChib29sIGIpIHsgbV9zdGF0ZUJpdGZpZWxkcy5zZXRGbGFn
KFN0YXRlRmxhZzo6Tm9ybWFsQ2hpbGROZWVkc0xheW91dCwgYik7IH0KICAgICB2b2lkIHNldFBv
c0NoaWxkTmVlZHNMYXlvdXRCaXQoYm9vbCBiKSB7IG1fc3RhdGVCaXRmaWVsZHMuc2V0RmxhZyhT
dGF0ZUZsYWc6OlBvc0NoaWxkTmVlZHNMYXlvdXQsIGIpOyB9CkBAIC0xMzYzLDcgKzEzNjQsNyBA
QCBpbmxpbmUgdm9pZCBSZW5kZXJPYmplY3Q6OnNldE5lZWRzTGF5b3V0KE1hcmtpbmdCZWhhdmlv
ciBtYXJrUGFyZW50cykKICAgICAgICAgcmV0dXJuOwogICAgIG1fc3RhdGVCaXRmaWVsZHMuc2V0
RmxhZyhTdGF0ZUZsYWc6Ok5lZWRzTGF5b3V0KTsKICAgICBpZiAobWFya1BhcmVudHMgPT0gTWFy
a0NvbnRhaW5pbmdCbG9ja0NoYWluKQotICAgICAgICBtYXJrQ29udGFpbmluZ0Jsb2Nrc0Zvckxh
eW91dCgpOworICAgICAgICBzY2hlZHVsZUxheW91dChtYXJrQ29udGFpbmluZ0Jsb2Nrc0Zvckxh
eW91dCgpKTsKICAgICBpZiAoaGFzTGF5ZXIoKSkKICAgICAgICAgc2V0TGF5ZXJOZWVkc0Z1bGxS
ZXBhaW50KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0RW51bXMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3RFbnVt
cy5oCmluZGV4IDk3OTRlMDNkNjYzNy4uYTZkNTRiYjRlOThlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0RW51bXMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0RW51bXMuaApAQCAtNTIsOCArNTIsNiBAQCBlbnVtIE1h
cmtpbmdCZWhhdmlvciB7CiAgICAgTWFya0NvbnRhaW5pbmdCbG9ja0NoYWluLAogfTsKIAotZW51
bSBjbGFzcyBTY2hlZHVsZVJlbGF5b3V0IDogYm9vbCB7IE5vLCBZZXMgfTsKLQogZW51bSBNYXBD
b29yZGluYXRlc01vZGUgewogICAgIElzRml4ZWQgICAgICAgICAgICAgPSAxIDw8IDAsCiAgICAg
VXNlVHJhbnNmb3JtcyAgICAgICA9IDEgPDwgMSwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>470814</attachid>
            <date>2024-04-08 06:21:28 -0700</date>
            <delta_ts>2024-04-08 11:07:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-272315-20240408062127.patch</filename>
            <type>text/plain</type>
            <size>13894</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA4MzhjM2IwNDA2ZmJlZjVmYWIyZDkzODAzODlmNjgyNjljYmMwYjZjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFN1biwgNyBBcHIgMjAyNCAyMDo1MToxNSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzIzMTUKIFtTZXROZWVkc0xheW91dF1b
Q2xlYW51cF0gRGVjb3VwbGUgbWFya2luZyBhbmNlc3RvciBjaGFpbiBkaXJ0eSBhbmQKIHNjaGVk
dWxpbmcgbGF5b3V0CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCkluIGNhc2VzIHdoZW4g
c3VidHJlZSBsYXlvdXQgc2NoZWR1bGluZyByZXF1aXJlcyBhZGp1c3RpbmcgdGhlIGxheW91dCBy
b290LCB3ZSBvbmx5IHdhbnQgdG8gbWFyayBzb21lIG1vcmUKcmVuZGVyZXJzIGRpcnR5IHdpdGhv
dXQgc2NoZWR1bGluZyBsYXlvdXQgKHRoZXJlJ3MgYSBwZW5kaW5nIGxheW91dCBzY2hlZHVsZWQg
YWxyZWFkeSkuCgpMZXQgUmVuZGVyT2JqZWN0OjptYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91
dCBvbmx5IGRlYWwgd2l0aCBtYXJraW5nIHJlbmRlcmVycyBkaXJ0eSBhbmQgcmV0dXJuaW5nIHRo
ZSBjb21wdXRlZCBsYXlvdXQgcm9vdCAoUmVuZGVyVmlldyBpbiBtb3N0IGNhc2VzKQphbmQgaGF2
ZSB0aGUgY2FsbGVyIGhhbmRsZSBsYXlvdXQgc2NoZWR1bGluZyB3aGVuIG5lZWRlZC4KClRoaXMg
aXMgYWxzbyBpbiBwcmVwYXJhdGlvbiBmb3IgcmVtb3ZpbmcgaXNSb290ZWQoKSBpbiBSZW5kZXJP
YmplY3Q6OnNjaGVkdWxlTGF5b3V0LgoKKiBTb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2FsRnJhbWVW
aWV3TGF5b3V0Q29udGV4dC5jcHA6CihXZWJDb3JlOjpMb2NhbEZyYW1lVmlld0xheW91dENvbnRl
eHQ6OnNjaGVkdWxlU3VidHJlZUxheW91dCk6CihXZWJDb3JlOjpMb2NhbEZyYW1lVmlld0xheW91
dENvbnRleHQ6OmNvbnZlcnRTdWJ0cmVlTGF5b3V0VG9GdWxsTGF5b3V0KToKKiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKFdlYkNvcmU6OlJlbmRlckJveDo6c3R5bGVX
aWxsQ2hhbmdlKToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6
CihXZWJDb3JlOjpSZW5kZXJFbGVtZW50OjpzdHlsZURpZENoYW5nZSk6CihXZWJDb3JlOjpSZW5k
ZXJFbGVtZW50OjpzZXROZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dCk6CihXZWJDb3JlOjpS
ZW5kZXJFbGVtZW50OjpzZXROZWVkc1NpbXBsaWZpZWROb3JtYWxGbG93TGF5b3V0KToKKiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgooV2ViQ29yZTo6UmVuZGVyRWxl
bWVudDo6c2V0Q2hpbGROZWVkc0xheW91dCk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHA6CihXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNjaGVkdWxlTGF5b3V0KToK
KFdlYkNvcmU6OlJlbmRlck9iamVjdDo6bWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQpOgoo
V2ViQ29yZTo6c2NoZWR1bGVSZWxheW91dEZvclN1YnRyZWUpOiBEZWxldGVkLgoqIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6
c2V0TmVlZHNMYXlvdXQpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3RF
bnVtcy5oOgotLS0KIC4uLi9wYWdlL0xvY2FsRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5jcHAgICAg
ICB8IDEyICsrKy0tLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgICAg
ICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcCAg
ICB8ICA2ICstLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaCAgICAg
IHwgIDMgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwICAgICB8
IDM5ICsrKysrKysrLS0tLS0tLS0tLS0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuaCAgICAgICB8ICA1ICsrLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdEVudW1zLmggIHwgIDIgLQogNyBmaWxlcyBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAz
OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2FsRnJh
bWVWaWV3TGF5b3V0Q29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2FsRnJhbWVW
aWV3TGF5b3V0Q29udGV4dC5jcHAKaW5kZXggN2MxYjhkZmUzNWUxLi5iY2Q4MjMxZDc3ZjUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxGcmFtZVZpZXdMYXlvdXRDb250ZXh0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2FsRnJhbWVWaWV3TGF5b3V0Q29udGV4
dC5jcHAKQEAgLTQxOSw3ICs0MTksNyBAQCB2b2lkIExvY2FsRnJhbWVWaWV3TGF5b3V0Q29udGV4
dDo6c2NoZWR1bGVTdWJ0cmVlTGF5b3V0KFJlbmRlckVsZW1lbnQmIGxheW91dFJvbwogICAgIEFT
U0VSVChmcmFtZSgpLnZpZXcoKSA9PSAmdmlldygpKTsKIAogICAgIGlmIChyZW5kZXJWaWV3Lm5l
ZWRzTGF5b3V0KCkgJiYgIXN1YnRyZWVMYXlvdXRSb290KCkpIHsKLSAgICAgICAgbGF5b3V0Um9v
dC5tYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dChTY2hlZHVsZVJlbGF5b3V0OjpObyk7Cisg
ICAgICAgIGxheW91dFJvb3QubWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIApAQCAtNDM3LDIxICs0MzcsMjEgQEAgdm9pZCBMb2NhbEZyYW1l
Vmlld0xheW91dENvbnRleHQ6OnNjaGVkdWxlU3VidHJlZUxheW91dChSZW5kZXJFbGVtZW50JiBs
YXlvdXRSb28KIAogICAgIGlmICghc3VidHJlZUxheW91dFJvb3QpIHsKICAgICAgICAgLy8gV2Ug
YWxyZWFkeSBoYXZlIGEgcGVuZGluZyAoZnVsbCkgbGF5b3V0LiBKdXN0IG1hcmsgdGhlIHN1YnRy
ZWUgZm9yIGxheW91dC4KLSAgICAgICAgbGF5b3V0Um9vdC5tYXJrQ29udGFpbmluZ0Jsb2Nrc0Zv
ckxheW91dChTY2hlZHVsZVJlbGF5b3V0OjpObyk7CisgICAgICAgIGxheW91dFJvb3QubWFya0Nv
bnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoKTsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWRJbnZhbGlkYXRlTGF5b3V0KHByb3RlY3RlZEZyYW1lKCkpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCiAgICAgaWYgKGlzT2JqZWN0QW5jZXN0b3JDb250YWluZXJPZigqc3VidHJl
ZUxheW91dFJvb3QsIGxheW91dFJvb3QpKSB7CiAgICAgICAgIC8vIEtlZXAgdGhlIGN1cnJlbnQg
cm9vdC4KLSAgICAgICAgbGF5b3V0Um9vdC5tYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dChT
Y2hlZHVsZVJlbGF5b3V0OjpObywgc3VidHJlZUxheW91dFJvb3QpOworICAgICAgICBsYXlvdXRS
b290Lm1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KHN1YnRyZWVMYXlvdXRSb290KTsKICAg
ICAgICAgQVNTRVJUKCFzdWJ0cmVlTGF5b3V0Um9vdC0+Y29udGFpbmVyKCkgfHwgaXM8UmVuZGVy
Vmlldz4oc3VidHJlZUxheW91dFJvb3QtPmNvbnRhaW5lcigpKSB8fCAhc3VidHJlZUxheW91dFJv
b3QtPmNvbnRhaW5lcigpLT5uZWVkc0xheW91dCgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IAogICAgIGlmIChpc09iamVjdEFuY2VzdG9yQ29udGFpbmVyT2YobGF5b3V0Um9vdCwgKnN1YnRy
ZWVMYXlvdXRSb290KSkgewogICAgICAgICAvLyBSZS1yb290IGF0IG5ld1JlbGF5b3V0Um9vdC4K
LSAgICAgICAgc3VidHJlZUxheW91dFJvb3QtPm1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0
KFNjaGVkdWxlUmVsYXlvdXQ6Ok5vLCAmbGF5b3V0Um9vdCk7CisgICAgICAgIHN1YnRyZWVMYXlv
dXRSb290LT5tYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dCgmbGF5b3V0Um9vdCk7CiAgICAg
ICAgIHNldFN1YnRyZWVMYXlvdXRSb290KGxheW91dFJvb3QpOwogICAgICAgICBBU1NFUlQoIWxh
eW91dFJvb3QuY29udGFpbmVyKCkgfHwgaXM8UmVuZGVyVmlldz4obGF5b3V0Um9vdC5jb250YWlu
ZXIoKSkgfHwgIWxheW91dFJvb3QuY29udGFpbmVyKCktPm5lZWRzTGF5b3V0KCkpOwogICAgICAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEludmFsaWRhdGVMYXlvdXQocHJvdGVjdGVk
RnJhbWUoKSk7CkBAIC00NTksNyArNDU5LDcgQEAgdm9pZCBMb2NhbEZyYW1lVmlld0xheW91dENv
bnRleHQ6OnNjaGVkdWxlU3VidHJlZUxheW91dChSZW5kZXJFbGVtZW50JiBsYXlvdXRSb28KICAg
ICB9CiAgICAgLy8gVHdvIGRpc2pvaW50IHN1YnRyZWVzIG5lZWQgbGF5b3V0LiBNYXJrIGJvdGgg
b2YgdGhlbSBhbmQgaXNzdWUgYSBmdWxsIGxheW91dCBpbnN0ZWFkLgogICAgIGNvbnZlcnRTdWJ0
cmVlTGF5b3V0VG9GdWxsTGF5b3V0KCk7Ci0gICAgbGF5b3V0Um9vdC5tYXJrQ29udGFpbmluZ0Js
b2Nrc0ZvckxheW91dChTY2hlZHVsZVJlbGF5b3V0OjpObyk7CisgICAgbGF5b3V0Um9vdC5tYXJr
Q29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dCgpOwogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkSW52YWxpZGF0ZUxheW91dChwcm90ZWN0ZWRGcmFtZSgpKTsKIH0KIApAQCAtNDgwLDcg
KzQ4MCw3IEBAIFJlbmRlckVsZW1lbnQqIExvY2FsRnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6c3Vi
dHJlZUxheW91dFJvb3QoKSBjb25zdAogdm9pZCBMb2NhbEZyYW1lVmlld0xheW91dENvbnRleHQ6
OmNvbnZlcnRTdWJ0cmVlTGF5b3V0VG9GdWxsTGF5b3V0KCkKIHsKICAgICBBU1NFUlQoc3VidHJl
ZUxheW91dFJvb3QoKSk7Ci0gICAgc3VidHJlZUxheW91dFJvb3QoKS0+bWFya0NvbnRhaW5pbmdC
bG9ja3NGb3JMYXlvdXQoU2NoZWR1bGVSZWxheW91dDo6Tm8pOworICAgIHN1YnRyZWVMYXlvdXRS
b290KCktPm1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KCk7CiAgICAgY2xlYXJTdWJ0cmVl
TGF5b3V0Um9vdCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmlu
ZGV4IDI2ZGZmNmNjZGM3Yi4uN2M2ODJhMWVhNWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcApAQCAtMjgzLDcgKzI4Myw3IEBAIHZvaWQgUmVuZGVyQm94OjpzdHlsZVdp
bGxDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlJiBuZXdTdHls
CiAgICAgICAgICAgICAgICAgLy8gY3VycmVudCBjb250YWluaW5nIGJsb2NrIGNoYWluIGZvciBw
cmVmZXJyZWQgd2lkdGhzIHJlY2FsY3VsYXRpb24uCiAgICAgICAgICAgICAgICAgc2V0TmVlZHNM
YXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CiAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAg
ICAgICAgICBtYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dCgpOworICAgICAgICAgICAgICAg
IHNjaGVkdWxlTGF5b3V0KG1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KCkpOwogICAgICAg
ICAgICAgCiAgICAgICAgICAgICBpZiAob2xkU3R5bGUtPnBvc2l0aW9uKCkgIT0gUG9zaXRpb25U
eXBlOjpTdGF0aWMgJiYgbmV3U3R5bGUuaGFzT3V0T2ZGbG93UG9zaXRpb24oKSkKICAgICAgICAg
ICAgICAgICBwYXJlbnQoKS0+c2V0Q2hpbGROZWVkc0xheW91dCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCmluZGV4IGM3ZDk1Njk5YjFmZS4uYjc4NjM1NDBm
M2Y3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCkBAIC0x
MDExLDcgKzEwMTEsNyBAQCB2b2lkIFJlbmRlckVsZW1lbnQ6OnN0eWxlRGlkQ2hhbmdlKFN0eWxl
RGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkUwogICAgICAgICAvLyBkaXJl
Y3RseSBhZmZlY3QgdGhlIGNvbnRhaW5pbmcgYmxvY2sgb2YgdGhpcyBvYmplY3QgaXMgYSBjaGFu
Z2UgdG8KICAgICAgICAgLy8gdGhlIHBvc2l0aW9uIHN0eWxlLgogICAgICAgICBpZiAobmVlZHNM
YXlvdXQoKSAmJiBvbGRTdHlsZSAmJiBvbGRTdHlsZS0+cG9zaXRpb24oKSAhPSBtX3N0eWxlLnBv
c2l0aW9uKCkpCi0gICAgICAgICAgICBtYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dCgpOwor
ICAgICAgICAgICAgc2NoZWR1bGVMYXlvdXQobWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQo
KSk7CiAKICAgICAgICAgaWYgKGRpZmYgPT0gU3R5bGVEaWZmZXJlbmNlOjpMYXlvdXQpCiAgICAg
ICAgICAgICBzZXROZWVkc0xheW91dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsKQEAgLTExNTksNyAr
MTE1OSw3IEBAIHZvaWQgUmVuZGVyRWxlbWVudDo6c2V0TmVlZHNQb3NpdGlvbmVkTW92ZW1lbnRM
YXlvdXQoY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlCiAgICAgaWYgKG5lZWRzUG9zaXRpb25l
ZE1vdmVtZW50TGF5b3V0KCkpCiAgICAgICAgIHJldHVybjsKICAgICBzZXROZWVkc1Bvc2l0aW9u
ZWRNb3ZlbWVudExheW91dEJpdCh0cnVlKTsKLSAgICBtYXJrQ29udGFpbmluZ0Jsb2Nrc0Zvckxh
eW91dCgpOworICAgIHNjaGVkdWxlTGF5b3V0KG1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0
KCkpOwogICAgIGlmIChoYXNMYXllcigpKSB7CiAgICAgICAgIGlmIChvbGRTdHlsZSAmJiBzdHls
ZSgpLmRpZmZSZXF1aXJlc0xheWVyUmVwYWludCgqb2xkU3R5bGUsIGRvd25jYXN0PFJlbmRlckxh
eWVyTW9kZWxPYmplY3Q+KCp0aGlzKS5sYXllcigpLT5pc0NvbXBvc2l0ZWQoKSkpCiAgICAgICAg
ICAgICBzZXRMYXllck5lZWRzRnVsbFJlcGFpbnQoKTsKQEAgLTExODIsNyArMTE4Miw3IEBAIHZv
aWQgUmVuZGVyRWxlbWVudDo6c2V0TmVlZHNTaW1wbGlmaWVkTm9ybWFsRmxvd0xheW91dCgpCiAg
ICAgaWYgKG5lZWRzU2ltcGxpZmllZE5vcm1hbEZsb3dMYXlvdXQoKSkKICAgICAgICAgcmV0dXJu
OwogICAgIHNldE5lZWRzU2ltcGxpZmllZE5vcm1hbEZsb3dMYXlvdXRCaXQodHJ1ZSk7Ci0gICAg
bWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoKTsKKyAgICBzY2hlZHVsZUxheW91dChtYXJr
Q29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dCgpKTsKICAgICBpZiAoaGFzTGF5ZXIoKSkKICAgICAg
ICAgc2V0TGF5ZXJOZWVkc0Z1bGxSZXBhaW50KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckVsZW1lbnQuaAppbmRleCBhOGM4MGM1YzQ3MjUuLjU4NjRjY2Q0OGY0ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCkBAIC00MjgsMTAgKzQyOCw5IEBA
IGlubGluZSB2b2lkIFJlbmRlckVsZW1lbnQ6OnNldENoaWxkTmVlZHNMYXlvdXQoTWFya2luZ0Jl
aGF2aW9yIG1hcmtQYXJlbnRzKQogICAgICAgICByZXR1cm47CiAgICAgc2V0Tm9ybWFsQ2hpbGRO
ZWVkc0xheW91dEJpdCh0cnVlKTsKICAgICBpZiAobWFya1BhcmVudHMgPT0gTWFya0NvbnRhaW5p
bmdCbG9ja0NoYWluKQotICAgICAgICBtYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dCgpOwor
ICAgICAgICBzY2hlZHVsZUxheW91dChtYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dCgpKTsK
IH0KIAotCiBpbmxpbmUgRWxlbWVudCogUmVuZGVyRWxlbWVudDo6Z2VuZXJhdGluZ0VsZW1lbnQo
KSBjb25zdAogewogICAgIHJldHVybiBkb3duY2FzdDxFbGVtZW50PihSZW5kZXJPYmplY3Q6Omdl
bmVyYXRpbmdOb2RlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cAppbmRleCAwMDM3ZWZlZjkwY2EuLjQwNGFiODY2OTJjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTU2OCwyMCArNTY4LDE3IEBAIHZvaWQgUmVuZGVy
T2JqZWN0OjpjbGVhck5lZWRzTGF5b3V0KEV2ZXJIYWRTa2lwcGVkQ29udGVudExheW91dCBldmVy
SGFkU2tpcHBlZENvCiAjZW5kaWYKIH0KIAotc3RhdGljIHZvaWQgc2NoZWR1bGVSZWxheW91dEZv
clN1YnRyZWUoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIpCit2b2lkIFJlbmRlck9iamVjdDo6c2No
ZWR1bGVMYXlvdXQoUmVuZGVyRWxlbWVudCogbGF5b3V0Um9vdCkKIHsKLSAgICBpZiAoYXV0byog
cmVuZGVyVmlldyA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJWaWV3PihyZW5kZXJlcikpIHsKLSAg
ICAgICAgcmVuZGVyVmlldy0+cHJvdGVjdGVkRnJhbWVWaWV3KCktPmNoZWNrZWRMYXlvdXRDb250
ZXh0KCktPnNjaGVkdWxlTGF5b3V0KCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgaWYg
KGF1dG8qIHJlbmRlclZpZXcgPSBkeW5hbWljRG93bmNhc3Q8UmVuZGVyVmlldz4obGF5b3V0Um9v
dCkpCisgICAgICAgIHJldHVybiByZW5kZXJWaWV3LT5wcm90ZWN0ZWRGcmFtZVZpZXcoKS0+Y2hl
Y2tlZExheW91dENvbnRleHQoKS0+c2NoZWR1bGVMYXlvdXQoKTsKIAotICAgIGlmIChyZW5kZXJl
ci5pc1Jvb3RlZCgpKQotICAgICAgICByZW5kZXJlci52aWV3KCkucHJvdGVjdGVkRnJhbWVWaWV3
KCktPmNoZWNrZWRMYXlvdXRDb250ZXh0KCktPnNjaGVkdWxlU3VidHJlZUxheW91dChyZW5kZXJl
cik7CisgICAgaWYgKGxheW91dFJvb3QgJiYgbGF5b3V0Um9vdC0+aXNSb290ZWQoKSkKKyAgICAg
ICAgbGF5b3V0Um9vdC0+dmlldygpLnByb3RlY3RlZEZyYW1lVmlldygpLT5jaGVja2VkTGF5b3V0
Q29udGV4dCgpLT5zY2hlZHVsZVN1YnRyZWVMYXlvdXQoKmxheW91dFJvb3QpOwogfQogCi12b2lk
IFJlbmRlck9iamVjdDo6bWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoU2NoZWR1bGVSZWxh
eW91dCBzY2hlZHVsZVJlbGF5b3V0LCBSZW5kZXJFbGVtZW50KiBuZXdSb290KQorUmVuZGVyRWxl
bWVudCogUmVuZGVyT2JqZWN0OjptYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dChSZW5kZXJF
bGVtZW50KiBsYXlvdXRSb290KQogewotICAgIEFTU0VSVChzY2hlZHVsZVJlbGF5b3V0ID09IFNj
aGVkdWxlUmVsYXlvdXQ6Ok5vIHx8ICFuZXdSb290KTsKICAgICBBU1NFUlQoIWlzU2V0TmVlZHNM
YXlvdXRGb3JiaWRkZW4oKSk7CiAKICAgICBDaGVja2VkUHRyIGFuY2VzdG9yID0gY29udGFpbmVy
KCk7CkBAIC01OTYsNDIgKzU5Myw0MCBAQCB2b2lkIFJlbmRlck9iamVjdDo6bWFya0NvbnRhaW5p
bmdCbG9ja3NGb3JMYXlvdXQoU2NoZWR1bGVSZWxheW91dCBzY2hlZHVsZVJlbGF5bwogICAgICAg
ICAvLyBEb24ndCBtYXJrIHRoZSBvdXRlcm1vc3Qgb2JqZWN0IG9mIGFuIHVucm9vdGVkIHN1YnRy
ZWUuIFRoYXQgb2JqZWN0IHdpbGwgYmUKICAgICAgICAgLy8gbWFya2VkIHdoZW4gdGhlIHN1YnRy
ZWUgaXMgYWRkZWQgdG8gdGhlIGRvY3VtZW50LgogICAgICAgICBDaGVja2VkUHRyIGNvbnRhaW5l
ciA9IGFuY2VzdG9yLT5jb250YWluZXIoKTsKLSAgICAgICAgaWYgKCFjb250YWluZXIgJiYgIWFu
Y2VzdG9yLT5pc1JlbmRlclZpZXcoKSkKLSAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYg
KCFjb250YWluZXIgJiYgIWFuY2VzdG9yLT5pc1JlbmRlclZpZXcoKSkgeworICAgICAgICAgICAg
Ly8gSW50ZXJuYWwgcmVuZGVyIHRyZWUgc2h1ZmZsZS4KKyAgICAgICAgICAgIHJldHVybiB7IH07
CisgICAgICAgIH0KKwogICAgICAgICBpZiAoaGFzT3V0T2ZGbG93UG9zaXRpb24pIHsKICAgICAg
ICAgICAgIGJvb2wgd2lsbFNraXBSZWxhdGl2ZWx5UG9zaXRpb25lZElubGluZXMgPSAhYW5jZXN0
b3ItPmlzUmVuZGVyQmxvY2soKSB8fCBhbmNlc3Rvci0+aXNBbm9ueW1vdXNCbG9jaygpOwogICAg
ICAgICAgICAgLy8gU2tpcCByZWxhdGl2ZWx5IHBvc2l0aW9uZWQgaW5saW5lcyBhbmQgYW5vbnlt
b3VzIGJsb2NrcyB0byBnZXQgdG8gdGhlIGVuY2xvc2luZyBSZW5kZXJCbG9jay4KICAgICAgICAg
ICAgIHdoaWxlIChhbmNlc3RvciAmJiAoIWFuY2VzdG9yLT5pc1JlbmRlckJsb2NrKCkgfHwgYW5j
ZXN0b3ItPmlzQW5vbnltb3VzQmxvY2soKSkpCiAgICAgICAgICAgICAgICAgYW5jZXN0b3IgPSBh
bmNlc3Rvci0+Y29udGFpbmVyKCk7CiAgICAgICAgICAgICBpZiAoIWFuY2VzdG9yIHx8IGFuY2Vz
dG9yLT5wb3NDaGlsZE5lZWRzTGF5b3V0KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICAgICAgICAgIHJldHVybiB7IH07CiAgICAgICAgICAgICBpZiAod2lsbFNraXBSZWxhdGl2
ZWx5UG9zaXRpb25lZElubGluZXMpCiAgICAgICAgICAgICAgICAgY29udGFpbmVyID0gYW5jZXN0
b3ItPmNvbnRhaW5lcigpOwogICAgICAgICAgICAgYW5jZXN0b3ItPnNldFBvc0NoaWxkTmVlZHNM
YXlvdXRCaXQodHJ1ZSk7CiAgICAgICAgICAgICBzaW1wbGlmaWVkTm9ybWFsRmxvd0xheW91dCA9
IHRydWU7CiAgICAgICAgIH0gZWxzZSBpZiAoc2ltcGxpZmllZE5vcm1hbEZsb3dMYXlvdXQpIHsK
ICAgICAgICAgICAgIGlmIChhbmNlc3Rvci0+bmVlZHNTaW1wbGlmaWVkTm9ybWFsRmxvd0xheW91
dCgpKQotICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9
OwogICAgICAgICAgICAgYW5jZXN0b3ItPnNldE5lZWRzU2ltcGxpZmllZE5vcm1hbEZsb3dMYXlv
dXRCaXQodHJ1ZSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAoYW5jZXN0b3It
Pm5vcm1hbENoaWxkTmVlZHNMYXlvdXQoKSkKLSAgICAgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgICAgICAgICAgcmV0dXJuIHsgfTsKICAgICAgICAgICAgIGFuY2VzdG9yLT5zZXROb3JtYWxD
aGlsZE5lZWRzTGF5b3V0Qml0KHRydWUpOwogICAgICAgICB9CiAgICAgICAgIEFTU0VSVCghYW5j
ZXN0b3ItPmlzU2V0TmVlZHNMYXlvdXRGb3JiaWRkZW4oKSk7CiAKLSAgICAgICAgaWYgKGFuY2Vz
dG9yID09IG5ld1Jvb3QpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgaWYgKHNjaGVk
dWxlUmVsYXlvdXQgPT0gU2NoZWR1bGVSZWxheW91dDo6WWVzICYmIG9iamVjdElzUmVsYXlvdXRC
b3VuZGFyeShhbmNlc3Rvci5nZXQoKSkpCi0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgaWYg
KG9iamVjdElzUmVsYXlvdXRCb3VuZGFyeShhbmNlc3Rvci5nZXQoKSkgfHwgYW5jZXN0b3IgPT0g
bGF5b3V0Um9vdCkKKyAgICAgICAgICAgIHJldHVybiBhbmNlc3Rvci5nZXQoKTsKIAogICAgICAg
ICBoYXNPdXRPZkZsb3dQb3NpdGlvbiA9IGFuY2VzdG9yLT5pc091dE9mRmxvd1Bvc2l0aW9uZWQo
KTsKICAgICAgICAgYW5jZXN0b3IgPSBXVEZNb3ZlKGNvbnRhaW5lcik7CiAgICAgfQotCi0gICAg
aWYgKHNjaGVkdWxlUmVsYXlvdXQgPT0gU2NoZWR1bGVSZWxheW91dDo6WWVzICYmIGFuY2VzdG9y
KQotICAgICAgICBzY2hlZHVsZVJlbGF5b3V0Rm9yU3VidHJlZSgqYW5jZXN0b3IpOworICAgIHJl
dHVybiB7IH07CiB9CiAKICNpZiBBU1NFUlRfRU5BQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5oCmluZGV4IDY4MDI0ODExMDZhNS4uMmVlODJmZmUyMmZmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC03NTMsNyArNzUzLDcgQEAgcHVi
bGljOgogCiAgICAgUmVuZGVyQm94TW9kZWxPYmplY3QqIG9mZnNldFBhcmVudCgpIGNvbnN0Owog
Ci0gICAgdm9pZCBtYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dChTY2hlZHVsZVJlbGF5b3V0
ID0gU2NoZWR1bGVSZWxheW91dDo6WWVzLCBSZW5kZXJFbGVtZW50KiBuZXdSb290ID0gbnVsbHB0
cik7CisgICAgUmVuZGVyRWxlbWVudCogbWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoUmVu
ZGVyRWxlbWVudCogbGF5b3V0Um9vdCA9IG51bGxwdHIpOwogICAgIHZvaWQgc2V0TmVlZHNMYXlv
dXQoTWFya2luZ0JlaGF2aW9yID0gTWFya0NvbnRhaW5pbmdCbG9ja0NoYWluKTsKICAgICBlbnVt
IGNsYXNzIEV2ZXJIYWRTa2lwcGVkQ29udGVudExheW91dCB7IFllcywgTm8gfTsKICAgICB2b2lk
IGNsZWFyTmVlZHNMYXlvdXQoRXZlckhhZFNraXBwZWRDb250ZW50TGF5b3V0ID0gRXZlckhhZFNr
aXBwZWRDb250ZW50TGF5b3V0OjpZZXMpOwpAQCAtMTEzMyw2ICsxMTMzLDcgQEAgcHJvdGVjdGVk
OgogCiAgICAgdmlydHVhbCB2b2lkIHdpbGxCZURlc3Ryb3llZCgpOwogCisgICAgdm9pZCBzY2hl
ZHVsZUxheW91dChSZW5kZXJFbGVtZW50KiBsYXlvdXRSb290KTsKICAgICB2b2lkIHNldE5lZWRz
UG9zaXRpb25lZE1vdmVtZW50TGF5b3V0Qml0KGJvb2wgYikgeyBtX3N0YXRlQml0ZmllbGRzLnNl
dEZsYWcoU3RhdGVGbGFnOjpOZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dCwgYik7IH0KICAg
ICB2b2lkIHNldE5vcm1hbENoaWxkTmVlZHNMYXlvdXRCaXQoYm9vbCBiKSB7IG1fc3RhdGVCaXRm
aWVsZHMuc2V0RmxhZyhTdGF0ZUZsYWc6Ok5vcm1hbENoaWxkTmVlZHNMYXlvdXQsIGIpOyB9CiAg
ICAgdm9pZCBzZXRQb3NDaGlsZE5lZWRzTGF5b3V0Qml0KGJvb2wgYikgeyBtX3N0YXRlQml0Zmll
bGRzLnNldEZsYWcoU3RhdGVGbGFnOjpQb3NDaGlsZE5lZWRzTGF5b3V0LCBiKTsgfQpAQCAtMTM2
Myw3ICsxMzY0LDcgQEAgaW5saW5lIHZvaWQgUmVuZGVyT2JqZWN0OjpzZXROZWVkc0xheW91dChN
YXJraW5nQmVoYXZpb3IgbWFya1BhcmVudHMpCiAgICAgICAgIHJldHVybjsKICAgICBtX3N0YXRl
Qml0ZmllbGRzLnNldEZsYWcoU3RhdGVGbGFnOjpOZWVkc0xheW91dCk7CiAgICAgaWYgKG1hcmtQ
YXJlbnRzID09IE1hcmtDb250YWluaW5nQmxvY2tDaGFpbikKLSAgICAgICAgbWFya0NvbnRhaW5p
bmdCbG9ja3NGb3JMYXlvdXQoKTsKKyAgICAgICAgc2NoZWR1bGVMYXlvdXQobWFya0NvbnRhaW5p
bmdCbG9ja3NGb3JMYXlvdXQoKSk7CiAgICAgaWYgKGhhc0xheWVyKCkpCiAgICAgICAgIHNldExh
eWVyTmVlZHNGdWxsUmVwYWludCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdEVudW1zLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0RW51bXMuaAppbmRleCA5Nzk0ZTAzZDY2MzcuLmE2ZDU0YmI0ZTk4ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdEVudW1zLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdEVudW1zLmgKQEAgLTUyLDggKzUy
LDYgQEAgZW51bSBNYXJraW5nQmVoYXZpb3IgewogICAgIE1hcmtDb250YWluaW5nQmxvY2tDaGFp
biwKIH07CiAKLWVudW0gY2xhc3MgU2NoZWR1bGVSZWxheW91dCA6IGJvb2wgeyBObywgWWVzIH07
Ci0KIGVudW0gTWFwQ29vcmRpbmF0ZXNNb2RlIHsKICAgICBJc0ZpeGVkICAgICAgICAgICAgID0g
MSA8PCAwLAogICAgIFVzZVRyYW5zZm9ybXMgICAgICAgPSAxIDw8IDEsCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>470819</attachid>
            <date>2024-04-08 11:07:02 -0700</date>
            <delta_ts>2024-04-08 14:36:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-272315-20240408110701.patch</filename>
            <type>text/plain</type>
            <size>14107</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBmYTgxZGQ3ZmZmNzFiNzE3OTE5ODRmNWJkYmVlMDk4ZmRhM2I5MzE1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFN1biwgNyBBcHIgMjAyNCAyMDo1MToxNSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzIzMTUKIFtTZXROZWVkc0xheW91dF1b
Q2xlYW51cF0gRGVjb3VwbGUgbWFya2luZyBhbmNlc3RvciBjaGFpbiBkaXJ0eSBhbmQKIHNjaGVk
dWxpbmcgbGF5b3V0CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCkluIGNhc2VzIHdoZW4g
c3VidHJlZSBsYXlvdXQgc2NoZWR1bGluZyByZXF1aXJlcyBhZGp1c3RpbmcgdGhlIGxheW91dCBy
b290LCB3ZSBvbmx5IHdhbnQgdG8gbWFyayBzb21lIG1vcmUKcmVuZGVyZXJzIGRpcnR5IHdpdGhv
dXQgc2NoZWR1bGluZyBsYXlvdXQgKHRoZXJlJ3MgYSBwZW5kaW5nIGxheW91dCBzY2hlZHVsZWQg
YWxyZWFkeSkuCgpMZXQgUmVuZGVyT2JqZWN0OjptYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91
dCBvbmx5IGRlYWwgd2l0aCBtYXJraW5nIHJlbmRlcmVycyBkaXJ0eSBhbmQgcmV0dXJuaW5nIHRo
ZSBjb21wdXRlZCBsYXlvdXQgcm9vdCAoUmVuZGVyVmlldyBpbiBtb3N0IGNhc2VzKQphbmQgaGF2
ZSB0aGUgY2FsbGVyIGhhbmRsZSBsYXlvdXQgc2NoZWR1bGluZyB3aGVuIG5lZWRlZC4KClRoaXMg
aXMgYWxzbyBpbiBwcmVwYXJhdGlvbiBmb3IgcmVtb3ZpbmcgaXNSb290ZWQoKSBpbiBSZW5kZXJP
YmplY3Q6OnNjaGVkdWxlTGF5b3V0LgoKKiBTb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2FsRnJhbWVW
aWV3TGF5b3V0Q29udGV4dC5jcHA6CihXZWJDb3JlOjpMb2NhbEZyYW1lVmlld0xheW91dENvbnRl
eHQ6OnNjaGVkdWxlU3VidHJlZUxheW91dCk6CihXZWJDb3JlOjpMb2NhbEZyYW1lVmlld0xheW91
dENvbnRleHQ6OmNvbnZlcnRTdWJ0cmVlTGF5b3V0VG9GdWxsTGF5b3V0KToKKiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKFdlYkNvcmU6OlJlbmRlckJveDo6c3R5bGVX
aWxsQ2hhbmdlKToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6
CihXZWJDb3JlOjpSZW5kZXJFbGVtZW50OjpzdHlsZURpZENoYW5nZSk6CihXZWJDb3JlOjpSZW5k
ZXJFbGVtZW50OjpzZXROZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dCk6CihXZWJDb3JlOjpS
ZW5kZXJFbGVtZW50OjpzZXROZWVkc1NpbXBsaWZpZWROb3JtYWxGbG93TGF5b3V0KToKKiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgooV2ViQ29yZTo6UmVuZGVyRWxl
bWVudDo6c2V0Q2hpbGROZWVkc0xheW91dCk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHA6CihXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNjaGVkdWxlTGF5b3V0KToK
KFdlYkNvcmU6OlJlbmRlck9iamVjdDo6bWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQpOgoo
V2ViQ29yZTo6c2NoZWR1bGVSZWxheW91dEZvclN1YnRyZWUpOiBEZWxldGVkLgoqIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6
c2V0TmVlZHNMYXlvdXQpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3RF
bnVtcy5oOgotLS0KIC4uLi9wYWdlL0xvY2FsRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5jcHAgICAg
ICB8IDEyICsrKy0tLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgICAg
ICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcCAg
ICB8ICA2ICstLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaCAgICAg
IHwgIDMgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwICAgICB8
IDQzICsrKysrKysrKy0tLS0tLS0tLS0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuaCAgICAgICB8ICA1ICsrLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdEVudW1zLmggIHwgIDIgLQogNyBmaWxlcyBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspLCAz
OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2FsRnJh
bWVWaWV3TGF5b3V0Q29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2FsRnJhbWVW
aWV3TGF5b3V0Q29udGV4dC5jcHAKaW5kZXggN2MxYjhkZmUzNWUxLi4wYThjYTZlNGMzNWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxGcmFtZVZpZXdMYXlvdXRDb250ZXh0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2FsRnJhbWVWaWV3TGF5b3V0Q29udGV4
dC5jcHAKQEAgLTQxOSw3ICs0MTksNyBAQCB2b2lkIExvY2FsRnJhbWVWaWV3TGF5b3V0Q29udGV4
dDo6c2NoZWR1bGVTdWJ0cmVlTGF5b3V0KFJlbmRlckVsZW1lbnQmIGxheW91dFJvbwogICAgIEFT
U0VSVChmcmFtZSgpLnZpZXcoKSA9PSAmdmlldygpKTsKIAogICAgIGlmIChyZW5kZXJWaWV3Lm5l
ZWRzTGF5b3V0KCkgJiYgIXN1YnRyZWVMYXlvdXRSb290KCkpIHsKLSAgICAgICAgbGF5b3V0Um9v
dC5tYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dChTY2hlZHVsZVJlbGF5b3V0OjpObyk7Cisg
ICAgICAgIGxheW91dFJvb3QubWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoJnJlbmRlclZp
ZXcpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC00MzcsMjEgKzQzNywyMSBAQCB2b2lk
IExvY2FsRnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6c2NoZWR1bGVTdWJ0cmVlTGF5b3V0KFJlbmRl
ckVsZW1lbnQmIGxheW91dFJvbwogCiAgICAgaWYgKCFzdWJ0cmVlTGF5b3V0Um9vdCkgewogICAg
ICAgICAvLyBXZSBhbHJlYWR5IGhhdmUgYSBwZW5kaW5nIChmdWxsKSBsYXlvdXQuIEp1c3QgbWFy
ayB0aGUgc3VidHJlZSBmb3IgbGF5b3V0LgotICAgICAgICBsYXlvdXRSb290Lm1hcmtDb250YWlu
aW5nQmxvY2tzRm9yTGF5b3V0KFNjaGVkdWxlUmVsYXlvdXQ6Ok5vKTsKKyAgICAgICAgbGF5b3V0
Um9vdC5tYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dCgmcmVuZGVyVmlldyk7CiAgICAgICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW52YWxpZGF0ZUxheW91dChwcm90ZWN0ZWRG
cmFtZSgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChpc09iamVjdEFuY2Vz
dG9yQ29udGFpbmVyT2YoKnN1YnRyZWVMYXlvdXRSb290LCBsYXlvdXRSb290KSkgewogICAgICAg
ICAvLyBLZWVwIHRoZSBjdXJyZW50IHJvb3QuCi0gICAgICAgIGxheW91dFJvb3QubWFya0NvbnRh
aW5pbmdCbG9ja3NGb3JMYXlvdXQoU2NoZWR1bGVSZWxheW91dDo6Tm8sIHN1YnRyZWVMYXlvdXRS
b290KTsKKyAgICAgICAgbGF5b3V0Um9vdC5tYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dChz
dWJ0cmVlTGF5b3V0Um9vdCk7CiAgICAgICAgIEFTU0VSVCghc3VidHJlZUxheW91dFJvb3QtPmNv
bnRhaW5lcigpIHx8IGlzPFJlbmRlclZpZXc+KHN1YnRyZWVMYXlvdXRSb290LT5jb250YWluZXIo
KSkgfHwgIXN1YnRyZWVMYXlvdXRSb290LT5jb250YWluZXIoKS0+bmVlZHNMYXlvdXQoKSk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAoaXNPYmplY3RBbmNlc3RvckNvbnRhaW5l
ck9mKGxheW91dFJvb3QsICpzdWJ0cmVlTGF5b3V0Um9vdCkpIHsKICAgICAgICAgLy8gUmUtcm9v
dCBhdCBuZXdSZWxheW91dFJvb3QuCi0gICAgICAgIHN1YnRyZWVMYXlvdXRSb290LT5tYXJrQ29u
dGFpbmluZ0Jsb2Nrc0ZvckxheW91dChTY2hlZHVsZVJlbGF5b3V0OjpObywgJmxheW91dFJvb3Qp
OworICAgICAgICBzdWJ0cmVlTGF5b3V0Um9vdC0+bWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlv
dXQoJmxheW91dFJvb3QpOwogICAgICAgICBzZXRTdWJ0cmVlTGF5b3V0Um9vdChsYXlvdXRSb290
KTsKICAgICAgICAgQVNTRVJUKCFsYXlvdXRSb290LmNvbnRhaW5lcigpIHx8IGlzPFJlbmRlclZp
ZXc+KGxheW91dFJvb3QuY29udGFpbmVyKCkpIHx8ICFsYXlvdXRSb290LmNvbnRhaW5lcigpLT5u
ZWVkc0xheW91dCgpKTsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnZh
bGlkYXRlTGF5b3V0KHByb3RlY3RlZEZyYW1lKCkpOwpAQCAtNDU5LDcgKzQ1OSw3IEBAIHZvaWQg
TG9jYWxGcmFtZVZpZXdMYXlvdXRDb250ZXh0OjpzY2hlZHVsZVN1YnRyZWVMYXlvdXQoUmVuZGVy
RWxlbWVudCYgbGF5b3V0Um9vCiAgICAgfQogICAgIC8vIFR3byBkaXNqb2ludCBzdWJ0cmVlcyBu
ZWVkIGxheW91dC4gTWFyayBib3RoIG9mIHRoZW0gYW5kIGlzc3VlIGEgZnVsbCBsYXlvdXQgaW5z
dGVhZC4KICAgICBjb252ZXJ0U3VidHJlZUxheW91dFRvRnVsbExheW91dCgpOwotICAgIGxheW91
dFJvb3QubWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoU2NoZWR1bGVSZWxheW91dDo6Tm8p
OworICAgIGxheW91dFJvb3QubWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoKTsKICAgICBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEludmFsaWRhdGVMYXlvdXQocHJvdGVjdGVkRnJh
bWUoKSk7CiB9CiAKQEAgLTQ4MCw3ICs0ODAsNyBAQCBSZW5kZXJFbGVtZW50KiBMb2NhbEZyYW1l
Vmlld0xheW91dENvbnRleHQ6OnN1YnRyZWVMYXlvdXRSb290KCkgY29uc3QKIHZvaWQgTG9jYWxG
cmFtZVZpZXdMYXlvdXRDb250ZXh0Ojpjb252ZXJ0U3VidHJlZUxheW91dFRvRnVsbExheW91dCgp
CiB7CiAgICAgQVNTRVJUKHN1YnRyZWVMYXlvdXRSb290KCkpOwotICAgIHN1YnRyZWVMYXlvdXRS
b290KCktPm1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KFNjaGVkdWxlUmVsYXlvdXQ6Ok5v
KTsKKyAgICBzdWJ0cmVlTGF5b3V0Um9vdCgpLT5tYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91
dChyZW5kZXJWaWV3KCkpOwogICAgIGNsZWFyU3VidHJlZUxheW91dFJvb3QoKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCAyNmRmZjZjY2RjN2IuLjdjNjgy
YTFlYTViNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTI4Myw3
ICsyODMsNyBAQCB2b2lkIFJlbmRlckJveDo6c3R5bGVXaWxsQ2hhbmdlKFN0eWxlRGlmZmVyZW5j
ZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSYgbmV3U3R5bAogICAgICAgICAgICAgICAgIC8vIGN1
cnJlbnQgY29udGFpbmluZyBibG9jayBjaGFpbiBmb3IgcHJlZmVycmVkIHdpZHRocyByZWNhbGN1
bGF0aW9uLgogICAgICAgICAgICAgICAgIHNldE5lZWRzTGF5b3V0QW5kUHJlZldpZHRoc1JlY2Fs
YygpOwogICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgbWFya0NvbnRhaW5pbmdC
bG9ja3NGb3JMYXlvdXQoKTsKKyAgICAgICAgICAgICAgICBzY2hlZHVsZUxheW91dChtYXJrQ29u
dGFpbmluZ0Jsb2Nrc0ZvckxheW91dCgpKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgaWYg
KG9sZFN0eWxlLT5wb3NpdGlvbigpICE9IFBvc2l0aW9uVHlwZTo6U3RhdGljICYmIG5ld1N0eWxl
Lmhhc091dE9mRmxvd1Bvc2l0aW9uKCkpCiAgICAgICAgICAgICAgICAgcGFyZW50KCktPnNldENo
aWxkTmVlZHNMYXlvdXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50
LmNwcAppbmRleCBjN2Q5NTY5OWIxZmUuLmI3ODYzNTQwZjNmNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApAQCAtMTAxMSw3ICsxMDExLDcgQEAgdm9pZCBS
ZW5kZXJFbGVtZW50OjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3Qg
UmVuZGVyU3R5bGUqIG9sZFMKICAgICAgICAgLy8gZGlyZWN0bHkgYWZmZWN0IHRoZSBjb250YWlu
aW5nIGJsb2NrIG9mIHRoaXMgb2JqZWN0IGlzIGEgY2hhbmdlIHRvCiAgICAgICAgIC8vIHRoZSBw
b3NpdGlvbiBzdHlsZS4KICAgICAgICAgaWYgKG5lZWRzTGF5b3V0KCkgJiYgb2xkU3R5bGUgJiYg
b2xkU3R5bGUtPnBvc2l0aW9uKCkgIT0gbV9zdHlsZS5wb3NpdGlvbigpKQotICAgICAgICAgICAg
bWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoKTsKKyAgICAgICAgICAgIHNjaGVkdWxlTGF5
b3V0KG1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KCkpOwogCiAgICAgICAgIGlmIChkaWZm
ID09IFN0eWxlRGlmZmVyZW5jZTo6TGF5b3V0KQogICAgICAgICAgICAgc2V0TmVlZHNMYXlvdXRB
bmRQcmVmV2lkdGhzUmVjYWxjKCk7CkBAIC0xMTU5LDcgKzExNTksNyBAQCB2b2lkIFJlbmRlckVs
ZW1lbnQ6OnNldE5lZWRzUG9zaXRpb25lZE1vdmVtZW50TGF5b3V0KGNvbnN0IFJlbmRlclN0eWxl
KiBvbGRTdHlsZQogICAgIGlmIChuZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dCgpKQogICAg
ICAgICByZXR1cm47CiAgICAgc2V0TmVlZHNQb3NpdGlvbmVkTW92ZW1lbnRMYXlvdXRCaXQodHJ1
ZSk7Ci0gICAgbWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoKTsKKyAgICBzY2hlZHVsZUxh
eW91dChtYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dCgpKTsKICAgICBpZiAoaGFzTGF5ZXIo
KSkgewogICAgICAgICBpZiAob2xkU3R5bGUgJiYgc3R5bGUoKS5kaWZmUmVxdWlyZXNMYXllclJl
cGFpbnQoKm9sZFN0eWxlLCBkb3duY2FzdDxSZW5kZXJMYXllck1vZGVsT2JqZWN0PigqdGhpcyku
bGF5ZXIoKS0+aXNDb21wb3NpdGVkKCkpKQogICAgICAgICAgICAgc2V0TGF5ZXJOZWVkc0Z1bGxS
ZXBhaW50KCk7CkBAIC0xMTgyLDcgKzExODIsNyBAQCB2b2lkIFJlbmRlckVsZW1lbnQ6OnNldE5l
ZWRzU2ltcGxpZmllZE5vcm1hbEZsb3dMYXlvdXQoKQogICAgIGlmIChuZWVkc1NpbXBsaWZpZWRO
b3JtYWxGbG93TGF5b3V0KCkpCiAgICAgICAgIHJldHVybjsKICAgICBzZXROZWVkc1NpbXBsaWZp
ZWROb3JtYWxGbG93TGF5b3V0Qml0KHRydWUpOwotICAgIG1hcmtDb250YWluaW5nQmxvY2tzRm9y
TGF5b3V0KCk7CisgICAgc2NoZWR1bGVMYXlvdXQobWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlv
dXQoKSk7CiAgICAgaWYgKGhhc0xheWVyKCkpCiAgICAgICAgIHNldExheWVyTmVlZHNGdWxsUmVw
YWludCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKaW5kZXgg
YThjODBjNWM0NzI1Li41ODY0Y2NkNDhmNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckVsZW1lbnQuaApAQCAtNDI4LDEwICs0MjgsOSBAQCBpbmxpbmUgdm9pZCBSZW5kZXJFbGVt
ZW50OjpzZXRDaGlsZE5lZWRzTGF5b3V0KE1hcmtpbmdCZWhhdmlvciBtYXJrUGFyZW50cykKICAg
ICAgICAgcmV0dXJuOwogICAgIHNldE5vcm1hbENoaWxkTmVlZHNMYXlvdXRCaXQodHJ1ZSk7CiAg
ICAgaWYgKG1hcmtQYXJlbnRzID09IE1hcmtDb250YWluaW5nQmxvY2tDaGFpbikKLSAgICAgICAg
bWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoKTsKKyAgICAgICAgc2NoZWR1bGVMYXlvdXQo
bWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoKSk7CiB9CiAKLQogaW5saW5lIEVsZW1lbnQq
IFJlbmRlckVsZW1lbnQ6OmdlbmVyYXRpbmdFbGVtZW50KCkgY29uc3QKIHsKICAgICByZXR1cm4g
ZG93bmNhc3Q8RWxlbWVudD4oUmVuZGVyT2JqZWN0OjpnZW5lcmF0aW5nTm9kZSgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggMDAzN2VmZWY5MGNhLi5m
MDE4ZmI2YmUyZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
CkBAIC01NjgsMjAgKzU2OCwxNyBAQCB2b2lkIFJlbmRlck9iamVjdDo6Y2xlYXJOZWVkc0xheW91
dChFdmVySGFkU2tpcHBlZENvbnRlbnRMYXlvdXQgZXZlckhhZFNraXBwZWRDbwogI2VuZGlmCiB9
CiAKLXN0YXRpYyB2b2lkIHNjaGVkdWxlUmVsYXlvdXRGb3JTdWJ0cmVlKFJlbmRlckVsZW1lbnQm
IHJlbmRlcmVyKQordm9pZCBSZW5kZXJPYmplY3Q6OnNjaGVkdWxlTGF5b3V0KFJlbmRlckVsZW1l
bnQqIGxheW91dFJvb3QpCiB7Ci0gICAgaWYgKGF1dG8qIHJlbmRlclZpZXcgPSBkeW5hbWljRG93
bmNhc3Q8UmVuZGVyVmlldz4ocmVuZGVyZXIpKSB7Ci0gICAgICAgIHJlbmRlclZpZXctPnByb3Rl
Y3RlZEZyYW1lVmlldygpLT5jaGVja2VkTGF5b3V0Q29udGV4dCgpLT5zY2hlZHVsZUxheW91dCgp
OwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgIGlmIChhdXRvKiByZW5kZXJWaWV3ID0gZHlu
YW1pY0Rvd25jYXN0PFJlbmRlclZpZXc+KGxheW91dFJvb3QpKQorICAgICAgICByZXR1cm4gcmVu
ZGVyVmlldy0+cHJvdGVjdGVkRnJhbWVWaWV3KCktPmNoZWNrZWRMYXlvdXRDb250ZXh0KCktPnNj
aGVkdWxlTGF5b3V0KCk7CiAKLSAgICBpZiAocmVuZGVyZXIuaXNSb290ZWQoKSkKLSAgICAgICAg
cmVuZGVyZXIudmlldygpLnByb3RlY3RlZEZyYW1lVmlldygpLT5jaGVja2VkTGF5b3V0Q29udGV4
dCgpLT5zY2hlZHVsZVN1YnRyZWVMYXlvdXQocmVuZGVyZXIpOworICAgIGlmIChsYXlvdXRSb290
ICYmIGxheW91dFJvb3QtPmlzUm9vdGVkKCkpCisgICAgICAgIGxheW91dFJvb3QtPnZpZXcoKS5w
cm90ZWN0ZWRGcmFtZVZpZXcoKS0+Y2hlY2tlZExheW91dENvbnRleHQoKS0+c2NoZWR1bGVTdWJ0
cmVlTGF5b3V0KCpsYXlvdXRSb290KTsKIH0KIAotdm9pZCBSZW5kZXJPYmplY3Q6Om1hcmtDb250
YWluaW5nQmxvY2tzRm9yTGF5b3V0KFNjaGVkdWxlUmVsYXlvdXQgc2NoZWR1bGVSZWxheW91dCwg
UmVuZGVyRWxlbWVudCogbmV3Um9vdCkKK1JlbmRlckVsZW1lbnQqIFJlbmRlck9iamVjdDo6bWFy
a0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoUmVuZGVyRWxlbWVudCogbGF5b3V0Um9vdCkKIHsK
LSAgICBBU1NFUlQoc2NoZWR1bGVSZWxheW91dCA9PSBTY2hlZHVsZVJlbGF5b3V0OjpObyB8fCAh
bmV3Um9vdCk7CiAgICAgQVNTRVJUKCFpc1NldE5lZWRzTGF5b3V0Rm9yYmlkZGVuKCkpOwogCiAg
ICAgQ2hlY2tlZFB0ciBhbmNlc3RvciA9IGNvbnRhaW5lcigpOwpAQCAtNTk2LDQyICs1OTMsNDQg
QEAgdm9pZCBSZW5kZXJPYmplY3Q6Om1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KFNjaGVk
dWxlUmVsYXlvdXQgc2NoZWR1bGVSZWxheW8KICAgICAgICAgLy8gRG9uJ3QgbWFyayB0aGUgb3V0
ZXJtb3N0IG9iamVjdCBvZiBhbiB1bnJvb3RlZCBzdWJ0cmVlLiBUaGF0IG9iamVjdCB3aWxsIGJl
CiAgICAgICAgIC8vIG1hcmtlZCB3aGVuIHRoZSBzdWJ0cmVlIGlzIGFkZGVkIHRvIHRoZSBkb2N1
bWVudC4KICAgICAgICAgQ2hlY2tlZFB0ciBjb250YWluZXIgPSBhbmNlc3Rvci0+Y29udGFpbmVy
KCk7Ci0gICAgICAgIGlmICghY29udGFpbmVyICYmICFhbmNlc3Rvci0+aXNSZW5kZXJWaWV3KCkp
Ci0gICAgICAgICAgICByZXR1cm47CisgICAgICAgIGlmICghY29udGFpbmVyICYmICFhbmNlc3Rv
ci0+aXNSZW5kZXJWaWV3KCkpIHsKKyAgICAgICAgICAgIC8vIEludGVybmFsIHJlbmRlciB0cmVl
IHNodWZmbGUuCisgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICB9CisKICAgICAgICAg
aWYgKGhhc091dE9mRmxvd1Bvc2l0aW9uKSB7CiAgICAgICAgICAgICBib29sIHdpbGxTa2lwUmVs
YXRpdmVseVBvc2l0aW9uZWRJbmxpbmVzID0gIWFuY2VzdG9yLT5pc1JlbmRlckJsb2NrKCkgfHwg
YW5jZXN0b3ItPmlzQW5vbnltb3VzQmxvY2soKTsKICAgICAgICAgICAgIC8vIFNraXAgcmVsYXRp
dmVseSBwb3NpdGlvbmVkIGlubGluZXMgYW5kIGFub255bW91cyBibG9ja3MgdG8gZ2V0IHRvIHRo
ZSBlbmNsb3NpbmcgUmVuZGVyQmxvY2suCiAgICAgICAgICAgICB3aGlsZSAoYW5jZXN0b3IgJiYg
KCFhbmNlc3Rvci0+aXNSZW5kZXJCbG9jaygpIHx8IGFuY2VzdG9yLT5pc0Fub255bW91c0Jsb2Nr
KCkpKQogICAgICAgICAgICAgICAgIGFuY2VzdG9yID0gYW5jZXN0b3ItPmNvbnRhaW5lcigpOwog
ICAgICAgICAgICAgaWYgKCFhbmNlc3RvciB8fCBhbmNlc3Rvci0+cG9zQ2hpbGROZWVkc0xheW91
dCgpKQotICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9
OwogICAgICAgICAgICAgaWYgKHdpbGxTa2lwUmVsYXRpdmVseVBvc2l0aW9uZWRJbmxpbmVzKQog
ICAgICAgICAgICAgICAgIGNvbnRhaW5lciA9IGFuY2VzdG9yLT5jb250YWluZXIoKTsKICAgICAg
ICAgICAgIGFuY2VzdG9yLT5zZXRQb3NDaGlsZE5lZWRzTGF5b3V0Qml0KHRydWUpOwogICAgICAg
ICAgICAgc2ltcGxpZmllZE5vcm1hbEZsb3dMYXlvdXQgPSB0cnVlOwogICAgICAgICB9IGVsc2Ug
aWYgKHNpbXBsaWZpZWROb3JtYWxGbG93TGF5b3V0KSB7CiAgICAgICAgICAgICBpZiAoYW5jZXN0
b3ItPm5lZWRzU2ltcGxpZmllZE5vcm1hbEZsb3dMYXlvdXQoKSkKLSAgICAgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKICAgICAgICAgICAgIGFuY2VzdG9y
LT5zZXROZWVkc1NpbXBsaWZpZWROb3JtYWxGbG93TGF5b3V0Qml0KHRydWUpOwogICAgICAgICB9
IGVsc2UgewogICAgICAgICAgICAgaWYgKGFuY2VzdG9yLT5ub3JtYWxDaGlsZE5lZWRzTGF5b3V0
KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIHJldHVybiB7IH07
CiAgICAgICAgICAgICBhbmNlc3Rvci0+c2V0Tm9ybWFsQ2hpbGROZWVkc0xheW91dEJpdCh0cnVl
KTsKICAgICAgICAgfQogICAgICAgICBBU1NFUlQoIWFuY2VzdG9yLT5pc1NldE5lZWRzTGF5b3V0
Rm9yYmlkZGVuKCkpOwogCi0gICAgICAgIGlmIChhbmNlc3RvciA9PSBuZXdSb290KQotICAgICAg
ICAgICAgcmV0dXJuOwotCi0gICAgICAgIGlmIChzY2hlZHVsZVJlbGF5b3V0ID09IFNjaGVkdWxl
UmVsYXlvdXQ6OlllcyAmJiBvYmplY3RJc1JlbGF5b3V0Qm91bmRhcnkoYW5jZXN0b3IuZ2V0KCkp
KQotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGlmIChsYXlvdXRSb290KSB7CisgICAgICAg
ICAgICAvLyBIYXZpbmcgYSB2YWxpZCBsYXlvdXQgcm9vdCBhbHNvIG1lYW4gd2Ugc2hvdWxkIG5v
dCBzdG9wIGF0IGxheW91dCBib3VuZGFyaWVzLgorICAgICAgICAgICAgaWYgKGFuY2VzdG9yID09
IGxheW91dFJvb3QpCisgICAgICAgICAgICAgICAgcmV0dXJuIGxheW91dFJvb3Q7CisgICAgICAg
IH0gZWxzZSBpZiAob2JqZWN0SXNSZWxheW91dEJvdW5kYXJ5KGFuY2VzdG9yLmdldCgpKSkKKyAg
ICAgICAgICAgIHJldHVybiBhbmNlc3Rvci5nZXQoKTsKIAogICAgICAgICBoYXNPdXRPZkZsb3dQ
b3NpdGlvbiA9IGFuY2VzdG9yLT5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKTsKICAgICAgICAgYW5j
ZXN0b3IgPSBXVEZNb3ZlKGNvbnRhaW5lcik7CiAgICAgfQotCi0gICAgaWYgKHNjaGVkdWxlUmVs
YXlvdXQgPT0gU2NoZWR1bGVSZWxheW91dDo6WWVzICYmIGFuY2VzdG9yKQotICAgICAgICBzY2hl
ZHVsZVJlbGF5b3V0Rm9yU3VidHJlZSgqYW5jZXN0b3IpOworICAgIHJldHVybiB7IH07CiB9CiAK
ICNpZiBBU1NFUlRfRU5BQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5o
CmluZGV4IDY4MDI0ODExMDZhNS4uMmVlODJmZmUyMmZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oCkBAIC03NTMsNyArNzUzLDcgQEAgcHVibGljOgogCiAgICAgUmVu
ZGVyQm94TW9kZWxPYmplY3QqIG9mZnNldFBhcmVudCgpIGNvbnN0OwogCi0gICAgdm9pZCBtYXJr
Q29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dChTY2hlZHVsZVJlbGF5b3V0ID0gU2NoZWR1bGVSZWxh
eW91dDo6WWVzLCBSZW5kZXJFbGVtZW50KiBuZXdSb290ID0gbnVsbHB0cik7CisgICAgUmVuZGVy
RWxlbWVudCogbWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoUmVuZGVyRWxlbWVudCogbGF5
b3V0Um9vdCA9IG51bGxwdHIpOwogICAgIHZvaWQgc2V0TmVlZHNMYXlvdXQoTWFya2luZ0JlaGF2
aW9yID0gTWFya0NvbnRhaW5pbmdCbG9ja0NoYWluKTsKICAgICBlbnVtIGNsYXNzIEV2ZXJIYWRT
a2lwcGVkQ29udGVudExheW91dCB7IFllcywgTm8gfTsKICAgICB2b2lkIGNsZWFyTmVlZHNMYXlv
dXQoRXZlckhhZFNraXBwZWRDb250ZW50TGF5b3V0ID0gRXZlckhhZFNraXBwZWRDb250ZW50TGF5
b3V0OjpZZXMpOwpAQCAtMTEzMyw2ICsxMTMzLDcgQEAgcHJvdGVjdGVkOgogCiAgICAgdmlydHVh
bCB2b2lkIHdpbGxCZURlc3Ryb3llZCgpOwogCisgICAgdm9pZCBzY2hlZHVsZUxheW91dChSZW5k
ZXJFbGVtZW50KiBsYXlvdXRSb290KTsKICAgICB2b2lkIHNldE5lZWRzUG9zaXRpb25lZE1vdmVt
ZW50TGF5b3V0Qml0KGJvb2wgYikgeyBtX3N0YXRlQml0ZmllbGRzLnNldEZsYWcoU3RhdGVGbGFn
OjpOZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dCwgYik7IH0KICAgICB2b2lkIHNldE5vcm1h
bENoaWxkTmVlZHNMYXlvdXRCaXQoYm9vbCBiKSB7IG1fc3RhdGVCaXRmaWVsZHMuc2V0RmxhZyhT
dGF0ZUZsYWc6Ok5vcm1hbENoaWxkTmVlZHNMYXlvdXQsIGIpOyB9CiAgICAgdm9pZCBzZXRQb3ND
aGlsZE5lZWRzTGF5b3V0Qml0KGJvb2wgYikgeyBtX3N0YXRlQml0ZmllbGRzLnNldEZsYWcoU3Rh
dGVGbGFnOjpQb3NDaGlsZE5lZWRzTGF5b3V0LCBiKTsgfQpAQCAtMTM2Myw3ICsxMzY0LDcgQEAg
aW5saW5lIHZvaWQgUmVuZGVyT2JqZWN0OjpzZXROZWVkc0xheW91dChNYXJraW5nQmVoYXZpb3Ig
bWFya1BhcmVudHMpCiAgICAgICAgIHJldHVybjsKICAgICBtX3N0YXRlQml0ZmllbGRzLnNldEZs
YWcoU3RhdGVGbGFnOjpOZWVkc0xheW91dCk7CiAgICAgaWYgKG1hcmtQYXJlbnRzID09IE1hcmtD
b250YWluaW5nQmxvY2tDaGFpbikKLSAgICAgICAgbWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlv
dXQoKTsKKyAgICAgICAgc2NoZWR1bGVMYXlvdXQobWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlv
dXQoKSk7CiAgICAgaWYgKGhhc0xheWVyKCkpCiAgICAgICAgIHNldExheWVyTmVlZHNGdWxsUmVw
YWludCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdEVudW1zLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0RW51bXMu
aAppbmRleCA5Nzk0ZTAzZDY2MzcuLmE2ZDU0YmI0ZTk4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdEVudW1zLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdEVudW1zLmgKQEAgLTUyLDggKzUyLDYgQEAgZW51bSBNYXJr
aW5nQmVoYXZpb3IgewogICAgIE1hcmtDb250YWluaW5nQmxvY2tDaGFpbiwKIH07CiAKLWVudW0g
Y2xhc3MgU2NoZWR1bGVSZWxheW91dCA6IGJvb2wgeyBObywgWWVzIH07Ci0KIGVudW0gTWFwQ29v
cmRpbmF0ZXNNb2RlIHsKICAgICBJc0ZpeGVkICAgICAgICAgICAgID0gMSA8PCAwLAogICAgIFVz
ZVRyYW5zZm9ybXMgICAgICAgPSAxIDw8IDEsCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>470823</attachid>
            <date>2024-04-08 14:36:31 -0700</date>
            <delta_ts>2024-04-08 17:27:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-272315-20240408143630.patch</filename>
            <type>text/plain</type>
            <size>14118</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA3ZTNmYTY3YTFmZDUzYzg5ZDA0YTg4NzdkNGQxZTVmMDZmZjU0Njg4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFN1biwgNyBBcHIgMjAyNCAyMDo1MToxNSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzIzMTUKIFtTZXROZWVkc0xheW91dF1b
Q2xlYW51cF0gRGVjb3VwbGUgbWFya2luZyBhbmNlc3RvciBjaGFpbiBkaXJ0eSBhbmQKIHNjaGVk
dWxpbmcgbGF5b3V0CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCkluIGNhc2VzIHdoZW4g
c3VidHJlZSBsYXlvdXQgc2NoZWR1bGluZyByZXF1aXJlcyBhZGp1c3RpbmcgdGhlIGxheW91dCBy
b290LCB3ZSBvbmx5IHdhbnQgdG8gbWFyayBzb21lIG1vcmUKcmVuZGVyZXJzIGRpcnR5IHdpdGhv
dXQgc2NoZWR1bGluZyBsYXlvdXQgKHRoZXJlJ3MgYSBwZW5kaW5nIGxheW91dCBzY2hlZHVsZWQg
YWxyZWFkeSkuCgpMZXQgUmVuZGVyT2JqZWN0OjptYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91
dCBvbmx5IGRlYWwgd2l0aCBtYXJraW5nIHJlbmRlcmVycyBkaXJ0eSBhbmQgcmV0dXJuaW5nIHRo
ZSBjb21wdXRlZCBsYXlvdXQgcm9vdCAoUmVuZGVyVmlldyBpbiBtb3N0IGNhc2VzKQphbmQgaGF2
ZSB0aGUgY2FsbGVyIGhhbmRsZSBsYXlvdXQgc2NoZWR1bGluZyB3aGVuIG5lZWRlZC4KClRoaXMg
aXMgYWxzbyBpbiBwcmVwYXJhdGlvbiBmb3IgcmVtb3ZpbmcgaXNSb290ZWQoKSBpbiBSZW5kZXJP
YmplY3Q6OnNjaGVkdWxlTGF5b3V0LgoKKiBTb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2FsRnJhbWVW
aWV3TGF5b3V0Q29udGV4dC5jcHA6CihXZWJDb3JlOjpMb2NhbEZyYW1lVmlld0xheW91dENvbnRl
eHQ6OnNjaGVkdWxlU3VidHJlZUxheW91dCk6CihXZWJDb3JlOjpMb2NhbEZyYW1lVmlld0xheW91
dENvbnRleHQ6OmNvbnZlcnRTdWJ0cmVlTGF5b3V0VG9GdWxsTGF5b3V0KToKKiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKFdlYkNvcmU6OlJlbmRlckJveDo6c3R5bGVX
aWxsQ2hhbmdlKToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHA6
CihXZWJDb3JlOjpSZW5kZXJFbGVtZW50OjpzdHlsZURpZENoYW5nZSk6CihXZWJDb3JlOjpSZW5k
ZXJFbGVtZW50OjpzZXROZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dCk6CihXZWJDb3JlOjpS
ZW5kZXJFbGVtZW50OjpzZXROZWVkc1NpbXBsaWZpZWROb3JtYWxGbG93TGF5b3V0KToKKiBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oOgooV2ViQ29yZTo6UmVuZGVyRWxl
bWVudDo6c2V0Q2hpbGROZWVkc0xheW91dCk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHA6CihXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNjaGVkdWxlTGF5b3V0KToK
KFdlYkNvcmU6OlJlbmRlck9iamVjdDo6bWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQpOgoo
V2ViQ29yZTo6c2NoZWR1bGVSZWxheW91dEZvclN1YnRyZWUpOiBEZWxldGVkLgoqIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6
c2V0TmVlZHNMYXlvdXQpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3RF
bnVtcy5oOgotLS0KIC4uLi9wYWdlL0xvY2FsRnJhbWVWaWV3TGF5b3V0Q29udGV4dC5jcHAgICAg
ICB8IDEyICsrKy0tLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgICAg
ICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcCAg
ICB8ICA2ICstLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaCAgICAg
IHwgIDMgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwICAgICB8
IDQzICsrKysrKysrKy0tLS0tLS0tLS0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuaCAgICAgICB8ICA1ICsrLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdEVudW1zLmggIHwgIDIgLQogNyBmaWxlcyBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspLCAz
OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2FsRnJh
bWVWaWV3TGF5b3V0Q29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2FsRnJhbWVW
aWV3TGF5b3V0Q29udGV4dC5jcHAKaW5kZXggN2MxYjhkZmUzNWUxLi4yMWUwM2QzMjg2NmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvTG9jYWxGcmFtZVZpZXdMYXlvdXRDb250ZXh0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2FsRnJhbWVWaWV3TGF5b3V0Q29udGV4
dC5jcHAKQEAgLTQxOSw3ICs0MTksNyBAQCB2b2lkIExvY2FsRnJhbWVWaWV3TGF5b3V0Q29udGV4
dDo6c2NoZWR1bGVTdWJ0cmVlTGF5b3V0KFJlbmRlckVsZW1lbnQmIGxheW91dFJvbwogICAgIEFT
U0VSVChmcmFtZSgpLnZpZXcoKSA9PSAmdmlldygpKTsKIAogICAgIGlmIChyZW5kZXJWaWV3Lm5l
ZWRzTGF5b3V0KCkgJiYgIXN1YnRyZWVMYXlvdXRSb290KCkpIHsKLSAgICAgICAgbGF5b3V0Um9v
dC5tYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dChTY2hlZHVsZVJlbGF5b3V0OjpObyk7Cisg
ICAgICAgIGxheW91dFJvb3QubWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoJnJlbmRlclZp
ZXcpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC00MzcsMjEgKzQzNywyMSBAQCB2b2lk
IExvY2FsRnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6c2NoZWR1bGVTdWJ0cmVlTGF5b3V0KFJlbmRl
ckVsZW1lbnQmIGxheW91dFJvbwogCiAgICAgaWYgKCFzdWJ0cmVlTGF5b3V0Um9vdCkgewogICAg
ICAgICAvLyBXZSBhbHJlYWR5IGhhdmUgYSBwZW5kaW5nIChmdWxsKSBsYXlvdXQuIEp1c3QgbWFy
ayB0aGUgc3VidHJlZSBmb3IgbGF5b3V0LgotICAgICAgICBsYXlvdXRSb290Lm1hcmtDb250YWlu
aW5nQmxvY2tzRm9yTGF5b3V0KFNjaGVkdWxlUmVsYXlvdXQ6Ok5vKTsKKyAgICAgICAgbGF5b3V0
Um9vdC5tYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dCgmcmVuZGVyVmlldyk7CiAgICAgICAg
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW52YWxpZGF0ZUxheW91dChwcm90ZWN0ZWRG
cmFtZSgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIGlmIChpc09iamVjdEFuY2Vz
dG9yQ29udGFpbmVyT2YoKnN1YnRyZWVMYXlvdXRSb290LCBsYXlvdXRSb290KSkgewogICAgICAg
ICAvLyBLZWVwIHRoZSBjdXJyZW50IHJvb3QuCi0gICAgICAgIGxheW91dFJvb3QubWFya0NvbnRh
aW5pbmdCbG9ja3NGb3JMYXlvdXQoU2NoZWR1bGVSZWxheW91dDo6Tm8sIHN1YnRyZWVMYXlvdXRS
b290KTsKKyAgICAgICAgbGF5b3V0Um9vdC5tYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dChz
dWJ0cmVlTGF5b3V0Um9vdCk7CiAgICAgICAgIEFTU0VSVCghc3VidHJlZUxheW91dFJvb3QtPmNv
bnRhaW5lcigpIHx8IGlzPFJlbmRlclZpZXc+KHN1YnRyZWVMYXlvdXRSb290LT5jb250YWluZXIo
KSkgfHwgIXN1YnRyZWVMYXlvdXRSb290LT5jb250YWluZXIoKS0+bmVlZHNMYXlvdXQoKSk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAoaXNPYmplY3RBbmNlc3RvckNvbnRhaW5l
ck9mKGxheW91dFJvb3QsICpzdWJ0cmVlTGF5b3V0Um9vdCkpIHsKICAgICAgICAgLy8gUmUtcm9v
dCBhdCBuZXdSZWxheW91dFJvb3QuCi0gICAgICAgIHN1YnRyZWVMYXlvdXRSb290LT5tYXJrQ29u
dGFpbmluZ0Jsb2Nrc0ZvckxheW91dChTY2hlZHVsZVJlbGF5b3V0OjpObywgJmxheW91dFJvb3Qp
OworICAgICAgICBzdWJ0cmVlTGF5b3V0Um9vdC0+bWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlv
dXQoJmxheW91dFJvb3QpOwogICAgICAgICBzZXRTdWJ0cmVlTGF5b3V0Um9vdChsYXlvdXRSb290
KTsKICAgICAgICAgQVNTRVJUKCFsYXlvdXRSb290LmNvbnRhaW5lcigpIHx8IGlzPFJlbmRlclZp
ZXc+KGxheW91dFJvb3QuY29udGFpbmVyKCkpIHx8ICFsYXlvdXRSb290LmNvbnRhaW5lcigpLT5u
ZWVkc0xheW91dCgpKTsKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRJbnZh
bGlkYXRlTGF5b3V0KHByb3RlY3RlZEZyYW1lKCkpOwpAQCAtNDU5LDcgKzQ1OSw3IEBAIHZvaWQg
TG9jYWxGcmFtZVZpZXdMYXlvdXRDb250ZXh0OjpzY2hlZHVsZVN1YnRyZWVMYXlvdXQoUmVuZGVy
RWxlbWVudCYgbGF5b3V0Um9vCiAgICAgfQogICAgIC8vIFR3byBkaXNqb2ludCBzdWJ0cmVlcyBu
ZWVkIGxheW91dC4gTWFyayBib3RoIG9mIHRoZW0gYW5kIGlzc3VlIGEgZnVsbCBsYXlvdXQgaW5z
dGVhZC4KICAgICBjb252ZXJ0U3VidHJlZUxheW91dFRvRnVsbExheW91dCgpOwotICAgIGxheW91
dFJvb3QubWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoU2NoZWR1bGVSZWxheW91dDo6Tm8p
OworICAgIGxheW91dFJvb3QubWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoJnJlbmRlclZp
ZXcpOwogICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW52YWxpZGF0ZUxheW91dChw
cm90ZWN0ZWRGcmFtZSgpKTsKIH0KIApAQCAtNDgwLDcgKzQ4MCw3IEBAIFJlbmRlckVsZW1lbnQq
IExvY2FsRnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6c3VidHJlZUxheW91dFJvb3QoKSBjb25zdAog
dm9pZCBMb2NhbEZyYW1lVmlld0xheW91dENvbnRleHQ6OmNvbnZlcnRTdWJ0cmVlTGF5b3V0VG9G
dWxsTGF5b3V0KCkKIHsKICAgICBBU1NFUlQoc3VidHJlZUxheW91dFJvb3QoKSk7Ci0gICAgc3Vi
dHJlZUxheW91dFJvb3QoKS0+bWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoU2NoZWR1bGVS
ZWxheW91dDo6Tm8pOworICAgIHN1YnRyZWVMYXlvdXRSb290KCktPm1hcmtDb250YWluaW5nQmxv
Y2tzRm9yTGF5b3V0KHJlbmRlclZpZXcoKSk7CiAgICAgY2xlYXJTdWJ0cmVlTGF5b3V0Um9vdCgp
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IDI2ZGZmNmNj
ZGM3Yi4uN2M2ODJhMWVhNWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cApAQCAtMjgzLDcgKzI4Myw3IEBAIHZvaWQgUmVuZGVyQm94OjpzdHlsZVdpbGxDaGFuZ2UoU3R5
bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlJiBuZXdTdHlsCiAgICAgICAgICAg
ICAgICAgLy8gY3VycmVudCBjb250YWluaW5nIGJsb2NrIGNoYWluIGZvciBwcmVmZXJyZWQgd2lk
dGhzIHJlY2FsY3VsYXRpb24uCiAgICAgICAgICAgICAgICAgc2V0TmVlZHNMYXlvdXRBbmRQcmVm
V2lkdGhzUmVjYWxjKCk7CiAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBtYXJr
Q29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dCgpOworICAgICAgICAgICAgICAgIHNjaGVkdWxlTGF5
b3V0KG1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KCkpOwogICAgICAgICAgICAgCiAgICAg
ICAgICAgICBpZiAob2xkU3R5bGUtPnBvc2l0aW9uKCkgIT0gUG9zaXRpb25UeXBlOjpTdGF0aWMg
JiYgbmV3U3R5bGUuaGFzT3V0T2ZGbG93UG9zaXRpb24oKSkKICAgICAgICAgICAgICAgICBwYXJl
bnQoKS0+c2V0Q2hpbGROZWVkc0xheW91dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckVsZW1lbnQuY3BwCmluZGV4IGM3ZDk1Njk5YjFmZS4uYjc4NjM1NDBmM2Y3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCkBAIC0xMDExLDcgKzEwMTEs
NyBAQCB2b2lkIFJlbmRlckVsZW1lbnQ6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBk
aWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xkUwogICAgICAgICAvLyBkaXJlY3RseSBhZmZlY3Qg
dGhlIGNvbnRhaW5pbmcgYmxvY2sgb2YgdGhpcyBvYmplY3QgaXMgYSBjaGFuZ2UgdG8KICAgICAg
ICAgLy8gdGhlIHBvc2l0aW9uIHN0eWxlLgogICAgICAgICBpZiAobmVlZHNMYXlvdXQoKSAmJiBv
bGRTdHlsZSAmJiBvbGRTdHlsZS0+cG9zaXRpb24oKSAhPSBtX3N0eWxlLnBvc2l0aW9uKCkpCi0g
ICAgICAgICAgICBtYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dCgpOworICAgICAgICAgICAg
c2NoZWR1bGVMYXlvdXQobWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoKSk7CiAKICAgICAg
ICAgaWYgKGRpZmYgPT0gU3R5bGVEaWZmZXJlbmNlOjpMYXlvdXQpCiAgICAgICAgICAgICBzZXRO
ZWVkc0xheW91dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsKQEAgLTExNTksNyArMTE1OSw3IEBAIHZv
aWQgUmVuZGVyRWxlbWVudDo6c2V0TmVlZHNQb3NpdGlvbmVkTW92ZW1lbnRMYXlvdXQoY29uc3Qg
UmVuZGVyU3R5bGUqIG9sZFN0eWxlCiAgICAgaWYgKG5lZWRzUG9zaXRpb25lZE1vdmVtZW50TGF5
b3V0KCkpCiAgICAgICAgIHJldHVybjsKICAgICBzZXROZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExh
eW91dEJpdCh0cnVlKTsKLSAgICBtYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dCgpOworICAg
IHNjaGVkdWxlTGF5b3V0KG1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KCkpOwogICAgIGlm
IChoYXNMYXllcigpKSB7CiAgICAgICAgIGlmIChvbGRTdHlsZSAmJiBzdHlsZSgpLmRpZmZSZXF1
aXJlc0xheWVyUmVwYWludCgqb2xkU3R5bGUsIGRvd25jYXN0PFJlbmRlckxheWVyTW9kZWxPYmpl
Y3Q+KCp0aGlzKS5sYXllcigpLT5pc0NvbXBvc2l0ZWQoKSkpCiAgICAgICAgICAgICBzZXRMYXll
ck5lZWRzRnVsbFJlcGFpbnQoKTsKQEAgLTExODIsNyArMTE4Miw3IEBAIHZvaWQgUmVuZGVyRWxl
bWVudDo6c2V0TmVlZHNTaW1wbGlmaWVkTm9ybWFsRmxvd0xheW91dCgpCiAgICAgaWYgKG5lZWRz
U2ltcGxpZmllZE5vcm1hbEZsb3dMYXlvdXQoKSkKICAgICAgICAgcmV0dXJuOwogICAgIHNldE5l
ZWRzU2ltcGxpZmllZE5vcm1hbEZsb3dMYXlvdXRCaXQodHJ1ZSk7Ci0gICAgbWFya0NvbnRhaW5p
bmdCbG9ja3NGb3JMYXlvdXQoKTsKKyAgICBzY2hlZHVsZUxheW91dChtYXJrQ29udGFpbmluZ0Js
b2Nrc0ZvckxheW91dCgpKTsKICAgICBpZiAoaGFzTGF5ZXIoKSkKICAgICAgICAgc2V0TGF5ZXJO
ZWVkc0Z1bGxSZXBhaW50KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuaAppbmRleCBhOGM4MGM1YzQ3MjUuLjU4NjRjY2Q0OGY0ZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCkBAIC00MjgsMTAgKzQyOCw5IEBAIGlubGluZSB2b2lk
IFJlbmRlckVsZW1lbnQ6OnNldENoaWxkTmVlZHNMYXlvdXQoTWFya2luZ0JlaGF2aW9yIG1hcmtQ
YXJlbnRzKQogICAgICAgICByZXR1cm47CiAgICAgc2V0Tm9ybWFsQ2hpbGROZWVkc0xheW91dEJp
dCh0cnVlKTsKICAgICBpZiAobWFya1BhcmVudHMgPT0gTWFya0NvbnRhaW5pbmdCbG9ja0NoYWlu
KQotICAgICAgICBtYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dCgpOworICAgICAgICBzY2hl
ZHVsZUxheW91dChtYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dCgpKTsKIH0KIAotCiBpbmxp
bmUgRWxlbWVudCogUmVuZGVyRWxlbWVudDo6Z2VuZXJhdGluZ0VsZW1lbnQoKSBjb25zdAogewog
ICAgIHJldHVybiBkb3duY2FzdDxFbGVtZW50PihSZW5kZXJPYmplY3Q6OmdlbmVyYXRpbmdOb2Rl
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCAwMDM3
ZWZlZjkwY2EuLmYwMThmYjZiZTJkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5jcHAKQEAgLTU2OCwyMCArNTY4LDE3IEBAIHZvaWQgUmVuZGVyT2JqZWN0OjpjbGVh
ck5lZWRzTGF5b3V0KEV2ZXJIYWRTa2lwcGVkQ29udGVudExheW91dCBldmVySGFkU2tpcHBlZENv
CiAjZW5kaWYKIH0KIAotc3RhdGljIHZvaWQgc2NoZWR1bGVSZWxheW91dEZvclN1YnRyZWUoUmVu
ZGVyRWxlbWVudCYgcmVuZGVyZXIpCit2b2lkIFJlbmRlck9iamVjdDo6c2NoZWR1bGVMYXlvdXQo
UmVuZGVyRWxlbWVudCogbGF5b3V0Um9vdCkKIHsKLSAgICBpZiAoYXV0byogcmVuZGVyVmlldyA9
IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJWaWV3PihyZW5kZXJlcikpIHsKLSAgICAgICAgcmVuZGVy
Vmlldy0+cHJvdGVjdGVkRnJhbWVWaWV3KCktPmNoZWNrZWRMYXlvdXRDb250ZXh0KCktPnNjaGVk
dWxlTGF5b3V0KCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9CisgICAgaWYgKGF1dG8qIHJlbmRl
clZpZXcgPSBkeW5hbWljRG93bmNhc3Q8UmVuZGVyVmlldz4obGF5b3V0Um9vdCkpCisgICAgICAg
IHJldHVybiByZW5kZXJWaWV3LT5wcm90ZWN0ZWRGcmFtZVZpZXcoKS0+Y2hlY2tlZExheW91dENv
bnRleHQoKS0+c2NoZWR1bGVMYXlvdXQoKTsKIAotICAgIGlmIChyZW5kZXJlci5pc1Jvb3RlZCgp
KQotICAgICAgICByZW5kZXJlci52aWV3KCkucHJvdGVjdGVkRnJhbWVWaWV3KCktPmNoZWNrZWRM
YXlvdXRDb250ZXh0KCktPnNjaGVkdWxlU3VidHJlZUxheW91dChyZW5kZXJlcik7CisgICAgaWYg
KGxheW91dFJvb3QgJiYgbGF5b3V0Um9vdC0+aXNSb290ZWQoKSkKKyAgICAgICAgbGF5b3V0Um9v
dC0+dmlldygpLnByb3RlY3RlZEZyYW1lVmlldygpLT5jaGVja2VkTGF5b3V0Q29udGV4dCgpLT5z
Y2hlZHVsZVN1YnRyZWVMYXlvdXQoKmxheW91dFJvb3QpOwogfQogCi12b2lkIFJlbmRlck9iamVj
dDo6bWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoU2NoZWR1bGVSZWxheW91dCBzY2hlZHVs
ZVJlbGF5b3V0LCBSZW5kZXJFbGVtZW50KiBuZXdSb290KQorUmVuZGVyRWxlbWVudCogUmVuZGVy
T2JqZWN0OjptYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dChSZW5kZXJFbGVtZW50KiBsYXlv
dXRSb290KQogewotICAgIEFTU0VSVChzY2hlZHVsZVJlbGF5b3V0ID09IFNjaGVkdWxlUmVsYXlv
dXQ6Ok5vIHx8ICFuZXdSb290KTsKICAgICBBU1NFUlQoIWlzU2V0TmVlZHNMYXlvdXRGb3JiaWRk
ZW4oKSk7CiAKICAgICBDaGVja2VkUHRyIGFuY2VzdG9yID0gY29udGFpbmVyKCk7CkBAIC01OTYs
NDIgKzU5Myw0NCBAQCB2b2lkIFJlbmRlck9iamVjdDo6bWFya0NvbnRhaW5pbmdCbG9ja3NGb3JM
YXlvdXQoU2NoZWR1bGVSZWxheW91dCBzY2hlZHVsZVJlbGF5bwogICAgICAgICAvLyBEb24ndCBt
YXJrIHRoZSBvdXRlcm1vc3Qgb2JqZWN0IG9mIGFuIHVucm9vdGVkIHN1YnRyZWUuIFRoYXQgb2Jq
ZWN0IHdpbGwgYmUKICAgICAgICAgLy8gbWFya2VkIHdoZW4gdGhlIHN1YnRyZWUgaXMgYWRkZWQg
dG8gdGhlIGRvY3VtZW50LgogICAgICAgICBDaGVja2VkUHRyIGNvbnRhaW5lciA9IGFuY2VzdG9y
LT5jb250YWluZXIoKTsKLSAgICAgICAgaWYgKCFjb250YWluZXIgJiYgIWFuY2VzdG9yLT5pc1Jl
bmRlclZpZXcoKSkKLSAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKCFjb250YWluZXIg
JiYgIWFuY2VzdG9yLT5pc1JlbmRlclZpZXcoKSkgeworICAgICAgICAgICAgLy8gSW50ZXJuYWwg
cmVuZGVyIHRyZWUgc2h1ZmZsZS4KKyAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgIH0K
KwogICAgICAgICBpZiAoaGFzT3V0T2ZGbG93UG9zaXRpb24pIHsKICAgICAgICAgICAgIGJvb2wg
d2lsbFNraXBSZWxhdGl2ZWx5UG9zaXRpb25lZElubGluZXMgPSAhYW5jZXN0b3ItPmlzUmVuZGVy
QmxvY2soKSB8fCBhbmNlc3Rvci0+aXNBbm9ueW1vdXNCbG9jaygpOwogICAgICAgICAgICAgLy8g
U2tpcCByZWxhdGl2ZWx5IHBvc2l0aW9uZWQgaW5saW5lcyBhbmQgYW5vbnltb3VzIGJsb2NrcyB0
byBnZXQgdG8gdGhlIGVuY2xvc2luZyBSZW5kZXJCbG9jay4KICAgICAgICAgICAgIHdoaWxlIChh
bmNlc3RvciAmJiAoIWFuY2VzdG9yLT5pc1JlbmRlckJsb2NrKCkgfHwgYW5jZXN0b3ItPmlzQW5v
bnltb3VzQmxvY2soKSkpCiAgICAgICAgICAgICAgICAgYW5jZXN0b3IgPSBhbmNlc3Rvci0+Y29u
dGFpbmVyKCk7CiAgICAgICAgICAgICBpZiAoIWFuY2VzdG9yIHx8IGFuY2VzdG9yLT5wb3NDaGls
ZE5lZWRzTGF5b3V0KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAg
IHJldHVybiB7IH07CiAgICAgICAgICAgICBpZiAod2lsbFNraXBSZWxhdGl2ZWx5UG9zaXRpb25l
ZElubGluZXMpCiAgICAgICAgICAgICAgICAgY29udGFpbmVyID0gYW5jZXN0b3ItPmNvbnRhaW5l
cigpOwogICAgICAgICAgICAgYW5jZXN0b3ItPnNldFBvc0NoaWxkTmVlZHNMYXlvdXRCaXQodHJ1
ZSk7CiAgICAgICAgICAgICBzaW1wbGlmaWVkTm9ybWFsRmxvd0xheW91dCA9IHRydWU7CiAgICAg
ICAgIH0gZWxzZSBpZiAoc2ltcGxpZmllZE5vcm1hbEZsb3dMYXlvdXQpIHsKICAgICAgICAgICAg
IGlmIChhbmNlc3Rvci0+bmVlZHNTaW1wbGlmaWVkTm9ybWFsRmxvd0xheW91dCgpKQotICAgICAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICByZXR1cm4geyB9OwogICAgICAgICAg
ICAgYW5jZXN0b3ItPnNldE5lZWRzU2ltcGxpZmllZE5vcm1hbEZsb3dMYXlvdXRCaXQodHJ1ZSk7
CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBpZiAoYW5jZXN0b3ItPm5vcm1hbENoaWxk
TmVlZHNMYXlvdXQoKSkKLSAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAg
cmV0dXJuIHsgfTsKICAgICAgICAgICAgIGFuY2VzdG9yLT5zZXROb3JtYWxDaGlsZE5lZWRzTGF5
b3V0Qml0KHRydWUpOwogICAgICAgICB9CiAgICAgICAgIEFTU0VSVCghYW5jZXN0b3ItPmlzU2V0
TmVlZHNMYXlvdXRGb3JiaWRkZW4oKSk7CiAKLSAgICAgICAgaWYgKGFuY2VzdG9yID09IG5ld1Jv
b3QpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgaWYgKHNjaGVkdWxlUmVsYXlvdXQg
PT0gU2NoZWR1bGVSZWxheW91dDo6WWVzICYmIG9iamVjdElzUmVsYXlvdXRCb3VuZGFyeShhbmNl
c3Rvci5nZXQoKSkpCi0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgaWYgKGxheW91dFJvb3Qp
IHsKKyAgICAgICAgICAgIC8vIEhhdmluZyBhIHZhbGlkIGxheW91dCByb290IGFsc28gbWVhbiB3
ZSBzaG91bGQgbm90IHN0b3AgYXQgbGF5b3V0IGJvdW5kYXJpZXMuCisgICAgICAgICAgICBpZiAo
YW5jZXN0b3IgPT0gbGF5b3V0Um9vdCkKKyAgICAgICAgICAgICAgICByZXR1cm4gbGF5b3V0Um9v
dDsKKyAgICAgICAgfSBlbHNlIGlmIChvYmplY3RJc1JlbGF5b3V0Qm91bmRhcnkoYW5jZXN0b3Iu
Z2V0KCkpKQorICAgICAgICAgICAgcmV0dXJuIGFuY2VzdG9yLmdldCgpOwogCiAgICAgICAgIGhh
c091dE9mRmxvd1Bvc2l0aW9uID0gYW5jZXN0b3ItPmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpOwog
ICAgICAgICBhbmNlc3RvciA9IFdURk1vdmUoY29udGFpbmVyKTsKICAgICB9Ci0KLSAgICBpZiAo
c2NoZWR1bGVSZWxheW91dCA9PSBTY2hlZHVsZVJlbGF5b3V0OjpZZXMgJiYgYW5jZXN0b3IpCi0g
ICAgICAgIHNjaGVkdWxlUmVsYXlvdXRGb3JTdWJ0cmVlKCphbmNlc3Rvcik7CisgICAgcmV0dXJu
IHsgfTsKIH0KIAogI2lmIEFTU0VSVF9FTkFCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmgKaW5kZXggNjgwMjQ4MTEwNmE1Li4yZWU4MmZmZTIyZmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTc1Myw3ICs3NTMsNyBAQCBwdWJsaWM6
CiAKICAgICBSZW5kZXJCb3hNb2RlbE9iamVjdCogb2Zmc2V0UGFyZW50KCkgY29uc3Q7CiAKLSAg
ICB2b2lkIG1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KFNjaGVkdWxlUmVsYXlvdXQgPSBT
Y2hlZHVsZVJlbGF5b3V0OjpZZXMsIFJlbmRlckVsZW1lbnQqIG5ld1Jvb3QgPSBudWxscHRyKTsK
KyAgICBSZW5kZXJFbGVtZW50KiBtYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dChSZW5kZXJF
bGVtZW50KiBsYXlvdXRSb290ID0gbnVsbHB0cik7CiAgICAgdm9pZCBzZXROZWVkc0xheW91dChN
YXJraW5nQmVoYXZpb3IgPSBNYXJrQ29udGFpbmluZ0Jsb2NrQ2hhaW4pOwogICAgIGVudW0gY2xh
c3MgRXZlckhhZFNraXBwZWRDb250ZW50TGF5b3V0IHsgWWVzLCBObyB9OwogICAgIHZvaWQgY2xl
YXJOZWVkc0xheW91dChFdmVySGFkU2tpcHBlZENvbnRlbnRMYXlvdXQgPSBFdmVySGFkU2tpcHBl
ZENvbnRlbnRMYXlvdXQ6Olllcyk7CkBAIC0xMTMzLDYgKzExMzMsNyBAQCBwcm90ZWN0ZWQ6CiAK
ICAgICB2aXJ0dWFsIHZvaWQgd2lsbEJlRGVzdHJveWVkKCk7CiAKKyAgICB2b2lkIHNjaGVkdWxl
TGF5b3V0KFJlbmRlckVsZW1lbnQqIGxheW91dFJvb3QpOwogICAgIHZvaWQgc2V0TmVlZHNQb3Np
dGlvbmVkTW92ZW1lbnRMYXlvdXRCaXQoYm9vbCBiKSB7IG1fc3RhdGVCaXRmaWVsZHMuc2V0Rmxh
ZyhTdGF0ZUZsYWc6Ok5lZWRzUG9zaXRpb25lZE1vdmVtZW50TGF5b3V0LCBiKTsgfQogICAgIHZv
aWQgc2V0Tm9ybWFsQ2hpbGROZWVkc0xheW91dEJpdChib29sIGIpIHsgbV9zdGF0ZUJpdGZpZWxk
cy5zZXRGbGFnKFN0YXRlRmxhZzo6Tm9ybWFsQ2hpbGROZWVkc0xheW91dCwgYik7IH0KICAgICB2
b2lkIHNldFBvc0NoaWxkTmVlZHNMYXlvdXRCaXQoYm9vbCBiKSB7IG1fc3RhdGVCaXRmaWVsZHMu
c2V0RmxhZyhTdGF0ZUZsYWc6OlBvc0NoaWxkTmVlZHNMYXlvdXQsIGIpOyB9CkBAIC0xMzYzLDcg
KzEzNjQsNyBAQCBpbmxpbmUgdm9pZCBSZW5kZXJPYmplY3Q6OnNldE5lZWRzTGF5b3V0KE1hcmtp
bmdCZWhhdmlvciBtYXJrUGFyZW50cykKICAgICAgICAgcmV0dXJuOwogICAgIG1fc3RhdGVCaXRm
aWVsZHMuc2V0RmxhZyhTdGF0ZUZsYWc6Ok5lZWRzTGF5b3V0KTsKICAgICBpZiAobWFya1BhcmVu
dHMgPT0gTWFya0NvbnRhaW5pbmdCbG9ja0NoYWluKQotICAgICAgICBtYXJrQ29udGFpbmluZ0Js
b2Nrc0ZvckxheW91dCgpOworICAgICAgICBzY2hlZHVsZUxheW91dChtYXJrQ29udGFpbmluZ0Js
b2Nrc0ZvckxheW91dCgpKTsKICAgICBpZiAoaGFzTGF5ZXIoKSkKICAgICAgICAgc2V0TGF5ZXJO
ZWVkc0Z1bGxSZXBhaW50KCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0RW51bXMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3RFbnVtcy5oCmluZGV4IDk3OTRlMDNkNjYzNy4uYTZkNTRiYjRlOThlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0RW51bXMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0RW51bXMuaApAQCAtNTIsOCArNTIsNiBA
QCBlbnVtIE1hcmtpbmdCZWhhdmlvciB7CiAgICAgTWFya0NvbnRhaW5pbmdCbG9ja0NoYWluLAog
fTsKIAotZW51bSBjbGFzcyBTY2hlZHVsZVJlbGF5b3V0IDogYm9vbCB7IE5vLCBZZXMgfTsKLQog
ZW51bSBNYXBDb29yZGluYXRlc01vZGUgewogICAgIElzRml4ZWQgICAgICAgICAgICAgPSAxIDw8
IDAsCiAgICAgVXNlVHJhbnNmb3JtcyAgICAgICA9IDEgPDwgMSwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>470825</attachid>
            <date>2024-04-08 17:27:45 -0700</date>
            <delta_ts>2024-04-08 19:24:55 -0700</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-272315-20240408172722.patch</filename>
            <type>text/plain</type>
            <size>14119</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBhYzQzNzk1NGJmN2RkMWM3ZjdjMGY5YjZjN2ZhNzJkYjdmMzk1NjA0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFN1biwgNyBBcHIgMjAyNCAyMDo1MToxNSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNzIzMTUgCiBbU2V0TmVlZHNMYXlvdXRd
W0NsZWFudXBdIERlY291cGxlIG1hcmtpbmcgYW5jZXN0b3IgY2hhaW4gZGlydHkgYW5kCiBzY2hl
ZHVsaW5nIGxheW91dAoKUmV2aWV3ZWQgYnkgQW50dGkgS29pdmlzdG8uCgpJbiBjYXNlcyB3aGVu
IHN1YnRyZWUgbGF5b3V0IHNjaGVkdWxpbmcgcmVxdWlyZXMgYWRqdXN0aW5nIHRoZSBsYXlvdXQg
cm9vdCwgd2Ugb25seSB3YW50IHRvIG1hcmsgc29tZSBtb3JlCnJlbmRlcmVycyBkaXJ0eSB3aXRo
b3V0IHNjaGVkdWxpbmcgbGF5b3V0ICh0aGVyZSdzIGEgcGVuZGluZyBsYXlvdXQgc2NoZWR1bGVk
IGFscmVhZHkpLgoKTGV0IFJlbmRlck9iamVjdDo6bWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlv
dXQgb25seSBkZWFsIHdpdGggbWFya2luZyByZW5kZXJlcnMgZGlydHkgYW5kIHJldHVybmluZyB0
aGUgY29tcHV0ZWQgbGF5b3V0IHJvb3QgKFJlbmRlclZpZXcgaW4gbW9zdCBjYXNlcykKYW5kIGhh
dmUgdGhlIGNhbGxlciBoYW5kbGUgbGF5b3V0IHNjaGVkdWxpbmcgd2hlbiBuZWVkZWQuCgpUaGlz
IGlzIGFsc28gaW4gcHJlcGFyYXRpb24gZm9yIHJlbW92aW5nIGlzUm9vdGVkKCkgaW4gUmVuZGVy
T2JqZWN0OjpzY2hlZHVsZUxheW91dC4KCiogU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhbEZyYW1l
Vmlld0xheW91dENvbnRleHQuY3BwOgooV2ViQ29yZTo6TG9jYWxGcmFtZVZpZXdMYXlvdXRDb250
ZXh0OjpzY2hlZHVsZVN1YnRyZWVMYXlvdXQpOgooV2ViQ29yZTo6TG9jYWxGcmFtZVZpZXdMYXlv
dXRDb250ZXh0Ojpjb252ZXJ0U3VidHJlZUxheW91dFRvRnVsbExheW91dCk6CiogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CihXZWJDb3JlOjpSZW5kZXJCb3g6OnN0eWxl
V2lsbENoYW5nZSk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3Bw
OgooV2ViQ29yZTo6UmVuZGVyRWxlbWVudDo6c3R5bGVEaWRDaGFuZ2UpOgooV2ViQ29yZTo6UmVu
ZGVyRWxlbWVudDo6c2V0TmVlZHNQb3NpdGlvbmVkTW92ZW1lbnRMYXlvdXQpOgooV2ViQ29yZTo6
UmVuZGVyRWxlbWVudDo6c2V0TmVlZHNTaW1wbGlmaWVkTm9ybWFsRmxvd0xheW91dCk6CiogU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaDoKKFdlYkNvcmU6OlJlbmRlckVs
ZW1lbnQ6OnNldENoaWxkTmVlZHNMYXlvdXQpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwOgooV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpzY2hlZHVsZUxheW91dCk6
CihXZWJDb3JlOjpSZW5kZXJPYmplY3Q6Om1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KToK
KFdlYkNvcmU6OnNjaGVkdWxlUmVsYXlvdXRGb3JTdWJ0cmVlKTogRGVsZXRlZC4KKiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CihXZWJDb3JlOjpSZW5kZXJPYmplY3Q6
OnNldE5lZWRzTGF5b3V0KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
RW51bXMuaDoKLS0tCiAuLi4vcGFnZS9Mb2NhbEZyYW1lVmlld0xheW91dENvbnRleHQuY3BwICAg
ICAgfCAxMiArKystLS0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwICAg
ICAgICB8ICAyICstCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5jcHAg
ICAgfCAgNiArLS0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmggICAg
ICB8ICAzICstCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCAgICAg
fCA0MyArKysrKysrKystLS0tLS0tLS0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmggICAgICAgfCAgNSArKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3RFbnVtcy5oICB8ICAyIC0KIDcgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwg
MzggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhbEZy
YW1lVmlld0xheW91dENvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhbEZyYW1l
Vmlld0xheW91dENvbnRleHQuY3BwCmluZGV4IDdjMWI4ZGZlMzVlMS4uMjFlMDNkMzI4NjZmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0xvY2FsRnJhbWVWaWV3TGF5b3V0Q29udGV4
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Mb2NhbEZyYW1lVmlld0xheW91dENvbnRl
eHQuY3BwCkBAIC00MTksNyArNDE5LDcgQEAgdm9pZCBMb2NhbEZyYW1lVmlld0xheW91dENvbnRl
eHQ6OnNjaGVkdWxlU3VidHJlZUxheW91dChSZW5kZXJFbGVtZW50JiBsYXlvdXRSb28KICAgICBB
U1NFUlQoZnJhbWUoKS52aWV3KCkgPT0gJnZpZXcoKSk7CiAKICAgICBpZiAocmVuZGVyVmlldy5u
ZWVkc0xheW91dCgpICYmICFzdWJ0cmVlTGF5b3V0Um9vdCgpKSB7Ci0gICAgICAgIGxheW91dFJv
b3QubWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoU2NoZWR1bGVSZWxheW91dDo6Tm8pOwor
ICAgICAgICBsYXlvdXRSb290Lm1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KCZyZW5kZXJW
aWV3KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtNDM3LDIxICs0MzcsMjEgQEAgdm9p
ZCBMb2NhbEZyYW1lVmlld0xheW91dENvbnRleHQ6OnNjaGVkdWxlU3VidHJlZUxheW91dChSZW5k
ZXJFbGVtZW50JiBsYXlvdXRSb28KIAogICAgIGlmICghc3VidHJlZUxheW91dFJvb3QpIHsKICAg
ICAgICAgLy8gV2UgYWxyZWFkeSBoYXZlIGEgcGVuZGluZyAoZnVsbCkgbGF5b3V0LiBKdXN0IG1h
cmsgdGhlIHN1YnRyZWUgZm9yIGxheW91dC4KLSAgICAgICAgbGF5b3V0Um9vdC5tYXJrQ29udGFp
bmluZ0Jsb2Nrc0ZvckxheW91dChTY2hlZHVsZVJlbGF5b3V0OjpObyk7CisgICAgICAgIGxheW91
dFJvb3QubWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoJnJlbmRlclZpZXcpOwogICAgICAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEludmFsaWRhdGVMYXlvdXQocHJvdGVjdGVk
RnJhbWUoKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBpZiAoaXNPYmplY3RBbmNl
c3RvckNvbnRhaW5lck9mKCpzdWJ0cmVlTGF5b3V0Um9vdCwgbGF5b3V0Um9vdCkpIHsKICAgICAg
ICAgLy8gS2VlcCB0aGUgY3VycmVudCByb290LgotICAgICAgICBsYXlvdXRSb290Lm1hcmtDb250
YWluaW5nQmxvY2tzRm9yTGF5b3V0KFNjaGVkdWxlUmVsYXlvdXQ6Ok5vLCBzdWJ0cmVlTGF5b3V0
Um9vdCk7CisgICAgICAgIGxheW91dFJvb3QubWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQo
c3VidHJlZUxheW91dFJvb3QpOwogICAgICAgICBBU1NFUlQoIXN1YnRyZWVMYXlvdXRSb290LT5j
b250YWluZXIoKSB8fCBpczxSZW5kZXJWaWV3PihzdWJ0cmVlTGF5b3V0Um9vdC0+Y29udGFpbmVy
KCkpIHx8ICFzdWJ0cmVlTGF5b3V0Um9vdC0+Y29udGFpbmVyKCktPm5lZWRzTGF5b3V0KCkpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKGlzT2JqZWN0QW5jZXN0b3JDb250YWlu
ZXJPZihsYXlvdXRSb290LCAqc3VidHJlZUxheW91dFJvb3QpKSB7CiAgICAgICAgIC8vIFJlLXJv
b3QgYXQgbmV3UmVsYXlvdXRSb290LgotICAgICAgICBzdWJ0cmVlTGF5b3V0Um9vdC0+bWFya0Nv
bnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoU2NoZWR1bGVSZWxheW91dDo6Tm8sICZsYXlvdXRSb290
KTsKKyAgICAgICAgc3VidHJlZUxheW91dFJvb3QtPm1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5
b3V0KCZsYXlvdXRSb290KTsKICAgICAgICAgc2V0U3VidHJlZUxheW91dFJvb3QobGF5b3V0Um9v
dCk7CiAgICAgICAgIEFTU0VSVCghbGF5b3V0Um9vdC5jb250YWluZXIoKSB8fCBpczxSZW5kZXJW
aWV3PihsYXlvdXRSb290LmNvbnRhaW5lcigpKSB8fCAhbGF5b3V0Um9vdC5jb250YWluZXIoKS0+
bmVlZHNMYXlvdXQoKSk7CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkSW52
YWxpZGF0ZUxheW91dChwcm90ZWN0ZWRGcmFtZSgpKTsKQEAgLTQ1OSw3ICs0NTksNyBAQCB2b2lk
IExvY2FsRnJhbWVWaWV3TGF5b3V0Q29udGV4dDo6c2NoZWR1bGVTdWJ0cmVlTGF5b3V0KFJlbmRl
ckVsZW1lbnQmIGxheW91dFJvbwogICAgIH0KICAgICAvLyBUd28gZGlzam9pbnQgc3VidHJlZXMg
bmVlZCBsYXlvdXQuIE1hcmsgYm90aCBvZiB0aGVtIGFuZCBpc3N1ZSBhIGZ1bGwgbGF5b3V0IGlu
c3RlYWQuCiAgICAgY29udmVydFN1YnRyZWVMYXlvdXRUb0Z1bGxMYXlvdXQoKTsKLSAgICBsYXlv
dXRSb290Lm1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KFNjaGVkdWxlUmVsYXlvdXQ6Ok5v
KTsKKyAgICBsYXlvdXRSb290Lm1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KCZyZW5kZXJW
aWV3KTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEludmFsaWRhdGVMYXlvdXQo
cHJvdGVjdGVkRnJhbWUoKSk7CiB9CiAKQEAgLTQ4MCw3ICs0ODAsNyBAQCBSZW5kZXJFbGVtZW50
KiBMb2NhbEZyYW1lVmlld0xheW91dENvbnRleHQ6OnN1YnRyZWVMYXlvdXRSb290KCkgY29uc3QK
IHZvaWQgTG9jYWxGcmFtZVZpZXdMYXlvdXRDb250ZXh0Ojpjb252ZXJ0U3VidHJlZUxheW91dFRv
RnVsbExheW91dCgpCiB7CiAgICAgQVNTRVJUKHN1YnRyZWVMYXlvdXRSb290KCkpOwotICAgIHN1
YnRyZWVMYXlvdXRSb290KCktPm1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KFNjaGVkdWxl
UmVsYXlvdXQ6Ok5vKTsKKyAgICBzdWJ0cmVlTGF5b3V0Um9vdCgpLT5tYXJrQ29udGFpbmluZ0Js
b2Nrc0ZvckxheW91dChyZW5kZXJWaWV3KCkpOwogICAgIGNsZWFyU3VidHJlZUxheW91dFJvb3Qo
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCAyNmRmZjZj
Y2RjN2IuLjdjNjgyYTFlYTViNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5j
cHAKQEAgLTI4Myw3ICsyODMsNyBAQCB2b2lkIFJlbmRlckJveDo6c3R5bGVXaWxsQ2hhbmdlKFN0
eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSYgbmV3U3R5bAogICAgICAgICAg
ICAgICAgIC8vIGN1cnJlbnQgY29udGFpbmluZyBibG9jayBjaGFpbiBmb3IgcHJlZmVycmVkIHdp
ZHRocyByZWNhbGN1bGF0aW9uLgogICAgICAgICAgICAgICAgIHNldE5lZWRzTGF5b3V0QW5kUHJl
ZldpZHRoc1JlY2FsYygpOwogICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgbWFy
a0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoKTsKKyAgICAgICAgICAgICAgICBzY2hlZHVsZUxh
eW91dChtYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dCgpKTsKICAgICAgICAgICAgIAogICAg
ICAgICAgICAgaWYgKG9sZFN0eWxlLT5wb3NpdGlvbigpICE9IFBvc2l0aW9uVHlwZTo6U3RhdGlj
ICYmIG5ld1N0eWxlLmhhc091dE9mRmxvd1Bvc2l0aW9uKCkpCiAgICAgICAgICAgICAgICAgcGFy
ZW50KCktPnNldENoaWxkTmVlZHNMYXlvdXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJFbGVtZW50LmNwcAppbmRleCA5YjE4ZDA4NjZjNWMuLmM0ZTBjZWI2MzhmNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcApAQCAtMTAxMSw3ICsxMDEx
LDcgQEAgdm9pZCBSZW5kZXJFbGVtZW50OjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2Ug
ZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFMKICAgICAgICAgLy8gZGlyZWN0bHkgYWZmZWN0
IHRoZSBjb250YWluaW5nIGJsb2NrIG9mIHRoaXMgb2JqZWN0IGlzIGEgY2hhbmdlIHRvCiAgICAg
ICAgIC8vIHRoZSBwb3NpdGlvbiBzdHlsZS4KICAgICAgICAgaWYgKG5lZWRzTGF5b3V0KCkgJiYg
b2xkU3R5bGUgJiYgb2xkU3R5bGUtPnBvc2l0aW9uKCkgIT0gbV9zdHlsZS5wb3NpdGlvbigpKQot
ICAgICAgICAgICAgbWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoKTsKKyAgICAgICAgICAg
IHNjaGVkdWxlTGF5b3V0KG1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KCkpOwogCiAgICAg
ICAgIGlmIChkaWZmID09IFN0eWxlRGlmZmVyZW5jZTo6TGF5b3V0KQogICAgICAgICAgICAgc2V0
TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7CkBAIC0xMTU5LDcgKzExNTksNyBAQCB2
b2lkIFJlbmRlckVsZW1lbnQ6OnNldE5lZWRzUG9zaXRpb25lZE1vdmVtZW50TGF5b3V0KGNvbnN0
IFJlbmRlclN0eWxlKiBvbGRTdHlsZQogICAgIGlmIChuZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExh
eW91dCgpKQogICAgICAgICByZXR1cm47CiAgICAgc2V0TmVlZHNQb3NpdGlvbmVkTW92ZW1lbnRM
YXlvdXRCaXQodHJ1ZSk7Ci0gICAgbWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoKTsKKyAg
ICBzY2hlZHVsZUxheW91dChtYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dCgpKTsKICAgICBp
ZiAoaGFzTGF5ZXIoKSkgewogICAgICAgICBpZiAob2xkU3R5bGUgJiYgc3R5bGUoKS5kaWZmUmVx
dWlyZXNMYXllclJlcGFpbnQoKm9sZFN0eWxlLCBkb3duY2FzdDxSZW5kZXJMYXllck1vZGVsT2Jq
ZWN0PigqdGhpcykubGF5ZXIoKS0+aXNDb21wb3NpdGVkKCkpKQogICAgICAgICAgICAgc2V0TGF5
ZXJOZWVkc0Z1bGxSZXBhaW50KCk7CkBAIC0xMTgyLDcgKzExODIsNyBAQCB2b2lkIFJlbmRlckVs
ZW1lbnQ6OnNldE5lZWRzU2ltcGxpZmllZE5vcm1hbEZsb3dMYXlvdXQoKQogICAgIGlmIChuZWVk
c1NpbXBsaWZpZWROb3JtYWxGbG93TGF5b3V0KCkpCiAgICAgICAgIHJldHVybjsKICAgICBzZXRO
ZWVkc1NpbXBsaWZpZWROb3JtYWxGbG93TGF5b3V0Qml0KHRydWUpOwotICAgIG1hcmtDb250YWlu
aW5nQmxvY2tzRm9yTGF5b3V0KCk7CisgICAgc2NoZWR1bGVMYXlvdXQobWFya0NvbnRhaW5pbmdC
bG9ja3NGb3JMYXlvdXQoKSk7CiAgICAgaWYgKGhhc0xheWVyKCkpCiAgICAgICAgIHNldExheWVy
TmVlZHNGdWxsUmVwYWludCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVt
ZW50LmgKaW5kZXggZjkyMDg1Mzc4NDE3Li40MTg0YTMwYjQ2NzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaApAQCAtNDMxLDEwICs0MzEsOSBAQCBpbmxpbmUgdm9p
ZCBSZW5kZXJFbGVtZW50OjpzZXRDaGlsZE5lZWRzTGF5b3V0KE1hcmtpbmdCZWhhdmlvciBtYXJr
UGFyZW50cykKICAgICAgICAgcmV0dXJuOwogICAgIHNldE5vcm1hbENoaWxkTmVlZHNMYXlvdXRC
aXQodHJ1ZSk7CiAgICAgaWYgKG1hcmtQYXJlbnRzID09IE1hcmtDb250YWluaW5nQmxvY2tDaGFp
bikKLSAgICAgICAgbWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoKTsKKyAgICAgICAgc2No
ZWR1bGVMYXlvdXQobWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoKSk7CiB9CiAKLQogaW5s
aW5lIEVsZW1lbnQqIFJlbmRlckVsZW1lbnQ6OmdlbmVyYXRpbmdFbGVtZW50KCkgY29uc3QKIHsK
ICAgICByZXR1cm4gZG93bmNhc3Q8RWxlbWVudD4oUmVuZGVyT2JqZWN0OjpnZW5lcmF0aW5nTm9k
ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggMDAz
N2VmZWY5MGNhLi5mMDE4ZmI2YmUyZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwCkBAIC01NjgsMjAgKzU2OCwxNyBAQCB2b2lkIFJlbmRlck9iamVjdDo6Y2xl
YXJOZWVkc0xheW91dChFdmVySGFkU2tpcHBlZENvbnRlbnRMYXlvdXQgZXZlckhhZFNraXBwZWRD
bwogI2VuZGlmCiB9CiAKLXN0YXRpYyB2b2lkIHNjaGVkdWxlUmVsYXlvdXRGb3JTdWJ0cmVlKFJl
bmRlckVsZW1lbnQmIHJlbmRlcmVyKQordm9pZCBSZW5kZXJPYmplY3Q6OnNjaGVkdWxlTGF5b3V0
KFJlbmRlckVsZW1lbnQqIGxheW91dFJvb3QpCiB7Ci0gICAgaWYgKGF1dG8qIHJlbmRlclZpZXcg
PSBkeW5hbWljRG93bmNhc3Q8UmVuZGVyVmlldz4ocmVuZGVyZXIpKSB7Ci0gICAgICAgIHJlbmRl
clZpZXctPnByb3RlY3RlZEZyYW1lVmlldygpLT5jaGVja2VkTGF5b3V0Q29udGV4dCgpLT5zY2hl
ZHVsZUxheW91dCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQorICAgIGlmIChhdXRvKiByZW5k
ZXJWaWV3ID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlclZpZXc+KGxheW91dFJvb3QpKQorICAgICAg
ICByZXR1cm4gcmVuZGVyVmlldy0+cHJvdGVjdGVkRnJhbWVWaWV3KCktPmNoZWNrZWRMYXlvdXRD
b250ZXh0KCktPnNjaGVkdWxlTGF5b3V0KCk7CiAKLSAgICBpZiAocmVuZGVyZXIuaXNSb290ZWQo
KSkKLSAgICAgICAgcmVuZGVyZXIudmlldygpLnByb3RlY3RlZEZyYW1lVmlldygpLT5jaGVja2Vk
TGF5b3V0Q29udGV4dCgpLT5zY2hlZHVsZVN1YnRyZWVMYXlvdXQocmVuZGVyZXIpOworICAgIGlm
IChsYXlvdXRSb290ICYmIGxheW91dFJvb3QtPmlzUm9vdGVkKCkpCisgICAgICAgIGxheW91dFJv
b3QtPnZpZXcoKS5wcm90ZWN0ZWRGcmFtZVZpZXcoKS0+Y2hlY2tlZExheW91dENvbnRleHQoKS0+
c2NoZWR1bGVTdWJ0cmVlTGF5b3V0KCpsYXlvdXRSb290KTsKIH0KIAotdm9pZCBSZW5kZXJPYmpl
Y3Q6Om1hcmtDb250YWluaW5nQmxvY2tzRm9yTGF5b3V0KFNjaGVkdWxlUmVsYXlvdXQgc2NoZWR1
bGVSZWxheW91dCwgUmVuZGVyRWxlbWVudCogbmV3Um9vdCkKK1JlbmRlckVsZW1lbnQqIFJlbmRl
ck9iamVjdDo6bWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoUmVuZGVyRWxlbWVudCogbGF5
b3V0Um9vdCkKIHsKLSAgICBBU1NFUlQoc2NoZWR1bGVSZWxheW91dCA9PSBTY2hlZHVsZVJlbGF5
b3V0OjpObyB8fCAhbmV3Um9vdCk7CiAgICAgQVNTRVJUKCFpc1NldE5lZWRzTGF5b3V0Rm9yYmlk
ZGVuKCkpOwogCiAgICAgQ2hlY2tlZFB0ciBhbmNlc3RvciA9IGNvbnRhaW5lcigpOwpAQCAtNTk2
LDQyICs1OTMsNDQgQEAgdm9pZCBSZW5kZXJPYmplY3Q6Om1hcmtDb250YWluaW5nQmxvY2tzRm9y
TGF5b3V0KFNjaGVkdWxlUmVsYXlvdXQgc2NoZWR1bGVSZWxheW8KICAgICAgICAgLy8gRG9uJ3Qg
bWFyayB0aGUgb3V0ZXJtb3N0IG9iamVjdCBvZiBhbiB1bnJvb3RlZCBzdWJ0cmVlLiBUaGF0IG9i
amVjdCB3aWxsIGJlCiAgICAgICAgIC8vIG1hcmtlZCB3aGVuIHRoZSBzdWJ0cmVlIGlzIGFkZGVk
IHRvIHRoZSBkb2N1bWVudC4KICAgICAgICAgQ2hlY2tlZFB0ciBjb250YWluZXIgPSBhbmNlc3Rv
ci0+Y29udGFpbmVyKCk7Ci0gICAgICAgIGlmICghY29udGFpbmVyICYmICFhbmNlc3Rvci0+aXNS
ZW5kZXJWaWV3KCkpCi0gICAgICAgICAgICByZXR1cm47CisgICAgICAgIGlmICghY29udGFpbmVy
ICYmICFhbmNlc3Rvci0+aXNSZW5kZXJWaWV3KCkpIHsKKyAgICAgICAgICAgIC8vIEludGVybmFs
IHJlbmRlciB0cmVlIHNodWZmbGUuCisgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICB9
CisKICAgICAgICAgaWYgKGhhc091dE9mRmxvd1Bvc2l0aW9uKSB7CiAgICAgICAgICAgICBib29s
IHdpbGxTa2lwUmVsYXRpdmVseVBvc2l0aW9uZWRJbmxpbmVzID0gIWFuY2VzdG9yLT5pc1JlbmRl
ckJsb2NrKCkgfHwgYW5jZXN0b3ItPmlzQW5vbnltb3VzQmxvY2soKTsKICAgICAgICAgICAgIC8v
IFNraXAgcmVsYXRpdmVseSBwb3NpdGlvbmVkIGlubGluZXMgYW5kIGFub255bW91cyBibG9ja3Mg
dG8gZ2V0IHRvIHRoZSBlbmNsb3NpbmcgUmVuZGVyQmxvY2suCiAgICAgICAgICAgICB3aGlsZSAo
YW5jZXN0b3IgJiYgKCFhbmNlc3Rvci0+aXNSZW5kZXJCbG9jaygpIHx8IGFuY2VzdG9yLT5pc0Fu
b255bW91c0Jsb2NrKCkpKQogICAgICAgICAgICAgICAgIGFuY2VzdG9yID0gYW5jZXN0b3ItPmNv
bnRhaW5lcigpOwogICAgICAgICAgICAgaWYgKCFhbmNlc3RvciB8fCBhbmNlc3Rvci0+cG9zQ2hp
bGROZWVkc0xheW91dCgpKQotICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAg
ICByZXR1cm4geyB9OwogICAgICAgICAgICAgaWYgKHdpbGxTa2lwUmVsYXRpdmVseVBvc2l0aW9u
ZWRJbmxpbmVzKQogICAgICAgICAgICAgICAgIGNvbnRhaW5lciA9IGFuY2VzdG9yLT5jb250YWlu
ZXIoKTsKICAgICAgICAgICAgIGFuY2VzdG9yLT5zZXRQb3NDaGlsZE5lZWRzTGF5b3V0Qml0KHRy
dWUpOwogICAgICAgICAgICAgc2ltcGxpZmllZE5vcm1hbEZsb3dMYXlvdXQgPSB0cnVlOwogICAg
ICAgICB9IGVsc2UgaWYgKHNpbXBsaWZpZWROb3JtYWxGbG93TGF5b3V0KSB7CiAgICAgICAgICAg
ICBpZiAoYW5jZXN0b3ItPm5lZWRzU2ltcGxpZmllZE5vcm1hbEZsb3dMYXlvdXQoKSkKLSAgICAg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgcmV0dXJuIHsgfTsKICAgICAgICAg
ICAgIGFuY2VzdG9yLT5zZXROZWVkc1NpbXBsaWZpZWROb3JtYWxGbG93TGF5b3V0Qml0KHRydWUp
OwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgaWYgKGFuY2VzdG9yLT5ub3JtYWxDaGls
ZE5lZWRzTGF5b3V0KCkpCi0gICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAg
IHJldHVybiB7IH07CiAgICAgICAgICAgICBhbmNlc3Rvci0+c2V0Tm9ybWFsQ2hpbGROZWVkc0xh
eW91dEJpdCh0cnVlKTsKICAgICAgICAgfQogICAgICAgICBBU1NFUlQoIWFuY2VzdG9yLT5pc1Nl
dE5lZWRzTGF5b3V0Rm9yYmlkZGVuKCkpOwogCi0gICAgICAgIGlmIChhbmNlc3RvciA9PSBuZXdS
b290KQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIGlmIChzY2hlZHVsZVJlbGF5b3V0
ID09IFNjaGVkdWxlUmVsYXlvdXQ6OlllcyAmJiBvYmplY3RJc1JlbGF5b3V0Qm91bmRhcnkoYW5j
ZXN0b3IuZ2V0KCkpKQotICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGlmIChsYXlvdXRSb290
KSB7CisgICAgICAgICAgICAvLyBIYXZpbmcgYSB2YWxpZCBsYXlvdXQgcm9vdCBhbHNvIG1lYW4g
d2Ugc2hvdWxkIG5vdCBzdG9wIGF0IGxheW91dCBib3VuZGFyaWVzLgorICAgICAgICAgICAgaWYg
KGFuY2VzdG9yID09IGxheW91dFJvb3QpCisgICAgICAgICAgICAgICAgcmV0dXJuIGxheW91dFJv
b3Q7CisgICAgICAgIH0gZWxzZSBpZiAob2JqZWN0SXNSZWxheW91dEJvdW5kYXJ5KGFuY2VzdG9y
LmdldCgpKSkKKyAgICAgICAgICAgIHJldHVybiBhbmNlc3Rvci5nZXQoKTsKIAogICAgICAgICBo
YXNPdXRPZkZsb3dQb3NpdGlvbiA9IGFuY2VzdG9yLT5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKTsK
ICAgICAgICAgYW5jZXN0b3IgPSBXVEZNb3ZlKGNvbnRhaW5lcik7CiAgICAgfQotCi0gICAgaWYg
KHNjaGVkdWxlUmVsYXlvdXQgPT0gU2NoZWR1bGVSZWxheW91dDo6WWVzICYmIGFuY2VzdG9yKQot
ICAgICAgICBzY2hlZHVsZVJlbGF5b3V0Rm9yU3VidHJlZSgqYW5jZXN0b3IpOworICAgIHJldHVy
biB7IH07CiB9CiAKICNpZiBBU1NFUlRfRU5BQkxFRApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5oCmluZGV4IDY4MDI0ODExMDZhNS4uMmVlODJmZmUyMmZmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC03NTMsNyArNzUzLDcgQEAgcHVibGlj
OgogCiAgICAgUmVuZGVyQm94TW9kZWxPYmplY3QqIG9mZnNldFBhcmVudCgpIGNvbnN0OwogCi0g
ICAgdm9pZCBtYXJrQ29udGFpbmluZ0Jsb2Nrc0ZvckxheW91dChTY2hlZHVsZVJlbGF5b3V0ID0g
U2NoZWR1bGVSZWxheW91dDo6WWVzLCBSZW5kZXJFbGVtZW50KiBuZXdSb290ID0gbnVsbHB0cik7
CisgICAgUmVuZGVyRWxlbWVudCogbWFya0NvbnRhaW5pbmdCbG9ja3NGb3JMYXlvdXQoUmVuZGVy
RWxlbWVudCogbGF5b3V0Um9vdCA9IG51bGxwdHIpOwogICAgIHZvaWQgc2V0TmVlZHNMYXlvdXQo
TWFya2luZ0JlaGF2aW9yID0gTWFya0NvbnRhaW5pbmdCbG9ja0NoYWluKTsKICAgICBlbnVtIGNs
YXNzIEV2ZXJIYWRTa2lwcGVkQ29udGVudExheW91dCB7IFllcywgTm8gfTsKICAgICB2b2lkIGNs
ZWFyTmVlZHNMYXlvdXQoRXZlckhhZFNraXBwZWRDb250ZW50TGF5b3V0ID0gRXZlckhhZFNraXBw
ZWRDb250ZW50TGF5b3V0OjpZZXMpOwpAQCAtMTEzMyw2ICsxMTMzLDcgQEAgcHJvdGVjdGVkOgog
CiAgICAgdmlydHVhbCB2b2lkIHdpbGxCZURlc3Ryb3llZCgpOwogCisgICAgdm9pZCBzY2hlZHVs
ZUxheW91dChSZW5kZXJFbGVtZW50KiBsYXlvdXRSb290KTsKICAgICB2b2lkIHNldE5lZWRzUG9z
aXRpb25lZE1vdmVtZW50TGF5b3V0Qml0KGJvb2wgYikgeyBtX3N0YXRlQml0ZmllbGRzLnNldEZs
YWcoU3RhdGVGbGFnOjpOZWVkc1Bvc2l0aW9uZWRNb3ZlbWVudExheW91dCwgYik7IH0KICAgICB2
b2lkIHNldE5vcm1hbENoaWxkTmVlZHNMYXlvdXRCaXQoYm9vbCBiKSB7IG1fc3RhdGVCaXRmaWVs
ZHMuc2V0RmxhZyhTdGF0ZUZsYWc6Ok5vcm1hbENoaWxkTmVlZHNMYXlvdXQsIGIpOyB9CiAgICAg
dm9pZCBzZXRQb3NDaGlsZE5lZWRzTGF5b3V0Qml0KGJvb2wgYikgeyBtX3N0YXRlQml0ZmllbGRz
LnNldEZsYWcoU3RhdGVGbGFnOjpQb3NDaGlsZE5lZWRzTGF5b3V0LCBiKTsgfQpAQCAtMTM2Myw3
ICsxMzY0LDcgQEAgaW5saW5lIHZvaWQgUmVuZGVyT2JqZWN0OjpzZXROZWVkc0xheW91dChNYXJr
aW5nQmVoYXZpb3IgbWFya1BhcmVudHMpCiAgICAgICAgIHJldHVybjsKICAgICBtX3N0YXRlQml0
ZmllbGRzLnNldEZsYWcoU3RhdGVGbGFnOjpOZWVkc0xheW91dCk7CiAgICAgaWYgKG1hcmtQYXJl
bnRzID09IE1hcmtDb250YWluaW5nQmxvY2tDaGFpbikKLSAgICAgICAgbWFya0NvbnRhaW5pbmdC
bG9ja3NGb3JMYXlvdXQoKTsKKyAgICAgICAgc2NoZWR1bGVMYXlvdXQobWFya0NvbnRhaW5pbmdC
bG9ja3NGb3JMYXlvdXQoKSk7CiAgICAgaWYgKGhhc0xheWVyKCkpCiAgICAgICAgIHNldExheWVy
TmVlZHNGdWxsUmVwYWludCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdEVudW1zLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0RW51bXMuaAppbmRleCA5Nzk0ZTAzZDY2MzcuLmE2ZDU0YmI0ZTk4ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdEVudW1zLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdEVudW1zLmgKQEAgLTUyLDggKzUyLDYg
QEAgZW51bSBNYXJraW5nQmVoYXZpb3IgewogICAgIE1hcmtDb250YWluaW5nQmxvY2tDaGFpbiwK
IH07CiAKLWVudW0gY2xhc3MgU2NoZWR1bGVSZWxheW91dCA6IGJvb2wgeyBObywgWWVzIH07Ci0K
IGVudW0gTWFwQ29vcmRpbmF0ZXNNb2RlIHsKICAgICBJc0ZpeGVkICAgICAgICAgICAgID0gMSA8
PCAwLAogICAgIFVzZVRyYW5zZm9ybXMgICAgICAgPSAxIDw8IDEsCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>