<?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>74104</bug_id>
          
          <creation_ts>2011-12-08 10:43:50 -0800</creation_ts>
          <short_desc>Web Inspector: return node counts on the document / detached root basis</short_desc>
          <delta_ts>2011-12-08 12:52:03 -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="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>abarth</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>517542</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-12-08 10:43:50 -0800</bug_when>
    <thetext>Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517544</commentid>
    <comment_count>1</comment_count>
      <attachid>118419</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-12-08 10:45:18 -0800</bug_when>
    <thetext>Created attachment 118419
[PATCH] Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517550</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-08 10:50:35 -0800</bug_when>
    <thetext>Attachment 118419 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/inspector/InspectorMemoryAgent.cpp:50:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InspectorMemoryAgent.h:60:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InspectorMemoryAgent.h:65:  The parameter name &quot;domAgent&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 3 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517551</commentid>
    <comment_count>3</comment_count>
      <attachid>118419</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-12-08 10:50:49 -0800</bug_when>
    <thetext>Comment on attachment 118419
[PATCH] Proposed patch.

Attachment 118419 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/10809308</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517554</commentid>
    <comment_count>4</comment_count>
      <attachid>118419</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-12-08 10:51:27 -0800</bug_when>
    <thetext>Comment on attachment 118419
[PATCH] Proposed patch.

Attachment 118419 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/10797302</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517569</commentid>
    <comment_count>5</comment_count>
      <attachid>118419</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-12-08 10:59:53 -0800</bug_when>
    <thetext>Comment on attachment 118419
[PATCH] Proposed patch.

Attachment 118419 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/10780309</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517571</commentid>
    <comment_count>6</comment_count>
      <attachid>118419</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-12-08 11:00:21 -0800</bug_when>
    <thetext>Comment on attachment 118419
[PATCH] Proposed patch.

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

This changed should be accompanied with a test.

&gt; Source/WebCore/bindings/v8/ScriptProfiler.cpp:220
&gt; +    CounterVisitor counterVisitor(domAgent, result.get());

This visitor will traverse all nodes no matter which page they belong too. We should collect only nodes relevant to a particular page which user is inspecting. You can filter them by node-&gt;document()-&gt;frame()-&gt;page() for attached documents and report all nodes from alive detached documents.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517585</commentid>
    <comment_count>7</comment_count>
      <attachid>118428</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-12-08 11:12:09 -0800</bug_when>
    <thetext>Created attachment 118428
[PATCH] For ews.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517592</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-08 11:15:20 -0800</bug_when>
    <thetext>Attachment 118428 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/inspector/InspectorMemoryAgent.cpp:50:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InspectorMemoryAgent.h:60:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InspectorMemoryAgent.h:65:  The parameter name &quot;domAgent&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 3 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517618</commentid>
    <comment_count>9</comment_count>
      <attachid>118428</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-12-08 11:40:43 -0800</bug_when>
    <thetext>Comment on attachment 118428
[PATCH] For ews.

Attachment 118428 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/10797319</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517624</commentid>
    <comment_count>10</comment_count>
      <attachid>118435</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-12-08 11:47:08 -0800</bug_when>
    <thetext>Created attachment 118435
[PATCH] For ews.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517628</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-08 11:49:43 -0800</bug_when>
    <thetext>Attachment 118435 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/inspector/InspectorMemoryAgent.cpp:50:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InspectorMemoryAgent.h:60:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InspectorMemoryAgent.h:65:  The parameter name &quot;domAgent&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 3 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517631</commentid>
    <comment_count>12</comment_count>
      <attachid>118435</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-12-08 11:52:16 -0800</bug_when>
    <thetext>Comment on attachment 118435
[PATCH] For ews.

Attachment 118435 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/10809334</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517636</commentid>
    <comment_count>13</comment_count>
      <attachid>118438</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-12-08 11:57:49 -0800</bug_when>
    <thetext>Created attachment 118438
[PATCH] For ews. sorry for spam.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517643</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-08 12:00:48 -0800</bug_when>
    <thetext>Attachment 118438 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/inspector/InspectorMemoryAgent.cpp:50:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InspectorMemoryAgent.h:60:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/inspector/InspectorMemoryAgent.h:65:  The parameter name &quot;domAgent&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 3 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517648</commentid>
    <comment_count>15</comment_count>
      <attachid>118438</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-12-08 12:02:43 -0800</bug_when>
    <thetext>Comment on attachment 118438
[PATCH] For ews. sorry for spam.

Attachment 118438 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/10790342</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517704</commentid>
    <comment_count>16</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-12-08 12:51:52 -0800</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/102366.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118419</attachid>
            <date>2011-12-08 10:45:18 -0800</date>
            <delta_ts>2011-12-08 11:12:09 -0800</delta_ts>
            <desc>[PATCH] Proposed patch.</desc>
            <filename>node_count.patch</filename>
            <type>text/plain</type>
            <size>10364</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4ZjA2ZmQ4Li5mYjdhMzhhIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMTEtMTItMDggIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgorCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IHJldHVybiBub2RlIGNvdW50cyBvbiB0aGUgZG9jdW1lbnQg
