<?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>238161</bug_id>
          
          <creation_ts>2022-03-21 16:01:09 -0700</creation_ts>
          <short_desc>Do all RemoteLayerBackingStore buffer swapping in one batch</short_desc>
          <delta_ts>2022-03-21 20:35:17 -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>WebKit Process Model</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1853385</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-03-21 16:01:09 -0700</bug_when>
    <thetext>Do all RemoteLayerBackingStore buffer swapping in one batch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853387</commentid>
    <comment_count>1</comment_count>
      <attachid>455291</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-03-21 16:05:39 -0700</bug_when>
    <thetext>Created attachment 455291
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853498</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-21 20:34:31 -0700</bug_when>
    <thetext>Committed r291599 (248692@main): &lt;https://commits.webkit.org/248692@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 455291.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853499</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-21 20:35:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/90610335&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455291</attachid>
            <date>2022-03-21 16:05:39 -0700</date>
            <delta_ts>2022-03-21 20:34:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238161-20220321160538.patch</filename>
            <type>text/plain</type>
            <size>18232</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDNkMmIxY2EyZmMyYWJiMTEx
N2FkYmY3OWZkN2FjMzcxZTcyNjM4ZjcuLmRhYjE2ZmIyMjgxNTBkYmZlMjg1ZGI2ZmRmMDgyNTFk
MDQzNDUwNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDQgQEAKKzIwMjItMDMtMjEgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgRG8gYWxsIFJlbW90ZUxh
eWVyQmFja2luZ1N0b3JlIGJ1ZmZlciBzd2FwcGluZyBpbiBvbmUgYmF0Y2gKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODE2MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFByZXZpb3VzbHksIFJlbW90ZUxh
eWVyQmFja2luZ1N0b3JlIGJ1ZmZlciBzd2FwcGluZyBoYXBwZW5lZCBwZXItbGF5ZXIgaW4KKyAg
ICAgICAgUGxhdGZvcm1DQUxheWVyUmVtb3RlOjpyZWN1cnNpdmVCdWlsZFRyYW5zYWN0aW9uKCku
CisKKyAgICAgICAgVG8gcHJlcGFyZSBmb3IgYSBzaW5nbGUgSVBDIGZvciBhbGwgYnVmZmVyIHN3
YXBwaW5nLCBiYXRjaCBhbGwgdGhlIHN3YXBwaW5nIHVuZGVyCisgICAgICAgIHByZXBhcmVCYWNr
aW5nU3RvcmVzRm9yRGlzcGxheSgpIHdoaWNoIGlzIGNhbGxlZCBmcm9tCisgICAgICAgIFJlbW90
ZUxheWVyVHJlZUNvbnRleHQ6OmJ1aWxkVHJhbnNhY3Rpb24oKS4KKyAgICAgICAgCisgICAgICAg
IFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbiB0cmFja3MgbV9iYWNraW5nU3RvcmVz
TmVlZGluZ0Rpc3BsYXksIGFuZAorICAgICAgICBSZW1vdGVMYXllckJhY2tpbmdTdG9yZSBpbXBs
ZW1lbnRzIG5lZWRzRGlzcGxheSgpIHNvIHdlIG9ubHkgYWRkIGJhY2tpbmcgc3RvcmVzIHRvIHRo
aXMgaGFzaAorICAgICAgICBzZXQgdGhhdCBuZWVkIGFueSBidWZmZXIgc3dhcHBpbmcuCisKKyAg
ICAgICAgKiBTaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmg6
CisgICAgICAgICogU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllckJhY2tpbmdTdG9y
ZS5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmxheWVyV2ls
bEJlRGlzcGxheWVkKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6
Om5lZWRzRGlzcGxheSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2lu
Z1N0b3JlOjpwcmVwYXJlVG9EaXNwbGF5KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJC
YWNraW5nU3RvcmU6OnBhaW50Q29udGVudHMpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXll
ckJhY2tpbmdTdG9yZTo6dGFrZVBlbmRpbmdGbHVzaGVycyk6CisgICAgICAgICogU2hhcmVkL1Jl
bW90ZUxheWVyVHJlZS9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaDoKKyAgICAg
ICAgKiBTaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVj
dGlvbi5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0
aW9uOjpiYWNraW5nU3RvcmVOZWVkc0Rpc3BsYXkpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVM
YXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246OnByZXBhcmVCYWNraW5nU3RvcmVzRm9yRGlzcGxh
eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6
cGFpbnRSZWFjaGFibGVCYWNraW5nU3RvcmVDb250ZW50cyk6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6d2lsbEZsdXNoTGF5ZXJzKToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjpiYWNraW5nU3Rv
cmVXaWxsQmVEaXNwbGF5ZWQpOgorICAgICAgICAqIFNoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVt
b3RlTGF5ZXJXaXRoUmVtb3RlUmVuZGVyaW5nQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oOgorICAg
ICAgICAqIFNoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJXaXRoUmVtb3RlUmVuZGVy
aW5nQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5
ZXJXaXRoUmVtb3RlUmVuZGVyaW5nQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6YmFja2luZ1N0b3Jl
TmVlZHNEaXNwbGF5KToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJXaXRoUmVtb3RlUmVu
ZGVyaW5nQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6cHJlcGFyZUJhY2tpbmdTdG9yZUJ1ZmZlcnMp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUGxhdGZvcm1D
QUxheWVyUmVtb3RlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UGxhdGZvcm1DQUxheWVyUmVtb3Rl
OjpyZWN1cnNpdmVCdWlsZFRyYW5zYWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZUNvbnRleHQubW06CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZUxheWVyVHJlZUNvbnRleHQ6OmJ1aWxkVHJhbnNhY3Rpb24pOgorCiAyMDIy
LTAzLTIxICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1v
dmUgdW5uZWVkZWQgcXVvdGVzIGluIGNhcHR1cmUgYXR0cmlidXRpb24gc3RyaW5nCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVM
YXllckJhY2tpbmdTdG9yZS5oCmluZGV4IDk1YTMzNDlmN2Y4ZDJmNGMzZmNlMGFmYzI2NDQ2ODll
NTc1ZGEyYzUuLjcyYTM0YjA0NzA0NDMxMWRkY2Y1MTQ3OTI2MDFmZjJkNGI0Yjk5MDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllckJh
Y2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9S
ZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oCkBAIC02OSw4ICs2OSwxMSBAQCBwdWJsaWM6CiAKICAg
ICBTd2FwQnVmZmVyc0Rpc3BsYXlSZXF1aXJlbWVudCBwcmVwYXJlQnVmZmVycyhib29sIGhhc0Vt
cHR5RGlydHlSZWdpb24pOwogCi0gICAgLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBiYWNraW5nIHN0
b3JlIGNoYW5nZWQuCi0gICAgYm9vbCBwcmVwYXJlVG9EaXNwbGF5KCk7CisgICAgLy8gUmV0dXJu
cyB0cnVlIGlmIHdlIG5lZWQgZW5jb2RlIHRoZSBidWZmZXIuCisgICAgYm9vbCBsYXllcldpbGxC
ZURpc3BsYXllZCgpOworICAgIGJvb2wgbmVlZHNEaXNwbGF5KCkgY29uc3Q7CisKKyAgICB2b2lk
IHByZXBhcmVUb0Rpc3BsYXkoKTsKICAgICB2b2lkIHBhaW50Q29udGVudHMoKTsKIAogICAgIFdl
YkNvcmU6OkZsb2F0U2l6ZSBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9zaXplOyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmUubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmUubW0KaW5kZXggNTEwMjRjNDM1ZTZmZWJhYmY1ODJlMzUyYzc4NTJj
NDczNmM2Y2QxYy4uYTBjYzU0MjI5ODkxMWQ0OWRjOGUwODcwNmVmYWU0MTdjYjM5MDA3MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVy
QmFja2luZ1N0b3JlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJl
ZS9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQpAQCAtMTgyLDYgKzE4MiwxNyBAQCBib29sIFJl
bW90ZUxheWVyQmFja2luZ1N0b3JlOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBSZW1v
dGVMYXllckJhY2tpbmdTdAogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIFJlbW90ZUxheWVy
QmFja2luZ1N0b3JlOjpsYXllcldpbGxCZURpc3BsYXllZCgpCit7CisgICAgYXV0byogY29sbGVj
dGlvbiA9IGJhY2tpbmdTdG9yZUNvbGxlY3Rpb24oKTsKKyAgICBpZiAoIWNvbGxlY3Rpb24pIHsK
KyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICB9CisKKyAgICByZXR1cm4gY29sbGVjdGlvbi0+YmFja2luZ1N0b3JlV2lsbEJlRGlzcGxheWVk
KCp0aGlzKTsKK30KKwogdm9pZCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6c2V0TmVlZHNEaXNw
bGF5KGNvbnN0IFdlYkNvcmU6OkludFJlY3QgcmVjdCkKIHsKICAgICBtX2RpcnR5UmVnaW9uLnVu
aXRlKHJlY3QpOwpAQCAtMjczLDI4ICsyODQsNDQgQEAgc3RhdGljIFRleHRTdHJlYW0mIG9wZXJh
dG9yPDwoVGV4dFN0cmVhbSYgdHMsIFN3YXBCdWZmZXJzRGlzcGxheVJlcXVpcmVtZW50IHJlc3UK
IH0KICNlbmRpZgogCi1ib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpwcmVwYXJlVG9EaXNw
bGF5KCkKK2Jvb2wgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6Om5lZWRzRGlzcGxheSgpIGNvbnN0
CiB7Ci0gICAgQVNTRVJUKCFtX2Zyb250QnVmZmVyRmx1c2hlcnMuc2l6ZSgpKTsKKyAgICBhdXRv
KiBjb2xsZWN0aW9uID0gYmFja2luZ1N0b3JlQ29sbGVjdGlvbigpOworICAgIGlmICghY29sbGVj
dGlvbikgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIH0KIAotICAgIG1fbGFzdERpc3BsYXlUaW1lID0gTW9ub3RvbmljVGltZTo6bm93
KCk7CisgICAgaWYgKG1fbGF5ZXItPm93bmVyKCktPnBsYXRmb3JtQ0FMYXllckRlbGVnYXRlc0Rp
c3BsYXkobV9sYXllcikpIHsKKyAgICAgICAgTE9HX1dJVEhfU1RSRUFNKFJlbW90ZVJlbmRlcmlu
Z0J1ZmZlclZvbGF0aWxpdHksIHN0cmVhbSA8PCAiUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUgIiA8
PCBtX2xheWVyLT5sYXllcklEKCkgPDwgIiBuZWVkc0Rpc3BsYXkoKSAtIGRlbGVnYXRlcyBkaXNw
bGF5Iik7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIGJvb2wgbmVlZHNEaXNw
bGF5ID0gY29sbGVjdGlvbi0+YmFja2luZ1N0b3JlTmVlZHNEaXNwbGF5KCp0aGlzKTsKKyAgICBM
T0dfV0lUSF9TVFJFQU0oUmVtb3RlUmVuZGVyaW5nQnVmZmVyVm9sYXRpbGl0eSwgc3RyZWFtIDw8
ICJSZW1vdGVMYXllckJhY2tpbmdTdG9yZSAiIDw8IG1fbGF5ZXItPmxheWVySUQoKSA8PCAiIG5l
ZWRzRGlzcGxheSgpIC0gbmVlZHNEaXNwbGF5ICIgPDwgbmVlZHNEaXNwbGF5KTsKKyAgICByZXR1
cm4gbmVlZHNEaXNwbGF5OworfQorCit2b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpwcmVw
YXJlVG9EaXNwbGF5KCkKK3sKKyAgICBBU1NFUlQoIW1fZnJvbnRCdWZmZXJGbHVzaGVycy5zaXpl
KCkpOwogCiAgICAgYXV0byogY29sbGVjdGlvbiA9IGJhY2tpbmdTdG9yZUNvbGxlY3Rpb24oKTsK
ICAgICBpZiAoIWNvbGxlY3Rpb24pIHsKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0g
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIExPR19X
SVRIX1NUUkVBTShSZW1vdGVSZW5kZXJpbmdCdWZmZXJWb2xhdGlsaXR5LCBzdHJlYW0gPDwgIlJl
bW90ZUxheWVyQmFja2luZ1N0b3JlICIgPDwgbV9sYXllci0+bGF5ZXJJRCgpIDw8ICIgcHJlcGFy
ZVRvRGlzcGxheSgpIik7CisgICAgQVNTRVJUKGNvbGxlY3Rpb24tPmJhY2tpbmdTdG9yZU5lZWRz
RGlzcGxheSgqdGhpcykpOwogCi0gICAgYm9vbCBuZWVkVG9FbmNvZGVCYWNraW5nU3RvcmUgPSBj
b2xsZWN0aW9uLT5iYWNraW5nU3RvcmVXaWxsQmVEaXNwbGF5ZWQoKnRoaXMpOworICAgIExPR19X
SVRIX1NUUkVBTShSZW1vdGVSZW5kZXJpbmdCdWZmZXJWb2xhdGlsaXR5LCBzdHJlYW0gPDwgIlJl
bW90ZUxheWVyQmFja2luZ1N0b3JlICIgPDwgbV9sYXllci0+bGF5ZXJJRCgpIDw8ICIgcHJlcGFy
ZVRvRGlzcGxheSgpIik7CiAKICAgICBhdXRvJiBsYXllck93bmVyID0gKm1fbGF5ZXItPm93bmVy
KCk7CiAgICAgaWYgKGxheWVyT3duZXIucGxhdGZvcm1DQUxheWVyRGVsZWdhdGVzRGlzcGxheSht
X2xheWVyKSkgewogICAgICAgICAvLyBUaGlzIGNhbiBjYWxsIGJhY2sgdG8gc2V0Q29udGVudHMo
KSwgc2V0dGluZyBtX2NvbnRlbnRzQnVmZmVySGFuZGxlLgogICAgICAgICBsYXllck93bmVyLnBs
YXRmb3JtQ0FMYXllckxheWVyRGlzcGxheShtX2xheWVyKTsKICAgICAgICAgbGF5ZXJPd25lci5w
bGF0Zm9ybUNBTGF5ZXJMYXllckRpZERpc3BsYXkobV9sYXllcik7Ci0gICAgICAgIHJldHVybiB0
cnVlOworICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgbV9jb250ZW50c0J1ZmZlckhhbmRs
ZSA9IHN0ZDo6bnVsbG9wdDsKQEAgLTMwMyw4ICszMzAsNyBAQCBib29sIFJlbW90ZUxheWVyQmFj
a2luZ1N0b3JlOjpwcmVwYXJlVG9EaXNwbGF5KCkKIAogICAgIExPR19XSVRIX1NUUkVBTShSZW1v
dGVSZW5kZXJpbmdCdWZmZXJWb2xhdGlsaXR5LCBzdHJlYW0gPDwgIlJlbW90ZUxheWVyQmFja2lu
Z1N0b3JlICIgPDwgbV9sYXllci0+bGF5ZXJJRCgpIDw8ICIgcHJlcGFyZVRvRGlzcGxheSgpIC0g
IiA8PCBkaXNwbGF5UmVxdWlyZW1lbnQpOwogCi0gICAgaWYgKGRpc3BsYXlSZXF1aXJlbWVudCA9
PSBTd2FwQnVmZmVyc0Rpc3BsYXlSZXF1aXJlbWVudDo6TmVlZHNOb0Rpc3BsYXkpCi0gICAgICAg
IHJldHVybiBuZWVkVG9FbmNvZGVCYWNraW5nU3RvcmU7CisgICAgQVNTRVJUKGRpc3BsYXlSZXF1
aXJlbWVudCAhPSBTd2FwQnVmZmVyc0Rpc3BsYXlSZXF1aXJlbWVudDo6TmVlZHNOb0Rpc3BsYXkp
OwogCiAgICAgaWYgKGRpc3BsYXlSZXF1aXJlbWVudCA9PSBTd2FwQnVmZmVyc0Rpc3BsYXlSZXF1
aXJlbWVudDo6TmVlZHNGdWxsRGlzcGxheSkKICAgICAgICAgc2V0TmVlZHNEaXNwbGF5KCk7CkBA
IC0zMjIsOCArMzQ4LDYgQEAgYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6cHJlcGFyZVRv
RGlzcGxheSgpCiAgICAgICAgICAgICBtX2Zyb250QnVmZmVyLmRpc3BsYXlMaXN0SW1hZ2VCdWZm
ZXIgPSBXZWJDb3JlOjpDb25jcmV0ZUltYWdlQnVmZmVyPENHRGlzcGxheUxpc3RJbWFnZUJ1ZmZl
ckJhY2tlbmQ+OjpjcmVhdGUobV9zaXplLCBtX3NjYWxlLCBXZWJDb3JlOjpEZXN0aW5hdGlvbkNv
bG9yU3BhY2U6OlNSR0IoKSwgcGl4ZWxGb3JtYXQoKSwgbnVsbHB0cik7CiAjZW5kaWYKICAgICB9
Ci0KLSAgICByZXR1cm4gdHJ1ZTsKIH0KIAogU3dhcEJ1ZmZlcnNEaXNwbGF5UmVxdWlyZW1lbnQg
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OnByZXBhcmVCdWZmZXJzKGJvb2wgaGFzRW1wdHlEaXJ0
eVJlZ2lvbikKQEAgLTM1NCw5ICszNzgsMTIgQEAgdm9pZCBSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZTo6cGFpbnRDb250ZW50cygpCiAgICAgaWYgKCFtX2Zyb250QnVmZmVyLmltYWdlQnVmZmVyKQog
ICAgICAgICByZXR1cm47CiAKLSAgICBpZiAobV9kaXJ0eVJlZ2lvbi5pc0VtcHR5KCkgfHwgbV9z
aXplLmlzRW1wdHkoKSkKKyAgICBMT0dfV0lUSF9TVFJFQU0oUmVtb3RlUmVuZGVyaW5nQnVmZmVy
Vm9sYXRpbGl0eSwgc3RyZWFtIDw8ICJSZW1vdGVMYXllckJhY2tpbmdTdG9yZSAiIDw8IG1fbGF5
ZXItPmxheWVySUQoKSA8PCAiIHBhaW50Q29udGVudHMoKSAtIGhhcyBkaXJ0eSByZWdpb24gIiA8
PCAhaGFzRW1wdHlEaXJ0eVJlZ2lvbigpKTsKKyAgICBpZiAoaGFzRW1wdHlEaXJ0eVJlZ2lvbigp
KQogICAgICAgICByZXR1cm47CiAKKyAgICBtX2xhc3REaXNwbGF5VGltZSA9IE1vbm90b25pY1Rp
bWU6Om5vdygpOworCiAgICAgaWYgKG1faW5jbHVkZURpc3BsYXlMaXN0ID09IEluY2x1ZGVEaXNw
bGF5TGlzdDo6WWVzKSB7CiAjaWYgRU5BQkxFKENHX0RJU1BMQVlfTElTVF9CQUNLRURfSU1BR0Vf
QlVGRkVSKQogICAgICAgICBhdXRvJiBkaXNwbGF5TGlzdENvbnRleHQgPSBtX2Zyb250QnVmZmVy
LmRpc3BsYXlMaXN0SW1hZ2VCdWZmZXItPmNvbnRleHQoKTsKQEAgLTU1Miw2ICs1NzksNyBAQCB2
b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjphcHBseUJhY2tpbmdTdG9yZVRvTGF5ZXIoQ0FM
YXllciAqbGF5ZXIsIExheWVyQ29udAogCiBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6
OlRocmVhZFNhZmVJbWFnZUJ1ZmZlckZsdXNoZXI+PiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6
dGFrZVBlbmRpbmdGbHVzaGVycygpCiB7CisgICAgTE9HX1dJVEhfU1RSRUFNKFJlbW90ZVJlbmRl
cmluZ0J1ZmZlclZvbGF0aWxpdHksIHN0cmVhbSA8PCAiUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUg
IiA8PCBtX2xheWVyLT5sYXllcklEKCkgPDwgIiB0YWtlUGVuZGluZ0ZsdXNoZXJzKCkiKTsKICAg
ICByZXR1cm4gc3RkOjpleGNoYW5nZShtX2Zyb250QnVmZmVyRmx1c2hlcnMsIHsgfSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVM
YXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90
ZUxheWVyVHJlZS9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaAppbmRleCA0YTc0
Yjc2Y2RhMGM5ZWYyMWNmZmMxNGIxYWUwNDIwMjM2ZWRhMWU1Li43YmRiMGVkOTJiNmU3N2ZjZTEw
NjIyNmE4OGI0Y2ExOTNiNTdkNTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9S
ZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmgKKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2luZ1N0
b3JlQ29sbGVjdGlvbi5oCkBAIC01OCw5ICs1OCwxMiBAQCBwdWJsaWM6CiAgICAgLy8gUmV0dXJu
IHZhbHVlIGluZGljYXRlcyB3aGV0aGVyIHRoZSBiYWNraW5nIHN0b3JlIG5lZWRzIHRvIGJlIGlu
Y2x1ZGVkIGluIHRoZSB0cmFuc2FjdGlvbi4KICAgICBib29sIGJhY2tpbmdTdG9yZVdpbGxCZURp
c3BsYXllZChSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYpOwogICAgIHZvaWQgYmFja2luZ1N0b3Jl
QmVjYW1lVW5yZWFjaGFibGUoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmKTsKLSAgICAKKworICAg
IHZpcnR1YWwgYm9vbCBiYWNraW5nU3RvcmVOZWVkc0Rpc3BsYXkoY29uc3QgUmVtb3RlTGF5ZXJC
YWNraW5nU3RvcmUmKTsKKwogICAgIHZpcnR1YWwgU3dhcEJ1ZmZlcnNEaXNwbGF5UmVxdWlyZW1l
bnQgcHJlcGFyZUJhY2tpbmdTdG9yZUJ1ZmZlcnMoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmKTsK
IAorICAgIHZvaWQgcHJlcGFyZUJhY2tpbmdTdG9yZXNGb3JEaXNwbGF5KFJlbW90ZUxheWVyVHJl
ZVRyYW5zYWN0aW9uJik7CiAgICAgdm9pZCBwYWludFJlYWNoYWJsZUJhY2tpbmdTdG9yZUNvbnRl
bnRzKCk7CiAKICAgICB2b2lkIHdpbGxGbHVzaExheWVycygpOwpAQCAtMTAyLDYgKzEwNSw3IEBA
IHByb3RlY3RlZDoKIAogICAgIC8vIE9ubHkgdXNlZCBkdXJpbmcgYSBzaW5nbGUgZmx1c2guCiAg
ICAgSGFzaFNldDxSZW1vdGVMYXllckJhY2tpbmdTdG9yZSo+IG1fcmVhY2hhYmxlQmFja2luZ1N0
b3JlSW5MYXRlc3RGbHVzaDsKKyAgICBIYXNoU2V0PFJlbW90ZUxheWVyQmFja2luZ1N0b3JlKj4g
bV9iYWNraW5nU3RvcmVzTmVlZGluZ0Rpc3BsYXk7CiAKICAgICBXZWJDb3JlOjpUaW1lciBtX3Zv
bGF0aWxpdHlUaW1lcjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3Rl
TGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbSBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxl
Y3Rpb24ubW0KaW5kZXggNmY0NGMxMWUxNTBjOTAxMzg3YTFmZmEwMzlkNTllYjBiNWYxZThhYi4u
ZWQwY2NmNDk4NDBjZGRjYTE2NjgwZWVkMjYyZGNmNzYxZGY1M2M1NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Q29sbGVjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUv
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tCkBAIC00NywxNiArNDcsNDAgQEAg
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjpSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZUNvbGxlY3Rpb24oUmVtb3RlTGF5ZXIKIAogUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0
aW9uOjp+UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uKCkgPSBkZWZhdWx0OwogCiti
b29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6YmFja2luZ1N0b3JlTmVlZHNE
aXNwbGF5KGNvbnN0IFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiBiYWNraW5nU3RvcmUpCit7Cisg
ICAgYXV0byBmcm9udEJ1ZmZlciA9IGJhY2tpbmdTdG9yZS5idWZmZXJGb3JUeXBlKFJlbW90ZUxh
eWVyQmFja2luZ1N0b3JlOjpCdWZmZXJUeXBlOjpGcm9udCk7CisgICAgaWYgKCFmcm9udEJ1ZmZl
cikKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICBpZiAoZnJvbnRCdWZmZXItPnZvbGF0aWxp
dHlTdGF0ZSgpID09IFdlYkNvcmU6OlZvbGF0aWxpdHlTdGF0ZTo6Vm9sYXRpbGUpCisgICAgICAg
IHJldHVybiB0cnVlOworCisgICAgcmV0dXJuICFiYWNraW5nU3RvcmUuaGFzRW1wdHlEaXJ0eVJl
Z2lvbigpOworfQorCit2b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6cHJl
cGFyZUJhY2tpbmdTdG9yZXNGb3JEaXNwbGF5KFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uJiB0
cmFuc2FjdGlvbikKK3sKKyAgICBmb3IgKGF1dG8qIGJhY2tpbmdTdG9yZSA6IG1fYmFja2luZ1N0
b3Jlc05lZWRpbmdEaXNwbGF5KSB7CisgICAgICAgIGJhY2tpbmdTdG9yZS0+cHJlcGFyZVRvRGlz
cGxheSgpOworICAgICAgICBiYWNraW5nU3RvcmUtPmxheWVyKCktPnByb3BlcnRpZXMoKS5ub3Rl
UHJvcGVydGllc0NoYW5nZWQoUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OkJhY2tpbmdTdG9y
ZUNoYW5nZWQpOworICAgICAgICB0cmFuc2FjdGlvbi5sYXllclByb3BlcnRpZXNDaGFuZ2VkKCpi
YWNraW5nU3RvcmUtPmxheWVyKCkpOworICAgIH0KK30KKwogdm9pZCBSZW1vdGVMYXllckJhY2tp
bmdTdG9yZUNvbGxlY3Rpb246OnBhaW50UmVhY2hhYmxlQmFja2luZ1N0b3JlQ29udGVudHMoKQog
ewotICAgIGZvciAoYXV0byogYmFja2luZ1N0b3JlIDogbV9yZWFjaGFibGVCYWNraW5nU3RvcmVJ
bkxhdGVzdEZsdXNoKQorICAgIGZvciAoYXV0byogYmFja2luZ1N0b3JlIDogbV9iYWNraW5nU3Rv
cmVzTmVlZGluZ0Rpc3BsYXkpCiAgICAgICAgIGJhY2tpbmdTdG9yZS0+cGFpbnRDb250ZW50cygp
OwogfQogCiB2b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6d2lsbEZsdXNo
TGF5ZXJzKCkKIHsKKyAgICBMT0dfV0lUSF9TVFJFQU0oUmVtb3RlUmVuZGVyaW5nQnVmZmVyVm9s
YXRpbGl0eSwgc3RyZWFtIDw8ICJcblJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6
d2lsbEZsdXNoTGF5ZXJzKCkiKTsKKwogICAgIG1faW5MYXllckZsdXNoID0gdHJ1ZTsKICAgICBt
X3JlYWNoYWJsZUJhY2tpbmdTdG9yZUluTGF0ZXN0Rmx1c2guY2xlYXIoKTsKKyAgICBtX2JhY2tp
bmdTdG9yZXNOZWVkaW5nRGlzcGxheS5jbGVhcigpOwogfQogCiB2b2lkIFJlbW90ZUxheWVyQmFj
a2luZ1N0b3JlQ29sbGVjdGlvbjo6d2lsbENvbW1pdExheWVyVHJlZShSZW1vdGVMYXllclRyZWVU
cmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24pCkBAIC0xMjcsNiArMTUxLDkgQEAgYm9vbCBSZW1vdGVM
YXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246OmJhY2tpbmdTdG9yZVdpbGxCZURpc3BsYXllZChS
ZW1vdGVMYXllckIKICAgICBBU1NFUlQobV9pbkxheWVyRmx1c2gpOwogICAgIG1fcmVhY2hhYmxl
QmFja2luZ1N0b3JlSW5MYXRlc3RGbHVzaC5hZGQoJmJhY2tpbmdTdG9yZSk7CiAKKyAgICBpZiAo
YmFja2luZ1N0b3JlLm5lZWRzRGlzcGxheSgpKQorICAgICAgICBtX2JhY2tpbmdTdG9yZXNOZWVk
aW5nRGlzcGxheS5hZGQoJmJhY2tpbmdTdG9yZSk7CisKICAgICBhdXRvIGJhY2tpbmdTdG9yZUl0
ZXIgPSBtX3VucGFyZW50ZWRCYWNraW5nU3RvcmUuZmluZCgmYmFja2luZ1N0b3JlKTsKICAgICBp
ZiAoYmFja2luZ1N0b3JlSXRlciA9PSBtX3VucGFyZW50ZWRCYWNraW5nU3RvcmUuZW5kKCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Jl
bW90ZUxheWVyVHJlZS9SZW1vdGVMYXllcldpdGhSZW1vdGVSZW5kZXJpbmdCYWNraW5nU3RvcmVD
b2xsZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3Rl
TGF5ZXJXaXRoUmVtb3RlUmVuZGVyaW5nQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oCmluZGV4IGE4
NTNiMGUzMTcxZDU3MTA4ZTAyMjU4YTc0ZTY1Mzg5ZjZiMzVkODQuLjg5MWNhNmI4YzJlN2FjYTk3
ZTZjNmYzOGE3OTVmMmJjMjIxNmVkOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllcldpdGhSZW1vdGVSZW5kZXJpbmdCYWNraW5nU3Rv
cmVDb2xsZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVl
L1JlbW90ZUxheWVyV2l0aFJlbW90ZVJlbmRlcmluZ0JhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaApA
QCAtNDMsNiArNDMsNyBAQCBwcml2YXRlOgogICAgIAogICAgIFJlbW90ZVJlbmRlcmluZ0JhY2tl
bmRQcm94eSYgcmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5KCk7CiAKKyAgICBib29sIGJhY2tp
bmdTdG9yZU5lZWRzRGlzcGxheShjb25zdCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYpIGZpbmFs
OwogICAgIFN3YXBCdWZmZXJzRGlzcGxheVJlcXVpcmVtZW50IHByZXBhcmVCYWNraW5nU3RvcmVC
dWZmZXJzKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJikgZmluYWw7CiAKICAgICBib29sIGNvbGxl
Y3RCYWNraW5nU3RvcmVCdWZmZXJJZGVudGlmaWVyc1RvTWFya1ZvbGF0aWxlKFJlbW90ZUxheWVy
QmFja2luZ1N0b3JlJiwgT3B0aW9uU2V0PFZvbGF0aWxpdHlNYXJraW5nQmVoYXZpb3I+LCBNb25v
dG9uaWNUaW1lIG5vdywgVmVjdG9yPFdlYkNvcmU6OlJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmll
cj4mKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9S
ZW1vdGVMYXllcldpdGhSZW1vdGVSZW5kZXJpbmdCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyV2l0aFJlbW90
ZVJlbmRlcmluZ0JhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KaW5kZXggZDlhNmVlZjUzMGE1OTc3
Mjc5OWNhNDVjZWYzYjc4ODRjMDc2OGQzNy4uMDFkNjQyM2JjODgyODFiZGIyMzU5NjM0MGFmN2E1
ZjNiNWI4MjkxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJU
cmVlL1JlbW90ZUxheWVyV2l0aFJlbW90ZVJlbmRlcmluZ0JhY2tpbmdTdG9yZUNvbGxlY3Rpb24u
bW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVy
V2l0aFJlbW90ZVJlbmRlcmluZ0JhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KQEAgLTQ0LDM2ICs0
NCwzMiBAQCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkmIFJlbW90ZUxheWVyV2l0aFJlbW90
ZVJlbmRlcmluZ0JhY2tpbmdTdG9yZUNvbGxlY3RpbwogICAgIHJldHVybiBsYXllclRyZWVDb250
ZXh0KCkuZW5zdXJlUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5KCk7CiB9CiAKLVN3YXBCdWZm
ZXJzRGlzcGxheVJlcXVpcmVtZW50IFJlbW90ZUxheWVyV2l0aFJlbW90ZVJlbmRlcmluZ0JhY2tp
bmdTdG9yZUNvbGxlY3Rpb246OnByZXBhcmVCYWNraW5nU3RvcmVCdWZmZXJzKFJlbW90ZUxheWVy
QmFja2luZ1N0b3JlJiBiYWNraW5nU3RvcmUpCitib29sIFJlbW90ZUxheWVyV2l0aFJlbW90ZVJl
bmRlcmluZ0JhY2tpbmdTdG9yZUNvbGxlY3Rpb246OmJhY2tpbmdTdG9yZU5lZWRzRGlzcGxheShj
b25zdCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYgYmFja2luZ1N0b3JlKQogewogICAgIGF1dG8g
ZnJvbnRCdWZmZXIgPSBiYWNraW5nU3RvcmUuYnVmZmVyRm9yVHlwZShSZW1vdGVMYXllckJhY2tp
bmdTdG9yZTo6QnVmZmVyVHlwZTo6RnJvbnQpOworICAgIGlmICghZnJvbnRCdWZmZXIpCisgICAg
ICAgIHJldHVybiB0cnVlOwogCi0gICAgYXV0byBuZWVkVG9GZXRjaEZyb250QnVmZmVyID0gW10o
SW1hZ2VCdWZmZXIqIGZyb250QnVmZmVyKSB7Ci0gICAgICAgIGlmICghZnJvbnRCdWZmZXIpCi0g
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLQotICAgICAgICBpZiAoZnJvbnRCdWZmZXItPnZvbGF0
aWxpdHlTdGF0ZSgpID09IFdlYkNvcmU6OlZvbGF0aWxpdHlTdGF0ZTo6Vm9sYXRpbGUpCi0gICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAoZnJvbnRCdWZmZXItPnZvbGF0aWxpdHlTdGF0
ZSgpID09IFdlYkNvcmU6OlZvbGF0aWxpdHlTdGF0ZTo6Vm9sYXRpbGUpCisgICAgICAgIHJldHVy
biB0cnVlOwogCi0gICAgICAgIGlmIChhdXRvKiBiYWNrZW5kID0gZnJvbnRCdWZmZXItPmVuc3Vy
ZUJhY2tlbmRDcmVhdGVkKCkpIHsKLSAgICAgICAgICAgIGF1dG8qIHNoYXJpbmcgPSBiYWNrZW5k
LT50b0JhY2tlbmRTaGFyaW5nKCk7Ci0gICAgICAgICAgICBpZiAoaXM8SW1hZ2VCdWZmZXJCYWNr
ZW5kSGFuZGxlU2hhcmluZz4oc2hhcmluZykpIHsKLSAgICAgICAgICAgICAgICBpZiAoIWRvd25j
YXN0PEltYWdlQnVmZmVyQmFja2VuZEhhbmRsZVNoYXJpbmc+KCpzaGFyaW5nKS5oYXNCYWNrZW5k
SGFuZGxlKCkpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAg
fQorICAgIGlmIChhdXRvKiBiYWNrZW5kID0gZnJvbnRCdWZmZXItPmVuc3VyZUJhY2tlbmRDcmVh
dGVkKCkpIHsKKyAgICAgICAgYXV0byogc2hhcmluZyA9IGJhY2tlbmQtPnRvQmFja2VuZFNoYXJp
bmcoKTsKKyAgICAgICAgaWYgKGlzPEltYWdlQnVmZmVyQmFja2VuZEhhbmRsZVNoYXJpbmc+KHNo
YXJpbmcpKSB7CisgICAgICAgICAgICBpZiAoIWRvd25jYXN0PEltYWdlQnVmZmVyQmFja2VuZEhh
bmRsZVNoYXJpbmc+KCpzaGFyaW5nKS5oYXNCYWNrZW5kSGFuZGxlKCkpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KKyAgICB9CiAKLSAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIH07Ci0KLSAgICAvLyBBdm9pZCBJUEMgaWYgbm90IG5lY2Vzc2FyeS4KLSAgICBpZiAo
IW5lZWRUb0ZldGNoRnJvbnRCdWZmZXIoZnJvbnRCdWZmZXIuZ2V0KCkpICYmIGJhY2tpbmdTdG9y
ZS5oYXNFbXB0eURpcnR5UmVnaW9uKCkpCi0gICAgICAgIHJldHVybiBTd2FwQnVmZmVyc0Rpc3Bs
YXlSZXF1aXJlbWVudDo6TmVlZHNOb0Rpc3BsYXk7CisgICAgcmV0dXJuICFiYWNraW5nU3RvcmUu
aGFzRW1wdHlEaXJ0eVJlZ2lvbigpOworfQogCitTd2FwQnVmZmVyc0Rpc3BsYXlSZXF1aXJlbWVu
dCBSZW1vdGVMYXllcldpdGhSZW1vdGVSZW5kZXJpbmdCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjpw
cmVwYXJlQmFja2luZ1N0b3JlQnVmZmVycyhSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYgYmFja2lu
Z1N0b3JlKQorewogICAgIGF1dG8mIHJlbW90ZVJlbmRlcmluZ0JhY2tlbmQgPSBsYXllclRyZWVD
b250ZXh0KCkuZW5zdXJlUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5KCk7CiAKICAgICBhdXRv
IGlkZW50aWZpZXJzID0gUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5OjpCdWZmZXJTZXQgewot
ICAgICAgICBmcm9udEJ1ZmZlciwKKyAgICAgICAgYmFja2luZ1N0b3JlLmJ1ZmZlckZvclR5cGUo
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OkJ1ZmZlclR5cGU6OkZyb250KSwKICAgICAgICAgYmFj
a2luZ1N0b3JlLmJ1ZmZlckZvclR5cGUoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OkJ1ZmZlclR5
cGU6OkJhY2spLAogICAgICAgICBiYWNraW5nU3RvcmUuYnVmZmVyRm9yVHlwZShSZW1vdGVMYXll
ckJhY2tpbmdTdG9yZTo6QnVmZmVyVHlwZTo6U2Vjb25kYXJ5QmFjaykKICAgICB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1Bs
YXRmb3JtQ0FMYXllclJlbW90ZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9SZW1vdGVMYXllclRyZWUvUGxhdGZvcm1DQUxheWVyUmVtb3RlLmNwcAppbmRleCAwYjAxOTlk
MmEwNjI1NGZiNGJiZTViOWYxMGRkM2Y2YWFiNjU5MWJmLi43ZDVmNDc2MGNhOGFiY2NhYjRhMTA0
YzBhNGQ0N2VhNzE3MzFhY2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUGxhdGZvcm1DQUxheWVyUmVtb3RlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUGxhdGZvcm1D
QUxheWVyUmVtb3RlLmNwcApAQCAtMTc4LDcgKzE3OCw4IEBAIHZvaWQgUGxhdGZvcm1DQUxheWVy
UmVtb3RlOjpyZWN1cnNpdmVCdWlsZFRyYW5zYWN0aW9uKFJlbW90ZUxheWVyVHJlZUNvbnRleHQm
IGNvCiAgICAgICAgIG1fcHJvcGVydGllcy5iYWNraW5nU3RvcmUgPSBudWxscHRyOwogICAgICAg
ICBtX3Byb3BlcnRpZXMubm90ZVByb3BlcnRpZXNDaGFuZ2VkKFJlbW90ZUxheWVyVHJlZVRyYW5z
YWN0aW9uOjpCYWNraW5nU3RvcmVDaGFuZ2VkKTsKICAgICB9Ci0gICAgaWYgKG1fcHJvcGVydGll
cy5iYWNraW5nU3RvcmUgJiYgbV9wcm9wZXJ0aWVzLmJhY2tpbmdTdG9yZUF0dGFjaGVkICYmIG1f
cHJvcGVydGllcy5iYWNraW5nU3RvcmUtPnByZXBhcmVUb0Rpc3BsYXkoKSkKKworICAgIGlmICht
X3Byb3BlcnRpZXMuYmFja2luZ1N0b3JlICYmIG1fcHJvcGVydGllcy5iYWNraW5nU3RvcmVBdHRh
Y2hlZCAmJiBtX3Byb3BlcnRpZXMuYmFja2luZ1N0b3JlLT5sYXllcldpbGxCZURpc3BsYXllZCgp
KQogICAgICAgICBtX3Byb3BlcnRpZXMubm90ZVByb3BlcnRpZXNDaGFuZ2VkKFJlbW90ZUxheWVy
VHJlZVRyYW5zYWN0aW9uOjpCYWNraW5nU3RvcmVDaGFuZ2VkKTsKIAogICAgIGlmIChtX3Byb3Bl
cnRpZXMuY2hhbmdlZFByb3BlcnRpZXMpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVDb250ZXh0Lm1t
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90
ZUxheWVyVHJlZUNvbnRleHQubW0KaW5kZXggZTFjNWU5ZWRjMzA0ZDMxMjU5ZWQyMzgzNzM0Nzk4
ODM2ZDc4NWJmNi4uNTI3MWU2ZmM4YTMyYjRiZjU1NTc0MjZlOTBlZWIwNmMxNzE4ZWJjYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVl
L1JlbW90ZUxheWVyVHJlZUNvbnRleHQubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZUNvbnRleHQubW0KQEAgLTEz
Nyw2ICsxMzcsNyBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZUNvbnRleHQ6OmJ1aWxkVHJhbnNhY3Rp
b24oUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mIHRyYW5zYQogCiAgICAgbV9jdXJyZW50VHJh
bnNhY3Rpb24gPSAmdHJhbnNhY3Rpb247CiAgICAgcm9vdExheWVyUmVtb3RlLnJlY3Vyc2l2ZUJ1
aWxkVHJhbnNhY3Rpb24oKnRoaXMsIHRyYW5zYWN0aW9uKTsKKyAgICBtX2JhY2tpbmdTdG9yZUNv
bGxlY3Rpb24tPnByZXBhcmVCYWNraW5nU3RvcmVzRm9yRGlzcGxheSh0cmFuc2FjdGlvbik7CiAg
ICAgbV9jdXJyZW50VHJhbnNhY3Rpb24gPSBudWxscHRyOwogCiAgICAgbV9iYWNraW5nU3RvcmVD
b2xsZWN0aW9uLT5wYWludFJlYWNoYWJsZUJhY2tpbmdTdG9yZUNvbnRlbnRzKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>