<?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>26179</bug_id>
          
          <creation_ts>2009-06-03 18:55:06 -0700</creation_ts>
          <short_desc>Changing style element media attribute dynamically doesn&apos;t work (embedded s5 css not rendering as slides)</short_desc>
          <delta_ts>2022-07-12 20:38:23 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>CONFIGURATION CHANGED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=38113</see_also>
          <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="Jens Petersen">juhpetersen</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>hyatt</cc>
    
    <cc>koivisto</cc>
    
    <cc>mitz</cc>
    
    <cc>ntim</cc>
    
    <cc>pangle</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>124263</commentid>
    <comment_count>0</comment_count>
    <who name="Jens Petersen">juhpetersen</who>
    <bug_when>2009-06-03 18:55:06 -0700</bug_when>
    <thetext>I will attached a testcase below.

When I view an html file with embedded s5 slides under webkit,
the slide mode is not rendered as slides but a large overview
rendering toggling mode to overview and back to slide mode
shows the text from each individual slide gradually moving
further down the window as one goes though them.

The same file renders fine in Firefox/gecko.

I am actually testing on Linux but I am not sure this is OK specific.
It could also be a problem with the generate html but it is ok in mozilla.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124268</commentid>
    <comment_count>1</comment_count>
      <attachid>30938</attachid>
    <who name="Jens Petersen">juhpetersen</who>
    <bug_when>2009-06-03 20:08:26 -0700</bug_when>
    <thetext>Created attachment 30938
test.html

This was generated with pandoc-1.2:

$ cat &gt; test.txt &lt;&lt;EOF
% Test slides
% Some One
% 2009-06-04

# Slide 1

- morning

# Slide 2

- afternoon
EOF
$ pandoc -t s5 -s test.txt  &gt; test.html

Normal non-embedded s5 slides render ok.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>124269</commentid>
    <comment_count>2</comment_count>
    <who name="Jens Petersen">juhpetersen</who>
    <bug_when>2009-06-03 20:12:37 -0700</bug_when>
    <thetext>For the record I also opened a bug for this against pandoc http://code.google.com/p/pandoc/issues/detail?id=145
since I am not sure if this is an html issue or
a rendering issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>210175</commentid>
    <comment_count>3</comment_count>
    <who name="Jens Petersen">juhpetersen</who>
    <bug_when>2010-04-08 07:42:13 -0700</bug_when>
    <thetext>I investigated a bit more and the funny is:

with
&lt;link rel=&quot;stylesheet&quot; href=&quot;ui/default/slides.css&quot; type=&quot;text/css&quot; media=&quot;projection&quot; id=&quot;slideProj&quot; /&gt;
the rendering works but not

&lt;style type=&quot;text/css&quot; media=&quot;projection&quot;&gt;
:
:
&lt;/style&gt;

Guess a smaller testcase is needed?

Google Chrome	5.0.366.2 (Official Build 43280) dev
WebKit	533.4</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>210266</commentid>
    <comment_count>4</comment_count>
      <attachid>52878</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-04-08 10:54:45 -0700</bug_when>
    <thetext>Created attachment 52878
