<?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>236468</bug_id>
          
          <creation_ts>2022-02-10 15:51:43 -0800</creation_ts>
          <short_desc>Introduce a RemoteLayerBackingStoreCollection subclass for GPU Process-based rendering</short_desc>
          <delta_ts>2022-02-11 11:49:18 -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 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>1840012</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-02-10 15:51:43 -0800</bug_when>
    <thetext>Introduce a RemoteLayerBackingStoreCollection subclass for GPU-based rendering</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840013</commentid>
    <comment_count>1</comment_count>
      <attachid>451614</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-02-10 15:54:42 -0800</bug_when>
    <thetext>Created attachment 451614
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840016</commentid>
    <comment_count>2</comment_count>
      <attachid>451614</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2022-02-10 15:58:05 -0800</bug_when>
    <thetext>Comment on attachment 451614
Patch

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

&gt; Source/WebKit/ChangeLog:3
&gt; +        Introduce a RemoteLayerBackingStoreCollection subclass for GPU-based rendering

GPU-*process* based?

&gt; Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStoreCollection.h:36
&gt; +// &quot;RemoteLayer&quot; refers to UI-side compositing.
&gt; +// &quot;RemoteRendering&quot; refers to GPU-process rendering.
&gt; +class RemoteLayerWithRemoteRenderingBackingStoreCollection : public RemoteLayerBackingStoreCollection {

Oh my</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840479</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-02-11 11:48:18 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/289642/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1840480</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-11 11:49:18 -0800</bug_when>
    <thetext>&lt;rdar://problem/88827840&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>451614</attachid>
            <date>2022-02-10 15:54:42 -0800</date>
            <delta_ts>2022-02-11 10:44:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236468-20220210155441.patch</filename>
            <type>text/plain</type>
            <size>21672</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg5MzgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYwNmQ1OGM0N2NjMTBmOTNh
NTZjN2QzZmZhYjBiMDMxY2I1ZGY5ZjIuLjcxZWU1NGU5ZGVlYzUzNWMzOTkwOWI1MDY5NjMyZjcy
MThjNTRjMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMjItMDItMTAgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIGEgUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uIHN1YmNsYXNzIGZvciBHUFUtYmFzZWQgcmVu
ZGVyaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzY0NjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGQgUmVtb3RlTGF5ZXJXaXRoUmVtb3RlUmVuZGVyaW5nQmFja2luZ1N0b3JlQ29sbGVjdGlvbiwg
YSBzdWJjbGFzcyBvZiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24KKyAgICAgICAg
d2hpY2ggaXMgaW5zdGFudGlhdGVkIGJ5IFJlbW90ZUxheWVyVHJlZUNvbnRleHQgd2hlbiBET00g
cmVuZGVyaW5nIGluIEdQVSBwcm9jZXNzIGlzIGVuYWJsZWQuCisKKyAgICAgICAgRGVsZWdhdGUg
YnVmZmVyIGFsbG9jYXRpb24gdG8gdGhpcyBub3cgcG9seW1vcnBoaWMgY2xhc3M7IFJlbW90ZUxh
eWVyQmFja2luZ1N0b3JlIG5vIGxvbmdlcgorICAgICAgICBjb25zdWx0cyBzaG91bGRVc2VSZW1v
dGVSZW5kZXJpbmdGb3IoKS4KKworICAgICAgICBSZW1vdGVMYXllcldpdGhSZW1vdGVSZW5kZXJp
bmdCYWNraW5nU3RvcmVDb2xsZWN0aW9uIG5lZWRzIGEgYmFjayBwb2ludGVyIHRvIFJlbW90ZUxh
eWVyVHJlZUNvbnRleHQKKyAgICAgICAgdG8gZ2V0IHRvIHRoZSBSZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kUHJveHkuCisKKyAgICAgICAgKiBTaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVy
QmFja2luZ1N0b3JlLmg6CisgICAgICAgICogU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVM
YXllckJhY2tpbmdTdG9yZS5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmU6OmJhY2tpbmdTdG9yZUNvbGxlY3Rpb24gY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6c3dhcFRvVmFsaWRGcm9udEJ1ZmZlcik6CisgICAgICAg
ICogU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rp
b24uaDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9u
OjpsYXllclRyZWVDb250ZXh0IGNvbnN0KToKKyAgICAgICAgKiBTaGFyZWQvUmVtb3RlTGF5ZXJU
cmVlL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbToKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjpSZW1vdGVMYXllckJhY2tpbmdT
dG9yZUNvbGxlY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZUNvbGxlY3Rpb246OmFsbG9jYXRlQnVmZmVyRm9yQmFja2luZ1N0b3JlKToKKyAgICAgICAgKiBT
aGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyV2l0aFJlbW90ZVJlbmRlcmluZ0JhY2tp
bmdTdG9yZUNvbGxlY3Rpb24uaDogQWRkZWQuCisgICAgICAgICogU2hhcmVkL1JlbW90ZUxheWVy
VHJlZS9SZW1vdGVMYXllcldpdGhSZW1vdGVSZW5kZXJpbmdCYWNraW5nU3RvcmVDb2xsZWN0aW9u
Lm1tOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJXaXRoUmVtb3RlUmVuZGVy
aW5nQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6UmVtb3RlTGF5ZXJXaXRoUmVtb3RlUmVuZGVyaW5n
QmFja2luZ1N0b3JlQ29sbGVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyV2l0
aFJlbW90ZVJlbmRlcmluZ0JhY2tpbmdTdG9yZUNvbGxlY3Rpb246OnJlbW90ZVJlbmRlcmluZ0Jh
Y2tlbmRQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyV2l0aFJlbW90ZVJlbmRl
cmluZ0JhY2tpbmdTdG9yZUNvbGxlY3Rpb246OmFsbG9jYXRlQnVmZmVyRm9yQmFja2luZ1N0b3Jl
KToKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVM
YXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5oOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVMYXllclRyZWVDb250ZXh0OjpiYWNraW5nU3RvcmVDb2xsZWN0aW9uKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZUNvbnRleHQu
bW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZUNvbnRleHQ6OlJlbW90ZUxheWVy
VHJlZUNvbnRleHQpOgorCiAyMDIyLTAyLTEwICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIEhhdmUgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUgdGFsayB0
byBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24gZGlyZWN0bHkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllckJhY2tpbmdT
dG9yZS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVy
QmFja2luZ1N0b3JlLmgKaW5kZXggZjUyOWEyMWY2N2M5MDdjNGVlNjlkZDA2OThhYzg0NjljYWFk
M2U1YS4uNzhlYjJiZGNjYzlhNjkxNTk2MTFjMGVkOWViNzJiZGZkOTYyOTkyNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2lu
Z1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90
ZUxheWVyQmFja2luZ1N0b3JlLmgKQEAgLTY5LDYgKzY5LDcgQEAgcHVibGljOgogCiAgICAgV2Vi
Q29yZTo6RmxvYXRTaXplIHNpemUoKSBjb25zdCB7IHJldHVybiBtX3NpemU7IH0KICAgICBmbG9h
dCBzY2FsZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2NhbGU7IH0KKyAgICBXZWJDb3JlOjpQaXhlbEZv
cm1hdCBwaXhlbEZvcm1hdCgpIGNvbnN0OwogICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJu
IG1fdHlwZTsgfQogICAgIGJvb2wgaXNPcGFxdWUoKSBjb25zdCB7IHJldHVybiBtX2lzT3BhcXVl
OyB9CiAgICAgdW5zaWduZWQgYnl0ZXNQZXJQaXhlbCgpIGNvbnN0OwpAQCAtMTExLDggKzExMiw2
IEBAIHByaXZhdGU6CiAKICAgICBib29sIHN1cHBvcnRzUGFydGlhbFJlcGFpbnQoKTsKIAotICAg
IFdlYkNvcmU6OlBpeGVsRm9ybWF0IHBpeGVsRm9ybWF0KCkgY29uc3Q7Ci0KICAgICBQbGF0Zm9y
bUNBTGF5ZXJSZW1vdGUqIG1fbGF5ZXI7CiAKICAgICBXZWJDb3JlOjpGbG9hdFNpemUgbV9zaXpl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90
ZUxheWVyQmFja2luZ1N0b3JlLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJU
cmVlL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tCmluZGV4IGQzZmNlNjJkZDMwYWZmMDMyODli
OWE2YWU1MzhlNjE2Yjk3YmUwMWYuLmNkNzBiN2EwNDZjMDgyYjIxOWIwZDdmNjFhNjAwMjdlNWQ3
NTlkMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9S
ZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1v
dGVMYXllclRyZWUvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0KQEAgLTgwLDcgKzgwLDcgQEAg
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6On5SZW1vdGVMYXllckJhY2tpbmdTdG9yZSgpCiBSZW1v
dGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24qIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpi
YWNraW5nU3RvcmVDb2xsZWN0aW9uKCkgY29uc3QKIHsKICAgICBpZiAoYXV0byogY29udGV4dCA9
IG1fbGF5ZXItPmNvbnRleHQoKSkKLSAgICAgICAgY29udGV4dC0+YmFja2luZ1N0b3JlQ29sbGVj
dGlvbigpOworICAgICAgICByZXR1cm4gJmNvbnRleHQtPmJhY2tpbmdTdG9yZUNvbGxlY3Rpb24o
KTsKIAogICAgIHJldHVybiBudWxscHRyOwogfQpAQCAtMjQxLDIyICsyNDEsOCBAQCB2b2lkIFJl
bW90ZUxheWVyQmFja2luZ1N0b3JlOjpzd2FwVG9WYWxpZEZyb250QnVmZmVyKCkKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIGJvb2wgc2hvdWxkVXNlUmVtb3RlUmVuZGVyaW5nID0gV2Vi
UHJvY2Vzczo6c2luZ2xldG9uKCkuc2hvdWxkVXNlUmVtb3RlUmVuZGVyaW5nRm9yKFdlYkNvcmU6
OlJlbmRlcmluZ1B1cnBvc2U6OkRPTSk7Ci0KLSAgICBzd2l0Y2ggKG1fdHlwZSkgewotICAgIGNh
c2UgVHlwZTo6SU9TdXJmYWNlOgotICAgICAgICBpZiAoc2hvdWxkVXNlUmVtb3RlUmVuZGVyaW5n
KQotICAgICAgICAgICAgbV9mcm9udEJ1ZmZlci5pbWFnZUJ1ZmZlciA9IG1fbGF5ZXItPmNvbnRl
eHQoKS0+ZW5zdXJlUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5KCkuY3JlYXRlSW1hZ2VCdWZm
ZXIobV9zaXplLCBXZWJDb3JlOjpSZW5kZXJpbmdNb2RlOjpBY2NlbGVyYXRlZCwgbV9zY2FsZSwg
V2ViQ29yZTo6RGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCksIHBpeGVsRm9ybWF0KCkpOwot
ICAgICAgICBlbHNlCi0gICAgICAgICAgICBtX2Zyb250QnVmZmVyLmltYWdlQnVmZmVyID0gV2Vi
Q29yZTo6Q29uY3JldGVJbWFnZUJ1ZmZlcjxBY2NlbGVyYXRlZEltYWdlQnVmZmVyU2hhcmVhYmxl
TWFwcGVkQmFja2VuZD46OmNyZWF0ZShtX3NpemUsIG1fc2NhbGUsIFdlYkNvcmU6OkRlc3RpbmF0
aW9uQ29sb3JTcGFjZTo6U1JHQigpLCBwaXhlbEZvcm1hdCgpLCBudWxscHRyKTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgY2FzZSBUeXBlOjpCaXRtYXA6Ci0gICAgICAgIGlmIChzaG91bGRVc2VSZW1v
dGVSZW5kZXJpbmcpCi0gICAgICAgICAgICBtX2Zyb250QnVmZmVyLmltYWdlQnVmZmVyID0gbV9s
YXllci0+Y29udGV4dCgpLT5lbnN1cmVSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkoKS5jcmVh
dGVJbWFnZUJ1ZmZlcihtX3NpemUsIFdlYkNvcmU6OlJlbmRlcmluZ01vZGU6OlVuYWNjZWxlcmF0
ZWQsIG1fc2NhbGUsIFdlYkNvcmU6OkRlc3RpbmF0aW9uQ29sb3JTcGFjZTo6U1JHQigpLCBwaXhl
bEZvcm1hdCgpKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbV9mcm9udEJ1ZmZlci5pbWFn
ZUJ1ZmZlciA9IFdlYkNvcmU6OkNvbmNyZXRlSW1hZ2VCdWZmZXI8VW5hY2NlbGVyYXRlZEltYWdl
QnVmZmVyU2hhcmVhYmxlQmFja2VuZD46OmNyZWF0ZShtX3NpemUsIG1fc2NhbGUsIFdlYkNvcmU6
OkRlc3RpbmF0aW9uQ29sb3JTcGFjZTo6U1JHQigpLCBwaXhlbEZvcm1hdCgpLCBudWxscHRyKTsK
LSAgICAgICAgYnJlYWs7Ci0gICAgfQorICAgIGlmIChhdXRvKiBjb2xsZWN0aW9uID0gYmFja2lu
Z1N0b3JlQ29sbGVjdGlvbigpKQorICAgICAgICBtX2Zyb250QnVmZmVyLmltYWdlQnVmZmVyID0g
Y29sbGVjdGlvbi0+YWxsb2NhdGVCdWZmZXJGb3JCYWNraW5nU3RvcmUoKnRoaXMpOwogCiAjaWYg
RU5BQkxFKENHX0RJU1BMQVlfTElTVF9CQUNLRURfSU1BR0VfQlVGRkVSKQogICAgIGlmIChtX2lu
Y2x1ZGVEaXNwbGF5TGlzdCA9PSBJbmNsdWRlRGlzcGxheUxpc3Q6OlllcykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllckJhY2tpbmdT
dG9yZUNvbGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9S
ZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaAppbmRleCA5MzRhZjVhNjRhODNiMWRi
ZTMzODE1MTlmNjczMTYzMDI2M2VmZDE4Li41N2Y5ZTVhMjI0MzM3ZmJlMzZkZWFhNDZkNTA3NzU1
YWNhMWEyYzk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRy
ZWUvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlv
bi5oCkBAIC0yOSw2ICsyOSwxMCBAQAogI2ltcG9ydCA8d3RmL0hhc2hTZXQuaD4KICNpbXBvcnQg
PHd0Zi9Ob25jb3B5YWJsZS5oPgogCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBJbWFnZUJ1
ZmZlcjsKK30KKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFJlbW90ZUxheWVyQmFja2lu
Z1N0b3JlOwpAQCAtMzksNyArNDMsOCBAQCBjbGFzcyBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNv
bGxlY3Rpb24gewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFJlbW90ZUxheWVyQmFja2luZ1N0
b3JlQ29sbGVjdGlvbik7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0g
ICAgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uKCk7CisgICAgUmVtb3RlTGF5ZXJC
YWNraW5nU3RvcmVDb2xsZWN0aW9uKFJlbW90ZUxheWVyVHJlZUNvbnRleHQmKTsKKyAgICB2aXJ0
dWFsIH5SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24oKTsKIAogICAgIHZvaWQgYmFj
a2luZ1N0b3JlV2FzQ3JlYXRlZChSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYpOwogICAgIHZvaWQg
YmFja2luZ1N0b3JlV2lsbEJlRGVzdHJveWVkKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJik7CkBA
IC01Niw2ICs2MSwxMSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNjaGVkdWxlVm9sYXRpbGl0eVRp
bWVyKCk7CiAKKyAgICB2aXJ0dWFsIFJlZlB0cjxXZWJDb3JlOjpJbWFnZUJ1ZmZlcj4gYWxsb2Nh
dGVCdWZmZXJGb3JCYWNraW5nU3RvcmUoY29uc3QgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmKTsK
KworcHJvdGVjdGVkOgorICAgIFJlbW90ZUxheWVyVHJlZUNvbnRleHQmIGxheWVyVHJlZUNvbnRl
eHQoKSBjb25zdCB7IHJldHVybiBtX2xheWVyVHJlZUNvbnRleHQ7IH0KKwogcHJpdmF0ZToKICAg
ICBlbnVtIGNsYXNzIFZvbGF0aWxpdHlNYXJraW5nQmVoYXZpb3IgOiB1aW50OF90IHsKICAgICAg
ICAgSWdub3JlUmVhY2hhYmlsaXR5ICAgICAgICAgICAgICA9IDEgPDwgMCwKQEAgLTY2LDYgKzc2
LDggQEAgcHJpdmF0ZToKICAgICBib29sIG1hcmtBbGxCYWNraW5nU3RvcmVWb2xhdGlsZShPcHRp
b25TZXQ8Vm9sYXRpbGl0eU1hcmtpbmdCZWhhdmlvcj4gbGl2ZUJhY2tpbmdTdG9yZU1hcmtpbmdC
ZWhhdmlvciwgT3B0aW9uU2V0PFZvbGF0aWxpdHlNYXJraW5nQmVoYXZpb3I+IHVucGFyZW50ZWRC
YWNraW5nU3RvcmVNYXJraW5nQmVoYXZpb3IpOwogICAgIHZvaWQgdm9sYXRpbGl0eVRpbWVyRmly
ZWQoKTsKIAorICAgIFJlbW90ZUxheWVyVHJlZUNvbnRleHQmIG1fbGF5ZXJUcmVlQ29udGV4dDsK
KwogICAgIEhhc2hTZXQ8UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUqPiBtX2xpdmVCYWNraW5nU3Rv
cmU7CiAgICAgSGFzaFNldDxSZW1vdGVMYXllckJhY2tpbmdTdG9yZSo+IG1fdW5wYXJlbnRlZEJh
Y2tpbmdTdG9yZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5
ZXJUcmVlL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbSBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rp
b24ubW0KaW5kZXggZDI3YzU0OTQyYTM5MzQyOWZmZWIwMmVlMmFkMTZiNDcxODIxMWIwMy4uODky
Y2ExNDk4OWZjMmI1MDgzMDEzZjZjYmE4MDUwYTM3MDgzOTcyNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29s
bGVjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tCkBAIC0zNiwxMSArMzYsMTQgQEAgY29u
c3QgU2Vjb25kcyB2b2xhdGlsaXR5VGltZXJJbnRlcnZhbCA9IDIwMF9tczsKIAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKLVJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6UmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uKCkKLSAgICA6IG1fdm9sYXRpbGl0eVRpbWVyKCp0aGlz
LCAmUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjp2b2xhdGlsaXR5VGltZXJGaXJl
ZCkKK1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6UmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmVDb2xsZWN0aW9uKFJlbW90ZUxheWVyVHJlZUNvbnRleHQmIGxheWVyVHJlZUNvbnRleHQp
CisgICAgOiBtX2xheWVyVHJlZUNvbnRleHQobGF5ZXJUcmVlQ29udGV4dCkKKyAgICAsIG1fdm9s
YXRpbGl0eVRpbWVyKCp0aGlzLCAmUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjp2
b2xhdGlsaXR5VGltZXJGaXJlZCkKIHsKIH0KIAorUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xs
ZWN0aW9uOjp+UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uKCkgPSBkZWZhdWx0Owor
CiB2b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6d2lsbEZsdXNoTGF5ZXJz
KCkKIHsKICAgICBtX2luTGF5ZXJGbHVzaCA9IHRydWU7CkBAIC0xODIsNCArMTg1LDE1IEBAIHZv
aWQgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjpzY2hlZHVsZVZvbGF0aWxpdHlU
aW1lcigpCiAgICAgbV92b2xhdGlsaXR5VGltZXIuc3RhcnRSZXBlYXRpbmcodm9sYXRpbGl0eVRp
bWVySW50ZXJ2YWwpOwogfQogCitSZWZQdHI8V2ViQ29yZTo6SW1hZ2VCdWZmZXI+IFJlbW90ZUxh
eWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6YWxsb2NhdGVCdWZmZXJGb3JCYWNraW5nU3RvcmUo
Y29uc3QgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmIGJhY2tpbmdTdG9yZSkKK3sKKyAgICBzd2l0
Y2ggKGJhY2tpbmdTdG9yZS50eXBlKCkpIHsKKyAgICBjYXNlIFJlbW90ZUxheWVyQmFja2luZ1N0
b3JlOjpUeXBlOjpJT1N1cmZhY2U6CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpDb25jcmV0ZUlt
YWdlQnVmZmVyPEFjY2VsZXJhdGVkSW1hZ2VCdWZmZXJTaGFyZWFibGVNYXBwZWRCYWNrZW5kPjo6
Y3JlYXRlKGJhY2tpbmdTdG9yZS5zaXplKCksIGJhY2tpbmdTdG9yZS5zY2FsZSgpLCBXZWJDb3Jl
OjpEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0IoKSwgYmFja2luZ1N0b3JlLnBpeGVsRm9ybWF0
KCksIG51bGxwdHIpOworICAgIGNhc2UgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OlR5cGU6OkJp
dG1hcDoKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkNvbmNyZXRlSW1hZ2VCdWZmZXI8VW5hY2Nl
bGVyYXRlZEltYWdlQnVmZmVyU2hhcmVhYmxlQmFja2VuZD46OmNyZWF0ZShiYWNraW5nU3RvcmUu
c2l6ZSgpLCBiYWNraW5nU3RvcmUuc2NhbGUoKSwgV2ViQ29yZTo6RGVzdGluYXRpb25Db2xvclNw
YWNlOjpTUkdCKCksIGJhY2tpbmdTdG9yZS5waXhlbEZvcm1hdCgpLCBudWxscHRyKTsKKyAgICB9
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyV2l0
aFJlbW90ZVJlbmRlcmluZ0JhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllcldpdGhSZW1vdGVSZW5kZXJpbmdCYWNr
aW5nU3RvcmVDb2xsZWN0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjEwMDU2ODM2YzM0ZmRlNzY5MDRiNGU3
ZWQ3YjViMjcwNDU1M2ExOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllcldpdGhSZW1vdGVSZW5kZXJpbmdCYWNraW5nU3Rv
cmVDb2xsZWN0aW9uLmgKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW1wb3J0ICJSZW1vdGVMYXll
ckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNz
IFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eTsKKworLy8gIlJlbW90ZUxheWVyIiByZWZlcnMg
dG8gVUktc2lkZSBjb21wb3NpdGluZy4KKy8vICJSZW1vdGVSZW5kZXJpbmciIHJlZmVycyB0byBH
UFUtcHJvY2VzcyByZW5kZXJpbmcuCitjbGFzcyBSZW1vdGVMYXllcldpdGhSZW1vdGVSZW5kZXJp
bmdCYWNraW5nU3RvcmVDb2xsZWN0aW9uIDogcHVibGljIFJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Q29sbGVjdGlvbiB7CitwdWJsaWM6CisgICAgUmVtb3RlTGF5ZXJXaXRoUmVtb3RlUmVuZGVyaW5n
QmFja2luZ1N0b3JlQ29sbGVjdGlvbihSZW1vdGVMYXllclRyZWVDb250ZXh0Jik7CisgICAgdmly
dHVhbCB+UmVtb3RlTGF5ZXJXaXRoUmVtb3RlUmVuZGVyaW5nQmFja2luZ1N0b3JlQ29sbGVjdGlv
bigpID0gZGVmYXVsdDsKKworcHJpdmF0ZToKKyAgICBSZWZQdHI8V2ViQ29yZTo6SW1hZ2VCdWZm
ZXI+IGFsbG9jYXRlQnVmZmVyRm9yQmFja2luZ1N0b3JlKGNvbnN0IFJlbW90ZUxheWVyQmFja2lu
Z1N0b3JlJikgZmluYWw7CisgICAgCisgICAgUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5JiBy
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkoKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktp
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90
ZUxheWVyV2l0aFJlbW90ZVJlbmRlcmluZ0JhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJXaXRoUmVtb3RlUmVu
ZGVyaW5nQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNzE4MzkzNzU5ODEx
YTM2OTc5ZGIyODk4YjM1NjFlYjU3YTM4MDZjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyV2l0aFJlbW90ZVJlbmRlcmlu
Z0JhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KQEAgLTAsMCArMSw1MCBAQAorIC8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNp
bXBvcnQgIlJlbW90ZUxheWVyV2l0aFJlbW90ZVJlbmRlcmluZ0JhY2tpbmdTdG9yZUNvbGxlY3Rp
b24uaCIKKworI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5oIgorI2ltcG9ydCAiUmVt
b3RlUmVuZGVyaW5nQmFja2VuZFByb3h5LmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitSZW1v
dGVMYXllcldpdGhSZW1vdGVSZW5kZXJpbmdCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjpSZW1vdGVM
YXllcldpdGhSZW1vdGVSZW5kZXJpbmdCYWNraW5nU3RvcmVDb2xsZWN0aW9uKFJlbW90ZUxheWVy
VHJlZUNvbnRleHQmIGxheWVyVHJlZUNvbnRleHQpCisgICAgOiBSZW1vdGVMYXllckJhY2tpbmdT
dG9yZUNvbGxlY3Rpb24obGF5ZXJUcmVlQ29udGV4dCkKK3sKK30KKworUmVtb3RlUmVuZGVyaW5n
QmFja2VuZFByb3h5JiBSZW1vdGVMYXllcldpdGhSZW1vdGVSZW5kZXJpbmdCYWNraW5nU3RvcmVD
b2xsZWN0aW9uOjpyZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkoKQoreworICAgIHJldHVybiBs
YXllclRyZWVDb250ZXh0KCkuZW5zdXJlUmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5KCk7Cit9
CisKK1JlZlB0cjxXZWJDb3JlOjpJbWFnZUJ1ZmZlcj4gUmVtb3RlTGF5ZXJXaXRoUmVtb3RlUmVu
ZGVyaW5nQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6YWxsb2NhdGVCdWZmZXJGb3JCYWNraW5nU3Rv
cmUoY29uc3QgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmIGJhY2tpbmdTdG9yZSkKK3sKKyAgICBh
dXRvIHJlbmRlcmluZ01vZGUgPSBiYWNraW5nU3RvcmUudHlwZSgpID09IFJlbW90ZUxheWVyQmFj
a2luZ1N0b3JlOjpUeXBlOjpJT1N1cmZhY2UgPyBXZWJDb3JlOjpSZW5kZXJpbmdNb2RlOjpBY2Nl
bGVyYXRlZCA6IFdlYkNvcmU6OlJlbmRlcmluZ01vZGU6OlVuYWNjZWxlcmF0ZWQ7CisgICAgcmV0
dXJuIHJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eSgpLmNyZWF0ZUltYWdlQnVmZmVyKGJhY2tp
bmdTdG9yZS5zaXplKCksIHJlbmRlcmluZ01vZGUsIGJhY2tpbmdTdG9yZS5zY2FsZSgpLCBXZWJD
b3JlOjpEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0IoKSwgYmFja2luZ1N0b3JlLnBpeGVsRm9y
bWF0KCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU291cmNlc0NvY29hLnR4dCBiL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dApp
bmRleCAxZjhkMTdlNjU1MTRjNzI1OTIyOTBjZjJlZDkzMjM5YWZiOTBkMjY0Li4xZGE1YjdlMzU4
ZTI3YzNlMDEyZTE1NjE3MDA2ZjUxM2MzZDAyM2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBA
IC0yMzksNiArMjM5LDcgQEAgU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRlci9NZWRpYVRyYWNr
UmVhZGVyLmNwcAogCiBTaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2luZ1N0
b3JlLm1tCiBTaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29s
bGVjdGlvbi5tbQorU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllcldpdGhSZW1vdGVS
ZW5kZXJpbmdCYWNraW5nU3RvcmVDb2xsZWN0aW9uLm1tCiBTaGFyZWQvUmVtb3RlTGF5ZXJUcmVl
L1JlbW90ZUxheWVyVHJlZVByb3BlcnR5QXBwbGllci5tbQogU2hhcmVkL1JlbW90ZUxheWVyVHJl
ZS9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbQogU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9S
ZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uLmNwcApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNjBkM2U5ODIwNWQ1ZGQz
OTg0ZTU4N2NkMzAxMGU5ODMwZDIzODc1MC4uZjU4NzZiZTE5M2FiNjJkZTk4NjU1OTYzYjNiOTgy
YTdiNDdiNzE3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC0yNTkwLDYgKzI1OTAsOCBAQAogCQkwRjcwN0M3OTFBMUZFRUEzMDBEQTdB
NDUgLyogUmVtb3RlTGF5ZXJUcmVlU2Nyb2xsaW5nUGVyZm9ybWFuY2VEYXRhLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZUxheWVyVHJlZVNjcm9sbGluZ1BlcmZvcm1h
bmNlRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjczQjc2NzIyMkIzOEM2
MDA4MDUzMTYgLyogU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZVJlbW90ZU1hYy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2Rl
UmVtb3RlTWFjLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY3M0I3NjgyMjJC
MzhDNjAwODA1MzE2IC8qIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVSZW1vdGVN
YWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZVJl
bW90ZU1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkwRjgwMjY0NjI3QUI0QUVG
MDBFQzZFRDcgLyogUmVtb3RlTGF5ZXJXaXRoUmVtb3RlUmVuZGVyaW5nQmFja2luZ1N0b3JlQ29s
bGVjdGlvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFJlbW90ZUxheWVyV2l0aFJlbW90ZVJl
bmRlcmluZ0JhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTBGODAyNjQ3MjdBQjRBRUYwMEVDNkVENyAvKiBSZW1vdGVMYXllcldpdGhSZW1vdGVS
ZW5kZXJpbmdCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90ZUxh
eWVyV2l0aFJlbW90ZVJlbmRlcmluZ0JhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY4NTBGRTQxRUQ3QzM5RjAwRkI3N0E3IC8qIFdlYlBlcmZv
cm1hbmNlTG9nZ2luZ0NsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBXZWJQZXJmb3JtYW5jZUxvZ2dpbmdDbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkwRjg1MEZFNTFFRDdDMzlGMDBGQjc3QTcgLyogV2ViUGVyZm9ybWFuY2VMb2dn
aW5nQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlBlcmZvcm1h
bmNlTG9nZ2luZ0NsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjkzMUMx
QTE4QzU3MTE5MDBEQkE3QzMgLyogU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlP
Uy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTY3JvbGxpbmdUcmVlT3ZlcmZs
b3dTY3JvbGxpbmdOb2RlSU9TLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04MTI2
LDYgKzgxMjgsOCBAQAogCQkJCTJEREUwQUY5MTgyOThDQzkwMEY5N0VBQSAvKiBSZW1vdGVMYXll
clRyZWVQcm9wZXJ0eUFwcGxpZXIubW0gKi8sCiAJCQkJMUFGMUFDNkExNjUxNzU5RTAwQzE3RDdG
IC8qIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmggKi8sCiAJCQkJMUFGMUFDNjkxNjUxNzU5
RTAwQzE3RDdGIC8qIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tICovLAorCQkJCTBGODAy
NjQ3MjdBQjRBRUYwMEVDNkVENyAvKiBSZW1vdGVMYXllcldpdGhSZW1vdGVSZW5kZXJpbmdCYWNr
aW5nU3RvcmVDb2xsZWN0aW9uLmggKi8sCisJCQkJMEY4MDI2NDYyN0FCNEFFRjAwRUM2RUQ3IC8q
IFJlbW90ZUxheWVyV2l0aFJlbW90ZVJlbmRlcmluZ0JhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0g
Ki8sCiAJCQkJMEY1OTQ3QTExODdCM0I3RDAwNDM3ODU3IC8qIFJlbW90ZVNjcm9sbGluZ0Nvb3Jk
aW5hdG9yVHJhbnNhY3Rpb24uY3BwICovLAogCQkJCTBGNTk0N0EyMTg3QjNCN0QwMDQzNzg1NyAv
KiBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uLmggKi8sCiAJCQkJMEZDRDA5
NEUyNEM3OUY1QjAwMEM2RDM5IC8qIFJlbW90ZVNjcm9sbGluZ1VJU3RhdGUuY3BwICovLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVl
L1JlbW90ZUxheWVyVHJlZUNvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllclRyZWVDb250ZXh0LmgKaW5kZXggZmFjODQy
ZTc4NGVjNjg3OTdmYjUyMmVmZWQ2MTM0ZTZiN2IyYzA4NC4uNWU0YzRhNTAzNzQ4ODc0ZmVmNTI2
MThkOGU3NzA4OTVkMTEwZTcwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZUNvbnRleHQuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5
ZXJUcmVlQ29udGV4dC5oCkBAIC02OCw3ICs2OCw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgd2ls
bFN0YXJ0QW5pbWF0aW9uT25MYXllcihQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUmKTsKIAotICAgIFJl
bW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbiYgYmFja2luZ1N0b3JlQ29sbGVjdGlvbigp
IHsgcmV0dXJuIG1fYmFja2luZ1N0b3JlQ29sbGVjdGlvbjsgfQorICAgIFJlbW90ZUxheWVyQmFj
a2luZ1N0b3JlQ29sbGVjdGlvbiYgYmFja2luZ1N0b3JlQ29sbGVjdGlvbigpIHsgcmV0dXJuICpt
X2JhY2tpbmdTdG9yZUNvbGxlY3Rpb247IH0KICAgICAKICAgICB2b2lkIHNldE5leHRSZW5kZXJp
bmdVcGRhdGVSZXF1aXJlc1N5bmNocm9ub3VzSW1hZ2VEZWNvZGluZyhib29sIHJlcXVpcmVTeW5j
aHJvbm91c0RlY29kaW5nKSB7IG1fbmV4dFJlbmRlcmluZ1VwZGF0ZVJlcXVpcmVzU3luY2hyb25v
dXNJbWFnZURlY29kaW5nID0gcmVxdWlyZVN5bmNocm9ub3VzRGVjb2Rpbmc7IH0KICAgICBib29s
IG5leHRSZW5kZXJpbmdVcGRhdGVSZXF1aXJlc1N5bmNocm9ub3VzSW1hZ2VEZWNvZGluZygpIGNv
bnN0IHsgcmV0dXJuIG1fbmV4dFJlbmRlcmluZ1VwZGF0ZVJlcXVpcmVzU3luY2hyb25vdXNJbWFn
ZURlY29kaW5nOyB9CkBAIC05OCwxNCArOTgsMTMgQEAgcHJpdmF0ZToKIAogICAgIEhhc2hTZXQ8
R3JhcGhpY3NMYXllckNBUmVtb3RlKj4gbV9saXZlR3JhcGhpY3NMYXllcnM7CiAKLSAgICBSZW1v
dGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24gbV9iYWNraW5nU3RvcmVDb2xsZWN0aW9uOwot
ICAgIAotICAgIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uKiBtX2N1cnJlbnRUcmFuc2FjdGlv
bjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9u
PiBtX2JhY2tpbmdTdG9yZUNvbGxlY3Rpb247CiAKICAgICBXZWJDb3JlOjpMYXllclBvb2wgbV9s
YXllclBvb2w7Ci0gICAgCi0gICAgYm9vbCBtX25leHRSZW5kZXJpbmdVcGRhdGVSZXF1aXJlc1N5
bmNocm9ub3VzSW1hZ2VEZWNvZGluZyB7IGZhbHNlIH07CiAKKyAgICBSZW1vdGVMYXllclRyZWVU
cmFuc2FjdGlvbiogbV9jdXJyZW50VHJhbnNhY3Rpb24geyBudWxscHRyIH07CisKKyAgICBib29s
IG1fbmV4dFJlbmRlcmluZ1VwZGF0ZVJlcXVpcmVzU3luY2hyb25vdXNJbWFnZURlY29kaW5nIHsg
ZmFsc2UgfTsKICAgICBib29sIG1fdXNlQ0dEaXNwbGF5TGlzdHNGb3JET01SZW5kZXJpbmcgeyBm
YWxzZSB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyVHJlZUNvbnRleHQubW0gYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlQ29u
dGV4dC5tbQppbmRleCA2ZTgyMDUyYjg5MmFlNmU4ZDc4NjA0N2RiNmI4NDhmY2UwZDRhODc4Li5m
N2I5YzBjMzMwMGRlODk4MmFkZDQ2NDlkYjg5YjlkN2IyOGRmY2NhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJU
cmVlQ29udGV4dC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9SZW1v
dGVMYXllclRyZWUvUmVtb3RlTGF5ZXJUcmVlQ29udGV4dC5tbQpAQCAtMjksOCArMjksOCBAQAog
I2ltcG9ydCAiR2VuZXJpY0NhbGxiYWNrLmgiCiAjaW1wb3J0ICJHcmFwaGljc0xheWVyQ0FSZW1v
dGUuaCIKICNpbXBvcnQgIlBsYXRmb3JtQ0FMYXllclJlbW90ZS5oIgotI2ltcG9ydCAiUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmgiCiAjaW1wb3J0ICJSZW1vdGVMYXllclRyZWVU
cmFuc2FjdGlvbi5oIgorI2ltcG9ydCAiUmVtb3RlTGF5ZXJXaXRoUmVtb3RlUmVuZGVyaW5nQmFj
a2luZ1N0b3JlQ29sbGVjdGlvbi5oIgogI2ltcG9ydCAiV2ViUGFnZS5oIgogI2ltcG9ydCA8V2Vi
Q29yZS9GcmFtZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9GcmFtZVZpZXcuaD4KQEAgLTQzLDggKzQz
LDExIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBSZW1vdGVMYXllclRyZWVDb250ZXh0
OjpSZW1vdGVMYXllclRyZWVDb250ZXh0KFdlYlBhZ2UmIHdlYlBhZ2UpCiAgICAgOiBtX3dlYlBh
Z2Uod2ViUGFnZSkKLSAgICAsIG1fY3VycmVudFRyYW5zYWN0aW9uKG51bGxwdHIpCiB7CisgICAg
aWYgKFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnNob3VsZFVzZVJlbW90ZVJlbmRlcmluZ0ZvcihX
ZWJDb3JlOjpSZW5kZXJpbmdQdXJwb3NlOjpET00pKQorICAgICAgICBtX2JhY2tpbmdTdG9yZUNv
bGxlY3Rpb24gPSBtYWtlVW5pcXVlPFJlbW90ZUxheWVyV2l0aFJlbW90ZVJlbmRlcmluZ0JhY2tp
bmdTdG9yZUNvbGxlY3Rpb24+KCp0aGlzKTsKKyAgICBlbHNlCisgICAgICAgIG1fYmFja2luZ1N0
b3JlQ29sbGVjdGlvbiA9IG1ha2VVbmlxdWU8UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0
aW9uPigqdGhpcyk7CiB9CiAKIFJlbW90ZUxheWVyVHJlZUNvbnRleHQ6On5SZW1vdGVMYXllclRy
ZWVDb250ZXh0KCkK
</data>
<flag name="review"
          id="478393"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>