<?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>64079</bug_id>
          
          <creation_ts>2011-07-07 04:36:03 -0700</creation_ts>
          <short_desc>Sandboxed iframe gives misleading xss-error</short_desc>
          <delta_ts>2012-09-10 09:44:49 -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>Frames</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>WebExposed</keywords>
          <priority>P3</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Pasi Jokinen">pasi</reporter>
          <assigned_to name="Mike West">mkwst</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>mkwst</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>433389</commentid>
    <comment_count>0</comment_count>
    <who name="Pasi Jokinen">pasi</who>
    <bug_when>2011-07-07 04:36:03 -0700</bug_when>
    <thetext>Trying to access same-origin content of a sandboxed iframe &lt;iframe src=&quot;...&quot; sandbox&gt; gives a misleading error-message.

   &quot;Unsafe JavaScript attempt to access frame with URL http://domain.com/url1 from frame with URL http://domain.com/url2app/html/app.html. Domains, protocols and ports must match.&quot;

Error message should reference the sandboxed state to be useful. 

   &quot;Prevented access to sandboxed iframe.&quot;

In my example, I used the following jQuery:
    $(&apos;#iframeId&apos;).contents();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>433583</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-07-07 10:32:44 -0700</bug_when>
    <thetext>Definitely agree!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715545</commentid>
    <comment_count>2</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-09 11:43:02 -0700</bug_when>
    <thetext>Hey, logging improvements!

I&apos;ve taken a quick stab at this. There&apos;s a FIXME comment suggesting that the error message generation might be better pushed out to SecurityOrigin; I started in that direction, but I backed out after reading some other comments.

Specifically, moving the generation of this error message into SecurityOrigin means that we won&apos;t be able to check the sandbox flags directly on the SecurityContext/Documents in question. We&apos;d just be looking at SecurityOrigin::isUnique. Would that be enough? There&apos;s a comment on that method noting subtle differences between a sandboxed frame and a frame with a unique origin. WDYT, Adam?

I&apos;ll upload a patch in a moment with a trivial approach, but if moving it to SecurityOrigin is the better option, I&apos;m happy to go in that direction.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715548</commentid>
    <comment_count>3</comment_count>
      <attachid>163004</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-09 12:03:35 -0700</bug_when>
    <thetext>Created attachment 163004
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715567</commentid>
    <comment_count>4</comment_count>
      <attachid>163004</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-09-09 13:14:23 -0700</bug_when>
    <thetext>Comment on attachment 163004
Patch

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

&gt; Source/WebCore/page/DOMWindow.cpp:1759
&gt;      // FIXME: This error message should contain more specifics of why the same origin check has failed.
&gt;      // Perhaps we should involve the security origin object in composing it.

I&apos;d remove this FIXME.  We used to keep the sandbox bits in the SecurityOrigin, which is what this is referring to.

&gt; Source/WebCore/page/DOMWindow.cpp:1765
&gt; +    if (document()-&gt;isSandboxed(SandboxOrigin))
&gt; +        return &quot;Sandbox access violation: &quot; + message + &quot; The former frame is sandboxed.\n&quot;;
&gt; +    if (activeWindow-&gt;document()-&gt;isSandboxed(SandboxOrigin))
&gt; +        return &quot;Sandbox access violation: &quot; + message + &quot; The latter frame is sandboxed.\n&quot;;

What if they&apos;re both sandboxed?  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715568</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-09-09 13:15:58 -0700</bug_when>
    <thetext>&gt; Specifically, moving the generation of this error message into SecurityOrigin means that we won&apos;t be able to check the sandbox flags directly on the SecurityContext/Documents in question. We&apos;d just be looking at SecurityOrigin::isUnique. Would that be enough?

The approach you have in this patch is great.  I&apos;m surprised you don&apos;t need to rebaseline a bunch of sandbox-related tests.

&gt; There&apos;s a comment on that method noting subtle differences between a sandboxed frame and a frame with a unique origin. WDYT, Adam?

Not any more!  I fixenated them so they&apos;re the same now.  We can probably remove that comment.

&gt; I&apos;ll upload a patch in a moment with a trivial approach, but if moving it to SecurityOrigin is the better option, I&apos;m happy to go in that direction.

I think the version in this patch is great.  We might want to elaborate the message more later, but this is a good improvement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715718</commentid>
    <comment_count>6</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-09 22:28:41 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 163004 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=163004&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/DOMWindow.cpp:1759
&gt; &gt;      // FIXME: This error message should contain more specifics of why the same origin check has failed.
&gt; &gt;      // Perhaps we should involve the security origin object in composing it.
&gt; 
&gt; I&apos;d remove this FIXME.  We used to keep the sandbox bits in the SecurityOrigin, which is what this is referring to.

Will do.

&gt; 
&gt; &gt; Source/WebCore/page/DOMWindow.cpp:1765
&gt; &gt; +    if (document()-&gt;isSandboxed(SandboxOrigin))
&gt; &gt; +        return &quot;Sandbox access violation: &quot; + message + &quot; The former frame is sandboxed.\n&quot;;
&gt; &gt; +    if (activeWindow-&gt;document()-&gt;isSandboxed(SandboxOrigin))
&gt; &gt; +        return &quot;Sandbox access violation: &quot; + message + &quot; The latter frame is sandboxed.\n&quot;;
&gt; 
&gt; What if they&apos;re both sandboxed?  :)

I can add that in. ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715719</commentid>
    <comment_count>7</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-09 22:31:38 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; &gt; Specifically, moving the generation of this error message into SecurityOrigin means that we won&apos;t be able to check the sandbox flags directly on the SecurityContext/Documents in question. We&apos;d just be looking at SecurityOrigin::isUnique. Would that be enough?
&gt; 
&gt; The approach you have in this patch is great.  I&apos;m surprised you don&apos;t need to rebaseline a bunch of sandbox-related tests.

I might. I only ran the sandbox* tests locally. I was hoping the bot would let me know what else broke.

I&apos;ll just do a full pass before landing this, I guess.

&gt; &gt; There&apos;s a comment on that method noting subtle differences between a sandboxed frame and a frame with a unique origin. WDYT, Adam?
&gt; 
&gt; Not any more!  I fixenated them so they&apos;re the same now.  We can probably remove that comment.

They are slightly different, though. http://code.google.com/searchframe#OAMlx_jo-ck/src/third_party/WebKit/Source/WebCore/page/SecurityOrigin.cpp&amp;exact_package=chromium&amp;q=SecurityOrigin&amp;type=cs&amp;l=102 spells out a few cases where SecurityOrigin::isUnique would be true without the frame being sandboxed.

&gt; &gt; I&apos;ll upload a patch in a moment with a trivial approach, but if moving it to SecurityOrigin is the better option, I&apos;m happy to go in that direction.
&gt; 
&gt; I think the version in this patch is great.  We might want to elaborate the message more later, but this is a good improvement.

What would you like to see added? I&apos;m happy to make more changes now while I&apos;m already rebasing tests. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715746</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-09-09 23:40:22 -0700</bug_when>
    <thetext>&gt; What would you like to see added? I&apos;m happy to make more changes now while I&apos;m already rebasing tests. :)

One corner case that would be good to cover is when document.domain is set.  There are some counter-intuitive cases there.  For example, http://www.example.com/foo might not be able to access http://www.example.com/bar if bar sets document.domain to example.com.

The even stranger case is when http://example.com/foo can&apos;t talk with http://www.example.com/bar even after bar sets document.domain to example.com.  The rule is that either the both need to have set document.domain or neither of them can have set it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715827</commentid>
    <comment_count>9</comment_count>
      <attachid>163064</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-10 01:39:48 -0700</bug_when>
    <thetext>Created attachment 163064
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715834</commentid>
    <comment_count>10</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-10 01:44:11 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; &gt; What would you like to see added? I&apos;m happy to make more changes now while I&apos;m already rebasing tests. :)
&gt; 
&gt; One corner case that would be good to cover is when document.domain is set.  There are some counter-intuitive cases there.  For example, http://www.example.com/foo might not be able to access http://www.example.com/bar if bar sets document.domain to example.com.
&gt; 
&gt; The even stranger case is when http://example.com/foo can&apos;t talk with http://www.example.com/bar even after bar sets document.domain to example.com.  The rule is that either the both need to have set document.domain or neither of them can have set it.

Makes sense. I think I&apos;ll take that in a separate patch, if you don&apos;t mind, just to keep this one focused on sandboxing: I&apos;ve filed https://bugs.webkit.org/show_bug.cgi?id=96247 to cover it.

I&apos;ve rebased the patch onto ToT, updated a few more test baselines, and slightly improved the wording of the error.  Let&apos;s see what the bots think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>715871</commentid>
    <comment_count>11</comment_count>
      <attachid>163064</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-09-10 02:49:33 -0700</bug_when>
    <thetext>Comment on attachment 163064
Patch

Bots are happy. CQ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716167</commentid>
    <comment_count>12</comment_count>
      <attachid>163064</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-09-10 09:38:05 -0700</bug_when>
    <thetext>Comment on attachment 163064
Patch

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

