<?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>125676</bug_id>
          
          <creation_ts>2013-12-12 21:19:13 -0800</creation_ts>
          <short_desc>Make some improvements in CSSImageGeneratorValue code</short_desc>
          <delta_ts>2013-12-12 22:49:52 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>dstockwell</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>959464</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-12-12 21:19:13 -0800</bug_when>
    <thetext>Make some improvements in CSSImageGeneratorValue code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959468</commentid>
    <comment_count>1</comment_count>
      <attachid>219150</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-12-12 21:29:56 -0800</bug_when>
    <thetext>Created attachment 219150
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959490</commentid>
    <comment_count>2</comment_count>
      <attachid>219150</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-12 22:49:49 -0800</bug_when>
    <thetext>Comment on attachment 219150
Patch

Clearing flags on attachment: 219150

Committed r160528: &lt;http://trac.webkit.org/changeset/160528&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959491</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-12 22:49:52 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219150</attachid>
            <date>2013-12-12 21:29:56 -0800</date>
            <delta_ts>2013-12-12 22:49:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125676-20131212212956.patch</filename>
            <type>text/plain</type>
            <size>24150</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwNTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzQwNzcwOTY0MmZkNDM3
MTAyMDI2N2Q3Y2NjNDQ2YTEzMWRiY2Y3MS4uYjk3ZTQ3NGZmMWY0NTkxZDRiYjNjNzZlZmQ2NmM3
MGI4ODRmMjI5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY5IEBACisyMDEzLTEyLTEyICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIHNvbWUgaW1wcm92ZW1l
bnRzIGluIENTU0ltYWdlR2VuZXJhdG9yVmFsdWUgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1Njc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjc3MvQ1NTQ3Jvc3NmYWRlVmFsdWUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6c3ViaW1hZ2VLbm93blRvQmVPcGFxdWUpOiBUYWtlIGEgcmVmZXJl
bmNlIHRvIHRoZSBDU1NWYWx1ZSwgc2luY2UKKyAgICAgICAgaXQncyBrbm93biBub3QgdG8gYmUg
bnVsbC4gVXNlZCBjaGVja2VkIGNhc3QuCisgICAgICAgIChXZWJDb3JlOjpDU1NDcm9zc2ZhZGVW
YWx1ZTo6a25vd25Ub0JlT3BhcXVlKTogVXBkYXRlZCB0byBwYXNzIGEgcmVmZXJlbmNlLgorCisg
ICAgICAgICogY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6c2F2ZUNhY2hlZEltYWdlRm9yU2l6ZSk6IFVzZQor
ICAgICAgICBtYWtlX3VuaXF1ZSBpbnN0ZWFkIG9mIGFkb3B0UHRyLgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6c3ViaW1hZ2VJc1BlbmRpbmcpOiBVc2UgY2hlY2tl
ZCBjYXN0LgorICAgICAgICAoV2ViQ29yZTo6Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6Y2FjaGVk
SW1hZ2VGb3JDU1NWYWx1ZSk6IERpdHRvLCBhbHNvCisgICAgICAgIHVzZSBudWxscHRyLgorCisg
ICAgICAgICogY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuaDogUmVtb3ZlZCB1bm5lZWRlZCBp
bmNsdWRlcywgYWRkZWQgc29tZSBmb3J3YXJkCisgICAgICAgIGRlY2xhcmF0aW9ucywgdXNlZCB1
bmlxdWVfcHRyIGluc3RlYWQgb2YgT3duUHRyLCBhbmQgdXNlZCBDU1NfVkFMVUVfVFlQRV9DQVNU
UworICAgICAgICBtYWNybyB0byBjcmVhdGUgY2FzdCBmdW5jdGlvbnMuCisKKyAgICAgICAgKiBj
c3MvQ1NTVmFsdWUuY3BwOiBSZW1vdmVkIHVubmVlZGVkIGluY2x1ZGUgb2YgQ1NTSW1hZ2VHZW5l
cmF0b3JWYWx1ZS5oLgorCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6U3RhdGU6OmNsZWFyKTogVXNlIG51bGxwdHIgaW5z
dGVhZCBvZiAwLgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0
eSk6IFVzZSBjaGVja2VkIGNhc3QgYW5kIHBhc3MgcmVmZXJlbmNlcworICAgICAgICBpbnN0ZWFk
IG9mIHBvaW50ZXJzIHRvIFN0eWxlR2VuZXJhdGVkSW1hZ2U6OmNyZWF0ZS4KKyAgICAgICAgKFdl
YkNvcmU6OlN0eWxlUmVzb2x2ZXI6OnN0eWxlSW1hZ2UpOiBVc2UgY2hlY2tlZCBjYXN0IGFuZCBw
YXNzIHJlZmVyZW5jZXMKKyAgICAgICAgaW5zdGVhZCBvZiBwb2ludGVycyB0byBnZW5lcmF0ZWRP
clBlbmRpbmdGcm9tVmFsdWUuCisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJlc29sdmVyOjpnZW5l
cmF0ZWRPclBlbmRpbmdGcm9tVmFsdWUpOiBUYWtlIHRoZSB2YWx1ZSBhcyBhCisgICAgICAgIHJl
ZmVyZW5jZSBpbnN0ZWFkIG9mIGEgcG9pbnRlci4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVz
b2x2ZXI6OmxvYWRQZW5kaW5nSW1hZ2UpOiBQYXNzIGEgcmVmZXJuZWNlIGluc3RlYWQgb2YgYQor
ICAgICAgICBwb2ludGVyIHRvIFN0eWxlR2VuZXJhdGVkSW1hZ2U6OmNyZWF0ZS4KKyAgICAgICAg
KFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OmxvYWRQZW5kaW5nSW1hZ2VzKTogVXNlIGF1dG8gZm9y
IGl0ZXJhdGlvbiBpbnN0ZWFkIG9mCisgICAgICAgIGEgbG90IHR5cGUgbmFtZS4KKworICAgICAg
ICAqIGNzcy9TdHlsZVJlc29sdmVyLmg6IENoYW5nZWQgZ2VuZXJhdGVkT3JQZW5kaW5nRnJvbVZh
bHVlIHRvIHRha2UgdGhlIHZhbHVlCisgICAgICAgIGFzIGEgcmVmZXJlbmNlIGluc3RlYWQgb2Yg
YSBwb2ludGVyLgorCisgICAgICAgICogcGFnZS9hbmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRp
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6YmxlbmRGaWx0ZXIpOiBQYXNzIGEgcmVmZXJlbmNl
IGluc3RlZCBvZiBhIHBvaW50ZXIgdG8KKyAgICAgICAgU3R5bGVHZW5lcmF0ZWRJbWFnZTo6Y3Jl
YXRlLgorICAgICAgICAoV2ViQ29yZTo6Y3Jvc3NmYWRlQmxlbmQpOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OmJsZW5kRnVuYyk6IERpdHRvLiBBbHNvIHVzZSByZWZlcmVuY2VzIGZvciBsb2Nh
bCB2YXJpYWJsZXMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU3R5bGVHZW5lcmF0ZWRJ
bWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUdlbmVyYXRlZEltYWdlOjpTdHlsZUdl
bmVyYXRlZEltYWdlKTogVXNlIFBhc3NSZWYgaW5zdGVhZCBvZgorICAgICAgICBQYXNzUmVmUHRy
IGZvciB0aGUgYXJndW1lbnQgdHlwZS4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlR2VuZXJhdGVk
SW1hZ2U6OmNzc1ZhbHVlKTogVXBkYXRlZCBzaW5jZSBtX2ltYWdlR2VuZXJhdG9yVmFsdWUKKyAg
ICAgICAgaXMgbm93IGEgUmVmIGluc3RlYWQgb2YgYSBSZWZQdHIuIFNhZGx5IHRoaXMgcmVxdWly
ZXMgYSBjb25zdF9jYXN0IHRoYXQgd2UgY2FuCisgICAgICAgIGNvbWUgYmFjayBhbmQgZ2V0IHJp
ZCBvZiBsYXRlci4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlR2VuZXJhdGVkSW1hZ2U6OmltYWdl
U2l6ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVHZW5lcmF0ZWRJbWFnZTo6aW1h
Z2UpOiBEaXR0by4KKworICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9TdHlsZUdlbmVyYXRlZElt
YWdlLmg6IENoYW5nZWQgY3JlYXRlIGZ1bmN0aW9uIGFuZCBjb25zdHJ1Y3RvcgorICAgICAgICB0
byB0YWtlIGEgUGFzc1JlZi4gTWFkZSBpbWFnZVZhbHVlIG5vbi1jb25zdCBzaW5jZSBpdCByZXR1
cm5zIGEgbm9uLWNvbnN0IHZhbHVlLAorICAgICAgICB0byBiZSBjb25zaXN0ZW50IHdpdGggImNv
bmNlcHR1YWwgY29uc3QiLiBDaGFuZ2VkIG1faW1hZ2VHZW5lcmF0b3JWYWx1ZSB0byBiZSBhCisg
ICAgICAgIFJlZiBpbnN0ZWFkIG9mIGEgUmVmUHRyLgorCisgICAgICAgICogcmVuZGVyaW5nL3N0
eWxlL1N0eWxlSW1hZ2UuaDogTWFkZSBXcmFwcGVkSW1hZ2VQdHIgYmUgY29uc3Qgdm9pZCosIHNp
bmNlIGl0J3MKKyAgICAgICAgYSBwb2ludGVyIHVzZWQgb25seSBmb3IgZXF1YWxpdHkgY2hlY2tz
LiBOb3QgYSBncmVhdCBpZGlvbSwgYnV0IGZpbmUgdG8gdXNlIGEKKyAgICAgICAgY29uc3QgcG9p
bnRlciBpbnN0ZWFkIG9mIG5vbi1jb25zdCwgYW5kIGF2b2lkcyB0aGUgY29uc3RfY2FzdCB3ZSdk
IG90aGVyd2lzZQorICAgICAgICBuZWVkIGluIFN0eWxlR2VuZXJhdGVkSW1hZ2U6OmRhdGEuCisK
IDIwMTMtMTItMTIgIEJlbmphbWluIFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgRml4IGEgc2lsbHkgbWlzdGFrZSBvZiByMTYwNDY3CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQ3Jvc3NmYWRlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0Nyb3NzZmFkZVZhbHVlLmNwcAppbmRleCAwMGE0YmRjMTk4NmI0ZWI0MTJmZjQxODRkMGY1ZmIz
ZWI1OThkNjRiLi4yNjQ3MjI2M2E2MDBlOWU3MTUwYzkxYTAzODk3OGMxMThmN2Q5ZTJlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3Jvc3NmYWRlVmFsdWUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDcm9zc2ZhZGVWYWx1ZS5jcHAKQEAgLTQ0LDEzICs0NCwxMyBA
QCBzdGF0aWMgaW5saW5lIGRvdWJsZSBibGVuZEZ1bmMoZG91YmxlIGZyb20sIGRvdWJsZSB0bywg
ZG91YmxlIHByb2dyZXNzKQogICAgIHJldHVybiBibGVuZChmcm9tLCB0bywgcHJvZ3Jlc3MpOwog
fQogCi1zdGF0aWMgYm9vbCBzdWJpbWFnZUtub3duVG9CZU9wYXF1ZShDU1NWYWx1ZSogdmFsdWUs
IGNvbnN0IFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyKQorc3RhdGljIGJvb2wgc3ViaW1hZ2VLbm93
blRvQmVPcGFxdWUoQ1NTVmFsdWUmIHZhbHVlLCBjb25zdCBSZW5kZXJFbGVtZW50KiByZW5kZXJl
cikKIHsKLSAgICBpZiAodmFsdWUtPmlzSW1hZ2VWYWx1ZSgpKQotICAgICAgICByZXR1cm4gdG9D
U1NJbWFnZVZhbHVlKHZhbHVlKS0+a25vd25Ub0JlT3BhcXVlKHJlbmRlcmVyKTsKKyAgICBpZiAo
dmFsdWUuaXNJbWFnZVZhbHVlKCkpCisgICAgICAgIHJldHVybiB0b0NTU0ltYWdlVmFsdWUodmFs
dWUpLmtub3duVG9CZU9wYXF1ZShyZW5kZXJlcik7CiAKLSAgICBpZiAodmFsdWUtPmlzSW1hZ2VH
ZW5lcmF0b3JWYWx1ZSgpKQotICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Q1NTSW1hZ2VHZW5l
cmF0b3JWYWx1ZSo+KHZhbHVlKS0+a25vd25Ub0JlT3BhcXVlKHJlbmRlcmVyKTsKKyAgICBpZiAo
dmFsdWUuaXNJbWFnZUdlbmVyYXRvclZhbHVlKCkpCisgICAgICAgIHJldHVybiB0b0NTU0ltYWdl
R2VuZXJhdG9yVmFsdWUodmFsdWUpLmtub3duVG9CZU9wYXF1ZShyZW5kZXJlcik7CiAKICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKIApAQCAtMTEwLDcgKzExMCw3IEBAIGJvb2wgQ1NTQ3Jvc3Nm
YWRlVmFsdWU6OmlzUGVuZGluZygpIGNvbnN0CiAKIGJvb2wgQ1NTQ3Jvc3NmYWRlVmFsdWU6Omtu
b3duVG9CZU9wYXF1ZShjb25zdCBSZW5kZXJFbGVtZW50KiByZW5kZXJlcikgY29uc3QKIHsKLSAg
ICByZXR1cm4gc3ViaW1hZ2VLbm93blRvQmVPcGFxdWUobV9mcm9tVmFsdWUuZ2V0KCksIHJlbmRl
cmVyKSAmJiBzdWJpbWFnZUtub3duVG9CZU9wYXF1ZShtX3RvVmFsdWUuZ2V0KCksIHJlbmRlcmVy
KTsKKyAgICByZXR1cm4gc3ViaW1hZ2VLbm93blRvQmVPcGFxdWUoKm1fZnJvbVZhbHVlLCByZW5k
ZXJlcikgJiYgc3ViaW1hZ2VLbm93blRvQmVPcGFxdWUoKm1fdG9WYWx1ZSwgcmVuZGVyZXIpOwog
fQogCiB2b2lkIENTU0Nyb3NzZmFkZVZhbHVlOjpsb2FkU3ViaW1hZ2VzKENhY2hlZFJlc291cmNl
TG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJ
bWFnZUdlbmVyYXRvclZhbHVlLmNwcAppbmRleCBlNzNjMDM0OTYxYTQ0MmE2ZGViNmNmNmY3NDc4
MTk3MzYwNTk5NWNjLi44ZTZlZTFhNGIwNGE3OGVhNzMzMjBmODYyOThkZTRmZmRlOGMzMmFmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCkBAIC0z
Miw2ICszMiw3IEBACiAjaW5jbHVkZSAiQ1NTRmlsdGVySW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUg
IkNTU0dyYWRpZW50VmFsdWUuaCIKICNpbmNsdWRlICJDU1NJbWFnZVZhbHVlLmgiCisjaW5jbHVk
ZSAiR2VuZXJhdGVkSW1hZ2UuaCIKICNpbmNsdWRlICJJbWFnZS5oIgogI2luY2x1ZGUgIlJlbmRl
ckVsZW1lbnQuaCIKICNpbmNsdWRlICJTdHlsZUNhY2hlZEltYWdlLmgiCkBAIC04MCw3ICs4MSw3
IEBAIEdlbmVyYXRlZEltYWdlKiBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjpjYWNoZWRJbWFnZUZv
clNpemUoSW50U2l6ZSBzaXplKQogdm9pZCBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjpzYXZlQ2Fj
aGVkSW1hZ2VGb3JTaXplKEludFNpemUgc2l6ZSwgUGFzc1JlZlB0cjxHZW5lcmF0ZWRJbWFnZT4g
aW1hZ2UpCiB7CiAgICAgQVNTRVJUKCFtX2ltYWdlcy5jb250YWlucyhzaXplKSk7Ci0gICAgbV9p
bWFnZXMuYWRkKHNpemUsIGFkb3B0UHRyKG5ldyBDYWNoZWRHZW5lcmF0ZWRJbWFnZSgqdGhpcywg
c2l6ZSwgaW1hZ2UpKSk7CisgICAgbV9pbWFnZXMuYWRkKHNpemUsIHN0ZDo6bWFrZV91bmlxdWU8
Q2FjaGVkR2VuZXJhdGVkSW1hZ2U+KCp0aGlzLCBzaXplLCBpbWFnZSkpOwogfQogCiB2b2lkIENT
U0ltYWdlR2VuZXJhdG9yVmFsdWU6OmV2aWN0Q2FjaGVkR2VuZXJhdGVkSW1hZ2UoSW50U2l6ZSBz
aXplKQpAQCAtMjQwLDcgKzI0MSw3IEBAIGJvb2wgQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZTo6c3Vi
aW1hZ2VJc1BlbmRpbmcoQ1NTVmFsdWUqIHZhbHVlKQogICAgICAgICByZXR1cm4gdG9DU1NJbWFn
ZVZhbHVlKHZhbHVlKS0+Y2FjaGVkT3JQZW5kaW5nSW1hZ2UoKS0+aXNQZW5kaW5nSW1hZ2UoKTsK
ICAgICAKICAgICBpZiAodmFsdWUtPmlzSW1hZ2VHZW5lcmF0b3JWYWx1ZSgpKQotICAgICAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZSo+KHZhbHVlKS0+aXNQZW5k
aW5nKCk7CisgICAgICAgIHJldHVybiB0b0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUodmFsdWUpLT5p
c1BlbmRpbmcoKTsKIAogICAgIGlmICh2YWx1ZS0+aXNQcmltaXRpdmVWYWx1ZSgpICYmIHRvQ1NT
UHJpbWl0aXZlVmFsdWUodmFsdWUpLT5nZXRWYWx1ZUlEKCkgPT0gQ1NTVmFsdWVOb25lKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CkBAIC0yNTMsMjcgKzI1NCwyNyBAQCBib29sIENTU0ltYWdlR2Vu
ZXJhdG9yVmFsdWU6OnN1YmltYWdlSXNQZW5kaW5nKENTU1ZhbHVlKiB2YWx1ZSkKIENhY2hlZElt
YWdlKiBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOjpjYWNoZWRJbWFnZUZvckNTU1ZhbHVlKENTU1Zh
bHVlKiB2YWx1ZSwgQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyKQog
ewogICAgIGlmICghdmFsdWUpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVs
bHB0cjsKIAogICAgIGlmICh2YWx1ZS0+aXNJbWFnZVZhbHVlKCkpIHsKICAgICAgICAgU3R5bGVD
YWNoZWRJbWFnZSogc3R5bGVDYWNoZWRJbWFnZSA9IHRvQ1NTSW1hZ2VWYWx1ZSh2YWx1ZSktPmNh
Y2hlZEltYWdlKGNhY2hlZFJlc291cmNlTG9hZGVyKTsKICAgICAgICAgaWYgKCFzdHlsZUNhY2hl
ZEltYWdlKQotICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICByZXR1cm4gbnVsbHB0
cjsKIAogICAgICAgICByZXR1cm4gc3R5bGVDYWNoZWRJbWFnZS0+Y2FjaGVkSW1hZ2UoKTsKICAg
ICB9CiAgICAgCiAgICAgaWYgKHZhbHVlLT5pc0ltYWdlR2VuZXJhdG9yVmFsdWUoKSkgewotICAg
ICAgICBzdGF0aWNfY2FzdDxDU1NJbWFnZUdlbmVyYXRvclZhbHVlKj4odmFsdWUpLT5sb2FkU3Vi
aW1hZ2VzKGNhY2hlZFJlc291cmNlTG9hZGVyKTsKKyAgICAgICAgdG9DU1NJbWFnZUdlbmVyYXRv
clZhbHVlKHZhbHVlKS0+bG9hZFN1YmltYWdlcyhjYWNoZWRSZXNvdXJjZUxvYWRlcik7CiAgICAg
ICAgIC8vIEZJWE1FOiBIYW5kbGUgQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZSAoYW5kIHRodXMgY3Jv
c3MtZmFkZXMgd2l0aCBncmFkaWVudHMgYW5kIGNhbnZhcykuCi0gICAgICAgIHJldHVybiAwOwor
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKICAgICBpZiAodmFsdWUtPmlzUHJpbWl0
aXZlVmFsdWUoKSAmJiB0b0NTU1ByaW1pdGl2ZVZhbHVlKHZhbHVlKS0+Z2V0VmFsdWVJRCgpID09
IENTU1ZhbHVlTm9uZSkKLSAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBudWxscHRy
OwogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgCi0gICAgcmV0dXJuIDA7CisgICAg
cmV0dXJuIG51bGxwdHI7CiB9CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuaAppbmRleCBhODMyZjhiZjQ4MjM2OGZjNmI2
ZTRjMWRiYjU3MWI5OTllMmQyYzIzLi40NjFmM2Y0NDE0YmUyNWJhMjI4ZmQzNzc4MGVhOGY4MDIw
MWM3ZDMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JW
YWx1ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmgK
QEAgLTI3LDE3ICsyNywxNiBAQAogI2RlZmluZSBDU1NJbWFnZUdlbmVyYXRvclZhbHVlX2gKIAog
I2luY2x1ZGUgIkNTU1ZhbHVlLmgiCi0jaW5jbHVkZSAiQ2FjaGVkSW1hZ2UuaCIKLSNpbmNsdWRl
ICJHZW5lcmF0ZWRJbWFnZS5oIgogI2luY2x1ZGUgIkludFNpemVIYXNoLmgiCiAjaW5jbHVkZSAi
VGltZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaENvdW50ZWRTZXQuaD4KLSNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQ2FjaGVkSW1hZ2U7CiBj
bGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlcjsKIGNsYXNzIEdlbmVyYXRlZEltYWdlOworY2xhc3Mg
SW1hZ2U7CiBjbGFzcyBSZW5kZXJFbGVtZW50OwogY2xhc3MgU3R5bGVSZXNvbHZlcjsKIApAQCAt
ODksOSArODgsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIGV2aWN0Q2FjaGVkR2VuZXJhdGVkSW1h
Z2UoSW50U2l6ZSk7CiAKICAgICBIYXNoQ291bnRlZFNldDxSZW5kZXJFbGVtZW50Kj4gbV9jbGll
bnRzOwotICAgIEhhc2hNYXA8SW50U2l6ZSwgT3duUHRyPENhY2hlZEdlbmVyYXRlZEltYWdlPj4g
bV9pbWFnZXM7CisgICAgSGFzaE1hcDxJbnRTaXplLCBzdGQ6OnVuaXF1ZV9wdHI8Q2FjaGVkR2Vu
ZXJhdGVkSW1hZ2U+PiBtX2ltYWdlczsKIH07CiAKK0NTU19WQUxVRV9UWVBFX0NBU1RTKENTU0lt
YWdlR2VuZXJhdG9yVmFsdWUsIGlzSW1hZ2VHZW5lcmF0b3JWYWx1ZSgpKQorCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBDU1NJbWFnZUdlbmVyYXRvclZhbHVlX2gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTVmFsdWUuY3BwCmluZGV4IDE3NmEyYmVlOGYzYzU5ZThmOTYwM2RhYjRjYWZiNzRkY2E3
MGYzOTUuLjIyYjY4NGVmMDVjNzY0YTQ0NjQyZTIzNTg2YTU1MzQ5NzQ2YmFmOWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ZhbHVlLmNwcApAQCAtNDEsNyArNDEsNiBAQAogI2luY2x1ZGUgIkNTU0Z1bmN0aW9u
VmFsdWUuaCIKICNpbmNsdWRlICJDU1NHcmFkaWVudFZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTR3Jp
ZFRlbXBsYXRlVmFsdWUuaCIKLSNpbmNsdWRlICJDU1NJbWFnZUdlbmVyYXRvclZhbHVlLmgiCiAj
aW5jbHVkZSAiQ1NTSW1hZ2VTZXRWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ltYWdlVmFsdWUuaCIK
ICNpbmNsdWRlICJDU1NJbmhlcml0ZWRWYWx1ZS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2
ZXIuY3BwCmluZGV4IDhiMjVlMjMyYTE4ZGFmMGVhYTgxYjA5NmQ2NjQ5NGRlM2IxNTQyZDUuLjM2
MjM5NWExMmEyZmRmZjRmMmM3Yzg3ZmEyMDc5ODMzODkxNzQ2MjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSZXNvbHZlci5jcHAKQEAgLTIxOCwxMSArMjE4LDExIEBAIGlubGluZSB2b2lkIFN0eWxl
UmVzb2x2ZXI6OlN0YXRlOjpjYWNoZUJvcmRlckFuZEJhY2tncm91bmQoKQogCiBpbmxpbmUgdm9p
ZCBTdHlsZVJlc29sdmVyOjpTdGF0ZTo6Y2xlYXIoKQogewotICAgIG1fZWxlbWVudCA9IDA7Ci0g
ICAgbV9zdHlsZWRFbGVtZW50ID0gMDsKLSAgICBtX3BhcmVudFN0eWxlID0gMDsKLSAgICBtX3Bh
cmVudE5vZGUgPSAwOwotICAgIG1fcmVnaW9uRm9yU3R5bGluZyA9IDA7CisgICAgbV9lbGVtZW50
ID0gbnVsbHB0cjsKKyAgICBtX3N0eWxlZEVsZW1lbnQgPSBudWxscHRyOworICAgIG1fcGFyZW50
U3R5bGUgPSBudWxscHRyOworICAgIG1fcGFyZW50Tm9kZSA9IG51bGxwdHI7CisgICAgbV9yZWdp
b25Gb3JTdHlsaW5nID0gbnVsbHB0cjsKICAgICBtX3BlbmRpbmdJbWFnZVByb3BlcnRpZXMuY2xl
YXIoKTsKICNpZiBFTkFCTEUoQ1NTX1NIQURFUlMpCiAgICAgbV9oYXNQZW5kaW5nU2hhZGVycyA9
IGZhbHNlOwpAQCAtMjA5MCw5ICsyMDkwLDkgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjphcHBseVBy
b3BlcnR5KENTU1Byb3BlcnR5SUQgaWQsIENTU1ZhbHVlKiB2YWx1ZSkKICAgICAgICAgICAgICAg
ICBDU1NWYWx1ZSogaXRlbSA9IGkudmFsdWUoKTsKICAgICAgICAgICAgICAgICBpZiAoaXRlbS0+
aXNJbWFnZUdlbmVyYXRvclZhbHVlKCkpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0t
PmlzR3JhZGllbnRWYWx1ZSgpKQotICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUuc3R5bGUo
KS0+c2V0Q29udGVudChTdHlsZUdlbmVyYXRlZEltYWdlOjpjcmVhdGUodG9DU1NHcmFkaWVudFZh
bHVlKGl0ZW0pLT5ncmFkaWVudFdpdGhTdHlsZXNSZXNvbHZlZCh0aGlzKS5nZXQoKSksIGRpZFNl
dCk7CisgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZS5zdHlsZSgpLT5zZXRDb250ZW50KFN0
eWxlR2VuZXJhdGVkSW1hZ2U6OmNyZWF0ZSgqdG9DU1NHcmFkaWVudFZhbHVlKGl0ZW0pLT5ncmFk
aWVudFdpdGhTdHlsZXNSZXNvbHZlZCh0aGlzKSksIGRpZFNldCk7CiAgICAgICAgICAgICAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlLnN0eWxlKCktPnNldENvbnRl
bnQoU3R5bGVHZW5lcmF0ZWRJbWFnZTo6Y3JlYXRlKHN0YXRpY19jYXN0PENTU0ltYWdlR2VuZXJh
dG9yVmFsdWUqPihpdGVtKSksIGRpZFNldCk7CisgICAgICAgICAgICAgICAgICAgICAgICBzdGF0
ZS5zdHlsZSgpLT5zZXRDb250ZW50KFN0eWxlR2VuZXJhdGVkSW1hZ2U6OmNyZWF0ZSgqdG9DU1NJ
bWFnZUdlbmVyYXRvclZhbHVlKGl0ZW0pKSwgZGlkU2V0KTsKICAgICAgICAgICAgICAgICAgICAg
ZGlkU2V0ID0gdHJ1ZTsKICNpZiBFTkFCTEUoQ1NTX0lNQUdFX1NFVCkKICAgICAgICAgICAgICAg
ICB9IGVsc2UgaWYgKGl0ZW0tPmlzSW1hZ2VTZXRWYWx1ZSgpKSB7CkBAIC0zMDY3LDggKzMwNjcs
OCBAQCBQYXNzUmVmUHRyPFN0eWxlSW1hZ2U+IFN0eWxlUmVzb2x2ZXI6OnN0eWxlSW1hZ2UoQ1NT
UHJvcGVydHlJRCBwcm9wZXJ0eSwgQ1NTVmFsdQogCiAgICAgaWYgKHZhbHVlLT5pc0ltYWdlR2Vu
ZXJhdG9yVmFsdWUoKSkgewogICAgICAgICBpZiAodmFsdWUtPmlzR3JhZGllbnRWYWx1ZSgpKQot
ICAgICAgICAgICAgcmV0dXJuIGdlbmVyYXRlZE9yUGVuZGluZ0Zyb21WYWx1ZShwcm9wZXJ0eSwg
dG9DU1NHcmFkaWVudFZhbHVlKHZhbHVlKS0+Z3JhZGllbnRXaXRoU3R5bGVzUmVzb2x2ZWQodGhp
cykuZ2V0KCkpOwotICAgICAgICByZXR1cm4gZ2VuZXJhdGVkT3JQZW5kaW5nRnJvbVZhbHVlKHBy
b3BlcnR5LCBzdGF0aWNfY2FzdDxDU1NJbWFnZUdlbmVyYXRvclZhbHVlKj4odmFsdWUpKTsKKyAg
ICAgICAgICAgIHJldHVybiBnZW5lcmF0ZWRPclBlbmRpbmdGcm9tVmFsdWUocHJvcGVydHksICp0
b0NTU0dyYWRpZW50VmFsdWUodmFsdWUpLT5ncmFkaWVudFdpdGhTdHlsZXNSZXNvbHZlZCh0aGlz
KSk7CisgICAgICAgIHJldHVybiBnZW5lcmF0ZWRPclBlbmRpbmdGcm9tVmFsdWUocHJvcGVydHks
IHRvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZSgqdmFsdWUpKTsKICAgICB9CiAKICNpZiBFTkFCTEUo
Q1NTX0lNQUdFX1NFVCkKQEAgLTMwOTAsMTcgKzMwOTAsMTcgQEAgUGFzc1JlZlB0cjxTdHlsZUlt
YWdlPiBTdHlsZVJlc29sdmVyOjpjYWNoZWRPclBlbmRpbmdGcm9tVmFsdWUoQ1NTUHJvcGVydHlJ
RCBwcm8KICAgICByZXR1cm4gaW1hZ2UucmVsZWFzZSgpOwogfQogCi1QYXNzUmVmUHRyPFN0eWxl
SW1hZ2U+IFN0eWxlUmVzb2x2ZXI6OmdlbmVyYXRlZE9yUGVuZGluZ0Zyb21WYWx1ZShDU1NQcm9w
ZXJ0eUlEIHByb3BlcnR5LCBDU1NJbWFnZUdlbmVyYXRvclZhbHVlKiB2YWx1ZSkKK1Bhc3NSZWZQ
dHI8U3R5bGVJbWFnZT4gU3R5bGVSZXNvbHZlcjo6Z2VuZXJhdGVkT3JQZW5kaW5nRnJvbVZhbHVl
KENTU1Byb3BlcnR5SUQgcHJvcGVydHksIENTU0ltYWdlR2VuZXJhdG9yVmFsdWUmIHZhbHVlKQog
ewogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKLSAgICBpZiAodmFsdWUtPmlzRmlsdGVySW1hZ2VW
YWx1ZSgpKSB7CisgICAgaWYgKHZhbHVlLmlzRmlsdGVySW1hZ2VWYWx1ZSgpKSB7CiAgICAgICAg
IC8vIEZpbHRlckltYWdlIG5lZWRzIHRvIGNhbGN1bGF0ZSBGaWx0ZXJPcGVyYXRpb25zLgotICAg
ICAgICB0b0NTU0ZpbHRlckltYWdlVmFsdWUodmFsdWUpLT5jcmVhdGVGaWx0ZXJPcGVyYXRpb25z
KHRoaXMpOworICAgICAgICB0b0NTU0ZpbHRlckltYWdlVmFsdWUodmFsdWUpLmNyZWF0ZUZpbHRl
ck9wZXJhdGlvbnModGhpcyk7CiAgICAgfQogI2VuZGlmCi0gICAgaWYgKHZhbHVlLT5pc1BlbmRp
bmcoKSkgewotICAgICAgICBtX3N0YXRlLnBlbmRpbmdJbWFnZVByb3BlcnRpZXMoKS5zZXQocHJv
cGVydHksIHZhbHVlKTsKLSAgICAgICAgcmV0dXJuIFN0eWxlUGVuZGluZ0ltYWdlOjpjcmVhdGUo
dmFsdWUpOworICAgIGlmICh2YWx1ZS5pc1BlbmRpbmcoKSkgeworICAgICAgICBtX3N0YXRlLnBl
bmRpbmdJbWFnZVByb3BlcnRpZXMoKS5zZXQocHJvcGVydHksICZ2YWx1ZSk7CisgICAgICAgIHJl
dHVybiBTdHlsZVBlbmRpbmdJbWFnZTo6Y3JlYXRlKCZ2YWx1ZSk7CiAgICAgfQogICAgIHJldHVy
biBTdHlsZUdlbmVyYXRlZEltYWdlOjpjcmVhdGUodmFsdWUpOwogfQpAQCAtMzg4MSw3ICszODgx
LDcgQEAgUGFzc1JlZlB0cjxTdHlsZUltYWdlPiBTdHlsZVJlc29sdmVyOjpsb2FkUGVuZGluZ0lt
YWdlKFN0eWxlUGVuZGluZ0ltYWdlKiBwZW5kaW4KIAogICAgIGlmIChhdXRvIGltYWdlR2VuZXJh
dG9yVmFsdWUgPSBwZW5kaW5nSW1hZ2UtPmNzc0ltYWdlR2VuZXJhdG9yVmFsdWUoKSkgewogICAg
ICAgICBpbWFnZUdlbmVyYXRvclZhbHVlLT5sb2FkU3ViaW1hZ2VzKG1fc3RhdGUuZG9jdW1lbnQo
KS5jYWNoZWRSZXNvdXJjZUxvYWRlcigpKTsKLSAgICAgICAgcmV0dXJuIFN0eWxlR2VuZXJhdGVk
SW1hZ2U6OmNyZWF0ZShpbWFnZUdlbmVyYXRvclZhbHVlKTsKKyAgICAgICAgcmV0dXJuIFN0eWxl
R2VuZXJhdGVkSW1hZ2U6OmNyZWF0ZSgqaW1hZ2VHZW5lcmF0b3JWYWx1ZSk7CiAgICAgfQogCiAg
ICAgaWYgKGF1dG8gY3Vyc29ySW1hZ2VWYWx1ZSA9IHBlbmRpbmdJbWFnZS0+Y3NzQ3Vyc29ySW1h
Z2VWYWx1ZSgpKQpAQCAtMzkyMyw4ICszOTIzLDggQEAgdm9pZCBTdHlsZVJlc29sdmVyOjpsb2Fk
UGVuZGluZ0ltYWdlcygpCiAgICAgaWYgKG1fc3RhdGUucGVuZGluZ0ltYWdlUHJvcGVydGllcygp
LmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgUGVuZGluZ0ltYWdlUHJvcGVydHlN
YXA6OmNvbnN0X2l0ZXJhdG9yOjpLZXlzIGVuZCA9IG1fc3RhdGUucGVuZGluZ0ltYWdlUHJvcGVy
dGllcygpLmVuZCgpLmtleXMoKTsKLSAgICBmb3IgKFBlbmRpbmdJbWFnZVByb3BlcnR5TWFwOjpj
b25zdF9pdGVyYXRvcjo6S2V5cyBpdCA9IG1fc3RhdGUucGVuZGluZ0ltYWdlUHJvcGVydGllcygp
LmJlZ2luKCkua2V5cygpOyBpdCAhPSBlbmQ7ICsraXQpIHsKKyAgICBhdXRvIGVuZCA9IG1fc3Rh
dGUucGVuZGluZ0ltYWdlUHJvcGVydGllcygpLmVuZCgpLmtleXMoKTsKKyAgICBmb3IgKGF1dG8g
aXQgPSBtX3N0YXRlLnBlbmRpbmdJbWFnZVByb3BlcnRpZXMoKS5iZWdpbigpLmtleXMoKTsgaXQg
IT0gZW5kOyArK2l0KSB7CiAgICAgICAgIENTU1Byb3BlcnR5SUQgY3VycmVudFByb3BlcnR5ID0g
Kml0OwogCiAgICAgICAgIHN3aXRjaCAoY3VycmVudFByb3BlcnR5KSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuaAppbmRleCA3NGZlMGQ4ZmM1YWE5NzcwZTdhYmU0YmM0MWY1YWMwZGZjMzJj
ODhkLi4yOWM1MTkxZmFjNjdjM2VhNjIwYTdiMjI0YjgzM2Y5NGM0YjA0MzYxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJlc29sdmVyLmgKQEAgLTUwMyw3ICs1MDMsNyBAQCBwdWJsaWM6CiAKICAgICBQ
YXNzUmVmUHRyPFN0eWxlSW1hZ2U+IHN0eWxlSW1hZ2UoQ1NTUHJvcGVydHlJRCwgQ1NTVmFsdWUq
KTsKICAgICBQYXNzUmVmUHRyPFN0eWxlSW1hZ2U+IGNhY2hlZE9yUGVuZGluZ0Zyb21WYWx1ZShD
U1NQcm9wZXJ0eUlELCBDU1NJbWFnZVZhbHVlKik7Ci0gICAgUGFzc1JlZlB0cjxTdHlsZUltYWdl
PiBnZW5lcmF0ZWRPclBlbmRpbmdGcm9tVmFsdWUoQ1NTUHJvcGVydHlJRCwgQ1NTSW1hZ2VHZW5l
cmF0b3JWYWx1ZSopOworICAgIFBhc3NSZWZQdHI8U3R5bGVJbWFnZT4gZ2VuZXJhdGVkT3JQZW5k
aW5nRnJvbVZhbHVlKENTU1Byb3BlcnR5SUQsIENTU0ltYWdlR2VuZXJhdG9yVmFsdWUmKTsKICNp
ZiBFTkFCTEUoQ1NTX0lNQUdFX1NFVCkKICAgICBQYXNzUmVmUHRyPFN0eWxlSW1hZ2U+IHNldE9y
UGVuZGluZ0Zyb21WYWx1ZShDU1NQcm9wZXJ0eUlELCBDU1NJbWFnZVNldFZhbHVlKik7CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU1Byb3BlcnR5
QW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NTU1Byb3BlcnR5
QW5pbWF0aW9uLmNwcAppbmRleCAyZjc3M2Y3NTNiOWNiODZkY2RhMDU5OTgzMDMxNDA4MWU0MjQ4
NmViLi41NDQ1OGJkNTJkM2YzYjFiNmY5NjFkZWI5NGFiYWUzOGZjYTQzYTcyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24u
Y3BwCkBAIC0yMjEsNyArMjIxLDcgQEAgc3RhdGljIGlubGluZSBQYXNzUmVmUHRyPFN0eWxlSW1h
Z2U+IGJsZW5kRmlsdGVyKGNvbnN0IEFuaW1hdGlvbkJhc2UqIGFuaW0sIENhY2gKICAgICBSZWZQ
dHI8Q1NTRmlsdGVySW1hZ2VWYWx1ZT4gcmVzdWx0ID0gQ1NTRmlsdGVySW1hZ2VWYWx1ZTo6Y3Jl
YXRlKHN0ZDo6bW92ZShpbWFnZVZhbHVlKSwgZmlsdGVyVmFsdWUpOwogICAgIHJlc3VsdC0+c2V0
RmlsdGVyT3BlcmF0aW9ucyhmaWx0ZXJSZXN1bHQpOwogCi0gICAgcmV0dXJuIFN0eWxlR2VuZXJh
dGVkSW1hZ2U6OmNyZWF0ZShyZXN1bHQuZ2V0KCkpOworICAgIHJldHVybiBTdHlsZUdlbmVyYXRl
ZEltYWdlOjpjcmVhdGUoKnJlc3VsdCk7CiB9CiAjZW5kaWYgLy8gRU5BQkxFKENTU19GSUxURVJT
KQogCkBAIC0yODgsNyArMjg4LDcgQEAgc3RhdGljIGlubGluZSBQYXNzUmVmUHRyPFN0eWxlSW1h
Z2U+IGNyb3NzZmFkZUJsZW5kKGNvbnN0IEFuaW1hdGlvbkJhc2UqLCBTdHlsZUMKIAogICAgIGNy
b3NzZmFkZVZhbHVlLT5zZXRQZXJjZW50YWdlKENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGUocHJv
Z3Jlc3MsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKSk7CiAKLSAgICByZXR1cm4gU3R5
bGVHZW5lcmF0ZWRJbWFnZTo6Y3JlYXRlKGNyb3NzZmFkZVZhbHVlLmdldCgpKTsKKyAgICByZXR1
cm4gU3R5bGVHZW5lcmF0ZWRJbWFnZTo6Y3JlYXRlKCpjcm9zc2ZhZGVWYWx1ZSk7CiB9CiAKIHN0
YXRpYyBpbmxpbmUgUGFzc1JlZlB0cjxTdHlsZUltYWdlPiBibGVuZEZ1bmMoY29uc3QgQW5pbWF0
aW9uQmFzZSogYW5pbSwgU3R5bGVJbWFnZSogZnJvbSwgU3R5bGVJbWFnZSogdG8sIGRvdWJsZSBw
cm9ncmVzcykKQEAgLTI5OCw0MiArMjk4LDQyIEBAIHN0YXRpYyBpbmxpbmUgUGFzc1JlZlB0cjxT
dHlsZUltYWdlPiBibGVuZEZ1bmMoY29uc3QgQW5pbWF0aW9uQmFzZSogYW5pbSwgU3R5bGVJCiAK
ICAgICAvLyBBbmltYXRpb24gYmV0d2VlbiB0d28gZ2VuZXJhdGVkIGltYWdlcy4gQ3Jvc3MgZmFk
ZSBmb3IgYWxsIG90aGVyIGNhc2VzLgogICAgIGlmIChmcm9tLT5pc0dlbmVyYXRlZEltYWdlKCkg
JiYgdG8tPmlzR2VuZXJhdGVkSW1hZ2UoKSkgewotICAgICAgICBDU1NJbWFnZUdlbmVyYXRvclZh
bHVlKiBmcm9tR2VuZXJhdGVkID0gdG9TdHlsZUdlbmVyYXRlZEltYWdlKGZyb20pLT5pbWFnZVZh
bHVlKCk7Ci0gICAgICAgIENTU0ltYWdlR2VuZXJhdG9yVmFsdWUqIHRvR2VuZXJhdGVkID0gdG9T
dHlsZUdlbmVyYXRlZEltYWdlKHRvKS0+aW1hZ2VWYWx1ZSgpOworICAgICAgICBDU1NJbWFnZUdl
bmVyYXRvclZhbHVlJiBmcm9tR2VuZXJhdGVkID0gdG9TdHlsZUdlbmVyYXRlZEltYWdlKGZyb20p
LT5pbWFnZVZhbHVlKCk7CisgICAgICAgIENTU0ltYWdlR2VuZXJhdG9yVmFsdWUmIHRvR2VuZXJh
dGVkID0gdG9TdHlsZUdlbmVyYXRlZEltYWdlKHRvKS0+aW1hZ2VWYWx1ZSgpOwogCiAjaWYgRU5B
QkxFKENTU19GSUxURVJTKQotICAgICAgICBpZiAoZnJvbUdlbmVyYXRlZC0+aXNGaWx0ZXJJbWFn
ZVZhbHVlKCkgJiYgdG9HZW5lcmF0ZWQtPmlzRmlsdGVySW1hZ2VWYWx1ZSgpKSB7CisgICAgICAg
IGlmIChmcm9tR2VuZXJhdGVkLmlzRmlsdGVySW1hZ2VWYWx1ZSgpICYmIHRvR2VuZXJhdGVkLmlz
RmlsdGVySW1hZ2VWYWx1ZSgpKSB7CiAgICAgICAgICAgICAvLyBBbmltYXRpb24gb2YgZ2VuZXJh
dGVkIGltYWdlcyBqdXN0IHBvc3NpYmxlIGlmIGlucHV0IGltYWdlcyBhcmUgZXF1YWwuCiAgICAg
ICAgICAgICAvLyBPdGhlcndpc2UgZmFsbCBiYWNrIHRvIGNyb3NzIGZhZGUgYW5pbWF0aW9uLgot
ICAgICAgICAgICAgQ1NTRmlsdGVySW1hZ2VWYWx1ZSYgZnJvbUZpbHRlciA9ICp0b0NTU0ZpbHRl
ckltYWdlVmFsdWUoZnJvbUdlbmVyYXRlZCk7Ci0gICAgICAgICAgICBDU1NGaWx0ZXJJbWFnZVZh
bHVlJiB0b0ZpbHRlciA9ICp0b0NTU0ZpbHRlckltYWdlVmFsdWUodG9HZW5lcmF0ZWQpOworICAg
ICAgICAgICAgQ1NTRmlsdGVySW1hZ2VWYWx1ZSYgZnJvbUZpbHRlciA9IHRvQ1NTRmlsdGVySW1h
Z2VWYWx1ZShmcm9tR2VuZXJhdGVkKTsKKyAgICAgICAgICAgIENTU0ZpbHRlckltYWdlVmFsdWUm
IHRvRmlsdGVyID0gdG9DU1NGaWx0ZXJJbWFnZVZhbHVlKHRvR2VuZXJhdGVkKTsKICAgICAgICAg
ICAgIGlmIChmcm9tRmlsdGVyLmVxdWFsSW5wdXRJbWFnZXModG9GaWx0ZXIpICYmIGZyb21GaWx0
ZXIuY2FjaGVkSW1hZ2UoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gYmxlbmRGaWx0ZXIoYW5p
bSwgZnJvbUZpbHRlci5jYWNoZWRJbWFnZSgpLCBmcm9tRmlsdGVyLmZpbHRlck9wZXJhdGlvbnMo
KSwgdG9GaWx0ZXIuZmlsdGVyT3BlcmF0aW9ucygpLCBwcm9ncmVzcyk7CiAgICAgICAgIH0KICNl
bmRpZgogCi0gICAgICAgIGlmIChmcm9tR2VuZXJhdGVkLT5pc0Nyb3NzZmFkZVZhbHVlKCkgJiYg
dG9HZW5lcmF0ZWQtPmlzQ3Jvc3NmYWRlVmFsdWUoKSkgewotICAgICAgICAgICAgQ1NTQ3Jvc3Nm
YWRlVmFsdWUmIGZyb21Dcm9zc2ZhZGUgPSAqdG9DU1NDcm9zc2ZhZGVWYWx1ZShmcm9tR2VuZXJh
dGVkKTsKLSAgICAgICAgICAgIENTU0Nyb3NzZmFkZVZhbHVlJiB0b0Nyb3NzZmFkZSA9ICp0b0NT
U0Nyb3NzZmFkZVZhbHVlKHRvR2VuZXJhdGVkKTsKKyAgICAgICAgaWYgKGZyb21HZW5lcmF0ZWQu
aXNDcm9zc2ZhZGVWYWx1ZSgpICYmIHRvR2VuZXJhdGVkLmlzQ3Jvc3NmYWRlVmFsdWUoKSkgewor
ICAgICAgICAgICAgQ1NTQ3Jvc3NmYWRlVmFsdWUmIGZyb21Dcm9zc2ZhZGUgPSB0b0NTU0Nyb3Nz
ZmFkZVZhbHVlKGZyb21HZW5lcmF0ZWQpOworICAgICAgICAgICAgQ1NTQ3Jvc3NmYWRlVmFsdWUm
IHRvQ3Jvc3NmYWRlID0gdG9DU1NDcm9zc2ZhZGVWYWx1ZSh0b0dlbmVyYXRlZCk7CiAgICAgICAg
ICAgICBpZiAoZnJvbUNyb3NzZmFkZS5lcXVhbElucHV0SW1hZ2VzKHRvQ3Jvc3NmYWRlKSkKLSAg
ICAgICAgICAgICAgICByZXR1cm4gU3R5bGVHZW5lcmF0ZWRJbWFnZTo6Y3JlYXRlKHRvQ3Jvc3Nm
YWRlLmJsZW5kKGZyb21Dcm9zc2ZhZGUsIHByb2dyZXNzKS5nZXQoKSk7CisgICAgICAgICAgICAg
ICAgcmV0dXJuIFN0eWxlR2VuZXJhdGVkSW1hZ2U6OmNyZWF0ZSgqdG9Dcm9zc2ZhZGUuYmxlbmQo
ZnJvbUNyb3NzZmFkZSwgcHJvZ3Jlc3MpKTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIEZJWE1F
OiBBZGQgc3VwcG9ydCBmb3IgYW5pbWF0aW9uIGJldHdlZW4gdHdvICpncmFkaWVudCgpIGZ1bmN0
aW9ucy4KICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExOTk1NgogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKICAgICB9IGVsc2UgaWYgKGZyb20tPmlz
R2VuZXJhdGVkSW1hZ2UoKSAmJiB0by0+aXNDYWNoZWRJbWFnZSgpKSB7Ci0gICAgICAgIENTU0lt
YWdlR2VuZXJhdG9yVmFsdWUqIGZyb21HZW5lcmF0ZWQgPSB0b1N0eWxlR2VuZXJhdGVkSW1hZ2Uo
ZnJvbSktPmltYWdlVmFsdWUoKTsKLSAgICAgICAgaWYgKGZyb21HZW5lcmF0ZWQtPmlzRmlsdGVy
SW1hZ2VWYWx1ZSgpKSB7Ci0gICAgICAgICAgICBDU1NGaWx0ZXJJbWFnZVZhbHVlJiBmcm9tRmls
dGVyID0gKnRvQ1NTRmlsdGVySW1hZ2VWYWx1ZShmcm9tR2VuZXJhdGVkKTsKKyAgICAgICAgQ1NT
SW1hZ2VHZW5lcmF0b3JWYWx1ZSYgZnJvbUdlbmVyYXRlZCA9IHRvU3R5bGVHZW5lcmF0ZWRJbWFn
ZShmcm9tKS0+aW1hZ2VWYWx1ZSgpOworICAgICAgICBpZiAoZnJvbUdlbmVyYXRlZC5pc0ZpbHRl
ckltYWdlVmFsdWUoKSkgeworICAgICAgICAgICAgQ1NTRmlsdGVySW1hZ2VWYWx1ZSYgZnJvbUZp
bHRlciA9IHRvQ1NTRmlsdGVySW1hZ2VWYWx1ZShmcm9tR2VuZXJhdGVkKTsKICAgICAgICAgICAg
IGlmIChmcm9tRmlsdGVyLmNhY2hlZEltYWdlKCkgJiYgc3RhdGljX2Nhc3Q8U3R5bGVDYWNoZWRJ
bWFnZSo+KHRvKS0+Y2FjaGVkSW1hZ2UoKSA9PSBmcm9tRmlsdGVyLmNhY2hlZEltYWdlKCkpCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIGJsZW5kRmlsdGVyKGFuaW0sIGZyb21GaWx0ZXIuY2FjaGVk
SW1hZ2UoKSwgZnJvbUZpbHRlci5maWx0ZXJPcGVyYXRpb25zKCksIEZpbHRlck9wZXJhdGlvbnMo
KSwgcHJvZ3Jlc3MpOwogICAgICAgICB9CiAgICAgICAgIC8vIEZJWE1FOiBBZGQgaW50ZXJwb2xh
dGlvbiBiZXR3ZWVuIGNyb3NzLWZhZGUgYW5kIGltYWdlIHNvdXJjZS4KICAgICB9IGVsc2UgaWYg
KGZyb20tPmlzQ2FjaGVkSW1hZ2UoKSAmJiB0by0+aXNHZW5lcmF0ZWRJbWFnZSgpKSB7Ci0gICAg
ICAgIENTU0ltYWdlR2VuZXJhdG9yVmFsdWUqIHRvR2VuZXJhdGVkID0gdG9TdHlsZUdlbmVyYXRl
ZEltYWdlKHRvKS0+aW1hZ2VWYWx1ZSgpOwotICAgICAgICBpZiAodG9HZW5lcmF0ZWQtPmlzRmls
dGVySW1hZ2VWYWx1ZSgpKSB7Ci0gICAgICAgICAgICBDU1NGaWx0ZXJJbWFnZVZhbHVlJiB0b0Zp
bHRlciA9ICp0b0NTU0ZpbHRlckltYWdlVmFsdWUodG9HZW5lcmF0ZWQpOworICAgICAgICBDU1NJ
bWFnZUdlbmVyYXRvclZhbHVlJiB0b0dlbmVyYXRlZCA9IHRvU3R5bGVHZW5lcmF0ZWRJbWFnZSh0
byktPmltYWdlVmFsdWUoKTsKKyAgICAgICAgaWYgKHRvR2VuZXJhdGVkLmlzRmlsdGVySW1hZ2VW
YWx1ZSgpKSB7CisgICAgICAgICAgICBDU1NGaWx0ZXJJbWFnZVZhbHVlJiB0b0ZpbHRlciA9IHRv
Q1NTRmlsdGVySW1hZ2VWYWx1ZSh0b0dlbmVyYXRlZCk7CiAgICAgICAgICAgICBpZiAodG9GaWx0
ZXIuY2FjaGVkSW1hZ2UoKSAmJiBzdGF0aWNfY2FzdDxTdHlsZUNhY2hlZEltYWdlKj4oZnJvbSkt
PmNhY2hlZEltYWdlKCkgPT0gdG9GaWx0ZXIuY2FjaGVkSW1hZ2UoKSkgICAgIAogICAgICAgICAg
ICAgICAgIHJldHVybiBibGVuZEZpbHRlcihhbmltLCB0b0ZpbHRlci5jYWNoZWRJbWFnZSgpLCBG
aWx0ZXJPcGVyYXRpb25zKCksIHRvRmlsdGVyLmZpbHRlck9wZXJhdGlvbnMoKSwgcHJvZ3Jlc3Mp
OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVHZW5lcmF0ZWRJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVHZW5lcmF0ZWRJbWFnZS5jcHAKaW5kZXggZTRmYzcxMjBmOWY2ODQ1MDI5YWFmYzhjZThj
OTk0OWM2M2M5ZDAwYi4uNmI1OWZlN2M0OTY0MjVkNjBjODFiNGJjNDgxMzAxNjYzZWIyYTRjZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR2VuZXJhdGVk
SW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdlbmVy
YXRlZEltYWdlLmNwcApAQCAtMzAsOCArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgCi1TdHlsZUdlbmVyYXRlZEltYWdlOjpTdHlsZUdlbmVyYXRlZEltYWdlKFBhc3NSZWZQdHI8
Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZT4gdmFsdWUpCi0gICAgOiBtX2ltYWdlR2VuZXJhdG9yVmFs
dWUodmFsdWUpICAKK1N0eWxlR2VuZXJhdGVkSW1hZ2U6OlN0eWxlR2VuZXJhdGVkSW1hZ2UoUGFz
c1JlZjxDU1NJbWFnZUdlbmVyYXRvclZhbHVlPiB2YWx1ZSkKKyAgICA6IG1faW1hZ2VHZW5lcmF0
b3JWYWx1ZShzdGQ6Om1vdmUodmFsdWUpKQogICAgICwgbV9maXhlZFNpemUobV9pbWFnZUdlbmVy
YXRvclZhbHVlLT5pc0ZpeGVkU2l6ZSgpKQogewogICAgIG1faXNHZW5lcmF0ZWRJbWFnZSA9IHRy
dWU7CkBAIC0zOSwxMyArMzksMTMgQEAgU3R5bGVHZW5lcmF0ZWRJbWFnZTo6U3R5bGVHZW5lcmF0
ZWRJbWFnZShQYXNzUmVmUHRyPENTU0ltYWdlR2VuZXJhdG9yVmFsdWU+IHZhbHUKIAogUGFzc1Jl
ZlB0cjxDU1NWYWx1ZT4gU3R5bGVHZW5lcmF0ZWRJbWFnZTo6Y3NzVmFsdWUoKSBjb25zdAogewot
ICAgIHJldHVybiBtX2ltYWdlR2VuZXJhdG9yVmFsdWU7CisgICAgcmV0dXJuICZjb25zdF9jYXN0
PENTU0ltYWdlR2VuZXJhdG9yVmFsdWUmPihtX2ltYWdlR2VuZXJhdG9yVmFsdWUuZ2V0KCkpOwog
fQogCiBMYXlvdXRTaXplIFN0eWxlR2VuZXJhdGVkSW1hZ2U6OmltYWdlU2l6ZShjb25zdCBSZW5k
ZXJFbGVtZW50KiByZW5kZXJlciwgZmxvYXQgbXVsdGlwbGllcikgY29uc3QKIHsKICAgICBpZiAo
bV9maXhlZFNpemUpIHsKLSAgICAgICAgSW50U2l6ZSBmaXhlZFNpemUgPSBtX2ltYWdlR2VuZXJh
dG9yVmFsdWUtPmZpeGVkU2l6ZShyZW5kZXJlcik7CisgICAgICAgIEludFNpemUgZml4ZWRTaXpl
ID0gY29uc3RfY2FzdDxDU1NJbWFnZUdlbmVyYXRvclZhbHVlJj4obV9pbWFnZUdlbmVyYXRvclZh
bHVlLmdldCgpKS5maXhlZFNpemUocmVuZGVyZXIpOwogICAgICAgICBpZiAobXVsdGlwbGllciA9
PSAxLjBmKQogICAgICAgICAgICAgcmV0dXJuIGZpeGVkU2l6ZTsKIApAQCAtODYsNyArODYsNyBA
QCB2b2lkIFN0eWxlR2VuZXJhdGVkSW1hZ2U6OnJlbW92ZUNsaWVudChSZW5kZXJFbGVtZW50KiBy
ZW5kZXJlcikKIAogUGFzc1JlZlB0cjxJbWFnZT4gU3R5bGVHZW5lcmF0ZWRJbWFnZTo6aW1hZ2Uo
UmVuZGVyRWxlbWVudCogcmVuZGVyZXIsIGNvbnN0IEludFNpemUmIHNpemUpIGNvbnN0CiB7Ci0g
ICAgcmV0dXJuIG1faW1hZ2VHZW5lcmF0b3JWYWx1ZS0+aW1hZ2UocmVuZGVyZXIsIHNpemUpOwor
ICAgIHJldHVybiBjb25zdF9jYXN0PENTU0ltYWdlR2VuZXJhdG9yVmFsdWUmPihtX2ltYWdlR2Vu
ZXJhdG9yVmFsdWUuZ2V0KCkpLmltYWdlKHJlbmRlcmVyLCBzaXplKTsKIH0KIAogYm9vbCBTdHls
ZUdlbmVyYXRlZEltYWdlOjprbm93blRvQmVPcGFxdWUoY29uc3QgUmVuZGVyRWxlbWVudCogcmVu
ZGVyZXIpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVHZW5lcmF0ZWRJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlR2VuZXJhdGVkSW1hZ2UuaAppbmRleCAwNDMxMDBjMmI4OTIyYzBiMzNjNTE4M2JkZWE2Njhj
MzFhZmNlOTE1Li5hZTM1N2VkMTk0NTQwODEzOWM5ZTE5NzA1YjI1MTgzODA1NDY3Y2IzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVHZW5lcmF0ZWRJbWFn
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdlbmVyYXRlZElt
YWdlLmgKQEAgLTMzLDE1ICszMywxNSBAQCBjbGFzcyBDU1NJbWFnZUdlbmVyYXRvclZhbHVlOwog
CiBjbGFzcyBTdHlsZUdlbmVyYXRlZEltYWdlIEZJTkFMIDogcHVibGljIFN0eWxlSW1hZ2Ugewog
cHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0eWxlR2VuZXJhdGVkSW1hZ2U+IGNyZWF0
ZShDU1NJbWFnZUdlbmVyYXRvclZhbHVlKiB2YWx1ZSkKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxT
dHlsZUdlbmVyYXRlZEltYWdlPiBjcmVhdGUoUGFzc1JlZjxDU1NJbWFnZUdlbmVyYXRvclZhbHVl
PiB2YWx1ZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU3R5bGVHZW5lcmF0
ZWRJbWFnZSh2YWx1ZSkpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFN0eWxlR2VuZXJh
dGVkSW1hZ2Uoc3RkOjptb3ZlKHZhbHVlKSkpOwogICAgIH0KIAotICAgIENTU0ltYWdlR2VuZXJh
dG9yVmFsdWUqIGltYWdlVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX2ltYWdlR2VuZXJhdG9yVmFs
dWUuZ2V0KCk7IH0KKyAgICBDU1NJbWFnZUdlbmVyYXRvclZhbHVlJiBpbWFnZVZhbHVlKCkgeyBy
ZXR1cm4gbV9pbWFnZUdlbmVyYXRvclZhbHVlLmdldCgpOyB9CiAKIHByaXZhdGU6Ci0gICAgdmly
dHVhbCBXcmFwcGVkSW1hZ2VQdHIgZGF0YSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIG1faW1h
Z2VHZW5lcmF0b3JWYWx1ZS5nZXQoKTsgfQorICAgIHZpcnR1YWwgV3JhcHBlZEltYWdlUHRyIGRh
dGEoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiAmbV9pbWFnZUdlbmVyYXRvclZhbHVlLmdldCgp
OyB9CiAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGNzc1ZhbHVlKCkgY29uc3Qg
T1ZFUlJJREU7CiAKQEAgLTU2LDkgKzU2LDkgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIFBhc3NS
ZWZQdHI8SW1hZ2U+IGltYWdlKFJlbmRlckVsZW1lbnQqLCBjb25zdCBJbnRTaXplJikgY29uc3Qg
T1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGtub3duVG9CZU9wYXF1ZShjb25zdCBSZW5kZXJF
bGVtZW50KikgY29uc3QgT1ZFUlJJREU7CiAKLSAgICBTdHlsZUdlbmVyYXRlZEltYWdlKFBhc3NS
ZWZQdHI8Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZT4pOworICAgIFN0eWxlR2VuZXJhdGVkSW1hZ2Uo
UGFzc1JlZjxDU1NJbWFnZUdlbmVyYXRvclZhbHVlPik7CiAgICAgCi0gICAgUmVmUHRyPENTU0lt
YWdlR2VuZXJhdG9yVmFsdWU+IG1faW1hZ2VHZW5lcmF0b3JWYWx1ZTsKKyAgICBSZWY8Q1NTSW1h
Z2VHZW5lcmF0b3JWYWx1ZT4gbV9pbWFnZUdlbmVyYXRvclZhbHVlOwogICAgIEludFNpemUgbV9j
b250YWluZXJTaXplOwogICAgIGJvb2wgbV9maXhlZFNpemU7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TdHlsZUltYWdlLmgKaW5kZXggYzNjZDEzYWUwYjg3ZWFjMzdiNjQz
YmYyNWUzMDdkMmEzYzZkMWM4My4uYTBiZDQ1YTZmZWYwZDg1MTdkY2ViNWQxMThkNGFlODA5OGQw
Yzk0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlSW1h
Z2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVJbWFnZS5oCkBA
IC0zOSw3ICszOSw3IEBAIGNsYXNzIENTU1ZhbHVlOwogY2xhc3MgUmVuZGVyRWxlbWVudDsKIGNs
YXNzIFJlbmRlck9iamVjdDsKIAotdHlwZWRlZiB2b2lkKiBXcmFwcGVkSW1hZ2VQdHI7Cit0eXBl
ZGVmIGNvbnN0IHZvaWQqIFdyYXBwZWRJbWFnZVB0cjsKIAogY2xhc3MgU3R5bGVJbWFnZSA6IHB1
YmxpYyBSZWZDb3VudGVkPFN0eWxlSW1hZ2U+IHsKIHB1YmxpYzoK
</data>

          </attachment>
      

    </bug>

</bugzilla>