<?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>226721</bug_id>
          
          <creation_ts>2021-06-07 03:40:02 -0700</creation_ts>
          <short_desc>SVGSVGElement&apos;s currentView + useCurrentView are non-standard</short_desc>
          <delta_ts>2026-08-16 18:57:48 -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>SVG</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=260677</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>GoodFirstBug, InRadar, WPTImpact</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>191292</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Philip Jägenstedt">philip</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>cdumez</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>heycam</cc>
    
    <cc>karlcow</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>rbuis</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1767388</commentid>
    <comment_count>0</comment_count>
    <who name="Philip Jägenstedt">philip</who>
    <bug_when>2021-06-07 03:40:02 -0700</bug_when>
    <thetext>These two attributes on SVGSVGElement are gone from the spec:
https://github.com/w3c/svgwg/commit/4c26fd36937a65192024208d85c144a21071b057
https://www.w3.org/Graphics/SVG/WG/track/actions/3800?changelog

They were removed from Chromium here:
https://bugs.chromium.org/p/chromium/issues/detail?id=629445

Gecko doesn&apos;t have currentView, but the bug for removing useCurrentView is here:
https://bugzilla.mozilla.org/show_bug.cgi?id=1174097</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1767596</commentid>
    <comment_count>1</comment_count>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2021-06-07 16:22:27 -0700</bug_when>
    <thetext>(In reply to Philip Jägenstedt from comment #0)
&gt; Gecko doesn&apos;t have currentView, but the bug for removing useCurrentView is
&gt; here:
&gt; https://bugzilla.mozilla.org/show_bug.cgi?id=1174097

That has a patch I wrote 6 years ago and didn&apos;t land. :-)

Anyway, yes these are a straightforward removal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769346</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-14 03:40:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/79281167&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1900907</commentid>
    <comment_count>3</comment_count>
      <attachid>462585</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2022-09-24 10:04:14 -0700</bug_when>
    <thetext>Created attachment 462585
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1937369</commentid>
    <comment_count>4</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2023-02-28 05:20:59 -0800</bug_when>
    <thetext>https://wpt.fyi/results/svg/historical.html?label=experimental&amp;label=master&amp;aligned</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1973358</commentid>
    <comment_count>5</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2023-08-24 14:56:31 -0700</bug_when>
    <thetext>We have following as well: https://github.com/w3c/svgwg/issues/747

To revert these changes, I tried to do this PR: https://github.com/WebKit/WebKit/pull/13851

but now will look for input before proceeding.

@Said - any input on above GitHub issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2240786</commentid>
    <comment_count>6</comment_count>
      <attachid>481069</attachid>
    <who name="Karl Dubost">karlcow</who>
    <bug_when>2026-08-16 18:50:47 -0700</bug_when>
    <thetext>Created attachment 481069
testcase-probe.html

1. SVG 2 removed the SVGViewSpec interface and the currentView / useCurrentView properties in 2015. 
2. Blink and Gecko removed them. 
3. WebKit is the only engine that still exposes all three, and it fails the three WPT subtests that check for their absence.
    https://wpt.fyi/results/svg/historical.html?label=master&amp;label=experimental&amp;aligned&amp;q=svgviewSpec%20


Nobody is implementing the revert that svgwg#747 asks for. 
https://github.com/w3c/svgwg/issues/747
The issue has been dormant since October 2019. 
The working group asked, aka &quot;what real use case breaks?&quot; and there was never an answer.

* Deleting the two IDL lines (bug 226721) is genuinely two lines. 
* Deleting the SVGViewSpec class (bug 260677) is not, because WebKit uses that class as the live storage for the view-override state that the renderer reads.


There is no useCounter because Chrome cannot count what it is not implementing.


SVG 2 Removed:
* The SVGViewSpec interface (the JavaScript object).
* SVGSVGElement.currentView and SVGSVGElement.useCurrentView.
* viewTarget on SVGViewElement, and zoomAndPan(...) from the fragment grammar.


SVG 2 Kept (for now):
* The SVGViewSpec grammar rule (a name in the fragment syntax description, not an object.)
* The whole #svgView(...) feature, fully specified in §16.3.2.
   https://w3c.github.io/svgwg/svg2-draft/linking.html#SVGFragmentIdentifiersDefinitions
* The &lt;view&gt; element, in §16.3.3.
   https://w3c.github.io/svgwg/svg2-draft/linking.html#ViewElement


So MyDrawing.svg#svgView(viewBox(0,200,1000,1000)) is still a live, specified feature. What went away is the way to read the resulting view back out from script.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2240788</commentid>
    <comment_count>7</comment_count>
    <who name="Karl Dubost">karlcow</who>
    <bug_when>2026-08-16 18:52:37 -0700</bug_when>
    <thetext>Blink: removed in 2016, class kept out of reach

