<?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>236040</bug_id>
          
          <creation_ts>2022-02-02 14:20:25 -0800</creation_ts>
          <short_desc>Refactor RemoteLayerBackingStoreCollection to have a single backing store traversal function</short_desc>
          <delta_ts>2022-02-05 11:46:16 -0800</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 Misc.</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>
          <dependson>236034</dependson>
          
          <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>1836637</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-02-02 14:20:25 -0800</bug_when>
    <thetext>Refactor RemoteLayerBackingStoreCollection to have a single backing store traversal function</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1836638</commentid>
    <comment_count>1</comment_count>
      <attachid>450697</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-02-02 14:22:13 -0800</bug_when>
    <thetext>Created attachment 450697
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837651</commentid>
    <comment_count>2</comment_count>
      <attachid>450951</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-02-04 16:45:22 -0800</bug_when>
    <thetext>Created attachment 450951
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837686</commentid>
    <comment_count>3</comment_count>
      <attachid>450963</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-02-04 19:00:15 -0800</bug_when>
    <thetext>Created attachment 450963
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837776</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-05 11:45:59 -0800</bug_when>
    <thetext>Committed r289160 (246856@main): &lt;https://commits.webkit.org/246856@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 450963.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1837777</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-05 11:46:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/88529399&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450697</attachid>
            <date>2022-02-02 14:22:13 -0800</date>
            <delta_ts>2022-02-04 19:00:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236040-20220202142212.patch</filename>
            <type>text/plain</type>
            <size>10342</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4OTQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDg3NWFkMzQ4NTA4NDA2ZmNl
