<?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>107019</bug_id>
          
          <creation_ts>2013-01-16 08:47:50 -0800</creation_ts>
          <short_desc>Web Inspector: [Canvas] introduce Resource.toDataURL</short_desc>
          <delta_ts>2013-01-18 07:13:47 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>107274</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Adaikin">aandrey</reporter>
          <assigned_to name="Andrey Adaikin">aandrey</assigned_to>
          <cc>apavlov</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>808399</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2013-01-16 08:47:50 -0800</bug_when>
    <thetext>Resource.toDataURL will return string data url representation of a resource, if applicable. For example, for a rendering context resource (2D or WebGL) it will return canvas.toDataURL().

Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808402</commentid>
    <comment_count>1</comment_count>
      <attachid>182992</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2013-01-16 08:51:10 -0800</bug_when>
    <thetext>Created attachment 182992
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810522</commentid>
    <comment_count>2</comment_count>
      <attachid>182992</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-01-18 06:02:36 -0800</bug_when>
    <thetext>Comment on attachment 182992
Patch

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

&gt; Source/WebCore/inspector/InjectedScriptCanvasModuleSource.js:-2957
&gt; -        if (!this._traceLogPlayer || this._traceLogPlayer.traceLog() !== traceLog) {

Why did this code go?

&gt; Source/WebCore/inspector/InjectedScriptCanvasModuleSource.js:-2994
&gt; -    _onTraceLogPlayerReset: function()

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810551</commentid>
    <comment_count>3</comment_count>
      <attachid>182992</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2013-01-18 06:57:26 -0800</bug_when>
    <thetext>Comment on attachment 182992
Patch

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

&gt;&gt; Source/WebCore/inspector/InjectedScriptCanvasModuleSource.js:-2957
&gt;&gt; -        if (!this._traceLogPlayer || this._traceLogPlayer.traceLog() !== traceLog) {
&gt; 
&gt; Why did this code go?

Now these players are stored in the this._traceLogPlayers map, and we will support replaying all trace logs simultaneously (while before we kept only last player that was touched).
This change is needed because we will expose replayed resources state (like current screenshot of a canvas, and etc.), which are bound to a &quot;replay world&quot;.

&gt;&gt; Source/WebCore/inspector/InjectedScriptCanvasModuleSource.js:-2994
&gt;&gt; -    _onTraceLogPlayerReset: function()
&gt; 
&gt; ditto

This is not needed any more, everything is encapsulated in the Player.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810557</commentid>
    <comment_count>4</comment_count>
      <attachid>182992</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-18 07:13:43 -0800</bug_when>
    <thetext>Comment on attachment 182992
Patch

Clearing flags on attachment: 182992

Committed r140142: &lt;http://trac.webkit.org/changeset/140142&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810558</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-18 07:13:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182992</attachid>
            <date>2013-01-16 08:51:10 -0800</date>
            <delta_ts>2013-01-18 07:13:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107019-20130116204810.patch</filename>
            <type>text/plain</type>
            <size>14127</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5ODU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWE4MmU1OGJhN2Y0Mjdj
ZGUwZGM0NmIxMDhkMTdkZGVkZDZmZGM5OC4uNDA5MmU1ODZjMGZmMTlmYjFiZGMyNzg4NzBmMTYy
ZDk5MjI4MjBhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEzLTAxLTE2ICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtDYW52YXNdIGludHJvZHVjZSBSZXNvdXJjZS50b0RhdGFVUkwKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNzAxOQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlc291cmNlLnRvRGF0YVVSTCB3aWxs
IHJldHVybiBzdHJpbmcgZGF0YSB1cmwgcmVwcmVzZW50YXRpb24gb2YgYSByZXNvdXJjZSwgaWYg
YXBwbGljYWJsZS4KKyAgICAgICAgRm9yIGV4YW1wbGUsIGZvciBhIHJlbmRlcmluZyBjb250ZXh0
IHJlc291cmNlICgyRCBvciBXZWJHTCkgaXQgd2lsbCByZXR1cm4gY2FudmFzLnRvRGF0YVVSTCgp
LgorCisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlU291cmNl
LmpzOgorICAgICAgICAoLik6CisKIDIwMTMtMDEtMTUgIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZp
a0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogSW50cm9kdWNlIFVJU291
cmNlQ29kZS5vcmlnaW5VUkwoKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZVNvdXJjZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZVNvdXJjZS5qcwppbmRleCAxNDQwYzBi
YTYwMjJiYjkzOWVlNWRjZjEyOTAxMjU0MzUxNWRmYjJkLi5jOWVlZWI4ZjVmMTljOWFlZjQ0MGMy
MmFkYmMxNDZkYjNlYjdkMWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGVTb3VyY2UuanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlU291cmNlLmpzCkBAIC05MiwxMiAr
OTIsMTIgQEAgdmFyIFR5cGVVdGlscyA9IHsKICAgICAgICAgICAgIC8vIFNwZWNpYWwgY2FzZSBm
b3IgSW1hZ2VzIHdpdGggQmxvYiBVUklzOiBjbG9uZU5vZGUgd2lsbCBmYWlsIGlmIHRoZSBCbG9i
IFVSSSBoYXMgYWxyZWFkeSBiZWVuIHJldm9rZWQuCiAgICAgICAgICAgICAvLyBGSVhNRTogTWF5
YmUgdGhpcyBpcyBhIGJ1ZyBpbiBXZWJLaXQgY29yZT8KICAgICAgICAgICAgIGlmICgvXmJsb2I6
Ly50ZXN0KGltZy5zcmMpKQotICAgICAgICAgICAgICAgIHJldHVybiBUeXBlVXRpbHMuY2xvbmVJ
bnRvQ2FudmFzKGltZywgaW1nLndpZHRoLCBpbWcuaGVpZ2h0KTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gVHlwZVV0aWxzLmNsb25lSW50b0NhbnZhcyhpbWcpOwogICAgICAgICAgICAgcmV0dXJu
IGltZy5jbG9uZU5vZGUodHJ1ZSk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAob2JqIGluc3Rh
bmNlb2YgSFRNTENhbnZhc0VsZW1lbnQpCi0gICAgICAgICAgICByZXR1cm4gVHlwZVV0aWxzLmNs
b25lSW50b0NhbnZhcyhvYmosIG9iai53aWR0aCwgb2JqLmhlaWdodCk7CisgICAgICAgICAgICBy
ZXR1cm4gVHlwZVV0aWxzLmNsb25lSW50b0NhbnZhcyhvYmopOwogCiAgICAgICAgIGlmIChvYmog
aW5zdGFuY2VvZiBIVE1MVmlkZW9FbGVtZW50KQogICAgICAgICAgICAgcmV0dXJuIFR5cGVVdGls
cy5jbG9uZUludG9DYW52YXMob2JqLCBvYmoudmlkZW9XaWR0aCwgb2JqLnZpZGVvSGVpZ2h0KTsK
QEAgLTExNywxNSArMTE3LDE1IEBAIHZhciBUeXBlVXRpbHMgPSB7CiAKICAgICAvKioKICAgICAg
KiBAcGFyYW0ge0hUTUxJbWFnZUVsZW1lbnR8SFRNTENhbnZhc0VsZW1lbnR8SFRNTFZpZGVvRWxl
bWVudH0gb2JqCi0gICAgICogQHBhcmFtIHtudW1iZXJ9IHdpZHRoCi0gICAgICogQHBhcmFtIHtu
dW1iZXJ9IGhlaWdodAorICAgICAqIEBwYXJhbSB7bnVtYmVyPX0gd2lkdGgKKyAgICAgKiBAcGFy
YW0ge251bWJlcj19IGhlaWdodAogICAgICAqIEByZXR1cm4ge0hUTUxDYW52YXNFbGVtZW50fQog
ICAgICAqLwogICAgIGNsb25lSW50b0NhbnZhczogZnVuY3Rpb24ob2JqLCB3aWR0aCwgaGVpZ2h0
KQogICAgIHsKICAgICAgICAgdmFyIGNhbnZhcyA9IC8qKiBAdHlwZSB7SFRNTENhbnZhc0VsZW1l
bnR9ICovIChpbnNwZWN0ZWRXaW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikp
OwotICAgICAgICBjYW52YXMud2lkdGggPSB3aWR0aDsKLSAgICAgICAgY2FudmFzLmhlaWdodCA9
IGhlaWdodDsKKyAgICAgICAgY2FudmFzLndpZHRoID0gd2lkdGggfHwgK29iai53aWR0aDsKKyAg
ICAgICAgY2FudmFzLmhlaWdodCA9IGhlaWdodCB8fCArb2JqLmhlaWdodDsKICAgICAgICAgdmFy
IGNvbnRleHQgPSAvKiogQHR5cGUge0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyRH0gKi8gKFJlc291
cmNlLndyYXBwZWRPYmplY3QoY2FudmFzLmdldENvbnRleHQoIjJkIikpKTsKICAgICAgICAgY29u
dGV4dC5kcmF3SW1hZ2Uob2JqLCAwLCAwKTsKICAgICAgICAgcmV0dXJuIGNhbnZhczsKQEAgLTcz
Nyw2ICs3MzcsMTUgQEAgUmVzb3VyY2UucHJvdG90eXBlID0gewogICAgIH0sCiAKICAgICAvKioK
KyAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CisgICAgICovCisgICAgdG9EYXRhVVJMOiBmdW5jdGlv
bigpCisgICAgeworICAgICAgICB2YXIgY29udGV4dFJlc291cmNlID0gdGhpcy5jb250ZXh0UmVz
b3VyY2UoKTsKKyAgICAgICAgcmV0dXJuIGNvbnRleHRSZXNvdXJjZSA9PT0gdGhpcyA/ICIiIDog
Y29udGV4dFJlc291cmNlLnRvRGF0YVVSTCgpOworICAgIH0sCisKKyAgICAvKioKICAgICAgKiBA
cGFyYW0geyFDYWNoZX0gY2FjaGUKICAgICAgKiBAcmV0dXJuIHshUmVwbGF5YWJsZVJlc291cmNl
fQogICAgICAqLwpAQCAtMTU5OSwxMiArMTYwOCwxMCBAQCBXZWJHTFJlbmRlcmJ1ZmZlclJlc291
cmNlLnByb3RvdHlwZSA9IHsKICAqIEBjb25zdHJ1Y3RvcgogICogQGV4dGVuZHMge0NvbnRleHRS
ZXNvdXJjZX0KICAqIEBwYXJhbSB7IVdlYkdMUmVuZGVyaW5nQ29udGV4dH0gZ2xDb250ZXh0Ci0g
KiBAcGFyYW0ge2Z1bmN0aW9uKCk6V2ViR0xSZW5kZXJpbmdDb250ZXh0fSByZXBsYXlDb250ZXh0
Q2FsbGJhY2sKICAqLwotZnVuY3Rpb24gV2ViR0xSZW5kZXJpbmdDb250ZXh0UmVzb3VyY2UoZ2xD
b250ZXh0LCByZXBsYXlDb250ZXh0Q2FsbGJhY2spCitmdW5jdGlvbiBXZWJHTFJlbmRlcmluZ0Nv
bnRleHRSZXNvdXJjZShnbENvbnRleHQpCiB7CiAgICAgQ29udGV4dFJlc291cmNlLmNhbGwodGhp
cywgZ2xDb250ZXh0LCAiV2ViR0xSZW5kZXJpbmdDb250ZXh0Iik7Ci0gICAgdGhpcy5fcmVwbGF5
Q29udGV4dENhbGxiYWNrID0gcmVwbGF5Q29udGV4dENhbGxiYWNrOwogICAgIC8qKiBAdHlwZSB7
T2JqZWN0LjxudW1iZXIsIGJvb2xlYW4+fSAqLwogICAgIHRoaXMuX2N1c3RvbUVycm9ycyA9IG51
bGw7CiAgICAgLyoqIEB0eXBlIHshT2JqZWN0LjxzdHJpbmcsIGJvb2xlYW4+fSAqLwpAQCAtMTcx
OSw2ICsxNzI2LDE1IEBAIFdlYkdMUmVuZGVyaW5nQ29udGV4dFJlc291cmNlLnByb3RvdHlwZSA9
IHsKICAgICB9LAogCiAgICAgLyoqCisgICAgICogQG92ZXJyaWRlCisgICAgICogQHJldHVybiB7
c3RyaW5nfQorICAgICAqLworICAgIHRvRGF0YVVSTDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIHRoaXMud3JhcHBlZE9iamVjdCgpLmNhbnZhcy50b0RhdGFVUkwoKTsKKyAgICB9
LAorCisgICAgLyoqCiAgICAgICogQHJldHVybiB7QXJyYXkuPG51bWJlcj59CiAgICAgICovCiAg
ICAgZ2V0QWxsRXJyb3JzOiBmdW5jdGlvbigpCkBAIC0xODA4LDcgKzE4MjQsOCBAQCBXZWJHTFJl
bmRlcmluZ0NvbnRleHRSZXNvdXJjZS5wcm90b3R5cGUgPSB7CiAgICAgX3BvcHVsYXRlUmVwbGF5
YWJsZURhdGE6IGZ1bmN0aW9uKGRhdGEsIGNhY2hlKQogICAgIHsKICAgICAgICAgdmFyIGdsID0g
dGhpcy53cmFwcGVkT2JqZWN0KCk7Ci0gICAgICAgIGRhdGEucmVwbGF5Q29udGV4dENhbGxiYWNr
ID0gdGhpcy5fcmVwbGF5Q29udGV4dENhbGxiYWNrOworICAgICAgICBkYXRhLm9yaWdpbmFsQ2Fu
dmFzID0gZ2wuY2FudmFzOworICAgICAgICBkYXRhLm9yaWdpbmFsQ29udGV4dEF0dHJpYnV0ZXMg
PSBnbC5nZXRDb250ZXh0QXR0cmlidXRlcygpOwogICAgICAgICBkYXRhLmV4dGVuc2lvbnMgPSBU
eXBlVXRpbHMuY2xvbmVPYmplY3QodGhpcy5fZXh0ZW5zaW9ucyk7CiAKICAgICAgICAgdmFyIG9y
aWdpbmFsRXJyb3JzID0gdGhpcy5nZXRBbGxFcnJvcnMoKTsKQEAgLTE4NjMsMTEgKzE4ODAsMTkg
QEAgV2ViR0xSZW5kZXJpbmdDb250ZXh0UmVzb3VyY2UucHJvdG90eXBlID0gewogICAgICAqLwog
ICAgIF9kb1JlcGxheUNhbGxzOiBmdW5jdGlvbihkYXRhLCBjYWNoZSkKICAgICB7Ci0gICAgICAg
IHRoaXMuX3JlcGxheUNvbnRleHRDYWxsYmFjayA9IGRhdGEucmVwbGF5Q29udGV4dENhbGxiYWNr
OwogICAgICAgICB0aGlzLl9jdXN0b21FcnJvcnMgPSBudWxsOwogICAgICAgICB0aGlzLl9leHRl
bnNpb25zID0gVHlwZVV0aWxzLmNsb25lT2JqZWN0KGRhdGEuZXh0ZW5zaW9ucykgfHwge307CiAK
LSAgICAgICAgdmFyIGdsID0gLyoqIEB0eXBlIHshV2ViR0xSZW5kZXJpbmdDb250ZXh0fSAqLyAo
UmVzb3VyY2Uud3JhcHBlZE9iamVjdCh0aGlzLl9yZXBsYXlDb250ZXh0Q2FsbGJhY2soKSkpOwor
ICAgICAgICB2YXIgY2FudmFzID0gZGF0YS5vcmlnaW5hbENhbnZhcy5jbG9uZU5vZGUodHJ1ZSk7
CisgICAgICAgIHZhciByZXBsYXlDb250ZXh0ID0gbnVsbDsKKyAgICAgICAgdmFyIGNvbnRleHRJ
ZHMgPSBbImV4cGVyaW1lbnRhbC13ZWJnbCIsICJ3ZWJraXQtM2QiLCAiM2QiXTsKKyAgICAgICAg
Zm9yICh2YXIgaSA9IDAsIGNvbnRleHRJZDsgY29udGV4dElkID0gY29udGV4dElkc1tpXTsgKytp
KSB7CisgICAgICAgICAgICByZXBsYXlDb250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoY29udGV4
dElkLCBkYXRhLm9yaWdpbmFsQ29udGV4dEF0dHJpYnV0ZXMpOworICAgICAgICAgICAgaWYgKHJl
cGxheUNvbnRleHQpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKworICAgICAg
ICB2YXIgZ2wgPSAvKiogQHR5cGUgeyFXZWJHTFJlbmRlcmluZ0NvbnRleHR9ICovIChSZXNvdXJj
ZS53cmFwcGVkT2JqZWN0KHJlcGxheUNvbnRleHQpKTsKICAgICAgICAgdGhpcy5zZXRXcmFwcGVk
T2JqZWN0KGdsKTsKIAogICAgICAgICAvLyBFbmFibGUgY29ycmVzcG9uZGluZyBXZWJHTCBleHRl
bnNpb25zLgpAQCAtMjE4NiwxMiArMjIxMSwxMCBAQCBXZWJHTFJlbmRlcmluZ0NvbnRleHRSZXNv
dXJjZS5wcm90b3R5cGUgPSB7CiAgKiBAY29uc3RydWN0b3IKICAqIEBleHRlbmRzIHtDb250ZXh0
UmVzb3VyY2V9CiAgKiBAcGFyYW0geyFDYW52YXNSZW5kZXJpbmdDb250ZXh0MkR9IGNvbnRleHQK
LSAqIEBwYXJhbSB7ZnVuY3Rpb24oKTpDYW52YXNSZW5kZXJpbmdDb250ZXh0MkR9IHJlcGxheUNv
bnRleHRDYWxsYmFjawogICovCi1mdW5jdGlvbiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRSZXNv
dXJjZShjb250ZXh0LCByZXBsYXlDb250ZXh0Q2FsbGJhY2spCitmdW5jdGlvbiBDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkRSZXNvdXJjZShjb250ZXh0KQogewogICAgIENvbnRleHRSZXNvdXJjZS5j
YWxsKHRoaXMsIGNvbnRleHQsICJDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQiKTsKLSAgICB0aGlz
Ll9yZXBsYXlDb250ZXh0Q2FsbGJhY2sgPSByZXBsYXlDb250ZXh0Q2FsbGJhY2s7CiB9CiAKIC8q
KgpAQCAtMjI2MCwxOSArMjI4MywyMiBAQCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRSZXNvdXJj
ZS5wcm90b3R5cGUgPSB7CiAKICAgICAvKioKICAgICAgKiBAb3ZlcnJpZGUKKyAgICAgKiBAcmV0
dXJuIHtzdHJpbmd9CisgICAgICovCisgICAgdG9EYXRhVVJMOiBmdW5jdGlvbigpCisgICAgewor
ICAgICAgICByZXR1cm4gdGhpcy53cmFwcGVkT2JqZWN0KCkuY2FudmFzLnRvRGF0YVVSTCgpOwor
ICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAb3ZlcnJpZGUKICAgICAgKiBAcGFyYW0geyFPYmpl
Y3R9IGRhdGEKICAgICAgKiBAcGFyYW0geyFDYWNoZX0gY2FjaGUKICAgICAgKi8KICAgICBfcG9w
dWxhdGVSZXBsYXlhYmxlRGF0YTogZnVuY3Rpb24oZGF0YSwgY2FjaGUpCiAgICAgewotICAgICAg
ICBkYXRhLnJlcGxheUNvbnRleHRDYWxsYmFjayA9IHRoaXMuX3JlcGxheUNvbnRleHRDYWxsYmFj
azsKICAgICAgICAgZGF0YS5jdXJyZW50QXR0cmlidXRlcyA9IHRoaXMuX2N1cnJlbnRBdHRyaWJ1
dGVzU3RhdGUoKTsKLSAgICAgICAgdmFyIGN0eCA9IHRoaXMud3JhcHBlZE9iamVjdCgpOwotICAg
ICAgICB0cnkgewotICAgICAgICAgICAgZGF0YS5vcmlnaW5hbEltYWdlRGF0YSA9IGN0eC5nZXRJ
bWFnZURhdGEoMCwgMCwgY3R4LmNhbnZhcy53aWR0aCwgY3R4LmNhbnZhcy5oZWlnaHQpOwotICAg
ICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICBjb25zb2xlLmVycm9yKCJBU1NFUlRfTk9U
X1JFQUNIRUQ6IGdldEltYWdlRGF0YSBmYWlsZWQuIiwgZSk7Ci0gICAgICAgIH0KKyAgICAgICAg
ZGF0YS5vcmlnaW5hbENhbnZhc0Nsb25lZCA9IFR5cGVVdGlscy5jbG9uZUludG9DYW52YXModGhp
cy53cmFwcGVkT2JqZWN0KCkuY2FudmFzKTsKICAgICB9LAogCiAgICAgLyoqCkBAIC0yMjgyLDIx
ICsyMzA4LDEyIEBAIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRFJlc291cmNlLnByb3RvdHlwZSA9
IHsKICAgICAgKi8KICAgICBfZG9SZXBsYXlDYWxsczogZnVuY3Rpb24oZGF0YSwgY2FjaGUpCiAg
ICAgewotICAgICAgICB0aGlzLl9yZXBsYXlDb250ZXh0Q2FsbGJhY2sgPSBkYXRhLnJlcGxheUNv
bnRleHRDYWxsYmFjazsKLQotICAgICAgICB2YXIgY3R4ID0gLyoqIEB0eXBlIHshQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dDJEfSAqLyAoUmVzb3VyY2Uud3JhcHBlZE9iamVjdCh0aGlzLl9yZXBsYXlD
b250ZXh0Q2FsbGJhY2soKSkpOworICAgICAgICB2YXIgY2FudmFzID0gVHlwZVV0aWxzLmNsb25l
SW50b0NhbnZhcyhkYXRhLm9yaWdpbmFsQ2FudmFzQ2xvbmVkKTsKKyAgICAgICAgdmFyIGN0eCA9
IC8qKiBAdHlwZSB7IUNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRH0gKi8gKFJlc291cmNlLndyYXBw
ZWRPYmplY3QoY2FudmFzLmdldENvbnRleHQoIjJkIikpKTsKICAgICAgICAgdGhpcy5zZXRXcmFw
cGVkT2JqZWN0KGN0eCk7CiAKLSAgICAgICAgaWYgKGRhdGEub3JpZ2luYWxJbWFnZURhdGEpIHsK
LSAgICAgICAgICAgIHRyeSB7Ci0gICAgICAgICAgICAgICAgY3R4LnB1dEltYWdlRGF0YShkYXRh
Lm9yaWdpbmFsSW1hZ2VEYXRhLCAwLCAwKTsKLSAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHsKLSAg
ICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCJBU1NFUlRfTk9UX1JFQUNIRUQ6IHB1dEltYWdl
RGF0YSBmYWlsZWQuIiwgZSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLQogICAgICAgICBm
b3IgKHZhciBpID0gMCwgbiA9IGRhdGEuY2FsbHMubGVuZ3RoOyBpIDwgbjsgKytpKSB7Ci0gICAg
ICAgICAgICB2YXIgcmVwbGF5YWJsZUNhbGwgPSBkYXRhLmNhbGxzW2ldOworICAgICAgICAgICAg
dmFyIHJlcGxheWFibGVDYWxsID0gLyoqIEB0eXBlIHtSZXBsYXlhYmxlQ2FsbH0gKi8gKGRhdGEu
Y2FsbHNbaV0pOwogICAgICAgICAgICAgaWYgKHJlcGxheWFibGVDYWxsLmZ1bmN0aW9uTmFtZSgp
ID09PSAic2F2ZSIpCiAgICAgICAgICAgICAgICAgdGhpcy5fYXBwbHlBdHRyaWJ1dGVzU3RhdGUo
cmVwbGF5YWJsZUNhbGwuYXR0YWNobWVudCgiY2FudmFzMmRBdHRyaWJ1dGVzU3RhdGUiKSk7CiAg
ICAgICAgICAgICB0aGlzLl9jYWxscy5wdXNoKHJlcGxheWFibGVDYWxsLnJlcGxheShjYWNoZSkp
OwpAQCAtMjYwOSw5ICsyNjI2LDggQEAgVHJhY2VMb2cucHJvdG90eXBlID0gewogLyoqCiAgKiBA
Y29uc3RydWN0b3IKICAqIEBwYXJhbSB7IVRyYWNlTG9nfSB0cmFjZUxvZwotICogQHBhcmFtIHtm
dW5jdGlvbigpPX0gcmVzZXRDYWxsYmFjawogICovCi1mdW5jdGlvbiBUcmFjZUxvZ1BsYXllcih0
cmFjZUxvZywgcmVzZXRDYWxsYmFjaykKK2Z1bmN0aW9uIFRyYWNlTG9nUGxheWVyKHRyYWNlTG9n
KQogewogICAgIC8qKiBAdHlwZSB7IVRyYWNlTG9nfSAqLwogICAgIHRoaXMuX3RyYWNlTG9nID0g
dHJhY2VMb2c7CkBAIC0yNjE5LDggKzI2MzUsNiBAQCBmdW5jdGlvbiBUcmFjZUxvZ1BsYXllcih0
cmFjZUxvZywgcmVzZXRDYWxsYmFjaykKICAgICB0aGlzLl9uZXh0UmVwbGF5U3RlcCA9IDA7CiAg
ICAgLyoqIEB0eXBlIHshQ2FjaGV9ICovCiAgICAgdGhpcy5fcmVwbGF5V29ybGRDYWNoZSA9IG5l
dyBDYWNoZSgpOwotICAgIC8qKiBAdHlwZSB7ZnVuY3Rpb24oKXx1bmRlZmluZWR9ICovCi0gICAg
dGhpcy5fcmVzZXRDYWxsYmFjayA9IHJlc2V0Q2FsbGJhY2s7CiB9CiAKIFRyYWNlTG9nUGxheWVy
LnByb3RvdHlwZSA9IHsKQEAgLTI2NDQsOCArMjY1OCw2IEBAIFRyYWNlTG9nUGxheWVyLnByb3Rv
dHlwZSA9IHsKICAgICB7CiAgICAgICAgIHRoaXMuX25leHRSZXBsYXlTdGVwID0gMDsKICAgICAg
ICAgdGhpcy5fcmVwbGF5V29ybGRDYWNoZS5yZXNldCgpOwotICAgICAgICBpZiAodGhpcy5fcmVz
ZXRDYWxsYmFjaykKLSAgICAgICAgICAgIHRoaXMuX3Jlc2V0Q2FsbGJhY2soKTsKICAgICB9LAog
CiAgICAgLyoqCkBAIC0yNzk5LDEwICsyODExLDggQEAgdmFyIEluamVjdGVkQ2FudmFzTW9kdWxl
ID0gZnVuY3Rpb24oKQogICAgIHRoaXMuX2xhc3RUcmFjZUxvZ0lkID0gMDsKICAgICAvKiogQHR5
cGUgeyFPYmplY3QuPHN0cmluZywgVHJhY2VMb2c+fSAqLwogICAgIHRoaXMuX3RyYWNlTG9ncyA9
IHt9OwotICAgIC8qKiBAdHlwZSB7VHJhY2VMb2dQbGF5ZXJ9ICovCi0gICAgdGhpcy5fdHJhY2VM
b2dQbGF5ZXIgPSBudWxsOwotICAgIC8qKiBAdHlwZSB7IUFycmF5Ljx7dHlwZTogc3RyaW5nLCBj
b250ZXh0OiBPYmplY3R9Pn0gKi8KLSAgICB0aGlzLl9yZXBsYXlDb250ZXh0cyA9IFtdOworICAg
IC8qKiBAdHlwZSB7IU9iamVjdC48c3RyaW5nLCBUcmFjZUxvZ1BsYXllcj59ICovCisgICAgdGhp
cy5fdHJhY2VMb2dQbGF5ZXJzID0ge307CiB9CiAKIEluamVjdGVkQ2FudmFzTW9kdWxlLnByb3Rv
dHlwZSA9IHsKQEAgLTI4MTIsNyArMjgyMiw3IEBAIEluamVjdGVkQ2FudmFzTW9kdWxlLnByb3Rv
dHlwZSA9IHsKICAgICAgKi8KICAgICB3cmFwV2ViR0xDb250ZXh0OiBmdW5jdGlvbihnbENvbnRl
eHQpCiAgICAgewotICAgICAgICB2YXIgcmVzb3VyY2UgPSBSZXNvdXJjZS5mb3JPYmplY3QoZ2xD
b250ZXh0KSB8fCBuZXcgV2ViR0xSZW5kZXJpbmdDb250ZXh0UmVzb3VyY2UoZ2xDb250ZXh0LCB0
aGlzLl9jb25zdHJ1Y3RXZWJHTFJlcGxheUNvbnRleHQuYmluZCh0aGlzLCBnbENvbnRleHQpKTsK
KyAgICAgICAgdmFyIHJlc291cmNlID0gUmVzb3VyY2UuZm9yT2JqZWN0KGdsQ29udGV4dCkgfHwg
bmV3IFdlYkdMUmVuZGVyaW5nQ29udGV4dFJlc291cmNlKGdsQ29udGV4dCk7CiAgICAgICAgIHRo
aXMuX21hbmFnZXIucmVnaXN0ZXJSZXNvdXJjZShyZXNvdXJjZSk7CiAgICAgICAgIHJldHVybiBy
ZXNvdXJjZS5wcm94eU9iamVjdCgpOwogICAgIH0sCkBAIC0yODIzLDcgKzI4MzMsNyBAQCBJbmpl
Y3RlZENhbnZhc01vZHVsZS5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgd3JhcENhbnZhczJE
Q29udGV4dDogZnVuY3Rpb24oY29udGV4dCkKICAgICB7Ci0gICAgICAgIHZhciByZXNvdXJjZSA9
IFJlc291cmNlLmZvck9iamVjdChjb250ZXh0KSB8fCBuZXcgQ2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEUmVzb3VyY2UoY29udGV4dCwgdGhpcy5fY29uc3RydWN0Q2FudmFzMkRSZXBsYXlDb250ZXh0
LmJpbmQodGhpcywgY29udGV4dCkpOworICAgICAgICB2YXIgcmVzb3VyY2UgPSBSZXNvdXJjZS5m
b3JPYmplY3QoY29udGV4dCkgfHwgbmV3IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRFJlc291cmNl
KGNvbnRleHQpOwogICAgICAgICB0aGlzLl9tYW5hZ2VyLnJlZ2lzdGVyUmVzb3VyY2UocmVzb3Vy
Y2UpOwogICAgICAgICByZXR1cm4gcmVzb3VyY2UucHJveHlPYmplY3QoKTsKICAgICB9LApAQCAt
Mjg4MCwxMSArMjg5MCw4IEBAIEluamVjdGVkQ2FudmFzTW9kdWxlLnByb3RvdHlwZSA9IHsKICAg
ICBkcm9wVHJhY2VMb2c6IGZ1bmN0aW9uKGlkKQogICAgIHsKICAgICAgICAgdGhpcy5zdG9wQ2Fw
dHVyaW5nKGlkKTsKLSAgICAgICAgaWYgKHRoaXMuX3RyYWNlTG9nUGxheWVyICYmIHRoaXMuX3Ry
YWNlTG9nUGxheWVyLnRyYWNlTG9nKCkgPT09IHRoaXMuX3RyYWNlTG9nc1tpZF0pIHsKLSAgICAg
ICAgICAgIHRoaXMuX3RyYWNlTG9nUGxheWVyID0gbnVsbDsKLSAgICAgICAgICAgIHRoaXMuX3Jl
cGxheUNvbnRleHRzID0gW107Ci0gICAgICAgIH0KICAgICAgICAgZGVsZXRlIHRoaXMuX3RyYWNl
TG9nc1tpZF07CisgICAgICAgIGRlbGV0ZSB0aGlzLl90cmFjZUxvZ1BsYXllcnNbaWRdOwogICAg
IH0sCiAKICAgICAvKioKQEAgLTI5NTQsMjQgKzI5NjEsOSBAQCBJbmplY3RlZENhbnZhc01vZHVs
ZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHZhciB0cmFjZUxvZyA9IHRoaXMuX3RyYWNlTG9nc1tp
ZF07CiAgICAgICAgIGlmICghdHJhY2VMb2cpCiAgICAgICAgICAgICByZXR1cm4gIiI7Ci0gICAg
ICAgIGlmICghdGhpcy5fdHJhY2VMb2dQbGF5ZXIgfHwgdGhpcy5fdHJhY2VMb2dQbGF5ZXIudHJh
Y2VMb2coKSAhPT0gdHJhY2VMb2cpIHsKLSAgICAgICAgICAgIHRoaXMuX3JlcGxheUNvbnRleHRz
ID0gW107Ci0gICAgICAgICAgICB0aGlzLl90cmFjZUxvZ1BsYXllciA9IG5ldyBUcmFjZUxvZ1Bs
YXllcih0cmFjZUxvZywgdGhpcy5fb25UcmFjZUxvZ1BsYXllclJlc2V0LmJpbmQodGhpcykpOwot
ICAgICAgICB9Ci0gICAgICAgIHZhciBsYXN0Q2FsbCA9IHRoaXMuX3RyYWNlTG9nUGxheWVyLnN0
ZXBUbyhzdGVwTm8pOwotICAgICAgICBpZiAoIXRoaXMuX3JlcGxheUNvbnRleHRzLmxlbmd0aCkg
ewotICAgICAgICAgICAgY29uc29sZS5lcnJvcigiQVNTRVJUX05PVF9SRUFDSEVEOiByZXBsYXlU
cmFjZUxvZyBmYWlsZWQgdG8gY3JlYXRlIGEgcmVwbGF5IGNhbnZhcz8hIik7Ci0gICAgICAgICAg
ICByZXR1cm4gIiI7Ci0gICAgICAgIH0KLSAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQgcmVwbGF5
aW5nIHNldmVyYWwgY2FudmFzZXMgc2ltdWx0YW5lb3VzbHkuCi0gICAgICAgIHZhciBsYXN0Q2Fs
bFJlc291cmNlQ29udGV4dCA9IFJlc291cmNlLndyYXBwZWRPYmplY3QobGFzdENhbGwucmVzb3Vy
Y2UoKSk7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwLCBuID0gdGhpcy5fcmVwbGF5Q29udGV4dHMu
bGVuZ3RoOyBpIDwgbjsgKytpKSB7Ci0gICAgICAgICAgICB2YXIgY29udGV4dCA9IHRoaXMuX3Jl
cGxheUNvbnRleHRzW2ldLmNvbnRleHQ7Ci0gICAgICAgICAgICBpZiAobGFzdENhbGxSZXNvdXJj
ZUNvbnRleHQgPT09IGNvbnRleHQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGNvbnRleHQuY2Fu
dmFzLnRvRGF0YVVSTCgpOwotICAgICAgICB9Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KCJBU1NF
UlRfTk9UX1JFQUNIRUQ6IHJlcGxheVRyYWNlTG9nIGZhaWxlZCB0byBtYXRjaCB0aGUgcmVwbGF5
aW5nIGNhbnZhcz8hIik7Ci0gICAgICAgIHJldHVybiB0aGlzLl9yZXBsYXlDb250ZXh0c1swXS5j
b250ZXh0LmNhbnZhcy50b0RhdGFVUkwoKTsKKyAgICAgICAgdGhpcy5fdHJhY2VMb2dQbGF5ZXJz
W2lkXSA9IHRoaXMuX3RyYWNlTG9nUGxheWVyc1tpZF0gfHwgbmV3IFRyYWNlTG9nUGxheWVyKHRy
YWNlTG9nKTsKKyAgICAgICAgdmFyIGxhc3RDYWxsID0gdGhpcy5fdHJhY2VMb2dQbGF5ZXJzW2lk
XS5zdGVwVG8oc3RlcE5vKTsKKyAgICAgICAgcmV0dXJuIGxhc3RDYWxsLnJlc291cmNlKCkudG9E
YXRhVVJMKCk7CiAgICAgfSwKIAogICAgIC8qKgpAQCAtMjk4OSw1MCArMjk4MSw2IEBAIEluamVj
dGVkQ2FudmFzTW9kdWxlLnByb3RvdHlwZSA9IHsKICAgICBfbWFrZUNvbnRleHRJZDogZnVuY3Rp
b24ocmVzb3VyY2VJZCkKICAgICB7CiAgICAgICAgIHJldHVybiAie1wiaW5qZWN0ZWRTY3JpcHRJ
ZFwiOiIgKyBpbmplY3RlZFNjcmlwdElkICsgIixcImNhbnZhc0NvbnRleHRJZFwiOiIgKyByZXNv
dXJjZUlkICsgIn0iOwotICAgIH0sCi0KLSAgICBfb25UcmFjZUxvZ1BsYXllclJlc2V0OiBmdW5j
dGlvbigpCi0gICAgewotICAgICAgICB0aGlzLl9yZXBsYXlDb250ZXh0cyA9IFtdOwotICAgIH0s
Ci0KLSAgICAvKioKLSAgICAgKiBAcGFyYW0geyFXZWJHTFJlbmRlcmluZ0NvbnRleHR9IG9yaWdp
bmFsR2xDb250ZXh0Ci0gICAgICogQHJldHVybiB7V2ViR0xSZW5kZXJpbmdDb250ZXh0fQotICAg
ICAqLwotICAgIF9jb25zdHJ1Y3RXZWJHTFJlcGxheUNvbnRleHQ6IGZ1bmN0aW9uKG9yaWdpbmFs
R2xDb250ZXh0KQotICAgIHsKLSAgICAgICAgdmFyIGNhbnZhcyA9IG9yaWdpbmFsR2xDb250ZXh0
LmNhbnZhcy5jbG9uZU5vZGUodHJ1ZSk7Ci0gICAgICAgIHZhciBhdHRyaWJ1dGVzID0gb3JpZ2lu
YWxHbENvbnRleHQuZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKTsKLSAgICAgICAgdmFyIGNvbnRleHRJ
ZHMgPSBbImV4cGVyaW1lbnRhbC13ZWJnbCIsICJ3ZWJraXQtM2QiLCAiM2QiXTsKLSAgICAgICAg
Zm9yICh2YXIgaSA9IDAsIGNvbnRleHRJZDsgY29udGV4dElkID0gY29udGV4dElkc1tpXTsgKytp
KSB7Ci0gICAgICAgICAgICB2YXIgcmVwbGF5Q29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KGNv
bnRleHRJZCwgYXR0cmlidXRlcyk7Ci0gICAgICAgICAgICBpZiAocmVwbGF5Q29udGV4dCkgewot
ICAgICAgICAgICAgICAgIHJlcGxheUNvbnRleHQgPSAvKiogQHR5cGUge1dlYkdMUmVuZGVyaW5n
Q29udGV4dH0gKi8gKFJlc291cmNlLndyYXBwZWRPYmplY3QocmVwbGF5Q29udGV4dCkpOwotICAg
ICAgICAgICAgICAgIHRoaXMuX3JlcGxheUNvbnRleHRzLnB1c2goewotICAgICAgICAgICAgICAg
ICAgICB0eXBlOiAiM2QiLAotICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiByZXBsYXlDb250
ZXh0Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHJlcGxheUNv
bnRleHQ7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIG51bGw7Ci0g
ICAgfSwKLQotICAgIC8qKgotICAgICAqIEBwYXJhbSB7IUNhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RH0gb3JpZ2luYWxDb250ZXh0Ci0gICAgICogQHJldHVybiB7Q2FudmFzUmVuZGVyaW5nQ29udGV4
dDJEfQotICAgICAqLwotICAgIF9jb25zdHJ1Y3RDYW52YXMyRFJlcGxheUNvbnRleHQ6IGZ1bmN0
aW9uKG9yaWdpbmFsQ29udGV4dCkKLSAgICB7Ci0gICAgICAgIC8vIENyZWF0ZSBhIG5ldyAyRCBj
b250ZXh0IGVhY2ggdGltZSB0byBzdGFydCB3aXRoIGFuIGVtcHR5IGNvbnRleHQgZHJhd2luZyBz
dGF0ZSBzdGFjayAobWFuYWdlZCBieSBzYXZlKCkgYW5kIHJlc3RvcmUoKSBtZXRob2RzKS4KLSAg
ICAgICAgdmFyIGNhbnZhcyA9IG9yaWdpbmFsQ29udGV4dC5jYW52YXMuY2xvbmVOb2RlKHRydWUp
OwotICAgICAgICB2YXIgcmVwbGF5Q29udGV4dCA9IC8qKiBAdHlwZSB7Q2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEfSAqLyAoUmVzb3VyY2Uud3JhcHBlZE9iamVjdChjYW52YXMuZ2V0Q29udGV4dCgi
MmQiKSkpOwotICAgICAgICB0aGlzLl9yZXBsYXlDb250ZXh0cy5wdXNoKHsKLSAgICAgICAgICAg
IHR5cGU6ICIyZCIsCi0gICAgICAgICAgICBjb250ZXh0OiByZXBsYXlDb250ZXh0Ci0gICAgICAg
IH0pOwotICAgICAgICByZXR1cm4gcmVwbGF5Q29udGV4dDsKICAgICB9CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>