<?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>99274</bug_id>
          
          <creation_ts>2012-10-14 13:56:24 -0700</creation_ts>
          <short_desc>Warn when CSP headers don&apos;t separate directives with &apos;;&apos;.</short_desc>
          <delta_ts>2012-10-15 22:25:41 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>93197</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mike West">mkwst</reporter>
          <assigned_to name="Mike West">mkwst</assigned_to>
          <cc>abarth</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>741594</commentid>
    <comment_count>0</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-10-14 13:56:24 -0700</bug_when>
    <thetext>If a web author specifies &quot;default-src &apos;self&apos; img-src *&quot;, they&apos;re almost certainly making a mistake. We might want to throw a warning if we see a source list that contains a directive name.

See https://twitter.com/soaj1664ashar/status/257468299372277760 for example.

WDYT, Adam?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741759</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-14 23:00:17 -0700</bug_when>
    <thetext>Hum...  Maybe if there&apos;s a source-expression that matches a directive name, we should issue a warning?  Technically it could be an intranet host with that name, but that&apos;s pretty unlikely.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741841</commentid>
    <comment_count>2</comment_count>
      <attachid>168647</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-10-15 01:26:20 -0700</bug_when>
    <thetext>Created attachment 168647
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741842</commentid>
    <comment_count>3</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-10-15 01:27:57 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Hum...  Maybe if there&apos;s a source-expression that matches a directive name, we should issue a warning?  Technically it could be an intranet host with that name, but that&apos;s pretty unlikely.

That&apos;s what I was thinking as well. The attached patch is a stab at that.

It also moves the directive names out of CSPDirectiveList::addDirective into static methods of ContentSecurityPolicy so I can reuse them. This seems to be the right thing to do, but I&apos;m not entirely sure. I saw a few &apos;static char xxx[] = &quot;...&quot;;&apos; lines while grepping around... WDYT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742103</commentid>
    <comment_count>4</comment_count>
      <attachid>168647</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-15 09:19:03 -0700</bug_when>
    <thetext>Comment on attachment 168647
Patch

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

&gt; Source/WebCore/page/ContentSecurityPolicy.h:87
&gt; +    static const char* connectSrc() { return &quot;connect-src&quot;; }
&gt; +    static const char* defaultSrc() { return &quot;default-src&quot;; }
&gt; +    static const char* fontSrc() { return &quot;font-src&quot;; }
&gt; +    static const char* frameSrc() { return &quot;frame-src&quot;; }
&gt; +    static const char* imgSrc() { return &quot;img-src&quot;; }
&gt; +    static const char* mediaSrc() { return &quot;media-src&quot;; }
&gt; +    static const char* objectSrc() { return &quot;object-src&quot;; }
&gt; +    static const char* reportURI() { return &quot;report-uri&quot;; }
&gt; +    static const char* sandbox() { return &quot;sandbox&quot;; }
&gt; +    static const char* scriptSrc() { return &quot;script-src&quot;; }
&gt; +    static const char* styleSrc() { return &quot;style-src&quot;; }
&gt; +#if ENABLE(CSP_NEXT)
&gt; +    static const char* formAction() { return &quot;form-action&quot;; }
&gt; +    static const char* pluginTypes() { return &quot;plugin-types&quot;; }
&gt; +    static const char* scriptNonce() { return &quot;script-nonce&quot;; }
&gt; +#endif

Rather thank making these functions, we should just make them static constants in the cpp file.

&gt; Source/WebCore/page/ContentSecurityPolicy.h:89
&gt; +    static bool isDirectiveName(const String&amp; name);

Should this be private?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742284</commentid>
    <comment_count>5</comment_count>
      <attachid>168755</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-10-15 12:37:34 -0700</bug_when>
    <thetext>Created attachment 168755
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742795</commentid>
    <comment_count>6</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-10-15 22:07:42 -0700</bug_when>
    <thetext>Cool. Throwing this into the queue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742807</commentid>
    <comment_count>7</comment_count>
      <attachid>168755</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-15 22:25:37 -0700</bug_when>
    <thetext>Comment on attachment 168755
Patch

Clearing flags on attachment: 168755

Committed r131413: &lt;http://trac.webkit.org/changeset/131413&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742808</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-15 22:25:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168647</attachid>
            <date>2012-10-15 01:26:20 -0700</date>
            <delta_ts>2012-10-15 12:37:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99274-20121015102510.patch</filename>
            <type>text/plain</type>
            <size>15359</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjEyN2MzNWI4NTgxYTlh
