<?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>110104</bug_id>
          
          <creation_ts>2013-02-18 04:41:34 -0800</creation_ts>
          <short_desc>Web Inspector: Native Memory Instrumentation: Generate meta information for HeapSnapshot parser</short_desc>
          <delta_ts>2013-02-18 23:23:19 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ilya Tikhonovsky">loislo</reporter>
          <assigned_to name="Ilya Tikhonovsky">loislo</assigned_to>
          <cc>alancutter</cc>
    
    <cc>apavlov</cc>
    
    <cc>buildbot</cc>
    
    <cc>dglazkov</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rniwa</cc>
    
    <cc>timothy</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>835347</commentid>
    <comment_count>0</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2013-02-18 04:41:34 -0800</bug_when>
    <thetext>The format of Native heap snapshot is slightly different so it should provide its own meta information.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>835351</commentid>
    <comment_count>1</comment_count>
      <attachid>188852</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2013-02-18 04:47:12 -0800</bug_when>
    <thetext>Created attachment 188852
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>835383</commentid>
    <comment_count>2</comment_count>
      <attachid>188852</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-18 05:27:30 -0800</bug_when>
    <thetext>Comment on attachment 188852
Patch

Attachment 188852 did not pass mac-wk2-ews (mac-wk2):
Output: http://queues.webkit.org/results/16608326

New failing tests:
inspector/profiler/memory-instrumentation-cached-images.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>835391</commentid>
    <comment_count>3</comment_count>
      <attachid>188852</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-18 05:33:09 -0800</bug_when>
    <thetext>Comment on attachment 188852
Patch

Attachment 188852 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/16612190

New failing tests:
inspector/profiler/memory-instrumentation-cached-images.html
inspector/profiler/memory-instrumentation-canvas.html
inspector-protocol/nmi-webaudio-leak-test.html
inspector-protocol/nmi-webaudio.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>835446</commentid>
    <comment_count>4</comment_count>
      <attachid>188852</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2013-02-18 06:50:02 -0800</bug_when>
    <thetext>Comment on attachment 188852
Patch

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

&gt; Source/WebCore/inspector/HeapGraphSerializer.cpp:64
&gt; +    // FIXME: It is using as a magic constant for &apos;object&apos; node type.

It is using -&gt; It is used

&gt; Source/WebCore/inspector/HeapGraphSerializer.cpp:175
&gt; +                &quot;[],&quot;

Please add a comment here that we are trying to use the same array of strings as for other values instead of providing a predefined enum of types.

&gt; Source/WebCore/inspector/HeapGraphSerializer.cpp:225
&gt; +    m_typeStrings-&gt;setNumber(string, stringId);

This map is redundant we could store something like array of type ids instead.

&gt; Source/WebCore/inspector/Inspector.json:81
&gt; +                    { &quot;name&quot;: &quot;graphMetaInformation&quot;, &quot;type&quot;: &quot;object&quot;, &quot;description&quot;: &quot;An object describing a meta information about the heap graph.&quot;}

&quot;An object describing structures of nodes and edges in the graph.&quot;

&gt; Source/WebCore/inspector/front-end/HeapSnapshot.js:1034
&gt; +                    console.log(JSON.stringify(dumpNode.serialize()));

Please add some indentation for the formatted JSON string.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>835480</commentid>
    <comment_count>5</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2013-02-18 07:47:57 -0800</bug_when>
    <thetext>Committed r143218: &lt;http://trac.webkit.org/changeset/143218&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>835898</commentid>
    <comment_count>6</comment_count>
    <who name="Alan Cutter">alancutter</who>
    <bug_when>2013-02-18 19:14:47 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Committed r143218: &lt;http://trac.webkit.org/changeset/143218&gt;

It seems this patch may have caused HeapGraphSerializerTest in run-api-tests to start failing: http://build.webkit.org/builders/Chromium%20Linux%20Release%20%28Tests%29/builds/44930/steps/run-api-tests/logs/stdio

Do you think these tests need rebaselining or are these results unexpected?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836009</commentid>
    <comment_count>7</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2013-02-18 23:20:52 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; Committed r143218: &lt;http://trac.webkit.org/changeset/143218&gt;
&gt; 
&gt; It seems this patch may have caused HeapGraphSerializerTest in run-api-tests to start failing: http://build.webkit.org/builders/Chromium%20Linux%20Release%20%28Tests%29/builds/44930/steps/run-api-tests/logs/stdio
&gt; 
&gt; Do you think these tests need rebaselining or are these results unexpected?

Rebaselined. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836012</commentid>
    <comment_count>8</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2013-02-18 23:23:19 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 188852 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=188852&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/HeapGraphSerializer.cpp:64
&gt; &gt; +    // FIXME: It is using as a magic constant for &apos;object&apos; node type.
&gt; 
&gt; It is using -&gt; It is used

done

&gt; 
&gt; &gt; Source/WebCore/inspector/HeapGraphSerializer.cpp:175
&gt; &gt; +                &quot;[],&quot;
&gt; 
&gt; Please add a comment here that we are trying to use the same array of strings as for other values instead of providing a predefined enum of types.
&gt; 

done


&gt; &gt; Source/WebCore/inspector/HeapGraphSerializer.cpp:225
&gt; &gt; +    m_typeStrings-&gt;setNumber(string, stringId);
&gt; 
&gt; This map is redundant we could store something like array of type ids instead.
&gt; 

I&apos;ll do that in another patch.


&gt; &gt; Source/WebCore/inspector/Inspector.json:81
&gt; &gt; +                    { &quot;name&quot;: &quot;graphMetaInformation&quot;, &quot;type&quot;: &quot;object&quot;, &quot;description&quot;: &quot;An object describing a meta information about the heap graph.&quot;}
&gt; 
&gt; &quot;An object describing structures of nodes and edges in the graph.&quot;
&gt; 

done


&gt; &gt; Source/WebCore/inspector/front-end/HeapSnapshot.js:1034
&gt; &gt; +                    console.log(JSON.stringify(dumpNode.serialize()));
&gt; 
&gt; Please add some indentation for the formatted JSON string.

