<?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>106644</bug_id>
          
          <creation_ts>2013-01-11 02:13:45 -0800</creation_ts>
          <short_desc>Web Inspector: [Canvas] a minor follow-up to r137262</short_desc>
          <delta_ts>2013-01-11 04:01:27 -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>
          <dependson>104119</dependson>
          
          <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>805087</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2013-01-11 02:13:45 -0800</bug_when>
    <thetext>Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805088</commentid>
    <comment_count>1</comment_count>
      <attachid>182299</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2013-01-11 02:14:35 -0800</bug_when>
    <thetext>Created attachment 182299
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805115</commentid>
    <comment_count>2</comment_count>
      <attachid>182308</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2013-01-11 03:03:32 -0800</bug_when>
    <thetext>Created attachment 182308
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805117</commentid>
    <comment_count>3</comment_count>
      <attachid>182308</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2013-01-11 03:04:22 -0800</bug_when>
    <thetext>Comment on attachment 182308
Patch

Wrong bug ID</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805146</commentid>
    <comment_count>4</comment_count>
      <attachid>182299</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-01-11 03:54:42 -0800</bug_when>
    <thetext>Comment on attachment 182299
Patch

A test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805152</commentid>
    <comment_count>5</comment_count>
      <attachid>182299</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-11 04:01:22 -0800</bug_when>
    <thetext>Comment on attachment 182299
Patch

Clearing flags on attachment: 182299

Committed r139426: &lt;http://trac.webkit.org/changeset/139426&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805153</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-11 04:01:27 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182299</attachid>
            <date>2013-01-11 02:14:35 -0800</date>
            <delta_ts>2013-01-11 04:01:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106644-20130111141137.patch</filename>
            <type>text/plain</type>
            <size>1435</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NDEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWRiNGQ1MmYzZGZlMDg3
NzhlYmMwMmVkODdjMmViYzBkNmNkZmNjOS4uMzJhNmQ1YjJkZTRmOWUzMmZmNjJhYjEyMmI0ZjAz
ZTViMjdmNGY2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEzLTAxLTExICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtDYW52YXNdIGEgbWlub3IgZm9sbG93LXVwIHRvIHIxMzcyNjIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjY0NAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2Ny
aXB0Q2FudmFzTW9kdWxlU291cmNlLmpzOgorICAgICAgICAoLik6CisKIDIwMTMtMDEtMTAgIEdy
emVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWprb3dza2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAg
T24gTGludXgsIHNob3VsZCBiZSBhYmxlIHRvIGdldCBzcGVsbGluZyBzdWdnZXN0aW9ucyB3aXRo
b3V0IHNlbGVjdGluZyB0aGUgbWlzc3BlbGxlZCB3b3JkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGVTb3VyY2UuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGVTb3VyY2UuanMK
aW5kZXggZDYxZWExMWMxODllYWEyYzcwZDU2NGZlYzMyOTAzNjJjYTVhNTI5Yy4uYzg0NGQ3Yzcx
NTM4MTY4MmMyOGI1YTkwNDUyNDBmZDE3M2E2NTg0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlU291cmNlLmpzCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZVNvdXJjZS5q
cwpAQCAtNzQ1LDYgKzc0NSw3IEBAIFJlc291cmNlLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhp
cy5faWQgPSBkYXRhLmlkOwogICAgICAgICB0aGlzLl9yZXNvdXJjZU1hbmFnZXIgPSBudWxsOwog
ICAgICAgICB0aGlzLl9jYWxscyA9IFtdOworICAgICAgICB0aGlzLl9ib3VuZFJlc291cmNlcyA9
IE9iamVjdC5jcmVhdGUobnVsbCk7CiAgICAgICAgIHRoaXMuX3dyYXBwZWRPYmplY3QgPSBudWxs
OwogICAgICAgICBjYWNoZS5wdXQoZGF0YS5pZCwgdGhpcyk7IC8vIFB1dCBpbnRvIHRoZSBjYWNo
ZSBlYXJseSB0byBhdm9pZCBsb29wcy4KICAgICAgICAgdGhpcy5fZG9SZXBsYXlDYWxscyhkYXRh
LCBjYWNoZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182308</attachid>
            <date>2013-01-11 03:03:32 -0800</date>
            <delta_ts>2013-01-11 03:04:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106644-20130111150034.patch</filename>
            <type>text/plain</type>
            <size>28516</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NDEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWRiNGQ1MmYzZGZlMDg3