&gt; LayoutTests/platform/chromium/http/tests/security/sandboxed-iframe-modify-self-expected.txt:3
&gt; -CONSOLE MESSAGE: Unsafe JavaScript attempt to access frame with URL http://127.0.0.1:8000/security/sandboxed-iframe-modify-self.html from frame with URL http://127.0.0.1:8000/security/resources/sandboxed-iframe-modify-self.html. Domains, protocols and ports must match.
&gt; +CONSOLE MESSAGE: Sandbox access violation: Unsafe JavaScript attempt to access frame with URL http://127.0.0.1:8000/security/sandboxed-iframe-modify-self.html from frame with URL http://127.0.0.1:8000/security/resources/sandboxed-iframe-modify-self.html. The frame requesting access is sandboxed into a unique origin.

We will probably need to rebaseline the non-chromium versions of these results.  I&apos;ll watch the tree and take care of it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716173</commentid>
    <comment_count>13</comment_count>
      <attachid>163064</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-10 09:44:46 -0700</bug_when>
    <thetext>Comment on attachment 163064
Patch

Clearing flags on attachment: 163064

Committed r128070: &lt;http://trac.webkit.org/changeset/128070&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>716174</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-10 09:44:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163004</attachid>
            <date>2012-09-09 12:03:35 -0700</date>
            <delta_ts>2012-09-10 01:39:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64079-20120909210309.patch</filename>
            <type>text/plain</type>
            <size>11906</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3ODk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzZkMjM1ZThhMzA1MTQ0
