<?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>149066</bug_id>
          
          <creation_ts>2015-09-11 08:13:42 -0700</creation_ts>
          <short_desc>REGRESSION(r189585): run-perf-tests Speedometer fails with a console error</short_desc>
          <delta_ts>2015-09-12 14:02:45 -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>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1125184</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-09-11 08:13:42 -0700</bug_when>
    <thetext>At r189585:

$ ./Tools/Scripts/run-perf-tests PerformanceTests/Speedometer/ ~/Desktop/speedometer.json 
Path was not found:/Users/rniwa/Desktop/speedometer.json
Running 1 tests
Running Speedometer/Full.html (1 of 1)
RESULT Speedometer: Full: Time= 5276.43625 ms
median= 5279.8225 ms, stdev= 54.5255277219 ms, min= 5151.865 ms, max= 5360.485 ms
Finished: 121.690676 s

At r189586:

$ ./Tools/Scripts/run-perf-tests PerformanceTests/Speedometer/ ~/Desktop/speedometer.json
Path was not found:/Users/rniwa/Desktop/speedometer.json
Running 1 tests
Running Speedometer/Full.html (1 of 1)
ERROR: CONSOLE MESSAGE: line 3285: Cannot call get with &apos;isDeleted&apos; on an undefined object.
FAILED
Finished: 29.483498 s</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125185</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-09-11 08:14:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/22661022&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125240</commentid>
    <comment_count>2</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-09-11 13:38:41 -0700</bug_when>
    <thetext>Looking at this now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125357</commentid>
    <comment_count>3</comment_count>
      <attachid>261047</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-09-11 23:10:37 -0700</bug_when>
    <thetext>Created attachment 261047
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125358</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-09-11 23:24:21 -0700</bug_when>
    <thetext>Test case:

//@ runMiscNoCJITTest(&quot;--useLLInt=false&quot;, &quot;--useDFGJIT=false&quot;)

function foo(o) {
    return o.i7;
}

var o = {};
for (var i = 0; i &lt; 100; ++i)
    o[&quot;i&quot; + i] = i;
for (var i = 0; i &lt; 100; i+=2)
    delete o[&quot;i&quot; + i];

