<?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>196351</bug_id>
          
          <creation_ts>2019-03-28 07:41:26 -0700</creation_ts>
          <short_desc>[ESNext] Implement support for Numeric Separators</short_desc>
          <delta_ts>2019-07-21 15:34:56 -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>JavaScriptCore</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://bugs.webkit.org/show_bug.cgi?id=198156</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=199984</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>198140</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Leo Balter">leo</reporter>
          <assigned_to name="Ross Kirsling">ross.kirsling</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1522061</commentid>
    <comment_count>0</comment_count>
    <who name="Leo Balter">leo</who>
    <bug_when>2019-03-28 07:41:26 -0700</bug_when>
    <thetext>https://github.com/tc39/proposal-numeric-separator

The proposal has got re-promoted to Stage 3 in March/2019 and it&apos;s ready for implementations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1522063</commentid>
    <comment_count>1</comment_count>
    <who name="Leo Balter">leo</who>
    <bug_when>2019-03-28 07:42:59 -0700</bug_when>
    <thetext>Tests are available from Test262 with the tag `numeric-separator-literal`</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1537463</commentid>
    <comment_count>2</comment_count>
      <attachid>370218</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-05-18 22:47:56 -0700</bug_when>
    <thetext>Created attachment 370218
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1537794</commentid>
    <comment_count>3</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-05-20 20:07:43 -0700</bug_when>
    <thetext>Self-review comment: Forgot test cases for BigInt and for multiple adjacent separators, will add before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538125</commentid>
    <comment_count>4</comment_count>
      <attachid>370383</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-05-21 22:59:01 -0700</bug_when>
    <thetext>Created attachment 370383
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538270</commentid>
    <comment_count>5</comment_count>
      <attachid>370383</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2019-05-22 10:51:04 -0700</bug_when>
    <thetext>Comment on attachment 370383
Patch

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

r=me with some nits.

&gt; Source/JavaScriptCore/parser/Lexer.cpp:1519
&gt;      // Optimization: most hexadecimal values fit into 4 bytes.

Nit: Add ASSERT(isASCIIHexDigit(m_current)) it makes it clear that the caller is expected to do this check.

&gt; Source/JavaScriptCore/parser/Lexer.cpp:1578
&gt;  

Ditto on ASSERT but for binary.

&gt; Source/JavaScriptCore/parser/Lexer.cpp:1630
&gt;  

Ditto on ASSERT but for Octal.

&gt; Source/JavaScriptCore/parser/Lexer.cpp:1686
&gt;  

Ditto on ASSERT but for Decimal.

&gt; JSTests/stress/numeric-literal-separators.js:13
&gt; +function shouldThrow(script, errorType) {
&gt; +    let error;
&gt; +    try {
&gt; +        eval(script);
&gt; +    } catch (e) {
&gt; +        error = e;
&gt; +    }

Can you have these tests also run through the Number constructor. Also can you test appending a bunch of digits (maybe even all 0s) so we hit the slow path in the lexer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538289</commentid>
    <comment_count>6</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-05-22 11:23:06 -0700</bug_when>
    <thetext>(In reply to Keith Miller from comment #5)
&gt; Comment on attachment 370383 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=370383&amp;action=review
&gt; 
&gt; r=me with some nits.
&gt; 
&gt; &gt; Source/JavaScriptCore/parser/Lexer.cpp:1519
&gt; &gt;      // Optimization: most hexadecimal values fit into 4 bytes.
&gt; 
&gt; Nit: Add ASSERT(isASCIIHexDigit(m_current)) it makes it clear that the
&gt; caller is expected to do this check.
&gt; 
&gt; &gt; Source/JavaScriptCore/parser/Lexer.cpp:1578
&gt; &gt;  
&gt; 
&gt; Ditto on ASSERT but for binary.
&gt; 
&gt; &gt; Source/JavaScriptCore/parser/Lexer.cpp:1630
&gt; &gt;  
&gt; 
&gt; Ditto on ASSERT but for Octal.
&gt; 
&gt; &gt; Source/JavaScriptCore/parser/Lexer.cpp:1686
&gt; &gt;  
&gt; 
&gt; Ditto on ASSERT but for Decimal.
&gt; 
&gt; &gt; JSTests/stress/numeric-literal-separators.js:13
&gt; &gt; +function shouldThrow(script, errorType) {
&gt; &gt; +    let error;
&gt; &gt; +    try {
&gt; &gt; +        eval(script);
&gt; &gt; +    } catch (e) {
&gt; &gt; +        error = e;
&gt; &gt; +    }
&gt; 
&gt; Can you have these tests also run through the Number constructor. Also can
&gt; you test appending a bunch of digits (maybe even all 0s) so we hit the slow
&gt; path in the lexer?

Will do! Just to be clear, this is only for literals, so it doesn&apos;t apply to the Number constructor or to parseInt/parseFloat.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538291</commentid>
    <comment_count>7</comment_count>
      <attachid>370426</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-05-22 11:26:31 -0700</bug_when>
    <thetext>Created attachment 370426
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538302</commentid>
    <comment_count>8</comment_count>
      <attachid>370426</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-22 12:06:09 -0700</bug_when>
    <thetext>Comment on attachment 370426
Patch for landing

Clearing flags on attachment: 370426

Committed r245634: &lt;https://trac.webkit.org/changeset/245634&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538303</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-22 12:06:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538304</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-05-22 12:07:38 -0700</bug_when>
    <thetext>&lt;rdar://problem/51036747&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538379</commentid>
    <comment_count>11</comment_count>
    <who name="Tadeu Zagallo">tzagallo</who>
    <bug_when>2019-05-22 14:34:31 -0700</bug_when>
    <thetext>It seems like this completely broke the lexer. After this patch, running `jsc -e &apos;&apos;` gives me following crash:

ASSERTION FAILED: isASCIIDigit(m_current)
./parser/Lexer.cpp(1681) : Optional&lt;JSC::Lexer::NumberParseResult&gt; JSC::Lexer&lt;unsigned char&gt;::parseDecimal() [T = unsigned char]
1   0x105e5afa9 WTFCrash
2   0x105e5dd6b WTFCrashWithInfo(int, char const*, char const*, int)
3   0x10707dbee JSC::Lexer&lt;unsigned char&gt;::parseDecimal()
4   0x10707b922 JSC::Lexer&lt;unsigned char&gt;::lexWithoutClearingLineTerminator(JSC::JSToken*, unsigned int, bool)
5   0x107079e81 JSC::Lexer&lt;unsigned char&gt;::lex(JSC::JSToken*, unsigned int, bool)
6   0x107095883 JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::next(unsigned int)
7   0x1070f88d3 JSC::SyntaxChecker::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseVariableDeclarationList&lt;JSC::SyntaxChecker&gt;(JSC::SyntaxChecker&amp;, int&amp;, JSC::SyntaxChecker::DestructuringPattern&amp;, JSC::SyntaxChecker::Expression&amp;, JSC::JSTextPosition&amp;, JSC::JSTextPosition&amp;, JSC::JSTextPosition&amp;, JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::VarDeclarationListConte
xt, JSC::DeclarationType, JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::ExportType, bool&amp;)
8   0x1070f5ba6 JSC::SyntaxChecker::Statement JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseVariableDeclaration&lt;JSC::SyntaxChecker&gt;(JSC::SyntaxChecker&amp;, JSC::DeclarationType, JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::ExportType)
9   0x1070f5399 JSC::SyntaxChecker::Statement JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseStatementListItem&lt;JSC::SyntaxChecker&gt;(JSC::SyntaxChecker&amp;, JSC::Identifier const*&amp;, unsigned int*)
10  0x1070f4aa8 JSC::SyntaxChecker::SourceElements JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseSourceElements&lt;JSC::SyntaxChecker&gt;(JSC::SyntaxChecker&amp;, JSC::SourceElementsMode)
11  0x107123d01 JSC::ASTBuilder::FunctionBody JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseFunctionBody&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;, JSC::SyntaxChecker&amp;, JSC::JSTokenLocation const&amp;, int, int, int, int, JSC::ConstructorKind, JSC::SuperBinding, JSC::FunctionBodyType, unsigned int, JSC::SourceParseMode)
12  0x1070e4c8a bool JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseFunctionInfo&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;, JSC::FunctionNameRequirements, JSC::SourceParseMode, bool, JSC::ConstructorKind, JSC::SuperBinding, int, JSC::ParserFunctionInfo&lt;JSC::ASTBuilder&gt;&amp;, JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::FunctionDefinitionType, WTF::Optional&lt;int&gt;)::&apos;lambda0&apos;()::operator
()() const
13  0x1070e0f07 bool JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseFunctionInfo&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;, JSC::FunctionNameRequirements, JSC::SourceParseMode, bool, JSC::ConstructorKind, JSC::SuperBinding, int, JSC::ParserFunctionInfo&lt;JSC::ASTBuilder&gt;&amp;, JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::FunctionDefinitionType, WTF::Optional&lt;int&gt;)
14  0x1070dcd68 JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseFunctionExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
15  0x1070d9232 JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parsePrimaryExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
16  0x1070d6e95 JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseMemberExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
17  0x10712eaa0 JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseUnaryExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
18  0x10712e146 JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseBinaryExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
19  0x10712d33c JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseConditionalExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
20  0x10712bea8 JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseAssignmentExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;, JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::ExpressionErrorClassifier&amp;)
21  0x1070d3ef2 JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseAssignmentExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
22  0x1070da0e3 JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
23  0x1070d92df JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parsePrimaryExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
24  0x1070d6e95 JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseMemberExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
25  0x10712eaa0 JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseUnaryExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
26  0x10712e146 JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseBinaryExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
27  0x10712d33c JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseConditionalExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
28  0x10712bea8 JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseAssignmentExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;, JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::ExpressionErrorClassifier&amp;)
29  0x1070d3ef2 JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseAssignmentExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
30  0x1070da0e3 JSC::ASTBuilder::Expression JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseExpression&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
31  0x10714e992 JSC::ASTBuilder::Statement JSC::Parser&lt;JSC::Lexer&lt;unsigned char&gt; &gt;::parseExpressionStatement&lt;JSC::ASTBuilder&gt;(JSC::ASTBuilder&amp;)
[1]    82893 segmentation fault  DYLD_FRAMEWORK_PATH=$VM $VM/jsc -e &apos;&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538383</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-22 14:46:29 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 198140</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538415</commentid>
    <comment_count>13</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-05-22 15:29:27 -0700</bug_when>
    <thetext>So it looks like we can&apos;t ASSERT isASCIIDecimal in parseDecimal for existing reasons.
This is worth refactoring to fix, but I don&apos;t want to add complication here, so I&apos;ll handle it in a follow-up patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1538425</commentid>
    <comment_count>14</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-05-22 15:43:54 -0700</bug_when>
    <thetext>Committed r245655: &lt;https://trac.webkit.org/changeset/245655&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370218</attachid>
            <date>2019-05-18 22:47:56 -0700</date>
            <delta_ts>2019-05-21 22:58:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196351-20190518224755.patch</filename>
            <type>text/plain</type>
            <size>25077</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1NDk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
