<?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>104480</bug_id>
          
          <creation_ts>2012-12-09 04:33:04 -0800</creation_ts>
          <short_desc>CSP: XHR from an isolated world should bypass a page&apos;s policy.</short_desc>
          <delta_ts>2013-01-04 11:10:37 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>85558</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mike West">mkwst</reporter>
          <assigned_to name="Mike West">mkwst</assigned_to>
          <cc>abarth</cc>
    
    <cc>akapuya</cc>
    
    <cc>dbates</cc>
    
    <cc>eric</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>linshunghuang</cc>
    
    <cc>mkwst+watchlist</cc>
    
    <cc>rakuco</cc>
    
    <cc>scripts</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yutak</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>786757</commentid>
    <comment_count>0</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-12-09 04:33:04 -0800</bug_when>
    <thetext>1. Yay! Facebook is using CSP!
2. Oh noes! Facebook extensions are breaking!

See: http://stackoverflow.com/questions/13786918/refused-to-connect-to-url-because-it-violates-the-following-content-security-p for some detail.

In a nutshell, we should do the same check for `connect-src` that we&apos;re currently doing for CachedResourceLoader.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787143</commentid>
    <comment_count>1</comment_count>
      <attachid>178501</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-12-10 03:03:17 -0800</bug_when>
    <thetext>Created attachment 178501
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787146</commentid>
    <comment_count>2</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-12-10 03:06:25 -0800</bug_when>
    <thetext>Hey Eric! Are you a good person to review this patch in Adam&apos;s stead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787603</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-12-10 11:45:11 -0800</bug_when>
    <thetext>Sadly, no.  This really should wait for Adam&apos;s return.  Just add a note to your calendar to email him Jan 3rd. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787604</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-12-10 11:46:09 -0800</bug_when>
    <thetext>If we absolutely need a fix before then, I can review it, but my understanding of the CSP security model is not nearly as deep as Adam&apos;s.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787633</commentid>
    <comment_count>5</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-12-10 12:28:22 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; If we absolutely need a fix before then, I can review it, but my understanding of the CSP security model is not nearly as deep as Adam&apos;s.

Hrm. We don&apos;t absolutely need anything. :) This just jumped onto my radar now that Facebook launched CSP support and we&apos;re getting more bug reports.

This patch doesn&apos;t do anything really new, it simply applies the check we added to CachedResourceLoader to the areas covered by `connect-src` (WebSockers, XHR, and EventSource). I was hoping it&apos;d be an easy patch to review, but I agree with you completely that we don&apos;t want to make mistakes in this area.

*shrug* I&apos;ll get in line for Adam&apos;s return. He really is the right guy to review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788708</commentid>
    <comment_count>6</comment_count>
      <attachid>178501</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-11 13:01:45 -0800</bug_when>
    <thetext>Comment on attachment 178501
Patch

Attachment 178501 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15257797

New failing tests:
http/tests/security/isolatedWorld/bypass-main-world-csp-for-xhr.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790468</commentid>
    <comment_count>7</comment_count>
    <who name="Avi K">akapuya</who>
    <bug_when>2012-12-13 03:21:27 -0800</bug_when>
    <thetext>Thanks guys for handling this, this is really a major issue for many extensions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790528</commentid>
    <comment_count>8</comment_count>
    <who name="Oliver Schlöbe">scripts</who>
    <bug_when>2012-12-13 05:35:08 -0800</bug_when>
    <thetext>Thanks also! I am the topic starter of the topic Mike West referenced in his initial post, and am grateful he went and created this bug report a few minutes later. :) Thanks guys!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799972</commentid>
    <comment_count>9</comment_count>
      <attachid>181279</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2013-01-04 00:19:30 -0800</bug_when>
    <thetext>Created attachment 181279
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800303</commentid>
    <comment_count>10</comment_count>
      <attachid>181279</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-01-04 09:53:57 -0800</bug_when>
    <thetext>Comment on attachment 181279
Patch

Great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800406</commentid>
    <comment_count>11</comment_count>
      <attachid>181279</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-04 11:10:31 -0800</bug_when>
    <thetext>Comment on attachment 181279
Patch

Clearing flags on attachment: 181279

Committed r138817: &lt;http://trac.webkit.org/changeset/138817&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800407</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-04 11:10:37 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178501</attachid>
            <date>2012-12-10 03:03:17 -0800</date>
            <delta_ts>2013-01-04 00:19:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104480-20121210120044.patch</filename>
            <type>text/plain</type>
            <size>13642</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTMzMDJhODE0MmM3NDM1