reduced test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1882228</commentid>
    <comment_count>5</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2022-07-11 16:49:19 -0700</bug_when>
    <thetext>Safari, Chrome, and Firefox show the same rendering behavior for this test case. I do not believe any further compatibility issue remains.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1882898</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2022-07-12 20:04:17 -0700</bug_when>
    <thetext>Not sure if my reduced test case captured the whole issue. Clearly, we enable the inline stylesheet, but would we load an external stylesheet dynamically?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>30938</attachid>
            <date>2009-06-03 20:08:26 -0700</date>
            <delta_ts>2009-06-03 20:08:26 -0700</delta_ts>
            <desc>test.html</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>21153</size>
            <attacher name="Jens Petersen">juhpetersen</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFs
Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25h
bC5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIKPjxoZWFk
CiAgPjx0aXRsZQogICAgPkVhdGluZyBIYWJpdHM8L3RpdGxlCiAgICA+PG1ldGEgaHR0cC1lcXVp
dj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiCiAgICAg
Lz48bWV0YSBuYW1lPSJnZW5lcmF0b3IiIGNvbnRlbnQ9InBhbmRvYyIKICAgICAvPjxtZXRhIG5h
bWU9ImF1dGhvciIgY29udGVudD0iSm9obiBEb2UiCiAgICAgLz48bWV0YSBuYW1lPSJkYXRlIiBj
b250ZW50PSJNYXJjaCAyMiwgMjAwNSIKICAgICAvPjwhLS0gY29uZmlndXJhdGlvbiBwYXJhbWV0
ZXJzIC0tPgo8bWV0YSBuYW1lPSJkZWZhdWx0VmlldyIgY29udGVudD0ic2xpZGVzaG93IiAvPgo8
bWV0YSBuYW1lPSJjb250cm9sVmlzIiBjb250ZW50PSJoaWRkZW4iIC8+CjxzdHlsZSB0eXBlPSJ0
ZXh0L2NzcyIgbWVkaWE9InByb2plY3Rpb24iIGlkPSJzbGlkZVByb2oiPgovKiBEbyBub3QgZWRp
dCBvciBvdmVycmlkZSB0aGVzZSBzdHlsZXMhIFRoZSBzeXN0ZW0gd2lsbCBsaWtlbHkgYnJlYWsg
aWYgeW91IGRvLiAqLwoKZGl2I2hlYWRlciwgZGl2I2Zvb3RlciwgZGl2I2NvbnRyb2xzLCAuc2xp
ZGUge3Bvc2l0aW9uOiBhYnNvbHV0ZTt9Cmh0bWw+Ym9keSBkaXYjaGVhZGVyLCBodG1sPmJvZHkg
ZGl2I2Zvb3RlciwgCiAgaHRtbD5ib2R5IGRpdiNjb250cm9scywgaHRtbD5ib2R5IC5zbGlkZSB7
cG9zaXRpb246IGZpeGVkO30KLmhhbmRvdXQge2Rpc3BsYXk6IG5vbmU7fQoubGF5b3V0IHtkaXNw
bGF5OiBibG9jazt9Ci5zbGlkZSwgLmhpZGVtZSwgLmluY3JlbWVudGFsIHt2aXNpYmlsaXR5OiBo
aWRkZW47fQojc2xpZGUwIHt2aXNpYmlsaXR5OiB2aXNpYmxlO30KCi8qIFRoZSBmb2xsb3dpbmcg
c3R5bGVzIHNpemUsIHBsYWNlLCBhbmQgbGF5ZXIgdGhlIHNsaWRlIGNvbXBvbmVudHMuCiAgIEVk
aXQgdGhlc2UgaWYgeW91IHdhbnQgdG8gY2hhbmdlIHRoZSBvdmVyYWxsIHNsaWRlIGxheW91dC4K
ICAgVGhlIGNvbW1lbnRlZCBsaW5lcyBjYW4gYmUgdW5jb21tZW50ZWQgKGFuZCBtb2RpZmllZCwg
aWYgbmVjZXNzYXJ5KSAKICAgIHRvIGhlbHAgeW91IHdpdGggdGhlIHJlYXJyYW5nZW1lbnQgcHJv
Y2Vzcy4gKi8KCi8qIHRhcmdldCA9IDEwMjR4NzY4ICovCgpkaXYjaGVhZGVyLCBkaXYjZm9vdGVy
LCAuc2xpZGUge3dpZHRoOiAxMDAlOyB0b3A6IDA7IGxlZnQ6IDA7fQpkaXYjaGVhZGVyIHt0b3A6
IDA7IGhlaWdodDogM2VtOyB6LWluZGV4OiAxO30KZGl2I2Zvb3RlciB7dG9wOiBhdXRvOyBib3R0
b206IDA7IGhlaWdodDogMi41ZW07IHotaW5kZXg6IDU7fQouc2xpZGUge3RvcDogMDsgd2lkdGg6
IDkyJTsgcGFkZGluZzogMy41ZW0gNCUgNCU7IHotaW5kZXg6IDI7ICBsaXN0LXN0eWxlOiBub25l
O30KZGl2I2NvbnRyb2xzIHtsZWZ0OiA1MCU7IGJvdHRvbTogMDsgd2lkdGg6IDUwJTsgei1pbmRl
eDogMTAwO30KZGl2I2NvbnRyb2xzIGZvcm0ge3Bvc2l0aW9uOiBhYnNvbHV0ZTsgYm90dG9tOiAw
OyByaWdodDogMDsgd2lkdGg6IDEwMCU7CiAgbWFyZ2luOiAwO30KI2N1cnJlbnRTbGlkZSB7cG9z
aXRpb246IGFic29sdXRlOyB3aWR0aDogMTAlOyBsZWZ0OiA0NSU7IGJvdHRvbTogMWVtOyB6LWlu
ZGV4OiAxMDt9Cmh0bWw+Ym9keSAjY3VycmVudFNsaWRlIHtwb3NpdGlvbjogZml4ZWQ7fQoKLyoK
ZGl2I2hlYWRlciB7YmFja2dyb3VuZDogI0ZDQzt9CmRpdiNmb290ZXIge2JhY2tncm91bmQ6ICND
Q0Y7fQpkaXYjY29udHJvbHMge2JhY2tncm91bmQ6ICNCQkQ7fQpkaXYjY3VycmVudFNsaWRlIHti
YWNrZ3JvdW5kOiAjRkZDO30KKi8KCi8qIEZvbGxvd2luZyBhcmUgdGhlIHByZXNlbnRhdGlvbiBz
dHlsZXMgLS0gZWRpdCBhd2F5ISAqLwoKYm9keSB7YmFja2dyb3VuZDogI0ZGRiB1cmwoYm9keWJn
LmdpZikgLTE2cHggMCBuby1yZXBlYXQ7IGNvbG9yOiAjMDAwOyBmb250LXNpemU6IDJlbTt9Cjps
aW5rLCA6dmlzaXRlZCB7dGV4dC1kZWNvcmF0aW9uOiBub25lOyBjb2xvcjogIzAwQzt9CiNjb250
cm9scyA6YWN0aXZlIHtjb2xvcjogIzg4QSAhaW1wb3J0YW50O30KI2NvbnRyb2xzIDpmb2N1cyB7
b3V0bGluZTogMXB4IGRvdHRlZCAjMjI3O30KaDEsIGgyLCBoMywgaDQge2ZvbnQtc2l6ZTogMTAw
JTsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyBmb250LXdlaWdodDogaW5oZXJpdDt9CnVsLCBwcmUg
e21hcmdpbjogMDsgbGluZS1oZWlnaHQ6IDFlbTt9Cmh0bWwsIGJvZHkge21hcmdpbjogMDsgcGFk
ZGluZzogMDt9CgpibG9ja3F1b3RlLCBxIHtmb250LXN0eWxlOiBpdGFsaWM7fQpibG9ja3F1b3Rl
IHtwYWRkaW5nOiAwIDJlbSAwLjVlbTsgbWFyZ2luOiAwIDEuNWVtIDAuNWVtOyB0ZXh0LWFsaWdu
OiBjZW50ZXI7IGZvbnQtc2l6ZTogMWVtO30KYmxvY2txdW90ZSBwIHttYXJnaW46IDA7fQpibG9j
a3F1b3RlIGkge2ZvbnQtc3R5bGU6IG5vcm1hbDt9CmJsb2NrcXVvdGUgYiB7ZGlzcGxheTogYmxv
Y2s7IG1hcmdpbi10b3A6IDAuNWVtOyBmb250LXdlaWdodDogbm9ybWFsOyBmb250LXNpemU6IHNt
YWxsZXI7IGZvbnQtc3R5bGU6IG5vcm1hbDt9CmJsb2NrcXVvdGUgYiBpIHtmb250LXN0eWxlOiBp
dGFsaWM7fQoKa2JkIHtmb250LXdlaWdodDogYm9sZDsgZm9udC1zaXplOiAxZW07fQpzdXAge2Zv
bnQtc2l6ZTogc21hbGxlcjsgbGluZS1oZWlnaHQ6IDFweDt9Cgouc2xpZGUgY29kZSB7cGFkZGlu
ZzogMnB4IDAuMjVlbTsgZm9udC13ZWlnaHQ6IGJvbGQ7IGNvbG9yOiAjNTMzO30KLnNsaWRlIGNv
ZGUuYmFkLCBjb2RlIGRlbCB7Y29sb3I6IHJlZDt9Ci5zbGlkZSBjb2RlLm9sZCB7Y29sb3I6IHNp
bHZlcjt9Ci5zbGlkZSBwcmUge3BhZGRpbmc6IDA7IG1hcmdpbjogMC4yNWVtIDAgMC41ZW0gMC41
ZW07IGNvbG9yOiAjNTMzOyBmb250LXNpemU6IDkwJTt9Ci5zbGlkZSBwcmUgY29kZSB7ZGlzcGxh
eTogYmxvY2s7fQouc2xpZGUgdWwge21hcmdpbi1sZWZ0OiA1JTsgbWFyZ2luLXJpZ2h0OiA3JTsg
bGlzdC1zdHlsZTogZGlzYzt9Ci5zbGlkZSBsaSB7bWFyZ2luLXRvcDogMC43NWVtOyBtYXJnaW4t
cmlnaHQ6IDA7fQouc2xpZGUgdWwgdWwge2xpbmUtaGVpZ2h0OiAxO30KLnNsaWRlIHVsIHVsIGxp
IHttYXJnaW46IC4yZW07IGZvbnQtc2l6ZTogODUlOyBsaXN0LXN0eWxlOiBzcXVhcmU7fQouc2xp
ZGUgaW1nLmxlYWRlciB7ZGlzcGxheTogYmxvY2s7IG1hcmdpbjogMCBhdXRvO30KCmRpdiNoZWFk
ZXIsIGRpdiNmb290ZXIge2JhY2tncm91bmQ6ICMwMDU7IGNvbG9yOiAjQUFCOwogIGZvbnQtZmFt
aWx5OiBWZXJkYW5hLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7fQpkaXYjaGVhZGVyIHtiYWNrZ3Jv
dW5kOiAjMDA1IHVybChib2R5YmcuZ2lmKSAtMTZweCAwIG5vLXJlcGVhdDsKICBsaW5lLWhlaWdo
dDogMXB4O30KZGl2I2Zvb3RlciB7Zm9udC1zaXplOiAwLjVlbTsgZm9udC13ZWlnaHQ6IGJvbGQ7
IHBhZGRpbmc6IDFlbSAwO30KI2Zvb3RlciBoMSwgI2Zvb3RlciBoMiB7ZGlzcGxheTogYmxvY2s7
IHBhZGRpbmc6IDAgMWVtO30KI2Zvb3RlciBoMiB7Zm9udC1zdHlsZTogaXRhbGljO30KCmRpdi5s
b25nIHtmb250LXNpemU6IDAuNzVlbTt9Ci5zbGlkZSBoMSB7cG9zaXRpb246IGFic29sdXRlOyB0
b3A6IDAuN2VtOyBsZWZ0OiA4N3B4OyB6LWluZGV4OiAxOwogIG1hcmdpbjogMDsgcGFkZGluZzog
MC4zZW0gMCAwIDUwcHg7IHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgZm9udDogYm9sZCAxNTAlLzFl
bSBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOwogIGNv
bG9yOiAjRERFOyBiYWNrZ3JvdW5kOiAjMDA1O30KLnNsaWRlIGgzIHtmb250LXNpemU6IDEzMCU7
fQpoMSBhYmJyIHtmb250LXZhcmlhbnQ6IHNtYWxsLWNhcHM7fQoKZGl2I2NvbnRyb2xzIHtwb3Np
dGlvbjogYWJzb2x1dGU7IGxlZnQ6IDUwJTsgYm90dG9tOiAwOwogIHdpZHRoOiA1MCU7CiAgdGV4
dC1hbGlnbjogcmlnaHQ7IGZvbnQ6IGJvbGQgMC45ZW0gVmVyZGFuYSwgSGVsdmV0aWNhLCBzYW5z
LXNlcmlmO30KaHRtbD5ib2R5IGRpdiNjb250cm9scyB7cG9zaXRpb246IGZpeGVkOyBwYWRkaW5n
OiAwIDAgMWVtIDA7CiAgdG9wOiBhdXRvO30KZGl2I2NvbnRyb2xzIGZvcm0ge3Bvc2l0aW9uOiBh
YnNvbHV0ZTsgYm90dG9tOiAwOyByaWdodDogMDsgd2lkdGg6IDEwMCU7CiAgbWFyZ2luOiAwOyBw
YWRkaW5nOiAwO30KI2NvbnRyb2xzICNuYXZMaW5rcyBhIHtwYWRkaW5nOiAwOyBtYXJnaW46IDAg
MC41ZW07IAogIGJhY2tncm91bmQ6ICMwMDU7IGJvcmRlcjogbm9uZTsgY29sb3I6ICM3Nzk7IAog
IGN1cnNvcjogcG9pbnRlcjt9CiNjb250cm9scyAjbmF2TGlzdCB7aGVpZ2h0OiAxZW07fQojY29u
dHJvbHMgI25hdkxpc3QgI2p1bXBsaXN0IHtwb3NpdGlvbjogYWJzb2x1dGU7IGJvdHRvbTogMDsg
cmlnaHQ6IDA7IGJhY2tncm91bmQ6ICNEREQ7IGNvbG9yOiAjMjI3O30KCiNjdXJyZW50U2xpZGUg
e3RleHQtYWxpZ246IGNlbnRlcjsgZm9udC1zaXplOiAwLjVlbTsgY29sb3I6ICM0NDk7fQoKI3Ns
aWRlMCB7cGFkZGluZy10b3A6IDMuNWVtOyBmb250LXNpemU6IDkwJTt9CiNzbGlkZTAgaDEge3Bv
c2l0aW9uOiBzdGF0aWM7IG1hcmdpbjogMWVtIDAgMDsgcGFkZGluZzogMDsKICAgZm9udDogYm9s
ZCAyZW0gSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyB3aGl0ZS1zcGFjZTogbm9ybWFsOwogICBjb2xv
cjogIzAwMDsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7fQojc2xpZGUwIGgyIHtmb250OiBib2xk
IGl0YWxpYyAxZW0gSGVsdmV0aWNhLCBzYW5zLXNlcmlmOyBtYXJnaW46IDAuMjVlbTt9CiNzbGlk
ZTAgaDMge21hcmdpbi10b3A6IDEuNWVtOyBmb250LXNpemU6IDEuNWVtO30KI3NsaWRlMCBoNCB7
bWFyZ2luLXRvcDogMDsgZm9udC1zaXplOiAxZW07fQoKdWwudXJscyB7bGlzdC1zdHlsZTogbm9u
ZTsgZGlzcGxheTogaW5saW5lOyBtYXJnaW46IDA7fQoudXJscyBsaSB7ZGlzcGxheTogaW5saW5l
OyBtYXJnaW46IDA7fQoubm90ZSB7ZGlzcGxheTogbm9uZTt9Ci5leHRlcm5hbCB7Ym9yZGVyLWJv
dHRvbTogMXB4IGRvdHRlZCBncmF5O30KaHRtbD5ib2R5IC5leHRlcm5hbCB7Ym9yZGVyLWJvdHRv
bTogbm9uZTt9Ci5leHRlcm5hbDphZnRlciB7Y29udGVudDogIiBcMjc0RiI7IGZvbnQtc2l6ZTog
c21hbGxlcjsgY29sb3I6ICM3N0I7fQoKLmluY3JlbWVudGFsLCAuaW5jcmVtZW50YWwgKiwgLmlu
Y3JlbWVudGFsICo6YWZ0ZXIge2NvbG9yOiAjRERFOyB2aXNpYmlsaXR5OiB2aXNpYmxlO30KaW1n
LmluY3JlbWVudGFsIHt2aXNpYmlsaXR5OiBoaWRkZW47fQouc2xpZGUgLmN1cnJlbnQge2NvbG9y
OiAjQjAyO30KCgovKiBkaWFnbm9zdGljcwoKbGk6YWZ0ZXIge2NvbnRlbnQ6ICIgWyIgYXR0cihj
bGFzcykgIl0iOyBjb2xvcjogI0Y4ODt9CiovCgo8L3N0eWxlPgo8c3R5bGUgdHlwZT0idGV4dC9j
c3MiIG1lZGlhPSJwcm9qZWN0aW9uIiBpZD0ib3BlcmFGaXgiPgovKiBETyBOT1QgQ0hBTkdFIFRI
RVNFIHVubGVzcyB5b3UgcmVhbGx5IHdhbnQgdG8gYnJlYWsgT3BlcmEgU2hvdyAqLwouc2xpZGUg
ewoJdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50OwoJcG9zaXRpb246IHN0YXRpYyAhaW1w
b3J0YW50OwoJcGFnZS1icmVhay1iZWZvcmU6IGFsd2F5czsKfQojc2xpZGUwIHtwYWdlLWJyZWFr
LWJlZm9yZTogYXZvaWQ7fQoKPC9zdHlsZT4KPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0i
c2NyZWVuIiBpZD0ib3V0bGluZVN0eWxlIj4KLyogZG9uJ3QgY2hhbmdlIHRoaXMgdW5sZXNzIHlv
dSB3YW50IHRoZSBsYXlvdXQgc3R1ZmYgdG8gc2hvdyB1cCBpbiB0aGUgb3V0bGluZSB2aWV3ISAq
LwoKLmxheW91dCBkaXYsICNmb290ZXIgKiwgI2NvbnRyb2xGb3JtICoge2Rpc3BsYXk6IG5vbmU7
fQojZm9vdGVyLCAjY29udHJvbHMsICNjb250cm9sRm9ybSwgI25hdkxpbmtzLCAjdG9nZ2xlIHsK
ICBkaXNwbGF5OiBibG9jazsgdmlzaWJpbGl0eTogdmlzaWJsZTsgbWFyZ2luOiAwOyBwYWRkaW5n
OiAwO30KI3RvZ2dsZSB7ZmxvYXQ6IHJpZ2h0OyBwYWRkaW5nOiAwLjVlbTt9Cmh0bWw+Ym9keSAj
dG9nZ2xlIHtwb3NpdGlvbjogZml4ZWQ7IHRvcDogMDsgcmlnaHQ6IDA7fQoKLyogbWFraW5nIHRo
ZSBvdXRsaW5lIGxvb2sgcHJldHR5LWlzaCAqLwoKI3NsaWRlMCBoMSwgI3NsaWRlMCBoMiwgI3Ns
aWRlMCBoMywgI3NsaWRlMCBoNCB7Ym9yZGVyOiBub25lOyBtYXJnaW46IDA7fQojc2xpZGUwIGgx
IHtwYWRkaW5nLXRvcDogMS41ZW07fQouc2xpZGUgaDEge21hcmdpbjogMS41ZW0gMCAwOyBwYWRk
aW5nLXRvcDogMC4yNWVtOwogIGJvcmRlci10b3A6IDFweCBzb2xpZCAjODg4OyBib3JkZXItYm90
dG9tOiAxcHggc29saWQgI0FBQTt9CiN0b2dnbGUge2JvcmRlcjogMXB4IHNvbGlkOyBib3JkZXIt
d2lkdGg6IDAgMCAxcHggMXB4OyBiYWNrZ3JvdW5kOiAjRkZGO30KCjwvc3R5bGU+CjxzdHlsZSB0
eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InByaW50IiBpZD0ic2xpZGVQcmludCI+Ci8qIFRoZSBmb2xs
b3dpbmcgcnVsZSBpcyBuZWNlc3NhcnkgdG8gaGF2ZSBhbGwgc2xpZGVzIGFwcGVhciBpbiBwcmlu
dCEgRE8gTk9UIFJFTU9WRSBJVCEgKi8KLnNsaWRlLCB1bCB7cGFnZS1icmVhay1pbnNpZGU6IGF2
b2lkOyB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7fQpoMSB7cGFnZS1icmVhay1hZnRl
cjogYXZvaWQ7fQoKYm9keSB7Zm9udC1zaXplOiAxMnB0OyBiYWNrZ3JvdW5kOiB3aGl0ZTt9Ciog
e2NvbG9yOiBibGFjazt9Cgojc2xpZGUwIGgxIHtmb250LXNpemU6IDIwMCU7IGJvcmRlcjogbm9u
ZTsgbWFyZ2luOiAwLjVlbSAwIDAuMjVlbTt9CiNzbGlkZTAgaDMge21hcmdpbjogMDsgcGFkZGlu
ZzogMDt9CiNzbGlkZTAgaDQge21hcmdpbjogMCAwIDAuNWVtOyBwYWRkaW5nOiAwO30KI3NsaWRl
MCB7bWFyZ2luLWJvdHRvbTogM2VtO30KCmgxIHtib3JkZXItdG9wOiAycHQgc29saWQgZ3JheTsg
Ym9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCBzaWx2ZXI7fQouZXh0cmEge2JhY2tncm91bmQ6IHRy
YW5zcGFyZW50ICFpbXBvcnRhbnQ7fQpkaXYuZXh0cmEsIHByZS5leHRyYSwgLmV4YW1wbGUge2Zv
bnQtc2l6ZTogMTBwdDsgY29sb3I6ICMzMzM7fQp1bC5leHRyYSBhIHtmb250LXdlaWdodDogYm9s
ZDt9CnAuZXhhbXBsZSB7ZGlzcGxheTogbm9uZTt9CgojaGVhZGVyIHtkaXNwbGF5OiBub25lO30K
I2Zvb3RlciBoMSB7bWFyZ2luOiAwOyBib3JkZXItYm90dG9tOiAxcHggc29saWQ7IGNvbG9yOiBn
cmF5OyBmb250LXN0eWxlOiBpdGFsaWM7fQojZm9vdGVyIGgyLCAjY29udHJvbHMge2Rpc3BsYXk6
IG5vbmU7fQoKLyogVGhlIGZvbGxvd2luZyBydWxlIGtlZXBzIHRoZSBsYXlvdXQgc3R1ZmYgb3V0
IG9mIHByaW50LiAgUmVtb3ZlIGF0IHlvdXIgb3duIHJpc2shICovCi5sYXlvdXQsIC5sYXlvdXQg
KiB7ZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O30KCjwvc3R5bGU+CjxzY3JpcHQgdHlwZT0idGV4
dC9qYXZhc2NyaXB0Ij4KLy8gUzUgdjEuMSBzbGlkZXMuanMgLS0gcmVsZWFzZWQgaW50byB0aGUg
UHVibGljIERvbWFpbgovLwovLyBQbGVhc2Ugc2VlIGh0dHA6Ly93d3cubWV5ZXJ3ZWIuY29tL2Vy
aWMvdG9vbHMvczUvY3JlZGl0cy5odG1sIGZvciBpbmZvcm1hdGlvbiAKLy8gYWJvdXQgYWxsIHRo
ZSB3b25kZXJmdWwgYW5kIHRhbGVudGVkIGNvbnRyaWJ1dG9ycyB0byB0aGlzIGNvZGUhCnZhciB1
bmRlZjt2YXIgc2xpZGVDU1M9Jyc7dmFyIHNudW09MDt2YXIgc21heD0xO3ZhciBpbmNwb3M9MDt2
YXIgbnVtYmVyPXVuZGVmO3ZhciBzNW1vZGU9dHJ1ZTt2YXIgZGVmYXVsdFZpZXc9J3NsaWRlc2hv
dyc7dmFyIGNvbnRyb2xWaXM9J3Zpc2libGUnO3ZhciBpc0lFPW5hdmlnYXRvci5hcHBOYW1lPT0n
TWljcm9zb2Z0IEludGVybmV0IEV4cGxvcmVyJyYmbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9m
KCdPcGVyYScpPDE/MTowO3ZhciBpc09wPW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignT3Bl
cmEnKT4tMT8xOjA7dmFyIGlzR2U9bmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCdHZWNrbycp
Pi0xJiZuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ1NhZmFyaScpPDE/MTowO2Z1bmN0aW9u
IGhhc0NsYXNzKG9iamVjdCxjbGFzc05hbWUpe2lmKCFvYmplY3QuY2xhc3NOYW1lKXJldHVybiBm
YWxzZTtyZXR1cm4ob2JqZWN0LmNsYXNzTmFtZS5zZWFyY2goJyhefFxccyknK2NsYXNzTmFtZSsn
KFxcc3wkKScpIT0tMSk7fQpmdW5jdGlvbiBoYXNWYWx1ZShvYmplY3QsdmFsdWUpe2lmKCFvYmpl
Y3QpcmV0dXJuIGZhbHNlO3JldHVybihvYmplY3Quc2VhcmNoKCcoXnxcXHMpJyt2YWx1ZSsnKFxc
c3wkKScpIT0tMSk7fQpmdW5jdGlvbiByZW1vdmVDbGFzcyhvYmplY3QsY2xhc3NOYW1lKXtpZigh
b2JqZWN0KXJldHVybjtvYmplY3QuY2xhc3NOYW1lPW9iamVjdC5jbGFzc05hbWUucmVwbGFjZShu
ZXcgUmVnRXhwKCcoXnxcXHMpJytjbGFzc05hbWUrJyhcXHN8JCknKSxSZWdFeHAuJDErUmVnRXhw
LiQyKTt9CmZ1bmN0aW9uIGFkZENsYXNzKG9iamVjdCxjbGFzc05hbWUpe2lmKCFvYmplY3R8fGhh
c0NsYXNzKG9iamVjdCxjbGFzc05hbWUpKXJldHVybjtpZihvYmplY3QuY2xhc3NOYW1lKXtvYmpl
Y3QuY2xhc3NOYW1lKz0nICcrY2xhc3NOYW1lO31lbHNle29iamVjdC5jbGFzc05hbWU9Y2xhc3NO
YW1lO319CmZ1bmN0aW9uIEdldEVsZW1lbnRzV2l0aENsYXNzTmFtZShlbGVtZW50TmFtZSxjbGFz
c05hbWUpe3ZhciBhbGxFbGVtZW50cz1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShlbGVt
ZW50TmFtZSk7dmFyIGVsZW1Db2xsPW5ldyBBcnJheSgpO2Zvcih2YXIgaT0wO2k8YWxsRWxlbWVu
dHMubGVuZ3RoO2krKyl7aWYoaGFzQ2xhc3MoYWxsRWxlbWVudHNbaV0sY2xhc3NOYW1lKSl7ZWxl
bUNvbGxbZWxlbUNvbGwubGVuZ3RoXT1hbGxFbGVtZW50c1tpXTt9fQpyZXR1cm4gZWxlbUNvbGw7
fQpmdW5jdGlvbiBpc1BhcmVudE9yU2VsZihlbGVtZW50LGlkKXtpZihlbGVtZW50PT1udWxsfHxl
bGVtZW50Lm5vZGVOYW1lPT0nQk9EWScpcmV0dXJuIGZhbHNlO2Vsc2UgaWYoZWxlbWVudC5pZD09
aWQpcmV0dXJuIHRydWU7ZWxzZSByZXR1cm4gaXNQYXJlbnRPclNlbGYoZWxlbWVudC5wYXJlbnRO
b2RlLGlkKTt9CmZ1bmN0aW9uIG5vZGVWYWx1ZShub2RlKXt2YXIgcmVzdWx0PSIiO2lmKG5vZGUu
bm9kZVR5cGU9PTEpe3ZhciBjaGlsZHJlbj1ub2RlLmNoaWxkTm9kZXM7Zm9yKHZhciBpPTA7aTxj
aGlsZHJlbi5sZW5ndGg7KytpKXtyZXN1bHQrPW5vZGVWYWx1ZShjaGlsZHJlbltpXSk7fX0KZWxz
ZSBpZihub2RlLm5vZGVUeXBlPT0zKXtyZXN1bHQ9bm9kZS5ub2RlVmFsdWU7fQpyZXR1cm4ocmVz
dWx0KTt9CmZ1bmN0aW9uIHNsaWRlTGFiZWwoKXt2YXIgc2xpZGVDb2xsPUdldEVsZW1lbnRzV2l0
aENsYXNzTmFtZSgnKicsJ3NsaWRlJyk7dmFyIGxpc3Q9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
J2p1bXBsaXN0Jyk7c21heD1zbGlkZUNvbGwubGVuZ3RoO2Zvcih2YXIgbj0wO248c21heDtuKysp
e3ZhciBvYmo9c2xpZGVDb2xsW25dO3ZhciBkaWQ9J3NsaWRlJytuLnRvU3RyaW5nKCk7b2JqLnNl
dEF0dHJpYnV0ZSgnaWQnLGRpZCk7aWYoaXNPcCljb250aW51ZTt2YXIgb3RleHQ9Jyc7dmFyIG1l
bnU9b2JqLmZpcnN0Q2hpbGQ7aWYoIW1lbnUpY29udGludWU7d2hpbGUobWVudSYmbWVudS5ub2Rl
VHlwZT09Myl7bWVudT1tZW51Lm5leHRTaWJsaW5nO30KaWYoIW1lbnUpY29udGludWU7dmFyIG1l
bnVub2Rlcz1tZW51LmNoaWxkTm9kZXM7Zm9yKHZhciBvPTA7bzxtZW51bm9kZXMubGVuZ3RoO28r
Kyl7b3RleHQrPW5vZGVWYWx1ZShtZW51bm9kZXNbb10pO30KbGlzdC5vcHRpb25zW2xpc3QubGVu
Z3RoXT1uZXcgT3B0aW9uKG4rJyA6ICcrb3RleHQsbik7fX0KZnVuY3Rpb24gY3VycmVudFNsaWRl
KCl7dmFyIGNzO2lmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKXtjcz1kb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnY3VycmVudFNsaWRlJyk7fWVsc2V7Y3M9ZG9jdW1lbnQuY3VycmVudFNsaWRlO30K
Y3MuaW5uZXJIVE1MPSc8c3BhbiBpZD0iY3NIZXJlIj4nK3NudW0rJzxcL3NwYW4+ICcrJzxzcGFu
IGlkPSJjc1NlcCI+XC88XC9zcGFuPiAnKyc8c3BhbiBpZD0iY3NUb3RhbCI+Jysoc21heC0xKSsn
PFwvc3Bhbj4nO2lmKHNudW09PTApe2NzLnN0eWxlLnZpc2liaWxpdHk9J2hpZGRlbic7fWVsc2V7
Y3Muc3R5bGUudmlzaWJpbGl0eT0ndmlzaWJsZSc7fX0KZnVuY3Rpb24gZ28oc3RlcCl7aWYoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NsaWRlUHJvaicpLmRpc2FibGVkfHxzdGVwPT0wKXJldHVy
bjt2YXIgamw9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2p1bXBsaXN0Jyk7dmFyIGNpZD0nc2xp
ZGUnK3NudW07dmFyIGNlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGNpZCk7aWYoaW5jcmVtZW50
YWxzW3NudW1dLmxlbmd0aD4wKXtmb3IodmFyIGk9MDtpPGluY3JlbWVudGFsc1tzbnVtXS5sZW5n
dGg7aSsrKXtyZW1vdmVDbGFzcyhpbmNyZW1lbnRhbHNbc251bV1baV0sJ2N1cnJlbnQnKTtyZW1v
dmVDbGFzcyhpbmNyZW1lbnRhbHNbc251bV1baV0sJ2luY3JlbWVudGFsJyk7fX0KaWYoc3RlcCE9
J2onKXtzbnVtKz1zdGVwO2xtYXg9c21heC0xO2lmKHNudW0+bG1heClzbnVtPWxtYXg7aWYoc251
bTwwKXNudW09MDt9ZWxzZQpzbnVtPXBhcnNlSW50KGpsLnZhbHVlKTt2YXIgbmlkPSdzbGlkZScr
c251bTt2YXIgbmU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQobmlkKTtpZighbmUpe25lPWRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCdzbGlkZTAnKTtzbnVtPTA7fQppZihzdGVwPDApe2luY3Bvcz1p
bmNyZW1lbnRhbHNbc251bV0ubGVuZ3RofWVsc2V7aW5jcG9zPTA7fQppZihpbmNyZW1lbnRhbHNb
c251bV0ubGVuZ3RoPjAmJmluY3Bvcz09MCl7Zm9yKHZhciBpPTA7aTxpbmNyZW1lbnRhbHNbc251
bV0ubGVuZ3RoO2krKyl7aWYoaGFzQ2xhc3MoaW5jcmVtZW50YWxzW3NudW1dW2ldLCdjdXJyZW50
JykpCmluY3Bvcz1pKzE7ZWxzZQphZGRDbGFzcyhpbmNyZW1lbnRhbHNbc251bV1baV0sJ2luY3Jl
bWVudGFsJyk7fX0KaWYoaW5jcmVtZW50YWxzW3NudW1dLmxlbmd0aD4wJiZpbmNwb3M+MCkKYWRk
Q2xhc3MoaW5jcmVtZW50YWxzW3NudW1dW2luY3Bvcy0xXSwnY3VycmVudCcpO2NlLnN0eWxlLnZp
c2liaWxpdHk9J2hpZGRlbic7bmUuc3R5bGUudmlzaWJpbGl0eT0ndmlzaWJsZSc7amwuc2VsZWN0
ZWRJbmRleD1zbnVtO2N1cnJlbnRTbGlkZSgpO251bWJlcj0wO30KZnVuY3Rpb24gZ29Ubyh0YXJn
ZXQpe2lmKHRhcmdldD49c21heHx8dGFyZ2V0PT1zbnVtKXJldHVybjtnbyh0YXJnZXQtc251bSk7
fQpmdW5jdGlvbiBzdWJnbyhzdGVwKXtpZihzdGVwPjApe3JlbW92ZUNsYXNzKGluY3JlbWVudGFs
c1tzbnVtXVtpbmNwb3MtMV0sJ2N1cnJlbnQnKTtyZW1vdmVDbGFzcyhpbmNyZW1lbnRhbHNbc251
bV1baW5jcG9zXSwnaW5jcmVtZW50YWwnKTthZGRDbGFzcyhpbmNyZW1lbnRhbHNbc251bV1baW5j
cG9zXSwnY3VycmVudCcpO2luY3BvcysrO31lbHNle2luY3Bvcy0tO3JlbW92ZUNsYXNzKGluY3Jl
bWVudGFsc1tzbnVtXVtpbmNwb3NdLCdjdXJyZW50Jyk7YWRkQ2xhc3MoaW5jcmVtZW50YWxzW3Nu
dW1dW2luY3Bvc10sJ2luY3JlbWVudGFsJyk7YWRkQ2xhc3MoaW5jcmVtZW50YWxzW3NudW1dW2lu
Y3Bvcy0xXSwnY3VycmVudCcpO319CmZ1bmN0aW9uIHRvZ2dsZSgpe3ZhciBzbGlkZUNvbGw9R2V0
RWxlbWVudHNXaXRoQ2xhc3NOYW1lKCcqJywnc2xpZGUnKTt2YXIgc2xpZGVzPWRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdzbGlkZVByb2onKTt2YXIgb3V0bGluZT1kb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnb3V0bGluZVN0eWxlJyk7aWYoIXNsaWRlcy5kaXNhYmxlZCl7c2xpZGVzLmRpc2FibGVk
PXRydWU7b3V0bGluZS5kaXNhYmxlZD1mYWxzZTtzNW1vZGU9ZmFsc2U7Zm9udFNpemUoJzFlbScp
O2Zvcih2YXIgbj0wO248c21heDtuKyspe3ZhciBzbGlkZT1zbGlkZUNvbGxbbl07c2xpZGUuc3R5
bGUudmlzaWJpbGl0eT0ndmlzaWJsZSc7fX1lbHNle3NsaWRlcy5kaXNhYmxlZD1mYWxzZTtvdXRs
aW5lLmRpc2FibGVkPXRydWU7czVtb2RlPXRydWU7Zm9udFNjYWxlKCk7Zm9yKHZhciBuPTA7bjxz
bWF4O24rKyl7dmFyIHNsaWRlPXNsaWRlQ29sbFtuXTtzbGlkZS5zdHlsZS52aXNpYmlsaXR5PSdo
aWRkZW4nO30Kc2xpZGVDb2xsW3NudW1dLnN0eWxlLnZpc2liaWxpdHk9J3Zpc2libGUnO319CmZ1
bmN0aW9uIHNob3dIaWRlKGFjdGlvbil7dmFyIG9iaj1HZXRFbGVtZW50c1dpdGhDbGFzc05hbWUo
JyonLCdoaWRlbWUnKVswXTtzd2l0Y2goYWN0aW9uKXtjYXNlJ3MnOm9iai5zdHlsZS52aXNpYmls
aXR5PSd2aXNpYmxlJzticmVhaztjYXNlJ2gnOm9iai5zdHlsZS52aXNpYmlsaXR5PSdoaWRkZW4n
O2JyZWFrO2Nhc2Unayc6aWYob2JqLnN0eWxlLnZpc2liaWxpdHkhPSd2aXNpYmxlJyl7b2JqLnN0
eWxlLnZpc2liaWxpdHk9J3Zpc2libGUnO31lbHNle29iai5zdHlsZS52aXNpYmlsaXR5PSdoaWRk
ZW4nO30KYnJlYWs7fX0KZnVuY3Rpb24ga2V5cyhrZXkpe2lmKCFrZXkpe2tleT1ldmVudDtrZXku
d2hpY2g9a2V5LmtleUNvZGU7fQppZihrZXkud2hpY2g9PTg0KXt0b2dnbGUoKTtyZXR1cm47fQpp
ZihzNW1vZGUpe3N3aXRjaChrZXkud2hpY2gpe2Nhc2UgMTA6Y2FzZSAxMzppZih3aW5kb3cuZXZl
bnQmJmlzUGFyZW50T3JTZWxmKHdpbmRvdy5ldmVudC5zcmNFbGVtZW50LCdjb250cm9scycpKXJl
dHVybjtpZihrZXkudGFyZ2V0JiZpc1BhcmVudE9yU2VsZihrZXkudGFyZ2V0LCdjb250cm9scycp
KXJldHVybjtpZihudW1iZXIhPXVuZGVmKXtnb1RvKG51bWJlcik7YnJlYWs7fQpjYXNlIDMyOmNh
c2UgMzQ6Y2FzZSAzOTpjYXNlIDQwOmlmKG51bWJlciE9dW5kZWYpe2dvKG51bWJlcik7fWVsc2Ug
aWYoIWluY3JlbWVudGFsc1tzbnVtXXx8aW5jcG9zPj1pbmNyZW1lbnRhbHNbc251bV0ubGVuZ3Ro
KXtnbygxKTt9ZWxzZXtzdWJnbygxKTt9CmJyZWFrO2Nhc2UgMzM6Y2FzZSAzNzpjYXNlIDM4Omlm
KG51bWJlciE9dW5kZWYpe2dvKC0xKm51bWJlcik7fWVsc2UgaWYoIWluY3JlbWVudGFsc1tzbnVt
XXx8aW5jcG9zPD0wKXtnbygtMSk7fWVsc2V7c3ViZ28oLTEpO30KYnJlYWs7Y2FzZSAzNjpnb1Rv
KDApO2JyZWFrO2Nhc2UgMzU6Z29UbyhzbWF4LTEpO2JyZWFrO2Nhc2UgNjc6c2hvd0hpZGUoJ2sn
KTticmVhazt9CmlmKGtleS53aGljaDw0OHx8a2V5LndoaWNoPjU3KXtudW1iZXI9dW5kZWY7fWVs
c2V7aWYod2luZG93LmV2ZW50JiZpc1BhcmVudE9yU2VsZih3aW5kb3cuZXZlbnQuc3JjRWxlbWVu
dCwnY29udHJvbHMnKSlyZXR1cm47aWYoa2V5LnRhcmdldCYmaXNQYXJlbnRPclNlbGYoa2V5LnRh
cmdldCwnY29udHJvbHMnKSlyZXR1cm47bnVtYmVyPSgoKG51bWJlciE9dW5kZWYpP251bWJlcjow
KSoxMCkrKGtleS53aGljaC00OCk7fX0KcmV0dXJuIGZhbHNlO30KZnVuY3Rpb24gY2xpY2tlcihl
KXtudW1iZXI9dW5kZWY7dmFyIHRhcmdldDtpZih3aW5kb3cuZXZlbnQpe3RhcmdldD13aW5kb3cu
ZXZlbnQuc3JjRWxlbWVudDtlPXdpbmRvdy5ldmVudDt9ZWxzZSB0YXJnZXQ9ZS50YXJnZXQ7aWYo
dGFyZ2V0LmdldEF0dHJpYnV0ZSgnaHJlZicpIT1udWxsfHxoYXNWYWx1ZSh0YXJnZXQucmVsLCdl
eHRlcm5hbCcpfHxpc1BhcmVudE9yU2VsZih0YXJnZXQsJ2NvbnRyb2xzJyl8fGlzUGFyZW50T3JT
ZWxmKHRhcmdldCwnZW1iZWQnKXx8aXNQYXJlbnRPclNlbGYodGFyZ2V0LCdvYmplY3QnKSlyZXR1
cm4gdHJ1ZTtpZighZS53aGljaHx8ZS53aGljaD09MSl7aWYoIWluY3JlbWVudGFsc1tzbnVtXXx8
aW5jcG9zPj1pbmNyZW1lbnRhbHNbc251bV0ubGVuZ3RoKXtnbygxKTt9ZWxzZXtzdWJnbygxKTt9
fX0KZnVuY3Rpb24gZmluZFNsaWRlKGhhc2gpe3ZhciB0YXJnZXQ9bnVsbDt2YXIgc2xpZGVzPUdl
dEVsZW1lbnRzV2l0aENsYXNzTmFtZSgnKicsJ3NsaWRlJyk7Zm9yKHZhciBpPTA7aTxzbGlkZXMu
bGVuZ3RoO2krKyl7dmFyIHRhcmdldFNsaWRlPXNsaWRlc1tpXTtpZigodGFyZ2V0U2xpZGUubmFt
ZSYmdGFyZ2V0U2xpZGUubmFtZT09aGFzaCl8fCh0YXJnZXRTbGlkZS5pZCYmdGFyZ2V0U2xpZGUu
aWQ9PWhhc2gpKXt0YXJnZXQ9dGFyZ2V0U2xpZGU7YnJlYWs7fX0Kd2hpbGUodGFyZ2V0IT1udWxs
JiZ0YXJnZXQubm9kZU5hbWUhPSdCT0RZJyl7aWYoaGFzQ2xhc3ModGFyZ2V0LCdzbGlkZScpKXty
ZXR1cm4gcGFyc2VJbnQodGFyZ2V0LmlkLnNsaWNlKDUpKTt9CnRhcmdldD10YXJnZXQucGFyZW50
Tm9kZTt9CnJldHVybiBudWxsO30KZnVuY3Rpb24gc2xpZGVKdW1wKCl7aWYod2luZG93LmxvY2F0
aW9uLmhhc2g9PW51bGwpcmV0dXJuO3ZhciBzcmVnZXg9L14jc2xpZGUoXGQrKSQvO3ZhciBtYXRj
aGVzPXNyZWdleC5leGVjKHdpbmRvdy5sb2NhdGlvbi5oYXNoKTt2YXIgZGVzdD1udWxsO2lmKG1h
dGNoZXMhPW51bGwpe2Rlc3Q9cGFyc2VJbnQobWF0Y2hlc1sxXSk7fWVsc2V7ZGVzdD1maW5kU2xp
ZGUod2luZG93LmxvY2F0aW9uLmhhc2guc2xpY2UoMSkpO30KaWYoZGVzdCE9bnVsbCkKZ28oZGVz
dC1zbnVtKTt9CmZ1bmN0aW9uIGZpeExpbmtzKCl7dmFyIHRoaXNVcmk9d2luZG93LmxvY2F0aW9u
LmhyZWY7dGhpc1VyaT10aGlzVXJpLnNsaWNlKDAsdGhpc1VyaS5sZW5ndGgtd2luZG93LmxvY2F0
aW9uLmhhc2gubGVuZ3RoKTt2YXIgYWVsZW1lbnRzPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdO
YW1lKCdBJyk7Zm9yKHZhciBpPTA7aTxhZWxlbWVudHMubGVuZ3RoO2krKyl7dmFyIGE9YWVsZW1l
bnRzW2ldLmhyZWY7dmFyIHNsaWRlSUQ9YS5tYXRjaCgnXCNzbGlkZVswLTldezEsMn0nKTtpZigo
c2xpZGVJRCkmJihzbGlkZUlEWzBdLnNsaWNlKDAsMSk9PScjJykpe3ZhciBkZXN0PWZpbmRTbGlk
ZShzbGlkZUlEWzBdLnNsaWNlKDEpKTtpZihkZXN0IT1udWxsKXtpZihhZWxlbWVudHNbaV0uYWRk
RXZlbnRMaXN0ZW5lcil7YWVsZW1lbnRzW2ldLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixuZXcg
RnVuY3Rpb24oImUiLCJpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NsaWRlUHJvaicpLmRp
c2FibGVkKSByZXR1cm47IisiZ28oIitkZXN0KyIgLSBzbnVtKTsgIisiaWYgKGUucHJldmVudERl
ZmF1bHQpIGUucHJldmVudERlZmF1bHQoKTsiKSx0cnVlKTt9ZWxzZSBpZihhZWxlbWVudHNbaV0u
YXR0YWNoRXZlbnQpe2FlbGVtZW50c1tpXS5hdHRhY2hFdmVudCgib25jbGljayIsbmV3IEZ1bmN0
aW9uKCIiLCJpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NsaWRlUHJvaicpLmRpc2FibGVk
KSByZXR1cm47IisiZ28oIitkZXN0KyIgLSBzbnVtKTsgIisiZXZlbnQucmV0dXJuVmFsdWUgPSBm
YWxzZTsiKSk7fX19fX0KZnVuY3Rpb24gZXh0ZXJuYWxMaW5rcygpe2lmKCFkb2N1bWVudC5nZXRF
bGVtZW50c0J5VGFnTmFtZSlyZXR1cm47dmFyIGFuY2hvcnM9ZG9jdW1lbnQuZ2V0RWxlbWVudHNC
eVRhZ05hbWUoJ2EnKTtmb3IodmFyIGk9MDtpPGFuY2hvcnMubGVuZ3RoO2krKyl7dmFyIGFuY2hv
cj1hbmNob3JzW2ldO2lmKGFuY2hvci5nZXRBdHRyaWJ1dGUoJ2hyZWYnKSYmaGFzVmFsdWUoYW5j
aG9yLnJlbCwnZXh0ZXJuYWwnKSl7YW5jaG9yLnRhcmdldD0nX2JsYW5rJzthZGRDbGFzcyhhbmNo
b3IsJ2V4dGVybmFsJyk7fX19CmZ1bmN0aW9uIGNyZWF0ZUNvbnRyb2xzKCl7dmFyIGNvbnRyb2xz
RGl2PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250cm9scyIpO2lmKCFjb250cm9sc0Rpdily
ZXR1cm47dmFyIGhpZGVyPScgb25tb3VzZW92ZXI9InNob3dIaWRlKFwnc1wnKTsiIG9ubW91c2Vv
dXQ9InNob3dIaWRlKFwnaFwnKTsiJzt2YXIgaGlkZURpdixoaWRlTGlzdD0nJztpZihjb250cm9s
VmlzPT0naGlkZGVuJyl7aGlkZURpdj1oaWRlcjt9ZWxzZXtoaWRlTGlzdD1oaWRlcjt9CmNvbnRy
b2xzRGl2LmlubmVySFRNTD0nPGZvcm0gYWN0aW9uPSIjIiBpZD0iY29udHJvbEZvcm0iJytoaWRl
RGl2Kyc+JysnPGRpdiBpZD0ibmF2TGlua3MiPicrJzxhIGFjY2Vzc2tleT0idCIgaWQ9InRvZ2ds
ZSIgaHJlZj0iamF2YXNjcmlwdDp0b2dnbGUoKTsiPiYjMjE2OzxcL2E+JysnPGEgYWNjZXNza2V5
PSJ6IiBpZD0icHJldiIgaHJlZj0iamF2YXNjcmlwdDpnbygtMSk7Ij4mbGFxdW87PFwvYT4nKyc8
YSBhY2Nlc3NrZXk9IngiIGlkPSJuZXh0IiBocmVmPSJqYXZhc2NyaXB0OmdvKDEpOyI+JnJhcXVv
OzxcL2E+JysnPGRpdiBpZD0ibmF2TGlzdCInK2hpZGVMaXN0Kyc+PHNlbGVjdCBpZD0ianVtcGxp
c3QiIG9uY2hhbmdlPSJnbyhcJ2pcJyk7Ij48XC9zZWxlY3Q+PFwvZGl2PicrJzxcL2Rpdj48XC9m
b3JtPic7aWYoY29udHJvbFZpcz09J2hpZGRlbicpe3ZhciBoaWRkZW49ZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ25hdkxpbmtzJyk7fWVsc2V7dmFyIGhpZGRlbj1kb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnanVtcGxpc3QnKTt9CmFkZENsYXNzKGhpZGRlbiwnaGlkZW1lJyk7fQpmdW5jdGlvbiBm
b250U2NhbGUoKXtpZighczVtb2RlKXJldHVybiBmYWxzZTt2YXIgdlNjYWxlPTIyO3ZhciBoU2Nh
bGU9MzI7aWYod2luZG93LmlubmVySGVpZ2h0KXt2YXIgdlNpemU9d2luZG93LmlubmVySGVpZ2h0
O3ZhciBoU2l6ZT13aW5kb3cuaW5uZXJXaWR0aDt9ZWxzZSBpZihkb2N1bWVudC5kb2N1bWVudEVs
ZW1lbnQuY2xpZW50SGVpZ2h0KXt2YXIgdlNpemU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNs
aWVudEhlaWdodDt2YXIgaFNpemU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRo
O31lbHNlIGlmKGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0KXt2YXIgdlNpemU9ZG9jdW1lbnQu
Ym9keS5jbGllbnRIZWlnaHQ7dmFyIGhTaXplPWRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGg7fWVs
c2V7dmFyIHZTaXplPTcwMDt2YXIgaFNpemU9MTAyNDt9CnZhciBuZXdTaXplPU1hdGgubWluKE1h
dGgucm91bmQodlNpemUvdlNjYWxlKSxNYXRoLnJvdW5kKGhTaXplL2hTY2FsZSkpO2ZvbnRTaXpl
KG5ld1NpemUrJ3B4Jyk7aWYoaXNHZSl7dmFyIG9iaj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFn
TmFtZSgnYm9keScpWzBdO29iai5zdHlsZS5kaXNwbGF5PSdub25lJztvYmouc3R5bGUuZGlzcGxh
eT0nYmxvY2snO319CmZ1bmN0aW9uIGZvbnRTaXplKHZhbHVlKXtpZighKHM1c3M9ZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3M1c3MnKSkpe2lmKCFpc0lFKXtkb2N1bWVudC5nZXRFbGVtZW50c0J5
VGFnTmFtZSgnaGVhZCcpWzBdLmFwcGVuZENoaWxkKHM1c3M9ZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnc3R5bGUnKSk7czVzcy5zZXRBdHRyaWJ1dGUoJ21lZGlhJywnc2NyZWVuLCBwcm9qZWN0aW9u
Jyk7czVzcy5zZXRBdHRyaWJ1dGUoJ2lkJywnczVzcycpO31lbHNle2RvY3VtZW50LmNyZWF0ZVN0
eWxlU2hlZXQoKTtkb2N1bWVudC5zNXNzPWRvY3VtZW50LnN0eWxlU2hlZXRzW2RvY3VtZW50LnN0
eWxlU2hlZXRzLmxlbmd0aC0xXTt9fQppZighaXNJRSl7d2hpbGUoczVzcy5sYXN0Q2hpbGQpczVz
cy5yZW1vdmVDaGlsZChzNXNzLmxhc3RDaGlsZCk7czVzcy5hcHBlbmRDaGlsZChkb2N1bWVudC5j
cmVhdGVUZXh0Tm9kZSgnYm9keSB7Zm9udC1zaXplOiAnK3ZhbHVlKycgIWltcG9ydGFudDt9Jykp
O31lbHNle2RvY3VtZW50LnM1c3MuYWRkUnVsZSgnYm9keScsJ2ZvbnQtc2l6ZTogJyt2YWx1ZSsn
ICFpbXBvcnRhbnQ7Jyk7fX0KZnVuY3Rpb24gbm90T3BlcmFGaXgoKXtzbGlkZUNTUz1kb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnc2xpZGVQcm9qJykuaHJlZjt2YXIgc2xpZGVzPWRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdzbGlkZVByb2onKTt2YXIgb3V0bGluZT1kb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnb3V0bGluZVN0eWxlJyk7c2xpZGVzLnNldEF0dHJpYnV0ZSgnbWVkaWEnLCdzY3JlZW4n
KTtvdXRsaW5lLmRpc2FibGVkPXRydWU7aWYoaXNHZSl7c2xpZGVzLnNldEF0dHJpYnV0ZSgnaHJl
ZicsJ251bGwnKTtzbGlkZXMuc2V0QXR0cmlidXRlKCdocmVmJyxzbGlkZUNTUyk7fQppZihpc0lF
JiZkb2N1bWVudC5zdHlsZVNoZWV0cyYmZG9jdW1lbnQuc3R5bGVTaGVldHNbMF0pe2RvY3VtZW50
LnN0eWxlU2hlZXRzWzBdLmFkZFJ1bGUoJ2ltZycsJ2JlaGF2aW9yOiB1cmwodWkvZGVmYXVsdC9p
ZXBuZ2ZpeC5odGMpJyk7ZG9jdW1lbnQuc3R5bGVTaGVldHNbMF0uYWRkUnVsZSgnZGl2JywnYmVo
YXZpb3I6IHVybCh1aS9kZWZhdWx0L2llcG5nZml4Lmh0YyknKTtkb2N1bWVudC5zdHlsZVNoZWV0
c1swXS5hZGRSdWxlKCcuc2xpZGUnLCdiZWhhdmlvcjogdXJsKHVpL2RlZmF1bHQvaWVwbmdmaXgu
aHRjKScpO319CmZ1bmN0aW9uIGdldEluY3JlbWVudGFscyhvYmope3ZhciBpbmNyZW1lbnRhbHM9
bmV3IEFycmF5KCk7aWYoIW9iaikKcmV0dXJuIGluY3JlbWVudGFsczt2YXIgY2hpbGRyZW49b2Jq
LmNoaWxkTm9kZXM7Zm9yKHZhciBpPTA7aTxjaGlsZHJlbi5sZW5ndGg7aSsrKXt2YXIgY2hpbGQ9
Y2hpbGRyZW5baV07aWYoaGFzQ2xhc3MoY2hpbGQsJ2luY3JlbWVudGFsJykpe2lmKGNoaWxkLm5v
ZGVOYW1lPT0nT0wnfHxjaGlsZC5ub2RlTmFtZT09J1VMJyl7cmVtb3ZlQ2xhc3MoY2hpbGQsJ2lu
Y3JlbWVudGFsJyk7Zm9yKHZhciBqPTA7ajxjaGlsZC5jaGlsZE5vZGVzLmxlbmd0aDtqKyspe2lm
KGNoaWxkLmNoaWxkTm9kZXNbal0ubm9kZVR5cGU9PTEpe2FkZENsYXNzKGNoaWxkLmNoaWxkTm9k
ZXNbal0sJ2luY3JlbWVudGFsJyk7fX19ZWxzZXtpbmNyZW1lbnRhbHNbaW5jcmVtZW50YWxzLmxl
bmd0aF09Y2hpbGQ7cmVtb3ZlQ2xhc3MoY2hpbGQsJ2luY3JlbWVudGFsJyk7fX0KaWYoaGFzQ2xh
c3MoY2hpbGQsJ3Nob3ctZmlyc3QnKSl7aWYoY2hpbGQubm9kZU5hbWU9PSdPTCd8fGNoaWxkLm5v
ZGVOYW1lPT0nVUwnKXtyZW1vdmVDbGFzcyhjaGlsZCwnc2hvdy1maXJzdCcpO2lmKGNoaWxkLmNo
aWxkTm9kZXNbaXNHZV0ubm9kZVR5cGU9PTEpe3JlbW92ZUNsYXNzKGNoaWxkLmNoaWxkTm9kZXNb
aXNHZV0sJ2luY3JlbWVudGFsJyk7fX1lbHNle2luY3JlbWVudGFsc1tpbmNyZW1lbnRhbHMubGVu
Z3RoXT1jaGlsZDt9fQppbmNyZW1lbnRhbHM9aW5jcmVtZW50YWxzLmNvbmNhdChnZXRJbmNyZW1l
bnRhbHMoY2hpbGQpKTt9CnJldHVybiBpbmNyZW1lbnRhbHM7fQpmdW5jdGlvbiBjcmVhdGVJbmNy
ZW1lbnRhbHMoKXt2YXIgaW5jcmVtZW50YWxzPW5ldyBBcnJheSgpO2Zvcih2YXIgaT0wO2k8c21h
eDtpKyspe2luY3JlbWVudGFsc1tpXT1nZXRJbmNyZW1lbnRhbHMoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3NsaWRlJytpKSk7fQpyZXR1cm4gaW5jcmVtZW50YWxzO30KZnVuY3Rpb24gZGVmYXVs
dENoZWNrKCl7dmFyIGFsbE1ldGFzPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdtZXRh
Jyk7Zm9yKHZhciBpPTA7aTxhbGxNZXRhcy5sZW5ndGg7aSsrKXtpZihhbGxNZXRhc1tpXS5uYW1l
PT0nZGVmYXVsdFZpZXcnKXtkZWZhdWx0Vmlldz1hbGxNZXRhc1tpXS5jb250ZW50O30KaWYoYWxs
TWV0YXNbaV0ubmFtZT09J2NvbnRyb2xWaXMnKXtjb250cm9sVmlzPWFsbE1ldGFzW2ldLmNvbnRl
bnQ7fX19CmZ1bmN0aW9uIHRyYXAoZSl7aWYoIWUpe2U9ZXZlbnQ7ZS53aGljaD1lLmtleUNvZGU7
fQp0cnl7bW9kaWZpZXJLZXk9ZS5jdHJsS2V5fHxlLmFsdEtleXx8ZS5tZXRhS2V5O30KY2F0Y2go
ZSl7bW9kaWZpZXJLZXk9ZmFsc2U7fQpyZXR1cm4gbW9kaWZpZXJLZXl8fGUud2hpY2g9PTA7fQpm
dW5jdGlvbiBzdGFydHVwKCl7ZGVmYXVsdENoZWNrKCk7aWYoIWlzT3ApCmNyZWF0ZUNvbnRyb2xz
KCk7c2xpZGVMYWJlbCgpO2ZpeExpbmtzKCk7ZXh0ZXJuYWxMaW5rcygpO2ZvbnRTY2FsZSgpO2lm
KCFpc09wKXtub3RPcGVyYUZpeCgpO2luY3JlbWVudGFscz1jcmVhdGVJbmNyZW1lbnRhbHMoKTtz
bGlkZUp1bXAoKTtpZihkZWZhdWx0Vmlldz09J291dGxpbmUnKXt0b2dnbGUoKTt9CmRvY3VtZW50
Lm9ua2V5dXA9a2V5cztkb2N1bWVudC5vbmtleXByZXNzPXRyYXA7ZG9jdW1lbnQub25jbGljaz1j
bGlja2VyO319CndpbmRvdy5vbmxvYWQ9c3RhcnR1cDt3aW5kb3cub25yZXNpemU9ZnVuY3Rpb24o
KXtzZXRUaW1lb3V0KCdmb250U2NhbGUoKScsNTApO30KPC9zY3JpcHQ+CjwvaGVhZAogID48Ym9k
eQogID48ZGl2IGNsYXNzPSJsYXlvdXQiPgo8ZGl2IGlkPSJjb250cm9scyI+PC9kaXY+CjxkaXYg
aWQ9ImN1cnJlbnRTbGlkZSI+PC9kaXY+CjxkaXYgaWQ9ImhlYWRlciI+PC9kaXY+CjxkaXYgaWQ9
ImZvb3RlciI+CjxoMSBpZD0ibWFyY2gtMjItMjAwNSIKICAgID5NYXJjaCAyMiwgMjAwNTwvaDEK
ICAgID48aDIgaWQ9ImVhdGluZy1oYWJpdHMiCiAgICA+RWF0aW5nIEhhYml0czwvaDIKICAgID48
L2Rpdj4KPC9kaXY+CjxkaXYgY2xhc3M9InByZXNlbnRhdGlvbiI+Cgo8ZGl2IGNsYXNzPSJzbGlk
ZSI+CjxoMSBpZD0iZWF0aW5nLWhhYml0cy0xIgogICAgPkVhdGluZyBIYWJpdHM8L2gxCiAgICA+
PGgzIGlkPSJqb2huLWRvZSIKICAgID5Kb2huIERvZTwvaDMKICAgID48aDQgaWQ9Im1hcmNoLTIy
LTIwMDUtMSIKICAgID5NYXJjaCAyMiwgMjAwNTwvaDQKICAgID48L2Rpdj4KPGRpdiBjbGFzcz0i
c2xpZGUiPgo8aDEgaWQ9ImluLXRoZS1tb3JuaW5nIgogICAgPkluIHRoZSBtb3JuaW5nPC9oMQog
ICAgPjx1bAogICAgPjxsaQogICAgICA+RWF0IGVnZ3M8L2xpCiAgICAgID48bGkKICAgICAgPkRy
aW5rIGNvZmZlZTwvbGkKICAgICAgPjwvdWwKICAgID48L2Rpdj4KPGRpdiBjbGFzcz0ic2xpZGUi
Pgo8aDEgaWQ9ImluLXRoZS1ldmVuaW5nIgogICAgPkluIHRoZSBldmVuaW5nPC9oMQogICAgPjx1
bAogICAgPjxsaQogICAgICA+RWF0IHNwYWdoZXR0aTwvbGkKICAgICAgPjxsaQogICAgICA+RHJp
bmsgd2luZTwvbGkKICAgICAgPjwvdWwKICAgID48L2Rpdj4KPC9kaXY+CjwvYm9keQogID48L2h0
bWwKPgoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>52878</attachid>
            <date>2010-04-08 10:54:45 -0700</date>
            <delta_ts>2010-04-08 10:54:45 -0700</delta_ts>
            <desc>reduced test case</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>202</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">PHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0icHJvamVjdGlvbiIgaWQ9InNsaWRlUHJvaiI+
CmRpdiB7IGNvbG9yOmdyZWVuIH0KPC9zdHlsZT4KPGRpdj5TaG91bGQgYmUgZ3JlZW48L2Rpdj4K
PHNjcmlwdD4KZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNsaWRlUHJvaiIpLnNldEF0dHJpYnV0
ZSgnbWVkaWEnLCdzY3JlZW4nKTsKPC9zY3JpcHQ+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>