<?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>79527</bug_id>
          
          <creation_ts>2012-02-24 13:26:51 -0800</creation_ts>
          <short_desc>Add more tests for web intents</short_desc>
          <delta_ts>2012-03-28 11:15:14 -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>New Bugs</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>
          <dependson>79741</dependson>
          <blocked>75123</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Greg Billock">gbillock</reporter>
          <assigned_to name="Greg Billock">gbillock</assigned_to>
          <cc>abarth</cc>
    
    <cc>bashi</cc>
    
    <cc>dpranke</cc>
    
    <cc>pnormand</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>564586</commentid>
    <comment_count>0</comment_count>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2012-02-24 13:26:51 -0800</bug_when>
    <thetext>Add more tests for web intents</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564590</commentid>
    <comment_count>1</comment_count>
      <attachid>128796</attachid>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2012-02-24 13:30:46 -0800</bug_when>
    <thetext>Created attachment 128796
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564592</commentid>
    <comment_count>2</comment_count>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2012-02-24 13:31:49 -0800</bug_when>
    <thetext>Should I pull some of this JS fixture into a shared file? Or keep each test pretty self-contained?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564643</commentid>
    <comment_count>3</comment_count>
      <attachid>128796</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-24 14:28:21 -0800</bug_when>
    <thetext>Comment on attachment 128796
Patch

I would share the code in a JS file.  We generally try to keep each directory fairly self-contained (with the exception of depending on js-test), but tests in a given directory often share resources, like JS files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565799</commentid>
    <comment_count>4</comment_count>
      <attachid>129067</attachid>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2012-02-27 10:38:31 -0800</bug_when>
    <thetext>Created attachment 129067
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565800</commentid>
    <comment_count>5</comment_count>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2012-02-27 10:39:26 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 128796 [details])
&gt; I would share the code in a JS file.  We generally try to keep each directory fairly self-contained (with the exception of depending on js-test), but tests in a given directory often share resources, like JS files.

