<?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>65103</bug_id>
          
          <creation_ts>2011-07-25 05:48:49 -0700</creation_ts>
          <short_desc>Web Inspector: refactor remote object structure to contain value for primitive values.</short_desc>
          <delta_ts>2011-07-26 08:40:46 -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>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>65118</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>ossy</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>441614</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-07-25 05:48:49 -0700</bug_when>
    <thetext>Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>441617</commentid>
    <comment_count>1</comment_count>
      <attachid>101864</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-07-25 05:51:47 -0700</bug_when>
    <thetext>Created attachment 101864
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>441629</commentid>
    <comment_count>2</comment_count>
      <attachid>101864</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-07-25 06:37:48 -0700</bug_when>
    <thetext>Comment on attachment 101864
Patch

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

&gt; Source/WebCore/inspector/Inspector.json:226
&gt; +                    { &quot;name&quot;: &quot;subtype&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true, &quot;enum&quot;: [&quot;array&quot;, &quot;null&quot;, &quot;node&quot;, &quot;undefined&quot;, &quot;regexp&quot;, &quot;date&quot;], &quot;description&quot;: &quot;Object subtype hint. Specified for only for &lt;code&gt;object&lt;/code&gt; type values only.&quot; },

There is undefined type.

&gt; Source/WebCore/inspector/Inspector.json:227
&gt; +                    { &quot;name&quot;: &quot;className&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Object class (constructor) name. Specified for only for &lt;code&gt;object&lt;/code&gt; type values only.&quot; },

Please leave only only.

&gt; Source/WebCore/inspector/front-end/ConsoleView.js:852
&gt; +            if (parameters[i] instanceof WebInspector.RemoteObject)

Please put a FIXME to extract this parameter conversion out of this method.

&gt; Source/WebCore/inspector/front-end/RemoteObject.js:43
&gt; +        this._hasChildren = false;

this._value = value?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>441638</commentid>
    <comment_count>3</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-07-25 07:25:12 -0700</bug_when>
    <thetext>Committed r91665: &lt;http://trac.webkit.org/changeset/91665&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>442286</commentid>
    <comment_count>4</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-07-26 08:40:46 -0700</bug_when>
    <thetext>inspector/console/console-format.html fails after https://trac.webkit.org/changeset/91749 :
http://build.webkit.org/results/Qt%20Linux%20Release/r91750%20%2835770%29/inspector/console/console-format-pretty-diff.html

Could you check it, please?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101864</attachid>
            <date>2011-07-25 05:51:47 -0700</date>
            <delta_ts>2011-07-25 06:37:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65103-20110725165145.patch</filename>
            <type>text/plain</type>
            <size>27976</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTE2NjAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0NTIyMjQxODgzNmE1NWY1M2ZkODIy
