<?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>148614</bug_id>
          
          <creation_ts>2015-08-29 21:15:46 -0700</creation_ts>
          <short_desc>Add support for the &quot;unset&quot; CSS property value</short_desc>
          <delta_ts>2015-12-13 23:18:12 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://jsfiddle.net/cvrebert/1w6bhom0/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>127616</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Rebert">webkit</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>50167214</cc>
    
    <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>hyatt</cc>
    
    <cc>jonlee</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1122023</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Rebert">webkit</who>
    <bug_when>2015-08-29 21:15:46 -0700</bug_when>
    <thetext>It&apos;s part of CSS Cascading and Inheritance Level 3:
http://www.w3.org/TR/css-cascade-3/#inherit-initial

See also https://developer.mozilla.org/en-US/docs/Web/CSS/unset

Chrome and Firefox already support it, and it&apos;s &quot;In Development&quot; for Microsoft Edge.


Testcase: http://jsfiddle.net/cvrebert/1w6bhom0/

Testcase&apos;s HTML:
&lt;div&gt;A&lt;/div&gt;
&lt;div&gt;B&lt;/div&gt;
&lt;div&gt;C&lt;/div&gt;

Testcase&apos;s CSS:
div {
    display: unset;/* in this case, same as inline */
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1122031</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-08-29 21:41:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/22491420&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133619</commentid>
    <comment_count>2</comment_count>
      <attachid>263197</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2015-10-15 15:15:23 -0700</bug_when>
    <thetext>Created attachment 263197
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133623</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-15 15:17:45 -0700</bug_when>
    <thetext>Attachment 263197 did not pass style-queue:


ERROR: Source/WebCore/css/CSSValue.h:49:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/WebCore/css/CSSValue.h:50:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 2 in 23 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133633</commentid>
    <comment_count>4</comment_count>
      <attachid>263197</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-10-15 15:30:28 -0700</bug_when>
    <thetext>Comment on attachment 263197
Patch

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

&gt; Source/WebCore/css/CSSParser.cpp:1951
&gt; -
&gt; +    

Oopsy.

&gt; Source/WebCore/css/CSSUnsetValue.cpp:17
&gt; + * Copyright (C) 2015 Apple Inc. All rights reserved.
&gt; + *
&gt; + * This library is free software; you can redistribute it and/or
&gt; + * modify it under the terms of the GNU Library General Public
&gt; + * License as published by the Free Software Foundation; either
&gt; + * version 2 of the License, or (at your option) any later version.
&gt; + *
&gt; + * This library is distributed in the hope that it will be useful,
&gt; + * but WITHOUT ANY WARRANTY; without even the implied warranty of
&gt; + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
&gt; + * Library General Public License for more details.
&gt; + *
&gt; + * You should have received a copy of the GNU Library General Public License
&gt; + * along with this library; see the file COPYING.LIB.  If not, write to
&gt; + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
&gt; + * Boston, MA 02110-1301, USA.

I thought we used this one for new files:

 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS&apos;&apos; AND ANY
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 

Or maybe it doesn&apos;t matter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1133689</commentid>
    <comment_count>5</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2015-10-15 16:56:32 -0700</bug_when>
    <thetext>Fixed in r191151.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1148900</commentid>
    <comment_count>6</comment_count>
    <who name="yisibl">50167214</who>
    <bug_when>2015-12-13 23:18:12 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/191151</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263197</attachid>
            <date>2015-10-15 15:15:23 -0700</date>
            <delta_ts>2015-10-15 15:30:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>48923</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MTE0MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDg3IEBACisyMDE1LTEwLTE1ICBEYXZpZCBI
eWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgdGhlIENT
UyAndW5zZXQnIGtleXdvcmQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDg2MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGRlZCBuZXcgdGVzdCBpbiBmYXN0L2NzcywgYW5kIGV4aXN0aW5nIHZhcmlh
YmxlcyB0ZXN0cyBhbHNvIHVzZSB1bnNldCBpbiBzZXZlcmFsIHRlc3RzLgorCisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBBZGQgQ1NTVW5zZXRW
YWx1ZS5jcHAgdG8gdGhlIHByb2plY3QuCisKKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUNT
Uy5tbToKKyAgICAgICAgKGtpdENsYXNzKToKKyAgICAgICAgTWFrZSBzdXJlIFVOU0VUIGlzIGhh
bmRsZWQgaW4gdGhlIHN3aXRjaC4KKworICAgICAgICAqIGNzcy9DU1NQYXJzZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6cGFyc2VLZXl3b3JkVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
UGFyc2VyOjpwYXJzZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VD
dXN0b21Qcm9wZXJ0eURlY2xhcmF0aW9uKToKKyAgICAgICAgQWRkIGNhc2VzIHRvIGNyZWF0ZSBh
IENTU1Vuc2V0VmFsdWUgcHJvcGVybHkuCisKKyAgICAgICAgKiBjc3MvQ1NTVG9TdHlsZU1hcC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NUb1N0eWxlTWFwOjpzdHlsZUltYWdlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1RvU3R5bGVNYXA6Om1hcEZpbGxBdHRhY2htZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1RvU3R5bGVNYXA6Om1hcEZpbGxDbGlwKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1RvU3R5bGVNYXA6Om1hcEZpbGxDb21wb3NpdGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
VG9TdHlsZU1hcDo6bWFwRmlsbEJsZW5kTW9kZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NUb1N0
eWxlTWFwOjptYXBGaWxsT3JpZ2luKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1RvU3R5bGVNYXA6
Om1hcEZpbGxJbWFnZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NUb1N0eWxlTWFwOjptYXBGaWxs
UmVwZWF0WCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NUb1N0eWxlTWFwOjptYXBGaWxsUmVwZWF0
WSk6CisgICAgICAgIChXZWJDb3JlOjpjb252ZXJ0VG9MZW5ndGhTaXplKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1RvU3R5bGVNYXA6Om1hcEZpbGxTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1RvU3R5bGVNYXA6Om1hcEZpbGxYUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVG9T
dHlsZU1hcDo6bWFwRmlsbFlQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpDU1NUb1N0eWxl
TWFwOjptYXBGaWxsTWFza1NvdXJjZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVG9TdHls
ZU1hcDo6bWFwQW5pbWF0aW9uRGVsYXkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVG9TdHlsZU1h
cDo6bWFwQW5pbWF0aW9uRGlyZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1RvU3R5bGVN
YXA6Om1hcEFuaW1hdGlvbkR1cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1RvU3R5bGVN
YXA6Om1hcEFuaW1hdGlvbkZpbGxNb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1RvU3R5bGVN
YXA6Om1hcEFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Rv
U3R5bGVNYXA6Om1hcEFuaW1hdGlvbk5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVG9TdHls
ZU1hcDo6bWFwQW5pbWF0aW9uUGxheVN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1RvU3R5
bGVNYXA6Om1hcEFuaW1hdGlvblByb3BlcnR5KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1RvU3R5
bGVNYXA6Om1hcEFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1RvU3R5bGVNYXA6Om1hcEFuaW1hdGlvblRyaWdnZXIpOgorICAgICAgICBUaGUgYmFja2dyb3Vu
ZCBhbmQgYW5pbWF0aW9uIGZ1bmN0aW9ucyBuZWVkIHRvIGNoZWNrIGZvciB1bnNldCBhbmQgYmUg
YWJsZSB0byBtYXAgaXQgcHJvcGVybHkgdG8gaW5pdGlhbC4gVGhpcyBpcyBkb25lCisgICAgICAg
IHdpdGggYSBuZXcgdHJlYXRBc0luaXRpYWwgbWV0aG9kIG9uIENTU1ZhbHVlIHRoYXQgY2FuIHRh
a2UgdGhlIHByb3BlcnR5IElEIGFuZCBjaGVjayBmb3IgYm90aCBpbml0aWFsCisgICAgICAgIG9y
IHVuc2V0IG9uIGEgbm9uLWluaGVyaXRlZCBwcm9wZXJ0eS4KKworICAgICAgICAqIGNzcy9DU1NV
bnNldFZhbHVlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpDU1NVbnNldFZhbHVlOjpj
dXN0b21DU1NUZXh0KToKKyAgICAgICAgKiBjc3MvQ1NTVW5zZXRWYWx1ZS5oOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkNTU1Vuc2V0VmFsdWU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NVbnNldFZhbHVlOjplcXVhbHMpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVW5zZXRWYWx1
ZTo6Q1NTVW5zZXRWYWx1ZSk6CisgICAgICAgIFRoaXMgbmV3IHZhbHVlIGxvb2tzIGV4YWN0bHkg
bGlrZSBDU1NJbmhlcml0ZWRWYWx1ZSBhbmQgQ1NTSW5pdGlhbFZhbHVlLgorCisgICAgICAgICog
Y3NzL0NTU1ZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjpjc3NWYWx1ZVR5
cGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6OmNzc1RleHQpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTVmFsdWU6OmRlc3Ryb3kpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6Omlz
SW52YWxpZEN1c3RvbVByb3BlcnR5VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTVmFsdWU6
OnRyZWF0QXNJbmhlcml0ZWRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NWYWx1ZTo6dHJl
YXRBc0luaXRpYWxWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1ZhbHVlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NWYWx1ZTo6aXNVbnNldFZhbHVlKToKKyAgICAgICAgQWRkIGlzVW5zZXRWYWx1
ZSBhbmQgdGhlIFVuc2V0Q2xhc3MuIEFkZCBzdXBwb3J0IGZvciB0cmVhdEFzSW5oZXJpdGVkVmFs
dWUgYW5kIHRyZWF0QXNJbml0aWFsVmFsdWUgdG8gaGF2ZQorICAgICAgICBhIHdheSB0byBxdWVy
eSBmb3IgaW5pdGlhbC9pbmhlcml0IG9yIHRoZSBtYXRjaGluZyB1bnNldCB0eXBlLgorCisgICAg
ICAgICogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46CisgICAgICAgIEFkZCB0aGUgdW5zZXQga2V5
d29yZC4KKworICAgICAgICAqIGNzcy9DU1NWYWx1ZVBvb2wuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTVmFsdWVQb29sOjpDU1NWYWx1ZVBvb2wpOgorICAgICAgICAqIGNzcy9DU1NWYWx1ZVBv
b2wuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlUG9vbDo6Y3JlYXRlVW5zZXRWYWx1ZSk6
CisgICAgICAgIEhhdmUgYSBzaW5nbGV0b24gbW9kZWwgZm9yIHVuc2V0IGp1c3QgbGlrZSB3ZSBk
byBmb3IgaW5oZXJpdC9pbml0aWFsLgorCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eSk6CisgICAg
ICAgIEhhbmRsZSB1bnNldCBjb3JyZWN0bHkuIEl0IG1hcHMgdG8gaW5oZXJpdCBmb3IgaW5oZXJp
dGVkIHByb3BlcnRpZXMgYW5kIGluaXRpYWwgZm9yIG5vbi1pbmhlcml0ZWQgb25lcy4KKwogMjAx
NS0xMC0xNSAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFtDb2Nv
YV0gU3RvcCB1c2luZyBXS1NldE5TVVJMQ29ubmVjdGlvbkRlZmVyc0NhbGxiYWNrcwpJbmRleDog
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDE5MTEyOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xMzQ5LDYgKzEzNDksNyBAQCBzZXQoV2Vi
Q29yZV9TT1VSQ0VTCiAgICAgY3NzL0NTU1RvTGVuZ3RoQ29udmVyc2lvbkRhdGEuY3BwCiAgICAg
Y3NzL0NTU1RvU3R5bGVNYXAuY3BwCiAgICAgY3NzL0NTU1VuaWNvZGVSYW5nZVZhbHVlLmNwcAor
ICAgIGNzcy9DU1NVbnNldFZhbHVlLmNwcAogICAgIGNzcy9DU1NWYWx1ZS5jcHAKICAgICBjc3Mv
Q1NTVmFsdWVMaXN0LmNwcAogICAgIGNzcy9DU1NWYWx1ZVBvb2wuY3BwCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lv
biAxOTExMjgpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTI2NDgsOCArMjY0OCw2IEBACiAJCTdDNDhBNkQxMTkx
QzlENjUwMDAyNjY3NCAvKiBXZWJLaXROYW1lc3BhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNDhBNkNGMTkxQzlENjUwMDAyNjY3NCAvKiBXZWJL
aXROYW1lc3BhY2UuaCAqLzsgfTsKIAkJN0M0OTAyQTIxOEI4MjVGODAwN0Q5Mjk4IC8qIERPTVdo
ZWVsRXZlbnRJbnRlcm5hbC5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU5ODlEQ0EwQUNDOEJCRDAwQTBCQzUxIC8qIERPTVdo
ZWVsRXZlbnRJbnRlcm5hbC5oICovOyB9OwogCQk3QzRDOTZEQzFBRDQ0ODM1MDAzNjVBNTAgLyog
SlNSZWFkYWJsZVN0cmVhbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3QzRDOTZEODFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbS5j
cHAgKi87IH07Ci0JCTdDNEM5NkRDMUFENDQ4MzUwMDM2NUE1MSAvKiBSZWFkYWJsZVN0cmVhbUJ1
aWx0aW5zLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdDNEM5NkQ4MUFENDQ4MzUwMDM2NUE1MSAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmNwcCAq
LzsgfTsKLQkJN0M0Qzk2REMxQUQ0NDgzNTAwMzY1QTUyIC8qIENvdW50UXVldWluZ1N0cmF0ZWd5
QnVpbHRpbnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUyIC8qIENvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRp
bnMuY3BwICovOyB9OwogCQk3QzRDOTZERDFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0
cmVhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0
Qzk2RDkxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0uaCAqLzsgfTsKIAkJN0M0
Qzk2REUxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW1SZWFkZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0Qzk2REExQUQ0NDgz
NTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW1SZWFkZXIuY3BwICovOyB9OwogCQk3QzRDOTZE
RjFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbVJlYWRlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0Qzk2REIxQUQ0NDgzNTAwMzY1
QTUwIC8qIEpTUmVhZGFibGVTdHJlYW1SZWFkZXIuaCAqLzsgfTsKQEAgLTU0OTEsNiArNTQ4OSw4
IEBACiAJCUJDNzcyRTE2MTMzMTYyQzIwMDFFQzlDRSAvKiBDU1NMaW5lQm94Q29udGFpblZhbHVl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzcy
RTE1MTMzMTYyQzIwMDFFQzlDRSAvKiBDU1NMaW5lQm94Q29udGFpblZhbHVlLmNwcCAqLzsgfTsK
IAkJQkM3NzlFMTQxQkIyMTVCQjAwQ0FBOEJGIC8qIENTU0N1c3RvbVByb3BlcnR5VmFsdWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNzc5RTEzMUJC
MjE1QkIwMENBQThCRiAvKiBDU1NDdXN0b21Qcm9wZXJ0eVZhbHVlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkM3NzlFMTcxQkIyMjdDQTAwQ0FB
OEJGIC8qIFN0eWxlQ3VzdG9tUHJvcGVydHlEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc3OUUxNTFCQjIyNkEyMDBDQUE4QkYgLyogU3R5bGVD
dXN0b21Qcm9wZXJ0eURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQlCQzdEOEZFRjFCRDAzQjY0MDBGRkU1NDAgLyogQ1NTVW5zZXRWYWx1ZS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzdEOEZF
RDFCRDAzQjY0MDBGRkU1NDAgLyogQ1NTVW5zZXRWYWx1ZS5jcHAgKi87IHNldHRpbmdzID0ge0FT
U0VUX1RBR1MgPSAoKTsgfTsgfTsKKwkJQkM3RDhGRjAxQkQwM0I2NDAwRkZFNTQwIC8qIENTU1Vu
c2V0VmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEJDN0Q4RkVFMUJEMDNCNjQwMEZGRTU0MCAvKiBDU1NVbnNldFZhbHVlLmggKi87IHNldHRpbmdz
ID0ge0FTU0VUX1RBR1MgPSAoKTsgfTsgfTsKIAkJQkM3RjQ0QTgwQjlFMzI0RTAwQTlEMDgxIC8q
IEltYWdlT2JzZXJ2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDN0Y0NEE3MEI5RTMyNEUwMEE5RDA4MSAvKiBJbWFnZU9ic2VydmVyLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkM3RkE2MjAwRDFG
MENCRDAwREIyMkE5IC8qIExpdmVOb2RlTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzdGQTYxRTBEMUYwQ0JEMDBEQjIyQTkgLyogTGl2ZU5v
ZGVMaXN0LmNwcCAqLzsgfTsKIAkJQkM3RkE2MjEwRDFGMENCRDAwREIyMkE5IC8qIExpdmVOb2Rl
TGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3
RkE2MUYwRDFGMENCRDAwREIyMkE5IC8qIExpdmVOb2RlTGlzdC5oICovOyB9OwpAQCAtMTAwOTAs
OCArMTAwOTAsNiBAQAogCQk3QzQ4QTZDRjE5MUM5RDY1MDAwMjY2NzQgLyogV2ViS2l0TmFtZXNw
YWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYktpdE5hbWVzcGFjZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzQ4QTZEMjE5MUM5RDhFMDAwMjY2NzQg
LyogV2ViS2l0TmFtZXNwYWNlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJLaXROYW1lc3BhY2UuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk3QzRDOTZEODFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFk
YWJsZVN0cmVhbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1Jl
YWRhYmxlU3RyZWFtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJN0M0Qzk2RDgx
QUQ0NDgzNTAwMzY1QTUxIC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVhZGFibGVTdHJlYW1CdWlsdGlucy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdDNEM5NkQ4MUFENDQ4MzUwMDM2NUE1MiAvKiBD
b3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk3QzRDOTZEOTFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJs
ZVN0cmVhbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1JlYWRhYmxlU3Ry
ZWFtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNEM5NkRBMUFENDQ4MzUwMDM2
NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtUmVhZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTUmVhZGFibGVTdHJlYW1SZWFkZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3QzRDOTZEQjFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0
cmVhbVJlYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1JlYWRhYmxl
U3RyZWFtUmVhZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzIwMSw2ICsx
MzE5OSw4IEBACiAJCUJDNzc5RTEzMUJCMjE1QkIwMENBQThCRiAvKiBDU1NDdXN0b21Qcm9wZXJ0
eVZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0N1c3RvbVByb3Bl
cnR5VmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM3NzlFMTUxQkIyMjZB
MjAwQ0FBOEJGIC8qIFN0eWxlQ3VzdG9tUHJvcGVydHlEYXRhLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFN0eWxlQ3VzdG9tUHJvcGVydHlEYXRhLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUJDN0IyQUY4MDQ1MDgyNDEwMEE4MDAwRiAvKiBTY3JvbGxiYXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lk
dGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xs
YmFyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAw
OyB9OworCQlCQzdEOEZFRDFCRDAzQjY0MDBGRkU1NDAgLyogQ1NTVW5zZXRWYWx1ZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NVbnNldFZhbHVlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkM3RDhGRUUxQkQwM0I2NDAwRkZFNTQwIC8qIENT
U1Vuc2V0VmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTVW5zZXRW
YWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzdGNDRBNzBCOUUzMjRFMDBB
OUQwODEgLyogSW1hZ2VPYnNlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSW1hZ2VPYnNlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzdGQTYx
RTBEMUYwQ0JEMDBEQjIyQTkgLyogTGl2ZU5vZGVMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IExpdmVOb2RlTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUJDN0ZBNjFGMEQxRjBDQkQwMERCMjJBOSAvKiBMaXZlTm9kZUxpc3QuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGl2ZU5vZGVMaXN0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0yMzA4Niw2ICsyMzA4Niw4IEBACiAJCQkJMzcxRjUzRTcwRDI3
MDRGOTAwRUNFMEQ1IC8qIENTU1VuaWNvZGVSYW5nZVZhbHVlLmggKi8sCiAJCQkJQTgwRTZDQ0Uw
QTE5ODlDQTAwN0ZCOEM1IC8qIENTU1Vua25vd25SdWxlLmggKi8sCiAJCQkJODVDNTZDQUQwQUE4
OUZFMDAwRDk1NzU1IC8qIENTU1Vua25vd25SdWxlLmlkbCAqLywKKwkJCQlCQzdEOEZFRDFCRDAz
QjY0MDBGRkU1NDAgLyogQ1NTVW5zZXRWYWx1ZS5jcHAgKi8sCisJCQkJQkM3RDhGRUUxQkQwM0I2
NDAwRkZFNTQwIC8qIENTU1Vuc2V0VmFsdWUuaCAqLywKIAkJCQlBRDAzQUFGODE0Njg0NTM5MDBB
MzlCNUIgLyogQ1NTVmFsdWUuY3BwICovLAogCQkJCUE4MEU2Q0M0MEExOTg5Q0EwMDdGQjhDNSAv
KiBDU1NWYWx1ZS5oICovLAogCQkJCTE0Q0Y3ODcxMDlGNTg3Q0EwMEVCMzY2NSAvKiBDU1NWYWx1
ZS5pZGwgKi8sCkBAIC0yNzM3NCw2ICsyNzM3Niw3IEBACiAJCQkJQjJBMUYyQUIwQ0VGMEFCRjAw
NDQyRjZBIC8qIFNWR0ZvbnRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0ExNTBE
MDBCRjIyMDA3MUI3ODIgLyogU1ZHRm9udEZhY2VFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCMjIyN0ExODBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQlCQzdEOEZGMDFCRDAzQjY0MDBGRkU1NDAgLyogQ1NTVW5zZXRW
YWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBMUIwRDAwQkYyMjAwNzFCNzgyIC8qIFNW
R0ZvbnRGYWNlTmFtZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QTFFMEQwMEJG
MjIwMDcxQjc4MiAvKiBTVkdGb250RmFjZVNyY0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUIyMjI3QTIxMEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdGb250RmFjZVVyaUVsZW1lbnQuaCBpbiBI
ZWFkZXJzICovLApAQCAtMjkzODIsNiArMjkzODUsNyBAQAogCQkJCTQwOUVCREM1MTZCN0YzQ0Ew
MENCQTNGQyAvKiBKU0NTU0ZvbnRGYWNlTG9hZEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUJDNDZDMUZDMEMwRERDOEYwMDIwQ0ZDMyAvKiBKU0NTU0ZvbnRGYWNlUnVsZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCQzQ2QzFGRTBDMEREQzhGMDAyMENGQzMgLyogSlNDU1NJbXBvcnRSdWxl
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUJDN0Q4RkVGMUJEMDNCNjQwMEZGRTU0MCAvKiBDU1NV
bnNldFZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxNkZFMDcxMEU2Q0NCRUUwMEJGNjA4
OCAvKiBKU0NTU0tleWZyYW1lUnVsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMTZGRTA3MzBF
NkNDQkVFMDBCRjYwODggLyogSlNDU1NLZXlmcmFtZXNSdWxlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUJDNDZDMjAwMEMwRERDOEYwMDIwQ0ZDMyAvKiBKU0NTU01lZGlhUnVsZS5jcHAgaW4gU291
cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQ1NTLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQ1NTLm1tCShyZXZp
c2lvbiAxOTExMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNTUy5tbQko
d29ya2luZyBjb3B5KQpAQCAtMTI0LDYgKzEyNCw3IEBAIENsYXNzIGtpdENsYXNzKFdlYkNvcmU6
OkNTU1ZhbHVlKiBpbXBsKQogICAgICAgICAgICAgcmV0dXJuIFtET01DU1NWYWx1ZUxpc3QgY2xh
c3NdOwogICAgICAgICBjYXNlIFdlYkNvcmU6OkNTU1ZhbHVlOjpDU1NfSU5IRVJJVDoKICAgICAg
ICAgY2FzZSBXZWJDb3JlOjpDU1NWYWx1ZTo6Q1NTX0lOSVRJQUw6CisgICAgICAgIGNhc2UgV2Vi
Q29yZTo6Q1NTVmFsdWU6OkNTU19VTlNFVDoKICAgICAgICAgICAgIHJldHVybiBbRE9NQ1NTVmFs
dWUgY2xhc3NdOwogICAgICAgICBjYXNlIFdlYkNvcmU6OkNTU1ZhbHVlOjpDU1NfQ1VTVE9NOgog
ICAgICAgICAgICAgcmV0dXJuIFtET01DU1NWYWx1ZSBjbGFzc107CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUGFyc2VyLmNwcAkocmV2aXNpb24gMTkxMTI4KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYgKzYyLDcgQEAKICNpbmNsdWRlICJD
U1NTdHlsZVNoZWV0LmgiCiAjaW5jbHVkZSAiQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5oIgogI2lu
Y2x1ZGUgIkNTU1VuaWNvZGVSYW5nZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTVW5zZXRWYWx1ZS5o
IgogI2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIKICNpbmNsdWRlICJDU1NWYWx1ZUxpc3Qu
aCIKICNpbmNsdWRlICJDU1NWYWx1ZVBvb2wuaCIKQEAgLTEyMTYsNiArMTIxNyw4IEBAIHN0YXRp
YyBDU1NQYXJzZXI6OlBhcnNlUmVzdWx0IHBhcnNlS2V5d28KICAgICAgICAgdmFsdWUgPSBDU1NW
YWx1ZVBvb2w6OnNpbmdsZXRvbigpLmNyZWF0ZUluaGVyaXRlZFZhbHVlKCk7CiAgICAgZWxzZSBp
ZiAodmFsdWVJRCA9PSBDU1NWYWx1ZUluaXRpYWwpCiAgICAgICAgIHZhbHVlID0gQ1NTVmFsdWVQ
b29sOjpzaW5nbGV0b24oKS5jcmVhdGVFeHBsaWNpdEluaXRpYWxWYWx1ZSgpOworICAgIGVsc2Ug
aWYgKHZhbHVlSUQgPT0gQ1NTVmFsdWVVbnNldCkKKyAgICAgICAgdmFsdWUgPSBDU1NWYWx1ZVBv
b2w6OnNpbmdsZXRvbigpLmNyZWF0ZVVuc2V0VmFsdWUoKTsKICAgICBlbHNlIGlmIChpc1ZhbGlk
S2V5d29yZFByb3BlcnR5QW5kVmFsdWUocHJvcGVydHlJZCwgdmFsdWVJRCwgcGFyc2VyQ29udGV4
dCwgc3R5bGVTaGVldENvbnRlbnRzKSkKICAgICAgICAgdmFsdWUgPSBDU1NWYWx1ZVBvb2w6OnNp
bmdsZXRvbigpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWx1ZUlEKTsKICAgICBlbHNlCkBAIC0x
OTQ1LDcgKzE5NDgsNyBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VWYWx1ZShDU1NQcm9wZXJ0eUlE
CiAKICAgICBhdXRvJiBjc3NWYWx1ZVBvb2wgPSBDU1NWYWx1ZVBvb2w6OnNpbmdsZXRvbigpOwog
ICAgIHVuc2lnbmVkIG51bSA9IGluU2hvcnRoYW5kKCkgPyAxIDogbV92YWx1ZUxpc3QtPnNpemUo
KTsKLQorICAgIAogICAgIGlmIChpZCA9PSBDU1NWYWx1ZUluaGVyaXQpIHsKICAgICAgICAgaWYg
KG51bSAhPSAxKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTk1Nyw2ICsxOTYwLDEx
IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKENTU1Byb3BlcnR5SUQKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAgICAgYWRkRXhwYW5kZWRQcm9wZXJ0eUZvclZhbHVlKHByb3BJ
ZCwgY3NzVmFsdWVQb29sLmNyZWF0ZUV4cGxpY2l0SW5pdGlhbFZhbHVlKCksIGltcG9ydGFudCk7
CiAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0gZWxzZSBpZiAoaWQgPT0gQ1NTVmFsdWVVbnNl
dCkgeworICAgICAgICBpZiAobnVtICE9IDEpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgIGFkZEV4cGFuZGVkUHJvcGVydHlGb3JWYWx1ZShwcm9wSWQsIGNzc1ZhbHVlUG9vbC5j
cmVhdGVVbnNldFZhbHVlKCksIGltcG9ydGFudCk7CisgICAgICAgIHJldHVybiB0cnVlOwogICAg
IH0KIAogICAgIGlmIChpc0tleXdvcmRQcm9wZXJ0eUlEKHByb3BJZCkpIHsKQEAgLTQyMDAsNiAr
NDIwOCw4IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUN1c3RvbVByb3BlcnR5RGVjbGEKICAgICAg
ICAgdmFsdWUgPSBjc3NWYWx1ZVBvb2wuY3JlYXRlSW5oZXJpdGVkVmFsdWUoKTsKICAgICBlbHNl
IGlmIChpZCA9PSBDU1NWYWx1ZUluaXRpYWwpCiAgICAgICAgIHZhbHVlID0gY3NzVmFsdWVQb29s
LmNyZWF0ZUV4cGxpY2l0SW5pdGlhbFZhbHVlKCk7CisgICAgZWxzZSBpZiAoaWQgPT0gQ1NTVmFs
dWVVbnNldCkKKyAgICAgICAgdmFsdWUgPSBjc3NWYWx1ZVBvb2wuY3JlYXRlVW5zZXRWYWx1ZSgp
OwogICAgIGVsc2UgewogICAgICAgICBSZWZQdHI8Q1NTVmFsdWVMaXN0PiB2YWx1ZUxpc3QgPSBD
U1NWYWx1ZUxpc3Q6OmNyZWF0ZUZyb21QYXJzZXJWYWx1ZUxpc3QoKm1fdmFsdWVMaXN0KTsKICAg
ICAgICAgaWYgKG1fdmFsdWVMaXN0LT5jb250YWluc1ZhcmlhYmxlcygpKQpJbmRleDogU291cmNl
L1dlYkNvcmUvY3NzL0NTU1RvU3R5bGVNYXAuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NUb1N0eWxlTWFwLmNwcAkocmV2aXNpb24gMTkxMTI3KQorKysgU291cmNlL1dl
YkNvcmUvY3NzL0NTU1RvU3R5bGVNYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MSw5ICs3MSw5
IEBAIFJlZlB0cjxTdHlsZUltYWdlPiBDU1NUb1N0eWxlTWFwOjpzdHlsZUkKICAgICByZXR1cm4g
bV9yZXNvbHZlci0+c3R5bGVJbWFnZShwcm9wZXJ0eUlkLCB2YWx1ZSk7CiB9CiAKLXZvaWQgQ1NT
VG9TdHlsZU1hcDo6bWFwRmlsbEF0dGFjaG1lbnQoQ1NTUHJvcGVydHlJRCwgRmlsbExheWVyJiBs
YXllciwgY29uc3QgQ1NTVmFsdWUmIHZhbHVlKQordm9pZCBDU1NUb1N0eWxlTWFwOjptYXBGaWxs
QXR0YWNobWVudChDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQsIEZpbGxMYXllciYgbGF5ZXIsIGNv
bnN0IENTU1ZhbHVlJiB2YWx1ZSkKIHsKLSAgICBpZiAodmFsdWUuaXNJbml0aWFsVmFsdWUoKSkg
eworICAgIGlmICh2YWx1ZS50cmVhdEFzSW5pdGlhbFZhbHVlKHByb3BlcnR5SUQpKSB7CiAgICAg
ICAgIGxheWVyLnNldEF0dGFjaG1lbnQoRmlsbExheWVyOjppbml0aWFsRmlsbEF0dGFjaG1lbnQo
bGF5ZXIudHlwZSgpKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC05Niw5ICs5Niw5IEBA
IHZvaWQgQ1NTVG9TdHlsZU1hcDo6bWFwRmlsbEF0dGFjaG1lbnQoQ1MKICAgICB9CiB9CiAKLXZv
aWQgQ1NTVG9TdHlsZU1hcDo6bWFwRmlsbENsaXAoQ1NTUHJvcGVydHlJRCwgRmlsbExheWVyJiBs
YXllciwgY29uc3QgQ1NTVmFsdWUmIHZhbHVlKQordm9pZCBDU1NUb1N0eWxlTWFwOjptYXBGaWxs
Q2xpcChDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQsIEZpbGxMYXllciYgbGF5ZXIsIGNvbnN0IENT
U1ZhbHVlJiB2YWx1ZSkKIHsKLSAgICBpZiAodmFsdWUuaXNJbml0aWFsVmFsdWUoKSkgeworICAg
IGlmICh2YWx1ZS50cmVhdEFzSW5pdGlhbFZhbHVlKHByb3BlcnR5SUQpKSB7CiAgICAgICAgIGxh
eWVyLnNldENsaXAoRmlsbExheWVyOjppbml0aWFsRmlsbENsaXAobGF5ZXIudHlwZSgpKSk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CkBAIC0xMDksOSArMTA5LDkgQEAgdm9pZCBDU1NUb1N0eWxl
TWFwOjptYXBGaWxsQ2xpcChDU1NQcm9wZQogICAgIGxheWVyLnNldENsaXAoZG93bmNhc3Q8Q1NT
UHJpbWl0aXZlVmFsdWU+KHZhbHVlKSk7CiB9CiAKLXZvaWQgQ1NTVG9TdHlsZU1hcDo6bWFwRmls
bENvbXBvc2l0ZShDU1NQcm9wZXJ0eUlELCBGaWxsTGF5ZXImIGxheWVyLCBjb25zdCBDU1NWYWx1
ZSYgdmFsdWUpCit2b2lkIENTU1RvU3R5bGVNYXA6Om1hcEZpbGxDb21wb3NpdGUoQ1NTUHJvcGVy
dHlJRCBwcm9wZXJ0eUlELCBGaWxsTGF5ZXImIGxheWVyLCBjb25zdCBDU1NWYWx1ZSYgdmFsdWUp
CiB7Ci0gICAgaWYgKHZhbHVlLmlzSW5pdGlhbFZhbHVlKCkpIHsKKyAgICBpZiAodmFsdWUudHJl
YXRBc0luaXRpYWxWYWx1ZShwcm9wZXJ0eUlEKSkgewogICAgICAgICBsYXllci5zZXRDb21wb3Np
dGUoRmlsbExheWVyOjppbml0aWFsRmlsbENvbXBvc2l0ZShsYXllci50eXBlKCkpKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KQEAgLTEyMiw5ICsxMjIsOSBAQCB2b2lkIENTU1RvU3R5bGVNYXA6
Om1hcEZpbGxDb21wb3NpdGUoQ1NTCiAgICAgbGF5ZXIuc2V0Q29tcG9zaXRlKGRvd25jYXN0PENT
U1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkpOwogfQogCi12b2lkIENTU1RvU3R5bGVNYXA6Om1hcEZp
bGxCbGVuZE1vZGUoQ1NTUHJvcGVydHlJRCwgRmlsbExheWVyJiBsYXllciwgY29uc3QgQ1NTVmFs
dWUmIHZhbHVlKQordm9pZCBDU1NUb1N0eWxlTWFwOjptYXBGaWxsQmxlbmRNb2RlKENTU1Byb3Bl
cnR5SUQgcHJvcGVydHlJRCwgRmlsbExheWVyJiBsYXllciwgY29uc3QgQ1NTVmFsdWUmIHZhbHVl
KQogewotICAgIGlmICh2YWx1ZS5pc0luaXRpYWxWYWx1ZSgpKSB7CisgICAgaWYgKHZhbHVlLnRy
ZWF0QXNJbml0aWFsVmFsdWUocHJvcGVydHlJRCkpIHsKICAgICAgICAgbGF5ZXIuc2V0QmxlbmRN
b2RlKEZpbGxMYXllcjo6aW5pdGlhbEZpbGxCbGVuZE1vZGUobGF5ZXIudHlwZSgpKSk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CkBAIC0xMzUsOSArMTM1LDkgQEAgdm9pZCBDU1NUb1N0eWxlTWFw
OjptYXBGaWxsQmxlbmRNb2RlKENTUwogICAgIGxheWVyLnNldEJsZW5kTW9kZShkb3duY2FzdDxD
U1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpKTsKIH0KIAotdm9pZCBDU1NUb1N0eWxlTWFwOjptYXBG
aWxsT3JpZ2luKENTU1Byb3BlcnR5SUQsIEZpbGxMYXllciYgbGF5ZXIsIGNvbnN0IENTU1ZhbHVl
JiB2YWx1ZSkKK3ZvaWQgQ1NTVG9TdHlsZU1hcDo6bWFwRmlsbE9yaWdpbihDU1NQcm9wZXJ0eUlE
IHByb3BlcnR5SUQsIEZpbGxMYXllciYgbGF5ZXIsIGNvbnN0IENTU1ZhbHVlJiB2YWx1ZSkKIHsK
LSAgICBpZiAodmFsdWUuaXNJbml0aWFsVmFsdWUoKSkgeworICAgIGlmICh2YWx1ZS50cmVhdEFz
SW5pdGlhbFZhbHVlKHByb3BlcnR5SUQpKSB7CiAgICAgICAgIGxheWVyLnNldE9yaWdpbihGaWxs
TGF5ZXI6OmluaXRpYWxGaWxsT3JpZ2luKGxheWVyLnR5cGUoKSkpOwogICAgICAgICByZXR1cm47
CiAgICAgfQpAQCAtMTQ4LDE5ICsxNDgsMTkgQEAgdm9pZCBDU1NUb1N0eWxlTWFwOjptYXBGaWxs
T3JpZ2luKENTU1BybwogICAgIGxheWVyLnNldE9yaWdpbihkb3duY2FzdDxDU1NQcmltaXRpdmVW
YWx1ZT4odmFsdWUpKTsKIH0KIAotdm9pZCBDU1NUb1N0eWxlTWFwOjptYXBGaWxsSW1hZ2UoQ1NT
UHJvcGVydHlJRCBwcm9wZXJ0eSwgRmlsbExheWVyJiBsYXllciwgQ1NTVmFsdWUmIHZhbHVlKQor
dm9pZCBDU1NUb1N0eWxlTWFwOjptYXBGaWxsSW1hZ2UoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlE
LCBGaWxsTGF5ZXImIGxheWVyLCBDU1NWYWx1ZSYgdmFsdWUpCiB7Ci0gICAgaWYgKHZhbHVlLmlz
SW5pdGlhbFZhbHVlKCkpIHsKKyAgICBpZiAodmFsdWUudHJlYXRBc0luaXRpYWxWYWx1ZShwcm9w
ZXJ0eUlEKSkgewogICAgICAgICBsYXllci5zZXRJbWFnZShGaWxsTGF5ZXI6OmluaXRpYWxGaWxs
SW1hZ2UobGF5ZXIudHlwZSgpKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBsYXll
ci5zZXRJbWFnZShzdHlsZUltYWdlKHByb3BlcnR5LCB2YWx1ZSkpOworICAgIGxheWVyLnNldElt
YWdlKHN0eWxlSW1hZ2UocHJvcGVydHlJRCwgdmFsdWUpKTsKIH0KIAotdm9pZCBDU1NUb1N0eWxl
TWFwOjptYXBGaWxsUmVwZWF0WChDU1NQcm9wZXJ0eUlELCBGaWxsTGF5ZXImIGxheWVyLCBjb25z
dCBDU1NWYWx1ZSYgdmFsdWUpCit2b2lkIENTU1RvU3R5bGVNYXA6Om1hcEZpbGxSZXBlYXRYKENT
U1Byb3BlcnR5SUQgcHJvcGVydHlJRCwgRmlsbExheWVyJiBsYXllciwgY29uc3QgQ1NTVmFsdWUm
IHZhbHVlKQogewotICAgIGlmICh2YWx1ZS5pc0luaXRpYWxWYWx1ZSgpKSB7CisgICAgaWYgKHZh
bHVlLnRyZWF0QXNJbml0aWFsVmFsdWUocHJvcGVydHlJRCkpIHsKICAgICAgICAgbGF5ZXIuc2V0
UmVwZWF0WChGaWxsTGF5ZXI6OmluaXRpYWxGaWxsUmVwZWF0WChsYXllci50eXBlKCkpKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTE3MSw5ICsxNzEsOSBAQCB2b2lkIENTU1RvU3R5bGVN
YXA6Om1hcEZpbGxSZXBlYXRYKENTU1ByCiAgICAgbGF5ZXIuc2V0UmVwZWF0WChkb3duY2FzdDxD
U1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpKTsKIH0KIAotdm9pZCBDU1NUb1N0eWxlTWFwOjptYXBG
aWxsUmVwZWF0WShDU1NQcm9wZXJ0eUlELCBGaWxsTGF5ZXImIGxheWVyLCBjb25zdCBDU1NWYWx1
ZSYgdmFsdWUpCit2b2lkIENTU1RvU3R5bGVNYXA6Om1hcEZpbGxSZXBlYXRZKENTU1Byb3BlcnR5
SUQgcHJvcGVydHlJRCwgRmlsbExheWVyJiBsYXllciwgY29uc3QgQ1NTVmFsdWUmIHZhbHVlKQog
ewotICAgIGlmICh2YWx1ZS5pc0luaXRpYWxWYWx1ZSgpKSB7CisgICAgaWYgKHZhbHVlLnRyZWF0
QXNJbml0aWFsVmFsdWUocHJvcGVydHlJRCkpIHsKICAgICAgICAgbGF5ZXIuc2V0UmVwZWF0WShG
aWxsTGF5ZXI6OmluaXRpYWxGaWxsUmVwZWF0WShsYXllci50eXBlKCkpKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KQEAgLTE5NSw5ICsxOTUsOSBAQCBzdGF0aWMgaW5saW5lIGJvb2wgY29udmVy
dFRvTGVuZ3RoU2l6ZShjCiAgICAgcmV0dXJuICFzaXplLndpZHRoKCkuaXNVbmRlZmluZWQoKSAm
JiAhc2l6ZS5oZWlnaHQoKS5pc1VuZGVmaW5lZCgpOwogfQogCi12b2lkIENTU1RvU3R5bGVNYXA6
Om1hcEZpbGxTaXplKENTU1Byb3BlcnR5SUQsIEZpbGxMYXllciYgbGF5ZXIsIGNvbnN0IENTU1Zh
bHVlJiB2YWx1ZSkKK3ZvaWQgQ1NTVG9TdHlsZU1hcDo6bWFwRmlsbFNpemUoQ1NTUHJvcGVydHlJ
RCBwcm9wZXJ0eUlELCBGaWxsTGF5ZXImIGxheWVyLCBjb25zdCBDU1NWYWx1ZSYgdmFsdWUpCiB7
Ci0gICAgaWYgKHZhbHVlLmlzSW5pdGlhbFZhbHVlKCkpIHsKKyAgICBpZiAodmFsdWUudHJlYXRB
c0luaXRpYWxWYWx1ZShwcm9wZXJ0eUlEKSkgewogICAgICAgICBsYXllci5zZXRTaXplKEZpbGxM
YXllcjo6aW5pdGlhbEZpbGxTaXplKGxheWVyLnR5cGUoKSkpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQpAQCAtMjI1LDcgKzIyNSw3IEBAIHZvaWQgQ1NTVG9TdHlsZU1hcDo6bWFwRmlsbFNpemUo
Q1NTUHJvcGUKIAogdm9pZCBDU1NUb1N0eWxlTWFwOjptYXBGaWxsWFBvc2l0aW9uKENTU1Byb3Bl
cnR5SUQgcHJvcGVydHlJRCwgRmlsbExheWVyJiBsYXllciwgY29uc3QgQ1NTVmFsdWUmIHZhbHVl
KQogewotICAgIGlmICh2YWx1ZS5pc0luaXRpYWxWYWx1ZSgpKSB7CisgICAgaWYgKHZhbHVlLnRy
ZWF0QXNJbml0aWFsVmFsdWUocHJvcGVydHlJRCkpIHsKICAgICAgICAgbGF5ZXIuc2V0WFBvc2l0
aW9uKEZpbGxMYXllcjo6aW5pdGlhbEZpbGxYUG9zaXRpb24obGF5ZXIudHlwZSgpKSk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CkBAIC0yNTcsNyArMjU3LDcgQEAgdm9pZCBDU1NUb1N0eWxlTWFw
OjptYXBGaWxsWFBvc2l0aW9uKENTUwogCiB2b2lkIENTU1RvU3R5bGVNYXA6Om1hcEZpbGxZUG9z
aXRpb24oQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlELCBGaWxsTGF5ZXImIGxheWVyLCBjb25zdCBD
U1NWYWx1ZSYgdmFsdWUpCiB7Ci0gICAgaWYgKHZhbHVlLmlzSW5pdGlhbFZhbHVlKCkpIHsKKyAg
ICBpZiAodmFsdWUudHJlYXRBc0luaXRpYWxWYWx1ZShwcm9wZXJ0eUlEKSkgewogICAgICAgICBs
YXllci5zZXRZUG9zaXRpb24oRmlsbExheWVyOjppbml0aWFsRmlsbFlQb3NpdGlvbihsYXllci50
eXBlKCkpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTI4NywxMCArMjg3LDEwIEBAIHZv
aWQgQ1NTVG9TdHlsZU1hcDo6bWFwRmlsbFlQb3NpdGlvbihDU1MKICAgICAgICAgbGF5ZXIuc2V0
QmFja2dyb3VuZFlPcmlnaW4oKnBhaXItPmZpcnN0KCkpOwogfQogCi12b2lkIENTU1RvU3R5bGVN
YXA6Om1hcEZpbGxNYXNrU291cmNlVHlwZShDU1NQcm9wZXJ0eUlELCBGaWxsTGF5ZXImIGxheWVy
LCBjb25zdCBDU1NWYWx1ZSYgdmFsdWUpCit2b2lkIENTU1RvU3R5bGVNYXA6Om1hcEZpbGxNYXNr
U291cmNlVHlwZShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQsIEZpbGxMYXllciYgbGF5ZXIsIGNv
bnN0IENTU1ZhbHVlJiB2YWx1ZSkKIHsKICAgICBFTWFza1NvdXJjZVR5cGUgdHlwZSA9IEZpbGxM
YXllcjo6aW5pdGlhbEZpbGxNYXNrU291cmNlVHlwZShsYXllci50eXBlKCkpOwotICAgIGlmICh2
YWx1ZS5pc0luaXRpYWxWYWx1ZSgpKSB7CisgICAgaWYgKHZhbHVlLnRyZWF0QXNJbml0aWFsVmFs
dWUocHJvcGVydHlJRCkpIHsKICAgICAgICAgbGF5ZXIuc2V0TWFza1NvdXJjZVR5cGUodHlwZSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0zMTYsNyArMzE2LDcgQEAgdm9pZCBDU1NUb1N0
eWxlTWFwOjptYXBGaWxsTWFza1NvdXJjZVR5cAogCiB2b2lkIENTU1RvU3R5bGVNYXA6Om1hcEFu
aW1hdGlvbkRlbGF5KEFuaW1hdGlvbiYgYW5pbWF0aW9uLCBjb25zdCBDU1NWYWx1ZSYgdmFsdWUp
CiB7Ci0gICAgaWYgKHZhbHVlLmlzSW5pdGlhbFZhbHVlKCkpIHsKKyAgICBpZiAodmFsdWUudHJl
YXRBc0luaXRpYWxWYWx1ZShDU1NQcm9wZXJ0eVdlYmtpdEFuaW1hdGlvbkRlbGF5KSkgewogICAg
ICAgICBhbmltYXRpb24uc2V0RGVsYXkoQW5pbWF0aW9uOjppbml0aWFsRGVsYXkoKSk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CkBAIC0zMjksNyArMzI5LDcgQEAgdm9pZCBDU1NUb1N0eWxlTWFw
OjptYXBBbmltYXRpb25EZWxheShBbgogCiB2b2lkIENTU1RvU3R5bGVNYXA6Om1hcEFuaW1hdGlv
bkRpcmVjdGlvbihBbmltYXRpb24mIGxheWVyLCBjb25zdCBDU1NWYWx1ZSYgdmFsdWUpCiB7Ci0g
ICAgaWYgKHZhbHVlLmlzSW5pdGlhbFZhbHVlKCkpIHsKKyAgICBpZiAodmFsdWUudHJlYXRBc0lu
aXRpYWxWYWx1ZShDU1NQcm9wZXJ0eVdlYmtpdEFuaW1hdGlvbkRpcmVjdGlvbikpIHsKICAgICAg
ICAgbGF5ZXIuc2V0RGlyZWN0aW9uKEFuaW1hdGlvbjo6aW5pdGlhbERpcmVjdGlvbigpKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTM1Nyw3ICszNTcsNyBAQCB2b2lkIENTU1RvU3R5bGVN
YXA6Om1hcEFuaW1hdGlvbkRpcmVjdGlvCiAKIHZvaWQgQ1NTVG9TdHlsZU1hcDo6bWFwQW5pbWF0
aW9uRHVyYXRpb24oQW5pbWF0aW9uJiBhbmltYXRpb24sIGNvbnN0IENTU1ZhbHVlJiB2YWx1ZSkK
IHsKLSAgICBpZiAodmFsdWUuaXNJbml0aWFsVmFsdWUoKSkgeworICAgIGlmICh2YWx1ZS50cmVh
dEFzSW5pdGlhbFZhbHVlKENTU1Byb3BlcnR5V2Via2l0QW5pbWF0aW9uRHVyYXRpb24pKSB7CiAg
ICAgICAgIGFuaW1hdGlvbi5zZXREdXJhdGlvbihBbmltYXRpb246OmluaXRpYWxEdXJhdGlvbigp
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTM3MCw3ICszNzAsNyBAQCB2b2lkIENTU1Rv
U3R5bGVNYXA6Om1hcEFuaW1hdGlvbkR1cmF0aW9uCiAKIHZvaWQgQ1NTVG9TdHlsZU1hcDo6bWFw
QW5pbWF0aW9uRmlsbE1vZGUoQW5pbWF0aW9uJiBsYXllciwgY29uc3QgQ1NTVmFsdWUmIHZhbHVl
KQogewotICAgIGlmICh2YWx1ZS5pc0luaXRpYWxWYWx1ZSgpKSB7CisgICAgaWYgKHZhbHVlLnRy
ZWF0QXNJbml0aWFsVmFsdWUoQ1NTUHJvcGVydHlXZWJraXRBbmltYXRpb25GaWxsTW9kZSkpIHsK
ICAgICAgICAgbGF5ZXIuc2V0RmlsbE1vZGUoQW5pbWF0aW9uOjppbml0aWFsRmlsbE1vZGUoKSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0zOTgsNyArMzk4LDcgQEAgdm9pZCBDU1NUb1N0
eWxlTWFwOjptYXBBbmltYXRpb25GaWxsTW9kZQogCiB2b2lkIENTU1RvU3R5bGVNYXA6Om1hcEFu
aW1hdGlvbkl0ZXJhdGlvbkNvdW50KEFuaW1hdGlvbiYgYW5pbWF0aW9uLCBjb25zdCBDU1NWYWx1
ZSYgdmFsdWUpCiB7Ci0gICAgaWYgKHZhbHVlLmlzSW5pdGlhbFZhbHVlKCkpIHsKKyAgICBpZiAo
dmFsdWUudHJlYXRBc0luaXRpYWxWYWx1ZShDU1NQcm9wZXJ0eVdlYmtpdEFuaW1hdGlvbkl0ZXJh
dGlvbkNvdW50KSkgewogICAgICAgICBhbmltYXRpb24uc2V0SXRlcmF0aW9uQ291bnQoQW5pbWF0
aW9uOjppbml0aWFsSXRlcmF0aW9uQ291bnQoKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBA
IC00MTUsNyArNDE1LDcgQEAgdm9pZCBDU1NUb1N0eWxlTWFwOjptYXBBbmltYXRpb25JdGVyYXRp
bwogCiB2b2lkIENTU1RvU3R5bGVNYXA6Om1hcEFuaW1hdGlvbk5hbWUoQW5pbWF0aW9uJiBsYXll
ciwgY29uc3QgQ1NTVmFsdWUmIHZhbHVlKQogewotICAgIGlmICh2YWx1ZS5pc0luaXRpYWxWYWx1
ZSgpKSB7CisgICAgaWYgKHZhbHVlLnRyZWF0QXNJbml0aWFsVmFsdWUoQ1NTUHJvcGVydHlXZWJr
aXRBbmltYXRpb25OYW1lKSkgewogICAgICAgICBsYXllci5zZXROYW1lKEFuaW1hdGlvbjo6aW5p
dGlhbE5hbWUoKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC00MzIsNyArNDMyLDcgQEAg
dm9pZCBDU1NUb1N0eWxlTWFwOjptYXBBbmltYXRpb25OYW1lKEFuaQogCiB2b2lkIENTU1RvU3R5
bGVNYXA6Om1hcEFuaW1hdGlvblBsYXlTdGF0ZShBbmltYXRpb24mIGxheWVyLCBjb25zdCBDU1NW
YWx1ZSYgdmFsdWUpCiB7Ci0gICAgaWYgKHZhbHVlLmlzSW5pdGlhbFZhbHVlKCkpIHsKKyAgICBp
ZiAodmFsdWUudHJlYXRBc0luaXRpYWxWYWx1ZShDU1NQcm9wZXJ0eVdlYmtpdEFuaW1hdGlvblBs
YXlTdGF0ZSkpIHsKICAgICAgICAgbGF5ZXIuc2V0UGxheVN0YXRlKEFuaW1hdGlvbjo6aW5pdGlh
bFBsYXlTdGF0ZSgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTQ0Niw3ICs0NDYsNyBA
QCB2b2lkIENTU1RvU3R5bGVNYXA6Om1hcEFuaW1hdGlvblBsYXlTdGF0CiAKIHZvaWQgQ1NTVG9T
dHlsZU1hcDo6bWFwQW5pbWF0aW9uUHJvcGVydHkoQW5pbWF0aW9uJiBhbmltYXRpb24sIGNvbnN0
IENTU1ZhbHVlJiB2YWx1ZSkKIHsKLSAgICBpZiAodmFsdWUuaXNJbml0aWFsVmFsdWUoKSkgewor
ICAgIGlmICh2YWx1ZS50cmVhdEFzSW5pdGlhbFZhbHVlKENTU1Byb3BlcnR5V2Via2l0QW5pbWF0
aW9uKSkgewogICAgICAgICBhbmltYXRpb24uc2V0QW5pbWF0aW9uTW9kZShBbmltYXRpb246OkFu
aW1hdGVBbGwpOwogICAgICAgICBhbmltYXRpb24uc2V0UHJvcGVydHkoQ1NTUHJvcGVydHlJbnZh
bGlkKTsKICAgICAgICAgcmV0dXJuOwpAQCAtNDcwLDcgKzQ3MCw3IEBAIHZvaWQgQ1NTVG9TdHls
ZU1hcDo6bWFwQW5pbWF0aW9uUHJvcGVydHkKIAogdm9pZCBDU1NUb1N0eWxlTWFwOjptYXBBbmlt
YXRpb25UaW1pbmdGdW5jdGlvbihBbmltYXRpb24mIGFuaW1hdGlvbiwgY29uc3QgQ1NTVmFsdWUm
IHZhbHVlKQogewotICAgIGlmICh2YWx1ZS5pc0luaXRpYWxWYWx1ZSgpKSB7CisgICAgaWYgKHZh
bHVlLnRyZWF0QXNJbml0aWFsVmFsdWUoQ1NTUHJvcGVydHlXZWJraXRBbmltYXRpb25UaW1pbmdG
dW5jdGlvbikpIHsKICAgICAgICAgYW5pbWF0aW9uLnNldFRpbWluZ0Z1bmN0aW9uKEFuaW1hdGlv
bjo6aW5pdGlhbFRpbWluZ0Z1bmN0aW9uKCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAt
NTE2LDcgKzUxNiw3IEBAIHZvaWQgQ1NTVG9TdHlsZU1hcDo6bWFwQW5pbWF0aW9uVGltaW5nRnUK
ICNpZiBFTkFCTEUoQ1NTX0FOSU1BVElPTlNfTEVWRUxfMikKIHZvaWQgQ1NTVG9TdHlsZU1hcDo6
bWFwQW5pbWF0aW9uVHJpZ2dlcihBbmltYXRpb24mIGFuaW1hdGlvbiwgY29uc3QgQ1NTVmFsdWUm
IHZhbHVlKQogewotICAgIGlmICh2YWx1ZS5pc0luaXRpYWxWYWx1ZSgpKSB7CisgICAgaWYgKHZh
bHVlLnRyZWF0QXNJbml0aWFsVmFsdWUoQ1NTUHJvcGVydHlXZWJraXRBbmltYXRpb25UcmlnZ2Vy
KSkgewogICAgICAgICBhbmltYXRpb24uc2V0VHJpZ2dlcihBbmltYXRpb246OmluaXRpYWxUcmln
Z2VyKCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Vuc2V0VmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NV
bnNldFZhbHVlLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NVbnNl
dFZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMyIEBACisvKioKKyAqIENvcHly
aWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJDU1NVbnNldFZhbHVlLmgiCisKKyNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitTdHJpbmcgQ1NTVW5zZXRW
YWx1ZTo6Y3VzdG9tQ1NTVGV4dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgi
dW5zZXQiKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNv
cmUvY3NzL0NTU1Vuc2V0VmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTVW5zZXRWYWx1ZS5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1Vu
c2V0VmFsdWUuaAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDUwIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICog
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh
aWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBDU1NV
bnNldFZhbHVlX2gKKyNkZWZpbmUgQ1NTVW5zZXRWYWx1ZV9oCisKKyNpbmNsdWRlICJDU1NWYWx1
ZS5oIgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgQ1NTVW5zZXRWYWx1ZSA6IHB1YmxpYyBDU1NWYWx1ZSB7CitwdWJsaWM6CisgICAg
c3RhdGljIFJlZjxDU1NVbnNldFZhbHVlPiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgQ1NTVW5zZXRWYWx1ZSk7CisgICAgfQorCisgICAgU3RyaW5nIGN1c3Rv
bUNTU1RleHQoKSBjb25zdDsKKworICAgIGJvb2wgZXF1YWxzKGNvbnN0IENTU1Vuc2V0VmFsdWUm
KSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisKK3ByaXZhdGU6CisgICAgQ1NTVW5zZXRWYWx1ZSgp
CisgICAgICAgIDogQ1NTVmFsdWUoVW5zZXRDbGFzcykKKyAgICB7CisgICAgfQorfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NTU19WQUxVRShD
U1NVbnNldFZhbHVlLCBpc1Vuc2V0VmFsdWUoKSkKKworI2VuZGlmIC8vIENTU1Vuc2V0VmFsdWVf
aApJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCShyZXZpc2lvbiAxOTExMjgpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCwxMCArNTAs
MTIgQEAKICNpbmNsdWRlICJDU1NMaW5lQm94Q29udGFpblZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NT
TmFtZWRJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKKyNpbmNs
dWRlICJDU1NQcm9wZXJ0eS5oIgogI2luY2x1ZGUgIkNTU1JlZmxlY3RWYWx1ZS5oIgogI2luY2x1
ZGUgIkNTU1NoYWRvd1ZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5o
IgogI2luY2x1ZGUgIkNTU1VuaWNvZGVSYW5nZVZhbHVlLmgiCisjaW5jbHVkZSAiQ1NTVW5zZXRW
YWx1ZS5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlTGlzdC5oIgogI2luY2x1ZGUgIkNTU1ZhcmlhYmxl
RGVwZW5kZW50VmFsdWUuaCIKICNpbmNsdWRlICJDU1NWYXJpYWJsZVZhbHVlLmgiCkBAIC0xMTAs
NiArMTEyLDggQEAgQ1NTVmFsdWU6OlR5cGUgQ1NTVmFsdWU6OmNzc1ZhbHVlVHlwZSgpIAogICAg
ICAgICByZXR1cm4gQ1NTX1ZBTFVFX0xJU1Q7CiAgICAgaWYgKGlzSW5pdGlhbFZhbHVlKCkpCiAg
ICAgICAgIHJldHVybiBDU1NfSU5JVElBTDsKKyAgICBpZiAoaXNVbnNldFZhbHVlKCkpCisgICAg
ICAgIHJldHVybiBDU1NfVU5TRVQ7CiAgICAgcmV0dXJuIENTU19DVVNUT007CiB9CiAKQEAgLTI5
Nyw2ICszMDEsOCBAQCBTdHJpbmcgQ1NTVmFsdWU6OmNzc1RleHQoKSBjb25zdAogICAgICAgICBy
ZXR1cm4gZG93bmNhc3Q8Q1NTSW5oZXJpdGVkVmFsdWU+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7
CiAgICAgY2FzZSBJbml0aWFsQ2xhc3M6CiAgICAgICAgIHJldHVybiBkb3duY2FzdDxDU1NJbml0
aWFsVmFsdWU+KCp0aGlzKS5jdXN0b21DU1NUZXh0KCk7CisgICAgY2FzZSBVbnNldENsYXNzOgor
ICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTVW5zZXRWYWx1ZT4oKnRoaXMpLmN1c3RvbUNTU1Rl
eHQoKTsKICNpZiBFTkFCTEUoQ1NTX0dSSURfTEFZT1VUKQogICAgIGNhc2UgR3JpZExpbmVOYW1l
c0NsYXNzOgogICAgICAgICByZXR1cm4gZG93bmNhc3Q8Q1NTR3JpZExpbmVOYW1lc1ZhbHVlPigq
dGhpcykuY3VzdG9tQ1NTVGV4dCgpOwpAQCAtNDA2LDYgKzQxMiw5IEBAIHZvaWQgQ1NTVmFsdWU6
OmRlc3Ryb3koKQogICAgIGNhc2UgSW5pdGlhbENsYXNzOgogICAgICAgICBkZWxldGUgZG93bmNh
c3Q8Q1NTSW5pdGlhbFZhbHVlPih0aGlzKTsKICAgICAgICAgcmV0dXJuOworICAgIGNhc2UgVW5z
ZXRDbGFzczoKKyAgICAgICAgZGVsZXRlIGRvd25jYXN0PENTU1Vuc2V0VmFsdWU+KHRoaXMpOwor
ICAgICAgICByZXR1cm47CiAjaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKICAgICBjYXNlIEdy
aWRMaW5lTmFtZXNDbGFzczoKICAgICAgICAgZGVsZXRlIGRvd25jYXN0PENTU0dyaWRMaW5lTmFt
ZXNWYWx1ZT4odGhpcyk7CkBAIC01MTUsNCArNTI0LDE0IEBAIGJvb2wgQ1NTVmFsdWU6OmlzSW52
YWxpZEN1c3RvbVByb3BlcnR5VmEKICAgICByZXR1cm4gaXNDdXN0b21Qcm9wZXJ0eVZhbHVlKCkg
JiYgZG93bmNhc3Q8Q1NTQ3VzdG9tUHJvcGVydHlWYWx1ZT4oKnRoaXMpLmlzSW52YWxpZCgpOwog
fQogCitib29sIENTU1ZhbHVlOjp0cmVhdEFzSW5oZXJpdGVkVmFsdWUoQ1NTUHJvcGVydHlJRCBw
cm9wZXJ0eUlEKSBjb25zdAoreworICAgIHJldHVybiBjbGFzc1R5cGUoKSA9PSBJbmhlcml0ZWRD
bGFzcyB8fCAoY2xhc3NUeXBlKCkgPT0gVW5zZXRDbGFzcyAmJiBDU1NQcm9wZXJ0eTo6aXNJbmhl
cml0ZWRQcm9wZXJ0eShwcm9wZXJ0eUlEKSk7Cit9CisKK2Jvb2wgQ1NTVmFsdWU6OnRyZWF0QXNJ
bml0aWFsVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEKSBjb25zdAoreworICAgIHJldHVy
biBjbGFzc1R5cGUoKSA9PSBJbml0aWFsQ2xhc3MgfHwgKGNsYXNzVHlwZSgpID09IFVuc2V0Q2xh
c3MgJiYgIUNTU1Byb3BlcnR5Ojppc0luaGVyaXRlZFByb3BlcnR5KHByb3BlcnR5SUQpKTsKK30K
KwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgJKHJldmlzaW9uIDE5MTEyOCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2FjaGVkUmVzb3VyY2U7CiBjbGFzcyBTdHls
ZVNoZWV0Q29udGVudHM7Ci0gICAgCitlbnVtIENTU1Byb3BlcnR5SUQgOiB1aW50MTZfdDsKKwog
Ly8gRklYTUU6IFRoZSBjdXJyZW50IENTU1ZhbHVlIGFuZCBzdWJjbGFzc2VzIHNob3VsZCBiZSB0
dXJuZWQgaW50byBpbnRlcm5hbCB0eXBlcyAoU3R5bGVWYWx1ZSkuCiAvLyBUaGUgZmV3IHN1YnR5
cGVzIHRoYXQgYXJlIGFjdHVhbGx5IGV4cG9zZWQgaW4gQ1NTT00gY2FuIGJlIHNlZW4gaW4gdGhl
IGNsb25lRm9yQ1NTT00oKSBmdW5jdGlvbi4KIC8vIFRoZXkgc2hvdWxkIGJlIGhhbmRsZWQgYnkg
c2VwYXJhdGUgd3JhcHBlciBjbGFzc2VzLgpAQCAtNDUsOCArNDYsOCBAQCBwdWJsaWM6CiAgICAg
ICAgIENTU19QUklNSVRJVkVfVkFMVUUgPSAxLAogICAgICAgICBDU1NfVkFMVUVfTElTVCA9IDIs
CiAgICAgICAgIENTU19DVVNUT00gPSAzLAotICAgICAgICBDU1NfSU5JVElBTCA9IDQKLQorICAg
ICAgICBDU1NfSU5JVElBTCA9IDQsCisgICAgICAgIENTU19VTlNFVCA9IDUKICAgICB9OwogCiAg
ICAgLy8gT3ZlcnJpZGUgUmVmQ291bnRlZCdzIGRlcmVmKCkgdG8gZW5zdXJlIG9wZXJhdG9yIGRl
bGV0ZSBpcyBjYWxsZWQgb24KQEAgLTkyLDYgKzkzLDkgQEAgcHVibGljOgogICAgIGJvb2wgaXNJ
bXBsaWNpdEluaXRpYWxWYWx1ZSgpIGNvbnN0OwogICAgIGJvb2wgaXNJbmhlcml0ZWRWYWx1ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEluaGVyaXRlZENsYXNzOyB9CiAgICAgYm9v
bCBpc0luaXRpYWxWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IEluaXRpYWxD
bGFzczsgfQorICAgIGJvb2wgaXNVbnNldFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9jbGFzc1R5
cGUgPT0gVW5zZXRDbGFzczsgfQorICAgIGJvb2wgdHJlYXRBc0luaXRpYWxWYWx1ZShDU1NQcm9w
ZXJ0eUlEKSBjb25zdDsKKyAgICBib29sIHRyZWF0QXNJbmhlcml0ZWRWYWx1ZShDU1NQcm9wZXJ0
eUlEKSBjb25zdDsKICAgICBib29sIGlzTGluZWFyR3JhZGllbnRWYWx1ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fY2xhc3NUeXBlID09IExpbmVhckdyYWRpZW50Q2xhc3M7IH0KICAgICBib29sIGlzUmFk
aWFsR3JhZGllbnRWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2xhc3NUeXBlID09IFJhZGlhbEdy
YWRpZW50Q2xhc3M7IH0KICAgICBib29sIGlzUmVmbGVjdFZhbHVlKCkgY29uc3QgeyByZXR1cm4g
bV9jbGFzc1R5cGUgPT0gUmVmbGVjdENsYXNzOyB9CkBAIC0xNjQsNiArMTY4LDcgQEAgcHJvdGVj
dGVkOgogCiAgICAgICAgIEluaGVyaXRlZENsYXNzLAogICAgICAgICBJbml0aWFsQ2xhc3MsCisg
ICAgICAgIFVuc2V0Q2xhc3MsCiAKICAgICAgICAgUmVmbGVjdENsYXNzLAogICAgICAgICBTaGFk
b3dDbGFzcywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCShyZXZp
c2lvbiAxOTExMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgko
d29ya2luZyBjb3B5KQpAQCAtMyw2ICszLDggQEAKIC8vCiBpbmhlcml0CiBpbml0aWFsCit1bnNl
dAorCiAvLwogLy8gQ1NTX1BST1BfT1VUTElORV9TVFlMRQogLy8gQ1NTX1BST1BfQk9SREVSX1RP
UF9TVFlMRQpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlUG9vbC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlUG9vbC5jcHAJKHJldmlzaW9uIDE5
MTEyNykKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZVBvb2wuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00NCw2ICs0NCw3IEBAIENTU1ZhbHVlUG9vbDo6Q1NTVmFsdWVQb29sKCkKICAgICA6
IG1faW5oZXJpdGVkVmFsdWUoQ1NTSW5oZXJpdGVkVmFsdWU6OmNyZWF0ZSgpKQogICAgICwgbV9p
bXBsaWNpdEluaXRpYWxWYWx1ZShDU1NJbml0aWFsVmFsdWU6OmNyZWF0ZUltcGxpY2l0KCkpCiAg
ICAgLCBtX2V4cGxpY2l0SW5pdGlhbFZhbHVlKENTU0luaXRpYWxWYWx1ZTo6Y3JlYXRlRXhwbGlj
aXQoKSkKKyAgICAsIG1fdW5zZXRWYWx1ZShDU1NVbnNldFZhbHVlOjpjcmVhdGUoKSkKICAgICAs
IG1fY29sb3JUcmFuc3BhcmVudChDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlQ29sb3IoQ29sb3I6
OnRyYW5zcGFyZW50KSkKICAgICAsIG1fY29sb3JXaGl0ZShDU1NQcmltaXRpdmVWYWx1ZTo6Y3Jl
YXRlQ29sb3IoQ29sb3I6OndoaXRlKSkKICAgICAsIG1fY29sb3JCbGFjayhDU1NQcmltaXRpdmVW
YWx1ZTo6Y3JlYXRlQ29sb3IoQ29sb3I6OmJsYWNrKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NWYWx1ZVBvb2wuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWVQb29sLmgJKHJldmlzaW9uIDE5MTEyNykKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZVBvb2wuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIkNTU0lu
aXRpYWxWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlLmgiCiAjaW5jbHVkZSAi
Q1NTUHJvcGVydHlOYW1lcy5oIgorI2luY2x1ZGUgIkNTU1Vuc2V0VmFsdWUuaCIKICNpbmNsdWRl
ICJDU1NWYWx1ZUtleXdvcmRzLmgiCiAjaW5jbHVkZSA8dXRpbGl0eT4KICNpbmNsdWRlIDx3dGYv
SGFzaE1hcC5oPgpAQCAtNTQsNiArNTUsNyBAQCBwdWJsaWM6CiAgICAgUmVmPENTU0luaGVyaXRl
ZFZhbHVlPiBjcmVhdGVJbmhlcml0ZWRWYWx1ZSgpIHsgcmV0dXJuIG1faW5oZXJpdGVkVmFsdWUu
Y29weVJlZigpOyB9CiAgICAgUmVmPENTU0luaXRpYWxWYWx1ZT4gY3JlYXRlSW1wbGljaXRJbml0
aWFsVmFsdWUoKSB7IHJldHVybiBtX2ltcGxpY2l0SW5pdGlhbFZhbHVlLmNvcHlSZWYoKTsgfQog
ICAgIFJlZjxDU1NJbml0aWFsVmFsdWU+IGNyZWF0ZUV4cGxpY2l0SW5pdGlhbFZhbHVlKCkgeyBy
ZXR1cm4gbV9leHBsaWNpdEluaXRpYWxWYWx1ZS5jb3B5UmVmKCk7IH0KKyAgICBSZWY8Q1NTVW5z
ZXRWYWx1ZT4gY3JlYXRlVW5zZXRWYWx1ZSgpIHsgcmV0dXJuIG1fdW5zZXRWYWx1ZS5jb3B5UmVm
KCk7IH0KICAgICBSZWY8Q1NTUHJpbWl0aXZlVmFsdWU+IGNyZWF0ZUlkZW50aWZpZXJWYWx1ZShD
U1NWYWx1ZUlEIGlkZW50aWZpZXIpOwogICAgIFJlZjxDU1NQcmltaXRpdmVWYWx1ZT4gY3JlYXRl
SWRlbnRpZmllclZhbHVlKENTU1Byb3BlcnR5SUQgaWRlbnRpZmllcik7CiAgICAgUmVmPENTU1By
aW1pdGl2ZVZhbHVlPiBjcmVhdGVDb2xvclZhbHVlKHVuc2lnbmVkIHJnYlZhbHVlKTsKQEAgLTcx
LDYgKzczLDcgQEAgcHJpdmF0ZToKICAgICBSZWY8Q1NTSW5oZXJpdGVkVmFsdWU+IG1faW5oZXJp
dGVkVmFsdWU7CiAgICAgUmVmPENTU0luaXRpYWxWYWx1ZT4gbV9pbXBsaWNpdEluaXRpYWxWYWx1
ZTsKICAgICBSZWY8Q1NTSW5pdGlhbFZhbHVlPiBtX2V4cGxpY2l0SW5pdGlhbFZhbHVlOworICAg
IFJlZjxDU1NVbnNldFZhbHVlPiBtX3Vuc2V0VmFsdWU7CiAKICAgICBSZWZQdHI8Q1NTUHJpbWl0
aXZlVmFsdWU+IG1faWRlbnRpZmllclZhbHVlQ2FjaGVbbnVtQ1NTVmFsdWVLZXl3b3Jkc107CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAJKHJldmlzaW9uIDE5MTEyOCkK
KysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTkwNyw3ICsxOTA3LDE0IEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eShD
U1NQcm8KIAogICAgIGJvb2wgaXNJbmhlcml0ID0gc3RhdGUucGFyZW50U3R5bGUoKSAmJiB2YWx1
ZVRvQ2hlY2tGb3JJbmhlcml0SW5pdGlhbC0+aXNJbmhlcml0ZWRWYWx1ZSgpOwogICAgIGJvb2wg
aXNJbml0aWFsID0gdmFsdWVUb0NoZWNrRm9ySW5oZXJpdEluaXRpYWwtPmlzSW5pdGlhbFZhbHVl
KCkgfHwgKCFzdGF0ZS5wYXJlbnRTdHlsZSgpICYmIHZhbHVlVG9DaGVja0ZvckluaGVyaXRJbml0
aWFsLT5pc0luaGVyaXRlZFZhbHVlKCkpOwotCisgICAgCisgICAgaWYgKHZhbHVlVG9DaGVja0Zv
ckluaGVyaXRJbml0aWFsLT5pc1Vuc2V0VmFsdWUoKSkgeworICAgICAgICBpZiAoQ1NTUHJvcGVy
dHk6OmlzSW5oZXJpdGVkUHJvcGVydHkoaWQpKQorICAgICAgICAgICAgaXNJbmhlcml0ID0gdHJ1
ZTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgaXNJbml0aWFsID0gdHJ1ZTsKKyAgICB9Cisg
ICAgCiAgICAgQVNTRVJUKCFpc0luaGVyaXQgfHwgIWlzSW5pdGlhbCk7IC8vIGlzSW5oZXJpdCAt
PiAhaXNJbml0aWFsICYmIGlzSW5pdGlhbCAtPiAhaXNJbmhlcml0CiAKICAgICBpZiAoIXN0YXRl
LmFwcGx5UHJvcGVydHlUb1JlZ3VsYXJTdHlsZSgpICYmICghc3RhdGUuYXBwbHlQcm9wZXJ0eVRv
VmlzaXRlZExpbmtTdHlsZSgpIHx8ICFpc1ZhbGlkVmlzaXRlZExpbmtQcm9wZXJ0eShpZCkpKSB7
CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiAxOTExNDApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwzMSBAQAorMjAxNS0xMC0xNSAgRGF2aWQgSHlhdHQgIDxo
eWF0dEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHRoZSBDU1MgJ3Vuc2V0
JyBrZXl3b3JkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTQ4NjE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBUZXN0RXhwZWN0YXRpb25zOgorICAgICAgICBSZW1vdmUgdGhlIDMgZmFpbGluZyB2YXJp
YWJsZXMgdGVzdHMgdGhhdCB1c2VkIHRoZSB1bnNldCBrZXl3b3JkIG5vdyB0aGF0IHRoZXkgcGFz
cy4KKworICAgICAgICAqIGZhc3QvY3NzL3Vuc2V0LWtleXdvcmQtZXhwZWN0ZWQuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9jc3MvdW5zZXQta2V5d29yZC5odG1sOiBBZGRlZC4KKyAgICAg
ICAgTmV3IHRlc3QgZm9yIGJvdGggaW5oZXJpdGVkIGFuZCBpbml0aWFsIHByb3BlcnRpZXMuCisK
KyAgICAgICAgKiBmYXN0L2Nzcy92YXJpYWJsZXMvdGVzdC1zdWl0ZS8xMjktZXhwZWN0ZWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvdmFyaWFibGVzL3Rlc3Qtc3VpdGUvMTI5Lmh0
bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3ZhcmlhYmxlcy90ZXN0LXN1aXRlLzEzMC1l
eHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy92YXJpYWJsZXMvdGVzdC1z
dWl0ZS8xMzAuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvdmFyaWFibGVzL3Rlc3Qt
c3VpdGUvMTM0LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL3Zhcmlh
Ymxlcy90ZXN0LXN1aXRlLzEzNC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy92YXJp
YWJsZXMvdGVzdC1zdWl0ZS9mYWlsdXJlcy8xMjktZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBmYXN0L2Nzcy92YXJpYWJsZXMvdGVzdC1zdWl0ZS9mYWlsdXJlcy8xMjkuaHRtbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy92YXJpYWJsZXMvdGVzdC1zdWl0ZS9mYWlsdXJl
cy8xMzAtZXhwZWN0ZWQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy92YXJpYWJs
ZXMvdGVzdC1zdWl0ZS9mYWlsdXJlcy8xMzAuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0
L2Nzcy92YXJpYWJsZXMvdGVzdC1zdWl0ZS9mYWlsdXJlcy8xMzQtZXhwZWN0ZWQuaHRtbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy92YXJpYWJsZXMvdGVzdC1zdWl0ZS9mYWlsdXJlcy8x
MzQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgTW92ZSB0aGVzZSB0ZXN0cyBpbnRvIHRoZSBwYXNz
aW5nIGRpcmVjdG9yeS4KKwogMjAxNS0xMC0xNSAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9A
YXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEphdmFTY3JpcHRDb3JlIHNob3Vs
ZCBwYXJzZSBzb3VyY2VVUkwgYW5kIHNvdXJjZU1hcHBpbmdVUkwgZGlyZWN0aXZlcwpJbmRleDog
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCShyZXZpc2lvbiAxOTExMjgpCisrKyBMYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCSh3b3JraW5nIGNvcHkpCkBAIC02OTgsOSArNjk4LDYgQEAgd2Via2l0Lm9yZy9i
LzE1MDE4MyBmYXN0L2Nzcy92YXJpYWJsZXMvdAogd2Via2l0Lm9yZy9iLzE1MDE4MyBmYXN0L2Nz
cy92YXJpYWJsZXMvdGVzdC1zdWl0ZS9mYWlsdXJlcy8xMTEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogd2Via2l0Lm9yZy9iLzE1MDE4MyBmYXN0L2Nzcy92YXJpYWJsZXMvdGVzdC1zdWl0ZS9m
YWlsdXJlcy8xMTUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE1MDE4
MyBmYXN0L2Nzcy92YXJpYWJsZXMvdGVzdC1zdWl0ZS9mYWlsdXJlcy8xMjYuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE1MDE4MyBmYXN0L2Nzcy92YXJpYWJsZXMvdGVz
dC1zdWl0ZS9mYWlsdXJlcy8xMjkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9y
Zy9iLzE1MDE4MyBmYXN0L2Nzcy92YXJpYWJsZXMvdGVzdC1zdWl0ZS9mYWlsdXJlcy8xMzAuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzE1MDE4MyBmYXN0L2Nzcy92YXJp
YWJsZXMvdGVzdC1zdWl0ZS9mYWlsdXJlcy8xMzQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
d2Via2l0Lm9yZy9iLzE1MDE4MyBmYXN0L2Nzcy92YXJpYWJsZXMvdGVzdC1zdWl0ZS9mYWlsdXJl
cy8xNTIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE1MDE4MyBmYXN0
L2Nzcy92YXJpYWJsZXMvdGVzdC1zdWl0ZS9mYWlsdXJlcy8xNTkuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQogd2Via2l0Lm9yZy9iLzE1MDE4MyBmYXN0L2Nzcy92YXJpYWJsZXMvdGVzdC1zdWl0
ZS9mYWlsdXJlcy8xNjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9jc3MvdW5zZXQta2V5d29yZC1leHBlY3RlZC5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvY3NzL3Vuc2V0LWtleXdvcmQtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3Vuc2V0LWtleXdvcmQtZXhwZWN0ZWQuaHRtbAko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACis8aGVhZD4KKzxzdHlsZT4KK2JvZHkgeyBj
b2xvcjogZ3JlZW47IGJhY2tncm91bmQtY29sb3I6I2NjYzsgfQorcCB7IGJvcmRlci1sZWZ0OjVw
eCBzb2xpZCBibGFjazsgYm9yZGVyLXJpZ2h0OjVweCBzb2xpZCBibGFjazsgfQorPC9zdHlsZT4K
KzwvaGVhZD4KKzxib2R5PgorVGhpcyB0ZXh0IHNob3VsZCBiZSBncmVlbiBvbiBhIGdyZXkgYmFj
a2dyb3VuZCBhbmQgaGF2ZSBvbmx5IHNpZGUgYm9yZGVycy4KKzwvYm9keT4KKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3Vuc2V0LWtleXdvcmQuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy91bnNldC1rZXl3b3JkLmh0bWwJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy91bnNldC1rZXl3b3JkLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwxMCBAQAorPGhlYWQ+Cis8c3R5bGU+Citib2R5IHsgY29sb3I6IGdyZWVuOyBi
YWNrZ3JvdW5kLWNvbG9yOiNjY2M7IH0KK3AgeyBib3JkZXI6NXB4IHNvbGlkIGJsYWNrOyBjb2xv
cjogb3JhbmdlOyBjb2xvcjp1bnNldDsgYmFja2dyb3VuZC1jb2xvcjpibHVlOyBiYWNrZ3JvdW5k
LWNvbG9yOnVuc2V0OyBib3JkZXItdG9wOnVuc2V0OyBib3JkZXItYm90dG9tOnVuc2V0OyB9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CitUaGlzIHRleHQgc2hvdWxkIGJlIGdyZWVuIG9uIGEg
Z3JleSBiYWNrZ3JvdW5kIGFuZCBoYXZlIG9ubHkgc2lkZSBib3JkZXJzLgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Rlc3Qtc3VpdGUvMTI5
LWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFi
bGVzL3Rlc3Qtc3VpdGUvMTI5LWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdGVzdC1zdWl0ZS8xMjktZXhwZWN0ZWQuaHRtbAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgaHRtbD4KKzwhLS0KKyAgICAg
QW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21haW4uCisgICAgIGh0
dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEuMC8KKy0tPjxodG1s
PjxoZWFkPjx0aXRsZT5DU1MgUmVmdGVzdCBSZWZlcmVuY2U8L3RpdGxlPgorPGxpbmsgaHJlZj0i
bWFpbHRvOmNhbUBtY2MuaWQuYXUiIHJlbD0iYXV0aG9yIiB0aXRsZT0iQ2FtZXJvbiBNY0Nvcm1h
Y2siPgorPHN0eWxlPgorcCB7CisgIGNvbG9yOiBncmVlbjsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
PGJvZHk+PHA+VGhpcyB0ZXh0IG11c3QgYmUgZ3JlZW4uPC9wPgorPC9ib2R5PjwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJp
YWJsZXMvdGVzdC1zdWl0ZS8xMjkuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2Nzcy92YXJpYWJsZXMvdGVzdC1zdWl0ZS8xMjkuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy90ZXN0LXN1aXRlLzEyOS5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPCEtLQorICAgICBBbnkgY29w
eXJpZ2h0IGlzIGRlZGljYXRlZCB0byB0aGUgUHVibGljIERvbWFpbi4KKyAgICAgaHR0cDovL2Ny
ZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLworLS0+PGh0bWw+PGhlYWQ+
PHRpdGxlPkNTUyBUZXN0OiBUZXN0IGRlY2xhcmluZyBhIHZhcmlhYmxlIHdob3NlIHZhbHVlIGlz
ICJ1bnNldCIgd2hlcmUgdGhlcmUgaXMgYSB2YXJpYWJsZSB0byBpbmhlcml0IGZyb20uPC90aXRs
ZT4KKzxsaW5rIGhyZWY9Im1haWx0bzpjYW1AbWNjLmlkLmF1IiByZWw9ImF1dGhvciIgdGl0bGU9
IkNhbWVyb24gTWNDb3JtYWNrIj4KKzxsaW5rIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL2Nz
cy12YXJpYWJsZXMtMS8jZGVmaW5pbmctdmFyaWFibGVzIiByZWw9ImhlbHAiPgorPGxpbmsgaHJl
Zj0ic3VwcG9ydC9jb2xvci1ncmVlbi1yZWYuaHRtIiByZWw9Im1hdGNoIj4KKzxzdHlsZT4KK2Jv
ZHkgeworICAtLWE6IGdyZWVuOworICBjb2xvcjogY3JpbXNvbjsKK30KK3AgeworICBjb2xvcjog
cmVkOworfQorcCB7CisgIGNvbG9yOiBvcmFuZ2U7CisgIC0tYTogdW5zZXQ7CisgIGNvbG9yOiB2
YXIoLS1hKTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+PGJvZHk+PHA+VGhpcyB0ZXh0IG11c3QgYmUg
Z3JlZW4uPC9wPgorPC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdGVzdC1zdWl0ZS8xMzAtZXhwZWN0
ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdGVz
dC1zdWl0ZS8xMzAtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zh
c3QvY3NzL3ZhcmlhYmxlcy90ZXN0LXN1aXRlLzEzMC1leHBlY3RlZC5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBodG1sPgorPCEtLQorICAgICBBbnkgY29w
eXJpZ2h0IGlzIGRlZGljYXRlZCB0byB0aGUgUHVibGljIERvbWFpbi4KKyAgICAgaHR0cDovL2Ny
ZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLworLS0+PGh0bWw+PGhlYWQ+
PHRpdGxlPkNTUyBSZWZ0ZXN0IFJlZmVyZW5jZTwvdGl0bGU+Cis8bGluayBocmVmPSJtYWlsdG86
Y2FtQG1jYy5pZC5hdSIgcmVsPSJhdXRob3IiIHRpdGxlPSJDYW1lcm9uIE1jQ29ybWFjayI+Cis8
c3R5bGU+CitwIHsKKyAgY29sb3I6IGdyZWVuOworfQorPC9zdHlsZT4KKzwvaGVhZD48Ym9keT48
cD5UaGlzIHRleHQgbXVzdCBiZSBncmVlbi48L3A+Cis8L2JvZHk+PC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy90
ZXN0LXN1aXRlLzEzMC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3Zh
cmlhYmxlcy90ZXN0LXN1aXRlLzEzMC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9jc3MvdmFyaWFibGVzL3Rlc3Qtc3VpdGUvMTMwLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8IS0tCisgICAgIEFueSBjb3B5cmlnaHQg
aXMgZGVkaWNhdGVkIHRvIHRoZSBQdWJsaWMgRG9tYWluLgorICAgICBodHRwOi8vY3JlYXRpdmVj
b21tb25zLm9yZy9wdWJsaWNkb21haW4vemVyby8xLjAvCistLT48aHRtbD48aGVhZD48dGl0bGU+
Q1NTIFRlc3Q6IFRlc3QgZGVjbGFyaW5nIGEgdmFyaWFibGUgd2hvc2UgdmFsdWUgY29uc2lzdHMg
b2YgYSByZWZlcmVuY2UgdG8gYSB2YXJpYWJsZSB3aG9zZSB2YWx1ZSBpcyAidW5zZXQiLjwvdGl0
bGU+Cis8bGluayBocmVmPSJtYWlsdG86Y2FtQG1jYy5pZC5hdSIgcmVsPSJhdXRob3IiIHRpdGxl
PSJDYW1lcm9uIE1jQ29ybWFjayI+Cis8bGluayBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9j
c3MtdmFyaWFibGVzLTEvI2RlZmluaW5nLXZhcmlhYmxlcyIgcmVsPSJoZWxwIj4KKzxsaW5rIGhy
ZWY9InN1cHBvcnQvY29sb3ItZ3JlZW4tcmVmLmh0bSIgcmVsPSJtYXRjaCI+Cis8c3R5bGU+Citi
b2R5IHsKKyAgLS1iOiBncmVlbjsKKyAgY29sb3I6IGNyaW1zb247Cit9CitwIHsKKyAgY29sb3I6
IHJlZDsKK30KK3AgeworICBjb2xvcjogb3JhbmdlOworICAtLWE6IHZhcigtLWIpOworICAtLWI6
IHVuc2V0OworICBjb2xvcjogdmFyKC0tYSk7Cit9Cis8L3N0eWxlPgorPC9oZWFkPjxib2R5Pjxw
PlRoaXMgdGV4dCBtdXN0IGJlIGdyZWVuLjwvcD4KKzwvYm9keT48L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Rl
c3Qtc3VpdGUvMTM0LWV4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9jc3MvdmFyaWFibGVzL3Rlc3Qtc3VpdGUvMTM0LWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdGVzdC1zdWl0ZS8xMzQtZXhwZWN0
ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgaHRtbD4K
KzwhLS0KKyAgICAgQW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhlIFB1YmxpYyBEb21h
aW4uCisgICAgIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2RvbWFpbi96ZXJvLzEu
MC8KKy0tPjxodG1sPjxoZWFkPjx0aXRsZT5DU1MgUmVmdGVzdCBSZWZlcmVuY2U8L3RpdGxlPgor
PGxpbmsgaHJlZj0ibWFpbHRvOmNhbUBtY2MuaWQuYXUiIHJlbD0iYXV0aG9yIiB0aXRsZT0iQ2Ft
ZXJvbiBNY0Nvcm1hY2siPgorPHN0eWxlPgorcCB7CisgIGNvbG9yOiBncmVlbjsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+PGJvZHk+PHA+VGhpcyB0ZXh0IG11c3QgYmUgZ3JlZW4uPC9wPgorPC9ib2R5
PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2Nzcy92YXJpYWJsZXMvdGVzdC1zdWl0ZS8xMzQuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdGVzdC1zdWl0ZS8xMzQuaHRtbAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy90ZXN0LXN1aXRlLzEzNC5odG1s
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPCEtLQor
ICAgICBBbnkgY29weXJpZ2h0IGlzIGRlZGljYXRlZCB0byB0aGUgUHVibGljIERvbWFpbi4KKyAg
ICAgaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLworLS0+
PGh0bWw+PGhlYWQ+PHRpdGxlPkNTUyBUZXN0OiBUZXN0IGRlY2xhcmluZyBhIHZhcmlhYmxlIHdo
b3NlIHZhbHVlIGlzICJ1bnNldCIgd2hlcmUgdGhlcmUgaXMgbm8gdmFyaWFibGUgdG8gaW5oZXJp
dCBmcm9tLjwvdGl0bGU+Cis8bGluayBocmVmPSJtYWlsdG86Y2FtQG1jYy5pZC5hdSIgcmVsPSJh
dXRob3IiIHRpdGxlPSJDYW1lcm9uIE1jQ29ybWFjayI+Cis8bGluayBocmVmPSJodHRwOi8vd3d3
LnczLm9yZy9UUi9jc3MtdmFyaWFibGVzLTEvI2RlZmluaW5nLXZhcmlhYmxlcyIgcmVsPSJoZWxw
Ij4KKzxsaW5rIGhyZWY9InN1cHBvcnQvY29sb3ItZ3JlZW4tcmVmLmh0bSIgcmVsPSJtYXRjaCI+
Cis8c3R5bGU+CitwIHsKKyAgY29sb3I6IHJlZDsKK30KK3AgeworICBjb2xvcjogb3JhbmdlOwor
ICAtLWE6IHVuc2V0OworICBjb2xvcjogdmFyKC0tYSxncmVlbik7Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPjxib2R5PjxwPlRoaXMgdGV4dCBtdXN0IGJlIGdyZWVuLjwvcD4KKzwvYm9keT48L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
dmFyaWFibGVzL3Rlc3Qtc3VpdGUvZmFpbHVyZXMvMTI5LWV4cGVjdGVkLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Rlc3Qtc3VpdGUvZmFpbHVyZXMv
MTI5LWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDE5MTEyOCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
Y3NzL3ZhcmlhYmxlcy90ZXN0LXN1aXRlL2ZhaWx1cmVzLzEyOS1leHBlY3RlZC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPCEtLQotICAgICBB
bnkgY29weXJpZ2h0IGlzIGRlZGljYXRlZCB0byB0aGUgUHVibGljIERvbWFpbi4KLSAgICAgaHR0
cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLwotLS0+PGh0bWw+
PGhlYWQ+PHRpdGxlPkNTUyBSZWZ0ZXN0IFJlZmVyZW5jZTwvdGl0bGU+Ci08bGluayBocmVmPSJt
YWlsdG86Y2FtQG1jYy5pZC5hdSIgcmVsPSJhdXRob3IiIHRpdGxlPSJDYW1lcm9uIE1jQ29ybWFj
ayI+Ci08c3R5bGU+Ci1wIHsKLSAgY29sb3I6IGdyZWVuOwotfQotPC9zdHlsZT4KLTwvaGVhZD48
Ym9keT48cD5UaGlzIHRleHQgbXVzdCBiZSBncmVlbi48L3A+Ci08L2JvZHk+PC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3Zhcmlh
Ymxlcy90ZXN0LXN1aXRlL2ZhaWx1cmVzLzEyOS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy90ZXN0LXN1aXRlL2ZhaWx1cmVzLzEyOS5odG1sCShyZXZp
c2lvbiAxOTExMjgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdGVzdC1zdWl0
ZS9mYWlsdXJlcy8xMjkuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwyNCArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTwhLS0KLSAgICAgQW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhl
IFB1YmxpYyBEb21haW4uCi0gICAgIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2Rv
bWFpbi96ZXJvLzEuMC8KLS0tPjxodG1sPjxoZWFkPjx0aXRsZT5DU1MgVGVzdDogVGVzdCBkZWNs
YXJpbmcgYSB2YXJpYWJsZSB3aG9zZSB2YWx1ZSBpcyAidW5zZXQiIHdoZXJlIHRoZXJlIGlzIGEg
dmFyaWFibGUgdG8gaW5oZXJpdCBmcm9tLjwvdGl0bGU+Ci08bGluayBocmVmPSJtYWlsdG86Y2Ft
QG1jYy5pZC5hdSIgcmVsPSJhdXRob3IiIHRpdGxlPSJDYW1lcm9uIE1jQ29ybWFjayI+Ci08bGlu
ayBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFyaWFibGVzLTEvI2RlZmluaW5nLXZh
cmlhYmxlcyIgcmVsPSJoZWxwIj4KLTxsaW5rIGhyZWY9InN1cHBvcnQvY29sb3ItZ3JlZW4tcmVm
Lmh0bSIgcmVsPSJtYXRjaCI+Ci08c3R5bGU+Ci1ib2R5IHsKLSAgLS1hOiBncmVlbjsKLSAgY29s
b3I6IGNyaW1zb247Ci19Ci1wIHsKLSAgY29sb3I6IHJlZDsKLX0KLXAgewotICBjb2xvcjogb3Jh
bmdlOwotICAtLWE6IHVuc2V0OwotICBjb2xvcjogdmFyKC0tYSk7Ci19Ci08L3N0eWxlPgotPC9o
ZWFkPjxib2R5PjxwPlRoaXMgdGV4dCBtdXN0IGJlIGdyZWVuLjwvcD4KLTwvYm9keT48L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
dmFyaWFibGVzL3Rlc3Qtc3VpdGUvZmFpbHVyZXMvMTMwLWV4cGVjdGVkLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Rlc3Qtc3VpdGUvZmFpbHVyZXMv
MTMwLWV4cGVjdGVkLmh0bWwJKHJldmlzaW9uIDE5MTEyOCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
Y3NzL3ZhcmlhYmxlcy90ZXN0LXN1aXRlL2ZhaWx1cmVzLzEzMC1leHBlY3RlZC5odG1sCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPCEtLQotICAgICBB
bnkgY29weXJpZ2h0IGlzIGRlZGljYXRlZCB0byB0aGUgUHVibGljIERvbWFpbi4KLSAgICAgaHR0
cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLwotLS0+PGh0bWw+
PGhlYWQ+PHRpdGxlPkNTUyBSZWZ0ZXN0IFJlZmVyZW5jZTwvdGl0bGU+Ci08bGluayBocmVmPSJt
YWlsdG86Y2FtQG1jYy5pZC5hdSIgcmVsPSJhdXRob3IiIHRpdGxlPSJDYW1lcm9uIE1jQ29ybWFj
ayI+Ci08c3R5bGU+Ci1wIHsKLSAgY29sb3I6IGdyZWVuOwotfQotPC9zdHlsZT4KLTwvaGVhZD48
Ym9keT48cD5UaGlzIHRleHQgbXVzdCBiZSBncmVlbi48L3A+Ci08L2JvZHk+PC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3Zhcmlh
Ymxlcy90ZXN0LXN1aXRlL2ZhaWx1cmVzLzEzMC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvY3NzL3ZhcmlhYmxlcy90ZXN0LXN1aXRlL2ZhaWx1cmVzLzEzMC5odG1sCShyZXZp
c2lvbiAxOTExMjgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdGVzdC1zdWl0
ZS9mYWlsdXJlcy8xMzAuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwyNSArMCwwIEBACi08IURP
Q1RZUEUgaHRtbD4KLTwhLS0KLSAgICAgQW55IGNvcHlyaWdodCBpcyBkZWRpY2F0ZWQgdG8gdGhl
IFB1YmxpYyBEb21haW4uCi0gICAgIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL3B1YmxpY2Rv
bWFpbi96ZXJvLzEuMC8KLS0tPjxodG1sPjxoZWFkPjx0aXRsZT5DU1MgVGVzdDogVGVzdCBkZWNs
YXJpbmcgYSB2YXJpYWJsZSB3aG9zZSB2YWx1ZSBjb25zaXN0cyBvZiBhIHJlZmVyZW5jZSB0byBh
IHZhcmlhYmxlIHdob3NlIHZhbHVlIGlzICJ1bnNldCIuPC90aXRsZT4KLTxsaW5rIGhyZWY9Im1h
aWx0bzpjYW1AbWNjLmlkLmF1IiByZWw9ImF1dGhvciIgdGl0bGU9IkNhbWVyb24gTWNDb3JtYWNr
Ij4KLTxsaW5rIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL2Nzcy12YXJpYWJsZXMtMS8jZGVm
aW5pbmctdmFyaWFibGVzIiByZWw9ImhlbHAiPgotPGxpbmsgaHJlZj0ic3VwcG9ydC9jb2xvci1n
cmVlbi1yZWYuaHRtIiByZWw9Im1hdGNoIj4KLTxzdHlsZT4KLWJvZHkgewotICAtLWI6IGdyZWVu
OwotICBjb2xvcjogY3JpbXNvbjsKLX0KLXAgewotICBjb2xvcjogcmVkOwotfQotcCB7Ci0gIGNv
bG9yOiBvcmFuZ2U7Ci0gIC0tYTogdmFyKC0tYik7Ci0gIC0tYjogdW5zZXQ7Ci0gIGNvbG9yOiB2
YXIoLS1hKTsKLX0KLTwvc3R5bGU+Ci08L2hlYWQ+PGJvZHk+PHA+VGhpcyB0ZXh0IG11c3QgYmUg
Z3JlZW4uPC9wPgotPC9ib2R5PjwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJpYWJsZXMvdGVzdC1zdWl0ZS9mYWlsdXJlcy8x
MzQtZXhwZWN0ZWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy92YXJp
YWJsZXMvdGVzdC1zdWl0ZS9mYWlsdXJlcy8xMzQtZXhwZWN0ZWQuaHRtbAkocmV2aXNpb24gMTkx
MTI4KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Rlc3Qtc3VpdGUvZmFpbHVy
ZXMvMTM0LWV4cGVjdGVkLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTEsMTMgKzAsMCBAQAotPCFE
T0NUWVBFIGh0bWw+Ci08IS0tCi0gICAgIEFueSBjb3B5cmlnaHQgaXMgZGVkaWNhdGVkIHRvIHRo
ZSBQdWJsaWMgRG9tYWluLgotICAgICBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9wdWJsaWNk
b21haW4vemVyby8xLjAvCi0tLT48aHRtbD48aGVhZD48dGl0bGU+Q1NTIFJlZnRlc3QgUmVmZXJl
bmNlPC90aXRsZT4KLTxsaW5rIGhyZWY9Im1haWx0bzpjYW1AbWNjLmlkLmF1IiByZWw9ImF1dGhv
ciIgdGl0bGU9IkNhbWVyb24gTWNDb3JtYWNrIj4KLTxzdHlsZT4KLXAgewotICBjb2xvcjogZ3Jl
ZW47Ci19Ci08L3N0eWxlPgotPC9oZWFkPjxib2R5PjxwPlRoaXMgdGV4dCBtdXN0IGJlIGdyZWVu
LjwvcD4KLTwvYm9keT48L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Rlc3Qtc3VpdGUvZmFpbHVyZXMvMTM0Lmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvdmFyaWFibGVzL3Rlc3Qtc3Vp
dGUvZmFpbHVyZXMvMTM0Lmh0bWwJKHJldmlzaW9uIDE5MTEyOCkKKysrIExheW91dFRlc3RzL2Zh
c3QvY3NzL3ZhcmlhYmxlcy90ZXN0LXN1aXRlL2ZhaWx1cmVzLzEzNC5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDIwICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPCEtLQotICAgICBBbnkgY29w
eXJpZ2h0IGlzIGRlZGljYXRlZCB0byB0aGUgUHVibGljIERvbWFpbi4KLSAgICAgaHR0cDovL2Ny
ZWF0aXZlY29tbW9ucy5vcmcvcHVibGljZG9tYWluL3plcm8vMS4wLwotLS0+PGh0bWw+PGhlYWQ+
PHRpdGxlPkNTUyBUZXN0OiBUZXN0IGRlY2xhcmluZyBhIHZhcmlhYmxlIHdob3NlIHZhbHVlIGlz
ICJ1bnNldCIgd2hlcmUgdGhlcmUgaXMgbm8gdmFyaWFibGUgdG8gaW5oZXJpdCBmcm9tLjwvdGl0
bGU+Ci08bGluayBocmVmPSJtYWlsdG86Y2FtQG1jYy5pZC5hdSIgcmVsPSJhdXRob3IiIHRpdGxl
PSJDYW1lcm9uIE1jQ29ybWFjayI+Ci08bGluayBocmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9j
c3MtdmFyaWFibGVzLTEvI2RlZmluaW5nLXZhcmlhYmxlcyIgcmVsPSJoZWxwIj4KLTxsaW5rIGhy
ZWY9InN1cHBvcnQvY29sb3ItZ3JlZW4tcmVmLmh0bSIgcmVsPSJtYXRjaCI+Ci08c3R5bGU+Ci1w
IHsKLSAgY29sb3I6IHJlZDsKLX0KLXAgewotICBjb2xvcjogb3JhbmdlOwotICAtLWE6IHVuc2V0
OwotICBjb2xvcjogdmFyKC0tYSxncmVlbik7Ci19Ci08L3N0eWxlPgotPC9oZWFkPjxib2R5Pjxw
PlRoaXMgdGV4dCBtdXN0IGJlIGdyZWVuLjwvcD4KLTwvYm9keT48L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQo=
</data>
<flag name="review"
          id="288394"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>