Done. (There wasn&apos;t as much refactorable as I hoped with existing tests, but I did do a little.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565819</commentid>
    <comment_count>6</comment_count>
      <attachid>129067</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-02-27 10:58:17 -0800</bug_when>
    <thetext>Comment on attachment 129067
Patch

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

&gt; LayoutTests/webintents/web-intents-reply.html:11
&gt; +        if (window.layoutTestController) {
&gt; +          window.layoutTestController.sendWebIntentResponse(&quot;reply&quot;);
&gt; +        }

By the way, when a test doesn&apos;t work at all without layoutTestController, we usually include a message to that effect so that folks looking at the test in a normal browser don&apos;t get too confused.  Certainly not a big deal.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565832</commentid>
    <comment_count>7</comment_count>
      <attachid>129072</attachid>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2012-02-27 11:10:48 -0800</bug_when>
    <thetext>Created attachment 129072
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565834</commentid>
    <comment_count>8</comment_count>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2012-02-27 11:12:04 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 129067 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=129067&amp;action=review
&gt; 
&gt; &gt; LayoutTests/webintents/web-intents-reply.html:11
&gt; &gt; +        if (window.layoutTestController) {
&gt; &gt; +          window.layoutTestController.sendWebIntentResponse(&quot;reply&quot;);
&gt; &gt; +        }
&gt; 
&gt; By the way, when a test doesn&apos;t work at all without layoutTestController, we usually include a message to that effect so that folks looking at the test in a normal browser don&apos;t get too confused.  Certainly not a big deal.

I can do that. I saw a couple ways we&apos;re doing this. I stuck them in alerts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566117</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-27 16:46:46 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 129072:

css3/filters/effect-invert-hw.html bug 79639 (author: cmarrin@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566118</commentid>
    <comment_count>10</comment_count>
      <attachid>129072</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-27 16:49:08 -0800</bug_when>
    <thetext>Comment on attachment 129072
Patch

Clearing flags on attachment: 129072

Committed r109041: &lt;http://trac.webkit.org/changeset/109041&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566119</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-27 16:49:15 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566346</commentid>
    <comment_count>12</comment_count>
    <who name="Kenichi Ishibashi">bashi</who>
    <bug_when>2012-02-27 20:51:54 -0800</bug_when>
    <thetext>The patch broke Chromium win build.
http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Win%20Builder/builds/21085

I rolled out r109041.
http://trac.webkit.org/changeset/109069</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567274</commentid>
    <comment_count>13</comment_count>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2012-02-28 17:33:51 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567275</commentid>
    <comment_count>14</comment_count>
      <attachid>129363</attachid>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2012-02-28 17:33:53 -0800</bug_when>
    <thetext>Created attachment 129363
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567303</commentid>
    <comment_count>15</comment_count>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2012-02-28 18:18:17 -0800</bug_when>
    <thetext>OK, I think I&apos;ve fixed the problem. Windows was concerned about the call of the v8::String::New function with WebString.data(). I think it was right to be -- looking more carefully this function wants UTF8. I think the types match right now, but the chromium win_layout hasn&apos;t confirmed quite yet. (It&apos;s been timing out.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567789</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-29 11:47:09 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 129363:

css3/filters/effect-hue-rotate-hw.html bug 79845 (author: cmarrin@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567796</commentid>
    <comment_count>17</comment_count>
      <attachid>129363</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-29 11:51:17 -0800</bug_when>
    <thetext>Comment on attachment 129363
Patch

Clearing flags on attachment: 129363

Committed r109236: &lt;http://trac.webkit.org/changeset/109236&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567797</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-29 11:51:25 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567808</commentid>
    <comment_count>19</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2012-02-29 12:04:10 -0800</bug_when>
    <thetext>Committed r109242: &lt;http://trac.webkit.org/changeset/109242&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568545</commentid>
    <comment_count>20</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-03-01 04:05:39 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; Committed r109242: &lt;http://trac.webkit.org/changeset/109242&gt;

It seems that patch broke NRWT on GTK:

http://build.webkit.org/builders/GTK%20Linux%2032-bit%20Release/builds/21901/steps/layout-test/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568577</commentid>
    <comment_count>21</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-03-01 05:18:25 -0800</bug_when>
    <thetext>(In reply to comment #20)
&gt; (In reply to comment #19)
&gt; &gt; Committed r109242: &lt;http://trac.webkit.org/changeset/109242&gt;
&gt; 
&gt; It seems that patch broke NRWT on GTK:
&gt; 
&gt; http://build.webkit.org/builders/GTK%20Linux%2032-bit%20Release/builds/21901/steps/layout-test/logs/stdio

I landed a potential fix in r109337</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568743</commentid>
    <comment_count>22</comment_count>
    <who name="Greg Billock">gbillock</who>
    <bug_when>2012-03-01 10:04:58 -0800</bug_when>
    <thetext>Thanks.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128796</attachid>
            <date>2012-02-24 13:30:46 -0800</date>
            <delta_ts>2012-02-27 10:38:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79527-20120224133045.patch</filename>
            <type>text/plain</type>
            <size>12174</size>
            <attacher name="Greg Billock">gbillock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4ODE0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYTIzMDlmM2VhNDk4YWJhM2M1YWY4OGQ3NDEzNWJjZDdi
OGIxNGZjOS4uODU2NGQxMWE4ZDhmOGZmZjZkOTM5YzJjZWJlNjNlNmFkOTRjZmE2OCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDEyLTAyLTI0ICBHcmVnIEJpbGxvY2sgIDxnYmlsbG9ja0Bnb29nbGUuY29tPgorCisg
ICAgICAgIEFkZCBtb3JlIHRlc3RzIGZvciB3ZWIgaW50ZW50cworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk1MjcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xh
eW91dFRlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpM
YXlvdXRUZXN0Q29udHJvbGxlcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2Vu
ZFdlYkludGVudFJlc3BvbnNlKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9M
YXlvdXRUZXN0Q29udHJvbGxlci5oOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXIpOgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0Lmg6CisgICAgICAg
IChXZWJWaWV3SG9zdCk6CisgICAgICAgIChXZWJWaWV3SG9zdDo6Y3VycmVudEludGVudFJlcXVl
c3QpOgorCiAyMDEyLTAyLTI0ICBHcnplZ29yeiBDemFqa293c2tpICA8Zy5jemFqa293c2tpQHNh
bXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdW0RSVF0gSW1wbGVtZW50IHNldFZhbHVlRm9yVXNl
ciBhbmQgc2V0QXV0b2ZpbGxlZC4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAppbmRleCAzYzNiODNiYTI5ZDRjNTgwOTQ0
YzZiYWEyNzA0NzRmODQyMTU2NzZkLi45NmZmNTFiODNmM2Y2YTRkNjQyNGZiOTlhZWIzMjllYWMw
Y2RlYjZiIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5
b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC00OSwxNiArNDksMTkgQEAKICNpbmNsdWRlICJXZWJH
ZW9sb2NhdGlvbkNsaWVudE1vY2suaCIKICNpbmNsdWRlICJXZWJJREJGYWN0b3J5LmgiCiAjaW5j
bHVkZSAiV2ViSW5wdXRFbGVtZW50LmgiCisjaW5jbHVkZSAiV2ViSW50ZW50UmVxdWVzdC5oIgog
I2luY2x1ZGUgIldlYktpdC5oIgogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvblByZXNlbnRlci5o
IgogI2luY2x1ZGUgIldlYlBlcm1pc3Npb25zLmgiCiAjaW5jbHVkZSAiV2ViU2NyaXB0U291cmNl
LmgiCiAjaW5jbHVkZSAiV2ViU2VjdXJpdHlQb2xpY3kuaCIKKyNpbmNsdWRlICJwbGF0Zm9ybS9X
ZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlICJXZWJTZXR0aW5ncy5oIgogI2lu
Y2x1ZGUgInBsYXRmb3JtL1dlYlNpemUuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJVUkwuaCIK
ICNpbmNsdWRlICJXZWJWaWV3LmgiCiAjaW5jbHVkZSAiV2ViVmlld0hvc3QuaCIKKyNpbmNsdWRl
ICJ2OC9pbmNsdWRlL3Y4LmgiCiAjaW5jbHVkZSAid2Via2l0L3N1cHBvcnQvd2Via2l0X3N1cHBv
cnQuaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8Y2N0eXBlPgpAQCAtMjYxLDYg
KzI2NCw3IEBAIExheW91dFRlc3RDb250cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcihUZXN0
U2hlbGwqIHNoZWxsKQogICAgIGJpbmRQcm9wZXJ0eSgicGxhdGZvcm1OYW1lIiwgJm1fcGxhdGZv
cm1OYW1lKTsKICAgICBiaW5kUHJvcGVydHkoImludGVyY2VwdFBvc3RNZXNzYWdlIiwgJm1faW50
ZXJjZXB0UG9zdE1lc3NhZ2UpOwogICAgIGJpbmRQcm9wZXJ0eSgid29ya2VyVGhyZWFkQ291bnQi
LCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OndvcmtlclRocmVhZENvdW50KTsKKyAgICBiaW5kTWV0
aG9kKCJzZW5kV2ViSW50ZW50UmVzcG9uc2UiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNlbmRX
ZWJJbnRlbnRSZXNwb25zZSk7CiB9CiAKIExheW91dFRlc3RDb250cm9sbGVyOjp+TGF5b3V0VGVz
dENvbnRyb2xsZXIoKQpAQCAtMjEyMCw2ICsyMTI0LDI4IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRy
b2xsZXI6OndvcmtlclRocmVhZENvdW50KENwcFZhcmlhbnQqIHJlc3VsdCkKICAgICByZXN1bHQt
PnNldChzdGF0aWNfY2FzdDxpbnQ+KFdlYldvcmtlckluZm86OmRlZGljYXRlZFdvcmtlckNvdW50
KCkpKTsKIH0KIAordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2VuZFdlYkludGVudFJlc3Bv
bnNlKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYgYXJndW1lbnRzLCBDcHBWYXJpYW50KiByZXN1bHQp
Cit7CisgICAgdjg6OkhhbmRsZVNjb3BlIHNjb3BlOworICAgIHY4OjpMb2NhbDx2ODo6Q29udGV4
dD4gY3R4ID0gbV9zaGVsbC0+d2ViVmlldygpLT5tYWluRnJhbWUoKS0+bWFpbldvcmxkU2NyaXB0
Q29udGV4dCgpOworICAgIHJlc3VsdC0+c2V0KG1fc2hlbGwtPndlYlZpZXcoKS0+bWFpbkZyYW1l
KCktPnNlbGVjdGlvbkFzTWFya3VwKCkudXRmOCgpKTsKKyAgICB2ODo6Q29udGV4dDo6U2NvcGUg
Y3Njb3BlKGN0eCk7CisKKyAgICBXZWJLaXQ6OldlYkludGVudFJlcXVlc3QqIHJlcXVlc3QgPSBt
X3NoZWxsLT53ZWJWaWV3SG9zdCgpLT5jdXJyZW50SW50ZW50UmVxdWVzdCgpOworICAgIGlmIChy
ZXF1ZXN0LT5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKGFyZ3VtZW50cy5z
aXplKCkgPT0gMSkgeworICAgICAgICBXZWJLaXQ6OldlYlN0cmluZyByZXBseSA9IGNwcFZhcmlh
bnRUb1dlYlN0cmluZyhhcmd1bWVudHNbMF0pOworICAgICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gdjh2YWx1ZSA9IHY4OjpTdHJpbmc6Ok5ldyhyZXBseS5kYXRhKCksIHJlcGx5Lmxlbmd0aCgp
KTsKKyAgICAgICAgcmVxdWVzdC0+cG9zdFJlc3VsdChXZWJLaXQ6OldlYlNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZTo6c2VyaWFsaXplKHY4dmFsdWUpKTsKKyAgICB9IGVsc2UgeworICAgICAgICB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gdjh2YWx1ZSA9IHY4OjpTdHJpbmc6Ok5ldygiRVJST1IiKTsKKyAg
ICAgICAgcmVxdWVzdC0+cG9zdEZhaWx1cmUoV2ViS2l0OjpXZWJTZXJpYWxpemVkU2NyaXB0VmFs
dWU6OnNlcmlhbGl6ZSh2OHZhbHVlKSk7CisgICAgfQorICAgIHJlc3VsdC0+c2V0TnVsbCgpOwor
fQorCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRQbHVnaW5zRW5hYmxlZChjb25zdCBD
cHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVzdWx0KQogewogICAgIGlm
IChhcmd1bWVudHMuc2l6ZSgpID4gMCAmJiBhcmd1bWVudHNbMF0uaXNCb29sKCkpIHsKZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVy
LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5o
CmluZGV4IDk5YmQwYzQ2OWUxYzE1MWVmNTQwNjUzYWI3NzJkY2ZiZGEyZWEwMDcuLjVjZGVmMDM0
YzFhZjgwYjgwNWNlMWFmYjcyOTlhOTk5MjgwNDQ0ZmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtNDM1LDYgKzQz
NSwxMCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHdvcmtlclRocmVhZENvdW50KENwcFZhcmlhbnQq
KTsKIAorICAgIC8vIEV4cGVjdHMgb25lIHN0cmluZyBhcmd1bWVudCBmb3Igc2VuZGluZyBzdWNj
ZXNzZnVsIHJlc3VsdCwgemVybworICAgIC8vIGZvciBzZW5kaW5nIGEgZmFpbHVyZSByZXN1bHQu
CisgICAgdm9pZCBzZW5kV2ViSW50ZW50UmVzcG9uc2UoY29uc3QgQ3BwQXJndW1lbnRMaXN0Jiwg
Q3BwVmFyaWFudCopOworCiBwdWJsaWM6CiAgICAgLy8gVGhlIGZvbGxvd2luZyBtZXRob2RzIGFy
ZSBub3QgZXhwb3NlZCB0byBKYXZhU2NyaXB0LgogICAgIHZvaWQgc2V0V29ya1F1ZXVlRnJvemVu
KGJvb2wgZnJvemVuKSB7IG1fd29ya1F1ZXVlLnNldEZyb3plbihmcm96ZW4pOyB9CmRpZmYgLS1n
aXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAppbmRleCBmODBmNDM4YWQ1Y2Ri
ZDVmZGUyYTI2MDczZDY1OTg5YzUwM2NiOWQ0Li5mODZiMTFmNTA5NDg2ODMzYzdhMDJlNjAzMzhl
MmJiNGNmOGVlZDE0IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdI
b3N0LmgKQEAgLTI1Miw2ICsyNTIsOSBAQCBjbGFzcyBXZWJWaWV3SG9zdCA6IHB1YmxpYyBXZWJL
aXQ6OldlYlNwZWxsQ2hlY2tDbGllbnQsIHB1YmxpYyBXZWJLaXQ6OldlYlZpZXdDbAogICAgIC8v
IFBlbmRpbmcgdGFzayBsaXN0LCBOb3RlIHRhaHQgdGhlIG1ldGhvZCBpcyByZWZlcnJlZCBmcm9t
IE1ldGhvZFRhc2sgY2xhc3MuCiAgICAgVGFza0xpc3QqIHRhc2tMaXN0KCkgeyByZXR1cm4gJm1f
dGFza0xpc3Q7IH0KIAorICAgIC8vIFRoZSBjdXJyZW50IHdlYiBpbnRlbnRzIHJlcXVlc3QuCisg
ICAgV2ViS2l0OjpXZWJJbnRlbnRSZXF1ZXN0KiBjdXJyZW50SW50ZW50UmVxdWVzdCgpIHsgcmV0
dXJuICZtX2N1cnJlbnRSZXF1ZXN0OyB9CisKIHByaXZhdGU6CiAKICAgICBjbGFzcyBIb3N0TWV0
aG9kVGFzayA6IHB1YmxpYyBNZXRob2RUYXNrPFdlYlZpZXdIb3N0PiB7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDMwNDI4
MjVlYWI4ZTM0NTg0OGNiNjcwOWViZDczYWFlMDRiNTlhYy4uYWZjM2EwODMxZjQ4ZjZkNDY4ZWQx
MDIzNDMzMDBhYjc5YTg2ODdhYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTAyLTI0ICBH
cmVnIEJpbGxvY2sgIDxnYmlsbG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIEFkZCBtb3JlIHRl
c3RzIGZvciB3ZWIgaW50ZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Nzk1MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHdlYmludGVudHMvd2ViLWludGVudHMtZmFpbHVyZS1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHdlYmludGVudHMvd2ViLWludGVudHMtZmFpbHVyZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLWludm9rZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmludGVudHMvd2ViLWludGVudHMtaW52b2tlLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHdlYmludGVudHMvd2ViLWludGVudHMtcmVwbHktZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLXJlcGx5Lmh0bWw6
IEFkZGVkLgorCiAyMDEyLTAyLTI0ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlh
LmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBHVEsgU1ZHIHJlYmFzZWxpbmUgKGZyb20gNjQt
Yml0IFJlbGVhc2UgYm90KSBhbmQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmludGVudHMv
d2ViLWludGVudHMtZmFpbHVyZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJpbnRlbnRz
L3dlYi1pbnRlbnRzLWZhaWx1cmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0NzExYzc3ZjBk
MjIyNDU5YmJmNTJkMjI0YzFiNzMxMzA3ZGY5ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLWZhaWx1cmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNyBAQAorUmVjZWl2ZWQgV2ViIEludGVudDogYWN0aW9uPWFjdGlvbjEgdHlwZT1taW1lL3R5
cGUxCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKyog
c2VudCBpbnRlbnQKKyogZ290IGZhaWx1cmU6IEVSUk9SCisKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmludGVudHMvd2ViLWludGVudHMtZmFpbHVyZS5odG1sIGIvTGF5b3V0VGVzdHMvd2Vi
aW50ZW50cy93ZWItaW50ZW50cy1mYWlsdXJlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDdmZmZhNGE4YjZi
NWMyOGFiMWJhYjU0ZTM4NmQ4M2U2MTVkZmM1MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3dlYmludGVudHMvd2ViLWludGVudHMtZmFpbHVyZS5odG1sCkBAIC0wLDAgKzEsNTEgQEAK
KzxodG1sPgorICA8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgICB2YXIgbGF0Y2gg
PSB0cnVlOworCisgICAgICBmdW5jdGlvbiBvblN1Y2Nlc3MoZGF0YSkgeworICAgICAgICBkZWJ1
ZygiKiBnb3QgcmVwbHk6ICIgKyBkYXRhKTsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikgeworICAgICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7CisgICAgICAgIH0KKyAgICAgIH0KKworICAgICAgZnVuY3Rpb24gb25GYWlsdXJl
KGRhdGEpIHsKKyAgICAgICAgZGVidWcoIiogZ290IGZhaWx1cmU6ICIgKyBkYXRhKTsKKyAgICAg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgIHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KKyAgICAgIH0KKwor
ICAgICAgZnVuY3Rpb24gYnV0dG9uQ2xpY2tlZCgpIHsKKyAgICAgICAgbmF2aWdhdG9yLnN0YXJ0
QWN0aXZpdHkobmV3IEludGVudCgiYWN0aW9uMSIsICJtaW1lL3R5cGUxIiwgInRlc3QiKSwgb25T
dWNjZXNzLCBvbkZhaWx1cmUpOworICAgICAgICBkZWJ1ZygiKiBzZW50IGludGVudCIpOworCisg
ICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAvLyBF
bXB0eSBhcmdzIHdpbGwgc2VuZCBmYWlsdXJlIG1lc3NhZ2UuCisgICAgICAgICAgd2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyLnNlbmRXZWJJbnRlbnRSZXNwb25zZSgpOworICAgICAgICB9Cisg
ICAgICB9CisKKyAgICAgIGZ1bmN0aW9uIHN0YXJ0VGVzdCgpIHsKKyAgICAgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIH0KKworICAgICAgICAvLyBXZSBtdXN0
IHNpbXVsYXRlIGEgYnV0dG9uIHByZXNzIHdpdGggZXZlbnRTZW5kZXIgYmVjYXVzZSBpbnRlbnRz
CisgICAgICAgIC8vIHJlcXVpcmUgYSB1c2VyIGdlc3R1cmUuCisgICAgICAgIHZhciBidXR0b24g
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYnV0dG9uIik7CisgICAgICAgIGlmIChldmVudFNl
bmRlcikgeworICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGJ1dHRvbi5nZXRCb3Vu
ZGluZ0NsaWVudFJlY3QoKS5sZWZ0ICsgMiwgYnV0dG9uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgp
LnRvcCArIDEyKTsKKyAgICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAgICAg
ICBldmVudFNlbmRlci5tb3VzZVVwKCk7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICA8L3Njcmlw
dD4KKyAgPC9oZWFkPgorPGJvZHkgb25sb2FkPSJzdGFydFRlc3QoKSI+Cis8aW5wdXQgdHlwZT0i
YnV0dG9uIiBpZD0iYnV0dG9uIiB2YWx1ZT0iU3RhcnQgV2ViIEludGVudCIgb25tb3VzZXVwPSJi
dXR0b25DbGlja2VkKCkiPgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLWludm9rZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy93ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLWludm9rZS1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOTI2ZDI5OWMzZGE3OGUwNmJjMjRhZDg1Yzc4ZGI2ZDY3MGM1ZDA5MAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmludGVudHMvd2ViLWludGVudHMtaW52b2tlLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDYgQEAKK1JlY2VpdmVkIFdlYiBJbnRlbnQ6IGFjdGlvbj1hY3Rp
b24xIHR5cGU9bWltZS90eXBlMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisqIHNlbnQgaW50ZW50CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dl
YmludGVudHMvd2ViLWludGVudHMtaW52b2tlLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJpbnRlbnRz
L3dlYi1pbnRlbnRzLWludm9rZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ4NzJiYjZhODMyN2FiM2JkODk4
OTUwZWIwODg0NTdlNDI3N2NmYjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJp
bnRlbnRzL3dlYi1pbnRlbnRzLWludm9rZS5odG1sCkBAIC0wLDAgKzEsMjYgQEAKKzxodG1sPgor
ICA8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+CisgICAgICBmdW5jdGlvbiBidXR0b25DbGlj
a2VkKCkgeworICAgICAgICBuYXZpZ2F0b3Iuc3RhcnRBY3Rpdml0eShuZXcgSW50ZW50KCJhY3Rp
b24xIiwgIm1pbWUvdHlwZTEiLCAidGVzdCIpKTsKKyAgICAgICAgICBkZWJ1ZygiKiBzZW50IGlu
dGVudCIpOworICAgICAgfQorCisgICAgICBmdW5jdGlvbiBzdGFydFRlc3QoKSB7CisgICAgICAg
IC8vIFdlIG11c3Qgc2ltdWxhdGUgYSBidXR0b24gcHJlc3Mgd2l0aCBldmVudFNlbmRlciBiZWNh
dXNlIGludGVudHMKKyAgICAgICAgLy8gcmVxdWlyZSBhIHVzZXIgZ2VzdHVyZS4KKyAgICAgICAg
dmFyIGJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJidXR0b24iKTsKKyAgICAgICAg
aWYgKGV2ZW50U2VuZGVyKSB7CisgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oYnV0
dG9uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgKyAyLCBidXR0b24uZ2V0Qm91bmRpbmdD
bGllbnRSZWN0KCkudG9wICsgMTIpOworICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigp
OworICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICAgICAgfQorICAgICAgfQor
ICAgIDwvc2NyaXB0PgorICA8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InN0YXJ0VGVzdCgpIj4KKzxp
bnB1dCB0eXBlPSJidXR0b24iIGlkPSJidXR0b24iIHZhbHVlPSJTdGFydCBXZWIgSW50ZW50IiBv
bm1vdXNldXA9ImJ1dHRvbkNsaWNrZWQoKSI+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmludGVudHMvd2ViLWludGVudHMtcmVwbHktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvd2ViaW50ZW50cy93ZWItaW50ZW50cy1yZXBseS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNmQ2ZTJjNDk1NjE3NjgwYjJiYzkwN2ZmZGM2MjY5OWQ2MTU3OWFlMAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmludGVudHMvd2ViLWludGVudHMtcmVw
bHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorUmVjZWl2ZWQgV2ViIEludGVudDogYWN0
aW9uPWFjdGlvbjEgdHlwZT1taW1lL3R5cGUxCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKyogc2VudCBpbnRlbnQKKyogZ290IHJlcGx5OiByZXBseQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLXJlcGx5Lmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLXJlcGx5Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uM2E3NWQ0Yjk0ZjdmZGNiZTRiYmEyNzgyOTg2YmQ3OWM5N2U4ZjNhMQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmludGVudHMvd2ViLWludGVudHMtcmVwbHkuaHRtbApA
QCAtMCwwICsxLDQzIEBACis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0Pgor
ICAgICAgdmFyIGxhdGNoID0gdHJ1ZTsKKworICAgICAgZnVuY3Rpb24gb25TdWNjZXNzKGRhdGEp
IHsKKyAgICAgICAgZGVidWcoIiogZ290IHJlcGx5OiAiICsgZGF0YSk7CisgICAgICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICB3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9CisgICAgICB9CisKKyAgICAgIGZ1
bmN0aW9uIGJ1dHRvbkNsaWNrZWQoKSB7CisgICAgICAgIG5hdmlnYXRvci5zdGFydEFjdGl2aXR5
KG5ldyBJbnRlbnQoImFjdGlvbjEiLCAibWltZS90eXBlMSIsICJ0ZXN0IiksIG9uU3VjY2Vzcyk7
CisgICAgICAgIGRlYnVnKCIqIHNlbnQgaW50ZW50Iik7CisKKyAgICAgICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlci5zZW5kV2ViSW50ZW50UmVzcG9uc2UoInJlcGx5Iik7CisgICAgICAgIH0KKyAgICAgIH0K
KworICAgICAgZnVuY3Rpb24gc3RhcnRUZXN0KCkgeworICAgICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
LndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIFdlIG11c3Qgc2ltdWxh
dGUgYSBidXR0b24gcHJlc3Mgd2l0aCBldmVudFNlbmRlciBiZWNhdXNlIGludGVudHMKKyAgICAg
ICAgLy8gcmVxdWlyZSBhIHVzZXIgZ2VzdHVyZS4KKyAgICAgICAgdmFyIGJ1dHRvbiA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJidXR0b24iKTsKKyAgICAgICAgaWYgKGV2ZW50U2VuZGVyKSB7
CisgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oYnV0dG9uLmdldEJvdW5kaW5nQ2xp
ZW50UmVjdCgpLmxlZnQgKyAyLCBidXR0b24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsg
MTIpOworICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgICAgICAgIGV2ZW50
U2VuZGVyLm1vdXNlVXAoKTsKKyAgICAgICAgfQorICAgICAgfQorICAgIDwvc2NyaXB0PgorICA8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InN0YXJ0VGVzdCgpIj4KKzxpbnB1dCB0eXBlPSJidXR0b24i
IGlkPSJidXR0b24iIHZhbHVlPSJTdGFydCBXZWIgSW50ZW50IiBvbm1vdXNldXA9ImJ1dHRvbkNs
aWNrZWQoKSI+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0
LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129067</attachid>
            <date>2012-02-27 10:38:31 -0800</date>
            <delta_ts>2012-02-27 11:10:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79527-20120227103830.patch</filename>
            <type>text/plain</type>
            <size>12666</size>
            <attacher name="Greg Billock">gbillock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4ODE0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYTIzMDlmM2VhNDk4YWJhM2M1YWY4OGQ3NDEzNWJjZDdi
OGIxNGZjOS4uODU2NGQxMWE4ZDhmOGZmZjZkOTM5YzJjZWJlNjNlNmFkOTRjZmE2OCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDEyLTAyLTI0ICBHcmVnIEJpbGxvY2sgIDxnYmlsbG9ja0Bnb29nbGUuY29tPgorCisg
ICAgICAgIEFkZCBtb3JlIHRlc3RzIGZvciB3ZWIgaW50ZW50cworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk1MjcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xh
eW91dFRlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpM
YXlvdXRUZXN0Q29udHJvbGxlcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2Vu
ZFdlYkludGVudFJlc3BvbnNlKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9M
YXlvdXRUZXN0Q29udHJvbGxlci5oOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXIpOgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0Lmg6CisgICAgICAg
IChXZWJWaWV3SG9zdCk6CisgICAgICAgIChXZWJWaWV3SG9zdDo6Y3VycmVudEludGVudFJlcXVl
c3QpOgorCiAyMDEyLTAyLTI0ICBHcnplZ29yeiBDemFqa293c2tpICA8Zy5jemFqa293c2tpQHNh
bXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdW0RSVF0gSW1wbGVtZW50IHNldFZhbHVlRm9yVXNl
ciBhbmQgc2V0QXV0b2ZpbGxlZC4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAppbmRleCAzYzNiODNiYTI5ZDRjNTgwOTQ0
YzZiYWEyNzA0NzRmODQyMTU2NzZkLi45NmZmNTFiODNmM2Y2YTRkNjQyNGZiOTlhZWIzMjllYWMw
Y2RlYjZiIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5
b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC00OSwxNiArNDksMTkgQEAKICNpbmNsdWRlICJXZWJH
ZW9sb2NhdGlvbkNsaWVudE1vY2suaCIKICNpbmNsdWRlICJXZWJJREJGYWN0b3J5LmgiCiAjaW5j
bHVkZSAiV2ViSW5wdXRFbGVtZW50LmgiCisjaW5jbHVkZSAiV2ViSW50ZW50UmVxdWVzdC5oIgog
I2luY2x1ZGUgIldlYktpdC5oIgogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvblByZXNlbnRlci5o
IgogI2luY2x1ZGUgIldlYlBlcm1pc3Npb25zLmgiCiAjaW5jbHVkZSAiV2ViU2NyaXB0U291cmNl
LmgiCiAjaW5jbHVkZSAiV2ViU2VjdXJpdHlQb2xpY3kuaCIKKyNpbmNsdWRlICJwbGF0Zm9ybS9X
ZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlICJXZWJTZXR0aW5ncy5oIgogI2lu
Y2x1ZGUgInBsYXRmb3JtL1dlYlNpemUuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJVUkwuaCIK
ICNpbmNsdWRlICJXZWJWaWV3LmgiCiAjaW5jbHVkZSAiV2ViVmlld0hvc3QuaCIKKyNpbmNsdWRl
ICJ2OC9pbmNsdWRlL3Y4LmgiCiAjaW5jbHVkZSAid2Via2l0L3N1cHBvcnQvd2Via2l0X3N1cHBv
cnQuaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8Y2N0eXBlPgpAQCAtMjYxLDYg
KzI2NCw3IEBAIExheW91dFRlc3RDb250cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcihUZXN0
U2hlbGwqIHNoZWxsKQogICAgIGJpbmRQcm9wZXJ0eSgicGxhdGZvcm1OYW1lIiwgJm1fcGxhdGZv
cm1OYW1lKTsKICAgICBiaW5kUHJvcGVydHkoImludGVyY2VwdFBvc3RNZXNzYWdlIiwgJm1faW50
ZXJjZXB0UG9zdE1lc3NhZ2UpOwogICAgIGJpbmRQcm9wZXJ0eSgid29ya2VyVGhyZWFkQ291bnQi
LCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OndvcmtlclRocmVhZENvdW50KTsKKyAgICBiaW5kTWV0
aG9kKCJzZW5kV2ViSW50ZW50UmVzcG9uc2UiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNlbmRX
ZWJJbnRlbnRSZXNwb25zZSk7CiB9CiAKIExheW91dFRlc3RDb250cm9sbGVyOjp+TGF5b3V0VGVz
dENvbnRyb2xsZXIoKQpAQCAtMjEyMCw2ICsyMTI0LDI4IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRy
b2xsZXI6OndvcmtlclRocmVhZENvdW50KENwcFZhcmlhbnQqIHJlc3VsdCkKICAgICByZXN1bHQt
PnNldChzdGF0aWNfY2FzdDxpbnQ+KFdlYldvcmtlckluZm86OmRlZGljYXRlZFdvcmtlckNvdW50
KCkpKTsKIH0KIAordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2VuZFdlYkludGVudFJlc3Bv
bnNlKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYgYXJndW1lbnRzLCBDcHBWYXJpYW50KiByZXN1bHQp
Cit7CisgICAgdjg6OkhhbmRsZVNjb3BlIHNjb3BlOworICAgIHY4OjpMb2NhbDx2ODo6Q29udGV4
dD4gY3R4ID0gbV9zaGVsbC0+d2ViVmlldygpLT5tYWluRnJhbWUoKS0+bWFpbldvcmxkU2NyaXB0
Q29udGV4dCgpOworICAgIHJlc3VsdC0+c2V0KG1fc2hlbGwtPndlYlZpZXcoKS0+bWFpbkZyYW1l
KCktPnNlbGVjdGlvbkFzTWFya3VwKCkudXRmOCgpKTsKKyAgICB2ODo6Q29udGV4dDo6U2NvcGUg
Y3Njb3BlKGN0eCk7CisKKyAgICBXZWJLaXQ6OldlYkludGVudFJlcXVlc3QqIHJlcXVlc3QgPSBt
X3NoZWxsLT53ZWJWaWV3SG9zdCgpLT5jdXJyZW50SW50ZW50UmVxdWVzdCgpOworICAgIGlmIChy
ZXF1ZXN0LT5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKGFyZ3VtZW50cy5z
aXplKCkgPT0gMSkgeworICAgICAgICBXZWJLaXQ6OldlYlN0cmluZyByZXBseSA9IGNwcFZhcmlh
bnRUb1dlYlN0cmluZyhhcmd1bWVudHNbMF0pOworICAgICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gdjh2YWx1ZSA9IHY4OjpTdHJpbmc6Ok5ldyhyZXBseS5kYXRhKCksIHJlcGx5Lmxlbmd0aCgp
KTsKKyAgICAgICAgcmVxdWVzdC0+cG9zdFJlc3VsdChXZWJLaXQ6OldlYlNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZTo6c2VyaWFsaXplKHY4dmFsdWUpKTsKKyAgICB9IGVsc2UgeworICAgICAgICB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gdjh2YWx1ZSA9IHY4OjpTdHJpbmc6Ok5ldygiRVJST1IiKTsKKyAg
ICAgICAgcmVxdWVzdC0+cG9zdEZhaWx1cmUoV2ViS2l0OjpXZWJTZXJpYWxpemVkU2NyaXB0VmFs
dWU6OnNlcmlhbGl6ZSh2OHZhbHVlKSk7CisgICAgfQorICAgIHJlc3VsdC0+c2V0TnVsbCgpOwor
fQorCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRQbHVnaW5zRW5hYmxlZChjb25zdCBD
cHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVzdWx0KQogewogICAgIGlm
IChhcmd1bWVudHMuc2l6ZSgpID4gMCAmJiBhcmd1bWVudHNbMF0uaXNCb29sKCkpIHsKZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVy
LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5o
CmluZGV4IDk5YmQwYzQ2OWUxYzE1MWVmNTQwNjUzYWI3NzJkY2ZiZGEyZWEwMDcuLjVjZGVmMDM0
YzFhZjgwYjgwNWNlMWFmYjcyOTlhOTk5MjgwNDQ0ZmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtNDM1LDYgKzQz
NSwxMCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHdvcmtlclRocmVhZENvdW50KENwcFZhcmlhbnQq
KTsKIAorICAgIC8vIEV4cGVjdHMgb25lIHN0cmluZyBhcmd1bWVudCBmb3Igc2VuZGluZyBzdWNj
ZXNzZnVsIHJlc3VsdCwgemVybworICAgIC8vIGZvciBzZW5kaW5nIGEgZmFpbHVyZSByZXN1bHQu
CisgICAgdm9pZCBzZW5kV2ViSW50ZW50UmVzcG9uc2UoY29uc3QgQ3BwQXJndW1lbnRMaXN0Jiwg
Q3BwVmFyaWFudCopOworCiBwdWJsaWM6CiAgICAgLy8gVGhlIGZvbGxvd2luZyBtZXRob2RzIGFy
ZSBub3QgZXhwb3NlZCB0byBKYXZhU2NyaXB0LgogICAgIHZvaWQgc2V0V29ya1F1ZXVlRnJvemVu
KGJvb2wgZnJvemVuKSB7IG1fd29ya1F1ZXVlLnNldEZyb3plbihmcm96ZW4pOyB9CmRpZmYgLS1n
aXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAppbmRleCBmODBmNDM4YWQ1Y2Ri
ZDVmZGUyYTI2MDczZDY1OTg5YzUwM2NiOWQ0Li5mODZiMTFmNTA5NDg2ODMzYzdhMDJlNjAzMzhl
MmJiNGNmOGVlZDE0IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdI
b3N0LmgKQEAgLTI1Miw2ICsyNTIsOSBAQCBjbGFzcyBXZWJWaWV3SG9zdCA6IHB1YmxpYyBXZWJL
aXQ6OldlYlNwZWxsQ2hlY2tDbGllbnQsIHB1YmxpYyBXZWJLaXQ6OldlYlZpZXdDbAogICAgIC8v
IFBlbmRpbmcgdGFzayBsaXN0LCBOb3RlIHRhaHQgdGhlIG1ldGhvZCBpcyByZWZlcnJlZCBmcm9t
IE1ldGhvZFRhc2sgY2xhc3MuCiAgICAgVGFza0xpc3QqIHRhc2tMaXN0KCkgeyByZXR1cm4gJm1f
dGFza0xpc3Q7IH0KIAorICAgIC8vIFRoZSBjdXJyZW50IHdlYiBpbnRlbnRzIHJlcXVlc3QuCisg
ICAgV2ViS2l0OjpXZWJJbnRlbnRSZXF1ZXN0KiBjdXJyZW50SW50ZW50UmVxdWVzdCgpIHsgcmV0
dXJuICZtX2N1cnJlbnRSZXF1ZXN0OyB9CisKIHByaXZhdGU6CiAKICAgICBjbGFzcyBIb3N0TWV0
aG9kVGFzayA6IHB1YmxpYyBNZXRob2RUYXNrPFdlYlZpZXdIb3N0PiB7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDMwNDI4
MjVlYWI4ZTM0NTg0OGNiNjcwOWViZDczYWFlMDRiNTlhYy4uNjczNjQ4ZWRmMTU0NWM4ZTdjYWZl
NmYyMDk4MmU5OWJiNmE1NmQ2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAyLTI0ICBH
cmVnIEJpbGxvY2sgIDxnYmlsbG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIEFkZCBtb3JlIHRl
c3RzIGZvciB3ZWIgaW50ZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Nzk1MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHdlYmludGVudHMvcmVzb3VyY2VzL3dlYi1pbnRlbnRzLXRlc3RpbmcuanM6
IEFkZGVkLgorICAgICAgICAqIHdlYmludGVudHMvd2ViLWludGVudHMtZmFpbHVyZS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmludGVudHMvd2ViLWludGVudHMtZmFpbHVyZS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLWludm9rZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmludGVudHMvd2ViLWludGVudHMtaW52b2tl
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmludGVudHMvd2ViLWludGVudHMtcmVwbHktZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLXJlcGx5
Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTAyLTI0ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRA
aWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBHVEsgU1ZHIHJlYmFzZWxpbmUgKGZy
b20gNjQtYml0IFJlbGVhc2UgYm90KSBhbmQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmlu
dGVudHMvcmVzb3VyY2VzL3dlYi1pbnRlbnRzLXRlc3RpbmcuanMgYi9MYXlvdXRUZXN0cy93ZWJp
bnRlbnRzL3Jlc291cmNlcy93ZWItaW50ZW50cy10ZXN0aW5nLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmN2Jm
NjBiZDg5MDQ2ZTcxMzNkNWExMWI1OTc2MzEwMDIyMTJmODQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJpbnRlbnRzL3Jlc291cmNlcy93ZWItaW50ZW50cy10ZXN0aW5nLmpzCkBA
IC0wLDAgKzEsMzggQEAKKy8vIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIHVzZWQgZm9yIGEgc3Vj
Y2Vzc2Z1bCB3ZWIgaW50ZW50IGNhbGwuCitmdW5jdGlvbiBvblN1Y2Nlc3MoZGF0YSkgeworICBk
ZWJ1ZygiKiBnb3QgcmVwbHk6ICIgKyBkYXRhKTsKKworICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CisgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUo
KTsKKyAgfQorfQorCisvLyBDYWxsYmFjayBmdW5jdGlvbiB0byBiZSB1c2VkIGZvciBhIGZhaWxl
ZCB3ZWIgaW50ZW50IGNhbGwuCitmdW5jdGlvbiBvbkZhaWx1cmUoZGF0YSkgeworICBkZWJ1Zygi
KiBnb3QgZmFpbHVyZTogIiArIGRhdGEpOworCisgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIHsKKyAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwor
ICB9Cit9CisKKy8vIExhdW5jaCBhIHdlYiBpbnRlbnQgY2FsbCB3aXRoIGNhbGxiYWNrcy4KK2Z1
bmN0aW9uIHN0YXJ0SW50ZW50V2l0aENhbGxiYWNrcygpIHsKKyAgbmF2aWdhdG9yLnN0YXJ0QWN0
aXZpdHkobmV3IEludGVudCgiYWN0aW9uMSIsICJtaW1lL3R5cGUxIiwgInRlc3QiKSwgb25TdWNj
ZXNzLCBvbkZhaWx1cmUpOworICBkZWJ1ZygiKiBzZW50IGludGVudCIpOworCisgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOworICB9Cit9CisKKy8vIFRoaXMgYnV0dG9uIHByZXNzIHNpbXVs
YXRvciBzZXRzIHRoZSB1c2VyIGdlc3R1cmUgaW5kaWNhdG9yIHRoYXQgYW4gaW50ZW50CisvLyBy
ZXF1aXJlcyB0byBzdGFydC4KK2Z1bmN0aW9uIHNpbXVsYXRlQnV0dG9uUHJlc3MoKSB7CisgIHZh
ciBidXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYnV0dG9uIik7CisgIGlmIChldmVu
dFNlbmRlcikgeworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGJ1dHRvbi5nZXRCb3VuZGlu
Z0NsaWVudFJlY3QoKS5sZWZ0ICsgMiwgYnV0dG9uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRv
cCArIDEyKTsKKyAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5t
b3VzZVVwKCk7CisgIH0KK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmludGVudHMvd2Vi
LWludGVudHMtZmFpbHVyZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJpbnRlbnRzL3dl
Yi1pbnRlbnRzLWZhaWx1cmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0NzExYzc3ZjBkMjIy
NDU5YmJmNTJkMjI0YzFiNzMxMzA3ZGY5ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLWZhaWx1cmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NyBAQAorUmVjZWl2ZWQgV2ViIEludGVudDogYWN0aW9uPWFjdGlvbjEgdHlwZT1taW1lL3R5cGUx
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKyogc2Vu
dCBpbnRlbnQKKyogZ290IGZhaWx1cmU6IEVSUk9SCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmludGVudHMvd2ViLWludGVudHMtZmFpbHVyZS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViaW50
ZW50cy93ZWItaW50ZW50cy1mYWlsdXJlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzIzYjIwMmFhZjM0MDQ0
ZGU5ZDY0ZDlmOTg2OTQ0ZWJkOWE0ODY4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmludGVudHMvd2ViLWludGVudHMtZmFpbHVyZS5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzxo
dG1sPgorICA8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViLWlu
dGVudHMtdGVzdGluZy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgIGZ1bmN0aW9u
IGJ1dHRvbkNsaWNrZWQoKSB7CisgICAgICAgIHN0YXJ0SW50ZW50V2l0aENhbGxiYWNrcygpOwor
CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAv
LyBFbXB0eSBhcmdzIHdpbGwgc2VuZCBmYWlsdXJlIG1lc3NhZ2UuCisgICAgICAgICAgd2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyLnNlbmRXZWJJbnRlbnRSZXNwb25zZSgpOworICAgICAgICB9
CisgICAgICB9CisgICAgPC9zY3JpcHQ+CisgIDwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic2ltdWxh
dGVCdXR0b25QcmVzcygpIj4KKzxpbnB1dCB0eXBlPSJidXR0b24iIGlkPSJidXR0b24iIHZhbHVl
PSJTdGFydCBXZWIgSW50ZW50IiBvbm1vdXNldXA9ImJ1dHRvbkNsaWNrZWQoKSI+Cis8c2NyaXB0
IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmludGVudHMvd2ViLWlu
dGVudHMtaW52b2tlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmludGVudHMvd2ViLWlu
dGVudHMtaW52b2tlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MjZkMjk5YzNkYTc4ZTA2YmMy
NGFkODVjNzhkYjZkNjcwYzVkMDkwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
aW50ZW50cy93ZWItaW50ZW50cy1pbnZva2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAor
UmVjZWl2ZWQgV2ViIEludGVudDogYWN0aW9uPWFjdGlvbjEgdHlwZT1taW1lL3R5cGUxCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKyogc2VudCBpbnRl
bnQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViaW50ZW50cy93ZWItaW50ZW50cy1pbnZv
a2UuaHRtbCBiL0xheW91dFRlc3RzL3dlYmludGVudHMvd2ViLWludGVudHMtaW52b2tlLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYTU0NjJlZGUxMDhkZTEyNDI2OGM2YjYyMTBkZjdjMzk5MTI1ZTczYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmludGVudHMvd2ViLWludGVudHMtaW52b2tl
Lmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPGh0bWw+CisgIDxoZWFkPgorICAgIDxzY3JpcHQgc3Jj
PSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNj
cmlwdCBzcmM9InJlc291cmNlcy93ZWItaW50ZW50cy10ZXN0aW5nLmpzIj48L3NjcmlwdD4KKyAg
ICA8c2NyaXB0PgorICAgICAgZnVuY3Rpb24gYnV0dG9uQ2xpY2tlZCgpIHsKKyAgICAgICAgbmF2
aWdhdG9yLnN0YXJ0QWN0aXZpdHkobmV3IEludGVudCgiYWN0aW9uMSIsICJtaW1lL3R5cGUxIiwg
InRlc3QiKSk7CisgICAgICAgICAgZGVidWcoIiogc2VudCBpbnRlbnQiKTsKKyAgICAgIH0KKyAg
ICA8L3NjcmlwdD4KKyAgPC9oZWFkPgorPGJvZHkgb25sb2FkPSJzaW11bGF0ZUJ1dHRvblByZXNz
KCkiPgorPGlucHV0IHR5cGU9ImJ1dHRvbiIgaWQ9ImJ1dHRvbiIgdmFsdWU9IlN0YXJ0IFdlYiBJ
bnRlbnQiIG9ubW91c2V1cD0iYnV0dG9uQ2xpY2tlZCgpIj4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViaW50ZW50cy93ZWItaW50ZW50cy1yZWxvYWQu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmludGVudHMvd2ViLWludGVudHMtcmVsb2FkLmh0bWwKaW5k
ZXggZTIzZTEzNjA2MjYxODc4OWYxY2VhMDE5MGVjOWEyNWY5ZjFhM2M1NS4uMTdiMmU5M2Q5Y2U0
ODM2NGNiODU2NWM5MjM3Yjk1ODBjMDJlYzUxMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2Vi
aW50ZW50cy93ZWItaW50ZW50cy1yZWxvYWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy93ZWJpbnRl
bnRzL3dlYi1pbnRlbnRzLXJlbG9hZC5odG1sCkBAIC0xLDYgKzEsNyBAQAogPGh0bWw+CiAgIDxo
ZWFkPgogICAgIDxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWItaW50ZW50cy10ZXN0
aW5nLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0PgogICAgICAgdmFyIGxhdGNoID0gdHJ1ZTsK
IApAQCAtMzAsMTUgKzMxLDggQEAKIAogICAgICAgICBkZWJ1ZygiKiBsb2FkZWQiKTsKIAotICAg
ICAgICAvLyBXZSBtdXN0IHNpbXVsYXRlIGEgYnV0dG9uIHByZXNzIHdpdGggZXZlbnRTZW5kZXIg
YmVjYXVzZSBpbnRlbnRzCi0gICAgICAgIC8vIHJlcXVpcmUgYSB1c2VyIGdlc3R1cmUuCi0gICAg
ICAgIHZhciBidXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYnV0dG9uIik7Ci0gICAg
ICAgIGlmIChldmVudFNlbmRlcikgewotICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRv
KGJ1dHRvbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0ICsgMiwgYnV0dG9uLmdldEJvdW5k
aW5nQ2xpZW50UmVjdCgpLnRvcCArIDEyKTsKLSAgICAgICAgICBldmVudFNlbmRlci5tb3VzZURv
d24oKTsKLSAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7Ci0gICAgICAgICAgZGVidWco
Iiogc2VudCBtb3VzZXVwIik7Ci0gICAgICAgIH0KKyAgICAgICAgc2ltdWxhdGVCdXR0b25QcmVz
cygpOworICAgICAgICBkZWJ1ZygiKiBzZW50IG1vdXNldXAiKTsKICAgICAgIH0KICAgICA8L3Nj
cmlwdD4KICAgPC9oZWFkPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViaW50ZW50cy93ZWIt
aW50ZW50cy1yZXBseS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJpbnRlbnRzL3dlYi1p
bnRlbnRzLXJlcGx5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZDZlMmM0OTU2MTc2ODBiMmJj
OTA3ZmZkYzYyNjk5ZDYxNTc5YWUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
aW50ZW50cy93ZWItaW50ZW50cy1yZXBseS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitS
ZWNlaXZlZCBXZWIgSW50ZW50OiBhY3Rpb249YWN0aW9uMSB0eXBlPW1pbWUvdHlwZTEKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorKiBzZW50IGludGVu
dAorKiBnb3QgcmVwbHk6IHJlcGx5CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmludGVu
dHMvd2ViLWludGVudHMtcmVwbHkuaHRtbCBiL0xheW91dFRlc3RzL3dlYmludGVudHMvd2ViLWlu
dGVudHMtcmVwbHkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MDgxOTEyN2U2NDhlYWNkNmFjNGYyZGVjYmMz
YzI1OWE3NGExZDBlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViaW50ZW50cy93
ZWItaW50ZW50cy1yZXBseS5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzxodG1sPgorICA8aGVhZD4K
KyAgICA8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViLWludGVudHMtdGVzdGluZy5q
cyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgIGZ1bmN0aW9uIGJ1dHRvbkNsaWNrZWQo
KSB7CisgICAgICAgIHN0YXJ0SW50ZW50V2l0aENhbGxiYWNrcygpOworCisgICAgICAgIGlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICB3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIuc2VuZFdlYkludGVudFJlc3BvbnNlKCJyZXBseSIpOworICAgICAgICB9Cisg
ICAgICB9CisgICAgPC9zY3JpcHQ+CisgIDwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic2ltdWxhdGVC
dXR0b25QcmVzcygpIj4KKzxpbnB1dCB0eXBlPSJidXR0b24iIGlkPSJidXR0b24iIHZhbHVlPSJT
dGFydCBXZWIgSW50ZW50IiBvbm1vdXNldXA9ImJ1dHRvbkNsaWNrZWQoKSI+Cis8c2NyaXB0IHNy
Yz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129072</attachid>
            <date>2012-02-27 11:10:48 -0800</date>
            <delta_ts>2012-02-28 17:33:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79527-20120227111047.patch</filename>
            <type>text/plain</type>
            <size>12968</size>
            <attacher name="Greg Billock">gbillock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4ODE0CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYTIzMDlmM2VhNDk4YWJhM2M1YWY4OGQ3NDEzNWJjZDdi
OGIxNGZjOS4uODU2NGQxMWE4ZDhmOGZmZjZkOTM5YzJjZWJlNjNlNmFkOTRjZmE2OCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDEyLTAyLTI0ICBHcmVnIEJpbGxvY2sgIDxnYmlsbG9ja0Bnb29nbGUuY29tPgorCisg
ICAgICAgIEFkZCBtb3JlIHRlc3RzIGZvciB3ZWIgaW50ZW50cworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk1MjcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xh
eW91dFRlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpM
YXlvdXRUZXN0Q29udHJvbGxlcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2Vu
ZFdlYkludGVudFJlc3BvbnNlKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9M
YXlvdXRUZXN0Q29udHJvbGxlci5oOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXIpOgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0Lmg6CisgICAgICAg
IChXZWJWaWV3SG9zdCk6CisgICAgICAgIChXZWJWaWV3SG9zdDo6Y3VycmVudEludGVudFJlcXVl
c3QpOgorCiAyMDEyLTAyLTI0ICBHcnplZ29yeiBDemFqa293c2tpICA8Zy5jemFqa293c2tpQHNh
bXN1bmcuY29tPgogCiAgICAgICAgIFtFRkxdW0RSVF0gSW1wbGVtZW50IHNldFZhbHVlRm9yVXNl
ciBhbmQgc2V0QXV0b2ZpbGxlZC4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcAppbmRleCAzYzNiODNiYTI5ZDRjNTgwOTQ0
YzZiYWEyNzA0NzRmODQyMTU2NzZkLi45NmZmNTFiODNmM2Y2YTRkNjQyNGZiOTlhZWIzMjllYWMw
Y2RlYjZiIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5
b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC00OSwxNiArNDksMTkgQEAKICNpbmNsdWRlICJXZWJH
ZW9sb2NhdGlvbkNsaWVudE1vY2suaCIKICNpbmNsdWRlICJXZWJJREJGYWN0b3J5LmgiCiAjaW5j
bHVkZSAiV2ViSW5wdXRFbGVtZW50LmgiCisjaW5jbHVkZSAiV2ViSW50ZW50UmVxdWVzdC5oIgog
I2luY2x1ZGUgIldlYktpdC5oIgogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvblByZXNlbnRlci5o
IgogI2luY2x1ZGUgIldlYlBlcm1pc3Npb25zLmgiCiAjaW5jbHVkZSAiV2ViU2NyaXB0U291cmNl
LmgiCiAjaW5jbHVkZSAiV2ViU2VjdXJpdHlQb2xpY3kuaCIKKyNpbmNsdWRlICJwbGF0Zm9ybS9X
ZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKICNpbmNsdWRlICJXZWJTZXR0aW5ncy5oIgogI2lu
Y2x1ZGUgInBsYXRmb3JtL1dlYlNpemUuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJVUkwuaCIK
ICNpbmNsdWRlICJXZWJWaWV3LmgiCiAjaW5jbHVkZSAiV2ViVmlld0hvc3QuaCIKKyNpbmNsdWRl
ICJ2OC9pbmNsdWRlL3Y4LmgiCiAjaW5jbHVkZSAid2Via2l0L3N1cHBvcnQvd2Via2l0X3N1cHBv
cnQuaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8Y2N0eXBlPgpAQCAtMjYxLDYg
KzI2NCw3IEBAIExheW91dFRlc3RDb250cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcihUZXN0
U2hlbGwqIHNoZWxsKQogICAgIGJpbmRQcm9wZXJ0eSgicGxhdGZvcm1OYW1lIiwgJm1fcGxhdGZv
cm1OYW1lKTsKICAgICBiaW5kUHJvcGVydHkoImludGVyY2VwdFBvc3RNZXNzYWdlIiwgJm1faW50
ZXJjZXB0UG9zdE1lc3NhZ2UpOwogICAgIGJpbmRQcm9wZXJ0eSgid29ya2VyVGhyZWFkQ291bnQi
LCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OndvcmtlclRocmVhZENvdW50KTsKKyAgICBiaW5kTWV0
aG9kKCJzZW5kV2ViSW50ZW50UmVzcG9uc2UiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNlbmRX
ZWJJbnRlbnRSZXNwb25zZSk7CiB9CiAKIExheW91dFRlc3RDb250cm9sbGVyOjp+TGF5b3V0VGVz
dENvbnRyb2xsZXIoKQpAQCAtMjEyMCw2ICsyMTI0LDI4IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRy
b2xsZXI6OndvcmtlclRocmVhZENvdW50KENwcFZhcmlhbnQqIHJlc3VsdCkKICAgICByZXN1bHQt
PnNldChzdGF0aWNfY2FzdDxpbnQ+KFdlYldvcmtlckluZm86OmRlZGljYXRlZFdvcmtlckNvdW50
KCkpKTsKIH0KIAordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2VuZFdlYkludGVudFJlc3Bv
bnNlKGNvbnN0IENwcEFyZ3VtZW50TGlzdCYgYXJndW1lbnRzLCBDcHBWYXJpYW50KiByZXN1bHQp
Cit7CisgICAgdjg6OkhhbmRsZVNjb3BlIHNjb3BlOworICAgIHY4OjpMb2NhbDx2ODo6Q29udGV4
dD4gY3R4ID0gbV9zaGVsbC0+d2ViVmlldygpLT5tYWluRnJhbWUoKS0+bWFpbldvcmxkU2NyaXB0
Q29udGV4dCgpOworICAgIHJlc3VsdC0+c2V0KG1fc2hlbGwtPndlYlZpZXcoKS0+bWFpbkZyYW1l
KCktPnNlbGVjdGlvbkFzTWFya3VwKCkudXRmOCgpKTsKKyAgICB2ODo6Q29udGV4dDo6U2NvcGUg
Y3Njb3BlKGN0eCk7CisKKyAgICBXZWJLaXQ6OldlYkludGVudFJlcXVlc3QqIHJlcXVlc3QgPSBt
X3NoZWxsLT53ZWJWaWV3SG9zdCgpLT5jdXJyZW50SW50ZW50UmVxdWVzdCgpOworICAgIGlmIChy
ZXF1ZXN0LT5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKGFyZ3VtZW50cy5z
aXplKCkgPT0gMSkgeworICAgICAgICBXZWJLaXQ6OldlYlN0cmluZyByZXBseSA9IGNwcFZhcmlh
bnRUb1dlYlN0cmluZyhhcmd1bWVudHNbMF0pOworICAgICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gdjh2YWx1ZSA9IHY4OjpTdHJpbmc6Ok5ldyhyZXBseS5kYXRhKCksIHJlcGx5Lmxlbmd0aCgp
KTsKKyAgICAgICAgcmVxdWVzdC0+cG9zdFJlc3VsdChXZWJLaXQ6OldlYlNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZTo6c2VyaWFsaXplKHY4dmFsdWUpKTsKKyAgICB9IGVsc2UgeworICAgICAgICB2ODo6
SGFuZGxlPHY4OjpWYWx1ZT4gdjh2YWx1ZSA9IHY4OjpTdHJpbmc6Ok5ldygiRVJST1IiKTsKKyAg
ICAgICAgcmVxdWVzdC0+cG9zdEZhaWx1cmUoV2ViS2l0OjpXZWJTZXJpYWxpemVkU2NyaXB0VmFs
dWU6OnNlcmlhbGl6ZSh2OHZhbHVlKSk7CisgICAgfQorICAgIHJlc3VsdC0+c2V0TnVsbCgpOwor
fQorCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRQbHVnaW5zRW5hYmxlZChjb25zdCBD
cHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVzdWx0KQogewogICAgIGlm
IChhcmd1bWVudHMuc2l6ZSgpID4gMCAmJiBhcmd1bWVudHNbMF0uaXNCb29sKCkpIHsKZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVy
LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5o
CmluZGV4IDk5YmQwYzQ2OWUxYzE1MWVmNTQwNjUzYWI3NzJkY2ZiZGEyZWEwMDcuLjVjZGVmMDM0
YzFhZjgwYjgwNWNlMWFmYjcyOTlhOTk5MjgwNDQ0ZmIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtNDM1LDYgKzQz
NSwxMCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHdvcmtlclRocmVhZENvdW50KENwcFZhcmlhbnQq
KTsKIAorICAgIC8vIEV4cGVjdHMgb25lIHN0cmluZyBhcmd1bWVudCBmb3Igc2VuZGluZyBzdWNj
ZXNzZnVsIHJlc3VsdCwgemVybworICAgIC8vIGZvciBzZW5kaW5nIGEgZmFpbHVyZSByZXN1bHQu
CisgICAgdm9pZCBzZW5kV2ViSW50ZW50UmVzcG9uc2UoY29uc3QgQ3BwQXJndW1lbnRMaXN0Jiwg
Q3BwVmFyaWFudCopOworCiBwdWJsaWM6CiAgICAgLy8gVGhlIGZvbGxvd2luZyBtZXRob2RzIGFy
ZSBub3QgZXhwb3NlZCB0byBKYXZhU2NyaXB0LgogICAgIHZvaWQgc2V0V29ya1F1ZXVlRnJvemVu
KGJvb2wgZnJvemVuKSB7IG1fd29ya1F1ZXVlLnNldEZyb3plbihmcm96ZW4pOyB9CmRpZmYgLS1n
aXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaAppbmRleCBmODBmNDM4YWQ1Y2Ri
ZDVmZGUyYTI2MDczZDY1OTg5YzUwM2NiOWQ0Li5mODZiMTFmNTA5NDg2ODMzYzdhMDJlNjAzMzhl
MmJiNGNmOGVlZDE0IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9X
ZWJWaWV3SG9zdC5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdI
b3N0LmgKQEAgLTI1Miw2ICsyNTIsOSBAQCBjbGFzcyBXZWJWaWV3SG9zdCA6IHB1YmxpYyBXZWJL
aXQ6OldlYlNwZWxsQ2hlY2tDbGllbnQsIHB1YmxpYyBXZWJLaXQ6OldlYlZpZXdDbAogICAgIC8v
IFBlbmRpbmcgdGFzayBsaXN0LCBOb3RlIHRhaHQgdGhlIG1ldGhvZCBpcyByZWZlcnJlZCBmcm9t
IE1ldGhvZFRhc2sgY2xhc3MuCiAgICAgVGFza0xpc3QqIHRhc2tMaXN0KCkgeyByZXR1cm4gJm1f
dGFza0xpc3Q7IH0KIAorICAgIC8vIFRoZSBjdXJyZW50IHdlYiBpbnRlbnRzIHJlcXVlc3QuCisg
ICAgV2ViS2l0OjpXZWJJbnRlbnRSZXF1ZXN0KiBjdXJyZW50SW50ZW50UmVxdWVzdCgpIHsgcmV0
dXJuICZtX2N1cnJlbnRSZXF1ZXN0OyB9CisKIHByaXZhdGU6CiAKICAgICBjbGFzcyBIb3N0TWV0
aG9kVGFzayA6IHB1YmxpYyBNZXRob2RUYXNrPFdlYlZpZXdIb3N0PiB7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDMwNDI4
MjVlYWI4ZTM0NTg0OGNiNjcwOWViZDczYWFlMDRiNTlhYy4uNjczNjQ4ZWRmMTU0NWM4ZTdjYWZl
NmYyMDk4MmU5OWJiNmE1NmQ2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTAyLTI0ICBH
cmVnIEJpbGxvY2sgIDxnYmlsbG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIEFkZCBtb3JlIHRl
c3RzIGZvciB3ZWIgaW50ZW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9Nzk1MjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHdlYmludGVudHMvcmVzb3VyY2VzL3dlYi1pbnRlbnRzLXRlc3RpbmcuanM6
IEFkZGVkLgorICAgICAgICAqIHdlYmludGVudHMvd2ViLWludGVudHMtZmFpbHVyZS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmludGVudHMvd2ViLWludGVudHMtZmFpbHVyZS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLWludm9rZS1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHdlYmludGVudHMvd2ViLWludGVudHMtaW52b2tl
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYmludGVudHMvd2ViLWludGVudHMtcmVwbHktZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLXJlcGx5
Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTAyLTI0ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRA
aWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBHVEsgU1ZHIHJlYmFzZWxpbmUgKGZy
b20gNjQtYml0IFJlbGVhc2UgYm90KSBhbmQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmlu
dGVudHMvcmVzb3VyY2VzL3dlYi1pbnRlbnRzLXRlc3RpbmcuanMgYi9MYXlvdXRUZXN0cy93ZWJp
bnRlbnRzL3Jlc291cmNlcy93ZWItaW50ZW50cy10ZXN0aW5nLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA0ZGQ4
M2U5OTBmMDg4MzUyMjA2ZTRlYTczZjczYTM0MjA0OGZiZjAKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy93ZWJpbnRlbnRzL3Jlc291cmNlcy93ZWItaW50ZW50cy10ZXN0aW5nLmpzCkBA
IC0wLDAgKzEsNDAgQEAKKy8vIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIHVzZWQgZm9yIGEgc3Vj
Y2Vzc2Z1bCB3ZWIgaW50ZW50IGNhbGwuCitmdW5jdGlvbiBvblN1Y2Nlc3MoZGF0YSkgeworICBk
ZWJ1ZygiKiBnb3QgcmVwbHk6ICIgKyBkYXRhKTsKKworICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CisgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUo
KTsKKyAgfQorfQorCisvLyBDYWxsYmFjayBmdW5jdGlvbiB0byBiZSB1c2VkIGZvciBhIGZhaWxl
ZCB3ZWIgaW50ZW50IGNhbGwuCitmdW5jdGlvbiBvbkZhaWx1cmUoZGF0YSkgeworICBkZWJ1Zygi
KiBnb3QgZmFpbHVyZTogIiArIGRhdGEpOworCisgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIHsKKyAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwor
ICB9Cit9CisKKy8vIExhdW5jaCBhIHdlYiBpbnRlbnQgY2FsbCB3aXRoIGNhbGxiYWNrcy4KK2Z1
bmN0aW9uIHN0YXJ0SW50ZW50V2l0aENhbGxiYWNrcygpIHsKKyAgbmF2aWdhdG9yLnN0YXJ0QWN0
aXZpdHkobmV3IEludGVudCgiYWN0aW9uMSIsICJtaW1lL3R5cGUxIiwgInRlc3QiKSwgb25TdWNj
ZXNzLCBvbkZhaWx1cmUpOworICBkZWJ1ZygiKiBzZW50IGludGVudCIpOworCisgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOworICB9IGVsc2UgeworICAgIGFsZXJ0KCdUaGlzIHRlc3QgbmVl
ZHMgdG8gcnVuIGluIERSVCcpOworICB9Cit9CisKKy8vIFRoaXMgYnV0dG9uIHByZXNzIHNpbXVs
YXRvciBzZXRzIHRoZSB1c2VyIGdlc3R1cmUgaW5kaWNhdG9yIHRoYXQgYW4gaW50ZW50CisvLyBy
ZXF1aXJlcyB0byBzdGFydC4KK2Z1bmN0aW9uIHNpbXVsYXRlQnV0dG9uUHJlc3MoKSB7CisgIHZh
ciBidXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiYnV0dG9uIik7CisgIGlmIChldmVu
dFNlbmRlcikgeworICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGJ1dHRvbi5nZXRCb3VuZGlu
Z0NsaWVudFJlY3QoKS5sZWZ0ICsgMiwgYnV0dG9uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRv
cCArIDEyKTsKKyAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5t
b3VzZVVwKCk7CisgIH0KK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmludGVudHMvd2Vi
LWludGVudHMtZmFpbHVyZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJpbnRlbnRzL3dl
Yi1pbnRlbnRzLWZhaWx1cmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0NzExYzc3ZjBkMjIy
NDU5YmJmNTJkMjI0YzFiNzMxMzA3ZGY5ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy93ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLWZhaWx1cmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
NyBAQAorUmVjZWl2ZWQgV2ViIEludGVudDogYWN0aW9uPWFjdGlvbjEgdHlwZT1taW1lL3R5cGUx
CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKyogc2Vu
dCBpbnRlbnQKKyogZ290IGZhaWx1cmU6IEVSUk9SCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3dlYmludGVudHMvd2ViLWludGVudHMtZmFpbHVyZS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViaW50
ZW50cy93ZWItaW50ZW50cy1mYWlsdXJlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzIzYjIwMmFhZjM0MDQ0
ZGU5ZDY0ZDlmOTg2OTQ0ZWJkOWE0ODY4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3dlYmludGVudHMvd2ViLWludGVudHMtZmFpbHVyZS5odG1sCkBAIC0wLDAgKzEsMjAgQEAKKzxo
dG1sPgorICA8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViLWlu
dGVudHMtdGVzdGluZy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgIGZ1bmN0aW9u
IGJ1dHRvbkNsaWNrZWQoKSB7CisgICAgICAgIHN0YXJ0SW50ZW50V2l0aENhbGxiYWNrcygpOwor
CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAv
LyBFbXB0eSBhcmdzIHdpbGwgc2VuZCBmYWlsdXJlIG1lc3NhZ2UuCisgICAgICAgICAgd2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyLnNlbmRXZWJJbnRlbnRSZXNwb25zZSgpOworICAgICAgICB9
CisgICAgICB9CisgICAgPC9zY3JpcHQ+CisgIDwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic2ltdWxh
dGVCdXR0b25QcmVzcygpIj4KKzxpbnB1dCB0eXBlPSJidXR0b24iIGlkPSJidXR0b24iIHZhbHVl
PSJTdGFydCBXZWIgSW50ZW50IiBvbm1vdXNldXA9ImJ1dHRvbkNsaWNrZWQoKSI+Cis8c2NyaXB0
IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmludGVudHMvd2ViLWlu
dGVudHMtaW52b2tlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmludGVudHMvd2ViLWlu
dGVudHMtaW52b2tlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MjZkMjk5YzNkYTc4ZTA2YmMy
NGFkODVjNzhkYjZkNjcwYzVkMDkwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
aW50ZW50cy93ZWItaW50ZW50cy1pbnZva2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAor
UmVjZWl2ZWQgV2ViIEludGVudDogYWN0aW9uPWFjdGlvbjEgdHlwZT1taW1lL3R5cGUxCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKyogc2VudCBpbnRl
bnQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViaW50ZW50cy93ZWItaW50ZW50cy1pbnZv
a2UuaHRtbCBiL0xheW91dFRlc3RzL3dlYmludGVudHMvd2ViLWludGVudHMtaW52b2tlLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYTU0NjJlZGUxMDhkZTEyNDI2OGM2YjYyMTBkZjdjMzk5MTI1ZTczYgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmludGVudHMvd2ViLWludGVudHMtaW52b2tl
Lmh0bWwKQEAgLTAsMCArMSwxNiBAQAorPGh0bWw+CisgIDxoZWFkPgorICAgIDxzY3JpcHQgc3Jj
PSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNj
cmlwdCBzcmM9InJlc291cmNlcy93ZWItaW50ZW50cy10ZXN0aW5nLmpzIj48L3NjcmlwdD4KKyAg
ICA8c2NyaXB0PgorICAgICAgZnVuY3Rpb24gYnV0dG9uQ2xpY2tlZCgpIHsKKyAgICAgICAgbmF2
aWdhdG9yLnN0YXJ0QWN0aXZpdHkobmV3IEludGVudCgiYWN0aW9uMSIsICJtaW1lL3R5cGUxIiwg
InRlc3QiKSk7CisgICAgICAgICAgZGVidWcoIiogc2VudCBpbnRlbnQiKTsKKyAgICAgIH0KKyAg
ICA8L3NjcmlwdD4KKyAgPC9oZWFkPgorPGJvZHkgb25sb2FkPSJzaW11bGF0ZUJ1dHRvblByZXNz
KCkiPgorPGlucHV0IHR5cGU9ImJ1dHRvbiIgaWQ9ImJ1dHRvbiIgdmFsdWU9IlN0YXJ0IFdlYiBJ
bnRlbnQiIG9ubW91c2V1cD0iYnV0dG9uQ2xpY2tlZCgpIj4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViaW50ZW50cy93ZWItaW50ZW50cy1yZWxvYWQu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmludGVudHMvd2ViLWludGVudHMtcmVsb2FkLmh0bWwKaW5k
ZXggZTIzZTEzNjA2MjYxODc4OWYxY2VhMDE5MGVjOWEyNWY5ZjFhM2M1NS4uZmFmMWJjMDYwNzg0
NTdjNWFhMDRhMmRlMjczNDBjOGQxODI5OWY1MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2Vi
aW50ZW50cy93ZWItaW50ZW50cy1yZWxvYWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy93ZWJpbnRl
bnRzL3dlYi1pbnRlbnRzLXJlbG9hZC5odG1sCkBAIC0xLDYgKzEsNyBAQAogPGh0bWw+CiAgIDxo
ZWFkPgogICAgIDxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWItaW50ZW50cy10ZXN0
aW5nLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0PgogICAgICAgdmFyIGxhdGNoID0gdHJ1ZTsK
IApAQCAtMjYsMTkgKzI3LDE0IEBACiAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIHsKICAgICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGls
RG9uZSgpOwogICAgICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQ2hpbGRG
cmFtZXNBc1RleHQoKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICBhbGVydCgnVGhpcyB0
ZXN0IG5lZWRzIHRvIHJ1biBpbiBEUlQnKTsKICAgICAgICAgfQogCiAgICAgICAgIGRlYnVnKCIq
IGxvYWRlZCIpOwogCi0gICAgICAgIC8vIFdlIG11c3Qgc2ltdWxhdGUgYSBidXR0b24gcHJlc3Mg
d2l0aCBldmVudFNlbmRlciBiZWNhdXNlIGludGVudHMKLSAgICAgICAgLy8gcmVxdWlyZSBhIHVz
ZXIgZ2VzdHVyZS4KLSAgICAgICAgdmFyIGJ1dHRvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJidXR0b24iKTsKLSAgICAgICAgaWYgKGV2ZW50U2VuZGVyKSB7Ci0gICAgICAgICAgZXZlbnRT
ZW5kZXIubW91c2VNb3ZlVG8oYnV0dG9uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgKyAy
LCBidXR0b24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wICsgMTIpOwotICAgICAgICAgIGV2
ZW50U2VuZGVyLm1vdXNlRG93bigpOwotICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsK
LSAgICAgICAgICBkZWJ1ZygiKiBzZW50IG1vdXNldXAiKTsKLSAgICAgICAgfQorICAgICAgICBz
aW11bGF0ZUJ1dHRvblByZXNzKCk7CisgICAgICAgIGRlYnVnKCIqIHNlbnQgbW91c2V1cCIpOwog
ICAgICAgfQogICAgIDwvc2NyaXB0PgogICA8L2hlYWQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy93ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLXJlcGx5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3dlYmludGVudHMvd2ViLWludGVudHMtcmVwbHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZk
NmUyYzQ5NTYxNzY4MGIyYmM5MDdmZmRjNjI2OTlkNjE1NzlhZTAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLXJlcGx5LWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDcgQEAKK1JlY2VpdmVkIFdlYiBJbnRlbnQ6IGFjdGlvbj1hY3Rpb24xIHR5cGU9
bWltZS90eXBlMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisqIHNlbnQgaW50ZW50CisqIGdvdCByZXBseTogcmVwbHkKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViaW50ZW50cy93ZWItaW50ZW50cy1yZXBseS5odG1sIGIvTGF5b3V0VGVzdHMv
d2ViaW50ZW50cy93ZWItaW50ZW50cy1yZXBseS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgwODE5MTI3ZTY0
OGVhY2Q2YWM0ZjJkZWNiYzNjMjU5YTc0YTFkMGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLXJlcGx5Lmh0bWwKQEAgLTAsMCArMSwxOSBAQAor
PGh0bWw+CisgIDxoZWFkPgorICAgIDxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWIt
aW50ZW50cy10ZXN0aW5nLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgZnVuY3Rp
b24gYnV0dG9uQ2xpY2tlZCgpIHsKKyAgICAgICAgc3RhcnRJbnRlbnRXaXRoQ2FsbGJhY2tzKCk7
CisKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAg
IHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5zZW5kV2ViSW50ZW50UmVzcG9uc2UoInJlcGx5
Iik7CisgICAgICAgIH0KKyAgICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgPC9oZWFkPgorPGJvZHkg
b25sb2FkPSJzaW11bGF0ZUJ1dHRvblByZXNzKCkiPgorPGlucHV0IHR5cGU9ImJ1dHRvbiIgaWQ9
ImJ1dHRvbiIgdmFsdWU9IlN0YXJ0IFdlYiBJbnRlbnQiIG9ubW91c2V1cD0iYnV0dG9uQ2xpY2tl
ZCgpIj4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129363</attachid>
            <date>2012-02-28 17:33:53 -0800</date>
            <delta_ts>2012-02-29 11:51:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79527-20120228173352.patch</filename>
            <type>text/plain</type>
            <size>13095</size>
            <attacher name="Greg Billock">gbillock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5MTMxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOGViYzk4MWQ1NTU1YThhM2I4MTFiYmI1Nzg2MGIyYTAy
Mzc4MTM1Yy4uYzg3MWJiYTJiNzdkOTAzYTcwMzljMDM1ZGZkNzU1YmEwMTM4OWZhMCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5
IEBACisyMDEyLTAyLTI4ICBHcmVnIEJpbGxvY2sgIDxnYmlsbG9ja0Bnb29nbGUuY29tPgorCisg
ICAgICAgIEFkZCBtb3JlIHRlc3RzIGZvciB3ZWIgaW50ZW50cworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk1MjcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xh
eW91dFRlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpM
YXlvdXRUZXN0Q29udHJvbGxlcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2Vu
ZFdlYkludGVudFJlc3BvbnNlKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9M
YXlvdXRUZXN0Q29udHJvbGxlci5oOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXIpOgor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0Lmg6CisgICAgICAg
IChXZWJWaWV3SG9zdCk6CisgICAgICAgIChXZWJWaWV3SG9zdDo6Y3VycmVudEludGVudFJlcXVl
c3QpOgorCiAyMDEyLTAyLTI4ICBEYW4gV2luc2hpcCAgPGRhbndAZ25vbWUub3JnPgogCiAgICAg
ICAgIFtHVEtdIG1ha2UgdGVzdHMgZXhwbGljaXRseSByZXF1ZXN0IEdTZXR0aW5nc0JhY2tlbmRN
ZW1vcnkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRl
c3RDb250cm9sbGVyLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRl
c3RDb250cm9sbGVyLmNwcAppbmRleCA4NDM0ZjQ3ZGMzNDA5MGM1OWFiMjIxODBlYTdlODA4OWEw
ZmQ0Y2YwLi43NGM5N2M0NmYzYWMxOTkyMGU0ZGFlMTc1ODYyOTQ2ODRlZDIwODE2IDEwMDY0NAot
LS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5j
cHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xs
ZXIuY3BwCkBAIC00OSwxNiArNDksMTkgQEAKICNpbmNsdWRlICJXZWJHZW9sb2NhdGlvbkNsaWVu
dE1vY2suaCIKICNpbmNsdWRlICJXZWJJREJGYWN0b3J5LmgiCiAjaW5jbHVkZSAiV2ViSW5wdXRF
bGVtZW50LmgiCisjaW5jbHVkZSAiV2ViSW50ZW50UmVxdWVzdC5oIgogI2luY2x1ZGUgIldlYktp
dC5oIgogI2luY2x1ZGUgIldlYk5vdGlmaWNhdGlvblByZXNlbnRlci5oIgogI2luY2x1ZGUgIldl
YlBlcm1pc3Npb25zLmgiCiAjaW5jbHVkZSAiV2ViU2NyaXB0U291cmNlLmgiCiAjaW5jbHVkZSAi
V2ViU2VjdXJpdHlQb2xpY3kuaCIKKyNpbmNsdWRlICJwbGF0Zm9ybS9XZWJTZXJpYWxpemVkU2Ny
aXB0VmFsdWUuaCIKICNpbmNsdWRlICJXZWJTZXR0aW5ncy5oIgogI2luY2x1ZGUgInBsYXRmb3Jt
L1dlYlNpemUuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJVUkwuaCIKICNpbmNsdWRlICJXZWJW
aWV3LmgiCiAjaW5jbHVkZSAiV2ViVmlld0hvc3QuaCIKKyNpbmNsdWRlICJ2OC9pbmNsdWRlL3Y4
LmgiCiAjaW5jbHVkZSAid2Via2l0L3N1cHBvcnQvd2Via2l0X3N1cHBvcnQuaCIKICNpbmNsdWRl
IDxhbGdvcml0aG0+CiAjaW5jbHVkZSA8Y2N0eXBlPgpAQCAtMjYyLDYgKzI2NSw3IEBAIExheW91
dFRlc3RDb250cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcihUZXN0U2hlbGwqIHNoZWxsKQog
ICAgIGJpbmRQcm9wZXJ0eSgicGxhdGZvcm1OYW1lIiwgJm1fcGxhdGZvcm1OYW1lKTsKICAgICBi
aW5kUHJvcGVydHkoImludGVyY2VwdFBvc3RNZXNzYWdlIiwgJm1faW50ZXJjZXB0UG9zdE1lc3Nh
Z2UpOwogICAgIGJpbmRQcm9wZXJ0eSgid29ya2VyVGhyZWFkQ291bnQiLCAmTGF5b3V0VGVzdENv
bnRyb2xsZXI6OndvcmtlclRocmVhZENvdW50KTsKKyAgICBiaW5kTWV0aG9kKCJzZW5kV2ViSW50
ZW50UmVzcG9uc2UiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNlbmRXZWJJbnRlbnRSZXNwb25z
ZSk7CiB9CiAKIExheW91dFRlc3RDb250cm9sbGVyOjp+TGF5b3V0VGVzdENvbnRyb2xsZXIoKQpA
QCAtMjEyNiw2ICsyMTMwLDI4IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OndvcmtlclRo
cmVhZENvdW50KENwcFZhcmlhbnQqIHJlc3VsdCkKICAgICByZXN1bHQtPnNldChzdGF0aWNfY2Fz
dDxpbnQ+KFdlYldvcmtlckluZm86OmRlZGljYXRlZFdvcmtlckNvdW50KCkpKTsKIH0KIAordm9p
ZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2VuZFdlYkludGVudFJlc3BvbnNlKGNvbnN0IENwcEFy
Z3VtZW50TGlzdCYgYXJndW1lbnRzLCBDcHBWYXJpYW50KiByZXN1bHQpCit7CisgICAgdjg6Okhh
bmRsZVNjb3BlIHNjb3BlOworICAgIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gY3R4ID0gbV9zaGVs
bC0+d2ViVmlldygpLT5tYWluRnJhbWUoKS0+bWFpbldvcmxkU2NyaXB0Q29udGV4dCgpOworICAg
IHJlc3VsdC0+c2V0KG1fc2hlbGwtPndlYlZpZXcoKS0+bWFpbkZyYW1lKCktPnNlbGVjdGlvbkFz
TWFya3VwKCkudXRmOCgpKTsKKyAgICB2ODo6Q29udGV4dDo6U2NvcGUgY3Njb3BlKGN0eCk7CisK
KyAgICBXZWJLaXQ6OldlYkludGVudFJlcXVlc3QqIHJlcXVlc3QgPSBtX3NoZWxsLT53ZWJWaWV3
SG9zdCgpLT5jdXJyZW50SW50ZW50UmVxdWVzdCgpOworICAgIGlmIChyZXF1ZXN0LT5pc051bGwo
KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKGFyZ3VtZW50cy5zaXplKCkgPT0gMSkgewor
ICAgICAgICBXZWJLaXQ6OldlYkNTdHJpbmcgcmVwbHkgPSBjcHBWYXJpYW50VG9XZWJTdHJpbmco
YXJndW1lbnRzWzBdKS51dGY4KCk7CisgICAgICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2OHZh
bHVlID0gdjg6OlN0cmluZzo6TmV3KHJlcGx5LmRhdGEoKSwgcmVwbHkubGVuZ3RoKCkpOworICAg
ICAgICByZXF1ZXN0LT5wb3N0UmVzdWx0KFdlYktpdDo6V2ViU2VyaWFsaXplZFNjcmlwdFZhbHVl
OjpzZXJpYWxpemUodjh2YWx1ZSkpOworICAgIH0gZWxzZSB7CisgICAgICAgIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiB2OHZhbHVlID0gdjg6OlN0cmluZzo6TmV3KCJFUlJPUiIpOworICAgICAgICBy
ZXF1ZXN0LT5wb3N0RmFpbHVyZShXZWJLaXQ6OldlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6c2Vy
aWFsaXplKHY4dmFsdWUpKTsKKyAgICB9CisgICAgcmVzdWx0LT5zZXROdWxsKCk7Cit9CisKIHZv
aWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFBsdWdpbnNFbmFibGVkKGNvbnN0IENwcEFyZ3Vt
ZW50TGlzdCYgYXJndW1lbnRzLCBDcHBWYXJpYW50KiByZXN1bHQpCiB7CiAgICAgaWYgKGFyZ3Vt
ZW50cy5zaXplKCkgPiAwICYmIGFyZ3VtZW50c1swXS5pc0Jvb2woKSkgewpkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmgKaW5kZXgg
YmYzNWYyZmQzNGZhMGYzNDZjZDQyMzg4MjdkYWY1MWRmNjQxMmQ2MS4uNTI2YmNhMDM1YzFmMGFj
NWVkMDM5MDMwMmI2YTIyN2FiZmVhZjZjMCAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCkBAIC00MzcsNiArNDM3LDEwIEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgd29ya2VyVGhyZWFkQ291bnQoQ3BwVmFyaWFudCopOwogCisg
ICAgLy8gRXhwZWN0cyBvbmUgc3RyaW5nIGFyZ3VtZW50IGZvciBzZW5kaW5nIHN1Y2Nlc3NmdWwg
cmVzdWx0LCB6ZXJvCisgICAgLy8gZm9yIHNlbmRpbmcgYSBmYWlsdXJlIHJlc3VsdC4KKyAgICB2
b2lkIHNlbmRXZWJJbnRlbnRSZXNwb25zZShjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJp
YW50Kik7CisKIHB1YmxpYzoKICAgICAvLyBUaGUgZm9sbG93aW5nIG1ldGhvZHMgYXJlIG5vdCBl
eHBvc2VkIHRvIEphdmFTY3JpcHQuCiAgICAgdm9pZCBzZXRXb3JrUXVldWVGcm96ZW4oYm9vbCBm
cm96ZW4pIHsgbV93b3JrUXVldWUuc2V0RnJvemVuKGZyb3plbik7IH0KZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmggYi9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCmluZGV4IGY4MGY0MzhhZDVjZGJkNWZkZTJh
MjYwNzNkNjU5ODljNTAzY2I5ZDQuLmY4NmIxMWY1MDk0ODY4MzNjN2EwMmU2MDMzOGUyYmI0Y2Y4
ZWVkMTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdI
b3N0LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaApA
QCAtMjUyLDYgKzI1Miw5IEBAIGNsYXNzIFdlYlZpZXdIb3N0IDogcHVibGljIFdlYktpdDo6V2Vi
U3BlbGxDaGVja0NsaWVudCwgcHVibGljIFdlYktpdDo6V2ViVmlld0NsCiAgICAgLy8gUGVuZGlu
ZyB0YXNrIGxpc3QsIE5vdGUgdGFodCB0aGUgbWV0aG9kIGlzIHJlZmVycmVkIGZyb20gTWV0aG9k
VGFzayBjbGFzcy4KICAgICBUYXNrTGlzdCogdGFza0xpc3QoKSB7IHJldHVybiAmbV90YXNrTGlz
dDsgfQogCisgICAgLy8gVGhlIGN1cnJlbnQgd2ViIGludGVudHMgcmVxdWVzdC4KKyAgICBXZWJL
aXQ6OldlYkludGVudFJlcXVlc3QqIGN1cnJlbnRJbnRlbnRSZXF1ZXN0KCkgeyByZXR1cm4gJm1f
Y3VycmVudFJlcXVlc3Q7IH0KKwogcHJpdmF0ZToKIAogICAgIGNsYXNzIEhvc3RNZXRob2RUYXNr
IDogcHVibGljIE1ldGhvZFRhc2s8V2ViVmlld0hvc3Q+IHsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhMzZhODNkYTQ1M2E4
MzE0ZTI2MjVjMmQyMTcwY2NjZjIyOWI3ODQxLi4wYjk4MWE5YWQwYzVhMmU0NjhhMzlmMjk1Mzcx
ODNkZTFiMjZhZTEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDItMjggIEdyZWcgQmls
bG9jayAgPGdiaWxsb2NrQGdvb2dsZS5jb20+CisKKyAgICAgICAgQWRkIG1vcmUgdGVzdHMgZm9y
IHdlYiBpbnRlbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03OTUyNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogd2ViaW50ZW50cy9yZXNvdXJjZXMvd2ViLWludGVudHMtdGVzdGluZy5qczogQWRkZWQu
CisgICAgICAgIChvblN1Y2Nlc3MpOgorICAgICAgICAob25GYWlsdXJlKToKKyAgICAgICAgKHN0
YXJ0SW50ZW50V2l0aENhbGxiYWNrcyk6CisgICAgICAgIChzaW11bGF0ZUJ1dHRvblByZXNzKToK
KyAgICAgICAgKiB3ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLWZhaWx1cmUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLWZhaWx1cmUuaHRtbDogQWRk
ZWQuCisgICAgICAgICogd2ViaW50ZW50cy93ZWItaW50ZW50cy1pbnZva2UtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLWludm9rZS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLXJlbG9hZC5odG1sOgorICAg
ICAgICAqIHdlYmludGVudHMvd2ViLWludGVudHMtcmVwbHktZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiB3ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLXJlcGx5Lmh0bWw6IEFkZGVkLgorCiAy
MDEyLTAyLTI4ICBFbWlsIEEgRWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KIAogICAgICAgICBG
aXggcHJpbnRpbmcvem9vbWVkLWRvY3VtZW50Lmh0bWwgZm9yIFFUCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy93ZWJpbnRlbnRzL3Jlc291cmNlcy93ZWItaW50ZW50cy10ZXN0aW5nLmpzIGIvTGF5
b3V0VGVzdHMvd2ViaW50ZW50cy9yZXNvdXJjZXMvd2ViLWludGVudHMtdGVzdGluZy5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4wNGRkODNlOTkwZjA4ODM1MjIwNmU0ZWE3M2Y3M2EzNDIwNDhmYmYwCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViaW50ZW50cy9yZXNvdXJjZXMvd2ViLWludGVudHMt
dGVzdGluZy5qcwpAQCAtMCwwICsxLDQwIEBACisvLyBDYWxsYmFjayBmdW5jdGlvbiB0byBiZSB1
c2VkIGZvciBhIHN1Y2Nlc3NmdWwgd2ViIGludGVudCBjYWxsLgorZnVuY3Rpb24gb25TdWNjZXNz
KGRhdGEpIHsKKyAgZGVidWcoIiogZ290IHJlcGx5OiAiICsgZGF0YSk7CisKKyAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
ci5ub3RpZnlEb25lKCk7CisgIH0KK30KKworLy8gQ2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgdXNl
ZCBmb3IgYSBmYWlsZWQgd2ViIGludGVudCBjYWxsLgorZnVuY3Rpb24gb25GYWlsdXJlKGRhdGEp
IHsKKyAgZGVidWcoIiogZ290IGZhaWx1cmU6ICIgKyBkYXRhKTsKKworICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyLm5v
dGlmeURvbmUoKTsKKyAgfQorfQorCisvLyBMYXVuY2ggYSB3ZWIgaW50ZW50IGNhbGwgd2l0aCBj
YWxsYmFja3MuCitmdW5jdGlvbiBzdGFydEludGVudFdpdGhDYWxsYmFja3MoKSB7CisgIG5hdmln
YXRvci5zdGFydEFjdGl2aXR5KG5ldyBJbnRlbnQoImFjdGlvbjEiLCAibWltZS90eXBlMSIsICJ0
ZXN0IiksIG9uU3VjY2Vzcywgb25GYWlsdXJlKTsKKyAgZGVidWcoIiogc2VudCBpbnRlbnQiKTsK
KworICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgd2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgfSBlbHNlIHsKKyAgICBhbGVydCgn
VGhpcyB0ZXN0IG5lZWRzIHRvIHJ1biBpbiBEUlQnKTsKKyAgfQorfQorCisvLyBUaGlzIGJ1dHRv
biBwcmVzcyBzaW11bGF0b3Igc2V0cyB0aGUgdXNlciBnZXN0dXJlIGluZGljYXRvciB0aGF0IGFu
IGludGVudAorLy8gcmVxdWlyZXMgdG8gc3RhcnQuCitmdW5jdGlvbiBzaW11bGF0ZUJ1dHRvblBy
ZXNzKCkgeworICB2YXIgYnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJ1dHRvbiIp
OworICBpZiAoZXZlbnRTZW5kZXIpIHsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhidXR0
b24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdCArIDIsIGJ1dHRvbi5nZXRCb3VuZGluZ0Ns
aWVudFJlY3QoKS50b3AgKyAxMik7CisgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAg
ZXZlbnRTZW5kZXIubW91c2VVcCgpOworICB9Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLWZhaWx1cmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
d2ViaW50ZW50cy93ZWItaW50ZW50cy1mYWlsdXJlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
NDcxMWM3N2YwZDIyMjQ1OWJiZjUyZDIyNGMxYjczMTMwN2RmOWU4Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvd2ViaW50ZW50cy93ZWItaW50ZW50cy1mYWlsdXJlLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDcgQEAKK1JlY2VpdmVkIFdlYiBJbnRlbnQ6IGFjdGlvbj1hY3Rpb24xIHR5
cGU9bWltZS90eXBlMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisqIHNlbnQgaW50ZW50CisqIGdvdCBmYWlsdXJlOiBFUlJPUgorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLWZhaWx1cmUuaHRtbCBiL0xheW91
dFRlc3RzL3dlYmludGVudHMvd2ViLWludGVudHMtZmFpbHVyZS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcy
M2IyMDJhYWYzNDA0NGRlOWQ2NGQ5Zjk4Njk0NGViZDlhNDg2OGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy93ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLWZhaWx1cmUuaHRtbApAQCAtMCww
ICsxLDIwIEBACis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3dlYi1pbnRlbnRzLXRlc3RpbmcuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQ+Cisg
ICAgICBmdW5jdGlvbiBidXR0b25DbGlja2VkKCkgeworICAgICAgICBzdGFydEludGVudFdpdGhD
YWxsYmFja3MoKTsKKworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
CisgICAgICAgICAgLy8gRW1wdHkgYXJncyB3aWxsIHNlbmQgZmFpbHVyZSBtZXNzYWdlLgorICAg
ICAgICAgIHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlci5zZW5kV2ViSW50ZW50UmVzcG9uc2Uo
KTsKKyAgICAgICAgfQorICAgICAgfQorICAgIDwvc2NyaXB0PgorICA8L2hlYWQ+Cis8Ym9keSBv
bmxvYWQ9InNpbXVsYXRlQnV0dG9uUHJlc3MoKSI+Cis8aW5wdXQgdHlwZT0iYnV0dG9uIiBpZD0i
YnV0dG9uIiB2YWx1ZT0iU3RhcnQgV2ViIEludGVudCIgb25tb3VzZXVwPSJidXR0b25DbGlja2Vk
KCkiPgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJp
bnRlbnRzL3dlYi1pbnRlbnRzLWludm9rZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJp
bnRlbnRzL3dlYi1pbnRlbnRzLWludm9rZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTI2ZDI5
OWMzZGE3OGUwNmJjMjRhZDg1Yzc4ZGI2ZDY3MGM1ZDA5MAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3dlYmludGVudHMvd2ViLWludGVudHMtaW52b2tlLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDYgQEAKK1JlY2VpdmVkIFdlYiBJbnRlbnQ6IGFjdGlvbj1hY3Rpb24xIHR5cGU9bWlt
ZS90eXBlMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisqIHNlbnQgaW50ZW50CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmludGVudHMvd2Vi
LWludGVudHMtaW52b2tlLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJpbnRlbnRzL3dlYi1pbnRlbnRz
LWludm9rZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE1NDYyZWRlMTA4ZGUxMjQyNjhjNmI2MjEwZGY3YzM5
OTEyNWU3M2IKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJpbnRlbnRzL3dlYi1p
bnRlbnRzLWludm9rZS5odG1sCkBAIC0wLDAgKzEsMTYgQEAKKzxodG1sPgorICA8aGVhZD4KKyAg
ICA8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2ViLWludGVudHMtdGVzdGluZy5qcyI+
PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4KKyAgICAgIGZ1bmN0aW9uIGJ1dHRvbkNsaWNrZWQoKSB7
CisgICAgICAgIG5hdmlnYXRvci5zdGFydEFjdGl2aXR5KG5ldyBJbnRlbnQoImFjdGlvbjEiLCAi
bWltZS90eXBlMSIsICJ0ZXN0IikpOworICAgICAgICAgIGRlYnVnKCIqIHNlbnQgaW50ZW50Iik7
CisgICAgICB9CisgICAgPC9zY3JpcHQ+CisgIDwvaGVhZD4KKzxib2R5IG9ubG9hZD0ic2ltdWxh
dGVCdXR0b25QcmVzcygpIj4KKzxpbnB1dCB0eXBlPSJidXR0b24iIGlkPSJidXR0b24iIHZhbHVl
PSJTdGFydCBXZWIgSW50ZW50IiBvbm1vdXNldXA9ImJ1dHRvbkNsaWNrZWQoKSI+Cis8c2NyaXB0
IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmludGVudHMvd2ViLWlu
dGVudHMtcmVsb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLXJl
bG9hZC5odG1sCmluZGV4IGUyM2UxMzYwNjI2MTg3ODlmMWNlYTAxOTBlYzlhMjVmOWYxYTNjNTUu
LmZhZjFiYzA2MDc4NDU3YzVhYTA0YTJkZTI3MzQwYzhkMTgyOTlmNTMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3dlYmludGVudHMvd2ViLWludGVudHMtcmVsb2FkLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvd2ViaW50ZW50cy93ZWItaW50ZW50cy1yZWxvYWQuaHRtbApAQCAtMSw2ICsxLDcgQEAK
IDxodG1sPgogICA8aGVhZD4KICAgICA8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2Vi
LWludGVudHMtdGVzdGluZy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdD4KICAgICAgIHZhciBs
YXRjaCA9IHRydWU7CiAKQEAgLTI2LDE5ICsyNywxNCBAQAogICAgICAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKSB7CiAgICAgICAgICAgd2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKICAgICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
YWxlcnQoJ1RoaXMgdGVzdCBuZWVkcyB0byBydW4gaW4gRFJUJyk7CiAgICAgICAgIH0KIAogICAg
ICAgICBkZWJ1ZygiKiBsb2FkZWQiKTsKIAotICAgICAgICAvLyBXZSBtdXN0IHNpbXVsYXRlIGEg
YnV0dG9uIHByZXNzIHdpdGggZXZlbnRTZW5kZXIgYmVjYXVzZSBpbnRlbnRzCi0gICAgICAgIC8v
IHJlcXVpcmUgYSB1c2VyIGdlc3R1cmUuCi0gICAgICAgIHZhciBidXR0b24gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiYnV0dG9uIik7Ci0gICAgICAgIGlmIChldmVudFNlbmRlcikgewotICAg
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKGJ1dHRvbi5nZXRCb3VuZGluZ0NsaWVudFJl
Y3QoKS5sZWZ0ICsgMiwgYnV0dG9uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcCArIDEyKTsK
LSAgICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKLSAgICAgICAgICBldmVudFNlbmRl
ci5tb3VzZVVwKCk7Ci0gICAgICAgICAgZGVidWcoIiogc2VudCBtb3VzZXVwIik7Ci0gICAgICAg
IH0KKyAgICAgICAgc2ltdWxhdGVCdXR0b25QcmVzcygpOworICAgICAgICBkZWJ1ZygiKiBzZW50
IG1vdXNldXAiKTsKICAgICAgIH0KICAgICA8L3NjcmlwdD4KICAgPC9oZWFkPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvd2ViaW50ZW50cy93ZWItaW50ZW50cy1yZXBseS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy93ZWJpbnRlbnRzL3dlYi1pbnRlbnRzLXJlcGx5LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42ZDZlMmM0OTU2MTc2ODBiMmJjOTA3ZmZkYzYyNjk5ZDYxNTc5YWUwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViaW50ZW50cy93ZWItaW50ZW50cy1yZXBseS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitSZWNlaXZlZCBXZWIgSW50ZW50OiBhY3Rpb249
YWN0aW9uMSB0eXBlPW1pbWUvdHlwZTEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorKiBzZW50IGludGVudAorKiBnb3QgcmVwbHk6IHJlcGx5CisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmludGVudHMvd2ViLWludGVudHMtcmVwbHkuaHRtbCBi
L0xheW91dFRlc3RzL3dlYmludGVudHMvd2ViLWludGVudHMtcmVwbHkuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li44MDgxOTEyN2U2NDhlYWNkNmFjNGYyZGVjYmMzYzI1OWE3NGExZDBlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvd2ViaW50ZW50cy93ZWItaW50ZW50cy1yZXBseS5odG1sCkBAIC0w
LDAgKzEsMTkgQEAKKzxodG1sPgorICA8aGVhZD4KKyAgICA8c2NyaXB0IHNyYz0iLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvd2ViLWludGVudHMtdGVzdGluZy5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdD4K
KyAgICAgIGZ1bmN0aW9uIGJ1dHRvbkNsaWNrZWQoKSB7CisgICAgICAgIHN0YXJ0SW50ZW50V2l0
aENhbGxiYWNrcygpOworCisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
IHsKKyAgICAgICAgICB3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIuc2VuZFdlYkludGVudFJl
c3BvbnNlKCJyZXBseSIpOworICAgICAgICB9CisgICAgICB9CisgICAgPC9zY3JpcHQ+CisgIDwv
aGVhZD4KKzxib2R5IG9ubG9hZD0ic2ltdWxhdGVCdXR0b25QcmVzcygpIj4KKzxpbnB1dCB0eXBl
PSJidXR0b24iIGlkPSJidXR0b24iIHZhbHVlPSJTdGFydCBXZWIgSW50ZW50IiBvbm1vdXNldXA9
ImJ1dHRvbkNsaWNrZWQoKSI+Cis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>