M2QzYzc3ODUyYWQ2NTUwM2VlZmNkYjQuLjMzNGQxZThhODU1ZGU5NjRjYWExOTVkMWU3NDNiNTMw
OGI1ZGM3ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjItMDItMDIgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVmYWN0b3IgUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uIHRvIGhhdmUgYSBzaW5nbGUgYmFja2luZyBzdG9y
ZSB0cmF2ZXJzYWwgZnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzNjA0MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEluc3RlYWQgb2YgdHJhdmVyc2luZyBtX2xpdmVCYWNraW5nU3RvcmUgYW5k
IG1fdW5wYXJlbnRlZEJhY2tpbmdTdG9yZSBpbiB0d28gcGxhY2VzIChmcm9tIHRoZSB2b2xhdGls
aXR5VGltZXJGaXJlZCgpCisgICAgICAgIGFuZCBmcm9tIHRyeU1hcmtBbGxCYWNraW5nU3RvcmVW
b2xhdGlsZSgpKSwgZmFjdG9yIGludG8gYSBzaW5nbGUgZnVuY3Rpb24gd2l0aCB0d28gYmVoYXZp
b3IgZmxhZ3MuCisKKyAgICAgICAgQWxzbyBtYWtlIFZvbGF0aWxpdHlNYXJraW5nRmxhZ3MgYW4g
T3B0aW9uU2V0PD4gYW5kIGFkZCBhbiBvcHRpb24gdG8gY29uc2lkZXIgbGFzdCBkaXNwbGF5IHRp
bWUuCisKKyAgICAgICAgKiBTaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2lu
Z1N0b3JlLmg6CisgICAgICAgICogU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllckJh
Y2tpbmdTdG9yZS5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6
OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlKToKKyAgICAgICAgKiBTaGFyZWQvUmVtb3RlTGF5ZXJU
cmVlL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5nU3RvcmVWb2xh
dGlsZSk6CisgICAgICAgICogU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllckJhY2tp
bmdTdG9yZUNvbGxlY3Rpb24ubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2lu
Z1N0b3JlQ29sbGVjdGlvbjo6bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKToKKyAgICAgICAgKFdl
YktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjpiYWNraW5nU3RvcmVCZWNh
bWVVbnJlYWNoYWJsZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Q29sbGVjdGlvbjo6bWFya0FsbEJhY2tpbmdTdG9yZVZvbGF0aWxlKToKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjp0cnlNYXJrQWxsQmFja2luZ1N0
b3JlVm9sYXRpbGUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNv
bGxlY3Rpb246OnZvbGF0aWxpdHlUaW1lckZpcmVkKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYXJrQmFja2luZ1N0b3JlVm9sYXRpbGVJbW1l
ZGlhdGVseSk6IERlbGV0ZWQuCisKIDIwMjItMDItMDIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZy
YXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgTGF5IHRoZSBncm91bmR3b3JrIGZvciBtYXJrTGF5
ZXJzVm9sYXRpbGVJbW1lZGlhdGVseUlmUG9zc2libGUoKSBiZWluZyBhbiBhc3luY2hyb25vdXMg
b3BlcmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRy
ZWUvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90
ZUxheWVyVHJlZS9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oCmluZGV4IDgzZTBkYmQ5ZjA4MTk5
ZGU0MmNjMWQ5YjNhMjcwZTkyNmQ5NWZjMDIuLjA3ZjZiNmRlOTY5OWY5ZWYxNTFkMDkwYjJmMDNk
ZWQwZWY2MjJjMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVy
VHJlZS9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oCkBAIC0xMTIsOCArMTEy
LDggQEAgcHJpdmF0ZToKICAgICBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUqIG1fbGF5ZXI7CiAKICAg
ICBXZWJDb3JlOjpGbG9hdFNpemUgbV9zaXplOwotICAgIGZsb2F0IG1fc2NhbGU7Ci0gICAgYm9v
bCBtX2lzT3BhcXVlOworICAgIGZsb2F0IG1fc2NhbGUgeyAxLjBmIH07CisgICAgYm9vbCBtX2lz
T3BhcXVlIHsgZmFsc2UgfTsKIAogICAgIFdlYkNvcmU6OlJlZ2lvbiBtX2RpcnR5UmVnaW9uOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmUubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRy
ZWUvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0KaW5kZXggM2M5NTI1NDY5NDBhOGQ1YTNmMTQy
NmNmNWYwOThlYzkxYjJmMDMzMi4uOGFmZmVlNTU5OTcxZDMxNmFkNTk3MmY2OThkMGJkODg1NmQy
MGEyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1Jl
bW90ZUxheWVyQmFja2luZ1N0b3JlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90
ZUxheWVyVHJlZS9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQpAQCAtNTcsNyArNTcsNiBAQCBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OlJlbW90ZUxheWVy
QmFja2luZ1N0b3JlKFBsYXRmb3JtQ0FMYXllclJlbW90ZSogbGF5ZXIpCiAgICAgOiBtX2xheWVy
KGxheWVyKQotICAgICwgbV9pc09wYXF1ZShmYWxzZSkKICAgICAsIG1fbGFzdERpc3BsYXlUaW1l
KC1Nb25vdG9uaWNUaW1lOjppbmZpbml0eSgpKQogewogICAgIGlmICghbV9sYXllcikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllckJh
Y2tpbmdTdG9yZUNvbGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVy
VHJlZS9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaAppbmRleCA4ZTBmYTQ3N2Q0
MjdhZjYzZWQ3ZWM0NjIxN2Y0MjhkMzUyMzRhZjI1Li45MzRhZjVhNjRhODNiMWRiZTMzODE1MTlm
NjczMTYzMDI2M2VmZDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVM
YXllclRyZWUvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmgKKysrIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29s
bGVjdGlvbi5oCkBAIC01NywxMyArNTcsMTMgQEAgcHVibGljOgogICAgIHZvaWQgc2NoZWR1bGVW
b2xhdGlsaXR5VGltZXIoKTsKIAogcHJpdmF0ZToKLSAgICBlbnVtIFZvbGF0aWxpdHlNYXJraW5n
RmxhZyB7Ci0gICAgICAgIE1hcmtCdWZmZXJzSWdub3JpbmdSZWFjaGFiaWxpdHkgPSAxIDw8IDAK
KyAgICBlbnVtIGNsYXNzIFZvbGF0aWxpdHlNYXJraW5nQmVoYXZpb3IgOiB1aW50OF90IHsKKyAg
ICAgICAgSWdub3JlUmVhY2hhYmlsaXR5ICAgICAgICAgICAgICA9IDEgPDwgMCwKKyAgICAgICAg
Q29uc2lkZXJUaW1lU2luY2VMYXN0RGlzcGxheSAgICA9IDEgPDwgMSwKICAgICB9OwotICAgIHR5
cGVkZWYgdW5zaWduZWQgVm9sYXRpbGl0eU1hcmtpbmdGbGFnczsKLSAgICBib29sIG1hcmtCYWNr
aW5nU3RvcmVWb2xhdGlsZUltbWVkaWF0ZWx5KFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiwgVm9s
YXRpbGl0eU1hcmtpbmdGbGFncyA9IDApOwotICAgIGJvb2wgbWFya0JhY2tpbmdTdG9yZVZvbGF0
aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiwgTW9ub3RvbmljVGltZSBub3cpOworICAgIGJv
b2wgbWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiwgT3B0
aW9uU2V0PFZvbGF0aWxpdHlNYXJraW5nQmVoYXZpb3I+ID0geyB9LCBNb25vdG9uaWNUaW1lID0g
eyB9KTsKIAorICAgIGJvb2wgbWFya0FsbEJhY2tpbmdTdG9yZVZvbGF0aWxlKE9wdGlvblNldDxW
b2xhdGlsaXR5TWFya2luZ0JlaGF2aW9yPiBsaXZlQmFja2luZ1N0b3JlTWFya2luZ0JlaGF2aW9y
LCBPcHRpb25TZXQ8Vm9sYXRpbGl0eU1hcmtpbmdCZWhhdmlvcj4gdW5wYXJlbnRlZEJhY2tpbmdT
dG9yZU1hcmtpbmdCZWhhdmlvcik7CiAgICAgdm9pZCB2b2xhdGlsaXR5VGltZXJGaXJlZCgpOwog
CiAgICAgSGFzaFNldDxSZW1vdGVMYXllckJhY2tpbmdTdG9yZSo+IG1fbGl2ZUJhY2tpbmdTdG9y
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1v
dGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9S
ZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tCmluZGV4
IGM5M2UxYjAzMDMxOTU0ODIwNTM1MDdhNDc3MzJiYjIzODU3MWU3YzEuLmQyN2M1NDk0MmEzOTM0
MjlmZmViMDJlZTJhZDE2YjQ3MTgyMTFiMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0K
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFj
a2luZ1N0b3JlQ29sbGVjdGlvbi5tbQpAQCAtMTAxLDkgKzEwMSwyMCBAQCBib29sIFJlbW90ZUxh
eWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6YmFja2luZ1N0b3JlV2lsbEJlRGlzcGxheWVkKFJl
bW90ZUxheWVyQgogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFJlbW90ZUxheWVyQmFja2lu
Z1N0b3JlQ29sbGVjdGlvbjo6bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlSW1tZWRpYXRlbHkoUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmUmIGJhY2tpbmdTdG9yZSwgVm9sYXRpbGl0eU1hcmtpbmdGbGFn
cyB2b2xhdGlsaXR5TWFya2luZ0ZsYWdzKQorYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNv
bGxlY3Rpb246Om1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZShSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZSYgYmFja2luZ1N0b3JlLCBPcHRpb25TZXQ8Vm9sYXRpbGl0eU1hcmtpbmdCZWhhdmlvcj4gbWFy
a2luZ0JlaGF2aW9yLCBNb25vdG9uaWNUaW1lIG5vdykKIHsKICAgICBBU1NFUlQoIW1faW5MYXll
ckZsdXNoKTsKKworICAgIGlmIChtYXJraW5nQmVoYXZpb3IuY29udGFpbnMoVm9sYXRpbGl0eU1h
cmtpbmdCZWhhdmlvcjo6Q29uc2lkZXJUaW1lU2luY2VMYXN0RGlzcGxheSkpIHsKKyAgICAgICAg
YXV0byB0aW1lU2luY2VMYXN0RGlzcGxheSA9IG5vdyAtIGJhY2tpbmdTdG9yZS5sYXN0RGlzcGxh
eVRpbWUoKTsKKyAgICAgICAgaWYgKHRpbWVTaW5jZUxhc3REaXNwbGF5IDwgdm9sYXRpbGVCYWNr
aW5nU3RvcmVBZ2VUaHJlc2hvbGQpIHsKKyAgICAgICAgICAgIGlmICh0aW1lU2luY2VMYXN0RGlz
cGxheSA+PSB2b2xhdGlsZVNlY29uZGFyeUJhY2tpbmdTdG9yZUFnZVRocmVzaG9sZCkKKyAgICAg
ICAgICAgICAgICBiYWNraW5nU3RvcmUuc2V0QnVmZmVyVm9sYXRpbGl0eShSZW1vdGVMYXllckJh
Y2tpbmdTdG9yZTo6QnVmZmVyVHlwZTo6U2Vjb25kYXJ5QmFjaywgdHJ1ZSk7CisKKyAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgIH0KKyAgICAKICAgICBib29sIHN1Y2Nl
c3NmdWxseU1hZGVCYWNraW5nU3RvcmVWb2xhdGlsZSA9IHRydWU7CiAKICAgICBpZiAoIWJhY2tp
bmdTdG9yZS5zZXRCdWZmZXJWb2xhdGlsaXR5KFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpCdWZm
ZXJUeXBlOjpTZWNvbmRhcnlCYWNrLCB0cnVlKSkKQEAgLTExMiw3ICsxMjMsNyBAQCBib29sIFJl
bW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxl
SW1tZWRpYXRlbHkoUmVtbwogICAgIGlmICghYmFja2luZ1N0b3JlLnNldEJ1ZmZlclZvbGF0aWxp
dHkoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OkJ1ZmZlclR5cGU6OkJhY2ssIHRydWUpKQogICAg
ICAgICBzdWNjZXNzZnVsbHlNYWRlQmFja2luZ1N0b3JlVm9sYXRpbGUgPSBmYWxzZTsKIAotICAg
IGlmICghbV9yZWFjaGFibGVCYWNraW5nU3RvcmVJbkxhdGVzdEZsdXNoLmNvbnRhaW5zKCZiYWNr
aW5nU3RvcmUpIHx8ICh2b2xhdGlsaXR5TWFya2luZ0ZsYWdzICYgTWFya0J1ZmZlcnNJZ25vcmlu
Z1JlYWNoYWJpbGl0eSkpIHsKKyAgICBpZiAoIW1fcmVhY2hhYmxlQmFja2luZ1N0b3JlSW5MYXRl
c3RGbHVzaC5jb250YWlucygmYmFja2luZ1N0b3JlKSB8fCBtYXJraW5nQmVoYXZpb3IuY29udGFp
bnMoVm9sYXRpbGl0eU1hcmtpbmdCZWhhdmlvcjo6SWdub3JlUmVhY2hhYmlsaXR5KSkgewogICAg
ICAgICBpZiAoIWJhY2tpbmdTdG9yZS5zZXRCdWZmZXJWb2xhdGlsaXR5KFJlbW90ZUxheWVyQmFj
a2luZ1N0b3JlOjpCdWZmZXJUeXBlOjpGcm9udCwgdHJ1ZSkpCiAgICAgICAgICAgICBzdWNjZXNz
ZnVsbHlNYWRlQmFja2luZ1N0b3JlVm9sYXRpbGUgPSBmYWxzZTsKICAgICB9CkBAIC0xMjAsMTkg
KzEzMSw2IEBAIGJvb2wgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYXJrQmFj
a2luZ1N0b3JlVm9sYXRpbGVJbW1lZGlhdGVseShSZW1vCiAgICAgcmV0dXJuIHN1Y2Nlc3NmdWxs
eU1hZGVCYWNraW5nU3RvcmVWb2xhdGlsZTsKIH0KIAotYm9vbCBSZW1vdGVMYXllckJhY2tpbmdT
dG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZShSZW1vdGVMYXllckJhY2tp
bmdTdG9yZSYgYmFja2luZ1N0b3JlLCBNb25vdG9uaWNUaW1lIG5vdykKLXsKLSAgICBhdXRvIHRp
bWVTaW5jZUxhc3REaXNwbGF5ID0gbm93IC0gYmFja2luZ1N0b3JlLmxhc3REaXNwbGF5VGltZSgp
OwotICAgIGlmICh0aW1lU2luY2VMYXN0RGlzcGxheSA8IHZvbGF0aWxlQmFja2luZ1N0b3JlQWdl
VGhyZXNob2xkKSB7Ci0gICAgICAgIGlmICh0aW1lU2luY2VMYXN0RGlzcGxheSA+PSB2b2xhdGls
ZVNlY29uZGFyeUJhY2tpbmdTdG9yZUFnZVRocmVzaG9sZCkKLSAgICAgICAgICAgIGJhY2tpbmdT
dG9yZS5zZXRCdWZmZXJWb2xhdGlsaXR5KFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpCdWZmZXJU
eXBlOjpTZWNvbmRhcnlCYWNrLCB0cnVlKTsKLQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
fQotICAgIAotICAgIHJldHVybiBtYXJrQmFja2luZ1N0b3JlVm9sYXRpbGVJbW1lZGlhdGVseShi
YWNraW5nU3RvcmUpOwotfQotCiB2b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlv
bjo6YmFja2luZ1N0b3JlQmVjYW1lVW5yZWFjaGFibGUoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUm
IGJhY2tpbmdTdG9yZSkKIHsKICAgICBBU1NFUlQoYmFja2luZ1N0b3JlLmxheWVyKCkpOwpAQCAt
MTQ2LDMzICsxNDQsMzIgQEAgdm9pZCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246
OmJhY2tpbmdTdG9yZUJlY2FtZVVucmVhY2hhYmxlKFJlbW90ZUxheWUKIAogICAgIC8vIFRoaXMg
d2lsbCBub3Qgc3VjY2VlZCBpbiBtYXJraW5nIGFsbCBidWZmZXJzIGFzIHZvbGF0aWxlLCBiZWNh
dXNlIHRoZSBjb21taXQgdW5wYXJlbnRpbmcgdGhlIGxheWVyIGhhc24ndAogICAgIC8vIG1hZGUg
aXQgdG8gdGhlIFVJIHByb2Nlc3MgeWV0LiBUaGUgdm9sYXRpbGl0eSB0aW1lciB3aWxsIGZpbmlz
aCBtYXJraW5nIHRoZSByZW1haW5pbmcgYnVmZmVycyBsYXRlci4KLSAgICBtYXJrQmFja2luZ1N0
b3JlVm9sYXRpbGVJbW1lZGlhdGVseShiYWNraW5nU3RvcmUpOworICAgIG1hcmtCYWNraW5nU3Rv
cmVWb2xhdGlsZShiYWNraW5nU3RvcmUpOwogfQogCi12b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0
b3JlQ29sbGVjdGlvbjo6dHJ5TWFya0FsbEJhY2tpbmdTdG9yZVZvbGF0aWxlKENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCitib29sIFJlbW90ZUxheWVy
QmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6bWFya0FsbEJhY2tpbmdTdG9yZVZvbGF0aWxlKE9wdGlv
blNldDxWb2xhdGlsaXR5TWFya2luZ0JlaGF2aW9yPiBsaXZlQmFja2luZ1N0b3JlTWFya2luZ0Jl
aGF2aW9yLCBPcHRpb25TZXQ8Vm9sYXRpbGl0eU1hcmtpbmdCZWhhdmlvcj4gdW5wYXJlbnRlZEJh
Y2tpbmdTdG9yZU1hcmtpbmdCZWhhdmlvcikKIHsKICAgICBib29sIHN1Y2Nlc3NmdWxseU1hZGVC
YWNraW5nU3RvcmVWb2xhdGlsZSA9IHRydWU7CisgICAgYXV0byBub3cgPSBNb25vdG9uaWNUaW1l
Ojpub3coKTsKIAogICAgIGZvciAoY29uc3QgYXV0byYgYmFja2luZ1N0b3JlIDogbV9saXZlQmFj
a2luZ1N0b3JlKQotICAgICAgICBzdWNjZXNzZnVsbHlNYWRlQmFja2luZ1N0b3JlVm9sYXRpbGUg
Jj0gbWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlSW1tZWRpYXRlbHkoKmJhY2tpbmdTdG9yZSwgTWFy
a0J1ZmZlcnNJZ25vcmluZ1JlYWNoYWJpbGl0eSk7CisgICAgICAgIHN1Y2Nlc3NmdWxseU1hZGVC
YWNraW5nU3RvcmVWb2xhdGlsZSAmPSBtYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUoKmJhY2tpbmdT
dG9yZSwgbGl2ZUJhY2tpbmdTdG9yZU1hcmtpbmdCZWhhdmlvciwgbm93KTsKIAogICAgIGZvciAo
Y29uc3QgYXV0byYgYmFja2luZ1N0b3JlIDogbV91bnBhcmVudGVkQmFja2luZ1N0b3JlKQotICAg
ICAgICBzdWNjZXNzZnVsbHlNYWRlQmFja2luZ1N0b3JlVm9sYXRpbGUgJj0gbWFya0JhY2tpbmdT
dG9yZVZvbGF0aWxlSW1tZWRpYXRlbHkoKmJhY2tpbmdTdG9yZSwgTWFya0J1ZmZlcnNJZ25vcmlu
Z1JlYWNoYWJpbGl0eSk7CisgICAgICAgIHN1Y2Nlc3NmdWxseU1hZGVCYWNraW5nU3RvcmVWb2xh
dGlsZSAmPSBtYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUoKmJhY2tpbmdTdG9yZSwgdW5wYXJlbnRl
ZEJhY2tpbmdTdG9yZU1hcmtpbmdCZWhhdmlvciwgbm93KTsKIAorICAgIHJldHVybiBzdWNjZXNz
ZnVsbHlNYWRlQmFja2luZ1N0b3JlVm9sYXRpbGU7Cit9CisKK3ZvaWQgUmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmVDb2xsZWN0aW9uOjp0cnlNYXJrQWxsQmFja2luZ1N0b3JlVm9sYXRpbGUoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBib29s
IHN1Y2Nlc3NmdWxseU1hZGVCYWNraW5nU3RvcmVWb2xhdGlsZSA9IG1hcmtBbGxCYWNraW5nU3Rv
cmVWb2xhdGlsZShWb2xhdGlsaXR5TWFya2luZ0JlaGF2aW9yOjpJZ25vcmVSZWFjaGFiaWxpdHks
IFZvbGF0aWxpdHlNYXJraW5nQmVoYXZpb3I6Oklnbm9yZVJlYWNoYWJpbGl0eSk7CiAgICAgY29t
cGxldGlvbkhhbmRsZXIoc3VjY2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxlKTsKIH0K
IAogdm9pZCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246OnZvbGF0aWxpdHlUaW1l
ckZpcmVkKCkKIHsKLSAgICBib29sIHN1Y2Nlc3NmdWxseU1hZGVCYWNraW5nU3RvcmVWb2xhdGls
ZSA9IHRydWU7Ci0KLSAgICBhdXRvIG5vdyA9IE1vbm90b25pY1RpbWU6Om5vdygpOwotICAgIGZv
ciAoY29uc3QgYXV0byYgYmFja2luZ1N0b3JlIDogbV9saXZlQmFja2luZ1N0b3JlKQotICAgICAg
ICBzdWNjZXNzZnVsbHlNYWRlQmFja2luZ1N0b3JlVm9sYXRpbGUgJj0gbWFya0JhY2tpbmdTdG9y
ZVZvbGF0aWxlKCpiYWNraW5nU3RvcmUsIG5vdyk7Ci0KLSAgICBmb3IgKGNvbnN0IGF1dG8mIGJh
Y2tpbmdTdG9yZSA6IG1fdW5wYXJlbnRlZEJhY2tpbmdTdG9yZSkKLSAgICAgICAgc3VjY2Vzc2Z1
bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxlICY9IG1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZUlt
bWVkaWF0ZWx5KCpiYWNraW5nU3RvcmUpOwotCisgICAgYm9vbCBzdWNjZXNzZnVsbHlNYWRlQmFj
a2luZ1N0b3JlVm9sYXRpbGUgPSBtYXJrQWxsQmFja2luZ1N0b3JlVm9sYXRpbGUoVm9sYXRpbGl0
eU1hcmtpbmdCZWhhdmlvcjo6Q29uc2lkZXJUaW1lU2luY2VMYXN0RGlzcGxheSwgeyB9KTsKICAg
ICBpZiAoc3VjY2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxlKQogICAgICAgICBtX3Zv
bGF0aWxpdHlUaW1lci5zdG9wKCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450951</attachid>
            <date>2022-02-04 16:45:22 -0800</date>
            <delta_ts>2022-02-04 16:52:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236040-20220204164521.patch</filename>
            <type>text/plain</type>
            <size>13808</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg4OTQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk0MGM3ZGE3YmZlNDA2MzQz
