<?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>128980</bug_id>
          
          <creation_ts>2014-02-18 10:02:37 -0800</creation_ts>
          <short_desc>[CSS Grid Layout] Implementation of the grid-template shorthand.</short_desc>
          <delta_ts>2014-04-25 09:44:49 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>129041</dependson>
          <blocked>127987</blocked>
    
    <blocked>132122</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Javier Fernandez">jfernandez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jfernandez</cc>
    
    <cc>kling</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>rego</cc>
    
    <cc>svillar</cc>
    
    <cc>syoichi</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>981972</commentid>
    <comment_count>0</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2014-02-18 10:02:37 -0800</bug_when>
    <thetext>The grid-template property is a shorthand for setting grid-template-columns, grid-template-rows, and grid-template-areas in a single declaration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997191</commentid>
    <comment_count>1</comment_count>
      <attachid>228512</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2014-04-03 09:28:13 -0700</bug_when>
    <thetext>Created attachment 228512
Implementation of the grid-template shorthand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997192</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-03 09:29:52 -0700</bug_when>
    <thetext>Attachment 228512 did not pass style-queue:


ERROR: Source/WebCore/css/CSSParser.cpp:5266:  Wrong number of spaces before statement. (expected: 24)  [whitespace/indent] [4]
Total errors found: 1 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>997195</commentid>
    <comment_count>3</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2014-04-03 09:32:39 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Attachment 228512 [details] did not pass style-queue:
&gt; 
&gt; 
&gt; ERROR: Source/WebCore/css/CSSParser.cpp:5266:  Wrong number of spaces before statement. (expected: 24)  [whitespace/indent] [4]
&gt; Total errors found: 1 in 12 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against check-webkit-style.

I think this issue is already addressed in bug #128751</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1003885</commentid>
    <comment_count>4</comment_count>
      <attachid>228512</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-04-24 16:59:13 -0700</bug_when>
    <thetext>Comment on attachment 228512
Implementation of the grid-template shorthand.

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

&gt; Source/WebCore/css/CSSParser.cpp:4809
&gt; +    size_t rowCount = 0;
&gt; +    size_t columnCount = 0;

size_t seems like overkill for these. I don’t think we handle those kinds of huge row and column counts. Why not just “unsigned”?

&gt; Source/WebCore/css/CSSParser.cpp:4811
&gt; +    RefPtr&lt;CSSValueList&gt; templateRows = CSSValueList::createSpaceSeparated();

Why create this just before an early return? I suggest moving this declaration down.