svg_svg_element.idl declares neither property. Removed via crbug 629445.
svg_view_spec.h:36 still declares class SVGViewSpec final : public GarbageCollected&lt;SVGViewSpec&gt;. That marking only means Blink&apos;s memory manager owns the object&apos;s lifetime. It is not marked as something JavaScript can hold a reference to, and it has no .idl file, so no page can reach it. The parsing machinery survives; the API does not.


Gecko: never had currentView; removed useCurrentView in 2022

dom/webidl/SVGSVGElement.webidl declares only currentScale and currentTranslate.
No SVGViewSpec in any .webidl file at all.
The fragment arguments live in an internal-only class, SVGView at dom/svg/SVGSVGElement.h:36, whose own comment says &quot;Stores svgView arguments of SVG fragment identifiers.&quot;
useCurrentView was removed on 2022-10-12. Mozilla bug 1174097, commit 2c05875c25de, r=emilio. That was heycam&apos;s patch from 2015 finally landing, seven years later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2240789</commentid>
    <comment_count>8</comment_count>
    <who name="Karl Dubost">karlcow</who>
    <bug_when>2026-08-16 18:55:08 -0700</bug_when>
    <thetext>The other part bug 260677 is not trivial.

WebKit uses SVGViewSpec as the live storage for the view-override state. Blink and Gecko use a throwaway internal object for the same job. So in WebKit the class is not a leftover wrapper sitting on top of the real implementation. It is the real implementation, and it happens to carry a web-exposed name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2240790</commentid>
    <comment_count>9</comment_count>
    <who name="Karl Dubost">karlcow</who>
    <bug_when>2026-08-16 18:57:48 -0700</bug_when>
    <thetext>I think we should remove it and carry on with Ahmad PR. 
https://github.com/WebKit/WebKit/pull/13851

I will propose to close the issue on the SVG WG.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>462585</attachid>
            <date>2022-09-24 10:04:14 -0700</date>
            <delta_ts>2022-09-24 11:52:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226721-20220924180413.patch</filename>
            <type>text/plain</type>
            <size>2823</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">RnJvbSA2NDQ2NWQxZWM2NzZjOWVlZDg5NGIzZTk5NmE4OTgzYzI3NTQyZTFiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2IgQnVpcyA8cmJ1aXNAaWdhbGlhLmNvbT4KRGF0ZTogU2F0
