<?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>178619</bug_id>
          
          <creation_ts>2017-10-21 00:35:26 -0700</creation_ts>
          <short_desc>createImageBitmap with basic HTMLImageElement</short_desc>
          <delta_ts>2017-10-21 14:49:28 -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>Canvas</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="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1363017</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2017-10-21 00:35:26 -0700</bug_when>
    <thetext>createImageBitmap with basic HTMLImageElement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1363018</commentid>
    <comment_count>1</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2017-10-21 00:36:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/35104118&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1363021</commentid>
    <comment_count>2</comment_count>
      <attachid>324497</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2017-10-21 00:41:05 -0700</bug_when>
    <thetext>Created attachment 324497
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1363023</commentid>
    <comment_count>3</comment_count>
      <attachid>324497</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-10-21 01:03:46 -0700</bug_when>
    <thetext>Comment on attachment 324497
Patch

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

&gt; Source/WebCore/html/ImageBitmap.cpp:133
&gt; +    // FIXME: Move this into a separate function and handle the cropping/resizing.

Could use a bugzilla bug here.

&gt; LayoutTests/http/wpt/common/canvas-tests.js:35
&gt; +function _assertPixel(canvas, x,y, r,g,b,a, pos, colour)

I&apos;m pretty sure it&apos;s &quot;color&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1363078</commentid>
    <comment_count>4</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2017-10-21 14:49:28 -0700</bug_when>
    <thetext>Committed r223819: &lt;https://trac.webkit.org/changeset/223819&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>324497</attachid>
            <date>2017-10-21 00:41:05 -0700</date>
            <delta_ts>2017-10-21 01:03:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178619-20171021184100.patch</filename>
            <type>text/plain</type>
            <size>18642</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzNzc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmMzMjUzZTA0MTM2MmRj
