<?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>96061</bug_id>
          
          <creation_ts>2012-09-06 20:59:50 -0700</creation_ts>
          <short_desc>CSP parsing doesn&apos;t seem treat as invalid policies with a non-ASCII path</short_desc>
          <delta_ts>2012-09-10 05:31:20 -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>Page Loading</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>96263</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Boris Zbarsky">bzbarsky</reporter>
          <assigned_to name="Mike West">mkwst</assigned_to>
          <cc>abarth</cc>
    
    <cc>cdumez</cc>
    
    <cc>mike</cc>
    
    <cc>mkwst</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>714056</commentid>
    <comment_count>0</comment_count>
    <who name="Boris Zbarsky">bzbarsky</who>
    <bug_when>2012-09-06 20:59:50 -0700</bug_when>
    <thetext>I&apos;m looking at CSPSourceList::parsePath, which only returns false if the path is empty.  Otherwise it just snarfs up whatever chars it has.  At least as of rev 127815.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714131</commentid>
    <comment_count>1</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-06 22:47:00 -0700</bug_when>
    <thetext>Yup. This is an oversight on my part. I&apos;ll lock it down to VCHAR this afternoon and add a console warning pointing out the wonderous joys of percent-encoding.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714300</commentid>
    <comment_count>2</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-07 01:56:40 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Yup. This is an oversight on my part. I&apos;ll lock it down to VCHAR this afternoon and add a console warning pointing out the wonderous joys of percent-encoding.

As it turns out, we don&apos;t accept non-ASCII paths. Way up in CSPDirectiveList::parseDirective, we break out early if the whole directive value doesn&apos;t match isDirectiveValueCharacter, which already excludes non-VCHAR characters.

I&apos;ll add logging and a test here, but it looks like we&apos;re already safe by the time we get down to parsing the path.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714343</commentid>
    <comment_count>3</comment_count>
      <attachid>162726</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-07 03:12:40 -0700</bug_when>
    <thetext>Created attachment 162726
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714347</commentid>
    <comment_count>4</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-07 03:16:24 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Created an attachment (id=162726) [details]
&gt; Patch

This patch improves the current behavior.

I&apos;m not sure, however, that it&apos;s really the right answer. We might want to change the behavior here in a future patch to move the invalid-character check deeper into the stack. I&apos;d prefer, for example, that `script-src &apos;self&apos; ßßß;` not be ignored completely; ignoring only the invalid source would be more secure. WDYT, Adam?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714673</commentid>
    <comment_count>5</comment_count>
      <attachid>162726</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-09-07 10:18:26 -0700</bug_when>
    <thetext>Comment on attachment 162726
Patch

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

&gt; LayoutTests/http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii-expected.txt:9
&gt; +FAIL

FAIL?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714691</commentid>
    <comment_count>6</comment_count>
      <attachid>162807</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-07 10:28:58 -0700</bug_when>
    <thetext>Created attachment 162807
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714696</commentid>
    <comment_count>7</comment_count>
      <attachid>162726</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-07 10:30:44 -0700</bug_when>
    <thetext>Comment on attachment 162726
Patch

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

&gt;&gt; LayoutTests/http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii-expected.txt:9
&gt;&gt; +FAIL
&gt; 
&gt; FAIL?

Hrm. I screwed up the test expectations. :) They should be looking for the script to be loaded, not for it to be blocked. I&apos;ll fix it shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715908</commentid>
    <comment_count>8</comment_count>
      <attachid>162807</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-10 04:07:23 -0700</bug_when>
    <thetext>Comment on attachment 162807
Patch

Clearing flags on attachment: 162807

Committed r128042: &lt;http://trac.webkit.org/changeset/128042&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715909</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-10 04:07:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715936</commentid>
    <comment_count>10</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-09-10 04:56:55 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 162807 [details])
&gt; Clearing flags on attachment: 162807
&gt; 
&gt; Committed r128042: &lt;http://trac.webkit.org/changeset/128042&gt;

The new test fails on Qt, EFL and Mac:

--- /Volumes/Data/slave/lion-release-tests-wk1/build/layout-test-results/http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii-expected.txt
+++ /Volumes/Data/slave/lion-release-tests-wk1/build/layout-test-results/http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii-actual.txt
@@ -1,4 +1,4 @@
-CONSOLE MESSAGE: The value for Content Security Policy directive &apos;script-src&apos; contains an invalid character: &apos;127.0.0.1/ßisnotSorB/&apos;. Non-whitespace characters outside ASCII 0x21-0x7E must be percent-encoded, as described in RFC 3986, section 2.1: http://tools.ietf.org/html/rfc3986#section-2.1.
+CONSOLE MESSAGE: The value for Content Security Policy directive &apos;script-src&apos; contains an invalid character: &apos;127.0.0.1/ÃisnotSorB/&apos;. Non-whitespace characters outside ASCII 0x21-0x7E must be percent-encoded, as described in RFC 3986, section 2.1: http://tools.ietf.org/html/rfc3986#section-2.1.
 Sources containing non-ascii characters should be ignored, and should generate warnings.
 
 
http://build.webkit.org/results/EFL%20Linux%2064-bit%20Release/r128044%20%285276%29/http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii-diff.txt


--- /ramdisk/qt-linux-64-release/build/layout-test-results/http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii-expected.txt 
+++ /ramdisk/qt-linux-64-release/build/layout-test-results/http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii-actual.txt 
@@ -1,4 +1,4 @@
-CONSOLE MESSAGE: The value for Content Security Policy directive &apos;script-src&apos; contains an invalid character: &apos;127.0.0.1/ĂisnotSorB/&apos;. Non-whitespace characters outside ASCII 0x21-0x7E must be percent-encoded, as described in RFC 3986, section 2.1: http://tools.ietf.org/html/rfc3986#section-2.1.
+CONSOLE MESSAGE: The value for Content Security Policy directive &apos;script-src&apos; contains an invalid character: &apos;127.0.0.1/ĂÂisnotSorB/&apos;. Non-whitespace characters outside ASCII 0x21-0x7E must be percent-encoded, as described in RFC 3986, section 2.1: http://tools.ietf.org/html/rfc3986#section-2.1.
 Sources containing non-ascii characters should be ignored, and should generate warnings.
 
 
Are they results correct? Should we add platform specific expected files or is it possible to fix the test to get same results on all platform?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715946</commentid>
    <comment_count>11</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-10 05:10:55 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Are they results correct? Should we add platform specific expected files or is it possible to fix the test to get same results on all platform?