LCAyNCBTZXAgMjAyMiAxODowMzozNCArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIFNWR1NWR0VsZW1l
bnQncyBjdXJyZW50VmlldyArIHVzZUN1cnJlbnRWaWV3IGFyZSBub24tc3RhbmRhcmQKIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY3MjEKClJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgoKV0lQLgoKKiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3N2Zy9oaXN0b3JpY2FsLWV4cGVjdGVkLnR4dDoKKiBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHU1ZHRWxlbWVudC5pZGw6Ci0tLQogU291cmNlL1dlYkNvcmUvc3ZnL1NWR1NWR0VsZW1l
bnQuaWRsICAgICAgICAgICAgICAgICAgICAgICAgICB8IDMgLS0tCiAuLi4vdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zdmcvaGlzdG9yaWNhbC1leHBlY3RlZC50eHQgICAgICAgIHwgNCArKy0tCiAy
IGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHU1ZHRWxlbWVudC5pZGwKaW5kZXggODBhZWI1NjJiODkxLi40MzIzMzIzYTEyZjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdTVkdFbGVtZW50LmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdmcvU1ZHU1ZHRWxlbWVudC5pZGwKQEAgLTMzLDkgKzMzLDYgQEAKICAg
ICBhdHRyaWJ1dGUgZmxvYXQgY3VycmVudFNjYWxlOwogICAgIFtTYW1lT2JqZWN0XSByZWFkb25s
eSBhdHRyaWJ1dGUgU1ZHUG9pbnQgY3VycmVudFRyYW5zbGF0ZTsKICAgICAKLSAgICByZWFkb25s
eSBhdHRyaWJ1dGUgYm9vbGVhbiB1c2VDdXJyZW50VmlldzsKLSAgICByZWFkb25seSBhdHRyaWJ1
dGUgU1ZHVmlld1NwZWMgY3VycmVudFZpZXc7Ci0KICAgICBOb2RlTGlzdCBnZXRJbnRlcnNlY3Rp
b25MaXN0KFNWR1JlY3QgcmVjdCwgU1ZHRWxlbWVudD8gcmVmZXJlbmNlRWxlbWVudCk7CiAgICAg
Tm9kZUxpc3QgZ2V0RW5jbG9zdXJlTGlzdChTVkdSZWN0IHJlY3QsIFNWR0VsZW1lbnQ/IHJlZmVy
ZW5jZUVsZW1lbnQpOwogICAgIGJvb2xlYW4gY2hlY2tJbnRlcnNlY3Rpb24oU1ZHRWxlbWVudCBl
bGVtZW50LCBTVkdSZWN0IHJlY3QpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdmcvaGlzdG9yaWNhbC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3N2Zy9oaXN0b3JpY2FsLWV4
cGVjdGVkLnR4dAppbmRleCBlODQ5NzJkNTliMDYuLmVkMmI3Y2MzZDEzYiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zdmcvaGlzdG9yaWNh
bC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zdmcvaGlzdG9yaWNhbC1leHBlY3RlZC50eHQKQEAgLTI4LDEyICsyOCwxMiBAQCBQ
QVNTIFNWR0VsZW1lbnQucHJvdG90eXBlLnhtbHNwYWNlIG11c3QgYmUgcmVtb3ZlZAogRkFJTCBT
VkdHcmFwaGljc0VsZW1lbnQucHJvdG90eXBlLmdldFRyYW5zZm9ybVRvRWxlbWVudCBtdXN0IGJl
IHJlbW92ZWQgYXNzZXJ0X2ZhbHNlOiBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQogRkFJTCBTVkdH
cmFwaGljc0VsZW1lbnQucHJvdG90eXBlLmhhc0V4dGVuc2lvbiBtdXN0IGJlIHJlbW92ZWQgYXNz
ZXJ0X2ZhbHNlOiBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQogRkFJTCBTVkdHcmFwaGljc0VsZW1l
bnQucHJvdG90eXBlLnJlcXVpcmVkRmVhdHVyZXMgbXVzdCBiZSByZW1vdmVkIGFzc2VydF9mYWxz
ZTogZXhwZWN0ZWQgZmFsc2UgZ290IHRydWUKLUZBSUwgU1ZHU1ZHRWxlbWVudC5wcm90b3R5cGUu
Y3VycmVudFZpZXcgbXVzdCBiZSByZW1vdmVkIGFzc2VydF9mYWxzZTogZXhwZWN0ZWQgZmFsc2Ug
Z290IHRydWUKK1BBU1MgU1ZHU1ZHRWxlbWVudC5wcm90b3R5cGUuY3VycmVudFZpZXcgbXVzdCBi
ZSByZW1vdmVkCiBQQVNTIFNWR1NWR0VsZW1lbnQucHJvdG90eXBlLnBpeGVsVW5pdFRvTWlsbGlt
ZXRlclggbXVzdCBiZSByZW1vdmVkCiBQQVNTIFNWR1NWR0VsZW1lbnQucHJvdG90eXBlLnBpeGVs
VW5pdFRvTWlsbGltZXRlclkgbXVzdCBiZSByZW1vdmVkCiBQQVNTIFNWR1NWR0VsZW1lbnQucHJv
dG90eXBlLnNjcmVlblBpeGVsVG9NaWxsaW1ldGVyWCBtdXN0IGJlIHJlbW92ZWQKIFBBU1MgU1ZH
U1ZHRWxlbWVudC5wcm90b3R5cGUuc2NyZWVuUGl4ZWxUb01pbGxpbWV0ZXJZIG11c3QgYmUgcmVt
b3ZlZAotRkFJTCBTVkdTVkdFbGVtZW50LnByb3RvdHlwZS51c2VDdXJyZW50VmlldyBtdXN0IGJl
IHJlbW92ZWQgYXNzZXJ0X2ZhbHNlOiBleHBlY3RlZCBmYWxzZSBnb3QgdHJ1ZQorUEFTUyBTVkdT
VkdFbGVtZW50LnByb3RvdHlwZS51c2VDdXJyZW50VmlldyBtdXN0IGJlIHJlbW92ZWQKIFBBU1Mg
U1ZHU1ZHRWxlbWVudC5wcm90b3R5cGUudmlld3BvcnQgbXVzdCBiZSByZW1vdmVkCiBQQVNTIFNW
R1ZpZXdFbGVtZW50LnByb3RvdHlwZS52aWV3VGFyZ2V0IG11c3QgYmUgcmVtb3ZlZAogUEFTUyBT
VkdQYXRoRWxlbWVudC5wcm90b3R5cGUuZ2V0UG9pbnRBdExlbmd0aCBtdXN0IGJlIG1vdmVkIHRv
IFNWR0dlb21ldHJ5RWxlbWVudC5wcm90b3R5cGUK
</data>
<flag name="commit-queue"
          id="491186"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>481069</attachid>
            <date>2026-08-16 18:50:47 -0700</date>
            <delta_ts>2026-08-16 18:50:47 -0700</delta_ts>
            <desc>testcase-probe.html</desc>
            <filename>probe-svgwg-747-currentview.html</filename>
            <type>text/html</type>
            <size>7834</size>
            <attacher name="Karl Dubost">karlcow</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KPGhlYWQ+CjxtZXRhIGNoYXJzZXQ9InV0