LyBkZXRhY2hlZCByb290IGJhc2lzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03NDEwNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaDoKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRQ
cm9maWxlcjo6ZG9tTm9kZUNvdW50KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRQcm9m
aWxlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
TWVtb3J5QWdlbnQ6OmdldERPTU5vZGVDb3VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JNZW1vcnlBZ2VudDo6SW5zcGVjdG9yTWVtb3J5QWdlbnQpOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTWVt
b3J5QWdlbnQ6OmNyZWF0ZSk6CisKIDIwMTEtMTItMDcgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3
ZWJraXQub3JnPgogCiAgICAgICAgIFJlbmRlck9iamVjdDo6c3R5bGUoKTogSW5saW5lIGVhcmx5
LXJldHVybiBjb25kaXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRQcm9maWxlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJv
ZmlsZXIuaAppbmRleCBiMjhmYWE5Li5iZWMyOTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKQEAgLTMxLDExICszMSwxMyBAQAogI2luY2x1ZGUgIlNj
cmlwdEhlYXBTbmFwc2hvdC5oIgogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKICNpbmNsdWRl
ICJTY3JpcHRTdGF0ZS5oIgorI2luY2x1ZGUgPD53dGYvUGFzc1JlZlB0ci5oPgogCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyOworY2xhc3MgSW5z
cGVjdG9yRE9NQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JWYWx1ZTsKIAogY2xhc3MgU2NyaXB0UHJv
ZmlsZXIgewpAQCAtNTksNyArNjEsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgaXNTYW1w
bGluZygpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgc3RhdGljIGJvb2wgaGFzSGVhcFByb2ZpbGVy
KCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRoaXMgY291bnRl
ciBmb3IgSlNDLiBTZWUgYnVnIDczOTM2IGZvciBtb3JlIGRldGFpbHMuCi0gICAgc3RhdGljIHVu
c2lnbmVkIGRvbU5vZGVDb3VudCgpIHsgcmV0dXJuIDA7IH0KKyAgICBQYXNzUmVmUHRyPEluc3Bl
Y3RvckFycmF5PiBkb21Ob2RlQ291bnQoSW5zcGVjdG9yRE9NQWdlbnQqKTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1NjcmlwdFByb2ZpbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFBy
b2ZpbGVyLmNwcAppbmRleCBmZjM0MjM0Li4yMWU5MjEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuY3BwCkBAIC0zMSwxMiArMzEsMTUgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlci5oIgogCisjaW5jbHVkZSAi
RE9NTm9kZUhpZ2hsaWdodGVyLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHQuaCIKKyNpbmNs
dWRlICJJbnNwZWN0b3JET01BZ2VudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgog
I2luY2x1ZGUgIlJldGFpbmVkRE9NSW5mby5oIgogI2luY2x1ZGUgIlY4QmluZGluZy5oIgogI2lu
Y2x1ZGUgIlY4RE9NTWFwLmgiCiAjaW5jbHVkZSAiVjhOb2RlLmgiCisjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nQnVpbGRlci5oPgogCiAjaW5jbHVkZSA8djgtcHJvZmlsZXIuaD4KIApAQCAtMTUw
LDcgKzE1Myw3IEBAIG5hbWVzcGFjZSB7CiAKIGNsYXNzIENvdW50ZXJWaXNpdG9yIDogcHVibGlj
IERPTVdyYXBwZXJNYXA8Tm9kZT46OlZpc2l0b3IgewogcHVibGljOgotICAgIENvdW50ZXJWaXNp
dG9yKCkgOiBtX2NvdW50KDApIHsgfQorICAgIENvdW50ZXJWaXNpdG9yKEluc3BlY3RvckRPTUFn
ZW50KiBkb21BZ2VudCwgSW5zcGVjdG9yQXJyYXkqIGNvdW50ZXJzKSA6IG1fZG9tQWdlbnQoZG9t
QWdlbnQpLCBtX2NvdW50ZXJzKGNvdW50ZXJzKSB7IH0KIAogICAgIHZvaWQgdmlzaXRET01XcmFw
cGVyKERPTURhdGFTdG9yZSogc3RvcmUsIE5vZGUqIG5vZGUsIHY4OjpQZXJzaXN0ZW50PHY4OjpP
YmplY3Q+IHdyYXBwZXIpCiAgICAgewpAQCAtMTYyLDI3ICsxNjUsNjEgQEAgcHVibGljOgogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICBtX3Jvb3RzLmFkZChyb290Tm9kZSk7CiAKKyAgICAg
ICAgdW5zaWduZWQgY291bnQgPSAwOwogICAgICAgICBOb2RlKiBjdXJyZW50Tm9kZSA9IHJvb3RO
b2RlOwogICAgICAgICB3aGlsZSAoKGN1cnJlbnROb2RlID0gY3VycmVudE5vZGUtPnRyYXZlcnNl
TmV4dE5vZGUocm9vdE5vZGUpKSkKLSAgICAgICAgICAgICsrbV9jb3VudDsKKyAgICAgICAgICAg
ICsrY291bnQ7CisKKyAgICAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZW50cnkgPSBJbnNw
ZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOworICAgICAgICBlbnRyeS0+c2V0TnVtYmVyKCJzaXplIiwg
Y291bnQpOworICAgICAgICBTdHJpbmcgdGl0bGUgPSByb290Tm9kZS0+bm9kZVR5cGUoKSA9PSBO
b2RlOjpFTEVNRU5UX05PREUgPyBlbGVtZW50VGl0bGUoc3RhdGljX2Nhc3Q8RWxlbWVudCo+KHJv
b3ROb2RlKSkgOiBTdHJpbmc6Om51bWJlcihyb290Tm9kZS0+bm9kZVR5cGUoKSk7CisgICAgICAg
IGVudHJ5LT5zZXRTdHJpbmcoInRpdGxlIiwgdGl0bGUpOworICAgICAgICBtX2NvdW50ZXJzLT5w
dXNoT2JqZWN0KGVudHJ5KTsKICAgICB9CiAKLSAgICB1bnNpZ25lZCBub2RlQ291bnQoKQorcHJp
dmF0ZToKKyAgICBTdHJpbmcgZWxlbWVudFRpdGxlKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgewot
ICAgICAgICByZXR1cm4gbV9jb3VudDsKKyAgICAgICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7Cisg
ICAgICAgIGJvb2wgaXNYSFRNTCA9IGVsZW1lbnQtPmRvY3VtZW50KCktPmlzWEhUTUxEb2N1bWVu
dCgpOworICAgICAgICByZXN1bHQuYXBwZW5kKGlzWEhUTUwgPyBlbGVtZW50LT5ub2RlTmFtZSgp
IDogZWxlbWVudC0+bm9kZU5hbWUoKS5sb3dlcigpKTsKKworICAgICAgICBjb25zdCBBdG9taWNT
dHJpbmcmIGlkVmFsdWUgPSBlbGVtZW50LT5nZXRJZEF0dHJpYnV0ZSgpOworICAgICAgICBTdHJp
bmcgaWRTdHJpbmc7CisgICAgICAgIGlmICghaWRWYWx1ZS5pc051bGwoKSAmJiAhaWRWYWx1ZS5p
c0VtcHR5KCkpIHsKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoIiMiKTsKKyAgICAgICAgICAg
IHJlc3VsdC5hcHBlbmQoaWRWYWx1ZSk7CisgICAgICAgIH0KKworICAgICAgICBIYXNoU2V0PEF0
b21pY1N0cmluZz4gdXNlZENsYXNzTmFtZXM7CisgICAgICAgIGlmIChlbGVtZW50LT5oYXNDbGFz
cygpICYmIGVsZW1lbnQtPmlzU3R5bGVkRWxlbWVudCgpKSB7CisgICAgICAgICAgICBjb25zdCBT
cGFjZVNwbGl0U3RyaW5nJiBjbGFzc05hbWVzU3RyaW5nID0gc3RhdGljX2Nhc3Q8U3R5bGVkRWxl
bWVudCo+KGVsZW1lbnQpLT5jbGFzc05hbWVzKCk7CisgICAgICAgICAgICBzaXplX3QgY2xhc3NO
YW1lQ291bnQgPSBjbGFzc05hbWVzU3RyaW5nLnNpemUoKTsKKyAgICAgICAgICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgY2xhc3NOYW1lQ291bnQ7ICsraSkgeworICAgICAgICAgICAgICAgIGNv
bnN0IEF0b21pY1N0cmluZyYgY2xhc3NOYW1lID0gY2xhc3NOYW1lc1N0cmluZ1tpXTsKKyAgICAg
ICAgICAgICAgICBpZiAodXNlZENsYXNzTmFtZXMuY29udGFpbnMoY2xhc3NOYW1lKSkKKyAgICAg
ICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgdXNlZENsYXNzTmFtZXMu
YWRkKGNsYXNzTmFtZSk7CisgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgiLiIpOworICAg
ICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoY2xhc3NOYW1lKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQorICAgICAgICByZXR1cm4gcmVzdWx0LnRvU3RyaW5nKCk7CiAgICAgfQotcHJpdmF0
ZToKKwogICAgIEhhc2hTZXQ8Tm9kZSo+IG1fcm9vdHM7Ci0gICAgdW5zaWduZWQgbV9jb3VudDsK
KyAgICBJbnNwZWN0b3JET01BZ2VudCogbV9kb21BZ2VudDsKKyAgICBJbnNwZWN0b3JBcnJheSog
bV9jb3VudGVyczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlCiAKLXVuc2lnbmVkIFNjcmlwdFByb2Zp
bGVyOjpkb21Ob2RlQ291bnQoKQorUGFzc1JlZlB0cjxJbnNwZWN0b3JBcnJheT4gU2NyaXB0UHJv
ZmlsZXI6OmRvbU5vZGVDb3VudChJbnNwZWN0b3JET01BZ2VudCogZG9tQWdlbnQpCiB7Ci0gICAg
Q291bnRlclZpc2l0b3IgY291bnRlclZpc2l0b3I7CisgICAgUmVmUHRyPEluc3BlY3RvckFycmF5
PiByZXN1bHQgPSBJbnNwZWN0b3JBcnJheTo6Y3JlYXRlKCk7CisgICAgQ291bnRlclZpc2l0b3Ig
Y291bnRlclZpc2l0b3IoZG9tQWdlbnQsIHJlc3VsdC5nZXQoKSk7CiAgICAgdmlzaXRET01Ob2Rl
cygmY291bnRlclZpc2l0b3IpOwotICAgIHJldHVybiBjb3VudGVyVmlzaXRvci5ub2RlQ291bnQo
KTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9TY3JpcHRQcm9maWxlci5oCmluZGV4IDViM2I2MTcuLjg2OTRkMjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaApAQCAtMzYsMTAgKzM2LDEzIEBACiAj
aW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgogI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAKKyNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEluamVjdGVkU2NyaXB0TWFuYWdlcjsKK2NsYXNzIEluc3BlY3RvckFycmF5OworY2xhc3MgSW5z
cGVjdG9yRE9NQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JWYWx1ZTsKIAogY2xhc3MgU2NyaXB0UHJv
ZmlsZXIgewpAQCAtNjMsNyArNjYsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgaXNTYW1w
bGluZygpIHsgcmV0dXJuIHRydWU7IH0KICAgICBzdGF0aWMgYm9vbCBoYXNIZWFwUHJvZmlsZXIo
KSB7IHJldHVybiB0cnVlOyB9CiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZSgpOwotICAgIHN0
YXRpYyB1bnNpZ25lZCBkb21Ob2RlQ291bnQoKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJbnNw
ZWN0b3JBcnJheT4gZG9tTm9kZUNvdW50KEluc3BlY3RvckRPTUFnZW50Kik7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24K
aW5kZXggNTkxYjJhNS4uMjlkYWQzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvci5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3IuanNvbgpAQCAtNDgsMTEgKzQ4LDIxIEBACiAgICAgewogICAgICAgICAiZG9tYWluIjogIk1l
bW9yeSIsCiAgICAgICAgICJoaWRkZW4iOiB0cnVlLAorICAgICAgICAidHlwZXMiOiBbCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgImlkIjogIkRPTUdyb3VwIiwKKyAgICAgICAgICAg
ICAgICAidHlwZSI6ICJvYmplY3QiLAorICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogWwor
ICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInNpemUiLCAidHlwZSI6ICJpbnRlZ2VyIiB9
LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInRpdGxlIiwgInR5cGUiOiAic3RyaW5n
IiB9CisgICAgICAgICAgICAgICAgXQorICAgICAgICAgICAgfQorICAgICAgICBdLAogICAgICAg
ICAiY29tbWFuZHMiOiBbCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAi
Z2V0RE9NTm9kZUNvdW50IiwKICAgICAgICAgICAgICAgICAicmV0dXJucyI6IFsKLSAgICAgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJjb3VudCIsICJ0eXBlIjogImludGVnZXIiIH0KKyAgICAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJjb3VudCIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1z
IjogeyAiJHJlZiI6ICJET01Hcm91cCIgfX0KICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAg
ICB9CiAgICAgICAgIF0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
b250cm9sbGVyLmNwcAppbmRleCAyZjhkZmUwLi5mMGQ4ZmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC0xMzYsNyArMTM2LDcg
QEAgSW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcihQYWdlKiBwYWdlLCBJ
bnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckMKICAgICBtX2FnZW50cy5hcHBlbmQoSW5zcGVjdG9y
V29ya2VyQWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUu
Z2V0KCkpKTsKICNlbmRpZgogCi0gICAgbV9hZ2VudHMuYXBwZW5kKEluc3BlY3Rvck1lbW9yeUFn
ZW50OjpjcmVhdGUobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgpLCBt
X3BhZ2UpKTsKKyAgICBtX2FnZW50cy5hcHBlbmQoSW5zcGVjdG9yTWVtb3J5QWdlbnQ6OmNyZWF0
ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCksIG1fcGFnZSwgbV9k
b21BZ2VudCkpOwogCiAgICAgQVNTRVJUX0FSRyhpbnNwZWN0b3JDbGllbnQsIGluc3BlY3RvckNs
aWVudCk7CiAgICAgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXItPmluamVjdGVkU2NyaXB0SG9zdCgp
LT5pbml0KG1faW5zcGVjdG9yQWdlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwCmluZGV4IDAxN2E2MzUuLmI1NmM3YTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcApAQCAt
NDcsMTQgKzQ3LDE1IEBAIEluc3BlY3Rvck1lbW9yeUFnZW50Ojp+SW5zcGVjdG9yTWVtb3J5QWdl
bnQoKQogewogfQogCi12b2lkIEluc3BlY3Rvck1lbW9yeUFnZW50OjpnZXRET01Ob2RlQ291bnQo
RXJyb3JTdHJpbmcqLCBpbnQqIHJlc3VsdCkKK3ZvaWQgSW5zcGVjdG9yTWVtb3J5QWdlbnQ6Omdl
dERPTU5vZGVDb3VudChFcnJvclN0cmluZyosIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4qIHJlc3Vs
dCkKIHsKLSAgICAqcmVzdWx0ID0gU2NyaXB0UHJvZmlsZXI6OmRvbU5vZGVDb3VudCgpOworICAg
ICpyZXN1bHQgPSBTY3JpcHRQcm9maWxlcjo6ZG9tTm9kZUNvdW50KG1fZG9tQWdlbnQpOwogfQog
Ci1JbnNwZWN0b3JNZW1vcnlBZ2VudDo6SW5zcGVjdG9yTWVtb3J5QWdlbnQoSW5zdHJ1bWVudGlu
Z0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlLCBQYWdl
KiBwYWdlKQorSW5zcGVjdG9yTWVtb3J5QWdlbnQ6Okluc3BlY3Rvck1lbW9yeUFnZW50KEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclN0YXRlKiBzdGF0
ZSwgUGFnZSogcGFnZSwgSW5zcGVjdG9yRE9NQWdlbnQqIGRvbUFnZW50KQogICAgIDogSW5zcGVj
dG9yQmFzZUFnZW50PEluc3BlY3Rvck1lbW9yeUFnZW50PigiTWVtb3J5IiwgaW5zdHJ1bWVudGlu
Z0FnZW50cywgc3RhdGUpCiAgICAgLCBtX3BhZ2UocGFnZSkKKyAgICAsIG1fZG9tQWdlbnQoZG9t
QWdlbnQpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JNZW1vcnlBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1l
bW9yeUFnZW50LmgKaW5kZXggZDc0NTFmNi4uY2Q3N2NhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmgKQEAgLTM4LDYgKzM4LDcgQEAKICNp
bmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIEluc3Bl
Y3RvckRPTUFnZW50OwogY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmQ7CiBjbGFzcyBJbnNwZWN0b3JT
dGF0ZTsKIGNsYXNzIEluc3BlY3RvckFycmF5OwpAQCAtNTEsMTggKzUyLDE5IEBAIGNsYXNzIElu
c3BlY3Rvck1lbW9yeUFnZW50IDogcHVibGljIEluc3BlY3RvckJhc2VBZ2VudDxJbnNwZWN0b3JN
ZW1vcnlBZ2VudD4gewogcHVibGljOgogICAgIHR5cGVkZWYgVmVjdG9yPE93blB0cjxJbnNwZWN0
b3JCYXNlQWdlbnRJbnRlcmZhY2U+ID4gSW5zcGVjdG9yQWdlbnRzOwogCi0gICAgc3RhdGljIFBh
c3NPd25QdHI8SW5zcGVjdG9yTWVtb3J5QWdlbnQ+IGNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRz
KiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUsIFBhZ2UqIHBhZ2Up
CisgICAgc3RhdGljIFBhc3NPd25QdHI8SW5zcGVjdG9yTWVtb3J5QWdlbnQ+IGNyZWF0ZShJbnN0
cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogc3Rh
dGUsIFBhZ2UqIHBhZ2UsIEluc3BlY3RvckRPTUFnZW50KiBkb21BZ2VudCkKICAgICB7Ci0gICAg
ICAgIHJldHVybiBhZG9wdFB0cihuZXcgSW5zcGVjdG9yTWVtb3J5QWdlbnQoaW5zdHJ1bWVudGlu
Z0FnZW50cywgc3RhdGUsIHBhZ2UpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBJbnNw
ZWN0b3JNZW1vcnlBZ2VudChpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSwgcGFnZSwgZG9tQWdl
bnQpKTsKICAgICB9CiAKLSAgICB2b2lkIGdldERPTU5vZGVDb3VudChFcnJvclN0cmluZyosIGlu
dCogcmVzdWx0KTsKKyAgICB2b2lkIGdldERPTU5vZGVDb3VudChFcnJvclN0cmluZyosIFJlZlB0
cjxJbnNwZWN0b3JBcnJheT4qIHJlc3VsdCk7CiAKICAgICB+SW5zcGVjdG9yTWVtb3J5QWdlbnQo
KTsKIAogcHJpdmF0ZToKLSAgICBJbnNwZWN0b3JNZW1vcnlBZ2VudChJbnN0cnVtZW50aW5nQWdl
bnRzKiwgSW5zcGVjdG9yU3RhdGUqLCBQYWdlKik7CisgICAgSW5zcGVjdG9yTWVtb3J5QWdlbnQo
SW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3RvclN0YXRlKiwgUGFnZSosIEluc3BlY3RvckRP
TUFnZW50KiBkb21BZ2VudCk7CiAgICAgUGFnZSogbV9wYWdlOworICAgIEluc3BlY3RvckRPTUFn
ZW50KiBtX2RvbUFnZW50OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>
<flag name="review"
          id="118162"
          type_id="1"
          status="+"
          setter="yurys"
    />
    <flag name="commit-queue"
          id="118165"
          type_id="3"
          status="-"
          setter="gyuyoung.kim"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118428</attachid>
            <date>2011-12-08 11:12:09 -0800</date>
            <delta_ts>2011-12-08 11:47:08 -0800</delta_ts>
            <desc>[PATCH] For ews.</desc>
            <filename>node_count.patch</filename>
            <type>text/plain</type>
            <size>10570</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4ZjA2ZmQ4Li5mYjdhMzhhIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMTEtMTItMDggIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgorCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IHJldHVybiBub2RlIGNvdW50cyBvbiB0aGUgZG9jdW1lbnQg
