<?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>75202</bug_id>
          
          <creation_ts>2011-12-25 02:07:01 -0800</creation_ts>
          <short_desc>Rewrite the CSS parser of prepare-ChangeLog with unittests</short_desc>
          <delta_ts>2012-01-08 08:51:25 -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>Tools / Tests</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>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>73531</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>darin</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>527051</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-25 02:07:01 -0800</bug_when>
    <thetext>We should add unittests for the CSS parser (i.e. get_function_line_ranges_for_css()) of prepare-ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>527052</commentid>
    <comment_count>1</comment_count>
      <attachid>120509</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-25 03:09:53 -0800</bug_when>
    <thetext>Created attachment 120509
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529454</commentid>
    <comment_count>2</comment_count>
      <attachid>121095</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-01-04 04:17:22 -0800</bug_when>
    <thetext>Created attachment 121095
rebased patch for review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531658</commentid>
    <comment_count>3</comment_count>
      <attachid>121095</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2012-01-07 08:37:39 -0800</bug_when>
    <thetext>Comment on attachment 121095
rebased patch for review

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

It&apos;s great to be able to test this code!  r=me

I would really like to see test cases for the warn conditions, and please consider listing the method instead of just the language in %testFiles, but that shouldn&apos;t block landing this patch.

&gt; Tools/Scripts/prepare-ChangeLog:1385
&gt; +        foreach my $token (split m-(\{|\}|/\*|\*/)-, $_) {

Nit: I&apos;ve typically seen m## used instead of m-- when m// is undesirable, but this is okay.

&gt; Tools/Scripts/prepare-ChangeLog:1388
&gt; +                    warn &quot;mismatched brace found in $fileName\n&quot; if $inBrace;

Would be nice to have a test for this case.

&gt; Tools/Scripts/prepare-ChangeLog:1393
&gt; +                    warn &quot;mismatched brace found in $fileName\n&quot; if !$inBrace;

Would be nice to have a test for this case.

&gt; Tools/Scripts/prepare-ChangeLog:1402
&gt; +                warn &quot;mismatched comment found in $fileName\n&quot; if !$inComment;

Would be nice to have a test for this case.

&gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/parser_unittests.pl:59
&gt; +    my $parser = $test-&gt;{language} eq &quot;css&quot; ?
&gt; +       eval &quot;\\&amp;PrepareChangeLog::get_selector_line_ranges_for_css&quot; :
&gt; +       eval &quot;\\&amp;PrepareChangeLog::get_function_line_ranges_for_$test-&gt;{language}&quot;;

At this point, I think it would be easier to store the method name instead of just the language in %testFiles:

my %testFiles = (
    &quot;perl_unittests.pl&quot; =&gt; &quot;get_function_line_ranges_for_perl&quot;,
    &quot;python_unittests.py&quot; =&gt; &quot;get_function_line_ranges_for_python&quot;,
    &quot;java_unittests.java&quot; =&gt; &quot;get_function_line_ranges_for_java&quot;,
    &quot;cpp_unittests.cpp&quot; =&gt; &quot;get_function_line_ranges_for_cpp&quot;,
    &quot;css_unittests.css&quot; =&gt; &quot;get_selector_line_ranges_for_css&quot;,
);

Then this becomes simpler to read (change &apos;language&apos; to &apos;method&apos; in @testSet):

    my $parser = eval &quot;\\&amp;PrepareChangeLog::$test-&gt;{method}&quot;;

I&apos;m not going to withhold a review for this, but I think you should consider it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531665</commentid>
    <comment_count>4</comment_count>
      <attachid>121095</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2012-01-07 09:42:26 -0800</bug_when>
    <thetext>Comment on attachment 121095
rebased patch for review

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

&gt;&gt; Tools/Scripts/prepare-ChangeLog:1385
&gt;&gt; +        foreach my $token (split m-(\{|\}|/\*|\*/)-, $_) {
&gt; 
&gt; Nit: I&apos;ve typically seen m## used instead of m-- when m// is undesirable, but this is okay.

Nevermind...I see m-- and s-- are used elsewhere in prepare-ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531764</commentid>
    <comment_count>5</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-01-08 08:46:59 -0800</bug_when>
    <thetext>Committed r104402: &lt;http://trac.webkit.org/changeset/104402&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531765</commentid>
    <comment_count>6</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-01-08 08:51:14 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 121095 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=121095&amp;action=review
&gt; I would really like to see test cases for the warn conditions, and please consider listing the method instead of just the language in %testFiles, but that shouldn&apos;t block landing this patch.

Then let me land this patch for now. I&apos;ll write a follow-up patch for those test cases.

&gt; &gt; Tools/Scripts/prepare-ChangeLog:1385
&gt; &gt; +        foreach my $token (split m-(\{|\}|/\*|\*/)-, $_) {
&gt; 
&gt; Nit: I&apos;ve typically seen m## used instead of m-- when m// is undesirable, but this is okay.
&gt; Nevermind...I see m-- and s-- are used elsewhere in prepare-ChangeLog.

Yeah. (But I prefer m## personally too:-)

&gt; &gt; Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/parser_unittests.pl:59
&gt; &gt; +    my $parser = $test-&gt;{language} eq &quot;css&quot; ?
&gt; &gt; +       eval &quot;\\&amp;PrepareChangeLog::get_selector_line_ranges_for_css&quot; :
&gt; &gt; +       eval &quot;\\&amp;PrepareChangeLog::get_function_line_ranges_for_$test-&gt;{language}&quot;;
&gt; 
&gt; At this point, I think it would be easier to store the method name instead of just the language in %testFiles:
&gt; 
&gt; my %testFiles = (
&gt;     &quot;perl_unittests.pl&quot; =&gt; &quot;get_function_line_ranges_for_perl&quot;,
&gt;     &quot;python_unittests.py&quot; =&gt; &quot;get_function_line_ranges_for_python&quot;,
&gt;     &quot;java_unittests.java&quot; =&gt; &quot;get_function_line_ranges_for_java&quot;,
&gt;     &quot;cpp_unittests.cpp&quot; =&gt; &quot;get_function_line_ranges_for_cpp&quot;,
&gt;     &quot;css_unittests.css&quot; =&gt; &quot;get_selector_line_ranges_for_css&quot;,
&gt; );
&gt; 
&gt; Then this becomes simpler to read (change &apos;language&apos; to &apos;method&apos; in @testSet):
&gt; 
&gt;     my $parser = eval &quot;\\&amp;PrepareChangeLog::$test-&gt;{method}&quot;;

Fixed it and committed. Thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>120509</attachid>
            <date>2011-12-25 03:09:53 -0800</date>
            <delta_ts>2012-01-04 04:17:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75202-20111225200951.patch</filename>
            <type>text/plain</type>
            <size>9060</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAzNjY5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZGFiOTJkYmUwNTYwYTExYjRhMWUwNjMxYTZkNTdlNmI3
ZGQ2OGNkMS4uNzcxMmUzYmY2YWQyNzVjOTRjOGYxZWM4YTI0OWQ1NGE5OTJmMjZiMyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4
IEBACisyMDExLTEyLTI1ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXdyaXRlIHRoZSBDU1MgcGFyc2VyIG9mIHByZXBhcmUtQ2hhbmdlTG9nIHdpdGgg
dW5pdHRlc3RzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzUyMDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGUgY3VycmVudCBDU1MgcGFyc2VyIGNhbiBqdXN0IHBhcnNlIHNpbXBsZSBDU1NlcyBsaWtl
CisKKyAgICAgICAgICAgIGZvbyBiYXIgYmF6IHsKKyAgICAgICAgICAgICAgICBwcm9wZXJ0eTE6
IHZhbHVlOworICAgICAgICAgICAgICAgIHByb3BlcnR5MjogdmFsdWU7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgLCBhbmQgY2Fubm90IHBhcnNlIGNvbW1lbnRzIG5vciBhIENTUyBpbiB3aGlj
aCBhIHNlbGVjdG9yIGFuZCB7CisgICAgICAgIGFwcGVhcnMgaW4gZGlmZmVyZW50IGxpbmVzLiBU
aGlzIHBhdGNoIHJld3JpdGVzIHRoZSBDU1MgcGFyc2VyCisgICAgICAgIChpLmUuIGdldF9zZWxl
Y3Rvcl9saW5lX3Jhbmdlc19mb3JfY3NzKCkpIHNvIHRoYXQgaXQgY2FuIHBhcnNlIG1vcmUgQ1NT
ZXMKKyAgICAgICAgc2hvd24gaW4gY3NzX3VuaXR0ZXN0cy5jc3MuCisKKyAgICAgICAgVGVzdDog
U2NyaXB0cy93ZWJraXRwZXJsL3ByZXBhcmUtQ2hhbmdlTG9nX3VuaXR0ZXN0L3Jlc291cmNlcy9j
c3NfdW5pdHRlc3RzLmNzcworCisgICAgICAgICogU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZzoK
KyAgICAgICAgKGdldF9zZWxlY3Rvcl9saW5lX3Jhbmdlc19mb3JfY3NzKToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHBlcmwvcHJlcGFyZS1DaGFuZ2VMb2dfdW5pdHRlc3QvcGFyc2VyX3VuaXR0
ZXN0cy5wbDoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHBlcmwvcHJlcGFyZS1DaGFuZ2VMb2df
dW5pdHRlc3QvcmVzb3VyY2VzL2Nzc191bml0dGVzdHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHBlcmwvcHJlcGFyZS1DaGFuZ2VMb2dfdW5pdHRlc3QvcmVz
b3VyY2VzL2Nzc191bml0dGVzdHMuY3NzOiBBZGRlZC4KKyAgICAgICAgKGVsZW1lbnQxKToKKyAg
ICAgICAgKGVsZW1lbnQyKToKKyAgICAgICAgKGVsZW1lbnQzKToKKyAgICAgICAgKGVsZW1lbnQ0
LnApOgorICAgICAgICAoZWxlbWVudDUucC5xLnIucyk6CisgICAgICAgIChlbGVtZW50NiNwKToK
KyAgICAgICAgKGVsZW1lbnQ3IGVsZW1lbnQ4KToKKyAgICAgICAgKGVsZW1lbnQ5LnAgZWxlbWVu
dDEwLnEpOgorICAgICAgICAoZWxlbWVudDExI3AgZWxlbWVudDEyI3EpOgorICAgICAgICAoZWxl
bWVudDEzLCBlbGVtZW50MTQpOgorICAgICAgICAoLnApOgorICAgICAgICAoI3ApOgorICAgICAg
ICAoLnAgZWxlbWVudDE1ICNxIGVsZW1lbnQxNi5yIGVsZW1lbnQxNyNzKToKKyAgICAgICAgKGVs
ZW1lbnQxODp0YXJnZXQpOgorICAgICAgICAoZWxlbWVudDE5KToKKyAgICAgICAgKGVsZW1lbnQy
MCk6CisgICAgICAgIChlbGVtZW50MjEpOgorICAgICAgICAoZWxlbWVudDIyKToKKwogMjAxMS0x
Mi0yNCAgS2VudGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWRk
IHVuaXR0ZXN0cyBmb3IgdGhlIEMrKyBwYXJzZXIgb2YgcHJlcGFyZS1DaGFuZ2VMb2cKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvcHJlcGFyZS1DaGFuZ2VMb2cgYi9Ub29scy9TY3JpcHRzL3By
ZXBhcmUtQ2hhbmdlTG9nCmluZGV4IDcxMzZmZGZkNDQ0Zjg3YzM3YzU0ZjQwYzcxODc5MzZmZGVj
Mzg5ZTYuLmE5ZDYwYzQwMWE2ZWY5ZWIyYzE1Y2M1NzU1ZDlkYTQxZWU1ODhjYjQgMTAwNzU1Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvcHJlcGFyZS1DaGFuZ2VMb2cKKysrIGIvVG9vbHMvU2NyaXB0cy9w
cmVwYXJlLUNoYW5nZUxvZwpAQCAtMTM2Nyw3ICsxMzY3LDYgQEAgc3ViIGdldF9mdW5jdGlvbl9s
aW5lX3Jhbmdlc19mb3JfcHl0aG9uKCQkKQogIyBSZWFkIGEgZmlsZSBhbmQgZ2V0IGFsbCB0aGUg
bGluZSByYW5nZXMgb2YgdGhlIHRoaW5ncyB0aGF0IGxvb2sgbGlrZSBDU1Mgc2VsZWN0b3JzLiAg
QSBzZWxlY3RvciBpcwogIyBhbnl0aGluZyBiZWZvcmUgYW4gb3BlbmluZyBicmFjZSBvbiBhIGxp
bmUuIEEgc2VsZWN0b3Igc3RhcnRzIGF0IHRoZSBsaW5lIGNvbnRhaW5pbmcgdGhlIG9wZW5pbmcK
ICMgYnJhY2UgYW5kIGVuZHMgYXQgdGhlIGNsb3NpbmcgYnJhY2UuCi0jIEZJWE1FOiBDb21tZW50
cyBhcmUgcGFyc2VkIGp1c3QgbGlrZSB1bmNvbW1lbnRlZCB0ZXh0LgogIwogIyBSZXN1bHQgaXMg
YSBsaXN0IG9mIHRyaXBsZXM6IFsgc3RhcnRfbGluZSwgZW5kX2xpbmUsIHNlbGVjdG9yIF0uCiAK
QEAgLTEzNzksMjEgKzEzNzgsMzYgQEAgc3ViIGdldF9zZWxlY3Rvcl9saW5lX3Jhbmdlc19mb3Jf
Y3NzKCQkKQogCiAgICAgbXkgJGN1cnJlbnRTZWxlY3RvciA9ICIiOwogICAgIG15ICRzdGFydCA9
IDA7CisgICAgbXkgJGluQ29tbWVudCA9IDA7CisgICAgbXkgJGluQnJhY2UgPSAwOwogCiAgICAg
d2hpbGUgKDwkZmlsZUhhbmRsZT4pIHsKLSAgICAgICAgaWYgKC9eWyBcdF0qKC4qW14gXHRdKVsg
XHRdKnsvKSB7Ci0gICAgICAgICAgICAkY3VycmVudFNlbGVjdG9yID0gJDE7Ci0gICAgICAgICAg
ICAkc3RhcnQgPSAkLjsKLSAgICAgICAgfQotICAgICAgICBpZiAoaW5kZXgoJF8sICJ9IikgPj0g
MCkgewotICAgICAgICAgICAgdW5sZXNzICgkc3RhcnQpIHsKLSAgICAgICAgICAgICAgICB3YXJu
ICJtaXNtYXRjaGVkIGJyYWNlcyBpbiAkZmlsZU5hbWVcbiI7Ci0gICAgICAgICAgICAgICAgbmV4
dDsKKyAgICAgICAgZm9yZWFjaCBteSAkdG9rZW4gKHNwbGl0IG0tKFx7fFx9fC9cKnxcKi8pLSwg
JF8pIHsKKyAgICAgICAgICAgIGlmICgkdG9rZW4gZXEgInsiKSB7CisgICAgICAgICAgICAgICAg
aWYgKCEkaW5Db21tZW50KSB7CisgICAgICAgICAgICAgICAgICAgIHdhcm4gIm1pc21hdGNoZWQg
YnJhY2UgZm91bmQgaW4gJGZpbGVOYW1lXG4iIGlmICRpbkJyYWNlOworICAgICAgICAgICAgICAg
ICAgICAkaW5CcmFjZSA9IDE7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNp
ZiAoJHRva2VuIGVxICJ9IikgeworICAgICAgICAgICAgICAgIGlmICghJGluQ29tbWVudCkgewor
ICAgICAgICAgICAgICAgICAgICB3YXJuICJtaXNtYXRjaGVkIGJyYWNlIGZvdW5kIGluICRmaWxl
TmFtZVxuIiBpZiAhJGluQnJhY2U7CisgICAgICAgICAgICAgICAgICAgICRpbkJyYWNlID0gMDsK
KyAgICAgICAgICAgICAgICAgICAgcHVzaChAcmFuZ2VzLCBbJHN0YXJ0LCAkLiwgJGN1cnJlbnRT
ZWxlY3Rvcl0pOworICAgICAgICAgICAgICAgICAgICAkY3VycmVudFNlbGVjdG9yID0gIiI7Cisg
ICAgICAgICAgICAgICAgICAgICRzdGFydCA9IDA7CisgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgfSBlbHNpZiAoJHRva2VuIGVxICIvKiIpIHsKKyAgICAgICAgICAgICAgICAkaW5Db21t
ZW50ID0gMTsKKyAgICAgICAgICAgIH0gZWxzaWYgKCR0b2tlbiBlcSAiKi8iKSB7CisgICAgICAg
ICAgICAgICAgd2FybiAibWlzbWF0Y2hlZCBjb21tZW50IGZvdW5kIGluICRmaWxlTmFtZVxuIiBp
ZiAhJGluQ29tbWVudDsKKyAgICAgICAgICAgICAgICAkaW5Db21tZW50ID0gMDsKKyAgICAgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKCEkaW5Db21tZW50IGFuZCAhJGluQnJh
Y2UgYW5kICR0b2tlbiAhfiAvXltcc1x0XSokLykgeworICAgICAgICAgICAgICAgICAgICAkdG9r
ZW4gPX4gcy9eW1xzXHRdKnxbXHNcdF0qJC8vZzsKKyAgICAgICAgICAgICAgICAgICAgJGN1cnJl
bnRTZWxlY3RvciA9ICR0b2tlbjsKKyAgICAgICAgICAgICAgICAgICAgJHN0YXJ0ID0gJC47Cisg
ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQotICAgICAgICAgICAgcHVzaChAcmFuZ2Vz
LCBbJHN0YXJ0LCAkLiwgJGN1cnJlbnRTZWxlY3Rvcl0pOwotICAgICAgICAgICAgJGN1cnJlbnRT
ZWxlY3RvciA9ICIiOwotICAgICAgICAgICAgJHN0YXJ0ID0gMDsKLSAgICAgICAgICAgIG5leHQ7
CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVy
bC9wcmVwYXJlLUNoYW5nZUxvZ191bml0dGVzdC9wYXJzZXJfdW5pdHRlc3RzLnBsIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRwZXJsL3ByZXBhcmUtQ2hhbmdlTG9nX3VuaXR0ZXN0L3BhcnNlcl91bml0
dGVzdHMucGwKaW5kZXggYmFkOTA4MDViYjhmM2ZhOWNmNTBiMDgxZGM5OGRmNWU5ZjMzMWEzNC4u
ZjRhZGIyZTg0MzY1NzViNjQ2YjllMDdlOTExYmU3MGJhY2Q3ZDVhYSAxMDA2NDQKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRwZXJsL3ByZXBhcmUtQ2hhbmdlTG9nX3VuaXR0ZXN0L3BhcnNlcl91
bml0dGVzdHMucGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL3ByZXBhcmUtQ2hhbmdl
TG9nX3VuaXR0ZXN0L3BhcnNlcl91bml0dGVzdHMucGwKQEAgLTM1LDcgKzM1LDkgQEAgdXNlIExv
YWRBc01vZHVsZSBxdyhQcmVwYXJlQ2hhbmdlTG9nIHByZXBhcmUtQ2hhbmdlTG9nKTsKIG15ICV0
ZXN0RmlsZXMgPSAoInBlcmxfdW5pdHRlc3RzLnBsIiA9PiAicGVybCIsCiAgICAgICAgICAgICAg
ICAgICJweXRob25fdW5pdHRlc3RzLnB5IiA9PiAicHl0aG9uIiwKICAgICAgICAgICAgICAgICAg
ImphdmFfdW5pdHRlc3RzLmphdmEiID0+ICJqYXZhIiwKLSAgICAgICAgICAgICAgICAgImNwcF91
bml0dGVzdHMuY3BwIiA9PiAiY3BwIik7CisgICAgICAgICAgICAgICAgICJjcHBfdW5pdHRlc3Rz
LmNwcCIgPT4gImNwcCIsCisgICAgICAgICAgICAgICAgICJjc3NfdW5pdHRlc3RzLmNzcyIgPT4g
ImNzcyIsCisgICAgICAgICAgICAgICAgKTsKIAogbXkgJHJlc2V0UmVzdWx0czsKIEdldE9wdGlv
bnMoJ3Jlc2V0LXJlc3VsdHMnID0+IFwkcmVzZXRSZXN1bHRzKTsKQEAgLTUyLDcgKzU0LDkgQEAg
Zm9yZWFjaCBteSAkdGVzdEZpbGUgKHNvcnQga2V5cyAldGVzdEZpbGVzKSB7CiBwbGFuKHRlc3Rz
ID0+IHNjYWxhciBAdGVzdFNldCk7CiBmb3JlYWNoIG15ICR0ZXN0IChAdGVzdFNldCkgewogICAg
IG9wZW4gRkgsICI8ICR0ZXN0LT57aW5wdXRGaWxlfSIgb3IgZGllICJDYW5ub3Qgb3BlbiAkdGVz
dC0+e2lucHV0RmlsZX06ICQhIjsKLSAgICBteSAkcGFyc2VyID0gZXZhbCAiXFwmUHJlcGFyZUNo
YW5nZUxvZzo6Z2V0X2Z1bmN0aW9uX2xpbmVfcmFuZ2VzX2Zvcl8kdGVzdC0+e2xhbmd1YWdlfSI7
CisgICAgbXkgJHBhcnNlciA9ICR0ZXN0LT57bGFuZ3VhZ2V9IGVxICJjc3MiID8KKyAgICAgICBl
dmFsICJcXCZQcmVwYXJlQ2hhbmdlTG9nOjpnZXRfc2VsZWN0b3JfbGluZV9yYW5nZXNfZm9yX2Nz
cyIgOgorICAgICAgIGV2YWwgIlxcJlByZXBhcmVDaGFuZ2VMb2c6OmdldF9mdW5jdGlvbl9saW5l
X3Jhbmdlc19mb3JfJHRlc3QtPntsYW5ndWFnZX0iOwogICAgIG15IEBhY3R1YWxPdXRwdXQgPSAk
cGFyc2VyLT4oXCpGSCwgJHRlc3QtPntpbnB1dEZpbGV9KTs7CiAgICAgY2xvc2UgRkg7CiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9wcmVwYXJlLUNoYW5nZUxvZ191bml0
dGVzdC9yZXNvdXJjZXMvY3NzX3VuaXR0ZXN0cy1leHBlY3RlZC50eHQgYi9Ub29scy9TY3JpcHRz
L3dlYmtpdHBlcmwvcHJlcGFyZS1DaGFuZ2VMb2dfdW5pdHRlc3QvcmVzb3VyY2VzL2Nzc191bml0
dGVzdHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc5YWE5NDM2NTk3M2ZlN2E5NmIzOGY1ODkz
YjVkMjZkMGQ4MzVmZmEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBl
cmwvcHJlcGFyZS1DaGFuZ2VMb2dfdW5pdHRlc3QvcmVzb3VyY2VzL2Nzc191bml0dGVzdHMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsOTIgQEAKK1sKKyAgWworICAgICcyMCcsCisgICAgJzIxJywK
KyAgICAnZWxlbWVudDEnCisgIF0sCisgIFsKKyAgICAnMjMnLAorICAgICcyMycsCisgICAgJ2Vs
ZW1lbnQyJworICBdLAorICBbCisgICAgJzI1JywKKyAgICAnMjcnLAorICAgICdlbGVtZW50MycK
KyAgXSwKKyAgWworICAgICcyOScsCisgICAgJzMwJywKKyAgICAnZWxlbWVudDQucCcKKyAgXSwK
KyAgWworICAgICczMicsCisgICAgJzMzJywKKyAgICAnZWxlbWVudDUucC5xLnIucycKKyAgXSwK
KyAgWworICAgICczNScsCisgICAgJzM2JywKKyAgICAnZWxlbWVudDYjcCcKKyAgXSwKKyAgWwor
ICAgICczOCcsCisgICAgJzM5JywKKyAgICAnZWxlbWVudDcgZWxlbWVudDgnCisgIF0sCisgIFsK
KyAgICAnNDEnLAorICAgICc0MicsCisgICAgJ2VsZW1lbnQ5LnAgZWxlbWVudDEwLnEnCisgIF0s
CisgIFsKKyAgICAnNDQnLAorICAgICc0NScsCisgICAgJ2VsZW1lbnQxMSNwIGVsZW1lbnQxMiNx
JworICBdLAorICBbCisgICAgJzQ3JywKKyAgICAnNDgnLAorICAgICdlbGVtZW50MTMsIGVsZW1l
bnQxNCcKKyAgXSwKKyAgWworICAgICc1MCcsCisgICAgJzUxJywKKyAgICAnLnAnCisgIF0sCisg
IFsKKyAgICAnNTMnLAorICAgICc1NScsCisgICAgJyNwJworICBdLAorICBbCisgICAgJzU3JywK
KyAgICAnNTgnLAorICAgICcucCBlbGVtZW50MTUgI3EgZWxlbWVudDE2LnIgZWxlbWVudDE3I3Mn
CisgIF0sCisgIFsKKyAgICAnNjAnLAorICAgICc2MScsCisgICAgJ2VsZW1lbnQxODp0YXJnZXQn
CisgIF0sCisgIFsKKyAgICAnNjMnLAorICAgICc2NScsCisgICAgJ2VsZW1lbnQxOScKKyAgXSwK
KyAgWworICAgICc2NycsCisgICAgJzY5JywKKyAgICAnZWxlbWVudDIwJworICBdLAorICBbCisg
ICAgJzcxJywKKyAgICAnNzQnLAorICAgICdlbGVtZW50MjEnCisgIF0sCisgIFsKKyAgICAnNzYn
LAorICAgICc3OScsCisgICAgJ2VsZW1lbnQyMicKKyAgXQorXQpkaWZmIC0tZ2l0IGEvVG9vbHMv
U2NyaXB0cy93ZWJraXRwZXJsL3ByZXBhcmUtQ2hhbmdlTG9nX3VuaXR0ZXN0L3Jlc291cmNlcy9j
c3NfdW5pdHRlc3RzLmNzcyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9wcmVwYXJlLUNoYW5n
ZUxvZ191bml0dGVzdC9yZXNvdXJjZXMvY3NzX3VuaXR0ZXN0cy5jc3MKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGJk
MTcyZWMxNWJlYzAyOWE4ZWU0M2VjYTAxMDdkM2VhZWQ1MzJiOQotLS0gL2Rldi9udWxsCisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9wcmVwYXJlLUNoYW5nZUxvZ191bml0dGVzdC9yZXNv
dXJjZXMvY3NzX3VuaXR0ZXN0cy5jc3MKQEAgLTAsMCArMSw4NSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICog
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh
aWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworZWxlbWVudDEgewor
fQorCitlbGVtZW50MiB7IH0KKworZWxlbWVudDMKK3sKK30KKworZWxlbWVudDQucCB7Cit9CisK
K2VsZW1lbnQ1LnAucS5yLnMgeworfQorCitlbGVtZW50NiNwIHsKK30KKworZWxlbWVudDcgZWxl
bWVudDggeworfQorCitlbGVtZW50OS5wIGVsZW1lbnQxMC5xIHsKK30KKworZWxlbWVudDExI3Ag
ZWxlbWVudDEyI3EgeworfQorCitlbGVtZW50MTMsIGVsZW1lbnQxNCB7Cit9CisKKy5wIHsKK30K
KworI3AgeworCit9CisKKy5wIGVsZW1lbnQxNSAjcSBlbGVtZW50MTYuciBlbGVtZW50MTcjcyB7
Cit9CisKK2VsZW1lbnQxODp0YXJnZXQgeworfQorCitlbGVtZW50MTkgeworICAgIHByb3BlcnR5
MTogMTIzCit9CisKK2VsZW1lbnQyMCB7CisgICAgcHJvcGVydHkxOiAxMjM7Cit9CisKK2VsZW1l
bnQyMSB7CisgICAgcHJvcGVydHkxOiAxMjM7CisgICAgcHJvcGVydHkyOiA0NTY7Cit9CisKK2Vs
ZW1lbnQyMiB7CisgICAgcHJvcGVydHkxOiAxMjM7CisgICAgLyogY29tbWVudCAqLworfQorCisv
KgorZWxlbWVudEluc2lkZUNvbW1lbnQgeworICAgIHByb3BlcnR5MTogMTIzOworfQorKi8K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121095</attachid>
            <date>2012-01-04 04:17:22 -0800</date>
            <delta_ts>2012-01-08 08:51:25 -0800</delta_ts>
            <desc>rebased patch for review</desc>
            <filename>bug-75202-20120104211720.patch</filename>
            <type>text/plain</type>
            <size>9055</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0MDI1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYmYxYWZlODE4NDIwYTkxMjE1ZTM1YmEwNjBmZDVlZmFm
Y2YxNDMxNi4uNjc3ZDk1ZGRiYjY2ZWEyYTZjMGVhOGJjNjJhNjFmZGI0OTU2MjllYiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4
IEBACisyMDEyLTAxLTA0ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXdyaXRlIHRoZSBDU1MgcGFyc2VyIG9mIHByZXBhcmUtQ2hhbmdlTG9nIHdpdGgg
dW5pdHRlc3RzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzUyMDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGUgY3VycmVudCBDU1MgcGFyc2VyIGNhbiBqdXN0IHBhcnNlIHNpbXBsZSBDU1NlcyBsaWtl
CisKKyAgICAgICAgICAgIGZvbyBiYXIgYmF6IHsKKyAgICAgICAgICAgICAgICBwcm9wZXJ0eTE6
IHZhbHVlOworICAgICAgICAgICAgICAgIHByb3BlcnR5MjogdmFsdWU7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgLCBhbmQgY2Fubm90IHBhcnNlIGNvbW1lbnRzIG5vciBhIENTUyBpbiB3aGlj
aCBhIHNlbGVjdG9yIGFuZCB7CisgICAgICAgIGFwcGVhcnMgaW4gZGlmZmVyZW50IGxpbmVzLiBU
aGlzIHBhdGNoIHJld3JpdGVzIHRoZSBDU1MgcGFyc2VyCisgICAgICAgIChpLmUuIGdldF9zZWxl
Y3Rvcl9saW5lX3Jhbmdlc19mb3JfY3NzKCkpIHNvIHRoYXQgaXQgY2FuIHBhcnNlIG1vcmUgQ1NT
ZXMKKyAgICAgICAgc2hvd24gaW4gY3NzX3VuaXR0ZXN0cy5jc3MuCisKKyAgICAgICAgVGVzdDog
U2NyaXB0cy93ZWJraXRwZXJsL3ByZXBhcmUtQ2hhbmdlTG9nX3VuaXR0ZXN0L3Jlc291cmNlcy9j
c3NfdW5pdHRlc3RzLmNzcworCisgICAgICAgICogU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZzoK
KyAgICAgICAgKGdldF9zZWxlY3Rvcl9saW5lX3Jhbmdlc19mb3JfY3NzKToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHBlcmwvcHJlcGFyZS1DaGFuZ2VMb2dfdW5pdHRlc3QvcGFyc2VyX3VuaXR0
ZXN0cy5wbDoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHBlcmwvcHJlcGFyZS1DaGFuZ2VMb2df
dW5pdHRlc3QvcmVzb3VyY2VzL2Nzc191bml0dGVzdHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHBlcmwvcHJlcGFyZS1DaGFuZ2VMb2dfdW5pdHRlc3QvcmVz
b3VyY2VzL2Nzc191bml0dGVzdHMuY3NzOiBBZGRlZC4KKyAgICAgICAgKGVsZW1lbnQxKToKKyAg
ICAgICAgKGVsZW1lbnQyKToKKyAgICAgICAgKGVsZW1lbnQzKToKKyAgICAgICAgKGVsZW1lbnQ0
LnApOgorICAgICAgICAoZWxlbWVudDUucC5xLnIucyk6CisgICAgICAgIChlbGVtZW50NiNwKToK
KyAgICAgICAgKGVsZW1lbnQ3IGVsZW1lbnQ4KToKKyAgICAgICAgKGVsZW1lbnQ5LnAgZWxlbWVu
dDEwLnEpOgorICAgICAgICAoZWxlbWVudDExI3AgZWxlbWVudDEyI3EpOgorICAgICAgICAoZWxl
bWVudDEzLCBlbGVtZW50MTQpOgorICAgICAgICAoLnApOgorICAgICAgICAoI3ApOgorICAgICAg
ICAoLnAgZWxlbWVudDE1ICNxIGVsZW1lbnQxNi5yIGVsZW1lbnQxNyNzKToKKyAgICAgICAgKGVs
ZW1lbnQxODp0YXJnZXQpOgorICAgICAgICAoZWxlbWVudDE5KToKKyAgICAgICAgKGVsZW1lbnQy
MCk6CisgICAgICAgIChlbGVtZW50MjEpOgorICAgICAgICAoZWxlbWVudDIyKToKKwogMjAxMi0w
MS0wNCAgTWFyeSBXdSAgPG1hcnkud3VAdG9yY2htb2JpbGUuY29tLmNuPgogCiAgICAgICAgIEVu
YWJsZSBET1dOTE9BRF9BVFRSSUJVVEUgaW4gQmxhY2tCZXJyeSBwb3J0aW5nCmRpZmYgLS1naXQg
YS9Ub29scy9TY3JpcHRzL3ByZXBhcmUtQ2hhbmdlTG9nIGIvVG9vbHMvU2NyaXB0cy9wcmVwYXJl
LUNoYW5nZUxvZwppbmRleCA3MTM2ZmRmZDQ0NGY4N2MzN2M1NGY0MGM3MTg3OTM2ZmRlYzM4OWU2
Li5hOWQ2MGM0MDFhNmVmOWViMmMxNWNjNTc1NWQ5ZGE0MWVlNTg4Y2I0IDEwMDc1NQotLS0gYS9U
b29scy9TY3JpcHRzL3ByZXBhcmUtQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL1NjcmlwdHMvcHJlcGFy
ZS1DaGFuZ2VMb2cKQEAgLTEzNjcsNyArMTM2Nyw2IEBAIHN1YiBnZXRfZnVuY3Rpb25fbGluZV9y
YW5nZXNfZm9yX3B5dGhvbigkJCkKICMgUmVhZCBhIGZpbGUgYW5kIGdldCBhbGwgdGhlIGxpbmUg
cmFuZ2VzIG9mIHRoZSB0aGluZ3MgdGhhdCBsb29rIGxpa2UgQ1NTIHNlbGVjdG9ycy4gIEEgc2Vs
ZWN0b3IgaXMKICMgYW55dGhpbmcgYmVmb3JlIGFuIG9wZW5pbmcgYnJhY2Ugb24gYSBsaW5lLiBB
IHNlbGVjdG9yIHN0YXJ0cyBhdCB0aGUgbGluZSBjb250YWluaW5nIHRoZSBvcGVuaW5nCiAjIGJy
YWNlIGFuZCBlbmRzIGF0IHRoZSBjbG9zaW5nIGJyYWNlLgotIyBGSVhNRTogQ29tbWVudHMgYXJl
IHBhcnNlZCBqdXN0IGxpa2UgdW5jb21tZW50ZWQgdGV4dC4KICMKICMgUmVzdWx0IGlzIGEgbGlz
dCBvZiB0cmlwbGVzOiBbIHN0YXJ0X2xpbmUsIGVuZF9saW5lLCBzZWxlY3RvciBdLgogCkBAIC0x
Mzc5LDIxICsxMzc4LDM2IEBAIHN1YiBnZXRfc2VsZWN0b3JfbGluZV9yYW5nZXNfZm9yX2Nzcygk
JCkKIAogICAgIG15ICRjdXJyZW50U2VsZWN0b3IgPSAiIjsKICAgICBteSAkc3RhcnQgPSAwOwor
ICAgIG15ICRpbkNvbW1lbnQgPSAwOworICAgIG15ICRpbkJyYWNlID0gMDsKIAogICAgIHdoaWxl
ICg8JGZpbGVIYW5kbGU+KSB7Ci0gICAgICAgIGlmICgvXlsgXHRdKiguKlteIFx0XSlbIFx0XSp7
LykgewotICAgICAgICAgICAgJGN1cnJlbnRTZWxlY3RvciA9ICQxOwotICAgICAgICAgICAgJHN0
YXJ0ID0gJC47Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGluZGV4KCRfLCAifSIpID49IDApIHsK
LSAgICAgICAgICAgIHVubGVzcyAoJHN0YXJ0KSB7Ci0gICAgICAgICAgICAgICAgd2FybiAibWlz
bWF0Y2hlZCBicmFjZXMgaW4gJGZpbGVOYW1lXG4iOwotICAgICAgICAgICAgICAgIG5leHQ7Cisg
ICAgICAgIGZvcmVhY2ggbXkgJHRva2VuIChzcGxpdCBtLShce3xcfXwvXCp8XCovKS0sICRfKSB7
CisgICAgICAgICAgICBpZiAoJHRva2VuIGVxICJ7IikgeworICAgICAgICAgICAgICAgIGlmICgh
JGluQ29tbWVudCkgeworICAgICAgICAgICAgICAgICAgICB3YXJuICJtaXNtYXRjaGVkIGJyYWNl
IGZvdW5kIGluICRmaWxlTmFtZVxuIiBpZiAkaW5CcmFjZTsKKyAgICAgICAgICAgICAgICAgICAg
JGluQnJhY2UgPSAxOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzaWYgKCR0
b2tlbiBlcSAifSIpIHsKKyAgICAgICAgICAgICAgICBpZiAoISRpbkNvbW1lbnQpIHsKKyAgICAg
ICAgICAgICAgICAgICAgd2FybiAibWlzbWF0Y2hlZCBicmFjZSBmb3VuZCBpbiAkZmlsZU5hbWVc
biIgaWYgISRpbkJyYWNlOworICAgICAgICAgICAgICAgICAgICAkaW5CcmFjZSA9IDA7CisgICAg
ICAgICAgICAgICAgICAgIHB1c2goQHJhbmdlcywgWyRzdGFydCwgJC4sICRjdXJyZW50U2VsZWN0
b3JdKTsKKyAgICAgICAgICAgICAgICAgICAgJGN1cnJlbnRTZWxlY3RvciA9ICIiOworICAgICAg
ICAgICAgICAgICAgICAkc3RhcnQgPSAwOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IH0gZWxzaWYgKCR0b2tlbiBlcSAiLyoiKSB7CisgICAgICAgICAgICAgICAgJGluQ29tbWVudCA9
IDE7CisgICAgICAgICAgICB9IGVsc2lmICgkdG9rZW4gZXEgIiovIikgeworICAgICAgICAgICAg
ICAgIHdhcm4gIm1pc21hdGNoZWQgY29tbWVudCBmb3VuZCBpbiAkZmlsZU5hbWVcbiIgaWYgISRp
bkNvbW1lbnQ7CisgICAgICAgICAgICAgICAgJGluQ29tbWVudCA9IDA7CisgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgIGlmICghJGluQ29tbWVudCBhbmQgISRpbkJyYWNlIGFu
ZCAkdG9rZW4gIX4gL15bXHNcdF0qJC8pIHsKKyAgICAgICAgICAgICAgICAgICAgJHRva2VuID1+
IHMvXltcc1x0XSp8W1xzXHRdKiQvL2c7CisgICAgICAgICAgICAgICAgICAgICRjdXJyZW50U2Vs
ZWN0b3IgPSAkdG9rZW47CisgICAgICAgICAgICAgICAgICAgICRzdGFydCA9ICQuOworICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHB1c2goQHJhbmdlcywgWyRz
dGFydCwgJC4sICRjdXJyZW50U2VsZWN0b3JdKTsKLSAgICAgICAgICAgICRjdXJyZW50U2VsZWN0
b3IgPSAiIjsKLSAgICAgICAgICAgICRzdGFydCA9IDA7Ci0gICAgICAgICAgICBuZXh0OwogICAg
ICAgICB9CiAgICAgfQogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvcHJl
cGFyZS1DaGFuZ2VMb2dfdW5pdHRlc3QvcGFyc2VyX3VuaXR0ZXN0cy5wbCBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cGVybC9wcmVwYXJlLUNoYW5nZUxvZ191bml0dGVzdC9wYXJzZXJfdW5pdHRlc3Rz
LnBsCmluZGV4IGJhZDkwODA1YmI4ZjNmYTljZjUwYjA4MWRjOThkZjVlOWYzMzFhMzQuLmY0YWRi
MmU4NDM2NTc1YjY0NmI5ZTA3ZTkxMWJlNzBiYWNkN2Q1YWEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cGVybC9wcmVwYXJlLUNoYW5nZUxvZ191bml0dGVzdC9wYXJzZXJfdW5pdHRl
c3RzLnBsCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9wcmVwYXJlLUNoYW5nZUxvZ191
bml0dGVzdC9wYXJzZXJfdW5pdHRlc3RzLnBsCkBAIC0zNSw3ICszNSw5IEBAIHVzZSBMb2FkQXNN
b2R1bGUgcXcoUHJlcGFyZUNoYW5nZUxvZyBwcmVwYXJlLUNoYW5nZUxvZyk7CiBteSAldGVzdEZp
bGVzID0gKCJwZXJsX3VuaXR0ZXN0cy5wbCIgPT4gInBlcmwiLAogICAgICAgICAgICAgICAgICAi
cHl0aG9uX3VuaXR0ZXN0cy5weSIgPT4gInB5dGhvbiIsCiAgICAgICAgICAgICAgICAgICJqYXZh
X3VuaXR0ZXN0cy5qYXZhIiA9PiAiamF2YSIsCi0gICAgICAgICAgICAgICAgICJjcHBfdW5pdHRl
c3RzLmNwcCIgPT4gImNwcCIpOworICAgICAgICAgICAgICAgICAiY3BwX3VuaXR0ZXN0cy5jcHAi
ID0+ICJjcHAiLAorICAgICAgICAgICAgICAgICAiY3NzX3VuaXR0ZXN0cy5jc3MiID0+ICJjc3Mi
LAorICAgICAgICAgICAgICAgICk7CiAKIG15ICRyZXNldFJlc3VsdHM7CiBHZXRPcHRpb25zKCdy
ZXNldC1yZXN1bHRzJyA9PiBcJHJlc2V0UmVzdWx0cyk7CkBAIC01Miw3ICs1NCw5IEBAIGZvcmVh
Y2ggbXkgJHRlc3RGaWxlIChzb3J0IGtleXMgJXRlc3RGaWxlcykgewogcGxhbih0ZXN0cyA9PiBz
Y2FsYXIgQHRlc3RTZXQpOwogZm9yZWFjaCBteSAkdGVzdCAoQHRlc3RTZXQpIHsKICAgICBvcGVu
IEZILCAiPCAkdGVzdC0+e2lucHV0RmlsZX0iIG9yIGRpZSAiQ2Fubm90IG9wZW4gJHRlc3QtPntp
bnB1dEZpbGV9OiAkISI7Ci0gICAgbXkgJHBhcnNlciA9IGV2YWwgIlxcJlByZXBhcmVDaGFuZ2VM
b2c6OmdldF9mdW5jdGlvbl9saW5lX3Jhbmdlc19mb3JfJHRlc3QtPntsYW5ndWFnZX0iOworICAg
IG15ICRwYXJzZXIgPSAkdGVzdC0+e2xhbmd1YWdlfSBlcSAiY3NzIiA/CisgICAgICAgZXZhbCAi
XFwmUHJlcGFyZUNoYW5nZUxvZzo6Z2V0X3NlbGVjdG9yX2xpbmVfcmFuZ2VzX2Zvcl9jc3MiIDoK
KyAgICAgICBldmFsICJcXCZQcmVwYXJlQ2hhbmdlTG9nOjpnZXRfZnVuY3Rpb25fbGluZV9yYW5n
ZXNfZm9yXyR0ZXN0LT57bGFuZ3VhZ2V9IjsKICAgICBteSBAYWN0dWFsT3V0cHV0ID0gJHBhcnNl
ci0+KFwqRkgsICR0ZXN0LT57aW5wdXRGaWxlfSk7OwogICAgIGNsb3NlIEZIOwogCmRpZmYgLS1n
aXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvcHJlcGFyZS1DaGFuZ2VMb2dfdW5pdHRlc3Qv
cmVzb3VyY2VzL2Nzc191bml0dGVzdHMtZXhwZWN0ZWQudHh0IGIvVG9vbHMvU2NyaXB0cy93ZWJr
aXRwZXJsL3ByZXBhcmUtQ2hhbmdlTG9nX3VuaXR0ZXN0L3Jlc291cmNlcy9jc3NfdW5pdHRlc3Rz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43OWFhOTQzNjU5NzNmZTdhOTZiMzhmNTg5M2I1ZDI2
ZDBkODM1ZmZhCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL3By
ZXBhcmUtQ2hhbmdlTG9nX3VuaXR0ZXN0L3Jlc291cmNlcy9jc3NfdW5pdHRlc3RzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDkyIEBACitbCisgIFsKKyAgICAnMjAnLAorICAgICcyMScsCisgICAg
J2VsZW1lbnQxJworICBdLAorICBbCisgICAgJzIzJywKKyAgICAnMjMnLAorICAgICdlbGVtZW50
MicKKyAgXSwKKyAgWworICAgICcyNScsCisgICAgJzI3JywKKyAgICAnZWxlbWVudDMnCisgIF0s
CisgIFsKKyAgICAnMjknLAorICAgICczMCcsCisgICAgJ2VsZW1lbnQ0LnAnCisgIF0sCisgIFsK
KyAgICAnMzInLAorICAgICczMycsCisgICAgJ2VsZW1lbnQ1LnAucS5yLnMnCisgIF0sCisgIFsK
KyAgICAnMzUnLAorICAgICczNicsCisgICAgJ2VsZW1lbnQ2I3AnCisgIF0sCisgIFsKKyAgICAn
MzgnLAorICAgICczOScsCisgICAgJ2VsZW1lbnQ3IGVsZW1lbnQ4JworICBdLAorICBbCisgICAg
JzQxJywKKyAgICAnNDInLAorICAgICdlbGVtZW50OS5wIGVsZW1lbnQxMC5xJworICBdLAorICBb
CisgICAgJzQ0JywKKyAgICAnNDUnLAorICAgICdlbGVtZW50MTEjcCBlbGVtZW50MTIjcScKKyAg
XSwKKyAgWworICAgICc0NycsCisgICAgJzQ4JywKKyAgICAnZWxlbWVudDEzLCBlbGVtZW50MTQn
CisgIF0sCisgIFsKKyAgICAnNTAnLAorICAgICc1MScsCisgICAgJy5wJworICBdLAorICBbCisg
ICAgJzUzJywKKyAgICAnNTUnLAorICAgICcjcCcKKyAgXSwKKyAgWworICAgICc1NycsCisgICAg
JzU4JywKKyAgICAnLnAgZWxlbWVudDE1ICNxIGVsZW1lbnQxNi5yIGVsZW1lbnQxNyNzJworICBd
LAorICBbCisgICAgJzYwJywKKyAgICAnNjEnLAorICAgICdlbGVtZW50MTg6dGFyZ2V0JworICBd
LAorICBbCisgICAgJzYzJywKKyAgICAnNjUnLAorICAgICdlbGVtZW50MTknCisgIF0sCisgIFsK
KyAgICAnNjcnLAorICAgICc2OScsCisgICAgJ2VsZW1lbnQyMCcKKyAgXSwKKyAgWworICAgICc3
MScsCisgICAgJzc0JywKKyAgICAnZWxlbWVudDIxJworICBdLAorICBbCisgICAgJzc2JywKKyAg
ICAnNzknLAorICAgICdlbGVtZW50MjInCisgIF0KK10KZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cGVybC9wcmVwYXJlLUNoYW5nZUxvZ191bml0dGVzdC9yZXNvdXJjZXMvY3NzX3Vu
aXR0ZXN0cy5jc3MgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvcHJlcGFyZS1DaGFuZ2VMb2df
dW5pdHRlc3QvcmVzb3VyY2VzL2Nzc191bml0dGVzdHMuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRiZDE3MmVj
MTViZWMwMjlhOGVlNDNlY2EwMTA3ZDNlYWVkNTMyYjkKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHBlcmwvcHJlcGFyZS1DaGFuZ2VMb2dfdW5pdHRlc3QvcmVzb3VyY2Vz
L2Nzc191bml0dGVzdHMuY3NzCkBAIC0wLDAgKzEsODUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTEgR29vZ2xlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
KyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKK2VsZW1lbnQxIHsKK30KKwor
ZWxlbWVudDIgeyB9CisKK2VsZW1lbnQzCit7Cit9CisKK2VsZW1lbnQ0LnAgeworfQorCitlbGVt
ZW50NS5wLnEuci5zIHsKK30KKworZWxlbWVudDYjcCB7Cit9CisKK2VsZW1lbnQ3IGVsZW1lbnQ4
IHsKK30KKworZWxlbWVudDkucCBlbGVtZW50MTAucSB7Cit9CisKK2VsZW1lbnQxMSNwIGVsZW1l
bnQxMiNxIHsKK30KKworZWxlbWVudDEzLCBlbGVtZW50MTQgeworfQorCisucCB7Cit9CisKKyNw
IHsKKworfQorCisucCBlbGVtZW50MTUgI3EgZWxlbWVudDE2LnIgZWxlbWVudDE3I3MgeworfQor
CitlbGVtZW50MTg6dGFyZ2V0IHsKK30KKworZWxlbWVudDE5IHsKKyAgICBwcm9wZXJ0eTE6IDEy
MworfQorCitlbGVtZW50MjAgeworICAgIHByb3BlcnR5MTogMTIzOworfQorCitlbGVtZW50MjEg
eworICAgIHByb3BlcnR5MTogMTIzOworICAgIHByb3BlcnR5MjogNDU2OworfQorCitlbGVtZW50
MjIgeworICAgIHByb3BlcnR5MTogMTIzOworICAgIC8qIGNvbW1lbnQgKi8KK30KKworLyoKK2Vs
ZW1lbnRJbnNpZGVDb21tZW50IHsKKyAgICBwcm9wZXJ0eTE6IDEyMzsKK30KKyovCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>