NDdiZDUyMzNjOTEwN2JjN2I1YTliODQ0ZDdmOTM1ODEyNjIwOWM1Li45ZDNlOTM4YmM4ZjIzZjZj
ODIyYzViMmU5Yzc4N2MzYjU5OTYxNDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNCBAQAorMjAxOS0wNS0xOCAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0VTTmV4dF0gSW1wbGVtZW50IHN1cHBvcnQgZm9yIE51bWVyaWMg
U2VwYXJhdG9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk2MzUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW1wbGVtZW50IHRoZSBmb2xsb3dpbmcgcHJvcG9zYWwsIHdoaWNoIGlzIG5vdyBTdGFnZSAz
OgorICAgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS90YzM5L3Byb3Bvc2FsLW51bWVyaWMtc2Vw
YXJhdG9yCisKKyAgICAgICAgU3BlY2lmaWNhbGx5LCB0aGlzIGFsbG93cyAnXycgdG8gYmUgdXNl
ZCBhcyBhIHNlcGFyYXRvciBpbiBudW1lcmljIGxpdGVyYWxzLgorICAgICAgICBJdCBtYXkgYmUg
aW5zZXJ0ZWQgYXJiaXRyYXJpbHkgd2l0aG91dCBzZW1hbnRpYyBlZmZlY3QsIGJ1dCBpdCBtYXkg
bm90IG9jY3VyOgorICAgICAgICAgIC0gbXVsdGlwbGUgdGltZXMgaW4gYSByb3cKKyAgICAgICAg
ICAtIGF0IHRoZSBiZWdpbm5pbmcgb3IgZW5kIG9mIHRoZSBsaXRlcmFsCisgICAgICAgICAgLSBh
ZGphY2VudCB0byAweCwgMGIsIDBvLCBkZWNpbWFsIHBvaW50LCBvciBleHBvbmVudGlhbCBpbmRp
Y2F0b3IKKyAgICAgICAgICAtIGFmdGVyIGEgbGVhZGluZyB6ZXJvIChlLmcuIDBfMTIzKSwgZXZl
biBpbiBzbG9wcHkgbW9kZQorCisgICAgICAgICogcGFyc2VyL0xleGVyLmNwcDoKKyAgICAgICAg
KEpTQzo6aXNBU0NJSURpZ2l0T3JTZXBhcmF0b3IpOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6aXNB
U0NJSUhleERpZ2l0T3JTZXBhcmF0b3IpOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6aXNBU0NJSUJp
bmFyeURpZ2l0T3JTZXBhcmF0b3IpOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6aXNBU0NJSU9jdGFs
RGlnaXRPclNlcGFyYXRvcik6IEFkZGVkLgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6cGFyc2VI
ZXgpOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6cGFyc2VCaW5hcnkpOgorICAgICAgICAoSlND
OjpMZXhlcjxUPjo6cGFyc2VPY3RhbCk6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpwYXJzZURl
Y2ltYWwpOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6cGFyc2VOdW1iZXJBZnRlckRlY2ltYWxQ
b2ludCk6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpwYXJzZU51bWJlckFmdGVyRXhwb25lbnRJ
bmRpY2F0b3IpOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6bGV4V2l0aG91dENsZWFyaW5nTGlu
ZVRlcm1pbmF0b3IpOgorICAgICAgICAqIHBhcnNlci9MZXhlci5oOgorCiAyMDE5LTA1LTE4ICBU
YWRldSBaYWdhbGxvICA8dHphZ2FsbG9AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBleHRyYSBp
bmZvcm1hdGlvbiB0byBkdW1wSklUTWVtb3J5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcGFyc2VyL0xleGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4
ZXIuY3BwCmluZGV4IGMyZjI0YmQ4ZjNlYWY0ZWMzOTdhNjlkNWEwOGI5MTY4YTVjMTg3MWMuLjky
YjYzZDFiZGZiYWVmN2Y4ZTg5OTUxZTZhMjc1MzlmMDZkOTgzOTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCkBAIC04MTMsNiArODEzLDMwIEBAIHN0YXRpYyBBTFdBWVNf
SU5MSU5FIGJvb2wgaXNJZGVudFBhcnRJbmNsdWRpbmdFc2NhcGUoY29uc3QgVUNoYXIqIGNvZGUs
IGNvbnN0IFVDCiAgICAgcmV0dXJuIGlzSWRlbnRQYXJ0SW5jbHVkaW5nRXNjYXBlVGVtcGxhdGUo
Y29kZSwgY29kZUVuZCk7CiB9CiAKK3RlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+Citz
dGF0aWMgaW5saW5lIGJvb2wgaXNBU0NJSURpZ2l0T3JTZXBhcmF0b3IoQ2hhcmFjdGVyVHlwZSBj
aGFyYWN0ZXIpCit7CisgICAgcmV0dXJuIGlzQVNDSUlEaWdpdChjaGFyYWN0ZXIpIHx8IGNoYXJh
Y3RlciA9PSAnXyc7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0
aWMgaW5saW5lIGJvb2wgaXNBU0NJSUhleERpZ2l0T3JTZXBhcmF0b3IoQ2hhcmFjdGVyVHlwZSBj
aGFyYWN0ZXIpCit7CisgICAgcmV0dXJuIGlzQVNDSUlIZXhEaWdpdChjaGFyYWN0ZXIpIHx8IGNo
YXJhY3RlciA9PSAnXyc7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+Citz
dGF0aWMgaW5saW5lIGJvb2wgaXNBU0NJSUJpbmFyeURpZ2l0T3JTZXBhcmF0b3IoQ2hhcmFjdGVy
VHlwZSBjaGFyYWN0ZXIpCit7CisgICAgcmV0dXJuIGlzQVNDSUlCaW5hcnlEaWdpdChjaGFyYWN0
ZXIpIHx8IGNoYXJhY3RlciA9PSAnXyc7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3Rl
clR5cGU+CitzdGF0aWMgaW5saW5lIGJvb2wgaXNBU0NJSU9jdGFsRGlnaXRPclNlcGFyYXRvcihD
aGFyYWN0ZXJUeXBlIGNoYXJhY3RlcikKK3sKKyAgICByZXR1cm4gaXNBU0NJSU9jdGFsRGlnaXQo
Y2hhcmFjdGVyKSB8fCBjaGFyYWN0ZXIgPT0gJ18nOworfQorCiBzdGF0aWMgaW5saW5lIExDaGFy
IHNpbmdsZUVzY2FwZShpbnQgYykKIHsKICAgICBpZiAoYyA8IDEyOCkgewpAQCAtMTQ5MCwyMCAr
MTUxNCwyNyBAQCB0eXBlbmFtZSBMZXhlcjxUPjo6U3RyaW5nUGFyc2VSZXN1bHQgTGV4ZXI8VD46
OnBhcnNlVGVtcGxhdGVMaXRlcmFsKEpTVG9rZW5EYXRhKgogfQogCiB0ZW1wbGF0ZSA8dHlwZW5h
bWUgVD4KLUFMV0FZU19JTkxJTkUgYXV0byBMZXhlcjxUPjo6cGFyc2VIZXgoKSAtPiBOdW1iZXJQ
YXJzZVJlc3VsdAorQUxXQVlTX0lOTElORSBhdXRvIExleGVyPFQ+OjpwYXJzZUhleCgpIC0+IE9w
dGlvbmFsPE51bWJlclBhcnNlUmVzdWx0PgogewogICAgIC8vIE9wdGltaXphdGlvbjogbW9zdCBo
ZXhhZGVjaW1hbCB2YWx1ZXMgZml0IGludG8gNCBieXRlcy4KICAgICB1aW50MzJfdCBoZXhWYWx1
ZSA9IDA7CiAgICAgaW50IG1heGltdW1EaWdpdHMgPSA3OwogCiAgICAgZG8geworICAgICAgICBp
ZiAobV9jdXJyZW50ID09ICdfJykgeworICAgICAgICAgICAgaWYgKFVOTElLRUxZKCFpc0FTQ0lJ
SGV4RGlnaXQocGVlaygxKSkpKQorICAgICAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CisKKyAgICAgICAgICAgIHNoaWZ0KCk7CisgICAgICAgIH0KKwogICAgICAgICBoZXhWYWx1ZSA9
IChoZXhWYWx1ZSA8PCA0KSArIHRvQVNDSUlIZXhWYWx1ZShtX2N1cnJlbnQpOwogICAgICAgICBz
aGlmdCgpOwogICAgICAgICAtLW1heGltdW1EaWdpdHM7Ci0gICAgfSB3aGlsZSAoaXNBU0NJSUhl
eERpZ2l0KG1fY3VycmVudCkgJiYgbWF4aW11bURpZ2l0cyA+PSAwKTsKKyAgICB9IHdoaWxlIChp
c0FTQ0lJSGV4RGlnaXRPclNlcGFyYXRvcihtX2N1cnJlbnQpICYmIG1heGltdW1EaWdpdHMgPj0g
MCk7CiAKICAgICBpZiAoTElLRUxZKG1heGltdW1EaWdpdHMgPj0gMCAmJiBtX2N1cnJlbnQgIT0g
J24nKSkKLSAgICAgICAgcmV0dXJuIGhleFZhbHVlOworICAgICAgICByZXR1cm4gTnVtYmVyUGFy
c2VSZXN1bHQgeyBoZXhWYWx1ZSB9OwogCiAgICAgLy8gTm8gbW9yZSBwbGFjZSBpbiB0aGUgaGV4
VmFsdWUgYnVmZmVyLgogICAgIC8vIFRoZSB2YWx1ZXMgYXJlIHNoaWZ0ZWQgb3V0IGFuZCBwbGFj
ZWQgaW50byB0aGUgbV9idWZmZXI4IHZlY3Rvci4KQEAgLTE1MTYsMTUgKzE1NDcsMjIgQEAgQUxX
QVlTX0lOTElORSBhdXRvIExleGVyPFQ+OjpwYXJzZUhleCgpIC0+IE51bWJlclBhcnNlUmVzdWx0
CiAgICAgICAgICBoZXhWYWx1ZSA8PD0gNDsKICAgICB9CiAKLSAgICB3aGlsZSAoaXNBU0NJSUhl
eERpZ2l0KG1fY3VycmVudCkpIHsKKyAgICB3aGlsZSAoaXNBU0NJSUhleERpZ2l0T3JTZXBhcmF0
b3IobV9jdXJyZW50KSkgeworICAgICAgICBpZiAobV9jdXJyZW50ID09ICdfJykgeworICAgICAg
ICAgICAgaWYgKFVOTElLRUxZKCFpc0FTQ0lJSGV4RGlnaXQocGVlaygxKSkpKQorICAgICAgICAg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAgICAgIHNoaWZ0KCk7CisgICAg
ICAgIH0KKwogICAgICAgICByZWNvcmQ4KG1fY3VycmVudCk7CiAgICAgICAgIHNoaWZ0KCk7CiAg
ICAgfQogCiAgICAgaWYgKFVOTElLRUxZKE9wdGlvbnM6OnVzZUJpZ0ludCgpICYmIG1fY3VycmVu
dCA9PSAnbicpKQotICAgICAgICByZXR1cm4gbWFrZUlkZW50aWZpZXIobV9idWZmZXI4LmRhdGEo
KSwgbV9idWZmZXI4LnNpemUoKSk7CisgICAgICAgIHJldHVybiBOdW1iZXJQYXJzZVJlc3VsdCB7
IG1ha2VJZGVudGlmaWVyKG1fYnVmZmVyOC5kYXRhKCksIG1fYnVmZmVyOC5zaXplKCkpIH07CiAg
ICAgCi0gICAgcmV0dXJuIHBhcnNlSW50T3ZlcmZsb3cobV9idWZmZXI4LmRhdGEoKSwgbV9idWZm
ZXI4LnNpemUoKSwgMTYpOworICAgIHJldHVybiBOdW1iZXJQYXJzZVJlc3VsdCB7IHBhcnNlSW50
T3ZlcmZsb3cobV9idWZmZXI4LmRhdGEoKSwgbV9idWZmZXI4LnNpemUoKSwgMTYpIH07CiB9CiAK
IHRlbXBsYXRlIDx0eXBlbmFtZSBUPgpAQCAtMTUzOSwzMCArMTU3Nyw0NCBAQCBBTFdBWVNfSU5M
SU5FIGF1dG8gTGV4ZXI8VD46OnBhcnNlQmluYXJ5KCkgLT4gT3B0aW9uYWw8TnVtYmVyUGFyc2VS
ZXN1bHQ+CiAgICAgTENoYXIgZGlnaXRzW21heGltdW1EaWdpdHNdOwogCiAgICAgZG8geworICAg
ICAgICBpZiAobV9jdXJyZW50ID09ICdfJykgeworICAgICAgICAgICAgaWYgKFVOTElLRUxZKCFp
c0FTQ0lJQmluYXJ5RGlnaXQocGVlaygxKSkpKQorICAgICAgICAgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CisKKyAgICAgICAgICAgIHNoaWZ0KCk7CisgICAgICAgIH0KKwogICAgICAgICBi
aW5hcnlWYWx1ZSA9IChiaW5hcnlWYWx1ZSA8PCAxKSArIChtX2N1cnJlbnQgLSAnMCcpOwogICAg
ICAgICBkaWdpdHNbZGlnaXRdID0gbV9jdXJyZW50OwogICAgICAgICBzaGlmdCgpOwogICAgICAg
ICAtLWRpZ2l0OwotICAgIH0gd2hpbGUgKGlzQVNDSUlCaW5hcnlEaWdpdChtX2N1cnJlbnQpICYm
IGRpZ2l0ID49IDApOworICAgIH0gd2hpbGUgKGlzQVNDSUlCaW5hcnlEaWdpdE9yU2VwYXJhdG9y
KG1fY3VycmVudCkgJiYgZGlnaXQgPj0gMCk7CiAKLSAgICBpZiAoTElLRUxZKCFpc0FTQ0lJRGln
aXQobV9jdXJyZW50KSAmJiBkaWdpdCA+PSAwICYmIG1fY3VycmVudCAhPSAnbicpKQotICAgICAg
ICByZXR1cm4gVmFyaWFudDxkb3VibGUsIGNvbnN0IElkZW50aWZpZXIqPiB7IGJpbmFyeVZhbHVl
IH07CisgICAgaWYgKExJS0VMWSghaXNBU0NJSURpZ2l0T3JTZXBhcmF0b3IobV9jdXJyZW50KSAm
JiBkaWdpdCA+PSAwICYmIG1fY3VycmVudCAhPSAnbicpKQorICAgICAgICByZXR1cm4gTnVtYmVy
UGFyc2VSZXN1bHQgeyBiaW5hcnlWYWx1ZSB9OwogCiAgICAgZm9yIChpbnQgaSA9IG1heGltdW1E
aWdpdHMgLSAxOyBpID4gZGlnaXQ7IC0taSkKICAgICAgICAgcmVjb3JkOChkaWdpdHNbaV0pOwog
Ci0gICAgd2hpbGUgKGlzQVNDSUlCaW5hcnlEaWdpdChtX2N1cnJlbnQpKSB7CisgICAgd2hpbGUg
KGlzQVNDSUlCaW5hcnlEaWdpdE9yU2VwYXJhdG9yKG1fY3VycmVudCkpIHsKKyAgICAgICAgaWYg
KG1fY3VycmVudCA9PSAnXycpIHsKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWSghaXNBU0NJSUJp
bmFyeURpZ2l0KHBlZWsoMSkpKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OworCisgICAgICAgICAgICBzaGlmdCgpOworICAgICAgICB9CisKICAgICAgICAgcmVjb3JkOCht
X2N1cnJlbnQpOwogICAgICAgICBzaGlmdCgpOwogICAgIH0KIAogICAgIGlmIChVTkxJS0VMWShP
cHRpb25zOjp1c2VCaWdJbnQoKSAmJiBtX2N1cnJlbnQgPT0gJ24nKSkKLSAgICAgICAgcmV0dXJu
IFZhcmlhbnQ8ZG91YmxlLCBjb25zdCBJZGVudGlmaWVyKj4geyBtYWtlSWRlbnRpZmllcihtX2J1
ZmZlcjguZGF0YSgpLCBtX2J1ZmZlcjguc2l6ZSgpKSB9OworICAgICAgICByZXR1cm4gTnVtYmVy
UGFyc2VSZXN1bHQgeyBtYWtlSWRlbnRpZmllcihtX2J1ZmZlcjguZGF0YSgpLCBtX2J1ZmZlcjgu
c2l6ZSgpKSB9OwogCiAgICAgaWYgKGlzQVNDSUlEaWdpdChtX2N1cnJlbnQpKQogICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OwogCi0gICAgcmV0dXJuIFZhcmlhbnQ8ZG91YmxlLCBjb25zdCBJ
ZGVudGlmaWVyKj4geyBwYXJzZUludE92ZXJmbG93KG1fYnVmZmVyOC5kYXRhKCksIG1fYnVmZmVy
OC5zaXplKCksIDIpIH07CisgICAgcmV0dXJuIE51bWJlclBhcnNlUmVzdWx0IHsgcGFyc2VJbnRP
dmVyZmxvdyhtX2J1ZmZlcjguZGF0YSgpLCBtX2J1ZmZlcjguc2l6ZSgpLCAyKSB9OwogfQogCiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KQEAgLTE1NzcsMzEgKzE2MjksNDQgQEAgQUxXQVlTX0lOTElO
RSBhdXRvIExleGVyPFQ+OjpwYXJzZU9jdGFsKCkgLT4gT3B0aW9uYWw8TnVtYmVyUGFyc2VSZXN1
bHQ+CiAgICAgTENoYXIgZGlnaXRzW21heGltdW1EaWdpdHNdOwogCiAgICAgZG8geworICAgICAg
ICBpZiAobV9jdXJyZW50ID09ICdfJykgeworICAgICAgICAgICAgaWYgKFVOTElLRUxZKCFpc0FT
Q0lJT2N0YWxEaWdpdChwZWVrKDEpKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVs
bG9wdDsKKworICAgICAgICAgICAgc2hpZnQoKTsKKyAgICAgICAgfQorCiAgICAgICAgIG9jdGFs
VmFsdWUgPSBvY3RhbFZhbHVlICogOCArIChtX2N1cnJlbnQgLSAnMCcpOwogICAgICAgICBkaWdp
dHNbZGlnaXRdID0gbV9jdXJyZW50OwogICAgICAgICBzaGlmdCgpOwogICAgICAgICAtLWRpZ2l0
OwotICAgIH0gd2hpbGUgKGlzQVNDSUlPY3RhbERpZ2l0KG1fY3VycmVudCkgJiYgZGlnaXQgPj0g
MCk7Ci0KLSAgICBpZiAoTElLRUxZKCFpc0FTQ0lJRGlnaXQobV9jdXJyZW50KSAmJiBkaWdpdCA+
PSAwICYmIG1fY3VycmVudCAhPSAnbicpKQotICAgICAgICByZXR1cm4gVmFyaWFudDxkb3VibGUs
IGNvbnN0IElkZW50aWZpZXIqPiB7IG9jdGFsVmFsdWUgfTsKKyAgICB9IHdoaWxlIChpc0FTQ0lJ
T2N0YWxEaWdpdE9yU2VwYXJhdG9yKG1fY3VycmVudCkgJiYgZGlnaXQgPj0gMCk7CiAKKyAgICBp
ZiAoTElLRUxZKCFpc0FTQ0lJRGlnaXRPclNlcGFyYXRvcihtX2N1cnJlbnQpICYmIGRpZ2l0ID49
IDAgJiYgbV9jdXJyZW50ICE9ICduJykpCisgICAgICAgIHJldHVybiBOdW1iZXJQYXJzZVJlc3Vs
dCB7IG9jdGFsVmFsdWUgfTsKIAogICAgIGZvciAoaW50IGkgPSBtYXhpbXVtRGlnaXRzIC0gMTsg
aSA+IGRpZ2l0OyAtLWkpCiAgICAgICAgICByZWNvcmQ4KGRpZ2l0c1tpXSk7CiAKLSAgICB3aGls
ZSAoaXNBU0NJSU9jdGFsRGlnaXQobV9jdXJyZW50KSkgeworICAgIHdoaWxlIChpc0FTQ0lJT2N0
YWxEaWdpdE9yU2VwYXJhdG9yKG1fY3VycmVudCkpIHsKKyAgICAgICAgaWYgKG1fY3VycmVudCA9
PSAnXycpIHsKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWSghaXNBU0NJSU9jdGFsRGlnaXQocGVl
aygxKSkpKQorICAgICAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAg
ICAgIHNoaWZ0KCk7CisgICAgICAgIH0KKwogICAgICAgICByZWNvcmQ4KG1fY3VycmVudCk7CiAg
ICAgICAgIHNoaWZ0KCk7CiAgICAgfQogCiAgICAgaWYgKFVOTElLRUxZKE9wdGlvbnM6OnVzZUJp
Z0ludCgpICYmIG1fY3VycmVudCA9PSAnbicpKQotICAgICAgICByZXR1cm4gVmFyaWFudDxkb3Vi
bGUsIGNvbnN0IElkZW50aWZpZXIqPiB7IG1ha2VJZGVudGlmaWVyKG1fYnVmZmVyOC5kYXRhKCks
IG1fYnVmZmVyOC5zaXplKCkpIH07CisgICAgICAgIHJldHVybiBOdW1iZXJQYXJzZVJlc3VsdCB7
IG1ha2VJZGVudGlmaWVyKG1fYnVmZmVyOC5kYXRhKCksIG1fYnVmZmVyOC5zaXplKCkpIH07CiAK
ICAgICBpZiAoaXNBU0NJSURpZ2l0KG1fY3VycmVudCkpCiAgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CiAKLSAgICByZXR1cm4gVmFyaWFudDxkb3VibGUsIGNvbnN0IElkZW50aWZpZXIqPiB7
IHBhcnNlSW50T3ZlcmZsb3cobV9idWZmZXI4LmRhdGEoKSwgbV9idWZmZXI4LnNpemUoKSwgOCkg
fTsKKyAgICByZXR1cm4gTnVtYmVyUGFyc2VSZXN1bHQgeyBwYXJzZUludE92ZXJmbG93KG1fYnVm
ZmVyOC5kYXRhKCksIG1fYnVmZmVyOC5zaXplKCksIDgpIH07CiB9CiAKIHRlbXBsYXRlIDx0eXBl
bmFtZSBUPgpAQCAtMTYyMCwzOCArMTY4NSw2MyBAQCBBTFdBWVNfSU5MSU5FIGF1dG8gTGV4ZXI8
VD46OnBhcnNlRGVjaW1hbCgpIC0+IE9wdGlvbmFsPE51bWJlclBhcnNlUmVzdWx0PgogICAgICAg
ICBMQ2hhciBkaWdpdHNbbWF4aW11bURpZ2l0c107CiAKICAgICAgICAgZG8geworICAgICAgICAg
ICAgaWYgKG1fY3VycmVudCA9PSAnXycpIHsKKyAgICAgICAgICAgICAgICBpZiAoVU5MSUtFTFko
IWlzQVNDSUlEaWdpdChwZWVrKDEpKSkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBXVEY6
Om51bGxvcHQ7CisKKyAgICAgICAgICAgICAgICBzaGlmdCgpOworICAgICAgICAgICAgfQorCiAg
ICAgICAgICAgICBkZWNpbWFsVmFsdWUgPSBkZWNpbWFsVmFsdWUgKiAxMCArIChtX2N1cnJlbnQg
LSAnMCcpOwogICAgICAgICAgICAgZGlnaXRzW2RpZ2l0XSA9IG1fY3VycmVudDsKICAgICAgICAg
ICAgIHNoaWZ0KCk7CiAgICAgICAgICAgICAtLWRpZ2l0OwotICAgICAgICB9IHdoaWxlIChpc0FT
Q0lJRGlnaXQobV9jdXJyZW50KSAmJiBkaWdpdCA+PSAwKTsKKyAgICAgICAgfSB3aGlsZSAoaXNB
U0NJSURpZ2l0T3JTZXBhcmF0b3IobV9jdXJyZW50KSAmJiBkaWdpdCA+PSAwKTsKIAogICAgICAg
ICBpZiAoZGlnaXQgPj0gMCAmJiBtX2N1cnJlbnQgIT0gJy4nICYmICFpc0FTQ0lJQWxwaGFDYXNl
bGVzc0VxdWFsKG1fY3VycmVudCwgJ2UnKSAmJiBtX2N1cnJlbnQgIT0gJ24nKQotICAgICAgICAg
ICAgcmV0dXJuIFZhcmlhbnQ8ZG91YmxlLCBjb25zdCBJZGVudGlmaWVyKj4geyBkZWNpbWFsVmFs
dWUgfTsKKyAgICAgICAgICAgIHJldHVybiBOdW1iZXJQYXJzZVJlc3VsdCB7IGRlY2ltYWxWYWx1
ZSB9OwogCiAgICAgICAgIGZvciAoaW50IGkgPSBtYXhpbXVtRGlnaXRzIC0gMTsgaSA+IGRpZ2l0
OyAtLWkpCiAgICAgICAgICAgICByZWNvcmQ4KGRpZ2l0c1tpXSk7CiAgICAgfQogCi0gICAgd2hp
bGUgKGlzQVNDSUlEaWdpdChtX2N1cnJlbnQpKSB7CisgICAgd2hpbGUgKGlzQVNDSUlEaWdpdE9y
U2VwYXJhdG9yKG1fY3VycmVudCkpIHsKKyAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnXycpIHsK
KyAgICAgICAgICAgIGlmIChVTkxJS0VMWSghaXNBU0NJSURpZ2l0KHBlZWsoMSkpKSkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgICAgICAgICBzaGlmdCgpOwor
ICAgICAgICB9CisKICAgICAgICAgcmVjb3JkOChtX2N1cnJlbnQpOwogICAgICAgICBzaGlmdCgp
OwogICAgIH0KICAgICAKICAgICBpZiAoVU5MSUtFTFkoT3B0aW9uczo6dXNlQmlnSW50KCkgJiYg
bV9jdXJyZW50ID09ICduJykpCi0gICAgICAgIHJldHVybiBWYXJpYW50PGRvdWJsZSwgY29uc3Qg
SWRlbnRpZmllcio+IHsgbWFrZUlkZW50aWZpZXIobV9idWZmZXI4LmRhdGEoKSwgbV9idWZmZXI4
LnNpemUoKSkgfTsKKyAgICAgICAgcmV0dXJuIE51bWJlclBhcnNlUmVzdWx0IHsgbWFrZUlkZW50
aWZpZXIobV9idWZmZXI4LmRhdGEoKSwgbV9idWZmZXI4LnNpemUoKSkgfTsKIAogICAgIHJldHVy
biBXVEY6Om51bGxvcHQ7CiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotQUxXQVlTX0lOTElO
RSB2b2lkIExleGVyPFQ+OjpwYXJzZU51bWJlckFmdGVyRGVjaW1hbFBvaW50KCkKK0FMV0FZU19J
TkxJTkUgYm9vbCBMZXhlcjxUPjo6cGFyc2VOdW1iZXJBZnRlckRlY2ltYWxQb2ludCgpCiB7Cisg
ICAgQVNTRVJUKGlzQVNDSUlEaWdpdChtX2N1cnJlbnQpKTsKICAgICByZWNvcmQ4KCcuJyk7Ci0g
ICAgd2hpbGUgKGlzQVNDSUlEaWdpdChtX2N1cnJlbnQpKSB7CisKKyAgICBkbyB7CisgICAgICAg
IGlmIChtX2N1cnJlbnQgPT0gJ18nKSB7CisgICAgICAgICAgICBpZiAoVU5MSUtFTFkoIWlzQVND
SUlEaWdpdChwZWVrKDEpKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
ICAgICAgICBzaGlmdCgpOworICAgICAgICB9CisKICAgICAgICAgcmVjb3JkOChtX2N1cnJlbnQp
OwogICAgICAgICBzaGlmdCgpOwotICAgIH0KKyAgICB9IHdoaWxlIChpc0FTQ0lJRGlnaXRPclNl
cGFyYXRvcihtX2N1cnJlbnQpKTsKKworICAgIHJldHVybiB0cnVlOwogfQogCiB0ZW1wbGF0ZSA8
dHlwZW5hbWUgVD4KQEAgLTE2NjgsOSArMTc1OCwxNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgTGV4
ZXI8VD46OnBhcnNlTnVtYmVyQWZ0ZXJFeHBvbmVudEluZGljYXRvcigpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAogICAgIGRvIHsKKyAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnXycpIHsKKyAg
ICAgICAgICAgIGlmIChVTkxJS0VMWSghaXNBU0NJSURpZ2l0KHBlZWsoMSkpKSkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIHNoaWZ0KCk7CisgICAgICAgIH0K
KwogICAgICAgICByZWNvcmQ4KG1fY3VycmVudCk7CiAgICAgICAgIHNoaWZ0KCk7Ci0gICAgfSB3
aGlsZSAoaXNBU0NJSURpZ2l0KG1fY3VycmVudCkpOworICAgIH0gd2hpbGUgKGlzQVNDSUlEaWdp
dE9yU2VwYXJhdG9yKG1fY3VycmVudCkpOworCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTIw
OTAsNyArMjE4OCwxMSBAQCBzdGFydDoKICAgICAgICAgICAgIHRva2VuID0gRE9UOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAgcGFyc2VOdW1iZXJBZnRlckRlY2ltYWxQ
b2ludCgpOworICAgICAgICBpZiAoVU5MSUtFTFkoIXBhcnNlTnVtYmVyQWZ0ZXJEZWNpbWFsUG9p
bnQoKSkpIHsKKyAgICAgICAgICAgIG1fbGV4RXJyb3JNZXNzYWdlID0gIk5vbi1udW1iZXIgZm91
bmQgYWZ0ZXIgZGVjaW1hbCBwb2ludCJfczsKKyAgICAgICAgICAgIHRva2VuID0gSU5WQUxJRF9O
VU1FUklDX0xJVEVSQUxfRVJST1JUT0s7CisgICAgICAgICAgICBnb3RvIHJldHVybkVycm9yOwor
ICAgICAgICB9CiAgICAgICAgIHRva2VuID0gRE9VQkxFOwogICAgICAgICBpZiAoaXNBU0NJSUFs
cGhhQ2FzZWxlc3NFcXVhbChtX2N1cnJlbnQsICdlJykpIHsKICAgICAgICAgICAgIGlmICghcGFy
c2VOdW1iZXJBZnRlckV4cG9uZW50SW5kaWNhdG9yKCkpIHsKQEAgLTIxMjQsMTIgKzIyMjYsMTQg
QEAgc3RhcnQ6CiAgICAgICAgICAgICBzaGlmdCgpOwogCiAgICAgICAgICAgICBhdXRvIHBhcnNl
TnVtYmVyUmVzdWx0ID0gcGFyc2VIZXgoKTsKLSAgICAgICAgICAgIGlmIChXVEY6OmhvbGRzX2Fs
dGVybmF0aXZlPGRvdWJsZT4ocGFyc2VOdW1iZXJSZXN1bHQpKQotICAgICAgICAgICAgICAgIHRv
a2VuRGF0YS0+ZG91YmxlVmFsdWUgPSBXVEY6OmdldDxkb3VibGU+KHBhcnNlTnVtYmVyUmVzdWx0
KTsKKyAgICAgICAgICAgIGlmICghcGFyc2VOdW1iZXJSZXN1bHQpCisgICAgICAgICAgICAgICAg
dG9rZW5EYXRhLT5kb3VibGVWYWx1ZSA9IDA7CisgICAgICAgICAgICBlbHNlIGlmIChXVEY6Omhv
bGRzX2FsdGVybmF0aXZlPGRvdWJsZT4oKnBhcnNlTnVtYmVyUmVzdWx0KSkKKyAgICAgICAgICAg
ICAgICB0b2tlbkRhdGEtPmRvdWJsZVZhbHVlID0gV1RGOjpnZXQ8ZG91YmxlPigqcGFyc2VOdW1i
ZXJSZXN1bHQpOwogICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgdG9rZW4gPSBC
SUdJTlQ7CiAgICAgICAgICAgICAgICAgc2hpZnQoKTsKLSAgICAgICAgICAgICAgICB0b2tlbkRh
dGEtPmJpZ0ludFN0cmluZyA9IFdURjo6Z2V0PGNvbnN0IElkZW50aWZpZXIqPihwYXJzZU51bWJl
clJlc3VsdCk7CisgICAgICAgICAgICAgICAgdG9rZW5EYXRhLT5iaWdJbnRTdHJpbmcgPSBXVEY6
OmdldDxjb25zdCBJZGVudGlmaWVyKj4oKnBhcnNlTnVtYmVyUmVzdWx0KTsKICAgICAgICAgICAg
ICAgICB0b2tlbkRhdGEtPnJhZGl4ID0gMTY7CiAgICAgICAgICAgICB9CiAKQEAgLTIyMDksNiAr
MjMxMywxMiBAQCBzdGFydDoKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKKyAgICAg
ICAgaWYgKFVOTElLRUxZKG1fY3VycmVudCA9PSAnXycpKSB7CisgICAgICAgICAgICBtX2xleEVy
cm9yTWVzc2FnZSA9ICJOdW1lcmljIGxpdGVyYWxzIG1heSBub3QgYmVnaW4gd2l0aCAwXyJfczsK
KyAgICAgICAgICAgIHRva2VuID0gVU5URVJNSU5BVEVEX09DVEFMX05VTUJFUl9FUlJPUlRPSzsK
KyAgICAgICAgICAgIGdvdG8gcmV0dXJuRXJyb3I7CisgICAgICAgIH0KKwogICAgICAgICByZWNv
cmQ4KCcwJyk7CiAgICAgICAgIGlmIChzdHJpY3RNb2RlICYmIGlzQVNDSUlEaWdpdChtX2N1cnJl
bnQpKSB7CiAgICAgICAgICAgICBtX2xleEVycm9yTWVzc2FnZSA9ICJEZWNpbWFsIGludGVnZXIg
bGl0ZXJhbHMgd2l0aCBhIGxlYWRpbmcgemVybyBhcmUgZm9yYmlkZGVuIGluIHN0cmljdCBtb2Rl
Il9zOwpAQCAtMjI0MCw3ICsyMzUwLDExIEBAIHN0YXJ0OgogICAgICAgICAgICAgICAgICAgICB0
b2tlbiA9IElOVEVHRVI7CiAgICAgICAgICAgICAgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJy4n
KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBzaGlmdCgpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgcGFyc2VOdW1iZXJBZnRlckRlY2ltYWxQb2ludCgpOworICAgICAgICAgICAgICAgICAg
ICAgICAgaWYgKFVOTElLRUxZKGlzQVNDSUlEaWdpdChtX2N1cnJlbnQpICYmICFwYXJzZU51bWJl
ckFmdGVyRGVjaW1hbFBvaW50KCkpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9s
ZXhFcnJvck1lc3NhZ2UgPSAiTm9uLW51bWJlciBmb3VuZCBhZnRlciBkZWNpbWFsIHBvaW50Il9z
OworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuID0gSU5WQUxJRF9OVU1FUklDX0xJ
VEVSQUxfRVJST1JUT0s7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm5F
cnJvcjsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg
IHRva2VuID0gRE9VQkxFOwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg
ICAgIGlmIChpc0FTQ0lJQWxwaGFDYXNlbGVzc0VxdWFsKG1fY3VycmVudCwgJ2UnKSkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCmluZGV4IDM3NTU0MzdlOTNkMmQ3ZmNlZTJlZjhl
MzI1ZTFmZmUxZDM3ZjNhZDkuLmNmMzc4MGJiYzQ2YmU1NjRlZjg5YjMwYTYzMjUzMDA1MWZkODQ2
YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAorKysg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKQEAgLTE3OSwxMSArMTc5LDEx
IEBAIHByaXZhdGU6CiAgICAgQUxXQVlTX0lOTElORSBTdHJpbmdQYXJzZVJlc3VsdCBwYXJzZVRl
bXBsYXRlTGl0ZXJhbChKU1Rva2VuRGF0YSosIFJhd1N0cmluZ3NCdWlsZE1vZGUpOwogICAgIAog
ICAgIHVzaW5nIE51bWJlclBhcnNlUmVzdWx0ID0gVmFyaWFudDxkb3VibGUsIGNvbnN0IElkZW50
aWZpZXIqPjsKLSAgICBBTFdBWVNfSU5MSU5FIE51bWJlclBhcnNlUmVzdWx0IHBhcnNlSGV4KCk7
CisgICAgQUxXQVlTX0lOTElORSBPcHRpb25hbDxOdW1iZXJQYXJzZVJlc3VsdD4gcGFyc2VIZXgo
KTsKICAgICBBTFdBWVNfSU5MSU5FIE9wdGlvbmFsPE51bWJlclBhcnNlUmVzdWx0PiBwYXJzZUJp
bmFyeSgpOwogICAgIEFMV0FZU19JTkxJTkUgT3B0aW9uYWw8TnVtYmVyUGFyc2VSZXN1bHQ+IHBh
cnNlT2N0YWwoKTsKICAgICBBTFdBWVNfSU5MSU5FIE9wdGlvbmFsPE51bWJlclBhcnNlUmVzdWx0
PiBwYXJzZURlY2ltYWwoKTsKLSAgICBBTFdBWVNfSU5MSU5FIHZvaWQgcGFyc2VOdW1iZXJBZnRl
ckRlY2ltYWxQb2ludCgpOworICAgIEFMV0FZU19JTkxJTkUgYm9vbCBwYXJzZU51bWJlckFmdGVy
RGVjaW1hbFBvaW50KCk7CiAgICAgQUxXQVlTX0lOTElORSBib29sIHBhcnNlTnVtYmVyQWZ0ZXJF
eHBvbmVudEluZGljYXRvcigpOwogICAgIEFMV0FZU19JTkxJTkUgYm9vbCBwYXJzZU11bHRpbGlu
ZUNvbW1lbnQoKTsKIApkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0No
YW5nZUxvZwppbmRleCAwZGFmM2IxMjk0Y2FmY2ZkMGU1MTY3NjZiMjg3OWM4NWExMjJlMGQ1Li5i
MWU5MzU0NmQ2ZjQyMmU1N2Y2NTgwMDcyOTE0NmE2M2U3Mzc0ZTZlIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDE5LTA1LTE4ICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAg
ICAgICBbRVNOZXh0XSBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgTnVtZXJpYyBTZXBhcmF0b3JzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTYzNTEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVzcy9u
dW1lcmljLWxpdGVyYWwtc2VwYXJhdG9ycy5qczogQWRkZWQuCisgICAgICAgIEFkZCB0ZXN0cyBm
b3IgZmVhdHVyZS4KKworICAgICAgICAqIHRlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWw6CisgICAg
ICAgIE1hcmsgNjAgdGVzdCBjYXNlcyBhcyBwYXNzaW5nLgorCiAyMDE5LTA1LTE3ICBKdXN0aW4g
TWljaGF1ZCAgPGp1c3Rpbl9taWNoYXVkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV0FTTS1SZWZl
cmVuY2VzXSBBZGQgc3VwcG9ydCBmb3IgQW55cmVmIGluIHBhcmFtZXRlcnMgYW5kIHJldHVybiB0
eXBlcywgUmVmLm51bGwgYW5kIFJlZi5pc19udWxsIGZvciBBbnlyZWYgdmFsdWVzLgpkaWZmIC0t
Z2l0IGEvSlNUZXN0cy9zdHJlc3MvbnVtZXJpYy1saXRlcmFsLXNlcGFyYXRvcnMuanMgYi9KU1Rl
c3RzL3N0cmVzcy9udW1lcmljLWxpdGVyYWwtc2VwYXJhdG9ycy5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OWM0
OTJkMmQwZjllNTYxYmE3ODRmYWRjZDUyOGZiMGVhYjE3M2EzCi0tLSAvZGV2L251bGwKKysrIGIv
SlNUZXN0cy9zdHJlc3MvbnVtZXJpYy1saXRlcmFsLXNlcGFyYXRvcnMuanMKQEAgLTAsMCArMSw1
MyBAQAorZnVuY3Rpb24gc2hvdWxkTm90VGhyb3coc2NyaXB0KSB7CisgIGV2YWwoc2NyaXB0KTsK
K30KKworZnVuY3Rpb24gc2hvdWxkVGhyb3coc2NyaXB0LCBlcnJvclR5cGUpIHsKKyAgICBsZXQg
ZXJyb3I7CisgICAgdHJ5IHsKKyAgICAgICAgZXZhbChzY3JpcHQpOworICAgIH0gY2F0Y2ggKGUp
IHsKKyAgICAgICAgZXJyb3IgPSBlOworICAgIH0KKworICAgIGlmICghKGVycm9yIGluc3RhbmNl
b2YgZXJyb3JUeXBlKSkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCAke2Vycm9y
VHlwZS5uYW1lfSFgKTsKK30KKworc2hvdWxkTm90VGhyb3coJzFfMl8zJyk7CitzaG91bGROb3RU
aHJvdygnMHgxXzFfMScpOworc2hvdWxkTm90VGhyb3coJzBiMV8xXzEnKTsKK3Nob3VsZE5vdFRo
cm93KCcwbzFfMV8xJyk7CisKK3Nob3VsZE5vdFRocm93KCcuMV8yXzMnKTsKK3Nob3VsZE5vdFRo
cm93KCcxXzJfMy40XzVfNicpOworc2hvdWxkTm90VGhyb3coJzFfMl8zLjRfNV82ZTdfOF85Jyk7
CitzaG91bGROb3RUaHJvdygnMV8yXzMuNF81XzZlKzdfOF85Jyk7CitzaG91bGROb3RUaHJvdygn
MV8yXzMuNF81XzZlLTdfOF85Jyk7CitzaG91bGROb3RUaHJvdygnMV8yXzNlNF81XzYnKTsKK3No
b3VsZE5vdFRocm93KCcxXzJfM2UrNF81XzYnKTsKK3Nob3VsZE5vdFRocm93KCcxXzJfM2UtNF81
XzYnKTsKK3Nob3VsZE5vdFRocm93KCcxXzJfMy5lNF81XzYnKTsKK3Nob3VsZE5vdFRocm93KCcx
XzJfMy5lKzRfNV82Jyk7CitzaG91bGROb3RUaHJvdygnMV8yXzMuZS00XzVfNicpOworCitzaG91
bGRUaHJvdygnXzEnLCBSZWZlcmVuY2VFcnJvcik7CitzaG91bGRUaHJvdygnMV8nLCBTeW50YXhF
cnJvcik7CitzaG91bGRUaHJvdygnMHhfMScsIFN5bnRheEVycm9yKTsKK3Nob3VsZFRocm93KCcw
eDFfJywgU3ludGF4RXJyb3IpOworc2hvdWxkVGhyb3coJzBiXzEnLCBTeW50YXhFcnJvcik7Citz
aG91bGRUaHJvdygnMGIxXycsIFN5bnRheEVycm9yKTsKK3Nob3VsZFRocm93KCcwb18xJywgU3lu
dGF4RXJyb3IpOworc2hvdWxkVGhyb3coJzBvMV8nLCBTeW50YXhFcnJvcik7CitzaG91bGRUaHJv
dygnMF8xJywgU3ludGF4RXJyb3IpOworCitzaG91bGRUaHJvdygnLl8xJywgU3ludGF4RXJyb3Ip
Oworc2hvdWxkVGhyb3coJy4xXycsIFN5bnRheEVycm9yKTsKK3Nob3VsZFRocm93KCcxXy4yJywg
U3ludGF4RXJyb3IpOworc2hvdWxkVGhyb3coJzFfZTInLCBTeW50YXhFcnJvcik7CitzaG91bGRU
aHJvdygnMWVfMicsIFN5bnRheEVycm9yKTsKK3Nob3VsZFRocm93KCcxZTJfJywgU3ludGF4RXJy
b3IpOworc2hvdWxkVGhyb3coJzFlK18yJywgU3ludGF4RXJyb3IpOworc2hvdWxkVGhyb3coJzFl
KzJfJywgU3ludGF4RXJyb3IpOworc2hvdWxkVGhyb3coJzFlLV8yJywgU3ludGF4RXJyb3IpOwor
c2hvdWxkVGhyb3coJzFlLTJfJywgU3ludGF4RXJyb3IpOwpkaWZmIC0tZ2l0IGEvSlNUZXN0cy90
ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sIGIvSlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55
YW1sCmluZGV4IGUzNzI3M2Q4MTFkMjlhYTYyYjlhMGQ3N2M2NjA1YzYzOGQ2NjE5MmQuLjljYmUz
NWQzMTI4OTU2Y2JjOThlMzhiZTU4NWJiNDI3ZWUyMDFhZjggMTAwNjQ0Ci0tLSBhL0pTVGVzdHMv
dGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRp
b25zLnlhbWwKQEAgLTI1ODYsOTYgKzI1ODYsNiBAQCB0ZXN0L2xhbmd1YWdlL2dsb2JhbC1jb2Rl
L3NjcmlwdC1kZWNsLWZ1bmMtZXJyLW5vbi1leHRlbnNpYmxlLmpzOgogdGVzdC9sYW5ndWFnZS9n
bG9iYWwtY29kZS9zY3JpcHQtZGVjbC12YXItZXJyLmpzOgogICBkZWZhdWx0OiAnVGVzdDI2MkVy
cm9yOiBFeHBlY3RlZCBhIFR5cGVFcnJvciB0byBiZSB0aHJvd24gYnV0IG5vIGV4Y2VwdGlvbiB3
YXMgdGhyb3duIGF0IGFsbCcKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVk
IGEgVHlwZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQg
YWxsJwotdGVzdC9sYW5ndWFnZS9saXRlcmFscy9udW1lcmljL251bWVyaWMtc2VwYXJhdG9yLWxp
dGVyYWwtYmlsLWJkLW5zbC1iZC5qczoKLSAgZGVmYXVsdDogJ1N5bnRheEVycm9yOiBObyBzcGFj
ZSBiZXR3ZWVuIGJpbmFyeSBsaXRlcmFsIGFuZCBpZGVudGlmaWVyJwotICBzdHJpY3QgbW9kZTog
J1N5bnRheEVycm9yOiBObyBzcGFjZSBiZXR3ZWVuIGJpbmFyeSBsaXRlcmFsIGFuZCBpZGVudGlm
aWVyJwotdGVzdC9sYW5ndWFnZS9saXRlcmFscy9udW1lcmljL251bWVyaWMtc2VwYXJhdG9yLWxp
dGVyYWwtYmlsLWJkLW5zbC1iZHMuanM6Ci0gIGRlZmF1bHQ6ICdTeW50YXhFcnJvcjogTm8gc3Bh
Y2UgYmV0d2VlbiBiaW5hcnkgbGl0ZXJhbCBhbmQgaWRlbnRpZmllcicKLSAgc3RyaWN0IG1vZGU6
ICdTeW50YXhFcnJvcjogTm8gc3BhY2UgYmV0d2VlbiBiaW5hcnkgbGl0ZXJhbCBhbmQgaWRlbnRp
ZmllcicKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVtZXJpYy9udW1lcmljLXNlcGFyYXRvci1s
aXRlcmFsLWJpbC1iZHMtbnNsLWJkLmpzOgotICBkZWZhdWx0OiAnU3ludGF4RXJyb3I6IE5vIHNw
YWNlIGJldHdlZW4gYmluYXJ5IGxpdGVyYWwgYW5kIGlkZW50aWZpZXInCi0gIHN0cmljdCBtb2Rl
OiAnU3ludGF4RXJyb3I6IE5vIHNwYWNlIGJldHdlZW4gYmluYXJ5IGxpdGVyYWwgYW5kIGlkZW50
aWZpZXInCi10ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL251bWVyaWMvbnVtZXJpYy1zZXBhcmF0b3It
bGl0ZXJhbC1iaWwtYmRzLW5zbC1iZHMuanM6Ci0gIGRlZmF1bHQ6ICdTeW50YXhFcnJvcjogTm8g
c3BhY2UgYmV0d2VlbiBiaW5hcnkgbGl0ZXJhbCBhbmQgaWRlbnRpZmllcicKLSAgc3RyaWN0IG1v
ZGU6ICdTeW50YXhFcnJvcjogTm8gc3BhY2UgYmV0d2VlbiBiaW5hcnkgbGl0ZXJhbCBhbmQgaWRl
bnRpZmllcicKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVtZXJpYy9udW1lcmljLXNlcGFyYXRv
ci1saXRlcmFsLWRkLWRvdC1kZC1lcC1zaWduLW1pbnVzLWRkLW5zbC1kZC5qczoKLSAgZGVmYXVs
dDogJ1N5bnRheEVycm9yOiBObyBpZGVudGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51
bWVyaWMgbGl0ZXJhbCcKLSAgc3RyaWN0IG1vZGU6ICdTeW50YXhFcnJvcjogTm8gaWRlbnRpZmll
cnMgYWxsb3dlZCBkaXJlY3RseSBhZnRlciBudW1lcmljIGxpdGVyYWwnCi10ZXN0L2xhbmd1YWdl
L2xpdGVyYWxzL251bWVyaWMvbnVtZXJpYy1zZXBhcmF0b3ItbGl0ZXJhbC1kZC1kb3QtZGQtZXAt
c2lnbi1taW51cy1kZHMtbnNsLWRkLmpzOgotICBkZWZhdWx0OiAnU3ludGF4RXJyb3I6IE5vIGlk
ZW50aWZpZXJzIGFsbG93ZWQgZGlyZWN0bHkgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsJwotICBzdHJp
Y3QgbW9kZTogJ1N5bnRheEVycm9yOiBObyBpZGVudGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFm
dGVyIG51bWVyaWMgbGl0ZXJhbCcKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVtZXJpYy9udW1l
cmljLXNlcGFyYXRvci1saXRlcmFsLWRkLWRvdC1kZC1lcC1zaWduLXBsdXMtZGQtbnNsLWRkLmpz
OgotICBkZWZhdWx0OiAnU3ludGF4RXJyb3I6IE5vIGlkZW50aWZpZXJzIGFsbG93ZWQgZGlyZWN0
bHkgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsJwotICBzdHJpY3QgbW9kZTogJ1N5bnRheEVycm9yOiBO
byBpZGVudGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbCcKLXRl
c3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVtZXJpYy9udW1lcmljLXNlcGFyYXRvci1saXRlcmFsLWRk
LWRvdC1kZC1lcC1zaWduLXBsdXMtZGRzLW5zbC1kZC5qczoKLSAgZGVmYXVsdDogJ1N5bnRheEVy
cm9yOiBObyBpZGVudGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJh
bCcKLSAgc3RyaWN0IG1vZGU6ICdTeW50YXhFcnJvcjogTm8gaWRlbnRpZmllcnMgYWxsb3dlZCBk
aXJlY3RseSBhZnRlciBudW1lcmljIGxpdGVyYWwnCi10ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL251
bWVyaWMvbnVtZXJpYy1zZXBhcmF0b3ItbGl0ZXJhbC1kZC1uc2wtZGQtb25lLW9mLmpzOgotICBk
ZWZhdWx0OiAnU3ludGF4RXJyb3I6IE5vIGlkZW50aWZpZXJzIGFsbG93ZWQgZGlyZWN0bHkgYWZ0
ZXIgbnVtZXJpYyBsaXRlcmFsJwotICBzdHJpY3QgbW9kZTogJ1N5bnRheEVycm9yOiBObyBpZGVu
dGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbCcKLXRlc3QvbGFu
Z3VhZ2UvbGl0ZXJhbHMvbnVtZXJpYy9udW1lcmljLXNlcGFyYXRvci1saXRlcmFsLWRkcy1kb3Qt
ZGQtbnNsLWRkLWVwLWRkLmpzOgotICBkZWZhdWx0OiAnU3ludGF4RXJyb3I6IE5vIGlkZW50aWZp
ZXJzIGFsbG93ZWQgZGlyZWN0bHkgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsJwotICBzdHJpY3QgbW9k
ZTogJ1N5bnRheEVycm9yOiBObyBpZGVudGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51
bWVyaWMgbGl0ZXJhbCcKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVtZXJpYy9udW1lcmljLXNl
cGFyYXRvci1saXRlcmFsLWRkcy1uc2wtZGQuanM6Ci0gIGRlZmF1bHQ6ICdTeW50YXhFcnJvcjog
Tm8gaWRlbnRpZmllcnMgYWxsb3dlZCBkaXJlY3RseSBhZnRlciBudW1lcmljIGxpdGVyYWwnCi0g
IHN0cmljdCBtb2RlOiAnU3ludGF4RXJyb3I6IE5vIGlkZW50aWZpZXJzIGFsbG93ZWQgZGlyZWN0
bHkgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsJwotdGVzdC9sYW5ndWFnZS9saXRlcmFscy9udW1lcmlj
L251bWVyaWMtc2VwYXJhdG9yLWxpdGVyYWwtZG90LWRkLW5zbC1kZC1lcC5qczoKLSAgZGVmYXVs
dDogJ1N5bnRheEVycm9yOiBObyBpZGVudGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51
bWVyaWMgbGl0ZXJhbCcKLSAgc3RyaWN0IG1vZGU6ICdTeW50YXhFcnJvcjogTm8gaWRlbnRpZmll
cnMgYWxsb3dlZCBkaXJlY3RseSBhZnRlciBudW1lcmljIGxpdGVyYWwnCi10ZXN0L2xhbmd1YWdl
L2xpdGVyYWxzL251bWVyaWMvbnVtZXJpYy1zZXBhcmF0b3ItbGl0ZXJhbC1kb3QtZGQtbnNsLWRk
cy1lcC5qczoKLSAgZGVmYXVsdDogJ1N5bnRheEVycm9yOiBObyBpZGVudGlmaWVycyBhbGxvd2Vk
IGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbCcKLSAgc3RyaWN0IG1vZGU6ICdTeW50YXhF
cnJvcjogTm8gaWRlbnRpZmllcnMgYWxsb3dlZCBkaXJlY3RseSBhZnRlciBudW1lcmljIGxpdGVy
YWwnCi10ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL251bWVyaWMvbnVtZXJpYy1zZXBhcmF0b3ItbGl0
ZXJhbC1kb3QtZGRzLW5zbC1kZC1lcC5qczoKLSAgZGVmYXVsdDogJ1N5bnRheEVycm9yOiBObyBp
ZGVudGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbCcKLSAgc3Ry
aWN0IG1vZGU6ICdTeW50YXhFcnJvcjogTm8gaWRlbnRpZmllcnMgYWxsb3dlZCBkaXJlY3RseSBh
ZnRlciBudW1lcmljIGxpdGVyYWwnCi10ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL251bWVyaWMvbnVt
ZXJpYy1zZXBhcmF0b3ItbGl0ZXJhbC1kb3QtZGRzLW5zbC1kZHMtZXAuanM6Ci0gIGRlZmF1bHQ6
ICdTeW50YXhFcnJvcjogTm8gaWRlbnRpZmllcnMgYWxsb3dlZCBkaXJlY3RseSBhZnRlciBudW1l
cmljIGxpdGVyYWwnCi0gIHN0cmljdCBtb2RlOiAnU3ludGF4RXJyb3I6IE5vIGlkZW50aWZpZXJz
IGFsbG93ZWQgZGlyZWN0bHkgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsJwotdGVzdC9sYW5ndWFnZS9s
aXRlcmFscy9udW1lcmljL251bWVyaWMtc2VwYXJhdG9yLWxpdGVyYWwtaGlsLWhkLW5zbC1oZC5q
czoKLSAgZGVmYXVsdDogJ1N5bnRheEVycm9yOiBObyBzcGFjZSBiZXR3ZWVuIGhleGFkZWNpbWFs
IGxpdGVyYWwgYW5kIGlkZW50aWZpZXInCi0gIHN0cmljdCBtb2RlOiAnU3ludGF4RXJyb3I6IE5v
IHNwYWNlIGJldHdlZW4gaGV4YWRlY2ltYWwgbGl0ZXJhbCBhbmQgaWRlbnRpZmllcicKLXRlc3Qv
bGFuZ3VhZ2UvbGl0ZXJhbHMvbnVtZXJpYy9udW1lcmljLXNlcGFyYXRvci1saXRlcmFsLWhpbC1o
ZC1uc2wtaGRzLmpzOgotICBkZWZhdWx0OiAnU3ludGF4RXJyb3I6IE5vIHNwYWNlIGJldHdlZW4g
aGV4YWRlY2ltYWwgbGl0ZXJhbCBhbmQgaWRlbnRpZmllcicKLSAgc3RyaWN0IG1vZGU6ICdTeW50
YXhFcnJvcjogTm8gc3BhY2UgYmV0d2VlbiBoZXhhZGVjaW1hbCBsaXRlcmFsIGFuZCBpZGVudGlm
aWVyJwotdGVzdC9sYW5ndWFnZS9saXRlcmFscy9udW1lcmljL251bWVyaWMtc2VwYXJhdG9yLWxp
dGVyYWwtaGlsLWhkcy1uc2wtaGQuanM6Ci0gIGRlZmF1bHQ6ICdTeW50YXhFcnJvcjogTm8gc3Bh
Y2UgYmV0d2VlbiBoZXhhZGVjaW1hbCBsaXRlcmFsIGFuZCBpZGVudGlmaWVyJwotICBzdHJpY3Qg
bW9kZTogJ1N5bnRheEVycm9yOiBObyBzcGFjZSBiZXR3ZWVuIGhleGFkZWNpbWFsIGxpdGVyYWwg
YW5kIGlkZW50aWZpZXInCi10ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL251bWVyaWMvbnVtZXJpYy1z
ZXBhcmF0b3ItbGl0ZXJhbC1oaWwtaGRzLW5zbC1oZHMuanM6Ci0gIGRlZmF1bHQ6ICdTeW50YXhF
cnJvcjogTm8gc3BhY2UgYmV0d2VlbiBoZXhhZGVjaW1hbCBsaXRlcmFsIGFuZCBpZGVudGlmaWVy
JwotICBzdHJpY3QgbW9kZTogJ1N5bnRheEVycm9yOiBObyBzcGFjZSBiZXR3ZWVuIGhleGFkZWNp
bWFsIGxpdGVyYWwgYW5kIGlkZW50aWZpZXInCi10ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL251bWVy
aWMvbnVtZXJpYy1zZXBhcmF0b3ItbGl0ZXJhbC1oaWwtb2QtbnNsLW9kLW9uZS1vZi5qczoKLSAg
ZGVmYXVsdDogJ1N5bnRheEVycm9yOiBObyBzcGFjZSBiZXR3ZWVuIGhleGFkZWNpbWFsIGxpdGVy
YWwgYW5kIGlkZW50aWZpZXInCi0gIHN0cmljdCBtb2RlOiAnU3ludGF4RXJyb3I6IE5vIHNwYWNl
IGJldHdlZW4gaGV4YWRlY2ltYWwgbGl0ZXJhbCBhbmQgaWRlbnRpZmllcicKLXRlc3QvbGFuZ3Vh
Z2UvbGl0ZXJhbHMvbnVtZXJpYy9udW1lcmljLXNlcGFyYXRvci1saXRlcmFsLW56ZC1uc2wtZGQt
b25lLW9mLmpzOgotICBkZWZhdWx0OiAnU3ludGF4RXJyb3I6IE5vIGlkZW50aWZpZXJzIGFsbG93
ZWQgZGlyZWN0bHkgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsJwotICBzdHJpY3QgbW9kZTogJ1N5bnRh
eEVycm9yOiBObyBpZGVudGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0
ZXJhbCcKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVtZXJpYy9udW1lcmljLXNlcGFyYXRvci1s
aXRlcmFsLW56ZC1uc2wtZGQuanM6Ci0gIGRlZmF1bHQ6ICdTeW50YXhFcnJvcjogTm8gaWRlbnRp
ZmllcnMgYWxsb3dlZCBkaXJlY3RseSBhZnRlciBudW1lcmljIGxpdGVyYWwnCi0gIHN0cmljdCBt
b2RlOiAnU3ludGF4RXJyb3I6IE5vIGlkZW50aWZpZXJzIGFsbG93ZWQgZGlyZWN0bHkgYWZ0ZXIg
bnVtZXJpYyBsaXRlcmFsJwotdGVzdC9sYW5ndWFnZS9saXRlcmFscy9udW1lcmljL251bWVyaWMt
c2VwYXJhdG9yLWxpdGVyYWwtbnpkLW5zbC1kZHMuanM6Ci0gIGRlZmF1bHQ6ICdTeW50YXhFcnJv
cjogTm8gaWRlbnRpZmllcnMgYWxsb3dlZCBkaXJlY3RseSBhZnRlciBudW1lcmljIGxpdGVyYWwn
Ci0gIHN0cmljdCBtb2RlOiAnU3ludGF4RXJyb3I6IE5vIGlkZW50aWZpZXJzIGFsbG93ZWQgZGly
ZWN0bHkgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsJwotdGVzdC9sYW5ndWFnZS9saXRlcmFscy9udW1l
cmljL251bWVyaWMtc2VwYXJhdG9yLWxpdGVyYWwtb2lsLW9kLW5zbC1vZC1vbmUtb2YuanM6Ci0g
IGRlZmF1bHQ6ICdTeW50YXhFcnJvcjogTm8gc3BhY2UgYmV0d2VlbiBvY3RhbCBsaXRlcmFsIGFu
ZCBpZGVudGlmaWVyJwotICBzdHJpY3QgbW9kZTogJ1N5bnRheEVycm9yOiBObyBzcGFjZSBiZXR3
ZWVuIG9jdGFsIGxpdGVyYWwgYW5kIGlkZW50aWZpZXInCi10ZXN0L2xhbmd1YWdlL2xpdGVyYWxz
L251bWVyaWMvbnVtZXJpYy1zZXBhcmF0b3ItbGl0ZXJhbC1vaWwtb2QtbnNsLW9kLmpzOgotICBk
ZWZhdWx0OiAnU3ludGF4RXJyb3I6IE5vIHNwYWNlIGJldHdlZW4gb2N0YWwgbGl0ZXJhbCBhbmQg
aWRlbnRpZmllcicKLSAgc3RyaWN0IG1vZGU6ICdTeW50YXhFcnJvcjogTm8gc3BhY2UgYmV0d2Vl
biBvY3RhbCBsaXRlcmFsIGFuZCBpZGVudGlmaWVyJwotdGVzdC9sYW5ndWFnZS9saXRlcmFscy9u
dW1lcmljL251bWVyaWMtc2VwYXJhdG9yLWxpdGVyYWwtb2lsLW9kLW5zbC1vZHMuanM6Ci0gIGRl
ZmF1bHQ6ICdTeW50YXhFcnJvcjogTm8gc3BhY2UgYmV0d2VlbiBvY3RhbCBsaXRlcmFsIGFuZCBp
ZGVudGlmaWVyJwotICBzdHJpY3QgbW9kZTogJ1N5bnRheEVycm9yOiBObyBzcGFjZSBiZXR3ZWVu
IG9jdGFsIGxpdGVyYWwgYW5kIGlkZW50aWZpZXInCi10ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL251
bWVyaWMvbnVtZXJpYy1zZXBhcmF0b3ItbGl0ZXJhbC1vaWwtb2RzLW5zbC1vZC5qczoKLSAgZGVm
YXVsdDogJ1N5bnRheEVycm9yOiBObyBzcGFjZSBiZXR3ZWVuIG9jdGFsIGxpdGVyYWwgYW5kIGlk
ZW50aWZpZXInCi0gIHN0cmljdCBtb2RlOiAnU3ludGF4RXJyb3I6IE5vIHNwYWNlIGJldHdlZW4g
b2N0YWwgbGl0ZXJhbCBhbmQgaWRlbnRpZmllcicKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVt
ZXJpYy9udW1lcmljLXNlcGFyYXRvci1saXRlcmFsLW9pbC1vZHMtbnNsLW9kcy5qczoKLSAgZGVm
YXVsdDogJ1N5bnRheEVycm9yOiBObyBzcGFjZSBiZXR3ZWVuIG9jdGFsIGxpdGVyYWwgYW5kIGlk
ZW50aWZpZXInCi0gIHN0cmljdCBtb2RlOiAnU3ludGF4RXJyb3I6IE5vIHNwYWNlIGJldHdlZW4g
b2N0YWwgbGl0ZXJhbCBhbmQgaWRlbnRpZmllcicKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVt
ZXJpYy9udW1lcmljLXNlcGFyYXRvci1saXRlcmFsLXNpZ24tbWludXMtZGRzLW5zbC1kZC5qczoK
LSAgZGVmYXVsdDogJ1N5bnRheEVycm9yOiBObyBpZGVudGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5
IGFmdGVyIG51bWVyaWMgbGl0ZXJhbCcKLSAgc3RyaWN0IG1vZGU6ICdTeW50YXhFcnJvcjogTm8g
aWRlbnRpZmllcnMgYWxsb3dlZCBkaXJlY3RseSBhZnRlciBudW1lcmljIGxpdGVyYWwnCi10ZXN0
L2xhbmd1YWdlL2xpdGVyYWxzL251bWVyaWMvbnVtZXJpYy1zZXBhcmF0b3ItbGl0ZXJhbC1zaWdu
LXBsdXMtZGRzLW5zbC1kZC5qczoKLSAgZGVmYXVsdDogJ1N5bnRheEVycm9yOiBObyBpZGVudGlm
aWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbCcKLSAgc3RyaWN0IG1v
ZGU6ICdTeW50YXhFcnJvcjogTm8gaWRlbnRpZmllcnMgYWxsb3dlZCBkaXJlY3RseSBhZnRlciBu
dW1lcmljIGxpdGVyYWwnCiB0ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL3JlZ2V4cC9uYW1lZC1ncm91
cHMvaW52YWxpZC1kYW5nbGluZy1ncm91cG5hbWUtMi11LmpzOgogICBkZWZhdWx0OiAnVGVzdDI2
MjogVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBiZSBldmFsdWF0ZWQuJwogICBzdHJpY3QgbW9k
ZTogJ1Rlc3QyNjI6IFRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgYmUgZXZhbHVhdGVkLicK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370383</attachid>
            <date>2019-05-21 22:59:01 -0700</date>
            <delta_ts>2019-05-22 11:26:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-196351-20190521225900.patch</filename>
            <type>text/plain</type>
            <size>25748</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1NDk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
