<?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>94252</bug_id>
          
          <creation_ts>2012-08-16 14:19:05 -0700</creation_ts>
          <short_desc>Refactor CSPDirective to support non-sourcelist types.</short_desc>
          <delta_ts>2012-08-16 15:44:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>91919</dependson>
          
          <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>697517</commentid>
    <comment_count>0</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-08-16 14:19:05 -0700</bug_when>
    <thetext>See https://bugs.webkit.org/show_bug.cgi?id=91919#c23 for context.

CSPDirective
|
+-&gt; SourceListDirective
|
+-&gt; MediaListDirective
|
+-&gt; NonceDirective</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697554</commentid>
    <comment_count>1</comment_count>
      <attachid>158913</attachid>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-08-16 14:56:45 -0700</bug_when>
    <thetext>Created attachment 158913
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697556</commentid>
    <comment_count>2</comment_count>
    <who name="Mike West">mkwst</who>
    <bug_when>2012-08-16 14:57:28 -0700</bug_when>
    <thetext>Hey Adam!

This is a bit beyond the refactoring you asked for in 91919, but I think it makes sense. WDYT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697587</commentid>
    <comment_count>3</comment_count>
      <attachid>158913</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-16 15:25:48 -0700</bug_when>
    <thetext>Comment on attachment 158913
Patch

A thing of beauty and a joy forever.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697611</commentid>
    <comment_count>4</comment_count>
      <attachid>158913</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-16 15:44:23 -0700</bug_when>
    <thetext>Comment on attachment 158913
Patch

Clearing flags on attachment: 158913

Committed r125817: &lt;http://trac.webkit.org/changeset/125817&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697612</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-16 15:44:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158913</attachid>
            <date>2012-08-16 14:56:45 -0700</date>
            <delta_ts>2012-08-16 15:44:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94252-20120816235609.patch</filename>
            <type>text/plain</type>
            <size>30792</size>
            <attacher name="Mike West">mkwst</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1Nzk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjAzNzQ2ZjMxZmE4ODdl
