<?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>91418</bug_id>
          
          <creation_ts>2012-07-16 13:02:35 -0700</creation_ts>
          <short_desc>[chromium] Remove non-ephemeral data from RenderSurface as it duplicates data from the owning layer</short_desc>
          <delta_ts>2012-07-16 14:30:46 -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>
          <dependson>91288</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dana Jansens">danakj</reporter>
          <assigned_to name="Dana Jansens">danakj</assigned_to>
          <cc>enne</cc>
    
    <cc>jamesr</cc>
    
    <cc>piman</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>wjmaclean</cc>
    
    <cc>zlieber</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>670587</commentid>
    <comment_count>0</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-07-16 13:02:35 -0700</bug_when>
    <thetext>[chromium] Remove non-ephemeral data from RenderSurface as it duplicates data from the owning layer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670600</commentid>
    <comment_count>1</comment_count>
      <attachid>152600</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-07-16 13:12:47 -0700</bug_when>
    <thetext>Created attachment 152600
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670620</commentid>
    <comment_count>2</comment_count>
      <attachid>152600</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-07-16 13:36:00 -0700</bug_when>
    <thetext>Comment on attachment 152600
Patch

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

R=me.  Yay, cleanup!

&gt; Source/WebCore/platform/graphics/chromium/RenderSurfaceChromium.h:-105
&gt; -    void setMaskLayer(LayerChromium* maskLayer) { m_maskLayer = maskLayer; }

It looks like this hasn&apos;t been used for a while.  /o\</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670667</commentid>
    <comment_count>3</comment_count>
      <attachid>152600</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-16 14:30:42 -0700</bug_when>
    <thetext>Comment on attachment 152600
Patch

Clearing flags on attachment: 152600

Committed r122766: &lt;http://trac.webkit.org/changeset/122766&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>670668</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-16 14:30:46 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>152600</attachid>
            <date>2012-07-16 13:12:47 -0700</date>
            <delta_ts>2012-07-16 14:30:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-91418-20120716161246.patch</filename>
            <type>text/plain</type>
            <size>20741</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyNzI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzRlNGU2NTFkYjA0NGZk