YTAxYWUzYWRkNzFkZTMzZDU3ZGZiNDdlYi4uNDllNGI3NzlhMWM4OGVlOGRlOWFkMDNhMGQ3MTQz
YzgxZjg0MTY2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE3LTEwLTIxICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBjcmVhdGVJbWFnZUJpdG1hcCB3
aXRoIGJhc2ljIEhUTUxJbWFnZUVsZW1lbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3ODYxOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzUxMDQx
MTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1w
bGVtZW50IHRoZSBiYXNpYyBpbmZyYXN0cnVjdHVyZSBmb3IgY3JlYXRpbmcKKyAgICAgICAgYW4g
SW1hZ2VCaXRtYXAgZnJvbSBhbiBIVE1MSW1hZ2VFbGVtZW50LgorCisgICAgICAgIFRlc3Q6IGh0
dHAvd3B0LzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVhdGVJbWFnZUJpdG1hcC5odG1sCisKKyAg
ICAgICAgKiBodG1sL0ltYWdlQml0bWFwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQml0
bWFwOjpjcmVhdGVQcm9taXNlKTogQ3JlYXRlIHRoZSBpbWFnZSBidWZmZXIKKyAgICAgICAgYW5k
IGRyYXcgdGhlIGltYWdlIGludG8gaXRzIGJhY2tpbmcgc3RvcmUuCisgICAgICAgICogaHRtbC9J
bWFnZUJpdG1hcC5oOgorCiAyMDE3LTEwLTIwICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVA
d2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjIzNzQ0LCBy
MjIzNzUwLCBhbmQgcjIyMzc1MS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1h
Z2VCaXRtYXAuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1hcC5jcHAKaW5kZXgg
NmM4NjZhM2ZiM2YzYjkwOTJjMWRlNDY5YTlkOWIzMWI1ZTZlOTM1MC4uNzUwYTllNjliMGMxNDI0
YTI5YTNkYjhhMmU3Mzc5NjQ1YjlkOWYwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9JbWFnZUJpdG1hcC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1hcC5j
cHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJFeGNlcHRpb25Pci5oIgogI2luY2x1ZGUg
IkZpbGVSZWFkZXJMb2FkZXIuaCIKICNpbmNsdWRlICJGaWxlUmVhZGVyTG9hZGVyQ2xpZW50Lmgi
CisjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiSFRNTENhbnZhc0VsZW1l
bnQuaCIKICNpbmNsdWRlICJIVE1MSW1hZ2VFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFZpZGVv
RWxlbWVudC5oIgpAQCAtNDEsMTEgKzQyLDE4IEBACiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2lu
Y2x1ZGUgIkpTSW1hZ2VCaXRtYXAuaCIKICNpbmNsdWRlICJMYXlvdXRTaXplLmgiCisjaW5jbHVk
ZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgogI2luY2x1ZGUg
PHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCisjaWYgUExBVEZP
Uk0oQ09DT0EpCitzdGF0aWMgUmVuZGVyaW5nTW9kZSBidWZmZXJSZW5kZXJpbmdNb2RlID0gQWNj
ZWxlcmF0ZWQ7CisjZWxzZQorc3RhdGljIFJlbmRlcmluZ01vZGUgYnVmZmVyUmVuZGVyaW5nTW9k
ZSA9IFVuYWNjZWxlcmF0ZWQ7CisjZW5kaWYKKwogUmVmPEltYWdlQml0bWFwPiBJbWFnZUJpdG1h
cDo6Y3JlYXRlKCkKIHsKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBJbWFnZUJpdG1hcCk7CkBA
IC02OSw2ICs3NywxMSBAQCB2b2lkIEltYWdlQml0bWFwOjpjcmVhdGVQcm9taXNlKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKKyAgICBpZiAoc3cgPCAwIHx8IHNoIDwgMCkgeworICAgICAgICBwcm9taXNlLnJl
amVjdChSYW5nZUVycm9yLCAiQ2Fubm90IGNyZWF0ZSBJbWFnZUJpdG1hcCB3aXRoIGEgbmVnYXRp
dmUgd2lkdGggb3IgaGVpZ2h0Iik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBXVEY6
OnN3aXRjaE9uKHNvdXJjZSwKICAgICAgICAgWyZdIChhdXRvJiBzcGVjaWZpY1NvdXJjZSkgewog
ICAgICAgICAgICAgY3JlYXRlUHJvbWlzZShzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBzcGVjaWZp
Y1NvdXJjZSwgV1RGTW92ZShvcHRpb25zKSwgSW50UmVjdCB7IHN4LCBzeSwgc3csIHNoIH0sIFdU
Rk1vdmUocHJvbWlzZSkpOwpAQCAtNzgsMTMgKzkxLDE4IEBAIHZvaWQgSW1hZ2VCaXRtYXA6OmNy
ZWF0ZVByb21pc2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCwKIAogdm9pZCBJbWFnZUJpdG1hcDo6Y3JlYXRlUHJvbWlzZShTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiwgUmVmUHRyPEhUTUxJbWFnZUVsZW1lbnQ+JiBpbWFnZUVsZW1lbnQsIEltYWdlQml0bWFw
T3B0aW9ucyYmIG9wdGlvbnMsIHN0ZDo6b3B0aW9uYWw8SW50UmVjdD4gcmVjdCwgSW1hZ2VCaXRt
YXA6OlByb21pc2UmJiBwcm9taXNlKQogewotICAgIFVOVVNFRF9QQVJBTShpbWFnZUVsZW1lbnQp
OwogICAgIFVOVVNFRF9QQVJBTShvcHRpb25zKTsKICAgICBVTlVTRURfUEFSQU0ocmVjdCk7CiAK
ICAgICAvLyAyLiBJZiBpbWFnZSBpcyBub3QgY29tcGxldGVseSBhdmFpbGFibGUsIHRoZW4gcmV0
dXJuIGEgcHJvbWlzZSByZWplY3RlZCB3aXRoCiAgICAgLy8gYW4gIkludmFsaWRTdGF0ZUVycm9y
IiBET01FeGNlcHRpb24gYW5kIGFib3J0IHRoZXNlIHN0ZXBzLgogCisgICAgYXV0byogY2FjaGVk
SW1hZ2UgPSBpbWFnZUVsZW1lbnQtPmNhY2hlZEltYWdlKCk7CisgICAgaWYgKCFjYWNoZWRJbWFn
ZSB8fCAhaW1hZ2VFbGVtZW50LT5jb21wbGV0ZSgpKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0
KEludmFsaWRTdGF0ZUVycm9yLCAiQ2Fubm90IGNyZWF0ZSBJbWFnZUJpdG1hcCB0aGF0IGlzIG5v
dCBjb21wbGV0ZWx5IGF2YWlsYWJsZSIpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAg
Ly8gMy4gSWYgaW1hZ2UncyBtZWRpYSBkYXRhIGhhcyBubyBpbnRyaW5zaWMgZGltZW5zaW9ucyAo
ZS5nLiBpdCdzIGEgdmVjdG9yIGdyYXBoaWMKICAgICAvLyAgICB3aXRoIG5vIHNwZWNpZmllZCBj
b250ZW50IHNpemUpLCBhbmQgYm90aCBvciBlaXRoZXIgb2YgdGhlIHJlc2l6ZVdpZHRoIGFuZAog
ICAgIC8vICAgIHJlc2l6ZUhlaWdodCBvcHRpb25zIGFyZSBub3Qgc3BlY2lmaWVkLCB0aGVuIHJl
dHVybiBhIHByb21pc2UgcmVqZWN0ZWQgd2l0aApAQCAtMTAzLDYgKzEyMSw3IEBAIHZvaWQgSW1h
Z2VCaXRtYXA6OmNyZWF0ZVByb21pc2UoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZlB0cjxI
VE1MSW1hZ2VFbGVtZW50CiAgICAgLy8gICAgYWJvcnQgdGhlc2Ugc3RlcHMuCiAKICAgICAvLyA3
LiBDcmVhdGUgYSBuZXcgSW1hZ2VCaXRtYXAgb2JqZWN0LgorCiAgICAgYXV0byBpbWFnZUJpdG1h
cCA9IGNyZWF0ZSgpOwogCiAgICAgLy8gOC4gTGV0IHRoZSBJbWFnZUJpdG1hcCBvYmplY3QncyBi
aXRtYXAgZGF0YSBiZSBhIGNvcHkgb2YgaW1hZ2UncyBtZWRpYSBkYXRhLCBjcm9wcGVkIHRvCkBA
IC0xMTEsMTMgKzEzMCwyNiBAQCB2b2lkIEltYWdlQml0bWFwOjpjcmVhdGVQcm9taXNlKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmLCBSZWZQdHI8SFRNTEltYWdlRWxlbWVudAogICAgIC8vICAgIG9u
ZSB0aGF0IHRoZSBmb3JtYXQgZGVmaW5lcyBpcyB0byBiZSB1c2VkIHdoZW4gYW5pbWF0aW9uIGlz
IG5vdCBzdXBwb3J0ZWQgb3IgaXMgZGlzYWJsZWQpLAogICAgIC8vICAgIG9yLCBpZiB0aGVyZSBp
cyBubyBzdWNoIGltYWdlLCB0aGUgZmlyc3QgZnJhbWUgb2YgdGhlIGFuaW1hdGlvbi4KIAorICAg
IC8vIEZJWE1FOiBNb3ZlIHRoaXMgaW50byBhIHNlcGFyYXRlIGZ1bmN0aW9uIGFuZCBoYW5kbGUg
dGhlIGNyb3BwaW5nL3Jlc2l6aW5nLgorICAgIGF1dG8gYml0bWFwRGF0YSA9IEltYWdlQnVmZmVy
OjpjcmVhdGUoRmxvYXRTaXplKGltYWdlRWxlbWVudC0+d2lkdGgoKSwgaW1hZ2VFbGVtZW50LT5o
ZWlnaHQoKSksIGJ1ZmZlclJlbmRlcmluZ01vZGUpOworCisgICAgYXV0byBpbWFnZUZvclJlbmRl
ciA9IGltYWdlRWxlbWVudC0+Y2FjaGVkSW1hZ2UoKS0+aW1hZ2VGb3JSZW5kZXJlcihpbWFnZUVs
ZW1lbnQtPnJlbmRlcmVyKCkpOworICAgIGlmICghaW1hZ2VGb3JSZW5kZXIpIHsKKyAgICAgICAg
cHJvbWlzZS5yZWplY3QoSW52YWxpZFN0YXRlRXJyb3IsICJDYW5ub3QgY3JlYXRlIEltYWdlQml0
bWFwIGZyb20gaW1hZ2UgdGhhdCBjYW4ndCBiZSByZW5kZXJlZCIpOworICAgICAgICByZXR1cm47
CisgICAgfQorICAgIEZsb2F0UmVjdCBkcmF3UmVjdChGbG9hdFBvaW50KCksIEZsb2F0U2l6ZShp
bWFnZUVsZW1lbnQtPndpZHRoKCksIGltYWdlRWxlbWVudC0+aGVpZ2h0KCkpKTsKKyAgICBiaXRt
YXBEYXRhLT5jb250ZXh0KCkuZHJhd0ltYWdlKCppbWFnZUZvclJlbmRlciwgZHJhd1JlY3QsIGRy
YXdSZWN0KTsKKworICAgIGltYWdlQml0bWFwLT5tX2JpdG1hcERhdGEgPSBXVEZNb3ZlKGJpdG1h
cERhdGEpOworCiAgICAgLy8gOS4gSWYgdGhlIG9yaWdpbiBvZiBpbWFnZSdzIGltYWdlIGlzIG5v
dCB0aGUgc2FtZSBvcmlnaW4gYXMgdGhlIG9yaWdpbiBzcGVjaWZpZWQgYnkgdGhlCiAgICAgLy8g
ICAgZW50cnkgc2V0dGluZ3Mgb2JqZWN0LCB0aGVuIHNldCB0aGUgb3JpZ2luLWNsZWFuIGZsYWcg
b2YgdGhlIEltYWdlQml0bWFwIG9iamVjdCdzCiAgICAgLy8gICAgYml0bWFwIHRvIGZhbHNlLgog
CiAgICAgLy8gMTAuIFJldHVybiBhIG5ldyBwcm9taXNlLCBidXQgY29udGludWUgcnVubmluZyB0
aGVzZSBzdGVwcyBpbiBwYXJhbGxlbC4KLQogICAgIC8vIDExLiBSZXNvbHZlIHRoZSBwcm9taXNl
IHdpdGggdGhlIG5ldyBJbWFnZUJpdG1hcCBvYmplY3QgYXMgdGhlIHZhbHVlLgorCiAgICAgcmV0
dXJuIHByb21pc2UucmVzb2x2ZShXVEZNb3ZlKGltYWdlQml0bWFwKSk7CiB9CiAKQEAgLTE0Niw2
ICsxNzgsNyBAQCB2b2lkIEltYWdlQml0bWFwOjpjcmVhdGVQcm9taXNlKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmLCBSZWZQdHI8SFRNTENhbnZhc0VsZW1lbgogICAgIHJldHVybiBwcm9taXNlLnJl
c29sdmUoV1RGTW92ZShpbWFnZUJpdG1hcCkpOwogfQogCisjaWYgRU5BQkxFKFZJREVPKQogdm9p
ZCBJbWFnZUJpdG1hcDo6Y3JlYXRlUHJvbWlzZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVm
UHRyPEhUTUxWaWRlb0VsZW1lbnQ+JiB2aWRlb0VsZW1lbnQsIEltYWdlQml0bWFwT3B0aW9ucyYm
IG9wdGlvbnMsIHN0ZDo6b3B0aW9uYWw8SW50UmVjdD4gcmVjdCwgSW1hZ2VCaXRtYXA6OlByb21p
c2UmJiBwcm9taXNlKQogewogICAgIFVOVVNFRF9QQVJBTSh2aWRlb0VsZW1lbnQpOwpAQCAtMTc3
LDYgKzIxMCw3IEBAIHZvaWQgSW1hZ2VCaXRtYXA6OmNyZWF0ZVByb21pc2UoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYsIFJlZlB0cjxIVE1MVmlkZW9FbGVtZW50CiAgICAgLy8gOC4gUmVzb2x2ZSB0
aGUgcHJvbWlzZSB3aXRoIHRoZSBuZXcgSW1hZ2VCaXRtYXAgb2JqZWN0IGFzIHRoZSB2YWx1ZS4K
ICAgICByZXR1cm4gcHJvbWlzZS5yZXNvbHZlKFdURk1vdmUoaW1hZ2VCaXRtYXApKTsKIH0KKyNl
bmRpZgogCiB2b2lkIEltYWdlQml0bWFwOjpjcmVhdGVQcm9taXNlKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmLCBSZWZQdHI8SW1hZ2VCaXRtYXA+JiBleGlzdGluZ0ltYWdlQml0bWFwLCBJbWFnZUJp
dG1hcE9wdGlvbnMmJiBvcHRpb25zLCBzdGQ6Om9wdGlvbmFsPEludFJlY3Q+IHJlY3QsIEltYWdl
Qml0bWFwOjpQcm9taXNlJiYgcHJvbWlzZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSW1hZ2VCaXRtYXAuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VCaXRtYXAuaApp
bmRleCBjZmY3ZDRmNDI4NWJhZWE5MjMyZTNiODQ4MWRjZjY5NmRiOTdiZmJkLi41NGY3OTI2MTAx
YzMzODgwMDc5NzJhYWU4ZDBkOTIwMWM2ZmEwNmZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0ltYWdlQml0bWFwLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZUJpdG1h
cC5oCkBAIC03Nyw4ICs3NywxMCBAQCBwcml2YXRlOgogICAgIEltYWdlQml0bWFwKCk7CiAKICAg
ICBzdGF0aWMgdm9pZCBjcmVhdGVQcm9taXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWZQ
dHI8SFRNTEltYWdlRWxlbWVudD4mLCBJbWFnZUJpdG1hcE9wdGlvbnMmJiwgc3RkOjpvcHRpb25h
bDxJbnRSZWN0PiwgUHJvbWlzZSYmKTsKLSAgICBzdGF0aWMgdm9pZCBjcmVhdGVQcm9taXNlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWZQdHI8SFRNTENhbnZhc0VsZW1lbnQ+JiwgSW1hZ2VC
aXRtYXBPcHRpb25zJiYsIHN0ZDo6b3B0aW9uYWw8SW50UmVjdD4sIFByb21pc2UmJik7CisjaWYg
RU5BQkxFKFZJREVPKQogICAgIHN0YXRpYyB2b2lkIGNyZWF0ZVByb21pc2UoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYsIFJlZlB0cjxIVE1MVmlkZW9FbGVtZW50PiYsIEltYWdlQml0bWFwT3B0aW9u
cyYmLCBzdGQ6Om9wdGlvbmFsPEludFJlY3Q+LCBQcm9taXNlJiYpOworI2VuZGlmCisgICAgc3Rh
dGljIHZvaWQgY3JlYXRlUHJvbWlzZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmUHRyPEhU
TUxDYW52YXNFbGVtZW50PiYsIEltYWdlQml0bWFwT3B0aW9ucyYmLCBzdGQ6Om9wdGlvbmFsPElu
dFJlY3Q+LCBQcm9taXNlJiYpOwogICAgIHN0YXRpYyB2b2lkIGNyZWF0ZVByb21pc2UoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYsIFJlZlB0cjxJbWFnZUJpdG1hcD4mLCBJbWFnZUJpdG1hcE9wdGlv
bnMmJiwgc3RkOjpvcHRpb25hbDxJbnRSZWN0PiwgUHJvbWlzZSYmKTsKICAgICBzdGF0aWMgdm9p
ZCBjcmVhdGVQcm9taXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWZQdHI8QmxvYj4mLCBJ
bWFnZUJpdG1hcE9wdGlvbnMmJiwgc3RkOjpvcHRpb25hbDxJbnRSZWN0PiwgUHJvbWlzZSYmKTsK
ICAgICBzdGF0aWMgdm9pZCBjcmVhdGVQcm9taXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBS
ZWZQdHI8SW1hZ2VEYXRhPiYsIEltYWdlQml0bWFwT3B0aW9ucyYmLCBzdGQ6Om9wdGlvbmFsPElu
dFJlY3Q+LCBQcm9taXNlJiYpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDIwYTY0MGFmYTE0MjI1YjUzNWFlMGUzZTJjYzU0
NDdkYzQyNWU1NmQuLjA0MGE1Yjg2M2ZjYWQ4MDUxODVmYmYzNGZkZTVlMTgzZjNjYWFlODMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMCBAQAorMjAxNy0xMC0yMSAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBs
ZS5jb20+CisKKyAgICAgICAgY3JlYXRlSW1hZ2VCaXRtYXAgd2l0aCBiYXNpYyBIVE1MSW1hZ2VF
bGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
Nzg2MTkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM1MTA0MTE4PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgYSBiZXR0ZXIgdGVzdCBmb3Ig
Y3JlYXRlSW1hZ2VCaXRtYXAuIFRoaXMgd2lsbCBiZQorICAgICAgICBzdWJtaXR0ZWQgdG8gV2Vi
IFBsYXRmb3JtIFRlc3RzLgorCisgICAgICAgICogaHR0cC93cHQvMmRjb250ZXh0L2ltYWdlYml0
bWFwL2NyZWF0ZUltYWdlQml0bWFwLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0
cC93cHQvMmRjb250ZXh0L2ltYWdlYml0bWFwL2NyZWF0ZUltYWdlQml0bWFwLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvd3B0L2NvbW1vbi9jYW52YXMtdGVzdHMuY3NzOiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3dwdC9jb21tb24vY2FudmFzLXRlc3RzLmpzOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3dwdC9pbWFnZXMvcGF0dGVybi5wbmc6IEFkZGVkLgorCiAyMDE3LTEwLTIwICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMjIzNzQ0LCByMjIzNzUwLCBhbmQgcjIyMzc1MS4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvd3B0LzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVhdGVJbWFnZUJp
dG1hcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC8yZGNvbnRleHQvaW1hZ2Vi
aXRtYXAvY3JlYXRlSW1hZ2VCaXRtYXAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxZDU0NDhh
MjMwNWE1YTQ2NzYwNzk3ZWM0YzlhZTc1Y2JiOTdjZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC8yZGNvbnRleHQvaW1hZ2ViaXRtYXAvY3JlYXRlSW1hZ2VCaXRtYXAt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorCitQQVNTIGNyZWF0ZUltYWdlQml0bWFwIHJl
amVjdHMgd2l0aCBSYW5nZUVycm9yIGlmIHdpZHRoIGlzIHplcm8gCitQQVNTIGNyZWF0ZUltYWdl
Qml0bWFwIHJlamVjdHMgd2l0aCBSYW5nZUVycm9yIGlmIGhlaWdodCBpcyB6ZXJvIAorUEFTUyBj
cmVhdGVJbWFnZUJpdG1hcCByZWplY3RzIHdpdGggUmFuZ2VFcnJvciBpZiB3aWR0aCBpcyBuZWdh
dGl2ZSAKK1BBU1MgY3JlYXRlSW1hZ2VCaXRtYXAgcmVqZWN0cyB3aXRoIFJhbmdlRXJyb3IgaWYg
aGVpZ2h0IGlzIG5lZ2F0aXZlIAorUEFTUyBjcmVhdGVJbWFnZUJpdG1hcCByZWplY3RzIHdpdGgg
SW52YWxpZFN0YXRlRXJyb3Igb24gYW4gSFRNTEltYWdlRWxlbWVudCB3aXRoIG5vIGltYWdlIGRh
dGEgCitQQVNTIGNyZWF0ZUltYWdlQml0bWFwIGZyb20gYW4gSFRNTEltYWdlRWxlbWVudCB3aXRo
IGltYWdlIGRhdGEgCitQQVNTIEEgY2xvc2VkIEltYWdlQml0bWFwIGhhcyB6ZXJvIHdpZHRoIGFu
ZCBoZWlnaHQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0LzJkY29udGV4dC9p
bWFnZWJpdG1hcC9jcmVhdGVJbWFnZUJpdG1hcC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
MmRjb250ZXh0L2ltYWdlYml0bWFwL2NyZWF0ZUltYWdlQml0bWFwLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NDQ0NGJmZWRiMzJiODlmNDVkNzZlMzcyYzQwZmZhMzU0NjYzMTQ0MAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvd3B0LzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVhdGVJbWFn
ZUJpdG1hcC5odG1sCkBAIC0wLDAgKzEsNjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
dGl0bGU+Y3JlYXRlSW1hZ2VCaXRtYXAgdGVzdDwvdGl0bGU+Cis8c2NyaXB0IHNyYz0iL3Jlc291
cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL2NvbW1vbi9jYW52
YXMtdGVzdHMuanMiPjwvc2NyaXB0PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIvY29t
bW9uL2NhbnZhcy10ZXN0cy5jc3MiPgorPGJvZHk+Cis8c2NyaXB0PgorKGZ1bmN0aW9uKCkgewor
ICAgIHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgICAgICAgIHJldHVybiBwcm9taXNlX3Jl
amVjdHModCwgbmV3IFJhbmdlRXJyb3IsIGNyZWF0ZUltYWdlQml0bWFwKG5ldyBJbWFnZSgpLCAw
LCAwLCAwLCAxMCkpOworICAgIH0sICJjcmVhdGVJbWFnZUJpdG1hcCByZWplY3RzIHdpdGggUmFu
Z2VFcnJvciBpZiB3aWR0aCBpcyB6ZXJvIik7CisKKyAgICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24o
dCkgeworICAgICAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHQsIG5ldyBSYW5nZUVycm9yLCBj
cmVhdGVJbWFnZUJpdG1hcChuZXcgSW1hZ2UoKSwgMCwgMCwgMTAsIDApKTsKKyAgICB9LCAiY3Jl
YXRlSW1hZ2VCaXRtYXAgcmVqZWN0cyB3aXRoIFJhbmdlRXJyb3IgaWYgaGVpZ2h0IGlzIHplcm8i
KTsKKworICAgIHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7CisgICAgICAgIHJldHVybiBwcm9t
aXNlX3JlamVjdHModCwgbmV3IFJhbmdlRXJyb3IsIGNyZWF0ZUltYWdlQml0bWFwKG5ldyBJbWFn
ZSgpLCAwLCAwLCAtMTAsIDEwKSk7CisgICAgfSwgImNyZWF0ZUltYWdlQml0bWFwIHJlamVjdHMg
d2l0aCBSYW5nZUVycm9yIGlmIHdpZHRoIGlzIG5lZ2F0aXZlIik7CisKKyAgICBwcm9taXNlX3Rl
c3QoZnVuY3Rpb24odCkgeworICAgICAgICByZXR1cm4gcHJvbWlzZV9yZWplY3RzKHQsIG5ldyBS
YW5nZUVycm9yLCBjcmVhdGVJbWFnZUJpdG1hcChuZXcgSW1hZ2UoKSwgMCwgMCwgMTAsIC0xMCkp
OworICAgIH0sICJjcmVhdGVJbWFnZUJpdG1hcCByZWplY3RzIHdpdGggUmFuZ2VFcnJvciBpZiBo
ZWlnaHQgaXMgbmVnYXRpdmUiKTsKKworICAgIHByb21pc2VfdGVzdChmdW5jdGlvbih0KSB7Cisg
ICAgICAgIHJldHVybiBwcm9taXNlX3JlamVjdHModCwgIkludmFsaWRTdGF0ZUVycm9yIiwgY3Jl
YXRlSW1hZ2VCaXRtYXAobmV3IEltYWdlKCkpKTsKKyAgICB9LCAiY3JlYXRlSW1hZ2VCaXRtYXAg
cmVqZWN0cyB3aXRoIEludmFsaWRTdGF0ZUVycm9yIG9uIGFuIEhUTUxJbWFnZUVsZW1lbnQgd2l0
aCBubyBpbWFnZSBkYXRhIik7CisKKyAgICBwcm9taXNlX3Rlc3QoZnVuY3Rpb24oKSB7CisgICAg
ICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlLCByZWplY3QpIHsKKyAgICAg
ICAgICAgIHZhciBpbWcgPSBuZXcgSW1hZ2UoKTsKKyAgICAgICAgICAgIGltZy5vbmxvYWQgPSBm
dW5jdGlvbigpIHsgcmVzb2x2ZShpbWcpOyB9OworICAgICAgICAgICAgaW1nLnNyYyA9ICIvaW1h
Z2VzL3BhdHRlcm4ucG5nIjsKKyAgICAgICAgfSkudGhlbihmdW5jdGlvbihpbWcpIHsKKyAgICAg
ICAgICAgIHJldHVybiBjcmVhdGVJbWFnZUJpdG1hcChpbWcpOworICAgICAgICB9KS50aGVuKGZ1
bmN0aW9uKGltYWdlQml0bWFwKSB7CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGltYWdlQml0
bWFwLndpZHRoLCAyMCwgIkltYWdlQml0bWFwIHdpZHRoIHNob3VsZCBiZSAyMCIpOworICAgICAg
ICAgICAgYXNzZXJ0X2VxdWFscyhpbWFnZUJpdG1hcC5oZWlnaHQsIDIwLCAiSW1hZ2VCaXRtYXAg
aGVpZ2h0IHNob3VsZCBiZSAyMCIpOworICAgICAgICB9KTsKKyAgICB9LCAiY3JlYXRlSW1hZ2VC
aXRtYXAgZnJvbSBhbiBIVE1MSW1hZ2VFbGVtZW50IHdpdGggaW1hZ2UgZGF0YSIpOworCisgICAg
cHJvbWlzZV90ZXN0KGZ1bmN0aW9uKCkgeworICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVu
Y3Rpb24ocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICB2YXIgaW1nID0gbmV3IEltYWdl
KCk7CisgICAgICAgICAgICBpbWcub25sb2FkID0gZnVuY3Rpb24oKSB7IHJlc29sdmUoaW1nKTsg
fTsKKyAgICAgICAgICAgIGltZy5zcmMgPSAiL2ltYWdlcy9wYXR0ZXJuLnBuZyI7CisgICAgICAg
IH0pLnRoZW4oZnVuY3Rpb24oaW1nKSB7CisgICAgICAgICAgICByZXR1cm4gY3JlYXRlSW1hZ2VC
aXRtYXAoaW1nKTsKKyAgICAgICAgfSkudGhlbihmdW5jdGlvbihpbWFnZUJpdG1hcCkgeworICAg
ICAgICAgICAgaW1hZ2VCaXRtYXAuY2xvc2UoKTsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMo
aW1hZ2VCaXRtYXAud2lkdGgsIDAsICJBIGNsb3NlZCBJbWFnZUJpdG1hcCB3aWR0aCBzaG91bGQg
YmUgMCIpOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhpbWFnZUJpdG1hcC5oZWlnaHQsIDAs
ICJBIGNsb3NlZCBJbWFnZUJpdG1hcCBoZWlnaHQgc2hvdWxkIGJlIDAiKTsKKyAgICAgICAgfSk7
CisgICAgfSwgIkEgY2xvc2VkIEltYWdlQml0bWFwIGhhcyB6ZXJvIHdpZHRoIGFuZCBoZWlnaHQi
KTsKKworfSkoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC93cHQvY29tbW9uL2NhbnZhcy10ZXN0cy5jc3MgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC9jb21tb24vY2FudmFzLXRlc3RzLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMDA2ZTgxMmRlNGRm
YjNmMTAyNDc4OGUxNDczYTcxMzZkOTU4Mzk1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvY29tbW9uL2NhbnZhcy10ZXN0cy5jc3MKQEAgLTAsMCArMSwxMzQgQEAKK2h0
bWwuZmFpbCB7CisgICAgYmFja2dyb3VuZDogI2Y2NjsKK30KK2h0bWwucGFzcyB7CisgICAgYmFj
a2dyb3VuZDogIzZmNjsKK30KK2h0bWwubmVlZHNfY2hlY2sgeworICAgIGJhY2tncm91bmQ6ICM5
OWY7Cit9CisKK2JvZHkgeworICAgIGZvbnQtc2l6ZTogc21hbGw7CisgICAgZm9udC1mYW1pbHk6
IHNhbnMtc2VyaWY7CisgICAgY29sb3I6IGJsYWNrOworfQorCithOmxpbmsgeworICAgIGNvbG9y
OiAjMDBjOworfQorYTp2aXNpdGVkIHsKKyAgICBjb2xvcjogIzgwODsKK30KKworYm9keS5mcmFt
ZWQgeworICAgIGZvbnQtc2l6ZTogeC1zbWFsbDsKK30KKworaDEgeworICAgIGZvbnQtc2l6ZTog
bGFyZ2VyOworICAgIG1hcmdpbjogMDsKKyAgICBwYWRkaW5nLWxlZnQ6IDAuNWVtOworICAgIHRl
eHQtaW5kZW50OiAtMC41ZW07Cit9CisKK3AgeworICAgIG1hcmdpbjogMDsKK30KKworcC5ub3Rl
cyB7CisgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07CisgICAgZm9udC1zdHlsZTogaXRhbGljOwor
fQorCit1bCB7CisgICAgbWFyZ2luOiAwOworICAgIG1hcmdpbi1ib3R0b206IDAuNWVtOworICAg
IHBhZGRpbmc6IDA7CisgICAgcGFkZGluZy1sZWZ0OiAxZW07Cit9CisKKy5yZWZzIHsKKyAgICBm
b250LXN0eWxlOiBpdGFsaWM7CisgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07Cit9CisKKy5yZWZz
IHVsIHsKKyAgICBkaXNwbGF5OiBpbmxpbmU7CisgICAgbWFyZ2luOiAwOworICAgIHBhZGRpbmc6
IDA7Cit9CisKKy5yZWZzIGxpIHsKKyAgICBkaXNwbGF5OiBpbmxpbmU7CisgICAgbGlzdC1zdHls
ZS10eXBlOiBub25lOworICAgIG1hcmdpbjogMDsKKyAgICBwYWRkaW5nOiAwOworfQorCitjYW52
YXMgeworICAgIGRpc3BsYXk6IG5vbmU7CisgICAgdmlzaWJpbGl0eTogaGlkZGVuOworICAgIGJv
cmRlcjogMnB4ICNmMGYgc29saWQ7CisgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9iYWNr
Z3JvdW5kLnBuZyk7Cit9CisKK2ltZy5leHBlY3RlZCB7CisgICAgZGlzcGxheTogbm9uZTsKKyAg
ICBib3JkZXI6IDJweCAjZjBmIHNvbGlkOworICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMv
YmFja2dyb3VuZC5wbmcpOworfQorCitpZnJhbWUgeworICAgIGJvcmRlcjogMnB4ICNmMGYgc29s
aWQ7Cit9CisKKy5vdXRwdXQgeworICAgIGRpc3BsYXk6IG5vbmU7Cit9CisKKy5zaG93X291dHB1
dCAub3V0cHV0LCAubmVlZHNfY2hlY2sgLm91dHB1dCAgeworICAgIGRpc3BsYXk6IGJsb2NrICFp
bXBvcnRhbnQ7CisgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OworfQorCisuc2hv
d19vdXRwdXQgI3Nob3dfb3V0cHV0IHsKKyAgICBkaXNwbGF5OiBub25lOworfQorCisucmVzb3Vy
Y2UgeworICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKKyAgICBoZWlnaHQ6IDA7Cit9CisKKy5mYWxs
YmFjayB7CisgICAgZm9udC1zaXplOiAyZW07CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CisgICAg
Y29sb3I6ICNhMDA7Cit9CisKKworaHRtbC5taW5pbWFsIGJvZHkgeworICAgIGNvbG9yOiB3aGl0
ZTsKK30KK2h0bWwuZmFpbC5taW5pbWFsIHsKKyAgICBiYWNrZ3JvdW5kOiAjZjAwOworfQoraHRt
bC5wYXNzLm1pbmltYWwgeworICAgIGJhY2tncm91bmQ6ICMwODA7Cit9CitodG1sLm5lZWRzX2No
ZWNrLm1pbmltYWwgeworICAgIGJhY2tncm91bmQ6ICMwMDg7Cit9CisubWluaW1hbCAjZCB7Cisg
ICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OworfQorLm1pbmltYWwgLmV4cGVjdGVkdGV4dCB7
CisgICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7Cit9CisjcGFzc3RleHQsICNmYWls
dGV4dCB7CisgICAgZGlzcGxheTogbm9uZTsKK30KKy5taW5pbWFsLnBhc3MgI3Bhc3N0ZXh0LCAu
bWluaW1hbC5mYWlsICNmYWlsdGV4dCB7CisgICAgZGlzcGxheTogYmxvY2s7Cit9CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9jb21tb24vY2FudmFzLXRlc3RzLmpzIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvY29tbW9uL2NhbnZhcy10ZXN0cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZjEzZDRh
MzQ5Y2RkMWU3ZGNkZjRiNWM0ZmVjZTY3MWI3ZjY5N2UxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvY29tbW9uL2NhbnZhcy10ZXN0cy5qcwpAQCAtMCwwICsxLDEwNSBA
QAorZnVuY3Rpb24gX3ZhbFRvU3RyaW5nKHZhbCkKK3sKKyAgICBpZiAodmFsID09PSB1bmRlZmlu
ZWQgfHwgdmFsID09PSBudWxsKQorICAgICAgICByZXR1cm4gJ1snICsgdHlwZW9mKHZhbCkgKyAn
XSc7CisgICAgcmV0dXJuIHZhbC50b1N0cmluZygpICsgJ1snICsgdHlwZW9mKHZhbCkgKyAnXSc7
Cit9CisKK2Z1bmN0aW9uIF9hc3NlcnQoY29uZCwgdGV4dCkKK3sKKyAgICBhc3NlcnRfdHJ1ZSgh
IWNvbmQsIHRleHQpOworfQorCitmdW5jdGlvbiBfYXNzZXJ0U2FtZShhLCBiLCB0ZXh0X2EsIHRl
eHRfYikKK3sKKyAgICB2YXIgbXNnID0gdGV4dF9hICsgJyA9PT0gJyArIHRleHRfYiArICcgKGdv
dCAnICsgX3ZhbFRvU3RyaW5nKGEpICsKKyAgICAgICAgICAgICAgJywgZXhwZWN0ZWQgJyArIF92
YWxUb1N0cmluZyhiKSArICcpJzsKKyAgICBhc3NlcnRfZXF1YWxzKGEsIGIsIG1zZyk7Cit9CisK
K2Z1bmN0aW9uIF9hc3NlcnREaWZmZXJlbnQoYSwgYiwgdGV4dF9hLCB0ZXh0X2IpCit7CisgICAg
dmFyIG1zZyA9IHRleHRfYSArICcgIT09ICcgKyB0ZXh0X2IgKyAnIChnb3QgJyArIF92YWxUb1N0
cmluZyhhKSArCisgICAgICAgICAgICAgICcsIGV4cGVjdGVkIG5vdCAnICsgX3ZhbFRvU3RyaW5n
KGIpICsgJyknOworICAgIGFzc2VydF9ub3RfZXF1YWxzKGEsIGIsIG1zZyk7Cit9CisKKworZnVu
Y3Rpb24gX2dldFBpeGVsKGNhbnZhcywgeCx5KQoreworICAgIHZhciBjdHggPSBjYW52YXMuZ2V0
Q29udGV4dCgnMmQnKTsKKyAgICB2YXIgaW1nZGF0YSA9IGN0eC5nZXRJbWFnZURhdGEoeCwgeSwg
MSwgMSk7CisgICAgcmV0dXJuIFsgaW1nZGF0YS5kYXRhWzBdLCBpbWdkYXRhLmRhdGFbMV0sIGlt
Z2RhdGEuZGF0YVsyXSwgaW1nZGF0YS5kYXRhWzNdIF07Cit9CisKK2Z1bmN0aW9uIF9hc3NlcnRQ
aXhlbChjYW52YXMsIHgseSwgcixnLGIsYSwgcG9zLCBjb2xvdXIpCit7CisgICAgdmFyIGMgPSBf
Z2V0UGl4ZWwoY2FudmFzLCB4LHkpOworICAgIGFzc2VydF9lcXVhbHMoY1swXSwgciwgJ1JlZCBj
aGFubmVsIG9mIHRoZSBwaXhlbCBhdCAoJyArIHggKyAnLCAnICsgeSArICcpJyk7CisgICAgYXNz
ZXJ0X2VxdWFscyhjWzFdLCBnLCAnR3JlZW4gY2hhbm5lbCBvZiB0aGUgcGl4ZWwgYXQgKCcgKyB4
ICsgJywgJyArIHkgKyAnKScpOworICAgIGFzc2VydF9lcXVhbHMoY1syXSwgYiwgJ0JsdWUgY2hh
bm5lbCBvZiB0aGUgcGl4ZWwgYXQgKCcgKyB4ICsgJywgJyArIHkgKyAnKScpOworICAgIGFzc2Vy
dF9lcXVhbHMoY1szXSwgYSwgJ0FscGhhIGNoYW5uZWwgb2YgdGhlIHBpeGVsIGF0ICgnICsgeCAr
ICcsICcgKyB5ICsgJyknKTsKK30KKworZnVuY3Rpb24gX2Fzc2VydFBpeGVsQXBwcm94KGNhbnZh
cywgeCx5LCByLGcsYixhLCBwb3MsIGNvbG91ciwgdG9sZXJhbmNlKQoreworICAgIHZhciBjID0g
X2dldFBpeGVsKGNhbnZhcywgeCx5KTsKKyAgICBhc3NlcnRfYXBwcm94X2VxdWFscyhjWzBdLCBy
LCB0b2xlcmFuY2UsICdSZWQgY2hhbm5lbCBvZiB0aGUgcGl4ZWwgYXQgKCcgKyB4ICsgJywgJyAr
IHkgKyAnKScpOworICAgIGFzc2VydF9hcHByb3hfZXF1YWxzKGNbMV0sIGcsIHRvbGVyYW5jZSwg
J0dyZWVuIGNoYW5uZWwgb2YgdGhlIHBpeGVsIGF0ICgnICsgeCArICcsICcgKyB5ICsgJyknKTsK
KyAgICBhc3NlcnRfYXBwcm94X2VxdWFscyhjWzJdLCBiLCB0b2xlcmFuY2UsICdCbHVlIGNoYW5u
ZWwgb2YgdGhlIHBpeGVsIGF0ICgnICsgeCArICcsICcgKyB5ICsgJyknKTsKKyAgICBhc3NlcnRf
YXBwcm94X2VxdWFscyhjWzNdLCBhLCB0b2xlcmFuY2UsICdBbHBoYSBjaGFubmVsIG9mIHRoZSBw
aXhlbCBhdCAoJyArIHggKyAnLCAnICsgeSArICcpJyk7Cit9CisKK2Z1bmN0aW9uIF9hZGRUZXN0
KHRlc3RGbikKK3sKKyAgICB2YXIgZGVmZXJyZWQgPSBmYWxzZTsKKyAgICB3aW5kb3cuZGVmZXJU
ZXN0ID0gZnVuY3Rpb24gKCkgeyBkZWZlcnJlZCA9IHRydWU7IH07CisgICAgb25fZXZlbnQod2lu
ZG93LCAibG9hZCIsIGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHQuc3RlcChmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYycp
OworICAgICAgICAgICAgdmFyIGN0eCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpOworICAgICAg
ICAgICAgdC5zdGVwKHRlc3RGbiwgd2luZG93LCBjYW52YXMsIGN0eCk7CisgICAgICAgIH0pOwor
CisgICAgICAgIGlmICghZGVmZXJyZWQpIHsKKyAgICAgICAgICAgIHQuZG9uZSgpOworICAgICAg
ICB9CisgICAgfSk7Cit9CisKK2Z1bmN0aW9uIF9hc3NlcnRHcmVlbihjdHgsIGNhbnZhc1dpZHRo
LCBjYW52YXNIZWlnaHQpCit7CisgICAgdmFyIHRlc3RDb2xvciA9IGZ1bmN0aW9uKGQsIGlkeCwg
ZXhwZWN0ZWQpIHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhkW2lkeF0sIGV4cGVjdGVkLCAiZFsi
ICsgaWR4ICsgIl0iLCBTdHJpbmcoZXhwZWN0ZWQpKTsKKyAgICB9OworICAgIHZhciBpbWFnZWRh
dGEgPSBjdHguZ2V0SW1hZ2VEYXRhKDAsIDAsIGNhbnZhc1dpZHRoLCBjYW52YXNIZWlnaHQpOwor
ICAgIHZhciB3ID0gaW1hZ2VkYXRhLndpZHRoLCBoID0gaW1hZ2VkYXRhLmhlaWdodCwgZCA9IGlt
YWdlZGF0YS5kYXRhOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaDsgKytpKSB7CisgICAgICAg
IGZvciAodmFyIGogPSAwOyBqIDwgdzsgKytqKSB7CisgICAgICAgICAgICB0ZXN0Q29sb3IoZCwg
NCAqICh3ICogaSArIGopICsgMCwgMCk7CisgICAgICAgICAgICB0ZXN0Q29sb3IoZCwgNCAqICh3
ICogaSArIGopICsgMSwgMjU1KTsKKyAgICAgICAgICAgIHRlc3RDb2xvcihkLCA0ICogKHcgKiBp
ICsgaikgKyAyLCAwKTsKKyAgICAgICAgICAgIHRlc3RDb2xvcihkLCA0ICogKHcgKiBpICsgaikg
KyAzLCAyNTUpOworICAgICAgICB9CisgICAgfQorfQorCitmdW5jdGlvbiBhZGRDcm9zc09yaWdp
blllbGxvd0ltYWdlKCkKK3sKKyAgICB2YXIgaW1nID0gbmV3IEltYWdlKCk7CisgICAgaW1nLmlk
ID0gInllbGxvdy5wbmciOworICAgIGltZy5jbGFzc05hbWUgPSAicmVzb3VyY2UiOworICAgIGlt
Zy5zcmMgPSBnZXRfaG9zdF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOICsgIi9pbWFnZXMveWVs
bG93LnBuZyI7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbWcpOworfQorCitmdW5j
dGlvbiBhZGRDcm9zc09yaWdpblJlZGlyZWN0WWVsbG93SW1hZ2UoKQoreworICAgIHZhciBpbWcg
PSBuZXcgSW1hZ2UoKTsKKyAgICBpbWcuaWQgPSAieWVsbG93LnBuZyI7CisgICAgaW1nLmNsYXNz
TmFtZSA9ICJyZXNvdXJjZSI7CisgICAgaW1nLnNyYyA9IGdldF9ob3N0X2luZm8oKS5IVFRQX09S
SUdJTiArICIvY29tbW9uL3JlZGlyZWN0LnB5P2xvY2F0aW9uPSIgKworICAgICAgICBnZXRfaG9z
dF9pbmZvKCkuSFRUUF9SRU1PVEVfT1JJR0lOICsgIi9pbWFnZXMveWVsbG93LnBuZyI7CisgICAg
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbWcpOworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC93cHQvaW1hZ2VzL3BhdHRlcm4ucG5nIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvaW1h
Z2VzL3BhdHRlcm4ucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1Y2U1YjQ0YTY0MzBkOWM0N2I4ZWRiNDVmZjE0
Y2Q5YzE5ZTkxYzEKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDEyMwp6Y21lQVNATj8ob2xIeWB1
VkJxIWlhMHZwXkF8VEFjMXwpa3NXcUU7PWxjJFNnaD1xVWhwWXNQOFR2YH5GMTZONSUKeklLMWl6
dmRVNjg9T0VBUGVDSzgxZ0dzeXd2QkZhfkcqJmhnbHJnUGhTUzRqRFAlYkNJPi08TDE7S3lXTWhL
O2lmClZ6aDR3OSRweENtO09Yazt2ZCRAPzI+XkN3QnNUeTYKCmxpdGVyYWwgMApIY21WP2QwMDAw
MQoK
</data>
<flag name="review"
          id="344118"
          type_id="1"
          status="+"
          setter="graouts"
    />
          </attachment>
      

    </bug>

</bugzilla>