MTkwZjljNGZiZWMzZDhlZjZkNzUzNWQxMi4uMjg4OWNmODcyNWQ4ZTg4N2MzNDg0MzdkNzU5MTdi
ZTU0M2UyZDNiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA5LTA5ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2xhcmlmeSB0aGUgY2F1c2Ug
b2YgY29uc29sZSB3YXJuaW5ncyBnZW5lcmF0ZWQgYnkgImNyb3NzLW9yaWdpbiIgYWNjZXNzIHRv
IHNhbmRib3hlZCBpZnJhbWVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjQwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUaGUgZXJyb3IgbWVzc2FnZSBnZW5lcmF0ZWQgd2hlbiBhY2Nlc3NpbmcgY3Jv
c3Mtb3JpZ2luIGNvbnRlbnQgaXMgYSBiaXQKKyAgICAgICAgdG9vIGdlbmVyaWMgYXQgdGhlIG1v
bWVudCwgd2hpY2ggaXMgbWlzbGVhZGluZyB3aGVuIHRoZSAiY3Jvc3Mtb3JpZ2luIgorICAgICAg
ICBuYXR1cmUgb2YgYW4gYWNjZXNzIGF0dGVtcHQgaXNuJ3QgdmlzaWJsZSBpbiB0aGUgVVJMcyB0
aGF0IHRoZSBlcnJvcgorICAgICAgICBkaXNwbGF5cy4gU2FuZGJveGVkIGlmcmFtZXMsIGZvciBl
eGFtcGxlLCBhcmUgcHV0IGludG8gdW5pcXVlIG9yaWdpbnMgYnkKKyAgICAgICAgZGVmYXVsdCwg
bWVhbmluZyB0aGF0IGFsbCBhY2Nlc3MgaW4gb3Igb3V0IGFyZSBzdWJqZWN0IHRvIGNyb3NzLW9y
aWdpbgorICAgICAgICByZXN0cmljdGlvbnMsIGV2ZW4gaWYgdGhlIHJlc291cmNlcyB3b3VsZCBv
dGhlcndpc2UgYmUgc2FtZS1vcmlnaW4uCisKKyAgICAgICAgVGhpcyBwYXRjaCBpbXByb2NlcyB0
aGUgZXJyb3IgbWVzc2FnZSB0byBleHBsaWNpdGx5IHBvaW50IHRvIHNhbmRib3hpbmcKKyAgICAg
ICAgYXMgdGhlIGNvcmUgb2YgY3Jvc3Mtb3JpZ2luIHJlcXVlc3RzIHdoZW4gcmVsZXZhbnQuIEl0
IGFkZHMgYSBzaW5nbGUgbmV3CisgICAgICAgIHRlc3QgdG8gY2hlY2sgYWNjZXNzIGZyb20gcGFy
ZW50cyB0byBjaGlsZHJlbiwgYW5kIHJlbGllcyBvbiBleGlzdGluZworICAgICAgICB0ZXN0cyBm
b3IgYWNjZXNzIGluIHRoZSBvdGhlciBkaXJlY3Rpb24uCisKKyAgICAgICAgVGVzdDogaHR0cC90
ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLWJsb2Nrcy1hY2Nlc3MtZnJvbS1wYXJlbnQu
aHRtbAorCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RE9NV2luZG93Ojpjcm9zc0RvbWFpbkFjY2Vzc0Vycm9yTWVzc2FnZSk6CisgICAgICAgICAgICBD
aGVjayAnaXNTYW5kYm94ZWQoU2FuZGJveE9yaWdpbiknIGFnYWluc3QgdGhlIGRvY3VtZW50IGFu
ZAorICAgICAgICAgICAgYWN0aXZlV2luZG93IHdoZW4gZ2VuZXJhdGluZyB0aGUgZXJyb3IgbWVz
c2FnZS4gSWYgb25lIG9yIHRoZSBvdGhlcgorICAgICAgICAgICAgaXMgc2FuZGJveGVkLCBtYWtl
IHRoYXQgY2xlYXIgaW4gdGhlIGNvbnNvbGUgd2FybmluZy4KKwogMjAxMi0wOS0wNyAgQWRhbSBC
YXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIEhUTUxUb2tlbml6ZXIgc2hvdWxk
IHVzZSB0aGUgbGF0ZXN0IEVmZmljaWVudFN0cmluZ3MgaG90bmVzcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuY3BwCmluZGV4IGQ3ODdhNjViZDZkODBjNTUwZjhkMTJhMGQ0ZjEzMWY3ODYxZDE3YWQu
LjViOTE2NDE5NzUyMjhhM2Y3YjllNGNlYzlhZDQzZDdkOTg0ZmNlODAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5jcHAKQEAgLTE3NTgsNyArMTc1OCwxMiBAQCBTdHJpbmcgRE9NV2luZG93Ojpj
cm9zc0RvbWFpbkFjY2Vzc0Vycm9yTWVzc2FnZShET01XaW5kb3cqIGFjdGl2ZVdpbmRvdykKICAg
ICAvLyBGSVhNRTogVGhpcyBlcnJvciBtZXNzYWdlIHNob3VsZCBjb250YWluIG1vcmUgc3BlY2lm
aWNzIG9mIHdoeSB0aGUgc2FtZSBvcmlnaW4gY2hlY2sgaGFzIGZhaWxlZC4KICAgICAvLyBQZXJo
YXBzIHdlIHNob3VsZCBpbnZvbHZlIHRoZSBzZWN1cml0eSBvcmlnaW4gb2JqZWN0IGluIGNvbXBv
c2luZyBpdC4KICAgICAvLyBGSVhNRTogVGhpcyBtZXNzYWdlLCBhbmQgb3RoZXIgY29uc29sZSBt
ZXNzYWdlcywgaGF2ZSBleHRyYSBuZXdsaW5lcy4gU2hvdWxkIHJlbW92ZSB0aGVtLgotICAgIHJl
dHVybiAiVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBhY2Nlc3MgZnJhbWUgd2l0aCBVUkwg
IiArIGRvY3VtZW50KCktPnVybCgpLnN0cmluZygpICsgIiBmcm9tIGZyYW1lIHdpdGggVVJMICIg
KyBhY3RpdmVXaW5kb3dVUkwuc3RyaW5nKCkgKyAiLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBv
cnRzIG11c3QgbWF0Y2guXG4iOworICAgIFN0cmluZyBtZXNzYWdlID0gIlVuc2FmZSBKYXZhU2Ny
aXB0IGF0dGVtcHQgdG8gYWNjZXNzIGZyYW1lIHdpdGggVVJMICIgKyBkb2N1bWVudCgpLT51cmwo
KS5zdHJpbmcoKSArICIgZnJvbSBmcmFtZSB3aXRoIFVSTCAiICsgYWN0aXZlV2luZG93VVJMLnN0
cmluZygpICsgIi4iOworICAgIGlmIChkb2N1bWVudCgpLT5pc1NhbmRib3hlZChTYW5kYm94T3Jp
Z2luKSkKKyAgICAgICAgcmV0dXJuICJTYW5kYm94IGFjY2VzcyB2aW9sYXRpb246ICIgKyBtZXNz
YWdlICsgIiBUaGUgZm9ybWVyIGZyYW1lIGlzIHNhbmRib3hlZC5cbiI7CisgICAgaWYgKGFjdGl2
ZVdpbmRvdy0+ZG9jdW1lbnQoKS0+aXNTYW5kYm94ZWQoU2FuZGJveE9yaWdpbikpCisgICAgICAg
IHJldHVybiAiU2FuZGJveCBhY2Nlc3MgdmlvbGF0aW9uOiAiICsgbWVzc2FnZSArICIgVGhlIGxh
dHRlciBmcmFtZSBpcyBzYW5kYm94ZWQuXG4iOworICAgIHJldHVybiBtZXNzYWdlICsgIiBEb21h
aW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guXG4iOwogfQogCiBib29sIERPTVdp
bmRvdzo6aXNJbnNlY3VyZVNjcmlwdEFjY2VzcyhET01XaW5kb3cqIGFjdGl2ZVdpbmRvdywgY29u
c3QgU3RyaW5nJiB1cmxTdHJpbmcpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTc1MWI5MWNkMDE5N2IzZDc4NDI3NjE2ZTE3
ZDhhMjhkYTA5ZTVmOC4uZWFmMzJlZjgxNWY2NzY4MDFkZjkwZGRkOTc2Mzg5ZDc1MWYxMmY5NiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA5LTA5ICBNaWtlIFdlc3QgIDxta3dzdEBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgQ29uc29sZSB3YXJuaW5ncyBnZW5lcmF0ZWQgYnkgc2NyaXB0
IGFjY2VzcyB0byBzYW5kYm94ZWQgaWZyYW1lcyBzaG91bGQgbWFrZSB0aGUgdmlvbGF0aW9uIGNs
ZWFyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQw
NzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0
dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2JsYW5rLmh0bWw6IEFkZGVkLgorICAgICAgICAg
ICAgQWRkaW5nIGEgYmxhbmsgcmVzb3VyY2UgZm9yIGEgc2FtZS1vcmlnaW4gYWNjZXNzIHRlc3Qu
CisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLWJsb2Nrcy1h
Y2Nlc3MtZnJvbS1wYXJlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtYmxvY2tzLWFjY2Vzcy1mcm9tLXBhcmVudC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgICAgIFBhcmVudHMgc2hvdWxkbid0IGJlIGFibGUgdG8gYWNj
ZXNzIHByb3BlcnRpZXMgKGxpa2UgbG9jYXRpb24pIG9mCisgICAgICAgICAgICB0aGVpciBzYW5k
Ym94ZWQgY2hpbGQgZnJhbWVzLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FuZGJv
eGVkLWlmcmFtZS1tb2RpZnktc2VsZi1leHBlY3RlZC50eHQ6CisgICAgICAgICogaHR0cC90ZXN0
cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLW9yaWdpbi1hZGQtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1vcmlnaW4tcmVtb3Zl
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3Nl
Y3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtbW9kaWZ5LXNlbGYtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAgICAgVHdlYWtpbmcgZXJyb3IgbWVzc2FnZXMuCisKIDIwMTItMDktMDcgIEZhZHkgU2FtdWVs
ICA8ZnNhbXVlbEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCByZWJhc2VsaW5l
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMv
YmxhbmsuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvcmVzb3VyY2VzL2Js
YW5rLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZTY5ZGUyOWJiMmQxZDY0MzRiOGIyOWFlNzc1YWQ4YzJlNDhj
NTM5MQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94
ZWQtaWZyYW1lLWJsb2Nrcy1hY2Nlc3MtZnJvbS1wYXJlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLWJsb2Nrcy1hY2Nlc3Mt
ZnJvbS1wYXJlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA4NWYxZjBlYjc4ZDNlMmNiMDVk
OTU1ZDc4ZGUzMmNhNWYwYTcwMzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtYmxvY2tzLWFjY2Vzcy1mcm9tLXBhcmVu
dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMCBAQAorQ09OU09MRSBNRVNTQUdFOiBTYW5kYm94
IGFjY2VzcyB2aW9sYXRpb246IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gYWNjZXNzIGZy
YW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvYmxh
bmsuaHRtbCBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0
eS9zYW5kYm94ZWQtaWZyYW1lLWJsb2Nrcy1hY2Nlc3MtZnJvbS1wYXJlbnQuaHRtbC4gVGhlIGZv
cm1lciBmcmFtZSBpcyBzYW5kYm94ZWQuCisKK1NhbmRib3hpbmcgYSBmcmFtZSBwdXRzIGl0IGlu
dG8gYSB1bmlxdWUgb3JpZ2luIGJ5IGRlZmF1bHQsIHdoaWNoIHRoZSBjb250YWluaW5nIGRvY3Vt
ZW50IHNob3VsZG4ndCBoYXZlIHNjcmlwdCBhY2Nlc3MgdG8uIFRoaXMgdGVzdCBwYXNzZXMgaWYg
YSBjb25zb2xlIHdhcm5pbmcgaXMgZ2VuZXJhdGVkLCBub3RpbmcgdGhlIGFjY2VzcyB2aW9sYXRp
b24uCisKKworCistLS0tLS0tLQorRnJhbWU6ICd0ZXN0ZnJhbWUnCistLS0tLS0tLQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUt
YmxvY2tzLWFjY2Vzcy1mcm9tLXBhcmVudC5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLWJsb2Nrcy1hY2Nlc3MtZnJvbS1wYXJlbnQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40MmE2ODRkZjk0ZGE4YThiMDU5MDUxMTdkZDk0ZGQ4MDA5MmUzNGI3Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQt
aWZyYW1lLWJsb2Nrcy1hY2Nlc3MtZnJvbS1wYXJlbnQuaHRtbApAQCAtMCwwICsxLDI0IEBACis8
IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdD4KKyAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcENoaWxkRnJhbWVzQXNUZXh0KCk7CisgICAg
ICAgIH0KKworICAgICAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAgICAgdmFyIHRlc3Qg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdGZyYW1lJyk7CisgICAgICAgICAgICB2YXIg
bG9jYXRpb24gPSB0ZXN0LmNvbnRlbnRXaW5kb3cubG9jYXRpb24uaHJlZjsKKyAgICAgICAgfQor
ICAgIDwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keT4KKyAgICA8cD5TYW5kYm94aW5nIGEgZnJh
bWUgcHV0cyBpdCBpbnRvIGEgdW5pcXVlIG9yaWdpbiBieSBkZWZhdWx0LCB3aGljaCB0aGUKKyAg
ICBjb250YWluaW5nIGRvY3VtZW50IHNob3VsZG4ndCBoYXZlIHNjcmlwdCBhY2Nlc3MgdG8uIFRo
aXMgdGVzdCBwYXNzZXMgaWYgYQorICAgIGNvbnNvbGUgd2FybmluZyBpcyBnZW5lcmF0ZWQsIG5v
dGluZyB0aGUgYWNjZXNzIHZpb2xhdGlvbi48L3A+CisKKyAgICA8aWZyYW1lIHNyYz0icmVzb3Vy
Y2VzL2JsYW5rLmh0bWwiIGlkPSJ0ZXN0ZnJhbWUiIHNhbmRib3ggb25sb2FkPSJ0ZXN0KCk7Ij48
L2lmcmFtZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1tb2RpZnktc2VsZi1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtbW9kaWZ5
LXNlbGYtZXhwZWN0ZWQudHh0CmluZGV4IGEzZWRlMWFmNDkxYjQ3ZmI4NDM1ZTFmZDI3YjA5YWIy
NzIyODJmNGUuLmVhYzM2N2QzZWZmYThiMzM1MGM2MzcyYmJlNDIxZjE4Y2QwMjY3MmQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1t
b2RpZnktc2VsZi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1
cml0eS9zYW5kYm94ZWQtaWZyYW1lLW1vZGlmeS1zZWxmLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBhY2Nl
c3MgZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3NhbmRib3hl
ZC1pZnJhbWUtbW9kaWZ5LXNlbGYuaHRtbCBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvc2FuZGJveGVkLWlmcmFtZS1tb2RpZnktc2Vs
Zi5odG1sLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guCitDT05TT0xF
IE1FU1NBR0U6IFNhbmRib3ggYWNjZXNzIHZpb2xhdGlvbjogVW5zYWZlIEphdmFTY3JpcHQgYXR0
ZW1wdCB0byBhY2Nlc3MgZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3Vy
aXR5L3NhbmRib3hlZC1pZnJhbWUtbW9kaWZ5LXNlbGYuaHRtbCBmcm9tIGZyYW1lIHdpdGggVVJM
IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvc2FuZGJveGVkLWlmcmFt
ZS1tb2RpZnktc2VsZi5odG1sLiBUaGUgbGF0dGVyIGZyYW1lIGlzIHNhbmRib3hlZC4KIAogVGhp
cyBpcyBhICJzYW5pdHkiIHRlc3QgY2FzZSB0byB2ZXJpZnkgdGhhdCBhIHNhbmRib3hlZCBmcmFt
ZSBjYW5ub3QgYnJlYWsgb3V0IG9mIGl0cyBzYW5kYm94IGJ5IG1vZGlmeWluZyBpdHMgb3duIHNh
bmRib3ggYXR0cmlidXRlLiBUd28gYXR0ZW1wdHMgYXJlIG1hZGU6CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1vcmlnaW4tYWRk
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FuZGJveGVk
LWlmcmFtZS1vcmlnaW4tYWRkLWV4cGVjdGVkLnR4dAppbmRleCAxZDdhZjI1Mzk5NTE3MTYwOGM5
ZDQ1YzM5MzJiNzg4Yzk2ZTUxNWRhLi4yNGNiMjc0MDIzZGI5N2JiYWQ5YWZlYTVhYTBiZGFkMzYw
MThkMzkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbmRi
b3hlZC1pZnJhbWUtb3JpZ2luLWFkZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLW9yaWdpbi1hZGQtZXhwZWN0ZWQudHh0
CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRl
bXB0IHRvIGFjY2VzcyBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJp
dHkvc2FuZGJveGVkLWlmcmFtZS1vcmlnaW4tYWRkLmh0bWwgZnJvbSBmcmFtZSB3aXRoIFVSTCBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3NhbmRib3hlZC1pZnJhbWUt
b3JpZ2luLWFkZC1zdGVwMS5odG1sLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3Qg
bWF0Y2guCitDT05TT0xFIE1FU1NBR0U6IFNhbmRib3ggYWNjZXNzIHZpb2xhdGlvbjogVW5zYWZl
IEphdmFTY3JpcHQgYXR0ZW1wdCB0byBhY2Nlc3MgZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4w
LjAuMTo4MDAwL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtb3JpZ2luLWFkZC5odG1sIGZyb20g
ZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9z
YW5kYm94ZWQtaWZyYW1lLW9yaWdpbi1hZGQtc3RlcDEuaHRtbC4gVGhlIGxhdHRlciBmcmFtZSBp
cyBzYW5kYm94ZWQuCiAKIFRlc3QgdGhhdCBhZGRpbmcgYWxsb3ctb3JpZ2luIGFmdGVyIGNyZWF0
aW5nIGFuIGlmcmFtZSBkb2Vzbid0IG1vZGlmeSB0aGUgb3JpZ2luIG9mIGFuIGV4aXN0aW5nIGRv
Y3VtZW50LCBidXQgaXQgZG9lc24gbW9kaWZ5IHRoZSBvcmlnaW4gb2YgdGhlIG5leHQgZG9jdW1l
bnQuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FuZGJv
eGVkLWlmcmFtZS1vcmlnaW4tcmVtb3ZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1vcmlnaW4tcmVtb3ZlLWV4cGVjdGVkLnR4
dAppbmRleCBhNjVmNTc5NmU5NDdhMzg3NDVjMzcyM2MwNmYzODMxNDFiYTM5YmY5Li4zZWQyMDA3
ODY1MWVlYjc4Yzk4MGRhYzU4NjhkN2VlMjk2MzY5NGMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtb3JpZ2luLXJlbW92ZS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQt
aWZyYW1lLW9yaWdpbi1yZW1vdmUtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09M
RSBNRVNTQUdFOiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGFjY2VzcyBmcmFtZSB3aXRo
IFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1vcmln
aW4tcmVtb3ZlLmh0bWwgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAv
c2VjdXJpdHkvcmVzb3VyY2VzL3NhbmRib3hlZC1pZnJhbWUtb3JpZ2luLXJlbW92ZS1zdGVwMi5o
dG1sLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guCitDT05TT0xFIE1F
U1NBR0U6IFNhbmRib3ggYWNjZXNzIHZpb2xhdGlvbjogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1w
dCB0byBhY2Nlc3MgZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5
L3NhbmRib3hlZC1pZnJhbWUtb3JpZ2luLXJlbW92ZS5odG1sIGZyb20gZnJhbWUgd2l0aCBVUkwg
aHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9zYW5kYm94ZWQtaWZyYW1l
LW9yaWdpbi1yZW1vdmUtc3RlcDIuaHRtbC4gVGhlIGxhdHRlciBmcmFtZSBpcyBzYW5kYm94ZWQu
CiAKIFRlc3QgdGhhdCByZW1vdmluZyBhbGxvdy1vcmlnaW4gYWZ0ZXIgY3JlYXRpbmcgYW4gaWZy
YW1lIGRvZXNuJ3QgbW9kaWZ5IHRoZSBvcmlnaW4gb2YgYW4gZXhpc3RpbmcgZG9jdW1lbnQsIGJ1
dCBpdCBkb2VzbiBtb2RpZnkgdGhlIG9yaWdpbiBvZiB0aGUgbmV4dCBkb2N1bWVudC4KIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1cml0
eS9zYW5kYm94ZWQtaWZyYW1lLW1vZGlmeS1zZWxmLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1t
b2RpZnktc2VsZi1leHBlY3RlZC50eHQKaW5kZXggZGU1ZWQ2ZDQ4NDZhYTNiNTYzN2E1YWJlMjFm
NjczYjU4YTE2ZDg2YS4uNjlkNDY2ZWEyOGVhNTg2YmM5MzkyZDU5MzRlNTA4M2IwODI2MGIxMyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9zZWN1
cml0eS9zYW5kYm94ZWQtaWZyYW1lLW1vZGlmeS1zZWxmLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hlZC1p
ZnJhbWUtbW9kaWZ5LXNlbGYtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogQ09OU09MRSBN
RVNTQUdFOiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGluaXRpYXRlIGEgbmF2aWdhdGlv
biBjaGFuZ2UgZm9yIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0
eS9zYW5kYm94ZWQtaWZyYW1lLWZvcm0tdG9wLmh0bWwgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3NhbmRib3hlZC1pZnJhbWUtZm9y
bS10b3AuaHRtbC4KIAotQ09OU09MRSBNRVNTQUdFOiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0
IHRvIGFjY2VzcyBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkv
c2FuZGJveGVkLWlmcmFtZS1tb2RpZnktc2VsZi5odG1sIGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0
cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9zYW5kYm94ZWQtaWZyYW1lLW1v
ZGlmeS1zZWxmLmh0bWwuIERvbWFpbnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC4K
K0NPTlNPTEUgTUVTU0FHRTogU2FuZGJveCBhY2Nlc3MgdmlvbGF0aW9uOiBVbnNhZmUgSmF2YVNj
cmlwdCBhdHRlbXB0IHRvIGFjY2VzcyBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1tb2RpZnktc2VsZi5odG1sIGZyb20gZnJhbWUg
d2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9zYW5kYm94
ZWQtaWZyYW1lLW1vZGlmeS1zZWxmLmh0bWwuIFRoZSBsYXR0ZXIgZnJhbWUgaXMgc2FuZGJveGVk
LgogCiBUaGlzIGlzIGEgInNhbml0eSIgdGVzdCBjYXNlIHRvIHZlcmlmeSB0aGF0IGEgc2FuZGJv
eGVkIGZyYW1lIGNhbm5vdCBicmVhayBvdXQgb2YgaXRzIHNhbmRib3ggYnkgbW9kaWZ5aW5nIGl0
cyBvd24gc2FuZGJveCBhdHRyaWJ1dGUuIFR3byBhdHRlbXB0cyBhcmUgbWFkZToKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163064</attachid>
            <date>2012-09-10 01:39:48 -0700</date>
            <delta_ts>2012-09-10 09:44:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64079-20120910103924.patch</filename>
            <type>text/plain</type>
            <size>19492</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4MDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTRmMjZjNGY2ZjVhYzE5