I&apos;ll do that in another patch.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188852</attachid>
            <date>2013-02-18 04:47:12 -0800</date>
            <delta_ts>2013-02-18 06:50:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110104-20130218164334.patch</filename>
            <type>text/plain</type>
            <size>16679</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzMTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjcxMjg1NTlkN2I1MzNl
ZjljMzE1ODllNmI3MjhlZWZiOTE2NjAyOS4uYWY5NzlhZDQxMmRiZGUxZjA1NGM4MWJlMmI1NzYx
NWY3Y2UzMmRjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAyLTE4ICBJbHlh
IFRpa2hvbm92c2t5ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBOYXRpdmUgTWVtb3J5IEluc3RydW1lbnRhdGlvbjogR2VuZXJhdGUgbWV0YSBpbmZvcm1h
dGlvbiBmb3IgSGVhcFNuYXBzaG90IHBhcnNlci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDEwNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoZSBmb3JtYXQgb2YgTmF0aXZlIGhlYXAgc25hcHNob3Qg
aXMgc2xpZ2h0bHkgZGlmZmVyZW50IHNvIGl0IHNob3VsZCBwcm92aWRlIGl0cyBvd24gbWV0YSBp
bmZvcm1hdGlvbi4KKworCisgICAgICAgICogaW5zcGVjdG9yL0hlYXBHcmFwaFNlcmlhbGl6ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SGVhcEdyYXBoU2VyaWFsaXplcjo6SGVhcEdyYXBoU2Vy
aWFsaXplcik6CisgICAgICAgIChXZWJDb3JlOjpIZWFwR3JhcGhTZXJpYWxpemVyOjpmaW5pc2gp
OgorICAgICAgICAoV2ViQ29yZTo6SGVhcEdyYXBoU2VyaWFsaXplcjo6cmVwb3J0TWVtb3J5VXNh
Z2UpOgorICAgICAgICAoV2ViQ29yZTo6SGVhcEdyYXBoU2VyaWFsaXplcjo6cmVnaXN0ZXJUeXBl
U3RyaW5nKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIGluc3BlY3Rvci9IZWFwR3Jh
cGhTZXJpYWxpemVyLmg6CisgICAgICAgIChIZWFwR3JhcGhTZXJpYWxpemVyKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ck1lbW9yeUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvck1lbW9yeUFnZW50
OjpnZXRQcm9jZXNzTWVtb3J5RGlzdHJpYnV0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3Rvck1lbW9yeUFnZW50OjpnZXRQcm9jZXNzTWVtb3J5RGlzdHJpYnV0aW9uSW1wbCk6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50Lmg6CisgICAgICAgIChJbnNwZWN0
b3JNZW1vcnlBZ2VudCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNo
b3QuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSGVhcFNuYXBzaG90LnByb3RvdHlwZS5fYnVp
bGRQb3N0T3JkZXJJbmRleCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9OYXRpdmVI
ZWFwU25hcHNob3QuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmF0aXZlSGVhcFNuYXBzaG90
KToKKwogMjAxMy0wMi0xOCAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBwcm92aWRlIGJhc2ljIGNvbnNvbGUudGFibGUgaW1w
bGVtZW50YXRpb24gKG5vIFssY29sdW1uc10gc3VwcG9ydCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9IZWFwR3JhcGhTZXJpYWxpemVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9IZWFwR3JhcGhTZXJpYWxpemVyLmNwcAppbmRleCBkYmUyYmRjMTcxZWE1ZmY3
ZjdkYWEwMjEwMGJlYTQ5MDk2YjI5Y2RlLi4yYTY4NjM3Njk0MGJjNzU5MmZhZjc5ZTBlZWM0ZGQ1
NjNiMWFmNTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSGVhcEdyYXBo
U2VyaWFsaXplci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0hlYXBHcmFwaFNl
cmlhbGl6ZXIuY3BwCkBAIC01MCw2ICs1MCw3IEBAIEhlYXBHcmFwaFNlcmlhbGl6ZXI6OkhlYXBH
cmFwaFNlcmlhbGl6ZXIoQ2xpZW50KiBjbGllbnQpCiAgICAgLCBtX25vZGVFZGdlc0NvdW50KDAp
CiAgICAgLCBtX25vZGVzKE5vZGVzOjpjcmVhdGUoKSkKICAgICAsIG1fYmFzZVRvUmVhbE5vZGVJ
ZE1hcChCYXNlVG9SZWFsTm9kZUlkTWFwOjpjcmVhdGUoKSkKKyAgICAsIG1fdHlwZVN0cmluZ3Mo
SW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKSkKICAgICAsIG1fbGVhZkNvdW50KDApCiB7CiAgICAg
QVNTRVJUKG1fY2xpZW50KTsKQEAgLTU3LDkgKzU4LDExIEBAIEhlYXBHcmFwaFNlcmlhbGl6ZXI6
OkhlYXBHcmFwaFNlcmlhbGl6ZXIoQ2xpZW50KiBjbGllbnQpCiAKICAgICBtZW1zZXQobV9lZGdl
VHlwZXMsIDAsIHNpemVvZihtX2VkZ2VUeXBlcykpOwogCi0gICAgbV9lZGdlVHlwZXNbV1RGOjpQ
b2ludGVyTWVtYmVyXSA9IGFkZFN0cmluZygid2VhayIpOwotICAgIG1fZWRnZVR5cGVzW1dURjo6
T3duUHRyTWVtYmVyXSA9IGFkZFN0cmluZygib3duUmVmIik7Ci0gICAgbV9lZGdlVHlwZXNbV1RG
OjpSZWZQdHJNZW1iZXJdID0gYWRkU3RyaW5nKCJjb3VudFJlZiIpOworICAgIG1fZWRnZVR5cGVz
W1dURjo6UG9pbnRlck1lbWJlcl0gPSByZWdpc3RlclR5cGVTdHJpbmcoIndlYWsiKTsKKyAgICBt
X2VkZ2VUeXBlc1tXVEY6Ok93blB0ck1lbWJlcl0gPSBtX2VkZ2VUeXBlc1tXVEY6OlJlZlB0ck1l
bWJlcl0gPSByZWdpc3RlclR5cGVTdHJpbmcoInByb3BlcnR5Iik7CisKKyAgICAvLyBGSVhNRTog
SXQgaXMgdXNpbmcgYXMgYSBtYWdpYyBjb25zdGFudCBmb3IgJ29iamVjdCcgbm9kZSB0eXBlLgor
ICAgIHJlZ2lzdGVyVHlwZVN0cmluZygib2JqZWN0Iik7CiAKICAgICBtX3Vua25vd25DbGFzc05h
bWVJZCA9IGFkZFN0cmluZygidW5rbm93biIpOwogfQpAQCAtMTU1LDIxICsxNTgsNTUgQEAgdm9p
ZCBIZWFwR3JhcGhTZXJpYWxpemVyOjpyZXBvcnRCYXNlQWRkcmVzcyhjb25zdCB2b2lkKiBiYXNl
LCBjb25zdCB2b2lkKiByZWFsKQogICAgIG1fYmFzZVRvUmVhbE5vZGVJZE1hcC0+YWRkSXRlbSh0
b05vZGVJZChyZWFsKSk7CiB9CiAKLXZvaWQgSGVhcEdyYXBoU2VyaWFsaXplcjo6ZmluaXNoKCkK
K1Bhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBIZWFwR3JhcGhTZXJpYWxpemVyOjpmaW5pc2go
KQogewogICAgIGFkZFJvb3ROb2RlKCk7CiAgICAgcHVzaFVwZGF0ZSgpOworICAgIFN0cmluZyBt
ZXRhU3RyaW5nID0KKyAgICAgICAgInsiCisgICAgICAgICAgICAiXCJub2RlX2ZpZWxkc1wiOlsi
CisgICAgICAgICAgICAgICAgIlwidHlwZVwiLCIKKyAgICAgICAgICAgICAgICAiXCJuYW1lXCIs
IgorICAgICAgICAgICAgICAgICJcImlkXCIsIgorICAgICAgICAgICAgICAgICJcInNlbGZfc2l6
ZVwiLCIKKyAgICAgICAgICAgICAgICAiXCJlZGdlX2NvdW50XCIiCisgICAgICAgICAgICAiXSwi
CisgICAgICAgICAgICAiXCJub2RlX3R5cGVzXCI6WyIKKyAgICAgICAgICAgICAgICAiW10sIgor
ICAgICAgICAgICAgICAgICJcInN0cmluZ1wiLCIKKyAgICAgICAgICAgICAgICAiXCJudW1iZXJc
IiwiCisgICAgICAgICAgICAgICAgIlwibnVtYmVyXCIsIgorICAgICAgICAgICAgICAgICJcIm51
bWJlclwiIgorICAgICAgICAgICAgIl0sIgorICAgICAgICAgICAgIlwiZWRnZV9maWVsZHNcIjpb
IgorICAgICAgICAgICAgICAgICJcInR5cGVcIiwiCisgICAgICAgICAgICAgICAgIlwibmFtZV9v
cl9pbmRleFwiLCIKKyAgICAgICAgICAgICAgICAiXCJ0b19ub2RlXCIiCisgICAgICAgICAgICAi
XSwiCisgICAgICAgICAgICAiXCJlZGdlX3R5cGVzXCI6WyIKKyAgICAgICAgICAgICAgICAiW10s
IgorICAgICAgICAgICAgICAgICJcInN0cmluZ19vcl9udW1iZXJcIiwiCisgICAgICAgICAgICAg
ICAgIlwibm9kZVwiIgorICAgICAgICAgICAgIl0iCisgICAgICAgICJ9IjsKKworICAgIFJlZlB0
cjxJbnNwZWN0b3JWYWx1ZT4gbWV0YVZhbHVlID0gSW5zcGVjdG9yVmFsdWU6OnBhcnNlSlNPTiht
ZXRhU3RyaW5nKTsKKyAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBtZXRhOworICAgIG1ldGFW
YWx1ZS0+YXNPYmplY3QoJm1ldGEpOworICAgIEFTU0VSVChtZXRhKTsKKyAgICBtZXRhLT5zZXRP
YmplY3QoInR5cGVfc3RyaW5ncyIsIG1fdHlwZVN0cmluZ3MpOworICAgIHJldHVybiBtZXRhLnJl
bGVhc2UoKTsKIH0KIAogdm9pZCBIZWFwR3JhcGhTZXJpYWxpemVyOjpyZXBvcnRNZW1vcnlVc2Fn
ZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9y
eUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBl
czo6SW5zcGVjdG9yKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3N0cmluZ1RvSW5kZXgsICJzdHJp
bmdUb0luZGV4Iik7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9zdHJpbmdzLCAic3RyaW5ncyIpOwot
ICAgIGluZm8uYWRkTWVtYmVyKG1fZWRnZXMsICJlZGdlcyIpOwotICAgIGluZm8uYWRkTWVtYmVy
KG1fbm9kZXMsICJub2RlcyIpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fYmFzZVRvUmVhbE5vZGVJ
ZE1hcCwgImJhc2VUb1JlYWxOb2RlSWRNYXAiKTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX3Jvb3Rz
LCAicm9vdHMiKTsKKyAgICBpbmZvLmlnbm9yZU1lbWJlcihtX3N0cmluZ1RvSW5kZXgpOworICAg
IGluZm8uaWdub3JlTWVtYmVyKG1fc3RyaW5ncyk7CisgICAgaW5mby5pZ25vcmVNZW1iZXIobV9l
ZGdlcyk7CisgICAgaW5mby5pZ25vcmVNZW1iZXIobV9ub2Rlcyk7CisgICAgaW5mby5pZ25vcmVN
ZW1iZXIobV9iYXNlVG9SZWFsTm9kZUlkTWFwKTsKKyAgICBpbmZvLmlnbm9yZU1lbWJlcihtX3Jv
b3RzKTsKIH0KIAogaW50IEhlYXBHcmFwaFNlcmlhbGl6ZXI6OmFkZFN0cmluZyhjb25zdCBTdHJp
bmcmIHN0cmluZykKQEAgLTE4Miw2ICsyMTksMTMgQEAgaW50IEhlYXBHcmFwaFNlcmlhbGl6ZXI6
OmFkZFN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKICAgICByZXR1cm4gcmVzdWx0Lml0ZXJh
dG9yLT52YWx1ZTsKIH0KIAoraW50IEhlYXBHcmFwaFNlcmlhbGl6ZXI6OnJlZ2lzdGVyVHlwZVN0
cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKK3sKKyAgICBpbnQgc3RyaW5nSWQgPSBhZGRTdHJp
bmcoc3RyaW5nKTsKKyAgICBtX3R5cGVTdHJpbmdzLT5zZXROdW1iZXIoc3RyaW5nLCBzdHJpbmdJ
ZCk7CisgICAgcmV0dXJuIHN0cmluZ0lkOworfQorCiBpbnQgSGVhcEdyYXBoU2VyaWFsaXplcjo6
dG9Ob2RlSWQoY29uc3Qgdm9pZCogdG8pCiB7CiAgICAgaWYgKCF0bykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9IZWFwR3JhcGhTZXJpYWxpemVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSGVhcEdyYXBoU2VyaWFsaXplci5oCmluZGV4IDBmMThiZmIxOTI2ZGIw
ZGUwZTM2MjUyMjhjODA1NTcyZjIwOTFhNDIuLjhjNTI3NTc3OGYxNDVhNjUzYWU4NjFjZDM5YjUx
YmQ2YjU1MmRlYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9IZWFwR3Jh
cGhTZXJpYWxpemVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0hlYXBHcmFwaFNl
cmlhbGl6ZXIuaApAQCAtNjAsNyArNjAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXBvcnRMZWFm
KGNvbnN0IFdURjo6TWVtb3J5T2JqZWN0SW5mbyYsIGNvbnN0IGNoYXIqKTsKICAgICB2b2lkIHJl
cG9ydEJhc2VBZGRyZXNzKGNvbnN0IHZvaWQqLCBjb25zdCB2b2lkKik7CiAKLSAgICB2b2lkIGZp
bmlzaCgpOworICAgIFBhc3NSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiBmaW5pc2goKTsKIAogICAg
IHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0OwogCkBAIC03
Miw2ICs3Miw3IEBAIHByaXZhdGU6CiAKICAgICBpbnQgYWRkU3RyaW5nKGNvbnN0IFN0cmluZyYp
OwogICAgIHZvaWQgYWRkUm9vdE5vZGUoKTsKKyAgICBpbnQgcmVnaXN0ZXJUeXBlU3RyaW5nKGNv
bnN0IFN0cmluZyYpOwogCiAgICAgdm9pZCByZXBvcnRFZGdlSW1wbChjb25zdCBpbnQgdG9Ob2Rl
SWQsIGNvbnN0IGNoYXIqIG5hbWUsIGludCBtZW1iZXJUeXBlKTsKICAgICBpbnQgcmVwb3J0Tm9k
ZUltcGwoY29uc3QgV1RGOjpNZW1vcnlPYmplY3RJbmZvJiwgaW50IGVkZ2VzQ291bnQpOwpAQCAt
MTAwLDYgKzEwMSw3IEBAIHByaXZhdGU6CiAgICAgQWRkcmVzczJOb2RlSWQgbV9hZGRyZXNzMk5v
ZGVJZE1hcDsKIAogICAgIFZlY3Rvcjxjb25zdCB2b2lkKj4gbV9yb290czsKKyAgICBSZWZQdHI8
SW5zcGVjdG9yT2JqZWN0PiBtX3R5cGVTdHJpbmdzOwogCiAgICAgc2l6ZV90IG1fZWRnZVR5cGVz
W1dURjo6TGFzdE1lbWJlclR5cGVFbnRyeV07CiAgICAgaW50IG1fdW5rbm93bkNsYXNzTmFtZUlk
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmluZGV4IDAxNjFjNDFmYWVl
ZDlhYzQ5NTNlMzE5ZWYxMzljOWViYmQ0MDU0Y2QuLjg3MGE1ZjA5ZmNjMWFlNzA4NDIyOTM3NmYz
ODM4ZTM0MzgwYzM1NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24K
QEAgLTc3LDcgKzc3LDggQEAKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXBvcnRH
cmFwaCIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24i
OiAiV2hldGhlciBuYXRpdmUgbWVtb3J5IGdyYXBoIHNob3VsZCBiZSByZXBvcnRlZCBpbiBhZGRp
dGlvbiB0byBhZ2dyZWdhdGVkIHN0YXRpc3RpY3MuIiB9CiAgICAgICAgICAgICAgICAgXSwKICAg
ICAgICAgICAgICAgICAicmV0dXJucyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6
ICJkaXN0cmlidXRpb24iLCAiJHJlZiI6ICJNZW1vcnlCbG9jayIsICJkZXNjcmlwdGlvbiI6ICJB
biBvYmplY3QgZGVzY3JpYmluZyBhbGwgbWVtb3J5IGFsbG9jYXRlZCBieSB0aGUgcHJvY2VzcyJ9
CisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZGlzdHJpYnV0aW9uIiwgIiRyZWYiOiAi
TWVtb3J5QmxvY2siLCAiZGVzY3JpcHRpb24iOiAiQW4gb2JqZWN0IGRlc2NyaWJpbmcgYWxsIG1l
bW9yeSBhbGxvY2F0ZWQgYnkgdGhlIHByb2Nlc3MifSwKKyAgICAgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJncmFwaE1ldGFJbmZvcm1hdGlvbiIsICJ0eXBlIjogIm9iamVjdCIsICJkZXNjcmlw
dGlvbiI6ICJBbiBvYmplY3QgZGVzY3JpYmluZyBhIG1ldGEgaW5mb3JtYXRpb24gYWJvdXQgdGhl
IGhlYXAgZ3JhcGguIn0KICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICB9CiAgICAgICAg
IF0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5
QWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50
LmNwcAppbmRleCA1OGQyYmRiN2QwMWM1MzM3ZDI3ZGYxMzE5MzU2YzZlMWMxOGFiNzg1Li5hZDE4
NGYwMDVjMTU4MmI2OWYxZDRmZGNiNzRmOWI2YjMzY2Y3NDdmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKQEAgLTMwNywxMCArMzA3
LDEwIEBAIHZvaWQgSW5zcGVjdG9yTWVtb3J5QWdlbnQ6OmdldFByb2Nlc3NNZW1vcnlEaXN0cmli
dXRpb25NYXAoVHlwZU5hbWVUb1NpemVNYXAqIG1lCiAgICAgZ2V0UHJvY2Vzc01lbW9yeURpc3Ry
aWJ1dGlvbkltcGwoZmFsc2UsIG1lbW9yeUluZm8pOwogfQogCi12b2lkIEluc3BlY3Rvck1lbW9y
eUFnZW50OjpnZXRQcm9jZXNzTWVtb3J5RGlzdHJpYnV0aW9uKEVycm9yU3RyaW5nKiwgY29uc3Qg
Ym9vbCogcmVwb3J0R3JhcGgsIFJlZlB0cjxJbnNwZWN0b3JNZW1vcnlCbG9jaz4mIHByb2Nlc3NN
ZW1vcnkpCit2b2lkIEluc3BlY3Rvck1lbW9yeUFnZW50OjpnZXRQcm9jZXNzTWVtb3J5RGlzdHJp
YnV0aW9uKEVycm9yU3RyaW5nKiwgY29uc3QgYm9vbCogcmVwb3J0R3JhcGgsIFJlZlB0cjxJbnNw
ZWN0b3JNZW1vcnlCbG9jaz4mIHByb2Nlc3NNZW1vcnksIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+
JiBncmFwaE1ldGFJbmZvcm1hdGlvbikKIHsKICAgICBUeXBlTmFtZVRvU2l6ZU1hcCBtZW1vcnlJ
bmZvOwotICAgIGdldFByb2Nlc3NNZW1vcnlEaXN0cmlidXRpb25JbXBsKHJlcG9ydEdyYXBoICYm
ICpyZXBvcnRHcmFwaCwgJm1lbW9yeUluZm8pOworICAgIGdyYXBoTWV0YUluZm9ybWF0aW9uID0g
Z2V0UHJvY2Vzc01lbW9yeURpc3RyaWJ1dGlvbkltcGwocmVwb3J0R3JhcGggJiYgKnJlcG9ydEdy
YXBoLCAmbWVtb3J5SW5mbyk7CiAKICAgICBNZW1vcnlVc2FnZVN0YXRzR2VuZXJhdG9yIHN0YXRz
R2VuZXJhdG9yOwogICAgIFJlZlB0cjxJbnNwZWN0b3JNZW1vcnlCbG9ja3M+IGNoaWxkcmVuID0g
SW5zcGVjdG9yTWVtb3J5QmxvY2tzOjpjcmVhdGUoKTsKQEAgLTM0OCw4ICszNDgsOSBAQCBwcml2
YXRlOgogCiB9CiAKLXZvaWQgSW5zcGVjdG9yTWVtb3J5QWdlbnQ6OmdldFByb2Nlc3NNZW1vcnlE
aXN0cmlidXRpb25JbXBsKGJvb2wgcmVwb3J0R3JhcGgsIFR5cGVOYW1lVG9TaXplTWFwKiBtZW1v
cnlJbmZvKQorUGFzc1JlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IEluc3BlY3Rvck1lbW9yeUFnZW50
OjpnZXRQcm9jZXNzTWVtb3J5RGlzdHJpYnV0aW9uSW1wbChib29sIHJlcG9ydEdyYXBoLCBUeXBl
TmFtZVRvU2l6ZU1hcCogbWVtb3J5SW5mbykKIHsKKyAgICBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0
PiBtZXRhOwogICAgIE93blB0cjxIZWFwR3JhcGhTZXJpYWxpemVyPiBncmFwaFNlcmlhbGl6ZXI7
CiAgICAgT3duUHRyPEZyb250ZW5kV3JhcHBlcj4gZnJvbnRlbmRXcmFwcGVyOwogCkBAIC0zNzQs
NyArMzc1LDcgQEAgdm9pZCBJbnNwZWN0b3JNZW1vcnlBZ2VudDo6Z2V0UHJvY2Vzc01lbW9yeURp
c3RyaWJ1dGlvbkltcGwoYm9vbCByZXBvcnRHcmFwaCwgVHkKICAgICBtZW1vcnlJbnN0cnVtZW50
YXRpb24uYWRkUm9vdE9iamVjdChtZW1vcnlJbnN0cnVtZW50YXRpb25DbGllbnQpOwogICAgIGlm
IChncmFwaFNlcmlhbGl6ZXIpIHsKICAgICAgICAgbWVtb3J5SW5zdHJ1bWVudGF0aW9uLmFkZFJv
b3RPYmplY3QoZ3JhcGhTZXJpYWxpemVyLmdldCgpKTsKLSAgICAgICAgZ3JhcGhTZXJpYWxpemVy
LT5maW5pc2goKTsKKyAgICAgICAgbWV0YSA9IGdyYXBoU2VyaWFsaXplci0+ZmluaXNoKCk7CiAg
ICAgICAgIGdyYXBoU2VyaWFsaXplci5yZWxlYXNlKCk7IC8vIFJlbGVhc2UgaXQgZWFybGllciB0
aGFuIGZyb250ZW5kV3JhcHBlcgogICAgICAgICBmcm9udGVuZFdyYXBwZXIucmVsZWFzZSgpOwog
ICAgIH0KQEAgLTM4NCw2ICszODUsNyBAQCB2b2lkIEluc3BlY3Rvck1lbW9yeUFnZW50OjpnZXRQ
cm9jZXNzTWVtb3J5RGlzdHJpYnV0aW9uSW1wbChib29sIHJlcG9ydEdyYXBoLCBUeQogICAgICpt
ZW1vcnlJbmZvID0gbWVtb3J5SW5zdHJ1bWVudGF0aW9uQ2xpZW50LnNpemVzTWFwKCk7CiAgICAg
YWRkUGxhdGZvcm1Db21wb25lbnRzSW5mbyhtZW1vcnlJbmZvKTsKICAgICBhZGRNZW1vcnlJbnN0
cnVtZW50YXRpb25EZWJ1Z0RhdGEoJm1lbW9yeUluc3RydW1lbnRhdGlvbkNsaWVudCwgbWVtb3J5
SW5mbyk7CisgICAgcmV0dXJuIG1ldGEucmVsZWFzZSgpOwogfQogCiBJbnNwZWN0b3JNZW1vcnlB
Z2VudDo6SW5zcGVjdG9yTWVtb3J5QWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVu
dGluZ0FnZW50cywgSW5zcGVjdG9yQ2xpZW50KiBjbGllbnQsIEluc3BlY3RvckNvbXBvc2l0ZVN0
YXRlKiBzdGF0ZSwgUGFnZSogcGFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3Rvck1lbW9yeUFnZW50LmgKaW5kZXggZDU0ODdkMDA5YzBkYjNmOGNjZGNhYjEzZGZkMmU4
YTdlMTNmOWVlMC4uNmY0NmFiMGNkMGI2OWY0YjJiMDNlYjNiNDEyYWFiMjlhNDE5NWE3ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmgKQEAg
LTYwLDcgKzYwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkluc3BlY3Rvck1lbW9yeUFnZW50
KCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgZ2V0RE9NQ291bnRlcnMoRXJyb3JTdHJpbmcqLCBpbnQq
IGRvY3VtZW50cywgaW50KiBub2RlcywgaW50KiBqc0V2ZW50TGlzdGVuZXJzKTsKLSAgICB2aXJ0
dWFsIHZvaWQgZ2V0UHJvY2Vzc01lbW9yeURpc3RyaWJ1dGlvbihFcnJvclN0cmluZyosIGNvbnN0
IGJvb2wqIHJlcG9ydEdyYXBoLCBSZWZQdHI8VHlwZUJ1aWxkZXI6Ok1lbW9yeTo6TWVtb3J5Qmxv
Y2s+JiBwcm9jZXNzTWVtb3J5KTsKKyAgICB2aXJ0dWFsIHZvaWQgZ2V0UHJvY2Vzc01lbW9yeURp
c3RyaWJ1dGlvbihFcnJvclN0cmluZyosIGNvbnN0IGJvb2wqIHJlcG9ydEdyYXBoLCBSZWZQdHI8
VHlwZUJ1aWxkZXI6Ok1lbW9yeTo6TWVtb3J5QmxvY2s+JiBvdXRfcHJvY2Vzc01lbW9yeSwgUmVm
UHRyPEluc3BlY3Rvck9iamVjdD4mIGdyYXBoTWV0YUluZm9ybWF0aW9uKTsKIAogICAgIHZpcnR1
YWwgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3Q7CiAKQEAg
LTcyLDcgKzcyLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBJbnNwZWN0b3JNZW1vcnlBZ2Vu
dChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yQ2xpZW50KiwgSW5zcGVjdG9yQ29tcG9z
aXRlU3RhdGUqLCBQYWdlKik7CiAKLSAgICB2b2lkIGdldFByb2Nlc3NNZW1vcnlEaXN0cmlidXRp
b25JbXBsKGJvb2wgcmVwb3J0R3JhcGgsIEhhc2hNYXA8U3RyaW5nLCBzaXplX3Q+KiBtZW1vcnlJ
bmZvKTsKKyAgICBQYXNzUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZ2V0UHJvY2Vzc01lbW9yeURp
c3RyaWJ1dGlvbkltcGwoYm9vbCByZXBvcnRHcmFwaCwgSGFzaE1hcDxTdHJpbmcsIHNpemVfdD4q
IG1lbW9yeUluZm8pOwogCiAgICAgSW5zcGVjdG9yQ2xpZW50KiBtX2luc3BlY3RvckNsaWVudDsK
ICAgICBQYWdlKiBtX3BhZ2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0hlYXBTbmFwc2hvdC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvSGVhcFNuYXBzaG90LmpzCmluZGV4IGU0ODA5YmViNGYzOWE2ZmEyY2I1M2E3ZmNlNjNk
ZjAzNDYzMDJhZWEuLmQzZmRkOGZkZDY2NzgwNzBkMzYxZTU2YjlkNTM4Zjc4NWM0MzYyNjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90
LmpzCkBAIC0xMDI2LDggKzEwMjYsMjEgQEAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdC5wcm90
b3R5cGUgPSB7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICBpZiAocG9zdE9y
ZGVySW5kZXggIT09IG5vZGVDb3VudCkKKyAgICAgICAgaWYgKHBvc3RPcmRlckluZGV4ICE9PSBu
b2RlQ291bnQpIHsKKyAgICAgICAgICAgIHZhciBkdW1wTm9kZSA9IHRoaXMucm9vdE5vZGUoKTsK
KyAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbm9kZUNvdW50OyArK2kpIHsKKyAgICAg
ICAgICAgICAgICBpZiAocGFpbnRlZFtpXSAhPT0gYmxhY2spIHsKKyAgICAgICAgICAgICAgICAg
ICAgZHVtcE5vZGUubm9kZUluZGV4ID0gaSAqIG5vZGVGaWVsZENvdW50OworICAgICAgICAgICAg
ICAgICAgICBjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShkdW1wTm9kZS5zZXJpYWxpemUoKSkp
OworICAgICAgICAgICAgICAgICAgICB2YXIgcmV0YWluZXJzID0gZHVtcE5vZGUucmV0YWluZXJz
KCk7CisgICAgICAgICAgICAgICAgICAgIHdoaWxlIChyZXRhaW5lcnMpIHsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGNvbnNvbGUubG9nKCJlZGdlTmFtZTogIiArIHJldGFpbmVycy5pdGVtKCku
bmFtZSgpICsgIiBub2RlQ2xhc3NOYW1lOiAiICsgcmV0YWluZXJzLml0ZW0oKS5ub2RlKCkuY2xh
c3NOYW1lKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0YWluZXJzID0gcmV0YWluZXJz
Lml0ZW0oKS5ub2RlKCkucmV0YWluZXJzKCk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9CiAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IlBvc3RvcmRlcmluZyBmYWlsZWQuICIgKyAobm9kZUNvdW50IC0gcG9zdE9yZGVySW5kZXgpICsg
IiBoYW5naW5nIG5vZGVzIik7CisgICAgICAgIH0KIAogICAgICAgICByZXR1cm4ge3Bvc3RPcmRl
ckluZGV4Mk5vZGVPcmRpbmFsOiBwb3N0T3JkZXJJbmRleDJOb2RlT3JkaW5hbCwgbm9kZU9yZGlu
YWwyUG9zdE9yZGVySW5kZXg6IG5vZGVPcmRpbmFsMlBvc3RPcmRlckluZGV4fTsKICAgICB9LApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OYXRpdmVIZWFw
U25hcHNob3QuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05hdGl2ZUhl
YXBTbmFwc2hvdC5qcwppbmRleCA0MmRmOWJmMGEyODc4NmE3NGJmNzlhNmJkYmUwZTViYTRiMjIy
NTM4Li42OTY1OTMwNjJjYWY1MDc1NWFkNzdiOTk2YmRlOTcxMzFlNDkxY2M3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05hdGl2ZUhlYXBTbmFwc2hvdC5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05hdGl2ZUhlYXBTbmFw
c2hvdC5qcwpAQCAtMzUsNyArMzUsOSBAQAogV2ViSW5zcGVjdG9yLk5hdGl2ZUhlYXBTbmFwc2hv
dCA9IGZ1bmN0aW9uKHByb2ZpbGUpCiB7CiAgICAgV2ViSW5zcGVjdG9yLkhlYXBTbmFwc2hvdC5j
YWxsKHRoaXMsIHByb2ZpbGUpOwotICAgIHRoaXMuX25vZGVPYmplY3RUeXBlID0gMzsKKyAgICB0
aGlzLl9ub2RlT2JqZWN0VHlwZSA9IHRoaXMuX21ldGFOb2RlLnR5cGVfc3RyaW5nc1sib2JqZWN0
Il07CisgICAgdGhpcy5fZWRnZVdlYWtUeXBlID0gdGhpcy5fbWV0YU5vZGUudHlwZV9zdHJpbmdz
WyJ3ZWFrIl07CisgICAgdGhpcy5fZWRnZUVsZW1lbnRUeXBlID0gdGhpcy5fbWV0YU5vZGUudHlw
ZV9zdHJpbmdzWyJwcm9wZXJ0eSJdOwogfQogCiBXZWJJbnNwZWN0b3IuTmF0aXZlSGVhcFNuYXBz
aG90LnByb3RvdHlwZSA9IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvTmF0aXZlTWVtb3J5U25hcHNob3RWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9OYXRpdmVNZW1vcnlTbmFwc2hvdFZpZXcuanMKaW5kZXggZWUwODk5
NWM1M2UyNTE5MzMzODYwYzVkMmE0YTVlMDc1OGNjOGZlMC4uNGYyZTgwODJkYzUyYjhkZmNmY2Ew
YmRjMWIwYzExZGY1OTdlNTFjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9OYXRpdmVNZW1vcnlTbmFwc2hvdFZpZXcuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OYXRpdmVNZW1vcnlTbmFwc2hvdFZpZXcuanMKQEAgLTI2
Nyw2MSArMjY3LDE1IEBAIFdlYkluc3BlY3Rvci5OYXRpdmVTbmFwc2hvdFByb2ZpbGVUeXBlLnBy
b3RvdHlwZSA9IHsKICAgICAgICAgICogQHBhcmFtIHs/c3RyaW5nfSBlcnJvcgogICAgICAgICAg
KiBAcGFyYW0gez9NZW1vcnlBZ2VudC5NZW1vcnlCbG9ja30gbWVtb3J5QmxvY2sKICAgICAgICAg
ICovCi0gICAgICAgIGZ1bmN0aW9uIGRpZFJlY2VpdmVNZW1vcnlTbmFwc2hvdChlcnJvciwgbWVt
b3J5QmxvY2spCisgICAgICAgIGZ1bmN0aW9uIGRpZFJlY2VpdmVNZW1vcnlTbmFwc2hvdChlcnJv
ciwgbWVtb3J5QmxvY2ssIGdyYXBoTWV0YUluZm9ybWF0aW9uKQogICAgICAgICB7CiAgICAgICAg
ICAgICB0aGlzLmlzVGVtcG9yYXJ5ID0gZmFsc2U7CiAgICAgICAgICAgICB0aGlzLnNpZGViYXJF
bGVtZW50LnN1YnRpdGxlID0gTnVtYmVyLmJ5dGVzVG9TdHJpbmcoLyoqIEB0eXBle251bWJlcn0g
Ki8obWVtb3J5QmxvY2suc2l6ZSkpOwogCi0gICAgICAgICAgICB2YXIgbWV0YSA9IHsKLSAgICAg
ICAgICAgICAgIm5vZGVfZmllbGRzIjogWwotICAgICAgICAgICAgICAgICJ0eXBlIiwKLSAgICAg
ICAgICAgICAgICAibmFtZSIsCi0gICAgICAgICAgICAgICAgImlkIiwKLSAgICAgICAgICAgICAg
ICAic2VsZl9zaXplIiwKLSAgICAgICAgICAgICAgICAiZWRnZV9jb3VudCIKLSAgICAgICAgICAg
ICAgXSwKLSAgICAgICAgICAgICAgIm5vZGVfdHlwZXMiOiBbCi0gICAgICAgICAgICAgICAgWwot
ICAgICAgICAgICAgICAgICAgImhpZGRlbiIsCi0gICAgICAgICAgICAgICAgICAiYXJyYXkiLAot
ICAgICAgICAgICAgICAgICAgInN0cmluZyIsCi0gICAgICAgICAgICAgICAgICAib2JqZWN0IiwK
LSAgICAgICAgICAgICAgICAgICJjb2RlIiwKLSAgICAgICAgICAgICAgICAgICJjbG9zdXJlIiwK
LSAgICAgICAgICAgICAgICAgICJyZWdleHAiLAotICAgICAgICAgICAgICAgICAgIm51bWJlciIs
Ci0gICAgICAgICAgICAgICAgICAibmF0aXZlIiwKLSAgICAgICAgICAgICAgICAgICJzeW50aGV0
aWMiCi0gICAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgICAic3RyaW5nIiwKLSAgICAg
ICAgICAgICAgICAibnVtYmVyIiwKLSAgICAgICAgICAgICAgICAibnVtYmVyIiwKLSAgICAgICAg
ICAgICAgICAibnVtYmVyIiwKLSAgICAgICAgICAgICAgXSwKLSAgICAgICAgICAgICAgImVkZ2Vf
ZmllbGRzIjogWwotICAgICAgICAgICAgICAgICJ0eXBlIiwKLSAgICAgICAgICAgICAgICAibmFt
ZV9vcl9pbmRleCIsCi0gICAgICAgICAgICAgICAgInRvX25vZGUiCi0gICAgICAgICAgICAgIF0s
Ci0gICAgICAgICAgICAgICJlZGdlX3R5cGVzIjogWwotICAgICAgICAgICAgICAgIFsKLSAgICAg
ICAgICAgICAgICAgICJjb250ZXh0IiwKLSAgICAgICAgICAgICAgICAgICJlbGVtZW50IiwKLSAg
ICAgICAgICAgICAgICAgICJwcm9wZXJ0eSIsCi0gICAgICAgICAgICAgICAgICAiaW50ZXJuYWwi
LAotICAgICAgICAgICAgICAgICAgImhpZGRlbiIsCi0gICAgICAgICAgICAgICAgICAic2hvcnRj
dXQiLAotICAgICAgICAgICAgICAgICAgIndlYWsiCi0gICAgICAgICAgICAgICAgXSwKLSAgICAg
ICAgICAgICAgICAic3RyaW5nX29yX251bWJlciIsCi0gICAgICAgICAgICAgICAgIm5vZGUiCi0g
ICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH07Ci0KLSAgICAgICAgICAgIHZhciBlZGdlRmll
bGRDb3VudCA9IG1ldGEuZWRnZV9maWVsZHMubGVuZ3RoOwotICAgICAgICAgICAgdmFyIG5vZGVG
aWVsZENvdW50ID0gbWV0YS5ub2RlX2ZpZWxkcy5sZW5ndGg7Ci0gICAgICAgICAgICB2YXIgbm9k
ZUlkRmllbGRPZmZzZXQgPSBtZXRhLm5vZGVfZmllbGRzLmluZGV4T2YoImlkIik7Ci0gICAgICAg
ICAgICB2YXIgdG9Ob2RlSWRGaWVsZE9mZnNldCA9IG1ldGEuZWRnZV9maWVsZHMuaW5kZXhPZigi
dG9fbm9kZSIpOworICAgICAgICAgICAgdmFyIGVkZ2VGaWVsZENvdW50ID0gZ3JhcGhNZXRhSW5m
b3JtYXRpb24uZWRnZV9maWVsZHMubGVuZ3RoOworICAgICAgICAgICAgdmFyIG5vZGVGaWVsZENv
dW50ID0gZ3JhcGhNZXRhSW5mb3JtYXRpb24ubm9kZV9maWVsZHMubGVuZ3RoOworICAgICAgICAg
ICAgdmFyIG5vZGVJZEZpZWxkT2Zmc2V0ID0gZ3JhcGhNZXRhSW5mb3JtYXRpb24ubm9kZV9maWVs
ZHMuaW5kZXhPZigiaWQiKTsKKyAgICAgICAgICAgIHZhciB0b05vZGVJZEZpZWxkT2Zmc2V0ID0g
Z3JhcGhNZXRhSW5mb3JtYXRpb24uZWRnZV9maWVsZHMuaW5kZXhPZigidG9fbm9kZSIpOwogCiAg
ICAgICAgICAgICB2YXIgYmFzZVRvUmVhbE5vZGVJZE1hcCA9IHt9OwogICAgICAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9iYXNlVG9SZWFsTm9kZUlkLmxlbmd0aDsgaSArPSAyKQpA
QCAtMzQxLDcgKzI5NSw3IEBAIFdlYkluc3BlY3Rvci5OYXRpdmVTbmFwc2hvdFByb2ZpbGVUeXBl
LnByb3RvdHlwZSA9IHsKIAogICAgICAgICAgICAgdmFyIGhlYXBTbmFwc2hvdCA9IHsKICAgICAg
ICAgICAgICAgICAic25hcHNob3QiOiB7Ci0gICAgICAgICAgICAgICAgICAgICJtZXRhIjogbWV0
YSwKKyAgICAgICAgICAgICAgICAgICAgIm1ldGEiOiBncmFwaE1ldGFJbmZvcm1hdGlvbiwKICAg
ICAgICAgICAgICAgICAgICAgbm9kZV9jb3VudDogdGhpcy5fbm9kZXMubGVuZ3RoIC8gbm9kZUZp
ZWxkQ291bnQsCiAgICAgICAgICAgICAgICAgICAgIGVkZ2VfY291bnQ6IHRoaXMuX2VkZ2VzLmxl
bmd0aCAvIGVkZ2VGaWVsZENvdW50LAogICAgICAgICAgICAgICAgICAgICByb290X2luZGV4OiB0
aGlzLl9ub2Rlcy5sZW5ndGggLSBub2RlRmllbGRDb3VudAo=
</data>
<flag name="review"
          id="209085"
          type_id="1"
          status="+"
          setter="yurys"
    />
    <flag name="commit-queue"
          id="209096"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
      

    </bug>

</bugzilla>