ZTY5OGFlMWMzOWFkMWIyODYxZDAwNmIuLjg3NWFkMzQ4NTA4NDA2ZmNlM2QzYzc3ODUyYWQ2NTUw
M2VlZmNkYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMjItMDItMDIgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgTGF5IHRoZSBncm91bmR3
b3JrIGZvciBtYXJrTGF5ZXJzVm9sYXRpbGVJbW1lZGlhdGVseUlmUG9zc2libGUoKSBiZWluZyBh
biBhc3luY2hyb25vdXMgb3BlcmF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzYwMzQKKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9u
LgorCisgICAgICAgIFdpdGggRE9NIHJlbmRlcmluZyBpbiB0aGUgR1BVIFByb2Nlc3MsIG1hcmtM
YXllcnNWb2xhdGlsZUltbWVkaWF0ZWx5SWZQb3NzaWJsZSgpIHdpbGwgbmVlZAorICAgICAgICB0
byBkbyBJUEMgdG8gbWFyayBzdXJmYWNlcyB2b2xhdGlsZSwgYW5kIHdlIHdhbnQgdGhhdCB0byBi
ZSBhc3luYyBJUEMuIFNvIGNoYW5nZSB0aGUgcGx1bWJpbmcgZnJvbQorICAgICAgICBXZWJQYWdl
IHRvIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbiB0byBiZSBjYWxsYmFjay1iYXNl
ZCwgd2l0aCBhIGNvbXBsZXRpb24gaGFuZGxlci4KKworICAgICAgICAqIFNoYXJlZC9SZW1vdGVM
YXllclRyZWUvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmg6CisgICAgICAgICog
U2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24u
bW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6
dHJ5TWFya0FsbEJhY2tpbmdTdG9yZVZvbGF0aWxlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYXJrQWxsQmFja2luZ1N0b3JlVm9sYXRpbGVJ
bW1lZGlhdGVseUlmUG9zc2libGUpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9EcmF3aW5nQXJlYS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhOjp0cnlN
YXJrTGF5ZXJzVm9sYXRpbGUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5n
QXJlYS5oOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYTo6bWFya0xheWVyc1ZvbGF0aWxl
SW1tZWRpYXRlbHlJZlBvc3NpYmxlKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYS5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWE6OnRyeU1hcmtMYXllcnNWb2xhdGlsZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhOjptYXJrTGF5ZXJzVm9sYXRpbGVJbW1lZGlhdGVseUlmUG9zc2libGUp
OiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dHJ5TWFya0xheWVyc1ZvbGF0aWxlKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZTo6bGF5ZXJWb2xhdGlsaXR5VGltZXJGaXJlZCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6Om1hcmtMYXllcnNWb2xhdGlsZSk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6Om1hcmtMYXllcnNWb2xhdGlsZU9yUmV0cnkpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlOjp0cnlNYXJrTGF5ZXJzVm9sYXRpbGVDb21wbGV0aW9uSGFuZGxlcik6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2U6Om1hcmtMYXllcnNWb2xhdGlsZUltbWVkaWF0ZWx5SWZQb3NzaWJsZSk6
IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKwogMjAy
Mi0wMi0wMSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBTaGFyZSBtb3JlIFdlYlBhZ2UgY29kZSByZWxhdGVkIHRvIG1hcmtpbmcgbGF5ZXJzIHZvbGF0
aWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9S
ZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmgKaW5kZXgg
ZmQ4MTM2MGEwMTVkOGNiYWU1NTE3MjhjNmUzZmE3ZWVjMTMyNTRhNS4uOGUwZmE0NzdkNDI3YWY2
M2VkN2VjNDYyMTdmNDI4ZDM1MjM0YWYyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllckJhY2tp
bmdTdG9yZUNvbGxlY3Rpb24uaApAQCAtNTIsOCArNTIsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB3
aWxsQ29tbWl0TGF5ZXJUcmVlKFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uJik7CiAgICAgdm9p
ZCBkaWRGbHVzaExheWVycygpOwogCi0gICAgdm9pZCB2b2xhdGlsaXR5VGltZXJGaXJlZCgpOwot
ICAgIGJvb2wgbWFya0FsbEJhY2tpbmdTdG9yZVZvbGF0aWxlSW1tZWRpYXRlbHlJZlBvc3NpYmxl
KCk7CisgICAgdm9pZCB0cnlNYXJrQWxsQmFja2luZ1N0b3JlVm9sYXRpbGUoQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChib29sKT4mJik7CiAKICAgICB2b2lkIHNjaGVkdWxlVm9sYXRpbGl0eVRpbWVy
KCk7CiAKQEAgLTY1LDYgKzY0LDggQEAgcHJpdmF0ZToKICAgICBib29sIG1hcmtCYWNraW5nU3Rv
cmVWb2xhdGlsZUltbWVkaWF0ZWx5KFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiwgVm9sYXRpbGl0
eU1hcmtpbmdGbGFncyA9IDApOwogICAgIGJvb2wgbWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKFJl
bW90ZUxheWVyQmFja2luZ1N0b3JlJiwgTW9ub3RvbmljVGltZSBub3cpOwogCisgICAgdm9pZCB2
b2xhdGlsaXR5VGltZXJGaXJlZCgpOworCiAgICAgSGFzaFNldDxSZW1vdGVMYXllckJhY2tpbmdT
dG9yZSo+IG1fbGl2ZUJhY2tpbmdTdG9yZTsKICAgICBIYXNoU2V0PFJlbW90ZUxheWVyQmFja2lu
Z1N0b3JlKj4gbV91bnBhcmVudGVkQmFja2luZ1N0b3JlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xs
ZWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxh
eWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbQppbmRleCBhZjUzNGFjMGIxYjE4YmYyMDk3NGUx
ZTNjOWIzMjAxZDRjNmI5N2FhLi5jOTNlMWIwMzAzMTk1NDgyMDUzNTA3YTQ3NzMyYmIyMzg1NzFl
N2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0K
QEAgLTE0OSw3ICsxNDksNyBAQCB2b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlv
bjo6YmFja2luZ1N0b3JlQmVjYW1lVW5yZWFjaGFibGUoUmVtb3RlTGF5ZQogICAgIG1hcmtCYWNr
aW5nU3RvcmVWb2xhdGlsZUltbWVkaWF0ZWx5KGJhY2tpbmdTdG9yZSk7CiB9CiAKLWJvb2wgUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYXJrQWxsQmFja2luZ1N0b3JlVm9sYXRp
bGVJbW1lZGlhdGVseUlmUG9zc2libGUoKQordm9pZCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNv
bGxlY3Rpb246OnRyeU1hcmtBbGxCYWNraW5nU3RvcmVWb2xhdGlsZShDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGJvb2wgc3VjY2Vzc2Z1
bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxlID0gdHJ1ZTsKIApAQCAtMTU5LDcgKzE1OSw3IEBA
IGJvb2wgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYXJrQWxsQmFja2luZ1N0
b3JlVm9sYXRpbGVJbW1lZGlhdGVseUlmCiAgICAgZm9yIChjb25zdCBhdXRvJiBiYWNraW5nU3Rv
cmUgOiBtX3VucGFyZW50ZWRCYWNraW5nU3RvcmUpCiAgICAgICAgIHN1Y2Nlc3NmdWxseU1hZGVC
YWNraW5nU3RvcmVWb2xhdGlsZSAmPSBtYXJrQmFja2luZ1N0b3JlVm9sYXRpbGVJbW1lZGlhdGVs
eSgqYmFja2luZ1N0b3JlLCBNYXJrQnVmZmVyc0lnbm9yaW5nUmVhY2hhYmlsaXR5KTsKIAotICAg
IHJldHVybiBzdWNjZXNzZnVsbHlNYWRlQmFja2luZ1N0b3JlVm9sYXRpbGU7CisgICAgY29tcGxl
dGlvbkhhbmRsZXIoc3VjY2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxlKTsKIH0KIAog
dm9pZCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246OnZvbGF0aWxpdHlUaW1lckZp
cmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdp
bmdBcmVhLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVh
LmNwcAppbmRleCBkMWQyZGI4YzBmMWRjYjAzMzc1M2I5ZjQ1ZmY4Njk4NGE3ODkwMDkzLi5kYjJl
NWQ2ODZlNmZmZmY4ZjUyOTk5MDNjNGQ0MmZiM2E2NDYwN2FjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuY3BwCkBAIC04OSw2ICs4OSwxMSBA
QCB2b2lkIERyYXdpbmdBcmVhOjpkaXNwYXRjaEFmdGVyRW5zdXJpbmdVcGRhdGVkU2Nyb2xsUG9z
aXRpb24oV1RGOjpGdW5jdGlvbjx2b2lkCiAgICAgZnVuY3Rpb24oKTsKIH0KIAordm9pZCBEcmF3
aW5nQXJlYTo6dHJ5TWFya0xheWVyc1ZvbGF0aWxlKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9v
bCk+JiYgY29tcGxldGlvbkZ1bmN0aW9uKQoreworICAgIGNvbXBsZXRpb25GdW5jdGlvbih0cnVl
KTsKK30KKwogdm9pZCBEcmF3aW5nQXJlYTo6cmVtb3ZlTWVzc2FnZVJlY2VpdmVySWZOZWVkZWQo
KQogewogICAgIGlmIChtX2hhc1JlbW92ZWRNZXNzYWdlUmVjZWl2ZXIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaAppbmRleCAyOWQ5OWFhZjk1MmI3
MzFlOWIwMjM1YWExMTNhY2FlOGQ5ZDVmZWE4Li4yMWQ0NjU4YzZjNTJmZGQxNTQ0NDU2NWI5MTgx
ZWVjMGU2YWIwMDM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9EcmF3aW5nQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Ry
YXdpbmdBcmVhLmgKQEAgLTEyMyw3ICsxMjMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IGFjdGl2aXR5U3RhdGVEaWRDaGFuZ2UoT3B0aW9uU2V0PFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6
OkZsYWc+LCBBY3Rpdml0eVN0YXRlQ2hhbmdlSUQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4m
JiBjb21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcigpOyB9OwogICAgIHZpcnR1
YWwgdm9pZCBzZXRMYXllckhvc3RpbmdNb2RlKExheWVySG9zdGluZ01vZGUpIHsgfQogCi0gICAg
dmlydHVhbCBib29sIG1hcmtMYXllcnNWb2xhdGlsZUltbWVkaWF0ZWx5SWZQb3NzaWJsZSgpIHsg
cmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIHZvaWQgdHJ5TWFya0xheWVyc1ZvbGF0aWxlKENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogCiAgICAgdmlydHVhbCB2b2lkIGF0dGFj
aFZpZXdPdmVybGF5R3JhcGhpY3NMYXllcihXZWJDb3JlOjpHcmFwaGljc0xheWVyKikgeyB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1JlbW90ZUxheWVy
VHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLmgK
aW5kZXggOWQ5YTAzZjZhZGJlYjgzMjExNzdiZjI4ODg1MTk0Yjg2MDNiMDM1MC4uMDNkYTBiZmFl
NmFkNDMzZDBjNDZkMTRjZWRhN2RkZDA5OGEzN2U5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5
ZXJUcmVlL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLmgKQEAgLTEyMSw5ICsxMjEsOSBAQCBw
cml2YXRlOgogCiAgICAgVHJhbnNhY3Rpb25JRCB0YWtlTmV4dFRyYW5zYWN0aW9uSUQoKSB7IHJl
dHVybiBtX2N1cnJlbnRUcmFuc2FjdGlvbklELmluY3JlbWVudCgpOyB9CiAKLSAgICBib29sIG1h
cmtMYXllcnNWb2xhdGlsZUltbWVkaWF0ZWx5SWZQb3NzaWJsZSgpIG92ZXJyaWRlOworICAgIHZv
aWQgdHJ5TWFya0xheWVyc1ZvbGF0aWxlKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCBzdWNj
ZWVkZWQpPiYmKSBmaW5hbDsKIAotICAgIHZvaWQgYWRvcHRMYXllcnNGcm9tRHJhd2luZ0FyZWEo
RHJhd2luZ0FyZWEmKSBvdmVycmlkZTsKKyAgICB2b2lkIGFkb3B0TGF5ZXJzRnJvbURyYXdpbmdB
cmVhKERyYXdpbmdBcmVhJikgZmluYWw7CiAKICAgICBjbGFzcyBCYWNraW5nU3RvcmVGbHVzaGVy
IDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPEJhY2tpbmdTdG9yZUZsdXNoZXI+IHsKICAg
ICBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9S
ZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWEubW0KaW5kZXggNTY0ODg5MmVhOGM1NDExOWM2Mjg3MDc1ZGE0YzkxZDg5NDUzMzI2
My4uNTY1ZDlmZGNiZjJkMmZmMDkzZTQzZDUwODM2YWU0NDc2MTkzNDI5MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5tbQpAQCAtNDQz
LDkgKzQ0Myw5IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE6Om1haW5GcmFtZUNv
bnRlbnRTaXplQ2hhbmdlZChjb25zdCBJbnRTaXplJiBjb250CiAgICAgbV9yb290TGF5ZXItPnNl
dFNpemUoY29udGVudHNTaXplKTsKIH0KIAotYm9vbCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YTo6bWFya0xheWVyc1ZvbGF0aWxlSW1tZWRpYXRlbHlJZlBvc3NpYmxlKCkKK3ZvaWQgUmVtb3Rl
TGF5ZXJUcmVlRHJhd2luZ0FyZWE6OnRyeU1hcmtMYXllcnNWb2xhdGlsZShDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25GdW5jdGlvbikKIHsKLSAgICByZXR1cm4gbV9y
ZW1vdGVMYXllclRyZWVDb250ZXh0LT5iYWNraW5nU3RvcmVDb2xsZWN0aW9uKCkubWFya0FsbEJh
Y2tpbmdTdG9yZVZvbGF0aWxlSW1tZWRpYXRlbHlJZlBvc3NpYmxlKCk7CisgICAgbV9yZW1vdGVM
YXllclRyZWVDb250ZXh0LT5iYWNraW5nU3RvcmVDb2xsZWN0aW9uKCkudHJ5TWFya0FsbEJhY2tp
bmdTdG9yZVZvbGF0aWxlKFdURk1vdmUoY29tcGxldGlvbkZ1bmN0aW9uKSk7CiB9CiAKIFJlZjxS
ZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYTo6QmFja2luZ1N0b3JlRmx1c2hlcj4gUmVtb3RlTGF5
ZXJUcmVlRHJhd2luZ0FyZWE6OkJhY2tpbmdTdG9yZUZsdXNoZXI6OmNyZWF0ZShJUEM6OkNvbm5l
Y3Rpb24qIGNvbm5lY3Rpb24sIFVuaXF1ZVJlZjxJUEM6OkVuY29kZXI+JiYgZW5jb2RlciwgVmVj
dG9yPHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpUaHJlYWRTYWZlSW1hZ2VCdWZmZXJGbHVzaGVy
Pj4gZmx1c2hlcnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCmluZGV4IDY1NDg1MDc4NjljZWFmNTBkMTg3ZWQ2OTNlNmQ5MTdkMjNmZDAwZjkuLmUyYzAx
NzIyODg0YWY1OGFhN2RmOTBhN2FiZGM0MWJkNGZlNTZjN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0yODE5LDkgKzI4MTksMTQgQEAgdm9p
ZCBXZWJQYWdlOjp1cGRhdGVEcmF3aW5nQXJlYUxheWVyVHJlZUZyZWV6ZVN0YXRlKCkKICAgICBt
X2RyYXdpbmdBcmVhLT5zZXRMYXllclRyZWVTdGF0ZUlzRnJvemVuKCEhbV9sYXllclRyZWVGcmVl
emVSZWFzb25zKTsKIH0KIAotYm9vbCBXZWJQYWdlOjptYXJrTGF5ZXJzVm9sYXRpbGVJbW1lZGlh
dGVseUlmUG9zc2libGUoKQordm9pZCBXZWJQYWdlOjp0cnlNYXJrTGF5ZXJzVm9sYXRpbGUoQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBy
ZXR1cm4gIWRyYXdpbmdBcmVhKCkgfHwgZHJhd2luZ0FyZWEoKS0+bWFya0xheWVyc1ZvbGF0aWxl
SW1tZWRpYXRlbHlJZlBvc3NpYmxlKCk7CisgICAgaWYgKCFkcmF3aW5nQXJlYSgpKSB7CisgICAg
ICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAg
ICAKKyAgICBkcmF3aW5nQXJlYSgpLT50cnlNYXJrTGF5ZXJzVm9sYXRpbGUoV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcikpOwogfQogCiB2b2lkIFdlYlBhZ2U6OmNhbGxWb2xhdGlsaXR5Q29tcGxl
dGlvbkhhbmRsZXJzKGJvb2wgc3VjY2VlZGVkKQpAQCAtMjgzMyw4ICsyODM4LDggQEAgdm9pZCBX
ZWJQYWdlOjpjYWxsVm9sYXRpbGl0eUNvbXBsZXRpb25IYW5kbGVycyhib29sIHN1Y2NlZWRlZCkK
IAogdm9pZCBXZWJQYWdlOjpsYXllclZvbGF0aWxpdHlUaW1lckZpcmVkKCkKIHsKLSAgICBTZWNv
bmRzIG5ld0ludGVydmFsID0gbV9sYXllclZvbGF0aWxpdHlUaW1lci5yZXBlYXRJbnRlcnZhbCgp
ICogMi47Ci0gICAgbWFya0xheWVyc1ZvbGF0aWxlT3JSZXRyeShuZXdJbnRlcnZhbCA+IG1heGlt
dW1MYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsID8gTWFya0xheWVyc1ZvbGF0aWxlRG9udFJl
dHJ5UmVhc29uOjpUaW1lZE91dCA6IE1hcmtMYXllcnNWb2xhdGlsZURvbnRSZXRyeVJlYXNvbjo6
Tm9uZSwgbmV3SW50ZXJ2YWwpOworICAgIG1fbGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbCAq
PSAyOworICAgIG1hcmtMYXllcnNWb2xhdGlsZU9yUmV0cnkobV9sYXllclZvbGF0aWxpdHlUaW1l
ckludGVydmFsID4gbWF4aW11bUxheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWwgPyBNYXJrTGF5
ZXJzVm9sYXRpbGVEb250UmV0cnlSZWFzb246OlRpbWVkT3V0IDogTWFya0xheWVyc1ZvbGF0aWxl
RG9udFJldHJ5UmVhc29uOjpOb25lKTsKIH0KIAogdm9pZCBXZWJQYWdlOjptYXJrTGF5ZXJzVm9s
YXRpbGUoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
QEAgLTI4NDcsMTIgKzI4NTIsMjIgQEAgdm9pZCBXZWJQYWdlOjptYXJrTGF5ZXJzVm9sYXRpbGUo
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGwKICAgICBpZiAo
Y29tcGxldGlvbkhhbmRsZXIpCiAgICAgICAgIG1fbWFya0xheWVyc0FzVm9sYXRpbGVDb21wbGV0
aW9uSGFuZGxlcnMuYXBwZW5kKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIAotICAgIG1h
cmtMYXllcnNWb2xhdGlsZU9yUmV0cnkobV9pc1N1c3BlbmRlZFVuZGVyTG9jayA/IE1hcmtMYXll
cnNWb2xhdGlsZURvbnRSZXRyeVJlYXNvbjo6U3VzcGVuZGVkVW5kZXJMb2NrIDogTWFya0xheWVy
c1ZvbGF0aWxlRG9udFJldHJ5UmVhc29uOjpOb25lLCBpbml0aWFsTGF5ZXJWb2xhdGlsaXR5VGlt
ZXJJbnRlcnZhbCk7CisgICAgbV9sYXllclZvbGF0aWxpdHlUaW1lckludGVydmFsID0gaW5pdGlh
bExheWVyVm9sYXRpbGl0eVRpbWVySW50ZXJ2YWw7CisgICAgbWFya0xheWVyc1ZvbGF0aWxlT3JS
ZXRyeShtX2lzU3VzcGVuZGVkVW5kZXJMb2NrID8gTWFya0xheWVyc1ZvbGF0aWxlRG9udFJldHJ5
UmVhc29uOjpTdXNwZW5kZWRVbmRlckxvY2sgOiBNYXJrTGF5ZXJzVm9sYXRpbGVEb250UmV0cnlS
ZWFzb246Ok5vbmUpOwogfQogCi12b2lkIFdlYlBhZ2U6Om1hcmtMYXllcnNWb2xhdGlsZU9yUmV0
cnkoTWFya0xheWVyc1ZvbGF0aWxlRG9udFJldHJ5UmVhc29uIGRvbnRSZXRyeVJlYXNvbiwgU2Vj
b25kcyB0aW1lckludGVydmFsKQordm9pZCBXZWJQYWdlOjptYXJrTGF5ZXJzVm9sYXRpbGVPclJl
dHJ5KE1hcmtMYXllcnNWb2xhdGlsZURvbnRSZXRyeVJlYXNvbiBkb250UmV0cnlSZWFzb24pCiB7
Ci0gICAgYm9vbCBkaWRTdWNjZWVkID0gbWFya0xheWVyc1ZvbGF0aWxlSW1tZWRpYXRlbHlJZlBv
c3NpYmxlKCk7CisgICAgdHJ5TWFya0xheWVyc1ZvbGF0aWxlKFtkb250UmV0cnlSZWFzb24sIHN0
cm9uZ1RoaXMgPSBSZWYgeyAqdGhpcyB9XShib29sIGRpZFN1Y2NlZWQpIHsKKyAgICAgICAgc3Ry
b25nVGhpcy0+dHJ5TWFya0xheWVyc1ZvbGF0aWxlQ29tcGxldGlvbkhhbmRsZXIoZG9udFJldHJ5
UmVhc29uLCBkaWRTdWNjZWVkKTsKKyAgICB9KTsKK30KKwordm9pZCBXZWJQYWdlOjp0cnlNYXJr
TGF5ZXJzVm9sYXRpbGVDb21wbGV0aW9uSGFuZGxlcihNYXJrTGF5ZXJzVm9sYXRpbGVEb250UmV0
cnlSZWFzb24gZG9udFJldHJ5UmVhc29uLCBib29sIGRpZFN1Y2NlZWQpCit7CisgICAgaWYgKG1f
aXNDbG9zZWQpCisgICAgICAgIHJldHVybjsKKwogICAgIGlmIChkaWRTdWNjZWVkIHx8IGRvbnRS
ZXRyeVJlYXNvbiAhPSBNYXJrTGF5ZXJzVm9sYXRpbGVEb250UmV0cnlSZWFzb246Ok5vbmUpIHsK
ICAgICAgICAgbV9sYXllclZvbGF0aWxpdHlUaW1lci5zdG9wKCk7CiAgICAgICAgIGlmIChkaWRT
dWNjZWVkKQpAQCAtMjg3Myw4ICsyODg4LDggQEAgdm9pZCBXZWJQYWdlOjptYXJrTGF5ZXJzVm9s
YXRpbGVPclJldHJ5KE1hcmtMYXllcnNWb2xhdGlsZURvbnRSZXRyeVJlYXNvbiBkb250UmUKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFdFQlBBR0VfUkVMRUFTRV9MT0coTGF5ZXJzLCAi
bWFya0xheWVyc1ZvbGF0aWxlOiBGYWlsZWQgdG8gbWFyayBhbGwgbGF5ZXJzIGFzIHZvbGF0aWxl
LCB3aWxsIHJldHJ5IGluICVnIG1zIiwgdGltZXJJbnRlcnZhbC5taWxsaXNlY29uZHMoKSk7Ci0g
ICAgbV9sYXllclZvbGF0aWxpdHlUaW1lci5zdGFydFJlcGVhdGluZyh0aW1lckludGVydmFsKTsK
KyAgICBXRUJQQUdFX1JFTEVBU0VfTE9HKExheWVycywgIm1hcmtMYXllcnNWb2xhdGlsZTogRmFp
bGVkIHRvIG1hcmsgYWxsIGxheWVycyBhcyB2b2xhdGlsZSwgd2lsbCByZXRyeSBpbiAlZyBtcyIs
IG1fbGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbC5taWxsaXNlY29uZHMoKSk7CisgICAgbV9s
YXllclZvbGF0aWxpdHlUaW1lci5zdGFydE9uZVNob3QobV9sYXllclZvbGF0aWxpdHlUaW1lcklu
dGVydmFsKTsKIH0KIAogdm9pZCBXZWJQYWdlOjpjYW5jZWxNYXJrTGF5ZXJzVm9sYXRpbGUoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDY3ZDQ4ZmVk
Mjk5NWJjMWExMTcxYTllOTk1YTZhN2I2ZTc5NTAxNzAuLjdlYzZmNGFlMzYzZmJhODExMWFhM2Q1
N2I4OTAzMTJmODdkYmFlOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmgKQEAgLTE1ODksMTIgKzE1ODksMTQgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgdXBk
YXRlRHJhd2luZ0FyZWFMYXllclRyZWVGcmVlemVTdGF0ZSgpOwogCi0gICAgYm9vbCBtYXJrTGF5
ZXJzVm9sYXRpbGVJbW1lZGlhdGVseUlmUG9zc2libGUoKTsKICAgICBlbnVtIGNsYXNzIE1hcmtM
YXllcnNWb2xhdGlsZURvbnRSZXRyeVJlYXNvbiA6IHVpbnQ4X3QgeyBOb25lLCBTdXNwZW5kZWRV
bmRlckxvY2ssIFRpbWVkT3V0IH07Ci0gICAgdm9pZCBtYXJrTGF5ZXJzVm9sYXRpbGVPclJldHJ5
KE1hcmtMYXllcnNWb2xhdGlsZURvbnRSZXRyeVJlYXNvbiwgU2Vjb25kcyB0aW1lckludGVydmFs
KTsKKyAgICB2b2lkIG1hcmtMYXllcnNWb2xhdGlsZU9yUmV0cnkoTWFya0xheWVyc1ZvbGF0aWxl
RG9udFJldHJ5UmVhc29uKTsKICAgICB2b2lkIGxheWVyVm9sYXRpbGl0eVRpbWVyRmlyZWQoKTsK
ICAgICB2b2lkIGNhbGxWb2xhdGlsaXR5Q29tcGxldGlvbkhhbmRsZXJzKGJvb2wgc3VjY2VlZGVk
KTsKIAorICAgIHZvaWQgdHJ5TWFya0xheWVyc1ZvbGF0aWxlKENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoYm9vbCk+JiYpOworICAgIHZvaWQgdHJ5TWFya0xheWVyc1ZvbGF0aWxlQ29tcGxldGlvbkhh
bmRsZXIoTWFya0xheWVyc1ZvbGF0aWxlRG9udFJldHJ5UmVhc29uLCBib29sIGRpZFN1Y2NlZWQp
OworCiAgICAgU3RyaW5nIHNvdXJjZUZvckZyYW1lKFdlYkZyYW1lKik7CiAKICAgICB2b2lkIGxv
YWREYXRhSW1wbCh1aW50NjRfdCBuYXZpZ2F0aW9uSUQsIFdlYkNvcmU6OlNob3VsZFRyZWF0QXND
b250aW51aW5nTG9hZCwgc3RkOjpvcHRpb25hbDxXZWJzaXRlUG9saWNpZXNEYXRhPiYmLCBSZWY8
V2ViQ29yZTo6RnJhZ21lbnRlZFNoYXJlZEJ1ZmZlcj4mJiwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JiYsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiwgY29uc3QgVVJMJiBmYWlsaW5nVVJM
LCBjb25zdCBVc2VyRGF0YSYsIHN0ZDo6b3B0aW9uYWw8TmF2aWdhdGluZ1RvQXBwQm91bmREb21h
aW4+LCBXZWJDb3JlOjpTdWJzdGl0dXRlRGF0YTo6U2Vzc2lvbkhpc3RvcnlWaXNpYmlsaXR5LCBX
ZWJDb3JlOjpTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5ID0gV2ViQ29yZTo6U2hvdWxkT3Bl
bkV4dGVybmFsVVJMc1BvbGljeTo6U2hvdWxkTm90QWxsb3cpOwpAQCAtMjI4OSw2ICsyMjkxLDcg
QEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAgV2ViQ29yZTo6VGltZXIgbV9sYXllclZvbGF0aWxp
dHlUaW1lcjsKKyAgICBTZWNvbmRzIG1fbGF5ZXJWb2xhdGlsaXR5VGltZXJJbnRlcnZhbDsKICAg
ICBWZWN0b3I8Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4+IG1fbWFya0xheWVyc0FzVm9s
YXRpbGVDb21wbGV0aW9uSGFuZGxlcnM7CiAgICAgYm9vbCBtX2lzU3VzcGVuZGVkVW5kZXJMb2Nr
IHsgZmFsc2UgfTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>450963</attachid>
            <date>2022-02-04 19:00:15 -0800</date>
            <delta_ts>2022-02-05 11:46:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236040-20220204190014.patch</filename>
            <type>text/plain</type>
            <size>10338</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNmNjdmMGYzNDRmOWM4MjNj
