<?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>227828</bug_id>
          
          <creation_ts>2021-07-08 23:54:31 -0700</creation_ts>
          <short_desc>[Cairo][Win] Remove unneeded GraphicsContextPlatformPrivate</short_desc>
          <delta_ts>2021-10-14 13:52:00 -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>Platform</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=231769</see_also>
          <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="Fujii Hironori">fujii</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>don.olmstead</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1775928</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-07-08 23:54:31 -0700</bug_when>
    <thetext>[Cairo][Win] Remove unneeded GraphicsContextPlatformPrivate

GraphicsContextPlatformPrivate syncs HDC&apos;s transform with
GraphicsContext&apos;s transform. However, WinCairo doesn&apos;t use it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1775929</commentid>
    <comment_count>1</comment_count>
      <attachid>433201</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-07-08 23:57:25 -0700</bug_when>
    <thetext>Created attachment 433201
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776067</commentid>
    <comment_count>2</comment_count>
      <attachid>433201</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-07-09 13:38:12 -0700</bug_when>
    <thetext>Comment on attachment 433201
Patch

Clearing flags on attachment: 433201

Committed r279794 (239561@main): &lt;https://commits.webkit.org/239561@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776068</commentid>
    <comment_count>3</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-07-09 13:38:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776070</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-09 13:39:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/80392131&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776264</commentid>
    <comment_count>5</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2021-07-12 00:41:53 -0700</bug_when>
    <thetext>*** Bug 227827 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433201</attachid>
            <date>2021-07-08 23:57:25 -0700</date>
            <delta_ts>2021-07-09 13:38:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227828-20210709155724.patch</filename>
            <type>text/plain</type>
            <size>20341</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NzcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTFkNDMxZTA5NzJjY2Y3
