<?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>153984</bug_id>
          
          <creation_ts>2016-02-08 07:34:52 -0800</creation_ts>
          <short_desc>The Operator Dictionary lacks entries for U+1EEF0 and U+1EEF1</short_desc>
          <delta_ts>2016-08-28 23:57:54 -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>MathML</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugzilla.mozilla.org/show_bug.cgi?id=1246657</see_also>
          <bug_file_loc>https://lists.w3.org/Archives/Public/www-math/2016Feb/0000.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>160462</dependson>
          <blocked>161306</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Frédéric Wang Nélar">fred.wang</reporter>
          <assigned_to name="Frédéric Wang Nélar">fred.wang</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dbarton</cc>
    
    <cc>dr.khaled.hosny</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1162870</commentid>
    <comment_count>0</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-02-08 07:34:52 -0800</bug_when>
    <thetext>These are mentioned on http://www.unicode.org/charts/PDF/U1EE00.pdf referred by the MathML 3 recommendation, but absent from their suggested operator dictionary. I don&apos;t think any math font supports them yet.

Stretching operators
The following operators stretch based on the width of the text that is displayed below or above them.
1EEF0 ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL
  • used in Arabic mathematics to denote summation
  • stretched at the tatweel
  → 2211 ∑  n-ary summation
1EEF1 ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
  • used in Persian mathematics to denote limits
  • stretched between the hah and the dal</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1222216</commentid>
    <comment_count>1</comment_count>
      <attachid>286710</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-23 06:41:54 -0700</bug_when>
    <thetext>Created attachment 286710
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1222218</commentid>
    <comment_count>2</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-23 06:44:37 -0700</bug_when>
    <thetext>*** Bug 122296 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1222652</commentid>
    <comment_count>3</comment_count>
      <attachid>286853</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-24 08:06:56 -0700</bug_when>
    <thetext>Created attachment 286853
Patch WIP

Adding a test and fixing a coding error with explicit prefix. I&apos;ll add a test for horizontal stretchiness tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223038</commentid>
    <comment_count>4</comment_count>
      <attachid>286963</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-25 05:54:35 -0700</bug_when>
    <thetext>Created attachment 286963
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1223983</commentid>
    <comment_count>5</comment_count>
      <attachid>286963</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-08-27 17:17:16 -0700</bug_when>
    <thetext>Comment on attachment 286963
Patch

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

&gt; Source/WebCore/mathml/MathMLOperatorDictionary.cpp:1109
&gt; +// The following two non-BMP characters are handled separately so that the arrays &apos;dictionary&apos; and
&gt; +// &apos;horizontalOperators&apos; can use UChar instead of UChar32 and avoid an increase of memory footprint.

I don’t think this is the right call. The additional memory footprint is about 2kB. We should keep the code simple instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224034</commentid>
    <comment_count>6</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-28 01:08:34 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; I don’t think this is the right call. The additional memory footprint is
&gt; about 2kB. We should keep the code simple instead.

OK, I&apos;ll rewrite a simpler patch then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224109</commentid>
    <comment_count>7</comment_count>
      <attachid>287248</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-28 23:08:30 -0700</bug_when>
    <thetext>Created attachment 287248
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1224119</commentid>
    <comment_count>8</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-08-28 23:57:54 -0700</bug_when>
    <thetext>Committed r205111: &lt;http://trac.webkit.org/changeset/205111&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>286710</attachid>
            <date>2016-08-23 06:41:54 -0700</date>
            <delta_ts>2016-08-24 08:06:56 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>bug153984.patch</filename>
            <type>text/plain</type>
            <size>16928</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckRpY3Rpb25h
cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS5j
cHAKaW5kZXggZDg5NDM0Yi4uOTI1YTZiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0
aG1sL01hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbWF0
aG1sL01hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS5jcHAKQEAgLTMzLDYgKzMzLDIyIEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk7
CiAKIHR5cGVkZWYgc3RkOjpwYWlyPFVDaGFyLCBGb3JtPiBLZXk7CitzdHJ1Y3QgRW50cnkgewor
ICAgIFVDaGFyIGNoYXJhY3RlcjsKKyAgICB1bnNpZ25lZCBmb3JtIDogMjsKKyAgICB1bnNpZ25l
ZCBsc3BhY2UgOiAzOworICAgIHVuc2lnbmVkIHJzcGFjZSA6IDM7CisgICAgdW5zaWduZWQgZmxh
Z3MgOiA4OworfTsKK3N0YXRpYyBQcm9wZXJ0eSBleHRyYWN0UHJvcGVydHkoY29uc3QgRW50cnkm
IGVudHJ5KQoreworICAgIFByb3BlcnR5IHByb3BlcnR5OworICAgIHByb3BlcnR5LmZvcm0gPSBz
dGF0aWNfY2FzdDxNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OkZvcm0+KGVudHJ5LmZvcm0pOwor
ICAgIHByb3BlcnR5LmxlYWRpbmdTcGFjZUluTWF0aFVuaXQgPSBlbnRyeS5sc3BhY2U7CisgICAg
cHJvcGVydHkudHJhaWxpbmdTcGFjZUluTWF0aFVuaXQgPSBlbnRyeS5yc3BhY2U7CisgICAgcHJv
cGVydHkuZmxhZ3MgPSBlbnRyeS5mbGFnczsKKyAgICByZXR1cm4gcHJvcGVydHk7Cit9CiBzdGF0
aWMgaW5saW5lIEtleSBFeHRyYWN0S2V5KGNvbnN0IEVudHJ5KiBlbnRyeSkgeyByZXR1cm4gS2V5
KGVudHJ5LT5jaGFyYWN0ZXIsIHN0YXRpY19jYXN0PEZvcm0+KGVudHJ5LT5mb3JtKSk7IH0KIHN0
YXRpYyBpbmxpbmUgVUNoYXIgRXh0cmFjdENoYXIoY29uc3QgRW50cnkqIGVudHJ5KSB7IHJldHVy
biBlbnRyeS0+Y2hhcmFjdGVyOyB9CiAKQEAgLTEwODksMTQgKzExMDUsMzAgQEAgc3RhdGljIGNv
bnN0IFVDaGFyIGhvcml6b250YWxPcGVyYXRvcnNbXSA9IHsKICAgICAweDAwM0QsIDB4MDA1RSwg
MHgwMDVGLCAweDAwN0UsIDB4MDBBRiwgMHgwMkM2LCAweDAyQzcsIDB4MDJDOSwgMHgwMkNELCAw
eDAyREMsIDB4MDJGNywgMHgwMzAyLCAweDAzMzIsIDB4MjAzRSwgMHgyMEQwLCAweDIwRDEsIDB4
MjBENiwgMHgyMEQ3LCAweDIwRTEsIDB4MjE5MCwgMHgyMTkyLCAweDIxOTQsIDB4MjE5OCwgMHgy
MTk5LCAweDIxOUMsIDB4MjE5RCwgMHgyMTlFLCAweDIxQTAsIDB4MjFBMiwgMHgyMUEzLCAweDIx
QTQsIDB4MjFBNiwgMHgyMUE5LCAweDIxQUEsIDB4MjFBQiwgMHgyMUFDLCAweDIxQUQsIDB4MjFC
NCwgMHgyMUI5LCAweDIxQkMsIDB4MjFCRCwgMHgyMUMwLCAweDIxQzEsIDB4MjFDNCwgMHgyMUM2
LCAweDIxQzcsIDB4MjFDOSwgMHgyMUNCLCAweDIxQ0MsIDB4MjFEMCwgMHgyMUQyLCAweDIxRDQs
IDB4MjFEQSwgMHgyMURCLCAweDIxREMsIDB4MjFERCwgMHgyMUUwLCAweDIxRTIsIDB4MjFFNCwg
MHgyMUU1LCAweDIxRTYsIDB4MjFFOCwgMHgyMUYwLCAweDIxRjYsIDB4MjFGRCwgMHgyMUZFLCAw
eDIxRkYsIDB4MjNCNCwgMHgyM0I1LCAweDIzREMsIDB4MjNERCwgMHgyM0RFLCAweDIzREYsIDB4
MjNFMCwgMHgyM0UxLCAweDI1MDAsIDB4MjdGNSwgMHgyN0Y2LCAweDI3RjcsIDB4MjdGOCwgMHgy
N0Y5LCAweDI3RkEsIDB4MjdGQiwgMHgyN0ZDLCAweDI3RkQsIDB4MjdGRSwgMHgyN0ZGLCAweDI5
MEMsIDB4MjkwRCwgMHgyOTBFLCAweDI5MEYsIDB4MjkxMCwgMHgyOTRFLCAweDI5NTAsIDB4Mjk1
MiwgMHgyOTUzLCAweDI5NTYsIDB4Mjk1NywgMHgyOTVBLCAweDI5NUIsIDB4Mjk1RSwgMHgyOTVG
LCAweDJCNDUsIDB4MkI0NiwgMHhGRTM1LCAweEZFMzYsIDB4RkUzNywgMHhGRTM4CiB9OwogCi1P
cHRpb25hbDxFbnRyeT4gTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpzZWFyY2goVUNoYXIgY2hh
cmFjdGVyLCBGb3JtIGZvcm0sIGJvb2wgZXhwbGljaXRGb3JtKQorLy8gVGhlIGZvbGxvd2luZyB0
d28gbm9uLUJNUCBjaGFyYWN0ZXJzIGFyZSBoYW5kbGVkIHNlcGFyYXRlbHkgc28gdGhhdCB0aGUg
YXJyYXlzICdkaWN0aW9uYXJ5JyBhbmQKKy8vICdob3Jpem9udGFsT3BlcmF0b3JzJyBjYW4gdXNl
IFVDaGFyIGluc3RlYWQgb2YgVUNoYXIzMiBhbmQgYXZvaWQgYW4gaW5jcmVhc2Ugb2YgbWVtb3J5
IGZvb3RwcmludC4KKy8vIFRoZXkgYXJlIG5vdCBpbiB0aGUgb2ZmaWNpYWwgTWF0aE1MIDMgZGlj
dGlvbmFyeSBidXQgaGF2ZSBiZWVuIGFkZGVkIHRvIFVuaWNvZGUuCisvLyBXZSB0cmVhdCB0aGVt
IGFzIGhvcml6b250YWwsIHN0cmV0Y2h5IGFuZCBwcmVmaXggb3BlcmF0b3JzIHdpdGhvdXQgc3Bh
Y2luZy4KKy8vIFUrMUVFRjAgQVJBQklDIE1BVEhFTUFUSUNBTCBPUEVSQVRPUiBNRUVNIFdJVEgg
SEFIIFdJVEggVEFUV0VFTAorLy8gVSsxRUVGMSBBUkFCSUMgTUFUSEVNQVRJQ0FMIE9QRVJBVE9S
IEhBSCBXSVRIIERBTAorc3RhdGljIGJvb2wgaXNBcmFiaWNPcGVyYXRvcihVQ2hhcjMyIGNoYXJh
Y3RlcikKK3sKKyAgICByZXR1cm4gY2hhcmFjdGVyID09IDB4MUVFRjAgfHwgY2hhcmFjdGVyID09
IDB4MUVFRjE7Cit9CitQcm9wZXJ0eSBhcmFiaWNPcGVyYXRvclByb3BlcnR5ID0geyBQcmVmaXgs
IDAsIDAsIFN0cmV0Y2h5IH07CisKK09wdGlvbmFsPFByb3BlcnR5PiBNYXRoTUxPcGVyYXRvckRp
Y3Rpb25hcnk6OnNlYXJjaChVQ2hhcjMyIGNoYXJhY3RlciwgRm9ybSBmb3JtLCBib29sIGV4cGxp
Y2l0Rm9ybSkKIHsKICAgICBpZiAoIWNoYXJhY3RlcikKICAgICAgICAgcmV0dXJuIE51bGxvcHQ7
CiAKKyAgICAvLyBXZSBoYW5kbGUgdGhlIHNwZWNpYWwgY2FzZSBvZiBub24tQk1QIGNoYXJhY3Rl
cnMuCisgICAgaWYgKCFVX0lTX0JNUChjaGFyYWN0ZXIpKQorICAgICAgICByZXR1cm4gaXNBcmFi
aWNPcGVyYXRvcihjaGFyYWN0ZXIpICYmIGZvcm0gPT0gYXJhYmljT3BlcmF0b3JQcm9wZXJ0eS5m
b3JtICYmICFleHBsaWNpdEZvcm0gPyBPcHRpb25hbDxQcm9wZXJ0eT4oYXJhYmljT3BlcmF0b3JQ
cm9wZXJ0eSkgOiBOdWxsb3B0OworCiAgICAgLy8gV2UgdHJ5IGFuZCBmaW5kIHRoZSBkZWZhdWx0
IHZhbHVlcyBmcm9tIHRoZSBvcGVyYXRvciBkaWN0aW9uYXJ5LgogICAgIGlmIChhdXRvKiBlbnRy
eSA9IHRyeUJpbmFyeVNlYXJjaDxjb25zdCBFbnRyeSwgS2V5PihkaWN0aW9uYXJ5LCBkaWN0aW9u
YXJ5U2l6ZSwgS2V5KGNoYXJhY3RlciwgZm9ybSksIEV4dHJhY3RLZXkpKQotICAgICAgICByZXR1
cm4gKmVudHJ5OworICAgICAgICByZXR1cm4gZXh0cmFjdFByb3BlcnR5KCplbnRyeSk7CiAKICAg
ICBpZiAoZXhwbGljaXRGb3JtKQogICAgICAgICByZXR1cm4gTnVsbG9wdDsKQEAgLTExMDksMTQg
KzExNDEsMTggQEAgT3B0aW9uYWw8RW50cnk+IE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6c2Vh
cmNoKFVDaGFyIGNoYXJhY3RlciwgRm9ybSBmb3JtLCBib28KICAgICAgICAgICAgIGVudHJ5LS07
CiAgICAgICAgIGlmIChlbnRyeSAhPSBkaWN0aW9uYXJ5ICYmIChlbnRyeSAtIDEpLT5jaGFyYWN0
ZXIgPT0gY2hhcmFjdGVyKQogICAgICAgICAgICAgZW50cnktLTsKLSAgICAgICAgcmV0dXJuICpl
bnRyeTsKKyAgICAgICAgcmV0dXJuIGV4dHJhY3RQcm9wZXJ0eSgqZW50cnkpOwogICAgIH0KIAog
ICAgIHJldHVybiBOdWxsb3B0OwogfQogCi1ib29sIE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6
aXNWZXJ0aWNhbChVQ2hhciB0ZXh0Q29udGVudCkKK2Jvb2wgTWF0aE1MT3BlcmF0b3JEaWN0aW9u
YXJ5Ojppc1ZlcnRpY2FsKFVDaGFyMzIgdGV4dENvbnRlbnQpCiB7CisgICAgLy8gV2UgaGFuZGxl
IHRoZSBzcGVjaWFsIGNhc2Ugb2Ygbm9uLUJNUCBjaGFyYWN0ZXJzLgorICAgIGlmICghVV9JU19C
TVAodGV4dENvbnRlbnQpKQorICAgICAgICByZXR1cm4gaXNBcmFiaWNPcGVyYXRvcih0ZXh0Q29u
dGVudCk7CisKICAgICByZXR1cm4gIXRyeUJpbmFyeVNlYXJjaDxjb25zdCBVQ2hhciwgVUNoYXI+
KGhvcml6b250YWxPcGVyYXRvcnMsIFdURl9BUlJBWV9MRU5HVEgoaG9yaXpvbnRhbE9wZXJhdG9y
cyksIHRleHRDb250ZW50LCBFeHRyYWN0S2V5SG9yaXpvbnRhbCk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckRpY3Rpb25hcnkuaCBiL1NvdXJj
ZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckRpY3Rpb25hcnkuaAppbmRleCBmZTE0OGY4
Li4wMGVmNTBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MT3BlcmF0
b3JEaWN0aW9uYXJ5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9y
RGljdGlvbmFyeS5oCkBAIC00NCwxNSArNDQsMTYgQEAgZW51bSBGbGFnIHsKICAgICBTeW1tZXRy
aWMgPSAweDQwCiB9OwogY29uc3QgdW5zaWduZWQgYWxsRmxhZ3MgPSBBY2NlbnQgfCBGZW5jZSB8
IExhcmdlT3AgfCBNb3ZhYmxlTGltaXRzIHwgU2VwYXJhdG9yIHwgU3RyZXRjaHkgfCBTeW1tZXRy
aWM7Ci1zdHJ1Y3QgRW50cnkgewotICAgIFVDaGFyIGNoYXJhY3RlcjsKLSAgICB1bnNpZ25lZCBm
b3JtIDogMjsKLSAgICB1bnNpZ25lZCBsc3BhY2UgOiAzOwotICAgIHVuc2lnbmVkIHJzcGFjZSA6
IDM7Ci0gICAgdW5zaWduZWQgZmxhZ3MgOiA4Oworc3RydWN0IFByb3BlcnR5IHsKKyAgICBNYXRo
TUxPcGVyYXRvckRpY3Rpb25hcnk6OkZvcm0gZm9ybTsKKyAgICAvLyBEZWZhdWx0IGxlYWRpbmcg
YW5kIHRyYWlsaW5nIHNwYWNlcyBhcmUgInRoaWNrbWF0aHNwYWNlIi4KKyAgICB1bnNpZ25lZCBz
aG9ydCBsZWFkaW5nU3BhY2VJbk1hdGhVbml0IHsgNSB9OworICAgIHVuc2lnbmVkIHNob3J0IHRy
YWlsaW5nU3BhY2VJbk1hdGhVbml0IHsgNSB9OworICAgIC8vIERlZmF1bHQgb3BlcmF0b3IgcHJv
cGVydGllcyBhcmUgYWxsIHNldCB0byAiZmFsc2UiLgorICAgIHVuc2lnbmVkIHNob3J0IGZsYWdz
IHsgMCB9OwogfTsKLU9wdGlvbmFsPEVudHJ5PiBzZWFyY2goVUNoYXIsIEZvcm0sIGJvb2wgZXhw
bGljaXRGb3JtKTsKLWJvb2wgaXNWZXJ0aWNhbChVQ2hhcik7CitPcHRpb25hbDxQcm9wZXJ0eT4g
c2VhcmNoKFVDaGFyMzIsIEZvcm0sIGJvb2wgZXhwbGljaXRGb3JtKTsKK2Jvb2wgaXNWZXJ0aWNh
bChVQ2hhcjMyKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01h
dGhNTE9wZXJhdG9yRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MT3Bl
cmF0b3JFbGVtZW50LmNwcAppbmRleCA4MWMxN2RhLi4xNDA4ZTc0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JFbGVtZW50LmNwcApAQCAtNTIsMTUgKzUyLDEy
IEBAIE1hdGhNTE9wZXJhdG9yRWxlbWVudDo6T3BlcmF0b3JDaGFyIE1hdGhNTE9wZXJhdG9yRWxl
bWVudDo6cGFyc2VPcGVyYXRvckNoYXIoY29uCiAgICAgT3BlcmF0b3JDaGFyIG9wZXJhdG9yQ2hh
cjsKICAgICAvLyBGSVhNRTogVGhpcyBvcGVyYXRvciBkaWN0aW9uYXJ5IGRvZXMgbm90IGFjY2Vw
dCBtdWx0aXBsZSBjaGFyYWN0ZXJzIChodHRwczovL3dlYmtpdC5vcmcvYi8xMjQ4MjgpLgogICAg
IGlmIChhdXRvIGNvZGVQb2ludCA9IGNvbnZlcnRUb1NpbmdsZUNvZGVQb2ludChzdHJpbmcpKSB7
Ci0gICAgICAgIC8vIEZJWE1FOiBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnkvUmVuZGVyTWF0aE1M
T3BlcmF0b3IvTWF0aE9wZXJhdG9yIGRvIG5vdCBzdXBwb3J0IG5vbi1CTVAgY2hhcmFjdGVycyAo
aHR0cHM6Ly93ZWJraXQub3JnL2IvMTIyMjk2KS4KLSAgICAgICAgaWYgKFVfSVNfQk1QKGNvZGVQ
b2ludC52YWx1ZSgpKSkgewotICAgICAgICAgICAgVUNoYXIgY2hhcmFjdGVyID0gY29kZVBvaW50
LnZhbHVlKCk7Ci0gICAgICAgICAgICAvLyBUaGUgbWludXMgc2lnbiByZW5kZXJzIGJldHRlciB0
aGFuIHRoZSBoeXBoZW4gc2lnbiB1c2VkIGluIHNvbWUgTWF0aE1MIGZvcm11bGFzLgotICAgICAg
ICAgICAgaWYgKGNoYXJhY3RlciA9PSBoeXBoZW5NaW51cykKLSAgICAgICAgICAgICAgICBjaGFy
YWN0ZXIgPSBtaW51c1NpZ247Ci0gICAgICAgICAgICBvcGVyYXRvckNoYXIuY2hhcmFjdGVyID0g
Y2hhcmFjdGVyOwotICAgICAgICAgICAgb3BlcmF0b3JDaGFyLmlzVmVydGljYWwgPSBNYXRoTUxP
cGVyYXRvckRpY3Rpb25hcnk6OmlzVmVydGljYWwob3BlcmF0b3JDaGFyLmNoYXJhY3Rlcik7Ci0g
ICAgICAgIH0KKyAgICAgICAgYXV0byBjaGFyYWN0ZXIgPSBjb2RlUG9pbnQudmFsdWUoKTsKKyAg
ICAgICAgLy8gVGhlIG1pbnVzIHNpZ24gcmVuZGVycyBiZXR0ZXIgdGhhbiB0aGUgaHlwaGVuIHNp
Z24gdXNlZCBpbiBzb21lIE1hdGhNTCBmb3JtdWxhcy4KKyAgICAgICAgaWYgKGNoYXJhY3RlciA9
PSBoeXBoZW5NaW51cykKKyAgICAgICAgICAgIGNoYXJhY3RlciA9IG1pbnVzU2lnbjsKKyAgICAg
ICAgb3BlcmF0b3JDaGFyLmNoYXJhY3RlciA9IGNoYXJhY3RlcjsKKyAgICAgICAgb3BlcmF0b3JD
aGFyLmlzVmVydGljYWwgPSBpc1ZlcnRpY2FsKG9wZXJhdG9yQ2hhci5jaGFyYWN0ZXIpOwogICAg
IH0KICAgICByZXR1cm4gb3BlcmF0b3JDaGFyOwogfQpAQCAtNzIsOSArNjksOSBAQCBjb25zdCBN
YXRoTUxPcGVyYXRvckVsZW1lbnQ6Ok9wZXJhdG9yQ2hhciYgTWF0aE1MT3BlcmF0b3JFbGVtZW50
OjpvcGVyYXRvckNoYXIoKQogICAgIHJldHVybiBtX29wZXJhdG9yQ2hhci52YWx1ZSgpOwogfQog
Ci1NYXRoTUxPcGVyYXRvckVsZW1lbnQ6OkRpY3Rpb25hcnlQcm9wZXJ0eSBNYXRoTUxPcGVyYXRv
ckVsZW1lbnQ6OmNvbXB1dGVEaWN0aW9uYXJ5UHJvcGVydHkoKQorUHJvcGVydHkgTWF0aE1MT3Bl
cmF0b3JFbGVtZW50Ojpjb21wdXRlRGljdGlvbmFyeVByb3BlcnR5KCkKIHsKLSAgICBEaWN0aW9u
YXJ5UHJvcGVydHkgZGljdGlvbmFyeVByb3BlcnR5OworICAgIFByb3BlcnR5IGRpY3Rpb25hcnlQ
cm9wZXJ0eTsKIAogICAgIC8vIFdlIGZpcnN0IGRldGVybWluZSB0aGUgZm9ybSBhdHRyaWJ1dGUg
YW5kIHVzZSB0aGUgZGVmYXVsdCBzcGFjaW5nIGFuZCBwcm9wZXJ0aWVzLgogICAgIGNvbnN0IGF1
dG8mIHZhbHVlID0gYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihmb3JtQXR0cik7CkBA
IC05NywxNyArOTQsMTMgQEAgTWF0aE1MT3BlcmF0b3JFbGVtZW50OjpEaWN0aW9uYXJ5UHJvcGVy
dHkgTWF0aE1MT3BlcmF0b3JFbGVtZW50Ojpjb21wdXRlRGljdGlvbmEKICAgICB9CiAKICAgICAv
LyBXZSB0aGVuIHRyeSBhbmQgZmluZCBhbiBlbnRyeSBpbiB0aGUgb3BlcmF0b3IgZGljdGlvbmFy
eSB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCB2YWx1ZXMuCi0gICAgaWYgKGF1dG8gZW50cnkgPSBz
ZWFyY2gob3BlcmF0b3JDaGFyKCkuY2hhcmFjdGVyLCBkaWN0aW9uYXJ5UHJvcGVydHkuZm9ybSwg
ZXhwbGljaXRGb3JtKSkgewotICAgICAgICBkaWN0aW9uYXJ5UHJvcGVydHkuZm9ybSA9IHN0YXRp
Y19jYXN0PE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6Rm9ybT4oZW50cnkudmFsdWUoKS5mb3Jt
KTsKLSAgICAgICAgZGljdGlvbmFyeVByb3BlcnR5LmxlYWRpbmdTcGFjZUluTWF0aFVuaXQgPSBl
bnRyeS52YWx1ZSgpLmxzcGFjZTsKLSAgICAgICAgZGljdGlvbmFyeVByb3BlcnR5LnRyYWlsaW5n
U3BhY2VJbk1hdGhVbml0ID0gZW50cnkudmFsdWUoKS5yc3BhY2U7Ci0gICAgICAgIGRpY3Rpb25h
cnlQcm9wZXJ0eS5mbGFncyA9IGVudHJ5LnZhbHVlKCkuZmxhZ3M7Ci0gICAgfQorICAgIGlmIChh
dXRvIGVudHJ5ID0gc2VhcmNoKG9wZXJhdG9yQ2hhcigpLmNoYXJhY3RlciwgZGljdGlvbmFyeVBy
b3BlcnR5LmZvcm0sIGV4cGxpY2l0Rm9ybSkpCisgICAgICAgIGRpY3Rpb25hcnlQcm9wZXJ0eSA9
IGVudHJ5LnZhbHVlKCk7CiAKICAgICByZXR1cm4gZGljdGlvbmFyeVByb3BlcnR5OwogfQogCi1j
b25zdCBNYXRoTUxPcGVyYXRvckVsZW1lbnQ6OkRpY3Rpb25hcnlQcm9wZXJ0eSYgTWF0aE1MT3Bl
cmF0b3JFbGVtZW50OjpkaWN0aW9uYXJ5UHJvcGVydHkoKQorY29uc3QgUHJvcGVydHkmIE1hdGhN
TE9wZXJhdG9yRWxlbWVudDo6ZGljdGlvbmFyeVByb3BlcnR5KCkKIHsKICAgICBpZiAoIW1fZGlj
dGlvbmFyeVByb3BlcnR5KQogICAgICAgICBtX2RpY3Rpb25hcnlQcm9wZXJ0eSA9IGNvbXB1dGVE
aWN0aW9uYXJ5UHJvcGVydHkoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9N
YXRoTUxPcGVyYXRvckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxPcGVy
YXRvckVsZW1lbnQuaAppbmRleCA5NDBmNDJmLi4zNWE2ZTBjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5oCkBAIC0zNSw3ICszNSw3IEBAIGNsYXNz
IE1hdGhNTE9wZXJhdG9yRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBNYXRoTUxUb2tlbkVsZW1lbnQg
ewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8TWF0aE1MT3BlcmF0b3JFbGVtZW50PiBjcmVhdGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmKTsKICAgICBzdHJ1Y3QgT3Bl
cmF0b3JDaGFyIHsKLSAgICAgICAgVUNoYXIgY2hhcmFjdGVyIHsgMCB9OworICAgICAgICBVQ2hh
cjMyIGNoYXJhY3RlciB7IDAgfTsKICAgICAgICAgYm9vbCBpc1ZlcnRpY2FsIHsgdHJ1ZSB9Owog
ICAgIH07CiAgICAgc3RhdGljIE9wZXJhdG9yQ2hhciBwYXJzZU9wZXJhdG9yQ2hhcihjb25zdCBT
dHJpbmcmKTsKQEAgLTU4LDE3ICs1OCw5IEBAIHByaXZhdGU6CiAKICAgICBPcHRpb25hbDxPcGVy
YXRvckNoYXI+IG1fb3BlcmF0b3JDaGFyOwogCi0gICAgc3RydWN0IERpY3Rpb25hcnlQcm9wZXJ0
eSB7Ci0gICAgICAgIE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6Rm9ybSBmb3JtOwotICAgICAg
ICAvLyBEZWZhdWx0IGxlYWRpbmcgYW5kIHRyYWlsaW5nIHNwYWNlcyBhcmUgInRoaWNrbWF0aHNw
YWNlIi4KLSAgICAgICAgdW5zaWduZWQgc2hvcnQgbGVhZGluZ1NwYWNlSW5NYXRoVW5pdCB7IDUg
fTsKLSAgICAgICAgdW5zaWduZWQgc2hvcnQgdHJhaWxpbmdTcGFjZUluTWF0aFVuaXQgeyA1IH07
Ci0gICAgICAgIC8vIERlZmF1bHQgb3BlcmF0b3IgcHJvcGVydGllcyBhcmUgYWxsIHNldCB0byAi
ZmFsc2UiLgotICAgICAgICB1bnNpZ25lZCBzaG9ydCBmbGFncyB7IDAgfTsKLSAgICB9OwotICAg
IE9wdGlvbmFsPERpY3Rpb25hcnlQcm9wZXJ0eT4gbV9kaWN0aW9uYXJ5UHJvcGVydHk7Ci0gICAg
RGljdGlvbmFyeVByb3BlcnR5IGNvbXB1dGVEaWN0aW9uYXJ5UHJvcGVydHkoKTsKLSAgICBjb25z
dCBEaWN0aW9uYXJ5UHJvcGVydHkmIGRpY3Rpb25hcnlQcm9wZXJ0eSgpOworICAgIE9wdGlvbmFs
PE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6UHJvcGVydHk+IG1fZGljdGlvbmFyeVByb3BlcnR5
OworICAgIE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6UHJvcGVydHkgY29tcHV0ZURpY3Rpb25h
cnlQcm9wZXJ0eSgpOworICAgIGNvbnN0IE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6UHJvcGVy
dHkmIGRpY3Rpb25hcnlQcm9wZXJ0eSgpOwogCiAgICAgc3RydWN0IE9wZXJhdG9yUHJvcGVydGll
cyB7CiAgICAgICAgIHVuc2lnbmVkIHNob3J0IGZsYWdzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL21hdGhtbC9NYXRoT3BlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9NYXRoT3BlcmF0b3IuY3BwCmluZGV4IDRmYjhmNmEuLmYwMmYwZDMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvTWF0aE9wZXJhdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL01hdGhPcGVyYXRvci5j
cHAKQEAgLTYwLDcgKzYwLDcgQEAgc3RhdGljIGlubGluZSBmbG9hdCBhZHZhbmNlV2lkdGhGb3JH
bHlwaChjb25zdCBHbHlwaERhdGEmIGRhdGEpCiAKIC8vIEZJWE1FOiBUaGlzIGhhcmRjb2RlZCBk
YXRhIGNhbiBiZSByZW1vdmVkIHdoZW4gT3BlblR5cGUgTUFUSCBmb250IGFyZSB3aWRlbHkgYXZh
aWxhYmxlIChodHRwOi8vd2tidWcvMTU2ODM3KS4KIHN0cnVjdCBTdHJldGNoeUNoYXJhY3RlciB7
Ci0gICAgVUNoYXIgY2hhcmFjdGVyOworICAgIFVDaGFyMzIgY2hhcmFjdGVyOwogICAgIFVDaGFy
IHRvcENoYXI7CiAgICAgVUNoYXIgZXh0ZW5zaW9uQ2hhcjsKICAgICBVQ2hhciBib3R0b21DaGFy
OwpAQCAtODUsNyArODUsNyBAQCBzdGF0aWMgY29uc3QgU3RyZXRjaHlDaGFyYWN0ZXIgc3RyZXRj
aHlDaGFyYWN0ZXJzWzE0XSA9IHsKICAgICB7IDB4MjIyYiwgMHgyMzIwLCAweDIzYWUsIDB4MjMy
MSwgMHgwICAgIH0gLy8gaW50ZWdyYWwgc2lnbgogfTsKIAotdm9pZCBNYXRoT3BlcmF0b3I6OnNl
dE9wZXJhdG9yKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgVUNoYXIgYmFzZUNoYXJhY3Rlciwg
VHlwZSBvcGVyYXRvclR5cGUpCit2b2lkIE1hdGhPcGVyYXRvcjo6c2V0T3BlcmF0b3IoY29uc3Qg
UmVuZGVyU3R5bGUmIHN0eWxlLCBVQ2hhcjMyIGJhc2VDaGFyYWN0ZXIsIFR5cGUgb3BlcmF0b3JU
eXBlKQogewogICAgIG1fYmFzZUNoYXJhY3RlciA9IGJhc2VDaGFyYWN0ZXI7CiAgICAgbV9vcGVy
YXRvclR5cGUgPSBvcGVyYXRvclR5cGU7CkBAIC0xMjEsNyArMTIxLDcgQEAgTGF5b3V0VW5pdCBN
YXRoT3BlcmF0b3I6OnN0cmV0Y2hTaXplKCkgY29uc3QKICAgICByZXR1cm4gbV9vcGVyYXRvclR5
cGUgPT0gVHlwZTo6VmVydGljYWxPcGVyYXRvciA/IG1fYXNjZW50ICsgbV9kZXNjZW50IDogbV93
aWR0aDsKIH0KIAotYm9vbCBNYXRoT3BlcmF0b3I6OmdldEdseXBoKGNvbnN0IFJlbmRlclN0eWxl
JiBzdHlsZSwgVUNoYXIgY2hhcmFjdGVyLCBHbHlwaERhdGEmIGdseXBoKSBjb25zdAorYm9vbCBN
YXRoT3BlcmF0b3I6OmdldEdseXBoKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgVUNoYXIzMiBj
aGFyYWN0ZXIsIEdseXBoRGF0YSYgZ2x5cGgpIGNvbnN0CiB7CiAgICAgZ2x5cGggPSBzdHlsZS5m
b250Q2FzY2FkZSgpLmdseXBoRGF0YUZvckNoYXJhY3RlcihjaGFyYWN0ZXIsICFzdHlsZS5pc0xl
ZnRUb1JpZ2h0RGlyZWN0aW9uKCkpOwogICAgIHJldHVybiBnbHlwaC5mb250ICYmIGdseXBoLmZv
bnQgPT0gJnN0eWxlLmZvbnRDYXNjYWRlKCkucHJpbWFyeUZvbnQoKTsKQEAgLTE3MSw3ICsxNzEs
NyBAQCB2b2lkIE1hdGhPcGVyYXRvcjo6c2V0R2x5cGhBc3NlbWJseShjb25zdCBHbHlwaEFzc2Vt
Ymx5RGF0YSYgYXNzZW1ibHlEYXRhKQogLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9NYXRo
TUwvY2hhcHRlcjcuaHRtbCNjaGFycy5jb21iLWNoYXJzCiAvLyBIb3dldmVyLCBtYW55IG1hdGgg
Zm9udHMgZG8gbm90IHByb3ZpZGUgY29uc3RydWN0aW9ucyBmb3IgdGhlIG5vbi1jb21iaW5pbmcg
ZXF1aXZhbGVudC4KIGNvbnN0IHVuc2lnbmVkIG1heEZhbGxiYWNrUGVyQ2hhcmFjdGVyID0gMzsK
LXN0YXRpYyBjb25zdCBVQ2hhciBjaGFyYWN0ZXJGYWxsYmFja1tdW21heEZhbGxiYWNrUGVyQ2hh
cmFjdGVyXSA9IHsKK3N0YXRpYyBjb25zdCBVQ2hhcjMyIGNoYXJhY3RlckZhbGxiYWNrW11bbWF4
RmFsbGJhY2tQZXJDaGFyYWN0ZXJdID0gewogICAgIHsgMHgwMDVFLCAweDAzMDIsIDAgfSwgLy8g
Q0lSQ1VNRkxFWCBBQ0NFTlQKICAgICB7IDB4MDA1RiwgMHgwMzMyLCAwIH0sIC8vIExPVyBMSU5F
CiAgICAgeyAweDAwN0UsIDB4MDMwMywgMCB9LCAvLyBUSUxERQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9NYXRoT3BlcmF0b3IuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9tYXRobWwvTWF0aE9wZXJhdG9yLmgKaW5kZXggY2YwYzU0OS4uZWU4OTMxNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9NYXRoT3BlcmF0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL01hdGhPcGVyYXRvci5oCkBA
IC00MCw3ICs0MCw3IEBAIGNsYXNzIE1hdGhPcGVyYXRvciB7CiBwdWJsaWM6CiAgICAgTWF0aE9w
ZXJhdG9yKCkgeyB9CiAgICAgZW51bSBjbGFzcyBUeXBlIHsgTm9ybWFsT3BlcmF0b3IsIERpc3Bs
YXlPcGVyYXRvciwgVmVydGljYWxPcGVyYXRvciwgSG9yaXpvbnRhbE9wZXJhdG9yIH07Ci0gICAg
dm9pZCBzZXRPcGVyYXRvcihjb25zdCBSZW5kZXJTdHlsZSYsIFVDaGFyIGJhc2VDaGFyYWN0ZXIs
IFR5cGUpOworICAgIHZvaWQgc2V0T3BlcmF0b3IoY29uc3QgUmVuZGVyU3R5bGUmLCBVQ2hhcjMy
IGJhc2VDaGFyYWN0ZXIsIFR5cGUpOwogICAgIHZvaWQgcmVzZXQoY29uc3QgUmVuZGVyU3R5bGUm
KTsKIAogICAgIExheW91dFVuaXQgd2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3dpZHRoOyB9CkBA
IC03Miw3ICs3Miw3IEBAIHByaXZhdGU6CiAgICAgfTsKIAogICAgIExheW91dFVuaXQgc3RyZXRj
aFNpemUoKSBjb25zdDsKLSAgICBib29sIGdldEdseXBoKGNvbnN0IFJlbmRlclN0eWxlJiwgVUNo
YXIgY2hhcmFjdGVyLCBHbHlwaERhdGEmKSBjb25zdDsKKyAgICBib29sIGdldEdseXBoKGNvbnN0
IFJlbmRlclN0eWxlJiwgVUNoYXIzMiBjaGFyYWN0ZXIsIEdseXBoRGF0YSYpIGNvbnN0OwogICAg
IGJvb2wgZ2V0QmFzZUdseXBoKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgR2x5cGhEYXRhJiBi
YXNlR2x5cGgpIGNvbnN0IHsgcmV0dXJuIGdldEdseXBoKHN0eWxlLCBtX2Jhc2VDaGFyYWN0ZXIs
IGJhc2VHbHlwaCk7IH0KICAgICB2b2lkIHNldFNpemVWYXJpYW50KGNvbnN0IEdseXBoRGF0YSYp
OwogICAgIHZvaWQgc2V0R2x5cGhBc3NlbWJseShjb25zdCBHbHlwaEFzc2VtYmx5RGF0YSYpOwpA
QCAtODcsNyArODcsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcGFpbnRWZXJ0aWNhbEdseXBoQXNz
ZW1ibHkoY29uc3QgUmVuZGVyU3R5bGUmLCBQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYp
OwogICAgIHZvaWQgcGFpbnRIb3Jpem9udGFsR2x5cGhBc3NlbWJseShjb25zdCBSZW5kZXJTdHls
ZSYsIFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50Jik7CiAKLSAgICBVQ2hhciBtX2Jhc2VD
aGFyYWN0ZXIgeyAwIH07CisgICAgVUNoYXIzMiBtX2Jhc2VDaGFyYWN0ZXIgeyAwIH07CiAgICAg
VHlwZSBtX29wZXJhdG9yVHlwZSB7IFR5cGU6Ok5vcm1hbE9wZXJhdG9yIH07CiAgICAgU3RyZXRj
aFR5cGUgbV9zdHJldGNoVHlwZSB7IFN0cmV0Y2hUeXBlOjpVbnN0cmV0Y2hlZCB9OwogICAgIHVu
aW9uIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVy
TWF0aE1MRmVuY2VkT3BlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGht
bC9SZW5kZXJNYXRoTUxGZW5jZWRPcGVyYXRvci5jcHAKaW5kZXggYmNiMzA3ZC4uMGFhNzFkMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxG
ZW5jZWRPcGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9S
ZW5kZXJNYXRoTUxGZW5jZWRPcGVyYXRvci5jcHAKQEAgLTUxLDggKzUxLDggQEAgdm9pZCBSZW5k
ZXJNYXRoTUxGZW5jZWRPcGVyYXRvcjo6dXBkYXRlT3BlcmF0b3JDb250ZW50KGNvbnN0IFN0cmlu
ZyYgb3BlcmF0b3JTdHIKICAgICAvLyBXZSB0cnkgYW5kIHJlYWQgc3BhY2luZyBhbmQgYm9vbGVh
biBwcm9wZXJ0aWVzIGZyb20gdGhlIG9wZXJhdG9yIGRpY3Rpb25hcnkuCiAgICAgLy8gSG93ZXZl
ciB3ZSBwcmVzZXJ2ZSB0aGUgRmVuY2UgYW5kIFNlcGFyYXRvciBwcm9wZXJ0aWVzIHNwZWNpZmll
ZCBpbiB0aGUgY29uc3RydWN0b3IuCiAgICAgaWYgKGF1dG8gZW50cnkgPSBzZWFyY2gobV9vcGVy
YXRvckNoYXIuY2hhcmFjdGVyLCBtX29wZXJhdG9yRm9ybSwgdHJ1ZSkpIHsKLSAgICAgICAgbV9s
ZWFkaW5nU3BhY2VJbk1hdGhVbml0ID0gZW50cnkudmFsdWUoKS5sc3BhY2U7Ci0gICAgICAgIG1f
dHJhaWxpbmdTcGFjZUluTWF0aFVuaXQgPSBlbnRyeS52YWx1ZSgpLnJzcGFjZTsKKyAgICAgICAg
bV9sZWFkaW5nU3BhY2VJbk1hdGhVbml0ID0gZW50cnkudmFsdWUoKS5sZWFkaW5nU3BhY2VJbk1h
dGhVbml0OworICAgICAgICBtX3RyYWlsaW5nU3BhY2VJbk1hdGhVbml0ID0gZW50cnkudmFsdWUo
KS50cmFpbGluZ1NwYWNlSW5NYXRoVW5pdDsKICAgICAgICAgbV9vcGVyYXRvckZsYWdzID0gKG1f
b3BlcmF0b3JGbGFncyAmIChNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OkZlbmNlIHwgTWF0aE1M
T3BlcmF0b3JEaWN0aW9uYXJ5OjpTZXBhcmF0b3IpKSB8IGVudHJ5LnZhbHVlKCkuZmxhZ3M7CiAg
ICAgfSBlbHNlIHsKICAgICAgICAgbV9vcGVyYXRvckZsYWdzICY9IE1hdGhNTE9wZXJhdG9yRGlj
dGlvbmFyeTo6RmVuY2UgfCBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OlNlcGFyYXRvcjsgLy8g
RmxhZ3MgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZE9wZXJhdG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZE9wZXJhdG9yLmgKaW5k
ZXggODAzMDk4Mi4uZGM0NjY0MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZE9wZXJhdG9yLmgKQEAgLTQxLDcg
KzQxLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBib29sIGlzUmVuZGVyTWF0aE1MRmVuY2Vk
T3BlcmF0b3IoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAgICAgYm9vbCBpc1ZlcnRp
Y2FsKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9vcGVyYXRvckNoYXIuaXNWZXJ0aWNhbDsgfQot
ICAgIFVDaGFyIHRleHRDb250ZW50KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9vcGVyYXRvckNo
YXIuY2hhcmFjdGVyOyB9CisgICAgVUNoYXIzMiB0ZXh0Q29udGVudCgpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIG1fb3BlcmF0b3JDaGFyLmNoYXJhY3RlcjsgfQogICAgIExheW91dFVuaXQgbGVhZGlu
Z1NwYWNlKCkgY29uc3QgZmluYWw7CiAgICAgTGF5b3V0VW5pdCB0cmFpbGluZ1NwYWNlKCkgY29u
c3QgZmluYWw7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwv
UmVuZGVyTWF0aE1MT3BlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGht
bC9SZW5kZXJNYXRoTUxPcGVyYXRvci5jcHAKaW5kZXggYzgxYTE0NS4uMzUxOGEwZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRv
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxP
cGVyYXRvci5jcHAKQEAgLTYzLDcgKzYzLDcgQEAgTWF0aE1MT3BlcmF0b3JFbGVtZW50JiBSZW5k
ZXJNYXRoTUxPcGVyYXRvcjo6ZWxlbWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0
PE1hdGhNTE9wZXJhdG9yRWxlbWVudCY+KG5vZGVGb3JOb25Bbm9ueW1vdXMoKSk7CiB9CiAKLVVD
aGFyIFJlbmRlck1hdGhNTE9wZXJhdG9yOjp0ZXh0Q29udGVudCgpIGNvbnN0CitVQ2hhcjMyIFJl
bmRlck1hdGhNTE9wZXJhdG9yOjp0ZXh0Q29udGVudCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGVs
ZW1lbnQoKS5vcGVyYXRvckNoYXIoKS5jaGFyYWN0ZXI7CiB9CkBAIC03MSw3ICs3MSw3IEBAIFVD
aGFyIFJlbmRlck1hdGhNTE9wZXJhdG9yOjp0ZXh0Q29udGVudCgpIGNvbnN0CiBib29sIFJlbmRl
ck1hdGhNTE9wZXJhdG9yOjppc0ludmlzaWJsZU9wZXJhdG9yKCkgY29uc3QKIHsKICAgICAvLyBU
aGUgZm9sbG93aW5nIG9wZXJhdG9ycyBhcmUgaW52aXNpYmxlOiBVKzIwNjEgRlVOQ1RJT04gQVBQ
TElDQVRJT04sIFUrMjA2MiBJTlZJU0lCTEUgVElNRVMsIFUrMjA2MyBJTlZJU0lCTEUgU0VQQVJB
VE9SLCBVKzIwNjQgSU5WSVNJQkxFIFBMVVMuCi0gICAgVUNoYXIgY2hhcmFjdGVyID0gdGV4dENv
bnRlbnQoKTsKKyAgICBVQ2hhcjMyIGNoYXJhY3RlciA9IHRleHRDb250ZW50KCk7CiAgICAgcmV0
dXJuIDB4MjA2MSA8PSBjaGFyYWN0ZXIgJiYgY2hhcmFjdGVyIDw9IDB4MjA2NDsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVy
YXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVy
YXRvci5oCmluZGV4IGNjZjhlNTguLjQ2ODhhYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmgKQEAgLTU1LDcgKzU1
LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCB1cGRhdGVUb2tlbkNvbnRlbnQoKSBmaW5hbDsKICAg
ICB2b2lkIHVwZGF0ZUZyb21FbGVtZW50KCkgZmluYWw7Ci0gICAgdmlydHVhbCBVQ2hhciB0ZXh0
Q29udGVudCgpIGNvbnN0OworICAgIHZpcnR1YWwgVUNoYXIzMiB0ZXh0Q29udGVudCgpIGNvbnN0
OwogCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZU1hdGhPcGVyYXRvcigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>286853</attachid>
            <date>2016-08-24 08:06:56 -0700</date>
            <delta_ts>2016-08-25 05:54:28 -0700</delta_ts>
            <desc>Patch WIP</desc>
            <filename>153984.patch</filename>
            <type>text/plain</type>
            <size>33790</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkNTY2ODQ5Li4wMWRiZDljIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTYtMDgt
MjQgIEZyZWRlcmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgorCisgICAgICAgIE1vcmUgY2xl
YW51cCBmb3IgdGhlIG1wYWRkZWQgaW1wbGVtZW50YXRpb24KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTEzNgorCisgICAgICAgIFdlIGFkZCBhIHRl
c3QgZm9yIHN0eWxlIGNoYW5nZSBpbiBtcGFkZGVkLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogbWF0aG1sL3ByZXNlbnRhdGlvbi9tcGFkZGVkLXN0
eWxlLWNoYW5nZS1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtYXRobWwvcHJlc2Vu
dGF0aW9uL21wYWRkZWQtc3R5bGUtY2hhbmdlLmh0bWw6IEFkZGVkLgorCiAyMDE2LTA4LTIzICBa
YWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgQVNTRVJUSU9OIEZBSUxF
RDogIXZpZXcoKS5sYXlvdXRTdGF0ZUVuYWJsZWQoKSB8fCBzdHlsZSgpLnN0eWxlVHlwZSgpID09
IEZJUlNUX0xFVFRFUiBpbiBXZWJDb3JlOjpSZW5kZXJJbmxpbmU6OmNsaXBwZWRPdmVyZmxvd1Jl
Y3RGb3JSZXBhaW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9u
L21wYWRkZWQtc3R5bGUtY2hhbmdlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9tYXRobWwv
cHJlc2VudGF0aW9uL21wYWRkZWQtc3R5bGUtY2hhbmdlLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDljOGMxOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vbXBhZGRlZC1zdHlsZS1jaGFuZ2UtZXhwZWN0
ZWQuaHRtbApAQCAtMCwwICsxLDIxIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sIGNsYXNzPSJy
ZWZ0ZXN0LXdhaXQiPgorICA8aGVhZD4KKyAgICA8dGl0bGU+bXBhZGRlZCBzdHlsZSBjaGFuZ2U8
L3RpdGxlPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ii8+CisgICAgPHN0eWxlPgorICAgICAg
bWF0aC5sYXJnZSB7IGZvbnQtc2l6ZTogMnB4OyB9CisgICAgPC9zdHlsZT4KKyAgPC9oZWFkPgor
ICA8Ym9keT4KKyAgICA8bWF0aCBjbGFzcz0ibGFyZ2UiPgorICAgICAgPG1zcGFjZSB3aWR0aD0i
MTBlbSIgaGVpZ2h0PSI1ZW0iIGRlcHRoPSI1ZW0iIG1hdGhiYWNrZ3JvdW5kPSJncmVlbiIvPgor
ICAgICAgPG1wYWRkZWQgbWF0aGJhY2tncm91bmQ9ImJsdWUiCisgICAgICAgICAgICAgICB3aWR0
aD0iNDBlbSIgZGVwdGg9IjMwZW0iIGhlaWdodD0iMjBlbSIKKyAgICAgICAgICAgICAgIGxzcGFj
ZT0iNWVtIiB2b2Zmc2V0PSItMTVlbSI+CisgICAgICAgIDxtc3BhY2Ugd2lkdGg9IjEwZW0iIGhl
aWdodD0iNWVtIiBkZXB0aD0iNWVtIiBtYXRoYmFja2dyb3VuZD0icmVkIi8+CisgICAgICA8L21w
YWRkZWQ+CisgICAgICA8bXNwYWNlIHdpZHRoPSIxMGVtIiBoZWlnaHQ9IjVlbSIgZGVwdGg9IjVl
bSIgbWF0aGJhY2tncm91bmQ9ImdyZWVuIi8+CisgICAgPC9tYXRoPgorICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL21wYWRkZWQt
c3R5bGUtY2hhbmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL21wYWRk
ZWQtc3R5bGUtY2hhbmdlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
Yzg1YmNiNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRp
b24vbXBhZGRlZC1zdHlsZS1jaGFuZ2UuaHRtbApAQCAtMCwwICsxLDI5IEBACis8IWRvY3R5cGUg
aHRtbD4KKzxodG1sIGNsYXNzPSJyZWZ0ZXN0LXdhaXQiPgorICA8aGVhZD4KKyAgICA8dGl0bGU+
bXBhZGRlZCBzdHlsZSBjaGFuZ2U8L3RpdGxlPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ii8+
CisgICAgPHN0eWxlPgorICAgICAgbWF0aC5ub3JtYWwgeyBmb250LXNpemU6IDFweDsgfQorICAg
ICAgbWF0aC5sYXJnZSB7IGZvbnQtc2l6ZTogMnB4OyB9CisgICAgPC9zdHlsZT4KKyAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAgICBmdW5jdGlvbiBkb1Rlc3QoKSB7Cisg
ICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYXRoIikuc2V0QXR0cmlidXRlKCJjbGFz
cyIsICJsYXJnZSIpCisgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVBdHRy
aWJ1dGUoImNsYXNzIik7CisgICAgICB9CisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIGRvVGVzdCwgZmFsc2UpOworICAgIDwvc2NyaXB0PgorICA8L2hlYWQ+CisgIDxib2R5
PgorICAgIDxtYXRoIGlkPSJtYXRoIiBjbGFzcz0ibm9ybWFsIj4KKyAgICAgIDxtc3BhY2Ugd2lk
dGg9IjEwZW0iIGhlaWdodD0iNWVtIiBkZXB0aD0iNWVtIiBtYXRoYmFja2dyb3VuZD0iZ3JlZW4i
Lz4KKyAgICAgIDxtcGFkZGVkIG1hdGhiYWNrZ3JvdW5kPSJibHVlIgorICAgICAgICAgICAgICAg
d2lkdGg9IjQwZW0iIGRlcHRoPSIzMGVtIiBoZWlnaHQ9IjIwZW0iCisgICAgICAgICAgICAgICBs
c3BhY2U9IjVlbSIgdm9mZnNldD0iLTE1ZW0iPgorICAgICAgICA8bXNwYWNlIHdpZHRoPSIxMGVt
IiBoZWlnaHQ9IjVlbSIgZGVwdGg9IjVlbSIgbWF0aGJhY2tncm91bmQ9InJlZCIvPgorICAgICAg
PC9tcGFkZGVkPgorICAgICAgPG1zcGFjZSB3aWR0aD0iMTBlbSIgaGVpZ2h0PSI1ZW0iIGRlcHRo
PSI1ZW0iIG1hdGhiYWNrZ3JvdW5kPSJncmVlbiIvPgorICAgIDwvbWF0aD4KKyAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9ub24t
Ym1wLW9wZXJhdG9ycy1zcGFjaW5nLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9tYXRobWwv
cHJlc2VudGF0aW9uL25vbi1ibXAtb3BlcmF0b3JzLXNwYWNpbmctZXhwZWN0ZWQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjFlYWE2Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9ub24tYm1wLW9wZXJhdG9ycy1zcGFj
aW5nLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSw0OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKyAgPGhlYWQ+CisgICAgPHRpdGxlPlNwYWNpbmcgb2Ygbm9uLUJNUCBvcGVyYXRvcnM8L3Rp
dGxlPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04Ii8+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisK
KyAgICA8cD4KKyAgICAgIFRoaXMgdGVzdCB2ZXJpZmllcyB0aGUgc3BhY2luZyBvZiBzb21lIG5v
bi1CTVAgb3BlcmF0b3JzLiBJdCBpcyBhc3N1bWVkCisgICAgICB0aGF0IFUrMUVFRjAgYW5kIFUr
MUVFRjEgb25seSBoYXZlIGEgcHJlZml4IGZvcm0gd2l0aCB6ZXJvIGxzcGFjZS9yc3BhY2UKKyAg
ICAgIGFuZCB0aGF0IFUrMUQ0MDAgaXMgbm90IGluIHRoZSBvcGVyYXRvciBkaWN0aW9uYXJ5LiBI
ZW5jZSB0aGUgb3BlcmF0b3IKKyAgICAgIHNwYWNpbmcgdXNlIHplcm8gZm9yIHByZWZpeCBVKzFF
RUYwL1UrMUVFRjEgYW5kIHdpbGwgdXNlIHRoZSBkZWZhdWx0CisgICAgICB0aGlja21hdGhzcGFj
ZSB2YWx1ZSBvdGhlcndpc2UuIE5vdGUgdGhhdCBmb3IgaW1wbGljaXQgZm9ybSwgV2ViS2l0IGhh
cyBhCisgICAgICB3b3JrYXJvdW5kIGZvciBiYWQgbWFya3VwIGFuZCB3aWxsIGZhbGxiYWNrIHRv
IHRoZSBmb3JtIG9mIGEgZGljdGlvbmFyeQorICAgICAgZW50cnkgaWYgb25lIGlzIGZvdW5kLgor
ICAgIDwvcD4KKworICAgIDxwPlByZWZpeDo8L3A+CisgICAgVSsxRUVGMDo8bWF0aD48bW8gbHNw
YWNlPSIwZW0iIHJzcGFjZT0iMGVtIiBmb3JtPSJwcmVmaXgiPiYjeDFFRUYwOzwvbW8+PC9tYXRo
Pl8KKyAgICBVKzFFRUYxOjxtYXRoPjxtbyBsc3BhY2U9IjBlbSIgcnNwYWNlPSIwZW0iIGZvcm09
InByZWZpeCI+JiN4MUVFRjE7PC9tbz48L21hdGg+XworICAgIFUrMUQ0MDA6PG1hdGg+PG1vIGxz
cGFjZT0idGhpY2ttYXRoc3BhY2UiIHJzcGFjZT0idGhpY2ttYXRoc3BhY2UiIGZvcm09InByZWZp
eCI+JiN4MUQ0MDA7PC9tbz48L21hdGg+XworCisgICAgPHA+UG9zdGZpeDo8L3A+CisgICAgVSsx
RUVGMDo8bWF0aD48bW8gbHNwYWNlPSJ0aGlja21hdGhzcGFjZSIgcnNwYWNlPSJ0aGlja21hdGhz
cGFjZSIgZm9ybT0icG9zdGZpeCI+JiN4MUVFRjA7PC9tbz48L21hdGg+XworICAgIFUrMUVFRjE6
PG1hdGg+PG1vIGxzcGFjZT0idGhpY2ttYXRoc3BhY2UiIHJzcGFjZT0idGhpY2ttYXRoc3BhY2Ui
IGZvcm09InBvc3RmaXgiPiYjeDFFRUYxOzwvbW8+PC9tYXRoPl8KKyAgICBVKzFENDAwOjxtYXRo
PjxtbyBsc3BhY2U9InRoaWNrbWF0aHNwYWNlIiByc3BhY2U9InRoaWNrbWF0aHNwYWNlIiBmb3Jt
PSJwb3N0Zml4Ij4mI3gxRDQwMDs8L21vPjwvbWF0aD5fCisKKyAgICA8cD5JbmZpeDo8L3A+Cisg
ICAgVSsxRUVGMDo8bWF0aD48bW8gbHNwYWNlPSJ0aGlja21hdGhzcGFjZSIgcnNwYWNlPSJ0aGlj
a21hdGhzcGFjZSIgIGZvcm09ImluZml4Ij4mI3gxRUVGMDs8L21vPjwvbWF0aD5fCisgICAgVSsx
RUVGMTo8bWF0aD48bW8gbHNwYWNlPSJ0aGlja21hdGhzcGFjZSIgcnNwYWNlPSJ0aGlja21hdGhz
cGFjZSIgIGZvcm09ImluZml4Ij4mI3gxRUVGMTs8L21vPjwvbWF0aD5fCisgICAgVSsxRDQwMDo8
bWF0aD48bW8gbHNwYWNlPSJ0aGlja21hdGhzcGFjZSIgcnNwYWNlPSJ0aGlja21hdGhzcGFjZSIg
IGZvcm09ImluZml4Ij4mI3gxRDQwMDs8L21vPjwvbWF0aD5fCisKKyAgICA8cD5QcmVmaXggKGlt
cGxpY2l0KTo8L3A+CisgICAgVSsxRUVGMDo8bWF0aD48bW8gbHNwYWNlPSIwZW0iIHJzcGFjZT0i
MGVtIj4mI3gxRUVGMDs8L21vPjxtbj48L21uPjwvbWF0aD5fCisgICAgVSsxRUVGMTo8bWF0aD48
bW8gbHNwYWNlPSIwZW0iIHJzcGFjZT0iMGVtIj4mI3gxRUVGMTs8L21vPjxtbj48L21uPjwvbWF0
aD5fCisgICAgVSsxRDQwMDo8bWF0aD48bW8gbHNwYWNlPSJ0aGlja21hdGhzcGFjZSIgcnNwYWNl
PSJ0aGlja21hdGhzcGFjZSI+JiN4MUQ0MDA7PC9tbz48bW4+PC9tbj48L21hdGg+XworCisgICAg
PHA+SW5maXggKGltcGxpY2l0KTo8L3A+CisgICAgVSsxRUVGMDo8bWF0aD48bW4+PC9tbj48bW8g
bHNwYWNlPSIwZW0iIHJzcGFjZT0iMGVtIj4mI3gxRUVGMDs8L21vPjxtbj48L21uPjwvbWF0aD5f
CisgICAgVSsxRUVGMTo8bWF0aD48bW4+PC9tbj48bW8gbHNwYWNlPSIwZW0iIHJzcGFjZT0iMGVt
Ij4mI3gxRUVGMTs8L21vPjxtbj48L21uPjwvbWF0aD5fCisgICAgVSsxRDQwMDo8bWF0aD48bW4+
PC9tbj48bW8gbHNwYWNlPSJ0aGlja21hdGhzcGFjZSIgcnNwYWNlPSJ0aGlja21hdGhzcGFjZSI+
JiN4MUQ0MDA7PC9tbz48bW4+PC9tbj48L21hdGg+XworCisgICAgPHA+UG9zdGZpeCAoaW1wbGlj
aXQpOjwvcD4KKyAgICBVKzFFRUYwOjxtYXRoPjxtbj48L21uPjxtbyBsc3BhY2U9IjBlbSIgcnNw
YWNlPSIwZW0iPiYjeDFFRUYwOzwvbW8+PC9tYXRoPl8KKyAgICBVKzFFRUYxOjxtYXRoPjxtbj48
L21uPjxtbyBsc3BhY2U9IjBlbSIgcnNwYWNlPSIwZW0iPiYjeDFFRUYxOzwvbW8+PC9tYXRoPl8K
KyAgICBVKzFENDAwOjxtYXRoPjxtbj48L21uPjxtbyBsc3BhY2U9InRoaWNrbWF0aHNwYWNlIiBy
c3BhY2U9InRoaWNrbWF0aHNwYWNlIj4mI3gxRDQwMDs8L21vPjwvbWF0aD5fCisgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vbm9u
LWJtcC1vcGVyYXRvcnMtc3BhY2luZy5odG1sIGIvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRh
dGlvbi9ub24tYm1wLW9wZXJhdG9ycy1zcGFjaW5nLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uZjA2ZjZjNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21h
dGhtbC9wcmVzZW50YXRpb24vbm9uLWJtcC1vcGVyYXRvcnMtc3BhY2luZy5odG1sCkBAIC0wLDAg
KzEsNTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgIDxoZWFkPgorICAgIDx0aXRsZT5T
cGFjaW5nIG9mIG5vbi1CTVAgb3BlcmF0b3JzPC90aXRsZT4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1
dGYtOCIvPgorICA8L2hlYWQ+CisgIDxib2R5PgorCisgICAgPHA+CisgICAgICBUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhlIHNwYWNpbmcgb2Ygc29tZSBub24tQk1QIG9wZXJhdG9ycy4gSXQgaXMgYXNz
dW1lZAorICAgICAgdGhhdCBVKzFFRUYwIGFuZCBVKzFFRUYxIG9ubHkgaGF2ZSBhIHByZWZpeCBm
b3JtIHdpdGggemVybyBsc3BhY2UvcnNwYWNlCisgICAgICBhbmQgdGhhdCBVKzFENDAwIGlzIG5v
dCBpbiB0aGUgb3BlcmF0b3IgZGljdGlvbmFyeS4gSGVuY2UgdGhlIG9wZXJhdG9yCisgICAgICBz
cGFjaW5nIHVzZSB6ZXJvIGZvciBwcmVmaXggVSsxRUVGMC9VKzFFRUYxIGFuZCB3aWxsIHVzZSB0
aGUgZGVmYXVsdAorICAgICAgdGhpY2ttYXRoc3BhY2UgdmFsdWUgb3RoZXJ3aXNlLiBOb3RlIHRo
YXQgZm9yIGltcGxpY2l0IGZvcm0sIFdlYktpdCBoYXMgYQorICAgICAgd29ya2Fyb3VuZCBmb3Ig
YmFkIG1hcmt1cCBhbmQgd2lsbCBmYWxsYmFjayB0byB0aGUgZm9ybSBvZiBhIGRpY3Rpb25hcnkK
KyAgICAgIGVudHJ5IGlmIG9uZSBpcyBmb3VuZC4KKyAgICA8L3A+CisKKyAgICA8cD5QcmVmaXg6
PC9wPgorICAgIFUrMUVFRjA6PG1hdGg+PG1vIGZvcm09InByZWZpeCI+JiN4MUVFRjA7PC9tbz48
L21hdGg+XworICAgIFUrMUVFRjE6PG1hdGg+PG1vIGZvcm09InByZWZpeCI+JiN4MUVFRjE7PC9t
bz48L21hdGg+XworICAgIFUrMUQ0MDA6PG1hdGg+PG1vIGZvcm09InByZWZpeCI+JiN4MUQ0MDA7
PC9tbz48L21hdGg+XworCisgICAgPHA+UG9zdGZpeDo8L3A+CisgICAgVSsxRUVGMDo8bWF0aD48
bW8gZm9ybT0icG9zdGZpeCI+JiN4MUVFRjA7PC9tbz48L21hdGg+XworICAgIFUrMUVFRjE6PG1h
dGg+PG1vIGZvcm09InBvc3RmaXgiPiYjeDFFRUYxOzwvbW8+PC9tYXRoPl8KKyAgICBVKzFENDAw
OjxtYXRoPjxtbyBmb3JtPSJwb3N0Zml4Ij4mI3gxRDQwMDs8L21vPjwvbWF0aD5fCisKKyAgICA8
cD5JbmZpeDo8L3A+CisgICAgVSsxRUVGMDo8bWF0aD48bW8gZm9ybT0iaW5maXgiPiYjeDFFRUYw
OzwvbW8+PC9tYXRoPl8KKyAgICBVKzFFRUYxOjxtYXRoPjxtbyBmb3JtPSJpbmZpeCI+JiN4MUVF
RjE7PC9tbz48L21hdGg+XworICAgIFUrMUQ0MDA6PG1hdGg+PG1vIGZvcm09ImluZml4Ij4mI3gx
RDQwMDs8L21vPjwvbWF0aD5fCisKKyAgICA8cD5QcmVmaXggKGltcGxpY2l0KTo8L3A+CisgICAg
VSsxRUVGMDo8bWF0aD48bW8+JiN4MUVFRjA7PC9tbz48bW4+PC9tbj48L21hdGg+XworICAgIFUr
MUVFRjE6PG1hdGg+PG1vPiYjeDFFRUYxOzwvbW8+PG1uPjwvbW4+PC9tYXRoPl8KKyAgICBVKzFE
NDAwOjxtYXRoPjxtbz4mI3gxRDQwMDs8L21vPjxtbj48L21uPjwvbWF0aD5fCisKKyAgICA8cD5J
bmZpeCAoaW1wbGljaXQpOjwvcD4KKyAgICBVKzFFRUYwOjxtYXRoPjxtbj48L21uPjxtbz4mI3gx
RUVGMDs8L21vPjxtbj48L21uPjwvbWF0aD5fCisgICAgVSsxRUVGMTo8bWF0aD48bW4+PC9tbj48
bW8+JiN4MUVFRjE7PC9tbz48bW4+PC9tbj48L21hdGg+XworICAgIFUrMUQ0MDA6PG1hdGg+PG1u
PjwvbW4+PG1vPiYjeDFENDAwOzwvbW8+PG1uPjwvbW4+PC9tYXRoPl8KKworICAgIDxwPlBvc3Rm
aXggKGltcGxpY2l0KTo8L3A+CisgICAgVSsxRUVGMDo8bWF0aD48bW4+PC9tbj48bW8+JiN4MUVF
RjA7PC9tbz48L21hdGg+XworICAgIFUrMUVFRjE6PG1hdGg+PG1uPjwvbW4+PG1vPiYjeDFFRUYx
OzwvbW8+PC9tYXRoPl8KKyAgICBVKzFENDAwOjxtYXRoPjxtbj48L21uPjxtbz4mI3gxRDQwMDs8
L21vPjwvbWF0aD5fCisKKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGIzNmRkMmEu
LjgxZDhiNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxNi0wOC0yNCAgRnJlZGVy
aWMgV2FuZyAgPGZ3YW5nQGlnYWxpYS5jb20+CisKKyAgICAgICAgTW9yZSBjbGVhbnVwIGZvciB0
aGUgbXBhZGRlZCBpbXBsZW1lbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTYxMTM2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgV2UgcGVyZm9ybSB0aGUgZm9sbG93aW5nIGNsZWFudXAgZm9yIHRo
ZSBtcGFkZGVkIHJlbmRlcmVyIGNsYXNzOgorICAgICAgICAxKSBXZSBkbyBub3Qgc3RvcmUgdGhl
IGFzY2VudCBvbiB0aGUgY2xhc3MuIFRoaXMgbWF5IG1ha2UgdXBkYXRlIG1vcmUgcmVsaWFibGUg
YW5kIHdpbGwKKyAgICAgICAgaGVscCBmb3IgZ2VuZXJhbCBpbXByb3ZlbWVudCBvZiBNYXRoTUwg
YXNjZW50cyAoYnVnIDE1NTg3OSkuCisgICAgICAgIDIpIFdlIHNwbGl0IHJlc29sdmVXaWR0aC9y
ZXNvbHZlQXR0cmlidXRlcyBpbnRvIHNtYWxsZXIgZnVuY3Rpb25zIGFuZCBpbXByb3ZlIHRoZSBj
b2RpbmcKKyAgICAgICAgc3R5bGUuIFRoaXMgaGVscHMgdG8gY2FsY3VsYXRlIGZpcnN0TGluZUJh
c2VsaW5lIGluIDEpLgorICAgICAgICAzKSBXZSBkbyBub3Qgb3ZlcnJpZGUgdXBkYXRlRnJvbUVs
ZW1lbnQgYW5kIHN0eWxlRGlkQ2hhbmdlIHRvIHBlcmZvcm0gc2V0TmVlZHNMYXlvdXQgY2FsbHMu
CisgICAgICAgIFRoZXNlIGNhbGxzIGFscmVhZHkgc2VlbSB1bm5lY2Vzc2FyeSBhbmQgY2FuIGJl
IHJlbW92ZWQgZXZlbiBtb3JlIHNhZmVseSBhZnRlciAxKS4KKworICAgICAgICBXZSBhZGQgYSB0
ZXN0IGZvciBzdHlsZSBjaGFuZ2UuIENoYW5nZSBvZiBhdHRyaWJ1dGVzIGFzIHdlbGwgYXMgbWV0
cmljcyBjYWxjdWF0aW9uIG9mIGVtcHR5CisgICAgICAgIGFuZCBub24tZW1wdHkgbXBhZGRlZCBl
bGVtZW50cyBhcmUgYWxyZWFkeSBjb3ZlcmVkIGJ5IG90aGVyIHRlc3RzLgorCisgICAgICAgIFRl
c3Q6IG1hdGhtbC9wcmVzZW50YXRpb24vbXBhZGRlZC1zdHlsZS1jaGFuZ2UuaHRtbAorCisgICAg
ICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxQYWRkZWQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTWF0aE1MUGFkZGVkOjp2b2Zmc2V0KTogTmV3IGhlbHBlciBmdW5jdGlv
biB0byByZXNvbHZlIHZvZmZzZXQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxQYWRk
ZWQ6OmxzcGFjZSk6IERpdHRvIGZvciBsc3BhY2UuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJN
YXRoTUxQYWRkZWQ6Om1wYWRkZWRXaWR0aCk6IERpdHRvIGZvciB3aWR0aC4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck1hdGhNTFBhZGRlZDo6bXBhZGRlZEhlaWdodCk6IERpdHRvIGZvciBoZWln
aHQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxQYWRkZWQ6Om1wYWRkZWREZXB0aCk6
IERpdHRvIGZvciBkZXRwaC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFBhZGRlZDo6
Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOiBVc2UgbXBhZGRlZFdpZHRoKCkuCisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxQYWRkZWQ6OmxheW91dEJsb2NrKTogVXNlIHRoZSBu
ZXcgaGVscGVyIGZ1bmN0aW9ucy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFBhZGRl
ZDo6Zmlyc3RMaW5lQmFzZWxpbmUpOiBVc2Ugdm9mZnNldCBvciBtcGFkZGVkSGVpZ2h0IGZvciBi
YXNlbGluZQorICAgICAgICBjYWxjdWxhdGlvbiBpbnN0ZWFkIG9mIG1fcGFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MUGFkZGVkOjpyZXNvbHZlV2lkdGgpOiBEZWxldGVkLiBS
ZW5hbWVkIG1wYWRkZWRXaWR0aC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTFBhZGRl
ZDo6cmVzb2x2ZUF0dHJpYnV0ZXMpOiBEZWxldGVkLiBTcGxpdCBpbnRvIHNtYWxsZXIgZnVuY3Rp
b25zLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MUGFkZGVkOjp1cGRhdGVGcm9tRWxl
bWVudCk6IERlbGV0ZWQuIFdlIGRvIG5vdCBuZWVkIHRvIGNhbGwKKyAgICAgICAgc2V0TmVlZHNM
YXlvdXQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxQYWRkZWQ6OnN0eWxlRGlkQ2hh
bmdlKTogRGVsZXRlZC4gRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJN
YXRoTUxQYWRkZWQuaDogVXBkYXRlIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIGFuZCByZW1vdmUgbV9h
c2NlbnQuCisKIDIwMTYtMDgtMjMgIEZyZWRlcmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEuY29tPgog
CiAgICAgICAgIE1vcmUgY29uc2lzdGVudCBoZWFkZXIgaW5jbHVzaW9ucyBpbiB0aGUgTWF0aE1M
IG1vZHVsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9y
RGljdGlvbmFyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JEaWN0
aW9uYXJ5LmNwcAppbmRleCBkNzk4MTI1Li43MjUyOTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5LmNwcApAQCAtMzMsNiArMzMsMjIg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogdXNpbmcgbmFtZXNwYWNlIE1hdGhNTE9wZXJhdG9yRGlj
dGlvbmFyeTsKIAogdHlwZWRlZiBzdGQ6OnBhaXI8VUNoYXIsIEZvcm0+IEtleTsKK3N0cnVjdCBF
bnRyeSB7CisgICAgVUNoYXIgY2hhcmFjdGVyOworICAgIHVuc2lnbmVkIGZvcm0gOiAyOworICAg
IHVuc2lnbmVkIGxzcGFjZSA6IDM7CisgICAgdW5zaWduZWQgcnNwYWNlIDogMzsKKyAgICB1bnNp
Z25lZCBmbGFncyA6IDg7Cit9Oworc3RhdGljIFByb3BlcnR5IGV4dHJhY3RQcm9wZXJ0eShjb25z
dCBFbnRyeSYgZW50cnkpCit7CisgICAgUHJvcGVydHkgcHJvcGVydHk7CisgICAgcHJvcGVydHku
Zm9ybSA9IHN0YXRpY19jYXN0PE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6Rm9ybT4oZW50cnku
Zm9ybSk7CisgICAgcHJvcGVydHkubGVhZGluZ1NwYWNlSW5NYXRoVW5pdCA9IGVudHJ5LmxzcGFj
ZTsKKyAgICBwcm9wZXJ0eS50cmFpbGluZ1NwYWNlSW5NYXRoVW5pdCA9IGVudHJ5LnJzcGFjZTsK
KyAgICBwcm9wZXJ0eS5mbGFncyA9IGVudHJ5LmZsYWdzOworICAgIHJldHVybiBwcm9wZXJ0eTsK
K30KIHN0YXRpYyBpbmxpbmUgS2V5IEV4dHJhY3RLZXkoY29uc3QgRW50cnkqIGVudHJ5KSB7IHJl
dHVybiBLZXkoZW50cnktPmNoYXJhY3Rlciwgc3RhdGljX2Nhc3Q8Rm9ybT4oZW50cnktPmZvcm0p
KTsgfQogc3RhdGljIGlubGluZSBVQ2hhciBFeHRyYWN0Q2hhcihjb25zdCBFbnRyeSogZW50cnkp
IHsgcmV0dXJuIGVudHJ5LT5jaGFyYWN0ZXI7IH0KIApAQCAtMTA4OSwxNCArMTEwNSwzMCBAQCBz
dGF0aWMgY29uc3QgVUNoYXIgaG9yaXpvbnRhbE9wZXJhdG9yc1tdID0gewogICAgIDB4MDAzRCwg
MHgwMDVFLCAweDAwNUYsIDB4MDA3RSwgMHgwMEFGLCAweDAyQzYsIDB4MDJDNywgMHgwMkM5LCAw
eDAyQ0QsIDB4MDJEQywgMHgwMkY3LCAweDAzMDIsIDB4MDMzMiwgMHgyMDNFLCAweDIwRDAsIDB4
MjBEMSwgMHgyMEQ2LCAweDIwRDcsIDB4MjBFMSwgMHgyMTkwLCAweDIxOTIsIDB4MjE5NCwgMHgy
MTk4LCAweDIxOTksIDB4MjE5QywgMHgyMTlELCAweDIxOUUsIDB4MjFBMCwgMHgyMUEyLCAweDIx
QTMsIDB4MjFBNCwgMHgyMUE2LCAweDIxQTksIDB4MjFBQSwgMHgyMUFCLCAweDIxQUMsIDB4MjFB
RCwgMHgyMUI0LCAweDIxQjksIDB4MjFCQywgMHgyMUJELCAweDIxQzAsIDB4MjFDMSwgMHgyMUM0
LCAweDIxQzYsIDB4MjFDNywgMHgyMUM5LCAweDIxQ0IsIDB4MjFDQywgMHgyMUQwLCAweDIxRDIs
IDB4MjFENCwgMHgyMURBLCAweDIxREIsIDB4MjFEQywgMHgyMURELCAweDIxRTAsIDB4MjFFMiwg
MHgyMUU0LCAweDIxRTUsIDB4MjFFNiwgMHgyMUU4LCAweDIxRjAsIDB4MjFGNiwgMHgyMUZELCAw
eDIxRkUsIDB4MjFGRiwgMHgyM0I0LCAweDIzQjUsIDB4MjNEQywgMHgyM0RELCAweDIzREUsIDB4
MjNERiwgMHgyM0UwLCAweDIzRTEsIDB4MjUwMCwgMHgyN0Y1LCAweDI3RjYsIDB4MjdGNywgMHgy
N0Y4LCAweDI3RjksIDB4MjdGQSwgMHgyN0ZCLCAweDI3RkMsIDB4MjdGRCwgMHgyN0ZFLCAweDI3
RkYsIDB4MjkwQywgMHgyOTBELCAweDI5MEUsIDB4MjkwRiwgMHgyOTEwLCAweDI5NEUsIDB4Mjk1
MCwgMHgyOTUyLCAweDI5NTMsIDB4Mjk1NiwgMHgyOTU3LCAweDI5NUEsIDB4Mjk1QiwgMHgyOTVF
LCAweDI5NUYsIDB4MkI0NSwgMHgyQjQ2LCAweEZFMzUsIDB4RkUzNiwgMHhGRTM3LCAweEZFMzgK
IH07CiAKLU9wdGlvbmFsPEVudHJ5PiBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OnNlYXJjaChV
Q2hhciBjaGFyYWN0ZXIsIEZvcm0gZm9ybSwgYm9vbCBleHBsaWNpdEZvcm0pCisvLyBUaGUgZm9s
bG93aW5nIHR3byBub24tQk1QIGNoYXJhY3RlcnMgYXJlIGhhbmRsZWQgc2VwYXJhdGVseSBzbyB0
aGF0IHRoZSBhcnJheXMgJ2RpY3Rpb25hcnknIGFuZAorLy8gJ2hvcml6b250YWxPcGVyYXRvcnMn
IGNhbiB1c2UgVUNoYXIgaW5zdGVhZCBvZiBVQ2hhcjMyIGFuZCBhdm9pZCBhbiBpbmNyZWFzZSBv
ZiBtZW1vcnkgZm9vdHByaW50LgorLy8gVGhleSBhcmUgbm90IGluIHRoZSBvZmZpY2lhbCBNYXRo
TUwgMyBkaWN0aW9uYXJ5IGJ1dCBoYXZlIGJlZW4gYWRkZWQgdG8gVW5pY29kZS4KKy8vIFdlIHRy
ZWF0IHRoZW0gYXMgaG9yaXpvbnRhbCwgc3RyZXRjaHkgYW5kIHByZWZpeCBvcGVyYXRvcnMgd2l0
aG91dCBzcGFjaW5nLgorLy8gVSsxRUVGMCBBUkFCSUMgTUFUSEVNQVRJQ0FMIE9QRVJBVE9SIE1F
RU0gV0lUSCBIQUggV0lUSCBUQVRXRUVMCisvLyBVKzFFRUYxIEFSQUJJQyBNQVRIRU1BVElDQUwg
T1BFUkFUT1IgSEFIIFdJVEggREFMCitzdGF0aWMgYm9vbCBpc0FyYWJpY09wZXJhdG9yKFVDaGFy
MzIgY2hhcmFjdGVyKQoreworICAgIHJldHVybiBjaGFyYWN0ZXIgPT0gMHgxRUVGMCB8fCBjaGFy
YWN0ZXIgPT0gMHgxRUVGMTsKK30KK1Byb3BlcnR5IGFyYWJpY09wZXJhdG9yUHJvcGVydHkgPSB7
IFByZWZpeCwgMCwgMCwgU3RyZXRjaHkgfTsKKworT3B0aW9uYWw8UHJvcGVydHk+IE1hdGhNTE9w
ZXJhdG9yRGljdGlvbmFyeTo6c2VhcmNoKFVDaGFyMzIgY2hhcmFjdGVyLCBGb3JtIGZvcm0sIGJv
b2wgZXhwbGljaXRGb3JtKQogewogICAgIGlmICghY2hhcmFjdGVyKQogICAgICAgICByZXR1cm4g
TnVsbG9wdDsKIAorICAgIC8vIFdlIGhhbmRsZSB0aGUgc3BlY2lhbCBjYXNlIG9mIG5vbi1CTVAg
Y2hhcmFjdGVycy4KKyAgICBpZiAoIVVfSVNfQk1QKGNoYXJhY3RlcikpCisgICAgICAgIHJldHVy
biBpc0FyYWJpY09wZXJhdG9yKGNoYXJhY3RlcikgJiYgKGZvcm0gPT0gYXJhYmljT3BlcmF0b3JQ
cm9wZXJ0eS5mb3JtIHx8ICFleHBsaWNpdEZvcm0pID8gT3B0aW9uYWw8UHJvcGVydHk+KGFyYWJp
Y09wZXJhdG9yUHJvcGVydHkpIDogTnVsbG9wdDsKKwogICAgIC8vIFdlIHRyeSBhbmQgZmluZCB0
aGUgZGVmYXVsdCB2YWx1ZXMgZnJvbSB0aGUgb3BlcmF0b3IgZGljdGlvbmFyeS4KICAgICBpZiAo
YXV0byogZW50cnkgPSB0cnlCaW5hcnlTZWFyY2g8Y29uc3QgRW50cnksIEtleT4oZGljdGlvbmFy
eSwgZGljdGlvbmFyeVNpemUsIEtleShjaGFyYWN0ZXIsIGZvcm0pLCBFeHRyYWN0S2V5KSkKLSAg
ICAgICAgcmV0dXJuICplbnRyeTsKKyAgICAgICAgcmV0dXJuIGV4dHJhY3RQcm9wZXJ0eSgqZW50
cnkpOwogCiAgICAgaWYgKGV4cGxpY2l0Rm9ybSkKICAgICAgICAgcmV0dXJuIE51bGxvcHQ7CkBA
IC0xMTA5LDE0ICsxMTQxLDE4IEBAIE9wdGlvbmFsPEVudHJ5PiBNYXRoTUxPcGVyYXRvckRpY3Rp
b25hcnk6OnNlYXJjaChVQ2hhciBjaGFyYWN0ZXIsIEZvcm0gZm9ybSwgYm9vCiAgICAgICAgICAg
ICBlbnRyeS0tOwogICAgICAgICBpZiAoZW50cnkgIT0gZGljdGlvbmFyeSAmJiAoZW50cnkgLSAx
KS0+Y2hhcmFjdGVyID09IGNoYXJhY3RlcikKICAgICAgICAgICAgIGVudHJ5LS07Ci0gICAgICAg
IHJldHVybiAqZW50cnk7CisgICAgICAgIHJldHVybiBleHRyYWN0UHJvcGVydHkoKmVudHJ5KTsK
ICAgICB9CiAKICAgICByZXR1cm4gTnVsbG9wdDsKIH0KIAotYm9vbCBNYXRoTUxPcGVyYXRvckRp
Y3Rpb25hcnk6OmlzVmVydGljYWwoVUNoYXIgdGV4dENvbnRlbnQpCitib29sIE1hdGhNTE9wZXJh
dG9yRGljdGlvbmFyeTo6aXNWZXJ0aWNhbChVQ2hhcjMyIHRleHRDb250ZW50KQogeworICAgIC8v
IFdlIGhhbmRsZSB0aGUgc3BlY2lhbCBjYXNlIG9mIG5vbi1CTVAgY2hhcmFjdGVycy4KKyAgICBp
ZiAoIVVfSVNfQk1QKHRleHRDb250ZW50KSkKKyAgICAgICAgcmV0dXJuIGlzQXJhYmljT3BlcmF0
b3IodGV4dENvbnRlbnQpOworCiAgICAgcmV0dXJuICF0cnlCaW5hcnlTZWFyY2g8Y29uc3QgVUNo
YXIsIFVDaGFyPihob3Jpem9udGFsT3BlcmF0b3JzLCBXVEZfQVJSQVlfTEVOR1RIKGhvcml6b250
YWxPcGVyYXRvcnMpLCB0ZXh0Q29udGVudCwgRXh0cmFjdEtleUhvcml6b250YWwpOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5
LmggYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5LmgKaW5k
ZXggZmUxNDhmOC4uMDBlZjUwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01h
dGhNTE9wZXJhdG9yRGljdGlvbmFyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRo
TUxPcGVyYXRvckRpY3Rpb25hcnkuaApAQCAtNDQsMTUgKzQ0LDE2IEBAIGVudW0gRmxhZyB7CiAg
ICAgU3ltbWV0cmljID0gMHg0MAogfTsKIGNvbnN0IHVuc2lnbmVkIGFsbEZsYWdzID0gQWNjZW50
IHwgRmVuY2UgfCBMYXJnZU9wIHwgTW92YWJsZUxpbWl0cyB8IFNlcGFyYXRvciB8IFN0cmV0Y2h5
IHwgU3ltbWV0cmljOwotc3RydWN0IEVudHJ5IHsKLSAgICBVQ2hhciBjaGFyYWN0ZXI7Ci0gICAg
dW5zaWduZWQgZm9ybSA6IDI7Ci0gICAgdW5zaWduZWQgbHNwYWNlIDogMzsKLSAgICB1bnNpZ25l
ZCByc3BhY2UgOiAzOwotICAgIHVuc2lnbmVkIGZsYWdzIDogODsKK3N0cnVjdCBQcm9wZXJ0eSB7
CisgICAgTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpGb3JtIGZvcm07CisgICAgLy8gRGVmYXVs
dCBsZWFkaW5nIGFuZCB0cmFpbGluZyBzcGFjZXMgYXJlICJ0aGlja21hdGhzcGFjZSIuCisgICAg
dW5zaWduZWQgc2hvcnQgbGVhZGluZ1NwYWNlSW5NYXRoVW5pdCB7IDUgfTsKKyAgICB1bnNpZ25l
ZCBzaG9ydCB0cmFpbGluZ1NwYWNlSW5NYXRoVW5pdCB7IDUgfTsKKyAgICAvLyBEZWZhdWx0IG9w
ZXJhdG9yIHByb3BlcnRpZXMgYXJlIGFsbCBzZXQgdG8gImZhbHNlIi4KKyAgICB1bnNpZ25lZCBz
aG9ydCBmbGFncyB7IDAgfTsKIH07Ci1PcHRpb25hbDxFbnRyeT4gc2VhcmNoKFVDaGFyLCBGb3Jt
LCBib29sIGV4cGxpY2l0Rm9ybSk7Ci1ib29sIGlzVmVydGljYWwoVUNoYXIpOworT3B0aW9uYWw8
UHJvcGVydHk+IHNlYXJjaChVQ2hhcjMyLCBGb3JtLCBib29sIGV4cGxpY2l0Rm9ybSk7Citib29s
IGlzVmVydGljYWwoVUNoYXIzMik7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L21hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvbWF0aG1s
L01hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAKaW5kZXggODhhMjlkNi4uOTY4YWZlMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAKQEAgLTUy
LDE1ICs1MiwxMiBAQCBNYXRoTUxPcGVyYXRvckVsZW1lbnQ6Ok9wZXJhdG9yQ2hhciBNYXRoTUxP
cGVyYXRvckVsZW1lbnQ6OnBhcnNlT3BlcmF0b3JDaGFyKGNvbgogICAgIE9wZXJhdG9yQ2hhciBv
cGVyYXRvckNoYXI7CiAgICAgLy8gRklYTUU6IFRoaXMgb3BlcmF0b3IgZGljdGlvbmFyeSBkb2Vz
IG5vdCBhY2NlcHQgbXVsdGlwbGUgY2hhcmFjdGVycyAoaHR0cHM6Ly93ZWJraXQub3JnL2IvMTI0
ODI4KS4KICAgICBpZiAoYXV0byBjb2RlUG9pbnQgPSBjb252ZXJ0VG9TaW5nbGVDb2RlUG9pbnQo
c3RyaW5nKSkgewotICAgICAgICAvLyBGSVhNRTogTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5L1Jl
bmRlck1hdGhNTE9wZXJhdG9yL01hdGhPcGVyYXRvciBkbyBub3Qgc3VwcG9ydCBub24tQk1QIGNo
YXJhY3RlcnMgKGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyMjI5NikuCi0gICAgICAgIGlmIChVX0lT
X0JNUChjb2RlUG9pbnQudmFsdWUoKSkpIHsKLSAgICAgICAgICAgIFVDaGFyIGNoYXJhY3RlciA9
IGNvZGVQb2ludC52YWx1ZSgpOwotICAgICAgICAgICAgLy8gVGhlIG1pbnVzIHNpZ24gcmVuZGVy
cyBiZXR0ZXIgdGhhbiB0aGUgaHlwaGVuIHNpZ24gdXNlZCBpbiBzb21lIE1hdGhNTCBmb3JtdWxh
cy4KLSAgICAgICAgICAgIGlmIChjaGFyYWN0ZXIgPT0gaHlwaGVuTWludXMpCi0gICAgICAgICAg
ICAgICAgY2hhcmFjdGVyID0gbWludXNTaWduOwotICAgICAgICAgICAgb3BlcmF0b3JDaGFyLmNo
YXJhY3RlciA9IGNoYXJhY3RlcjsKLSAgICAgICAgICAgIG9wZXJhdG9yQ2hhci5pc1ZlcnRpY2Fs
ID0gTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5Ojppc1ZlcnRpY2FsKG9wZXJhdG9yQ2hhci5jaGFy
YWN0ZXIpOwotICAgICAgICB9CisgICAgICAgIGF1dG8gY2hhcmFjdGVyID0gY29kZVBvaW50LnZh
bHVlKCk7CisgICAgICAgIC8vIFRoZSBtaW51cyBzaWduIHJlbmRlcnMgYmV0dGVyIHRoYW4gdGhl
IGh5cGhlbiBzaWduIHVzZWQgaW4gc29tZSBNYXRoTUwgZm9ybXVsYXMuCisgICAgICAgIGlmIChj
aGFyYWN0ZXIgPT0gaHlwaGVuTWludXMpCisgICAgICAgICAgICBjaGFyYWN0ZXIgPSBtaW51c1Np
Z247CisgICAgICAgIG9wZXJhdG9yQ2hhci5jaGFyYWN0ZXIgPSBjaGFyYWN0ZXI7CisgICAgICAg
IG9wZXJhdG9yQ2hhci5pc1ZlcnRpY2FsID0gaXNWZXJ0aWNhbChvcGVyYXRvckNoYXIuY2hhcmFj
dGVyKTsKICAgICB9CiAgICAgcmV0dXJuIG9wZXJhdG9yQ2hhcjsKIH0KQEAgLTcyLDkgKzY5LDkg
QEAgY29uc3QgTWF0aE1MT3BlcmF0b3JFbGVtZW50OjpPcGVyYXRvckNoYXImIE1hdGhNTE9wZXJh
dG9yRWxlbWVudDo6b3BlcmF0b3JDaGFyKCkKICAgICByZXR1cm4gbV9vcGVyYXRvckNoYXIudmFs
dWUoKTsKIH0KIAotTWF0aE1MT3BlcmF0b3JFbGVtZW50OjpEaWN0aW9uYXJ5UHJvcGVydHkgTWF0
aE1MT3BlcmF0b3JFbGVtZW50Ojpjb21wdXRlRGljdGlvbmFyeVByb3BlcnR5KCkKK1Byb3BlcnR5
IE1hdGhNTE9wZXJhdG9yRWxlbWVudDo6Y29tcHV0ZURpY3Rpb25hcnlQcm9wZXJ0eSgpCiB7Ci0g
ICAgRGljdGlvbmFyeVByb3BlcnR5IGRpY3Rpb25hcnlQcm9wZXJ0eTsKKyAgICBQcm9wZXJ0eSBk
aWN0aW9uYXJ5UHJvcGVydHk7CiAKICAgICAvLyBXZSBmaXJzdCBkZXRlcm1pbmUgdGhlIGZvcm0g
YXR0cmlidXRlIGFuZCB1c2UgdGhlIGRlZmF1bHQgc3BhY2luZyBhbmQgcHJvcGVydGllcy4KICAg
ICBjb25zdCBhdXRvJiB2YWx1ZSA9IGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oZm9y
bUF0dHIpOwpAQCAtOTcsMTcgKzk0LDEzIEBAIE1hdGhNTE9wZXJhdG9yRWxlbWVudDo6RGljdGlv
bmFyeVByb3BlcnR5IE1hdGhNTE9wZXJhdG9yRWxlbWVudDo6Y29tcHV0ZURpY3Rpb25hCiAgICAg
fQogCiAgICAgLy8gV2UgdGhlbiB0cnkgYW5kIGZpbmQgYW4gZW50cnkgaW4gdGhlIG9wZXJhdG9y
IGRpY3Rpb25hcnkgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzLgotICAgIGlmIChhdXRv
IGVudHJ5ID0gc2VhcmNoKG9wZXJhdG9yQ2hhcigpLmNoYXJhY3RlciwgZGljdGlvbmFyeVByb3Bl
cnR5LmZvcm0sIGV4cGxpY2l0Rm9ybSkpIHsKLSAgICAgICAgZGljdGlvbmFyeVByb3BlcnR5LmZv
cm0gPSBzdGF0aWNfY2FzdDxNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OkZvcm0+KGVudHJ5LnZh
bHVlKCkuZm9ybSk7Ci0gICAgICAgIGRpY3Rpb25hcnlQcm9wZXJ0eS5sZWFkaW5nU3BhY2VJbk1h
dGhVbml0ID0gZW50cnkudmFsdWUoKS5sc3BhY2U7Ci0gICAgICAgIGRpY3Rpb25hcnlQcm9wZXJ0
eS50cmFpbGluZ1NwYWNlSW5NYXRoVW5pdCA9IGVudHJ5LnZhbHVlKCkucnNwYWNlOwotICAgICAg
ICBkaWN0aW9uYXJ5UHJvcGVydHkuZmxhZ3MgPSBlbnRyeS52YWx1ZSgpLmZsYWdzOwotICAgIH0K
KyAgICBpZiAoYXV0byBlbnRyeSA9IHNlYXJjaChvcGVyYXRvckNoYXIoKS5jaGFyYWN0ZXIsIGRp
Y3Rpb25hcnlQcm9wZXJ0eS5mb3JtLCBleHBsaWNpdEZvcm0pKQorICAgICAgICBkaWN0aW9uYXJ5
UHJvcGVydHkgPSBlbnRyeS52YWx1ZSgpOwogCiAgICAgcmV0dXJuIGRpY3Rpb25hcnlQcm9wZXJ0
eTsKIH0KIAotY29uc3QgTWF0aE1MT3BlcmF0b3JFbGVtZW50OjpEaWN0aW9uYXJ5UHJvcGVydHkm
IE1hdGhNTE9wZXJhdG9yRWxlbWVudDo6ZGljdGlvbmFyeVByb3BlcnR5KCkKK2NvbnN0IFByb3Bl
cnR5JiBNYXRoTUxPcGVyYXRvckVsZW1lbnQ6OmRpY3Rpb25hcnlQcm9wZXJ0eSgpCiB7CiAgICAg
aWYgKCFtX2RpY3Rpb25hcnlQcm9wZXJ0eSkKICAgICAgICAgbV9kaWN0aW9uYXJ5UHJvcGVydHkg
PSBjb21wdXRlRGljdGlvbmFyeVByb3BlcnR5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwv
TWF0aE1MT3BlcmF0b3JFbGVtZW50LmgKaW5kZXggZjI5NmJjMS4uMzgwOTY1NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1lbnQuaApAQCAtMzYsNyArMzYs
NyBAQCBjbGFzcyBNYXRoTUxPcGVyYXRvckVsZW1lbnQgZmluYWwgOiBwdWJsaWMgTWF0aE1MVG9r
ZW5FbGVtZW50IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPE1hdGhNTE9wZXJhdG9yRWxlbWVu
dD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Jik7CiAgICAg
c3RydWN0IE9wZXJhdG9yQ2hhciB7Ci0gICAgICAgIFVDaGFyIGNoYXJhY3RlciB7IDAgfTsKKyAg
ICAgICAgVUNoYXIzMiBjaGFyYWN0ZXIgeyAwIH07CiAgICAgICAgIGJvb2wgaXNWZXJ0aWNhbCB7
IHRydWUgfTsKICAgICB9OwogICAgIHN0YXRpYyBPcGVyYXRvckNoYXIgcGFyc2VPcGVyYXRvckNo
YXIoY29uc3QgU3RyaW5nJik7CkBAIC01OSwxNyArNTksOSBAQCBwcml2YXRlOgogCiAgICAgT3B0
aW9uYWw8T3BlcmF0b3JDaGFyPiBtX29wZXJhdG9yQ2hhcjsKIAotICAgIHN0cnVjdCBEaWN0aW9u
YXJ5UHJvcGVydHkgewotICAgICAgICBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OkZvcm0gZm9y
bTsKLSAgICAgICAgLy8gRGVmYXVsdCBsZWFkaW5nIGFuZCB0cmFpbGluZyBzcGFjZXMgYXJlICJ0
aGlja21hdGhzcGFjZSIuCi0gICAgICAgIHVuc2lnbmVkIHNob3J0IGxlYWRpbmdTcGFjZUluTWF0
aFVuaXQgeyA1IH07Ci0gICAgICAgIHVuc2lnbmVkIHNob3J0IHRyYWlsaW5nU3BhY2VJbk1hdGhV
bml0IHsgNSB9OwotICAgICAgICAvLyBEZWZhdWx0IG9wZXJhdG9yIHByb3BlcnRpZXMgYXJlIGFs
bCBzZXQgdG8gImZhbHNlIi4KLSAgICAgICAgdW5zaWduZWQgc2hvcnQgZmxhZ3MgeyAwIH07Ci0g
ICAgfTsKLSAgICBPcHRpb25hbDxEaWN0aW9uYXJ5UHJvcGVydHk+IG1fZGljdGlvbmFyeVByb3Bl
cnR5OwotICAgIERpY3Rpb25hcnlQcm9wZXJ0eSBjb21wdXRlRGljdGlvbmFyeVByb3BlcnR5KCk7
Ci0gICAgY29uc3QgRGljdGlvbmFyeVByb3BlcnR5JiBkaWN0aW9uYXJ5UHJvcGVydHkoKTsKKyAg
ICBPcHRpb25hbDxNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OlByb3BlcnR5PiBtX2RpY3Rpb25h
cnlQcm9wZXJ0eTsKKyAgICBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OlByb3BlcnR5IGNvbXB1
dGVEaWN0aW9uYXJ5UHJvcGVydHkoKTsKKyAgICBjb25zdCBNYXRoTUxPcGVyYXRvckRpY3Rpb25h
cnk6OlByb3BlcnR5JiBkaWN0aW9uYXJ5UHJvcGVydHkoKTsKIAogICAgIHN0cnVjdCBPcGVyYXRv
clByb3BlcnRpZXMgewogICAgICAgICB1bnNpZ25lZCBzaG9ydCBmbGFnczsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvTWF0aE9wZXJhdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvTWF0aE9wZXJhdG9yLmNwcAppbmRleCA3MjVhYWU0
Li5hNmU3OTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL01h
dGhPcGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9NYXRo
T3BlcmF0b3IuY3BwCkBAIC02MCw3ICs2MCw3IEBAIHN0YXRpYyBpbmxpbmUgZmxvYXQgYWR2YW5j
ZVdpZHRoRm9yR2x5cGgoY29uc3QgR2x5cGhEYXRhJiBkYXRhKQogCiAvLyBGSVhNRTogVGhpcyBo
YXJkY29kZWQgZGF0YSBjYW4gYmUgcmVtb3ZlZCB3aGVuIE9wZW5UeXBlIE1BVEggZm9udCBhcmUg
d2lkZWx5IGF2YWlsYWJsZSAoaHR0cDovL3drYnVnLzE1NjgzNykuCiBzdHJ1Y3QgU3RyZXRjaHlD
aGFyYWN0ZXIgewotICAgIFVDaGFyIGNoYXJhY3RlcjsKKyAgICBVQ2hhcjMyIGNoYXJhY3RlcjsK
ICAgICBVQ2hhciB0b3BDaGFyOwogICAgIFVDaGFyIGV4dGVuc2lvbkNoYXI7CiAgICAgVUNoYXIg
Ym90dG9tQ2hhcjsKQEAgLTg1LDcgKzg1LDcgQEAgc3RhdGljIGNvbnN0IFN0cmV0Y2h5Q2hhcmFj
dGVyIHN0cmV0Y2h5Q2hhcmFjdGVyc1sxNF0gPSB7CiAgICAgeyAweDIyMmIsIDB4MjMyMCwgMHgy
M2FlLCAweDIzMjEsIDB4MCAgICB9IC8vIGludGVncmFsIHNpZ24KIH07CiAKLXZvaWQgTWF0aE9w
ZXJhdG9yOjpzZXRPcGVyYXRvcihjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUsIFVDaGFyIGJhc2VD
aGFyYWN0ZXIsIFR5cGUgb3BlcmF0b3JUeXBlKQordm9pZCBNYXRoT3BlcmF0b3I6OnNldE9wZXJh
dG9yKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgVUNoYXIzMiBiYXNlQ2hhcmFjdGVyLCBUeXBl
IG9wZXJhdG9yVHlwZSkKIHsKICAgICBtX2Jhc2VDaGFyYWN0ZXIgPSBiYXNlQ2hhcmFjdGVyOwog
ICAgIG1fb3BlcmF0b3JUeXBlID0gb3BlcmF0b3JUeXBlOwpAQCAtMTIxLDcgKzEyMSw3IEBAIExh
eW91dFVuaXQgTWF0aE9wZXJhdG9yOjpzdHJldGNoU2l6ZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1f
b3BlcmF0b3JUeXBlID09IFR5cGU6OlZlcnRpY2FsT3BlcmF0b3IgPyBtX2FzY2VudCArIG1fZGVz
Y2VudCA6IG1fd2lkdGg7CiB9CiAKLWJvb2wgTWF0aE9wZXJhdG9yOjpnZXRHbHlwaChjb25zdCBS
ZW5kZXJTdHlsZSYgc3R5bGUsIFVDaGFyIGNoYXJhY3RlciwgR2x5cGhEYXRhJiBnbHlwaCkgY29u
c3QKK2Jvb2wgTWF0aE9wZXJhdG9yOjpnZXRHbHlwaChjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUs
IFVDaGFyMzIgY2hhcmFjdGVyLCBHbHlwaERhdGEmIGdseXBoKSBjb25zdAogewogICAgIGdseXBo
ID0gc3R5bGUuZm9udENhc2NhZGUoKS5nbHlwaERhdGFGb3JDaGFyYWN0ZXIoY2hhcmFjdGVyLCAh
c3R5bGUuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKTsKICAgICByZXR1cm4gZ2x5cGguZm9udCAm
JiBnbHlwaC5mb250ID09ICZzdHlsZS5mb250Q2FzY2FkZSgpLnByaW1hcnlGb250KCk7CkBAIC0x
NzEsNyArMTcxLDcgQEAgdm9pZCBNYXRoT3BlcmF0b3I6OnNldEdseXBoQXNzZW1ibHkoY29uc3Qg
R2x5cGhBc3NlbWJseURhdGEmIGFzc2VtYmx5RGF0YSkKIC8vIFNlZSBodHRwczovL3d3dy53My5v
cmcvVFIvTWF0aE1ML2NoYXB0ZXI3Lmh0bWwjY2hhcnMuY29tYi1jaGFycwogLy8gSG93ZXZlciwg
bWFueSBtYXRoIGZvbnRzIGRvIG5vdCBwcm92aWRlIGNvbnN0cnVjdGlvbnMgZm9yIHRoZSBub24t
Y29tYmluaW5nIGVxdWl2YWxlbnQuCiBjb25zdCB1bnNpZ25lZCBtYXhGYWxsYmFja1BlckNoYXJh
Y3RlciA9IDM7Ci1zdGF0aWMgY29uc3QgVUNoYXIgY2hhcmFjdGVyRmFsbGJhY2tbXVttYXhGYWxs
YmFja1BlckNoYXJhY3Rlcl0gPSB7CitzdGF0aWMgY29uc3QgVUNoYXIzMiBjaGFyYWN0ZXJGYWxs
YmFja1tdW21heEZhbGxiYWNrUGVyQ2hhcmFjdGVyXSA9IHsKICAgICB7IDB4MDA1RSwgMHgwMzAy
LCAwIH0sIC8vIENJUkNVTUZMRVggQUNDRU5UCiAgICAgeyAweDAwNUYsIDB4MDMzMiwgMCB9LCAv
LyBMT1cgTElORQogICAgIHsgMHgwMDdFLCAweDAzMDMsIDAgfSwgLy8gVElMREUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvTWF0aE9wZXJhdG9yLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL01hdGhPcGVyYXRvci5oCmluZGV4IGRjMmY1MjYu
LmRmNWI5YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvTWF0
aE9wZXJhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9NYXRoT3Bl
cmF0b3IuaApAQCAtNDEsNyArNDEsNyBAQCBjbGFzcyBNYXRoT3BlcmF0b3IgewogcHVibGljOgog
ICAgIE1hdGhPcGVyYXRvcigpIHsgfQogICAgIGVudW0gY2xhc3MgVHlwZSB7IE5vcm1hbE9wZXJh
dG9yLCBEaXNwbGF5T3BlcmF0b3IsIFZlcnRpY2FsT3BlcmF0b3IsIEhvcml6b250YWxPcGVyYXRv
ciB9OwotICAgIHZvaWQgc2V0T3BlcmF0b3IoY29uc3QgUmVuZGVyU3R5bGUmLCBVQ2hhciBiYXNl
Q2hhcmFjdGVyLCBUeXBlKTsKKyAgICB2b2lkIHNldE9wZXJhdG9yKGNvbnN0IFJlbmRlclN0eWxl
JiwgVUNoYXIzMiBiYXNlQ2hhcmFjdGVyLCBUeXBlKTsKICAgICB2b2lkIHJlc2V0KGNvbnN0IFJl
bmRlclN0eWxlJik7CiAKICAgICBMYXlvdXRVbml0IHdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV93
aWR0aDsgfQpAQCAtNzMsNyArNzMsNyBAQCBwcml2YXRlOgogICAgIH07CiAKICAgICBMYXlvdXRV
bml0IHN0cmV0Y2hTaXplKCkgY29uc3Q7Ci0gICAgYm9vbCBnZXRHbHlwaChjb25zdCBSZW5kZXJT
dHlsZSYsIFVDaGFyIGNoYXJhY3RlciwgR2x5cGhEYXRhJikgY29uc3Q7CisgICAgYm9vbCBnZXRH
bHlwaChjb25zdCBSZW5kZXJTdHlsZSYsIFVDaGFyMzIgY2hhcmFjdGVyLCBHbHlwaERhdGEmKSBj
b25zdDsKICAgICBib29sIGdldEJhc2VHbHlwaChjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUsIEds
eXBoRGF0YSYgYmFzZUdseXBoKSBjb25zdCB7IHJldHVybiBnZXRHbHlwaChzdHlsZSwgbV9iYXNl
Q2hhcmFjdGVyLCBiYXNlR2x5cGgpOyB9CiAgICAgdm9pZCBzZXRTaXplVmFyaWFudChjb25zdCBH
bHlwaERhdGEmKTsKICAgICB2b2lkIHNldEdseXBoQXNzZW1ibHkoY29uc3QgR2x5cGhBc3NlbWJs
eURhdGEmKTsKQEAgLTg4LDcgKzg4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBhaW50VmVydGlj
YWxHbHlwaEFzc2VtYmx5KGNvbnN0IFJlbmRlclN0eWxlJiwgUGFpbnRJbmZvJiwgY29uc3QgTGF5
b3V0UG9pbnQmKTsKICAgICB2b2lkIHBhaW50SG9yaXpvbnRhbEdseXBoQXNzZW1ibHkoY29uc3Qg
UmVuZGVyU3R5bGUmLCBQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpOwogCi0gICAgVUNo
YXIgbV9iYXNlQ2hhcmFjdGVyIHsgMCB9OworICAgIFVDaGFyMzIgbV9iYXNlQ2hhcmFjdGVyIHsg
MCB9OwogICAgIFR5cGUgbV9vcGVyYXRvclR5cGUgeyBUeXBlOjpOb3JtYWxPcGVyYXRvciB9Owog
ICAgIFN0cmV0Y2hUeXBlIG1fc3RyZXRjaFR5cGUgeyBTdHJldGNoVHlwZTo6VW5zdHJldGNoZWQg
fTsKICAgICB1bmlvbiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0
aG1sL1JlbmRlck1hdGhNTEZlbmNlZE9wZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3IuY3BwCmluZGV4IDM5ZjYwY2Mu
LmYyNDQxNzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVu
ZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3IuY3BwCkBAIC01MCw4ICs1MCw4IEBA
IHZvaWQgUmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3I6OnVwZGF0ZU9wZXJhdG9yQ29udGVudChj
b25zdCBTdHJpbmcmIG9wZXJhdG9yU3RyCiAgICAgLy8gV2UgdHJ5IGFuZCByZWFkIHNwYWNpbmcg
YW5kIGJvb2xlYW4gcHJvcGVydGllcyBmcm9tIHRoZSBvcGVyYXRvciBkaWN0aW9uYXJ5LgogICAg
IC8vIEhvd2V2ZXIgd2UgcHJlc2VydmUgdGhlIEZlbmNlIGFuZCBTZXBhcmF0b3IgcHJvcGVydGll
cyBzcGVjaWZpZWQgaW4gdGhlIGNvbnN0cnVjdG9yLgogICAgIGlmIChhdXRvIGVudHJ5ID0gc2Vh
cmNoKG1fb3BlcmF0b3JDaGFyLmNoYXJhY3RlciwgbV9vcGVyYXRvckZvcm0sIHRydWUpKSB7Ci0g
ICAgICAgIG1fbGVhZGluZ1NwYWNlSW5NYXRoVW5pdCA9IGVudHJ5LnZhbHVlKCkubHNwYWNlOwot
ICAgICAgICBtX3RyYWlsaW5nU3BhY2VJbk1hdGhVbml0ID0gZW50cnkudmFsdWUoKS5yc3BhY2U7
CisgICAgICAgIG1fbGVhZGluZ1NwYWNlSW5NYXRoVW5pdCA9IGVudHJ5LnZhbHVlKCkubGVhZGlu
Z1NwYWNlSW5NYXRoVW5pdDsKKyAgICAgICAgbV90cmFpbGluZ1NwYWNlSW5NYXRoVW5pdCA9IGVu
dHJ5LnZhbHVlKCkudHJhaWxpbmdTcGFjZUluTWF0aFVuaXQ7CiAgICAgICAgIG1fb3BlcmF0b3JG
bGFncyA9IChtX29wZXJhdG9yRmxhZ3MgJiAoTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpGZW5j
ZSB8IE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6U2VwYXJhdG9yKSkgfCBlbnRyeS52YWx1ZSgp
LmZsYWdzOwogICAgIH0gZWxzZSB7CiAgICAgICAgIG1fb3BlcmF0b3JGbGFncyAmPSBNYXRoTUxP
cGVyYXRvckRpY3Rpb25hcnk6OkZlbmNlIHwgTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpTZXBh
cmF0b3I7IC8vIEZsYWdzIGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0LgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWRPcGVyYXRvci5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWRPcGVy
YXRvci5oCmluZGV4IDgwMzA5ODIuLmRjNDY2NDEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZE9wZXJhdG9yLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWRPcGVyYXRvci5o
CkBAIC00MSw3ICs0MSw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgYm9vbCBpc1JlbmRlck1h
dGhNTEZlbmNlZE9wZXJhdG9yKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGJv
b2wgaXNWZXJ0aWNhbCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fb3BlcmF0b3JDaGFyLmlzVmVy
dGljYWw7IH0KLSAgICBVQ2hhciB0ZXh0Q29udGVudCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1f
b3BlcmF0b3JDaGFyLmNoYXJhY3RlcjsgfQorICAgIFVDaGFyMzIgdGV4dENvbnRlbnQoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBtX29wZXJhdG9yQ2hhci5jaGFyYWN0ZXI7IH0KICAgICBMYXlvdXRV
bml0IGxlYWRpbmdTcGFjZSgpIGNvbnN0IGZpbmFsOwogICAgIExheW91dFVuaXQgdHJhaWxpbmdT
cGFjZSgpIGNvbnN0IGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuY3BwCmluZGV4IGE4OTllNTAuLjYxYTAx
MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0
aE1MT3BlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVu
ZGVyTWF0aE1MT3BlcmF0b3IuY3BwCkBAIC02Miw3ICs2Miw3IEBAIE1hdGhNTE9wZXJhdG9yRWxl
bWVudCYgUmVuZGVyTWF0aE1MT3BlcmF0b3I6OmVsZW1lbnQoKSBjb25zdAogICAgIHJldHVybiBz
dGF0aWNfY2FzdDxNYXRoTUxPcGVyYXRvckVsZW1lbnQmPihub2RlRm9yTm9uQW5vbnltb3VzKCkp
OwogfQogCi1VQ2hhciBSZW5kZXJNYXRoTUxPcGVyYXRvcjo6dGV4dENvbnRlbnQoKSBjb25zdAor
VUNoYXIzMiBSZW5kZXJNYXRoTUxPcGVyYXRvcjo6dGV4dENvbnRlbnQoKSBjb25zdAogewogICAg
IHJldHVybiBlbGVtZW50KCkub3BlcmF0b3JDaGFyKCkuY2hhcmFjdGVyOwogfQpAQCAtNzAsNyAr
NzAsNyBAQCBVQ2hhciBSZW5kZXJNYXRoTUxPcGVyYXRvcjo6dGV4dENvbnRlbnQoKSBjb25zdAog
Ym9vbCBSZW5kZXJNYXRoTUxPcGVyYXRvcjo6aXNJbnZpc2libGVPcGVyYXRvcigpIGNvbnN0CiB7
CiAgICAgLy8gVGhlIGZvbGxvd2luZyBvcGVyYXRvcnMgYXJlIGludmlzaWJsZTogVSsyMDYxIEZV
TkNUSU9OIEFQUExJQ0FUSU9OLCBVKzIwNjIgSU5WSVNJQkxFIFRJTUVTLCBVKzIwNjMgSU5WSVNJ
QkxFIFNFUEFSQVRPUiwgVSsyMDY0IElOVklTSUJMRSBQTFVTLgotICAgIFVDaGFyIGNoYXJhY3Rl
ciA9IHRleHRDb250ZW50KCk7CisgICAgVUNoYXIzMiBjaGFyYWN0ZXIgPSB0ZXh0Q29udGVudCgp
OwogICAgIHJldHVybiAweDIwNjEgPD0gY2hhcmFjdGVyICYmIGNoYXJhY3RlciA8PSAweDIwNjQ7
CiB9CiAKQEAgLTI3MSw2ICsyNzEsNyBAQCBib29sIFJlbmRlck1hdGhNTE9wZXJhdG9yOjpzaG91
bGRBbGxvd1N0cmV0Y2hpbmcoKSBjb25zdAogCiBib29sIFJlbmRlck1hdGhNTE9wZXJhdG9yOjp1
c2VNYXRoT3BlcmF0b3IoKSBjb25zdAogeworICAgIHJldHVybiB0cnVlOwogICAgIC8vIFdlIHVz
ZSB0aGUgTWF0aE9wZXJhdG9yIGNsYXNzIHRvIGhhbmRsZSB0aGUgZm9sbG93aW5nIGNhc2VzOgog
ICAgIC8vIDEpIFN0cmV0Y2h5IGFuZCBsYXJnZSBvcGVyYXRvcnMsIHNpbmNlIHRoZXkgcmVxdWly
ZSBzcGVjaWFsIHBhaW50aW5nLgogICAgIC8vIDIpIFRoZSBtaW51cyBzaWduLCBzaW5jZSBpdCBj
YW4gYmUgb2J0YWluZWQgZnJvbSBhIGh5cGhlbiBpbiB0aGUgRE9NLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5oCmluZGV4
IGNjZjhlNTguLjQ2ODhhYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9t
YXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmgKQEAgLTU1LDcgKzU1LDcgQEAgcHVibGlj
OgogCiAgICAgdm9pZCB1cGRhdGVUb2tlbkNvbnRlbnQoKSBmaW5hbDsKICAgICB2b2lkIHVwZGF0
ZUZyb21FbGVtZW50KCkgZmluYWw7Ci0gICAgdmlydHVhbCBVQ2hhciB0ZXh0Q29udGVudCgpIGNv
bnN0OworICAgIHZpcnR1YWwgVUNoYXIzMiB0ZXh0Q29udGVudCgpIGNvbnN0OwogCiBwcm90ZWN0
ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZU1hdGhPcGVyYXRvcigpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxQYWRkZWQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxQYWRkZWQuY3BwCmlu
ZGV4IDNlY2E1NWMuLmMxMzVhMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9tYXRobWwvUmVuZGVyTWF0aE1MUGFkZGVkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFBhZGRlZC5jcHAKQEAgLTM3LDI5ICszNywzMSBAQCBS
ZW5kZXJNYXRoTUxQYWRkZWQ6OlJlbmRlck1hdGhNTFBhZGRlZChNYXRoTUxQYWRkZWRFbGVtZW50
JiBlbGVtZW50LCBSZW5kZXJTdHlsZQogewogfQogCi12b2lkIFJlbmRlck1hdGhNTFBhZGRlZDo6
cmVzb2x2ZVdpZHRoKExheW91dFVuaXQmIHdpZHRoKQorTGF5b3V0VW5pdCBSZW5kZXJNYXRoTUxQ
YWRkZWQ6OnZvZmZzZXQoKSBjb25zdAogewotICAgIGF1dG8mIHBhZGRlZEVsZW1lbnQgPSBlbGVt
ZW50KCk7Ci0gICAgd2lkdGggPSB0b1VzZXJVbml0cyhwYWRkZWRFbGVtZW50LndpZHRoKCksIHN0
eWxlKCksIHdpZHRoKTsKLSAgICBpZiAod2lkdGggPCAwKQotICAgICAgICB3aWR0aCA9IDA7Cisg
ICAgcmV0dXJuIHRvVXNlclVuaXRzKGVsZW1lbnQoKS52b2Zmc2V0KCksIHN0eWxlKCksIDApOwog
fQogCi12b2lkIFJlbmRlck1hdGhNTFBhZGRlZDo6cmVzb2x2ZUF0dHJpYnV0ZXMoTGF5b3V0VW5p
dCYgd2lkdGgsIExheW91dFVuaXQmIGhlaWdodCwgTGF5b3V0VW5pdCYgZGVwdGgsIExheW91dFVu
aXQmIGxzcGFjZSwgTGF5b3V0VW5pdCYgdm9mZnNldCkKK0xheW91dFVuaXQgUmVuZGVyTWF0aE1M
UGFkZGVkOjpsc3BhY2UoKSBjb25zdAogewotICAgIHJlc29sdmVXaWR0aCh3aWR0aCk7Ci0gICAg
YXV0byYgcGFkZGVkRWxlbWVudCA9IGVsZW1lbnQoKTsKLSAgICBoZWlnaHQgPSB0b1VzZXJVbml0
cyhwYWRkZWRFbGVtZW50LmhlaWdodCgpLCBzdHlsZSgpLCBoZWlnaHQpOwotICAgIGRlcHRoID0g
dG9Vc2VyVW5pdHMocGFkZGVkRWxlbWVudC5kZXB0aCgpLCBzdHlsZSgpLCBkZXB0aCk7Ci0gICAg
bHNwYWNlID0gdG9Vc2VyVW5pdHMocGFkZGVkRWxlbWVudC5sc3BhY2UoKSwgc3R5bGUoKSwgbHNw
YWNlKTsKLSAgICB2b2Zmc2V0ID0gdG9Vc2VyVW5pdHMocGFkZGVkRWxlbWVudC52b2Zmc2V0KCks
IHN0eWxlKCksIHZvZmZzZXQpOwotICAgIGlmIChoZWlnaHQgPCAwKQotICAgICAgICBoZWlnaHQg
PSAwOwotICAgIGlmIChkZXB0aCA8IDApCi0gICAgICAgIGRlcHRoID0gMDsKKyAgICBMYXlvdXRV
bml0IGxzcGFjZSA9IHRvVXNlclVuaXRzKGVsZW1lbnQoKS5sc3BhY2UoKSwgc3R5bGUoKSwgMCk7
CiAgICAgLy8gRklYTUU6IE5lZ2F0aXZlIGxzcGFjZSB2YWx1ZXMgYXJlIG5vdCBzdXBwb3J0ZWQg
eWV0IChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU3MzApLgotICAg
IGlmIChsc3BhY2UgPCAwKQotICAgICAgICBsc3BhY2UgPSAwOworICAgIHJldHVybiBzdGQ6Om1h
eDxMYXlvdXRVbml0PigwLCBsc3BhY2UpOworfQorCitMYXlvdXRVbml0IFJlbmRlck1hdGhNTFBh
ZGRlZDo6bXBhZGRlZFdpZHRoKExheW91dFVuaXQgY29udGVudFdpZHRoKSBjb25zdAoreworICAg
IHJldHVybiBzdGQ6Om1heDxMYXlvdXRVbml0PigwLCB0b1VzZXJVbml0cyhlbGVtZW50KCkud2lk
dGgoKSwgc3R5bGUoKSwgY29udGVudFdpZHRoKSk7Cit9CisKK0xheW91dFVuaXQgUmVuZGVyTWF0
aE1MUGFkZGVkOjptcGFkZGVkSGVpZ2h0KExheW91dFVuaXQgY29udGVudEhlaWdodCkgY29uc3QK
K3sKKyAgICByZXR1cm4gc3RkOjptYXg8TGF5b3V0VW5pdD4oMCwgdG9Vc2VyVW5pdHMoZWxlbWVu
dCgpLmhlaWdodCgpLCBzdHlsZSgpLCBjb250ZW50SGVpZ2h0KSk7Cit9CisKK0xheW91dFVuaXQg
UmVuZGVyTWF0aE1MUGFkZGVkOjptcGFkZGVkRGVwdGgoTGF5b3V0VW5pdCBjb250ZW50RGVwdGgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIHN0ZDo6bWF4PExheW91dFVuaXQ+KDAsIHRvVXNlclVuaXRz
KGVsZW1lbnQoKS5kZXB0aCgpLCBzdHlsZSgpLCBjb250ZW50RGVwdGgpKTsKIH0KIAogdm9pZCBS
ZW5kZXJNYXRoTUxQYWRkZWQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCkKQEAgLTcx
LDkgKzczLDggQEAgdm9pZCBSZW5kZXJNYXRoTUxQYWRkZWQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dp
Y2FsV2lkdGhzKCkKIAogICAgIC8vIE9ubHkgdGhlIHdpZHRoIGF0dHJpYnV0ZSBzaG91bGQgbW9k
aWZ5IHRoZSB3aWR0aC4KICAgICAvLyBXZSBwYXJzZSBpdCB1c2luZyB0aGUgcHJlZmVycmVkIHdp
ZHRoIG9mIHRoZSBjb250ZW50IGFzIGl0cyBkZWZhdWx0IHZhbHVlLgotICAgIExheW91dFVuaXQg
d2lkdGggPSBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aDsKLSAgICByZXNvbHZlV2lkdGgod2lk
dGgpOwotICAgIG1fbWluUHJlZmVycmVkTG9naWNhbFdpZHRoID0gbV9tYXhQcmVmZXJyZWRMb2dp
Y2FsV2lkdGggPSB3aWR0aDsKKyAgICBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCA9IG1wYWRk
ZWRXaWR0aChtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgbV9taW5QcmVmZXJyZWRM
b2dpY2FsV2lkdGggPSBtX21heFByZWZlcnJlZExvZ2ljYWxXaWR0aDsKIAogICAgIHNldFByZWZl
cnJlZExvZ2ljYWxXaWR0aHNEaXJ0eShmYWxzZSk7CiB9CkBAIC05Myw0MSArOTQsMzEgQEAgdm9p
ZCBSZW5kZXJNYXRoTUxQYWRkZWQ6OmxheW91dEJsb2NrKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwg
TGF5b3V0VW5pdCkKICAgICBjb250ZW50V2lkdGggPSBsb2dpY2FsV2lkdGgoKTsKIAogICAgIC8v
IFdlIHBhcnNlIHRoZSBtcGFkZGVkIGF0dHJpYnV0ZXMgdXNpbmcgdGhlIGNvbnRlbnQgbWV0cmlj
cyBhcyB0aGUgZGVmYXVsdCB2YWx1ZS4KLSAgICBMYXlvdXRVbml0IHdpZHRoID0gY29udGVudFdp
ZHRoOwotICAgIExheW91dFVuaXQgYXNjZW50ID0gY29udGVudEFzY2VudDsKLSAgICBMYXlvdXRV
bml0IGRlc2NlbnQgPSBjb250ZW50RGVzY2VudDsKLSAgICBMYXlvdXRVbml0IGxzcGFjZSA9IDA7
Ci0gICAgTGF5b3V0VW5pdCB2b2Zmc2V0ID0gMDsKLSAgICByZXNvbHZlQXR0cmlidXRlcyh3aWR0
aCwgYXNjZW50LCBkZXNjZW50LCBsc3BhY2UsIHZvZmZzZXQpOworICAgIExheW91dFVuaXQgd2lk
dGggPSBtcGFkZGVkV2lkdGgoY29udGVudFdpZHRoKTsKKyAgICBMYXlvdXRVbml0IGFzY2VudCA9
IG1wYWRkZWRIZWlnaHQoY29udGVudEFzY2VudCk7CisgICAgTGF5b3V0VW5pdCBkZXNjZW50ID0g
bXBhZGRlZERlcHRoKGNvbnRlbnREZXNjZW50KTsKIAogICAgIC8vIEFsaWduIGNoaWxkcmVuIG9u
IHRoZSBuZXcgYmFzZWxpbmUgYW5kIHNoaWZ0IHRoZW0gYnkgKGxzcGFjZSwgLXZvZmZzZXQpCi0g
ICAgTGF5b3V0UG9pbnQgY29udGVudExvY2F0aW9uKGxzcGFjZSwgYXNjZW50IC0gY29udGVudEFz
Y2VudCAtIHZvZmZzZXQpOworICAgIExheW91dFBvaW50IGNvbnRlbnRMb2NhdGlvbihsc3BhY2Uo
KSwgYXNjZW50IC0gY29udGVudEFzY2VudCAtIHZvZmZzZXQoKSk7CiAgICAgZm9yIChhdXRvKiBj
aGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5n
Qm94KCkpCiAgICAgICAgIGNoaWxkLT5zZXRMb2NhdGlvbihjaGlsZC0+bG9jYXRpb24oKSArIGNv
bnRlbnRMb2NhdGlvbik7CiAKICAgICAvLyBTZXQgdGhlIGZpbmFsIG1ldHJpY3MuCiAgICAgc2V0
TG9naWNhbFdpZHRoKHdpZHRoKTsKLSAgICBtX2FzY2VudCA9IGFzY2VudDsKICAgICBzZXRMb2dp
Y2FsSGVpZ2h0KGFzY2VudCArIGRlc2NlbnQpOwogCiAgICAgY2xlYXJOZWVkc0xheW91dCgpOwog
fQogCi12b2lkIFJlbmRlck1hdGhNTFBhZGRlZDo6dXBkYXRlRnJvbUVsZW1lbnQoKQotewotICAg
IFJlbmRlck1hdGhNTFJvdzo6dXBkYXRlRnJvbUVsZW1lbnQoKTsKLSAgICBzZXROZWVkc0xheW91
dEFuZFByZWZXaWR0aHNSZWNhbGMoKTsKLX0KLQotdm9pZCBSZW5kZXJNYXRoTUxQYWRkZWQ6OnN0
eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xk
U3R5bGUpCi17Ci0gICAgUmVuZGVyTWF0aE1MUm93OjpzdHlsZURpZENoYW5nZShkaWZmLCBvbGRT
dHlsZSk7Ci0gICAgc2V0TmVlZHNMYXlvdXRBbmRQcmVmV2lkdGhzUmVjYWxjKCk7Ci19Ci0KIE9w
dGlvbmFsPGludD4gUmVuZGVyTWF0aE1MUGFkZGVkOjpmaXJzdExpbmVCYXNlbGluZSgpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIE9wdGlvbmFsPGludD4oc3RkOjpscm91bmQoc3RhdGljX2Nhc3Q8Zmxv
YXQ+KG1fYXNjZW50KSkpOworICAgIC8vIFdlIHRyeSBhbmQgY2FsY3VsYXRlIHRoZSBiYXNlbGlu
ZSBmcm9tIHRoZSBwb3NpdGlvbiBvZiB0aGUgZmlyc3QgY2hpbGQuCisgICAgTGF5b3V0VW5pdCBh
c2NlbnQ7CisgICAgaWYgKGF1dG8qIGJhc2VsaW5lQ2hpbGQgPSBmaXJzdENoaWxkQm94KCkpCisg
ICAgICAgIGFzY2VudCA9IGFzY2VudEZvckNoaWxkKCpiYXNlbGluZUNoaWxkKSArIGJhc2VsaW5l
Q2hpbGQtPmxvZ2ljYWxUb3AoKSArIHZvZmZzZXQoKTsKKyAgICBlbHNlCisgICAgICAgIGFzY2Vu
dCA9IG1wYWRkZWRIZWlnaHQoMCk7CisgICAgcmV0dXJuIE9wdGlvbmFsPGludD4oc3RkOjpscm91
bmQoc3RhdGljX2Nhc3Q8ZmxvYXQ+KGFzY2VudCkpKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxQYWRkZWQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUGFkZGVkLmgKaW5kZXggZDEw
NmNlMy4uMGFjM2M4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGht
bC9SZW5kZXJNYXRoTUxQYWRkZWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0
aG1sL1JlbmRlck1hdGhNTFBhZGRlZC5oCkBAIC00NCwxNCArNDQsMTIgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIGxheW91dEJsb2NrKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5b3V0VW5pdCBwYWdl
TG9naWNhbEhlaWdodCA9IDApIGZpbmFsOwogICAgIE9wdGlvbmFsPGludD4gZmlyc3RMaW5lQmFz
ZWxpbmUoKSBjb25zdCBmaW5hbDsKIAotICAgIHZvaWQgdXBkYXRlRnJvbUVsZW1lbnQoKSBmaW5h
bDsKLSAgICB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVy
U3R5bGUqIG9sZFN0eWxlKSBmaW5hbDsKLQogICAgIE1hdGhNTFBhZGRlZEVsZW1lbnQmIGVsZW1l
bnQoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxNYXRoTUxQYWRkZWRFbGVtZW50Jj4obm9k
ZUZvck5vbkFub255bW91cygpKTsgfQotICAgIHZvaWQgcmVzb2x2ZVdpZHRoKExheW91dFVuaXQm
IHdpZHRoKTsKLSAgICB2b2lkIHJlc29sdmVBdHRyaWJ1dGVzKExheW91dFVuaXQmIHdpZHRoLCBM
YXlvdXRVbml0JiBoZWlnaHQsIExheW91dFVuaXQmIGRlcHRoLCBMYXlvdXRVbml0JiBsc3BhY2Us
IExheW91dFVuaXQmIHZvZmZzZXQpOwotCi0gICAgTGF5b3V0VW5pdCBtX2FzY2VudDsKKyAgICBM
YXlvdXRVbml0IHZvZmZzZXQoKSBjb25zdDsKKyAgICBMYXlvdXRVbml0IGxzcGFjZSgpIGNvbnN0
OworICAgIExheW91dFVuaXQgbXBhZGRlZFdpZHRoKExheW91dFVuaXQgY29udGVudFdpZHRoKSBj
b25zdDsKKyAgICBMYXlvdXRVbml0IG1wYWRkZWRIZWlnaHQoTGF5b3V0VW5pdCBjb250ZW50SGVp
Z2h0KSBjb25zdDsKKyAgICBMYXlvdXRVbml0IG1wYWRkZWREZXB0aChMYXlvdXRVbml0IGNvbnRl
bnREZXB0aCkgY29uc3Q7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>286963</attachid>
            <date>2016-08-25 05:54:35 -0700</date>
            <delta_ts>2016-08-27 17:17:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-153984-20160825145232.patch</filename>
            <type>text/plain</type>
            <size>40237</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0OTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzY3NjMwNDRlYjU4YjE5
NjA0YjdiNjdiZTMyMjkzODFlMGEyZTYzMC4uMzRhYTI1YWFlOTQ5NzAzNzU1N2IwM2RkNjcwY2Mz
OTljNjAwZTQ0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE2LTA4LTI1ICBGcmVk
ZXJpYyBXYW5nICA8ZndhbmdAaWdhbGlhLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
bm9uLUJNUCBvcGVyYXRvcnMgVSsxRUVGMCBhbmQgVSsxRUVGMQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUzOTg0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHM6IG1hdGhtbC9wcmVzZW50YXRpb24v
bm9uLWJtcC1vcGVyYXRvcnMtc3BhY2luZy5odG1sCisgICAgICAgICAgICAgICBtYXRobWwvcHJl
c2VudGF0aW9uL25vbi1ibXAtb3BlcmF0b3JzLXN0cmV0Y2hpbmcuaHRtbAorCisgICAgICAgICog
bWF0aG1sL01hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS5jcHA6IFdlIG1vdmUgdGhlIGRlZmluaXRp
b24gb2Ygb3BlcmF0b3IgZGljdGlvbmFyeSBFbnRyeQorICAgICAgICBoZXJlIGFzIGl0IGlzIG5v
dCB1c2VkIGJ5IGV4dGVybmFsIGNvZGUuCisgICAgICAgIChXZWJDb3JlOjpleHRyYWN0UHJvcGVy
dHkpOiBIZWxwZXIgZnVuY3Rpb24gdG8gY29udmVydCBmcm9tIEVudHJ5IHN0cnVjdHVyZSB0byBh
IFByb3BlcnR5CisgICAgICAgIHN0cnVjdHVyZS4KKyAgICAgICAgKFdlYkNvcmU6OmlzQXJhYmlj
T3BlcmF0b3IpOiBIZWxwZXIgZnVuY3Rpb24gdG8gcmVjb2duaXplIHRoZSB0d28gbmV3IEFyYWJp
YyBvcGVyYXRvcnMKKyAgICAgICAgVSsxRUVGMCBhbmQgVSsxRUVGMS4KKyAgICAgICAgKFdlYkNv
cmU6Ok1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6c2VhcmNoKTogQWRkIGEgc3BlY2lhbCBjYXNl
IGZvciBub24tQk1QIG9wZXJhdG9ycy4KKyAgICAgICAgVGhpcyBmdW5jdGlvbiBub3cgYWNjZXB0
cyBhIG5vbi1CTVAgcGFyYW1ldGVyIGFuZCByZXR1cm5zIGEgUHJvcGVydHkgc3RydWN0dXJlLgor
ICAgICAgICAoV2ViQ29yZTo6TWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5Ojppc1ZlcnRpY2FsKTog
QWRkIGEgc3BlY2lhbCBjYXNlIGZvciBub24tQk1QIG9wZXJhdG9ycy4KKyAgICAgICAgVGhpcyBm
dW5jdGlvbiBub3cgYWNjZXB0cyBhIG5vbi1CTVAgcGFyYW1ldGVyLgorICAgICAgICAqIG1hdGht
bC9NYXRoTUxPcGVyYXRvckRpY3Rpb25hcnkuaDogUmVwbGFjZSB0aGUgRW50cnkgc3RydWN0dXJl
IHdpdGggYSBQcm9wZXJ0eSBzdHJ1Y3R1cmUKKyAgICAgICAgd2hpY2ggd2FzIHVzZWQgYnkgTWF0
aE1MT3BlcmF0b3JFbGVtZW50LiBVcGRhdGUgdGhlIHNpZ25hdHVyZXMgb2Ygc2VhcmNoIGFuZCBp
c1ZlcnRpY2FsLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TWF0aE1MT3BlcmF0b3JFbGVtZW50OjpwYXJzZU9wZXJhdG9yQ2hh
cik6IFJlbW92ZSB0aGUgc3BlY2lhbCBjYXNlIHRoYXQgZXhjbHVkZXMKKyAgICAgICAgbm9uLUJN
UCBvcGVyYXRvcnMuCisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxPcGVyYXRvckVsZW1lbnQ6OmNv
bXB1dGVEaWN0aW9uYXJ5UHJvcGVydHkpOiBSZW5hbWUgdGhlIHByb3BlcnR5IHN0cnVjdHVyZQor
ICAgICAgICB0byB1c2UgdGhlIG9uZSBtb3ZlZCBpbnRvIE1hdGhNTE9wZXJhdG9yRGljdGlvbmFy
eS5oLiBXZSBubyBsb25nZXIgbmVlZCB0byBjb252ZXJ0IHRoZSByZXN1bHQKKyAgICAgICAgb2Yg
dGhlIHNlYXJjaCBjYWxsLgorICAgICAgICAoV2ViQ29yZTo6TWF0aE1MT3BlcmF0b3JFbGVtZW50
OjpkaWN0aW9uYXJ5UHJvcGVydHkpOiBSZW5hbWUgdGhlIHByb3BlcnR5IHN0cnVjdHVyZS4KKyAg
ICAgICAgKiBtYXRobWwvTWF0aE1MT3BlcmF0b3JFbGVtZW50Lmg6IE1ha2UgT3BlcmF0b3JDaGFy
IGFjY2VwdCBub24tQk1QIG9wZXJhdG9ycy4KKyAgICAgICAgTWF0aE1MT3BlcmF0b3JFbGVtZW50
OjpEaWN0aW9uYXJ5UHJvcGVydHkgaXMgbm93IG1vdmVkIGludG8gTWF0aE1MT3BlcmF0b3JEaWN0
aW9uYXJ5CisgICAgICAgIGFuZCByZW5hbWVkIFByb3BlcnR5LgorICAgICAgICAqIHJlbmRlcmlu
Zy9tYXRobWwvTWF0aE9wZXJhdG9yLmNwcDogQWNjZXB0IG5vbi1CTVAgb3BlcmF0b3JzLgorICAg
ICAgICAqIHJlbmRlcmluZy9tYXRobWwvTWF0aE9wZXJhdG9yLmg6IERpdHRvLgorICAgICAgICAq
IHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3IuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3I6OnVwZGF0ZU9wZXJhdG9yQ29u
dGVudCk6ICBBZGp1c3QgY29kZSB0byB1c2UgdGhlIG5ldworICAgICAgICByZXR1cm4gdHlwZSBv
ZiBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OnNlYXJjaC4KKyAgICAgICAgKiByZW5kZXJpbmcv
bWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZE9wZXJhdG9yLmg6IEFjY2VwdCBub24tQk1QIG9wZXJh
dG9ycy4KKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmNw
cDogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRv
ci5oOiBEaXR0by4KKwogMjAxNi0wOC0yNCAgRnJlZGVyaWMgV2FuZyAgPGZ3YW5nQGlnYWxpYS5j
b20+CiAKICAgICAgICAgRG8gbm90IHN0b3JlIGxheW91dCBwYXJhbWV0ZXJzIG9uIHRoZSBSZW5k
ZXJNYXRoTUxSb290IGNsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0
aE1MT3BlcmF0b3JEaWN0aW9uYXJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxP
cGVyYXRvckRpY3Rpb25hcnkuY3BwCmluZGV4IGQ3OTgxMjViOTg4MDEzZmVlNTAwMzhhNjcwOWQ2
MWQ5MmQ2YjNjMzAuLjkzZjUyMzVhN2ZkOTRiMDM2MjJkMGMwNjY1Mjc3M2Y3ZDJmY2YzYjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckRpY3Rpb25hcnku
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckRpY3Rpb25hcnku
Y3BwCkBAIC0zMyw2ICszMywyMiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiB1c2luZyBuYW1lc3Bh
Y2UgTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OwogCiB0eXBlZGVmIHN0ZDo6cGFpcjxVQ2hhciwg
Rm9ybT4gS2V5Oworc3RydWN0IEVudHJ5IHsKKyAgICBVQ2hhciBjaGFyYWN0ZXI7CisgICAgdW5z
aWduZWQgZm9ybSA6IDI7CisgICAgdW5zaWduZWQgbHNwYWNlIDogMzsKKyAgICB1bnNpZ25lZCBy
c3BhY2UgOiAzOworICAgIHVuc2lnbmVkIGZsYWdzIDogODsKK307CitzdGF0aWMgUHJvcGVydHkg
ZXh0cmFjdFByb3BlcnR5KGNvbnN0IEVudHJ5JiBlbnRyeSkKK3sKKyAgICBQcm9wZXJ0eSBwcm9w
ZXJ0eTsKKyAgICBwcm9wZXJ0eS5mb3JtID0gc3RhdGljX2Nhc3Q8TWF0aE1MT3BlcmF0b3JEaWN0
aW9uYXJ5OjpGb3JtPihlbnRyeS5mb3JtKTsKKyAgICBwcm9wZXJ0eS5sZWFkaW5nU3BhY2VJbk1h
dGhVbml0ID0gZW50cnkubHNwYWNlOworICAgIHByb3BlcnR5LnRyYWlsaW5nU3BhY2VJbk1hdGhV
bml0ID0gZW50cnkucnNwYWNlOworICAgIHByb3BlcnR5LmZsYWdzID0gZW50cnkuZmxhZ3M7Cisg
ICAgcmV0dXJuIHByb3BlcnR5OworfQogc3RhdGljIGlubGluZSBLZXkgRXh0cmFjdEtleShjb25z
dCBFbnRyeSogZW50cnkpIHsgcmV0dXJuIEtleShlbnRyeS0+Y2hhcmFjdGVyLCBzdGF0aWNfY2Fz
dDxGb3JtPihlbnRyeS0+Zm9ybSkpOyB9CiBzdGF0aWMgaW5saW5lIFVDaGFyIEV4dHJhY3RDaGFy
KGNvbnN0IEVudHJ5KiBlbnRyeSkgeyByZXR1cm4gZW50cnktPmNoYXJhY3RlcjsgfQogCkBAIC0x
MDg5LDE0ICsxMTA1LDMwIEBAIHN0YXRpYyBjb25zdCBVQ2hhciBob3Jpem9udGFsT3BlcmF0b3Jz
W10gPSB7CiAgICAgMHgwMDNELCAweDAwNUUsIDB4MDA1RiwgMHgwMDdFLCAweDAwQUYsIDB4MDJD
NiwgMHgwMkM3LCAweDAyQzksIDB4MDJDRCwgMHgwMkRDLCAweDAyRjcsIDB4MDMwMiwgMHgwMzMy
LCAweDIwM0UsIDB4MjBEMCwgMHgyMEQxLCAweDIwRDYsIDB4MjBENywgMHgyMEUxLCAweDIxOTAs
IDB4MjE5MiwgMHgyMTk0LCAweDIxOTgsIDB4MjE5OSwgMHgyMTlDLCAweDIxOUQsIDB4MjE5RSwg
MHgyMUEwLCAweDIxQTIsIDB4MjFBMywgMHgyMUE0LCAweDIxQTYsIDB4MjFBOSwgMHgyMUFBLCAw
eDIxQUIsIDB4MjFBQywgMHgyMUFELCAweDIxQjQsIDB4MjFCOSwgMHgyMUJDLCAweDIxQkQsIDB4
MjFDMCwgMHgyMUMxLCAweDIxQzQsIDB4MjFDNiwgMHgyMUM3LCAweDIxQzksIDB4MjFDQiwgMHgy
MUNDLCAweDIxRDAsIDB4MjFEMiwgMHgyMUQ0LCAweDIxREEsIDB4MjFEQiwgMHgyMURDLCAweDIx
REQsIDB4MjFFMCwgMHgyMUUyLCAweDIxRTQsIDB4MjFFNSwgMHgyMUU2LCAweDIxRTgsIDB4MjFG
MCwgMHgyMUY2LCAweDIxRkQsIDB4MjFGRSwgMHgyMUZGLCAweDIzQjQsIDB4MjNCNSwgMHgyM0RD
LCAweDIzREQsIDB4MjNERSwgMHgyM0RGLCAweDIzRTAsIDB4MjNFMSwgMHgyNTAwLCAweDI3RjUs
IDB4MjdGNiwgMHgyN0Y3LCAweDI3RjgsIDB4MjdGOSwgMHgyN0ZBLCAweDI3RkIsIDB4MjdGQywg
MHgyN0ZELCAweDI3RkUsIDB4MjdGRiwgMHgyOTBDLCAweDI5MEQsIDB4MjkwRSwgMHgyOTBGLCAw
eDI5MTAsIDB4Mjk0RSwgMHgyOTUwLCAweDI5NTIsIDB4Mjk1MywgMHgyOTU2LCAweDI5NTcsIDB4
Mjk1QSwgMHgyOTVCLCAweDI5NUUsIDB4Mjk1RiwgMHgyQjQ1LCAweDJCNDYsIDB4RkUzNSwgMHhG
RTM2LCAweEZFMzcsIDB4RkUzOAogfTsKIAotT3B0aW9uYWw8RW50cnk+IE1hdGhNTE9wZXJhdG9y
RGljdGlvbmFyeTo6c2VhcmNoKFVDaGFyIGNoYXJhY3RlciwgRm9ybSBmb3JtLCBib29sIGV4cGxp
Y2l0Rm9ybSkKKy8vIFRoZSBmb2xsb3dpbmcgdHdvIG5vbi1CTVAgY2hhcmFjdGVycyBhcmUgaGFu
ZGxlZCBzZXBhcmF0ZWx5IHNvIHRoYXQgdGhlIGFycmF5cyAnZGljdGlvbmFyeScgYW5kCisvLyAn
aG9yaXpvbnRhbE9wZXJhdG9ycycgY2FuIHVzZSBVQ2hhciBpbnN0ZWFkIG9mIFVDaGFyMzIgYW5k
IGF2b2lkIGFuIGluY3JlYXNlIG9mIG1lbW9yeSBmb290cHJpbnQuCisvLyBUaGV5IGFyZSBub3Qg
aW4gdGhlIG9mZmljaWFsIE1hdGhNTCAzIGRpY3Rpb25hcnkgYnV0IGhhdmUgYmVlbiBhZGRlZCB0
byBVbmljb2RlLgorLy8gV2UgdHJlYXQgdGhlbSBhcyBob3Jpem9udGFsLCBzdHJldGNoeSBhbmQg
cHJlZml4IG9wZXJhdG9ycyB3aXRob3V0IHNwYWNpbmcuCisvLyBVKzFFRUYwIEFSQUJJQyBNQVRI
RU1BVElDQUwgT1BFUkFUT1IgTUVFTSBXSVRIIEhBSCBXSVRIIFRBVFdFRUwKKy8vIFUrMUVFRjEg
QVJBQklDIE1BVEhFTUFUSUNBTCBPUEVSQVRPUiBIQUggV0lUSCBEQUwKK3N0YXRpYyBib29sIGlz
QXJhYmljT3BlcmF0b3IoVUNoYXIzMiBjaGFyYWN0ZXIpCit7CisgICAgcmV0dXJuIGNoYXJhY3Rl
ciA9PSAweDFFRUYwIHx8IGNoYXJhY3RlciA9PSAweDFFRUYxOworfQorUHJvcGVydHkgYXJhYmlj
T3BlcmF0b3JQcm9wZXJ0eSA9IHsgUHJlZml4LCAwLCAwLCBTdHJldGNoeSB9OworCitPcHRpb25h
bDxQcm9wZXJ0eT4gTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpzZWFyY2goVUNoYXIzMiBjaGFy
YWN0ZXIsIEZvcm0gZm9ybSwgYm9vbCBleHBsaWNpdEZvcm0pCiB7CiAgICAgaWYgKCFjaGFyYWN0
ZXIpCiAgICAgICAgIHJldHVybiBOdWxsb3B0OwogCisgICAgLy8gV2UgaGFuZGxlIHRoZSBzcGVj
aWFsIGNhc2Ugb2Ygbm9uLUJNUCBjaGFyYWN0ZXJzLgorICAgIGlmICghVV9JU19CTVAoY2hhcmFj
dGVyKSkKKyAgICAgICAgcmV0dXJuIGlzQXJhYmljT3BlcmF0b3IoY2hhcmFjdGVyKSAmJiAoZm9y
bSA9PSBhcmFiaWNPcGVyYXRvclByb3BlcnR5LmZvcm0gfHwgIWV4cGxpY2l0Rm9ybSkgPyBPcHRp
b25hbDxQcm9wZXJ0eT4oYXJhYmljT3BlcmF0b3JQcm9wZXJ0eSkgOiBOdWxsb3B0OworCiAgICAg
Ly8gV2UgdHJ5IGFuZCBmaW5kIHRoZSBkZWZhdWx0IHZhbHVlcyBmcm9tIHRoZSBvcGVyYXRvciBk
aWN0aW9uYXJ5LgogICAgIGlmIChhdXRvKiBlbnRyeSA9IHRyeUJpbmFyeVNlYXJjaDxjb25zdCBF
bnRyeSwgS2V5PihkaWN0aW9uYXJ5LCBkaWN0aW9uYXJ5U2l6ZSwgS2V5KGNoYXJhY3RlciwgZm9y
bSksIEV4dHJhY3RLZXkpKQotICAgICAgICByZXR1cm4gKmVudHJ5OworICAgICAgICByZXR1cm4g
ZXh0cmFjdFByb3BlcnR5KCplbnRyeSk7CiAKICAgICBpZiAoZXhwbGljaXRGb3JtKQogICAgICAg
ICByZXR1cm4gTnVsbG9wdDsKQEAgLTExMDksMTQgKzExNDEsMTggQEAgT3B0aW9uYWw8RW50cnk+
IE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6c2VhcmNoKFVDaGFyIGNoYXJhY3RlciwgRm9ybSBm
b3JtLCBib28KICAgICAgICAgICAgIGVudHJ5LS07CiAgICAgICAgIGlmIChlbnRyeSAhPSBkaWN0
aW9uYXJ5ICYmIChlbnRyeSAtIDEpLT5jaGFyYWN0ZXIgPT0gY2hhcmFjdGVyKQogICAgICAgICAg
ICAgZW50cnktLTsKLSAgICAgICAgcmV0dXJuICplbnRyeTsKKyAgICAgICAgcmV0dXJuIGV4dHJh
Y3RQcm9wZXJ0eSgqZW50cnkpOwogICAgIH0KIAogICAgIHJldHVybiBOdWxsb3B0OwogfQogCi1i
b29sIE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6aXNWZXJ0aWNhbChVQ2hhciB0ZXh0Q29udGVu
dCkKK2Jvb2wgTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5Ojppc1ZlcnRpY2FsKFVDaGFyMzIgdGV4
dENvbnRlbnQpCiB7CisgICAgLy8gV2UgaGFuZGxlIHRoZSBzcGVjaWFsIGNhc2Ugb2Ygbm9uLUJN
UCBjaGFyYWN0ZXJzLgorICAgIGlmICghVV9JU19CTVAodGV4dENvbnRlbnQpKQorICAgICAgICBy
ZXR1cm4gIWlzQXJhYmljT3BlcmF0b3IodGV4dENvbnRlbnQpOworCiAgICAgcmV0dXJuICF0cnlC
aW5hcnlTZWFyY2g8Y29uc3QgVUNoYXIsIFVDaGFyPihob3Jpem9udGFsT3BlcmF0b3JzLCBXVEZf
QVJSQVlfTEVOR1RIKGhvcml6b250YWxPcGVyYXRvcnMpLCB0ZXh0Q29udGVudCwgRXh0cmFjdEtl
eUhvcml6b250YWwpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0
aE1MT3BlcmF0b3JEaWN0aW9uYXJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MT3Bl
cmF0b3JEaWN0aW9uYXJ5LmgKaW5kZXggZmUxNDhmODM1OTVhMDdkNTEzYThmMGM3MWEyNTE0ZDVm
ZTFiZWEyMC4uMDBlZjUwZDY4YzdlZDM0YzMyMTI2MzI3YWI2OWY5ZmFjOWY0ZGUxYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckRpY3Rpb25hcnkuaApAQCAt
NDQsMTUgKzQ0LDE2IEBAIGVudW0gRmxhZyB7CiAgICAgU3ltbWV0cmljID0gMHg0MAogfTsKIGNv
bnN0IHVuc2lnbmVkIGFsbEZsYWdzID0gQWNjZW50IHwgRmVuY2UgfCBMYXJnZU9wIHwgTW92YWJs
ZUxpbWl0cyB8IFNlcGFyYXRvciB8IFN0cmV0Y2h5IHwgU3ltbWV0cmljOwotc3RydWN0IEVudHJ5
IHsKLSAgICBVQ2hhciBjaGFyYWN0ZXI7Ci0gICAgdW5zaWduZWQgZm9ybSA6IDI7Ci0gICAgdW5z
aWduZWQgbHNwYWNlIDogMzsKLSAgICB1bnNpZ25lZCByc3BhY2UgOiAzOwotICAgIHVuc2lnbmVk
IGZsYWdzIDogODsKK3N0cnVjdCBQcm9wZXJ0eSB7CisgICAgTWF0aE1MT3BlcmF0b3JEaWN0aW9u
YXJ5OjpGb3JtIGZvcm07CisgICAgLy8gRGVmYXVsdCBsZWFkaW5nIGFuZCB0cmFpbGluZyBzcGFj
ZXMgYXJlICJ0aGlja21hdGhzcGFjZSIuCisgICAgdW5zaWduZWQgc2hvcnQgbGVhZGluZ1NwYWNl
SW5NYXRoVW5pdCB7IDUgfTsKKyAgICB1bnNpZ25lZCBzaG9ydCB0cmFpbGluZ1NwYWNlSW5NYXRo
VW5pdCB7IDUgfTsKKyAgICAvLyBEZWZhdWx0IG9wZXJhdG9yIHByb3BlcnRpZXMgYXJlIGFsbCBz
ZXQgdG8gImZhbHNlIi4KKyAgICB1bnNpZ25lZCBzaG9ydCBmbGFncyB7IDAgfTsKIH07Ci1PcHRp
b25hbDxFbnRyeT4gc2VhcmNoKFVDaGFyLCBGb3JtLCBib29sIGV4cGxpY2l0Rm9ybSk7Ci1ib29s
IGlzVmVydGljYWwoVUNoYXIpOworT3B0aW9uYWw8UHJvcGVydHk+IHNlYXJjaChVQ2hhcjMyLCBG
b3JtLCBib29sIGV4cGxpY2l0Rm9ybSk7Citib29sIGlzVmVydGljYWwoVUNoYXIzMik7CiB9CiAK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAK
aW5kZXggODhhMjlkNjEwNDRlYTY1MDk3MWI4YzE5ZmU0YTk4ZWY1ODkwNjVhYy4uOTY4YWZlMWVk
ZTM2M2ZjZTkzOGVhNDc0Y2M0ZjFkNzgyYTQxNDJjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
bWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5jcHAKQEAgLTUyLDE1ICs1MiwxMiBAQCBNYXRo
TUxPcGVyYXRvckVsZW1lbnQ6Ok9wZXJhdG9yQ2hhciBNYXRoTUxPcGVyYXRvckVsZW1lbnQ6OnBh
cnNlT3BlcmF0b3JDaGFyKGNvbgogICAgIE9wZXJhdG9yQ2hhciBvcGVyYXRvckNoYXI7CiAgICAg
Ly8gRklYTUU6IFRoaXMgb3BlcmF0b3IgZGljdGlvbmFyeSBkb2VzIG5vdCBhY2NlcHQgbXVsdGlw
bGUgY2hhcmFjdGVycyAoaHR0cHM6Ly93ZWJraXQub3JnL2IvMTI0ODI4KS4KICAgICBpZiAoYXV0
byBjb2RlUG9pbnQgPSBjb252ZXJ0VG9TaW5nbGVDb2RlUG9pbnQoc3RyaW5nKSkgewotICAgICAg
ICAvLyBGSVhNRTogTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5L1JlbmRlck1hdGhNTE9wZXJhdG9y
L01hdGhPcGVyYXRvciBkbyBub3Qgc3VwcG9ydCBub24tQk1QIGNoYXJhY3RlcnMgKGh0dHBzOi8v
d2Via2l0Lm9yZy9iLzEyMjI5NikuCi0gICAgICAgIGlmIChVX0lTX0JNUChjb2RlUG9pbnQudmFs
dWUoKSkpIHsKLSAgICAgICAgICAgIFVDaGFyIGNoYXJhY3RlciA9IGNvZGVQb2ludC52YWx1ZSgp
OwotICAgICAgICAgICAgLy8gVGhlIG1pbnVzIHNpZ24gcmVuZGVycyBiZXR0ZXIgdGhhbiB0aGUg
aHlwaGVuIHNpZ24gdXNlZCBpbiBzb21lIE1hdGhNTCBmb3JtdWxhcy4KLSAgICAgICAgICAgIGlm
IChjaGFyYWN0ZXIgPT0gaHlwaGVuTWludXMpCi0gICAgICAgICAgICAgICAgY2hhcmFjdGVyID0g
bWludXNTaWduOwotICAgICAgICAgICAgb3BlcmF0b3JDaGFyLmNoYXJhY3RlciA9IGNoYXJhY3Rl
cjsKLSAgICAgICAgICAgIG9wZXJhdG9yQ2hhci5pc1ZlcnRpY2FsID0gTWF0aE1MT3BlcmF0b3JE
aWN0aW9uYXJ5Ojppc1ZlcnRpY2FsKG9wZXJhdG9yQ2hhci5jaGFyYWN0ZXIpOwotICAgICAgICB9
CisgICAgICAgIGF1dG8gY2hhcmFjdGVyID0gY29kZVBvaW50LnZhbHVlKCk7CisgICAgICAgIC8v
IFRoZSBtaW51cyBzaWduIHJlbmRlcnMgYmV0dGVyIHRoYW4gdGhlIGh5cGhlbiBzaWduIHVzZWQg
aW4gc29tZSBNYXRoTUwgZm9ybXVsYXMuCisgICAgICAgIGlmIChjaGFyYWN0ZXIgPT0gaHlwaGVu
TWludXMpCisgICAgICAgICAgICBjaGFyYWN0ZXIgPSBtaW51c1NpZ247CisgICAgICAgIG9wZXJh
dG9yQ2hhci5jaGFyYWN0ZXIgPSBjaGFyYWN0ZXI7CisgICAgICAgIG9wZXJhdG9yQ2hhci5pc1Zl
cnRpY2FsID0gaXNWZXJ0aWNhbChvcGVyYXRvckNoYXIuY2hhcmFjdGVyKTsKICAgICB9CiAgICAg
cmV0dXJuIG9wZXJhdG9yQ2hhcjsKIH0KQEAgLTcyLDkgKzY5LDkgQEAgY29uc3QgTWF0aE1MT3Bl
cmF0b3JFbGVtZW50OjpPcGVyYXRvckNoYXImIE1hdGhNTE9wZXJhdG9yRWxlbWVudDo6b3BlcmF0
b3JDaGFyKCkKICAgICByZXR1cm4gbV9vcGVyYXRvckNoYXIudmFsdWUoKTsKIH0KIAotTWF0aE1M
T3BlcmF0b3JFbGVtZW50OjpEaWN0aW9uYXJ5UHJvcGVydHkgTWF0aE1MT3BlcmF0b3JFbGVtZW50
Ojpjb21wdXRlRGljdGlvbmFyeVByb3BlcnR5KCkKK1Byb3BlcnR5IE1hdGhNTE9wZXJhdG9yRWxl
bWVudDo6Y29tcHV0ZURpY3Rpb25hcnlQcm9wZXJ0eSgpCiB7Ci0gICAgRGljdGlvbmFyeVByb3Bl
cnR5IGRpY3Rpb25hcnlQcm9wZXJ0eTsKKyAgICBQcm9wZXJ0eSBkaWN0aW9uYXJ5UHJvcGVydHk7
CiAKICAgICAvLyBXZSBmaXJzdCBkZXRlcm1pbmUgdGhlIGZvcm0gYXR0cmlidXRlIGFuZCB1c2Ug
dGhlIGRlZmF1bHQgc3BhY2luZyBhbmQgcHJvcGVydGllcy4KICAgICBjb25zdCBhdXRvJiB2YWx1
ZSA9IGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oZm9ybUF0dHIpOwpAQCAtOTcsMTcg
Kzk0LDEzIEBAIE1hdGhNTE9wZXJhdG9yRWxlbWVudDo6RGljdGlvbmFyeVByb3BlcnR5IE1hdGhN
TE9wZXJhdG9yRWxlbWVudDo6Y29tcHV0ZURpY3Rpb25hCiAgICAgfQogCiAgICAgLy8gV2UgdGhl
biB0cnkgYW5kIGZpbmQgYW4gZW50cnkgaW4gdGhlIG9wZXJhdG9yIGRpY3Rpb25hcnkgdG8gb3Zl
cnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzLgotICAgIGlmIChhdXRvIGVudHJ5ID0gc2VhcmNoKG9w
ZXJhdG9yQ2hhcigpLmNoYXJhY3RlciwgZGljdGlvbmFyeVByb3BlcnR5LmZvcm0sIGV4cGxpY2l0
Rm9ybSkpIHsKLSAgICAgICAgZGljdGlvbmFyeVByb3BlcnR5LmZvcm0gPSBzdGF0aWNfY2FzdDxN
YXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OkZvcm0+KGVudHJ5LnZhbHVlKCkuZm9ybSk7Ci0gICAg
ICAgIGRpY3Rpb25hcnlQcm9wZXJ0eS5sZWFkaW5nU3BhY2VJbk1hdGhVbml0ID0gZW50cnkudmFs
dWUoKS5sc3BhY2U7Ci0gICAgICAgIGRpY3Rpb25hcnlQcm9wZXJ0eS50cmFpbGluZ1NwYWNlSW5N
YXRoVW5pdCA9IGVudHJ5LnZhbHVlKCkucnNwYWNlOwotICAgICAgICBkaWN0aW9uYXJ5UHJvcGVy
dHkuZmxhZ3MgPSBlbnRyeS52YWx1ZSgpLmZsYWdzOwotICAgIH0KKyAgICBpZiAoYXV0byBlbnRy
eSA9IHNlYXJjaChvcGVyYXRvckNoYXIoKS5jaGFyYWN0ZXIsIGRpY3Rpb25hcnlQcm9wZXJ0eS5m
b3JtLCBleHBsaWNpdEZvcm0pKQorICAgICAgICBkaWN0aW9uYXJ5UHJvcGVydHkgPSBlbnRyeS52
YWx1ZSgpOwogCiAgICAgcmV0dXJuIGRpY3Rpb25hcnlQcm9wZXJ0eTsKIH0KIAotY29uc3QgTWF0
aE1MT3BlcmF0b3JFbGVtZW50OjpEaWN0aW9uYXJ5UHJvcGVydHkmIE1hdGhNTE9wZXJhdG9yRWxl
bWVudDo6ZGljdGlvbmFyeVByb3BlcnR5KCkKK2NvbnN0IFByb3BlcnR5JiBNYXRoTUxPcGVyYXRv
ckVsZW1lbnQ6OmRpY3Rpb25hcnlQcm9wZXJ0eSgpCiB7CiAgICAgaWYgKCFtX2RpY3Rpb25hcnlQ
cm9wZXJ0eSkKICAgICAgICAgbV9kaWN0aW9uYXJ5UHJvcGVydHkgPSBjb21wdXRlRGljdGlvbmFy
eVByb3BlcnR5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MT3Bl
cmF0b3JFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JFbGVt
ZW50LmgKaW5kZXggZjI5NmJjMTFlYjM1NTcxNmQ3YjFlMjc3M2EyYmZhMjU4MGYyMTNmMi4uMzgw
OTY1NzBlOWU0NTZkODFmOTM5MTc1ZDFkNDIwYjM0ODg5MjgyMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1lbnQuaApAQCAtMzYsNyArMzYsNyBAQCBjbGFz
cyBNYXRoTUxPcGVyYXRvckVsZW1lbnQgZmluYWwgOiBwdWJsaWMgTWF0aE1MVG9rZW5FbGVtZW50
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPE1hdGhNTE9wZXJhdG9yRWxlbWVudD4gY3JlYXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Jik7CiAgICAgc3RydWN0IE9w
ZXJhdG9yQ2hhciB7Ci0gICAgICAgIFVDaGFyIGNoYXJhY3RlciB7IDAgfTsKKyAgICAgICAgVUNo
YXIzMiBjaGFyYWN0ZXIgeyAwIH07CiAgICAgICAgIGJvb2wgaXNWZXJ0aWNhbCB7IHRydWUgfTsK
ICAgICB9OwogICAgIHN0YXRpYyBPcGVyYXRvckNoYXIgcGFyc2VPcGVyYXRvckNoYXIoY29uc3Qg
U3RyaW5nJik7CkBAIC01OSwxNyArNTksOSBAQCBwcml2YXRlOgogCiAgICAgT3B0aW9uYWw8T3Bl
cmF0b3JDaGFyPiBtX29wZXJhdG9yQ2hhcjsKIAotICAgIHN0cnVjdCBEaWN0aW9uYXJ5UHJvcGVy
dHkgewotICAgICAgICBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OkZvcm0gZm9ybTsKLSAgICAg
ICAgLy8gRGVmYXVsdCBsZWFkaW5nIGFuZCB0cmFpbGluZyBzcGFjZXMgYXJlICJ0aGlja21hdGhz
cGFjZSIuCi0gICAgICAgIHVuc2lnbmVkIHNob3J0IGxlYWRpbmdTcGFjZUluTWF0aFVuaXQgeyA1
IH07Ci0gICAgICAgIHVuc2lnbmVkIHNob3J0IHRyYWlsaW5nU3BhY2VJbk1hdGhVbml0IHsgNSB9
OwotICAgICAgICAvLyBEZWZhdWx0IG9wZXJhdG9yIHByb3BlcnRpZXMgYXJlIGFsbCBzZXQgdG8g
ImZhbHNlIi4KLSAgICAgICAgdW5zaWduZWQgc2hvcnQgZmxhZ3MgeyAwIH07Ci0gICAgfTsKLSAg
ICBPcHRpb25hbDxEaWN0aW9uYXJ5UHJvcGVydHk+IG1fZGljdGlvbmFyeVByb3BlcnR5OwotICAg
IERpY3Rpb25hcnlQcm9wZXJ0eSBjb21wdXRlRGljdGlvbmFyeVByb3BlcnR5KCk7Ci0gICAgY29u
c3QgRGljdGlvbmFyeVByb3BlcnR5JiBkaWN0aW9uYXJ5UHJvcGVydHkoKTsKKyAgICBPcHRpb25h
bDxNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OlByb3BlcnR5PiBtX2RpY3Rpb25hcnlQcm9wZXJ0
eTsKKyAgICBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OlByb3BlcnR5IGNvbXB1dGVEaWN0aW9u
YXJ5UHJvcGVydHkoKTsKKyAgICBjb25zdCBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OlByb3Bl
cnR5JiBkaWN0aW9uYXJ5UHJvcGVydHkoKTsKIAogICAgIHN0cnVjdCBPcGVyYXRvclByb3BlcnRp
ZXMgewogICAgICAgICB1bnNpZ25lZCBzaG9ydCBmbGFnczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvTWF0aE9wZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9tYXRobWwvTWF0aE9wZXJhdG9yLmNwcAppbmRleCA3MjVhYWU0Y2QxNTRjNDMy
OWJkMzc4OGE4OTJiZGY2MDg2Y2FhNWNmLi5hNmU3OTdkODIyMDY4MmEwZjA2ZDBkN2EwMDVlMjM4
OWM1ODcwMTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL01h
dGhPcGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9NYXRo
T3BlcmF0b3IuY3BwCkBAIC02MCw3ICs2MCw3IEBAIHN0YXRpYyBpbmxpbmUgZmxvYXQgYWR2YW5j
ZVdpZHRoRm9yR2x5cGgoY29uc3QgR2x5cGhEYXRhJiBkYXRhKQogCiAvLyBGSVhNRTogVGhpcyBo
YXJkY29kZWQgZGF0YSBjYW4gYmUgcmVtb3ZlZCB3aGVuIE9wZW5UeXBlIE1BVEggZm9udCBhcmUg
d2lkZWx5IGF2YWlsYWJsZSAoaHR0cDovL3drYnVnLzE1NjgzNykuCiBzdHJ1Y3QgU3RyZXRjaHlD
aGFyYWN0ZXIgewotICAgIFVDaGFyIGNoYXJhY3RlcjsKKyAgICBVQ2hhcjMyIGNoYXJhY3RlcjsK
ICAgICBVQ2hhciB0b3BDaGFyOwogICAgIFVDaGFyIGV4dGVuc2lvbkNoYXI7CiAgICAgVUNoYXIg
Ym90dG9tQ2hhcjsKQEAgLTg1LDcgKzg1LDcgQEAgc3RhdGljIGNvbnN0IFN0cmV0Y2h5Q2hhcmFj
dGVyIHN0cmV0Y2h5Q2hhcmFjdGVyc1sxNF0gPSB7CiAgICAgeyAweDIyMmIsIDB4MjMyMCwgMHgy
M2FlLCAweDIzMjEsIDB4MCAgICB9IC8vIGludGVncmFsIHNpZ24KIH07CiAKLXZvaWQgTWF0aE9w
ZXJhdG9yOjpzZXRPcGVyYXRvcihjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUsIFVDaGFyIGJhc2VD
aGFyYWN0ZXIsIFR5cGUgb3BlcmF0b3JUeXBlKQordm9pZCBNYXRoT3BlcmF0b3I6OnNldE9wZXJh
dG9yKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZSwgVUNoYXIzMiBiYXNlQ2hhcmFjdGVyLCBUeXBl
IG9wZXJhdG9yVHlwZSkKIHsKICAgICBtX2Jhc2VDaGFyYWN0ZXIgPSBiYXNlQ2hhcmFjdGVyOwog
ICAgIG1fb3BlcmF0b3JUeXBlID0gb3BlcmF0b3JUeXBlOwpAQCAtMTIxLDcgKzEyMSw3IEBAIExh
eW91dFVuaXQgTWF0aE9wZXJhdG9yOjpzdHJldGNoU2l6ZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1f
b3BlcmF0b3JUeXBlID09IFR5cGU6OlZlcnRpY2FsT3BlcmF0b3IgPyBtX2FzY2VudCArIG1fZGVz
Y2VudCA6IG1fd2lkdGg7CiB9CiAKLWJvb2wgTWF0aE9wZXJhdG9yOjpnZXRHbHlwaChjb25zdCBS
ZW5kZXJTdHlsZSYgc3R5bGUsIFVDaGFyIGNoYXJhY3RlciwgR2x5cGhEYXRhJiBnbHlwaCkgY29u
c3QKK2Jvb2wgTWF0aE9wZXJhdG9yOjpnZXRHbHlwaChjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGUs
IFVDaGFyMzIgY2hhcmFjdGVyLCBHbHlwaERhdGEmIGdseXBoKSBjb25zdAogewogICAgIGdseXBo
ID0gc3R5bGUuZm9udENhc2NhZGUoKS5nbHlwaERhdGFGb3JDaGFyYWN0ZXIoY2hhcmFjdGVyLCAh
c3R5bGUuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKTsKICAgICByZXR1cm4gZ2x5cGguZm9udCAm
JiBnbHlwaC5mb250ID09ICZzdHlsZS5mb250Q2FzY2FkZSgpLnByaW1hcnlGb250KCk7CkBAIC0x
NzEsNyArMTcxLDcgQEAgdm9pZCBNYXRoT3BlcmF0b3I6OnNldEdseXBoQXNzZW1ibHkoY29uc3Qg
R2x5cGhBc3NlbWJseURhdGEmIGFzc2VtYmx5RGF0YSkKIC8vIFNlZSBodHRwczovL3d3dy53My5v
cmcvVFIvTWF0aE1ML2NoYXB0ZXI3Lmh0bWwjY2hhcnMuY29tYi1jaGFycwogLy8gSG93ZXZlciwg
bWFueSBtYXRoIGZvbnRzIGRvIG5vdCBwcm92aWRlIGNvbnN0cnVjdGlvbnMgZm9yIHRoZSBub24t
Y29tYmluaW5nIGVxdWl2YWxlbnQuCiBjb25zdCB1bnNpZ25lZCBtYXhGYWxsYmFja1BlckNoYXJh
Y3RlciA9IDM7Ci1zdGF0aWMgY29uc3QgVUNoYXIgY2hhcmFjdGVyRmFsbGJhY2tbXVttYXhGYWxs
YmFja1BlckNoYXJhY3Rlcl0gPSB7CitzdGF0aWMgY29uc3QgVUNoYXIzMiBjaGFyYWN0ZXJGYWxs
YmFja1tdW21heEZhbGxiYWNrUGVyQ2hhcmFjdGVyXSA9IHsKICAgICB7IDB4MDA1RSwgMHgwMzAy
LCAwIH0sIC8vIENJUkNVTUZMRVggQUNDRU5UCiAgICAgeyAweDAwNUYsIDB4MDMzMiwgMCB9LCAv
LyBMT1cgTElORQogICAgIHsgMHgwMDdFLCAweDAzMDMsIDAgfSwgLy8gVElMREUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvTWF0aE9wZXJhdG9yLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL01hdGhPcGVyYXRvci5oCmluZGV4IGRjMmY1MjZj
NzY4OWJiMzZkZjI1OTZlMzZmM2ViNjhlNWUyNjJmYTcuLmRmNWI5YWQxMDFiYWMzNGQwOGVlZDgz
M2Q1ZTM0ODZhMmE1ZWUzYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9t
YXRobWwvTWF0aE9wZXJhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGht
bC9NYXRoT3BlcmF0b3IuaApAQCAtNDEsNyArNDEsNyBAQCBjbGFzcyBNYXRoT3BlcmF0b3Igewog
cHVibGljOgogICAgIE1hdGhPcGVyYXRvcigpIHsgfQogICAgIGVudW0gY2xhc3MgVHlwZSB7IE5v
cm1hbE9wZXJhdG9yLCBEaXNwbGF5T3BlcmF0b3IsIFZlcnRpY2FsT3BlcmF0b3IsIEhvcml6b250
YWxPcGVyYXRvciB9OwotICAgIHZvaWQgc2V0T3BlcmF0b3IoY29uc3QgUmVuZGVyU3R5bGUmLCBV
Q2hhciBiYXNlQ2hhcmFjdGVyLCBUeXBlKTsKKyAgICB2b2lkIHNldE9wZXJhdG9yKGNvbnN0IFJl
bmRlclN0eWxlJiwgVUNoYXIzMiBiYXNlQ2hhcmFjdGVyLCBUeXBlKTsKICAgICB2b2lkIHJlc2V0
KGNvbnN0IFJlbmRlclN0eWxlJik7CiAKICAgICBMYXlvdXRVbml0IHdpZHRoKCkgY29uc3QgeyBy
ZXR1cm4gbV93aWR0aDsgfQpAQCAtNzMsNyArNzMsNyBAQCBwcml2YXRlOgogICAgIH07CiAKICAg
ICBMYXlvdXRVbml0IHN0cmV0Y2hTaXplKCkgY29uc3Q7Ci0gICAgYm9vbCBnZXRHbHlwaChjb25z
dCBSZW5kZXJTdHlsZSYsIFVDaGFyIGNoYXJhY3RlciwgR2x5cGhEYXRhJikgY29uc3Q7CisgICAg
Ym9vbCBnZXRHbHlwaChjb25zdCBSZW5kZXJTdHlsZSYsIFVDaGFyMzIgY2hhcmFjdGVyLCBHbHlw
aERhdGEmKSBjb25zdDsKICAgICBib29sIGdldEJhc2VHbHlwaChjb25zdCBSZW5kZXJTdHlsZSYg
c3R5bGUsIEdseXBoRGF0YSYgYmFzZUdseXBoKSBjb25zdCB7IHJldHVybiBnZXRHbHlwaChzdHls
ZSwgbV9iYXNlQ2hhcmFjdGVyLCBiYXNlR2x5cGgpOyB9CiAgICAgdm9pZCBzZXRTaXplVmFyaWFu
dChjb25zdCBHbHlwaERhdGEmKTsKICAgICB2b2lkIHNldEdseXBoQXNzZW1ibHkoY29uc3QgR2x5
cGhBc3NlbWJseURhdGEmKTsKQEAgLTg4LDcgKzg4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBh
aW50VmVydGljYWxHbHlwaEFzc2VtYmx5KGNvbnN0IFJlbmRlclN0eWxlJiwgUGFpbnRJbmZvJiwg
Y29uc3QgTGF5b3V0UG9pbnQmKTsKICAgICB2b2lkIHBhaW50SG9yaXpvbnRhbEdseXBoQXNzZW1i
bHkoY29uc3QgUmVuZGVyU3R5bGUmLCBQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpOwog
Ci0gICAgVUNoYXIgbV9iYXNlQ2hhcmFjdGVyIHsgMCB9OworICAgIFVDaGFyMzIgbV9iYXNlQ2hh
cmFjdGVyIHsgMCB9OwogICAgIFR5cGUgbV9vcGVyYXRvclR5cGUgeyBUeXBlOjpOb3JtYWxPcGVy
YXRvciB9OwogICAgIFN0cmV0Y2hUeXBlIG1fc3RyZXRjaFR5cGUgeyBTdHJldGNoVHlwZTo6VW5z
dHJldGNoZWQgfTsKICAgICB1bmlvbiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZE9wZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3IuY3BwCmluZGV4
IDM5ZjYwY2NlOTA3OWRkYWNmZGJlY2E3MGMyMDRhYjM2MDRiNDVkY2QuLmYyNDQxNzU4N2RiOWY0
MTVjMjg1NDZhYjM0YjA0MzI5Mjc2NjBlZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3IuY3Bw
CkBAIC01MCw4ICs1MCw4IEBAIHZvaWQgUmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3I6OnVwZGF0
ZU9wZXJhdG9yQ29udGVudChjb25zdCBTdHJpbmcmIG9wZXJhdG9yU3RyCiAgICAgLy8gV2UgdHJ5
IGFuZCByZWFkIHNwYWNpbmcgYW5kIGJvb2xlYW4gcHJvcGVydGllcyBmcm9tIHRoZSBvcGVyYXRv
ciBkaWN0aW9uYXJ5LgogICAgIC8vIEhvd2V2ZXIgd2UgcHJlc2VydmUgdGhlIEZlbmNlIGFuZCBT
ZXBhcmF0b3IgcHJvcGVydGllcyBzcGVjaWZpZWQgaW4gdGhlIGNvbnN0cnVjdG9yLgogICAgIGlm
IChhdXRvIGVudHJ5ID0gc2VhcmNoKG1fb3BlcmF0b3JDaGFyLmNoYXJhY3RlciwgbV9vcGVyYXRv
ckZvcm0sIHRydWUpKSB7Ci0gICAgICAgIG1fbGVhZGluZ1NwYWNlSW5NYXRoVW5pdCA9IGVudHJ5
LnZhbHVlKCkubHNwYWNlOwotICAgICAgICBtX3RyYWlsaW5nU3BhY2VJbk1hdGhVbml0ID0gZW50
cnkudmFsdWUoKS5yc3BhY2U7CisgICAgICAgIG1fbGVhZGluZ1NwYWNlSW5NYXRoVW5pdCA9IGVu
dHJ5LnZhbHVlKCkubGVhZGluZ1NwYWNlSW5NYXRoVW5pdDsKKyAgICAgICAgbV90cmFpbGluZ1Nw
YWNlSW5NYXRoVW5pdCA9IGVudHJ5LnZhbHVlKCkudHJhaWxpbmdTcGFjZUluTWF0aFVuaXQ7CiAg
ICAgICAgIG1fb3BlcmF0b3JGbGFncyA9IChtX29wZXJhdG9yRmxhZ3MgJiAoTWF0aE1MT3BlcmF0
b3JEaWN0aW9uYXJ5OjpGZW5jZSB8IE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6U2VwYXJhdG9y
KSkgfCBlbnRyeS52YWx1ZSgpLmZsYWdzOwogICAgIH0gZWxzZSB7CiAgICAgICAgIG1fb3BlcmF0
b3JGbGFncyAmPSBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OkZlbmNlIHwgTWF0aE1MT3BlcmF0
b3JEaWN0aW9uYXJ5OjpTZXBhcmF0b3I7IC8vIEZsYWdzIGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRo
TUxGZW5jZWRPcGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5k
ZXJNYXRoTUxGZW5jZWRPcGVyYXRvci5oCmluZGV4IDgwMzA5ODJkMDQ3MWM2ZGJkYjU1NzA0YzZi
OTdkNjBhZDY5YTM1MDUuLmRjNDY2NDEzYmRiYzg0MzI0ODRmZmJmNGEzYzQ5NGMzMTZmY2NlNWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1M
RmVuY2VkT3BlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1Jl
bmRlck1hdGhNTEZlbmNlZE9wZXJhdG9yLmgKQEAgLTQxLDcgKzQxLDcgQEAgcHVibGljOgogcHJp
dmF0ZToKICAgICBib29sIGlzUmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3IoKSBjb25zdCBmaW5h
bCB7IHJldHVybiB0cnVlOyB9CiAgICAgYm9vbCBpc1ZlcnRpY2FsKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9vcGVyYXRvckNoYXIuaXNWZXJ0aWNhbDsgfQotICAgIFVDaGFyIHRleHRDb250ZW50
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9vcGVyYXRvckNoYXIuY2hhcmFjdGVyOyB9CisgICAg
VUNoYXIzMiB0ZXh0Q29udGVudCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fb3BlcmF0b3JDaGFy
LmNoYXJhY3RlcjsgfQogICAgIExheW91dFVuaXQgbGVhZGluZ1NwYWNlKCkgY29uc3QgZmluYWw7
CiAgICAgTGF5b3V0VW5pdCB0cmFpbGluZ1NwYWNlKCkgY29uc3QgZmluYWw7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRv
ci5jcHAKaW5kZXggYTg5OWU1MDYyNmUwNDU2MmI3Y2ZhNzE3YTU3ZjZkOGQ4YTJhYjA2Yi4uYzY3
MGNjNGQ2NzJhMjM5YTUzOTIzNTU2YTViYTQ1OGIwYjM3MWRmYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5jcHAK
QEAgLTYyLDcgKzYyLDcgQEAgTWF0aE1MT3BlcmF0b3JFbGVtZW50JiBSZW5kZXJNYXRoTUxPcGVy
YXRvcjo6ZWxlbWVudCgpIGNvbnN0CiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PE1hdGhNTE9wZXJh
dG9yRWxlbWVudCY+KG5vZGVGb3JOb25Bbm9ueW1vdXMoKSk7CiB9CiAKLVVDaGFyIFJlbmRlck1h
dGhNTE9wZXJhdG9yOjp0ZXh0Q29udGVudCgpIGNvbnN0CitVQ2hhcjMyIFJlbmRlck1hdGhNTE9w
ZXJhdG9yOjp0ZXh0Q29udGVudCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGVsZW1lbnQoKS5vcGVy
YXRvckNoYXIoKS5jaGFyYWN0ZXI7CiB9CkBAIC03MCw3ICs3MCw3IEBAIFVDaGFyIFJlbmRlck1h
dGhNTE9wZXJhdG9yOjp0ZXh0Q29udGVudCgpIGNvbnN0CiBib29sIFJlbmRlck1hdGhNTE9wZXJh
dG9yOjppc0ludmlzaWJsZU9wZXJhdG9yKCkgY29uc3QKIHsKICAgICAvLyBUaGUgZm9sbG93aW5n
IG9wZXJhdG9ycyBhcmUgaW52aXNpYmxlOiBVKzIwNjEgRlVOQ1RJT04gQVBQTElDQVRJT04sIFUr
MjA2MiBJTlZJU0lCTEUgVElNRVMsIFUrMjA2MyBJTlZJU0lCTEUgU0VQQVJBVE9SLCBVKzIwNjQg
SU5WSVNJQkxFIFBMVVMuCi0gICAgVUNoYXIgY2hhcmFjdGVyID0gdGV4dENvbnRlbnQoKTsKKyAg
ICBVQ2hhcjMyIGNoYXJhY3RlciA9IHRleHRDb250ZW50KCk7CiAgICAgcmV0dXJuIDB4MjA2MSA8
PSBjaGFyYWN0ZXIgJiYgY2hhcmFjdGVyIDw9IDB4MjA2NDsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5oCmluZGV4
IGNjZjhlNTg0MGY2MTQ4ZmE3ODhmNDkxZGVhZWZjOGIzZjUzMmZiYmEuLjQ2ODhhYzZjYTllMTcx
ODk0YjFiOGM4NDIyMGFmY2JhN2IxMDEyNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmgKQEAgLTU1LDcgKzU1LDcg
QEAgcHVibGljOgogCiAgICAgdm9pZCB1cGRhdGVUb2tlbkNvbnRlbnQoKSBmaW5hbDsKICAgICB2
b2lkIHVwZGF0ZUZyb21FbGVtZW50KCkgZmluYWw7Ci0gICAgdmlydHVhbCBVQ2hhciB0ZXh0Q29u
dGVudCgpIGNvbnN0OworICAgIHZpcnR1YWwgVUNoYXIzMiB0ZXh0Q29udGVudCgpIGNvbnN0Owog
CiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZU1hdGhPcGVyYXRvcigpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDAyMTY4NjVjNmJmNTJjOTM0NWIyNzU1ZDZmMjlhOTBhOWIwMTA5Y2IuLjk2ZGJmMTNkZDFh
N2M3NWFmM2QyNjljNWM5Njk5NjNiYjllNzE1ZjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAx
Ni0wOC0yNSAgRnJlZGVyaWMgV2FuZyAgPGZ3YW5nQGlnYWxpYS5jb20+CisKKyAgICAgICAgQWRk
IHN1cHBvcnQgZm9yIG5vbi1CTVAgb3BlcmF0b3JzIFUrMUVFRjAgYW5kIFUrMUVFRjEKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1Mzk4NAorCisgICAg
ICAgIFdlIGFkZCB0d28gcmVmdGVzdHMgdG8gY2hlY2sgdGhhdCB0aGUgbm9uLUJNUCBvcGVyYXRv
cnMgYXJlIHByb3Blcmx5CisgICAgICAgIGhhbmRsZWQgYnkgdGhlIE1hdGhNTCBkaWN0aW9uYXJ5
IChmb3JtLCBwcm9wZXJ0aWVzLCBkaXJlY3Rpb24pIGFzIHdlbGwKKyAgICAgICAgYXMgdGhlIHJl
bmRlcmluZyBjb2RlIChzcGFjaW5nLCBzdHJldGNoaW5nKS4gV2UgdGVzdCB0aGUgbmV3IGhvcml6
b250YWwKKyAgICAgICAgc3RyZWNoeSBvcGVyYXRvcnMgVSsxRUVGMCBhbmQgVSsxRUVGMSBhcyB3
ZWxsIGFzIHRoZSBsZXR0ZXIgVSsxRDQwMAorICAgICAgICB3aGljaCBpcyBub3QgYSByZWFsIG1h
dGhlbWF0aWNhbCBvcGVyYXRvci4gV2UgYWRkIGEgbWluaW1hbCB0ZXN0CisgICAgICAgIGZvbnQg
d2hpY2ggY29udGFpbnMgYSBibGFjayBzcXVhcmUgZm9yIFUrMDA1RiwgVSsxRUVGMCwgVSsxRUVG
MSwgVSsxRDQwMAorICAgICAgICBhbmQgdGhlIGRhdGEgdGhhdCBjYW4gYmUgdXNlZCB0byBzdHJl
dGNoIHRoZW0gaG9yaXpvbnRhbGx5LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogbWF0aG1sL3ByZXNlbnRhdGlvbi9ub24tYm1wLW9wZXJhdG9ycy1z
cGFjaW5nLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIG1hdGhtbC9wcmVzZW50YXRp
b24vbm9uLWJtcC1vcGVyYXRvcnMtc3BhY2luZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBtYXRo
bWwvcHJlc2VudGF0aW9uL25vbi1ibXAtb3BlcmF0b3JzLXN0cmV0Y2hpbmctZXhwZWN0ZWQuaHRt
bDogQWRkZWQuCisgICAgICAgICogbWF0aG1sL3ByZXNlbnRhdGlvbi9ub24tYm1wLW9wZXJhdG9y
cy1zdHJldGNoaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIG1hdGhtbC9wcmVzZW50YXRpb24v
bm9uLWJtcC1vcGVyYXRvcnMud29mZjogQWRkZWQuCisKIDIwMTYtMDgtMjUgIFBlciBBcm5lIFZv
bGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgdGVzdCBnYXJk
ZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL25vbi1i
bXAtb3BlcmF0b3JzLXNwYWNpbmctZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL21hdGhtbC9w
cmVzZW50YXRpb24vbm9uLWJtcC1vcGVyYXRvcnMtc3BhY2luZy1leHBlY3RlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmFlYTYwYWQxZWNjYzc0NTZlNmI1YzVjMjU2MWU0NzlhMWY5NDQwN2IKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL25vbi1ibXAtb3BlcmF0
b3JzLXNwYWNpbmctZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDU4IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8dGl0bGU+U3BhY2luZyBvZiBub24tQk1QIG9wZXJh
dG9yczwvdGl0bGU+CisgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KKyAgICA8c3R5bGUgdHlw
ZT0idGV4dC9jc3MiPgorICAgICAgQGZvbnQtZmFjZSB7CisgICAgICAgIGZvbnQtZmFtaWx5OiBu
b24tYm1wLW9wZXJhdG9yczsKKyAgICAgICAgc3JjOiB1cmwoIm5vbi1ibXAtb3BlcmF0b3JzLndv
ZmYiKTsKKyAgICAgIH0KKyAgICAgIG1hdGggeworICAgICAgICBmb250LWZhbWlseTogbm9uLWJt
cC1vcGVyYXRvcnM7CisgICAgICB9CisgICAgPC9zdHlsZT4KKyAgPC9oZWFkPgorICA8Ym9keT4K
KworICAgIDxwPgorICAgICAgVGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBzcGFjaW5nIG9mIHNvbWUg
bm9uLUJNUCBvcGVyYXRvcnMuIEl0IGlzIGFzc3VtZWQKKyAgICAgIHRoYXQgVSsxRUVGMCBhbmQg
VSsxRUVGMSBvbmx5IGhhdmUgYSBwcmVmaXggZm9ybSB3aXRoIHplcm8gbHNwYWNlL3JzcGFjZQor
ICAgICAgYW5kIHRoYXQgVSsxRDQwMCBpcyBub3QgaW4gdGhlIG9wZXJhdG9yIGRpY3Rpb25hcnku
IEhlbmNlIHRoZSBvcGVyYXRvcgorICAgICAgc3BhY2luZyB1c2UgemVybyBmb3IgcHJlZml4IFUr
MUVFRjAvVSsxRUVGMSBhbmQgd2lsbCB1c2UgdGhlIGRlZmF1bHQKKyAgICAgIHRoaWNrbWF0aHNw
YWNlIHZhbHVlIG90aGVyd2lzZS4gTm90ZSB0aGF0IGZvciBpbXBsaWNpdCBmb3JtLCBXZWJLaXQg
aGFzIGEKKyAgICAgIHdvcmthcm91bmQgZm9yIGJhZCBtYXJrdXAgYW5kIHdpbGwgZmFsbGJhY2sg
dG8gdGhlIGZvcm0gb2YgYSBkaWN0aW9uYXJ5CisgICAgICBlbnRyeSBpZiBvbmUgaXMgZm91bmQu
CisgICAgPC9wPgorCisgICAgPHA+UHJlZml4OjwvcD4KKyAgICBVKzFFRUYwOjxtYXRoPjxtbyBs
c3BhY2U9IjBlbSIgcnNwYWNlPSIwZW0iIGZvcm09InByZWZpeCI+JiN4MUVFRjA7PC9tbz48L21h
dGg+XworICAgIFUrMUVFRjE6PG1hdGg+PG1vIGxzcGFjZT0iMGVtIiByc3BhY2U9IjBlbSIgZm9y
bT0icHJlZml4Ij4mI3gxRUVGMTs8L21vPjwvbWF0aD5fCisgICAgVSsxRDQwMDo8bWF0aD48bW8g
bHNwYWNlPSJ0aGlja21hdGhzcGFjZSIgcnNwYWNlPSJ0aGlja21hdGhzcGFjZSIgZm9ybT0icHJl
Zml4Ij4mI3gxRDQwMDs8L21vPjwvbWF0aD5fCisKKyAgICA8cD5Qb3N0Zml4OjwvcD4KKyAgICBV
KzFFRUYwOjxtYXRoPjxtbyBsc3BhY2U9InRoaWNrbWF0aHNwYWNlIiByc3BhY2U9InRoaWNrbWF0
aHNwYWNlIiBmb3JtPSJwb3N0Zml4Ij4mI3gxRUVGMDs8L21vPjwvbWF0aD5fCisgICAgVSsxRUVG
MTo8bWF0aD48bW8gbHNwYWNlPSJ0aGlja21hdGhzcGFjZSIgcnNwYWNlPSJ0aGlja21hdGhzcGFj
ZSIgZm9ybT0icG9zdGZpeCI+JiN4MUVFRjE7PC9tbz48L21hdGg+XworICAgIFUrMUQ0MDA6PG1h
dGg+PG1vIGxzcGFjZT0idGhpY2ttYXRoc3BhY2UiIHJzcGFjZT0idGhpY2ttYXRoc3BhY2UiIGZv
cm09InBvc3RmaXgiPiYjeDFENDAwOzwvbW8+PC9tYXRoPl8KKworICAgIDxwPkluZml4OjwvcD4K
KyAgICBVKzFFRUYwOjxtYXRoPjxtbyBsc3BhY2U9InRoaWNrbWF0aHNwYWNlIiByc3BhY2U9InRo
aWNrbWF0aHNwYWNlIiAgZm9ybT0iaW5maXgiPiYjeDFFRUYwOzwvbW8+PC9tYXRoPl8KKyAgICBV
KzFFRUYxOjxtYXRoPjxtbyBsc3BhY2U9InRoaWNrbWF0aHNwYWNlIiByc3BhY2U9InRoaWNrbWF0
aHNwYWNlIiAgZm9ybT0iaW5maXgiPiYjeDFFRUYxOzwvbW8+PC9tYXRoPl8KKyAgICBVKzFENDAw
OjxtYXRoPjxtbyBsc3BhY2U9InRoaWNrbWF0aHNwYWNlIiByc3BhY2U9InRoaWNrbWF0aHNwYWNl
IiAgZm9ybT0iaW5maXgiPiYjeDFENDAwOzwvbW8+PC9tYXRoPl8KKworICAgIDxwPlByZWZpeCAo
aW1wbGljaXQpOjwvcD4KKyAgICBVKzFFRUYwOjxtYXRoPjxtbyBsc3BhY2U9IjBlbSIgcnNwYWNl
PSIwZW0iPiYjeDFFRUYwOzwvbW8+PG1uPjwvbW4+PC9tYXRoPl8KKyAgICBVKzFFRUYxOjxtYXRo
PjxtbyBsc3BhY2U9IjBlbSIgcnNwYWNlPSIwZW0iPiYjeDFFRUYxOzwvbW8+PG1uPjwvbW4+PC9t
YXRoPl8KKyAgICBVKzFENDAwOjxtYXRoPjxtbyBsc3BhY2U9InRoaWNrbWF0aHNwYWNlIiByc3Bh
Y2U9InRoaWNrbWF0aHNwYWNlIj4mI3gxRDQwMDs8L21vPjxtbj48L21uPjwvbWF0aD5fCisKKyAg
ICA8cD5JbmZpeCAoaW1wbGljaXQpOjwvcD4KKyAgICBVKzFFRUYwOjxtYXRoPjxtbj48L21uPjxt
byBsc3BhY2U9IjBlbSIgcnNwYWNlPSIwZW0iPiYjeDFFRUYwOzwvbW8+PG1uPjwvbW4+PC9tYXRo
Pl8KKyAgICBVKzFFRUYxOjxtYXRoPjxtbj48L21uPjxtbyBsc3BhY2U9IjBlbSIgcnNwYWNlPSIw
ZW0iPiYjeDFFRUYxOzwvbW8+PG1uPjwvbW4+PC9tYXRoPl8KKyAgICBVKzFENDAwOjxtYXRoPjxt
bj48L21uPjxtbyBsc3BhY2U9InRoaWNrbWF0aHNwYWNlIiByc3BhY2U9InRoaWNrbWF0aHNwYWNl
Ij4mI3gxRDQwMDs8L21vPjxtbj48L21uPjwvbWF0aD5fCisKKyAgICA8cD5Qb3N0Zml4IChpbXBs
aWNpdCk6PC9wPgorICAgIFUrMUVFRjA6PG1hdGg+PG1uPjwvbW4+PG1vIGxzcGFjZT0iMGVtIiBy
c3BhY2U9IjBlbSI+JiN4MUVFRjA7PC9tbz48L21hdGg+XworICAgIFUrMUVFRjE6PG1hdGg+PG1u
PjwvbW4+PG1vIGxzcGFjZT0iMGVtIiByc3BhY2U9IjBlbSI+JiN4MUVFRjE7PC9tbz48L21hdGg+
XworICAgIFUrMUQ0MDA6PG1hdGg+PG1uPjwvbW4+PG1vIGxzcGFjZT0idGhpY2ttYXRoc3BhY2Ui
IHJzcGFjZT0idGhpY2ttYXRoc3BhY2UiPiYjeDFENDAwOzwvbW8+PC9tYXRoPl8KKyAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9u
b24tYm1wLW9wZXJhdG9ycy1zcGFjaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2Vu
dGF0aW9uL25vbi1ibXAtb3BlcmF0b3JzLXNwYWNpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOTIxZjNh
Yjk3ZTU2NjA3NWNjMjc4MWU0ZjY3YTlmYTIzNTk4NzdkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9ub24tYm1wLW9wZXJhdG9ycy1zcGFjaW5nLmh0
bWwKQEAgLTAsMCArMSw1OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+Cisg
ICAgPHRpdGxlPlNwYWNpbmcgb2Ygbm9uLUJNUCBvcGVyYXRvcnM8L3RpdGxlPgorICAgIDxtZXRh
IGNoYXJzZXQ9InV0Zi04Ii8+CisgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIEBm
b250LWZhY2UgeworICAgICAgICBmb250LWZhbWlseTogbm9uLWJtcC1vcGVyYXRvcnM7CisgICAg
ICAgIHNyYzogdXJsKCJub24tYm1wLW9wZXJhdG9ycy53b2ZmIik7CisgICAgICB9CisgICAgICBt
YXRoIHsKKyAgICAgICAgZm9udC1mYW1pbHk6IG5vbi1ibXAtb3BlcmF0b3JzOworICAgICAgfQor
ICAgIDwvc3R5bGU+CisgIDwvaGVhZD4KKyAgPGJvZHk+CisKKyAgICA8cD4KKyAgICAgIFRoaXMg
dGVzdCB2ZXJpZmllcyB0aGUgc3BhY2luZyBvZiBzb21lIG5vbi1CTVAgb3BlcmF0b3JzLiBJdCBp
cyBhc3N1bWVkCisgICAgICB0aGF0IFUrMUVFRjAgYW5kIFUrMUVFRjEgb25seSBoYXZlIGEgcHJl
Zml4IGZvcm0gd2l0aCB6ZXJvIGxzcGFjZS9yc3BhY2UKKyAgICAgIGFuZCB0aGF0IFUrMUQ0MDAg
aXMgbm90IGluIHRoZSBvcGVyYXRvciBkaWN0aW9uYXJ5LiBIZW5jZSB0aGUgb3BlcmF0b3IKKyAg
ICAgIHNwYWNpbmcgdXNlIHplcm8gZm9yIHByZWZpeCBVKzFFRUYwL1UrMUVFRjEgYW5kIHdpbGwg
dXNlIHRoZSBkZWZhdWx0CisgICAgICB0aGlja21hdGhzcGFjZSB2YWx1ZSBvdGhlcndpc2UuIE5v
dGUgdGhhdCBmb3IgaW1wbGljaXQgZm9ybSwgV2ViS2l0IGhhcyBhCisgICAgICB3b3JrYXJvdW5k
IGZvciBiYWQgbWFya3VwIGFuZCB3aWxsIGZhbGxiYWNrIHRvIHRoZSBmb3JtIG9mIGEgZGljdGlv
bmFyeQorICAgICAgZW50cnkgaWYgb25lIGlzIGZvdW5kLgorICAgIDwvcD4KKworICAgIDxwPlBy
ZWZpeDo8L3A+CisgICAgVSsxRUVGMDo8bWF0aD48bW8gZm9ybT0icHJlZml4Ij4mI3gxRUVGMDs8
L21vPjwvbWF0aD5fCisgICAgVSsxRUVGMTo8bWF0aD48bW8gZm9ybT0icHJlZml4Ij4mI3gxRUVG
MTs8L21vPjwvbWF0aD5fCisgICAgVSsxRDQwMDo8bWF0aD48bW8gZm9ybT0icHJlZml4Ij4mI3gx
RDQwMDs8L21vPjwvbWF0aD5fCisKKyAgICA8cD5Qb3N0Zml4OjwvcD4KKyAgICBVKzFFRUYwOjxt
YXRoPjxtbyBmb3JtPSJwb3N0Zml4Ij4mI3gxRUVGMDs8L21vPjwvbWF0aD5fCisgICAgVSsxRUVG
MTo8bWF0aD48bW8gZm9ybT0icG9zdGZpeCI+JiN4MUVFRjE7PC9tbz48L21hdGg+XworICAgIFUr
MUQ0MDA6PG1hdGg+PG1vIGZvcm09InBvc3RmaXgiPiYjeDFENDAwOzwvbW8+PC9tYXRoPl8KKwor
ICAgIDxwPkluZml4OjwvcD4KKyAgICBVKzFFRUYwOjxtYXRoPjxtbyBmb3JtPSJpbmZpeCI+JiN4
MUVFRjA7PC9tbz48L21hdGg+XworICAgIFUrMUVFRjE6PG1hdGg+PG1vIGZvcm09ImluZml4Ij4m
I3gxRUVGMTs8L21vPjwvbWF0aD5fCisgICAgVSsxRDQwMDo8bWF0aD48bW8gZm9ybT0iaW5maXgi
PiYjeDFENDAwOzwvbW8+PC9tYXRoPl8KKworICAgIDxwPlByZWZpeCAoaW1wbGljaXQpOjwvcD4K
KyAgICBVKzFFRUYwOjxtYXRoPjxtbz4mI3gxRUVGMDs8L21vPjxtbj48L21uPjwvbWF0aD5fCisg
ICAgVSsxRUVGMTo8bWF0aD48bW8+JiN4MUVFRjE7PC9tbz48bW4+PC9tbj48L21hdGg+XworICAg
IFUrMUQ0MDA6PG1hdGg+PG1vPiYjeDFENDAwOzwvbW8+PG1uPjwvbW4+PC9tYXRoPl8KKworICAg
IDxwPkluZml4IChpbXBsaWNpdCk6PC9wPgorICAgIFUrMUVFRjA6PG1hdGg+PG1uPjwvbW4+PG1v
PiYjeDFFRUYwOzwvbW8+PG1uPjwvbW4+PC9tYXRoPl8KKyAgICBVKzFFRUYxOjxtYXRoPjxtbj48
L21uPjxtbz4mI3gxRUVGMTs8L21vPjxtbj48L21uPjwvbWF0aD5fCisgICAgVSsxRDQwMDo8bWF0
aD48bW4+PC9tbj48bW8+JiN4MUQ0MDA7PC9tbz48bW4+PC9tbj48L21hdGg+XworCisgICAgPHA+
UG9zdGZpeCAoaW1wbGljaXQpOjwvcD4KKyAgICBVKzFFRUYwOjxtYXRoPjxtbj48L21uPjxtbz4m
I3gxRUVGMDs8L21vPjwvbWF0aD5fCisgICAgVSsxRUVGMTo8bWF0aD48bW4+PC9tbj48bW8+JiN4
MUVFRjE7PC9tbz48L21hdGg+XworICAgIFUrMUQ0MDA6PG1hdGg+PG1uPjwvbW4+PG1vPiYjeDFE
NDAwOzwvbW8+PC9tYXRoPl8KKworICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL25vbi1ibXAtb3BlcmF0b3JzLXN0cmV0Y2hpbmct
ZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vbm9uLWJtcC1v
cGVyYXRvcnMtc3RyZXRjaGluZy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU0MGQwNDg1Mzgy
YWU0ZjNlYjUxM2Y0MTA3NjVhNGFlNmI0YTRhZmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL25vbi1ibXAtb3BlcmF0b3JzLXN0cmV0Y2hpbmctZXhw
ZWN0ZWQuaHRtbApAQCAtMCwwICsxLDQzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8
aGVhZD4KKyAgICA8dGl0bGU+U3RyZXRjaGluZyBvZiBub24tQk1QIG9wZXJhdG9yczwvdGl0bGU+
CisgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3Mi
PgorICAgICAgQGZvbnQtZmFjZSB7CisgICAgICAgIGZvbnQtZmFtaWx5OiBub24tYm1wLW9wZXJh
dG9yczsKKyAgICAgICAgc3JjOiB1cmwoIm5vbi1ibXAtb3BlcmF0b3JzLndvZmYiKTsKKyAgICAg
IH0KKyAgICAgIG1hdGggeworICAgICAgICBmb250LWZhbWlseTogbm9uLWJtcC1vcGVyYXRvcnM7
CisgICAgICB9CisgICAgPC9zdHlsZT4KKyAgPC9oZWFkPgorICA8Ym9keT4KKworICAgIDxwPgor
ICAgICAgVGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBzdHJldGNoaW5nIG9mIHNvbWUgbm9uLUJNUCBv
cGVyYXRvcnMuIFRoZSBmb250CisgICAgICB1c2VkIGJ5IHRoaXMgdGVzdCBwcm92aWRlcyBob3Jp
em9udGFsIHN0cmV0Y2hpbmcgZGF0YSBmb3IgVSsxRUVGMCwKKyAgICAgIFUrMUVFRjEgYW5kIFUr
MUQ0MDAuIEl0IGlzIGFzc3VtZWQgdGhhdCBVKzFFRUYwIGFuZCBVKzFFRUYxIGFyZQorICAgICAg
aG9yaXpvbnRhbCBhbmQgb25seSBoYXZlIGEgcHJlZml4IGZvcm0gd2l0aCBwcm9wZXJ0eSBzdHJl
dGNoeS4gSXQgaXMgYWxzbworICAgICAgYXNzdW1lZCB0aGF0IFUrMUQ0MDAgaXMgbm90IGluIHRo
ZSBvcGVyYXRvciBkaWN0aW9uYXJ5LiBIZW5jZSBvbmx5IHRoZQorICAgICAgcHJlZml4IG9wZXJh
dG9ycyBVKzFFRUYwIGFuZCBVKzFFRUYxIHdpbGwgc3RyZXRjaCBob3Jpem9udGFsbHkuCisgICAg
PC9wPgorCisgICAgPHA+UHJlZml4IGZvcm06PC9wPgorICAgIFUrMUVFRjA6PG1hdGg+PG11bmRl
cj48bW8gZm9ybT0icHJlZml4IiBzdHJldGNoeT0idHJ1ZSIgbHNwYWNlPSIwZW0iIHJzcGFjZT0i
MGVtIj5fPC9tbz48bXNwYWNlIHdpZHRoPSIxMDBweCIvPjwvbXVuZGVyPjwvbWF0aD4KKyAgICBV
KzFFRUYxOjxtYXRoPjxtdW5kZXI+PG1vIGZvcm09InByZWZpeCIgc3RyZXRjaHk9InRydWUiIGxz
cGFjZT0iMGVtIiByc3BhY2U9IjBlbSI+XzwvbW8+PG1zcGFjZSB3aWR0aD0iMTAwcHgiLz48L211
bmRlcj48L21hdGg+CisgICAgVSsxRDQwMDo8bWF0aD48bXVuZGVyPjxtbyBmb3JtPSJwcmVmaXgi
IHN0cmV0Y2h5PSJmYWxzZSIgbHNwYWNlPSJ0aGlja21hdGhzcGFjZSIgcnNwYWNlPSJ0aGlja21h
dGhzcGFjZSI+XzwvbW8+PG1zcGFjZSB3aWR0aD0iMTAwcHgiLz48L211bmRlcj48L21hdGg+CisK
KyAgICA8cD5JbmZpeCBmb3JtOjwvcD4KKyAgICBVKzFFRUYwOjxtYXRoPjxtdW5kZXI+PG1vIGZv
cm09ImluZml4IiBzdHJldGNoeT0iZmFsc2UiIGxzcGFjZT0idGhpY2ttYXRoc3BhY2UiIHJzcGFj
ZT0idGhpY2ttYXRoc3BhY2UiPl88L21vPjxtc3BhY2Ugd2lkdGg9IjEwMHB4Ii8+PC9tdW5kZXI+
PC9tYXRoPgorICAgIFUrMUVFRjE6PG1hdGg+PG11bmRlcj48bW8gZm9ybT0iaW5maXgiIHN0cmV0
Y2h5PSJmYWxzZSIgbHNwYWNlPSJ0aGlja21hdGhzcGFjZSIgcnNwYWNlPSJ0aGlja21hdGhzcGFj
ZSI+XzwvbW8+PG1zcGFjZSB3aWR0aD0iMTAwcHgiLz48L211bmRlcj48L21hdGg+CisgICAgVSsx
RDQwMDo8bWF0aD48bXVuZGVyPjxtbyBmb3JtPSJpbmZpeCIgc3RyZXRjaHk9ImZhbHNlIiBsc3Bh
Y2U9InRoaWNrbWF0aHNwYWNlIiByc3BhY2U9InRoaWNrbWF0aHNwYWNlIj5fPC9tbz48bXNwYWNl
IHdpZHRoPSIxMDBweCIvPjwvbXVuZGVyPjwvbWF0aD4KKworICAgIDxwPlBvc3RmaXggZm9ybTo8
L3A+CisgICAgVSsxRUVGMDo8bWF0aD48bXVuZGVyPjxtbyBmb3JtPSJwb3N0Zml4IiBzdHJldGNo
eT0iZmFsc2UiIGxzcGFjZT0idGhpY2ttYXRoc3BhY2UiIHJzcGFjZT0idGhpY2ttYXRoc3BhY2Ui
Pl88L21vPjxtc3BhY2Ugd2lkdGg9IjEwMHB4Ii8+PC9tdW5kZXI+PC9tYXRoPgorICAgIFUrMUVF
RjE6PG1hdGg+PG11bmRlcj48bW8gZm9ybT0icG9zdGZpeCIgc3RyZXRjaHk9ImZhbHNlIiBsc3Bh
Y2U9InRoaWNrbWF0aHNwYWNlIiByc3BhY2U9InRoaWNrbWF0aHNwYWNlIj5fPC9tbz48bXNwYWNl
IHdpZHRoPSIxMDBweCIvPjwvbXVuZGVyPjwvbWF0aD4KKyAgICBVKzFENDAwOjxtYXRoPjxtdW5k
ZXI+PG1vIGZvcm09InBvc3RmaXgiIHN0cmV0Y2h5PSJmYWxzZSIgbHNwYWNlPSJ0aGlja21hdGhz
cGFjZSIgcnNwYWNlPSJ0aGlja21hdGhzcGFjZSI+XzwvbW8+PG1zcGFjZSB3aWR0aD0iMTAwcHgi
Lz48L211bmRlcj48L21hdGg+CisKKyAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9ub24tYm1wLW9wZXJhdG9ycy1zdHJldGNoaW5n
Lmh0bWwgYi9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL25vbi1ibXAtb3BlcmF0b3Jz
LXN0cmV0Y2hpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43YjQ5NWQ0ZTIwNDljMjE1NjI4NmQ2OWI2ODhm
MTg5Yzk5YjQ2MmRjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNl
bnRhdGlvbi9ub24tYm1wLW9wZXJhdG9ycy1zdHJldGNoaW5nLmh0bWwKQEAgLTAsMCArMSw0MyBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgPGhlYWQ+CisgICAgPHRpdGxlPlN0cmV0Y2hp
bmcgb2Ygbm9uLUJNUCBvcGVyYXRvcnM8L3RpdGxlPgorICAgIDxtZXRhIGNoYXJzZXQ9InV0Zi04
Ii8+CisgICAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAgIEBmb250LWZhY2UgeworICAg
ICAgICBmb250LWZhbWlseTogbm9uLWJtcC1vcGVyYXRvcnM7CisgICAgICAgIHNyYzogdXJsKCJu
b24tYm1wLW9wZXJhdG9ycy53b2ZmIik7CisgICAgICB9CisgICAgICBtYXRoIHsKKyAgICAgICAg
Zm9udC1mYW1pbHk6IG5vbi1ibXAtb3BlcmF0b3JzOworICAgICAgfQorICAgIDwvc3R5bGU+Cisg
IDwvaGVhZD4KKyAgPGJvZHk+CisKKyAgICA8cD4KKyAgICAgIFRoaXMgdGVzdCB2ZXJpZmllcyB0
aGUgc3RyZXRjaGluZyBvZiBzb21lIG5vbi1CTVAgb3BlcmF0b3JzLiBUaGUgZm9udAorICAgICAg
dXNlZCBieSB0aGlzIHRlc3QgcHJvdmlkZXMgaG9yaXpvbnRhbCBzdHJldGNoaW5nIGRhdGEgZm9y
IFUrMUVFRjAsCisgICAgICBVKzFFRUYxIGFuZCBVKzFENDAwLiBJdCBpcyBhc3N1bWVkIHRoYXQg
VSsxRUVGMCBhbmQgVSsxRUVGMSBhcmUKKyAgICAgIGhvcml6b250YWwgYW5kIG9ubHkgaGF2ZSBh
IHByZWZpeCBmb3JtIHdpdGggcHJvcGVydHkgc3RyZXRjaHkuIEl0IGlzIGFsc28KKyAgICAgIGFz
c3VtZWQgdGhhdCBVKzFENDAwIGlzIG5vdCBpbiB0aGUgb3BlcmF0b3IgZGljdGlvbmFyeS4gSGVu
Y2Ugb25seSB0aGUKKyAgICAgIHByZWZpeCBvcGVyYXRvcnMgVSsxRUVGMCBhbmQgVSsxRUVGMSB3
aWxsIHN0cmV0Y2ggaG9yaXpvbnRhbGx5LgorICAgIDwvcD4KKworICAgIDxwPlByZWZpeCBmb3Jt
OjwvcD4KKyAgICBVKzFFRUYwOjxtYXRoPjxtdW5kZXI+PG1vIGZvcm09InByZWZpeCI+JiN4MUVF
RjA7PC9tbz48bXNwYWNlIHdpZHRoPSIxMDBweCIvPjwvbXVuZGVyPjwvbWF0aD4KKyAgICBVKzFF
RUYxOjxtYXRoPjxtdW5kZXI+PG1vIGZvcm09InByZWZpeCI+JiN4MUVFRjE7PC9tbz48bXNwYWNl
IHdpZHRoPSIxMDBweCIvPjwvbXVuZGVyPjwvbWF0aD4KKyAgICBVKzFENDAwOjxtYXRoPjxtdW5k
ZXI+PG1vIGZvcm09InByZWZpeCI+JiN4MUQ0MDA7PC9tbz48bXNwYWNlIHdpZHRoPSIxMDBweCIv
PjwvbXVuZGVyPjwvbWF0aD4KKworICAgIDxwPkluZml4IGZvcm06PC9wPgorICAgIFUrMUVFRjA6
PG1hdGg+PG11bmRlcj48bW8gZm9ybT0iaW5maXgiPiYjeDFFRUYwOzwvbW8+PG1zcGFjZSB3aWR0
aD0iMTAwcHgiLz48L211bmRlcj48L21hdGg+CisgICAgVSsxRUVGMTo8bWF0aD48bXVuZGVyPjxt
byBmb3JtPSJpbmZpeCI+JiN4MUVFRjE7PC9tbz48bXNwYWNlIHdpZHRoPSIxMDBweCIvPjwvbXVu
ZGVyPjwvbWF0aD4KKyAgICBVKzFENDAwOjxtYXRoPjxtdW5kZXI+PG1vIGZvcm09ImluZml4Ij4m
I3gxRDQwMDs8L21vPjxtc3BhY2Ugd2lkdGg9IjEwMHB4Ii8+PC9tdW5kZXI+PC9tYXRoPgorCisg
ICAgPHA+UG9zdGZpeCBmb3JtOjwvcD4KKyAgICBVKzFFRUYwOjxtYXRoPjxtdW5kZXI+PG1vIGZv
cm09InBvc3RmaXgiPiYjeDFFRUYwOzwvbW8+PG1zcGFjZSB3aWR0aD0iMTAwcHgiLz48L211bmRl
cj48L21hdGg+CisgICAgVSsxRUVGMTo8bWF0aD48bXVuZGVyPjxtbyBmb3JtPSJwb3N0Zml4Ij4m
I3gxRUVGMTs8L21vPjxtc3BhY2Ugd2lkdGg9IjEwMHB4Ii8+PC9tdW5kZXI+PC9tYXRoPgorICAg
IFUrMUQ0MDA6PG1hdGg+PG11bmRlcj48bW8gZm9ybT0icG9zdGZpeCI+JiN4MUQ0MDA7PC9tbz48
bXNwYWNlIHdpZHRoPSIxMDBweCIvPjwvbXVuZGVyPjwvbWF0aD4KKworICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL25vbi1ibXAt
b3BlcmF0b3JzLndvZmYgYi9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL25vbi1ibXAt
b3BlcmF0b3JzLndvZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTQxODU0YzI2NjM5Y2ZlOTgzN2Q3NWQ3ZjE4MzEw
Y2U2NjFkNTRiYgpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgNTc5Ngp6Y21aWDJXbUZWZ3hiK3xA
VUQ3MmJwZDtONDB3Tl9qcTt6KTwoal9JYEhIQEAkTncqOW8tN3YlOzJ1UkNGSU9MdTgKemUpciNa
KjRwY3d6MUtkXmQ3aWItdU1PNXhSQFR6ZigqZ2pmTiZ5NF9ecGdHcyExITxmfENnZSZHN0E3ZSRw
OFJnCnpHeT8hbnRRVEpJPV8pSmhYI2ZEdlgzJWIwRyNDT2wta0VDMT4lQiM1JDdvKUpfQm5gJjJf
fGRsQChRNXU4S08wTAp6RyVVemhER3NiJUVqPDdMaVZRU0k/LStUMnZDa0l7d3c1O05HYWchZGdA
eT9KdzAoeUlUMTBDP1hpa1IpSkR4UD0KemslT3lgS2YzMT5HJCUpYz44UysoO0EtanJVIUNgOGpg
UDFEZEprfjNiaFNsbTFwb2xxQj4qNHsoRzlsZEBOb0NgCnpMQz1BT19FNGUwQCkhKmVeZT9jc3Uo
N1pKU2FsYDZOJWFyT3VQMG9lOzA8RlglIWFESlFZX0NrNDt2RHYkJnIlKwp6aCQjXjh7K35Cd3B1
YXhfbFQrU0I4QXE9bDMtSkM2Q1ZEfnUwUjIxPjBQdnMzR0dzdDNKVWxaekpVMz1GR0NiVDgKekpJ
Yzw+cVFPb0diQj9nNGZSTHwkNmIyeGRlP21sdnxNKTFfMldheExhTjY/MW1tOT9jZTZobWFNcHlE
TDcmMkspCnpxOTZOTSpScV5zaDlSPUsyRWY0Z3dzWiglYSQ9dlhCaWd7Q1R3TmQ/ZXtRZHVXUHwt
anNvOThxJT9kb2ZGLWQhbAp6am51Xk9mYEc9SGY4OVAtOWIlRlFUNjJWaEJuUGQwN2VvSSZTbkkx
UCMzSkd6JHF7JURYU2VSdHJIcjkkeWBnYEgKemxSfT9Be0c1YV5LSSlpdXFldnRsNDF6KjBsbHxe
cW9fQUc7dyhPVyZfY3JYRCFEUCt2VS0kKzhKI3FnZWMxeHVECno8eT5fOGN2NSF0b0VIWG01MFpR
K2BgMEVLK1BkVDN4WXV7YDUyUnByfEMjYTh4V0hAIWVoJUl+SlZZcHxsdj1VKgp6dX5NV08jJUZS
eGtATFJjbm1SYHJvNXE4LVJlb0Jva0ljKX1IMWhQZiNXfT1iZ2c1fEN4YUQ/Z3tvYGJ7VUNqdTUK
emJqWWwpT3lBeitURGhgJjlVb2ZDU2JtXkxwclZuczI8ODtCbzRfdzctNDJYIUg9ZntjOWBhQX1q
UH1ITW1qfUxuCno5eilMZHI9ckY4TTxmcFIrKXZFMkRTanZ0NG9YUTBJWlA4cU5qTkdmYjJwXzt7
T0s1O3p8PHUmZUJHQWpHa3U8Kgp6ZUVsIShrOTI+TXV4PztLSUwoWWRVVjReRl9IUjJOej44I3oh
RX1zPWVxdUw4en1eQCpHWmw4T19Jb2B0RGVja3AKeiZnQH43P3hGMkZ3Yz9VdilITEBGQV9oRXJq
TWItQVI0KjRKYil2RmE5aj1GP21kPC16Z1ptKn5fS3MwRlc1JElMCnp3WUlJPzlqViFTTiE3R1Jv
PHxlLUBAbzRCRlo0PCFwMjIjK2B3Rm1naXlmJCRHPnp4a1k+VktvKi16UDZ7dig4Wgp6OSo7VEpj
VUhebSo2X2haUTwpMDYrSHhyYXJ7YE0/RU58czFnS3ckd0pWZE9mKylxQGlIVih9Ym9kS09YXiNj
e04Kejs0QHw3YXFhe21oNVchNXMkclFKWVY/OVFgVjtUSmFyQXFSJis0dkphNX0+biZkSHtvVWdv
YVp2a05zTE9yK0crCnpmcmd4QmIoc2w/allBUklFQ3F5bFA7bjs7VyQ7aXBOY2pIazFJLWF3V2N6
N3FYM0lpMSp8akhrVCZ2KHlIRUtUTQp6eFhhc1RCVFk1Q1ZHQ0F5bzxaWXpfTyNQe3QxejNxWm9C
Wm9iO0ltYzN2MmRHX19NO3hEJlZsVElFNkp3dXo1IUEKenFAfHNZa1ZwfU8oQk0/QEZJJjxOZiYk
QF9kRTlIVyFKPXVXUEtBKCQpX0N0N3haU0staGslezxhKVFOXz8tMHYjCno9ZSY8cHRFNUs+T2k5
Kz9HdF55VSNmfVVMUGhZdVMjZE8xcTFlPTl6JX4lIUVDalBCOzdYJmc4TVhzcHI9YDdiMwp6OXdZ
eyM8amI2SSZlbl5gXyV6KT4hPzd1TCEoSHJxaTZyfGZHYUZlPHtERC1RJipuNmt5P1RSUFdTXl9I
I0NPbUEKemc0UlVXcm8maFk4dWYoKGhiKjZnQkA4Xn1AUSVla240TFBAMVopViNVWVV6fitxajVr
LSV+QTcjcWU3JFZUO0lJCnotXlQ0K2g5Kkk5b0dYbV9qWihZS2pYTmBPJVU4TjskOD5EcFJzP156
SVNHKndNbH5JfXVgKTVZZ15me30+Nkl7NQp6OWgxdUgtWCpqeno0Tj8hOHxySzRYfUhxOCk4SUxt
dlpQT0I8U31ofEFeWGklSSR8K1pRenpiO28mPEo7ZUZjJUYKejJrKGEkP2RHbHFRVCtZcU8maT0l
dEMhSVEwbCNUazJoeGl4dThGTmpDX0J1OD0+a085LWlTb3gtLUR6JV45PD9eCnpwXlpPaVokODtn
RU9tdHlDMnMyYWRHeldmQk1hREEqVCl4cENsNzhUZFRObCZqJEtRMz9vZ0FzPlI1aDEmISooIwp6
ISZuWigmLWNBMis+ZjRTRiRYVjk+K1FQXzh0VmBYY1NROXdFbTlmWVA7YVNnbmNkTEMqaGdfYGNW
WntSLTsxRGIKeklJTU5ydmtCVyZ3SktJP2IkbX1HNGdWSWxeT35kaXMkZjt+dEEpbktDYyRaWEtJ
R0Zsd0xWRVkrJmtMSFk8R0Y2CnpARHApclU0NSFuS3NkO1cjJXQpXkcyQXZjKU94dD1ob2ZEfjUk
Q257bVVaRHprTCpgeGs/JnQhTzdFK3tja2ZuPQp6U3x7NlViTFBFa2ErPUZrallmUGI2SlBKRW13
a1hnQFcwK0N4Y2Q5LXk3RD1qKCFKVTZsMy0mRjlISVlkJkNxQnIKelohdGtYalpKMVZwPkFIUjw9
QUxRPCpHdi1uRGJ9VjEhbXViQGI7TiQ/KmVoVjhELV97Ujc+Uk0tWn1uU1Q9RylCCnpoVyolJDMj
ZDRtcUEhPkhmTnYoTEJ2elZsVD1CKHQ8KCo1QXl3fi1xeio2c1k7Wm9RM0h7ZGo/WmhtOTY3ZDlp
cgp6U1lNfVY9bz5pYz0wOElBdkZmTkFzO0l1KU5tVVcoc0N6flhINHcjKnNaZ24/bTh6OzhCUmhx
KW87QGVYNTdqLUQKeik1eEdqPGdHUjl7U2R3YS1qMlZsOCZ5ME5JaDA8UipVbU1aY0g3R3Q5UypX
VjwhPF5wZHloNnc/NXlJfkNqRFg8Cnp7OF8wRUYqeT59YSs9aFFQV3xsQyh2WFZHNk1oVVJvVzdu
M1VjSiZ7ZF5GJHglO1V9fFl2fn05VUdHSDNJe3dPcgp6d0stJUBzMTVKaDdKSWUrVGUpUEMzckhV
X3BMYEEwWE5IPUBGTHQ9fVM/NCNgXyYpbWRYaiE2NjglYDJIeGRuR2EKemc7PDlAOH1XZjZhOEp1
RjxpYF5gSChQc0MydW5BXy1oanNDUldiZTIjPk9PIU4+eGBkTmp0ZCVwNU82KFF9QGtyCnp2aUlJ
eiZBfnIkcTZBOThCan0hSCYxTzFPQ2IpdVhsQHEjJFRFME4wcDQ2T3UrI1FfVmJhSzhtcUw2ZlZT
JFlkNAp6PDJJKndWZSt6VCZBU3R0V2gta1lZZXdWYXdlKkpveTJ5SDNOVDNZWStnRVR7US1qb25Q
M0U7RnRCeC01QEJoYHYKendiVEZ4UiNDZWE+SmJ1QSspbWJzYkdzWGY3PzE+KT91JV5GRUs5Kkdr
MlQ1YShsO30lcEpwMHA3KkVaZUNWVStGCnorOT9AZkx2bTg/M1NBQnQpI3w5NHQhSnpWPn0yWWM2
eFdUKzJhX3pDeX1mVmMrWXwwUXpTeEAoWjN8OHFkK2ktcQp6dD0kbDhEcFBYekZRWUFSWGBnR30p
b0Mjb0ljVDRDSG40WVpKMioodkM5OE53IT14M015ezEzP3kmYHByWm1+NHYKemBqNmhsWHZ3Vmct
Q2omSUxUYTsqKE45SVcke0xkMWcmbE41YDZnND9qYHdUT3dxQjwySXE5bG82MnlOS3NNSkdJCnpC
ZXZNez1WSkE7R08kN1NhP2EqKy18blZie05xdHp7aDtvYCZoLWM2QDFBOHtgJmBHNVMrdzgxSCE2
MTwhTTspTAp6Mm1GdjxDaSUxbG5XeUpNPGE8ZFcmb3Y8XypNWDR4JkREKnJBTFI3OWg+Y25YTlV3
d3lwejx+YWBpLVRzOXRBWUsKejN+fkExY0Jnd3pifkpwS2FLIztoNUt7UFhAYn5AJHdWK1FxV00k
dn0qcTBmXzA4YUQ7dEI9cG4/MTtganV1c3JxCno0SXZLSnY9WGVjdC1uKTtIbDJPclJRSFcpdntI
M1BLX0pzZGx4SGwhUV5TJVh8S3R2RTdKe15FVTl5KXhZdmBAUwp6UHwjMmR3PzAmeVptZXt1NDNs
d1VVY30pI211YypiVXFeXjMlaj5HOSlPOSRQT0FBR2AhXmtHUnc8O081WCRBU1gKenZ0a0VIe0hD
fjY2dGt+UDRkcX4mbnpMSGAqX0gkSzl8e341dyZpd1B5YEZmTkVYKkY8KiRyKWZmSGY7T3JNM3Rw
Cnp6VF5SWkU9eUpYaU5hTSY0aHArcXs/bzxPM31RLUVZJUlmX0BTUU9EMUg1diopb2U7aTh0NnNK
cnF6JDFAdmhaZQp6fE43ZFVXVzBmY3s3TkU1ZH1jJWRKKlZOemV1fEx3JChqM2RAZjxGYGhqTl4o
UFhOPThsUV99JTlkQVZPaFR3bkAKejBoOyo7QUpHOypQZE95V241Sk91M1MyUWtTN288VClNOG9q
P1JSWU8wY21EM2dRclpyUT9vUUQ3NH0lNlB9QT5ECnpFK0h3P1FpS3NOTHVRKXJ4JG9AdWxKcEJq
OHNucms3c0d+ZV9leHhZQDJZWGJeRkd8fWFoamQwd3pGUlBVI1dqfgp6MU8lZkZSa1NYJTJQRShw
TmApT05zakdgdXhgUjt5K1pfZnUhQFNkRjEkRCl5bXZnMT4ofHhxMXV5UEdAM3t7RlcKenlgKHtG
SGckc2ZIUSh8c2FHayEqI3UtV1I1bENJaStrZWQ5SmsmcVpBMTdATmo4bzVYVjxwVyFAVihpcFdY
WVlrCnpYXyhTfHd2SWIxa3lHMGU1RjRMfnVVQ0tIajMzYE5obzJpYF5vPCo3eipLQUUqY3YyJE5L
fjNaWlQ8K2dMQWw9LQp6OVZTTlczallTKntlO3pqdTdBQzcjSF9EMS1RPTJiMEAmSlJlZ0Z+Zm9+
KmJkeTZPTGdET0tDel92bSs4eWR2Pz8KejxOZFBMIUZ1c29aJiEpWmVPVnNFVzZuaTdHPE1IOz5R
ZWdzSSpjd35qemZKcGpDVjRFd1I3MT96RXM1TWhNSk04CnpWfSFqbVVuQjM/TD9TZGdjTml7fDhx
bkJ9TnlVS3wqXnlMfDAmR3I3K1pCMG9MPC15UyZ3cnktPlROQWRpZ2coewp6aWxHSitzQzZfYkZD
QWhmdXA7N0B0Pik0dXNwY319Pz11fTVBZFV2MUBaVWApbz47UitARVVlSlpEUGZecyYtJm8KeiNu
Z0c1dytrR3p6I3dkWVRFSjxLe214d3w8MmV6WUpPNTlOc3VRVlZgR1RudUJeeG5TazA/JGZwKjU7
KzFXKVMwCnpKWW1rfFZgKHotSnxoK3s5RSpAWE1BUkZ6SFUmcVFKeVJ6NTNVQlQ5PFgxZTFuNzs5
XmE9JWdaYWhIMmhifW1Jbwp6UEhyRmwpK243dHFWTkQhcGQ0cj0qTzJYS3c/YlFpK3B+QGg4S08z
PGtCREhsbH58X1ROXyRFPXJSSiZYUDdYRkYKenItSE0tYVI1endZdF94K3s/aShzQlBZV3ZJQXxm
UkI3S3FNZn5rS2psR2k8MD9BQVllVmN3PSl6SXdrVW81e2dQCnotQ3lgeFloZ1JJUHtHTkglMD1W
fDB5RDxwQldoRnMjRikwU0FMWGszcXRMNH11QnIyaCRMQmk0NXl8Y1JnTShQQQp6ZVBXTz00bFVJ
bSM8YnxzVXdMZGNXVkhpKjN2KUR2bld7UDsyOGtzQ1E9IWMxNUNDRExVP2MpMmYwYTl0Jkd6O0MK
enZqTVYzdS1Yby1NVUdxWmQtYFo1aFVYRkN0YDdvUDRMc2c9QHxuJHpFajZrYmlhQmp7bV87X35o
My1CTTVJNyViCnpwcVRII0Z4c3x0VDBWeWUoPTdHfFooZl9jIz57UFBCdHsxcGlEZklAem8zMn1k
IzkxLWE4K2N3KUJ8UmcpISRaOwp6YXlQd1R7TWtWKiF0WF9fT3xad0hyKiEhOXo/a35xd3JZSXgz
OEN1T21BUjxTYzh7QCR5OWh6YF9gR24odEwwRG4KelVuJGBlcXJyR21SeTFgSEhtWXhhX0lYLUo1
elN8Q0xVMlV9U1hPT3xuS0x2YE9JflQ8Uz9qZCswMVhgZHpGSUs+CnpEZFBEeFQhYSF5N3UwQEA8
UDNpejJCfWl3SUhPWE9ZP0s7QUcxQFJQR3hRXlFSTzh4KEw1aUZXZVV+R21faFZTJAp6VXFiMzdO
LVVSZ2hIOXNfeCVSRGE5PGpgYmNLZkJkeHVgd28kfihoLXgpJXk1Ozd5d0wqYnl7YnFoVV5kYVcw
WGYKej9yQCNTaXFmdlh7djcxPmJgYj92RV85bjg2QnEyQUBOfHdrUV9JTX15QzY0OHE9Ym80PDBx
QihtZm01bmJnQnEjCnoxaWxDLWtFWkBAKTlJQX1ES2gyfmBkUiM3cERZLTgoLTBJREpsYm1GfDhg
ZjM+NHxZPlZJPE01WDV5QmcocXRDbAp6JS1qKW4wYGxoVzlITjVaeUlefG8mKmJuXjg7SCoqPnt0
I2JeX0shKWQxWmtFKj1iOWE3eG87I0t0Ymd9T1ZFZm8KemxqSFApSz0jVnNrOFJifWl2R2dTMEJs
T25xQ1Uja1lxaFBPRFcpdSQoO2N9Y21VOF41YzM3Tmg0ZEd3JVVscUc/CnpNeUpGa0lETT1rTldq
MEtPI0x3SlpJRklOaE1BSXNxMiopNm5KKVNSb2FmdiZ2U2U8OSFXK0FobklxOX1qY0J1TAp6bjQp
aTI0elMzVzdhMCU8bkgheD9Md0A2P0NWY19BOE9RbXBecl9oNl5+X1VPSXQmTjRYO3QhYStDeCt7
MUNAM3cKelJMTkMpME4pVCV6ODdVb3JLY0hCYUQpb3V4MDhFbyNZMmArRCFUQjN5KExRaW8kZ1Mj
I0N7Uz5xbV93a0dQe1J+CnpTTFQ+PU9HfjB5c1V8VSpPQmUyYGcxUU0hMT85RnhaVXdESmlDbGlr
QXtYb0g2M0dxeyQqaHA0bShoZGJjKE59Sgp6Rm9ReFhmJHYxX0V6TE1hRmliQi0rZFVNMlBlakVY
RmtNWnV6NUVOdlhDQFIwTUFmUlJ1O19FVkk1VHtUd0NTRnQKempTQ3E0UFZBNm8oTFJ7PG9uM3lA
aFEmcDFgSlNuVURmPnxHajAzdEJTVl9eN1RAejQkJm0mbUlCan0+Kj12YTdZCnpNQE8zOz47OTls
YlN7eyNzS2s3TXBsTXY8d1dSSkRrMThFWnZjPkNPKXFkc19AeX1Zaz1XNm4haUA+M1ZaMGt0eAp6
cTFNOFF8M3drdnZnQCEkZGYtfTZFQklLZVVJbmNDPkRrVmUkSVZrKnRWTn59OW9mcW1HcChEQEAy
YnVNKzlpI0wKemg7YHpkNU5jZTZyTTxgVTI/P1NheWR1Z2w4K1RTTmkjPll+K2goajIlelBVXy1z
RHF2LWZ+fGpgJiYhKVc3UlUwCnpJTD9tYiZEdnFCYm01Z0dJUCVKSFY+OGlSTU5GKFUjdz47TER5
RTBPe2gjUUEyaFZlVGQhSmohXzBVbDElTGQxSQp6UlZ8SD9sZSpBKHJwSTVZUUVYcU80N3k5UHgj
Ym02JXN+b1VvemdVMVFrZmg/elM0OSlqVy1hSWdFY1cjSSFfa3EKem8mOEY7K3clS09zR2c1dz95
UV52LWMwb00hd2hwOVplaVp+NE1jX3JVPjE0fEU+QyMyNl4rRXFCOSRKM0opKCN5CnozfHt+VlI8
X3t3UjRFO2FrQ01PVzspUihNNnBJQko2RCFLTm1+U1oleCtrOFlQc25XQ3I2U3NHNnBtUis1RXUk
Zwp6JVFIWEo/MjAtUldCUGdFentDaSVLNTQrZig+VHdEUnR7fFEtKldgcHcydy1rMnZYcjcxYFA5
JF5QaWJnT1VIJkAKelpKS1Z+I3Mzdi0lRyNwTlBgaDJlNmJ4RWFFOW0zKjBJZkA+IXUkTGI5IXJa
alVaMTB1S0dlIWlQMVhiZ0w7Qn1zCnp3QDI+TjhSV145KW4rOXRtdXVCNzRIKH5rPlI2VUZ5KnJP
Xl5YZklJelh4Pz5QeEs1eU9DdnA2e3ZlVjFNQFhiagp6RnREVF5tQ2RfLVZWMy1sbk58NCteMXIh
e3dTfFIrRWdDcGhqNFhSa3duPWY2YVklRVhQfSpYQjdFfk5FcTdlIWMKenFFRTUydjlOaz81JlFW
YUpjPkwyJG95YlZ4SCFfXmtJQmpTTVQpOXs0aUJkP0hwWXEqWFpSKGQxens4UGQ7XiF8CnowWik1
K2JRbUI/TlheMm8xPm47emhnPDt3Kis/P1V8RlNBT0s7K3tqcHxWX2pEaDR7ZTs/bD9IXyVEQS0p
S09EQQp6bEIxTlY3PDI3dHNXbW8jdyQwJVh7Mlc7T3dWZSEkYE9Fci1TdnowOFZLSjRKdGArNGUk
OHY0KmM/KTxhSVZVcWsKemJ8IVNvK3lpSnNLRUpKQSZEIXAxQXV9fmA0TEt7SUM2MEs3JCFoMHBQ
fXxgQnA0WlRLYUVXblQxfWd6V0E+MD59CnpVUFhrPUktUHVjRVNzQzEtQUN+ez04NHRAekZjeUlQ
V19YPGoxPz1ZSWFVcX4kS1IyYkd+d0RiRnw7YGA5NGp+IQp6NTZxZE17ZForME5Ie3pJY2w9cSY5
ITt5YHY0byRtSkhvVChDVFp5MDA/fTBjU2QmK2hLTjVZU19wLUNZWVZvbUUKel8peVEqN3lgX3NV
UHpTUXM1dn1AWmw3JnVAQWRVWV5HNFo5NEdCdCg1VX41bGYmM0Zpe25yaXhEMktubUJzWmRmCnpW
JlJoaFZKaU8wdkB4K0diVzh5czxmTzt3M0JCYlRHZH5BdjMtIX1zQit8dkhNP2N+c2ZuLUorQT1l
KEU2VWc0Xgp6Qyt1MHc3czZUOHAwTSp6KjA5dndvaWw7JmBmc1I7ISl9YnpAbj48bD5xXjdDbDRx
V0VYeHRRST4mLS08XmpOPkoKenheKngqQmQ1czNlVXheP19KdGlgbTJGRyNZYW1FMCpvI2JRSjlw
O2YxdHhwdU1OMjg0Vz80e2VIRGY5MilrUiN+Cno0Uj84ekotRnZkQT1oIzh8S15TczdCK3kwYW4/
aFcjbXlLQGZRQVNsWjtXJk1mQnk9ZGFjKWBwX3kyfkdfRkRgRgp6I0RvaVpKYkM5I1VnU3JJaUR9
SjFjOV84OEckNTNhWG9DfnFQVWJoa15gcm1LSEJYQWBWRUAxdT57MXtOSkI/dUAKemQ+R2JgN3NW
bkBqSEJGdSQze35IOzN0VkJlR2deTyV2UjgmPEIjWTY1aklKUlMqNEUmdWZYLWdlTTY7ODA1RXpq
CnpYTm0hSHsmSGhQeUFzWm1tfTNyRFU0S3UtaERsR3dQdSN4cGVpcnYhU2pxPGo7PStVZnw5Ym97
UzAjazQwQ3VuZApMMCZreDwwMDkzM0dLbVRVCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCg==
</data>
<flag name="review"
          id="310453"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>287248</attachid>
            <date>2016-08-28 23:08:30 -0700</date>
            <delta_ts>2016-08-28 23:08:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Bug-153984-The-Operator-Dictionary-lacks-entries-for.patch</filename>
            <type>text/plain</type>
            <size>43146</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">RnJvbSA3YzJjNjkwYWI5NmRiODlmNjYwN2VhNjQyMGYwY2JhZTlkYTljYmU2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBGcmVkZXJpYyBXYW5nIDxmcmVkLndhbmdAZnJlZS5mcj4KRGF0
ZTogTW9uLCAyOSBBdWcgMjAxNiAwODowNDowNCArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIEJ1ZyAx
NTM5ODQgLSBUaGUgT3BlcmF0b3IgRGljdGlvbmFyeSBsYWNrcyBlbnRyaWVzIGZvcgogVSsxRUVG
MCBhbmQgVSsxRUVGMQoKLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAyMSArKysrKysrKwogLi4uL25vbi1ibXAtb3BlcmF0b3JzLXNwYWNp
bmctZXhwZWN0ZWQuaHRtbCAgICAgICAgfCAgNTggKysrKysrKysrKysrKysrKysrKysKIC4uLi9w
cmVzZW50YXRpb24vbm9uLWJtcC1vcGVyYXRvcnMtc3BhY2luZy5odG1sICAgIHwgIDU5ICsrKysr
KysrKysrKysrKysrKysrKwogLi4uL25vbi1ibXAtb3BlcmF0b3JzLXN0cmV0Y2hpbmctZXhwZWN0
ZWQuaHRtbCAgICAgfCAgNDMgKysrKysrKysrKysrKysrCiAuLi4vcHJlc2VudGF0aW9uL25vbi1i
bXAtb3BlcmF0b3JzLXN0cmV0Y2hpbmcuaHRtbCB8ICA0MyArKysrKysrKysrKysrKysKIC4uLi9t
YXRobWwvcHJlc2VudGF0aW9uL25vbi1ibXAtb3BlcmF0b3JzLndvZmYgICAgIHwgQmluIDAgLT4g
NTc5NiBieXRlcwogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgMzkgKysrKysrKysrKysrKysKIFNvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxP
cGVyYXRvckRpY3Rpb25hcnkuY3BwIHwgIDQ0ICsrKysrKysrKystLS0tLQogU291cmNlL1dlYkNv
cmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS5oICAgfCAgMTcgKysrLS0tCiBTb3Vy
Y2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JFbGVtZW50LmNwcCAgICB8ICAyOSArKysr
LS0tLS0tCiBTb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JFbGVtZW50LmggICAg
ICB8ICAxNiArKy0tLS0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvTWF0aE9wZXJh
dG9yLmNwcCAgIHwgICA4ICstLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9NYXRo
T3BlcmF0b3IuaCAgICAgfCAgIDYgKy0tCiAuLi4vbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZE9w
ZXJhdG9yLmNwcCAgICAgICAgICB8ICAgNCArLQogLi4uL3JlbmRlcmluZy9tYXRobWwvUmVuZGVy
TWF0aE1MRmVuY2VkT3BlcmF0b3IuaCAgfCAgIDIgKy0KIC4uLi9yZW5kZXJpbmcvbWF0aG1sL1Jl
bmRlck1hdGhNTE9wZXJhdG9yLmNwcCAgICAgIHwgICA0ICstCiAuLi4vcmVuZGVyaW5nL21hdGht
bC9SZW5kZXJNYXRoTUxPcGVyYXRvci5oICAgICAgICB8ICAgMiArLQogMTcgZmlsZXMgY2hhbmdl
ZCwgMzMxIGluc2VydGlvbnMoKyksIDY0IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vbm9uLWJtcC1vcGVyYXRvcnMtc3BhY2lu
Zy1leHBlY3RlZC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvbWF0aG1sL3By
ZXNlbnRhdGlvbi9ub24tYm1wLW9wZXJhdG9ycy1zcGFjaW5nLmh0bWwKIGNyZWF0ZSBtb2RlIDEw
MDY0NCBMYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL25vbi1ibXAtb3BlcmF0b3JzLXN0
cmV0Y2hpbmctZXhwZWN0ZWQuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL21h
dGhtbC9wcmVzZW50YXRpb24vbm9uLWJtcC1vcGVyYXRvcnMtc3RyZXRjaGluZy5odG1sCiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9ub24tYm1wLW9w
ZXJhdG9ycy53b2ZmCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGIxM2JhNGMuLjlmODQ0YzcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
NCBAQAorMjAxNi0wOC0yNSAgRnJlZGVyaWMgV2FuZyAgPGZ3YW5nQGlnYWxpYS5jb20+CisKKyAg
ICAgICAgQWRkIHN1cHBvcnQgZm9yIG5vbi1CTVAgb3BlcmF0b3JzIFUrMUVFRjAgYW5kIFUrMUVF
RjEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1Mzk4
NAorCisgICAgICAgIFdlIGFkZCB0d28gcmVmdGVzdHMgdG8gY2hlY2sgdGhhdCB0aGUgbm9uLUJN
UCBvcGVyYXRvcnMgYXJlIHByb3Blcmx5CisgICAgICAgIGhhbmRsZWQgYnkgdGhlIE1hdGhNTCBk
aWN0aW9uYXJ5IChmb3JtLCBwcm9wZXJ0aWVzLCBkaXJlY3Rpb24pIGFzIHdlbGwKKyAgICAgICAg
YXMgdGhlIHJlbmRlcmluZyBjb2RlIChzcGFjaW5nLCBzdHJldGNoaW5nKS4gV2UgdGVzdCB0aGUg
bmV3IGhvcml6b250YWwKKyAgICAgICAgc3RyZWNoeSBvcGVyYXRvcnMgVSsxRUVGMCBhbmQgVSsx
RUVGMSBhcyB3ZWxsIGFzIHRoZSBsZXR0ZXIgVSsxRDQwMAorICAgICAgICB3aGljaCBpcyBub3Qg
YSByZWFsIG1hdGhlbWF0aWNhbCBvcGVyYXRvci4gV2UgYWRkIGEgbWluaW1hbCB0ZXN0CisgICAg
ICAgIGZvbnQgd2hpY2ggY29udGFpbnMgYSBibGFjayBzcXVhcmUgZm9yIFUrMDA1RiwgVSsxRUVG
MCwgVSsxRUVGMSwgVSsxRDQwMAorICAgICAgICBhbmQgdGhlIGRhdGEgdGhhdCBjYW4gYmUgdXNl
ZCB0byBzdHJldGNoIHRoZW0gaG9yaXpvbnRhbGx5LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogbWF0aG1sL3ByZXNlbnRhdGlvbi9ub24tYm1wLW9w
ZXJhdG9ycy1zcGFjaW5nLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIG1hdGhtbC9w
cmVzZW50YXRpb24vbm9uLWJtcC1vcGVyYXRvcnMtc3BhY2luZy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBtYXRobWwvcHJlc2VudGF0aW9uL25vbi1ibXAtb3BlcmF0b3JzLXN0cmV0Y2hpbmctZXhw
ZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogbWF0aG1sL3ByZXNlbnRhdGlvbi9ub24tYm1w
LW9wZXJhdG9ycy1zdHJldGNoaW5nLmh0bWw6IEFkZGVkLgorICAgICAgICAqIG1hdGhtbC9wcmVz
ZW50YXRpb24vbm9uLWJtcC1vcGVyYXRvcnMud29mZjogQWRkZWQuCisKIDIwMTYtMDgtMjggIE1p
Y2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlbW92
ZSBmbGFraW5lc3MgZXhwZWN0YXRpb25zIGZyb20gc3dpdGNoIHRvIHRocmVhZGVkIGNvbXBvc2l0
b3IKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vbm9uLWJtcC1v
cGVyYXRvcnMtc3BhY2luZy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvbWF0aG1sL3ByZXNl
bnRhdGlvbi9ub24tYm1wLW9wZXJhdG9ycy1zcGFjaW5nLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWVhNjBhZAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vbm9uLWJtcC1vcGVyYXRvcnMtc3BhY2luZy1l
eHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsNTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cisg
IDxoZWFkPgorICAgIDx0aXRsZT5TcGFjaW5nIG9mIG5vbi1CTVAgb3BlcmF0b3JzPC90aXRsZT4K
KyAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIvPgorICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+
CisgICAgICBAZm9udC1mYWNlIHsKKyAgICAgICAgZm9udC1mYW1pbHk6IG5vbi1ibXAtb3BlcmF0
b3JzOworICAgICAgICBzcmM6IHVybCgibm9uLWJtcC1vcGVyYXRvcnMud29mZiIpOworICAgICAg
fQorICAgICAgbWF0aCB7CisgICAgICAgIGZvbnQtZmFtaWx5OiBub24tYm1wLW9wZXJhdG9yczsK
KyAgICAgIH0KKyAgICA8L3N0eWxlPgorICA8L2hlYWQ+CisgIDxib2R5PgorCisgICAgPHA+Cisg
ICAgICBUaGlzIHRlc3QgdmVyaWZpZXMgdGhlIHNwYWNpbmcgb2Ygc29tZSBub24tQk1QIG9wZXJh
dG9ycy4gSXQgaXMgYXNzdW1lZAorICAgICAgdGhhdCBVKzFFRUYwIGFuZCBVKzFFRUYxIG9ubHkg
aGF2ZSBhIHByZWZpeCBmb3JtIHdpdGggemVybyBsc3BhY2UvcnNwYWNlCisgICAgICBhbmQgdGhh
dCBVKzFENDAwIGlzIG5vdCBpbiB0aGUgb3BlcmF0b3IgZGljdGlvbmFyeS4gSGVuY2UgdGhlIG9w
ZXJhdG9yCisgICAgICBzcGFjaW5nIHVzZSB6ZXJvIGZvciBwcmVmaXggVSsxRUVGMC9VKzFFRUYx
IGFuZCB3aWxsIHVzZSB0aGUgZGVmYXVsdAorICAgICAgdGhpY2ttYXRoc3BhY2UgdmFsdWUgb3Ro
ZXJ3aXNlLiBOb3RlIHRoYXQgZm9yIGltcGxpY2l0IGZvcm0sIFdlYktpdCBoYXMgYQorICAgICAg
d29ya2Fyb3VuZCBmb3IgYmFkIG1hcmt1cCBhbmQgd2lsbCBmYWxsYmFjayB0byB0aGUgZm9ybSBv
ZiBhIGRpY3Rpb25hcnkKKyAgICAgIGVudHJ5IGlmIG9uZSBpcyBmb3VuZC4KKyAgICA8L3A+CisK
KyAgICA8cD5QcmVmaXg6PC9wPgorICAgIFUrMUVFRjA6PG1hdGg+PG1vIGxzcGFjZT0iMGVtIiBy
c3BhY2U9IjBlbSIgZm9ybT0icHJlZml4Ij4mI3gxRUVGMDs8L21vPjwvbWF0aD5fCisgICAgVSsx
RUVGMTo8bWF0aD48bW8gbHNwYWNlPSIwZW0iIHJzcGFjZT0iMGVtIiBmb3JtPSJwcmVmaXgiPiYj
eDFFRUYxOzwvbW8+PC9tYXRoPl8KKyAgICBVKzFENDAwOjxtYXRoPjxtbyBsc3BhY2U9InRoaWNr
bWF0aHNwYWNlIiByc3BhY2U9InRoaWNrbWF0aHNwYWNlIiBmb3JtPSJwcmVmaXgiPiYjeDFENDAw
OzwvbW8+PC9tYXRoPl8KKworICAgIDxwPlBvc3RmaXg6PC9wPgorICAgIFUrMUVFRjA6PG1hdGg+
PG1vIGxzcGFjZT0idGhpY2ttYXRoc3BhY2UiIHJzcGFjZT0idGhpY2ttYXRoc3BhY2UiIGZvcm09
InBvc3RmaXgiPiYjeDFFRUYwOzwvbW8+PC9tYXRoPl8KKyAgICBVKzFFRUYxOjxtYXRoPjxtbyBs
c3BhY2U9InRoaWNrbWF0aHNwYWNlIiByc3BhY2U9InRoaWNrbWF0aHNwYWNlIiBmb3JtPSJwb3N0
Zml4Ij4mI3gxRUVGMTs8L21vPjwvbWF0aD5fCisgICAgVSsxRDQwMDo8bWF0aD48bW8gbHNwYWNl
PSJ0aGlja21hdGhzcGFjZSIgcnNwYWNlPSJ0aGlja21hdGhzcGFjZSIgZm9ybT0icG9zdGZpeCI+
JiN4MUQ0MDA7PC9tbz48L21hdGg+XworCisgICAgPHA+SW5maXg6PC9wPgorICAgIFUrMUVFRjA6
PG1hdGg+PG1vIGxzcGFjZT0idGhpY2ttYXRoc3BhY2UiIHJzcGFjZT0idGhpY2ttYXRoc3BhY2Ui
ICBmb3JtPSJpbmZpeCI+JiN4MUVFRjA7PC9tbz48L21hdGg+XworICAgIFUrMUVFRjE6PG1hdGg+
PG1vIGxzcGFjZT0idGhpY2ttYXRoc3BhY2UiIHJzcGFjZT0idGhpY2ttYXRoc3BhY2UiICBmb3Jt
PSJpbmZpeCI+JiN4MUVFRjE7PC9tbz48L21hdGg+XworICAgIFUrMUQ0MDA6PG1hdGg+PG1vIGxz
cGFjZT0idGhpY2ttYXRoc3BhY2UiIHJzcGFjZT0idGhpY2ttYXRoc3BhY2UiICBmb3JtPSJpbmZp
eCI+JiN4MUQ0MDA7PC9tbz48L21hdGg+XworCisgICAgPHA+UHJlZml4IChpbXBsaWNpdCk6PC9w
PgorICAgIFUrMUVFRjA6PG1hdGg+PG1vIGxzcGFjZT0iMGVtIiByc3BhY2U9IjBlbSI+JiN4MUVF
RjA7PC9tbz48bW4+PC9tbj48L21hdGg+XworICAgIFUrMUVFRjE6PG1hdGg+PG1vIGxzcGFjZT0i
MGVtIiByc3BhY2U9IjBlbSI+JiN4MUVFRjE7PC9tbz48bW4+PC9tbj48L21hdGg+XworICAgIFUr
MUQ0MDA6PG1hdGg+PG1vIGxzcGFjZT0idGhpY2ttYXRoc3BhY2UiIHJzcGFjZT0idGhpY2ttYXRo
c3BhY2UiPiYjeDFENDAwOzwvbW8+PG1uPjwvbW4+PC9tYXRoPl8KKworICAgIDxwPkluZml4IChp
bXBsaWNpdCk6PC9wPgorICAgIFUrMUVFRjA6PG1hdGg+PG1uPjwvbW4+PG1vIGxzcGFjZT0iMGVt
IiByc3BhY2U9IjBlbSI+JiN4MUVFRjA7PC9tbz48bW4+PC9tbj48L21hdGg+XworICAgIFUrMUVF
RjE6PG1hdGg+PG1uPjwvbW4+PG1vIGxzcGFjZT0iMGVtIiByc3BhY2U9IjBlbSI+JiN4MUVFRjE7
PC9tbz48bW4+PC9tbj48L21hdGg+XworICAgIFUrMUQ0MDA6PG1hdGg+PG1uPjwvbW4+PG1vIGxz
cGFjZT0idGhpY2ttYXRoc3BhY2UiIHJzcGFjZT0idGhpY2ttYXRoc3BhY2UiPiYjeDFENDAwOzwv
bW8+PG1uPjwvbW4+PC9tYXRoPl8KKworICAgIDxwPlBvc3RmaXggKGltcGxpY2l0KTo8L3A+Cisg
ICAgVSsxRUVGMDo8bWF0aD48bW4+PC9tbj48bW8gbHNwYWNlPSIwZW0iIHJzcGFjZT0iMGVtIj4m
I3gxRUVGMDs8L21vPjwvbWF0aD5fCisgICAgVSsxRUVGMTo8bWF0aD48bW4+PC9tbj48bW8gbHNw
YWNlPSIwZW0iIHJzcGFjZT0iMGVtIj4mI3gxRUVGMTs8L21vPjwvbWF0aD5fCisgICAgVSsxRDQw
MDo8bWF0aD48bW4+PC9tbj48bW8gbHNwYWNlPSJ0aGlja21hdGhzcGFjZSIgcnNwYWNlPSJ0aGlj
a21hdGhzcGFjZSI+JiN4MUQ0MDA7PC9tbz48L21hdGg+XworICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL25vbi1ibXAtb3BlcmF0
b3JzLXNwYWNpbmcuaHRtbCBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vbm9uLWJt
cC1vcGVyYXRvcnMtc3BhY2luZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmQ5MjFmM2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2Vu
dGF0aW9uL25vbi1ibXAtb3BlcmF0b3JzLXNwYWNpbmcuaHRtbApAQCAtMCwwICsxLDU5IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4KKyAgICA8dGl0bGU+U3BhY2luZyBvZiBu
b24tQk1QIG9wZXJhdG9yczwvdGl0bGU+CisgICAgPG1ldGEgY2hhcnNldD0idXRmLTgiLz4KKyAg
ICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAgQGZvbnQtZmFjZSB7CisgICAgICAgIGZv
bnQtZmFtaWx5OiBub24tYm1wLW9wZXJhdG9yczsKKyAgICAgICAgc3JjOiB1cmwoIm5vbi1ibXAt
b3BlcmF0b3JzLndvZmYiKTsKKyAgICAgIH0KKyAgICAgIG1hdGggeworICAgICAgICBmb250LWZh
bWlseTogbm9uLWJtcC1vcGVyYXRvcnM7CisgICAgICB9CisgICAgPC9zdHlsZT4KKyAgPC9oZWFk
PgorICA8Ym9keT4KKworICAgIDxwPgorICAgICAgVGhpcyB0ZXN0IHZlcmlmaWVzIHRoZSBzcGFj
aW5nIG9mIHNvbWUgbm9uLUJNUCBvcGVyYXRvcnMuIEl0IGlzIGFzc3VtZWQKKyAgICAgIHRoYXQg
VSsxRUVGMCBhbmQgVSsxRUVGMSBvbmx5IGhhdmUgYSBwcmVmaXggZm9ybSB3aXRoIHplcm8gbHNw
YWNlL3JzcGFjZQorICAgICAgYW5kIHRoYXQgVSsxRDQwMCBpcyBub3QgaW4gdGhlIG9wZXJhdG9y
IGRpY3Rpb25hcnkuIEhlbmNlIHRoZSBvcGVyYXRvcgorICAgICAgc3BhY2luZyB1c2UgemVybyBm
b3IgcHJlZml4IFUrMUVFRjAvVSsxRUVGMSBhbmQgd2lsbCB1c2UgdGhlIGRlZmF1bHQKKyAgICAg
IHRoaWNrbWF0aHNwYWNlIHZhbHVlIG90aGVyd2lzZS4gTm90ZSB0aGF0IGZvciBpbXBsaWNpdCBm
b3JtLCBXZWJLaXQgaGFzIGEKKyAgICAgIHdvcmthcm91bmQgZm9yIGJhZCBtYXJrdXAgYW5kIHdp
bGwgZmFsbGJhY2sgdG8gdGhlIGZvcm0gb2YgYSBkaWN0aW9uYXJ5CisgICAgICBlbnRyeSBpZiBv
bmUgaXMgZm91bmQuCisgICAgPC9wPgorCisgICAgPHA+UHJlZml4OjwvcD4KKyAgICBVKzFFRUYw
OjxtYXRoPjxtbyBmb3JtPSJwcmVmaXgiPiYjeDFFRUYwOzwvbW8+PC9tYXRoPl8KKyAgICBVKzFF
RUYxOjxtYXRoPjxtbyBmb3JtPSJwcmVmaXgiPiYjeDFFRUYxOzwvbW8+PC9tYXRoPl8KKyAgICBV
KzFENDAwOjxtYXRoPjxtbyBmb3JtPSJwcmVmaXgiPiYjeDFENDAwOzwvbW8+PC9tYXRoPl8KKwor
ICAgIDxwPlBvc3RmaXg6PC9wPgorICAgIFUrMUVFRjA6PG1hdGg+PG1vIGZvcm09InBvc3RmaXgi
PiYjeDFFRUYwOzwvbW8+PC9tYXRoPl8KKyAgICBVKzFFRUYxOjxtYXRoPjxtbyBmb3JtPSJwb3N0
Zml4Ij4mI3gxRUVGMTs8L21vPjwvbWF0aD5fCisgICAgVSsxRDQwMDo8bWF0aD48bW8gZm9ybT0i
cG9zdGZpeCI+JiN4MUQ0MDA7PC9tbz48L21hdGg+XworCisgICAgPHA+SW5maXg6PC9wPgorICAg
IFUrMUVFRjA6PG1hdGg+PG1vIGZvcm09ImluZml4Ij4mI3gxRUVGMDs8L21vPjwvbWF0aD5fCisg
ICAgVSsxRUVGMTo8bWF0aD48bW8gZm9ybT0iaW5maXgiPiYjeDFFRUYxOzwvbW8+PC9tYXRoPl8K
KyAgICBVKzFENDAwOjxtYXRoPjxtbyBmb3JtPSJpbmZpeCI+JiN4MUQ0MDA7PC9tbz48L21hdGg+
XworCisgICAgPHA+UHJlZml4IChpbXBsaWNpdCk6PC9wPgorICAgIFUrMUVFRjA6PG1hdGg+PG1v
PiYjeDFFRUYwOzwvbW8+PG1uPjwvbW4+PC9tYXRoPl8KKyAgICBVKzFFRUYxOjxtYXRoPjxtbz4m
I3gxRUVGMTs8L21vPjxtbj48L21uPjwvbWF0aD5fCisgICAgVSsxRDQwMDo8bWF0aD48bW8+JiN4
MUQ0MDA7PC9tbz48bW4+PC9tbj48L21hdGg+XworCisgICAgPHA+SW5maXggKGltcGxpY2l0KTo8
L3A+CisgICAgVSsxRUVGMDo8bWF0aD48bW4+PC9tbj48bW8+JiN4MUVFRjA7PC9tbz48bW4+PC9t
bj48L21hdGg+XworICAgIFUrMUVFRjE6PG1hdGg+PG1uPjwvbW4+PG1vPiYjeDFFRUYxOzwvbW8+
PG1uPjwvbW4+PC9tYXRoPl8KKyAgICBVKzFENDAwOjxtYXRoPjxtbj48L21uPjxtbz4mI3gxRDQw
MDs8L21vPjxtbj48L21uPjwvbWF0aD5fCisKKyAgICA8cD5Qb3N0Zml4IChpbXBsaWNpdCk6PC9w
PgorICAgIFUrMUVFRjA6PG1hdGg+PG1uPjwvbW4+PG1vPiYjeDFFRUYwOzwvbW8+PC9tYXRoPl8K
KyAgICBVKzFFRUYxOjxtYXRoPjxtbj48L21uPjxtbz4mI3gxRUVGMTs8L21vPjwvbWF0aD5fCisg
ICAgVSsxRDQwMDo8bWF0aD48bW4+PC9tbj48bW8+JiN4MUQ0MDA7PC9tbz48L21hdGg+XworCisg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50
YXRpb24vbm9uLWJtcC1vcGVyYXRvcnMtc3RyZXRjaGluZy1leHBlY3RlZC5odG1sIGIvTGF5b3V0
VGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi9ub24tYm1wLW9wZXJhdG9ycy1zdHJldGNoaW5nLWV4
cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQwZDA0OAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24vbm9uLWJt
cC1vcGVyYXRvcnMtc3RyZXRjaGluZy1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsNDMgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+CisgIDxoZWFkPgorICAgIDx0aXRsZT5TdHJldGNoaW5nIG9m
IG5vbi1CTVAgb3BlcmF0b3JzPC90aXRsZT4KKyAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCIvPgor
ICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgICBAZm9udC1mYWNlIHsKKyAgICAgICAg
Zm9udC1mYW1pbHk6IG5vbi1ibXAtb3BlcmF0b3JzOworICAgICAgICBzcmM6IHVybCgibm9uLWJt
cC1vcGVyYXRvcnMud29mZiIpOworICAgICAgfQorICAgICAgbWF0aCB7CisgICAgICAgIGZvbnQt
ZmFtaWx5OiBub24tYm1wLW9wZXJhdG9yczsKKyAgICAgIH0KKyAgICA8L3N0eWxlPgorICA8L2hl
YWQ+CisgIDxib2R5PgorCisgICAgPHA+CisgICAgICBUaGlzIHRlc3QgdmVyaWZpZXMgdGhlIHN0
cmV0Y2hpbmcgb2Ygc29tZSBub24tQk1QIG9wZXJhdG9ycy4gVGhlIGZvbnQKKyAgICAgIHVzZWQg
YnkgdGhpcyB0ZXN0IHByb3ZpZGVzIGhvcml6b250YWwgc3RyZXRjaGluZyBkYXRhIGZvciBVKzFF
RUYwLAorICAgICAgVSsxRUVGMSBhbmQgVSsxRDQwMC4gSXQgaXMgYXNzdW1lZCB0aGF0IFUrMUVF
RjAgYW5kIFUrMUVFRjEgYXJlCisgICAgICBob3Jpem9udGFsIGFuZCBvbmx5IGhhdmUgYSBwcmVm
aXggZm9ybSB3aXRoIHByb3BlcnR5IHN0cmV0Y2h5LiBJdCBpcyBhbHNvCisgICAgICBhc3N1bWVk
IHRoYXQgVSsxRDQwMCBpcyBub3QgaW4gdGhlIG9wZXJhdG9yIGRpY3Rpb25hcnkuIEhlbmNlIG9u
bHkgdGhlCisgICAgICBwcmVmaXggb3BlcmF0b3JzIFUrMUVFRjAgYW5kIFUrMUVFRjEgd2lsbCBz
dHJldGNoIGhvcml6b250YWxseS4KKyAgICA8L3A+CisKKyAgICA8cD5QcmVmaXggZm9ybTo8L3A+
CisgICAgVSsxRUVGMDo8bWF0aD48bXVuZGVyPjxtbyBmb3JtPSJwcmVmaXgiIHN0cmV0Y2h5PSJ0
cnVlIiBsc3BhY2U9IjBlbSIgcnNwYWNlPSIwZW0iPl88L21vPjxtc3BhY2Ugd2lkdGg9IjEwMHB4
Ii8+PC9tdW5kZXI+PC9tYXRoPgorICAgIFUrMUVFRjE6PG1hdGg+PG11bmRlcj48bW8gZm9ybT0i
cHJlZml4IiBzdHJldGNoeT0idHJ1ZSIgbHNwYWNlPSIwZW0iIHJzcGFjZT0iMGVtIj5fPC9tbz48
bXNwYWNlIHdpZHRoPSIxMDBweCIvPjwvbXVuZGVyPjwvbWF0aD4KKyAgICBVKzFENDAwOjxtYXRo
PjxtdW5kZXI+PG1vIGZvcm09InByZWZpeCIgc3RyZXRjaHk9ImZhbHNlIiBsc3BhY2U9InRoaWNr
bWF0aHNwYWNlIiByc3BhY2U9InRoaWNrbWF0aHNwYWNlIj5fPC9tbz48bXNwYWNlIHdpZHRoPSIx
MDBweCIvPjwvbXVuZGVyPjwvbWF0aD4KKworICAgIDxwPkluZml4IGZvcm06PC9wPgorICAgIFUr
MUVFRjA6PG1hdGg+PG11bmRlcj48bW8gZm9ybT0iaW5maXgiIHN0cmV0Y2h5PSJmYWxzZSIgbHNw
YWNlPSJ0aGlja21hdGhzcGFjZSIgcnNwYWNlPSJ0aGlja21hdGhzcGFjZSI+XzwvbW8+PG1zcGFj
ZSB3aWR0aD0iMTAwcHgiLz48L211bmRlcj48L21hdGg+CisgICAgVSsxRUVGMTo8bWF0aD48bXVu
ZGVyPjxtbyBmb3JtPSJpbmZpeCIgc3RyZXRjaHk9ImZhbHNlIiBsc3BhY2U9InRoaWNrbWF0aHNw
YWNlIiByc3BhY2U9InRoaWNrbWF0aHNwYWNlIj5fPC9tbz48bXNwYWNlIHdpZHRoPSIxMDBweCIv
PjwvbXVuZGVyPjwvbWF0aD4KKyAgICBVKzFENDAwOjxtYXRoPjxtdW5kZXI+PG1vIGZvcm09Imlu
Zml4IiBzdHJldGNoeT0iZmFsc2UiIGxzcGFjZT0idGhpY2ttYXRoc3BhY2UiIHJzcGFjZT0idGhp
Y2ttYXRoc3BhY2UiPl88L21vPjxtc3BhY2Ugd2lkdGg9IjEwMHB4Ii8+PC9tdW5kZXI+PC9tYXRo
PgorCisgICAgPHA+UG9zdGZpeCBmb3JtOjwvcD4KKyAgICBVKzFFRUYwOjxtYXRoPjxtdW5kZXI+
PG1vIGZvcm09InBvc3RmaXgiIHN0cmV0Y2h5PSJmYWxzZSIgbHNwYWNlPSJ0aGlja21hdGhzcGFj
ZSIgcnNwYWNlPSJ0aGlja21hdGhzcGFjZSI+XzwvbW8+PG1zcGFjZSB3aWR0aD0iMTAwcHgiLz48
L211bmRlcj48L21hdGg+CisgICAgVSsxRUVGMTo8bWF0aD48bXVuZGVyPjxtbyBmb3JtPSJwb3N0
Zml4IiBzdHJldGNoeT0iZmFsc2UiIGxzcGFjZT0idGhpY2ttYXRoc3BhY2UiIHJzcGFjZT0idGhp
Y2ttYXRoc3BhY2UiPl88L21vPjxtc3BhY2Ugd2lkdGg9IjEwMHB4Ii8+PC9tdW5kZXI+PC9tYXRo
PgorICAgIFUrMUQ0MDA6PG1hdGg+PG11bmRlcj48bW8gZm9ybT0icG9zdGZpeCIgc3RyZXRjaHk9
ImZhbHNlIiBsc3BhY2U9InRoaWNrbWF0aHNwYWNlIiByc3BhY2U9InRoaWNrbWF0aHNwYWNlIj5f
PC9tbz48bXNwYWNlIHdpZHRoPSIxMDBweCIvPjwvbXVuZGVyPjwvbWF0aD4KKworICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL25v
bi1ibXAtb3BlcmF0b3JzLXN0cmV0Y2hpbmcuaHRtbCBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVz
ZW50YXRpb24vbm9uLWJtcC1vcGVyYXRvcnMtc3RyZXRjaGluZy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiNDk1ZDQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uL25vbi1ibXAtb3BlcmF0b3JzLXN0cmV0Y2hpbmcuaHRt
bApAQCAtMCwwICsxLDQzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICA8aGVhZD4KKyAg
ICA8dGl0bGU+U3RyZXRjaGluZyBvZiBub24tQk1QIG9wZXJhdG9yczwvdGl0bGU+CisgICAgPG1l
dGEgY2hhcnNldD0idXRmLTgiLz4KKyAgICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgICAg
QGZvbnQtZmFjZSB7CisgICAgICAgIGZvbnQtZmFtaWx5OiBub24tYm1wLW9wZXJhdG9yczsKKyAg
ICAgICAgc3JjOiB1cmwoIm5vbi1ibXAtb3BlcmF0b3JzLndvZmYiKTsKKyAgICAgIH0KKyAgICAg
IG1hdGggeworICAgICAgICBmb250LWZhbWlseTogbm9uLWJtcC1vcGVyYXRvcnM7CisgICAgICB9
CisgICAgPC9zdHlsZT4KKyAgPC9oZWFkPgorICA8Ym9keT4KKworICAgIDxwPgorICAgICAgVGhp
cyB0ZXN0IHZlcmlmaWVzIHRoZSBzdHJldGNoaW5nIG9mIHNvbWUgbm9uLUJNUCBvcGVyYXRvcnMu
IFRoZSBmb250CisgICAgICB1c2VkIGJ5IHRoaXMgdGVzdCBwcm92aWRlcyBob3Jpem9udGFsIHN0
cmV0Y2hpbmcgZGF0YSBmb3IgVSsxRUVGMCwKKyAgICAgIFUrMUVFRjEgYW5kIFUrMUQ0MDAuIEl0
IGlzIGFzc3VtZWQgdGhhdCBVKzFFRUYwIGFuZCBVKzFFRUYxIGFyZQorICAgICAgaG9yaXpvbnRh
bCBhbmQgb25seSBoYXZlIGEgcHJlZml4IGZvcm0gd2l0aCBwcm9wZXJ0eSBzdHJldGNoeS4gSXQg
aXMgYWxzbworICAgICAgYXNzdW1lZCB0aGF0IFUrMUQ0MDAgaXMgbm90IGluIHRoZSBvcGVyYXRv
ciBkaWN0aW9uYXJ5LiBIZW5jZSBvbmx5IHRoZQorICAgICAgcHJlZml4IG9wZXJhdG9ycyBVKzFF
RUYwIGFuZCBVKzFFRUYxIHdpbGwgc3RyZXRjaCBob3Jpem9udGFsbHkuCisgICAgPC9wPgorCisg
ICAgPHA+UHJlZml4IGZvcm06PC9wPgorICAgIFUrMUVFRjA6PG1hdGg+PG11bmRlcj48bW8gZm9y
bT0icHJlZml4Ij4mI3gxRUVGMDs8L21vPjxtc3BhY2Ugd2lkdGg9IjEwMHB4Ii8+PC9tdW5kZXI+
PC9tYXRoPgorICAgIFUrMUVFRjE6PG1hdGg+PG11bmRlcj48bW8gZm9ybT0icHJlZml4Ij4mI3gx
RUVGMTs8L21vPjxtc3BhY2Ugd2lkdGg9IjEwMHB4Ii8+PC9tdW5kZXI+PC9tYXRoPgorICAgIFUr
MUQ0MDA6PG1hdGg+PG11bmRlcj48bW8gZm9ybT0icHJlZml4Ij4mI3gxRDQwMDs8L21vPjxtc3Bh
Y2Ugd2lkdGg9IjEwMHB4Ii8+PC9tdW5kZXI+PC9tYXRoPgorCisgICAgPHA+SW5maXggZm9ybTo8
L3A+CisgICAgVSsxRUVGMDo8bWF0aD48bXVuZGVyPjxtbyBmb3JtPSJpbmZpeCI+JiN4MUVFRjA7
PC9tbz48bXNwYWNlIHdpZHRoPSIxMDBweCIvPjwvbXVuZGVyPjwvbWF0aD4KKyAgICBVKzFFRUYx
OjxtYXRoPjxtdW5kZXI+PG1vIGZvcm09ImluZml4Ij4mI3gxRUVGMTs8L21vPjxtc3BhY2Ugd2lk
dGg9IjEwMHB4Ii8+PC9tdW5kZXI+PC9tYXRoPgorICAgIFUrMUQ0MDA6PG1hdGg+PG11bmRlcj48
bW8gZm9ybT0iaW5maXgiPiYjeDFENDAwOzwvbW8+PG1zcGFjZSB3aWR0aD0iMTAwcHgiLz48L211
bmRlcj48L21hdGg+CisKKyAgICA8cD5Qb3N0Zml4IGZvcm06PC9wPgorICAgIFUrMUVFRjA6PG1h
dGg+PG11bmRlcj48bW8gZm9ybT0icG9zdGZpeCI+JiN4MUVFRjA7PC9tbz48bXNwYWNlIHdpZHRo
PSIxMDBweCIvPjwvbXVuZGVyPjwvbWF0aD4KKyAgICBVKzFFRUYxOjxtYXRoPjxtdW5kZXI+PG1v
IGZvcm09InBvc3RmaXgiPiYjeDFFRUYxOzwvbW8+PG1zcGFjZSB3aWR0aD0iMTAwcHgiLz48L211
bmRlcj48L21hdGg+CisgICAgVSsxRDQwMDo8bWF0aD48bXVuZGVyPjxtbyBmb3JtPSJwb3N0Zml4
Ij4mI3gxRDQwMDs8L21vPjxtc3BhY2Ugd2lkdGg9IjEwMHB4Ii8+PC9tdW5kZXI+PC9tYXRoPgor
CisgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21hdGhtbC9wcmVz
ZW50YXRpb24vbm9uLWJtcC1vcGVyYXRvcnMud29mZiBiL0xheW91dFRlc3RzL21hdGhtbC9wcmVz
ZW50YXRpb24vbm9uLWJtcC1vcGVyYXRvcnMud29mZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNDE4NTRjMjY2Mzlj
ZmU5ODM3ZDc1ZDdmMTgzMTBjZTY2MWQ1NGJiCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCA1Nzk2
CnpjbVpYMldtRlZneGIrfEBVRDcyYnBkO040MHdOX2pxO3opPChqX0lgSEhAQCROdyo5by03diU7
MnVSQ0ZJT0x1OAp6ZSlyI1oqNHBjd3oxS2ReZDdpYi11TU81eFJAVHpmKCpnamZOJnk0X15wZ0dz
ITEhPGZ8Q2dlJkc3QTdlJHA4UmcKekd5PyFudFFUSkk9XylKaFgjZkR2WDMlYjBHI0NPbC1rRUMx
PiVCIzUkN28pSl9CbmAmMl98ZGxAKFE1dThLTzBMCnpHJVV6aERHc2IlRWo8N0xpVlFTST8tK1Qy
dkNrSXt3dzU7TkdhZyFkZ0B5P0p3MCh5SVQxMEM/WGlrUilKRHhQPQp6ayVPeWBLZjMxPkckJSlj
PjhTKyg7QS1qclUhQ2A4amBQMURkSmt+M2JoU2xtMXBvbHFCPio0eyhHOWxkQE5vQ2AKekxDPUFP
X0U0ZTBAKSEqZV5lP2NzdSg3WkpTYWxgNk4lYXJPdVAwb2U7MDxGWCUhYURKUVlfQ2s0O3ZEdiQm
ciUrCnpoJCNeOHsrfkJ3cHVheF9sVCtTQjhBcT1sMy1KQzZDVkR+dTBSMjE+MFB2czNHR3N0M0pV
bFp6SlUzPUZHQ2JUOAp6SkljPD5xUU9vR2JCP2c0ZlJMfCQ2YjJ4ZGU/bWx2fE0pMV8yV2F4TGFO
Nj8xbW05P2NlNmhtYU1weURMNyYySykKenE5Nk5NKlJxXnNoOVI9SzJFZjRnd3NaKCVhJD12WEJp
Z3tDVHdOZD9le1FkdVdQfC1qc285OHElP2RvZkYtZCFsCnpqbnVeT2ZgRz1IZjg5UC05YiVGUVQ2
MlZoQm5QZDA3ZW9JJlNuSTFQIzNKR3okcXslRFhTZVJ0ckhyOSR5YGdgSAp6bFJ9P0F7RzVhXktJ
KWl1cWV2dGw0MXoqMGxsfF5xb19BRzt3KE9XJl9jclhEIURQK3ZVLSQrOEojcWdlYzF4dUQKejx5
Pl84Y3Y1IXRvRUhYbTUwWlErYGAwRUsrUGRUM3hZdXtgNTJScHJ8QyNhOHhXSEAhZWglSX5KVllw
fGx2PVUqCnp1fk1XTyMlRlJ4a0BMUmNubVJgcm81cTgtUmVvQm9rSWMpfUgxaFBmI1d9PWJnZzV8
Q3hhRD9ne29gYntVQ2p1NQp6YmpZbClPeUF6K1REaGAmOVVvZkNTYm1eTHByVm5zMjw4O0JvNF93
Ny00MlghSD1me2M5YGFBfWpQfUhNbWp9TG4Kejl6KUxkcj1yRjhNPGZwUispdkUyRFNqdnQ0b1hR
MElaUDhxTmpOR2ZiMnBfO3tPSzU7enw8dSZlQkdBakdrdTwqCnplRWwhKGs5Mj5NdXg/O0tJTChZ
ZFVWNF5GX0hSMk56PjgjeiFFfXM9ZXF1TDh6fV5AKkdabDhPX0lvYHREZWNrcAp6JmdAfjc/eEYy
RndjP1V2KUhMQEZBX2hFcmpNYi1BUjQqNEpiKXZGYTlqPUY/bWQ8LXpnWm0qfl9LczBGVzUkSUwK
endZSUk/OWpWIVNOITdHUm88fGUtQEBvNEJGWjQ8IXAyMiMrYHdGbWdpeWYkJEc+enhrWT5WS28q
LXpQNnt2KDhaCno5KjtUSmNVSF5tKjZfaFpRPCkwNitIeHJhcntgTT9FTnxzMWdLdyR3SlZkT2Yr
KXFAaUhWKH1ib2RLT1heI2N7Tgp6OzRAfDdhcWF7bWg1VyE1cyRyUUpZVj85UWBWO1RKYXJBcVIm
KzR2SmE1fT5uJmRIe29VZ29hWnZrTnNMT3IrRysKemZyZ3hCYihzbD9qWUFSSUVDcXlsUDtuOztX
JDtpcE5jakhrMUktYXdXY3o3cVgzSWkxKnxqSGtUJnYoeUhFS1RNCnp4WGFzVEJUWTVDVkdDQXlv
PFpZel9PI1B7dDF6M3Fab0Jab2I7SW1jM3YyZEdfX007eEQmVmxUSUU2Snd1ejUhQQp6cUB8c1lr
VnB9TyhCTT9ARkkmPE5mJiRAX2RFOUhXIUo9dVdQS0EoJClfQ3Q3eFpTSy1oayV7PGEpUU5fPy0w
diMKej1lJjxwdEU1Sz5PaTkrP0d0XnlVI2Z9VUxQaFl1UyNkTzFxMWU9OXolfiUhRUNqUEI7N1gm
ZzhNWHNwcj1gN2IzCno5d1l7IzxqYjZJJmVuXmBfJXopPiE/N3VMIShIcnFpNnJ8ZkdhRmU8e0RE
LVEmKm42a3k/VFJQV1NeX0gjQ09tQQp6ZzRSVVdybyZoWTh1ZigoaGIqNmdCQDhefUBRJWVrbjRM
UEAxWilWI1VZVXp+K3FqNWstJX5BNyNxZTckVlQ7SUkKei1eVDQraDkqSTlvR1htX2paKFlLalhO
YE8lVThOOyQ4PkRwUnM/XnpJU0cqd01sfkl9dWApNVlnXmZ7fT42SXs1Cno5aDF1SC1YKmp6ejRO
PyE4fHJLNFh9SHE4KThJTG12WlBPQjxTfWh8QV5YaSVJJHwrWlF6emI7byY8SjtlRmMlRgp6Mmso
YSQ/ZEdscVFUK1lxTyZpPSV0QyFJUTBsI1RrMmh4aXh1OEZOakNfQnU4PT5rTzktaVNveC0tRHol
Xjk8P14KenBeWk9pWiQ4O2dFT210eUMyczJhZEd6V2ZCTWFEQSpUKXhwQ2w3OFRkVE5sJmokS1Ez
P29nQXM+UjVoMSYhKigjCnohJm5aKCYtY0EyKz5mNFNGJFhWOT4rUVBfOHRWYFhjU1E5d0VtOWZZ
UDthU2duY2RMQypoZ19gY1Zae1ItOzFEYgp6SUlNTnJ2a0JXJndKS0k/YiRtfUc0Z1ZJbF5PfmRp
cyRmO350QSluS0NjJFpYS0lHRmx3TFZFWSsma0xIWTxHRjYKekBEcClyVTQ1IW5Lc2Q7VyMldCle
RzJBdmMpT3h0PWhvZkR+NSRDbnttVVpEemtMKmB4az8mdCFPN0Ure2NrZm49CnpTfHs2VWJMUEVr
YSs9RmtqWWZQYjZKUEpFbXdrWGdAVzArQ3hjZDkteTdEPWooIUpVNmwzLSZGOUhJWWQmQ3FCcgp6
WiF0a1hqWkoxVnA+QUhSPD1BTFE8Kkd2LW5EYn1WMSFtdWJAYjtOJD8qZWhWOEQtX3tSNz5STS1a
fW5TVD1HKUIKemhXKiUkMyNkNG1xQSE+SGZOdihMQnZ6VmxUPUIodDwoKjVBeXd+LXF6KjZzWTta
b1EzSHtkaj9aaG05NjdkOWlyCnpTWU19Vj1vPmljPTA4SUF2RmZOQXM7SXUpTm1VVyhzQ3p+WEg0
dyMqc1pnbj9tOHo7OEJSaHEpbztAZVg1N2otRAp6KTV4R2o8Z0dSOXtTZHdhLWoyVmw4JnkwTklo
MDxSKlVtTVpjSDdHdDlTKldWPCE8XnBkeWg2dz81eUl+Q2pEWDwKens4XzBFRip5Pn1hKz1oUVBX
fGxDKHZYVkc2TWhVUm9XN24zVWNKJntkXkYkeCU7VX18WXZ+fTlVR0dIM0l7d09yCnp3Sy0lQHMx
NUpoN0pJZStUZSlQQzNySFVfcExgQTBYTkg9QEZMdD19Uz80I2BfJiltZFhqITY2OCVgMkh4ZG5H
YQp6Zzs8OUA4fVdmNmE4SnVGPGlgXmBIKFBzQzJ1bkFfLWhqc0NSV2JlMiM+T08hTj54YGROanRk
JXA1TzYoUX1Aa3IKenZpSUl6JkF+ciRxNkE5OEJqfSFIJjFPMU9DYil1WGxAcSMkVEUwTjBwNDZP
dSsjUV9WYmFLOG1xTDZmVlMkWWQ0Cno8Mkkqd1ZlK3pUJkFTdHRXaC1rWVlld1Zhd2UqSm95MnlI
M05UM1lZK2dFVHtRLWpvblAzRTtGdEJ4LTVAQmhgdgp6d2JURnhSI0NlYT5KYnVBKyltYnNiR3NY
Zjc/MT4pP3UlXkZFSzkqR2syVDVhKGw7fSVwSnAwcDcqRVplQ1ZVK0YKeis5P0BmTHZtOD8zU0FC
dCkjfDk0dCFKelY+fTJZYzZ4V1QrMmFfekN5fWZWYytZfDBRelN4QChaM3w4cWQraS1xCnp0PSRs
OERwUFh6RlFZQVJYYGdHfSlvQyNvSWNUNENIbjRZWkoyKih2Qzk4TnchPXgzTXl7MTM/eSZgcHJa
bX40dgp6YGo2aGxYdndWZy1DaiZJTFRhOyooTjlJVyR7TGQxZyZsTjVgNmc0P2pgd1RPd3FCPDJJ
cTlsbzYyeU5Lc01KR0kKekJldk17PVZKQTtHTyQ3U2E/YSorLXxuVmJ7TnF0entoO29gJmgtYzZA
MUE4e2AmYEc1Uyt3ODFIITYxPCFNOylMCnoybUZ2PENpJTFsbld5Sk08YTxkVyZvdjxfKk1YNHgm
REQqckFMUjc5aD5jblhOVXd3eXB6PH5hYGktVHM5dEFZSwp6M35+QTFjQmd3emJ+SnBLYUsjO2g1
S3tQWEBifkAkd1YrUXFXTSR2fSpxMGZfMDhhRDt0Qj1wbj8xO2BqdXVzcnEKejRJdktKdj1YZWN0
LW4pO0hsMk9yUlFIVyl2e0gzUEtfSnNkbHhIbCFRXlMlWHxLdHZFN0p7XkVVOXkpeFl2YEBTCnpQ
fCMyZHc/MCZ5Wm1le3U0M2x3VVVjfSkjbXVjKmJVcV5eMyVqPkc5KU85JFBPQUFHYCFea0dSdzw7
TzVYJEFTWAp6dnRrRUh7SEN+NjZ0a35QNGRxfiZuekxIYCpfSCRLOXx7fjV3Jml3UHlgRmZORVgq
RjwqJHIpZmZIZjtPck0zdHAKenpUXlJaRT15SlhpTmFNJjRocCtxez9vPE8zfVEtRVklSWZfQFNR
T0QxSDV2KilvZTtpOHQ2c0pycXokMUB2aFplCnp8TjdkVVdXMGZjezdORTVkfWMlZEoqVk56ZXV8
THckKGozZEBmPEZgaGpOXihQWE49OGxRX30lOWRBVk9oVHduQAp6MGg7KjtBSkc7KlBkT3lXbjVK
T3UzUzJRa1M3bzxUKU04b2o/UlJZTzBjbUQzZ1FyWnJRP29RRDc0fSU2UH1BPkQKekUrSHc/UWlL
c05MdVEpcngkb0B1bEpwQmo4c25yazdzR35lX2V4eFlAMllYYl5GR3x9YWhqZDB3ekZSUFUjV2p+
CnoxTyVmRlJrU1glMlBFKHBOYClPTnNqR2B1eGBSO3krWl9mdSFAU2RGMSREKXltdmcxPih8eHEx
dXlQR0Aze3tGVwp6eWAoe0ZIZyRzZkhRKHxzYUdrISojdS1XUjVsQ0lpK2tlZDlKayZxWkExN0BO
ajhvNVhWPHBXIUBWKGlwV1hZWWsKelhfKFN8d3ZJYjFreUcwZTVGNEx+dVVDS0hqMzNgTmhvMmlg
Xm88Kjd6KktBRSpjdjIkTkt+M1paVDwrZ0xBbD0tCno5VlNOVzNqWVMqe2U7emp1N0FDNyNIX0Qx
LVE9MmIwQCZKUmVnRn5mb34qYmR5Nk9MZ0RPS0N6X3ZtKzh5ZHY/Pwp6PE5kUEwhRnVzb1omISla
ZU9Wc0VXNm5pN0c8TUg7PlFlZ3NJKmN3fmp6ZkpwakNWNEV3UjcxP3pFczVNaE1KTTgKelZ9IWpt
VW5CMz9MP1NkZ2NOaXt8OHFuQn1OeVVLfCpeeUx8MCZHcjcrWkIwb0w8LXlTJndyeS0+VE5BZGln
Zyh7CnppbEdKK3NDNl9iRkNBaGZ1cDs3QHQ+KTR1c3BjfX0/PXV9NUFkVXYxQFpVYClvPjtSK0BF
VWVKWkRQZl5zJi0mbwp6I25nRzV3K2tHenojd2RZVEVKPEt7bXh3fDwyZXpZSk81OU5zdVFWVmBH
VG51Ql54blNrMD8kZnAqNTsrMVcpUzAKekpZbWt8VmAoei1KfGgrezlFKkBYTUFSRnpIVSZxUUp5
Uno1M1VCVDk8WDFlMW43OzleYT0lZ1phaEgyaGJ9bUlvCnpQSHJGbCkrbjd0cVZORCFwZDRyPSpP
MlhLdz9iUWkrcH5AaDhLTzM8a0JESGxsfnxfVE5fJEU9clJKJlhQN1hGRgp6ci1ITS1hUjV6d1l0
X3grez9pKHNCUFlXdklBfGZSQjdLcU1mfmtLamxHaTwwP0FBWWVWY3c9KXpJd2tVbzV7Z1AKei1D
eWB4WWhnUklQe0dOSCUwPVZ8MHlEPHBCV2hGcyNGKTBTQUxYazNxdEw0fXVCcjJoJExCaTQ1eXxj
UmdNKFBBCnplUFdPPTRsVUltIzxifHNVd0xkY1dWSGkqM3YpRHZuV3tQOzI4a3NDUT0hYzE1Q0NE
TFU/YykyZjBhOXQmR3o7Qwp6dmpNVjN1LVhvLU1VR3FaZC1gWjVoVVhGQ3RgN29QNExzZz1AfG4k
ekVqNmtiaWFCanttXztffmgzLUJNNUk3JWIKenBxVEgjRnhzfHRUMFZ5ZSg9N0d8WihmX2MjPntQ
UEJ0ezFwaURmSUB6bzMyfWQjOTEtYTgrY3cpQnxSZykhJFo7CnpheVB3VHtNa1YqIXRYX19PfFp3
SHIqISE5ej9rfnF3cllJeDM4Q3VPbUFSPFNjOHtAJHk5aHpgX2BHbih0TDBEbgp6VW4kYGVxcnJH
bVJ5MWBISG1ZeGFfSVgtSjV6U3xDTFUyVX1TWE9PfG5LTHZgT0l+VDxTP2pkKzAxWGBkekZJSz4K
ekRkUER4VCFhIXk3dTBAQDxQM2l6MkJ9aXdJSE9YT1k/SztBRzFAUlBHeFFeUVJPOHgoTDVpRldl
VX5HbV9oVlMkCnpVcWIzN04tVVJnaEg5c194JVJEYTk8amBiY0tmQmR4dWB3byR+KGgteCkleTU7
N3l3TCpieXticWhVXmRhVzBYZgp6P3JAI1NpcWZ2WHt2NzE+YmBiP3ZFXzluODZCcTJBQE58d2tR
X0lNfXlDNjQ4cT1ibzQ8MHFCKG1mbTVuYmdCcSMKejFpbEMta0VaQEApOUlBfURLaDJ+YGRSIzdw
RFktOCgtMElESmxibUZ8OGBmMz40fFk+Vkk8TTVYNXlCZyhxdENsCnolLWopbjBgbGhXOUhONVp5
SV58byYqYm5eODtIKio+e3QjYl5fSyEpZDFaa0UqPWI5YTd4bzsjS3RiZ31PVkVmbwp6bGpIUClL
PSNWc2s4UmJ9aXZHZ1MwQmxPbnFDVSNrWXFoUE9EVyl1JCg7Y31jbVU4XjVjMzdOaDRkR3clVWxx
Rz8Kek15SkZrSURNPWtOV2owS08jTHdKWklGSU5oTUFJc3EyKik2bkopU1JvYWZ2JnZTZTw5IVcr
QWhuSXE5fWpjQnVMCnpuNClpMjR6UzNXN2EwJTxuSCF4P0x3QDY/Q1ZjX0E4T1FtcF5yX2g2Xn5f
VU9JdCZONFg7dCFhK0N4K3sxQ0Azdwp6UkxOQykwTilUJXo4N1VvcktjSEJhRClvdXgwOEVvI1ky
YCtEIVRCM3koTFFpbyRnUyMjQ3tTPnFtX3drR1B7Un4KelNMVD49T0d+MHlzVXxVKk9CZTJgZzFR
TSExPzlGeFpVd0RKaUNsaWtBe1hvSDYzR3F7JCpocDRtKGhkYmMoTn1KCnpGb1F4WGYkdjFfRXpM
TWFGaWJCLStkVU0yUGVqRVhGa01adXo1RU52WENAUjBNQWZSUnU7X0VWSTVUe1R3Q1NGdAp6alND
cTRQVkE2byhMUns8b24zeUBoUSZwMWBKU25VRGY+fEdqMDN0QlNWX143VEB6NCQmbSZtSUJqfT4q
PXZhN1kKek1ATzM7Pjs5OWxiU3t7I3NLazdNcGxNdjx3V1JKRGsxOEVadmM+Q08pcWRzX0B5fVlr
PVc2biFpQD4zVlowa3R4CnpxMU04UXwzd2t2dmdAISRkZi19NkVCSUtlVUluY0M+RGtWZSRJVmsq
dFZOfn05b2ZxbUdwKERAQDJidU0rOWkjTAp6aDtgemQ1TmNlNnJNPGBVMj8/U2F5ZHVnbDgrVFNO
aSM+WX4raChqMiV6UFVfLXNEcXYtZn58amAmJiEpVzdSVTAKeklMP21iJkR2cUJibTVnR0lQJUpI
Vj44aVJNTkYoVSN3PjtMRHlFME97aCNRQTJoVmVUZCFKaiFfMFVsMSVMZDFJCnpSVnxIP2xlKkEo
cnBJNVlRRVhxTzQ3eTlQeCNibTYlc35vVW96Z1UxUWtmaD96UzQ5KWpXLWFJZ0VjVyNJIV9rcQp6
byY4RjsrdyVLT3NHZzV3P3lRXnYtYzBvTSF3aHA5WmVpWn40TWNfclU+MTR8RT5DIzI2XitFcUI5
JEozSikoI3kKejN8e35WUjxfe3dSNEU7YWtDTU9XOylSKE02cElCSjZEIUtObX5TWiV4K2s4WVBz
bldDcjZTc0c2cG1SKzVFdSRnCnolUUhYSj8yMC1SV0JQZ0V6e0NpJUs1NCtmKD5Ud0RSdHt8US0q
V2BwdzJ3LWsydlhyNzFgUDkkXlBpYmdPVUgmQAp6WkpLVn4jczN2LSVHI3BOUGBoMmU2YnhFYUU5
bTMqMElmQD4hdSRMYjkhclpqVVoxMHVLR2UhaVAxWGJnTDtCfXMKendAMj5OOFJXXjkpbis5dG11
dUI3NEgofms+UjZVRnkqck9eXlhmSUl6WHg/PlB4SzV5T0N2cDZ7dmVWMU1AWGJqCnpGdERUXm1D
ZF8tVlYzLWxuTnw0K14xciF7d1N8UitFZ0NwaGo0WFJrd249ZjZhWSVFWFB9KlhCN0V+TkVxN2Uh
Ywp6cUVFNTJ2OU5rPzUmUVZhSmM+TDIkb3liVnhIIV9ea0lCalNNVCk5ezRpQmQ/SHBZcSpYWlIo
ZDF6ezhQZDteIXwKejBaKTUrYlFtQj9OWF4ybzE+bjt6aGc8O3cqKz8/VXxGU0FPSzsre2pwfFZf
akRoNHtlOz9sP0hfJURBLSlLT0RBCnpsQjFOVjc8Mjd0c1dtbyN3JDAlWHsyVztPd1ZlISRgT0Vy
LVN2ejA4VktKNEp0YCs0ZSQ4djQqYz8pPGFJVlVxawp6YnwhU28reWlKc0tFSkpBJkQhcDFBdX1+
YDRMS3tJQzYwSzckIWgwcFB9fGBCcDRaVEthRVduVDF9Z3pXQT4wPn0KelVQWGs9SS1QdWNFU3ND
MS1BQ357PTg0dEB6RmN5SVBXX1g8ajE/PVlJYVVxfiRLUjJiR353RGJGfDtgYDk0an4hCno1NnFk
TXtkWiswTkh7ekljbD1xJjkhO3lgdjRvJG1KSG9UKENUWnkwMD99MGNTZCYraEtONVlTX3AtQ1lZ
Vm9tRQp6Xyl5USo3eWBfc1VQelNRczV2fUBabDcmdUBBZFVZXkc0Wjk0R0J0KDVVfjVsZiYzRml7
bnJpeEQyS25tQnNaZGYKelYmUmhoVkppTzB2QHgrR2JXOHlzPGZPO3czQkJiVEdkfkF2My0hfXNC
K3x2SE0/Y35zZm4tSitBPWUoRTZVZzReCnpDK3UwdzdzNlQ4cDBNKnoqMDl2d29pbDsmYGZzUjsh
KX1iekBuPjxsPnFeN0NsNHFXRVh4dFFJPiYtLTxeak4+Sgp6eF4qeCpCZDVzM2VVeF4/X0p0aWBt
MkZHI1lhbUUwKm8jYlFKOXA7ZjF0eHB1TU4yODRXPzR7ZUhEZjkyKWtSI34KejRSPzh6Si1GdmRB
PWgjOHxLXlNzN0IreTBhbj9oVyNteUtAZlFBU2xaO1cmTWZCeT1kYWMpYHBfeTJ+R19GRGBGCnoj
RG9pWkpiQzkjVWdTcklpRH1KMWM5Xzg4RyQ1M2FYb0N+cVBVYmhrXmBybUtIQlhBYFZFQDF1Pnsx
e05KQj91QAp6ZD5HYmA3c1ZuQGpIQkZ1JDN7fkg7M3RWQmVHZ15PJXZSOCY8QiNZNjVqSUpSUyo0
RSZ1ZlgtZ2VNNjs4MDVFemoKelhObSFIeyZIaFB5QXNabW19M3JEVTRLdS1oRGxHd1B1I3hwZWly
diFTanE8ajs9K1VmfDlib3tTMCNrNDBDdW5kCkwwJmt4PDAwOTMzR0ttVFUKCmxpdGVyYWwgMApI
Y21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiYmFmNWZiLi5kN2QyNmZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsNDIgQEAKKzIwMTYtMDgtMjUgIEZyZWRlcmljIFdhbmcgIDxmd2FuZ0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBub24tQk1QIG9wZXJhdG9ycyBVKzFFRUYw
IGFuZCBVKzFFRUYxCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTM5ODQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0czogbWF0aG1sL3ByZXNlbnRhdGlvbi9ub24tYm1wLW9wZXJhdG9ycy1zcGFjaW5n
Lmh0bWwKKyAgICAgICAgICAgICAgIG1hdGhtbC9wcmVzZW50YXRpb24vbm9uLWJtcC1vcGVyYXRv
cnMtc3RyZXRjaGluZy5odG1sCisKKyAgICAgICAgKiBtYXRobWwvTWF0aE1MT3BlcmF0b3JEaWN0
aW9uYXJ5LmNwcDogV2UgbW92ZSB0aGUgZGVmaW5pdGlvbiBvZiBvcGVyYXRvciBkaWN0aW9uYXJ5
IEVudHJ5CisgICAgICAgIGhlcmUgYXMgaXQgaXMgbm90IHVzZWQgYnkgZXh0ZXJuYWwgY29kZS4K
KyAgICAgICAgV2Ugbm93IGFsc28gYWNjZXB0IG5vbi1CTVAgb3BlcmF0b3JzIGFuZCBhZGQgZW50
cmllcyBmb3IgVSsxRUVGMCBhbmQgVSsxRUVGMS4KKyAgICAgICAgKFdlYkNvcmU6OmV4dHJhY3RQ
cm9wZXJ0eSk6IEhlbHBlciBmdW5jdGlvbiB0byBjb252ZXJ0IGZyb20gRW50cnkgc3RydWN0dXJl
IHRvIGEgUHJvcGVydHkKKyAgICAgICAgc3RydWN0dXJlLgorICAgICAgICAoV2ViQ29yZTo6TWF0
aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpzZWFyY2gpOiBUaGlzIGZ1bmN0aW9uIG5vdyBhY2NlcHRz
IGEgbm9uLUJNUCBwYXJhbWV0ZXIKKyAgICAgICAgYW5kIHJldHVybnMgYSBQcm9wZXJ0eSBzdHJ1
Y3R1cmUuCisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OmlzVmVy
dGljYWwpOiBUaGlzIGZ1bmN0aW9uIG5vdyBhY2NlcHRzIGEgbm9uLUJNUCBwYXJhbWV0ZXIuCisg
ICAgICAgICogbWF0aG1sL01hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS5oOiBSZXBsYWNlIHRoZSBF
bnRyeSBzdHJ1Y3R1cmUgd2l0aCBhIFByb3BlcnR5IHN0cnVjdHVyZQorICAgICAgICB3aGljaCB3
YXMgdXNlZCBieSBNYXRoTUxPcGVyYXRvckVsZW1lbnQuIFVwZGF0ZSB0aGUgc2lnbmF0dXJlcyBv
ZiBzZWFyY2ggYW5kIGlzVmVydGljYWwuCisgICAgICAgICogbWF0aG1sL01hdGhNTE9wZXJhdG9y
RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxPcGVyYXRvckVsZW1lbnQ6OnBh
cnNlT3BlcmF0b3JDaGFyKTogUmVtb3ZlIHRoZSBzcGVjaWFsIGNhc2UgdGhhdCBleGNsdWRlcwor
ICAgICAgICBub24tQk1QIG9wZXJhdG9ycy4KKyAgICAgICAgKFdlYkNvcmU6Ok1hdGhNTE9wZXJh
dG9yRWxlbWVudDo6Y29tcHV0ZURpY3Rpb25hcnlQcm9wZXJ0eSk6IFJlbmFtZSB0aGUgcHJvcGVy
dHkgc3RydWN0dXJlCisgICAgICAgIHRvIHVzZSB0aGUgb25lIG1vdmVkIGludG8gTWF0aE1MT3Bl
cmF0b3JEaWN0aW9uYXJ5LmguIFdlIG5vIGxvbmdlciBuZWVkIHRvIGNvbnZlcnQgdGhlIHJlc3Vs
dAorICAgICAgICBvZiB0aGUgc2VhcmNoIGNhbGwuCisgICAgICAgIChXZWJDb3JlOjpNYXRoTUxP
cGVyYXRvckVsZW1lbnQ6OmRpY3Rpb25hcnlQcm9wZXJ0eSk6IFJlbmFtZSB0aGUgcHJvcGVydHkg
c3RydWN0dXJlLgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1lbnQuaDogTWFr
ZSBPcGVyYXRvckNoYXIgYWNjZXB0IG5vbi1CTVAgb3BlcmF0b3JzLgorICAgICAgICBNYXRoTUxP
cGVyYXRvckVsZW1lbnQ6OkRpY3Rpb25hcnlQcm9wZXJ0eSBpcyBub3cgbW92ZWQgaW50byBNYXRo
TUxPcGVyYXRvckRpY3Rpb25hcnkKKyAgICAgICAgYW5kIHJlbmFtZWQgUHJvcGVydHkuCisgICAg
ICAgICogcmVuZGVyaW5nL21hdGhtbC9NYXRoT3BlcmF0b3IuY3BwOiBBY2NlcHQgbm9uLUJNUCBv
cGVyYXRvcnMuCisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9NYXRoT3BlcmF0b3IuaDogRGl0
dG8uCisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWRPcGVyYXRv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxGZW5jZWRPcGVyYXRvcjo6dXBk
YXRlT3BlcmF0b3JDb250ZW50KTogIEFkanVzdCBjb2RlIHRvIHVzZSB0aGUgbmV3CisgICAgICAg
IHJldHVybiB0eXBlIG9mIE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6c2VhcmNoLgorICAgICAg
ICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3IuaDogQWNjZXB0
IG5vbi1CTVAgb3BlcmF0b3JzLgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0
aE1MT3BlcmF0b3IuY3BwOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRl
ck1hdGhNTE9wZXJhdG9yLmg6IERpdHRvLgorCiAyMDE2LTA4LTI4ICBBbmRyZWFzIEtsaW5nICA8
YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBkb2N1bWVudC50aXRsZSBzZXR0ZXIgY2FuJ3Qg
dGhyb3cuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JE
aWN0aW9uYXJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckRpY3Rp
b25hcnkuY3BwCmluZGV4IGQ3OTgxMjUuLjQyMTRmYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckRpY3Rpb25hcnkuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckRpY3Rpb25hcnkuY3BwCkBAIC0zMiwxMyArMzIsMjkg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgTWF0aE1MT3BlcmF0b3JE
aWN0aW9uYXJ5OwogCi10eXBlZGVmIHN0ZDo6cGFpcjxVQ2hhciwgRm9ybT4gS2V5OwordHlwZWRl
ZiBzdGQ6OnBhaXI8VUNoYXIzMiwgRm9ybT4gS2V5Oworc3RydWN0IEVudHJ5IHsKKyAgICBVQ2hh
cjMyIGNoYXJhY3RlcjsKKyAgICB1bnNpZ25lZCBmb3JtIDogMjsKKyAgICB1bnNpZ25lZCBsc3Bh
Y2UgOiAzOworICAgIHVuc2lnbmVkIHJzcGFjZSA6IDM7CisgICAgdW5zaWduZWQgZmxhZ3MgOiA4
OworfTsKK3N0YXRpYyBQcm9wZXJ0eSBleHRyYWN0UHJvcGVydHkoY29uc3QgRW50cnkmIGVudHJ5
KQoreworICAgIFByb3BlcnR5IHByb3BlcnR5OworICAgIHByb3BlcnR5LmZvcm0gPSBzdGF0aWNf
Y2FzdDxNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OkZvcm0+KGVudHJ5LmZvcm0pOworICAgIHBy
b3BlcnR5LmxlYWRpbmdTcGFjZUluTWF0aFVuaXQgPSBlbnRyeS5sc3BhY2U7CisgICAgcHJvcGVy
dHkudHJhaWxpbmdTcGFjZUluTWF0aFVuaXQgPSBlbnRyeS5yc3BhY2U7CisgICAgcHJvcGVydHku
ZmxhZ3MgPSBlbnRyeS5mbGFnczsKKyAgICByZXR1cm4gcHJvcGVydHk7Cit9CiBzdGF0aWMgaW5s
aW5lIEtleSBFeHRyYWN0S2V5KGNvbnN0IEVudHJ5KiBlbnRyeSkgeyByZXR1cm4gS2V5KGVudHJ5
LT5jaGFyYWN0ZXIsIHN0YXRpY19jYXN0PEZvcm0+KGVudHJ5LT5mb3JtKSk7IH0KLXN0YXRpYyBp
bmxpbmUgVUNoYXIgRXh0cmFjdENoYXIoY29uc3QgRW50cnkqIGVudHJ5KSB7IHJldHVybiBlbnRy
eS0+Y2hhcmFjdGVyOyB9CitzdGF0aWMgaW5saW5lIFVDaGFyMzIgRXh0cmFjdENoYXIoY29uc3Qg
RW50cnkqIGVudHJ5KSB7IHJldHVybiBlbnRyeS0+Y2hhcmFjdGVyOyB9CiAKIC8vIFRoaXMgdGFi
bGUgaGFzIGJlZW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSB0aGUgT3BlcmF0b3IgRGlj
dGlvbmFyeSBvZiB0aGUgTWF0aE1MMyBzcGVjaWZpY2F0aW9uIChhcHBlbmRpeCBDKS4KIC8vIFNv
bWUgcGVvcGxlIHVzZSB0aGUgYmluYXJ5IG9wZXJhdG9yICJVKzIyMjUgUEFSQUxMRUwgVE8iIGFz
IGFuIG9wZW5pbmcgYW5kIGNsb3NpbmcgZGVsaW1pdGVyLCBzbyB3ZSBhZGQgdGhlIGNvcnJlc3Bv
bmRpbmcgc3RyZXRjaHkgcHJlZml4IGFuZCBwb3N0Zml4IGZvcm1zLgotc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGRpY3Rpb25hcnlTaXplID0gMTA0MTsKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBkaWN0
aW9uYXJ5U2l6ZSA9IDEwNDM7CiBzdGF0aWMgY29uc3QgRW50cnkgZGljdGlvbmFyeVtkaWN0aW9u
YXJ5U2l6ZV0gPSB7CiAgICAgeyAweDIxLCBQb3N0Zml4LCAxLCAwLCAwfSwgLy8gRVhDTEFNQVRJ
T04gTUFSSwogICAgIHsgMHgyNSwgSW5maXgsIDMsIDMsIDB9LCAvLyBQRVJDRU5UIFNJR04KQEAg
LTEwODAsNDQgKzEwOTYsNDYgQEAgc3RhdGljIGNvbnN0IEVudHJ5IGRpY3Rpb25hcnlbZGljdGlv
bmFyeVNpemVdID0gewogICAgIHsgMHgyQUZFLCBJbmZpeCwgMywgMywgMH0sIC8vIFdISVRFIFZF
UlRJQ0FMIEJBUgogICAgIHsgMHgyQUZGLCBQcmVmaXgsIDEsIDIsIFN5bW1ldHJpYyB8IExhcmdl
T3AgfCBNb3ZhYmxlTGltaXRzfSwgLy8gTi1BUlkgV0hJVEUgVkVSVElDQUwgQkFSCiAgICAgeyAw
eDJCNDUsIEluZml4LCA1LCA1LCBTdHJldGNoeX0sIC8vIExFRlRXQVJEUyBRVUFEUlVQTEUgQVJS
T1cKLSAgICB7IDB4MkI0NiwgSW5maXgsIDUsIDUsIFN0cmV0Y2h5fSAvLyBSSUdIVFdBUkRTIFFV
QURSVVBMRSBBUlJPVworICAgIHsgMHgyQjQ2LCBJbmZpeCwgNSwgNSwgU3RyZXRjaHl9LCAvLyBS
SUdIVFdBUkRTIFFVQURSVVBMRSBBUlJPVworICAgIHsgMHgxRUVGMCwgUHJlZml4LCAwLCAwLCBT
dHJldGNoeSB9LCAvLyBBUkFCSUMgTUFUSEVNQVRJQ0FMIE9QRVJBVE9SIE1FRU0gV0lUSCBIQUgg
V0lUSCBUQVRXRUVMCisgICAgeyAweDFFRUYxLCBQcmVmaXgsIDAsIDAsIFN0cmV0Y2h5IH0gLy8g
QVJBQklDIE1BVEhFTUFUSUNBTCBPUEVSQVRPUiBIQUggV0lUSCBEQUwKIH07CiAKIC8vIEEgbGlz
dCBvZiBvcGVyYXRvcnMgdGhhdCBzdHJldGNoIGluIHRoZSBob3Jpem9udGFsIGRpcmVjdGlvbi4g
VGhpcyBoYXMgYmVlbiBnZW5lcmF0ZWQgZnJvbSBNb3ppbGxhJ3MgTWF0aE1MIG9wZXJhdG9yIGRp
Y3Rpb25hcnkuCi1zdGF0aWMgaW5saW5lIFVDaGFyIEV4dHJhY3RLZXlIb3Jpem9udGFsKGNvbnN0
IFVDaGFyKiBlbnRyeSkgeyByZXR1cm4gKmVudHJ5OyB9Ci1zdGF0aWMgY29uc3QgVUNoYXIgaG9y
aXpvbnRhbE9wZXJhdG9yc1tdID0gewotICAgIDB4MDAzRCwgMHgwMDVFLCAweDAwNUYsIDB4MDA3
RSwgMHgwMEFGLCAweDAyQzYsIDB4MDJDNywgMHgwMkM5LCAweDAyQ0QsIDB4MDJEQywgMHgwMkY3
LCAweDAzMDIsIDB4MDMzMiwgMHgyMDNFLCAweDIwRDAsIDB4MjBEMSwgMHgyMEQ2LCAweDIwRDcs
IDB4MjBFMSwgMHgyMTkwLCAweDIxOTIsIDB4MjE5NCwgMHgyMTk4LCAweDIxOTksIDB4MjE5Qywg
MHgyMTlELCAweDIxOUUsIDB4MjFBMCwgMHgyMUEyLCAweDIxQTMsIDB4MjFBNCwgMHgyMUE2LCAw
eDIxQTksIDB4MjFBQSwgMHgyMUFCLCAweDIxQUMsIDB4MjFBRCwgMHgyMUI0LCAweDIxQjksIDB4
MjFCQywgMHgyMUJELCAweDIxQzAsIDB4MjFDMSwgMHgyMUM0LCAweDIxQzYsIDB4MjFDNywgMHgy
MUM5LCAweDIxQ0IsIDB4MjFDQywgMHgyMUQwLCAweDIxRDIsIDB4MjFENCwgMHgyMURBLCAweDIx
REIsIDB4MjFEQywgMHgyMURELCAweDIxRTAsIDB4MjFFMiwgMHgyMUU0LCAweDIxRTUsIDB4MjFF
NiwgMHgyMUU4LCAweDIxRjAsIDB4MjFGNiwgMHgyMUZELCAweDIxRkUsIDB4MjFGRiwgMHgyM0I0
LCAweDIzQjUsIDB4MjNEQywgMHgyM0RELCAweDIzREUsIDB4MjNERiwgMHgyM0UwLCAweDIzRTEs
IDB4MjUwMCwgMHgyN0Y1LCAweDI3RjYsIDB4MjdGNywgMHgyN0Y4LCAweDI3RjksIDB4MjdGQSwg
MHgyN0ZCLCAweDI3RkMsIDB4MjdGRCwgMHgyN0ZFLCAweDI3RkYsIDB4MjkwQywgMHgyOTBELCAw
eDI5MEUsIDB4MjkwRiwgMHgyOTEwLCAweDI5NEUsIDB4Mjk1MCwgMHgyOTUyLCAweDI5NTMsIDB4
Mjk1NiwgMHgyOTU3LCAweDI5NUEsIDB4Mjk1QiwgMHgyOTVFLCAweDI5NUYsIDB4MkI0NSwgMHgy
QjQ2LCAweEZFMzUsIDB4RkUzNiwgMHhGRTM3LCAweEZFMzgKK3N0YXRpYyBpbmxpbmUgVUNoYXIz
MiBFeHRyYWN0S2V5SG9yaXpvbnRhbChjb25zdCBVQ2hhcjMyKiBlbnRyeSkgeyByZXR1cm4gKmVu
dHJ5OyB9CitzdGF0aWMgY29uc3QgVUNoYXIzMiBob3Jpem9udGFsT3BlcmF0b3JzW10gPSB7Cisg
ICAgMHgwMDNELCAweDAwNUUsIDB4MDA1RiwgMHgwMDdFLCAweDAwQUYsIDB4MDJDNiwgMHgwMkM3
LCAweDAyQzksIDB4MDJDRCwgMHgwMkRDLCAweDAyRjcsIDB4MDMwMiwgMHgwMzMyLCAweDIwM0Us
IDB4MjBEMCwgMHgyMEQxLCAweDIwRDYsIDB4MjBENywgMHgyMEUxLCAweDIxOTAsIDB4MjE5Miwg
MHgyMTk0LCAweDIxOTgsIDB4MjE5OSwgMHgyMTlDLCAweDIxOUQsIDB4MjE5RSwgMHgyMUEwLCAw
eDIxQTIsIDB4MjFBMywgMHgyMUE0LCAweDIxQTYsIDB4MjFBOSwgMHgyMUFBLCAweDIxQUIsIDB4
MjFBQywgMHgyMUFELCAweDIxQjQsIDB4MjFCOSwgMHgyMUJDLCAweDIxQkQsIDB4MjFDMCwgMHgy
MUMxLCAweDIxQzQsIDB4MjFDNiwgMHgyMUM3LCAweDIxQzksIDB4MjFDQiwgMHgyMUNDLCAweDIx
RDAsIDB4MjFEMiwgMHgyMUQ0LCAweDIxREEsIDB4MjFEQiwgMHgyMURDLCAweDIxREQsIDB4MjFF
MCwgMHgyMUUyLCAweDIxRTQsIDB4MjFFNSwgMHgyMUU2LCAweDIxRTgsIDB4MjFGMCwgMHgyMUY2
LCAweDIxRkQsIDB4MjFGRSwgMHgyMUZGLCAweDIzQjQsIDB4MjNCNSwgMHgyM0RDLCAweDIzREQs
IDB4MjNERSwgMHgyM0RGLCAweDIzRTAsIDB4MjNFMSwgMHgyNTAwLCAweDI3RjUsIDB4MjdGNiwg
MHgyN0Y3LCAweDI3RjgsIDB4MjdGOSwgMHgyN0ZBLCAweDI3RkIsIDB4MjdGQywgMHgyN0ZELCAw
eDI3RkUsIDB4MjdGRiwgMHgyOTBDLCAweDI5MEQsIDB4MjkwRSwgMHgyOTBGLCAweDI5MTAsIDB4
Mjk0RSwgMHgyOTUwLCAweDI5NTIsIDB4Mjk1MywgMHgyOTU2LCAweDI5NTcsIDB4Mjk1QSwgMHgy
OTVCLCAweDI5NUUsIDB4Mjk1RiwgMHgyQjQ1LCAweDJCNDYsIDB4RkUzNSwgMHhGRTM2LCAweEZF
MzcsIDB4RkUzOCwgMHgxRUVGMCwgMHgxRUVGMQogfTsKIAotT3B0aW9uYWw8RW50cnk+IE1hdGhN
TE9wZXJhdG9yRGljdGlvbmFyeTo6c2VhcmNoKFVDaGFyIGNoYXJhY3RlciwgRm9ybSBmb3JtLCBi
b29sIGV4cGxpY2l0Rm9ybSkKK09wdGlvbmFsPFByb3BlcnR5PiBNYXRoTUxPcGVyYXRvckRpY3Rp
b25hcnk6OnNlYXJjaChVQ2hhcjMyIGNoYXJhY3RlciwgRm9ybSBmb3JtLCBib29sIGV4cGxpY2l0
Rm9ybSkKIHsKICAgICBpZiAoIWNoYXJhY3RlcikKICAgICAgICAgcmV0dXJuIE51bGxvcHQ7CiAK
ICAgICAvLyBXZSB0cnkgYW5kIGZpbmQgdGhlIGRlZmF1bHQgdmFsdWVzIGZyb20gdGhlIG9wZXJh
dG9yIGRpY3Rpb25hcnkuCiAgICAgaWYgKGF1dG8qIGVudHJ5ID0gdHJ5QmluYXJ5U2VhcmNoPGNv
bnN0IEVudHJ5LCBLZXk+KGRpY3Rpb25hcnksIGRpY3Rpb25hcnlTaXplLCBLZXkoY2hhcmFjdGVy
LCBmb3JtKSwgRXh0cmFjdEtleSkpCi0gICAgICAgIHJldHVybiAqZW50cnk7CisgICAgICAgIHJl
dHVybiBleHRyYWN0UHJvcGVydHkoKmVudHJ5KTsKIAogICAgIGlmIChleHBsaWNpdEZvcm0pCiAg
ICAgICAgIHJldHVybiBOdWxsb3B0OwogCiAgICAgLy8gSWYgd2UgZGlkIG5vdCBmaW5kIHRoZSBk
ZXNpcmVkIG9wZXJhdG9yIGZvcm0gYW5kIGlmIGl0IHdhcyBub3Qgc2V0IGV4cGxpY2l0ZWx5LCB3
ZSB1c2UgdGhlIGZpcnN0IG9uZSBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOiBJbmZpeCwgUHJlZml4
LCBQb3N0Zml4LgogICAgIC8vIFRoaXMgaXMgdG8gaGFuZGxlIGJhZCBNYXRoTUwgbWFya3VwIHdp
dGhvdXQgZXhwbGljaXQgPG1yb3c+IGRlbGltaXRlcnMgbGlrZSAiPG1vPig8L21vPjxtaT5hPC9t
aT48bW8+KTwvbW8+PG1vPig8L21vPjxtaT5iPC9taT48bW8+KTwvbW8+IiB3aGVyZSBpbm5lcmZl
bmNlcyBzaG91bGQgbm90IGJlIGNvbnNpZGVyZWQgaW5maXguCi0gICAgaWYgKGF1dG8qIGVudHJ5
ID0gdHJ5QmluYXJ5U2VhcmNoPGNvbnN0IEVudHJ5LCBVQ2hhcj4oZGljdGlvbmFyeSwgZGljdGlv
bmFyeVNpemUsIGNoYXJhY3RlciwgRXh0cmFjdENoYXIpKSB7CisgICAgaWYgKGF1dG8qIGVudHJ5
ID0gdHJ5QmluYXJ5U2VhcmNoPGNvbnN0IEVudHJ5LCBVQ2hhcjMyPihkaWN0aW9uYXJ5LCBkaWN0
aW9uYXJ5U2l6ZSwgY2hhcmFjdGVyLCBFeHRyYWN0Q2hhcikpIHsKICAgICAgICAgLy8gVGhlcmUg
YXJlIGF0IG1vc3QgdHdvIG90aGVyIGVudHJpZXMgYmVmb3JlIHRoZSBvbmUgZm91bmQuCiAgICAg
ICAgIGlmIChlbnRyeSAhPSBkaWN0aW9uYXJ5ICYmIChlbnRyeSAtIDEpLT5jaGFyYWN0ZXIgPT0g
Y2hhcmFjdGVyKQogICAgICAgICAgICAgZW50cnktLTsKICAgICAgICAgaWYgKGVudHJ5ICE9IGRp
Y3Rpb25hcnkgJiYgKGVudHJ5IC0gMSktPmNoYXJhY3RlciA9PSBjaGFyYWN0ZXIpCiAgICAgICAg
ICAgICBlbnRyeS0tOwotICAgICAgICByZXR1cm4gKmVudHJ5OworICAgICAgICByZXR1cm4gZXh0
cmFjdFByb3BlcnR5KCplbnRyeSk7CiAgICAgfQogCiAgICAgcmV0dXJuIE51bGxvcHQ7CiB9CiAK
LWJvb2wgTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5Ojppc1ZlcnRpY2FsKFVDaGFyIHRleHRDb250
ZW50KQorYm9vbCBNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OmlzVmVydGljYWwoVUNoYXIzMiB0
ZXh0Q29udGVudCkKIHsKLSAgICByZXR1cm4gIXRyeUJpbmFyeVNlYXJjaDxjb25zdCBVQ2hhciwg
VUNoYXI+KGhvcml6b250YWxPcGVyYXRvcnMsIFdURl9BUlJBWV9MRU5HVEgoaG9yaXpvbnRhbE9w
ZXJhdG9ycyksIHRleHRDb250ZW50LCBFeHRyYWN0S2V5SG9yaXpvbnRhbCk7CisgICAgcmV0dXJu
ICF0cnlCaW5hcnlTZWFyY2g8Y29uc3QgVUNoYXIzMiwgVUNoYXIzMj4oaG9yaXpvbnRhbE9wZXJh
dG9ycywgV1RGX0FSUkFZX0xFTkdUSChob3Jpem9udGFsT3BlcmF0b3JzKSwgdGV4dENvbnRlbnQs
IEV4dHJhY3RLZXlIb3Jpem9udGFsKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS5oIGIvU291cmNlL1dlYkNvcmUvbWF0
aG1sL01hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS5oCmluZGV4IGZlMTQ4ZjguLjAwZWY1MGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckRpY3Rpb25hcnku
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5LmgK
QEAgLTQ0LDE1ICs0NCwxNiBAQCBlbnVtIEZsYWcgewogICAgIFN5bW1ldHJpYyA9IDB4NDAKIH07
CiBjb25zdCB1bnNpZ25lZCBhbGxGbGFncyA9IEFjY2VudCB8IEZlbmNlIHwgTGFyZ2VPcCB8IE1v
dmFibGVMaW1pdHMgfCBTZXBhcmF0b3IgfCBTdHJldGNoeSB8IFN5bW1ldHJpYzsKLXN0cnVjdCBF
bnRyeSB7Ci0gICAgVUNoYXIgY2hhcmFjdGVyOwotICAgIHVuc2lnbmVkIGZvcm0gOiAyOwotICAg
IHVuc2lnbmVkIGxzcGFjZSA6IDM7Ci0gICAgdW5zaWduZWQgcnNwYWNlIDogMzsKLSAgICB1bnNp
Z25lZCBmbGFncyA6IDg7CitzdHJ1Y3QgUHJvcGVydHkgeworICAgIE1hdGhNTE9wZXJhdG9yRGlj
dGlvbmFyeTo6Rm9ybSBmb3JtOworICAgIC8vIERlZmF1bHQgbGVhZGluZyBhbmQgdHJhaWxpbmcg
c3BhY2VzIGFyZSAidGhpY2ttYXRoc3BhY2UiLgorICAgIHVuc2lnbmVkIHNob3J0IGxlYWRpbmdT
cGFjZUluTWF0aFVuaXQgeyA1IH07CisgICAgdW5zaWduZWQgc2hvcnQgdHJhaWxpbmdTcGFjZUlu
TWF0aFVuaXQgeyA1IH07CisgICAgLy8gRGVmYXVsdCBvcGVyYXRvciBwcm9wZXJ0aWVzIGFyZSBh
bGwgc2V0IHRvICJmYWxzZSIuCisgICAgdW5zaWduZWQgc2hvcnQgZmxhZ3MgeyAwIH07CiB9Owot
T3B0aW9uYWw8RW50cnk+IHNlYXJjaChVQ2hhciwgRm9ybSwgYm9vbCBleHBsaWNpdEZvcm0pOwot
Ym9vbCBpc1ZlcnRpY2FsKFVDaGFyKTsKK09wdGlvbmFsPFByb3BlcnR5PiBzZWFyY2goVUNoYXIz
MiwgRm9ybSwgYm9vbCBleHBsaWNpdEZvcm0pOworYm9vbCBpc1ZlcnRpY2FsKFVDaGFyMzIpOwog
fQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MT3BlcmF0b3JF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxPcGVyYXRvckVsZW1lbnQu
Y3BwCmluZGV4IDg4YTI5ZDYuLjk2OGFmZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21h
dGhtbC9NYXRoTUxPcGVyYXRvckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGht
bC9NYXRoTUxPcGVyYXRvckVsZW1lbnQuY3BwCkBAIC01MiwxNSArNTIsMTIgQEAgTWF0aE1MT3Bl
cmF0b3JFbGVtZW50OjpPcGVyYXRvckNoYXIgTWF0aE1MT3BlcmF0b3JFbGVtZW50OjpwYXJzZU9w
ZXJhdG9yQ2hhcihjb24KICAgICBPcGVyYXRvckNoYXIgb3BlcmF0b3JDaGFyOwogICAgIC8vIEZJ
WE1FOiBUaGlzIG9wZXJhdG9yIGRpY3Rpb25hcnkgZG9lcyBub3QgYWNjZXB0IG11bHRpcGxlIGNo
YXJhY3RlcnMgKGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEyNDgyOCkuCiAgICAgaWYgKGF1dG8gY29k
ZVBvaW50ID0gY29udmVydFRvU2luZ2xlQ29kZVBvaW50KHN0cmluZykpIHsKLSAgICAgICAgLy8g
RklYTUU6IE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeS9SZW5kZXJNYXRoTUxPcGVyYXRvci9NYXRo
T3BlcmF0b3IgZG8gbm90IHN1cHBvcnQgbm9uLUJNUCBjaGFyYWN0ZXJzIChodHRwczovL3dlYmtp
dC5vcmcvYi8xMjIyOTYpLgotICAgICAgICBpZiAoVV9JU19CTVAoY29kZVBvaW50LnZhbHVlKCkp
KSB7Ci0gICAgICAgICAgICBVQ2hhciBjaGFyYWN0ZXIgPSBjb2RlUG9pbnQudmFsdWUoKTsKLSAg
ICAgICAgICAgIC8vIFRoZSBtaW51cyBzaWduIHJlbmRlcnMgYmV0dGVyIHRoYW4gdGhlIGh5cGhl
biBzaWduIHVzZWQgaW4gc29tZSBNYXRoTUwgZm9ybXVsYXMuCi0gICAgICAgICAgICBpZiAoY2hh
cmFjdGVyID09IGh5cGhlbk1pbnVzKQotICAgICAgICAgICAgICAgIGNoYXJhY3RlciA9IG1pbnVz
U2lnbjsKLSAgICAgICAgICAgIG9wZXJhdG9yQ2hhci5jaGFyYWN0ZXIgPSBjaGFyYWN0ZXI7Ci0g
ICAgICAgICAgICBvcGVyYXRvckNoYXIuaXNWZXJ0aWNhbCA9IE1hdGhNTE9wZXJhdG9yRGljdGlv
bmFyeTo6aXNWZXJ0aWNhbChvcGVyYXRvckNoYXIuY2hhcmFjdGVyKTsKLSAgICAgICAgfQorICAg
ICAgICBhdXRvIGNoYXJhY3RlciA9IGNvZGVQb2ludC52YWx1ZSgpOworICAgICAgICAvLyBUaGUg
bWludXMgc2lnbiByZW5kZXJzIGJldHRlciB0aGFuIHRoZSBoeXBoZW4gc2lnbiB1c2VkIGluIHNv
bWUgTWF0aE1MIGZvcm11bGFzLgorICAgICAgICBpZiAoY2hhcmFjdGVyID09IGh5cGhlbk1pbnVz
KQorICAgICAgICAgICAgY2hhcmFjdGVyID0gbWludXNTaWduOworICAgICAgICBvcGVyYXRvckNo
YXIuY2hhcmFjdGVyID0gY2hhcmFjdGVyOworICAgICAgICBvcGVyYXRvckNoYXIuaXNWZXJ0aWNh
bCA9IGlzVmVydGljYWwob3BlcmF0b3JDaGFyLmNoYXJhY3Rlcik7CiAgICAgfQogICAgIHJldHVy
biBvcGVyYXRvckNoYXI7CiB9CkBAIC03Miw5ICs2OSw5IEBAIGNvbnN0IE1hdGhNTE9wZXJhdG9y
RWxlbWVudDo6T3BlcmF0b3JDaGFyJiBNYXRoTUxPcGVyYXRvckVsZW1lbnQ6Om9wZXJhdG9yQ2hh
cigpCiAgICAgcmV0dXJuIG1fb3BlcmF0b3JDaGFyLnZhbHVlKCk7CiB9CiAKLU1hdGhNTE9wZXJh
dG9yRWxlbWVudDo6RGljdGlvbmFyeVByb3BlcnR5IE1hdGhNTE9wZXJhdG9yRWxlbWVudDo6Y29t
cHV0ZURpY3Rpb25hcnlQcm9wZXJ0eSgpCitQcm9wZXJ0eSBNYXRoTUxPcGVyYXRvckVsZW1lbnQ6
OmNvbXB1dGVEaWN0aW9uYXJ5UHJvcGVydHkoKQogewotICAgIERpY3Rpb25hcnlQcm9wZXJ0eSBk
aWN0aW9uYXJ5UHJvcGVydHk7CisgICAgUHJvcGVydHkgZGljdGlvbmFyeVByb3BlcnR5OwogCiAg
ICAgLy8gV2UgZmlyc3QgZGV0ZXJtaW5lIHRoZSBmb3JtIGF0dHJpYnV0ZSBhbmQgdXNlIHRoZSBk
ZWZhdWx0IHNwYWNpbmcgYW5kIHByb3BlcnRpZXMuCiAgICAgY29uc3QgYXV0byYgdmFsdWUgPSBh
dHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKGZvcm1BdHRyKTsKQEAgLTk3LDE3ICs5NCwx
MyBAQCBNYXRoTUxPcGVyYXRvckVsZW1lbnQ6OkRpY3Rpb25hcnlQcm9wZXJ0eSBNYXRoTUxPcGVy
YXRvckVsZW1lbnQ6OmNvbXB1dGVEaWN0aW9uYQogICAgIH0KIAogICAgIC8vIFdlIHRoZW4gdHJ5
IGFuZCBmaW5kIGFuIGVudHJ5IGluIHRoZSBvcGVyYXRvciBkaWN0aW9uYXJ5IHRvIG92ZXJyaWRl
IHRoZSBkZWZhdWx0IHZhbHVlcy4KLSAgICBpZiAoYXV0byBlbnRyeSA9IHNlYXJjaChvcGVyYXRv
ckNoYXIoKS5jaGFyYWN0ZXIsIGRpY3Rpb25hcnlQcm9wZXJ0eS5mb3JtLCBleHBsaWNpdEZvcm0p
KSB7Ci0gICAgICAgIGRpY3Rpb25hcnlQcm9wZXJ0eS5mb3JtID0gc3RhdGljX2Nhc3Q8TWF0aE1M
T3BlcmF0b3JEaWN0aW9uYXJ5OjpGb3JtPihlbnRyeS52YWx1ZSgpLmZvcm0pOwotICAgICAgICBk
aWN0aW9uYXJ5UHJvcGVydHkubGVhZGluZ1NwYWNlSW5NYXRoVW5pdCA9IGVudHJ5LnZhbHVlKCku
bHNwYWNlOwotICAgICAgICBkaWN0aW9uYXJ5UHJvcGVydHkudHJhaWxpbmdTcGFjZUluTWF0aFVu
aXQgPSBlbnRyeS52YWx1ZSgpLnJzcGFjZTsKLSAgICAgICAgZGljdGlvbmFyeVByb3BlcnR5LmZs
YWdzID0gZW50cnkudmFsdWUoKS5mbGFnczsKLSAgICB9CisgICAgaWYgKGF1dG8gZW50cnkgPSBz
ZWFyY2gob3BlcmF0b3JDaGFyKCkuY2hhcmFjdGVyLCBkaWN0aW9uYXJ5UHJvcGVydHkuZm9ybSwg
ZXhwbGljaXRGb3JtKSkKKyAgICAgICAgZGljdGlvbmFyeVByb3BlcnR5ID0gZW50cnkudmFsdWUo
KTsKIAogICAgIHJldHVybiBkaWN0aW9uYXJ5UHJvcGVydHk7CiB9CiAKLWNvbnN0IE1hdGhNTE9w
ZXJhdG9yRWxlbWVudDo6RGljdGlvbmFyeVByb3BlcnR5JiBNYXRoTUxPcGVyYXRvckVsZW1lbnQ6
OmRpY3Rpb25hcnlQcm9wZXJ0eSgpCitjb25zdCBQcm9wZXJ0eSYgTWF0aE1MT3BlcmF0b3JFbGVt
ZW50OjpkaWN0aW9uYXJ5UHJvcGVydHkoKQogewogICAgIGlmICghbV9kaWN0aW9uYXJ5UHJvcGVy
dHkpCiAgICAgICAgIG1fZGljdGlvbmFyeVByb3BlcnR5ID0gY29tcHV0ZURpY3Rpb25hcnlQcm9w
ZXJ0eSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9y
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE9wZXJhdG9yRWxlbWVudC5o
CmluZGV4IGYyOTZiYzEuLjM4MDk2NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGht
bC9NYXRoTUxPcGVyYXRvckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0
aE1MT3BlcmF0b3JFbGVtZW50LmgKQEAgLTM2LDcgKzM2LDcgQEAgY2xhc3MgTWF0aE1MT3BlcmF0
b3JFbGVtZW50IGZpbmFsIDogcHVibGljIE1hdGhNTFRva2VuRWxlbWVudCB7CiBwdWJsaWM6CiAg
ICAgc3RhdGljIFJlZjxNYXRoTUxPcGVyYXRvckVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYpOwogICAgIHN0cnVjdCBPcGVyYXRvckNoYXIgewot
ICAgICAgICBVQ2hhciBjaGFyYWN0ZXIgeyAwIH07CisgICAgICAgIFVDaGFyMzIgY2hhcmFjdGVy
IHsgMCB9OwogICAgICAgICBib29sIGlzVmVydGljYWwgeyB0cnVlIH07CiAgICAgfTsKICAgICBz
dGF0aWMgT3BlcmF0b3JDaGFyIHBhcnNlT3BlcmF0b3JDaGFyKGNvbnN0IFN0cmluZyYpOwpAQCAt
NTksMTcgKzU5LDkgQEAgcHJpdmF0ZToKIAogICAgIE9wdGlvbmFsPE9wZXJhdG9yQ2hhcj4gbV9v
cGVyYXRvckNoYXI7CiAKLSAgICBzdHJ1Y3QgRGljdGlvbmFyeVByb3BlcnR5IHsKLSAgICAgICAg
TWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpGb3JtIGZvcm07Ci0gICAgICAgIC8vIERlZmF1bHQg
bGVhZGluZyBhbmQgdHJhaWxpbmcgc3BhY2VzIGFyZSAidGhpY2ttYXRoc3BhY2UiLgotICAgICAg
ICB1bnNpZ25lZCBzaG9ydCBsZWFkaW5nU3BhY2VJbk1hdGhVbml0IHsgNSB9OwotICAgICAgICB1
bnNpZ25lZCBzaG9ydCB0cmFpbGluZ1NwYWNlSW5NYXRoVW5pdCB7IDUgfTsKLSAgICAgICAgLy8g
RGVmYXVsdCBvcGVyYXRvciBwcm9wZXJ0aWVzIGFyZSBhbGwgc2V0IHRvICJmYWxzZSIuCi0gICAg
ICAgIHVuc2lnbmVkIHNob3J0IGZsYWdzIHsgMCB9OwotICAgIH07Ci0gICAgT3B0aW9uYWw8RGlj
dGlvbmFyeVByb3BlcnR5PiBtX2RpY3Rpb25hcnlQcm9wZXJ0eTsKLSAgICBEaWN0aW9uYXJ5UHJv
cGVydHkgY29tcHV0ZURpY3Rpb25hcnlQcm9wZXJ0eSgpOwotICAgIGNvbnN0IERpY3Rpb25hcnlQ
cm9wZXJ0eSYgZGljdGlvbmFyeVByb3BlcnR5KCk7CisgICAgT3B0aW9uYWw8TWF0aE1MT3BlcmF0
b3JEaWN0aW9uYXJ5OjpQcm9wZXJ0eT4gbV9kaWN0aW9uYXJ5UHJvcGVydHk7CisgICAgTWF0aE1M
T3BlcmF0b3JEaWN0aW9uYXJ5OjpQcm9wZXJ0eSBjb21wdXRlRGljdGlvbmFyeVByb3BlcnR5KCk7
CisgICAgY29uc3QgTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpQcm9wZXJ0eSYgZGljdGlvbmFy
eVByb3BlcnR5KCk7CiAKICAgICBzdHJ1Y3QgT3BlcmF0b3JQcm9wZXJ0aWVzIHsKICAgICAgICAg
dW5zaWduZWQgc2hvcnQgZmxhZ3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvbWF0aG1sL01hdGhPcGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0
aG1sL01hdGhPcGVyYXRvci5jcHAKaW5kZXggNzI1YWFlNC4uYTZlNzk3ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9NYXRoT3BlcmF0b3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvTWF0aE9wZXJhdG9yLmNwcApAQCAtNjAsNyAr
NjAsNyBAQCBzdGF0aWMgaW5saW5lIGZsb2F0IGFkdmFuY2VXaWR0aEZvckdseXBoKGNvbnN0IEds
eXBoRGF0YSYgZGF0YSkKIAogLy8gRklYTUU6IFRoaXMgaGFyZGNvZGVkIGRhdGEgY2FuIGJlIHJl
bW92ZWQgd2hlbiBPcGVuVHlwZSBNQVRIIGZvbnQgYXJlIHdpZGVseSBhdmFpbGFibGUgKGh0dHA6
Ly93a2J1Zy8xNTY4MzcpLgogc3RydWN0IFN0cmV0Y2h5Q2hhcmFjdGVyIHsKLSAgICBVQ2hhciBj
aGFyYWN0ZXI7CisgICAgVUNoYXIzMiBjaGFyYWN0ZXI7CiAgICAgVUNoYXIgdG9wQ2hhcjsKICAg
ICBVQ2hhciBleHRlbnNpb25DaGFyOwogICAgIFVDaGFyIGJvdHRvbUNoYXI7CkBAIC04NSw3ICs4
NSw3IEBAIHN0YXRpYyBjb25zdCBTdHJldGNoeUNoYXJhY3RlciBzdHJldGNoeUNoYXJhY3RlcnNb
MTRdID0gewogICAgIHsgMHgyMjJiLCAweDIzMjAsIDB4MjNhZSwgMHgyMzIxLCAweDAgICAgfSAv
LyBpbnRlZ3JhbCBzaWduCiB9OwogCi12b2lkIE1hdGhPcGVyYXRvcjo6c2V0T3BlcmF0b3IoY29u
c3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBVQ2hhciBiYXNlQ2hhcmFjdGVyLCBUeXBlIG9wZXJhdG9y
VHlwZSkKK3ZvaWQgTWF0aE9wZXJhdG9yOjpzZXRPcGVyYXRvcihjb25zdCBSZW5kZXJTdHlsZSYg
c3R5bGUsIFVDaGFyMzIgYmFzZUNoYXJhY3RlciwgVHlwZSBvcGVyYXRvclR5cGUpCiB7CiAgICAg
bV9iYXNlQ2hhcmFjdGVyID0gYmFzZUNoYXJhY3RlcjsKICAgICBtX29wZXJhdG9yVHlwZSA9IG9w
ZXJhdG9yVHlwZTsKQEAgLTEyMSw3ICsxMjEsNyBAQCBMYXlvdXRVbml0IE1hdGhPcGVyYXRvcjo6
c3RyZXRjaFNpemUoKSBjb25zdAogICAgIHJldHVybiBtX29wZXJhdG9yVHlwZSA9PSBUeXBlOjpW
ZXJ0aWNhbE9wZXJhdG9yID8gbV9hc2NlbnQgKyBtX2Rlc2NlbnQgOiBtX3dpZHRoOwogfQogCi1i
b29sIE1hdGhPcGVyYXRvcjo6Z2V0R2x5cGgoY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBVQ2hh
ciBjaGFyYWN0ZXIsIEdseXBoRGF0YSYgZ2x5cGgpIGNvbnN0Citib29sIE1hdGhPcGVyYXRvcjo6
Z2V0R2x5cGgoY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBVQ2hhcjMyIGNoYXJhY3RlciwgR2x5
cGhEYXRhJiBnbHlwaCkgY29uc3QKIHsKICAgICBnbHlwaCA9IHN0eWxlLmZvbnRDYXNjYWRlKCku
Z2x5cGhEYXRhRm9yQ2hhcmFjdGVyKGNoYXJhY3RlciwgIXN0eWxlLmlzTGVmdFRvUmlnaHREaXJl
Y3Rpb24oKSk7CiAgICAgcmV0dXJuIGdseXBoLmZvbnQgJiYgZ2x5cGguZm9udCA9PSAmc3R5bGUu
Zm9udENhc2NhZGUoKS5wcmltYXJ5Rm9udCgpOwpAQCAtMTcxLDcgKzE3MSw3IEBAIHZvaWQgTWF0
aE9wZXJhdG9yOjpzZXRHbHlwaEFzc2VtYmx5KGNvbnN0IEdseXBoQXNzZW1ibHlEYXRhJiBhc3Nl
bWJseURhdGEpCiAvLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL01hdGhNTC9jaGFwdGVyNy5o
dG1sI2NoYXJzLmNvbWItY2hhcnMKIC8vIEhvd2V2ZXIsIG1hbnkgbWF0aCBmb250cyBkbyBub3Qg
cHJvdmlkZSBjb25zdHJ1Y3Rpb25zIGZvciB0aGUgbm9uLWNvbWJpbmluZyBlcXVpdmFsZW50Lgog
Y29uc3QgdW5zaWduZWQgbWF4RmFsbGJhY2tQZXJDaGFyYWN0ZXIgPSAzOwotc3RhdGljIGNvbnN0
IFVDaGFyIGNoYXJhY3RlckZhbGxiYWNrW11bbWF4RmFsbGJhY2tQZXJDaGFyYWN0ZXJdID0gewor
c3RhdGljIGNvbnN0IFVDaGFyMzIgY2hhcmFjdGVyRmFsbGJhY2tbXVttYXhGYWxsYmFja1BlckNo
YXJhY3Rlcl0gPSB7CiAgICAgeyAweDAwNUUsIDB4MDMwMiwgMCB9LCAvLyBDSVJDVU1GTEVYIEFD
Q0VOVAogICAgIHsgMHgwMDVGLCAweDAzMzIsIDAgfSwgLy8gTE9XIExJTkUKICAgICB7IDB4MDA3
RSwgMHgwMzAzLCAwIH0sIC8vIFRJTERFCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvbWF0aG1sL01hdGhPcGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21h
dGhtbC9NYXRoT3BlcmF0b3IuaAppbmRleCBkYzJmNTI2Li5kZjViOWFkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL01hdGhPcGVyYXRvci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvTWF0aE9wZXJhdG9yLmgKQEAgLTQxLDcgKzQxLDcg
QEAgY2xhc3MgTWF0aE9wZXJhdG9yIHsKIHB1YmxpYzoKICAgICBNYXRoT3BlcmF0b3IoKSB7IH0K
ICAgICBlbnVtIGNsYXNzIFR5cGUgeyBOb3JtYWxPcGVyYXRvciwgRGlzcGxheU9wZXJhdG9yLCBW
ZXJ0aWNhbE9wZXJhdG9yLCBIb3Jpem9udGFsT3BlcmF0b3IgfTsKLSAgICB2b2lkIHNldE9wZXJh
dG9yKGNvbnN0IFJlbmRlclN0eWxlJiwgVUNoYXIgYmFzZUNoYXJhY3RlciwgVHlwZSk7CisgICAg
dm9pZCBzZXRPcGVyYXRvcihjb25zdCBSZW5kZXJTdHlsZSYsIFVDaGFyMzIgYmFzZUNoYXJhY3Rl
ciwgVHlwZSk7CiAgICAgdm9pZCByZXNldChjb25zdCBSZW5kZXJTdHlsZSYpOwogCiAgICAgTGF5
b3V0VW5pdCB3aWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fd2lkdGg7IH0KQEAgLTczLDcgKzczLDcg
QEAgcHJpdmF0ZToKICAgICB9OwogCiAgICAgTGF5b3V0VW5pdCBzdHJldGNoU2l6ZSgpIGNvbnN0
OwotICAgIGJvb2wgZ2V0R2x5cGgoY29uc3QgUmVuZGVyU3R5bGUmLCBVQ2hhciBjaGFyYWN0ZXIs
IEdseXBoRGF0YSYpIGNvbnN0OworICAgIGJvb2wgZ2V0R2x5cGgoY29uc3QgUmVuZGVyU3R5bGUm
LCBVQ2hhcjMyIGNoYXJhY3RlciwgR2x5cGhEYXRhJikgY29uc3Q7CiAgICAgYm9vbCBnZXRCYXNl
R2x5cGgoY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBHbHlwaERhdGEmIGJhc2VHbHlwaCkgY29u
c3QgeyByZXR1cm4gZ2V0R2x5cGgoc3R5bGUsIG1fYmFzZUNoYXJhY3RlciwgYmFzZUdseXBoKTsg
fQogICAgIHZvaWQgc2V0U2l6ZVZhcmlhbnQoY29uc3QgR2x5cGhEYXRhJik7CiAgICAgdm9pZCBz
ZXRHbHlwaEFzc2VtYmx5KGNvbnN0IEdseXBoQXNzZW1ibHlEYXRhJik7CkBAIC04OCw3ICs4OCw3
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwYWludFZlcnRpY2FsR2x5cGhBc3NlbWJseShjb25zdCBS
ZW5kZXJTdHlsZSYsIFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50Jik7CiAgICAgdm9pZCBw
YWludEhvcml6b250YWxHbHlwaEFzc2VtYmx5KGNvbnN0IFJlbmRlclN0eWxlJiwgUGFpbnRJbmZv
JiwgY29uc3QgTGF5b3V0UG9pbnQmKTsKIAotICAgIFVDaGFyIG1fYmFzZUNoYXJhY3RlciB7IDAg
fTsKKyAgICBVQ2hhcjMyIG1fYmFzZUNoYXJhY3RlciB7IDAgfTsKICAgICBUeXBlIG1fb3BlcmF0
b3JUeXBlIHsgVHlwZTo6Tm9ybWFsT3BlcmF0b3IgfTsKICAgICBTdHJldGNoVHlwZSBtX3N0cmV0
Y2hUeXBlIHsgU3RyZXRjaFR5cGU6OlVuc3RyZXRjaGVkIH07CiAgICAgdW5pb24gewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWRP
cGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhN
TEZlbmNlZE9wZXJhdG9yLmNwcAppbmRleCAzOWY2MGNjLi5mMjQ0MTc1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZE9wZXJhdG9y
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZl
bmNlZE9wZXJhdG9yLmNwcApAQCAtNTAsOCArNTAsOCBAQCB2b2lkIFJlbmRlck1hdGhNTEZlbmNl
ZE9wZXJhdG9yOjp1cGRhdGVPcGVyYXRvckNvbnRlbnQoY29uc3QgU3RyaW5nJiBvcGVyYXRvclN0
cgogICAgIC8vIFdlIHRyeSBhbmQgcmVhZCBzcGFjaW5nIGFuZCBib29sZWFuIHByb3BlcnRpZXMg
ZnJvbSB0aGUgb3BlcmF0b3IgZGljdGlvbmFyeS4KICAgICAvLyBIb3dldmVyIHdlIHByZXNlcnZl
IHRoZSBGZW5jZSBhbmQgU2VwYXJhdG9yIHByb3BlcnRpZXMgc3BlY2lmaWVkIGluIHRoZSBjb25z
dHJ1Y3Rvci4KICAgICBpZiAoYXV0byBlbnRyeSA9IHNlYXJjaChtX29wZXJhdG9yQ2hhci5jaGFy
YWN0ZXIsIG1fb3BlcmF0b3JGb3JtLCB0cnVlKSkgewotICAgICAgICBtX2xlYWRpbmdTcGFjZUlu
TWF0aFVuaXQgPSBlbnRyeS52YWx1ZSgpLmxzcGFjZTsKLSAgICAgICAgbV90cmFpbGluZ1NwYWNl
SW5NYXRoVW5pdCA9IGVudHJ5LnZhbHVlKCkucnNwYWNlOworICAgICAgICBtX2xlYWRpbmdTcGFj
ZUluTWF0aFVuaXQgPSBlbnRyeS52YWx1ZSgpLmxlYWRpbmdTcGFjZUluTWF0aFVuaXQ7CisgICAg
ICAgIG1fdHJhaWxpbmdTcGFjZUluTWF0aFVuaXQgPSBlbnRyeS52YWx1ZSgpLnRyYWlsaW5nU3Bh
Y2VJbk1hdGhVbml0OwogICAgICAgICBtX29wZXJhdG9yRmxhZ3MgPSAobV9vcGVyYXRvckZsYWdz
ICYgKE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6RmVuY2UgfCBNYXRoTUxPcGVyYXRvckRpY3Rp
b25hcnk6OlNlcGFyYXRvcikpIHwgZW50cnkudmFsdWUoKS5mbGFnczsKICAgICB9IGVsc2Ugewog
ICAgICAgICBtX29wZXJhdG9yRmxhZ3MgJj0gTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpGZW5j
ZSB8IE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6U2VwYXJhdG9yOyAvLyBGbGFncyBhcmUgZGlz
YWJsZWQgYnkgZGVmYXVsdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9t
YXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3IuaAppbmRleCA4MDMwOTgyLi5k
YzQ2NjQxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5k
ZXJNYXRoTUxGZW5jZWRPcGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9t
YXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkT3BlcmF0b3IuaApAQCAtNDEsNyArNDEsNyBAQCBwdWJs
aWM6CiBwcml2YXRlOgogICAgIGJvb2wgaXNSZW5kZXJNYXRoTUxGZW5jZWRPcGVyYXRvcigpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KICAgICBib29sIGlzVmVydGljYWwoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBtX29wZXJhdG9yQ2hhci5pc1ZlcnRpY2FsOyB9Ci0gICAgVUNoYXIgdGV4
dENvbnRlbnQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX29wZXJhdG9yQ2hhci5jaGFyYWN0ZXI7
IH0KKyAgICBVQ2hhcjMyIHRleHRDb250ZW50KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9vcGVy
YXRvckNoYXIuY2hhcmFjdGVyOyB9CiAgICAgTGF5b3V0VW5pdCBsZWFkaW5nU3BhY2UoKSBjb25z
dCBmaW5hbDsKICAgICBMYXlvdXRVbml0IHRyYWlsaW5nU3BhY2UoKSBjb25zdCBmaW5hbDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxP
cGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhN
TE9wZXJhdG9yLmNwcAppbmRleCBhODk5ZTUwLi5jNjcwY2M0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmNwcApA
QCAtNjIsNyArNjIsNyBAQCBNYXRoTUxPcGVyYXRvckVsZW1lbnQmIFJlbmRlck1hdGhNTE9wZXJh
dG9yOjplbGVtZW50KCkgY29uc3QKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8TWF0aE1MT3BlcmF0
b3JFbGVtZW50Jj4obm9kZUZvck5vbkFub255bW91cygpKTsKIH0KIAotVUNoYXIgUmVuZGVyTWF0
aE1MT3BlcmF0b3I6OnRleHRDb250ZW50KCkgY29uc3QKK1VDaGFyMzIgUmVuZGVyTWF0aE1MT3Bl
cmF0b3I6OnRleHRDb250ZW50KCkgY29uc3QKIHsKICAgICByZXR1cm4gZWxlbWVudCgpLm9wZXJh
dG9yQ2hhcigpLmNoYXJhY3RlcjsKIH0KQEAgLTcwLDcgKzcwLDcgQEAgVUNoYXIgUmVuZGVyTWF0
aE1MT3BlcmF0b3I6OnRleHRDb250ZW50KCkgY29uc3QKIGJvb2wgUmVuZGVyTWF0aE1MT3BlcmF0
b3I6OmlzSW52aXNpYmxlT3BlcmF0b3IoKSBjb25zdAogewogICAgIC8vIFRoZSBmb2xsb3dpbmcg
b3BlcmF0b3JzIGFyZSBpbnZpc2libGU6IFUrMjA2MSBGVU5DVElPTiBBUFBMSUNBVElPTiwgVSsy
MDYyIElOVklTSUJMRSBUSU1FUywgVSsyMDYzIElOVklTSUJMRSBTRVBBUkFUT1IsIFUrMjA2NCBJ
TlZJU0lCTEUgUExVUy4KLSAgICBVQ2hhciBjaGFyYWN0ZXIgPSB0ZXh0Q29udGVudCgpOworICAg
IFVDaGFyMzIgY2hhcmFjdGVyID0gdGV4dENvbnRlbnQoKTsKICAgICByZXR1cm4gMHgyMDYxIDw9
IGNoYXJhY3RlciAmJiBjaGFyYWN0ZXIgPD0gMHgyMDY0OwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmgKaW5kZXgg
Y2NmOGU1OC4uNDY4OGFjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21h
dGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuaApAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIHVwZGF0ZVRva2VuQ29udGVudCgpIGZpbmFsOwogICAgIHZvaWQgdXBkYXRl
RnJvbUVsZW1lbnQoKSBmaW5hbDsKLSAgICB2aXJ0dWFsIFVDaGFyIHRleHRDb250ZW50KCkgY29u
c3Q7CisgICAgdmlydHVhbCBVQ2hhcjMyIHRleHRDb250ZW50KCkgY29uc3Q7CiAKIHByb3RlY3Rl
ZDoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlTWF0aE9wZXJhdG9yKCk7Ci0tIAoyLjguMQoK
</data>

          </attachment>
      

    </bug>

</bugzilla>