<?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>203054</bug_id>
          
          <creation_ts>2019-10-16 14:43:38 -0700</creation_ts>
          <short_desc>[LFC][Painting] Add support for image/background image painting</short_desc>
          <delta_ts>2019-10-17 09:39:02 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1580685</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-10-16 14:43:38 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580687</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-16 14:44:43 -0700</bug_when>
    <thetext>&lt;rdar://problem/56347733&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580705</commentid>
    <comment_count>2</comment_count>
      <attachid>381114</attachid>
    <who name="alan">zalan</who>
    <bug_when>2019-10-16 14:56:47 -0700</bug_when>
    <thetext>Created attachment 381114
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1580993</commentid>
    <comment_count>3</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2019-10-17 09:39:02 -0700</bug_when>
    <thetext>Committed r251239: &lt;https://trac.webkit.org/changeset/251239&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>381114</attachid>
            <date>2019-10-16 14:56:47 -0700</date>
            <delta_ts>2019-10-17 08:30:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203054-20191016145646.patch</filename>
            <type>text/plain</type>
            <size>17464</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUxMTg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDllYjU5MTc5NGNlZDBl
OTU2MmI5YzQ0OTBlYjBhNGRhZTYxMmVmOS4uN2FkMTVlN2ZiNDNlOGMzZGE4ZTc1MDYyYThjNzEx
MWNmYzFjYjk3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE5LTEwLTE2ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW0xGQ11bUGFpbnRpbmddIEFk
ZCBzdXBwb3J0IGZvciBpbWFnZS9iYWNrZ3JvdW5kIGltYWdlIHBhaW50aW5nCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMwNTQKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzU2MzQ3NzMzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEluIGFkZGl0aW9uIHRvIGltYWdlIHJlbmRlcmluZywgdGhpcyBwYXRj
aCBhbHNvIGFkZHJlc3NlcyB2YXJpb3VzIHJ1bi9kZWNvcmF0aW9uIHBhaW50aW5nIGlzc3Vlcy4K
KworICAgICAgICAqIGxheW91dC9kaXNwbGF5dHJlZS9EaXNwbGF5UGFpbnRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpEaXNwbGF5OjpwYWludEJveERlY29yYXRpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6RGlzcGxheTo6cGFpbnRJbmxpbmVDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRp
c3BsYXk6OmFic29sdXRlRGlzcGxheUJveCk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5Ojpw
YWludEJveERlY29yYXRpb25BbmRDaGlsZHJlbik6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5
OjpQYWludGVyOjpwYWludCk6CisgICAgICAgICogbGF5b3V0L2Rpc3BsYXl0cmVlL0Rpc3BsYXlS
dW4uaDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXk6OlJ1bjo6c2V0SW1hZ2UpOgorICAgICAg
ICAoV2ViQ29yZTo6RGlzcGxheTo6UnVuOjppbWFnZSBjb25zdCk6CisgICAgICAgICogbGF5b3V0
L2lubGluZWZvcm1hdHRpbmcvSW5saW5lTGluZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlv
dXQ6OkxpbmU6OmFwcGVuZE5vblJlcGxhY2VkSW5saW5lQm94KToKKyAgICAgICAgKFdlYkNvcmU6
OkxheW91dDo6TGluZTo6YXBwZW5kUmVwbGFjZWRJbmxpbmVCb3gpOgorICAgICAgICAqIGxheW91
dC9sYXlvdXR0cmVlL0xheW91dFJlcGxhY2VkLmg6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6
OlJlcGxhY2VkOjpzZXRDYWNoZWRJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OlJl
cGxhY2VkOjpjYWNoZWRJbWFnZSBjb25zdCk6CisgICAgICAgICogbGF5b3V0L2xheW91dHRyZWUv
TGF5b3V0VHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGF5b3V0OjpUcmVlQnVp
bGRlcjo6Y3JlYXRlTGF5b3V0Qm94KToKKwogMjAxOS0xMC0xNiAgWmFsYW4gQnVqdGFzICA8emFs
YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0lGQ10gQWRkIERpc3BsYXk6OlJ1bi9MaW5l
Qm94IG1hcHBpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9kaXNwbGF5dHJl
ZS9EaXNwbGF5UGFpbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRyZWUv
RGlzcGxheVBhaW50ZXIuY3BwCmluZGV4IDRhZDk1YzY2ZGNlNmMzYWQ0MzE3YTM0ZjI1MWQ0MjIy
ZGNhMDQ3YTMuLmQ3OGE4ZjIyZGZmMTFhN2QwZTEzZDYxMjY2ZGZiNjMwZDk1NzQ2N2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9kaXNwbGF5dHJlZS9EaXNwbGF5UGFpbnRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0cmVlL0Rpc3BsYXlQYWludGVy
LmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NP
TlRFWFQpCiAKKyNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2luY2x1ZGUgIkNvbG9yLmgiCiAj
aW5jbHVkZSAiRGlzcGxheUJveC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgpAQCAt
NDIsMTcgKzQzLDI4IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgRGlzcGxheSB7
CiAKLXN0YXRpYyB2b2lkIHBhaW50Qm94RGVjb3JhdGlvbihHcmFwaGljc0NvbnRleHQmIGNvbnRl
eHQsIGNvbnN0IEJveCYgYWJzb2x1dGVEaXNwbGF5Qm94LCBjb25zdCBSZW5kZXJTdHlsZSYgc3R5
bGUpCitzdGF0aWMgdm9pZCBwYWludEJveERlY29yYXRpb24oR3JhcGhpY3NDb250ZXh0JiBjb250
ZXh0LCBjb25zdCBCb3gmIGFic29sdXRlRGlzcGxheUJveCwgY29uc3QgUmVuZGVyU3R5bGUmIHN0
eWxlLCBib29sIG5lZWRzTWFyZ2luUGFpbnRpbmcpCiB7Ci0gICAgYXV0byBib3JkZXJCb3hBYnNv
bHV0ZVRvcExlZnQgPSBhYnNvbHV0ZURpc3BsYXlCb3gudG9wTGVmdCgpOworICAgIGF1dG8gZGVj
b3JhdGlvbkJveFRvcExlZnQgPSBuZWVkc01hcmdpblBhaW50aW5nID8gYWJzb2x1dGVEaXNwbGF5
Qm94LnJlY3RXaXRoTWFyZ2luKCkudG9wTGVmdCgpIDogYWJzb2x1dGVEaXNwbGF5Qm94LnRvcExl
ZnQoKTsKKyAgICBhdXRvIGRlY29yYXRpb25Cb3hTaXplID0gbmVlZHNNYXJnaW5QYWludGluZyA/
IGFic29sdXRlRGlzcGxheUJveC5yZWN0V2l0aE1hcmdpbigpLnNpemUoKSA6IExheW91dFNpemUo
YWJzb2x1dGVEaXNwbGF5Qm94LmJvcmRlckJveFdpZHRoKCksIGFic29sdXRlRGlzcGxheUJveC5i
b3JkZXJCb3hIZWlnaHQoKSk7CiAgICAgLy8gQmFja2dyb3VuZCBjb2xvcgotICAgIGlmIChzdHls
ZS5oYXNCYWNrZ3JvdW5kKCkpCi0gICAgICAgIGNvbnRleHQuZmlsbFJlY3QoeyBib3JkZXJCb3hB
YnNvbHV0ZVRvcExlZnQsIEZsb2F0U2l6ZSB7IGFic29sdXRlRGlzcGxheUJveC5ib3JkZXJCb3hX
aWR0aCgpLCBhYnNvbHV0ZURpc3BsYXlCb3guYm9yZGVyQm94SGVpZ2h0KCkgfSB9LCBzdHlsZS5i
YWNrZ3JvdW5kQ29sb3IoKSk7CisgICAgaWYgKHN0eWxlLmhhc0JhY2tncm91bmQoKSkgeworICAg
ICAgICBjb250ZXh0LmZpbGxSZWN0KHsgZGVjb3JhdGlvbkJveFRvcExlZnQsIGRlY29yYXRpb25C
b3hTaXplIH0sIHN0eWxlLmJhY2tncm91bmRDb2xvcigpKTsKKyAgICAgICAgaWYgKHN0eWxlLmhh
c0JhY2tncm91bmRJbWFnZSgpKSB7CisgICAgICAgICAgICBhdXRvJiBiYWNrZ3JvdW5kTGF5ZXIg
PSBzdHlsZS5iYWNrZ3JvdW5kTGF5ZXJzKCk7CisgICAgICAgICAgICBpZiAoYmFja2dyb3VuZExh
eWVyLmltYWdlKCkgJiYgYmFja2dyb3VuZExheWVyLmltYWdlKCktPmNhY2hlZEltYWdlKCkgJiYg
YmFja2dyb3VuZExheWVyLmltYWdlKCktPmNhY2hlZEltYWdlKCktPmltYWdlKCkpCisgICAgICAg
ICAgICAgICAgY29udGV4dC5kcmF3SW1hZ2UoKmJhY2tncm91bmRMYXllci5pbWFnZSgpLT5jYWNo
ZWRJbWFnZSgpLT5pbWFnZSgpLCB7IGRlY29yYXRpb25Cb3hUb3BMZWZ0LCBiYWNrZ3JvdW5kTGF5
ZXIuaW1hZ2UoKS0+Y2FjaGVkSW1hZ2UoKS0+aW1hZ2UoKS0+c2l6ZSgpIH0pOworICAgICAgICB9
CisgICAgfQogCiAgICAgLy8gQm9yZGVyCi0gICAgaWYgKHN0eWxlLmhhc0JvcmRlcigpKSB7Cisg
ICAgaWYgKHN0eWxlLmhhc1Zpc2libGVCb3JkZXIoKSkgewogCiAgICAgICAgIGF1dG8gZHJhd0Jv
cmRlclNpZGUgPSBbJl0oYXV0byBzdGFydCwgYXV0byBlbmQsIGNvbnN0IGF1dG8mIGJvcmRlclN0
eWxlKSB7CisgICAgICAgICAgICBpZiAoIWJvcmRlclN0eWxlLndpZHRoKCkpCisgICAgICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICAgICAgaWYgKGJvcmRlclN0eWxlLnN0eWxlKCkgPT0gQm9y
ZGVyU3R5bGU6Ok5vbmUgfHwgYm9yZGVyU3R5bGUuc3R5bGUoKSA9PSBCb3JkZXJTdHlsZTo6SGlk
ZGVuKQorICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIGNvbnRleHQuc2V0U3Ry
b2tlQ29sb3IoYm9yZGVyU3R5bGUuY29sb3IoKSk7CiAgICAgICAgICAgICBjb250ZXh0LnNldFN0
cm9rZVRoaWNrbmVzcyhib3JkZXJTdHlsZS53aWR0aCgpKTsKICAgICAgICAgICAgIGNvbnRleHQu
ZHJhd0xpbmUoc3RhcnQsIGVuZCk7CkBAIC02MCwzOCArNzIsMzggQEAgc3RhdGljIHZvaWQgcGFp
bnRCb3hEZWNvcmF0aW9uKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgQm94JiBhYnNv
bHV0ZURpc3AKIAogICAgICAgICBjb250ZXh0LnNldEZpbGxDb2xvcihDb2xvcjo6dHJhbnNwYXJl
bnQpOwogCi0gICAgICAgIGF1dG8gYm9yZGVyQm94V2lkdGggPSBhYnNvbHV0ZURpc3BsYXlCb3gu
Ym9yZGVyQm94V2lkdGgoKTsKLSAgICAgICAgYXV0byBib3JkZXJCb3hIZWlnaHQgPSBhYnNvbHV0
ZURpc3BsYXlCb3guYm9yZGVyQm94SGVpZ2h0KCk7CisgICAgICAgIGF1dG8gZGVjb3JhdGlvbkJv
eFdpZHRoID0gZGVjb3JhdGlvbkJveFNpemUud2lkdGgoKTsKKyAgICAgICAgYXV0byBkZWNvcmF0
aW9uQm94SGVpZ2h0ID0gZGVjb3JhdGlvbkJveFNpemUuaGVpZ2h0KCk7CiAKICAgICAgICAgLy8g
VG9wCiAgICAgICAgIHsKICAgICAgICAgICAgIGF1dG8gYm9yZGVyV2lkdGggPSBzdHlsZS5ib3Jk
ZXJUb3AoKS53aWR0aCgpOwotICAgICAgICAgICAgYXV0byBzdGFydCA9IExheW91dFBvaW50IHsg
Ym9yZGVyQm94QWJzb2x1dGVUb3BMZWZ0IH07Ci0gICAgICAgICAgICBhdXRvIGVuZCA9IExheW91
dFBvaW50IHsgc3RhcnQueCgpICsgYm9yZGVyQm94V2lkdGgsIHN0YXJ0LnkoKSArIGJvcmRlcldp
ZHRoIH07CisgICAgICAgICAgICBhdXRvIHN0YXJ0ID0gTGF5b3V0UG9pbnQgeyBkZWNvcmF0aW9u
Qm94VG9wTGVmdCB9OworICAgICAgICAgICAgYXV0byBlbmQgPSBMYXlvdXRQb2ludCB7IHN0YXJ0
LngoKSArIGRlY29yYXRpb25Cb3hXaWR0aCwgc3RhcnQueSgpICsgYm9yZGVyV2lkdGggfTsKICAg
ICAgICAgICAgIGRyYXdCb3JkZXJTaWRlKHN0YXJ0LCBlbmQsIHN0eWxlLmJvcmRlclRvcCgpKTsK
ICAgICAgICAgfQogCiAgICAgICAgIC8vIFJpZ2h0CiAgICAgICAgIHsKICAgICAgICAgICAgIGF1
dG8gYm9yZGVyV2lkdGggPSBzdHlsZS5ib3JkZXJSaWdodCgpLndpZHRoKCk7Ci0gICAgICAgICAg
ICBhdXRvIHN0YXJ0ID0gTGF5b3V0UG9pbnQgeyBib3JkZXJCb3hBYnNvbHV0ZVRvcExlZnQueCgp
ICsgYm9yZGVyQm94V2lkdGggLSBib3JkZXJXaWR0aCwgYm9yZGVyQm94QWJzb2x1dGVUb3BMZWZ0
LnkoKSB9OwotICAgICAgICAgICAgYXV0byBlbmQgPSBMYXlvdXRQb2ludCB7IHN0YXJ0LngoKSAr
IGJvcmRlcldpZHRoLCBib3JkZXJCb3hBYnNvbHV0ZVRvcExlZnQueSgpICsgYm9yZGVyQm94SGVp
Z2h0IH07CisgICAgICAgICAgICBhdXRvIHN0YXJ0ID0gTGF5b3V0UG9pbnQgeyBkZWNvcmF0aW9u
Qm94VG9wTGVmdC54KCkgKyBkZWNvcmF0aW9uQm94V2lkdGggLSBib3JkZXJXaWR0aCwgZGVjb3Jh
dGlvbkJveFRvcExlZnQueSgpIH07CisgICAgICAgICAgICBhdXRvIGVuZCA9IExheW91dFBvaW50
IHsgc3RhcnQueCgpICsgYm9yZGVyV2lkdGgsIGRlY29yYXRpb25Cb3hUb3BMZWZ0LnkoKSArIGRl
Y29yYXRpb25Cb3hIZWlnaHQgfTsKICAgICAgICAgICAgIGRyYXdCb3JkZXJTaWRlKHN0YXJ0LCBl
bmQsIHN0eWxlLmJvcmRlclJpZ2h0KCkpOwogICAgICAgICB9CiAKICAgICAgICAgLy8gQm90dG9t
CiAgICAgICAgIHsKICAgICAgICAgICAgIGF1dG8gYm9yZGVyV2lkdGggPSBzdHlsZS5ib3JkZXJC
b3R0b20oKS53aWR0aCgpOwotICAgICAgICAgICAgYXV0byBzdGFydCA9IExheW91dFBvaW50IHsg
Ym9yZGVyQm94QWJzb2x1dGVUb3BMZWZ0LngoKSwgYm9yZGVyQm94QWJzb2x1dGVUb3BMZWZ0Lnko
KSArIGJvcmRlckJveEhlaWdodCAtIGJvcmRlcldpZHRoIH07Ci0gICAgICAgICAgICBhdXRvIGVu
ZCA9IExheW91dFBvaW50IHsgc3RhcnQueCgpICsgYm9yZGVyQm94V2lkdGgsIHN0YXJ0LnkoKSAr
IGJvcmRlcldpZHRoIH07CisgICAgICAgICAgICBhdXRvIHN0YXJ0ID0gTGF5b3V0UG9pbnQgeyBk
ZWNvcmF0aW9uQm94VG9wTGVmdC54KCksIGRlY29yYXRpb25Cb3hUb3BMZWZ0LnkoKSArIGRlY29y
YXRpb25Cb3hIZWlnaHQgLSBib3JkZXJXaWR0aCB9OworICAgICAgICAgICAgYXV0byBlbmQgPSBM
YXlvdXRQb2ludCB7IHN0YXJ0LngoKSArIGRlY29yYXRpb25Cb3hXaWR0aCwgc3RhcnQueSgpICsg
Ym9yZGVyV2lkdGggfTsKICAgICAgICAgICAgIGRyYXdCb3JkZXJTaWRlKHN0YXJ0LCBlbmQsIHN0
eWxlLmJvcmRlckJvdHRvbSgpKTsKICAgICAgICAgfQogCiAgICAgICAgIC8vIExlZnQKICAgICAg
ICAgewogICAgICAgICAgICAgYXV0byBib3JkZXJXaWR0aCA9IHN0eWxlLmJvcmRlckxlZnQoKS53
aWR0aCgpOwotICAgICAgICAgICAgYXV0byBzdGFydCA9IGJvcmRlckJveEFic29sdXRlVG9wTGVm
dDsKLSAgICAgICAgICAgIGF1dG8gZW5kID0gTGF5b3V0UG9pbnQgeyBzdGFydC54KCkgKyBib3Jk
ZXJXaWR0aCwgYm9yZGVyQm94QWJzb2x1dGVUb3BMZWZ0LnkoKSArIGJvcmRlckJveEhlaWdodCB9
OworICAgICAgICAgICAgYXV0byBzdGFydCA9IGRlY29yYXRpb25Cb3hUb3BMZWZ0OworICAgICAg
ICAgICAgYXV0byBlbmQgPSBMYXlvdXRQb2ludCB7IHN0YXJ0LngoKSArIGJvcmRlcldpZHRoLCBk
ZWNvcmF0aW9uQm94VG9wTGVmdC55KCkgKyBkZWNvcmF0aW9uQm94SGVpZ2h0IH07CiAgICAgICAg
ICAgICBkcmF3Qm9yZGVyU2lkZShzdGFydCwgZW5kLCBzdHlsZS5ib3JkZXJMZWZ0KCkpOwogICAg
ICAgICB9CiAgICAgfQpAQCAtMTAyLDY0ICsxMTQsNjkgQEAgc3RhdGljIHZvaWQgcGFpbnRJbmxp
bmVDb250ZW50KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgQm94JiByb290QWJzb2x1
dGUKICAgICBhdXRvJiBpbmxpbmVSdW5zID0gZm9ybWF0dGluZ1N0YXRlLmlubGluZVJ1bnMoKTsK
ICAgICBpZiAoaW5saW5lUnVucy5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKLSAgICAvLyBG
SVhNRTogV2Ugc2hvdWxkIGJlIGFibGUgdG8gcGFpbnQgcnVucyBpbmRlcGVuZGVudGx5IGZyb20g
aW5saW5lIGl0ZW1zLgotICAgIHVuc2lnbmVkIHJ1bkluZGV4ID0gMDsKLSAgICBmb3IgKGF1dG8m
IGlubGluZUl0ZW0gOiBmb3JtYXR0aW5nU3RhdGUuaW5saW5lSXRlbXMoKSkgewotICAgICAgICBh
dXRvJiBzdHlsZSA9IGlubGluZUl0ZW0tPnN0eWxlKCk7Ci0gICAgICAgIGNvbnRleHQuc2V0U3Ry
b2tlQ29sb3Ioc3R5bGUuY29sb3IoKSk7Ci0gICAgICAgIGNvbnRleHQuc2V0RmlsbENvbG9yKHN0
eWxlLmNvbG9yKCkpOwotCi0gICAgICAgIGlmIChpbmxpbmVJdGVtLT5pc1RleHQoKSkgewotICAg
ICAgICAgICAgYXV0byYgaW5saW5lVGV4dEl0ZW0gPSBkb3duY2FzdDxMYXlvdXQ6OklubGluZVRl
eHRJdGVtPigqaW5saW5lSXRlbSk7Ci0gICAgICAgICAgICBhdXRvIGlubGluZUNvbnRlbnQgPSBp
bmxpbmVUZXh0SXRlbS5sYXlvdXRCb3goKS50ZXh0Q29udGVudCgpOwotICAgICAgICAgICAgd2hp
bGUgKHRydWUpIHsKLSAgICAgICAgICAgICAgICBhdXRvJiBydW4gPSAqaW5saW5lUnVuc1tydW5J
bmRleCsrXTsKLSAgICAgICAgICAgICAgICBhdXRvIHRleHRDb250ZXh0ID0gcnVuLnRleHRDb250
ZXh0KCkudmFsdWUoKTsKLSAgICAgICAgICAgICAgICBhdXRvIHJ1bkNvbnRlbnQgPSBpbmxpbmVD
b250ZW50LnN1YnN0cmluZyh0ZXh0Q29udGV4dC5zdGFydCgpLCB0ZXh0Q29udGV4dC5sZW5ndGgo
KSk7Ci0gICAgICAgICAgICAgICAgYXV0byBsb2dpY2FsVG9wTGVmdCA9IHJvb3RBYnNvbHV0ZURp
c3BsYXlCb3gudG9wTGVmdCgpICsgcnVuLmxvZ2ljYWxUb3BMZWZ0KCk7Ci0gICAgICAgICAgICAg
ICAgY29udGV4dC5kcmF3VGV4dChzdHlsZS5mb250Q2FzY2FkZSgpLCBUZXh0UnVuIHsgcnVuQ29u
dGVudCB9LCB7IGxvZ2ljYWxUb3BMZWZ0LngoKSwgbG9naWNhbFRvcExlZnQueSgpICsgZm9ybWF0
dGluZ1N0YXRlLmxpbmVCb3hlcygpWzBdLT5iYXNlbGluZU9mZnNldCgpIH0pOwotICAgICAgICAg
ICAgICAgIGlmIChpbmxpbmVUZXh0SXRlbS5lbmQoKSA9PSB0ZXh0Q29udGV4dC5lbmQoKSkKLSAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgaWYgKHJ1bkluZGV4ID09
IGlubGluZVJ1bnMuc2l6ZSgpKQotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBjb250aW51ZTsKKworICAgIGZvciAoYXV0byYgcnVuIDogaW5s
aW5lUnVucykgeworICAgICAgICBpZiAocnVuLT50ZXh0Q29udGV4dCgpKSB7CisgICAgICAgICAg
ICBhdXRvJiBzdHlsZSA9IHJ1bi0+c3R5bGUoKTsKKyAgICAgICAgICAgIGNvbnRleHQuc2V0U3Ry
b2tlQ29sb3Ioc3R5bGUuY29sb3IoKSk7CisgICAgICAgICAgICBjb250ZXh0LnNldEZpbGxDb2xv
cihzdHlsZS5jb2xvcigpKTsKKworICAgICAgICAgICAgYXV0byBsb2dpY2FsTGVmdCA9IHJvb3RB
YnNvbHV0ZURpc3BsYXlCb3gubGVmdCgpICsgcnVuLT5sb2dpY2FsTGVmdCgpOworICAgICAgICAg
ICAgLy8gRklYTUU6IEFkZCBub24tYmFzZWxpbmUgYWxpZ24gcGFpbnRpbmcKKyAgICAgICAgICAg
IGF1dG8mIGxpbmVCb3ggPSBmb3JtYXR0aW5nU3RhdGUubGluZUJveEZvclJ1bigqcnVuKTsKKyAg
ICAgICAgICAgIGF1dG8gYmFzZWxpbmVPZmZzZXQgPSByb290QWJzb2x1dGVEaXNwbGF5Qm94LnRv
cCgpICsgbGluZUJveC5sb2dpY2FsVG9wKCkgKyBsaW5lQm94LmJhc2VsaW5lT2Zmc2V0KCk7IAor
ICAgICAgICAgICAgY29udGV4dC5kcmF3VGV4dChzdHlsZS5mb250Q2FzY2FkZSgpLCBUZXh0UnVu
IHsgcnVuLT50ZXh0Q29udGV4dCgpLT5jb250ZW50KCkgfSwgeyBsb2dpY2FsTGVmdCwgYmFzZWxp
bmVPZmZzZXQgfSk7CisgICAgICAgIH0gZWxzZSBpZiAoYXV0byogY2FjaGVkSW1hZ2UgPSBydW4t
PmltYWdlKCkpIHsKKyAgICAgICAgICAgIGF1dG8gcnVuQWJzb2x1dGVSZWN0ID0gRmxvYXRSZWN0
IHsgcm9vdEFic29sdXRlRGlzcGxheUJveC5sZWZ0KCkgKyBydW4tPmxvZ2ljYWxMZWZ0KCksIHJv
b3RBYnNvbHV0ZURpc3BsYXlCb3gudG9wKCkgKyBydW4tPmxvZ2ljYWxUb3AoKSwgcnVuLT5sb2dp
Y2FsV2lkdGgoKSwgcnVuLT5sb2dpY2FsSGVpZ2h0KCkgfTsKKyAgICAgICAgICAgIGNvbnRleHQu
ZHJhd0ltYWdlKCpjYWNoZWRJbWFnZS0+aW1hZ2UoKSwgcnVuQWJzb2x1dGVSZWN0KTsKICAgICAg
ICAgfQorICAgIH0KK30KIAotICAgICAgICBpZiAoaW5saW5lSXRlbS0+aXNCb3goKSkgewotICAg
ICAgICAgICAgYXV0byYgcnVuID0gKmlubGluZVJ1bnNbcnVuSW5kZXgrK107Ci0gICAgICAgICAg
ICBhdXRvIGxvZ2ljYWxUb3BMZWZ0ID0gcm9vdEFic29sdXRlRGlzcGxheUJveC50b3BMZWZ0KCkg
KyBydW4ubG9naWNhbFRvcExlZnQoKTsKLSAgICAgICAgICAgIGNvbnRleHQuZmlsbFJlY3QoeyBs
b2dpY2FsVG9wTGVmdCwgRmxvYXRTaXplIHsgcnVuLmxvZ2ljYWxXaWR0aCgpLCBydW4ubG9naWNh
bEhlaWdodCgpIH0gfSk7CitzdGF0aWMgQm94IGFic29sdXRlRGlzcGxheUJveChjb25zdCBMYXlv
dXQ6OkxheW91dFN0YXRlJiBsYXlvdXRTdGF0ZSwgY29uc3QgTGF5b3V0OjpCb3gmIGxheW91dEJv
eCkKK3sKKyAgICAvLyBTaG91bGQgbmV2ZXIgcmVhbGx5IGhhcHBlbiBidXQgdGFibGUgY29kZSBp
cyB3YXkgdG9vIGluY29tcGxldGUuCisgICAgaWYgKCFsYXlvdXRTdGF0ZS5oYXNEaXNwbGF5Qm94
KGxheW91dEJveCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBhdXRvIGFic29sdXRlQm94
ID0gQm94IHsgbGF5b3V0U3RhdGUuZGlzcGxheUJveEZvckxheW91dEJveChsYXlvdXRCb3gpIH07
CisgICAgZm9yIChhdXRvKiBjb250YWluZXIgPSBsYXlvdXRCb3guY29udGFpbmluZ0Jsb2NrKCk7
IGNvbnRhaW5lciAhPSAmbGF5b3V0Qm94LmluaXRpYWxDb250YWluaW5nQmxvY2soKTsgY29udGFp
bmVyID0gY29udGFpbmVyLT5jb250YWluaW5nQmxvY2soKSkKKyAgICAgICAgYWJzb2x1dGVCb3gu
bW92ZUJ5KGxheW91dFN0YXRlLmRpc3BsYXlCb3hGb3JMYXlvdXRCb3goKmNvbnRhaW5lcikudG9w
TGVmdCgpKTsKKyAgICByZXR1cm4gYWJzb2x1dGVCb3g7Cit9CisKK3N0YXRpYyB2b2lkIHBhaW50
Qm94RGVjb3JhdGlvbkFuZENoaWxkcmVuKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3Qg
TGF5b3V0OjpMYXlvdXRTdGF0ZSYgbGF5b3V0U3RhdGUsIGNvbnN0IExheW91dDo6Qm94JiBsYXlv
dXRCb3gpCit7CisgICAgaWYgKCFsYXlvdXRCb3guaXNBbm9ueW1vdXMoKSkKKyAgICAgICAgcGFp
bnRCb3hEZWNvcmF0aW9uKGNvbnRleHQsIGFic29sdXRlRGlzcGxheUJveChsYXlvdXRTdGF0ZSwg
bGF5b3V0Qm94KSwgbGF5b3V0Qm94LnN0eWxlKCksIGxheW91dEJveC5pc0JvZHlCb3goKSk7CisK
KyAgICBpZiAoIWlzPExheW91dDo6Q29udGFpbmVyPihsYXlvdXRCb3gpKQorICAgICAgICByZXR1
cm47CisgICAgZm9yIChhdXRvJiBjaGlsZExheW91dEJveCA6IExheW91dDo6Y2hpbGRyZW5PZlR5
cGU8TGF5b3V0OjpCb3g+KGRvd25jYXN0PExheW91dDo6Q29udGFpbmVyPihsYXlvdXRCb3gpKSkg
eworICAgICAgICBpZiAoY2hpbGRMYXlvdXRCb3guc3R5bGUoKS52aXNpYmlsaXR5KCkgIT0gVmlz
aWJpbGl0eTo6VmlzaWJsZSkKICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9CisgICAg
ICAgIHBhaW50Qm94RGVjb3JhdGlvbkFuZENoaWxkcmVuKGNvbnRleHQsIGxheW91dFN0YXRlLCBj
aGlsZExheW91dEJveCk7CiAgICAgfQogfQogCiB2b2lkIFBhaW50ZXI6OnBhaW50KGNvbnN0IExh
eW91dDo6TGF5b3V0U3RhdGUmIGxheW91dFN0YXRlLCBHcmFwaGljc0NvbnRleHQmIGNvbnRleHQp
CiB7Ci0gICAgYXV0byBhYnNvbHV0ZURpc3BsYXlCb3ggPSBbJl0oY29uc3QgYXV0byYgbGF5b3V0
Qm94KSB7Ci0gICAgICAgIGF1dG8gYWJzb2x1dGVCb3ggPSBCb3ggeyBsYXlvdXRTdGF0ZS5kaXNw
bGF5Qm94Rm9yTGF5b3V0Qm94KGxheW91dEJveCkgfTsKLSAgICAgICAgZm9yIChhdXRvKiBjb250
YWluZXIgPSBsYXlvdXRCb3guY29udGFpbmluZ0Jsb2NrKCk7IGNvbnRhaW5lciAhPSAmbGF5b3V0
Qm94LmluaXRpYWxDb250YWluaW5nQmxvY2soKTsgY29udGFpbmVyID0gY29udGFpbmVyLT5jb250
YWluaW5nQmxvY2soKSkKLSAgICAgICAgICAgIGFic29sdXRlQm94Lm1vdmVCeShsYXlvdXRTdGF0
ZS5kaXNwbGF5Qm94Rm9yTGF5b3V0Qm94KCpjb250YWluZXIpLnRvcExlZnQoKSk7Ci0gICAgICAg
IHJldHVybiBhYnNvbHV0ZUJveDsKLSAgICB9OwotCiAgICAgYXV0byYgbGF5b3V0Um9vdCA9IGxh
eW91dFN0YXRlLnJvb3QoKTsKICAgICBhdXRvJiByb290RGlzcGxheUJveCA9IGxheW91dFN0YXRl
LmRpc3BsYXlCb3hGb3JMYXlvdXRCb3gobGF5b3V0Um9vdCk7CiAgICAgY29udGV4dC5maWxsUmVj
dCh7IEZsb2F0UG9pbnQgeyB9LCBGbG9hdFNpemUgeyByb290RGlzcGxheUJveC5ib3JkZXJCb3hX
aWR0aCgpLCByb290RGlzcGxheUJveC5ib3JkZXJCb3hIZWlnaHQoKSB9IH0sIENvbG9yOjp3aGl0
ZSk7CisgICAgaWYgKCFsYXlvdXRSb290LmZpcnN0Q2hpbGQoKSkKKyAgICAgICAgcmV0dXJuOwog
CiAgICAgLy8gMS4gUGFpbnQgYm94IGRlY29yYXRpb24gKGJvdGggYmxvY2sgYW5kIGlubGluZSku
Ci0gICAgZm9yIChhdXRvJiBsYXlvdXRCb3ggOiBMYXlvdXQ6OmRlc2NlbmRhbnRzT2ZUeXBlPExh
eW91dDo6Qm94PihsYXlvdXRSb290KSkgewotICAgICAgICBpZiAobGF5b3V0Qm94LmlzQW5vbnlt
b3VzKCkpCi0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgcGFpbnRCb3hEZWNvcmF0aW9u
KGNvbnRleHQsIGFic29sdXRlRGlzcGxheUJveChsYXlvdXRCb3gpLCBsYXlvdXRCb3guc3R5bGUo
KSk7Ci0gICAgfQorICAgIHBhaW50Qm94RGVjb3JhdGlvbkFuZENoaWxkcmVuKGNvbnRleHQsIGxh
eW91dFN0YXRlLCAqbGF5b3V0Um9vdC5maXJzdENoaWxkKCkpOwogCiAgICAgLy8gMi4gUGFpbnQg
Y29udGVudAogICAgIGZvciAoYXV0byYgbGF5b3V0Qm94IDogTGF5b3V0OjpkZXNjZW5kYW50c09m
VHlwZTxMYXlvdXQ6OkJveD4obGF5b3V0Um9vdCkpIHsKKyAgICAgICAgaWYgKGxheW91dEJveC5z
dHlsZSgpLnZpc2liaWxpdHkoKSAhPSBWaXNpYmlsaXR5OjpWaXNpYmxlKQorICAgICAgICAgICAg
Y29udGludWU7CiAgICAgICAgIGlmIChsYXlvdXRCb3guZXN0YWJsaXNoZXNJbmxpbmVGb3JtYXR0
aW5nQ29udGV4dCgpKSB7CiAgICAgICAgICAgICBhdXRvJiBjb250YWluZXIgPSBkb3duY2FzdDxM
YXlvdXQ6OkNvbnRhaW5lcj4obGF5b3V0Qm94KTsKLSAgICAgICAgICAgIHBhaW50SW5saW5lQ29u
dGVudChjb250ZXh0LCBhYnNvbHV0ZURpc3BsYXlCb3goY29udGFpbmVyKSwgZG93bmNhc3Q8TGF5
b3V0OjpJbmxpbmVGb3JtYXR0aW5nU3RhdGU+KGxheW91dFN0YXRlLmVzdGFibGlzaGVkRm9ybWF0
dGluZ1N0YXRlKGNvbnRhaW5lcikpKTsKKyAgICAgICAgICAgIHBhaW50SW5saW5lQ29udGVudChj
b250ZXh0LCBhYnNvbHV0ZURpc3BsYXlCb3gobGF5b3V0U3RhdGUsIGNvbnRhaW5lciksIGRvd25j
YXN0PExheW91dDo6SW5saW5lRm9ybWF0dGluZ1N0YXRlPihsYXlvdXRTdGF0ZS5lc3RhYmxpc2hl
ZEZvcm1hdHRpbmdTdGF0ZShjb250YWluZXIpKSk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9kaXNwbGF5
dHJlZS9EaXNwbGF5UnVuLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZGlzcGxheXRyZWUvRGlz
cGxheVJ1bi5oCmluZGV4IDU4YTQ2YWYwMTZmZmVmYzgxMjg3MDIzZTk5ZTZkZGE2NWE0YTQyNmMu
LmUxMDdjNThlMGE5OTRkZmU3NmVhNDcxOGQ4NzYyZmMyYjE4MDk1YTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9kaXNwbGF5dHJlZS9EaXNwbGF5UnVuLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvbGF5b3V0L2Rpc3BsYXl0cmVlL0Rpc3BsYXlSdW4uaApAQCAtMzIsNiArMzIsOSBA
QAogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgQ2FjaGVkSW1hZ2U7CisKIG5hbWVzcGFjZSBEaXNwbGF5IHsKIAogc3RydWN0IFJ1biB7CkBA
IC04MSwxMSArODQsMTUgQEAgc3RydWN0IFJ1biB7CiAgICAgT3B0aW9uYWw8VGV4dENvbnRleHQ+
JiB0ZXh0Q29udGV4dCgpIHsgcmV0dXJuIG1fdGV4dENvbnRleHQ7IH0KICAgICBPcHRpb25hbDxU
ZXh0Q29udGV4dD4gdGV4dENvbnRleHQoKSBjb25zdCB7IHJldHVybiBtX3RleHRDb250ZXh0OyB9
CiAKKyAgICB2b2lkIHNldEltYWdlKENhY2hlZEltYWdlJiBpbWFnZSkgeyBtX2NhY2hlZEltYWdl
ID0gJmltYWdlOyB9CisgICAgQ2FjaGVkSW1hZ2UqIGltYWdlKCkgY29uc3QgeyByZXR1cm4gbV9j
YWNoZWRJbWFnZTsgfQorCiAgICAgY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlKCkgY29uc3QgeyBy
ZXR1cm4gbV9zdHlsZTsgfQogCiBwcml2YXRlOgogICAgIC8vIEZJWE1FOiBGaW5kIG91dCB0aGUg
RGlzcGxheTo6UnVuIDwtPiBwYWludCBzdHlsZSBzZXR1cC4KICAgICBjb25zdCBSZW5kZXJTdHls
ZSYgbV9zdHlsZTsKKyAgICBDYWNoZWRJbWFnZSogbV9jYWNoZWRJbWFnZSB7IG51bGxwdHIgfTsK
ICAgICBSZWN0IG1fbG9naWNhbFJlY3Q7CiAgICAgT3B0aW9uYWw8VGV4dENvbnRleHQ+IG1fdGV4
dENvbnRleHQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2lubGluZWZv
cm1hdHRpbmcvSW5saW5lTGluZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9y
bWF0dGluZy9JbmxpbmVMaW5lLmNwcAppbmRleCA2MmMzMjdkMmI0Nzk4OTgyNmQ2NzYyNzVlNDU0
NmI1NmZhOTdjNzMyLi5hZDg5YmU5YjViM2I0OTBmN2M2NzFlMmIzNjhjYTdjMzJhYWQ1NWJiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9JbmxpbmVM
aW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW5saW5lZm9ybWF0dGluZy9Jbmxp
bmVMaW5lLmNwcApAQCAtMzc4LDcgKzM3OCw3IEBAIHZvaWQgTGluZTo6YXBwZW5kVGV4dENvbnRl
bnQoY29uc3QgSW5saW5lVGV4dEl0ZW0mIGlubGluZUl0ZW0sIExheW91dFVuaXQgbG9naWNhCiB2
b2lkIExpbmU6OmFwcGVuZE5vblJlcGxhY2VkSW5saW5lQm94KGNvbnN0IElubGluZUl0ZW0mIGlu
bGluZUl0ZW0sIExheW91dFVuaXQgbG9naWNhbFdpZHRoKQogewogICAgIGF1dG8mIGJveEdlb21l
dHJ5ID0gZm9ybWF0dGluZ0NvbnRleHQoKS5nZW9tZXRyeUZvckJveChpbmxpbmVJdGVtLmxheW91
dEJveCgpKTsKLSAgICBhdXRvIGhvcml6b250YWxNYXJnaW4gPSBib3hHZW9tZXRyeS5ob3Jpem9u
dGFsTWFyZ2luKCk7ICAgIAorICAgIGF1dG8gaG9yaXpvbnRhbE1hcmdpbiA9IGJveEdlb21ldHJ5
Lmhvcml6b250YWxNYXJnaW4oKTsKICAgICBhdXRvIGxvZ2ljYWxSZWN0ID0gRGlzcGxheTo6UmVj
dCB7IH07CiAKICAgICBsb2dpY2FsUmVjdC5zZXRMZWZ0KGNvbnRlbnRMb2dpY2FsV2lkdGgoKSAr
IGhvcml6b250YWxNYXJnaW4uc3RhcnQpOwpAQCAtMzk2LDggKzM5NiwxMSBAQCB2b2lkIExpbmU6
OmFwcGVuZE5vblJlcGxhY2VkSW5saW5lQm94KGNvbnN0IElubGluZUl0ZW0mIGlubGluZUl0ZW0s
IExheW91dFVuaXQgbAogCiB2b2lkIExpbmU6OmFwcGVuZFJlcGxhY2VkSW5saW5lQm94KGNvbnN0
IElubGluZUl0ZW0mIGlubGluZUl0ZW0sIExheW91dFVuaXQgbG9naWNhbFdpZHRoKQogewotICAg
IC8vIEZJWE1FIFN1cmVseSByZXBsYWNlZCBib3hlcyBiZWhhdmUgZGlmZmVyZW50bHkuCisgICAg
QVNTRVJUKGlubGluZUl0ZW0ubGF5b3V0Qm94KCkuaXNSZXBsYWNlZCgpKTsKKyAgICAvLyBGSVhN
RTogU3VyZWx5IHJlcGxhY2VkIGJveGVzIGJlaGF2ZSBkaWZmZXJlbnRseS4KICAgICBhcHBlbmRO
b25SZXBsYWNlZElubGluZUJveChpbmxpbmVJdGVtLCBsb2dpY2FsV2lkdGgpOworICAgIGlmIChh
dXRvKiByZXBsYWNlZCA9IGlubGluZUl0ZW0ubGF5b3V0Qm94KCkucmVwbGFjZWQoKTsgcmVwbGFj
ZWQgJiYgcmVwbGFjZWQtPmNhY2hlZEltYWdlKCkpCisgICAgICAgIG1fcnVuTGlzdC5sYXN0KCkt
Pm1fZGlzcGxheVJ1bi5zZXRJbWFnZSgqcmVwbGFjZWQtPmNhY2hlZEltYWdlKCkpOwogfQogCiB2
b2lkIExpbmU6OmFwcGVuZEhhcmRMaW5lQnJlYWsoY29uc3QgSW5saW5lSXRlbSYgaW5saW5lSXRl
bSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFJl
cGxhY2VkLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvbGF5b3V0dHJlZS9MYXlvdXRSZXBsYWNl
ZC5oCmluZGV4IGExMzExYWQ4ZmUzZDkwZDVhZjM0YmU0YzcwYzgxYTI2YzA2OTBmYjIuLjEzZjkz
YTY1OWRkZGI1NGQ2ODA0MjU5NDA0YTVhODhjNzJjZmQxNjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9sYXlvdXR0cmVlL0xheW91dFJlcGxhY2VkLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5b3V0UmVwbGFjZWQuaApAQCAtMjcsNiArMjcsNyBA
QAogCiAjaWYgRU5BQkxFKExBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAKKyNpbmNsdWRlICJD
YWNoZWRJbWFnZS5oIgogI2luY2x1ZGUgIkxheW91dFNpemUuaCIKICNpbmNsdWRlICJMYXlvdXRV
bml0LmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5oPgpAQCAtNDQsNiArNDUsOSBAQCBwdWJs
aWM6CiAgICAgUmVwbGFjZWQoY29uc3QgQm94Jik7CiAgICAgflJlcGxhY2VkKCkgPSBkZWZhdWx0
OwogCisgICAgdm9pZCBzZXRDYWNoZWRJbWFnZShDYWNoZWRJbWFnZSYgY2FjaGVkSW1hZ2UpIHsg
bV9jYWNoZWRJbWFnZSA9ICZjYWNoZWRJbWFnZTsgfQorICAgIENhY2hlZEltYWdlKiBjYWNoZWRJ
bWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FjaGVkSW1hZ2U7IH0KKwogICAgIC8vIEZJWE1FOiBU
ZW1wb3JhcnkgdW50aWwgYWZ0ZXIgaW50cmluc2ljIHNpemUgY2hhbmdlIGlzIHRyYWNrZWQgaW50
ZXJuYWxseXMuCiAgICAgdm9pZCBzZXRJbnRyaW5zaWNTaXplKExheW91dFNpemUgc2l6ZSkgeyBt
X2ludHJpbnNpY1NpemUgPSBzaXplOyB9CiAgICAgdm9pZCBzZXRJbnRyaW5zaWNSYXRpbyhMYXlv
dXRVbml0IHJhdGlvKSB7IG1faW50cmluc2ljUmF0aW8gPSByYXRpbzsgfTsKQEAgLTYxLDYgKzY1
LDcgQEAgcHJpdmF0ZToKICAgICBXZWFrUHRyPGNvbnN0IEJveD4gbV9sYXlvdXRCb3g7CiAgICAg
T3B0aW9uYWw8TGF5b3V0U2l6ZT4gbV9pbnRyaW5zaWNTaXplOwogICAgIE9wdGlvbmFsPExheW91
dFVuaXQ+IG1faW50cmluc2ljUmF0aW87CisgICAgQ2FjaGVkSW1hZ2UqIG1fY2FjaGVkSW1hZ2Ug
eyBudWxscHRyIH07CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
bGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
bGF5b3V0dHJlZS9MYXlvdXRUcmVlQnVpbGRlci5jcHAKaW5kZXggZTViNTg4YjEwMjBiYjAwZTVj
Yjg0MjEzNTRkOGM1YTY5NjNhNTY3Yy4uMTg0OGJjN2Y4OWFiZjQ1ZjBiY2M0OTFlNjRhZGJlZmEx
ZmVkMzEzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2xheW91dHRyZWUvTGF5
b3V0VHJlZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9sYXlvdXR0cmVl
L0xheW91dFRyZWVCdWlsZGVyLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKExB
WU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpCiAKKyNpbmNsdWRlICJDYWNoZWRJbWFnZS5oIgogI2lu
Y2x1ZGUgIkRpc3BsYXlCb3guaCIKICNpbmNsdWRlICJEaXNwbGF5UnVuLmgiCiAjaW5jbHVkZSAi
SFRNTFRhYmxlQ2VsbEVsZW1lbnQuaCIKQEAgLTE2Niw2ICsxNjcsOCBAQCBzdGQ6OnVuaXF1ZV9w
dHI8Qm94PiBUcmVlQnVpbGRlcjo6Y3JlYXRlTGF5b3V0Qm94KGNvbnN0IFJlbmRlckVsZW1lbnQm
IHBhcmVudFJlbgogICAgICAgICAgICAgYXV0byYgaW1hZ2VSZW5kZXJlciA9IGRvd25jYXN0PFJl
bmRlckltYWdlPihyZW5kZXJlcik7CiAgICAgICAgICAgICBpZiAoaW1hZ2VSZW5kZXJlci5zaG91
bGREaXNwbGF5QnJva2VuSW1hZ2VJY29uKCkpCiAgICAgICAgICAgICAgICAgY2hpbGRMYXlvdXRC
b3gtPnJlcGxhY2VkKCktPnNldEludHJpbnNpY1JhdGlvKDEpOworICAgICAgICAgICAgaWYgKGlt
YWdlUmVuZGVyZXIuY2FjaGVkSW1hZ2UoKSkKKyAgICAgICAgICAgICAgICBjaGlsZExheW91dEJv
eC0+cmVwbGFjZWQoKS0+c2V0Q2FjaGVkSW1hZ2UoKmltYWdlUmVuZGVyZXIuY2FjaGVkSW1hZ2Uo
KSk7CiAgICAgICAgIH0KICAgICB9IGVsc2UgewogICAgICAgICBpZiAoZGlzcGxheVR5cGUgPT0g
RGlzcGxheVR5cGU6OkJsb2NrKSB7Cg==
</data>
<flag name="review"
          id="396892"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>