<?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>22556</bug_id>
          
          <creation_ts>2008-11-29 11:55:42 -0800</creation_ts>
          <short_desc>console.assert should include stack trace with line numbers.</short_desc>
          <delta_ts>2010-08-27 16:13:53 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>21180</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Rib Rdb">ribrdb</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>ademar</cc>
    
    <cc>hausmann</cc>
    
    <cc>jwalden+bwo</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>100719</commentid>
    <comment_count>0</comment_count>
    <who name="Rib Rdb">ribrdb</who>
    <bug_when>2008-11-29 11:55:42 -0800</bug_when>
    <thetext>console.assert currently shows the line which called assert. In firebug it also includes a stacktrace, which is very useful since often the error is higher in the stack trace. For example a unittest framework might have its own AssertEqual method that does it&apos;s own logging and then calls console.assert. The useful line is the one that called AssertEqual, not console.assert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253677</commentid>
    <comment_count>1</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-07-20 06:02:26 -0700</bug_when>
    <thetext>It&apos;s not resolved yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253680</commentid>
    <comment_count>2</comment_count>
      <attachid>62062</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-07-20 06:06:10 -0700</bug_when>
    <thetext>Created attachment 62062
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253739</commentid>
    <comment_count>3</comment_count>
      <attachid>62079</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-07-20 08:26:16 -0700</bug_when>
    <thetext>Created attachment 62079
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>253741</commentid>
    <comment_count>4</comment_count>
      <attachid>62079</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-07-20 08:33:19 -0700</bug_when>
    <thetext>Comment on attachment 62079
Patch

WebCore/bindings/v8/ScriptCallStack.cpp:56
 +      if (stackTrace-&gt;GetFrameCount() &lt;= 0) {
&lt;=? Should it be == 0?

WebCore/bindings/v8/ScriptCallStack.cpp:59
 +          *sourceName = toWebCoreString(v8::Undefined());
&quot;undefined&quot;?

WebCore/bindings/v8/ScriptCallStack.cpp:61
 +          *functionName = toWebCoreString(v8::Undefined());
&quot;undefined&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254134</commentid>
    <comment_count>5</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-07-20 23:22:52 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 62079 [details])
