<?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>148498</bug_id>
          
          <creation_ts>2015-08-26 16:58:44 -0700</creation_ts>
          <short_desc>Modify prepare-Changelog to be aware of files that are marked as tests as well as files that are marked as requiring corresponding tests.</short_desc>
          <delta_ts>2015-08-31 16:45:07 -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>Tools / Tests</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jason Marcell">jmarcell</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>adele</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>dburkart</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>dean_johnson</cc>
    
    <cc>jake.nielsen.webkit</cc>
    
    <cc>jmarcell</cc>
    
    <cc>lforschler</cc>
    
    <cc>matthew_hanson</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1121099</commentid>
    <comment_count>0</comment_count>
    <who name="Jason Marcell">jmarcell</who>
    <bug_when>2015-08-26 16:58:44 -0700</bug_when>
    <thetext>Modify prepare-Changelog to be aware of files that are marked as tests as well as files that are marked as requiring corresponding tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1121100</commentid>
    <comment_count>1</comment_count>
      <attachid>259995</attachid>
    <who name="Jason Marcell">jmarcell</who>
    <bug_when>2015-08-26 17:00:18 -0700</bug_when>
    <thetext>Created attachment 259995
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1121491</commentid>
    <comment_count>2</comment_count>
      <attachid>259995</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-08-27 16:56:06 -0700</bug_when>
    <thetext>Comment on attachment 259995
Patch

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

r=me if you fix the duplicate text in ChangeLog, run test-webkitperl (and the prepare-ChangeLog tests still pass), and rename @dirparts.

&gt; Tools/ChangeLog:4
&gt; +        Modify prepare-Changelog to be aware of files that are marked as tests as well as files that are marked as requiring corresponding tests.
&gt; +        that are marked as requiring corresponding tests.

The second line seems like duplicate text that can be removed.

&gt; Tools/ChangeLog:11
&gt; +        * Scripts/prepare-ChangeLog: Added &quot;attributeCache&quot; to cache Subversion properties in order to
&gt; +        simulate Git&apos;s attribute behevaior.

Note that there are unit tests for prepare-ChangeLog in Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/.

This patch didn&apos;t modify any methods that are already tested, but we want to make sure the tests still run with this change (because each unit test imports prepare-ChangeLog as a custom Perl module, so things like global variables can break that technique).

The tests are run thusly:  ./Tools/Scripts/test-webkitperl

Looks like there are a couple of tests that are broken now, but the prepare-ChangeLog tests look fine.

&gt; Tools/Scripts/prepare-ChangeLog:85
&gt; -sub generateNewChangeLogs($$$$$$$$$$$$);
&gt; +sub generateNewChangeLogs($$$$$$$$$$$$$);

Some day, maybe we should change generateNewChangeLogs() to take a single argument that&apos;s a hash so we can get pseudo-named arguments in Perl.

You do not have to fix this to land the patch.

&gt; Tools/Scripts/prepare-ChangeLog:1815
&gt; +        my (@dirparts) = File::Spec-&gt;splitdir($file);

@dirparts should be named @dirParts or @directoryParts.

&gt; Tools/Scripts/prepare-ChangeLog:1827
&gt; +            my $command = SVN . &quot; propget $attr $subPath | tr -d &apos;\\n&apos;&quot;;

Any reason you use &apos;tr&apos; here instead of chomp()?  (Not necessary to fix to land the patch.)