YmUxM2U5Mzk0MmQ0MzVkMDNlODZhM2NiZi4uMGE5OWUyZDY3NzBkMzI1MzNiNTE2ZTZjNGU0ZmNl
M2FiMjFkNWFhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDIxLTA3LTA4ICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFtDYWlyb11b
V2luXSBSZW1vdmUgdW5uZWVkZWQgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc4MjgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBHcmFwaGljc0NvbnRl
eHRQbGF0Zm9ybVByaXZhdGUga2VlcHMgSERDJ3MgdHJhbnNmb3JtIHN5bmNpbmcgd2l0aAorICAg
ICAgICBHcmFwaGljc0NvbnRleHQncyB0cmFuc2Zvcm0uIEhvd2V2ZXIsIFdpbkNhaXJvIGRvZXNu
J3QgdXNlIGl0LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQmlmdXJjYXRlZEdyYXBo
aWNzQ29udGV4dC5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvQmlmdXJjYXRlZEdy
YXBoaWNzQ29udGV4dC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29u
dGV4dC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL051bGxHcmFwaGljc0NvbnRleHQu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9DYWlyb09wZXJhdGlvbnMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q2Fpcm86OlN0YXRlOjpzZXRDVE0pOgorICAgICAgICAoV2Vi
Q29yZTo6Q2Fpcm86OnRyYW5zbGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpDYWlybzo6cm90YXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNhaXJvOjpzY2FsZSk6CisgICAgICAgIChXZWJDb3JlOjpD
YWlybzo6Y29uY2F0Q1RNKToKKyAgICAgICAgKFdlYkNvcmU6OkNhaXJvOjpjbGlwKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNhaXJvOjpjbGlwUGF0aCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NDb250ZXh0Q2Fpcm86OkdyYXBoaWNzQ29udGV4dENhaXJvKToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dENhaXJvOjpzYXZlKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dENhaXJvOjpyZXN0b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dENhaXJvOjpncmFwaGljc0NvbnRleHRQcml2YXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZUNh
aXJvLmg6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNz
Q29udGV4dENhaXJvV2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6
cmVsZWFzZVdpbmRvd3NDb250ZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dFBsYXRmb3JtUHJpdmF0ZTo6R3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZTo6Zmx1
c2gpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0Q2Fpcm86OmRl
cHJlY2F0ZWRQcml2YXRlQ29udGV4dCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dFdpbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQ6OmdldFdpbmRvd3NDb250ZXh0KToKKyAgICAgICAgKiBwbGF0Zm9y
bS93aW4vRHJhZ0ltYWdlQ2Fpcm9XaW4uY3BwOgorCiAyMDIxLTA3LTA4ICBLYXRlIENoZW5leSAg
PGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgaU9TIGJ1
aWxkIGZpeCBhZnRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvQmlmdXJjYXRlZEdyYXBoaWNzQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9CaWZ1cmNhdGVkR3JhcGhpY3NDb250ZXh0LmNwcAppbmRleCAwNGQ4M2IzMWIy
NzNiYTZkODQ5NTc5YTMyNTUyNzQ5NmUwMWZiZjFkLi5kMTE5NjM0YTllMDJjM2M2MWM0MWZjNmQw
NjRiMGI2MGZiOTBhYmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9CaWZ1cmNhdGVkR3JhcGhpY3NDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9CaWZ1cmNhdGVkR3JhcGhpY3NDb250ZXh0LmNwcApAQCAtMzcyLDcg
KzM3Miw3IEBAIHZvaWQgQmlmdXJjYXRlZEdyYXBoaWNzQ29udGV4dDo6dXBkYXRlU3RhdGUoY29u
c3QgR3JhcGhpY3NDb250ZXh0U3RhdGUmIHN0YXRlLCBHCiAgICAgbV9zZWNvbmRhcnlDb250ZXh0
LnVwZGF0ZVN0YXRlKHN0YXRlLCBmbGFncyk7CiB9CiAKLSNpZiBPUyhXSU5ET1dTKQorI2lmIE9T
KFdJTkRPV1MpICYmICFVU0UoQ0FJUk8pCiBHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUq
IEJpZnVyY2F0ZWRHcmFwaGljc0NvbnRleHQ6OmRlcHJlY2F0ZWRQcml2YXRlQ29udGV4dCgpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIG1fcHJpbWFyeUNvbnRleHQuZGVwcmVjYXRlZFByaXZhdGVDb250
ZXh0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaWZ1
cmNhdGVkR3JhcGhpY3NDb250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9CaWZ1cmNhdGVkR3JhcGhpY3NDb250ZXh0LmgKaW5kZXggZDMxYTY0N2YwODZmNjk1MWFlYWYw
Zjk4NDUyZTcwMWMxODkwNjY2ZC4uNDNjNDVkMWJkZTE3ODgyZmQ4YWRmNWVjM2JmZTZmYTZiZjll
ZWY5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQmlmdXJj
YXRlZEdyYXBoaWNzQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0JpZnVyY2F0ZWRHcmFwaGljc0NvbnRleHQuaApAQCAtMTMyLDcgKzEzMiw3IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgdXBkYXRlU3RhdGUoY29uc3QgR3JhcGhpY3NDb250ZXh0U3RhdGUmLCBH
cmFwaGljc0NvbnRleHRTdGF0ZTo6U3RhdGVDaGFuZ2VGbGFncykgZmluYWw7CiAKLSNpZiBPUyhX
SU5ET1dTKQorI2lmIE9TKFdJTkRPV1MpICYmICFVU0UoQ0FJUk8pCiAgICAgR3JhcGhpY3NDb250
ZXh0UGxhdGZvcm1Qcml2YXRlKiBkZXByZWNhdGVkUHJpdmF0ZUNvbnRleHQoKSBjb25zdCBmaW5h
bDsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9HcmFwaGljc0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dC5oCmluZGV4IDZiOWRkMTdiNTU1ZmFiNTFlZGNiYzUxOTk3NDJlMjcxZDA1
YmQyNjAuLjI1Mjg2OWUwYmZlYTkyNTVmZGQxNTc1MzNiMWIzNGU4MWVhZjBhYWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCkBA
IC01MzMsMTEgKzUzMywxMyBAQCBwdWJsaWM6CiAjaWYgT1MoV0lORE9XUykKICAgICBIREMgZ2V0
V2luZG93c0NvbnRleHQoY29uc3QgSW50UmVjdCYsIGJvb2wgc3VwcG9ydEFscGhhQmxlbmQpOyAv
LyBUaGUgcGFzc2VkIGluIHJlY3QgaXMgdXNlZCB0byBjcmVhdGUgYSBiaXRtYXAgZm9yIGNvbXBv
c2l0aW5nIGluc2lkZSB0cmFuc3BhcmVuY3kgbGF5ZXJzLgogICAgIHZvaWQgcmVsZWFzZVdpbmRv
d3NDb250ZXh0KEhEQywgY29uc3QgSW50UmVjdCYsIGJvb2wgc3VwcG9ydEFscGhhQmxlbmQpOyAv
LyBUaGUgcGFzc2VkIGluIEhEQyBzaG91bGQgYmUgdGhlIG9uZSBoYW5kZWQgYmFjayBieSBnZXRX
aW5kb3dzQ29udGV4dC4KKyNlbmRpZgogCisjaWYgT1MoV0lORE9XUykgJiYgIVVTRShDQUlSTykK
ICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgbm90IGV4aXN0OyB3ZSBuZWVkIGEgZGlmZmVyZW50
IHBsYWNlIHRvCiAgICAgLy8gcHV0IGNvZGUgc2hhcmVkIGJldHdlZW4gV2luZG93cyBDRyBhbmQg
V2luZG93cyBDYWlybyBiYWNrZW5kcy4KICAgICB2aXJ0dWFsIEdyYXBoaWNzQ29udGV4dFBsYXRm
b3JtUHJpdmF0ZSogZGVwcmVjYXRlZFByaXZhdGVDb250ZXh0KCkgY29uc3QgeyByZXR1cm4gbnVs
bHB0cjsgfQotI2VuZGlmIC8vIE9TKFdJTkRPV1MpCisjZW5kaWYKIAogI2lmIFVTRShESVJFQ1Qy
RCkKICAgICBHcmFwaGljc0NvbnRleHQoSERDLCBJRDJEMURDUmVuZGVyVGFyZ2V0KiosIFJFQ1Qs
IGJvb2wgaGFzQWxwaGEgPSBmYWxzZSk7IC8vIEZJWE1FOiBUbyBiZSByZW1vdmVkLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTnVsbEdyYXBoaWNzQ29udGV4
dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvTnVsbEdyYXBoaWNzQ29udGV4
dC5oCmluZGV4IGU1ZDFmZjliY2FlZDA0Y2UzYzJlZTA5YTE3ZmVhNjQyMDk1NDhjNGYuLjc5MDZk
MzU2ZTcwN2Y2MmUyNjk3ZTk5OGMxY2EyNzViNjcxM2RkNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL051bGxHcmFwaGljc0NvbnRleHQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9OdWxsR3JhcGhpY3NDb250ZXh0LmgKQEAgLTE0
Nyw5ICsxNDcsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgcGFpbnRGcmFtZUZvck1lZGlhKE1lZGlh
UGxheWVyJiwgY29uc3QgRmxvYXRSZWN0JikgZmluYWwgeyB9CiAjZW5kaWYKIAotI2lmIE9TKFdJ
TkRPV1MpCisjaWYgT1MoV0lORE9XUykgJiYgIVVTRShDQUlSTykKICAgICBHcmFwaGljc0NvbnRl
eHRQbGF0Zm9ybVByaXZhdGUqIGRlcHJlY2F0ZWRQcml2YXRlQ29udGV4dCgpIGNvbnN0IGZpbmFs
IHsgcmV0dXJuIG51bGxwdHI7IH0KLSNlbmRpZiAvLyBPUyhXSU5ET1dTKQorI2VuZGlmCiAKIHBy
aXZhdGU6CiAgICAgY29uc3QgUGFpbnRJbnZhbGlkYXRpb25SZWFzb25zIG1fcGFpbnRJbnZhbGlk
YXRpb25SZWFzb25zIHsgUGFpbnRJbnZhbGlkYXRpb25SZWFzb25zOjpOb25lIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9DYWlyb09wZXJhdGlv
bnMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vQ2Fpcm9PcGVy
YXRpb25zLmNwcAppbmRleCA5NTE0N2Q2ZGY1ZWNmNTVhMGRkYzZiMWU5Njk5NDg5MzU0Nzg4NjI5
Li4yMjRhNDUyOTEyZDRlMDUzYWM2MjQwYmUxYTFkYWIyZDM2NGM0MDM1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9DYWlyb09wZXJhdGlvbnMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0NhaXJvT3BlcmF0
aW9ucy5jcHAKQEAgLTQzLDcgKzQzLDYgQEAKICNpbmNsdWRlICJHcmFkaWVudC5oIgogI2luY2x1
ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dENhaXJvLmgi
Ci0jaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlQ2Fpcm8uaCIKICNpbmNs
dWRlICJJbWFnZS5oIgogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCiAjaW5jbHVkZSAiTmF0aXZl
SW1hZ2UuaCIKQEAgLTQ5NSw5ICs0OTQsNiBAQCB2b2lkIHNldENUTShHcmFwaGljc0NvbnRleHRD
YWlybyYgcGxhdGZvcm1Db250ZXh0LCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHRyYW5zZgogewog
ICAgIGNvbnN0IGNhaXJvX21hdHJpeF90IG1hdHJpeCA9IHRvQ2Fpcm9NYXRyaXgodHJhbnNmb3Jt
KTsKICAgICBjYWlyb19zZXRfbWF0cml4KHBsYXRmb3JtQ29udGV4dC5jcigpLCAmbWF0cml4KTsK
LQotICAgIGlmIChhdXRvKiBncmFwaGljc0NvbnRleHRQcml2YXRlID0gcGxhdGZvcm1Db250ZXh0
LmdyYXBoaWNzQ29udGV4dFByaXZhdGUoKSkKLSAgICAgICAgZ3JhcGhpY3NDb250ZXh0UHJpdmF0
ZS0+c2V0Q1RNKHRyYW5zZm9ybSk7CiB9CiAKIEFmZmluZVRyYW5zZm9ybSBnZXRDVE0oR3JhcGhp
Y3NDb250ZXh0Q2Fpcm8mIHBsYXRmb3JtQ29udGV4dCkKQEAgLTExODEsMzQgKzExNzcsMjIgQEAg
dm9pZCBkcmF3Rm9jdXNSaW5nKEdyYXBoaWNzQ29udGV4dENhaXJvJiBwbGF0Zm9ybUNvbnRleHQs
IGNvbnN0IFZlY3RvcjxGbG9hdFJlY3QKIHZvaWQgdHJhbnNsYXRlKEdyYXBoaWNzQ29udGV4dENh
aXJvJiBwbGF0Zm9ybUNvbnRleHQsIGZsb2F0IHgsIGZsb2F0IHkpCiB7CiAgICAgY2Fpcm9fdHJh
bnNsYXRlKHBsYXRmb3JtQ29udGV4dC5jcigpLCB4LCB5KTsKLQotICAgIGlmIChhdXRvKiBncmFw
aGljc0NvbnRleHRQcml2YXRlID0gcGxhdGZvcm1Db250ZXh0LmdyYXBoaWNzQ29udGV4dFByaXZh
dGUoKSkKLSAgICAgICAgZ3JhcGhpY3NDb250ZXh0UHJpdmF0ZS0+dHJhbnNsYXRlKHgsIHkpOwog
fQogCiB2b2lkIHJvdGF0ZShHcmFwaGljc0NvbnRleHRDYWlybyYgcGxhdGZvcm1Db250ZXh0LCBm
bG9hdCBhbmdsZUluUmFkaWFucykKIHsKICAgICBjYWlyb19yb3RhdGUocGxhdGZvcm1Db250ZXh0
LmNyKCksIGFuZ2xlSW5SYWRpYW5zKTsKLQotICAgIGlmIChhdXRvKiBncmFwaGljc0NvbnRleHRQ
cml2YXRlID0gcGxhdGZvcm1Db250ZXh0LmdyYXBoaWNzQ29udGV4dFByaXZhdGUoKSkKLSAgICAg
ICAgZ3JhcGhpY3NDb250ZXh0UHJpdmF0ZS0+cm90YXRlKGFuZ2xlSW5SYWRpYW5zKTsKIH0KIAog
dm9pZCBzY2FsZShHcmFwaGljc0NvbnRleHRDYWlybyYgcGxhdGZvcm1Db250ZXh0LCBjb25zdCBG
bG9hdFNpemUmIHNpemUpCiB7CiAgICAgY2Fpcm9fc2NhbGUocGxhdGZvcm1Db250ZXh0LmNyKCks
IHNpemUud2lkdGgoKSwgc2l6ZS5oZWlnaHQoKSk7Ci0KLSAgICBpZiAoYXV0byogZ3JhcGhpY3ND
b250ZXh0UHJpdmF0ZSA9IHBsYXRmb3JtQ29udGV4dC5ncmFwaGljc0NvbnRleHRQcml2YXRlKCkp
Ci0gICAgICAgIGdyYXBoaWNzQ29udGV4dFByaXZhdGUtPnNjYWxlKHNpemUpOwogfQogCiB2b2lk
IGNvbmNhdENUTShHcmFwaGljc0NvbnRleHRDYWlybyYgcGxhdGZvcm1Db250ZXh0LCBjb25zdCBB
ZmZpbmVUcmFuc2Zvcm0mIHRyYW5zZm9ybSkKIHsKICAgICBjb25zdCBjYWlyb19tYXRyaXhfdCBt
YXRyaXggPSB0b0NhaXJvTWF0cml4KHRyYW5zZm9ybSk7CiAgICAgY2Fpcm9fdHJhbnNmb3JtKHBs
YXRmb3JtQ29udGV4dC5jcigpLCAmbWF0cml4KTsKLQotICAgIGlmIChhdXRvKiBncmFwaGljc0Nv
bnRleHRQcml2YXRlID0gcGxhdGZvcm1Db250ZXh0LmdyYXBoaWNzQ29udGV4dFByaXZhdGUoKSkK
LSAgICAgICAgZ3JhcGhpY3NDb250ZXh0UHJpdmF0ZS0+Y29uY2F0Q1RNKHRyYW5zZm9ybSk7CiB9
CiAKIHZvaWQgYmVnaW5UcmFuc3BhcmVuY3lMYXllcihHcmFwaGljc0NvbnRleHRDYWlybyYgcGxh
dGZvcm1Db250ZXh0LCBmbG9hdCBvcGFjaXR5KQpAQCAtMTI0NSw5ICsxMjI5LDYgQEAgdm9pZCBj
bGlwKEdyYXBoaWNzQ29udGV4dENhaXJvJiBwbGF0Zm9ybUNvbnRleHQsIGNvbnN0IEZsb2F0UmVj
dCYgcmVjdCkKICAgICAvLyB3aGlsZSBkcmF3aW5nIHRoZSB0cmFuc2Zvcm1lZCBsYXllci4KICAg
ICBkb0NsaXBXaXRoQW50aWFsaWFzKGNyLCBDQUlST19BTlRJQUxJQVNfTk9ORSk7CiAgICAgY2Fp
cm9fc2V0X2ZpbGxfcnVsZShjciwgc2F2ZWRGaWxsUnVsZSk7Ci0KLSAgICBpZiAoYXV0byogZ3Jh
cGhpY3NDb250ZXh0UHJpdmF0ZSA9IHBsYXRmb3JtQ29udGV4dC5ncmFwaGljc0NvbnRleHRQcml2
YXRlKCkpCi0gICAgICAgIGdyYXBoaWNzQ29udGV4dFByaXZhdGUtPmNsaXAocmVjdCk7CiB9CiAK
IHZvaWQgY2xpcE91dChHcmFwaGljc0NvbnRleHRDYWlybyYgcGxhdGZvcm1Db250ZXh0LCBjb25z
dCBGbG9hdFJlY3QmIHJlY3QpCkBAIC0xMjkwLDkgKzEyNzEsNiBAQCB2b2lkIGNsaXBQYXRoKEdy
YXBoaWNzQ29udGV4dENhaXJvJiBwbGF0Zm9ybUNvbnRleHQsIGNvbnN0IFBhdGgmIHBhdGgsIFdp
bmRSdWxlCiAgICAgLy8gRW5mb3JjZSBkZWZhdWx0IGFudGlhbGlhcyB3aGVuIGNsaXBwaW5nIHBh
dGhzLCBzaW5jZSB0aGV5IGNhbiBjb250YWluIGN1cnZlcy4KICAgICBkb0NsaXBXaXRoQW50aWFs
aWFzKGNyLCBDQUlST19BTlRJQUxJQVNfREVGQVVMVCk7CiAgICAgY2Fpcm9fc2V0X2ZpbGxfcnVs
ZShjciwgc2F2ZWRGaWxsUnVsZSk7Ci0KLSAgICBpZiAoYXV0byogZ3JhcGhpY3NDb250ZXh0UHJp
dmF0ZSA9IHBsYXRmb3JtQ29udGV4dC5ncmFwaGljc0NvbnRleHRQcml2YXRlKCkpCi0gICAgICAg
IGdyYXBoaWNzQ29udGV4dFByaXZhdGUtPmNsaXAocGF0aCk7CiB9CiAKIHZvaWQgY2xpcFRvSW1h
Z2VCdWZmZXIoR3JhcGhpY3NDb250ZXh0Q2Fpcm8mIHBsYXRmb3JtQ29udGV4dCwgY2Fpcm9fc3Vy
ZmFjZV90KiBpbWFnZSwgY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJv
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29u
dGV4dENhaXJvLmNwcAppbmRleCA5ZDBhMDU5MDBmMDk2ZDhiYzk0ZjU3Njg4ZDkxMDk4Y2ZlZWVk
YjlhLi5jNWI5NzQ5MmZhY2I2NTEzZjY0MjU2NmI4YzRmZWQxNDIzOTM4NmQwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRD
YWlyby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3Jh
cGhpY3NDb250ZXh0Q2Fpcm8uY3BwCkBAIC00MCw3ICs0MCw2IEBACiAjaW5jbHVkZSAiRmxvYXRS
ZWN0LmgiCiAjaW5jbHVkZSAiRmxvYXRSb3VuZGVkUmVjdC5oIgogI2luY2x1ZGUgIkdyYWRpZW50
LmgiCi0jaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlQ2Fpcm8uaCIKICNp
bmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRlICJO
b3RJbXBsZW1lbnRlZC5oIgpAQCAtNzAsNyArNjksNiBAQCBwdWJsaWM6CiAKIEdyYXBoaWNzQ29u
dGV4dENhaXJvOjpHcmFwaGljc0NvbnRleHRDYWlybyhSZWZQdHI8Y2Fpcm9fdD4mJiBjb250ZXh0
KQogICAgIDogbV9jcihXVEZNb3ZlKGNvbnRleHQpKQotICAgICwgbV9wcml2YXRlKG1ha2VVbmlx
dWU8R3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlPihjcigpKSkKIHsKICAgICBtX2NhaXJv
U3RhdGVTdGFjay5hcHBlbmQoQ2Fpcm9TdGF0ZSgpKTsKICAgICBtX2NhaXJvU3RhdGUgPSAmbV9j
YWlyb1N0YXRlU3RhY2subGFzdCgpOwpAQCAtMTA3LDggKzEwNSw2IEBAIHZvaWQgR3JhcGhpY3ND
b250ZXh0Q2Fpcm86OnNhdmUoKQogICAgIG1fY2Fpcm9TdGF0ZSA9ICZtX2NhaXJvU3RhdGVTdGFj
ay5sYXN0KCk7CiAKICAgICBjYWlyb19zYXZlKG1fY3IuZ2V0KCkpOwotCi0gICAgbV9wcml2YXRl
LT5zYXZlKCk7CiB9CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0Q2Fpcm86OnJlc3RvcmUoKQpAQCAt
MTM2LDggKzEzMiw2IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0Q2Fpcm86OnJlc3RvcmUoKQogICAg
IG1fY2Fpcm9TdGF0ZSA9ICZtX2NhaXJvU3RhdGVTdGFjay5sYXN0KCk7CiAKICAgICBjYWlyb19y
ZXN0b3JlKG1fY3IuZ2V0KCkpOwotCi0gICAgbV9wcml2YXRlLT5yZXN0b3JlKCk7CiB9CiAKIC8v
IERyYXdzIGEgZmlsbGVkIHJlY3RhbmdsZSB3aXRoIGEgc3Ryb2tlZCBib3JkZXIuCkBAIC00Njks
MTEgKzQ2Myw2IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0Q2Fpcm86OnB1c2hJbWFnZU1hc2soY2Fp
cm9fc3VyZmFjZV90KiBzdXJmYWNlLCBjb25zdCBGbG9hdFJlCiAgICAgY2Fpcm9fcHVzaF9ncm91
cChtX2NyLmdldCgpKTsKIH0KIAotR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKiBHcmFw
aGljc0NvbnRleHRDYWlybzo6Z3JhcGhpY3NDb250ZXh0UHJpdmF0ZSgpCi17Ci0gICAgcmV0dXJu
IG1fcHJpdmF0ZS5nZXQoKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYg
Ly8gVVNFKENBSVJPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmgKaW5kZXggYWY1YTQxMGYyYzBl
Y2MzZTU0NGExZGVlZDM3NjIyZDk5NDE5MzU4MC4uMWVjZjAwYTQ1MTA3NDAzNTg4ZmM3OTM0ZDIy
ZGYwOTRlOWQwZjJmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5oCkBAIC0xMDgsMTQgKzEw
OCw5IEBAIHB1YmxpYzoKIAogICAgIEZsb2F0UmVjdCByb3VuZFRvRGV2aWNlUGl4ZWxzKGNvbnN0
IEZsb2F0UmVjdCYsIEdyYXBoaWNzQ29udGV4dDo6Um91bmRpbmdNb2RlKSBmaW5hbDsKIAotI2lm
IE9TKFdJTkRPV1MpCi0gICAgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKiBkZXByZWNh
dGVkUHJpdmF0ZUNvbnRleHQoKSBjb25zdCBmaW5hbDsKLSNlbmRpZgotCiAgICAgY2Fpcm9fdCog
Y3IoKSBjb25zdDsKICAgICBWZWN0b3I8ZmxvYXQ+JiBsYXllcnMoKTsKICAgICB2b2lkIHB1c2hJ
bWFnZU1hc2soY2Fpcm9fc3VyZmFjZV90KiwgY29uc3QgRmxvYXRSZWN0Jik7Ci0gICAgR3JhcGhp
Y3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKiBncmFwaGljc0NvbnRleHRQcml2YXRlKCk7CiAKIHBy
aXZhdGU6CiAgICAgUmVmUHRyPGNhaXJvX3Q+IG1fY3I7CkBAIC0xMjYsOCArMTIxLDYgQEAgcHJp
dmF0ZToKIAogICAgIC8vIFRyYW5zcGFyZW5jeSBsYXllcnMuCiAgICAgVmVjdG9yPGZsb2F0PiBt
X2xheWVyczsKLQotICAgIHN0ZDo6dW5pcXVlX3B0cjxHcmFwaGljc0NvbnRleHRQbGF0Zm9ybVBy
aXZhdGU+IG1fcHJpdmF0ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4
dFBsYXRmb3JtUHJpdmF0ZUNhaXJvLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYWlyby9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVDYWlyby5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBmZDMxYTAyMDEwZTE3YTFlZGU1NGIyNzM5NTMzMmJjYThmMjk2
MTJmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dFBsYXRmb3Jt
UHJpdmF0ZUNhaXJvLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3MyArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDA2IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMDcgQWxwIFRva2VyIDxhbHBAYXRva2VyLmNvbT4KLSAqIENvcHlyaWdodCAo
QykgMjAwOCBCcmVudCBGdWxnaGFtIDxiZnVsZ2hhbUBnbWFpbC5jb20+Ci0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIFVTRShD
QUlSTykKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBHcmFwaGljc0NvbnRleHRQbGF0
Zm9ybVByaXZhdGUgewotICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotcHVibGljOgotI2lm
IFBMQVRGT1JNKFdJTikKLSAgICAvLyBPbiBXaW5kb3dzLCB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUg
SERDIGZvciBmb3JtIGNvbnRyb2xzIHRvIGRyYXcgaW4gdGhlIHJpZ2h0IHBsYWNlLgotICAgIEdy
YXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZShjYWlyb190Kik7Ci0gICAgdm9pZCBzYXZlKCk7
Ci0gICAgdm9pZCByZXN0b3JlKCk7Ci0gICAgdm9pZCBmbHVzaCgpOwotICAgIHZvaWQgY2xpcChj
b25zdCBGbG9hdFJlY3QmKTsKLSAgICB2b2lkIGNsaXAoY29uc3QgUGF0aCYpOwotICAgIHZvaWQg
c2NhbGUoY29uc3QgRmxvYXRTaXplJik7Ci0gICAgdm9pZCByb3RhdGUoZmxvYXQpOwotICAgIHZv
aWQgdHJhbnNsYXRlKGZsb2F0LCBmbG9hdCk7Ci0gICAgdm9pZCBjb25jYXRDVE0oY29uc3QgQWZm
aW5lVHJhbnNmb3JtJik7Ci0gICAgdm9pZCBzZXRDVE0oY29uc3QgQWZmaW5lVHJhbnNmb3JtJik7
Ci0jZWxzZQotICAgIC8vIE9uIGV2ZXJ5dGhpbmcgZWxzZSwgd2UgZG8gbm90aGluZy4KLSAgICBH
cmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGUoY2Fpcm9fdCopIHsgfQotICAgIHZvaWQgc2F2
ZSgpIHsgfQotICAgIHZvaWQgcmVzdG9yZSgpIHsgfQotICAgIHZvaWQgZmx1c2goKSB7IH0KLSAg
ICB2b2lkIGNsaXAoY29uc3QgRmxvYXRSZWN0JikgeyB9Ci0gICAgdm9pZCBjbGlwKGNvbnN0IFBh
dGgmKSB7IH0KLSAgICB2b2lkIHNjYWxlKGNvbnN0IEZsb2F0U2l6ZSYpIHsgfQotICAgIHZvaWQg
cm90YXRlKGZsb2F0KSB7IH0KLSAgICB2b2lkIHRyYW5zbGF0ZShmbG9hdCwgZmxvYXQpIHsgfQot
ICAgIHZvaWQgY29uY2F0Q1RNKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYpIHsgfQotICAgIHZvaWQg
c2V0Q1RNKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYpIHsgfQotI2VuZGlmCi0KLSNpZiBQTEFURk9S
TShXSU4pIHx8IChQTEFURk9STShHVEspICYmIE9TKFdJTkRPV1MpKQotICAgIC8vIE5PVEU6IFRo
ZXNlIG1heSBub3RlIGJlIG5lZWRlZDogcmV2aWV3IGFuZCByZW1vdmUgb25jZSBDYWlybyBpbXBs
ZW1lbnRhdGlvbiBpcyBjb21wbGV0ZQotICAgIEhEQyBtX2hkYyB7IDAgfTsKLSNlbmRpZgotfTsK
LQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gVVNFKENBSVJPKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4
dENhaXJvV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFw
aGljc0NvbnRleHRDYWlyb1dpbi5jcHAKaW5kZXggMWMzMGYzODNkYjE1NjJlMTYwMDg5Y2IzMTI4
Y2RkOTYxYzU5MzUxNC4uY2ZjNzFjYTc1ZmQ4YTFiM2NlZTVlMzQ4MmM2Y2EwY2M0MWI2OTQ1ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNz
Q29udGV4dENhaXJvV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy93aW4vR3JhcGhpY3NDb250ZXh0Q2Fpcm9XaW4uY3BwCkBAIC0zMyw4ICszMyw2IEBACiAjaW5j
bHVkZSAiUmVmUHRyQ2Fpcm8uaCIKIAogI2luY2x1ZGUgPGNhaXJvLXdpbjMyLmg+Ci0jaW5jbHVk
ZSAiR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlQ2Fpcm8uaCIKLQogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKQEAgLTExNCwxMSArMTEyLDcgQEAgc3RhdGljIHZvaWQgZHJhd0JpdG1hcFRv
Q29udGV4dChHcmFwaGljc0NvbnRleHRDYWlybyYgcGxhdGZvcm1Db250ZXh0LCBjb25zdCBESUIK
IAogdm9pZCBHcmFwaGljc0NvbnRleHQ6OnJlbGVhc2VXaW5kb3dzQ29udGV4dChIREMgaGRjLCBj
b25zdCBJbnRSZWN0JiBkc3RSZWN0LCBib29sIHN1cHBvcnRBbHBoYUJsZW5kKQogewotICAgIGJv
b2wgY3JlYXRlZEJpdG1hcCA9ICFkZXByZWNhdGVkUHJpdmF0ZUNvbnRleHQoKS0+bV9oZGMgfHwg
aXNJblRyYW5zcGFyZW5jeUxheWVyKCk7Ci0gICAgaWYgKCFoZGMgfHwgIWNyZWF0ZWRCaXRtYXAp
IHsKLSAgICAgICAgZGVwcmVjYXRlZFByaXZhdGVDb250ZXh0KCktPnJlc3RvcmUoKTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KKyAgICBBU1NFUlQoaGRjKTsKIAogICAgIGlmIChkc3RSZWN0Lmlz
RW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTQwLDI5ICsxMzQsNCBAQCB2b2lkIEdyYXBo
aWNzQ29udGV4dDo6cmVsZWFzZVdpbmRvd3NDb250ZXh0KEhEQyBoZGMsIGNvbnN0IEludFJlY3Qm
IGRzdFJlY3QsIGJvbwogICAgIDo6RGVsZXRlREMoaGRjKTsKIH0KIAotI2lmIFBMQVRGT1JNKFdJ
TikKLUdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZTo6R3JhcGhpY3NDb250ZXh0UGxhdGZv
cm1Qcml2YXRlKGNhaXJvX3QqIGNyKQotewotICAgIGlmICghY3IpCi0gICAgICAgcmV0dXJuOwot
Ci0gICAgY2Fpcm9fc3VyZmFjZV90KiBzdXJmYWNlID0gY2Fpcm9fZ2V0X3RhcmdldChjcik7Ci0g
ICAgbV9oZGMgPSBjYWlyb193aW4zMl9zdXJmYWNlX2dldF9kYyhzdXJmYWNlKTsgICAKLQotICAg
IFNldEdyYXBoaWNzTW9kZShtX2hkYywgR01fQURWQU5DRUQpOyAvLyBXZSBuZWVkIHRoaXMgY2Fs
bCBmb3IgdGhlbWVzIHRvIGhvbm9yIHdvcmxkIHRyYW5zZm9ybXMuCi19Ci0KLXZvaWQgR3JhcGhp
Y3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlOjpmbHVzaCgpCi17Ci0gICAgY2Fpcm9fc3VyZmFjZV90
KiBzdXJmYWNlID0gY2Fpcm9fd2luMzJfc3VyZmFjZV9jcmVhdGUobV9oZGMpOwotICAgIGNhaXJv
X3N1cmZhY2VfZmx1c2goc3VyZmFjZSk7Ci0gICAgY2Fpcm9fc3VyZmFjZV9kZXN0cm95KHN1cmZh
Y2UpOwotfQotI2VuZGlmCi0KLUdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSogR3JhcGhp
Y3NDb250ZXh0Q2Fpcm86OmRlcHJlY2F0ZWRQcml2YXRlQ29udGV4dCgpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIG1fcHJpdmF0ZS5nZXQoKTsKLX0KLQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dFdpbi5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250ZXh0V2luLmNwcAppbmRl
eCBjODVmZGFhZmZlZGM1ODM3NTZiMDE4MzViNWY0Y2VkMjc1NDc1ZjhmLi5lZmJiMzZmYjUxZjBl
NzA3NzFjNGJiMDEwZjllNzI5OWNkY2RjODk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250ZXh0V2luLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250ZXh0V2luLmNwcApAQCAt
MzAsOCArMzAsNiBAQAogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZUNH
LmgiCiAjZWxpZiBVU0UoRElSRUNUMkQpCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0UGxhdGZv
cm1Qcml2YXRlRGlyZWN0MkQuaCIKLSNlbGlmIFVTRShDQUlSTykKLSNpbmNsdWRlICJHcmFwaGlj
c0NvbnRleHRQbGF0Zm9ybVByaXZhdGVDYWlyby5oIgogI2VuZGlmCiAKICNpbmNsdWRlICJBZmZp
bmVUcmFuc2Zvcm0uaCIKQEAgLTU1LDQ0ICs1Myw0NiBAQCBzdGF0aWMgdm9pZCBmaWxsV2l0aENs
ZWFyQ29sb3IoSEJJVE1BUCBiaXRtYXApCiAKIEhEQyBHcmFwaGljc0NvbnRleHQ6OmdldFdpbmRv
d3NDb250ZXh0KGNvbnN0IEludFJlY3QmIGRzdFJlY3QsIGJvb2wgc3VwcG9ydEFscGhhQmxlbmQp
CiB7Ci0gICAgSERDIGhkYyA9IGRlcHJlY2F0ZWRQcml2YXRlQ29udGV4dCgpLT5tX2hkYzsKKyAg
ICBIREMgaGRjID0gbnVsbHB0cjsKKyNpZiAhVVNFKENBSVJPKQorICAgIGhkYyA9IGRlcHJlY2F0
ZWRQcml2YXRlQ29udGV4dCgpLT5tX2hkYzsKKyAgICBpZiAoaGRjICYmIGlzSW5UcmFuc3BhcmVu
Y3lMYXllcigpKSB7CisgICAgICAgIGRlcHJlY2F0ZWRQcml2YXRlQ29udGV4dCgpLT5mbHVzaCgp
OworICAgICAgICBkZXByZWNhdGVkUHJpdmF0ZUNvbnRleHQoKS0+c2F2ZSgpOworICAgICAgICBy
ZXR1cm4gZGVwcmVjYXRlZFByaXZhdGVDb250ZXh0KCktPm1faGRjOworICAgIH0KKyNlbmRpZgog
ICAgIC8vIEZJWE1FOiBTaG91bGQgYSBiaXRtYXAgYmUgY3JlYXRlZCBhbHNvIHdoZW4gYSBzaGFk
b3cgaXMgc2V0PwotICAgIGlmICghaGRjIHx8IGlzSW5UcmFuc3BhcmVuY3lMYXllcigpKSB7Ci0g
ICAgICAgIGlmIChkc3RSZWN0LmlzRW1wdHkoKSkKLSAgICAgICAgICAgIHJldHVybiAwOworICAg
IGlmIChkc3RSZWN0LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIDA7CiAKLSAgICAgICAgLy8g
Q3JlYXRlIGEgYml0bWFwIERDIGluIHdoaWNoIHRvIGRyYXcuCi0gICAgICAgIEJpdG1hcEluZm8g
Yml0bWFwSW5mbyA9IEJpdG1hcEluZm86OmNyZWF0ZShkc3RSZWN0LnNpemUoKSk7CisgICAgLy8g
Q3JlYXRlIGEgYml0bWFwIERDIGluIHdoaWNoIHRvIGRyYXcuCisgICAgQml0bWFwSW5mbyBiaXRt
YXBJbmZvID0gQml0bWFwSW5mbzo6Y3JlYXRlKGRzdFJlY3Quc2l6ZSgpKTsKIAotICAgICAgICB2
b2lkKiBwaXhlbHMgPSAwOwotICAgICAgICBIQklUTUFQIGJpdG1hcCA9IDo6Q3JlYXRlRElCU2Vj
dGlvbihOVUxMLCAmYml0bWFwSW5mbywgRElCX1JHQl9DT0xPUlMsICZwaXhlbHMsIDAsIDApOwot
ICAgICAgICBpZiAoIWJpdG1hcCkKLSAgICAgICAgICAgIHJldHVybiAwOworICAgIHZvaWQqIHBp
eGVscyA9IDA7CisgICAgSEJJVE1BUCBiaXRtYXAgPSA6OkNyZWF0ZURJQlNlY3Rpb24obnVsbHB0
ciwgJmJpdG1hcEluZm8sIERJQl9SR0JfQ09MT1JTLCAmcGl4ZWxzLCAwLCAwKTsKKyAgICBpZiAo
IWJpdG1hcCkKKyAgICAgICAgcmV0dXJuIDA7CiAKLSAgICAgICAgYXV0byBiaXRtYXBEQyA9IGFk
b3B0R0RJT2JqZWN0KDo6Q3JlYXRlQ29tcGF0aWJsZURDKGhkYykpOwotICAgICAgICA6OlNlbGVj
dE9iamVjdChiaXRtYXBEQy5nZXQoKSwgYml0bWFwKTsKKyAgICBhdXRvIGJpdG1hcERDID0gYWRv
cHRHRElPYmplY3QoOjpDcmVhdGVDb21wYXRpYmxlREMoaGRjKSk7CisgICAgOjpTZWxlY3RPYmpl
Y3QoYml0bWFwREMuZ2V0KCksIGJpdG1hcCk7CiAKLSAgICAgICAgLy8gRmlsbCBvdXIgYnVmZmVy
IHdpdGggY2xlYXIgaWYgd2UncmUgZ29pbmcgdG8gYWxwaGEgYmxlbmQuCi0gICAgICAgIGlmIChz
dXBwb3J0QWxwaGFCbGVuZCkKLSAgICAgICAgICAgZmlsbFdpdGhDbGVhckNvbG9yKGJpdG1hcCk7
CisgICAgLy8gRmlsbCBvdXIgYnVmZmVyIHdpdGggY2xlYXIgaWYgd2UncmUgZ29pbmcgdG8gYWxw
aGEgYmxlbmQuCisgICAgaWYgKHN1cHBvcnRBbHBoYUJsZW5kKQorICAgICAgICBmaWxsV2l0aENs
ZWFyQ29sb3IoYml0bWFwKTsKIAotICAgICAgICAvLyBNYWtlIHN1cmUgd2UgY2FuIGRvIHdvcmxk
IHRyYW5zZm9ybXMuCi0gICAgICAgIDo6U2V0R3JhcGhpY3NNb2RlKGJpdG1hcERDLmdldCgpLCBH
TV9BRFZBTkNFRCk7CisgICAgLy8gTWFrZSBzdXJlIHdlIGNhbiBkbyB3b3JsZCB0cmFuc2Zvcm1z
LgorICAgIDo6U2V0R3JhcGhpY3NNb2RlKGJpdG1hcERDLmdldCgpLCBHTV9BRFZBTkNFRCk7CiAK
LSAgICAgICAgLy8gQXBwbHkgYSB0cmFuc2xhdGlvbiB0byBvdXIgY29udGV4dCBzbyB0aGF0IHRo
ZSBkcmF3aW5nIGRvbmUgd2lsbCBiZSBhdCAoMCwwKSBvZiB0aGUgYml0bWFwLgotICAgICAgICBY
Rk9STSB4Zm9ybSA9IFRyYW5zZm9ybWF0aW9uTWF0cml4KCkudHJhbnNsYXRlKC1kc3RSZWN0Lngo
KSwgLWRzdFJlY3QueSgpKTsKKyAgICAvLyBBcHBseSBhIHRyYW5zbGF0aW9uIHRvIG91ciBjb250
ZXh0IHNvIHRoYXQgdGhlIGRyYXdpbmcgZG9uZSB3aWxsIGJlIGF0ICgwLDApIG9mIHRoZSBiaXRt
YXAuCisgICAgWEZPUk0geGZvcm0gPSBUcmFuc2Zvcm1hdGlvbk1hdHJpeCgpLnRyYW5zbGF0ZSgt
ZHN0UmVjdC54KCksIC1kc3RSZWN0LnkoKSk7CiAKLSAgICAgICAgOjpTZXRXb3JsZFRyYW5zZm9y
bShiaXRtYXBEQy5nZXQoKSwgJnhmb3JtKTsKLQotICAgICAgICByZXR1cm4gYml0bWFwREMubGVh
aygpOwotICAgIH0KKyAgICA6OlNldFdvcmxkVHJhbnNmb3JtKGJpdG1hcERDLmdldCgpLCAmeGZv
cm0pOwogCi0gICAgZGVwcmVjYXRlZFByaXZhdGVDb250ZXh0KCktPmZsdXNoKCk7Ci0gICAgZGVw
cmVjYXRlZFByaXZhdGVDb250ZXh0KCktPnNhdmUoKTsKLSAgICByZXR1cm4gZGVwcmVjYXRlZFBy
aXZhdGVDb250ZXh0KCktPm1faGRjOworICAgIHJldHVybiBiaXRtYXBEQy5sZWFrKCk7CiB9CiAK
LSNpZiBQTEFURk9STShXSU4pICYmICFVU0UoRElSRUNUMkQpCisjaWYgUExBVEZPUk0oV0lOKSAm
JiBVU0UoQ0cpCiB2b2lkIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZTo6c2F2ZSgpCiB7
CiAgICAgaWYgKCFtX2hkYykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dp
bi9EcmFnSW1hZ2VDYWlyb1dpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJh
Z0ltYWdlQ2Fpcm9XaW4uY3BwCmluZGV4IGFiZjk4OWU5NDEyODlhMTFmN2U5ZDhmYTEyOWJlYmY2
Y2ZhYjc2NTEuLjc5MzI2MzA2NTFjYTI2ZDRiZTM3ODQxNWQ3YzU0OWY5YzM1YzBlOWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9EcmFnSW1hZ2VDYWlyb1dpbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0RyYWdJbWFnZUNhaXJvV2luLmNwcApA
QCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgIkJpdG1hcEluZm8uaCIKICNpbmNsdWRlICJDYWNo
ZWRJbWFnZS5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dENhaXJvLmgiCi0jaW5jbHVkZSAi
R3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlQ2Fpcm8uaCIKICNpbmNsdWRlICJIV25kREMu
aCIKICNpbmNsdWRlICJJbWFnZS5oIgogI2luY2x1ZGUgPGNhaXJvLXdpbjMyLmg+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>