<?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>136440</bug_id>
          
          <creation_ts>2014-09-01 15:52:58 -0700</creation_ts>
          <short_desc>DrawingAreaProxy and friends can hold on to WebPageProxy by reference</short_desc>
          <delta_ts>2014-09-01 16:04:37 -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>New Bugs</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>mitz</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1032540</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-09-01 15:52:58 -0700</bug_when>
    <thetext>DrawingAreaProxy and friends can hold on to WebPageProxy by reference</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032541</commentid>
    <comment_count>1</comment_count>
      <attachid>237468</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-09-01 15:53:32 -0700</bug_when>
    <thetext>Created attachment 237468
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032542</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-09-01 15:55:25 -0700</bug_when>
    <thetext>Attachment 237468 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:269:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1032543</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-09-01 16:04:37 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/173163</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237468</attachid>
            <date>2014-09-01 15:53:32 -0700</date>
            <delta_ts>2014-09-01 15:58:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136440-20140901155326.patch</filename>
            <type>text/plain</type>
            <size>27568</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczMTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNWQxOTgyZjEzNDljZmNj
YTdmNTZmOTAwY2UzODMyZmU2M2NhN2VmMS4uMzIwNjE0YWE4NDJmNGJiOTBjYmQ4OGE5YTY4NTk1
YzVlNGQ2NzFkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDE0LTA5LTAxICBUaW0g
SG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIERyYXdpbmdBcmVh
UHJveHkgYW5kIGZyaWVuZHMgY2FuIGhvbGQgb24gdG8gV2ViUGFnZVByb3h5IGJ5IHJlZmVyZW5j
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM2NDQw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL21hYy9XS1ZpZXcubW06CisgICAgICAgICgtW1dLVmlldyBfY3JlYXRlRHJhd2lu
Z0FyZWFQcm94eV0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6RHJhd2luZ0FyZWFQcm94eSk6Cisg
ICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHk6On5EcmF3aW5nQXJlYVByb3h5KToKKyAg
ICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eTo6c2V0RXhwb3NlZFJlY3QpOgorICAgICAg
ICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5OjpleHBvc2VkUmVjdENoYW5nZWRUaW1lckZpcmVk
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6UmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWFQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhUHJveHk6On5SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5KToKKyAgICAg
ICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6c2l6ZURpZENoYW5n
ZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmRl
dmljZVNjYWxlRmFjdG9yRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWFQcm94eTo6c2NhbGVkRXhwb3NlZFJlY3QpOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5OjpzZW5kVXBkYXRlR2VvbWV0cnkpOgor
ICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Ojpjb21taXRM
YXllclRyZWUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVBy
b3h5OjphY2NlbGVyYXRlZEFuaW1hdGlvbkRpZFN0YXJ0KToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6YWNjZWxlcmF0ZWRBbmltYXRpb25EaWRFbmQp
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5OjppbmRp
Y2F0b3JMb2NhdGlvbik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhUHJveHk6OmluZGljYXRvclNjYWxlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWFQcm94eTo6dXBkYXRlRGVidWdJbmRpY2F0b3IpOgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5OjpkaWRSZWZyZXNoRGlzcGxheSk6
CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OndhaXRG
b3JEaWRVcGRhdGVWaWV3U3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYVByb3h5OjpkaXNwYXRjaEFmdGVyRW5zdXJpbmdEcmF3aW5nKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHku
bW06CisgICAgICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6
OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkpOgorICAgICAgICAoV2ViS2l0OjpU
aWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5OjpkZXZpY2VTY2FsZUZhY3RvckRpZENo
YW5nZSk6CisgICAgICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJv
eHk6OnNpemVEaWRDaGFuZ2UpOgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25E
cmF3aW5nQXJlYVByb3h5Ojp3YWl0Rm9yUG9zc2libGVHZW9tZXRyeVVwZGF0ZSk6CisgICAgICAg
IChXZWJLaXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6OmNvbG9yU3BhY2VE
aWRDaGFuZ2UpOgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YVByb3h5OjptaW5pbXVtTGF5b3V0U2l6ZURpZENoYW5nZSk6CisgICAgICAgIChXZWJLaXQ6OlRp
bGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6OmVudGVyQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ01vZGUpOgorICAgICAgICAoV2ViS2l0OjpUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJl
YVByb3h5Ojp1cGRhdGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSk6CisgICAgICAgIChXZWJL
aXQ6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6OmRpZFVwZGF0ZUdlb21ldHJ5
KToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eTo6
d2FpdEZvckRpZFVwZGF0ZVZpZXdTdGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OlRpbGVkQ29yZUFu
aW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6OmludHJpbnNpY0NvbnRlbnRTaXplRGlkQ2hhbmdlKToK
KyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eTo6c2Vu
ZFVwZGF0ZUdlb21ldHJ5KToKKyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWFQcm94eTo6YWRqdXN0VHJhbnNpZW50Wm9vbSk6CisgICAgICAgIChXZWJLaXQ6OlRp
bGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk6OmNvbW1pdFRyYW5zaWVudFpvb20pOgor
CiAyMDE0LTA5LTAxICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ac2Ftc3VuZy5jb20+CiAK
ICAgICAgICAgW0NNQUtFXSBCdWlsZCB3YXJuaW5nIGJ5IElOVEVSRkFDRV9MSU5LX0xJQlJBUklF
UwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1t
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCmluZGV4IDc1OGJj
OTE5ZmI3YTY0NjJjNDY2OTE5NGFkMTE4ZGEwYmVlNmMzZDcuLjRhOWJjNmQ1MGUyNGI4OWRkMWI2
NTA4ZTRiYWIxYWY4NzQyYTU0MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvbWFjL1dLVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21h
Yy9XS1ZpZXcubW0KQEAgLTI3OTQsOSArMjc5NCw5IEBAIHN0YXRpYyB2b2lkKiBrZXlWYWx1ZU9i
c2VydmluZ0NvbnRleHQgPSAma2V5VmFsdWVPYnNlcnZpbmdDb250ZXh0OwogLSAoc3RkOjp1bmlx
dWVfcHRyPFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eT4pX2NyZWF0ZURyYXdpbmdBcmVhUHJveHkK
IHsKICAgICBpZiAoW1tbTlNVc2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdIG9iamVj
dEZvcktleTpAIldlYktpdDJVc2VSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYSJdIGJvb2xWYWx1
ZV0pCi0gICAgICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPFJlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhUHJveHk+KF9kYXRhLT5fcGFnZS5nZXQoKSk7CisgICAgICAgIHJldHVybiBzdGQ6Om1h
a2VfdW5pcXVlPFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk+KCpfZGF0YS0+X3BhZ2Up
OwogCi0gICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2lu
Z0FyZWFQcm94eT4oX2RhdGEtPl9wYWdlLmdldCgpKTsKKyAgICByZXR1cm4gc3RkOjptYWtlX3Vu
aXF1ZTxUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5PigqX2RhdGEtPl9wYWdlKTsK
IH0KIAogLSAoQk9PTClfaXNGb2N1c2VkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJh
d2luZ0FyZWFQcm94eS5jcHAKaW5kZXggNDg5YmE2NzVhZjY1NzZmYWY1MmYzNjY5ZGViNmZmMDJl
ODlhNTAwYS4uM2Q1YjllMmUxZTg4NDA3Njk5MGMyYWJhMWVhNTAxZjA0YzMzZjZmZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcApAQCAtMzUsMjAg
KzM1LDIwIEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
IAotRHJhd2luZ0FyZWFQcm94eTo6RHJhd2luZ0FyZWFQcm94eShEcmF3aW5nQXJlYVR5cGUgdHlw
ZSwgV2ViUGFnZVByb3h5KiB3ZWJQYWdlUHJveHkpCitEcmF3aW5nQXJlYVByb3h5OjpEcmF3aW5n
QXJlYVByb3h5KERyYXdpbmdBcmVhVHlwZSB0eXBlLCBXZWJQYWdlUHJveHkmIHdlYlBhZ2VQcm94
eSkKICAgICA6IG1fdHlwZSh0eXBlKQogICAgICwgbV93ZWJQYWdlUHJveHkod2ViUGFnZVByb3h5
KQotICAgICwgbV9zaXplKHdlYlBhZ2VQcm94eS0+dmlld1NpemUoKSkKKyAgICAsIG1fc2l6ZSh3
ZWJQYWdlUHJveHkudmlld1NpemUoKSkKICNpZiBQTEFURk9STShNQUMpCiAgICAgLCBtX2V4cG9z
ZWRSZWN0Q2hhbmdlZFRpbWVyKFJ1bkxvb3A6Om1haW4oKSwgdGhpcywgJkRyYXdpbmdBcmVhUHJv
eHk6OmV4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyRmlyZWQpCiAjZW5kaWYKIHsKLSAgICBtX3dlYlBh
Z2VQcm94eS0+cHJvY2VzcygpLmFkZE1lc3NhZ2VSZWNlaXZlcihNZXNzYWdlczo6RHJhd2luZ0Fy
ZWFQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCB3ZWJQYWdlUHJveHktPnBhZ2VJRCgpLCAq
dGhpcyk7CisgICAgbV93ZWJQYWdlUHJveHkucHJvY2VzcygpLmFkZE1lc3NhZ2VSZWNlaXZlcihN
ZXNzYWdlczo6RHJhd2luZ0FyZWFQcm94eTo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpLCBtX3dlYlBh
Z2VQcm94eS5wYWdlSUQoKSwgKnRoaXMpOwogfQogCiBEcmF3aW5nQXJlYVByb3h5Ojp+RHJhd2lu
Z0FyZWFQcm94eSgpCiB7Ci0gICAgbV93ZWJQYWdlUHJveHktPnByb2Nlc3MoKS5yZW1vdmVNZXNz
YWdlUmVjZWl2ZXIoTWVzc2FnZXM6OkRyYXdpbmdBcmVhUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5h
bWUoKSwgbV93ZWJQYWdlUHJveHktPnBhZ2VJRCgpKTsKKyAgICBtX3dlYlBhZ2VQcm94eS5wcm9j
ZXNzKCkucmVtb3ZlTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYVByb3h5Ojpt
ZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fd2ViUGFnZVByb3h5LnBhZ2VJRCgpKTsKIH0KIAogdm9p
ZCBEcmF3aW5nQXJlYVByb3h5OjpzZXRTaXplKGNvbnN0IEludFNpemUmIHNpemUsIGNvbnN0IElu
dFNpemUmIGxheWVyUG9zaXRpb24sIGNvbnN0IEludFNpemUmIHNjcm9sbE9mZnNldCkKQEAgLTY1
LDcgKzY1LDcgQEAgdm9pZCBEcmF3aW5nQXJlYVByb3h5OjpzZXRTaXplKGNvbnN0IEludFNpemUm
IHNpemUsIGNvbnN0IEludFNpemUmIGxheWVyUG9zaXRpb24KICNpZiBQTEFURk9STShNQUMpCiB2
b2lkIERyYXdpbmdBcmVhUHJveHk6OnNldEV4cG9zZWRSZWN0KGNvbnN0IEZsb2F0UmVjdCYgZXhw
b3NlZFJlY3QpCiB7Ci0gICAgaWYgKCFtX3dlYlBhZ2VQcm94eS0+aXNWYWxpZCgpKQorICAgIGlm
ICghbV93ZWJQYWdlUHJveHkuaXNWYWxpZCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBtX2V4
cG9zZWRSZWN0ID0gZXhwb3NlZFJlY3Q7CkBAIC03NiwxMyArNzYsMTMgQEAgdm9pZCBEcmF3aW5n
QXJlYVByb3h5OjpzZXRFeHBvc2VkUmVjdChjb25zdCBGbG9hdFJlY3QmIGV4cG9zZWRSZWN0KQog
CiB2b2lkIERyYXdpbmdBcmVhUHJveHk6OmV4cG9zZWRSZWN0Q2hhbmdlZFRpbWVyRmlyZWQoKQog
ewotICAgIGlmICghbV93ZWJQYWdlUHJveHktPmlzVmFsaWQoKSkKKyAgICBpZiAoIW1fd2ViUGFn
ZVByb3h5LmlzVmFsaWQoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKG1fZXhwb3NlZFJl
Y3QgPT0gbV9sYXN0U2VudEV4cG9zZWRSZWN0KQogICAgICAgICByZXR1cm47CiAKLSAgICBtX3dl
YlBhZ2VQcm94eS0+cHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpTZXRFeHBv
c2VkUmVjdChtX2V4cG9zZWRSZWN0KSwgbV93ZWJQYWdlUHJveHktPnBhZ2VJRCgpKTsKKyAgICBt
X3dlYlBhZ2VQcm94eS5wcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6RHJhd2luZ0FyZWE6OlNldEV4
cG9zZWRSZWN0KG1fZXhwb3NlZFJlY3QpLCBtX3dlYlBhZ2VQcm94eS5wYWdlSUQoKSk7CiAgICAg
bV9sYXN0U2VudEV4cG9zZWRSZWN0ID0gbV9leHBvc2VkUmVjdDsKIH0KICNlbmRpZiAvLyBQTEFU
Rk9STShNQUMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaApp
bmRleCBmY2ZmMzUyMjQwYTI5ODhlOGNmM2M2NWJiOTVjNzUwNDQ4NTZlZmU1Li45YjIzNzY0ZmJi
MDVkM2U2NTI3Zjk5Mjg2MGU1MTViZDQ3ZDY2ZjQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKQEAgLTkxLDEwICs5MSwxMCBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCB2b2lkIGhpZGVDb250ZW50VW50aWxOZXh0VXBkYXRlKCkgeyBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgZXhwbGljaXQgRHJhd2luZ0FyZWFQcm94eShE
cmF3aW5nQXJlYVR5cGUsIFdlYlBhZ2VQcm94eSopOworICAgIGV4cGxpY2l0IERyYXdpbmdBcmVh
UHJveHkoRHJhd2luZ0FyZWFUeXBlLCBXZWJQYWdlUHJveHkmKTsKIAogICAgIERyYXdpbmdBcmVh
VHlwZSBtX3R5cGU7Ci0gICAgV2ViUGFnZVByb3h5KiBtX3dlYlBhZ2VQcm94eTsKKyAgICBXZWJQ
YWdlUHJveHkmIG1fd2ViUGFnZVByb3h5OwogCiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtX3NpemU7
CiAgICAgV2ViQ29yZTo6SW50U2l6ZSBtX2xheWVyUG9zaXRpb247CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHku
aCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0Fy
ZWFQcm94eS5oCmluZGV4IDQ2Y2U3OGZiYzljYTdiNGM2ZGI3MGM0NGIyM2NhNDBkZmFkOTc0MDku
LjcwMjljMTQyYjhiNWM1NmY2NTg2OWU0NTRkYTA0NzFkN2IzY2ZhNzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94
eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWFQcm94eS5oCkBAIC00MSw3ICs0MSw3IEBAIGNsYXNzIFJlbW90ZVNjcm9sbGluZ0Nv
b3JkaW5hdG9yVHJhbnNhY3Rpb247CiAKIGNsYXNzIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVh
UHJveHkgOiBwdWJsaWMgRHJhd2luZ0FyZWFQcm94eSB7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQg
UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eShXZWJQYWdlUHJveHkqKTsKKyAgICBleHBs
aWNpdCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5KFdlYlBhZ2VQcm94eSYpOwogICAg
IHZpcnR1YWwgflJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkoKTsKIAogICAgIGNvbnN0
IFJlbW90ZUxheWVyVHJlZUhvc3QmIHJlbW90ZUxheWVyVHJlZUhvc3QoKSBjb25zdCB7IHJldHVy
biBtX3JlbW90ZUxheWVyVHJlZUhvc3Q7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbSBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5tbQpp
bmRleCA1ODAzZGM4MTBlNmZiNmYzNmY4NWFjYmFhNTdjNjE4ZjlkNTllNDU5Li5lMzRiYjk0MWM0
OWFlMWU5ZDMzNmMxMDYxNTdkMzA2ZmI3Yjc4YzlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvbWFjL1JlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkubW0KKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVBy
b3h5Lm1tCkBAIC05OCw3ICs5OCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIAotUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6UmVtb3Rl
TGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eShXZWJQYWdlUHJveHkqIHdlYlBhZ2VQcm94eSkKK1Jl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVh
UHJveHkoV2ViUGFnZVByb3h5JiB3ZWJQYWdlUHJveHkpCiAgICAgOiBEcmF3aW5nQXJlYVByb3h5
KERyYXdpbmdBcmVhVHlwZVJlbW90ZUxheWVyVHJlZSwgd2ViUGFnZVByb3h5KQogICAgICwgbV9y
ZW1vdGVMYXllclRyZWVIb3N0KCp0aGlzKQogICAgICwgbV9pc1dhaXRpbmdGb3JEaWRVcGRhdGVH
ZW9tZXRyeShmYWxzZSkKQEAgLTExNSwxNiArMTE1LDE2IEBAIFJlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhUHJveHk6OlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkoV2ViUGFnZVByb3h5
KiB3CiAgICAgSU9TdXJmYWNlUG9vbDo6c2hhcmVkUG9vbCgpLnNldFBvb2xTaXplKDApOwogI2Vu
ZGlmCiAKLSAgICBtX3dlYlBhZ2VQcm94eS0+cHJvY2VzcygpLmFkZE1lc3NhZ2VSZWNlaXZlcihN
ZXNzYWdlczo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6bWVzc2FnZVJlY2VpdmVy
TmFtZSgpLCBtX3dlYlBhZ2VQcm94eS0+cGFnZUlEKCksICp0aGlzKTsKKyAgICBtX3dlYlBhZ2VQ
cm94eS5wcm9jZXNzKCkuYWRkTWVzc2FnZVJlY2VpdmVyKE1lc3NhZ2VzOjpSZW1vdGVMYXllclRy
ZWVEcmF3aW5nQXJlYVByb3h5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCksIG1fd2ViUGFnZVByb3h5
LnBhZ2VJRCgpLCAqdGhpcyk7CiAKLSAgICBpZiAobV93ZWJQYWdlUHJveHktPnByZWZlcmVuY2Vz
KCkudGlsZWRTY3JvbGxpbmdJbmRpY2F0b3JWaXNpYmxlKCkpCisgICAgaWYgKG1fd2ViUGFnZVBy
b3h5LnByZWZlcmVuY2VzKCkudGlsZWRTY3JvbGxpbmdJbmRpY2F0b3JWaXNpYmxlKCkpCiAgICAg
ICAgIGluaXRpYWxpemVEZWJ1Z0luZGljYXRvcigpOwogfQogCiBSZW1vdGVMYXllclRyZWVEcmF3
aW5nQXJlYVByb3h5Ojp+UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eSgpCiB7CiAgICAg
bV9jYWxsYmFja3MuaW52YWxpZGF0ZShDYWxsYmFja0Jhc2U6OkVycm9yOjpPd25lcldhc0ludmFs
aWRhdGVkKTsKLSAgICBtX3dlYlBhZ2VQcm94eS0+cHJvY2VzcygpLnJlbW92ZU1lc3NhZ2VSZWNl
aXZlcihNZXNzYWdlczo6UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6bWVzc2FnZVJl
Y2VpdmVyTmFtZSgpLCBtX3dlYlBhZ2VQcm94eS0+cGFnZUlEKCkpOworICAgIG1fd2ViUGFnZVBy
b3h5LnByb2Nlc3MoKS5yZW1vdmVNZXNzYWdlUmVjZWl2ZXIoTWVzc2FnZXM6OlJlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhUHJveHk6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSwgbV93ZWJQYWdlUHJv
eHkucGFnZUlEKCkpOwogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIFttX2Rpc3BsYXlMaW5rSGFu
ZGxlciBpbnZhbGlkYXRlXTsKQEAgLTEzMyw3ICsxMzMsNyBAQCBSZW1vdGVMYXllclRyZWVEcmF3
aW5nQXJlYVByb3h5Ojp+UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eSgpCiAKIHZvaWQg
UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6c2l6ZURpZENoYW5nZSgpCiB7Ci0gICAg
aWYgKCFtX3dlYlBhZ2VQcm94eS0+aXNWYWxpZCgpKQorICAgIGlmICghbV93ZWJQYWdlUHJveHku
aXNWYWxpZCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBpZiAobV9pc1dhaXRpbmdGb3JEaWRV
cGRhdGVHZW9tZXRyeSkKQEAgLTE0NCw3ICsxNDQsNyBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhUHJveHk6OnNpemVEaWRDaGFuZ2UoKQogCiB2b2lkIFJlbW90ZUxheWVyVHJlZURy
YXdpbmdBcmVhUHJveHk6OmRldmljZVNjYWxlRmFjdG9yRGlkQ2hhbmdlKCkKIHsKLSAgICBtX3dl
YlBhZ2VQcm94eS0+cHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpTZXREZXZp
Y2VTY2FsZUZhY3RvcihtX3dlYlBhZ2VQcm94eS0+ZGV2aWNlU2NhbGVGYWN0b3IoKSksIG1fd2Vi
UGFnZVByb3h5LT5wYWdlSUQoKSk7CisgICAgbV93ZWJQYWdlUHJveHkucHJvY2VzcygpLnNlbmQo
TWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpTZXREZXZpY2VTY2FsZUZhY3RvcihtX3dlYlBhZ2VQcm94
eS5kZXZpY2VTY2FsZUZhY3RvcigpKSwgbV93ZWJQYWdlUHJveHkucGFnZUlEKCkpOwogfQogCiB2
b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmRpZFVwZGF0ZUdlb21ldHJ5KCkK
QEAgLTE2MiwxMCArMTYyLDEwIEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94
eTo6ZGlkVXBkYXRlR2VvbWV0cnkoKQogRmxvYXRSZWN0IFJlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhUHJveHk6OnNjYWxlZEV4cG9zZWRSZWN0KCkgY29uc3QKIHsKICNpZiBQTEFURk9STShJT1Mp
Ci0gICAgcmV0dXJuIG1fd2ViUGFnZVByb3h5LT5leHBvc2VkQ29udGVudFJlY3QoKTsKKyAgICBy
ZXR1cm4gbV93ZWJQYWdlUHJveHkuZXhwb3NlZENvbnRlbnRSZWN0KCk7CiAjZWxzZQogICAgIEZs
b2F0UmVjdCBzY2FsZWRFeHBvc2VkUmVjdCA9IGV4cG9zZWRSZWN0KCk7Ci0gICAgZmxvYXQgc2Nh
bGUgPSAxIC8gbV93ZWJQYWdlUHJveHktPnBhZ2VTY2FsZUZhY3RvcigpOworICAgIGZsb2F0IHNj
YWxlID0gMSAvIG1fd2ViUGFnZVByb3h5LnBhZ2VTY2FsZUZhY3RvcigpOwogICAgIHNjYWxlZEV4
cG9zZWRSZWN0LnNjYWxlKHNjYWxlLCBzY2FsZSk7CiAgICAgcmV0dXJuIHNjYWxlZEV4cG9zZWRS
ZWN0OwogI2VuZGlmCkBAIC0xNzUsNyArMTc1LDcgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3
aW5nQXJlYVByb3h5OjpzZW5kVXBkYXRlR2VvbWV0cnkoKQogewogICAgIG1fbGFzdFNlbnRTaXpl
ID0gbV9zaXplOwogICAgIG1fbGFzdFNlbnRMYXllclBvc2l0aW9uID0gbV9sYXllclBvc2l0aW9u
OwotICAgIG1fd2ViUGFnZVByb3h5LT5wcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6RHJhd2luZ0Fy
ZWE6OlVwZGF0ZUdlb21ldHJ5KG1fc2l6ZSwgbV9sYXllclBvc2l0aW9uKSwgbV93ZWJQYWdlUHJv
eHktPnBhZ2VJRCgpKTsKKyAgICBtX3dlYlBhZ2VQcm94eS5wcm9jZXNzKCkuc2VuZChNZXNzYWdl
czo6RHJhd2luZ0FyZWE6OlVwZGF0ZUdlb21ldHJ5KG1fc2l6ZSwgbV9sYXllclBvc2l0aW9uKSwg
bV93ZWJQYWdlUHJveHkucGFnZUlEKCkpOwogICAgIG1faXNXYWl0aW5nRm9yRGlkVXBkYXRlR2Vv
bWV0cnkgPSB0cnVlOwogfQogCkBAIC0xOTgsMjggKzE5OCwyOCBAQCB2b2lkIFJlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhUHJveHk6OmNvbW1pdExheWVyVHJlZShjb25zdCBSZW1vdGVMYXllclRy
ZWVUcmFucwogICAgIH0KIAogICAgIGlmIChtX3JlbW90ZUxheWVyVHJlZUhvc3QudXBkYXRlTGF5
ZXJUcmVlKGxheWVyVHJlZVRyYW5zYWN0aW9uKSkKLSAgICAgICAgbV93ZWJQYWdlUHJveHktPnNl
dEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdSb290TGF5ZXIobV9yZW1vdGVMYXllclRyZWVIb3N0LnJv
b3RMYXllcigpKTsKKyAgICAgICAgbV93ZWJQYWdlUHJveHkuc2V0QWNjZWxlcmF0ZWRDb21wb3Np
dGluZ1Jvb3RMYXllcihtX3JlbW90ZUxheWVyVHJlZUhvc3Qucm9vdExheWVyKCkpOwogCiAjaWYg
RU5BQkxFKEFTWU5DX1NDUk9MTElORykKICAgICBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclBy
b3h5OjpSZXF1ZXN0ZWRTY3JvbGxJbmZvIHJlcXVlc3RlZFNjcm9sbEluZm87Ci0gICAgbV93ZWJQ
YWdlUHJveHktPnNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkoKS0+dXBkYXRlU2Nyb2xsaW5nVHJl
ZShzY3JvbGxpbmdUcmVlVHJhbnNhY3Rpb24sIHJlcXVlc3RlZFNjcm9sbEluZm8pOworICAgIG1f
d2ViUGFnZVByb3h5LnNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkoKS0+dXBkYXRlU2Nyb2xsaW5n
VHJlZShzY3JvbGxpbmdUcmVlVHJhbnNhY3Rpb24sIHJlcXVlc3RlZFNjcm9sbEluZm8pOwogI2Vu
ZGlmCiAKLSAgICBtX3dlYlBhZ2VQcm94eS0+ZGlkQ29tbWl0TGF5ZXJUcmVlKGxheWVyVHJlZVRy
YW5zYWN0aW9uKTsKKyAgICBtX3dlYlBhZ2VQcm94eS5kaWRDb21taXRMYXllclRyZWUobGF5ZXJU
cmVlVHJhbnNhY3Rpb24pOwogCiAjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKICNpZiBQTEFU
Rk9STShJT1MpCi0gICAgaWYgKG1fd2ViUGFnZVByb3h5LT5zY3JvbGxpbmdDb29yZGluYXRvclBy
b3h5KCktPmhhc0ZpeGVkT3JTdGlja3koKSkgeworICAgIGlmIChtX3dlYlBhZ2VQcm94eS5zY3Jv
bGxpbmdDb29yZGluYXRvclByb3h5KCktPmhhc0ZpeGVkT3JTdGlja3koKSkgewogICAgICAgICAv
LyBJZiB3ZSBnb3QgYSBuZXcgbGF5ZXIgZm9yIGEgZml4ZWQgb3Igc3RpY2t5IG5vZGUsIGl0cyBw
b3NpdGlvbiBmcm9tIHRoZSBXZWJQcm9jZXNzIGlzIHByb2JhYmx5IHN0YWxlLiBXZSBuZWVkIHRv
IHJlLXJ1biB0aGUgInZpZXdwb3J0IiBjaGFuZ2VkIGxvZ2ljIHRvIHVkcGF0ZSBpdCB3aXRoIG91
ciBVSS1zaWRlIHN0YXRlLgotICAgICAgICBGbG9hdFJlY3QgY3VzdG9tRml4ZWRQb3NpdGlvblJl
Y3QgPSBtX3dlYlBhZ2VQcm94eS0+Y29tcHV0ZUN1c3RvbUZpeGVkUG9zaXRpb25SZWN0KG1fd2Vi
UGFnZVByb3h5LT51bm9ic2N1cmVkQ29udGVudFJlY3QoKSwgbV93ZWJQYWdlUHJveHktPmRpc3Bs
YXllZENvbnRlbnRTY2FsZSgpKTsKLSAgICAgICAgbV93ZWJQYWdlUHJveHktPnNjcm9sbGluZ0Nv
b3JkaW5hdG9yUHJveHkoKS0+dmlld3BvcnRDaGFuZ2VkVmlhRGVsZWdhdGVkU2Nyb2xsaW5nKG1f
d2ViUGFnZVByb3h5LT5zY3JvbGxpbmdDb29yZGluYXRvclByb3h5KCktPnJvb3RTY3JvbGxpbmdO
b2RlSUQoKSwgY3VzdG9tRml4ZWRQb3NpdGlvblJlY3QsIG1fd2ViUGFnZVByb3h5LT5kaXNwbGF5
ZWRDb250ZW50U2NhbGUoKSk7CisgICAgICAgIEZsb2F0UmVjdCBjdXN0b21GaXhlZFBvc2l0aW9u
UmVjdCA9IG1fd2ViUGFnZVByb3h5LmNvbXB1dGVDdXN0b21GaXhlZFBvc2l0aW9uUmVjdChtX3dl
YlBhZ2VQcm94eS51bm9ic2N1cmVkQ29udGVudFJlY3QoKSwgbV93ZWJQYWdlUHJveHkuZGlzcGxh
eWVkQ29udGVudFNjYWxlKCkpOworICAgICAgICBtX3dlYlBhZ2VQcm94eS5zY3JvbGxpbmdDb29y
ZGluYXRvclByb3h5KCktPnZpZXdwb3J0Q2hhbmdlZFZpYURlbGVnYXRlZFNjcm9sbGluZyhtX3dl
YlBhZ2VQcm94eS5zY3JvbGxpbmdDb29yZGluYXRvclByb3h5KCktPnJvb3RTY3JvbGxpbmdOb2Rl
SUQoKSwgY3VzdG9tRml4ZWRQb3NpdGlvblJlY3QsIG1fd2ViUGFnZVByb3h5LmRpc3BsYXllZENv
bnRlbnRTY2FsZSgpKTsKICAgICB9CiAjZW5kaWYKIAogICAgIC8vIEhhbmRsZSByZXF1ZXN0ZWQg
c2Nyb2xsIHBvc2l0aW9uIHVwZGF0ZXMgZnJvbSB0aGUgc2Nyb2xsaW5nIHRyZWUgdHJhbnNhY3Rp
b24gYWZ0ZXIgZGlkQ29tbWl0TGF5ZXJUcmVlKCkKICAgICAvLyBoYXMgdXBkYXRlZCB0aGUgdmll
dyBzaXplIGJhc2VkIG9uIHRoZSBjb250ZW50IHNpemUuCiAgICAgaWYgKHJlcXVlc3RlZFNjcm9s
bEluZm8ucmVxdWVzdHNTY3JvbGxQb3NpdGlvblVwZGF0ZSkKLSAgICAgICAgbV93ZWJQYWdlUHJv
eHktPnJlcXVlc3RTY3JvbGwocmVxdWVzdGVkU2Nyb2xsSW5mby5yZXF1ZXN0ZWRTY3JvbGxQb3Np
dGlvbiwgcmVxdWVzdGVkU2Nyb2xsSW5mby5yZXF1ZXN0SXNQcm9ncmFtbWF0aWNTY3JvbGwpOwor
ICAgICAgICBtX3dlYlBhZ2VQcm94eS5yZXF1ZXN0U2Nyb2xsKHJlcXVlc3RlZFNjcm9sbEluZm8u
cmVxdWVzdGVkU2Nyb2xsUG9zaXRpb24sIHJlcXVlc3RlZFNjcm9sbEluZm8ucmVxdWVzdElzUHJv
Z3JhbW1hdGljU2Nyb2xsKTsKICNlbmRpZiAvLyBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQogCiAg
ICAgaWYgKG1fZGVidWdJbmRpY2F0b3JMYXllclRyZWVIb3N0KSB7CkBAIC0yMzgsMTIgKzIzOCwx
MiBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmNvbW1pdExheWVyVHJl
ZShjb25zdCBSZW1vdGVMYXllclRyZWVUcmFucwogCiB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdp
bmdBcmVhUHJveHk6OmFjY2VsZXJhdGVkQW5pbWF0aW9uRGlkU3RhcnQodWludDY0X3QgbGF5ZXJJ
RCwgY29uc3QgU3RyaW5nJiBrZXksIGRvdWJsZSBzdGFydFRpbWUpCiB7Ci0gICAgbV93ZWJQYWdl
UHJveHktPnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6QWNjZWxlcmF0ZWRB
bmltYXRpb25EaWRTdGFydChsYXllcklELCBrZXksIHN0YXJ0VGltZSksIG1fd2ViUGFnZVByb3h5
LT5wYWdlSUQoKSk7CisgICAgbV93ZWJQYWdlUHJveHkucHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6
OkRyYXdpbmdBcmVhOjpBY2NlbGVyYXRlZEFuaW1hdGlvbkRpZFN0YXJ0KGxheWVySUQsIGtleSwg
c3RhcnRUaW1lKSwgbV93ZWJQYWdlUHJveHkucGFnZUlEKCkpOwogfQogCiB2b2lkIFJlbW90ZUxh
eWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmFjY2VsZXJhdGVkQW5pbWF0aW9uRGlkRW5kKHVpbnQ2
NF90IGxheWVySUQsIGNvbnN0IFN0cmluZyYga2V5KQogewotICAgIG1fd2ViUGFnZVByb3h5LT5w
cm9jZXNzKCkuc2VuZChNZXNzYWdlczo6RHJhd2luZ0FyZWE6OkFjY2VsZXJhdGVkQW5pbWF0aW9u
RGlkRW5kKGxheWVySUQsIGtleSksIG1fd2ViUGFnZVByb3h5LT5wYWdlSUQoKSk7CisgICAgbV93
ZWJQYWdlUHJveHkucHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpBY2NlbGVy
YXRlZEFuaW1hdGlvbkRpZEVuZChsYXllcklELCBrZXkpLCBtX3dlYlBhZ2VQcm94eS5wYWdlSUQo
KSk7CiB9CiAKIHN0YXRpYyBjb25zdCBmbG9hdCBpbmRpY2F0b3JJbnNldCA9IDEwOwpAQCAtMjU4
LDE1ICsyNTgsMTUgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5OjpzZXRF
eHBvc2VkUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHIKIAogRmxvYXRQb2ludCBSZW1v
dGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5OjppbmRpY2F0b3JMb2NhdGlvbigpIGNvbnN0CiB7
Ci0gICAgaWYgKG1fd2ViUGFnZVByb3h5LT5kZWxlZ2F0ZXNTY3JvbGxpbmcoKSkgeworICAgIGlm
IChtX3dlYlBhZ2VQcm94eS5kZWxlZ2F0ZXNTY3JvbGxpbmcoKSkgewogI2lmIFBMQVRGT1JNKElP
UykKLSAgICAgICAgRmxvYXRQb2ludCB0aWxlZE1hcExvY2F0aW9uID0gbV93ZWJQYWdlUHJveHkt
PnVub2JzY3VyZWRDb250ZW50UmVjdCgpLmxvY2F0aW9uKCk7Ci0gICAgICAgIGZsb2F0IGFic29s
dXRlSW5zZXQgPSBpbmRpY2F0b3JJbnNldCAvIG1fd2ViUGFnZVByb3h5LT5kaXNwbGF5ZWRDb250
ZW50U2NhbGUoKTsKKyAgICAgICAgRmxvYXRQb2ludCB0aWxlZE1hcExvY2F0aW9uID0gbV93ZWJQ
YWdlUHJveHkudW5vYnNjdXJlZENvbnRlbnRSZWN0KCkubG9jYXRpb24oKTsKKyAgICAgICAgZmxv
YXQgYWJzb2x1dGVJbnNldCA9IGluZGljYXRvckluc2V0IC8gbV93ZWJQYWdlUHJveHkuZGlzcGxh
eWVkQ29udGVudFNjYWxlKCk7CiAgICAgICAgIHRpbGVkTWFwTG9jYXRpb24gKz0gRmxvYXRTaXpl
KGFic29sdXRlSW5zZXQsIGFic29sdXRlSW5zZXQpOwogI2Vsc2UKICAgICAgICAgRmxvYXRQb2lu
dCB0aWxlZE1hcExvY2F0aW9uID0gZXhwb3NlZFJlY3QoKS5sb2NhdGlvbigpOwogICAgICAgICB0
aWxlZE1hcExvY2F0aW9uICs9IEZsb2F0U2l6ZShpbmRpY2F0b3JJbnNldCwgaW5kaWNhdG9ySW5z
ZXQpOwotICAgICAgICBmbG9hdCBzY2FsZSA9IDEgLyBtX3dlYlBhZ2VQcm94eS0+cGFnZVNjYWxl
RmFjdG9yKCk7OworICAgICAgICBmbG9hdCBzY2FsZSA9IDEgLyBtX3dlYlBhZ2VQcm94eS5wYWdl
U2NhbGVGYWN0b3IoKTs7CiAgICAgICAgIHRpbGVkTWFwTG9jYXRpb24uc2NhbGUoc2NhbGUsIHNj
YWxlKTsKICNlbmRpZgogICAgICAgICByZXR1cm4gdGlsZWRNYXBMb2NhdGlvbjsKQEAgLTI4Niw3
ICsyODYsNyBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OnVwZGF0ZURl
YnVnSW5kaWNhdG9yUG9zaXRpb24oKQogZmxvYXQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQ
cm94eTo6aW5kaWNhdG9yU2NhbGUoSW50U2l6ZSBjb250ZW50c1NpemUpIGNvbnN0CiB7CiAgICAg
Ly8gUGljayBhIGdvb2Qgc2NhbGUuCi0gICAgSW50U2l6ZSB2aWV3U2l6ZSA9IG1fd2ViUGFnZVBy
b3h5LT52aWV3U2l6ZSgpOworICAgIEludFNpemUgdmlld1NpemUgPSBtX3dlYlBhZ2VQcm94eS52
aWV3U2l6ZSgpOwogCiAgICAgZmxvYXQgc2NhbGUgPSAxOwogICAgIGlmICghY29udGVudHNTaXpl
LmlzRW1wdHkoKSkgewpAQCAtMzExLDcgKzMxMSw3IEBAIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWFQcm94eTo6dXBkYXRlRGVidWdJbmRpY2F0b3IoSW50U2l6ZSBjb250ZW50c1NpemUs
CiAgICAgW3Jvb3RMYXllciBhZGRTdWJsYXllcjptX3RpbGVNYXBIb3N0TGF5ZXIuZ2V0KCldOwog
CiAgICAgLy8gUGljayBhIGdvb2Qgc2NhbGUuCi0gICAgSW50U2l6ZSB2aWV3U2l6ZSA9IG1fd2Vi
UGFnZVByb3h5LT52aWV3U2l6ZSgpOworICAgIEludFNpemUgdmlld1NpemUgPSBtX3dlYlBhZ2VQ
cm94eS52aWV3U2l6ZSgpOwogCiAgICAgW21fdGlsZU1hcEhvc3RMYXllciBzZXRCb3VuZHM6Rmxv
YXRSZWN0KEZsb2F0UG9pbnQoKSwgY29udGVudHNTaXplKV07CiAgICAgW21fdGlsZU1hcEhvc3RM
YXllciBzZXRQb3NpdGlvbjppbmRpY2F0b3JMb2NhdGlvbigpXTsKQEAgLTMyOCw3ICszMjgsNyBA
QCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OnVwZGF0ZURlYnVnSW5kaWNh
dG9yKEludFNpemUgY29udGVudHNTaXplLAogCiAgICAgW21fZXhwb3NlZFJlY3RJbmRpY2F0b3JM
YXllciBzZXRCb3JkZXJXaWR0aDpjb3VudGVyU2NhbGVkQm9yZGVyXTsKIAotICAgIGlmIChtX3dl
YlBhZ2VQcm94eS0+ZGVsZWdhdGVzU2Nyb2xsaW5nKCkpIHsKKyAgICBpZiAobV93ZWJQYWdlUHJv
eHkuZGVsZWdhdGVzU2Nyb2xsaW5nKCkpIHsKICAgICAgICAgRmxvYXRSZWN0IHNjYWxlZEV4cG9z
ZWRSZWN0ID0gdGhpcy0+c2NhbGVkRXhwb3NlZFJlY3QoKTsKICAgICAgICAgW21fZXhwb3NlZFJl
Y3RJbmRpY2F0b3JMYXllciBzZXRQb3NpdGlvbjpzY2FsZWRFeHBvc2VkUmVjdC5sb2NhdGlvbigp
XTsKICAgICAgICAgW21fZXhwb3NlZFJlY3RJbmRpY2F0b3JMYXllciBzZXRCb3VuZHM6RmxvYXRS
ZWN0KEZsb2F0UG9pbnQoKSwgc2NhbGVkRXhwb3NlZFJlY3Quc2l6ZSgpKV07CkBAIC0zNzUsMTcg
KzM3NSwxNyBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk6OmluaXRpYWxp
emVEZWJ1Z0luZGljYXRvcigpCiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94
eTo6ZGlkUmVmcmVzaERpc3BsYXkoZG91YmxlKQogewotICAgIGlmICghbV93ZWJQYWdlUHJveHkt
PmlzVmFsaWQoKSkKKyAgICBpZiAoIW1fd2ViUGFnZVByb3h5LmlzVmFsaWQoKSkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgLy8gV2FpdGluZyBmb3IgQ0EgdG8gY29tbWl0IGlzIGluc3VmZmljaWVu
dCwgYmVjYXVzZSB0aGUgcmVuZGVyIHNlcnZlciBjYW4gc3RpbGwgYmUKICAgICAvLyB1c2luZyBv
dXIgYmFja2luZyBzdG9yZS4gV2UgY2FuIGltcHJvdmUgdGhpcyBieSB3YWl0aW5nIGZvciB0aGUg
cmVuZGVyIHNlcnZlciB0byBjb21taXQKICAgICAvLyBpZiB3ZSBmaW5kIEFQSSB0byBkbyBzbywg
YnV0IGZvciBub3cgd2Ugd2lsbCBtYWtlIGV4dHJhIGJ1ZmZlcnMgaWYgbmVlZCBiZS4KLSAgICBt
X3dlYlBhZ2VQcm94eS0+cHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpEaWRV
cGRhdGUoKSwgbV93ZWJQYWdlUHJveHktPnBhZ2VJRCgpKTsKKyAgICBtX3dlYlBhZ2VQcm94eS5w
cm9jZXNzKCkuc2VuZChNZXNzYWdlczo6RHJhd2luZ0FyZWE6OkRpZFVwZGF0ZSgpLCBtX3dlYlBh
Z2VQcm94eS5wYWdlSUQoKSk7CiAKICAgICBtX2xhc3RWaXNpYmxlVHJhbnNhY3Rpb25JRCA9IG1f
dHJhbnNhY3Rpb25JREZvclBlbmRpbmdDQUNvbW1pdDsKIAotICAgIG1fd2ViUGFnZVByb3h5LT5k
aWRVcGRhdGVWaWV3U3RhdGUoKTsKKyAgICBtX3dlYlBhZ2VQcm94eS5kaWRVcGRhdGVWaWV3U3Rh
dGUoKTsKIH0KIAogdm9pZCBSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Ojp3YWl0Rm9y
RGlkVXBkYXRlVmlld1N0YXRlKCkKQEAgLTM5NSwxNyArMzk1LDE3IEBAIHZvaWQgUmVtb3RlTGF5
ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6d2FpdEZvckRpZFVwZGF0ZVZpZXdTdGF0ZSgpCiAjZWxz
ZQogICAgIGF1dG8gdmlld1N0YXRlVXBkYXRlVGltZW91dCA9IHN0ZDo6Y2hyb25vOjptaWxsaXNl
Y29uZHMoMjUwKTsKICNlbmRpZgotICAgIG1fd2ViUGFnZVByb3h5LT5wcm9jZXNzKCkuY29ubmVj
dGlvbigpLT53YWl0Rm9yQW5kRGlzcGF0Y2hJbW1lZGlhdGVseTxNZXNzYWdlczo6UmVtb3RlTGF5
ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6Q29tbWl0TGF5ZXJUcmVlPihtX3dlYlBhZ2VQcm94eS0+
cGFnZUlEKCksIHZpZXdTdGF0ZVVwZGF0ZVRpbWVvdXQsIEludGVycnVwdFdhaXRpbmdJZlN5bmNN
ZXNzYWdlQXJyaXZlcyk7CisgICAgbV93ZWJQYWdlUHJveHkucHJvY2VzcygpLmNvbm5lY3Rpb24o
KS0+d2FpdEZvckFuZERpc3BhdGNoSW1tZWRpYXRlbHk8TWVzc2FnZXM6OlJlbW90ZUxheWVyVHJl
ZURyYXdpbmdBcmVhUHJveHk6OkNvbW1pdExheWVyVHJlZT4obV93ZWJQYWdlUHJveHkucGFnZUlE
KCksIHZpZXdTdGF0ZVVwZGF0ZVRpbWVvdXQsIEludGVycnVwdFdhaXRpbmdJZlN5bmNNZXNzYWdl
QXJyaXZlcyk7CiB9CiAKIHZvaWQgUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eTo6ZGlz
cGF0Y2hBZnRlckVuc3VyaW5nRHJhd2luZyhzdGQ6OmZ1bmN0aW9uPHZvaWQgKENhbGxiYWNrQmFz
ZTo6RXJyb3IpPiBjYWxsYmFja0Z1bmN0aW9uKQogewotICAgIGlmICghbV93ZWJQYWdlUHJveHkt
PmlzVmFsaWQoKSkgeworICAgIGlmICghbV93ZWJQYWdlUHJveHkuaXNWYWxpZCgpKSB7CiAgICAg
ICAgIGNhbGxiYWNrRnVuY3Rpb24oQ2FsbGJhY2tCYXNlOjpFcnJvcjo6T3duZXJXYXNJbnZhbGlk
YXRlZCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBtX3dlYlBhZ2VQcm94eS0+cHJv
Y2VzcygpLnNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpBZGRUcmFuc2FjdGlvbkNhbGxiYWNr
SUQobV9jYWxsYmFja3MucHV0KFdURjo6bW92ZShjYWxsYmFja0Z1bmN0aW9uKSwgbnVsbHB0cikp
LCBtX3dlYlBhZ2VQcm94eS0+cGFnZUlEKCkpOworICAgIG1fd2ViUGFnZVByb3h5LnByb2Nlc3Mo
KS5zZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6QWRkVHJhbnNhY3Rpb25DYWxsYmFja0lEKG1f
Y2FsbGJhY2tzLnB1dChXVEY6Om1vdmUoY2FsbGJhY2tGdW5jdGlvbiksIG51bGxwdHIpKSwgbV93
ZWJQYWdlUHJveHkucGFnZUlEKCkpOwogfQogCiB2b2lkIFJlbW90ZUxheWVyVHJlZURyYXdpbmdB
cmVhUHJveHk6OmhpZGVDb250ZW50VW50aWxOZXh0VXBkYXRlKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94
eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3
aW5nQXJlYVByb3h5LmgKaW5kZXggZDU4NDJlNjY4MWM5NDg4YzBmODQ1NWE2ZDZmMjBmNzE0M2Q0
NGQ3OS4uODY5ZjYyZTgwMDdlN2EwMGNhZTUwOTFkNTI1OGFlOTMzZjFiYjkyMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5n
QXJlYVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9UaWxlZENvcmVB
bmltYXRpb25EcmF3aW5nQXJlYVByb3h5LmgKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdl
YktpdCB7CiAKIGNsYXNzIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkgOiBwdWJs
aWMgRHJhd2luZ0FyZWFQcm94eSB7CiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgVGlsZWRDb3JlQW5p
bWF0aW9uRHJhd2luZ0FyZWFQcm94eShXZWJQYWdlUHJveHkqKTsKKyAgICBleHBsaWNpdCBUaWxl
ZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5KFdlYlBhZ2VQcm94eSYpOwogICAgIHZpcnR1
YWwgflRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkoKTsKIAogcHJpdmF0ZToKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVGlsZWRDb3JlQW5pbWF0aW9u
RHJhd2luZ0FyZWFQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVGlsZWRD
b3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eS5tbQppbmRleCAwODFkZmM2OTA3ZmVkYWI0ZWRi
ZTA0MzNjZjdlMmJiMzFkOTg0MTU3Li5iZjIwYzczZTg3MjdlMzMzNzY5MzYxMWYxYjBiZjI2MjVj
OGM5YmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1RpbGVkQ29y
ZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Lm1tCkBAIC00MCw3ICs0
MCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAot
VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eTo6VGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWFQcm94eShXZWJQYWdlUHJveHkqIHdlYlBhZ2VQcm94eSkKK1RpbGVkQ29yZUFuaW1h
dGlvbkRyYXdpbmdBcmVhUHJveHk6OlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHko
V2ViUGFnZVByb3h5JiB3ZWJQYWdlUHJveHkpCiAgICAgOiBEcmF3aW5nQXJlYVByb3h5KERyYXdp
bmdBcmVhVHlwZVRpbGVkQ29yZUFuaW1hdGlvbiwgd2ViUGFnZVByb3h5KQogICAgICwgbV9pc1dh
aXRpbmdGb3JEaWRVcGRhdGVHZW9tZXRyeShmYWxzZSkKIHsKQEAgLTUyLDEyICs1MiwxMiBAQCBU
aWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Ojp+VGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWFQcm94eSgpCiAKIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94
eTo6ZGV2aWNlU2NhbGVGYWN0b3JEaWRDaGFuZ2UoKQogewotICAgIG1fd2ViUGFnZVByb3h5LT5w
cm9jZXNzKCkuc2VuZChNZXNzYWdlczo6RHJhd2luZ0FyZWE6OlNldERldmljZVNjYWxlRmFjdG9y
KG1fd2ViUGFnZVByb3h5LT5kZXZpY2VTY2FsZUZhY3RvcigpKSwgbV93ZWJQYWdlUHJveHktPnBh
Z2VJRCgpKTsKKyAgICBtX3dlYlBhZ2VQcm94eS5wcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6RHJh
d2luZ0FyZWE6OlNldERldmljZVNjYWxlRmFjdG9yKG1fd2ViUGFnZVByb3h5LmRldmljZVNjYWxl
RmFjdG9yKCkpLCBtX3dlYlBhZ2VQcm94eS5wYWdlSUQoKSk7CiB9CiAKIHZvaWQgVGlsZWRDb3Jl
QW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eTo6c2l6ZURpZENoYW5nZSgpCiB7Ci0gICAgaWYgKCFt
X3dlYlBhZ2VQcm94eS0+aXNWYWxpZCgpKQorICAgIGlmICghbV93ZWJQYWdlUHJveHkuaXNWYWxp
ZCgpKQogICAgICAgICByZXR1cm47CiAKICAgICAvLyBXZSBvbmx5IHdhbnQgb25lIFVwZGF0ZUdl
b21ldHJ5IG1lc3NhZ2UgaW4gZmxpZ2h0IGF0IG9uY2UsIHNvIGlmIHdlJ3ZlIGFscmVhZHkgc2Vu
dCBvbmUgYnV0CkBAIC03MywyMCArNzMsMjAgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3
aW5nQXJlYVByb3h5Ojp3YWl0Rm9yUG9zc2libGVHZW9tZXRyeVVwZGF0ZShzdGQ6OmNocm8KICAg
ICBpZiAoIW1faXNXYWl0aW5nRm9yRGlkVXBkYXRlR2VvbWV0cnkpCiAgICAgICAgIHJldHVybjsK
IAotICAgIGlmIChtX3dlYlBhZ2VQcm94eS0+cHJvY2VzcygpLnN0YXRlKCkgIT0gV2ViUHJvY2Vz
c1Byb3h5OjpTdGF0ZTo6UnVubmluZykKKyAgICBpZiAobV93ZWJQYWdlUHJveHkucHJvY2Vzcygp
LnN0YXRlKCkgIT0gV2ViUHJvY2Vzc1Byb3h5OjpTdGF0ZTo6UnVubmluZykKICAgICAgICAgcmV0
dXJuOwogCi0gICAgbV93ZWJQYWdlUHJveHktPnByb2Nlc3MoKS5jb25uZWN0aW9uKCktPndhaXRG
b3JBbmREaXNwYXRjaEltbWVkaWF0ZWx5PE1lc3NhZ2VzOjpEcmF3aW5nQXJlYVByb3h5OjpEaWRV
cGRhdGVHZW9tZXRyeT4obV93ZWJQYWdlUHJveHktPnBhZ2VJRCgpLCB0aW1lb3V0KTsKKyAgICBt
X3dlYlBhZ2VQcm94eS5wcm9jZXNzKCkuY29ubmVjdGlvbigpLT53YWl0Rm9yQW5kRGlzcGF0Y2hJ
bW1lZGlhdGVseTxNZXNzYWdlczo6RHJhd2luZ0FyZWFQcm94eTo6RGlkVXBkYXRlR2VvbWV0cnk+
KG1fd2ViUGFnZVByb3h5LnBhZ2VJRCgpLCB0aW1lb3V0KTsKIH0KIAogdm9pZCBUaWxlZENvcmVB
bmltYXRpb25EcmF3aW5nQXJlYVByb3h5Ojpjb2xvclNwYWNlRGlkQ2hhbmdlKCkKIHsKLSAgICBt
X3dlYlBhZ2VQcm94eS0+cHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpTZXRD
b2xvclNwYWNlKG1fd2ViUGFnZVByb3h5LT5jb2xvclNwYWNlKCkpLCBtX3dlYlBhZ2VQcm94eS0+
cGFnZUlEKCkpOworICAgIG1fd2ViUGFnZVByb3h5LnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpE
cmF3aW5nQXJlYTo6U2V0Q29sb3JTcGFjZShtX3dlYlBhZ2VQcm94eS5jb2xvclNwYWNlKCkpLCBt
X3dlYlBhZ2VQcm94eS5wYWdlSUQoKSk7CiB9CiAKIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJh
d2luZ0FyZWFQcm94eTo6bWluaW11bUxheW91dFNpemVEaWRDaGFuZ2UoKQogewotICAgIGlmICgh
bV93ZWJQYWdlUHJveHktPmlzVmFsaWQoKSkKKyAgICBpZiAoIW1fd2ViUGFnZVByb3h5LmlzVmFs
aWQoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gV2Ugb25seSB3YW50IG9uZSBVcGRhdGVH
ZW9tZXRyeSBtZXNzYWdlIGluIGZsaWdodCBhdCBvbmNlLCBzbyBpZiB3ZSd2ZSBhbHJlYWR5IHNl
bnQgb25lIGJ1dApAQCAtOTksNyArOTksNyBAQCB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdp
bmdBcmVhUHJveHk6Om1pbmltdW1MYXlvdXRTaXplRGlkQ2hhbmdlKCkKIAogdm9pZCBUaWxlZENv
cmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5OjplbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdN
b2RlKHVpbnQ2NF90IGJhY2tpbmdTdG9yZVN0YXRlSUQsIGNvbnN0IExheWVyVHJlZUNvbnRleHQm
IGxheWVyVHJlZUNvbnRleHQpCiB7Ci0gICAgbV93ZWJQYWdlUHJveHktPmVudGVyQWNjZWxlcmF0
ZWRDb21wb3NpdGluZ01vZGUobGF5ZXJUcmVlQ29udGV4dCk7CisgICAgbV93ZWJQYWdlUHJveHku
ZW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShsYXllclRyZWVDb250ZXh0KTsKIH0KIAog
dm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5OjpleGl0QWNjZWxlcmF0ZWRD
b21wb3NpdGluZ01vZGUodWludDY0X3QgYmFja2luZ1N0b3JlU3RhdGVJRCwgY29uc3QgVXBkYXRl
SW5mbyYpCkBAIC0xMTAsNyArMTEwLDcgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5n
QXJlYVByb3h5OjpleGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUodWludDY0X3QKIAogdm9p
ZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Ojp1cGRhdGVBY2NlbGVyYXRlZENv
bXBvc2l0aW5nTW9kZSh1aW50NjRfdCBiYWNraW5nU3RvcmVTdGF0ZUlELCBjb25zdCBMYXllclRy
ZWVDb250ZXh0JiBsYXllclRyZWVDb250ZXh0KQogewotICAgIG1fd2ViUGFnZVByb3h5LT51cGRh
dGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShsYXllclRyZWVDb250ZXh0KTsKKyAgICBtX3dl
YlBhZ2VQcm94eS51cGRhdGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShsYXllclRyZWVDb250
ZXh0KTsKIH0KIAogdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5OjpkaWRV
cGRhdGVHZW9tZXRyeSgpCkBAIC0xMTksNyArMTE5LDcgQEAgdm9pZCBUaWxlZENvcmVBbmltYXRp
b25EcmF3aW5nQXJlYVByb3h5OjpkaWRVcGRhdGVHZW9tZXRyeSgpCiAKICAgICBtX2lzV2FpdGlu
Z0ZvckRpZFVwZGF0ZUdlb21ldHJ5ID0gZmFsc2U7CiAKLSAgICBJbnRTaXplIG1pbmltdW1MYXlv
dXRTaXplID0gbV93ZWJQYWdlUHJveHktPm1pbmltdW1MYXlvdXRTaXplKCk7CisgICAgSW50U2l6
ZSBtaW5pbXVtTGF5b3V0U2l6ZSA9IG1fd2ViUGFnZVByb3h5Lm1pbmltdW1MYXlvdXRTaXplKCk7
CiAKICAgICAvLyBJZiB0aGUgV0tWaWV3IHdhcyByZXNpemVkIHdoaWxlIHdlIHdlcmUgd2FpdGlu
ZyBmb3IgYSBEaWRVcGRhdGVHZW9tZXRyeSByZXBseSBmcm9tIHRoZSB3ZWIgcHJvY2VzcywKICAg
ICAvLyB3ZSBuZWVkIHRvIHJlc2VuZCB0aGUgbmV3IHNpemUgaGVyZS4KQEAgLTEzMCwzNCArMTMw
LDM0IEBAIHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eTo6ZGlkVXBkYXRl
R2VvbWV0cnkoKQogdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Ojp3YWl0
Rm9yRGlkVXBkYXRlVmlld1N0YXRlKCkKIHsKICAgICBhdXRvIHZpZXdTdGF0ZVVwZGF0ZVRpbWVv
dXQgPSBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKDI1MCk7Ci0gICAgbV93ZWJQYWdlUHJveHkt
PnByb2Nlc3MoKS5jb25uZWN0aW9uKCktPndhaXRGb3JBbmREaXNwYXRjaEltbWVkaWF0ZWx5PE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFVwZGF0ZVZpZXdTdGF0ZT4obV93ZWJQYWdlUHJveHkt
PnBhZ2VJRCgpLCB2aWV3U3RhdGVVcGRhdGVUaW1lb3V0LCBJbnRlcnJ1cHRXYWl0aW5nSWZTeW5j
TWVzc2FnZUFycml2ZXMpOworICAgIG1fd2ViUGFnZVByb3h5LnByb2Nlc3MoKS5jb25uZWN0aW9u
KCktPndhaXRGb3JBbmREaXNwYXRjaEltbWVkaWF0ZWx5PE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6
OkRpZFVwZGF0ZVZpZXdTdGF0ZT4obV93ZWJQYWdlUHJveHkucGFnZUlEKCksIHZpZXdTdGF0ZVVw
ZGF0ZVRpbWVvdXQsIEludGVycnVwdFdhaXRpbmdJZlN5bmNNZXNzYWdlQXJyaXZlcyk7CiB9CiAK
IHZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eTo6aW50cmluc2ljQ29udGVu
dFNpemVEaWRDaGFuZ2UoY29uc3QgSW50U2l6ZSYgbmV3SW50cmluc2ljQ29udGVudFNpemUpCiB7
Ci0gICAgaWYgKG1fd2ViUGFnZVByb3h5LT5taW5pbXVtTGF5b3V0U2l6ZSgpLndpZHRoKCkgPiAw
KQotICAgICAgICBtX3dlYlBhZ2VQcm94eS0+aW50cmluc2ljQ29udGVudFNpemVEaWRDaGFuZ2Uo
bmV3SW50cmluc2ljQ29udGVudFNpemUpOworICAgIGlmIChtX3dlYlBhZ2VQcm94eS5taW5pbXVt
TGF5b3V0U2l6ZSgpLndpZHRoKCkgPiAwKQorICAgICAgICBtX3dlYlBhZ2VQcm94eS5pbnRyaW5z
aWNDb250ZW50U2l6ZURpZENoYW5nZShuZXdJbnRyaW5zaWNDb250ZW50U2l6ZSk7CiB9CiAKIHZv
aWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eTo6c2VuZFVwZGF0ZUdlb21ldHJ5
KCkKIHsKICAgICBBU1NFUlQoIW1faXNXYWl0aW5nRm9yRGlkVXBkYXRlR2VvbWV0cnkpOwogCi0g
ICAgbV9sYXN0U2VudE1pbmltdW1MYXlvdXRTaXplID0gbV93ZWJQYWdlUHJveHktPm1pbmltdW1M
YXlvdXRTaXplKCk7CisgICAgbV9sYXN0U2VudE1pbmltdW1MYXlvdXRTaXplID0gbV93ZWJQYWdl
UHJveHkubWluaW11bUxheW91dFNpemUoKTsKICAgICBtX2xhc3RTZW50U2l6ZSA9IG1fc2l6ZTsK
ICAgICBtX2xhc3RTZW50TGF5ZXJQb3NpdGlvbiA9IG1fbGF5ZXJQb3NpdGlvbjsKLSAgICBtX3dl
YlBhZ2VQcm94eS0+cHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpVcGRhdGVH
ZW9tZXRyeShtX3NpemUsIG1fbGF5ZXJQb3NpdGlvbiksIG1fd2ViUGFnZVByb3h5LT5wYWdlSUQo
KSk7CisgICAgbV93ZWJQYWdlUHJveHkucHJvY2VzcygpLnNlbmQoTWVzc2FnZXM6OkRyYXdpbmdB
cmVhOjpVcGRhdGVHZW9tZXRyeShtX3NpemUsIG1fbGF5ZXJQb3NpdGlvbiksIG1fd2ViUGFnZVBy
b3h5LnBhZ2VJRCgpKTsKICAgICBtX2lzV2FpdGluZ0ZvckRpZFVwZGF0ZUdlb21ldHJ5ID0gdHJ1
ZTsKIH0KIAogdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5OjphZGp1c3RU
cmFuc2llbnRab29tKGRvdWJsZSBzY2FsZSwgRmxvYXRQb2ludCBvcmlnaW4pCiB7Ci0gICAgbV93
ZWJQYWdlUHJveHktPnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6QWRqdXN0
VHJhbnNpZW50Wm9vbShzY2FsZSwgb3JpZ2luKSwgbV93ZWJQYWdlUHJveHktPnBhZ2VJRCgpKTsK
KyAgICBtX3dlYlBhZ2VQcm94eS5wcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6RHJhd2luZ0FyZWE6
OkFkanVzdFRyYW5zaWVudFpvb20oc2NhbGUsIG9yaWdpbiksIG1fd2ViUGFnZVByb3h5LnBhZ2VJ
RCgpKTsKIH0KIAogdm9pZCBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5Ojpjb21t
aXRUcmFuc2llbnRab29tKGRvdWJsZSBzY2FsZSwgRmxvYXRQb2ludCBvcmlnaW4pCiB7Ci0gICAg
bV93ZWJQYWdlUHJveHktPnByb2Nlc3MoKS5zZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6Q29t
bWl0VHJhbnNpZW50Wm9vbShzY2FsZSwgb3JpZ2luKSwgbV93ZWJQYWdlUHJveHktPnBhZ2VJRCgp
KTsKKyAgICBtX3dlYlBhZ2VQcm94eS5wcm9jZXNzKCkuc2VuZChNZXNzYWdlczo6RHJhd2luZ0Fy
ZWE6OkNvbW1pdFRyYW5zaWVudFpvb20oc2NhbGUsIG9yaWdpbiksIG1fd2ViUGFnZVByb3h5LnBh
Z2VJRCgpKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>
<flag name="review"
          id="262200"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>