<?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>112783</bug_id>
          
          <creation_ts>2013-03-20 01:57:20 -0700</creation_ts>
          <short_desc>CSP 1.1: Fire a SecurityPolicyViolationEvent when violations occur.</short_desc>
          <delta_ts>2013-03-21 15:03:59 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>85558</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mike West">mkwst</reporter>
          <assigned_to name="Mike West">mkwst</assigned_to>
          <cc>abarth</cc>
    
    <cc>buildbot</cc>
    
    <cc>mkwst+watchlist</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>859176</commentid>
    <comment_count>0</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-03-20 01:57:20 -0700</bug_when>
    <thetext>Following up on bug 112681, we should wire up the newly created event so that it actually fires off on the Document when violations occur.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859179</commentid>
    <comment_count>1</comment_count>
      <attachid>194003</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-03-20 02:05:59 -0700</bug_when>
    <thetext>Created attachment 194003
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859181</commentid>
    <comment_count>2</comment_count>
      <attachid>194003</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-20 02:10:06 -0700</bug_when>
    <thetext>Comment on attachment 194003
Patch

Attachment 194003 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-commit-queue.appspot.com/results/17191579</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859190</commentid>
    <comment_count>3</comment_count>
      <attachid>194003</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-03-20 02:14:35 -0700</bug_when>
    <thetext>Comment on attachment 194003
Patch

Attachment 194003 did not pass qt-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/17178585</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859194</commentid>
    <comment_count>4</comment_count>
      <attachid>194005</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-03-20 02:24:25 -0700</bug_when>
    <thetext>Created attachment 194005
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860134</commentid>
    <comment_count>5</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-03-21 01:26:29 -0700</bug_when>
    <thetext>Bots are happy. Would you mind taking a look, Adam?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860434</commentid>
    <comment_count>6</comment_count>
      <attachid>194005</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-03-21 09:57:10 -0700</bug_when>
    <thetext>Comment on attachment 194005
Patch

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