NTIxYTcyNTUzMzgzN2YyZmZhMDRiN2I1My4uYTBkMGUzMGVlM2U0ZjlmODI5MDVlYTFjM2VjYWU0
OTQzYzViZmYyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTA5LTEwICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ2xhcmlmeSB0aGUgY2F1c2Ug
b2YgY29uc29sZSB3YXJuaW5ncyBnZW5lcmF0ZWQgYnkgImNyb3NzLW9yaWdpbiIgYWNjZXNzIHRv
IHNhbmRib3hlZCBpZnJhbWVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjQwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisg
ICAgICAgIFRoZSBlcnJvciBtZXNzYWdlIGdlbmVyYXRlZCB3aGVuIGFjY2Vzc2luZyBjcm9zcy1v
cmlnaW4gY29udGVudCBpcyBhIGJpdAorICAgICAgICB0b28gZ2VuZXJpYyBhdCB0aGUgbW9tZW50
LCB3aGljaCBpcyBtaXNsZWFkaW5nIHdoZW4gdGhlICJjcm9zcy1vcmlnaW4iCisgICAgICAgIG5h
dHVyZSBvZiBhbiBhY2Nlc3MgYXR0ZW1wdCBpc24ndCB2aXNpYmxlIGluIHRoZSBVUkxzIHRoYXQg
dGhlIGVycm9yCisgICAgICAgIGRpc3BsYXlzLiBTYW5kYm94ZWQgaWZyYW1lcywgZm9yIGV4YW1w
bGUsIGFyZSBwdXQgaW50byB1bmlxdWUgb3JpZ2lucyBieQorICAgICAgICBkZWZhdWx0LCBtZWFu
aW5nIHRoYXQgYWxsIGFjY2VzcyBpbiBvciBvdXQgYXJlIHN1YmplY3QgdG8gY3Jvc3Mtb3JpZ2lu
CisgICAgICAgIHJlc3RyaWN0aW9ucywgZXZlbiBpZiB0aGUgcmVzb3VyY2VzIHdvdWxkIG90aGVy
d2lzZSBiZSBzYW1lLW9yaWdpbi4KKworICAgICAgICBUaGlzIHBhdGNoIGltcHJvY2VzIHRoZSBl
cnJvciBtZXNzYWdlIHRvIGV4cGxpY2l0bHkgcG9pbnQgdG8gc2FuZGJveGluZworICAgICAgICBh
cyB0aGUgY29yZSBvZiBjcm9zcy1vcmlnaW4gcmVxdWVzdHMgd2hlbiByZWxldmFudC4gSXQgYWRk
cyBhIHNpbmdsZSBuZXcKKyAgICAgICAgdGVzdCB0byBjaGVjayBhY2Nlc3MgZnJvbSBwYXJlbnRz
IHRvIGNoaWxkcmVuLCBhbmQgcmVsaWVzIG9uIGV4aXN0aW5nCisgICAgICAgIHRlc3RzIGZvciBh
Y2Nlc3MgaW4gdGhlIG90aGVyIGRpcmVjdGlvbi4KKworICAgICAgICBUZXN0OiBodHRwL3Rlc3Rz
L3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtYmxvY2tzLWFjY2Vzcy1mcm9tLXBhcmVudC5odG1s
CisKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01X
aW5kb3c6OmNyb3NzRG9tYWluQWNjZXNzRXJyb3JNZXNzYWdlKToKKyAgICAgICAgICAgIENoZWNr
ICdpc1NhbmRib3hlZChTYW5kYm94T3JpZ2luKScgYWdhaW5zdCB0aGUgZG9jdW1lbnQgYW5kCisg
ICAgICAgICAgICBhY3RpdmVXaW5kb3cgd2hlbiBnZW5lcmF0aW5nIHRoZSBlcnJvciBtZXNzYWdl
LiBJZiBvbmUgb3IgdGhlIG90aGVyCisgICAgICAgICAgICBpcyBzYW5kYm94ZWQsIG1ha2UgdGhh
dCBjbGVhciBpbiB0aGUgY29uc29sZSB3YXJuaW5nLgorCiAyMDEyLTA5LTA5ICBUYWlqdSBUc3Vp
a2kgIDx0emlrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBzdWNjZXNzQ2FsbGJhY2sgb2YgUmVz
b2x2ZUxvY2FsRmlsZVN5c3RlbVVSTCBzaG91bGQgbm90IGJlIG9wdGlvbmFsLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuY3BwCmluZGV4IGQ3ODdhNjViZDZkODBjNTUwZjhkMTJhMGQ0ZjEzMWY3ODYx
ZDE3YWQuLjZkZjVhOWE5OTI0NTYzNTBhYjk1MjJjMDYyMTFlODFiNzJkZTZlZjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTE3NTUsMTAgKzE3NTUsMTYgQEAgU3RyaW5nIERPTVdp
bmRvdzo6Y3Jvc3NEb21haW5BY2Nlc3NFcnJvck1lc3NhZ2UoRE9NV2luZG93KiBhY3RpdmVXaW5k
b3cpCiAgICAgaWYgKGFjdGl2ZVdpbmRvd1VSTC5pc051bGwoKSkKICAgICAgICAgcmV0dXJuIFN0
cmluZygpOwogCi0gICAgLy8gRklYTUU6IFRoaXMgZXJyb3IgbWVzc2FnZSBzaG91bGQgY29udGFp
biBtb3JlIHNwZWNpZmljcyBvZiB3aHkgdGhlIHNhbWUgb3JpZ2luIGNoZWNrIGhhcyBmYWlsZWQu
Ci0gICAgLy8gUGVyaGFwcyB3ZSBzaG91bGQgaW52b2x2ZSB0aGUgc2VjdXJpdHkgb3JpZ2luIG9i
amVjdCBpbiBjb21wb3NpbmcgaXQuCiAgICAgLy8gRklYTUU6IFRoaXMgbWVzc2FnZSwgYW5kIG90
aGVyIGNvbnNvbGUgbWVzc2FnZXMsIGhhdmUgZXh0cmEgbmV3bGluZXMuIFNob3VsZCByZW1vdmUg
dGhlbS4KLSAgICByZXR1cm4gIlVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gYWNjZXNzIGZy
YW1lIHdpdGggVVJMICIgKyBkb2N1bWVudCgpLT51cmwoKS5zdHJpbmcoKSArICIgZnJvbSBmcmFt
ZSB3aXRoIFVSTCAiICsgYWN0aXZlV2luZG93VVJMLnN0cmluZygpICsgIi4gRG9tYWlucywgcHJv
dG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLlxuIjsKKyAgICBTdHJpbmcgbWVzc2FnZSA9IG1h
a2VTdHJpbmcoIlVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gYWNjZXNzIGZyYW1lIHdpdGgg
VVJMICIsIGRvY3VtZW50KCktPnVybCgpLnN0cmluZygpLCAiIGZyb20gZnJhbWUgd2l0aCBVUkwg
IiwgYWN0aXZlV2luZG93VVJMLnN0cmluZygpLCAiLiIpOworICAgIGlmIChkb2N1bWVudCgpLT5p
c1NhbmRib3hlZChTYW5kYm94T3JpZ2luKSB8fCBhY3RpdmVXaW5kb3ctPmRvY3VtZW50KCktPmlz
U2FuZGJveGVkKFNhbmRib3hPcmlnaW4pKSB7CisgICAgICAgIGlmIChkb2N1bWVudCgpLT5pc1Nh
bmRib3hlZChTYW5kYm94T3JpZ2luKSAmJiBhY3RpdmVXaW5kb3ctPmRvY3VtZW50KCktPmlzU2Fu
ZGJveGVkKFNhbmRib3hPcmlnaW4pKQorICAgICAgICAgICAgcmV0dXJuIG1ha2VTdHJpbmcoIlNh
bmRib3ggYWNjZXNzIHZpb2xhdGlvbjogIiwgbWVzc2FnZSwgIiBCb3RoIGZyYW1lcyBhcmUgc2Fu
ZGJveGVkIGludG8gdW5pcXVlIG9yaWdpbnMuXG4iKTsKKyAgICAgICAgaWYgKGRvY3VtZW50KCkt
PmlzU2FuZGJveGVkKFNhbmRib3hPcmlnaW4pKQorICAgICAgICAgICAgcmV0dXJuIG1ha2VTdHJp
bmcoIlNhbmRib3ggYWNjZXNzIHZpb2xhdGlvbjogIiwgbWVzc2FnZSwgIiBUaGUgZnJhbWUgYmVp
bmcgYWNjZXNzZWQgaXMgc2FuZGJveGVkIGludG8gYSB1bmlxdWUgb3JpZ2luLlxuIik7CisgICAg
ICAgIHJldHVybiBtYWtlU3RyaW5nKCJTYW5kYm94IGFjY2VzcyB2aW9sYXRpb246ICIsIG1lc3Nh
Z2UsICIgVGhlIGZyYW1lIHJlcXVlc3RpbmcgYWNjZXNzIGlzIHNhbmRib3hlZCBpbnRvIGEgdW5p
cXVlIG9yaWdpbi5cbiIpOworICAgIH0KKyAgICByZXR1cm4gbWFrZVN0cmluZyhtZXNzYWdlLCAi
IERvbWFpbnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC5cbiIpOwogfQogCiBib29s
IERPTVdpbmRvdzo6aXNJbnNlY3VyZVNjcmlwdEFjY2VzcyhET01XaW5kb3cqIGFjdGl2ZVdpbmRv
dywgY29uc3QgU3RyaW5nJiB1cmxTdHJpbmcpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjZiODNhNmEzN2RkNDlkYjU5OWMy
NWY0MzYyNjYwMzlhZGRhNmVmMS4uYTlkZWNmODU1OGU2ZmI1ZjNiOTAzNzFiYzlmMGI3OGMwZjBj
MWZmMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA5LTEwICBNaWtlIFdlc3QgIDxta3dz
dEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ29uc29sZSB3YXJuaW5ncyBnZW5lcmF0ZWQgYnkg
c2NyaXB0IGFjY2VzcyB0byBzYW5kYm94ZWQgaWZyYW1lcyBzaG91bGQgbWFrZSB0aGUgdmlvbGF0
aW9uIGNsZWFyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjQwNzkKKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgICog
aHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvYmxhbmsuaHRtbDogQWRkZWQuCisgICAgICAg
ICAgICBBZGRpbmcgYSBibGFuayByZXNvdXJjZSBmb3IgYSBzYW1lLW9yaWdpbiBhY2Nlc3MgdGVz
dC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtYmxvY2tz
LWFjY2Vzcy1mcm9tLXBhcmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
dGVzdHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1ibG9ja3MtYWNjZXNzLWZyb20tcGFyZW50
Lmh0bWw6IEFkZGVkLgorICAgICAgICAgICAgUGFyZW50cyBzaG91bGRuJ3QgYmUgYWJsZSB0byBh
Y2Nlc3MgcHJvcGVydGllcyAobGlrZSBsb2NhdGlvbikgb2YKKyAgICAgICAgICAgIHRoZWlyIHNh
bmRib3hlZCBjaGlsZCBmcmFtZXMuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5k
Ym94ZWQtaWZyYW1lLW1vZGlmeS1zZWxmLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtb3JpZ2luLWFkZC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLW9yaWdpbi1yZW1v
dmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvc3JjZG9jLWlu
LXNhbmRib3gtY2Fubm90LWFjY2Vzcy1wYXJlbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0
dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zYW5kYm94ZWQtaWZyYW1lLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbmRi
b3hlZC1pZnJhbWUtbW9kaWZ5LXNlbGYtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvc3JjZG9jLWluLXNhbmRib3gtY2Fubm90LWFj
Y2Vzcy1wYXJlbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAgICAgVXBkYXRpbmcgZXhpc3Rpbmcg
ZXJyb3IgbWVzc2FnZXMuCisKIDIwMTItMDktMTAgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3Rv
cGhlLmR1bWV6QGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXSBTa2lwIDMgc3BhdGlhbCBuYXZp
Z2F0aW9uIHRlc3QgY2FzZXMgZmFpbGluZyBhZnRlciByMTI4MDA2CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94
LWFsbG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1hbGxvdy1z
Y3JpcHRzLWluLWh0dHAtaGVhZGVyLWV4cGVjdGVkLnR4dAppbmRleCAyMjBlNDdmMjk0MWUxZjc2
NTY4ZWU2Mjg0ZmRjYmZjZjM5ODEyYmQzLi43NjJmNGU0NzE5Y2Y0ZDEyM2YxYTRhZTcwMjZlNzE4
ZDA5MmVjMGI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2Nv
bnRlbnRTZWN1cml0eVBvbGljeS9zYW5kYm94LWFsbG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXIt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3NhbmRib3gtYWxsb3ctc2NyaXB0cy1pbi1odHRwLWhlYWRlci1leHBl
Y3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiBBTEVSVDogU2NyaXB0IGV4ZWN1dGVkIGluIGlmcmFt
ZS4KLUNPTlNPTEUgTUVTU0FHRTogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBhY2Nlc3Mg
ZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS9yZXNvdXJjZXMvc2FuZGJveC5waHA/c2FuZGJveD1hbGxvdy1zY3JpcHRzIGZy
b20gZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9zYW5kYm94LWFsbG93LXNjcmlwdHMtaW4taHR0cC1oZWFkZXIuaHRtbC4g
RG9tYWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorQ09OU09MRSBNRVNTQUdF
OiBTYW5kYm94IGFjY2VzcyB2aW9sYXRpb246IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8g
YWNjZXNzIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvcmVzb3VyY2VzL3NhbmRib3gucGhwP3NhbmRib3g9YWxsb3ctc2Ny
aXB0cyBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvc2FuZGJveC1hbGxvdy1zY3JpcHRzLWluLWh0dHAtaGVhZGVy
Lmh0bWwuIFRoZSBmcmFtZSBiZWluZyBhY2Nlc3NlZCBpcyBzYW5kYm94ZWQgaW50byBhIHVuaXF1
ZSBvcmlnaW4uCiAKIEFMRVJUOiBQQVNTOiBJZnJhbWUgd2FzIGluIGEgdW5pcXVlIG9yaWdpbgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gtaW4t
aHR0cC1oZWFkZXItZXhwZWN0ZWQudHh0CmluZGV4IDRmZDNjMTEzNjMwOGM4MWFmZmIxNTUzOGFi
MGY3MGJhNzczNGIzNTYuLjY4ZjY1YTU5NmQ3Y2E2NWQ5Y2UzYzc3MTQ4OWU2Yzk4ZTdhZWM1MTMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3NhbmRib3gtaW4taHR0cC1oZWFkZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NhbmRib3gt
aW4taHR0cC1oZWFkZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNT
QUdFOiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGFjY2VzcyBmcmFtZSB3aXRoIFVSTCBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291
cmNlcy9zYW5kYm94LnBocD9zYW5kYm94PWFsbG93LXRvcC1uYXZpZ2F0aW9uIGZyb20gZnJhbWUg
d2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLmh0bWwuIERvbWFpbnMsIHByb3RvY29scyBhbmQg
cG9ydHMgbXVzdCBtYXRjaC4KK0NPTlNPTEUgTUVTU0FHRTogU2FuZGJveCBhY2Nlc3MgdmlvbGF0
aW9uOiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGFjY2VzcyBmcmFtZSB3aXRoIFVSTCBo
dHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3Jlc291
cmNlcy9zYW5kYm94LnBocD9zYW5kYm94PWFsbG93LXRvcC1uYXZpZ2F0aW9uIGZyb20gZnJhbWUg
d2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBv
bGljeS9zYW5kYm94LWluLWh0dHAtaGVhZGVyLmh0bWwuIFRoZSBmcmFtZSBiZWluZyBhY2Nlc3Nl
ZCBpcyBzYW5kYm94ZWQgaW50byBhIHVuaXF1ZSBvcmlnaW4uCiAKIEFMRVJUOiBQQVNTOiBJZnJh
bWUgd2FzIGluIGEgdW5pcXVlIG9yaWdpbgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3NlY3VyaXR5L3Jlc291cmNlcy9ibGFuay5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvYmxhbmsuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MjVjNjFlNmI5
MzcyYzc3ZmFmZDUxMWM4N2I0YjI4MDZjNTkxNzRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9yZXNvdXJjZXMvYmxhbmsuaHRtbApAQCAtMCwwICsx
LDMgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtYmxvY2tzLWFjY2Vz
cy1mcm9tLXBhcmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3NhbmRib3hlZC1pZnJhbWUtYmxvY2tzLWFjY2Vzcy1mcm9tLXBhcmVudC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOWNkNWJjZDViY2U4MjM4NjEyMTE3NmZjYzY0MDExNGU3ZTRhMWE1MAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FuZGJv
eGVkLWlmcmFtZS1ibG9ja3MtYWNjZXNzLWZyb20tcGFyZW50LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDEwIEBACitDT05TT0xFIE1FU1NBR0U6IFNhbmRib3ggYWNjZXNzIHZpb2xhdGlvbjogVW5z
YWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBhY2Nlc3MgZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9ibGFuay5odG1sIGZyb20gZnJhbWUgd2l0
aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtYmxv
Y2tzLWFjY2Vzcy1mcm9tLXBhcmVudC5odG1sLiBUaGUgZnJhbWUgYmVpbmcgYWNjZXNzZWQgaXMg
c2FuZGJveGVkIGludG8gYSB1bmlxdWUgb3JpZ2luLgorCitTYW5kYm94aW5nIGEgZnJhbWUgcHV0
cyBpdCBpbnRvIGEgdW5pcXVlIG9yaWdpbiBieSBkZWZhdWx0LCB3aGljaCB0aGUgY29udGFpbmlu
ZyBkb2N1bWVudCBzaG91bGRuJ3QgaGF2ZSBzY3JpcHQgYWNjZXNzIHRvLiBUaGlzIHRlc3QgcGFz
c2VzIGlmIGEgY29uc29sZSB3YXJuaW5nIGlzIGdlbmVyYXRlZCwgbm90aW5nIHRoZSBhY2Nlc3Mg
dmlvbGF0aW9uLgorCisKKworLS0tLS0tLS0KK0ZyYW1lOiAndGVzdGZyYW1lJworLS0tLS0tLS0K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQt
aWZyYW1lLWJsb2Nrcy1hY2Nlc3MtZnJvbS1wYXJlbnQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1ibG9ja3MtYWNjZXNzLWZyb20tcGFyZW50
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDJhNjg0ZGY5NGRhOGE4YjA1OTA1MTE3ZGQ5NGRkODAwOTJlMzRi
NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2Fu
ZGJveGVkLWlmcmFtZS1ibG9ja3MtYWNjZXNzLWZyb20tcGFyZW50Lmh0bWwKQEAgLTAsMCArMSwy
NCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQ+CisgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7CisgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBDaGlsZEZyYW1lc0FzVGV4dCgp
OworICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAgICAgIHZh
ciB0ZXN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3RmcmFtZScpOworICAgICAgICAg
ICAgdmFyIGxvY2F0aW9uID0gdGVzdC5jb250ZW50V2luZG93LmxvY2F0aW9uLmhyZWY7CisgICAg
ICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHk+CisgICAgPHA+U2FuZGJveGlu
ZyBhIGZyYW1lIHB1dHMgaXQgaW50byBhIHVuaXF1ZSBvcmlnaW4gYnkgZGVmYXVsdCwgd2hpY2gg
dGhlCisgICAgY29udGFpbmluZyBkb2N1bWVudCBzaG91bGRuJ3QgaGF2ZSBzY3JpcHQgYWNjZXNz
IHRvLiBUaGlzIHRlc3QgcGFzc2VzIGlmIGEKKyAgICBjb25zb2xlIHdhcm5pbmcgaXMgZ2VuZXJh
dGVkLCBub3RpbmcgdGhlIGFjY2VzcyB2aW9sYXRpb24uPC9wPgorCisgICAgPGlmcmFtZSBzcmM9
InJlc291cmNlcy9ibGFuay5odG1sIiBpZD0idGVzdGZyYW1lIiBzYW5kYm94IG9ubG9hZD0idGVz
dCgpOyI+PC9pZnJhbWU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtbW9kaWZ5LXNlbGYtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1l
LW1vZGlmeS1zZWxmLWV4cGVjdGVkLnR4dAppbmRleCBhM2VkZTFhZjQ5MWI0N2ZiODQzNWUxZmQy
N2IwOWFiMjcyMjgyZjRlLi5iZDIyZTlmZTEzNjc5YjBkZTIwMDdkM2ZkZjlmZWJjODgyNWVhMDM3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hlZC1p
ZnJhbWUtbW9kaWZ5LXNlbGYtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1tb2RpZnktc2VsZi1leHBlY3RlZC50eHQKQEAg
LTEsNCArMSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQg
dG8gYWNjZXNzIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9z
YW5kYm94ZWQtaWZyYW1lLW1vZGlmeS1zZWxmLmh0bWwgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3NhbmRib3hlZC1pZnJhbWUtbW9k
aWZ5LXNlbGYuaHRtbC4gRG9tYWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgor
Q09OU09MRSBNRVNTQUdFOiBTYW5kYm94IGFjY2VzcyB2aW9sYXRpb246IFVuc2FmZSBKYXZhU2Ny
aXB0IGF0dGVtcHQgdG8gYWNjZXNzIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAw
MC9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLW1vZGlmeS1zZWxmLmh0bWwgZnJvbSBmcmFtZSB3
aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3NhbmRib3hl
ZC1pZnJhbWUtbW9kaWZ5LXNlbGYuaHRtbC4gVGhlIGZyYW1lIHJlcXVlc3RpbmcgYWNjZXNzIGlz
IHNhbmRib3hlZCBpbnRvIGEgdW5pcXVlIG9yaWdpbi4KIAogVGhpcyBpcyBhICJzYW5pdHkiIHRl
c3QgY2FzZSB0byB2ZXJpZnkgdGhhdCBhIHNhbmRib3hlZCBmcmFtZSBjYW5ub3QgYnJlYWsgb3V0
IG9mIGl0cyBzYW5kYm94IGJ5IG1vZGlmeWluZyBpdHMgb3duIHNhbmRib3ggYXR0cmlidXRlLiBU
d28gYXR0ZW1wdHMgYXJlIG1hZGU6CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1vcmlnaW4tYWRkLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1vcmlnaW4tYWRk
LWV4cGVjdGVkLnR4dAppbmRleCAxZDdhZjI1Mzk5NTE3MTYwOGM5ZDQ1YzM5MzJiNzg4Yzk2ZTUx
NWRhLi41NTI0YWZiNjJlYWFiZTg0Y2YyNDUyMDdjMjM1ZTc1MDA3YzQ1MDNhIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtb3JpZ2lu
LWFkZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9z
YW5kYm94ZWQtaWZyYW1lLW9yaWdpbi1hZGQtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAot
Q09OU09MRSBNRVNTQUdFOiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGFjY2VzcyBmcmFt
ZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFt
ZS1vcmlnaW4tYWRkLmh0bWwgZnJvbSBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvc2VjdXJpdHkvcmVzb3VyY2VzL3NhbmRib3hlZC1pZnJhbWUtb3JpZ2luLWFkZC1zdGVwMS5o
dG1sLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guCitDT05TT0xFIE1F
U1NBR0U6IFNhbmRib3ggYWNjZXNzIHZpb2xhdGlvbjogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1w
dCB0byBhY2Nlc3MgZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5
L3NhbmRib3hlZC1pZnJhbWUtb3JpZ2luLWFkZC5odG1sIGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0
cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy9zYW5kYm94ZWQtaWZyYW1lLW9y
aWdpbi1hZGQtc3RlcDEuaHRtbC4gVGhlIGZyYW1lIHJlcXVlc3RpbmcgYWNjZXNzIGlzIHNhbmRi
b3hlZCBpbnRvIGEgdW5pcXVlIG9yaWdpbi4KIAogVGVzdCB0aGF0IGFkZGluZyBhbGxvdy1vcmln
aW4gYWZ0ZXIgY3JlYXRpbmcgYW4gaWZyYW1lIGRvZXNuJ3QgbW9kaWZ5IHRoZSBvcmlnaW4gb2Yg
YW4gZXhpc3RpbmcgZG9jdW1lbnQsIGJ1dCBpdCBkb2VzbiBtb2RpZnkgdGhlIG9yaWdpbiBvZiB0
aGUgbmV4dCBkb2N1bWVudC4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9z
ZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLW9yaWdpbi1yZW1vdmUtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLW9yaWdpbi1yZW1v
dmUtZXhwZWN0ZWQudHh0CmluZGV4IGE2NWY1Nzk2ZTk0N2EzODc0NWMzNzIzYzA2ZjM4MzE0MWJh
MzliZjkuLjE4NzhiNzYyYTlkZjM2MThkMDA4MzBmMGIxZTgxOWM1YmU0OWU0MjQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1vcmln
aW4tcmVtb3ZlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3Vy
aXR5L3NhbmRib3hlZC1pZnJhbWUtb3JpZ2luLXJlbW92ZS1leHBlY3RlZC50eHQKQEAgLTEsNCAr
MSw0IEBACi1DT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gYWNj
ZXNzIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9zYW5kYm94
ZWQtaWZyYW1lLW9yaWdpbi1yZW1vdmUuaHRtbCBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8x
MjcuMC4wLjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvc2FuZGJveGVkLWlmcmFtZS1vcmlnaW4t
cmVtb3ZlLXN0ZXAyLmh0bWwuIERvbWFpbnMsIHByb3RvY29scyBhbmQgcG9ydHMgbXVzdCBtYXRj
aC4KK0NPTlNPTEUgTUVTU0FHRTogU2FuZGJveCBhY2Nlc3MgdmlvbGF0aW9uOiBVbnNhZmUgSmF2
YVNjcmlwdCBhdHRlbXB0IHRvIGFjY2VzcyBmcmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4x
OjgwMDAvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1vcmlnaW4tcmVtb3ZlLmh0bWwgZnJvbSBm
cmFtZSB3aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvcmVzb3VyY2VzL3Nh
bmRib3hlZC1pZnJhbWUtb3JpZ2luLXJlbW92ZS1zdGVwMi5odG1sLiBUaGUgZnJhbWUgcmVxdWVz
dGluZyBhY2Nlc3MgaXMgc2FuZGJveGVkIGludG8gYSB1bmlxdWUgb3JpZ2luLgogCiBUZXN0IHRo
YXQgcmVtb3ZpbmcgYWxsb3ctb3JpZ2luIGFmdGVyIGNyZWF0aW5nIGFuIGlmcmFtZSBkb2Vzbid0
IG1vZGlmeSB0aGUgb3JpZ2luIG9mIGFuIGV4aXN0aW5nIGRvY3VtZW50LCBidXQgaXQgZG9lc24g
bW9kaWZ5IHRoZSBvcmlnaW4gb2YgdGhlIG5leHQgZG9jdW1lbnQuCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvc3JjZG9jLWluLXNhbmRib3gtY2Fubm90LWFj
Y2Vzcy1wYXJlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0
eS9zcmNkb2MtaW4tc2FuZGJveC1jYW5ub3QtYWNjZXNzLXBhcmVudC1leHBlY3RlZC50eHQKaW5k
ZXggNDcwZGY1NDM0NzA1ZDVmMWFmOTRiZDAzMWYyZDc0OGIzMzhhMGIxNC4uZDU4YzdjOTczYjJi
NjY3NjcxNDViMDZhZjIxYWQ5NGMyNjZiMGNjYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy9zZWN1cml0eS9zcmNkb2MtaW4tc2FuZGJveC1jYW5ub3QtYWNjZXNzLXBhcmVudC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9zcmNkb2Mt
aW4tc2FuZGJveC1jYW5ub3QtYWNjZXNzLXBhcmVudC1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0
IEBACi1DT05TT0xFIE1FU1NBR0U6IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gYWNjZXNz
IGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9zcmNkb2MtaW4t
c2FuZGJveC1jYW5ub3QtYWNjZXNzLXBhcmVudC5odG1sIGZyb20gZnJhbWUgd2l0aCBVUkwgYWJv
dXQ6c3JjZG9jLiBEb21haW5zLCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guCitDT05T
T0xFIE1FU1NBR0U6IFNhbmRib3ggYWNjZXNzIHZpb2xhdGlvbjogVW5zYWZlIEphdmFTY3JpcHQg
YXR0ZW1wdCB0byBhY2Nlc3MgZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Nl
Y3VyaXR5L3NyY2RvYy1pbi1zYW5kYm94LWNhbm5vdC1hY2Nlc3MtcGFyZW50Lmh0bWwgZnJvbSBm
cmFtZSB3aXRoIFVSTCBhYm91dDpzcmNkb2MuIFRoZSBmcmFtZSByZXF1ZXN0aW5nIGFjY2VzcyBp
cyBzYW5kYm94ZWQgaW50byBhIHVuaXF1ZSBvcmlnaW4uCiAKIENPTlNPTEUgTUVTU0FHRTogbGlu
ZSA0OiBUeXBlRXJyb3I6ICd1bmRlZmluZWQnIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J3BhcmVudC5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCcpCiBQQVNTCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2FuZGJveGVkLWlmcmFtZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQt
c2FuZGJveGVkLWlmcmFtZS1leHBlY3RlZC50eHQKaW5kZXggMjgzNTllNDIxZTBkNTEzZmIxMDI5
OWU3OGY4MmUzMzJhYzg5MjQwMS4uNGM2MzAzMDIxYzkyN2M1ZjRkZDBlMDc5MDQyODVmNWQxOTJm
MDE0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVO
SUVELXNhbmRib3hlZC1pZnJhbWUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC1zYW5kYm94ZWQtaWZyYW1lLWV4cGVjdGVkLnR4dApA
QCAtMSw2ICsxLDYgQEAKLUNPTlNPTEUgTUVTU0FHRTogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1w
dCB0byBhY2Nlc3MgZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5
L3hzcy1ERU5JRUQtc2FuZGJveGVkLWlmcmFtZS5odG1sIGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0
cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3Jlc291cmNlcy94c3MtREVOSUVELXNhbmRib3hl
ZC1pZnJhbWUtYXR0YWNrZXIuaHRtbC4gRG9tYWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBtdXN0
IG1hdGNoLgorQ09OU09MRSBNRVNTQUdFOiBTYW5kYm94IGFjY2VzcyB2aW9sYXRpb246IFVuc2Fm
ZSBKYXZhU2NyaXB0IGF0dGVtcHQgdG8gYWNjZXNzIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcu
MC4wLjE6ODAwMC9zZWN1cml0eS94c3MtREVOSUVELXNhbmRib3hlZC1pZnJhbWUuaHRtbCBmcm9t
IGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMv
eHNzLURFTklFRC1zYW5kYm94ZWQtaWZyYW1lLWF0dGFja2VyLmh0bWwuIFRoZSBmcmFtZSByZXF1
ZXN0aW5nIGFjY2VzcyBpcyBzYW5kYm94ZWQgaW50byBhIHVuaXF1ZSBvcmlnaW4uCiAKLUNPTlNP
TEUgTUVTU0FHRTogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBhY2Nlc3MgZnJhbWUgd2l0
aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3hzcy1ERU5JRUQtc2FuZGJveGVk
LWlmcmFtZS5odG1sIGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Nl
Y3VyaXR5L3Jlc291cmNlcy94c3MtREVOSUVELXNhbmRib3hlZC1pZnJhbWUtYXR0YWNrZXIuaHRt
bC4gRG9tYWlucywgcHJvdG9jb2xzIGFuZCBwb3J0cyBtdXN0IG1hdGNoLgorQ09OU09MRSBNRVNT
QUdFOiBTYW5kYm94IGFjY2VzcyB2aW9sYXRpb246IFVuc2FmZSBKYXZhU2NyaXB0IGF0dGVtcHQg
dG8gYWNjZXNzIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS94
c3MtREVOSUVELXNhbmRib3hlZC1pZnJhbWUuaHRtbCBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6
Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMveHNzLURFTklFRC1zYW5kYm94ZWQt
aWZyYW1lLWF0dGFja2VyLmh0bWwuIFRoZSBmcmFtZSByZXF1ZXN0aW5nIGFjY2VzcyBpcyBzYW5k
Ym94ZWQgaW50byBhIHVuaXF1ZSBvcmlnaW4uCiAKIFRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNh
bmRib3hlZCBpZnJhbWUgcHJldmVudHMgY3Jvc3MtZG9tYWluIHNjcmlwdCBhY2Nlc3MuIEl0IHdp
bGwgcHJpbnQgIlBBU1MiIG9uIHN1Y2Nlc3MuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1tb2Rp
Znktc2VsZi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRw
L3Rlc3RzL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtbW9kaWZ5LXNlbGYtZXhwZWN0ZWQudHh0
CmluZGV4IGRlNWVkNmQ0ODQ2YWEzYjU2MzdhNWFiZTIxZjY3M2I1OGExNmQ4NmEuLmUwMmYwMDZi
ZjMyNDVlNTkwOTg5NDlkZGU3NDQ2YzZhYzM0YWMzNjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1t
b2RpZnktc2VsZi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vaHR0cC90ZXN0cy9zZWN1cml0eS9zYW5kYm94ZWQtaWZyYW1lLW1vZGlmeS1zZWxmLWV4cGVj
dGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIENPTlNPTEUgTUVTU0FHRTogVW5zYWZlIEphdmFTY3Jp
cHQgYXR0ZW1wdCB0byBpbml0aWF0ZSBhIG5hdmlnYXRpb24gY2hhbmdlIGZvciBmcmFtZSB3aXRo
IFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvc2FuZGJveGVkLWlmcmFtZS1mb3Jt
LXRvcC5odG1sIGZyb20gZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3Vy
aXR5L3Jlc291cmNlcy9zYW5kYm94ZWQtaWZyYW1lLWZvcm0tdG9wLmh0bWwuCiAKLUNPTlNPTEUg
TUVTU0FHRTogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBhY2Nlc3MgZnJhbWUgd2l0aCBV
UkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3NhbmRib3hlZC1pZnJhbWUtbW9kaWZ5
LXNlbGYuaHRtbCBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1
cml0eS9yZXNvdXJjZXMvc2FuZGJveGVkLWlmcmFtZS1tb2RpZnktc2VsZi5odG1sLiBEb21haW5z
LCBwcm90b2NvbHMgYW5kIHBvcnRzIG11c3QgbWF0Y2guCitDT05TT0xFIE1FU1NBR0U6IFNhbmRi
b3ggYWNjZXNzIHZpb2xhdGlvbjogVW5zYWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBhY2Nlc3Mg
ZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L3NhbmRib3hlZC1p
ZnJhbWUtbW9kaWZ5LXNlbGYuaHRtbCBmcm9tIGZyYW1lIHdpdGggVVJMIGh0dHA6Ly8xMjcuMC4w
LjE6ODAwMC9zZWN1cml0eS9yZXNvdXJjZXMvc2FuZGJveGVkLWlmcmFtZS1tb2RpZnktc2VsZi5o
dG1sLiBUaGUgZnJhbWUgcmVxdWVzdGluZyBhY2Nlc3MgaXMgc2FuZGJveGVkIGludG8gYSB1bmlx
dWUgb3JpZ2luLgogCiBUaGlzIGlzIGEgInNhbml0eSIgdGVzdCBjYXNlIHRvIHZlcmlmeSB0aGF0
IGEgc2FuZGJveGVkIGZyYW1lIGNhbm5vdCBicmVhayBvdXQgb2YgaXRzIHNhbmRib3ggYnkgbW9k
aWZ5aW5nIGl0cyBvd24gc2FuZGJveCBhdHRyaWJ1dGUuIFR3byBhdHRlbXB0cyBhcmUgbWFkZToK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9z
ZWN1cml0eS9zcmNkb2MtaW4tc2FuZGJveC1jYW5ub3QtYWNjZXNzLXBhcmVudC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L3Ny
Y2RvYy1pbi1zYW5kYm94LWNhbm5vdC1hY2Nlc3MtcGFyZW50LWV4cGVjdGVkLnR4dAppbmRleCBh
YTYwM2Q2YzMxNjE3NTk3ODE4MTQzOTc4Zjc2NjM0ZGVjNTA1NWU2Li5jMjIyNTVjZjE1MjExOTRk
NDA5ZjIyYmQ4ZjhlNDVlZmQ2ZGFjMjNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L3NyY2RvYy1pbi1zYW5kYm94LWNhbm5vdC1h
Y2Nlc3MtcGFyZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9odHRwL3Rlc3RzL3NlY3VyaXR5L3NyY2RvYy1pbi1zYW5kYm94LWNhbm5vdC1hY2Nlc3Mt
cGFyZW50LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogVW5z
YWZlIEphdmFTY3JpcHQgYXR0ZW1wdCB0byBhY2Nlc3MgZnJhbWUgd2l0aCBVUkwgaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL3NlY3VyaXR5L3NyY2RvYy1pbi1zYW5kYm94LWNhbm5vdC1hY2Nlc3MtcGFy
ZW50Lmh0bWwgZnJvbSBmcmFtZSB3aXRoIFVSTCBhYm91dDpzcmNkb2MuIERvbWFpbnMsIHByb3Rv
Y29scyBhbmQgcG9ydHMgbXVzdCBtYXRjaC4KK0NPTlNPTEUgTUVTU0FHRTogU2FuZGJveCBhY2Nl
c3MgdmlvbGF0aW9uOiBVbnNhZmUgSmF2YVNjcmlwdCBhdHRlbXB0IHRvIGFjY2VzcyBmcmFtZSB3
aXRoIFVSTCBodHRwOi8vMTI3LjAuMC4xOjgwMDAvc2VjdXJpdHkvc3JjZG9jLWluLXNhbmRib3gt
Y2Fubm90LWFjY2Vzcy1wYXJlbnQuaHRtbCBmcm9tIGZyYW1lIHdpdGggVVJMIGFib3V0OnNyY2Rv
Yy4gVGhlIGZyYW1lIHJlcXVlc3RpbmcgYWNjZXNzIGlzIHNhbmRib3hlZCBpbnRvIGEgdW5pcXVl
IG9yaWdpbi4KIAogQ09OU09MRSBNRVNTQUdFOiBsaW5lIDQ6IFVuY2F1Z2h0IFR5cGVFcnJvcjog
Q2Fubm90IGNhbGwgbWV0aG9kICdnZXRFbGVtZW50QnlJZCcgb2YgdW5kZWZpbmVkCiBQQVNTCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>