NzNkMmVlNzc1YTBmYzVkOTg2MmUwYWYuLmVlMjQ0M2M3M2E4ZDA5ZmMxMjc3NDU5NWVjYjQ1NjRj
OTMzNzk5MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMjItMDItMDIgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmVmYWN0b3IgUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uIHRvIGhhdmUgYSBzaW5nbGUgYmFja2luZyBzdG9y
ZSB0cmF2ZXJzYWwgZnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzNjA0MAorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisK
KyAgICAgICAgSW5zdGVhZCBvZiB0cmF2ZXJzaW5nIG1fbGl2ZUJhY2tpbmdTdG9yZSBhbmQgbV91
bnBhcmVudGVkQmFja2luZ1N0b3JlIGluIHR3byBwbGFjZXMgKGZyb20gdGhlIHZvbGF0aWxpdHlU
aW1lckZpcmVkKCkKKyAgICAgICAgYW5kIGZyb20gdHJ5TWFya0FsbEJhY2tpbmdTdG9yZVZvbGF0
aWxlKCkpLCBmYWN0b3IgaW50byBhIHNpbmdsZSBmdW5jdGlvbiB3aXRoIHR3byBiZWhhdmlvciBm
bGFncy4KKworICAgICAgICBBbHNvIG1ha2UgVm9sYXRpbGl0eU1hcmtpbmdGbGFncyBhbiBPcHRp
b25TZXQ8PiBhbmQgYWRkIGFuIG9wdGlvbiB0byBjb25zaWRlciBsYXN0IGRpc3BsYXkgdGltZS4K
KworICAgICAgICAqIFNoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJCYWNraW5nU3Rv
cmUuaDoKKyAgICAgICAgKiBTaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2lu
Z1N0b3JlLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6UmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmUpOgorICAgICAgICAqIFNoYXJlZC9SZW1vdGVMYXllclRyZWUv
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmg6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxl
KToKKyAgICAgICAgKiBTaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2luZ1N0
b3JlQ29sbGVjdGlvbi5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3Rv
cmVDb2xsZWN0aW9uOjptYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUpOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246OmJhY2tpbmdTdG9yZUJlY2FtZVVu
cmVhY2hhYmxlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xs
ZWN0aW9uOjptYXJrQWxsQmFja2luZ1N0b3JlVm9sYXRpbGUpOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246OnRyeU1hcmtBbGxCYWNraW5nU3RvcmVW
b2xhdGlsZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVj
dGlvbjo6dm9sYXRpbGl0eVRpbWVyRmlyZWQpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXll
ckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZUltbWVkaWF0
ZWx5KTogRGVsZXRlZC4KKwogMjAyMi0wMi0wMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2Vy
QGFwcGxlLmNvbT4KIAogICAgICAgICBMYXkgdGhlIGdyb3VuZHdvcmsgZm9yIG1hcmtMYXllcnNW
b2xhdGlsZUltbWVkaWF0ZWx5SWZQb3NzaWJsZSgpIGJlaW5nIGFuIGFzeW5jaHJvbm91cyBvcGVy
YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9S
ZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5
ZXJUcmVlL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmgKaW5kZXggMDYyZDg2OGI5OTAzZTU5N2Fj
YTcxOTI2MTI3YWUzYzRkZjkyMTlmZC4uY2ZkOTQ1YzFkYTNkN2QxZGY4N2ZiZGZiMmQ0YTU1MmEx
NGMwZGIzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVl
L1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUmVt
b3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmgKQEAgLTExMyw4ICsxMTMsOCBA
QCBwcml2YXRlOgogICAgIFBsYXRmb3JtQ0FMYXllclJlbW90ZSogbV9sYXllcjsKIAogICAgIFdl
YkNvcmU6OkZsb2F0U2l6ZSBtX3NpemU7Ci0gICAgZmxvYXQgbV9zY2FsZTsKLSAgICBib29sIG1f
aXNPcGFxdWU7CisgICAgZmxvYXQgbV9zY2FsZSB7IDEuMGYgfTsKKyAgICBib29sIG1faXNPcGFx
dWUgeyBmYWxzZSB9OwogCiAgICAgV2ViQ29yZTo6UmVnaW9uIG1fZGlydHlSZWdpb247CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXll
ckJhY2tpbmdTdG9yZS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9S
ZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQppbmRleCAzYzk1MjU0Njk0MGE4ZDVhM2YxNDI2Y2Y1
ZjA5OGVjOTFiMmYwMzMyLi44YWZmZWU1NTk5NzFkMzE2YWQ1OTcyZjY5OGQwYmQ4ODU2ZDIwYTI5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmUubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5
ZXJUcmVlL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tCkBAIC01Nyw3ICs1Nyw2IEBAIG5hbWVz
cGFjZSBXZWJLaXQgewogCiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6UmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmUoUGxhdGZvcm1DQUxheWVyUmVtb3RlKiBsYXllcikKICAgICA6IG1fbGF5ZXIobGF5
ZXIpCi0gICAgLCBtX2lzT3BhcXVlKGZhbHNlKQogICAgICwgbV9sYXN0RGlzcGxheVRpbWUoLU1v
bm90b25pY1RpbWU6OmluZmluaXR5KCkpCiB7CiAgICAgaWYgKCFtX2xheWVyKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2lu
Z1N0b3JlQ29sbGVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVl
L1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oCmluZGV4IDhlMGZhNDc3ZDQyN2Fm
NjNlZDdlYzQ2MjE3ZjQyOGQzNTIzNGFmMjUuLjkzNGFmNWE2NGE4M2IxZGJlMzM4MTUxOWY2NzMx
NjMwMjYzZWZkMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVy
VHJlZS9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0
aW9uLmgKQEAgLTU3LDEzICs1NywxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzY2hlZHVsZVZvbGF0
aWxpdHlUaW1lcigpOwogCiBwcml2YXRlOgotICAgIGVudW0gVm9sYXRpbGl0eU1hcmtpbmdGbGFn
IHsKLSAgICAgICAgTWFya0J1ZmZlcnNJZ25vcmluZ1JlYWNoYWJpbGl0eSA9IDEgPDwgMAorICAg
IGVudW0gY2xhc3MgVm9sYXRpbGl0eU1hcmtpbmdCZWhhdmlvciA6IHVpbnQ4X3QgeworICAgICAg
ICBJZ25vcmVSZWFjaGFiaWxpdHkgICAgICAgICAgICAgID0gMSA8PCAwLAorICAgICAgICBDb25z
aWRlclRpbWVTaW5jZUxhc3REaXNwbGF5ICAgID0gMSA8PCAxLAogICAgIH07Ci0gICAgdHlwZWRl
ZiB1bnNpZ25lZCBWb2xhdGlsaXR5TWFya2luZ0ZsYWdzOwotICAgIGJvb2wgbWFya0JhY2tpbmdT
dG9yZVZvbGF0aWxlSW1tZWRpYXRlbHkoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmLCBWb2xhdGls
aXR5TWFya2luZ0ZsYWdzID0gMCk7Ci0gICAgYm9vbCBtYXJrQmFja2luZ1N0b3JlVm9sYXRpbGUo
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmLCBNb25vdG9uaWNUaW1lIG5vdyk7CisgICAgYm9vbCBt
YXJrQmFja2luZ1N0b3JlVm9sYXRpbGUoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmLCBPcHRpb25T
ZXQ8Vm9sYXRpbGl0eU1hcmtpbmdCZWhhdmlvcj4gPSB7IH0sIE1vbm90b25pY1RpbWUgPSB7IH0p
OwogCisgICAgYm9vbCBtYXJrQWxsQmFja2luZ1N0b3JlVm9sYXRpbGUoT3B0aW9uU2V0PFZvbGF0
aWxpdHlNYXJraW5nQmVoYXZpb3I+IGxpdmVCYWNraW5nU3RvcmVNYXJraW5nQmVoYXZpb3IsIE9w
dGlvblNldDxWb2xhdGlsaXR5TWFya2luZ0JlaGF2aW9yPiB1bnBhcmVudGVkQmFja2luZ1N0b3Jl
TWFya2luZ0JlaGF2aW9yKTsKICAgICB2b2lkIHZvbGF0aWxpdHlUaW1lckZpcmVkKCk7CiAKICAg
ICBIYXNoU2V0PFJlbW90ZUxheWVyQmFja2luZ1N0b3JlKj4gbV9saXZlQmFja2luZ1N0b3JlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxh
eWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90
ZUxheWVyVHJlZS9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KaW5kZXggYzkz
ZTFiMDMwMzE5NTQ4MjA1MzUwN2E0NzczMmJiMjM4NTcxZTdjMS4uZDI3YzU0OTQyYTM5MzQyOWZm
ZWIwMmVlMmFkMTZiNDcxODIxMWIwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQv
UmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmVDb2xsZWN0aW9uLm1tCkBAIC0xMDEsOSArMTAxLDIwIEBAIGJvb2wgUmVtb3RlTGF5ZXJC
YWNraW5nU3RvcmVDb2xsZWN0aW9uOjpiYWNraW5nU3RvcmVXaWxsQmVEaXNwbGF5ZWQoUmVtb3Rl
TGF5ZXJCCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgUmVtb3RlTGF5ZXJCYWNraW5nU3Rv
cmVDb2xsZWN0aW9uOjptYXJrQmFja2luZ1N0b3JlVm9sYXRpbGVJbW1lZGlhdGVseShSZW1vdGVM
YXllckJhY2tpbmdTdG9yZSYgYmFja2luZ1N0b3JlLCBWb2xhdGlsaXR5TWFya2luZ0ZsYWdzIHZv
bGF0aWxpdHlNYXJraW5nRmxhZ3MpCitib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVj
dGlvbjo6bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiBi
YWNraW5nU3RvcmUsIE9wdGlvblNldDxWb2xhdGlsaXR5TWFya2luZ0JlaGF2aW9yPiBtYXJraW5n
QmVoYXZpb3IsIE1vbm90b25pY1RpbWUgbm93KQogewogICAgIEFTU0VSVCghbV9pbkxheWVyRmx1
c2gpOworCisgICAgaWYgKG1hcmtpbmdCZWhhdmlvci5jb250YWlucyhWb2xhdGlsaXR5TWFya2lu
Z0JlaGF2aW9yOjpDb25zaWRlclRpbWVTaW5jZUxhc3REaXNwbGF5KSkgeworICAgICAgICBhdXRv
IHRpbWVTaW5jZUxhc3REaXNwbGF5ID0gbm93IC0gYmFja2luZ1N0b3JlLmxhc3REaXNwbGF5VGlt
ZSgpOworICAgICAgICBpZiAodGltZVNpbmNlTGFzdERpc3BsYXkgPCB2b2xhdGlsZUJhY2tpbmdT
dG9yZUFnZVRocmVzaG9sZCkgeworICAgICAgICAgICAgaWYgKHRpbWVTaW5jZUxhc3REaXNwbGF5
ID49IHZvbGF0aWxlU2Vjb25kYXJ5QmFja2luZ1N0b3JlQWdlVGhyZXNob2xkKQorICAgICAgICAg
ICAgICAgIGJhY2tpbmdTdG9yZS5zZXRCdWZmZXJWb2xhdGlsaXR5KFJlbW90ZUxheWVyQmFja2lu
Z1N0b3JlOjpCdWZmZXJUeXBlOjpTZWNvbmRhcnlCYWNrLCB0cnVlKTsKKworICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgfQorICAgIAogICAgIGJvb2wgc3VjY2Vzc2Z1
bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxlID0gdHJ1ZTsKIAogICAgIGlmICghYmFja2luZ1N0
b3JlLnNldEJ1ZmZlclZvbGF0aWxpdHkoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OkJ1ZmZlclR5
cGU6OlNlY29uZGFyeUJhY2ssIHRydWUpKQpAQCAtMTEyLDcgKzEyMyw3IEBAIGJvb2wgUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYXJrQmFja2luZ1N0b3JlVm9sYXRpbGVJbW1l
ZGlhdGVseShSZW1vCiAgICAgaWYgKCFiYWNraW5nU3RvcmUuc2V0QnVmZmVyVm9sYXRpbGl0eShS
ZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6QnVmZmVyVHlwZTo6QmFjaywgdHJ1ZSkpCiAgICAgICAg
IHN1Y2Nlc3NmdWxseU1hZGVCYWNraW5nU3RvcmVWb2xhdGlsZSA9IGZhbHNlOwogCi0gICAgaWYg
KCFtX3JlYWNoYWJsZUJhY2tpbmdTdG9yZUluTGF0ZXN0Rmx1c2guY29udGFpbnMoJmJhY2tpbmdT
dG9yZSkgfHwgKHZvbGF0aWxpdHlNYXJraW5nRmxhZ3MgJiBNYXJrQnVmZmVyc0lnbm9yaW5nUmVh
Y2hhYmlsaXR5KSkgeworICAgIGlmICghbV9yZWFjaGFibGVCYWNraW5nU3RvcmVJbkxhdGVzdEZs
dXNoLmNvbnRhaW5zKCZiYWNraW5nU3RvcmUpIHx8IG1hcmtpbmdCZWhhdmlvci5jb250YWlucyhW
b2xhdGlsaXR5TWFya2luZ0JlaGF2aW9yOjpJZ25vcmVSZWFjaGFiaWxpdHkpKSB7CiAgICAgICAg
IGlmICghYmFja2luZ1N0b3JlLnNldEJ1ZmZlclZvbGF0aWxpdHkoUmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmU6OkJ1ZmZlclR5cGU6OkZyb250LCB0cnVlKSkKICAgICAgICAgICAgIHN1Y2Nlc3NmdWxs
eU1hZGVCYWNraW5nU3RvcmVWb2xhdGlsZSA9IGZhbHNlOwogICAgIH0KQEAgLTEyMCwxOSArMTMx
LDYgQEAgYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5n
U3RvcmVWb2xhdGlsZUltbWVkaWF0ZWx5KFJlbW8KICAgICByZXR1cm4gc3VjY2Vzc2Z1bGx5TWFk
ZUJhY2tpbmdTdG9yZVZvbGF0aWxlOwogfQogCi1ib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Q29sbGVjdGlvbjo6bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0
b3JlJiBiYWNraW5nU3RvcmUsIE1vbm90b25pY1RpbWUgbm93KQotewotICAgIGF1dG8gdGltZVNp
bmNlTGFzdERpc3BsYXkgPSBub3cgLSBiYWNraW5nU3RvcmUubGFzdERpc3BsYXlUaW1lKCk7Ci0g
ICAgaWYgKHRpbWVTaW5jZUxhc3REaXNwbGF5IDwgdm9sYXRpbGVCYWNraW5nU3RvcmVBZ2VUaHJl
c2hvbGQpIHsKLSAgICAgICAgaWYgKHRpbWVTaW5jZUxhc3REaXNwbGF5ID49IHZvbGF0aWxlU2Vj
b25kYXJ5QmFja2luZ1N0b3JlQWdlVGhyZXNob2xkKQotICAgICAgICAgICAgYmFja2luZ1N0b3Jl
LnNldEJ1ZmZlclZvbGF0aWxpdHkoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OkJ1ZmZlclR5cGU6
OlNlY29uZGFyeUJhY2ssIHRydWUpOwotCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0g
ICAgCi0gICAgcmV0dXJuIG1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZUltbWVkaWF0ZWx5KGJhY2tp
bmdTdG9yZSk7Ci19Ci0KIHZvaWQgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjpi
YWNraW5nU3RvcmVCZWNhbWVVbnJlYWNoYWJsZShSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYgYmFj
a2luZ1N0b3JlKQogewogICAgIEFTU0VSVChiYWNraW5nU3RvcmUubGF5ZXIoKSk7CkBAIC0xNDYs
MzMgKzE0NCwzMiBAQCB2b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6YmFj
a2luZ1N0b3JlQmVjYW1lVW5yZWFjaGFibGUoUmVtb3RlTGF5ZQogCiAgICAgLy8gVGhpcyB3aWxs
IG5vdCBzdWNjZWVkIGluIG1hcmtpbmcgYWxsIGJ1ZmZlcnMgYXMgdm9sYXRpbGUsIGJlY2F1c2Ug
dGhlIGNvbW1pdCB1bnBhcmVudGluZyB0aGUgbGF5ZXIgaGFzbid0CiAgICAgLy8gbWFkZSBpdCB0
byB0aGUgVUkgcHJvY2VzcyB5ZXQuIFRoZSB2b2xhdGlsaXR5IHRpbWVyIHdpbGwgZmluaXNoIG1h
cmtpbmcgdGhlIHJlbWFpbmluZyBidWZmZXJzIGxhdGVyLgotICAgIG1hcmtCYWNraW5nU3RvcmVW
b2xhdGlsZUltbWVkaWF0ZWx5KGJhY2tpbmdTdG9yZSk7CisgICAgbWFya0JhY2tpbmdTdG9yZVZv
bGF0aWxlKGJhY2tpbmdTdG9yZSk7CiB9CiAKLXZvaWQgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVD
b2xsZWN0aW9uOjp0cnlNYXJrQWxsQmFja2luZ1N0b3JlVm9sYXRpbGUoQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK2Jvb2wgUmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmVDb2xsZWN0aW9uOjptYXJrQWxsQmFja2luZ1N0b3JlVm9sYXRpbGUoT3B0aW9uU2V0
PFZvbGF0aWxpdHlNYXJraW5nQmVoYXZpb3I+IGxpdmVCYWNraW5nU3RvcmVNYXJraW5nQmVoYXZp
b3IsIE9wdGlvblNldDxWb2xhdGlsaXR5TWFya2luZ0JlaGF2aW9yPiB1bnBhcmVudGVkQmFja2lu
Z1N0b3JlTWFya2luZ0JlaGF2aW9yKQogewogICAgIGJvb2wgc3VjY2Vzc2Z1bGx5TWFkZUJhY2tp
bmdTdG9yZVZvbGF0aWxlID0gdHJ1ZTsKKyAgICBhdXRvIG5vdyA9IE1vbm90b25pY1RpbWU6Om5v
dygpOwogCiAgICAgZm9yIChjb25zdCBhdXRvJiBiYWNraW5nU3RvcmUgOiBtX2xpdmVCYWNraW5n
U3RvcmUpCi0gICAgICAgIHN1Y2Nlc3NmdWxseU1hZGVCYWNraW5nU3RvcmVWb2xhdGlsZSAmPSBt
YXJrQmFja2luZ1N0b3JlVm9sYXRpbGVJbW1lZGlhdGVseSgqYmFja2luZ1N0b3JlLCBNYXJrQnVm
ZmVyc0lnbm9yaW5nUmVhY2hhYmlsaXR5KTsKKyAgICAgICAgc3VjY2Vzc2Z1bGx5TWFkZUJhY2tp
bmdTdG9yZVZvbGF0aWxlICY9IG1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZSgqYmFja2luZ1N0b3Jl
LCBsaXZlQmFja2luZ1N0b3JlTWFya2luZ0JlaGF2aW9yLCBub3cpOwogCiAgICAgZm9yIChjb25z
dCBhdXRvJiBiYWNraW5nU3RvcmUgOiBtX3VucGFyZW50ZWRCYWNraW5nU3RvcmUpCi0gICAgICAg
IHN1Y2Nlc3NmdWxseU1hZGVCYWNraW5nU3RvcmVWb2xhdGlsZSAmPSBtYXJrQmFja2luZ1N0b3Jl
Vm9sYXRpbGVJbW1lZGlhdGVseSgqYmFja2luZ1N0b3JlLCBNYXJrQnVmZmVyc0lnbm9yaW5nUmVh
Y2hhYmlsaXR5KTsKKyAgICAgICAgc3VjY2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxl
ICY9IG1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZSgqYmFja2luZ1N0b3JlLCB1bnBhcmVudGVkQmFj
a2luZ1N0b3JlTWFya2luZ0JlaGF2aW9yLCBub3cpOwogCisgICAgcmV0dXJuIHN1Y2Nlc3NmdWxs
eU1hZGVCYWNraW5nU3RvcmVWb2xhdGlsZTsKK30KKwordm9pZCBSZW1vdGVMYXllckJhY2tpbmdT
dG9yZUNvbGxlY3Rpb246OnRyeU1hcmtBbGxCYWNraW5nU3RvcmVWb2xhdGlsZShDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGJvb2wgc3Vj
Y2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxlID0gbWFya0FsbEJhY2tpbmdTdG9yZVZv
bGF0aWxlKFZvbGF0aWxpdHlNYXJraW5nQmVoYXZpb3I6Oklnbm9yZVJlYWNoYWJpbGl0eSwgVm9s
YXRpbGl0eU1hcmtpbmdCZWhhdmlvcjo6SWdub3JlUmVhY2hhYmlsaXR5KTsKICAgICBjb21wbGV0
aW9uSGFuZGxlcihzdWNjZXNzZnVsbHlNYWRlQmFja2luZ1N0b3JlVm9sYXRpbGUpOwogfQogCiB2
b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6dm9sYXRpbGl0eVRpbWVyRmly
ZWQoKQogewotICAgIGJvb2wgc3VjY2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxlID0g
dHJ1ZTsKLQotICAgIGF1dG8gbm93ID0gTW9ub3RvbmljVGltZTo6bm93KCk7Ci0gICAgZm9yIChj
b25zdCBhdXRvJiBiYWNraW5nU3RvcmUgOiBtX2xpdmVCYWNraW5nU3RvcmUpCi0gICAgICAgIHN1
Y2Nlc3NmdWxseU1hZGVCYWNraW5nU3RvcmVWb2xhdGlsZSAmPSBtYXJrQmFja2luZ1N0b3JlVm9s
YXRpbGUoKmJhY2tpbmdTdG9yZSwgbm93KTsKLQotICAgIGZvciAoY29uc3QgYXV0byYgYmFja2lu
Z1N0b3JlIDogbV91bnBhcmVudGVkQmFja2luZ1N0b3JlKQotICAgICAgICBzdWNjZXNzZnVsbHlN
YWRlQmFja2luZ1N0b3JlVm9sYXRpbGUgJj0gbWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlSW1tZWRp
YXRlbHkoKmJhY2tpbmdTdG9yZSk7Ci0KKyAgICBib29sIHN1Y2Nlc3NmdWxseU1hZGVCYWNraW5n
U3RvcmVWb2xhdGlsZSA9IG1hcmtBbGxCYWNraW5nU3RvcmVWb2xhdGlsZShWb2xhdGlsaXR5TWFy
a2luZ0JlaGF2aW9yOjpDb25zaWRlclRpbWVTaW5jZUxhc3REaXNwbGF5LCB7IH0pOwogICAgIGlm
IChzdWNjZXNzZnVsbHlNYWRlQmFja2luZ1N0b3JlVm9sYXRpbGUpCiAgICAgICAgIG1fdm9sYXRp
bGl0eVRpbWVyLnN0b3AoKTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>