LyBkZXRhY2hlZCByb290IGJhc2lzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03NDEwNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaDoKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRQ
cm9maWxlcjo6ZG9tTm9kZUNvdW50KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRQcm9m
aWxlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
TWVtb3J5QWdlbnQ6OmdldERPTU5vZGVDb3VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JNZW1vcnlBZ2VudDo6SW5zcGVjdG9yTWVtb3J5QWdlbnQpOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTWVt
b3J5QWdlbnQ6OmNyZWF0ZSk6CisKIDIwMTEtMTItMDcgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3
ZWJraXQub3JnPgogCiAgICAgICAgIFJlbmRlck9iamVjdDo6c3R5bGUoKTogSW5saW5lIGVhcmx5
LXJldHVybiBjb25kaXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRQcm9maWxlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJv
ZmlsZXIuaAppbmRleCBiMjhmYWE5Li4xNjQ0MTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKQEAgLTMxLDEyICszMSwxNSBAQAogI2luY2x1ZGUgIlNj
cmlwdEhlYXBTbmFwc2hvdC5oIgogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKICNpbmNsdWRl
ICJTY3JpcHRTdGF0ZS5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBJbmplY3RlZFNjcmlwdE1hbmFnZXI7CitjbGFzcyBJbnNw
ZWN0b3JET01BZ2VudDsKIGNsYXNzIEluc3BlY3RvclZhbHVlOworY2xhc3MgUGFnZTsKIAogY2xh
c3MgU2NyaXB0UHJvZmlsZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFByb2Zp
bGVyKTsKQEAgLTU5LDcgKzYyLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGlzU2FtcGxp
bmcoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHN0YXRpYyBib29sIGhhc0hlYXBQcm9maWxlcigp
IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzIGNvdW50ZXIg
Zm9yIEpTQy4gU2VlIGJ1ZyA3MzkzNiBmb3IgbW9yZSBkZXRhaWxzLgotICAgIHN0YXRpYyB1bnNp
Z25lZCBkb21Ob2RlQ291bnQoKSB7IHJldHVybiAwOyB9CisgICAgUGFzc1JlZlB0cjxJbnNwZWN0
b3JBcnJheT4gZG9tTm9kZUNvdW50KFBhZ2UqKSB7IHJldHVybiAwOyB9OwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0UHJvZmlsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJv
ZmlsZXIuY3BwCmluZGV4IGZmMzQyMzQuLmY5NjlhZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5jcHAKQEAgLTMxLDEyICszMSwxNCBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGVyLmgiCiAKKyNpbmNsdWRlICJE
T01Ob2RlSGlnaGxpZ2h0ZXIuaCIKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdC5oIgogI2luY2x1
ZGUgIkluc3BlY3RvclZhbHVlcy5oIgogI2luY2x1ZGUgIlJldGFpbmVkRE9NSW5mby5oIgogI2lu
Y2x1ZGUgIlY4QmluZGluZy5oIgogI2luY2x1ZGUgIlY4RE9NTWFwLmgiCiAjaW5jbHVkZSAiVjhO
b2RlLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCiAjaW5jbHVkZSA8
djgtcHJvZmlsZXIuaD4KIApAQCAtMTUwLDEwICsxNTIsMTMgQEAgbmFtZXNwYWNlIHsKIAogY2xh
c3MgQ291bnRlclZpc2l0b3IgOiBwdWJsaWMgRE9NV3JhcHBlck1hcDxOb2RlPjo6VmlzaXRvciB7
CiBwdWJsaWM6Ci0gICAgQ291bnRlclZpc2l0b3IoKSA6IG1fY291bnQoMCkgeyB9CisgICAgQ291
bnRlclZpc2l0b3IoUGFnZSogcGFnZSwgSW5zcGVjdG9yQXJyYXkqIGNvdW50ZXJzKSA6IG1fcGFn
ZShwYWdlKSwgbV9jb3VudGVycyhjb3VudGVycykgeyB9CiAKICAgICB2b2lkIHZpc2l0RE9NV3Jh
cHBlcihET01EYXRhU3RvcmUqIHN0b3JlLCBOb2RlKiBub2RlLCB2ODo6UGVyc2lzdGVudDx2ODo6
T2JqZWN0PiB3cmFwcGVyKQogICAgIHsKKyAgICAgICAgaWYgKG5vZGUtPmRvY3VtZW50KCktPmZy
YW1lKCkgJiYgbV9wYWdlICE9IG5vZGUtPmRvY3VtZW50KCktPmZyYW1lKCktPnBhZ2UoKSkKKyAg
ICAgICAgICAgIHJldHVybjsKKwogICAgICAgICBOb2RlKiByb290Tm9kZSA9IG5vZGU7CiAgICAg
ICAgIHdoaWxlIChyb290Tm9kZS0+cGFyZW50Tm9kZSgpKQogICAgICAgICAgICAgcm9vdE5vZGUg
PSByb290Tm9kZS0+cGFyZW50Tm9kZSgpOwpAQCAtMTYyLDI3ICsxNjcsNjEgQEAgcHVibGljOgog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBtX3Jvb3RzLmFkZChyb290Tm9kZSk7CiAKKyAg
ICAgICAgdW5zaWduZWQgY291bnQgPSAwOwogICAgICAgICBOb2RlKiBjdXJyZW50Tm9kZSA9IHJv
b3ROb2RlOwogICAgICAgICB3aGlsZSAoKGN1cnJlbnROb2RlID0gY3VycmVudE5vZGUtPnRyYXZl
cnNlTmV4dE5vZGUocm9vdE5vZGUpKSkKLSAgICAgICAgICAgICsrbV9jb3VudDsKKyAgICAgICAg
ICAgICsrY291bnQ7CisKKyAgICAgICAgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4gZW50cnkgPSBJ
bnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpOworICAgICAgICBlbnRyeS0+c2V0TnVtYmVyKCJzaXpl
IiwgY291bnQpOworICAgICAgICBTdHJpbmcgdGl0bGUgPSByb290Tm9kZS0+bm9kZVR5cGUoKSA9
PSBOb2RlOjpFTEVNRU5UX05PREUgPyBlbGVtZW50VGl0bGUoc3RhdGljX2Nhc3Q8RWxlbWVudCo+
KHJvb3ROb2RlKSkgOiBTdHJpbmc6Om51bWJlcihyb290Tm9kZS0+bm9kZVR5cGUoKSk7CisgICAg
ICAgIGVudHJ5LT5zZXRTdHJpbmcoInRpdGxlIiwgdGl0bGUpOworICAgICAgICBtX2NvdW50ZXJz
LT5wdXNoT2JqZWN0KGVudHJ5KTsKICAgICB9CiAKLSAgICB1bnNpZ25lZCBub2RlQ291bnQoKQor
cHJpdmF0ZToKKyAgICBTdHJpbmcgZWxlbWVudFRpdGxlKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAg
ewotICAgICAgICByZXR1cm4gbV9jb3VudDsKKyAgICAgICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7
CisgICAgICAgIGJvb2wgaXNYSFRNTCA9IGVsZW1lbnQtPmRvY3VtZW50KCktPmlzWEhUTUxEb2N1
bWVudCgpOworICAgICAgICByZXN1bHQuYXBwZW5kKGlzWEhUTUwgPyBlbGVtZW50LT5ub2RlTmFt
ZSgpIDogZWxlbWVudC0+bm9kZU5hbWUoKS5sb3dlcigpKTsKKworICAgICAgICBjb25zdCBBdG9t
aWNTdHJpbmcmIGlkVmFsdWUgPSBlbGVtZW50LT5nZXRJZEF0dHJpYnV0ZSgpOworICAgICAgICBT
dHJpbmcgaWRTdHJpbmc7CisgICAgICAgIGlmICghaWRWYWx1ZS5pc051bGwoKSAmJiAhaWRWYWx1
ZS5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoIiMiKTsKKyAgICAgICAg
ICAgIHJlc3VsdC5hcHBlbmQoaWRWYWx1ZSk7CisgICAgICAgIH0KKworICAgICAgICBIYXNoU2V0
PEF0b21pY1N0cmluZz4gdXNlZENsYXNzTmFtZXM7CisgICAgICAgIGlmIChlbGVtZW50LT5oYXND
bGFzcygpICYmIGVsZW1lbnQtPmlzU3R5bGVkRWxlbWVudCgpKSB7CisgICAgICAgICAgICBjb25z
dCBTcGFjZVNwbGl0U3RyaW5nJiBjbGFzc05hbWVzU3RyaW5nID0gc3RhdGljX2Nhc3Q8U3R5bGVk
RWxlbWVudCo+KGVsZW1lbnQpLT5jbGFzc05hbWVzKCk7CisgICAgICAgICAgICBzaXplX3QgY2xh
c3NOYW1lQ291bnQgPSBjbGFzc05hbWVzU3RyaW5nLnNpemUoKTsKKyAgICAgICAgICAgIGZvciAo
c2l6ZV90IGkgPSAwOyBpIDwgY2xhc3NOYW1lQ291bnQ7ICsraSkgeworICAgICAgICAgICAgICAg
IGNvbnN0IEF0b21pY1N0cmluZyYgY2xhc3NOYW1lID0gY2xhc3NOYW1lc1N0cmluZ1tpXTsKKyAg
ICAgICAgICAgICAgICBpZiAodXNlZENsYXNzTmFtZXMuY29udGFpbnMoY2xhc3NOYW1lKSkKKyAg
ICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgdXNlZENsYXNzTmFt
ZXMuYWRkKGNsYXNzTmFtZSk7CisgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgiLiIpOwor
ICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoY2xhc3NOYW1lKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgICAgICByZXR1cm4gcmVzdWx0LnRvU3RyaW5nKCk7CiAgICAgfQotcHJp
dmF0ZToKKwogICAgIEhhc2hTZXQ8Tm9kZSo+IG1fcm9vdHM7Ci0gICAgdW5zaWduZWQgbV9jb3Vu
dDsKKyAgICBQYWdlKiBtX3BhZ2U7CisgICAgSW5zcGVjdG9yQXJyYXkqIG1fY291bnRlcnM7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZQogCi11bnNpZ25lZCBTY3JpcHRQcm9maWxlcjo6ZG9tTm9kZUNv
dW50KCkKK1Bhc3NSZWZQdHI8SW5zcGVjdG9yQXJyYXk+IFNjcmlwdFByb2ZpbGVyOjpkb21Ob2Rl
Q291bnQoUGFnZSogcGFnZSkKIHsKLSAgICBDb3VudGVyVmlzaXRvciBjb3VudGVyVmlzaXRvcjsK
KyAgICBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+IHJlc3VsdCA9IEluc3BlY3RvckFycmF5OjpjcmVh
dGUoKTsKKyAgICBDb3VudGVyVmlzaXRvciBjb3VudGVyVmlzaXRvcihwYWdlLCByZXN1bHQuZ2V0
KCkpOwogICAgIHZpc2l0RE9NTm9kZXMoJmNvdW50ZXJWaXNpdG9yKTsKLSAgICByZXR1cm4gY291
bnRlclZpc2l0b3Iubm9kZUNvdW50KCk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaAppbmRleCA1YjNiNjE3Li5i
ZTU1ODgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9m
aWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgK
QEAgLTM2LDExICszNiwxNCBAQAogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKICNpbmNsdWRl
ICJTY3JpcHRTdGF0ZS5oIgogCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBJbmplY3RlZFNjcmlwdE1hbmFnZXI7CitjbGFzcyBJbnNw
ZWN0b3JBcnJheTsKIGNsYXNzIEluc3BlY3RvclZhbHVlOworY2xhc3MgUGFnZTsKIAogY2xhc3Mg
U2NyaXB0UHJvZmlsZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFByb2ZpbGVy
KTsKQEAgLTYzLDcgKzY2LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGlzU2FtcGxpbmco
KSB7IHJldHVybiB0cnVlOyB9CiAgICAgc3RhdGljIGJvb2wgaGFzSGVhcFByb2ZpbGVyKCkgeyBy
ZXR1cm4gdHJ1ZTsgfQogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemUoKTsKLSAgICBzdGF0aWMg
dW5zaWduZWQgZG9tTm9kZUNvdW50KCk7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8SW5zcGVjdG9y
QXJyYXk+IGRvbU5vZGVDb3VudChQYWdlKik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggNTkxYjJhNS4uMjlk
YWQzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29u
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtNDgsMTEg
KzQ4LDIxIEBACiAgICAgewogICAgICAgICAiZG9tYWluIjogIk1lbW9yeSIsCiAgICAgICAgICJo
aWRkZW4iOiB0cnVlLAorICAgICAgICAidHlwZXMiOiBbCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgImlkIjogIkRPTUdyb3VwIiwKKyAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmpl
Y3QiLAorICAgICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogWworICAgICAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogInNpemUiLCAidHlwZSI6ICJpbnRlZ2VyIiB9LAorICAgICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogInRpdGxlIiwgInR5cGUiOiAic3RyaW5nIiB9CisgICAgICAgICAgICAg
ICAgXQorICAgICAgICAgICAgfQorICAgICAgICBdLAogICAgICAgICAiY29tbWFuZHMiOiBbCiAg
ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAiZ2V0RE9NTm9kZUNvdW50IiwK
ICAgICAgICAgICAgICAgICAicmV0dXJucyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJjb3VudCIsICJ0eXBlIjogImludGVnZXIiIH0KKyAgICAgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJjb3VudCIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJET01H
cm91cCIgfX0KICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICB9CiAgICAgICAgIF0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRl
eCAyZjhkZmUwLi5mMGQ4ZmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC0xMzYsNyArMTM2LDcgQEAgSW5zcGVjdG9yQ29udHJv
bGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcihQYWdlKiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGlu
c3BlY3RvckMKICAgICBtX2FnZW50cy5hcHBlbmQoSW5zcGVjdG9yV29ya2VyQWdlbnQ6OmNyZWF0
ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCkpKTsKICNlbmRpZgog
Ci0gICAgbV9hZ2VudHMuYXBwZW5kKEluc3BlY3Rvck1lbW9yeUFnZW50OjpjcmVhdGUobV9pbnN0
cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgpLCBtX3BhZ2UpKTsKKyAgICBtX2Fn
ZW50cy5hcHBlbmQoSW5zcGVjdG9yTWVtb3J5QWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdB
Z2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCksIG1fcGFnZSwgbV9kb21BZ2VudCkpOwogCiAgICAg
QVNTRVJUX0FSRyhpbnNwZWN0b3JDbGllbnQsIGluc3BlY3RvckNsaWVudCk7CiAgICAgbV9pbmpl
Y3RlZFNjcmlwdE1hbmFnZXItPmluamVjdGVkU2NyaXB0SG9zdCgpLT5pbml0KG1faW5zcGVjdG9y
QWdlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1v
cnlBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdl
bnQuY3BwCmluZGV4IDAxN2E2MzUuLmIyNTY0ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcApAQCAtNDcsMTQgKzQ3LDE1IEBAIElu
c3BlY3Rvck1lbW9yeUFnZW50Ojp+SW5zcGVjdG9yTWVtb3J5QWdlbnQoKQogewogfQogCi12b2lk
IEluc3BlY3Rvck1lbW9yeUFnZW50OjpnZXRET01Ob2RlQ291bnQoRXJyb3JTdHJpbmcqLCBpbnQq
IHJlc3VsdCkKK3ZvaWQgSW5zcGVjdG9yTWVtb3J5QWdlbnQ6OmdldERPTU5vZGVDb3VudChFcnJv
clN0cmluZyosIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4qIHJlc3VsdCkKIHsKLSAgICAqcmVzdWx0
ID0gU2NyaXB0UHJvZmlsZXI6OmRvbU5vZGVDb3VudCgpOworICAgICpyZXN1bHQgPSBTY3JpcHRQ
cm9maWxlcjo6ZG9tTm9kZUNvdW50KG1fcGFnZSk7CiB9CiAKLUluc3BlY3Rvck1lbW9yeUFnZW50
OjpJbnNwZWN0b3JNZW1vcnlBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5n
QWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUsIFBhZ2UqIHBhZ2UpCitJbnNwZWN0b3JNZW1v
cnlBZ2VudDo6SW5zcGVjdG9yTWVtb3J5QWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlLCBQYWdlKiBwYWdlLCBJbnNwZWN0
b3JET01BZ2VudCogZG9tQWdlbnQpCiAgICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9y
TWVtb3J5QWdlbnQ+KCJNZW1vcnkiLCBpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSkKICAgICAs
IG1fcGFnZShwYWdlKQorICAgICwgbV9kb21BZ2VudChkb21BZ2VudCkKIHsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuaAppbmRleCBkNzQ1
MWY2Li5jZDc3Y2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yTWVtb3J5QWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
TWVtb3J5QWdlbnQuaApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgSW5zcGVjdG9yRE9NQWdlbnQ7CiBjbGFzcyBJ
bnNwZWN0b3JGcm9udGVuZDsKIGNsYXNzIEluc3BlY3RvclN0YXRlOwogY2xhc3MgSW5zcGVjdG9y
QXJyYXk7CkBAIC01MSwxOCArNTIsMTkgQEAgY2xhc3MgSW5zcGVjdG9yTWVtb3J5QWdlbnQgOiBw
dWJsaWMgSW5zcGVjdG9yQmFzZUFnZW50PEluc3BlY3Rvck1lbW9yeUFnZW50PiB7CiBwdWJsaWM6
CiAgICAgdHlwZWRlZiBWZWN0b3I8T3duUHRyPEluc3BlY3RvckJhc2VBZ2VudEludGVyZmFjZT4g
PiBJbnNwZWN0b3JBZ2VudHM7CiAKLSAgICBzdGF0aWMgUGFzc093blB0cjxJbnNwZWN0b3JNZW1v
cnlBZ2VudD4gY3JlYXRlKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMs
IEluc3BlY3RvclN0YXRlKiBzdGF0ZSwgUGFnZSogcGFnZSkKKyAgICBzdGF0aWMgUGFzc093blB0
cjxJbnNwZWN0b3JNZW1vcnlBZ2VudD4gY3JlYXRlKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclN0YXRlKiBzdGF0ZSwgUGFnZSogcGFnZSwgSW5zcGVj
dG9yRE9NQWdlbnQqIGRvbUFnZW50KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5l
dyBJbnNwZWN0b3JNZW1vcnlBZ2VudChpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSwgcGFnZSkp
OworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEluc3BlY3Rvck1lbW9yeUFnZW50KGluc3Ry
dW1lbnRpbmdBZ2VudHMsIHN0YXRlLCBwYWdlLCBkb21BZ2VudCkpOwogICAgIH0KIAotICAgIHZv
aWQgZ2V0RE9NTm9kZUNvdW50KEVycm9yU3RyaW5nKiwgaW50KiByZXN1bHQpOworICAgIHZvaWQg
Z2V0RE9NTm9kZUNvdW50KEVycm9yU3RyaW5nKiwgUmVmUHRyPEluc3BlY3RvckFycmF5PiogcmVz
dWx0KTsKIAogICAgIH5JbnNwZWN0b3JNZW1vcnlBZ2VudCgpOwogCiBwcml2YXRlOgotICAgIElu
c3BlY3Rvck1lbW9yeUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JTdGF0ZSos
IFBhZ2UqKTsKKyAgICBJbnNwZWN0b3JNZW1vcnlBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwg
SW5zcGVjdG9yU3RhdGUqLCBQYWdlKiwgSW5zcGVjdG9yRE9NQWdlbnQqIGRvbUFnZW50KTsKICAg
ICBQYWdlKiBtX3BhZ2U7CisgICAgSW5zcGVjdG9yRE9NQWdlbnQqIG1fZG9tQWdlbnQ7CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>
<flag name="commit-queue"
          id="118186"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118435</attachid>
            <date>2011-12-08 11:47:08 -0800</date>
            <delta_ts>2011-12-08 11:57:49 -0800</delta_ts>
            <desc>[PATCH] For ews.</desc>
            <filename>node_count.patch</filename>
            <type>text/plain</type>
            <size>10561</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4ZjA2ZmQ4Li5mYjdhMzhhIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMTEtMTItMDggIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgorCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IHJldHVybiBub2RlIGNvdW50cyBvbiB0aGUgZG9jdW1lbnQg