MDdmMmU0NTZmMDNmYTI1MWIyNTFiOTE0My4uZTYyODM4M2NlZTMzYjdkNDA1OGZiZjA0MjJjOGUx
NTU1MzFjMjllOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDcyIEBACisyMDEyLTA4LTE2ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVmYWN0b3IgQ1NQRGlyZWN0
aXZlIHRvIHN1cHBvcnQgbm9uLXNvdXJjZWxpc3QgdHlwZXMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDI1MgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSAnQ1NQRGlyZWN0aXZlJyB3YXMgYnVpbHQg
dG8gc3VwcG9ydCBzb3VyY2UgbGlzdCBDb250ZW50IFNlY3VyaXR5CisgICAgICAgIFBvbGljeSBk
aXJlY3RpdmVzIGxpa2UgJ3NjcmlwdC1zcmMnIG9yICdvYmplY3Qtc3JjJy4gSXQgZG9lc24ndCBz
dXBwb3J0CisgICAgICAgIG5ldyBkaXJlY3RpdmUgdHlwZXMgbGlrZSAnc2NyaXB0LW5vbmNlJyBv
ciAncGx1Z2luLXR5cGVzJy4gVGhhdAorICAgICAgICBmdW5jdGlvbmFsaXR5IGhhcyBiZWVuIGlt
cGxlbWVudGVkIGJ5IGhhbmdpbmcgc3RhdGUgb2ZmIG9mCisgICAgICAgIENTUERpcmVjdGl2ZUxp
c3QsIHdoaWNoIGlzbid0IGEgZ3JlYXQgc29sdXRpb24uCisKKyAgICAgICAgVGhpcyBwYXRjaCBw
dWxscyB0aGUgc291cmNlIGxpc3QgZnVuY3Rpb25hbGl0eSBvdXQgb2YgQ1NQRGlyZWN0aXZlIGFu
ZAorICAgICAgICBpbnRvIFNvdXJjZUxpc3REaXJlY3RpdmUsIGFuZCBsaWtld2lzZSBwdWxscyB0
aGUgbm9uY2UgYW5kIG1lZGlhIGxpc3QKKyAgICAgICAgZnVuY3Rpb25hbGl0eSBpbnRvIE5vbmNl
RGlyZWN0aXZlIGFuZCBNZWRpYUxpc3REaXJlY3RpdmUuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
IGhhdmUgYmVlbiBhZGRlZDsgdGhpcyByZWZhY3RvcmluZyBzaG91bGQgYmUgZXh0ZXJuYWxseQor
ICAgICAgICB0cmFuc3BhcmVudCwgYW5kIHRoZSBjdXJyZW50IENTUCB0ZXN0cyBzaG91bGQgY29u
dGludWUgdG8gcGFzcy4KKworICAgICAgICAqIHBhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZTo6Q1NQRGlyZWN0aXZlKToKKyAgICAg
ICAgKENTUERpcmVjdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1BEaXJlY3RpdmU6OnRleHQp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlOjpwb2xpY3kpOgorICAgICAgICAgICAg
Q1NQRGlyZWN0aXZlIGlzIG5vdyBhIHBhcmVudCBjbGFzcyBmb3IgTm9uY2VEaXJlY3RpdmUsCisg
ICAgICAgICAgICBNZWRpYUxpc3REaXJlY3RpdmUsIGFuZCBTb3VyY2VMaXN0RGlyZWN0aXZlLiBJ
dCBzdG9yZXMgYSBwb2ludGVyCisgICAgICAgICAgICB0byB0aGUgQ29udGVudFNlY3VyaXR5UG9s
aWN5IG9iamVjdCBpbiBvcmRlciB0byBmYWNpbGl0YXRlIGxvZ2dpbmcsCisgICAgICAgICAgICB3
aGljaCBub3cgbmVlZHMgdG8gaGFwcGVuIGF0IHRoaXMgbGV2ZWwsIHJhdGhlciB0aGFuIGhpZ2hl
ciB1cCBpbgorICAgICAgICAgICAgQ1NQRGlyZWN0aXZlTGlzdC4KKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoTm9uY2VEaXJlY3RpdmUpOgorICAgICAgICAoV2ViQ29yZTo6Tm9uY2VEaXJl
Y3RpdmU6Ok5vbmNlRGlyZWN0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vbmNlRGlyZWN0aXZl
OjphbGxvd3MpOgorICAgICAgICAoV2ViQ29yZTo6Tm9uY2VEaXJlY3RpdmU6OnBhcnNlKToKKyAg
ICAgICAgICAgIFB1bGwgdGhlIG5vbmNlIHBhcnNpbmcgY29kZSBhbmQgc3RhdGUgb3V0IG9mIENT
UERpcmVjdGl2ZUxpc3QKKyAgICAgICAgICAgIGFuZCBpbnRvIHRoaXMgbmV3IGNsYXNzLgorICAg
ICAgICAoTWVkaWFMaXN0RGlyZWN0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhTGlzdERp
cmVjdGl2ZTo6TWVkaWFMaXN0RGlyZWN0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhTGlz
dERpcmVjdGl2ZTo6YWxsb3dzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhTGlzdERpcmVjdGl2
ZTo6cGFyc2UpOgorICAgICAgICAgICAgUHVsbCB0aGUgbWVkaWEgbGlzdCBwYXJzaW5nIGNvZGUg
YW5kIHN0YXRlIG91dCBvZiBDU1BEaXJlY3RpdmVMaXN0CisgICAgICAgICAgICBhbmQgaW50byB0
aGlzIG5ldyBjbGFzcy4KKyAgICAgICAgKFNvdXJjZUxpc3REaXJlY3RpdmUpOgorICAgICAgICAo
V2ViQ29yZTo6U291cmNlTGlzdERpcmVjdGl2ZTo6U291cmNlTGlzdERpcmVjdGl2ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpTb3VyY2VMaXN0RGlyZWN0aXZlOjphbGxvd3MpOgorICAgICAgICAgICAg
UHVsbCB0aGUgc291cmNlIGxpc3QgZnVuY3Rpb25hbGl0eSBvdXQgb2YgQ1NQRGlyZWN0aXZlCisg
ICAgICAgICAgICBhbmQgaW50byB0aGlzIG5ldyBjbGFzcy4KKyAgICAgICAgKENTUERpcmVjdGl2
ZUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6Y2hlY2tFdmFsKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OmNoZWNrSW5saW5lKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OmNoZWNrTm9uY2UpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6Y2hlY2tTb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6
Q1NQRGlyZWN0aXZlTGlzdDo6Y2hlY2tNZWRpYVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NQ
RGlyZWN0aXZlTGlzdDo6b3BlcmF0aXZlRGlyZWN0aXZlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
UERpcmVjdGl2ZUxpc3Q6OmNoZWNrRXZhbEFuZFJlcG9ydFZpb2xhdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpDU1BEaXJlY3RpdmVMaXN0OjpjaGVja05vbmNlQW5kUmVwb3J0VmlvbGF0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OmNoZWNrTWVkaWFUeXBlQW5kUmVw
b3J0VmlvbGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OmNoZWNr
SW5saW5lQW5kUmVwb3J0VmlvbGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNTUERpcmVjdGl2
ZUxpc3Q6OmNoZWNrU291cmNlQW5kUmVwb3J0VmlvbGF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93SmF2YVNjcmlwdFVSTHMpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dJbmxpbmVFdmVudEhhbmRsZXJzKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OmFsbG93U2NyaXB0Tm9uY2UpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NQRGlyZWN0aXZlTGlzdDo6YWxsb3dQbHVnaW5UeXBlKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTUERpcmVjdGl2ZUxpc3Q6OnNldENTUERpcmVjdGl2ZSk6CisgICAgICAgIChXZWJD
b3JlOjpDU1BEaXJlY3RpdmVMaXN0OjphZGREaXJlY3RpdmUpOgorICAgICAgICAgICAgVXNlIHRo
ZSBuZXcgY2xhc3NlcyByYXRoZXIgdGhhbiBDU1BEaXJlY3RpdmUgKG9yIG5vIGRpcmVjdGl2ZQor
ICAgICAgICAgICAgYXQgYWxsLCBpbiB0aGUgY2FzZSBvZiBub25jZXMgYW5kIHBsdWdpbiB0eXBl
cykuCisKIDIwMTItMDgtMTUgIExldmkgV2VpbnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIEFjY3VtdWxhdGUgc3ViLXBpeGVsIG9mZnNldHMgdGhyb3VnaCBsYXllcnMgYW5k
IHRyYW5zZm9ybXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3Vy
aXR5UG9saWN5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGVudFNlY3VyaXR5UG9saWN5
LmNwcAppbmRleCBmODhkYjMwYjliMzk5MWM5MzkwN2E1NmZmNTU1MzBkZDc2M2JiZmE3Li44ODJm
OGM2YWE5ZmE0MTA0OTZhYzA2YThmOTE4MWJlZjJjYjEyZTc3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0NvbnRlbnRTZWN1cml0eVBvbGljeS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9Db250ZW50U2VjdXJpdHlQb2xpY3kuY3BwCkBAIC01MzYsMjcgKzUzNiwxNjIgQEAg
dm9pZCBDU1BTb3VyY2VMaXN0OjphZGRTb3VyY2VVbnNhZmVFdmFsKCkKIGNsYXNzIENTUERpcmVj
dGl2ZSB7CiBwdWJsaWM6CiAgICAgQ1NQRGlyZWN0aXZlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiB2YWx1ZSwgQ29udGVudFNlY3VyaXR5UG9saWN5KiBwb2xpY3kpCi0gICAgICAg
IDogbV9zb3VyY2VMaXN0KHBvbGljeSwgbmFtZSkKKyAgICAgICAgOiBtX25hbWUobmFtZSkKICAg
ICAgICAgLCBtX3RleHQobmFtZSArICcgJyArIHZhbHVlKQotICAgICAgICAsIG1fc2VsZlVSTChw
b2xpY3ktPnVybCgpKQorICAgICAgICAsIG1fcG9saWN5KHBvbGljeSkKKyAgICB7CisgICAgfQor
CisgICAgY29uc3QgU3RyaW5nJiB0ZXh0KCkgY29uc3QgeyByZXR1cm4gbV90ZXh0OyB9CisKK3By
b3RlY3RlZDoKKyAgICBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3kqIHBvbGljeSgpIGNvbnN0
IHsgcmV0dXJuIG1fcG9saWN5OyB9CisKK3ByaXZhdGU6CisgICAgU3RyaW5nIG1fbmFtZTsKKyAg
ICBTdHJpbmcgbV90ZXh0OworICAgIENvbnRlbnRTZWN1cml0eVBvbGljeSogbV9wb2xpY3k7Cit9
OworCitjbGFzcyBOb25jZURpcmVjdGl2ZSA6IHB1YmxpYyBDU1BEaXJlY3RpdmUgeworcHVibGlj
OgorICAgIE5vbmNlRGlyZWN0aXZlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2
YWx1ZSwgQ29udGVudFNlY3VyaXR5UG9saWN5KiBwb2xpY3kpCisgICAgICAgIDogQ1NQRGlyZWN0
aXZlKG5hbWUsIHZhbHVlLCBwb2xpY3kpCisgICAgeworICAgICAgICBwYXJzZSh2YWx1ZSk7Cisg
ICAgfQorCisgICAgYm9vbCBhbGxvd3MoY29uc3QgU3RyaW5nJiBub25jZSkgY29uc3QKKyAgICB7
CisgICAgICAgIHJldHVybiAoIW1fc2NyaXB0Tm9uY2UuaXNFbXB0eSgpICYmIG5vbmNlLnN0cmlw
V2hpdGVTcGFjZSgpID09IG1fc2NyaXB0Tm9uY2UpOworICAgIH0KKworcHJpdmF0ZToKKyAgICB2
b2lkIHBhcnNlKGNvbnN0IFN0cmluZyYgdmFsdWUpCisgICAgeworICAgICAgICBTdHJpbmcgbm9u
Y2U7CisgICAgICAgIGNvbnN0IFVDaGFyKiBwb3NpdGlvbiA9IHZhbHVlLmNoYXJhY3RlcnMoKTsK
KyAgICAgICAgY29uc3QgVUNoYXIqIGVuZCA9IHBvc2l0aW9uICsgdmFsdWUubGVuZ3RoKCk7CisK
KyAgICAgICAgc2tpcFdoaWxlPGlzQVNDSUlTcGFjZT4ocG9zaXRpb24sIGVuZCk7CisgICAgICAg
IGNvbnN0IFVDaGFyKiBub25jZUJlZ2luID0gcG9zaXRpb247CisgICAgICAgIGlmIChwb3NpdGlv
biA9PSBlbmQpIHsKKyAgICAgICAgICAgIHBvbGljeSgpLT5yZXBvcnRJbnZhbGlkTm9uY2UoU3Ry
aW5nKCkpOworICAgICAgICAgICAgbV9zY3JpcHROb25jZSA9ICIiOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisgICAgICAgIHNraXBXaGlsZTxpc05vbmNlQ2hhcmFjdGVyPihwb3Np
dGlvbiwgZW5kKTsKKyAgICAgICAgaWYgKG5vbmNlQmVnaW4gPCBwb3NpdGlvbikKKyAgICAgICAg
ICAgIG5vbmNlID0gU3RyaW5nKG5vbmNlQmVnaW4sIHBvc2l0aW9uIC0gbm9uY2VCZWdpbik7CisK
KyAgICAgICAgLy8gVHJpbSBvZmYgdHJhaWxpbmcgd2hpdGVzcGFjZTogSWYgd2UncmUgbm90IGF0
IHRoZSBlbmQgb2YgdGhlIHN0cmluZywgbG9nCisgICAgICAgIC8vIGFuIGVycm9yLgorICAgICAg
ICBza2lwV2hpbGU8aXNBU0NJSVNwYWNlPihwb3NpdGlvbiwgZW5kKTsKKyAgICAgICAgaWYgKHBv
c2l0aW9uIDwgZW5kKSB7CisgICAgICAgICAgICBwb2xpY3koKS0+cmVwb3J0SW52YWxpZE5vbmNl
KHZhbHVlKTsKKyAgICAgICAgICAgIG1fc2NyaXB0Tm9uY2UgPSAiIjsKKyAgICAgICAgfSBlbHNl
CisgICAgICAgICAgICBtX3NjcmlwdE5vbmNlID0gbm9uY2U7CisgICAgfQorCisgICAgU3RyaW5n
IG1fc2NyaXB0Tm9uY2U7Cit9OworCitjbGFzcyBNZWRpYUxpc3REaXJlY3RpdmUgOiBwdWJsaWMg
Q1NQRGlyZWN0aXZlIHsKK3B1YmxpYzoKKyAgICBNZWRpYUxpc3REaXJlY3RpdmUoY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlLCBDb250ZW50U2VjdXJpdHlQb2xpY3kqIHBv
bGljeSkKKyAgICAgICAgOiBDU1BEaXJlY3RpdmUobmFtZSwgdmFsdWUsIHBvbGljeSkKKyAgICB7
CisgICAgICAgIHBhcnNlKHZhbHVlKTsKKyAgICB9CisKKyAgICBib29sIGFsbG93cyhjb25zdCBT
dHJpbmcmIHR5cGUpCisgICAgeworICAgICAgICByZXR1cm4gbV9wbHVnaW5UeXBlcy5jb250YWlu
cyh0eXBlKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgdm9pZCBwYXJzZShjb25zdCBTdHJpbmcm
IHZhbHVlKQorICAgIHsKKyAgICAgICAgY29uc3QgVUNoYXIqIGJlZ2luID0gdmFsdWUuY2hhcmFj
dGVycygpOworICAgICAgICBjb25zdCBVQ2hhciogcG9zaXRpb24gPSBiZWdpbjsKKyAgICAgICAg
Y29uc3QgVUNoYXIqIGVuZCA9IGJlZ2luICsgdmFsdWUubGVuZ3RoKCk7CisKKyAgICAgICAgLy8g
J3BsdWdpbi10eXBlcyBfX19fOycgT1IgJ3BsdWdpbi10eXBlczsnCisgICAgICAgIGlmICh2YWx1
ZS5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIHBvbGljeSgpLT5yZXBvcnRJbnZhbGlkUGx1Z2lu
VHlwZXModmFsdWUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAg
d2hpbGUgKHBvc2l0aW9uIDwgZW5kKSB7CisgICAgICAgICAgICAvLyBfX19fXyBPUiBfX19fX21p
bWUxL21pbWUxCisgICAgICAgICAgICAvLyBeICAgICAgICBeCisgICAgICAgICAgICBza2lwV2hp
bGU8aXNBU0NJSVNwYWNlPihwb3NpdGlvbiwgZW5kKTsKKyAgICAgICAgICAgIGlmIChwb3NpdGlv
biA9PSBlbmQpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICAvLyBtaW1l
MS9taW1lMSBtaW1lMi9taW1lMgorICAgICAgICAgICAgLy8gXgorICAgICAgICAgICAgYmVnaW4g
PSBwb3NpdGlvbjsKKyAgICAgICAgICAgIGlmICghc2tpcEV4YWN0bHk8aXNNZWRpYVR5cGVDaGFy
YWN0ZXI+KHBvc2l0aW9uLCBlbmQpKSB7CisgICAgICAgICAgICAgICAgc2tpcFdoaWxlPGlzTm90
QVNDSUlTcGFjZT4ocG9zaXRpb24sIGVuZCk7CisgICAgICAgICAgICAgICAgcG9saWN5KCktPnJl
cG9ydEludmFsaWRQbHVnaW5UeXBlcyhTdHJpbmcoYmVnaW4sIHBvc2l0aW9uIC0gYmVnaW4pKTsK
KyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHNr
aXBXaGlsZTxpc01lZGlhVHlwZUNoYXJhY3Rlcj4ocG9zaXRpb24sIGVuZCk7CisKKyAgICAgICAg
ICAgIC8vIG1pbWUxL21pbWUxIG1pbWUyL21pbWUyCisgICAgICAgICAgICAvLyAgICAgIF4KKyAg
ICAgICAgICAgIGlmICghc2tpcEV4YWN0bHkocG9zaXRpb24sIGVuZCwgJy8nKSkgeworICAgICAg
ICAgICAgICAgIHNraXBXaGlsZTxpc05vdEFTQ0lJU3BhY2U+KHBvc2l0aW9uLCBlbmQpOworICAg
ICAgICAgICAgICAgIHBvbGljeSgpLT5yZXBvcnRJbnZhbGlkUGx1Z2luVHlwZXMoU3RyaW5nKGJl
Z2luLCBwb3NpdGlvbiAtIGJlZ2luKSk7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIC8vIG1pbWUxL21pbWUxIG1pbWUyL21pbWUyCisgICAg
ICAgICAgICAvLyAgICAgICBeCisgICAgICAgICAgICBpZiAoIXNraXBFeGFjdGx5PGlzTWVkaWFU
eXBlQ2hhcmFjdGVyPihwb3NpdGlvbiwgZW5kKSkgeworICAgICAgICAgICAgICAgIHNraXBXaGls
ZTxpc05vdEFTQ0lJU3BhY2U+KHBvc2l0aW9uLCBlbmQpOworICAgICAgICAgICAgICAgIHBvbGlj
eSgpLT5yZXBvcnRJbnZhbGlkUGx1Z2luVHlwZXMoU3RyaW5nKGJlZ2luLCBwb3NpdGlvbiAtIGJl
Z2luKSk7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICBza2lwV2hpbGU8aXNNZWRpYVR5cGVDaGFyYWN0ZXI+KHBvc2l0aW9uLCBlbmQpOworCisg
ICAgICAgICAgICAvLyBtaW1lMS9taW1lMSBtaW1lMi9taW1lMiBPUiBtaW1lMS9taW1lMSAgT1Ig
bWltZTEvbWltZTEvZXJyb3IKKyAgICAgICAgICAgIC8vICAgICAgICAgICAgXiAgICAgICAgICAg
ICAgICAgICAgICAgICAgXiAgICAgICAgICAgICAgIF4KKyAgICAgICAgICAgIGlmIChwb3NpdGlv
biA8IGVuZCAmJiBpc05vdEFTQ0lJU3BhY2UoKnBvc2l0aW9uKSkgeworICAgICAgICAgICAgICAg
IHNraXBXaGlsZTxpc05vdEFTQ0lJU3BhY2U+KHBvc2l0aW9uLCBlbmQpOworICAgICAgICAgICAg
ICAgIHBvbGljeSgpLT5yZXBvcnRJbnZhbGlkUGx1Z2luVHlwZXMoU3RyaW5nKGJlZ2luLCBwb3Np
dGlvbiAtIGJlZ2luKSk7CisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB9
CisgICAgICAgICAgICBtX3BsdWdpblR5cGVzLmFkZChTdHJpbmcoYmVnaW4sIHBvc2l0aW9uIC0g
YmVnaW4pKTsKKworICAgICAgICAgICAgQVNTRVJUKHBvc2l0aW9uID09IGVuZCB8fCBpc0FTQ0lJ
U3BhY2UoKnBvc2l0aW9uKSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBIYXNoU2V0PFN0cmlu
Zz4gbV9wbHVnaW5UeXBlczsKK307CisKK2NsYXNzIFNvdXJjZUxpc3REaXJlY3RpdmUgOiBwdWJs
aWMgQ1NQRGlyZWN0aXZlIHsKK3B1YmxpYzoKKyAgICBTb3VyY2VMaXN0RGlyZWN0aXZlKGNvbnN0
IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSwgQ29udGVudFNlY3VyaXR5UG9saWN5
KiBwb2xpY3kpCisgICAgICAgIDogQ1NQRGlyZWN0aXZlKG5hbWUsIHZhbHVlLCBwb2xpY3kpCisg
ICAgICAgICwgbV9zb3VyY2VMaXN0KHBvbGljeSwgbmFtZSkKICAgICB7CiAgICAgICAgIG1fc291
cmNlTGlzdC5wYXJzZSh2YWx1ZSk7CiAgICAgfQogCiAgICAgYm9vbCBhbGxvd3MoY29uc3QgS1VS
TCYgdXJsKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG1fc291cmNlTGlzdC5tYXRjaGVzKHVybC5p
c0VtcHR5KCkgPyBtX3NlbGZVUkwgOiB1cmwpOworICAgICAgICByZXR1cm4gbV9zb3VyY2VMaXN0
Lm1hdGNoZXModXJsLmlzRW1wdHkoKSA/IHBvbGljeSgpLT51cmwoKSA6IHVybCk7CiAgICAgfQog
CiAgICAgYm9vbCBhbGxvd0lubGluZSgpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlTGlzdC5hbGxv
d0lubGluZSgpOyB9CiAgICAgYm9vbCBhbGxvd0V2YWwoKSBjb25zdCB7IHJldHVybiBtX3NvdXJj
ZUxpc3QuYWxsb3dFdmFsKCk7IH0KIAotICAgIGNvbnN0IFN0cmluZyYgdGV4dCgpIHsgcmV0dXJu
IG1fdGV4dDsgfQotCiBwcml2YXRlOgogICAgIENTUFNvdXJjZUxpc3QgbV9zb3VyY2VMaXN0Owot
ICAgIFN0cmluZyBtX3RleHQ7Ci0gICAgS1VSTCBtX3NlbGZVUkw7CiB9OwogCiBjbGFzcyBDU1BE
aXJlY3RpdmVMaXN0IHsKQEAgLTU5OCwyMiArNzMzLDIzIEBAIHByaXZhdGU6CiAgICAgdm9pZCBh
ZGREaXJlY3RpdmUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlKTsKICAg
ICB2b2lkIGFwcGx5U2FuZGJveFBvbGljeShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmlu
ZyYgc2FuZGJveFBvbGljeSk7CiAKLSAgICB2b2lkIHNldENTUERpcmVjdGl2ZShjb25zdCBTdHJp
bmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUsIE93blB0cjxDU1BEaXJlY3RpdmU+Jik7Cisg
ICAgdGVtcGxhdGUgPGNsYXNzIENTUERpcmVjdGl2ZVR5cGU+CisgICAgdm9pZCBzZXRDU1BEaXJl
Y3RpdmUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlLCBPd25QdHI8Q1NQ
RGlyZWN0aXZlVHlwZT4mKTsKIAotICAgIENTUERpcmVjdGl2ZSogb3BlcmF0aXZlRGlyZWN0aXZl
KENTUERpcmVjdGl2ZSopIGNvbnN0OworICAgIFNvdXJjZUxpc3REaXJlY3RpdmUqIG9wZXJhdGl2
ZURpcmVjdGl2ZShTb3VyY2VMaXN0RGlyZWN0aXZlKikgY29uc3Q7CiAgICAgdm9pZCByZXBvcnRW
aW9sYXRpb24oY29uc3QgU3RyaW5nJiBkaXJlY3RpdmVUZXh0LCBjb25zdCBTdHJpbmcmIGNvbnNv
bGVNZXNzYWdlLCBjb25zdCBLVVJMJiBibG9ja2VkVVJMID0gS1VSTCgpLCBjb25zdCBTdHJpbmcm
IGNvbnRleHRVUkwgPSBTdHJpbmcoKSwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0
TGluZSA9IFdURjo6T3JkaW5hbE51bWJlcjo6YmVmb3JlRmlyc3QoKSwgUGFzc1JlZlB0cjxTY3Jp
cHRDYWxsU3RhY2s+ID0gMCkgY29uc3Q7CiAKLSAgICBib29sIGNoZWNrRXZhbChDU1BEaXJlY3Rp
dmUqKSBjb25zdDsKLSAgICBib29sIGNoZWNrSW5saW5lKENTUERpcmVjdGl2ZSopIGNvbnN0Owot
ICAgIGJvb2wgY2hlY2tOb25jZShjb25zdCBTdHJpbmcmKSBjb25zdDsKLSAgICBib29sIGNoZWNr
U291cmNlKENTUERpcmVjdGl2ZSosIGNvbnN0IEtVUkwmKSBjb25zdDsKLSAgICBib29sIGNoZWNr
UGx1Z2luVHlwZShjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgdHlwZUF0dHJpYnV0
ZSkgY29uc3Q7CisgICAgYm9vbCBjaGVja0V2YWwoU291cmNlTGlzdERpcmVjdGl2ZSopIGNvbnN0
OworICAgIGJvb2wgY2hlY2tJbmxpbmUoU291cmNlTGlzdERpcmVjdGl2ZSopIGNvbnN0OworICAg
IGJvb2wgY2hlY2tOb25jZShOb25jZURpcmVjdGl2ZSosIGNvbnN0IFN0cmluZyYpIGNvbnN0Owor
ICAgIGJvb2wgY2hlY2tTb3VyY2UoU291cmNlTGlzdERpcmVjdGl2ZSosIGNvbnN0IEtVUkwmKSBj
b25zdDsKKyAgICBib29sIGNoZWNrTWVkaWFUeXBlKE1lZGlhTGlzdERpcmVjdGl2ZSosIGNvbnN0
IFN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiB0eXBlQXR0cmlidXRlKSBjb25zdDsKIAotICAg
IGJvb2wgY2hlY2tFdmFsQW5kUmVwb3J0VmlvbGF0aW9uKENTUERpcmVjdGl2ZSosIGNvbnN0IFN0
cmluZyYgY29uc29sZU1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCA9IFN0cmluZygp
LCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lID0gV1RGOjpPcmRpbmFsTnVt
YmVyOjpiZWZvcmVGaXJzdCgpLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gPSAwKSBjb25z
dDsKLSAgICBib29sIGNoZWNrSW5saW5lQW5kUmVwb3J0VmlvbGF0aW9uKENTUERpcmVjdGl2ZSos
IGNvbnN0IFN0cmluZyYgY29uc29sZU1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwg
Y29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSkgY29uc3Q7Ci0gICAgYm9vbCBj
aGVja05vbmNlQW5kUmVwb3J0VmlvbGF0aW9uKGNvbnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0IFN0
cmluZyYgY29uc29sZU1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RG
OjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSkgY29uc3Q7Ci0gICAgYm9vbCBjaGVja1NvdXJj
ZUFuZFJlcG9ydFZpb2xhdGlvbihDU1BEaXJlY3RpdmUqLCBjb25zdCBLVVJMJiwgY29uc3QgU3Ry
aW5nJiB0eXBlKSBjb25zdDsKLSAgICBib29sIGNoZWNrUGx1Z2luVHlwZUFuZFJlcG9ydFZpb2xh
dGlvbihjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgdHlwZUF0dHJpYnV0ZSwgY29u
c3QgU3RyaW5nJiBjb25zb2xlTWVzc2FnZSkgY29uc3Q7CisgICAgYm9vbCBjaGVja0V2YWxBbmRS
ZXBvcnRWaW9sYXRpb24oU291cmNlTGlzdERpcmVjdGl2ZSosIGNvbnN0IFN0cmluZyYgY29uc29s
ZU1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCA9IFN0cmluZygpLCBjb25zdCBXVEY6
Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lID0gV1RGOjpPcmRpbmFsTnVtYmVyOjpiZWZvcmVG
aXJzdCgpLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gPSAwKSBjb25zdDsKKyAgICBib29s
IGNoZWNrSW5saW5lQW5kUmVwb3J0VmlvbGF0aW9uKFNvdXJjZUxpc3REaXJlY3RpdmUqLCBjb25z
dCBTdHJpbmcmIGNvbnNvbGVNZXNzYWdlLCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0
IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0OworICAgIGJvb2wgY2hlY2tO
b25jZUFuZFJlcG9ydFZpb2xhdGlvbihOb25jZURpcmVjdGl2ZSosIGNvbnN0IFN0cmluZyYgbm9u
Y2UsIGNvbnN0IFN0cmluZyYgY29uc29sZU1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVS
TCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSkgY29uc3Q7CisgICAgYm9v
bCBjaGVja1NvdXJjZUFuZFJlcG9ydFZpb2xhdGlvbihTb3VyY2VMaXN0RGlyZWN0aXZlKiwgY29u
c3QgS1VSTCYsIGNvbnN0IFN0cmluZyYgdHlwZSkgY29uc3Q7CisgICAgYm9vbCBjaGVja01lZGlh
VHlwZUFuZFJlcG9ydFZpb2xhdGlvbihNZWRpYUxpc3REaXJlY3RpdmUqLCBjb25zdCBTdHJpbmcm
IHR5cGUsIGNvbnN0IFN0cmluZyYgdHlwZUF0dHJpYnV0ZSwgY29uc3QgU3RyaW5nJiBjb25zb2xl
TWVzc2FnZSkgY29uc3Q7CiAKICAgICBib29sIGRlbnlJZkVuZm9yY2luZ1BvbGljeSgpIGNvbnN0
IHsgcmV0dXJuIG1fcmVwb3J0T25seTsgfQogCkBAIC02MjMsMjEgKzc1OSwyMCBAQCBwcml2YXRl
OgogICAgIGJvb2wgbV9yZXBvcnRPbmx5OwogICAgIGJvb2wgbV9oYXZlU2FuZGJveFBvbGljeTsK
IAotICAgIE93blB0cjxDU1BEaXJlY3RpdmU+IG1fZGVmYXVsdFNyYzsKLSAgICBPd25QdHI8Q1NQ
RGlyZWN0aXZlPiBtX3NjcmlwdFNyYzsKLSAgICBPd25QdHI8Q1NQRGlyZWN0aXZlPiBtX29iamVj
dFNyYzsKLSAgICBPd25QdHI8Q1NQRGlyZWN0aXZlPiBtX2ZyYW1lU3JjOwotICAgIE93blB0cjxD
U1BEaXJlY3RpdmU+IG1faW1nU3JjOwotICAgIE93blB0cjxDU1BEaXJlY3RpdmU+IG1fc3R5bGVT
cmM7Ci0gICAgT3duUHRyPENTUERpcmVjdGl2ZT4gbV9mb250U3JjOwotICAgIE93blB0cjxDU1BE
aXJlY3RpdmU+IG1fbWVkaWFTcmM7Ci0gICAgT3duUHRyPENTUERpcmVjdGl2ZT4gbV9jb25uZWN0
U3JjOwotICAgIE93blB0cjxDU1BEaXJlY3RpdmU+IG1fZm9ybUFjdGlvbjsKKyAgICBPd25QdHI8
TWVkaWFMaXN0RGlyZWN0aXZlPiBtX3BsdWdpblR5cGVzOworICAgIE93blB0cjxOb25jZURpcmVj
dGl2ZT4gbV9zY3JpcHROb25jZTsKKyAgICBPd25QdHI8U291cmNlTGlzdERpcmVjdGl2ZT4gbV9j
b25uZWN0U3JjOworICAgIE93blB0cjxTb3VyY2VMaXN0RGlyZWN0aXZlPiBtX2RlZmF1bHRTcmM7
CisgICAgT3duUHRyPFNvdXJjZUxpc3REaXJlY3RpdmU+IG1fZm9udFNyYzsKKyAgICBPd25QdHI8
U291cmNlTGlzdERpcmVjdGl2ZT4gbV9mb3JtQWN0aW9uOworICAgIE93blB0cjxTb3VyY2VMaXN0
RGlyZWN0aXZlPiBtX2ZyYW1lU3JjOworICAgIE93blB0cjxTb3VyY2VMaXN0RGlyZWN0aXZlPiBt
X2ltZ1NyYzsKKyAgICBPd25QdHI8U291cmNlTGlzdERpcmVjdGl2ZT4gbV9tZWRpYVNyYzsKKyAg
ICBPd25QdHI8U291cmNlTGlzdERpcmVjdGl2ZT4gbV9vYmplY3RTcmM7CisgICAgT3duUHRyPFNv
dXJjZUxpc3REaXJlY3RpdmU+IG1fc2NyaXB0U3JjOworICAgIE93blB0cjxTb3VyY2VMaXN0RGly
ZWN0aXZlPiBtX3N0eWxlU3JjOwogCiAgICAgVmVjdG9yPEtVUkw+IG1fcmVwb3J0VVJJczsKLSAg
ICBIYXNoU2V0PFN0cmluZz4gbV9wbHVnaW5UeXBlczsKLSAgICBTdHJpbmcgbV9wbHVnaW5UeXBl
c0RpcmVjdGl2ZTsKLSAgICBTdHJpbmcgbV9zY3JpcHROb25jZTsKIH07CiAKIENTUERpcmVjdGl2
ZUxpc3Q6OkNTUERpcmVjdGl2ZUxpc3QoQ29udGVudFNlY3VyaXR5UG9saWN5KiBwb2xpY3kpCkBA
IC02NzEsNDMgKzgwNiw0MSBAQCB2b2lkIENTUERpcmVjdGl2ZUxpc3Q6OnJlcG9ydFZpb2xhdGlv
bihjb25zdCBTdHJpbmcmIGRpcmVjdGl2ZVRleHQsIGNvbnN0IFN0cmluZwogICAgIG1fcG9saWN5
LT5yZXBvcnRWaW9sYXRpb24oZGlyZWN0aXZlVGV4dCwgbWVzc2FnZSwgYmxvY2tlZFVSTCwgbV9y
ZXBvcnRVUklzLCBtX2hlYWRlciwgY29udGV4dFVSTCwgY29udGV4dExpbmUsIGNhbGxTdGFjayk7
CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6Y2hlY2tFdmFsKENTUERpcmVjdGl2ZSogZGly
ZWN0aXZlKSBjb25zdAorYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjpjaGVja0V2YWwoU291cmNlTGlz
dERpcmVjdGl2ZSogZGlyZWN0aXZlKSBjb25zdAogewogICAgIHJldHVybiAhZGlyZWN0aXZlIHx8
IGRpcmVjdGl2ZS0+YWxsb3dFdmFsKCk7CiB9CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6Y2hl
Y2tJbmxpbmUoQ1NQRGlyZWN0aXZlKiBkaXJlY3RpdmUpIGNvbnN0Citib29sIENTUERpcmVjdGl2
ZUxpc3Q6OmNoZWNrSW5saW5lKFNvdXJjZUxpc3REaXJlY3RpdmUqIGRpcmVjdGl2ZSkgY29uc3QK
IHsKICAgICByZXR1cm4gIWRpcmVjdGl2ZSB8fCBkaXJlY3RpdmUtPmFsbG93SW5saW5lKCk7CiB9
CiAKLWJvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6Y2hlY2tOb25jZShjb25zdCBTdHJpbmcmIG5vbmNl
KSBjb25zdAorYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjpjaGVja05vbmNlKE5vbmNlRGlyZWN0aXZl
KiBkaXJlY3RpdmUsIGNvbnN0IFN0cmluZyYgbm9uY2UpIGNvbnN0CiB7Ci0gICAgcmV0dXJuICht
X3NjcmlwdE5vbmNlLmlzTnVsbCgpCi0gICAgICAgICAgICB8fCAoIW1fc2NyaXB0Tm9uY2UuaXNF
bXB0eSgpCi0gICAgICAgICAgICAgICAgJiYgbm9uY2Uuc3RyaXBXaGl0ZVNwYWNlKCkgPT0gbV9z
Y3JpcHROb25jZSkpOworICAgIHJldHVybiAhZGlyZWN0aXZlIHx8IGRpcmVjdGl2ZS0+YWxsb3dz
KG5vbmNlKTsKIH0KIAotYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjpjaGVja1NvdXJjZShDU1BEaXJl
Y3RpdmUqIGRpcmVjdGl2ZSwgY29uc3QgS1VSTCYgdXJsKSBjb25zdAorYm9vbCBDU1BEaXJlY3Rp
dmVMaXN0OjpjaGVja1NvdXJjZShTb3VyY2VMaXN0RGlyZWN0aXZlKiBkaXJlY3RpdmUsIGNvbnN0
IEtVUkwmIHVybCkgY29uc3QKIHsKICAgICByZXR1cm4gIWRpcmVjdGl2ZSB8fCBkaXJlY3RpdmUt
PmFsbG93cyh1cmwpOwogfQogCi1ib29sIENTUERpcmVjdGl2ZUxpc3Q6OmNoZWNrUGx1Z2luVHlw
ZShjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgdHlwZUF0dHJpYnV0ZSkgY29uc3QK
K2Jvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6Y2hlY2tNZWRpYVR5cGUoTWVkaWFMaXN0RGlyZWN0aXZl
KiBkaXJlY3RpdmUsIGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiB0eXBlQXR0cmli
dXRlKSBjb25zdAogewotICAgIGlmIChtX3BsdWdpblR5cGVzRGlyZWN0aXZlLmlzTnVsbCgpKQor
ICAgIGlmICghZGlyZWN0aXZlKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBpZiAodHlwZUF0
dHJpYnV0ZS5pc0VtcHR5KCkgfHwgdHlwZUF0dHJpYnV0ZS5zdHJpcFdoaXRlU3BhY2UoKSAhPSB0
eXBlKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIG1fcGx1Z2luVHlwZXMuY29u
dGFpbnModHlwZSk7CisgICAgcmV0dXJuIGRpcmVjdGl2ZS0+YWxsb3dzKHR5cGUpOwogfQogCi1D
U1BEaXJlY3RpdmUqIENTUERpcmVjdGl2ZUxpc3Q6Om9wZXJhdGl2ZURpcmVjdGl2ZShDU1BEaXJl
Y3RpdmUqIGRpcmVjdGl2ZSkgY29uc3QKK1NvdXJjZUxpc3REaXJlY3RpdmUqIENTUERpcmVjdGl2
ZUxpc3Q6Om9wZXJhdGl2ZURpcmVjdGl2ZShTb3VyY2VMaXN0RGlyZWN0aXZlKiBkaXJlY3RpdmUp
IGNvbnN0CiB7CiAgICAgcmV0dXJuIGRpcmVjdGl2ZSA/IGRpcmVjdGl2ZSA6IG1fZGVmYXVsdFNy
Yy5nZXQoKTsKIH0KIAotYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjpjaGVja0V2YWxBbmRSZXBvcnRW
aW9sYXRpb24oQ1NQRGlyZWN0aXZlKiBkaXJlY3RpdmUsIGNvbnN0IFN0cmluZyYgY29uc29sZU1l
c3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpPcmRpbmFsTnVtYmVy
JiBjb250ZXh0TGluZSwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjaykgY29u
c3QKK2Jvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6Y2hlY2tFdmFsQW5kUmVwb3J0VmlvbGF0aW9uKFNv
dXJjZUxpc3REaXJlY3RpdmUqIGRpcmVjdGl2ZSwgY29uc3QgU3RyaW5nJiBjb25zb2xlTWVzc2Fn
ZSwgY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNv
bnRleHRMaW5lLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKSBjb25zdAog
ewogICAgIGlmIChjaGVja0V2YWwoZGlyZWN0aXZlKSkKICAgICAgICAgcmV0dXJuIHRydWU7CkBA
IC03MTUsMjQgKzg0OCwyNCBAQCBib29sIENTUERpcmVjdGl2ZUxpc3Q6OmNoZWNrRXZhbEFuZFJl
cG9ydFZpb2xhdGlvbihDU1BEaXJlY3RpdmUqIGRpcmVjdGl2ZSwgY29ucwogICAgIHJldHVybiBk
ZW55SWZFbmZvcmNpbmdQb2xpY3koKTsKIH0KIAotYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjpjaGVj
a05vbmNlQW5kUmVwb3J0VmlvbGF0aW9uKGNvbnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0IFN0cmlu
ZyYgY29uc29sZU1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgY29udGV4dFVSTCwgY29uc3QgV1RGOjpP
cmRpbmFsTnVtYmVyJiBjb250ZXh0TGluZSkgY29uc3QKK2Jvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6
Y2hlY2tOb25jZUFuZFJlcG9ydFZpb2xhdGlvbihOb25jZURpcmVjdGl2ZSogZGlyZWN0aXZlLCBj
b25zdCBTdHJpbmcmIG5vbmNlLCBjb25zdCBTdHJpbmcmIGNvbnNvbGVNZXNzYWdlLCBjb25zdCBT
dHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUp
IGNvbnN0CiB7Ci0gICAgaWYgKGNoZWNrTm9uY2Uobm9uY2UpKQorICAgIGlmIChjaGVja05vbmNl
KGRpcmVjdGl2ZSwgbm9uY2UpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICByZXBvcnRWaW9s
YXRpb24obV9zY3JpcHROb25jZSwgY29uc29sZU1lc3NhZ2UgKyAiXCJzY3JpcHQtbm9uY2UgIiAr
IG1fc2NyaXB0Tm9uY2UgKyAiXCIuXG4iLCBLVVJMKCksIGNvbnRleHRVUkwsIGNvbnRleHRMaW5l
KTsKKyAgICByZXBvcnRWaW9sYXRpb24oZGlyZWN0aXZlLT50ZXh0KCksIGNvbnNvbGVNZXNzYWdl
ICsgIlwiIiArIGRpcmVjdGl2ZS0+dGV4dCgpICsgIlwiLlxuIiwgS1VSTCgpLCBjb250ZXh0VVJM
LCBjb250ZXh0TGluZSk7CiAgICAgcmV0dXJuIGRlbnlJZkVuZm9yY2luZ1BvbGljeSgpOwogfQog
Ci1ib29sIENTUERpcmVjdGl2ZUxpc3Q6OmNoZWNrUGx1Z2luVHlwZUFuZFJlcG9ydFZpb2xhdGlv
bihjb25zdCBTdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgdHlwZUF0dHJpYnV0ZSwgY29uc3Qg
U3RyaW5nJiBjb25zb2xlTWVzc2FnZSkgY29uc3QKK2Jvb2wgQ1NQRGlyZWN0aXZlTGlzdDo6Y2hl
Y2tNZWRpYVR5cGVBbmRSZXBvcnRWaW9sYXRpb24oTWVkaWFMaXN0RGlyZWN0aXZlKiBkaXJlY3Rp
dmUsIGNvbnN0IFN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiB0eXBlQXR0cmlidXRlLCBjb25z
dCBTdHJpbmcmIGNvbnNvbGVNZXNzYWdlKSBjb25zdAogewotICAgIGlmIChjaGVja1BsdWdpblR5
cGUodHlwZSwgdHlwZUF0dHJpYnV0ZSkpCisgICAgaWYgKGNoZWNrTWVkaWFUeXBlKGRpcmVjdGl2
ZSwgdHlwZSwgdHlwZUF0dHJpYnV0ZSkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgcmVw
b3J0VmlvbGF0aW9uKG1fcGx1Z2luVHlwZXNEaXJlY3RpdmUsIGNvbnNvbGVNZXNzYWdlICsgIidw
bHVnaW4tdHlwZXMgIiArIG1fcGx1Z2luVHlwZXNEaXJlY3RpdmUgKyAiJy5cbiIsIEtVUkwoKSk7
CisgICAgcmVwb3J0VmlvbGF0aW9uKGRpcmVjdGl2ZS0+dGV4dCgpLCBjb25zb2xlTWVzc2FnZSAr
ICJcJyIgKyBkaXJlY3RpdmUtPnRleHQoKSArICJcJy5cbiIsIEtVUkwoKSk7CiAgICAgcmV0dXJu
IGRlbnlJZkVuZm9yY2luZ1BvbGljeSgpOwogfQogCi1ib29sIENTUERpcmVjdGl2ZUxpc3Q6OmNo
ZWNrSW5saW5lQW5kUmVwb3J0VmlvbGF0aW9uKENTUERpcmVjdGl2ZSogZGlyZWN0aXZlLCBjb25z
dCBTdHJpbmcmIGNvbnNvbGVNZXNzYWdlLCBjb25zdCBTdHJpbmcmIGNvbnRleHRVUkwsIGNvbnN0
IFdURjo6T3JkaW5hbE51bWJlciYgY29udGV4dExpbmUpIGNvbnN0Citib29sIENTUERpcmVjdGl2
ZUxpc3Q6OmNoZWNrSW5saW5lQW5kUmVwb3J0VmlvbGF0aW9uKFNvdXJjZUxpc3REaXJlY3RpdmUq
IGRpcmVjdGl2ZSwgY29uc3QgU3RyaW5nJiBjb25zb2xlTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBj
b250ZXh0VVJMLCBjb25zdCBXVEY6Ok9yZGluYWxOdW1iZXImIGNvbnRleHRMaW5lKSBjb25zdAog
ewogICAgIGlmIChjaGVja0lubGluZShkaXJlY3RpdmUpKQogICAgICAgICByZXR1cm4gdHJ1ZTsK
QEAgLTc0MCw3ICs4NzMsNyBAQCBib29sIENTUERpcmVjdGl2ZUxpc3Q6OmNoZWNrSW5saW5lQW5k
UmVwb3J0VmlvbGF0aW9uKENTUERpcmVjdGl2ZSogZGlyZWN0aXZlLCBjbwogICAgIHJldHVybiBk
ZW55SWZFbmZvcmNpbmdQb2xpY3koKTsKIH0KIAotYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjpjaGVj
a1NvdXJjZUFuZFJlcG9ydFZpb2xhdGlvbihDU1BEaXJlY3RpdmUqIGRpcmVjdGl2ZSwgY29uc3Qg
S1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHR5cGUpIGNvbnN0Citib29sIENTUERpcmVjdGl2ZUxp
c3Q6OmNoZWNrU291cmNlQW5kUmVwb3J0VmlvbGF0aW9uKFNvdXJjZUxpc3REaXJlY3RpdmUqIGRp
cmVjdGl2ZSwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHR5cGUpIGNvbnN0CiB7CiAg
ICAgaWYgKGNoZWNrU291cmNlKGRpcmVjdGl2ZSwgdXJsKSkKICAgICAgICAgcmV0dXJuIHRydWU7
CkBAIC03NjAsMTAgKzg5MywxMCBAQCBib29sIENTUERpcmVjdGl2ZUxpc3Q6OmFsbG93SmF2YVNj
cmlwdFVSTHMoY29uc3QgU3RyaW5nJiBjb250ZXh0VVJMLCBjb25zdCBXVEY6OgogICAgIERFRklO
RV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVzc2FnZSwgKCJSZWZ1c2VkIHRvIGV4ZWN1
dGUgSmF2YVNjcmlwdCBVUkwgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgZm9sbG93aW5nIENvbnRl
bnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogIikpOwogICAgIGlmIChyZXBvcnRpbmdTdGF0
dXMgPT0gQ29udGVudFNlY3VyaXR5UG9saWN5OjpTZW5kUmVwb3J0KSB7CiAgICAgICAgIHJldHVy
biAoY2hlY2tJbmxpbmVBbmRSZXBvcnRWaW9sYXRpb24ob3BlcmF0aXZlRGlyZWN0aXZlKG1fc2Ny
aXB0U3JjLmdldCgpKSwgY29uc29sZU1lc3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lKQot
ICAgICAgICAgICAgICAgICYmIGNoZWNrTm9uY2VBbmRSZXBvcnRWaW9sYXRpb24oU3RyaW5nKCks
IGNvbnNvbGVNZXNzYWdlLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSkpOworICAgICAgICAgICAg
ICAgICYmIGNoZWNrTm9uY2VBbmRSZXBvcnRWaW9sYXRpb24obV9zY3JpcHROb25jZS5nZXQoKSwg
U3RyaW5nKCksIGNvbnNvbGVNZXNzYWdlLCBjb250ZXh0VVJMLCBjb250ZXh0TGluZSkpOwogICAg
IH0gZWxzZSB7CiAgICAgICAgIHJldHVybiAoY2hlY2tJbmxpbmUob3BlcmF0aXZlRGlyZWN0aXZl
KG1fc2NyaXB0U3JjLmdldCgpKSkKLSAgICAgICAgICAgICAgICAmJiBjaGVja05vbmNlKFN0cmlu
ZygpKSk7CisgICAgICAgICAgICAgICAgJiYgY2hlY2tOb25jZShtX3NjcmlwdE5vbmNlLmdldCgp
LCBTdHJpbmcoKSkpOwogICAgIH0KIH0KIApAQCAtNzcyLDEwICs5MDUsMTAgQEAgYm9vbCBDU1BE
aXJlY3RpdmVMaXN0OjphbGxvd0lubGluZUV2ZW50SGFuZGxlcnMoY29uc3QgU3RyaW5nJiBjb250
ZXh0VVJMLCBjb25zdAogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBjb25zb2xlTWVz
c2FnZSwgKCJSZWZ1c2VkIHRvIGV4ZWN1dGUgaW5saW5lIGV2ZW50IGhhbmRsZXIgYmVjYXVzZSBp
dCB2aW9sYXRlcyB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2
ZTogIikpOwogICAgIGlmIChyZXBvcnRpbmdTdGF0dXMgPT0gQ29udGVudFNlY3VyaXR5UG9saWN5
OjpTZW5kUmVwb3J0KSB7CiAgICAgICAgIHJldHVybiAoY2hlY2tJbmxpbmVBbmRSZXBvcnRWaW9s
YXRpb24ob3BlcmF0aXZlRGlyZWN0aXZlKG1fc2NyaXB0U3JjLmdldCgpKSwgY29uc29sZU1lc3Nh
Z2UsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lKQotICAgICAgICAgICAgICAgICYmIGNoZWNrTm9u
Y2VBbmRSZXBvcnRWaW9sYXRpb24oU3RyaW5nKCksIGNvbnNvbGVNZXNzYWdlLCBjb250ZXh0VVJM
LCBjb250ZXh0TGluZSkpOworICAgICAgICAgICAgICAgICYmIGNoZWNrTm9uY2VBbmRSZXBvcnRW
aW9sYXRpb24obV9zY3JpcHROb25jZS5nZXQoKSwgU3RyaW5nKCksIGNvbnNvbGVNZXNzYWdlLCBj
b250ZXh0VVJMLCBjb250ZXh0TGluZSkpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIHJldHVybiAo
Y2hlY2tJbmxpbmUob3BlcmF0aXZlRGlyZWN0aXZlKG1fc2NyaXB0U3JjLmdldCgpKSkKLSAgICAg
ICAgICAgICAgICAmJiBjaGVja05vbmNlKFN0cmluZygpKSk7CisgICAgICAgICAgICAgICAgJiYg
Y2hlY2tOb25jZShtX3NjcmlwdE5vbmNlLmdldCgpLCBTdHJpbmcoKSkpOwogICAgIH0KIH0KIApA
QCAtODA3LDE1ICs5NDAsMTUgQEAgYm9vbCBDU1BEaXJlY3RpdmVMaXN0OjphbGxvd1NjcmlwdE5v
bmNlKGNvbnN0IFN0cmluZyYgbm9uY2UsIGNvbnN0IFN0cmluZyYgY29udGUKIHsKICAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKFN0cmluZywgY29uc29sZU1lc3NhZ2UsICgiUmVmdXNlZCB0byBleGVj
dXRlIHNjcmlwdCBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1
cml0eSBQb2xpY3kgZGlyZWN0aXZlOiAiKSk7CiAgICAgaWYgKHVybC5pc0VtcHR5KCkpCi0gICAg
ICAgIHJldHVybiBjaGVja05vbmNlQW5kUmVwb3J0VmlvbGF0aW9uKG5vbmNlLCBjb25zb2xlTWVz
c2FnZSwgY29udGV4dFVSTCwgY29udGV4dExpbmUpOwotICAgIHJldHVybiBjaGVja05vbmNlQW5k
UmVwb3J0VmlvbGF0aW9uKG5vbmNlLCAiUmVmdXNlZCB0byBsb2FkICciICsgdXJsLnN0cmluZygp
ICsgIicgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgZm9sbG93aW5nIENvbnRlbnQgU2VjdXJpdHkg
UG9saWN5IGRpcmVjdGl2ZTogIiwgY29udGV4dFVSTCwgY29udGV4dExpbmUpOworICAgICAgICBy
ZXR1cm4gY2hlY2tOb25jZUFuZFJlcG9ydFZpb2xhdGlvbihtX3NjcmlwdE5vbmNlLmdldCgpLCBu
b25jZSwgY29uc29sZU1lc3NhZ2UsIGNvbnRleHRVUkwsIGNvbnRleHRMaW5lKTsKKyAgICByZXR1
cm4gY2hlY2tOb25jZUFuZFJlcG9ydFZpb2xhdGlvbihtX3NjcmlwdE5vbmNlLmdldCgpLCBub25j
ZSwgIlJlZnVzZWQgdG8gbG9hZCAnIiArIHVybC5zdHJpbmcoKSArICInIGJlY2F1c2UgaXQgdmlv
bGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSBkaXJlY3RpdmU6ICIs
IGNvbnRleHRVUkwsIGNvbnRleHRMaW5lKTsKIH0KIAogYm9vbCBDU1BEaXJlY3RpdmVMaXN0Ojph
bGxvd1BsdWdpblR5cGUoY29uc3QgU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIHR5cGVBdHRy
aWJ1dGUsIGNvbnN0IEtVUkwmIHVybCwgQ29udGVudFNlY3VyaXR5UG9saWN5OjpSZXBvcnRpbmdT
dGF0dXMgcmVwb3J0aW5nU3RhdHVzKSBjb25zdAogewogICAgIHJldHVybiByZXBvcnRpbmdTdGF0
dXMgPT0gQ29udGVudFNlY3VyaXR5UG9saWN5OjpTZW5kUmVwb3J0ID8KLSAgICAgICAgY2hlY2tQ
bHVnaW5UeXBlQW5kUmVwb3J0VmlvbGF0aW9uKHR5cGUsIHR5cGVBdHRyaWJ1dGUsICJSZWZ1c2Vk
IHRvIGxvYWQgJyIgKyB1cmwuc3RyaW5nKCkgKyAiJyAoTUlNRSB0eXBlICciICsgdHlwZUF0dHJp
YnV0ZSArICInKSBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1
cml0eSBQb2xpY3kgRGlyZWN0aXZlOiAiKSA6Ci0gICAgICAgIGNoZWNrUGx1Z2luVHlwZSh0eXBl
LCB0eXBlQXR0cmlidXRlKTsKKyAgICAgICAgY2hlY2tNZWRpYVR5cGVBbmRSZXBvcnRWaW9sYXRp
b24obV9wbHVnaW5UeXBlcy5nZXQoKSwgdHlwZSwgdHlwZUF0dHJpYnV0ZSwgIlJlZnVzZWQgdG8g
bG9hZCAnIiArIHVybC5zdHJpbmcoKSArICInIChNSU1FIHR5cGUgJyIgKyB0eXBlQXR0cmlidXRl
ICsgIicpIGJlY2F1c2UgaXQgdmlvbGF0ZXMgdGhlIGZvbGxvd2luZyBDb250ZW50IFNlY3VyaXR5
IFBvbGljeSBEaXJlY3RpdmU6ICIpIDoKKyAgICAgICAgY2hlY2tNZWRpYVR5cGUobV9wbHVnaW5U
eXBlcy5nZXQoKSwgdHlwZSwgdHlwZUF0dHJpYnV0ZSk7CiB9CiAKIGJvb2wgQ1NQRGlyZWN0aXZl
TGlzdDo6YWxsb3dTY3JpcHRGcm9tU291cmNlKGNvbnN0IEtVUkwmIHVybCwgQ29udGVudFNlY3Vy
aXR5UG9saWN5OjpSZXBvcnRpbmdTdGF0dXMgcmVwb3J0aW5nU3RhdHVzKSBjb25zdApAQCAtMTAw
MSwxMTEgKzExMzQsMTUgQEAgdm9pZCBDU1BEaXJlY3RpdmVMaXN0OjpwYXJzZVJlcG9ydFVSSShj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmFsdWUpCiAgICAgfQogfQogCi12b2lk
IENTUERpcmVjdGl2ZUxpc3Q6OnBhcnNlU2NyaXB0Tm9uY2UoY29uc3QgU3RyaW5nJiBuYW1lLCBj
b25zdCBTdHJpbmcmIHZhbHVlKQotewotICAgIGlmICghbV9zY3JpcHROb25jZS5pc051bGwoKSkg
ewotICAgICAgICBtX3BvbGljeS0+cmVwb3J0RHVwbGljYXRlRGlyZWN0aXZlKG5hbWUpOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgU3RyaW5nIG5vbmNlOwotICAgIGNvbnN0IFVDaGFy
KiBwb3NpdGlvbiA9IHZhbHVlLmNoYXJhY3RlcnMoKTsKLSAgICBjb25zdCBVQ2hhciogZW5kID0g
cG9zaXRpb24gKyB2YWx1ZS5sZW5ndGgoKTsKLQotICAgIHNraXBXaGlsZTxpc0FTQ0lJU3BhY2U+
KHBvc2l0aW9uLCBlbmQpOwotICAgIGNvbnN0IFVDaGFyKiBub25jZUJlZ2luID0gcG9zaXRpb247
Ci0gICAgaWYgKHBvc2l0aW9uID09IGVuZCkgewotICAgICAgICBtX3BvbGljeS0+cmVwb3J0SW52
YWxpZE5vbmNlKFN0cmluZygpKTsKLSAgICAgICAgbV9zY3JpcHROb25jZSA9ICIiOwotICAgICAg
ICByZXR1cm47Ci0gICAgfQotICAgIHNraXBXaGlsZTxpc05vbmNlQ2hhcmFjdGVyPihwb3NpdGlv
biwgZW5kKTsKLSAgICBpZiAobm9uY2VCZWdpbiA8IHBvc2l0aW9uKQotICAgICAgICBub25jZSA9
IFN0cmluZyhub25jZUJlZ2luLCBwb3NpdGlvbiAtIG5vbmNlQmVnaW4pOwotCi0gICAgLy8gVHJp
bSBvZmYgdHJhaWxpbmcgd2hpdGVzcGFjZTogSWYgd2UncmUgbm90IGF0IHRoZSBlbmQgb2YgdGhl
IHN0cmluZywgbG9nCi0gICAgLy8gYW4gZXJyb3IuCi0gICAgc2tpcFdoaWxlPGlzQVNDSUlTcGFj
ZT4ocG9zaXRpb24sIGVuZCk7Ci0gICAgaWYgKHBvc2l0aW9uIDwgZW5kKSB7Ci0gICAgICAgIG1f
cG9saWN5LT5yZXBvcnRJbnZhbGlkTm9uY2UodmFsdWUpOwotICAgICAgICBtX3NjcmlwdE5vbmNl
ID0gIiI7Ci0gICAgfSBlbHNlCi0gICAgICAgIG1fc2NyaXB0Tm9uY2UgPSBub25jZTsKLX0KLQot
dm9pZCBDU1BEaXJlY3RpdmVMaXN0OjpwYXJzZVBsdWdpblR5cGVzKGNvbnN0IFN0cmluZyYgbmFt
ZSwgY29uc3QgU3RyaW5nJiB2YWx1ZSkKLXsKLSAgICBpZiAoIW1fcGx1Z2luVHlwZXNEaXJlY3Rp
dmUuaXNOdWxsKCkpIHsKLSAgICAgICAgbV9wb2xpY3ktPnJlcG9ydER1cGxpY2F0ZURpcmVjdGl2
ZShuYW1lKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGNvbnN0IFVDaGFyKiBiZWdp
biA9IHZhbHVlLmNoYXJhY3RlcnMoKTsKLSAgICBjb25zdCBVQ2hhciogcG9zaXRpb24gPSBiZWdp
bjsKLSAgICBjb25zdCBVQ2hhciogZW5kID0gYmVnaW4gKyB2YWx1ZS5sZW5ndGgoKTsKLSAgICBt
X3BsdWdpblR5cGVzRGlyZWN0aXZlID0gdmFsdWU7Ci0KLSAgICAvLyAncGx1Z2luLXR5cGVzIF9f
X187JyBPUiAncGx1Z2luLXR5cGVzOycKLSAgICBpZiAodmFsdWUuaXNFbXB0eSgpKSB7Ci0gICAg
ICAgIG1fcG9saWN5LT5yZXBvcnRJbnZhbGlkUGx1Z2luVHlwZXModmFsdWUpOwotICAgICAgICBt
X3BsdWdpblR5cGVzRGlyZWN0aXZlID0gIiI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAg
ICB3aGlsZSAocG9zaXRpb24gPCBlbmQpIHsKLSAgICAgICAgLy8gX19fX18gT1IgX19fX19taW1l
MS9taW1lMQotICAgICAgICAvLyBeICAgICAgICBeCi0gICAgICAgIHNraXBXaGlsZTxpc0FTQ0lJ
U3BhY2U+KHBvc2l0aW9uLCBlbmQpOwotICAgICAgICBpZiAocG9zaXRpb24gPT0gZW5kKQotICAg
ICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIC8vIG1pbWUxL21pbWUxIG1pbWUyL21pbWUyCi0g
ICAgICAgIC8vIF4KLSAgICAgICAgYmVnaW4gPSBwb3NpdGlvbjsKLSAgICAgICAgaWYgKCFza2lw
RXhhY3RseTxpc01lZGlhVHlwZUNoYXJhY3Rlcj4ocG9zaXRpb24sIGVuZCkpIHsKLSAgICAgICAg
ICAgIHNraXBXaGlsZTxpc05vdEFTQ0lJU3BhY2U+KHBvc2l0aW9uLCBlbmQpOwotICAgICAgICAg
ICAgbV9wb2xpY3ktPnJlcG9ydEludmFsaWRQbHVnaW5UeXBlcyhTdHJpbmcoYmVnaW4sIHBvc2l0
aW9uIC0gYmVnaW4pKTsKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICB9Ci0gICAgICAg
IHNraXBXaGlsZTxpc01lZGlhVHlwZUNoYXJhY3Rlcj4ocG9zaXRpb24sIGVuZCk7Ci0KLSAgICAg
ICAgLy8gbWltZTEvbWltZTEgbWltZTIvbWltZTIKLSAgICAgICAgLy8gICAgICBeCi0gICAgICAg
IGlmICghc2tpcEV4YWN0bHkocG9zaXRpb24sIGVuZCwgJy8nKSkgewotICAgICAgICAgICAgc2tp
cFdoaWxlPGlzTm90QVNDSUlTcGFjZT4ocG9zaXRpb24sIGVuZCk7Ci0gICAgICAgICAgICBtX3Bv
bGljeS0+cmVwb3J0SW52YWxpZFBsdWdpblR5cGVzKFN0cmluZyhiZWdpbiwgcG9zaXRpb24gLSBi
ZWdpbikpOwotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLQotICAgICAgICAvLyBt
aW1lMS9taW1lMSBtaW1lMi9taW1lMgotICAgICAgICAvLyAgICAgICBeCi0gICAgICAgIGlmICgh
c2tpcEV4YWN0bHk8aXNNZWRpYVR5cGVDaGFyYWN0ZXI+KHBvc2l0aW9uLCBlbmQpKSB7Ci0gICAg
ICAgICAgICBza2lwV2hpbGU8aXNOb3RBU0NJSVNwYWNlPihwb3NpdGlvbiwgZW5kKTsKLSAgICAg
ICAgICAgIG1fcG9saWN5LT5yZXBvcnRJbnZhbGlkUGx1Z2luVHlwZXMoU3RyaW5nKGJlZ2luLCBw
b3NpdGlvbiAtIGJlZ2luKSk7Ci0gICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotICAg
ICAgICBza2lwV2hpbGU8aXNNZWRpYVR5cGVDaGFyYWN0ZXI+KHBvc2l0aW9uLCBlbmQpOwotCi0g
ICAgICAgIC8vIG1pbWUxL21pbWUxIG1pbWUyL21pbWUyIE9SIG1pbWUxL21pbWUxICBPUiBtaW1l
MS9taW1lMS9lcnJvcgotICAgICAgICAvLyAgICAgICAgICAgIF4gICAgICAgICAgICAgICAgICAg
ICAgICAgIF4gICAgICAgICAgICAgICBeCi0gICAgICAgIGlmIChwb3NpdGlvbiA8IGVuZCAmJiBp
c05vdEFTQ0lJU3BhY2UoKnBvc2l0aW9uKSkgewotICAgICAgICAgICAgc2tpcFdoaWxlPGlzTm90
QVNDSUlTcGFjZT4ocG9zaXRpb24sIGVuZCk7Ci0gICAgICAgICAgICBtX3BvbGljeS0+cmVwb3J0
SW52YWxpZFBsdWdpblR5cGVzKFN0cmluZyhiZWdpbiwgcG9zaXRpb24gLSBiZWdpbikpOwotICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgIH0KLSAgICAgICAgbV9wbHVnaW5UeXBlcy5hZGQo
U3RyaW5nKGJlZ2luLCBwb3NpdGlvbiAtIGJlZ2luKSk7Ci0KLSAgICAgICAgQVNTRVJUKHBvc2l0
aW9uID09IGVuZCB8fCBpc0FTQ0lJU3BhY2UoKnBvc2l0aW9uKSk7Ci0gICAgfQotfQogCi12b2lk
IENTUERpcmVjdGl2ZUxpc3Q6OnNldENTUERpcmVjdGl2ZShjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYgdmFsdWUsIE93blB0cjxDU1BEaXJlY3RpdmU+JiBkaXJlY3RpdmUpCit0ZW1w
bGF0ZTxjbGFzcyBDU1BEaXJlY3RpdmVUeXBlPgordm9pZCBDU1BEaXJlY3RpdmVMaXN0OjpzZXRD
U1BEaXJlY3RpdmUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZhbHVlLCBPd25Q
dHI8Q1NQRGlyZWN0aXZlVHlwZT4mIGRpcmVjdGl2ZSkKIHsKICAgICBpZiAoZGlyZWN0aXZlKSB7
CiAgICAgICAgIG1fcG9saWN5LT5yZXBvcnREdXBsaWNhdGVEaXJlY3RpdmUobmFtZSk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9Ci0gICAgZGlyZWN0aXZlID0gYWRvcHRQdHIobmV3IENTUERpcmVj
dGl2ZShuYW1lLCB2YWx1ZSwgbV9wb2xpY3kpKTsKKyAgICBkaXJlY3RpdmUgPSBhZG9wdFB0cihu
ZXcgQ1NQRGlyZWN0aXZlVHlwZShuYW1lLCB2YWx1ZSwgbV9wb2xpY3kpKTsKIH0KIAogdm9pZCBD
U1BEaXJlY3RpdmVMaXN0OjphcHBseVNhbmRib3hQb2xpY3koY29uc3QgU3RyaW5nJiBuYW1lLCBj
b25zdCBTdHJpbmcmIHNhbmRib3hQb2xpY3kpCkBAIC0xMTQwLDM0ICsxMTc3LDM0IEBAIHZvaWQg
Q1NQRGlyZWN0aXZlTGlzdDo6YWRkRGlyZWN0aXZlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3Qg
U3RyaW5nJiB2YWx1ZSkKICAgICBBU1NFUlQoIW5hbWUuaXNFbXB0eSgpKTsKIAogICAgIGlmIChl
cXVhbElnbm9yaW5nQ2FzZShuYW1lLCBkZWZhdWx0U3JjKSkKLSAgICAgICAgc2V0Q1NQRGlyZWN0
aXZlKG5hbWUsIHZhbHVlLCBtX2RlZmF1bHRTcmMpOworICAgICAgICBzZXRDU1BEaXJlY3RpdmU8
U291cmNlTGlzdERpcmVjdGl2ZT4obmFtZSwgdmFsdWUsIG1fZGVmYXVsdFNyYyk7CiAgICAgZWxz
ZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgc2NyaXB0U3JjKSkKLSAgICAgICAgc2V0Q1NQ
RGlyZWN0aXZlKG5hbWUsIHZhbHVlLCBtX3NjcmlwdFNyYyk7CisgICAgICAgIHNldENTUERpcmVj
dGl2ZTxTb3VyY2VMaXN0RGlyZWN0aXZlPihuYW1lLCB2YWx1ZSwgbV9zY3JpcHRTcmMpOwogICAg
IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsIG9iamVjdFNyYykpCi0gICAgICAgIHNl
dENTUERpcmVjdGl2ZShuYW1lLCB2YWx1ZSwgbV9vYmplY3RTcmMpOworICAgICAgICBzZXRDU1BE
aXJlY3RpdmU8U291cmNlTGlzdERpcmVjdGl2ZT4obmFtZSwgdmFsdWUsIG1fb2JqZWN0U3JjKTsK
ICAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCBmcmFtZVNyYykpCi0gICAgICAg
IHNldENTUERpcmVjdGl2ZShuYW1lLCB2YWx1ZSwgbV9mcmFtZVNyYyk7CisgICAgICAgIHNldENT
UERpcmVjdGl2ZTxTb3VyY2VMaXN0RGlyZWN0aXZlPihuYW1lLCB2YWx1ZSwgbV9mcmFtZVNyYyk7
CiAgICAgZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgaW1nU3JjKSkKLSAgICAgICAg
c2V0Q1NQRGlyZWN0aXZlKG5hbWUsIHZhbHVlLCBtX2ltZ1NyYyk7CisgICAgICAgIHNldENTUERp
cmVjdGl2ZTxTb3VyY2VMaXN0RGlyZWN0aXZlPihuYW1lLCB2YWx1ZSwgbV9pbWdTcmMpOwogICAg
IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsIHN0eWxlU3JjKSkKLSAgICAgICAgc2V0
Q1NQRGlyZWN0aXZlKG5hbWUsIHZhbHVlLCBtX3N0eWxlU3JjKTsKKyAgICAgICAgc2V0Q1NQRGly
ZWN0aXZlPFNvdXJjZUxpc3REaXJlY3RpdmU+KG5hbWUsIHZhbHVlLCBtX3N0eWxlU3JjKTsKICAg
ICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCBmb250U3JjKSkKLSAgICAgICAgc2V0
Q1NQRGlyZWN0aXZlKG5hbWUsIHZhbHVlLCBtX2ZvbnRTcmMpOworICAgICAgICBzZXRDU1BEaXJl
Y3RpdmU8U291cmNlTGlzdERpcmVjdGl2ZT4obmFtZSwgdmFsdWUsIG1fZm9udFNyYyk7CiAgICAg
ZWxzZSBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UobmFtZSwgbWVkaWFTcmMpKQotICAgICAgICBzZXRD
U1BEaXJlY3RpdmUobmFtZSwgdmFsdWUsIG1fbWVkaWFTcmMpOworICAgICAgICBzZXRDU1BEaXJl
Y3RpdmU8U291cmNlTGlzdERpcmVjdGl2ZT4obmFtZSwgdmFsdWUsIG1fbWVkaWFTcmMpOwogICAg
IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKG5hbWUsIGNvbm5lY3RTcmMpKQotICAgICAgICBz
ZXRDU1BEaXJlY3RpdmUobmFtZSwgdmFsdWUsIG1fY29ubmVjdFNyYyk7CisgICAgICAgIHNldENT
UERpcmVjdGl2ZTxTb3VyY2VMaXN0RGlyZWN0aXZlPihuYW1lLCB2YWx1ZSwgbV9jb25uZWN0U3Jj
KTsKICAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShuYW1lLCBzYW5kYm94KSkKICAgICAg
ICAgYXBwbHlTYW5kYm94UG9saWN5KG5hbWUsIHZhbHVlKTsKICAgICBlbHNlIGlmIChlcXVhbEln
bm9yaW5nQ2FzZShuYW1lLCByZXBvcnRVUkkpKQogICAgICAgICBwYXJzZVJlcG9ydFVSSShuYW1l
LCB2YWx1ZSk7CiAjaWYgRU5BQkxFKENTUF9ORVhUKQogICAgIGVsc2UgaWYgKGVxdWFsSWdub3Jp
bmdDYXNlKG5hbWUsIGZvcm1BY3Rpb24pKQotICAgICAgICBzZXRDU1BEaXJlY3RpdmUobmFtZSwg
dmFsdWUsIG1fZm9ybUFjdGlvbik7CisgICAgICAgIHNldENTUERpcmVjdGl2ZTxTb3VyY2VMaXN0
RGlyZWN0aXZlPihuYW1lLCB2YWx1ZSwgbV9mb3JtQWN0aW9uKTsKICAgICBlbHNlIGlmIChlcXVh
bElnbm9yaW5nQ2FzZShuYW1lLCBwbHVnaW5UeXBlcykpCi0gICAgICAgIHBhcnNlUGx1Z2luVHlw
ZXMobmFtZSwgdmFsdWUpOworICAgICAgICBzZXRDU1BEaXJlY3RpdmU8TWVkaWFMaXN0RGlyZWN0
aXZlPihuYW1lLCB2YWx1ZSwgbV9wbHVnaW5UeXBlcyk7CiAgICAgZWxzZSBpZiAoZXF1YWxJZ25v
cmluZ0Nhc2UobmFtZSwgc2NyaXB0Tm9uY2UpKQotICAgICAgICBwYXJzZVNjcmlwdE5vbmNlKG5h
bWUsIHZhbHVlKTsKKyAgICAgICAgc2V0Q1NQRGlyZWN0aXZlPE5vbmNlRGlyZWN0aXZlPihuYW1l
LCB2YWx1ZSwgbV9zY3JpcHROb25jZSk7CiAjZW5kaWYKICAgICBlbHNlCiAgICAgICAgIG1fcG9s
aWN5LT5yZXBvcnRVbnJlY29nbml6ZWREaXJlY3RpdmUobmFtZSk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZGMyZjAzNWY4
NTVmYjRlMzg5ZmQxMDcyYzExNTU1NDI2YjNjMjM5Yy4uNWNmMGViN2EwNjdlMmQ4MmVmOTVmYzBm
YmMxMWUyNDg2NDMzODg4MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTA4LTE2ICBNaWtl
IFdlc3QgIDxta3dzdEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVmYWN0b3IgQ1NQRGlyZWN0
aXZlIHRvIHN1cHBvcnQgbm9uLXNvdXJjZWxpc3QgdHlwZXMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDI1MgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvMS4xL3NjcmlwdG5vbmNlLWludmFsaWRub25jZS1leHBlY3RlZC50eHQ6
CisgICAgICAgICAgICBUaGlzIHRlc3Qgd2FzIGJ1Z2d5LiBOb3cgaXQgd3JpdGVzIG91dCB0aGUg
ZnVsbCBkaXJlY3RpdmUgdGV4dCBhcyBpdAorICAgICAgICAgICAgb3VnaHQgdG8uCisKIDIwMTIt
MDgtMTUgIExldmkgV2VpbnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEFj
Y3VtdWxhdGUgc3ViLXBpeGVsIG9mZnNldHMgdGhyb3VnaCBsYXllcnMgYW5kIHRyYW5zZm9ybXMK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5LzEuMS9zY3JpcHRub25jZS1pbnZhbGlkbm9uY2UtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3Nj
cmlwdG5vbmNlLWludmFsaWRub25jZS1leHBlY3RlZC50eHQKaW5kZXggMTM4OWUwNWE2MTc5OGVl
OGJjNWJlNTRlYzAwNjYzYmUwNDExNDlhZC4uOTk4NTBiMWE1NWIxNjg3ODc0N2Y0NDk1YTlmNmFl
N2IzZjIwMjJmYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9j
b250ZW50U2VjdXJpdHlQb2xpY3kvMS4xL3NjcmlwdG5vbmNlLWludmFsaWRub25jZS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJp
dHlQb2xpY3kvMS4xL3NjcmlwdG5vbmNlLWludmFsaWRub25jZS1leHBlY3RlZC50eHQKQEAgLTEy
LDcgKzEyLDcgQEAgQ09OU09MRSBNRVNTQUdFOiBsaW5lIDc6IFJlZnVzZWQgdG8gbG9hZCAnaHR0
cDovLzEyNy4wLjAuMTo4MDAwL3NlY3VyaXR5L2NvbnRlbnQKIAogQ09OU09MRSBNRVNTQUdFOiBJ
Z25vcmluZyBpbnZhbGlkIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IHNjcmlwdCBub25jZTogJ25v
bmNlcyBoYXZlIG5vIHNwYWNlcycuCiAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSA3OiBSZWZ1c2Vk
IHRvIGxvYWQgJ2h0dHA6Ly8xMjcuMC4wLjE6ODAwMC9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kvcmVzb3VyY2VzL3NjcmlwdC5qcycgYmVjYXVzZSBpdCB2aW9sYXRlcyB0aGUgZm9sbG93
aW5nIENvbnRlbnQgU2VjdXJpdHkgUG9saWN5IGRpcmVjdGl2ZTogInNjcmlwdC1ub25jZSAiLgor
Q09OU09MRSBNRVNTQUdFOiBsaW5lIDc6IFJlZnVzZWQgdG8gbG9hZCAnaHR0cDovLzEyNy4wLjAu
MTo4MDAwL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9yZXNvdXJjZXMvc2NyaXB0Lmpz
JyBiZWNhdXNlIGl0IHZpb2xhdGVzIHRoZSBmb2xsb3dpbmcgQ29udGVudCBTZWN1cml0eSBQb2xp
Y3kgZGlyZWN0aXZlOiAic2NyaXB0LW5vbmNlIG5vbmNlcyBoYXZlIG5vIHNwYWNlcyIuCiAKIE5v
bmUgb2YgdGhlc2Ugc2NyaXB0cyBzaG91bGQgZXhlY3V0ZSwgYXMgYWxsIHRoZSBub25jZXMgYXJl
IGludmFsaWQuCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>