N2MxZDIxZWNiYTAxMmIyYjVhNzg3MzJjNC4uMGI3ZjgxNmE2ZTliZTYwZjYxMGJkZDYzZTlkOTRj
YTJhM2UxZjU1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTEyLTEwICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NQOiBYSFIgZnJvbSBhbiBp
c29sYXRlZCB3b3JsZCBzaG91bGQgYnlwYXNzIGEgcGFnZSdzIHBvbGljeS4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDQ4MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvbm5lY3Rpb25zIG9mIHZhcmlv
dXMgdHlwZXMgYXJlIGdvdmVybmVkIGJ5IHRoZSBwYWdlJ3MgQ29udGVudCBTZWN1cml0eQorICAg
ICAgICBQb2xpY3kgJ2Nvbm5lY3Qtc3JjJyBkaXJlY3RpdmUuIEluIHRoZSBzcGVjaWFsIGNhc2Ug
b2YgY29ubmVjdGlvbnMKKyAgICAgICAgZ2VuZXJhdGVkIGZyb20gYW4gaXNvbGF0ZWQgd29ybGQs
IHdlJ2QgbGlrZSB0byBieXBhc3MgdGhlc2UgcmVzdHJpY3Rpb25zCisgICAgICAgIGluIG9yZGVy
IHRvIGFsbG93IHRoaW5ncyBsaWtlIGV4dGVuc2lvbnMgdG8gZW5qb3kgdGhlaXIgdW5pcXVlbHkg
aGlnaC0KKyAgICAgICAgcHJpdmlsZWdlIGxpZmVzdHlsZS4gVGhpcyBwYXRjaCBkb2VzIGp1c3Qg
dGhhdC4KKworICAgICAgICBXZSdsbCBsb2NrIHRoZW0gZG93biB0byB0aGVpciBvd24gcG9saWN5
IGluIHdlYmtpdC5vcmcvYi8xMDQ1MjAsIGJ1dAorICAgICAgICB0aGF0J3MgYSBiaXQgZmFyIGF3
YXkgYXQgdGhlIG1vbWVudC4gU29vbiEKKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2lzb2xhdGVkV29ybGQvYnlwYXNzLW1haW4td29ybGQtY3NwLWZvci14aHIuaHRtbAorCisg
ICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJTb2NrZXQ6OmNvbm5lY3QpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6Y2FuUmVxdWVzdCk6CisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpFdmVudFNvdXJjZTo6Y3JlYXRlKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJl
cXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6Om9wZW4pOgorICAg
ICAgICAgICAgQ2hlY2sgd2hldGhlciBvciBub3QgY29kZSBpcyBydW5uaW5nIGluIGFuIGlzb2xh
dGVkIHdvcmxkIHRoYXQgaGFzCisgICAgICAgICAgICBpdHMgb3duIENvbnRlbnQgU2VjdXJpdHkg
UG9saWN5LiBJZiBzbywgYnlwYXNzIHRoZSBtYWluIHdvcmxkJ3MgQ1NQCisgICAgICAgICAgICBj
aGVja3MuIElzb2xhdGVkIHdvcmxkcyBnb3R0YSBiZSBmcmVlLCBtYW4uCisKIDIwMTItMTItMTAg
IEpvYW5tYXJpZSBEaWdncyAgPGpkaWdnc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIGFj
Y2Vzc2liaWxpdHkvbGFuZ3VhZ2UtYXR0cmlidXRlLmh0bWwgaXMgZmFpbGluZwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAppbmRleCAwNmQyYWU4
ZWYwMTY4ZTMxYTMxMWIzMTk5NTM1ZjYxMjE1Yjc5Y2VkLi4yODczMjQ1ZGM2MmU1NDFmNTJkMTFh
MTlmYjg5OWE1ODg5ODg3MTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnNvY2tldHMvV2ViU29ja2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNv
Y2tldHMvV2ViU29ja2V0LmNwcApAQCAtMzksMTEgKzM5LDEzIEBACiAjaW5jbHVkZSAiQ2xvc2VF
dmVudC5oIgogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5oIgogI2luY2x1ZGUgIkRP
TVdpbmRvdy5oIgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNp
bmNsdWRlICJFdmVudEV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkV2ZW50TGlzdGVuZXIuaCIKICNp
bmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1
ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1lc3NhZ2VFdmVu
dC5oIgogI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgpAQCAtMjM4LDcgKzI0MCwxMyBAQCB2
b2lkIFdlYlNvY2tldDo6Y29ubmVjdChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgVmVjdG9yPFN0
cmluZz4mIHByb3RvY29scywgRXhjZQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYg
KCFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5hbGxv
d0Nvbm5lY3RUb1NvdXJjZShtX3VybCkpIHsKKyAgICAvLyBGSVhNRTogQ29udmVydCB0aGlzIHRv
IGNoZWNrIHRoZSBpc29sYXRlZCB3b3JsZCdzIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IG9uY2Ug
d2Via2l0Lm9yZy9iLzEwNDUyMCBpcyBzb2x2ZWQuCisgICAgYm9vbCBzaG91bGRCeXBhc3NNYWlu
V29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3kgPSBmYWxzZTsKKyAgICBpZiAoc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpLT5pc0RvY3VtZW50KCkpIHsKKyAgICAgICAgRG9jdW1lbnQqIGRvY3VtZW50
ID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAg
ICAgICBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3kgPSBkb2N1bWVu
dC0+ZnJhbWUoKS0+c2NyaXB0KCktPnNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSgpOworICAgIH0KKyAgICBpZiAoIXNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRT
ZWN1cml0eVBvbGljeSAmJiAhc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5jb250ZW50U2VjdXJp
dHlQb2xpY3koKS0+YWxsb3dDb25uZWN0VG9Tb3VyY2UobV91cmwpKSB7CiAgICAgICAgIG1fc3Rh
dGUgPSBDTE9TRUQ7CiAKICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB0aGlzIGJlIHRocm93aW5n
IGFuIGV4Y2VwdGlvbj8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9D
YWNoZWRSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDRmYmFmNDc3Yzc1MGYxM2Y4ZmY2OGIxMzZiZTk3
MWJhZDU5MTdkNTcuLmNlMTJkNjlmODQxNmNiZWZkYzk3NDQ4NGJmMTU3NDQwMzNkZmMyMGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmNwcApAQCAtMzEwLDYgKzMxMCw3IEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNh
blJlcXVlc3QoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgS1VSTCYgdXJsCiAgICAg
ICAgIHJldHVybiAwOwogICAgIH0KIAorICAgIC8vIEZJWE1FOiBDb252ZXJ0IHRoaXMgdG8gY2hl
Y2sgdGhlIGlzb2xhdGVkIHdvcmxkJ3MgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgb25jZSB3ZWJr
aXQub3JnL2IvMTA0NTIwIGlzIHNvbHZlZC4KICAgICBib29sIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSA9IChmcmFtZSgpICYmIGZyYW1lKCktPnNjcmlwdCgpLT5z
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3koKSk7CiAKICAgICAvLyBT
b21lIHR5cGVzIG9mIHJlc291cmNlcyBjYW4gYmUgbG9hZGVkIG9ubHkgZnJvbSB0aGUgc2FtZSBv
cmlnaW4uICBPdGhlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJj
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcAppbmRleCA2MTAxNzAy
MDg1Y2MyMzg3ZTMxYjVlMTkzYjljMzI5YTE4NGVkY2E5Li43ZjQ4ZDg4MDk5NWQzZGI5MmJkNGEz
ZjYwM2Y1ZDY3NGI0NGQ4ZTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50
U291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcApAQCAt
MzYsOSArMzYsMTEgQEAKIAogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5oIgogI2lu
Y2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXZl
bnQuaCIKICNpbmNsdWRlICJFdmVudEV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNv
ZGUuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIk1lbW9yeUNhY2hlLmgiCiAjaW5j
bHVkZSAiTWVzc2FnZUV2ZW50LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgpAQCAtODgs
NyArOTAsMTMgQEAgUGFzc1JlZlB0cjxFdmVudFNvdXJjZT4gRXZlbnRTb3VyY2U6OmNyZWF0ZShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb24KICAgICAgICAgcmV0dXJuIDA7CiAg
ICAgfQogCi0gICAgaWYgKCFjb250ZXh0LT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+YWxsb3dD
b25uZWN0VG9Tb3VyY2UoZnVsbFVSTCkpIHsKKyAgICAvLyBGSVhNRTogQ29udmVydCB0aGlzIHRv
IGNoZWNrIHRoZSBpc29sYXRlZCB3b3JsZCdzIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IG9uY2Ug
d2Via2l0Lm9yZy9iLzEwNDUyMCBpcyBzb2x2ZWQuCisgICAgYm9vbCBzaG91bGRCeXBhc3NNYWlu
V29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3kgPSBmYWxzZTsKKyAgICBpZiAoY29udGV4dC0+aXNE
b2N1bWVudCgpKSB7CisgICAgICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHN0YXRpY19jYXN0PERv
Y3VtZW50Kj4oY29udGV4dCk7CisgICAgICAgIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRT
ZWN1cml0eVBvbGljeSA9IGRvY3VtZW50LT5mcmFtZSgpLT5zY3JpcHQoKS0+c2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5KCk7CisgICAgfQorICAgIGlmICghc2hvdWxk
QnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5ICYmICFjb250ZXh0LT5jb250ZW50
U2VjdXJpdHlQb2xpY3koKS0+YWxsb3dDb25uZWN0VG9Tb3VyY2UoZnVsbFVSTCkpIHsKICAgICAg
ICAgLy8gRklYTUU6IFNob3VsZCB0aGlzIGJlIHRocm93aW5nIGFuIGV4Y2VwdGlvbj8KICAgICAg
ICAgZWMgPSBTRUNVUklUWV9FUlI7CiAgICAgICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3htbC9Y
TUxIdHRwUmVxdWVzdC5jcHAKaW5kZXggMmEzYTUxNzJmMzg2YzEzOTZhZWU4YjQ1ZjQ2NWY2MTU0
Y2EyYTQ1Yi4uOTQ0NDY4Yzg4MjcyNmI5ZTU4ZDFhMTQ0YjI1YzEwN2NhZDBmYTYzOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC00OTMsNyArNDkzLDEzIEBAIHZvaWQg
WE1MSHR0cFJlcXVlc3Q6Om9wZW4oY29uc3QgU3RyaW5nJiBtZXRob2QsIGNvbnN0IEtVUkwmIHVy
bCwgYm9vbCBhc3luYywgRXhjCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAoIXNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+Y29udGVudFNlY3VyaXR5UG9saWN5KCktPmFsbG93Q29u
bmVjdFRvU291cmNlKHVybCkpIHsKKyAgICAvLyBGSVhNRTogQ29udmVydCB0aGlzIHRvIGNoZWNr
IHRoZSBpc29sYXRlZCB3b3JsZCdzIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IG9uY2Ugd2Via2l0
Lm9yZy9iLzEwNDUyMCBpcyBzb2x2ZWQuCisgICAgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRD
b250ZW50U2VjdXJpdHlQb2xpY3kgPSBmYWxzZTsKKyAgICBpZiAoc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLT5pc0RvY3VtZW50KCkpIHsKKyAgICAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gc3Rh
dGljX2Nhc3Q8RG9jdW1lbnQqPihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAgICAgICBz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3kgPSBkb2N1bWVudC0+ZnJh
bWUoKS0+c2NyaXB0KCktPnNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSgpOworICAgIH0KKyAgICBpZiAoIXNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSAmJiAhc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5jb250ZW50U2VjdXJpdHlQb2xp
Y3koKS0+YWxsb3dDb25uZWN0VG9Tb3VyY2UodXJsKSkgewogICAgICAgICAvLyBGSVhNRTogU2hv
dWxkIHRoaXMgYmUgdGhyb3dpbmcgYW4gZXhjZXB0aW9uPwogICAgICAgICBlYyA9IFNFQ1VSSVRZ
X0VSUjsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGE3MGIzMDRhM2E4YzdhZTg0NDg4YzZkYzVh
NDI1YjI0MGY1NDViZTEuLjRjOGU1M2E4MTI5NWU1NjNiYWJiNjljZmE2ZWYxOTIwMTY2MzA4ZjYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0xMi0xMCAgTWlrZSBXZXN0ICA8bWt3c3RAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIENTUDogWEhSIGZyb20gYW4gaXNvbGF0ZWQgd29ybGQgc2hv
dWxkIGJ5cGFzcyBhIHBhZ2UncyBwb2xpY3kuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ0ODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRXb3JsZC9i
eXBhc3MtbWFpbi13b3JsZC1jc3AtZm9yLXhoci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRXb3JsZC9ieXBhc3MtbWFpbi13b3JsZC1j
c3AtZm9yLXhoci5odG1sOiBBZGRlZC4KKwogMjAxMi0xMi0xMCAgQ2hyaXN0b3BoZSBEdW1leiAg
PGNocmlzdG9waGUuZHVtZXpAaW50ZWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgRUZMIGdh
cmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvaXNv
bGF0ZWRXb3JsZC9ieXBhc3MtbWFpbi13b3JsZC1jc3AtZm9yLXhoci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2lzb2xhdGVkV29ybGQvYnlwYXNzLW1haW4t
d29ybGQtY3NwLWZvci14aHItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVjNjdmODM5M2M2NTIz
ZmQ2MDBiNzJiNGJhZDE4ZmE5NDZlMWY4NmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2lzb2xhdGVkV29ybGQvYnlwYXNzLW1haW4td29ybGQtY3Nw
LWZvci14aHItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjcgQEAKK0NPTlNPTEUgTUVTU0FHRTog
UmVmdXNlZCB0byBjb25uZWN0IHRvICdodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkvaXNv
bGF0ZWRXb3JsZC9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhoci50eHQnIGJlY2F1c2UgaXQgdmlv
bGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICJj
b25uZWN0LXNyYyAnbm9uZSciLgorCitDT05TT0xFIE1FU1NBR0U6IFJlZnVzZWQgdG8gY29ubmVj
dCB0byAnaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L2lzb2xhdGVkV29ybGQvcmVzb3Vy
Y2VzL2Nyb3NzLW9yaWdpbi14aHIudHh0JyBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dp
bmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAiY29ubmVjdC1zcmMgJ25vbmUn
Ii4KKworQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGNvbm5lY3QgdG8gJ2h0dHA6Ly9sb2Nh
bGhvc3Q6ODAwMC9zZWN1cml0eS9pc29sYXRlZFdvcmxkL3Jlc291cmNlcy9jcm9zcy1vcmlnaW4t
eGhyLnR4dCcgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJp
dHkgUG9saWN5IGRpcmVjdGl2ZTogImNvbm5lY3Qtc3JjICdub25lJyIuCisKK0NPTlNPTEUgTUVT
U0FHRTogUmVmdXNlZCB0byBjb25uZWN0IHRvICdodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJp
dHkvaXNvbGF0ZWRXb3JsZC9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhoci50eHQnIGJlY2F1c2Ug
aXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3Rp
dmU6ICJjb25uZWN0LXNyYyAnbm9uZSciLgorCitUZXN0cyB0aGF0IGlzb2xhdGVkIHdvcmxkcyBj
YW4gaGF2ZSBYSFJzIHRoYXQgdGhlIHBhZ2UncyBDU1Agd291bGRuJ3QgYWxsb3cuCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitYSFIgZnJvbSBtYWluIHdvcmxkCitQQVNTOiBYSFIu
b3BlbiB0aHJldyBhbiBleGNlcHRpb24uCitYSFIgZnJvbSBpc29sYXRlZCB3b3JsZCB3aXRoIHVu
Y2hhbmdlZCBDU1AKK1BBU1M6IFhIUi5vcGVuIHRocmV3IGFuIGV4Y2VwdGlvbi4KK1hIUiBmcm9t
IGlzb2xhdGVkIHdvcmxkIHdpdGggc2FtZSBzZWN1cml0eSBvcmlnaW4gYXMgWEhSIHRhcmdldC4K
K1BBU1M6IFhIUi5vcGVuIHRocmV3IGFuIGV4Y2VwdGlvbi4KK1hIUiBmcm9tIGlzb2xhdGVkIHdv
cmxkIHdpdGggc2FtZSBzZWN1cml0eSBvcmlnaW4gYXMgWEhSIHRhcmdldCwgYW5kIGxvb3NlciBD
U1AuCitQQVNTOiBYSFIub3BlbiBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbi4KK1hIUiBmcm9t
IG1haW4gd29ybGQgaXMgbm90IGFmZmVjdGVkIGJ5IHRoZSBpc29sYXRlZCB3b3JsZCBvcmlnaW4g
b3IgQ1NQCitQQVNTOiBYSFIub3BlbiB0aHJldyBhbiBleGNlcHRpb24uCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9pc29sYXRlZFdvcmxkL2J5cGFzcy1tYWluLXdvcmxk
LWNzcC1mb3IteGhyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2lzb2xh
dGVkV29ybGQvYnlwYXNzLW1haW4td29ybGQtY3NwLWZvci14aHIuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
MmJjYTcxZDg4YWUyNmI3MWUzYzlmMjJiZGY2ZTNiM2M5NmI5NDZjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9pc29sYXRlZFdvcmxkL2J5cGFzcy1t
YWluLXdvcmxkLWNzcC1mb3IteGhyLmh0bWwKQEAgLTAsMCArMSwxMTQgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pz
LXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVNl
Y3VyaXR5LVBvbGljeSIgY29udGVudD0iY29ubmVjdC1zcmMgJ25vbmUnIj4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlw
dD4KK2Rlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IGlzb2xhdGVkIHdvcmxkcyBjYW4gaGF2ZSBYSFJz
IHRoYXQgdGhlIHBhZ2VcJ3MgQ1NQIHdvdWxkblwndCBhbGxvdy4nKTsKKworanNUZXN0SXNBc3lu
YyA9IHRydWU7CisKK3ZhciB0ZXN0cyA9IFsKKyAgICBmdW5jdGlvbigpIHsKKyAgICAgICAgZGVi
dWcoJ1hIUiBmcm9tIG1haW4gd29ybGQnKTsKKyAgICAgICAgeGhyKHRydWUpOworICAgIH0sCisg
ICAgZnVuY3Rpb24oKSB7CisgICAgICAgIGRlYnVnKCdYSFIgZnJvbSBpc29sYXRlZCB3b3JsZCB3
aXRoIHVuY2hhbmdlZCBDU1AnKTsKKyAgICAgICAgcnVuVGVzdEluV29ybGQoMSwgJ3hocicsICd0
cnVlJyk7CisgICAgfSwKKyAgICBmdW5jdGlvbigpIHsKKyAgICAgICAgZGVidWcoJ1hIUiBmcm9t
IGlzb2xhdGVkIHdvcmxkIHdpdGggc2FtZSBzZWN1cml0eSBvcmlnaW4gYXMgWEhSIHRhcmdldC4n
KTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRJc29sYXRlZFdvcmxkU2VjdXJpdHlPcmlnaW4oMiwg
J2h0dHA6Ly9sb2NhbGhvc3Q6ODAwMCcpOworICAgICAgICBydW5UZXN0SW5Xb3JsZCgyLCAneGhy
JywgJ3RydWUnKTsKKyAgICB9LAorICAgIGZ1bmN0aW9uKCkgeworICAgICAgICBkZWJ1ZygnWEhS
IGZyb20gaXNvbGF0ZWQgd29ybGQgd2l0aCBzYW1lIHNlY3VyaXR5IG9yaWdpbiBhcyBYSFIgdGFy
Z2V0LCBhbmQgbG9vc2VyIENTUC4nKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRJc29sYXRlZFdv
cmxkQ29udGVudFNlY3VyaXR5UG9saWN5KDMsICdjb25uZWN0LXNyYyAqJyk7CisgICAgICAgIHRl
c3RSdW5uZXIuc2V0SXNvbGF0ZWRXb3JsZFNlY3VyaXR5T3JpZ2luKDMsICdodHRwOi8vbG9jYWxo
b3N0OjgwMDAnKTsKKyAgICAgICAgcnVuVGVzdEluV29ybGQoMywgJ3hocicsICdmYWxzZScpOwor
ICAgIH0sCisgICAgZnVuY3Rpb24oKSB7CisgICAgICAgIGRlYnVnKCdYSFIgZnJvbSBtYWluIHdv
cmxkIGlzIG5vdCBhZmZlY3RlZCBieSB0aGUgaXNvbGF0ZWQgd29ybGQgb3JpZ2luIG9yIENTUCcp
OworICAgICAgICB4aHIodHJ1ZSk7CisgICAgfQorXTsKK3ZhciBjdXJyZW50VGVzdCA9IDA7CisK
Ky8vIFRoaXMgdGVzdCBpcyBtZWFuaW5nbGVzcyB3aXRob3V0IHRlc3RSdW5uZXIuCitpZiAod2lu
ZG93LnRlc3RSdW5uZXIpIHsKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigKKyAgICAgICAg
J21lc3NhZ2UnLAorICAgICAgICBmdW5jdGlvbihldmVudCkgeworICAgICAgICAgICAgdmFyIG1l
c3NhZ2UgPSBKU09OLnBhcnNlKGV2ZW50LmRhdGEpOworICAgICAgICAgICAgc3dpdGNoIChtZXNz
YWdlLnR5cGUpIHsKKyAgICAgICAgICAgICAgICBjYXNlICd0ZXN0LWRvbmUnOgorICAgICAgICAg
ICAgICAgICAgICBjdXJyZW50VGVzdCsrOworICAgICAgICAgICAgICAgICAgICBpZiAoY3VycmVu
dFRlc3QgPT0gdGVzdHMubGVuZ3RoKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UnVu
bmVyLnNldElzb2xhdGVkV29ybGRTZWN1cml0eU9yaWdpbigxLCBudWxsKTsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0SXNvbGF0ZWRXb3JsZFNlY3VyaXR5T3JpZ2luKDIs
IG51bGwpOworICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRJc29sYXRlZFdv
cmxkU2VjdXJpdHlPcmlnaW4oMywgbnVsbCk7CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLnNldElzb2xhdGVkV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3koMSwgJycpOworICAg
ICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRJc29sYXRlZFdvcmxkQ29udGVudFNl
Y3VyaXR5UG9saWN5KDIsICcnKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIu
c2V0SXNvbGF0ZWRXb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSgzLCAnJyk7CisgICAgICAgICAg
ICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0c1tjdXJy
ZW50VGVzdF0oKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAg
Y2FzZSAnZGVidWcnOgorICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhtZXNzYWdlLm1lc3NhZ2Up
OworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBkZWZhdWx0Ogor
ICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdVbmtub3duIG1lc3NhZ2U6ICcgKyBldmVu
dC5kYXRhKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0sCisgICAgICAgIGZhbHNlKTsKKworICAgIHRlc3RzWzBdKCk7Cit9IGVsc2UgeworICAg
IHRlc3RGYWlsZWQoJ1Rlc3QgZGVwZW5kcyBvbiBMYXlvdXRUZXN0Q29udHJvbGxlciBhbmQgbXVz
dCBiZSBydW4gYnkgRFJUJyk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3RJbldvcmxkKHdvcmxkSWQs
IGZ1bmNOYW1lLCBwYXJhbSkKK3sKKyAgICB0ZXN0UnVubmVyLmV2YWx1YXRlU2NyaXB0SW5Jc29s
YXRlZFdvcmxkKAorICAgICAgICB3b3JsZElkLCBTdHJpbmcoZXZhbChmdW5jTmFtZSkpICsgIlxu
IiArIGZ1bmNOYW1lICsgIigiICsgcGFyYW0gKyAiKTsiKTsKK30KKworZnVuY3Rpb24geGhyKHNo
b3VsZEJsb2NrKQoreworICAgIGZ1bmN0aW9uIGRlYnVnKG1lc3NhZ2UpIHsKKyAgICAgICAgd2lu
ZG93LnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHsKKyAgICAgICAgICAgICAgICAndHlwZSc6
ICdkZWJ1ZycsCisgICAgICAgICAgICAgICAgJ21lc3NhZ2UnOiBtZXNzYWdlCisgICAgICAgICAg
ICB9KSwKKyAgICAgICAgICAgICcqJyk7CisgICAgfQorCisgICAgdmFyIHhociA9IG5ldyBYTUxI
dHRwUmVxdWVzdCgpOworICAgIHRyeSB7CisgICAgICAgIHhoci5vcGVuKCdHRVQnLCAnaHR0cDov
L2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L2lzb2xhdGVkV29ybGQvcmVzb3VyY2VzL2Nyb3NzLW9y
aWdpbi14aHIudHh0JywgdHJ1ZSk7CisgICAgICAgIGlmIChzaG91bGRCbG9jaykKKyAgICAgICAg
ICAgIGRlYnVnKCdGQUlMOiBYSFIub3BlbiBzaG91bGQgaGF2ZSB0aHJvd24gYW4gZXhjZXB0aW9u
LicpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBkZWJ1ZygnUEFTUzogWEhSLm9wZW4gZGlk
IG5vdCB0aHJvdyBhbiBleGNlcHRpb24uJyk7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAgICBp
ZiAoc2hvdWxkQmxvY2spCisgICAgICAgICAgICBkZWJ1ZygnUEFTUzogWEhSLm9wZW4gdGhyZXcg
YW4gZXhjZXB0aW9uLicpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBkZWJ1ZygnRkFJTDog
WEhSLm9wZW4gc2hvdWxkIG5vdCBoYXZlIHRocm93biBhbiBleGNlcHRpb24uJyk7CisgICAgfSBm
aW5hbGx5IHsKKyAgICAgICAgd2luZG93LnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHsndHlw
ZSc6ICd0ZXN0LWRvbmUnfSksICcqJyk7CisgICAgfQorfQorCis8L3NjcmlwdD4KKworPHNjcmlw
dCBzcmM9Ii4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181279</attachid>
            <date>2013-01-04 00:19:30 -0800</date>
            <delta_ts>2013-01-04 11:10:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104480-20130104091636.patch</filename>
            <type>text/plain</type>
            <size>18392</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4NzI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDYzYzcxYWRlYTUxZTYy
ZmZjZTYwYWIzMjRkNzA5ZGJhMGZhOTEyOS4uYjFhMDU0ODYyOWYyODJmM2Q2YTRlZmZhNDdjOWYz
NzkwMWFmMzBjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEzLTAxLTA0ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NQOiBYSFIgZnJvbSBhbiBp
c29sYXRlZCB3b3JsZCBzaG91bGQgYnlwYXNzIGEgcGFnZSdzIHBvbGljeS4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDQ4MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENvbm5lY3Rpb25zIG9mIHZhcmlv
dXMgdHlwZXMgYXJlIGdvdmVybmVkIGJ5IHRoZSBwYWdlJ3MgQ29udGVudCBTZWN1cml0eQorICAg
ICAgICBQb2xpY3kgJ2Nvbm5lY3Qtc3JjJyBkaXJlY3RpdmUuIEluIHRoZSBzcGVjaWFsIGNhc2Ug
b2YgY29ubmVjdGlvbnMKKyAgICAgICAgZ2VuZXJhdGVkIGZyb20gYW4gaXNvbGF0ZWQgd29ybGQs
IHdlJ2QgbGlrZSB0byBieXBhc3MgdGhlc2UgcmVzdHJpY3Rpb25zCisgICAgICAgIGluIG9yZGVy
IHRvIGFsbG93IHRoaW5ncyBsaWtlIGV4dGVuc2lvbnMgdG8gZW5qb3kgdGhlaXIgdW5pcXVlbHkg
aGlnaC0KKyAgICAgICAgcHJpdmlsZWdlIGxpZmVzdHlsZS4gVGhpcyBwYXRjaCBkb2VzIGp1c3Qg
dGhhdC4KKworICAgICAgICBXZSdsbCBsb2NrIHRoZW0gZG93biB0byB0aGVpciBvd24gcG9saWN5
IGluIHdlYmtpdC5vcmcvYi8xMDQ1MjAsIGJ1dAorICAgICAgICB0aGF0J3MgYSBiaXQgZmFyIGF3
YXkgYXQgdGhlIG1vbWVudC4gU29vbiEKKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL3NlY3Vy
aXR5L2lzb2xhdGVkV29ybGQvYnlwYXNzLW1haW4td29ybGQtY3NwLWZvci14aHIuaHRtbAorCisg
ICAgICAgICogTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJTb2NrZXQ6OmNvbm5lY3QpOgorICAgICAgICAqIGxvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZUxvYWRl
cjo6Y2FuUmVxdWVzdCk6CisgICAgICAgICogcGFnZS9FdmVudFNvdXJjZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpFdmVudFNvdXJjZTo6Y3JlYXRlKToKKyAgICAgICAgKiB4bWwvWE1MSHR0cFJl
cXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0cFJlcXVlc3Q6Om9wZW4pOgorICAg
ICAgICAgICAgQ2hlY2sgd2hldGhlciBvciBub3QgY29kZSBpcyBydW5uaW5nIGluIGFuIGlzb2xh
dGVkIHdvcmxkIHRoYXQgaGFzCisgICAgICAgICAgICBpdHMgb3duIENvbnRlbnQgU2VjdXJpdHkg
UG9saWN5LiBJZiBzbywgYnlwYXNzIHRoZSBtYWluIHdvcmxkJ3MgQ1NQCisgICAgICAgICAgICBj
aGVja3MuIElzb2xhdGVkIHdvcmxkcyBnb3R0YSBiZSBmcmVlLCBtYW4uCisKIDIwMTMtMDEtMDMg
IEFsZXhpcyBNZW5hcmQgIDxhbGV4aXNAd2Via2l0Lm9yZz4KIAogICAgICAgICBRdWVyeWluZyB0
cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiB2YWx1ZSBvbiB0aGUgY29tcHV0ZWQgc3R5bGUgZG9l
cyBub3QgcmV0dXJuIGtleXdvcmRzIHdoZW4gaXQgc2hvdWxkLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJzb2NrZXRzL1dlYlNvY2tldC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmNwcAppbmRleCA3ODUyYjJlYjJkM2EwMjI0
Y2IyZTRlZjUwZGVjNTIxNzMxNjRiMTZhLi41ODljMDU2ODZjNGFlYTk5NzFmM2NmYzlhMjBmNWMz
ZGY0ZThjOGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMv
V2ViU29ja2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnNvY2tldHMvV2Vi
U29ja2V0LmNwcApAQCAtMzksMTEgKzM5LDEzIEBACiAjaW5jbHVkZSAiQ2xvc2VFdmVudC5oIgog
I2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5oIgogI2luY2x1ZGUgIkRPTVdpbmRvdy5o
IgorI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJF
dmVudEV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkV2ZW50TGlzdGVuZXIuaCIKICNpbmNsdWRlICJF
dmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkZyYW1l
LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1lc3NhZ2VFdmVudC5oIgogI2lu
Y2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgpAQCAtMjM4LDcgKzI0MCwxMyBAQCB2b2lkIFdlYlNv
Y2tldDo6Y29ubmVjdChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgVmVjdG9yPFN0cmluZz4mIHBy
b3RvY29scywgRXhjZQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKCFzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCktPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5hbGxvd0Nvbm5lY3RU
b1NvdXJjZShtX3VybCkpIHsKKyAgICAvLyBGSVhNRTogQ29udmVydCB0aGlzIHRvIGNoZWNrIHRo
ZSBpc29sYXRlZCB3b3JsZCdzIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IG9uY2Ugd2Via2l0Lm9y
Zy9iLzEwNDUyMCBpcyBzb2x2ZWQuCisgICAgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250
ZW50U2VjdXJpdHlQb2xpY3kgPSBmYWxzZTsKKyAgICBpZiAoc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLT5pc0RvY3VtZW50KCkpIHsKKyAgICAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gc3RhdGlj
X2Nhc3Q8RG9jdW1lbnQqPihzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAgICAgICBzaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3kgPSBkb2N1bWVudC0+ZnJhbWUo
KS0+c2NyaXB0KCktPnNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSgp
OworICAgIH0KKyAgICBpZiAoIXNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSAmJiAhc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5jb250ZW50U2VjdXJpdHlQb2xpY3ko
KS0+YWxsb3dDb25uZWN0VG9Tb3VyY2UobV91cmwpKSB7CiAgICAgICAgIG1fc3RhdGUgPSBDTE9T
RUQ7CiAKICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB0aGlzIGJlIHRocm93aW5nIGFuIGV4Y2Vw
dGlvbj8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNv
dXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3Vy
Y2VMb2FkZXIuY3BwCmluZGV4IDA5OWY5YjE1ZTgzZDBiYjcwMDIyZmFlYjMxYzgwMzk1NTMwMmI3
NTcuLmQ0YmIzY2U2OWNmMzE4YWJjYWY1OTBlZmJhZGFkZjJlYzk3OGY3YzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRSZXNvdXJjZUxvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcApA
QCAtMzEwLDYgKzMxMCw3IEBAIGJvb2wgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmNhblJlcXVlc3Qo
Q2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgS1VSTCYgdXJsCiAgICAgICAgIHJldHVy
biAwOwogICAgIH0KIAorICAgIC8vIEZJWE1FOiBDb252ZXJ0IHRoaXMgdG8gY2hlY2sgdGhlIGlz
b2xhdGVkIHdvcmxkJ3MgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgb25jZSB3ZWJraXQub3JnL2Iv
MTA0NTIwIGlzIHNvbHZlZC4KICAgICBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRT
ZWN1cml0eVBvbGljeSA9IChmcmFtZSgpICYmIGZyYW1lKCktPnNjcmlwdCgpLT5zaG91bGRCeXBh
c3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3koKSk7CiAKICAgICAvLyBTb21lIHR5cGVz
IG9mIHJlc291cmNlcyBjYW4gYmUgbG9hZGVkIG9ubHkgZnJvbSB0aGUgc2FtZSBvcmlnaW4uICBP
dGhlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudFNvdXJjZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcAppbmRleCA5YTg4YWJkYzkyNGM1YjVk
ZDUzMDhlOTczZmU2N2MzMDYxNmM0ZTU4Li4xNjIyYTBjMGMzYTc3MmM4Y2QzMGRlNzZkYjA2N2Fl
NzRhZTVmMDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50U291cmNlLmNwcApAQCAtMzYsOSArMzYs
MTEgQEAKICNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJET01X
aW5kb3cuaCIKICNpbmNsdWRlICJEaWN0aW9uYXJ5LmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
ICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50RXhjZXB0aW9uLmgiCiAjaW5jbHVk
ZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiTWVtb3J5
Q2FjaGUuaCIKICNpbmNsdWRlICJNZXNzYWdlRXZlbnQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUVy
cm9yLmgiCkBAIC04Myw3ICs4NSwxMyBAQCBQYXNzUmVmUHRyPEV2ZW50U291cmNlPiBFdmVudFNv
dXJjZTo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbgogICAgICAg
ICByZXR1cm4gMDsKICAgICB9CiAKLSAgICBpZiAoIWNvbnRleHQtPmNvbnRlbnRTZWN1cml0eVBv
bGljeSgpLT5hbGxvd0Nvbm5lY3RUb1NvdXJjZShmdWxsVVJMKSkgeworICAgIC8vIEZJWE1FOiBD
b252ZXJ0IHRoaXMgdG8gY2hlY2sgdGhlIGlzb2xhdGVkIHdvcmxkJ3MgQ29udGVudCBTZWN1cml0
eSBQb2xpY3kgb25jZSB3ZWJraXQub3JnL2IvMTA0NTIwIGlzIHNvbHZlZC4KKyAgICBib29sIHNo
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSA9IGZhbHNlOworICAgIGlm
IChjb250ZXh0LT5pc0RvY3VtZW50KCkpIHsKKyAgICAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0g
c3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KTsKKyAgICAgICAgc2hvdWxkQnlwYXNzTWFp
bldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5ID0gZG9jdW1lbnQtPmZyYW1lKCktPnNjcmlwdCgp
LT5zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3koKTsKKyAgICB9Cisg
ICAgaWYgKCFzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3kgJiYgIWNv
bnRleHQtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5hbGxvd0Nvbm5lY3RUb1NvdXJjZShmdWxs
VVJMKSkgewogICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHRoaXMgYmUgdGhyb3dpbmcgYW4gZXhj
ZXB0aW9uPwogICAgICAgICBlYyA9IFNFQ1VSSVRZX0VSUjsKICAgICAgICAgcmV0dXJuIDA7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwIGIvU291cmNl
L1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCBlNzUwYWI5NzY4N2QzZDliYjUx
ZDhkYzQ3YjRiYjI3NzMyMjAwNzc0Li5kMGI0M2NiOWM1NDFlNTM4YzM4YmIxZGQzOGI4ZDVhNTZh
ZTE2YzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKQEAgLTQ5Myw3ICs0
OTMsMTMgQEAgdm9pZCBYTUxIdHRwUmVxdWVzdDo6b3Blbihjb25zdCBTdHJpbmcmIG1ldGhvZCwg
Y29uc3QgS1VSTCYgdXJsLCBib29sIGFzeW5jLCBFeGMKICAgICAgICAgcmV0dXJuOwogICAgIH0K
IAotICAgIGlmICghc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5jb250ZW50U2VjdXJpdHlQb2xp
Y3koKS0+YWxsb3dDb25uZWN0VG9Tb3VyY2UodXJsKSkgeworICAgIC8vIEZJWE1FOiBDb252ZXJ0
IHRoaXMgdG8gY2hlY2sgdGhlIGlzb2xhdGVkIHdvcmxkJ3MgQ29udGVudCBTZWN1cml0eSBQb2xp
Y3kgb25jZSB3ZWJraXQub3JnL2IvMTA0NTIwIGlzIHNvbHZlZC4KKyAgICBib29sIHNob3VsZEJ5
cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSA9IGZhbHNlOworICAgIGlmIChzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCktPmlzRG9jdW1lbnQoKSkgeworICAgICAgICBEb2N1bWVudCog
ZG9jdW1lbnQgPSBzdGF0aWNfY2FzdDxEb2N1bWVudCo+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSk7CisgICAgICAgIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSA9
IGRvY3VtZW50LT5mcmFtZSgpLT5zY3JpcHQoKS0+c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5KCk7CisgICAgfQorICAgIGlmICghc2hvdWxkQnlwYXNzTWFpbldvcmxk
Q29udGVudFNlY3VyaXR5UG9saWN5ICYmICFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmNvbnRl
bnRTZWN1cml0eVBvbGljeSgpLT5hbGxvd0Nvbm5lY3RUb1NvdXJjZSh1cmwpKSB7CiAgICAgICAg
IC8vIEZJWE1FOiBTaG91bGQgdGhpcyBiZSB0aHJvd2luZyBhbiBleGNlcHRpb24/CiAgICAgICAg
IGVjID0gU0VDVVJJVFlfRVJSOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYWIxOTYzZTEzY2Iz
NjhkMGVkMWM4NmEzNzdmMGY0ZjI2YTk2OWRmNS4uMzJiM2ExYjJkNWEyNTBkMDk4YTQ3OTZmOTUz
ZjdmNGE4NGY5OTBlYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTAxLTA0ICBNaWtlIFdl
c3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQ1NQOiBYSFIgZnJvbSBhbiBpc29s
YXRlZCB3b3JsZCBzaG91bGQgYnlwYXNzIGEgcGFnZSdzIHBvbGljeS4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDQ4MAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9p
c29sYXRlZFdvcmxkL2J5cGFzcy1tYWluLXdvcmxkLWNzcC1mb3IteGhyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9pc29sYXRlZFdvcmxkL2J5cGFz
cy1tYWluLXdvcmxkLWNzcC1mb3IteGhyLmh0bWw6IEFkZGVkLgorICAgICAgICAgICAgQSBuZXcg
dGVzdCEgSG93IHdvbmRlcmZ1bCEKKyAgICAgICAgKiBwbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0
aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAg
KiBwbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9U
ZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3Rh
dGlvbnM6CisgICAgICAgICAgICBTa2lwcGluZyB0aGUgbmV3IHRlc3Qgb24gcG9ydHMgdGhhdCBk
b24ndCBzdXBwb3J0IGl0LgorCiAyMDEzLTAxLTAzICBBbGV4aXMgTWVuYXJkICA8YWxleGlzQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUXVlcnlpbmcgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24g
dmFsdWUgb24gdGhlIGNvbXB1dGVkIHN0eWxlIGRvZXMgbm90IHJldHVybiBrZXl3b3JkcyB3aGVu
IGl0IHNob3VsZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkv
aXNvbGF0ZWRXb3JsZC9ieXBhc3MtbWFpbi13b3JsZC1jc3AtZm9yLXhoci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2lzb2xhdGVkV29ybGQvYnlwYXNzLW1h
aW4td29ybGQtY3NwLWZvci14aHItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVjNjdmODM5M2M2
NTIzZmQ2MDBiNzJiNGJhZDE4ZmE5NDZlMWY4NmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2lzb2xhdGVkV29ybGQvYnlwYXNzLW1haW4td29ybGQt
Y3NwLWZvci14aHItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjcgQEAKK0NPTlNPTEUgTUVTU0FH
RTogUmVmdXNlZCB0byBjb25uZWN0IHRvICdodHRwOi8vbG9jYWxob3N0OjgwMDAvc2VjdXJpdHkv
aXNvbGF0ZWRXb3JsZC9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhoci50eHQnIGJlY2F1c2UgaXQg
dmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6
ICJjb25uZWN0LXNyYyAnbm9uZSciLgorCitDT05TT0xFIE1FU1NBR0U6IFJlZnVzZWQgdG8gY29u
bmVjdCB0byAnaHR0cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L2lzb2xhdGVkV29ybGQvcmVz
b3VyY2VzL2Nyb3NzLW9yaWdpbi14aHIudHh0JyBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xs
b3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAiY29ubmVjdC1zcmMgJ25v
bmUnIi4KKworQ09OU09MRSBNRVNTQUdFOiBSZWZ1c2VkIHRvIGNvbm5lY3QgdG8gJ2h0dHA6Ly9s
b2NhbGhvc3Q6ODAwMC9zZWN1cml0eS9pc29sYXRlZFdvcmxkL3Jlc291cmNlcy9jcm9zcy1vcmln
aW4teGhyLnR4dCcgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2Vj
dXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogImNvbm5lY3Qtc3JjICdub25lJyIuCisKK0NPTlNPTEUg
TUVTU0FHRTogUmVmdXNlZCB0byBjb25uZWN0IHRvICdodHRwOi8vbG9jYWxob3N0OjgwMDAvc2Vj
dXJpdHkvaXNvbGF0ZWRXb3JsZC9yZXNvdXJjZXMvY3Jvc3Mtb3JpZ2luLXhoci50eHQnIGJlY2F1
c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJl
Y3RpdmU6ICJjb25uZWN0LXNyYyAnbm9uZSciLgorCitUZXN0cyB0aGF0IGlzb2xhdGVkIHdvcmxk
cyBjYW4gaGF2ZSBYSFJzIHRoYXQgdGhlIHBhZ2UncyBDU1Agd291bGRuJ3QgYWxsb3cuCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitYSFIgZnJvbSBtYWluIHdvcmxkCitQQVNTOiBY
SFIub3BlbiB0aHJldyBhbiBleGNlcHRpb24uCitYSFIgZnJvbSBpc29sYXRlZCB3b3JsZCB3aXRo
IHVuY2hhbmdlZCBDU1AKK1BBU1M6IFhIUi5vcGVuIHRocmV3IGFuIGV4Y2VwdGlvbi4KK1hIUiBm
cm9tIGlzb2xhdGVkIHdvcmxkIHdpdGggc2FtZSBzZWN1cml0eSBvcmlnaW4gYXMgWEhSIHRhcmdl
dC4KK1BBU1M6IFhIUi5vcGVuIHRocmV3IGFuIGV4Y2VwdGlvbi4KK1hIUiBmcm9tIGlzb2xhdGVk
IHdvcmxkIHdpdGggc2FtZSBzZWN1cml0eSBvcmlnaW4gYXMgWEhSIHRhcmdldCwgYW5kIGxvb3Nl
ciBDU1AuCitQQVNTOiBYSFIub3BlbiBkaWQgbm90IHRocm93IGFuIGV4Y2VwdGlvbi4KK1hIUiBm
cm9tIG1haW4gd29ybGQgaXMgbm90IGFmZmVjdGVkIGJ5IHRoZSBpc29sYXRlZCB3b3JsZCBvcmln
aW4gb3IgQ1NQCitQQVNTOiBYSFIub3BlbiB0aHJldyBhbiBleGNlcHRpb24uCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9pc29sYXRlZFdvcmxkL2J5cGFzcy1tYWluLXdv
cmxkLWNzcC1mb3IteGhyLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2lz
b2xhdGVkV29ybGQvYnlwYXNzLW1haW4td29ybGQtY3NwLWZvci14aHIuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hMmJjYTcxZDg4YWUyNmI3MWUzYzlmMjJiZGY2ZTNiM2M5NmI5NDZjCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9pc29sYXRlZFdvcmxkL2J5cGFz
cy1tYWluLXdvcmxkLWNzcC1mb3IteGhyLmh0bWwKQEAgLTAsMCArMSwxMTQgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4uL2pzLXRlc3QtcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICA8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50
LVNlY3VyaXR5LVBvbGljeSIgY29udGVudD0iY29ubmVjdC1zcmMgJ25vbmUnIj4KKzxib2R5Pgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNj
cmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IGlzb2xhdGVkIHdvcmxkcyBjYW4gaGF2ZSBY
SFJzIHRoYXQgdGhlIHBhZ2VcJ3MgQ1NQIHdvdWxkblwndCBhbGxvdy4nKTsKKworanNUZXN0SXNB
c3luYyA9IHRydWU7CisKK3ZhciB0ZXN0cyA9IFsKKyAgICBmdW5jdGlvbigpIHsKKyAgICAgICAg
ZGVidWcoJ1hIUiBmcm9tIG1haW4gd29ybGQnKTsKKyAgICAgICAgeGhyKHRydWUpOworICAgIH0s
CisgICAgZnVuY3Rpb24oKSB7CisgICAgICAgIGRlYnVnKCdYSFIgZnJvbSBpc29sYXRlZCB3b3Js
ZCB3aXRoIHVuY2hhbmdlZCBDU1AnKTsKKyAgICAgICAgcnVuVGVzdEluV29ybGQoMSwgJ3hocics
ICd0cnVlJyk7CisgICAgfSwKKyAgICBmdW5jdGlvbigpIHsKKyAgICAgICAgZGVidWcoJ1hIUiBm
cm9tIGlzb2xhdGVkIHdvcmxkIHdpdGggc2FtZSBzZWN1cml0eSBvcmlnaW4gYXMgWEhSIHRhcmdl
dC4nKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRJc29sYXRlZFdvcmxkU2VjdXJpdHlPcmlnaW4o
MiwgJ2h0dHA6Ly9sb2NhbGhvc3Q6ODAwMCcpOworICAgICAgICBydW5UZXN0SW5Xb3JsZCgyLCAn
eGhyJywgJ3RydWUnKTsKKyAgICB9LAorICAgIGZ1bmN0aW9uKCkgeworICAgICAgICBkZWJ1Zygn
WEhSIGZyb20gaXNvbGF0ZWQgd29ybGQgd2l0aCBzYW1lIHNlY3VyaXR5IG9yaWdpbiBhcyBYSFIg
dGFyZ2V0LCBhbmQgbG9vc2VyIENTUC4nKTsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRJc29sYXRl
ZFdvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5KDMsICdjb25uZWN0LXNyYyAqJyk7CisgICAgICAg
IHRlc3RSdW5uZXIuc2V0SXNvbGF0ZWRXb3JsZFNlY3VyaXR5T3JpZ2luKDMsICdodHRwOi8vbG9j
YWxob3N0OjgwMDAnKTsKKyAgICAgICAgcnVuVGVzdEluV29ybGQoMywgJ3hocicsICdmYWxzZScp
OworICAgIH0sCisgICAgZnVuY3Rpb24oKSB7CisgICAgICAgIGRlYnVnKCdYSFIgZnJvbSBtYWlu
IHdvcmxkIGlzIG5vdCBhZmZlY3RlZCBieSB0aGUgaXNvbGF0ZWQgd29ybGQgb3JpZ2luIG9yIENT
UCcpOworICAgICAgICB4aHIodHJ1ZSk7CisgICAgfQorXTsKK3ZhciBjdXJyZW50VGVzdCA9IDA7
CisKKy8vIFRoaXMgdGVzdCBpcyBtZWFuaW5nbGVzcyB3aXRob3V0IHRlc3RSdW5uZXIuCitpZiAo
d2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigKKyAgICAg
ICAgJ21lc3NhZ2UnLAorICAgICAgICBmdW5jdGlvbihldmVudCkgeworICAgICAgICAgICAgdmFy
IG1lc3NhZ2UgPSBKU09OLnBhcnNlKGV2ZW50LmRhdGEpOworICAgICAgICAgICAgc3dpdGNoICht
ZXNzYWdlLnR5cGUpIHsKKyAgICAgICAgICAgICAgICBjYXNlICd0ZXN0LWRvbmUnOgorICAgICAg
ICAgICAgICAgICAgICBjdXJyZW50VGVzdCsrOworICAgICAgICAgICAgICAgICAgICBpZiAoY3Vy
cmVudFRlc3QgPT0gdGVzdHMubGVuZ3RoKSB7CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0
UnVubmVyLnNldElzb2xhdGVkV29ybGRTZWN1cml0eU9yaWdpbigxLCBudWxsKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuc2V0SXNvbGF0ZWRXb3JsZFNlY3VyaXR5T3JpZ2lu
KDIsIG51bGwpOworICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRJc29sYXRl
ZFdvcmxkU2VjdXJpdHlPcmlnaW4oMywgbnVsbCk7CisgICAgICAgICAgICAgICAgICAgICAgICB0
ZXN0UnVubmVyLnNldElzb2xhdGVkV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3koMSwgJycpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5zZXRJc29sYXRlZFdvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5KDIsICcnKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RSdW5u
ZXIuc2V0SXNvbGF0ZWRXb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSgzLCAnJyk7CisgICAgICAg
ICAgICAgICAgICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0c1tj
dXJyZW50VGVzdF0oKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAg
ICAgY2FzZSAnZGVidWcnOgorICAgICAgICAgICAgICAgICAgICBkZWJ1ZyhtZXNzYWdlLm1lc3Nh
Z2UpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBkZWZhdWx0
OgorICAgICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdVbmtub3duIG1lc3NhZ2U6ICcgKyBl
dmVudC5kYXRhKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0sCisgICAgICAgIGZhbHNlKTsKKworICAgIHRlc3RzWzBdKCk7Cit9IGVsc2Ugewor
ICAgIHRlc3RGYWlsZWQoJ1Rlc3QgZGVwZW5kcyBvbiBMYXlvdXRUZXN0Q29udHJvbGxlciBhbmQg
bXVzdCBiZSBydW4gYnkgRFJUJyk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3RJbldvcmxkKHdvcmxk
SWQsIGZ1bmNOYW1lLCBwYXJhbSkKK3sKKyAgICB0ZXN0UnVubmVyLmV2YWx1YXRlU2NyaXB0SW5J
c29sYXRlZFdvcmxkKAorICAgICAgICB3b3JsZElkLCBTdHJpbmcoZXZhbChmdW5jTmFtZSkpICsg
IlxuIiArIGZ1bmNOYW1lICsgIigiICsgcGFyYW0gKyAiKTsiKTsKK30KKworZnVuY3Rpb24geGhy
KHNob3VsZEJsb2NrKQoreworICAgIGZ1bmN0aW9uIGRlYnVnKG1lc3NhZ2UpIHsKKyAgICAgICAg
d2luZG93LnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHsKKyAgICAgICAgICAgICAgICAndHlw
ZSc6ICdkZWJ1ZycsCisgICAgICAgICAgICAgICAgJ21lc3NhZ2UnOiBtZXNzYWdlCisgICAgICAg
ICAgICB9KSwKKyAgICAgICAgICAgICcqJyk7CisgICAgfQorCisgICAgdmFyIHhociA9IG5ldyBY
TUxIdHRwUmVxdWVzdCgpOworICAgIHRyeSB7CisgICAgICAgIHhoci5vcGVuKCdHRVQnLCAnaHR0
cDovL2xvY2FsaG9zdDo4MDAwL3NlY3VyaXR5L2lzb2xhdGVkV29ybGQvcmVzb3VyY2VzL2Nyb3Nz
LW9yaWdpbi14aHIudHh0JywgdHJ1ZSk7CisgICAgICAgIGlmIChzaG91bGRCbG9jaykKKyAgICAg
ICAgICAgIGRlYnVnKCdGQUlMOiBYSFIub3BlbiBzaG91bGQgaGF2ZSB0aHJvd24gYW4gZXhjZXB0
aW9uLicpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBkZWJ1ZygnUEFTUzogWEhSLm9wZW4g
ZGlkIG5vdCB0aHJvdyBhbiBleGNlcHRpb24uJyk7CisgICAgfSBjYXRjaCAoZSkgeworICAgICAg
ICBpZiAoc2hvdWxkQmxvY2spCisgICAgICAgICAgICBkZWJ1ZygnUEFTUzogWEhSLm9wZW4gdGhy
ZXcgYW4gZXhjZXB0aW9uLicpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBkZWJ1ZygnRkFJ
TDogWEhSLm9wZW4gc2hvdWxkIG5vdCBoYXZlIHRocm93biBhbiBleGNlcHRpb24uJyk7CisgICAg
fSBmaW5hbGx5IHsKKyAgICAgICAgd2luZG93LnBvc3RNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHsn
dHlwZSc6ICd0ZXN0LWRvbmUnfSksICcqJyk7CisgICAgfQorfQorCis8L3NjcmlwdD4KKworPHNj
cmlwdCBzcmM9Ii4uLy4uL2pzLXRlc3QtcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9l
ZmwvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IDRkZTQyODQ1YTQxNGIwYjUwZjM0NGNiNGMyZjFjODMxMDA1NmQ3NjcuLjdl
MDU0ODQyMWIzOWRmZTc4NjMzMzY1NDQxYmYyZTllYzQ0ZDUxNmYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMTIzLDYgKzExMjMsNyBAQCB3ZWJraXQu
b3JnL2IvNjE1NDAgaW5zcGVjdG9yL2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1ldmFsLWNvbnRlbnQt
c2NyaXB0Lmh0bWwgWyBGYQogCiAjIEpTQyBhbHNvIGRvZXNuJ3Qgc3VwcG9ydCBzZXRJc29sYXRl
ZFdvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5CiB3ZWJraXQub3JnL2IvMTAwODE1IGh0dHAvdGVz
dHMvc2VjdXJpdHkvaXNvbGF0ZWRXb3JsZC9ieXBhc3MtbWFpbi13b3JsZC1jc3AuaHRtbCBbIEZh
aWx1cmUgXQord2Via2l0Lm9yZy9iLzEwMDgxNSBodHRwL3Rlc3RzL3NlY3VyaXR5L2lzb2xhdGVk
V29ybGQvYnlwYXNzLW1haW4td29ybGQtY3NwLWZvci14aHIuaHRtbCBbIEZhaWx1cmUgXQogCiAj
X193b3JsZElEIGlzIHVuZGVmaW5lZCBpbiBpc29sYXRlZCB3b3JsZAogQnVnKEVGTCkgaHR0cC90
ZXN0cy9zZWN1cml0eS9pc29sYXRlZFdvcmxkL2RpZENsZWFyV2luZG93T2JqZWN0Lmh0bWwKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNjk4OWYyYTA4MTBk
ZWQ0ZmVjN2I1ZDgwNGFiYjRlN2ZjZjI3ZTI4YS4uM2NiYjczOGFhMzExY2FlMDVkYjgxMWRiZjZj
OGNjYjJlODY0NjJiMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTQzOSw3ICs0MzksOCBAQCBodG1sNWxpYi9ydW4tdGVtcGxhdGUuaHRtbAogaHR0cC90
ZXN0cy9zZWN1cml0eS9pc29sYXRlZFdvcmxkL2Nyb3NzLW9yaWdpbi14aHIuaHRtbAogCiAjIEpT
QyBhbHNvIGRvZXNuJ3Qgc3VwcG9ydCBzZXRJc29sYXRlZFdvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5ICh3ZWJraXQub3JnL2IvMTAwODE1KQotaHR0cC90ZXN0cy9zZWN1cml0eS9pc29sYXRlZFdv
cmxkL2J5cGFzcy1tYWluLXdvcmxkLWNzcC5odG1sCit3ZWJraXQub3JnL2IvMTAwODE1IGh0dHAv
dGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRXb3JsZC9ieXBhc3MtbWFpbi13b3JsZC1jc3AuaHRtbCBb
IEZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzEwMDgxNSBodHRwL3Rlc3RzL3NlY3VyaXR5L2lzb2xh
dGVkV29ybGQvYnlwYXNzLW1haW4td29ybGQtY3NwLWZvci14aHIuaHRtbCBbIEZhaWx1cmUgXQog
CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MzI4MiBsYXllclRy
ZWVBc1RleHQgZG9lc24ndCB3b3JrIGZvciBpZnJhbWVzCiBjb21wb3NpdGluZy9ydGwvcnRsLWlm
cmFtZS1hYnNvbHV0ZS1vdmVyZmxvdy1zY3JvbGxlZC5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3MjY3OWE2ZDMzMDhkMGUzY2ZkMjY0MTIwMjFjYjcy
NWRjMDI1NzkyLi42MzQ0NTVkNzQ3NDc2YzQ0NDlmYzA0N2IzMjg2ZTU3YzllNWEwMDI1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTIwNSw3ICsyMDUsOCBA
QCBmYXN0L2pzL2kxOG4tYmluZGluZ3MtbG9jYWxlLmh0bWwKIGh0dHAvdGVzdHMvc2VjdXJpdHkv
aXNvbGF0ZWRXb3JsZC9jcm9zcy1vcmlnaW4teGhyLmh0bWwKIAogIyBKU0MgYWxzbyBkb2Vzbid0
IHN1cHBvcnQgc2V0SXNvbGF0ZWRXb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSAod2Via2l0Lm9y
Zy9iLzEwMDgxNSkKLWh0dHAvdGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRXb3JsZC9ieXBhc3MtbWFp
bi13b3JsZC1jc3AuaHRtbAord2Via2l0Lm9yZy9iLzEwMDgxNSBodHRwL3Rlc3RzL3NlY3VyaXR5
L2lzb2xhdGVkV29ybGQvYnlwYXNzLW1haW4td29ybGQtY3NwLmh0bWwgWyBGYWlsdXJlIF0KK3dl
YmtpdC5vcmcvYi8xMDA4MTUgaHR0cC90ZXN0cy9zZWN1cml0eS9pc29sYXRlZFdvcmxkL2J5cGFz
cy1tYWluLXdvcmxkLWNzcC1mb3IteGhyLmh0bWwgWyBGYWlsdXJlIF0KIAogIyBUaGlzIHRlc3Qg
aXMgZm9yIGNsaWVudHMgdGhhdCBjaG9vc2UgdG8gbWFrZSB0aGUgbWlzc2luZyBwbHVnaW4gaW5k
aWNhdG9yIGEgYnV0dG9uCiBwbHVnaW5zL2NsaWNraW5nLW1pc3NpbmctcGx1Z2luLWZpcmVzLWRl
bGVnYXRlLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhw
ZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggZTNlNzNiODM0YjMxZmI3ZjM1NzAyYzQwZDUzNzdkNmI0MWY0ZTE1Mi4uMmY3OWU1ZDg5YjY5
ZWFmNTdmYjc0OTQ1NTM4NTExM2JkYWQyNjNhYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTE0OTMsNyArMTQ5Myw4IEBAIGxvYWRlci9uYXZpZ2F0aW9u
LXdoaWxlLWRlZmVycmluZy1sb2Fkcy5odG1sCiBodHRwL3Rlc3RzL3NlY3VyaXR5L2lzb2xhdGVk
V29ybGQvY3Jvc3Mtb3JpZ2luLXhoci5odG1sCiAKICMgSlNDIGFsc28gZG9lc24ndCBzdXBwb3J0
IHNldElzb2xhdGVkV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3kgKHdlYmtpdC5vcmcvYi8xMDA4
MTUpCi1odHRwL3Rlc3RzL3NlY3VyaXR5L2lzb2xhdGVkV29ybGQvYnlwYXNzLW1haW4td29ybGQt
Y3NwLmh0bWwKK3dlYmtpdC5vcmcvYi8xMDA4MTUgaHR0cC90ZXN0cy9zZWN1cml0eS9pc29sYXRl
ZFdvcmxkL2J5cGFzcy1tYWluLXdvcmxkLWNzcC5odG1sIFsgRmFpbHVyZSBdCit3ZWJraXQub3Jn
L2IvMTAwODE1IGh0dHAvdGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRXb3JsZC9ieXBhc3MtbWFpbi13
b3JsZC1jc3AtZm9yLXhoci5odG1sIFsgRmFpbHVyZSBdCiAKICMgRU5BQkxFKFdFQkdMKSBpcyBk
aXNhYmxlZAogY29tcG9zaXRpbmcvYmFja2ZhY2UtdmlzaWJpbGl0eS9iYWNrZmFjZS12aXNpYmls
aXR5LXdlYmdsLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJv
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IDVlNzBhY2MwNjYyMjA4Yjc4YzU4NDc3ZWRiOTA0ZTY2MWJiMWUwNzMu
LjFmZTU0ZTU3NGMxNDI1M2M2NWY0MjkzNjQ5ZTFjYjA4ZGExZjQwODUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjAyMyw3ICsyMDIz
LDggQEAgbG9hZGVyL25hdmlnYXRpb24td2hpbGUtZGVmZXJyaW5nLWxvYWRzLmh0bWwKIGh0dHAv
dGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRXb3JsZC9jcm9zcy1vcmlnaW4teGhyLmh0bWwKIAogIyBK
U0MgYWxzbyBkb2Vzbid0IHN1cHBvcnQgc2V0SXNvbGF0ZWRXb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSAod2Via2l0Lm9yZy9iLzEwMDgxNSkKLWh0dHAvdGVzdHMvc2VjdXJpdHkvaXNvbGF0ZWRX
b3JsZC9ieXBhc3MtbWFpbi13b3JsZC1jc3AuaHRtbAord2Via2l0Lm9yZy9iLzEwMDgxNSBodHRw
L3Rlc3RzL3NlY3VyaXR5L2lzb2xhdGVkV29ybGQvYnlwYXNzLW1haW4td29ybGQtY3NwLmh0bWwg
WyBGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8xMDA4MTUgaHR0cC90ZXN0cy9zZWN1cml0eS9pc29s
YXRlZFdvcmxkL2J5cGFzcy1tYWluLXdvcmxkLWNzcC1mb3IteGhyLmh0bWwgWyBGYWlsdXJlIF0K
IAogIyBFTkFCTEUoV0VCR0wpIGlzIGRpc2FibGVkCiBjb21wb3NpdGluZy9iYWNrZmFjZS12aXNp
YmlsaXR5L2JhY2tmYWNlLXZpc2liaWxpdHktd2ViZ2wuaHRtbAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>