<?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>63397</bug_id>
          
          <creation_ts>2011-06-26 02:46:49 -0700</creation_ts>
          <short_desc>SVGAnimatedType should support SVGNumberOptionalNumber animation</short_desc>
          <delta_ts>2011-06-26 23:46:10 -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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>41761</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Schulze">krit</reporter>
          <assigned_to name="Dirk Schulze">krit</assigned_to>
          <cc>abarth</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>427499</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-06-26 02:46:49 -0700</bug_when>
    <thetext>SVGAnimatedType should support SVGNumberOptionalNumber animation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427501</commentid>
    <comment_count>1</comment_count>
      <attachid>98620</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-06-26 03:04:07 -0700</bug_when>
    <thetext>Created attachment 98620
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427502</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-26 03:06:24 -0700</bug_when>
    <thetext>Attachment 98620 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/svg/...&quot; exit_code: 1

Source/WebCore/svg/SVGAnimatedNumberOptionalNumber.h:40:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedNumberOptionalNumber.h:40:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedNumberOptionalNumber.h:41:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedNumberOptionalNumber.h:41:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedNumberOptionalNumber.h:43:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedNumberOptionalNumber.h:43:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedNumberOptionalNumber.h:43:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedNumberOptionalNumber.cpp:49:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedNumberOptionalNumber.cpp:49:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedNumberOptionalNumber.cpp:60:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedNumberOptionalNumber.cpp:60:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedNumberOptionalNumber.cpp:78:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedNumberOptionalNumber.cpp:78:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Source/WebCore/svg/SVGAnimatedNumberOptionalNumber.cpp:78:  The parameter type should use PassOwnPtr instead of OwnPtr.  [readability/pass_ptr] [5]
Total errors found: 14 in 27 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>427503</commentid>
    <comment_count>3</comment_count>
      <attachid>98620</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-06-26 03:44:08 -0700</bug_when>
    <thetext>Comment on attachment 98620
Patch

r=me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427505</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-06-26 04:25:04 -0700</bug_when>
    <thetext>Committed r89766: &lt;http://trac.webkit.org/changeset/89766&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427666</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-06-26 23:15:56 -0700</bug_when>
    <thetext>This patch added

using namespace std;

to a header file.  That seems pretty uncool.  /me will fixenate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427686</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-06-26 23:39:14 -0700</bug_when>
    <thetext>Fixenated in http://trac.webkit.org/changeset/89786</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427689</commentid>
    <comment_count>7</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-06-26 23:42:11 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Fixenated in http://trac.webkit.org/changeset/89786

Oh, sorry. Thanks for fixing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>427692</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-06-26 23:46:10 -0700</bug_when>
    <thetext>For the record, this caused broke the clang build.  We don&apos;t have much clang coverage on webkit.org, so it&apos;s easy to break that build.  Adding more coverage is on my list of things I&apos;d like to do, but it&apos;s not at the top yet.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>98620</attachid>
            <date>2011-06-26 03:04:07 -0700</date>
            <delta_ts>2011-06-26 03:44:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63397-20110626120404.patch</filename>
            <type>text/plain</type>
            <size>47503</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg5NzY1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTUgQEAKKzIwMTEtMDYtMjYgIERpcmsgU2No
dWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTVkdBbmltYXRlZFR5cGUgc2hvdWxkIHN1cHBvcnQgU1ZHTnVtYmVy
T3B0aW9uYWxOdW1iZXIgYW5pbWF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02MzM5NworICAgICAgICAKKyAgICAgICAgRm9sbG93IHVwIG9mICJT
VkdBbmltYXRpb24gc2hvdWxkIHVzZSBkaXJlY3QgdW5pdCBhbmltYXRpb24gZm9yIFNWR0xlbmd0
aCI6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTM2OAorICAgICAg
ICBUaGlzIHBhdGNoIGNvbnRpbnVlcyB0aGUgY29udmVyc2lvbiB0byB0aGUgbmV3IGNvbmNlcHQg
b2YgU1ZHQW5pbWF0b3JGYWN0b3J5IHdpdGggU1ZHQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJl
ci4KKyAgICAgICAgCisgICAgICAgIEFuaW1hdGlvbnMgb2YgYXR0cmlidXRlcyB3aXRoIHR5cGUg
U1ZHQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlciBjYW4gYmUgaW50ZXJwb2xhdGVkIG5vdy4g
VGhpcyBjYW4gYmUgdXNlZCBmb3Igc21vb3RoCisgICAgICAgIGdyb3dpbmcgc2hhZG93cyB3aXRo
IGZlR2F1c3NpYW5CbHVyLCBmZURyb3BTaGFkb3cgb3Igb3RoZXIgZmlsdGVyIGVmZmVjdHMuCisK
KyAgICAgICAgVGVzdHM6IHN2Zy9hbmltYXRpb25zL3N2Z251bWJlcm9wdGlvbmFsbnVtYmVyLWFu
aW1hdGlvbi0xLmh0bWwKKyAgICAgICAgICAgICAgIHN2Zy9hbmltYXRpb25zL3N2Z251bWJlcm9w
dGlvbmFsbnVtYmVyLWFuaW1hdGlvbi0yLmh0bWwKKyAgICAgICAgICAgICAgIHN2Zy9hbmltYXRp
b25zL3N2Z251bWJlcm9wdGlvbmFsbnVtYmVyLWFuaW1hdGlvbi0zLmh0bWwKKyAgICAgICAgICAg
ICAgIHN2Zy9hbmltYXRpb25zL3N2Z251bWJlcm9wdGlvbmFsbnVtYmVyLWFuaW1hdGlvbi00Lmh0
bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGRlZCBuZXcgZmlsZXMgdG8gYnVpbGQg
c3lzdGVtLgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06IERpdHRvLgorICAgICAgICAq
IFdlYkNvcmUuZ3lwaTogRGl0dG8uCisgICAgICAgICogV2ViQ29yZS5wcm86IERpdHRvLgorICAg
ICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOiBEaXR0by4KKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IERpdHRvLgorICAgICAgICAqIHN2Zy9T
VkdBbGxJbk9uZS5jcHA6IERpdHRvLgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRlRWxlbWVudC5j
cHA6IE1ha2UgdXNlIG9mIGF0dHJpYnV0ZSB0eXBlIEFuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1i
ZXIuCisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRlRWxlbWVudDo6ZGV0ZXJtaW5lQW5pbWF0
ZWRBdHRyaWJ1dGVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVFbGVtZW50Ojpj
YWxjdWxhdGVBbmltYXRlZFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVFbGVt
ZW50OjpjYWxjdWxhdGVGcm9tQW5kVG9WYWx1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5p
bWF0ZUVsZW1lbnQ6OmNhbGN1bGF0ZUZyb21BbmRCeVZhbHVlcyk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdBbmltYXRlRWxlbWVudDo6cmVzZXRUb0Jhc2VWYWx1ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdBbmltYXRlRWxlbWVudDo6YXBwbHlSZXN1bHRzVG9UYXJnZXQpOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHQW5pbWF0ZUVsZW1lbnQ6OmNhbGN1bGF0ZURpc3RhbmNlKToKKyAgICAgICAgKiBz
dmcvU1ZHQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlci5jcHA6IEFkZGVkLiBOZXcgYW5pbWF0
b3IgZm9yIFNWR0FuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXIuCisgICAgICAgIChXZWJDb3Jl
OjpTVkdBbmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyQW5pbWF0b3I6OlNWR0FuaW1hdGVkTnVt
YmVyT3B0aW9uYWxOdW1iZXJBbmltYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRl
ZE51bWJlck9wdGlvbmFsTnVtYmVyQW5pbWF0b3I6OmNvbnN0cnVjdEZyb21TdHJpbmcpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlckFuaW1hdG9yOjpj
YWxjdWxhdGVGcm9tQW5kVG9WYWx1ZXMpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRO
dW1iZXJPcHRpb25hbE51bWJlckFuaW1hdG9yOjpjYWxjdWxhdGVGcm9tQW5kQnlWYWx1ZXMpOgor
ICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlckFuaW1hdG9y
OjpjYWxjdWxhdGVBbmltYXRlZFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVk
TnVtYmVyT3B0aW9uYWxOdW1iZXJBbmltYXRvcjo6Y2FsY3VsYXRlRGlzdGFuY2UpOgorICAgICAg
ICAqIHN2Zy9TVkdBbmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyLmg6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlckFuaW1hdG9yOjp+U1ZH
QW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlckFuaW1hdG9yKToKKyAgICAgICAgKiBzdmcvU1ZH
QW5pbWF0ZWRUeXBlLmNwcDogQWRkZWQgbmV3IHR5cGU6IHBhaXI8ZmxvYXQsIGZsb2F0Pi4KKyAg
ICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkVHlwZTo6flNWR0FuaW1hdGVkVHlwZSk6CisgICAg
ICAgIChXZWJDb3JlOjpTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZU51bWJlck9wdGlvbmFsTnVtYmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkVHlwZTo6bnVtYmVyT3B0aW9uYWxOdW1i
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHQW5pbWF0ZWRUeXBlOjp2YWx1ZUFzU3RyaW5nKToK
KyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGVkVHlwZTo6c2V0VmFsdWVBc1N0cmluZyk6Cisg
ICAgICAgICogc3ZnL1NWR0FuaW1hdGVkVHlwZS5oOgorICAgICAgICAqIHN2Zy9TVkdBbmltYXRv
ckZhY3RvcnkuaDogQWRkIG5ldyBhbmltYXRvciB0byBmYWN0b3J5LgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHQW5pbWF0b3JGYWN0b3J5OjpjcmVhdGUpOgorCiAyMDExLTA2LTI1ICBEaW1pdHJpIEds
YXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRh
bSBCYXJ0aC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiA4OTc1MCkKKysrIFNv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNjYxLDYgKzE2
NjEsNyBAQCBJRiAoRU5BQkxFX1NWRykKICAgICAgICAgc3ZnL1NWR0FuaW1hdGVkTGVuZ3RoLmNw
cAogICAgICAgICBzdmcvU1ZHQW5pbWF0ZWROdW1iZXIuY3BwCiAgICAgICAgIHN2Zy9TVkdBbmlt
YXRlZE51bWJlckxpc3QuY3BwCisgICAgICAgIHN2Zy9TVkdBbmltYXRlZE51bWJlck9wdGlvbmFs
TnVtYmVyLmNwcAogICAgICAgICBzdmcvU1ZHQW5pbWF0ZWRQYXRoLmNwcAogICAgICAgICBzdmcv
U1ZHQW5pbWF0ZWRQb2ludExpc3QuY3BwCiAgICAgICAgIHN2Zy9TVkdBbmltYXRlZFJlY3QuY3Bw
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHJldmlzaW9uIDg5NzUwKQorKysg
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkod29ya2luZyBjb3B5KQpAQCAtMzQz
NSw2ICszNDM1LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcv
U1ZHQW5pbWF0ZWROdW1iZXIuaCBcCiAJU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTnVt
YmVyTGlzdC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZE51bWJlckxpc3Qu
aCBcCisJU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXIu
Y3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJl
ci5oIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRQYXRoLmNwcCBcCiAJU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkUGF0aC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9zdmcvU1ZH
QW5pbWF0ZWRQb2ludExpc3QuY3BwIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDg5
NzUwKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0x
MDUyLDYgKzEwNTIsNyBAQAogICAgICAgICAgICAgJ3N2Zy9TVkdBbmltYXRlZExlbmd0aExpc3Qu
aCcsCiAgICAgICAgICAgICAnc3ZnL1NWR0FuaW1hdGVkTnVtYmVyLmgnLAogICAgICAgICAgICAg
J3N2Zy9TVkdBbmltYXRlZE51bWJlckxpc3QuaCcsCisgICAgICAgICAgICAnc3ZnL1NWR0FuaW1h
dGVkTnVtYmVyT3B0aW9uYWxOdW1iZXIuaCcsCiAgICAgICAgICAgICAnc3ZnL1NWR0FuaW1hdGVk
UGF0aC5oJywKICAgICAgICAgICAgICdzdmcvU1ZHQW5pbWF0ZWRQb2ludExpc3QuaCcsCiAgICAg
ICAgICAgICAnc3ZnL1NWR0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oJywKQEAgLTU3MTMs
NiArNTcxNCw3IEBACiAgICAgICAgICAgICAnc3ZnL1NWR0FuaW1hdGVkTGVuZ3RoLmNwcCcsCiAg
ICAgICAgICAgICAnc3ZnL1NWR0FuaW1hdGVkTnVtYmVyLmNwcCcsCiAgICAgICAgICAgICAnc3Zn
L1NWR0FuaW1hdGVkTnVtYmVyTGlzdC5jcHAnLAorICAgICAgICAgICAgJ3N2Zy9TVkdBbmltYXRl
ZE51bWJlck9wdGlvbmFsTnVtYmVyLmNwcCcsCiAgICAgICAgICAgICAnc3ZnL1NWR0FuaW1hdGVk
UGF0aC5jcHAnLAogICAgICAgICAgICAgJ3N2Zy9TVkdBbmltYXRlZFBvaW50TGlzdC5jcHAnLAog
ICAgICAgICAgICAgJ3N2Zy9TVkdBbmltYXRlZFJlY3QuY3BwJywKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJv
CShyZXZpc2lvbiA4OTc1MCkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCSh3b3JraW5n
IGNvcHkpCkBAIC0yMzM1LDYgKzIzMzUsNyBAQCBIRUFERVJTICs9IFwKICAgICBzdmcvU1ZHQW5p
bWF0ZWRMZW5ndGhMaXN0LmggXAogICAgIHN2Zy9TVkdBbmltYXRlZE51bWJlci5oIFwKICAgICBz
dmcvU1ZHQW5pbWF0ZWROdW1iZXJMaXN0LmggXAorICAgIHN2Zy9TVkdBbmltYXRlZE51bWJlck9w
dGlvbmFsTnVtYmVyLmggXAogICAgIHN2Zy9TVkdBbmltYXRlZFBhdGguaCBcCiAgICAgc3ZnL1NW
R0FuaW1hdGVkUHJlc2VydmVBc3BlY3RSYXRpby5oIFwKICAgICBzdmcvU1ZHQW5pbWF0ZWRQb2lu
dExpc3QuaCBcCkBAIC0zMzQwLDYgKzMzNDEsNyBAQCBjb250YWlucyhERUZJTkVTLCBFTkFCTEVf
U1ZHPTEpIHsKICAgICAgICAgICAgICAgc3ZnL1NWR0FuaW1hdGVkTGVuZ3RoLmNwcCBcCiAgICAg
ICAgICAgICAgIHN2Zy9TVkdBbmltYXRlZE51bWJlci5jcHAgXAogICAgICAgICAgICAgICBzdmcv
U1ZHQW5pbWF0ZWROdW1iZXJMaXN0LmNwcCBcCisgICAgICAgICAgICAgIHN2Zy9TVkdBbmltYXRl
ZE51bWJlck9wdGlvbmFsTnVtYmVyLmNwcCBcCiAgICAgICAgICAgICAgIHN2Zy9TVkdBbmltYXRl
ZFBhdGguY3BwIFwKICAgICAgICAgICAgICAgc3ZnL1NWR0FuaW1hdGVkUG9pbnRMaXN0LmNwcCBc
CiAgICAgICAgICAgICAgIHN2Zy9TVkdBbmltYXRlZFJlY3QuY3BwIFwKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiA4OTc0OSkK
KysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5n
IGNvcHkpCkBAIC02NTQwMiw2ICs2NTQwMiwxMCBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxG
aWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxzdmdcU1ZHQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51
bWJlci5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIu
LlxzdmdcU1ZHQW5pbWF0ZWRQYXRoLmgiCiAJCQkJPgogCQkJPC9GaWxlPgpJbmRleDogU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNp
b24gODk3NTApCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTkzMSw2ICs5MzEsOCBAQAogCQk0MUZBMzAzRTEzMTZD
MjlDMDBDMEJGQzUgLyogUmVuZGVyTWVkaWFDb250cm9scy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUZBMzAzQzEzMTZDMjlDMDBDMEJGQzUgLyog
UmVuZGVyTWVkaWFDb250cm9scy5jcHAgKi87IH07CiAJCTQxRkEzMDNGMTMxNkMyOUMwMEMwQkZD
NSAvKiBSZW5kZXJNZWRpYUNvbnRyb2xzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MUZBMzAzRDEzMTZDMjlDMDBDMEJGQzUgLyogUmVuZGVyTWVkaWFD
b250cm9scy5oICovOyB9OwogCQk0MzE0MkU3QTEzQjFFOTc3MDBGMUM4NzEgLyogU1ZHQW5pbWF0
ZWRSZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQzMTQyRTc5MTNCMUU5NzcwMEYxQzg3MSAvKiBTVkdBbmltYXRlZFJlY3QuY3BwICovOyB9Owor
CQk0MzFBMkY5QzEzQjZGMkIwMDA3NzkxRTQgLyogU1ZHQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51
bWJlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDMx
QTJGOUExM0I2RjJCMDAwNzc5MUU0IC8qIFNWR0FuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXIu
aCAqLzsgfTsKKwkJNDMxQTJGOUQxM0I2RjJCMDAwNzc5MUU0IC8qIFNWR0FuaW1hdGVkTnVtYmVy
T3B0aW9uYWxOdW1iZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDMxQTJGOUIxM0I2RjJCMDAwNzc5MUU0IC8qIFNWR0FuaW1hdGVkTnVtYmVyT3B0
aW9uYWxOdW1iZXIuY3BwICovOyB9OwogCQk0MzMxQUM3ODEzQjY4NzAwMDBBOUU1QUUgLyogU1ZH
QW5pbWF0ZWROdW1iZXJMaXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQzMzFBQzc3MTNCNjg3MDAwMEE5RTVBRSAvKiBTVkdBbmltYXRlZE51bWJl
ckxpc3QuY3BwICovOyB9OwogCQk0MzU4RTg2QTEzNjBBMjE2MDBFNDc0OEMgLyogRE9NU1ZHRkVE
cm9wU2hhZG93RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDM1OEU4NjcxMzYwQTIxNjAwRTQ3NDhDIC8qIERPTVNWR0ZFRHJvcFNoYWRvd0Vs
ZW1lbnQuaCAqLzsgfTsKIAkJNDM1OEU4NkIxMzYwQTIxNjAwRTQ3NDhDIC8qIERPTVNWR0ZFRHJv
cFNoYWRvd0VsZW1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MzU4RTg2ODEzNjBBMjE2MDBFNDc0OEMgLyogRE9NU1ZHRkVEcm9wU2hhZG93RWxl
bWVudC5tbSAqLzsgfTsKQEAgLTczOTEsNiArNzM5Myw4IEBACiAJCTQxRkEzMDNDMTMxNkMyOUMw
MEMwQkZDNSAvKiBSZW5kZXJNZWRpYUNvbnRyb2xzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFJlbmRlck1lZGlhQ29udHJvbHMuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MUZBMzAzRDEzMTZDMjlDMDBDMEJGQzUgLyogUmVuZGVyTWVkaWFDb250
cm9scy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJNZWRpYUNvbnRy
b2xzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQzMTQyRTc5MTNCMUU5NzcwMEYx
Qzg3MSAvKiBTVkdBbmltYXRlZFJlY3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gU1ZHQW5pbWF0ZWRSZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNDMxQTJGOUExM0I2RjJCMDAwNzc5MUU0IC8qIFNWR0FuaW1hdGVkTnVtYmVyT3B0aW9uYWxO
dW1iZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU1ZHQW5pbWF0ZWROdW1i
ZXJPcHRpb25hbE51bWJlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MzFBMkY5
QjEzQjZGMkIwMDA3NzkxRTQgLyogU1ZHQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdBbmltYXRlZE51bWJlck9w
dGlvbmFsTnVtYmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDMzMUFDNzcx
M0I2ODcwMDAwQTlFNUFFIC8qIFNWR0FuaW1hdGVkTnVtYmVyTGlzdC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdBbmltYXRlZE51bWJlckxpc3QuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MzU4RTg2NzEzNjBBMjE2MDBFNDc0OEMgLyogRE9N
U1ZHRkVEcm9wU2hhZG93RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBET01TVkdGRURyb3BTaGFkb3dFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQzNThFODY4MTM2MEEyMTYwMEU0NzQ4QyAvKiBET01TVkdGRURyb3BTaGFkb3dFbGVtZW50
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRE9NU1ZHRkVEcm9w
U2hhZG93RWxlbWVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3NDEwLDYg
KzE3NDE0LDggQEAKIAkJCQk0MzMxQUM3NzEzQjY4NzAwMDBBOUU1QUUgLyogU1ZHQW5pbWF0ZWRO
dW1iZXJMaXN0LmNwcCAqLywKIAkJCQkwOEIzNUIxNjEyN0I2QTg4MDA1MzE0REQgLyogU1ZHQW5p
bWF0ZWROdW1iZXJMaXN0LmggKi8sCiAJCQkJQjIyMjc3RUQwRDAwQkYxRjAwNzFCNzgyIC8qIFNW
R0FuaW1hdGVkTnVtYmVyTGlzdC5pZGwgKi8sCisJCQkJNDMxQTJGOUExM0I2RjJCMDAwNzc5MUU0
IC8qIFNWR0FuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXIuaCAqLywKKwkJCQk0MzFBMkY5QjEz
QjZGMkIwMDA3NzkxRTQgLyogU1ZHQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlci5jcHAgKi8s
CiAJCQkJMDg2Mzk1MTMxM0I1RkU1NzAwQkIzNDREIC8qIFNWR0FuaW1hdGVkUGF0aC5jcHAgKi8s
CiAJCQkJMDg2Mzk1MTQxM0I1RkU1NzAwQkIzNDREIC8qIFNWR0FuaW1hdGVkUGF0aC5oICovLAog
CQkJCTQzQjkzMzY3MTNCMjYxQjEwMDQ1ODRCRiAvKiBTVkdBbmltYXRlZFBvaW50TGlzdC5oICov
LApAQCAtMjMwNjYsNiArMjMwNzIsNyBAQAogCQkJCTQzQTYyNUY4MTNCMzMwNDAwMEFDOTRCOCAv
KiBTVkdBbmltYXRlZENvbG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQkwODc1NThDNjEzQjRBNTdE
MDBGNDkzMDcgLyogU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwODYzOTUxNjEzQjVGRTU3MDBCQjM0NEQgLyogU1ZHQW5pbWF0ZWRQYXRoLmggaW4g
SGVhZGVycyAqLywKKwkJCQk0MzFBMkY5QzEzQjZGMkIwMDA3NzkxRTQgLyogU1ZHQW5pbWF0ZWRO
dW1iZXJPcHRpb25hbE51bWJlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yNTgzMSw2ICsyNTgzOCw3
IEBACiAJCQkJMDhCNUYyNTUxM0I1RkZGMjAwMjk1OUVDIC8qIFNWR0FuaW1hdGVkUGF0aC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkzNzZEQ0NFMTEzQjRGOTY2MDAyRUJFRkMgLyogVGV4dFJ1bi5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk0MzMxQUM3ODEzQjY4NzAwMDBBOUU1QUUgLyogU1ZHQW5p
bWF0ZWROdW1iZXJMaXN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQzMUEyRjlEMTNCNkYyQjAw
MDc3OTFFNCAvKiBTVkdBbmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwog
CQl9OwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FsbEluT25lLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQWxsSW5PbmUuY3BwCShyZXZpc2lvbiA4OTc1MCkK
KysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbGxJbk9uZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJTVkdBbmltYXRlZExlbmd0aC5jcHAiCiAjaW5jbHVk
ZSAiU1ZHQW5pbWF0ZWROdW1iZXIuY3BwIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTnVtYmVyTGlz
dC5jcHAiCisjaW5jbHVkZSAiU1ZHQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlci5jcHAiCiAj
aW5jbHVkZSAiU1ZHQW5pbWF0ZWRQYXRoLmNwcCIKICNpbmNsdWRlICJTVkdBbmltYXRlZFBvaW50
TGlzdC5jcHAiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRSZWN0LmNwcCIKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdBbmltYXRlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0FuaW1hdGVFbGVtZW50LmNwcAkocmV2aXNpb24gODk3NTApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZUVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MTEsNyArMTExLDYgQEAgQW5pbWF0ZWRBdHRyaWJ1dGVUeXBlIFNWR0FuaW1hdGVFbGVtZW50Ogog
ICAgICAgICByZXR1cm4gQW5pbWF0ZWRBbmdsZTsKICAgICBjYXNlIEFuaW1hdGVkQm9vbGVhbjoK
ICAgICBjYXNlIEFuaW1hdGVkRW51bWVyYXRpb246Ci0gICAgY2FzZSBBbmltYXRlZE51bWJlck9w
dGlvbmFsTnVtYmVyOgogICAgIGNhc2UgQW5pbWF0ZWRMZW5ndGhMaXN0OgogICAgIGNhc2UgQW5p
bWF0ZWRQcmVzZXJ2ZUFzcGVjdFJhdGlvOgogICAgIGNhc2UgQW5pbWF0ZWRTdHJpbmc6CkBAIC0x
MjUsNiArMTI0LDggQEAgQW5pbWF0ZWRBdHRyaWJ1dGVUeXBlIFNWR0FuaW1hdGVFbGVtZW50Ogog
ICAgICAgICByZXR1cm4gQW5pbWF0ZWROdW1iZXI7CiAgICAgY2FzZSBBbmltYXRlZE51bWJlckxp
c3Q6CiAgICAgICAgIHJldHVybiBBbmltYXRlZE51bWJlckxpc3Q7CisgICAgY2FzZSBBbmltYXRl
ZE51bWJlck9wdGlvbmFsTnVtYmVyOgorICAgICAgICByZXR1cm4gQW5pbWF0ZWROdW1iZXJPcHRp
b25hbE51bWJlcjsKICAgICBjYXNlIEFuaW1hdGVkUGF0aDoKICAgICAgICAgcmV0dXJuIEFuaW1h
dGVkUGF0aDsKICAgICBjYXNlIEFuaW1hdGVkUG9pbnRzOgpAQCAtMTY0LDcgKzE2NSw4IEBAIHZv
aWQgU1ZHQW5pbWF0ZUVsZW1lbnQ6OmNhbGN1bGF0ZUFuaW1hdGUKICAgICBjYXNlIEFuaW1hdGVk
Q29sb3I6CiAgICAgY2FzZSBBbmltYXRlZExlbmd0aDoKICAgICBjYXNlIEFuaW1hdGVkTnVtYmVy
OgotICAgIGNhc2UgQW5pbWF0ZWROdW1iZXJMaXN0OiAgICAgICAgICAgIAorICAgIGNhc2UgQW5p
bWF0ZWROdW1iZXJMaXN0OgorICAgIGNhc2UgQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlcjoK
ICAgICBjYXNlIEFuaW1hdGVkUGF0aDoKICAgICBjYXNlIEFuaW1hdGVkUG9pbnRzOgogICAgIGNh
c2UgQW5pbWF0ZWRSZWN0OgpAQCAtMjMxLDYgKzIzMyw3IEBAIGJvb2wgU1ZHQW5pbWF0ZUVsZW1l
bnQ6OmNhbGN1bGF0ZUZyb21BbmQKICAgICBjYXNlIEFuaW1hdGVkTGVuZ3RoOgogICAgIGNhc2Ug
QW5pbWF0ZWROdW1iZXI6CiAgICAgY2FzZSBBbmltYXRlZE51bWJlckxpc3Q6CisgICAgY2FzZSBB
bmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyOgogICAgIGNhc2UgQW5pbWF0ZWRQYXRoOgogICAg
IGNhc2UgQW5pbWF0ZWRQb2ludHM6CiAgICAgY2FzZSBBbmltYXRlZFJlY3Q6CkBAIC0yNTgsNiAr
MjYxLDcgQEAgYm9vbCBTVkdBbmltYXRlRWxlbWVudDo6Y2FsY3VsYXRlRnJvbUFuZAogICAgIGNh
c2UgQW5pbWF0ZWRMZW5ndGg6CiAgICAgY2FzZSBBbmltYXRlZE51bWJlcjoKICAgICBjYXNlIEFu
aW1hdGVkTnVtYmVyTGlzdDoKKyAgICBjYXNlIEFuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXI6
CiAgICAgY2FzZSBBbmltYXRlZFBvaW50czoKICAgICBjYXNlIEFuaW1hdGVkUmVjdDoKICAgICBj
YXNlIEFuaW1hdGVkU3RyaW5nOgpAQCAtMjg0LDYgKzI4OCw3IEBAIHZvaWQgU1ZHQW5pbWF0ZUVs
ZW1lbnQ6OnJlc2V0VG9CYXNlVmFsdWUKICAgICBjYXNlIEFuaW1hdGVkTGVuZ3RoOgogICAgIGNh
c2UgQW5pbWF0ZWROdW1iZXI6CiAgICAgY2FzZSBBbmltYXRlZE51bWJlckxpc3Q6CisgICAgY2Fz
ZSBBbmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyOgogICAgIGNhc2UgQW5pbWF0ZWRQYXRoOgog
ICAgIGNhc2UgQW5pbWF0ZWRQb2ludHM6CiAgICAgY2FzZSBBbmltYXRlZFJlY3Q6CkBAIC0zMDks
NiArMzE0LDcgQEAgdm9pZCBTVkdBbmltYXRlRWxlbWVudDo6YXBwbHlSZXN1bHRzVG9UYQogICAg
IGNhc2UgQW5pbWF0ZWRMZW5ndGg6CiAgICAgY2FzZSBBbmltYXRlZE51bWJlcjoKICAgICBjYXNl
IEFuaW1hdGVkTnVtYmVyTGlzdDoKKyAgICBjYXNlIEFuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1i
ZXI6CiAgICAgY2FzZSBBbmltYXRlZFBhdGg6CiAgICAgY2FzZSBBbmltYXRlZFBvaW50czoKICAg
ICBjYXNlIEFuaW1hdGVkUmVjdDoKQEAgLTMzNCw2ICszNDAsNyBAQCBmbG9hdCBTVkdBbmltYXRl
RWxlbWVudDo6Y2FsY3VsYXRlRGlzdGFuCiAgICAgY2FzZSBBbmltYXRlZExlbmd0aDoKICAgICBj
YXNlIEFuaW1hdGVkTnVtYmVyOgogICAgIGNhc2UgQW5pbWF0ZWROdW1iZXJMaXN0OgorICAgIGNh
c2UgQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlcjoKICAgICBjYXNlIEFuaW1hdGVkUGF0aDoK
ICAgICBjYXNlIEFuaW1hdGVkUG9pbnRzOgogICAgIGNhc2UgQW5pbWF0ZWRSZWN0OgpJbmRleDog
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZE51bWJlck9wdGlvbmFs
TnVtYmVyLmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRl
ZE51bWJlck9wdGlvbmFsTnVtYmVyLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMDUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTEuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShTVkcp
ICYmIEVOQUJMRShTVkdfQU5JTUFUSU9OKQorI2luY2x1ZGUgIlNWR0FuaW1hdGVkTnVtYmVyT3B0
aW9uYWxOdW1iZXIuaCIKKworI2luY2x1ZGUgIlNWR0FuaW1hdGVFbGVtZW50LmgiCisjaW5jbHVk
ZSAiU1ZHQW5pbWF0ZWROdW1iZXIuaCIKKyNpbmNsdWRlICJTVkdQYXJzZXJVdGlsaXRpZXMuaCIK
KwordXNpbmcgbmFtZXNwYWNlIHN0ZDsKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitTVkdBbmlt
YXRlZE51bWJlck9wdGlvbmFsTnVtYmVyQW5pbWF0b3I6OlNWR0FuaW1hdGVkTnVtYmVyT3B0aW9u
YWxOdW1iZXJBbmltYXRvcihTVkdBbmltYXRpb25FbGVtZW50KiBhbmltYXRpb25FbGVtZW50LCBT
VkdFbGVtZW50KiBjb250ZXh0RWxlbWVudCkKKyAgICA6IFNWR0FuaW1hdGVkVHlwZUFuaW1hdG9y
KEFuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXIsIGFuaW1hdGlvbkVsZW1lbnQsIGNvbnRleHRF
bGVtZW50KQoreworfQorCitQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRO
dW1iZXJPcHRpb25hbE51bWJlckFuaW1hdG9yOjpjb25zdHJ1Y3RGcm9tU3RyaW5nKGNvbnN0IFN0
cmluZyYgc3RyaW5nKQoreworICAgIE93blB0cjxTVkdBbmltYXRlZFR5cGU+IGFuaW10ZWRUeXBl
ID0gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVhdGVOdW1iZXJPcHRpb25hbE51bWJlcihuZXcgcGFpcjxm
bG9hdCwgZmxvYXQ+KTsKKyAgICBwYWlyPGZsb2F0LCBmbG9hdD4mIGFuaW1hdGVkTnVtYmVyID0g
YW5pbXRlZFR5cGUtPm51bWJlck9wdGlvbmFsTnVtYmVyKCk7CisgICAgaWYgKCFwYXJzZU51bWJl
ck9wdGlvbmFsTnVtYmVyKHN0cmluZywgYW5pbWF0ZWROdW1iZXIuZmlyc3QsIGFuaW1hdGVkTnVt
YmVyLnNlY29uZCkpIHsKKyAgICAgICAgYW5pbWF0ZWROdW1iZXIuZmlyc3QgPSAwOworICAgICAg
ICBhbmltYXRlZE51bWJlci5zZWNvbmQgPSAwOworICAgIH0KKyAgICByZXR1cm4gYW5pbXRlZFR5
cGUucmVsZWFzZSgpOworfQorCit2b2lkIFNWR0FuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXJB
bmltYXRvcjo6Y2FsY3VsYXRlRnJvbUFuZFRvVmFsdWVzKE93blB0cjxTVkdBbmltYXRlZFR5cGU+
JiBmcm9tLCBPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiYgdG8sIGNvbnN0IFN0cmluZyYgZnJvbVN0
cmluZywgY29uc3QgU3RyaW5nJiB0b1N0cmluZykKK3sKKyAgICBBU1NFUlQobV9jb250ZXh0RWxl
bWVudCk7CisgICAgQVNTRVJUKG1fYW5pbWF0aW9uRWxlbWVudCk7CisgICAgU1ZHQW5pbWF0ZUVs
ZW1lbnQqIGFuaW1hdGlvbkVsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdBbmltYXRlRWxlbWVudCo+
KG1fYW5pbWF0aW9uRWxlbWVudCk7CisgICAgYW5pbWF0aW9uRWxlbWVudC0+ZGV0ZXJtaW5lUHJv
cGVydHlWYWx1ZVR5cGVzKGZyb21TdHJpbmcsIHRvU3RyaW5nKTsKKyAgICAKKyAgICBmcm9tID0g
Y29uc3RydWN0RnJvbVN0cmluZyhmcm9tU3RyaW5nKTsKKyAgICB0byA9IGNvbnN0cnVjdEZyb21T
dHJpbmcodG9TdHJpbmcpOworfQorCit2b2lkIFNWR0FuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1i
ZXJBbmltYXRvcjo6Y2FsY3VsYXRlRnJvbUFuZEJ5VmFsdWVzKE93blB0cjxTVkdBbmltYXRlZFR5
cGU+JiBmcm9tLCBPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiYgdG8sIGNvbnN0IFN0cmluZyYgZnJv
bVN0cmluZywgY29uc3QgU3RyaW5nJiBieVN0cmluZykKK3sKKyAgICBBU1NFUlQobV9jb250ZXh0
RWxlbWVudCk7CisgICAgQVNTRVJUKG1fYW5pbWF0aW9uRWxlbWVudCk7CisgICAgU1ZHQW5pbWF0
ZUVsZW1lbnQqIGFuaW1hdGlvbkVsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdBbmltYXRlRWxlbWVu
dCo+KG1fYW5pbWF0aW9uRWxlbWVudCk7CisgICAgYW5pbWF0aW9uRWxlbWVudC0+ZGV0ZXJtaW5l
UHJvcGVydHlWYWx1ZVR5cGVzKGZyb21TdHJpbmcsIGJ5U3RyaW5nKTsKKyAgICAKKyAgICBmcm9t
ID0gY29uc3RydWN0RnJvbVN0cmluZyhmcm9tU3RyaW5nKTsKKyAgICB0byA9IGNvbnN0cnVjdEZy
b21TdHJpbmcoYnlTdHJpbmcpOworCisgICAgcGFpcjxmbG9hdCwgZmxvYXQ+JiBmcm9tTnVtYmVy
UGFpciA9IGZyb20tPm51bWJlck9wdGlvbmFsTnVtYmVyKCk7CisgICAgcGFpcjxmbG9hdCwgZmxv
YXQ+JiB0b051bWJlclBhaXIgPSB0by0+bnVtYmVyT3B0aW9uYWxOdW1iZXIoKTsKKyAgICAKKyAg
ICB0b051bWJlclBhaXIuZmlyc3QgKz0gZnJvbU51bWJlclBhaXIuZmlyc3Q7CisgICAgdG9OdW1i
ZXJQYWlyLnNlY29uZCArPSBmcm9tTnVtYmVyUGFpci5zZWNvbmQ7Cit9CisKK3ZvaWQgU1ZHQW5p
bWF0ZWROdW1iZXJPcHRpb25hbE51bWJlckFuaW1hdG9yOjpjYWxjdWxhdGVBbmltYXRlZFZhbHVl
KGZsb2F0IHBlcmNlbnRhZ2UsIHVuc2lnbmVkIHJlcGVhdENvdW50LAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE93blB0cjxTVkdBbmltYXRl
ZFR5cGU+JiBmcm9tLCBPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiYgdG8sIE93blB0cjxTVkdBbmlt
YXRlZFR5cGU+JiBhbmltYXRlZCkKK3sKKyAgICBBU1NFUlQobV9hbmltYXRpb25FbGVtZW50KTsK
KyAgICBBU1NFUlQobV9jb250ZXh0RWxlbWVudCk7CisKKyAgICBTVkdBbmltYXRlRWxlbWVudCog
YW5pbWF0aW9uRWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR0FuaW1hdGVFbGVtZW50Kj4obV9hbmlt
YXRpb25FbGVtZW50KTsKKyAgICBBbmltYXRpb25Nb2RlIGFuaW1hdGlvbk1vZGUgPSBhbmltYXRp
b25FbGVtZW50LT5hbmltYXRpb25Nb2RlKCk7CisKKyAgICAvLyBUbyBhbmltYXRpb24gdXNlcyBj
b250cmlidXRpb25zIGZyb20gdGhlIGxvd2VyIHByaW9yaXR5IGFuaW1hdGlvbnMgYXMgdGhlIGJh
c2UgdmFsdWUuCisgICAgcGFpcjxmbG9hdCwgZmxvYXQ+JiBmcm9tTnVtYmVyUGFpciA9IGZyb20t
Pm51bWJlck9wdGlvbmFsTnVtYmVyKCk7CisgICAgcGFpcjxmbG9hdCwgZmxvYXQ+JiBhbmltYXRl
ZE51bWJlclBhaXIgPSBhbmltYXRlZC0+bnVtYmVyT3B0aW9uYWxOdW1iZXIoKTsKKyAgICBpZiAo
YW5pbWF0aW9uTW9kZSA9PSBUb0FuaW1hdGlvbikKKyAgICAgICAgZnJvbU51bWJlclBhaXIgPSBh
bmltYXRlZE51bWJlclBhaXI7CisKKyAgICBwYWlyPGZsb2F0LCBmbG9hdD4mIHRvTnVtYmVyUGFp
ciA9IHRvLT5udW1iZXJPcHRpb25hbE51bWJlcigpOworICAgIFNWR0FuaW1hdGVkTnVtYmVyQW5p
bWF0b3I6OmNhbGN1bGF0ZUFuaW1hdGVkTnVtYmVyKGFuaW1hdGlvbkVsZW1lbnQsIHBlcmNlbnRh
Z2UsIHJlcGVhdENvdW50LCBhbmltYXRlZE51bWJlclBhaXIuZmlyc3QsIGZyb21OdW1iZXJQYWly
LmZpcnN0LCB0b051bWJlclBhaXIuZmlyc3QpOworICAgIFNWR0FuaW1hdGVkTnVtYmVyQW5pbWF0
b3I6OmNhbGN1bGF0ZUFuaW1hdGVkTnVtYmVyKGFuaW1hdGlvbkVsZW1lbnQsIHBlcmNlbnRhZ2Us
IHJlcGVhdENvdW50LCBhbmltYXRlZE51bWJlclBhaXIuc2Vjb25kLCBmcm9tTnVtYmVyUGFpci5z
ZWNvbmQsIHRvTnVtYmVyUGFpci5zZWNvbmQpOworfQorCitmbG9hdCBTVkdBbmltYXRlZE51bWJl
ck9wdGlvbmFsTnVtYmVyQW5pbWF0b3I6OmNhbGN1bGF0ZURpc3RhbmNlKGNvbnN0IFN0cmluZyYs
IGNvbnN0IFN0cmluZyYpCit7CisgICAgLy8gRklYTUU6IERpc3RhbmNlIGNhbGN1bGF0aW9uIGlz
IG5vdCBwb3NzaWJsZSBmb3IgU1ZHTnVtYmVyT3B0aW9uYWxOdW1iZXIgcmlnaHQgbm93LiBXZSBu
ZWVkIHRoZSBkaXN0YW5jZSBmb3IgZXZlcnkgc2luZ2xlIHZhbHVlLgorICAgIHJldHVybiAtMTsK
K30KKworfQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykgJiYgRU5BQkxFKFNWR19BTklNQVRJT04p
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJl
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZE51bWJlck9w
dGlvbmFsTnVtYmVyLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5p
bWF0ZWROdW1iZXJPcHRpb25hbE51bWJlci5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ5IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZCAyMDEwLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIFNWR0FuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1i
ZXJfaAorI2RlZmluZSBTVkdBbmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyX2gKKworI2lmIEVO
QUJMRShTVkcpICYmIEVOQUJMRShTVkdfQU5JTUFUSU9OKQorI2luY2x1ZGUgIlNWR0FuaW1hdGVk
VHlwZUFuaW1hdG9yLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU1ZHQW5pbWF0
aW9uRWxlbWVudDsKKworY2xhc3MgU1ZHQW5pbWF0ZWROdW1iZXJPcHRpb25hbE51bWJlckFuaW1h
dG9yIDogcHVibGljIFNWR0FuaW1hdGVkVHlwZUFuaW1hdG9yIHsKKyAgICAKK3B1YmxpYzoKKyAg
ICBTVkdBbmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyQW5pbWF0b3IoU1ZHQW5pbWF0aW9uRWxl
bWVudCosIFNWR0VsZW1lbnQqKTsKKyAgICB2aXJ0dWFsIH5TVkdBbmltYXRlZE51bWJlck9wdGlv
bmFsTnVtYmVyQW5pbWF0b3IoKSB7IH0KKyAgICAKKyAgICBzdGF0aWMgdm9pZCBjYWxjdWxhdGVB
bmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyKFNWR0FuaW1hdGlvbkVsZW1lbnQqLCBmbG9hdCBw
ZXJjZW50YWdlLCB1bnNpZ25lZCByZXBlYXRDb3VudCwgZmxvYXQmIGFuaW1hdGVkTnVtYmVyLCBm
bG9hdCBmcm9tTnVtYmVyLCBmbG9hdCB0b051bWJlcik7CisgICAgCisgICAgdmlydHVhbCBQYXNz
T3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gY29uc3RydWN0RnJvbVN0cmluZyhjb25zdCBTdHJpbmcm
KTsKKyAgICAKKyAgICB2aXJ0dWFsIHZvaWQgY2FsY3VsYXRlRnJvbUFuZFRvVmFsdWVzKE93blB0
cjxTVkdBbmltYXRlZFR5cGU+JiBmcm9tVmFsdWUsIE93blB0cjxTVkdBbmltYXRlZFR5cGU+JiB0
b1ZhbHVlLCBjb25zdCBTdHJpbmcmIGZyb21TdHJpbmcsIGNvbnN0IFN0cmluZyYgdG9TdHJpbmcp
OworICAgIHZpcnR1YWwgdm9pZCBjYWxjdWxhdGVGcm9tQW5kQnlWYWx1ZXMoT3duUHRyPFNWR0Fu
aW1hdGVkVHlwZT4mIGZyb21WYWx1ZSwgT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4mIHRvVmFsdWUs
IGNvbnN0IFN0cmluZyYgZnJvbVN0cmluZywgY29uc3QgU3RyaW5nJiBieVN0cmluZyk7CisgICAg
dmlydHVhbCB2b2lkIGNhbGN1bGF0ZUFuaW1hdGVkVmFsdWUoZmxvYXQgcGVyY2VudGFnZSwgdW5z
aWduZWQgcmVwZWF0Q291bnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4mIGZyb21WYWx1ZSwgT3duUHRyPFNWR0FuaW1hdGVk
VHlwZT4mIHRvVmFsdWUsIE93blB0cjxTVkdBbmltYXRlZFR5cGU+JiBhbmltYXRlZFZhbHVlKTsK
KyAgICB2aXJ0dWFsIGZsb2F0IGNhbGN1bGF0ZURpc3RhbmNlKGNvbnN0IFN0cmluZyYgZnJvbVN0
cmluZywgY29uc3QgU3RyaW5nJiB0b1N0cmluZyk7Cit9OworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykgJiYgRU5BQkxFKFNWR19BTklNQVRJT04pCisjZW5k
aWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFR5cGUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFR5cGUuY3BwCShyZXZpc2lvbiA4
OTc1MCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZFR5cGUuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMSw2ICszMSw4IEBACiAjaW5jbHVkZSAiU1ZHUGF0aFBhcnNlckZhY3Rvcnku
aCIKICNpbmNsdWRlICJTVkdQb2ludExpc3QuaCIKIAordXNpbmcgbmFtZXNwYWNlIHN0ZDsKKwog
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBTVkdBbmltYXRlZFR5cGU6OlNWR0FuaW1hdGVkVHlwZShB
bmltYXRlZEF0dHJpYnV0ZVR5cGUgdHlwZSkKQEAgLTU2LDYgKzU4LDkgQEAgU1ZHQW5pbWF0ZWRU
eXBlOjp+U1ZHQW5pbWF0ZWRUeXBlKCkKICAgICBjYXNlIEFuaW1hdGVkTnVtYmVyTGlzdDoKICAg
ICAgICAgZGVsZXRlIG1fZGF0YS5udW1iZXJMaXN0OwogICAgICAgICBicmVhazsKKyAgICBjYXNl
IEFuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXI6CisgICAgICAgIGRlbGV0ZSBtX2RhdGEubnVt
YmVyT3B0aW9uYWxOdW1iZXI7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQW5pbWF0ZWRQYXRo
OgogICAgICAgICBkZWxldGUgbV9kYXRhLnBhdGg7CiAgICAgICAgIGJyZWFrOwpAQCAtMTE0LDYg
KzExOSwxNCBAQCBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRUCiAgICAg
cmV0dXJuIGFuaW1hdGVkVHlwZS5yZWxlYXNlKCk7CiB9CiAKK1Bhc3NPd25QdHI8U1ZHQW5pbWF0
ZWRUeXBlPiBTVkdBbmltYXRlZFR5cGU6OmNyZWF0ZU51bWJlck9wdGlvbmFsTnVtYmVyKHBhaXI8
ZmxvYXQsIGZsb2F0PiogbnVtYmVyT3B0aW9uYWxOdW1iZXIpCit7CisgICAgQVNTRVJUKG51bWJl
ck9wdGlvbmFsTnVtYmVyKTsKKyAgICBPd25QdHI8U1ZHQW5pbWF0ZWRUeXBlPiBhbmltYXRlZFR5
cGUgPSBhZG9wdFB0cihuZXcgU1ZHQW5pbWF0ZWRUeXBlKEFuaW1hdGVkTnVtYmVyT3B0aW9uYWxO
dW1iZXIpKTsKKyAgICBhbmltYXRlZFR5cGUtPm1fZGF0YS5udW1iZXJPcHRpb25hbE51bWJlciA9
IG51bWJlck9wdGlvbmFsTnVtYmVyOworICAgIHJldHVybiBhbmltYXRlZFR5cGUucmVsZWFzZSgp
OworfQorCiBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gU1ZHQW5pbWF0ZWRUeXBlOjpjcmVh
dGVQYXRoKFBhc3NPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IHBhdGgpCiB7CiAgICAgQVNTRVJU
KHBhdGgpOwpAQCAtMTc2LDYgKzE4OSwxMiBAQCBTVkdOdW1iZXJMaXN0JiBTVkdBbmltYXRlZFR5
cGU6Om51bWJlckxpCiAgICAgcmV0dXJuICptX2RhdGEubnVtYmVyTGlzdDsKIH0KIAorcGFpcjxm
bG9hdCwgZmxvYXQ+JiBTVkdBbmltYXRlZFR5cGU6Om51bWJlck9wdGlvbmFsTnVtYmVyKCkKK3sK
KyAgICBBU1NFUlQobV90eXBlID09IEFuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXIpOworICAg
IHJldHVybiAqbV9kYXRhLm51bWJlck9wdGlvbmFsTnVtYmVyOyAgICAgICAgCit9CisKIFNWR1Bh
dGhCeXRlU3RyZWFtKiBTVkdBbmltYXRlZFR5cGU6OnBhdGgoKQogewogICAgIEFTU0VSVChtX3R5
cGUgPT0gQW5pbWF0ZWRQYXRoKTsKQEAgLTIxOCw2ICsyMzcsOSBAQCBTdHJpbmcgU1ZHQW5pbWF0
ZWRUeXBlOjp2YWx1ZUFzU3RyaW5nKCkKICAgICBjYXNlIEFuaW1hdGVkTnVtYmVyTGlzdDoKICAg
ICAgICAgQVNTRVJUKG1fZGF0YS5udW1iZXJMaXN0KTsKICAgICAgICAgcmV0dXJuIG1fZGF0YS5u
dW1iZXJMaXN0LT52YWx1ZUFzU3RyaW5nKCk7CisgICAgY2FzZSBBbmltYXRlZE51bWJlck9wdGlv
bmFsTnVtYmVyOgorICAgICAgICBBU1NFUlQobV9kYXRhLm51bWJlck9wdGlvbmFsTnVtYmVyKTsK
KyAgICAgICAgcmV0dXJuIFN0cmluZzo6bnVtYmVyKG1fZGF0YS5udW1iZXJPcHRpb25hbE51bWJl
ci0+Zmlyc3QpICsgJyAnICsgU3RyaW5nOjpudW1iZXIobV9kYXRhLm51bWJlck9wdGlvbmFsTnVt
YmVyLT5zZWNvbmQpOwogICAgIGNhc2UgQW5pbWF0ZWRQYXRoOiB7CiAgICAgICAgIEFTU0VSVCht
X2RhdGEucGF0aCk7CiAgICAgICAgIFN0cmluZyByZXN1bHQ7CkBAIC0yNjUsNiArMjg3LDEwIEBA
IGJvb2wgU1ZHQW5pbWF0ZWRUeXBlOjpzZXRWYWx1ZUFzU3RyaW5nKGMKICAgICAgICAgQVNTRVJU
KG1fZGF0YS5udW1iZXJMaXN0KTsKICAgICAgICAgbV9kYXRhLm51bWJlckxpc3QtPnBhcnNlKHZh
bHVlKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBBbmltYXRlZE51bWJlck9wdGlvbmFsTnVt
YmVyOgorICAgICAgICBBU1NFUlQobV9kYXRhLm51bWJlck9wdGlvbmFsTnVtYmVyKTsKKyAgICAg
ICAgcGFyc2VOdW1iZXJPcHRpb25hbE51bWJlcih2YWx1ZSwgbV9kYXRhLm51bWJlck9wdGlvbmFs
TnVtYmVyLT5maXJzdCwgbV9kYXRhLm51bWJlck9wdGlvbmFsTnVtYmVyLT5zZWNvbmQpOworICAg
ICAgICBicmVhazsKICAgICBjYXNlIEFuaW1hdGVkUGF0aDogewogICAgICAgICBBU1NFUlQobV9k
YXRhLnBhdGgpOwogICAgICAgICBPd25QdHI8U1ZHUGF0aEJ5dGVTdHJlYW0+IHBhdGhCeXRlU3Ry
ZWFtID0gYWRvcHRQdHIobV9kYXRhLnBhdGgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL1NW
R0FuaW1hdGVkVHlwZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmlt
YXRlZFR5cGUuaAkocmV2aXNpb24gODk3NTApCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5p
bWF0ZWRUeXBlLmgJKHdvcmtpbmcgY29weSkKQEAgLTIyLDcgKzIyLDggQEAKIAogI2lmIEVOQUJM
RShTVkcpICYmIEVOQUJMRShTVkdfQU5JTUFUSU9OKQogI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIK
LSNpbmNsdWRlICJTVkdQYXRoQnl0ZVN0cmVhbS5oIgorCit1c2luZyBuYW1lc3BhY2Ugc3RkOwog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTMxLDYgKzMyLDcgQEAgY2xhc3MgRmxvYXRSZWN0
OwogY2xhc3MgU1ZHQW5nbGU7CiBjbGFzcyBTVkdMZW5ndGg7CiBjbGFzcyBTVkdOdW1iZXJMaXN0
OworY2xhc3MgU1ZHUGF0aEJ5dGVTdHJlYW07CiBjbGFzcyBTVkdQb2ludExpc3Q7CiAKIGNsYXNz
IFNWR0FuaW1hdGVkVHlwZSB7CkBAIC00Myw2ICs0NSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+IGNyZWF0ZUxlbmd0aChTVkdMZW5ndGgqKTsKICAg
ICBzdGF0aWMgUGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+IGNyZWF0ZU51bWJlcihmbG9hdCop
OwogICAgIHN0YXRpYyBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlwZT4gY3JlYXRlTnVtYmVyTGlz
dChTVkdOdW1iZXJMaXN0Kik7CisgICAgc3RhdGljIFBhc3NPd25QdHI8U1ZHQW5pbWF0ZWRUeXBl
PiBjcmVhdGVOdW1iZXJPcHRpb25hbE51bWJlcihwYWlyPGZsb2F0LCBmbG9hdD4qKTsKICAgICBz
dGF0aWMgUGFzc093blB0cjxTVkdBbmltYXRlZFR5cGU+IGNyZWF0ZVBhdGgoUGFzc093blB0cjxT
VkdQYXRoQnl0ZVN0cmVhbT4pOwogICAgIHN0YXRpYyBQYXNzT3duUHRyPFNWR0FuaW1hdGVkVHlw
ZT4gY3JlYXRlUG9pbnRMaXN0KFNWR1BvaW50TGlzdCopOwogICAgIHN0YXRpYyBQYXNzT3duUHRy
PFNWR0FuaW1hdGVkVHlwZT4gY3JlYXRlUmVjdChGbG9hdFJlY3QqKTsKQEAgLTU1LDYgKzU4LDcg
QEAgcHVibGljOgogICAgIFNWR0xlbmd0aCYgbGVuZ3RoKCk7CiAgICAgZmxvYXQmIG51bWJlcigp
OwogICAgIFNWR051bWJlckxpc3QmIG51bWJlckxpc3QoKTsKKyAgICBwYWlyPGZsb2F0LCBmbG9h
dD4mIG51bWJlck9wdGlvbmFsTnVtYmVyKCk7CiAgICAgU1ZHUGF0aEJ5dGVTdHJlYW0qIHBhdGgo
KTsKICAgICBTVkdQb2ludExpc3QmIHBvaW50TGlzdCgpOwogICAgIEZsb2F0UmVjdCYgcmVjdCgp
OwpAQCAtODAsNiArODQsNyBAQCBwcml2YXRlOgogICAgICAgICBTVkdMZW5ndGgqIGxlbmd0aDsK
ICAgICAgICAgZmxvYXQqIG51bWJlcjsKICAgICAgICAgU1ZHTnVtYmVyTGlzdCogbnVtYmVyTGlz
dDsKKyAgICAgICAgcGFpcjxmbG9hdCwgZmxvYXQ+KiBudW1iZXJPcHRpb25hbE51bWJlcjsKICAg
ICAgICAgU1ZHUGF0aEJ5dGVTdHJlYW0qIHBhdGg7CiAgICAgICAgIFNWR1BvaW50TGlzdCogcG9p
bnRMaXN0OwogICAgICAgICBGbG9hdFJlY3QqIHJlY3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9z
dmcvU1ZHQW5pbWF0b3JGYWN0b3J5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0FuaW1hdG9yRmFjdG9yeS5oCShyZXZpc2lvbiA4OTc1MCkKKysrIFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdBbmltYXRvckZhY3RvcnkuaAkod29ya2luZyBjb3B5KQpAQCAtMjYsNiArMjYsNyBA
QAogI2luY2x1ZGUgIlNWR0FuaW1hdGVkTGVuZ3RoLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRO
dW1iZXIuaCIKICNpbmNsdWRlICJTVkdBbmltYXRlZE51bWJlckxpc3QuaCIKKyNpbmNsdWRlICJT
VkdBbmltYXRlZE51bWJlck9wdGlvbmFsTnVtYmVyLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQ
YXRoLmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRQb2ludExpc3QuaCIKICNpbmNsdWRlICJTVkdB
bmltYXRlZFJlY3QuaCIKQEAgLTU0LDYgKzU1LDggQEAgcHVibGljOgogICAgICAgICAgICAgcmV0
dXJuIGFkb3B0UHRyKG5ldyBTVkdBbmltYXRlZE51bWJlckFuaW1hdG9yKGFuaW1hdGlvbkVsZW1l
bnQsIGNvbnRleHRFbGVtZW50KSk7CiAgICAgICAgIGNhc2UgQW5pbWF0ZWROdW1iZXJMaXN0Ogog
ICAgICAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTVkdBbmltYXRlZE51bWJlckxpc3RBbmlt
YXRvcihhbmltYXRpb25FbGVtZW50LCBjb250ZXh0RWxlbWVudCkpOworICAgICAgICBjYXNlIEFu
aW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXI6CisgICAgICAgICAgICByZXR1cm4gYWRvcHRQdHIo
bmV3IFNWR0FuaW1hdGVkTnVtYmVyT3B0aW9uYWxOdW1iZXJBbmltYXRvcihhbmltYXRpb25FbGVt
ZW50LCBjb250ZXh0RWxlbWVudCkpOwogICAgICAgICBjYXNlIEFuaW1hdGVkUGF0aDoKICAgICAg
ICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgU1ZHQW5pbWF0ZWRQYXRoQW5pbWF0b3IoYW5pbWF0
aW9uRWxlbWVudCwgY29udGV4dEVsZW1lbnQpKTsKICAgICAgICAgY2FzZSBBbmltYXRlZFBvaW50
czoKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDg5NzY1KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTEtMDYtMjYgIERpcmsgU2NodWx6ZSAg
PGtyaXRAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBTVkdBbmltYXRlZFR5cGUgc2hvdWxkIHN1cHBvcnQgU1ZHTnVtYmVyT3B0aW9u
YWxOdW1iZXIgYW5pbWF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02MzM5NworICAgICAgICAKKyAgICAgICAgVGVzdCBhbmltYXRpb24gb2YgU1ZH
TnVtYmVyT3B0aW9uYWxOdW1iZXIgdmFsdWVzIHdpdGggYW5kIHdpdGhvdXQgb3B0aW9uYWwgbnVt
YmVyLCBhcyB3ZWxsIGFzICd0bycgYW5kICdieScgYW5pbWF0aW9ucy4KKworICAgICAgICAqIHN2
Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdudW1iZXJvcHRpb25hbG51bWJlci1hbmltYXRp
b24tMS5qczogQWRkZWQuCisgICAgICAgIChzYW1wbGUxKToKKyAgICAgICAgKHNhbXBsZTIpOgor
ICAgICAgICAoc2FtcGxlMyk6CisgICAgICAgIChleGVjdXRlVGVzdCk6CisgICAgICAgICogc3Zn
L2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z251bWJlcm9wdGlvbmFsbnVtYmVyLWFuaW1hdGlv
bi0yLmpzOiBBZGRlZC4KKyAgICAgICAgKHNhbXBsZTEpOgorICAgICAgICAoc2FtcGxlMik6Cisg
ICAgICAgIChzYW1wbGUzKToKKyAgICAgICAgKGV4ZWN1dGVUZXN0KToKKyAgICAgICAgKiBzdmcv
YW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvc3ZnbnVtYmVyb3B0aW9uYWxudW1iZXItYW5pbWF0aW9u
LTMuanM6IEFkZGVkLgorICAgICAgICAoc2FtcGxlMSk6CisgICAgICAgIChzYW1wbGUyKToKKyAg
ICAgICAgKHNhbXBsZTMpOgorICAgICAgICAoZXhlY3V0ZVRlc3QpOgorICAgICAgICAqIHN2Zy9h
bmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdudW1iZXJvcHRpb25hbG51bWJlci1hbmltYXRpb24t
NC5qczogQWRkZWQuCisgICAgICAgIChzYW1wbGUxKToKKyAgICAgICAgKHNhbXBsZTIpOgorICAg
ICAgICAoc2FtcGxlMyk6CisgICAgICAgIChleGVjdXRlVGVzdCk6CisgICAgICAgICogc3ZnL2Fu
aW1hdGlvbnMvc3ZnbnVtYmVyb3B0aW9uYWxudW1iZXItYW5pbWF0aW9uLTEtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9zdmdudW1iZXJvcHRpb25hbG51bWJl
ci1hbmltYXRpb24tMS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9zdmdu
dW1iZXJvcHRpb25hbG51bWJlci1hbmltYXRpb24tMi1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHN2Zy9hbmltYXRpb25zL3N2Z251bWJlcm9wdGlvbmFsbnVtYmVyLWFuaW1hdGlvbi0y
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL3N2Z251bWJlcm9wdGlvbmFs
bnVtYmVyLWFuaW1hdGlvbi0zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2Fu
aW1hdGlvbnMvc3ZnbnVtYmVyb3B0aW9uYWxudW1iZXItYW5pbWF0aW9uLTMuaHRtbDogQWRkZWQu
CisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMvc3ZnbnVtYmVyb3B0aW9uYWxudW1iZXItYW5pbWF0
aW9uLTQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9zdmdu
dW1iZXJvcHRpb25hbG51bWJlci1hbmltYXRpb24tNC5odG1sOiBBZGRlZC4KKwogMjAxMS0wNi0y
NiAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZp
ZXdlZC4gU2tpcCBmYWlsaW5nIHRlc3RzLgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlv
bnMvc3ZnbnVtYmVyb3B0aW9uYWxudW1iZXItYW5pbWF0aW9uLTEtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z251bWJlcm9wdGlvbmFsbnVt
YmVyLWFuaW1hdGlvbi0xLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L3N2Zy9hbmltYXRpb25zL3N2Z251bWJlcm9wdGlvbmFsbnVtYmVyLWFuaW1hdGlvbi0xLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOSBAQAorU1ZHIDEuMSBkeW5hbWljIGFu
aW1hdGlvbiB0ZXN0cworCitUZXN0ICd0bycgYW5pbWF0aW9uIG9mIFNWR051bWJlck9wdGlvbmFs
TnVtYmVyIHdpdGggb3B0aW9uYWwgbnVtYmVyLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
CisKKworUEFTUyBmZUdhdXNzaWFuQmx1ci5zdGREZXZpYXRpb25YLmFuaW1WYWwgaXMgNQorUEFT
UyBmZUdhdXNzaWFuQmx1ci5zdGREZXZpYXRpb25ZLmFuaW1WYWwgaXMgNQorUEFTUyBmZUdhdXNz
aWFuQmx1ci5zdGREZXZpYXRpb25YLmFuaW1WYWwgaXMgMjIuNQorUEFTUyBmZUdhdXNzaWFuQmx1
ci5zdGREZXZpYXRpb25ZLmFuaW1WYWwgaXMgNy41CitQQVNTIGZlR2F1c3NpYW5CbHVyLnN0ZERl
dmlhdGlvblguYW5pbVZhbCBpcyA0MAorUEFTUyBmZUdhdXNzaWFuQmx1ci5zdGREZXZpYXRpb25Z
LmFuaW1WYWwgaXMgMTAKK1BBU1MgZmVHYXVzc2lhbkJsdXIuc3RkRGV2aWF0aW9uWC5hbmltVmFs
IGlzIDUKK1BBU1MgZmVHYXVzc2lhbkJsdXIuc3RkRGV2aWF0aW9uWS5hbmltVmFsIGlzIDUKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBM
YXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdudW1iZXJvcHRpb25hbG51bWJlci1hbmltYXRp
b24tMS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z251
bWJlcm9wdGlvbmFsbnVtYmVyLWFuaW1hdGlvbi0xLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdudW1iZXJvcHRpb25hbG51bWJlci1hbmltYXRpb24t
MS5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE1IEBACis8IURPQ1RZUEUgSFRNTCBQVUJM
SUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNz
cyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2R5bmFtaWMtdXBkYXRlcy9yZXNvdXJjZXMvU1ZH
VGVzdENhc2UuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9TVkdBbmltYXRp
b25UZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxoMT5TVkcgMS4xIGR5
bmFtaWMgYW5pbWF0aW9uIHRlc3RzPC9oMT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRp
diBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3N2Z251bWJl
cm9wdGlvbmFsbnVtYmVyLWFuaW1hdGlvbi0xLmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z251bWJlcm9wdGlvbmFsbnVt
YmVyLWFuaW1hdGlvbi0yLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9z
dmcvYW5pbWF0aW9ucy9zdmdudW1iZXJvcHRpb25hbG51bWJlci1hbmltYXRpb24tMi1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdudW1i
ZXJvcHRpb25hbG51bWJlci1hbmltYXRpb24tMi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMTkgQEAKK1NWRyAxLjEgZHluYW1pYyBhbmltYXRpb24gdGVzdHMKKworVGVzdCAn
dG8nIGFuaW1hdGlvbiBvZiBTVkdOdW1iZXJPcHRpb25hbE51bWJlciB3aXRob3V0IG9wdGlvbmFs
IG51bWJlci4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZmVHYXVzc2lh
bkJsdXIuc3RkRGV2aWF0aW9uWC5hbmltVmFsIGlzIDUKK1BBU1MgZmVHYXVzc2lhbkJsdXIuc3Rk
RGV2aWF0aW9uWS5hbmltVmFsIGlzIDUKK1BBU1MgZmVHYXVzc2lhbkJsdXIuc3RkRGV2aWF0aW9u
WC5hbmltVmFsIGlzIDIyLjUKK1BBU1MgZmVHYXVzc2lhbkJsdXIuc3RkRGV2aWF0aW9uWS5hbmlt
VmFsIGlzIDcuNQorUEFTUyBmZUdhdXNzaWFuQmx1ci5zdGREZXZpYXRpb25YLmFuaW1WYWwgaXMg
NDAKK1BBU1MgZmVHYXVzc2lhbkJsdXIuc3RkRGV2aWF0aW9uWS5hbmltVmFsIGlzIDEwCitQQVNT
IGZlR2F1c3NpYW5CbHVyLnN0ZERldmlhdGlvblguYW5pbVZhbCBpcyA1CitQQVNTIGZlR2F1c3Np
YW5CbHVyLnN0ZERldmlhdGlvblkuYW5pbVZhbCBpcyA1CitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2FuaW1h
dGlvbnMvc3ZnbnVtYmVyb3B0aW9uYWxudW1iZXItYW5pbWF0aW9uLTIuaHRtbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zdmdudW1iZXJvcHRpb25hbG51bWJlci1h
bmltYXRpb24tMi5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlv
bnMvc3ZnbnVtYmVyb3B0aW9uYWxudW1iZXItYW5pbWF0aW9uLTIuaHRtbAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwxNSBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi9keW5hbWljLXVwZGF0ZXMvcmVzb3VyY2VzL1NWR1Rlc3RDYXNlLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvU1ZHQW5pbWF0aW9uVGVzdENhc2UuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8aDE+U1ZHIDEuMSBkeW5hbWljIGFuaW1hdGlvbiB0ZXN0
czwvaDE+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2
PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9zdmdudW1iZXJvcHRpb25hbG51bWJlci1hbmlt
YXRpb24tMi5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9zdmcvYW5pbWF0aW9ucy9zdmdudW1iZXJvcHRpb25hbG51bWJlci1hbmltYXRpb24tMy1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbnVt
YmVyb3B0aW9uYWxudW1iZXItYW5pbWF0aW9uLTMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbnVtYmVyb3B0aW9uYWxudW1iZXItYW5p
bWF0aW9uLTMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE5IEBACitTVkcg
MS4xIGR5bmFtaWMgYW5pbWF0aW9uIHRlc3RzCisKK1Rlc3QgJ3RvJyBhbmltYXRpb24gb2YgU1ZH
TnVtYmVyT3B0aW9uYWxOdW1iZXIgd2l0aG91dCBvcHRpb25hbCBudW1iZXIuCisKK09uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGZlR2F1c3NpYW5CbHVyLnN0ZERldmlhdGlvblgu
YW5pbVZhbCBpcyA0MAorUEFTUyBmZUdhdXNzaWFuQmx1ci5zdGREZXZpYXRpb25ZLmFuaW1WYWwg
aXMgMTAKK1BBU1MgZmVHYXVzc2lhbkJsdXIuc3RkRGV2aWF0aW9uWC5hbmltVmFsIGlzIDIyLjUK
K1BBU1MgZmVHYXVzc2lhbkJsdXIuc3RkRGV2aWF0aW9uWS5hbmltVmFsIGlzIDcuNQorUEFTUyBm
ZUdhdXNzaWFuQmx1ci5zdGREZXZpYXRpb25YLmFuaW1WYWwgaXMgNQorUEFTUyBmZUdhdXNzaWFu
Qmx1ci5zdGREZXZpYXRpb25ZLmFuaW1WYWwgaXMgNQorUEFTUyBmZUdhdXNzaWFuQmx1ci5zdGRE
ZXZpYXRpb25YLmFuaW1WYWwgaXMgNDAKK1BBU1MgZmVHYXVzc2lhbkJsdXIuc3RkRGV2aWF0aW9u
WS5hbmltVmFsIGlzIDEwCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbnVtYmVyb3B0
aW9uYWxudW1iZXItYW5pbWF0aW9uLTMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9z
dmcvYW5pbWF0aW9ucy9zdmdudW1iZXJvcHRpb25hbG51bWJlci1hbmltYXRpb24tMy5odG1sCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbnVtYmVyb3B0aW9u
YWxudW1iZXItYW5pbWF0aW9uLTMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNSBAQAor
PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8
aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9keW5hbWljLXVw
ZGF0ZXMvcmVzb3VyY2VzL1NWR1Rlc3RDYXNlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvU1ZHQW5pbWF0aW9uVGVzdENhc2UuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJv
ZHk+Cis8aDE+U1ZHIDEuMSBkeW5hbWljIGFuaW1hdGlvbiB0ZXN0czwvaDE+Cis8cCBpZD0iZGVz
Y3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNj
cmlwdC10ZXN0cy9zdmdudW1iZXJvcHRpb25hbG51bWJlci1hbmltYXRpb24tMy5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9z
dmdudW1iZXJvcHRpb25hbG51bWJlci1hbmltYXRpb24tNC1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbnVtYmVyb3B0aW9uYWxudW1iZXIt
YW5pbWF0aW9uLTQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3Zn
L2FuaW1hdGlvbnMvc3ZnbnVtYmVyb3B0aW9uYWxudW1iZXItYW5pbWF0aW9uLTQtZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE5IEBACitTVkcgMS4xIGR5bmFtaWMgYW5pbWF0
aW9uIHRlc3RzCisKK1Rlc3QgJ2J5JyBhbmltYXRpb24gb2YgU1ZHTnVtYmVyT3B0aW9uYWxOdW1i
ZXIuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGZlR2F1c3NpYW5CbHVy
LnN0ZERldmlhdGlvblguYW5pbVZhbCBpcyA1CitQQVNTIGZlR2F1c3NpYW5CbHVyLnN0ZERldmlh
dGlvblkuYW5pbVZhbCBpcyA1CitQQVNTIGZlR2F1c3NpYW5CbHVyLnN0ZERldmlhdGlvblguYW5p
bVZhbCBpcyAxMAorUEFTUyBmZUdhdXNzaWFuQmx1ci5zdGREZXZpYXRpb25ZLmFuaW1WYWwgaXMg
MTAKK1BBU1MgZmVHYXVzc2lhbkJsdXIuc3RkRGV2aWF0aW9uWC5hbmltVmFsIGlzIDE1CitQQVNT
IGZlR2F1c3NpYW5CbHVyLnN0ZERldmlhdGlvblkuYW5pbVZhbCBpcyAxNQorUEFTUyBmZUdhdXNz
aWFuQmx1ci5zdGREZXZpYXRpb25YLmFuaW1WYWwgaXMgNQorUEFTUyBmZUdhdXNzaWFuQmx1ci5z
dGREZXZpYXRpb25ZLmFuaW1WYWwgaXMgNQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2
Z251bWJlcm9wdGlvbmFsbnVtYmVyLWFuaW1hdGlvbi00Lmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc3ZnbnVtYmVyb3B0aW9uYWxudW1iZXItYW5pbWF0aW9u
LTQuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3N2Z251
bWJlcm9wdGlvbmFsbnVtYmVyLWFuaW1hdGlvbi00Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTUgQEAKKzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4K
KzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
ZHluYW1pYy11cGRhdGVzL3Jlc291cmNlcy9TVkdUZXN0Q2FzZS5qcyI+PC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL1NWR0FuaW1hdGlvblRlc3RDYXNlLmpzIj48L3NjcmlwdD4KKzwv
aGVhZD4KKzxib2R5PgorPGgxPlNWRyAxLjEgZHluYW1pYyBhbmltYXRpb24gdGVzdHM8L2gxPgor
PHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3Jp
cHQgc3JjPSJzY3JpcHQtdGVzdHMvc3ZnbnVtYmVyb3B0aW9uYWxudW1iZXItYW5pbWF0aW9uLTQu
anMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2Fu
aW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z251bWJlcm9wdGlvbmFsbnVtYmVyLWFuaW1hdGlvbi0x
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0
cy9zdmdudW1iZXJvcHRpb25hbG51bWJlci1hbmltYXRpb24tMS5qcwkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdudW1iZXJvcHRpb25h
bG51bWJlci1hbmltYXRpb24tMS5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3MSBAQAorZGVz
Y3JpcHRpb24oIlRlc3QgJ3RvJyBhbmltYXRpb24gb2YgU1ZHTnVtYmVyT3B0aW9uYWxOdW1iZXIg
d2l0aCBvcHRpb25hbCBudW1iZXIuIik7CitjcmVhdGVTVkdUZXN0Q2FzZSgpOworCisvLyBTZXR1
cCB0ZXN0IGRvY3VtZW50Cit2YXIgZGVmcyA9IGNyZWF0ZVNWR0VsZW1lbnQoImRlZnMiKTsKK3Jv
b3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKGRlZnMpOworCit2YXIgZmlsdGVyID0gY3JlYXRlU1ZH
RWxlbWVudCgiZmlsdGVyIik7CitmaWx0ZXIuc2V0QXR0cmlidXRlKCJpZCIsICJmaWx0ZXIiKTsK
K2ZpbHRlci5zZXRBdHRyaWJ1dGUoIngiLCAiLTMwJSIpOworZmlsdGVyLnNldEF0dHJpYnV0ZSgi
eSIsICItMzAlIik7CitmaWx0ZXIuc2V0QXR0cmlidXRlKCJ3aWR0aCIsICIxNjAlIik7CitmaWx0
ZXIuc2V0QXR0cmlidXRlKCJoZWlnaHQiLCAiMTYwJSIpOworZGVmcy5hcHBlbmRDaGlsZChmaWx0
ZXIpOworCit2YXIgZmVHYXVzc2lhbkJsdXIgPSBjcmVhdGVTVkdFbGVtZW50KCJmZUdhdXNzaWFu
Qmx1ciIpOworZmVHYXVzc2lhbkJsdXIuc2V0QXR0cmlidXRlKCJpZCIsICJibHVyIik7CitmZUdh
dXNzaWFuQmx1ci5zZXRBdHRyaWJ1dGUoInN0ZERldmlhdGlvbiIsICI1Iik7CitmaWx0ZXIuYXBw
ZW5kQ2hpbGQoZmVHYXVzc2lhbkJsdXIpOworCit2YXIgcmVjdCA9IGNyZWF0ZVNWR0VsZW1lbnQo
InJlY3QiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJpZCIsICJyZWN0Iik7CityZWN0LnNldEF0dHJp
YnV0ZSgieCIsICI1MCIpOworcmVjdC5zZXRBdHRyaWJ1dGUoInkiLCAiNTAiKTsKK3JlY3Quc2V0
QXR0cmlidXRlKCJ3aWR0aCIsICIyMDAiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJoZWlnaHQiLCAi
MjAwIik7CityZWN0LnNldEF0dHJpYnV0ZSgiZmlsbCIsICJncmVlbiIpOworcmVjdC5zZXRBdHRy
aWJ1dGUoImZpbHRlciIsICJ1cmwoI2ZpbHRlcikiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJvbmNs
aWNrIiwgImV4ZWN1dGVUZXN0KCkiKTsKK3Jvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKHJlY3Qp
OworCit2YXIgYW5pbWF0ZSA9IGNyZWF0ZVNWR0VsZW1lbnQoImFuaW1hdGUiKTsKK2FuaW1hdGUu
c2V0QXR0cmlidXRlKCJpZCIsICJhbmltYXRpb24iKTsKK2FuaW1hdGUuc2V0QXR0cmlidXRlKCJh
dHRyaWJ1dGVOYW1lIiwgInN0ZERldmlhdGlvbiIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1dGUoImJl
Z2luIiwgInJlY3QuY2xpY2siKTsKK2FuaW1hdGUuc2V0QXR0cmlidXRlKCJkdXIiLCAiNHMiKTsK
K2FuaW1hdGUuc2V0QXR0cmlidXRlKCJmcm9tIiwgIjUgNSIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1
dGUoInRvIiwgIjQwIDEwIik7CitmZUdhdXNzaWFuQmx1ci5hcHBlbmRDaGlsZChhbmltYXRlKTsK
KworLy8gU2V0dXAgYW5pbWF0aW9uIHRlc3QKK2Z1bmN0aW9uIHNhbXBsZTEoKSB7CisJc2hvdWxk
QmUoImZlR2F1c3NpYW5CbHVyLnN0ZERldmlhdGlvblguYW5pbVZhbCIsICI1Iik7CisJc2hvdWxk
QmUoImZlR2F1c3NpYW5CbHVyLnN0ZERldmlhdGlvblkuYW5pbVZhbCIsICI1Iik7Cit9CisKK2Z1
bmN0aW9uIHNhbXBsZTIoKSB7CisJc2hvdWxkQmVDbG9zZUVub3VnaCgiZmVHYXVzc2lhbkJsdXIu
c3RkRGV2aWF0aW9uWC5hbmltVmFsIiwgIjIyLjUiLCAwLjAxKTsKKwlzaG91bGRCZUNsb3NlRW5v
dWdoKCJmZUdhdXNzaWFuQmx1ci5zdGREZXZpYXRpb25ZLmFuaW1WYWwiLCAiNy41IiwgMC4wMSk7
Cit9CisKK2Z1bmN0aW9uIHNhbXBsZTMoKSB7CisJc2hvdWxkQmVDbG9zZUVub3VnaCgiZmVHYXVz
c2lhbkJsdXIuc3RkRGV2aWF0aW9uWC5hbmltVmFsIiwgIjQwIiwgMC4wMSk7CisJc2hvdWxkQmVD
bG9zZUVub3VnaCgiZmVHYXVzc2lhbkJsdXIuc3RkRGV2aWF0aW9uWS5hbmltVmFsIiwgIjEwIiwg
MC4wMSk7Cit9CisKK2Z1bmN0aW9uIGV4ZWN1dGVUZXN0KCkgeworICAgIGNvbnN0IGV4cGVjdGVk
VmFsdWVzID0gWworICAgICAgICAvLyBbYW5pbWF0aW9uSWQsIHRpbWUsIGVsZW1lbnRJZCwgc2Ft
cGxlQ2FsbGJhY2tdCisgICAgICAgIFsiYW5pbWF0aW9uIiwgMC4wLCAgICAiYmx1ciIsIHNhbXBs
ZTFdLAorICAgICAgICBbImFuaW1hdGlvbiIsIDIuMCwgICAgImJsdXIiLCBzYW1wbGUyXSwKKyAg
ICAgICAgWyJhbmltYXRpb24iLCAzLjk5OTksICJibHVyIiwgc2FtcGxlM10sCisgICAgICAgIFsi
YW5pbWF0aW9uIiwgNC4wICwgICAiYmx1ciIsIHNhbXBsZTFdCisgICAgXTsKKworICAgIHJ1bkFu
aW1hdGlvblRlc3QoZXhwZWN0ZWRWYWx1ZXMpOworfQorCisvLyBCZWdpbiB0ZXN0IGFzeW5jCit3
aW5kb3cuc2V0VGltZW91dCgidHJpZ2dlclVwZGF0ZSg2MCwgNjApIiwgMCk7Cit2YXIgc3VjY2Vz
c2Z1bGx5UGFyc2VkID0gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3Nj
cmlwdC10ZXN0cy9zdmdudW1iZXJvcHRpb25hbG51bWJlci1hbmltYXRpb24tMi5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvc3ZnbnVtYmVy
b3B0aW9uYWxudW1iZXItYW5pbWF0aW9uLTIuanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9zdmcvYW5pbWF0aW9ucy9zY3JpcHQtdGVzdHMvc3ZnbnVtYmVyb3B0aW9uYWxudW1iZXItYW5p
bWF0aW9uLTIuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNzEgQEAKK2Rlc2NyaXB0aW9uKCJU
ZXN0ICd0bycgYW5pbWF0aW9uIG9mIFNWR051bWJlck9wdGlvbmFsTnVtYmVyIHdpdGhvdXQgb3B0
aW9uYWwgbnVtYmVyLiIpOworY3JlYXRlU1ZHVGVzdENhc2UoKTsKKworLy8gU2V0dXAgdGVzdCBk
b2N1bWVudAordmFyIGRlZnMgPSBjcmVhdGVTVkdFbGVtZW50KCJkZWZzIik7Cityb290U1ZHRWxl
bWVudC5hcHBlbmRDaGlsZChkZWZzKTsKKwordmFyIGZpbHRlciA9IGNyZWF0ZVNWR0VsZW1lbnQo
ImZpbHRlciIpOworZmlsdGVyLnNldEF0dHJpYnV0ZSgiaWQiLCAiZmlsdGVyIik7CitmaWx0ZXIu
c2V0QXR0cmlidXRlKCJ4IiwgIi0zMCUiKTsKK2ZpbHRlci5zZXRBdHRyaWJ1dGUoInkiLCAiLTMw
JSIpOworZmlsdGVyLnNldEF0dHJpYnV0ZSgid2lkdGgiLCAiMTYwJSIpOworZmlsdGVyLnNldEF0
dHJpYnV0ZSgiaGVpZ2h0IiwgIjE2MCUiKTsKK2RlZnMuYXBwZW5kQ2hpbGQoZmlsdGVyKTsKKwor
dmFyIGZlR2F1c3NpYW5CbHVyID0gY3JlYXRlU1ZHRWxlbWVudCgiZmVHYXVzc2lhbkJsdXIiKTsK
K2ZlR2F1c3NpYW5CbHVyLnNldEF0dHJpYnV0ZSgiaWQiLCAiYmx1ciIpOworZmVHYXVzc2lhbkJs
dXIuc2V0QXR0cmlidXRlKCJzdGREZXZpYXRpb24iLCAiNSIpOworZmlsdGVyLmFwcGVuZENoaWxk
KGZlR2F1c3NpYW5CbHVyKTsKKwordmFyIHJlY3QgPSBjcmVhdGVTVkdFbGVtZW50KCJyZWN0Iik7
CityZWN0LnNldEF0dHJpYnV0ZSgiaWQiLCAicmVjdCIpOworcmVjdC5zZXRBdHRyaWJ1dGUoIngi
LCAiNTAiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJ5IiwgIjUwIik7CityZWN0LnNldEF0dHJpYnV0
ZSgid2lkdGgiLCAiMjAwIik7CityZWN0LnNldEF0dHJpYnV0ZSgiaGVpZ2h0IiwgIjIwMCIpOwor
cmVjdC5zZXRBdHRyaWJ1dGUoImZpbGwiLCAiZ3JlZW4iKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJm
aWx0ZXIiLCAidXJsKCNmaWx0ZXIpIik7CityZWN0LnNldEF0dHJpYnV0ZSgib25jbGljayIsICJl
eGVjdXRlVGVzdCgpIik7Cityb290U1ZHRWxlbWVudC5hcHBlbmRDaGlsZChyZWN0KTsKKwordmFy
IGFuaW1hdGUgPSBjcmVhdGVTVkdFbGVtZW50KCJhbmltYXRlIik7CithbmltYXRlLnNldEF0dHJp
YnV0ZSgiaWQiLCAiYW5pbWF0aW9uIik7CithbmltYXRlLnNldEF0dHJpYnV0ZSgiYXR0cmlidXRl
TmFtZSIsICJzdGREZXZpYXRpb24iKTsKK2FuaW1hdGUuc2V0QXR0cmlidXRlKCJiZWdpbiIsICJy
ZWN0LmNsaWNrIik7CithbmltYXRlLnNldEF0dHJpYnV0ZSgiZHVyIiwgIjRzIik7CithbmltYXRl
LnNldEF0dHJpYnV0ZSgiZnJvbSIsICI1Iik7CithbmltYXRlLnNldEF0dHJpYnV0ZSgidG8iLCAi
NDAgMTAiKTsKK2ZlR2F1c3NpYW5CbHVyLmFwcGVuZENoaWxkKGFuaW1hdGUpOworCisvLyBTZXR1
cCBhbmltYXRpb24gdGVzdAorZnVuY3Rpb24gc2FtcGxlMSgpIHsKKwlzaG91bGRCZSgiZmVHYXVz
c2lhbkJsdXIuc3RkRGV2aWF0aW9uWC5hbmltVmFsIiwgIjUiKTsKKwlzaG91bGRCZSgiZmVHYXVz
c2lhbkJsdXIuc3RkRGV2aWF0aW9uWS5hbmltVmFsIiwgIjUiKTsKK30KKworZnVuY3Rpb24gc2Ft
cGxlMigpIHsKKwlzaG91bGRCZUNsb3NlRW5vdWdoKCJmZUdhdXNzaWFuQmx1ci5zdGREZXZpYXRp
b25YLmFuaW1WYWwiLCAiMjIuNSIsIDAuMDEpOworCXNob3VsZEJlQ2xvc2VFbm91Z2goImZlR2F1
c3NpYW5CbHVyLnN0ZERldmlhdGlvblkuYW5pbVZhbCIsICI3LjUiLCAwLjAxKTsKK30KKworZnVu
Y3Rpb24gc2FtcGxlMygpIHsKKwlzaG91bGRCZUNsb3NlRW5vdWdoKCJmZUdhdXNzaWFuQmx1ci5z
dGREZXZpYXRpb25YLmFuaW1WYWwiLCAiNDAiLCAwLjAxKTsKKwlzaG91bGRCZUNsb3NlRW5vdWdo
KCJmZUdhdXNzaWFuQmx1ci5zdGREZXZpYXRpb25ZLmFuaW1WYWwiLCAiMTAiLCAwLjAxKTsKK30K
KworZnVuY3Rpb24gZXhlY3V0ZVRlc3QoKSB7CisgICAgY29uc3QgZXhwZWN0ZWRWYWx1ZXMgPSBb
CisgICAgICAgIC8vIFthbmltYXRpb25JZCwgdGltZSwgZWxlbWVudElkLCBzYW1wbGVDYWxsYmFj
a10KKyAgICAgICAgWyJhbmltYXRpb24iLCAwLjAsICAgICJibHVyIiwgc2FtcGxlMV0sCisgICAg
ICAgIFsiYW5pbWF0aW9uIiwgMi4wLCAgICAiYmx1ciIsIHNhbXBsZTJdLAorICAgICAgICBbImFu
aW1hdGlvbiIsIDMuOTk5OSwgImJsdXIiLCBzYW1wbGUzXSwKKyAgICAgICAgWyJhbmltYXRpb24i
LCA0LjAgLCAgICJibHVyIiwgc2FtcGxlMV0KKyAgICBdOworCisgICAgcnVuQW5pbWF0aW9uVGVz
dChleHBlY3RlZFZhbHVlcyk7Cit9CisKKy8vIEJlZ2luIHRlc3QgYXN5bmMKK3dpbmRvdy5zZXRU
aW1lb3V0KCJ0cmlnZ2VyVXBkYXRlKDYwLCA2MCkiLCAwKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3Rz
L3N2Z251bWJlcm9wdGlvbmFsbnVtYmVyLWFuaW1hdGlvbi0zLmpzCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdudW1iZXJvcHRpb25hbG51
bWJlci1hbmltYXRpb24tMy5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9hbmlt
YXRpb25zL3NjcmlwdC10ZXN0cy9zdmdudW1iZXJvcHRpb25hbG51bWJlci1hbmltYXRpb24tMy5q
cwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3MSBAQAorZGVzY3JpcHRpb24oIlRlc3QgJ3RvJyBh
bmltYXRpb24gb2YgU1ZHTnVtYmVyT3B0aW9uYWxOdW1iZXIgd2l0aG91dCBvcHRpb25hbCBudW1i
ZXIuIik7CitjcmVhdGVTVkdUZXN0Q2FzZSgpOworCisvLyBTZXR1cCB0ZXN0IGRvY3VtZW50Cit2
YXIgZGVmcyA9IGNyZWF0ZVNWR0VsZW1lbnQoImRlZnMiKTsKK3Jvb3RTVkdFbGVtZW50LmFwcGVu
ZENoaWxkKGRlZnMpOworCit2YXIgZmlsdGVyID0gY3JlYXRlU1ZHRWxlbWVudCgiZmlsdGVyIik7
CitmaWx0ZXIuc2V0QXR0cmlidXRlKCJpZCIsICJmaWx0ZXIiKTsKK2ZpbHRlci5zZXRBdHRyaWJ1
dGUoIngiLCAiLTMwJSIpOworZmlsdGVyLnNldEF0dHJpYnV0ZSgieSIsICItMzAlIik7CitmaWx0
ZXIuc2V0QXR0cmlidXRlKCJ3aWR0aCIsICIxNjAlIik7CitmaWx0ZXIuc2V0QXR0cmlidXRlKCJo
ZWlnaHQiLCAiMTYwJSIpOworZGVmcy5hcHBlbmRDaGlsZChmaWx0ZXIpOworCit2YXIgZmVHYXVz
c2lhbkJsdXIgPSBjcmVhdGVTVkdFbGVtZW50KCJmZUdhdXNzaWFuQmx1ciIpOworZmVHYXVzc2lh
bkJsdXIuc2V0QXR0cmlidXRlKCJpZCIsICJibHVyIik7CitmZUdhdXNzaWFuQmx1ci5zZXRBdHRy
aWJ1dGUoInN0ZERldmlhdGlvbiIsICI0MCAxMCIpOworZmlsdGVyLmFwcGVuZENoaWxkKGZlR2F1
c3NpYW5CbHVyKTsKKwordmFyIHJlY3QgPSBjcmVhdGVTVkdFbGVtZW50KCJyZWN0Iik7CityZWN0
LnNldEF0dHJpYnV0ZSgiaWQiLCAicmVjdCIpOworcmVjdC5zZXRBdHRyaWJ1dGUoIngiLCAiNTAi
KTsKK3JlY3Quc2V0QXR0cmlidXRlKCJ5IiwgIjUwIik7CityZWN0LnNldEF0dHJpYnV0ZSgid2lk
dGgiLCAiMjAwIik7CityZWN0LnNldEF0dHJpYnV0ZSgiaGVpZ2h0IiwgIjIwMCIpOworcmVjdC5z
ZXRBdHRyaWJ1dGUoImZpbGwiLCAiZ3JlZW4iKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJmaWx0ZXIi
LCAidXJsKCNmaWx0ZXIpIik7CityZWN0LnNldEF0dHJpYnV0ZSgib25jbGljayIsICJleGVjdXRl
VGVzdCgpIik7Cityb290U1ZHRWxlbWVudC5hcHBlbmRDaGlsZChyZWN0KTsKKwordmFyIGFuaW1h
dGUgPSBjcmVhdGVTVkdFbGVtZW50KCJhbmltYXRlIik7CithbmltYXRlLnNldEF0dHJpYnV0ZSgi
aWQiLCAiYW5pbWF0aW9uIik7CithbmltYXRlLnNldEF0dHJpYnV0ZSgiYXR0cmlidXRlTmFtZSIs
ICJzdGREZXZpYXRpb24iKTsKK2FuaW1hdGUuc2V0QXR0cmlidXRlKCJiZWdpbiIsICJyZWN0LmNs
aWNrIik7CithbmltYXRlLnNldEF0dHJpYnV0ZSgiZHVyIiwgIjRzIik7CithbmltYXRlLnNldEF0
dHJpYnV0ZSgiZnJvbSIsICI0MCAxMCIpOworYW5pbWF0ZS5zZXRBdHRyaWJ1dGUoInRvIiwgIjUi
KTsKK2ZlR2F1c3NpYW5CbHVyLmFwcGVuZENoaWxkKGFuaW1hdGUpOworCisvLyBTZXR1cCBhbmlt
YXRpb24gdGVzdAorZnVuY3Rpb24gc2FtcGxlMSgpIHsKKwlzaG91bGRCZSgiZmVHYXVzc2lhbkJs
dXIuc3RkRGV2aWF0aW9uWC5hbmltVmFsIiwgIjQwIik7CisJc2hvdWxkQmUoImZlR2F1c3NpYW5C
bHVyLnN0ZERldmlhdGlvblkuYW5pbVZhbCIsICIxMCIpOworfQorCitmdW5jdGlvbiBzYW1wbGUy
KCkgeworCXNob3VsZEJlQ2xvc2VFbm91Z2goImZlR2F1c3NpYW5CbHVyLnN0ZERldmlhdGlvblgu
YW5pbVZhbCIsICIyMi41IiwgMC4wMSk7CisJc2hvdWxkQmVDbG9zZUVub3VnaCgiZmVHYXVzc2lh
bkJsdXIuc3RkRGV2aWF0aW9uWS5hbmltVmFsIiwgIjcuNSIsIDAuMDEpOworfQorCitmdW5jdGlv
biBzYW1wbGUzKCkgeworCXNob3VsZEJlQ2xvc2VFbm91Z2goImZlR2F1c3NpYW5CbHVyLnN0ZERl
dmlhdGlvblguYW5pbVZhbCIsICI1IiwgMC4wMSk7CisJc2hvdWxkQmVDbG9zZUVub3VnaCgiZmVH
YXVzc2lhbkJsdXIuc3RkRGV2aWF0aW9uWS5hbmltVmFsIiwgIjUiLCAwLjAxKTsKK30KKworZnVu
Y3Rpb24gZXhlY3V0ZVRlc3QoKSB7CisgICAgY29uc3QgZXhwZWN0ZWRWYWx1ZXMgPSBbCisgICAg
ICAgIC8vIFthbmltYXRpb25JZCwgdGltZSwgZWxlbWVudElkLCBzYW1wbGVDYWxsYmFja10KKyAg
ICAgICAgWyJhbmltYXRpb24iLCAwLjAsICAgICJibHVyIiwgc2FtcGxlMV0sCisgICAgICAgIFsi
YW5pbWF0aW9uIiwgMi4wLCAgICAiYmx1ciIsIHNhbXBsZTJdLAorICAgICAgICBbImFuaW1hdGlv
biIsIDMuOTk5OSwgImJsdXIiLCBzYW1wbGUzXSwKKyAgICAgICAgWyJhbmltYXRpb24iLCA0LjAg
LCAgICJibHVyIiwgc2FtcGxlMV0KKyAgICBdOworCisgICAgcnVuQW5pbWF0aW9uVGVzdChleHBl
Y3RlZFZhbHVlcyk7Cit9CisKKy8vIEJlZ2luIHRlc3QgYXN5bmMKK3dpbmRvdy5zZXRUaW1lb3V0
KCJ0cmlnZ2VyVXBkYXRlKDYwLCA2MCkiLCAwKTsKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0
cnVlOwpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvc2NyaXB0LXRlc3RzL3N2Z251
bWJlcm9wdGlvbmFsbnVtYmVyLWFuaW1hdGlvbi00LmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL3N2Zy9hbmltYXRpb25zL3NjcmlwdC10ZXN0cy9zdmdudW1iZXJvcHRpb25hbG51bWJlci1h
bmltYXRpb24tNC5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9hbmltYXRpb25z
L3NjcmlwdC10ZXN0cy9zdmdudW1iZXJvcHRpb25hbG51bWJlci1hbmltYXRpb24tNC5qcwkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw3MSBAQAorZGVzY3JpcHRpb24oIlRlc3QgJ2J5JyBhbmltYXRp
b24gb2YgU1ZHTnVtYmVyT3B0aW9uYWxOdW1iZXIuIik7CitjcmVhdGVTVkdUZXN0Q2FzZSgpOwor
CisvLyBTZXR1cCB0ZXN0IGRvY3VtZW50Cit2YXIgZGVmcyA9IGNyZWF0ZVNWR0VsZW1lbnQoImRl
ZnMiKTsKK3Jvb3RTVkdFbGVtZW50LmFwcGVuZENoaWxkKGRlZnMpOworCit2YXIgZmlsdGVyID0g
Y3JlYXRlU1ZHRWxlbWVudCgiZmlsdGVyIik7CitmaWx0ZXIuc2V0QXR0cmlidXRlKCJpZCIsICJm
aWx0ZXIiKTsKK2ZpbHRlci5zZXRBdHRyaWJ1dGUoIngiLCAiLTMwJSIpOworZmlsdGVyLnNldEF0
dHJpYnV0ZSgieSIsICItMzAlIik7CitmaWx0ZXIuc2V0QXR0cmlidXRlKCJ3aWR0aCIsICIxNjAl
Iik7CitmaWx0ZXIuc2V0QXR0cmlidXRlKCJoZWlnaHQiLCAiMTYwJSIpOworZGVmcy5hcHBlbmRD
aGlsZChmaWx0ZXIpOworCit2YXIgZmVHYXVzc2lhbkJsdXIgPSBjcmVhdGVTVkdFbGVtZW50KCJm
ZUdhdXNzaWFuQmx1ciIpOworZmVHYXVzc2lhbkJsdXIuc2V0QXR0cmlidXRlKCJpZCIsICJibHVy
Iik7CitmZUdhdXNzaWFuQmx1ci5zZXRBdHRyaWJ1dGUoInN0ZERldmlhdGlvbiIsICI1Iik7Citm
aWx0ZXIuYXBwZW5kQ2hpbGQoZmVHYXVzc2lhbkJsdXIpOworCit2YXIgcmVjdCA9IGNyZWF0ZVNW
R0VsZW1lbnQoInJlY3QiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJpZCIsICJyZWN0Iik7CityZWN0
LnNldEF0dHJpYnV0ZSgieCIsICI1MCIpOworcmVjdC5zZXRBdHRyaWJ1dGUoInkiLCAiNTAiKTsK
K3JlY3Quc2V0QXR0cmlidXRlKCJ3aWR0aCIsICIyMDAiKTsKK3JlY3Quc2V0QXR0cmlidXRlKCJo
ZWlnaHQiLCAiMjAwIik7CityZWN0LnNldEF0dHJpYnV0ZSgiZmlsbCIsICJncmVlbiIpOworcmVj
dC5zZXRBdHRyaWJ1dGUoImZpbHRlciIsICJ1cmwoI2ZpbHRlcikiKTsKK3JlY3Quc2V0QXR0cmli
dXRlKCJvbmNsaWNrIiwgImV4ZWN1dGVUZXN0KCkiKTsKK3Jvb3RTVkdFbGVtZW50LmFwcGVuZENo
aWxkKHJlY3QpOworCit2YXIgYW5pbWF0ZSA9IGNyZWF0ZVNWR0VsZW1lbnQoImFuaW1hdGUiKTsK
K2FuaW1hdGUuc2V0QXR0cmlidXRlKCJpZCIsICJhbmltYXRpb24iKTsKK2FuaW1hdGUuc2V0QXR0
cmlidXRlKCJhdHRyaWJ1dGVOYW1lIiwgInN0ZERldmlhdGlvbiIpOworYW5pbWF0ZS5zZXRBdHRy
aWJ1dGUoImJlZ2luIiwgInJlY3QuY2xpY2siKTsKK2FuaW1hdGUuc2V0QXR0cmlidXRlKCJkdXIi
LCAiNHMiKTsKK2FuaW1hdGUuc2V0QXR0cmlidXRlKCJmcm9tIiwgIjUiKTsKK2FuaW1hdGUuc2V0
QXR0cmlidXRlKCJieSIsICIxMCIpOworZmVHYXVzc2lhbkJsdXIuYXBwZW5kQ2hpbGQoYW5pbWF0
ZSk7CisKKy8vIFNldHVwIGFuaW1hdGlvbiB0ZXN0CitmdW5jdGlvbiBzYW1wbGUxKCkgeworCXNo
b3VsZEJlKCJmZUdhdXNzaWFuQmx1ci5zdGREZXZpYXRpb25YLmFuaW1WYWwiLCAiNSIpOworCXNo
b3VsZEJlKCJmZUdhdXNzaWFuQmx1ci5zdGREZXZpYXRpb25ZLmFuaW1WYWwiLCAiNSIpOworfQor
CitmdW5jdGlvbiBzYW1wbGUyKCkgeworCXNob3VsZEJlQ2xvc2VFbm91Z2goImZlR2F1c3NpYW5C
bHVyLnN0ZERldmlhdGlvblguYW5pbVZhbCIsICIxMCIsIDAuMDEpOworCXNob3VsZEJlQ2xvc2VF
bm91Z2goImZlR2F1c3NpYW5CbHVyLnN0ZERldmlhdGlvblkuYW5pbVZhbCIsICIxMCIsIDAuMDEp
OworfQorCitmdW5jdGlvbiBzYW1wbGUzKCkgeworCXNob3VsZEJlQ2xvc2VFbm91Z2goImZlR2F1
c3NpYW5CbHVyLnN0ZERldmlhdGlvblguYW5pbVZhbCIsICIxNSIsIDAuMDEpOworCXNob3VsZEJl
Q2xvc2VFbm91Z2goImZlR2F1c3NpYW5CbHVyLnN0ZERldmlhdGlvblkuYW5pbVZhbCIsICIxNSIs
IDAuMDEpOworfQorCitmdW5jdGlvbiBleGVjdXRlVGVzdCgpIHsKKyAgICBjb25zdCBleHBlY3Rl
ZFZhbHVlcyA9IFsKKyAgICAgICAgLy8gW2FuaW1hdGlvbklkLCB0aW1lLCBlbGVtZW50SWQsIHNh
bXBsZUNhbGxiYWNrXQorICAgICAgICBbImFuaW1hdGlvbiIsIDAuMCwgICAgImJsdXIiLCBzYW1w
bGUxXSwKKyAgICAgICAgWyJhbmltYXRpb24iLCAyLjAsICAgICJibHVyIiwgc2FtcGxlMl0sCisg
ICAgICAgIFsiYW5pbWF0aW9uIiwgMy45OTk5LCAiYmx1ciIsIHNhbXBsZTNdLAorICAgICAgICBb
ImFuaW1hdGlvbiIsIDQuMCAsICAgImJsdXIiLCBzYW1wbGUxXQorICAgIF07CisKKyAgICBydW5B
bmltYXRpb25UZXN0KGV4cGVjdGVkVmFsdWVzKTsKK30KKworLy8gQmVnaW4gdGVzdCBhc3luYwor
d2luZG93LnNldFRpbWVvdXQoInRyaWdnZXJVcGRhdGUoNjAsIDYwKSIsIDApOwordmFyIHN1Y2Nl
c3NmdWxseVBhcnNlZCA9IHRydWU7Cg==
</data>
<flag name="review"
          id="92880"
          type_id="1"
          status="+"
          setter="zimmermann"
    />
          </attachment>
      

    </bug>

</bugzilla>