&gt; Tools/Scripts/prepare-ChangeLog:2032
&gt; +            } elsif (attributeCommand($file, &quot;test&quot;) eq &quot;true&quot;) {
&gt; +                push @addedRegressionTests, $file;
&gt; +            } elsif (attributeCommand($file, &quot;requiresTests&quot;) eq &quot;true&quot;) {
&gt; +                push @requiresTests, $file

I find returning string results of &apos;true&apos; or &apos;unspecified&apos; kind of unusual.  Is there a reason you couldn&apos;t use 1 for &apos;true&apos; and &apos;0&apos; for unspecified?

Oh, is this to make the svn and git attributes more readable in that you&apos;re literally storing &apos;true&apos; instead of just &apos;1&apos;?

(This doesn&apos;t need to be addressed before landing the change, but I&apos;d like to understand the design decision here.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1121882</commentid>
    <comment_count>3</comment_count>
      <attachid>260192</attachid>
    <who name="Jason Marcell">jmarcell</who>
    <bug_when>2015-08-28 16:14:02 -0700</bug_when>
    <thetext>Created attachment 260192
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1121887</commentid>
    <comment_count>4</comment_count>
      <attachid>260192</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-08-28 16:43:20 -0700</bug_when>
    <thetext>Comment on attachment 260192
Patch

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

r=me if you fix the @directoryPartss typo.

&gt; Tools/Scripts/prepare-ChangeLog:1815
&gt; +        my (@directoryPartss) = File::Spec-&gt;splitdir($file);

Nit:  @directoryPartss =&gt; @directoryParts</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122050</commentid>
    <comment_count>5</comment_count>
      <attachid>260238</attachid>
    <who name="Jason Marcell">jmarcell</who>
    <bug_when>2015-08-30 01:30:24 -0700</bug_when>
    <thetext>Created attachment 260238
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122103</commentid>
    <comment_count>6</comment_count>
    <who name="Jason Marcell">jmarcell</who>
    <bug_when>2015-08-30 18:57:16 -0700</bug_when>
    <thetext>I uploaded a new patch to fix the typo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122323</commentid>
    <comment_count>7</comment_count>
      <attachid>260192</attachid>
    <who name="Jason Marcell">jmarcell</who>
    <bug_when>2015-08-31 15:49:03 -0700</bug_when>
    <thetext>Comment on attachment 260192
Patch

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

&gt;&gt; Tools/Scripts/prepare-ChangeLog:1815
&gt;&gt; +        my (@directoryPartss) = File::Spec-&gt;splitdir($file);
&gt; 
&gt; Nit:  @directoryPartss =&gt; @directoryParts

I addressed this issue in the most recent patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122326</commentid>
    <comment_count>8</comment_count>
      <attachid>259995</attachid>
    <who name="Jason Marcell">jmarcell</who>
    <bug_when>2015-08-31 15:53:24 -0700</bug_when>
    <thetext>Comment on attachment 259995
Patch

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

&gt;&gt; Tools/ChangeLog:4
&gt;&gt; +        that are marked as requiring corresponding tests.
&gt; 
&gt; The second line seems like duplicate text that can be removed.

I addressed this.

&gt;&gt; Tools/ChangeLog:11
&gt;&gt; +        simulate Git&apos;s attribute behevaior.
&gt; 
&gt; Note that there are unit tests for prepare-ChangeLog in Tools/Scripts/webkitperl/prepare-ChangeLog_unittest/.
&gt; 
&gt; This patch didn&apos;t modify any methods that are already tested, but we want to make sure the tests still run with this change (because each unit test imports prepare-ChangeLog as a custom Perl module, so things like global variables can break that technique).
&gt; 
&gt; The tests are run thusly:  ./Tools/Scripts/test-webkitperl
&gt; 
&gt; Looks like there are a couple of tests that are broken now, but the prepare-ChangeLog tests look fine.

I ran the tests before and after my patch and diffed the results. I didn&apos;t see any change.

&gt;&gt; Tools/Scripts/prepare-ChangeLog:1815
&gt;&gt; +        my (@dirparts) = File::Spec-&gt;splitdir($file);
&gt; 
&gt; @dirparts should be named @dirParts or @directoryParts.

I addressed this.

&gt;&gt; Tools/Scripts/prepare-ChangeLog:1827
&gt;&gt; +            my $command = SVN . &quot; propget $attr $subPath | tr -d &apos;\\n&apos;&quot;;
&gt; 
&gt; Any reason you use &apos;tr&apos; here instead of chomp()?  (Not necessary to fix to land the patch.)

When I was developing on the command line I was using standard Unix tools. I meant to convert to native PERL upon incorporating this code into the code base. As such I&apos;ve changed this to use chomp in a later patch.

&gt;&gt; Tools/Scripts/prepare-ChangeLog:2032
&gt;&gt; +                push @requiresTests, $file
&gt; 
&gt; I find returning string results of &apos;true&apos; or &apos;unspecified&apos; kind of unusual.  Is there a reason you couldn&apos;t use 1 for &apos;true&apos; and &apos;0&apos; for unspecified?
&gt; 
&gt; Oh, is this to make the svn and git attributes more readable in that you&apos;re literally storing &apos;true&apos; instead of just &apos;1&apos;?
&gt; 
&gt; (This doesn&apos;t need to be addressed before landing the change, but I&apos;d like to understand the design decision here.)

I decided to work with strings internally but have attributeCommand return an integer (1 for true, 0 for false). Users should store a &quot;1&quot; for a given SVN property or Git attribute to indicate true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122328</commentid>
    <comment_count>9</comment_count>
      <attachid>260238</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-08-31 15:58:02 -0700</bug_when>
    <thetext>Comment on attachment 260238
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122352</commentid>
    <comment_count>10</comment_count>
      <attachid>260238</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-31 16:45:03 -0700</bug_when>
    <thetext>Comment on attachment 260238
Patch

Clearing flags on attachment: 260238

Committed r189195: &lt;http://trac.webkit.org/changeset/189195&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122353</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-31 16:45:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259995</attachid>
            <date>2015-08-26 17:00:18 -0700</date>
            <delta_ts>2015-08-28 16:13:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148498-20150826170006.patch</filename>
            <type>text/plain</type>
            <size>7846</size>
            <attacher name="Jason Marcell">jmarcell</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5ZjY0
NDA1NTBhNjUzYzNkZGZjNzQ3OGVjZjExNmRmMWNiZTVkZTYyLi5iNjEyOWFhM2NhMzM3NWIyOTZk
OWU4ZWZmODNjYjhmM2Y4MmNmMzY0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTUtMDgtMjYgIEphc29uIE1hcmNl
bGwgIDxqbWFyY2VsbEBhcHBsZS5jb20+CisKKyAgICAgICAgTW9kaWZ5IHByZXBhcmUtQ2hhbmdl
bG9nIHRvIGJlIGF3YXJlIG9mIGZpbGVzIHRoYXQgYXJlIG1hcmtlZCBhcyB0ZXN0cyBhcyB3ZWxs
IGFzIGZpbGVzIHRoYXQgYXJlIG1hcmtlZCBhcyByZXF1aXJpbmcgY29ycmVzcG9uZGluZyB0ZXN0
cy4KKyAgICAgICAgdGhhdCBhcmUgbWFya2VkIGFzIHJlcXVpcmluZyBjb3JyZXNwb25kaW5nIHRl
c3RzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ4
NDk4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMTU1NTMxND4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvcHJlcGFyZS1DaGFuZ2VM
b2c6IEFkZGVkICJhdHRyaWJ1dGVDYWNoZSIgdG8gY2FjaGUgU3VidmVyc2lvbiBwcm9wZXJ0aWVz
IGluIG9yZGVyIHRvCisgICAgICAgIHNpbXVsYXRlIEdpdCdzIGF0dHJpYnV0ZSBiZWhldmFpb3Iu
CisgICAgICAgIChtYWluKTogQWRkZWQgInJlcXVpcmVzVGVzdHMiIGFycmF5IHRvIGNvbnRhaW4g
ZmlsZXMgdGhhdCByZXF1aXJlIHRlc3RzLgorICAgICAgICAoZ2VuZXJhdGVOZXdDaGFuZ2VMb2dz
KTogQ2hlY2tzICJyZXF1aXJlc1Rlc3RzIiBhcnJheSB0byBkZXRlcm1pbmUgd2hldGhlciB0byBp
bmplY3QgInRlc3RzIgorICAgICAgICBzZWN0aW9uIGluIENoYW5nZUxvZy4KKyAgICAgICAgKGF0
dHJpYnV0ZUNvbW1hbmQpOiBRdWVyaWVzIGEgZ2l2ZW4gZmlsZSBmb3IgYSBnaXZlbiBHaXQgYXR0
cmlidXRlIHZhbHVlLiBJZiB1c2luZyBTdWJ2ZXJzaW9uLAorICAgICAgICBob3dldmVyLCB3ZSBj
aGVjayBpZiB0aGUgZmlsZSBvciBhbnkgY29udGFpbmluZyBmb2xkZXIgaGFzIHRoZSBnaXZlbiBw
cm9wZXJ0eSBzZXQgdG8gInRydWUiIGFuZAorICAgICAgICByZXR1cm4gInRydWUiIGlmIHNvOyBy
ZXR1cm4gInVuc3BlY2lmaWVkIiBvdGhlcndpc2UuCisgICAgICAgIChnZW5lcmF0ZUZpbGVMaXN0
KTogQWRkcyBmaWxlcyB0byAicmVxdWlyZXNUZXN0cyIgYXJyYXkgaWYgR2l0IGF0dHJpYnV0ZSBp
cyBzZXQgdG8gInRydWUiLiBBbHNvCisgICAgICAgIGFkZHMgZmlsZXMgdG8gImFkZGVkUmVncmVz
c2lvblRlc3RzIiBhcnJheSBpZiAidGVzdCIgYXR0cmlidXRlIGlzIHNldCB0byAidHJ1ZSIuCisK
IDIwMTUtMDgtMjYgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAg
ICAgW1dpbl0gU2ltcGxpZnkgbWVudSBoYW5kbGluZyBjb2RlIGluIFdpbkxhdW5jaGVyCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3ByZXBhcmUtQ2hhbmdlTG9nIGIvVG9vbHMvU2NyaXB0cy9w
cmVwYXJlLUNoYW5nZUxvZwppbmRleCA5ZGVmMWFmZjBmZDY5YjdhZDkwYWFiMjAxMDg0N2U0ZTY5
YWZlNmFiLi4zM2YwZDNjZDE4OWZjZDA0NTFhYjJmZjM1ZWU4OTljNTE0ODg4NmMyIDEwMDc1NQot
LS0gYS9Ub29scy9TY3JpcHRzL3ByZXBhcmUtQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL1NjcmlwdHMv
cHJlcGFyZS1DaGFuZ2VMb2cKQEAgLTY0LDYgKzY0LDcgQEAgdXNlIExpc3Q6OlV0aWwgcXcvbWF4
LzsKIHVzZSBQT1NJWCBxdyhzdHJmdGltZSk7CiB1c2UgVkNTVXRpbHM7CiAKK3N1YiBhdHRyaWJ1
dGVDb21tYW5kKCQkKTsKIHN1YiBjaGFuZ2VMb2dEYXRlKCQpOwogc3ViIGNoYW5nZUxvZ0VtYWls
QWRkcmVzc0Zyb21BcmdzKCQkKTsKIHN1YiBjaGFuZ2VMb2dOYW1lRnJvbUFyZ3MoJCQpOwpAQCAt
ODEsNyArODIsNyBAQCBzdWIgZmluZE9yaWdpbmFsRmlsZUZyb21Tdm4oJCk7CiBzdWIgZ2VuZXJh
dGVGaWxlTGlzdChcJSQkJCk7CiBzdWIgZ2VuZXJhdGVGdW5jdGlvbkxpc3RzKCQkJCQkKTsKIHN1
YiBnZW5lcmF0ZUZ1bmN0aW9uTGlzdHNCeVJhbmdlcygkJCQkKTsKLXN1YiBnZW5lcmF0ZU5ld0No
YW5nZUxvZ3MoJCQkJCQkJCQkJCQkKTsKK3N1YiBnZW5lcmF0ZU5ld0NoYW5nZUxvZ3MoJCQkJCQk
JCQkJCQkJCk7CiBzdWIgZ2V0TGF0ZXN0Q2hhbmdlTG9ncygkKTsKIHN1YiBnZXRfZnVuY3Rpb25f
bGluZV9yYW5nZXMoJCQpOwogc3ViIGdldF9mdW5jdGlvbl9saW5lX3Jhbmdlc19mb3JfY3BwKCQk
KTsKQEAgLTExNyw2ICsxMTgsOCBAQCB1c2UgY29uc3RhbnQgU1ZOID0+ICJzdm4iOwogdXNlIGNv
bnN0YW50IEdJVCA9PiAiZ2l0IjsKIHVzZSBjb25zdGFudCBTdXBwb3J0ZWRUZXN0RXh0ZW5zaW9u
cyA9PiB7bWFwIHsgJF8gPT4gMSB9IHF3KGh0bWwgc2h0bWwgc3ZnIHhtbCB4aHRtbCBwbCBwaHAp
fTsKIAorbXkgJWF0dHJpYnV0ZUNhY2hlOworCiBleGl0KG1haW4oKSk7CiAKIHN1YiBtYWluKCkK
QEAgLTE4NCw3ICsxODcsNyBAQCBzdWIgbWFpbigpCiAgICAgbXkgJXBhdGhzID0gcHJvY2Vzc1Bh
dGhzKEBBUkdWKTsKIAogICAgICMgRmluZCB0aGUgbGlzdCBvZiBtb2RpZmllZCBmaWxlcwotICAg
IG15ICgkY2hhbmdlZEZpbGVzLCAkY29uZmxpY3RGaWxlcywgJGZ1bmN0aW9uTGlzdHMsICRhZGRl
ZFJlZ3Jlc3Npb25UZXN0cykgPSBnZW5lcmF0ZUZpbGVMaXN0KCVwYXRocywgJGdpdENvbW1pdCwg
JGdpdEluZGV4LCAkbWVyZ2VCYXNlKTsKKyAgICBteSAoJGNoYW5nZWRGaWxlcywgJGNvbmZsaWN0
RmlsZXMsICRmdW5jdGlvbkxpc3RzLCAkYWRkZWRSZWdyZXNzaW9uVGVzdHMsICRyZXF1aXJlc1Rl
c3RzKSA9IGdlbmVyYXRlRmlsZUxpc3QoJXBhdGhzLCAkZ2l0Q29tbWl0LCAkZ2l0SW5kZXgsICRt
ZXJnZUJhc2UpOwogCiAgICAgaWYgKCFAJGNoYW5nZWRGaWxlcyAmJiAhQCRjb25mbGljdEZpbGVz
ICYmICFrZXlzICUkZnVuY3Rpb25MaXN0cykgewogICAgICAgICBwcmludCBTVERFUlIgIiAgTm8g
Y2hhbmdlcyBmb3VuZC5cbiI7CkBAIC0yMjYsNyArMjI5LDcgQEAgc3ViIG1haW4oKQogICAgICAg
ICByZXNvbHZlQ29uZmxpY3RlZENoYW5nZUxvZ3MoJGNoYW5nZUxvZ3MpOwogICAgIH0KIAotICAg
IGdlbmVyYXRlTmV3Q2hhbmdlTG9ncygkcHJlZml4ZXMsICRmaWxlc0luQ2hhbmdlTG9nLCAkYWRk
ZWRSZWdyZXNzaW9uVGVzdHMsICRmdW5jdGlvbkxpc3RzLCAkYnVnVVJMLCAkYnVnRGVzY3JpcHRp
b24sICRuYW1lLCAkZW1haWxBZGRyZXNzLCAkZ2l0UmV2aWV3ZXIsICRnaXRDb21taXQsICR3cml0
ZUNoYW5nZUxvZ3MsICRkZWxpbWl0ZXJzKTsKKyAgICBnZW5lcmF0ZU5ld0NoYW5nZUxvZ3MoJHBy
ZWZpeGVzLCAkZmlsZXNJbkNoYW5nZUxvZywgJGFkZGVkUmVncmVzc2lvblRlc3RzLCAkcmVxdWly
ZXNUZXN0cywgJGZ1bmN0aW9uTGlzdHMsICRidWdVUkwsICRidWdEZXNjcmlwdGlvbiwgJG5hbWUs
ICRlbWFpbEFkZHJlc3MsICRnaXRSZXZpZXdlciwgJGdpdENvbW1pdCwgJHdyaXRlQ2hhbmdlTG9n
cywgJGRlbGltaXRlcnMpOwogCiAgICAgaWYgKCR3cml0ZUNoYW5nZUxvZ3MpIHsKICAgICAgICAg
cHJpbnQgU1RERVJSICItLSBQbGVhc2UgcmVtZW1iZXIgdG8gaW5jbHVkZSBhIGRldGFpbGVkIGRl
c2NyaXB0aW9uIGluIHlvdXIgQ2hhbmdlTG9nIGVudHJ5LiAtLVxuLS0gU2VlIDxodHRwOi8vd2Vi
a2l0Lm9yZy9jb2RpbmcvY29udHJpYnV0aW5nLmh0bWw+IGZvciBtb3JlIGluZm8gLS1cbiI7CkBA
IC01MjcsOSArNTMwLDkgQEAgc3ViIHJlc29sdmVDb25mbGljdGVkQ2hhbmdlTG9ncygkKQogICAg
IGNsb3NlIFJFU09MVkU7CiB9CiAKLXN1YiBnZW5lcmF0ZU5ld0NoYW5nZUxvZ3MoJCQkJCQkJCQk
JCQkKQorc3ViIGdlbmVyYXRlTmV3Q2hhbmdlTG9ncygkJCQkJCQkJCQkJCQkKQogewotICAgIG15
ICgkcHJlZml4ZXMsICRmaWxlc0luQ2hhbmdlTG9nLCAkYWRkZWRSZWdyZXNzaW9uVGVzdHMsICRm
dW5jdGlvbkxpc3RzLCAkYnVnVVJMLCAkYnVnRGVzY3JpcHRpb24sICRuYW1lLCAkZW1haWxBZGRy
ZXNzLCAkZ2l0UmV2aWV3ZXIsICRnaXRDb21taXQsICR3cml0ZUNoYW5nZUxvZ3MsICRkZWxpbWl0
ZXJzKSA9IEBfOworICAgIG15ICgkcHJlZml4ZXMsICRmaWxlc0luQ2hhbmdlTG9nLCAkYWRkZWRS
ZWdyZXNzaW9uVGVzdHMsICRyZXF1aXJlc1Rlc3RzLCAkZnVuY3Rpb25MaXN0cywgJGJ1Z1VSTCwg
JGJ1Z0Rlc2NyaXB0aW9uLCAkbmFtZSwgJGVtYWlsQWRkcmVzcywgJGdpdFJldmlld2VyLCAkZ2l0
Q29tbWl0LCAkd3JpdGVDaGFuZ2VMb2dzLCAkZGVsaW1pdGVycykgPSBAXzsKIAogICAgICMgR2Vu
ZXJhdGUgbmV3IENoYW5nZUxvZyBlbnRyaWVzIGFuZCAob3B0aW9uYWxseSkgd3JpdGUgb3V0IG5l
dyBDaGFuZ2VMb2cgZmlsZXMuCiAgICAgZm9yZWFjaCBteSAkcHJlZml4IChAJHByZWZpeGVzKSB7
CkBAIC01NzAsNyArNTczLDcgQEAgc3ViIGdlbmVyYXRlTmV3Q2hhbmdlTG9ncygkJCQkJCQkJCQk
JCQpCiAKICAgICAgICAgcHJpbnQgQ0hBTkdFX0xPRyBub3JtYWxpemVMaW5lRW5kaW5ncygiICAg
ICAgICBSZXZpZXdlZCBieSAkcmV2aWV3ZXIuXG5cbiIsICRlbmRsKTsKIAotICAgICAgICBpZiAo
JHByZWZpeCA9fiBtL1dlYkNvcmUvIHx8IGBwd2RgID1+IG0vV2ViQ29yZS8pIHsKKyAgICAgICAg
aWYgKCRwcmVmaXggPX4gbS9XZWJDb3JlLyB8fCBgcHdkYCA9fiBtL1dlYkNvcmUvIHx8IEAkcmVx
dWlyZXNUZXN0cykgewogICAgICAgICAgICAgaWYgKEAkYWRkZWRSZWdyZXNzaW9uVGVzdHMpIHsK
ICAgICAgICAgICAgICAgICBwcmludCBDSEFOR0VfTE9HIG5vcm1hbGl6ZUxpbmVFbmRpbmdzKHRl
c3RMaXN0Rm9yQ2hhbmdlTG9nKHNvcnQgQCRhZGRlZFJlZ3Jlc3Npb25UZXN0cyksICRlbmRsKTsK
ICAgICAgICAgICAgIH0gZWxzZSB7CkBAIC0xODAxLDYgKzE4MDQsNDQgQEAgc3ViIHN0YXR1c0Nv
bW1hbmQoJCQkJCkKICAgICByZXR1cm4gIiRjb21tYW5kIDI+JjEiOwogfQogCitzdWIgYXR0cmli
dXRlQ29tbWFuZCgkJCkKK3sKKyAgICBteSAoJGZpbGUsICRhdHRyKSA9IEBfOworCisgICAgbXkg
JHJlc3VsdDsKKyAgICBpZiAoaXNTVk4oKSkgeworICAgICAgICBteSAkZm91bmRBdHRyaWJ1dGUg
PSAwOworICAgICAgICBteSAkc3ViUGF0aCA9ICIuIjsKKyAgICAgICAgbXkgKEBkaXJwYXJ0cykg
PSBGaWxlOjpTcGVjLT5zcGxpdGRpcigkZmlsZSk7CisgICAgICAgIGZvcmVhY2ggbXkgJHBhcnQg
KEBkaXJwYXJ0cykgeworICAgICAgICAgICAgaWYgKCRwYXJ0IGVxICIuIikgeworICAgICAgICAg
ICAgICAgIG5leHQ7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAkc3ViUGF0aCA9IEZpbGU6
OlNwZWMtPmpvaW4oJHN1YlBhdGgsICRwYXJ0KTsKKyAgICAgICAgICAgICRzdWJQYXRoID1+IHMv
XlwuXC8vLzsKKyAgICAgICAgICAgIGlmICgkZm91bmRBdHRyaWJ1dGUgPT0gMSB8fCBleGlzdHMg
JGF0dHJpYnV0ZUNhY2hleyRhdHRyfXskc3ViUGF0aH0gJiYgJGF0dHJpYnV0ZUNhY2hleyRhdHRy
fXskc3ViUGF0aH0gZXEgInRydWUiKSB7CisgICAgICAgICAgICAgICAgJGF0dHJpYnV0ZUNhY2hl
eyRhdHRyfXskc3ViUGF0aH0gPSAidHJ1ZSI7CisgICAgICAgICAgICAgICAgJGZvdW5kQXR0cmli
dXRlID0gMTsKKyAgICAgICAgICAgICAgICBuZXh0OworICAgICAgICAgICAgfQorICAgICAgICAg
ICAgbXkgJGNvbW1hbmQgPSBTVk4gLiAiIHByb3BnZXQgJGF0dHIgJHN1YlBhdGggfCB0ciAtZCAn
XFxuJyI7CisgICAgICAgICAgICBteSAkYXR0cmliID0gJGF0dHJpYnV0ZUNhY2hleyRhdHRyfXsk
c3ViUGF0aH0gfHwgYCRjb21tYW5kYDsKKyAgICAgICAgICAgIGlmICgkYXR0cmliIGVxICJ0cnVl
IikgeworICAgICAgICAgICAgICAgICRmb3VuZEF0dHJpYnV0ZSA9IDE7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICAkYXR0cmlidXRlQ2FjaGV7JGF0dHJ9eyRzdWJQYXRofSA9ICRhdHRyaWIg
fHwgInVuc3BlY2lmaWVkIjsKKyAgICAgICAgfQorICAgICAgICAkcmVzdWx0ID0gJGF0dHJpYnV0
ZUNhY2hleyRhdHRyfXskZmlsZX07CisgICAgfSBlbHNpZiAoaXNHaXQoKSkgeworICAgICAgICBt
eSAkY29tbWFuZCA9IEdJVCAuICIgY2hlY2stYXR0ciAkYXR0ciAtLSAkZmlsZSI7CisgICAgICAg
ICRyZXN1bHQgPSBgJGNvbW1hbmRgOworICAgICAgICBjaG9tcCAkcmVzdWx0OworICAgICAgICAk
cmVzdWx0ID1+IHMvLipcVyhcdykvJDEvOworICAgIH0KKworICAgIHJldHVybiAkcmVzdWx0Owor
fQorCiBzdWIgY3JlYXRlUGF0Y2hDb21tYW5kKCQkJCQpCiB7CiAgICAgbXkgKCRjaGFuZ2VkRmls
ZXNTdHJpbmcsICRnaXRDb21taXQsICRnaXRJbmRleCwgJG1lcmdlQmFzZSkgPSBAXzsKQEAgLTE5
MjUsNiArMTk2Niw3IEBAIHN1YiBnZW5lcmF0ZUZpbGVMaXN0KFwlJCQkKQogICAgIG15IEBjb25m
bGljdEZpbGVzOwogICAgIG15ICVmdW5jdGlvbkxpc3RzOwogICAgIG15IEBhZGRlZFJlZ3Jlc3Np
b25UZXN0czsKKyAgICBteSBAcmVxdWlyZXNUZXN0czsKICAgICBwcmludCBTVERFUlIgIiAgUnVu
bmluZyBzdGF0dXMgdG8gZmluZCBjaGFuZ2VkLCBhZGRlZCwgb3IgcmVtb3ZlZCBmaWxlcy5cbiI7
CiAgICAgb3BlbiBTVEFULCAiLXwiLCBzdGF0dXNDb21tYW5kKCRwYXRocywgJGdpdENvbW1pdCwg
JGdpdEluZGV4LCAkbWVyZ2VCYXNlKSBvciBkaWUgIlRoZSBzdGF0dXMgZmFpbGVkOiAkIS5cbiI7
CiAgICAgd2hpbGUgKDxTVEFUPikgewpAQCAtMTk4NCw2ICsyMDI2LDEwIEBAIHN1YiBnZW5lcmF0
ZUZpbGVMaXN0KFwlJCQkKQogICAgICAgICAgICAgICAgICAgICAgICAmJiAkZmlsZSAhfiAvLWV4
cGVjdGVkKC1taXNtYXRjaCk/XC5odG1sJC8KICAgICAgICAgICAgICAgICAgICAgICAgJiYgIXNj
YWxhcihncmVwKC9ecmVzb3VyY2VzJC9pLCBAY29tcG9uZW50cykpCiAgICAgICAgICAgICAgICAg
ICAgICAgICYmICFzY2FsYXIoZ3JlcCgvXnNjcmlwdC10ZXN0cyQvaSwgQGNvbXBvbmVudHMpKTsK
KyAgICAgICAgICAgIH0gZWxzaWYgKGF0dHJpYnV0ZUNvbW1hbmQoJGZpbGUsICJ0ZXN0IikgZXEg
InRydWUiKSB7CisgICAgICAgICAgICAgICAgcHVzaCBAYWRkZWRSZWdyZXNzaW9uVGVzdHMsICRm
aWxlOworICAgICAgICAgICAgfSBlbHNpZiAoYXR0cmlidXRlQ29tbWFuZCgkZmlsZSwgInJlcXVp
cmVzVGVzdHMiKSBlcSAidHJ1ZSIpIHsKKyAgICAgICAgICAgICAgICBwdXNoIEByZXF1aXJlc1Rl
c3RzLCAkZmlsZQogICAgICAgICAgICAgfQogICAgICAgICAgICAgcHVzaCBAY2hhbmdlZEZpbGVz
LCAkZmlsZSBpZiAkY29tcG9uZW50c1skI2NvbXBvbmVudHNdIG5lICJDaGFuZ2VMb2ciOwogICAg
ICAgICB9IGVsc2lmIChpc0NvbmZsaWN0U3RhdHVzKCRzdGF0dXMsICRnaXRDb21taXQsICRnaXRJ
bmRleCkgfHwgaXNDb25mbGljdFN0YXR1cygkcHJvcGVydHlTdGF0dXMsICRnaXRDb21taXQsICRn
aXRJbmRleCkpIHsKQEAgLTE5OTUsNyArMjA0MSw3IEBAIHN1YiBnZW5lcmF0ZUZpbGVMaXN0KFwl
JCQkKQogICAgICAgICB9CiAgICAgfQogICAgIGNsb3NlIFNUQVQ7Ci0gICAgcmV0dXJuIChcQGNo
YW5nZWRGaWxlcywgXEBjb25mbGljdEZpbGVzLCBcJWZ1bmN0aW9uTGlzdHMsIFxAYWRkZWRSZWdy
ZXNzaW9uVGVzdHMpOworICAgIHJldHVybiAoXEBjaGFuZ2VkRmlsZXMsIFxAY29uZmxpY3RGaWxl
cywgXCVmdW5jdGlvbkxpc3RzLCBcQGFkZGVkUmVncmVzc2lvblRlc3RzLCBcQHJlcXVpcmVzVGVz
dHMpOwogfQogCiBzdWIgaXNVbm1vZGlmaWVkU3RhdHVzKCQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260192</attachid>
            <date>2015-08-28 16:14:02 -0700</date>
            <delta_ts>2015-08-30 01:30:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148498-20150828161348.patch</filename>
            <type>text/plain</type>
            <size>7815</size>
            <attacher name="Jason Marcell">jmarcell</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxYzQ3
M2I5YTRlYTY2N2IzOGU0ZmE3NDg0OTQ5MTFmY2JjN2NmMjAwLi5jOTVkMzM2M2YxY2Y3YTIzMzNj
MTBlNjNlZWFmMjZhYjc5MjEzOTg3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTUtMDgtMjggIEphc29uIE1hcmNl
bGwgIDxqbWFyY2VsbEBhcHBsZS5jb20+CisKKyAgICAgICAgTW9kaWZ5IHByZXBhcmUtQ2hhbmdl
bG9nIHRvIGJlIGF3YXJlIG9mIGZpbGVzIHRoYXQgYXJlIG1hcmtlZCBhcyB0ZXN0cyBhcyB3ZWxs
IGFzIGZpbGVzCisgICAgICAgIHRoYXQgYXJlIG1hcmtlZCBhcyByZXF1aXJpbmcgY29ycmVzcG9u
ZGluZyB0ZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0ODQ5OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjE1NTUzMTQ+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVpbiBhbmQgRGF2aWQgS2lsemVyLgorCisgICAgICAgICog
U2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZzogQWRkZWQgImF0dHJpYnV0ZUNhY2hlIiB0byBjYWNo
ZSBTdWJ2ZXJzaW9uIHByb3BlcnRpZXMgaW4gb3JkZXIgdG8KKyAgICAgICAgc2ltdWxhdGUgR2l0
J3MgYXR0cmlidXRlIGJlaGV2YWlvci4KKyAgICAgICAgKG1haW4pOiBBZGRlZCAicmVxdWlyZXNU
ZXN0cyIgYXJyYXkgdG8gY29udGFpbiBmaWxlcyB0aGF0IHJlcXVpcmUgdGVzdHMuCisgICAgICAg
IChnZW5lcmF0ZU5ld0NoYW5nZUxvZ3MpOiBDaGVja3MgInJlcXVpcmVzVGVzdHMiIGFycmF5IHRv
IGRldGVybWluZSB3aGV0aGVyIHRvIGluamVjdCAidGVzdHMiCisgICAgICAgIHNlY3Rpb24gaW4g
Q2hhbmdlTG9nLgorICAgICAgICAoYXR0cmlidXRlQ29tbWFuZCk6IFF1ZXJpZXMgYSBnaXZlbiBm
aWxlIGZvciBhIGdpdmVuIEdpdCBhdHRyaWJ1dGUgdmFsdWUuIElmIHVzaW5nIFN1YnZlcnNpb24s
CisgICAgICAgIGhvd2V2ZXIsIHdlIGNoZWNrIGlmIHRoZSBmaWxlIG9yIGFueSBjb250YWluaW5n
IGZvbGRlciBoYXMgdGhlIGdpdmVuIHByb3BlcnR5IHNldCB0byAiMSIgYW5kCisgICAgICAgIHJl
dHVybiAxIGlmIHNvOyByZXR1cm4gMCBvdGhlcndpc2UuCisgICAgICAgIChnZW5lcmF0ZUZpbGVM
aXN0KTogQWRkcyBmaWxlcyB0byAicmVxdWlyZXNUZXN0cyIgYXJyYXkgaWYgR2l0IGF0dHJpYnV0
ZSBpcyBzZXQgdG8gIjEiLiBBbHNvCisgICAgICAgIGFkZHMgZmlsZXMgdG8gImFkZGVkUmVncmVz
c2lvblRlc3RzIiBhcnJheSBpZiAidGVzdCIgYXR0cmlidXRlIGlzIHNldCB0byAiMSIuCisKIDIw
MTUtMDgtMjggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtHVEtdIFNpbXBsaWZ5IHRoZSBpbnRlcm5hbCBBUEkgdG8gY3JlYXRlIGEgV2ViVmll
dwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZyBiL1Rvb2xzL1Nj
cmlwdHMvcHJlcGFyZS1DaGFuZ2VMb2cKaW5kZXggZTYzZTMzMzE2YzE1ZGY5ZjNkYzJkMWZmMDFi
NzUyMThlZTZiNmU5OS4uNjgyMTIxYmU1ZjNjOTE3Y2ViNmUyOTdmOTY2YjUwZTc5NmYzZTQ2OSAx
MDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZworKysgYi9Ub29scy9T
Y3JpcHRzL3ByZXBhcmUtQ2hhbmdlTG9nCkBAIC02NCw2ICs2NCw3IEBAIHVzZSBMaXN0OjpVdGls
IHF3L21heC87CiB1c2UgUE9TSVggcXcoc3RyZnRpbWUpOwogdXNlIFZDU1V0aWxzOwogCitzdWIg
YXR0cmlidXRlQ29tbWFuZCgkJCk7CiBzdWIgY2hhbmdlTG9nRGF0ZSgkKTsKIHN1YiBjaGFuZ2VM
b2dFbWFpbEFkZHJlc3NGcm9tQXJncygkJCk7CiBzdWIgY2hhbmdlTG9nTmFtZUZyb21BcmdzKCQk
KTsKQEAgLTgxLDcgKzgyLDcgQEAgc3ViIGZpbmRPcmlnaW5hbEZpbGVGcm9tU3ZuKCQpOwogc3Vi
IGdlbmVyYXRlRmlsZUxpc3QoXCUkJCQpOwogc3ViIGdlbmVyYXRlRnVuY3Rpb25MaXN0cygkJCQk
JCk7CiBzdWIgZ2VuZXJhdGVGdW5jdGlvbkxpc3RzQnlSYW5nZXMoJCQkJCk7Ci1zdWIgZ2VuZXJh
dGVOZXdDaGFuZ2VMb2dzKCQkJCQkJCQkJCQkJCk7CitzdWIgZ2VuZXJhdGVOZXdDaGFuZ2VMb2dz
KCQkJCQkJCQkJCQkJCQpOwogc3ViIGdldExhdGVzdENoYW5nZUxvZ3MoJCk7CiBzdWIgZ2V0X2Z1
bmN0aW9uX2xpbmVfcmFuZ2VzKCQkKTsKIHN1YiBnZXRfZnVuY3Rpb25fbGluZV9yYW5nZXNfZm9y
X2NwcCgkJCk7CkBAIC0xMTcsNiArMTE4LDggQEAgdXNlIGNvbnN0YW50IFNWTiA9PiAic3ZuIjsK
IHVzZSBjb25zdGFudCBHSVQgPT4gImdpdCI7CiB1c2UgY29uc3RhbnQgU3VwcG9ydGVkVGVzdEV4
dGVuc2lvbnMgPT4ge21hcCB7ICRfID0+IDEgfSBxdyhodG1sIHNodG1sIHN2ZyB4bWwgeGh0bWwg
cGwgcGhwKX07CiAKK215ICVhdHRyaWJ1dGVDYWNoZTsKKwogZXhpdChtYWluKCkpOwogCiBzdWIg
bWFpbigpCkBAIC0xODQsNyArMTg3LDcgQEAgc3ViIG1haW4oKQogICAgIG15ICVwYXRocyA9IHBy
b2Nlc3NQYXRocyhAQVJHVik7CiAKICAgICAjIEZpbmQgdGhlIGxpc3Qgb2YgbW9kaWZpZWQgZmls
ZXMKLSAgICBteSAoJGNoYW5nZWRGaWxlcywgJGNvbmZsaWN0RmlsZXMsICRmdW5jdGlvbkxpc3Rz
LCAkYWRkZWRSZWdyZXNzaW9uVGVzdHMpID0gZ2VuZXJhdGVGaWxlTGlzdCglcGF0aHMsICRnaXRD
b21taXQsICRnaXRJbmRleCwgJG1lcmdlQmFzZSk7CisgICAgbXkgKCRjaGFuZ2VkRmlsZXMsICRj
b25mbGljdEZpbGVzLCAkZnVuY3Rpb25MaXN0cywgJGFkZGVkUmVncmVzc2lvblRlc3RzLCAkcmVx
dWlyZXNUZXN0cykgPSBnZW5lcmF0ZUZpbGVMaXN0KCVwYXRocywgJGdpdENvbW1pdCwgJGdpdElu
ZGV4LCAkbWVyZ2VCYXNlKTsKIAogICAgIGlmICghQCRjaGFuZ2VkRmlsZXMgJiYgIUAkY29uZmxp
Y3RGaWxlcyAmJiAha2V5cyAlJGZ1bmN0aW9uTGlzdHMpIHsKICAgICAgICAgcHJpbnQgU1RERVJS
ICIgIE5vIGNoYW5nZXMgZm91bmQuXG4iOwpAQCAtMjI2LDcgKzIyOSw3IEBAIHN1YiBtYWluKCkK
ICAgICAgICAgcmVzb2x2ZUNvbmZsaWN0ZWRDaGFuZ2VMb2dzKCRjaGFuZ2VMb2dzKTsKICAgICB9
CiAKLSAgICBnZW5lcmF0ZU5ld0NoYW5nZUxvZ3MoJHByZWZpeGVzLCAkZmlsZXNJbkNoYW5nZUxv
ZywgJGFkZGVkUmVncmVzc2lvblRlc3RzLCAkZnVuY3Rpb25MaXN0cywgJGJ1Z1VSTCwgJGJ1Z0Rl
c2NyaXB0aW9uLCAkbmFtZSwgJGVtYWlsQWRkcmVzcywgJGdpdFJldmlld2VyLCAkZ2l0Q29tbWl0
LCAkd3JpdGVDaGFuZ2VMb2dzLCAkZGVsaW1pdGVycyk7CisgICAgZ2VuZXJhdGVOZXdDaGFuZ2VM
b2dzKCRwcmVmaXhlcywgJGZpbGVzSW5DaGFuZ2VMb2csICRhZGRlZFJlZ3Jlc3Npb25UZXN0cywg
JHJlcXVpcmVzVGVzdHMsICRmdW5jdGlvbkxpc3RzLCAkYnVnVVJMLCAkYnVnRGVzY3JpcHRpb24s
ICRuYW1lLCAkZW1haWxBZGRyZXNzLCAkZ2l0UmV2aWV3ZXIsICRnaXRDb21taXQsICR3cml0ZUNo
YW5nZUxvZ3MsICRkZWxpbWl0ZXJzKTsKIAogICAgIGlmICgkd3JpdGVDaGFuZ2VMb2dzKSB7CiAg
ICAgICAgIHByaW50IFNUREVSUiAiLS0gUGxlYXNlIHJlbWVtYmVyIHRvIGluY2x1ZGUgYSBkZXRh
aWxlZCBkZXNjcmlwdGlvbiBpbiB5b3VyIENoYW5nZUxvZyBlbnRyeS4gLS1cbi0tIFNlZSA8aHR0
cDovL3dlYmtpdC5vcmcvY29kaW5nL2NvbnRyaWJ1dGluZy5odG1sPiBmb3IgbW9yZSBpbmZvIC0t
XG4iOwpAQCAtNTI3LDkgKzUzMCw5IEBAIHN1YiByZXNvbHZlQ29uZmxpY3RlZENoYW5nZUxvZ3Mo
JCkKICAgICBjbG9zZSBSRVNPTFZFOwogfQogCi1zdWIgZ2VuZXJhdGVOZXdDaGFuZ2VMb2dzKCQk
JCQkJCQkJCQkJCkKK3N1YiBnZW5lcmF0ZU5ld0NoYW5nZUxvZ3MoJCQkJCQkJCQkJCQkJCkKIHsK
LSAgICBteSAoJHByZWZpeGVzLCAkZmlsZXNJbkNoYW5nZUxvZywgJGFkZGVkUmVncmVzc2lvblRl
c3RzLCAkZnVuY3Rpb25MaXN0cywgJGJ1Z1VSTCwgJGJ1Z0Rlc2NyaXB0aW9uLCAkbmFtZSwgJGVt
YWlsQWRkcmVzcywgJGdpdFJldmlld2VyLCAkZ2l0Q29tbWl0LCAkd3JpdGVDaGFuZ2VMb2dzLCAk
ZGVsaW1pdGVycykgPSBAXzsKKyAgICBteSAoJHByZWZpeGVzLCAkZmlsZXNJbkNoYW5nZUxvZywg
JGFkZGVkUmVncmVzc2lvblRlc3RzLCAkcmVxdWlyZXNUZXN0cywgJGZ1bmN0aW9uTGlzdHMsICRi
dWdVUkwsICRidWdEZXNjcmlwdGlvbiwgJG5hbWUsICRlbWFpbEFkZHJlc3MsICRnaXRSZXZpZXdl
ciwgJGdpdENvbW1pdCwgJHdyaXRlQ2hhbmdlTG9ncywgJGRlbGltaXRlcnMpID0gQF87CiAKICAg
ICAjIEdlbmVyYXRlIG5ldyBDaGFuZ2VMb2cgZW50cmllcyBhbmQgKG9wdGlvbmFsbHkpIHdyaXRl
IG91dCBuZXcgQ2hhbmdlTG9nIGZpbGVzLgogICAgIGZvcmVhY2ggbXkgJHByZWZpeCAoQCRwcmVm
aXhlcykgewpAQCAtNTcwLDcgKzU3Myw3IEBAIHN1YiBnZW5lcmF0ZU5ld0NoYW5nZUxvZ3MoJCQk
JCQkJCQkJCQkKQogCiAgICAgICAgIHByaW50IENIQU5HRV9MT0cgbm9ybWFsaXplTGluZUVuZGlu
Z3MoIiAgICAgICAgUmV2aWV3ZWQgYnkgJHJldmlld2VyLlxuXG4iLCAkZW5kbCk7CiAKLSAgICAg
ICAgaWYgKCRwcmVmaXggPX4gbS9XZWJDb3JlLyB8fCBgcHdkYCA9fiBtL1dlYkNvcmUvKSB7Cisg
ICAgICAgIGlmICgkcHJlZml4ID1+IG0vV2ViQ29yZS8gfHwgYHB3ZGAgPX4gbS9XZWJDb3JlLyB8
fCBAJHJlcXVpcmVzVGVzdHMpIHsKICAgICAgICAgICAgIGlmIChAJGFkZGVkUmVncmVzc2lvblRl
c3RzKSB7CiAgICAgICAgICAgICAgICAgcHJpbnQgQ0hBTkdFX0xPRyBub3JtYWxpemVMaW5lRW5k
aW5ncyh0ZXN0TGlzdEZvckNoYW5nZUxvZyhzb3J0IEAkYWRkZWRSZWdyZXNzaW9uVGVzdHMpLCAk
ZW5kbCk7CiAgICAgICAgICAgICB9IGVsc2UgewpAQCAtMTgwMSw2ICsxODA0LDQ2IEBAIHN1YiBz
dGF0dXNDb21tYW5kKCQkJCQpCiAgICAgcmV0dXJuICIkY29tbWFuZCAyPiYxIjsKIH0KIAorc3Vi
IGF0dHJpYnV0ZUNvbW1hbmQoJCQpCit7CisgICAgbXkgKCRmaWxlLCAkYXR0cikgPSBAXzsKKwor
ICAgIG15ICRyZXN1bHQ7CisgICAgaWYgKGlzU1ZOKCkpIHsKKyAgICAgICAgbXkgJGZvdW5kQXR0
cmlidXRlID0gMDsKKyAgICAgICAgbXkgJHN1YlBhdGggPSAiLiI7CisgICAgICAgIG15IChAZGly
ZWN0b3J5UGFydHNzKSA9IEZpbGU6OlNwZWMtPnNwbGl0ZGlyKCRmaWxlKTsKKyAgICAgICAgZm9y
ZWFjaCBteSAkcGFydCAoQGRpcmVjdG9yeVBhcnRzcykgeworICAgICAgICAgICAgaWYgKCRwYXJ0
IGVxICIuIikgeworICAgICAgICAgICAgICAgIG5leHQ7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICAkc3ViUGF0aCA9IEZpbGU6OlNwZWMtPmpvaW4oJHN1YlBhdGgsICRwYXJ0KTsKKyAgICAg
ICAgICAgICRzdWJQYXRoID1+IHMvXlwuXC8vLzsKKyAgICAgICAgICAgIGlmICgkZm91bmRBdHRy
aWJ1dGUgfHwgZXhpc3RzICRhdHRyaWJ1dGVDYWNoZXskYXR0cn17JHN1YlBhdGh9ICYmICRhdHRy
aWJ1dGVDYWNoZXskYXR0cn17JHN1YlBhdGh9IGVxICIxIikgeworICAgICAgICAgICAgICAgICRh
dHRyaWJ1dGVDYWNoZXskYXR0cn17JHN1YlBhdGh9ID0gIjEiOworICAgICAgICAgICAgICAgICRm
b3VuZEF0dHJpYnV0ZSA9IDE7CisgICAgICAgICAgICAgICAgbmV4dDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgICAgIG15ICRjb21tYW5kID0gU1ZOIC4gIiBwcm9wZ2V0ICRhdHRyICRzdWJQYXRo
IjsKKyAgICAgICAgICAgIG15ICRhdHRyaWIgPSAkYXR0cmlidXRlQ2FjaGV7JGF0dHJ9eyRzdWJQ
YXRofSB8fCBgJGNvbW1hbmRgOworICAgICAgICAgICAgY2hvbXAgJGF0dHJpYjsKKyAgICAgICAg
ICAgIGlmICgkYXR0cmliIGVxICIxIikgeworICAgICAgICAgICAgICAgICRmb3VuZEF0dHJpYnV0
ZSA9IDE7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAkYXR0cmlidXRlQ2FjaGV7JGF0dHJ9
eyRzdWJQYXRofSA9ICRhdHRyaWIgfHwgIjAiOworICAgICAgICB9CisgICAgICAgICRyZXN1bHQg
PSAkYXR0cmlidXRlQ2FjaGV7JGF0dHJ9eyRmaWxlfTsKKyAgICB9IGVsc2lmIChpc0dpdCgpKSB7
CisgICAgICAgIG15ICRjb21tYW5kID0gR0lUIC4gIiBjaGVjay1hdHRyICRhdHRyIC0tICRmaWxl
IjsKKyAgICAgICAgJHJlc3VsdCA9IGAkY29tbWFuZGA7CisgICAgICAgIGNob21wICRyZXN1bHQ7
CisgICAgICAgICRyZXN1bHQgPX4gcy8uKlxXKFx3KS8kMS87CisgICAgfQorCisgICAgJHJlc3Vs
dCA9fiBzL1xELy9nOworICAgIHJldHVybiBpbnQoJHJlc3VsdCB8fCAwKTsKK30KKwogc3ViIGNy
ZWF0ZVBhdGNoQ29tbWFuZCgkJCQkKQogewogICAgIG15ICgkY2hhbmdlZEZpbGVzU3RyaW5nLCAk
Z2l0Q29tbWl0LCAkZ2l0SW5kZXgsICRtZXJnZUJhc2UpID0gQF87CkBAIC0xOTI1LDYgKzE5Njgs
NyBAQCBzdWIgZ2VuZXJhdGVGaWxlTGlzdChcJSQkJCkKICAgICBteSBAY29uZmxpY3RGaWxlczsK
ICAgICBteSAlZnVuY3Rpb25MaXN0czsKICAgICBteSBAYWRkZWRSZWdyZXNzaW9uVGVzdHM7Cisg
ICAgbXkgQHJlcXVpcmVzVGVzdHM7CiAgICAgcHJpbnQgU1RERVJSICIgIFJ1bm5pbmcgc3RhdHVz
IHRvIGZpbmQgY2hhbmdlZCwgYWRkZWQsIG9yIHJlbW92ZWQgZmlsZXMuXG4iOwogICAgIG9wZW4g
U1RBVCwgIi18Iiwgc3RhdHVzQ29tbWFuZCgkcGF0aHMsICRnaXRDb21taXQsICRnaXRJbmRleCwg
JG1lcmdlQmFzZSkgb3IgZGllICJUaGUgc3RhdHVzIGZhaWxlZDogJCEuXG4iOwogICAgIHdoaWxl
ICg8U1RBVD4pIHsKQEAgLTE5ODYsNiArMjAzMCwxMCBAQCBzdWIgZ2VuZXJhdGVGaWxlTGlzdChc
JSQkJCkKICAgICAgICAgICAgICAgICAgICAgICAgJiYgJGZpbGUgIX4gLy1leHBlY3RlZCgtbWlz
bWF0Y2gpP1wuaHRtbCQvCiAgICAgICAgICAgICAgICAgICAgICAgICYmICFzY2FsYXIoZ3JlcCgv
XnJlc291cmNlcyQvaSwgQGNvbXBvbmVudHMpKQogICAgICAgICAgICAgICAgICAgICAgICAmJiAh
c2NhbGFyKGdyZXAoL15zY3JpcHQtdGVzdHMkL2ksIEBjb21wb25lbnRzKSk7CisgICAgICAgICAg
ICB9IGVsc2lmIChhdHRyaWJ1dGVDb21tYW5kKCRmaWxlLCAidGVzdCIpKSB7CisgICAgICAgICAg
ICAgICAgcHVzaCBAYWRkZWRSZWdyZXNzaW9uVGVzdHMsICRmaWxlOworICAgICAgICAgICAgfSBl
bHNpZiAoYXR0cmlidXRlQ29tbWFuZCgkZmlsZSwgInJlcXVpcmVzVGVzdHMiKSkgeworICAgICAg
ICAgICAgICAgIHB1c2ggQHJlcXVpcmVzVGVzdHMsICRmaWxlCiAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICBwdXNoIEBjaGFuZ2VkRmlsZXMsICRmaWxlIGlmICRjb21wb25lbnRzWyQjY29tcG9u
ZW50c10gbmUgIkNoYW5nZUxvZyI7CiAgICAgICAgIH0gZWxzaWYgKGlzQ29uZmxpY3RTdGF0dXMo
JHN0YXR1cywgJGdpdENvbW1pdCwgJGdpdEluZGV4KSB8fCBpc0NvbmZsaWN0U3RhdHVzKCRwcm9w
ZXJ0eVN0YXR1cywgJGdpdENvbW1pdCwgJGdpdEluZGV4KSkgewpAQCAtMTk5Nyw3ICsyMDQ1LDcg
QEAgc3ViIGdlbmVyYXRlRmlsZUxpc3QoXCUkJCQpCiAgICAgICAgIH0KICAgICB9CiAgICAgY2xv
c2UgU1RBVDsKLSAgICByZXR1cm4gKFxAY2hhbmdlZEZpbGVzLCBcQGNvbmZsaWN0RmlsZXMsIFwl
ZnVuY3Rpb25MaXN0cywgXEBhZGRlZFJlZ3Jlc3Npb25UZXN0cyk7CisgICAgcmV0dXJuIChcQGNo
YW5nZWRGaWxlcywgXEBjb25mbGljdEZpbGVzLCBcJWZ1bmN0aW9uTGlzdHMsIFxAYWRkZWRSZWdy
ZXNzaW9uVGVzdHMsIFxAcmVxdWlyZXNUZXN0cyk7CiB9CiAKIHN1YiBpc1VubW9kaWZpZWRTdGF0
dXMoJCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260238</attachid>
            <date>2015-08-30 01:30:24 -0700</date>
            <delta_ts>2015-08-31 16:45:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148498-20150830013009.patch</filename>
            <type>text/plain</type>
            <size>7820</size>
            <attacher name="Jason Marcell">jmarcell</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4YzFk
ZGE1ZjViMjRlNjcxNDE3Nzc2MmM2MTgyNTBlMWU1MTE0MzUzLi5lMmM0NjEzMDU4NjYyNzNmYjUy
ZDIwYjc0YTgxNGRmOWNiN2VmN2E0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTUtMDgtMjggIEphc29uIE1hcmNl
bGwgIDxqbWFyY2VsbEBhcHBsZS5jb20+CisKKyAgICAgICAgTW9kaWZ5IHByZXBhcmUtQ2hhbmdl
bG9nIHRvIGJlIGF3YXJlIG9mIGZpbGVzIHRoYXQgYXJlIG1hcmtlZCBhcyB0ZXN0cyBhcyB3ZWxs
IGFzIGZpbGVzCisgICAgICAgIHRoYXQgYXJlIG1hcmtlZCBhcyByZXF1aXJpbmcgY29ycmVzcG9u
ZGluZyB0ZXN0cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0ODQ5OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjE1NTUzMTQ+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGFuIEJlcm5zdGVpbiBhbmQgRGF2aWQgS2lsemVyLgorCisgICAgICAgICog
U2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZzogQWRkZWQgImF0dHJpYnV0ZUNhY2hlIiB0byBjYWNo
ZSBTdWJ2ZXJzaW9uIHByb3BlcnRpZXMgaW4gb3JkZXIgdG8KKyAgICAgICAgc2ltdWxhdGUgR2l0
J3MgYXR0cmlidXRlIGJlaGV2YWlvci4KKyAgICAgICAgKG1haW4pOiBBZGRlZCAicmVxdWlyZXNU
ZXN0cyIgYXJyYXkgdG8gY29udGFpbiBmaWxlcyB0aGF0IHJlcXVpcmUgdGVzdHMuCisgICAgICAg
IChnZW5lcmF0ZU5ld0NoYW5nZUxvZ3MpOiBDaGVja3MgInJlcXVpcmVzVGVzdHMiIGFycmF5IHRv
IGRldGVybWluZSB3aGV0aGVyIHRvIGluamVjdCAidGVzdHMiCisgICAgICAgIHNlY3Rpb24gaW4g
Q2hhbmdlTG9nLgorICAgICAgICAoYXR0cmlidXRlQ29tbWFuZCk6IFF1ZXJpZXMgYSBnaXZlbiBm
aWxlIGZvciBhIGdpdmVuIEdpdCBhdHRyaWJ1dGUgdmFsdWUuIElmIHVzaW5nIFN1YnZlcnNpb24s
CisgICAgICAgIGhvd2V2ZXIsIHdlIGNoZWNrIGlmIHRoZSBmaWxlIG9yIGFueSBjb250YWluaW5n
IGZvbGRlciBoYXMgdGhlIGdpdmVuIHByb3BlcnR5IHNldCB0byAiMSIgYW5kCisgICAgICAgIHJl
dHVybiAxIGlmIHNvOyByZXR1cm4gMCBvdGhlcndpc2UuCisgICAgICAgIChnZW5lcmF0ZUZpbGVM
aXN0KTogQWRkcyBmaWxlcyB0byAicmVxdWlyZXNUZXN0cyIgYXJyYXkgaWYgR2l0IGF0dHJpYnV0
ZSBpcyBzZXQgdG8gIjEiLiBBbHNvCisgICAgICAgIGFkZHMgZmlsZXMgdG8gImFkZGVkUmVncmVz
c2lvblRlc3RzIiBhcnJheSBpZiAidGVzdCIgYXR0cmlidXRlIGlzIHNldCB0byAiMSIuCisKIDIw
MTUtMDgtMjggIFRpbW90aHkgSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAg
ICAgICAgIFJlbW92ZSBhbiBvbGQgdGVtcG9yYXJ5IHNjcmlwdCB0aGF0IGhhcyBzZXJ2ZWQgaXRz
IHB1cnBvc2UKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvcHJlcGFyZS1DaGFuZ2VMb2cgYi9U
b29scy9TY3JpcHRzL3ByZXBhcmUtQ2hhbmdlTG9nCmluZGV4IGU2M2UzMzMxNmMxNWRmOWYzZGMy
ZDFmZjAxYjc1MjE4ZWU2YjZlOTkuLjIzMDM0NzkwZmEzMDEyOGVkMjdhZDFlYzMxZGI4M2QwNGYy
YzVlMTYgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvcHJlcGFyZS1DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZwpAQCAtNjQsNiArNjQsNyBAQCB1c2UgTGlz
dDo6VXRpbCBxdy9tYXgvOwogdXNlIFBPU0lYIHF3KHN0cmZ0aW1lKTsKIHVzZSBWQ1NVdGlsczsK
IAorc3ViIGF0dHJpYnV0ZUNvbW1hbmQoJCQpOwogc3ViIGNoYW5nZUxvZ0RhdGUoJCk7CiBzdWIg
Y2hhbmdlTG9nRW1haWxBZGRyZXNzRnJvbUFyZ3MoJCQpOwogc3ViIGNoYW5nZUxvZ05hbWVGcm9t
QXJncygkJCk7CkBAIC04MSw3ICs4Miw3IEBAIHN1YiBmaW5kT3JpZ2luYWxGaWxlRnJvbVN2bigk
KTsKIHN1YiBnZW5lcmF0ZUZpbGVMaXN0KFwlJCQkKTsKIHN1YiBnZW5lcmF0ZUZ1bmN0aW9uTGlz
dHMoJCQkJCQpOwogc3ViIGdlbmVyYXRlRnVuY3Rpb25MaXN0c0J5UmFuZ2VzKCQkJCQpOwotc3Vi
IGdlbmVyYXRlTmV3Q2hhbmdlTG9ncygkJCQkJCQkJCQkJCQpOworc3ViIGdlbmVyYXRlTmV3Q2hh
bmdlTG9ncygkJCQkJCQkJCQkJCQkKTsKIHN1YiBnZXRMYXRlc3RDaGFuZ2VMb2dzKCQpOwogc3Vi
IGdldF9mdW5jdGlvbl9saW5lX3JhbmdlcygkJCk7CiBzdWIgZ2V0X2Z1bmN0aW9uX2xpbmVfcmFu
Z2VzX2Zvcl9jcHAoJCQpOwpAQCAtMTE3LDYgKzExOCw4IEBAIHVzZSBjb25zdGFudCBTVk4gPT4g
InN2biI7CiB1c2UgY29uc3RhbnQgR0lUID0+ICJnaXQiOwogdXNlIGNvbnN0YW50IFN1cHBvcnRl
ZFRlc3RFeHRlbnNpb25zID0+IHttYXAgeyAkXyA9PiAxIH0gcXcoaHRtbCBzaHRtbCBzdmcgeG1s
IHhodG1sIHBsIHBocCl9OwogCitteSAlYXR0cmlidXRlQ2FjaGU7CisKIGV4aXQobWFpbigpKTsK
IAogc3ViIG1haW4oKQpAQCAtMTg0LDcgKzE4Nyw3IEBAIHN1YiBtYWluKCkKICAgICBteSAlcGF0
aHMgPSBwcm9jZXNzUGF0aHMoQEFSR1YpOwogCiAgICAgIyBGaW5kIHRoZSBsaXN0IG9mIG1vZGlm
aWVkIGZpbGVzCi0gICAgbXkgKCRjaGFuZ2VkRmlsZXMsICRjb25mbGljdEZpbGVzLCAkZnVuY3Rp
b25MaXN0cywgJGFkZGVkUmVncmVzc2lvblRlc3RzKSA9IGdlbmVyYXRlRmlsZUxpc3QoJXBhdGhz
LCAkZ2l0Q29tbWl0LCAkZ2l0SW5kZXgsICRtZXJnZUJhc2UpOworICAgIG15ICgkY2hhbmdlZEZp
bGVzLCAkY29uZmxpY3RGaWxlcywgJGZ1bmN0aW9uTGlzdHMsICRhZGRlZFJlZ3Jlc3Npb25UZXN0
cywgJHJlcXVpcmVzVGVzdHMpID0gZ2VuZXJhdGVGaWxlTGlzdCglcGF0aHMsICRnaXRDb21taXQs
ICRnaXRJbmRleCwgJG1lcmdlQmFzZSk7CiAKICAgICBpZiAoIUAkY2hhbmdlZEZpbGVzICYmICFA
JGNvbmZsaWN0RmlsZXMgJiYgIWtleXMgJSRmdW5jdGlvbkxpc3RzKSB7CiAgICAgICAgIHByaW50
IFNUREVSUiAiICBObyBjaGFuZ2VzIGZvdW5kLlxuIjsKQEAgLTIyNiw3ICsyMjksNyBAQCBzdWIg
bWFpbigpCiAgICAgICAgIHJlc29sdmVDb25mbGljdGVkQ2hhbmdlTG9ncygkY2hhbmdlTG9ncyk7
CiAgICAgfQogCi0gICAgZ2VuZXJhdGVOZXdDaGFuZ2VMb2dzKCRwcmVmaXhlcywgJGZpbGVzSW5D
aGFuZ2VMb2csICRhZGRlZFJlZ3Jlc3Npb25UZXN0cywgJGZ1bmN0aW9uTGlzdHMsICRidWdVUkws
ICRidWdEZXNjcmlwdGlvbiwgJG5hbWUsICRlbWFpbEFkZHJlc3MsICRnaXRSZXZpZXdlciwgJGdp
dENvbW1pdCwgJHdyaXRlQ2hhbmdlTG9ncywgJGRlbGltaXRlcnMpOworICAgIGdlbmVyYXRlTmV3
Q2hhbmdlTG9ncygkcHJlZml4ZXMsICRmaWxlc0luQ2hhbmdlTG9nLCAkYWRkZWRSZWdyZXNzaW9u
VGVzdHMsICRyZXF1aXJlc1Rlc3RzLCAkZnVuY3Rpb25MaXN0cywgJGJ1Z1VSTCwgJGJ1Z0Rlc2Ny
aXB0aW9uLCAkbmFtZSwgJGVtYWlsQWRkcmVzcywgJGdpdFJldmlld2VyLCAkZ2l0Q29tbWl0LCAk
d3JpdGVDaGFuZ2VMb2dzLCAkZGVsaW1pdGVycyk7CiAKICAgICBpZiAoJHdyaXRlQ2hhbmdlTG9n
cykgewogICAgICAgICBwcmludCBTVERFUlIgIi0tIFBsZWFzZSByZW1lbWJlciB0byBpbmNsdWRl
IGEgZGV0YWlsZWQgZGVzY3JpcHRpb24gaW4geW91ciBDaGFuZ2VMb2cgZW50cnkuIC0tXG4tLSBT
ZWUgPGh0dHA6Ly93ZWJraXQub3JnL2NvZGluZy9jb250cmlidXRpbmcuaHRtbD4gZm9yIG1vcmUg
aW5mbyAtLVxuIjsKQEAgLTUyNyw5ICs1MzAsOSBAQCBzdWIgcmVzb2x2ZUNvbmZsaWN0ZWRDaGFu
Z2VMb2dzKCQpCiAgICAgY2xvc2UgUkVTT0xWRTsKIH0KIAotc3ViIGdlbmVyYXRlTmV3Q2hhbmdl
TG9ncygkJCQkJCQkJCQkJCQpCitzdWIgZ2VuZXJhdGVOZXdDaGFuZ2VMb2dzKCQkJCQkJCQkJCQk
JCQpCiB7Ci0gICAgbXkgKCRwcmVmaXhlcywgJGZpbGVzSW5DaGFuZ2VMb2csICRhZGRlZFJlZ3Jl
c3Npb25UZXN0cywgJGZ1bmN0aW9uTGlzdHMsICRidWdVUkwsICRidWdEZXNjcmlwdGlvbiwgJG5h
bWUsICRlbWFpbEFkZHJlc3MsICRnaXRSZXZpZXdlciwgJGdpdENvbW1pdCwgJHdyaXRlQ2hhbmdl
TG9ncywgJGRlbGltaXRlcnMpID0gQF87CisgICAgbXkgKCRwcmVmaXhlcywgJGZpbGVzSW5DaGFu
Z2VMb2csICRhZGRlZFJlZ3Jlc3Npb25UZXN0cywgJHJlcXVpcmVzVGVzdHMsICRmdW5jdGlvbkxp
c3RzLCAkYnVnVVJMLCAkYnVnRGVzY3JpcHRpb24sICRuYW1lLCAkZW1haWxBZGRyZXNzLCAkZ2l0
UmV2aWV3ZXIsICRnaXRDb21taXQsICR3cml0ZUNoYW5nZUxvZ3MsICRkZWxpbWl0ZXJzKSA9IEBf
OwogCiAgICAgIyBHZW5lcmF0ZSBuZXcgQ2hhbmdlTG9nIGVudHJpZXMgYW5kIChvcHRpb25hbGx5
KSB3cml0ZSBvdXQgbmV3IENoYW5nZUxvZyBmaWxlcy4KICAgICBmb3JlYWNoIG15ICRwcmVmaXgg
KEAkcHJlZml4ZXMpIHsKQEAgLTU3MCw3ICs1NzMsNyBAQCBzdWIgZ2VuZXJhdGVOZXdDaGFuZ2VM
b2dzKCQkJCQkJCQkJCQkJCkKIAogICAgICAgICBwcmludCBDSEFOR0VfTE9HIG5vcm1hbGl6ZUxp
bmVFbmRpbmdzKCIgICAgICAgIFJldmlld2VkIGJ5ICRyZXZpZXdlci5cblxuIiwgJGVuZGwpOwog
Ci0gICAgICAgIGlmICgkcHJlZml4ID1+IG0vV2ViQ29yZS8gfHwgYHB3ZGAgPX4gbS9XZWJDb3Jl
LykgeworICAgICAgICBpZiAoJHByZWZpeCA9fiBtL1dlYkNvcmUvIHx8IGBwd2RgID1+IG0vV2Vi
Q29yZS8gfHwgQCRyZXF1aXJlc1Rlc3RzKSB7CiAgICAgICAgICAgICBpZiAoQCRhZGRlZFJlZ3Jl
c3Npb25UZXN0cykgewogICAgICAgICAgICAgICAgIHByaW50IENIQU5HRV9MT0cgbm9ybWFsaXpl
TGluZUVuZGluZ3ModGVzdExpc3RGb3JDaGFuZ2VMb2coc29ydCBAJGFkZGVkUmVncmVzc2lvblRl
c3RzKSwgJGVuZGwpOwogICAgICAgICAgICAgfSBlbHNlIHsKQEAgLTE4MDEsNiArMTgwNCw0NiBA
QCBzdWIgc3RhdHVzQ29tbWFuZCgkJCQkKQogICAgIHJldHVybiAiJGNvbW1hbmQgMj4mMSI7CiB9
CiAKK3N1YiBhdHRyaWJ1dGVDb21tYW5kKCQkKQoreworICAgIG15ICgkZmlsZSwgJGF0dHIpID0g
QF87CisKKyAgICBteSAkcmVzdWx0OworICAgIGlmIChpc1NWTigpKSB7CisgICAgICAgIG15ICRm
b3VuZEF0dHJpYnV0ZSA9IDA7CisgICAgICAgIG15ICRzdWJQYXRoID0gIi4iOworICAgICAgICBt
eSAoQGRpcmVjdG9yeVBhcnRzKSA9IEZpbGU6OlNwZWMtPnNwbGl0ZGlyKCRmaWxlKTsKKyAgICAg
ICAgZm9yZWFjaCBteSAkcGFydCAoQGRpcmVjdG9yeVBhcnRzKSB7CisgICAgICAgICAgICBpZiAo
JHBhcnQgZXEgIi4iKSB7CisgICAgICAgICAgICAgICAgbmV4dDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICRzdWJQYXRoID0gRmlsZTo6U3BlYy0+am9pbigkc3ViUGF0aCwgJHBhcnQpOwor
ICAgICAgICAgICAgJHN1YlBhdGggPX4gcy9eXC5cLy8vOworICAgICAgICAgICAgaWYgKCRmb3Vu
ZEF0dHJpYnV0ZSB8fCBleGlzdHMgJGF0dHJpYnV0ZUNhY2hleyRhdHRyfXskc3ViUGF0aH0gJiYg
JGF0dHJpYnV0ZUNhY2hleyRhdHRyfXskc3ViUGF0aH0gZXEgIjEiKSB7CisgICAgICAgICAgICAg
ICAgJGF0dHJpYnV0ZUNhY2hleyRhdHRyfXskc3ViUGF0aH0gPSAiMSI7CisgICAgICAgICAgICAg
ICAgJGZvdW5kQXR0cmlidXRlID0gMTsKKyAgICAgICAgICAgICAgICBuZXh0OworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgbXkgJGNvbW1hbmQgPSBTVk4gLiAiIHByb3BnZXQgJGF0dHIgJHN1
YlBhdGgiOworICAgICAgICAgICAgbXkgJGF0dHJpYiA9ICRhdHRyaWJ1dGVDYWNoZXskYXR0cn17
JHN1YlBhdGh9IHx8IGAkY29tbWFuZGA7CisgICAgICAgICAgICBjaG9tcCAkYXR0cmliOworICAg
ICAgICAgICAgaWYgKCRhdHRyaWIgZXEgIjEiKSB7CisgICAgICAgICAgICAgICAgJGZvdW5kQXR0
cmlidXRlID0gMTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICRhdHRyaWJ1dGVDYWNoZXsk
YXR0cn17JHN1YlBhdGh9ID0gJGF0dHJpYiB8fCAiMCI7CisgICAgICAgIH0KKyAgICAgICAgJHJl
c3VsdCA9ICRhdHRyaWJ1dGVDYWNoZXskYXR0cn17JGZpbGV9OworICAgIH0gZWxzaWYgKGlzR2l0
KCkpIHsKKyAgICAgICAgbXkgJGNvbW1hbmQgPSBHSVQgLiAiIGNoZWNrLWF0dHIgJGF0dHIgLS0g
JGZpbGUiOworICAgICAgICAkcmVzdWx0ID0gYCRjb21tYW5kYDsKKyAgICAgICAgY2hvbXAgJHJl
c3VsdDsKKyAgICAgICAgJHJlc3VsdCA9fiBzLy4qXFcoXHcpLyQxLzsKKyAgICB9CisKKyAgICAk
cmVzdWx0ID1+IHMvXEQvL2c7CisgICAgcmV0dXJuIGludCgkcmVzdWx0IHx8IDApOworfQorCiBz
dWIgY3JlYXRlUGF0Y2hDb21tYW5kKCQkJCQpCiB7CiAgICAgbXkgKCRjaGFuZ2VkRmlsZXNTdHJp
bmcsICRnaXRDb21taXQsICRnaXRJbmRleCwgJG1lcmdlQmFzZSkgPSBAXzsKQEAgLTE5MjUsNiAr
MTk2OCw3IEBAIHN1YiBnZW5lcmF0ZUZpbGVMaXN0KFwlJCQkKQogICAgIG15IEBjb25mbGljdEZp
bGVzOwogICAgIG15ICVmdW5jdGlvbkxpc3RzOwogICAgIG15IEBhZGRlZFJlZ3Jlc3Npb25UZXN0
czsKKyAgICBteSBAcmVxdWlyZXNUZXN0czsKICAgICBwcmludCBTVERFUlIgIiAgUnVubmluZyBz
dGF0dXMgdG8gZmluZCBjaGFuZ2VkLCBhZGRlZCwgb3IgcmVtb3ZlZCBmaWxlcy5cbiI7CiAgICAg
b3BlbiBTVEFULCAiLXwiLCBzdGF0dXNDb21tYW5kKCRwYXRocywgJGdpdENvbW1pdCwgJGdpdElu
ZGV4LCAkbWVyZ2VCYXNlKSBvciBkaWUgIlRoZSBzdGF0dXMgZmFpbGVkOiAkIS5cbiI7CiAgICAg
d2hpbGUgKDxTVEFUPikgewpAQCAtMTk4Niw2ICsyMDMwLDEwIEBAIHN1YiBnZW5lcmF0ZUZpbGVM
aXN0KFwlJCQkKQogICAgICAgICAgICAgICAgICAgICAgICAmJiAkZmlsZSAhfiAvLWV4cGVjdGVk
KC1taXNtYXRjaCk/XC5odG1sJC8KICAgICAgICAgICAgICAgICAgICAgICAgJiYgIXNjYWxhcihn
cmVwKC9ecmVzb3VyY2VzJC9pLCBAY29tcG9uZW50cykpCiAgICAgICAgICAgICAgICAgICAgICAg
ICYmICFzY2FsYXIoZ3JlcCgvXnNjcmlwdC10ZXN0cyQvaSwgQGNvbXBvbmVudHMpKTsKKyAgICAg
ICAgICAgIH0gZWxzaWYgKGF0dHJpYnV0ZUNvbW1hbmQoJGZpbGUsICJ0ZXN0IikpIHsKKyAgICAg
ICAgICAgICAgICBwdXNoIEBhZGRlZFJlZ3Jlc3Npb25UZXN0cywgJGZpbGU7CisgICAgICAgICAg
ICB9IGVsc2lmIChhdHRyaWJ1dGVDb21tYW5kKCRmaWxlLCAicmVxdWlyZXNUZXN0cyIpKSB7Cisg
ICAgICAgICAgICAgICAgcHVzaCBAcmVxdWlyZXNUZXN0cywgJGZpbGUKICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIHB1c2ggQGNoYW5nZWRGaWxlcywgJGZpbGUgaWYgJGNvbXBvbmVudHNbJCNj
b21wb25lbnRzXSBuZSAiQ2hhbmdlTG9nIjsKICAgICAgICAgfSBlbHNpZiAoaXNDb25mbGljdFN0
YXR1cygkc3RhdHVzLCAkZ2l0Q29tbWl0LCAkZ2l0SW5kZXgpIHx8IGlzQ29uZmxpY3RTdGF0dXMo
JHByb3BlcnR5U3RhdHVzLCAkZ2l0Q29tbWl0LCAkZ2l0SW5kZXgpKSB7CkBAIC0xOTk3LDcgKzIw
NDUsNyBAQCBzdWIgZ2VuZXJhdGVGaWxlTGlzdChcJSQkJCkKICAgICAgICAgfQogICAgIH0KICAg
ICBjbG9zZSBTVEFUOwotICAgIHJldHVybiAoXEBjaGFuZ2VkRmlsZXMsIFxAY29uZmxpY3RGaWxl
cywgXCVmdW5jdGlvbkxpc3RzLCBcQGFkZGVkUmVncmVzc2lvblRlc3RzKTsKKyAgICByZXR1cm4g
KFxAY2hhbmdlZEZpbGVzLCBcQGNvbmZsaWN0RmlsZXMsIFwlZnVuY3Rpb25MaXN0cywgXEBhZGRl
ZFJlZ3Jlc3Npb25UZXN0cywgXEByZXF1aXJlc1Rlc3RzKTsKIH0KIAogc3ViIGlzVW5tb2RpZmll
ZFN0YXR1cygkKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>