Zi04Ij4KPHRpdGxlPlByb2JlIOKAlCBzdmd3ZyM3NDcgLyBXZWJLaXQgMjI2NzIxOiBTVkdWaWV3
U3BlYywgY3VycmVudFZpZXcsIHVzZUN1cnJlbnRWaWV3PC90aXRsZT4KPHN0eWxlPgogIGJvZHkg
eyBtYXJnaW46IDAgYXV0bzsgcGFkZGluZzogMnJlbSAxLjI1cmVtIDVyZW07IG1heC13aWR0aDog
NDZyZW07CiAgICAgICAgIGZvbnQ6IDE1cHgvMS42IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lz
dGVtRm9udCwgIlNlZ29lIFVJIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsKICAgICAg
ICAgY29sb3I6ICMxYTFhMWE7IGJhY2tncm91bmQ6ICNmYmZiZmE7IH0KICBoMSB7IGZvbnQtc2l6
ZTogMS4zcmVtOyBtYXJnaW46IDAgMCAuM3JlbTsgfQogIC5zdWIgeyBjb2xvcjogIzVhNWY2Njsg
Zm9udC1zaXplOiAuODhyZW07IG1hcmdpbjogMCAwIDEuNnJlbTsgfQogIGgyIHsgZm9udC1zaXpl
OiAxcmVtOyBtYXJnaW46IDJyZW0gMCAuNnJlbTsgcGFkZGluZy1ib3R0b206IC4yNXJlbTsKICAg
ICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZDhkY2UxOyB9CiAgdGFibGUgeyBib3JkZXIt
Y29sbGFwc2U6IGNvbGxhcHNlOyB3aWR0aDogMTAwJTsgbWFyZ2luOiAuOHJlbSAwOwogICAgICAg
ICAgZm9udC1zaXplOiAuOXJlbTsgYmFja2dyb3VuZDogI2ZmZjsgfQogIHRoLCB0ZCB7IGJvcmRl
cjogMXB4IHNvbGlkICNkOGRjZTE7IHBhZGRpbmc6IC40cmVtIC41NXJlbTsgdGV4dC1hbGlnbjog
bGVmdDsgfQogIHRoIHsgYmFja2dyb3VuZDogI2VlZjFmNDsgfQogIHRkLnYgeyBmb250LWZhbWls
eTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIENvbnNvbGFzLCBtb25vc3Bh
Y2U7CiAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IHdpZHRoOiA2cmVtOyB9CiAgLmV4cG9zZWQg
eyBiYWNrZ3JvdW5kOiAjZmRmMGYwOyBjb2xvcjogIzlhMjIyMjsgfQogIC5hYnNlbnQgIHsgYmFj
a2dyb3VuZDogI2VkZjdmMDsgY29sb3I6ICMxYTZiM2M7IH0KICAubmV1dHJhbCB7IGJhY2tncm91
bmQ6ICNmNGY1Zjc7IGNvbG9yOiAjM2E0MTQ5OyB9CiAgY29kZSwgcHJlIHsgZm9udC1mYW1pbHk6
IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBDb25zb2xhcywgbW9ub3NwYWNl
OyB9CiAgY29kZSB7IGZvbnQtc2l6ZTogLjg3NWVtOyBiYWNrZ3JvdW5kOiAjZWVmMGYyOyBwYWRk
aW5nOiAuMWVtIC4zNWVtOyBib3JkZXItcmFkaXVzOiAzcHg7IH0KICBwcmUgeyBiYWNrZ3JvdW5k
OiAjMjMyNjJiOyBjb2xvcjogI2U2ZTZlNjsgcGFkZGluZzogLjhyZW0gMXJlbTsgYm9yZGVyLXJh
ZGl1czogNnB4OwogICAgICAgIG92ZXJmbG93LXg6IGF1dG87IGZvbnQtc2l6ZTogLjhyZW07IGxp
bmUtaGVpZ2h0OiAxLjU7IH0KICAudmVyZGljdCB7IGJvcmRlci1sZWZ0OiA0cHggc29saWQgIzBi
NWZhNTsgYmFja2dyb3VuZDogI2ZmZjsgcGFkZGluZzogLjhyZW0gMXJlbTsKICAgICAgICAgICAg
IG1hcmdpbjogMS4ycmVtIDA7IGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwOyBmb250LXNpemU6
IC45NXJlbTsgfQogIC52ZXJkaWN0IHN0cm9uZyB7IGZvbnQtc2l6ZTogMS4wNXJlbTsgfQogIGJ1
dHRvbiB7IGZvbnQ6IGluaGVyaXQ7IHBhZGRpbmc6IC40NXJlbSAuOXJlbTsgYm9yZGVyOiAxcHgg
c29saWQgI2I3YmVjNjsKICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOyBib3JkZXItcmFkaXVz
OiA1cHg7IGN1cnNvcjogcG9pbnRlcjsgbWFyZ2luLXJpZ2h0OiAuNXJlbTsgfQogIGJ1dHRvbjpo
b3ZlciB7IGJhY2tncm91bmQ6ICNmMGYyZjQ7IH0KICAubm90ZSB7IGNvbG9yOiAjNWE1ZjY2OyBm
b250LXNpemU6IC44NXJlbTsgfQogIC5jdGwgeyBiYWNrZ3JvdW5kOiAjZmZmOyBib3JkZXI6IDFw
eCBzb2xpZCAjZDhkY2UxOyBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgIHBhZGRpbmc6IC43
cmVtIC45NXJlbTsgbWFyZ2luOiAxcmVtIDA7IGZvbnQtc2l6ZTogLjg1cmVtOyB9Cjwvc3R5bGU+
CjwvaGVhZD4KPGJvZHk+Cgo8aDE+U1ZHVmlld1NwZWMgLyBjdXJyZW50VmlldyAvIHVzZUN1cnJl
bnRWaWV3PC9oMT4KPHAgY2xhc3M9InN1YiI+CiAgUHJvYmUgZm9yIDxhIGhyZWY9Imh0dHBzOi8v
Z2l0aHViLmNvbS93M2Mvc3Znd2cvaXNzdWVzLzc0NyI+c3Znd2cjNzQ3PC9hPiBhbmQKICA8YSBo
cmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2NzIxIj5XZWJL
aXQgYnVnIDIyNjcyMTwvYT4uPGJyPgogIFNWRyAyIHJlbW92ZWQgYWxsIHRocmVlIGluIDIwMTUu
IFRoaXMgY2hlY2tzIHdoZXRoZXIgdGhlIGJyb3dzZXIgc3RpbGwgZXhwb3NlcyB0aGVtLgogIDxz
dHJvbmc+RXhwZWN0ZWQgaW4gYSBjb25mb3JtaW5nIGVuZ2luZTogYWxsIHRocmVlIGFic2VudC48
L3N0cm9uZz4KPC9wPgoKPGRpdiBjbGFzcz0iY3RsIj4KICA8c3Ryb25nPlBvc2l0aXZlIGNvbnRy
b2wuPC9zdHJvbmc+IDxjb2RlPmN1cnJlbnRTY2FsZTwvY29kZT4gYW5kIDxjb2RlPmN1cnJlbnRU
cmFuc2xhdGU8L2NvZGU+IHdlcmUKICA8ZW0+a2VwdDwvZW0+IGJ5IFNWRyAyIGFuZCBtdXN0IGJl
IHByZXNlbnQuIElmIHRoZXkgcmVhZCA8Y29kZT5hYnNlbnQ8L2NvZGU+LCB0aGUgcHJvYmUgaXRz
ZWxmIGlzCiAgYnJva2VuIGFuZCBub3RoaW5nIGJlbG93IGNhbiBiZSB0cnVzdGVkLgo8L2Rpdj4K
CjxoMj5SZXN1bHQ8L2gyPgo8ZGl2IGlkPSJ2ZXJkaWN0IiBjbGFzcz0idmVyZGljdCI+cnVubmlu
Z+KApjwvZGl2Pgo8dGFibGUgaWQ9InJlc3VsdHMiPjwvdGFibGU+Cgo8aDI+UGFzdGUgaW50byB0
aGUgaXNzdWU8L2gyPgo8cCBjbGFzcz0ibm90ZSI+T25lIHJvdywgcmVhZHkgZm9yIHRoZSBjcm9z
cy1lbmdpbmUgdGFibGUgaW4gdGhlIGRyYWZ0IGNvbW1lbnQuPC9wPgo8cHJlIGlkPSJyb3ciPnJ1
bm5pbmfigKY8L3ByZT4KPGJ1dHRvbiBpZD0iY29weSI+Q29weSByb3c8L2J1dHRvbj4KPGJ1dHRv
biBpZD0iY29weWpzb24iPkNvcHkgZnVsbCBKU09OPC9idXR0b24+CjxzcGFuIGlkPSJjb3BpZWQi
IGNsYXNzPSJub3RlIj48L3NwYW4+Cgo8aDI+RnVsbCBkZXRhaWw8L2gyPgo8cHJlIGlkPSJqc29u
Ij5ydW5uaW5n4oCmPC9wcmU+Cgo8c2NyaXB0PgooZnVuY3Rpb24gKCkgewogIHZhciBzdmcgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiwgInN2
ZyIpOwogIHN2Zy5zZXRBdHRyaWJ1dGUoIndpZHRoIiwgIjEwIik7CiAgc3ZnLnNldEF0dHJpYnV0
ZSgiaGVpZ2h0IiwgIjEwIik7CiAgc3ZnLnN0eWxlLnBvc2l0aW9uID0gImFic29sdXRlIjsKICBz
dmcuc3R5bGUubGVmdCA9ICItOTk5OXB4IjsKICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHN2
Zyk7CgogIC8vIFRoZSB0aHJlZSBTVkcgMiByZW1vdmVkLiBBYnNlbnQgPSBjb25mb3JtaW5nLgog
IHZhciByZW1vdmVkID0gWwogICAgWyJTVkdWaWV3U3BlYyBvbiB3aW5kb3ciLCAgICAgICAgICAg
ICAgICAgICJTVkdWaWV3U3BlYyIgaW4gd2luZG93XSwKICAgIFsiY3VycmVudFZpZXcgb24gU1ZH
U1ZHRWxlbWVudCIsICAgICAgICAgICAiY3VycmVudFZpZXciIGluIFNWR1NWR0VsZW1lbnQucHJv
dG90eXBlXSwKICAgIFsidXNlQ3VycmVudFZpZXcgb24gU1ZHU1ZHRWxlbWVudCIsICAgICAgICAi
dXNlQ3VycmVudFZpZXciIGluIFNWR1NWR0VsZW1lbnQucHJvdG90eXBlXSwKICAgIFsidmlld1Rh
cmdldCBvbiBTVkdWaWV3RWxlbWVudCIsCiAgICAgICh0eXBlb2YgU1ZHVmlld0VsZW1lbnQgIT09
ICJ1bmRlZmluZWQiKSAmJiAoInZpZXdUYXJnZXQiIGluIFNWR1ZpZXdFbGVtZW50LnByb3RvdHlw
ZSldCiAgXTsKCiAgLy8gS2VwdCBieSBTVkcgMi4gUHJlc2VudCA9IHByb2JlIGlzIHdvcmtpbmcu
CiAgdmFyIGNvbnRyb2xzID0gWwogICAgWyJjdXJyZW50U2NhbGUgb24gU1ZHU1ZHRWxlbWVudCIs
ICAgICAiY3VycmVudFNjYWxlIiBpbiBTVkdTVkdFbGVtZW50LnByb3RvdHlwZV0sCiAgICBbImN1
cnJlbnRUcmFuc2xhdGUgb24gU1ZHU1ZHRWxlbWVudCIsICJjdXJyZW50VHJhbnNsYXRlIiBpbiBT
VkdTVkdFbGVtZW50LnByb3RvdHlwZV0KICBdOwoKICB2YXIgZGV0YWlsID0geyB1c2VyQWdlbnQ6
IG5hdmlnYXRvci51c2VyQWdlbnQgfTsKICB2YXIgdGFibGUgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicmVzdWx0cyIpOwoKICBmdW5jdGlvbiBhZGRSb3cobGFiZWwsIGV4cG9zZWQsIGtpbmQp
IHsKICAgIHZhciB0ciA9IHRhYmxlLmluc2VydFJvdygpOwogICAgdmFyIHRoID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgidGgiKTsKICAgIHRoLnRleHRDb250ZW50ID0gbGFiZWw7CiAgICB0ci5h
cHBlbmRDaGlsZCh0aCk7CiAgICB2YXIgdGQgPSB0ci5pbnNlcnRDZWxsKCk7CiAgICB0ZC5jbGFz
c05hbWUgPSAidiAiICsgKGtpbmQgPT09ICJjb250cm9sIgogICAgICA/IChleHBvc2VkID8gImFi
c2VudCIgOiAiZXhwb3NlZCIpCiAgICAgIDogKGV4cG9zZWQgPyAiZXhwb3NlZCIgOiAiYWJzZW50
IikpOwogICAgdGQudGV4dENvbnRlbnQgPSBleHBvc2VkID8gImV4cG9zZWQiIDogImFic2VudCI7
CiAgICB2YXIgbm90ZSA9IHRyLmluc2VydENlbGwoKTsKICAgIG5vdGUuY2xhc3NOYW1lID0gIm5v
dGUiOwogICAgbm90ZS50ZXh0Q29udGVudCA9IGtpbmQgPT09ICJjb250cm9sIiA/ICJrZXB0IGJ5
IFNWRyAyIOKAlCBtdXN0IGJlIGV4cG9zZWQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDogInJlbW92ZWQgYnkgU1ZHIDIg4oCUIG11c3QgYmUgYWJzZW50IjsKICB9
CgogIHZhciBoZHIgPSB0YWJsZS5pbnNlcnRSb3coKTsKICBbIk1lbWJlciIsICJTdGF0ZSIsICIi
XS5mb3JFYWNoKGZ1bmN0aW9uICh0KSB7CiAgICB2YXIgdGggPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJ0aCIpOwogICAgdGgudGV4dENvbnRlbnQgPSB0OwogICAgaGRyLmFwcGVuZENoaWxkKHRo
KTsKICB9KTsKCiAgcmVtb3ZlZC5mb3JFYWNoKGZ1bmN0aW9uIChyKSB7IGFkZFJvdyhyWzBdLCBy
WzFdLCAicmVtb3ZlZCIpOyBkZXRhaWxbclswXV0gPSByWzFdOyB9KTsKICBjb250cm9scy5mb3JF
YWNoKGZ1bmN0aW9uIChyKSB7IGFkZFJvdyhyWzBdLCByWzFdLCAiY29udHJvbCIpOyBkZXRhaWxb
clswXV0gPSByWzFdOyB9KTsKCiAgLy8gSWYgdGhlIGludGVyZmFjZSBpcyByZWFjaGFibGUsIGRl
c2NyaWJlIGl0IOKAlCB0aGlzIGlzIHdoYXQgYSByZXZlcnQgd291bGQgcmVzdG9yZS4KICBpZiAo
ImN1cnJlbnRWaWV3IiBpbiBTVkdTVkdFbGVtZW50LnByb3RvdHlwZSkgewogICAgdHJ5IHsKICAg
ICAgdmFyIGN2ID0gc3ZnLmN1cnJlbnRWaWV3OwogICAgICBkZXRhaWxbImN1cnJlbnRWaWV3IGNv
bnN0cnVjdG9yIl0gPSBjdiAmJiBjdi5jb25zdHJ1Y3RvciAmJiBjdi5jb25zdHJ1Y3Rvci5uYW1l
OwogICAgICBkZXRhaWxbImN1cnJlbnRWaWV3IG1lbWJlcnMiXSA9CiAgICAgICAgT2JqZWN0Lmdl
dE93blByb3BlcnR5TmFtZXMoT2JqZWN0LmdldFByb3RvdHlwZU9mKGN2KSkuam9pbigiLCAiKTsK
ICAgICAgZGV0YWlsWyJjdXJyZW50VmlldyBpcyBTYW1lT2JqZWN0Il0gPSBzdmcuY3VycmVudFZp
ZXcgPT09IHN2Zy5jdXJyZW50VmlldzsKICAgICAgZGV0YWlsWyJ1c2VDdXJyZW50VmlldyBpbml0
aWFsIHZhbHVlIl0gPSBzdmcudXNlQ3VycmVudFZpZXc7CiAgICAgIGRldGFpbFsidmlld1Rhcmdl
dCBvbiBjdXJyZW50VmlldyJdID0gInZpZXdUYXJnZXQiIGluIGN2OwogICAgfSBjYXRjaCAoZSkg
ewogICAgICBkZXRhaWxbImN1cnJlbnRWaWV3IHJlYWQgZXJyb3IiXSA9IFN0cmluZyhlKTsKICAg
IH0KICB9CgogIHZhciBjb250cm9sc09rID0gY29udHJvbHMuZXZlcnkoZnVuY3Rpb24gKGMpIHsg
cmV0dXJuIGNbMV07IH0pOwogIHZhciBleHBvc2VkQ291bnQgPSByZW1vdmVkLnNsaWNlKDAsIDMp
LmZpbHRlcihmdW5jdGlvbiAocikgeyByZXR1cm4gclsxXTsgfSkubGVuZ3RoOwoKICB2YXIgdiA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ2ZXJkaWN0Iik7CiAgaWYgKCFjb250cm9sc09rKSB7
CiAgICB2LmlubmVySFRNTCA9ICI8c3Ryb25nPlByb2JlIGlzIGJyb2tlbiDigJQgZG8gbm90IHVz
ZS48L3N0cm9uZz4gQSBtZW1iZXIgU1ZHIDIga2VwdCByZWFkIGFzICIgKwogICAgICAgICAgICAg
ICAgICAiYWJzZW50LCBzbyBhIHJlYWRpbmcgb2YgPGNvZGU+YWJzZW50PC9jb2RlPiBiZWxvdyBt
YXkgbWVhbiBibGluZG5lc3MgcmF0aGVyICIgKwogICAgICAgICAgICAgICAgICAidGhhbiBjb25m
b3JtYW5jZS4iOwogICAgdi5zdHlsZS5ib3JkZXJMZWZ0Q29sb3IgPSAiIzhhNGIwMCI7CiAgICB2
LnN0eWxlLmJhY2tncm91bmQgPSAiI2ZmZjZlOCI7CiAgfSBlbHNlIGlmIChleHBvc2VkQ291bnQg
PT09IDApIHsKICAgIHYuaW5uZXJIVE1MID0gIjxzdHJvbmc+Q29uZm9ybWluZy48L3N0cm9uZz4g
Tm9uZSBvZiB0aGUgdGhyZWUgcmVtb3ZlZCBtZW1iZXJzIGlzIGV4cG9zZWQuICIgKwogICAgICAg
ICAgICAgICAgICAiQ29udHJvbHMgcGFzc2VkLiI7CiAgICB2LnN0eWxlLmJvcmRlckxlZnRDb2xv
ciA9ICIjMWE2YjNjIjsKICAgIHYuc3R5bGUuYmFja2dyb3VuZCA9ICIjZWRmN2YwIjsKICB9IGVs
c2UgewogICAgdi5pbm5lckhUTUwgPSAiPHN0cm9uZz4iICsgZXhwb3NlZENvdW50ICsgIiBvZiAz
IHJlbW92ZWQgbWVtYmVycyBzdGlsbCBleHBvc2VkLjwvc3Ryb25nPiAiICsKICAgICAgICAgICAg
ICAgICAgIlRoaXMgZW5naW5lIGhhcyBub3QgYXBwbGllZCB0aGUgMjAxNSBTVkcgMiByZW1vdmFs
LiBDb250cm9scyBwYXNzZWQuIjsKICAgIHYuc3R5bGUuYm9yZGVyTGVmdENvbG9yID0gIiM5YTIy
MjIiOwogICAgdi5zdHlsZS5iYWNrZ3JvdW5kID0gIiNmZGYwZjAiOwogIH0KCiAgZGV0YWlsWyJj
b250cm9scyBwYXNzZWQiXSA9IGNvbnRyb2xzT2s7CiAgZGV0YWlsWyJyZW1vdmVkIG1lbWJlcnMg
c3RpbGwgZXhwb3NlZCJdID0gZXhwb3NlZENvdW50ICsgIiBvZiAzIjsKCiAgZnVuY3Rpb24geW4o
YikgeyByZXR1cm4gYiA/ICIqKnllcyoqIiA6ICJubyI7IH0KICB2YXIgcm93ID0gInwgIiArIG5h
dmlnYXRvci51c2VyQWdlbnQgKyAiIHwgIiArCiAgICAgICAgICAgIHluKHJlbW92ZWRbMF1bMV0p
ICsgIiB8ICIgKyB5bihyZW1vdmVkWzFdWzFdKSArICIgfCAiICsgeW4ocmVtb3ZlZFsyXVsxXSkg
KyAiIHwiOwoKICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicm93IikudGV4dENvbnRlbnQgPSBy
b3c7CiAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImpzb24iKS50ZXh0Q29udGVudCA9IEpTT04u
c3RyaW5naWZ5KGRldGFpbCwgbnVsbCwgMik7CgogIGZ1bmN0aW9uIGNvcHkodGV4dCkgewogICAg
bmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGV4dCkudGhlbihmdW5jdGlvbiAoKSB7CiAg
ICAgIHZhciBjID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvcGllZCIpOwogICAgICBjLnRl
eHRDb250ZW50ID0gImNvcGllZCI7CiAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeyBjLnRl
eHRDb250ZW50ID0gIiI7IH0sIDE1MDApOwogICAgfSk7CiAgfQogIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb3B5Iikub25jbGljayA9IGZ1bmN0aW9uICgpIHsgY29weShyb3cpOyB9OwogIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb3B5anNvbiIpLm9uY2xpY2sgPSBmdW5jdGlvbiAoKSB7
CiAgICBjb3B5KEpTT04uc3RyaW5naWZ5KGRldGFpbCwgbnVsbCwgMikpOwogIH07Cn0pKCk7Cjwv
c2NyaXB0PgoKPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>