<?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>141070</bug_id>
          
          <creation_ts>2015-01-29 23:19:35 -0800</creation_ts>
          <short_desc>Crash in uninitialized deconstructing variable.</short_desc>
          <delta_ts>2015-02-05 00:59:45 -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>JavaScriptCore</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>135545</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Han Choongwoo">cwhan.tunz</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1065504</commentid>
    <comment_count>0</comment_count>
    <who name="Han Choongwoo">cwhan.tunz</who>
    <bug_when>2015-01-29 23:19:35 -0800</bug_when>
    <thetext>I think this bug is related with https://bugs.webkit.org/show_bug.cgi?id=135545
variable declarations with no initializer, something like &apos;var {A};&apos; or &apos;var [A];&apos;, make crash.
these declarations also need AST nodes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065506</commentid>
    <comment_count>1</comment_count>
    <who name="Han Choongwoo">cwhan.tunz</who>
    <bug_when>2015-01-29 23:23:08 -0800</bug_when>
    <thetext>found with afl-fuzz</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065508</commentid>
    <comment_count>2</comment_count>
      <attachid>245698</attachid>
    <who name="Han Choongwoo">cwhan.tunz</who>
    <bug_when>2015-01-29 23:25:05 -0800</bug_when>
    <thetext>Created attachment 245698
Patch

maybe enable profiling would be needed..
I don&apos;t know.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065511</commentid>
    <comment_count>3</comment_count>
      <attachid>245699</attachid>
    <who name="Han Choongwoo">cwhan.tunz</who>
    <bug_when>2015-01-29 23:35:16 -0800</bug_when>
    <thetext>Created attachment 245699
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065593</commentid>
    <comment_count>4</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-01-30 10:42:31 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; I think this bug is related with
&gt; https://bugs.webkit.org/show_bug.cgi?id=135545
&gt; variable declarations with no initializer, something like &apos;var {A};&apos; or &apos;var
&gt; [A];&apos;, make crash.
&gt; these declarations also need AST nodes.

Is it valid ES6 syntax to do something like:

var {foo};
foo = 20;

?

I&apos;m not sure what the spec says for things like this. Looking it up now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065604</commentid>
    <comment_count>5</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-01-30 11:26:44 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; I think this bug is related with
&gt; https://bugs.webkit.org/show_bug.cgi?id=135545
&gt; variable declarations with no initializer, something like &apos;var {A};&apos; or &apos;var
&gt; [A];&apos;, make crash.
&gt; these declarations also need AST nodes.

From reading the spec, I don&apos;t think this is valid. If you refer to section 13.2.2, it says that all BindingPattern nodes inside a variable declaration must have an accompanying initializer. That said, JSC should definitely not crash on this. We should raise a parsing error.

I think this can be fixed inside Parser::parseVarDeclarationList on line 489+ by raising a parse error for any deconstruction pattern node that does not contain a rhs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065611</commentid>
    <comment_count>6</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-01-30 12:08:49 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #0)
&gt; &gt; I think this bug is related with
&gt; &gt; https://bugs.webkit.org/show_bug.cgi?id=135545
&gt; &gt; variable declarations with no initializer, something like &apos;var {A};&apos; or &apos;var
&gt; &gt; [A];&apos;, make crash.
&gt; &gt; these declarations also need AST nodes.
&gt; 
&gt; From reading the spec, I don&apos;t think this is valid. If you refer to section
&gt; 13.2.2, it says that all BindingPattern nodes inside a variable declaration
&gt; must have an accompanying initializer. That said, JSC should definitely not
&gt; crash on this. We should raise a parsing error.
&gt; 
&gt; I think this can be fixed inside Parser::parseVarDeclarationList on line
&gt; 489+ by raising a parse error for any deconstruction pattern node that does
&gt; not contain a rhs.

It&apos;s actually not this easy. parseVarDeclarationList is used both in for statements and in variable declaration statements. This is somewhat unfortunate, anyways, it should be legal to do:
for (var {x} of arr) ...
but not:
var {x};</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065624</commentid>
    <comment_count>7</comment_count>
      <attachid>245734</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-01-30 13:03:28 -0800</bug_when>
    <thetext>Created attachment 245734
patch

A patch like this should do the trick. It&apos;s a bit ugly though passing a flag into parseVarDeclarationList</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065644</commentid>
    <comment_count>8</comment_count>
      <attachid>245734</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-01-30 14:08:48 -0800</bug_when>
    <thetext>Comment on attachment 245734
patch

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

&gt; Source/JavaScriptCore/parser/Parser.cpp:381
&gt; +    TreeExpression varDecls = parseVarDeclarationList(context, scratch, scratch1, scratch2, scratch3, scratch3, scratch3, false);

When we write code like this, we either use an enumeration or we explicitly assign the boolean value to a named local variable. Otherwise, it&apos;s hard to know what the parameter means.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065656</commentid>
    <comment_count>9</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-01-30 14:31:35 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Comment on attachment 245734 [details]
&gt; patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=245734&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/parser/Parser.cpp:381
&gt; &gt; +    TreeExpression varDecls = parseVarDeclarationList(context, scratch, scratch1, scratch2, scratch3, scratch3, scratch3, false);
&gt; 
&gt; When we write code like this, we either use an enumeration or we explicitly
&gt; assign the boolean value to a named local variable. Otherwise, it&apos;s hard to
&gt; know what the parameter means.

Yeah, agreed. I&apos;ll make it into an enum, it seems cleanest that way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065833</commentid>
    <comment_count>10</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-01-31 10:36:06 -0800</bug_when>
    <thetext>I forgot to link to the spec section I was referring to:

https://people.mozilla.org/~jorendorff/es6-draft.html#sec-variable-statement</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065837</commentid>
    <comment_count>11</comment_count>
      <attachid>245787</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-01-31 10:51:05 -0800</bug_when>
    <thetext>Created attachment 245787
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066543</commentid>
    <comment_count>12</comment_count>
      <attachid>245787</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-02-03 13:15:11 -0800</bug_when>
    <thetext>Comment on attachment 245787
patch

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

&gt; Source/JavaScriptCore/ChangeLog:10
&gt; +        statement, the assignment must have also right hand side value.

Typo:
*the assignment must also have a right hand side value*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1066563</commentid>
    <comment_count>13</comment_count>
      <attachid>245787</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-02-03 14:11:50 -0800</bug_when>
    <thetext>Comment on attachment 245787
patch

r=me with your ChangeLog change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067062</commentid>
    <comment_count>14</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-02-05 00:59:45 -0800</bug_when>
    <thetext>landed in:
http://trac.webkit.org/changeset/179682</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245698</attachid>
            <date>2015-01-29 23:25:05 -0800</date>
            <delta_ts>2015-01-29 23:35:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>jsc_crash3.patch</filename>
            <type>text/plain</type>
            <size>9008</size>
            <attacher name="Han Choongwoo">cwhan.tunz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTc5Mzk0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBA
CisyMDE1LTAxLTI5ICBIYW4gQ2hvb25nd29vICA8Y3doYW4udHVuekBnbWFpbC5jb20+CisKKyAg
ICAgICAgQ3Jhc2ggaW4gdW5pbml0aWFsaXplZCBkZWNvbnN0cnVjdGluZyB2YXJpYWJsZS4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MTA3MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEkgdGhpbmsgdGhp
cyBidWcgaXMgcmVsYXRlZCB3aXRoIGJ1ZyAxMzU1NDUKKyAgICAgICAgdmFyaWFibGUgZGVjbGFy
YXRpb25zIHdpdGggbm8gaW5pdGlhbGl6ZXIsIHNvbWV0aGluZyBsaWtlICd2YXIge0F9OycKKyAg
ICAgICAgb3IgJ3ZhciBbQV07JywgbWFrZSBjcmFzaC4KKyAgICAgICAgdGhlc2UgZGVjbGFyYXRp
b25zIGFsc28gbmVlZCBBU1Qgbm9kZXMuCisKKyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9kZXND
b2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6RGVjb25zdHJ1Y3RpbmdFbXB0eU5vZGU6OmVtaXRC
eXRlY29kZSk6CisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAgICAgICAgKEpTQzo6
QVNUQnVpbGRlcjo6Y3JlYXRlRGVjb25zdHJ1Y3RpbmdFbXB0eSk6CisgICAgICAgICogcGFyc2Vy
L05vZGVDb25zdHJ1Y3RvcnMuaDoKKyAgICAgICAgKEpTQzo6RGVjb25zdHJ1Y3RpbmdFbXB0eU5v
ZGU6OkRlY29uc3RydWN0aW5nRW1wdHlOb2RlKToKKyAgICAgICAgKiBwYXJzZXIvTm9kZXMuaDoK
KyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVy
VHlwZT46OnBhcnNlVmFyRGVjbGFyYXRpb25MaXN0KToKKyAgICAgICAgKiBwYXJzZXIvU3ludGF4
Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpvcGVyYXRvclN0YWNrUG9w
KToKKwogMjAxNS0wMS0yOSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE3OTM1NyBhbmQgcjE3OTM1OC4K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVz
Q29kZWdlbi5jcHAJKHJldmlzaW9uIDE3OTM5MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjc3OCw3ICsy
Nzc4LDE3IEBAIFJlZ2lzdGVySUQqIENsYXNzRXhwck5vZGU6OmVtaXRCeXRlY29kZSgKICAgICBy
ZXR1cm4gZ2VuZXJhdG9yLm1vdmVUb0Rlc3RpbmF0aW9uSWZOZWVkZWQoZHN0LCBjb25zdHJ1Y3Rv
ci5nZXQoKSk7CiB9CiAjZW5kaWYKLSAgICAKKworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0gRGVjb25zdHJ1Y3RpbmdFbXB0eU5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisK
K1JlZ2lzdGVySUQqIERlY29uc3RydWN0aW5nRW1wdHlOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNv
ZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCopCit7CisgICAgLy8gVE9ETzogZW5h
YmxlIHByb2ZpbGluZyAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEz
NTU0NSkKKworICAgIC8vIEl0J3Mgc2FmZSB0byByZXR1cm4gbnVsbCBoZXJlIGJlY2F1c2UgdGhp
cyBub2RlIHdpbGwgYWx3YXlzIGJlIGEgY2hpbGQgbm9kZSBvZiBWYXJTdGF0ZW1lbnROb2RlIHdo
aWNoIGlnbm9yZXMgb3VyIHJldHVybiB2YWx1ZS4KKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwog
Ly8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIERlY29uc3RydWN0aW5nQXNzaWdubWVu
dE5vZGUgLS0tLS0tLS0tLS0tLS0tLS0KIFJlZ2lzdGVySUQqIERlY29uc3RydWN0aW5nQXNzaWdu
bWVudE5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdp
c3RlcklEKiBkc3QpCiB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1
aWxkZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1
aWxkZXIuaAkocmV2aXNpb24gMTc5MzkzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9BU1RCdWlsZGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTY2OCw2ICs2NjgsMTEgQEAgcHVibGlj
OgogICAgIHsKICAgICAgICAgcmV0dXJuIG5ldyAobV9wYXJzZXJBcmVuYSkgRGVjb25zdHJ1Y3Rp
bmdBc3NpZ25tZW50Tm9kZShsb2NhdGlvbiwgcGF0dGVybi5nZXQoKSwgaW5pdGlhbGl6ZXIpOwog
ICAgIH0KKworICAgIEV4cHJlc3Npb25Ob2RlKiBjcmVhdGVEZWNvbnN0cnVjdGluZ0VtcHR5KGNv
bnN0IEpTVG9rZW5Mb2NhdGlvbiYgbG9jYXRpb24sIFBhc3NSZWZQdHI8RGVjb25zdHJ1Y3Rpb25Q
YXR0ZXJuTm9kZT4gcGF0dGVybikKKyAgICB7CisgICAgICAgIHJldHVybiBuZXcgKG1fcGFyc2Vy
QXJlbmEpIERlY29uc3RydWN0aW5nRW1wdHlOb2RlKGxvY2F0aW9uLCBwYXR0ZXJuLmdldCgpKTsK
KyAgICB9CiAgICAgCiAgICAgQXJyYXlQYXR0ZXJuIGNyZWF0ZUFycmF5UGF0dGVybihjb25zdCBK
U1Rva2VuTG9jYXRpb24mKQogICAgIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTm9kZUNvbnN0cnVjdG9ycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oCShyZXZpc2lvbiAxNzkzOTMpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaAkod29ya2luZyBjb3B5KQpA
QCAtODk1LDYgKzg5NSwxMiBAQCBpbmxpbmUgUmVzb2x2ZU5vZGU6OlJlc29sdmVOb2RlKGNvbnN0
IEpTCiAgICAgICAgICwgbV9pbml0aWFsaXplcihpbml0aWFsaXplcikKICAgICB7CiAgICAgfQor
CisgICAgaW5saW5lIERlY29uc3RydWN0aW5nRW1wdHlOb2RlOjpEZWNvbnN0cnVjdGluZ0VtcHR5
Tm9kZShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBQYXNzUmVmUHRyPERlY29uc3Ry
dWN0aW9uUGF0dGVybk5vZGU+IGJpbmRpbmdzKQorICAgICAgICA6IEV4cHJlc3Npb25Ob2RlKGxv
Y2F0aW9uKQorICAgICAgICAsIG1fYmluZGluZ3MoYmluZGluZ3MpCisgICAgeworICAgIH0KICAg
ICAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL05vZGVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9O
b2Rlcy5oCShyZXZpc2lvbiAxNzkzOTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L05vZGVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTE3MzEsNiArMTczMSwxNiBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICAgICAgRXhwcmVzc2lvbk5vZGUqIG1faW5pdGlhbGl6ZXI7CiAgICAgfTsKIAor
ICAgIGNsYXNzIERlY29uc3RydWN0aW5nRW1wdHlOb2RlIDogcHVibGljIEV4cHJlc3Npb25Ob2Rl
IHsKKyAgICBwdWJsaWM6CisgICAgICAgIERlY29uc3RydWN0aW5nRW1wdHlOb2RlKGNvbnN0IEpT
VG9rZW5Mb2NhdGlvbiYsIFBhc3NSZWZQdHI8RGVjb25zdHJ1Y3Rpb25QYXR0ZXJuTm9kZT4pOwor
CisgICAgcHJpdmF0ZToKKyAgICAgICAgdmlydHVhbCBSZWdpc3RlcklEKiBlbWl0Qnl0ZWNvZGUo
Qnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOworCisgICAgICAg
IFJlZlB0cjxEZWNvbnN0cnVjdGlvblBhdHRlcm5Ob2RlPiBtX2JpbmRpbmdzOworICAgIH07CisK
ICAgICBjbGFzcyBGdW5jRGVjbE5vZGUgOiBwdWJsaWMgU3RhdGVtZW50Tm9kZSB7CiAgICAgcHVi
bGljOgogICAgICAgICBGdW5jRGVjbE5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiwgY29uc3Qg
SWRlbnRpZmllciYsIEZ1bmN0aW9uQm9keU5vZGUqLCBjb25zdCBTb3VyY2VDb2RlJiwgUGFyYW1l
dGVyTm9kZSogPSAwKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5j
cHAJKHJldmlzaW9uIDE3OTM5MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFy
c2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDg1LDYgKzQ4NSw3IEBAIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3MKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAg
IGxhc3RJZGVudCA9IDA7CiAgICAgICAgICAgICBhdXRvIHBhdHRlcm4gPSBwYXJzZURlY29uc3Ry
dWN0aW9uUGF0dGVybihjb250ZXh0LCBEZWNvbnN0cnVjdFRvVmFyaWFibGVzKTsKKyAgICAgICAg
ICAgIEpTVG9rZW5Mb2NhdGlvbiB2YXJTdGFydExvY2F0aW9uKHRva2VuTG9jYXRpb24oKSk7CiAg
ICAgICAgICAgICBmYWlsSWZGYWxzZShwYXR0ZXJuLCAiQ2Fubm90IHBhcnNlIHRoaXMgZGVjb25z
dHJ1Y3Rpb24gcGF0dGVybiIpOwogICAgICAgICAgICAgaGFzSW5pdGlhbGl6ZXIgPSBtYXRjaChF
UVVBTCk7CiAgICAgICAgICAgICBsYXN0UGF0dGVybiA9IHBhdHRlcm47CkBAIC00OTMsNyArNDk0
LDggQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzcwogICAgICAgICAg
ICAgICAgIFRyZWVFeHByZXNzaW9uIHJocyA9IHBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oY29u
dGV4dCk7CiAgICAgICAgICAgICAgICAgbm9kZSA9IGNvbnRleHQuY3JlYXRlRGVjb25zdHJ1Y3Rp
bmdBc3NpZ25tZW50KGxvY2F0aW9uLCBwYXR0ZXJuLCByaHMpOwogICAgICAgICAgICAgICAgIGxh
c3RJbml0aWFsaXplciA9IHJoczsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZQor
ICAgICAgICAgICAgICAgIG5vZGUgPSBjb250ZXh0LmNyZWF0ZURlY29uc3RydWN0aW5nRW1wdHko
dmFyU3RhcnRMb2NhdGlvbiwgcGF0dGVybik7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAg
IGlmICghaGVhZCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4Q2hl
Y2tlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvU3ludGF4
Q2hlY2tlci5oCShyZXZpc2lvbiAxNzkzOTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1N5bnRheENoZWNrZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjc5LDYgKzI3OSwxMCBAQCBw
dWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gRGVjb25zdHJ1Y3RpbmdBc3NpZ25tZW50Owog
ICAgIH0KKyAgICBFeHByZXNzaW9uVHlwZSBjcmVhdGVEZWNvbnN0cnVjdGluZ0VtcHR5KGNvbnN0
IEpTVG9rZW5Mb2NhdGlvbiYsIGludCkKKyAgICB7CisgICAgICAgIHJldHVybiBEZWNvbnN0cnVj
dGluZ0Fzc2lnbm1lbnQ7CisgICAgfQogICAgIAogICAgIEFycmF5UGF0dGVybiBjcmVhdGVBcnJh
eVBhdHRlcm4oY29uc3QgSlNUb2tlbkxvY2F0aW9uJikKICAgICB7CkluZGV4OiBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lv
biAxNzkzOTQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwxNSBAQAorMjAxNS0wMS0yOSAgSGFuIENob29uZ3dvbyAgPGN3aGFuLnR1bnpAZ21haWwu
Y29tPgorCisgICAgICAgIENyYXNoIGluIHVuaW5pdGlhbGl6ZWQgZGVjb25zdHJ1Y3RpbmcgdmFy
aWFibGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NDEwNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGpzL2Rlc3RydWN0dXJpbmctYXNzaWdubWVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICoganMv
cGFyc2VyLXN5bnRheC1jaGVjay1leHBlY3RlZC50eHQ6CisgICAgICAgICoganMvc2NyaXB0LXRl
c3RzL2Rlc3RydWN0dXJpbmctYXNzaWdubWVudC5qczoKKyAgICAgICAgKiBqcy9zY3JpcHQtdGVz
dHMvcGFyc2VyLXN5bnRheC1jaGVjay5qczoKKwogMjAxNS0wMS0yOSAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIEZ1cnRoZXIgcmViYXNlbGlu
aW5nIGFmdGVyIHIxNzkzNjguCkluZGV4OiBMYXlvdXRUZXN0cy9qcy9kZXN0cnVjdHVyaW5nLWFz
c2lnbm1lbnQtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2pzL2Rlc3Ry
dWN0dXJpbmctYXNzaWdubWVudC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE3OTM5MykKKysrIExh
eW91dFRlc3RzL2pzL2Rlc3RydWN0dXJpbmctYXNzaWdubWVudC1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTg1LDYgKzg1LDggQEAgUEFTUyBhIGlzIDEKIFBBU1MgYiBpcyAyCiBQQVNT
IGMgaXMgMwogUEFTUyBkIGlzIDQKK1BBU1MgYV91bmRlZmluZWQgaXMgdW5kZWZpbmVkCitQQVNT
IGJfdW5kZWZpbmVkIGlzIHVuZGVmaW5lZAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQogCiBURVNUIENPTVBMRVRFCkluZGV4OiBMYXlvdXRUZXN0cy9qcy9wYXJzZXItc3ludGF4LWNo
ZWNrLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9wYXJzZXItc3lu
dGF4LWNoZWNrLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTc5MzkzKQorKysgTGF5b3V0VGVzdHMv
anMvcGFyc2VyLXN5bnRheC1jaGVjay1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTc2
Myw2ICs3NjMsMTAgQEAgUEFTUyBWYWxpZDogICAiJ3VzZSBzdHJpY3QnOyAoezE6IHh9PW51bAog
UEFTUyBWYWxpZDogICAiZnVuY3Rpb24gZigpIHsgJ3VzZSBzdHJpY3QnOyAoezE6IHh9PW51bGwp
IH0iCiBQQVNTIFZhbGlkOiAgICIndXNlIHN0cmljdCc7ICh7YTogYn09bnVsbCkiIHdpdGggVHlw
ZUVycm9yCiBQQVNTIFZhbGlkOiAgICJmdW5jdGlvbiBmKCkgeyAndXNlIHN0cmljdCc7ICh7YTog
Yn09bnVsbCkgfSIKK1BBU1MgVmFsaWQ6ICAgInZhciB7eH0iCitQQVNTIFZhbGlkOiAgICJmdW5j
dGlvbiBmKCkgeyB2YXIge3h9IH0iCitQQVNTIFZhbGlkOiAgICJ2YXIgW3hdIgorUEFTUyBWYWxp
ZDogICAiZnVuY3Rpb24gZigpIHsgdmFyIFt4XSB9IgogUEFTUyBWYWxpZDogICAidmFyIHsxOnh9
PTEiCiBQQVNTIFZhbGlkOiAgICJmdW5jdGlvbiBmKCkgeyB2YXIgezE6eH09MSB9IgogUEFTUyBW
YWxpZDogICAiW3hdPTEiCkluZGV4OiBMYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvZGVzdHJ1
Y3R1cmluZy1hc3NpZ25tZW50LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2pzL3Njcmlw
dC10ZXN0cy9kZXN0cnVjdHVyaW5nLWFzc2lnbm1lbnQuanMJKHJldmlzaW9uIDE3OTM5MykKKysr
IExheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9kZXN0cnVjdHVyaW5nLWFzc2lnbm1lbnQuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTU3LDQgKzU3LDEwIEBAIHNob3VsZEJlKCJiIiwgIjIiKQogc2hv
dWxkQmUoImMiLCAiMyIpCiBzaG91bGRCZSgiZCIsICI0IikKIAordmFyIFthX3VuZGVmaW5lZF07
Cit2YXIge2JfdW5kZWZpbmVkfTsKKworc2hvdWxkQmUoImFfdW5kZWZpbmVkIiwgInVuZGVmaW5l
ZCIpCitzaG91bGRCZSgiYl91bmRlZmluZWQiLCAidW5kZWZpbmVkIikKKwogCkluZGV4OiBMYXlv
dXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvcGFyc2VyLXN5bnRheC1jaGVjay5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvcGFyc2VyLXN5bnRheC1jaGVjay5qcwko
cmV2aXNpb24gMTc5MzkzKQorKysgTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL3BhcnNlci1z
eW50YXgtY2hlY2suanMJKHdvcmtpbmcgY29weSkKQEAgLTQ3NCw2ICs0NzQsOCBAQCB2YWxpZCgi
J3VzZSBzdHJpY3QnOyAoezE6IHh9KSIpCiB2YWxpZCgiJ3VzZSBzdHJpY3QnOyAoezE6IHh9PTEp
IikKIHZhbGlkKCIndXNlIHN0cmljdCc7ICh7MTogeH09bnVsbCkiKQogdmFsaWQoIid1c2Ugc3Ry
aWN0JzsgKHthOiBifT1udWxsKSIpCit2YWxpZCgidmFyIHt4fSIpCit2YWxpZCgidmFyIFt4XSIp
CiB2YWxpZCgidmFyIHsxOnh9PTEiKQogdmFsaWQoIlt4XT0xIikKIHZhbGlkKCJ2YXIgW3hdPTEi
KQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245699</attachid>
            <date>2015-01-29 23:35:16 -0800</date>
            <delta_ts>2015-01-31 10:51:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>jsc_crash3.patch</filename>
            <type>text/plain</type>
            <size>9075</size>
            <attacher name="Han Choongwoo">cwhan.tunz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTc5Mzk2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBA
CisyMDE1LTAxLTI5ICBIYW4gQ2hvb25nd29vICA8Y3doYW4udHVuekBnbWFpbC5jb20+CisKKyAg
ICAgICAgQ3Jhc2ggaW4gdW5pbml0aWFsaXplZCBkZWNvbnN0cnVjdGluZyB2YXJpYWJsZS4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MTA3MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEkgdGhpbmsgdGhp
cyBidWcgaXMgcmVsYXRlZCB3aXRoIGJ1ZyAxMzU1NDUKKyAgICAgICAgdmFyaWFibGUgZGVjbGFy
YXRpb25zIHdpdGggbm8gaW5pdGlhbGl6ZXIsIHNvbWV0aGluZyBsaWtlICd2YXIge0F9OycKKyAg
ICAgICAgb3IgJ3ZhciBbQV07JywgbWFrZSBjcmFzaC4KKyAgICAgICAgdGhlc2UgZGVjbGFyYXRp
b25zIGFsc28gbmVlZCBBU1Qgbm9kZXMuCisKKyAgICAgICAgKiBieXRlY29tcGlsZXIvTm9kZXND
b2RlZ2VuLmNwcDoKKyAgICAgICAgKEpTQzo6RGVjb25zdHJ1Y3RpbmdFbXB0eU5vZGU6OmVtaXRC
eXRlY29kZSk6CisgICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAgICAgICAgKEpTQzo6
QVNUQnVpbGRlcjo6Y3JlYXRlRGVjb25zdHJ1Y3RpbmdFbXB0eSk6CisgICAgICAgICogcGFyc2Vy
L05vZGVDb25zdHJ1Y3RvcnMuaDoKKyAgICAgICAgKEpTQzo6RGVjb25zdHJ1Y3RpbmdFbXB0eU5v
ZGU6OkRlY29uc3RydWN0aW5nRW1wdHlOb2RlKToKKyAgICAgICAgKiBwYXJzZXIvTm9kZXMuaDoK
KyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVy
VHlwZT46OnBhcnNlVmFyRGVjbGFyYXRpb25MaXN0KToKKyAgICAgICAgKiBwYXJzZXIvU3ludGF4
Q2hlY2tlci5oOgorICAgICAgICAoSlNDOjpTeW50YXhDaGVja2VyOjpvcGVyYXRvclN0YWNrUG9w
KToKKwogMjAxNS0wMS0yOSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE3OTM1NyBhbmQgcjE3OTM1OC4K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVz
Q29kZWdlbi5jcHAJKHJldmlzaW9uIDE3OTM5NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjc3OCw3ICsy
Nzc4LDE5IEBAIFJlZ2lzdGVySUQqIENsYXNzRXhwck5vZGU6OmVtaXRCeXRlY29kZSgKICAgICBy
ZXR1cm4gZ2VuZXJhdG9yLm1vdmVUb0Rlc3RpbmF0aW9uSWZOZWVkZWQoZHN0LCBjb25zdHJ1Y3Rv
ci5nZXQoKSk7CiB9CiAjZW5kaWYKLSAgICAKKworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0gRGVjb25zdHJ1Y3RpbmdFbXB0eU5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisK
K1JlZ2lzdGVySUQqIERlY29uc3RydWN0aW5nRW1wdHlOb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNv
ZGVHZW5lcmF0b3ImIGdlbmVyYXRvciwgUmVnaXN0ZXJJRCopCit7CisgICAgLy8gVE9ETzogZW5h
YmxlIHByb2ZpbGluZyAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEz
NTU0NSkKKyAgICBpZiAoIWdlbmVyYXRvci52bSgpLT50eXBlUHJvZmlsZXIoKSkKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisKKyAgICAvLyBJdCdzIHNhZmUgdG8gcmV0dXJuIG51bGwgaGVyZSBi
ZWNhdXNlIHRoaXMgbm9kZSB3aWxsIGFsd2F5cyBiZSBhIGNoaWxkIG5vZGUgb2YgVmFyU3RhdGVt
ZW50Tm9kZSB3aGljaCBpZ25vcmVzIG91ciByZXR1cm4gdmFsdWUuCisgICAgcmV0dXJuIG51bGxw
dHI7Cit9CisKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBEZWNvbnN0cnVjdGlu
Z0Fzc2lnbm1lbnROb2RlIC0tLS0tLS0tLS0tLS0tLS0tCiBSZWdpc3RlcklEKiBEZWNvbnN0cnVj
dGluZ0Fzc2lnbm1lbnROb2RlOjplbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImIGdlbmVy
YXRvciwgUmVnaXN0ZXJJRCogZHN0KQogewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9BU1RCdWlsZGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9BU1RCdWlsZGVyLmgJKHJldmlzaW9uIDE3OTM5NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvQVNUQnVpbGRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC02NjgsNiArNjY4LDEx
IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBuZXcgKG1fcGFyc2VyQXJlbmEpIERl
Y29uc3RydWN0aW5nQXNzaWdubWVudE5vZGUobG9jYXRpb24sIHBhdHRlcm4uZ2V0KCksIGluaXRp
YWxpemVyKTsKICAgICB9CisKKyAgICBFeHByZXNzaW9uTm9kZSogY3JlYXRlRGVjb25zdHJ1Y3Rp
bmdFbXB0eShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBQYXNzUmVmUHRyPERlY29u
c3RydWN0aW9uUGF0dGVybk5vZGU+IHBhdHRlcm4pCisgICAgeworICAgICAgICByZXR1cm4gbmV3
IChtX3BhcnNlckFyZW5hKSBEZWNvbnN0cnVjdGluZ0VtcHR5Tm9kZShsb2NhdGlvbiwgcGF0dGVy
bi5nZXQoKSk7CisgICAgfQogICAgIAogICAgIEFycmF5UGF0dGVybiBjcmVhdGVBcnJheVBhdHRl
cm4oY29uc3QgSlNUb2tlbkxvY2F0aW9uJikKICAgICB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaAkocmV2aXNpb24gMTc5Mzk2KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTg5NSw2ICs4OTUsMTIgQEAgaW5saW5lIFJlc29sdmVOb2RlOjpSZXNvbHZl
Tm9kZShjb25zdCBKUwogICAgICAgICAsIG1faW5pdGlhbGl6ZXIoaW5pdGlhbGl6ZXIpCiAgICAg
ewogICAgIH0KKworICAgIGlubGluZSBEZWNvbnN0cnVjdGluZ0VtcHR5Tm9kZTo6RGVjb25zdHJ1
Y3RpbmdFbXB0eU5vZGUoY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBsb2NhdGlvbiwgUGFzc1JlZlB0
cjxEZWNvbnN0cnVjdGlvblBhdHRlcm5Ob2RlPiBiaW5kaW5ncykKKyAgICAgICAgOiBFeHByZXNz
aW9uTm9kZShsb2NhdGlvbikKKyAgICAgICAgLCBtX2JpbmRpbmdzKGJpbmRpbmdzKQorICAgIHsK
KyAgICB9CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBKU0MKIApJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9Ob2Rlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTm9kZXMuaAkocmV2aXNpb24gMTc5Mzk2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3BhcnNlci9Ob2Rlcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzMxLDYgKzE3MzEsMTYgQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEV4cHJlc3Npb25Ob2RlKiBtX2luaXRpYWxpemVyOwog
ICAgIH07CiAKKyAgICBjbGFzcyBEZWNvbnN0cnVjdGluZ0VtcHR5Tm9kZSA6IHB1YmxpYyBFeHBy
ZXNzaW9uTm9kZSB7CisgICAgcHVibGljOgorICAgICAgICBEZWNvbnN0cnVjdGluZ0VtcHR5Tm9k
ZShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBQYXNzUmVmUHRyPERlY29uc3RydWN0aW9uUGF0dGVy
bk5vZGU+KTsKKworICAgIHByaXZhdGU6CisgICAgICAgIHZpcnR1YWwgUmVnaXN0ZXJJRCogZW1p
dEJ5dGVjb2RlKEJ5dGVjb2RlR2VuZXJhdG9yJiwgUmVnaXN0ZXJJRCogPSAwKSBvdmVycmlkZTsK
KworICAgICAgICBSZWZQdHI8RGVjb25zdHJ1Y3Rpb25QYXR0ZXJuTm9kZT4gbV9iaW5kaW5nczsK
KyAgICB9OworCiAgICAgY2xhc3MgRnVuY0RlY2xOb2RlIDogcHVibGljIFN0YXRlbWVudE5vZGUg
ewogICAgIHB1YmxpYzoKICAgICAgICAgRnVuY0RlY2xOb2RlKGNvbnN0IEpTVG9rZW5Mb2NhdGlv
biYsIGNvbnN0IElkZW50aWZpZXImLCBGdW5jdGlvbkJvZHlOb2RlKiwgY29uc3QgU291cmNlQ29k
ZSYsIFBhcmFtZXRlck5vZGUqID0gMCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1BhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXIuY3BwCShyZXZpc2lvbiAxNzkzOTYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4NSw2ICs0ODUsNyBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzCiAgICAgICAgIH0gZWxzZSB7CiAg
ICAgICAgICAgICBsYXN0SWRlbnQgPSAwOwogICAgICAgICAgICAgYXV0byBwYXR0ZXJuID0gcGFy
c2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oY29udGV4dCwgRGVjb25zdHJ1Y3RUb1ZhcmlhYmxlcyk7
CisgICAgICAgICAgICBKU1Rva2VuTG9jYXRpb24gdmFyU3RhcnRMb2NhdGlvbih0b2tlbkxvY2F0
aW9uKCkpOwogICAgICAgICAgICAgZmFpbElmRmFsc2UocGF0dGVybiwgIkNhbm5vdCBwYXJzZSB0
aGlzIGRlY29uc3RydWN0aW9uIHBhdHRlcm4iKTsKICAgICAgICAgICAgIGhhc0luaXRpYWxpemVy
ID0gbWF0Y2goRVFVQUwpOwogICAgICAgICAgICAgbGFzdFBhdHRlcm4gPSBwYXR0ZXJuOwpAQCAt
NDkzLDcgKzQ5NCw4IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3MK
ICAgICAgICAgICAgICAgICBUcmVlRXhwcmVzc2lvbiByaHMgPSBwYXJzZUFzc2lnbm1lbnRFeHBy
ZXNzaW9uKGNvbnRleHQpOwogICAgICAgICAgICAgICAgIG5vZGUgPSBjb250ZXh0LmNyZWF0ZURl
Y29uc3RydWN0aW5nQXNzaWdubWVudChsb2NhdGlvbiwgcGF0dGVybiwgcmhzKTsKICAgICAgICAg
ICAgICAgICBsYXN0SW5pdGlhbGl6ZXIgPSByaHM7Ci0gICAgICAgICAgICB9CisgICAgICAgICAg
ICB9IGVsc2UKKyAgICAgICAgICAgICAgICBub2RlID0gY29udGV4dC5jcmVhdGVEZWNvbnN0cnVj
dGluZ0VtcHR5KHZhclN0YXJ0TG9jYXRpb24sIHBhdHRlcm4pOwogICAgICAgICB9CiAgICAgICAg
IAogICAgICAgICBpZiAoIWhlYWQpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L1N5bnRheENoZWNrZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL1N5bnRheENoZWNrZXIuaAkocmV2aXNpb24gMTc5Mzk2KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL3BhcnNlci9TeW50YXhDaGVja2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI3OSw2ICsy
NzksMTAgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIERlY29uc3RydWN0aW5nQXNz
aWdubWVudDsKICAgICB9CisgICAgRXhwcmVzc2lvblR5cGUgY3JlYXRlRGVjb25zdHJ1Y3RpbmdF
bXB0eShjb25zdCBKU1Rva2VuTG9jYXRpb24mLCBpbnQpCisgICAgeworICAgICAgICByZXR1cm4g
RGVjb25zdHJ1Y3RpbmdBc3NpZ25tZW50OworICAgIH0KICAgICAKICAgICBBcnJheVBhdHRlcm4g
Y3JlYXRlQXJyYXlQYXR0ZXJuKGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYpCiAgICAgewpJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gMTc5Mzk2KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDEtMjkgIEhhbiBDaG9vbmd3b28gIDxjd2hhbi50
dW56QGdtYWlsLmNvbT4KKworICAgICAgICBDcmFzaCBpbiB1bmluaXRpYWxpemVkIGRlY29uc3Ry
dWN0aW5nIHZhcmlhYmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQxMDcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBqcy9kZXN0cnVjdHVyaW5nLWFzc2lnbm1lbnQtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGpzL3BhcnNlci1zeW50YXgtY2hlY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGpz
L3NjcmlwdC10ZXN0cy9kZXN0cnVjdHVyaW5nLWFzc2lnbm1lbnQuanM6CisgICAgICAgICoganMv
c2NyaXB0LXRlc3RzL3BhcnNlci1zeW50YXgtY2hlY2suanM6CisKIDIwMTUtMDEtMjkgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBGdXJ0aGVy
IHJlYmFzZWxpbmluZyBhZnRlciByMTc5MzY4LgpJbmRleDogTGF5b3V0VGVzdHMvanMvZGVzdHJ1
Y3R1cmluZy1hc3NpZ25tZW50LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9qcy9kZXN0cnVjdHVyaW5nLWFzc2lnbm1lbnQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNzkz
OTYpCisrKyBMYXlvdXRUZXN0cy9qcy9kZXN0cnVjdHVyaW5nLWFzc2lnbm1lbnQtZXhwZWN0ZWQu
dHh0CSh3b3JraW5nIGNvcHkpCkBAIC04NSw2ICs4NSw4IEBAIFBBU1MgYSBpcyAxCiBQQVNTIGIg
aXMgMgogUEFTUyBjIGlzIDMKIFBBU1MgZCBpcyA0CitQQVNTIGFfdW5kZWZpbmVkIGlzIHVuZGVm
aW5lZAorUEFTUyBiX3VuZGVmaW5lZCBpcyB1bmRlZmluZWQKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpJbmRleDogTGF5b3V0VGVzdHMvanMvcGFyc2Vy
LXN5bnRheC1jaGVjay1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvanMv
cGFyc2VyLXN5bnRheC1jaGVjay1leHBlY3RlZC50eHQJKHJldmlzaW9uIDE3OTM5NikKKysrIExh
eW91dFRlc3RzL2pzL3BhcnNlci1zeW50YXgtY2hlY2stZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC03NjMsNiArNzYzLDEwIEBAIFBBU1MgVmFsaWQ6ICAgIid1c2Ugc3RyaWN0JzsgKHsx
OiB4fT1udWwKIFBBU1MgVmFsaWQ6ICAgImZ1bmN0aW9uIGYoKSB7ICd1c2Ugc3RyaWN0JzsgKHsx
OiB4fT1udWxsKSB9IgogUEFTUyBWYWxpZDogICAiJ3VzZSBzdHJpY3QnOyAoe2E6IGJ9PW51bGwp
IiB3aXRoIFR5cGVFcnJvcgogUEFTUyBWYWxpZDogICAiZnVuY3Rpb24gZigpIHsgJ3VzZSBzdHJp
Y3QnOyAoe2E6IGJ9PW51bGwpIH0iCitQQVNTIFZhbGlkOiAgICJ2YXIge3h9IgorUEFTUyBWYWxp
ZDogICAiZnVuY3Rpb24gZigpIHsgdmFyIHt4fSB9IgorUEFTUyBWYWxpZDogICAidmFyIFt4XSIK
K1BBU1MgVmFsaWQ6ICAgImZ1bmN0aW9uIGYoKSB7IHZhciBbeF0gfSIKIFBBU1MgVmFsaWQ6ICAg
InZhciB7MTp4fT0xIgogUEFTUyBWYWxpZDogICAiZnVuY3Rpb24gZigpIHsgdmFyIHsxOnh9PTEg
fSIKIFBBU1MgVmFsaWQ6ICAgIlt4XT0xIgpJbmRleDogTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRl
c3RzL2Rlc3RydWN0dXJpbmctYXNzaWdubWVudC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9qcy9zY3JpcHQtdGVzdHMvZGVzdHJ1Y3R1cmluZy1hc3NpZ25tZW50LmpzCShyZXZpc2lvbiAx
NzkzOTYpCisrKyBMYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvZGVzdHJ1Y3R1cmluZy1hc3Np
Z25tZW50LmpzCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw0ICs1NywxMCBAQCBzaG91bGRCZSgiYiIs
ICIyIikKIHNob3VsZEJlKCJjIiwgIjMiKQogc2hvdWxkQmUoImQiLCAiNCIpCiAKK3ZhciBbYV91
bmRlZmluZWRdOwordmFyIHtiX3VuZGVmaW5lZH07CisKK3Nob3VsZEJlKCJhX3VuZGVmaW5lZCIs
ICJ1bmRlZmluZWQiKQorc2hvdWxkQmUoImJfdW5kZWZpbmVkIiwgInVuZGVmaW5lZCIpCisKIApJ
bmRleDogTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL3BhcnNlci1zeW50YXgtY2hlY2suanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL3BhcnNlci1zeW50YXgt
Y2hlY2suanMJKHJldmlzaW9uIDE3OTM5NikKKysrIExheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0
cy9wYXJzZXItc3ludGF4LWNoZWNrLmpzCSh3b3JraW5nIGNvcHkpCkBAIC00NzQsNiArNDc0LDgg
QEAgdmFsaWQoIid1c2Ugc3RyaWN0JzsgKHsxOiB4fSkiKQogdmFsaWQoIid1c2Ugc3RyaWN0Jzsg
KHsxOiB4fT0xKSIpCiB2YWxpZCgiJ3VzZSBzdHJpY3QnOyAoezE6IHh9PW51bGwpIikKIHZhbGlk
KCIndXNlIHN0cmljdCc7ICh7YTogYn09bnVsbCkiKQordmFsaWQoInZhciB7eH0iKQordmFsaWQo
InZhciBbeF0iKQogdmFsaWQoInZhciB7MTp4fT0xIikKIHZhbGlkKCJbeF09MSIpCiB2YWxpZCgi
dmFyIFt4XT0xIikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245734</attachid>
            <date>2015-01-30 13:03:28 -0800</date>
            <delta_ts>2015-01-31 10:51:05 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>3962</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAJKHJldmlzaW9uIDE3