LyBkZXRhY2hlZCByb290IGJhc2lzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03NDEwNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaDoKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRQ
cm9maWxlcjo6ZG9tTm9kZUNvdW50KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRQcm9m
aWxlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
TWVtb3J5QWdlbnQ6OmdldERPTU5vZGVDb3VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JNZW1vcnlBZ2VudDo6SW5zcGVjdG9yTWVtb3J5QWdlbnQpOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTWVt
b3J5QWdlbnQ6OmNyZWF0ZSk6CisKIDIwMTEtMTItMDcgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3
ZWJraXQub3JnPgogCiAgICAgICAgIFJlbmRlck9iamVjdDo6c3R5bGUoKTogSW5saW5lIGVhcmx5
LXJldHVybiBjb25kaXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRQcm9maWxlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJv
ZmlsZXIuaAppbmRleCBiMjhmYWE5Li43NmQ5N2FmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKQEAgLTMxLDEyICszMSwxNSBAQAogI2luY2x1ZGUgIlNj
cmlwdEhlYXBTbmFwc2hvdC5oIgogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKICNpbmNsdWRl
ICJTY3JpcHRTdGF0ZS5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBJbmplY3RlZFNjcmlwdE1hbmFnZXI7CitjbGFzcyBJbnNw
ZWN0b3JET01BZ2VudDsKIGNsYXNzIEluc3BlY3RvclZhbHVlOworY2xhc3MgUGFnZTsKIAogY2xh
c3MgU2NyaXB0UHJvZmlsZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFByb2Zp
bGVyKTsKQEAgLTU5LDcgKzYyLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGlzU2FtcGxp
bmcoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIHN0YXRpYyBib29sIGhhc0hlYXBQcm9maWxlcigp
IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzIGNvdW50ZXIg
Zm9yIEpTQy4gU2VlIGJ1ZyA3MzkzNiBmb3IgbW9yZSBkZXRhaWxzLgotICAgIHN0YXRpYyB1bnNp
Z25lZCBkb21Ob2RlQ291bnQoKSB7IHJldHVybiAwOyB9CisgICAgc3RhdGljIFBhc3NSZWZQdHI8
SW5zcGVjdG9yQXJyYXk+IGRvbU5vZGVDb3VudChQYWdlKikgeyByZXR1cm4gMDsgfTsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdFByb2ZpbGVyLmNwcAppbmRleCBmZjM0MjM0Li4xYmQxYmI1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuY3BwCkBAIC0zMSwxMiArMzEsMTQgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlci5oIgogCisjaW5j
bHVkZSAiRE9NTm9kZUhpZ2hsaWdodGVyLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHQuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuaCIKICNpbmNsdWRlICJSZXRhaW5lZERPTUluZm8u
aCIKICNpbmNsdWRlICJWOEJpbmRpbmcuaCIKICNpbmNsdWRlICJWOERPTU1hcC5oIgogI2luY2x1
ZGUgIlY4Tm9kZS5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAogI2lu
Y2x1ZGUgPHY4LXByb2ZpbGVyLmg+CiAKQEAgLTE1MCwxMCArMTUyLDEzIEBAIG5hbWVzcGFjZSB7
CiAKIGNsYXNzIENvdW50ZXJWaXNpdG9yIDogcHVibGljIERPTVdyYXBwZXJNYXA8Tm9kZT46OlZp
c2l0b3IgewogcHVibGljOgotICAgIENvdW50ZXJWaXNpdG9yKCkgOiBtX2NvdW50KDApIHsgfQor
ICAgIENvdW50ZXJWaXNpdG9yKFBhZ2UqIHBhZ2UsIEluc3BlY3RvckFycmF5KiBjb3VudGVycykg
OiBtX3BhZ2UocGFnZSksIG1fY291bnRlcnMoY291bnRlcnMpIHsgfQogCiAgICAgdm9pZCB2aXNp
dERPTVdyYXBwZXIoRE9NRGF0YVN0b3JlKiBzdG9yZSwgTm9kZSogbm9kZSwgdjg6OlBlcnNpc3Rl
bnQ8djg6Ok9iamVjdD4gd3JhcHBlcikKICAgICB7CisgICAgICAgIGlmIChub2RlLT5kb2N1bWVu
dCgpLT5mcmFtZSgpICYmIG1fcGFnZSAhPSBub2RlLT5kb2N1bWVudCgpLT5mcmFtZSgpLT5wYWdl
KCkpCisgICAgICAgICAgICByZXR1cm47CisKICAgICAgICAgTm9kZSogcm9vdE5vZGUgPSBub2Rl
OwogICAgICAgICB3aGlsZSAocm9vdE5vZGUtPnBhcmVudE5vZGUoKSkKICAgICAgICAgICAgIHJv
b3ROb2RlID0gcm9vdE5vZGUtPnBhcmVudE5vZGUoKTsKQEAgLTE2MiwyNyArMTY3LDYxIEBAIHB1
YmxpYzoKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgbV9yb290cy5hZGQocm9vdE5vZGUp
OwogCisgICAgICAgIHVuc2lnbmVkIGNvdW50ID0gMDsKICAgICAgICAgTm9kZSogY3VycmVudE5v
ZGUgPSByb290Tm9kZTsKICAgICAgICAgd2hpbGUgKChjdXJyZW50Tm9kZSA9IGN1cnJlbnROb2Rl
LT50cmF2ZXJzZU5leHROb2RlKHJvb3ROb2RlKSkpCi0gICAgICAgICAgICArK21fY291bnQ7Cisg
ICAgICAgICAgICArK2NvdW50OworCisgICAgICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGVu
dHJ5ID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKKyAgICAgICAgZW50cnktPnNldE51bWJl
cigic2l6ZSIsIGNvdW50KTsKKyAgICAgICAgU3RyaW5nIHRpdGxlID0gcm9vdE5vZGUtPm5vZGVU
eXBlKCkgPT0gTm9kZTo6RUxFTUVOVF9OT0RFID8gZWxlbWVudFRpdGxlKHN0YXRpY19jYXN0PEVs
ZW1lbnQqPihyb290Tm9kZSkpIDogcm9vdE5vZGUtPm5vZGVOYW1lKCk7CisgICAgICAgIGVudHJ5
LT5zZXRTdHJpbmcoInRpdGxlIiwgdGl0bGUpOworICAgICAgICBtX2NvdW50ZXJzLT5wdXNoT2Jq
ZWN0KGVudHJ5KTsKICAgICB9CiAKLSAgICB1bnNpZ25lZCBub2RlQ291bnQoKQorcHJpdmF0ZToK
KyAgICBTdHJpbmcgZWxlbWVudFRpdGxlKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgewotICAgICAg
ICByZXR1cm4gbV9jb3VudDsKKyAgICAgICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7CisgICAgICAg
IGJvb2wgaXNYSFRNTCA9IGVsZW1lbnQtPmRvY3VtZW50KCktPmlzWEhUTUxEb2N1bWVudCgpOwor
ICAgICAgICByZXN1bHQuYXBwZW5kKGlzWEhUTUwgPyBlbGVtZW50LT5ub2RlTmFtZSgpIDogZWxl
bWVudC0+bm9kZU5hbWUoKS5sb3dlcigpKTsKKworICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcm
IGlkVmFsdWUgPSBlbGVtZW50LT5nZXRJZEF0dHJpYnV0ZSgpOworICAgICAgICBTdHJpbmcgaWRT
dHJpbmc7CisgICAgICAgIGlmICghaWRWYWx1ZS5pc051bGwoKSAmJiAhaWRWYWx1ZS5pc0VtcHR5
KCkpIHsKKyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoIiMiKTsKKyAgICAgICAgICAgIHJlc3Vs
dC5hcHBlbmQoaWRWYWx1ZSk7CisgICAgICAgIH0KKworICAgICAgICBIYXNoU2V0PEF0b21pY1N0
cmluZz4gdXNlZENsYXNzTmFtZXM7CisgICAgICAgIGlmIChlbGVtZW50LT5oYXNDbGFzcygpICYm
IGVsZW1lbnQtPmlzU3R5bGVkRWxlbWVudCgpKSB7CisgICAgICAgICAgICBjb25zdCBTcGFjZVNw
bGl0U3RyaW5nJiBjbGFzc05hbWVzU3RyaW5nID0gc3RhdGljX2Nhc3Q8U3R5bGVkRWxlbWVudCo+
KGVsZW1lbnQpLT5jbGFzc05hbWVzKCk7CisgICAgICAgICAgICBzaXplX3QgY2xhc3NOYW1lQ291
bnQgPSBjbGFzc05hbWVzU3RyaW5nLnNpemUoKTsKKyAgICAgICAgICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgY2xhc3NOYW1lQ291bnQ7ICsraSkgeworICAgICAgICAgICAgICAgIGNvbnN0IEF0
b21pY1N0cmluZyYgY2xhc3NOYW1lID0gY2xhc3NOYW1lc1N0cmluZ1tpXTsKKyAgICAgICAgICAg
ICAgICBpZiAodXNlZENsYXNzTmFtZXMuY29udGFpbnMoY2xhc3NOYW1lKSkKKyAgICAgICAgICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgdXNlZENsYXNzTmFtZXMuYWRkKGNs
YXNzTmFtZSk7CisgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgiLiIpOworICAgICAgICAg
ICAgICAgIHJlc3VsdC5hcHBlbmQoY2xhc3NOYW1lKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorICAgICAgICByZXR1cm4gcmVzdWx0LnRvU3RyaW5nKCk7CiAgICAgfQotcHJpdmF0ZToKKwog
ICAgIEhhc2hTZXQ8Tm9kZSo+IG1fcm9vdHM7Ci0gICAgdW5zaWduZWQgbV9jb3VudDsKKyAgICBQ
YWdlKiBtX3BhZ2U7CisgICAgSW5zcGVjdG9yQXJyYXkqIG1fY291bnRlcnM7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZQogCi11bnNpZ25lZCBTY3JpcHRQcm9maWxlcjo6ZG9tTm9kZUNvdW50KCkKK1Bh
c3NSZWZQdHI8SW5zcGVjdG9yQXJyYXk+IFNjcmlwdFByb2ZpbGVyOjpkb21Ob2RlQ291bnQoUGFn
ZSogcGFnZSkKIHsKLSAgICBDb3VudGVyVmlzaXRvciBjb3VudGVyVmlzaXRvcjsKKyAgICBSZWZQ
dHI8SW5zcGVjdG9yQXJyYXk+IHJlc3VsdCA9IEluc3BlY3RvckFycmF5OjpjcmVhdGUoKTsKKyAg
ICBDb3VudGVyVmlzaXRvciBjb3VudGVyVmlzaXRvcihwYWdlLCByZXN1bHQuZ2V0KCkpOwogICAg
IHZpc2l0RE9NTm9kZXMoJmNvdW50ZXJWaXNpdG9yKTsKLSAgICByZXR1cm4gY291bnRlclZpc2l0
b3Iubm9kZUNvdW50KCk7CisgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuaAppbmRleCA1YjNiNjE3Li5iZTU1ODgwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVyLmgKQEAgLTM2LDEx
ICszNiwxNCBAQAogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKICNpbmNsdWRlICJTY3JpcHRT
dGF0ZS5oIgogCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBJbmplY3RlZFNjcmlwdE1hbmFnZXI7CitjbGFzcyBJbnNwZWN0b3JBcnJh
eTsKIGNsYXNzIEluc3BlY3RvclZhbHVlOworY2xhc3MgUGFnZTsKIAogY2xhc3MgU2NyaXB0UHJv
ZmlsZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFByb2ZpbGVyKTsKQEAgLTYz
LDcgKzY2LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGlzU2FtcGxpbmcoKSB7IHJldHVy
biB0cnVlOyB9CiAgICAgc3RhdGljIGJvb2wgaGFzSGVhcFByb2ZpbGVyKCkgeyByZXR1cm4gdHJ1
ZTsgfQogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemUoKTsKLSAgICBzdGF0aWMgdW5zaWduZWQg
ZG9tTm9kZUNvdW50KCk7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8SW5zcGVjdG9yQXJyYXk+IGRv
bU5vZGVDb3VudChQYWdlKik7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggNTkxYjJhNS4uMjlkYWQzNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtNDgsMTEgKzQ4LDIxIEBA
CiAgICAgewogICAgICAgICAiZG9tYWluIjogIk1lbW9yeSIsCiAgICAgICAgICJoaWRkZW4iOiB0
cnVlLAorICAgICAgICAidHlwZXMiOiBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg
ImlkIjogIkRPTUdyb3VwIiwKKyAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAorICAg
ICAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogWworICAgICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogInNpemUiLCAidHlwZSI6ICJpbnRlZ2VyIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogInRpdGxlIiwgInR5cGUiOiAic3RyaW5nIiB9CisgICAgICAgICAgICAgICAgXQorICAg
ICAgICAgICAgfQorICAgICAgICBdLAogICAgICAgICAiY29tbWFuZHMiOiBbCiAgICAgICAgICAg
ICB7CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAiZ2V0RE9NTm9kZUNvdW50IiwKICAgICAgICAg
ICAgICAgICAicmV0dXJucyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJjb3Vu
dCIsICJ0eXBlIjogImludGVnZXIiIH0KKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJj
b3VudCIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJET01Hcm91cCIgfX0K
ICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICB9CiAgICAgICAgIF0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCAyZjhkZmUw
Li5mMGQ4ZmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuY3BwCkBAIC0xMzYsNyArMTM2LDcgQEAgSW5zcGVjdG9yQ29udHJvbGxlcjo6SW5z
cGVjdG9yQ29udHJvbGxlcihQYWdlKiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGluc3BlY3RvckMK
ICAgICBtX2FnZW50cy5hcHBlbmQoSW5zcGVjdG9yV29ya2VyQWdlbnQ6OmNyZWF0ZShtX2luc3Ry
dW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCkpKTsKICNlbmRpZgogCi0gICAgbV9h
Z2VudHMuYXBwZW5kKEluc3BlY3Rvck1lbW9yeUFnZW50OjpjcmVhdGUobV9pbnN0cnVtZW50aW5n
QWdlbnRzLmdldCgpLCBtX3N0YXRlLmdldCgpLCBtX3BhZ2UpKTsKKyAgICBtX2FnZW50cy5hcHBl
bmQoSW5zcGVjdG9yTWVtb3J5QWdlbnQ6OmNyZWF0ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0
KCksIG1fc3RhdGUuZ2V0KCksIG1fcGFnZSwgbV9kb21BZ2VudCkpOwogCiAgICAgQVNTRVJUX0FS
RyhpbnNwZWN0b3JDbGllbnQsIGluc3BlY3RvckNsaWVudCk7CiAgICAgbV9pbmplY3RlZFNjcmlw
dE1hbmFnZXItPmluamVjdGVkU2NyaXB0SG9zdCgpLT5pbml0KG1faW5zcGVjdG9yQWdlbnQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwCmlu
ZGV4IDAxN2E2MzUuLmIyNTY0ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcApAQCAtNDcsMTQgKzQ3LDE1IEBAIEluc3BlY3Rvck1l
bW9yeUFnZW50Ojp+SW5zcGVjdG9yTWVtb3J5QWdlbnQoKQogewogfQogCi12b2lkIEluc3BlY3Rv
ck1lbW9yeUFnZW50OjpnZXRET01Ob2RlQ291bnQoRXJyb3JTdHJpbmcqLCBpbnQqIHJlc3VsdCkK
K3ZvaWQgSW5zcGVjdG9yTWVtb3J5QWdlbnQ6OmdldERPTU5vZGVDb3VudChFcnJvclN0cmluZyos
IFJlZlB0cjxJbnNwZWN0b3JBcnJheT4qIHJlc3VsdCkKIHsKLSAgICAqcmVzdWx0ID0gU2NyaXB0
UHJvZmlsZXI6OmRvbU5vZGVDb3VudCgpOworICAgICpyZXN1bHQgPSBTY3JpcHRQcm9maWxlcjo6
ZG9tTm9kZUNvdW50KG1fcGFnZSk7CiB9CiAKLUluc3BlY3Rvck1lbW9yeUFnZW50OjpJbnNwZWN0
b3JNZW1vcnlBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJ
bnNwZWN0b3JTdGF0ZSogc3RhdGUsIFBhZ2UqIHBhZ2UpCitJbnNwZWN0b3JNZW1vcnlBZ2VudDo6
SW5zcGVjdG9yTWVtb3J5QWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0Fn
ZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlLCBQYWdlKiBwYWdlLCBJbnNwZWN0b3JET01BZ2Vu
dCogZG9tQWdlbnQpCiAgICAgOiBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9yTWVtb3J5QWdl
bnQ+KCJNZW1vcnkiLCBpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSkKICAgICAsIG1fcGFnZShw
YWdlKQorICAgICwgbV9kb21BZ2VudChkb21BZ2VudCkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuaAppbmRleCBkNzQ1MWY2Li5jZDc3
Y2FkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5
QWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdl
bnQuaApAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgeworY2xhc3MgSW5zcGVjdG9yRE9NQWdlbnQ7CiBjbGFzcyBJbnNwZWN0b3JG
cm9udGVuZDsKIGNsYXNzIEluc3BlY3RvclN0YXRlOwogY2xhc3MgSW5zcGVjdG9yQXJyYXk7CkBA
IC01MSwxOCArNTIsMTkgQEAgY2xhc3MgSW5zcGVjdG9yTWVtb3J5QWdlbnQgOiBwdWJsaWMgSW5z
cGVjdG9yQmFzZUFnZW50PEluc3BlY3Rvck1lbW9yeUFnZW50PiB7CiBwdWJsaWM6CiAgICAgdHlw
ZWRlZiBWZWN0b3I8T3duUHRyPEluc3BlY3RvckJhc2VBZ2VudEludGVyZmFjZT4gPiBJbnNwZWN0
b3JBZ2VudHM7CiAKLSAgICBzdGF0aWMgUGFzc093blB0cjxJbnNwZWN0b3JNZW1vcnlBZ2VudD4g
Y3JlYXRlKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEluc3BlY3Rv
clN0YXRlKiBzdGF0ZSwgUGFnZSogcGFnZSkKKyAgICBzdGF0aWMgUGFzc093blB0cjxJbnNwZWN0
b3JNZW1vcnlBZ2VudD4gY3JlYXRlKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdB
Z2VudHMsIEluc3BlY3RvclN0YXRlKiBzdGF0ZSwgUGFnZSogcGFnZSwgSW5zcGVjdG9yRE9NQWdl
bnQqIGRvbUFnZW50KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBJbnNwZWN0
b3JNZW1vcnlBZ2VudChpbnN0cnVtZW50aW5nQWdlbnRzLCBzdGF0ZSwgcGFnZSkpOworICAgICAg
ICByZXR1cm4gYWRvcHRQdHIobmV3IEluc3BlY3Rvck1lbW9yeUFnZW50KGluc3RydW1lbnRpbmdB
Z2VudHMsIHN0YXRlLCBwYWdlLCBkb21BZ2VudCkpOwogICAgIH0KIAotICAgIHZvaWQgZ2V0RE9N
Tm9kZUNvdW50KEVycm9yU3RyaW5nKiwgaW50KiByZXN1bHQpOworICAgIHZvaWQgZ2V0RE9NTm9k
ZUNvdW50KEVycm9yU3RyaW5nKiwgUmVmUHRyPEluc3BlY3RvckFycmF5PiogcmVzdWx0KTsKIAog
ICAgIH5JbnNwZWN0b3JNZW1vcnlBZ2VudCgpOwogCiBwcml2YXRlOgotICAgIEluc3BlY3Rvck1l
bW9yeUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqLCBJbnNwZWN0b3JTdGF0ZSosIFBhZ2UqKTsK
KyAgICBJbnNwZWN0b3JNZW1vcnlBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9y
U3RhdGUqLCBQYWdlKiwgSW5zcGVjdG9yRE9NQWdlbnQqIGRvbUFnZW50KTsKICAgICBQYWdlKiBt
X3BhZ2U7CisgICAgSW5zcGVjdG9yRE9NQWdlbnQqIG1fZG9tQWdlbnQ7CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCg==
</data>
<flag name="commit-queue"
          id="118189"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118438</attachid>
            <date>2011-12-08 11:57:49 -0800</date>
            <delta_ts>2011-12-08 12:52:03 -0800</delta_ts>
            <desc>[PATCH] For ews. sorry for spam.</desc>
            <filename>node_count.patch</filename>
            <type>text/plain</type>
            <size>12336</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4ZjA2ZmQ4Li5mYjdhMzhhIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMTEtMTItMDggIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgorCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IHJldHVybiBub2RlIGNvdW50cyBvbiB0aGUgZG9jdW1lbnQg