MTBhZDVmYTE1MjMyODBjNmNhLi4wZDYwYjVjMTg3ZTVkY2ZjMGQ3Nzc5OTEzMTAzMzE1ZjU2MmE0
ZDZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDctMjUgIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlZmFjdG9yIHJl
bW90ZSBvYmplY3Qgc3RydWN0dXJlIHRvIGNvbnRhaW4gdmFsdWUgZm9yIHByaW1pdGl2ZSB2YWx1
ZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTEw
MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5z
cGVjdG9yL3Byb3RvY29sL2NvbnNvbGUtYWdlbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGlu
c3BlY3Rvci9wcm90b2NvbC9ydW50aW1lLWFnZW50LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvcnVudGltZS9ydW50aW1lLWNhbGxGdW5jdGlvbk9uLmh0bWw6CisKIDIwMTEtMDct
MjQgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1
bV0gTGVmdG92ZXIgb2YgcjkxNjMzIChTVkcgdGVzdCBtb3ZlKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL3Byb3RvY29sL2NvbnNvbGUtYWdlbnQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL3Byb3RvY29sL2NvbnNvbGUtYWdlbnQtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDg2ZmM4OGRiOTJmMTRiNzQwZmNmOTg5NjA3MWU5YmQ1ZGQ3NWQwYjEuLjliMzAwNmU2NDY1
MGMxYjAwYjNjYTQ4MTk4NjdjNDUxZThiNGQ5MDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9wcm90b2NvbC9jb25zb2xlLWFnZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvcHJvdG9jb2wvY29uc29sZS1hZ2VudC1leHBlY3RlZC50eHQKQEAgLTY0
LDcgKzY0LDcgQEAgZXZlbnQgQ29uc29sZUFnZW50Lm1lc3NhZ2VBZGRlZAogICAgICAgICAgICAg
cGFyYW1ldGVycyA6IFsKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIHR5
cGUgOiAic3RyaW5nIgotICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiA6ICJ0ZXN0Igor
ICAgICAgICAgICAgICAgICAgICB2YWx1ZSA6ICJ0ZXN0IgogICAgICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIF0KICAgICAgICAgICAgIHN0YWNrVHJhY2UgOiA8b2JqZWN0PgpAQCAtODUsNyAr
ODUsNiBAQCByZXNwb25zZToKICAgICByZXN1bHQgOiB7CiAgICAgICAgIHJlc3VsdCA6IHsKICAg
ICAgICAgICAgIHR5cGUgOiAidW5kZWZpbmVkIgotICAgICAgICAgICAgZGVzY3JpcHRpb24gOiAi
dW5kZWZpbmVkIgogICAgICAgICB9CiAgICAgfQogICAgIGlkIDogPG51bWJlcj4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm90b2NvbC9ydW50aW1lLWFnZW50LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9wcm90b2NvbC9ydW50aW1lLWFnZW50LWV4cGVj
dGVkLnR4dAppbmRleCBlYmE1YmQ4Mzc5N2Q2ZDAwNzBmMTZmZTBmNmYwNWVhMWIzNjIwNjNiLi4w
MDVlZTcyOTdjZTJlZGY1OTgxNWQxNjU4MzMzNmVkYmM0NzAxNTU2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvcHJvdG9jb2wvcnVudGltZS1hZ2VudC1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Byb3RvY29sL3J1bnRpbWUtYWdlbnQtZXhwZWN0ZWQu
dHh0CkBAIC0xOCw5ICsxOCw4IEBAIHJlc3BvbnNlOgogewogICAgIHJlc3VsdCA6IHsKICAgICAg
ICAgcmVzdWx0IDogewotICAgICAgICAgICAgb2JqZWN0SWQgOiA8c3RyaW5nPgotICAgICAgICAg
ICAgaGFzQ2hpbGRyZW4gOiB0cnVlCiAgICAgICAgICAgICB0eXBlIDogIm9iamVjdCIKKyAgICAg
ICAgICAgIG9iamVjdElkIDogPHN0cmluZz4KICAgICAgICAgICAgIGNsYXNzTmFtZSA6IDxzdHJp
bmc+CiAgICAgICAgICAgICBkZXNjcmlwdGlvbiA6ICJUZXN0T2JqZWN0IgogICAgICAgICB9CkBA
IC00NSw5ICs0NCw4IEBAIHJlc3BvbnNlOgogewogICAgIHJlc3VsdCA6IHsKICAgICAgICAgcmVz
dWx0IDogewotICAgICAgICAgICAgb2JqZWN0SWQgOiA8c3RyaW5nPgotICAgICAgICAgICAgaGFz
Q2hpbGRyZW4gOiB0cnVlCiAgICAgICAgICAgICB0eXBlIDogIm9iamVjdCIKKyAgICAgICAgICAg
IG9iamVjdElkIDogPHN0cmluZz4KICAgICAgICAgICAgIGNsYXNzTmFtZSA6IDxzdHJpbmc+CiAg
ICAgICAgICAgICBkZXNjcmlwdGlvbiA6ICJUZXN0T2JqZWN0IgogICAgICAgICB9CkBAIC03Myw3
ICs3MSw3IEBAIHJlc3BvbnNlOgogICAgIHJlc3VsdCA6IHsKICAgICAgICAgcmVzdWx0IDogewog
ICAgICAgICAgICAgdHlwZSA6ICJzdHJpbmciCi0gICAgICAgICAgICBkZXNjcmlwdGlvbiA6ICJj
YWxsRnVuY3Rpb25PbiBmdW5jdGlvbiB3b3JrcyBmaW5lIgorICAgICAgICAgICAgdmFsdWUgOiAi
Y2FsbEZ1bmN0aW9uT24gZnVuY3Rpb24gd29ya3MgZmluZSIKICAgICAgICAgfQogICAgIH0KICAg
ICBpZCA6IDxudW1iZXI+CkBAIC0xNDIsMjIgKzE0MCwyMSBAQCByZXNwb25zZToKICAgICAgICAg
ICAgICAgICBuYW1lIDogImFzc2lnbmVkQnlDYWxsRnVuY3Rpb25PbiIKICAgICAgICAgICAgICAg
ICB2YWx1ZSA6IHsKICAgICAgICAgICAgICAgICAgICAgdHlwZSA6ICJzdHJpbmciCi0gICAgICAg
ICAgICAgICAgICAgIGRlc2NyaXB0aW9uIDogImNhbGxGdW5jdGlvbk9uIGZ1bmN0aW9uIHdvcmtz
IGZpbmUiCisgICAgICAgICAgICAgICAgICAgIHZhbHVlIDogImNhbGxGdW5jdGlvbk9uIGZ1bmN0
aW9uIHdvcmtzIGZpbmUiCiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAg
ICAgICAgewogICAgICAgICAgICAgICAgIG5hbWUgOiAiYXNzaWduZWRCeVNldFByb3BlcnR5VmFs
dWUiCiAgICAgICAgICAgICAgICAgdmFsdWUgOiB7CiAgICAgICAgICAgICAgICAgICAgIHR5cGUg
OiAiYm9vbGVhbiIKLSAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gOiAidHJ1ZSIKKyAg
ICAgICAgICAgICAgICAgICAgdmFsdWUgOiB0cnVlCiAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIG5hbWUgOiAiX19wcm90b19f
IgogICAgICAgICAgICAgICAgIHZhbHVlIDogewotICAgICAgICAgICAgICAgICAgICBvYmplY3RJ
ZCA6IDxzdHJpbmc+Ci0gICAgICAgICAgICAgICAgICAgIGhhc0NoaWxkcmVuIDogdHJ1ZQogICAg
ICAgICAgICAgICAgICAgICB0eXBlIDogIm9iamVjdCIKKyAgICAgICAgICAgICAgICAgICAgb2Jq
ZWN0SWQgOiA8c3RyaW5nPgogICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWUgOiA8c3RyaW5n
PgogICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiA6ICJUZXN0T2JqZWN0IgogICAgICAg
ICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9ydW50aW1lL3J1
bnRpbWUtY2FsbEZ1bmN0aW9uT24uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9ydW50aW1l
L3J1bnRpbWUtY2FsbEZ1bmN0aW9uT24uaHRtbAppbmRleCAwZTljYzM4NzliMDIzZDZhM2Q0Zjg2
ZmNlZTVjMzQyMDZiZTU5ZTIwLi43NmY2MGJjNTMyYzhiMzgxZDJkMDRjMTU0NWI0ZDRkZDJjOWUx
MDhlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvcnVudGltZS9ydW50aW1lLWNh
bGxGdW5jdGlvbk9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3J1bnRpbWUvcnVu
dGltZS1jYWxsRnVuY3Rpb25Pbi5odG1sCkBAIC0yNiw3ICsyNiw3IEBAIGZ1bmN0aW9uIHRlc3Qo
KQogCiAgICAgICAgICAgICBmdW5jdGlvbiBzdGVwMihlcnJvciwgcmVzdWx0LCB3YXNUaHJvd24p
CiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
cmVzdWx0LmRlc2NyaXB0aW9uKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJl
c3VsdChyZXN1bHQudmFsdWUpOwogICAgICAgICAgICAgICAgIG5leHQoKTsKICAgICAgICAgICAg
IH0KICAgICAgICAgfSwKQEAgLTQ4LDcgKzQ4LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAKICAgICAg
ICAgICAgIGZ1bmN0aW9uIHN0ZXAyKGVycm9yLCByZXN1bHQsIHdhc1Rocm93bikKICAgICAgICAg
ICAgIHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdChyZXN1bHQuZGVz
Y3JpcHRpb24pOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KHJlc3Vs
dC52YWx1ZSk7CiAgICAgICAgICAgICAgICAgbmV4dCgpOwogICAgICAgICAgICAgfQogICAgICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggNjI5ODVkMzY4YzQwNDQ2ZGU1OWRiODdhMzRkODAxZGM3YTkwNzE5
Yi4uZGVlZTcyNTdiMzI2ODA5MjhlN2UyZDllM2MwODAyMDM4ZjcxMjQ3YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDM4IEBACisyMDExLTA3LTI1ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29v
Z2xlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiByZWZhY3RvciByZW1vdGUgb2JqZWN0
IHN0cnVjdHVyZSB0byBjb250YWluIHZhbHVlIGZvciBwcmltaXRpdmUgdmFsdWVzLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxMDMKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9Jbmpl
Y3RlZFNjcmlwdFNvdXJjZS5qczoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5cGUuX2Zvcm1hdCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcucHJvdG90eXBlLl9mb3JtYXRBc0FycmF5RW50cnkpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLnByb3RvdHlwZS5fZm9ybWF0KToK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzVHJlZU91dGxpbmUuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuRWxlbWVudHNUcmVlRWxlbWVudC5wcm90b3R5cGUuX2NyZWF0
ZVRvb2x0aXBGb3JOb2RlLnNldFRvb2x0aXApOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1l
bmQvT2JqZWN0UHJvcGVydGllc1NlY3Rpb24uanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuT2Jq
ZWN0UHJvcGVydHlUcmVlRWxlbWVudC5wcm90b3R5cGUudXBkYXRlKToKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL1Byb3BlcnRpZXNTaWRlYmFyUGFuZS5qczoKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5Qcm9wZXJ0aWVzU2lkZWJhclBhbmUucHJvdG90eXBlLnVwZGF0ZS5ub2RlUHJvdG90
eXBlc1JlYWR5KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1JlbW90ZU9iamVjdC5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlJlbW90ZU9iamVjdC5mcm9tUHJpbWl0aXZlVmFsdWUpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
UmVtb3RlT2JqZWN0LnByb3RvdHlwZS5nZXQgc3VidHlwZSk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuUmVtb3RlT2JqZWN0LnByb3RvdHlwZS5jYWxsRnVuY3Rpb24pOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkxvY2FsSlNPTk9iamVjdC5wcm90b3R5cGUuZ2V0IHR5cGUpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkxvY2FsSlNPTk9iamVjdC5wcm90b3R5cGUuZ2V0IHN1YnR5cGUpOgorICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlLl9zaG93UG9wdXAuc2hvd09iamVjdFBvcHVwKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUuX3Nob3dQb3B1cCk6
CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IubG9nLmxvZ01lc3NhZ2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmxvZyk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuaW5zcGVjdCk6CisKIDIwMTEtMDctMjQgIEx1a2UgTWFj
cGhlcnNvbiAgIDxtYWNwaGVyc29uQGNocm9taXVtLm9yZz4KIAogICAgICAgICBTbWFsbCBjbGVh
bnVwIG9mIG1fZm9udERpcnR5IHRyYWNraW5nIGluIENTU1N0eWxlU2VsZWN0b3IKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdFNvdXJjZS5qcwppbmRleCA1MGIz
MmNkZWY0NjJjY2ZjOTY4YmU1NjdhMDJiYTgyNTlmNmI4MDIwLi5lYTA2YmI1NDkzMWMyYTE3NGFk
MjAwOGJlOWI2N2ExYzBiOWE1MTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5qZWN0ZWRTY3JpcHRTb3VyY2UuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luamVjdGVkU2NyaXB0U291cmNlLmpzCkBAIC01MCwxNCArNTAsMzEgQEAgdmFyIEluamVjdGVk
U2NyaXB0ID0gZnVuY3Rpb24oKQogICAgIHRoaXMuX29iamVjdEdyb3VwcyA9IHt9OwogfQogCitJ
bmplY3RlZFNjcmlwdC5wcmltaXRpdmVUeXBlcyA9IHsKKyAgICB1bmRlZmluZWQ6IHRydWUsCisg
ICAgYm9vbGVhbjogdHJ1ZSwKKyAgICBudW1iZXI6IHRydWUsCisgICAgc3RyaW5nOiB0cnVlCit9
CisKIEluamVjdGVkU2NyaXB0LnByb3RvdHlwZSA9IHsKKyAgICBpc1ByaW1pdGl2ZVZhbHVlOiBm
dW5jdGlvbihvYmplY3QpCisgICAgeworICAgICAgICAvLyBGSVhNRSgzMzcxNik6IHR5cGVvZiBk
b2N1bWVudC5hbGwgaXMgYWx3YXlzICd1bmRlZmluZWQnLgorICAgICAgICByZXR1cm4gSW5qZWN0
ZWRTY3JpcHQucHJpbWl0aXZlVHlwZXNbdHlwZW9mIG9iamVjdF0gJiYgIXRoaXMuX2lzSFRNTEFs
bENvbGxlY3Rpb24ob2JqZWN0KTsKKyAgICB9LAorCiAgICAgd3JhcE9iamVjdDogZnVuY3Rpb24o
b2JqZWN0LCBncm91cE5hbWUsIGNhbkFjY2Vzc0luc3BlY3RlZFdpbmRvdykKICAgICB7CiAgICAg
ICAgIGlmIChjYW5BY2Nlc3NJbnNwZWN0ZWRXaW5kb3cpCiAgICAgICAgICAgICByZXR1cm4gdGhp
cy5fd3JhcE9iamVjdChvYmplY3QsIGdyb3VwTmFtZSk7CisKICAgICAgICAgdmFyIHJlc3VsdCA9
IHt9OwogICAgICAgICByZXN1bHQudHlwZSA9IHR5cGVvZiBvYmplY3Q7Ci0gICAgICAgIHJlc3Vs
dC5kZXNjcmlwdGlvbiA9IHRoaXMuX3RvU3RyaW5nKG9iamVjdCk7CisgICAgICAgIGlmICh0aGlz
Ll9pc1ByaW1pdGl2ZVZhbHVlKG9iamVjdCkpCisgICAgICAgICAgICByZXN1bHQudmFsdWUgPSBv
YmplY3Q7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJlc3VsdC5kZXNjcmlwdGlvbiA9IHRo
aXMuX3RvU3RyaW5nKG9iamVjdCk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfSwKIApA
QCAtOTQsMjYgKzExMSwzNCBAQCBJbmplY3RlZFNjcmlwdC5wcm90b3R5cGUgPSB7CiAgICAgX3dy
YXBPYmplY3Q6IGZ1bmN0aW9uKG9iamVjdCwgb2JqZWN0R3JvdXBOYW1lKQogICAgIHsKICAgICAg
ICAgdHJ5IHsKLSAgICAgICAgICAgIGlmICh0eXBlb2Ygb2JqZWN0ID09PSAib2JqZWN0IiB8fCB0
eXBlb2Ygb2JqZWN0ID09PSAiZnVuY3Rpb24iIHx8IHRoaXMuX2lzSFRNTEFsbENvbGxlY3Rpb24o
b2JqZWN0KSkgewotICAgICAgICAgICAgICAgIHZhciBpZCA9IHRoaXMuX2xhc3RCb3VuZE9iamVj
dElkKys7Ci0gICAgICAgICAgICAgICAgdGhpcy5faWRUb1dyYXBwZWRPYmplY3RbaWRdID0gb2Jq
ZWN0OwotICAgICAgICAgICAgICAgIHZhciBvYmplY3RJZCA9ICJ7XCJpbmplY3RlZFNjcmlwdElk
XCI6IiArIGluamVjdGVkU2NyaXB0SWQgKyAiLFwiaWRcIjoiICsgaWQgKyAifSI7Ci0gICAgICAg
ICAgICAgICAgaWYgKG9iamVjdEdyb3VwTmFtZSkgewotICAgICAgICAgICAgICAgICAgICB2YXIg
Z3JvdXAgPSB0aGlzLl9vYmplY3RHcm91cHNbb2JqZWN0R3JvdXBOYW1lXTsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKCFncm91cCkgewotICAgICAgICAgICAgICAgICAgICAgICAgZ3JvdXAgPSBb
XTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX29iamVjdEdyb3Vwc1tvYmplY3RHcm91
cE5hbWVdID0gZ3JvdXA7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAg
ICAgZ3JvdXAucHVzaChpZCk7Ci0gICAgICAgICAgICAgICAgICAgIHRoaXMuX2lkVG9PYmplY3RH
cm91cE5hbWVbaWRdID0gb2JqZWN0R3JvdXBOYW1lOwotICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiBJbmplY3RlZFNjcmlwdC5SZW1vdGVPYmplY3Qu
ZnJvbU9iamVjdChvYmplY3QsIG9iamVjdElkKTsKKyAgICAgICAgICAgIHJldHVybiBuZXcgSW5q
ZWN0ZWRTY3JpcHQuUmVtb3RlT2JqZWN0KG9iamVjdCwgb2JqZWN0R3JvdXBOYW1lKTsKICAgICAg
ICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgcmV0dXJuIEluamVjdGVkU2NyaXB0LlJlbW90
ZU9iamVjdC5mcm9tRXhjZXB0aW9uKGUpOworICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICB2YXIgZGVzY3JpcHRpb24gPSBpbmplY3RlZFNjcmlwdC5fZGVzY3JpYmUoZSk7CisgICAg
ICAgICAgICB9IGNhdGNoIChleCkgeworICAgICAgICAgICAgICAgIHZhciBkZXNjcmlwdGlvbiA9
ICI8ZmFpbGVkIHRvIGNvbnZlcnQgZXhjZXB0aW9uIHRvIHN0cmluZz4iOworICAgICAgICAgICAg
fQorICAgICAgICAgICAgcmV0dXJuIG5ldyBJbmplY3RlZFNjcmlwdC5SZW1vdGVPYmplY3QoZGVz
Y3JpcHRpb24pOwogICAgICAgICB9CiAgICAgfSwKIAorICAgIF9iaW5kOiBmdW5jdGlvbihvYmpl
Y3QsIG9iamVjdEdyb3VwTmFtZSkKKyAgICB7CisgICAgICAgIHZhciBpZCA9IHRoaXMuX2xhc3RC
b3VuZE9iamVjdElkKys7CisgICAgICAgIHRoaXMuX2lkVG9XcmFwcGVkT2JqZWN0W2lkXSA9IG9i
amVjdDsKKyAgICAgICAgdmFyIG9iamVjdElkID0gIntcImluamVjdGVkU2NyaXB0SWRcIjoiICsg
aW5qZWN0ZWRTY3JpcHRJZCArICIsXCJpZFwiOiIgKyBpZCArICJ9IjsKKyAgICAgICAgaWYgKG9i
amVjdEdyb3VwTmFtZSkgeworICAgICAgICAgICAgdmFyIGdyb3VwID0gdGhpcy5fb2JqZWN0R3Jv
dXBzW29iamVjdEdyb3VwTmFtZV07CisgICAgICAgICAgICBpZiAoIWdyb3VwKSB7CisgICAgICAg
ICAgICAgICAgZ3JvdXAgPSBbXTsKKyAgICAgICAgICAgICAgICB0aGlzLl9vYmplY3RHcm91cHNb
b2JqZWN0R3JvdXBOYW1lXSA9IGdyb3VwOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZ3Jv
dXAucHVzaChpZCk7CisgICAgICAgICAgICB0aGlzLl9pZFRvT2JqZWN0R3JvdXBOYW1lW2lkXSA9
IG9iamVjdEdyb3VwTmFtZTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gb2JqZWN0SWQ7Cisg
ICAgfSwKKwogICAgIF9wYXJzZU9iamVjdElkOiBmdW5jdGlvbihvYmplY3RJZCkKICAgICB7CiAg
ICAgICAgIHJldHVybiBJbmplY3RlZFNjcmlwdEhvc3QuZXZhbHVhdGUoIigiICsgb2JqZWN0SWQg
KyAiKSIpOwpAQCAtMzU2LDcgKzM4MSw3IEBAIEluamVjdGVkU2NyaXB0LnByb3RvdHlwZSA9IHsK
ICAgICB7CiAgICAgICAgIHZhciBwYXJzZWRPYmplY3RJZCA9IHRoaXMuX3BhcnNlT2JqZWN0SWQo
b2JqZWN0SWQpOwogICAgICAgICB2YXIgb2JqZWN0ID0gdGhpcy5fb2JqZWN0Rm9ySWQocGFyc2Vk
T2JqZWN0SWQpOwotICAgICAgICBpZiAoIW9iamVjdCB8fCB0aGlzLl90eXBlKG9iamVjdCkgIT09
ICJub2RlIikKKyAgICAgICAgaWYgKCFvYmplY3QgfHwgdGhpcy5fc3VidHlwZShvYmplY3QpICE9
PSAibm9kZSIpCiAgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgcmV0dXJuIG9iamVj
dDsKICAgICB9LApAQCAtMzcyLDE4ICszOTcsMTcgQEAgSW5qZWN0ZWRTY3JpcHQucHJvdG90eXBl
ID0gewogICAgICAgICByZXR1cm4gKHR5cGVvZiBvYmplY3QgPT09ICJ1bmRlZmluZWQiKSAmJiBJ
bmplY3RlZFNjcmlwdEhvc3QuaXNIVE1MQWxsQ29sbGVjdGlvbihvYmplY3QpOwogICAgIH0sCiAK
LSAgICBfdHlwZTogZnVuY3Rpb24ob2JqKQorICAgIF9zdWJ0eXBlOiBmdW5jdGlvbihvYmopCiAg
ICAgewogICAgICAgICBpZiAob2JqID09PSBudWxsKQogICAgICAgICAgICAgcmV0dXJuICJudWxs
IjsKIAogICAgICAgICB2YXIgdHlwZSA9IHR5cGVvZiBvYmo7Ci0gICAgICAgIGlmICh0eXBlICE9
PSAib2JqZWN0IiAmJiB0eXBlICE9PSAiZnVuY3Rpb24iKSB7Ci0gICAgICAgICAgICAvLyBGSVhN
RSgzMzcxNik6IHR5cGVvZiBkb2N1bWVudC5hbGwgaXMgYWx3YXlzICd1bmRlZmluZWQnLgotICAg
ICAgICAgICAgaWYgKHRoaXMuX2lzSFRNTEFsbENvbGxlY3Rpb24ob2JqKSkKLSAgICAgICAgICAg
ICAgICByZXR1cm4gImFycmF5IjsKLSAgICAgICAgICAgIHJldHVybiB0eXBlOwotICAgICAgICB9
CisgICAgICAgIGlmICh0aGlzLmlzUHJpbWl0aXZlVmFsdWUob2JqKSkKKyAgICAgICAgICAgIHJl
dHVybiBudWxsOworCisgICAgICAgIGlmICh0aGlzLl9pc0hUTUxBbGxDb2xsZWN0aW9uKG9iaikp
CisgICAgICAgICAgICByZXR1cm4gImFycmF5IjsKIAogICAgICAgICB2YXIgcHJlY2lzZVR5cGUg
PSBJbmplY3RlZFNjcmlwdEhvc3QudHlwZShvYmopOwogICAgICAgICBpZiAocHJlY2lzZVR5cGUp
CkBAIC0zOTksMzkgKzQyMywzOSBAQCBJbmplY3RlZFNjcmlwdC5wcm90b3R5cGUgPSB7CiAgICAg
ICAgIH0KIAogICAgICAgICAvLyBJZiBvd25pbmcgZnJhbWUgaGFzIG5hdmlnYXRlZCB0byBzb21l
d2hlcmUgZWxzZSB3aW5kb3cgcHJvcGVydGllcyB3aWxsIGJlIHVuZGVmaW5lZC4KLSAgICAgICAg
Ly8gSW4gdGhpcyBjYXNlIGp1c3QgcmV0dXJuIHJlc3VsdCBvZiB0aGUgdHlwZW9mLgotICAgICAg
ICByZXR1cm4gdHlwZTsKKyAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgfSwKIAogICAgIF9kZXNj
cmliZTogZnVuY3Rpb24ob2JqKQogICAgIHsKLSAgICAgICAgdmFyIHR5cGUgPSB0aGlzLl90eXBl
KG9iaik7Ci0KLSAgICAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgICAgIGNhc2UgIm9iamVjdCI6
Ci0gICAgICAgICAgICAvLyBGYWxsIHRocm91Z2guCi0gICAgICAgIGNhc2UgIm5vZGUiOgotICAg
ICAgICAgICAgdmFyIHJlc3VsdCA9IEluamVjdGVkU2NyaXB0SG9zdC5pbnRlcm5hbENvbnN0cnVj
dG9yTmFtZShvYmopOwotICAgICAgICAgICAgaWYgKHJlc3VsdCA9PT0gIk9iamVjdCIpIHsKLSAg
ICAgICAgICAgICAgICAvLyBJbiBDaHJvbWl1bSBET00gd3JhcHBlciBwcm90b3R5cGVzIHdpbGwg
aGF2ZSBPYmplY3QgYXMgdGhlaXIgY29uc3RydWN0b3IgbmFtZSwKLSAgICAgICAgICAgICAgICAv
LyBnZXQgdGhlIHJlYWwgRE9NIHdyYXBwZXIgbmFtZSBmcm9tIHRoZSBjb25zdHJ1Y3RvciBwcm9w
ZXJ0eS4KLSAgICAgICAgICAgICAgICB2YXIgY29uc3RydWN0b3JOYW1lID0gb2JqLmNvbnN0cnVj
dG9yICYmIG9iai5jb25zdHJ1Y3Rvci5uYW1lOwotICAgICAgICAgICAgICAgIGlmIChjb25zdHJ1
Y3Rvck5hbWUpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb25zdHJ1Y3Rvck5hbWU7Ci0g
ICAgICAgICAgICB9Ci0gICAgICAgICAgICByZXR1cm4gcmVzdWx0OwotICAgICAgICBjYXNlICJh
cnJheSI6Ci0gICAgICAgICAgICB2YXIgY2xhc3NOYW1lID0gSW5qZWN0ZWRTY3JpcHRIb3N0Lmlu
dGVybmFsQ29uc3RydWN0b3JOYW1lKG9iaik7CisgICAgICAgIGlmICh0aGlzLmlzUHJpbWl0aXZl
VmFsdWUob2JqKSkKKyAgICAgICAgICAgIHJldHVybiBudWxsOworCisgICAgICAgIHZhciB0eXBl
ID0gdHlwZW9mIG9iajsKKyAgICAgICAgaWYgKHR5cGUgPT09ICJmdW5jdGlvbiIpCisgICAgICAg
ICAgICByZXR1cm4gdGhpcy5fdG9TdHJpbmcob2JqKTsKKworICAgICAgICAvLyBUeXBlIGlzIG9i
amVjdCwgZ2V0IHN1YnR5cGUuCisgICAgICAgIHZhciBzdWJ0eXBlID0gdGhpcy5fc3VidHlwZShv
YmopOworCisgICAgICAgIGlmIChzdWJ0eXBlID09PSAicmVnZXhwIikKKyAgICAgICAgICAgIHJl
dHVybiB0aGlzLl90b1N0cmluZyhvYmopOworCisgICAgICAgIHZhciBjbGFzc05hbWUgPSBJbmpl
Y3RlZFNjcmlwdEhvc3QuaW50ZXJuYWxDb25zdHJ1Y3Rvck5hbWUob2JqKTsKKyAgICAgICAgaWYg
KHN1YnR5cGUgPT09ICJhcnJheSIpIHsKICAgICAgICAgICAgIGlmICh0eXBlb2Ygb2JqLmxlbmd0
aCA9PT0gIm51bWJlciIpCiAgICAgICAgICAgICAgICAgY2xhc3NOYW1lICs9ICJbIiArIG9iai5s
ZW5ndGggKyAiXSI7CiAgICAgICAgICAgICByZXR1cm4gY2xhc3NOYW1lOwotICAgICAgICBjYXNl
ICJzdHJpbmciOgotICAgICAgICAgICAgcmV0dXJuIG9iajsKLSAgICAgICAgY2FzZSAiZnVuY3Rp
b24iOgotICAgICAgICAgICAgLy8gRmFsbCB0aHJvdWdoLgotICAgICAgICBkZWZhdWx0OgotICAg
ICAgICAgICAgcmV0dXJuIHRoaXMuX3RvU3RyaW5nKG9iaik7CiAgICAgICAgIH0KKworICAgICAg
ICBpZiAoY2xhc3NOYW1lID09PSAiT2JqZWN0IikgeworICAgICAgICAgICAgLy8gSW4gQ2hyb21p
dW0gRE9NIHdyYXBwZXIgcHJvdG90eXBlcyB3aWxsIGhhdmUgT2JqZWN0IGFzIHRoZWlyIGNvbnN0
cnVjdG9yIG5hbWUsCisgICAgICAgICAgICAvLyBnZXQgdGhlIHJlYWwgRE9NIHdyYXBwZXIgbmFt
ZSBmcm9tIHRoZSBjb25zdHJ1Y3RvciBwcm9wZXJ0eS4KKyAgICAgICAgICAgIHZhciBjb25zdHJ1
Y3Rvck5hbWUgPSBvYmouY29uc3RydWN0b3IgJiYgb2JqLmNvbnN0cnVjdG9yLm5hbWU7CisgICAg
ICAgICAgICBpZiAoY29uc3RydWN0b3JOYW1lKQorICAgICAgICAgICAgICAgIHJldHVybiBjb25z
dHJ1Y3Rvck5hbWU7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGNsYXNzTmFtZTsKICAgICB9
LAogCiAgICAgX3RvU3RyaW5nOiBmdW5jdGlvbihvYmopCkBAIC00NDMsNDAgKzQ2NywyMiBAQCBJ
bmplY3RlZFNjcmlwdC5wcm90b3R5cGUgPSB7CiAKIHZhciBpbmplY3RlZFNjcmlwdCA9IG5ldyBJ
bmplY3RlZFNjcmlwdCgpOwogCi1JbmplY3RlZFNjcmlwdC5SZW1vdGVPYmplY3QgPSBmdW5jdGlv
bihvYmplY3RJZCwgdHlwZSwgY2xhc3NOYW1lLCBkZXNjcmlwdGlvbiwgaGFzQ2hpbGRyZW4pCitJ
bmplY3RlZFNjcmlwdC5SZW1vdGVPYmplY3QgPSBmdW5jdGlvbihvYmplY3QsIG9iamVjdEdyb3Vw
TmFtZSkKIHsKLSAgICBpZiAob2JqZWN0SWQpIHsKLSAgICAgICAgdGhpcy5vYmplY3RJZCA9IG9i
amVjdElkOwotICAgICAgICB0aGlzLmhhc0NoaWxkcmVuID0gaGFzQ2hpbGRyZW47CisgICAgdGhp
cy50eXBlID0gdHlwZW9mIG9iamVjdDsKKyAgICBpZiAoaW5qZWN0ZWRTY3JpcHQuaXNQcmltaXRp
dmVWYWx1ZShvYmplY3QpKSB7CisgICAgICAgIC8vIFdlIGRvbid0IHNlbmQgdW5kZWZpbmVkIHZh
bHVlcyBvdmVyIEpTT04uCisgICAgICAgIGlmICh0eXBlb2Ygb2JqZWN0ICE9PSAidW5kZWZpbmVk
IikKKyAgICAgICAgICAgIHRoaXMudmFsdWUgPSBvYmplY3Q7CisgICAgICAgIHJldHVybjsKICAg
ICB9Ci0gICAgdGhpcy50eXBlID0gdHlwZTsKLSAgICBpZiAoY2xhc3NOYW1lKQotICAgICAgICB0
aGlzLmNsYXNzTmFtZSA9IGNsYXNzTmFtZTsKLSAgICB0aGlzLmRlc2NyaXB0aW9uID0gZGVzY3Jp
cHRpb247Ci19CiAKLUluamVjdGVkU2NyaXB0LlJlbW90ZU9iamVjdC5mcm9tRXhjZXB0aW9uID0g
ZnVuY3Rpb24oZSkKLXsKLSAgICB0cnkgewotICAgICAgICB2YXIgZGVzY3JpcHRpb24gPSBpbmpl
Y3RlZFNjcmlwdC5fZGVzY3JpYmUoZSk7Ci0gICAgfSBjYXRjaCAoZXgpIHsKLSAgICAgICAgdmFy
IGRlc2NyaXB0aW9uID0gIjxmYWlsZWQgdG8gY29udmVydCBleGNlcHRpb24gdG8gc3RyaW5nPiI7
Ci0gICAgfQotICAgIHJldHVybiBuZXcgSW5qZWN0ZWRTY3JpcHQuUmVtb3RlT2JqZWN0KG51bGws
ICJzdHJpbmciLCBudWxsLCAiWyBFeGNlcHRpb246ICIgKyBkZXNjcmlwdGlvbiArICIgXSIpOwot
fQotCi0vLyBUaGlzIG1ldGhvZCBtYXkgdGhyb3cKLUluamVjdGVkU2NyaXB0LlJlbW90ZU9iamVj
dC5mcm9tT2JqZWN0ID0gZnVuY3Rpb24ob2JqZWN0LCBvYmplY3RJZCkKLXsKLSAgICB2YXIgdHlw
ZSA9IGluamVjdGVkU2NyaXB0Ll90eXBlKG9iamVjdCk7Ci0gICAgdmFyIHJhd1R5cGUgPSB0eXBl
b2Ygb2JqZWN0OwotICAgIHZhciBoYXNDaGlsZHJlbiA9IChyYXdUeXBlID09PSAib2JqZWN0IiAm
JiBvYmplY3QgIT09IG51bGwgJiYgKCEhT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMob2JqZWN0
KS5sZW5ndGggfHwgISFvYmplY3QuX19wcm90b19fKSkgfHwgcmF3VHlwZSA9PT0gImZ1bmN0aW9u
IjsKLSAgICB2YXIgY2xhc3NOYW1lOwotICAgIC8vIEF2b2lkIGV4cGxpY2l0IGFzc2lnbm1lbnQg
dG8gdW5kZWZpbmVkIGFzIGl0cyB2YWx1ZSBjYW4gYmUgb3ZlcnJpZGVuIChzZWUgY3JidWcuY29t
Lzg4NDE0KS4KLSAgICBpZiAodHlwZW9mIG9iamVjdCA9PT0gIm9iamVjdCIgfHwgdHlwZW9mIG9i
amVjdCA9PT0gImZ1bmN0aW9uIikKLSAgICAgICAgY2xhc3NOYW1lID0gSW5qZWN0ZWRTY3JpcHRI
b3N0LmludGVybmFsQ29uc3RydWN0b3JOYW1lKG9iamVjdCk7Ci0gICAgdmFyIGRlc2NyaXB0aW9u
ID0gaW5qZWN0ZWRTY3JpcHQuX2Rlc2NyaWJlKG9iamVjdCk7Ci0gICAgcmV0dXJuIG5ldyBJbmpl
Y3RlZFNjcmlwdC5SZW1vdGVPYmplY3Qob2JqZWN0SWQsIHR5cGUsIGNsYXNzTmFtZSwgZGVzY3Jp
cHRpb24sIGhhc0NoaWxkcmVuKTsKKyAgICB0aGlzLm9iamVjdElkID0gaW5qZWN0ZWRTY3JpcHQu
X2JpbmQob2JqZWN0LCBvYmplY3RHcm91cE5hbWUpOworICAgIHZhciBzdWJ0eXBlID0gaW5qZWN0
ZWRTY3JpcHQuX3N1YnR5cGUob2JqZWN0KQorICAgIGlmIChzdWJ0eXBlKQorICAgICAgICB0aGlz
LnN1YnR5cGUgPSBzdWJ0eXBlOworICAgIHRoaXMuY2xhc3NOYW1lID0gSW5qZWN0ZWRTY3JpcHRI
b3N0LmludGVybmFsQ29uc3RydWN0b3JOYW1lKG9iamVjdCk7CisgICAgdGhpcy5kZXNjcmlwdGlv
biA9IGluamVjdGVkU2NyaXB0Ll9kZXNjcmliZShvYmplY3QpOwogfQogCiBJbmplY3RlZFNjcmlw
dC5DYWxsRnJhbWVQcm94eSA9IGZ1bmN0aW9uKG9yZGluYWwsIGNhbGxGcmFtZSkKQEAgLTY0NSw3
ICs2NTEsNyBAQCBDb21tYW5kTGluZUFQSUltcGwucHJvdG90eXBlID0gewogCiAgICAgY29weTog
ZnVuY3Rpb24ob2JqZWN0KQogICAgIHsKLSAgICAgICAgaWYgKGluamVjdGVkU2NyaXB0Ll90eXBl
KG9iamVjdCkgPT09ICJub2RlIikKKyAgICAgICAgaWYgKGluamVjdGVkU2NyaXB0Ll9zdWJ0eXBl
KG9iamVjdCkgPT09ICJub2RlIikKICAgICAgICAgICAgIG9iamVjdCA9IG9iamVjdC5vdXRlckhU
TUw7CiAgICAgICAgIEluamVjdGVkU2NyaXB0SG9zdC5jb3B5VGV4dChvYmplY3QpOwogICAgIH0s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggOGM4YTJiNGM0ZjQw
OWQxNmQ0ZjMyOGQ3ZWM3MjZiMjFhNTk4MjU2OS4uZmM5YjZmYTM4M2EzZmFhODgyMTY4NzRlOWQ5
ZDc1NWMwYjJjMjczMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvci5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpA
QCAtMjIyLDExICsyMjIsMTIgQEAKICAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAog
ICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJNaXJyb3Igb2JqZWN0IHJlZmVyZW5jaW5n
IG9yaWdpbmFsIEphdmFTY3JpcHQgb2JqZWN0LiIsCiAgICAgICAgICAgICAgICAgInByb3BlcnRp
ZXMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZGVzY3JpcHRpb24iLCAidHlw
ZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRo
ZSBvYmplY3QuIiB9LAotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImhhc0NoaWxkcmVu
IiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJU
cnVlIHdoZW4gdGhpcyBvYmplY3QgY2FuIGJlIHF1ZXJpZWQgZm9yIGNoaWxkcmVuLiIgfSwKLSAg
ICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJvYmplY3RJZCIsICJ0eXBlIjogInN0cmluZyIs
ICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJVbmlxdWUgb2JqZWN0IGlkZW50aWZp
ZXIgKGZvciBub24tcHJpbWl0aXZlIHZhbHVlcykuIiB9LAotICAgICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogInR5cGUiLCAidHlwZSI6ICJzdHJpbmciLCAiZW51bSI6IFsib2JqZWN0IiwgImFy
cmF5IiwgImZ1bmN0aW9uIiwgIm51bGwiLCAibm9kZSIsICJ1bmRlZmluZWQiLCAic3RyaW5nIiwg
Im51bWJlciIsICJib29sZWFuIiwgInJlZ2V4cCIsICJkYXRlIl0sICJkZXNjcmlwdGlvbiI6ICJP
YmplY3QgdHlwZS4iIH0sCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiY2xhc3NOYW1l
IiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIk9i
amVjdCBjbGFzcyBuYW1lLiIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInR5cGUi
LCAidHlwZSI6ICJzdHJpbmciLCAiZW51bSI6IFsib2JqZWN0IiwgImZ1bmN0aW9uIiwgInVuZGVm
aW5lZCIsICJzdHJpbmciLCAibnVtYmVyIiwgImJvb2xlYW4iXSwgImRlc2NyaXB0aW9uIjogIk9i
amVjdCB0eXBlLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzdWJ0eXBlIiwg
InR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImVudW0iOiBbImFycmF5IiwgIm51
bGwiLCAibm9kZSIsICJ1bmRlZmluZWQiLCAicmVnZXhwIiwgImRhdGUiXSwgImRlc2NyaXB0aW9u
IjogIk9iamVjdCBzdWJ0eXBlIGhpbnQuIFNwZWNpZmllZCBmb3Igb25seSBmb3IgPGNvZGU+b2Jq
ZWN0PC9jb2RlPiB0eXBlIHZhbHVlcyBvbmx5LiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJjbGFzc05hbWUiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAi
ZGVzY3JpcHRpb24iOiAiT2JqZWN0IGNsYXNzIChjb25zdHJ1Y3RvcikgbmFtZS4gU3BlY2lmaWVk
IGZvciBvbmx5IGZvciA8Y29kZT5vYmplY3Q8L2NvZGU+IHR5cGUgdmFsdWVzIG9ubHkuIiB9LAor
ICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInZhbHVlIiwgInR5cGUiOiAiYW55IiwgIm9w
dGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlJlbW90ZSBvYmplY3QgdmFsdWUgKGluIGNh
c2Ugb2YgcHJpbWl0aXZlIHZhbHVlcykuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogImRlc2NyaXB0aW9uIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRl
c2NyaXB0aW9uIjogIlN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgb2JqZWN0LiIgfSwKKyAg
ICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJvYmplY3RJZCIsICJ0eXBlIjogInN0cmluZyIs
ICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJVbmlxdWUgb2JqZWN0IGlkZW50aWZp
ZXIgKGZvciBub24tcHJpbWl0aXZlIHZhbHVlcykuIiB9CiAgICAgICAgICAgICAgICAgXQogICAg
ICAgICAgICAgfSwKICAgICAgICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCmluZGV4IGZmYzFiMjBhMTUyMTAzNWYzMjdjYTE5
MGRhNjVjY2IzNzQxMDQ5ZTguLmFlMTAyYzRlZGZmOTkyNjU3ZGQ1YzdlNTY1YTMzZDliZGNmY2Uz
ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29s
ZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xl
Vmlldy5qcwpAQCAtNjE1LDExICs2MTUsMTYgQEAgV2ViSW5zcGVjdG9yLkNvbnNvbGVWaWV3LnBy
b3RvdHlwZSA9IHsKIAogICAgIF9mb3JtYXQ6IGZ1bmN0aW9uKG91dHB1dCwgZm9yY2VPYmplY3RG
b3JtYXQpCiAgICAgewotICAgICAgICB2YXIgaXNQcm94eSA9IChvdXRwdXQgIT0gbnVsbCAmJiB0
eXBlb2Ygb3V0cHV0ID09PSAib2JqZWN0Iik7Ci0gICAgICAgIHZhciB0eXBlID0gKGZvcmNlT2Jq
ZWN0Rm9ybWF0ID8gIm9iamVjdCIgOiBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LnR5cGUob3V0
cHV0KSk7CisgICAgICAgIHZhciB0eXBlOworICAgICAgICBpZiAoZm9yY2VPYmplY3RGb3JtYXQp
CisgICAgICAgICAgICB0eXBlID0gIm9iamVjdCI7CisgICAgICAgIGVsc2UgaWYgKG91dHB1dCBp
bnN0YW5jZW9mIFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QpCisgICAgICAgICAgICB0eXBlID0g
b3V0cHV0LnN1YnR5cGUgfHwgb3V0cHV0LnR5cGU7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IHR5cGUgPSB0eXBlb2Ygb3V0cHV0OwogCiAgICAgICAgIHZhciBmb3JtYXR0ZXIgPSB0aGlzLl9j
dXN0b21Gb3JtYXR0ZXJzW3R5cGVdOwotICAgICAgICBpZiAoIWZvcm1hdHRlciB8fCAhaXNQcm94
eSkgeworICAgICAgICBpZiAoIWZvcm1hdHRlcikgewogICAgICAgICAgICAgZm9ybWF0dGVyID0g
dGhpcy5fZm9ybWF0dmFsdWU7CiAgICAgICAgICAgICBvdXRwdXQgPSBvdXRwdXQuZGVzY3JpcHRp
b247CiAgICAgICAgIH0KQEAgLTcwNyw3ICs3MTIsNyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZVZp
ZXcucHJvdG90eXBlID0gewogICAgIF9mb3JtYXRBc0FycmF5RW50cnk6IGZ1bmN0aW9uKG91dHB1
dCkKICAgICB7CiAgICAgICAgIC8vIFByZXZlbnQgaW5maW5pdGUgZXhwYW5zaW9uIG9mIGNyb3Nz
LXJlZmVyZW5jaW5nIGFycmF5cy4KLSAgICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1hdChvdXRwdXQs
IFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QudHlwZShvdXRwdXQpID09PSAiYXJyYXkiKTsKKyAg
ICAgICAgcmV0dXJuIHRoaXMuX2Zvcm1hdChvdXRwdXQsIG91dHB1dC5zdWJ0eXBlICYmIG91dHB1
dC5zdWJ0eXBlID09PSAiYXJyYXkiKTsKICAgICB9CiB9CiAKQEAgLTg0NCw2ICs4NDksOSBAQCBX
ZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UucHJvdG90eXBlID0gewogICAgICAgICAvLyBGb3Jt
YXR0aW5nIGNvZGUgYmVsb3cgYXNzdW1lcyB0aGF0IHBhcmFtZXRlcnMgYXJlIGFsbCB3cmFwcGVy
cyB3aGVyZWFzIGZyb250ZW5kIGNvbnNvbGUKICAgICAgICAgLy8gQVBJIGFsbG93cyBwYXNzaW5n
IGFyYml0cmFyeSB2YWx1ZXMgYXMgbWVzc2FnZXMgKHN0cmluZ3MsIG51bWJlcnMsIGV0Yy4pLiBX
cmFwIHRoZW0gaGVyZS4KICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJhbWV0ZXJzLmxl
bmd0aDsgKytpKSB7CisgICAgICAgICAgICBpZiAocGFyYW1ldGVyc1tpXSBpbnN0YW5jZW9mIFdl
Ykluc3BlY3Rvci5SZW1vdGVPYmplY3QpCisgICAgICAgICAgICAgICAgY29udGludWU7CisKICAg
ICAgICAgICAgIGlmICh0eXBlb2YgcGFyYW1ldGVyc1tpXSA9PT0gIm9iamVjdCIpCiAgICAgICAg
ICAgICAgICAgcGFyYW1ldGVyc1tpXSA9IFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QuZnJvbVBh
eWxvYWQocGFyYW1ldGVyc1tpXSk7CiAgICAgICAgICAgICBlbHNlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzVHJlZU91dGxpbmUuanMgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRzVHJlZU91dGxpbmUuanMK
aW5kZXggZDFlNGIwMTg1NTlhMDY2NDEyZTIyMWM2NmMzOTcyNTUxMGZmMjk2OS4uOTljNzU5N2Y3
NDljMzIyMzY4ZWQ4NzlmOWNiNTI3MDIxNzZmYmIyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FbGVtZW50c1RyZWVPdXRsaW5lLmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudHNUcmVlT3V0bGluZS5qcwpAQCAt
NTc5LDkgKzU3OSw5IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1RyZWVFbGVtZW50LnByb3RvdHlw
ZSA9IHsKICAgICAgICAgaWYgKCFub2RlLm5vZGVOYW1lKCkgfHwgbm9kZS5ub2RlTmFtZSgpLnRv
TG93ZXJDYXNlKCkgIT09ICJpbWciKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGZ1
bmN0aW9uIHNldFRvb2x0aXAoZXJyb3IsIHJlc3VsdCwgd2FzVGhyb3duKQorICAgICAgICBmdW5j
dGlvbiBzZXRUb29sdGlwKHJlc3VsdCkKICAgICAgICAgewotICAgICAgICAgICAgaWYgKGVycm9y
IHx8IHdhc1Rocm93biB8fCByZXN1bHQudHlwZSAhPT0gInN0cmluZyIpCisgICAgICAgICAgICBp
ZiAoIXJlc3VsdCB8fCByZXN1bHQudHlwZSAhPT0gInN0cmluZyIpCiAgICAgICAgICAgICAgICAg
cmV0dXJuOwogCiAgICAgICAgICAgICB0cnkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvT2JqZWN0UHJvcGVydGllc1NlY3Rpb24uanMKaW5k
ZXggOTY4NzgwNzg3YjU5YzhhMjM0ZGIzNjczNDc2NzNhZjE1MjhjODE4Yi4uNTNmZjNmZDk1NjRi
ZjBkZDMyZWVhMjExMTA1YzJlM2I3Y2JiYjcyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5qcworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL09iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpz
CkBAIC0yMDQsNyArMjA0LDcgQEAgV2ViSW5zcGVjdG9yLk9iamVjdFByb3BlcnR5VHJlZUVsZW1l
bnQucHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhpcy52YWx1ZUVsZW1lbnQuYWRkU3R5bGVD
bGFzcygiZXJyb3IiKTsKICAgICAgICAgaWYgKHRoaXMucHJvcGVydHkudmFsdWUudHlwZSkKICAg
ICAgICAgICAgIHRoaXMudmFsdWVFbGVtZW50LmFkZFN0eWxlQ2xhc3MoImNvbnNvbGUtZm9ybWF0
dGVkLSIgKyB0aGlzLnByb3BlcnR5LnZhbHVlLnR5cGUpOwotICAgICAgICBpZiAodGhpcy5wcm9w
ZXJ0eS52YWx1ZS50eXBlID09PSAibm9kZSIpCisgICAgICAgIGlmICh0aGlzLnByb3BlcnR5LnZh
bHVlLnN1YnR5cGUgPT09ICJub2RlIikKICAgICAgICAgICAgIHRoaXMudmFsdWVFbGVtZW50LmFk
ZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwgdGhpcy5fY29udGV4dE1lbnVFdmVudEZpcmVk
LmJpbmQodGhpcyksIGZhbHNlKTsKIAogICAgICAgICB0aGlzLmxpc3RJdGVtRWxlbWVudC5yZW1v
dmVDaGlsZHJlbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9Qcm9wZXJ0aWVzU2lkZWJhclBhbmUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1Byb3BlcnRpZXNTaWRlYmFyUGFuZS5qcwppbmRleCBkYmRhYTg0N2I3ZjIzN2Yx
ZGFkNGFiZjk4N2I5NDNjODZiYTQ3YmM3Li41ZTNlZmIwNWQyZTQ3NmYzYmYyZTU2ZDRiNTE1Zjk5
MTFlYmVkMTBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1Byb3BlcnRpZXNTaWRlYmFyUGFuZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1Byb3BlcnRpZXNTaWRlYmFyUGFuZS5qcwpAQCAtNjUsMTEgKzY1LDEwIEBAIFdl
Ykluc3BlY3Rvci5Qcm9wZXJ0aWVzU2lkZWJhclBhbmUucHJvdG90eXBlID0gewogICAgICAgICAg
ICAgb2JqZWN0LnJlbGVhc2UoKTsKICAgICAgICAgfQogCi0gICAgICAgIGZ1bmN0aW9uIG5vZGVQ
cm90b3R5cGVzUmVhZHkoZXJyb3IsIG9iamVjdFBheWxvYWQsIHdhc1Rocm93bikKKyAgICAgICAg
ZnVuY3Rpb24gbm9kZVByb3RvdHlwZXNSZWFkeShvYmplY3QpCiAgICAgICAgIHsKLSAgICAgICAg
ICAgIGlmIChlcnJvciB8fCB3YXNUaHJvd24pCisgICAgICAgICAgICBpZiAoIW9iamVjdCkKICAg
ICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB2YXIgb2JqZWN0ID0gV2ViSW5zcGVj
dG9yLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChvYmplY3RQYXlsb2FkKTsKICAgICAgICAgICAg
IG9iamVjdC5nZXRPd25Qcm9wZXJ0aWVzKGZpbGxTZWN0aW9uLmJpbmQodGhpcykpOwogICAgICAg
ICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVt
b3RlT2JqZWN0LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1vdGVP
YmplY3QuanMKaW5kZXggM2NjY2ZmOGY4ODc0MGIyOGU1MTc2ZmMzYmY2YmRhMzdiMTkzNzU2Yy4u
NGY5YzkyZjllNjFhNWY4ZDlkN2Y4NTBjN2YxNDYwYmZkMTM0N2Q4OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1vdGVPYmplY3QuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZW1vdGVPYmplY3QuanMKQEAgLTI4LDE3
ICsyOCwyNSBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1XZWJJbnNwZWN0b3IuUmVtb3RlT2Jq
ZWN0ID0gZnVuY3Rpb24ob2JqZWN0SWQsIHR5cGUsIGRlc2NyaXB0aW9uLCBoYXNDaGlsZHJlbikK
K1dlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QgPSBmdW5jdGlvbihvYmplY3RJZCwgdHlwZSwgc3Vi
dHlwZSwgdmFsdWUsIGRlc2NyaXB0aW9uKQogewotICAgIHRoaXMuX29iamVjdElkID0gb2JqZWN0
SWQ7CiAgICAgdGhpcy5fdHlwZSA9IHR5cGU7Ci0gICAgdGhpcy5fZGVzY3JpcHRpb24gPSBkZXNj
cmlwdGlvbjsKLSAgICB0aGlzLl9oYXNDaGlsZHJlbiA9IGhhc0NoaWxkcmVuOworICAgIGlmIChv
YmplY3RJZCkgeworICAgICAgICAvLyBoYW5kbGUKKyAgICAgICAgdGhpcy5fb2JqZWN0SWQgPSBv
YmplY3RJZDsKKyAgICAgICAgdGhpcy5fc3VidHlwZSA9IHN1YnR5cGU7CisgICAgICAgIHRoaXMu
X2Rlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247CisgICAgICAgIHRoaXMuX2hhc0NoaWxkcmVuID0g
dHJ1ZTsKKyAgICB9IGVsc2UgeworICAgICAgICAvLyBQcmltaXRpdmUKKyAgICAgICAgdGhpcy5f
ZGVzY3JpcHRpb24gPSB2YWx1ZSArICIiOworICAgICAgICB0aGlzLl9oYXNDaGlsZHJlbiA9IGZh
bHNlOworICAgIH0KIH0KIAogV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5mcm9tUHJpbWl0aXZl
VmFsdWUgPSBmdW5jdGlvbih2YWx1ZSkKIHsKLSAgICByZXR1cm4gbmV3IFdlYkluc3BlY3Rvci5S
ZW1vdGVPYmplY3QobnVsbCwgdHlwZW9mIHZhbHVlLCB2YWx1ZSk7CisgICAgcmV0dXJuIG5ldyBX
ZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0KG51bGwsIHR5cGVvZiB2YWx1ZSwgbnVsbCwgdmFsdWUp
OwogfQogCiBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LmZyb21Mb2NhbE9iamVjdCA9IGZ1bmN0
aW9uKHZhbHVlKQpAQCAtNjMsMTAgKzcxLDkgQEAgV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5y
ZXNvbHZlTm9kZSA9IGZ1bmN0aW9uKG5vZGUsIG9iamVjdEdyb3VwLCBjYWxsYmFjaykKIAogV2Vi
SW5zcGVjdG9yLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZCA9IGZ1bmN0aW9uKHBheWxvYWQpCiB7
Ci0gICAgaWYgKHR5cGVvZiBwYXlsb2FkID09PSAib2JqZWN0IikKLSAgICAgICAgcmV0dXJuIG5l
dyBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0KHBheWxvYWQub2JqZWN0SWQsIHBheWxvYWQudHlw
ZSwgcGF5bG9hZC5kZXNjcmlwdGlvbiwgcGF5bG9hZC5oYXNDaGlsZHJlbik7Ci0gICAgLy8gRklY
TUU6IG1ha2Ugc3VyZSB3ZSBvbmx5IGdldCBoZXJlIHdpdGggcmVhbCBwYXlsb2FkcyBpbiB0aGUg
bmV3IERlYnVnZ2VyQWdlbnQuanMuCi0gICAgcmV0dXJuIHBheWxvYWQ7CisgICAgY29uc29sZS5h
c3NlcnQodHlwZW9mIHBheWxvYWQgPT09ICJvYmplY3QiLCAiUmVtb3RlIG9iamVjdCBwYXlsb2Fk
IHNob3VsZCBvbmx5IGJlIGFuIG9iamVjdCIpOworCisgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0
b3IuUmVtb3RlT2JqZWN0KHBheWxvYWQub2JqZWN0SWQsIHBheWxvYWQudHlwZSwgcGF5bG9hZC5z
dWJ0eXBlLCBwYXlsb2FkLnZhbHVlLCBwYXlsb2FkLmRlc2NyaXB0aW9uKTsKIH0KIAogV2ViSW5z
cGVjdG9yLlJlbW90ZU9iamVjdC50eXBlID0gZnVuY3Rpb24ocmVtb3RlT2JqZWN0KQpAQCAtOTIs
NiArOTksMTEgQEAgV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5wcm90b3R5cGUgPSB7CiAgICAg
ICAgIHJldHVybiB0aGlzLl90eXBlOwogICAgIH0sCiAKKyAgICBnZXQgc3VidHlwZSgpCisgICAg
eworICAgICAgICByZXR1cm4gdGhpcy5fc3VidHlwZTsKKyAgICB9LAorCiAgICAgZ2V0IGRlc2Ny
aXB0aW9uKCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9kZXNjcmlwdGlvbjsKQEAgLTE1
MCw3ICsxNjIsMTIgQEAgV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5wcm90b3R5cGUgPSB7CiAK
ICAgICBjYWxsRnVuY3Rpb246IGZ1bmN0aW9uKGZ1bmN0aW9uRGVjbGFyYXRpb24sIGNhbGxiYWNr
KQogICAgIHsKLSAgICAgICAgUnVudGltZUFnZW50LmNhbGxGdW5jdGlvbk9uKHRoaXMuX29iamVj
dElkLCBmdW5jdGlvbkRlY2xhcmF0aW9uLnRvU3RyaW5nKCksIHVuZGVmaW5lZCwgY2FsbGJhY2sp
OworICAgICAgICBmdW5jdGlvbiBteWNhbGxiYWNrKGVycm9yLCByZXN1bHQsIHdhc1Rocm93bikK
KyAgICAgICAgeworICAgICAgICAgICAgY2FsbGJhY2soKGVycm9yIHx8IHdhc1Rocm93bikgPyBu
dWxsIDogV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5mcm9tUGF5bG9hZChyZXN1bHQpKTsKKyAg
ICAgICAgfQorCisgICAgICAgIFJ1bnRpbWVBZ2VudC5jYWxsRnVuY3Rpb25Pbih0aGlzLl9vYmpl
Y3RJZCwgZnVuY3Rpb25EZWNsYXJhdGlvbi50b1N0cmluZygpLCB1bmRlZmluZWQsIG15Y2FsbGJh
Y2spOwogICAgIH0sCiAKICAgICByZWxlYXNlOiBmdW5jdGlvbigpCkBAIC0yMzIsMTEgKzI0OSwx
OCBAQCBXZWJJbnNwZWN0b3IuTG9jYWxKU09OT2JqZWN0LnByb3RvdHlwZSA9IHsKIAogICAgIGdl
dCB0eXBlKCkKICAgICB7CisgICAgICAgIHJldHVybiB0eXBlb2YgdGhpcy5fdmFsdWU7CisgICAg
fSwKKworICAgIGdldCBzdWJ0eXBlKCkKKyAgICB7CiAgICAgICAgIGlmICh0aGlzLl92YWx1ZSA9
PT0gbnVsbCkKICAgICAgICAgICAgIHJldHVybiAibnVsbCI7CisKICAgICAgICAgaWYgKHRoaXMu
X3ZhbHVlIGluc3RhbmNlb2YgQXJyYXkpCiAgICAgICAgICAgICByZXR1cm4gImFycmF5IjsKLSAg
ICAgICAgcmV0dXJuIHR5cGVvZiB0aGlzLl92YWx1ZTsKKworICAgICAgICByZXR1cm4gdW5kZWZp
bmVkOwogICAgIH0sCiAKICAgICBnZXQgaGFzQ2hpbGRyZW4oKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMKaW5kZXggMjNhZDk1ZDk5ZTQz
ZTM0OTIzMTczZmEzNmU2ZDY0NjA1MDUzMDc2Ni4uMmE2ODJhYTBmYjcyODMxNTBhZThjYzMwMjVj
NWIxYmFlNzNkMWU4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9Tb3VyY2VGcmFtZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1NvdXJjZUZyYW1lLmpzCkBAIC03ODgsNyArNzg4LDcgQEAgV2ViSW5zcGVjdG9yLlNvdXJj
ZUZyYW1lLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAg
ICAgIHZhciBwb3B1cENvbnRlbnRFbGVtZW50ID0gbnVsbDsKLSAgICAgICAgICAgIGlmIChyZXN1
bHQudHlwZSAhPT0gIm9iamVjdCIgJiYgcmVzdWx0LnR5cGUgIT09ICJub2RlIiAmJiByZXN1bHQu
dHlwZSAhPT0gImFycmF5IikgeworICAgICAgICAgICAgaWYgKHJlc3VsdC50eXBlICE9PSAib2Jq
ZWN0IikgewogICAgICAgICAgICAgICAgIHBvcHVwQ29udGVudEVsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJzcGFuIik7CiAgICAgICAgICAgICAgICAgcG9wdXBDb250ZW50RWxlbWVu
dC5jbGFzc05hbWUgPSAibW9ub3NwYWNlIGNvbnNvbGUtZm9ybWF0dGVkLSIgKyByZXN1bHQudHlw
ZTsKICAgICAgICAgICAgICAgICBwb3B1cENvbnRlbnRFbGVtZW50LnN0eWxlLndoaXRlU3BhY2Ug
PSAicHJlIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
aW5zcGVjdG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0
b3IuanMKaW5kZXggMTE4MmY0NGFiZjFlNmQ1ZjI2NTlkZTcyM2RkMDMxMmNiOTgxN2Q3OS4uNTU5
YmY1MTMwZmNhMzMwZDg4N2FkYWViZTAyZWRmNGMyOGI0YzZkMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKQEAgLTExMjQsNyArMTEyNCw3
IEBAIFdlYkluc3BlY3Rvci5sb2cgPSBmdW5jdGlvbihtZXNzYWdlLCBtZXNzYWdlTGV2ZWwpCiAg
ICAgICAgIFdlYkluc3BlY3Rvci5sb2cucmVwZWF0Q291bnQgPSByZXBlYXRDb3VudDsKIAogICAg
ICAgICAvLyBDb25zb2xlTWVzc2FnZSBleHBlY3RzIGEgcHJveHkgb2JqZWN0Ci0gICAgICAgIG1l
c3NhZ2UgPSBuZXcgV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdC5mcm9tUHJpbWl0aXZlVmFsdWUo
bWVzc2FnZSk7CisgICAgICAgIG1lc3NhZ2UgPSBXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0LmZy
b21QcmltaXRpdmVWYWx1ZShtZXNzYWdlKTsKIAogICAgICAgICAvLyBwb3N0IHRoZSBtZXNzYWdl
CiAgICAgICAgIHZhciBtc2cgPSBuZXcgV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlKApAQCAt
MTE2NCw3ICsxMTY0LDcgQEAgV2ViSW5zcGVjdG9yLmxvZyA9IGZ1bmN0aW9uKG1lc3NhZ2UsIG1l
c3NhZ2VMZXZlbCkKIFdlYkluc3BlY3Rvci5pbnNwZWN0ID0gZnVuY3Rpb24ocGF5bG9hZCwgaGlu
dHMpCiB7CiAgICAgdmFyIG9iamVjdCA9IFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3QuZnJvbVBh
eWxvYWQocGF5bG9hZCk7Ci0gICAgaWYgKG9iamVjdC50eXBlID09PSAibm9kZSIpIHsKKyAgICBp
ZiAob2JqZWN0LnN1YnR5cGUgPT09ICJub2RlIikgewogICAgICAgICAvLyBSZXF1ZXN0IG5vZGUg
ZnJvbSBiYWNrZW5kIGFuZCBmb2N1cyBpdC4KICAgICAgICAgb2JqZWN0LnB1c2hOb2RlVG9Gcm9u
dGVuZChXZWJJbnNwZWN0b3IudXBkYXRlRm9jdXNlZE5vZGUuYmluZChXZWJJbnNwZWN0b3IpLCBv
YmplY3QucmVsZWFzZS5iaW5kKG9iamVjdCkpOwogICAgICAgICByZXR1cm47Cg==
</data>
<flag name="review"
          id="96922"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>