&gt; WebCore/bindings/v8/ScriptCallStack.cpp:56
&gt;  +      if (stackTrace-&gt;GetFrameCount() &lt;= 0) {
&gt; &lt;=? Should it be == 0?
&gt; 
No, GetFrameCount may return -1 if v8&apos;s IsDeadCheck fails.

&gt; WebCore/bindings/v8/ScriptCallStack.cpp:59
&gt;  +          *sourceName = toWebCoreString(v8::Undefined());
&gt; &quot;undefined&quot;?
&gt; 
Done.


&gt; WebCore/bindings/v8/ScriptCallStack.cpp:61
&gt;  +          *functionName = toWebCoreString(v8::Undefined());
&gt; &quot;undefined&quot;?
Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>254142</commentid>
    <comment_count>6</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2010-07-20 23:54:06 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	LayoutTests/ChangeLog
	A	LayoutTests/inspector/console-assert-expected.txt
	A	LayoutTests/inspector/console-assert.html
	M	WebCore/ChangeLog
	M	WebCore/bindings/v8/ScriptCallStack.cpp
	M	WebCore/bindings/v8/ScriptCallStack.h
	M	WebCore/bindings/v8/ScriptController.cpp
	M	WebCore/bindings/v8/custom/V8ConsoleCustom.cpp
	M	WebCore/inspector/ConsoleMessage.cpp
	M	WebCore/inspector/InspectorController.cpp
	M	WebCore/inspector/front-end/ConsoleView.js
	M	WebCore/page/Console.cpp
	M	WebCore/page/Console.idl
Committed r63805</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269083</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-08-25 01:18:21 -0700</bug_when>
    <thetext>Revision r63805 cherry-picked into qtwebkit-2.1 with commit 5b9f8cc6831808b61fdd8ecdd2885fc64a7785de</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>269958</commentid>
    <comment_count>8</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2010-08-26 11:04:23 -0700</bug_when>
    <thetext>This bug is marked as RESOLVED/FIXED but it depends on an open-bug: #13646

Should the dependency be removed? Maybe bug #13646 should block the qtwebkit-2.1 release bug instead? (bug #39121)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62062</attachid>
            <date>2010-07-20 06:06:10 -0700</date>
            <delta_ts>2010-07-20 08:26:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-22556-20100720170607.patch</filename>
            <type>text/plain</type>
            <size>7018</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxZDY2M2I3MjBhZmJkNDJmMDhlZWIzZjY1NWIwNGRjMDIzZjMyOGNiLi40NmM1Mzgx
Zjg2ODU5MDkyOGQyN2YzNGI2NzU0Y2RlMDdmZTY3ZTE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTAtMDctMjAgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgY29uc29sZS5hc3Nl
cnQgc2hvdWxkIGluY2x1ZGUgc3RhY2sgdHJhY2Ugd2l0aCBsaW5lIG51bWJlcnMuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU1NgorCisgICAgICAg
ICogaW5zcGVjdG9yL2NvbnNvbGUtYXNzZXJ0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogaW5zcGVjdG9yL2NvbnNvbGUtYXNzZXJ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci9jb25zb2xlLWRpci5odG1sOgorCiAyMDEwLTA3LTIwICBUb255IENoYW5nICA8dG9ueUBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVpbi4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlLWFzc2VydC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS1hc3NlcnQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmM3YjczNTc0NzFmNWU4Mjg0MTMzMzAwNzc0MDkxYWY5ZGFiMWIzZTEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS1hc3NlcnQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNyBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDk6IDEKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAxMDogYQorVGVzdHMgdGhhdCBjb25zb2xlLmFzc2VydCgpIHdpbGwgZHVt
cCBhIG1lc3NhZ2UgYW5kIHN0YWNrIHRyYWNlIHdpdGggc291cmNlIFVSTHMgYW5kIGxpbmUgbnVt
YmVycy4KKworY29uc29sZS1hc3NlcnQuaHRtbDo5QXNzZXJ0aW9uIGZhaWxlZDogMWJjb25zb2xl
LWFzc2VydC5odG1sOjlhY29uc29sZS1hc3NlcnQuaHRtbDoxNQorY29uc29sZS1hc3NlcnQuaHRt
bDoxMEFzc2VydGlvbiBmYWlsZWQ6IGEgYmJjb25zb2xlLWFzc2VydC5odG1sOjEwYWNvbnNvbGUt
YXNzZXJ0Lmh0bWw6MTUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUtYXNzZXJ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS1hc3NlcnQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41ZDI5OGE0NzQ4OTdhZWI2NWFjOWQ2MTg2ZTQ2MmFmMjY1ZmMwMWU0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtYXNzZXJ0Lmh0
bWwKQEAgLTAsMCArMSw0OCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0PgorCitmdW5jdGlvbiBiKCkKK3sKKyAgICBjb25zb2xlLmFzc2VydChmYWxzZSwgMSk7
CisgICAgY29uc29sZS5hc3NlcnQoZmFsc2UsICJhIiwgImIiKTsKK30KKworZnVuY3Rpb24gYSgp
Cit7CisgICAgYigpOworICAgIGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoImZyb250ZW5kX2V4cGFu
ZENvbnNvbGVNZXNzYWdlcyIpOworICAgIGR1bXBDb25zb2xlTWVzc2FnZXMoKTsKK30KKworZnVu
Y3Rpb24gZG9pdCgpCit7CisgICAgc2V0VGltZW91dChhLCAwKTsKK30KKworZnVuY3Rpb24gZnJv
bnRlbmRfZXhwYW5kQ29uc29sZU1lc3NhZ2VzKCkKK3sKKyAgICB2YXIgbWVzc2FnZXMgPSBXZWJJ
bnNwZWN0b3IuY29uc29sZS5tZXNzYWdlczsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1lc3Nh
Z2VzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhciBlbGVtZW50ID0gbWVzc2FnZXNbaV0udG9N
ZXNzYWdlRWxlbWVudCgpOworICAgICAgICB2YXIgbm9kZSA9IGVsZW1lbnQ7CisgICAgICAgIHdo
aWxlIChub2RlKSB7CisgICAgICAgICAgICBpZiAobm9kZS50cmVlRWxlbWVudEZvclRlc3QpCisg
ICAgICAgICAgICAgICAgbm9kZS50cmVlRWxlbWVudEZvclRlc3QuZXhwYW5kKCk7CisgICAgICAg
ICAgICBub2RlID0gbm9kZS50cmF2ZXJzZU5leHROb2RlKGVsZW1lbnQpOworICAgICAgICB9Cisg
ICAgfQorfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJvbmxvYWQoKSI+
Cis8cD4KK1Rlc3RzIHRoYXQgY29uc29sZS5hc3NlcnQoKSB3aWxsIGR1bXAgYSBtZXNzYWdlIGFu
ZCBzdGFjayB0cmFjZSB3aXRoIHNvdXJjZSBVUkxzIGFuZCBsaW5lIG51bWJlcnMuCis8L3A+CisK
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggZTRhMDRkMDU1NTU5NDgzNGExYzdhZjg3MjBiNjljNTRjMTM0MjFj
ZC4uODAxMDhjMzczOTYxZGRkOTVmMDg2ZTAyZjQ5NmQ3OTEzNzMxOTdhNSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMCBA
QAogMjAxMC0wNy0yMCAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBjb25zb2xlLmFz
c2VydCBzaG91bGQgaW5jbHVkZSBzdGFjayB0cmFjZSB3aXRoIGxpbmUgbnVtYmVycy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTU2CisKKyAgICAg
ICAgVGVzdDogaW5zcGVjdG9yL2NvbnNvbGUtYXNzZXJ0Lmh0bWwKKworICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckNvbnRyb2xsZXI6OmFkZE1lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvQ29uc29sZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1l
c3NhZ2UucHJvdG90eXBlLl9mb3JtYXRNZXNzYWdlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
b25zb2xlTWVzc2FnZS5wcm90b3R5cGUudG9NZXNzYWdlRWxlbWVudCk6CisKKzIwMTAtMDctMjAg
IFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKICAgICAgICAgUmV2aWV3
ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBqdW1wIHRvIHNv
dXJjZSBpcyBicm9rZW4gZm9yIGNhbGwgZnJhbWVzIGxvZ2dlZCBieSBjb25zb2xlLnRyYWNlCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcCBiL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IDg0MWFlNWMxZGVk
NjcwNWMwN2VmYTY3OTM4ZjlhMmRiZDkxZTIyOTQuLjg4NzliOGU5YmZhM2JiODlmMWY1MTc0YmI5
YmYyZjdkYTgwM2IwMTYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuY3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIu
Y3BwCkBAIC0zNDMsNyArMzQzLDggQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjphZGRNZXNz
YWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZQogICAgIGlmICgh
ZW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBhZGRDb25zb2xlTWVzc2FnZShjYWxs
U3RhY2stPnN0YXRlKCksIG5ldyBDb25zb2xlTWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBt
ZXNzYWdlLCBjYWxsU3RhY2ssIG1fZ3JvdXBMZXZlbCwgdHlwZSA9PSBUcmFjZU1lc3NhZ2VUeXBl
IHx8IHR5cGUgPT0gVW5jYXVnaHRFeGNlcHRpb25NZXNzYWdlVHlwZSkpOworICAgIGJvb2wgc3Rv
cmVTdGFja1RyYWNlID0gdHlwZSA9PSBUcmFjZU1lc3NhZ2VUeXBlIHx8IHR5cGUgPT0gVW5jYXVn
aHRFeGNlcHRpb25NZXNzYWdlVHlwZSB8fCB0eXBlID09IEFzc2VydE1lc3NhZ2VUeXBlOworICAg
IGFkZENvbnNvbGVNZXNzYWdlKGNhbGxTdGFjay0+c3RhdGUoKSwgbmV3IENvbnNvbGVNZXNzYWdl
KHNvdXJjZSwgdHlwZSwgbGV2ZWwsIG1lc3NhZ2UsIGNhbGxTdGFjaywgbV9ncm91cExldmVsLCBz
dG9yZVN0YWNrVHJhY2UpKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjphZGRNZXNz
YWdlVG9Db25zb2xlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNz
YWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgdW5zaWduZWQgbGluZU51bWJl
ciwgY29uc3QgU3RyaW5nJiBzb3VyY2VJRCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Db25zb2xlVmlldy5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9D
b25zb2xlVmlldy5qcwppbmRleCBiMmRhNzdlMTUwZjNiMDg2NmRkMDk1ZDIxZDdjNTcyNDI3ZDYz
ZTBjLi5kNDExOWExNjVlYjkzMDdhNGRjZmRkNmI4ZDAwNjBkMTM2NmI3YzJkIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMKKysrIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCkBAIC02NzIsNiArNjcyLDcgQEAg
V2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLnByb3RvdHlwZSA9IHsKICAgICBfZm9ybWF0TWVz
c2FnZTogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgc3dpdGNoICh0aGlzLnR5cGUpIHsKKyAg
ICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLk1lc3NhZ2VUeXBlLkFz
c2VydDoKICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLk1lc3Nh
Z2VUeXBlLlRyYWNlOgogICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3Nh
Z2UuTWVzc2FnZVR5cGUuVW5jYXVnaHRFeGNlcHRpb246CiAgICAgICAgICAgICAgICAgdmFyIG9s
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgib2wiKTsKQEAgLTY4MSwxMCArNjgyLDE4IEBAIFdl
Ykluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAg
dmFyIHRyZWVPdXRsaW5lID0gbmV3IFRyZWVPdXRsaW5lKG9sKTsKIAogICAgICAgICAgICAgICAg
IHZhciByb290ID0gdHJlZU91dGxpbmU7Ci0gICAgICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9
PT0gV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLk1lc3NhZ2VUeXBlLlVuY2F1Z2h0RXhjZXB0
aW9uKSB7Ci0gICAgICAgICAgICAgICAgICAgIHZhciBsaSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImxpIik7Ci0gICAgICAgICAgICAgICAgICAgIHRoaXMuX2FkZE1lc3NhZ2VIZWFkZXIobGks
IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRoaXMuX21lc3NhZ2VUZXh0KSk7Ci0gICAgICAgICAg
ICAgICAgICAgIHJvb3QgPSBuZXcgVHJlZUVsZW1lbnQobGkuaW5uZXJIVE1MLCBudWxsLCB0cnVl
KTsKKyAgICAgICAgICAgICAgICBpZiAodGhpcy50eXBlID09PSBXZWJJbnNwZWN0b3IuQ29uc29s
ZU1lc3NhZ2UuTWVzc2FnZVR5cGUuVW5jYXVnaHRFeGNlcHRpb24gfHwKKyAgICAgICAgICAgICAg
ICAgICAgdGhpcy50eXBlID09PSBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZVR5
cGUuQXNzZXJ0KSB7CisgICAgICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlVGV4dDsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNz
YWdlLk1lc3NhZ2VUeXBlLkFzc2VydCkKKyAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VU
ZXh0ID0gdGhpcy5fZm9ybWF0KHRoaXMuX3BhcmFtZXRlcnMpOworICAgICAgICAgICAgICAgICAg
ICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlVGV4dCA9IGRvY3VtZW50LmNy
ZWF0ZVRleHROb2RlKHRoaXMuX21lc3NhZ2VUZXh0KTsKKworICAgICAgICAgICAgICAgICAgICB2
YXIgY29udGVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICAgICAg
ICAgICAgICB0aGlzLl9hZGRNZXNzYWdlSGVhZGVyKGNvbnRlbnQsIG1lc3NhZ2VUZXh0KTsKKyAg
ICAgICAgICAgICAgICAgICAgcm9vdCA9IG5ldyBUcmVlRWxlbWVudChjb250ZW50LCBudWxsLCB0
cnVlKTsKKyAgICAgICAgICAgICAgICAgICAgY29udGVudC50cmVlRWxlbWVudEZvclRlc3QgPSBy
b290OwogICAgICAgICAgICAgICAgICAgICB0cmVlT3V0bGluZS5hcHBlbmRDaGlsZChyb290KTsK
ICAgICAgICAgICAgICAgICB9CiAKQEAgLTg0MSw2ICs4NTAsNyBAQCBXZWJJbnNwZWN0b3IuQ29u
c29sZU1lc3NhZ2UucHJvdG90eXBlID0gewogICAgICAgICB9CiAKICAgICAgICAgaWYgKHRoaXMu
dHlwZSA9PT0gV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLk1lc3NhZ2VUeXBlLlRyYWNlIHx8
CisgICAgICAgICAgICB0aGlzLnR5cGUgPT09IFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5N
ZXNzYWdlVHlwZS5Bc3NlcnQgfHwKICAgICAgICAgICAgIHRoaXMudHlwZSA9PT0gV2ViSW5zcGVj
dG9yLkNvbnNvbGVNZXNzYWdlLk1lc3NhZ2VUeXBlLlVuY2F1Z2h0RXhjZXB0aW9uKQogICAgICAg
ICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLmZvcm1hdHRlZE1lc3NhZ2UpOwogICAgICAg
ICBlbHNlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62079</attachid>
            <date>2010-07-20 08:26:16 -0700</date>
            <delta_ts>2010-07-20 08:33:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-22556-20100720192613.patch</filename>
            <type>text/plain</type>
            <size>16831</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxZDY2M2I3MjBhZmJkNDJmMDhlZWIzZjY1NWIwNGRjMDIzZjMyOGNiLi40NmM1Mzgx
Zjg2ODU5MDkyOGQyN2YzNGI2NzU0Y2RlMDdmZTY3ZTE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTAtMDctMjAgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgY29uc29sZS5hc3Nl
cnQgc2hvdWxkIGluY2x1ZGUgc3RhY2sgdHJhY2Ugd2l0aCBsaW5lIG51bWJlcnMuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU1NgorCisgICAgICAg
ICogaW5zcGVjdG9yL2NvbnNvbGUtYXNzZXJ0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogaW5zcGVjdG9yL2NvbnNvbGUtYXNzZXJ0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGluc3Bl
Y3Rvci9jb25zb2xlLWRpci5odG1sOgorCiAyMDEwLTA3LTIwICBUb255IENoYW5nICA8dG9ueUBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVpbi4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jb25zb2xlLWFzc2VydC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS1hc3NlcnQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmM3YjczNTc0NzFmNWU4Mjg0MTMzMzAwNzc0MDkxYWY5ZGFiMWIzZTEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS1hc3NlcnQtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNyBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDk6IDEKK0NPTlNPTEUg
TUVTU0FHRTogbGluZSAxMDogYQorVGVzdHMgdGhhdCBjb25zb2xlLmFzc2VydCgpIHdpbGwgZHVt
cCBhIG1lc3NhZ2UgYW5kIHN0YWNrIHRyYWNlIHdpdGggc291cmNlIFVSTHMgYW5kIGxpbmUgbnVt
YmVycy4KKworY29uc29sZS1hc3NlcnQuaHRtbDo5QXNzZXJ0aW9uIGZhaWxlZDogMWJjb25zb2xl
LWFzc2VydC5odG1sOjlhY29uc29sZS1hc3NlcnQuaHRtbDoxNQorY29uc29sZS1hc3NlcnQuaHRt
bDoxMEFzc2VydGlvbiBmYWlsZWQ6IGEgYmJjb25zb2xlLWFzc2VydC5odG1sOjEwYWNvbnNvbGUt
YXNzZXJ0Lmh0bWw6MTUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNv
bGUtYXNzZXJ0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY29uc29sZS1hc3NlcnQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41ZDI5OGE0NzQ4OTdhZWI2NWFjOWQ2MTg2ZTQ2MmFmMjY1ZmMwMWU0Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NvbnNvbGUtYXNzZXJ0Lmh0
bWwKQEAgLTAsMCArMSw0OCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi9odHRw
L3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvY29uc29sZS10ZXN0cy5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0PgorCitmdW5jdGlvbiBiKCkKK3sKKyAgICBjb25zb2xlLmFzc2VydChmYWxzZSwgMSk7
CisgICAgY29uc29sZS5hc3NlcnQoZmFsc2UsICJhIiwgImIiKTsKK30KKworZnVuY3Rpb24gYSgp
Cit7CisgICAgYigpOworICAgIGV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoImZyb250ZW5kX2V4cGFu
ZENvbnNvbGVNZXNzYWdlcyIpOworICAgIGR1bXBDb25zb2xlTWVzc2FnZXMoKTsKK30KKworZnVu
Y3Rpb24gZG9pdCgpCit7CisgICAgc2V0VGltZW91dChhLCAwKTsKK30KKworZnVuY3Rpb24gZnJv
bnRlbmRfZXhwYW5kQ29uc29sZU1lc3NhZ2VzKCkKK3sKKyAgICB2YXIgbWVzc2FnZXMgPSBXZWJJ
bnNwZWN0b3IuY29uc29sZS5tZXNzYWdlczsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1lc3Nh
Z2VzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIHZhciBlbGVtZW50ID0gbWVzc2FnZXNbaV0udG9N
ZXNzYWdlRWxlbWVudCgpOworICAgICAgICB2YXIgbm9kZSA9IGVsZW1lbnQ7CisgICAgICAgIHdo
aWxlIChub2RlKSB7CisgICAgICAgICAgICBpZiAobm9kZS50cmVlRWxlbWVudEZvclRlc3QpCisg
ICAgICAgICAgICAgICAgbm9kZS50cmVlRWxlbWVudEZvclRlc3QuZXhwYW5kKCk7CisgICAgICAg
ICAgICBub2RlID0gbm9kZS50cmF2ZXJzZU5leHROb2RlKGVsZW1lbnQpOworICAgICAgICB9Cisg
ICAgfQorfQorCis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJvbmxvYWQoKSI+
Cis8cD4KK1Rlc3RzIHRoYXQgY29uc29sZS5hc3NlcnQoKSB3aWxsIGR1bXAgYSBtZXNzYWdlIGFu
ZCBzdGFjayB0cmFjZSB3aXRoIHNvdXJjZSBVUkxzIGFuZCBsaW5lIG51bWJlcnMuCis8L3A+CisK
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggZTRhMDRkMDU1NTU5NDgzNGExYzdhZjg3MjBiNjljNTRjMTM0MjFj
ZC4uODAxMDhjMzczOTYxZGRkOTVmMDg2ZTAyZjQ5NmQ3OTEzNzMxOTdhNSAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMCBA
QAogMjAxMC0wNy0yMCAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBjb25zb2xlLmFz
c2VydCBzaG91bGQgaW5jbHVkZSBzdGFjayB0cmFjZSB3aXRoIGxpbmUgbnVtYmVycy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTU2CisKKyAgICAg
ICAgVGVzdDogaW5zcGVjdG9yL2NvbnNvbGUtYXNzZXJ0Lmh0bWwKKworICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckNvbnRyb2xsZXI6OmFkZE1lc3NhZ2VUb0NvbnNvbGUpOgorICAgICAgICAqIGluc3BlY3Rvci9m
cm9udC1lbmQvQ29uc29sZVZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29uc29sZU1l
c3NhZ2UucHJvdG90eXBlLl9mb3JtYXRNZXNzYWdlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
b25zb2xlTWVzc2FnZS5wcm90b3R5cGUudG9NZXNzYWdlRWxlbWVudCk6CisKKzIwMTAtMDctMjAg
IFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKICAgICAgICAgUmV2aWV3
ZWQgYnkgUGF2ZWwgRmVsZG1hbi4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBqdW1wIHRvIHNv
dXJjZSBpcyBicm9rZW4gZm9yIGNhbGwgZnJhbWVzIGxvZ2dlZCBieSBjb25zb2xlLnRyYWNlCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhbGxTdGFjay5jcHAgYi9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhbGxTdGFjay5jcHAKaW5kZXggN2JjYWIxY2RjOTYxM2Q0
ODZhYjIwNDVmYzVhMTJlZmFiODNhOTc3NS4uZGMxNDc5YzM0MGJiMGE0NDY0ZmU4ZjlmOTk3Yzk4
MmYyMzlmYWZlNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWxsU3Rh
Y2suY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FsbFN0YWNrLmNwcApAQCAt
NTEsNiArNTEsMjAgQEAgc3RhdGljIHZvaWQgZ2V0RnJhbWVMb2NhdGlvbih2ODo6SGFuZGxlPHY4
OjpTdGFja0ZyYW1lPiBmcmFtZSwgU3RyaW5nKiBzb3VyY2VOYW0KICAgICAqc291cmNlTGluZU51
bWJlciA9IGZyYW1lLT5HZXRMaW5lTnVtYmVyKCk7CiB9CiAKK3N0YXRpYyB2b2lkIGdldFRvcEZy
YW1lTG9jYXRpb24odjg6OkhhbmRsZTx2ODo6U3RhY2tUcmFjZT4gc3RhY2tUcmFjZSwgU3RyaW5n
KiBzb3VyY2VOYW1lLCBpbnQqIHNvdXJjZUxpbmVOdW1iZXIsIFN0cmluZyogZnVuY3Rpb25OYW1l
KQoreworICAgIGlmIChzdGFja1RyYWNlLT5HZXRGcmFtZUNvdW50KCkgPD0gMCkgeworICAgICAg
ICAvLyBTdWNjZXNzZnVsbHkgZ3JhYmJlZCBzdGFjayB0cmFjZSwgYnV0IHRoZXJlIGFyZSBubyBm
cmFtZXMuCisgICAgICAgIC8vIEZhbGxiYWNrIHRvIHNldHRpbmcgbGluZU51bWJlciB0byAwLCBh
bmQgc291cmNlIGFuZCBmdW5jdGlvbiBuYW1lIHRvICJ1bmRlZmluZWQiLgorICAgICAgICAqc291
cmNlTmFtZSA9IHRvV2ViQ29yZVN0cmluZyh2ODo6VW5kZWZpbmVkKCkpOworICAgICAgICAqc291
cmNlTGluZU51bWJlciA9IDA7CisgICAgICAgICpmdW5jdGlvbk5hbWUgPSB0b1dlYkNvcmVTdHJp
bmcodjg6OlVuZGVmaW5lZCgpKTsKKyAgICB9IGVsc2UgeworICAgICAgICB2ODo6SGFuZGxlPHY4
OjpTdGFja0ZyYW1lPiBmcmFtZSA9IHN0YWNrVHJhY2UtPkdldEZyYW1lKDApOworICAgICAgICBn
ZXRGcmFtZUxvY2F0aW9uKGZyYW1lLCBzb3VyY2VOYW1lLCBzb3VyY2VMaW5lTnVtYmVyLCBmdW5j
dGlvbk5hbWUpOworICAgIH0KK30KKwogc3RhdGljIFBhc3NPd25QdHI8U2NyaXB0Q2FsbEZyYW1l
PiB0b1NjcmlwdENhbGxGcmFtZSh2ODo6SGFuZGxlPHY4OjpTdGFja0ZyYW1lPiBmcmFtZSkKIHsK
ICAgICBTdHJpbmcgc291cmNlTmFtZTsKQEAgLTYwLDExICs3NCwyNCBAQCBzdGF0aWMgUGFzc093
blB0cjxTY3JpcHRDYWxsRnJhbWU+IHRvU2NyaXB0Q2FsbEZyYW1lKHY4OjpIYW5kbGU8djg6OlN0
YWNrRnJhbWU+CiAgICAgcmV0dXJuIG5ldyBTY3JpcHRDYWxsRnJhbWUoZnVuY3Rpb25OYW1lLCBz
b3VyY2VOYW1lLCBzb3VyY2VMaW5lTnVtYmVyKTsKIH0KIAotUGFzc093blB0cjxTY3JpcHRDYWxs
U3RhY2s+IFNjcmlwdENhbGxTdGFjazo6Y3JlYXRlKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3Vt
ZW50cywgdW5zaWduZWQgc2tpcEFyZ3VtZW50Q291bnQpCitzdGF0aWMgdm9pZCB0b1NjcmlwdENh
bGxGcmFtZXNWZWN0b3Iodjg6OkxvY2FsPHY4OjpDb250ZXh0PiBjb250ZXh0LCB2ODo6SGFuZGxl
PHY4OjpTdGFja1RyYWNlPiBzdGFja1RyYWNlLCBWZWN0b3I8T3duUHRyPFNjcmlwdENhbGxGcmFt
ZT4gPiYgc2NyaXB0Q2FsbEZyYW1lcykKK3sKKyAgICB2ODo6Q29udGV4dDo6U2NvcGUgY29udGV4
dFNjb3BlKGNvbnRleHQpOworICAgIGludCBmcmFtZUNvdW50ID0gc3RhY2tUcmFjZS0+R2V0RnJh
bWVDb3VudCgpOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgZnJhbWVDb3VudDsgaSsrKSB7Cisg
ICAgICAgIHY4OjpMb2NhbDx2ODo6U3RhY2tGcmFtZT4gc3RhY2tGcmFtZSA9IHN0YWNrVHJhY2Ut
PkdldEZyYW1lKGkpOworICAgICAgICBzY3JpcHRDYWxsRnJhbWVzLmFwcGVuZCh0b1NjcmlwdENh
bGxGcmFtZShzdGFja0ZyYW1lKSk7CisgICAgfQorfQorCitjb25zdCBpbnQgU2NyaXB0Q2FsbFN0
YWNrOjptYXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlID0gMjAwOworCitQYXNzT3duUHRyPFNjcmlw
dENhbGxTdGFjaz4gU2NyaXB0Q2FsbFN0YWNrOjpjcmVhdGUoY29uc3Qgdjg6OkFyZ3VtZW50cyYg
YXJndW1lbnRzLCB1bnNpZ25lZCBza2lwQXJndW1lbnRDb3VudCwgaW50IGZyYW1Db3VudExpbWl0
KQogewogICAgIHY4OjpIYW5kbGVTY29wZSBzY29wZTsKLSAgICB2ODo6Q29udGV4dDo6U2NvcGUg
Y29udGV4dFNjb3BlKHY4OjpDb250ZXh0OjpHZXRDdXJyZW50KCkpOwotICAgIHY4OjpIYW5kbGU8
djg6OlN0YWNrVHJhY2U+IHN0YWNrVHJhY2Uodjg6OlN0YWNrVHJhY2U6OkN1cnJlbnRTdGFja1Ry
YWNlKDEpKTsKKyAgICB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGNvbnRleHQgPSB2ODo6Q29udGV4
dDo6R2V0Q3VycmVudCgpOworICAgIHY4OjpDb250ZXh0OjpTY29wZSBjb250ZXh0U2NvcGUoY29u
dGV4dCk7CisgICAgdjg6OkhhbmRsZTx2ODo6U3RhY2tUcmFjZT4gc3RhY2tUcmFjZSh2ODo6U3Rh
Y2tUcmFjZTo6Q3VycmVudFN0YWNrVHJhY2UoZnJhbUNvdW50TGltaXQpKTsKIAogICAgIGlmIChz
dGFja1RyYWNlLklzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIDA7CkBAIC03Miw0MCArOTksMzQg
QEAgUGFzc093blB0cjxTY3JpcHRDYWxsU3RhY2s+IFNjcmlwdENhbGxTdGFjazo6Y3JlYXRlKGNv
bnN0IHY4OjpBcmd1bWVudHMmIGFyZ3VtZW4KICAgICBTdHJpbmcgc291cmNlTmFtZTsKICAgICBp
bnQgc291cmNlTGluZU51bWJlcjsKICAgICBTdHJpbmcgZnVuY3Rpb25OYW1lOwotICAgIGlmIChz
dGFja1RyYWNlLT5HZXRGcmFtZUNvdW50KCkgPD0gMCkgewotICAgICAgICAvLyBTdWNjZXNzZnVs
bHkgZ3JhYmJlZCBzdGFjayB0cmFjZSwgYnV0IHRoZXJlIGFyZSBubyBmcmFtZXMuCi0gICAgICAg
IC8vIEZhbGxiYWNrIHRvIHNldHRpbmcgbGluZU51bWJlciB0byAwLCBhbmQgc291cmNlIGFuZCBm
dW5jdGlvbiBuYW1lIHRvICJ1bmRlZmluZWQiLgotICAgICAgICBzb3VyY2VOYW1lID0gdG9XZWJD
b3JlU3RyaW5nKHY4OjpVbmRlZmluZWQoKSk7Ci0gICAgICAgIHNvdXJjZUxpbmVOdW1iZXIgPSAw
OwotICAgICAgICBmdW5jdGlvbk5hbWUgPSB0b1dlYkNvcmVTdHJpbmcodjg6OlVuZGVmaW5lZCgp
KTsKLSAgICB9IGVsc2UgewotICAgICAgICB2ODo6SGFuZGxlPHY4OjpTdGFja0ZyYW1lPiBmcmFt
ZSA9IHN0YWNrVHJhY2UtPkdldEZyYW1lKDApOwotICAgICAgICBnZXRGcmFtZUxvY2F0aW9uKGZy
YW1lLCAmc291cmNlTmFtZSwgJnNvdXJjZUxpbmVOdW1iZXIsICZmdW5jdGlvbk5hbWUpOwotICAg
IH0KLSAgICByZXR1cm4gbmV3IFNjcmlwdENhbGxTdGFjayhhcmd1bWVudHMsIHNraXBBcmd1bWVu
dENvdW50LCBzb3VyY2VOYW1lLCBzb3VyY2VMaW5lTnVtYmVyLCBmdW5jdGlvbk5hbWUpOworICAg
IGdldFRvcEZyYW1lTG9jYXRpb24oc3RhY2tUcmFjZSwgJnNvdXJjZU5hbWUsICZzb3VyY2VMaW5l
TnVtYmVyLCAmZnVuY3Rpb25OYW1lKTsKKyAgICAKKyAgICBWZWN0b3I8T3duUHRyPFNjcmlwdENh
bGxGcmFtZT4gPiBzY3JpcHRDYWxsRnJhbWVzOworICAgIGlmIChmcmFtQ291bnRMaW1pdCA+IDEp
CisgICAgICAgIHRvU2NyaXB0Q2FsbEZyYW1lc1ZlY3Rvcihjb250ZXh0LCBzdGFja1RyYWNlLCBz
Y3JpcHRDYWxsRnJhbWVzKTsKKyAgICAKKyAgICByZXR1cm4gbmV3IFNjcmlwdENhbGxTdGFjayhT
Y3JpcHRTdGF0ZTo6Zm9yQ29udGV4dChjb250ZXh0KSwgbmV3IFNjcmlwdENhbGxGcmFtZShmdW5j
dGlvbk5hbWUsIHNvdXJjZU5hbWUsIHNvdXJjZUxpbmVOdW1iZXIsIGFyZ3VtZW50cywgc2tpcEFy
Z3VtZW50Q291bnQpLCBzY3JpcHRDYWxsRnJhbWVzKTsKIH0KIAogUGFzc093blB0cjxTY3JpcHRD
YWxsU3RhY2s+IFNjcmlwdENhbGxTdGFjazo6Y3JlYXRlKFNjcmlwdFN0YXRlKiBzdGF0ZSwgdjg6
OkhhbmRsZTx2ODo6U3RhY2tUcmFjZT4gc3RhY2tUcmFjZSkKIHsKLSAgICByZXR1cm4gbmV3IFNj
cmlwdENhbGxTdGFjayhzdGF0ZSwgc3RhY2tUcmFjZSk7Ci19CisgICAgdjg6OkhhbmRsZVNjb3Bl
IHNjb3BlOworICAgIFZlY3RvcjxPd25QdHI8U2NyaXB0Q2FsbEZyYW1lPiA+IHNjcmlwdENhbGxG
cmFtZXM7CisgICAgdG9TY3JpcHRDYWxsRnJhbWVzVmVjdG9yKHN0YXRlLT5jb250ZXh0KCksIHN0
YWNrVHJhY2UsIHNjcmlwdENhbGxGcmFtZXMpOwogCi1TY3JpcHRDYWxsU3RhY2s6OlNjcmlwdENh
bGxTdGFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmd1bWVudHMsIHVuc2lnbmVkIHNraXBBcmd1
bWVudENvdW50LCBTdHJpbmcgc291cmNlTmFtZSwgaW50IHNvdXJjZUxpbmVOdW1iZXIsIFN0cmlu
ZyBmdW5jdGlvbk5hbWUpCi0gICAgOiBtX3RvcEZyYW1lKG5ldyBTY3JpcHRDYWxsRnJhbWUoZnVu
Y3Rpb25OYW1lLCBzb3VyY2VOYW1lLCBzb3VyY2VMaW5lTnVtYmVyLCBhcmd1bWVudHMsIHNraXBB
cmd1bWVudENvdW50KSkKLSAgICAsIG1fc2NyaXB0U3RhdGUoU2NyaXB0U3RhdGU6OmN1cnJlbnQo
KSkKLXsKKyAgICBTdHJpbmcgc291cmNlTmFtZTsKKyAgICBpbnQgc291cmNlTGluZU51bWJlcjsK
KyAgICBTdHJpbmcgZnVuY3Rpb25OYW1lOworICAgIGdldFRvcEZyYW1lTG9jYXRpb24oc3RhY2tU
cmFjZSwgJnNvdXJjZU5hbWUsICZzb3VyY2VMaW5lTnVtYmVyLCAmZnVuY3Rpb25OYW1lKTsKKwor
ICAgIHJldHVybiBuZXcgU2NyaXB0Q2FsbFN0YWNrKHN0YXRlLCBuZXcgU2NyaXB0Q2FsbEZyYW1l
KGZ1bmN0aW9uTmFtZSwgc291cmNlTmFtZSwgc291cmNlTGluZU51bWJlciksIHNjcmlwdENhbGxG
cmFtZXMpOwogfQogCi1TY3JpcHRDYWxsU3RhY2s6OlNjcmlwdENhbGxTdGFjayhTY3JpcHRTdGF0
ZSogc2NyaXB0U3RhdGUsIHY4OjpIYW5kbGU8djg6OlN0YWNrVHJhY2U+IHN0YWNrVHJhY2UpCi0g
ICAgOiBtX3NjcmlwdFN0YXRlKHNjcmlwdFN0YXRlKQorU2NyaXB0Q2FsbFN0YWNrOjpTY3JpcHRD
YWxsU3RhY2soU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlLCBQYXNzT3duUHRyPFNjcmlwdENhbGxG
cmFtZT4gdG9wRnJhbWUsIFZlY3RvcjxPd25QdHI8U2NyaXB0Q2FsbEZyYW1lPiA+JiBzY3JpcHRD
YWxsRnJhbWVzKQorICAgIDogbV90b3BGcmFtZSh0b3BGcmFtZSkKKyAgICAsIG1fc2NyaXB0U3Rh
dGUoc2NyaXB0U3RhdGUpCiB7Ci0gICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOwotICAg
IHY4OjpDb250ZXh0OjpTY29wZSBjb250ZXh0U2NvcGUobV9zY3JpcHRTdGF0ZS0+Y29udGV4dCgp
KTsKLSAgICBpbnQgZnJhbWVDb3VudCA9IHN0YWNrVHJhY2UtPkdldEZyYW1lQ291bnQoKTsKLSAg
ICBmb3IgKGludCBpID0gMDsgaSA8IGZyYW1lQ291bnQ7IGkrKykgewotICAgICAgICB2ODo6TG9j
YWw8djg6OlN0YWNrRnJhbWU+IHN0YWNrRnJhbWUgPSBzdGFja1RyYWNlLT5HZXRGcmFtZShpKTsK
LSAgICAgICAgbV9zY3JpcHRDYWxsRnJhbWVzLmFwcGVuZCh0b1NjcmlwdENhbGxGcmFtZShzdGFj
a0ZyYW1lKSk7Ci0gICAgfQorICAgIG1fc2NyaXB0Q2FsbEZyYW1lcy5zd2FwKHNjcmlwdENhbGxG
cmFtZXMpOwogfQogCiBTY3JpcHRDYWxsU3RhY2s6On5TY3JpcHRDYWxsU3RhY2soKQpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWxsU3RhY2suaCBiL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvU2NyaXB0Q2FsbFN0YWNrLmgKaW5kZXggZDIxYjlmOTIyZmM5MTI0ZDAyMTU2Y2Jm
OTg0N2FlMDIzM2Y5MzEyNy4uYjYwODU2MzVjNzZmZDI3ZGNmZDYxYWFiYTRkMjk3YWJkNWQ2ZGM0
ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWxsU3RhY2suaAorKysg
Yi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENhbGxTdGFjay5oCkBAIC00OCw3ICs0OCw5IEBA
IGNsYXNzIEluc3BlY3RvckFycmF5OwogCiBjbGFzcyBTY3JpcHRDYWxsU3RhY2sgOiBwdWJsaWMg
Tm9uY29weWFibGUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPFNjcmlwdENhbGxT
dGFjaz4gY3JlYXRlKGNvbnN0IHY4OjpBcmd1bWVudHMmLCB1bnNpZ25lZCBza2lwQXJndW1lbnRD
b3VudCA9IDApOworICAgIHN0YXRpYyBjb25zdCBpbnQgbWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVy
ZTsKKworICAgIHN0YXRpYyBQYXNzT3duUHRyPFNjcmlwdENhbGxTdGFjaz4gY3JlYXRlKGNvbnN0
IHY4OjpBcmd1bWVudHMmLCB1bnNpZ25lZCBza2lwQXJndW1lbnRDb3VudCA9IDAsIGludCBmcmFt
Q291bnRMaW1pdCA9IDEpOwogICAgIHN0YXRpYyBQYXNzT3duUHRyPFNjcmlwdENhbGxTdGFjaz4g
Y3JlYXRlKFNjcmlwdFN0YXRlKiwgdjg6OkhhbmRsZTx2ODo6U3RhY2tUcmFjZT4pOwogICAgIH5T
Y3JpcHRDYWxsU3RhY2soKTsKIApAQCAtNzAsNyArNzIsNyBAQCBwdWJsaWM6CiAgICAgU2NyaXB0
U3RhdGUqIGdsb2JhbFN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9zY3JpcHRTdGF0ZTsgfQogCiBw
cml2YXRlOgotICAgIFNjcmlwdENhbGxTdGFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmd1bWVu
dHMsIHVuc2lnbmVkIHNraXBBcmd1bWVudENvdW50LCBTdHJpbmcgc291cmNlTmFtZSwgaW50IHNv
dXJjZUxpbmVOdW1iZXIsIFN0cmluZyBmdW5jTmFtZSk7CisgICAgU2NyaXB0Q2FsbFN0YWNrKFNj
cmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSwgUGFzc093blB0cjxTY3JpcHRDYWxsRnJhbWU+IHRvcEZy
YW1lLCBWZWN0b3I8T3duUHRyPFNjcmlwdENhbGxGcmFtZT4gPiYgc2NyaXB0Q2FsbEZyYW1lcyk7
CiAgICAgU2NyaXB0Q2FsbFN0YWNrKFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSwgdjg6OkhhbmRs
ZTx2ODo6U3RhY2tUcmFjZT4gc3RhY2tUcmFjZSk7CiAKICAgICBPd25QdHI8U2NyaXB0Q2FsbEZy
YW1lPiBtX3RvcEZyYW1lOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRD
b250cm9sbGVyLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAK
aW5kZXggYzgwMTBmMWJkNGY0NmEzNDc4ZDgzYTAzZjE2NzFlYjJiNjI4YTVmYi4uZDc2NzQ2ZWRh
NzgzYzhkYjI5ZjhhMDU2ZGRhNDczMjkzOGIwNTEyMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5k
aW5ncy92OC9TY3JpcHRDb250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdENvbnRyb2xsZXIuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAKICNpbmNsdWRlICJQbGF0Zm9y
bUJyaWRnZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiU2NyaXB0Q2FsbFN0
YWNrLmgiCiAjaW5jbHVkZSAiU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmgiCiAjaW5jbHVkZSAi
RE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKQEAgLTQ1NCw3ICs0NTUsNyBAQCB2b2lk
IFNjcmlwdENvbnRyb2xsZXI6OmNsZWFyV2luZG93U2hlbGwoYm9vbCkKICNpZiBFTkFCTEUoSU5T
UEVDVE9SKQogdm9pZCBTY3JpcHRDb250cm9sbGVyOjpzZXRDYXB0dXJlQ2FsbFN0YWNrRm9yVW5j
YXVnaHRFeGNlcHRpb25zKGJvb2wpCiB7Ci0gICAgdjg6OlY4OjpTZXRDYXB0dXJlU3RhY2tUcmFj
ZUZvclVuY2F1Z2h0RXhjZXB0aW9ucyh0cnVlLCAyMDApOworICAgIHY4OjpWODo6U2V0Q2FwdHVy
ZVN0YWNrVHJhY2VGb3JVbmNhdWdodEV4Y2VwdGlvbnModHJ1ZSwgU2NyaXB0Q2FsbFN0YWNrOjpt
YXhDYWxsU3RhY2tTaXplVG9DYXB0dXJlKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENvbnNvbGVDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhDb25zb2xlQ3VzdG9tLmNwcAppbmRleCBhMDllMWIzOGM4YWE2YjEw
NWUxNWFmY2Y0ZDk0MzVlNWFiNjc4OGZhLi5iYWZmYmQ0NDk3ZDA4MGY5YjM3ZWEwZWFhYjg5NjFm
YTU3ZThlNDM3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENvbnNv
bGVDdXN0b20uY3BwCisrKyBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q29uc29sZUN1
c3RvbS5jcHAKQEAgLTY0LDkgKzY0LDIwIEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOENvbnNv
bGU6OnRyYWNlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYgYXJncykKICAgICBDb25zb2xl
KiBpbXAgPSBWOENvbnNvbGU6OnRvTmF0aXZlKGFyZ3MuSG9sZGVyKCkpOwogICAgIHY4OjpIYW5k
bGVTY29wZSBoYW5kbGVTY29wZTsKICAgICBTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUgPSBTY3Jp
cHRTdGF0ZTo6Y3VycmVudCgpOwotICAgIHY4OjpMb2NhbDx2ODo6U3RhY2tUcmFjZT4gc3RhY2tU
cmFjZSA9IHY4OjpTdGFja1RyYWNlOjpDdXJyZW50U3RhY2tUcmFjZSgyMDApOworICAgIHY4OjpM
b2NhbDx2ODo6U3RhY2tUcmFjZT4gc3RhY2tUcmFjZSA9IHY4OjpTdGFja1RyYWNlOjpDdXJyZW50
U3RhY2tUcmFjZShTY3JpcHRDYWxsU3RhY2s6Om1heENhbGxTdGFja1NpemVUb0NhcHR1cmUpOwog
ICAgIE93blB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjayhTY3JpcHRDYWxsU3RhY2s6OmNy
ZWF0ZShzY3JpcHRTdGF0ZSwgc3RhY2tUcmFjZSkpOwogICAgIGltcC0+dHJhY2UoY2FsbFN0YWNr
LmdldCgpKTsKICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7CiB9CisKK3Y4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOENvbnNvbGU6OmFzc2VydENhbGxiYWNrKGNvbnN0IHY4OjpBcmd1
bWVudHMmIGFyZ3MpCit7CisgICAgSU5DX1NUQVRTKCJET00uQ29uc29sZS5hc3NlcnRDYWxsYmFj
ayIpOworICAgIENvbnNvbGUqIGltcCA9IFY4Q29uc29sZTo6dG9OYXRpdmUoYXJncy5Ib2xkZXIo
KSk7CisgICAgT3duUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKFNjcmlwdENhbGxTdGFj
azo6Y3JlYXRlKGFyZ3MsIDEsIFNjcmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2Fw
dHVyZSkpOworICAgIGJvb2wgY29uZGl0aW9uID0gYXJnc1swXS0+Qm9vbGVhblZhbHVlKCk7Cisg
ICAgaW1wLT5hc3NlcnRDb25kaXRpb24oY29uZGl0aW9uLCBjYWxsU3RhY2suZ2V0KCkpOworICAg
IHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5j
cHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCA4NDFh
ZTVjMWRlZDY3MDVjMDdlZmE2NzkzOGY5YTJkYmQ5MWUyMjk0Li44ODc5YjhlOWJmYTNiYjg5ZjFm
NTE3NGJiOWJmMmY3ZGE4MDNiMDE2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmNwcApAQCAtMzQzLDcgKzM0Myw4IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6
YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUKICAg
ICBpZiAoIWVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgYWRkQ29uc29sZU1lc3Nh
Z2UoY2FsbFN0YWNrLT5zdGF0ZSgpLCBuZXcgQ29uc29sZU1lc3NhZ2Uoc291cmNlLCB0eXBlLCBs
ZXZlbCwgbWVzc2FnZSwgY2FsbFN0YWNrLCBtX2dyb3VwTGV2ZWwsIHR5cGUgPT0gVHJhY2VNZXNz
YWdlVHlwZSB8fCB0eXBlID09IFVuY2F1Z2h0RXhjZXB0aW9uTWVzc2FnZVR5cGUpKTsKKyAgICBi
b29sIHN0b3JlU3RhY2tUcmFjZSA9IHR5cGUgPT0gVHJhY2VNZXNzYWdlVHlwZSB8fCB0eXBlID09
IFVuY2F1Z2h0RXhjZXB0aW9uTWVzc2FnZVR5cGUgfHwgdHlwZSA9PSBBc3NlcnRNZXNzYWdlVHlw
ZTsKKyAgICBhZGRDb25zb2xlTWVzc2FnZShjYWxsU3RhY2stPnN0YXRlKCksIG5ldyBDb25zb2xl
TWVzc2FnZShzb3VyY2UsIHR5cGUsIGxldmVsLCBtZXNzYWdlLCBjYWxsU3RhY2ssIG1fZ3JvdXBM
ZXZlbCwgc3RvcmVTdGFja1RyYWNlKSk7CiB9CiAKIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6
YWRkTWVzc2FnZVRvQ29uc29sZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZVR5cGUgdHlw
ZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxp
bmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlSUQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvQ29uc29sZVZpZXcuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvQ29uc29sZVZpZXcuanMKaW5kZXggYjJkYTc3ZTE1MGYzYjA4NjZkZDA5NWQyMWQ3YzU3
MjQyN2Q2M2UwYy4uZDQxMTlhMTY1ZWI5MzA3YTRkY2ZkZDZiOGQwMDYwZDEzNjZiN2MyZCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NvbnNvbGVWaWV3LmpzCisrKyBi
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Db25zb2xlVmlldy5qcwpAQCAtNjcyLDYgKzY3
Miw3IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5wcm90b3R5cGUgPSB7CiAgICAgX2Zv
cm1hdE1lc3NhZ2U6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHN3aXRjaCAodGhpcy50eXBl
KSB7CisgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5NZXNzYWdl
VHlwZS5Bc3NlcnQ6CiAgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2Fn
ZS5NZXNzYWdlVHlwZS5UcmFjZToKICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLkNvbnNv
bGVNZXNzYWdlLk1lc3NhZ2VUeXBlLlVuY2F1Z2h0RXhjZXB0aW9uOgogICAgICAgICAgICAgICAg
IHZhciBvbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9sIik7CkBAIC02ODEsMTAgKzY4Miwx
OCBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UucHJvdG90eXBlID0gewogICAgICAgICAg
ICAgICAgIHZhciB0cmVlT3V0bGluZSA9IG5ldyBUcmVlT3V0bGluZShvbCk7CiAKICAgICAgICAg
ICAgICAgICB2YXIgcm9vdCA9IHRyZWVPdXRsaW5lOwotICAgICAgICAgICAgICAgIGlmICh0aGlz
LnR5cGUgPT09IFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5NZXNzYWdlVHlwZS5VbmNhdWdo
dEV4Y2VwdGlvbikgewotICAgICAgICAgICAgICAgICAgICB2YXIgbGkgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJsaSIpOwotICAgICAgICAgICAgICAgICAgICB0aGlzLl9hZGRNZXNzYWdlSGVh
ZGVyKGxpLCBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0aGlzLl9tZXNzYWdlVGV4dCkpOwotICAg
ICAgICAgICAgICAgICAgICByb290ID0gbmV3IFRyZWVFbGVtZW50KGxpLmlubmVySFRNTCwgbnVs
bCwgdHJ1ZSk7CisgICAgICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gV2ViSW5zcGVjdG9y
LkNvbnNvbGVNZXNzYWdlLk1lc3NhZ2VUeXBlLlVuY2F1Z2h0RXhjZXB0aW9uIHx8CisgICAgICAg
ICAgICAgICAgICAgIHRoaXMudHlwZSA9PT0gV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlLk1l
c3NhZ2VUeXBlLkFzc2VydCkgeworICAgICAgICAgICAgICAgICAgICB2YXIgbWVzc2FnZVRleHQ7
CisgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnR5cGUgPT09IFdlYkluc3BlY3Rvci5Db25z
b2xlTWVzc2FnZS5NZXNzYWdlVHlwZS5Bc3NlcnQpCisgICAgICAgICAgICAgICAgICAgICAgICBt
ZXNzYWdlVGV4dCA9IHRoaXMuX2Zvcm1hdCh0aGlzLl9wYXJhbWV0ZXJzKTsKKyAgICAgICAgICAg
ICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZVRleHQgPSBkb2N1
bWVudC5jcmVhdGVUZXh0Tm9kZSh0aGlzLl9tZXNzYWdlVGV4dCk7CisKKyAgICAgICAgICAgICAg
ICAgICAgdmFyIGNvbnRlbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKKyAgICAg
ICAgICAgICAgICAgICAgdGhpcy5fYWRkTWVzc2FnZUhlYWRlcihjb250ZW50LCBtZXNzYWdlVGV4
dCk7CisgICAgICAgICAgICAgICAgICAgIHJvb3QgPSBuZXcgVHJlZUVsZW1lbnQoY29udGVudCwg
bnVsbCwgdHJ1ZSk7CisgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQudHJlZUVsZW1lbnRGb3JU
ZXN0ID0gcm9vdDsKICAgICAgICAgICAgICAgICAgICAgdHJlZU91dGxpbmUuYXBwZW5kQ2hpbGQo
cm9vdCk7CiAgICAgICAgICAgICAgICAgfQogCkBAIC04NDEsNiArODUwLDcgQEAgV2ViSW5zcGVj
dG9yLkNvbnNvbGVNZXNzYWdlLnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogCiAgICAgICAgIGlm
ICh0aGlzLnR5cGUgPT09IFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5NZXNzYWdlVHlwZS5U
cmFjZSB8fAorICAgICAgICAgICAgdGhpcy50eXBlID09PSBXZWJJbnNwZWN0b3IuQ29uc29sZU1l
c3NhZ2UuTWVzc2FnZVR5cGUuQXNzZXJ0IHx8CiAgICAgICAgICAgICB0aGlzLnR5cGUgPT09IFdl
Ykluc3BlY3Rvci5Db25zb2xlTWVzc2FnZS5NZXNzYWdlVHlwZS5VbmNhdWdodEV4Y2VwdGlvbikK
ICAgICAgICAgICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5mb3JtYXR0ZWRNZXNzYWdlKTsK
ICAgICAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0NvbnNvbGUuaWRsIGIvV2Vi
Q29yZS9wYWdlL0NvbnNvbGUuaWRsCmluZGV4IGFkZGY2MzUwODM0YjU4MzBlYWFhZmM2NWVmYWUx
OGQ3MWE5ZDIwZWYuLjUyNTI4ZjE1ZTkzOTk1OWU4ZGMzMzNlMWJlNDM5ZWNiYjJiOGZkMDAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9Db25zb2xlLmlkbAorKysgYi9XZWJDb3JlL3BhZ2UvQ29u
c29sZS5pZGwKQEAgLTQyLDcgKzQyLDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIFtDdXN0
b21Bcmd1bWVudEhhbmRsaW5nXSB2b2lkIGRpcigpOwogICAgICAgICBbQ3VzdG9tQXJndW1lbnRI
YW5kbGluZ10gdm9pZCBkaXJ4bWwoKTsKICAgICAgICAgW1Y4Q3VzdG9tLCBDdXN0b21Bcmd1bWVu
dEhhbmRsaW5nXSB2b2lkIHRyYWNlKCk7Ci0gICAgICAgIFtDdXN0b21Bcmd1bWVudEhhbmRsaW5n
LCBJbXBsZW1lbnRhdGlvbkZ1bmN0aW9uPWFzc2VydENvbmRpdGlvbl0gdm9pZCBhc3NlcnQoaW4g
Ym9vbGVhbiBjb25kaXRpb24pOworICAgICAgICBbVjhDdXN0b20sIEN1c3RvbUFyZ3VtZW50SGFu
ZGxpbmcsIEltcGxlbWVudGF0aW9uRnVuY3Rpb249YXNzZXJ0Q29uZGl0aW9uXSB2b2lkIGFzc2Vy
dChpbiBib29sZWFuIGNvbmRpdGlvbik7CiAgICAgICAgIFtDdXN0b21Bcmd1bWVudEhhbmRsaW5n
XSB2b2lkIGNvdW50KCk7CiAgICAgICAgIFtDdXN0b21Bcmd1bWVudEhhbmRsaW5nXSB2b2lkIG1h
cmtUaW1lbGluZSgpOwogCg==
</data>
<flag name="review"
          id="50207"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>