MWFkZmFhOGRmOTU1YTE4ZDc1YWRkY2QzYS4uNDFhZTNhZWM4NzdlODY3OGVmZDcyZmEzNDFiYWQw
ZjQyYTBlYjU2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU4IEBACisyMDEyLTEwLTE1ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2FybiB3aGVuIENTUCBoZWFk
ZXJzIGRvbid0IHNlcGFyYXRlIGRpcmVjdGl2ZXMgd2l0aCAnOycuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTI3NAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgcmVjZW50IGJ1ZyByZXBvcnQgZXhoaWJp
dGVkIGNvbmZ1c2lvbiBhcyB0byB3aGF0IHJvbGUsIGV4YWN0bHksCisgICAgICAgIHNlbWljb2xv
bnMgcGxheSBpbiBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkZWZpbml0aW9ucy4gVGhpcyBwYXRj
aAorICAgICAgICBhZGp1c3RzIHRoZSBwYXJzZXIgdG8gd2FybiB3ZWIgYXV0aG9ycyBpZiBhIGRp
cmVjdGl2ZSBuYW1lIGlzCisgICAgICAgIGVuY291bnRlcmVkIHdoaWxlIHBhcnNpbmcgYSBzb3Vy
Y2UgbGlzdCwgd2hpY2ggd291bGQgYWxtb3N0IGNlcnRhaW5seQorICAgICAgICBwb2ludCB0byBh
IG1pc3Npbmcgc2VtaWNvbG9uLiBJbiBwYXJ0aWN1bGFyLCBzb21ldGhpbmcgbGlrZToKKworICAg
ICAgICAgICAgc2NyaXB0LXNyYyAnc2VsZicgb2JqZWN0LXNyYyAnc2VsZicgc3R5bGUtc3JjICoK
KworICAgICAgICB3b3VsZCB0aHJvdyB0d28gd2FybmluZ3MsIG5vdGluZyB0aGF0ICdvYmplY3Qt
c3JjJyBhbmQgJ3N0eWxlLXNyYycgYXJlCisgICAgICAgIHByb2JhYmx5IG1lYW50IGFzIGRpcmVj
dGl2ZXMsIGFuZCBub3QgYXMgc291cmNlIGV4cHJlc3Npb25zIGluIHRoZQorICAgICAgICAnc2Ny
aXB0LXNyYycgc291cmNlIGxpc3QuCisKKyAgICAgICAgVGVzdDogaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc291cmNlLWxpc3QtcGFyc2luZy1uby1zZW1pY29sb24u
aHRtbAorCisgICAgICAgICogcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NQU291cmNlTGlzdDo6cGFyc2UpOgorICAgICAgICAgICAgVGhyb3cgdGhl
IG5ldyB3YXJuaW5nIG9udG8gdGhlIGNvbnNvbGUgaWYgdGhlIGhvc3RuYW1lIG9mIGEgc291cmNl
CisgICAgICAgICAgICBleHByZXNzaW9uIG1hdGNoZXMgYSBDU1AgZGlyZWN0aXZlIG5hbWUuCisg
ICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjphZGREaXJlY3RpdmUpOgorICAgICAg
ICAgICAgVXNlIHRoZSBuZXcgc3RhdGljIG1ldGhvZHMgcmF0aGVyIHRoYW4gdGhlIHN0YXRpYyBs
b2NhbHMuCisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OmlzRGlyZWN0
aXZlTmFtZSk6CisgICAgICAgICAgICBTdGF0aWMgbWV0aG9kIHRoYXQgY29tcGFyZXMgYSBzdHJp
bmcgdG8gYWxsIHRoZSBrbm93biBkaXJlY3RpdmUKKyAgICAgICAgICAgIG5hbWVzLCByZXR1cm5p
bmcgdHJ1ZSBpZiB0aGVyZSdzIGEgKGNhc2UtaW5zZW5zaXRpdmUpIG1hdGNoLgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6OnJlcG9y
dERpcmVjdGl2ZUFzU291cmNlRXhwcmVzc2lvbik6CisgICAgICAgICAgICBBIG5ldyB3YXJuaW5n
IG1lc3NhZ2Ugd2hpY2ggc2hvdWxkIGJlIHByaW50ZWQgd2hlbiBhIGRpcmVjdGl2ZSBuYW1lCisg
ICAgICAgICAgICBpcyBlbmNvdW50ZXJlZCBhcyBhIHNvdXJjZSBleHByZXNzaW9uLgorICAgICAg
ICAqIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5Lmg6CisgICAgICAgIChXZWJDb3JlOjpDb250
ZW50U2VjdXJpdHlQb2xpY3k6OmNvbm5lY3RTcmMpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVu
dFNlY3VyaXR5UG9saWN5OjpkZWZhdWx0U3JjKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRT
ZWN1cml0eVBvbGljeTo6Zm9udFNyYyk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJp
dHlQb2xpY3k6OmZyYW1lU3JjKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBv
bGljeTo6aW1nU3JjKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6
bWVkaWFTcmMpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjpvYmpl
Y3RTcmMpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjpyZXBvcnRV
UkkpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVudFNlY3VyaXR5UG9saWN5OjpzYW5kYm94KToK
KyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6c2NyaXB0U3JjKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0eVBvbGljeTo6c3R5bGVTcmMpOgorICAgICAg
ICAoQ29udGVudFNlY3VyaXR5UG9saWN5KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1
cml0eVBvbGljeTo6Zm9ybUFjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJp
dHlQb2xpY3k6OnBsdWdpblR5cGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRTZWN1cml0
eVBvbGljeTo6c2NyaXB0Tm9uY2UpOgorICAgICAgICAgICAgRXhjaXRpbmcgbmV3IHN0YXRpYyBt
ZXRob2RzIHNvIHRoYXQgdGhlIG5hbWVzIG9mIHZhcmlvdXMgZGlyZWN0aXZlcworICAgICAgICAg
ICAgYXJlIGF2YWlsYWJsZSBvdXRzaWRlIG9mIENTUERpcmVjdGl2ZUxpc3Q6OmFkZERpcmVjdGl2
ZS4gVGhlc2Ugd2VyZQorICAgICAgICAgICAgcHJldmlvdXNseSBkZWZpbmVkIGFzIGxvY2FsIHN0
YXRpYyBBU0NJSUxpdGVyYWxzLiBOb3cgdGhleSdyZQorICAgICAgICAgICAgcmV0dXJuZWQgYXMg
Y29uc3QgY2hhciouCisKIDIwMTItMTAtMTIgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5NSSByZW1vdmUgaGFuZCBtYWRl
IG9iamVjdCBidWlsZGVycyB3aXRoIGF1dG9tYXRpYyBidWlsZGVyLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCmluZGV4IDU4ZDM5NWZhYjUxOWI1NDU3
YzRkYzJjODM3MTIyMTQ4ZTlkNGVlMmMuLjkyMzkwNjM3MzY3MmUyNzg2MjY3MDM0OGVlOGNmZjBh
ODAzOTBhYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5
UG9saWN5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGlj
eS5jcHAKQEAgLTMwNyw2ICszMDcsOCBAQCB2b2lkIENTUFNvdXJjZUxpc3Q6OnBhcnNlKGNvbnN0
IFVDaGFyKiBiZWdpbiwgY29uc3QgVUNoYXIqIGVuZCkKICAgICAgICAgICAgICAgICBjb250aW51
ZTsKICAgICAgICAgICAgIGlmIChzY2hlbWUuaXNFbXB0eSgpKQogICAgICAgICAgICAgICAgIHNj
aGVtZSA9IG1fcG9saWN5LT5zZWN1cml0eU9yaWdpbigpLT5wcm90b2NvbCgpOworICAgICAgICAg
ICAgaWYgKENvbnRlbnRTZWN1cml0eVBvbGljeTo6aXNEaXJlY3RpdmVOYW1lKGhvc3QpKQorICAg
ICAgICAgICAgICAgIG1fcG9saWN5LT5yZXBvcnREaXJlY3RpdmVBc1NvdXJjZUV4cHJlc3Npb24o
bV9kaXJlY3RpdmVOYW1lLCBob3N0KTsKICAgICAgICAgICAgIG1fbGlzdC5hcHBlbmQoQ1NQU291
cmNlKHNjaGVtZSwgaG9zdCwgcG9ydCwgcGF0aCwgaG9zdEhhc1dpbGRjYXJkLCBwb3J0SGFzV2ls
ZGNhcmQpKTsKICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBtX3BvbGljeS0+cmVwb3J0SW52
YWxpZFNvdXJjZUV4cHJlc3Npb24obV9kaXJlY3RpdmVOYW1lLCBTdHJpbmcoYmVnaW5Tb3VyY2Us
IHBvc2l0aW9uIC0gYmVnaW5Tb3VyY2UpKTsKQEAgLTEyMzIsNTMgKzEyMzQsMzYgQEAgdm9pZCBD
U1BEaXJlY3RpdmVMaXN0OjphcHBseVNhbmRib3hQb2xpY3koY29uc3QgU3RyaW5nJiBuYW1lLCBj
b25zdCBTdHJpbmcmIHNhbmQKIAogdm9pZCBDU1BEaXJlY3RpdmVMaXN0OjphZGREaXJlY3RpdmUo
Y29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlKQogewotICAgIERFRklORV9T
VEFUSUNfTE9DQUwoU3RyaW5nLCBkZWZhdWx0U3JjLCAoQVNDSUlMaXRlcmFsKCJkZWZhdWx0LXNy
YyIpKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIHNjcmlwdFNyYywgKEFTQ0lJ
TGl0ZXJhbCgic2NyaXB0LXNyYyIpKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcs
IG9iamVjdFNyYywgKEFTQ0lJTGl0ZXJhbCgib2JqZWN0LXNyYyIpKSk7Ci0gICAgREVGSU5FX1NU
QVRJQ19MT0NBTChTdHJpbmcsIGZyYW1lU3JjLCAoQVNDSUlMaXRlcmFsKCJmcmFtZS1zcmMiKSkp
OwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBpbWdTcmMsIChBU0NJSUxpdGVyYWwo
ImltZy1zcmMiKSkpOwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBzdHlsZVNyYywg
KEFTQ0lJTGl0ZXJhbCgic3R5bGUtc3JjIikpKTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0
cmluZywgZm9udFNyYywgKEFTQ0lJTGl0ZXJhbCgiZm9udC1zcmMiKSkpOwotICAgIERFRklORV9T
VEFUSUNfTE9DQUwoU3RyaW5nLCBtZWRpYVNyYywgKEFTQ0lJTGl0ZXJhbCgibWVkaWEtc3JjIikp
KTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29ubmVjdFNyYywgKEFTQ0lJTGl0
ZXJhbCgiY29ubmVjdC1zcmMiKSkpOwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBz
YW5kYm94LCAoQVNDSUlMaXRlcmFsKCJzYW5kYm94IikpKTsKLSAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKFN0cmluZywgcmVwb3J0VVJJLCAoQVNDSUlMaXRlcmFsKCJyZXBvcnQtdXJpIikpKTsKLSNp
ZiBFTkFCTEUoQ1NQX05FWFQpCi0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIGZvcm1B
Y3Rpb24sIChBU0NJSUxpdGVyYWwoImZvcm0tYWN0aW9uIikpKTsKLSAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKFN0cmluZywgcGx1Z2luVHlwZXMsIChBU0NJSUxpdGVyYWwoInBsdWdpbi10eXBlcyIp
KSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIHNjcmlwdE5vbmNlLCAoQVNDSUlM
aXRlcmFsKCJzY3JpcHQtbm9uY2UiKSkpOwotI2VuZGlmCi0KICAgICBBU1NFUlQoIW5hbWUuaXNF
bXB0eSgpKTsKIAotICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCBkZWZhdWx0U3JjKSkK
KyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgQ29udGVudFNlY3VyaXR5UG9saWN5Ojpk
ZWZhdWx0U3JjKCkpKQogICAgICAgICBzZXRDU1BEaXJlY3RpdmU8U291cmNlTGlzdERpcmVjdGl2
ZT4obmFtZSwgdmFsdWUsIG1fZGVmYXVsdFNyYyk7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmlu
Z0Nhc2UobmFtZSwgc2NyaXB0U3JjKSkKKyAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShu
YW1lLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnNjcmlwdFNyYygpKSkKICAgICAgICAgc2V0Q1NQ
RGlyZWN0aXZlPFNvdXJjZUxpc3REaXJlY3RpdmU+KG5hbWUsIHZhbHVlLCBtX3NjcmlwdFNyYyk7
Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgb2JqZWN0U3JjKSkKKyAgICBl
bHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6Om9i
amVjdFNyYygpKSkKICAgICAgICAgc2V0Q1NQRGlyZWN0aXZlPFNvdXJjZUxpc3REaXJlY3RpdmU+
KG5hbWUsIHZhbHVlLCBtX29iamVjdFNyYyk7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nh
c2UobmFtZSwgZnJhbWVTcmMpKQorICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUs
IENvbnRlbnRTZWN1cml0eVBvbGljeTo6ZnJhbWVTcmMoKSkpCiAgICAgICAgIHNldENTUERpcmVj
dGl2ZTxTb3VyY2VMaXN0RGlyZWN0aXZlPihuYW1lLCB2YWx1ZSwgbV9mcmFtZVNyYyk7Ci0gICAg
ZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgaW1nU3JjKSkKKyAgICBlbHNlIGlmIChl
cXVhbElnbm9yaW5nQ2FzZShuYW1lLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmltZ1NyYygpKSkK
ICAgICAgICAgc2V0Q1NQRGlyZWN0aXZlPFNvdXJjZUxpc3REaXJlY3RpdmU+KG5hbWUsIHZhbHVl
LCBtX2ltZ1NyYyk7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgc3R5bGVT
cmMpKQorICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6c3R5bGVTcmMoKSkpCiAgICAgICAgIHNldENTUERpcmVjdGl2ZTxTb3VyY2VMaXN0
RGlyZWN0aXZlPihuYW1lLCB2YWx1ZSwgbV9zdHlsZVNyYyk7Ci0gICAgZWxzZSBpZiAoZXF1YWxJ
Z25vcmluZ0Nhc2UobmFtZSwgZm9udFNyYykpCisgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nh
c2UobmFtZSwgQ29udGVudFNlY3VyaXR5UG9saWN5Ojpmb250U3JjKCkpKQogICAgICAgICBzZXRD
U1BEaXJlY3RpdmU8U291cmNlTGlzdERpcmVjdGl2ZT4obmFtZSwgdmFsdWUsIG1fZm9udFNyYyk7
Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgbWVkaWFTcmMpKQorICAgIGVs
c2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6bWVk
aWFTcmMoKSkpCiAgICAgICAgIHNldENTUERpcmVjdGl2ZTxTb3VyY2VMaXN0RGlyZWN0aXZlPihu
YW1lLCB2YWx1ZSwgbV9tZWRpYVNyYyk7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2Uo
bmFtZSwgY29ubmVjdFNyYykpCisgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwg
Q29udGVudFNlY3VyaXR5UG9saWN5Ojpjb25uZWN0U3JjKCkpKQogICAgICAgICBzZXRDU1BEaXJl
Y3RpdmU8U291cmNlTGlzdERpcmVjdGl2ZT4obmFtZSwgdmFsdWUsIG1fY29ubmVjdFNyYyk7Ci0g
ICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgc2FuZGJveCkpCisgICAgZWxzZSBp
ZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpzYW5kYm94
KCkpKQogICAgICAgICBhcHBseVNhbmRib3hQb2xpY3kobmFtZSwgdmFsdWUpOwotICAgIGVsc2Ug
aWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsIHJlcG9ydFVSSSkpCisgICAgZWxzZSBpZiAoZXF1
YWxJZ25vcmluZ0Nhc2UobmFtZSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpyZXBvcnRVUkkoKSkp
CiAgICAgICAgIHBhcnNlUmVwb3J0VVJJKG5hbWUsIHZhbHVlKTsKICNpZiBFTkFCTEUoQ1NQX05F
WFQpCi0gICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgZm9ybUFjdGlvbikpCisg
ICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgQ29udGVudFNlY3VyaXR5UG9saWN5
Ojpmb3JtQWN0aW9uKCkpKQogICAgICAgICBzZXRDU1BEaXJlY3RpdmU8U291cmNlTGlzdERpcmVj
dGl2ZT4obmFtZSwgdmFsdWUsIG1fZm9ybUFjdGlvbik7Ci0gICAgZWxzZSBpZiAoZXF1YWxJZ25v
cmluZ0Nhc2UobmFtZSwgcGx1Z2luVHlwZXMpKQorICAgIGVsc2UgaWYgKGVxdWFsSWdub3JpbmdD
YXNlKG5hbWUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6cGx1Z2luVHlwZXMoKSkpCiAgICAgICAg
IHNldENTUERpcmVjdGl2ZTxNZWRpYUxpc3REaXJlY3RpdmU+KG5hbWUsIHZhbHVlLCBtX3BsdWdp
blR5cGVzKTsKLSAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCBzY3JpcHROb25j
ZSkpCisgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgQ29udGVudFNlY3VyaXR5
UG9saWN5OjpzY3JpcHROb25jZSgpKSkKICAgICAgICAgc2V0Q1NQRGlyZWN0aXZlPE5vbmNlRGly
ZWN0aXZlPihuYW1lLCB2YWx1ZSwgbV9zY3JpcHROb25jZSk7CiAjZW5kaWYKICAgICBlbHNlCkBA
IC0xNDAxLDYgKzEzODYsMjcgQEAgYm9vbCBpc0FsbG93ZWRCeUFsbFdpdGhVUkwoY29uc3QgQ1NQ
RGlyZWN0aXZlTGlzdFZlY3RvciYgcG9saWNpZXMsIGNvbnN0IEtVUkwmIHUKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAorYm9vbCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmlzRGlyZWN0aXZlTmFtZShj
b25zdCBTdHJpbmcmIG5hbWUpCit7CisgICAgcmV0dXJuIChlcXVhbElnbm9yaW5nQ2FzZShuYW1l
LCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmRlZmF1bHRTcmMoKSkKKyAgICAgICAgfHwgZXF1YWxJ
Z25vcmluZ0Nhc2UobmFtZSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpzY3JpcHRTcmMoKSkKKyAg
ICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgQ29udGVudFNlY3VyaXR5UG9saWN5Ojpv
YmplY3RTcmMoKSkKKyAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgQ29udGVudFNl
Y3VyaXR5UG9saWN5OjpmcmFtZVNyYygpKQorICAgICAgICB8fCBlcXVhbElnbm9yaW5nQ2FzZShu
YW1lLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OmltZ1NyYygpKQorICAgICAgICB8fCBlcXVhbEln
bm9yaW5nQ2FzZShuYW1lLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnN0eWxlU3JjKCkpCisgICAg
ICAgIHx8IGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6Zm9u
dFNyYygpKQorICAgICAgICB8fCBlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCBDb250ZW50U2VjdXJp
dHlQb2xpY3k6Om1lZGlhU3JjKCkpCisgICAgICAgIHx8IGVxdWFsSWdub3JpbmdDYXNlKG5hbWUs
IENvbnRlbnRTZWN1cml0eVBvbGljeTo6Y29ubmVjdFNyYygpKQorICAgICAgICB8fCBlcXVhbEln
bm9yaW5nQ2FzZShuYW1lLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnNhbmRib3goKSkKKyAgICAg
ICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpyZXBv
cnRVUkkoKSkKKyNpZiBFTkFCTEUoQ1NQX05FWFQpCisgICAgICAgIHx8IGVxdWFsSWdub3JpbmdD
YXNlKG5hbWUsIENvbnRlbnRTZWN1cml0eVBvbGljeTo6Zm9ybUFjdGlvbigpKQorICAgICAgICB8
fCBlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCBDb250ZW50U2VjdXJpdHlQb2xpY3k6OnBsdWdpblR5
cGVzKCkpCisgICAgICAgIHx8IGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6c2NyaXB0Tm9uY2UoKSkKKyNlbmRpZgorICAgICk7Cit9CisKIGJvb2wgQ29udGVu
dFNlY3VyaXR5UG9saWN5OjphbGxvd0phdmFTY3JpcHRVUkxzKGNvbnN0IFN0cmluZyYgY29udGV4
dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSwgQ29udGVudFNlY3Vy
aXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVzKSBjb25zdAogewogICAg
IHJldHVybiBpc0FsbG93ZWRCeUFsbFdpdGhDb250ZXh0PCZDU1BEaXJlY3RpdmVMaXN0OjphbGxv
d0phdmFTY3JpcHRVUkxzPihtX3BvbGljaWVzLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSwgcmVw
b3J0aW5nU3RhdHVzKTsKQEAgLTE1ODAsNiArMTU4NiwxMiBAQCB2b2lkIENvbnRlbnRTZWN1cml0
eVBvbGljeTo6cmVwb3J0VW5yZWNvZ25pemVkRGlyZWN0aXZlKGNvbnN0IFN0cmluZyYgbmFtZSkg
Y29ucwogICAgIGxvZ1RvQ29uc29sZShtZXNzYWdlKTsKIH0KIAordm9pZCBDb250ZW50U2VjdXJp
dHlQb2xpY3k6OnJlcG9ydERpcmVjdGl2ZUFzU291cmNlRXhwcmVzc2lvbihjb25zdCBTdHJpbmcm
IGRpcmVjdGl2ZU5hbWUsIGNvbnN0IFN0cmluZyYgc291cmNlRXhwcmVzc2lvbikgY29uc3QKK3sK
KyAgICBTdHJpbmcgbWVzc2FnZSA9ICJUaGUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0
aXZlICciICsgZGlyZWN0aXZlTmFtZSArICInIGNvbnRhaW5zICciICsgc291cmNlRXhwcmVzc2lv
biArICInIGFzIGEgc291cmNlIGV4cHJlc3Npb24uIERpZCB5b3UgbWVhbiAnIiArIGRpcmVjdGl2
ZU5hbWUgKyAiIC4uLjsgIiArIHNvdXJjZUV4cHJlc3Npb24gKyAiLi4uJyAobm90ZSB0aGUgc2Vt
aWNvbG9uKT8iOworICAgIGxvZ1RvQ29uc29sZShtZXNzYWdlKTsKK30KKwogdm9pZCBDb250ZW50
U2VjdXJpdHlQb2xpY3k6OnJlcG9ydER1cGxpY2F0ZURpcmVjdGl2ZShjb25zdCBTdHJpbmcmIG5h
bWUpIGNvbnN0CiB7CiAgICAgU3RyaW5nIG1lc3NhZ2UgPSBtYWtlU3RyaW5nKCJJZ25vcmluZyBk
dXBsaWNhdGUgQ29udGVudC1TZWN1cml0eS1Qb2xpY3kgZGlyZWN0aXZlICciLCBuYW1lLCAiJy5c
biIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xp
Y3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKaW5kZXgg
MGY4N2RmYzNmZDdjYmYxMWRmZjIxYWYyNGM3Y2RlOTU2YWFkZjJkMi4uMzY4NWMxZjM2ZWFjMTg1
OTlmZGZkNzNhYzczYmZiOTI4ZTQ1ODEwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRl
bnRTZWN1cml0eVBvbGljeS5oCkBAIC02OSw2ICs2OSwyNSBAQCBwdWJsaWM6CiAgICAgICAgIFN1
cHByZXNzUmVwb3J0CiAgICAgfTsKIAorICAgIHN0YXRpYyBjb25zdCBjaGFyKiBjb25uZWN0U3Jj
KCkgeyByZXR1cm4gImNvbm5lY3Qtc3JjIjsgfQorICAgIHN0YXRpYyBjb25zdCBjaGFyKiBkZWZh
dWx0U3JjKCkgeyByZXR1cm4gImRlZmF1bHQtc3JjIjsgfQorICAgIHN0YXRpYyBjb25zdCBjaGFy
KiBmb250U3JjKCkgeyByZXR1cm4gImZvbnQtc3JjIjsgfQorICAgIHN0YXRpYyBjb25zdCBjaGFy
KiBmcmFtZVNyYygpIHsgcmV0dXJuICJmcmFtZS1zcmMiOyB9CisgICAgc3RhdGljIGNvbnN0IGNo
YXIqIGltZ1NyYygpIHsgcmV0dXJuICJpbWctc3JjIjsgfQorICAgIHN0YXRpYyBjb25zdCBjaGFy
KiBtZWRpYVNyYygpIHsgcmV0dXJuICJtZWRpYS1zcmMiOyB9CisgICAgc3RhdGljIGNvbnN0IGNo
YXIqIG9iamVjdFNyYygpIHsgcmV0dXJuICJvYmplY3Qtc3JjIjsgfQorICAgIHN0YXRpYyBjb25z
dCBjaGFyKiByZXBvcnRVUkkoKSB7IHJldHVybiAicmVwb3J0LXVyaSI7IH0KKyAgICBzdGF0aWMg
Y29uc3QgY2hhciogc2FuZGJveCgpIHsgcmV0dXJuICJzYW5kYm94IjsgfQorICAgIHN0YXRpYyBj
b25zdCBjaGFyKiBzY3JpcHRTcmMoKSB7IHJldHVybiAic2NyaXB0LXNyYyI7IH0KKyAgICBzdGF0
aWMgY29uc3QgY2hhciogc3R5bGVTcmMoKSB7IHJldHVybiAic3R5bGUtc3JjIjsgfQorI2lmIEVO
QUJMRShDU1BfTkVYVCkKKyAgICBzdGF0aWMgY29uc3QgY2hhciogZm9ybUFjdGlvbigpIHsgcmV0
dXJuICJmb3JtLWFjdGlvbiI7IH0KKyAgICBzdGF0aWMgY29uc3QgY2hhciogcGx1Z2luVHlwZXMo
KSB7IHJldHVybiAicGx1Z2luLXR5cGVzIjsgfQorICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzY3Jp
cHROb25jZSgpIHsgcmV0dXJuICJzY3JpcHQtbm9uY2UiOyB9CisjZW5kaWYKKworICAgIHN0YXRp
YyBib29sIGlzRGlyZWN0aXZlTmFtZShjb25zdCBTdHJpbmcmIG5hbWUpOworCiAgICAgdm9pZCBk
aWRSZWNlaXZlSGVhZGVyKGNvbnN0IFN0cmluZyYsIEhlYWRlclR5cGUpOwogCiAgICAgLy8gVGhl
c2UgZnVuY3Rpb25zIGFyZSB3cm9uZyBiZWNhdXNlIHRoZXkgYXNzdW1lIHRoYXQgdGhlcmUgaXMg
b25seSBvbmUgaGVhZGVyLgpAQCAtOTksNiArMTE4LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNB
Y3RpdmUoKSBjb25zdDsKICAgICB2b2lkIGdhdGhlclJlcG9ydFVSSXMoRE9NU3RyaW5nTGlzdCYp
IGNvbnN0OwogCisgICAgdm9pZCByZXBvcnREaXJlY3RpdmVBc1NvdXJjZUV4cHJlc3Npb24oY29u
c3QgU3RyaW5nJiBkaXJlY3RpdmVOYW1lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUV4cHJlc3Npb24p
IGNvbnN0OwogICAgIHZvaWQgcmVwb3J0RHVwbGljYXRlRGlyZWN0aXZlKGNvbnN0IFN0cmluZyYp
IGNvbnN0OwogICAgIHZvaWQgcmVwb3J0SW52YWxpZERpcmVjdGl2ZVZhbHVlQ2hhcmFjdGVyKGNv
bnN0IFN0cmluZyYgZGlyZWN0aXZlTmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkgY29uc3Q7CiAg
ICAgdm9pZCByZXBvcnRJbnZhbGlkUGF0aENoYXJhY3Rlcihjb25zdCBTdHJpbmcmIGRpcmVjdGl2
ZU5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUsIGNvbnN0IGNoYXIpIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU3
OGNhOWQ4ZTU4ODAxOWRlOWQzM2I5MjEwZjk2NGE0YjMzZWE0N2UuLmRkNmI3N2JjZGJjYjE5ODE0
OTE5ZWM2ODBjOThhOTY4NzM3ZmRiODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0xMC0x
NSAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdhcm4gd2hlbiBD
U1AgaGVhZGVycyBkb24ndCBzZXBhcmF0ZSBkaXJlY3RpdmVzIHdpdGggJzsnLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTkyNzQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NvdXJjZS1saXN0LXBhcnNpbmctbm8tc2VtaWNvbG9u
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvc291cmNlLWxpc3QtcGFyc2luZy1uby1zZW1pY29sb24uaHRtbDog
QWRkZWQuCisKIDIwMTItMTAtMTQgIFNoaW55YSBLYXdhbmFrYSAgPHNoaW55YWtAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gVW5yZXZpZXdlZCBnYXJkZW5pbmcsIFRlc3RFeHBl
Y3RhdGlvbnMgdXBkYXRlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2Vj
dXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NvdXJjZS1saXN0LXBhcnNpbmctbm8tc2VtaWNv
bG9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3NvdXJjZS1saXN0LXBhcnNpbmctbm8tc2VtaWNvbG9uLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41MGU2NjIzYWI4YWQ3OGM5MDIzNTQ2OTJhNjk5OTA2Nzg3ZDNkZTBi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250
ZW50U2VjdXJpdHlQb2xpY3kvc291cmNlLWxpc3QtcGFyc2luZy1uby1zZW1pY29sb24tZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK0NPTlNPTEUgTUVTU0FHRTogVGhlIENvbnRlbnQgU2Vj
dXJpdHkgUG9saWN5IGRpcmVjdGl2ZSAnZGVmYXVsdC1zcmMnIGNvbnRhaW5zICdzY3JpcHQtc3Jj
JyBhcyBhIHNvdXJjZSBleHByZXNzaW9uLiBEaWQgeW91IG1lYW4gJ2RlZmF1bHQtc3JjIC4uLjsg
c2NyaXB0LXNyYy4uLicgKG5vdGUgdGhlIHNlbWljb2xvbik/CitDT05TT0xFIE1FU1NBR0U6IFRo
ZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmUgJ3NjcmlwdC1zcmMnIGNvbnRhaW5z
ICdvYmplY3Qtc3JjJyBhcyBhIHNvdXJjZSBleHByZXNzaW9uLiBEaWQgeW91IG1lYW4gJ3Njcmlw
dC1zcmMgLi4uOyBvYmplY3Qtc3JjLi4uJyAobm90ZSB0aGUgc2VtaWNvbG9uKT8KK0NPTlNPTEUg
TUVTU0FHRTogVGhlIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZSAnc2NyaXB0LXNy
YycgY29udGFpbnMgJ3N0eWxlLXNyYycgYXMgYSBzb3VyY2UgZXhwcmVzc2lvbi4gRGlkIHlvdSBt
ZWFuICdzY3JpcHQtc3JjIC4uLjsgc3R5bGUtc3JjLi4uJyAobm90ZSB0aGUgc2VtaWNvbG9uKT8K
K0lmIGEgd2ViIGF1dGhvciBmb3JnZXRzIGEgc2VtaWNvbG9uLCB3ZSBzaG91bGQgZG8gb3VyIGJl
c3QgdG8gd2FybiB0aGVtIHRoYXQgdGhlIHBvbGljeSB0aGV5J3ZlIGRlZmluZWQgaXMgcHJvYmFi
bHkgbm90IHdoYXQgdGhleSBpbnRlbmRlZC4KKworCisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1m
cmFtZVBhdGggLy88IS0tZnJhbWUwLS0+LS0+JworLS0tLS0tLS0KK1BBU1MKKworLS0tLS0tLS0K
K0ZyYW1lOiAnPCEtLWZyYW1lUGF0aCAvLzwhLS1mcmFtZTEtLT4tLT4nCistLS0tLS0tLQorUEFT
UwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2Vj
dXJpdHlQb2xpY3kvc291cmNlLWxpc3QtcGFyc2luZy1uby1zZW1pY29sb24uaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NvdXJjZS1s
aXN0LXBhcnNpbmctbm8tc2VtaWNvbG9uLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmNhNTY4MWI5YzBiZWFi
MDViOGYxNWM0N2M1MDE4NzZiMDA4NzM2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NvdXJjZS1saXN0LXBh
cnNpbmctbm8tc2VtaWNvbG9uLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9J3Jlc291cmNlcy9tdWx0aXBsZS1pZnJhbWUt
dGVzdC5qcyc+PC9zY3JpcHQ+Cis8c2NyaXB0PgordmFyIHRlc3RzID0gWworICAgIFsneWVzJywg
J2RlZmF1bHQtc3JjIFwnc2VsZlwnIHNjcmlwdC1zcmMgZXhhbXBsZS5jb20nLCAncmVzb3VyY2Vz
L3NjcmlwdC5qcyddLAorICAgIFsneWVzJywgJ3NjcmlwdC1zcmMgXCdzZWxmXCcgb2JqZWN0LXNy
YyBcJ3NlbGZcJyBzdHlsZS1zcmMgKicsICdyZXNvdXJjZXMvc2NyaXB0LmpzJ10sCitdOworPC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CisgICAgPHA+SWYgYSB3ZWIg
YXV0aG9yIGZvcmdldHMgYSBzZW1pY29sb24sIHdlIHNob3VsZCBkbyBvdXIgYmVzdCB0byB3YXJu
IHRoZW0KKyAgICB0aGF0IHRoZSBwb2xpY3kgdGhleSd2ZSBkZWZpbmVkIGlzIHByb2JhYmx5IG5v
dCB3aGF0IHRoZXkgaW50ZW5kZWQuPC9wPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168755</attachid>
            <date>2012-10-15 12:37:34 -0700</date>
            <delta_ts>2012-10-15 22:25:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99274-20121015213624.patch</filename>
            <type>text/plain</type>
            <size>10995</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTBlYTE2YWU4YmRiZmE2