&gt; Source/WebCore/css/CSSParser.cpp:4817
&gt; +    while (m_valueList-&gt;current()) {

could write this as a do/while to avoid the redundant check at the start of the loop

&gt; Source/WebCore/css/CSSParser.cpp:4837
&gt; +            templateRows-&gt;append(value);

value.release() would avoid a bit of reference count churn

&gt; Source/WebCore/css/CSSParser.cpp:4853
&gt; +        addProperty(CSSPropertyWebkitGridTemplateColumns,  cssValuePool().createIdentifierValue(CSSValueNone), important);

Extra space here after the comma.

&gt; Source/WebCore/css/CSSParser.cpp:4895
&gt; +            addProperty(CSSPropertyWebkitGridTemplateColumns, columnsValue, important);

columnsValue.release()

&gt; Source/WebCore/css/CSSParser.cpp:4896
&gt; +            addProperty(CSSPropertyWebkitGridTemplateRows, rowsValue, important);

rowsValue.release()

&gt; Source/WebCore/css/CSSParser.cpp:5029
&gt; +    return values;

values.release()

&gt; Source/WebCore/css/CSSParser.cpp:5273
&gt; +    if (!gridRowNames.length())

isEmpty is preferred over !length

&gt; Source/WebCore/css/CSSParser.cpp:5296
&gt; +        for (lookAheadColumn = currentColumn; lookAheadColumn &lt; (columnCount - 1); ++lookAheadColumn) {

Parentheses here don’t make the code clearer. I suggest omitting them.

&gt; Source/WebCore/css/CSSParser.h:50
&gt; +
&gt; +

Extra space here. Just one blank line will do.

&gt; Source/WebCore/css/CSSParser.h:77
&gt; +#if ENABLE(CSS_GRID_LAYOUT)
&gt; +class CSSGridLineNamesValue;
&gt; +#endif

Not really helpful to put forward declarations inside an #if. I suggest just declaring this unconditionally.

&gt; Source/WebCore/css/CSSParser.h:178
&gt; +    void parseGridLineNames(CSSParserValueList&amp;, CSSValueList&amp;, CSSGridLineNamesValue* = 0);

nullptr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004028</commentid>
    <comment_count>5</comment_count>
      <attachid>230158</attachid>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2014-04-25 03:14:19 -0700</bug_when>
    <thetext>Created attachment 230158
Applied suggested changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004030</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-25 03:19:05 -0700</bug_when>
    <thetext>Attachment 230158 did not pass style-queue:


ERROR: Source/WebCore/css/CSSParser.cpp:5265:  Wrong number of spaces before statement. (expected: 24)  [whitespace/indent] [4]
Total errors found: 1 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004034</commentid>
    <comment_count>7</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2014-04-25 03:32:38 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Attachment 230158 [details] did not pass style-queue:
&gt; 
&gt; 
&gt; ERROR: Source/WebCore/css/CSSParser.cpp:5265:  Wrong number of spaces before statement. (expected: 24)  [whitespace/indent] [4]
&gt; Total errors found: 1 in 12 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against check-webkit-style.

I think this issue is already addressed in bug #128751</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004057</commentid>
    <comment_count>8</comment_count>
      <attachid>230158</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-25 05:07:21 -0700</bug_when>
    <thetext>Comment on attachment 230158
Applied suggested changes.

Clearing flags on attachment: 230158

Committed r167799: &lt;http://trac.webkit.org/changeset/167799&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004058</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-25 05:07:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004085</commentid>
    <comment_count>10</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2014-04-25 07:05:30 -0700</bug_when>
    <thetext>This broke the Debug build. fixing it in bug #132194.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1004115</commentid>
    <comment_count>11</comment_count>
    <who name="Javier Fernandez">jfernandez</who>
    <bug_when>2014-04-25 09:44:49 -0700</bug_when>
    <thetext>This broke the Debug build. fixing it in bug #132197</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228512</attachid>
            <date>2014-04-03 09:28:13 -0700</date>
            <delta_ts>2014-04-25 03:14:08 -0700</delta_ts>
            <desc>Implementation of the grid-template shorthand.</desc>
            <filename>bug-128980-20140403182741.patch</filename>
            <type>text/plain</type>
            <size>59221</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2NzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M3Yzk4N2U5ZTVhNzU1
NDMzMTNkMDgxNzRiNWFhMmRkZmQxOTI0NS4uMTE2YTJiZDkzNzAxN2E0YjRjYjE1MTY1ZDgzMjE5
NDQxNjg3ODMxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDE0LTA0LTAzICBKYXZp
ZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIEltcGxlbWVudGF0aW9uIG9mIHRoZSBncmlkLXRlbXBsYXRlIHNob3J0aGFuZC4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODk4MAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgc2hv
cnRoYW5kIHNldHMgdGhlIHZhbHVlcyBmb3IgdGhlIGdyaWQtdGVtcGxhdGUtY29sdW1ucywKKyAg
ICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzIGFuZCBncmlkLXRlbXBsYXRlLWFyZWFzLCBzbyB0aGUg
aW1wbGVtZW50YXRpb24KKyAgICAgICAgdHJpZXMgdG8gcmV1c2UgYXMgbXVjaCBhdmFpbGFibGUg
cGFyc2luZyBmdW5jdGlvbnMgYXMgcG9zc2libGUuCisKKyAgICAgICAgVGhlICJwYXJzaW5nR3Jp
ZFRyYWNrTGlzdCIgd2FzIHJlZmFjdG9yZWQgdG8gcmV0dXJuIGEgQ1NTVmFsdWUgYW5kCisgICAg
ICAgIGxldCB0aGUgInBhcnNlVmFsdWUiIGZ1bmN0aW9uIHRvIGFzc2lnbiB0aGUgcHJvcGVydHkg
dmFsdWUuIFRoZQorICAgICAgICAiZm9yd2FyZFNsYXNoIiBvcGVyYXRvciBpcyBub3cgdmFsaWQg
d2hlbiB0aGUgdHJhY2stbGlzdCBjbGF1c2UgaXMKKyAgICAgICAgcGFydCBvZiBhIHNob3J0aGFu
ZC4gVGhlICJwYXJzZVZhbHVlIiBmdW5jdGlvbiBjaGVja291dHMgdGhhdCBvbmx5CisgICAgICAg
IGFkZGl0aW9uYWwgY2xhdXNlcyBhcmUgYWxsb3dlZCB3aGVuIHByb2Nlc3Npbmcgc2hvcnRoYW5k
czsgdGhlCisgICAgICAgIGdyaWQtY29sdW1ucy1yb3dzLWdldC1zZXQuaHRtbCB0ZXN0cyB3YXMg
bW9kaWZpZWQgdG8gdmVyaWZ5IHRoaXMuCisKKyAgICAgICAgVGhlICJwYXJzZUdyaWRUZW1wbGF0
ZUFyZWFzIiB3YXMgcmVmYWN0b3JlZCB0b28sIGluIG9yZGVyIHRvCisgICAgICAgIHByb2Nlc3Mg
c2luZ2xlIGFyZWFzJ3Mgcm93cy4gVGhpcyBpcyB2ZXJ5IHVzZWZ1bCBmb3IgdGhlCisgICAgICAg
IGdyaXMtdGVtcGxhdGUgc2Vjb25kYXJ5IHN5bnRheCwgd2hpY2ggbWl4ZXMgYXJlYXMgYW5kIHJv
d3MgdmFsdWVzLgorCisgICAgICAgIEZpbmFsbHksIHRoZSAicGFyc2VHaXJkTGluZU5hbWVzIiBm
dW5jdGlvbiB3YXMgbW9kaWZpZWQgYXMgd2VsbCBieQorICAgICAgICBkZWZpbmluZyBhbiBuZXcg
YXJndW1lbnQgdG8gY29uY2F0ZW5hdGUgaGVhZC90YWlsIGN1c3RvbS1pZGVudAorICAgICAgICBl
bGVtZW50cyBhbmQgZW5zdXJlIHRoZSBpZGVudExpc3QgaXMgYXQgdGhlIGhlYWRpbmcgaW5kZXgs
IHNpbmNlCisgICAgICAgIGl0J3Mgbm93IHBvc3NpYmxlIHRoZSBwYXJzZUxpc3Qgd2FzIHJld291
bmQuCisKKyAgICAgICAgVGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBncmlkLXRlbXBsYXRlIHNo
b3J0aGFuZCB0cmllcyBmaXJzdCB0bworICAgICAgICBtYXRjaCB0aGUgPGdyaWQtdGVtcGxhdGUt
Y29sdW1ucz4gLyA8Z3JpZC10ZW1wbGF0ZS1yb3dzPiBzeW50YXgsCisgICAgICAgIGZhaWxpbmcg
YmFjayB0byB0aGUgc2Vjb25kYXJ5IHN5bnRheCBpZiBuZWVkZWQuICBUaGlzIGFwcHJvYWNoCisg
ICAgICAgIHJlcXVpcmVzIHRvIHJld2luZCB0aGUgcGFyc2VMaXN0IGJ1dCBpdCBwcm9kdWNlcyBh
IGNsZWFyZXIgY29kZS4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlk
LXRlbXBsYXRlLXNob3J0aGFuZC1nZXQtc2V0Lmh0bWwKKworICAgICAgICAqIGNzcy9DU1NDb21w
dXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHls
ZUV4dHJhY3Rvcjo6cHJvcGVydHlWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTUGFyc2VyOjpwYXJzZUdyaWRUZW1wbGF0ZVJvd3NBbmRBcmVhcyk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlR3JpZFRlbXBsYXRlU2hvcnRoYW5kKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VHcmlkTGluZU5hbWVzKToKKyAgICAgICAgKFdl
YkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VHcmlkVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU1BhcnNlcjo6cGFyc2VHcmlkVGVtcGxhdGVBcmVhc1Jvdyk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NQYXJzZXI6OnBhcnNlR3JpZFRlbXBsYXRlQXJlYXMpOgorICAgICAgICAqIGNzcy9DU1NQ
YXJzZXIuaDoKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyVmFsdWVzLmg6CisgICAgICAgIChXZWJD
b3JlOjpDU1NQYXJzZXJWYWx1ZUxpc3Q6OnNldEN1cnJlbnRJbmRleCk6CisgICAgICAgICogY3Nz
L0NTU1Byb3BlcnR5TmFtZXMuaW46CisgICAgICAgICogY3NzL1N0eWxlUHJvcGVydHlTaG9ydGhh
bmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6d2Via2l0R3JpZFRlbXBsYXRlU2hvcnRoYW5kKToK
KyAgICAgICAgKiBjc3MvU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oOgorCiAyMDE0LTA0LTAzICBB
bnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5kZXJTbmFwc2hv
dHRlZFBsdWdJbjo6cGFpbnQgc2hvdWxkIHVzZSBpdGVyYXRvciBmb3IgdHJhdmVyc2FsLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApp
bmRleCBiYTNkNjEzOWU2MjljMTQzZGRhMDc4NzhjZDc0NDMzMGZhZTI1ZDVkLi5kMmM5ODdhZGNh
ZTg4ZDY0OTFiZTlhY2RiZjE1NzI5OGNmMjkzOTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMjA4Miw2ICsyMDgyLDgg
QEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6cHJvcGVydHlW
YWx1ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnQKICAgICAgICAgICAgIHJldHVybiB2YWx1ZUZvckdy
aWRQb3NpdGlvbihzdHlsZS0+Z3JpZEl0ZW1Sb3dFbmQoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJv
cGVydHlXZWJraXRHcmlkQXJlYToKICAgICAgICAgICAgIHJldHVybiBnZXRDU1NQcm9wZXJ0eVZh
bHVlc0ZvckdyaWRTaG9ydGhhbmQod2Via2l0R3JpZEFyZWFTaG9ydGhhbmQoKSk7CisgICAgICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGU6CisgICAgICAgICAgICByZXR1cm4g
Z2V0Q1NTUHJvcGVydHlWYWx1ZXNGb3JHcmlkU2hvcnRoYW5kKHdlYmtpdEdyaWRUZW1wbGF0ZVNo
b3J0aGFuZCgpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRDb2x1bW46CiAg
ICAgICAgICAgICByZXR1cm4gZ2V0Q1NTUHJvcGVydHlWYWx1ZXNGb3JHcmlkU2hvcnRoYW5kKHdl
YmtpdEdyaWRDb2x1bW5TaG9ydGhhbmQoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRHcmlkUm93OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCBkZjVlMzFkZmVlODkzNmJh
ZTE5N2I4ZjM4ZGRmODkyYmMxZGE3Y2MwLi4zN2MzODBlZDYzZTMxNmFlZjcxYWM1ZWVhM2YzZWZm
MWU5MjJkYjU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtOTUsNyArOTUsNiBAQAog
CiAjaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKICNpbmNsdWRlICJDU1NHcmlkTGluZU5hbWVz
VmFsdWUuaCIKLSNpbmNsdWRlICJDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmgiCiAjZW5kaWYK
IAogI2lmIEVOQUJMRShDU1NfSU1BR0VfU0VUKQpAQCAtMjU3NCw3ICsyNTczLDggQEAgYm9vbCBD
U1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50
KQogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVSb3dzOgogICAgICAgICBp
ZiAoIWNzc0dyaWRMYXlvdXRFbmFibGVkKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0g
ICAgICAgIHJldHVybiBwYXJzZUdyaWRUcmFja0xpc3QocHJvcElkLCBpbXBvcnRhbnQpOworICAg
ICAgICBwYXJzZWRWYWx1ZSA9IHBhcnNlR3JpZFRyYWNrTGlzdCgpOworICAgICAgICBicmVhazsK
IAogICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlkQ29sdW1uU3RhcnQ6CiAgICAgY2FzZSBD
U1NQcm9wZXJ0eVdlYmtpdEdyaWRDb2x1bW5FbmQ6CkBAIC0yNTk0LDYgKzI1OTQsMTEgQEAgYm9v
bCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0
YW50KQogICAgICAgICByZXR1cm4gcGFyc2VHcmlkSXRlbVBvc2l0aW9uU2hvcnRoYW5kKHByb3BJ
ZCwgaW1wb3J0YW50KTsKICAgICB9CiAKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0R3JpZFRl
bXBsYXRlOgorICAgICAgICBpZiAoIWNzc0dyaWRMYXlvdXRFbmFibGVkKCkpCisgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBwYXJzZUdyaWRUZW1wbGF0ZVNob3J0aGFu
ZChpbXBvcnRhbnQpOworCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRBcmVhOgogICAg
ICAgICBpZiAoIWNzc0dyaWRMYXlvdXRFbmFibGVkKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CkBAIC00Nzk3LDYgKzQ4MDIsMTEzIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUdyaWRJdGVt
UG9zaXRpb25TaG9ydGhhbmQoQ1NTUHJvcGVydHlJRCBzaG9ydGhhbmRJZCwgYm9vbCBpCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgQ1NTUGFyc2VyOjpwYXJzZUdyaWRUZW1wbGF0ZVJvd3NB
bmRBcmVhcyhQYXNzUmVmUHRyPENTU1ZhbHVlPiB0ZW1wbGF0ZUNvbHVtbnMsIGJvb2wgaW1wb3J0
YW50KQoreworICAgIE5hbWVkR3JpZEFyZWFNYXAgZ3JpZEFyZWFNYXA7CisgICAgc2l6ZV90IHJv
d0NvdW50ID0gMDsKKyAgICBzaXplX3QgY29sdW1uQ291bnQgPSAwOworICAgIGJvb2wgdHJhaWxp
bmdJZGVudFdhc0FkZGVkID0gZmFsc2U7CisgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gdGVtcGxh
dGVSb3dzID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgpOworCisgICAgLy8g
QXQgbGVhc3QgdGVtcGxhdGUtYXJlYXMgc3RyaW5ncyBtdXN0IGJlIGRlZmluZWQuCisgICAgaWYg
KCFtX3ZhbHVlTGlzdC0+Y3VycmVudCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICB3
aGlsZSAobV92YWx1ZUxpc3QtPmN1cnJlbnQoKSkgeworICAgICAgICAvLyBIYW5kbGUgbGVhZGlu
ZyA8Y3VzdG9tLWlkZW50PiouCisgICAgICAgIGlmIChtX3ZhbHVlTGlzdC0+Y3VycmVudCgpLT51
bml0ID09IENTU1BhcnNlclZhbHVlOjpWYWx1ZUxpc3QpIHsKKyAgICAgICAgICAgIGlmICh0cmFp
bGluZ0lkZW50V2FzQWRkZWQpIHsKKyAgICAgICAgICAgICAgICAvLyBBIHJvdydzIHRyYWlsaW5n
IGlkZW50IG11c3QgYmUgY29uY2F0ZW5hdGVkIHdpdGggdGhlIG5leHQgcm93J3MgbGVhZGluZyBv
bmUuCisgICAgICAgICAgICAgICAgcGFyc2VHcmlkTGluZU5hbWVzKCptX3ZhbHVlTGlzdCwgKnRl
bXBsYXRlUm93cywgc3RhdGljX2Nhc3Q8Q1NTR3JpZExpbmVOYW1lc1ZhbHVlKj4odGVtcGxhdGVS
b3dzLT5pdGVtKHRlbXBsYXRlUm93cy0+bGVuZ3RoKCkgLSAxKSkpOworICAgICAgICAgICAgfSBl
bHNlCisgICAgICAgICAgICAgICAgcGFyc2VHcmlkTGluZU5hbWVzKCptX3ZhbHVlTGlzdCwgKnRl
bXBsYXRlUm93cyk7CisgICAgICAgIH0KKworICAgICAgICAvLyBIYW5kbGUgYSB0ZW1wbGF0ZS1h
cmVhJ3Mgcm93LgorICAgICAgICBpZiAoIXBhcnNlR3JpZFRlbXBsYXRlQXJlYXNSb3coZ3JpZEFy
ZWFNYXAsIHJvd0NvdW50LCBjb2x1bW5Db3VudCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgICsrcm93Q291bnQ7CisKKyAgICAgICAgLy8gSGFuZGxlIHRlbXBsYXRlLXJvd3Mn
cyB0cmFjay1zaXplLgorICAgICAgICBpZiAobV92YWx1ZUxpc3QtPmN1cnJlbnQoKSAmJiBtX3Zh
bHVlTGlzdC0+Y3VycmVudCgpLT51bml0ICE9IENTU1BhcnNlclZhbHVlOjpWYWx1ZUxpc3QgJiYg
bV92YWx1ZUxpc3QtPmN1cnJlbnQoKS0+dW5pdCAhPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1NU
UklORykgeworICAgICAgICAgICAgUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZSA9IHBhcnNlR3JpZFRy
YWNrU2l6ZSgqbV92YWx1ZUxpc3QpOworICAgICAgICAgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB0ZW1wbGF0ZVJvd3MtPmFwcGVuZCh2
YWx1ZSk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgdGVtcGxhdGVSb3dzLT5hcHBlbmQo
Y3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlQXV0bykpOworCisg
ICAgICAgIC8vIFRoaXMgd2lsbCBoYW5kbGUgdGhlIHRyYWlsaW5nL2xlYWRpbmcgPGN1c3RvbS1p
ZGVudD4qIGluIHRoZSBncmFtbWFyLgorICAgICAgICB0cmFpbGluZ0lkZW50V2FzQWRkZWQgPSBm
YWxzZTsKKyAgICAgICAgaWYgKG1fdmFsdWVMaXN0LT5jdXJyZW50KCkgJiYgbV92YWx1ZUxpc3Qt
PmN1cnJlbnQoKS0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1ZTo6VmFsdWVMaXN0KSB7CisgICAgICAg
ICAgICBwYXJzZUdyaWRMaW5lTmFtZXMoKm1fdmFsdWVMaXN0LCAqdGVtcGxhdGVSb3dzKTsKKyAg
ICAgICAgICAgIHRyYWlsaW5nSWRlbnRXYXNBZGRlZCA9IHRydWU7CisgICAgICAgIH0KKyAgICB9
CisKKyAgICAvLyBbPHRyYWNrLWxpc3Q+IC9dPworICAgIGlmICh0ZW1wbGF0ZUNvbHVtbnMpCisg
ICAgICAgIGFkZFByb3BlcnR5KENTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlQ29sdW1ucywg
dGVtcGxhdGVDb2x1bW5zLCBpbXBvcnRhbnQpOworICAgIGVsc2UKKyAgICAgICAgYWRkUHJvcGVy
dHkoQ1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVDb2x1bW5zLCAgY3NzVmFsdWVQb29sKCku
Y3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9uZSksIGltcG9ydGFudCk7CisKKyAgICAv
LyBbPGxpbmUtbmFtZXM+PyA8c3RyaW5nPiBbPHRyYWNrLXNpemU+IDxsaW5lLW5hbWVzPl0/IF0r
CisgICAgUmVmUHRyPENTU1ZhbHVlPiB0ZW1wbGF0ZUFyZWFzID0gQ1NTR3JpZFRlbXBsYXRlQXJl
YXNWYWx1ZTo6Y3JlYXRlKGdyaWRBcmVhTWFwLCByb3dDb3VudCwgY29sdW1uQ291bnQpOworICAg
IGFkZFByb3BlcnR5KENTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlQXJlYXMsIHRlbXBsYXRl
QXJlYXMucmVsZWFzZSgpLCBpbXBvcnRhbnQpOworICAgIGFkZFByb3BlcnR5KENTU1Byb3BlcnR5
V2Via2l0R3JpZFRlbXBsYXRlUm93cywgdGVtcGxhdGVSb3dzLnJlbGVhc2UoKSwgaW1wb3J0YW50
KTsKKworICAgIHJldHVybiB0cnVlOworfQorCitib29sIENTU1BhcnNlcjo6cGFyc2VHcmlkVGVt
cGxhdGVTaG9ydGhhbmQoYm9vbCBpbXBvcnRhbnQpCit7CisgICAgQVNTRVJUKFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OmNzc0dyaWRMYXlvdXRFbmFibGVkKCkpOworCisgICAgU2hvcnRoYW5kU2Nv
cGUgc2NvcGUodGhpcywgQ1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGUpOworICAgIEFTU0VS
VChncmlkVGVtcGxhdGVTaG9ydGhhbmQoKS5sZW5ndGgoKSA9PSAzKTsKKworICAgIC8vIEF0IGxl
YXN0ICJub25lIiBtdXN0IGJlIGRlZmluZWQuCisgICAgaWYgKCFtX3ZhbHVlTGlzdC0+Y3VycmVu
dCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBib29sIGZpcnN0VmFsdWVJc05vbmUg
PSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpLT5pZCA9PSBDU1NWYWx1ZU5vbmU7CisKKyAgICAvLyAx
LSAnbm9uZScgY2FzZS4KKyAgICBpZiAoZmlyc3RWYWx1ZUlzTm9uZSAmJiAhbV92YWx1ZUxpc3Qt
Pm5leHQoKSkgeworICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1w
bGF0ZUNvbHVtbnMsIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1
ZU5vbmUpLCBpbXBvcnRhbnQpOworICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtp
dEdyaWRUZW1wbGF0ZVJvd3MsIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShD
U1NWYWx1ZU5vbmUpLCBpbXBvcnRhbnQpOworICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0
eVdlYmtpdEdyaWRUZW1wbGF0ZUFyZWFzLCBjc3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVy
VmFsdWUoQ1NTVmFsdWVOb25lKSwgaW1wb3J0YW50KTsKKyAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgfQorCisgICAgdW5zaWduZWQgaW5kZXggPSAwOworICAgIFJlZlB0cjxDU1NWYWx1ZT4gY29s
dW1uc1ZhbHVlID0gZmlyc3RWYWx1ZUlzTm9uZSA/IGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50
aWZpZXJWYWx1ZShDU1NWYWx1ZU5vbmUpIDogcGFyc2VHcmlkVHJhY2tMaXN0KCk7CisKKyAgICAv
LyAyLSA8Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zPiAvIDxncmlkLXRlbXBsYXRlLWNvbHVtbnM+IHN5
bnRheC4KKyAgICBpZiAoY29sdW1uc1ZhbHVlKSB7CisgICAgICAgIGlmICghKG1fdmFsdWVMaXN0
LT5jdXJyZW50KCkgJiYgaXNGb3J3YXJkU2xhc2hPcGVyYXRvcihtX3ZhbHVlTGlzdC0+Y3VycmVu
dCgpKSAmJiBtX3ZhbHVlTGlzdC0+bmV4dCgpKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgaW5kZXggPSBtX3ZhbHVlTGlzdC0+Y3VycmVudEluZGV4KCk7CisgICAgICAgIGlm
IChSZWZQdHI8Q1NTVmFsdWU+IHJvd3NWYWx1ZSA9IHBhcnNlR3JpZFRyYWNrTGlzdCgpKSB7Cisg
ICAgICAgICAgICBpZiAobV92YWx1ZUxpc3QtPmN1cnJlbnQoKSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgICAgICBhZGRQcm9wZXJ0eShDU1NQcm9wZXJ0eVdlYmtpdEdy
aWRUZW1wbGF0ZUNvbHVtbnMsIGNvbHVtbnNWYWx1ZSwgaW1wb3J0YW50KTsKKyAgICAgICAgICAg
IGFkZFByb3BlcnR5KENTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlUm93cywgcm93c1ZhbHVl
LCBpbXBvcnRhbnQpOworICAgICAgICAgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRH
cmlkVGVtcGxhdGVBcmVhcywgY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENT
U1ZhbHVlTm9uZSksIGltcG9ydGFudCk7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAg
ICAgfQorICAgIH0KKworCisgICAgLy8gMy0gWzx0cmFjay1saXN0PiAvXT8gWzxsaW5lLW5hbWVz
Pj8gPHN0cmluZz4gWzx0cmFjay1zaXplPiA8bGluZS1uYW1lcz5dPyBdKyBzeW50YXguCisgICAg
Ly8gVGhlIHRlbXBsYXRlLWNvbHVtbnMgPHRyYWNrLWxpc3Q+IGNhbid0IGJlICdub25lJy4KKyAg
ICBpZiAoZmlyc3RWYWx1ZUlzTm9uZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIC8vIEl0
IHJlcXVpcmVzIHRvIHJld2luZCBwYXJzaW5nIGR1ZSB0byBwcmV2aW91cyBzeW50YXggZmFpbHVy
ZXMuCisgICAgbV92YWx1ZUxpc3QtPnNldEN1cnJlbnRJbmRleChpbmRleCk7CisgICAgcmV0dXJu
IHBhcnNlR3JpZFRlbXBsYXRlUm93c0FuZEFyZWFzKGNvbHVtbnNWYWx1ZSwgaW1wb3J0YW50KTsK
K30KKwogYm9vbCBDU1NQYXJzZXI6OnBhcnNlR3JpZEFyZWFTaG9ydGhhbmQoYm9vbCBpbXBvcnRh
bnQpCiB7CiAgICAgQVNTRVJUKGNzc0dyaWRMYXlvdXRFbmFibGVkKCkpOwpAQCAtNDg1MSw3ICs0
OTYzLDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlU2luZ2xlR3JpZEFyZWFMb25naGFuZChSZWZQ
dHI8Q1NTVmFsdWU+JiBwcm9wZXJ0eSkKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotdm9pZCBDU1NQ
YXJzZXI6OnBhcnNlR3JpZExpbmVOYW1lcyhDU1NQYXJzZXJWYWx1ZUxpc3QmIGlucHV0TGlzdCwg
Q1NTVmFsdWVMaXN0JiB2YWx1ZUxpc3QpCit2b2lkIENTU1BhcnNlcjo6cGFyc2VHcmlkTGluZU5h
bWVzKENTU1BhcnNlclZhbHVlTGlzdCYgaW5wdXRMaXN0LCBDU1NWYWx1ZUxpc3QmIHZhbHVlTGlz
dCwgQ1NTR3JpZExpbmVOYW1lc1ZhbHVlKiBwcmV2aW91c05hbWVkQXJlYVRyYWlsaW5nTGluZU5h
bWVzKQogewogICAgIEFTU0VSVChpbnB1dExpc3QuY3VycmVudCgpICYmIGlucHV0TGlzdC5jdXJy
ZW50KCktPnVuaXQgPT0gQ1NTUGFyc2VyVmFsdWU6OlZhbHVlTGlzdCk7CiAKQEAgLTQ4NjEsMjYg
KzQ5NzMsMjcgQEAgdm9pZCBDU1NQYXJzZXI6OnBhcnNlR3JpZExpbmVOYW1lcyhDU1NQYXJzZXJW
YWx1ZUxpc3QmIGlucHV0TGlzdCwgQ1NTVmFsdWVMaXN0JgogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0gICAgUmVmUHRyPENTU0dyaWRMaW5lTmFtZXNWYWx1ZT4gbGluZU5hbWVzID0gQ1NTR3Jp
ZExpbmVOYW1lc1ZhbHVlOjpjcmVhdGUoKTsKKyAgICAvLyBOZWVkIHRvIGVuc3VyZSB0aGUgaWRl
bnRMaXN0IGlzIGF0IHRoZSBoZWFkaW5nIGluZGV4LCBzaW5jZSB0aGUgcGFyc2VyTGlzdCBtaWdo
dCBoYXZlIGJlZW4gcmV3b3VuZC4KKyAgICBpZGVudExpc3QtPnNldEN1cnJlbnRJbmRleCgwKTsK
KworICAgIFJlZlB0cjxDU1NHcmlkTGluZU5hbWVzVmFsdWU+IGxpbmVOYW1lcyA9IHByZXZpb3Vz
TmFtZWRBcmVhVHJhaWxpbmdMaW5lTmFtZXMgPyBwcmV2aW91c05hbWVkQXJlYVRyYWlsaW5nTGlu
ZU5hbWVzIDogQ1NTR3JpZExpbmVOYW1lc1ZhbHVlOjpjcmVhdGUoKTsKICAgICB3aGlsZSAoQ1NT
UGFyc2VyVmFsdWUqIGlkZW50VmFsdWUgPSBpZGVudExpc3QtPmN1cnJlbnQoKSkgewogICAgICAg
ICBBU1NFUlQoaWRlbnRWYWx1ZS0+dW5pdCA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX0lERU5U
KTsKICAgICAgICAgbGluZU5hbWVzLT5hcHBlbmQoY3JlYXRlUHJpbWl0aXZlU3RyaW5nVmFsdWUo
aWRlbnRWYWx1ZSkpOwogICAgICAgICBpZGVudExpc3QtPm5leHQoKTsKICAgICB9Ci0gICAgdmFs
dWVMaXN0LmFwcGVuZChsaW5lTmFtZXMucmVsZWFzZSgpKTsKKyAgICBpZiAoIXByZXZpb3VzTmFt
ZWRBcmVhVHJhaWxpbmdMaW5lTmFtZXMpCisgICAgICAgIHZhbHVlTGlzdC5hcHBlbmQobGluZU5h
bWVzLnJlbGVhc2UoKSk7CiAKICAgICBpbnB1dExpc3QubmV4dCgpOwogfQogCi1ib29sIENTU1Bh
cnNlcjo6cGFyc2VHcmlkVHJhY2tMaXN0KENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9y
dGFudCkKK1Bhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VHcmlkVHJhY2tMaXN0
KCkKIHsKICAgICBDU1NQYXJzZXJWYWx1ZSogdmFsdWUgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgp
OwogICAgIGlmICh2YWx1ZS0+aWQgPT0gQ1NTVmFsdWVOb25lKSB7Ci0gICAgICAgIGlmIChtX3Zh
bHVlTGlzdC0+bmV4dCgpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgICAgIGFk
ZFByb3BlcnR5KHByb3BJZCwgY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKHZh
bHVlLT5pZCksIGltcG9ydGFudCk7Ci0gICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBtX3Zh
bHVlTGlzdC0+bmV4dCgpOworICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRl
bnRpZmllclZhbHVlKENTU1ZhbHVlTm9uZSk7CiAgICAgfQogCiAgICAgUmVmUHRyPENTU1ZhbHVl
TGlzdD4gdmFsdWVzID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgpOwpAQCAt
NDg5MSwxMyArNTAwNCwxNSBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VHcmlkVHJhY2tMaXN0KENT
U1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKIAogICAgIGJvb2wgc2VlblRyYWNr
U2l6ZU9yUmVwZWF0RnVuY3Rpb24gPSBmYWxzZTsKICAgICB3aGlsZSAoQ1NTUGFyc2VyVmFsdWUq
IGN1cnJlbnRWYWx1ZSA9IG1fdmFsdWVMaXN0LT5jdXJyZW50KCkpIHsKKyAgICAgICAgaWYgKGlz
Rm9yd2FyZFNsYXNoT3BlcmF0b3IoY3VycmVudFZhbHVlKSkKKyAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICBpZiAoY3VycmVudFZhbHVlLT51bml0ID09IENTU1BhcnNlclZhbHVlOjpGdW5jdGlv
biAmJiBlcXVhbElnbm9yaW5nQ2FzZShjdXJyZW50VmFsdWUtPmZ1bmN0aW9uLT5uYW1lLCAicmVw
ZWF0KCIpKSB7CiAgICAgICAgICAgICBpZiAoIXBhcnNlR3JpZFRyYWNrUmVwZWF0RnVuY3Rpb24o
KnZhbHVlcykpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAg
IHJldHVybiBudWxscHRyOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgUmVmUHRyPENT
U1ZhbHVlPiB2YWx1ZSA9IHBhcnNlR3JpZFRyYWNrU2l6ZSgqbV92YWx1ZUxpc3QpOwogICAgICAg
ICAgICAgaWYgKCF2YWx1ZSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgICAgICAgICB2YWx1ZXMtPmFwcGVuZCh2YWx1
ZS5yZWxlYXNlKCkpOwogICAgICAgICB9CiAgICAgICAgIHNlZW5UcmFja1NpemVPclJlcGVhdEZ1
bmN0aW9uID0gdHJ1ZTsKQEAgLTQ5MDksMTAgKzUwMjQsOSBAQCBib29sIENTU1BhcnNlcjo6cGFy
c2VHcmlkVHJhY2tMaXN0KENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9ydGFudCkKICAg
ICB9CiAKICAgICBpZiAoIXNlZW5UcmFja1NpemVPclJlcGVhdEZ1bmN0aW9uKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgYWRkUHJvcGVydHko
cHJvcElkLCB2YWx1ZXMucmVsZWFzZSgpLCBpbXBvcnRhbnQpOwotICAgIHJldHVybiB0cnVlOwor
ICAgIHJldHVybiB2YWx1ZXM7CiB9CiAKIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUdyaWRUcmFja1Jl
cGVhdEZ1bmN0aW9uKENTU1ZhbHVlTGlzdCYgbGlzdCkKQEAgLTUxNDksNzMgKzUyNjMsNzkgQEAg
Ym9vbCBDU1NQYXJzZXI6OnBhcnNlRGFzaGJvYXJkUmVnaW9ucyhDU1NQcm9wZXJ0eUlEIHByb3BJ
ZCwgYm9vbCBpbXBvcnRhbnQpCiAjZW5kaWYgLyogRU5BQkxFKERBU0hCT0FSRF9TVVBQT1JUKSAq
LwogCiAjaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKLVBhc3NSZWZQdHI8Q1NTVmFsdWU+IENT
U1BhcnNlcjo6cGFyc2VHcmlkVGVtcGxhdGVBcmVhcygpCitib29sIENTU1BhcnNlcjo6cGFyc2VH
cmlkVGVtcGxhdGVBcmVhc1JvdyhOYW1lZEdyaWRBcmVhTWFwJiBncmlkQXJlYU1hcCwgY29uc3Qg
c2l6ZV90IHJvd0NvdW50LCBzaXplX3QmIGNvbHVtbkNvdW50KQogewotICAgIE5hbWVkR3JpZEFy
ZWFNYXAgZ3JpZEFyZWFNYXA7Ci0gICAgc2l6ZV90IHJvd0NvdW50ID0gMDsKLSAgICBzaXplX3Qg
Y29sdW1uQ291bnQgPSAwOworICAgIENTU1BhcnNlclZhbHVlKiBjdXJyZW50VmFsdWUgPSBtX3Zh
bHVlTGlzdC0+Y3VycmVudCgpOworICAgIGlmICghY3VycmVudFZhbHVlIHx8IGN1cnJlbnRWYWx1
ZS0+dW5pdCAhPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1NUUklORykKKyAgICAgICAgcmV0dXJu
IGZhbHNlOwogCi0gICAgd2hpbGUgKENTU1BhcnNlclZhbHVlKiBjdXJyZW50VmFsdWUgPSBtX3Zh
bHVlTGlzdC0+Y3VycmVudCgpKSB7Ci0gICAgICAgIGlmIChjdXJyZW50VmFsdWUtPnVuaXQgIT0g
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19TVFJJTkcpCi0gICAgICAgICAgICByZXR1cm4gMDsKKyAg
ICBTdHJpbmcgZ3JpZFJvd05hbWVzID0gY3VycmVudFZhbHVlLT5zdHJpbmc7CisgICAgaWYgKCFn
cmlkUm93TmFtZXMubGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICBT
dHJpbmcgZ3JpZFJvd05hbWVzID0gY3VycmVudFZhbHVlLT5zdHJpbmc7Ci0gICAgICAgIGlmICgh
Z3JpZFJvd05hbWVzLmxlbmd0aCgpKQotICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgVmVjdG9y
PFN0cmluZz4gY29sdW1uTmFtZXM7CisgICAgZ3JpZFJvd05hbWVzLnNwbGl0KCcgJywgY29sdW1u
TmFtZXMpOwogCi0gICAgICAgIFZlY3RvcjxTdHJpbmc+IGNvbHVtbk5hbWVzOwotICAgICAgICBn
cmlkUm93TmFtZXMuc3BsaXQoJyAnLCBjb2x1bW5OYW1lcyk7CisgICAgaWYgKCFjb2x1bW5Db3Vu
dCkgeworICAgICAgICBjb2x1bW5Db3VudCA9IGNvbHVtbk5hbWVzLnNpemUoKTsKKyAgICAgICAg
QVNTRVJUKGNvbHVtbkNvdW50KTsKKyAgICB9IGVsc2UgaWYgKGNvbHVtbkNvdW50ICE9IGNvbHVt
bk5hbWVzLnNpemUoKSkgeworICAgICAgICAvLyBUaGUgZGVjbGFyYXRpb24gaXMgaW52YWxpZCBp
cyBhbGwgdGhlIHJvd3MgZG9uJ3QgaGF2ZSB0aGUgbnVtYmVyIG9mIGNvbHVtbnMuCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICB9CiAKLSAgICAgICAgaWYgKGNvbHVtbkNvdW50ICYmIChjb2x1
bW5Db3VudCAhPSBjb2x1bW5OYW1lcy5zaXplKCkpKSB7Ci0gICAgICAgICAgICAvLyBUaGUgZGVj
bGFyYXRpb24gaXMgaW52YWxpZCBpZiBhbGwgdGhlIHJvd3MgZG9uJ3QgaGF2ZSB0aGUgbnVtYmVy
IG9mIGNvbHVtbnMuCi0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgfQorICAgIGZvciAo
c2l6ZV90IGN1cnJlbnRDb2x1bW4gPSAwOyBjdXJyZW50Q29sdW1uIDwgY29sdW1uQ291bnQ7ICsr
Y3VycmVudENvbHVtbikgeworICAgICAgICBjb25zdCBTdHJpbmcmIGdyaWRBcmVhTmFtZSA9IGNv
bHVtbk5hbWVzW2N1cnJlbnRDb2x1bW5dOwogCi0gICAgICAgIGlmICghY29sdW1uQ291bnQpIHsK
LSAgICAgICAgICAgIGNvbHVtbkNvdW50ID0gY29sdW1uTmFtZXMuc2l6ZSgpOwotICAgICAgICAg
ICAgQVNTRVJUKGNvbHVtbkNvdW50KTsKLSAgICAgICAgfQorICAgICAgICAvLyBVbmFtZWQgYXJl
YXMgYXJlIGFsd2F5cyB2YWxpZCAod2UgY29uc2lkZXIgdGhlbSB0byBiZSAxeDEpLgorICAgICAg
ICBpZiAoZ3JpZEFyZWFOYW1lID09ICIuIikKKyAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAg
ICAgIGZvciAoc2l6ZV90IGN1cnJlbnRDb2x1bW4gPSAwOyBjdXJyZW50Q29sdW1uIDwgY29sdW1u
Q291bnQ7ICsrY3VycmVudENvbHVtbikgewotICAgICAgICAgICAgY29uc3QgU3RyaW5nJiBncmlk
QXJlYU5hbWUgPSBjb2x1bW5OYW1lc1tjdXJyZW50Q29sdW1uXTsKKyAgICAgICAgLy8gV2UgaGFu
ZGxlIHNldmVyYWwgZ3JpZCBhcmVhcyB3aXRoIHRoZSBzYW1lIG5hbWUgYXQgb25jZSB0byBzaW1w
bGlmeSB0aGUgdmFsaWRhdGlvbiBjb2RlLgorICAgICAgICBzaXplX3QgbG9va0FoZWFkQ29sdW1u
OworICAgICAgICBmb3IgKGxvb2tBaGVhZENvbHVtbiA9IGN1cnJlbnRDb2x1bW47IGxvb2tBaGVh
ZENvbHVtbiA8IChjb2x1bW5Db3VudCAtIDEpOyArK2xvb2tBaGVhZENvbHVtbikgeworICAgICAg
ICAgICAgaWYgKGNvbHVtbk5hbWVzW2xvb2tBaGVhZENvbHVtbiArIDFdICE9IGdyaWRBcmVhTmFt
ZSkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogCi0gICAgICAgICAgICAvLyBV
bmFtZWQgYXJlYXMgYXJlIGFsd2F5cyB2YWxpZCAod2UgY29uc2lkZXIgdGhlbSB0byBiZSAxeDEp
LgotICAgICAgICAgICAgaWYgKGdyaWRBcmVhTmFtZSA9PSAiLiIpCi0gICAgICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgIGF1dG8gZ3JpZEFyZWFJdGVyYXRvciA9IGdyaWRBcmVhTWFwLmZp
bmQoZ3JpZEFyZWFOYW1lKTsKKyAgICAgICAgaWYgKGdyaWRBcmVhSXRlcmF0b3IgPT0gZ3JpZEFy
ZWFNYXAuZW5kKCkpCisgICAgICAgICAgICBncmlkQXJlYU1hcC5hZGQoZ3JpZEFyZWFOYW1lLCBH
cmlkQ29vcmRpbmF0ZShHcmlkU3Bhbihyb3dDb3VudCwgcm93Q291bnQpLCBHcmlkU3BhbihjdXJy
ZW50Q29sdW1uLCBsb29rQWhlYWRDb2x1bW4pKSk7CisgICAgICAgIGVsc2UgeworICAgICAgICAg
ICAgR3JpZENvb3JkaW5hdGUmIGdyaWRDb29yZGluYXRlID0gZ3JpZEFyZWFJdGVyYXRvci0+dmFs
dWU7CiAKLSAgICAgICAgICAgIC8vIFdlIGhhbmRsZSBzZXZlcmFsIGdyaWQgYXJlYXMgd2l0aCB0
aGUgc2FtZSBuYW1lIGF0IG9uY2UgdG8gc2ltcGxpZnkgdGhlIHZhbGlkYXRpb24gY29kZS4KLSAg
ICAgICAgICAgIHNpemVfdCBsb29rQWhlYWRDb2x1bW47Ci0gICAgICAgICAgICBmb3IgKGxvb2tB
aGVhZENvbHVtbiA9IGN1cnJlbnRDb2x1bW47IGxvb2tBaGVhZENvbHVtbiA8IChjb2x1bW5Db3Vu
dCAtIDEpOyArK2xvb2tBaGVhZENvbHVtbikgewotICAgICAgICAgICAgICAgIGlmIChjb2x1bW5O
YW1lc1tsb29rQWhlYWRDb2x1bW4gKyAxXSAhPSBncmlkQXJlYU5hbWUpCi0gICAgICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQorICAgICAgICAgICAgLy8gVGhlIGZvbGxvd2lu
ZyBjaGVja3MgdGVzdCB0aGF0IHRoZSBncmlkIGFyZWEgaXMgYSBzaW5nbGUgZmlsbGVkLWluIHJl
Y3RhbmdsZS4KKyAgICAgICAgICAgIC8vIDEuIFRoZSBuZXcgcm93IGlzIGFkamFjZW50IHRvIHRo
ZSBwcmV2aW91c2x5IHBhcnNlZCByb3cuCisgICAgICAgICAgICBpZiAocm93Q291bnQgIT0gZ3Jp
ZENvb3JkaW5hdGUucm93cy5maW5hbFBvc2l0aW9uSW5kZXggKyAxKQorICAgICAgICAgICAgICAg
IHJldHVybiAwOwogCi0gICAgICAgICAgICBhdXRvIGdyaWRBcmVhSXRlcmF0b3IgPSBncmlkQXJl
YU1hcC5maW5kKGdyaWRBcmVhTmFtZSk7Ci0gICAgICAgICAgICBpZiAoZ3JpZEFyZWFJdGVyYXRv
ciA9PSBncmlkQXJlYU1hcC5lbmQoKSkKLSAgICAgICAgICAgICAgICBncmlkQXJlYU1hcC5hZGQo
Z3JpZEFyZWFOYW1lLCBHcmlkQ29vcmRpbmF0ZShHcmlkU3Bhbihyb3dDb3VudCwgcm93Q291bnQp
LCBHcmlkU3BhbihjdXJyZW50Q29sdW1uLCBsb29rQWhlYWRDb2x1bW4pKSk7Ci0gICAgICAgICAg
ICBlbHNlIHsKLSAgICAgICAgICAgICAgICBHcmlkQ29vcmRpbmF0ZSYgZ3JpZENvb3JkaW5hdGUg
PSBncmlkQXJlYUl0ZXJhdG9yLT52YWx1ZTsKKyAgICAgICAgICAgIC8vIDIuIFRoZSBuZXcgYXJl
YSBzdGFydHMgYXQgdGhlIHNhbWUgcG9zaXRpb24gYXMgdGhlIHByZXZpb3VzbHkgcGFyc2VkIGFy
ZWEuCisgICAgICAgICAgICBpZiAoY3VycmVudENvbHVtbiAhPSBncmlkQ29vcmRpbmF0ZS5jb2x1
bW5zLmluaXRpYWxQb3NpdGlvbkluZGV4KQorICAgICAgICAgICAgICAgIHJldHVybiAwOwogCi0g
ICAgICAgICAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBjaGVja3MgdGVzdCB0aGF0IHRoZSBncmlk
IGFyZWEgaXMgYSBzaW5nbGUgZmlsbGVkLWluIHJlY3RhbmdsZS4KLSAgICAgICAgICAgICAgICAv
LyAxLiBUaGUgbmV3IHJvdyBpcyBhZGphY2VudCB0byB0aGUgcHJldmlvdXNseSBwYXJzZWQgcm93
LgotICAgICAgICAgICAgICAgIGlmIChyb3dDb3VudCAhPSBncmlkQ29vcmRpbmF0ZS5yb3dzLmZp
bmFsUG9zaXRpb25JbmRleCArIDEpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiAwOworICAg
ICAgICAgICAgLy8gMy4gVGhlIG5ldyBhcmVhIGVuZHMgYXQgdGhlIHNhbWUgcG9zaXRpb24gYXMg
dGhlIHByZXZpb3VzbHkgcGFyc2VkIGFyZWEuCisgICAgICAgICAgICBpZiAobG9va0FoZWFkQ29s
dW1uICE9IGdyaWRDb29yZGluYXRlLmNvbHVtbnMuZmluYWxQb3NpdGlvbkluZGV4KQorICAgICAg
ICAgICAgICAgIHJldHVybiAwOwogCi0gICAgICAgICAgICAgICAgLy8gMi4gVGhlIG5ldyBhcmVh
IHN0YXJ0cyBhdCB0aGUgc2FtZSBwb3NpdGlvbiBhcyB0aGUgcHJldmlvdXNseSBwYXJzZWQgYXJl
YS4KLSAgICAgICAgICAgICAgICBpZiAoY3VycmVudENvbHVtbiAhPSBncmlkQ29vcmRpbmF0ZS5j
b2x1bW5zLmluaXRpYWxQb3NpdGlvbkluZGV4KQotICAgICAgICAgICAgICAgICAgICByZXR1cm4g
MDsKKyAgICAgICAgICAgICsrZ3JpZENvb3JkaW5hdGUucm93cy5maW5hbFBvc2l0aW9uSW5kZXg7
CisgICAgICAgIH0KKyAgICAgICAgY3VycmVudENvbHVtbiA9IGxvb2tBaGVhZENvbHVtbjsKKyAg
ICB9CiAKLSAgICAgICAgICAgICAgICAvLyAzLiBUaGUgbmV3IGFyZWEgZW5kcyBhdCB0aGUgc2Ft
ZSBwb3NpdGlvbiBhcyB0aGUgcHJldmlvdXNseSBwYXJzZWQgYXJlYS4KLSAgICAgICAgICAgICAg
ICBpZiAobG9va0FoZWFkQ29sdW1uICE9IGdyaWRDb29yZGluYXRlLmNvbHVtbnMuZmluYWxQb3Np
dGlvbkluZGV4KQotICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICBtX3ZhbHVlTGlz
dC0+bmV4dCgpOworICAgIHJldHVybiB0cnVlOworfQogCi0gICAgICAgICAgICAgICAgKytncmlk
Q29vcmRpbmF0ZS5yb3dzLmZpbmFsUG9zaXRpb25JbmRleDsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIGN1cnJlbnRDb2x1bW4gPSBsb29rQWhlYWRDb2x1bW47Ci0gICAgICAgIH0KK1Bhc3NS
ZWZQdHI8Q1NTVmFsdWU+IENTU1BhcnNlcjo6cGFyc2VHcmlkVGVtcGxhdGVBcmVhcygpCit7Cisg
ICAgTmFtZWRHcmlkQXJlYU1hcCBncmlkQXJlYU1hcDsKKyAgICBzaXplX3Qgcm93Q291bnQgPSAw
OworICAgIHNpemVfdCBjb2x1bW5Db3VudCA9IDA7CiAKKyAgICB3aGlsZSAobV92YWx1ZUxpc3Qt
PmN1cnJlbnQoKSkgeworICAgICAgICBpZiAoIXBhcnNlR3JpZFRlbXBsYXRlQXJlYXNSb3coZ3Jp
ZEFyZWFNYXAsIHJvd0NvdW50LCBjb2x1bW5Db3VudCkpCisgICAgICAgICAgICByZXR1cm4gMDsK
ICAgICAgICAgKytyb3dDb3VudDsKLSAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQoKTsKICAgICB9
CiAKICAgICBpZiAoIXJvd0NvdW50IHx8ICFjb2x1bW5Db3VudCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
aAppbmRleCA4NDA1OGFjY2ZmYjUwMzk4MjA5MGUyYTIzOGQyMGE5ZGZiNzQxODlhLi43Mjc2ZmU3
YzA5YTYyODA3OTRjZjljNjQzMGE4YmE1MzlkZGYwOTc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5o
CkBAIC00Myw2ICs0MywxMSBAQAogI2luY2x1ZGUgIldlYktpdENTU0ZpbHRlclZhbHVlLmgiCiAj
ZW5kaWYKIAorI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCisjaW5jbHVkZSAiQ1NTR3JpZFRl
bXBsYXRlQXJlYXNWYWx1ZS5oIgorI2VuZGlmCisKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBBbmltYXRpb25QYXJzZUNvbnRleHQ7CkBAIC02Nyw2ICs3MiwxMCBAQCBjbGFzcyBTdHls
ZUtleWZyYW1lOwogY2xhc3MgU3R5bGVTaGVldENvbnRlbnRzOwogY2xhc3MgU3R5bGVkRWxlbWVu
dDsKIAorI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCitjbGFzcyBDU1NHcmlkTGluZU5hbWVz
VmFsdWU7CisjZW5kaWYKKwogY2xhc3MgQ1NTUGFyc2VyIHsKICAgICBmcmllbmQgaW5saW5lIGlu
dCBjc3N5eWxleCh2b2lkKiwgQ1NTUGFyc2VyKik7CiAKQEAgLTE1NiwxNCArMTY1LDE3IEBAIHB1
YmxpYzoKICAgICBib29sIGNzc0dyaWRMYXlvdXRFbmFibGVkKCkgY29uc3Q7CiAgICAgUGFzc1Jl
ZlB0cjxDU1NWYWx1ZT4gcGFyc2VHcmlkUG9zaXRpb24oKTsKICAgICBib29sIHBhcnNlR3JpZEl0
ZW1Qb3NpdGlvblNob3J0aGFuZChDU1NQcm9wZXJ0eUlELCBib29sIGltcG9ydGFudCk7CisgICAg
Ym9vbCBwYXJzZUdyaWRUZW1wbGF0ZVJvd3NBbmRBcmVhcyhQYXNzUmVmUHRyPENTU1ZhbHVlPiwg
Ym9vbCBpbXBvcnRhbnQpOworICAgIGJvb2wgcGFyc2VHcmlkVGVtcGxhdGVTaG9ydGhhbmQoYm9v
bCBpbXBvcnRhbnQpOwogICAgIGJvb2wgcGFyc2VHcmlkQXJlYVNob3J0aGFuZChib29sIGltcG9y
dGFudCk7CiAgICAgYm9vbCBwYXJzZVNpbmdsZUdyaWRBcmVhTG9uZ2hhbmQoUmVmUHRyPENTU1Zh
bHVlPiYpOwotICAgIGJvb2wgcGFyc2VHcmlkVHJhY2tMaXN0KENTU1Byb3BlcnR5SUQsIGJvb2wg
aW1wb3J0YW50KTsKKyAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBwYXJzZUdyaWRUcmFja0xpc3Qo
KTsKICAgICBib29sIHBhcnNlR3JpZFRyYWNrUmVwZWF0RnVuY3Rpb24oQ1NTVmFsdWVMaXN0Jik7
CiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gcGFyc2VHcmlkVHJhY2tTaXplKENTU1BhcnNlclZh
bHVlTGlzdCYgaW5wdXRMaXN0KTsKICAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBw
YXJzZUdyaWRCcmVhZHRoKENTU1BhcnNlclZhbHVlKik7CisgICAgYm9vbCBwYXJzZUdyaWRUZW1w
bGF0ZUFyZWFzUm93KE5hbWVkR3JpZEFyZWFNYXAmLCBjb25zdCBzaXplX3QsIHNpemVfdCYpOwog
ICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHBhcnNlR3JpZFRlbXBsYXRlQXJlYXMoKTsKLSAgICB2
b2lkIHBhcnNlR3JpZExpbmVOYW1lcyhDU1NQYXJzZXJWYWx1ZUxpc3QmLCBDU1NWYWx1ZUxpc3Qm
KTsKKyAgICB2b2lkIHBhcnNlR3JpZExpbmVOYW1lcyhDU1NQYXJzZXJWYWx1ZUxpc3QmLCBDU1NW
YWx1ZUxpc3QmLCBDU1NHcmlkTGluZU5hbWVzVmFsdWUqID0gMCk7CiAjZW5kaWYKIAogICAgIGJv
b2wgcGFyc2VEYXNoYm9hcmRSZWdpb25zKENTU1Byb3BlcnR5SUQsIGJvb2wgaW1wb3J0YW50KTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaAppbmRleCA0OTZkYzI3MGI3YzhlMDJhNTk2
YmRhNGZjYWNmMTcwZGQ0MWM0YmU1Li4zMzMyMTNjNDA0OWU4ZGQ4YzdkNmJhY2RjYjI0ZWJkNjlk
OWFmNjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyVmFsdWVzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVlcy5oCkBAIC0xNTUsNiArMTU1
LDEyIEBAIHB1YmxpYzoKICAgICAgICAgLS1tX2N1cnJlbnQ7CiAgICAgICAgIHJldHVybiBjdXJy
ZW50KCk7CiAgICAgfQorICAgIHZvaWQgc2V0Q3VycmVudEluZGV4KHVuc2lnbmVkIGluZGV4KQor
ICAgIHsKKyAgICAgICAgQVNTRVJUKGluZGV4IDwgbV92YWx1ZXMuc2l6ZSgpKTsKKyAgICAgICAg
aWYgKGluZGV4IDwgbV92YWx1ZXMuc2l6ZSgpKQorICAgICAgICAgICAgbV9jdXJyZW50ID0gaW5k
ZXg7CisgICAgfQogCiAgICAgQ1NTUGFyc2VyVmFsdWUqIHZhbHVlQXQodW5zaWduZWQgaSkgeyBy
ZXR1cm4gaSA8IG1fdmFsdWVzLnNpemUoKSA/ICZtX3ZhbHVlc1tpXSA6IDA7IH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4gYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgppbmRleCA1ODMwMjQxODVjMmM5YzcyYjQxYzcz
Y2ZiYTRhY2M4NTVlMzk4MThlLi5jMjgxYTc5YTNlOGRmZWRlYjc4YTY3NzkyOWQ1ZWNkODE4ZmQx
Y2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgpAQCAtMzEwLDYgKzMx
MCw3IEBAIHotaW5kZXgKIC13ZWJraXQtZ3JpZC1hdXRvLXJvd3MKIC13ZWJraXQtZ3JpZC1jb2x1
bW4tZW5kCiAtd2Via2l0LWdyaWQtY29sdW1uLXN0YXJ0Cistd2Via2l0LWdyaWQtdGVtcGxhdGUK
IC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zCiAtd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93
cwogLXdlYmtpdC1ncmlkLXJvdy1lbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVByb3BlcnR5U2hvcnRoYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3Bl
cnR5U2hvcnRoYW5kLmNwcAppbmRleCA5NjcwMmJkZTRjNjVjMjc3NmFhMGJkODA4MzkzZGY4MTlh
ODBlZTk5Li4xZjgyMjhjZThmYWEwNjU5ODdhODlmYzBjYTkyNmEwNDIzMTA1MjU1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTaG9ydGhhbmQuY3BwCkBAIC0zNTIsNiAr
MzUyLDE2IEBAIFN0eWxlUHJvcGVydHlTaG9ydGhhbmQgd2Via2l0TWFyZ2luQ29sbGFwc2VTaG9y
dGhhbmQoKQogfQogCiAjaWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKK1N0eWxlUHJvcGVydHlT
aG9ydGhhbmQgd2Via2l0R3JpZFRlbXBsYXRlU2hvcnRoYW5kKCkKK3sKKyAgICBzdGF0aWMgY29u
c3QgQ1NTUHJvcGVydHlJRCB3ZWJraXRHcmlkVGVtcGxhdGVQcm9wZXJ0aWVzW10gPSB7CisgICAg
ICAgIENTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlQ29sdW1ucywKKyAgICAgICAgQ1NTUHJv
cGVydHlXZWJraXRHcmlkVGVtcGxhdGVSb3dzLAorICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdEdy
aWRUZW1wbGF0ZUFyZWFzCisgICAgfTsKKyAgICByZXR1cm4gU3R5bGVQcm9wZXJ0eVNob3J0aGFu
ZChDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZSwgd2Via2l0R3JpZFRlbXBsYXRlUHJvcGVy
dGllcywgV1RGX0FSUkFZX0xFTkdUSCh3ZWJraXRHcmlkVGVtcGxhdGVQcm9wZXJ0aWVzKSk7Cit9
CisKIFN0eWxlUHJvcGVydHlTaG9ydGhhbmQgd2Via2l0R3JpZEFyZWFTaG9ydGhhbmQoKQogewog
ICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIHdlYmtpdEdyaWRBcmVhUHJvcGVydGllc1td
ID0gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTaG9ydGhh
bmQuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnR5U2hvcnRoYW5kLmgKaW5kZXgg
NmYyMjZkNzRkMzMyY2MzOGM3YWU0YWI3OGJkNGFhNTFhNTQwODdiZC4uZTJiNmI4NDE1MTBmOTYy
NWYyMzllYTFkOGQyNzY3OTcwMjIyY2EwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUHJvcGVydHlTaG9ydGhhbmQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQ
cm9wZXJ0eVNob3J0aGFuZC5oCkBAIC05OSw2ICs5OSw3IEBAIFN0eWxlUHJvcGVydHlTaG9ydGhh
bmQgd2Via2l0Q29sdW1uc1Nob3J0aGFuZCgpOwogU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCB3ZWJr
aXRDb2x1bW5SdWxlU2hvcnRoYW5kKCk7CiBTdHlsZVByb3BlcnR5U2hvcnRoYW5kIHdlYmtpdEZs
ZXhGbG93U2hvcnRoYW5kKCk7CiBTdHlsZVByb3BlcnR5U2hvcnRoYW5kIHdlYmtpdEZsZXhTaG9y
dGhhbmQoKTsKK1N0eWxlUHJvcGVydHlTaG9ydGhhbmQgd2Via2l0R3JpZFRlbXBsYXRlU2hvcnRo
YW5kKCk7CiBTdHlsZVByb3BlcnR5U2hvcnRoYW5kIHdlYmtpdEdyaWRBcmVhU2hvcnRoYW5kKCk7
CiBTdHlsZVByb3BlcnR5U2hvcnRoYW5kIHdlYmtpdEdyaWRDb2x1bW5TaG9ydGhhbmQoKTsKIFN0
eWxlUHJvcGVydHlTaG9ydGhhbmQgd2Via2l0R3JpZFJvd1Nob3J0aGFuZCgpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDBi
OWY1YzViM2Y5ZDk1N2I2MGZkMmMwNjFjODdjMzE1NTZkYjY1YjEuLjRiMmUwM2MxYTYyODU5OTFi
ZTcyMGZhYTE2YWY1YTg1MzFhMDQ2ZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxNC0wNC0w
MyAgSmF2aWVyIEZlcm5hbmRleiAgPGpmZXJuYW5kZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBb
Q1NTIEdyaWQgTGF5b3V0XSBJbXBsZW1lbnRhdGlvbiBvZiB0aGUgZ3JpZC10ZW1wbGF0ZSBzaG9y
dGhhbmQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
Mjg5ODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBM
YXlvdXQgVGVzdCBmb3IgdGhlIGJhc2ljIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIGdyaWQtdGVtcGxh
dGUgc2hvcnRoYW5kLiBJdCB3YXMKKyAgICAgICAgYWxzbyBhZGRlZCBhIG5ldyBqYXZhc2NyaXB0
IGZpbGUgd2l0aCBzb21lIHV0aWxpdHkgZnVuY3Rpb25zLgorCisgICAgICAgIFRoaXMgc2hvcnRo
YW5kIHNldHMgdGhlIHZhbHVlcyBmb3IgdGhlIGdyaWQtdGVtcGxhdGUtY29sdW1ucywKKyAgICAg
ICAgZ3JpZC10ZW1wbGF0ZS1yb3dzIGFuZCBncmlkLXRlbXBsYXRlLWFyZWFzLCBzbyB0aGUgaW1w
bGVtZW50YXRpb24KKyAgICAgICAgdHJpZXMgdG8gcmV1c2UgYXMgbXVjaCBhdmFpbGFibGUgcGFy
c2luZyBmdW5jdGlvbnMgYXMgcG9zc2libGUuCisKKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxh
eW91dC9ncmlkLXRlbXBsYXRlLXNob3J0aGFuZC1nZXQtc2V0LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC10ZW1wbGF0ZS1zaG9ydGhhbmQt
Z2V0LXNldC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91dC9yZXNv
dXJjZXMvZ3JpZC10ZW1wbGF0ZS1zaG9ydGhhbmQtcGFyc2luZy11dGlscy5qczogQWRkZWQuCisg
ICAgICAgICh0ZXN0R3JpZERlZmluaXRpb25zVmFsdWVzKToKKyAgICAgICAgKHRlc3RHcmlkRGVm
aW5pdGlvbnNTZXRKU1ZhbHVlcyk6CisgICAgICAgICh0ZXN0Tm9uR3JpZERlZmluaXRpb25zU2V0
SlNWYWx1ZXMpOgorICAgICAgICAoY2hlY2tHcmlkRGVmaW5pdGlvbnNTZXRKU1ZhbHVlcyk6Cisg
ICAgICAgICh0ZXN0R3JpZERlZmluaXRpb25zU2V0QmFkSlNWYWx1ZXMpOgorCiAyMDE0LTAzLTI3
ICBTZXJnaW8gVmlsbGFyIFNlbmluICA8c3ZpbGxhckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtD
U1MgR3JpZCBMYXlvdXRdIDxzdHJpbmc+IG5vdCBhbGxvd2VkIGluIGdyaWQte2FyZWEgfCByb3cg
fCBjb2x1bW59IHN5bnRheApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1s
YXlvdXQvZ3JpZC10ZW1wbGF0ZS1zaG9ydGhhbmQtZ2V0LXNldC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXRlbXBsYXRlLXNob3J0aGFuZC1nZXQt
c2V0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZDAzZWUyNjQ1ZjlkYTI3MWMzY2JlNTlmMDI2
N2RjZTEyMWUyMjQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3Jp
ZC1sYXlvdXQvZ3JpZC10ZW1wbGF0ZS1zaG9ydGhhbmQtZ2V0LXNldC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxNzAgQEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCB0aGUgJ2dyaWQtdGVtcGxhdGUn
IHNob3J0aGFuZCBpcyBwcm9wZXJseSBwYXJzZWQgYW5kIHRoZSBsb25naGFuZCBwcm9wZXJ0aWVz
IGNvcnJlY3RseSBhc3NpZ25lZC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1Rl
c3QgZ2V0dGluZyBncmlkLXRlbXBsYXRlLWFyZWFzIHNldCB0aHJvdWdoIENTUy4KK1BBU1Mgd2lu
ZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlV2l0aE5vbmUsICcnKS5nZXRQcm9wZXJ0
eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1ucycpIGlzICJub25lIgorUEFTUyB3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVXaXRoTm9uZSwgJycpLmdldFByb3Bl
cnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMgIm5vbmUiCitQQVNTIHdp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZVdpdGhOb25lLCAnJykuZ2V0UHJvcGVy
dHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIm5vbmUiCitQQVNTIHdp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZVNpbXBsZUZvcm0sICcnKS5nZXRQcm9w
ZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1ucycpIGlzICIxMHB4IgorUEFT
UyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVTaW1wbGVGb3JtLCAnJykuZ2V0
UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3MnKSBpcyAiMTVweCIKK1BB
U1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybSwgJycpLmdl
dFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJub25lIgor
UEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aE5v
bmVDb2x1bW5zLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNv
bHVtbnMnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBs
YXRlU2ltcGxlRm9ybVdpdGhOb25lQ29sdW1ucywgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMgIjE1cHgiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKGdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRoTm9uZUNvbHVtbnMsICcnKS5nZXRQcm9w
ZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAibm9uZSIKK1BBU1Mg
d2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybVdpdGhOb25lUm93
cywgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJykg
aXMgIjEwcHgiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZVNpbXBs
ZUZvcm1XaXRoTm9uZVJvd3MsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVt
cGxhdGUtcm93cycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlk
VGVtcGxhdGVTaW1wbGVGb3JtV2l0aE5vbmVSb3dzLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdl
YmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21w
dXRlZFN0eWxlKGdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRoTm9uZSwgJycpLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJykgaXMgIm5vbmUiCitQQVNTIHdp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRoTm9uZSwgJycp
LmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMgIm5vbmUi
CitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRo
Tm9uZSwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycp
IGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVDb21w
bGV4Rm9ybSwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1
bW5zJykgaXMgIjEwcHgiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0
ZUNvbXBsZXhGb3JtLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRl
LXJvd3MnKSBpcyAiMTVweCIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBs
YXRlQ29tcGxleEZvcm0sICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxh
dGUtYXJlYXMnKSBpcyAiXCJhXCIiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRU
ZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aExpbmVOYW1lcywgJycpLmdldFByb3BlcnR5VmFsdWUoJy13
ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJykgaXMgIjEwcHgiCitQQVNTIHdpbmRvdy5nZXRD
b21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aExpbmVOYW1lcywgJycpLmdl
dFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMgIihoZWFkKSAx
NXB4ICh0YWlsKSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlQ29t
cGxleEZvcm1XaXRoTGluZU5hbWVzLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlk
LXRlbXBsYXRlLWFyZWFzJykgaXMgIlwiYVwiIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZShncmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhMaW5lTmFtZXNNdWx0aXBsZUNvbHVtbnMsICcn
KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1ucycpIGlzICIx
MHB4IgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVDb21wbGV4Rm9y
bVdpdGhMaW5lTmFtZXNNdWx0aXBsZUNvbHVtbnMsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Vi
a2l0LWdyaWQtdGVtcGxhdGUtcm93cycpIGlzICIoaGVhZCkgMTVweCAodGFpbCkiCitQQVNTIHdp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aExpbmVOYW1l
c011bHRpcGxlQ29sdW1ucywgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1w
bGF0ZS1hcmVhcycpIGlzICJcImEgYlwiIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShn
cmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhMaW5lTmFtZXNNdWx0aXBsZVJvd3MsICcnKS5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1ucycpIGlzICIxMHB4Igor
UEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhM
aW5lTmFtZXNNdWx0aXBsZVJvd3MsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQt
dGVtcGxhdGUtcm93cycpIGlzICIoaGVhZDEpIDE1cHggKHRhaWwxIGhlYWQyKSAyMHB4ICh0YWls
MikiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZUNvbXBsZXhGb3Jt
V2l0aExpbmVOYW1lc011bHRpcGxlUm93cywgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
Z3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJcImFcIiBcImJcIiIKK1BBU1Mgd2luZG93LmdldENv
bXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1XaXRoTGluZU5hbWVzTXVsdGlwbGVS
b3dzQW5kQ29sdW1ucywgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0
ZS1jb2x1bW5zJykgaXMgIihmaXJzdCkgMTBweCAobmF2IG5hdjIpIDE1cHggKG5hdiBuYXYyKSAx
NXB4IgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVDb21wbGV4Rm9y
bVdpdGhMaW5lTmFtZXNNdWx0aXBsZVJvd3NBbmRDb2x1bW5zLCAnJykuZ2V0UHJvcGVydHlWYWx1
ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3MnKSBpcyAiMTAwcHggKG5hdiBuYXYyKSAyNXB4
IChuYXYgbmF2MikgMjVweCAobGFzdCkiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdy
aWRUZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aExpbmVOYW1lc011bHRpcGxlUm93c0FuZENvbHVtbnMs
ICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAi
XCJhIGIgY1wiIFwiZCBlIGZcIiBcImcgaCBpXCIiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKGdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aEF1dG8sICcnKS5nZXRQcm9wZXJ0eVZhbHVl
KCctd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1ucycpIGlzICIxMHB4IgorUEFTUyB3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhBdXRvLCAnJykuZ2V0
UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3MnKSBpcyAiMHB4IgorUEFT
UyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhBdXRv
LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMg
IlwiYVwiIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVDb21wbGV4
Rm9ybU9ubHlBcmVhcywgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0
ZS1jb2x1bW5zJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRU
ZW1wbGF0ZUNvbXBsZXhGb3JtT25seUFyZWFzLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtp
dC1ncmlkLXRlbXBsYXRlLXJvd3MnKSBpcyAiMHB4IgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShncmlkVGVtcGxhdGVDb21wbGV4Rm9ybU9ubHlBcmVhcywgJycpLmdldFByb3BlcnR5VmFs
dWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJcImFcIiIKKworVGVzdCBnZXR0
aW5nIHdyb25nIHZhbHVlcyBmb3IgZ3JpZC10ZW1wbGF0ZSBzaG9ydGhhbmQgdGhyb3VnaCBDU1Mg
KHRoZXkgc2hvdWxkIHJlc29sdmUgdG8gdGhlIGRlZmF1bHQ6ICdub25lJykKK1BBU1Mgd2luZG93
LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlTXVsdGlwbGVTbGFzaCwgJycpLmdldFByb3Bl
cnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJykgaXMgIm5vbmUiCitQQVNT
IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZU11bHRpcGxlU2xhc2gsICcnKS5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93cycpIGlzICJub25lIgor
UEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVNdWx0aXBsZVNsYXNoLCAn
JykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIm5v
bmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1K
dXN0Q29sdW1ucywgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1j
b2x1bW5zJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1w
bGF0ZVNpbXBsZUZvcm1KdXN0Q29sdW1ucywgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
Z3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKGdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1KdXN0Q29sdW1ucywgJycpLmdldFByb3BlcnR5VmFs
dWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJub25lIgorUEFTUyB3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVTaW1wbGVGb3JtTm9Sb3dzLCAnJykuZ2V0UHJv
cGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnMnKSBpcyAibm9uZSIKK1BB
U1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybU5vUm93cywg
JycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMgIm5v
bmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1O
b1Jvd3MsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMn
KSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlU2lt
cGxlRm9ybU5vQ29sdW1ucywgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1w
bGF0ZS1jb2x1bW5zJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdy
aWRUZW1wbGF0ZVNpbXBsZUZvcm1Ob0NvbHVtbnMsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Vi
a2l0LWdyaWQtdGVtcGxhdGUtcm93cycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZShncmlkVGVtcGxhdGVTaW1wbGVGb3JtTm9Db2x1bW5zLCAnJykuZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1Ob0NvbHVtblNpemUsICcn
KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1ucycpIGlzICJu
b25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVTaW1wbGVGb3Jt
Tm9Db2x1bW5TaXplLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRl
LXJvd3MnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBs
YXRlU2ltcGxlRm9ybU5vQ29sdW1uU2l6ZSwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
Z3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aEZpdENvbnRlbnQsICcnKS5nZXRQcm9wZXJ0
eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1ucycpIGlzICJub25lIgorUEFTUyB3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aEZpdENvbnRl
bnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93cycpIGlz
ICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVTaW1wbGVG
b3JtV2l0aEZpdENvbnRlbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVt
cGxhdGUtYXJlYXMnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3Jp
ZFRlbXBsYXRlU2ltcGxlRm9ybVdpdGhXcm9uZ1JlcGVhdCwgJycpLmdldFByb3BlcnR5VmFsdWUo
Jy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5n
ZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRoV3JvbmdSZXBlYXQsICcn
KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93cycpIGlzICJub25l
IgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0
aFdyb25nUmVwZWF0LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRl
LWFyZWFzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1w
bGF0ZVNpbXBsZUZvcm1XaXRoTWlzcGxhY2VkTm9uZTEsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCct
d2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1ucycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0
Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aE1pc3BsYWNlZE5vbmUxLCAn
JykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3MnKSBpcyAibm9u
ZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybVdp
dGhNaXNwbGFjZWROb25lMSwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1w
bGF0ZS1hcmVhcycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlk
VGVtcGxhdGVTaW1wbGVGb3JtV2l0aE1pc3BsYWNlZE5vbmUyLCAnJykuZ2V0UHJvcGVydHlWYWx1
ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnMnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93
LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybVdpdGhNaXNwbGFjZWROb25l
MiwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMg
Im5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZVNpbXBsZUZv
cm1XaXRoTWlzcGxhY2VkTm9uZTIsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQt
dGVtcGxhdGUtYXJlYXMnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUo
Z3JpZFRlbXBsYXRlU2ltcGxlRm9ybVdpdGhNaXNwbGFjZWROb25lMywgJycpLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJykgaXMgIm5vbmUiCitQQVNTIHdp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRoTWlzcGxhY2Vk
Tm9uZTMsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93cycp
IGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVTaW1w
bGVGb3JtV2l0aE1pc3BsYWNlZE5vbmUzLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1n
cmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKGdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRoTWlzcGxhY2VkTm9uZTQsICcnKS5nZXRQcm9w
ZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1ucycpIGlzICJub25lIgorUEFT
UyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aE1pc3Bs
YWNlZE5vbmU0LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJv
d3MnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRl
U2ltcGxlRm9ybVdpdGhNaXNwbGFjZWROb25lNCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0
ZWRTdHlsZShncmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhSZXBlYXQsICcnKS5nZXRQcm9wZXJ0
eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1ucycpIGlzICJub25lIgorUEFTUyB3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhSZXBlYXQs
ICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93cycpIGlzICJu
b25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVDb21wbGV4Rm9y
bVdpdGhSZXBlYXQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUt
YXJlYXMnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBs
YXRlQ29tcGxleEZvcm1XaXRoV3JvbmdSZXBlYXQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Vi
a2l0LWdyaWQtdGVtcGxhdGUtY29sdW1ucycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZShncmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhXcm9uZ1JlcGVhdCwgJycpLmdl
dFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMgIm5vbmUiCitQ
QVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aFdy
b25nUmVwZWF0LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFy
ZWFzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaVRlbXBsYXRl
Q29tcGxleEZvcm1kV2l0aEZpdEF2YWlsYWJsZSwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21w
dXRlZFN0eWxlKGdyaVRlbXBsYXRlQ29tcGxleEZvcm1kV2l0aEZpdEF2YWlsYWJsZSwgJycpLmdl
dFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMgIm5vbmUiCitQ
QVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaVRlbXBsYXRlQ29tcGxleEZvcm1kV2l0aEZp
dEF2YWlsYWJsZSwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1h
cmVhcycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxh
dGVDb21wbGV4Rm9ybU5vQ29sdW1uU2l6ZSwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
Z3JpZC10ZW1wbGF0ZS1jb2x1bW5zJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKGdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtTm9Db2x1bW5TaXplLCAnJykuZ2V0UHJvcGVy
dHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3MnKSBpcyAibm9uZSIKK1BBU1Mgd2lu
ZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1Ob0NvbHVtblNpemUs
ICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAi
bm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlQ29tcGxleEZv
cm1NaXNwbGFjZWRSb3dzU2l6ZTEsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQt
dGVtcGxhdGUtY29sdW1ucycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZShncmlkVGVtcGxhdGVDb21wbGV4Rm9ybU1pc3BsYWNlZFJvd3NTaXplMSwgJycpLmdldFByb3Bl
cnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMgIm5vbmUiCitQQVNTIHdp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtTWlzcGxhY2VkUm93
c1NpemUxLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFz
JykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZUNv
bXBsZXhGb3JtTWlzcGxhY2VkUm93c1NpemUyLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtp
dC1ncmlkLXRlbXBsYXRlLWNvbHVtbnMnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1
dGVkU3R5bGUoZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1NaXNwbGFjZWRSb3dzU2l6ZTIsICcnKS5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93cycpIGlzICJub25lIgor
UEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVDb21wbGV4Rm9ybU1pc3Bs
YWNlZFJvd3NTaXplMiwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0
ZS1hcmVhcycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVt
cGxhdGVDb21wbGV4Rm9ybUNvbHVtbnNOb3RQYXJzaW5nMSwgJycpLmdldFByb3BlcnR5VmFsdWUo
Jy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5n
ZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtQ29sdW1uc05vdFBhcnNpbmcx
LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3MnKSBpcyAi
bm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlQ29tcGxleEZv
cm1Db2x1bW5zTm90UGFyc2luZzEsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQt
dGVtcGxhdGUtYXJlYXMnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUo
Z3JpZFRlbXBsYXRlQ29tcGxleEZvcm1Db2x1bW5zTm90UGFyc2luZzIsICcnKS5nZXRQcm9wZXJ0
eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1ucycpIGlzICJub25lIgorUEFTUyB3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVDb21wbGV4Rm9ybUNvbHVtbnNOb3RQ
YXJzaW5nMiwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dz
JykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZUNv
bXBsZXhGb3JtQ29sdW1uc05vdFBhcnNpbmcyLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtp
dC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKGdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aE5vbmVDb2x1bW5zLCAnJykuZ2V0UHJv
cGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnMnKSBpcyAibm9uZSIKK1BB
U1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1XaXRoTm9u
ZUNvbHVtbnMsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93
cycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVD
b21wbGV4Rm9ybVdpdGhOb25lQ29sdW1ucywgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
Z3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJub25lIgorCitUZXN0IHRoZSBpbml0aWFsIHZhbHVl
CitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZh
bHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1ucycpIGlzICJub25lIgorUEFTUyB3aW5k
b3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtp
dC1ncmlkLXRlbXBsYXRlLXJvd3MnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVk
U3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0
ZS1hcmVhcycpIGlzICJub25lIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1ucycpIGlzICdub25l
JworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCct
d2Via2l0LWdyaWQtdGVtcGxhdGUtcm93cycpIGlzICdub25lJworUEFTUyBnZXRDb21wdXRlZFN0
eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUt
YXJlYXMnKSBpcyAnbm9uZScKKworVGVzdCBzZXR0aW5nIGdyaWQtdGVtcGxhdGUtY29sdW1ucyBh
bmQgZ3JpZC10ZW1wbGF0ZS1yb3dzIGJhY2sgdG8gJ25vbmUnIHRocm91Z2ggSlMKK1BBU1MgZ2V0
Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlk
LXRlbXBsYXRlLWNvbHVtbnMnKSBpcyAiMTBweCIKK1BBU1MgZWxlbWVudC5zdHlsZS53ZWJraXRH
cmlkVGVtcGxhdGVDb2x1bW5zIGlzICIxMHB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1l
bnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93cycpIGlz
ICIobGluZSkgMjBweCIKK1BBU1MgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGVSb3dz
IGlzICIobGluZSkgMjBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0
UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIlwiYVwiIgor
UEFTUyBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZUFyZWFzIGlzICJcImFcIiIKK1BB
U1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtp
dC1ncmlkLXRlbXBsYXRlLWNvbHVtbnMnKSBpcyAibm9uZSIKK1BBU1MgZWxlbWVudC5zdHlsZS53
ZWJraXRHcmlkVGVtcGxhdGVDb2x1bW5zIGlzICJub25lIgorUEFTUyBnZXRDb21wdXRlZFN0eWxl
KGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93
cycpIGlzICJub25lIgorUEFTUyBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZVJvd3Mg
aXMgIm5vbmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJub25lIgorUEFTUyBlbGVt
ZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZUFyZWFzIGlzICJub25lIgorCitUZXN0IGdldHRp
bmcgYW5kIHNldHRpbmcgZ3JpZC10ZW1wbGF0ZSBzaG9ydGhhbmQgdGhyb3VnaCBKUworUEFTUyBn
ZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdy
aWQtdGVtcGxhdGUtY29sdW1ucycpIGlzICIxOHB4IgorUEFTUyBlbGVtZW50LnN0eWxlLndlYmtp
dEdyaWRUZW1wbGF0ZUNvbHVtbnMgaXMgIjE4cHgiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxl
bWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykg
aXMgIjY2cHgiCitQQVNTIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBsYXRlUm93cyBpcyAi
NjZweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1
ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIm5vbmUiCitQQVNTIGVsZW1lbnQu
c3R5bGUud2Via2l0R3JpZFRlbXBsYXRlQXJlYXMgaXMgIm5vbmUiCitQQVNTIGdldENvbXB1dGVk
U3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0
ZS1jb2x1bW5zJykgaXMgIjEwcHgiCitQQVNTIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBs
YXRlQ29sdW1ucyBpcyAiMTBweCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJyku
Z2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3MnKSBpcyAiKGhlYWQp
IDE1cHggKHRhaWwpIgorUEFTUyBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZVJvd3Mg
aXMgIihoZWFkKSAxNXB4ICh0YWlsKSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAn
JykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIlwi
YVwiIgorUEFTUyBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZUFyZWFzIGlzICJcImFc
IiIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgn
LXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnMnKSBpcyAibm9uZSIKK1BBU1MgZWxlbWVudC5z
dHlsZS53ZWJraXRHcmlkVGVtcGxhdGVDb2x1bW5zIGlzICJub25lIgorUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxh
dGUtcm93cycpIGlzICIwcHgiCitQQVNTIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBsYXRl
Um93cyBpcyAiYXV0byIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJv
cGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIlwiYVwiIgorUEFT
UyBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZUFyZWFzIGlzICJcImFcIiIKKworVGVz
dCBzZXR0aW5nIGdyaWQtdGVtcGxhdGUgc2hvcnRoYW5kIHRvIGJhZCB2YWx1ZXMgdGhyb3VnaCBK
UworUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnMnKSBpcyAibm9uZSIKK1BBU1Mgd2lu
ZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxh
dGUtYXJlYXMnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVu
dCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJykg
aXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93cycpIGlzICJub25lIgorUEFT
UyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgn
LXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRD
b21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQt
dGVtcGxhdGUtY29sdW1ucycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJv
d3MnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycp
LmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJub25l
IgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnMnKSBpcyAibm9uZSIKK1BBU1Mgd2lu
ZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxh
dGUtYXJlYXMnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVu
dCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJykg
aXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93cycpIGlzICJub25lIgorUEFT
UyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgn
LXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRD
b21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQt
dGVtcGxhdGUtY29sdW1ucycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJv
d3MnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycp
LmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJub25l
IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtdGVtcGxhdGUt
c2hvcnRoYW5kLWdldC1zZXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0
L2dyaWQtdGVtcGxhdGUtc2hvcnRoYW5kLWdldC1zZXQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40ZTJhNWZm
MjM0ZmQ0YjAxYjljYzE5YmE5YWJlYzE4MDg4NjkzZGQzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC10ZW1wbGF0ZS1zaG9ydGhhbmQtZ2V0
LXNldC5odG1sCkBAIC0wLDAgKzEsMjIxIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICB0ZXN0UnVubmVyLm92ZXJyaWRlUHJlZmVyZW5jZSgiV2ViS2l0Q1NT
R3JpZExheW91dEVuYWJsZWQiLCAxKTsKKzwvc2NyaXB0PgorPGxpbmsgaHJlZj0icmVzb3VyY2Vz
L2dyaWQuY3NzIiByZWw9InN0eWxlc2hlZXQiPgorPHN0eWxlPgorI2dyaWRUZW1wbGF0ZVdpdGhO
b25lIHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6IG5vbmU7Cit9CisjZ3JpZFRlbXBsYXRl
U2ltcGxlRm9ybSB7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlOiAxMHB4IC8gMTVweDsKK30K
KyNncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aE5vbmVDb2x1bW5zIHsKKyAgICAtd2Via2l0LWdy
aWQtdGVtcGxhdGU6IG5vbmUgLyAxNXB4OworfQorI2dyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRo
Tm9uZVJvd3MgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogMTBweCAvIG5vbmU7Cit9Cisj
Z3JpZFRlbXBsYXRlU2ltcGxlRm9ybVdpdGhOb25lIHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxh
dGU6IG5vbmUgLyBub25lOworfQorI2dyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtIHsKKyAgICAtd2Vi
a2l0LWdyaWQtdGVtcGxhdGU6IDEwcHggLyAiYSIgMTVweDsKK30KKyNncmlkVGVtcGxhdGVDb21w
bGV4Rm9ybVdpdGhMaW5lTmFtZXMgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogMTBweCAv
IChoZWFkKSAiYSIgMTVweCAodGFpbCk7Cit9CisjZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1XaXRo
TGluZU5hbWVzTXVsdGlwbGVDb2x1bW5zIHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6IDEw
cHggLyAoaGVhZCkgImEgYiIgMTVweCAodGFpbCkKK30KKyNncmlkVGVtcGxhdGVDb21wbGV4Rm9y
bVdpdGhMaW5lTmFtZXNNdWx0aXBsZVJvd3MgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTog
MTBweCAvIChoZWFkMSkgImEiIDE1cHggKHRhaWwxKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAoaGVhZDIpICJiIiAyMHB4ICh0YWlsMik7Cit9CisjZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1X
aXRoTGluZU5hbWVzTXVsdGlwbGVSb3dzQW5kQ29sdW1ucyB7CisgICAgLXdlYmtpdC1ncmlkLXRl
bXBsYXRlOiAoZmlyc3QpIDEwcHggcmVwZWF0KDIsIChuYXYgbmF2MikgMTVweCkgLyAgICAgICAi
YSBiIGMiIDEwMHB4IChuYXYpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAobmF2MikgImQgZSBmIiAyNXB4ICAobmF2KQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5h
djIpICJnIGggaSIgMjVweCAgKGxhc3QpOworfQorI2dyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtV2l0
aEF1dG8geworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogMTBweCAvICJhIjsKK30KKyNncmlk
VGVtcGxhdGVDb21wbGV4Rm9ybU9ubHlBcmVhcyB7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRl
OiAiYSI7Cit9CisKKy8qIEJhZCB2YWx1ZXMuICovCisKKyNncmlkVGVtcGxhdGVNdWx0aXBsZVNs
YXNoIHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6IDEwcHggLyAyMHB4IC8gMzBweDsKK30K
KyNncmlkVGVtcGxhdGVTaW1wbGVGb3JtSnVzdENvbHVtbnMgeworICAgIC13ZWJraXQtZ3JpZC10
ZW1wbGF0ZTogMTBweDsKK30KKyNncmlkVGVtcGxhdGVTaW1wbGVGb3JtTm9Sb3dzIHsKKyAgICAt
d2Via2l0LWdyaWQtdGVtcGxhdGU6IDEwcHggLzsKK30KKyNncmlkVGVtcGxhdGVTaW1wbGVGb3Jt
Tm9Db2x1bW5zIHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6IC8gMTBweDsKK30KKyNncmlk
VGVtcGxhdGVTaW1wbGVGb3JtTm9Db2x1bW5TaXplIHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxh
dGU6IChsaW5lKSAvIDEwcHg7Cit9CisjZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybVdpdGhGaXRDb250
ZW50IHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6IC13ZWJraXQtZml0LWNvbnRlbnQgLyAx
MHB4OworfQorI2dyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRoV3JvbmdSZXBlYXQgeworICAgIC13
ZWJraXQtZ3JpZC10ZW1wbGF0ZTogcmVwZWF0KDIsIDUwJSAodGl0bGUpIGEpIC8gMTBweDsKK30K
KyNncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aE1pc3BsYWNlZE5vbmUxIHsKKyAgICAtd2Via2l0
LWdyaWQtdGVtcGxhdGU6IDEwcHggLyBub25lIDIwcHg7Cit9CisjZ3JpZFRlbXBsYXRlU2ltcGxl
Rm9ybVdpdGhNaXNwbGFjZWROb25lMiB7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlOiAxMHB4
IC8gMjBweCBub25lOworfQorI2dyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRoTWlzcGxhY2VkTm9u
ZTMgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogbm9uZSAxMHB4IC8gMjBweDsKK30KKyNn
cmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aE1pc3BsYWNlZE5vbmU0IHsKKyAgICAtd2Via2l0LWdy
aWQtdGVtcGxhdGU6IDEwcHggbm9uZSAvIDIwcHg7Cit9CisjZ3JpZFRlbXBsYXRlQ29tcGxleEZv
cm1XaXRoUmVwZWF0IHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6IDEwcHggLyAiYSIgcmVw
ZWF0KDIsIDUwJSAodGl0bGUpKTsKK30KKyNncmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhXcm9u
Z1JlcGVhdCB7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlOiByZXBlYXQoMiwgNTAlICh0aXRs
ZSkgYSkgLyAiYSI7Cit9CisjZ3JpVGVtcGxhdGVDb21wbGV4Rm9ybWRXaXRoRml0QXZhaWxhYmxl
IHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6IC13ZWJraXQtZml0LWF2YWlsYWJsZSAvICJh
IjsKK30KKyNncmlkVGVtcGxhdGVDb21wbGV4Rm9ybU5vQ29sdW1uU2l6ZSB7CisgICAgLXdlYmtp
dC1ncmlkLXRlbXBsYXRlOiAobGluZSkgLyAiYSI7Cit9CisjZ3JpZFRlbXBsYXRlQ29tcGxleEZv
cm1NaXNwbGFjZWRSb3dzU2l6ZTEgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogMjVweCAv
IDEwcHggImEiOworfQorI2dyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtTWlzcGxhY2VkUm93c1NpemUy
IHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6IDI1cHggLyAiYSIgKG5hbWUpIDEwcHg7Cit9
CisjZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1Db2x1bW5zTm90UGFyc2luZzEgeworICAgIC13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZTogYSAvICJhIiAobmFtZSkgMTBweDsKK30KKyNncmlkVGVtcGxhdGVD
b21wbGV4Rm9ybUNvbHVtbnNOb3RQYXJzaW5nMiB7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRl
OiAiQiIgLyAiYSIgKG5hbWUpIDEwcHg7Cit9CisjZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1XaXRo
Tm9uZUNvbHVtbnMgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogbm9uZSAvICJhIiAobmFt
ZSkgMTBweDsKK30KKworPC9zdHlsZT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgY2xhc3M9ImdyaWQiIGlk
PSJncmlkVGVtcGxhdGVXaXRoTm9uZSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJncmlkIiBpZD0iZ3Jp
ZFRlbXBsYXRlU2ltcGxlRm9ybSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJncmlkIiBpZD0iZ3JpZFRl
bXBsYXRlU2ltcGxlRm9ybVdpdGhOb25lQ29sdW1ucyI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJncmlk
IiBpZD0iZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybVdpdGhOb25lUm93cyI+PC9kaXY+Cis8ZGl2IGNs
YXNzPSJncmlkIiBpZD0iZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybVdpdGhOb25lIj48L2Rpdj4KKzxk
aXYgY2xhc3M9ImdyaWQiIGlkPSJncmlkVGVtcGxhdGVDb21wbGV4Rm9ybSI+PC9kaXY+Cis8ZGl2
IGNsYXNzPSJncmlkIiBpZD0iZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1XaXRoTGluZU5hbWVzIj48
L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQiIGlkPSJncmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhM
aW5lTmFtZXNNdWx0aXBsZUNvbHVtbnMiPjwvZGl2PgorPGRpdiBjbGFzcz0iZ3JpZCIgaWQ9Imdy
aWRUZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aExpbmVOYW1lc011bHRpcGxlUm93cyI+PC9kaXY+Cis8
ZGl2IGNsYXNzPSJncmlkIiBpZD0iZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1XaXRoTGluZU5hbWVz
TXVsdGlwbGVSb3dzQW5kQ29sdW1ucyI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJncmlkIiBpZD0iZ3Jp
ZFRlbXBsYXRlQ29tcGxleEZvcm1XaXRoQXV0byI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJncmlkIiBp
ZD0iZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1Pbmx5QXJlYXMiPjwvZGl2PgorPGRpdiBjbGFzcz0i
Z3JpZCIgaWQ9ImdyaWRUZW1wbGF0ZU11bHRpcGxlU2xhc2giPjwvZGl2PgorPGRpdiBjbGFzcz0i
Z3JpZCIgaWQ9ImdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1KdXN0Q29sdW1ucyI+PC9kaXY+Cis8ZGl2
IGNsYXNzPSJncmlkIiBpZD0iZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybU5vUm93cyI+PC9kaXY+Cis8
ZGl2IGNsYXNzPSJncmlkIiBpZD0iZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybU5vQ29sdW1ucyI+PC9k
aXY+Cis8ZGl2IGNsYXNzPSJncmlkIiBpZD0iZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybU5vQ29sdW1u
U2l6ZSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJncmlkIiBpZD0iZ3JpZFRlbXBsYXRlU2ltcGxlRm9y
bVdpdGhGaXRDb250ZW50Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQiIGlkPSJncmlkVGVtcGxh
dGVTaW1wbGVGb3JtV2l0aFdyb25nUmVwZWF0Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQiIGlk
PSJncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aE1pc3BsYWNlZE5vbmUxIj48L2Rpdj4KKzxkaXYg
Y2xhc3M9ImdyaWQiIGlkPSJncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aE1pc3BsYWNlZE5vbmUy
Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQiIGlkPSJncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0
aE1pc3BsYWNlZE5vbmUzIj48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQiIGlkPSJncmlkVGVtcGxh
dGVTaW1wbGVGb3JtV2l0aE1pc3BsYWNlZE5vbmU0Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQi
IGlkPSJncmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhSZXBlYXQiPjwvZGl2PgorPGRpdiBjbGFz
cz0iZ3JpZCIgaWQ9ImdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aFdyb25nUmVwZWF0Ij48L2Rp
dj4KKzxkaXYgY2xhc3M9ImdyaWQiIGlkPSJncmlUZW1wbGF0ZUNvbXBsZXhGb3JtZFdpdGhGaXRB
dmFpbGFibGUiPjwvZGl2PgorPGRpdiBjbGFzcz0iZ3JpZCIgaWQ9ImdyaWRUZW1wbGF0ZUNvbXBs
ZXhGb3JtTm9Db2x1bW5TaXplIj48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQiIGlkPSJncmlkVGVt
cGxhdGVDb21wbGV4Rm9ybU1pc3BsYWNlZFJvd3NTaXplMSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJn
cmlkIiBpZD0iZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1NaXNwbGFjZWRSb3dzU2l6ZTIiPjwvZGl2
PgorPGRpdiBjbGFzcz0iZ3JpZCIgaWQ9ImdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtQ29sdW1uc05v
dFBhcnNpbmcxIj48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQiIGlkPSJncmlkVGVtcGxhdGVDb21w
bGV4Rm9ybUNvbHVtbnNOb3RQYXJzaW5nMiI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJncmlkIiBpZD0i
Z3JpZFRlbXBsYXRlQ29tcGxleEZvcm1XaXRoTm9uZUNvbHVtbnMiPjwvZGl2PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9ncmlkLXRlbXBsYXRlLXNob3J0aGFuZC1wYXJzaW5nLXV0aWxzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+CisgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBjaGVja3MgdGhh
dCB0aGUgJ2dyaWQtdGVtcGxhdGUnIHNob3J0aGFuZCBpcyBwcm9wZXJseSBwYXJzZWQgYW5kIHRo
ZSBsb25naGFuZCBwcm9wZXJ0aWVzIGNvcnJlY3RseSBhc3NpZ25lZC4iKTsKKworICAgIGRlYnVn
KCJUZXN0IGdldHRpbmcgZ3JpZC10ZW1wbGF0ZS1hcmVhcyBzZXQgdGhyb3VnaCBDU1MuIik7Cisg
ICAgdGVzdEdyaWREZWZpbml0aW9uc1ZhbHVlcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3Jp
ZFRlbXBsYXRlV2l0aE5vbmUiKSwgIm5vbmUiLCAibm9uZSIsICJub25lIik7CisgICAgdGVzdEdy
aWREZWZpbml0aW9uc1ZhbHVlcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3JpZFRlbXBsYXRl
U2ltcGxlRm9ybSIpLCAiMTBweCIsICIxNXB4IiwgIm5vbmUiKTsKKyAgICB0ZXN0R3JpZERlZmlu
aXRpb25zVmFsdWVzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJncmlkVGVtcGxhdGVTaW1wbGVG
b3JtV2l0aE5vbmVDb2x1bW5zIiksICJub25lIiwgIjE1cHgiLCAibm9uZSIpOworICAgIHRlc3RH
cmlkRGVmaW5pdGlvbnNWYWx1ZXMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdyaWRUZW1wbGF0
ZVNpbXBsZUZvcm1XaXRoTm9uZVJvd3MiKSwgIjEwcHgiLCAibm9uZSIsICJub25lIik7CisgICAg
dGVzdEdyaWREZWZpbml0aW9uc1ZhbHVlcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3JpZFRl
bXBsYXRlU2ltcGxlRm9ybVdpdGhOb25lIiksICJub25lIiwgIm5vbmUiLCAibm9uZSIpOworICAg
IHRlc3RHcmlkRGVmaW5pdGlvbnNWYWx1ZXMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdyaWRU
ZW1wbGF0ZUNvbXBsZXhGb3JtIiksICIxMHB4IiwgIjE1cHgiLCAnImEiJyk7CisgICAgdGVzdEdy
aWREZWZpbml0aW9uc1ZhbHVlcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3JpZFRlbXBsYXRl
Q29tcGxleEZvcm1XaXRoTGluZU5hbWVzIiksICIxMHB4IiwgIihoZWFkKSAxNXB4ICh0YWlsKSIs
ICciYSInKTsKKyAgICB0ZXN0R3JpZERlZmluaXRpb25zVmFsdWVzKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJncmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhMaW5lTmFtZXNNdWx0aXBsZUNvbHVt
bnMiKSwgIjEwcHgiLCAiKGhlYWQpIDE1cHggKHRhaWwpIiwgJyJhIGIiJyk7CisgICAgdGVzdEdy
aWREZWZpbml0aW9uc1ZhbHVlcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3JpZFRlbXBsYXRl
Q29tcGxleEZvcm1XaXRoTGluZU5hbWVzTXVsdGlwbGVSb3dzIiksICIxMHB4IiwgIihoZWFkMSkg
MTVweCAodGFpbDEgaGVhZDIpIDIwcHggKHRhaWwyKSIsICciYSIgImIiJyk7CisgICAgdGVzdEdy
aWREZWZpbml0aW9uc1ZhbHVlcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3JpZFRlbXBsYXRl
Q29tcGxleEZvcm1XaXRoTGluZU5hbWVzTXVsdGlwbGVSb3dzQW5kQ29sdW1ucyIpLCAiKGZpcnN0
KSAxMHB4IChuYXYgbmF2MikgMTVweCAobmF2IG5hdjIpIDE1cHgiLCAiMTAwcHggKG5hdiBuYXYy
KSAyNXB4IChuYXYgbmF2MikgMjVweCAobGFzdCkiLCAnImEgYiBjIiAiZCBlIGYiICJnIGggaSIn
KTsKKyAgICB0ZXN0R3JpZERlZmluaXRpb25zVmFsdWVzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJncmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhBdXRvIiksICIxMHB4IiwgIjBweCIsICciYSIn
KTsKKyAgICB0ZXN0R3JpZERlZmluaXRpb25zVmFsdWVzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJncmlkVGVtcGxhdGVDb21wbGV4Rm9ybU9ubHlBcmVhcyIpLCAibm9uZSIsICIwcHgiLCAnImEi
Jyk7CisKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoIlRlc3QgZ2V0dGluZyB3cm9uZyB2YWx1
ZXMgZm9yIGdyaWQtdGVtcGxhdGUgc2hvcnRoYW5kIHRocm91Z2ggQ1NTICh0aGV5IHNob3VsZCBy
ZXNvbHZlIHRvIHRoZSBkZWZhdWx0OiAnbm9uZScpIik7CisgICAgdGVzdEdyaWREZWZpbml0aW9u
c1ZhbHVlcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3JpZFRlbXBsYXRlTXVsdGlwbGVTbGFz
aCIpLCAibm9uZSIsICJub25lIiwgIm5vbmUiKTsKKyAgICB0ZXN0R3JpZERlZmluaXRpb25zVmFs
dWVzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJncmlkVGVtcGxhdGVTaW1wbGVGb3JtSnVzdENv
bHVtbnMiKSwgIm5vbmUiLCAibm9uZSIsICJub25lIik7CisgICAgdGVzdEdyaWREZWZpbml0aW9u
c1ZhbHVlcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybU5v
Um93cyIpLCAibm9uZSIsICJub25lIiwgIm5vbmUiKTsKKyAgICB0ZXN0R3JpZERlZmluaXRpb25z
VmFsdWVzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJncmlkVGVtcGxhdGVTaW1wbGVGb3JtTm9D
b2x1bW5zIiksICJub25lIiwgIm5vbmUiLCAibm9uZSIpOworICAgIHRlc3RHcmlkRGVmaW5pdGlv
bnNWYWx1ZXMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1O
b0NvbHVtblNpemUiKSwgIm5vbmUiLCAibm9uZSIsICJub25lIik7CisgICAgdGVzdEdyaWREZWZp
bml0aW9uc1ZhbHVlcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3JpZFRlbXBsYXRlU2ltcGxl
Rm9ybVdpdGhGaXRDb250ZW50IiksICJub25lIiwgIm5vbmUiLCAibm9uZSIpOworICAgIHRlc3RH
cmlkRGVmaW5pdGlvbnNWYWx1ZXMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdyaWRUZW1wbGF0
ZVNpbXBsZUZvcm1XaXRoV3JvbmdSZXBlYXQiKSwgIm5vbmUiLCAibm9uZSIsICJub25lIik7Cisg
ICAgdGVzdEdyaWREZWZpbml0aW9uc1ZhbHVlcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3Jp
ZFRlbXBsYXRlU2ltcGxlRm9ybVdpdGhNaXNwbGFjZWROb25lMSIpLCAibm9uZSIsICJub25lIiwg
Im5vbmUiKTsKKyAgICB0ZXN0R3JpZERlZmluaXRpb25zVmFsdWVzKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aE1pc3BsYWNlZE5vbmUyIiksICJub25l
IiwgIm5vbmUiLCAibm9uZSIpOworICAgIHRlc3RHcmlkRGVmaW5pdGlvbnNWYWx1ZXMoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRoTWlzcGxhY2VkTm9u
ZTMiKSwgIm5vbmUiLCAibm9uZSIsICJub25lIik7CisgICAgdGVzdEdyaWREZWZpbml0aW9uc1Zh
bHVlcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybVdpdGhN
aXNwbGFjZWROb25lNCIpLCAibm9uZSIsICJub25lIiwgIm5vbmUiKTsKKyAgICB0ZXN0R3JpZERl
ZmluaXRpb25zVmFsdWVzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJncmlkVGVtcGxhdGVDb21w
bGV4Rm9ybVdpdGhSZXBlYXQiKSwgIm5vbmUiLCAibm9uZSIsICJub25lIik7CisgICAgdGVzdEdy
aWREZWZpbml0aW9uc1ZhbHVlcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3JpZFRlbXBsYXRl
Q29tcGxleEZvcm1XaXRoV3JvbmdSZXBlYXQiKSwgIm5vbmUiLCAibm9uZSIsICJub25lIik7Cisg
ICAgdGVzdEdyaWREZWZpbml0aW9uc1ZhbHVlcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3Jp
VGVtcGxhdGVDb21wbGV4Rm9ybWRXaXRoRml0QXZhaWxhYmxlIiksICJub25lIiwgIm5vbmUiLCAi
bm9uZSIpOworICAgIHRlc3RHcmlkRGVmaW5pdGlvbnNWYWx1ZXMoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtTm9Db2x1bW5TaXplIiksICJub25lIiwgIm5v
bmUiLCAibm9uZSIpOworICAgIHRlc3RHcmlkRGVmaW5pdGlvbnNWYWx1ZXMoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtTWlzcGxhY2VkUm93c1NpemUxIiks
ICJub25lIiwgIm5vbmUiLCAibm9uZSIpOworICAgIHRlc3RHcmlkRGVmaW5pdGlvbnNWYWx1ZXMo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtTWlzcGxhY2Vk
Um93c1NpemUyIiksICJub25lIiwgIm5vbmUiLCAibm9uZSIpOworICAgIHRlc3RHcmlkRGVmaW5p
dGlvbnNWYWx1ZXMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdyaWRUZW1wbGF0ZUNvbXBsZXhG
b3JtQ29sdW1uc05vdFBhcnNpbmcxIiksICJub25lIiwgIm5vbmUiLCAibm9uZSIpOworICAgIHRl
c3RHcmlkRGVmaW5pdGlvbnNWYWx1ZXMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdyaWRUZW1w
bGF0ZUNvbXBsZXhGb3JtQ29sdW1uc05vdFBhcnNpbmcyIiksICJub25lIiwgIm5vbmUiLCAibm9u
ZSIpOworICAgIHRlc3RHcmlkRGVmaW5pdGlvbnNWYWx1ZXMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aE5vbmVDb2x1bW5zIiksICJub25lIiwgIm5v
bmUiLCAibm9uZSIpOworCisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJUZXN0IHRoZSBpbml0
aWFsIHZhbHVlIik7CisgICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOworICAgIHRlc3RH
cmlkRGVmaW5pdGlvbnNWYWx1ZXMoZWxlbWVudCwgIm5vbmUiLCAibm9uZSIsICJub25lIik7Cisg
ICAgc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFs
dWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJykiLCAiJ25vbmUnIik7CisgICAgc2hv
dWxkQmUoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13
ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykiLCAiJ25vbmUnIik7CisgICAgc2hvdWxkQmUoImdl
dENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3Jp
ZC10ZW1wbGF0ZS1hcmVhcycpIiwgIidub25lJyIpOworCisgICAgZGVidWcoIiIpOworICAgIGRl
YnVnKCJUZXN0IHNldHRpbmcgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zIGFuZCBncmlkLXRlbXBsYXRl
LXJvd3MgYmFjayB0byAnbm9uZScgdGhyb3VnaCBKUyIpOworICAgIHRlc3RHcmlkRGVmaW5pdGlv
bnNTZXRKU1ZhbHVlcygiMTBweCAvIChsaW5lKSAnYScgMjBweCIsICIxMHB4IiwgIihsaW5lKSAy
MHB4IiwgIlwiYVwiIik7CisgICAgdGVzdEdyaWREZWZpbml0aW9uc1NldEpTVmFsdWVzKCJub25l
IiwgIm5vbmUiLCAibm9uZSIsICJub25lIik7CisKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWco
IlRlc3QgZ2V0dGluZyBhbmQgc2V0dGluZyBncmlkLXRlbXBsYXRlIHNob3J0aGFuZCB0aHJvdWdo
IEpTIik7CisgICAgdGVzdEdyaWREZWZpbml0aW9uc1NldEpTVmFsdWVzKCIxOHB4IC8gNjZweCIs
ICIxOHB4IiwgIjY2cHgiLCAibm9uZSIpOworICAgIHRlc3RHcmlkRGVmaW5pdGlvbnNTZXRKU1Zh
bHVlcygiMTBweCAvIChoZWFkKSAnYScgMTVweCAodGFpbCkiLCAiMTBweCIsICIoaGVhZCkgMTVw
eCAodGFpbCkiLCAiXCJhXCIiKTsKKyAgICB0ZXN0R3JpZERlZmluaXRpb25zU2V0SlNWYWx1ZXMo
IidhJyIsICJub25lIiwgIjBweCIsICJcImFcIiIsICJub25lIiwgImF1dG8iKTsKKworICAgIGRl
YnVnKCIiKTsKKyAgICBkZWJ1ZygiVGVzdCBzZXR0aW5nIGdyaWQtdGVtcGxhdGUgc2hvcnRoYW5k
IHRvIGJhZCB2YWx1ZXMgdGhyb3VnaCBKUyIpOworICAgIHRlc3RHcmlkRGVmaW5pdGlvbnNTZXRC
YWRKU1ZhbHVlcygibm9uZSAvICdhJyIpOworICAgIHRlc3RHcmlkRGVmaW5pdGlvbnNTZXRCYWRK
U1ZhbHVlcygiMjVweCAvICdhJyAobmFtZSkgMTBweCIpOworICAgIHRlc3RHcmlkRGVmaW5pdGlv
bnNTZXRCYWRKU1ZhbHVlcygiJ2EnIC8gJ2InIik7CisgICAgdGVzdEdyaWREZWZpbml0aW9uc1Nl
dEJhZEpTVmFsdWVzKCIxNXB4Iik7CisgICAgdGVzdEdyaWREZWZpbml0aW9uc1NldEJhZEpTVmFs
dWVzKCIxNXB4IC8gMjBweCBub25lIik7CisgICAgdGVzdEdyaWREZWZpbml0aW9uc1NldEJhZEpT
VmFsdWVzKCIyNXB4IC8gMTBweCAnYSciKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9yZXNvdXJjZXMv
Z3JpZC10ZW1wbGF0ZS1zaG9ydGhhbmQtcGFyc2luZy11dGlscy5qcyBiL0xheW91dFRlc3RzL2Zh
c3QvY3NzLWdyaWQtbGF5b3V0L3Jlc291cmNlcy9ncmlkLXRlbXBsYXRlLXNob3J0aGFuZC1wYXJz
aW5nLXV0aWxzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVmNmI0YjY3NDcxN2E4OWMxMTkwY2IyYWNhNTM3ZGNj
ZmE0ZTk2YTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxh
eW91dC9yZXNvdXJjZXMvZ3JpZC10ZW1wbGF0ZS1zaG9ydGhhbmQtcGFyc2luZy11dGlscy5qcwpA
QCAtMCwwICsxLDUxIEBACitmdW5jdGlvbiB0ZXN0R3JpZERlZmluaXRpb25zVmFsdWVzKGVsZW1l
bnQsIGNvbXB1dGVkQ29sdW1uc1ZhbHVlLCBjb21wdXRlZFJvd3NWYWx1ZSwgY29tcHV0ZWRBcmVh
c1ZhbHVlKQoreworICAgIHdpbmRvdy5lbGVtZW50ID0gZWxlbWVudDsKKyAgICB2YXIgZWxlbWVu
dElEID0gZWxlbWVudC5pZCB8fCAiZWxlbWVudCI7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSgiICsgZWxlbWVudElEICsgIiwgJycpLmdldFByb3Bl
cnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJykiLCBjb21wdXRlZENvbHVt
bnNWYWx1ZSk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJ3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZSgiICsgZWxlbWVudElEICsgIiwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3Jp
ZC10ZW1wbGF0ZS1yb3dzJykiLCBjb21wdXRlZFJvd3NWYWx1ZSk7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJ3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSgiICsgZWxlbWVudElEICsgIiwgJycp
LmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIiwgY29tcHV0
ZWRBcmVhc1ZhbHVlKTsKK30KKworZnVuY3Rpb24gdGVzdEdyaWREZWZpbml0aW9uc1NldEpTVmFs
dWVzKHNob3J0aGFuZFZhbHVlLCBjb21wdXRlZENvbHVtbnNWYWx1ZSwgY29tcHV0ZWRSb3dzVmFs
dWUsIGNvbXB1dGVkQXJlYXNWYWx1ZSwganNDb2x1bW5zVmFsdWUsIGpzUm93c1ZhbHVlLCBqc0Fy
ZWFzVmFsdWUpCit7CisgICAgY2hlY2tHcmlkRGVmaW5pdGlvbnNTZXRKU1ZhbHVlcyh0cnVlLCBz
aG9ydGhhbmRWYWx1ZSwgY29tcHV0ZWRDb2x1bW5zVmFsdWUsIGNvbXB1dGVkUm93c1ZhbHVlLCBj
b21wdXRlZEFyZWFzVmFsdWUsIGpzQ29sdW1uc1ZhbHVlLCBqc1Jvd3NWYWx1ZSwganNBcmVhc1Zh
bHVlKTsKK30KKworZnVuY3Rpb24gdGVzdE5vbkdyaWREZWZpbml0aW9uc1NldEpTVmFsdWVzKHNo
b3J0aGFuZFZhbHVlLCBjb21wdXRlZENvbHVtbnNWYWx1ZSwgY29tcHV0ZWRSb3dzVmFsdWUsIGNv
bXB1dGVkQXJlYXNWYWx1ZSwganNDb2x1bW5zVmFsdWUsIGpzUm93c1ZhbHVlLCBqc0FyZWFzVmFs
dWUpCit7CisgICAgY2hlY2tHcmlkRGVmaW5pdGlvbnNTZXRKU1ZhbHVlcyhmYWxzZSwgc2hvcnRo
YW5kVmFsdWUsIGNvbXB1dGVkQ29sdW1uc1ZhbHVlLCBjb21wdXRlZFJvd3NWYWx1ZSwgY29tcHV0
ZWRBcmVhc1ZhbHVlLCBqc0NvbHVtbnNWYWx1ZSwganNSb3dzVmFsdWUsIGpzQXJlYXNWYWx1ZSk7
Cit9CisKK2Z1bmN0aW9uIGNoZWNrR3JpZERlZmluaXRpb25zU2V0SlNWYWx1ZXModXNlR3JpZCwg
c2hvcnRoYW5kVmFsdWUsIGNvbXB1dGVkQ29sdW1uc1ZhbHVlLCBjb21wdXRlZFJvd3NWYWx1ZSwg
Y29tcHV0ZWRBcmVhc1ZhbHVlLCBqc0NvbHVtbnNWYWx1ZSwganNSb3dzVmFsdWUsIGpzQXJlYXNW
YWx1ZSkKK3sKKyAgICB3aW5kb3cuZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7CisgICAgaWYgKHVz
ZUdyaWQpIHsKKyAgICAgICAgZWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gIi13ZWJraXQtZ3JpZCI7
CisgICAgICAgIGVsZW1lbnQuc3R5bGUud2lkdGggPSAiODAwcHgiOworICAgICAgICBlbGVtZW50
LnN0eWxlLmhlaWdodCA9ICI2MDBweCI7CisgICAgfQorCisgICAgZWxlbWVudC5zdHlsZS5mb250
ID0gIjEwcHggQWhlbSI7IC8vIFVzZWQgdG8gcmVzb2x2ZSBlbSBmb250IGNvbnNpc3RlbnRseS4K
KyAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZSA9IHNob3J0aGFuZFZhbHVlOwor
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJyku
Z2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnMnKSIsIGNvbXB1
dGVkQ29sdW1uc1ZhbHVlKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImVsZW1lbnQuc3R5
bGUud2Via2l0R3JpZFRlbXBsYXRlQ29sdW1ucyIsIGpzQ29sdW1uc1ZhbHVlIHx8IGNvbXB1dGVk
Q29sdW1uc1ZhbHVlKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5
bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1y
b3dzJykiLCBjb21wdXRlZFJvd3NWYWx1ZSk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJl
bGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZVJvd3MiLCBqc1Jvd3NWYWx1ZSB8fCBjb21w
dXRlZFJvd3NWYWx1ZSk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRDb21wdXRlZFN0
eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUt
YXJlYXMnKSIsIGNvbXB1dGVkQXJlYXNWYWx1ZSk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZUFyZWFzIiwganNBcmVhc1ZhbHVlIHx8
IGNvbXB1dGVkQXJlYXNWYWx1ZSk7CisgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChlbGVt
ZW50KTsKKworfQorCitmdW5jdGlvbiB0ZXN0R3JpZERlZmluaXRpb25zU2V0QmFkSlNWYWx1ZXMo
c2hvcnRoYW5kVmFsdWUpCit7CisgICAgd2luZG93LmVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpOwor
CisgICAgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGUgPSBzaG9ydGhhbmRWYWx1ZTsK
KyAgICAvLyBXZSBjYW4ndCB1c2UgdGVzdFNldEpTVmFsdWVzIGFzIGVsZW1lbnQuc3R5bGUud2Vi
a2l0R3JpZFRlbXBsYXRlUm93cyByZXR1cm5zICIiLgorICAgIHRlc3RHcmlkRGVmaW5pdGlvbnNW
YWx1ZXMoZWxlbWVudCwgIm5vbmUiLCAibm9uZSIsICJub25lIik7CisgICAgZG9jdW1lbnQuYm9k
eS5yZW1vdmVDaGlsZChlbGVtZW50KTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230158</attachid>
            <date>2014-04-25 03:14:19 -0700</date>
            <delta_ts>2014-04-25 05:07:21 -0700</delta_ts>
            <desc>Applied suggested changes.</desc>
            <filename>bug-128980-20140425121355.patch</filename>
            <type>text/plain</type>
            <size>59247</size>
            <attacher name="Javier Fernandez">jfernandez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2NzE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M3Yzk4N2U5ZTVhNzU1
NDMzMTNkMDgxNzRiNWFhMmRkZmQxOTI0NS4uZjcxZTY3MWY3YTBjMjRjZTgwMTEzNDEzODk1ODBm
NmYzNGZjOWYyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDE0LTA0LTAzICBKYXZp
ZXIgRmVybmFuZGV6ICA8amZlcm5hbmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIEltcGxlbWVudGF0aW9uIG9mIHRoZSBncmlkLXRlbXBsYXRlIHNob3J0aGFuZC4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODk4MAor
CisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIFRoaXMgc2hvcnRo
YW5kIHNldHMgdGhlIHZhbHVlcyBmb3IgdGhlIGdyaWQtdGVtcGxhdGUtY29sdW1ucywKKyAgICAg
ICAgZ3JpZC10ZW1wbGF0ZS1yb3dzIGFuZCBncmlkLXRlbXBsYXRlLWFyZWFzLCBzbyB0aGUgaW1w
bGVtZW50YXRpb24KKyAgICAgICAgdHJpZXMgdG8gcmV1c2UgYXMgbXVjaCBhdmFpbGFibGUgcGFy
c2luZyBmdW5jdGlvbnMgYXMgcG9zc2libGUuCisKKyAgICAgICAgVGhlICJwYXJzaW5nR3JpZFRy
YWNrTGlzdCIgd2FzIHJlZmFjdG9yZWQgdG8gcmV0dXJuIGEgQ1NTVmFsdWUgYW5kCisgICAgICAg
IGxldCB0aGUgInBhcnNlVmFsdWUiIGZ1bmN0aW9uIHRvIGFzc2lnbiB0aGUgcHJvcGVydHkgdmFs
dWUuIFRoZQorICAgICAgICAiZm9yd2FyZFNsYXNoIiBvcGVyYXRvciBpcyBub3cgdmFsaWQgd2hl
biB0aGUgdHJhY2stbGlzdCBjbGF1c2UgaXMKKyAgICAgICAgcGFydCBvZiBhIHNob3J0aGFuZC4g
VGhlICJwYXJzZVZhbHVlIiBmdW5jdGlvbiBjaGVja291dHMgdGhhdCBvbmx5CisgICAgICAgIGFk
ZGl0aW9uYWwgY2xhdXNlcyBhcmUgYWxsb3dlZCB3aGVuIHByb2Nlc3Npbmcgc2hvcnRoYW5kczsg
dGhlCisgICAgICAgIGdyaWQtY29sdW1ucy1yb3dzLWdldC1zZXQuaHRtbCB0ZXN0cyB3YXMgbW9k
aWZpZWQgdG8gdmVyaWZ5IHRoaXMuCisKKyAgICAgICAgVGhlICJwYXJzZUdyaWRUZW1wbGF0ZUFy
ZWFzIiB3YXMgcmVmYWN0b3JlZCB0b28sIGluIG9yZGVyIHRvCisgICAgICAgIHByb2Nlc3Mgc2lu
Z2xlIGFyZWFzJ3Mgcm93cy4gVGhpcyBpcyB2ZXJ5IHVzZWZ1bCBmb3IgdGhlCisgICAgICAgIGdy
aXMtdGVtcGxhdGUgc2Vjb25kYXJ5IHN5bnRheCwgd2hpY2ggbWl4ZXMgYXJlYXMgYW5kIHJvd3Mg
dmFsdWVzLgorCisgICAgICAgIEZpbmFsbHksIHRoZSAicGFyc2VHaXJkTGluZU5hbWVzIiBmdW5j
dGlvbiB3YXMgbW9kaWZpZWQgYXMgd2VsbCBieQorICAgICAgICBkZWZpbmluZyBhbiBuZXcgYXJn
dW1lbnQgdG8gY29uY2F0ZW5hdGUgaGVhZC90YWlsIGN1c3RvbS1pZGVudAorICAgICAgICBlbGVt
ZW50cyBhbmQgZW5zdXJlIHRoZSBpZGVudExpc3QgaXMgYXQgdGhlIGhlYWRpbmcgaW5kZXgsIHNp
bmNlCisgICAgICAgIGl0J3Mgbm93IHBvc3NpYmxlIHRoZSBwYXJzZUxpc3Qgd2FzIHJld291bmQu
CisKKyAgICAgICAgVGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBncmlkLXRlbXBsYXRlIHNob3J0
aGFuZCB0cmllcyBmaXJzdCB0bworICAgICAgICBtYXRjaCB0aGUgPGdyaWQtdGVtcGxhdGUtY29s
dW1ucz4gLyA8Z3JpZC10ZW1wbGF0ZS1yb3dzPiBzeW50YXgsCisgICAgICAgIGZhaWxpbmcgYmFj
ayB0byB0aGUgc2Vjb25kYXJ5IHN5bnRheCBpZiBuZWVkZWQuICBUaGlzIGFwcHJvYWNoCisgICAg
ICAgIHJlcXVpcmVzIHRvIHJld2luZCB0aGUgcGFyc2VMaXN0IGJ1dCBpdCBwcm9kdWNlcyBhIGNs
ZWFyZXIgY29kZS4KKworICAgICAgICBUZXN0OiBmYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXRl
bXBsYXRlLXNob3J0aGFuZC1nZXQtc2V0Lmh0bWwKKworICAgICAgICAqIGNzcy9DU1NDb21wdXRl
ZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcHV0ZWRTdHlsZUV4
dHJhY3Rvcjo6cHJvcGVydHlWYWx1ZSk6CisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTUGFyc2VyOjpwYXJzZUdyaWRUZW1wbGF0ZVJvd3NBbmRBcmVhcyk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlR3JpZFRlbXBsYXRlU2hvcnRoYW5kKToKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VHcmlkTGluZU5hbWVzKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1BhcnNlcjo6cGFyc2VHcmlkVHJhY2tMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1BhcnNlcjo6cGFyc2VHcmlkVGVtcGxhdGVBcmVhc1Jvdyk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NQYXJzZXI6OnBhcnNlR3JpZFRlbXBsYXRlQXJlYXMpOgorICAgICAgICAqIGNzcy9DU1NQYXJz
ZXIuaDoKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyVmFsdWVzLmg6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NQYXJzZXJWYWx1ZUxpc3Q6OnNldEN1cnJlbnRJbmRleCk6CisgICAgICAgICogY3NzL0NT
U1Byb3BlcnR5TmFtZXMuaW46CisgICAgICAgICogY3NzL1N0eWxlUHJvcGVydHlTaG9ydGhhbmQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6d2Via2l0R3JpZFRlbXBsYXRlU2hvcnRoYW5kKToKKyAg
ICAgICAgKiBjc3MvU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oOgorCiAyMDE0LTA0LTAzICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5kZXJTbmFwc2hvdHRl
ZFBsdWdJbjo6cGFpbnQgc2hvdWxkIHVzZSBpdGVyYXRvciBmb3IgdHJhdmVyc2FsLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAppbmRl
eCBiYTNkNjEzOWU2MjljMTQzZGRhMDc4NzhjZDc0NDMzMGZhZTI1ZDVkLi5kMmM5ODdhZGNhZTg4
ZDY0OTFiZTlhY2RiZjE1NzI5OGNmMjkzOTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMjA4Miw2ICsyMDgyLDggQEAg
UGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ29tcHV0ZWRTdHlsZUV4dHJhY3Rvcjo6cHJvcGVydHlWYWx1
ZShDU1NQcm9wZXJ0eUlEIHByb3BlcnQKICAgICAgICAgICAgIHJldHVybiB2YWx1ZUZvckdyaWRQ
b3NpdGlvbihzdHlsZS0+Z3JpZEl0ZW1Sb3dFbmQoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVy
dHlXZWJraXRHcmlkQXJlYToKICAgICAgICAgICAgIHJldHVybiBnZXRDU1NQcm9wZXJ0eVZhbHVl
c0ZvckdyaWRTaG9ydGhhbmQod2Via2l0R3JpZEFyZWFTaG9ydGhhbmQoKSk7CisgICAgICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGU6CisgICAgICAgICAgICByZXR1cm4gZ2V0
Q1NTUHJvcGVydHlWYWx1ZXNGb3JHcmlkU2hvcnRoYW5kKHdlYmtpdEdyaWRUZW1wbGF0ZVNob3J0
aGFuZCgpKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRDb2x1bW46CiAgICAg
ICAgICAgICByZXR1cm4gZ2V0Q1NTUHJvcGVydHlWYWx1ZXNGb3JHcmlkU2hvcnRoYW5kKHdlYmtp
dEdyaWRDb2x1bW5TaG9ydGhhbmQoKSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRH
cmlkUm93OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCBkZjVlMzFkZmVlODkzNmJhZTE5
N2I4ZjM4ZGRmODkyYmMxZGE3Y2MwLi5hOGU2MTdhMDY4MWMxMGRhYmIxYWNiYzU1MzY1OTkyMzY1
MjViMTk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtOTUsNyArOTUsNiBAQAogCiAj
aWYgRU5BQkxFKENTU19HUklEX0xBWU9VVCkKICNpbmNsdWRlICJDU1NHcmlkTGluZU5hbWVzVmFs
dWUuaCIKLSNpbmNsdWRlICJDU1NHcmlkVGVtcGxhdGVBcmVhc1ZhbHVlLmgiCiAjZW5kaWYKIAog
I2lmIEVOQUJMRShDU1NfSU1BR0VfU0VUKQpAQCAtMjU3NCw3ICsyNTczLDggQEAgYm9vbCBDU1NQ
YXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KQog
ICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVSb3dzOgogICAgICAgICBpZiAo
IWNzc0dyaWRMYXlvdXRFbmFibGVkKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
ICAgIHJldHVybiBwYXJzZUdyaWRUcmFja0xpc3QocHJvcElkLCBpbXBvcnRhbnQpOworICAgICAg
ICBwYXJzZWRWYWx1ZSA9IHBhcnNlR3JpZFRyYWNrTGlzdCgpOworICAgICAgICBicmVhazsKIAog
ICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRHcmlkQ29sdW1uU3RhcnQ6CiAgICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdEdyaWRDb2x1bW5FbmQ6CkBAIC0yNTk0LDYgKzI1OTQsMTEgQEAgYm9vbCBD
U1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJvcGVydHlJRCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50
KQogICAgICAgICByZXR1cm4gcGFyc2VHcmlkSXRlbVBvc2l0aW9uU2hvcnRoYW5kKHByb3BJZCwg
aW1wb3J0YW50KTsKICAgICB9CiAKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBs
YXRlOgorICAgICAgICBpZiAoIWNzc0dyaWRMYXlvdXRFbmFibGVkKCkpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBwYXJzZUdyaWRUZW1wbGF0ZVNob3J0aGFuZChp
bXBvcnRhbnQpOworCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRBcmVhOgogICAgICAg
ICBpZiAoIWNzc0dyaWRMYXlvdXRFbmFibGVkKCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CkBAIC00Nzk3LDYgKzQ4MDIsMTEzIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUdyaWRJdGVtUG9z
aXRpb25TaG9ydGhhbmQoQ1NTUHJvcGVydHlJRCBzaG9ydGhhbmRJZCwgYm9vbCBpCiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKK2Jvb2wgQ1NTUGFyc2VyOjpwYXJzZUdyaWRUZW1wbGF0ZVJvd3NBbmRB
cmVhcyhQYXNzUmVmUHRyPENTU1ZhbHVlPiB0ZW1wbGF0ZUNvbHVtbnMsIGJvb2wgaW1wb3J0YW50
KQoreworICAgIC8vIEF0IGxlYXN0IHRlbXBsYXRlLWFyZWFzIHN0cmluZ3MgbXVzdCBiZSBkZWZp
bmVkLgorICAgIGlmICghbV92YWx1ZUxpc3QtPmN1cnJlbnQoKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgTmFtZWRHcmlkQXJlYU1hcCBncmlkQXJlYU1hcDsKKyAgICB1bnNpZ25lZCBy
b3dDb3VudCA9IDA7CisgICAgdW5zaWduZWQgY29sdW1uQ291bnQgPSAwOworICAgIGJvb2wgdHJh
aWxpbmdJZGVudFdhc0FkZGVkID0gZmFsc2U7CisgICAgUmVmUHRyPENTU1ZhbHVlTGlzdD4gdGVt
cGxhdGVSb3dzID0gQ1NTVmFsdWVMaXN0OjpjcmVhdGVTcGFjZVNlcGFyYXRlZCgpOworCisgICAg
ZG8geworICAgICAgICAvLyBIYW5kbGUgbGVhZGluZyA8Y3VzdG9tLWlkZW50PiouCisgICAgICAg
IGlmIChtX3ZhbHVlTGlzdC0+Y3VycmVudCgpLT51bml0ID09IENTU1BhcnNlclZhbHVlOjpWYWx1
ZUxpc3QpIHsKKyAgICAgICAgICAgIGlmICh0cmFpbGluZ0lkZW50V2FzQWRkZWQpIHsKKyAgICAg
ICAgICAgICAgICAvLyBBIHJvdydzIHRyYWlsaW5nIGlkZW50IG11c3QgYmUgY29uY2F0ZW5hdGVk
IHdpdGggdGhlIG5leHQgcm93J3MgbGVhZGluZyBvbmUuCisgICAgICAgICAgICAgICAgcGFyc2VH
cmlkTGluZU5hbWVzKCptX3ZhbHVlTGlzdCwgKnRlbXBsYXRlUm93cywgc3RhdGljX2Nhc3Q8Q1NT
R3JpZExpbmVOYW1lc1ZhbHVlKj4odGVtcGxhdGVSb3dzLT5pdGVtKHRlbXBsYXRlUm93cy0+bGVu
Z3RoKCkgLSAxKSkpOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAgcGFyc2VH
cmlkTGluZU5hbWVzKCptX3ZhbHVlTGlzdCwgKnRlbXBsYXRlUm93cyk7CisgICAgICAgIH0KKwor
ICAgICAgICAvLyBIYW5kbGUgYSB0ZW1wbGF0ZS1hcmVhJ3Mgcm93LgorICAgICAgICBpZiAoIXBh
cnNlR3JpZFRlbXBsYXRlQXJlYXNSb3coZ3JpZEFyZWFNYXAsIHJvd0NvdW50LCBjb2x1bW5Db3Vu
dCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICsrcm93Q291bnQ7CisKKyAg
ICAgICAgLy8gSGFuZGxlIHRlbXBsYXRlLXJvd3MncyB0cmFjay1zaXplLgorICAgICAgICBpZiAo
bV92YWx1ZUxpc3QtPmN1cnJlbnQoKSAmJiBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpLT51bml0ICE9
IENTU1BhcnNlclZhbHVlOjpWYWx1ZUxpc3QgJiYgbV92YWx1ZUxpc3QtPmN1cnJlbnQoKS0+dW5p
dCAhPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1NUUklORykgeworICAgICAgICAgICAgUmVmUHRy
PENTU1ZhbHVlPiB2YWx1ZSA9IHBhcnNlR3JpZFRyYWNrU2l6ZSgqbV92YWx1ZUxpc3QpOworICAg
ICAgICAgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgICAgICB0ZW1wbGF0ZVJvd3MtPmFwcGVuZCh2YWx1ZS5yZWxlYXNlKCkpOworICAgICAgICB9
IGVsc2UKKyAgICAgICAgICAgIHRlbXBsYXRlUm93cy0+YXBwZW5kKGNzc1ZhbHVlUG9vbCgpLmNy
ZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZUF1dG8pKTsKKworICAgICAgICAvLyBUaGlzIHdp
bGwgaGFuZGxlIHRoZSB0cmFpbGluZy9sZWFkaW5nIDxjdXN0b20taWRlbnQ+KiBpbiB0aGUgZ3Jh
bW1hci4KKyAgICAgICAgdHJhaWxpbmdJZGVudFdhc0FkZGVkID0gZmFsc2U7CisgICAgICAgIGlm
IChtX3ZhbHVlTGlzdC0+Y3VycmVudCgpICYmIG1fdmFsdWVMaXN0LT5jdXJyZW50KCktPnVuaXQg
PT0gQ1NTUGFyc2VyVmFsdWU6OlZhbHVlTGlzdCkgeworICAgICAgICAgICAgcGFyc2VHcmlkTGlu
ZU5hbWVzKCptX3ZhbHVlTGlzdCwgKnRlbXBsYXRlUm93cyk7CisgICAgICAgICAgICB0cmFpbGlu
Z0lkZW50V2FzQWRkZWQgPSB0cnVlOworICAgICAgICB9CisgICAgfSB3aGlsZSAobV92YWx1ZUxp
c3QtPmN1cnJlbnQoKSk7CisKKyAgICAvLyBbPHRyYWNrLWxpc3Q+IC9dPworICAgIGlmICh0ZW1w
bGF0ZUNvbHVtbnMpCisgICAgICAgIGFkZFByb3BlcnR5KENTU1Byb3BlcnR5V2Via2l0R3JpZFRl
bXBsYXRlQ29sdW1ucywgdGVtcGxhdGVDb2x1bW5zLCBpbXBvcnRhbnQpOworICAgIGVsc2UKKyAg
ICAgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVDb2x1bW5zLCBj
c3NWYWx1ZVBvb2woKS5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb25lKSwgaW1wb3J0
YW50KTsKKworICAgIC8vIFs8bGluZS1uYW1lcz4/IDxzdHJpbmc+IFs8dHJhY2stc2l6ZT4gPGxp
bmUtbmFtZXM+XT8gXSsKKyAgICBSZWZQdHI8Q1NTVmFsdWU+IHRlbXBsYXRlQXJlYXMgPSBDU1NH
cmlkVGVtcGxhdGVBcmVhc1ZhbHVlOjpjcmVhdGUoZ3JpZEFyZWFNYXAsIHJvd0NvdW50LCBjb2x1
bW5Db3VudCk7CisgICAgYWRkUHJvcGVydHkoQ1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVB
cmVhcywgdGVtcGxhdGVBcmVhcy5yZWxlYXNlKCksIGltcG9ydGFudCk7CisgICAgYWRkUHJvcGVy
dHkoQ1NTUHJvcGVydHlXZWJraXRHcmlkVGVtcGxhdGVSb3dzLCB0ZW1wbGF0ZVJvd3MucmVsZWFz
ZSgpLCBpbXBvcnRhbnQpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgQ1NTUGFyc2Vy
OjpwYXJzZUdyaWRUZW1wbGF0ZVNob3J0aGFuZChib29sIGltcG9ydGFudCkKK3sKKyAgICBBU1NF
UlQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6Y3NzR3JpZExheW91dEVuYWJsZWQoKSk7CisKKyAg
ICBTaG9ydGhhbmRTY29wZSBzY29wZSh0aGlzLCBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0
ZSk7CisgICAgQVNTRVJUKGdyaWRUZW1wbGF0ZVNob3J0aGFuZCgpLmxlbmd0aCgpID09IDMpOwor
CisgICAgLy8gQXQgbGVhc3QgIm5vbmUiIG11c3QgYmUgZGVmaW5lZC4KKyAgICBpZiAoIW1fdmFs
dWVMaXN0LT5jdXJyZW50KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGJvb2wgZmly
c3RWYWx1ZUlzTm9uZSA9IG1fdmFsdWVMaXN0LT5jdXJyZW50KCktPmlkID09IENTU1ZhbHVlTm9u
ZTsKKworICAgIC8vIDEtICdub25lJyBjYXNlLgorICAgIGlmIChmaXJzdFZhbHVlSXNOb25lICYm
ICFtX3ZhbHVlTGlzdC0+bmV4dCgpKSB7CisgICAgICAgIGFkZFByb3BlcnR5KENTU1Byb3BlcnR5
V2Via2l0R3JpZFRlbXBsYXRlQ29sdW1ucywgY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRlbnRpZmll
clZhbHVlKENTU1ZhbHVlTm9uZSksIGltcG9ydGFudCk7CisgICAgICAgIGFkZFByb3BlcnR5KENT
U1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlUm93cywgY3NzVmFsdWVQb29sKCkuY3JlYXRlSWRl
bnRpZmllclZhbHVlKENTU1ZhbHVlTm9uZSksIGltcG9ydGFudCk7CisgICAgICAgIGFkZFByb3Bl
cnR5KENTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlQXJlYXMsIGNzc1ZhbHVlUG9vbCgpLmNy
ZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZU5vbmUpLCBpbXBvcnRhbnQpOworICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICB1bnNpZ25lZCBpbmRleCA9IDA7CisgICAgUmVmUHRy
PENTU1ZhbHVlPiBjb2x1bW5zVmFsdWUgPSBmaXJzdFZhbHVlSXNOb25lID8gY3NzVmFsdWVQb29s
KCkuY3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9uZSkgOiBwYXJzZUdyaWRUcmFja0xp
c3QoKTsKKworICAgIC8vIDItIDxncmlkLXRlbXBsYXRlLWNvbHVtbnM+IC8gPGdyaWQtdGVtcGxh
dGUtY29sdW1ucz4gc3ludGF4LgorICAgIGlmIChjb2x1bW5zVmFsdWUpIHsKKyAgICAgICAgaWYg
KCEobV92YWx1ZUxpc3QtPmN1cnJlbnQoKSAmJiBpc0ZvcndhcmRTbGFzaE9wZXJhdG9yKG1fdmFs
dWVMaXN0LT5jdXJyZW50KCkpICYmIG1fdmFsdWVMaXN0LT5uZXh0KCkpKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICBpbmRleCA9IG1fdmFsdWVMaXN0LT5jdXJyZW50SW5kZXgo
KTsKKyAgICAgICAgaWYgKFJlZlB0cjxDU1NWYWx1ZT4gcm93c1ZhbHVlID0gcGFyc2VHcmlkVHJh
Y2tMaXN0KCkpIHsKKyAgICAgICAgICAgIGlmIChtX3ZhbHVlTGlzdC0+Y3VycmVudCgpKQorICAg
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIGFkZFByb3BlcnR5KENTU1By
b3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlQ29sdW1ucywgY29sdW1uc1ZhbHVlLnJlbGVhc2UoKSwg
aW1wb3J0YW50KTsKKyAgICAgICAgICAgIGFkZFByb3BlcnR5KENTU1Byb3BlcnR5V2Via2l0R3Jp
ZFRlbXBsYXRlUm93cywgcm93c1ZhbHVlLnJlbGVhc2UoKSwgaW1wb3J0YW50KTsKKyAgICAgICAg
ICAgIGFkZFByb3BlcnR5KENTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlQXJlYXMsIGNzc1Zh
bHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZU5vbmUpLCBpbXBvcnRhbnQp
OworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKyAgICB9CisKKworICAgIC8v
IDMtIFs8dHJhY2stbGlzdD4gL10/IFs8bGluZS1uYW1lcz4/IDxzdHJpbmc+IFs8dHJhY2stc2l6
ZT4gPGxpbmUtbmFtZXM+XT8gXSsgc3ludGF4LgorICAgIC8vIFRoZSB0ZW1wbGF0ZS1jb2x1bW5z
IDx0cmFjay1saXN0PiBjYW4ndCBiZSAnbm9uZScuCisgICAgaWYgKGZpcnN0VmFsdWVJc05vbmUp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAvLyBJdCByZXF1aXJlcyB0byByZXdpbmQgcGFy
c2luZyBkdWUgdG8gcHJldmlvdXMgc3ludGF4IGZhaWx1cmVzLgorICAgIG1fdmFsdWVMaXN0LT5z
ZXRDdXJyZW50SW5kZXgoaW5kZXgpOworICAgIHJldHVybiBwYXJzZUdyaWRUZW1wbGF0ZVJvd3NB
bmRBcmVhcyhjb2x1bW5zVmFsdWUsIGltcG9ydGFudCk7Cit9CisKIGJvb2wgQ1NTUGFyc2VyOjpw
YXJzZUdyaWRBcmVhU2hvcnRoYW5kKGJvb2wgaW1wb3J0YW50KQogewogICAgIEFTU0VSVChjc3NH
cmlkTGF5b3V0RW5hYmxlZCgpKTsKQEAgLTQ4NTEsNyArNDk2Myw3IEBAIGJvb2wgQ1NTUGFyc2Vy
OjpwYXJzZVNpbmdsZUdyaWRBcmVhTG9uZ2hhbmQoUmVmUHRyPENTU1ZhbHVlPiYgcHJvcGVydHkp
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLXZvaWQgQ1NTUGFyc2VyOjpwYXJzZUdyaWRMaW5lTmFt
ZXMoQ1NTUGFyc2VyVmFsdWVMaXN0JiBpbnB1dExpc3QsIENTU1ZhbHVlTGlzdCYgdmFsdWVMaXN0
KQordm9pZCBDU1NQYXJzZXI6OnBhcnNlR3JpZExpbmVOYW1lcyhDU1NQYXJzZXJWYWx1ZUxpc3Qm
IGlucHV0TGlzdCwgQ1NTVmFsdWVMaXN0JiB2YWx1ZUxpc3QsIENTU0dyaWRMaW5lTmFtZXNWYWx1
ZSogcHJldmlvdXNOYW1lZEFyZWFUcmFpbGluZ0xpbmVOYW1lcykKIHsKICAgICBBU1NFUlQoaW5w
dXRMaXN0LmN1cnJlbnQoKSAmJiBpbnB1dExpc3QuY3VycmVudCgpLT51bml0ID09IENTU1BhcnNl
clZhbHVlOjpWYWx1ZUxpc3QpOwogCkBAIC00ODYxLDI2ICs0OTczLDI3IEBAIHZvaWQgQ1NTUGFy
c2VyOjpwYXJzZUdyaWRMaW5lTmFtZXMoQ1NTUGFyc2VyVmFsdWVMaXN0JiBpbnB1dExpc3QsIENT
U1ZhbHVlTGlzdCYKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFJlZlB0cjxDU1NHcmlk
TGluZU5hbWVzVmFsdWU+IGxpbmVOYW1lcyA9IENTU0dyaWRMaW5lTmFtZXNWYWx1ZTo6Y3JlYXRl
KCk7CisgICAgLy8gTmVlZCB0byBlbnN1cmUgdGhlIGlkZW50TGlzdCBpcyBhdCB0aGUgaGVhZGlu
ZyBpbmRleCwgc2luY2UgdGhlIHBhcnNlckxpc3QgbWlnaHQgaGF2ZSBiZWVuIHJld291bmQuCisg
ICAgaWRlbnRMaXN0LT5zZXRDdXJyZW50SW5kZXgoMCk7CisKKyAgICBSZWZQdHI8Q1NTR3JpZExp
bmVOYW1lc1ZhbHVlPiBsaW5lTmFtZXMgPSBwcmV2aW91c05hbWVkQXJlYVRyYWlsaW5nTGluZU5h
bWVzID8gcHJldmlvdXNOYW1lZEFyZWFUcmFpbGluZ0xpbmVOYW1lcyA6IENTU0dyaWRMaW5lTmFt
ZXNWYWx1ZTo6Y3JlYXRlKCk7CiAgICAgd2hpbGUgKENTU1BhcnNlclZhbHVlKiBpZGVudFZhbHVl
ID0gaWRlbnRMaXN0LT5jdXJyZW50KCkpIHsKICAgICAgICAgQVNTRVJUKGlkZW50VmFsdWUtPnVu
aXQgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19JREVOVCk7CiAgICAgICAgIGxpbmVOYW1lcy0+
YXBwZW5kKGNyZWF0ZVByaW1pdGl2ZVN0cmluZ1ZhbHVlKGlkZW50VmFsdWUpKTsKICAgICAgICAg
aWRlbnRMaXN0LT5uZXh0KCk7CiAgICAgfQotICAgIHZhbHVlTGlzdC5hcHBlbmQobGluZU5hbWVz
LnJlbGVhc2UoKSk7CisgICAgaWYgKCFwcmV2aW91c05hbWVkQXJlYVRyYWlsaW5nTGluZU5hbWVz
KQorICAgICAgICB2YWx1ZUxpc3QuYXBwZW5kKGxpbmVOYW1lcy5yZWxlYXNlKCkpOwogCiAgICAg
aW5wdXRMaXN0Lm5leHQoKTsKIH0KIAotYm9vbCBDU1NQYXJzZXI6OnBhcnNlR3JpZFRyYWNrTGlz
dChDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCitQYXNzUmVmUHRyPENTU1Zh
bHVlPiBDU1NQYXJzZXI6OnBhcnNlR3JpZFRyYWNrTGlzdCgpCiB7CiAgICAgQ1NTUGFyc2VyVmFs
dWUqIHZhbHVlID0gbV92YWx1ZUxpc3QtPmN1cnJlbnQoKTsKICAgICBpZiAodmFsdWUtPmlkID09
IENTU1ZhbHVlTm9uZSkgewotICAgICAgICBpZiAobV92YWx1ZUxpc3QtPm5leHQoKSkKLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICBhZGRQcm9wZXJ0eShwcm9wSWQsIGNzc1Zh
bHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZSh2YWx1ZS0+aWQpLCBpbXBvcnRhbnQpOwot
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQoKTsKKyAgICAg
ICAgcmV0dXJuIGNzc1ZhbHVlUG9vbCgpLmNyZWF0ZUlkZW50aWZpZXJWYWx1ZShDU1NWYWx1ZU5v
bmUpOwogICAgIH0KIAogICAgIFJlZlB0cjxDU1NWYWx1ZUxpc3Q+IHZhbHVlcyA9IENTU1ZhbHVl
TGlzdDo6Y3JlYXRlU3BhY2VTZXBhcmF0ZWQoKTsKQEAgLTQ4OTEsMTMgKzUwMDQsMTUgQEAgYm9v
bCBDU1NQYXJzZXI6OnBhcnNlR3JpZFRyYWNrTGlzdChDU1NQcm9wZXJ0eUlEIHByb3BJZCwgYm9v
bCBpbXBvcnRhbnQpCiAKICAgICBib29sIHNlZW5UcmFja1NpemVPclJlcGVhdEZ1bmN0aW9uID0g
ZmFsc2U7CiAgICAgd2hpbGUgKENTU1BhcnNlclZhbHVlKiBjdXJyZW50VmFsdWUgPSBtX3ZhbHVl
TGlzdC0+Y3VycmVudCgpKSB7CisgICAgICAgIGlmIChpc0ZvcndhcmRTbGFzaE9wZXJhdG9yKGN1
cnJlbnRWYWx1ZSkpCisgICAgICAgICAgICBicmVhazsKICAgICAgICAgaWYgKGN1cnJlbnRWYWx1
ZS0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1ZTo6RnVuY3Rpb24gJiYgZXF1YWxJZ25vcmluZ0Nhc2Uo
Y3VycmVudFZhbHVlLT5mdW5jdGlvbi0+bmFtZSwgInJlcGVhdCgiKSkgewogICAgICAgICAgICAg
aWYgKCFwYXJzZUdyaWRUcmFja1JlcGVhdEZ1bmN0aW9uKCp2YWx1ZXMpKQotICAgICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAg
ICAgfSBlbHNlIHsKICAgICAgICAgICAgIFJlZlB0cjxDU1NWYWx1ZT4gdmFsdWUgPSBwYXJzZUdy
aWRUcmFja1NpemUoKm1fdmFsdWVMaXN0KTsKICAgICAgICAgICAgIGlmICghdmFsdWUpCi0gICAg
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRy
OwogICAgICAgICAgICAgdmFsdWVzLT5hcHBlbmQodmFsdWUucmVsZWFzZSgpKTsKICAgICAgICAg
fQogICAgICAgICBzZWVuVHJhY2tTaXplT3JSZXBlYXRGdW5jdGlvbiA9IHRydWU7CkBAIC00OTA5
LDEwICs1MDI0LDkgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlR3JpZFRyYWNrTGlzdChDU1NQcm9w
ZXJ0eUlEIHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgfQogCiAgICAgaWYgKCFzZWVuVHJh
Y2tTaXplT3JSZXBlYXRGdW5jdGlvbikKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKIAotICAgIGFkZFByb3BlcnR5KHByb3BJZCwgdmFsdWVzLnJlbGVhc2Uo
KSwgaW1wb3J0YW50KTsKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gdmFsdWVzLnJlbGVh
c2UoKTsKIH0KIAogYm9vbCBDU1NQYXJzZXI6OnBhcnNlR3JpZFRyYWNrUmVwZWF0RnVuY3Rpb24o
Q1NTVmFsdWVMaXN0JiBsaXN0KQpAQCAtNTE0OSw3MyArNTI2Myw3OSBAQCBib29sIENTU1BhcnNl
cjo6cGFyc2VEYXNoYm9hcmRSZWdpb25zKENTU1Byb3BlcnR5SUQgcHJvcElkLCBib29sIGltcG9y
dGFudCkKICNlbmRpZiAvKiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpICovCiAKICNpZiBFTkFC
TEUoQ1NTX0dSSURfTEFZT1VUKQotUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTUGFyc2VyOjpwYXJz
ZUdyaWRUZW1wbGF0ZUFyZWFzKCkKK2Jvb2wgQ1NTUGFyc2VyOjpwYXJzZUdyaWRUZW1wbGF0ZUFy
ZWFzUm93KE5hbWVkR3JpZEFyZWFNYXAmIGdyaWRBcmVhTWFwLCBjb25zdCB1bnNpZ25lZCByb3dD
b3VudCwgdW5zaWduZWQmIGNvbHVtbkNvdW50KQogewotICAgIE5hbWVkR3JpZEFyZWFNYXAgZ3Jp
ZEFyZWFNYXA7Ci0gICAgc2l6ZV90IHJvd0NvdW50ID0gMDsKLSAgICBzaXplX3QgY29sdW1uQ291
bnQgPSAwOworICAgIENTU1BhcnNlclZhbHVlKiBjdXJyZW50VmFsdWUgPSBtX3ZhbHVlTGlzdC0+
Y3VycmVudCgpOworICAgIGlmICghY3VycmVudFZhbHVlIHx8IGN1cnJlbnRWYWx1ZS0+dW5pdCAh
PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1NUUklORykKKyAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgd2hpbGUgKENTU1BhcnNlclZhbHVlKiBjdXJyZW50VmFsdWUgPSBtX3ZhbHVlTGlzdC0+
Y3VycmVudCgpKSB7Ci0gICAgICAgIGlmIChjdXJyZW50VmFsdWUtPnVuaXQgIT0gQ1NTUHJpbWl0
aXZlVmFsdWU6OkNTU19TVFJJTkcpCi0gICAgICAgICAgICByZXR1cm4gMDsKKyAgICBTdHJpbmcg
Z3JpZFJvd05hbWVzID0gY3VycmVudFZhbHVlLT5zdHJpbmc7CisgICAgaWYgKGdyaWRSb3dOYW1l
cy5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICBTdHJpbmcgZ3Jp
ZFJvd05hbWVzID0gY3VycmVudFZhbHVlLT5zdHJpbmc7Ci0gICAgICAgIGlmICghZ3JpZFJvd05h
bWVzLmxlbmd0aCgpKQotICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgVmVjdG9yPFN0cmluZz4g
Y29sdW1uTmFtZXM7CisgICAgZ3JpZFJvd05hbWVzLnNwbGl0KCcgJywgY29sdW1uTmFtZXMpOwog
Ci0gICAgICAgIFZlY3RvcjxTdHJpbmc+IGNvbHVtbk5hbWVzOwotICAgICAgICBncmlkUm93TmFt
ZXMuc3BsaXQoJyAnLCBjb2x1bW5OYW1lcyk7CisgICAgaWYgKCFjb2x1bW5Db3VudCkgeworICAg
ICAgICBjb2x1bW5Db3VudCA9IGNvbHVtbk5hbWVzLnNpemUoKTsKKyAgICAgICAgQVNTRVJUKGNv
bHVtbkNvdW50KTsKKyAgICB9IGVsc2UgaWYgKGNvbHVtbkNvdW50ICE9IGNvbHVtbk5hbWVzLnNp
emUoKSkgeworICAgICAgICAvLyBUaGUgZGVjbGFyYXRpb24gaXMgaW52YWxpZCBpcyBhbGwgdGhl
IHJvd3MgZG9uJ3QgaGF2ZSB0aGUgbnVtYmVyIG9mIGNvbHVtbnMuCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB9CiAKLSAgICAgICAgaWYgKGNvbHVtbkNvdW50ICYmIChjb2x1bW5Db3VudCAh
PSBjb2x1bW5OYW1lcy5zaXplKCkpKSB7Ci0gICAgICAgICAgICAvLyBUaGUgZGVjbGFyYXRpb24g
aXMgaW52YWxpZCBpZiBhbGwgdGhlIHJvd3MgZG9uJ3QgaGF2ZSB0aGUgbnVtYmVyIG9mIGNvbHVt
bnMuCi0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgfQorICAgIGZvciAodW5zaWduZWQg
Y3VycmVudENvbHVtbiA9IDA7IGN1cnJlbnRDb2x1bW4gPCBjb2x1bW5Db3VudDsgKytjdXJyZW50
Q29sdW1uKSB7CisgICAgICAgIGNvbnN0IFN0cmluZyYgZ3JpZEFyZWFOYW1lID0gY29sdW1uTmFt
ZXNbY3VycmVudENvbHVtbl07CiAKLSAgICAgICAgaWYgKCFjb2x1bW5Db3VudCkgewotICAgICAg
ICAgICAgY29sdW1uQ291bnQgPSBjb2x1bW5OYW1lcy5zaXplKCk7Ci0gICAgICAgICAgICBBU1NF
UlQoY29sdW1uQ291bnQpOwotICAgICAgICB9CisgICAgICAgIC8vIFVuYW1lZCBhcmVhcyBhcmUg
YWx3YXlzIHZhbGlkICh3ZSBjb25zaWRlciB0aGVtIHRvIGJlIDF4MSkuCisgICAgICAgIGlmIChn
cmlkQXJlYU5hbWUgPT0gIi4iKQorICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgZm9y
IChzaXplX3QgY3VycmVudENvbHVtbiA9IDA7IGN1cnJlbnRDb2x1bW4gPCBjb2x1bW5Db3VudDsg
KytjdXJyZW50Q29sdW1uKSB7Ci0gICAgICAgICAgICBjb25zdCBTdHJpbmcmIGdyaWRBcmVhTmFt
ZSA9IGNvbHVtbk5hbWVzW2N1cnJlbnRDb2x1bW5dOworICAgICAgICAvLyBXZSBoYW5kbGUgc2V2
ZXJhbCBncmlkIGFyZWFzIHdpdGggdGhlIHNhbWUgbmFtZSBhdCBvbmNlIHRvIHNpbXBsaWZ5IHRo
ZSB2YWxpZGF0aW9uIGNvZGUuCisgICAgICAgIHVuc2lnbmVkIGxvb2tBaGVhZENvbHVtbjsKKyAg
ICAgICAgZm9yIChsb29rQWhlYWRDb2x1bW4gPSBjdXJyZW50Q29sdW1uOyBsb29rQWhlYWRDb2x1
bW4gPCBjb2x1bW5Db3VudCAtIDE7ICsrbG9va0FoZWFkQ29sdW1uKSB7CisgICAgICAgICAgICBp
ZiAoY29sdW1uTmFtZXNbbG9va0FoZWFkQ29sdW1uICsgMV0gIT0gZ3JpZEFyZWFOYW1lKQorICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAKLSAgICAgICAgICAgIC8vIFVuYW1lZCBh
cmVhcyBhcmUgYWx3YXlzIHZhbGlkICh3ZSBjb25zaWRlciB0aGVtIHRvIGJlIDF4MSkuCi0gICAg
ICAgICAgICBpZiAoZ3JpZEFyZWFOYW1lID09ICIuIikKLSAgICAgICAgICAgICAgICBjb250aW51
ZTsKKyAgICAgICAgYXV0byBncmlkQXJlYUl0ZXJhdG9yID0gZ3JpZEFyZWFNYXAuZmluZChncmlk
QXJlYU5hbWUpOworICAgICAgICBpZiAoZ3JpZEFyZWFJdGVyYXRvciA9PSBncmlkQXJlYU1hcC5l
bmQoKSkKKyAgICAgICAgICAgIGdyaWRBcmVhTWFwLmFkZChncmlkQXJlYU5hbWUsIEdyaWRDb29y
ZGluYXRlKEdyaWRTcGFuKHJvd0NvdW50LCByb3dDb3VudCksIEdyaWRTcGFuKGN1cnJlbnRDb2x1
bW4sIGxvb2tBaGVhZENvbHVtbikpKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBHcmlk
Q29vcmRpbmF0ZSYgZ3JpZENvb3JkaW5hdGUgPSBncmlkQXJlYUl0ZXJhdG9yLT52YWx1ZTsKIAot
ICAgICAgICAgICAgLy8gV2UgaGFuZGxlIHNldmVyYWwgZ3JpZCBhcmVhcyB3aXRoIHRoZSBzYW1l
IG5hbWUgYXQgb25jZSB0byBzaW1wbGlmeSB0aGUgdmFsaWRhdGlvbiBjb2RlLgotICAgICAgICAg
ICAgc2l6ZV90IGxvb2tBaGVhZENvbHVtbjsKLSAgICAgICAgICAgIGZvciAobG9va0FoZWFkQ29s
dW1uID0gY3VycmVudENvbHVtbjsgbG9va0FoZWFkQ29sdW1uIDwgKGNvbHVtbkNvdW50IC0gMSk7
ICsrbG9va0FoZWFkQ29sdW1uKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGNvbHVtbk5hbWVzW2xv
b2tBaGVhZENvbHVtbiArIDFdICE9IGdyaWRBcmVhTmFtZSkKLSAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGNoZWNr
cyB0ZXN0IHRoYXQgdGhlIGdyaWQgYXJlYSBpcyBhIHNpbmdsZSBmaWxsZWQtaW4gcmVjdGFuZ2xl
LgorICAgICAgICAgICAgLy8gMS4gVGhlIG5ldyByb3cgaXMgYWRqYWNlbnQgdG8gdGhlIHByZXZp
b3VzbHkgcGFyc2VkIHJvdy4KKyAgICAgICAgICAgIGlmIChyb3dDb3VudCAhPSBncmlkQ29vcmRp
bmF0ZS5yb3dzLmZpbmFsUG9zaXRpb25JbmRleCArIDEpCisgICAgICAgICAgICAgICAgcmV0dXJu
IDA7CiAKLSAgICAgICAgICAgIGF1dG8gZ3JpZEFyZWFJdGVyYXRvciA9IGdyaWRBcmVhTWFwLmZp
bmQoZ3JpZEFyZWFOYW1lKTsKLSAgICAgICAgICAgIGlmIChncmlkQXJlYUl0ZXJhdG9yID09IGdy
aWRBcmVhTWFwLmVuZCgpKQotICAgICAgICAgICAgICAgIGdyaWRBcmVhTWFwLmFkZChncmlkQXJl
YU5hbWUsIEdyaWRDb29yZGluYXRlKEdyaWRTcGFuKHJvd0NvdW50LCByb3dDb3VudCksIEdyaWRT
cGFuKGN1cnJlbnRDb2x1bW4sIGxvb2tBaGVhZENvbHVtbikpKTsKLSAgICAgICAgICAgIGVsc2Ug
ewotICAgICAgICAgICAgICAgIEdyaWRDb29yZGluYXRlJiBncmlkQ29vcmRpbmF0ZSA9IGdyaWRB
cmVhSXRlcmF0b3ItPnZhbHVlOworICAgICAgICAgICAgLy8gMi4gVGhlIG5ldyBhcmVhIHN0YXJ0
cyBhdCB0aGUgc2FtZSBwb3NpdGlvbiBhcyB0aGUgcHJldmlvdXNseSBwYXJzZWQgYXJlYS4KKyAg
ICAgICAgICAgIGlmIChjdXJyZW50Q29sdW1uICE9IGdyaWRDb29yZGluYXRlLmNvbHVtbnMuaW5p
dGlhbFBvc2l0aW9uSW5kZXgpCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICAgICAg
ICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGNoZWNrcyB0ZXN0IHRoYXQgdGhlIGdyaWQgYXJlYSBp
cyBhIHNpbmdsZSBmaWxsZWQtaW4gcmVjdGFuZ2xlLgotICAgICAgICAgICAgICAgIC8vIDEuIFRo
ZSBuZXcgcm93IGlzIGFkamFjZW50IHRvIHRoZSBwcmV2aW91c2x5IHBhcnNlZCByb3cuCi0gICAg
ICAgICAgICAgICAgaWYgKHJvd0NvdW50ICE9IGdyaWRDb29yZGluYXRlLnJvd3MuZmluYWxQb3Np
dGlvbkluZGV4ICsgMSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAg
ICAvLyAzLiBUaGUgbmV3IGFyZWEgZW5kcyBhdCB0aGUgc2FtZSBwb3NpdGlvbiBhcyB0aGUgcHJl
dmlvdXNseSBwYXJzZWQgYXJlYS4KKyAgICAgICAgICAgIGlmIChsb29rQWhlYWRDb2x1bW4gIT0g
Z3JpZENvb3JkaW5hdGUuY29sdW1ucy5maW5hbFBvc2l0aW9uSW5kZXgpCisgICAgICAgICAgICAg
ICAgcmV0dXJuIDA7CiAKLSAgICAgICAgICAgICAgICAvLyAyLiBUaGUgbmV3IGFyZWEgc3RhcnRz
IGF0IHRoZSBzYW1lIHBvc2l0aW9uIGFzIHRoZSBwcmV2aW91c2x5IHBhcnNlZCBhcmVhLgotICAg
ICAgICAgICAgICAgIGlmIChjdXJyZW50Q29sdW1uICE9IGdyaWRDb29yZGluYXRlLmNvbHVtbnMu
aW5pdGlhbFBvc2l0aW9uSW5kZXgpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiAwOworICAg
ICAgICAgICAgKytncmlkQ29vcmRpbmF0ZS5yb3dzLmZpbmFsUG9zaXRpb25JbmRleDsKKyAgICAg
ICAgfQorICAgICAgICBjdXJyZW50Q29sdW1uID0gbG9va0FoZWFkQ29sdW1uOworICAgIH0KIAot
ICAgICAgICAgICAgICAgIC8vIDMuIFRoZSBuZXcgYXJlYSBlbmRzIGF0IHRoZSBzYW1lIHBvc2l0
aW9uIGFzIHRoZSBwcmV2aW91c2x5IHBhcnNlZCBhcmVhLgotICAgICAgICAgICAgICAgIGlmIChs
b29rQWhlYWRDb2x1bW4gIT0gZ3JpZENvb3JkaW5hdGUuY29sdW1ucy5maW5hbFBvc2l0aW9uSW5k
ZXgpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgIG1fdmFsdWVMaXN0LT5uZXh0
KCk7CisgICAgcmV0dXJuIHRydWU7Cit9CiAKLSAgICAgICAgICAgICAgICArK2dyaWRDb29yZGlu
YXRlLnJvd3MuZmluYWxQb3NpdGlvbkluZGV4OwotICAgICAgICAgICAgfQotICAgICAgICAgICAg
Y3VycmVudENvbHVtbiA9IGxvb2tBaGVhZENvbHVtbjsKLSAgICAgICAgfQorUGFzc1JlZlB0cjxD
U1NWYWx1ZT4gQ1NTUGFyc2VyOjpwYXJzZUdyaWRUZW1wbGF0ZUFyZWFzKCkKK3sKKyAgICBOYW1l
ZEdyaWRBcmVhTWFwIGdyaWRBcmVhTWFwOworICAgIHVuc2lnbmVkIHJvd0NvdW50ID0gMDsKKyAg
ICB1bnNpZ25lZCBjb2x1bW5Db3VudCA9IDA7CiAKKyAgICB3aGlsZSAobV92YWx1ZUxpc3QtPmN1
cnJlbnQoKSkgeworICAgICAgICBpZiAoIXBhcnNlR3JpZFRlbXBsYXRlQXJlYXNSb3coZ3JpZEFy
ZWFNYXAsIHJvd0NvdW50LCBjb2x1bW5Db3VudCkpCisgICAgICAgICAgICByZXR1cm4gMDsKICAg
ICAgICAgKytyb3dDb3VudDsKLSAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQoKTsKICAgICB9CiAK
ICAgICBpZiAoIXJvd0NvdW50IHx8ICFjb2x1bW5Db3VudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApp
bmRleCA4NDA1OGFjY2ZmYjUwMzk4MjA5MGUyYTIzOGQyMGE5ZGZiNzQxODlhLi43OTM1YzA1MmE4
NmRlZjkyZmViYzkwZjcxZDNkNDIyNjc5NTI2ODdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCkBA
IC00Myw2ICs0MywxMCBAQAogI2luY2x1ZGUgIldlYktpdENTU0ZpbHRlclZhbHVlLmgiCiAjZW5k
aWYKIAorI2lmIEVOQUJMRShDU1NfR1JJRF9MQVlPVVQpCisjaW5jbHVkZSAiQ1NTR3JpZFRlbXBs
YXRlQXJlYXNWYWx1ZS5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3Mg
QW5pbWF0aW9uUGFyc2VDb250ZXh0OwpAQCAtNTMsNiArNTcsNyBAQCBjbGFzcyBDU1NWYWx1ZTsK
IGNsYXNzIENTU1ZhbHVlTGlzdDsKIGNsYXNzIENTU0Jhc2ljU2hhcGU7CiBjbGFzcyBDU1NCYXNp
Y1NoYXBlSW5zZXQ7CitjbGFzcyBDU1NHcmlkTGluZU5hbWVzVmFsdWU7CiBjbGFzcyBEb2N1bWVu
dDsKIGNsYXNzIEVsZW1lbnQ7CiBjbGFzcyBJbW11dGFibGVTdHlsZVByb3BlcnRpZXM7CkBAIC0x
NTYsMTQgKzE2MSwxNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBjc3NHcmlkTGF5b3V0RW5hYmxlZCgp
IGNvbnN0OwogICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHBhcnNlR3JpZFBvc2l0aW9uKCk7CiAg
ICAgYm9vbCBwYXJzZUdyaWRJdGVtUG9zaXRpb25TaG9ydGhhbmQoQ1NTUHJvcGVydHlJRCwgYm9v
bCBpbXBvcnRhbnQpOworICAgIGJvb2wgcGFyc2VHcmlkVGVtcGxhdGVSb3dzQW5kQXJlYXMoUGFz
c1JlZlB0cjxDU1NWYWx1ZT4sIGJvb2wgaW1wb3J0YW50KTsKKyAgICBib29sIHBhcnNlR3JpZFRl
bXBsYXRlU2hvcnRoYW5kKGJvb2wgaW1wb3J0YW50KTsKICAgICBib29sIHBhcnNlR3JpZEFyZWFT
aG9ydGhhbmQoYm9vbCBpbXBvcnRhbnQpOwogICAgIGJvb2wgcGFyc2VTaW5nbGVHcmlkQXJlYUxv
bmdoYW5kKFJlZlB0cjxDU1NWYWx1ZT4mKTsKLSAgICBib29sIHBhcnNlR3JpZFRyYWNrTGlzdChD
U1NQcm9wZXJ0eUlELCBib29sIGltcG9ydGFudCk7CisgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4g
cGFyc2VHcmlkVHJhY2tMaXN0KCk7CiAgICAgYm9vbCBwYXJzZUdyaWRUcmFja1JlcGVhdEZ1bmN0
aW9uKENTU1ZhbHVlTGlzdCYpOwogICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHBhcnNlR3JpZFRy
YWNrU2l6ZShDU1NQYXJzZXJWYWx1ZUxpc3QmIGlucHV0TGlzdCk7CiAgICAgUGFzc1JlZlB0cjxD
U1NQcmltaXRpdmVWYWx1ZT4gcGFyc2VHcmlkQnJlYWR0aChDU1NQYXJzZXJWYWx1ZSopOworICAg
IGJvb2wgcGFyc2VHcmlkVGVtcGxhdGVBcmVhc1JvdyhOYW1lZEdyaWRBcmVhTWFwJiwgY29uc3Qg
dW5zaWduZWQsIHVuc2lnbmVkJik7CiAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gcGFyc2VHcmlk
VGVtcGxhdGVBcmVhcygpOwotICAgIHZvaWQgcGFyc2VHcmlkTGluZU5hbWVzKENTU1BhcnNlclZh
bHVlTGlzdCYsIENTU1ZhbHVlTGlzdCYpOworICAgIHZvaWQgcGFyc2VHcmlkTGluZU5hbWVzKENT
U1BhcnNlclZhbHVlTGlzdCYsIENTU1ZhbHVlTGlzdCYsIENTU0dyaWRMaW5lTmFtZXNWYWx1ZSog
PSBudWxscHRyKTsKICNlbmRpZgogCiAgICAgYm9vbCBwYXJzZURhc2hib2FyZFJlZ2lvbnMoQ1NT
UHJvcGVydHlJRCwgYm9vbCBpbXBvcnRhbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1BhcnNlclZhbHVlcy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlclZhbHVl
cy5oCmluZGV4IDQ5NmRjMjcwYjdjOGUwMmE1OTZiZGE0ZmNhY2YxNzBkZDQxYzRiZTUuLjMzMzIx
M2M0MDQ5ZThkZDhjN2Q2YmFjZGNiMjRlYmQ2OWQ5YWY2ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NQYXJzZXJWYWx1ZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyVmFsdWVzLmgKQEAgLTE1NSw2ICsxNTUsMTIgQEAgcHVibGljOgogICAgICAgICAtLW1f
Y3VycmVudDsKICAgICAgICAgcmV0dXJuIGN1cnJlbnQoKTsKICAgICB9CisgICAgdm9pZCBzZXRD
dXJyZW50SW5kZXgodW5zaWduZWQgaW5kZXgpCisgICAgeworICAgICAgICBBU1NFUlQoaW5kZXgg
PCBtX3ZhbHVlcy5zaXplKCkpOworICAgICAgICBpZiAoaW5kZXggPCBtX3ZhbHVlcy5zaXplKCkp
CisgICAgICAgICAgICBtX2N1cnJlbnQgPSBpbmRleDsKKyAgICB9CiAKICAgICBDU1NQYXJzZXJW
YWx1ZSogdmFsdWVBdCh1bnNpZ25lZCBpKSB7IHJldHVybiBpIDwgbV92YWx1ZXMuc2l6ZSgpID8g
Jm1fdmFsdWVzW2ldIDogMDsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJvcGVydHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmlu
CmluZGV4IDU4MzAyNDE4NWMyYzljNzJiNDFjNzNjZmJhNGFjYzg1NWUzOTgxOGUuLmMyODFhNzlh
M2U4ZGZlZGViNzhhNjc3OTI5ZDVlY2Q4MThmZDFjYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eU5hbWVzLmluCkBAIC0zMTAsNiArMzEwLDcgQEAgei1pbmRleAogLXdlYmtpdC1ncmlk
LWF1dG8tcm93cwogLXdlYmtpdC1ncmlkLWNvbHVtbi1lbmQKIC13ZWJraXQtZ3JpZC1jb2x1bW4t
c3RhcnQKKy13ZWJraXQtZ3JpZC10ZW1wbGF0ZQogLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVt
bnMKIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzCiAtd2Via2l0LWdyaWQtcm93LWVuZApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTaG9ydGhhbmQuY3BwIGIv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTaG9ydGhhbmQuY3BwCmluZGV4IDk2NzAy
YmRlNGM2NWMyNzc2YWEwYmQ4MDgzOTNkZjgxOWE4MGVlOTkuLjFmODIyOGNlOGZhYTA2NTk4N2E4
OWZjMGNhOTI2YTA0MjMxMDUyNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVByb3BlcnR5U2hvcnRoYW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9w
ZXJ0eVNob3J0aGFuZC5jcHAKQEAgLTM1Miw2ICszNTIsMTYgQEAgU3R5bGVQcm9wZXJ0eVNob3J0
aGFuZCB3ZWJraXRNYXJnaW5Db2xsYXBzZVNob3J0aGFuZCgpCiB9CiAKICNpZiBFTkFCTEUoQ1NT
X0dSSURfTEFZT1VUKQorU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCB3ZWJraXRHcmlkVGVtcGxhdGVT
aG9ydGhhbmQoKQoreworICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIHdlYmtpdEdyaWRU
ZW1wbGF0ZVByb3BlcnRpZXNbXSA9IHsKKyAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRHcmlkVGVt
cGxhdGVDb2x1bW5zLAorICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdEdyaWRUZW1wbGF0ZVJvd3Ms
CisgICAgICAgIENTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBsYXRlQXJlYXMKKyAgICB9OworICAg
IHJldHVybiBTdHlsZVByb3BlcnR5U2hvcnRoYW5kKENTU1Byb3BlcnR5V2Via2l0R3JpZFRlbXBs
YXRlLCB3ZWJraXRHcmlkVGVtcGxhdGVQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKHdlYmtp
dEdyaWRUZW1wbGF0ZVByb3BlcnRpZXMpKTsKK30KKwogU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCB3
ZWJraXRHcmlkQXJlYVNob3J0aGFuZCgpCiB7CiAgICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5
SUQgd2Via2l0R3JpZEFyZWFQcm9wZXJ0aWVzW10gPSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUHJvcGVydHlTaG9ydGhhbmQuaAppbmRleCA2ZjIyNmQ3NGQzMzJjYzM4YzdhZTRhYjc4YmQ0
YWE1MWE1NDA4N2JkLi5lMmI2Yjg0MTUxMGY5NjI1ZjIzOWVhMWQ4ZDI3Njc5NzAyMjJjYTA2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnR5U2hvcnRoYW5kLmgKQEAgLTk5LDYg
Kzk5LDcgQEAgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCB3ZWJraXRDb2x1bW5zU2hvcnRoYW5kKCk7
CiBTdHlsZVByb3BlcnR5U2hvcnRoYW5kIHdlYmtpdENvbHVtblJ1bGVTaG9ydGhhbmQoKTsKIFN0
eWxlUHJvcGVydHlTaG9ydGhhbmQgd2Via2l0RmxleEZsb3dTaG9ydGhhbmQoKTsKIFN0eWxlUHJv
cGVydHlTaG9ydGhhbmQgd2Via2l0RmxleFNob3J0aGFuZCgpOworU3R5bGVQcm9wZXJ0eVNob3J0
aGFuZCB3ZWJraXRHcmlkVGVtcGxhdGVTaG9ydGhhbmQoKTsKIFN0eWxlUHJvcGVydHlTaG9ydGhh
bmQgd2Via2l0R3JpZEFyZWFTaG9ydGhhbmQoKTsKIFN0eWxlUHJvcGVydHlTaG9ydGhhbmQgd2Vi
a2l0R3JpZENvbHVtblNob3J0aGFuZCgpOwogU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCB3ZWJraXRH
cmlkUm93U2hvcnRoYW5kKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMGI5ZjVjNWIzZjlkOTU3YjYwZmQyYzA2MWM4N2Mz
MTU1NmRiNjViMS4uNjNmNTdmNmE4MjBiZDA3N2ZkZmJlOTFlM2FiNTgzMDVhZTc1ZDg1NyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI2IEBACisyMDE0LTA0LTAzICBKYXZpZXIgRmVybmFuZGV6ICA8amZlcm5h
bmRlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgR3JpZCBMYXlvdXRdIEltcGxlbWVudGF0
aW9uIG9mIHRoZSBncmlkLXRlbXBsYXRlIHNob3J0aGFuZC4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODk4MAorCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgorCisgICAgICAgIExheW91dCBUZXN0IGZvciB0aGUgYmFzaWMgZnVuY3Rp
b25hbGl0eSBvZiB0aGUgZ3JpZC10ZW1wbGF0ZSBzaG9ydGhhbmQuIEl0IHdhcworICAgICAgICBh
bHNvIGFkZGVkIGEgbmV3IGphdmFzY3JpcHQgZmlsZSB3aXRoIHNvbWUgdXRpbGl0eSBmdW5jdGlv
bnMuCisKKyAgICAgICAgVGhpcyBzaG9ydGhhbmQgc2V0cyB0aGUgdmFsdWVzIGZvciB0aGUgZ3Jp
ZC10ZW1wbGF0ZS1jb2x1bW5zLAorICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3MgYW5kIGdyaWQt
dGVtcGxhdGUtYXJlYXMsIHNvIHRoZSBpbXBsZW1lbnRhdGlvbgorICAgICAgICB0cmllcyB0byBy
ZXVzZSBhcyBtdWNoIGF2YWlsYWJsZSBwYXJzaW5nIGZ1bmN0aW9ucyBhcyBwb3NzaWJsZS4KKwor
ICAgICAgICAqIGZhc3QvY3NzLWdyaWQtbGF5b3V0L2dyaWQtdGVtcGxhdGUtc2hvcnRoYW5kLWdl
dC1zZXQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy1ncmlkLWxheW91
dC9ncmlkLXRlbXBsYXRlLXNob3J0aGFuZC1nZXQtc2V0Lmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvY3NzLWdyaWQtbGF5b3V0L3Jlc291cmNlcy9ncmlkLXRlbXBsYXRlLXNob3J0aGFuZC1w
YXJzaW5nLXV0aWxzLmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3RHcmlkRGVmaW5pdGlvbnNWYWx1
ZXMpOgorICAgICAgICAodGVzdEdyaWREZWZpbml0aW9uc1NldEpTVmFsdWVzKToKKyAgICAgICAg
KHRlc3ROb25HcmlkRGVmaW5pdGlvbnNTZXRKU1ZhbHVlcyk6CisgICAgICAgIChjaGVja0dyaWRE
ZWZpbml0aW9uc1NldEpTVmFsdWVzKToKKyAgICAgICAgKHRlc3RHcmlkRGVmaW5pdGlvbnNTZXRC
YWRKU1ZhbHVlcyk6CisKIDIwMTQtMDMtMjcgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFy
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0NTUyBHcmlkIExheW91dF0gPHN0cmluZz4gbm90IGFs
bG93ZWQgaW4gZ3JpZC17YXJlYSB8IHJvdyB8IGNvbHVtbn0gc3ludGF4CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXRlbXBsYXRlLXNob3J0aGFuZC1n
ZXQtc2V0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L2dy
aWQtdGVtcGxhdGUtc2hvcnRoYW5kLWdldC1zZXQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZk
MDNlZTI2NDVmOWRhMjcxYzNjYmU1OWYwMjY3ZGNlMTIxZTIyNDYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9ncmlkLXRlbXBsYXRlLXNob3J0aGFu
ZC1nZXQtc2V0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE3MCBAQAorVGhpcyB0ZXN0IGNoZWNr
cyB0aGF0IHRoZSAnZ3JpZC10ZW1wbGF0ZScgc2hvcnRoYW5kIGlzIHByb3Blcmx5IHBhcnNlZCBh
bmQgdGhlIGxvbmdoYW5kIHByb3BlcnRpZXMgY29ycmVjdGx5IGFzc2lnbmVkLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworVGVzdCBnZXR0aW5nIGdyaWQtdGVtcGxhdGUtYXJlYXMg
c2V0IHRocm91Z2ggQ1NTLgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxh
dGVXaXRoTm9uZSwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1j
b2x1bW5zJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1w
bGF0ZVdpdGhOb25lLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRl
LXJvd3MnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBs
YXRlV2l0aE5vbmUsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUt
YXJlYXMnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBs
YXRlU2ltcGxlRm9ybSwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0
ZS1jb2x1bW5zJykgaXMgIjEwcHgiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRU
ZW1wbGF0ZVNpbXBsZUZvcm0sICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVt
cGxhdGUtcm93cycpIGlzICIxNXB4IgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlk
VGVtcGxhdGVTaW1wbGVGb3JtLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRl
bXBsYXRlLWFyZWFzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdy
aWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRoTm9uZUNvbHVtbnMsICcnKS5nZXRQcm9wZXJ0eVZhbHVl
KCctd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1ucycpIGlzICJub25lIgorUEFTUyB3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aE5vbmVDb2x1bW5zLCAn
JykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3MnKSBpcyAiMTVw
eCIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybVdp
dGhOb25lQ29sdW1ucywgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0
ZS1hcmVhcycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVt
cGxhdGVTaW1wbGVGb3JtV2l0aE5vbmVSb3dzLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtp
dC1ncmlkLXRlbXBsYXRlLWNvbHVtbnMnKSBpcyAiMTBweCIKK1BBU1Mgd2luZG93LmdldENvbXB1
dGVkU3R5bGUoZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybVdpdGhOb25lUm93cywgJycpLmdldFByb3Bl
cnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMgIm5vbmUiCitQQVNTIHdp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRoTm9uZVJvd3Ms
ICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAi
bm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlU2ltcGxlRm9y
bVdpdGhOb25lLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNv
bHVtbnMnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBs
YXRlU2ltcGxlRm9ybVdpdGhOb25lLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlk
LXRlbXBsYXRlLXJvd3MnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUo
Z3JpZFRlbXBsYXRlU2ltcGxlRm9ybVdpdGhOb25lLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdl
YmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21w
dXRlZFN0eWxlKGdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgn
LXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnMnKSBpcyAiMTBweCIKK1BBU1Mgd2luZG93Lmdl
dENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm0sICcnKS5nZXRQcm9wZXJ0eVZh
bHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93cycpIGlzICIxNXB4IgorUEFTUyB3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVDb21wbGV4Rm9ybSwgJycpLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJcImFcIiIKK1BBU1Mgd2lu
ZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1XaXRoTGluZU5hbWVz
LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnMnKSBp
cyAiMTBweCIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlQ29tcGxl
eEZvcm1XaXRoTGluZU5hbWVzLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRl
bXBsYXRlLXJvd3MnKSBpcyAiKGhlYWQpIDE1cHggKHRhaWwpIgorUEFTUyB3aW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZShncmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhMaW5lTmFtZXMsICcnKS5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAiXCJhXCIiCitQ
QVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aExp
bmVOYW1lc011bHRpcGxlQ29sdW1ucywgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3Jp
ZC10ZW1wbGF0ZS1jb2x1bW5zJykgaXMgIjEwcHgiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKGdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aExpbmVOYW1lc011bHRpcGxlQ29sdW1ucywg
JycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMgIiho
ZWFkKSAxNXB4ICh0YWlsKSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBs
YXRlQ29tcGxleEZvcm1XaXRoTGluZU5hbWVzTXVsdGlwbGVDb2x1bW5zLCAnJykuZ2V0UHJvcGVy
dHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIlwiYSBiXCIiCitQQVNT
IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aExpbmVO
YW1lc011bHRpcGxlUm93cywgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1w
bGF0ZS1jb2x1bW5zJykgaXMgIjEwcHgiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdy
aWRUZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aExpbmVOYW1lc011bHRpcGxlUm93cywgJycpLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMgIihoZWFkMSkgMTVw
eCAodGFpbDEgaGVhZDIpIDIwcHggKHRhaWwyKSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5
bGUoZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1XaXRoTGluZU5hbWVzTXVsdGlwbGVSb3dzLCAnJyku
Z2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIlwiYVwi
IFwiYlwiIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVDb21wbGV4
Rm9ybVdpdGhMaW5lTmFtZXNNdWx0aXBsZVJvd3NBbmRDb2x1bW5zLCAnJykuZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnMnKSBpcyAiKGZpcnN0KSAxMHB4IChu
YXYgbmF2MikgMTVweCAobmF2IG5hdjIpIDE1cHgiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKGdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aExpbmVOYW1lc011bHRpcGxlUm93c0FuZENv
bHVtbnMsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93cycp
IGlzICIxMDBweCAobmF2IG5hdjIpIDI1cHggKG5hdiBuYXYyKSAyNXB4IChsYXN0KSIKK1BBU1Mg
d2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1XaXRoTGluZU5h
bWVzTXVsdGlwbGVSb3dzQW5kQ29sdW1ucywgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
Z3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJcImEgYiBjXCIgXCJkIGUgZlwiIFwiZyBoIGlcIiIK
K1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1XaXRo
QXV0bywgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5z
JykgaXMgIjEwcHgiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZUNv
bXBsZXhGb3JtV2l0aEF1dG8sICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVt
cGxhdGUtcm93cycpIGlzICIwcHgiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRU
ZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aEF1dG8sICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0
LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAiXCJhXCIiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKGdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtT25seUFyZWFzLCAnJykuZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnMnKSBpcyAibm9uZSIKK1BBU1Mgd2lu
ZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1Pbmx5QXJlYXMsICcn
KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93cycpIGlzICIwcHgi
CitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtT25s
eUFyZWFzLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFz
JykgaXMgIlwiYVwiIgorCitUZXN0IGdldHRpbmcgd3JvbmcgdmFsdWVzIGZvciBncmlkLXRlbXBs
YXRlIHNob3J0aGFuZCB0aHJvdWdoIENTUyAodGhleSBzaG91bGQgcmVzb2x2ZSB0byB0aGUgZGVm
YXVsdDogJ25vbmUnKQorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVN
dWx0aXBsZVNsYXNoLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRl
LWNvbHVtbnMnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRl
bXBsYXRlTXVsdGlwbGVTbGFzaCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10
ZW1wbGF0ZS1yb3dzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdy
aWRUZW1wbGF0ZU11bHRpcGxlU2xhc2gsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdy
aWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5
bGUoZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybUp1c3RDb2x1bW5zLCAnJykuZ2V0UHJvcGVydHlWYWx1
ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnMnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93
LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybUp1c3RDb2x1bW5zLCAnJyku
Z2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3MnKSBpcyAibm9uZSIK
K1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybUp1c3RD
b2x1bW5zLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFz
JykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZVNp
bXBsZUZvcm1Ob1Jvd3MsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxh
dGUtY29sdW1ucycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlk
VGVtcGxhdGVTaW1wbGVGb3JtTm9Sb3dzLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1n
cmlkLXRlbXBsYXRlLXJvd3MnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5
bGUoZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybU5vUm93cywgJycpLmdldFByb3BlcnR5VmFsdWUoJy13
ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZShncmlkVGVtcGxhdGVTaW1wbGVGb3JtTm9Db2x1bW5zLCAnJykuZ2V0UHJvcGVy
dHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnMnKSBpcyAibm9uZSIKK1BBU1Mg
d2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybU5vQ29sdW1ucywg
JycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMgIm5v
bmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1O
b0NvbHVtbnMsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJl
YXMnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRl
U2ltcGxlRm9ybU5vQ29sdW1uU2l6ZSwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3Jp
ZC10ZW1wbGF0ZS1jb2x1bW5zJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKGdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1Ob0NvbHVtblNpemUsICcnKS5nZXRQcm9wZXJ0eVZh
bHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93cycpIGlzICJub25lIgorUEFTUyB3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVTaW1wbGVGb3JtTm9Db2x1bW5TaXplLCAnJyku
Z2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIm5vbmUi
CitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRo
Rml0Q29udGVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1j
b2x1bW5zJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1w
bGF0ZVNpbXBsZUZvcm1XaXRoRml0Q29udGVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRl
ZFN0eWxlKGdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRoRml0Q29udGVudCwgJycpLmdldFByb3Bl
cnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJub25lIgorUEFTUyB3
aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aFdyb25nUmVw
ZWF0LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnMn
KSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlU2lt
cGxlRm9ybVdpdGhXcm9uZ1JlcGVhdCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3Jp
ZC10ZW1wbGF0ZS1yb3dzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KGdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRoV3JvbmdSZXBlYXQsICcnKS5nZXRQcm9wZXJ0eVZh
bHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93
LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybVdpdGhNaXNwbGFjZWROb25l
MSwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJykg
aXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZVNpbXBs
ZUZvcm1XaXRoTWlzcGxhY2VkTm9uZTEsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdy
aWQtdGVtcGxhdGUtcm93cycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZShncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aE1pc3BsYWNlZE5vbmUxLCAnJykuZ2V0UHJvcGVy
dHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIm5vbmUiCitQQVNTIHdp
bmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRoTWlzcGxhY2Vk
Tm9uZTIsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1u
cycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVT
aW1wbGVGb3JtV2l0aE1pc3BsYWNlZE5vbmUyLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtp
dC1ncmlkLXRlbXBsYXRlLXJvd3MnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVk
U3R5bGUoZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybVdpdGhNaXNwbGFjZWROb25lMiwgJycpLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJub25lIgorUEFT
UyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aE1pc3Bs
YWNlZE5vbmUzLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNv
bHVtbnMnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBs
YXRlU2ltcGxlRm9ybVdpdGhNaXNwbGFjZWROb25lMywgJycpLmdldFByb3BlcnR5VmFsdWUoJy13
ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21w
dXRlZFN0eWxlKGdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRoTWlzcGxhY2VkTm9uZTMsICcnKS5n
ZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAibm9uZSIK
K1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybVdpdGhN
aXNwbGFjZWROb25lNCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0
ZS1jb2x1bW5zJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRU
ZW1wbGF0ZVNpbXBsZUZvcm1XaXRoTWlzcGxhY2VkTm9uZTQsICcnKS5nZXRQcm9wZXJ0eVZhbHVl
KCctd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93cycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0
Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aE1pc3BsYWNlZE5vbmU0LCAn
JykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIm5v
bmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZUNvbXBsZXhGb3Jt
V2l0aFJlcGVhdCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1j
b2x1bW5zJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1w
bGF0ZUNvbXBsZXhGb3JtV2l0aFJlcGVhdCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
Z3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKGdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aFJlcGVhdCwgJycpLmdldFByb3BlcnR5VmFs
dWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJub25lIgorUEFTUyB3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhXcm9uZ1JlcGVhdCwg
JycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJykgaXMg
Im5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZUNvbXBsZXhG
b3JtV2l0aFdyb25nUmVwZWF0LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRl
bXBsYXRlLXJvd3MnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3Jp
ZFRlbXBsYXRlQ29tcGxleEZvcm1XaXRoV3JvbmdSZXBlYXQsICcnKS5nZXRQcm9wZXJ0eVZhbHVl
KCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93Lmdl
dENvbXB1dGVkU3R5bGUoZ3JpVGVtcGxhdGVDb21wbGV4Rm9ybWRXaXRoRml0QXZhaWxhYmxlLCAn
JykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnMnKSBpcyAi
bm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpVGVtcGxhdGVDb21wbGV4Rm9y
bWRXaXRoRml0QXZhaWxhYmxlLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRl
bXBsYXRlLXJvd3MnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3Jp
VGVtcGxhdGVDb21wbGV4Rm9ybWRXaXRoRml0QXZhaWxhYmxlLCAnJykuZ2V0UHJvcGVydHlWYWx1
ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5n
ZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtTm9Db2x1bW5TaXplLCAnJyku
Z2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnMnKSBpcyAibm9u
ZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1O
b0NvbHVtblNpemUsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUt
cm93cycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxh
dGVDb21wbGV4Rm9ybU5vQ29sdW1uU2l6ZSwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQt
Z3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShncmlkVGVtcGxhdGVDb21wbGV4Rm9ybU1pc3BsYWNlZFJvd3NTaXplMSwgJycpLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJykgaXMgIm5vbmUiCitQ
QVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtTWlzcGxh
Y2VkUm93c1NpemUxLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRl
LXJvd3MnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBs
YXRlQ29tcGxleEZvcm1NaXNwbGFjZWRSb3dzU2l6ZTEsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCct
d2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENv
bXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1NaXNwbGFjZWRSb3dzU2l6ZTIsICcn
KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1ucycpIGlzICJu
b25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVDb21wbGV4Rm9y
bU1pc3BsYWNlZFJvd3NTaXplMiwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10
ZW1wbGF0ZS1yb3dzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdy
aWRUZW1wbGF0ZUNvbXBsZXhGb3JtTWlzcGxhY2VkUm93c1NpemUyLCAnJykuZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRv
dy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtQ29sdW1uc05vdFBhcnNp
bmcxLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnMn
KSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlQ29t
cGxleEZvcm1Db2x1bW5zTm90UGFyc2luZzEsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0
LWdyaWQtdGVtcGxhdGUtcm93cycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRT
dHlsZShncmlkVGVtcGxhdGVDb21wbGV4Rm9ybUNvbHVtbnNOb3RQYXJzaW5nMSwgJycpLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJub25lIgorUEFT
UyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlkVGVtcGxhdGVDb21wbGV4Rm9ybUNvbHVtbnNO
b3RQYXJzaW5nMiwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1j
b2x1bW5zJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGdyaWRUZW1w
bGF0ZUNvbXBsZXhGb3JtQ29sdW1uc05vdFBhcnNpbmcyLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgn
LXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3MnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENv
bXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1Db2x1bW5zTm90UGFyc2luZzIsICcn
KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAibm9u
ZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1X
aXRoTm9uZUNvbHVtbnMsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxh
dGUtY29sdW1ucycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShncmlk
VGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhOb25lQ29sdW1ucywgJycpLmdldFByb3BlcnR5VmFsdWUo
Jy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRD
b21wdXRlZFN0eWxlKGdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aE5vbmVDb2x1bW5zLCAnJyku
Z2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIm5vbmUi
CisKK1Rlc3QgdGhlIGluaXRpYWwgdmFsdWUKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUo
ZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1
bW5zJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcn
KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93cycpIGlzICJub25l
IgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykgaXMgIm5vbmUiCitQQVNTIGdldENv
bXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10
ZW1wbGF0ZS1jb2x1bW5zJykgaXMgJ25vbmUnCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVu
dCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMg
J25vbmUnCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFs
dWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICdub25lJworCitUZXN0IHNldHRp
bmcgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zIGFuZCBncmlkLXRlbXBsYXRlLXJvd3MgYmFjayB0byAn
bm9uZScgdGhyb3VnaCBKUworUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQ
cm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1ucycpIGlzICIxMHB4Igor
UEFTUyBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZUNvbHVtbnMgaXMgIjEwcHgiCitQ
QVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJr
aXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMgIihsaW5lKSAyMHB4IgorUEFTUyBlbGVtZW50LnN0
eWxlLndlYmtpdEdyaWRUZW1wbGF0ZVJvd3MgaXMgIihsaW5lKSAyMHB4IgorUEFTUyBnZXRDb21w
dXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVt
cGxhdGUtYXJlYXMnKSBpcyAiXCJhXCIiCitQQVNTIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRl
bXBsYXRlQXJlYXMgaXMgIlwiYVwiIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcn
KS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1ucycpIGlzICJu
b25lIgorUEFTUyBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZUNvbHVtbnMgaXMgIm5v
bmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUo
Jy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMgIm5vbmUiCitQQVNTIGVsZW1lbnQuc3R5
bGUud2Via2l0R3JpZFRlbXBsYXRlUm93cyBpcyAibm9uZSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHls
ZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFy
ZWFzJykgaXMgIm5vbmUiCitQQVNTIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBsYXRlQXJl
YXMgaXMgIm5vbmUiCisKK1Rlc3QgZ2V0dGluZyBhbmQgc2V0dGluZyBncmlkLXRlbXBsYXRlIHNo
b3J0aGFuZCB0aHJvdWdoIEpTCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdl
dFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJykgaXMgIjE4cHgi
CitQQVNTIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBsYXRlQ29sdW1ucyBpcyAiMThweCIK
K1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdl
YmtpdC1ncmlkLXRlbXBsYXRlLXJvd3MnKSBpcyAiNjZweCIKK1BBU1MgZWxlbWVudC5zdHlsZS53
ZWJraXRHcmlkVGVtcGxhdGVSb3dzIGlzICI2NnB4IgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVs
ZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMn
KSBpcyAibm9uZSIKK1BBU1MgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGVBcmVhcyBp
cyAibm9uZSIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlW
YWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVtbnMnKSBpcyAiMTBweCIKK1BBU1MgZWxl
bWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGVDb2x1bW5zIGlzICIxMHB4IgorUEFTUyBnZXRD
b21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQt
dGVtcGxhdGUtcm93cycpIGlzICIoaGVhZCkgMTVweCAodGFpbCkiCitQQVNTIGVsZW1lbnQuc3R5
bGUud2Via2l0R3JpZFRlbXBsYXRlUm93cyBpcyAiKGhlYWQpIDE1cHggKHRhaWwpIgorUEFTUyBn
ZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdy
aWQtdGVtcGxhdGUtYXJlYXMnKSBpcyAiXCJhXCIiCitQQVNTIGVsZW1lbnQuc3R5bGUud2Via2l0
R3JpZFRlbXBsYXRlQXJlYXMgaXMgIlwiYVwiIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGVsZW1l
bnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtY29sdW1ucycp
IGlzICJub25lIgorUEFTUyBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRUZW1wbGF0ZUNvbHVtbnMg
aXMgIm5vbmUiCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1yb3dzJykgaXMgIjBweCIKK1BBU1MgZWxlbWVu
dC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGVSb3dzIGlzICJhdXRvIgorUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxh
dGUtYXJlYXMnKSBpcyAiXCJhXCIiCitQQVNTIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBs
YXRlQXJlYXMgaXMgIlwiYVwiIgorCitUZXN0IHNldHRpbmcgZ3JpZC10ZW1wbGF0ZSBzaG9ydGhh
bmQgdG8gYmFkIHZhbHVlcyB0aHJvdWdoIEpTCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtY29s
dW1ucycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAn
JykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3MnKSBpcyAibm9u
ZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJub25lIgorUEFTUyB3aW5k
b3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtp
dC1ncmlkLXRlbXBsYXRlLWNvbHVtbnMnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1
dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1w
bGF0ZS1yb3dzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1l
bnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBp
cyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJykgaXMgIm5vbmUiCitQ
QVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVl
KCctd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93cycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0
Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlk
LXRlbXBsYXRlLWFyZWFzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtY29s
dW1ucycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAn
JykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3MnKSBpcyAibm9u
ZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5
VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIGlzICJub25lIgorUEFTUyB3aW5k
b3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtp
dC1ncmlkLXRlbXBsYXRlLWNvbHVtbnMnKSBpcyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1
dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1w
bGF0ZS1yb3dzJykgaXMgIm5vbmUiCitQQVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1l
bnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQtdGVtcGxhdGUtYXJlYXMnKSBp
cyAibm9uZSIKK1BBU1Mgd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFBy
b3BlcnR5VmFsdWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJykgaXMgIm5vbmUiCitQ
QVNTIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVl
KCctd2Via2l0LWdyaWQtdGVtcGxhdGUtcm93cycpIGlzICJub25lIgorUEFTUyB3aW5kb3cuZ2V0
Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlk
LXRlbXBsYXRlLWFyZWFzJykgaXMgIm5vbmUiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3Mt
Z3JpZC1sYXlvdXQvZ3JpZC10ZW1wbGF0ZS1zaG9ydGhhbmQtZ2V0LXNldC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvZ3JpZC10ZW1wbGF0ZS1zaG9ydGhhbmQtZ2V0LXNl
dC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjRlMmE1ZmYyMzRmZDRiMDFiOWNjMTliYTlhYmVjMTgwODg2OTNk
ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy1ncmlkLWxheW91dC9n
cmlkLXRlbXBsYXRlLXNob3J0aGFuZC1nZXQtc2V0Lmh0bWwKQEAgLTAsMCArMSwyMjEgQEAKKzwh
RE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIub3Zl
cnJpZGVQcmVmZXJlbmNlKCJXZWJLaXRDU1NHcmlkTGF5b3V0RW5hYmxlZCIsIDEpOworPC9zY3Jp
cHQ+Cis8bGluayBocmVmPSJyZXNvdXJjZXMvZ3JpZC5jc3MiIHJlbD0ic3R5bGVzaGVldCI+Cis8
c3R5bGU+CisjZ3JpZFRlbXBsYXRlV2l0aE5vbmUgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0
ZTogbm9uZTsKK30KKyNncmlkVGVtcGxhdGVTaW1wbGVGb3JtIHsKKyAgICAtd2Via2l0LWdyaWQt
dGVtcGxhdGU6IDEwcHggLyAxNXB4OworfQorI2dyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRoTm9u
ZUNvbHVtbnMgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogbm9uZSAvIDE1cHg7Cit9Cisj
Z3JpZFRlbXBsYXRlU2ltcGxlRm9ybVdpdGhOb25lUm93cyB7CisgICAgLXdlYmtpdC1ncmlkLXRl
bXBsYXRlOiAxMHB4IC8gbm9uZTsKK30KKyNncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aE5vbmUg
eworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogbm9uZSAvIG5vbmU7Cit9CisjZ3JpZFRlbXBs
YXRlQ29tcGxleEZvcm0geworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogMTBweCAvICJhIiAx
NXB4OworfQorI2dyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aExpbmVOYW1lcyB7CisgICAgLXdl
YmtpdC1ncmlkLXRlbXBsYXRlOiAxMHB4IC8gKGhlYWQpICJhIiAxNXB4ICh0YWlsKTsKK30KKyNn
cmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhMaW5lTmFtZXNNdWx0aXBsZUNvbHVtbnMgeworICAg
IC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogMTBweCAvIChoZWFkKSAiYSBiIiAxNXB4ICh0YWlsKQor
fQorI2dyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aExpbmVOYW1lc011bHRpcGxlUm93cyB7Cisg
ICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlOiAxMHB4IC8gKGhlYWQxKSAiYSIgMTVweCAodGFpbDEp
CisgICAgICAgICAgICAgICAgICAgICAgICAgIChoZWFkMikgImIiIDIwcHggKHRhaWwyKTsKK30K
KyNncmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhMaW5lTmFtZXNNdWx0aXBsZVJvd3NBbmRDb2x1
bW5zIHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6IChmaXJzdCkgMTBweCByZXBlYXQoMiwg
KG5hdiBuYXYyKSAxNXB4KSAvICAgICAgICJhIGIgYyIgMTAwcHggKG5hdikKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuYXYyKSAi
ZCBlIGYiIDI1cHggIChuYXYpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAobmF2MikgImcgaCBpIiAyNXB4ICAobGFzdCk7Cit9Cisj
Z3JpZFRlbXBsYXRlQ29tcGxleEZvcm1XaXRoQXV0byB7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBs
YXRlOiAxMHB4IC8gImEiOworfQorI2dyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtT25seUFyZWFzIHsK
KyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6ICJhIjsKK30KKworLyogQmFkIHZhbHVlcy4gKi8K
KworI2dyaWRUZW1wbGF0ZU11bHRpcGxlU2xhc2ggeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0
ZTogMTBweCAvIDIwcHggLyAzMHB4OworfQorI2dyaWRUZW1wbGF0ZVNpbXBsZUZvcm1KdXN0Q29s
dW1ucyB7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlOiAxMHB4OworfQorI2dyaWRUZW1wbGF0
ZVNpbXBsZUZvcm1Ob1Jvd3MgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogMTBweCAvOwor
fQorI2dyaWRUZW1wbGF0ZVNpbXBsZUZvcm1Ob0NvbHVtbnMgeworICAgIC13ZWJraXQtZ3JpZC10
ZW1wbGF0ZTogLyAxMHB4OworfQorI2dyaWRUZW1wbGF0ZVNpbXBsZUZvcm1Ob0NvbHVtblNpemUg
eworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogKGxpbmUpIC8gMTBweDsKK30KKyNncmlkVGVt
cGxhdGVTaW1wbGVGb3JtV2l0aEZpdENvbnRlbnQgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0
ZTogLXdlYmtpdC1maXQtY29udGVudCAvIDEwcHg7Cit9CisjZ3JpZFRlbXBsYXRlU2ltcGxlRm9y
bVdpdGhXcm9uZ1JlcGVhdCB7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlOiByZXBlYXQoMiwg
NTAlICh0aXRsZSkgYSkgLyAxMHB4OworfQorI2dyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRoTWlz
cGxhY2VkTm9uZTEgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogMTBweCAvIG5vbmUgMjBw
eDsKK30KKyNncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aE1pc3BsYWNlZE5vbmUyIHsKKyAgICAt
d2Via2l0LWdyaWQtdGVtcGxhdGU6IDEwcHggLyAyMHB4IG5vbmU7Cit9CisjZ3JpZFRlbXBsYXRl
U2ltcGxlRm9ybVdpdGhNaXNwbGFjZWROb25lMyB7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRl
OiBub25lIDEwcHggLyAyMHB4OworfQorI2dyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRoTWlzcGxh
Y2VkTm9uZTQgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTogMTBweCBub25lIC8gMjBweDsK
K30KKyNncmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhSZXBlYXQgeworICAgIC13ZWJraXQtZ3Jp
ZC10ZW1wbGF0ZTogMTBweCAvICJhIiByZXBlYXQoMiwgNTAlICh0aXRsZSkpOworfQorI2dyaWRU
ZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aFdyb25nUmVwZWF0IHsKKyAgICAtd2Via2l0LWdyaWQtdGVt
cGxhdGU6IHJlcGVhdCgyLCA1MCUgKHRpdGxlKSBhKSAvICJhIjsKK30KKyNncmlUZW1wbGF0ZUNv
bXBsZXhGb3JtZFdpdGhGaXRBdmFpbGFibGUgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTog
LXdlYmtpdC1maXQtYXZhaWxhYmxlIC8gImEiOworfQorI2dyaWRUZW1wbGF0ZUNvbXBsZXhGb3Jt
Tm9Db2x1bW5TaXplIHsKKyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6IChsaW5lKSAvICJhIjsK
K30KKyNncmlkVGVtcGxhdGVDb21wbGV4Rm9ybU1pc3BsYWNlZFJvd3NTaXplMSB7CisgICAgLXdl
YmtpdC1ncmlkLXRlbXBsYXRlOiAyNXB4IC8gMTBweCAiYSI7Cit9CisjZ3JpZFRlbXBsYXRlQ29t
cGxleEZvcm1NaXNwbGFjZWRSb3dzU2l6ZTIgeworICAgIC13ZWJraXQtZ3JpZC10ZW1wbGF0ZTog
MjVweCAvICJhIiAobmFtZSkgMTBweDsKK30KKyNncmlkVGVtcGxhdGVDb21wbGV4Rm9ybUNvbHVt
bnNOb3RQYXJzaW5nMSB7CisgICAgLXdlYmtpdC1ncmlkLXRlbXBsYXRlOiBhIC8gImEiIChuYW1l
KSAxMHB4OworfQorI2dyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtQ29sdW1uc05vdFBhcnNpbmcyIHsK
KyAgICAtd2Via2l0LWdyaWQtdGVtcGxhdGU6ICJCIiAvICJhIiAobmFtZSkgMTBweDsKK30KKyNn
cmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhOb25lQ29sdW1ucyB7CisgICAgLXdlYmtpdC1ncmlk
LXRlbXBsYXRlOiBub25lIC8gImEiIChuYW1lKSAxMHB4OworfQorCis8L3N0eWxlPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdiBjbGFzcz0iZ3JpZCIgaWQ9ImdyaWRUZW1wbGF0ZVdpdGhOb25lIj48L2Rpdj4K
KzxkaXYgY2xhc3M9ImdyaWQiIGlkPSJncmlkVGVtcGxhdGVTaW1wbGVGb3JtIj48L2Rpdj4KKzxk
aXYgY2xhc3M9ImdyaWQiIGlkPSJncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aE5vbmVDb2x1bW5z
Ij48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQiIGlkPSJncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0
aE5vbmVSb3dzIj48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQiIGlkPSJncmlkVGVtcGxhdGVTaW1w
bGVGb3JtV2l0aE5vbmUiPjwvZGl2PgorPGRpdiBjbGFzcz0iZ3JpZCIgaWQ9ImdyaWRUZW1wbGF0
ZUNvbXBsZXhGb3JtIj48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQiIGlkPSJncmlkVGVtcGxhdGVD
b21wbGV4Rm9ybVdpdGhMaW5lTmFtZXMiPjwvZGl2PgorPGRpdiBjbGFzcz0iZ3JpZCIgaWQ9Imdy
aWRUZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aExpbmVOYW1lc011bHRpcGxlQ29sdW1ucyI+PC9kaXY+
Cis8ZGl2IGNsYXNzPSJncmlkIiBpZD0iZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1XaXRoTGluZU5h
bWVzTXVsdGlwbGVSb3dzIj48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQiIGlkPSJncmlkVGVtcGxh
dGVDb21wbGV4Rm9ybVdpdGhMaW5lTmFtZXNNdWx0aXBsZVJvd3NBbmRDb2x1bW5zIj48L2Rpdj4K
KzxkaXYgY2xhc3M9ImdyaWQiIGlkPSJncmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhBdXRvIj48
L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQiIGlkPSJncmlkVGVtcGxhdGVDb21wbGV4Rm9ybU9ubHlB
cmVhcyI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJncmlkIiBpZD0iZ3JpZFRlbXBsYXRlTXVsdGlwbGVT
bGFzaCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJncmlkIiBpZD0iZ3JpZFRlbXBsYXRlU2ltcGxlRm9y
bUp1c3RDb2x1bW5zIj48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQiIGlkPSJncmlkVGVtcGxhdGVT
aW1wbGVGb3JtTm9Sb3dzIj48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQiIGlkPSJncmlkVGVtcGxh
dGVTaW1wbGVGb3JtTm9Db2x1bW5zIj48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQiIGlkPSJncmlk
VGVtcGxhdGVTaW1wbGVGb3JtTm9Db2x1bW5TaXplIj48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQi
IGlkPSJncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aEZpdENvbnRlbnQiPjwvZGl2PgorPGRpdiBj
bGFzcz0iZ3JpZCIgaWQ9ImdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRoV3JvbmdSZXBlYXQiPjwv
ZGl2PgorPGRpdiBjbGFzcz0iZ3JpZCIgaWQ9ImdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRoTWlz
cGxhY2VkTm9uZTEiPjwvZGl2PgorPGRpdiBjbGFzcz0iZ3JpZCIgaWQ9ImdyaWRUZW1wbGF0ZVNp
bXBsZUZvcm1XaXRoTWlzcGxhY2VkTm9uZTIiPjwvZGl2PgorPGRpdiBjbGFzcz0iZ3JpZCIgaWQ9
ImdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRoTWlzcGxhY2VkTm9uZTMiPjwvZGl2PgorPGRpdiBj
bGFzcz0iZ3JpZCIgaWQ9ImdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRoTWlzcGxhY2VkTm9uZTQi
PjwvZGl2PgorPGRpdiBjbGFzcz0iZ3JpZCIgaWQ9ImdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtV2l0
aFJlcGVhdCI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJncmlkIiBpZD0iZ3JpZFRlbXBsYXRlQ29tcGxl
eEZvcm1XaXRoV3JvbmdSZXBlYXQiPjwvZGl2PgorPGRpdiBjbGFzcz0iZ3JpZCIgaWQ9ImdyaVRl
bXBsYXRlQ29tcGxleEZvcm1kV2l0aEZpdEF2YWlsYWJsZSI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJn
cmlkIiBpZD0iZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1Ob0NvbHVtblNpemUiPjwvZGl2PgorPGRp
diBjbGFzcz0iZ3JpZCIgaWQ9ImdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtTWlzcGxhY2VkUm93c1Np
emUxIj48L2Rpdj4KKzxkaXYgY2xhc3M9ImdyaWQiIGlkPSJncmlkVGVtcGxhdGVDb21wbGV4Rm9y
bU1pc3BsYWNlZFJvd3NTaXplMiI+PC9kaXY+Cis8ZGl2IGNsYXNzPSJncmlkIiBpZD0iZ3JpZFRl
bXBsYXRlQ29tcGxleEZvcm1Db2x1bW5zTm90UGFyc2luZzEiPjwvZGl2PgorPGRpdiBjbGFzcz0i
Z3JpZCIgaWQ9ImdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtQ29sdW1uc05vdFBhcnNpbmcyIj48L2Rp
dj4KKzxkaXYgY2xhc3M9ImdyaWQiIGlkPSJncmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhOb25l
Q29sdW1ucyI+PC9kaXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2dyaWQtdGVtcGxhdGUtc2hv
cnRoYW5kLXBhcnNpbmctdXRpbHMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKyAgICBkZXNjcmlw
dGlvbigiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IHRoZSAnZ3JpZC10ZW1wbGF0ZScgc2hvcnRoYW5k
IGlzIHByb3Blcmx5IHBhcnNlZCBhbmQgdGhlIGxvbmdoYW5kIHByb3BlcnRpZXMgY29ycmVjdGx5
IGFzc2lnbmVkLiIpOworCisgICAgZGVidWcoIlRlc3QgZ2V0dGluZyBncmlkLXRlbXBsYXRlLWFy
ZWFzIHNldCB0aHJvdWdoIENTUy4iKTsKKyAgICB0ZXN0R3JpZERlZmluaXRpb25zVmFsdWVzKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJncmlkVGVtcGxhdGVXaXRoTm9uZSIpLCAibm9uZSIsICJu
b25lIiwgIm5vbmUiKTsKKyAgICB0ZXN0R3JpZERlZmluaXRpb25zVmFsdWVzKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJncmlkVGVtcGxhdGVTaW1wbGVGb3JtIiksICIxMHB4IiwgIjE1cHgiLCAi
bm9uZSIpOworICAgIHRlc3RHcmlkRGVmaW5pdGlvbnNWYWx1ZXMoZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1XaXRoTm9uZUNvbHVtbnMiKSwgIm5vbmUiLCAi
MTVweCIsICJub25lIik7CisgICAgdGVzdEdyaWREZWZpbml0aW9uc1ZhbHVlcyhkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybVdpdGhOb25lUm93cyIpLCAiMTBw
eCIsICJub25lIiwgIm5vbmUiKTsKKyAgICB0ZXN0R3JpZERlZmluaXRpb25zVmFsdWVzKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aE5vbmUiKSwgIm5v
bmUiLCAibm9uZSIsICJub25lIik7CisgICAgdGVzdEdyaWREZWZpbml0aW9uc1ZhbHVlcyhkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm0iKSwgIjEwcHgiLCAi
MTVweCIsICciYSInKTsKKyAgICB0ZXN0R3JpZERlZmluaXRpb25zVmFsdWVzKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJncmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhMaW5lTmFtZXMiKSwgIjEw
cHgiLCAiKGhlYWQpIDE1cHggKHRhaWwpIiwgJyJhIicpOworICAgIHRlc3RHcmlkRGVmaW5pdGlv
bnNWYWx1ZXMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdyaWRUZW1wbGF0ZUNvbXBsZXhGb3Jt
V2l0aExpbmVOYW1lc011bHRpcGxlQ29sdW1ucyIpLCAiMTBweCIsICIoaGVhZCkgMTVweCAodGFp
bCkiLCAnImEgYiInKTsKKyAgICB0ZXN0R3JpZERlZmluaXRpb25zVmFsdWVzKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJncmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhMaW5lTmFtZXNNdWx0aXBs
ZVJvd3MiKSwgIjEwcHgiLCAiKGhlYWQxKSAxNXB4ICh0YWlsMSBoZWFkMikgMjBweCAodGFpbDIp
IiwgJyJhIiAiYiInKTsKKyAgICB0ZXN0R3JpZERlZmluaXRpb25zVmFsdWVzKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJncmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhMaW5lTmFtZXNNdWx0aXBs
ZVJvd3NBbmRDb2x1bW5zIiksICIoZmlyc3QpIDEwcHggKG5hdiBuYXYyKSAxNXB4IChuYXYgbmF2
MikgMTVweCIsICIxMDBweCAobmF2IG5hdjIpIDI1cHggKG5hdiBuYXYyKSAyNXB4IChsYXN0KSIs
ICciYSBiIGMiICJkIGUgZiIgImcgaCBpIicpOworICAgIHRlc3RHcmlkRGVmaW5pdGlvbnNWYWx1
ZXMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aEF1
dG8iKSwgIjEwcHgiLCAiMHB4IiwgJyJhIicpOworICAgIHRlc3RHcmlkRGVmaW5pdGlvbnNWYWx1
ZXMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtT25seUFy
ZWFzIiksICJub25lIiwgIjBweCIsICciYSInKTsKKworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1
ZygiVGVzdCBnZXR0aW5nIHdyb25nIHZhbHVlcyBmb3IgZ3JpZC10ZW1wbGF0ZSBzaG9ydGhhbmQg
dGhyb3VnaCBDU1MgKHRoZXkgc2hvdWxkIHJlc29sdmUgdG8gdGhlIGRlZmF1bHQ6ICdub25lJyki
KTsKKyAgICB0ZXN0R3JpZERlZmluaXRpb25zVmFsdWVzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJncmlkVGVtcGxhdGVNdWx0aXBsZVNsYXNoIiksICJub25lIiwgIm5vbmUiLCAibm9uZSIpOwor
ICAgIHRlc3RHcmlkRGVmaW5pdGlvbnNWYWx1ZXMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdy
aWRUZW1wbGF0ZVNpbXBsZUZvcm1KdXN0Q29sdW1ucyIpLCAibm9uZSIsICJub25lIiwgIm5vbmUi
KTsKKyAgICB0ZXN0R3JpZERlZmluaXRpb25zVmFsdWVzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJncmlkVGVtcGxhdGVTaW1wbGVGb3JtTm9Sb3dzIiksICJub25lIiwgIm5vbmUiLCAibm9uZSIp
OworICAgIHRlc3RHcmlkRGVmaW5pdGlvbnNWYWx1ZXMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1Ob0NvbHVtbnMiKSwgIm5vbmUiLCAibm9uZSIsICJub25l
Iik7CisgICAgdGVzdEdyaWREZWZpbml0aW9uc1ZhbHVlcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybU5vQ29sdW1uU2l6ZSIpLCAibm9uZSIsICJub25lIiwg
Im5vbmUiKTsKKyAgICB0ZXN0R3JpZERlZmluaXRpb25zVmFsdWVzKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aEZpdENvbnRlbnQiKSwgIm5vbmUiLCAi
bm9uZSIsICJub25lIik7CisgICAgdGVzdEdyaWREZWZpbml0aW9uc1ZhbHVlcyhkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZ3JpZFRlbXBsYXRlU2ltcGxlRm9ybVdpdGhXcm9uZ1JlcGVhdCIpLCAi
bm9uZSIsICJub25lIiwgIm5vbmUiKTsKKyAgICB0ZXN0R3JpZERlZmluaXRpb25zVmFsdWVzKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJncmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aE1pc3BsYWNl
ZE5vbmUxIiksICJub25lIiwgIm5vbmUiLCAibm9uZSIpOworICAgIHRlc3RHcmlkRGVmaW5pdGlv
bnNWYWx1ZXMoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImdyaWRUZW1wbGF0ZVNpbXBsZUZvcm1X
aXRoTWlzcGxhY2VkTm9uZTIiKSwgIm5vbmUiLCAibm9uZSIsICJub25lIik7CisgICAgdGVzdEdy
aWREZWZpbml0aW9uc1ZhbHVlcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3JpZFRlbXBsYXRl
U2ltcGxlRm9ybVdpdGhNaXNwbGFjZWROb25lMyIpLCAibm9uZSIsICJub25lIiwgIm5vbmUiKTsK
KyAgICB0ZXN0R3JpZERlZmluaXRpb25zVmFsdWVzKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJn
cmlkVGVtcGxhdGVTaW1wbGVGb3JtV2l0aE1pc3BsYWNlZE5vbmU0IiksICJub25lIiwgIm5vbmUi
LCAibm9uZSIpOworICAgIHRlc3RHcmlkRGVmaW5pdGlvbnNWYWx1ZXMoZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImdyaWRUZW1wbGF0ZUNvbXBsZXhGb3JtV2l0aFJlcGVhdCIpLCAibm9uZSIsICJu
b25lIiwgIm5vbmUiKTsKKyAgICB0ZXN0R3JpZERlZmluaXRpb25zVmFsdWVzKGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJncmlkVGVtcGxhdGVDb21wbGV4Rm9ybVdpdGhXcm9uZ1JlcGVhdCIpLCAi
bm9uZSIsICJub25lIiwgIm5vbmUiKTsKKyAgICB0ZXN0R3JpZERlZmluaXRpb25zVmFsdWVzKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJncmlUZW1wbGF0ZUNvbXBsZXhGb3JtZFdpdGhGaXRBdmFp
bGFibGUiKSwgIm5vbmUiLCAibm9uZSIsICJub25lIik7CisgICAgdGVzdEdyaWREZWZpbml0aW9u
c1ZhbHVlcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1O
b0NvbHVtblNpemUiKSwgIm5vbmUiLCAibm9uZSIsICJub25lIik7CisgICAgdGVzdEdyaWREZWZp
bml0aW9uc1ZhbHVlcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3JpZFRlbXBsYXRlQ29tcGxl
eEZvcm1NaXNwbGFjZWRSb3dzU2l6ZTEiKSwgIm5vbmUiLCAibm9uZSIsICJub25lIik7CisgICAg
dGVzdEdyaWREZWZpbml0aW9uc1ZhbHVlcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3JpZFRl
bXBsYXRlQ29tcGxleEZvcm1NaXNwbGFjZWRSb3dzU2l6ZTIiKSwgIm5vbmUiLCAibm9uZSIsICJu
b25lIik7CisgICAgdGVzdEdyaWREZWZpbml0aW9uc1ZhbHVlcyhkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgiZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1Db2x1bW5zTm90UGFyc2luZzEiKSwgIm5vbmUi
LCAibm9uZSIsICJub25lIik7CisgICAgdGVzdEdyaWREZWZpbml0aW9uc1ZhbHVlcyhkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1Db2x1bW5zTm90UGFyc2lu
ZzIiKSwgIm5vbmUiLCAibm9uZSIsICJub25lIik7CisgICAgdGVzdEdyaWREZWZpbml0aW9uc1Zh
bHVlcyhkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZ3JpZFRlbXBsYXRlQ29tcGxleEZvcm1XaXRo
Tm9uZUNvbHVtbnMiKSwgIm5vbmUiLCAibm9uZSIsICJub25lIik7CisKKyAgICBkZWJ1ZygiIik7
CisgICAgZGVidWcoIlRlc3QgdGhlIGluaXRpYWwgdmFsdWUiKTsKKyAgICB2YXIgZWxlbWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoZWxlbWVudCk7CisgICAgdGVzdEdyaWREZWZpbml0aW9uc1ZhbHVlcyhlbGVtZW50LCAi
bm9uZSIsICJub25lIiwgIm5vbmUiKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShl
bGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWNvbHVt
bnMnKSIsICInbm9uZSciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50
LCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3MnKSIsICIn
bm9uZSciKTsKKyAgICBzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0
UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLWFyZWFzJykiLCAiJ25vbmUnIik7
CisKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoIlRlc3Qgc2V0dGluZyBncmlkLXRlbXBsYXRl
LWNvbHVtbnMgYW5kIGdyaWQtdGVtcGxhdGUtcm93cyBiYWNrIHRvICdub25lJyB0aHJvdWdoIEpT
Iik7CisgICAgdGVzdEdyaWREZWZpbml0aW9uc1NldEpTVmFsdWVzKCIxMHB4IC8gKGxpbmUpICdh
JyAyMHB4IiwgIjEwcHgiLCAiKGxpbmUpIDIwcHgiLCAiXCJhXCIiKTsKKyAgICB0ZXN0R3JpZERl
ZmluaXRpb25zU2V0SlNWYWx1ZXMoIm5vbmUiLCAibm9uZSIsICJub25lIiwgIm5vbmUiKTsKKwor
ICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiVGVzdCBnZXR0aW5nIGFuZCBzZXR0aW5nIGdyaWQt
dGVtcGxhdGUgc2hvcnRoYW5kIHRocm91Z2ggSlMiKTsKKyAgICB0ZXN0R3JpZERlZmluaXRpb25z
U2V0SlNWYWx1ZXMoIjE4cHggLyA2NnB4IiwgIjE4cHgiLCAiNjZweCIsICJub25lIik7CisgICAg
dGVzdEdyaWREZWZpbml0aW9uc1NldEpTVmFsdWVzKCIxMHB4IC8gKGhlYWQpICdhJyAxNXB4ICh0
YWlsKSIsICIxMHB4IiwgIihoZWFkKSAxNXB4ICh0YWlsKSIsICJcImFcIiIpOworICAgIHRlc3RH
cmlkRGVmaW5pdGlvbnNTZXRKU1ZhbHVlcygiJ2EnIiwgIm5vbmUiLCAiMHB4IiwgIlwiYVwiIiwg
Im5vbmUiLCAiYXV0byIpOworCisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJUZXN0IHNldHRp
bmcgZ3JpZC10ZW1wbGF0ZSBzaG9ydGhhbmQgdG8gYmFkIHZhbHVlcyB0aHJvdWdoIEpTIik7Cisg
ICAgdGVzdEdyaWREZWZpbml0aW9uc1NldEJhZEpTVmFsdWVzKCJub25lIC8gJ2EnIik7CisgICAg
dGVzdEdyaWREZWZpbml0aW9uc1NldEJhZEpTVmFsdWVzKCIyNXB4IC8gJ2EnIChuYW1lKSAxMHB4
Iik7CisgICAgdGVzdEdyaWREZWZpbml0aW9uc1NldEJhZEpTVmFsdWVzKCInYScgLyAnYiciKTsK
KyAgICB0ZXN0R3JpZERlZmluaXRpb25zU2V0QmFkSlNWYWx1ZXMoIjE1cHgiKTsKKyAgICB0ZXN0
R3JpZERlZmluaXRpb25zU2V0QmFkSlNWYWx1ZXMoIjE1cHggLyAyMHB4IG5vbmUiKTsKKyAgICB0
ZXN0R3JpZERlZmluaXRpb25zU2V0QmFkSlNWYWx1ZXMoIjI1cHggLyAxMHB4ICdhJyIpOworCis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Y3NzLWdyaWQtbGF5b3V0L3Jlc291cmNlcy9ncmlkLXRlbXBsYXRlLXNob3J0aGFuZC1wYXJzaW5n
LXV0aWxzLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ3JpZC1sYXlvdXQvcmVzb3VyY2VzL2dy
aWQtdGVtcGxhdGUtc2hvcnRoYW5kLXBhcnNpbmctdXRpbHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWY2YjRi
Njc0NzE3YTg5YzExOTBjYjJhY2E1MzdkY2NmYTRlOTZhMAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzLWdyaWQtbGF5b3V0L3Jlc291cmNlcy9ncmlkLXRlbXBsYXRlLXNo
b3J0aGFuZC1wYXJzaW5nLXV0aWxzLmpzCkBAIC0wLDAgKzEsNTEgQEAKK2Z1bmN0aW9uIHRlc3RH
cmlkRGVmaW5pdGlvbnNWYWx1ZXMoZWxlbWVudCwgY29tcHV0ZWRDb2x1bW5zVmFsdWUsIGNvbXB1
dGVkUm93c1ZhbHVlLCBjb21wdXRlZEFyZWFzVmFsdWUpCit7CisgICAgd2luZG93LmVsZW1lbnQg
PSBlbGVtZW50OworICAgIHZhciBlbGVtZW50SUQgPSBlbGVtZW50LmlkIHx8ICJlbGVtZW50IjsK
KyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKCIgKyBl
bGVtZW50SUQgKyAiLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRl
LWNvbHVtbnMnKSIsIGNvbXB1dGVkQ29sdW1uc1ZhbHVlKTsKKyAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoIndpbmRvdy5nZXRDb21wdXRlZFN0eWxlKCIgKyBlbGVtZW50SUQgKyAiLCAnJykuZ2V0
UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3MnKSIsIGNvbXB1dGVkUm93
c1ZhbHVlKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoIndpbmRvdy5nZXRDb21wdXRlZFN0
eWxlKCIgKyBlbGVtZW50SUQgKyAiLCAnJykuZ2V0UHJvcGVydHlWYWx1ZSgnLXdlYmtpdC1ncmlk
LXRlbXBsYXRlLWFyZWFzJykiLCBjb21wdXRlZEFyZWFzVmFsdWUpOworfQorCitmdW5jdGlvbiB0
ZXN0R3JpZERlZmluaXRpb25zU2V0SlNWYWx1ZXMoc2hvcnRoYW5kVmFsdWUsIGNvbXB1dGVkQ29s
dW1uc1ZhbHVlLCBjb21wdXRlZFJvd3NWYWx1ZSwgY29tcHV0ZWRBcmVhc1ZhbHVlLCBqc0NvbHVt
bnNWYWx1ZSwganNSb3dzVmFsdWUsIGpzQXJlYXNWYWx1ZSkKK3sKKyAgICBjaGVja0dyaWREZWZp
bml0aW9uc1NldEpTVmFsdWVzKHRydWUsIHNob3J0aGFuZFZhbHVlLCBjb21wdXRlZENvbHVtbnNW
YWx1ZSwgY29tcHV0ZWRSb3dzVmFsdWUsIGNvbXB1dGVkQXJlYXNWYWx1ZSwganNDb2x1bW5zVmFs
dWUsIGpzUm93c1ZhbHVlLCBqc0FyZWFzVmFsdWUpOworfQorCitmdW5jdGlvbiB0ZXN0Tm9uR3Jp
ZERlZmluaXRpb25zU2V0SlNWYWx1ZXMoc2hvcnRoYW5kVmFsdWUsIGNvbXB1dGVkQ29sdW1uc1Zh
bHVlLCBjb21wdXRlZFJvd3NWYWx1ZSwgY29tcHV0ZWRBcmVhc1ZhbHVlLCBqc0NvbHVtbnNWYWx1
ZSwganNSb3dzVmFsdWUsIGpzQXJlYXNWYWx1ZSkKK3sKKyAgICBjaGVja0dyaWREZWZpbml0aW9u
c1NldEpTVmFsdWVzKGZhbHNlLCBzaG9ydGhhbmRWYWx1ZSwgY29tcHV0ZWRDb2x1bW5zVmFsdWUs
IGNvbXB1dGVkUm93c1ZhbHVlLCBjb21wdXRlZEFyZWFzVmFsdWUsIGpzQ29sdW1uc1ZhbHVlLCBq
c1Jvd3NWYWx1ZSwganNBcmVhc1ZhbHVlKTsKK30KKworZnVuY3Rpb24gY2hlY2tHcmlkRGVmaW5p
dGlvbnNTZXRKU1ZhbHVlcyh1c2VHcmlkLCBzaG9ydGhhbmRWYWx1ZSwgY29tcHV0ZWRDb2x1bW5z
VmFsdWUsIGNvbXB1dGVkUm93c1ZhbHVlLCBjb21wdXRlZEFyZWFzVmFsdWUsIGpzQ29sdW1uc1Zh
bHVlLCBqc1Jvd3NWYWx1ZSwganNBcmVhc1ZhbHVlKQoreworICAgIHdpbmRvdy5lbGVtZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChlbGVtZW50KTsKKyAgICBpZiAodXNlR3JpZCkgeworICAgICAgICBlbGVtZW50LnN0eWxl
LmRpc3BsYXkgPSAiLXdlYmtpdC1ncmlkIjsKKyAgICAgICAgZWxlbWVudC5zdHlsZS53aWR0aCA9
ICI4MDBweCI7CisgICAgICAgIGVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gIjYwMHB4IjsKKyAgICB9
CisKKyAgICBlbGVtZW50LnN0eWxlLmZvbnQgPSAiMTBweCBBaGVtIjsgLy8gVXNlZCB0byByZXNv
bHZlIGVtIGZvbnQgY29uc2lzdGVudGx5LgorICAgIGVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRl
bXBsYXRlID0gc2hvcnRoYW5kVmFsdWU7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRD
b21wdXRlZFN0eWxlKGVsZW1lbnQsICcnKS5nZXRQcm9wZXJ0eVZhbHVlKCctd2Via2l0LWdyaWQt
dGVtcGxhdGUtY29sdW1ucycpIiwgY29tcHV0ZWRDb2x1bW5zVmFsdWUpOworICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGVDb2x1bW5zIiwg
anNDb2x1bW5zVmFsdWUgfHwgY29tcHV0ZWRDb2x1bW5zVmFsdWUpOworICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygiZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCAnJykuZ2V0UHJvcGVydHlWYWx1
ZSgnLXdlYmtpdC1ncmlkLXRlbXBsYXRlLXJvd3MnKSIsIGNvbXB1dGVkUm93c1ZhbHVlKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBsYXRl
Um93cyIsIGpzUm93c1ZhbHVlIHx8IGNvbXB1dGVkUm93c1ZhbHVlKTsKKyAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgJycpLmdldFByb3BlcnR5VmFs
dWUoJy13ZWJraXQtZ3JpZC10ZW1wbGF0ZS1hcmVhcycpIiwgY29tcHV0ZWRBcmVhc1ZhbHVlKTsK
KyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImVsZW1lbnQuc3R5bGUud2Via2l0R3JpZFRlbXBs
YXRlQXJlYXMiLCBqc0FyZWFzVmFsdWUgfHwgY29tcHV0ZWRBcmVhc1ZhbHVlKTsKKyAgICBkb2N1
bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsZW1lbnQpOworCit9CisKK2Z1bmN0aW9uIHRlc3RHcmlk
RGVmaW5pdGlvbnNTZXRCYWRKU1ZhbHVlcyhzaG9ydGhhbmRWYWx1ZSkKK3sKKyAgICB3aW5kb3cu
ZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7CisKKyAgICBlbGVtZW50LnN0eWxlLndlYmtpdEdyaWRU
ZW1wbGF0ZSA9IHNob3J0aGFuZFZhbHVlOworICAgIC8vIFdlIGNhbid0IHVzZSB0ZXN0U2V0SlNW
YWx1ZXMgYXMgZWxlbWVudC5zdHlsZS53ZWJraXRHcmlkVGVtcGxhdGVSb3dzIHJldHVybnMgIiIu
CisgICAgdGVzdEdyaWREZWZpbml0aW9uc1ZhbHVlcyhlbGVtZW50LCAibm9uZSIsICJub25lIiwg
Im5vbmUiKTsKKyAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsZW1lbnQpOworfQpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
      

    </bug>

</bugzilla>