<?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>143235</bug_id>
          
          <creation_ts>2015-03-30 13:23:20 -0700</creation_ts>
          <short_desc>[Content Extensions] Correctly handle regular expressions matching everything</short_desc>
          <delta_ts>2015-03-30 17:49:36 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1081284</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-03-30 13:23:20 -0700</bug_when>
    <thetext>There are lots of edge cases.  They should be fixed and tested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081286</commentid>
    <comment_count>1</comment_count>
      <attachid>249758</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-03-30 13:36:03 -0700</bug_when>
    <thetext>Created attachment 249758
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081388</commentid>
    <comment_count>2</comment_count>
      <attachid>249758</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-03-30 17:09:59 -0700</bug_when>
    <thetext>Comment on attachment 249758
Patch

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

&gt; Source/WebCore/contentextensions/ContentExtensionCompiler.cpp:61
&gt; +        for (unsigned i = 0; i &lt; selectorLength; i++) {

++i

&gt; Source/WebCore/contentextensions/ContentExtensionCompiler.cpp:62
&gt; +            actions.resize(actions.size() + sizeof(UChar));

Probably best doing this out of the loop.

&gt; Source/WebCore/contentextensions/ContentExtensionCompiler.cpp:66
&gt; +        for (unsigned i = 0; i &lt; selectorLength; i++)

++i

&gt; Source/WebCore/contentextensions/ContentExtensionCompiler.cpp:89
&gt; +                    selector.append(&quot;,&quot;);

&apos;,&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081426</commentid>
    <comment_count>3</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-03-30 17:49:36 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/182168</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249758</attachid>
            <date>2015-03-30 13:36:03 -0700</date>
            <delta_ts>2015-03-30 17:09:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143235-20150330133521.patch</filename>
            <type>text/plain</type>
            <size>24875</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MjE1MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBACisyMDE1LTAzLTMwICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0NvbnRlbnQg
RXh0ZW5zaW9uc10gQ29ycmVjdGx5IGhhbmRsZSByZWd1bGFyIGV4cHJlc3Npb25zIG1hdGNoaW5n
IGV2ZXJ5dGhpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0MzIzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRlc3Q6IGh0dHAvdGVzdHMvY29udGVudGV4dGVuc2lvbnMvd2hpdGVsaXN0Lmh0bWwKKwor
ICAgICAgICAqIGNvbnRlbnRleHRlbnNpb25zL0NvbXBpbGVkQ29udGVudEV4dGVuc2lvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6Q29tcGlsZWRDb250ZW50RXh0
ZW5zaW9uOjpnbG9iYWxEaXNwbGF5Tm9uZVNlbGVjdG9ycyk6CisgICAgICAgIEdsb2JhbCBhY3Rp
b25zIGNhbiBoYXZlIG5vbi1jc3MgYWN0aW9ucy4gIE9ubHkgcHV0IHRoZSBzZWxlY3RvcnMgaW50
byB0aGUgbGlzdCBvZiBzZWxlY3RvcnMuCisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMvQ29u
dGVudEV4dGVuc2lvbkNvbXBpbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRl
bnNpb25zOjpzZXJpYWxpemVTZWxlY3Rvcik6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0
ZW5zaW9uczo6c2VyaWFsaXplQWN0aW9ucyk6CisgICAgICAgIE1lcmdlIHNlcXVlbnRpYWwgY3Nz
IHNlbGVjdG9ycyB3aXRoIGlkZW50aWNhbCB0cmlnZ2VycyAodXN1YWxseSAuKikgaW50byBvbmUg
YWN0aW9uIHRvIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGFjdGlvbnMuCisgICAgICAgIChXZWJDb3Jl
OjpDb250ZW50RXh0ZW5zaW9uczo6Y29tcGlsZVJ1bGVMaXN0KToKKyAgICAgICAgRmFpbCBpZiBh
IHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaGVzIGV2ZXJ5dGhpbmcgYWZ0ZXIgaWdub3JlLXByZXZp
b3VzLXJ1bGVzLgorICAgICAgICAqIGNvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25F
cnJvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6Y29udGVudEV4
dGVuc2lvbkVycm9yQ2F0ZWdvcnkpOgorICAgICAgICAqIGNvbnRlbnRleHRlbnNpb25zL0NvbnRl
bnRFeHRlbnNpb25FcnJvci5oOgorICAgICAgICBBZGQgbW9yZSBmYWlsdXJlIGNhc2VzLgorICAg
ICAgICAqIGNvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRlbnNpb25SdWxlLmg6CisgICAgICAg
IChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6VHJpZ2dlcjo6b3BlcmF0b3I9PSk6CisgICAg
ICAgIEFsbG93IGNvbXBhcmluZyBvZiBUcmlnZ2VycyB0byBkZXRlcm1pbmUgaWYgc2VxdWVudGlh
bCB0cmlnZ2VycyBhcmUgZXF1YWwuCisgICAgICAgICogY29udGVudGV4dGVuc2lvbnMvQ29udGVu
dEV4dGVuc2lvbnNCYWNrZW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRlbnRFeHRlbnNp
b25zOjpDb250ZW50RXh0ZW5zaW9uc0JhY2tlbmQ6OmFjdGlvbnNGb3JSZXNvdXJjZUxvYWQpOgor
ICAgICAgICBQdXQgbm9uLWNzcyBhY3Rpb25zIHRoYXQgbWF0Y2ggZXZlcnl0aGluZyBpbnRvIHRo
ZSBsaXN0IG9mIGFjdGlvbnMgaWYgaWdub3JlLXByZXZpb3VzLXJ1bGVzIHdhcyBub3QgaGl0Lgor
ICAgICAgICBUaGVzZSBhY3Rpb25zIHdpbGwgYmUgb3V0IG9mIG9yZGVyLCBidXQgb3JkZXIgb25s
eSBtYXR0ZXJzIHdoZW4gZGV0ZXJtaW5pbmcgaWYgaWdub3JlLXByZXZpb3VzLXJ1bGVzLCBhbmQg
dGhpcyBjYXNlIGlzIGhhbmRsZWQgY29ycmVjdGx5LgorICAgICAgICAqIGNvbnRlbnRleHRlbnNp
b25zL0RGQUJ5dGVjb2RlSW50ZXJwcmV0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGVu
dEV4dGVuc2lvbnM6OkRGQUJ5dGVjb2RlSW50ZXJwcmV0ZXI6OmFjdGlvbnNGcm9tREZBUm9vdCk6
CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6REZBQnl0ZWNvZGVJbnRlcnBy
ZXRlcjo6aW50ZXJwcmV0KToKKyAgICAgICAgQWRkZWQgYW4gYXNzZXJ0aW9uIHRoYXQgYWxsIGFj
dGlvbnMgdGhhdCBtYXRjaCBldmVyeXRoaW5nIHNob3VsZCBiZSBpbiB0aGUgZmlyc3QgREZBIHJv
b3QuCisgICAgICAgIFdlIHNob3VsZCBjYXRjaCB0aGVtIGFsbCB3aXRoIFVSTEZpbHRlclBhcnNl
cjo6TWF0Y2hlc0V2ZXJ5dGhpbmcuCisKIDIwMTUtMDMtMzAgIEphdmllciBGZXJuYW5kZXogIDxq
ZmVybmFuZGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NTUyBHcmlkIExheW91dF0gVXBncmFk
ZSBhbGlnbi1zZWxmIGFuZCBhbGlnbi1pdGVtcyBwYXJzaW5nIHRvIENTUyAzCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db21waWxlZENvbnRlbnRFeHRlbnNpb24uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbXBpbGVk
Q29udGVudEV4dGVuc2lvbi5jcHAJKHJldmlzaW9uIDE4MjA4NikKKysrIFNvdXJjZS9XZWJDb3Jl
L2NvbnRlbnRleHRlbnNpb25zL0NvbXBpbGVkQ29udGVudEV4dGVuc2lvbi5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQ3LDggKzQ3LDcgQEAgVmVjdG9yPFN0cmluZz4gQ29tcGlsZWRDb250ZW50RXh0
ZW5zaW9uOgogICAgIAogICAgIFZlY3RvcjxTdHJpbmc+IHNlbGVjdG9yczsKICAgICBmb3IgKEFj
dGlvbiYgYWN0aW9uIDogZ2xvYmFsQWN0aW9ucykgewotICAgICAgICBBU1NFUlQoYWN0aW9uLnR5
cGUoKSA9PSBBY3Rpb25UeXBlOjpDU1NEaXNwbGF5Tm9uZVNlbGVjdG9yKTsKLSAgICAgICAgaWYg
KGFjdGlvbi5zdHJpbmdBcmd1bWVudCgpLmxlbmd0aCgpKQorICAgICAgICBpZiAoYWN0aW9uLnR5
cGUoKSA9PSBBY3Rpb25UeXBlOjpDU1NEaXNwbGF5Tm9uZVNlbGVjdG9yKQogICAgICAgICAgICAg
c2VsZWN0b3JzLmFwcGVuZChhY3Rpb24uc3RyaW5nQXJndW1lbnQoKSk7CiAgICAgfQogICAgIApJ
bmRleDogU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbkNv
bXBpbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9u
cy9Db250ZW50RXh0ZW5zaW9uQ29tcGlsZXIuY3BwCShyZXZpc2lvbiAxODIwODYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uQ29tcGlsZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00MSwxMCArNDEsMzMgQEAKICNpbmNsdWRlIDx3dGYvQ3VycmVu
dFRpbWUuaD4KICNpbmNsdWRlIDx3dGYvRGF0YUxvZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NT
dHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBDb250ZW50RXh0ZW5zaW9ucyB7CiAKK3N0YXRpYyB2b2lk
IHNlcmlhbGl6ZVNlbGVjdG9yKFZlY3RvcjxTZXJpYWxpemVkQWN0aW9uQnl0ZT4mIGFjdGlvbnMs
IGNvbnN0IFN0cmluZyYgc2VsZWN0b3IpCit7CisgICAgLy8gQXBwZW5kIGFjdGlvbiB0eXBlICgx
IGJ5dGUpLgorICAgIGFjdGlvbnMuYXBwZW5kKHN0YXRpY19jYXN0PFNlcmlhbGl6ZWRBY3Rpb25C
eXRlPihBY3Rpb25UeXBlOjpDU1NEaXNwbGF5Tm9uZVNlbGVjdG9yKSk7CisgICAgLy8gQXBwZW5k
IFNlbGVjdG9yIGxlbmd0aCAoNCBieXRlcykuCisgICAgdW5zaWduZWQgc2VsZWN0b3JMZW5ndGgg
PSBzZWxlY3Rvci5sZW5ndGgoKTsKKyAgICBhY3Rpb25zLnJlc2l6ZShhY3Rpb25zLnNpemUoKSAr
IHNpemVvZih1bnNpZ25lZCkpOworICAgICpyZWludGVycHJldF9jYXN0PHVuc2lnbmVkKj4oJmFj
dGlvbnNbYWN0aW9ucy5zaXplKCkgLSBzaXplb2YodW5zaWduZWQpXSkgPSBzZWxlY3Rvckxlbmd0
aDsKKyAgICBib29sIHdpZGVDaGFyYWN0ZXJzID0gIXNlbGVjdG9yLmlzOEJpdCgpOworICAgIGFj
dGlvbnMuYXBwZW5kKHdpZGVDaGFyYWN0ZXJzKTsKKyAgICAvLyBBcHBlbmQgU2VsZWN0b3IuCisg
ICAgaWYgKHdpZGVDaGFyYWN0ZXJzKSB7CisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBzZWxlY3Rvckxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICBhY3Rpb25zLnJlc2l6ZShhY3Rp
b25zLnNpemUoKSArIHNpemVvZihVQ2hhcikpOworICAgICAgICAgICAgKnJlaW50ZXJwcmV0X2Nh
c3Q8VUNoYXIqPigmYWN0aW9uc1thY3Rpb25zLnNpemUoKSAtIHNpemVvZihVQ2hhcildKSA9IHNl
bGVjdG9yW2ldOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IHNlbGVjdG9yTGVuZ3RoOyBpKyspCisgICAgICAgICAgICBhY3Rpb25zLmFw
cGVuZChzZWxlY3RvcltpXSk7CisgICAgfQorfQorICAgIAogc3RhdGljIFZlY3Rvcjx1bnNpZ25l
ZD4gc2VyaWFsaXplQWN0aW9ucyhjb25zdCBWZWN0b3I8Q29udGVudEV4dGVuc2lvblJ1bGU+JiBy
dWxlTGlzdCwgVmVjdG9yPFNlcmlhbGl6ZWRBY3Rpb25CeXRlPiYgYWN0aW9ucykKIHsKICAgICBB
U1NFUlQoIWFjdGlvbnMuc2l6ZSgpKTsKQEAgLTU0LDE0ICs3NywzMyBAQCBzdGF0aWMgVmVjdG9y
PHVuc2lnbmVkPiBzZXJpYWxpemVBY3Rpb25zCiAgICAgZm9yICh1bnNpZ25lZCBydWxlSW5kZXgg
PSAwOyBydWxlSW5kZXggPCBydWxlTGlzdC5zaXplKCk7ICsrcnVsZUluZGV4KSB7CiAgICAgICAg
IGNvbnN0IENvbnRlbnRFeHRlbnNpb25SdWxlJiBydWxlID0gcnVsZUxpc3RbcnVsZUluZGV4XTsK
ICAgICAgICAgCisgICAgICAgIC8vIENvbnNvbGlkYXRlIGNzcyBzZWxlY3RvcnMgd2l0aCBpZGVu
dGljYWwgdHJpZ2dlcnMuCisgICAgICAgIGlmIChydWxlLmFjdGlvbigpLnR5cGUoKSA9PSBBY3Rp
b25UeXBlOjpDU1NEaXNwbGF5Tm9uZVNlbGVjdG9yKSB7CisgICAgICAgICAgICBTdHJpbmdCdWls
ZGVyIHNlbGVjdG9yOworICAgICAgICAgICAgc2VsZWN0b3IuYXBwZW5kKHJ1bGUuYWN0aW9uKCku
c3RyaW5nQXJndW1lbnQoKSk7CisgICAgICAgICAgICBhY3Rpb25Mb2NhdGlvbnMuYXBwZW5kKGFj
dGlvbnMuc2l6ZSgpKTsKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IHJ1bGVJbmRleCAr
IDE7IGkgPCBydWxlTGlzdC5zaXplKCk7IGkrKykgeworICAgICAgICAgICAgICAgIGlmIChydWxl
LnRyaWdnZXIoKSA9PSBydWxlTGlzdFtpXS50cmlnZ2VyKCkgJiYgcnVsZUxpc3RbaV0uYWN0aW9u
KCkudHlwZSgpID09IEFjdGlvblR5cGU6OkNTU0Rpc3BsYXlOb25lU2VsZWN0b3IpIHsKKyAgICAg
ICAgICAgICAgICAgICAgYWN0aW9uTG9jYXRpb25zLmFwcGVuZChhY3Rpb25zLnNpemUoKSk7Cisg
ICAgICAgICAgICAgICAgICAgIHJ1bGVJbmRleCsrOworICAgICAgICAgICAgICAgICAgICBzZWxl
Y3Rvci5hcHBlbmQoIiwiKTsKKyAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3IuYXBwZW5kKHJ1
bGVMaXN0W2ldLmFjdGlvbigpLnN0cmluZ0FyZ3VtZW50KCkpOworICAgICAgICAgICAgICAgIH0g
ZWxzZQorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIHNlcmlhbGl6ZVNlbGVjdG9yKGFjdGlvbnMsIHNlbGVjdG9yLnRvU3RyaW5nKCkpOworICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKyAgICAgICAgCiAgICAgICAgIC8vIElkZW50
aWNhbCBzZXF1ZW50aWFsIGFjdGlvbnMgc2hvdWxkIG5vdCBiZSByZXdyaXR0ZW4uCiAgICAgICAg
IGlmIChydWxlSW5kZXggJiYgcnVsZS5hY3Rpb24oKSA9PSBydWxlTGlzdFtydWxlSW5kZXggLSAx
XS5hY3Rpb24oKSkgewogICAgICAgICAgICAgYWN0aW9uTG9jYXRpb25zLmFwcGVuZChhY3Rpb25M
b2NhdGlvbnNbcnVsZUluZGV4IC0gMV0pOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAg
IH0KKwogICAgICAgICBhY3Rpb25Mb2NhdGlvbnMuYXBwZW5kKGFjdGlvbnMuc2l6ZSgpKTsKLSAg
ICAgICAgCiAgICAgICAgIHN3aXRjaCAocnVsZS5hY3Rpb24oKS50eXBlKCkpIHsKKyAgICAgICAg
Y2FzZSBBY3Rpb25UeXBlOjpDU1NEaXNwbGF5Tm9uZVNlbGVjdG9yOgogICAgICAgICBjYXNlIEFj
dGlvblR5cGU6OkNTU0Rpc3BsYXlOb25lU3R5bGVTaGVldDoKICAgICAgICAgY2FzZSBBY3Rpb25U
eXBlOjpJbnZhbGlkQWN0aW9uOgogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsKQEAgLTcxLDI5ICsxMTMsNiBAQCBzdGF0aWMgVmVjdG9yPHVuc2lnbmVkPiBzZXJpYWxp
emVBY3Rpb25zCiAgICAgICAgIGNhc2UgQWN0aW9uVHlwZTo6SWdub3JlUHJldmlvdXNSdWxlczoK
ICAgICAgICAgICAgIGFjdGlvbnMuYXBwZW5kKHN0YXRpY19jYXN0PFNlcmlhbGl6ZWRBY3Rpb25C
eXRlPihydWxlLmFjdGlvbigpLnR5cGUoKSkpOwogICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAg
ICAgY2FzZSBBY3Rpb25UeXBlOjpDU1NEaXNwbGF5Tm9uZVNlbGVjdG9yOiB7Ci0gICAgICAgICAg
ICBjb25zdCBTdHJpbmcmIHNlbGVjdG9yID0gcnVsZS5hY3Rpb24oKS5zdHJpbmdBcmd1bWVudCgp
OwotICAgICAgICAgICAgLy8gQXBwZW5kIGFjdGlvbiB0eXBlICgxIGJ5dGUpLgotICAgICAgICAg
ICAgYWN0aW9ucy5hcHBlbmQoc3RhdGljX2Nhc3Q8U2VyaWFsaXplZEFjdGlvbkJ5dGU+KEFjdGlv
blR5cGU6OkNTU0Rpc3BsYXlOb25lU2VsZWN0b3IpKTsKLSAgICAgICAgICAgIC8vIEFwcGVuZCBT
ZWxlY3RvciBsZW5ndGggKDQgYnl0ZXMpLgotICAgICAgICAgICAgdW5zaWduZWQgc2VsZWN0b3JM
ZW5ndGggPSBzZWxlY3Rvci5sZW5ndGgoKTsKLSAgICAgICAgICAgIGFjdGlvbnMucmVzaXplKGFj
dGlvbnMuc2l6ZSgpICsgc2l6ZW9mKHVuc2lnbmVkKSk7Ci0gICAgICAgICAgICAqcmVpbnRlcnBy
ZXRfY2FzdDx1bnNpZ25lZCo+KCZhY3Rpb25zW2FjdGlvbnMuc2l6ZSgpIC0gc2l6ZW9mKHVuc2ln
bmVkKV0pID0gc2VsZWN0b3JMZW5ndGg7Ci0gICAgICAgICAgICBib29sIHdpZGVDaGFyYWN0ZXJz
ID0gIXNlbGVjdG9yLmlzOEJpdCgpOwotICAgICAgICAgICAgYWN0aW9ucy5hcHBlbmQod2lkZUNo
YXJhY3RlcnMpOwotICAgICAgICAgICAgLy8gQXBwZW5kIFNlbGVjdG9yLgotICAgICAgICAgICAg
aWYgKHdpZGVDaGFyYWN0ZXJzKSB7Ci0gICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IHNlbGVjdG9yTGVuZ3RoOyBpKyspIHsKLSAgICAgICAgICAgICAgICAgICAgYWN0aW9u
cy5yZXNpemUoYWN0aW9ucy5zaXplKCkgKyBzaXplb2YoVUNoYXIpKTsKLSAgICAgICAgICAgICAg
ICAgICAgKnJlaW50ZXJwcmV0X2Nhc3Q8VUNoYXIqPigmYWN0aW9uc1thY3Rpb25zLnNpemUoKSAt
IHNpemVvZihVQ2hhcildKSA9IHNlbGVjdG9yW2ldOwotICAgICAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IHNlbGVjdG9yTGVuZ3RoOyBpKyspCi0gICAgICAgICAgICAgICAgICAgIGFjdGlvbnMuYXBwZW5k
KHNlbGVjdG9yW2ldKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICB9CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIGFjdGlvbkxvY2F0aW9uczsKQEAgLTEx
Nyw3ICsxMzYsNyBAQCBzdGQ6OmVycm9yX2NvZGUgY29tcGlsZVJ1bGVMaXN0KENvbnRlbnRFCiAK
ICAgICBWZWN0b3I8TkZBPiBuZmFzOwogICAgIG5mYXMuYXBwZW5kKE5GQSgpKTsKLSAgICBib29s
IG5vblVuaXZlcnNhbEFjdGlvblNlZW4gPSBmYWxzZTsKKyAgICBib29sIGlnbm9yZVByZXZpb3Vz
UnVsZXNTZWVuID0gZmFsc2U7CiAgICAgZm9yICh1bnNpZ25lZCBydWxlSW5kZXggPSAwOyBydWxl
SW5kZXggPCBwYXJzZWRSdWxlTGlzdC5zaXplKCk7ICsrcnVsZUluZGV4KSB7CiAKICAgICAgICAg
Ly8gRklYTUU6IFR1bmUgdGhpcyBiZXR0ZXIgYW5kIGFkanVzdCBDb250ZW50RXh0ZW5zaW9uVGVz
dC5NdWx0aURGQSBhY2NvcmRpbmdseS4KQEAgLTEzNSwxNiArMTU0LDE4IEBAIHN0ZDo6ZXJyb3Jf
Y29kZSBjb21waWxlUnVsZUxpc3QoQ29udGVudEUKICAgICAgICAgVVJMRmlsdGVyUGFyc2VyOjpQ
YXJzZVN0YXR1cyBzdGF0dXMgPSB1cmxGaWx0ZXJQYXJzZXIuYWRkUGF0dGVybih0cmlnZ2VyLnVy
bEZpbHRlciwgdHJpZ2dlci51cmxGaWx0ZXJJc0Nhc2VTZW5zaXRpdmUsIGFjdGlvbkxvY2F0aW9u
QW5kRmxhZ3MpOwogCiAgICAgICAgIGlmIChzdGF0dXMgPT0gVVJMRmlsdGVyUGFyc2VyOjpNYXRj
aGVzRXZlcnl0aGluZykgewotICAgICAgICAgICAgaWYgKG5vblVuaXZlcnNhbEFjdGlvblNlZW4p
Ci0gICAgICAgICAgICAgICAgZGF0YUxvZ0YoIlRyaWdnZXIgbWF0Y2hpbmcgZXZlcnl0aGluZyBm
b3VuZCBub3QgYXQgYmVnaW5uaW5nLiAgVGhpcyBtYXkgY2F1c2UgaW5jb3JyZWN0IGJlaGF2aW9y
IHdpdGggaWdub3JlLXByZXZpb3VzLXJ1bGVzIik7CisgICAgICAgICAgICBpZiAoaWdub3JlUHJl
dmlvdXNSdWxlc1NlZW4pCisgICAgICAgICAgICAgICAgcmV0dXJuIENvbnRlbnRFeHRlbnNpb25F
cnJvcjo6UmVnZXhNYXRjaGVzRXZlcnl0aGluZ0FmdGVySWdub3JlUHJldmlvdXNSdWxlczsKICAg
ICAgICAgICAgIHVuaXZlcnNhbEFjdGlvbkxvY2F0aW9ucy5hcHBlbmQoYWN0aW9uTG9jYXRpb25B
bmRGbGFncyk7Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgbm9uVW5pdmVyc2FsQWN0aW9u
U2VlbiA9IHRydWU7CisgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIGlmIChzdGF0dXMgIT0g
VVJMRmlsdGVyUGFyc2VyOjpPayAmJiBzdGF0dXMgIT0gVVJMRmlsdGVyUGFyc2VyOjpNYXRjaGVz
RXZlcnl0aGluZykgewogICAgICAgICAgICAgZGF0YUxvZ0YoIkVycm9yIHdoaWxlIHBhcnNpbmcg
JXM6ICVzXG4iLCB0cmlnZ2VyLnVybEZpbHRlci51dGY4KCkuZGF0YSgpLCBVUkxGaWx0ZXJQYXJz
ZXI6OnN0YXR1c1N0cmluZyhzdGF0dXMpLnV0ZjgoKS5kYXRhKCkpOwotICAgICAgICAgICAgY29u
dGludWU7CisgICAgICAgICAgICByZXR1cm4gQ29udGVudEV4dGVuc2lvbkVycm9yOjpKU09OSW52
YWxpZFJlZ2V4OwogICAgICAgICB9CisgICAgICAgIAorICAgICAgICBpZiAoY29udGVudEV4dGVu
c2lvblJ1bGUuYWN0aW9uKCkudHlwZSgpID09IEFjdGlvblR5cGU6Oklnbm9yZVByZXZpb3VzUnVs
ZXMpCisgICAgICAgICAgICBpZ25vcmVQcmV2aW91c1J1bGVzU2VlbiA9IHRydWU7CiAgICAgfQog
CiAjaWYgQ09OVEVOVF9FWFRFTlNJT05TX1BFUkZPUk1BTkNFX1JFUE9SVElORwpAQCAtMTcyLDYg
KzE5Myw3IEBAIHN0ZDo6ZXJyb3JfY29kZSBjb21waWxlUnVsZUxpc3QoQ29udGVudEUKICAgICAg
ICAgZGZhLmRlYnVnUHJpbnREb3QoKTsKICNlbmRpZgogCisgICAgICAgIEFTU0VSVF9XSVRIX01F
U1NBR0UoIWRmYS5ub2RlQXQoZGZhLnJvb3QoKSkuYWN0aW9ucy5zaXplKCksICJBbGwgYWN0aW9u
cyBvbiB0aGUgREZBIHJvb3Qgc2hvdWxkIGNvbWUgZnJvbSByZWd1bGFyIGV4cHJlc3Npb25zIHRo
YXQgbWF0Y2ggZXZlcnl0aGluZy4iKTsKICAgICAgICAgaWYgKCFpKSB7CiAgICAgICAgICAgICAv
LyBQdXQgYWxsIHRoZSB1bml2ZXJzYWwgYWN0aW9ucyBvbiB0aGUgZmlyc3QgREZBLgogICAgICAg
ICAgICAgZm9yICh1aW50NjRfdCBhY3Rpb25Mb2NhdGlvbiA6IHVuaXZlcnNhbEFjdGlvbkxvY2F0
aW9ucykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL0NvbnRlbnRFeHRl
bnNpb25FcnJvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVu
c2lvbnMvQ29udGVudEV4dGVuc2lvbkVycm9yLmNwcAkocmV2aXNpb24gMTgyMDg2KQorKysgU291
cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbkVycm9yLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNzMsNiArNzMsMTAgQEAgY29uc3Qgc3RkOjplcnJvcl9jYXRlZ29y
eSYgY29udGVudEV4dGVucwogICAgICAgICAgICAgICAgIHJldHVybiAiSW52YWxpZCBhY3Rpb24g
dHlwZS4iOwogICAgICAgICAgICAgY2FzZSBDb250ZW50RXh0ZW5zaW9uRXJyb3I6OkpTT05JbnZh
bGlkQ1NTRGlzcGxheU5vbmVBY3Rpb25UeXBlOgogICAgICAgICAgICAgICAgIHJldHVybiAiSW52
YWxpZCBjc3MtZGlzcGxheS1ub25lIGFjdGlvbiB0eXBlLiBSZXF1aXJlcyBhIHNlbGVjdG9yLiI7
CisgICAgICAgICAgICBjYXNlIENvbnRlbnRFeHRlbnNpb25FcnJvcjo6SlNPTkludmFsaWRSZWdl
eDoKKyAgICAgICAgICAgICAgICByZXR1cm4gIkludmFsaWQgb3IgdW5zdXBwb3J0ZWQgcmVndWxh
ciBleHByZXNzaW9uLiI7CisgICAgICAgICAgICBjYXNlIENvbnRlbnRFeHRlbnNpb25FcnJvcjo6
UmVnZXhNYXRjaGVzRXZlcnl0aGluZ0FmdGVySWdub3JlUHJldmlvdXNSdWxlczoKKyAgICAgICAg
ICAgICAgICByZXR1cm4gIlJlZ3VsYXIgZXhwcmVzc2lvbnMgdGhhdCBtYXRjaCBldmVyeXRoaW5n
IGFyZSBvbmx5IGFsbG93ZWQgYmVmb3JlIHRoZSBmaXJzdCBpZ25vcmUtcHJldmlvdXMtcnVsZXMu
IjsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6c3RyaW5nKCk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uRXJy
b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250
ZW50RXh0ZW5zaW9uRXJyb3IuaAkocmV2aXNpb24gMTgyMDg2KQorKysgU291cmNlL1dlYkNvcmUv
Y29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbkVycm9yLmgJKHdvcmtpbmcgY29weSkK
QEAgLTUzLDYgKzUzLDkgQEAgZW51bSBjbGFzcyBDb250ZW50RXh0ZW5zaW9uRXJyb3IgewogICAg
IEpTT05JbnZhbGlkQWN0aW9uLAogICAgIEpTT05JbnZhbGlkQWN0aW9uVHlwZSwKICAgICBKU09O
SW52YWxpZENTU0Rpc3BsYXlOb25lQWN0aW9uVHlwZSwKKyAgICBKU09OSW52YWxpZFJlZ2V4LAor
ICAgIAorICAgIFJlZ2V4TWF0Y2hlc0V2ZXJ5dGhpbmdBZnRlcklnbm9yZVByZXZpb3VzUnVsZXMs
CiB9OwogCiBjb25zdCBzdGQ6OmVycm9yX2NhdGVnb3J5JiBjb250ZW50RXh0ZW5zaW9uRXJyb3JD
YXRlZ29yeSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVu
dEV4dGVuc2lvblJ1bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0
ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uUnVsZS5oCShyZXZpc2lvbiAxODIwODYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uUnVsZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NSw2ICs0NSwxMiBAQCBzdHJ1Y3QgVHJpZ2dlciB7CiAgICAgU3RyaW5n
IHVybEZpbHRlcjsKICAgICBib29sIHVybEZpbHRlcklzQ2FzZVNlbnNpdGl2ZSB7IGZhbHNlIH07
CiAgICAgUmVzb3VyY2VGbGFncyBmbGFncyB7IDAgfTsKKyAgICBib29sIG9wZXJhdG9yPT0oY29u
c3QgVHJpZ2dlciYgb3RoZXIpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gdXJsRmlsdGVy
ID09IG90aGVyLnVybEZpbHRlcgorICAgICAgICAgICAgJiYgdXJsRmlsdGVySXNDYXNlU2Vuc2l0
aXZlID09IG90aGVyLnVybEZpbHRlcklzQ2FzZVNlbnNpdGl2ZQorICAgICAgICAgICAgJiYgZmxh
Z3MgPT0gb3RoZXIuZmxhZ3M7CisgICAgfQogfTsKICAgICAKIHN0cnVjdCBBY3Rpb24gewpJbmRl
eDogU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvQ29udGVudEV4dGVuc2lvbnNCYWNr
ZW5kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9D
b250ZW50RXh0ZW5zaW9uc0JhY2tlbmQuY3BwCShyZXZpc2lvbiAxODIwODYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9Db250ZW50RXh0ZW5zaW9uc0JhY2tlbmQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMDQsOCArMTA0LDE3IEBAIFZlY3RvcjxBY3Rpb24+IENvbnRlbnRF
eHRlbnNpb25zQmFja2VuZDoKICAgICAgICAgICAgICAgICBmaW5hbEFjdGlvbnMuYXBwZW5kKGFj
dGlvbik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgaWYgKCFzYXdJZ25vcmVQ
cmV2aW91c1J1bGVzKQorICAgICAgICBpZiAoIXNhd0lnbm9yZVByZXZpb3VzUnVsZXMpIHsKKyAg
ICAgICAgICAgIERGQUJ5dGVjb2RlSW50ZXJwcmV0ZXI6OkFjdGlvbnMgdW5pdmVyc2FsQWN0aW9u
cyA9IGludGVycHJldGVyLmFjdGlvbnNGcm9tREZBUm9vdCgpOworICAgICAgICAgICAgZm9yIChh
dXRvIGFjdGlvbkxvY2F0aW9uIDogdW5pdmVyc2FsQWN0aW9ucykgeworICAgICAgICAgICAgICAg
IEFjdGlvbiBhY3Rpb24gPSBBY3Rpb246OmRlc2VyaWFsaXplKGFjdGlvbnMsIGFjdGlvbnNMZW5n
dGgsIGFjdGlvbkxvY2F0aW9uKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAv
LyBDU1Mgc2VsZWN0b3JzIHdlcmUgYWxyZWFkeSBjb21waWxlZCBpbnRvIGEgc3R5bGVzaGVldCB1
c2luZyBnbG9iYWxEaXNwbGF5Tm9uZVNlbGVjdG9ycy4KKyAgICAgICAgICAgICAgICBpZiAoYWN0
aW9uLnR5cGUoKSAhPSBBY3Rpb25UeXBlOjpDU1NEaXNwbGF5Tm9uZVNlbGVjdG9yKQorICAgICAg
ICAgICAgICAgICAgICBmaW5hbEFjdGlvbnMuYXBwZW5kKGFjdGlvbik7CisgICAgICAgICAgICB9
CiAgICAgICAgICAgICBmaW5hbEFjdGlvbnMuYXBwZW5kKEFjdGlvbihBY3Rpb25UeXBlOjpDU1NE
aXNwbGF5Tm9uZVN0eWxlU2hlZXQsIGNvbnRlbnRFeHRlbnNpb24tPmlkZW50aWZpZXIoKSkpOwor
ICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiBmaW5hbEFjdGlvbnM7CiB9CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkFCeXRlY29kZUludGVycHJldGVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9ERkFCeXRlY29k
ZUludGVycHJldGVyLmNwcAkocmV2aXNpb24gMTgyMDg2KQorKysgU291cmNlL1dlYkNvcmUvY29u
dGVudGV4dGVuc2lvbnMvREZBQnl0ZWNvZGVJbnRlcnByZXRlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ3LDYgKzQ3LDcgQEAgREZBQnl0ZWNvZGVJbnRlcnByZXRlcjo6QWN0aW9ucyBERkFCeXRl
YwogCiAgICAgLy8gU2tpcCBmaXJzdCBERkEgaGVhZGVyLiBBbGwgdW5pdmVyc2FsIGFjdGlvbnMg
YXJlIGluIHRoZSBmaXJzdCBERkEgcm9vdC4KICAgICB1bnNpZ25lZCBwcm9ncmFtQ291bnRlciA9
IHNpemVvZih1bnNpZ25lZCk7CisKICAgICB3aGlsZSAoc3RhdGljX2Nhc3Q8REZBQnl0ZWNvZGVJ
bnN0cnVjdGlvbj4obV9ieXRlY29kZVtwcm9ncmFtQ291bnRlcl0pID09IERGQUJ5dGVjb2RlSW5z
dHJ1Y3Rpb246OkFwcGVuZEFjdGlvbikgewogICAgICAgICB1bml2ZXJzYWxBY3Rpb25Mb2NhdGlv
bnMuYWRkKHN0YXRpY19jYXN0PHVpbnQ2NF90PihnZXRCaXRzPHVuc2lnbmVkPihtX2J5dGVjb2Rl
LCBtX2J5dGVjb2RlTGVuZ3RoLCBwcm9ncmFtQ291bnRlciArIHNpemVvZihERkFCeXRlY29kZSkp
KSk7CiAgICAgICAgIHByb2dyYW1Db3VudGVyICs9IGluc3RydWN0aW9uU2l6ZVdpdGhBcmd1bWVu
dHMoREZBQnl0ZWNvZGVJbnN0cnVjdGlvbjo6QXBwZW5kQWN0aW9uKTsKQEAgLTY5LDEwICs3MCwx
MSBAQCBERkFCeXRlY29kZUludGVycHJldGVyOjpBY3Rpb25zIERGQUJ5dGVjCiAgICAgICAgIHVu
c2lnbmVkIGRmYUJ5dGVjb2RlTGVuZ3RoID0gZ2V0Qml0czx1bnNpZ25lZD4obV9ieXRlY29kZSwg
bV9ieXRlY29kZUxlbmd0aCwgcHJvZ3JhbUNvdW50ZXIpOwogICAgICAgICBwcm9ncmFtQ291bnRl
ciArPSBzaXplb2YodW5zaWduZWQpOwogCi0gICAgICAgIC8vIFNraXAgdGhlIHVuaXZlcnNhbCBh
Y3Rpb25zLgotICAgICAgICAvLyBGSVhNRTogUmVwbGFjZSBBcHBlbmRBY3Rpb24gd2l0aCBBcHBl
bmRBY3Rpb25zIHRvIG1ha2UgdGhpcyBqdXN0IG9uZSBqdW1wIGFuZCBtYWtlIHN1cmUgdGhlcmUg
YXJlbid0IHVuaXZlcnNhbCBhY3Rpb25zIHdpdGggZmxhZ3MuCi0gICAgICAgIHdoaWxlIChzdGF0
aWNfY2FzdDxERkFCeXRlY29kZUluc3RydWN0aW9uPihtX2J5dGVjb2RlW3Byb2dyYW1Db3VudGVy
XSkgPT0gREZBQnl0ZWNvZGVJbnN0cnVjdGlvbjo6QXBwZW5kQWN0aW9uKQorICAgICAgICAvLyBT
a2lwIHRoZSBhY3Rpb25zIG9uIHRoZSBERkEgcm9vdC4gVGhlc2UgYXJlIGFjY2Vzc2VkIHZpYSBh
Y3Rpb25zRnJvbURGQVJvb3QuCisgICAgICAgIHdoaWxlIChzdGF0aWNfY2FzdDxERkFCeXRlY29k
ZUluc3RydWN0aW9uPihtX2J5dGVjb2RlW3Byb2dyYW1Db3VudGVyXSkgPT0gREZBQnl0ZWNvZGVJ
bnN0cnVjdGlvbjo6QXBwZW5kQWN0aW9uKSB7CisgICAgICAgICAgICBBU1NFUlRfV0lUSF9NRVNT
QUdFKCFkZmFTdGFydCwgIlRyaWdnZXJzIHRoYXQgbWF0Y2ggZXZlcnl0aGluZyBzaG91bGQgb25s
eSBiZSBpbiB0aGUgZmlyc3QgREZBLiIpOwogICAgICAgICAgICAgcHJvZ3JhbUNvdW50ZXIgKz0g
aW5zdHJ1Y3Rpb25TaXplV2l0aEFyZ3VtZW50cyhERkFCeXRlY29kZUluc3RydWN0aW9uOjpBcHBl
bmRBY3Rpb24pOworICAgICAgICB9CiAgICAgICAgIAogICAgICAgICAvLyBJbnRlcnByZXQgdGhl
IGJ5dGVjb2RlIGZyb20gdGhpcyBERkEuCiAgICAgICAgIC8vIFRoaXMgc2hvdWxkIGFsd2F5cyB0
ZXJtaW5hdGUgaWYgaW50ZXJwcmV0aW5nIGNvcnJlY3RseSBjb21waWxlZCBieXRlY29kZS4KSW5k
ZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlz
aW9uIDE4MjE1MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE1IEBACisyMDE1LTAzLTMwICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgW0NvbnRlbnQgRXh0ZW5zaW9uc10gQ29ycmVjdGx5IGhhbmRsZSBy
ZWd1bGFyIGV4cHJlc3Npb25zIG1hdGNoaW5nIGV2ZXJ5dGhpbmcKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzIzNQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJD
b3JlL0NvbnRlbnRFeHRlbnNpb25zLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmNoZWNr
Q29tcGlsZXJFcnJvcik6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUX0YpOgorICAgICAg
ICBUZXN0IENvbnRlbnRFeHRlbnNpb25FcnJvcnMuCisKIDIwMTUtMDMtMzAgIE1hcmNvcyBDaGF2
YXJyw61hIFRlaWplaXJvICA8Y2hhdmFycmlhMTk5MUBnbWFpbC5jb20+CiAKICAgICAgICAgVXBk
YXRlIGluc3RhbGwtZGVwZW5kZW5jaWVzIEZlZG9yYSBwYWNrYWdlcyBhZnRlciByMTgxNjI0Cklu
ZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29udGVudEV4dGVuc2lvbnMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9Db250
ZW50RXh0ZW5zaW9ucy5jcHAJKHJldmlzaW9uIDE4MjA4NikKKysrIFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViQ29yZS9Db250ZW50RXh0ZW5zaW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJQbGF0Zm9ybVV0aWxpdGllcy5oIgogI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL0luaXRpYWxpemVUaHJlYWRpbmcuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L0NvbnRlbnRFeHRlbnNpb25Db21waWxlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQ29udGVudEV4
dGVuc2lvbkVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Db250ZW50RXh0ZW5zaW9uc0JhY2tl
bmQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05GQS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3Vy
Y2VMb2FkSW5mby5oPgpAQCAtNTczLDYgKzU3NCw1MyBAQCBURVNUX0YoQ29udGVudEV4dGVuc2lv
blRlc3QsIE11bHRpREZBKQogICAgIHRlc3RSZXF1ZXN0KGJhY2tlbmQsIG1haW5Eb2N1bWVudFJl
cXVlc3QoImh0dHA6Ly93ZWJraXQub3JnLyIpLCB7IH0pOwogfQogCit2b2lkIGNoZWNrQ29tcGls
ZXJFcnJvcihjb25zdCBjaGFyKiBqc29uLCBDb250ZW50RXh0ZW5zaW9uczo6Q29udGVudEV4dGVu
c2lvbkVycm9yIGV4cGVjdGVkRXJyb3IpCit7CisgICAgV2ViQ29yZTo6Q29udGVudEV4dGVuc2lv
bnM6OkNvbXBpbGVkQ29udGVudEV4dGVuc2lvbkRhdGEgZXh0ZW5zaW9uRGF0YTsKKyAgICBJbk1l
bW9yeUNvbnRlbnRFeHRlbnNpb25Db21waWxhdGlvbkNsaWVudCBjbGllbnQoZXh0ZW5zaW9uRGF0
YSk7CisgICAgc3RkOjplcnJvcl9jb2RlIGNvbXBpbGVyRXJyb3IgPSBDb250ZW50RXh0ZW5zaW9u
czo6Y29tcGlsZVJ1bGVMaXN0KGNsaWVudCwganNvbik7CisgICAgRVhQRUNUX0VRKGNvbXBpbGVy
RXJyb3IudmFsdWUoKSwgc3RhdGljX2Nhc3Q8aW50PihleHBlY3RlZEVycm9yKSk7Cit9CisKK1RF
U1RfRihDb250ZW50RXh0ZW5zaW9uVGVzdCwgSW52YWxpZEpTT04pCit7CisgICAgY2hlY2tDb21w
aWxlckVycm9yKCJbIiwgQ29udGVudEV4dGVuc2lvbnM6OkNvbnRlbnRFeHRlbnNpb25FcnJvcjo6
SlNPTkludmFsaWQpOworICAgIGNoZWNrQ29tcGlsZXJFcnJvcigiMTIzIiwgQ29udGVudEV4dGVu
c2lvbnM6OkNvbnRlbnRFeHRlbnNpb25FcnJvcjo6SlNPTlRvcExldmVsU3RydWN0dXJlTm90QW5P
YmplY3QpOworICAgIGNoZWNrQ29tcGlsZXJFcnJvcigie30iLCBDb250ZW50RXh0ZW5zaW9uczo6
Q29udGVudEV4dGVuc2lvbkVycm9yOjpKU09OVG9wTGV2ZWxTdHJ1Y3R1cmVOb3RBbkFycmF5KTsK
KyAgICAvLyBGSVhNRTogQWRkIHVuaXQgdGVzdCBmb3IgSlNPTkludmFsaWRSdWxlIGlmIHRoYXQg
aXMgcG9zc2libGUgdG8gaGl0LgorICAgIGNoZWNrQ29tcGlsZXJFcnJvcigiW10iLCBDb250ZW50
RXh0ZW5zaW9uczo6Q29udGVudEV4dGVuc2lvbkVycm9yOjpKU09OQ29udGFpbnNOb1J1bGVzKTsK
KworICAgIGNoZWNrQ29tcGlsZXJFcnJvcigiW3tcImFjdGlvblwiOntcInR5cGVcIjpcImJsb2Nr
XCJ9LFwidHJpZ2dlclwiOjV9XSIsCisgICAgICAgIENvbnRlbnRFeHRlbnNpb25zOjpDb250ZW50
RXh0ZW5zaW9uRXJyb3I6OkpTT05JbnZhbGlkVHJpZ2dlcik7CisgICAgY2hlY2tDb21waWxlckVy
cm9yKCJbe1wiYWN0aW9uXCI6e1widHlwZVwiOlwiYmxvY2tcIn0sXCJ0cmlnZ2VyXCI6e1widXJs
LWZpbHRlclwiOlwiXCJ9fV0iLAorICAgICAgICBDb250ZW50RXh0ZW5zaW9uczo6Q29udGVudEV4
dGVuc2lvbkVycm9yOjpKU09OSW52YWxpZFVSTEZpbHRlckluVHJpZ2dlcik7CisgICAgY2hlY2tD
b21waWxlckVycm9yKCJbe1wiYWN0aW9uXCI6e1widHlwZVwiOlwiYmxvY2tcIn0sXCJ0cmlnZ2Vy
XCI6e1widXJsLWZpbHRlclwiOnt9fX1dIiwKKyAgICAgICAgQ29udGVudEV4dGVuc2lvbnM6OkNv
bnRlbnRFeHRlbnNpb25FcnJvcjo6SlNPTkludmFsaWRVUkxGaWx0ZXJJblRyaWdnZXIpOworCisg
ICAgLy8gRklYTUU6IEFkZCB1bml0IHRlc3QgZm9yIEpTT05JbnZhbGlkT2JqZWN0SW5UcmlnZ2Vy
RmxhZ3NBcnJheSBpZiB0aGF0IGlzIHBvc3NpYmxlIHRvIGhpdC4KKyAgICBjaGVja0NvbXBpbGVy
RXJyb3IoIlt7XCJhY3Rpb25cIjp7XCJ0eXBlXCI6XCJibG9ja1wifSxcInRyaWdnZXJcIjp7XCJ1
cmwtZmlsdGVyXCI6XCJ3ZWJraXQub3JnXCIsXCJsb2FkLXR5cGVcIjp7fX19XSIsCisgICAgICAg
IENvbnRlbnRFeHRlbnNpb25zOjpDb250ZW50RXh0ZW5zaW9uRXJyb3I6OkpTT05JbnZhbGlkVHJp
Z2dlckZsYWdzQXJyYXkpOworICAgIGNoZWNrQ29tcGlsZXJFcnJvcigiW3tcImFjdGlvblwiOntc
InR5cGVcIjpcImJsb2NrXCJ9LFwidHJpZ2dlclwiOntcInVybC1maWx0ZXJcIjpcIndlYmtpdC5v
cmdcIixcImxvYWQtdHlwZVwiOltcImludmFsaWRcIl19fV0iLAorICAgICAgICBDb250ZW50RXh0
ZW5zaW9uczo6Q29udGVudEV4dGVuc2lvbkVycm9yOjpKU09OSW52YWxpZFN0cmluZ0luVHJpZ2dl
ckZsYWdzQXJyYXkpOworICAgIGNoZWNrQ29tcGlsZXJFcnJvcigiW3tcImFjdGlvblwiOntcInR5
cGVcIjpcImJsb2NrXCJ9LFwidHJpZ2dlclwiOntcInVybC1maWx0ZXJcIjpcIndlYmtpdC5vcmdc
IixcInJlc291cmNlLXR5cGVcIjp7fX19XSIsCisgICAgICAgIENvbnRlbnRFeHRlbnNpb25zOjpD
b250ZW50RXh0ZW5zaW9uRXJyb3I6OkpTT05JbnZhbGlkVHJpZ2dlckZsYWdzQXJyYXkpOworICAg
IGNoZWNrQ29tcGlsZXJFcnJvcigiW3tcImFjdGlvblwiOntcInR5cGVcIjpcImJsb2NrXCJ9LFwi
dHJpZ2dlclwiOntcInVybC1maWx0ZXJcIjpcIndlYmtpdC5vcmdcIixcInJlc291cmNlLXR5cGVc
IjpbXCJpbnZhbGlkXCJdfX1dIiwKKyAgICAgICAgQ29udGVudEV4dGVuc2lvbnM6OkNvbnRlbnRF
eHRlbnNpb25FcnJvcjo6SlNPTkludmFsaWRTdHJpbmdJblRyaWdnZXJGbGFnc0FycmF5KTsKKwor
ICAgIGNoZWNrQ29tcGlsZXJFcnJvcigiW3tcImFjdGlvblwiOjUsXCJ0cmlnZ2VyXCI6e1widXJs
LWZpbHRlclwiOlwid2Via2l0Lm9yZ1wifX1dIiwKKyAgICAgICAgQ29udGVudEV4dGVuc2lvbnM6
OkNvbnRlbnRFeHRlbnNpb25FcnJvcjo6SlNPTkludmFsaWRBY3Rpb24pOworICAgIGNoZWNrQ29t
cGlsZXJFcnJvcigiW3tcImFjdGlvblwiOntcInR5cGVcIjpcImludmFsaWRcIn0sXCJ0cmlnZ2Vy
XCI6e1widXJsLWZpbHRlclwiOlwid2Via2l0Lm9yZ1wifX1dIiwKKyAgICAgICAgQ29udGVudEV4
dGVuc2lvbnM6OkNvbnRlbnRFeHRlbnNpb25FcnJvcjo6SlNPTkludmFsaWRBY3Rpb25UeXBlKTsK
KyAgICBjaGVja0NvbXBpbGVyRXJyb3IoIlt7XCJhY3Rpb25cIjp7XCJ0eXBlXCI6XCJjc3MtZGlz
cGxheS1ub25lXCJ9LFwidHJpZ2dlclwiOntcInVybC1maWx0ZXJcIjpcIndlYmtpdC5vcmdcIn19
XSIsCisgICAgICAgIENvbnRlbnRFeHRlbnNpb25zOjpDb250ZW50RXh0ZW5zaW9uRXJyb3I6OkpT
T05JbnZhbGlkQ1NTRGlzcGxheU5vbmVBY3Rpb25UeXBlKTsKKworICAgIGNoZWNrQ29tcGlsZXJF
cnJvcigiW3tcImFjdGlvblwiOntcInR5cGVcIjpcImlnbm9yZS1wcmV2aW91cy1ydWxlc1wifSxc
InRyaWdnZXJcIjp7XCJ1cmwtZmlsdGVyXCI6XCJ3ZWJraXQub3JnXCJ9fSwiCisgICAgICAgICJ7
XCJhY3Rpb25cIjp7XCJ0eXBlXCI6XCJjc3MtZGlzcGxheS1ub25lXCIsXCJzZWxlY3RvclwiOlwi
LmhpZGRlblwifSxcInRyaWdnZXJcIjp7XCJ1cmwtZmlsdGVyXCI6XCIuKlwifX1dIiwKKyAgICAg
ICAgQ29udGVudEV4dGVuc2lvbnM6OkNvbnRlbnRFeHRlbnNpb25FcnJvcjo6UmVnZXhNYXRjaGVz
RXZlcnl0aGluZ0FmdGVySWdub3JlUHJldmlvdXNSdWxlcyk7CisgICAgY2hlY2tDb21waWxlckVy
cm9yKCJbe1wiYWN0aW9uXCI6e1widHlwZVwiOlwiYmxvY2tcIn0sXCJ0cmlnZ2VyXCI6e1widXJs
LWZpbHRlclwiOlwiW1wifX1dIiwKKyAgICAgICAgQ29udGVudEV4dGVuc2lvbnM6OkNvbnRlbnRF
eHRlbnNpb25FcnJvcjo6SlNPTkludmFsaWRSZWdleCk7Cit9CisKIHN0YXRpYyB2b2lkIHRlc3RQ
YXR0ZXJuU3RhdHVzKFN0cmluZyBwYXR0ZXJuLCBDb250ZW50RXh0ZW5zaW9uczo6VVJMRmlsdGVy
UGFyc2VyOjpQYXJzZVN0YXR1cyBzdGF0dXMpCiB7CiAgICAgQ29udGVudEV4dGVuc2lvbnM6Ok5G
QSBuZmE7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxODIxNTEpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxNS0wMy0zMCAgQWxleCBDaHJp
c3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIFtDb250ZW50IEV4
dGVuc2lvbnNdIENvcnJlY3RseSBoYW5kbGUgcmVndWxhciBleHByZXNzaW9ucyBtYXRjaGluZyBl
dmVyeXRoaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDMyMzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGh0dHAvdGVzdHMvY29udGVudGV4dGVuc2lvbnMvY3NzLWRpc3BsYXktbm9uZS5odG1sOgor
ICAgICAgICAqIGh0dHAvdGVzdHMvY29udGVudGV4dGVuc2lvbnMvY3NzLWRpc3BsYXktbm9uZS5o
dG1sLmpzb246CisgICAgICAgIFRlc3QgbXVsdGlwbGUgc2VsZWN0b3JzIHdpdGggdHJpZ2dlcnMg
dGhhdCBtYXRjaCBldmVyeXRoaW5nLgorICAgICAgICAqIGh0dHAvdGVzdHMvY29udGVudGV4dGVu
c2lvbnMvd2hpdGVsaXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9jb250ZW50ZXh0ZW5zaW9ucy93aGl0ZWxpc3QuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy93aGl0ZWxpc3QuaHRtbC5qc29uOiBBZGRlZC4KKwog
MjAxNS0wMy0zMCAgTWFyY29zIENoYXZhcnLDrWEgVGVpamVpcm8gIDxjaGF2YXJyaWExOTkxQGdt
YWlsLmNvbT4KIAogICAgICAgICBSZWJhc2VsaW5lIGFjY2Vzc2liaWxpdHkvYXJpYS10b2dnbGUt
YnV0dG9uLXdpdGgtdGl0bGUuaHRtbApJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb250
ZW50ZXh0ZW5zaW9ucy9jc3MtZGlzcGxheS1ub25lLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy9jc3MtZGlzcGxheS1ub25lLmh0bWwJ
KHJldmlzaW9uIDE4MjA4NikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29udGVudGV4dGVu
c2lvbnMvY3NzLWRpc3BsYXktbm9uZS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0yLDcgKzIsOCBA
QAogPG1ldGEgY2hhcnNldD0iVVRGLTgiPjwvbWV0YT4KIDwvaGVhZD4KIDxib2R5PgotPHAgY2xh
c3M9ImhpZGRlbl9nbG9iYWwiPlRoaXMgdGV4dCBzaG91bGQgbm90IGJlIHZpc2libGUgb25jZSB0
aGUgZ2xvYmFsIGNzcyBzZWxlY3RvciBpcyBhcHBsaWVkLjwvcD4KKzxwIGNsYXNzPSJoaWRkZW5f
Z2xvYmFsMSI+VGhpcyB0ZXh0IHNob3VsZCBub3QgYmUgdmlzaWJsZSBvbmNlIHRoZSBnbG9iYWwg
Y3NzIHNlbGVjdG9yIGlzIGFwcGxpZWQuPC9wPgorPHAgY2xhc3M9ImhpZGRlbl9nbG9iYWwyIj5U
aGlzIHRleHQgc2hvdWxkIG5vdCBiZSB2aXNpYmxlIG9uY2UgdGhlIGdsb2JhbCBjc3Mgc2VsZWN0
b3IgaXMgYXBwbGllZC48L3A+CiA8cCBjbGFzcz0iaGlkZGVuIj5UaGlzIHRleHQgc2hvdWxkIG5v
dCBiZSB2aXNpYmxlIG9uY2UgdGhlIHBhcnRpY3VsYXIgY3NzIHNlbGVjdG9yIGlzIGFwcGxpZWQu
PC9wPgogPHAgY2xhc3M9ImhpZGRlbl/FvSI+VGhpcyB0ZXh0IHNob3VsZCBub3QgYmUgdmlzaWJs
ZSBvbmNlIHRoZSBwYXJ0aWN1bGFyIGNzcyBzZWxlY3RvciB3aXRoIG5vbi1hc2NpaSBjaGFyYWN0
ZXJzIGlzIGFwcGxpZWQuPC9wPgogPHAgY2xhc3M9Im5vdF9oaWRkZW4iPlRoaXMgdGV4dCBzaG91
bGQgYmUgdmlzaWJsZS48L3A+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRl
eHRlbnNpb25zL2Nzcy1kaXNwbGF5LW5vbmUuaHRtbC5qc29uCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2h0dHAvdGVzdHMvY29udGVudGV4dGVuc2lvbnMvY3NzLWRpc3BsYXktbm9uZS5odG1s
Lmpzb24JKHJldmlzaW9uIDE4MjA4NikKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29udGVu
dGV4dGVuc2lvbnMvY3NzLWRpc3BsYXktbm9uZS5odG1sLmpzb24JKHdvcmtpbmcgY29weSkKQEAg
LTIwLDEwICsyMCwyNyBAQAogICAgIHsKICAgICAgICAgImFjdGlvbiI6IHsKICAgICAgICAgICAg
ICJ0eXBlIjogImNzcy1kaXNwbGF5LW5vbmUiLAotICAgICAgICAgICAgInNlbGVjdG9yIjogIi5o
aWRkZW5fZ2xvYmFsIgorICAgICAgICAgICAgInNlbGVjdG9yIjogIi5oaWRkZW5fZ2xvYmFsMSIK
ICAgICAgICAgfSwKICAgICAgICAgInRyaWdnZXIiOiB7CiAgICAgICAgICAgICAidXJsLWZpbHRl
ciI6ICIuKiIKICAgICAgICAgfQorICAgIH0sCisgICAgeworICAgICAgICAiYWN0aW9uIjogewor
ICAgICAgICAgICAgInR5cGUiOiAiY3NzLWRpc3BsYXktbm9uZSIsCisgICAgICAgICAgICAic2Vs
ZWN0b3IiOiAiLmhpZGRlbl9nbG9iYWwyIgorICAgICAgICB9LAorICAgICAgICAidHJpZ2dlciI6
IHsKKyAgICAgICAgICAgICJ1cmwtZmlsdGVyIjogIi4qIgorICAgICAgICB9CisgICAgfSwKKyAg
ICB7CisgICAgICAgICJhY3Rpb24iOiB7CisgICAgICAgICAgICAidHlwZSI6ICJpZ25vcmUtcHJl
dmlvdXMtcnVsZXMiCisgICAgICAgIH0sCisgICAgICAgICJ0cmlnZ2VyIjogeworICAgICAgICAg
ICAgInVybC1maWx0ZXIiOiAibmV2ZXJfdXNlZCIKKyAgICAgICAgfQogICAgIH0KIF0KSW5kZXg6
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvY29udGVudGV4dGVuc2lvbnMvd2hpdGVsaXN0LWV4cGVj
dGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRleHRl
bnNpb25zL3doaXRlbGlzdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL2NvbnRlbnRleHRlbnNpb25zL3doaXRlbGlzdC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw3IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
KyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAg
UmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxOTJ4MTgKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggMTkyOiAiVGhpcyBzaG91bGQgbG9hZCBzdWNjZXNzZnVsbHkuIgpJbmRleDogTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9jb250ZW50ZXh0ZW5zaW9ucy93aGl0ZWxpc3QuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRleHRlbnNpb25zL3doaXRlbGlz
dC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jb250ZW50ZXh0
ZW5zaW9ucy93aGl0ZWxpc3QuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxIEBACitUaGlz
IHNob3VsZCBsb2FkIHN1Y2Nlc3NmdWxseS4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
Y29udGVudGV4dGVuc2lvbnMvd2hpdGVsaXN0Lmh0bWwuanNvbgo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRleHRlbnNpb25zL3doaXRlbGlzdC5odG1sLmpzb24J
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NvbnRlbnRleHRlbnNpb25z
L3doaXRlbGlzdC5odG1sLmpzb24JKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxOCBAQAorWwor
ICAgIHsKKyAgICAgICAgImFjdGlvbiI6IHsKKyAgICAgICAgICAgICJ0eXBlIjogImJsb2NrIgor
ICAgICAgICB9LAorICAgICAgICAidHJpZ2dlciI6IHsKKyAgICAgICAgICAgICJ1cmwtZmlsdGVy
IjogIi4qIgorICAgICAgICB9CisgICAgfSwKKyAgICB7CisgICAgICAgICJhY3Rpb24iOiB7Cisg
ICAgICAgICAgICAidHlwZSI6ICJpZ25vcmUtcHJldmlvdXMtcnVsZXMiCisgICAgICAgIH0sCisg
ICAgICAgICJ0cmlnZ2VyIjogeworICAgICAgICAgICAgInVybC1maWx0ZXIiOiAid2hpdGVsaXN0
IgorICAgICAgICB9CisgICAgfQorXQo=
</data>
<flag name="review"
          id="274588"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>