NDdiZDUyMzNjOTEwN2JjN2I1YTliODQ0ZDdmOTM1ODEyNjIwOWM1Li45OTY3YTBkODgwMjZjZDE0
MzU3YjNhODMyZGJhMGQ4YTFkMGFmZjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNCBAQAorMjAxOS0wNS0yMSAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0VTTmV4dF0gSW1wbGVtZW50IHN1cHBvcnQgZm9yIE51bWVyaWMg
U2VwYXJhdG9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk2MzUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgSW1wbGVtZW50IHRoZSBmb2xsb3dpbmcgcHJvcG9zYWwsIHdoaWNoIGlzIG5vdyBTdGFnZSAz
OgorICAgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS90YzM5L3Byb3Bvc2FsLW51bWVyaWMtc2Vw
YXJhdG9yCisKKyAgICAgICAgU3BlY2lmaWNhbGx5LCB0aGlzIGFsbG93cyBgX2AgdG8gYmUgdXNl
ZCBhcyBhIHNlcGFyYXRvciBpbiBudW1lcmljIGxpdGVyYWxzLgorICAgICAgICBJdCBtYXkgYmUg
aW5zZXJ0ZWQgYXJiaXRyYXJpbHkgd2l0aG91dCBzZW1hbnRpYyBlZmZlY3QsIGJ1dCBpdCBtYXkg
bm90IG9jY3VyOgorICAgICAgICAgIC0gbXVsdGlwbGUgdGltZXMgaW4gYSByb3cKKyAgICAgICAg
ICAtIGF0IHRoZSBiZWdpbm5pbmcgb3IgZW5kIG9mIHRoZSBsaXRlcmFsCisgICAgICAgICAgLSBh
ZGphY2VudCB0byBgMHhgLCBgMGJgLCBgMG9gLCBgLmAsIGBlYCwgb3IgYG5gCisgICAgICAgICAg
LSBhZnRlciBhIGxlYWRpbmcgemVybyAoZS5nLiBgMF8xMjNgKSwgZXZlbiBpbiBzbG9wcHkgbW9k
ZQorCisgICAgICAgICogcGFyc2VyL0xleGVyLmNwcDoKKyAgICAgICAgKEpTQzo6aXNBU0NJSURp
Z2l0T3JTZXBhcmF0b3IpOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6aXNBU0NJSUhleERpZ2l0T3JT
ZXBhcmF0b3IpOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6aXNBU0NJSUJpbmFyeURpZ2l0T3JTZXBh
cmF0b3IpOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6aXNBU0NJSU9jdGFsRGlnaXRPclNlcGFyYXRv
cik6IEFkZGVkLgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6cGFyc2VIZXgpOgorICAgICAgICAo
SlNDOjpMZXhlcjxUPjo6cGFyc2VCaW5hcnkpOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6cGFy
c2VPY3RhbCk6CisgICAgICAgIChKU0M6OkxleGVyPFQ+OjpwYXJzZURlY2ltYWwpOgorICAgICAg
ICAoSlNDOjpMZXhlcjxUPjo6cGFyc2VOdW1iZXJBZnRlckRlY2ltYWxQb2ludCk6CisgICAgICAg
IChKU0M6OkxleGVyPFQ+OjpwYXJzZU51bWJlckFmdGVyRXhwb25lbnRJbmRpY2F0b3IpOgorICAg
ICAgICAoSlNDOjpMZXhlcjxUPjo6bGV4V2l0aG91dENsZWFyaW5nTGluZVRlcm1pbmF0b3IpOgor
ICAgICAgICAqIHBhcnNlci9MZXhlci5oOgorCiAyMDE5LTA1LTE4ICBUYWRldSBaYWdhbGxvICA8
dHphZ2FsbG9AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBleHRyYSBpbmZvcm1hdGlvbiB0byBk
dW1wSklUTWVtb3J5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xl
eGVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuY3BwCmluZGV4IGMy
ZjI0YmQ4ZjNlYWY0ZWMzOTdhNjlkNWEwOGI5MTY4YTVjMTg3MWMuLjkyYjYzZDFiZGZiYWVmN2Y4
ZTg5OTUxZTZhMjc1MzlmMDZkOTgzOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvTGV4ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4
ZXIuY3BwCkBAIC04MTMsNiArODEzLDMwIEBAIHN0YXRpYyBBTFdBWVNfSU5MSU5FIGJvb2wgaXNJ
ZGVudFBhcnRJbmNsdWRpbmdFc2NhcGUoY29uc3QgVUNoYXIqIGNvZGUsIGNvbnN0IFVDCiAgICAg
cmV0dXJuIGlzSWRlbnRQYXJ0SW5jbHVkaW5nRXNjYXBlVGVtcGxhdGUoY29kZSwgY29kZUVuZCk7
CiB9CiAKK3RlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgaW5saW5lIGJv
b2wgaXNBU0NJSURpZ2l0T3JTZXBhcmF0b3IoQ2hhcmFjdGVyVHlwZSBjaGFyYWN0ZXIpCit7Cisg
ICAgcmV0dXJuIGlzQVNDSUlEaWdpdChjaGFyYWN0ZXIpIHx8IGNoYXJhY3RlciA9PSAnXyc7Cit9
CisKK3RlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgaW5saW5lIGJvb2wg
aXNBU0NJSUhleERpZ2l0T3JTZXBhcmF0b3IoQ2hhcmFjdGVyVHlwZSBjaGFyYWN0ZXIpCit7Cisg
ICAgcmV0dXJuIGlzQVNDSUlIZXhEaWdpdChjaGFyYWN0ZXIpIHx8IGNoYXJhY3RlciA9PSAnXyc7
Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMgaW5saW5lIGJv
b2wgaXNBU0NJSUJpbmFyeURpZ2l0T3JTZXBhcmF0b3IoQ2hhcmFjdGVyVHlwZSBjaGFyYWN0ZXIp
Cit7CisgICAgcmV0dXJuIGlzQVNDSUlCaW5hcnlEaWdpdChjaGFyYWN0ZXIpIHx8IGNoYXJhY3Rl
ciA9PSAnXyc7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CitzdGF0aWMg
aW5saW5lIGJvb2wgaXNBU0NJSU9jdGFsRGlnaXRPclNlcGFyYXRvcihDaGFyYWN0ZXJUeXBlIGNo
YXJhY3RlcikKK3sKKyAgICByZXR1cm4gaXNBU0NJSU9jdGFsRGlnaXQoY2hhcmFjdGVyKSB8fCBj
aGFyYWN0ZXIgPT0gJ18nOworfQorCiBzdGF0aWMgaW5saW5lIExDaGFyIHNpbmdsZUVzY2FwZShp
bnQgYykKIHsKICAgICBpZiAoYyA8IDEyOCkgewpAQCAtMTQ5MCwyMCArMTUxNCwyNyBAQCB0eXBl
bmFtZSBMZXhlcjxUPjo6U3RyaW5nUGFyc2VSZXN1bHQgTGV4ZXI8VD46OnBhcnNlVGVtcGxhdGVM
aXRlcmFsKEpTVG9rZW5EYXRhKgogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLUFMV0FZU19J
TkxJTkUgYXV0byBMZXhlcjxUPjo6cGFyc2VIZXgoKSAtPiBOdW1iZXJQYXJzZVJlc3VsdAorQUxX
QVlTX0lOTElORSBhdXRvIExleGVyPFQ+OjpwYXJzZUhleCgpIC0+IE9wdGlvbmFsPE51bWJlclBh
cnNlUmVzdWx0PgogewogICAgIC8vIE9wdGltaXphdGlvbjogbW9zdCBoZXhhZGVjaW1hbCB2YWx1
ZXMgZml0IGludG8gNCBieXRlcy4KICAgICB1aW50MzJfdCBoZXhWYWx1ZSA9IDA7CiAgICAgaW50
IG1heGltdW1EaWdpdHMgPSA3OwogCiAgICAgZG8geworICAgICAgICBpZiAobV9jdXJyZW50ID09
ICdfJykgeworICAgICAgICAgICAgaWYgKFVOTElLRUxZKCFpc0FTQ0lJSGV4RGlnaXQocGVlaygx
KSkpKQorICAgICAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAgICAg
IHNoaWZ0KCk7CisgICAgICAgIH0KKwogICAgICAgICBoZXhWYWx1ZSA9IChoZXhWYWx1ZSA8PCA0
KSArIHRvQVNDSUlIZXhWYWx1ZShtX2N1cnJlbnQpOwogICAgICAgICBzaGlmdCgpOwogICAgICAg
ICAtLW1heGltdW1EaWdpdHM7Ci0gICAgfSB3aGlsZSAoaXNBU0NJSUhleERpZ2l0KG1fY3VycmVu
dCkgJiYgbWF4aW11bURpZ2l0cyA+PSAwKTsKKyAgICB9IHdoaWxlIChpc0FTQ0lJSGV4RGlnaXRP
clNlcGFyYXRvcihtX2N1cnJlbnQpICYmIG1heGltdW1EaWdpdHMgPj0gMCk7CiAKICAgICBpZiAo
TElLRUxZKG1heGltdW1EaWdpdHMgPj0gMCAmJiBtX2N1cnJlbnQgIT0gJ24nKSkKLSAgICAgICAg
cmV0dXJuIGhleFZhbHVlOworICAgICAgICByZXR1cm4gTnVtYmVyUGFyc2VSZXN1bHQgeyBoZXhW
YWx1ZSB9OwogCiAgICAgLy8gTm8gbW9yZSBwbGFjZSBpbiB0aGUgaGV4VmFsdWUgYnVmZmVyLgog
ICAgIC8vIFRoZSB2YWx1ZXMgYXJlIHNoaWZ0ZWQgb3V0IGFuZCBwbGFjZWQgaW50byB0aGUgbV9i
dWZmZXI4IHZlY3Rvci4KQEAgLTE1MTYsMTUgKzE1NDcsMjIgQEAgQUxXQVlTX0lOTElORSBhdXRv
IExleGVyPFQ+OjpwYXJzZUhleCgpIC0+IE51bWJlclBhcnNlUmVzdWx0CiAgICAgICAgICBoZXhW
YWx1ZSA8PD0gNDsKICAgICB9CiAKLSAgICB3aGlsZSAoaXNBU0NJSUhleERpZ2l0KG1fY3VycmVu
dCkpIHsKKyAgICB3aGlsZSAoaXNBU0NJSUhleERpZ2l0T3JTZXBhcmF0b3IobV9jdXJyZW50KSkg
eworICAgICAgICBpZiAobV9jdXJyZW50ID09ICdfJykgeworICAgICAgICAgICAgaWYgKFVOTElL
RUxZKCFpc0FTQ0lJSGV4RGlnaXQocGVlaygxKSkpKQorICAgICAgICAgICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7CisKKyAgICAgICAgICAgIHNoaWZ0KCk7CisgICAgICAgIH0KKwogICAgICAg
ICByZWNvcmQ4KG1fY3VycmVudCk7CiAgICAgICAgIHNoaWZ0KCk7CiAgICAgfQogCiAgICAgaWYg
KFVOTElLRUxZKE9wdGlvbnM6OnVzZUJpZ0ludCgpICYmIG1fY3VycmVudCA9PSAnbicpKQotICAg
ICAgICByZXR1cm4gbWFrZUlkZW50aWZpZXIobV9idWZmZXI4LmRhdGEoKSwgbV9idWZmZXI4LnNp
emUoKSk7CisgICAgICAgIHJldHVybiBOdW1iZXJQYXJzZVJlc3VsdCB7IG1ha2VJZGVudGlmaWVy
KG1fYnVmZmVyOC5kYXRhKCksIG1fYnVmZmVyOC5zaXplKCkpIH07CiAgICAgCi0gICAgcmV0dXJu
IHBhcnNlSW50T3ZlcmZsb3cobV9idWZmZXI4LmRhdGEoKSwgbV9idWZmZXI4LnNpemUoKSwgMTYp
OworICAgIHJldHVybiBOdW1iZXJQYXJzZVJlc3VsdCB7IHBhcnNlSW50T3ZlcmZsb3cobV9idWZm
ZXI4LmRhdGEoKSwgbV9idWZmZXI4LnNpemUoKSwgMTYpIH07CiB9CiAKIHRlbXBsYXRlIDx0eXBl
bmFtZSBUPgpAQCAtMTUzOSwzMCArMTU3Nyw0NCBAQCBBTFdBWVNfSU5MSU5FIGF1dG8gTGV4ZXI8
VD46OnBhcnNlQmluYXJ5KCkgLT4gT3B0aW9uYWw8TnVtYmVyUGFyc2VSZXN1bHQ+CiAgICAgTENo
YXIgZGlnaXRzW21heGltdW1EaWdpdHNdOwogCiAgICAgZG8geworICAgICAgICBpZiAobV9jdXJy
ZW50ID09ICdfJykgeworICAgICAgICAgICAgaWYgKFVOTElLRUxZKCFpc0FTQ0lJQmluYXJ5RGln
aXQocGVlaygxKSkpKQorICAgICAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAg
ICAgICAgICAgIHNoaWZ0KCk7CisgICAgICAgIH0KKwogICAgICAgICBiaW5hcnlWYWx1ZSA9IChi
aW5hcnlWYWx1ZSA8PCAxKSArIChtX2N1cnJlbnQgLSAnMCcpOwogICAgICAgICBkaWdpdHNbZGln
aXRdID0gbV9jdXJyZW50OwogICAgICAgICBzaGlmdCgpOwogICAgICAgICAtLWRpZ2l0OwotICAg
IH0gd2hpbGUgKGlzQVNDSUlCaW5hcnlEaWdpdChtX2N1cnJlbnQpICYmIGRpZ2l0ID49IDApOwor
ICAgIH0gd2hpbGUgKGlzQVNDSUlCaW5hcnlEaWdpdE9yU2VwYXJhdG9yKG1fY3VycmVudCkgJiYg
ZGlnaXQgPj0gMCk7CiAKLSAgICBpZiAoTElLRUxZKCFpc0FTQ0lJRGlnaXQobV9jdXJyZW50KSAm
JiBkaWdpdCA+PSAwICYmIG1fY3VycmVudCAhPSAnbicpKQotICAgICAgICByZXR1cm4gVmFyaWFu
dDxkb3VibGUsIGNvbnN0IElkZW50aWZpZXIqPiB7IGJpbmFyeVZhbHVlIH07CisgICAgaWYgKExJ
S0VMWSghaXNBU0NJSURpZ2l0T3JTZXBhcmF0b3IobV9jdXJyZW50KSAmJiBkaWdpdCA+PSAwICYm
IG1fY3VycmVudCAhPSAnbicpKQorICAgICAgICByZXR1cm4gTnVtYmVyUGFyc2VSZXN1bHQgeyBi
aW5hcnlWYWx1ZSB9OwogCiAgICAgZm9yIChpbnQgaSA9IG1heGltdW1EaWdpdHMgLSAxOyBpID4g
ZGlnaXQ7IC0taSkKICAgICAgICAgcmVjb3JkOChkaWdpdHNbaV0pOwogCi0gICAgd2hpbGUgKGlz
QVNDSUlCaW5hcnlEaWdpdChtX2N1cnJlbnQpKSB7CisgICAgd2hpbGUgKGlzQVNDSUlCaW5hcnlE
aWdpdE9yU2VwYXJhdG9yKG1fY3VycmVudCkpIHsKKyAgICAgICAgaWYgKG1fY3VycmVudCA9PSAn
XycpIHsKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWSghaXNBU0NJSUJpbmFyeURpZ2l0KHBlZWso
MSkpKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgICAgICAg
ICBzaGlmdCgpOworICAgICAgICB9CisKICAgICAgICAgcmVjb3JkOChtX2N1cnJlbnQpOwogICAg
ICAgICBzaGlmdCgpOwogICAgIH0KIAogICAgIGlmIChVTkxJS0VMWShPcHRpb25zOjp1c2VCaWdJ
bnQoKSAmJiBtX2N1cnJlbnQgPT0gJ24nKSkKLSAgICAgICAgcmV0dXJuIFZhcmlhbnQ8ZG91Ymxl
LCBjb25zdCBJZGVudGlmaWVyKj4geyBtYWtlSWRlbnRpZmllcihtX2J1ZmZlcjguZGF0YSgpLCBt
X2J1ZmZlcjguc2l6ZSgpKSB9OworICAgICAgICByZXR1cm4gTnVtYmVyUGFyc2VSZXN1bHQgeyBt
YWtlSWRlbnRpZmllcihtX2J1ZmZlcjguZGF0YSgpLCBtX2J1ZmZlcjguc2l6ZSgpKSB9OwogCiAg
ICAgaWYgKGlzQVNDSUlEaWdpdChtX2N1cnJlbnQpKQogICAgICAgICByZXR1cm4gV1RGOjpudWxs
b3B0OwogCi0gICAgcmV0dXJuIFZhcmlhbnQ8ZG91YmxlLCBjb25zdCBJZGVudGlmaWVyKj4geyBw
YXJzZUludE92ZXJmbG93KG1fYnVmZmVyOC5kYXRhKCksIG1fYnVmZmVyOC5zaXplKCksIDIpIH07
CisgICAgcmV0dXJuIE51bWJlclBhcnNlUmVzdWx0IHsgcGFyc2VJbnRPdmVyZmxvdyhtX2J1ZmZl
cjguZGF0YSgpLCBtX2J1ZmZlcjguc2l6ZSgpLCAyKSB9OwogfQogCiB0ZW1wbGF0ZSA8dHlwZW5h
bWUgVD4KQEAgLTE1NzcsMzEgKzE2MjksNDQgQEAgQUxXQVlTX0lOTElORSBhdXRvIExleGVyPFQ+
OjpwYXJzZU9jdGFsKCkgLT4gT3B0aW9uYWw8TnVtYmVyUGFyc2VSZXN1bHQ+CiAgICAgTENoYXIg
ZGlnaXRzW21heGltdW1EaWdpdHNdOwogCiAgICAgZG8geworICAgICAgICBpZiAobV9jdXJyZW50
ID09ICdfJykgeworICAgICAgICAgICAgaWYgKFVOTElLRUxZKCFpc0FTQ0lJT2N0YWxEaWdpdChw
ZWVrKDEpKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgICAg
ICAgICAgc2hpZnQoKTsKKyAgICAgICAgfQorCiAgICAgICAgIG9jdGFsVmFsdWUgPSBvY3RhbFZh
bHVlICogOCArIChtX2N1cnJlbnQgLSAnMCcpOwogICAgICAgICBkaWdpdHNbZGlnaXRdID0gbV9j
dXJyZW50OwogICAgICAgICBzaGlmdCgpOwogICAgICAgICAtLWRpZ2l0OwotICAgIH0gd2hpbGUg
KGlzQVNDSUlPY3RhbERpZ2l0KG1fY3VycmVudCkgJiYgZGlnaXQgPj0gMCk7Ci0KLSAgICBpZiAo
TElLRUxZKCFpc0FTQ0lJRGlnaXQobV9jdXJyZW50KSAmJiBkaWdpdCA+PSAwICYmIG1fY3VycmVu
dCAhPSAnbicpKQotICAgICAgICByZXR1cm4gVmFyaWFudDxkb3VibGUsIGNvbnN0IElkZW50aWZp
ZXIqPiB7IG9jdGFsVmFsdWUgfTsKKyAgICB9IHdoaWxlIChpc0FTQ0lJT2N0YWxEaWdpdE9yU2Vw
YXJhdG9yKG1fY3VycmVudCkgJiYgZGlnaXQgPj0gMCk7CiAKKyAgICBpZiAoTElLRUxZKCFpc0FT
Q0lJRGlnaXRPclNlcGFyYXRvcihtX2N1cnJlbnQpICYmIGRpZ2l0ID49IDAgJiYgbV9jdXJyZW50
ICE9ICduJykpCisgICAgICAgIHJldHVybiBOdW1iZXJQYXJzZVJlc3VsdCB7IG9jdGFsVmFsdWUg
fTsKIAogICAgIGZvciAoaW50IGkgPSBtYXhpbXVtRGlnaXRzIC0gMTsgaSA+IGRpZ2l0OyAtLWkp
CiAgICAgICAgICByZWNvcmQ4KGRpZ2l0c1tpXSk7CiAKLSAgICB3aGlsZSAoaXNBU0NJSU9jdGFs
RGlnaXQobV9jdXJyZW50KSkgeworICAgIHdoaWxlIChpc0FTQ0lJT2N0YWxEaWdpdE9yU2VwYXJh
dG9yKG1fY3VycmVudCkpIHsKKyAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnXycpIHsKKyAgICAg
ICAgICAgIGlmIChVTkxJS0VMWSghaXNBU0NJSU9jdGFsRGlnaXQocGVlaygxKSkpKQorICAgICAg
ICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAgICAgIHNoaWZ0KCk7Cisg
ICAgICAgIH0KKwogICAgICAgICByZWNvcmQ4KG1fY3VycmVudCk7CiAgICAgICAgIHNoaWZ0KCk7
CiAgICAgfQogCiAgICAgaWYgKFVOTElLRUxZKE9wdGlvbnM6OnVzZUJpZ0ludCgpICYmIG1fY3Vy
cmVudCA9PSAnbicpKQotICAgICAgICByZXR1cm4gVmFyaWFudDxkb3VibGUsIGNvbnN0IElkZW50
aWZpZXIqPiB7IG1ha2VJZGVudGlmaWVyKG1fYnVmZmVyOC5kYXRhKCksIG1fYnVmZmVyOC5zaXpl
KCkpIH07CisgICAgICAgIHJldHVybiBOdW1iZXJQYXJzZVJlc3VsdCB7IG1ha2VJZGVudGlmaWVy
KG1fYnVmZmVyOC5kYXRhKCksIG1fYnVmZmVyOC5zaXplKCkpIH07CiAKICAgICBpZiAoaXNBU0NJ
SURpZ2l0KG1fY3VycmVudCkpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKLSAgICBy
ZXR1cm4gVmFyaWFudDxkb3VibGUsIGNvbnN0IElkZW50aWZpZXIqPiB7IHBhcnNlSW50T3ZlcmZs
b3cobV9idWZmZXI4LmRhdGEoKSwgbV9idWZmZXI4LnNpemUoKSwgOCkgfTsKKyAgICByZXR1cm4g
TnVtYmVyUGFyc2VSZXN1bHQgeyBwYXJzZUludE92ZXJmbG93KG1fYnVmZmVyOC5kYXRhKCksIG1f
YnVmZmVyOC5zaXplKCksIDgpIH07CiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgpAQCAtMTYy
MCwzOCArMTY4NSw2MyBAQCBBTFdBWVNfSU5MSU5FIGF1dG8gTGV4ZXI8VD46OnBhcnNlRGVjaW1h
bCgpIC0+IE9wdGlvbmFsPE51bWJlclBhcnNlUmVzdWx0PgogICAgICAgICBMQ2hhciBkaWdpdHNb
bWF4aW11bURpZ2l0c107CiAKICAgICAgICAgZG8geworICAgICAgICAgICAgaWYgKG1fY3VycmVu
dCA9PSAnXycpIHsKKyAgICAgICAgICAgICAgICBpZiAoVU5MSUtFTFkoIWlzQVNDSUlEaWdpdChw
ZWVrKDEpKSkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAg
ICAgICAgICAgICAgICBzaGlmdCgpOworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBkZWNp
bWFsVmFsdWUgPSBkZWNpbWFsVmFsdWUgKiAxMCArIChtX2N1cnJlbnQgLSAnMCcpOwogICAgICAg
ICAgICAgZGlnaXRzW2RpZ2l0XSA9IG1fY3VycmVudDsKICAgICAgICAgICAgIHNoaWZ0KCk7CiAg
ICAgICAgICAgICAtLWRpZ2l0OwotICAgICAgICB9IHdoaWxlIChpc0FTQ0lJRGlnaXQobV9jdXJy
ZW50KSAmJiBkaWdpdCA+PSAwKTsKKyAgICAgICAgfSB3aGlsZSAoaXNBU0NJSURpZ2l0T3JTZXBh
cmF0b3IobV9jdXJyZW50KSAmJiBkaWdpdCA+PSAwKTsKIAogICAgICAgICBpZiAoZGlnaXQgPj0g
MCAmJiBtX2N1cnJlbnQgIT0gJy4nICYmICFpc0FTQ0lJQWxwaGFDYXNlbGVzc0VxdWFsKG1fY3Vy
cmVudCwgJ2UnKSAmJiBtX2N1cnJlbnQgIT0gJ24nKQotICAgICAgICAgICAgcmV0dXJuIFZhcmlh
bnQ8ZG91YmxlLCBjb25zdCBJZGVudGlmaWVyKj4geyBkZWNpbWFsVmFsdWUgfTsKKyAgICAgICAg
ICAgIHJldHVybiBOdW1iZXJQYXJzZVJlc3VsdCB7IGRlY2ltYWxWYWx1ZSB9OwogCiAgICAgICAg
IGZvciAoaW50IGkgPSBtYXhpbXVtRGlnaXRzIC0gMTsgaSA+IGRpZ2l0OyAtLWkpCiAgICAgICAg
ICAgICByZWNvcmQ4KGRpZ2l0c1tpXSk7CiAgICAgfQogCi0gICAgd2hpbGUgKGlzQVNDSUlEaWdp
dChtX2N1cnJlbnQpKSB7CisgICAgd2hpbGUgKGlzQVNDSUlEaWdpdE9yU2VwYXJhdG9yKG1fY3Vy
cmVudCkpIHsKKyAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnXycpIHsKKyAgICAgICAgICAgIGlm
IChVTkxJS0VMWSghaXNBU0NJSURpZ2l0KHBlZWsoMSkpKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gV1RGOjpudWxsb3B0OworCisgICAgICAgICAgICBzaGlmdCgpOworICAgICAgICB9CisKICAg
ICAgICAgcmVjb3JkOChtX2N1cnJlbnQpOwogICAgICAgICBzaGlmdCgpOwogICAgIH0KICAgICAK
ICAgICBpZiAoVU5MSUtFTFkoT3B0aW9uczo6dXNlQmlnSW50KCkgJiYgbV9jdXJyZW50ID09ICdu
JykpCi0gICAgICAgIHJldHVybiBWYXJpYW50PGRvdWJsZSwgY29uc3QgSWRlbnRpZmllcio+IHsg
bWFrZUlkZW50aWZpZXIobV9idWZmZXI4LmRhdGEoKSwgbV9idWZmZXI4LnNpemUoKSkgfTsKKyAg
ICAgICAgcmV0dXJuIE51bWJlclBhcnNlUmVzdWx0IHsgbWFrZUlkZW50aWZpZXIobV9idWZmZXI4
LmRhdGEoKSwgbV9idWZmZXI4LnNpemUoKSkgfTsKIAogICAgIHJldHVybiBXVEY6Om51bGxvcHQ7
CiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotQUxXQVlTX0lOTElORSB2b2lkIExleGVyPFQ+
OjpwYXJzZU51bWJlckFmdGVyRGVjaW1hbFBvaW50KCkKK0FMV0FZU19JTkxJTkUgYm9vbCBMZXhl
cjxUPjo6cGFyc2VOdW1iZXJBZnRlckRlY2ltYWxQb2ludCgpCiB7CisgICAgQVNTRVJUKGlzQVND
SUlEaWdpdChtX2N1cnJlbnQpKTsKICAgICByZWNvcmQ4KCcuJyk7Ci0gICAgd2hpbGUgKGlzQVND
SUlEaWdpdChtX2N1cnJlbnQpKSB7CisKKyAgICBkbyB7CisgICAgICAgIGlmIChtX2N1cnJlbnQg
PT0gJ18nKSB7CisgICAgICAgICAgICBpZiAoVU5MSUtFTFkoIWlzQVNDSUlEaWdpdChwZWVrKDEp
KSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICBzaGlmdCgp
OworICAgICAgICB9CisKICAgICAgICAgcmVjb3JkOChtX2N1cnJlbnQpOwogICAgICAgICBzaGlm
dCgpOwotICAgIH0KKyAgICB9IHdoaWxlIChpc0FTQ0lJRGlnaXRPclNlcGFyYXRvcihtX2N1cnJl
bnQpKTsKKworICAgIHJldHVybiB0cnVlOwogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KQEAg
LTE2NjgsOSArMTc1OCwxNyBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgTGV4ZXI8VD46OnBhcnNlTnVt
YmVyQWZ0ZXJFeHBvbmVudEluZGljYXRvcigpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAg
IGRvIHsKKyAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnXycpIHsKKyAgICAgICAgICAgIGlmIChV
TkxJS0VMWSghaXNBU0NJSURpZ2l0KHBlZWsoMSkpKSkKKyAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisKKyAgICAgICAgICAgIHNoaWZ0KCk7CisgICAgICAgIH0KKwogICAgICAgICByZWNv
cmQ4KG1fY3VycmVudCk7CiAgICAgICAgIHNoaWZ0KCk7Ci0gICAgfSB3aGlsZSAoaXNBU0NJSURp
Z2l0KG1fY3VycmVudCkpOworICAgIH0gd2hpbGUgKGlzQVNDSUlEaWdpdE9yU2VwYXJhdG9yKG1f
Y3VycmVudCkpOworCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTIwOTAsNyArMjE4OCwxMSBA
QCBzdGFydDoKICAgICAgICAgICAgIHRva2VuID0gRE9UOwogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KLSAgICAgICAgcGFyc2VOdW1iZXJBZnRlckRlY2ltYWxQb2ludCgpOworICAgICAg
ICBpZiAoVU5MSUtFTFkoIXBhcnNlTnVtYmVyQWZ0ZXJEZWNpbWFsUG9pbnQoKSkpIHsKKyAgICAg
ICAgICAgIG1fbGV4RXJyb3JNZXNzYWdlID0gIk5vbi1udW1iZXIgZm91bmQgYWZ0ZXIgZGVjaW1h
bCBwb2ludCJfczsKKyAgICAgICAgICAgIHRva2VuID0gSU5WQUxJRF9OVU1FUklDX0xJVEVSQUxf
RVJST1JUT0s7CisgICAgICAgICAgICBnb3RvIHJldHVybkVycm9yOworICAgICAgICB9CiAgICAg
ICAgIHRva2VuID0gRE9VQkxFOwogICAgICAgICBpZiAoaXNBU0NJSUFscGhhQ2FzZWxlc3NFcXVh
bChtX2N1cnJlbnQsICdlJykpIHsKICAgICAgICAgICAgIGlmICghcGFyc2VOdW1iZXJBZnRlckV4
cG9uZW50SW5kaWNhdG9yKCkpIHsKQEAgLTIxMjQsMTIgKzIyMjYsMTQgQEAgc3RhcnQ6CiAgICAg
ICAgICAgICBzaGlmdCgpOwogCiAgICAgICAgICAgICBhdXRvIHBhcnNlTnVtYmVyUmVzdWx0ID0g
cGFyc2VIZXgoKTsKLSAgICAgICAgICAgIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZlPGRvdWJs
ZT4ocGFyc2VOdW1iZXJSZXN1bHQpKQotICAgICAgICAgICAgICAgIHRva2VuRGF0YS0+ZG91Ymxl
VmFsdWUgPSBXVEY6OmdldDxkb3VibGU+KHBhcnNlTnVtYmVyUmVzdWx0KTsKKyAgICAgICAgICAg
IGlmICghcGFyc2VOdW1iZXJSZXN1bHQpCisgICAgICAgICAgICAgICAgdG9rZW5EYXRhLT5kb3Vi
bGVWYWx1ZSA9IDA7CisgICAgICAgICAgICBlbHNlIGlmIChXVEY6OmhvbGRzX2FsdGVybmF0aXZl
PGRvdWJsZT4oKnBhcnNlTnVtYmVyUmVzdWx0KSkKKyAgICAgICAgICAgICAgICB0b2tlbkRhdGEt
PmRvdWJsZVZhbHVlID0gV1RGOjpnZXQ8ZG91YmxlPigqcGFyc2VOdW1iZXJSZXN1bHQpOwogICAg
ICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgdG9rZW4gPSBCSUdJTlQ7CiAgICAgICAg
ICAgICAgICAgc2hpZnQoKTsKLSAgICAgICAgICAgICAgICB0b2tlbkRhdGEtPmJpZ0ludFN0cmlu
ZyA9IFdURjo6Z2V0PGNvbnN0IElkZW50aWZpZXIqPihwYXJzZU51bWJlclJlc3VsdCk7CisgICAg
ICAgICAgICAgICAgdG9rZW5EYXRhLT5iaWdJbnRTdHJpbmcgPSBXVEY6OmdldDxjb25zdCBJZGVu
dGlmaWVyKj4oKnBhcnNlTnVtYmVyUmVzdWx0KTsKICAgICAgICAgICAgICAgICB0b2tlbkRhdGEt
PnJhZGl4ID0gMTY7CiAgICAgICAgICAgICB9CiAKQEAgLTIyMDksNiArMjMxMywxMiBAQCBzdGFy
dDoKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKKyAgICAgICAgaWYgKFVOTElLRUxZ
KG1fY3VycmVudCA9PSAnXycpKSB7CisgICAgICAgICAgICBtX2xleEVycm9yTWVzc2FnZSA9ICJO
dW1lcmljIGxpdGVyYWxzIG1heSBub3QgYmVnaW4gd2l0aCAwXyJfczsKKyAgICAgICAgICAgIHRv
a2VuID0gVU5URVJNSU5BVEVEX09DVEFMX05VTUJFUl9FUlJPUlRPSzsKKyAgICAgICAgICAgIGdv
dG8gcmV0dXJuRXJyb3I7CisgICAgICAgIH0KKwogICAgICAgICByZWNvcmQ4KCcwJyk7CiAgICAg
ICAgIGlmIChzdHJpY3RNb2RlICYmIGlzQVNDSUlEaWdpdChtX2N1cnJlbnQpKSB7CiAgICAgICAg
ICAgICBtX2xleEVycm9yTWVzc2FnZSA9ICJEZWNpbWFsIGludGVnZXIgbGl0ZXJhbHMgd2l0aCBh
IGxlYWRpbmcgemVybyBhcmUgZm9yYmlkZGVuIGluIHN0cmljdCBtb2RlIl9zOwpAQCAtMjI0MCw3
ICsyMzUwLDExIEBAIHN0YXJ0OgogICAgICAgICAgICAgICAgICAgICB0b2tlbiA9IElOVEVHRVI7
CiAgICAgICAgICAgICAgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJy4nKSB7CiAgICAgICAgICAg
ICAgICAgICAgICAgICBzaGlmdCgpOwotICAgICAgICAgICAgICAgICAgICAgICAgcGFyc2VOdW1i
ZXJBZnRlckRlY2ltYWxQb2ludCgpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKFVOTElL
RUxZKGlzQVNDSUlEaWdpdChtX2N1cnJlbnQpICYmICFwYXJzZU51bWJlckFmdGVyRGVjaW1hbFBv
aW50KCkpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9sZXhFcnJvck1lc3NhZ2Ug
PSAiTm9uLW51bWJlciBmb3VuZCBhZnRlciBkZWNpbWFsIHBvaW50Il9zOworICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRva2VuID0gSU5WQUxJRF9OVU1FUklDX0xJVEVSQUxfRVJST1JUT0s7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byByZXR1cm5FcnJvcjsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuID0gRE9VQkxF
OwogICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIGlmIChpc0FTQ0lJ
QWxwaGFDYXNlbGVzc0VxdWFsKG1fY3VycmVudCwgJ2UnKSkgewpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9MZXhlci5oCmluZGV4IDM3NTU0MzdlOTNkMmQ3ZmNlZTJlZjhlMzI1ZTFmZmUxZDM3ZjNh
ZDkuLmNmMzc4MGJiYzQ2YmU1NjRlZjg5YjMwYTYzMjUzMDA1MWZkODQ2YzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL0xleGVyLmgKQEAgLTE3OSwxMSArMTc5LDExIEBAIHByaXZhdGU6CiAg
ICAgQUxXQVlTX0lOTElORSBTdHJpbmdQYXJzZVJlc3VsdCBwYXJzZVRlbXBsYXRlTGl0ZXJhbChK
U1Rva2VuRGF0YSosIFJhd1N0cmluZ3NCdWlsZE1vZGUpOwogICAgIAogICAgIHVzaW5nIE51bWJl
clBhcnNlUmVzdWx0ID0gVmFyaWFudDxkb3VibGUsIGNvbnN0IElkZW50aWZpZXIqPjsKLSAgICBB
TFdBWVNfSU5MSU5FIE51bWJlclBhcnNlUmVzdWx0IHBhcnNlSGV4KCk7CisgICAgQUxXQVlTX0lO
TElORSBPcHRpb25hbDxOdW1iZXJQYXJzZVJlc3VsdD4gcGFyc2VIZXgoKTsKICAgICBBTFdBWVNf
SU5MSU5FIE9wdGlvbmFsPE51bWJlclBhcnNlUmVzdWx0PiBwYXJzZUJpbmFyeSgpOwogICAgIEFM
V0FZU19JTkxJTkUgT3B0aW9uYWw8TnVtYmVyUGFyc2VSZXN1bHQ+IHBhcnNlT2N0YWwoKTsKICAg
ICBBTFdBWVNfSU5MSU5FIE9wdGlvbmFsPE51bWJlclBhcnNlUmVzdWx0PiBwYXJzZURlY2ltYWwo
KTsKLSAgICBBTFdBWVNfSU5MSU5FIHZvaWQgcGFyc2VOdW1iZXJBZnRlckRlY2ltYWxQb2ludCgp
OworICAgIEFMV0FZU19JTkxJTkUgYm9vbCBwYXJzZU51bWJlckFmdGVyRGVjaW1hbFBvaW50KCk7
CiAgICAgQUxXQVlTX0lOTElORSBib29sIHBhcnNlTnVtYmVyQWZ0ZXJFeHBvbmVudEluZGljYXRv
cigpOwogICAgIEFMV0FZU19JTkxJTkUgYm9vbCBwYXJzZU11bHRpbGluZUNvbW1lbnQoKTsKIApk
aWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCAw
ZGFmM2IxMjk0Y2FmY2ZkMGU1MTY3NjZiMjg3OWM4NWExMjJlMGQ1Li5iMDkwY2JiMDUyODc0OGZi
NzA5OGQ4NTYwM2RkN2Y2YTkwOTMzMzU2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZwor
KysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE5LTA1LTIxICBSb3Nz
IEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBbRVNOZXh0XSBJ
bXBsZW1lbnQgc3VwcG9ydCBmb3IgTnVtZXJpYyBTZXBhcmF0b3JzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTYzNTEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0cmVzcy9udW1lcmljLWxpdGVyYWwt
c2VwYXJhdG9ycy5qczogQWRkZWQuCisgICAgICAgIEFkZCB0ZXN0cyBmb3IgZmVhdHVyZS4KKwor
ICAgICAgICAqIHRlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWw6CisgICAgICAgIE1hcmsgNjAgdGVz
dCBjYXNlcyBhcyBwYXNzaW5nLgorCiAyMDE5LTA1LTE3ICBKdXN0aW4gTWljaGF1ZCAgPGp1c3Rp
bl9taWNoYXVkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV0FTTS1SZWZlcmVuY2VzXSBBZGQgc3Vw
cG9ydCBmb3IgQW55cmVmIGluIHBhcmFtZXRlcnMgYW5kIHJldHVybiB0eXBlcywgUmVmLm51bGwg
YW5kIFJlZi5pc19udWxsIGZvciBBbnlyZWYgdmFsdWVzLgpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9z
dHJlc3MvbnVtZXJpYy1saXRlcmFsLXNlcGFyYXRvcnMuanMgYi9KU1Rlc3RzL3N0cmVzcy9udW1l
cmljLWxpdGVyYWwtc2VwYXJhdG9ycy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NzAzZTY3YjQ1ZmIxMzA5MTYz
NDYzN2ZhNmM2NmFhZTY0MWUzNzcyCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3Mv
bnVtZXJpYy1saXRlcmFsLXNlcGFyYXRvcnMuanMKQEAgLTAsMCArMSw3NiBAQAorLy9AIHJ1bkJp
Z0ludEVuYWJsZWQKKworZnVuY3Rpb24gc2hvdWxkTm90VGhyb3coc2NyaXB0KSB7CisgIGV2YWwo
c2NyaXB0KTsKK30KKworZnVuY3Rpb24gc2hvdWxkVGhyb3coc2NyaXB0LCBlcnJvclR5cGUpIHsK
KyAgICBsZXQgZXJyb3I7CisgICAgdHJ5IHsKKyAgICAgICAgZXZhbChzY3JpcHQpOworICAgIH0g
Y2F0Y2ggKGUpIHsKKyAgICAgICAgZXJyb3IgPSBlOworICAgIH0KKworICAgIGlmICghKGVycm9y
IGluc3RhbmNlb2YgZXJyb3JUeXBlKSkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3Rl
ZCAke2Vycm9yVHlwZS5uYW1lfSFgKTsKK30KKworc2hvdWxkTm90VGhyb3coJzFfMV8xJyk7Citz
aG91bGROb3RUaHJvdygnMHgxXzFfMScpOworc2hvdWxkTm90VGhyb3coJzBiMV8xXzEnKTsKK3No
b3VsZE5vdFRocm93KCcwbzFfMV8xJyk7CisKK3Nob3VsZE5vdFRocm93KCcxXzFfMW4nKTsKK3No
b3VsZE5vdFRocm93KCcweDFfMV8xbicpOworc2hvdWxkTm90VGhyb3coJzBiMV8xXzFuJyk7Citz
aG91bGROb3RUaHJvdygnMG8xXzFfMW4nKTsKKworc2hvdWxkTm90VGhyb3coJy4xXzFfMScpOwor
c2hvdWxkTm90VGhyb3coJzFfMV8xLjJfMl8yJyk7CitzaG91bGROb3RUaHJvdygnMV8xXzEuMl8y
XzJlM18zXzMnKTsKK3Nob3VsZE5vdFRocm93KCcxXzFfMS4yXzJfMmUrM18zXzMnKTsKK3Nob3Vs
ZE5vdFRocm93KCcxXzFfMS4yXzJfMmUtM18zXzMnKTsKK3Nob3VsZE5vdFRocm93KCcxXzFfMWUy
XzJfMicpOworc2hvdWxkTm90VGhyb3coJzFfMV8xZSsyXzJfMicpOworc2hvdWxkTm90VGhyb3co
JzFfMV8xZS0yXzJfMicpOworc2hvdWxkTm90VGhyb3coJzFfMV8xLmUyXzJfMicpOworc2hvdWxk
Tm90VGhyb3coJzFfMV8xLmUrMl8yXzInKTsKK3Nob3VsZE5vdFRocm93KCcxXzFfMS5lLTJfMl8y
Jyk7CisKK3Nob3VsZFRocm93KCdfMScsIFJlZmVyZW5jZUVycm9yKTsKK3Nob3VsZFRocm93KCcx
XycsIFN5bnRheEVycm9yKTsKK3Nob3VsZFRocm93KCcxX18xJywgU3ludGF4RXJyb3IpOworc2hv
dWxkVGhyb3coJzB4XzEnLCBTeW50YXhFcnJvcik7CitzaG91bGRUaHJvdygnMHgxXycsIFN5bnRh
eEVycm9yKTsKK3Nob3VsZFRocm93KCcweDFfXzEnLCBTeW50YXhFcnJvcik7CitzaG91bGRUaHJv
dygnMGJfMScsIFN5bnRheEVycm9yKTsKK3Nob3VsZFRocm93KCcwYjFfJywgU3ludGF4RXJyb3Ip
Oworc2hvdWxkVGhyb3coJzBiMV9fMScsIFN5bnRheEVycm9yKTsKK3Nob3VsZFRocm93KCcwb18x
JywgU3ludGF4RXJyb3IpOworc2hvdWxkVGhyb3coJzBvMV8nLCBTeW50YXhFcnJvcik7CitzaG91
bGRUaHJvdygnMG8xX18xJywgU3ludGF4RXJyb3IpOworc2hvdWxkVGhyb3coJzBfMScsIFN5bnRh
eEVycm9yKTsKKworc2hvdWxkVGhyb3coJzFfbicsIFN5bnRheEVycm9yKTsKK3Nob3VsZFRocm93
KCcweDFfbicsIFN5bnRheEVycm9yKTsKK3Nob3VsZFRocm93KCcwYjFfbicsIFN5bnRheEVycm9y
KTsKK3Nob3VsZFRocm93KCcwbzFfbicsIFN5bnRheEVycm9yKTsKKworc2hvdWxkVGhyb3coJy5f
MScsIFN5bnRheEVycm9yKTsKK3Nob3VsZFRocm93KCcuMV8nLCBTeW50YXhFcnJvcik7CitzaG91
bGRUaHJvdygnLjFfXzEnLCBTeW50YXhFcnJvcik7CitzaG91bGRUaHJvdygnMV8uMicsIFN5bnRh
eEVycm9yKTsKK3Nob3VsZFRocm93KCcxLl8yJywgU3ludGF4RXJyb3IpOworc2hvdWxkVGhyb3co
JzEuMl8nLCBTeW50YXhFcnJvcik7CitzaG91bGRUaHJvdygnMS4yX18yJywgU3ludGF4RXJyb3Ip
Oworc2hvdWxkVGhyb3coJzFfZTInLCBTeW50YXhFcnJvcik7CitzaG91bGRUaHJvdygnMWVfMics
IFN5bnRheEVycm9yKTsKK3Nob3VsZFRocm93KCcxZTJfJywgU3ludGF4RXJyb3IpOworc2hvdWxk
VGhyb3coJzFlMl9fMicsIFN5bnRheEVycm9yKTsKK3Nob3VsZFRocm93KCcxZStfMicsIFN5bnRh
eEVycm9yKTsKK3Nob3VsZFRocm93KCcxZSsyXycsIFN5bnRheEVycm9yKTsKK3Nob3VsZFRocm93
KCcxZSsyX18yJywgU3ludGF4RXJyb3IpOworc2hvdWxkVGhyb3coJzFlLV8yJywgU3ludGF4RXJy
b3IpOworc2hvdWxkVGhyb3coJzFlLTJfJywgU3ludGF4RXJyb3IpOworc2hvdWxkVGhyb3coJzFl
LTJfXzInLCBTeW50YXhFcnJvcik7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0
YXRpb25zLnlhbWwgYi9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwKaW5kZXggZTM3
MjczZDgxMWQyOWFhNjJiOWEwZDc3YzY2MDVjNjM4ZDY2MTkyZC4uOWNiZTM1ZDMxMjg5NTZjYmM5
OGUzOGJlNTg1YmI0MjdlZTIwMWFmOCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0MjYyL2V4cGVj
dGF0aW9ucy55YW1sCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbApAQCAt
MjU4Niw5NiArMjU4Niw2IEBAIHRlc3QvbGFuZ3VhZ2UvZ2xvYmFsLWNvZGUvc2NyaXB0LWRlY2wt
ZnVuYy1lcnItbm9uLWV4dGVuc2libGUuanM6CiB0ZXN0L2xhbmd1YWdlL2dsb2JhbC1jb2RlL3Nj
cmlwdC1kZWNsLXZhci1lcnIuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVk
IGEgVHlwZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQg
YWxsJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBUeXBlRXJyb3Ig
dG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwnCi10ZXN0L2xh
bmd1YWdlL2xpdGVyYWxzL251bWVyaWMvbnVtZXJpYy1zZXBhcmF0b3ItbGl0ZXJhbC1iaWwtYmQt
bnNsLWJkLmpzOgotICBkZWZhdWx0OiAnU3ludGF4RXJyb3I6IE5vIHNwYWNlIGJldHdlZW4gYmlu
YXJ5IGxpdGVyYWwgYW5kIGlkZW50aWZpZXInCi0gIHN0cmljdCBtb2RlOiAnU3ludGF4RXJyb3I6
IE5vIHNwYWNlIGJldHdlZW4gYmluYXJ5IGxpdGVyYWwgYW5kIGlkZW50aWZpZXInCi10ZXN0L2xh
bmd1YWdlL2xpdGVyYWxzL251bWVyaWMvbnVtZXJpYy1zZXBhcmF0b3ItbGl0ZXJhbC1iaWwtYmQt
bnNsLWJkcy5qczoKLSAgZGVmYXVsdDogJ1N5bnRheEVycm9yOiBObyBzcGFjZSBiZXR3ZWVuIGJp
bmFyeSBsaXRlcmFsIGFuZCBpZGVudGlmaWVyJwotICBzdHJpY3QgbW9kZTogJ1N5bnRheEVycm9y
OiBObyBzcGFjZSBiZXR3ZWVuIGJpbmFyeSBsaXRlcmFsIGFuZCBpZGVudGlmaWVyJwotdGVzdC9s
YW5ndWFnZS9saXRlcmFscy9udW1lcmljL251bWVyaWMtc2VwYXJhdG9yLWxpdGVyYWwtYmlsLWJk
cy1uc2wtYmQuanM6Ci0gIGRlZmF1bHQ6ICdTeW50YXhFcnJvcjogTm8gc3BhY2UgYmV0d2VlbiBi
aW5hcnkgbGl0ZXJhbCBhbmQgaWRlbnRpZmllcicKLSAgc3RyaWN0IG1vZGU6ICdTeW50YXhFcnJv
cjogTm8gc3BhY2UgYmV0d2VlbiBiaW5hcnkgbGl0ZXJhbCBhbmQgaWRlbnRpZmllcicKLXRlc3Qv
bGFuZ3VhZ2UvbGl0ZXJhbHMvbnVtZXJpYy9udW1lcmljLXNlcGFyYXRvci1saXRlcmFsLWJpbC1i
ZHMtbnNsLWJkcy5qczoKLSAgZGVmYXVsdDogJ1N5bnRheEVycm9yOiBObyBzcGFjZSBiZXR3ZWVu
IGJpbmFyeSBsaXRlcmFsIGFuZCBpZGVudGlmaWVyJwotICBzdHJpY3QgbW9kZTogJ1N5bnRheEVy
cm9yOiBObyBzcGFjZSBiZXR3ZWVuIGJpbmFyeSBsaXRlcmFsIGFuZCBpZGVudGlmaWVyJwotdGVz
dC9sYW5ndWFnZS9saXRlcmFscy9udW1lcmljL251bWVyaWMtc2VwYXJhdG9yLWxpdGVyYWwtZGQt
ZG90LWRkLWVwLXNpZ24tbWludXMtZGQtbnNsLWRkLmpzOgotICBkZWZhdWx0OiAnU3ludGF4RXJy
b3I6IE5vIGlkZW50aWZpZXJzIGFsbG93ZWQgZGlyZWN0bHkgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFs
JwotICBzdHJpY3QgbW9kZTogJ1N5bnRheEVycm9yOiBObyBpZGVudGlmaWVycyBhbGxvd2VkIGRp
cmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbCcKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVt
ZXJpYy9udW1lcmljLXNlcGFyYXRvci1saXRlcmFsLWRkLWRvdC1kZC1lcC1zaWduLW1pbnVzLWRk
cy1uc2wtZGQuanM6Ci0gIGRlZmF1bHQ6ICdTeW50YXhFcnJvcjogTm8gaWRlbnRpZmllcnMgYWxs
b3dlZCBkaXJlY3RseSBhZnRlciBudW1lcmljIGxpdGVyYWwnCi0gIHN0cmljdCBtb2RlOiAnU3lu
dGF4RXJyb3I6IE5vIGlkZW50aWZpZXJzIGFsbG93ZWQgZGlyZWN0bHkgYWZ0ZXIgbnVtZXJpYyBs
aXRlcmFsJwotdGVzdC9sYW5ndWFnZS9saXRlcmFscy9udW1lcmljL251bWVyaWMtc2VwYXJhdG9y
LWxpdGVyYWwtZGQtZG90LWRkLWVwLXNpZ24tcGx1cy1kZC1uc2wtZGQuanM6Ci0gIGRlZmF1bHQ6
ICdTeW50YXhFcnJvcjogTm8gaWRlbnRpZmllcnMgYWxsb3dlZCBkaXJlY3RseSBhZnRlciBudW1l
cmljIGxpdGVyYWwnCi0gIHN0cmljdCBtb2RlOiAnU3ludGF4RXJyb3I6IE5vIGlkZW50aWZpZXJz
IGFsbG93ZWQgZGlyZWN0bHkgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsJwotdGVzdC9sYW5ndWFnZS9s
aXRlcmFscy9udW1lcmljL251bWVyaWMtc2VwYXJhdG9yLWxpdGVyYWwtZGQtZG90LWRkLWVwLXNp
Z24tcGx1cy1kZHMtbnNsLWRkLmpzOgotICBkZWZhdWx0OiAnU3ludGF4RXJyb3I6IE5vIGlkZW50
aWZpZXJzIGFsbG93ZWQgZGlyZWN0bHkgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsJwotICBzdHJpY3Qg
bW9kZTogJ1N5bnRheEVycm9yOiBObyBpZGVudGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVy
IG51bWVyaWMgbGl0ZXJhbCcKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVtZXJpYy9udW1lcmlj
LXNlcGFyYXRvci1saXRlcmFsLWRkLW5zbC1kZC1vbmUtb2YuanM6Ci0gIGRlZmF1bHQ6ICdTeW50
YXhFcnJvcjogTm8gaWRlbnRpZmllcnMgYWxsb3dlZCBkaXJlY3RseSBhZnRlciBudW1lcmljIGxp
dGVyYWwnCi0gIHN0cmljdCBtb2RlOiAnU3ludGF4RXJyb3I6IE5vIGlkZW50aWZpZXJzIGFsbG93
ZWQgZGlyZWN0bHkgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsJwotdGVzdC9sYW5ndWFnZS9saXRlcmFs
cy9udW1lcmljL251bWVyaWMtc2VwYXJhdG9yLWxpdGVyYWwtZGRzLWRvdC1kZC1uc2wtZGQtZXAt
ZGQuanM6Ci0gIGRlZmF1bHQ6ICdTeW50YXhFcnJvcjogTm8gaWRlbnRpZmllcnMgYWxsb3dlZCBk
aXJlY3RseSBhZnRlciBudW1lcmljIGxpdGVyYWwnCi0gIHN0cmljdCBtb2RlOiAnU3ludGF4RXJy
b3I6IE5vIGlkZW50aWZpZXJzIGFsbG93ZWQgZGlyZWN0bHkgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFs
JwotdGVzdC9sYW5ndWFnZS9saXRlcmFscy9udW1lcmljL251bWVyaWMtc2VwYXJhdG9yLWxpdGVy
YWwtZGRzLW5zbC1kZC5qczoKLSAgZGVmYXVsdDogJ1N5bnRheEVycm9yOiBObyBpZGVudGlmaWVy
cyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbCcKLSAgc3RyaWN0IG1vZGU6
ICdTeW50YXhFcnJvcjogTm8gaWRlbnRpZmllcnMgYWxsb3dlZCBkaXJlY3RseSBhZnRlciBudW1l
cmljIGxpdGVyYWwnCi10ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL251bWVyaWMvbnVtZXJpYy1zZXBh
cmF0b3ItbGl0ZXJhbC1kb3QtZGQtbnNsLWRkLWVwLmpzOgotICBkZWZhdWx0OiAnU3ludGF4RXJy
b3I6IE5vIGlkZW50aWZpZXJzIGFsbG93ZWQgZGlyZWN0bHkgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFs
JwotICBzdHJpY3QgbW9kZTogJ1N5bnRheEVycm9yOiBObyBpZGVudGlmaWVycyBhbGxvd2VkIGRp
cmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbCcKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVt
ZXJpYy9udW1lcmljLXNlcGFyYXRvci1saXRlcmFsLWRvdC1kZC1uc2wtZGRzLWVwLmpzOgotICBk
ZWZhdWx0OiAnU3ludGF4RXJyb3I6IE5vIGlkZW50aWZpZXJzIGFsbG93ZWQgZGlyZWN0bHkgYWZ0
ZXIgbnVtZXJpYyBsaXRlcmFsJwotICBzdHJpY3QgbW9kZTogJ1N5bnRheEVycm9yOiBObyBpZGVu
dGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbCcKLXRlc3QvbGFu
Z3VhZ2UvbGl0ZXJhbHMvbnVtZXJpYy9udW1lcmljLXNlcGFyYXRvci1saXRlcmFsLWRvdC1kZHMt
bnNsLWRkLWVwLmpzOgotICBkZWZhdWx0OiAnU3ludGF4RXJyb3I6IE5vIGlkZW50aWZpZXJzIGFs
bG93ZWQgZGlyZWN0bHkgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsJwotICBzdHJpY3QgbW9kZTogJ1N5
bnRheEVycm9yOiBObyBpZGVudGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMg
bGl0ZXJhbCcKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVtZXJpYy9udW1lcmljLXNlcGFyYXRv
ci1saXRlcmFsLWRvdC1kZHMtbnNsLWRkcy1lcC5qczoKLSAgZGVmYXVsdDogJ1N5bnRheEVycm9y
OiBObyBpZGVudGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbCcK
LSAgc3RyaWN0IG1vZGU6ICdTeW50YXhFcnJvcjogTm8gaWRlbnRpZmllcnMgYWxsb3dlZCBkaXJl
Y3RseSBhZnRlciBudW1lcmljIGxpdGVyYWwnCi10ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL251bWVy
aWMvbnVtZXJpYy1zZXBhcmF0b3ItbGl0ZXJhbC1oaWwtaGQtbnNsLWhkLmpzOgotICBkZWZhdWx0
OiAnU3ludGF4RXJyb3I6IE5vIHNwYWNlIGJldHdlZW4gaGV4YWRlY2ltYWwgbGl0ZXJhbCBhbmQg
aWRlbnRpZmllcicKLSAgc3RyaWN0IG1vZGU6ICdTeW50YXhFcnJvcjogTm8gc3BhY2UgYmV0d2Vl
biBoZXhhZGVjaW1hbCBsaXRlcmFsIGFuZCBpZGVudGlmaWVyJwotdGVzdC9sYW5ndWFnZS9saXRl
cmFscy9udW1lcmljL251bWVyaWMtc2VwYXJhdG9yLWxpdGVyYWwtaGlsLWhkLW5zbC1oZHMuanM6
Ci0gIGRlZmF1bHQ6ICdTeW50YXhFcnJvcjogTm8gc3BhY2UgYmV0d2VlbiBoZXhhZGVjaW1hbCBs
aXRlcmFsIGFuZCBpZGVudGlmaWVyJwotICBzdHJpY3QgbW9kZTogJ1N5bnRheEVycm9yOiBObyBz
cGFjZSBiZXR3ZWVuIGhleGFkZWNpbWFsIGxpdGVyYWwgYW5kIGlkZW50aWZpZXInCi10ZXN0L2xh
bmd1YWdlL2xpdGVyYWxzL251bWVyaWMvbnVtZXJpYy1zZXBhcmF0b3ItbGl0ZXJhbC1oaWwtaGRz
LW5zbC1oZC5qczoKLSAgZGVmYXVsdDogJ1N5bnRheEVycm9yOiBObyBzcGFjZSBiZXR3ZWVuIGhl
eGFkZWNpbWFsIGxpdGVyYWwgYW5kIGlkZW50aWZpZXInCi0gIHN0cmljdCBtb2RlOiAnU3ludGF4
RXJyb3I6IE5vIHNwYWNlIGJldHdlZW4gaGV4YWRlY2ltYWwgbGl0ZXJhbCBhbmQgaWRlbnRpZmll
cicKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVtZXJpYy9udW1lcmljLXNlcGFyYXRvci1saXRl
cmFsLWhpbC1oZHMtbnNsLWhkcy5qczoKLSAgZGVmYXVsdDogJ1N5bnRheEVycm9yOiBObyBzcGFj
ZSBiZXR3ZWVuIGhleGFkZWNpbWFsIGxpdGVyYWwgYW5kIGlkZW50aWZpZXInCi0gIHN0cmljdCBt
b2RlOiAnU3ludGF4RXJyb3I6IE5vIHNwYWNlIGJldHdlZW4gaGV4YWRlY2ltYWwgbGl0ZXJhbCBh
bmQgaWRlbnRpZmllcicKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVtZXJpYy9udW1lcmljLXNl
cGFyYXRvci1saXRlcmFsLWhpbC1vZC1uc2wtb2Qtb25lLW9mLmpzOgotICBkZWZhdWx0OiAnU3lu
dGF4RXJyb3I6IE5vIHNwYWNlIGJldHdlZW4gaGV4YWRlY2ltYWwgbGl0ZXJhbCBhbmQgaWRlbnRp
ZmllcicKLSAgc3RyaWN0IG1vZGU6ICdTeW50YXhFcnJvcjogTm8gc3BhY2UgYmV0d2VlbiBoZXhh
ZGVjaW1hbCBsaXRlcmFsIGFuZCBpZGVudGlmaWVyJwotdGVzdC9sYW5ndWFnZS9saXRlcmFscy9u
dW1lcmljL251bWVyaWMtc2VwYXJhdG9yLWxpdGVyYWwtbnpkLW5zbC1kZC1vbmUtb2YuanM6Ci0g
IGRlZmF1bHQ6ICdTeW50YXhFcnJvcjogTm8gaWRlbnRpZmllcnMgYWxsb3dlZCBkaXJlY3RseSBh
ZnRlciBudW1lcmljIGxpdGVyYWwnCi0gIHN0cmljdCBtb2RlOiAnU3ludGF4RXJyb3I6IE5vIGlk
ZW50aWZpZXJzIGFsbG93ZWQgZGlyZWN0bHkgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsJwotdGVzdC9s
YW5ndWFnZS9saXRlcmFscy9udW1lcmljL251bWVyaWMtc2VwYXJhdG9yLWxpdGVyYWwtbnpkLW5z
bC1kZC5qczoKLSAgZGVmYXVsdDogJ1N5bnRheEVycm9yOiBObyBpZGVudGlmaWVycyBhbGxvd2Vk
IGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbCcKLSAgc3RyaWN0IG1vZGU6ICdTeW50YXhF
cnJvcjogTm8gaWRlbnRpZmllcnMgYWxsb3dlZCBkaXJlY3RseSBhZnRlciBudW1lcmljIGxpdGVy
YWwnCi10ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL251bWVyaWMvbnVtZXJpYy1zZXBhcmF0b3ItbGl0
ZXJhbC1uemQtbnNsLWRkcy5qczoKLSAgZGVmYXVsdDogJ1N5bnRheEVycm9yOiBObyBpZGVudGlm
aWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbCcKLSAgc3RyaWN0IG1v
ZGU6ICdTeW50YXhFcnJvcjogTm8gaWRlbnRpZmllcnMgYWxsb3dlZCBkaXJlY3RseSBhZnRlciBu
dW1lcmljIGxpdGVyYWwnCi10ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL251bWVyaWMvbnVtZXJpYy1z
ZXBhcmF0b3ItbGl0ZXJhbC1vaWwtb2QtbnNsLW9kLW9uZS1vZi5qczoKLSAgZGVmYXVsdDogJ1N5
bnRheEVycm9yOiBObyBzcGFjZSBiZXR3ZWVuIG9jdGFsIGxpdGVyYWwgYW5kIGlkZW50aWZpZXIn
Ci0gIHN0cmljdCBtb2RlOiAnU3ludGF4RXJyb3I6IE5vIHNwYWNlIGJldHdlZW4gb2N0YWwgbGl0
ZXJhbCBhbmQgaWRlbnRpZmllcicKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVtZXJpYy9udW1l
cmljLXNlcGFyYXRvci1saXRlcmFsLW9pbC1vZC1uc2wtb2QuanM6Ci0gIGRlZmF1bHQ6ICdTeW50
YXhFcnJvcjogTm8gc3BhY2UgYmV0d2VlbiBvY3RhbCBsaXRlcmFsIGFuZCBpZGVudGlmaWVyJwot
ICBzdHJpY3QgbW9kZTogJ1N5bnRheEVycm9yOiBObyBzcGFjZSBiZXR3ZWVuIG9jdGFsIGxpdGVy
YWwgYW5kIGlkZW50aWZpZXInCi10ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL251bWVyaWMvbnVtZXJp
Yy1zZXBhcmF0b3ItbGl0ZXJhbC1vaWwtb2QtbnNsLW9kcy5qczoKLSAgZGVmYXVsdDogJ1N5bnRh
eEVycm9yOiBObyBzcGFjZSBiZXR3ZWVuIG9jdGFsIGxpdGVyYWwgYW5kIGlkZW50aWZpZXInCi0g
IHN0cmljdCBtb2RlOiAnU3ludGF4RXJyb3I6IE5vIHNwYWNlIGJldHdlZW4gb2N0YWwgbGl0ZXJh
bCBhbmQgaWRlbnRpZmllcicKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVtZXJpYy9udW1lcmlj
LXNlcGFyYXRvci1saXRlcmFsLW9pbC1vZHMtbnNsLW9kLmpzOgotICBkZWZhdWx0OiAnU3ludGF4
RXJyb3I6IE5vIHNwYWNlIGJldHdlZW4gb2N0YWwgbGl0ZXJhbCBhbmQgaWRlbnRpZmllcicKLSAg
c3RyaWN0IG1vZGU6ICdTeW50YXhFcnJvcjogTm8gc3BhY2UgYmV0d2VlbiBvY3RhbCBsaXRlcmFs
IGFuZCBpZGVudGlmaWVyJwotdGVzdC9sYW5ndWFnZS9saXRlcmFscy9udW1lcmljL251bWVyaWMt
c2VwYXJhdG9yLWxpdGVyYWwtb2lsLW9kcy1uc2wtb2RzLmpzOgotICBkZWZhdWx0OiAnU3ludGF4
RXJyb3I6IE5vIHNwYWNlIGJldHdlZW4gb2N0YWwgbGl0ZXJhbCBhbmQgaWRlbnRpZmllcicKLSAg
c3RyaWN0IG1vZGU6ICdTeW50YXhFcnJvcjogTm8gc3BhY2UgYmV0d2VlbiBvY3RhbCBsaXRlcmFs
IGFuZCBpZGVudGlmaWVyJwotdGVzdC9sYW5ndWFnZS9saXRlcmFscy9udW1lcmljL251bWVyaWMt
c2VwYXJhdG9yLWxpdGVyYWwtc2lnbi1taW51cy1kZHMtbnNsLWRkLmpzOgotICBkZWZhdWx0OiAn
U3ludGF4RXJyb3I6IE5vIGlkZW50aWZpZXJzIGFsbG93ZWQgZGlyZWN0bHkgYWZ0ZXIgbnVtZXJp
YyBsaXRlcmFsJwotICBzdHJpY3QgbW9kZTogJ1N5bnRheEVycm9yOiBObyBpZGVudGlmaWVycyBh
bGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbCcKLXRlc3QvbGFuZ3VhZ2UvbGl0
ZXJhbHMvbnVtZXJpYy9udW1lcmljLXNlcGFyYXRvci1saXRlcmFsLXNpZ24tcGx1cy1kZHMtbnNs
LWRkLmpzOgotICBkZWZhdWx0OiAnU3ludGF4RXJyb3I6IE5vIGlkZW50aWZpZXJzIGFsbG93ZWQg
ZGlyZWN0bHkgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsJwotICBzdHJpY3QgbW9kZTogJ1N5bnRheEVy
cm9yOiBObyBpZGVudGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJh
bCcKIHRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvcmVnZXhwL25hbWVkLWdyb3Vwcy9pbnZhbGlkLWRh
bmdsaW5nLWdyb3VwbmFtZS0yLXUuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyOiBUaGlzIHN0YXRl
bWVudCBzaG91bGQgbm90IGJlIGV2YWx1YXRlZC4nCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2Mjog
VGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBiZSBldmFsdWF0ZWQuJwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370426</attachid>
            <date>2019-05-22 11:26:31 -0700</date>
            <delta_ts>2019-05-22 12:06:09 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-196351-20190522112630.patch</filename>
            <type>text/plain</type>
            <size>23990</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1NjIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