LyBkZXRhY2hlZCByb290IGJhc2lzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03NDEwNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0UHJvZmlsZXIuaDoKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRQ
cm9maWxlcjo6ZG9tTm9kZUNvdW50KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRQcm9m
aWxlci5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNvbjoKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
TWVtb3J5QWdlbnQ6OmdldERPTU5vZGVDb3VudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JNZW1vcnlBZ2VudDo6SW5zcGVjdG9yTWVtb3J5QWdlbnQpOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yTWVt
b3J5QWdlbnQ6OmNyZWF0ZSk6CisKIDIwMTEtMTItMDcgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3
ZWJraXQub3JnPgogCiAgICAgICAgIFJlbmRlck9iamVjdDo6c3R5bGUoKTogSW5saW5lIGVhcmx5
LXJldHVybiBjb25kaXRpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9TY3JpcHRQcm9maWxlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0UHJv
ZmlsZXIuaAppbmRleCBiMjhmYWE5Li5lZDQ3ZWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRQcm9maWxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdFByb2ZpbGVyLmgKQEAgLTMxLDEyICszMSwxNSBAQAogI2luY2x1ZGUgIlNj
cmlwdEhlYXBTbmFwc2hvdC5oIgogI2luY2x1ZGUgIlNjcmlwdFByb2ZpbGUuaCIKICNpbmNsdWRl
ICJTY3JpcHRTdGF0ZS5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBjbGFzcyBJbmplY3RlZFNjcmlwdE1hbmFnZXI7CitjbGFzcyBJbnNw
ZWN0b3JBcnJheTsKIGNsYXNzIEluc3BlY3RvclZhbHVlOworY2xhc3MgUGFnZTsKIAogY2xhc3Mg
U2NyaXB0UHJvZmlsZXIgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFNjcmlwdFByb2ZpbGVy
KTsKQEAgLTU5LDcgKzYyLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGlzU2FtcGxpbmco
KSB7IHJldHVybiBmYWxzZTsgfQogICAgIHN0YXRpYyBib29sIGhhc0hlYXBQcm9maWxlcigpIHsg
cmV0dXJuIGZhbHNlOyB9CiAgICAgLy8gRklYTUU6IEltcGxlbWVudCB0aGlzIGNvdW50ZXIgZm9y
IEpTQy4gU2VlIGJ1ZyA3MzkzNiBmb3IgbW9yZSBkZXRhaWxzLgotICAgIHN0YXRpYyB1bnNpZ25l
ZCBkb21Ob2RlQ291bnQoKSB7IHJldHVybiAwOyB9CisgICAgc3RhdGljIFBhc3NSZWZQdHI8SW5z
cGVjdG9yQXJyYXk+IGRvbU5vZGVDb3VudChQYWdlKikgeyByZXR1cm4gMDsgfTsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1NjcmlwdFByb2ZpbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Njcmlw
dFByb2ZpbGVyLmNwcAppbmRleCBmZjM0MjM0Li5iMjljNjliIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvU2NyaXB0UHJvZmlsZXIuY3BwCkBAIC0zMSwxMiArMzEsMTQgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTY3JpcHRQcm9maWxlci5oIgogCisjaW5jbHVk
ZSAiRE9NTm9kZUhpZ2hsaWdodGVyLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHQuaCIKICNp
bmNsdWRlICJJbnNwZWN0b3JWYWx1ZXMuaCIKICNpbmNsdWRlICJSZXRhaW5lZERPTUluZm8uaCIK
ICNpbmNsdWRlICJWOEJpbmRpbmcuaCIKICNpbmNsdWRlICJWOERPTU1hcC5oIgogI2luY2x1ZGUg
IlY4Tm9kZS5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAogI2luY2x1
ZGUgPHY4LXByb2ZpbGVyLmg+CiAKQEAgLTE1MCwxMCArMTUyLDEzIEBAIG5hbWVzcGFjZSB7CiAK
IGNsYXNzIENvdW50ZXJWaXNpdG9yIDogcHVibGljIERPTVdyYXBwZXJNYXA8Tm9kZT46OlZpc2l0
b3IgewogcHVibGljOgotICAgIENvdW50ZXJWaXNpdG9yKCkgOiBtX2NvdW50KDApIHsgfQorICAg
IENvdW50ZXJWaXNpdG9yKFBhZ2UqIHBhZ2UsIEluc3BlY3RvckFycmF5KiBjb3VudGVycykgOiBt
X3BhZ2UocGFnZSksIG1fY291bnRlcnMoY291bnRlcnMpIHsgfQogCiAgICAgdm9pZCB2aXNpdERP
TVdyYXBwZXIoRE9NRGF0YVN0b3JlKiBzdG9yZSwgTm9kZSogbm9kZSwgdjg6OlBlcnNpc3RlbnQ8
djg6Ok9iamVjdD4gd3JhcHBlcikKICAgICB7CisgICAgICAgIGlmIChub2RlLT5kb2N1bWVudCgp
LT5mcmFtZSgpICYmIG1fcGFnZSAhPSBub2RlLT5kb2N1bWVudCgpLT5mcmFtZSgpLT5wYWdlKCkp
CisgICAgICAgICAgICByZXR1cm47CisKICAgICAgICAgTm9kZSogcm9vdE5vZGUgPSBub2RlOwog
ICAgICAgICB3aGlsZSAocm9vdE5vZGUtPnBhcmVudE5vZGUoKSkKICAgICAgICAgICAgIHJvb3RO
b2RlID0gcm9vdE5vZGUtPnBhcmVudE5vZGUoKTsKQEAgLTE2MiwyNyArMTY3LDczIEBAIHB1Ymxp
YzoKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgbV9yb290cy5hZGQocm9vdE5vZGUpOwog
CisgICAgICAgIHVuc2lnbmVkIGNvdW50ID0gMDsKICAgICAgICAgTm9kZSogY3VycmVudE5vZGUg
PSByb290Tm9kZTsKICAgICAgICAgd2hpbGUgKChjdXJyZW50Tm9kZSA9IGN1cnJlbnROb2RlLT50
cmF2ZXJzZU5leHROb2RlKHJvb3ROb2RlKSkpCi0gICAgICAgICAgICArK21fY291bnQ7CisgICAg
ICAgICAgICArK2NvdW50OworCisgICAgICAgIFJlZlB0cjxJbnNwZWN0b3JPYmplY3Q+IGVudHJ5
ID0gSW5zcGVjdG9yT2JqZWN0OjpjcmVhdGUoKTsKKyAgICAgICAgZW50cnktPnNldE51bWJlcigi
c2l6ZSIsIGNvdW50KTsKKworICAgICAgICBTdHJpbmcgdGl0bGU7CisgICAgICAgIHN3aXRjaCAo
cm9vdE5vZGUtPm5vZGVUeXBlKCkpIHsKKyAgICAgICAgY2FzZSBOb2RlOjpET0NVTUVOVF9OT0RF
OgorICAgICAgICAgICAgdGl0bGUgPSBzdGF0aWNfY2FzdDxEb2N1bWVudCo+KHJvb3ROb2RlKS0+
ZG9jdW1lbnRVUkkoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIE5vZGU6OkVM
RU1FTlRfTk9ERToKKyAgICAgICAgICAgIHRpdGxlID0gZWxlbWVudFRpdGxlKHN0YXRpY19jYXN0
PEVsZW1lbnQqPihyb290Tm9kZSkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1
bHQ6CisgICAgICAgICAgICB0aXRsZSA9IHJvb3ROb2RlLT5ub2RlTmFtZSgpOworICAgICAgICB9
CisKKyAgICAgICAgZW50cnktPnNldFN0cmluZygidGl0bGUiLCB0aXRsZSk7CisgICAgICAgIG1f
Y291bnRlcnMtPnB1c2hPYmplY3QoZW50cnkpOwogICAgIH0KIAotICAgIHVuc2lnbmVkIG5vZGVD
b3VudCgpCitwcml2YXRlOgorICAgIFN0cmluZyBlbGVtZW50VGl0bGUoRWxlbWVudCogZWxlbWVu
dCkKICAgICB7Ci0gICAgICAgIHJldHVybiBtX2NvdW50OworICAgICAgICBTdHJpbmdCdWlsZGVy
IHJlc3VsdDsKKyAgICAgICAgYm9vbCBpc1hIVE1MID0gZWxlbWVudC0+ZG9jdW1lbnQoKS0+aXNY
SFRNTERvY3VtZW50KCk7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoaXNYSFRNTCA/IGVsZW1lbnQt
Pm5vZGVOYW1lKCkgOiBlbGVtZW50LT5ub2RlTmFtZSgpLmxvd2VyKCkpOworCisgICAgICAgIGNv
bnN0IEF0b21pY1N0cmluZyYgaWRWYWx1ZSA9IGVsZW1lbnQtPmdldElkQXR0cmlidXRlKCk7Cisg
ICAgICAgIFN0cmluZyBpZFN0cmluZzsKKyAgICAgICAgaWYgKCFpZFZhbHVlLmlzTnVsbCgpICYm
ICFpZFZhbHVlLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgiIyIpOwor
ICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChpZFZhbHVlKTsKKyAgICAgICAgfQorCisgICAgICAg
IEhhc2hTZXQ8QXRvbWljU3RyaW5nPiB1c2VkQ2xhc3NOYW1lczsKKyAgICAgICAgaWYgKGVsZW1l
bnQtPmhhc0NsYXNzKCkgJiYgZWxlbWVudC0+aXNTdHlsZWRFbGVtZW50KCkpIHsKKyAgICAgICAg
ICAgIGNvbnN0IFNwYWNlU3BsaXRTdHJpbmcmIGNsYXNzTmFtZXNTdHJpbmcgPSBzdGF0aWNfY2Fz
dDxTdHlsZWRFbGVtZW50Kj4oZWxlbWVudCktPmNsYXNzTmFtZXMoKTsKKyAgICAgICAgICAgIHNp
emVfdCBjbGFzc05hbWVDb3VudCA9IGNsYXNzTmFtZXNTdHJpbmcuc2l6ZSgpOworICAgICAgICAg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjbGFzc05hbWVDb3VudDsgKytpKSB7CisgICAgICAg
ICAgICAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBjbGFzc05hbWUgPSBjbGFzc05hbWVzU3RyaW5n
W2ldOworICAgICAgICAgICAgICAgIGlmICh1c2VkQ2xhc3NOYW1lcy5jb250YWlucyhjbGFzc05h
bWUpKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICB1c2Vk
Q2xhc3NOYW1lcy5hZGQoY2xhc3NOYW1lKTsKKyAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5k
KCIuIik7CisgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChjbGFzc05hbWUpOworICAgICAg
ICAgICAgfQorICAgICAgICB9CisgICAgICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKICAg
ICB9Ci1wcml2YXRlOgorCiAgICAgSGFzaFNldDxOb2RlKj4gbV9yb290czsKLSAgICB1bnNpZ25l
ZCBtX2NvdW50OworICAgIFBhZ2UqIG1fcGFnZTsKKyAgICBJbnNwZWN0b3JBcnJheSogbV9jb3Vu
dGVyczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlCiAKLXVuc2lnbmVkIFNjcmlwdFByb2ZpbGVyOjpk
b21Ob2RlQ291bnQoKQorUGFzc1JlZlB0cjxJbnNwZWN0b3JBcnJheT4gU2NyaXB0UHJvZmlsZXI6
OmRvbU5vZGVDb3VudChQYWdlKiBwYWdlKQogewotICAgIENvdW50ZXJWaXNpdG9yIGNvdW50ZXJW
aXNpdG9yOworICAgIFJlZlB0cjxJbnNwZWN0b3JBcnJheT4gcmVzdWx0ID0gSW5zcGVjdG9yQXJy
YXk6OmNyZWF0ZSgpOworICAgIENvdW50ZXJWaXNpdG9yIGNvdW50ZXJWaXNpdG9yKHBhZ2UsIHJl
c3VsdC5nZXQoKSk7CiAgICAgdmlzaXRET01Ob2RlcygmY291bnRlclZpc2l0b3IpOwotICAgIHJl
dHVybiBjb3VudGVyVmlzaXRvci5ub2RlQ291bnQoKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQog
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdFByb2ZpbGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRQcm9maWxlci5oCmluZGV4IDVi
M2I2MTcuLmJlNTU4ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdFByb2ZpbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0UHJv
ZmlsZXIuaApAQCAtMzYsMTEgKzM2LDE0IEBACiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5oIgog
I2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEluamVjdGVkU2NyaXB0TWFuYWdlcjsKK2Ns
YXNzIEluc3BlY3RvckFycmF5OwogY2xhc3MgSW5zcGVjdG9yVmFsdWU7CitjbGFzcyBQYWdlOwog
CiBjbGFzcyBTY3JpcHRQcm9maWxlciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoU2NyaXB0
UHJvZmlsZXIpOwpAQCAtNjMsNyArNjYsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgaXNT
YW1wbGluZygpIHsgcmV0dXJuIHRydWU7IH0KICAgICBzdGF0aWMgYm9vbCBoYXNIZWFwUHJvZmls
ZXIoKSB7IHJldHVybiB0cnVlOyB9CiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZSgpOwotICAg
IHN0YXRpYyB1bnNpZ25lZCBkb21Ob2RlQ291bnQoKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJ
bnNwZWN0b3JBcnJheT4gZG9tTm9kZUNvdW50KFBhZ2UqKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3Iu
anNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCA1OTFi
MmE1Li4yOWRhZDM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBA
IC00OCwxMSArNDgsMjEgQEAKICAgICB7CiAgICAgICAgICJkb21haW4iOiAiTWVtb3J5IiwKICAg
ICAgICAgImhpZGRlbiI6IHRydWUsCisgICAgICAgICJ0eXBlcyI6IFsKKyAgICAgICAgICAgIHsK
KyAgICAgICAgICAgICAgICAiaWQiOiAiRE9NR3JvdXAiLAorICAgICAgICAgICAgICAgICJ0eXBl
IjogIm9iamVjdCIsCisgICAgICAgICAgICAgICAgInByb3BlcnRpZXMiOiBbCisgICAgICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAic2l6ZSIsICJ0eXBlIjogImludGVnZXIiIH0sCisgICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAidGl0bGUiLCAidHlwZSI6ICJzdHJpbmciIH0KKyAgICAg
ICAgICAgICAgICBdCisgICAgICAgICAgICB9CisgICAgICAgIF0sCiAgICAgICAgICJjb21tYW5k
cyI6IFsKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAibmFtZSI6ICJnZXRET01Ob2Rl
Q291bnQiLAogICAgICAgICAgICAgICAgICJyZXR1cm5zIjogWwotICAgICAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogImNvdW50IiwgInR5cGUiOiAiaW50ZWdlciIgfQorICAgICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogImNvdW50IiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMiOiB7ICIkcmVm
IjogIkRPTUdyb3VwIiB9fQogICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgIH0KICAgICAg
ICAgXQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIu
Y3BwCmluZGV4IDJmOGRmZTAuLmYwZDhmZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTEzNiw3ICsxMzYsNyBAQCBJbnNwZWN0
b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKFBhZ2UqIHBhZ2UsIEluc3BlY3RvckNs
aWVudCogaW5zcGVjdG9yQwogICAgIG1fYWdlbnRzLmFwcGVuZChJbnNwZWN0b3JXb3JrZXJBZ2Vu
dDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSkpOwog
I2VuZGlmCiAKLSAgICBtX2FnZW50cy5hcHBlbmQoSW5zcGVjdG9yTWVtb3J5QWdlbnQ6OmNyZWF0
ZShtX2luc3RydW1lbnRpbmdBZ2VudHMuZ2V0KCksIG1fc3RhdGUuZ2V0KCksIG1fcGFnZSkpOwor
ICAgIG1fYWdlbnRzLmFwcGVuZChJbnNwZWN0b3JNZW1vcnlBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1
bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSwgbV9wYWdlLCBtX2RvbUFnZW50KSk7
CiAKICAgICBBU1NFUlRfQVJHKGluc3BlY3RvckNsaWVudCwgaW5zcGVjdG9yQ2xpZW50KTsKICAg
ICBtX2luamVjdGVkU2NyaXB0TWFuYWdlci0+aW5qZWN0ZWRTY3JpcHRIb3N0KCktPmluaXQobV9p
bnNwZWN0b3JBZ2VudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvck1lbW9yeUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JN
ZW1vcnlBZ2VudC5jcHAKaW5kZXggMDE3YTYzNS4uYjI1NjRmNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvck1lbW9yeUFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdlbnQuY3BwCkBAIC00NywxNCArNDcs
MTUgQEAgSW5zcGVjdG9yTWVtb3J5QWdlbnQ6On5JbnNwZWN0b3JNZW1vcnlBZ2VudCgpCiB7CiB9
CiAKLXZvaWQgSW5zcGVjdG9yTWVtb3J5QWdlbnQ6OmdldERPTU5vZGVDb3VudChFcnJvclN0cmlu
ZyosIGludCogcmVzdWx0KQordm9pZCBJbnNwZWN0b3JNZW1vcnlBZ2VudDo6Z2V0RE9NTm9kZUNv
dW50KEVycm9yU3RyaW5nKiwgUmVmUHRyPEluc3BlY3RvckFycmF5PiogcmVzdWx0KQogewotICAg
ICpyZXN1bHQgPSBTY3JpcHRQcm9maWxlcjo6ZG9tTm9kZUNvdW50KCk7CisgICAgKnJlc3VsdCA9
IFNjcmlwdFByb2ZpbGVyOjpkb21Ob2RlQ291bnQobV9wYWdlKTsKIH0KIAotSW5zcGVjdG9yTWVt
b3J5QWdlbnQ6Okluc3BlY3Rvck1lbW9yeUFnZW50KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMsIEluc3BlY3RvclN0YXRlKiBzdGF0ZSwgUGFnZSogcGFnZSkKK0luc3Bl
Y3Rvck1lbW9yeUFnZW50OjpJbnNwZWN0b3JNZW1vcnlBZ2VudChJbnN0cnVtZW50aW5nQWdlbnRz
KiBpbnN0cnVtZW50aW5nQWdlbnRzLCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUsIFBhZ2UqIHBhZ2Us
IEluc3BlY3RvckRPTUFnZW50KiBkb21BZ2VudCkKICAgICA6IEluc3BlY3RvckJhc2VBZ2VudDxJ
bnNwZWN0b3JNZW1vcnlBZ2VudD4oIk1lbW9yeSIsIGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRl
KQogICAgICwgbV9wYWdlKHBhZ2UpCisgICAgLCBtX2RvbUFnZW50KGRvbUFnZW50KQogewogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yTWVtb3J5QWdl
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5oCmlu
ZGV4IGQ3NDUxZjYuLmNkNzdjYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JNZW1vcnlBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JNZW1vcnlBZ2VudC5oCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBJbnNwZWN0b3JET01BZ2VudDsK
IGNsYXNzIEluc3BlY3RvckZyb250ZW5kOwogY2xhc3MgSW5zcGVjdG9yU3RhdGU7CiBjbGFzcyBJ
bnNwZWN0b3JBcnJheTsKQEAgLTUxLDE4ICs1MiwxOSBAQCBjbGFzcyBJbnNwZWN0b3JNZW1vcnlB
Z2VudCA6IHB1YmxpYyBJbnNwZWN0b3JCYXNlQWdlbnQ8SW5zcGVjdG9yTWVtb3J5QWdlbnQ+IHsK
IHB1YmxpYzoKICAgICB0eXBlZGVmIFZlY3RvcjxPd25QdHI8SW5zcGVjdG9yQmFzZUFnZW50SW50
ZXJmYWNlPiA+IEluc3BlY3RvckFnZW50czsKIAotICAgIHN0YXRpYyBQYXNzT3duUHRyPEluc3Bl
Y3Rvck1lbW9yeUFnZW50PiBjcmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGlu
Z0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlLCBQYWdlKiBwYWdlKQorICAgIHN0YXRpYyBQ
YXNzT3duUHRyPEluc3BlY3Rvck1lbW9yeUFnZW50PiBjcmVhdGUoSW5zdHJ1bWVudGluZ0FnZW50
cyogaW5zdHJ1bWVudGluZ0FnZW50cywgSW5zcGVjdG9yU3RhdGUqIHN0YXRlLCBQYWdlKiBwYWdl
LCBJbnNwZWN0b3JET01BZ2VudCogZG9tQWdlbnQpCiAgICAgewotICAgICAgICByZXR1cm4gYWRv
cHRQdHIobmV3IEluc3BlY3Rvck1lbW9yeUFnZW50KGluc3RydW1lbnRpbmdBZ2VudHMsIHN0YXRl
LCBwYWdlKSk7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgSW5zcGVjdG9yTWVtb3J5QWdl
bnQoaW5zdHJ1bWVudGluZ0FnZW50cywgc3RhdGUsIHBhZ2UsIGRvbUFnZW50KSk7CiAgICAgfQog
Ci0gICAgdm9pZCBnZXRET01Ob2RlQ291bnQoRXJyb3JTdHJpbmcqLCBpbnQqIHJlc3VsdCk7Cisg
ICAgdm9pZCBnZXRET01Ob2RlQ291bnQoRXJyb3JTdHJpbmcqLCBSZWZQdHI8SW5zcGVjdG9yQXJy
YXk+KiByZXN1bHQpOwogCiAgICAgfkluc3BlY3Rvck1lbW9yeUFnZW50KCk7CiAKIHByaXZhdGU6
Ci0gICAgSW5zcGVjdG9yTWVtb3J5QWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyosIEluc3BlY3Rv
clN0YXRlKiwgUGFnZSopOworICAgIEluc3BlY3Rvck1lbW9yeUFnZW50KEluc3RydW1lbnRpbmdB
Z2VudHMqLCBJbnNwZWN0b3JTdGF0ZSosIFBhZ2UqLCBJbnNwZWN0b3JET01BZ2VudCogZG9tQWdl
bnQpOwogICAgIFBhZ2UqIG1fcGFnZTsKKyAgICBJbnNwZWN0b3JET01BZ2VudCogbV9kb21BZ2Vu
dDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCmluZGV4IGIyYWEwNWEuLmRkZDI0NzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZp
ZXcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmll
dy5qcwpAQCAtNTI4LDYgKzUyOCw5IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlVmlldy5wcm90b3R5
cGUgPSB7CiAgICAgICAgIHZhciBzaG9ydGN1dEwgPSBzaG9ydGN1dC5tYWtlRGVzY3JpcHRvcigi
bCIsIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVycy5DdHJsKTsKICAgICAg
ICAgdGhpcy5fc2hvcnRjdXRzW3Nob3J0Y3V0TC5rZXldID0gdGhpcy5fcmVxdWVzdENsZWFyTWVz
c2FnZXMuYmluZCh0aGlzKTsKIAorICAgICAgICB2YXIgc2hvcnRjdXRNID0gc2hvcnRjdXQubWFr
ZURlc2NyaXB0b3IoIm0iLCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllcnMu
Q3RybE9yTWV0YSB8IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVycy5TaGlm
dCk7CisgICAgICAgIHRoaXMuX3Nob3J0Y3V0c1tzaG9ydGN1dE0ua2V5XSA9IHRoaXMuX2R1bXBN
ZW1vcnkuYmluZCh0aGlzKTsKKwogICAgICAgICB2YXIgc2VjdGlvbiA9IFdlYkluc3BlY3Rvci5z
aG9ydGN1dHNTY3JlZW4uc2VjdGlvbihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNvbnNvbGUiKSk7
CiAgICAgICAgIHZhciBrZXlzID0gV2ViSW5zcGVjdG9yLmlzTWFjKCkgPyBbIHNob3J0Y3V0Sy5u
YW1lLCBzaG9ydGN1dEwubmFtZSBdIDogWyBzaG9ydGN1dEwubmFtZSBdOwogICAgICAgICBzZWN0
aW9uLmFkZEFsdGVybmF0ZUtleXMoa2V5cywgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDbGVhciBD
b25zb2xlIikpOwpAQCAtNjU2LDYgKzY1OSwxOCBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZVZpZXcu
cHJvdG90eXBlID0gewogICAgIGVsZW1lbnRzVG9SZXN0b3JlU2Nyb2xsUG9zaXRpb25zRm9yOiBm
dW5jdGlvbigpCiAgICAgewogICAgICAgICByZXR1cm4gW3RoaXMubWVzc2FnZXNFbGVtZW50XTsK
KyAgICB9LAorCisgICAgX2R1bXBNZW1vcnk6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGZ1
bmN0aW9uIGNhbGxiYWNrKGVycm9yLCBncm91cHMpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgZ3JvdXBzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICAgICAg
aWYgKGdyb3Vwc1tpXS5zaXplID4gMSkKKyAgICAgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9y
LmxvZyhncm91cHNbaV0udGl0bGUgKyAiWyIgKyBncm91cHNbaV0uc2l6ZSArICJdIik7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgTWVtb3J5QWdlbnQuZ2V0RE9NTm9kZUNvdW50
KGNhbGxiYWNrKTsKICAgICB9CiB9CiAK
</data>
<flag name="commit-queue"
          id="118196"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
      

    </bug>

</bugzilla>