OTM5NykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzc4LDcgKzM3OCw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVN0YXRlbWUKICAgICBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuIHNjcmF0Y2gxID0gMDsK
ICAgICBUcmVlRXhwcmVzc2lvbiBzY3JhdGNoMiA9IDA7CiAgICAgSlNUZXh0UG9zaXRpb24gc2Ny
YXRjaDM7Ci0gICAgVHJlZUV4cHJlc3Npb24gdmFyRGVjbHMgPSBwYXJzZVZhckRlY2xhcmF0aW9u
TGlzdChjb250ZXh0LCBzY3JhdGNoLCBzY3JhdGNoMSwgc2NyYXRjaDIsIHNjcmF0Y2gzLCBzY3Jh
dGNoMywgc2NyYXRjaDMpOworICAgIFRyZWVFeHByZXNzaW9uIHZhckRlY2xzID0gcGFyc2VWYXJE
ZWNsYXJhdGlvbkxpc3QoY29udGV4dCwgc2NyYXRjaCwgc2NyYXRjaDEsIHNjcmF0Y2gyLCBzY3Jh
dGNoMywgc2NyYXRjaDMsIHNjcmF0Y2gzLCBmYWxzZSk7CiAgICAgcHJvcGFnYXRlRXJyb3IoKTsK
ICAgICBmYWlsSWZGYWxzZShhdXRvU2VtaUNvbG9uKCksICJFeHBlY3RlZCAnOycgYWZ0ZXIgdmFy
IGRlY2xhcmF0aW9uIik7CiAgICAgCkBAIC00NDcsNyArNDQ3LDcgQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZQogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgTGV4ZXJU
eXBlPgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8
TGV4ZXJUeXBlPjo6cGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImIGNvbnRleHQs
IGludCYgZGVjbGFyYXRpb25zLCBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuJiBsYXN0UGF0dGVy
biwgVHJlZUV4cHJlc3Npb24mIGxhc3RJbml0aWFsaXplciwgSlNUZXh0UG9zaXRpb24mIGlkZW50
U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0RW5k
KQordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4
ZXJUeXBlPjo6cGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImIGNvbnRleHQsIGlu
dCYgZGVjbGFyYXRpb25zLCBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJuJiBsYXN0UGF0dGVybiwg
VHJlZUV4cHJlc3Npb24mIGxhc3RJbml0aWFsaXplciwgSlNUZXh0UG9zaXRpb24mIGlkZW50U3Rh
cnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0RW5kLCBi
b29sIGlzRm9yTG9vcENvbnRleHQpCiB7CiAgICAgVHJlZUV4cHJlc3Npb24gaGVhZCA9IDA7CiAg
ICAgVHJlZUV4cHJlc3Npb24gdGFpbCA9IDA7CkBAIC00ODcsNiArNDg3LDcgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzcwogICAgICAgICAgICAgYXV0byBwYXR0ZXJu
ID0gcGFyc2VEZWNvbnN0cnVjdGlvblBhdHRlcm4oY29udGV4dCwgRGVjb25zdHJ1Y3RUb1Zhcmlh
Ymxlcyk7CiAgICAgICAgICAgICBmYWlsSWZGYWxzZShwYXR0ZXJuLCAiQ2Fubm90IHBhcnNlIHRo
aXMgZGVjb25zdHJ1Y3Rpb24gcGF0dGVybiIpOwogICAgICAgICAgICAgaGFzSW5pdGlhbGl6ZXIg
PSBtYXRjaChFUVVBTCk7CisgICAgICAgICAgICBmYWlsSWZUcnVlKCFpc0Zvckxvb3BDb250ZXh0
ICYmICFoYXNJbml0aWFsaXplciwgIkV4cGVjdGVkIGFuIGluaXRpYWxpemVyIGluIGRlc3RydWN0
dXJpbmcgdmFyaWFibGUgZGVjbGFyYXRpb24iKTsKICAgICAgICAgICAgIGxhc3RQYXR0ZXJuID0g
cGF0dGVybjsKICAgICAgICAgICAgIGlmIChoYXNJbml0aWFsaXplcikgewogICAgICAgICAgICAg
ICAgIG5leHQoVHJlZUJ1aWxkZXI6OkRvbnRCdWlsZFN0cmluZ3MpOyAvLyBjb25zdW1lICc9JwpA
QCAtNzM1LDcgKzczNiw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZVN0YXRl
bWUKICAgICAgICAgbV9hbGxvd3NJbiA9IGZhbHNlOwogICAgICAgICBKU1RleHRQb3NpdGlvbiBp
bml0U3RhcnQ7CiAgICAgICAgIEpTVGV4dFBvc2l0aW9uIGluaXRFbmQ7Ci0gICAgICAgIGRlY2xz
ID0gcGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QoY29udGV4dCwgZGVjbGFyYXRpb25zLCBmb3JJblRh
cmdldCwgZm9ySW5Jbml0aWFsaXplciwgZGVjbHNTdGFydCwgaW5pdFN0YXJ0LCBpbml0RW5kKTsK
KyAgICAgICAgZGVjbHMgPSBwYXJzZVZhckRlY2xhcmF0aW9uTGlzdChjb250ZXh0LCBkZWNsYXJh
dGlvbnMsIGZvckluVGFyZ2V0LCBmb3JJbkluaXRpYWxpemVyLCBkZWNsc1N0YXJ0LCBpbml0U3Rh
cnQsIGluaXRFbmQsIHRydWUpOwogICAgICAgICBtX2FsbG93c0luID0gdHJ1ZTsKICAgICAgICAg
cHJvcGFnYXRlRXJyb3IoKTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ci5oCShyZXZpc2lvbiAxNzkzOTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1Bh
cnNlci5oCSh3b3JraW5nIGNvcHkpCkBAIC03NDIsNyArNzQyLDcgQEAgcHJpdmF0ZToKICAgICB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVQcm9wZXJ0eSBwYXJzZUdldHRlclNldHRl
cihUcmVlQnVpbGRlciYsIGJvb2wgc3RyaWN0LCBQcm9wZXJ0eU5vZGU6OlR5cGUsIHVuc2lnbmVk
IGdldHRlck9yU2V0dGVyU3RhcnRPZmZzZXQpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRnVuY3Rpb25Cb2R5IHBhcnNlRnVuY3Rpb25Cb2R5KFRy
ZWVCdWlsZGVyJik7CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBBTFdBWVNfSU5M
SU5FIFRyZWVGb3JtYWxQYXJhbWV0ZXJMaXN0IHBhcnNlRm9ybWFsUGFyYW1ldGVycyhUcmVlQnVp
bGRlciYpOwotICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUV4cHJlc3Npb24g
cGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImLCBpbnQmIGRlY2xhcmF0aW9ucywg
VHJlZURlY29uc3RydWN0aW9uUGF0dGVybiYgbGFzdFBhdHRlcm4sIFRyZWVFeHByZXNzaW9uJiBs
YXN0SW5pdGlhbGl6ZXIsIEpTVGV4dFBvc2l0aW9uJiBpZGVudFN0YXJ0LCBKU1RleHRQb3NpdGlv
biYgaW5pdFN0YXJ0LCBKU1RleHRQb3NpdGlvbiYgaW5pdEVuZCk7CisgICAgdGVtcGxhdGUgPGNs
YXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBwYXJzZVZhckRlY2xhcmF0aW9uTGlzdChU
cmVlQnVpbGRlciYsIGludCYgZGVjbGFyYXRpb25zLCBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0ZXJu
JiBsYXN0UGF0dGVybiwgVHJlZUV4cHJlc3Npb24mIGxhc3RJbml0aWFsaXplciwgSlNUZXh0UG9z
aXRpb24mIGlkZW50U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0U3RhcnQsIEpTVGV4dFBvc2l0
aW9uJiBpbml0RW5kLCBib29sIGlzRm9yTG9vcENvbnRleHQpOwogICAgIHRlbXBsYXRlIDxjbGFz
cyBUcmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDb25zdERlY2xMaXN0IHBhcnNlQ29uc3RE
ZWNsYXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImKTsKIAogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gY3JlYXRlQmlu
ZGluZ1BhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktpbmQsIGNvbnN0IElkZW50
aWZpZXImLCBpbnQgZGVwdGgsIEpTVG9rZW4pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245787</attachid>
            <date>2015-01-31 10:51:05 -0800</date>
            <delta_ts>2015-02-03 14:11:50 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>8666</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTc5NDQzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBA
CisyMDE1LTAxLTMxICBTYWFtIEJhcmF0aSAgPHNhYW1iYXJhdGkxQGdtYWlsLmNvbT4KKworICAg
ICAgICBDcmFzaCBpbiB1bmluaXRpYWxpemVkIGRlY29uc3RydWN0aW5nIHZhcmlhYmxlLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQxMDcwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWNjb3JkaW5nIHRv
IHRoZSBFUzYgc3BlYywgd2hlbiBhIGRlc3RydWN0dXJpbmcgcGF0dGVybiBvY2N1cnMKKyAgICAg
ICAgYXMgdGhlIGxlZnQgaGFuZCBzaWRlIG9mIGFuIGFzc2lnbm1lbnQgaW5zaWRlIGEgdmFyIGRl
Y2xhcmF0aW9uIAorICAgICAgICBzdGF0ZW1lbnQsIHRoZSBhc3NpZ25tZW50IG11c3QgaGF2ZSBh
bHNvIHJpZ2h0IGhhbmQgc2lkZSB2YWx1ZS4KKyAgICAgICAgInZhciB7eH0gPSB7fTsiIGlzIGEg
bGVnYWwgc3ludGFjdGljIHN0YXRlbWVudCwgYnV0LAorICAgICAgICAidmFyIHt4fTsiIGlzIGEg
c3ludGFjdGljIGVycm9yLgorCisgICAgICAgIFNlY3Rpb24gMTMuMi4yIG9mIHRoZSBsYXRlc3Qg
ZHJhZnQgRVM2IHNwZWMgc3BlY2lmaWVzIHRoaXMgcmVxdWlyZW1lbnQ6CisgICAgICAgIGh0dHBz
Oi8vcGVvcGxlLm1vemlsbGEub3JnL35qb3JlbmRvcmZmL2VzNi1kcmFmdC5odG1sI3NlYy12YXJp
YWJsZS1zdGF0ZW1lbnQKKworICAgICAgICAqIHBhcnNlci9QYXJzZXIuY3BwOgorICAgICAgICAo
SlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VWYXJEZWNsYXJhdGlvbik6CisgICAgICAgIChK
U0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVZhckRlY2xhcmF0aW9uTGlzdCk6CisgICAgICAg
IChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZvclN0YXRlbWVudCk6CisgICAgICAgICog
cGFyc2VyL1BhcnNlci5oOgorCiAyMDE1LTAxLTMxICBDb21taXQgUXVldWUgIDxjb21taXQtcXVl
dWVAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTc5NDI2
LgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcAkocmV2aXNpb24g
MTc5Mzk3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNzgsNyArMzc4LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlU3RhdGVtZQogICAgIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gc2NyYXRjaDEgPSAw
OwogICAgIFRyZWVFeHByZXNzaW9uIHNjcmF0Y2gyID0gMDsKICAgICBKU1RleHRQb3NpdGlvbiBz
Y3JhdGNoMzsKLSAgICBUcmVlRXhwcmVzc2lvbiB2YXJEZWNscyA9IHBhcnNlVmFyRGVjbGFyYXRp
b25MaXN0KGNvbnRleHQsIHNjcmF0Y2gsIHNjcmF0Y2gxLCBzY3JhdGNoMiwgc2NyYXRjaDMsIHNj
cmF0Y2gzLCBzY3JhdGNoMyk7CisgICAgVHJlZUV4cHJlc3Npb24gdmFyRGVjbHMgPSBwYXJzZVZh
ckRlY2xhcmF0aW9uTGlzdChjb250ZXh0LCBzY3JhdGNoLCBzY3JhdGNoMSwgc2NyYXRjaDIsIHNj
cmF0Y2gzLCBzY3JhdGNoMywgc2NyYXRjaDMsIFZhckRlY2xhcmF0aW9uQ29udGV4dCk7CiAgICAg
cHJvcGFnYXRlRXJyb3IoKTsKICAgICBmYWlsSWZGYWxzZShhdXRvU2VtaUNvbG9uKCksICJFeHBl
Y3RlZCAnOycgYWZ0ZXIgdmFyIGRlY2xhcmF0aW9uIik7CiAgICAgCkBAIC00NDcsNyArNDQ3LDcg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU3RhdGVtZQogfQogCiB0ZW1wbGF0
ZSA8dHlwZW5hbWUgTGV4ZXJUeXBlPgotdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVl
RXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QoVHJl
ZUJ1aWxkZXImIGNvbnRleHQsIGludCYgZGVjbGFyYXRpb25zLCBUcmVlRGVjb25zdHJ1Y3Rpb25Q
YXR0ZXJuJiBsYXN0UGF0dGVybiwgVHJlZUV4cHJlc3Npb24mIGxhc3RJbml0aWFsaXplciwgSlNU
ZXh0UG9zaXRpb24mIGlkZW50U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0U3RhcnQsIEpTVGV4
dFBvc2l0aW9uJiBpbml0RW5kKQordGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhw
cmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QoVHJlZUJ1
aWxkZXImIGNvbnRleHQsIGludCYgZGVjbGFyYXRpb25zLCBUcmVlRGVjb25zdHJ1Y3Rpb25QYXR0
ZXJuJiBsYXN0UGF0dGVybiwgVHJlZUV4cHJlc3Npb24mIGxhc3RJbml0aWFsaXplciwgSlNUZXh0
UG9zaXRpb24mIGlkZW50U3RhcnQsIEpTVGV4dFBvc2l0aW9uJiBpbml0U3RhcnQsIEpTVGV4dFBv
c2l0aW9uJiBpbml0RW5kLCBWYXJEZWNsYXJhdGlvbkxpc3RDb250ZXh0IGRlY2xhcmF0aW9uTGlz
dENvbnRleHQpCiB7CiAgICAgVHJlZUV4cHJlc3Npb24gaGVhZCA9IDA7CiAgICAgVHJlZUV4cHJl
c3Npb24gdGFpbCA9IDA7CkBAIC00ODcsNiArNDg3LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlRXhwcmVzcwogICAgICAgICAgICAgYXV0byBwYXR0ZXJuID0gcGFyc2VEZWNv
bnN0cnVjdGlvblBhdHRlcm4oY29udGV4dCwgRGVjb25zdHJ1Y3RUb1ZhcmlhYmxlcyk7CiAgICAg
ICAgICAgICBmYWlsSWZGYWxzZShwYXR0ZXJuLCAiQ2Fubm90IHBhcnNlIHRoaXMgZGVjb25zdHJ1
Y3Rpb24gcGF0dGVybiIpOwogICAgICAgICAgICAgaGFzSW5pdGlhbGl6ZXIgPSBtYXRjaChFUVVB
TCk7CisgICAgICAgICAgICBmYWlsSWZUcnVlKGRlY2xhcmF0aW9uTGlzdENvbnRleHQgPT0gVmFy
RGVjbGFyYXRpb25Db250ZXh0ICYmICFoYXNJbml0aWFsaXplciwgIkV4cGVjdGVkIGFuIGluaXRp
YWxpemVyIGluIGRlc3RydWN0dXJpbmcgdmFyaWFibGUgZGVjbGFyYXRpb24iKTsKICAgICAgICAg
ICAgIGxhc3RQYXR0ZXJuID0gcGF0dGVybjsKICAgICAgICAgICAgIGlmIChoYXNJbml0aWFsaXpl
cikgewogICAgICAgICAgICAgICAgIG5leHQoVHJlZUJ1aWxkZXI6OkRvbnRCdWlsZFN0cmluZ3Mp
OyAvLyBjb25zdW1lICc9JwpAQCAtNzM1LDcgKzczNiw3IEBAIHRlbXBsYXRlIDxjbGFzcyBUcmVl
QnVpbGRlcj4gVHJlZVN0YXRlbWUKICAgICAgICAgbV9hbGxvd3NJbiA9IGZhbHNlOwogICAgICAg
ICBKU1RleHRQb3NpdGlvbiBpbml0U3RhcnQ7CiAgICAgICAgIEpTVGV4dFBvc2l0aW9uIGluaXRF
bmQ7Ci0gICAgICAgIGRlY2xzID0gcGFyc2VWYXJEZWNsYXJhdGlvbkxpc3QoY29udGV4dCwgZGVj
bGFyYXRpb25zLCBmb3JJblRhcmdldCwgZm9ySW5Jbml0aWFsaXplciwgZGVjbHNTdGFydCwgaW5p
dFN0YXJ0LCBpbml0RW5kKTsKKyAgICAgICAgZGVjbHMgPSBwYXJzZVZhckRlY2xhcmF0aW9uTGlz
dChjb250ZXh0LCBkZWNsYXJhdGlvbnMsIGZvckluVGFyZ2V0LCBmb3JJbkluaXRpYWxpemVyLCBk
ZWNsc1N0YXJ0LCBpbml0U3RhcnQsIGluaXRFbmQsIEZvckxvb3BDb250ZXh0KTsKICAgICAgICAg
bV9hbGxvd3NJbiA9IHRydWU7CiAgICAgICAgIHByb3BhZ2F0ZUVycm9yKCk7CiAKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAkocmV2aXNpb24gMTc5Mzk3KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNzQy
LDcgKzc0Miw4IEBAIHByaXZhdGU6CiAgICAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlUHJvcGVydHkgcGFyc2VHZXR0ZXJTZXR0ZXIoVHJlZUJ1aWxkZXImLCBib29sIHN0cmljdCwg
UHJvcGVydHlOb2RlOjpUeXBlLCB1bnNpZ25lZCBnZXR0ZXJPclNldHRlclN0YXJ0T2Zmc2V0KTsK
ICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IEFMV0FZU19JTkxJTkUgVHJlZUZ1bmN0
aW9uQm9keSBwYXJzZUZ1bmN0aW9uQm9keShUcmVlQnVpbGRlciYpOwogICAgIHRlbXBsYXRlIDxj
bGFzcyBUcmVlQnVpbGRlcj4gQUxXQVlTX0lOTElORSBUcmVlRm9ybWFsUGFyYW1ldGVyTGlzdCBw
YXJzZUZvcm1hbFBhcmFtZXRlcnMoVHJlZUJ1aWxkZXImKTsKLSAgICB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlVmFyRGVjbGFyYXRpb25MaXN0KFRyZWVC
dWlsZGVyJiwgaW50JiBkZWNsYXJhdGlvbnMsIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4mIGxh
c3RQYXR0ZXJuLCBUcmVlRXhwcmVzc2lvbiYgbGFzdEluaXRpYWxpemVyLCBKU1RleHRQb3NpdGlv
biYgaWRlbnRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRTdGFydCwgSlNUZXh0UG9zaXRpb24m
IGluaXRFbmQpOworICAgIGVudW0gVmFyRGVjbGFyYXRpb25MaXN0Q29udGV4dCB7IEZvckxvb3BD
b250ZXh0LCBWYXJEZWNsYXJhdGlvbkNvbnRleHQgfTsKKyAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIHBhcnNlVmFyRGVjbGFyYXRpb25MaXN0KFRyZWVCdWls
ZGVyJiwgaW50JiBkZWNsYXJhdGlvbnMsIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4mIGxhc3RQ
YXR0ZXJuLCBUcmVlRXhwcmVzc2lvbiYgbGFzdEluaXRpYWxpemVyLCBKU1RleHRQb3NpdGlvbiYg
aWRlbnRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGluaXRTdGFydCwgSlNUZXh0UG9zaXRpb24mIGlu
aXRFbmQsIFZhckRlY2xhcmF0aW9uTGlzdENvbnRleHQpOwogICAgIHRlbXBsYXRlIDxjbGFzcyBU
cmVlQnVpbGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVDb25zdERlY2xMaXN0IHBhcnNlQ29uc3REZWNs
YXJhdGlvbkxpc3QoVHJlZUJ1aWxkZXImKTsKIAogICAgIHRlbXBsYXRlIDxjbGFzcyBUcmVlQnVp
bGRlcj4gTkVWRVJfSU5MSU5FIFRyZWVEZWNvbnN0cnVjdGlvblBhdHRlcm4gY3JlYXRlQmluZGlu
Z1BhdHRlcm4oVHJlZUJ1aWxkZXImLCBEZWNvbnN0cnVjdGlvbktpbmQsIGNvbnN0IElkZW50aWZp
ZXImLCBpbnQgZGVwdGgsIEpTVG9rZW4pOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTc5NDQzKQorKysg
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTUtMDEtMzEgIFNhYW0gQmFyYXRpICA8c2FhbWJhcmF0aTFAZ21haWwuY29tPgorCisgICAgICAg
IENyYXNoIGluIHVuaW5pdGlhbGl6ZWQgZGVjb25zdHJ1Y3RpbmcgdmFyaWFibGUuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDEwNzAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGpzL3BhcnNlci1zeW50
YXgtY2hlY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGpzL3NjcmlwdC10ZXN0cy9wYXJzZXIt
c3ludGF4LWNoZWNrLmpzOgorCiAyMDE1LTAxLTMxICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uLmZh
YmxldEBjcmYuY2Fub24uZnI+CiAKICAgICAgICAgSW1wb3J0IFczQyB3ZWIgcGxhdGZvcm0gdGVz
dHMgaW5mcmFzdHJ1Y3R1cmUKSW5kZXg6IExheW91dFRlc3RzL2pzL3BhcnNlci1zeW50YXgtY2hl
Y2stZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2pzL3BhcnNlci1zeW50
YXgtY2hlY2stZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAxNzkzOTcpCisrKyBMYXlvdXRUZXN0cy9q
cy9wYXJzZXItc3ludGF4LWNoZWNrLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNzY1
LDYgKzc2NSwxNCBAQCBQQVNTIFZhbGlkOiAgICIndXNlIHN0cmljdCc7ICh7YTogYn09bnVsCiBQ
QVNTIFZhbGlkOiAgICJmdW5jdGlvbiBmKCkgeyAndXNlIHN0cmljdCc7ICh7YTogYn09bnVsbCkg
fSIKIFBBU1MgVmFsaWQ6ICAgInZhciB7MTp4fT0xIgogUEFTUyBWYWxpZDogICAiZnVuY3Rpb24g
ZigpIHsgdmFyIHsxOnh9PTEgfSIKK1BBU1MgVmFsaWQ6ICAgInZhciB7eH09MSIKK1BBU1MgVmFs
aWQ6ICAgImZ1bmN0aW9uIGYoKSB7IHZhciB7eH09MSB9IgorUEFTUyBWYWxpZDogICAidmFyIHt4
LCB5fT0xIgorUEFTUyBWYWxpZDogICAiZnVuY3Rpb24gZigpIHsgdmFyIHt4LCB5fT0xIH0iCitQ
QVNTIFZhbGlkOiAgICJ2YXIgW3hdPTEiCitQQVNTIFZhbGlkOiAgICJmdW5jdGlvbiBmKCkgeyB2
YXIgW3hdPTEgfSIKK1BBU1MgVmFsaWQ6ICAgInZhciBbeCwgeV09MSIKK1BBU1MgVmFsaWQ6ICAg
ImZ1bmN0aW9uIGYoKSB7IHZhciBbeCwgeV09MSB9IgogUEFTUyBWYWxpZDogICAiW3hdPTEiCiBQ
QVNTIFZhbGlkOiAgICJmdW5jdGlvbiBmKCkgeyBbeF09MSB9IgogUEFTUyBWYWxpZDogICAidmFy
IFt4XT0xIgpAQCAtNzg3LDYgKzc5NSwyMCBAQCBQQVNTIFZhbGlkOiAgICIoe2F9PTE9MSkiIHdp
dGggUmVmZXJlbmNlCiBQQVNTIFZhbGlkOiAgICJmdW5jdGlvbiBmKCkgeyAoe2F9PTE9MSkgfSIK
IFBBU1MgVmFsaWQ6ICAgIih7YTphfT0xPTEpIiB3aXRoIFJlZmVyZW5jZUVycm9yCiBQQVNTIFZh
bGlkOiAgICJmdW5jdGlvbiBmKCkgeyAoe2E6YX09MT0xKSB9IgorUEFTUyBJbnZhbGlkOiAidmFy
IHt4fSIKK1BBU1MgSW52YWxpZDogImZ1bmN0aW9uIGYoKSB7IHZhciB7eH0gfSIKK1BBU1MgSW52
YWxpZDogInZhciB7eCwgeX0iCitQQVNTIEludmFsaWQ6ICJmdW5jdGlvbiBmKCkgeyB2YXIge3gs
IHl9IH0iCitQQVNTIEludmFsaWQ6ICJ2YXIge3h9ID0gMjAsIHt4LCB5fSIKK1BBU1MgSW52YWxp
ZDogImZ1bmN0aW9uIGYoKSB7IHZhciB7eH0gPSAyMCwge3gsIHl9IH0iCitQQVNTIEludmFsaWQ6
ICJ2YXIge2ZvbzpiYXIsIGJhcjpiYXp9IgorUEFTUyBJbnZhbGlkOiAiZnVuY3Rpb24gZigpIHsg
dmFyIHtmb286YmFyLCBiYXI6YmF6fSB9IgorUEFTUyBJbnZhbGlkOiAidmFyIFt4XSIKK1BBU1Mg
SW52YWxpZDogImZ1bmN0aW9uIGYoKSB7IHZhciBbeF0gfSIKK1BBU1MgSW52YWxpZDogInZhciBb
eCwgeV0iCitQQVNTIEludmFsaWQ6ICJmdW5jdGlvbiBmKCkgeyB2YXIgW3gsIHldIH0iCitQQVNT
IEludmFsaWQ6ICJ2YXIgW3hdID0gW10sIFt4LCB5XSIKK1BBU1MgSW52YWxpZDogImZ1bmN0aW9u
IGYoKSB7IHZhciBbeF0gPSBbXSwgW3gsIHldIH0iCiBQQVNTIEludmFsaWQ6ICIoe2dldCBbeF0o
KXt9fSkiCiBQQVNTIEludmFsaWQ6ICJmdW5jdGlvbiBmKCkgeyAoe2dldCBbeF0oKXt9fSkgfSIK
IFBBU1MgSW52YWxpZDogIih7c2V0IFt4XSgpe319KSIKSW5kZXg6IExheW91dFRlc3RzL2pzL3Nj
cmlwdC10ZXN0cy9wYXJzZXItc3ludGF4LWNoZWNrLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2pzL3NjcmlwdC10ZXN0cy9wYXJzZXItc3ludGF4LWNoZWNrLmpzCShyZXZpc2lvbiAxNzkz
OTcpCisrKyBMYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvcGFyc2VyLXN5bnRheC1jaGVjay5q
cwkod29ya2luZyBjb3B5KQpAQCAtNDc1LDYgKzQ3NSwxMCBAQCB2YWxpZCgiJ3VzZSBzdHJpY3Qn
OyAoezE6IHh9PTEpIikKIHZhbGlkKCIndXNlIHN0cmljdCc7ICh7MTogeH09bnVsbCkiKQogdmFs
aWQoIid1c2Ugc3RyaWN0JzsgKHthOiBifT1udWxsKSIpCiB2YWxpZCgidmFyIHsxOnh9PTEiKQor
dmFsaWQoInZhciB7eH09MSIpCit2YWxpZCgidmFyIHt4LCB5fT0xIikKK3ZhbGlkKCJ2YXIgW3hd
PTEiKQordmFsaWQoInZhciBbeCwgeV09MSIpCiB2YWxpZCgiW3hdPTEiKQogdmFsaWQoInZhciBb
eF09MSIpCiB2YWxpZCgiKHtbeF06IDF9KSIpCkBAIC00ODYsNiArNDkwLDEzIEBAIHZhbGlkKCIo
e2F9PTEpPTEiKQogdmFsaWQoIih7YTphfT0xKT0xIikKIHZhbGlkKCIoe2F9PTE9MSkiKQogdmFs
aWQoIih7YTphfT0xPTEpIikKK2ludmFsaWQoInZhciB7eH0iKQoraW52YWxpZCgidmFyIHt4LCB5
fSIpCitpbnZhbGlkKCJ2YXIge3h9ID0gMjAsIHt4LCB5fSIpCitpbnZhbGlkKCJ2YXIge2Zvbzpi
YXIsIGJhcjpiYXp9IikKK2ludmFsaWQoInZhciBbeF0iKQoraW52YWxpZCgidmFyIFt4LCB5XSIp
CitpbnZhbGlkKCJ2YXIgW3hdID0gW10sIFt4LCB5XSIpCiBpbnZhbGlkKCIoe2dldCBbeF0oKXt9
fSkiKQogaW52YWxpZCgiKHtzZXQgW3hdKCl7fX0pIikKIGludmFsaWQoIih7Wy4uLnhdOiAxfSki
KQo=
</data>
<flag name="review"
          id="270714"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>