MTI2MjVjNDk0ZDUzYWM4ZGM4YjMzYTE2Mi4uMWZlZDhlZWQwMzQ2NTQ0ZWYxYjVhZGQyNmYwNDJm
NTUyMjY0M2FmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEyLTEwLTE1ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2FybiB3aGVuIENTUCBoZWFk
ZXJzIGRvbid0IHNlcGFyYXRlIGRpcmVjdGl2ZXMgd2l0aCAnOycuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTI3NAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgcmVjZW50IGJ1ZyByZXBvcnQgZXhoaWJp
dGVkIGNvbmZ1c2lvbiBhcyB0byB3aGF0IHJvbGUsIGV4YWN0bHksCisgICAgICAgIHNlbWljb2xv
bnMgcGxheSBpbiBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkZWZpbml0aW9ucy4gVGhpcyBwYXRj
aAorICAgICAgICBhZGp1c3RzIHRoZSBwYXJzZXIgdG8gd2FybiB3ZWIgYXV0aG9ycyBpZiBhIGRp
cmVjdGl2ZSBuYW1lIGlzCisgICAgICAgIGVuY291bnRlcmVkIHdoaWxlIHBhcnNpbmcgYSBzb3Vy
Y2UgbGlzdCwgd2hpY2ggd291bGQgYWxtb3N0IGNlcnRhaW5seQorICAgICAgICBwb2ludCB0byBh
IG1pc3Npbmcgc2VtaWNvbG9uLiBGb3IgZXhhbXBsZSwgc29tZXRoaW5nIGxpa2U6CisKKyAgICAg
ICAgICAgIHNjcmlwdC1zcmMgJ3NlbGYnIG9iamVjdC1zcmMgJ3NlbGYnIHN0eWxlLXNyYyAqCisK
KyAgICAgICAgd291bGQgdGhyb3cgdHdvIHdhcm5pbmdzLCBub3RpbmcgdGhhdCAnb2JqZWN0LXNy
YycgYW5kICdzdHlsZS1zcmMnIGFyZQorICAgICAgICBwcm9iYWJseSBtZWFudCBhcyBkaXJlY3Rp
dmVzLCBhbmQgbm90IGFzIHNvdXJjZSBleHByZXNzaW9ucyBpbiB0aGUKKyAgICAgICAgJ3Njcmlw
dC1zcmMnIHNvdXJjZSBsaXN0LgorCisgICAgICAgIFRlc3Q6IGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3NvdXJjZS1saXN0LXBhcnNpbmctbm8tc2VtaWNvbG9uLmh0
bWwKKworICAgICAgICAqIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTUFNvdXJjZUxpc3Q6OnBhcnNlKToKKyAgICAgICAgICAgIFRocm93IHRoZSBu
ZXcgd2FybmluZyBvbnRvIHRoZSBjb25zb2xlIGlmIHRoZSBob3N0bmFtZSBvZiBhIHNvdXJjZQor
ICAgICAgICAgICAgZXhwcmVzc2lvbiBtYXRjaGVzIGEgQ1NQIGRpcmVjdGl2ZSBuYW1lLgorICAg
ICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWRkRGlyZWN0aXZlKToKKyAgICAgICAg
ICAgIFVzZSB0aGUgZXhjaXRpbmcgbmV3IHN0YXRpYyB2YXJpYWJsZXMgc28gdGhhdCB0aGUgbmFt
ZXMgb2YgdmFyaW91cworICAgICAgICAgICAgZGlyZWN0aXZlcyBhcmUgYXZhaWxhYmxlIG91dHNp
ZGUgb2YgQ1NQRGlyZWN0aXZlTGlzdDo6YWRkRGlyZWN0aXZlLgorICAgICAgICAgICAgVGhlc2Ug
d2VyZSBwcmV2aW91c2x5IGRlZmluZWQgYXMgbG9jYWwgc3RhdGljIEFTQ0lJTGl0ZXJhbHMuIE5v
dworICAgICAgICAgICAgdGhleSdyZSBzdGF0aWMgY29uc3QgY2hhcltdIGluIGFuIGFub255bW91
cyBuYW1lc3BhY2UuCisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6Omlz
RGlyZWN0aXZlTmFtZSk6CisgICAgICAgICAgICBTdGF0aWMgbWV0aG9kIHRoYXQgY29tcGFyZXMg
YSBzdHJpbmcgdG8gYWxsIHRoZSBrbm93biBkaXJlY3RpdmUKKyAgICAgICAgICAgIG5hbWVzLCBy
ZXR1cm5pbmcgdHJ1ZSBpZiB0aGVyZSdzIGEgKGNhc2UtaW5zZW5zaXRpdmUpIG1hdGNoLgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3k6
OnJlcG9ydERpcmVjdGl2ZUFzU291cmNlRXhwcmVzc2lvbik6CisgICAgICAgICAgICBBIG5ldyB3
YXJuaW5nIG1lc3NhZ2Ugd2hpY2ggc2hvdWxkIGJlIHByaW50ZWQgd2hlbiBhIGRpcmVjdGl2ZSBu
YW1lCisgICAgICAgICAgICBpcyBlbmNvdW50ZXJlZCBhcyBhIHNvdXJjZSBleHByZXNzaW9uLiBN
YXRjaGluZyB0aGUgZGlyZWN0aXZlIG5hbWUKKyAgICAgICAgICAgIGlzIGRvbmUgdmlhIGEgbmV3
ICdpc0RpcmVjdGl2ZU5hbWUnIGZ1bmN0aW9uIHdoaWNoIGxpdmVzIGluIGFuCisgICAgICAgICAg
ICBhbm9ueW1vdXMgbmFtZXNwYWNlIGFsb25nIHdpdGggdGhlIG90aGVyIENTUCBoZWxwZXIgZnVu
Y3Rpb25zLgorICAgICAgICAqIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5Lmg6CisgICAgICAg
ICAgICBBZGRlZCAncmVwb3J0RGlyZWN0aXZlQXNTb3VyY2VFeHByZXNzaW9uJyBzaWduYXR1cmUu
CisKIDIwMTItMTAtMTUgIENocmlzdG9waGUgRHVtZXogIDxjaHJpc3RvcGhlLmR1bWV6QGludGVs
LmNvbT4KIAogICAgICAgICBbRUZMXSBQcm92aWRlIGxvZ2dpbmcgZm9yIE9ubGluZVN0YXRlIGRl
dGVjdGlvbiBjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1
cml0eVBvbGljeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGlj
eS5jcHAKaW5kZXggMTQ0ZGJmMzI4NjlkZmU3NTEyM2E4ODM3ZWY5YWIxZmMwMWY3NGU2NC4uMTRi
YmMxMzY3NjBiMWVmMGI4ZjcyYmZmYTNhYWQwNzMyZTNkOWQyNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNwcApAQCAtMTA0LDYgKzEwNCw0NCBAQCBi
b29sIGlzTWVkaWFUeXBlQ2hhcmFjdGVyKFVDaGFyIGMpCiAgICAgcmV0dXJuICFpc0FTQ0lJU3Bh
Y2UoYykgJiYgYyAhPSAnLyc7CiB9CiAKK3N0YXRpYyBjb25zdCBjaGFyIGNvbm5lY3RTcmNbXSA9
ICJjb25uZWN0LXNyYyI7CitzdGF0aWMgY29uc3QgY2hhciBkZWZhdWx0U3JjW10gPSAiZGVmYXVs
dC1zcmMiOworc3RhdGljIGNvbnN0IGNoYXIgZm9udFNyY1tdID0gImZvbnQtc3JjIjsKK3N0YXRp
YyBjb25zdCBjaGFyIGZyYW1lU3JjW10gPSAiZnJhbWUtc3JjIjsKK3N0YXRpYyBjb25zdCBjaGFy
IGltZ1NyY1tdID0gImltZy1zcmMiOworc3RhdGljIGNvbnN0IGNoYXIgbWVkaWFTcmNbXSA9ICJt
ZWRpYS1zcmMiOworc3RhdGljIGNvbnN0IGNoYXIgb2JqZWN0U3JjW10gPSAib2JqZWN0LXNyYyI7
CitzdGF0aWMgY29uc3QgY2hhciByZXBvcnRVUklbXSA9ICJyZXBvcnQtdXJpIjsKK3N0YXRpYyBj
b25zdCBjaGFyIHNhbmRib3hbXSA9ICJzYW5kYm94IjsKK3N0YXRpYyBjb25zdCBjaGFyIHNjcmlw
dFNyY1tdID0gInNjcmlwdC1zcmMiOworc3RhdGljIGNvbnN0IGNoYXIgc3R5bGVTcmNbXSA9ICJz
dHlsZS1zcmMiOworI2lmIEVOQUJMRShDU1BfTkVYVCkKK3N0YXRpYyBjb25zdCBjaGFyIGZvcm1B
Y3Rpb25bXSA9ICJmb3JtLWFjdGlvbiI7CitzdGF0aWMgY29uc3QgY2hhciBwbHVnaW5UeXBlc1td
ID0gInBsdWdpbi10eXBlcyI7CitzdGF0aWMgY29uc3QgY2hhciBzY3JpcHROb25jZVtdID0gInNj
cmlwdC1ub25jZSI7CisjZW5kaWYKKworYm9vbCBpc0RpcmVjdGl2ZU5hbWUoY29uc3QgU3RyaW5n
JiBuYW1lKQoreworICAgIHJldHVybiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgY29ubmVjdFNy
YykKKyAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgZGVmYXVsdFNyYykKKyAgICAg
ICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgZm9udFNyYykKKyAgICAgICAgfHwgZXF1YWxJ
Z25vcmluZ0Nhc2UobmFtZSwgZnJhbWVTcmMpCisgICAgICAgIHx8IGVxdWFsSWdub3JpbmdDYXNl
KG5hbWUsIGltZ1NyYykKKyAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgbWVkaWFT
cmMpCisgICAgICAgIHx8IGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsIG9iamVjdFNyYykKKyAgICAg
ICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgcmVwb3J0VVJJKQorICAgICAgICB8fCBlcXVh
bElnbm9yaW5nQ2FzZShuYW1lLCBzYW5kYm94KQorICAgICAgICB8fCBlcXVhbElnbm9yaW5nQ2Fz
ZShuYW1lLCBzY3JpcHRTcmMpCisgICAgICAgIHx8IGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsIHN0
eWxlU3JjKQorI2lmIEVOQUJMRShDU1BfTkVYVCkKKyAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nh
c2UobmFtZSwgZm9ybUFjdGlvbikKKyAgICAgICAgfHwgZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwg
cGx1Z2luVHlwZXMpCisgICAgICAgIHx8IGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsIHNjcmlwdE5v
bmNlKQorI2VuZGlmCisgICAgKTsKK30KKwogfSAvLyBuYW1lc3BhY2UKIAogc3RhdGljIGJvb2wg
c2tpcEV4YWN0bHkoY29uc3QgVUNoYXIqJiBwb3NpdGlvbiwgY29uc3QgVUNoYXIqIGVuZCwgVUNo
YXIgZGVsaW1pdGVyKQpAQCAtMzEwLDYgKzM0OCw4IEBAIHZvaWQgQ1NQU291cmNlTGlzdDo6cGFy
c2UoY29uc3QgVUNoYXIqIGJlZ2luLCBjb25zdCBVQ2hhciogZW5kKQogICAgICAgICAgICAgICAg
IGNvbnRpbnVlOwogICAgICAgICAgICAgaWYgKHNjaGVtZS5pc0VtcHR5KCkpCiAgICAgICAgICAg
ICAgICAgc2NoZW1lID0gbV9wb2xpY3ktPnNlY3VyaXR5T3JpZ2luKCktPnByb3RvY29sKCk7Cisg
ICAgICAgICAgICBpZiAoaXNEaXJlY3RpdmVOYW1lKGhvc3QpKQorICAgICAgICAgICAgICAgIG1f
cG9saWN5LT5yZXBvcnREaXJlY3RpdmVBc1NvdXJjZUV4cHJlc3Npb24obV9kaXJlY3RpdmVOYW1l
LCBob3N0KTsKICAgICAgICAgICAgIG1fbGlzdC5hcHBlbmQoQ1NQU291cmNlKHNjaGVtZSwgaG9z
dCwgcG9ydCwgcGF0aCwgaG9zdEhhc1dpbGRjYXJkLCBwb3J0SGFzV2lsZGNhcmQpKTsKICAgICAg
ICAgfSBlbHNlCiAgICAgICAgICAgICBtX3BvbGljeS0+cmVwb3J0SW52YWxpZFNvdXJjZUV4cHJl
c3Npb24obV9kaXJlY3RpdmVOYW1lLCBTdHJpbmcoYmVnaW5Tb3VyY2UsIHBvc2l0aW9uIC0gYmVn
aW5Tb3VyY2UpKTsKQEAgLTEyMzIsMjMgKzEyNzIsNiBAQCB2b2lkIENTUERpcmVjdGl2ZUxpc3Q6
OmFwcGx5U2FuZGJveFBvbGljeShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgc2Fu
ZAogCiB2b2lkIENTUERpcmVjdGl2ZUxpc3Q6OmFkZERpcmVjdGl2ZShjb25zdCBTdHJpbmcmIG5h
bWUsIGNvbnN0IFN0cmluZyYgdmFsdWUpCiB7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJp
bmcsIGRlZmF1bHRTcmMsIChBU0NJSUxpdGVyYWwoImRlZmF1bHQtc3JjIikpKTsKLSAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKFN0cmluZywgc2NyaXB0U3JjLCAoQVNDSUlMaXRlcmFsKCJzY3JpcHQt
c3JjIikpKTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgb2JqZWN0U3JjLCAoQVND
SUlMaXRlcmFsKCJvYmplY3Qtc3JjIikpKTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmlu
ZywgZnJhbWVTcmMsIChBU0NJSUxpdGVyYWwoImZyYW1lLXNyYyIpKSk7Ci0gICAgREVGSU5FX1NU
QVRJQ19MT0NBTChTdHJpbmcsIGltZ1NyYywgKEFTQ0lJTGl0ZXJhbCgiaW1nLXNyYyIpKSk7Ci0g
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIHN0eWxlU3JjLCAoQVNDSUlMaXRlcmFsKCJz
dHlsZS1zcmMiKSkpOwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBmb250U3JjLCAo
QVNDSUlMaXRlcmFsKCJmb250LXNyYyIpKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJp
bmcsIG1lZGlhU3JjLCAoQVNDSUlMaXRlcmFsKCJtZWRpYS1zcmMiKSkpOwotICAgIERFRklORV9T
VEFUSUNfTE9DQUwoU3RyaW5nLCBjb25uZWN0U3JjLCAoQVNDSUlMaXRlcmFsKCJjb25uZWN0LXNy
YyIpKSk7Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIHNhbmRib3gsIChBU0NJSUxp
dGVyYWwoInNhbmRib3giKSkpOwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCByZXBv
cnRVUkksIChBU0NJSUxpdGVyYWwoInJlcG9ydC11cmkiKSkpOwotI2lmIEVOQUJMRShDU1BfTkVY
VCkKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0cmluZywgZm9ybUFjdGlvbiwgKEFTQ0lJTGl0
ZXJhbCgiZm9ybS1hY3Rpb24iKSkpOwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBw
bHVnaW5UeXBlcywgKEFTQ0lJTGl0ZXJhbCgicGx1Z2luLXR5cGVzIikpKTsKLSAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKFN0cmluZywgc2NyaXB0Tm9uY2UsIChBU0NJSUxpdGVyYWwoInNjcmlwdC1u
b25jZSIpKSk7Ci0jZW5kaWYKLQogICAgIEFTU0VSVCghbmFtZS5pc0VtcHR5KCkpOwogCiAgICAg
aWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsIGRlZmF1bHRTcmMpKQpAQCAtMTU4MCw2ICsxNjAz
LDEyIEBAIHZvaWQgQ29udGVudFNlY3VyaXR5UG9saWN5OjpyZXBvcnRVbnJlY29nbml6ZWREaXJl
Y3RpdmUoY29uc3QgU3RyaW5nJiBuYW1lKSBjb25zCiAgICAgbG9nVG9Db25zb2xlKG1lc3NhZ2Up
OwogfQogCit2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0RGlyZWN0aXZlQXNTb3Vy
Y2VFeHByZXNzaW9uKGNvbnN0IFN0cmluZyYgZGlyZWN0aXZlTmFtZSwgY29uc3QgU3RyaW5nJiBz
b3VyY2VFeHByZXNzaW9uKSBjb25zdAoreworICAgIFN0cmluZyBtZXNzYWdlID0gIlRoZSBDb250
ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmUgJyIgKyBkaXJlY3RpdmVOYW1lICsgIicgY29u
dGFpbnMgJyIgKyBzb3VyY2VFeHByZXNzaW9uICsgIicgYXMgYSBzb3VyY2UgZXhwcmVzc2lvbi4g
RGlkIHlvdSBtZWFuICciICsgZGlyZWN0aXZlTmFtZSArICIgLi4uOyAiICsgc291cmNlRXhwcmVz
c2lvbiArICIuLi4nIChub3RlIHRoZSBzZW1pY29sb24pPyI7CisgICAgbG9nVG9Db25zb2xlKG1l
c3NhZ2UpOworfQorCiB2b2lkIENvbnRlbnRTZWN1cml0eVBvbGljeTo6cmVwb3J0RHVwbGljYXRl
RGlyZWN0aXZlKGNvbnN0IFN0cmluZyYgbmFtZSkgY29uc3QKIHsKICAgICBTdHJpbmcgbWVzc2Fn
ZSA9IG1ha2VTdHJpbmcoIklnbm9yaW5nIGR1cGxpY2F0ZSBDb250ZW50LVNlY3VyaXR5LVBvbGlj
eSBkaXJlY3RpdmUgJyIsIG5hbWUsICInLlxuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250
ZW50U2VjdXJpdHlQb2xpY3kuaAppbmRleCAwZjg3ZGZjM2ZkN2NiZjExZGZmMjFhZjI0YzdjZGU5
NTZhYWRmMmQyLi44YzhlODY3NWYzMjFkNTJmMjExNzk5MjJkOGIwOGMzYmFmNjlhNTYxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmgKQEAgLTk5LDYgKzk5
LDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNBY3RpdmUoKSBjb25zdDsKICAgICB2b2lkIGdhdGhl
clJlcG9ydFVSSXMoRE9NU3RyaW5nTGlzdCYpIGNvbnN0OwogCisgICAgdm9pZCByZXBvcnREaXJl
Y3RpdmVBc1NvdXJjZUV4cHJlc3Npb24oY29uc3QgU3RyaW5nJiBkaXJlY3RpdmVOYW1lLCBjb25z
dCBTdHJpbmcmIHNvdXJjZUV4cHJlc3Npb24pIGNvbnN0OwogICAgIHZvaWQgcmVwb3J0RHVwbGlj
YXRlRGlyZWN0aXZlKGNvbnN0IFN0cmluZyYpIGNvbnN0OwogICAgIHZvaWQgcmVwb3J0SW52YWxp
ZERpcmVjdGl2ZVZhbHVlQ2hhcmFjdGVyKGNvbnN0IFN0cmluZyYgZGlyZWN0aXZlTmFtZSwgY29u
c3QgU3RyaW5nJiB2YWx1ZSkgY29uc3Q7CiAgICAgdm9pZCByZXBvcnRJbnZhbGlkUGF0aENoYXJh
Y3Rlcihjb25zdCBTdHJpbmcmIGRpcmVjdGl2ZU5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUsIGNv
bnN0IGNoYXIpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDNmN2RkNmUyZWQ0Yjc3MTVhNGQ0ZjdlYTg0MDIwNWYy
MWJhYWI0YTEuLjM1OGRjNmI0NGJlZmZmMGUyMDg5ZDIxYzZhNjhkMWRiNmE2NWQzZTMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMyBAQAorMjAxMi0xMC0xNSAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFdhcm4gd2hlbiBDU1AgaGVhZGVycyBkb24ndCBzZXBhcmF0ZSBkaXJl
Y3RpdmVzIHdpdGggJzsnLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9OTkyNzQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NvdXJj
ZS1saXN0LXBhcnNpbmctbm8tc2VtaWNvbG9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvc291cmNlLWxpc3Qt
cGFyc2luZy1uby1zZW1pY29sb24uaHRtbDogQWRkZWQuCisKIDIwMTItMTAtMTUgIERhbmEgSmFu
c2VucyAgPGRhbmFrakBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTGF5b3V0IFRlc3QgaW5zcGVj
dG9yL2RlYnVnZ2VyL2R5bmFtaWMtc2NyaXB0cy5odG1sIGlzIGZsYWt5CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zb3Vy
Y2UtbGlzdC1wYXJzaW5nLW5vLXNlbWljb2xvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9zb3VyY2UtbGlzdC1wYXJz
aW5nLW5vLXNlbWljb2xvbi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTBlNjYyM2FiOGFkNzhj
OTAyMzU0NjkyYTY5OTkwNjc4N2QzZGUwYgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NvdXJjZS1saXN0LXBh
cnNpbmctbm8tc2VtaWNvbG9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE2IEBACitDT05TT0xF
IE1FU1NBR0U6IFRoZSBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmUgJ2RlZmF1bHQt
c3JjJyBjb250YWlucyAnc2NyaXB0LXNyYycgYXMgYSBzb3VyY2UgZXhwcmVzc2lvbi4gRGlkIHlv
dSBtZWFuICdkZWZhdWx0LXNyYyAuLi47IHNjcmlwdC1zcmMuLi4nIChub3RlIHRoZSBzZW1pY29s
b24pPworQ09OU09MRSBNRVNTQUdFOiBUaGUgQ29udGVudCBTZWN1cml0eSBQb2xpY3kgZGlyZWN0
aXZlICdzY3JpcHQtc3JjJyBjb250YWlucyAnb2JqZWN0LXNyYycgYXMgYSBzb3VyY2UgZXhwcmVz
c2lvbi4gRGlkIHlvdSBtZWFuICdzY3JpcHQtc3JjIC4uLjsgb2JqZWN0LXNyYy4uLicgKG5vdGUg
dGhlIHNlbWljb2xvbik/CitDT05TT0xFIE1FU1NBR0U6IFRoZSBDb250ZW50IFNlY3VyaXR5IFBv
bGljeSBkaXJlY3RpdmUgJ3NjcmlwdC1zcmMnIGNvbnRhaW5zICdzdHlsZS1zcmMnIGFzIGEgc291
cmNlIGV4cHJlc3Npb24uIERpZCB5b3UgbWVhbiAnc2NyaXB0LXNyYyAuLi47IHN0eWxlLXNyYy4u
LicgKG5vdGUgdGhlIHNlbWljb2xvbik/CitJZiBhIHdlYiBhdXRob3IgZm9yZ2V0cyBhIHNlbWlj
b2xvbiwgd2Ugc2hvdWxkIGRvIG91ciBiZXN0IHRvIHdhcm4gdGhlbSB0aGF0IHRoZSBwb2xpY3kg
dGhleSd2ZSBkZWZpbmVkIGlzIHByb2JhYmx5IG5vdCB3aGF0IHRoZXkgaW50ZW5kZWQuCisKKwor
CistLS0tLS0tLQorRnJhbWU6ICc8IS0tZnJhbWVQYXRoIC8vPCEtLWZyYW1lMC0tPi0tPicKKy0t
LS0tLS0tCitQQVNTCisKKy0tLS0tLS0tCitGcmFtZTogJzwhLS1mcmFtZVBhdGggLy88IS0tZnJh
bWUxLS0+LS0+JworLS0tLS0tLS0KK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3NvdXJjZS1saXN0LXBhcnNpbmct
bm8tc2VtaWNvbG9uLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRl
bnRTZWN1cml0eVBvbGljeS9zb3VyY2UtbGlzdC1wYXJzaW5nLW5vLXNlbWljb2xvbi5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmJjYTU2ODFiOWMwYmVhYjA1YjhmMTVjNDdjNTAxODc2YjAwODczNjIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1
cml0eVBvbGljeS9zb3VyY2UtbGlzdC1wYXJzaW5nLW5vLXNlbWljb2xvbi5odG1sCkBAIC0wLDAg
KzEsMTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSdy
ZXNvdXJjZXMvbXVsdGlwbGUtaWZyYW1lLXRlc3QuanMnPjwvc2NyaXB0PgorPHNjcmlwdD4KK3Zh
ciB0ZXN0cyA9IFsKKyAgICBbJ3llcycsICdkZWZhdWx0LXNyYyBcJ3NlbGZcJyBzY3JpcHQtc3Jj
IGV4YW1wbGUuY29tJywgJ3Jlc291cmNlcy9zY3JpcHQuanMnXSwKKyAgICBbJ3llcycsICdzY3Jp
cHQtc3JjIFwnc2VsZlwnIG9iamVjdC1zcmMgXCdzZWxmXCcgc3R5bGUtc3JjIConLCAncmVzb3Vy
Y2VzL3NjcmlwdC5qcyddLAorXTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0
ZXN0KCkiPgorICAgIDxwPklmIGEgd2ViIGF1dGhvciBmb3JnZXRzIGEgc2VtaWNvbG9uLCB3ZSBz
aG91bGQgZG8gb3VyIGJlc3QgdG8gd2FybiB0aGVtCisgICAgdGhhdCB0aGUgcG9saWN5IHRoZXkn
dmUgZGVmaW5lZCBpcyBwcm9iYWJseSBub3Qgd2hhdCB0aGV5IGludGVuZGVkLjwvcD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>