I&apos;ll ask around to see if there&apos;s a good way to ensure that encodings are the same across platforms, but for the moment I&apos;d suggest rebaselining the tests with platform-specific results. Can you help me with that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715959</commentid>
    <comment_count>12</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-09-10 05:22:47 -0700</bug_when>
    <thetext>FYI, the failure on EFL port is due to a bug in our DRT implementation.
It can be fixed as follows (I&apos;ll upload a patch soon):
diff --git a/Tools/DumpRenderTree/efl/DumpRenderTreeView.cpp b/Tools/DumpRenderTree/efl/DumpRenderTreeView.cpp
index f801c3c..ee0d615 100644
--- a/Tools/DumpRenderTree/efl/DumpRenderTreeView.cpp
+++ b/Tools/DumpRenderTree/efl/DumpRenderTreeView.cpp
@@ -58,7 +58,7 @@ static WTF::String urlSuitableForTestResult(const WTF::String&amp; uriString)
 static void onConsoleMessage(Ewk_View_Smart_Data*, const char* message, unsigned int lineNumber, const char*)
 {
     // Tests expect only the filename part of local URIs
-    WTF::String newMessage = message;
+    WTF::String newMessage = WTF::String::fromUTF8(message);
     if (!newMessage.isEmpty()) {
         const size_t fileProtocol = newMessage.find(&quot;file://&quot;);
         if (fileProtocol != WTF::notFound)

It is possible other ports have similar problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715964</commentid>
    <comment_count>13</comment_count>
      <attachid>162807</attachid>
    <who name="">jochen</who>
    <bug_when>2012-09-10 05:31:20 -0700</bug_when>
    <thetext>Comment on attachment 162807
Patch

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

&gt; Source/WebCore/page/ContentSecurityPolicy.cpp:1511
&gt; +    String message = makeString(&quot;The value for Content Security Policy directive &apos;&quot;, directiveName, &quot;&apos; contains an invalid character: &apos;&quot;, value, &quot;&apos;. Non-whitespace characters outside ASCII 0x21-0x7E must be percent-encoded, as described in RFC 3986, section 2.1: http://tools.ietf.org/html/rfc3986#section-2.1.&quot;);

Should &quot;value&quot; be encoded as utf8 (with error handling), or should the console be able to cope with raw 8bit data?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162726</attachid>
            <date>2012-09-07 03:12:40 -0700</date>
            <delta_ts>2012-09-07 10:30:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96061-20120907121220.patch</filename>
            <type>text/plain</type>
            <size>10229</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3ODM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjQ0YmU4MjQ0MmE5MjIy
ZDNlZmJlMGFiYWQyZDBmODhiODM2YTAyYy4uYTY3ODM4Yjk3MDBkY2NiNDY0MzU0NzIxZjExOThh
YjdmNjFiYjE1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA5LTA3ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2FybiBhdXRob3JzIGFib3V0
IENTUCBkaXJlY3RpdmVzIGlnbm9yZWQgZHVlIHRvIG5vbi1BU0NJSSB2YWx1ZXMuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjA2MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENTUCBkZWZpbmVzIGRpcmVj
dGl2ZSB2YWx1ZXMgYXMgVkNIQVIgbWludXMgJzsnIGFuZCAnLCcuIEN1cnJlbnRseSwgd2UKKyAg
ICAgICAgaWdub3JlIHRoZXNlIGRpcmVjdGl2ZXMgY29tcGxldGVseSBpbiBDU1BEaXJlY3RpdmVM
aXN0OjpwYXJzZURpcmVjdGl2ZSwKKyAgICAgICAgYnV0IHdlIGRvbid0IHdhcm4gYXV0aG9ycy4g
V2Ugb3VnaHQgdG8gc2V0IHRoZWlyIGV4cGVjdGF0aW9ucyBjb3JyZWN0bHksCisgICAgICAgIGFu
ZCBoZWxwIHRoZW0gZml4IGlzc3VlcyBpbiB0aGVpciBwb2xpY3kuCisKKyAgICAgICAgVGhpcyBw
YXRjaCBhZGRzIGEgY29uc29sZSB3YXJuaW5nIGZvciBkaXJlY3RpdmVzIHRoYXQgYXJlIGlnbm9y
ZWQsIGFuZAorICAgICAgICBwb2ludHMgYXV0aG9ycyB0byB0aGUgd29uZGVyZnVsIHdvcmxkIG9m
IHBlcmNlbnQtZW5jb2RpbmcgZm9yIHNpdHVhdGlvbnMKKyAgICAgICAgd2hlcmUgaGlnaC1BU0NJ
SSBvciBVbmljb2RlIChvciB3aGF0ZXZlcikgY2hhcmFjdGVycyBhcmUgcmVxdWlyZWQuCisKKyAg
ICAgICAgVGVzdDogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc291
cmNlLWxpc3QtcGFyc2luZy1ub25hc2NpaS5odG1sCisKKyAgICAgICAgKiBwYWdlL0NvbnRlbnRT
ZWN1cml0eVBvbGljeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0Ojpw
YXJzZURpcmVjdGl2ZSk6CisgICAgICAgICAgICBDYWxsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6
cmVwb3J0SW52YWxpZERpcmVjdGl2ZVZhbHVlQ2hhcmFjdGVyIGluCisgICAgICAgICAgICBvcmRl
ciB0byByZXBvcnQgaWdub3JlZCBkaXJlY3RpdmVzLgorICAgICAgICAoV2ViQ29yZTo6Q29udGVu
dFNlY3VyaXR5UG9saWN5OjpyZXBvcnRJbnZhbGlkRGlyZWN0aXZlVmFsdWVDaGFyYWN0ZXIpOgor
ICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3ku
aDoKKyAgICAgICAgICAgIEFkZCBuZXcgZXJyb3IgbWVzc2FnZS4KKwogMjAxMi0wOS0wNiAgUGF0
cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBCdWlsZCBmaXgg
Zm9yIFdpbkNFIGFmdGVyIHIxMjc4MDEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRT
ZWN1cml0eVBvbGljeS5jcHAKaW5kZXggMWJmOTA3ZjU1NjgzMmU2MGZiNDE4ZjY5ZTU2NWZmMDIy
Y2U1M2RiZC4uMDJhMTUxYmQzYjAwYzYzZmU0YmQ3YWQyOTA4YzdmZWU3YmViNzNjNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcApAQCAtMTExMCw4
ICsxMTEwLDEwIEBAIGJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6cGFyc2VEaXJlY3RpdmUoY29uc3Qg
VUNoYXIqIGJlZ2luLCBjb25zdCBVQ2hhciogZW5kLCBTdHJpCiAgICAgY29uc3QgVUNoYXIqIHZh
bHVlQmVnaW4gPSBwb3NpdGlvbjsKICAgICBza2lwV2hpbGU8aXNEaXJlY3RpdmVWYWx1ZUNoYXJh
Y3Rlcj4ocG9zaXRpb24sIGVuZCk7CiAKLSAgICBpZiAocG9zaXRpb24gIT0gZW5kKQorICAgIGlm
IChwb3NpdGlvbiAhPSBlbmQpIHsKKyAgICAgICAgbV9wb2xpY3ktPnJlcG9ydEludmFsaWREaXJl
Y3RpdmVWYWx1ZUNoYXJhY3RlcihuYW1lLCBTdHJpbmcodmFsdWVCZWdpbiwgZW5kIC0gdmFsdWVC
ZWdpbikpOwogICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQogCiAgICAgLy8gVGhlIGRpcmVj
dGl2ZS12YWx1ZSBtYXkgYmUgZW1wdHkuCiAgICAgaWYgKHZhbHVlQmVnaW4gPT0gcG9zaXRpb24p
CkBAIC0xNTA0LDYgKzE1MDYsMTIgQEAgdm9pZCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9y
dEludmFsaWRQbHVnaW5UeXBlcyhjb25zdCBTdHJpbmcmIHBsdWdpblR5cGUpIGMKICAgICBsb2dU
b0NvbnNvbGUobWVzc2FnZSk7CiB9CiAKK3ZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5OjpyZXBv
cnRJbnZhbGlkRGlyZWN0aXZlVmFsdWVDaGFyYWN0ZXIoY29uc3QgU3RyaW5nJiBkaXJlY3RpdmVO
YW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlKSBjb25zdAoreworICAgIFN0cmluZyBtZXNzYWdlID0g
bWFrZVN0cmluZygiVGhlIHZhbHVlIGZvciBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3Rp
dmUgJyIsIGRpcmVjdGl2ZU5hbWUsICInIGNvbnRhaW5zIGFuIGludmFsaWQgY2hhcmFjdGVyOiAn
IiwgdmFsdWUsICInLiBOb24td2hpdGVzcGFjZSBjaGFyYWN0ZXJzIG91dHNpZGUgQVNDSUkgMHgy
MS0weDdFIG11c3QgYmUgcGVyY2VudC1lbmNvZGVkLCBhcyBkZXNjcmliZWQgaW4gUkZDIDM5ODYs
IHNlY3Rpb24gMi4xOiBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I3NlY3Rpb24t
Mi4xLiIpOworICAgIGxvZ1RvQ29uc29sZShtZXNzYWdlKTsKK30KKwogdm9pZCBDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OnJlcG9ydEludmFsaWROb25jZShjb25zdCBTdHJpbmcmIG5vbmNlKSBjb25z
dAogewogICAgIFN0cmluZyBtZXNzYWdlID0gbWFrZVN0cmluZygiSWdub3JpbmcgaW52YWxpZCBD
b250ZW50IFNlY3VyaXR5IFBvbGljeSBzY3JpcHQgbm9uY2U6ICciLCBub25jZSwgIicuXG4iKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oCmluZGV4IDNjMzkw
NTE2YWFjZTViZGUzMzc4YTg4ZThiZjZkMzAwYjM5OTdkMjMuLjNkNDBlYzRjZDIzNjMzNmYyZmIx
YTE4MTNlMDM5MTI2MmY1OWIyZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29u
dGVudFNlY3VyaXR5UG9saWN5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2Vj
dXJpdHlQb2xpY3kuaApAQCAtMTAwLDYgKzEwMCw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVw
b3J0RHVwbGljYXRlRGlyZWN0aXZlKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIHZvaWQgcmVw
b3J0SWdub3JlZFBhdGhDb21wb25lbnQoY29uc3QgU3RyaW5nJiBkaXJlY3RpdmVOYW1lLCBjb25z
dCBTdHJpbmcmIGNvbXBsZXRlU291cmNlLCBjb25zdCBTdHJpbmcmIHBhdGgpIGNvbnN0OworICAg
IHZvaWQgcmVwb3J0SW52YWxpZERpcmVjdGl2ZVZhbHVlQ2hhcmFjdGVyKGNvbnN0IFN0cmluZyYg
ZGlyZWN0aXZlTmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29uc3Q7CiAgICAgdm9pZCByZXBv
cnRJbnZhbGlkTm9uY2UoY29uc3QgU3RyaW5nJikgY29uc3Q7CiAgICAgdm9pZCByZXBvcnRJbnZh
bGlkUGx1Z2luVHlwZXMoY29uc3QgU3RyaW5nJikgY29uc3Q7CiAgICAgdm9pZCByZXBvcnRJbnZh
bGlkU291cmNlRXhwcmVzc2lvbihjb25zdCBTdHJpbmcmIGRpcmVjdGl2ZU5hbWUsIGNvbnN0IFN0
cmluZyYgc291cmNlKSBjb25zdDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3ZTg0MTdjNzBkYzczZWY0NGQ1Njg2NGJjNzA0
OGI1MmU1Y2YzYzUwLi41ZDRmZTk0NmMwYTlhMmNlYjU5ZDNjYmY0ZTU5MGYzODYxN2M5MmNhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTItMDktMDcgIE1pa2UgV2VzdCAgPG1rd3N0QGNocm9t
aXVtLm9yZz4KKworICAgICAgICBDU1AgcGFyc2luZyBkb2Vzbid0IHNlZW0gdHJlYXQgYXMgaW52
YWxpZCBwb2xpY2llcyB3aXRoIGEgbm9uLUFTQ0lJIHBhdGgKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2MDYxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvbXVsdGlwbGUtaWZyYW1lLXRlc3QuanM6CisgICAgICAg
ICh0ZXN0UHJlZXNjYXBlZFBvbGljeSk6CisgICAgICAgICh0ZXN0KToKKyAgICAgICAgKHRlc3RJ
bXBsKToKKyAgICAgICAgICAgIFRvIHRlc3Qgbm9uLUFTQ0lJIGNoYXJhY3RlcnMsIHdlIG5lZWQg
dG8gZW5zdXJlIHRoYXQgd2UgZG9uJ3QgZW5jb2RlCisgICAgICAgICAgICB0aGVtIHdoZW4gdGVz
dGluZy4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS9zb3VyY2UtbGlzdC1wYXJzaW5nLTA0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgICAgIEFkZGlu
ZyBhIHdhcm5pbmcgZm9yIHRoZSBwb2xpY3kgaGVyZSB0aGF0IGNvbnRhaW5zIGFuIGludmFsaWQK
KyAgICAgICAgICAgIGNoYXJhY3Rlci4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9zb3VyY2UtbGlzdC1wYXJzaW5nLW5vbmFzY2lpLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvc291cmNlLWxpc3QtcGFyc2luZy1ub25hc2NpaS5odG1sOiBBZGRlZC4KKyAgICAg
ICAgICAgIFRlc3QgcGF0aHMgd2l0aCBpbnZhbGlkIGNoYXJhY3RlcnMuCisKIDIwMTItMDktMDYg
IEFubmEgQ2F2ZW5kZXIgIDxhbm5hY2NAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlYmFzZWxp
bmVzIGR1ZSB0byByMTI3ODMxLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL211bHRpcGxlLWlmcmFtZS10
ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvcmVzb3VyY2VzL211bHRpcGxlLWlmcmFtZS10ZXN0LmpzCmluZGV4IGQyZjE2NWNjOTA3
YzBmOGNhNmQ2ODU3MDY0NWUzY2Q3N2Y1MmFiOGMuLjczMmVhOTk3ZWI2YWYzZDg5OGRlM2M3MmU1
OWRiZWY3N2UzYTFlMDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9tdWx0aXBsZS1pZnJhbWUtdGVzdC5q
cworKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9yZXNvdXJjZXMvbXVsdGlwbGUtaWZyYW1lLXRlc3QuanMKQEAgLTQsMjEgKzQsMzUgQEAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1bm5lci5kdW1wQ2hpbGRGcmFtZXNB
c1RleHQoKTsKIH0KIAorZnVuY3Rpb24gdGVzdFByZWVzY2FwZWRQb2xpY3koKSB7CisgICAgdGVz
dEltcGwodHJ1ZSk7Cit9CisKIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAgdGVzdEltcGwoZmFsc2Up
OworfQorCitmdW5jdGlvbiB0ZXN0SW1wbChwcmVlc2NhcGVkUG9saWN5KSB7CiAgICAgaWYgKHRl
c3RzLmxlbmd0aCA9PT0gMCkKICAgICAgICAgcmV0dXJuIGZpbmlzaFRlc3RpbmcoKTsKIAogICAg
IHZhciBiYXNlVVJMID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvIjsKICAgICB2YXIgY3VycmVudCA9IHRlc3RzLnNoaWZ0KCk7CiAgICAgdmFy
IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlmcmFtZSIpOworCisgICAgdmFyIHBv
bGljeSA9IGN1cnJlbnRbMV07CisgICAgaWYgKCFwcmVlc2NhcGVkUG9saWN5KQorICAgICAgICBw
b2xpY3kgPSBlbmNvZGVVUklDb21wb25lbnQocG9saWN5KTsKKworICAgIHZhciBzY3JpcHRUb0xv
YWQgPSBiYXNlVVJMICsgZW5jb2RlVVJJQ29tcG9uZW50KGN1cnJlbnRbMl0pOworICAgIGlmIChj
dXJyZW50WzJdLm1hdGNoKC9eZGF0YTovKSkKKyAgICAgICAgc2NyaXB0VG9Mb2FkID0gZW5jb2Rl
VVJJQ29tcG9uZW50KGN1cnJlbnRbMl0pOworCiAgICAgaWZyYW1lLnNyYyA9IGJhc2VVUkwgKyAi
cmVzb3VyY2VzL2VjaG8tc2NyaXB0LXNyYy5wbD8iICsKLSAgICAgICAgICAgICAgICAgInNob3Vs
ZF9ydW49IiArIGVzY2FwZShjdXJyZW50WzBdKSArCi0gICAgICAgICAgICAgICAgICImY3NwPSIg
KyBlc2NhcGUoY3VycmVudFsxXSkgKwotICAgICAgICAgICAgICAgICAiJnE9IiArIChjdXJyZW50
WzJdLm1hdGNoKC9eZGF0YTovKSA/Ci0gICAgICAgICAgICAgICAgICAgICBlc2NhcGUoY3VycmVu
dFsyXSkgOgotICAgICAgICAgICAgICAgICAgICAgYmFzZVVSTCArIGVzY2FwZShjdXJyZW50WzJd
KSk7CisgICAgICAgICAgICAgICAgICJzaG91bGRfcnVuPSIgKyBlbmNvZGVVUklDb21wb25lbnQo
Y3VycmVudFswXSkgKworICAgICAgICAgICAgICAgICAiJmNzcD0iICsgcG9saWN5ICsgIiZxPSIg
KyBzY3JpcHRUb0xvYWQ7CiAgICAgaWYgKGN1cnJlbnRbM10pCi0gICAgICBpZnJhbWUuc3JjICs9
ICImbm9uY2U9IiArIGVzY2FwZShjdXJyZW50WzNdKTsKKyAgICAgIGlmcmFtZS5zcmMgKz0gIiZu
b25jZT0iICsgZW5jb2RlVVJJQ29tcG9uZW50KGN1cnJlbnRbM10pOwogCiAgICAgaWZyYW1lLm9u
bG9hZCA9IHRlc3Q7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChpZnJhbWUpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvc291cmNlLWxpc3QtcGFyc2luZy0wNC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zb3VyY2UtbGlzdC1wYXJz
aW5nLTA0LWV4cGVjdGVkLnR4dAppbmRleCAxZjYwODFkMWUwMjMxMGY5YWVkMGRiOGE5MzI4ZTgz
NDBjYzQ3MjhkLi5mNjQyMTA2MjM0MjExN2E1NWQwYjQ1YThlODUwMTNjNDk3MzAxZDNiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9zb3VyY2UtbGlzdC1wYXJzaW5nLTA0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zb3VyY2UtbGlzdC1w
YXJzaW5nLTA0LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDYgQEAKIENPTlNPTEUgTUVTU0FHRTog
UmVmdXNlZCB0byBsb2FkIHRoZSBzY3JpcHQgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3NjcmlwdC5qcycgYmVjYXVzZSBpdCB2
aW9sYXRlcyB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTog
InNjcmlwdC1zcmMgaHR0cHM6ICB0YWNvIi4KIAorQ09OU09MRSBNRVNTQUdFOiBUaGUgdmFsdWUg
Zm9yIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZSAnc2NyaXB0LXNyYycgY29udGFp
bnMgYW4gaW52YWxpZCBjaGFyYWN0ZXI6ICdodHRwczogIAgnLiBOb24td2hpdGVzcGFjZSBjaGFy
YWN0ZXJzIG91dHNpZGUgQVNDSUkgMHgyMS0weDdFIG11c3QgYmUgcGVyY2VudC1lbmNvZGVkLCBh
cyBkZXNjcmliZWQgaW4gUkZDIDM5ODYsIHNlY3Rpb24gMi4xOiBodHRwOi8vdG9vbHMuaWV0Zi5v
cmcvaHRtbC9yZmMzOTg2I3NlY3Rpb24tMi4xLgogQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRv
IGxvYWQgdGhlIHNjcmlwdCAnaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvc2NyaXB0LmpzJyBiZWNhdXNlIGl0IHZpb2xhdGVzIHRo
ZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAic2NyaXB0LXNy
YyAnbm9uZSciLgogCiBOb25lIG9mIHRoZXNlIHNjcmlwdHMgc2hvdWxkIGV4ZWN1dGUgZXZlbiB0
aG91Z2ggdGhlcmUgYXJlIHBhcnNlIGVycm9ycyBpbiB0aGUgcG9saWN5LgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc291
cmNlLWxpc3QtcGFyc2luZy1ub25hc2NpaS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zb3VyY2UtbGlzdC1wYXJzaW5n
LW5vbmFzY2lpLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzcyZTE4MDRhYjY2ZWY1MjViYzVj
OWNmMDJlMTQ1ZDIwNzgxYzAyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc291cmNlLWxpc3QtcGFyc2luZy1u
b25hc2NpaS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitDT05TT0xFIE1FU1NBR0U6IFRo
ZSB2YWx1ZSBmb3IgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlICdzY3JpcHQtc3Jj
JyBjb250YWlucyBhbiBpbnZhbGlkIGNoYXJhY3RlcjogJzEyNy4wLjAuMS/Dn2lzbm90U29yQi8n
LiBOb24td2hpdGVzcGFjZSBjaGFyYWN0ZXJzIG91dHNpZGUgQVNDSUkgMHgyMS0weDdFIG11c3Qg
YmUgcGVyY2VudC1lbmNvZGVkLCBhcyBkZXNjcmliZWQgaW4gUkZDIDM5ODYsIHNlY3Rpb24gMi4x
OiBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I3NlY3Rpb24tMi4xLgorU291cmNl
cyBjb250YWluaW5nIG5vbi1hc2NpaSBjaGFyYWN0ZXJzIHNob3VsZCBiZSBpZ25vcmVkLCBhbmQg
c2hvdWxkIGdlbmVyYXRlIHdhcm5pbmdzLgorCisKKworLS0tLS0tLS0KK0ZyYW1lOiAnPCEtLWZy
YW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCistLS0tLS0tLQorRkFJTApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc291
cmNlLWxpc3QtcGFyc2luZy1ub25hc2NpaS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc291cmNlLWxpc3QtcGFyc2luZy1ub25hc2Np
aS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmQ3MDdmNDg3YzAyMTkyYjc0YjU1MmQ0MjUwNjBhMDEyYmEyMjgx
MzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9zb3VyY2UtbGlzdC1wYXJzaW5nLW5vbmFzY2lpLmh0bWwKQEAg
LTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KKyAgICA8c2NyaXB0IHNyYz0ncmVzb3VyY2VzL211bHRpcGxlLWlm
cmFtZS10ZXN0LmpzJz48L3NjcmlwdD4KKyAgICA8c2NyaXB0PgorICAgICAgICB2YXIgdGVzdHMg
PSBbCisgICAgICAgICAgICBbJ25vJywgJ3NjcmlwdC1zcmMgMTI3LjAuMC4xJTJGXHhERmlzbm90
U29yQiUyRicsICdyZXNvdXJjZXMvc2NyaXB0LmpzJ10sCisgICAgICAgIF07CisgICAgPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3RQcmVlc2NhcGVkUG9saWN5KCkiPgorICAg
IDxwPgorICAgICAgICBTb3VyY2VzIGNvbnRhaW5pbmcgbm9uLWFzY2lpIGNoYXJhY3RlcnMgc2hv
dWxkIGJlIGlnbm9yZWQsIGFuZCBzaG91bGQKKyAgICAgICAgZ2VuZXJhdGUgd2FybmluZ3MuCisg
ICAgPC9wPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162807</attachid>
            <date>2012-09-07 10:28:58 -0700</date>
            <delta_ts>2012-09-10 05:31:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-96061-20120907192838.patch</filename>
            <type>text/plain</type>
            <size>10251</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3ODc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTMzYzUwOTQwZmU4YTA3
MDRjZDI2ZTVjMWMyMTU0M2I5YjU4ODEzMC4uN2Q0MWM5YTQyYTQ2YzFjMTcxNzJkMjA5OWU4NDIz
YzgxNDE0ODc1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA5LTA3ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2FybiBhdXRob3JzIGFib3V0
IENTUCBkaXJlY3RpdmVzIGlnbm9yZWQgZHVlIHRvIG5vbi1BU0NJSSB2YWx1ZXMuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NjA2MQorCisgICAgICAg
IFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgQ1NQIGRlZmluZXMgZGlyZWN0aXZl
IHZhbHVlcyBhcyBWQ0hBUiBtaW51cyAnOycgYW5kICcsJy4gQ3VycmVudGx5LCB3ZQorICAgICAg
ICBpZ25vcmUgdGhlc2UgZGlyZWN0aXZlcyBjb21wbGV0ZWx5IGluIENTUERpcmVjdGl2ZUxpc3Q6
OnBhcnNlRGlyZWN0aXZlLAorICAgICAgICBidXQgd2UgZG9uJ3Qgd2FybiBhdXRob3JzLiBXZSBv
dWdodCB0byBzZXQgdGhlaXIgZXhwZWN0YXRpb25zIGNvcnJlY3RseSwKKyAgICAgICAgYW5kIGhl
bHAgdGhlbSBmaXggaXNzdWVzIGluIHRoZWlyIHBvbGljeS4KKworICAgICAgICBUaGlzIHBhdGNo
IGFkZHMgYSBjb25zb2xlIHdhcm5pbmcgZm9yIGRpcmVjdGl2ZXMgdGhhdCBhcmUgaWdub3JlZCwg
YW5kCisgICAgICAgIHBvaW50cyBhdXRob3JzIHRvIHRoZSB3b25kZXJmdWwgd29ybGQgb2YgcGVy
Y2VudC1lbmNvZGluZyBmb3Igc2l0dWF0aW9ucworICAgICAgICB3aGVyZSBoaWdoLUFTQ0lJIG9y
IFVuaWNvZGUgKG9yIHdoYXRldmVyKSBjaGFyYWN0ZXJzIGFyZSByZXF1aXJlZC4KKworICAgICAg
ICBUZXN0OiBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zb3VyY2Ut
bGlzdC1wYXJzaW5nLW5vbmFzY2lpLmh0bWwKKworICAgICAgICAqIHBhZ2UvQ29udGVudFNlY3Vy
aXR5UG9saWN5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OnBhcnNl
RGlyZWN0aXZlKToKKyAgICAgICAgICAgIENhbGwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpyZXBv
cnRJbnZhbGlkRGlyZWN0aXZlVmFsdWVDaGFyYWN0ZXIgaW4KKyAgICAgICAgICAgIG9yZGVyIHRv
IHJlcG9ydCBpZ25vcmVkIGRpcmVjdGl2ZXMuCisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2Vj
dXJpdHlQb2xpY3k6OnJlcG9ydEludmFsaWREaXJlY3RpdmVWYWx1ZUNoYXJhY3Rlcik6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oOgor
ICAgICAgICAgICAgQWRkIG5ldyBlcnJvciBtZXNzYWdlLgorCiAyMDEyLTA5LTA3ICBBbGxhbiBT
YW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5Abm9raWEuY29tPgogCiAgICAgICAgIFNpbXBs
aWZ5IGhpdFRlc3RSZXN1bHRBdFBvaW50IGFuZCBub2Rlc0Zyb21SZWN0IEFQSXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcAppbmRleCAxYmY5MDdmNTU2
ODMyZTYwZmI0MThmNjllNTY1ZmYwMjJjZTUzZGJkLi4wMmExNTFiZDNiMDBjNjNmZTRiZDdhZDI5
MDhjN2ZlZTdiZWI3M2M1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRT
ZWN1cml0eVBvbGljeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJp
dHlQb2xpY3kuY3BwCkBAIC0xMTEwLDggKzExMTAsMTAgQEAgYm9vbCBDU1BEaXJlY3RpdmVMaXN0
OjpwYXJzZURpcmVjdGl2ZShjb25zdCBVQ2hhciogYmVnaW4sIGNvbnN0IFVDaGFyKiBlbmQsIFN0
cmkKICAgICBjb25zdCBVQ2hhciogdmFsdWVCZWdpbiA9IHBvc2l0aW9uOwogICAgIHNraXBXaGls
ZTxpc0RpcmVjdGl2ZVZhbHVlQ2hhcmFjdGVyPihwb3NpdGlvbiwgZW5kKTsKIAotICAgIGlmIChw
b3NpdGlvbiAhPSBlbmQpCisgICAgaWYgKHBvc2l0aW9uICE9IGVuZCkgeworICAgICAgICBtX3Bv
bGljeS0+cmVwb3J0SW52YWxpZERpcmVjdGl2ZVZhbHVlQ2hhcmFjdGVyKG5hbWUsIFN0cmluZyh2
YWx1ZUJlZ2luLCBlbmQgLSB2YWx1ZUJlZ2luKSk7CiAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICB9CiAKICAgICAvLyBUaGUgZGlyZWN0aXZlLXZhbHVlIG1heSBiZSBlbXB0eS4KICAgICBpZiAo
dmFsdWVCZWdpbiA9PSBwb3NpdGlvbikKQEAgLTE1MDQsNiArMTUwNiwxMiBAQCB2b2lkIENvbnRl
bnRTZWN1cml0eVBvbGljeTo6cmVwb3J0SW52YWxpZFBsdWdpblR5cGVzKGNvbnN0IFN0cmluZyYg
cGx1Z2luVHlwZSkgYwogICAgIGxvZ1RvQ29uc29sZShtZXNzYWdlKTsKIH0KIAordm9pZCBDb250
ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9ydEludmFsaWREaXJlY3RpdmVWYWx1ZUNoYXJhY3Rlcihj
b25zdCBTdHJpbmcmIGRpcmVjdGl2ZU5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUpIGNvbnN0Cit7
CisgICAgU3RyaW5nIG1lc3NhZ2UgPSBtYWtlU3RyaW5nKCJUaGUgdmFsdWUgZm9yIENvbnRlbnQg
U2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZSAnIiwgZGlyZWN0aXZlTmFtZSwgIicgY29udGFpbnMg
YW4gaW52YWxpZCBjaGFyYWN0ZXI6ICciLCB2YWx1ZSwgIicuIE5vbi13aGl0ZXNwYWNlIGNoYXJh
Y3RlcnMgb3V0c2lkZSBBU0NJSSAweDIxLTB4N0UgbXVzdCBiZSBwZXJjZW50LWVuY29kZWQsIGFz
IGRlc2NyaWJlZCBpbiBSRkMgMzk4Niwgc2VjdGlvbiAyLjE6IGh0dHA6Ly90b29scy5pZXRmLm9y
Zy9odG1sL3JmYzM5ODYjc2VjdGlvbi0yLjEuIik7CisgICAgbG9nVG9Db25zb2xlKG1lc3NhZ2Up
OworfQorCiB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0SW52YWxpZE5vbmNlKGNv
bnN0IFN0cmluZyYgbm9uY2UpIGNvbnN0CiB7CiAgICAgU3RyaW5nIG1lc3NhZ2UgPSBtYWtlU3Ry
aW5nKCJJZ25vcmluZyBpbnZhbGlkIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IHNjcmlwdCBub25j
ZTogJyIsIG5vbmNlLCAiJy5cbiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
b250ZW50U2VjdXJpdHlQb2xpY3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3Vy
aXR5UG9saWN5LmgKaW5kZXggM2MzOTA1MTZhYWNlNWJkZTMzNzhhODhlOGJmNmQzMDBiMzk5N2Qy
My4uM2Q0MGVjNGNkMjM2MzM2ZjJmYjFhMTgxM2UwMzkxMjYyZjU5YjJlZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oCkBAIC0xMDAsNiArMTAwLDcgQEAg
cHVibGljOgogCiAgICAgdm9pZCByZXBvcnREdXBsaWNhdGVEaXJlY3RpdmUoY29uc3QgU3RyaW5n
JikgY29uc3Q7CiAgICAgdm9pZCByZXBvcnRJZ25vcmVkUGF0aENvbXBvbmVudChjb25zdCBTdHJp
bmcmIGRpcmVjdGl2ZU5hbWUsIGNvbnN0IFN0cmluZyYgY29tcGxldGVTb3VyY2UsIGNvbnN0IFN0
cmluZyYgcGF0aCkgY29uc3Q7CisgICAgdm9pZCByZXBvcnRJbnZhbGlkRGlyZWN0aXZlVmFsdWVD
aGFyYWN0ZXIoY29uc3QgU3RyaW5nJiBkaXJlY3RpdmVOYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVl
KSBjb25zdDsKICAgICB2b2lkIHJlcG9ydEludmFsaWROb25jZShjb25zdCBTdHJpbmcmKSBjb25z
dDsKICAgICB2b2lkIHJlcG9ydEludmFsaWRQbHVnaW5UeXBlcyhjb25zdCBTdHJpbmcmKSBjb25z
dDsKICAgICB2b2lkIHJlcG9ydEludmFsaWRTb3VyY2VFeHByZXNzaW9uKGNvbnN0IFN0cmluZyYg
ZGlyZWN0aXZlTmFtZSwgY29uc3QgU3RyaW5nJiBzb3VyY2UpIGNvbnN0OwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNlNjNj
NzI3ODI4NmRkZmY4ZjIwM2IzNmQ1MjI2YjBmYzdjNGQzODUuLmMwNjk0ZTUwZWY4ZGU0ZmQ0NWVh
NGRmZGM4MTMyMjc3YmMyMGZiNDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMi0wOS0wNyAg
TWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIENTUCBwYXJzaW5nIGRv
ZXNuJ3Qgc2VlbSB0cmVhdCBhcyBpbnZhbGlkIHBvbGljaWVzIHdpdGggYSBub24tQVNDSUkgcGF0
aAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTYwNjEK
KworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgICogaHR0cC90ZXN0
cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL211bHRpcGxlLWlmcmFt
ZS10ZXN0LmpzOgorICAgICAgICAodGVzdFByZWVzY2FwZWRQb2xpY3kpOgorICAgICAgICAodGVz
dCk6CisgICAgICAgICh0ZXN0SW1wbCk6CisgICAgICAgICAgICBUbyB0ZXN0IG5vbi1BU0NJSSBj
aGFyYWN0ZXJzLCB3ZSBuZWVkIHRvIGVuc3VyZSB0aGF0IHdlIGRvbid0IGVuY29kZQorICAgICAg
ICAgICAgdGhlbSB3aGVuIHRlc3RpbmcuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvc291cmNlLWxpc3QtcGFyc2luZy0wNC1leHBlY3RlZC50eHQ6
CisgICAgICAgICAgICBBZGRpbmcgYSB3YXJuaW5nIGZvciB0aGUgcG9saWN5IGhlcmUgdGhhdCBj
b250YWlucyBhbiBpbnZhbGlkCisgICAgICAgICAgICBjaGFyYWN0ZXIuCisgICAgICAgICogaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc291cmNlLWxpc3QtcGFyc2lu
Zy1ub25hc2NpaS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NvdXJjZS1saXN0LXBhcnNpbmctbm9uYXNjaWku
aHRtbDogQWRkZWQuCisgICAgICAgICAgICBUZXN0IHBhdGhzIHdpdGggaW52YWxpZCBjaGFyYWN0
ZXJzLgorCiAyMDEyLTA5LTA3ICBGYWR5IFNhbXVlbCAgPGZzYW11ZWxAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFVucmV2aWV3ZWQgQ2hyb21pdW0gZ2FyZGVuaW5nLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3Vy
Y2VzL211bHRpcGxlLWlmcmFtZS10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL211bHRpcGxlLWlmcmFtZS10ZXN0
LmpzCmluZGV4IGQyZjE2NWNjOTA3YzBmOGNhNmQ2ODU3MDY0NWUzY2Q3N2Y1MmFiOGMuLjczMmVh
OTk3ZWI2YWYzZDg5OGRlM2M3MmU1OWRiZWY3N2UzYTFlMDggMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291cmNlcy9t
dWx0aXBsZS1pZnJhbWUtdGVzdC5qcworKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvbXVsdGlwbGUtaWZyYW1lLXRlc3Qu
anMKQEAgLTQsMjEgKzQsMzUgQEAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CiAgICAgdGVzdFJ1
bm5lci5kdW1wQ2hpbGRGcmFtZXNBc1RleHQoKTsKIH0KIAorZnVuY3Rpb24gdGVzdFByZWVzY2Fw
ZWRQb2xpY3koKSB7CisgICAgdGVzdEltcGwodHJ1ZSk7Cit9CisKIGZ1bmN0aW9uIHRlc3QoKSB7
CisgICAgdGVzdEltcGwoZmFsc2UpOworfQorCitmdW5jdGlvbiB0ZXN0SW1wbChwcmVlc2NhcGVk
UG9saWN5KSB7CiAgICAgaWYgKHRlc3RzLmxlbmd0aCA9PT0gMCkKICAgICAgICAgcmV0dXJuIGZp
bmlzaFRlc3RpbmcoKTsKIAogICAgIHZhciBiYXNlVVJMID0gImh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvIjsKICAgICB2YXIgY3VycmVudCA9IHRl
c3RzLnNoaWZ0KCk7CiAgICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlm
cmFtZSIpOworCisgICAgdmFyIHBvbGljeSA9IGN1cnJlbnRbMV07CisgICAgaWYgKCFwcmVlc2Nh
cGVkUG9saWN5KQorICAgICAgICBwb2xpY3kgPSBlbmNvZGVVUklDb21wb25lbnQocG9saWN5KTsK
KworICAgIHZhciBzY3JpcHRUb0xvYWQgPSBiYXNlVVJMICsgZW5jb2RlVVJJQ29tcG9uZW50KGN1
cnJlbnRbMl0pOworICAgIGlmIChjdXJyZW50WzJdLm1hdGNoKC9eZGF0YTovKSkKKyAgICAgICAg
c2NyaXB0VG9Mb2FkID0gZW5jb2RlVVJJQ29tcG9uZW50KGN1cnJlbnRbMl0pOworCiAgICAgaWZy
YW1lLnNyYyA9IGJhc2VVUkwgKyAicmVzb3VyY2VzL2VjaG8tc2NyaXB0LXNyYy5wbD8iICsKLSAg
ICAgICAgICAgICAgICAgInNob3VsZF9ydW49IiArIGVzY2FwZShjdXJyZW50WzBdKSArCi0gICAg
ICAgICAgICAgICAgICImY3NwPSIgKyBlc2NhcGUoY3VycmVudFsxXSkgKwotICAgICAgICAgICAg
ICAgICAiJnE9IiArIChjdXJyZW50WzJdLm1hdGNoKC9eZGF0YTovKSA/Ci0gICAgICAgICAgICAg
ICAgICAgICBlc2NhcGUoY3VycmVudFsyXSkgOgotICAgICAgICAgICAgICAgICAgICAgYmFzZVVS
TCArIGVzY2FwZShjdXJyZW50WzJdKSk7CisgICAgICAgICAgICAgICAgICJzaG91bGRfcnVuPSIg
KyBlbmNvZGVVUklDb21wb25lbnQoY3VycmVudFswXSkgKworICAgICAgICAgICAgICAgICAiJmNz
cD0iICsgcG9saWN5ICsgIiZxPSIgKyBzY3JpcHRUb0xvYWQ7CiAgICAgaWYgKGN1cnJlbnRbM10p
Ci0gICAgICBpZnJhbWUuc3JjICs9ICImbm9uY2U9IiArIGVzY2FwZShjdXJyZW50WzNdKTsKKyAg
ICAgIGlmcmFtZS5zcmMgKz0gIiZub25jZT0iICsgZW5jb2RlVVJJQ29tcG9uZW50KGN1cnJlbnRb
M10pOwogCiAgICAgaWZyYW1lLm9ubG9hZCA9IHRlc3Q7CiAgICAgZG9jdW1lbnQuYm9keS5hcHBl
bmRDaGlsZChpZnJhbWUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc291cmNlLWxpc3QtcGFyc2luZy0wNC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9zb3VyY2UtbGlzdC1wYXJzaW5nLTA0LWV4cGVjdGVkLnR4dAppbmRleCAxZjYwODFkMWUw
MjMxMGY5YWVkMGRiOGE5MzI4ZTgzNDBjYzQ3MjhkLi5mNjQyMTA2MjM0MjExN2E1NWQwYjQ1YThl
ODUwMTNjNDk3MzAxZDNiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zb3VyY2UtbGlzdC1wYXJzaW5nLTA0LWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS9zb3VyY2UtbGlzdC1wYXJzaW5nLTA0LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDYg
QEAKIENPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBsb2FkIHRoZSBzY3JpcHQgJ2h0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3Nj
cmlwdC5qcycgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJp
dHkgUG9saWN5IGRpcmVjdGl2ZTogInNjcmlwdC1zcmMgaHR0cHM6ICB0YWNvIi4KIAorQ09OU09M
RSBNRVNTQUdFOiBUaGUgdmFsdWUgZm9yIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2
ZSAnc2NyaXB0LXNyYycgY29udGFpbnMgYW4gaW52YWxpZCBjaGFyYWN0ZXI6ICdodHRwczogIAgn
LiBOb24td2hpdGVzcGFjZSBjaGFyYWN0ZXJzIG91dHNpZGUgQVNDSUkgMHgyMS0weDdFIG11c3Qg
YmUgcGVyY2VudC1lbmNvZGVkLCBhcyBkZXNjcmliZWQgaW4gUkZDIDM5ODYsIHNlY3Rpb24gMi4x
OiBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2I3NlY3Rpb24tMi4xLgogQ09OU09M
RSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGxvYWQgdGhlIHNjcmlwdCAnaHR0cDovLzEyNy4wLjAuMTo4
MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvc2NyaXB0LmpzJyBi
ZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kg
ZGlyZWN0aXZlOiAic2NyaXB0LXNyYyAnbm9uZSciLgogCiBOb25lIG9mIHRoZXNlIHNjcmlwdHMg
c2hvdWxkIGV4ZWN1dGUgZXZlbiB0aG91Z2ggdGhlcmUgYXJlIHBhcnNlIGVycm9ycyBpbiB0aGUg
cG9saWN5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvc291cmNlLWxpc3QtcGFyc2luZy1ub25hc2NpaS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGlj
eS9zb3VyY2UtbGlzdC1wYXJzaW5nLW5vbmFzY2lpLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
ZjViYzk2NDVjN2IwY2YyMjIxNTJlMDZkM2RiODRjNTljZDQzYTcwCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
c291cmNlLWxpc3QtcGFyc2luZy1ub25hc2NpaS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBA
CitDT05TT0xFIE1FU1NBR0U6IFRoZSB2YWx1ZSBmb3IgQ29udGVudCBTZWN1cml0eSBQb2xpY3kg
ZGlyZWN0aXZlICdzY3JpcHQtc3JjJyBjb250YWlucyBhbiBpbnZhbGlkIGNoYXJhY3RlcjogJzEy
Ny4wLjAuMS/Dn2lzbm90U29yQi8nLiBOb24td2hpdGVzcGFjZSBjaGFyYWN0ZXJzIG91dHNpZGUg
QVNDSUkgMHgyMS0weDdFIG11c3QgYmUgcGVyY2VudC1lbmNvZGVkLCBhcyBkZXNjcmliZWQgaW4g
UkZDIDM5ODYsIHNlY3Rpb24gMi4xOiBodHRwOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzOTg2
I3NlY3Rpb24tMi4xLgorU291cmNlcyBjb250YWluaW5nIG5vbi1hc2NpaSBjaGFyYWN0ZXJzIHNo
b3VsZCBiZSBpZ25vcmVkLCBhbmQgc2hvdWxkIGdlbmVyYXRlIHdhcm5pbmdzLgorCisKKworLS0t
LS0tLS0KK0ZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTAtLT4tLT4nCistLS0tLS0t
LQorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvc291cmNlLWxpc3QtcGFyc2luZy1ub25hc2NpaS5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc291cmNl
LWxpc3QtcGFyc2luZy1ub25hc2NpaS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ3MGI5MmM1NmQ5Nzg4YzI4
NzA4NzM2MTdjM2Y4YWRjMDUzYThlMmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zb3VyY2UtbGlzdC1wYXJz
aW5nLW5vbmFzY2lpLmh0bWwKQEAgLTAsMCArMSwxOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICA8c2NyaXB0IHNyYz0n
cmVzb3VyY2VzL211bHRpcGxlLWlmcmFtZS10ZXN0LmpzJz48L3NjcmlwdD4KKyAgICA8c2NyaXB0
PgorICAgICAgICB2YXIgdGVzdHMgPSBbCisgICAgICAgICAgICBbJ3llcycsICdzY3JpcHQtc3Jj
IDEyNy4wLjAuMSUyRlx4REZpc25vdFNvckIlMkYnLCAncmVzb3VyY2VzL3NjcmlwdC5qcyddLAor
ICAgICAgICBdOworICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0UHJl
ZXNjYXBlZFBvbGljeSgpIj4KKyAgICA8cD4KKyAgICAgICAgU291cmNlcyBjb250YWluaW5nIG5v
bi1hc2NpaSBjaGFyYWN0ZXJzIHNob3VsZCBiZSBpZ25vcmVkLCBhbmQgc2hvdWxkCisgICAgICAg
IGdlbmVyYXRlIHdhcm5pbmdzLgorICAgIDwvcD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>