NzhlYmMwMmVkODdjMmViYzBkNmNkZmNjOS4uZTY1MDJiODNmZTE4ZjgwMGUzOTdjNGUyMjZkM2Iz
MzI3NDg3NjNkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEzLTAxLTExICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtDYW52YXNdIGEgbWlub3IgZm9sbG93LXVwIHRvIHIxMzcyNjIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjY0NAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENhbGxBcmd1bWVudCB0eXBlIGFic3Ry
YWN0aW9uIHRvIGRlc2NyaWJlIGFyZ3VtZW50cyBvZiBhIGNhbnZhcyBjb250ZXh0IGNhbGwuCisg
ICAgICAgIERyaXZlLWJ5OiBJbnRyb2R1Y2UgYSBDYW52YXNDb250ZXh0IHRvIGZpeCB0aGUgd3Jv
bmcgY29udGV4dElkIHZhbHVlIGluIHRoZSBwcm90b2NvbC4KKyAgICAgICAgVGhlIGNvbnRleHRJ
ZCBzaG91bGQgcG9pbnQgdG8gdGhlIFJlc291cmNlIHRoYXQgcmVwcmVzZW50cyBhIGNvbnRleHQg
KDJEIG9yIDNEIGNhbnZhcykuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRD
YW52YXNNb2R1bGVTb3VyY2UuanM6CisgICAgICAgICguKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9DYW52YXNQcm9m
aWxlVmlldy5qczoKKwogMjAxMy0wMS0xMCAgR3J6ZWdvcnogQ3phamtvd3NraSAgPGcuY3phamtv
d3NraUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBPbiBMaW51eCwgc2hvdWxkIGJlIGFibGUgdG8g
Z2V0IHNwZWxsaW5nIHN1Z2dlc3Rpb25zIHdpdGhvdXQgc2VsZWN0aW5nIHRoZSBtaXNzcGVsbGVk
IHdvcmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlw
dENhbnZhc01vZHVsZVNvdXJjZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3Rl
ZFNjcmlwdENhbnZhc01vZHVsZVNvdXJjZS5qcwppbmRleCBkNjFlYTExYzE4OWVhYTJjNzBkNTY0
ZmVjMzI5MDM2MmNhNWE1MjljLi40OThmOGYzNzIyMTVlZmM3YWI2YmQ5YjExYmI3ZjkxZjQ1MDY0
YWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRD
YW52YXNNb2R1bGVTb3VyY2UuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVj
dGVkU2NyaXB0Q2FudmFzTW9kdWxlU291cmNlLmpzCkBAIC0zOTYsNyArMzk2LDggQEAgQ2FsbC5w
cm90b3R5cGUgPSB7CiAgICAgc2V0QXR0YWNobWVudDogZnVuY3Rpb24obmFtZSwgYXR0YWNobWVu
dCkKICAgICB7CiAgICAgICAgIGlmIChhdHRhY2htZW50KSB7Ci0gICAgICAgICAgICB0aGlzLl9h
dHRhY2htZW50cyA9IHRoaXMuX2F0dGFjaG1lbnRzIHx8IHt9OworICAgICAgICAgICAgLyoqIEB0
eXBlIHtPYmplY3QuPHN0cmluZywgT2JqZWN0Pn0gKi8KKyAgICAgICAgICAgIHRoaXMuX2F0dGFj
aG1lbnRzID0gdGhpcy5fYXR0YWNobWVudHMgfHwgT2JqZWN0LmNyZWF0ZShudWxsKTsKICAgICAg
ICAgICAgIHRoaXMuX2F0dGFjaG1lbnRzW25hbWVdID0gYXR0YWNobWVudDsKICAgICAgICAgfSBl
bHNlIGlmICh0aGlzLl9hdHRhY2htZW50cykKICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9hdHRh
Y2htZW50c1tuYW1lXTsKQEAgLTQ0Niw3ICs0NDcsNyBAQCBDYWxsLnByb3RvdHlwZSA9IHsKICAg
ICAgKi8KICAgICByZXBsYXk6IGZ1bmN0aW9uKHJlcGxheWFibGVDYWxsLCBjYWNoZSkKICAgICB7
Ci0gICAgICAgIHZhciByZXBsYXlPYmplY3QgPSBSZXBsYXlhYmxlUmVzb3VyY2UucmVwbGF5KHJl
cGxheWFibGVDYWxsLnJlc291cmNlKCksIGNhY2hlKTsKKyAgICAgICAgdmFyIHJlcGxheU9iamVj
dCA9IFJlcGxheWFibGVSZXNvdXJjZS5yZXBsYXkocmVwbGF5YWJsZUNhbGwucmVwbGF5YWJsZVJl
c291cmNlKCksIGNhY2hlKTsKICAgICAgICAgdmFyIHJlcGxheUFyZ3MgPSByZXBsYXlhYmxlQ2Fs
bC5hcmdzKCkubWFwKGZ1bmN0aW9uKG9iaikgewogICAgICAgICAgICAgcmV0dXJuIFJlcGxheWFi
bGVSZXNvdXJjZS5yZXBsYXkob2JqLCBjYWNoZSk7CiAgICAgICAgIH0pOwpAQCAtNTAyLDcgKzUw
Myw3IEBAIFJlcGxheWFibGVDYWxsLnByb3RvdHlwZSA9IHsKICAgICAvKioKICAgICAgKiBAcmV0
dXJuIHtSZXBsYXlhYmxlUmVzb3VyY2V9CiAgICAgICovCi0gICAgcmVzb3VyY2U6IGZ1bmN0aW9u
KCkKKyAgICByZXBsYXlhYmxlUmVzb3VyY2U6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHJl
dHVybiB0aGlzLl90aGlzT2JqZWN0OwogICAgIH0sCkBAIC01NzgsMTEgKzU3OSwxNiBAQCBSZXBs
YXlhYmxlQ2FsbC5wcm90b3R5cGUgPSB7CiAvKioKICAqIEBjb25zdHJ1Y3RvcgogICogQHBhcmFt
IHshT2JqZWN0fSB3cmFwcGVkT2JqZWN0CisgKiBAcGFyYW0ge3N0cmluZ30gbmFtZQogICovCi1m
dW5jdGlvbiBSZXNvdXJjZSh3cmFwcGVkT2JqZWN0KQorZnVuY3Rpb24gUmVzb3VyY2Uod3JhcHBl
ZE9iamVjdCwgbmFtZSkKIHsKICAgICAvKiogQHR5cGUge251bWJlcn0gKi8KICAgICB0aGlzLl9p
ZCA9ICsrUmVzb3VyY2UuX3VuaXF1ZUlkOworICAgIC8qKiBAdHlwZSB7c3RyaW5nfSAqLworICAg
IHRoaXMuX25hbWUgPSBuYW1lIHx8ICJSZXNvdXJjZSI7CisgICAgLyoqIEB0eXBlIHtudW1iZXJ9
ICovCisgICAgdGhpcy5fa2luZElkID0gUmVzb3VyY2UuX3VuaXF1ZUtpbmRJZHNbdGhpcy5fbmFt
ZV0gPSAoUmVzb3VyY2UuX3VuaXF1ZUtpbmRJZHNbdGhpcy5fbmFtZV0gfHwgMCkgKyAxOwogICAg
IC8qKiBAdHlwZSB7UmVzb3VyY2VUcmFja2luZ01hbmFnZXJ9ICovCiAgICAgdGhpcy5fcmVzb3Vy
Y2VNYW5hZ2VyID0gbnVsbDsKICAgICAvKiogQHR5cGUgeyFBcnJheS48Q2FsbD59ICovCkBAIC02
MDUsNiArNjExLDExIEBAIGZ1bmN0aW9uIFJlc291cmNlKHdyYXBwZWRPYmplY3QpCiBSZXNvdXJj
ZS5fdW5pcXVlSWQgPSAwOwogCiAvKioKKyAqIEB0eXBlIHshT2JqZWN0LjxzdHJpbmcsIG51bWJl
cj59CisgKi8KK1Jlc291cmNlLl91bmlxdWVLaW5kSWRzID0ge307CisKKy8qKgogICogQHBhcmFt
IHsqfSBvYmoKICAqIEByZXR1cm4ge1Jlc291cmNlfQogICovCkBAIC03MDMsNiArNzE0LDI5IEBA
IFJlc291cmNlLnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoqCisgICAgICogQHJldHVy
biB7Q29udGV4dFJlc291cmNlfQorICAgICAqLworICAgIGNvbnRleHRSZXNvdXJjZTogZnVuY3Rp
b24oKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMgaW5zdGFuY2VvZiBDb250ZXh0UmVzb3VyY2Up
CisgICAgICAgICAgICByZXR1cm4gLyoqIEB0eXBlIHtDb250ZXh0UmVzb3VyY2V9ICovICh0aGlz
KTsKKworICAgICAgICBpZiAodGhpcy5fY2FsY3VsYXRpbmdDb250ZXh0UmVzb3VyY2UpCisgICAg
ICAgICAgICByZXR1cm4gbnVsbDsKKworICAgICAgICB0aGlzLl9jYWxjdWxhdGluZ0NvbnRleHRS
ZXNvdXJjZSA9IHRydWU7CisgICAgICAgIHZhciByZXN1bHQgPSBudWxsOworICAgICAgICBmb3Ig
KHZhciBpID0gMCwgbiA9IHRoaXMuX2NhbGxzLmxlbmd0aDsgaSA8IG47ICsraSkgeworICAgICAg
ICAgICAgcmVzdWx0ID0gdGhpcy5fY2FsbHNbaV0ucmVzb3VyY2UoKS5jb250ZXh0UmVzb3VyY2Uo
KTsKKyAgICAgICAgICAgIGlmIChyZXN1bHQpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIH0KKyAgICAgICAgZGVsZXRlIHRoaXMuX2NhbGN1bGF0aW5nQ29udGV4dFJlc291cmNlOwor
ICAgICAgICBjb25zb2xlLmFzc2VydChyZXN1bHQsICJGYWlsZWQgdG8gZmluZCBjb250ZXh0IHJl
c291cmNlIGZvciAiICsgdGhpcy5fbmFtZSArICJAIiArIHRoaXMuX2tpbmRJZCk7CisgICAgICAg
IHJldHVybiByZXN1bHQ7CisgICAgfSwKKworICAgIC8qKgogICAgICAqIEBwYXJhbSB7IUNhY2hl
fSBjYWNoZQogICAgICAqIEByZXR1cm4geyFSZXBsYXlhYmxlUmVzb3VyY2V9CiAgICAgICovCkBA
IC03MTIsNyArNzQ2LDkgQEAgUmVzb3VyY2UucHJvdG90eXBlID0gewogICAgICAgICBpZiAocmVz
dWx0KQogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAgdmFyIGRhdGEgPSB7Ci0g
ICAgICAgICAgICBpZDogdGhpcy5faWQKKyAgICAgICAgICAgIGlkOiB0aGlzLl9pZCwKKyAgICAg
ICAgICAgIG5hbWU6IHRoaXMuX25hbWUsCisgICAgICAgICAgICBraW5kSWQ6IHRoaXMuX2tpbmRJ
ZAogICAgICAgICB9OwogICAgICAgICByZXN1bHQgPSBuZXcgUmVwbGF5YWJsZVJlc291cmNlKHRo
aXMsIGRhdGEpOwogICAgICAgICBjYWNoZS5wdXQodGhpcy5faWQsIHJlc3VsdCk7IC8vIFB1dCBp
bnRvIHRoZSBjYWNoZSBlYXJseSB0byBhdm9pZCBsb29wcy4KQEAgLTcyMCw2ICs3NTYsOSBAQCBS
ZXNvdXJjZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm4gY2FsbC50b1JlcGxheWFi
bGUoY2FjaGUpOwogICAgICAgICB9KTsKICAgICAgICAgdGhpcy5fcG9wdWxhdGVSZXBsYXlhYmxl
RGF0YShkYXRhLCBjYWNoZSk7CisgICAgICAgIHZhciBjb250ZXh0UmVzb3VyY2UgPSB0aGlzLmNv
bnRleHRSZXNvdXJjZSgpOworICAgICAgICBpZiAoY29udGV4dFJlc291cmNlICE9PSB0aGlzKQor
ICAgICAgICAgICAgZGF0YS5jb250ZXh0UmVzb3VyY2UgPSBSZXNvdXJjZS50b1JlcGxheWFibGUo
Y29udGV4dFJlc291cmNlLCBjYWNoZSk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfSwK
IApAQCAtNzQzLDYgKzc4Miw4IEBAIFJlc291cmNlLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYg
KHJlc291cmNlKQogICAgICAgICAgICAgcmV0dXJuIHJlc291cmNlOwogICAgICAgICB0aGlzLl9p
ZCA9IGRhdGEuaWQ7CisgICAgICAgIHRoaXMuX25hbWUgPSBkYXRhLm5hbWU7CisgICAgICAgIHRo
aXMuX2tpbmRJZCA9IGRhdGEua2luZElkOwogICAgICAgICB0aGlzLl9yZXNvdXJjZU1hbmFnZXIg
PSBudWxsOwogICAgICAgICB0aGlzLl9jYWxscyA9IFtdOwogICAgICAgICB0aGlzLl93cmFwcGVk
T2JqZWN0ID0gbnVsbDsKQEAgLTk4MiwxMCArMTAyMywxMSBAQCBSZXNvdXJjZS5XcmFwRnVuY3Rp
b24ucHJvdG90eXBlID0gewogfQogCiAvKioKLSAqIEBwYXJhbSB7ZnVuY3Rpb24obmV3OlJlc291
cmNlLCAhT2JqZWN0KX0gcmVzb3VyY2VDb25zdHJ1Y3RvcgorICogQHBhcmFtIHtmdW5jdGlvbihu
ZXc6UmVzb3VyY2UsICFPYmplY3QsIHN0cmluZyl9IHJlc291cmNlQ29uc3RydWN0b3IKKyAqIEBw
YXJhbSB7c3RyaW5nfSByZXNvdXJjZU5hbWUKICAqIEByZXR1cm4ge2Z1bmN0aW9uKHRoaXM6UmVz
b3VyY2UuV3JhcEZ1bmN0aW9uKX0KICAqLwotUmVzb3VyY2UuV3JhcEZ1bmN0aW9uLnJlc291cmNl
RmFjdG9yeU1ldGhvZCA9IGZ1bmN0aW9uKHJlc291cmNlQ29uc3RydWN0b3IpCitSZXNvdXJjZS5X
cmFwRnVuY3Rpb24ucmVzb3VyY2VGYWN0b3J5TWV0aG9kID0gZnVuY3Rpb24ocmVzb3VyY2VDb25z
dHJ1Y3RvciwgcmVzb3VyY2VOYW1lKQogewogICAgIC8qKiBAdGhpcyBSZXNvdXJjZS5XcmFwRnVu
Y3Rpb24gKi8KICAgICByZXR1cm4gZnVuY3Rpb24oKQpAQCAtOTkzLDcgKzEwMzUsNyBAQCBSZXNv
dXJjZS5XcmFwRnVuY3Rpb24ucmVzb3VyY2VGYWN0b3J5TWV0aG9kID0gZnVuY3Rpb24ocmVzb3Vy
Y2VDb25zdHJ1Y3RvcikKICAgICAgICAgdmFyIHdyYXBwZWRPYmplY3QgPSAvKiogQHR5cGUge09i
amVjdH0gKi8gKHRoaXMucmVzdWx0KCkpOwogICAgICAgICBpZiAoIXdyYXBwZWRPYmplY3QpCiAg
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIHZhciByZXNvdXJjZSA9IG5ldyByZXNvdXJjZUNv
bnN0cnVjdG9yKHdyYXBwZWRPYmplY3QpOworICAgICAgICB2YXIgcmVzb3VyY2UgPSBuZXcgcmVz
b3VyY2VDb25zdHJ1Y3Rvcih3cmFwcGVkT2JqZWN0LCByZXNvdXJjZU5hbWUpOwogICAgICAgICB2
YXIgbWFuYWdlciA9IHRoaXMuX3Jlc291cmNlLm1hbmFnZXIoKTsKICAgICAgICAgaWYgKG1hbmFn
ZXIpCiAgICAgICAgICAgICBtYW5hZ2VyLnJlZ2lzdGVyUmVzb3VyY2UocmVzb3VyY2UpOwpAQCAt
MTAyMyw2ICsxMDY1LDIyIEBAIFJlcGxheWFibGVSZXNvdXJjZS5wcm90b3R5cGUgPSB7CiAgICAg
fSwKIAogICAgIC8qKgorICAgICAqIEByZXR1cm4ge3N0cmluZ30KKyAgICAgKi8KKyAgICBkZXNj
cmlwdGlvbjogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGEubmFt
ZSArICJAIiArIHRoaXMuX2RhdGEua2luZElkOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBA
cmV0dXJuIHshUmVwbGF5YWJsZVJlc291cmNlfQorICAgICAqLworICAgIHJlcGxheWFibGVDb250
ZXh0UmVzb3VyY2U6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9kYXRh
LmNvbnRleHRSZXNvdXJjZSB8fCB0aGlzOworICAgIH0sCisKKyAgICAvKioKICAgICAgKiBAcGFy
YW0geyFDYWNoZX0gY2FjaGUKICAgICAgKiBAcmV0dXJuIHshUmVzb3VyY2V9CiAgICAgICovCkBA
IC0xMDQ4LDEwICsxMTA2LDI3IEBAIFJlcGxheWFibGVSZXNvdXJjZS5yZXBsYXkgPSBmdW5jdGlv
bihvYmosIGNhY2hlKQogLyoqCiAgKiBAY29uc3RydWN0b3IKICAqIEBleHRlbmRzIHtSZXNvdXJj
ZX0KKyAqIEBwYXJhbSB7IU9iamVjdH0gd3JhcHBlZE9iamVjdAorICogQHBhcmFtIHtzdHJpbmd9
IG5hbWUKKyAqLworZnVuY3Rpb24gQ29udGV4dFJlc291cmNlKHdyYXBwZWRPYmplY3QsIG5hbWUp
Cit7CisgICAgUmVzb3VyY2UuY2FsbCh0aGlzLCB3cmFwcGVkT2JqZWN0LCBuYW1lKTsKK30KKwor
Q29udGV4dFJlc291cmNlLnByb3RvdHlwZSA9IHsKKyAgICBfX3Byb3RvX186IFJlc291cmNlLnBy
b3RvdHlwZQorfQorCisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICogQGV4dGVuZHMge1Jlc291cmNl
fQorICogQHBhcmFtIHshT2JqZWN0fSB3cmFwcGVkT2JqZWN0CisgKiBAcGFyYW0ge3N0cmluZ30g
bmFtZQogICovCi1mdW5jdGlvbiBMb2dFdmVyeXRoaW5nUmVzb3VyY2Uod3JhcHBlZE9iamVjdCkK
K2Z1bmN0aW9uIExvZ0V2ZXJ5dGhpbmdSZXNvdXJjZSh3cmFwcGVkT2JqZWN0LCBuYW1lKQogewot
ICAgIFJlc291cmNlLmNhbGwodGhpcywgd3JhcHBlZE9iamVjdCk7CisgICAgUmVzb3VyY2UuY2Fs
bCh0aGlzLCB3cmFwcGVkT2JqZWN0LCBuYW1lKTsKIH0KIAogTG9nRXZlcnl0aGluZ1Jlc291cmNl
LnByb3RvdHlwZSA9IHsKQEAgLTEwODUsMTAgKzExNjAsMTIgQEAgTG9nRXZlcnl0aGluZ1Jlc291
cmNlLnByb3RvdHlwZSA9IHsKIC8qKgogICogQGNvbnN0cnVjdG9yCiAgKiBAZXh0ZW5kcyB7UmVz
b3VyY2V9CisgKiBAcGFyYW0geyFPYmplY3R9IHdyYXBwZWRPYmplY3QKKyAqIEBwYXJhbSB7c3Ry
aW5nfSBuYW1lCiAgKi8KLWZ1bmN0aW9uIFdlYkdMQm91bmRSZXNvdXJjZSh3cmFwcGVkT2JqZWN0
KQorZnVuY3Rpb24gV2ViR0xCb3VuZFJlc291cmNlKHdyYXBwZWRPYmplY3QsIG5hbWUpCiB7Ci0g
ICAgUmVzb3VyY2UuY2FsbCh0aGlzLCB3cmFwcGVkT2JqZWN0KTsKKyAgICBSZXNvdXJjZS5jYWxs
KHRoaXMsIHdyYXBwZWRPYmplY3QsIG5hbWUpOwogICAgIC8qKiBAdHlwZSB7IU9iamVjdC48c3Ry
aW5nLCAqPn0gKi8KICAgICB0aGlzLl9zdGF0ZSA9IHt9OwogfQpAQCAtMTExNSwxNCArMTE5Miw5
IEBAIFdlYkdMQm91bmRSZXNvdXJjZS5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgX2RvUmVw
bGF5Q2FsbHM6IGZ1bmN0aW9uKGRhdGEsIGNhY2hlKQogICAgIHsKLSAgICAgICAgdmFyIHN0YXRl
ID0ge307Ci0gICAgICAgIE9iamVjdC5rZXlzKGRhdGEuc3RhdGUpLmZvckVhY2goZnVuY3Rpb24o
cGFyYW1ldGVyKSB7Ci0gICAgICAgICAgICBzdGF0ZVtwYXJhbWV0ZXJdID0gUmVwbGF5YWJsZVJl
c291cmNlLnJlcGxheShkYXRhLnN0YXRlW3BhcmFtZXRlcl0sIGNhY2hlKTsKLSAgICAgICAgfSk7
Ci0gICAgICAgIHRoaXMuX3N0YXRlID0gc3RhdGU7Ci0KICAgICAgICAgdmFyIGdsID0gdGhpcy5f
cmVwbGF5Q29udGV4dFJlc291cmNlKGRhdGEsIGNhY2hlKS53cmFwcGVkT2JqZWN0KCk7CiAKKyAg
ICAgICAgLyoqIEB0eXBlIHshT2JqZWN0LjxzdHJpbmcsIEFycmF5LjxzdHJpbmc+Pn0gKi8KICAg
ICAgICAgdmFyIGJpbmRpbmdzRGF0YSA9IHsKICAgICAgICAgICAgIFRFWFRVUkVfMkQ6IFsiYmlu
ZFRleHR1cmUiLCAiVEVYVFVSRV9CSU5ESU5HXzJEIl0sCiAgICAgICAgICAgICBURVhUVVJFX0NV
QkVfTUFQOiBbImJpbmRUZXh0dXJlIiwgIlRFWFRVUkVfQklORElOR19DVUJFX01BUCJdLApAQCAt
MTEzNyw2ICsxMjA5LDExIEBAIFdlYkdMQm91bmRSZXNvdXJjZS5wcm90b3R5cGUgPSB7CiAgICAg
ICAgICAgICBvcmlnaW5hbEJpbmRpbmdzW2JpbmRpbmdUYXJnZXRdID0gZ2wuZ2V0UGFyYW1ldGVy
KGdsW2JpbmRpbmdQYXJhbWV0ZXJdKTsKICAgICAgICAgfSk7CiAKKyAgICAgICAgdmFyIHN0YXRl
ID0ge307CisgICAgICAgIE9iamVjdC5rZXlzKGRhdGEuc3RhdGUpLmZvckVhY2goZnVuY3Rpb24o
cGFyYW1ldGVyKSB7CisgICAgICAgICAgICBzdGF0ZVtwYXJhbWV0ZXJdID0gUmVwbGF5YWJsZVJl
c291cmNlLnJlcGxheShkYXRhLnN0YXRlW3BhcmFtZXRlcl0sIGNhY2hlKTsKKyAgICAgICAgfSk7
CisgICAgICAgIHRoaXMuX3N0YXRlID0gc3RhdGU7CiAgICAgICAgIFJlc291cmNlLnByb3RvdHlw
ZS5fZG9SZXBsYXlDYWxscy5jYWxsKHRoaXMsIGRhdGEsIGNhY2hlKTsKIAogICAgICAgICBPYmpl
Y3Qua2V5cyhiaW5kaW5nc0RhdGEpLmZvckVhY2goZnVuY3Rpb24oYmluZGluZ1RhcmdldCkgewpA
QCAtMTE1Miw5ICsxMjI5LDkgQEAgV2ViR0xCb3VuZFJlc291cmNlLnByb3RvdHlwZSA9IHsKICAg
ICAgKi8KICAgICBfcmVwbGF5Q29udGV4dFJlc291cmNlOiBmdW5jdGlvbihkYXRhLCBjYWNoZSkK
ICAgICB7Ci0gICAgICAgIHZhciBjYWxscyA9IGRhdGEuY2FsbHM7CisgICAgICAgIHZhciBjYWxs
cyA9IC8qKiBAdHlwZSB7IUFycmF5LjxSZXBsYXlhYmxlQ2FsbD59ICovIChkYXRhLmNhbGxzKTsK
ICAgICAgICAgZm9yICh2YXIgaSA9IDAsIG4gPSBjYWxscy5sZW5ndGg7IGkgPCBuOyArK2kpIHsK
LSAgICAgICAgICAgIHZhciByZXNvdXJjZSA9IFJlcGxheWFibGVSZXNvdXJjZS5yZXBsYXkoY2Fs
bHNbaV0ucmVzb3VyY2UoKSwgY2FjaGUpOworICAgICAgICAgICAgdmFyIHJlc291cmNlID0gUmVw
bGF5YWJsZVJlc291cmNlLnJlcGxheShjYWxsc1tpXS5yZXBsYXlhYmxlUmVzb3VyY2UoKSwgY2Fj
aGUpOwogICAgICAgICAgICAgdmFyIGNvbnRleHRSZXNvdXJjZSA9IFdlYkdMUmVuZGVyaW5nQ29u
dGV4dFJlc291cmNlLmZvck9iamVjdChyZXNvdXJjZSk7CiAgICAgICAgICAgICBpZiAoY29udGV4
dFJlc291cmNlKQogICAgICAgICAgICAgICAgIHJldHVybiBjb250ZXh0UmVzb3VyY2U7CkBAIC0x
MTgwLDEwICsxMjU3LDEyIEBAIFdlYkdMQm91bmRSZXNvdXJjZS5wcm90b3R5cGUgPSB7CiAvKioK
ICAqIEBjb25zdHJ1Y3RvcgogICogQGV4dGVuZHMge1dlYkdMQm91bmRSZXNvdXJjZX0KKyAqIEBw
YXJhbSB7IU9iamVjdH0gd3JhcHBlZE9iamVjdAorICogQHBhcmFtIHtzdHJpbmd9IG5hbWUKICAq
LwotZnVuY3Rpb24gV2ViR0xUZXh0dXJlUmVzb3VyY2Uod3JhcHBlZE9iamVjdCkKK2Z1bmN0aW9u
IFdlYkdMVGV4dHVyZVJlc291cmNlKHdyYXBwZWRPYmplY3QsIG5hbWUpCiB7Ci0gICAgV2ViR0xC
b3VuZFJlc291cmNlLmNhbGwodGhpcywgd3JhcHBlZE9iamVjdCk7CisgICAgV2ViR0xCb3VuZFJl
c291cmNlLmNhbGwodGhpcywgd3JhcHBlZE9iamVjdCwgbmFtZSk7CiB9CiAKIFdlYkdMVGV4dHVy
ZVJlc291cmNlLnByb3RvdHlwZSA9IHsKQEAgLTEyNTMsNyArMTMzMiw3IEBAIFdlYkdMVGV4dHVy
ZVJlc291cmNlLnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIHZhciBnbFJlc291cmNlID0g
V2ViR0xSZW5kZXJpbmdDb250ZXh0UmVzb3VyY2UuZm9yT2JqZWN0KGNhbGwucmVzb3VyY2UoKSk7
CiAgICAgICAgIHZhciBnbCA9IGdsUmVzb3VyY2Uud3JhcHBlZE9iamVjdCgpOwotICAgICAgICB2
YXIgZnJhbWVidWZmZXJSZXNvdXJjZSA9IC8qKiBAdHlwZSB7V2ViR0xGcmFtZWJ1ZmZlclJlc291
cmNlfSAqLyBnbFJlc291cmNlLmN1cnJlbnRCaW5kaW5nKGdsLkZSQU1FQlVGRkVSKTsKKyAgICAg
ICAgdmFyIGZyYW1lYnVmZmVyUmVzb3VyY2UgPSAvKiogQHR5cGUge1dlYkdMRnJhbWVidWZmZXJS
ZXNvdXJjZX0gKi8gKGdsUmVzb3VyY2UuY3VycmVudEJpbmRpbmcoZ2wuRlJBTUVCVUZGRVIpKTsK
ICAgICAgICAgaWYgKGZyYW1lYnVmZmVyUmVzb3VyY2UpCiAgICAgICAgICAgICB0aGlzLnB1c2hD
YWxsKG5ldyBDYWxsKGdsUmVzb3VyY2UsICJiaW5kRnJhbWVidWZmZXIiLCBbZ2wuRlJBTUVCVUZG
RVIsIGZyYW1lYnVmZmVyUmVzb3VyY2VdKSk7CiAgICAgICAgIGVsc2UgewpAQCAtMTI2OSwxMCAr
MTM0OCwxMiBAQCBXZWJHTFRleHR1cmVSZXNvdXJjZS5wcm90b3R5cGUgPSB7CiAvKioKICAqIEBj
b25zdHJ1Y3RvcgogICogQGV4dGVuZHMge1Jlc291cmNlfQorICogQHBhcmFtIHshT2JqZWN0fSB3
cmFwcGVkT2JqZWN0CisgKiBAcGFyYW0ge3N0cmluZ30gbmFtZQogICovCi1mdW5jdGlvbiBXZWJH
TFByb2dyYW1SZXNvdXJjZSh3cmFwcGVkT2JqZWN0KQorZnVuY3Rpb24gV2ViR0xQcm9ncmFtUmVz
b3VyY2Uod3JhcHBlZE9iamVjdCwgbmFtZSkKIHsKLSAgICBSZXNvdXJjZS5jYWxsKHRoaXMsIHdy
YXBwZWRPYmplY3QpOworICAgIFJlc291cmNlLmNhbGwodGhpcywgd3JhcHBlZE9iamVjdCwgbmFt
ZSk7CiB9CiAKIFdlYkdMUHJvZ3JhbVJlc291cmNlLnByb3RvdHlwZSA9IHsKQEAgLTEyOTksNyAr
MTM4MCw3IEBAIFdlYkdMUHJvZ3JhbVJlc291cmNlLnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFy
IG9yaWdpbmFsRXJyb3JzID0gZ2xSZXNvdXJjZS5nZXRBbGxFcnJvcnMoKTsKIAogICAgICAgICB2
YXIgdW5pZm9ybXMgPSBbXTsKLSAgICAgICAgdmFyIHVuaWZvcm1zQ291bnQgPSAvKiogQHR5cGUg
e251bWJlcn0gKi8gZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9ncmFtLCBnbC5BQ1RJVkVfVU5J
Rk9STVMpOworICAgICAgICB2YXIgdW5pZm9ybXNDb3VudCA9IC8qKiBAdHlwZSB7bnVtYmVyfSAq
LyAoZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9ncmFtLCBnbC5BQ1RJVkVfVU5JRk9STVMpKTsK
ICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB1bmlmb3Jtc0NvdW50OyArK2kpIHsKICAgICAg
ICAgICAgIHZhciBhY3RpdmVJbmZvID0gZ2wuZ2V0QWN0aXZlVW5pZm9ybShwcm9ncmFtLCBpKTsK
ICAgICAgICAgICAgIGlmICghYWN0aXZlSW5mbykKQEAgLTE0MDIsMTAgKzE0ODMsMTIgQEAgV2Vi
R0xQcm9ncmFtUmVzb3VyY2UucHJvdG90eXBlID0gewogLyoqCiAgKiBAY29uc3RydWN0b3IKICAq
IEBleHRlbmRzIHtSZXNvdXJjZX0KKyAqIEBwYXJhbSB7IU9iamVjdH0gd3JhcHBlZE9iamVjdAor
ICogQHBhcmFtIHtzdHJpbmd9IG5hbWUKICAqLwotZnVuY3Rpb24gV2ViR0xTaGFkZXJSZXNvdXJj
ZSh3cmFwcGVkT2JqZWN0KQorZnVuY3Rpb24gV2ViR0xTaGFkZXJSZXNvdXJjZSh3cmFwcGVkT2Jq
ZWN0LCBuYW1lKQogewotICAgIFJlc291cmNlLmNhbGwodGhpcywgd3JhcHBlZE9iamVjdCk7Cisg
ICAgUmVzb3VyY2UuY2FsbCh0aGlzLCB3cmFwcGVkT2JqZWN0LCBuYW1lKTsKIH0KIAogV2ViR0xT
aGFkZXJSZXNvdXJjZS5wcm90b3R5cGUgPSB7CkBAIC0xNDM4LDEwICsxNTIxLDEyIEBAIFdlYkdM
U2hhZGVyUmVzb3VyY2UucHJvdG90eXBlID0gewogLyoqCiAgKiBAY29uc3RydWN0b3IKICAqIEBl
eHRlbmRzIHtXZWJHTEJvdW5kUmVzb3VyY2V9CisgKiBAcGFyYW0geyFPYmplY3R9IHdyYXBwZWRP
YmplY3QKKyAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lCiAgKi8KLWZ1bmN0aW9uIFdlYkdMQnVmZmVy
UmVzb3VyY2Uod3JhcHBlZE9iamVjdCkKK2Z1bmN0aW9uIFdlYkdMQnVmZmVyUmVzb3VyY2Uod3Jh
cHBlZE9iamVjdCwgbmFtZSkKIHsKLSAgICBXZWJHTEJvdW5kUmVzb3VyY2UuY2FsbCh0aGlzLCB3
cmFwcGVkT2JqZWN0KTsKKyAgICBXZWJHTEJvdW5kUmVzb3VyY2UuY2FsbCh0aGlzLCB3cmFwcGVk
T2JqZWN0LCBuYW1lKTsKIH0KIAogV2ViR0xCdWZmZXJSZXNvdXJjZS5wcm90b3R5cGUgPSB7CkBA
IC0xNDYyLDEwICsxNTQ3LDEyIEBAIFdlYkdMQnVmZmVyUmVzb3VyY2UucHJvdG90eXBlID0gewog
LyoqCiAgKiBAY29uc3RydWN0b3IKICAqIEBleHRlbmRzIHtXZWJHTEJvdW5kUmVzb3VyY2V9Cisg
KiBAcGFyYW0geyFPYmplY3R9IHdyYXBwZWRPYmplY3QKKyAqIEBwYXJhbSB7c3RyaW5nfSBuYW1l
CiAgKi8KLWZ1bmN0aW9uIFdlYkdMRnJhbWVidWZmZXJSZXNvdXJjZSh3cmFwcGVkT2JqZWN0KQor
ZnVuY3Rpb24gV2ViR0xGcmFtZWJ1ZmZlclJlc291cmNlKHdyYXBwZWRPYmplY3QsIG5hbWUpCiB7
Ci0gICAgV2ViR0xCb3VuZFJlc291cmNlLmNhbGwodGhpcywgd3JhcHBlZE9iamVjdCk7CisgICAg
V2ViR0xCb3VuZFJlc291cmNlLmNhbGwodGhpcywgd3JhcHBlZE9iamVjdCwgbmFtZSk7CiB9CiAK
IFdlYkdMRnJhbWVidWZmZXJSZXNvdXJjZS5wcm90b3R5cGUgPSB7CkBAIC0xNDg1LDEwICsxNTcy
LDEyIEBAIFdlYkdMRnJhbWVidWZmZXJSZXNvdXJjZS5wcm90b3R5cGUgPSB7CiAvKioKICAqIEBj
b25zdHJ1Y3RvcgogICogQGV4dGVuZHMge1dlYkdMQm91bmRSZXNvdXJjZX0KKyAqIEBwYXJhbSB7
IU9iamVjdH0gd3JhcHBlZE9iamVjdAorICogQHBhcmFtIHtzdHJpbmd9IG5hbWUKICAqLwotZnVu
Y3Rpb24gV2ViR0xSZW5kZXJidWZmZXJSZXNvdXJjZSh3cmFwcGVkT2JqZWN0KQorZnVuY3Rpb24g
V2ViR0xSZW5kZXJidWZmZXJSZXNvdXJjZSh3cmFwcGVkT2JqZWN0LCBuYW1lKQogewotICAgIFdl
YkdMQm91bmRSZXNvdXJjZS5jYWxsKHRoaXMsIHdyYXBwZWRPYmplY3QpOworICAgIFdlYkdMQm91
bmRSZXNvdXJjZS5jYWxsKHRoaXMsIHdyYXBwZWRPYmplY3QsIG5hbWUpOwogfQogCiBXZWJHTFJl
bmRlcmJ1ZmZlclJlc291cmNlLnByb3RvdHlwZSA9IHsKQEAgLTE1MDcsMTMgKzE1OTYsMTMgQEAg
V2ViR0xSZW5kZXJidWZmZXJSZXNvdXJjZS5wcm90b3R5cGUgPSB7CiAKIC8qKgogICogQGNvbnN0
cnVjdG9yCi0gKiBAZXh0ZW5kcyB7UmVzb3VyY2V9CisgKiBAZXh0ZW5kcyB7Q29udGV4dFJlc291
cmNlfQogICogQHBhcmFtIHshV2ViR0xSZW5kZXJpbmdDb250ZXh0fSBnbENvbnRleHQKICAqIEBw
YXJhbSB7ZnVuY3Rpb24oKTpXZWJHTFJlbmRlcmluZ0NvbnRleHR9IHJlcGxheUNvbnRleHRDYWxs
YmFjawogICovCiBmdW5jdGlvbiBXZWJHTFJlbmRlcmluZ0NvbnRleHRSZXNvdXJjZShnbENvbnRl
eHQsIHJlcGxheUNvbnRleHRDYWxsYmFjaykKIHsKLSAgICBSZXNvdXJjZS5jYWxsKHRoaXMsIGds
Q29udGV4dCk7CisgICAgQ29udGV4dFJlc291cmNlLmNhbGwodGhpcywgZ2xDb250ZXh0LCAiV2Vi
R0xSZW5kZXJpbmdDb250ZXh0Iik7CiAgICAgdGhpcy5fcmVwbGF5Q29udGV4dENhbGxiYWNrID0g
cmVwbGF5Q29udGV4dENhbGxiYWNrOwogICAgIC8qKiBAdHlwZSB7T2JqZWN0LjxudW1iZXIsIGJv
b2xlYW4+fSAqLwogICAgIHRoaXMuX2N1c3RvbUVycm9ycyA9IG51bGw7CkBAIC0xNjEyLDEyICsx
NzAxLDkgQEAgV2ViR0xSZW5kZXJpbmdDb250ZXh0UmVzb3VyY2UuU3RhdGVQYXJhbWV0ZXJzID0g
WwogV2ViR0xSZW5kZXJpbmdDb250ZXh0UmVzb3VyY2UuZm9yT2JqZWN0ID0gZnVuY3Rpb24ob2Jq
KQogewogICAgIHZhciByZXNvdXJjZSA9IFJlc291cmNlLmZvck9iamVjdChvYmopOwotICAgIGlm
ICghcmVzb3VyY2UgfHwgcmVzb3VyY2UgaW5zdGFuY2VvZiBXZWJHTFJlbmRlcmluZ0NvbnRleHRS
ZXNvdXJjZSkKLSAgICAgICAgcmV0dXJuIHJlc291cmNlOwotICAgIHZhciBjYWxscyA9IHJlc291
cmNlLmNhbGxzKCk7Ci0gICAgaWYgKCFjYWxscyB8fCAhY2FsbHMubGVuZ3RoKQorICAgIGlmICgh
cmVzb3VyY2UpCiAgICAgICAgIHJldHVybiBudWxsOwotICAgIHJlc291cmNlID0gY2FsbHNbMF0u
cmVzb3VyY2UoKTsKKyAgICByZXNvdXJjZSA9IHJlc291cmNlLmNvbnRleHRSZXNvdXJjZSgpOwog
ICAgIHJldHVybiAocmVzb3VyY2UgaW5zdGFuY2VvZiBXZWJHTFJlbmRlcmluZ0NvbnRleHRSZXNv
dXJjZSkgPyByZXNvdXJjZSA6IG51bGw7CiB9CiAKQEAgLTE4NjIsNyArMTk0OCw3IEBAIFdlYkdM
UmVuZGVyaW5nQ29udGV4dFJlc291cmNlLnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogICAgICAg
ICBnbC5hY3RpdmVUZXh0dXJlKGdsU3RhdGUuQUNUSVZFX1RFWFRVUkUpOwogCi0gICAgICAgIFJl
c291cmNlLnByb3RvdHlwZS5fZG9SZXBsYXlDYWxscy5jYWxsKHRoaXMsIGRhdGEsIGNhY2hlKTsK
KyAgICAgICAgQ29udGV4dFJlc291cmNlLnByb3RvdHlwZS5fZG9SZXBsYXlDYWxscy5jYWxsKHRo
aXMsIGRhdGEsIGNhY2hlKTsKICAgICB9LAogCiAgICAgLyoqCkBAIC0xOTMwLDEzICsyMDE2LDEz
IEBAIFdlYkdMUmVuZGVyaW5nQ29udGV4dFJlc291cmNlLnByb3RvdHlwZSA9IHsKICAgICAgICAg
aWYgKCF3cmFwRnVuY3Rpb25zKSB7CiAgICAgICAgICAgICB3cmFwRnVuY3Rpb25zID0gT2JqZWN0
LmNyZWF0ZShudWxsKTsKIAotICAgICAgICAgICAgd3JhcEZ1bmN0aW9uc1siY3JlYXRlQnVmZmVy
Il0gPSBSZXNvdXJjZS5XcmFwRnVuY3Rpb24ucmVzb3VyY2VGYWN0b3J5TWV0aG9kKFdlYkdMQnVm
ZmVyUmVzb3VyY2UpOwotICAgICAgICAgICAgd3JhcEZ1bmN0aW9uc1siY3JlYXRlU2hhZGVyIl0g
PSBSZXNvdXJjZS5XcmFwRnVuY3Rpb24ucmVzb3VyY2VGYWN0b3J5TWV0aG9kKFdlYkdMU2hhZGVy
UmVzb3VyY2UpOwotICAgICAgICAgICAgd3JhcEZ1bmN0aW9uc1siY3JlYXRlUHJvZ3JhbSJdID0g
UmVzb3VyY2UuV3JhcEZ1bmN0aW9uLnJlc291cmNlRmFjdG9yeU1ldGhvZChXZWJHTFByb2dyYW1S
ZXNvdXJjZSk7Ci0gICAgICAgICAgICB3cmFwRnVuY3Rpb25zWyJjcmVhdGVUZXh0dXJlIl0gPSBS
ZXNvdXJjZS5XcmFwRnVuY3Rpb24ucmVzb3VyY2VGYWN0b3J5TWV0aG9kKFdlYkdMVGV4dHVyZVJl
c291cmNlKTsKLSAgICAgICAgICAgIHdyYXBGdW5jdGlvbnNbImNyZWF0ZUZyYW1lYnVmZmVyIl0g
PSBSZXNvdXJjZS5XcmFwRnVuY3Rpb24ucmVzb3VyY2VGYWN0b3J5TWV0aG9kKFdlYkdMRnJhbWVi
dWZmZXJSZXNvdXJjZSk7Ci0gICAgICAgICAgICB3cmFwRnVuY3Rpb25zWyJjcmVhdGVSZW5kZXJi
dWZmZXIiXSA9IFJlc291cmNlLldyYXBGdW5jdGlvbi5yZXNvdXJjZUZhY3RvcnlNZXRob2QoV2Vi
R0xSZW5kZXJidWZmZXJSZXNvdXJjZSk7Ci0gICAgICAgICAgICB3cmFwRnVuY3Rpb25zWyJnZXRV
bmlmb3JtTG9jYXRpb24iXSA9IFJlc291cmNlLldyYXBGdW5jdGlvbi5yZXNvdXJjZUZhY3RvcnlN
ZXRob2QoUmVzb3VyY2UpOworICAgICAgICAgICAgd3JhcEZ1bmN0aW9uc1siY3JlYXRlQnVmZmVy
Il0gPSBSZXNvdXJjZS5XcmFwRnVuY3Rpb24ucmVzb3VyY2VGYWN0b3J5TWV0aG9kKFdlYkdMQnVm
ZmVyUmVzb3VyY2UsICJXZWJHTEJ1ZmZlciIpOworICAgICAgICAgICAgd3JhcEZ1bmN0aW9uc1si
Y3JlYXRlU2hhZGVyIl0gPSBSZXNvdXJjZS5XcmFwRnVuY3Rpb24ucmVzb3VyY2VGYWN0b3J5TWV0
aG9kKFdlYkdMU2hhZGVyUmVzb3VyY2UsICJXZWJHTFNoYWRlciIpOworICAgICAgICAgICAgd3Jh
cEZ1bmN0aW9uc1siY3JlYXRlUHJvZ3JhbSJdID0gUmVzb3VyY2UuV3JhcEZ1bmN0aW9uLnJlc291
cmNlRmFjdG9yeU1ldGhvZChXZWJHTFByb2dyYW1SZXNvdXJjZSwgIldlYkdMUHJvZ3JhbSIpOwor
ICAgICAgICAgICAgd3JhcEZ1bmN0aW9uc1siY3JlYXRlVGV4dHVyZSJdID0gUmVzb3VyY2UuV3Jh
cEZ1bmN0aW9uLnJlc291cmNlRmFjdG9yeU1ldGhvZChXZWJHTFRleHR1cmVSZXNvdXJjZSwgIldl
YkdMVGV4dHVyZSIpOworICAgICAgICAgICAgd3JhcEZ1bmN0aW9uc1siY3JlYXRlRnJhbWVidWZm
ZXIiXSA9IFJlc291cmNlLldyYXBGdW5jdGlvbi5yZXNvdXJjZUZhY3RvcnlNZXRob2QoV2ViR0xG
cmFtZWJ1ZmZlclJlc291cmNlLCAiV2ViR0xGcmFtZWJ1ZmZlciIpOworICAgICAgICAgICAgd3Jh
cEZ1bmN0aW9uc1siY3JlYXRlUmVuZGVyYnVmZmVyIl0gPSBSZXNvdXJjZS5XcmFwRnVuY3Rpb24u
cmVzb3VyY2VGYWN0b3J5TWV0aG9kKFdlYkdMUmVuZGVyYnVmZmVyUmVzb3VyY2UsICJXZWJHTFJl
bmRlcmJ1ZmZlciIpOworICAgICAgICAgICAgd3JhcEZ1bmN0aW9uc1siZ2V0VW5pZm9ybUxvY2F0
aW9uIl0gPSBSZXNvdXJjZS5XcmFwRnVuY3Rpb24ucmVzb3VyY2VGYWN0b3J5TWV0aG9kKFJlc291
cmNlLCAiV2ViR0xVbmlmb3JtTG9jYXRpb24iKTsKIAogICAgICAgICAgICAgLyoqCiAgICAgICAg
ICAgICAgKiBAcGFyYW0ge3N0cmluZ30gbWV0aG9kTmFtZQpAQCAtMjA4OCw3ICsyMTc0LDcgQEAg
V2ViR0xSZW5kZXJpbmdDb250ZXh0UmVzb3VyY2UucHJvdG90eXBlID0gewogICAgICAgICByZXR1
cm4gd3JhcEZ1bmN0aW9uczsKICAgICB9LAogCi0gICAgX19wcm90b19fOiBSZXNvdXJjZS5wcm90
b3R5cGUKKyAgICBfX3Byb3RvX186IENvbnRleHRSZXNvdXJjZS5wcm90b3R5cGUKIH0KIAogLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8KQEAgLTIwOTcsMTMgKzIxODMsMTMgQEAgV2ViR0xSZW5kZXJp
bmdDb250ZXh0UmVzb3VyY2UucHJvdG90eXBlID0gewogCiAvKioKICAqIEBjb25zdHJ1Y3Rvcgot
ICogQGV4dGVuZHMge1Jlc291cmNlfQorICogQGV4dGVuZHMge0NvbnRleHRSZXNvdXJjZX0KICAq
IEBwYXJhbSB7IUNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRH0gY29udGV4dAogICogQHBhcmFtIHtm
dW5jdGlvbigpOkNhbnZhc1JlbmRlcmluZ0NvbnRleHQyRH0gcmVwbGF5Q29udGV4dENhbGxiYWNr
CiAgKi8KIGZ1bmN0aW9uIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRFJlc291cmNlKGNvbnRleHQs
IHJlcGxheUNvbnRleHRDYWxsYmFjaykKIHsKLSAgICBSZXNvdXJjZS5jYWxsKHRoaXMsIGNvbnRl
eHQpOworICAgIENvbnRleHRSZXNvdXJjZS5jYWxsKHRoaXMsIGNvbnRleHQsICJDYW52YXNSZW5k
ZXJpbmdDb250ZXh0MkQiKTsKICAgICB0aGlzLl9yZXBsYXlDb250ZXh0Q2FsbGJhY2sgPSByZXBs
YXlDb250ZXh0Q2FsbGJhY2s7CiB9CiAKQEAgLTI0MzIsOSArMjUxOCw5IEBAIENhbnZhc1JlbmRl
cmluZ0NvbnRleHQyRFJlc291cmNlLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKCF3cmFwRnVu
Y3Rpb25zKSB7CiAgICAgICAgICAgICB3cmFwRnVuY3Rpb25zID0gT2JqZWN0LmNyZWF0ZShudWxs
KTsKIAotICAgICAgICAgICAgd3JhcEZ1bmN0aW9uc1siY3JlYXRlTGluZWFyR3JhZGllbnQiXSA9
IFJlc291cmNlLldyYXBGdW5jdGlvbi5yZXNvdXJjZUZhY3RvcnlNZXRob2QoTG9nRXZlcnl0aGlu
Z1Jlc291cmNlKTsKLSAgICAgICAgICAgIHdyYXBGdW5jdGlvbnNbImNyZWF0ZVJhZGlhbEdyYWRp
ZW50Il0gPSBSZXNvdXJjZS5XcmFwRnVuY3Rpb24ucmVzb3VyY2VGYWN0b3J5TWV0aG9kKExvZ0V2
ZXJ5dGhpbmdSZXNvdXJjZSk7Ci0gICAgICAgICAgICB3cmFwRnVuY3Rpb25zWyJjcmVhdGVQYXR0
ZXJuIl0gPSBSZXNvdXJjZS5XcmFwRnVuY3Rpb24ucmVzb3VyY2VGYWN0b3J5TWV0aG9kKExvZ0V2
ZXJ5dGhpbmdSZXNvdXJjZSk7CisgICAgICAgICAgICB3cmFwRnVuY3Rpb25zWyJjcmVhdGVMaW5l
YXJHcmFkaWVudCJdID0gUmVzb3VyY2UuV3JhcEZ1bmN0aW9uLnJlc291cmNlRmFjdG9yeU1ldGhv
ZChMb2dFdmVyeXRoaW5nUmVzb3VyY2UsICJDYW52YXNHcmFkaWVudCIpOworICAgICAgICAgICAg
d3JhcEZ1bmN0aW9uc1siY3JlYXRlUmFkaWFsR3JhZGllbnQiXSA9IFJlc291cmNlLldyYXBGdW5j
dGlvbi5yZXNvdXJjZUZhY3RvcnlNZXRob2QoTG9nRXZlcnl0aGluZ1Jlc291cmNlLCAiQ2FudmFz
R3JhZGllbnQiKTsKKyAgICAgICAgICAgIHdyYXBGdW5jdGlvbnNbImNyZWF0ZVBhdHRlcm4iXSA9
IFJlc291cmNlLldyYXBGdW5jdGlvbi5yZXNvdXJjZUZhY3RvcnlNZXRob2QoTG9nRXZlcnl0aGlu
Z1Jlc291cmNlLCAiQ2FudmFzUGF0dGVybiIpOwogCiAgICAgICAgICAgICAvKioKICAgICAgICAg
ICAgICAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2ROYW1lCkBAIC0yNDcxLDcgKzI1NTcsNyBAQCBD
YW52YXNSZW5kZXJpbmdDb250ZXh0MkRSZXNvdXJjZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIHJl
dHVybiB3cmFwRnVuY3Rpb25zOwogICAgIH0sCiAKLSAgICBfX3Byb3RvX186IFJlc291cmNlLnBy
b3RvdHlwZQorICAgIF9fcHJvdG9fXzogQ29udGV4dFJlc291cmNlLnByb3RvdHlwZQogfQogCiAv
KioKQEAgLTI1MTUsMTIgKzI2MDEsNyBAQCBUcmFjZUxvZy5wcm90b3R5cGUgPSB7CiAgICAgICov
CiAgICAgYWRkQ2FsbDogZnVuY3Rpb24oY2FsbCkKICAgICB7Ci0gICAgICAgIHZhciByZXMgPSBS
ZXNvdXJjZS5mb3JPYmplY3QoY2FsbC5yZXN1bHQoKSk7Ci0gICAgICAgIGlmIChyZXMpCi0gICAg
ICAgICAgICB0aGlzLmNhcHR1cmVSZXNvdXJjZShyZXMpOwotICAgICAgICB2YXIgc2l6ZSA9IHRo
aXMuX3JlcGxheWFibGVzQ2FjaGUuc2l6ZSgpOwogICAgICAgICB0aGlzLl9yZXBsYXlhYmxlQ2Fs
bHMucHVzaChjYWxsLnRvUmVwbGF5YWJsZSh0aGlzLl9yZXBsYXlhYmxlc0NhY2hlKSk7Ci0gICAg
ICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX3JlcGxheWFibGVzQ2FjaGUuc2l6ZSgpID09PSBzaXpl
LCAiSW50ZXJuYWwgZXJyb3I6IFdlIHNob3VsZCBoYXZlIGNhcHR1cmVkIGFsbCB0aGUgcmVzb3Vy
Y2VzIGFscmVhZHkgYnkgdGhpcyB0aW1lLiIpOwogICAgIH0KIH0KIApAQCAtMjcwOSw3ICsyNzkw
LDcgQEAgUmVzb3VyY2VUcmFja2luZ01hbmFnZXIucHJvdG90eXBlID0gewogLyoqCiAgKiBAY29u
c3RydWN0b3IKICAqLwotdmFyIEluamVjdGVkU2NyaXB0ID0gZnVuY3Rpb24oKQordmFyIEluamVj
dGVkQ2FudmFzTW9kdWxlID0gZnVuY3Rpb24oKQogewogICAgIC8qKiBAdHlwZSB7IVJlc291cmNl
VHJhY2tpbmdNYW5hZ2VyfSAqLwogICAgIHRoaXMuX21hbmFnZXIgPSBuZXcgUmVzb3VyY2VUcmFj
a2luZ01hbmFnZXIoKTsKQEAgLTI3MjMsNyArMjgwNCw3IEBAIHZhciBJbmplY3RlZFNjcmlwdCA9
IGZ1bmN0aW9uKCkKICAgICB0aGlzLl9yZXBsYXlDb250ZXh0cyA9IFtdOwogfQogCi1JbmplY3Rl
ZFNjcmlwdC5wcm90b3R5cGUgPSB7CitJbmplY3RlZENhbnZhc01vZHVsZS5wcm90b3R5cGUgPSB7
CiAgICAgLyoqCiAgICAgICogQHBhcmFtIHshV2ViR0xSZW5kZXJpbmdDb250ZXh0fSBnbENvbnRl
eHQKICAgICAgKiBAcmV0dXJuIHtPYmplY3R9CkBAIC0yODI2LDMzICsyOTA3LDQzIEBAIEluamVj
dGVkU2NyaXB0LnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIGNhbGxzID0gdHJhY2VMb2cucmVw
bGF5YWJsZUNhbGxzKCk7CiAgICAgICAgIGZvciAodmFyIGkgPSBzdGFydE9mZnNldCwgbiA9IGNh
bGxzLmxlbmd0aDsgaSA8IG47ICsraSkgewogICAgICAgICAgICAgdmFyIGNhbGwgPSBjYWxsc1tp
XTsKLSAgICAgICAgICAgIHZhciBhcmdzID0gY2FsbC5hcmdzKCkubWFwKGZ1bmN0aW9uKGFyZ3Vt
ZW50KSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50ICsgIiI7Ci0gICAgICAgICAg
ICB9KTsKKyAgICAgICAgICAgIHZhciBjb250ZXh0UmVzb3VyY2UgPSBjYWxsLnJlcGxheWFibGVS
ZXNvdXJjZSgpLnJlcGxheWFibGVDb250ZXh0UmVzb3VyY2UoKTsKICAgICAgICAgICAgIHZhciBz
dGFja1RyYWNlID0gY2FsbC5zdGFja1RyYWNlKCk7CiAgICAgICAgICAgICB2YXIgY2FsbEZyYW1l
ID0gc3RhY2tUcmFjZSA/IHN0YWNrVHJhY2UuY2FsbEZyYW1lKDApIHx8IHt9IDoge307CiAgICAg
ICAgICAgICB2YXIgdHJhY2VMb2dJdGVtID0gewotICAgICAgICAgICAgICAgIGNvbnRleHRJZDog
dGhpcy5fbWFrZUNvbnRleHRJZChjYWxsLnJlc291cmNlKCkuaWQoKSksCisgICAgICAgICAgICAg
ICAgY29udGV4dElkOiB0aGlzLl9tYWtlQ29udGV4dElkKGNvbnRleHRSZXNvdXJjZS5pZCgpKSwK
ICAgICAgICAgICAgICAgICBzb3VyY2VVUkw6IGNhbGxGcmFtZS5zb3VyY2VVUkwsCiAgICAgICAg
ICAgICAgICAgbGluZU51bWJlcjogY2FsbEZyYW1lLmxpbmVOdW1iZXIsCiAgICAgICAgICAgICAg
ICAgY29sdW1uTnVtYmVyOiBjYWxsRnJhbWUuY29sdW1uTnVtYmVyCiAgICAgICAgICAgICB9Owog
ICAgICAgICAgICAgaWYgKGNhbGwuZnVuY3Rpb25OYW1lKCkpIHsKICAgICAgICAgICAgICAgICB0
cmFjZUxvZ0l0ZW0uZnVuY3Rpb25OYW1lID0gY2FsbC5mdW5jdGlvbk5hbWUoKTsKLSAgICAgICAg
ICAgICAgICB0cmFjZUxvZ0l0ZW0uYXJndW1lbnRzID0gYXJnczsKKyAgICAgICAgICAgICAgICB0
cmFjZUxvZ0l0ZW0uYXJndW1lbnRzID0gY2FsbC5hcmdzKCkubWFwKHRoaXMuX2NyZWF0ZVJlbW90
ZU9iamVjdC5iaW5kKHRoaXMpKTsKKyAgICAgICAgICAgICAgICBpZiAoY2FsbC5yZXN1bHQoKSAh
PT0gdW5kZWZpbmVkKQorICAgICAgICAgICAgICAgICAgICB0cmFjZUxvZ0l0ZW0ucmVzdWx0ID0g
dGhpcy5fY3JlYXRlUmVtb3RlT2JqZWN0KGNhbGwucmVzdWx0KCkpOwogICAgICAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICAgICAgICB0cmFjZUxvZ0l0ZW0ucHJvcGVydHkgPSBhcmdzWzBdOwot
ICAgICAgICAgICAgICAgIHRyYWNlTG9nSXRlbS52YWx1ZSA9IGFyZ3NbMV07CisgICAgICAgICAg
ICAgICAgdHJhY2VMb2dJdGVtLnByb3BlcnR5ID0gY2FsbC5hcmdzKClbMF07CisgICAgICAgICAg
ICAgICAgdHJhY2VMb2dJdGVtLnZhbHVlID0gdGhpcy5fY3JlYXRlUmVtb3RlT2JqZWN0KGNhbGwu
YXJncygpWzFdKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHZhciBjYWxsUmVzdWx0ID0g
Y2FsbC5yZXN1bHQoKTsKLSAgICAgICAgICAgIGlmIChjYWxsUmVzdWx0ICE9PSB1bmRlZmluZWQg
JiYgY2FsbFJlc3VsdCAhPT0gbnVsbCkKLSAgICAgICAgICAgICAgICB0cmFjZUxvZ0l0ZW0ucmVz
dWx0ID0gY2FsbFJlc3VsdCArICIiOwogICAgICAgICAgICAgcmVzdWx0LmNhbGxzLnB1c2godHJh
Y2VMb2dJdGVtKTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0sCiAK
ICAgICAvKioKKyAgICAgKiBAcGFyYW0geyp9IG9iagorICAgICAqIEByZXR1cm4ge09iamVjdH0K
KyAgICAgKi8KKyAgICBfY3JlYXRlUmVtb3RlT2JqZWN0OiBmdW5jdGlvbihvYmopCisgICAgewor
ICAgICAgICBpZiAob2JqIGluc3RhbmNlb2YgUmVwbGF5YWJsZVJlc291cmNlKQorICAgICAgICAg
ICAgdmFyIGRlc2NyaXB0aW9uID0gb2JqLmRlc2NyaXB0aW9uKCk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIHZhciBkZXNjcmlwdGlvbiA9ICIiICsgb2JqOworICAgICAgICByZXR1cm4geyBk
ZXNjcmlwdGlvbjogZGVzY3JpcHRpb24gfTsKKyAgICB9LAorCisgICAgLyoqCiAgICAgICogQHBh
cmFtIHtzdHJpbmd9IGlkCiAgICAgICogQHBhcmFtIHtudW1iZXJ9IHN0ZXBObwogICAgICAqIEBy
ZXR1cm4ge3N0cmluZ30KQEAgLTI5NDQsNyArMzAzNSw3IEBAIEluamVjdGVkU2NyaXB0LnByb3Rv
dHlwZSA9IHsKICAgICB9CiB9CiAKLXZhciBpbmplY3RlZFNjcmlwdCA9IG5ldyBJbmplY3RlZFNj
cmlwdCgpOwotcmV0dXJuIGluamVjdGVkU2NyaXB0OwordmFyIGluamVjdGVkQ2FudmFzTW9kdWxl
ID0gbmV3IEluamVjdGVkQ2FudmFzTW9kdWxlKCk7CityZXR1cm4gaW5qZWN0ZWRDYW52YXNNb2R1
bGU7CiAKIH0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Lmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggNTdm
NmY3YWNkYmZkZWQ5MWZhNzk1OTJlNTkwY2I4ODkyNTdjZmFmOC4uMmQ2ZGM1N2M0MjllY2E1MmYz
YWFkNzNhMDg4MzZmNjA3MTY2ZDJiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvci5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3IuanNvbgpAQCAtMzE5NSwxNSArMzE5NSwyMiBAQAogICAgICAgICAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJVbmlxdWUgY29udGV4dCBpZGVudGlmaWVyLiIKICAgICAgICAgICAgIH0sCiAgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgImlkIjogIkNhbGxBcmd1bWVudCIsCisgICAgICAg
ICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKKyAgICAgICAgICAgICAgICAicHJvcGVydGllcyI6
IFsKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJkZXNjcmlwdGlvbiIsICJ0eXBlIjog
InN0cmluZyIgfQorICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAg
ICB7CiAgICAgICAgICAgICAgICAgImlkIjogIkNhbGwiLAogICAgICAgICAgICAgICAgICJ0eXBl
IjogIm9iamVjdCIsCiAgICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiBbCiAgICAgICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAiY29udGV4dElkIiwgIiRyZWYiOiAiQ29udGV4dElkIiB9LAog
ICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImZ1bmN0aW9uTmFtZSIsICJ0eXBlIjogInN0
cmluZyIsICJvcHRpb25hbCI6IHRydWUgfSwKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6
ICJhcmd1bWVudHMiLCAidHlwZSI6ICJhcnJheSIsICJpdGVtcyI6IHsgInR5cGUiOiAic3RyaW5n
IiB9LCAib3B0aW9uYWwiOiB0cnVlIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
YXJndW1lbnRzIiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMiOiB7ICIkcmVmIjogIkNhbGxBcmd1
bWVudCIgfSwgIm9wdGlvbmFsIjogdHJ1ZSB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogInJlc3VsdCIsICIkcmVmIjogIkNhbGxBcmd1bWVudCIsICJvcHRpb25hbCI6IHRydWUgfSwK
ICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJwcm9wZXJ0eSIsICJ0eXBlIjogInN0cmlu
ZyIsICJvcHRpb25hbCI6IHRydWUgfSwKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ2
YWx1ZSIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUgfSwKLSAgICAgICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJyZXN1bHQiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwi
OiB0cnVlIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidmFsdWUiLCAiJHJlZiI6
ICJDYWxsQXJndW1lbnQiLCAib3B0aW9uYWwiOiB0cnVlIH0sCiAgICAgICAgICAgICAgICAgICAg
IHsgIm5hbWUiOiAic291cmNlVVJMIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1
ZSB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImxpbmVOdW1iZXIiLCAidHlwZSI6
ICJpbnRlZ2VyIiwgIm9wdGlvbmFsIjogdHJ1ZSB9LAogICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogImNvbHVtbk51bWJlciIsICJ0eXBlIjogImludGVnZXIiLCAib3B0aW9uYWwiOiB0cnVl
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ2FudmFz
UHJvZmlsZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NhbnZh
c1Byb2ZpbGVWaWV3LmpzCmluZGV4IGI3ZGE5MmRmNjlkMzI4MWQ1OTdkN2JkM2FhMjg2OTE1MDAz
MzZiZjguLmJhMzJjODE3YzFjYTRhY2VmNWNlM2NhNjFhYWI4ZWQzODJmMDFkM2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ2FudmFzUHJvZmlsZVZpZXcu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DYW52YXNQcm9maWxl
Vmlldy5qcwpAQCAtMTYxLDcgKzE2MSw2IEBAIFdlYkluc3BlY3Rvci5DYW52YXNQcm9maWxlVmll
dy5wcm90b3R5cGUgPSB7CiAKICAgICBfY3JlYXRlQ2FsbE5vZGU6IGZ1bmN0aW9uKGluZGV4LCBj
YWxsKQogICAgIHsKLSAgICAgICAgdmFyIHRyYWNlTG9nSXRlbSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOwogICAgICAgICB2YXIgZGF0YSA9IHt9OwogICAgICAgICBkYXRhWzBdID0g
aW5kZXggKyAxOwogICAgICAgICBkYXRhWzFdID0gY2FsbC5mdW5jdGlvbk5hbWUgfHwgImNvbnRl
eHQuIiArIGNhbGwucHJvcGVydHk7CkBAIC0xNzMsMTYgKzE3MiwxOCBAQCBXZWJJbnNwZWN0b3Iu
Q2FudmFzUHJvZmlsZVZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgZGF0YVsyXSA9IHRo
aXMuX2xpbmtpZmllci5saW5raWZ5TG9jYXRpb24oY2FsbC5zb3VyY2VVUkwsIGxpbmVOdW1iZXIs
IGNvbHVtbk51bWJlcik7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoY2FsbC5hcmd1bWVudHMp
Ci0gICAgICAgICAgICBkYXRhWzFdICs9ICIoIiArIGNhbGwuYXJndW1lbnRzLmpvaW4oIiwgIikg
KyAiKSI7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGRhdGFbMV0gKz0gIiA9ICIgKyBjYWxs
LnZhbHVlOworICAgICAgICBpZiAoY2FsbC5hcmd1bWVudHMpIHsKKyAgICAgICAgICAgIHZhciBh
cmdzID0gY2FsbC5hcmd1bWVudHMubWFwKGZ1bmN0aW9uKGFyZ3VtZW50KSB7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIGFyZ3VtZW50LmRlc2NyaXB0aW9uOworICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICBkYXRhWzFdICs9ICIoIiArIGFyZ3Muam9pbigiLCAiKSArICIpIjsKKyAgICAgICAg
fSBlbHNlCisgICAgICAgICAgICBkYXRhWzFdICs9ICIgPSAiICsgY2FsbC52YWx1ZS5kZXNjcmlw
dGlvbjsKIAogICAgICAgICBpZiAodHlwZW9mIGNhbGwucmVzdWx0ICE9PSAidW5kZWZpbmVkIikK
LSAgICAgICAgICAgIGRhdGFbMV0gKz0gIiA9PiAiICsgY2FsbC5yZXN1bHQ7CisgICAgICAgICAg
ICBkYXRhWzFdICs9ICIgPT4gIiArIGNhbGwucmVzdWx0LmRlc2NyaXB0aW9uOwogCiAgICAgICAg
IHZhciBub2RlID0gbmV3IFdlYkluc3BlY3Rvci5EYXRhR3JpZE5vZGUoZGF0YSk7Ci0gICAgICAg
IG5vZGUuY2FsbCA9IGNhbGw7CiAgICAgICAgIG5vZGUuaW5kZXggPSBpbmRleDsKICAgICAgICAg
bm9kZS5zZWxlY3RhYmxlID0gdHJ1ZTsKICAgICAgICAgcmV0dXJuIG5vZGU7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDY1
MTJlNjIxNWZlNDQ4MDM4ZDhmNGJkMWQwMzE2M2ZhMjg5YzY3ZC4uYzE4YWE1YzFkY2ZjOGIzZjI1
ZjI1YWVkMDI1ZWFiMzg5NjA5Yjg4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEzLTAxLTEx
ICBBbmRyZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IFtDYW52YXNdIGEgbWlub3IgZm9sbG93LXVwIHRvIHIxMzcyNjIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjY0NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlcGxhY2VkIGhhY2t5IHN0
dWIgd2l0aCBhY3R1YWwgQ2FjaGUgaW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvcHJvZmlsZXIvd2ViZ2wvd2ViZ2wtcHJvZmlsZXItZ2V0LWVycm9yLmh0bWw6CisKIDIwMTMt
MDEtMTAgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWprb3dza2lAc2Ftc3VuZy5jb20+CiAK
ICAgICAgICAgT24gTGludXgsIHNob3VsZCBiZSBhYmxlIHRvIGdldCBzcGVsbGluZyBzdWdnZXN0
aW9ucyB3aXRob3V0IHNlbGVjdGluZyB0aGUgbWlzc3BlbGxlZCB3b3JkCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvd2ViZ2wvd2ViZ2wtcHJvZmlsZXItZ2V0LWVy
cm9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcHJvZmlsZXIvd2ViZ2wvd2ViZ2wtcHJv
ZmlsZXItZ2V0LWVycm9yLmh0bWwKaW5kZXggNWJjYzA0MTQ5NWM0ZDRhODhhZTEwODQyYjEyOWUz
YjUwOTMxYzFjNi4uZWMzMDkzZDEzYTAzNDgxODBhMWI2MTM1YTUxZjY0M2E4MzAzYzhmOSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb2ZpbGVyL3dlYmdsL3dlYmdsLXByb2Zp
bGVyLWdldC1lcnJvci5odG1sCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm9maWxlci93
ZWJnbC93ZWJnbC1wcm9maWxlci1nZXQtZXJyb3IuaHRtbApAQCAtNCw2ICs0LDYxIEBACiAgICAg
PHNjcmlwdCBzcmM9Ii4uL2NhbnZhcy1wcm9maWxlci10ZXN0LmpzIj48L3NjcmlwdD4KIDxzY3Jp
cHQ+CiAKKy8qKgorICogQGNvbnN0cnVjdG9yCisgKi8KK2Z1bmN0aW9uIENhY2hlKCkKK3sKKyAg
ICB0aGlzLnJlc2V0KCk7Cit9CisKK0NhY2hlLnByb3RvdHlwZSA9IHsKKyAgICAvKioKKyAgICAg
KiBAcmV0dXJuIHtudW1iZXJ9CisgICAgICovCisgICAgc2l6ZTogZnVuY3Rpb24oKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIHRoaXMuX3NpemU7CisgICAgfSwKKworICAgIHJlc2V0OiBmdW5jdGlv
bigpCisgICAgeworICAgICAgICAvKiogQHR5cGUgeyFPYmplY3QuPG51bWJlciwgT2JqZWN0Pn0g
Ki8KKyAgICAgICAgdGhpcy5faXRlbXMgPSBPYmplY3QuY3JlYXRlKG51bGwpOworICAgICAgICAv
KiogQHR5cGUge251bWJlcn0gKi8KKyAgICAgICAgdGhpcy5fc2l6ZSA9IDA7CisgICAgfSwKKwor
ICAgIC8qKgorICAgICAqIEBwYXJhbSB7bnVtYmVyfSBrZXkKKyAgICAgKiBAcmV0dXJuIHtib29s
ZWFufQorICAgICAqLworICAgIGhhczogZnVuY3Rpb24oa2V5KQorICAgIHsKKyAgICAgICAgcmV0
dXJuIGtleSBpbiB0aGlzLl9pdGVtczsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFt
IHtudW1iZXJ9IGtleQorICAgICAqIEByZXR1cm4ge09iamVjdH0KKyAgICAgKi8KKyAgICBnZXQ6
IGZ1bmN0aW9uKGtleSkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9pdGVtc1trZXldOwor
ICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge251bWJlcn0ga2V5CisgICAgICogQHBh
cmFtIHtPYmplY3R9IGl0ZW0KKyAgICAgKi8KKyAgICBwdXQ6IGZ1bmN0aW9uKGtleSwgaXRlbSkK
KyAgICB7CisgICAgICAgIGlmICghdGhpcy5oYXMoa2V5KSkKKyAgICAgICAgICAgICsrdGhpcy5f
c2l6ZTsKKyAgICAgICAgdGhpcy5faXRlbXNba2V5XSA9IGl0ZW07CisgICAgfQorfQorCiB2YXIg
Z2w7CiB2YXIgcmF3R0w7CiB2YXIgZ2xSZXNvdXJjZTsKQEAgLTgzLDExICsxMzgsNyBAQCBmdW5j
dGlvbiBjcmVhdGVBbmRSdW5XZWJHTFByb2dyYW0oKQogICAgIC8vIDQpIENoZWNrIHRoYXQgcHJv
eHkgc3RpbGwgaGFzIHRoZSBvcmlnaW5hbCBlcnJvcnMgc2F2ZWQKICAgICB2YXIgZXJyb3JzID0g
W3Jhd0dMLklOVkFMSURfRU5VTSwgcmF3R0wuSU5WQUxJRF9WQUxVRSwgcmF3R0wuSU5WQUxJRF9P
UEVSQVRJT05dOwogICAgIGVycm9ycy5mb3JFYWNoKGdlbmVyYXRlV2ViR0xFcnJvci5iaW5kKHRo
aXMsIHJhd0dMKSk7Ci0gICAgdmFyIGNhY2hlID0gewotICAgICAgICBwdXQ6IGZ1bmN0aW9uKCkg
e30sCi0gICAgICAgIGdldDogZnVuY3Rpb24oKSB7fQotICAgIH07Ci0gICAgZ2xSZXNvdXJjZS50
b1JlcGxheWFibGUoY2FjaGUpOworICAgIGdsUmVzb3VyY2UudG9SZXBsYXlhYmxlKG5ldyBDYWNo
ZSgpKTsKICAgICBhc3NlcnROb0Vycm9ycyhyYXdHTCk7CiAgICAgYXNzZXJ0RXF1YWxBcnJheXMo
ZXJyb3JzLCBnZXRBbGxFcnJvcnMoZ2wpKTsKICAgICBhc3NlcnROb0Vycm9ycyhnbCk7CkBAIC05
NiwxMSArMTQ3LDcgQEAgZnVuY3Rpb24gY3JlYXRlQW5kUnVuV2ViR0xQcm9ncmFtKCkKICAgICAv
LyAyKSBDaGVjayBwcm94eSBhbmQgUkFXIGVycm9ycyBpbnRlcmxlYXZlZAogICAgIHZhciBlcnJv
cnMgPSBbcmF3R0wuSU5WQUxJRF9FTlVNLCByYXdHTC5JTlZBTElEX1ZBTFVFLCByYXdHTC5JTlZB
TElEX09QRVJBVElPTl07CiAgICAgZXJyb3JzLmZvckVhY2goZ2VuZXJhdGVXZWJHTEVycm9yLmJp
bmQodGhpcywgcmF3R0wpKTsKLSAgICB2YXIgY2FjaGUgPSB7Ci0gICAgICAgIHB1dDogZnVuY3Rp
b24oKSB7fSwKLSAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHt9Ci0gICAgfTsKLSAgICBnbFJlc291
cmNlLnRvUmVwbGF5YWJsZShjYWNoZSk7CisgICAgZ2xSZXNvdXJjZS50b1JlcGxheWFibGUobmV3
IENhY2hlKCkpOwogICAgIGFzc2VydE5vRXJyb3JzKHJhd0dMKTsKIAogICAgIHZhciB2YWx1ZSA9
IGdsLmdldEVycm9yKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>