OWJjYjViNjMwNTZkODgzMjlhYjQ0YTU3MS4uMmM3OTIzNWJhYTExNzZiODIzZDE1ZjhiYmIxYTI2
ZGQ3YmFmMmEwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDEyLTA3LTE2ICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gUmVt
b3ZlIG5vbi1lcGhlbWVyYWwgZGF0YSBmcm9tIFJlbmRlclN1cmZhY2UgYXMgaXQgZHVwbGljYXRl
cyBkYXRhIGZyb20gdGhlIG93bmluZyBsYXllcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTE0MTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGlzIHJlbW92ZXMgdGhlIGZpbHRlcnMgYW5kIG1hc2tzIGZy
b20gcmVuZGVyIHN1cmZhY2VzLCBhbmQgbWFrZXMgdGhlbQorICAgICAgICB1c2VkIGRpcmVjdGx5
IGZyb20gdGhlIG93bmluZyBsYXllci4gQWxzbyByZW1vdmVzIHNraXBzRHJhdyBmcm9tCisgICAg
ICAgIHN1cmZhY2VzIGFzIGl0IHdhcyBqdXN0IG5vdCB1c2VkIGF0IGFsbC4KKworICAgICAgICBD
b3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJDaHJvbWl1
bTo6ZmlsdGVycyk6CisgICAgICAgIChXZWJDb3JlOjpMYXllckNocm9taXVtOjpiYWNrZ3JvdW5k
RmlsdGVycyk6CisgICAgICAgIChXZWJDb3JlOjpMYXllckNocm9taXVtOjpoYXNNYXNrKToKKyAg
ICAgICAgKFdlYkNvcmU6OkxheWVyQ2hyb21pdW06Omhhc1JlcGxpY2EpOgorICAgICAgICAoV2Vi
Q29yZTo6TGF5ZXJDaHJvbWl1bTo6cmVwbGljYUhhc01hc2spOgorICAgICAgICAoTGF5ZXJDaHJv
bWl1bSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmVuZGVyU3VyZmFj
ZUNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN1cmZhY2VDaHJvbWl1bTo6
UmVuZGVyU3VyZmFjZUNocm9taXVtKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uaDoKKyAgICAgICAgKFJlbmRlclN1cmZhY2VDaHJv
bWl1bSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllcklt
cGwuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpoYXNNYXNrKToKKyAgICAgICAg
KFdlYkNvcmU6OkNDTGF5ZXJJbXBsOjpoYXNSZXBsaWNhKToKKyAgICAgICAgKFdlYkNvcmU6OkND
TGF5ZXJJbXBsOjpyZXBsaWNhSGFzTWFzayk6CisgICAgICAgIChDQ0xheWVySW1wbCk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNDTGF5ZXJUcmVlSG9zdDo6Y2FsY3VsYXRlTWVtb3J5Rm9yUmVu
ZGVyU3VyZmFjZXMpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJUcmVlSG9zdENvbW1vbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjYWxjdWxhdGVEcmF3
VHJhbnNmb3Jtc0ludGVybmFsKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ09jY2x1c2lvblRyYWNrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6OjpmaW5pc2hl
ZFJlbmRlclRhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpyZWR1Y2VPY2NsdXNpb25CZWxvd1N1
cmZhY2UpOgorICAgICAgICAoV2ViQ29yZTo6OjpsZWF2ZVRvUmVuZGVyVGFyZ2V0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q0NSZW5kZXJQYXNzOjphcHBlbmRRdWFkc0ZvclJlbmRlclN1cmZhY2VM
YXllcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJT
dXJmYWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNDUmVuZGVyU3VyZmFjZTo6ZHJhd2FibGVD
b250ZW50UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpDQ1JlbmRlclN1cmZhY2U6OmFwcGVuZFF1
YWRzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclN1
cmZhY2UuaDoKKyAgICAgICAgKENDUmVuZGVyU3VyZmFjZSk6CisKIDIwMTItMDctMTYgIFpvbHRh
biBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gUmVt
b3ZlIHVubmVjZXNzYXJ5IGV4ZWN1dGFibGUgYml0cyBhZnRlciByMTIyNzIwLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1
bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJv
bWl1bS5oCmluZGV4IGU2YmE5OGFkOGMzZTYyYWI3NjhiYjNiYjJjM2FlMGY5ZDdhMjBlYzQuLjgz
MDU4ZTYzM2E2NDc2ZDI0Yjc3MjRlNjU3MTYyYWI4ZDMyZTliZDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVt
LmgKQEAgLTEyOSwxMiArMTI5LDEyIEBAIHB1YmxpYzoKICAgICBib29sIG9wYWNpdHlJc0FuaW1h
dGluZygpIGNvbnN0OwogCiAgICAgdm9pZCBzZXRGaWx0ZXJzKGNvbnN0IFdlYktpdDo6V2ViRmls
dGVyT3BlcmF0aW9ucyYpOwotICAgIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYg
ZmlsdGVycygpIHsgcmV0dXJuIG1fZmlsdGVyczsgfQorICAgIGNvbnN0IFdlYktpdDo6V2ViRmls
dGVyT3BlcmF0aW9ucyYgZmlsdGVycygpIGNvbnN0IHsgcmV0dXJuIG1fZmlsdGVyczsgfQogCiAg
ICAgLy8gQmFja2dyb3VuZCBmaWx0ZXJzIGFyZSBmaWx0ZXJzIGFwcGxpZWQgdG8gd2hhdCBpcyBi
ZWhpbmQgdGhpcyBsYXllciwgd2hlbiB0aGV5IGFyZSB2aWV3ZWQgdGhyb3VnaCBub24tb3BhcXVl
CiAgICAgLy8gcmVnaW9ucyBpbiB0aGlzIGxheWVyLiBUaGV5IGFyZSB1c2VkIHRocm91Z2ggdGhl
IFdlYkxheWVyIGludGVyZmFjZSwgYW5kIGFyZSBub3QgZXhwb3NlZCB0byBIVE1MLgogICAgIHZv
aWQgc2V0QmFja2dyb3VuZEZpbHRlcnMoY29uc3QgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25z
Jik7Ci0gICAgY29uc3QgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zJiBiYWNrZ3JvdW5kRmls
dGVycygpIHsgcmV0dXJuIG1fYmFja2dyb3VuZEZpbHRlcnM7IH0KKyAgICBjb25zdCBXZWJLaXQ6
OldlYkZpbHRlck9wZXJhdGlvbnMmIGJhY2tncm91bmRGaWx0ZXJzKCkgY29uc3QgeyByZXR1cm4g
bV9iYWNrZ3JvdW5kRmlsdGVyczsgfQogCiAgICAgdmlydHVhbCB2b2lkIHNldE9wYXF1ZShib29s
KTsKICAgICBib29sIG9wYXF1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fb3BhcXVlOyB9CkBAIC0yMDgs
NiArMjA4LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFJlcGxpY2FMYXllcihMYXllckNocm9t
aXVtKik7CiAgICAgTGF5ZXJDaHJvbWl1bSogcmVwbGljYUxheWVyKCkgY29uc3QgeyByZXR1cm4g
bV9yZXBsaWNhTGF5ZXIuZ2V0KCk7IH0KIAorICAgIGJvb2wgaGFzTWFzaygpIGNvbnN0IHsgcmV0
dXJuIG1fbWFza0xheWVyOyB9CisgICAgYm9vbCBoYXNSZXBsaWNhKCkgY29uc3QgeyByZXR1cm4g
bV9yZXBsaWNhTGF5ZXI7IH0KKyAgICBib29sIHJlcGxpY2FIYXNNYXNrKCkgY29uc3QgeyByZXR1
cm4gbV9yZXBsaWNhTGF5ZXIgJiYgKG1fbWFza0xheWVyIHx8IG1fcmVwbGljYUxheWVyLT5tX21h
c2tMYXllcik7IH0KKwogICAgIC8vIFRoZXNlIG1ldGhvZHMgdHlwaWNhbGx5IG5lZWQgdG8gYmUg
b3ZlcndyaXR0ZW4gYnkgZGVyaXZlZCBjbGFzc2VzLgogICAgIHZpcnR1YWwgYm9vbCBkcmF3c0Nv
bnRlbnQoKSBjb25zdCB7IHJldHVybiBtX2lzRHJhd2FibGU7IH0KICAgICB2aXJ0dWFsIHZvaWQg
dXBkYXRlKENDVGV4dHVyZVVwZGF0ZXImLCBjb25zdCBDQ09jY2x1c2lvblRyYWNrZXIqKSB7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1Jl
bmRlclN1cmZhY2VDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9SZW5kZXJTdXJmYWNlQ2hyb21pdW0uY3BwCmluZGV4IDBiYjlkOWIwNTlmM2I1
ZGE2ODZkNTUzYmI3NThlOTI0NGE1MDM4NGEuLmY3YWViZWVlODViMTU3NDE4MmM0YjI4MTJjNDZk
ZTZkNjg4NGMyNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL1JlbmRlclN1cmZhY2VDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmNwcApAQCAt
NDAsOCArNDAsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFJlbmRlclN1cmZhY2VDaHJvbWl1
bTo6UmVuZGVyU3VyZmFjZUNocm9taXVtKExheWVyQ2hyb21pdW0qIG93bmluZ0xheWVyKQogICAg
IDogbV9vd25pbmdMYXllcihvd25pbmdMYXllcikKLSAgICAsIG1fbWFza0xheWVyKDApCi0gICAg
LCBtX3NraXBzRHJhdyhmYWxzZSkKICAgICAsIG1fZHJhd09wYWNpdHkoMSkKICAgICAsIG1fZHJh
d09wYWNpdHlJc0FuaW1hdGluZyhmYWxzZSkKICAgICAsIG1fdGFyZ2V0U3VyZmFjZVRyYW5zZm9y
bXNBcmVBbmltYXRpbmcoZmFsc2UpCkBAIC02NSwyMSArNjMsNiBAQCBGbG9hdFJlY3QgUmVuZGVy
U3VyZmFjZUNocm9taXVtOjpkcmF3YWJsZUNvbnRlbnRSZWN0KCkgY29uc3QKICAgICByZXR1cm4g
ZHJhd2FibGVDb250ZW50UmVjdDsKIH0KIAotYm9vbCBSZW5kZXJTdXJmYWNlQ2hyb21pdW06Omhh
c1JlcGxpY2EoKSBjb25zdAotewotICAgIHJldHVybiBtX293bmluZ0xheWVyLT5yZXBsaWNhTGF5
ZXIoKTsKLX0KLQotYm9vbCBSZW5kZXJTdXJmYWNlQ2hyb21pdW06Omhhc01hc2soKSBjb25zdAot
ewotICAgIHJldHVybiBtX21hc2tMYXllcjsKLX0KLQotYm9vbCBSZW5kZXJTdXJmYWNlQ2hyb21p
dW06OnJlcGxpY2FIYXNNYXNrKCkgY29uc3QKLXsKLSAgICByZXR1cm4gaGFzUmVwbGljYSgpICYm
IChtX21hc2tMYXllciB8fCBtX293bmluZ0xheWVyLT5yZXBsaWNhTGF5ZXIoKS0+bWFza0xheWVy
KCkpOwotfQotCiBGbG9hdFJlY3QgUmVuZGVyU3VyZmFjZUNocm9taXVtOjpjb21wdXRlUm9vdFNj
aXNzb3JSZWN0SW5DdXJyZW50U3VyZmFjZShjb25zdCBGbG9hdFJlY3QmIHJvb3RTY2lzc29yUmVj
dCkgY29uc3QKIHsKICAgICBXZWJUcmFuc2Zvcm1hdGlvbk1hdHJpeCBpbnZlcnNlU2NyZWVuU3Bh
Y2VUcmFuc2Zvcm0gPSBtX3NjcmVlblNwYWNlVHJhbnNmb3JtLmludmVyc2UoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1JlbmRlclN1cmZh
Y2VDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
UmVuZGVyU3VyZmFjZUNocm9taXVtLmgKaW5kZXggY2Q5ZGU4ZGE0ODU0OGJkMGE1YWQxYWVhYTMz
ZDBlNDI2MDQ2ODZmMy4uMTY4MWM1YmEzYTQ3NzZjNzg3NTRiNjEyZGVhMTFhZDE4MTMwOTI2ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vUmVu
ZGVyU3VyZmFjZUNocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vUmVuZGVyU3VyZmFjZUNocm9taXVtLmgKQEAgLTMxLDEzICszMSwxMSBAQAog
CiAjaW5jbHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgotI2luY2x1ZGUg
PHB1YmxpYy9XZWJGaWx0ZXJPcGVyYXRpb25zLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlRyYW5z
Zm9ybWF0aW9uTWF0cml4Lmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgRmlsdGVyT3BlcmF0aW9uczsKIGNsYXNzIExheWVyQ2hy
b21pdW07CiBjbGFzcyBMYXllclJlbmRlcmVyQ2hyb21pdW07CiAKQEAgLTkwLDM2ICs4OCwxOCBA
QCBwdWJsaWM6CiAgICAgY29uc3QgSW50UmVjdCYgc2Npc3NvclJlY3QoKSBjb25zdCB7IHJldHVy
biBtX3NjaXNzb3JSZWN0OyB9CiAgICAgdm9pZCBzZXRTY2lzc29yUmVjdChjb25zdCBJbnRSZWN0
JiBzY2lzc29yUmVjdCkgeyBtX3NjaXNzb3JSZWN0ID0gc2Npc3NvclJlY3Q7IH0KIAotICAgIHZv
aWQgc2V0RmlsdGVycyhjb25zdCBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMmIGZpbHRlcnMp
IHsgbV9maWx0ZXJzID0gZmlsdGVyczsgfQotICAgIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3Bl
cmF0aW9ucyYgZmlsdGVycygpIGNvbnN0IHsgcmV0dXJuIG1fZmlsdGVyczsgfQotCi0gICAgdm9p
ZCBzZXRCYWNrZ3JvdW5kRmlsdGVycyhjb25zdCBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMm
IGZpbHRlcnMpIHsgbV9iYWNrZ3JvdW5kRmlsdGVycyA9IGZpbHRlcnM7IH0KLSAgICBjb25zdCBX
ZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMmIGJhY2tncm91bmRGaWx0ZXJzKCkgY29uc3QgeyBy
ZXR1cm4gbV9iYWNrZ3JvdW5kRmlsdGVyczsgfQotCi0gICAgYm9vbCBza2lwc0RyYXcoKSBjb25z
dCB7IHJldHVybiBtX3NraXBzRHJhdzsgfQotICAgIHZvaWQgc2V0U2tpcHNEcmF3KGJvb2wgc2tp
cHNEcmF3KSB7IG1fc2tpcHNEcmF3ID0gc2tpcHNEcmF3OyB9Ci0KICAgICB2b2lkIGNsZWFyTGF5
ZXJMaXN0KCkgeyBtX2xheWVyTGlzdC5jbGVhcigpOyB9CiAgICAgVmVjdG9yPFJlZlB0cjxMYXll
ckNocm9taXVtPiA+JiBsYXllckxpc3QoKSB7IHJldHVybiBtX2xheWVyTGlzdDsgfQogCi0gICAg
dm9pZCBzZXRNYXNrTGF5ZXIoTGF5ZXJDaHJvbWl1bSogbWFza0xheWVyKSB7IG1fbWFza0xheWVy
ID0gbWFza0xheWVyOyB9Ci0KICAgICB2b2lkIHNldE5lYXJlc3RBbmNlc3RvclRoYXRNb3Zlc1Bp
eGVscyhSZW5kZXJTdXJmYWNlQ2hyb21pdW0qIHN1cmZhY2UpIHsgbV9uZWFyZXN0QW5jZXN0b3JU
aGF0TW92ZXNQaXhlbHMgPSBzdXJmYWNlOyB9CiAgICAgY29uc3QgUmVuZGVyU3VyZmFjZUNocm9t
aXVtKiBuZWFyZXN0QW5jZXN0b3JUaGF0TW92ZXNQaXhlbHMoKSBjb25zdCB7IHJldHVybiBtX25l
YXJlc3RBbmNlc3RvclRoYXRNb3Zlc1BpeGVsczsgfQogCi0gICAgYm9vbCBoYXNSZXBsaWNhKCkg
Y29uc3Q7Ci0KLSAgICBib29sIGhhc01hc2soKSBjb25zdDsKLSAgICBib29sIHJlcGxpY2FIYXNN
YXNrKCkgY29uc3Q7Ci0KICAgICBGbG9hdFJlY3QgY29tcHV0ZVJvb3RTY2lzc29yUmVjdEluQ3Vy
cmVudFN1cmZhY2UoY29uc3QgRmxvYXRSZWN0JiByb290U2Npc3NvclJlY3QpIGNvbnN0OwogcHJp
dmF0ZToKICAgICBMYXllckNocm9taXVtKiBtX293bmluZ0xheWVyOwotICAgIExheWVyQ2hyb21p
dW0qIG1fbWFza0xheWVyOwogCiAgICAgLy8gVXNlcyB0aGlzIHN1cmZhY2UncyBzcGFjZS4KICAg
ICBJbnRSZWN0IG1fY29udGVudFJlY3Q7Ci0gICAgYm9vbCBtX3NraXBzRHJhdzsKIAogICAgIGZs
b2F0IG1fZHJhd09wYWNpdHk7CiAgICAgYm9vbCBtX2RyYXdPcGFjaXR5SXNBbmltYXRpbmc7CkBA
IC0xMzEsOCArMTExLDYgQEAgcHJpdmF0ZToKICAgICBXZWJLaXQ6OldlYlRyYW5zZm9ybWF0aW9u
TWF0cml4IG1fcmVwbGljYVNjcmVlblNwYWNlVHJhbnNmb3JtOwogICAgIGJvb2wgbV90YXJnZXRT
dXJmYWNlVHJhbnNmb3Jtc0FyZUFuaW1hdGluZzsKICAgICBib29sIG1fc2NyZWVuU3BhY2VUcmFu
c2Zvcm1zQXJlQW5pbWF0aW5nOwotICAgIFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyBtX2Zp
bHRlcnM7Ci0gICAgV2ViS2l0OjpXZWJGaWx0ZXJPcGVyYXRpb25zIG1fYmFja2dyb3VuZEZpbHRl
cnM7CiAKICAgICAvLyBVc2VzIHRoZSBzcGFjZSBvZiB0aGUgc3VyZmFjZSdzIHRhcmdldCBzdXJm
YWNlLgogICAgIEludFJlY3QgbV9jbGlwUmVjdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVySW1wbC5oCmluZGV4IDQy
ZGFiZDM2NmJmN2MyYjk5YmQxZTk2NGI1N2JkYzI3NjY4N2UxZTcuLjUwM2Y4YTE1MWFkNWFhNWQ5
M2RjZmI4NmU2ZjczOTZlY2VmYjZhN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllckltcGwuaApAQCAtODAsNiAr
ODAsMTAgQEAgcHVibGljOgogICAgIHZvaWQgc2V0UmVwbGljYUxheWVyKFBhc3NPd25QdHI8Q0NM
YXllckltcGw+KTsKICAgICBDQ0xheWVySW1wbCogcmVwbGljYUxheWVyKCkgY29uc3QgeyByZXR1
cm4gbV9yZXBsaWNhTGF5ZXIuZ2V0KCk7IH0KIAorICAgIGJvb2wgaGFzTWFzaygpIGNvbnN0IHsg
cmV0dXJuIG1fbWFza0xheWVyOyB9CisgICAgYm9vbCBoYXNSZXBsaWNhKCkgY29uc3QgeyByZXR1
cm4gbV9yZXBsaWNhTGF5ZXI7IH0KKyAgICBib29sIHJlcGxpY2FIYXNNYXNrKCkgY29uc3QgeyBy
ZXR1cm4gbV9yZXBsaWNhTGF5ZXIgJiYgKG1fbWFza0xheWVyIHx8IG1fcmVwbGljYUxheWVyLT5t
X21hc2tMYXllcik7IH0KKwogICAgIENDTGF5ZXJUcmVlSG9zdEltcGwqIGxheWVyVHJlZUhvc3RJ
bXBsKCkgY29uc3QgeyByZXR1cm4gbV9sYXllclRyZWVIb3N0SW1wbDsgfQogICAgIHZvaWQgc2V0
TGF5ZXJUcmVlSG9zdEltcGwoQ0NMYXllclRyZWVIb3N0SW1wbCogaG9zdEltcGwpIHsgbV9sYXll
clRyZWVIb3N0SW1wbCA9IGhvc3RJbXBsOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3Qu
Y3BwCmluZGV4IGRhMmNiMzJhMGM2YTEwOTBlN2NmNWY1ZjIwYzY1NDg5MDc5ODViMjcuLjFmNTFm
MTlkNDViMTEyNjgwYmM2MWViMTdhZjQzNDljZmVmMjhmYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXll
clRyZWVIb3N0LmNwcApAQCAtNTU1LDcgKzU1NSw3IEBAIHNpemVfdCBDQ0xheWVyVHJlZUhvc3Q6
OmNhbGN1bGF0ZU1lbW9yeUZvclJlbmRlclN1cmZhY2VzKGNvbnN0IExheWVyTGlzdCYgdXBkYXRl
CiAgICAgICAgIHNpemVfdCBieXRlcyA9IENDVGV4dHVyZTo6bWVtb3J5U2l6ZUJ5dGVzKHJlbmRl
clN1cmZhY2UtPmNvbnRlbnRSZWN0KCkuc2l6ZSgpLCBHcmFwaGljc0NvbnRleHQzRDo6UkdCQSk7
CiAgICAgICAgIGNvbnRlbnRzVGV4dHVyZUJ5dGVzICs9IGJ5dGVzOwogCi0gICAgICAgIGlmIChy
ZW5kZXJTdXJmYWNlLT5iYWNrZ3JvdW5kRmlsdGVycygpLmlzRW1wdHkoKSkKKyAgICAgICAgaWYg
KHJlbmRlclN1cmZhY2VMYXllci0+YmFja2dyb3VuZEZpbHRlcnMoKS5pc0VtcHR5KCkpCiAgICAg
ICAgICAgICBjb250aW51ZTsKIAogICAgICAgICBpZiAoYnl0ZXMgPiBtYXhCYWNrZ3JvdW5kVGV4
dHVyZUJ5dGVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0Q29tbW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdENvbW1vbi5jcHAKaW5k
ZXggMThkNDhmOWVlMjgzYTdhZmFhY2IxODYzNDcyZjUzMTMzMGY5NDQzMS4uYzc1ZDU0OGY4ZDRj
OGVhMDZiMWNlODY3MjQxN2YzMWYwZTI0ZWYzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0Q29tbW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVy
VHJlZUhvc3RDb21tb24uY3BwCkBAIC02MTgsMTMgKzYxOCwxMCBAQCBzdGF0aWMgYm9vbCBjYWxj
dWxhdGVEcmF3VHJhbnNmb3Jtc0ludGVybmFsKExheWVyVHlwZSogbGF5ZXIsIExheWVyVHlwZSog
cm9vdExheQogICAgICAgICBpZiAobGF5ZXItPnJlcGxpY2FMYXllcigpICYmIGxheWVyLT5yZXBs
aWNhTGF5ZXIoKS0+bWFza0xheWVyKCkpCiAgICAgICAgICAgICBsYXllci0+cmVwbGljYUxheWVy
KCktPm1hc2tMYXllcigpLT5zZXRSZW5kZXJUYXJnZXQobGF5ZXIpOwogCi0gICAgICAgIHJlbmRl
clN1cmZhY2UtPnNldEZpbHRlcnMobGF5ZXItPmZpbHRlcnMoKSk7Ci0gICAgICAgIGlmIChyZW5k
ZXJTdXJmYWNlLT5maWx0ZXJzKCkuaGFzRmlsdGVyVGhhdE1vdmVzUGl4ZWxzKCkpCisgICAgICAg
IGlmIChsYXllci0+ZmlsdGVycygpLmhhc0ZpbHRlclRoYXRNb3Zlc1BpeGVscygpKQogICAgICAg
ICAgICAgbmVhcmVzdEFuY2VzdG9yVGhhdE1vdmVzUGl4ZWxzID0gcmVuZGVyU3VyZmFjZTsKICAg
ICAgICAgcmVuZGVyU3VyZmFjZS0+c2V0TmVhcmVzdEFuY2VzdG9yVGhhdE1vdmVzUGl4ZWxzKG5l
YXJlc3RBbmNlc3RvclRoYXRNb3Zlc1BpeGVscyk7CiAKLSAgICAgICAgcmVuZGVyU3VyZmFjZS0+
c2V0QmFja2dyb3VuZEZpbHRlcnMobGF5ZXItPmJhY2tncm91bmRGaWx0ZXJzKCkpOwotCiAgICAg
ICAgIHJlbmRlclN1cmZhY2VMYXllckxpc3QuYXBwZW5kKGxheWVyKTsKICAgICB9IGVsc2Ugewog
ICAgICAgICBsYXllci0+c2V0RHJhd1RyYW5zZm9ybShjb21iaW5lZFRyYW5zZm9ybSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ09j
Y2x1c2lvblRyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmNwcAppbmRleCBlOTM3Y2UwZjNlNjkzY2UwOTA4
YWRjMmY5M2Q1MTgyYTI3YWViNmIzLi4wZDAxNTkzY2Y4NzNiZTY3MmQzN2FlNzc4YjQ4ZjdjYTdk
MTk5ZTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ09jY2x1c2lvblRyYWNrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDT2NjbHVzaW9uVHJhY2tlci5jcHAKQEAgLTEyNCw3
ICsxMjQsNyBAQCB2b2lkIENDT2NjbHVzaW9uVHJhY2tlckJhc2U8TGF5ZXJUeXBlLCBSZW5kZXJT
dXJmYWNlVHlwZT46OmZpbmlzaGVkUmVuZGVyVGFyZ2V0KAogICAgIFJlbmRlclN1cmZhY2VUeXBl
KiBzdXJmYWNlID0gZmluaXNoZWRUYXJnZXQtPnJlbmRlclN1cmZhY2UoKTsKIAogICAgIC8vIElm
IHRoZSBvY2NsdXNpb24gd2l0aGluIHRoZSBzdXJmYWNlIGNhbiBub3QgYmUgYXBwbGllZCB0byB0
aGluZ3Mgb3V0c2lkZSBvZiB0aGUgc3VyZmFjZSdzIHN1YnRyZWUsIHRoZW4gY2xlYXIgdGhlIG9j
Y2x1c2lvbiBoZXJlIHNvIGl0IHdvbid0IGJlIHVzZWQuCi0gICAgaWYgKGZpbmlzaGVkVGFyZ2V0
LT5tYXNrTGF5ZXIoKSB8fCAhc3VyZmFjZU9wYWNpdHlLbm93bihzdXJmYWNlKSB8fCBzdXJmYWNl
LT5kcmF3T3BhY2l0eSgpIDwgMSB8fCBzdXJmYWNlLT5maWx0ZXJzKCkuaGFzRmlsdGVyVGhhdEFm
ZmVjdHNPcGFjaXR5KCkpIHsKKyAgICBpZiAoZmluaXNoZWRUYXJnZXQtPm1hc2tMYXllcigpIHx8
ICFzdXJmYWNlT3BhY2l0eUtub3duKHN1cmZhY2UpIHx8IHN1cmZhY2UtPmRyYXdPcGFjaXR5KCkg
PCAxIHx8IGZpbmlzaGVkVGFyZ2V0LT5maWx0ZXJzKCkuaGFzRmlsdGVyVGhhdEFmZmVjdHNPcGFj
aXR5KCkpIHsKICAgICAgICAgbV9zdGFjay5sYXN0KCkub2NjbHVzaW9uSW5TY3JlZW4gPSBSZWdp
b24oKTsKICAgICAgICAgbV9zdGFjay5sYXN0KCkub2NjbHVzaW9uSW5UYXJnZXQgPSBSZWdpb24o
KTsKICAgICB9IGVsc2UgewpAQCAtMjA5LDcgKzIwOSw3IEBAIHN0YXRpYyB2b2lkIHJlZHVjZU9j
Y2x1c2lvbkJlbG93U3VyZmFjZShMYXllclR5cGUqIGNvbnRyaWJ1dGluZ0xheWVyLCBjb25zdCBJ
bnRSCiAgICAgICAgIGJvdW5kc0luVGFyZ2V0LmludGVyc2VjdChjb250cmlidXRpbmdMYXllci0+
cmVuZGVyU3VyZmFjZSgpLT5jbGlwUmVjdCgpKTsKIAogICAgIGludCBvdXRzZXRUb3AsIG91dHNl
dFJpZ2h0LCBvdXRzZXRCb3R0b20sIG91dHNldExlZnQ7Ci0gICAgY29udHJpYnV0aW5nTGF5ZXIt
PnJlbmRlclN1cmZhY2UoKS0+YmFja2dyb3VuZEZpbHRlcnMoKS5nZXRPdXRzZXRzKG91dHNldFRv
cCwgb3V0c2V0UmlnaHQsIG91dHNldEJvdHRvbSwgb3V0c2V0TGVmdCk7CisgICAgY29udHJpYnV0
aW5nTGF5ZXItPmJhY2tncm91bmRGaWx0ZXJzKCkuZ2V0T3V0c2V0cyhvdXRzZXRUb3AsIG91dHNl
dFJpZ2h0LCBvdXRzZXRCb3R0b20sIG91dHNldExlZnQpOwogCiAgICAgLy8gVGhlIGZpbHRlciBj
YW4gbW92ZSBwaXhlbHMgZnJvbSBvdXRzaWRlIG9mIHRoZSBjbGlwLCBzbyBhbGxvdyBhZmZlY3Rl
ZEFyZWEgdG8gZXhwYW5kIG91dHNpZGUgdGhlIGNsaXAuCiAgICAgYm91bmRzSW5UYXJnZXQubW92
ZSgtb3V0c2V0TGVmdCwgLW91dHNldFRvcCk7CkBAIC0yMzYsMTQgKzIzNiwxNCBAQCB2b2lkIEND
T2NjbHVzaW9uVHJhY2tlckJhc2U8TGF5ZXJUeXBlLCBSZW5kZXJTdXJmYWNlVHlwZT46OmxlYXZl
VG9SZW5kZXJUYXJnZXQoYwogICAgIGNvbnN0IExheWVyVHlwZSogb2xkVGFyZ2V0ID0gbV9zdGFj
a1tsYXN0SW5kZXhdLnRhcmdldDsKICAgICBjb25zdCBSZW5kZXJTdXJmYWNlVHlwZSogb2xkU3Vy
ZmFjZSA9IG9sZFRhcmdldC0+cmVuZGVyU3VyZmFjZSgpOwogICAgIFJlZ2lvbiBvbGRUYXJnZXRP
Y2NsdXNpb25Jbk5ld1RhcmdldCA9IHRyYW5zZm9ybVN1cmZhY2VPcGFxdWVSZWdpb248UmVuZGVy
U3VyZmFjZVR5cGU+KG9sZFN1cmZhY2UsIG1fc3RhY2tbbGFzdEluZGV4XS5vY2NsdXNpb25JblRh
cmdldCwgb2xkU3VyZmFjZS0+b3JpZ2luVHJhbnNmb3JtKCkpOwotICAgIGlmIChvbGRTdXJmYWNl
LT5oYXNSZXBsaWNhKCkgJiYgIW9sZFN1cmZhY2UtPnJlcGxpY2FIYXNNYXNrKCkpCisgICAgaWYg
KG9sZFRhcmdldC0+aGFzUmVwbGljYSgpICYmICFvbGRUYXJnZXQtPnJlcGxpY2FIYXNNYXNrKCkp
CiAgICAgICAgIG9sZFRhcmdldE9jY2x1c2lvbkluTmV3VGFyZ2V0LnVuaXRlKHRyYW5zZm9ybVN1
cmZhY2VPcGFxdWVSZWdpb248UmVuZGVyU3VyZmFjZVR5cGU+KG9sZFN1cmZhY2UsIG1fc3RhY2tb
bGFzdEluZGV4XS5vY2NsdXNpb25JblRhcmdldCwgb2xkU3VyZmFjZS0+cmVwbGljYU9yaWdpblRy
YW5zZm9ybSgpKSk7CiAKICAgICBJbnRSZWN0IHVub2NjbHVkZWRTdXJmYWNlUmVjdDsKICAgICBJ
bnRSZWN0IHVub2NjbHVkZWRSZXBsaWNhUmVjdDsKLSAgICBpZiAob2xkU3VyZmFjZS0+YmFja2dy
b3VuZEZpbHRlcnMoKS5oYXNGaWx0ZXJUaGF0TW92ZXNQaXhlbHMoKSkgeworICAgIGlmIChvbGRU
YXJnZXQtPmJhY2tncm91bmRGaWx0ZXJzKCkuaGFzRmlsdGVyVGhhdE1vdmVzUGl4ZWxzKCkpIHsK
ICAgICAgICAgdW5vY2NsdWRlZFN1cmZhY2VSZWN0ID0gdW5vY2NsdWRlZENvbnRyaWJ1dGluZ1N1
cmZhY2VDb250ZW50UmVjdChvbGRUYXJnZXQsIGZhbHNlLCBvbGRTdXJmYWNlLT5jb250ZW50UmVj
dCgpKTsKLSAgICAgICAgaWYgKG9sZFN1cmZhY2UtPmhhc1JlcGxpY2EoKSkKKyAgICAgICAgaWYg
KG9sZFRhcmdldC0+aGFzUmVwbGljYSgpKQogICAgICAgICAgICAgdW5vY2NsdWRlZFJlcGxpY2FS
ZWN0ID0gdW5vY2NsdWRlZENvbnRyaWJ1dGluZ1N1cmZhY2VDb250ZW50UmVjdChvbGRUYXJnZXQs
IHRydWUsIG9sZFN1cmZhY2UtPmNvbnRlbnRSZWN0KCkpOwogICAgIH0KIApAQCAtMjU4LDkgKzI1
OCw5IEBAIHZvaWQgQ0NPY2NsdXNpb25UcmFja2VyQmFzZTxMYXllclR5cGUsIFJlbmRlclN1cmZh
Y2VUeXBlPjo6bGVhdmVUb1JlbmRlclRhcmdldChjCiAgICAgICAgIG1fc3RhY2subGFzdCgpLm9j
Y2x1c2lvbkluVGFyZ2V0ID0gb2xkVGFyZ2V0T2NjbHVzaW9uSW5OZXdUYXJnZXQ7CiAgICAgfQog
Ci0gICAgaWYgKG9sZFN1cmZhY2UtPmJhY2tncm91bmRGaWx0ZXJzKCkuaGFzRmlsdGVyVGhhdE1v
dmVzUGl4ZWxzKCkpIHsKKyAgICBpZiAob2xkVGFyZ2V0LT5iYWNrZ3JvdW5kRmlsdGVycygpLmhh
c0ZpbHRlclRoYXRNb3Zlc1BpeGVscygpKSB7CiAgICAgICAgIHJlZHVjZU9jY2x1c2lvbkJlbG93
U3VyZmFjZShvbGRUYXJnZXQsIHVub2NjbHVkZWRTdXJmYWNlUmVjdCwgb2xkU3VyZmFjZS0+b3Jp
Z2luVHJhbnNmb3JtKCksIG5ld1RhcmdldCwgbV9zdGFjay5sYXN0KCkub2NjbHVzaW9uSW5UYXJn
ZXQsIG1fc3RhY2subGFzdCgpLm9jY2x1c2lvbkluU2NyZWVuKTsKLSAgICAgICAgaWYgKG9sZFN1
cmZhY2UtPmhhc1JlcGxpY2EoKSkKKyAgICAgICAgaWYgKG9sZFRhcmdldC0+aGFzUmVwbGljYSgp
KQogICAgICAgICAgICAgcmVkdWNlT2NjbHVzaW9uQmVsb3dTdXJmYWNlKG9sZFRhcmdldCwgdW5v
Y2NsdWRlZFJlcGxpY2FSZWN0LCBvbGRTdXJmYWNlLT5yZXBsaWNhT3JpZ2luVHJhbnNmb3JtKCks
IG5ld1RhcmdldCwgbV9zdGFjay5sYXN0KCkub2NjbHVzaW9uSW5UYXJnZXQsIG1fc3RhY2subGFz
dCgpLm9jY2x1c2lvbkluU2NyZWVuKTsKICAgICB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJQYXNzLmNw
cAppbmRleCBiMTExMDBhZjM2Y2Q0Y2IwYjA3M2MwZGM5NDVmZDVjNzZmMWNlMGMwLi5mMmU3YThm
OTBkYzZjZDhhYjlkNzQzYzdmOWZhYzUxZmRiN2NiNTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1JlbmRlclBhc3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyUGFz
cy5jcHAKQEAgLTc1LDcgKzc1LDcgQEAgdm9pZCBDQ1JlbmRlclBhc3M6OmFwcGVuZFF1YWRzRm9y
UmVuZGVyU3VyZmFjZUxheWVyKENDTGF5ZXJJbXBsKiBsYXllciwgY29uc3QgQ0MKICAgICBzdXJm
YWNlLT5hcHBlbmRRdWFkcyhxdWFkQ3VsbGVyLCBzaGFyZWRRdWFkU3RhdGUuZ2V0KCksIGlzUmVw
bGljYSwgY29udHJpYnV0aW5nUmVuZGVyUGFzcy0+aWQoKSk7CiAgICAgbV9zaGFyZWRRdWFkU3Rh
dGVMaXN0LmFwcGVuZChzaGFyZWRRdWFkU3RhdGUucmVsZWFzZSgpKTsKIAotICAgIGlmICghc3Vy
ZmFjZS0+aGFzUmVwbGljYSgpKQorICAgIGlmICghbGF5ZXItPmhhc1JlcGxpY2EoKSkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgLy8gQWRkIHJlcGxpY2EgYWZ0ZXIgdGhlIHN1cmZhY2Ugc28gdGhh
dCBpdCBhcHBlYXJzIGJlbG93IHRoZSBzdXJmYWNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFj
ZS5jcHAKaW5kZXggMmM5MzcxODcyMjIxYjRjMzVhZDk4ZDJhZjQ0MGVjZDcyYmQ4MWY3ZS4uZTcy
NjA5NjZhMDcwOGEwMmUxOWUwOGM4ZWVjMmEzMGNiOTM3MTE3MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NSZW5kZXJTdXJmYWNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Jl
bmRlclN1cmZhY2UuY3BwCkBAIC03OCw3ICs3OCw3IEBAIEZsb2F0UmVjdCBDQ1JlbmRlclN1cmZh
Y2U6OmRyYXdhYmxlQ29udGVudFJlY3QoKSBjb25zdAogICAgIEZsb2F0UmVjdCBsb2NhbENvbnRl
bnRSZWN0KC0wLjUgKiBtX2NvbnRlbnRSZWN0LndpZHRoKCksIC0wLjUgKiBtX2NvbnRlbnRSZWN0
LmhlaWdodCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1fY29udGVudFJlY3Qu
d2lkdGgoKSwgbV9jb250ZW50UmVjdC5oZWlnaHQoKSk7CiAgICAgRmxvYXRSZWN0IGRyYXdhYmxl
Q29udGVudFJlY3QgPSBDQ01hdGhVdGlsOjptYXBDbGlwcGVkUmVjdChtX2RyYXdUcmFuc2Zvcm0s
IGxvY2FsQ29udGVudFJlY3QpOwotICAgIGlmIChoYXNSZXBsaWNhKCkpCisgICAgaWYgKG1fb3du
aW5nTGF5ZXItPmhhc1JlcGxpY2EoKSkKICAgICAgICAgZHJhd2FibGVDb250ZW50UmVjdC51bml0
ZShDQ01hdGhVdGlsOjptYXBDbGlwcGVkUmVjdChtX3JlcGxpY2FEcmF3VHJhbnNmb3JtLCBsb2Nh
bENvbnRlbnRSZWN0KSk7CiAKICAgICByZXR1cm4gZHJhd2FibGVDb250ZW50UmVjdDsKQEAgLTEy
MCwyMCArMTIwLDYgQEAgaW50IENDUmVuZGVyU3VyZmFjZTo6b3duaW5nTGF5ZXJJZCgpIGNvbnN0
CiAgICAgcmV0dXJuIG1fb3duaW5nTGF5ZXIgPyBtX293bmluZ0xheWVyLT5pZCgpIDogMDsKIH0K
IAotYm9vbCBDQ1JlbmRlclN1cmZhY2U6Omhhc1JlcGxpY2EoKSBjb25zdAotewotICAgIHJldHVy
biBtX293bmluZ0xheWVyLT5yZXBsaWNhTGF5ZXIoKTsKLX0KLQotYm9vbCBDQ1JlbmRlclN1cmZh
Y2U6Omhhc01hc2soKSBjb25zdAotewotICAgIHJldHVybiBtX293bmluZ0xheWVyLT5tYXNrTGF5
ZXIoKTsKLX0KLQotYm9vbCBDQ1JlbmRlclN1cmZhY2U6OnJlcGxpY2FIYXNNYXNrKCkgY29uc3QK
LXsKLSAgICByZXR1cm4gaGFzUmVwbGljYSgpICYmIChtX293bmluZ0xheWVyLT5tYXNrTGF5ZXIo
KSB8fCBtX293bmluZ0xheWVyLT5yZXBsaWNhTGF5ZXIoKS0+bWFza0xheWVyKCkpOwotfQogCiB2
b2lkIENDUmVuZGVyU3VyZmFjZTo6c2V0Q2xpcFJlY3QoY29uc3QgSW50UmVjdCYgY2xpcFJlY3Qp
CiB7CkBAIC0xOTcsNyArMTgzLDcgQEAgRmxvYXRSZWN0IENDUmVuZGVyU3VyZmFjZTo6Y29tcHV0
ZVJvb3RTY2lzc29yUmVjdEluQ3VycmVudFN1cmZhY2UoY29uc3QgRmxvYXRSZWMKIAogdm9pZCBD
Q1JlbmRlclN1cmZhY2U6OmFwcGVuZFF1YWRzKENDUXVhZEN1bGxlciYgcXVhZExpc3QsIENDU2hh
cmVkUXVhZFN0YXRlKiBzaGFyZWRRdWFkU3RhdGUsIGJvb2wgZm9yUmVwbGljYSwgaW50IHJlbmRl
clBhc3NJZCkKIHsKLSAgICBBU1NFUlQoIWZvclJlcGxpY2EgfHwgaGFzUmVwbGljYSgpKTsKKyAg
ICBBU1NFUlQoIWZvclJlcGxpY2EgfHwgbV9vd25pbmdMYXllci0+aGFzUmVwbGljYSgpKTsKIAog
ICAgIGlmIChtX293bmluZ0xheWVyLT5oYXNEZWJ1Z0JvcmRlcnMoKSkgewogICAgICAgICBpbnQg
cmVkID0gZm9yUmVwbGljYSA/IGRlYnVnUmVwbGljYUJvcmRlckNvbG9yUmVkIDogZGVidWdTdXJm
YWNlQm9yZGVyQ29sb3JSZWQ7CkBAIC0yMjcsNyArMjEzLDEwIEBAIHZvaWQgQ0NSZW5kZXJTdXJm
YWNlOjphcHBlbmRRdWFkcyhDQ1F1YWRDdWxsZXImIHF1YWRMaXN0LCBDQ1NoYXJlZFF1YWRTdGF0
ZSogc2hhCiAgICAgV2ViVHJhbnNmb3JtYXRpb25NYXRyaXggZHJhd1RyYW5zZm9ybSA9IGZvclJl
cGxpY2EgPyBtX3JlcGxpY2FEcmF3VHJhbnNmb3JtIDogbV9kcmF3VHJhbnNmb3JtOwogICAgIElu
dFJlY3QgY29udGVudHNDaGFuZ2VkU2luY2VMYXN0RnJhbWUgPSBjb250ZW50c0NoYW5nZWQoKSA/
IG1fY29udGVudFJlY3QgOiBJbnRSZWN0KCk7CiAKLSAgICBxdWFkTGlzdC5hcHBlbmRTdXJmYWNl
KENDUmVuZGVyUGFzc0RyYXdRdWFkOjpjcmVhdGUoc2hhcmVkUXVhZFN0YXRlLCBjb250ZW50UmVj
dCgpLCByZW5kZXJQYXNzSWQsIGZvclJlcGxpY2EsIGRyYXdUcmFuc2Zvcm0sIGZpbHRlcnMoKSwg
YmFja2dyb3VuZEZpbHRlcnMoKSwgbWFza1RleHR1cmVJZCwgY29udGVudHNDaGFuZ2VkU2luY2VM
YXN0RnJhbWUpKTsKKyAgICBjb25zdCBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMmIGZpbHRl
cnMgPSBtX293bmluZ0xheWVyLT5maWx0ZXJzKCk7CisgICAgY29uc3QgV2ViS2l0OjpXZWJGaWx0
ZXJPcGVyYXRpb25zJiBiYWNrZ3JvdW5kRmlsdGVycyA9IG1fb3duaW5nTGF5ZXItPmJhY2tncm91
bmRGaWx0ZXJzKCk7CisKKyAgICBxdWFkTGlzdC5hcHBlbmRTdXJmYWNlKENDUmVuZGVyUGFzc0Ry
YXdRdWFkOjpjcmVhdGUoc2hhcmVkUXVhZFN0YXRlLCBjb250ZW50UmVjdCgpLCByZW5kZXJQYXNz
SWQsIGZvclJlcGxpY2EsIGRyYXdUcmFuc2Zvcm0sIGZpbHRlcnMsIGJhY2tncm91bmRGaWx0ZXJz
LCBtYXNrVGV4dHVyZUlkLCBjb250ZW50c0NoYW5nZWRTaW5jZUxhc3RGcmFtZSkpOwogfQogCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ1JlbmRlclN1cmZhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oCmluZGV4IDc5MDhlODQxYWMzNTg1YzA0NmZkYzRm
ZWQ5MGI1NDYxYzJjNjEzNDYuLjlmN2Q4NzZlZWNlZjlkOWJmNjAxYTc5Y2IwNmFjYmE0MDdlZjM2
MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDUmVuZGVyU3VyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDUmVuZGVyU3VyZmFjZS5oCkBAIC0zMiw3ICszMiw2IEBACiAjaW5j
bHVkZSAiRmxvYXRSZWN0LmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgImNjL0ND
U2hhcmVkUXVhZFN0YXRlLmgiCi0jaW5jbHVkZSA8cHVibGljL1dlYkZpbHRlck9wZXJhdGlvbnMu
aD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViVHJhbnNmb3JtYXRpb25NYXRyaXguaD4KICNpbmNsdWRl
IDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAg
LTYzLDEyICs2Miw2IEBAIHB1YmxpYzoKICAgICBmbG9hdCBkcmF3T3BhY2l0eSgpIGNvbnN0IHsg
cmV0dXJuIG1fZHJhd09wYWNpdHk7IH0KICAgICB2b2lkIHNldERyYXdPcGFjaXR5KGZsb2F0IG9w
YWNpdHkpIHsgbV9kcmF3T3BhY2l0eSA9IG9wYWNpdHk7IH0KIAotICAgIHZvaWQgc2V0RmlsdGVy
cyhjb25zdCBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMmIGZpbHRlcnMpIHsgbV9maWx0ZXJz
ID0gZmlsdGVyczsgfQotICAgIGNvbnN0IFdlYktpdDo6V2ViRmlsdGVyT3BlcmF0aW9ucyYgZmls
dGVycygpIGNvbnN0IHsgcmV0dXJuIG1fZmlsdGVyczsgfQotCi0gICAgdm9pZCBzZXRCYWNrZ3Jv
dW5kRmlsdGVycyhjb25zdCBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlvbnMmIGZpbHRlcnMpIHsg
bV9iYWNrZ3JvdW5kRmlsdGVycyA9IGZpbHRlcnM7IH0KLSAgICBjb25zdCBXZWJLaXQ6OldlYkZp
bHRlck9wZXJhdGlvbnMmIGJhY2tncm91bmRGaWx0ZXJzKCkgY29uc3QgeyByZXR1cm4gbV9iYWNr
Z3JvdW5kRmlsdGVyczsgfQotCiAgICAgdm9pZCBzZXROZWFyZXN0QW5jZXN0b3JUaGF0TW92ZXNQ
aXhlbHMoQ0NSZW5kZXJTdXJmYWNlKiBzdXJmYWNlKSB7IG1fbmVhcmVzdEFuY2VzdG9yVGhhdE1v
dmVzUGl4ZWxzID0gc3VyZmFjZTsgfQogICAgIGNvbnN0IENDUmVuZGVyU3VyZmFjZSogbmVhcmVz
dEFuY2VzdG9yVGhhdE1vdmVzUGl4ZWxzKCkgY29uc3QgeyByZXR1cm4gbV9uZWFyZXN0QW5jZXN0
b3JUaGF0TW92ZXNQaXhlbHM7IH0KIApAQCAtMTE1LDExICsxMDgsNiBAQCBwdWJsaWM6CiAKICAg
ICBpbnQgb3duaW5nTGF5ZXJJZCgpIGNvbnN0OwogCi0gICAgYm9vbCBoYXNSZXBsaWNhKCkgY29u
c3Q7Ci0KLSAgICBib29sIGhhc01hc2soKSBjb25zdDsKLSAgICBib29sIHJlcGxpY2FIYXNNYXNr
KCkgY29uc3Q7Ci0KICAgICB2b2lkIHJlc2V0UHJvcGVydHlDaGFuZ2VkRmxhZygpIHsgbV9zdXJm
YWNlUHJvcGVydHlDaGFuZ2VkID0gZmFsc2U7IH0KICAgICBib29sIHN1cmZhY2VQcm9wZXJ0eUNo
YW5nZWQoKSBjb25zdDsKICAgICBib29sIHN1cmZhY2VQcm9wZXJ0eUNoYW5nZWRPbmx5RnJvbURl
c2NlbmRhbnQoKSBjb25zdDsKQEAgLTE1MCw4ICsxMzgsNiBAQCBwcml2YXRlOgogICAgIFdlYktp
dDo6V2ViVHJhbnNmb3JtYXRpb25NYXRyaXggbV9yZXBsaWNhU2NyZWVuU3BhY2VUcmFuc2Zvcm07
CiAgICAgYm9vbCBtX3RhcmdldFN1cmZhY2VUcmFuc2Zvcm1zQXJlQW5pbWF0aW5nOwogICAgIGJv
b2wgbV9zY3JlZW5TcGFjZVRyYW5zZm9ybXNBcmVBbmltYXRpbmc7Ci0gICAgV2ViS2l0OjpXZWJG
aWx0ZXJPcGVyYXRpb25zIG1fZmlsdGVyczsKLSAgICBXZWJLaXQ6OldlYkZpbHRlck9wZXJhdGlv
bnMgbV9iYWNrZ3JvdW5kRmlsdGVyczsKIAogICAgIC8vIFVzZXMgdGhlIHNwYWNlIG9mIHRoZSBz
dXJmYWNlJ3MgdGFyZ2V0IHN1cmZhY2UuCiAgICAgSW50UmVjdCBtX2NsaXBSZWN0Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>