YTc3MDg0ZTY0ZTU1NmY1M2E0MDEzMGRmMGE4MjdlMGMyMjg3NmJmLi5jMTU5MGI2MTVhZDc0MDU1
N2Q5YzJiNTE2ZmNlZDMzNDY4OTlkNzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNCBAQAorMjAxOS0wNS0yMiAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0VTTmV4dF0gSW1wbGVtZW50IHN1cHBvcnQgZm9yIE51bWVyaWMg
U2VwYXJhdG9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk2MzUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VpdGggTWlsbGVyLgorCisgICAgICAg
IEltcGxlbWVudCB0aGUgZm9sbG93aW5nIHByb3Bvc2FsLCB3aGljaCBpcyBub3cgU3RhZ2UgMzoK
KyAgICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vdGMzOS9wcm9wb3NhbC1udW1lcmljLXNlcGFy
YXRvcgorCisgICAgICAgIFNwZWNpZmljYWxseSwgdGhpcyBhbGxvd3MgYF9gIHRvIGJlIHVzZWQg
YXMgYSBzZXBhcmF0b3IgaW4gbnVtZXJpYyBsaXRlcmFscy4KKyAgICAgICAgSXQgbWF5IGJlIGlu
c2VydGVkIGFyYml0cmFyaWx5IHdpdGhvdXQgc2VtYW50aWMgZWZmZWN0LCBidXQgaXQgbWF5IG5v
dCBvY2N1cjoKKyAgICAgICAgICAtIG11bHRpcGxlIHRpbWVzIGluIGEgcm93CisgICAgICAgICAg
LSBhdCB0aGUgYmVnaW5uaW5nIG9yIGVuZCBvZiB0aGUgbGl0ZXJhbAorICAgICAgICAgIC0gYWRq
YWNlbnQgdG8gYDB4YCwgYDBiYCwgYDBvYCwgYC5gLCBgZWAsIG9yIGBuYAorICAgICAgICAgIC0g
YWZ0ZXIgYSBsZWFkaW5nIHplcm8gKGUuZy4gYDBfMTIzYCksIGV2ZW4gaW4gc2xvcHB5IG1vZGUK
KworICAgICAgICAqIHBhcnNlci9MZXhlci5jcHA6CisgICAgICAgIChKU0M6OmlzQVNDSUlEaWdp
dE9yU2VwYXJhdG9yKTogQWRkZWQuCisgICAgICAgIChKU0M6OmlzQVNDSUlIZXhEaWdpdE9yU2Vw
YXJhdG9yKTogQWRkZWQuCisgICAgICAgIChKU0M6OmlzQVNDSUlCaW5hcnlEaWdpdE9yU2VwYXJh
dG9yKTogQWRkZWQuCisgICAgICAgIChKU0M6OmlzQVNDSUlPY3RhbERpZ2l0T3JTZXBhcmF0b3Ip
OiBBZGRlZC4KKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OnBhcnNlSGV4KToKKyAgICAgICAgKEpT
Qzo6TGV4ZXI8VD46OnBhcnNlQmluYXJ5KToKKyAgICAgICAgKEpTQzo6TGV4ZXI8VD46OnBhcnNl
T2N0YWwpOgorICAgICAgICAoSlNDOjpMZXhlcjxUPjo6cGFyc2VEZWNpbWFsKToKKyAgICAgICAg
KEpTQzo6TGV4ZXI8VD46OnBhcnNlTnVtYmVyQWZ0ZXJEZWNpbWFsUG9pbnQpOgorICAgICAgICAo
SlNDOjpMZXhlcjxUPjo6cGFyc2VOdW1iZXJBZnRlckV4cG9uZW50SW5kaWNhdG9yKToKKyAgICAg
ICAgKEpTQzo6TGV4ZXI8VD46OmxleFdpdGhvdXRDbGVhcmluZ0xpbmVUZXJtaW5hdG9yKToKKyAg
ICAgICAgKiBwYXJzZXIvTGV4ZXIuaDoKKwogMjAxOS0wNS0yMSAgUm9zcyBLaXJzbGluZyAgPHJv
c3Mua2lyc2xpbmdAc29ueS5jb20+CiAKICAgICAgICAgW1BsYXlTdGF0aW9uXSBEb24ndCBjYWxs
IGZjbnRsLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNwcAppbmRleCBjMmYyNGJk
OGYzZWFmNGVjMzk3YTY5ZDVhMDhiOTE2OGE1YzE4NzFjLi5hNzU1M2Y2YjNmN2YxMTFjZWRlYzE2
MWIzNTIwMjI4MWI3OGMzZDMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFy
c2VyL0xleGVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmNw
cApAQCAtODEzLDYgKzgxMywzMCBAQCBzdGF0aWMgQUxXQVlTX0lOTElORSBib29sIGlzSWRlbnRQ
YXJ0SW5jbHVkaW5nRXNjYXBlKGNvbnN0IFVDaGFyKiBjb2RlLCBjb25zdCBVQwogICAgIHJldHVy
biBpc0lkZW50UGFydEluY2x1ZGluZ0VzY2FwZVRlbXBsYXRlKGNvZGUsIGNvZGVFbmQpOwogfQog
Cit0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGlubGluZSBib29sIGlz
QVNDSUlEaWdpdE9yU2VwYXJhdG9yKENoYXJhY3RlclR5cGUgY2hhcmFjdGVyKQoreworICAgIHJl
dHVybiBpc0FTQ0lJRGlnaXQoY2hhcmFjdGVyKSB8fCBjaGFyYWN0ZXIgPT0gJ18nOworfQorCit0
ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGlubGluZSBib29sIGlzQVND
SUlIZXhEaWdpdE9yU2VwYXJhdG9yKENoYXJhY3RlclR5cGUgY2hhcmFjdGVyKQoreworICAgIHJl
dHVybiBpc0FTQ0lJSGV4RGlnaXQoY2hhcmFjdGVyKSB8fCBjaGFyYWN0ZXIgPT0gJ18nOworfQor
Cit0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGlubGluZSBib29sIGlz
QVNDSUlCaW5hcnlEaWdpdE9yU2VwYXJhdG9yKENoYXJhY3RlclR5cGUgY2hhcmFjdGVyKQorewor
ICAgIHJldHVybiBpc0FTQ0lJQmluYXJ5RGlnaXQoY2hhcmFjdGVyKSB8fCBjaGFyYWN0ZXIgPT0g
J18nOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgorc3RhdGljIGlubGlu
ZSBib29sIGlzQVNDSUlPY3RhbERpZ2l0T3JTZXBhcmF0b3IoQ2hhcmFjdGVyVHlwZSBjaGFyYWN0
ZXIpCit7CisgICAgcmV0dXJuIGlzQVNDSUlPY3RhbERpZ2l0KGNoYXJhY3RlcikgfHwgY2hhcmFj
dGVyID09ICdfJzsKK30KKwogc3RhdGljIGlubGluZSBMQ2hhciBzaW5nbGVFc2NhcGUoaW50IGMp
CiB7CiAgICAgaWYgKGMgPCAxMjgpIHsKQEAgLTE0OTAsMjAgKzE1MTQsMjkgQEAgdHlwZW5hbWUg
TGV4ZXI8VD46OlN0cmluZ1BhcnNlUmVzdWx0IExleGVyPFQ+OjpwYXJzZVRlbXBsYXRlTGl0ZXJh
bChKU1Rva2VuRGF0YSoKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1BTFdBWVNfSU5MSU5F
IGF1dG8gTGV4ZXI8VD46OnBhcnNlSGV4KCkgLT4gTnVtYmVyUGFyc2VSZXN1bHQKK0FMV0FZU19J
TkxJTkUgYXV0byBMZXhlcjxUPjo6cGFyc2VIZXgoKSAtPiBPcHRpb25hbDxOdW1iZXJQYXJzZVJl
c3VsdD4KIHsKKyAgICBBU1NFUlQoaXNBU0NJSUhleERpZ2l0KG1fY3VycmVudCkpOworCiAgICAg
Ly8gT3B0aW1pemF0aW9uOiBtb3N0IGhleGFkZWNpbWFsIHZhbHVlcyBmaXQgaW50byA0IGJ5dGVz
LgogICAgIHVpbnQzMl90IGhleFZhbHVlID0gMDsKICAgICBpbnQgbWF4aW11bURpZ2l0cyA9IDc7
CiAKICAgICBkbyB7CisgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJ18nKSB7CisgICAgICAgICAg
ICBpZiAoVU5MSUtFTFkoIWlzQVNDSUlIZXhEaWdpdChwZWVrKDEpKSkpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAgICAgICAgICAgc2hpZnQoKTsKKyAgICAgICAg
fQorCiAgICAgICAgIGhleFZhbHVlID0gKGhleFZhbHVlIDw8IDQpICsgdG9BU0NJSUhleFZhbHVl
KG1fY3VycmVudCk7CiAgICAgICAgIHNoaWZ0KCk7CiAgICAgICAgIC0tbWF4aW11bURpZ2l0czsK
LSAgICB9IHdoaWxlIChpc0FTQ0lJSGV4RGlnaXQobV9jdXJyZW50KSAmJiBtYXhpbXVtRGlnaXRz
ID49IDApOworICAgIH0gd2hpbGUgKGlzQVNDSUlIZXhEaWdpdE9yU2VwYXJhdG9yKG1fY3VycmVu
dCkgJiYgbWF4aW11bURpZ2l0cyA+PSAwKTsKIAogICAgIGlmIChMSUtFTFkobWF4aW11bURpZ2l0
cyA+PSAwICYmIG1fY3VycmVudCAhPSAnbicpKQotICAgICAgICByZXR1cm4gaGV4VmFsdWU7Cisg
ICAgICAgIHJldHVybiBOdW1iZXJQYXJzZVJlc3VsdCB7IGhleFZhbHVlIH07CiAKICAgICAvLyBO
byBtb3JlIHBsYWNlIGluIHRoZSBoZXhWYWx1ZSBidWZmZXIuCiAgICAgLy8gVGhlIHZhbHVlcyBh
cmUgc2hpZnRlZCBvdXQgYW5kIHBsYWNlZCBpbnRvIHRoZSBtX2J1ZmZlcjggdmVjdG9yLgpAQCAt
MTUxNiwyMCArMTU0OSwyOSBAQCBBTFdBWVNfSU5MSU5FIGF1dG8gTGV4ZXI8VD46OnBhcnNlSGV4
KCkgLT4gTnVtYmVyUGFyc2VSZXN1bHQKICAgICAgICAgIGhleFZhbHVlIDw8PSA0OwogICAgIH0K
IAotICAgIHdoaWxlIChpc0FTQ0lJSGV4RGlnaXQobV9jdXJyZW50KSkgeworICAgIHdoaWxlIChp
c0FTQ0lJSGV4RGlnaXRPclNlcGFyYXRvcihtX2N1cnJlbnQpKSB7CisgICAgICAgIGlmIChtX2N1
cnJlbnQgPT0gJ18nKSB7CisgICAgICAgICAgICBpZiAoVU5MSUtFTFkoIWlzQVNDSUlIZXhEaWdp
dChwZWVrKDEpKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAg
ICAgICAgICAgc2hpZnQoKTsKKyAgICAgICAgfQorCiAgICAgICAgIHJlY29yZDgobV9jdXJyZW50
KTsKICAgICAgICAgc2hpZnQoKTsKICAgICB9CiAKICAgICBpZiAoVU5MSUtFTFkoT3B0aW9uczo6
dXNlQmlnSW50KCkgJiYgbV9jdXJyZW50ID09ICduJykpCi0gICAgICAgIHJldHVybiBtYWtlSWRl
bnRpZmllcihtX2J1ZmZlcjguZGF0YSgpLCBtX2J1ZmZlcjguc2l6ZSgpKTsKKyAgICAgICAgcmV0
dXJuIE51bWJlclBhcnNlUmVzdWx0IHsgbWFrZUlkZW50aWZpZXIobV9idWZmZXI4LmRhdGEoKSwg
bV9idWZmZXI4LnNpemUoKSkgfTsKICAgICAKLSAgICByZXR1cm4gcGFyc2VJbnRPdmVyZmxvdyht
X2J1ZmZlcjguZGF0YSgpLCBtX2J1ZmZlcjguc2l6ZSgpLCAxNik7CisgICAgcmV0dXJuIE51bWJl
clBhcnNlUmVzdWx0IHsgcGFyc2VJbnRPdmVyZmxvdyhtX2J1ZmZlcjguZGF0YSgpLCBtX2J1ZmZl
cjguc2l6ZSgpLCAxNikgfTsKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CiBBTFdBWVNfSU5M
SU5FIGF1dG8gTGV4ZXI8VD46OnBhcnNlQmluYXJ5KCkgLT4gT3B0aW9uYWw8TnVtYmVyUGFyc2VS
ZXN1bHQ+CiB7CisgICAgQVNTRVJUKGlzQVNDSUlCaW5hcnlEaWdpdChtX2N1cnJlbnQpKTsKKwog
ICAgIC8vIE9wdGltaXphdGlvbjogbW9zdCBiaW5hcnkgdmFsdWVzIGZpdCBpbnRvIDQgYnl0ZXMu
CiAgICAgdWludDMyX3QgYmluYXJ5VmFsdWUgPSAwOwogICAgIGNvbnN0IHVuc2lnbmVkIG1heGlt
dW1EaWdpdHMgPSAzMjsKQEAgLTE1MzksMzUgKzE1ODEsNTEgQEAgQUxXQVlTX0lOTElORSBhdXRv
IExleGVyPFQ+OjpwYXJzZUJpbmFyeSgpIC0+IE9wdGlvbmFsPE51bWJlclBhcnNlUmVzdWx0Pgog
ICAgIExDaGFyIGRpZ2l0c1ttYXhpbXVtRGlnaXRzXTsKIAogICAgIGRvIHsKKyAgICAgICAgaWYg
KG1fY3VycmVudCA9PSAnXycpIHsKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWSghaXNBU0NJSUJp
bmFyeURpZ2l0KHBlZWsoMSkpKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0
OworCisgICAgICAgICAgICBzaGlmdCgpOworICAgICAgICB9CisKICAgICAgICAgYmluYXJ5VmFs
dWUgPSAoYmluYXJ5VmFsdWUgPDwgMSkgKyAobV9jdXJyZW50IC0gJzAnKTsKICAgICAgICAgZGln
aXRzW2RpZ2l0XSA9IG1fY3VycmVudDsKICAgICAgICAgc2hpZnQoKTsKICAgICAgICAgLS1kaWdp
dDsKLSAgICB9IHdoaWxlIChpc0FTQ0lJQmluYXJ5RGlnaXQobV9jdXJyZW50KSAmJiBkaWdpdCA+
PSAwKTsKKyAgICB9IHdoaWxlIChpc0FTQ0lJQmluYXJ5RGlnaXRPclNlcGFyYXRvcihtX2N1cnJl
bnQpICYmIGRpZ2l0ID49IDApOwogCi0gICAgaWYgKExJS0VMWSghaXNBU0NJSURpZ2l0KG1fY3Vy
cmVudCkgJiYgZGlnaXQgPj0gMCAmJiBtX2N1cnJlbnQgIT0gJ24nKSkKLSAgICAgICAgcmV0dXJu
IFZhcmlhbnQ8ZG91YmxlLCBjb25zdCBJZGVudGlmaWVyKj4geyBiaW5hcnlWYWx1ZSB9OworICAg
IGlmIChMSUtFTFkoIWlzQVNDSUlEaWdpdE9yU2VwYXJhdG9yKG1fY3VycmVudCkgJiYgZGlnaXQg
Pj0gMCAmJiBtX2N1cnJlbnQgIT0gJ24nKSkKKyAgICAgICAgcmV0dXJuIE51bWJlclBhcnNlUmVz
dWx0IHsgYmluYXJ5VmFsdWUgfTsKIAogICAgIGZvciAoaW50IGkgPSBtYXhpbXVtRGlnaXRzIC0g
MTsgaSA+IGRpZ2l0OyAtLWkpCiAgICAgICAgIHJlY29yZDgoZGlnaXRzW2ldKTsKIAotICAgIHdo
aWxlIChpc0FTQ0lJQmluYXJ5RGlnaXQobV9jdXJyZW50KSkgeworICAgIHdoaWxlIChpc0FTQ0lJ
QmluYXJ5RGlnaXRPclNlcGFyYXRvcihtX2N1cnJlbnQpKSB7CisgICAgICAgIGlmIChtX2N1cnJl
bnQgPT0gJ18nKSB7CisgICAgICAgICAgICBpZiAoVU5MSUtFTFkoIWlzQVNDSUlCaW5hcnlEaWdp
dChwZWVrKDEpKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKKworICAg
ICAgICAgICAgc2hpZnQoKTsKKyAgICAgICAgfQorCiAgICAgICAgIHJlY29yZDgobV9jdXJyZW50
KTsKICAgICAgICAgc2hpZnQoKTsKICAgICB9CiAKICAgICBpZiAoVU5MSUtFTFkoT3B0aW9uczo6
dXNlQmlnSW50KCkgJiYgbV9jdXJyZW50ID09ICduJykpCi0gICAgICAgIHJldHVybiBWYXJpYW50
PGRvdWJsZSwgY29uc3QgSWRlbnRpZmllcio+IHsgbWFrZUlkZW50aWZpZXIobV9idWZmZXI4LmRh
dGEoKSwgbV9idWZmZXI4LnNpemUoKSkgfTsKKyAgICAgICAgcmV0dXJuIE51bWJlclBhcnNlUmVz
dWx0IHsgbWFrZUlkZW50aWZpZXIobV9idWZmZXI4LmRhdGEoKSwgbV9idWZmZXI4LnNpemUoKSkg
fTsKIAogICAgIGlmIChpc0FTQ0lJRGlnaXQobV9jdXJyZW50KSkKICAgICAgICAgcmV0dXJuIFdU
Rjo6bnVsbG9wdDsKIAotICAgIHJldHVybiBWYXJpYW50PGRvdWJsZSwgY29uc3QgSWRlbnRpZmll
cio+IHsgcGFyc2VJbnRPdmVyZmxvdyhtX2J1ZmZlcjguZGF0YSgpLCBtX2J1ZmZlcjguc2l6ZSgp
LCAyKSB9OworICAgIHJldHVybiBOdW1iZXJQYXJzZVJlc3VsdCB7IHBhcnNlSW50T3ZlcmZsb3co
bV9idWZmZXI4LmRhdGEoKSwgbV9idWZmZXI4LnNpemUoKSwgMikgfTsKIH0KIAogdGVtcGxhdGUg
PHR5cGVuYW1lIFQ+CiBBTFdBWVNfSU5MSU5FIGF1dG8gTGV4ZXI8VD46OnBhcnNlT2N0YWwoKSAt
PiBPcHRpb25hbDxOdW1iZXJQYXJzZVJlc3VsdD4KIHsKKyAgICBBU1NFUlQoaXNBU0NJSU9jdGFs
RGlnaXQobV9jdXJyZW50KSk7CisKICAgICAvLyBPcHRpbWl6YXRpb246IG1vc3Qgb2N0YWwgdmFs
dWVzIGZpdCBpbnRvIDQgYnl0ZXMuCiAgICAgdWludDMyX3Qgb2N0YWxWYWx1ZSA9IDA7CiAgICAg
Y29uc3QgdW5zaWduZWQgbWF4aW11bURpZ2l0cyA9IDEwOwpAQCAtMTU3NywzNiArMTYzNSw1MSBA
QCBBTFdBWVNfSU5MSU5FIGF1dG8gTGV4ZXI8VD46OnBhcnNlT2N0YWwoKSAtPiBPcHRpb25hbDxO
dW1iZXJQYXJzZVJlc3VsdD4KICAgICBMQ2hhciBkaWdpdHNbbWF4aW11bURpZ2l0c107CiAKICAg
ICBkbyB7CisgICAgICAgIGlmIChtX2N1cnJlbnQgPT0gJ18nKSB7CisgICAgICAgICAgICBpZiAo
VU5MSUtFTFkoIWlzQVNDSUlPY3RhbERpZ2l0KHBlZWsoMSkpKSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gV1RGOjpudWxsb3B0OworCisgICAgICAgICAgICBzaGlmdCgpOworICAgICAgICB9CisK
ICAgICAgICAgb2N0YWxWYWx1ZSA9IG9jdGFsVmFsdWUgKiA4ICsgKG1fY3VycmVudCAtICcwJyk7
CiAgICAgICAgIGRpZ2l0c1tkaWdpdF0gPSBtX2N1cnJlbnQ7CiAgICAgICAgIHNoaWZ0KCk7CiAg
ICAgICAgIC0tZGlnaXQ7Ci0gICAgfSB3aGlsZSAoaXNBU0NJSU9jdGFsRGlnaXQobV9jdXJyZW50
KSAmJiBkaWdpdCA+PSAwKTsKLQotICAgIGlmIChMSUtFTFkoIWlzQVNDSUlEaWdpdChtX2N1cnJl
bnQpICYmIGRpZ2l0ID49IDAgJiYgbV9jdXJyZW50ICE9ICduJykpCi0gICAgICAgIHJldHVybiBW
YXJpYW50PGRvdWJsZSwgY29uc3QgSWRlbnRpZmllcio+IHsgb2N0YWxWYWx1ZSB9OworICAgIH0g
d2hpbGUgKGlzQVNDSUlPY3RhbERpZ2l0T3JTZXBhcmF0b3IobV9jdXJyZW50KSAmJiBkaWdpdCA+
PSAwKTsKIAorICAgIGlmIChMSUtFTFkoIWlzQVNDSUlEaWdpdE9yU2VwYXJhdG9yKG1fY3VycmVu
dCkgJiYgZGlnaXQgPj0gMCAmJiBtX2N1cnJlbnQgIT0gJ24nKSkKKyAgICAgICAgcmV0dXJuIE51
bWJlclBhcnNlUmVzdWx0IHsgb2N0YWxWYWx1ZSB9OwogCiAgICAgZm9yIChpbnQgaSA9IG1heGlt
dW1EaWdpdHMgLSAxOyBpID4gZGlnaXQ7IC0taSkKICAgICAgICAgIHJlY29yZDgoZGlnaXRzW2ld
KTsKIAotICAgIHdoaWxlIChpc0FTQ0lJT2N0YWxEaWdpdChtX2N1cnJlbnQpKSB7CisgICAgd2hp
bGUgKGlzQVNDSUlPY3RhbERpZ2l0T3JTZXBhcmF0b3IobV9jdXJyZW50KSkgeworICAgICAgICBp
ZiAobV9jdXJyZW50ID09ICdfJykgeworICAgICAgICAgICAgaWYgKFVOTElLRUxZKCFpc0FTQ0lJ
T2N0YWxEaWdpdChwZWVrKDEpKSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIFdURjo6bnVsbG9w
dDsKKworICAgICAgICAgICAgc2hpZnQoKTsKKyAgICAgICAgfQorCiAgICAgICAgIHJlY29yZDgo
bV9jdXJyZW50KTsKICAgICAgICAgc2hpZnQoKTsKICAgICB9CiAKICAgICBpZiAoVU5MSUtFTFko
T3B0aW9uczo6dXNlQmlnSW50KCkgJiYgbV9jdXJyZW50ID09ICduJykpCi0gICAgICAgIHJldHVy
biBWYXJpYW50PGRvdWJsZSwgY29uc3QgSWRlbnRpZmllcio+IHsgbWFrZUlkZW50aWZpZXIobV9i
dWZmZXI4LmRhdGEoKSwgbV9idWZmZXI4LnNpemUoKSkgfTsKKyAgICAgICAgcmV0dXJuIE51bWJl
clBhcnNlUmVzdWx0IHsgbWFrZUlkZW50aWZpZXIobV9idWZmZXI4LmRhdGEoKSwgbV9idWZmZXI4
LnNpemUoKSkgfTsKIAogICAgIGlmIChpc0FTQ0lJRGlnaXQobV9jdXJyZW50KSkKICAgICAgICAg
cmV0dXJuIFdURjo6bnVsbG9wdDsKIAotICAgIHJldHVybiBWYXJpYW50PGRvdWJsZSwgY29uc3Qg
SWRlbnRpZmllcio+IHsgcGFyc2VJbnRPdmVyZmxvdyhtX2J1ZmZlcjguZGF0YSgpLCBtX2J1ZmZl
cjguc2l6ZSgpLCA4KSB9OworICAgIHJldHVybiBOdW1iZXJQYXJzZVJlc3VsdCB7IHBhcnNlSW50
T3ZlcmZsb3cobV9idWZmZXI4LmRhdGEoKSwgbV9idWZmZXI4LnNpemUoKSwgOCkgfTsKIH0KIAog
dGVtcGxhdGUgPHR5cGVuYW1lIFQ+CiBBTFdBWVNfSU5MSU5FIGF1dG8gTGV4ZXI8VD46OnBhcnNl
RGVjaW1hbCgpIC0+IE9wdGlvbmFsPE51bWJlclBhcnNlUmVzdWx0PgogeworICAgIEFTU0VSVChp
c0FTQ0lJRGlnaXQobV9jdXJyZW50KSk7CisKICAgICAvLyBPcHRpbWl6YXRpb246IG1vc3QgZGVj
aW1hbCB2YWx1ZXMgZml0IGludG8gNCBieXRlcy4KICAgICB1aW50MzJfdCBkZWNpbWFsVmFsdWUg
PSAwOwogCkBAIC0xNjIwLDM4ICsxNjkzLDYzIEBAIEFMV0FZU19JTkxJTkUgYXV0byBMZXhlcjxU
Pjo6cGFyc2VEZWNpbWFsKCkgLT4gT3B0aW9uYWw8TnVtYmVyUGFyc2VSZXN1bHQ+CiAgICAgICAg
IExDaGFyIGRpZ2l0c1ttYXhpbXVtRGlnaXRzXTsKIAogICAgICAgICBkbyB7CisgICAgICAgICAg
ICBpZiAobV9jdXJyZW50ID09ICdfJykgeworICAgICAgICAgICAgICAgIGlmIChVTkxJS0VMWSgh
aXNBU0NJSURpZ2l0KHBlZWsoMSkpKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFdURjo6
bnVsbG9wdDsKKworICAgICAgICAgICAgICAgIHNoaWZ0KCk7CisgICAgICAgICAgICB9CisKICAg
ICAgICAgICAgIGRlY2ltYWxWYWx1ZSA9IGRlY2ltYWxWYWx1ZSAqIDEwICsgKG1fY3VycmVudCAt
ICcwJyk7CiAgICAgICAgICAgICBkaWdpdHNbZGlnaXRdID0gbV9jdXJyZW50OwogICAgICAgICAg
ICAgc2hpZnQoKTsKICAgICAgICAgICAgIC0tZGlnaXQ7Ci0gICAgICAgIH0gd2hpbGUgKGlzQVND
SUlEaWdpdChtX2N1cnJlbnQpICYmIGRpZ2l0ID49IDApOworICAgICAgICB9IHdoaWxlIChpc0FT
Q0lJRGlnaXRPclNlcGFyYXRvcihtX2N1cnJlbnQpICYmIGRpZ2l0ID49IDApOwogCiAgICAgICAg
IGlmIChkaWdpdCA+PSAwICYmIG1fY3VycmVudCAhPSAnLicgJiYgIWlzQVNDSUlBbHBoYUNhc2Vs
ZXNzRXF1YWwobV9jdXJyZW50LCAnZScpICYmIG1fY3VycmVudCAhPSAnbicpCi0gICAgICAgICAg
ICByZXR1cm4gVmFyaWFudDxkb3VibGUsIGNvbnN0IElkZW50aWZpZXIqPiB7IGRlY2ltYWxWYWx1
ZSB9OworICAgICAgICAgICAgcmV0dXJuIE51bWJlclBhcnNlUmVzdWx0IHsgZGVjaW1hbFZhbHVl
IH07CiAKICAgICAgICAgZm9yIChpbnQgaSA9IG1heGltdW1EaWdpdHMgLSAxOyBpID4gZGlnaXQ7
IC0taSkKICAgICAgICAgICAgIHJlY29yZDgoZGlnaXRzW2ldKTsKICAgICB9CiAKLSAgICB3aGls
ZSAoaXNBU0NJSURpZ2l0KG1fY3VycmVudCkpIHsKKyAgICB3aGlsZSAoaXNBU0NJSURpZ2l0T3JT
ZXBhcmF0b3IobV9jdXJyZW50KSkgeworICAgICAgICBpZiAobV9jdXJyZW50ID09ICdfJykgewor
ICAgICAgICAgICAgaWYgKFVOTElLRUxZKCFpc0FTQ0lJRGlnaXQocGVlaygxKSkpKQorICAgICAg
ICAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAgICAgICAgICAgIHNoaWZ0KCk7Cisg
ICAgICAgIH0KKwogICAgICAgICByZWNvcmQ4KG1fY3VycmVudCk7CiAgICAgICAgIHNoaWZ0KCk7
CiAgICAgfQogICAgIAogICAgIGlmIChVTkxJS0VMWShPcHRpb25zOjp1c2VCaWdJbnQoKSAmJiBt
X2N1cnJlbnQgPT0gJ24nKSkKLSAgICAgICAgcmV0dXJuIFZhcmlhbnQ8ZG91YmxlLCBjb25zdCBJ
ZGVudGlmaWVyKj4geyBtYWtlSWRlbnRpZmllcihtX2J1ZmZlcjguZGF0YSgpLCBtX2J1ZmZlcjgu
c2l6ZSgpKSB9OworICAgICAgICByZXR1cm4gTnVtYmVyUGFyc2VSZXN1bHQgeyBtYWtlSWRlbnRp
ZmllcihtX2J1ZmZlcjguZGF0YSgpLCBtX2J1ZmZlcjguc2l6ZSgpKSB9OwogCiAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Ci1BTFdBWVNfSU5MSU5F
IHZvaWQgTGV4ZXI8VD46OnBhcnNlTnVtYmVyQWZ0ZXJEZWNpbWFsUG9pbnQoKQorQUxXQVlTX0lO
TElORSBib29sIExleGVyPFQ+OjpwYXJzZU51bWJlckFmdGVyRGVjaW1hbFBvaW50KCkKIHsKKyAg
ICBBU1NFUlQoaXNBU0NJSURpZ2l0KG1fY3VycmVudCkpOwogICAgIHJlY29yZDgoJy4nKTsKLSAg
ICB3aGlsZSAoaXNBU0NJSURpZ2l0KG1fY3VycmVudCkpIHsKKworICAgIGRvIHsKKyAgICAgICAg
aWYgKG1fY3VycmVudCA9PSAnXycpIHsKKyAgICAgICAgICAgIGlmIChVTkxJS0VMWSghaXNBU0NJ
SURpZ2l0KHBlZWsoMSkpKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAg
ICAgICAgIHNoaWZ0KCk7CisgICAgICAgIH0KKwogICAgICAgICByZWNvcmQ4KG1fY3VycmVudCk7
CiAgICAgICAgIHNoaWZ0KCk7Ci0gICAgfQorICAgIH0gd2hpbGUgKGlzQVNDSUlEaWdpdE9yU2Vw
YXJhdG9yKG1fY3VycmVudCkpOworCisgICAgcmV0dXJuIHRydWU7CiB9CiAKIHRlbXBsYXRlIDx0
eXBlbmFtZSBUPgpAQCAtMTY2OCw5ICsxNzY2LDE3IEBAIEFMV0FZU19JTkxJTkUgYm9vbCBMZXhl
cjxUPjo6cGFyc2VOdW1iZXJBZnRlckV4cG9uZW50SW5kaWNhdG9yKCkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCiAgICAgZG8geworICAgICAgICBpZiAobV9jdXJyZW50ID09ICdfJykgeworICAg
ICAgICAgICAgaWYgKFVOTElLRUxZKCFpc0FTQ0lJRGlnaXQocGVlaygxKSkpKQorICAgICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgc2hpZnQoKTsKKyAgICAgICAgfQor
CiAgICAgICAgIHJlY29yZDgobV9jdXJyZW50KTsKICAgICAgICAgc2hpZnQoKTsKLSAgICB9IHdo
aWxlIChpc0FTQ0lJRGlnaXQobV9jdXJyZW50KSk7CisgICAgfSB3aGlsZSAoaXNBU0NJSURpZ2l0
T3JTZXBhcmF0b3IobV9jdXJyZW50KSk7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMjA5
MCw3ICsyMTk2LDExIEBAIHN0YXJ0OgogICAgICAgICAgICAgdG9rZW4gPSBET1Q7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQotICAgICAgICBwYXJzZU51bWJlckFmdGVyRGVjaW1hbFBv
aW50KCk7CisgICAgICAgIGlmIChVTkxJS0VMWSghcGFyc2VOdW1iZXJBZnRlckRlY2ltYWxQb2lu
dCgpKSkgeworICAgICAgICAgICAgbV9sZXhFcnJvck1lc3NhZ2UgPSAiTm9uLW51bWJlciBmb3Vu
ZCBhZnRlciBkZWNpbWFsIHBvaW50Il9zOworICAgICAgICAgICAgdG9rZW4gPSBJTlZBTElEX05V
TUVSSUNfTElURVJBTF9FUlJPUlRPSzsKKyAgICAgICAgICAgIGdvdG8gcmV0dXJuRXJyb3I7Cisg
ICAgICAgIH0KICAgICAgICAgdG9rZW4gPSBET1VCTEU7CiAgICAgICAgIGlmIChpc0FTQ0lJQWxw
aGFDYXNlbGVzc0VxdWFsKG1fY3VycmVudCwgJ2UnKSkgewogICAgICAgICAgICAgaWYgKCFwYXJz
ZU51bWJlckFmdGVyRXhwb25lbnRJbmRpY2F0b3IoKSkgewpAQCAtMjEyNCwxMiArMjIzNCwxNCBA
QCBzdGFydDoKICAgICAgICAgICAgIHNoaWZ0KCk7CiAKICAgICAgICAgICAgIGF1dG8gcGFyc2VO
dW1iZXJSZXN1bHQgPSBwYXJzZUhleCgpOwotICAgICAgICAgICAgaWYgKFdURjo6aG9sZHNfYWx0
ZXJuYXRpdmU8ZG91YmxlPihwYXJzZU51bWJlclJlc3VsdCkpCi0gICAgICAgICAgICAgICAgdG9r
ZW5EYXRhLT5kb3VibGVWYWx1ZSA9IFdURjo6Z2V0PGRvdWJsZT4ocGFyc2VOdW1iZXJSZXN1bHQp
OworICAgICAgICAgICAgaWYgKCFwYXJzZU51bWJlclJlc3VsdCkKKyAgICAgICAgICAgICAgICB0
b2tlbkRhdGEtPmRvdWJsZVZhbHVlID0gMDsKKyAgICAgICAgICAgIGVsc2UgaWYgKFdURjo6aG9s
ZHNfYWx0ZXJuYXRpdmU8ZG91YmxlPigqcGFyc2VOdW1iZXJSZXN1bHQpKQorICAgICAgICAgICAg
ICAgIHRva2VuRGF0YS0+ZG91YmxlVmFsdWUgPSBXVEY6OmdldDxkb3VibGU+KCpwYXJzZU51bWJl
clJlc3VsdCk7CiAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICB0b2tlbiA9IEJJ
R0lOVDsKICAgICAgICAgICAgICAgICBzaGlmdCgpOwotICAgICAgICAgICAgICAgIHRva2VuRGF0
YS0+YmlnSW50U3RyaW5nID0gV1RGOjpnZXQ8Y29uc3QgSWRlbnRpZmllcio+KHBhcnNlTnVtYmVy
UmVzdWx0KTsKKyAgICAgICAgICAgICAgICB0b2tlbkRhdGEtPmJpZ0ludFN0cmluZyA9IFdURjo6
Z2V0PGNvbnN0IElkZW50aWZpZXIqPigqcGFyc2VOdW1iZXJSZXN1bHQpOwogICAgICAgICAgICAg
ICAgIHRva2VuRGF0YS0+cmFkaXggPSAxNjsKICAgICAgICAgICAgIH0KIApAQCAtMjIwOSw2ICsy
MzIxLDEyIEBAIHN0YXJ0OgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIAorICAgICAg
ICBpZiAoVU5MSUtFTFkobV9jdXJyZW50ID09ICdfJykpIHsKKyAgICAgICAgICAgIG1fbGV4RXJy
b3JNZXNzYWdlID0gIk51bWVyaWMgbGl0ZXJhbHMgbWF5IG5vdCBiZWdpbiB3aXRoIDBfIl9zOwor
ICAgICAgICAgICAgdG9rZW4gPSBVTlRFUk1JTkFURURfT0NUQUxfTlVNQkVSX0VSUk9SVE9LOwor
ICAgICAgICAgICAgZ290byByZXR1cm5FcnJvcjsKKyAgICAgICAgfQorCiAgICAgICAgIHJlY29y
ZDgoJzAnKTsKICAgICAgICAgaWYgKHN0cmljdE1vZGUgJiYgaXNBU0NJSURpZ2l0KG1fY3VycmVu
dCkpIHsKICAgICAgICAgICAgIG1fbGV4RXJyb3JNZXNzYWdlID0gIkRlY2ltYWwgaW50ZWdlciBs
aXRlcmFscyB3aXRoIGEgbGVhZGluZyB6ZXJvIGFyZSBmb3JiaWRkZW4gaW4gc3RyaWN0IG1vZGUi
X3M7CkBAIC0yMjQwLDcgKzIzNTgsMTEgQEAgc3RhcnQ6CiAgICAgICAgICAgICAgICAgICAgIHRv
a2VuID0gSU5URUdFUjsKICAgICAgICAgICAgICAgICAgICAgaWYgKG1fY3VycmVudCA9PSAnLicp
IHsKICAgICAgICAgICAgICAgICAgICAgICAgIHNoaWZ0KCk7Ci0gICAgICAgICAgICAgICAgICAg
ICAgICBwYXJzZU51bWJlckFmdGVyRGVjaW1hbFBvaW50KCk7CisgICAgICAgICAgICAgICAgICAg
ICAgICBpZiAoVU5MSUtFTFkoaXNBU0NJSURpZ2l0KG1fY3VycmVudCkgJiYgIXBhcnNlTnVtYmVy
QWZ0ZXJEZWNpbWFsUG9pbnQoKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2xl
eEVycm9yTWVzc2FnZSA9ICJOb24tbnVtYmVyIGZvdW5kIGFmdGVyIGRlY2ltYWwgcG9pbnQiX3M7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4gPSBJTlZBTElEX05VTUVSSUNfTElU
RVJBTF9FUlJPUlRPSzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIHJldHVybkVy
cm9yOworICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg
dG9rZW4gPSBET1VCTEU7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg
ICAgaWYgKGlzQVNDSUlBbHBoYUNhc2VsZXNzRXF1YWwobV9jdXJyZW50LCAnZScpKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcGFyc2VyL0xleGVyLmgKaW5kZXggMzc1NTQzN2U5M2QyZDdmY2VlMmVmOGUz
MjVlMWZmZTFkMzdmM2FkOS4uY2YzNzgwYmJjNDZiZTU2NGVmODliMzBhNjMyNTMwMDUxZmQ4NDZj
NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9MZXhlci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTGV4ZXIuaApAQCAtMTc5LDExICsxNzksMTEg
QEAgcHJpdmF0ZToKICAgICBBTFdBWVNfSU5MSU5FIFN0cmluZ1BhcnNlUmVzdWx0IHBhcnNlVGVt
cGxhdGVMaXRlcmFsKEpTVG9rZW5EYXRhKiwgUmF3U3RyaW5nc0J1aWxkTW9kZSk7CiAgICAgCiAg
ICAgdXNpbmcgTnVtYmVyUGFyc2VSZXN1bHQgPSBWYXJpYW50PGRvdWJsZSwgY29uc3QgSWRlbnRp
Zmllcio+OwotICAgIEFMV0FZU19JTkxJTkUgTnVtYmVyUGFyc2VSZXN1bHQgcGFyc2VIZXgoKTsK
KyAgICBBTFdBWVNfSU5MSU5FIE9wdGlvbmFsPE51bWJlclBhcnNlUmVzdWx0PiBwYXJzZUhleCgp
OwogICAgIEFMV0FZU19JTkxJTkUgT3B0aW9uYWw8TnVtYmVyUGFyc2VSZXN1bHQ+IHBhcnNlQmlu
YXJ5KCk7CiAgICAgQUxXQVlTX0lOTElORSBPcHRpb25hbDxOdW1iZXJQYXJzZVJlc3VsdD4gcGFy
c2VPY3RhbCgpOwogICAgIEFMV0FZU19JTkxJTkUgT3B0aW9uYWw8TnVtYmVyUGFyc2VSZXN1bHQ+
IHBhcnNlRGVjaW1hbCgpOwotICAgIEFMV0FZU19JTkxJTkUgdm9pZCBwYXJzZU51bWJlckFmdGVy
RGVjaW1hbFBvaW50KCk7CisgICAgQUxXQVlTX0lOTElORSBib29sIHBhcnNlTnVtYmVyQWZ0ZXJE
ZWNpbWFsUG9pbnQoKTsKICAgICBBTFdBWVNfSU5MSU5FIGJvb2wgcGFyc2VOdW1iZXJBZnRlckV4
cG9uZW50SW5kaWNhdG9yKCk7CiAgICAgQUxXQVlTX0lOTElORSBib29sIHBhcnNlTXVsdGlsaW5l
Q29tbWVudCgpOwogCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDRlNGY4ODY1NmFjODRhM2JjMGJmNzI2ZWJmMzU0MzlkOTFlMzA1YWQuLjQw
Njg1NDJhYjk0Y2RhN2U1OGNkNTE3MWVkZTA2NDJjMzQ5MjQ5MzEgMTAwNjQ0Ci0tLSBhL0pTVGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIw
MTktMDUtMjIgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgorCisgICAg
ICAgIFtFU05leHRdIEltcGxlbWVudCBzdXBwb3J0IGZvciBOdW1lcmljIFNlcGFyYXRvcnMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NjM1MQorCisg
ICAgICAgIFJldmlld2VkIGJ5IEtlaXRoIE1pbGxlci4KKworICAgICAgICAqIHN0cmVzcy9udW1l
cmljLWxpdGVyYWwtc2VwYXJhdG9ycy5qczogQWRkZWQuCisgICAgICAgIEFkZCB0ZXN0cyBmb3Ig
ZmVhdHVyZS4KKworICAgICAgICAqIHRlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWw6CisgICAgICAg
IE1hcmsgNjAgdGVzdCBjYXNlcyBhcyBwYXNzaW5nLgorCiAyMDE5LTA1LTIwICBLZWl0aCBNaWxs
ZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFudXAgWWFyciByZWdl
eHAgY29kZSBhcm91bmQgcGFyZW4gY29udGV4dHMuCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3Rlc3Qy
NjIvZXhwZWN0YXRpb25zLnlhbWwgYi9KU1Rlc3RzL3Rlc3QyNjIvZXhwZWN0YXRpb25zLnlhbWwK
aW5kZXggZTM3MjczZDgxMWQyOWFhNjJiOWEwZDc3YzY2MDVjNjM4ZDY2MTkyZC4uOWNiZTM1ZDMx
Mjg5NTZjYmM5OGUzOGJlNTg1YmI0MjdlZTIwMWFmOCAxMDA2NDQKLS0tIGEvSlNUZXN0cy90ZXN0
MjYyL2V4cGVjdGF0aW9ucy55YW1sCisrKyBiL0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMu
eWFtbApAQCAtMjU4Niw5NiArMjU4Niw2IEBAIHRlc3QvbGFuZ3VhZ2UvZ2xvYmFsLWNvZGUvc2Ny
aXB0LWRlY2wtZnVuYy1lcnItbm9uLWV4dGVuc2libGUuanM6CiB0ZXN0L2xhbmd1YWdlL2dsb2Jh
bC1jb2RlL3NjcmlwdC1kZWNsLXZhci1lcnIuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6
IEV4cGVjdGVkIGEgVHlwZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8gZXhjZXB0aW9uIHdhcyB0
aHJvd24gYXQgYWxsJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBU
eXBlRXJyb3IgdG8gYmUgdGhyb3duIGJ1dCBubyBleGNlcHRpb24gd2FzIHRocm93biBhdCBhbGwn
Ci10ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL251bWVyaWMvbnVtZXJpYy1zZXBhcmF0b3ItbGl0ZXJh
bC1iaWwtYmQtbnNsLWJkLmpzOgotICBkZWZhdWx0OiAnU3ludGF4RXJyb3I6IE5vIHNwYWNlIGJl
dHdlZW4gYmluYXJ5IGxpdGVyYWwgYW5kIGlkZW50aWZpZXInCi0gIHN0cmljdCBtb2RlOiAnU3lu
dGF4RXJyb3I6IE5vIHNwYWNlIGJldHdlZW4gYmluYXJ5IGxpdGVyYWwgYW5kIGlkZW50aWZpZXIn
Ci10ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL251bWVyaWMvbnVtZXJpYy1zZXBhcmF0b3ItbGl0ZXJh
bC1iaWwtYmQtbnNsLWJkcy5qczoKLSAgZGVmYXVsdDogJ1N5bnRheEVycm9yOiBObyBzcGFjZSBi
ZXR3ZWVuIGJpbmFyeSBsaXRlcmFsIGFuZCBpZGVudGlmaWVyJwotICBzdHJpY3QgbW9kZTogJ1N5
bnRheEVycm9yOiBObyBzcGFjZSBiZXR3ZWVuIGJpbmFyeSBsaXRlcmFsIGFuZCBpZGVudGlmaWVy
JwotdGVzdC9sYW5ndWFnZS9saXRlcmFscy9udW1lcmljL251bWVyaWMtc2VwYXJhdG9yLWxpdGVy
YWwtYmlsLWJkcy1uc2wtYmQuanM6Ci0gIGRlZmF1bHQ6ICdTeW50YXhFcnJvcjogTm8gc3BhY2Ug
YmV0d2VlbiBiaW5hcnkgbGl0ZXJhbCBhbmQgaWRlbnRpZmllcicKLSAgc3RyaWN0IG1vZGU6ICdT
eW50YXhFcnJvcjogTm8gc3BhY2UgYmV0d2VlbiBiaW5hcnkgbGl0ZXJhbCBhbmQgaWRlbnRpZmll
cicKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVtZXJpYy9udW1lcmljLXNlcGFyYXRvci1saXRl
cmFsLWJpbC1iZHMtbnNsLWJkcy5qczoKLSAgZGVmYXVsdDogJ1N5bnRheEVycm9yOiBObyBzcGFj
ZSBiZXR3ZWVuIGJpbmFyeSBsaXRlcmFsIGFuZCBpZGVudGlmaWVyJwotICBzdHJpY3QgbW9kZTog
J1N5bnRheEVycm9yOiBObyBzcGFjZSBiZXR3ZWVuIGJpbmFyeSBsaXRlcmFsIGFuZCBpZGVudGlm
aWVyJwotdGVzdC9sYW5ndWFnZS9saXRlcmFscy9udW1lcmljL251bWVyaWMtc2VwYXJhdG9yLWxp
dGVyYWwtZGQtZG90LWRkLWVwLXNpZ24tbWludXMtZGQtbnNsLWRkLmpzOgotICBkZWZhdWx0OiAn
U3ludGF4RXJyb3I6IE5vIGlkZW50aWZpZXJzIGFsbG93ZWQgZGlyZWN0bHkgYWZ0ZXIgbnVtZXJp
YyBsaXRlcmFsJwotICBzdHJpY3QgbW9kZTogJ1N5bnRheEVycm9yOiBObyBpZGVudGlmaWVycyBh
bGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbCcKLXRlc3QvbGFuZ3VhZ2UvbGl0
ZXJhbHMvbnVtZXJpYy9udW1lcmljLXNlcGFyYXRvci1saXRlcmFsLWRkLWRvdC1kZC1lcC1zaWdu
LW1pbnVzLWRkcy1uc2wtZGQuanM6Ci0gIGRlZmF1bHQ6ICdTeW50YXhFcnJvcjogTm8gaWRlbnRp
ZmllcnMgYWxsb3dlZCBkaXJlY3RseSBhZnRlciBudW1lcmljIGxpdGVyYWwnCi0gIHN0cmljdCBt
b2RlOiAnU3ludGF4RXJyb3I6IE5vIGlkZW50aWZpZXJzIGFsbG93ZWQgZGlyZWN0bHkgYWZ0ZXIg
bnVtZXJpYyBsaXRlcmFsJwotdGVzdC9sYW5ndWFnZS9saXRlcmFscy9udW1lcmljL251bWVyaWMt
c2VwYXJhdG9yLWxpdGVyYWwtZGQtZG90LWRkLWVwLXNpZ24tcGx1cy1kZC1uc2wtZGQuanM6Ci0g
IGRlZmF1bHQ6ICdTeW50YXhFcnJvcjogTm8gaWRlbnRpZmllcnMgYWxsb3dlZCBkaXJlY3RseSBh
ZnRlciBudW1lcmljIGxpdGVyYWwnCi0gIHN0cmljdCBtb2RlOiAnU3ludGF4RXJyb3I6IE5vIGlk
ZW50aWZpZXJzIGFsbG93ZWQgZGlyZWN0bHkgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsJwotdGVzdC9s
YW5ndWFnZS9saXRlcmFscy9udW1lcmljL251bWVyaWMtc2VwYXJhdG9yLWxpdGVyYWwtZGQtZG90
LWRkLWVwLXNpZ24tcGx1cy1kZHMtbnNsLWRkLmpzOgotICBkZWZhdWx0OiAnU3ludGF4RXJyb3I6
IE5vIGlkZW50aWZpZXJzIGFsbG93ZWQgZGlyZWN0bHkgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsJwot
ICBzdHJpY3QgbW9kZTogJ1N5bnRheEVycm9yOiBObyBpZGVudGlmaWVycyBhbGxvd2VkIGRpcmVj
dGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbCcKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVtZXJp
Yy9udW1lcmljLXNlcGFyYXRvci1saXRlcmFsLWRkLW5zbC1kZC1vbmUtb2YuanM6Ci0gIGRlZmF1
bHQ6ICdTeW50YXhFcnJvcjogTm8gaWRlbnRpZmllcnMgYWxsb3dlZCBkaXJlY3RseSBhZnRlciBu
dW1lcmljIGxpdGVyYWwnCi0gIHN0cmljdCBtb2RlOiAnU3ludGF4RXJyb3I6IE5vIGlkZW50aWZp
ZXJzIGFsbG93ZWQgZGlyZWN0bHkgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsJwotdGVzdC9sYW5ndWFn
ZS9saXRlcmFscy9udW1lcmljL251bWVyaWMtc2VwYXJhdG9yLWxpdGVyYWwtZGRzLWRvdC1kZC1u
c2wtZGQtZXAtZGQuanM6Ci0gIGRlZmF1bHQ6ICdTeW50YXhFcnJvcjogTm8gaWRlbnRpZmllcnMg
YWxsb3dlZCBkaXJlY3RseSBhZnRlciBudW1lcmljIGxpdGVyYWwnCi0gIHN0cmljdCBtb2RlOiAn
U3ludGF4RXJyb3I6IE5vIGlkZW50aWZpZXJzIGFsbG93ZWQgZGlyZWN0bHkgYWZ0ZXIgbnVtZXJp
YyBsaXRlcmFsJwotdGVzdC9sYW5ndWFnZS9saXRlcmFscy9udW1lcmljL251bWVyaWMtc2VwYXJh
dG9yLWxpdGVyYWwtZGRzLW5zbC1kZC5qczoKLSAgZGVmYXVsdDogJ1N5bnRheEVycm9yOiBObyBp
ZGVudGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbCcKLSAgc3Ry
aWN0IG1vZGU6ICdTeW50YXhFcnJvcjogTm8gaWRlbnRpZmllcnMgYWxsb3dlZCBkaXJlY3RseSBh
ZnRlciBudW1lcmljIGxpdGVyYWwnCi10ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL251bWVyaWMvbnVt
ZXJpYy1zZXBhcmF0b3ItbGl0ZXJhbC1kb3QtZGQtbnNsLWRkLWVwLmpzOgotICBkZWZhdWx0OiAn
U3ludGF4RXJyb3I6IE5vIGlkZW50aWZpZXJzIGFsbG93ZWQgZGlyZWN0bHkgYWZ0ZXIgbnVtZXJp
YyBsaXRlcmFsJwotICBzdHJpY3QgbW9kZTogJ1N5bnRheEVycm9yOiBObyBpZGVudGlmaWVycyBh
bGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbCcKLXRlc3QvbGFuZ3VhZ2UvbGl0
ZXJhbHMvbnVtZXJpYy9udW1lcmljLXNlcGFyYXRvci1saXRlcmFsLWRvdC1kZC1uc2wtZGRzLWVw
LmpzOgotICBkZWZhdWx0OiAnU3ludGF4RXJyb3I6IE5vIGlkZW50aWZpZXJzIGFsbG93ZWQgZGly
ZWN0bHkgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsJwotICBzdHJpY3QgbW9kZTogJ1N5bnRheEVycm9y
OiBObyBpZGVudGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbCcK
LXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVtZXJpYy9udW1lcmljLXNlcGFyYXRvci1saXRlcmFs
LWRvdC1kZHMtbnNsLWRkLWVwLmpzOgotICBkZWZhdWx0OiAnU3ludGF4RXJyb3I6IE5vIGlkZW50
aWZpZXJzIGFsbG93ZWQgZGlyZWN0bHkgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsJwotICBzdHJpY3Qg
bW9kZTogJ1N5bnRheEVycm9yOiBObyBpZGVudGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVy
IG51bWVyaWMgbGl0ZXJhbCcKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVtZXJpYy9udW1lcmlj
LXNlcGFyYXRvci1saXRlcmFsLWRvdC1kZHMtbnNsLWRkcy1lcC5qczoKLSAgZGVmYXVsdDogJ1N5
bnRheEVycm9yOiBObyBpZGVudGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMg
bGl0ZXJhbCcKLSAgc3RyaWN0IG1vZGU6ICdTeW50YXhFcnJvcjogTm8gaWRlbnRpZmllcnMgYWxs
b3dlZCBkaXJlY3RseSBhZnRlciBudW1lcmljIGxpdGVyYWwnCi10ZXN0L2xhbmd1YWdlL2xpdGVy
YWxzL251bWVyaWMvbnVtZXJpYy1zZXBhcmF0b3ItbGl0ZXJhbC1oaWwtaGQtbnNsLWhkLmpzOgot
ICBkZWZhdWx0OiAnU3ludGF4RXJyb3I6IE5vIHNwYWNlIGJldHdlZW4gaGV4YWRlY2ltYWwgbGl0
ZXJhbCBhbmQgaWRlbnRpZmllcicKLSAgc3RyaWN0IG1vZGU6ICdTeW50YXhFcnJvcjogTm8gc3Bh
Y2UgYmV0d2VlbiBoZXhhZGVjaW1hbCBsaXRlcmFsIGFuZCBpZGVudGlmaWVyJwotdGVzdC9sYW5n
dWFnZS9saXRlcmFscy9udW1lcmljL251bWVyaWMtc2VwYXJhdG9yLWxpdGVyYWwtaGlsLWhkLW5z
bC1oZHMuanM6Ci0gIGRlZmF1bHQ6ICdTeW50YXhFcnJvcjogTm8gc3BhY2UgYmV0d2VlbiBoZXhh
ZGVjaW1hbCBsaXRlcmFsIGFuZCBpZGVudGlmaWVyJwotICBzdHJpY3QgbW9kZTogJ1N5bnRheEVy
cm9yOiBObyBzcGFjZSBiZXR3ZWVuIGhleGFkZWNpbWFsIGxpdGVyYWwgYW5kIGlkZW50aWZpZXIn
Ci10ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL251bWVyaWMvbnVtZXJpYy1zZXBhcmF0b3ItbGl0ZXJh
bC1oaWwtaGRzLW5zbC1oZC5qczoKLSAgZGVmYXVsdDogJ1N5bnRheEVycm9yOiBObyBzcGFjZSBi
ZXR3ZWVuIGhleGFkZWNpbWFsIGxpdGVyYWwgYW5kIGlkZW50aWZpZXInCi0gIHN0cmljdCBtb2Rl
OiAnU3ludGF4RXJyb3I6IE5vIHNwYWNlIGJldHdlZW4gaGV4YWRlY2ltYWwgbGl0ZXJhbCBhbmQg
aWRlbnRpZmllcicKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVtZXJpYy9udW1lcmljLXNlcGFy
YXRvci1saXRlcmFsLWhpbC1oZHMtbnNsLWhkcy5qczoKLSAgZGVmYXVsdDogJ1N5bnRheEVycm9y
OiBObyBzcGFjZSBiZXR3ZWVuIGhleGFkZWNpbWFsIGxpdGVyYWwgYW5kIGlkZW50aWZpZXInCi0g
IHN0cmljdCBtb2RlOiAnU3ludGF4RXJyb3I6IE5vIHNwYWNlIGJldHdlZW4gaGV4YWRlY2ltYWwg
bGl0ZXJhbCBhbmQgaWRlbnRpZmllcicKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVtZXJpYy9u
dW1lcmljLXNlcGFyYXRvci1saXRlcmFsLWhpbC1vZC1uc2wtb2Qtb25lLW9mLmpzOgotICBkZWZh
dWx0OiAnU3ludGF4RXJyb3I6IE5vIHNwYWNlIGJldHdlZW4gaGV4YWRlY2ltYWwgbGl0ZXJhbCBh
bmQgaWRlbnRpZmllcicKLSAgc3RyaWN0IG1vZGU6ICdTeW50YXhFcnJvcjogTm8gc3BhY2UgYmV0
d2VlbiBoZXhhZGVjaW1hbCBsaXRlcmFsIGFuZCBpZGVudGlmaWVyJwotdGVzdC9sYW5ndWFnZS9s
aXRlcmFscy9udW1lcmljL251bWVyaWMtc2VwYXJhdG9yLWxpdGVyYWwtbnpkLW5zbC1kZC1vbmUt
b2YuanM6Ci0gIGRlZmF1bHQ6ICdTeW50YXhFcnJvcjogTm8gaWRlbnRpZmllcnMgYWxsb3dlZCBk
aXJlY3RseSBhZnRlciBudW1lcmljIGxpdGVyYWwnCi0gIHN0cmljdCBtb2RlOiAnU3ludGF4RXJy
b3I6IE5vIGlkZW50aWZpZXJzIGFsbG93ZWQgZGlyZWN0bHkgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFs
JwotdGVzdC9sYW5ndWFnZS9saXRlcmFscy9udW1lcmljL251bWVyaWMtc2VwYXJhdG9yLWxpdGVy
YWwtbnpkLW5zbC1kZC5qczoKLSAgZGVmYXVsdDogJ1N5bnRheEVycm9yOiBObyBpZGVudGlmaWVy
cyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbCcKLSAgc3RyaWN0IG1vZGU6
ICdTeW50YXhFcnJvcjogTm8gaWRlbnRpZmllcnMgYWxsb3dlZCBkaXJlY3RseSBhZnRlciBudW1l
cmljIGxpdGVyYWwnCi10ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL251bWVyaWMvbnVtZXJpYy1zZXBh
cmF0b3ItbGl0ZXJhbC1uemQtbnNsLWRkcy5qczoKLSAgZGVmYXVsdDogJ1N5bnRheEVycm9yOiBO
byBpZGVudGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbCcKLSAg
c3RyaWN0IG1vZGU6ICdTeW50YXhFcnJvcjogTm8gaWRlbnRpZmllcnMgYWxsb3dlZCBkaXJlY3Rs
eSBhZnRlciBudW1lcmljIGxpdGVyYWwnCi10ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL251bWVyaWMv
bnVtZXJpYy1zZXBhcmF0b3ItbGl0ZXJhbC1vaWwtb2QtbnNsLW9kLW9uZS1vZi5qczoKLSAgZGVm
YXVsdDogJ1N5bnRheEVycm9yOiBObyBzcGFjZSBiZXR3ZWVuIG9jdGFsIGxpdGVyYWwgYW5kIGlk
ZW50aWZpZXInCi0gIHN0cmljdCBtb2RlOiAnU3ludGF4RXJyb3I6IE5vIHNwYWNlIGJldHdlZW4g
b2N0YWwgbGl0ZXJhbCBhbmQgaWRlbnRpZmllcicKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVt
ZXJpYy9udW1lcmljLXNlcGFyYXRvci1saXRlcmFsLW9pbC1vZC1uc2wtb2QuanM6Ci0gIGRlZmF1
bHQ6ICdTeW50YXhFcnJvcjogTm8gc3BhY2UgYmV0d2VlbiBvY3RhbCBsaXRlcmFsIGFuZCBpZGVu
dGlmaWVyJwotICBzdHJpY3QgbW9kZTogJ1N5bnRheEVycm9yOiBObyBzcGFjZSBiZXR3ZWVuIG9j
dGFsIGxpdGVyYWwgYW5kIGlkZW50aWZpZXInCi10ZXN0L2xhbmd1YWdlL2xpdGVyYWxzL251bWVy
aWMvbnVtZXJpYy1zZXBhcmF0b3ItbGl0ZXJhbC1vaWwtb2QtbnNsLW9kcy5qczoKLSAgZGVmYXVs
dDogJ1N5bnRheEVycm9yOiBObyBzcGFjZSBiZXR3ZWVuIG9jdGFsIGxpdGVyYWwgYW5kIGlkZW50
aWZpZXInCi0gIHN0cmljdCBtb2RlOiAnU3ludGF4RXJyb3I6IE5vIHNwYWNlIGJldHdlZW4gb2N0
YWwgbGl0ZXJhbCBhbmQgaWRlbnRpZmllcicKLXRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvbnVtZXJp
Yy9udW1lcmljLXNlcGFyYXRvci1saXRlcmFsLW9pbC1vZHMtbnNsLW9kLmpzOgotICBkZWZhdWx0
OiAnU3ludGF4RXJyb3I6IE5vIHNwYWNlIGJldHdlZW4gb2N0YWwgbGl0ZXJhbCBhbmQgaWRlbnRp
ZmllcicKLSAgc3RyaWN0IG1vZGU6ICdTeW50YXhFcnJvcjogTm8gc3BhY2UgYmV0d2VlbiBvY3Rh
bCBsaXRlcmFsIGFuZCBpZGVudGlmaWVyJwotdGVzdC9sYW5ndWFnZS9saXRlcmFscy9udW1lcmlj
L251bWVyaWMtc2VwYXJhdG9yLWxpdGVyYWwtb2lsLW9kcy1uc2wtb2RzLmpzOgotICBkZWZhdWx0
OiAnU3ludGF4RXJyb3I6IE5vIHNwYWNlIGJldHdlZW4gb2N0YWwgbGl0ZXJhbCBhbmQgaWRlbnRp
ZmllcicKLSAgc3RyaWN0IG1vZGU6ICdTeW50YXhFcnJvcjogTm8gc3BhY2UgYmV0d2VlbiBvY3Rh
bCBsaXRlcmFsIGFuZCBpZGVudGlmaWVyJwotdGVzdC9sYW5ndWFnZS9saXRlcmFscy9udW1lcmlj
L251bWVyaWMtc2VwYXJhdG9yLWxpdGVyYWwtc2lnbi1taW51cy1kZHMtbnNsLWRkLmpzOgotICBk
ZWZhdWx0OiAnU3ludGF4RXJyb3I6IE5vIGlkZW50aWZpZXJzIGFsbG93ZWQgZGlyZWN0bHkgYWZ0
ZXIgbnVtZXJpYyBsaXRlcmFsJwotICBzdHJpY3QgbW9kZTogJ1N5bnRheEVycm9yOiBObyBpZGVu
dGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbCcKLXRlc3QvbGFu
Z3VhZ2UvbGl0ZXJhbHMvbnVtZXJpYy9udW1lcmljLXNlcGFyYXRvci1saXRlcmFsLXNpZ24tcGx1
cy1kZHMtbnNsLWRkLmpzOgotICBkZWZhdWx0OiAnU3ludGF4RXJyb3I6IE5vIGlkZW50aWZpZXJz
IGFsbG93ZWQgZGlyZWN0bHkgYWZ0ZXIgbnVtZXJpYyBsaXRlcmFsJwotICBzdHJpY3QgbW9kZTog
J1N5bnRheEVycm9yOiBObyBpZGVudGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVy
aWMgbGl0ZXJhbCcKIHRlc3QvbGFuZ3VhZ2UvbGl0ZXJhbHMvcmVnZXhwL25hbWVkLWdyb3Vwcy9p
bnZhbGlkLWRhbmdsaW5nLWdyb3VwbmFtZS0yLXUuanM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyOiBU
aGlzIHN0YXRlbWVudCBzaG91bGQgbm90IGJlIGV2YWx1YXRlZC4nCiAgIHN0cmljdCBtb2RlOiAn
VGVzdDI2MjogVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBiZSBldmFsdWF0ZWQuJwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>