&gt; Source/WebCore/page/ContentSecurityPolicy.cpp:1688
&gt; +    if (stack) {

prefer early return

&gt; Source/WebCore/page/ContentSecurityPolicy.cpp:1692
&gt; +            KURL source = KURL(KURL(), callFrame.sourceURL());

This should probably use the ParsedURLString version of the constructor.

&gt; Source/WebCore/page/ContentSecurityPolicy.cpp:1718
&gt; +        document-&gt;enqueueDocumentEvent(SecurityPolicyViolationEvent::create(eventNames().securitypolicyviolationEvent, init));

Do, we always fire the event at the document?  I guess that&apos;s ok.  It seems like it would be better to fire the event at the element that caused the violation, but I guess there isn&apos;t always an element...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860503</commentid>
    <comment_count>7</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-03-21 11:27:11 -0700</bug_when>
    <thetext>Thanks, Adam!

(In reply to comment #6)
&gt; (From update of attachment 194005 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=194005&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/ContentSecurityPolicy.cpp:1688
&gt; &gt; +    if (stack) {
&gt; 
&gt; prefer early return

Good call. I&apos;ll fix this and CQ the patch in the morning.

&gt; &gt; Source/WebCore/page/ContentSecurityPolicy.cpp:1692
&gt; &gt; +            KURL source = KURL(KURL(), callFrame.sourceURL());
&gt; 
&gt; This should probably use the ParsedURLString version of the constructor.

I&apos;ll fix this in a separate patch, as I can change the &apos;report-uri&apos; version I copy/pasted at the same time.

&gt; &gt; Source/WebCore/page/ContentSecurityPolicy.cpp:1718
&gt; &gt; +        document-&gt;enqueueDocumentEvent(SecurityPolicyViolationEvent::create(eventNames().securitypolicyviolationEvent, init));
&gt; 
&gt; Do, we always fire the event at the document?  I guess that&apos;s ok.  It seems like it would be better to fire the event at the element that caused the violation, but I guess there isn&apos;t always an element...

As a first pass, I think targeting the document makes sense. It has the advantage of capturing all events related to a page, regardless of whether they occur on attached elements or XHR or whatever.

When it&apos;s relevant, though, I do think it&apos;d be a good idea to either target the elements directly, or include a reference to the element in the event. *shrug* It&apos;s a good discussion to have on the list. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860658</commentid>
    <comment_count>8</comment_count>
      <attachid>194328</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-03-21 14:00:41 -0700</bug_when>
    <thetext>Created attachment 194328
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860701</commentid>
    <comment_count>9</comment_count>
      <attachid>194328</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-21 14:28:01 -0700</bug_when>
    <thetext>Comment on attachment 194328
Patch for landing

Clearing flags on attachment: 194328

Committed r146520: &lt;http://trac.webkit.org/changeset/146520&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860702</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-21 14:28:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860761</commentid>
    <comment_count>11</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-03-21 15:03:59 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; &gt; &gt; Source/WebCore/page/ContentSecurityPolicy.cpp:1692
&gt; &gt; &gt; +            KURL source = KURL(KURL(), callFrame.sourceURL());
&gt; &gt; 
&gt; &gt; This should probably use the ParsedURLString version of the constructor.
&gt; 
&gt; I&apos;ll fix this in a separate patch, as I can change the &apos;report-uri&apos; version I copy/pasted at the same time.

Split out into bug 112965; thanks again for pointing it out.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194003</attachid>
            <date>2013-03-20 02:05:59 -0700</date>
            <delta_ts>2013-03-20 02:24:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112783-20130320100148.patch</filename>
            <type>text/plain</type>
            <size>9623</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmE1NTUwYTk0ZWRmODBi
MTQ0ZWMzN2E4YjhlMDA3ODFkNGUzNmM5YS4uZTJmNDRlZGYzNDBmNTUzZDc2MWVmYjM0YmZiMzhl
ZDMzYmFhNjhjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEzLTAzLTIwICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NQIDEuMTogRmlyZSBhIFNl
Y3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQgd2hlbiB2aW9sYXRpb25zIG9jY3VyLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyNzgzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQSBuZXcgZXZlbnQgdHlw
ZSBmb3IgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgdmlvbGF0aW9ucyBsYW5kZWQgaW4KKyAgICAg
ICAgaHR0cDovL3drcmV2LmNvbS8xNDYzMDU7IHRoaXMgcGF0Y2ggdGFrZXMgdGhhdCBzdHViLCBh
bmQgd2lyZXMgaXQgdXAgdG8KKyAgICAgICAgQ29udGVudFNlY3VyaXR5UG9saWN5OjpyZXBvcnRW
aW9sYXRpb24gc3VjaCB0aGF0IHZpb2xhdGlvbiBldmVudHMgZmlyZQorICAgICAgICB3aGVuIHJl
c291cmNlcyBhcmUgYmxvY2tlZC4KKworICAgICAgICBUaGlzIHNob3VsZCBicmluZyBXZWJLaXQg
dXAgdG8gZGF0ZSB3aXRoIHRoZSBjdXJyZW50IGRlc2NyaXB0aW9uIG9mCisgICAgICAgIENTUCdz
IGV2ZW50IG1vZGVsIGluIHNlY3Rpb25zIDMuM1sxXSBhbmQgMy40LjEuM1syXSBvZiB0aGUgZWRp
dG9yJ3MKKyAgICAgICAgZHJhZnQuCisKKyAgICAgICAgWzFdOiBodHRwczovL2R2Y3MudzMub3Jn
L2hnL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3Jhdy1maWxlL3RpcC9jc3Atc3BlY2lmaWNhdGlv
bi5kZXYuaHRtbCNwcm9jZXNzaW5nLW1vZGVsCisgICAgICAgIFsyXTogaHR0cHM6Ly9kdmNzLncz
Lm9yZy9oZy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9yYXctZmlsZS90aXAvY3NwLXNwZWNpZmlj
YXRpb24uZGV2Lmh0bWwjZmlyaW5nLWV2ZW50cy11c2luZy10aGUtc2VjdXJpdHlwb2xpY3l2aW9s
YXRpb25ldmVudC1pbnRlcmZhY2UKKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3l2aW9sYXRpb24tYmxvY2st
aW1hZ2UuaHRtbAorCisgICAgICAgICogcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Z2F0aGVyU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudERhdGEp
OgorICAgICAgICAgICAgUG9wdWxhdGUgYSBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50SW5p
dCBvYmplY3Qgd2l0aCB0aGUgdmFyaW91cworICAgICAgICAgICAgYml0cyBvZiBkYXRhIHRoYXQg
c2hvdWxkIGJlIHBhc3NlZCBpbnRvIHRoZSBldmVudCBjb25zdHJ1Y3Rvci4KKworICAgICAgICAg
ICAgVGhpcyBzdGF0aWMgbWV0aG9kIGlzIHN0cmljdGx5IGFuIGltcGxlbWVudGF0aW9uIGRldGFp
bDsgaXQncyBub3QKKyAgICAgICAgICAgIHBhcnQgb2YgQ29udGVudFNlY3VyaXR5UG9saWN5J3Mg
cHVibGljIEFQSS4KKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVw
b3J0VmlvbGF0aW9uKToKKyAgICAgICAgICAgIFJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgcG9s
aWN5IGhhcyBzZXQgYSAncmVwb3J0LXVyaScgZGlyZWN0aXZlCisgICAgICAgICAgICBvciBub3Qs
IGdhdGhlciB0b2dldGhlciBhbGwgdGhlIGRhdGEgd2UnbGwgbmVlZCB0byBmaXJlIGFuIGV2ZW50
LAorICAgICAgICAgICAgY3JlYXRlIHRoZSBldmVudCwgYW5kIHF1ZXVlIGl0IHVwIGZvciBkaXNw
YXRjaGluZyBvbiB0aGUgRG9jdW1lbnQuCisKIDIwMTMtMDMtMjAgIFJvYmVydCBIb2dhbiAgPHJv
YmVydEB3ZWJraXQub3JnPgogCiAgICAgICAgIEFic29sdXRlIHBvc2l0aW9uIGRpdiB3aXRob3V0
IHdpZHRoIHNwZWNpZmllZCBkb2VzIG5vdCByZWZsb3cgaXRzIHRleHQgd2hlbiBpdCBpcyBtb3Zl
ZCAoYW5kIGNvbXB1dGVkIHdpZHRoIGNoYW5nZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnRlbnRTZWN1cml0eVBvbGljeS5jcHAKaW5kZXggYjgxYTUxODc3NjJhOTU1N2Q1ZTRmMWI4NmU5
ODRkYWVkZDBiZTcyMC4uZjc4YTFmZDE1ZjE0MGQ0OTAyMjdkYzQ3ZTc1MmUyMWQxZDcxNDJhNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcApAQCAt
NDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKICNpbmNs
dWRlICJTY3JpcHRTdGF0ZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCisjaW5jbHVk
ZSAiU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudC5oIgogI2luY2x1ZGUgIlRleHRFbmNvZGlu
Zy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFBv
c2l0aW9uLmg+CkBAIC0xNjcxLDEzICsxNjcyLDMzIEBAIHZvaWQgQ29udGVudFNlY3VyaXR5UG9s
aWN5OjplbmZvcmNlU2FuZGJveEZsYWdzKFNhbmRib3hGbGFncyBtYXNrKSBjb25zdAogICAgIG1f
c2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+ZW5mb3JjZVNhbmRib3hGbGFncyhtYXNrKTsKIH0KIAor
c3RhdGljIHZvaWQgZ2F0aGVyU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudERhdGEoU2VjdXJp
dHlQb2xpY3lWaW9sYXRpb25FdmVudEluaXQmIGluaXQsIERvY3VtZW50KiBkb2N1bWVudCwgY29u
c3QgU3RyaW5nJiBkaXJlY3RpdmVUZXh0LCBjb25zdCBTdHJpbmcmIGVmZmVjdGl2ZURpcmVjdGl2
ZSwgY29uc3QgS1VSTCYgYmxvY2tlZFVSTCwgY29uc3QgU3RyaW5nJiBoZWFkZXIpCit7CisgICAg
aW5pdC5kb2N1bWVudFVSSSA9IGRvY3VtZW50LT51cmwoKS5zdHJpbmcoKTsKKyAgICBpbml0LnJl
ZmVycmVyID0gZG9jdW1lbnQtPnJlZmVycmVyKCk7CisgICAgaW5pdC5ibG9ja2VkVVJJID0gYmxv
Y2tlZFVSTC5pc1ZhbGlkKCkgPyBibG9ja2VkVVJMLnN0cmluZygpIDogU3RyaW5nKCk7CisgICAg
aW5pdC52aW9sYXRlZERpcmVjdGl2ZSA9IGRpcmVjdGl2ZVRleHQ7CisgICAgaW5pdC5lZmZlY3Rp
dmVEaXJlY3RpdmUgPSBlZmZlY3RpdmVEaXJlY3RpdmU7CisgICAgaW5pdC5vcmlnaW5hbFBvbGlj
eSA9IGhlYWRlcjsKKyAgICBpbml0LnNvdXJjZVVSTCA9IFN0cmluZygpOworICAgIGluaXQubGlu
ZU51bWJlciA9IDA7CisKKyAgICBSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBzdGFjayA9IGNyZWF0
ZVNjcmlwdENhbGxTdGFjaygyLCBmYWxzZSk7CisgICAgaWYgKHN0YWNrKSB7CisgICAgICAgIGNv
bnN0IFNjcmlwdENhbGxGcmFtZSYgY2FsbEZyYW1lID0gZ2V0Rmlyc3ROb25OYXRpdmVGcmFtZShz
dGFjayk7CisKKyAgICAgICAgaWYgKGNhbGxGcmFtZS5saW5lTnVtYmVyKCkpIHsKKyAgICAgICAg
ICAgIEtVUkwgc291cmNlID0gS1VSTChLVVJMKCksIGNhbGxGcmFtZS5zb3VyY2VVUkwoKSk7Cisg
ICAgICAgICAgICBpbml0LnNvdXJjZVVSTCA9IHNvdXJjZS5zdHJpbmcoKTsKKyAgICAgICAgICAg
IGluaXQubGluZU51bWJlciA9IGNhbGxGcmFtZS5saW5lTnVtYmVyKCk7CisgICAgICAgIH0KKyAg
ICB9Cit9CisKIHZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5OjpyZXBvcnRWaW9sYXRpb24oY29u
c3QgU3RyaW5nJiBkaXJlY3RpdmVUZXh0LCBjb25zdCBTdHJpbmcmIGVmZmVjdGl2ZURpcmVjdGl2
ZSwgY29uc3QgU3RyaW5nJiBjb25zb2xlTWVzc2FnZSwgY29uc3QgS1VSTCYgYmxvY2tlZFVSTCwg
Y29uc3QgVmVjdG9yPEtVUkw+JiByZXBvcnRVUklzLCBjb25zdCBTdHJpbmcmIGhlYWRlciwgY29u
c3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRM
aW5lLCBTY3JpcHRTdGF0ZSogc3RhdGUpIGNvbnN0CiB7CiAgICAgbG9nVG9Db25zb2xlKGNvbnNv
bGVNZXNzYWdlLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSwgc3RhdGUpOwogCi0gICAgaWYgKHJl
cG9ydFVSSXMuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47Ci0KICAgICAvLyBGSVhNRTogU3Vw
cG9ydCBzZW5kaW5nIHJlcG9ydHMgZnJvbSB3b3JrZXIuCiAgICAgaWYgKCFtX3NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQtPmlzRG9jdW1lbnQoKSkKICAgICAgICAgcmV0dXJuOwpAQCAtMTY4Nyw2ICsx
NzA4LDE4IEBAIHZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5OjpyZXBvcnRWaW9sYXRpb24oY29u
c3QgU3RyaW5nJiBkaXJlY3RpdmVUZXh0LCBjb25zdCBTCiAgICAgaWYgKCFmcmFtZSkKICAgICAg
ICAgcmV0dXJuOwogCisjaWYgRU5BQkxFKENTUF9ORVhUKQorICAgIGlmIChleHBlcmltZW50YWxG
ZWF0dXJlc0VuYWJsZWQoKSkgeworICAgICAgICAvLyBGSVhNRTogVGhpcyBjb2RlIG1lYW5zIHRo
YXQgd2UncmUgZ2F0aGVyaW5nIGluZm9ybWF0aW9uIGxpa2UgbGluZSBudW1iZXJzIHR3aWNlLiBP
bmNlIHdlIGNhbiBicmluZyB0aGlzIG91dCBmcm9tIGJlaGluZCB0aGUgZmxhZywgd2Ugc2hvdWxk
IHJldXNlIHRoZSBkYXRhIGdhdGhlcmVkIGhlcmUgd2hlbiBnZW5lcmF0aW5nIHRoZSBKU09OIHJl
cG9ydCBiZWxvdy4KKyAgICAgICAgU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudEluaXQgaW5p
dDsKKyAgICAgICAgZ2F0aGVyU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudERhdGEoaW5pdCwg
ZG9jdW1lbnQsIGRpcmVjdGl2ZVRleHQsIGVmZmVjdGl2ZURpcmVjdGl2ZSwgYmxvY2tlZFVSTCwg
aGVhZGVyKTsKKyAgICAgICAgZG9jdW1lbnQtPmVucXVldWVEb2N1bWVudEV2ZW50KFNlY3VyaXR5
UG9saWN5VmlvbGF0aW9uRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuc2VjdXJpdHlwb2xpY3l2
aW9sYXRpb25FdmVudCwgaW5pdCkpOworICAgIH0KKyNlbmRpZgorCisgICAgaWYgKHJlcG9ydFVS
SXMuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisKICAgICAvLyBXZSBuZWVkIHRvIGJlIGNh
cmVmdWwgaGVyZSB3aGVuIGRlY2lkaW5nIHdoYXQgaW5mb3JtYXRpb24gdG8gc2VuZCB0byB0aGUK
ICAgICAvLyByZXBvcnQtdXJpLiBDdXJyZW50bHksIHdlIHNlbmQgb25seSB0aGUgY3VycmVudCBk
b2N1bWVudCdzIFVSTCBhbmQgdGhlCiAgICAgLy8gZGlyZWN0aXZlIHRoYXQgd2FzIHZpb2xhdGVk
LiBUaGUgZG9jdW1lbnQncyBVUkwgaXMgc2FmZSB0byBzZW5kIGJlY2F1c2UKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4ZTQy
MGVlYmEwYjRmMTU5ODc3NjI2Y2JmMDc4OTE2NTZkM2QwYjU4Li5lNTQxNjM2ZjYzYTllYzBiYWY1
MWJjY2I2MzI0NTkxYzQ0YmRlMmFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMDMtMjAg
IE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVtLm9yZz4KKworICAgICAgICBDU1AgMS4xOiBGaXJl
IGEgU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudCB3aGVuIHZpb2xhdGlvbnMgb2NjdXIuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI3ODMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeXZpb2xh
dGlvbi1ibG9jay1pbWFnZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeXZpb2xh
dGlvbi1ibG9jay1pbWFnZS5odG1sOiBBZGRlZC4KKwogMjAxMy0wMy0yMCAgUm9iZXJ0IEhvZ2Fu
ICA8cm9iZXJ0QHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWJzb2x1dGUgcG9zaXRpb24gZGl2IHdp
dGhvdXQgd2lkdGggc3BlY2lmaWVkIGRvZXMgbm90IHJlZmxvdyBpdHMgdGV4dCB3aGVuIGl0IGlz
IG1vdmVkIChhbmQgY29tcHV0ZWQgd2lkdGggY2hhbmdlcykKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0
eXBvbGljeXZpb2xhdGlvbi1ibG9jay1pbWFnZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xp
Y3l2aW9sYXRpb24tYmxvY2staW1hZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlYmIwZmEx
NTI4MmRkZWZkN2FmZmNmMDUwNTE0YzhhOGE0OWUxNDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2Vj
dXJpdHlwb2xpY3l2aW9sYXRpb24tYmxvY2staW1hZ2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTkgQEAKK0NPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBsb2FkIHRoZSBpbWFnZSAnaHR0cDov
LzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9hYmUucG5nJyBiZWNhdXNlIGl0IHZp
b2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAi
aW1nLXNyYyAnbm9uZSciLgorCitDaGVjayB0aGF0IGEgU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25F
dmVudCBpcyBmaXJlZCB1cG9uIGJsb2NraW5nIGFuIGltYWdlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworUEFTUyB3aW5kb3cuZS5kb2N1bWVudFVSSSBpcyAiaHR0cDovLzEyNy4w
LjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xp
Y3l2aW9sYXRpb24tYmxvY2staW1hZ2UuaHRtbCIKK1BBU1Mgd2luZG93LmUucmVmZXJyZXIgaXMg
IiIKK1BBU1Mgd2luZG93LmUuYmxvY2tlZFVSSSBpcyAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Nl
Y3VyaXR5L3Jlc291cmNlcy9hYmUucG5nIgorUEFTUyB3aW5kb3cuZS52aW9sYXRlZERpcmVjdGl2
ZSBpcyAiaW1nLXNyYyAnbm9uZSciCitQQVNTIHdpbmRvdy5lLmVmZmVjdGl2ZURpcmVjdGl2ZSBp
cyAiaW1nLXNyYyIKK1BBU1Mgd2luZG93LmUub3JpZ2luYWxQb2xpY3kgaXMgImltZy1zcmMgJ25v
bmUnIgorUEFTUyB3aW5kb3cuZS5zb3VyY2VVUkwgaXMgImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5dmlvbGF0aW9u
LWJsb2NrLWltYWdlLmh0bWwiCitQQVNTIHdpbmRvdy5lLmxpbmVOdW1iZXIgaXMgMzAKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8x
LjEvc2VjdXJpdHlwb2xpY3l2aW9sYXRpb24tYmxvY2staW1hZ2UuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBv
bGljeXZpb2xhdGlvbi1ibG9jay1pbWFnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmOWJhN2IzOGU4YzJk
NThhNGU5MzUxZDJmNjNkMDc1NTA0ZjQ5MDUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlw
b2xpY3l2aW9sYXRpb24tYmxvY2staW1hZ2UuaHRtbApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1T
ZWN1cml0eS1Qb2xpY3kiIGNvbnRlbnQ9ImltZy1zcmMgJ25vbmUnIj4KKyAgICA8c2NyaXB0IHNy
Yz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2Ny
aXB0PgorICAgICAgICBkZXNjcmlwdGlvbignQ2hlY2sgdGhhdCBhIFNlY3VyaXR5UG9saWN5Vmlv
bGF0aW9uRXZlbnQgaXMgZmlyZWQgdXBvbiBibG9ja2luZyBhbiBpbWFnZS4nKTsKKworICAgICAg
ICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgZG9jdW1lbnQuYWRkRXZl
bnRMaXN0ZW5lcignc2VjdXJpdHlwb2xpY3l2aW9sYXRpb24nLCBmdW5jdGlvbiBoYW5kbGVFdmVu
dChlKSB7CisgICAgICAgICAgICB2YXIgZXhwZWN0YXRpb25zID0geworICAgICAgICAgICAgICAg
ICdkb2N1bWVudFVSSSc6IGRvY3VtZW50LmxvY2F0aW9uLnRvU3RyaW5nKCksCisgICAgICAgICAg
ICAgICAgJ3JlZmVycmVyJzogZG9jdW1lbnQucmVmZXJyZXIsCisgICAgICAgICAgICAgICAgJ2Js
b2NrZWRVUkknOiAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9hYmUu
cG5nJywKKyAgICAgICAgICAgICAgICAndmlvbGF0ZWREaXJlY3RpdmUnOiAnaW1nLXNyYyBcJ25v
bmVcJycsCisgICAgICAgICAgICAgICAgJ2VmZmVjdGl2ZURpcmVjdGl2ZSc6ICdpbWctc3JjJywK
KyAgICAgICAgICAgICAgICAnb3JpZ2luYWxQb2xpY3knOiAnaW1nLXNyYyBcJ25vbmVcJycsCisg
ICAgICAgICAgICAgICAgJ3NvdXJjZVVSTCc6IGRvY3VtZW50LmxvY2F0aW9uLnRvU3RyaW5nKCks
CisgICAgICAgICAgICAgICAgJ2xpbmVOdW1iZXInOiAzMAorICAgICAgICAgICAgfTsKKyAgICAg
ICAgICAgIHdpbmRvdy5lID0gZTsKKyAgICAgICAgICAgIGZvciAoa2V5IGluIGV4cGVjdGF0aW9u
cykKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgnd2luZG93LmUuJyArIGtleSwgSlNPTi5zdHJp
bmdpZnkoZXhwZWN0YXRpb25zW2tleV0pKTsKKyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOwor
ICAgICAgICB9KTsKKworICAgICAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgeworICAg
ICAgICAgICAgdmFyIGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOworICAgICAg
ICAgICAgaW1nLnNyYyA9ICcvc2VjdXJpdHkvcmVzb3VyY2VzL2FiZS5wbmcnOworICAgICAgICAg
ICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbWcpOworICAgICAgICB9OworICAgIDwvc2Ny
aXB0PgorICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194005</attachid>
            <date>2013-03-20 02:24:25 -0700</date>
            <delta_ts>2013-03-21 14:00:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112783-20130320102014.patch</filename>
            <type>text/plain</type>
            <size>9653</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MzA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmE1NTUwYTk0ZWRmODBi
MTQ0ZWMzN2E4YjhlMDA3ODFkNGUzNmM5YS4uZTJmNDRlZGYzNDBmNTUzZDc2MWVmYjM0YmZiMzhl
ZDMzYmFhNjhjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEzLTAzLTIwICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NQIDEuMTogRmlyZSBhIFNl
Y3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQgd2hlbiB2aW9sYXRpb25zIG9jY3VyLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyNzgzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQSBuZXcgZXZlbnQgdHlw
ZSBmb3IgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgdmlvbGF0aW9ucyBsYW5kZWQgaW4KKyAgICAg
ICAgaHR0cDovL3drcmV2LmNvbS8xNDYzMDU7IHRoaXMgcGF0Y2ggdGFrZXMgdGhhdCBzdHViLCBh
bmQgd2lyZXMgaXQgdXAgdG8KKyAgICAgICAgQ29udGVudFNlY3VyaXR5UG9saWN5OjpyZXBvcnRW
aW9sYXRpb24gc3VjaCB0aGF0IHZpb2xhdGlvbiBldmVudHMgZmlyZQorICAgICAgICB3aGVuIHJl
c291cmNlcyBhcmUgYmxvY2tlZC4KKworICAgICAgICBUaGlzIHNob3VsZCBicmluZyBXZWJLaXQg
dXAgdG8gZGF0ZSB3aXRoIHRoZSBjdXJyZW50IGRlc2NyaXB0aW9uIG9mCisgICAgICAgIENTUCdz
IGV2ZW50IG1vZGVsIGluIHNlY3Rpb25zIDMuM1sxXSBhbmQgMy40LjEuM1syXSBvZiB0aGUgZWRp
dG9yJ3MKKyAgICAgICAgZHJhZnQuCisKKyAgICAgICAgWzFdOiBodHRwczovL2R2Y3MudzMub3Jn
L2hnL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3Jhdy1maWxlL3RpcC9jc3Atc3BlY2lmaWNhdGlv
bi5kZXYuaHRtbCNwcm9jZXNzaW5nLW1vZGVsCisgICAgICAgIFsyXTogaHR0cHM6Ly9kdmNzLncz
Lm9yZy9oZy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9yYXctZmlsZS90aXAvY3NwLXNwZWNpZmlj
YXRpb24uZGV2Lmh0bWwjZmlyaW5nLWV2ZW50cy11c2luZy10aGUtc2VjdXJpdHlwb2xpY3l2aW9s
YXRpb25ldmVudC1pbnRlcmZhY2UKKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3l2aW9sYXRpb24tYmxvY2st
aW1hZ2UuaHRtbAorCisgICAgICAgICogcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Z2F0aGVyU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudERhdGEp
OgorICAgICAgICAgICAgUG9wdWxhdGUgYSBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50SW5p
dCBvYmplY3Qgd2l0aCB0aGUgdmFyaW91cworICAgICAgICAgICAgYml0cyBvZiBkYXRhIHRoYXQg
c2hvdWxkIGJlIHBhc3NlZCBpbnRvIHRoZSBldmVudCBjb25zdHJ1Y3Rvci4KKworICAgICAgICAg
ICAgVGhpcyBzdGF0aWMgbWV0aG9kIGlzIHN0cmljdGx5IGFuIGltcGxlbWVudGF0aW9uIGRldGFp
bDsgaXQncyBub3QKKyAgICAgICAgICAgIHBhcnQgb2YgQ29udGVudFNlY3VyaXR5UG9saWN5J3Mg
cHVibGljIEFQSS4KKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVw
b3J0VmlvbGF0aW9uKToKKyAgICAgICAgICAgIFJlZ2FyZGxlc3Mgb2Ygd2hldGhlciB0aGUgcG9s
aWN5IGhhcyBzZXQgYSAncmVwb3J0LXVyaScgZGlyZWN0aXZlCisgICAgICAgICAgICBvciBub3Qs
IGdhdGhlciB0b2dldGhlciBhbGwgdGhlIGRhdGEgd2UnbGwgbmVlZCB0byBmaXJlIGFuIGV2ZW50
LAorICAgICAgICAgICAgY3JlYXRlIHRoZSBldmVudCwgYW5kIHF1ZXVlIGl0IHVwIGZvciBkaXNw
YXRjaGluZyBvbiB0aGUgRG9jdW1lbnQuCisKIDIwMTMtMDMtMjAgIFJvYmVydCBIb2dhbiAgPHJv
YmVydEB3ZWJraXQub3JnPgogCiAgICAgICAgIEFic29sdXRlIHBvc2l0aW9uIGRpdiB3aXRob3V0
IHdpZHRoIHNwZWNpZmllZCBkb2VzIG5vdCByZWZsb3cgaXRzIHRleHQgd2hlbiBpdCBpcyBtb3Zl
ZCAoYW5kIGNvbXB1dGVkIHdpZHRoIGNoYW5nZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnRlbnRTZWN1cml0eVBvbGljeS5jcHAKaW5kZXggYjgxYTUxODc3NjJhOTU1N2Q1ZTRmMWI4NmU5
ODRkYWVkZDBiZTcyMC4uNDBkMDI5NmNiMzU5MTI2OGZjNDc4NDQ3N2U0ZjVkOTNkOWY5ZjRiMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcApAQCAt
NDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKICNpbmNs
dWRlICJTY3JpcHRTdGF0ZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCisjaW5jbHVk
ZSAiU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudC5oIgogI2luY2x1ZGUgIlRleHRFbmNvZGlu
Zy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFBv
c2l0aW9uLmg+CkBAIC0xNjcxLDEzICsxNjcyLDM1IEBAIHZvaWQgQ29udGVudFNlY3VyaXR5UG9s
aWN5OjplbmZvcmNlU2FuZGJveEZsYWdzKFNhbmRib3hGbGFncyBtYXNrKSBjb25zdAogICAgIG1f
c2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+ZW5mb3JjZVNhbmRib3hGbGFncyhtYXNrKTsKIH0KIAor
I2lmIEVOQUJMRShDU1BfTkVYVCkKK3N0YXRpYyB2b2lkIGdhdGhlclNlY3VyaXR5UG9saWN5Vmlv
bGF0aW9uRXZlbnREYXRhKFNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnRJbml0JiBpbml0LCBE
b2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgZGlyZWN0aXZlVGV4dCwgY29uc3QgU3Ry
aW5nJiBlZmZlY3RpdmVEaXJlY3RpdmUsIGNvbnN0IEtVUkwmIGJsb2NrZWRVUkwsIGNvbnN0IFN0
cmluZyYgaGVhZGVyKQoreworICAgIGluaXQuZG9jdW1lbnRVUkkgPSBkb2N1bWVudC0+dXJsKCku
c3RyaW5nKCk7CisgICAgaW5pdC5yZWZlcnJlciA9IGRvY3VtZW50LT5yZWZlcnJlcigpOworICAg
IGluaXQuYmxvY2tlZFVSSSA9IGJsb2NrZWRVUkwuaXNWYWxpZCgpID8gYmxvY2tlZFVSTC5zdHJp
bmcoKSA6IFN0cmluZygpOworICAgIGluaXQudmlvbGF0ZWREaXJlY3RpdmUgPSBkaXJlY3RpdmVU
ZXh0OworICAgIGluaXQuZWZmZWN0aXZlRGlyZWN0aXZlID0gZWZmZWN0aXZlRGlyZWN0aXZlOwor
ICAgIGluaXQub3JpZ2luYWxQb2xpY3kgPSBoZWFkZXI7CisgICAgaW5pdC5zb3VyY2VVUkwgPSBT
dHJpbmcoKTsKKyAgICBpbml0LmxpbmVOdW1iZXIgPSAwOworCisgICAgUmVmUHRyPFNjcmlwdENh
bGxTdGFjaz4gc3RhY2sgPSBjcmVhdGVTY3JpcHRDYWxsU3RhY2soMiwgZmFsc2UpOworICAgIGlm
IChzdGFjaykgeworICAgICAgICBjb25zdCBTY3JpcHRDYWxsRnJhbWUmIGNhbGxGcmFtZSA9IGdl
dEZpcnN0Tm9uTmF0aXZlRnJhbWUoc3RhY2spOworCisgICAgICAgIGlmIChjYWxsRnJhbWUubGlu
ZU51bWJlcigpKSB7CisgICAgICAgICAgICBLVVJMIHNvdXJjZSA9IEtVUkwoS1VSTCgpLCBjYWxs
RnJhbWUuc291cmNlVVJMKCkpOworICAgICAgICAgICAgaW5pdC5zb3VyY2VVUkwgPSBzb3VyY2Uu
c3RyaW5nKCk7CisgICAgICAgICAgICBpbml0LmxpbmVOdW1iZXIgPSBjYWxsRnJhbWUubGluZU51
bWJlcigpOworICAgICAgICB9CisgICAgfQorfQorI2VuZGlmCisKIHZvaWQgQ29udGVudFNlY3Vy
aXR5UG9saWN5OjpyZXBvcnRWaW9sYXRpb24oY29uc3QgU3RyaW5nJiBkaXJlY3RpdmVUZXh0LCBj
b25zdCBTdHJpbmcmIGVmZmVjdGl2ZURpcmVjdGl2ZSwgY29uc3QgU3RyaW5nJiBjb25zb2xlTWVz
c2FnZSwgY29uc3QgS1VSTCYgYmxvY2tlZFVSTCwgY29uc3QgVmVjdG9yPEtVUkw+JiByZXBvcnRV
UklzLCBjb25zdCBTdHJpbmcmIGhlYWRlciwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25z
dCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lLCBTY3JpcHRTdGF0ZSogc3RhdGUpIGNv
bnN0CiB7CiAgICAgbG9nVG9Db25zb2xlKGNvbnNvbGVNZXNzYWdlLCBjb250ZXh0VVJMLCBjb250
ZXh0TGluZSwgc3RhdGUpOwogCi0gICAgaWYgKHJlcG9ydFVSSXMuaXNFbXB0eSgpKQotICAgICAg
ICByZXR1cm47Ci0KICAgICAvLyBGSVhNRTogU3VwcG9ydCBzZW5kaW5nIHJlcG9ydHMgZnJvbSB3
b3JrZXIuCiAgICAgaWYgKCFtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmlzRG9jdW1lbnQoKSkK
ICAgICAgICAgcmV0dXJuOwpAQCAtMTY4Nyw2ICsxNzEwLDE4IEBAIHZvaWQgQ29udGVudFNlY3Vy
aXR5UG9saWN5OjpyZXBvcnRWaW9sYXRpb24oY29uc3QgU3RyaW5nJiBkaXJlY3RpdmVUZXh0LCBj
b25zdCBTCiAgICAgaWYgKCFmcmFtZSkKICAgICAgICAgcmV0dXJuOwogCisjaWYgRU5BQkxFKENT
UF9ORVhUKQorICAgIGlmIChleHBlcmltZW50YWxGZWF0dXJlc0VuYWJsZWQoKSkgeworICAgICAg
ICAvLyBGSVhNRTogVGhpcyBjb2RlIG1lYW5zIHRoYXQgd2UncmUgZ2F0aGVyaW5nIGluZm9ybWF0
aW9uIGxpa2UgbGluZSBudW1iZXJzIHR3aWNlLiBPbmNlIHdlIGNhbiBicmluZyB0aGlzIG91dCBm
cm9tIGJlaGluZCB0aGUgZmxhZywgd2Ugc2hvdWxkIHJldXNlIHRoZSBkYXRhIGdhdGhlcmVkIGhl
cmUgd2hlbiBnZW5lcmF0aW5nIHRoZSBKU09OIHJlcG9ydCBiZWxvdy4KKyAgICAgICAgU2VjdXJp
dHlQb2xpY3lWaW9sYXRpb25FdmVudEluaXQgaW5pdDsKKyAgICAgICAgZ2F0aGVyU2VjdXJpdHlQ
b2xpY3lWaW9sYXRpb25FdmVudERhdGEoaW5pdCwgZG9jdW1lbnQsIGRpcmVjdGl2ZVRleHQsIGVm
ZmVjdGl2ZURpcmVjdGl2ZSwgYmxvY2tlZFVSTCwgaGVhZGVyKTsKKyAgICAgICAgZG9jdW1lbnQt
PmVucXVldWVEb2N1bWVudEV2ZW50KFNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQ6OmNyZWF0
ZShldmVudE5hbWVzKCkuc2VjdXJpdHlwb2xpY3l2aW9sYXRpb25FdmVudCwgaW5pdCkpOworICAg
IH0KKyNlbmRpZgorCisgICAgaWYgKHJlcG9ydFVSSXMuaXNFbXB0eSgpKQorICAgICAgICByZXR1
cm47CisKICAgICAvLyBXZSBuZWVkIHRvIGJlIGNhcmVmdWwgaGVyZSB3aGVuIGRlY2lkaW5nIHdo
YXQgaW5mb3JtYXRpb24gdG8gc2VuZCB0byB0aGUKICAgICAvLyByZXBvcnQtdXJpLiBDdXJyZW50
bHksIHdlIHNlbmQgb25seSB0aGUgY3VycmVudCBkb2N1bWVudCdzIFVSTCBhbmQgdGhlCiAgICAg
Ly8gZGlyZWN0aXZlIHRoYXQgd2FzIHZpb2xhdGVkLiBUaGUgZG9jdW1lbnQncyBVUkwgaXMgc2Fm
ZSB0byBzZW5kIGJlY2F1c2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4ZTQyMGVlYmEwYjRmMTU5ODc3NjI2Y2JmMDc4OTE2
NTZkM2QwYjU4Li5lNTQxNjM2ZjYzYTllYzBiYWY1MWJjY2I2MzI0NTkxYzQ0YmRlMmFhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMDMtMjAgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9taXVt
Lm9yZz4KKworICAgICAgICBDU1AgMS4xOiBGaXJlIGEgU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25F
dmVudCB3aGVuIHZpb2xhdGlvbnMgb2NjdXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI3ODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeXZpb2xhdGlvbi1ibG9jay1pbWFnZS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeXZpb2xhdGlvbi1ibG9jay1pbWFnZS5odG1sOiBBZGRl
ZC4KKwogMjAxMy0wMy0yMCAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgQWJzb2x1dGUgcG9zaXRpb24gZGl2IHdpdGhvdXQgd2lkdGggc3BlY2lmaWVkIGRvZXMg
bm90IHJlZmxvdyBpdHMgdGV4dCB3aGVuIGl0IGlzIG1vdmVkIChhbmQgY29tcHV0ZWQgd2lkdGgg
Y2hhbmdlcykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeXZpb2xhdGlvbi1ibG9jay1pbWFn
ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3l2aW9sYXRpb24tYmxvY2staW1hZ2UtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlYmIwZmExNTI4MmRkZWZkN2FmZmNmMDUwNTE0YzhhOGE0
OWUxNDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5
L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3l2aW9sYXRpb24tYmxvY2st
aW1hZ2UtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTkgQEAKK0NPTlNPTEUgTUVTU0FHRTogUmVm
dXNlZCB0byBsb2FkIHRoZSBpbWFnZSAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jl
c291cmNlcy9hYmUucG5nJyBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29udGVu
dCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAiaW1nLXNyYyAnbm9uZSciLgorCitDaGVjayB0
aGF0IGEgU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudCBpcyBmaXJlZCB1cG9uIGJsb2NraW5n
IGFuIGltYWdlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB3aW5kb3cu
ZS5kb2N1bWVudFVSSSBpcyAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3l2aW9sYXRpb24tYmxvY2staW1hZ2UuaHRt
bCIKK1BBU1Mgd2luZG93LmUucmVmZXJyZXIgaXMgIiIKK1BBU1Mgd2luZG93LmUuYmxvY2tlZFVS
SSBpcyAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9hYmUucG5nIgor
UEFTUyB3aW5kb3cuZS52aW9sYXRlZERpcmVjdGl2ZSBpcyAiaW1nLXNyYyAnbm9uZSciCitQQVNT
IHdpbmRvdy5lLmVmZmVjdGl2ZURpcmVjdGl2ZSBpcyAiaW1nLXNyYyIKK1BBU1Mgd2luZG93LmUu
b3JpZ2luYWxQb2xpY3kgaXMgImltZy1zcmMgJ25vbmUnIgorUEFTUyB3aW5kb3cuZS5zb3VyY2VV
UkwgaXMgImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xp
Y3kvMS4xL3NlY3VyaXR5cG9saWN5dmlvbGF0aW9uLWJsb2NrLWltYWdlLmh0bWwiCitQQVNTIHdp
bmRvdy5lLmxpbmVOdW1iZXIgaXMgMzAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3l2aW9sYXRpb24t
YmxvY2staW1hZ2UuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeXZpb2xhdGlvbi1ibG9jay1pbWFnZS5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjJmOWJhN2IzOGU4YzJkNThhNGU5MzUxZDJmNjNkMDc1NTA0ZjQ5MDUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3l2aW9sYXRpb24tYmxvY2staW1hZ2Uu
aHRtbApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cisg
ICAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1TZWN1cml0eS1Qb2xpY3kiIGNvbnRlbnQ9Imlt
Zy1zcmMgJ25vbmUnIj4KKyAgICA8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgICBkZXNjcmlwdGlvbign
Q2hlY2sgdGhhdCBhIFNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQgaXMgZmlyZWQgdXBvbiBi
bG9ja2luZyBhbiBpbWFnZS4nKTsKKworICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRy
dWU7CisKKyAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2VjdXJpdHlwb2xpY3l2
aW9sYXRpb24nLCBmdW5jdGlvbiBoYW5kbGVFdmVudChlKSB7CisgICAgICAgICAgICB2YXIgZXhw
ZWN0YXRpb25zID0geworICAgICAgICAgICAgICAgICdkb2N1bWVudFVSSSc6IGRvY3VtZW50Lmxv
Y2F0aW9uLnRvU3RyaW5nKCksCisgICAgICAgICAgICAgICAgJ3JlZmVycmVyJzogZG9jdW1lbnQu
cmVmZXJyZXIsCisgICAgICAgICAgICAgICAgJ2Jsb2NrZWRVUkknOiAnaHR0cDovLzEyNy4wLjAu
MTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9hYmUucG5nJywKKyAgICAgICAgICAgICAgICAndmlv
bGF0ZWREaXJlY3RpdmUnOiAnaW1nLXNyYyBcJ25vbmVcJycsCisgICAgICAgICAgICAgICAgJ2Vm
ZmVjdGl2ZURpcmVjdGl2ZSc6ICdpbWctc3JjJywKKyAgICAgICAgICAgICAgICAnb3JpZ2luYWxQ
b2xpY3knOiAnaW1nLXNyYyBcJ25vbmVcJycsCisgICAgICAgICAgICAgICAgJ3NvdXJjZVVSTCc6
IGRvY3VtZW50LmxvY2F0aW9uLnRvU3RyaW5nKCksCisgICAgICAgICAgICAgICAgJ2xpbmVOdW1i
ZXInOiAzMAorICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIHdpbmRvdy5lID0gZTsKKyAgICAg
ICAgICAgIGZvciAoa2V5IGluIGV4cGVjdGF0aW9ucykKKyAgICAgICAgICAgICAgICBzaG91bGRC
ZSgnd2luZG93LmUuJyArIGtleSwgSlNPTi5zdHJpbmdpZnkoZXhwZWN0YXRpb25zW2tleV0pKTsK
KyAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICB9KTsKKworICAgICAgICB3aW5k
b3cub25sb2FkID0gZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgdmFyIGltZyA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOworICAgICAgICAgICAgaW1nLnNyYyA9ICcvc2VjdXJpdHkv
cmVzb3VyY2VzL2FiZS5wbmcnOworICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChpbWcpOworICAgICAgICB9OworICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIvanMt
dGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194328</attachid>
            <date>2013-03-21 14:00:41 -0700</date>
            <delta_ts>2013-03-21 14:28:01 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-112783-20130321215627.patch</filename>
            <type>text/plain</type>
            <size>9860</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NDk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjlhY2NjZTI1MzZiZTRj
ZmVmNzRhZmVlN2JmN2I1ODFhYTlhZjc3MS4uNjk3NWY5ZDYxZGQzOTRlNThjZmEzZWY3NjBkYzc1
NWM5MGZmMDY2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEzLTAzLTIxICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NQIDEuMTogRmlyZSBhIFNl
Y3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnQgd2hlbiB2aW9sYXRpb25zIG9jY3VyLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyNzgzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBBIG5ldyBldmVudCB0eXBlIGZv
ciBDb250ZW50IFNlY3VyaXR5IFBvbGljeSB2aW9sYXRpb25zIGxhbmRlZCBpbgorICAgICAgICBo
dHRwOi8vd2tyZXYuY29tLzE0NjMwNTsgdGhpcyBwYXRjaCB0YWtlcyB0aGF0IHN0dWIsIGFuZCB3
aXJlcyBpdCB1cCB0bworICAgICAgICBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9ydFZpb2xh
dGlvbiBzdWNoIHRoYXQgdmlvbGF0aW9uIGV2ZW50cyBmaXJlCisgICAgICAgIHdoZW4gcmVzb3Vy
Y2VzIGFyZSBibG9ja2VkLgorCisgICAgICAgIFRoaXMgc2hvdWxkIGJyaW5nIFdlYktpdCB1cCB0
byBkYXRlIHdpdGggdGhlIGN1cnJlbnQgZGVzY3JpcHRpb24gb2YKKyAgICAgICAgQ1NQJ3MgZXZl
bnQgbW9kZWwgaW4gc2VjdGlvbnMgMy4zWzFdIGFuZCAzLjQuMS4zWzJdIG9mIHRoZSBlZGl0b3In
cworICAgICAgICBkcmFmdC4KKworICAgICAgICBbMV06IGh0dHBzOi8vZHZjcy53My5vcmcvaGcv
Y29udGVudC1zZWN1cml0eS1wb2xpY3kvcmF3LWZpbGUvdGlwL2NzcC1zcGVjaWZpY2F0aW9uLmRl
di5odG1sI3Byb2Nlc3NpbmctbW9kZWwKKyAgICAgICAgWzJdOiBodHRwczovL2R2Y3MudzMub3Jn
L2hnL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3Jhdy1maWxlL3RpcC9jc3Atc3BlY2lmaWNhdGlv
bi5kZXYuaHRtbCNmaXJpbmctZXZlbnRzLXVzaW5nLXRoZS1zZWN1cml0eXBvbGljeXZpb2xhdGlv
bmV2ZW50LWludGVyZmFjZQorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5LzEuMS9zZWN1cml0eXBvbGljeXZpb2xhdGlvbi1ibG9jay1pbWFn
ZS5odG1sCisKKyAgICAgICAgKiBwYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpnYXRoZXJTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50RGF0YSk6Cisg
ICAgICAgICAgICBQb3B1bGF0ZSBhIFNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnRJbml0IG9i
amVjdCB3aXRoIHRoZSB2YXJpb3VzCisgICAgICAgICAgICBiaXRzIG9mIGRhdGEgdGhhdCBzaG91
bGQgYmUgcGFzc2VkIGludG8gdGhlIGV2ZW50IGNvbnN0cnVjdG9yLgorCisgICAgICAgICAgICBU
aGlzIHN0YXRpYyBtZXRob2QgaXMgc3RyaWN0bHkgYW4gaW1wbGVtZW50YXRpb24gZGV0YWlsOyBp
dCdzIG5vdAorICAgICAgICAgICAgcGFydCBvZiBDb250ZW50U2VjdXJpdHlQb2xpY3kncyBwdWJs
aWMgQVBJLgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjpyZXBvcnRW
aW9sYXRpb24pOgorICAgICAgICAgICAgUmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwb2xpY3kg
aGFzIHNldCBhICdyZXBvcnQtdXJpJyBkaXJlY3RpdmUKKyAgICAgICAgICAgIG9yIG5vdCwgZ2F0
aGVyIHRvZ2V0aGVyIGFsbCB0aGUgZGF0YSB3ZSdsbCBuZWVkIHRvIGZpcmUgYW4gZXZlbnQsCisg
ICAgICAgICAgICBjcmVhdGUgdGhlIGV2ZW50LCBhbmQgcXVldWUgaXQgdXAgZm9yIGRpc3BhdGNo
aW5nIG9uIHRoZSBEb2N1bWVudC4KKwogMjAxMy0wMy0yMSAgQWxleGVpIEZpbGlwcG92ICA8YWxw
aEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogSGlkZSB0b29sYmFyIGN1
c3RvbWl6YXRpb24gZXhwZXJpbWVudGFsIHNldHRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q29udGVudFNlY3VyaXR5UG9saWN5LmNwcAppbmRleCBiODFhNTE4Nzc2MmE5NTU3ZDVlNGYxYjg2
ZTk4NGRhZWRkMGJlNzIwLi5jOWNkNDA2Yzg4MDQwN2YzN2NkYWFiMzQ5NzJhNjU0Y2I0MWJmY2Q0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCkBA
IC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgogI2lu
Y2x1ZGUgIlNjcmlwdFN0YXRlLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKKyNpbmNs
dWRlICJTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiVGV4dEVuY29k
aW5nLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0
UG9zaXRpb24uaD4KQEAgLTE2NzEsMTMgKzE2NzIsMzYgQEAgdm9pZCBDb250ZW50U2VjdXJpdHlQ
b2xpY3k6OmVuZm9yY2VTYW5kYm94RmxhZ3MoU2FuZGJveEZsYWdzIG1hc2spIGNvbnN0CiAgICAg
bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5lbmZvcmNlU2FuZGJveEZsYWdzKG1hc2spOwogfQog
Ci12b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0VmlvbGF0aW9uKGNvbnN0IFN0cmlu
ZyYgZGlyZWN0aXZlVGV4dCwgY29uc3QgU3RyaW5nJiBlZmZlY3RpdmVEaXJlY3RpdmUsIGNvbnN0
IFN0cmluZyYgY29uc29sZU1lc3NhZ2UsIGNvbnN0IEtVUkwmIGJsb2NrZWRVUkwsIGNvbnN0IFZl
Y3RvcjxLVVJMPiYgcmVwb3J0VVJJcywgY29uc3QgU3RyaW5nJiBoZWFkZXIsIGNvbnN0IFN0cmlu
ZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgU2Ny
aXB0U3RhdGUqIHN0YXRlKSBjb25zdAorI2lmIEVOQUJMRShDU1BfTkVYVCkKK3N0YXRpYyB2b2lk
IGdhdGhlclNlY3VyaXR5UG9saWN5VmlvbGF0aW9uRXZlbnREYXRhKFNlY3VyaXR5UG9saWN5Vmlv
bGF0aW9uRXZlbnRJbml0JiBpbml0LCBEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYg
ZGlyZWN0aXZlVGV4dCwgY29uc3QgU3RyaW5nJiBlZmZlY3RpdmVEaXJlY3RpdmUsIGNvbnN0IEtV
UkwmIGJsb2NrZWRVUkwsIGNvbnN0IFN0cmluZyYgaGVhZGVyKQogewotICAgIGxvZ1RvQ29uc29s
ZShjb25zb2xlTWVzc2FnZSwgY29udGV4dFVSTCwgY29udGV4dExpbmUsIHN0YXRlKTsKKyAgICBp
bml0LmRvY3VtZW50VVJJID0gZG9jdW1lbnQtPnVybCgpLnN0cmluZygpOworICAgIGluaXQucmVm
ZXJyZXIgPSBkb2N1bWVudC0+cmVmZXJyZXIoKTsKKyAgICBpbml0LmJsb2NrZWRVUkkgPSBibG9j
a2VkVVJMLmlzVmFsaWQoKSA/IGJsb2NrZWRVUkwuc3RyaW5nKCkgOiBTdHJpbmcoKTsKKyAgICBp
bml0LnZpb2xhdGVkRGlyZWN0aXZlID0gZGlyZWN0aXZlVGV4dDsKKyAgICBpbml0LmVmZmVjdGl2
ZURpcmVjdGl2ZSA9IGVmZmVjdGl2ZURpcmVjdGl2ZTsKKyAgICBpbml0Lm9yaWdpbmFsUG9saWN5
ID0gaGVhZGVyOworICAgIGluaXQuc291cmNlVVJMID0gU3RyaW5nKCk7CisgICAgaW5pdC5saW5l
TnVtYmVyID0gMDsKIAotICAgIGlmIChyZXBvcnRVUklzLmlzRW1wdHkoKSkKKyAgICBSZWZQdHI8
U2NyaXB0Q2FsbFN0YWNrPiBzdGFjayA9IGNyZWF0ZVNjcmlwdENhbGxTdGFjaygyLCBmYWxzZSk7
CisgICAgaWYgKCFzdGFjaykKICAgICAgICAgcmV0dXJuOwogCisgICAgY29uc3QgU2NyaXB0Q2Fs
bEZyYW1lJiBjYWxsRnJhbWUgPSBnZXRGaXJzdE5vbk5hdGl2ZUZyYW1lKHN0YWNrKTsKKworICAg
IGlmIChjYWxsRnJhbWUubGluZU51bWJlcigpKSB7CisgICAgICAgIEtVUkwgc291cmNlID0gS1VS
TChLVVJMKCksIGNhbGxGcmFtZS5zb3VyY2VVUkwoKSk7CisgICAgICAgIGluaXQuc291cmNlVVJM
ID0gc291cmNlLnN0cmluZygpOworICAgICAgICBpbml0LmxpbmVOdW1iZXIgPSBjYWxsRnJhbWUu
bGluZU51bWJlcigpOworICAgIH0KK30KKyNlbmRpZgorCit2b2lkIENvbnRlbnRTZWN1cml0eVBv
bGljeTo6cmVwb3J0VmlvbGF0aW9uKGNvbnN0IFN0cmluZyYgZGlyZWN0aXZlVGV4dCwgY29uc3Qg
U3RyaW5nJiBlZmZlY3RpdmVEaXJlY3RpdmUsIGNvbnN0IFN0cmluZyYgY29uc29sZU1lc3NhZ2Us
IGNvbnN0IEtVUkwmIGJsb2NrZWRVUkwsIGNvbnN0IFZlY3RvcjxLVVJMPiYgcmVwb3J0VVJJcywg
Y29uc3QgU3RyaW5nJiBoZWFkZXIsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RG
OjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgU2NyaXB0U3RhdGUqIHN0YXRlKSBjb25zdAor
eworICAgIGxvZ1RvQ29uc29sZShjb25zb2xlTWVzc2FnZSwgY29udGV4dFVSTCwgY29udGV4dExp
bmUsIHN0YXRlKTsKKwogICAgIC8vIEZJWE1FOiBTdXBwb3J0IHNlbmRpbmcgcmVwb3J0cyBmcm9t
IHdvcmtlci4KICAgICBpZiAoIW1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+aXNEb2N1bWVudCgp
KQogICAgICAgICByZXR1cm47CkBAIC0xNjg3LDYgKzE3MTEsMTggQEAgdm9pZCBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OnJlcG9ydFZpb2xhdGlvbihjb25zdCBTdHJpbmcmIGRpcmVjdGl2ZVRleHQs
IGNvbnN0IFMKICAgICBpZiAoIWZyYW1lKQogICAgICAgICByZXR1cm47CiAKKyNpZiBFTkFCTEUo
Q1NQX05FWFQpCisgICAgaWYgKGV4cGVyaW1lbnRhbEZlYXR1cmVzRW5hYmxlZCgpKSB7CisgICAg
ICAgIC8vIEZJWE1FOiBUaGlzIGNvZGUgbWVhbnMgdGhhdCB3ZSdyZSBnYXRoZXJpbmcgaW5mb3Jt
YXRpb24gbGlrZSBsaW5lIG51bWJlcnMgdHdpY2UuIE9uY2Ugd2UgY2FuIGJyaW5nIHRoaXMgb3V0
IGZyb20gYmVoaW5kIHRoZSBmbGFnLCB3ZSBzaG91bGQgcmV1c2UgdGhlIGRhdGEgZ2F0aGVyZWQg
aGVyZSB3aGVuIGdlbmVyYXRpbmcgdGhlIEpTT04gcmVwb3J0IGJlbG93LgorICAgICAgICBTZWN1
cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50SW5pdCBpbml0OworICAgICAgICBnYXRoZXJTZWN1cml0
eVBvbGljeVZpb2xhdGlvbkV2ZW50RGF0YShpbml0LCBkb2N1bWVudCwgZGlyZWN0aXZlVGV4dCwg
ZWZmZWN0aXZlRGlyZWN0aXZlLCBibG9ja2VkVVJMLCBoZWFkZXIpOworICAgICAgICBkb2N1bWVu
dC0+ZW5xdWV1ZURvY3VtZW50RXZlbnQoU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudDo6Y3Jl
YXRlKGV2ZW50TmFtZXMoKS5zZWN1cml0eXBvbGljeXZpb2xhdGlvbkV2ZW50LCBpbml0KSk7Cisg
ICAgfQorI2VuZGlmCisKKyAgICBpZiAocmVwb3J0VVJJcy5pc0VtcHR5KCkpCisgICAgICAgIHJl
dHVybjsKKwogICAgIC8vIFdlIG5lZWQgdG8gYmUgY2FyZWZ1bCBoZXJlIHdoZW4gZGVjaWRpbmcg
d2hhdCBpbmZvcm1hdGlvbiB0byBzZW5kIHRvIHRoZQogICAgIC8vIHJlcG9ydC11cmkuIEN1cnJl
bnRseSwgd2Ugc2VuZCBvbmx5IHRoZSBjdXJyZW50IGRvY3VtZW50J3MgVVJMIGFuZCB0aGUKICAg
ICAvLyBkaXJlY3RpdmUgdGhhdCB3YXMgdmlvbGF0ZWQuIFRoZSBkb2N1bWVudCdzIFVSTCBpcyBz
YWZlIHRvIHNlbmQgYmVjYXVzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDFjYWJjYWJhODUxMjFhNTdlODYxOTBlYzBkNjM4
NTdiZjhlMGU3OWQuLjlhZDlmZjFmY2FmMTc4ODYxOWQ3NjJiMTNhMzk0MTlhMmViYWU5OTMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMy0wMy0yMSAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIENTUCAxLjE6IEZpcmUgYSBTZWN1cml0eVBvbGljeVZpb2xhdGlv
bkV2ZW50IHdoZW4gdmlvbGF0aW9ucyBvY2N1ci4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjc4MworCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0g
QmFydGguCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS8xLjEvc2VjdXJpdHlwb2xpY3l2aW9sYXRpb24tYmxvY2staW1hZ2UtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS8xLjEvc2VjdXJpdHlwb2xpY3l2aW9sYXRpb24tYmxvY2staW1hZ2UuaHRtbDogQWRkZWQu
CisKIDIwMTMtMDMtMjEgIFN0ZXBoZW4gV2hpdGUgIDxzZW5vcmJsYW5jb0BjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgW0Nocm9taXVtXSBVbnJldmlld2VkIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEu
MS9zZWN1cml0eXBvbGljeXZpb2xhdGlvbi1ibG9jay1pbWFnZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2Vj
dXJpdHlwb2xpY3l2aW9sYXRpb24tYmxvY2staW1hZ2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjhlYmIwZmExNTI4MmRkZWZkN2FmZmNmMDUwNTE0YzhhOGE0OWUxNDQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS8xLjEvc2VjdXJpdHlwb2xpY3l2aW9sYXRpb24tYmxvY2staW1hZ2UtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTkgQEAKK0NPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBsb2FkIHRoZSBpbWFn
ZSAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9hYmUucG5nJyBiZWNh
dXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGly
ZWN0aXZlOiAiaW1nLXNyYyAnbm9uZSciLgorCitDaGVjayB0aGF0IGEgU2VjdXJpdHlQb2xpY3lW
aW9sYXRpb25FdmVudCBpcyBmaXJlZCB1cG9uIGJsb2NraW5nIGFuIGltYWdlLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyB3aW5kb3cuZS5kb2N1bWVudFVSSSBpcyAiaHR0
cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEvc2Vj
dXJpdHlwb2xpY3l2aW9sYXRpb24tYmxvY2staW1hZ2UuaHRtbCIKK1BBU1Mgd2luZG93LmUucmVm
ZXJyZXIgaXMgIiIKK1BBU1Mgd2luZG93LmUuYmxvY2tlZFVSSSBpcyAiaHR0cDovLzEyNy4wLjAu
MTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9hYmUucG5nIgorUEFTUyB3aW5kb3cuZS52aW9sYXRl
ZERpcmVjdGl2ZSBpcyAiaW1nLXNyYyAnbm9uZSciCitQQVNTIHdpbmRvdy5lLmVmZmVjdGl2ZURp
cmVjdGl2ZSBpcyAiaW1nLXNyYyIKK1BBU1Mgd2luZG93LmUub3JpZ2luYWxQb2xpY3kgaXMgImlt
Zy1zcmMgJ25vbmUnIgorUEFTUyB3aW5kb3cuZS5zb3VyY2VVUkwgaXMgImh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NlY3VyaXR5cG9saWN5
dmlvbGF0aW9uLWJsb2NrLWltYWdlLmh0bWwiCitQQVNTIHdpbmRvdy5lLmxpbmVOdW1iZXIgaXMg
MzAKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS8xLjEvc2VjdXJpdHlwb2xpY3l2aW9sYXRpb24tYmxvY2staW1hZ2UuaHRtbCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5LzEuMS9z
ZWN1cml0eXBvbGljeXZpb2xhdGlvbi1ibG9jay1pbWFnZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJmOWJh
N2IzOGU4YzJkNThhNGU5MzUxZDJmNjNkMDc1NTA0ZjQ5MDUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS8xLjEv
c2VjdXJpdHlwb2xpY3l2aW9sYXRpb24tYmxvY2staW1hZ2UuaHRtbApAQCAtMCwwICsxLDM4IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPG1ldGEgaHR0cC1lcXVpdj0i
Q29udGVudC1TZWN1cml0eS1Qb2xpY3kiIGNvbnRlbnQ9ImltZy1zcmMgJ25vbmUnIj4KKyAgICA8
c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KyAgICA8c2NyaXB0PgorICAgICAgICBkZXNjcmlwdGlvbignQ2hlY2sgdGhhdCBhIFNlY3VyaXR5
UG9saWN5VmlvbGF0aW9uRXZlbnQgaXMgZmlyZWQgdXBvbiBibG9ja2luZyBhbiBpbWFnZS4nKTsK
KworICAgICAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKKyAgICAgICAgZG9jdW1l
bnQuYWRkRXZlbnRMaXN0ZW5lcignc2VjdXJpdHlwb2xpY3l2aW9sYXRpb24nLCBmdW5jdGlvbiBo
YW5kbGVFdmVudChlKSB7CisgICAgICAgICAgICB2YXIgZXhwZWN0YXRpb25zID0geworICAgICAg
ICAgICAgICAgICdkb2N1bWVudFVSSSc6IGRvY3VtZW50LmxvY2F0aW9uLnRvU3RyaW5nKCksCisg
ICAgICAgICAgICAgICAgJ3JlZmVycmVyJzogZG9jdW1lbnQucmVmZXJyZXIsCisgICAgICAgICAg
ICAgICAgJ2Jsb2NrZWRVUkknOiAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291
cmNlcy9hYmUucG5nJywKKyAgICAgICAgICAgICAgICAndmlvbGF0ZWREaXJlY3RpdmUnOiAnaW1n
LXNyYyBcJ25vbmVcJycsCisgICAgICAgICAgICAgICAgJ2VmZmVjdGl2ZURpcmVjdGl2ZSc6ICdp
bWctc3JjJywKKyAgICAgICAgICAgICAgICAnb3JpZ2luYWxQb2xpY3knOiAnaW1nLXNyYyBcJ25v
bmVcJycsCisgICAgICAgICAgICAgICAgJ3NvdXJjZVVSTCc6IGRvY3VtZW50LmxvY2F0aW9uLnRv
U3RyaW5nKCksCisgICAgICAgICAgICAgICAgJ2xpbmVOdW1iZXInOiAzMAorICAgICAgICAgICAg
fTsKKyAgICAgICAgICAgIHdpbmRvdy5lID0gZTsKKyAgICAgICAgICAgIGZvciAoa2V5IGluIGV4
cGVjdGF0aW9ucykKKyAgICAgICAgICAgICAgICBzaG91bGRCZSgnd2luZG93LmUuJyArIGtleSwg
SlNPTi5zdHJpbmdpZnkoZXhwZWN0YXRpb25zW2tleV0pKTsKKyAgICAgICAgICAgIGZpbmlzaEpT
VGVzdCgpOworICAgICAgICB9KTsKKworICAgICAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24g
KCkgeworICAgICAgICAgICAgdmFyIGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycp
OworICAgICAgICAgICAgaW1nLnNyYyA9ICcvc2VjdXJpdHkvcmVzb3VyY2VzL2FiZS5wbmcnOwor
ICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpbWcpOworICAgICAgICB9Owor
ICAgIDwvc2NyaXB0PgorICAgIDxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>