for (var i = 0; i &lt; 100; ++i) {
    var result = foo(o);
    if (result != 7)
        throw &quot;Error: bad result: &quot; + result;
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125359</commentid>
    <comment_count>5</comment_count>
      <attachid>261048</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-09-11 23:41:47 -0700</bug_when>
    <thetext>Created attachment 261048
the patch

And now, with a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125378</commentid>
    <comment_count>6</comment_count>
      <attachid>261048</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-09-12 07:46:03 -0700</bug_when>
    <thetext>Comment on attachment 261048
the patch

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

&gt; Source/JavaScriptCore/jit/Repatch.cpp:214
&gt; +static bool forceICFailure(ExecState*)

Why the unused ExecState* parameter?

&gt; Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:289
&gt; +inline bool shouldJIT(ExecState* exec, CodeBlock*)

Why the unused CodeBlock* parameter?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125379</commentid>
    <comment_count>7</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-09-12 07:54:49 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Comment on attachment 261048 [details]
&gt; the patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=261048&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/jit/Repatch.cpp:214
&gt; &gt; +static bool forceICFailure(ExecState*)
&gt; 
&gt; Why the unused ExecState* parameter?
&gt; 
&gt; &gt; Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:289
&gt; &gt; +inline bool shouldJIT(ExecState* exec, CodeBlock*)
&gt; 
&gt; Why the unused CodeBlock* parameter?

So it&apos;s easier to insert bisecting code based on code block or the current code origin.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125381</commentid>
    <comment_count>8</comment_count>
      <attachid>261048</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-09-12 08:03:21 -0700</bug_when>
    <thetext>Comment on attachment 261048
the patch

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

r=me

&gt; Source/JavaScriptCore/ChangeLog:21
&gt; +        Debugging bugs like these requires adding ad hoc bisection code in various places. We already
&gt; +        had the basic hooks for this. This patch makes those hooks a bit more useful.

Add that the two unused parameter additions are for this reason.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125408</commentid>
    <comment_count>9</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-09-12 13:49:47 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Comment on attachment 261048 [details]
&gt; the patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=261048&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/JavaScriptCore/ChangeLog:21
&gt; &gt; +        Debugging bugs like these requires adding ad hoc bisection code in various places. We already
&gt; &gt; +        had the basic hooks for this. This patch makes those hooks a bit more useful.
&gt; 
&gt; Add that the two unused parameter additions are for this reason.

Done.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125412</commentid>
    <comment_count>10</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-09-12 14:02:45 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/189658</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261047</attachid>
            <date>2015-09-11 23:10:37 -0700</date>
            <delta_ts>2015-09-11 23:41:47 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>8136</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTg5NjQ5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBA
CisyMDE1LTA5LTExICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
UkVHUkVTU0lPTihyMTg5NTg1KTogcnVuLXBlcmYtdGVzdHMgU3BlZWRvbWV0ZXIgZmFpbHMgd2l0
aCBhIGNvbnNvbGUgZXJyb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0OTA2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSBidWcgaGVyZSB3YXMgdGhhdCB0aGUgbmV3IElDIGNvZGUgd2FzIGNhbGxp
bmcgYWN0aW9uRm9yQ2VsbCgpIG1vcmUgdGhhbiBvbmNlLiBUaGF0J3MKKyAgICAgICAgaWxsZWdh
bCwgc2luY2Ugd2hlbiBhY3Rpb25Gb3JDZWxsKCkgcmV0dXJucyBSZXRyeUNhY2hlTGF0ZXIsIGl0
IG1lYW5zIHRoYXQgaXQgY2hhbmdlZCBzb21lCisgICAgICAgIG9iamVjdCdzIFN0cnVjdHVyZS4g
VGhlIFJlcGF0Y2ggY29kZSB3YXMgZG9pbmcgdGhpbmdzIGxpa2UgImlmIChhY3Rpb25Gb3JDZWxs
KGJsYWgpID09CisgICAgICAgIEF0dGVtcHRUb0NhY2hlKSIgaW4gbW9yZSB0aGFuIG9uZSBwbGFj
ZSwgc28gdGhhdCBpZiB0aGUgZmlyc3Qgc3VjaCBleHByZXNzaW9uIHdhcyBmYWxzZSwgdGhlbgor
ICAgICAgICB3ZSdkIGZhbGwgdGhyb3VnaCB0byB0aGUgbmV4dCBvbmUuIEl0J3MgcG9zc2libGUg
Zm9yIHRoZSBmaXJzdCBjYWxsIHRvIHJldHVybiBSZXRyeUNhY2hlTGF0ZXIsCisgICAgICAgIGlu
IHdoaWNoIGNhc2Ugb3VyIHZpZXcgb2YgdGhlIHdvcmxkIGp1c3QgZ290IGNsb2JiZXJlZCBhbmQg
d2UgbmVlZCB0byByZXR1cm4sIGFuZCB0aGVuIHRoZQorICAgICAgICBzZWNvbmQgY2FsbCB3aWxs
IHByb2JhYmx5IHJldHVybiBBdHRlbXB0VG9DYWNoZSBiZWNhdXNlIGl0ICp0aGlua3MqIHRoYXQg
d2UgaGFkIGJhaWxlZCB0aGUgbGFzdAorICAgICAgICB0aW1lIGFuZCB3ZSdyZSBub3cgaW4gYSBm
dXR1cmUgSUMgaW52b2NhdGlvbi4KKworICAgICAgICBUaGUgc29sdXRpb24gaXMgdG8gY2FjaGUg
dGhlIGFjdGlvbkZvckNlbGwoKSByZXN1bHQuIFRoaXMgaXMgYSBiaXQgdHJpY2t5LCBiZWNhdXNl
IHdlIG5lZWQgdG8KKyAgICAgICAgZG8gdGhpcyBhZnRlciB3ZSBjaGVjayBpZiB3ZSdyZSBpbiBh
IHByb3h5LgorCisgICAgICAgIERlYnVnZ2luZyBidWdzIGxpa2UgdGhlc2UgcmVxdWlyZXMgYWRk
aW5nIGFkIGhvYyBiaXNlY3Rpb24gY29kZSBpbiB2YXJpb3VzIHBsYWNlcy4gV2UgYWxyZWFkeQor
ICAgICAgICBoYWQgdGhlIGJhc2ljIGhvb2tzIGZvciB0aGlzLiBUaGlzIHBhdGNoIG1ha2VzIHRo
b3NlIGhvb2tzIGEgYml0IG1vcmUgdXNlZnVsLgorCisgICAgICAgICogaml0L1JlcGF0Y2guY3Bw
OgorICAgICAgICAoSlNDOjphY3Rpb25Gb3JDZWxsKToKKyAgICAgICAgKEpTQzo6Zm9yY2VJQ0Zh
aWx1cmUpOgorICAgICAgICAoSlNDOjp0cnlDYWNoZUdldEJ5SUQpOgorICAgICAgICAoSlNDOjp0
cnlDYWNoZVB1dEJ5SUQpOgorICAgICAgICAoSlNDOjp0cnlSZXBhdGNoSW4pOgorICAgICAgICAq
IGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKEpTQzo6TExJbnQ6OnNob3VsZEpJ
VCk6CisgICAgICAgIChKU0M6OkxMSW50OjpqaXRDb21waWxlQW5kU2V0SGV1cmlzdGljcyk6Cisg
ICAgICAgIChKU0M6OkxMSW50OjplbnRyeU9TUik6CisgICAgICAgIChKU0M6OkxMSW50OjpMTElO
VF9TTE9XX1BBVEhfREVDTCk6CisKIDIwMTUtMDktMTEgIFN1a29sc2FrIFNha3NodXdvbmcgIDxz
dWtvbHNha0BnbWFpbC5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IHRoZSByZWxhdGlvbmFsIGlu
c3RydWN0aW9ucyBmb3IgZmxvYXRzIGluIFdlYkFzc2VtYmx5CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L1JlcGF0Y2guY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHJldmlzaW9uIDE4OTYyNikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxMSw5ICsyMTEsMTQg
QEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIGFjdGlvbkZvckNlbGwoVgogICAgIHJldHVybiBB
dHRlbXB0VG9DYWNoZTsKIH0KIAorc3RhdGljIGJvb2wgZm9yY2VJQ0ZhaWx1cmUoRXhlY1N0YXRl
KikKK3sKKyAgICByZXR1cm4gT3B0aW9uczo6Zm9yY2VJQ0ZhaWx1cmUoKTsKK30KKwogc3RhdGlj
IElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFs
dWUgYmFzZVZhbHVlLCBjb25zdCBJZGVudGlmaWVyJiBwcm9wZXJ0eU5hbWUsIGNvbnN0IFByb3Bl
cnR5U2xvdCYgc2xvdCwgU3RydWN0dXJlU3R1YkluZm8mIHN0dWJJbmZvKQogewotICAgIGlmIChP
cHRpb25zOjpmb3JjZUlDRmFpbHVyZSgpKQorICAgIGlmIChmb3JjZUlDRmFpbHVyZShleGVjKSkK
ICAgICAgICAgcmV0dXJuIEdpdmVVcE9uQ2FjaGU7CiAgICAgCiAgICAgLy8gRklYTUU6IENhY2hl
IHByb3BlcnR5IGFjY2VzcyBmb3IgaW1tZWRpYXRlcy4KQEAgLTIzNiwyMCArMjQxLDYgQEAgc3Rh
dGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hlR2V0QnlJRAogCiAgICAgICAgIEpTQ2VsbCog
YmFzZUNlbGwgPSBiYXNlVmFsdWUuYXNDZWxsKCk7CiAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0
dXJlID0gYmFzZUNlbGwtPnN0cnVjdHVyZSh2bSk7Ci0gICAgICAgIAotICAgICAgICAvLyBPcHRp
bWl6ZSBzZWxmIGFjY2Vzcy4KLSAgICAgICAgaWYgKHN0dWJJbmZvLmNhY2hlVHlwZSA9PSBDYWNo
ZVR5cGU6OlVuc2V0Ci0gICAgICAgICAgICAmJiBzbG90LmlzQ2FjaGVhYmxlVmFsdWUoKQotICAg
ICAgICAgICAgJiYgc2xvdC5zbG90QmFzZSgpID09IGJhc2VWYWx1ZQotICAgICAgICAgICAgJiYg
IXNsb3Qud2F0Y2hwb2ludFNldCgpCi0gICAgICAgICAgICAmJiBNYWNyb0Fzc2VtYmxlcjo6aXND
b21wYWN0UHRyQWxpZ25lZEFkZHJlc3NPZmZzZXQobWF4T2Zmc2V0UmVsYXRpdmVUb1BhdGNoZWRT
dG9yYWdlKHNsb3QuY2FjaGVkT2Zmc2V0KCkpKQotICAgICAgICAgICAgJiYgYWN0aW9uRm9yQ2Vs
bCh2bSwgYmFzZUNlbGwpID09IEF0dGVtcHRUb0NhY2hlCi0gICAgICAgICAgICAmJiAhc3RydWN0
dXJlLT5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkpIHsKLSAgICAgICAgICAgIHN0cnVj
dHVyZS0+c3RhcnRXYXRjaGluZ1Byb3BlcnR5Rm9yUmVwbGFjZW1lbnRzKHZtLCBzbG90LmNhY2hl
ZE9mZnNldCgpKTsKLSAgICAgICAgICAgIHJlcGF0Y2hCeUlkU2VsZkFjY2Vzcyhjb2RlQmxvY2ss
IHN0dWJJbmZvLCBzdHJ1Y3R1cmUsIHNsb3QuY2FjaGVkT2Zmc2V0KCksIG9wZXJhdGlvbkdldEJ5
SWRPcHRpbWl6ZSwgdHJ1ZSk7Ci0gICAgICAgICAgICBzdHViSW5mby5pbml0R2V0QnlJZFNlbGYo
dm0sIGNvZGVCbG9jay0+b3duZXJFeGVjdXRhYmxlKCksIHN0cnVjdHVyZSwgc2xvdC5jYWNoZWRP
ZmZzZXQoKSk7Ci0gICAgICAgICAgICByZXR1cm4gUmV0cnlDYWNoZUxhdGVyOwotICAgICAgICB9
CiAKICAgICAgICAgYm9vbCBsb2FkVGFyZ2V0RnJvbVByb3h5ID0gZmFsc2U7CiAgICAgICAgIGlm
IChiYXNlQ2VsbC0+dHlwZSgpID09IFB1cmVGb3J3YXJkaW5nUHJveHlUeXBlKSB7CkBAIC0yNjIs
NiArMjUzLDIxIEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKICAg
ICAgICAgSW5saW5lQ2FjaGVBY3Rpb24gYWN0aW9uID0gYWN0aW9uRm9yQ2VsbCh2bSwgYmFzZUNl
bGwpOwogICAgICAgICBpZiAoYWN0aW9uICE9IEF0dGVtcHRUb0NhY2hlKQogICAgICAgICAgICAg
cmV0dXJuIGFjdGlvbjsKKyAgICAgICAgCisgICAgICAgIC8vIE9wdGltaXplIHNlbGYgYWNjZXNz
LgorICAgICAgICBpZiAoc3R1YkluZm8uY2FjaGVUeXBlID09IENhY2hlVHlwZTo6VW5zZXQKKyAg
ICAgICAgICAgICYmIHNsb3QuaXNDYWNoZWFibGVWYWx1ZSgpCisgICAgICAgICAgICAmJiBzbG90
LnNsb3RCYXNlKCkgPT0gYmFzZVZhbHVlCisgICAgICAgICAgICAmJiAhc2xvdC53YXRjaHBvaW50
U2V0KCkKKyAgICAgICAgICAgICYmIE1hY3JvQXNzZW1ibGVyOjppc0NvbXBhY3RQdHJBbGlnbmVk
QWRkcmVzc09mZnNldChtYXhPZmZzZXRSZWxhdGl2ZVRvUGF0Y2hlZFN0b3JhZ2Uoc2xvdC5jYWNo
ZWRPZmZzZXQoKSkpCisgICAgICAgICAgICAmJiBhY3Rpb24gPT0gQXR0ZW1wdFRvQ2FjaGUKKyAg
ICAgICAgICAgICYmICFzdHJ1Y3R1cmUtPm5lZWRJbXB1cmVQcm9wZXJ0eVdhdGNocG9pbnQoKQor
ICAgICAgICAgICAgJiYgIWxvYWRUYXJnZXRGcm9tUHJveHkpIHsKKyAgICAgICAgICAgIHN0cnVj
dHVyZS0+c3RhcnRXYXRjaGluZ1Byb3BlcnR5Rm9yUmVwbGFjZW1lbnRzKHZtLCBzbG90LmNhY2hl
ZE9mZnNldCgpKTsKKyAgICAgICAgICAgIHJlcGF0Y2hCeUlkU2VsZkFjY2Vzcyhjb2RlQmxvY2ss
IHN0dWJJbmZvLCBzdHJ1Y3R1cmUsIHNsb3QuY2FjaGVkT2Zmc2V0KCksIG9wZXJhdGlvbkdldEJ5
SWRPcHRpbWl6ZSwgdHJ1ZSk7CisgICAgICAgICAgICBzdHViSW5mby5pbml0R2V0QnlJZFNlbGYo
dm0sIGNvZGVCbG9jay0+b3duZXJFeGVjdXRhYmxlKCksIHN0cnVjdHVyZSwgc2xvdC5jYWNoZWRP
ZmZzZXQoKSk7CisgICAgICAgICAgICByZXR1cm4gUmV0cnlDYWNoZUxhdGVyOworICAgICAgICB9
CiAKICAgICAgICAgUHJvcGVydHlPZmZzZXQgb2Zmc2V0ID0gc2xvdC5pc1Vuc2V0KCkgPyBpbnZh
bGlkT2Zmc2V0IDogc2xvdC5jYWNoZWRPZmZzZXQoKTsKICAgICAgICAgCkBAIC0zNDYsNyArMzUy
LDcgQEAgc3RhdGljIFZfSklUT3BlcmF0aW9uX0VTc2lKSkkgYXBwcm9wcmlhdAogCiBzdGF0aWMg
SW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVQdXRCeUlEKEV4ZWNTdGF0ZSogZXhlYywgSlNWYWx1
ZSBiYXNlVmFsdWUsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBjb25zdCBJZGVudGlmaWVyJiBpZGVu
dCwgY29uc3QgUHV0UHJvcGVydHlTbG90JiBzbG90LCBTdHJ1Y3R1cmVTdHViSW5mbyYgc3R1Yklu
Zm8sIFB1dEtpbmQgcHV0S2luZCkKIHsKLSAgICBpZiAoT3B0aW9uczo6Zm9yY2VJQ0ZhaWx1cmUo
KSkKKyAgICBpZiAoZm9yY2VJQ0ZhaWx1cmUoZXhlYykpCiAgICAgICAgIHJldHVybiBHaXZlVXBP
bkNhY2hlOwogICAgIAogICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29kZUJsb2Nr
KCk7CkBAIC0zNzIsNyArMzc4LDcgQEAgc3RhdGljIElubGluZUNhY2hlQWN0aW9uIHRyeUNhY2hl
UHV0QnlJRAogICAgICAgICAgICAgaWYgKHN0dWJJbmZvLmNhY2hlVHlwZSA9PSBDYWNoZVR5cGU6
OlVuc2V0CiAgICAgICAgICAgICAgICAgJiYgTWFjcm9Bc3NlbWJsZXI6OmlzUHRyQWxpZ25lZEFk
ZHJlc3NPZmZzZXQob2Zmc2V0VG9QYXRjaGVkU3RvcmFnZSkKICAgICAgICAgICAgICAgICAmJiAh
c3RydWN0dXJlLT5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkpIHsKLSAgICAgICAgICAg
ICAgICAKKwogICAgICAgICAgICAgICAgIHJlcGF0Y2hCeUlkU2VsZkFjY2VzcygKICAgICAgICAg
ICAgICAgICAgICAgY29kZUJsb2NrLCBzdHViSW5mbywgc3RydWN0dXJlLCBzbG90LmNhY2hlZE9m
ZnNldCgpLAogICAgICAgICAgICAgICAgICAgICBhcHByb3ByaWF0ZU9wdGltaXppbmdQdXRCeUlk
RnVuY3Rpb24oc2xvdCwgcHV0S2luZCksIGZhbHNlKTsKQEAgLTQ3MSw3ICs0NzcsNyBAQCBzdGF0
aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5UmVwYXRjaEluKAogICAgIEV4ZWNTdGF0ZSogZXhlYywg
SlNDZWxsKiBiYXNlLCBjb25zdCBJZGVudGlmaWVyJiBpZGVudCwgYm9vbCB3YXNGb3VuZCwKICAg
ICBjb25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QsIFN0cnVjdHVyZVN0dWJJbmZvJiBzdHViSW5mbykK
IHsKLSAgICBpZiAoT3B0aW9uczo6Zm9yY2VJQ0ZhaWx1cmUoKSkKKyAgICBpZiAoZm9yY2VJQ0Zh
aWx1cmUoZXhlYykpCiAgICAgICAgIHJldHVybiBHaXZlVXBPbkNhY2hlOwogICAgIAogICAgIGlm
ICghYmFzZS0+c3RydWN0dXJlKCktPnByb3BlcnR5QWNjZXNzZXNBcmVDYWNoZWFibGUoKSkKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAko
cmV2aXNpb24gMTg5NjI2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xv
d1BhdGhzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjg2LDcgKzI4Niw3IEBAIExMSU5UX1NMT1df
UEFUSF9ERUNMKHNwZWNpYWxfdHJhY2UpCiBlbnVtIEVudHJ5S2luZCB7IFByb2xvZ3VlLCBBcml0
eUNoZWNrIH07CiAKICNpZiBFTkFCTEUoSklUKQotaW5saW5lIGJvb2wgc2hvdWxkSklUKEV4ZWNT
dGF0ZSogZXhlYykKK2lubGluZSBib29sIHNob3VsZEpJVChFeGVjU3RhdGUqIGV4ZWMsIENvZGVC
bG9jayopCiB7CiAgICAgLy8gWW91IGNhbiBtb2RpZnkgdGhpcyB0byB0dXJuIG9mZiBKSVR0aW5n
IHdpdGhvdXQgcmVidWlsZGluZyB0aGUgd29ybGQuCiAgICAgcmV0dXJuIGV4ZWMtPnZtKCkuY2Fu
VXNlSklUKCk7CkBAIC0yOTksNyArMjk5LDcgQEAgaW5saW5lIGJvb2wgaml0Q29tcGlsZUFuZFNl
dEhldXJpc3RpY3MoQwogICAgIERlZmVyR0NGb3JBV2hpbGUgZGVmZXJHQyh2bS5oZWFwKTsgLy8g
TXkgY2FsbGVycyBkb24ndCBzZXQgdG9wIGNhbGxmcmFtZSwgc28gd2UgZG9uJ3Qgd2FudCB0byBH
QyBoZXJlIGF0IGFsbC4KICAgICAKICAgICBjb2RlQmxvY2stPnVwZGF0ZUFsbFZhbHVlUHJvZmls
ZVByZWRpY3Rpb25zKCk7Ci0gICAgCisKICAgICBpZiAoIWNvZGVCbG9jay0+Y2hlY2tJZkpJVFRo
cmVzaG9sZFJlYWNoZWQoKSkgewogICAgICAgICBpZiAoT3B0aW9uczo6dmVyYm9zZU9TUigpKQog
ICAgICAgICAgICAgZGF0YUxvZ0YoIiAgICBKSVQgdGhyZXNob2xkIHNob3VsZCBiZSBsaWZ0ZWQu
XG4iKTsKQEAgLTM0Nyw3ICszNDcsNyBAQCBzdGF0aWMgU2xvd1BhdGhSZXR1cm5UeXBlIGVudHJ5
T1NSKEV4ZWNTCiAgICAgICAgICAgICBjb2RlQmxvY2stPmxsaW50RXhlY3V0ZUNvdW50ZXIoKSwg
IlxuIik7CiAgICAgfQogICAgIAotICAgIGlmICghc2hvdWxkSklUKGV4ZWMpKSB7CisgICAgaWYg
KCFzaG91bGRKSVQoZXhlYywgY29kZUJsb2NrKSkgewogICAgICAgICBjb2RlQmxvY2stPmRvbnRK
SVRBbnl0aW1lU29vbigpOwogICAgICAgICBMTElOVF9SRVRVUk5fVFdPKDAsIDApOwogICAgIH0K
QEAgLTQwNSw3ICs0MDUsNyBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChsb29wX29zcikKICAgICAg
ICAgICAgIGNvZGVCbG9jay0+bGxpbnRFeGVjdXRlQ291bnRlcigpLCAiXG4iKTsKICAgICB9CiAg
ICAgCi0gICAgaWYgKCFzaG91bGRKSVQoZXhlYykpIHsKKyAgICBpZiAoIXNob3VsZEpJVChleGVj
LCBjb2RlQmxvY2spKSB7CiAgICAgICAgIGNvZGVCbG9jay0+ZG9udEpJVEFueXRpbWVTb29uKCk7
CiAgICAgICAgIExMSU5UX1JFVFVSTl9UV08oMCwgMCk7CiAgICAgfQpAQCAtNDQzLDcgKzQ0Myw3
IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHJlcGxhY2UpCiAgICAgICAgICAgICBjb2RlQmxvY2st
PmxsaW50RXhlY3V0ZUNvdW50ZXIoKSwgIlxuIik7CiAgICAgfQogICAgIAotICAgIGlmIChzaG91
bGRKSVQoZXhlYykpCisgICAgaWYgKHNob3VsZEpJVChleGVjLCBjb2RlQmxvY2spKQogICAgICAg
ICBqaXRDb21waWxlQW5kU2V0SGV1cmlzdGljcyhjb2RlQmxvY2ssIGV4ZWMpOwogICAgIGVsc2UK
ICAgICAgICAgY29kZUJsb2NrLT5kb250SklUQW55dGltZVNvb24oKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261048</attachid>
            <date>2015-09-11 23:41:47 -0700</date>
            <delta_ts>2015-09-12 08:03:21 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>8842</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTg5NjQ5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBA
CisyMDE1LTA5LTExICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
UkVHUkVTU0lPTihyMTg5NTg1KTogcnVuLXBlcmYtdGVzdHMgU3BlZWRvbWV0ZXIgZmFpbHMgd2l0
aCBhIGNvbnNvbGUgZXJyb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0OTA2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSBidWcgaGVyZSB3YXMgdGhhdCB0aGUgbmV3IElDIGNvZGUgd2FzIGNhbGxp
bmcgYWN0aW9uRm9yQ2VsbCgpIG1vcmUgdGhhbiBvbmNlLiBUaGF0J3MKKyAgICAgICAgaWxsZWdh
bCwgc2luY2Ugd2hlbiBhY3Rpb25Gb3JDZWxsKCkgcmV0dXJucyBSZXRyeUNhY2hlTGF0ZXIsIGl0
IG1lYW5zIHRoYXQgaXQgY2hhbmdlZCBzb21lCisgICAgICAgIG9iamVjdCdzIFN0cnVjdHVyZS4g
VGhlIFJlcGF0Y2ggY29kZSB3YXMgZG9pbmcgdGhpbmdzIGxpa2UgImlmIChhY3Rpb25Gb3JDZWxs
KGJsYWgpID09CisgICAgICAgIEF0dGVtcHRUb0NhY2hlKSIgaW4gbW9yZSB0aGFuIG9uZSBwbGFj
ZSwgc28gdGhhdCBpZiB0aGUgZmlyc3Qgc3VjaCBleHByZXNzaW9uIHdhcyBmYWxzZSwgdGhlbgor
ICAgICAgICB3ZSdkIGZhbGwgdGhyb3VnaCB0byB0aGUgbmV4dCBvbmUuIEl0J3MgcG9zc2libGUg
Zm9yIHRoZSBmaXJzdCBjYWxsIHRvIHJldHVybiBSZXRyeUNhY2hlTGF0ZXIsCisgICAgICAgIGlu
IHdoaWNoIGNhc2Ugb3VyIHZpZXcgb2YgdGhlIHdvcmxkIGp1c3QgZ290IGNsb2JiZXJlZCBhbmQg
d2UgbmVlZCB0byByZXR1cm4sIGFuZCB0aGVuIHRoZQorICAgICAgICBzZWNvbmQgY2FsbCB3aWxs
IHByb2JhYmx5IHJldHVybiBBdHRlbXB0VG9DYWNoZSBiZWNhdXNlIGl0ICp0aGlua3MqIHRoYXQg
d2UgaGFkIGJhaWxlZCB0aGUgbGFzdAorICAgICAgICB0aW1lIGFuZCB3ZSdyZSBub3cgaW4gYSBm
dXR1cmUgSUMgaW52b2NhdGlvbi4KKworICAgICAgICBUaGUgc29sdXRpb24gaXMgdG8gY2FjaGUg
dGhlIGFjdGlvbkZvckNlbGwoKSByZXN1bHQuIFRoaXMgaXMgYSBiaXQgdHJpY2t5LCBiZWNhdXNl
IHdlIG5lZWQgdG8KKyAgICAgICAgZG8gdGhpcyBhZnRlciB3ZSBjaGVjayBpZiB3ZSdyZSBpbiBh
IHByb3h5LgorCisgICAgICAgIERlYnVnZ2luZyBidWdzIGxpa2UgdGhlc2UgcmVxdWlyZXMgYWRk
aW5nIGFkIGhvYyBiaXNlY3Rpb24gY29kZSBpbiB2YXJpb3VzIHBsYWNlcy4gV2UgYWxyZWFkeQor
ICAgICAgICBoYWQgdGhlIGJhc2ljIGhvb2tzIGZvciB0aGlzLiBUaGlzIHBhdGNoIG1ha2VzIHRo
b3NlIGhvb2tzIGEgYml0IG1vcmUgdXNlZnVsLgorCisgICAgICAgICogaml0L1JlcGF0Y2guY3Bw
OgorICAgICAgICAoSlNDOjphY3Rpb25Gb3JDZWxsKToKKyAgICAgICAgKEpTQzo6Zm9yY2VJQ0Zh
aWx1cmUpOgorICAgICAgICAoSlNDOjp0cnlDYWNoZUdldEJ5SUQpOgorICAgICAgICAoSlNDOjp0
cnlDYWNoZVB1dEJ5SUQpOgorICAgICAgICAoSlNDOjp0cnlSZXBhdGNoSW4pOgorICAgICAgICAq
IGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKEpTQzo6TExJbnQ6OnNob3VsZEpJ
VCk6CisgICAgICAgIChKU0M6OkxMSW50OjpqaXRDb21waWxlQW5kU2V0SGV1cmlzdGljcyk6Cisg
ICAgICAgIChKU0M6OkxMSW50OjplbnRyeU9TUik6CisgICAgICAgIChKU0M6OkxMSW50OjpMTElO
VF9TTE9XX1BBVEhfREVDTCk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL3JldHJ5LWNhY2hlLWxh
dGVyLmpzOgorCiAyMDE1LTA5LTExICBTdWtvbHNhayBTYWtzaHV3b25nICA8c3Vrb2xzYWtAZ21h
aWwuY29tPgogCiAgICAgICAgIEltcGxlbWVudCB0aGUgcmVsYXRpb25hbCBpbnN0cnVjdGlvbnMg
Zm9yIGZsb2F0cyBpbiBXZWJBc3NlbWJseQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9SZXBhdGNoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1Jl
cGF0Y2guY3BwCShyZXZpc2lvbiAxODk2MjYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L1JlcGF0Y2guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTEsOSArMjExLDE0IEBAIHN0YXRpYyBJ
bmxpbmVDYWNoZUFjdGlvbiBhY3Rpb25Gb3JDZWxsKFYKICAgICByZXR1cm4gQXR0ZW1wdFRvQ2Fj
aGU7CiB9CiAKK3N0YXRpYyBib29sIGZvcmNlSUNGYWlsdXJlKEV4ZWNTdGF0ZSopCit7CisgICAg
cmV0dXJuIE9wdGlvbnM6OmZvcmNlSUNGYWlsdXJlKCk7Cit9CisKIHN0YXRpYyBJbmxpbmVDYWNo
ZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1
ZSwgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNs
b3QsIFN0cnVjdHVyZVN0dWJJbmZvJiBzdHViSW5mbykKIHsKLSAgICBpZiAoT3B0aW9uczo6Zm9y
Y2VJQ0ZhaWx1cmUoKSkKKyAgICBpZiAoZm9yY2VJQ0ZhaWx1cmUoZXhlYykpCiAgICAgICAgIHJl
dHVybiBHaXZlVXBPbkNhY2hlOwogICAgIAogICAgIC8vIEZJWE1FOiBDYWNoZSBwcm9wZXJ0eSBh
Y2Nlc3MgZm9yIGltbWVkaWF0ZXMuCkBAIC0yMzYsMjAgKzI0MSw2IEBAIHN0YXRpYyBJbmxpbmVD
YWNoZUFjdGlvbiB0cnlDYWNoZUdldEJ5SUQKIAogICAgICAgICBKU0NlbGwqIGJhc2VDZWxsID0g
YmFzZVZhbHVlLmFzQ2VsbCgpOwogICAgICAgICBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGJhc2VD
ZWxsLT5zdHJ1Y3R1cmUodm0pOwotICAgICAgICAKLSAgICAgICAgLy8gT3B0aW1pemUgc2VsZiBh
Y2Nlc3MuCi0gICAgICAgIGlmIChzdHViSW5mby5jYWNoZVR5cGUgPT0gQ2FjaGVUeXBlOjpVbnNl
dAotICAgICAgICAgICAgJiYgc2xvdC5pc0NhY2hlYWJsZVZhbHVlKCkKLSAgICAgICAgICAgICYm
IHNsb3Quc2xvdEJhc2UoKSA9PSBiYXNlVmFsdWUKLSAgICAgICAgICAgICYmICFzbG90LndhdGNo
cG9pbnRTZXQoKQotICAgICAgICAgICAgJiYgTWFjcm9Bc3NlbWJsZXI6OmlzQ29tcGFjdFB0ckFs
aWduZWRBZGRyZXNzT2Zmc2V0KG1heE9mZnNldFJlbGF0aXZlVG9QYXRjaGVkU3RvcmFnZShzbG90
LmNhY2hlZE9mZnNldCgpKSkKLSAgICAgICAgICAgICYmIGFjdGlvbkZvckNlbGwodm0sIGJhc2VD
ZWxsKSA9PSBBdHRlbXB0VG9DYWNoZQotICAgICAgICAgICAgJiYgIXN0cnVjdHVyZS0+bmVlZElt
cHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKSB7Ci0gICAgICAgICAgICBzdHJ1Y3R1cmUtPnN0YXJ0
V2F0Y2hpbmdQcm9wZXJ0eUZvclJlcGxhY2VtZW50cyh2bSwgc2xvdC5jYWNoZWRPZmZzZXQoKSk7
Ci0gICAgICAgICAgICByZXBhdGNoQnlJZFNlbGZBY2Nlc3MoY29kZUJsb2NrLCBzdHViSW5mbywg
c3RydWN0dXJlLCBzbG90LmNhY2hlZE9mZnNldCgpLCBvcGVyYXRpb25HZXRCeUlkT3B0aW1pemUs
IHRydWUpOwotICAgICAgICAgICAgc3R1YkluZm8uaW5pdEdldEJ5SWRTZWxmKHZtLCBjb2RlQmxv
Y2stPm93bmVyRXhlY3V0YWJsZSgpLCBzdHJ1Y3R1cmUsIHNsb3QuY2FjaGVkT2Zmc2V0KCkpOwot
ICAgICAgICAgICAgcmV0dXJuIFJldHJ5Q2FjaGVMYXRlcjsKLSAgICAgICAgfQogCiAgICAgICAg
IGJvb2wgbG9hZFRhcmdldEZyb21Qcm94eSA9IGZhbHNlOwogICAgICAgICBpZiAoYmFzZUNlbGwt
PnR5cGUoKSA9PSBQdXJlRm9yd2FyZGluZ1Byb3h5VHlwZSkgewpAQCAtMjYyLDYgKzI1MywyMSBA
QCBzdGF0aWMgSW5saW5lQ2FjaGVBY3Rpb24gdHJ5Q2FjaGVHZXRCeUlECiAgICAgICAgIElubGlu
ZUNhY2hlQWN0aW9uIGFjdGlvbiA9IGFjdGlvbkZvckNlbGwodm0sIGJhc2VDZWxsKTsKICAgICAg
ICAgaWYgKGFjdGlvbiAhPSBBdHRlbXB0VG9DYWNoZSkKICAgICAgICAgICAgIHJldHVybiBhY3Rp
b247CisgICAgICAgIAorICAgICAgICAvLyBPcHRpbWl6ZSBzZWxmIGFjY2Vzcy4KKyAgICAgICAg
aWYgKHN0dWJJbmZvLmNhY2hlVHlwZSA9PSBDYWNoZVR5cGU6OlVuc2V0CisgICAgICAgICAgICAm
JiBzbG90LmlzQ2FjaGVhYmxlVmFsdWUoKQorICAgICAgICAgICAgJiYgc2xvdC5zbG90QmFzZSgp
ID09IGJhc2VWYWx1ZQorICAgICAgICAgICAgJiYgIXNsb3Qud2F0Y2hwb2ludFNldCgpCisgICAg
ICAgICAgICAmJiBNYWNyb0Fzc2VtYmxlcjo6aXNDb21wYWN0UHRyQWxpZ25lZEFkZHJlc3NPZmZz
ZXQobWF4T2Zmc2V0UmVsYXRpdmVUb1BhdGNoZWRTdG9yYWdlKHNsb3QuY2FjaGVkT2Zmc2V0KCkp
KQorICAgICAgICAgICAgJiYgYWN0aW9uID09IEF0dGVtcHRUb0NhY2hlCisgICAgICAgICAgICAm
JiAhc3RydWN0dXJlLT5uZWVkSW1wdXJlUHJvcGVydHlXYXRjaHBvaW50KCkKKyAgICAgICAgICAg
ICYmICFsb2FkVGFyZ2V0RnJvbVByb3h5KSB7CisgICAgICAgICAgICBzdHJ1Y3R1cmUtPnN0YXJ0
V2F0Y2hpbmdQcm9wZXJ0eUZvclJlcGxhY2VtZW50cyh2bSwgc2xvdC5jYWNoZWRPZmZzZXQoKSk7
CisgICAgICAgICAgICByZXBhdGNoQnlJZFNlbGZBY2Nlc3MoY29kZUJsb2NrLCBzdHViSW5mbywg
c3RydWN0dXJlLCBzbG90LmNhY2hlZE9mZnNldCgpLCBvcGVyYXRpb25HZXRCeUlkT3B0aW1pemUs
IHRydWUpOworICAgICAgICAgICAgc3R1YkluZm8uaW5pdEdldEJ5SWRTZWxmKHZtLCBjb2RlQmxv
Y2stPm93bmVyRXhlY3V0YWJsZSgpLCBzdHJ1Y3R1cmUsIHNsb3QuY2FjaGVkT2Zmc2V0KCkpOwor
ICAgICAgICAgICAgcmV0dXJuIFJldHJ5Q2FjaGVMYXRlcjsKKyAgICAgICAgfQogCiAgICAgICAg
IFByb3BlcnR5T2Zmc2V0IG9mZnNldCA9IHNsb3QuaXNVbnNldCgpID8gaW52YWxpZE9mZnNldCA6
IHNsb3QuY2FjaGVkT2Zmc2V0KCk7CiAgICAgICAgIApAQCAtMzQ2LDcgKzM1Miw3IEBAIHN0YXRp
YyBWX0pJVE9wZXJhdGlvbl9FU3NpSkpJIGFwcHJvcHJpYXQKIAogc3RhdGljIElubGluZUNhY2hl
QWN0aW9uIHRyeUNhY2hlUHV0QnlJRChFeGVjU3RhdGUqIGV4ZWMsIEpTVmFsdWUgYmFzZVZhbHVl
LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIGNvbnN0IFB1
dFByb3BlcnR5U2xvdCYgc2xvdCwgU3RydWN0dXJlU3R1YkluZm8mIHN0dWJJbmZvLCBQdXRLaW5k
IHB1dEtpbmQpCiB7Ci0gICAgaWYgKE9wdGlvbnM6OmZvcmNlSUNGYWlsdXJlKCkpCisgICAgaWYg
KGZvcmNlSUNGYWlsdXJlKGV4ZWMpKQogICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKICAg
ICAKICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOwpAQCAtMzcy
LDcgKzM3OCw3IEBAIHN0YXRpYyBJbmxpbmVDYWNoZUFjdGlvbiB0cnlDYWNoZVB1dEJ5SUQKICAg
ICAgICAgICAgIGlmIChzdHViSW5mby5jYWNoZVR5cGUgPT0gQ2FjaGVUeXBlOjpVbnNldAogICAg
ICAgICAgICAgICAgICYmIE1hY3JvQXNzZW1ibGVyOjppc1B0ckFsaWduZWRBZGRyZXNzT2Zmc2V0
KG9mZnNldFRvUGF0Y2hlZFN0b3JhZ2UpCiAgICAgICAgICAgICAgICAgJiYgIXN0cnVjdHVyZS0+
bmVlZEltcHVyZVByb3BlcnR5V2F0Y2hwb2ludCgpKSB7Ci0gICAgICAgICAgICAgICAgCisKICAg
ICAgICAgICAgICAgICByZXBhdGNoQnlJZFNlbGZBY2Nlc3MoCiAgICAgICAgICAgICAgICAgICAg
IGNvZGVCbG9jaywgc3R1YkluZm8sIHN0cnVjdHVyZSwgc2xvdC5jYWNoZWRPZmZzZXQoKSwKICAg
ICAgICAgICAgICAgICAgICAgYXBwcm9wcmlhdGVPcHRpbWl6aW5nUHV0QnlJZEZ1bmN0aW9uKHNs
b3QsIHB1dEtpbmQpLCBmYWxzZSk7CkBAIC00NzEsNyArNDc3LDcgQEAgc3RhdGljIElubGluZUNh
Y2hlQWN0aW9uIHRyeVJlcGF0Y2hJbigKICAgICBFeGVjU3RhdGUqIGV4ZWMsIEpTQ2VsbCogYmFz
ZSwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQsIGJvb2wgd2FzRm91bmQsCiAgICAgY29uc3QgUHJv
cGVydHlTbG90JiBzbG90LCBTdHJ1Y3R1cmVTdHViSW5mbyYgc3R1YkluZm8pCiB7Ci0gICAgaWYg
KE9wdGlvbnM6OmZvcmNlSUNGYWlsdXJlKCkpCisgICAgaWYgKGZvcmNlSUNGYWlsdXJlKGV4ZWMp
KQogICAgICAgICByZXR1cm4gR2l2ZVVwT25DYWNoZTsKICAgICAKICAgICBpZiAoIWJhc2UtPnN0
cnVjdHVyZSgpLT5wcm9wZXJ0eUFjY2Vzc2VzQXJlQ2FjaGVhYmxlKCkpCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAJKHJldmlzaW9uIDE4
OTYyNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI4Niw3ICsyODYsNyBAQCBMTElOVF9TTE9XX1BBVEhfREVDTChz
cGVjaWFsX3RyYWNlKQogZW51bSBFbnRyeUtpbmQgeyBQcm9sb2d1ZSwgQXJpdHlDaGVjayB9Owog
CiAjaWYgRU5BQkxFKEpJVCkKLWlubGluZSBib29sIHNob3VsZEpJVChFeGVjU3RhdGUqIGV4ZWMp
CitpbmxpbmUgYm9vbCBzaG91bGRKSVQoRXhlY1N0YXRlKiBleGVjLCBDb2RlQmxvY2sqKQogewog
ICAgIC8vIFlvdSBjYW4gbW9kaWZ5IHRoaXMgdG8gdHVybiBvZmYgSklUdGluZyB3aXRob3V0IHJl
YnVpbGRpbmcgdGhlIHdvcmxkLgogICAgIHJldHVybiBleGVjLT52bSgpLmNhblVzZUpJVCgpOwpA
QCAtMjk5LDcgKzI5OSw3IEBAIGlubGluZSBib29sIGppdENvbXBpbGVBbmRTZXRIZXVyaXN0aWNz
KEMKICAgICBEZWZlckdDRm9yQVdoaWxlIGRlZmVyR0Modm0uaGVhcCk7IC8vIE15IGNhbGxlcnMg
ZG9uJ3Qgc2V0IHRvcCBjYWxsZnJhbWUsIHNvIHdlIGRvbid0IHdhbnQgdG8gR0MgaGVyZSBhdCBh
bGwuCiAgICAgCiAgICAgY29kZUJsb2NrLT51cGRhdGVBbGxWYWx1ZVByb2ZpbGVQcmVkaWN0aW9u
cygpOwotICAgIAorCiAgICAgaWYgKCFjb2RlQmxvY2stPmNoZWNrSWZKSVRUaHJlc2hvbGRSZWFj
aGVkKCkpIHsKICAgICAgICAgaWYgKE9wdGlvbnM6OnZlcmJvc2VPU1IoKSkKICAgICAgICAgICAg
IGRhdGFMb2dGKCIgICAgSklUIHRocmVzaG9sZCBzaG91bGQgYmUgbGlmdGVkLlxuIik7CkBAIC0z
NDcsNyArMzQ3LDcgQEAgc3RhdGljIFNsb3dQYXRoUmV0dXJuVHlwZSBlbnRyeU9TUihFeGVjUwog
ICAgICAgICAgICAgY29kZUJsb2NrLT5sbGludEV4ZWN1dGVDb3VudGVyKCksICJcbiIpOwogICAg
IH0KICAgICAKLSAgICBpZiAoIXNob3VsZEpJVChleGVjKSkgeworICAgIGlmICghc2hvdWxkSklU
KGV4ZWMsIGNvZGVCbG9jaykpIHsKICAgICAgICAgY29kZUJsb2NrLT5kb250SklUQW55dGltZVNv
b24oKTsKICAgICAgICAgTExJTlRfUkVUVVJOX1RXTygwLCAwKTsKICAgICB9CkBAIC00MDUsNyAr
NDA1LDcgQEAgTExJTlRfU0xPV19QQVRIX0RFQ0wobG9vcF9vc3IpCiAgICAgICAgICAgICBjb2Rl
QmxvY2stPmxsaW50RXhlY3V0ZUNvdW50ZXIoKSwgIlxuIik7CiAgICAgfQogICAgIAotICAgIGlm
ICghc2hvdWxkSklUKGV4ZWMpKSB7CisgICAgaWYgKCFzaG91bGRKSVQoZXhlYywgY29kZUJsb2Nr
KSkgewogICAgICAgICBjb2RlQmxvY2stPmRvbnRKSVRBbnl0aW1lU29vbigpOwogICAgICAgICBM
TElOVF9SRVRVUk5fVFdPKDAsIDApOwogICAgIH0KQEAgLTQ0Myw3ICs0NDMsNyBAQCBMTElOVF9T
TE9XX1BBVEhfREVDTChyZXBsYWNlKQogICAgICAgICAgICAgY29kZUJsb2NrLT5sbGludEV4ZWN1
dGVDb3VudGVyKCksICJcbiIpOwogICAgIH0KICAgICAKLSAgICBpZiAoc2hvdWxkSklUKGV4ZWMp
KQorICAgIGlmIChzaG91bGRKSVQoZXhlYywgY29kZUJsb2NrKSkKICAgICAgICAgaml0Q29tcGls
ZUFuZFNldEhldXJpc3RpY3MoY29kZUJsb2NrLCBleGVjKTsKICAgICBlbHNlCiAgICAgICAgIGNv
ZGVCbG9jay0+ZG9udEpJVEFueXRpbWVTb29uKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL3JldHJ5LWNhY2hlLWxhdGVyLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvcmV0cnktY2FjaGUtbGF0ZXIuanMJKHJldmlz
aW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3JldHJ5LWNhY2hl
LWxhdGVyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTggQEAKKy8vQCBydW5NaXNjTm9D
SklUVGVzdCgiLS11c2VMTEludD1mYWxzZSIsICItLXVzZURGR0pJVD1mYWxzZSIpCisKK2Z1bmN0
aW9uIGZvbyhvKSB7CisgICAgcmV0dXJuIG8uaTc7Cit9CisKK3ZhciBvID0ge307Citmb3IgKHZh
ciBpID0gMDsgaSA8IDEwMDsgKytpKQorICAgIG9bImkiICsgaV0gPSBpOworZm9yICh2YXIgaSA9
IDA7IGkgPCAxMDA7IGkrPTIpCisgICAgZGVsZXRlIG9bImkiICsgaV07CisKK2ZvciAodmFyIGkg
PSAwOyBpIDwgMTAwOyArK2kpIHsKKyAgICB2YXIgcmVzdWx0ID0gZm9vKG8pOworICAgIGlmIChy
ZXN1bHQgIT0gNykKKyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgcmVzdWx0OiAiICsgcmVzdWx0
OworfQorCg==
</data>
<flag name="review"
          id="286245"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>