<?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>71163</bug_id>
          
          <creation_ts>2011-10-28 17:27:41 -0700</creation_ts>
          <short_desc>--webkit-visual-word enable it in cr-win by command line flag</short_desc>
          <delta_ts>2011-11-04 16:10:14 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>25298</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Xiaomei Ji">xji</reporter>
          <assigned_to name="Joshua Bell">jsbell</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>japhet</cc>
    
    <cc>jsbell</cc>
    
    <cc>playmobil</cc>
    
    <cc>rniwa</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>492819</commentid>
    <comment_count>0</comment_count>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2011-10-28 17:27:41 -0700</bug_when>
    <thetext>To minimize the risk to LTR users, we are thinking to enable this feature first to chromium win by command line flag.

And we can also short-cut in the code that for LTR text in LTR context, fallback to logical word movement (which is the same order as visual order).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492821</commentid>
    <comment_count>1</comment_count>
      <attachid>112948</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2011-10-28 17:28:29 -0700</bug_when>
    <thetext>Created attachment 112948
wip</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492831</commentid>
    <comment_count>2</comment_count>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2011-10-28 17:35:24 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=112948) [details]
&gt; wip

The corresponding chromium side change is at: 
http://codereview.chromium.org/8400078/

workflow:
1. add command line flag --use-visual-word-movement, pass it from browser to renderer, and set m_visualWordMovement (newly added data member in WebViewImpl) to true when the flag is passed-in;
2. in EditorClientImpl, when webview&apos;s m_visualWordMovement is true, reset the mapping of ctrl-arrow from &quot;MoveWordLeft/Right&quot; to &quot;MoveWordLeft/RightVisually&quot; which are 2 newly added editing commands in EditorCommand.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492833</commentid>
    <comment_count>3</comment_count>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2011-10-28 17:39:55 -0700</bug_when>
    <thetext>This and the corresponding chromium side CL are temporary, and they should be removed after the feature is enabled without command line flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492842</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-28 17:55:15 -0700</bug_when>
    <thetext>Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493367</commentid>
    <comment_count>5</comment_count>
      <attachid>112948</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-10-31 09:45:04 -0700</bug_when>
    <thetext>Comment on attachment 112948
wip

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

&gt; WebKit/chromium/public/WebWidget.h:182
&gt; +    virtual void setVisualWordMovement() { }

this feels a lot like a per-Page setting.  shouldn&apos;t this be in WebSettings?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493371</commentid>
    <comment_count>6</comment_count>
      <attachid>112948</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-10-31 09:50:24 -0700</bug_when>
    <thetext>Comment on attachment 112948
wip

This should just be a run-time flag and should be done by WebSettings as Darin pointed out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494195</commentid>
    <comment_count>7</comment_count>
      <attachid>113234</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2011-11-01 15:10:31 -0700</bug_when>
    <thetext>Created attachment 113234
patch

Thanks for the suggestion!
It is a per-page setting, and I set it through WebKit::WebSettings (not in WebCore::Settings to minimize the change in WebCore).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494226</commentid>
    <comment_count>8</comment_count>
      <attachid>113234</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-01 15:41:01 -0700</bug_when>
    <thetext>Comment on attachment 113234
patch

Attachment 113234 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10257071</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494275</commentid>
    <comment_count>9</comment_count>
      <attachid>113234</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-11-01 16:27:14 -0700</bug_when>
    <thetext>Comment on attachment 113234
patch

I&apos;m probably not the best reviewer for the EditorClientImpl.cpp changes, but the rest of the changes LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494276</commentid>
    <comment_count>10</comment_count>
      <attachid>113251</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2011-11-01 16:27:45 -0700</bug_when>
    <thetext>Created attachment 113251
patch

fix cr-linux ew.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494752</commentid>
    <comment_count>11</comment_count>
      <attachid>113251</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-02 11:25:22 -0700</bug_when>
    <thetext>Comment on attachment 113251
patch

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

&gt; Source/WebKit/chromium/src/EditorClientImpl.cpp:536
&gt; +            const char* name = keyDownEntries[i].name;
&gt; +            if (visualWordMovementEnabled) {
&gt; +                if (!strcmp(name, &quot;MoveWordLeft&quot;))
&gt; +                    name = &quot;MoveWordLeftVisually&quot;;
&gt; +                else if (!strcmp(name, &quot;MoveWordRight&quot;))
&gt; +                    name = &quot;MoveWordRightVisually&quot;;
&gt; +            }

I don&apos;t think this is the right layer to fix this issue. We probably want to change the behavior based on preference inside Selection::modify.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494761</commentid>
    <comment_count>12</comment_count>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2011-11-02 11:30:32 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 113251 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=113251&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/chromium/src/EditorClientImpl.cpp:536
&gt; &gt; +            const char* name = keyDownEntries[i].name;
&gt; &gt; +            if (visualWordMovementEnabled) {
&gt; &gt; +                if (!strcmp(name, &quot;MoveWordLeft&quot;))
&gt; &gt; +                    name = &quot;MoveWordLeftVisually&quot;;
&gt; &gt; +                else if (!strcmp(name, &quot;MoveWordRight&quot;))
&gt; &gt; +                    name = &quot;MoveWordRightVisually&quot;;
&gt; &gt; +            }
&gt; 
&gt; I don&apos;t think this is the right layer to fix this issue. We probably want to change the behavior based on preference inside Selection::modify.

that probably needs to add this flag into WebCore::Settings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494850</commentid>
    <comment_count>13</comment_count>
      <attachid>113361</attachid>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2011-11-02 13:20:58 -0700</bug_when>
    <thetext>Created attachment 113361
patch

updated per comment #11</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494868</commentid>
    <comment_count>14</comment_count>
      <attachid>113361</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-11-02 13:45:21 -0700</bug_when>
    <thetext>Comment on attachment 113361
patch

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

&gt; Source/WebCore/editing/FrameSelection.cpp:638
&gt; +        Settings* settings = m_frame ? m_frame-&gt;settings() : 0;
&gt; +        if (settings &amp;&amp; settings-&gt;visualWordMovementEnabled()) {

Please make this an inline helper function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495967</commentid>
    <comment_count>15</comment_count>
    <who name="Xiaomei Ji">xji</who>
    <bug_when>2011-11-03 18:18:41 -0700</bug_when>
    <thetext>Committed r99255: &lt;http://trac.webkit.org/changeset/99255&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496510</commentid>
    <comment_count>16</comment_count>
      <attachid>113720</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-11-04 15:39:01 -0700</bug_when>
    <thetext>Created attachment 113720
ignore this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496530</commentid>
    <comment_count>17</comment_count>
      <attachid>113720</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-11-04 16:10:14 -0700</bug_when>
    <thetext>Comment on attachment 113720
ignore this

Sorry, I screwed up the ChangeLog merge.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112948</attachid>
            <date>2011-10-28 17:28:29 -0700</date>
            <delta_ts>2011-11-01 15:10:31 -0700</delta_ts>
            <desc>wip</desc>
            <filename>visual_word_enable_webkit.diff</filename>
            <type>text/plain</type>
            <size>5097</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvRWRpdG9yQ2xpZW50SW1wbC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmNwcAkocmV2aXNpb24g
OTg1ODIpCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL0VkaXRvckNsaWVudEltcGwuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MjUsOCArNTI1LDE0IEBACiAgICAgICAgIGtleVByZXNzQ29tbWFuZHNN
YXAgPSBuZXcgSGFzaE1hcDxpbnQsIGNvbnN0IGNoYXIqPjsKIAogICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgYXJyYXlzaXplKGtleURvd25FbnRyaWVzKTsgaSsrKSB7Ci0gICAgICAg
ICAgICBrZXlEb3duQ29tbWFuZHNNYXAtPnNldChrZXlEb3duRW50cmllc1tpXS5tb2RpZmllcnMg
PDwgMTYgfCBrZXlEb3duRW50cmllc1tpXS52aXJ0dWFsS2V5LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAga2V5RG93bkVudHJpZXNbaV0ubmFtZSk7CisgICAgICAgICAgICBj
b25zdCBjaGFyKiBuYW1lID0ga2V5RG93bkVudHJpZXNbaV0ubmFtZTsKKyAgICAgICAgICAgIGlm
IChtX3dlYlZpZXctPnZpc3VhbFdvcmRNb3ZlbWVudCgpKSB7CisgICAgICAgICAgICAgICAgaWYg
KCFzdHJjbXAobmFtZSwgIk1vdmVXb3JkTGVmdCIpKQorICAgICAgICAgICAgICAgICAgICBuYW1l
ID0gIk1vdmVXb3JkTGVmdFZpc3VhbGx5IjsKKyAgICAgICAgICAgICAgICBlbHNlIGlmICghc3Ry
Y21wKG5hbWUsICJNb3ZlV29yZFJpZ2h0IikpCisgICAgICAgICAgICAgICAgICAgIG5hbWUgPSAi
TW92ZVdvcmRSaWdodFZpc3VhbGx5IjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGtleURv
d25Db21tYW5kc01hcC0+c2V0KGtleURvd25FbnRyaWVzW2ldLm1vZGlmaWVycyA8PCAxNiB8IGtl
eURvd25FbnRyaWVzW2ldLnZpcnR1YWxLZXksIG5hbWUpOwogICAgICAgICB9CiAKICAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGFycmF5c2l6ZShrZXlQcmVzc0VudHJpZXMpOyBpKysp
IHsKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCShyZXZpc2lvbiA5ODU4MikK
KysrIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zNTcsNiArMzU3LDcgQEAKICNpZiBFTkFCTEUoR0VTVFVSRV9SRUNPR05JWkVSKQogICAgICwg
bV9nZXN0dXJlUmVjb2duaXplcihXZWJDb3JlOjpQbGF0Zm9ybUdlc3R1cmVSZWNvZ25pemVyOjpj
cmVhdGUoKSkKICNlbmRpZgorICAgICwgbV92aXN1YWxXb3JkTW92ZW1lbnQoZmFsc2UpCiB7CiAg
ICAgLy8gV2ViS2l0L3dpbi9XZWJWaWV3LmNwcCBkb2VzIHRoZSBzYW1lIHRoaW5nLCBleGNlcHQg
dGhleSBjYWxsIHRoZQogICAgIC8vIEtKUyBzcGVjaWZpYyB3cmFwcGVyIGFyb3VuZCB0aGlzIG1l
dGhvZC4gV2UgbmVlZCB0byBoYXZlIHRocmVhZGluZwpAQCAtMjgzNCw0ICsyODM1LDkgQEAKICNl
bmRpZgogfQogCit2b2lkIFdlYlZpZXdJbXBsOjpzZXRWaXN1YWxXb3JkTW92ZW1lbnQoKQorewor
ICAgIG1fdmlzdWFsV29yZE1vdmVtZW50ID0gdHJ1ZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCShyZXZpc2lvbiA5ODU4MikKKysr
IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtNDE2
LDYgKzQxNiw5IEBACiAKICAgICB2b2lkIGxvc2VDb21wb3NpdG9yQ29udGV4dChpbnQgbnVtVGlt
ZXMpOwogCisgICAgYm9vbCB2aXN1YWxXb3JkTW92ZW1lbnQoKSB7IHJldHVybiBtX3Zpc3VhbFdv
cmRNb3ZlbWVudDsgfQorICAgIHZvaWQgc2V0VmlzdWFsV29yZE1vdmVtZW50KCk7CisKIHByaXZh
dGU6CiAgICAgZnJpZW5kIGNsYXNzIFdlYlZpZXc7ICAvLyBTbyBXZWJWaWV3OjpDcmVhdGUgY2Fu
IGNhbGwgb3VyIGNvbnN0cnVjdG9yCiAgICAgZnJpZW5kIGNsYXNzIFdURjo6UmVmQ291bnRlZDxX
ZWJWaWV3SW1wbD47CkBAIC02MDAsNiArNjAzLDggQEAKICNpZiBFTkFCTEUoR0VTVFVSRV9SRUNP
R05JWkVSKQogICAgIE93blB0cjxXZWJDb3JlOjpQbGF0Zm9ybUdlc3R1cmVSZWNvZ25pemVyPiBt
X2dlc3R1cmVSZWNvZ25pemVyOwogI2VuZGlmCisKKyAgICBib29sIG1fdmlzdWFsV29yZE1vdmVt
ZW50OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBXZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYldpZGdldC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9wdWJsaWMv
V2ViV2lkZ2V0LmgJKHJldmlzaW9uIDk4NTgyKQorKysgV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJXaWRnZXQuaAkod29ya2luZyBjb3B5KQpAQCAtMTc4LDYgKzE3OCw5IEBACiAgICAgLy8gdG8g
cmVuZGVyIGl0cyBjb250ZW50cy4KICAgICB2aXJ0dWFsIGJvb2wgaXNBY2NlbGVyYXRlZENvbXBv
c2l0aW5nQWN0aXZlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAorICAgIC8vIFNldHMgbW92
aW5nIGN1cnNvciBieSB3b3JkIGluIHZpc3VhbCBvcmRlci4KKyAgICB2aXJ0dWFsIHZvaWQgc2V0
VmlzdWFsV29yZE1vdmVtZW50KCkgeyB9CisKIHByb3RlY3RlZDoKICAgICB+V2ViV2lkZ2V0KCkg
eyB9CiB9OwpJbmRleDogV2ViQ29yZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAkocmV2aXNpb24gOTg1ODIp
CisrKyBXZWJDb3JlL2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTg4OCw2ICs4ODgsMTggQEAKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorc3RhdGljIGJvb2wgZXhl
Y3V0ZU1vdmVXb3JkTGVmdFZpc3VhbGx5KEZyYW1lKiBmcmFtZSwgRXZlbnQqLCBFZGl0b3JDb21t
YW5kU291cmNlLCBjb25zdCBTdHJpbmcmKQoreworICAgIGZyYW1lLT5zZWxlY3Rpb24oKS0+bW9k
aWZ5KEZyYW1lU2VsZWN0aW9uOjpBbHRlcmF0aW9uTW92ZSwgRGlyZWN0aW9uTGVmdCwgV2ViS2l0
VmlzdWFsV29yZEdyYW51bGFyaXR5LCBVc2VyVHJpZ2dlcmVkKTsKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKworc3RhdGljIGJvb2wgZXhlY3V0ZU1vdmVXb3JkUmlnaHRWaXN1YWxseShGcmFtZSogZnJh
bWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5nJikKK3sKKyAgICBm
cmFtZS0+c2VsZWN0aW9uKCktPm1vZGlmeShGcmFtZVNlbGVjdGlvbjo6QWx0ZXJhdGlvbk1vdmUs
IERpcmVjdGlvblJpZ2h0LCBXZWJLaXRWaXN1YWxXb3JkR3JhbnVsYXJpdHksIFVzZXJUcmlnZ2Vy
ZWQpOworICAgIHJldHVybiB0cnVlOworfQorCiBzdGF0aWMgYm9vbCBleGVjdXRlT3V0ZGVudChG
cmFtZSogZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5nJikK
IHsKICAgICBhcHBseUNvbW1hbmQoSW5kZW50T3V0ZGVudENvbW1hbmQ6OmNyZWF0ZShmcmFtZS0+
ZG9jdW1lbnQoKSwgSW5kZW50T3V0ZGVudENvbW1hbmQ6Ok91dGRlbnQpKTsKQEAgLTE1NDAsNiAr
MTU1Miw4IEBACiAgICAgICAgIHsgIlVzZUNTUyIsIHsgZXhlY3V0ZVVzZUNTUywgc3VwcG9ydGVk
LCBlbmFibGVkLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RB
bGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAgIHsgIllhbmsiLCB7IGV4ZWN1
dGVZYW5rLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVU
ZXh0LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4
ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAgIHsgIllhbmtBbmRTZWxlY3QiLCB7IGV4
ZWN1dGVZYW5rQW5kU2VsZWN0LCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxl
ZEluRWRpdGFibGVUZXh0LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwg
ZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCisgICAgICAgIHsgIk1vdmVXb3Jk
TGVmdFZpc3VhbGx5IiwgeyBleGVjdXRlTW92ZVdvcmRMZWZ0VmlzdWFsbHksIHN1cHBvcnRlZEZy
b21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRleHRPckNhcmV0QnJvd3Npbmcs
IHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhlY3V0
aW9uV2hlbkRpc2FibGVkIH0gfSwKKyAgICAgICAgeyAiTW92ZVdvcmRSaWdodFZpc3VhbGx5Iiwg
eyBleGVjdXRlTW92ZVdvcmRSaWdodFZpc3VhbGx5LCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5Qmlu
ZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0T3JDYXJldEJyb3dzaW5nLCBzdGF0ZU5vbmUsIHZh
bHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxl
ZCB9IH0sCiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgICAgIHsgIlRha2VGaW5kU3RyaW5nRnJv
bVNlbGVjdGlvbiIsIHsgZXhlY3V0ZVRha2VGaW5kU3RyaW5nRnJvbVNlbGVjdGlvbiwgc3VwcG9y
dGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRUYWtlRmluZFN0cmluZ0Zyb21TZWxlY3Rp
b24sIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9uLCBkb05vdEFsbG93RXhl
Y3V0aW9uV2hlbkRpc2FibGVkIH0gfSwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113234</attachid>
            <date>2011-11-01 15:10:31 -0700</date>
            <delta_ts>2011-11-01 16:27:45 -0700</delta_ts>
            <desc>patch</desc>
            <filename>71163.v1</filename>
            <type>text/plain</type>
            <size>10116</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4OTk4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTEtMDEgIFhpYW9tZWkg
SmkgIDx4amlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEVuYWJsZSBjdHJsLWFycm93IG1vdmUg
Y3Vyc29yIGJ5IHdvcmQgaW4gdmlzdWFsIG9yZGVyIGluIGNyLXdpbiBieSBjb21tYW5kIGxpbmUg
ZmxhZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcx
MTYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IHR3byBjb21tYW5kcyBhcmUgdGVzdGVkIGluIGVkaXRpbmcvc2VsZWN0aW9uL21vdmUtYnktd29y
ZC12aXN1YWxseSoKKyAgICAgICAgYnkgdXNpbmcgLS13ZWJraXQtdmlzdWFsLXdvcmQgZmxhZy4K
KworICAgICAgICAqIGVkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHA6IEFkZCB0d28gbW9yZSBlZGl0
aW5nIGNvbW1hbmRzOiBNb3ZlV29yZExlZnQvUmlnaHRWaXN1YWxseSAKKyAgICAgICAgKFdlYkNv
cmU6OmV4ZWN1dGVNb3ZlV29yZExlZnRWaXN1YWxseSk6CisgICAgICAgIChXZWJDb3JlOjpleGVj
dXRlTW92ZVdvcmRSaWdodFZpc3VhbGx5KToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUNvbW1h
bmRNYXApOgorCiAyMDExLTExLTAxICBEb21pbmljIENvb25leSAgPGRvbWluaWNjQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsIGFuZCBib3gtc2l6aW5nOiBib3Jk
ZXItYm94IGNhbGN1bGF0ZXMgY29udGVudC1ib3ggaGVpZ2h0CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAJKHJldmlzaW9uIDk4OTE3KQorKysgU291cmNlL1dl
YkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODg4LDYg
Kzg4OCwxOCBAQCBzdGF0aWMgYm9vbCBleGVjdXRlTW92ZVRvUmlnaHRFbmRPZkxpbmVBCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBib29sIGV4ZWN1dGVNb3ZlV29yZExlZnRWaXN1YWxs
eShGcmFtZSogZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5n
JikKK3sKKyAgICBmcmFtZS0+c2VsZWN0aW9uKCktPm1vZGlmeShGcmFtZVNlbGVjdGlvbjo6QWx0
ZXJhdGlvbk1vdmUsIERpcmVjdGlvbkxlZnQsIFdlYktpdFZpc3VhbFdvcmRHcmFudWxhcml0eSwg
VXNlclRyaWdnZXJlZCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3N0YXRpYyBib29sIGV4ZWN1
dGVNb3ZlV29yZFJpZ2h0VmlzdWFsbHkoRnJhbWUqIGZyYW1lLCBFdmVudCosIEVkaXRvckNvbW1h
bmRTb3VyY2UsIGNvbnN0IFN0cmluZyYpCit7CisgICAgZnJhbWUtPnNlbGVjdGlvbigpLT5tb2Rp
ZnkoRnJhbWVTZWxlY3Rpb246OkFsdGVyYXRpb25Nb3ZlLCBEaXJlY3Rpb25SaWdodCwgV2ViS2l0
VmlzdWFsV29yZEdyYW51bGFyaXR5LCBVc2VyVHJpZ2dlcmVkKTsKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKwogc3RhdGljIGJvb2wgZXhlY3V0ZU91dGRlbnQoRnJhbWUqIGZyYW1lLCBFdmVudCosIEVk
aXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0cmluZyYpCiB7CiAgICAgYXBwbHlDb21tYW5kKElu
ZGVudE91dGRlbnRDb21tYW5kOjpjcmVhdGUoZnJhbWUtPmRvY3VtZW50KCksIEluZGVudE91dGRl
bnRDb21tYW5kOjpPdXRkZW50KSk7CkBAIC0xNTQwLDYgKzE1NTIsOCBAQCBzdGF0aWMgY29uc3Qg
Q29tbWFuZE1hcCYgY3JlYXRlQ29tbWFuZE1hCiAgICAgICAgIHsgIlVzZUNTUyIsIHsgZXhlY3V0
ZVVzZUNTUywgc3VwcG9ydGVkLCBlbmFibGVkLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4
dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAg
IHsgIllhbmsiLCB7IGV4ZWN1dGVZYW5rLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywg
ZW5hYmxlZEluRWRpdGFibGVUZXh0LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2Vy
dGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAgIHsgIllh
bmtBbmRTZWxlY3QiLCB7IGV4ZWN1dGVZYW5rQW5kU2VsZWN0LCBzdXBwb3J0ZWRGcm9tTWVudU9y
S2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwg
bm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCisg
ICAgICAgIHsgIk1vdmVXb3JkTGVmdFZpc3VhbGx5IiwgeyBleGVjdXRlTW92ZVdvcmRMZWZ0Vmlz
dWFsbHksIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRl
eHRPckNhcmV0QnJvd3NpbmcsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9u
LCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKKyAgICAgICAgeyAiTW92ZVdv
cmRSaWdodFZpc3VhbGx5IiwgeyBleGVjdXRlTW92ZVdvcmRSaWdodFZpc3VhbGx5LCBzdXBwb3J0
ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0T3JDYXJldEJyb3dz
aW5nLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4
ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgICAgIHsg
IlRha2VGaW5kU3RyaW5nRnJvbVNlbGVjdGlvbiIsIHsgZXhlY3V0ZVRha2VGaW5kU3RyaW5nRnJv
bVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRUYWtlRmlu
ZFN0cmluZ0Zyb21TZWxlY3Rpb24sIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0
aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA5ODk5OCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTEtMTEtMDEg
IFhpYW9tZWkgSmkgIDx4amlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEVuYWJsZSBjdHJsLWFy
cm93IG1vdmUgY3Vyc29yIGJ5IHdvcmQgaW4gdmlzdWFsIG9yZGVyIGluIGNyLXdpbiBieSBjb21t
YW5kIGxpbmUgZmxhZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcxMTYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVG8gbWluaW1pemUgdGhlIHJpc2sgdG8gTFRSIHVzZXJzLCB3ZSBlbmFibGUgdGhpcyBm
ZWF0dXJlIGZpcnN0IHRvIGNocm9taXVtIHdpbgorICAgICAgICBieSBjb21tYW5kIGxpbmUgZmxh
Zy4gVGhpcyBhbmQgY29ycmVzcG9uZGluZyBjaGFuZ3NldCBpbiBjaHJvbWl1bQorICAgICAgICAo
aHR0cDovL2NvZGVyZXZpZXcuY2hyb21pdW0ub3JnLzg0MDAwNzgvKQorICAgICAgICBzaG91bGQg
YmUgcmVtb3ZlZCBhZnRlciB0aGlzIGZlYXR1cmUgaXMgZW5hYmxlZCB3aXRob3V0IGNvbW1hbmQg
bGluZSBmbGFnLiAKKworICAgICAgICBUaGUgd29yayBmbG93IGlzOgorICAgICAgICAxLiAoY2hy
b21pdW0pIGFkZHMgY29tbWFuZCBsaW5lIGZsYWcgLS1lbmFibGUtdmlzdWFsLXdvcmQtbW92ZW1l
bnQsCisgICAgICAgICAgIHBhc3MgaXQgdG8gV2ViS2l0OjpXZWJTZXR0aW5ncyAgdGhyb3VnaCBX
ZWJQcmVmZXJlbmNlcy4KKyAgICAgICAgMi4gaW4gRWRpdG9yQ2xpZW50SW1wbCwgd2hlbiAndmlz
dWFsV29yZE1vdmVtZW50RW5hYmxlZCcgaXMgdHJ1ZSBpbiB3ZWJ2aWV3J3MgV2ViU2V0dGluZ3Ms
CisgICAgICAgICAgIHJlc2V0IHRoZSBtYXBwaW5nIG9mIGN0cmwtYXJyb3cgZnJvbSAiTW92ZVdv
cmRMZWZ0L1JpZ2h0IiB0byAiTW92ZVdvcmRMZWZ0L1JpZ2h0VmlzdWFsbHkiCisgICAgICAgICAg
IHdoaWNoIGFyZSB0d28gbmV3bHkgYWRkZWQgZWRpdGluZyBjb21tYW5kcyBpbiBFZGl0b3JDb21t
YW5kLmNwcC4KKyAKKyAgICAgICAgKiBwdWJsaWMvV2ViU2V0dGluZ3MuaDoKKyAgICAgICAgKiBz
cmMvRWRpdG9yQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudElt
cGw6OmludGVycHJldEtleUV2ZW50KToKKyAgICAgICAgKiBzcmMvV2ViU2V0dGluZ3NJbXBsLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJbXBsOjpXZWJTZXR0aW5nc0ltcGwpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNldFZpc3VhbFdvcmRNb3ZlbWVudEVu
YWJsZWQpOgorICAgICAgICAqIHNyYy9XZWJTZXR0aW5nc0ltcGwuaDoKKyAgICAgICAgKFdlYktp
dDo6V2ViU2V0dGluZ3NJbXBsOjp2aXN1YWxXb3JkTW92ZW1lbnRFbmFibGVkKToKKwogMjAxMS0x
MS0wMSAgTmF0IER1Y2EgIDxuZHVjYUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ0NTY2hlZHVs
ZXJUZXN0cyBmYWlsIG9uIENocm9taXVtIFdpbmRvd3MgKGRiZykgYWZ0ZXIgcjk4OTE1CkluZGV4
OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRpbmdzLmgJKHJldmlzaW9u
IDk4OTE3KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaAko
d29ya2luZyBjb3B5KQpAQCAtMTMyLDYgKzEzMiw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgc2V0U2hvdWxkUHJpbnRCYWNrZ3JvdW5kcyhib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IHNldEVuYWJsZVNjcm9sbEFuaW1hdG9yKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZChib29sKSA9IDA7CisgICAgdmlydHVhbCB2
b2lkIHNldFZpc3VhbFdvcmRNb3ZlbWVudEVuYWJsZWQoYm9vbCkgPSAwOworICAgIHZpcnR1YWwg
Ym9vbCB2aXN1YWxXb3JkTW92ZW1lbnRFbmFibGVkKCkgY29uc3QgPSAwOwogCiBwcm90ZWN0ZWQ6
CiAgICAgfldlYlNldHRpbmdzKCkgeyB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9FZGl0b3JDbGllbnRJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmNwcAkocmV2aXNpb24gOTg5MTcpCisrKyBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTQsNiArNTQsNyBAQAogI2luY2x1ZGUgIldlYk5vZGUuaCIKICNpbmNsdWRlICJXZWJQZXJt
aXNzaW9uQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViUmFuZ2UuaCIKKyNpbmNsdWRlICJXZWJTZXR0
aW5ncy5oIgogI2luY2x1ZGUgIldlYlNwZWxsQ2hlY2tDbGllbnQuaCIKICNpbmNsdWRlICJXZWJU
ZXh0QWZmaW5pdHkuaCIKICNpbmNsdWRlICJXZWJUZXh0Q2hlY2tpbmdDb21wbGV0aW9uSW1wbC5o
IgpAQCAtNTI0LDkgKzUyNSwxNiBAQCBjb25zdCBjaGFyKiBFZGl0b3JDbGllbnRJbXBsOjppbnRl
cnByZXRLCiAgICAgICAgIGtleURvd25Db21tYW5kc01hcCA9IG5ldyBIYXNoTWFwPGludCwgY29u
c3QgY2hhcio+OwogICAgICAgICBrZXlQcmVzc0NvbW1hbmRzTWFwID0gbmV3IEhhc2hNYXA8aW50
LCBjb25zdCBjaGFyKj47CiAKKyAgICAgICAgYm9vbCB2aXN1YWxXb3JkTW92ZW1lbnRFbmFibGVk
ID0gbV93ZWJWaWV3LT5zZXR0aW5ncygpLT52aXN1YWxXb3JkTW92ZW1lbnRFbmFibGVkKCk7CiAg
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBhcnJheXNpemUoa2V5RG93bkVudHJpZXMp
OyBpKyspIHsKLSAgICAgICAgICAgIGtleURvd25Db21tYW5kc01hcC0+c2V0KGtleURvd25FbnRy
aWVzW2ldLm1vZGlmaWVycyA8PCAxNiB8IGtleURvd25FbnRyaWVzW2ldLnZpcnR1YWxLZXksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlEb3duRW50cmllc1tpXS5uYW1l
KTsKKyAgICAgICAgICAgIGNvbnN0IGNoYXIqIG5hbWUgPSBrZXlEb3duRW50cmllc1tpXS5uYW1l
OworICAgICAgICAgICAgaWYgKHZpc3VhbFdvcmRNb3ZlbWVudEVuYWJsZWQpIHsKKyAgICAgICAg
ICAgICAgICBpZiAoIXN0cmNtcChuYW1lLCAiTW92ZVdvcmRMZWZ0IikpCisgICAgICAgICAgICAg
ICAgICAgIG5hbWUgPSAiTW92ZVdvcmRMZWZ0VmlzdWFsbHkiOworICAgICAgICAgICAgICAgIGVs
c2UgaWYgKCFzdHJjbXAobmFtZSwgIk1vdmVXb3JkUmlnaHQiKSkKKyAgICAgICAgICAgICAgICAg
ICAgbmFtZSA9ICJNb3ZlV29yZFJpZ2h0VmlzdWFsbHkiOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAga2V5RG93bkNvbW1hbmRzTWFwLT5zZXQoa2V5RG93bkVudHJpZXNbaV0ubW9kaWZpZXJz
IDw8IDE2IHwga2V5RG93bkVudHJpZXNbaV0udmlydHVhbEtleSwgbmFtZSk7CiAgICAgICAgIH0K
IAogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgYXJyYXlzaXplKGtleVByZXNzRW50
cmllcyk7IGkrKykgewpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGlu
Z3NJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJT
ZXR0aW5nc0ltcGwuY3BwCShyZXZpc2lvbiA5ODkxNykKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlNldHRpbmdzSW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUxLDcg
QEAgV2ViU2V0dGluZ3NJbXBsOjpXZWJTZXR0aW5nc0ltcGwoU2V0dGluZwogICAgICwgbV9zaG93
RlBTQ291bnRlcihmYWxzZSkKICAgICAsIG1fc2hvd1BsYXRmb3JtTGF5ZXJUcmVlKGZhbHNlKQog
ICAgICwgbV91c2VUaHJlYWRlZENvbXBvc2l0b3IoZmFsc2UpCisgICAgLCBtX3Zpc3VhbFdvcmRN
b3ZlbWVudEVuYWJsZWQoZmFsc2UpCiB7CiAgICAgQVNTRVJUKHNldHRpbmdzKTsKIH0KQEAgLTQ2
NSw0ICs0NjYsOSBAQCB2b2lkIFdlYlNldHRpbmdzSW1wbDo6c2V0SGl4aWU3NldlYlNvY2tlCiAj
ZW5kaWYKIH0KIAordm9pZCBXZWJTZXR0aW5nc0ltcGw6OnNldFZpc3VhbFdvcmRNb3ZlbWVudEVu
YWJsZWQoYm9vbCBlbmFibGVkKQoreworICAgIG1fdmlzdWFsV29yZE1vdmVtZW50RW5hYmxlZCA9
IGVuYWJsZWQ7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgJKHJldmlzaW9uIDk4OTE3KQorKysg
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEyNCw2ICsxMjQsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldFNob3Vs
ZFByaW50QmFja2dyb3VuZHMoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEVuYWJsZVNjcm9s
bEFuaW1hdG9yKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRIaXhpZTc2V2ViU29ja2V0UHJv
dG9jb2xFbmFibGVkKGJvb2wpOworICAgIHZpcnR1YWwgdm9pZCBzZXRWaXN1YWxXb3JkTW92ZW1l
bnRFbmFibGVkKGJvb2wpOworICAgIHZpcnR1YWwgYm9vbCB2aXN1YWxXb3JkTW92ZW1lbnRFbmFi
bGVkKCkgY29uc3QgeyByZXR1cm4gbV92aXN1YWxXb3JkTW92ZW1lbnRFbmFibGVkOyB9CiAKIHBy
aXZhdGU6CiAgICAgV2ViQ29yZTo6U2V0dGluZ3MqIG1fc2V0dGluZ3M7CkBAIC0xMzEsNiArMTMz
LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fc2hvd0ZQU0NvdW50ZXI7CiAgICAgYm9vbCBtX3No
b3dQbGF0Zm9ybUxheWVyVHJlZTsKICAgICBib29sIG1fdXNlVGhyZWFkZWRDb21wb3NpdG9yOwor
ICAgIGJvb2wgbV92aXN1YWxXb3JkTW92ZW1lbnRFbmFibGVkOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiA5ODk5OCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE0IEBACisyMDExLTExLTAxICBYaWFvbWVpIEppICA8eGppQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBFbmFibGUgY3RybC1hcnJvdyBtb3ZlIGN1cnNvciBieSB3b3JkIGlu
IHZpc3VhbCBvcmRlciBpbiBjci13aW4gYnkgY29tbWFuZCBsaW5lIGZsYWcuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2MworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vV2ViUHJlZmVyZW5jZXMuY3BwOiBTZXQgdmlzdWFsV29yZE1vdmVtZW50RWFibGVkIHRv
IGZhbHNlIGluIERSVC4KKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpyZXNldCk6CisgICAgICAg
IChXZWJQcmVmZXJlbmNlczo6YXBwbHlUbyk6CisKIDIwMTEtMTEtMDEgIEVsbGlvdCBQb2dlciAg
PGVwb2dlckBnb29nbGUuY29tPgogCiAgICAgICAgIGNocm9taXVtLWdwdSBwb3J0IHNob3VsZCBk
ZWZhdWx0IHRvIGNocm9taXVtLWdwdS1tYWMsIG5vdCBjaHJvbWl1bS1ncHUtY2ctbWFjCkluZGV4
OiBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQcmVmZXJlbmNlcy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuY3Bw
CShyZXZpc2lvbiA5ODkxNykKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlBy
ZWZlcmVuY2VzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE1LDYgKzExNSw3IEBAIHZvaWQgV2Vi
UHJlZmVyZW5jZXM6OnJlc2V0KCkKICAgICBhY2NlbGVyYXRlZERyYXdpbmdFbmFibGVkID0gZmFs
c2U7CiAgICAgZm9yY2VDb21wb3NpdGluZ01vZGUgPSBmYWxzZTsKICAgICBoaXhpZTc2V2ViU29j
a2V0UHJvdG9jb2xFbmFibGVkID0gdHJ1ZTsKKyAgICB2aXN1YWxXb3JkTW92ZW1lbnRFbmFibGVk
ID0gZmFsc2U7CiB9CiAKIHZvaWQgV2ViUHJlZmVyZW5jZXM6OmFwcGx5VG8oV2ViVmlldyogd2Vi
VmlldykKQEAgLTE4Niw1ICsxODcsNiBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjphcHBseVRvKFdl
YlZpZXcqIHdlCiAgICAgLy8gRW5hYmxlIGZ1bGxzY3JlZW4gc28gdGhlIGZ1bGxzY3JlZW4gbGF5
b3V0IHRlc3RzIGNhbiBydW4uCiAgICAgc2V0dGluZ3MtPnNldEZ1bGxTY3JlZW5FbmFibGVkKHRy
dWUpOwogICAgIHNldHRpbmdzLT5zZXRWYWxpZGF0aW9uTWVzc2FnZVRpbWVyTWFnbmlmaWNhdGlv
bigtMSk7CisgICAgc2V0dGluZ3MtPnNldFZpc3VhbFdvcmRNb3ZlbWVudEVuYWJsZWQodmlzdWFs
V29yZE1vdmVtZW50RW5hYmxlZCk7CiB9CiAK
</data>
<flag name="commit-queue"
          id="111527"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113251</attachid>
            <date>2011-11-01 16:27:45 -0700</date>
            <delta_ts>2011-11-02 13:20:58 -0700</delta_ts>
            <desc>patch</desc>
            <filename>71163.v2</filename>
            <type>text/plain</type>
            <size>9803</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk4OTk4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTEtMDEgIFhpYW9tZWkg
SmkgIDx4amlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEVuYWJsZSBjdHJsLWFycm93IG1vdmUg
Y3Vyc29yIGJ5IHdvcmQgaW4gdmlzdWFsIG9yZGVyIGluIGNyLXdpbiBieSBjb21tYW5kIGxpbmUg
ZmxhZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcx
MTYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
IHR3byBjb21tYW5kcyBhcmUgdGVzdGVkIGluIGVkaXRpbmcvc2VsZWN0aW9uL21vdmUtYnktd29y
ZC12aXN1YWxseSoKKyAgICAgICAgYnkgdXNpbmcgLS13ZWJraXQtdmlzdWFsLXdvcmQgZmxhZy4K
KworICAgICAgICAqIGVkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHA6IEFkZCB0d28gbW9yZSBlZGl0
aW5nIGNvbW1hbmRzOiBNb3ZlV29yZExlZnQvUmlnaHRWaXN1YWxseSAKKyAgICAgICAgKFdlYkNv
cmU6OmV4ZWN1dGVNb3ZlV29yZExlZnRWaXN1YWxseSk6CisgICAgICAgIChXZWJDb3JlOjpleGVj
dXRlTW92ZVdvcmRSaWdodFZpc3VhbGx5KToKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUNvbW1h
bmRNYXApOgorCiAyMDExLTExLTAxICBEb21pbmljIENvb25leSAgPGRvbWluaWNjQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsIGFuZCBib3gtc2l6aW5nOiBib3Jk
ZXItYm94IGNhbGN1bGF0ZXMgY29udGVudC1ib3ggaGVpZ2h0CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvckNvbW1hbmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvRWRpdG9yQ29tbWFuZC5jcHAJKHJldmlzaW9uIDk4OTE3KQorKysgU291cmNlL1dl
YkNvcmUvZWRpdGluZy9FZGl0b3JDb21tYW5kLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODg4LDYg
Kzg4OCwxOCBAQCBzdGF0aWMgYm9vbCBleGVjdXRlTW92ZVRvUmlnaHRFbmRPZkxpbmVBCiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKK3N0YXRpYyBib29sIGV4ZWN1dGVNb3ZlV29yZExlZnRWaXN1YWxs
eShGcmFtZSogZnJhbWUsIEV2ZW50KiwgRWRpdG9yQ29tbWFuZFNvdXJjZSwgY29uc3QgU3RyaW5n
JikKK3sKKyAgICBmcmFtZS0+c2VsZWN0aW9uKCktPm1vZGlmeShGcmFtZVNlbGVjdGlvbjo6QWx0
ZXJhdGlvbk1vdmUsIERpcmVjdGlvbkxlZnQsIFdlYktpdFZpc3VhbFdvcmRHcmFudWxhcml0eSwg
VXNlclRyaWdnZXJlZCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3N0YXRpYyBib29sIGV4ZWN1
dGVNb3ZlV29yZFJpZ2h0VmlzdWFsbHkoRnJhbWUqIGZyYW1lLCBFdmVudCosIEVkaXRvckNvbW1h
bmRTb3VyY2UsIGNvbnN0IFN0cmluZyYpCit7CisgICAgZnJhbWUtPnNlbGVjdGlvbigpLT5tb2Rp
ZnkoRnJhbWVTZWxlY3Rpb246OkFsdGVyYXRpb25Nb3ZlLCBEaXJlY3Rpb25SaWdodCwgV2ViS2l0
VmlzdWFsV29yZEdyYW51bGFyaXR5LCBVc2VyVHJpZ2dlcmVkKTsKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKwogc3RhdGljIGJvb2wgZXhlY3V0ZU91dGRlbnQoRnJhbWUqIGZyYW1lLCBFdmVudCosIEVk
aXRvckNvbW1hbmRTb3VyY2UsIGNvbnN0IFN0cmluZyYpCiB7CiAgICAgYXBwbHlDb21tYW5kKElu
ZGVudE91dGRlbnRDb21tYW5kOjpjcmVhdGUoZnJhbWUtPmRvY3VtZW50KCksIEluZGVudE91dGRl
bnRDb21tYW5kOjpPdXRkZW50KSk7CkBAIC0xNTQwLDYgKzE1NTIsOCBAQCBzdGF0aWMgY29uc3Qg
Q29tbWFuZE1hcCYgY3JlYXRlQ29tbWFuZE1hCiAgICAgICAgIHsgIlVzZUNTUyIsIHsgZXhlY3V0
ZVVzZUNTUywgc3VwcG9ydGVkLCBlbmFibGVkLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4
dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAg
IHsgIllhbmsiLCB7IGV4ZWN1dGVZYW5rLCBzdXBwb3J0ZWRGcm9tTWVudU9yS2V5QmluZGluZywg
ZW5hYmxlZEluRWRpdGFibGVUZXh0LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2Vy
dGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAgICAgICAgIHsgIllh
bmtBbmRTZWxlY3QiLCB7IGV4ZWN1dGVZYW5rQW5kU2VsZWN0LCBzdXBwb3J0ZWRGcm9tTWVudU9y
S2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0LCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwg
bm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCisg
ICAgICAgIHsgIk1vdmVXb3JkTGVmdFZpc3VhbGx5IiwgeyBleGVjdXRlTW92ZVdvcmRMZWZ0Vmlz
dWFsbHksIHN1cHBvcnRlZEZyb21NZW51T3JLZXlCaW5kaW5nLCBlbmFibGVkSW5FZGl0YWJsZVRl
eHRPckNhcmV0QnJvd3NpbmcsIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0aW9u
LCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKKyAgICAgICAgeyAiTW92ZVdv
cmRSaWdodFZpc3VhbGx5IiwgeyBleGVjdXRlTW92ZVdvcmRSaWdodFZpc3VhbGx5LCBzdXBwb3J0
ZWRGcm9tTWVudU9yS2V5QmluZGluZywgZW5hYmxlZEluRWRpdGFibGVUZXh0T3JDYXJldEJyb3dz
aW5nLCBzdGF0ZU5vbmUsIHZhbHVlTnVsbCwgbm90VGV4dEluc2VydGlvbiwgZG9Ob3RBbGxvd0V4
ZWN1dGlvbldoZW5EaXNhYmxlZCB9IH0sCiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgICAgIHsg
IlRha2VGaW5kU3RyaW5nRnJvbVNlbGVjdGlvbiIsIHsgZXhlY3V0ZVRha2VGaW5kU3RyaW5nRnJv
bVNlbGVjdGlvbiwgc3VwcG9ydGVkRnJvbU1lbnVPcktleUJpbmRpbmcsIGVuYWJsZWRUYWtlRmlu
ZFN0cmluZ0Zyb21TZWxlY3Rpb24sIHN0YXRlTm9uZSwgdmFsdWVOdWxsLCBub3RUZXh0SW5zZXJ0
aW9uLCBkb05vdEFsbG93RXhlY3V0aW9uV2hlbkRpc2FibGVkIH0gfSwKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA5ODk5OCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTEtMTEtMDEg
IFhpYW9tZWkgSmkgIDx4amlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEVuYWJsZSBjdHJsLWFy
cm93IG1vdmUgY3Vyc29yIGJ5IHdvcmQgaW4gdmlzdWFsIG9yZGVyIGluIGNyLXdpbiBieSBjb21t
YW5kIGxpbmUgZmxhZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTcxMTYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVG8gbWluaW1pemUgdGhlIHJpc2sgdG8gTFRSIHVzZXJzLCB3ZSBlbmFibGUgdGhpcyBm
ZWF0dXJlIGZpcnN0IHRvIGNocm9taXVtIHdpbgorICAgICAgICBieSBjb21tYW5kIGxpbmUgZmxh
Zy4gVGhpcyBhbmQgY29ycmVzcG9uZGluZyBjaGFuZ3NldCBpbiBjaHJvbWl1bQorICAgICAgICAo
aHR0cDovL2NvZGVyZXZpZXcuY2hyb21pdW0ub3JnLzg0MDAwNzgvKQorICAgICAgICBzaG91bGQg
YmUgcmVtb3ZlZCBhZnRlciB0aGlzIGZlYXR1cmUgaXMgZW5hYmxlZCB3aXRob3V0IGNvbW1hbmQg
bGluZSBmbGFnLiAKKworICAgICAgICBUaGUgd29yayBmbG93IGlzOgorICAgICAgICAxLiAoY2hy
b21pdW0pIGFkZHMgY29tbWFuZCBsaW5lIGZsYWcgLS1lbmFibGUtdmlzdWFsLXdvcmQtbW92ZW1l
bnQsCisgICAgICAgICAgIHBhc3MgaXQgdG8gV2ViS2l0OjpXZWJTZXR0aW5ncyAgdGhyb3VnaCBX
ZWJQcmVmZXJlbmNlcy4KKyAgICAgICAgMi4gaW4gRWRpdG9yQ2xpZW50SW1wbCwgd2hlbiAndmlz
dWFsV29yZE1vdmVtZW50RW5hYmxlZCcgaXMgdHJ1ZSBpbiB3ZWJ2aWV3J3MgV2ViU2V0dGluZ3Ms
CisgICAgICAgICAgIHJlc2V0IHRoZSBtYXBwaW5nIG9mIGN0cmwtYXJyb3cgZnJvbSAiTW92ZVdv
cmRMZWZ0L1JpZ2h0IiB0byAiTW92ZVdvcmRMZWZ0L1JpZ2h0VmlzdWFsbHkiCisgICAgICAgICAg
IHdoaWNoIGFyZSB0d28gbmV3bHkgYWRkZWQgZWRpdGluZyBjb21tYW5kcyBpbiBFZGl0b3JDb21t
YW5kLmNwcC4KKyAKKyAgICAgICAgKiBwdWJsaWMvV2ViU2V0dGluZ3MuaDoKKyAgICAgICAgKiBz
cmMvRWRpdG9yQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkVkaXRvckNsaWVudElt
cGw6OmludGVycHJldEtleUV2ZW50KToKKyAgICAgICAgKiBzcmMvV2ViU2V0dGluZ3NJbXBsLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJbXBsOjpXZWJTZXR0aW5nc0ltcGwpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJTZXR0aW5nc0ltcGw6OnNldFZpc3VhbFdvcmRNb3ZlbWVudEVu
YWJsZWQpOgorICAgICAgICAqIHNyYy9XZWJTZXR0aW5nc0ltcGwuaDoKKyAgICAgICAgKFdlYktp
dDo6V2ViU2V0dGluZ3NJbXBsOjp2aXN1YWxXb3JkTW92ZW1lbnRFbmFibGVkKToKKwogMjAxMS0x
MS0wMSAgTmF0IER1Y2EgIDxuZHVjYUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQ0NTY2hlZHVs
ZXJUZXN0cyBmYWlsIG9uIENocm9taXVtIFdpbmRvd3MgKGRiZykgYWZ0ZXIgcjk4OTE1CkluZGV4
OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRpbmdzLmgJKHJldmlzaW9u
IDk4OTE3KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaAko
d29ya2luZyBjb3B5KQpAQCAtMTMyLDYgKzEzMiw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgc2V0U2hvdWxkUHJpbnRCYWNrZ3JvdW5kcyhib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IHNldEVuYWJsZVNjcm9sbEFuaW1hdG9yKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
SGl4aWU3NldlYlNvY2tldFByb3RvY29sRW5hYmxlZChib29sKSA9IDA7CisgICAgdmlydHVhbCB2
b2lkIHNldFZpc3VhbFdvcmRNb3ZlbWVudEVuYWJsZWQoYm9vbCkgPSAwOworICAgIHZpcnR1YWwg
Ym9vbCB2aXN1YWxXb3JkTW92ZW1lbnRFbmFibGVkKCkgY29uc3QgPSAwOwogCiBwcm90ZWN0ZWQ6
CiAgICAgfldlYlNldHRpbmdzKCkgeyB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9FZGl0b3JDbGllbnRJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmNwcAkocmV2aXNpb24gOTg5MTcpCisrKyBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9FZGl0b3JDbGllbnRJbXBsLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTQsNiArNTQsNyBAQAogI2luY2x1ZGUgIldlYk5vZGUuaCIKICNpbmNsdWRlICJXZWJQZXJt
aXNzaW9uQ2xpZW50LmgiCiAjaW5jbHVkZSAiV2ViUmFuZ2UuaCIKKyNpbmNsdWRlICJXZWJTZXR0
aW5ncy5oIgogI2luY2x1ZGUgIldlYlNwZWxsQ2hlY2tDbGllbnQuaCIKICNpbmNsdWRlICJXZWJU
ZXh0QWZmaW5pdHkuaCIKICNpbmNsdWRlICJXZWJUZXh0Q2hlY2tpbmdDb21wbGV0aW9uSW1wbC5o
IgpAQCAtNTI0LDkgKzUyNSwxNiBAQCBjb25zdCBjaGFyKiBFZGl0b3JDbGllbnRJbXBsOjppbnRl
cnByZXRLCiAgICAgICAgIGtleURvd25Db21tYW5kc01hcCA9IG5ldyBIYXNoTWFwPGludCwgY29u
c3QgY2hhcio+OwogICAgICAgICBrZXlQcmVzc0NvbW1hbmRzTWFwID0gbmV3IEhhc2hNYXA8aW50
LCBjb25zdCBjaGFyKj47CiAKKyAgICAgICAgYm9vbCB2aXN1YWxXb3JkTW92ZW1lbnRFbmFibGVk
ID0gbV93ZWJWaWV3LT5zZXR0aW5ncygpLT52aXN1YWxXb3JkTW92ZW1lbnRFbmFibGVkKCk7CiAg
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBhcnJheXNpemUoa2V5RG93bkVudHJpZXMp
OyBpKyspIHsKLSAgICAgICAgICAgIGtleURvd25Db21tYW5kc01hcC0+c2V0KGtleURvd25FbnRy
aWVzW2ldLm1vZGlmaWVycyA8PCAxNiB8IGtleURvd25FbnRyaWVzW2ldLnZpcnR1YWxLZXksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXlEb3duRW50cmllc1tpXS5uYW1l
KTsKKyAgICAgICAgICAgIGNvbnN0IGNoYXIqIG5hbWUgPSBrZXlEb3duRW50cmllc1tpXS5uYW1l
OworICAgICAgICAgICAgaWYgKHZpc3VhbFdvcmRNb3ZlbWVudEVuYWJsZWQpIHsKKyAgICAgICAg
ICAgICAgICBpZiAoIXN0cmNtcChuYW1lLCAiTW92ZVdvcmRMZWZ0IikpCisgICAgICAgICAgICAg
ICAgICAgIG5hbWUgPSAiTW92ZVdvcmRMZWZ0VmlzdWFsbHkiOworICAgICAgICAgICAgICAgIGVs
c2UgaWYgKCFzdHJjbXAobmFtZSwgIk1vdmVXb3JkUmlnaHQiKSkKKyAgICAgICAgICAgICAgICAg
ICAgbmFtZSA9ICJNb3ZlV29yZFJpZ2h0VmlzdWFsbHkiOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAga2V5RG93bkNvbW1hbmRzTWFwLT5zZXQoa2V5RG93bkVudHJpZXNbaV0ubW9kaWZpZXJz
IDw8IDE2IHwga2V5RG93bkVudHJpZXNbaV0udmlydHVhbEtleSwgbmFtZSk7CiAgICAgICAgIH0K
IAogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgYXJyYXlzaXplKGtleVByZXNzRW50
cmllcyk7IGkrKykgewpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGlu
Z3NJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJT
ZXR0aW5nc0ltcGwuY3BwCShyZXZpc2lvbiA5ODkxNykKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlNldHRpbmdzSW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxLDYgKzUxLDcg
QEAgV2ViU2V0dGluZ3NJbXBsOjpXZWJTZXR0aW5nc0ltcGwoU2V0dGluZwogICAgICwgbV9zaG93
RlBTQ291bnRlcihmYWxzZSkKICAgICAsIG1fc2hvd1BsYXRmb3JtTGF5ZXJUcmVlKGZhbHNlKQog
ICAgICwgbV91c2VUaHJlYWRlZENvbXBvc2l0b3IoZmFsc2UpCisgICAgLCBtX3Zpc3VhbFdvcmRN
b3ZlbWVudEVuYWJsZWQoZmFsc2UpCiB7CiAgICAgQVNTRVJUKHNldHRpbmdzKTsKIH0KQEAgLTQ2
NSw0ICs0NjYsOSBAQCB2b2lkIFdlYlNldHRpbmdzSW1wbDo6c2V0SGl4aWU3NldlYlNvY2tlCiAj
ZW5kaWYKIH0KIAordm9pZCBXZWJTZXR0aW5nc0ltcGw6OnNldFZpc3VhbFdvcmRNb3ZlbWVudEVu
YWJsZWQoYm9vbCBlbmFibGVkKQoreworICAgIG1fdmlzdWFsV29yZE1vdmVtZW50RW5hYmxlZCA9
IGVuYWJsZWQ7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgJKHJldmlzaW9uIDk4OTE3KQorKysg
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEyNCw2ICsxMjQsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldFNob3Vs
ZFByaW50QmFja2dyb3VuZHMoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEVuYWJsZVNjcm9s
bEFuaW1hdG9yKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRIaXhpZTc2V2ViU29ja2V0UHJv
dG9jb2xFbmFibGVkKGJvb2wpOworICAgIHZpcnR1YWwgdm9pZCBzZXRWaXN1YWxXb3JkTW92ZW1l
bnRFbmFibGVkKGJvb2wpOworICAgIHZpcnR1YWwgYm9vbCB2aXN1YWxXb3JkTW92ZW1lbnRFbmFi
bGVkKCkgY29uc3QgeyByZXR1cm4gbV92aXN1YWxXb3JkTW92ZW1lbnRFbmFibGVkOyB9CiAKIHBy
aXZhdGU6CiAgICAgV2ViQ29yZTo6U2V0dGluZ3MqIG1fc2V0dGluZ3M7CkBAIC0xMzEsNiArMTMz
LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fc2hvd0ZQU0NvdW50ZXI7CiAgICAgYm9vbCBtX3No
b3dQbGF0Zm9ybUxheWVyVHJlZTsKICAgICBib29sIG1fdXNlVGhyZWFkZWRDb21wb3NpdG9yOwor
ICAgIGJvb2wgbV92aXN1YWxXb3JkTW92ZW1lbnRFbmFibGVkOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiA5OTAwOSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDEzIEBACisyMDExLTExLTAxICBYaWFvbWVpIEppICA8eGppQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBFbmFibGUgY3RybC1hcnJvdyBtb3ZlIGN1cnNvciBieSB3b3JkIGlu
IHZpc3VhbCBvcmRlciBpbiBjci13aW4gYnkgY29tbWFuZCBsaW5lIGZsYWcuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2MworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vV2ViUHJlZmVyZW5jZXMuY3BwOiBTZXQgdmlzdWFsV29yZE1vdmVtZW50RWFibGVkIHRv
IGZhbHNlIGluIERSVC4KKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjphcHBseVRvKToKKwogMjAx
MS0xMS0wMSAgQWxvayBQcml5YWRhcnNoaSAgPGFsb2twQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBbY2hyb21pdW1dIC0tZW5hYmxlLWhhcmR3YXJlLWdwdSBmbGFnIGlzIG5vdCByZWNvZ25pemVk
IGJ5IHJ1bi13ZWJraXQtdGVzdHMKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1dlYlByZWZlcmVuY2VzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9XZWJQcmVmZXJlbmNlcy5jcHAJKHJldmlzaW9uIDk4OTE3KQorKysgVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJlZmVyZW5jZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xODYsNSArMTg2LDYgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6YXBwbHlUbyhXZWJWaWV3KiB3
ZQogICAgIC8vIEVuYWJsZSBmdWxsc2NyZWVuIHNvIHRoZSBmdWxsc2NyZWVuIGxheW91dCB0ZXN0
cyBjYW4gcnVuLgogICAgIHNldHRpbmdzLT5zZXRGdWxsU2NyZWVuRW5hYmxlZCh0cnVlKTsKICAg
ICBzZXR0aW5ncy0+c2V0VmFsaWRhdGlvbk1lc3NhZ2VUaW1lck1hZ25pZmljYXRpb24oLTEpOwor
ICAgIHNldHRpbmdzLT5zZXRWaXN1YWxXb3JkTW92ZW1lbnRFbmFibGVkKGZhbHNlKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113361</attachid>
            <date>2011-11-02 13:20:58 -0700</date>
            <delta_ts>2011-11-04 15:38:55 -0700</delta_ts>
            <desc>patch</desc>
            <filename>71163.v3</filename>
            <type>text/plain</type>
            <size>8408</size>
            <attacher name="Xiaomei Ji">xji</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk5MDkwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMTEtMDIgIFhpYW9tZWkg
SmkgIDx4amlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEVuYWJsZSBjdHJsLWFycm93IG1vdmUg
Y3Vyc29yIGJ5IHdvcmQgaW4gdmlzdWFsIG9yZGVyIGluIGNyLXdpbiBieSBjb21tYW5kIGxpbmUg
ZmxhZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcx
MTYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IG1fdmlzdWFsV29yZE1vdmVtZW50RW5hYmxlZCBwYWdlIHNldHRpbmcsIHRyaWdnZXIgdmlzdWFs
IHdvcmQgbW92ZW1lbnQKKyAgICAgICAgZnVuY3Rpb24gKGluc3RlYWQgb2YgbG9naWNhbCBvbmUp
IHdoZW4gaXQgaXMgc2V0IGFzIHRydWUuCisKKyAgICAgICAgcmlnaHR8bGVmdFdvcmRQb3NpdGlv
bigpIGFyZSB0ZXN0ZWQgaW4gZWRpdGluZy9zZWxlY3Rpb24vbW92ZS1ieS13b3JkLXZpc3VhbGx5
KgorICAgICAgICBieSB1c2luZyAtLXdlYmtpdC12aXN1YWwtd29yZCBmbGFnLgorCisgICAgICAg
ICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNl
bGVjdGlvbjo6bW9kaWZ5TW92aW5nUmlnaHQpOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVTZWxl
Y3Rpb246Om1vZGlmeU1vdmluZ0xlZnQpOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OlNldHRpbmdzKToKKyAgICAgICAgKiBwYWdlL1Nl
dHRpbmdzLmg6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6c2V0VmlzdWFsV29yZE1vdmVt
ZW50RW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6dmlzdWFsV29yZE1vdmVt
ZW50RW5hYmxlZCk6CisKIDIwMTEtMTEtMDIgIFRvbW15IFdpZGVuZmx5Y2h0ICA8dG9tbXl3QGdv
b2dsZS5jb20+CiAKICAgICAgICAgTWVkaWFTdHJlYW1SZWdpc3RyeSBzaG91bGQgaG9sZCByZWZl
cmVuY2VzIHRvIE1lZGlhU3RyZWFtRGVzY3JpcHRvciByYXRoZXIgdGhhbiBNZWRpYVN0cmVhbQpJ
bmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAJKHJldmlzaW9u
IDk4OTE3KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTYzMyw3ICs2MzMsMTMgQEAgVmlzaWJsZVBvc2l0aW9uIEZyYW1lU2Vs
ZWN0aW9uOjptb2RpZnlNbwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIHBvcyA9IFZpc2li
bGVQb3NpdGlvbihtX3NlbGVjdGlvbi5leHRlbnQoKSwgbV9zZWxlY3Rpb24uYWZmaW5pdHkoKSku
cmlnaHQodHJ1ZSk7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgV29yZEdyYW51bGFyaXR5Ogor
ICAgIGNhc2UgV29yZEdyYW51bGFyaXR5OiB7CisgICAgICAgIFNldHRpbmdzKiBzZXR0aW5ncyA9
IG1fZnJhbWUgPyBtX2ZyYW1lLT5zZXR0aW5ncygpIDogMDsKKyAgICAgICAgaWYgKHNldHRpbmdz
ICYmIHNldHRpbmdzLT52aXN1YWxXb3JkTW92ZW1lbnRFbmFibGVkKCkpIHsKKyAgICAgICAgICAg
IHBvcyA9IHJpZ2h0V29yZFBvc2l0aW9uKFZpc2libGVQb3NpdGlvbihtX3NlbGVjdGlvbi5leHRl
bnQoKSwgbV9zZWxlY3Rpb24uYWZmaW5pdHkoKSkpOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIH0KKyAgICB9CiAgICAgY2FzZSBTZW50ZW5jZUdyYW51bGFyaXR5OgogICAgIGNhc2UgTGlu
ZUdyYW51bGFyaXR5OgogICAgIGNhc2UgUGFyYWdyYXBoR3JhbnVsYXJpdHk6CkBAIC04MDQsNyAr
ODEwLDEzIEBAIFZpc2libGVQb3NpdGlvbiBGcmFtZVNlbGVjdGlvbjo6bW9kaWZ5TW8KICAgICAg
ICAgZWxzZQogICAgICAgICAgICAgcG9zID0gVmlzaWJsZVBvc2l0aW9uKG1fc2VsZWN0aW9uLmV4
dGVudCgpLCBtX3NlbGVjdGlvbi5hZmZpbml0eSgpKS5sZWZ0KHRydWUpOwogICAgICAgICBicmVh
azsKLSAgICBjYXNlIFdvcmRHcmFudWxhcml0eToKKyAgICBjYXNlIFdvcmRHcmFudWxhcml0eTog
eworICAgICAgICBTZXR0aW5ncyogc2V0dGluZ3MgPSBtX2ZyYW1lID8gbV9mcmFtZS0+c2V0dGlu
Z3MoKSA6IDA7CisgICAgICAgIGlmIChzZXR0aW5ncyAmJiBzZXR0aW5ncy0+dmlzdWFsV29yZE1v
dmVtZW50RW5hYmxlZCgpKSB7CisgICAgICAgICAgICBwb3MgPSBsZWZ0V29yZFBvc2l0aW9uKFZp
c2libGVQb3NpdGlvbihtX3NlbGVjdGlvbi5leHRlbnQoKSwgbV9zZWxlY3Rpb24uYWZmaW5pdHko
KSkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CiAgICAgY2FzZSBTZW50
ZW5jZUdyYW51bGFyaXR5OgogICAgIGNhc2UgTGluZUdyYW51bGFyaXR5OgogICAgIGNhc2UgUGFy
YWdyYXBoR3JhbnVsYXJpdHk6CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkocmV2aXNp
b24gOTg5MTcpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjMwLDYgKzIzMCw3IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQog
I2VuZGlmCiAgICAgLCBtX3N1cHByZXNzSW5jcmVtZW50YWxSZW5kZXJpbmcoZmFsc2UpCiAgICAg
LCBtX2JhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFibGVkKHRydWUpCisgICAgLCBtX3Zpc3VhbFdv
cmRNb3ZlbWVudEVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2xvYWRzSW1hZ2VzQXV0b21hdGljYWxs
eVRpbWVyKHRoaXMsICZTZXR0aW5nczo6bG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5VGltZXJGaXJl
ZCkKIHsKICAgICAvLyBBIEZyYW1lIG1heSBub3QgaGF2ZSBiZWVuIGNyZWF0ZWQgeWV0LCBzbyB3
ZSBpbml0aWFsaXplIHRoZSBBdG9taWNTdHJpbmcgCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5o
CShyZXZpc2lvbiA5ODkxNykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAkod29y
a2luZyBjb3B5KQpAQCAtNDg1LDYgKzQ4NSw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgc3RhdGljIHZvaWQgc2V0TW9ja1Njcm9sbGJhcnNFbmFibGVkKGJvb2wgZmxhZyk7CiAgICAg
ICAgIHN0YXRpYyBib29sIG1vY2tTY3JvbGxiYXJzRW5hYmxlZCgpOwogCisgICAgICAgIHZvaWQg
c2V0VmlzdWFsV29yZE1vdmVtZW50RW5hYmxlZChib29sIGVuYWJsZWQpIHsgbV92aXN1YWxXb3Jk
TW92ZW1lbnRFbmFibGVkID0gZW5hYmxlZDsgfQorICAgICAgICBib29sIHZpc3VhbFdvcmRNb3Zl
bWVudEVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3Zpc3VhbFdvcmRNb3ZlbWVudEVuYWJsZWQ7
IH0KKwogICAgIHByaXZhdGU6CiAgICAgICAgIFBhZ2UqIG1fcGFnZTsKIApAQCAtNjExLDYgKzYx
NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX3Bhc3N3b3JkRWNob0Vu
YWJsZWQgOiAxOwogICAgICAgICBib29sIG1fc3VwcHJlc3NJbmNyZW1lbnRhbFJlbmRlcmluZyA6
IDE7CiAgICAgICAgIGJvb2wgbV9iYWNrc3BhY2VLZXlOYXZpZ2F0aW9uRW5hYmxlZCA6IDE7Cisg
ICAgICAgIGJvb2wgbV92aXN1YWxXb3JkTW92ZW1lbnRFbmFibGVkIDogMTsKIAogICAgICAgICBU
aW1lcjxTZXR0aW5ncz4gbV9sb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHlUaW1lcjsKICAgICAgICAg
dm9pZCBsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHlUaW1lckZpcmVkKFRpbWVyPFNldHRpbmdzPiop
OwpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk5MDkwKQorKysgU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwy
NiBAQAorMjAxMS0xMS0wMiAgWGlhb21laSBKaSAgPHhqaUBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgRW5hYmxlIGN0cmwtYXJyb3cgbW92ZSBjdXJzb3IgYnkgd29yZCBpbiB2aXN1YWwgb3JkZXIg
aW4gY3Itd2luIGJ5IGNvbW1hbmQgbGluZSBmbGFnLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUbyBtaW5pbWl6ZSB0aGUgcmlzayB0byBMVFIgdXNlcnMs
IHdlIGVuYWJsZSB0aGlzIGZlYXR1cmUgZmlyc3QgdG8gY2hyb21pdW0gd2luCisgICAgICAgIGJ5
IGNvbW1hbmQgbGluZSBmbGFnLiBUaGlzIGFuZCBjb3JyZXNwb25kaW5nIGNoYW5nc2V0IGluIGNo
cm9taXVtCisgICAgICAgIChodHRwOi8vY29kZXJldmlldy5jaHJvbWl1bS5vcmcvODQwMDA3OC8p
CisgICAgICAgIHNob3VsZCBiZSByZW1vdmVkIGFmdGVyIHRoaXMgZmVhdHVyZSBpcyBlbmFibGVk
IHdpdGhvdXQgY29tbWFuZCBsaW5lIGZsYWcuIAorCisgICAgICAgIFRoZSB3b3JrIGZsb3cgaXM6
CisgICAgICAgIDEuIChjaHJvbWl1bSkgYWRkcyBjb21tYW5kIGxpbmUgZmxhZyAtLWVuYWJsZS12
aXN1YWwtd29yZC1tb3ZlbWVudCwKKyAgICAgICAgICAgcGFzcyBpdCB0byBXZWJDb3JlOjpTZXR0
aW5ncyB0aHJvdWdoIFdlYlByZWZlcmVuY2VzLgorICAgICAgICAyLiBpbiBGcmFtZVNlbGVjdGlv
bjo6bW9kaWZ5TW92aW5nTGVmdHxSaWdodCwgd2hlbiAndmlzdWFsV29yZE1vdmVtZW50RW5hYmxl
ZCcgaXMgdHJ1ZSBpbiBwYWdlJ3MgU2V0dGluZ3MsCisgICAgICAgICAgIHRyaWdnZXIgdmlzdWFs
IHdvcmQgbW92ZW1lbnQgaW5zdGVhZCBvZiBsb2dpY2FsIG9uZS4KKyAKKyAgICAgICAgKiBwdWJs
aWMvV2ViU2V0dGluZ3MuaDoKKyAgICAgICAgKiBzcmMvV2ViU2V0dGluZ3NJbXBsLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViU2V0dGluZ3NJbXBsOjpzZXRWaXN1YWxXb3JkTW92ZW1lbnRFbmFi
bGVkKToKKyAgICAgICAgKiBzcmMvV2ViU2V0dGluZ3NJbXBsLmg6CisKIDIwMTEtMTEtMDIgIEpv
biBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCiAgICAgICAgIDxpbnB1dD1maWxlIG11bHRpcGxl
PiBkZWZhdWx0IHRleHQgdXNlcyBzaW5ndWxhciBpbnN0ZWFkIG9mIHBsdXJhbApJbmRleDogU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCShyZXZpc2lvbiA5ODkx
NykKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlNldHRpbmdzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEzMiw2ICsxMzIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNl
dFNob3VsZFByaW50QmFja2dyb3VuZHMoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRF
bmFibGVTY3JvbGxBbmltYXRvcihib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldEhpeGll
NzZXZWJTb2NrZXRQcm90b2NvbEVuYWJsZWQoYm9vbCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBz
ZXRWaXN1YWxXb3JkTW92ZW1lbnRFbmFibGVkKGJvb2wpID0gMDsKIAogcHJvdGVjdGVkOgogICAg
IH5XZWJTZXR0aW5ncygpIHsgfQpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
U2V0dGluZ3NJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJTZXR0aW5nc0ltcGwuY3BwCShyZXZpc2lvbiA5ODkxNykKKysrIFNvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ2NSw0
ICs0NjUsOSBAQCB2b2lkIFdlYlNldHRpbmdzSW1wbDo6c2V0SGl4aWU3NldlYlNvY2tlCiAjZW5k
aWYKIH0KIAordm9pZCBXZWJTZXR0aW5nc0ltcGw6OnNldFZpc3VhbFdvcmRNb3ZlbWVudEVuYWJs
ZWQoYm9vbCBlbmFibGVkKQoreworICAgIG1fc2V0dGluZ3MtPnNldFZpc3VhbFdvcmRNb3ZlbWVu
dEVuYWJsZWQoZW5hYmxlZCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgJKHJldmlzaW9uIDk4
OTE3KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmgJKHdv
cmtpbmcgY29weSkKQEAgLTEyNCw2ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IHNldFNob3VsZFByaW50QmFja2dyb3VuZHMoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEVu
YWJsZVNjcm9sbEFuaW1hdG9yKGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRIaXhpZTc2V2Vi
U29ja2V0UHJvdG9jb2xFbmFibGVkKGJvb2wpOworICAgIHZpcnR1YWwgdm9pZCBzZXRWaXN1YWxX
b3JkTW92ZW1lbnRFbmFibGVkKGJvb2wpOwogCiBwcml2YXRlOgogICAgIFdlYkNvcmU6OlNldHRp
bmdzKiBtX3NldHRpbmdzOwpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL0NoYW5nZUxvZwkocmV2aXNpb24gOTkwOTApCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0xMS0wMiAgWGlhb21laSBKaSAgPHhqaUBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgRW5hYmxlIGN0cmwtYXJyb3cgbW92ZSBjdXJzb3IgYnkg
d29yZCBpbiB2aXN1YWwgb3JkZXIgaW4gY3Itd2luIGJ5IGNvbW1hbmQgbGluZSBmbGFnLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcDogU2V0IHZpc3VhbFdvcmRNb3ZlbWVudEVh
YmxlZCB0byBmYWxzZSBpbiBEUlQuCisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6YXBwbHlUbyk6
CisKIDIwMTEtMTEtMDIgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5Abm9raWEuY29t
PgogCiAgICAgICAgIFtRdF0gUkVHUkVTU0lPTjogNSBlZGl0aW5nIHRlc3RzIGZhaWwKSW5kZXg6
IFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlByZWZlcmVuY2VzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJQcmVmZXJlbmNlcy5jcHAJ
KHJldmlzaW9uIDk4OTE3KQorKysgVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViUHJl
ZmVyZW5jZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODYsNSArMTg2LDYgQEAgdm9pZCBXZWJQ
cmVmZXJlbmNlczo6YXBwbHlUbyhXZWJWaWV3KiB3ZQogICAgIC8vIEVuYWJsZSBmdWxsc2NyZWVu
IHNvIHRoZSBmdWxsc2NyZWVuIGxheW91dCB0ZXN0cyBjYW4gcnVuLgogICAgIHNldHRpbmdzLT5z
ZXRGdWxsU2NyZWVuRW5hYmxlZCh0cnVlKTsKICAgICBzZXR0aW5ncy0+c2V0VmFsaWRhdGlvbk1l
c3NhZ2VUaW1lck1hZ25pZmljYXRpb24oLTEpOworICAgIHNldHRpbmdzLT5zZXRWaXN1YWxXb3Jk
TW92ZW1lbnRFbmFibGVkKGZhbHNlKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>113720</attachid>
            <date>2011-11-04 15:39:01 -0700</date>
            <delta_ts>2011-11-04 16:10:14 -0700</delta_ts>
            <desc>ignore this</desc>
            <filename>bug-71163-20111104153900.patch</filename>
            <type>text/plain</type>
            <size>129611</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxZjI0NzczMTkzNDk2M2VhZGNkZTA2ZjMwMjMwMDlmOGE4NzQxYmJmLi40
N2FjM2RkOWM3MjMwNDQwOGNjYjE1ZDEzZGJlYzMyYTFhN2Y1ZWJmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC04
MDQsNiArODA0LDQxIEBACiAgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlV3JhcFNo
YXBlRWxsaXBzZSk6CiAgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlV3JhcFNoYXBl
UG9seWdvbik6CiAKKzIwMTEtMTEtMDMgIEpvc2h1YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBJbmRleGVkREI6IGltcGxlbWVudCBjb21wb3VuZCAoYXJyYXkpIGtleSBz
dXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
MjI4NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRl
c3RzOiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9yZGVyLmh0bWwKKyAgICAgICAgICAg
ICAgIHN0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5Lmh0bWwKKworICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTSURCS2V5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgor
ICAgICAgICAqIGJpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SURCS2V5Q3JlYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQktl
eUNyZWF0b3I6OklEQktleUNyZWF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5Q3JlYXRv
cjo6Y3JlYXRlSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlSURCS2V5RnJvbVZh
bHVlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhJREJLZXlDdXN0b20uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogc3RvcmFnZS9JREJLZXkuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SURCS2V5Ojpjb21wYXJlKToKKyAgICAgICAgKiBzdG9yYWdlL0lE
QktleS5oOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5OjpjcmVhdGVBcnJheSk6CisgICAgICAg
IChXZWJDb3JlOjpJREJLZXk6OnZhbGlkKToKKyAgICAgICAgKFdlYkNvcmU6OklEQktleTo6YXJy
YXkpOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5Ojpjb21wYXJlVHlwZXMpOgorICAgICAgICAq
IHN0b3JhZ2UvSURCTGV2ZWxEQkNvZGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJMZXZl
bERCQ29kaW5nOjpjb21wYXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKToKKyAgICAgICAgKFdl
YkNvcmU6OklEQkxldmVsREJDb2Rpbmc6OmVuY29kZUlEQktleSk6CisgICAgICAgIChXZWJDb3Jl
OjpJREJMZXZlbERCQ29kaW5nOjpkZWNvZGVJREJLZXkpOgorICAgICAgICAoV2ViQ29yZTo6SURC
TGV2ZWxEQkNvZGluZzo6ZXh0cmFjdEVuY29kZWRJREJLZXkpOgorICAgICAgICAoV2ViQ29yZTo6
SURCTGV2ZWxEQkNvZGluZzo6a2V5VHlwZUJ5dGVUb0tleVR5cGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SURCTGV2ZWxEQkNvZGluZzo6Y29tcGFyZUVuY29kZWRJREJLZXlzKToKKyAgICAgICAgKiBz
dG9yYWdlL0lEQkxldmVsREJDb2RpbmcuaDoKKwogMjAxMS0xMS0wMyAgUGF2ZWwgRmVsZG1hbiAg
PHBmZWxkbWFuQGdvb2dsZS5jb20+CiAKICAgICAgICAgTm90IHJldmlld2VkOiB3aW4gYnVpbGQg
Zml4LiBBc3NpZ24gYXV0b0RQSSBhdCBhbGwgY2FzZXMgKGJyZWFrYWdlIGludHJvZHVjZWQgaW4g
cjk5MTczKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMWQ4OTc3MzQ3NDNjMGIyZDQ0
ZTAyMGUxYmJlNTFmYWU1ODA3ZGEzYS4uYmQ5NDM2NGYwMWY5YzU4MDIwODA4ZmRjZWZiYzFlYTIz
MzcwZjQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEzNSw2ICsxMzUsMjggQEAK
ICAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmNwcDoKICAgICAgICAgKFdlYktpdDo6V2ViRnJh
bWVJbXBsOjpjcmVhdGVGcmFtZVZpZXcpOgogCisyMDExLTExLTAzICBKb3NodWEgQmVsbCAgPGpz
YmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBpbXBsZW1lbnQgY29tcG91
bmQgKGFycmF5KSBrZXkgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjIyODQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHB1YmxpYy9XZWJJREJLZXkuaDoKKyAgICAgICAgKiBzcmMvQXNzZXJ0
TWF0Y2hpbmdFbnVtcy5jcHA6CisgICAgICAgICogc3JjL1dlYklEQktleS5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYklEQktleTo6Y3JlYXRlQXJyYXkpOgorICAgICAgICAoV2ViS2l0Ojpjb252
ZXJ0RnJvbVdlYklEQktleUFycmF5KToKKyAgICAgICAgKFdlYktpdDo6Y29udmVydFRvV2ViSURC
S2V5QXJyYXkpOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJLZXk6OmFzc2lnbkFycmF5KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViSURCS2V5OjphcnJheSk6CisgICAgICAgICogdGVzdHMvSURCQmlu
ZGluZ1V0aWxpdGllc1Rlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VEVTVCk6CisgICAgICAg
ICogdGVzdHMvSURCTGV2ZWxEQkNvZGluZ1Rlc3QuY3BwOgorICAgICAgICAoSURCTGV2ZWxEQkNv
ZGluZzo6Y3JlYXRlQXJyYXlJREJLZXkpOgorICAgICAgICAoSURCTGV2ZWxEQkNvZGluZzo6VEVT
VCk6CisgICAgICAgIChJREJMZXZlbERCQ29kaW5nOjpjb21wYXJlU3RyaW5ncyk6CisKIDIwMTEt
MTAtMjggIEhhbnMgV2VubmJvcmcgIDxoYW5zQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbmRl
eGVkREI6IFJlY3ljbGUgY3Vyc29yIG9iamVjdHMgd2hlbiBjYWxsaW5nIGNvbnRpbnVlKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSURCS2V5Q3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSURCS2V5Q3VzdG9tLmNwcAppbmRleCAxMDI3
OGYzY2NmMWY0YTY2NmRkODZlOTk5MDc3ZWY5ZGU4MTJiNDkzLi42MmZhN2NiZTE4ZmM5OWY4MTc4
OTk3OWIxMDE2YmY3ZTRlMjRlZTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0lEQktleUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNJREJLZXlDdXN0b20uY3BwCkBAIC00OCw2ICs0OCw3IEBAIEpTVmFsdWUgdG9KUyhFeGVjU3Rh
dGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiwgSURCS2V5KiBrZXkpCiAgICAgY2FzZSBJREJL
ZXk6OlN0cmluZ1R5cGU6CiAgICAgICAgIHJldHVybiBqc1N0cmluZyhleGVjLCBrZXktPnN0cmlu
ZygpKTsKICAgICAvLyBGSVhNRTogSW1wbGVtZW50IGRhdGVzLgorICAgIC8vIEZJWE1FOiBJbXBs
ZW1lbnQgYXJyYXlzLgogICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvSURCQmluZGluZ1V0aWxpdGllcy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JREJCaW5kaW5nVXRpbGl0aWVzLmNwcAppbmRl
eCBjYjZhYjBhN2RjZDViZWE3MzU1YjBiOWIxNGUxNTIxODJkYWNmZTg5Li40NTM5ZWM4NGNkOTNh
ZDdiMGM2M2U4NzJjMTg3MzgzZDExNDE1YzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9JREJCaW5kaW5nVXRpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9JREJCaW5kaW5nVXRpbGl0aWVzLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zOCw3ICszOCw5IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZUlEQktleUZyb21WYWx1ZSh2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUpCitzdGF0aWMgY29uc3Qgc2l6ZV90IG1heGltdW1E
ZXB0aCA9IDIwMDAwOworCitzdGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZUlEQktleUZy
b21WYWx1ZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUsIFZlY3Rvcjx2ODo6SGFuZGxlPHY4
OjpBcnJheT4gPiYgc3RhY2spCiB7CiAgICAgaWYgKHZhbHVlLT5Jc051bWJlcigpICYmICFpc25h
bih2YWx1ZS0+TnVtYmVyVmFsdWUoKSkpCiAgICAgICAgIHJldHVybiBJREJLZXk6OmNyZWF0ZU51
bWJlcih2YWx1ZS0+TnVtYmVyVmFsdWUoKSk7CkBAIC00Niw3ICs0OCwzNyBAQCBQYXNzUmVmUHRy
PElEQktleT4gY3JlYXRlSURCS2V5RnJvbVZhbHVlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1
ZSkKICAgICAgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlU3RyaW5nKHY4VmFsdWVUb1dlYkNvcmVT
dHJpbmcodmFsdWUpKTsKICAgICBpZiAodmFsdWUtPklzRGF0ZSgpKQogICAgICAgICByZXR1cm4g
SURCS2V5OjpjcmVhdGVEYXRlKHZhbHVlLT5OdW1iZXJWYWx1ZSgpKTsKKyAgICBpZiAodmFsdWUt
PklzQXJyYXkoKSkgeworICAgICAgICB2ODo6SGFuZGxlPHY4OjpBcnJheT4gYXJyYXkgPSB2ODo6
SGFuZGxlPHY4OjpBcnJheT46OkNhc3QodmFsdWUpOworCisgICAgICAgIGlmIChzdGFjay5jb250
YWlucyhhcnJheSkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgaWYgKHN0YWNrLnNp
emUoKSA+PSBtYXhpbXVtRGVwdGgpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgc3Rh
Y2suYXBwZW5kKGFycmF5KTsKKworICAgICAgICBJREJLZXk6OktleUFycmF5IHN1YmtleXM7Cisg
ICAgICAgIHVpbnQzMl90IGxlbmd0aCA9IGFycmF5LT5MZW5ndGgoKTsKKyAgICAgICAgZm9yICh1
aW50MzJfdCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICB2ODo6TG9jYWw8
djg6OlZhbHVlPiBpdGVtID0gYXJyYXktPkdldCh2ODo6SW50MzI6Ok5ldyhpKSk7CisgICAgICAg
ICAgICBSZWZQdHI8SURCS2V5PiBzdWJrZXkgPSBjcmVhdGVJREJLZXlGcm9tVmFsdWUoaXRlbSwg
c3RhY2spOworICAgICAgICAgICAgaWYgKCFzdWJrZXkpCisgICAgICAgICAgICAgICAgcmV0dXJu
IDA7CisgICAgICAgICAgICBzdWJrZXlzLmFwcGVuZChzdWJrZXkpOworICAgICAgICB9CisKKyAg
ICAgICAgc3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAgICByZXR1cm4gSURCS2V5OjpjcmVhdGVB
cnJheShzdWJrZXlzKTsKKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CiAKK1Bhc3NSZWZQdHI8SURC
S2V5PiBjcmVhdGVJREJLZXlGcm9tVmFsdWUodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlKQor
eworICAgIFZlY3Rvcjx2ODo6SGFuZGxlPHY4OjpBcnJheT4gPiBzdGFjazsKKyAgICBSZWZQdHI8
SURCS2V5PiBrZXkgPSBjcmVhdGVJREJLZXlGcm9tVmFsdWUodmFsdWUsIHN0YWNrKTsKKyAgICBp
ZiAoa2V5KQorICAgICAgICByZXR1cm4ga2V5OwogICAgIHJldHVybiBJREJLZXk6OmNyZWF0ZUlu
dmFsaWQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4SURCS2V5Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOElEQktleUN1c3RvbS5jcHAKaW5kZXggM2I0ZWRhODc3ZWFmN2FlMzVlNmIxY2RlZGJhMmZh
MTc5MzNiNWRkZS4uMGZiZmUxYmYyNjc0OWY3Nzg4MDkwODQ1NjAwYzA2NDA2MmMzOWU2ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SURCS2V5Q3VzdG9t
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJREJLZXlDdXN0
b20uY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCkBAIC0zNCw2ICszNCw4IEBACiAjaW5jbHVkZSAiSURCS2V5LmgiCiAjaW5jbHVkZSAiVjhC
aW5kaW5nLmgiCiAKKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoSURCS2V5KiBrZXkpCkBAIC00Myw2ICs0
NSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KElEQktleSoga2V5KQogCiAgICAgc3dp
dGNoIChrZXktPnR5cGUoKSkgewogICAgIGNhc2UgSURCS2V5OjpJbnZhbGlkVHlwZToKKyAgICBj
YXNlIElEQktleTo6TWluVHlwZToKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
ICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAgICAgY2FzZSBJREJLZXk6Ok51bWJlclR5cGU6
CkBAIC01MSw2ICs1NCwxMyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChJREJLZXkqIGtl
eSkKICAgICAgICAgcmV0dXJuIHY4U3RyaW5nKGtleS0+c3RyaW5nKCkpOwogICAgIGNhc2UgSURC
S2V5OjpEYXRlVHlwZToKICAgICAgICAgcmV0dXJuIHY4OjpEYXRlOjpOZXcoa2V5LT5kYXRlKCkp
OworICAgIGNhc2UgSURCS2V5OjpBcnJheVR5cGU6CisgICAgICAgIHsKKyAgICAgICAgICAgIHY4
OjpMb2NhbDx2ODo6QXJyYXk+IGFycmF5ID0gdjg6OkFycmF5OjpOZXcoa2V5LT5hcnJheSgpLnNp
emUoKSk7CisgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGtleS0+YXJyYXkoKS5z
aXplKCk7ICsraSkKKyAgICAgICAgICAgICAgICBhcnJheS0+U2V0KGksIHRvVjgoa2V5LT5hcnJh
eSgpW2ldLmdldCgpKSk7CisgICAgICAgICAgICByZXR1cm4gYXJyYXk7CisgICAgICAgIH0KICAg
ICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvSURCS2V5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmNw
cAppbmRleCA1ZTUyNmNlMjIzOWI5OGQzODZmYTg3MmIyMDdhOWIwZTNjMDllOWVlLi5lOTI5N2Q2
NDBhZmRlYTE2N2I5YjdkOTA4NDZkZDA5ZDE4ZDEyNjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL0lEQktleS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJL
ZXkuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
QEAgLTQ2LDYgKzQ2LDE2IEBAIGludCBJREJLZXk6OmNvbXBhcmUoY29uc3QgSURCS2V5KiBvdGhl
cikgY29uc3QKICAgICAgICAgcmV0dXJuIG1fdHlwZSA+IG90aGVyLT5tX3R5cGUgPyAtMSA6IDE7
CiAKICAgICBzd2l0Y2ggKG1fdHlwZSkgeworICAgIGNhc2UgQXJyYXlUeXBlOgorICAgICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IG1fYXJyYXkuc2l6ZSgpICYmIGkgPCBvdGhlci0+bV9hcnJh
eS5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgaWYgKGludCByZXN1bHQgPSBtX2FycmF5W2ld
LT5jb21wYXJlKG90aGVyLT5tX2FycmF5W2ldLmdldCgpKSkKKyAgICAgICAgICAgICAgICByZXR1
cm4gcmVzdWx0OworICAgICAgICB9CisgICAgICAgIGlmIChtX2FycmF5LnNpemUoKSA8IG90aGVy
LT5tX2FycmF5LnNpemUoKSkKKyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgaWYgKG1f
YXJyYXkuc2l6ZSgpID4gb3RoZXItPm1fYXJyYXkuc2l6ZSgpKQorICAgICAgICAgICAgcmV0dXJu
IDE7CisgICAgICAgIHJldHVybiAwOwogICAgIGNhc2UgU3RyaW5nVHlwZToKICAgICAgICAgcmV0
dXJuIC1jb2RlUG9pbnRDb21wYXJlKG90aGVyLT5tX3N0cmluZywgbV9zdHJpbmcpOwogICAgIGNh
c2UgRGF0ZVR5cGU6CkBAIC01NSw2ICs2NSw3IEBAIGludCBJREJLZXk6OmNvbXBhcmUoY29uc3Qg
SURCS2V5KiBvdGhlcikgY29uc3QKICAgICAgICAgcmV0dXJuIChtX251bWJlciA8IG90aGVyLT5t
X251bWJlcikgPyAtMSA6CiAgICAgICAgICAgICAgICAgKG1fbnVtYmVyID4gb3RoZXItPiBtX251
bWJlcikgPyAxIDogMDsKICAgICBjYXNlIEludmFsaWRUeXBlOgorICAgIGNhc2UgTWluVHlwZToK
ICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmggYi9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL0lEQktleS5oCmluZGV4IGM5YTFiNDdkYWJjM2E0ZjJlOTMwMWI1N2YwM2Nm
Y2Y3OGFhYzkxNWQuLjkxYzkyNTc0NjUxOTk3NDZkMDY1ZTBlYmUxNWVhZDY1YTQxMWRhZDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9JREJLZXkuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0zMSwxMSArMzEsMTQgQEAKICNpbmNsdWRlICJQbGF0Zm9ybVN0
cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGlu
Zy5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBJREJLZXkgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8SURCS2V5PiB7CiBwdWJs
aWM6CisgICAgdHlwZWRlZiBWZWN0b3I8UmVmUHRyPElEQktleT4gPiBLZXlBcnJheTsKKwogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPElEQktleT4gY3JlYXRlSW52YWxpZCgpCiAgICAgewogICAgICAg
ICBSZWZQdHI8SURCS2V5PiBpZGJLZXkobmV3IElEQktleSgpKTsKQEAgLTY3LDE3ICs3MCwzNCBA
QCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBpZGJLZXkucmVsZWFzZSgpOwogICAgIH0KIAorICAg
IHN0YXRpYyBQYXNzUmVmUHRyPElEQktleT4gY3JlYXRlQXJyYXkoY29uc3QgS2V5QXJyYXkmIGFy
cmF5KQorICAgIHsKKyAgICAgICAgUmVmUHRyPElEQktleT4gaWRiS2V5KG5ldyBJREJLZXkoKSk7
CisgICAgICAgIGlkYktleS0+bV90eXBlID0gQXJyYXlUeXBlOworICAgICAgICBpZGJLZXktPm1f
YXJyYXkgPSBhcnJheTsKKyAgICAgICAgcmV0dXJuIGlkYktleS5yZWxlYXNlKCk7CisgICAgfQor
CiAgICAgfklEQktleSgpOwogCiAgICAgLy8gSW4gb3JkZXIgb2YgdGhlIGxlYXN0IHRvIHRoZSBo
aWdoZXN0IHByZWNlZGVudCBpbiB0ZXJtcyBvZiBzb3J0IG9yZGVyLgogICAgIGVudW0gVHlwZSB7
CiAgICAgICAgIEludmFsaWRUeXBlID0gMCwKKyAgICAgICAgQXJyYXlUeXBlLAogICAgICAgICBT
dHJpbmdUeXBlLAogICAgICAgICBEYXRlVHlwZSwKLSAgICAgICAgTnVtYmVyVHlwZQorICAgICAg
ICBOdW1iZXJUeXBlLAorICAgICAgICBNaW5UeXBlCiAgICAgfTsKIAogICAgIFR5cGUgdHlwZSgp
IGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQorICAgIGJvb2wgdmFsaWQoKSBjb25zdCB7IHJldHVy
biBtX3R5cGUgIT0gSW52YWxpZFR5cGU7IH0KKworICAgIGNvbnN0IEtleUFycmF5JiBhcnJheSgp
IGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQobV90eXBlID09IEFycmF5VHlwZSk7CisgICAg
ICAgIHJldHVybiBtX2FycmF5OworICAgIH0KIAogICAgIGNvbnN0IFN0cmluZyYgc3RyaW5nKCkg
Y29uc3QKICAgICB7CkBAIC0xMDEsNiArMTIxLDExIEBAIHB1YmxpYzoKICAgICBib29sIGlzTGVz
c1RoYW4oY29uc3QgSURCS2V5KiBvdGhlcikgY29uc3Q7CiAgICAgYm9vbCBpc0VxdWFsKGNvbnN0
IElEQktleSogb3RoZXIpIGNvbnN0OwogCisgICAgc3RhdGljIGludCBjb21wYXJlVHlwZXMoVHlw
ZSBhLCBUeXBlIGIpCisgICAgeworICAgICAgICByZXR1cm4gYiAtIGE7CisgICAgfQorCiAgICAg
dXNpbmcgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8SURCS2V5Pjo6cmVmOwogICAgIHVzaW5nIFRocmVh
ZFNhZmVSZWZDb3VudGVkPElEQktleT46OmRlcmVmOwogCkBAIC0xMDgsNiArMTMzLDcgQEAgcHJp
dmF0ZToKICAgICBJREJLZXkoKTsKIAogICAgIFR5cGUgbV90eXBlOworICAgIEtleUFycmF5IG1f
YXJyYXk7CiAgICAgU3RyaW5nIG1fc3RyaW5nOwogICAgIGRvdWJsZSBtX2RhdGU7CiAgICAgZG91
YmxlIG1fbnVtYmVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJMZXZl
bERCQ29kaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCTGV2ZWxEQkNvZGluZy5j
cHAKaW5kZXggN2NjNGFlZDAwZThiNTQ4ZGQ0YWFkOWFiNDdiNDNhYTE3YWM0NGQ2MS4uMjBmNDVh
YjVmOWE0ZmQ1NGJlNTE3MDExZGU2OWY1MmI3MzRlYzcyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9JREJMZXZlbERCQ29kaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL0lEQkxldmVsREJDb2RpbmcuY3BwCkBAIC0xMjksNyArMTI5LDggQEAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNoYXIga0lEQktleU51bGxUeXBlQnl0ZSA9IDA7CiBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgY2hhciBrSURCS2V5U3RyaW5nVHlwZUJ5dGUgPSAxOwogc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNoYXIga0lEQktleURhdGVUeXBlQnl0ZSA9IDI7CiBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgY2hhciBrSURCS2V5TnVtYmVyVHlwZUJ5dGUgPSAzOwotc3RhdGljIGNvbnN0IHVuc2lnbmVk
IGNoYXIga0lEQktleU1pbktleVR5cGVCeXRlID0gNDsKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBj
aGFyIGtJREJLZXlBcnJheVR5cGVCeXRlID0gNDsKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy
IGtJREJLZXlNaW5LZXlUeXBlQnl0ZSA9IDU7CiAKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy
IGtPYmplY3RTdG9yZURhdGFJbmRleElkID0gMTsKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy
IGtFeGlzdHNFbnRyeUluZGV4SWQgPSAyOwpAQCAtMzAxLDggKzMwMiw5IEBAIGNvbnN0IGNoYXIq
IGRlY29kZVN0cmluZ1dpdGhMZW5ndGgoY29uc3QgY2hhciogcCwgY29uc3QgY2hhciogbGltaXQs
IFN0cmluZyYgZm91CiAgICAgcmV0dXJuIHA7CiB9CiAKLWludCBjb21wYXJlRW5jb2RlZFN0cmlu
Z3NXaXRoTGVuZ3RoKGNvbnN0IGNoYXIqIHAsIGNvbnN0IGNoYXIqIGxpbWl0UCwgY29uc3QgY2hh
ciogcSwgY29uc3QgY2hhciogbGltaXRRKQoraW50IGNvbXBhcmVFbmNvZGVkU3RyaW5nc1dpdGhM
ZW5ndGgoY29uc3QgY2hhciomIHAsIGNvbnN0IGNoYXIqIGxpbWl0UCwgY29uc3QgY2hhciomIHEs
IGNvbnN0IGNoYXIqIGxpbWl0USkKIHsKKyAgICBBU1NFUlQoJnAgIT0gJnEpOwogICAgIEFTU0VS
VChsaW1pdFAgPj0gcCk7CiAgICAgQVNTRVJUKGxpbWl0USA+PSBxKTsKICAgICBpbnQ2NF90IGxl
blAsIGxlblE7CkBAIC0zMTQsOCArMzE2LDE2IEBAIGludCBjb21wYXJlRW5jb2RlZFN0cmluZ3NX
aXRoTGVuZ3RoKGNvbnN0IGNoYXIqIHAsIGNvbnN0IGNoYXIqIGxpbWl0UCwgY29uc3QgY2hhCiAg
ICAgQVNTRVJUKHAgKyBsZW5QICogMiA8PSBsaW1pdFApOwogICAgIEFTU0VSVChxICsgbGVuUSAq
IDIgPD0gbGltaXRRKTsKIAorICAgIGNvbnN0IGNoYXIqIHN0YXJ0UCA9IHA7CisgICAgY29uc3Qg
Y2hhciogc3RhcnRRID0gcTsKKyAgICBwICs9IGxlblAgKiAyOworICAgIHEgKz0gbGVuUSAqIDI7
CisKKyAgICBpZiAocCA+IGxpbWl0UCB8fCBxID4gbGltaXRRKQorICAgICAgICByZXR1cm4gMDsK
KwogICAgIGNvbnN0IHNpemVfdCBsbWluID0gc3RhdGljX2Nhc3Q8c2l6ZV90PihsZW5QIDwgbGVu
USA/IGxlblAgOiBsZW5RKTsKLSAgICBpZiAoaW50IHggPSBtZW1jbXAocCwgcSwgbG1pbiAqIDIp
KQorICAgIGlmIChpbnQgeCA9IG1lbWNtcChzdGFydFAsIHN0YXJ0USwgbG1pbiAqIDIpKQogICAg
ICAgICByZXR1cm4geDsKIAogICAgIGlmIChsZW5QID09IGxlblEpCkBAIC0zNDgsMzEgKzM1OCw1
MCBAQCBjb25zdCBjaGFyKiBkZWNvZGVEb3VibGUoY29uc3QgY2hhciogcCwgY29uc3QgY2hhciog
bGltaXQsIGRvdWJsZSogZCkKIFZlY3RvcjxjaGFyPiBlbmNvZGVJREJLZXkoY29uc3QgSURCS2V5
JiBrZXkpCiB7CiAgICAgVmVjdG9yPGNoYXI+IHJldDsKKyAgICBlbmNvZGVJREJLZXkoa2V5LCBy
ZXQpOworICAgIHJldHVybiByZXQ7Cit9CiAKK3ZvaWQgZW5jb2RlSURCS2V5KGNvbnN0IElEQktl
eSYga2V5LCBWZWN0b3I8Y2hhcj4mIGludG8pCit7CisgICAgc2l6ZV90IHByZXZpb3VzU2l6ZSA9
IGludG8uc2l6ZSgpOwogICAgIHN3aXRjaCAoa2V5LnR5cGUoKSkgewogICAgIGNhc2UgSURCS2V5
OjpJbnZhbGlkVHlwZToKKyAgICBjYXNlIElEQktleTo6TWluVHlwZToKICAgICAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBlbmNvZGVCeXRlKGtJREJLZXlOdWxsVHlw
ZUJ5dGUpOworICAgICAgICBpbnRvLmFwcGVuZChlbmNvZGVCeXRlKGtJREJLZXlOdWxsVHlwZUJ5
dGUpKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgSURCS2V5OjpBcnJheVR5cGU6CisgICAg
ICAgIHsKKyAgICAgICAgICAgIGludG8uYXBwZW5kKGVuY29kZUJ5dGUoa0lEQktleUFycmF5VHlw
ZUJ5dGUpKTsKKyAgICAgICAgICAgIHNpemVfdCBsZW5ndGggPSBrZXkuYXJyYXkoKS5zaXplKCk7
CisgICAgICAgICAgICBpbnRvLmFwcGVuZChlbmNvZGVWYXJJbnQobGVuZ3RoKSk7CisgICAgICAg
ICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKQorICAgICAgICAgICAgICAg
IGVuY29kZUlEQktleSgqa2V5LmFycmF5KClbaV0sIGludG8pOworICAgICAgICAgICAgQVNTRVJU
X1VOVVNFRChwcmV2aW91c1NpemUsIGludG8uc2l6ZSgpID4gcHJldmlvdXNTaXplKTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQogICAgIGNhc2UgSURCS2V5OjpTdHJpbmdUeXBlOgot
ICAgICAgICByZXQgPSBlbmNvZGVCeXRlKGtJREJLZXlTdHJpbmdUeXBlQnl0ZSk7Ci0gICAgICAg
IHJldC5hcHBlbmQoZW5jb2RlU3RyaW5nV2l0aExlbmd0aChrZXkuc3RyaW5nKCkpKTsKLSAgICAg
ICAgcmV0dXJuIHJldDsKKyAgICAgICAgaW50by5hcHBlbmQoZW5jb2RlQnl0ZShrSURCS2V5U3Ry
aW5nVHlwZUJ5dGUpKTsKKyAgICAgICAgaW50by5hcHBlbmQoZW5jb2RlU3RyaW5nV2l0aExlbmd0
aChrZXkuc3RyaW5nKCkpKTsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChwcmV2aW91c1NpemUsIGlu
dG8uc2l6ZSgpID4gcHJldmlvdXNTaXplKTsKKyAgICAgICAgcmV0dXJuOwogICAgIGNhc2UgSURC
S2V5OjpEYXRlVHlwZToKLSAgICAgICAgcmV0ID0gZW5jb2RlQnl0ZShrSURCS2V5RGF0ZVR5cGVC
eXRlKTsKLSAgICAgICAgcmV0LmFwcGVuZChlbmNvZGVEb3VibGUoa2V5LmRhdGUoKSkpOwotICAg
ICAgICBBU1NFUlQocmV0LnNpemUoKSA9PSA5KTsKLSAgICAgICAgcmV0dXJuIHJldDsKKyAgICAg
ICAgaW50by5hcHBlbmQoZW5jb2RlQnl0ZShrSURCS2V5RGF0ZVR5cGVCeXRlKSk7CisgICAgICAg
IGludG8uYXBwZW5kKGVuY29kZURvdWJsZShrZXkuZGF0ZSgpKSk7CisgICAgICAgIEFTU0VSVF9V
TlVTRUQocHJldmlvdXNTaXplLCBpbnRvLnNpemUoKSAtIHByZXZpb3VzU2l6ZSA9PSA5KTsKKyAg
ICAgICAgcmV0dXJuOwogICAgIGNhc2UgSURCS2V5OjpOdW1iZXJUeXBlOgotICAgICAgICByZXQg
PSBlbmNvZGVCeXRlKGtJREJLZXlOdW1iZXJUeXBlQnl0ZSk7Ci0gICAgICAgIHJldC5hcHBlbmQo
ZW5jb2RlRG91YmxlKGtleS5udW1iZXIoKSkpOwotICAgICAgICBBU1NFUlQocmV0LnNpemUoKSA9
PSA5KTsKLSAgICAgICAgcmV0dXJuIHJldDsKKyAgICAgICAgaW50by5hcHBlbmQoZW5jb2RlQnl0
ZShrSURCS2V5TnVtYmVyVHlwZUJ5dGUpKTsKKyAgICAgICAgaW50by5hcHBlbmQoZW5jb2RlRG91
YmxlKGtleS5udW1iZXIoKSkpOworICAgICAgICBBU1NFUlRfVU5VU0VEKHByZXZpb3VzU2l6ZSwg
aW50by5zaXplKCkgLSBwcmV2aW91c1NpemUgPT0gOSk7CisgICAgICAgIHJldHVybjsKICAgICB9
CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gVmVjdG9yPGNoYXI+KCk7
CiB9CiAKKwogY29uc3QgY2hhciogZGVjb2RlSURCS2V5KGNvbnN0IGNoYXIqIHAsIGNvbnN0IGNo
YXIqIGxpbWl0LCBSZWZQdHI8SURCS2V5PiYgZm91bmRLZXkpCiB7CiAgICAgQVNTRVJUKGxpbWl0
ID49IHApOwpAQCAtMzgwLDM1ICs0MDksNTggQEAgY29uc3QgY2hhciogZGVjb2RlSURCS2V5KGNv
bnN0IGNoYXIqIHAsIGNvbnN0IGNoYXIqIGxpbWl0LCBSZWZQdHI8SURCS2V5PiYgZm91bmQKICAg
ICAgICAgcmV0dXJuIDA7CiAKICAgICB1bnNpZ25lZCBjaGFyIHR5cGUgPSAqcCsrOwotICAgIFN0
cmluZyBzOwotICAgIGRvdWJsZSBkOwogCiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBr
SURCS2V5TnVsbFR5cGVCeXRlOgotICAgICAgICAvLyBOdWxsLgogICAgICAgICBmb3VuZEtleSA9
IElEQktleTo6Y3JlYXRlSW52YWxpZCgpOwogICAgICAgICByZXR1cm4gcDsKKworICAgIGNhc2Ug
a0lEQktleUFycmF5VHlwZUJ5dGU6CisgICAgICAgIHsKKyAgICAgICAgICAgIGludDY0X3QgbGVu
Z3RoOworICAgICAgICAgICAgcCA9IGRlY29kZVZhckludChwLCBsaW1pdCwgbGVuZ3RoKTsKKyAg
ICAgICAgICAgIGlmICghcCkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAg
IGlmIChsZW5ndGggPCAwKQorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAg
SURCS2V5OjpLZXlBcnJheSBhcnJheTsKKyAgICAgICAgICAgIHdoaWxlIChsZW5ndGgtLSkgewor
ICAgICAgICAgICAgICAgIFJlZlB0cjxJREJLZXk+IGtleTsKKyAgICAgICAgICAgICAgICBwID0g
ZGVjb2RlSURCS2V5KHAsIGxpbWl0LCBrZXkpOworICAgICAgICAgICAgICAgIGlmICghcCkKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICAgICAgYXJyYXkuYXBwZW5k
KGtleSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmb3VuZEtleSA9IElEQktleTo6Y3Jl
YXRlQXJyYXkoYXJyYXkpOworICAgICAgICAgICAgcmV0dXJuIHA7CisgICAgICAgIH0KICAgICBj
YXNlIGtJREJLZXlTdHJpbmdUeXBlQnl0ZToKLSAgICAgICAgLy8gU3RyaW5nLgotICAgICAgICBw
ID0gZGVjb2RlU3RyaW5nV2l0aExlbmd0aChwLCBsaW1pdCwgcyk7Ci0gICAgICAgIGlmICghcCkK
LSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICBmb3VuZEtleSA9IElEQktleTo6Y3JlYXRl
U3RyaW5nKHMpOwotICAgICAgICByZXR1cm4gcDsKKyAgICAgICAgeworICAgICAgICAgICAgU3Ry
aW5nIHM7CisgICAgICAgICAgICBwID0gZGVjb2RlU3RyaW5nV2l0aExlbmd0aChwLCBsaW1pdCwg
cyk7CisgICAgICAgICAgICBpZiAoIXApCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAg
ICAgICAgICBmb3VuZEtleSA9IElEQktleTo6Y3JlYXRlU3RyaW5nKHMpOworICAgICAgICAgICAg
cmV0dXJuIHA7CisgICAgICAgIH0KICAgICBjYXNlIGtJREJLZXlEYXRlVHlwZUJ5dGU6Ci0gICAg
ICAgIC8vIERhdGUuCi0gICAgICAgIHAgPSBkZWNvZGVEb3VibGUocCwgbGltaXQsICZkKTsKLSAg
ICAgICAgaWYgKCFwKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIGZvdW5kS2V5ID0g
SURCS2V5OjpjcmVhdGVEYXRlKGQpOwotICAgICAgICByZXR1cm4gcDsKKyAgICAgICAgeworICAg
ICAgICAgICAgZG91YmxlIGQ7CisgICAgICAgICAgICBwID0gZGVjb2RlRG91YmxlKHAsIGxpbWl0
LCAmZCk7CisgICAgICAgICAgICBpZiAoIXApCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7Cisg
ICAgICAgICAgICBmb3VuZEtleSA9IElEQktleTo6Y3JlYXRlRGF0ZShkKTsKKyAgICAgICAgICAg
IHJldHVybiBwOworICAgICAgICB9CiAgICAgY2FzZSBrSURCS2V5TnVtYmVyVHlwZUJ5dGU6Ci0g
ICAgICAgIC8vIE51bWJlci4KLSAgICAgICAgcCA9IGRlY29kZURvdWJsZShwLCBsaW1pdCwgJmQp
OwotICAgICAgICBpZiAoIXApCi0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgZm91bmRL
ZXkgPSBJREJLZXk6OmNyZWF0ZU51bWJlcihkKTsKLSAgICAgICAgcmV0dXJuIHA7CisgICAgICAg
IHsKKyAgICAgICAgICAgIGRvdWJsZSBkOworICAgICAgICAgICAgcCA9IGRlY29kZURvdWJsZShw
LCBsaW1pdCwgJmQpOworICAgICAgICAgICAgaWYgKCFwKQorICAgICAgICAgICAgICAgIHJldHVy
biAwOworICAgICAgICAgICAgZm91bmRLZXkgPSBJREJLZXk6OmNyZWF0ZU51bWJlcihkKTsKKyAg
ICAgICAgICAgIHJldHVybiBwOworICAgICAgICB9CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CkBAIC00MTcsMzIgKzQ2OSw1MSBAQCBjb25zdCBjaGFyKiBkZWNvZGVJREJLZXko
Y29uc3QgY2hhciogcCwgY29uc3QgY2hhciogbGltaXQsIFJlZlB0cjxJREJLZXk+JiBmb3VuZAog
CiBjb25zdCBjaGFyKiBleHRyYWN0RW5jb2RlZElEQktleShjb25zdCBjaGFyKiBzdGFydCwgY29u
c3QgY2hhciogbGltaXQsIFZlY3RvcjxjaGFyPiogcmVzdWx0KQogeworICAgIEFTU0VSVChyZXN1
bHQpOwogICAgIGNvbnN0IGNoYXIqIHAgPSBzdGFydDsKICAgICBpZiAocCA+PSBsaW1pdCkKICAg
ICAgICAgcmV0dXJuIDA7CiAKICAgICB1bnNpZ25lZCBjaGFyIHR5cGUgPSAqcCsrOwogCi0gICAg
aW50NjRfdCBzdHJpbmdMZW47Ci0KICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIGtJREJL
ZXlOdWxsVHlwZUJ5dGU6CiAgICAgY2FzZSBrSURCS2V5TWluS2V5VHlwZUJ5dGU6CiAgICAgICAg
ICpyZXN1bHQgPSBlbmNvZGVCeXRlKHR5cGUpOwogICAgICAgICByZXR1cm4gcDsKKyAgICBjYXNl
IGtJREJLZXlBcnJheVR5cGVCeXRlOgorICAgICAgICB7CisgICAgICAgICAgICBpbnQ2NF90IGxl
bmd0aDsKKyAgICAgICAgICAgIHAgPSBkZWNvZGVWYXJJbnQocCwgbGltaXQsIGxlbmd0aCk7Cisg
ICAgICAgICAgICBpZiAoIXApCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAg
ICBpZiAobGVuZ3RoIDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAg
IHJlc3VsdC0+Y2xlYXIoKTsKKyAgICAgICAgICAgIHJlc3VsdC0+YXBwZW5kKHN0YXJ0LCBwIC0g
c3RhcnQpOworICAgICAgICAgICAgd2hpbGUgKGxlbmd0aC0tKSB7CisgICAgICAgICAgICAgICAg
VmVjdG9yPGNoYXI+IHN1YmtleTsKKyAgICAgICAgICAgICAgICBwID0gZXh0cmFjdEVuY29kZWRJ
REJLZXkocCwgbGltaXQsICZzdWJrZXkpOworICAgICAgICAgICAgICAgIGlmICghcCkKKyAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICAgICAgcmVzdWx0LT5hcHBlbmQo
c3Via2V5KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiBwOworICAgICAgICB9
CiAgICAgY2FzZSBrSURCS2V5U3RyaW5nVHlwZUJ5dGU6Ci0gICAgICAgIC8vIFN0cmluZy4KLSAg
ICAgICAgcCA9IGRlY29kZVZhckludChwLCBsaW1pdCwgc3RyaW5nTGVuKTsKLSAgICAgICAgaWYg
KCFwKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIGlmIChwICsgc3RyaW5nTGVuICog
MiA+IGxpbWl0KQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIHJlc3VsdC0+Y2xlYXIo
KTsKLSAgICAgICAgcmVzdWx0LT5hcHBlbmQoc3RhcnQsIHAgLSBzdGFydCArIHN0cmluZ0xlbiAq
IDIpOwotICAgICAgICByZXR1cm4gcCArIHN0cmluZ0xlbiAqIDI7CisgICAgICAgIHsKKyAgICAg
ICAgICAgIGludDY0X3QgbGVuZ3RoOworICAgICAgICAgICAgcCA9IGRlY29kZVZhckludChwLCBs
aW1pdCwgbGVuZ3RoKTsKKyAgICAgICAgICAgIGlmICghcCkKKyAgICAgICAgICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgICAgIGlmIChwICsgbGVuZ3RoICogMiA+IGxpbWl0KQorICAgICAgICAg
ICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgcmVzdWx0LT5jbGVhcigpOworICAgICAgICAg
ICAgcmVzdWx0LT5hcHBlbmQoc3RhcnQsIHAgLSBzdGFydCArIGxlbmd0aCAqIDIpOworICAgICAg
ICAgICAgcmV0dXJuIHAgKyBsZW5ndGggKiAyOworICAgICAgICB9CiAgICAgY2FzZSBrSURCS2V5
RGF0ZVR5cGVCeXRlOgogICAgIGNhc2Uga0lEQktleU51bWJlclR5cGVCeXRlOgotICAgICAgICAv
LyBEYXRlIG9yIG51bWJlci4KICAgICAgICAgaWYgKHAgKyBzaXplb2YoZG91YmxlKSA+IGxpbWl0
KQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIHJlc3VsdC0+Y2xlYXIoKTsKQEAgLTQ1
MywyMiArNTI0LDM2IEBAIGNvbnN0IGNoYXIqIGV4dHJhY3RFbmNvZGVkSURCS2V5KGNvbnN0IGNo
YXIqIHN0YXJ0LCBjb25zdCBjaGFyKiBsaW1pdCwgVmVjdG9yPGNoCiAgICAgcmV0dXJuIDA7CiB9
CiAKLWludCBjb21wYXJlRW5jb2RlZElEQktleXMoY29uc3QgVmVjdG9yPGNoYXI+JiBrZXlBLCBj
b25zdCBWZWN0b3I8Y2hhcj4mIGtleUIpCitzdGF0aWMgSURCS2V5OjpUeXBlIGtleVR5cGVCeXRl
VG9LZXlUeXBlKHVuc2lnbmVkIGNoYXIgdHlwZSkKIHsKLSAgICBBU1NFUlQoa2V5QS5zaXplKCkg
Pj0gMSk7Ci0gICAgQVNTRVJUKGtleUIuc2l6ZSgpID49IDEpOworICAgIHN3aXRjaCAodHlwZSkg
eworICAgIGNhc2Uga0lEQktleU51bGxUeXBlQnl0ZToKKyAgICAgICAgcmV0dXJuIElEQktleTo6
SW52YWxpZFR5cGU7CisgICAgY2FzZSBrSURCS2V5QXJyYXlUeXBlQnl0ZToKKyAgICAgICAgcmV0
dXJuIElEQktleTo6QXJyYXlUeXBlOworICAgIGNhc2Uga0lEQktleVN0cmluZ1R5cGVCeXRlOgor
ICAgICAgICByZXR1cm4gSURCS2V5OjpTdHJpbmdUeXBlOworICAgIGNhc2Uga0lEQktleURhdGVU
eXBlQnl0ZToKKyAgICAgICAgcmV0dXJuIElEQktleTo6RGF0ZVR5cGU7CisgICAgY2FzZSBrSURC
S2V5TnVtYmVyVHlwZUJ5dGU6CisgICAgICAgIHJldHVybiBJREJLZXk6Ok51bWJlclR5cGU7Cisg
ICAgY2FzZSBrSURCS2V5TWluS2V5VHlwZUJ5dGU6CisgICAgICAgIHJldHVybiBJREJLZXk6Ok1p
blR5cGU7CisgICAgfQogCi0gICAgY29uc3QgY2hhciogcCA9IGtleUEuZGF0YSgpOwotICAgIGNv
bnN0IGNoYXIqIGxpbWl0QSA9IHAgKyBrZXlBLnNpemUoKTsKLSAgICBjb25zdCBjaGFyKiBxID0g
a2V5Qi5kYXRhKCk7Ci0gICAgY29uc3QgY2hhciogbGltaXRCID0gcSArIGtleUIuc2l6ZSgpOwor
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBJREJLZXk6OkludmFsaWRUeXBl
OworfQogCitpbnQgY29tcGFyZUVuY29kZWRJREJLZXlzKGNvbnN0IGNoYXIqJiBwLCBjb25zdCBj
aGFyKiBsaW1pdEEsIGNvbnN0IGNoYXIqJiBxLCBjb25zdCBjaGFyKiBsaW1pdEIpCit7CisgICAg
QVNTRVJUKCZwICE9ICZxKTsKKyAgICBBU1NFUlQocCA8IGxpbWl0QSk7CisgICAgQVNTRVJUKHEg
PCBsaW1pdEIpOwogICAgIHVuc2lnbmVkIGNoYXIgdHlwZUEgPSAqcCsrOwogICAgIHVuc2lnbmVk
IGNoYXIgdHlwZUIgPSAqcSsrOwogCi0gICAgZG91YmxlIGQsIGU7Ci0KLSAgICBpZiAoaW50IHgg
PSB0eXBlQiAtIHR5cGVBKSAvLyBGSVhNRTogTm90ZSB0aGUgc3VidGxlbmVzcyEKKyAgICBpZiAo
aW50IHggPSBJREJLZXk6OmNvbXBhcmVUeXBlcyhrZXlUeXBlQnl0ZVRvS2V5VHlwZSh0eXBlQSks
IGtleVR5cGVCeXRlVG9LZXlUeXBlKHR5cGVCKSkpCiAgICAgICAgIHJldHVybiB4OwogCiAgICAg
c3dpdGNoICh0eXBlQSkgewpAQCAtNDc2LDI3ICs1NjEsNjIgQEAgaW50IGNvbXBhcmVFbmNvZGVk
SURCS2V5cyhjb25zdCBWZWN0b3I8Y2hhcj4mIGtleUEsIGNvbnN0IFZlY3RvcjxjaGFyPiYga2V5
QikKICAgICBjYXNlIGtJREJLZXlNaW5LZXlUeXBlQnl0ZToKICAgICAgICAgLy8gTnVsbCB0eXBl
IG9yIG1heCB0eXBlOyBubyBwYXlsb2FkIHRvIGNvbXBhcmUuCiAgICAgICAgIHJldHVybiAwOwor
ICAgIGNhc2Uga0lEQktleUFycmF5VHlwZUJ5dGU6CisgICAgICAgIHsKKyAgICAgICAgICAgIGlu
dDY0X3QgbGVuZ3RoQSwgbGVuZ3RoQjsKKyAgICAgICAgICAgIHAgPSBkZWNvZGVWYXJJbnQocCwg
bGltaXRBLCBsZW5ndGhBKTsKKyAgICAgICAgICAgIGlmICghcCkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gMDsKKyAgICAgICAgICAgIHEgPSBkZWNvZGVWYXJJbnQocSwgbGltaXRCLCBsZW5ndGhC
KTsKKyAgICAgICAgICAgIGlmICghcSkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAg
ICAgICAgIGlmIChsZW5ndGhBIDwgMCB8fCBsZW5ndGhCIDwgMCkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gMDsKKyAgICAgICAgICAgIGZvciAoaW50NjRfdCBpID0gMDsgaSA8IGxlbmd0aEEgJiYg
aSA8IGxlbmd0aEI7ICsraSkgeworICAgICAgICAgICAgICAgIGlmIChpbnQgY21wID0gY29tcGFy
ZUVuY29kZWRJREJLZXlzKHAsIGxpbWl0QSwgcSwgbGltaXRCKSkKKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIGNtcDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChsZW5ndGhBIDwg
bGVuZ3RoQikKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBpZiAobGVu
Z3RoQSA+IGxlbmd0aEIpCisgICAgICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgICAgICBy
ZXR1cm4gMDsKKyAgICAgICAgfQogICAgIGNhc2Uga0lEQktleVN0cmluZ1R5cGVCeXRlOgotICAg
ICAgICAvLyBTdHJpbmcgdHlwZS4KICAgICAgICAgcmV0dXJuIGNvbXBhcmVFbmNvZGVkU3RyaW5n
c1dpdGhMZW5ndGgocCwgbGltaXRBLCBxLCBsaW1pdEIpOwogICAgIGNhc2Uga0lEQktleURhdGVU
eXBlQnl0ZToKICAgICBjYXNlIGtJREJLZXlOdW1iZXJUeXBlQnl0ZToKLSAgICAgICAgLy8gRGF0
ZSBvciBudW1iZXIuCi0gICAgICAgIHAgPSBkZWNvZGVEb3VibGUocCwgbGltaXRBLCAmZCk7Ci0g
ICAgICAgIEFTU0VSVChwKTsKLSAgICAgICAgcSA9IGRlY29kZURvdWJsZShxLCBsaW1pdEIsICZl
KTsKLSAgICAgICAgQVNTRVJUKHEpOwotICAgICAgICBpZiAoZCA8IGUpCi0gICAgICAgICAgICBy
ZXR1cm4gLTE7Ci0gICAgICAgIGlmIChkID4gZSkKLSAgICAgICAgICAgIHJldHVybiAxOwotICAg
ICAgICByZXR1cm4gMDsKKyAgICAgICAgeworICAgICAgICAgICAgZG91YmxlIGQsIGU7CisgICAg
ICAgICAgICBwID0gZGVjb2RlRG91YmxlKHAsIGxpbWl0QSwgJmQpOworICAgICAgICAgICAgQVNT
RVJUKHApOworICAgICAgICAgICAgcSA9IGRlY29kZURvdWJsZShxLCBsaW1pdEIsICZlKTsKKyAg
ICAgICAgICAgIEFTU0VSVChxKTsKKyAgICAgICAgICAgIGlmIChkIDwgZSkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBpZiAoZCA+IGUpCisgICAgICAgICAgICAgICAg
cmV0dXJuIDE7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQogICAgIH0KIAogICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiAwOwogfQogCitpbnQgY29tcGFyZUVu
Y29kZWRJREJLZXlzKGNvbnN0IFZlY3RvcjxjaGFyPiYga2V5QSwgY29uc3QgVmVjdG9yPGNoYXI+
JiBrZXlCKQoreworICAgIEFTU0VSVChrZXlBLnNpemUoKSA+PSAxKTsKKyAgICBBU1NFUlQoa2V5
Qi5zaXplKCkgPj0gMSk7CisKKyAgICBjb25zdCBjaGFyKiBwID0ga2V5QS5kYXRhKCk7CisgICAg
Y29uc3QgY2hhciogbGltaXRBID0gcCArIGtleUEuc2l6ZSgpOworICAgIGNvbnN0IGNoYXIqIHEg
PSBrZXlCLmRhdGEoKTsKKyAgICBjb25zdCBjaGFyKiBsaW1pdEIgPSBxICsga2V5Qi5zaXplKCk7
CisKKyAgICByZXR1cm4gY29tcGFyZUVuY29kZWRJREJLZXlzKHAsIGxpbWl0QSwgcSwgbGltaXRC
KTsKK30KKwogbmFtZXNwYWNlIHsKIHRlbXBsYXRlPHR5cGVuYW1lIEtleVR5cGU+CiBpbnQgZGVj
b2RlQW5kQ29tcGFyZShjb25zdCBMZXZlbERCU2xpY2UmIGEsIGNvbnN0IExldmVsREJTbGljZSYg
YikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCTGV2ZWxEQkNvZGluZy5o
IGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJMZXZlbERCQ29kaW5nLmgKaW5kZXggZjNiZGNm
MzBiNTZlMDU2OTNjZDQxNDZiODU4MjBmOGQwMTlmY2Y2Yy4uMTU4MWZiYmJmZDc5ZjJmZDY3ZGVk
MGYzYTJiNThhYzE5NGEwNWZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9J
REJMZXZlbERCQ29kaW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJMZXZlbERC
Q29kaW5nLmgKQEAgLTUzLDkgKzUzLDEwIEBAIFZlY3RvcjxjaGFyPiBlbmNvZGVTdHJpbmcoY29u
c3QgU3RyaW5nJik7CiBTdHJpbmcgZGVjb2RlU3RyaW5nKGNvbnN0IGNoYXIqIHAsIGNvbnN0IGNo
YXIqIGVuZCk7CiBWZWN0b3I8Y2hhcj4gZW5jb2RlU3RyaW5nV2l0aExlbmd0aChjb25zdCBTdHJp
bmcmKTsKIGNvbnN0IGNoYXIqIGRlY29kZVN0cmluZ1dpdGhMZW5ndGgoY29uc3QgY2hhciogcCwg
Y29uc3QgY2hhciogbGltaXQsIFN0cmluZyYgZm91bmRTdHJpbmcpOwotaW50IGNvbXBhcmVFbmNv
ZGVkU3RyaW5nc1dpdGhMZW5ndGgoY29uc3QgY2hhciogcCwgY29uc3QgY2hhciogbGltaXRQLCBj
b25zdCBjaGFyKiBxLCBjb25zdCBjaGFyKiBsaW1pdFEpOworaW50IGNvbXBhcmVFbmNvZGVkU3Ry
aW5nc1dpdGhMZW5ndGgoY29uc3QgY2hhciomIHAsIGNvbnN0IGNoYXIqIGxpbWl0UCwgY29uc3Qg
Y2hhciomIHEsIGNvbnN0IGNoYXIqIGxpbWl0USk7CiBWZWN0b3I8Y2hhcj4gZW5jb2RlRG91Ymxl
KGRvdWJsZSk7CiBjb25zdCBjaGFyKiBkZWNvZGVEb3VibGUoY29uc3QgY2hhciogcCwgY29uc3Qg
Y2hhciogbGltaXQsIGRvdWJsZSopOwordm9pZCBlbmNvZGVJREJLZXkoY29uc3QgSURCS2V5Jiwg
VmVjdG9yPGNoYXI+JiBpbnRvKTsKIFZlY3RvcjxjaGFyPiBlbmNvZGVJREJLZXkoY29uc3QgSURC
S2V5Jik7CiBjb25zdCBjaGFyKiBkZWNvZGVJREJLZXkoY29uc3QgY2hhciogcCwgY29uc3QgY2hh
ciogbGltaXQsIFJlZlB0cjxJREJLZXk+JiBmb3VuZEtleSk7CiBjb25zdCBjaGFyKiBleHRyYWN0
RW5jb2RlZElEQktleShjb25zdCBjaGFyKiBzdGFydCwgY29uc3QgY2hhciogbGltaXQsIFZlY3Rv
cjxjaGFyPiogcmVzdWx0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYklEQktleS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCS2V5
LmgKaW5kZXggMWRiNDY3ZmUyNzBhNjBiOGRlYThlNGM0Y2U5NjZjMDU0NDIzYmQxOS4uY2EwZDEy
OTA2NDkwNGM1MjE3NzgxYWM5ZjY2YzdkZDM1ZTg0NmFkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCS2V5LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9wdWJsaWMvV2ViSURCS2V5LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIldlYkNvbW1vbi5o
IgogI2luY2x1ZGUgIldlYlByaXZhdGVQdHIuaCIKICNpbmNsdWRlICJXZWJTdHJpbmcuaCIKKyNp
bmNsdWRlICJXZWJWZWN0b3IuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgeyBjbGFzcyBJREJLZXk7
IH0KIApAQCAtNDMsNiArNDQsNyBAQCBwdWJsaWM6CiAgICAgV2ViSURCS2V5KCkgeyB9CiAgICAg
fldlYklEQktleSgpIHsgcmVzZXQoKTsgfQogCisgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgV2Vi
SURCS2V5IGNyZWF0ZUFycmF5KGNvbnN0IFdlYlZlY3RvcjxXZWJJREJLZXk+Jik7CiAgICAgV0VC
S0lUX0VYUE9SVCBzdGF0aWMgV2ViSURCS2V5IGNyZWF0ZVN0cmluZyhjb25zdCBXZWJTdHJpbmcm
KTsKICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBXZWJJREJLZXkgY3JlYXRlRGF0ZShkb3VibGUp
OwogICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIFdlYklEQktleSBjcmVhdGVOdW1iZXIoZG91Ymxl
KTsKQEAgLTU4LDYgKzYwLDcgQEAgcHVibGljOgogICAgIH0KIAogICAgIFdFQktJVF9FWFBPUlQg
dm9pZCBhc3NpZ24oY29uc3QgV2ViSURCS2V5Jik7CisgICAgV0VCS0lUX0VYUE9SVCB2b2lkIGFz
c2lnbkFycmF5KGNvbnN0IFdlYlZlY3RvcjxXZWJJREJLZXk+Jik7CiAgICAgV0VCS0lUX0VYUE9S
VCB2b2lkIGFzc2lnblN0cmluZyhjb25zdCBXZWJTdHJpbmcmKTsKICAgICBXRUJLSVRfRVhQT1JU
IHZvaWQgYXNzaWduRGF0ZShkb3VibGUpOwogICAgIFdFQktJVF9FWFBPUlQgdm9pZCBhc3NpZ25O
dW1iZXIoZG91YmxlKTsKQEAgLTY2LDEyICs2OSwxNCBAQCBwdWJsaWM6CiAKICAgICBlbnVtIFR5
cGUgewogICAgICAgICBJbnZhbGlkVHlwZSA9IDAsCisgICAgICAgIEFycmF5VHlwZSwKICAgICAg
ICAgU3RyaW5nVHlwZSwKICAgICAgICAgRGF0ZVR5cGUsCiAgICAgICAgIE51bWJlclR5cGUKICAg
ICB9OwogCiAgICAgV0VCS0lUX0VYUE9SVCBUeXBlIHR5cGUoKSBjb25zdDsKKyAgICBXRUJLSVRf
RVhQT1JUIFdlYlZlY3RvcjxXZWJJREJLZXk+IGFycmF5KCkgY29uc3Q7IC8vIE9ubHkgdmFsaWQg
Zm9yIEFycmF5VHlwZS4KICAgICBXRUJLSVRfRVhQT1JUIFdlYlN0cmluZyBzdHJpbmcoKSBjb25z
dDsgLy8gT25seSB2YWxpZCBmb3IgU3RyaW5nVHlwZS4KICAgICBXRUJLSVRfRVhQT1JUIGRvdWJs
ZSBkYXRlKCkgY29uc3Q7IC8vIE9ubHkgdmFsaWQgZm9yIERhdGVUeXBlLgogICAgIFdFQktJVF9F
WFBPUlQgZG91YmxlIG51bWJlcigpIGNvbnN0OyAvLyBPbmx5IHZhbGlkIGZvciBOdW1iZXJUeXBl
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdF
bnVtcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1z
LmNwcAppbmRleCAwMDNkMjczZmJlOWY4MjIxYmJlYzgwZDgxZmE1NDljNjFjZGNkM2JjLi41NWJm
OGQxZTE1ZjVhMzBlNzYzNjYxM2VlYzAwZWI1YjY0OGQ0ZGM2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcApAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzk5LDYgKzM5OSw3
IEBAIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViVmlldzo6VXNlclN0eWxlSW5qZWN0
SW5FeGlzdGluZ0RvY3VtZW50cywgSW5qZWN0CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KFdlYlZpZXc6OlVzZXJTdHlsZUluamVjdEluU3Vic2VxdWVudERvY3VtZW50cywgSW5qZWN0SW5T
dWJzZXF1ZW50RG9jdW1lbnRzKTsKIAogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJJ
REJLZXk6OkludmFsaWRUeXBlLCBJREJLZXk6OkludmFsaWRUeXBlKTsKK0NPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oV2ViSURCS2V5OjpBcnJheVR5cGUsIElEQktleTo6QXJyYXlUeXBlKTsK
IENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViSURCS2V5OjpTdHJpbmdUeXBlLCBJREJL
ZXk6OlN0cmluZ1R5cGUpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJJREJLZXk6
OkRhdGVUeXBlLCBJREJLZXk6OkRhdGVUeXBlKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oV2ViSURCS2V5OjpOdW1iZXJUeXBlLCBJREJLZXk6Ok51bWJlclR5cGUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCS2V5LmNwcCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYklEQktleS5jcHAKaW5kZXggOWY2YTA5MDUyNmU1MGZmNjVhOWNk
ZGUxZjEzZDM3MWU0ZTA2OWRhZS4uZTljN2U5Y2MwZjhkMThlYzE2ODE0YWMzZWRjMmIzYTZkYTY2
Y2IzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCS2V5LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJLZXkuY3BwCkBAIC00MSw2
ICs0MSwxMyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7
CiAKK1dlYklEQktleSBXZWJJREJLZXk6OmNyZWF0ZUFycmF5KGNvbnN0IFdlYlZlY3RvcjxXZWJJ
REJLZXk+JiBhcnJheSkKK3sKKyAgICBXZWJJREJLZXkga2V5OworICAgIGtleS5hc3NpZ25BcnJh
eShhcnJheSk7CisgICAgcmV0dXJuIGtleTsKK30KKwogV2ViSURCS2V5IFdlYklEQktleTo6Y3Jl
YXRlU3RyaW5nKGNvbnN0IFdlYlN0cmluZyYgc3RyaW5nKQogewogICAgIFdlYklEQktleSBrZXk7
CkBAIC04Niw2ICs5Myw2NiBAQCB2b2lkIFdlYklEQktleTo6YXNzaWduKGNvbnN0IFdlYklEQktl
eSYgdmFsdWUpCiAgICAgbV9wcml2YXRlID0gdmFsdWUubV9wcml2YXRlOwogfQogCitzdGF0aWMg
UGFzc1JlZlB0cjxJREJLZXk+IGNvbnZlcnRGcm9tV2ViSURCS2V5QXJyYXkoY29uc3QgV2ViVmVj
dG9yPFdlYklEQktleT4mIGFycmF5KQoreworICAgIElEQktleTo6S2V5QXJyYXkga2V5czsKKyAg
ICBrZXlzLnJlc2VydmVDYXBhY2l0eShhcnJheS5zaXplKCkpOworICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgYXJyYXkuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgc3dpdGNoIChhcnJheVtpXS50
eXBlKCkpIHsKKyAgICAgICAgY2FzZSBXZWJJREJLZXk6OkFycmF5VHlwZToKKyAgICAgICAgICAg
IGtleXMuYXBwZW5kKGNvbnZlcnRGcm9tV2ViSURCS2V5QXJyYXkoYXJyYXlbaV0uYXJyYXkoKSkp
OworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViSURCS2V5OjpTdHJpbmdUeXBl
OgorICAgICAgICAgICAga2V5cy5hcHBlbmQoSURCS2V5OjpjcmVhdGVTdHJpbmcoYXJyYXlbaV0u
c3RyaW5nKCkpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFdlYklEQktleTo6
RGF0ZVR5cGU6CisgICAgICAgICAgICBrZXlzLmFwcGVuZChJREJLZXk6OmNyZWF0ZURhdGUoYXJy
YXlbaV0uZGF0ZSgpKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXZWJJREJL
ZXk6Ok51bWJlclR5cGU6CisgICAgICAgICAgICBrZXlzLmFwcGVuZChJREJLZXk6OmNyZWF0ZU51
bWJlcihhcnJheVtpXS5udW1iZXIoKSkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNh
c2UgV2ViSURCS2V5OjpJbnZhbGlkVHlwZToKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIElE
QktleTo6Y3JlYXRlQXJyYXkoa2V5cyk7Cit9CisKK3N0YXRpYyB2b2lkIGNvbnZlcnRUb1dlYklE
QktleUFycmF5KGNvbnN0IElEQktleTo6S2V5QXJyYXkmIGFycmF5LCBXZWJWZWN0b3I8V2ViSURC
S2V5PiYgcmVzdWx0KQoreworICAgIFdlYlZlY3RvcjxXZWJJREJLZXk+IGtleXMoYXJyYXkuc2l6
ZSgpKTsKKyAgICBXZWJWZWN0b3I8V2ViSURCS2V5PiBzdWJrZXlzOworICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgYXJyYXkuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgUmVmUHRyPElEQktleT4g
a2V5ID0gYXJyYXlbaV07CisgICAgICAgIHN3aXRjaCAoa2V5LT50eXBlKCkpIHsKKyAgICAgICAg
Y2FzZSBJREJLZXk6OkFycmF5VHlwZToKKyAgICAgICAgICAgIGNvbnZlcnRUb1dlYklEQktleUFy
cmF5KGtleS0+YXJyYXkoKSwgc3Via2V5cyk7CisgICAgICAgICAgICBrZXlzW2ldID0gV2ViSURC
S2V5OjpjcmVhdGVBcnJheShzdWJrZXlzKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBj
YXNlIElEQktleTo6U3RyaW5nVHlwZToKKyAgICAgICAgICAgIGtleXNbaV0gPSBXZWJJREJLZXk6
OmNyZWF0ZVN0cmluZyhrZXktPnN0cmluZygpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIElEQktleTo6RGF0ZVR5cGU6CisgICAgICAgICAgICBrZXlzW2ldID0gV2ViSURCS2V5
OjpjcmVhdGVEYXRlKGtleS0+ZGF0ZSgpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBj
YXNlIElEQktleTo6TnVtYmVyVHlwZToKKyAgICAgICAgICAgIGtleXNbaV0gPSBXZWJJREJLZXk6
OmNyZWF0ZU51bWJlcihrZXktPm51bWJlcigpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBjYXNlIElEQktleTo6SW52YWxpZFR5cGU6CisgICAgICAgIGNhc2UgSURCS2V5OjpNaW5UeXBl
OgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQorICAgIH0KKyAgICByZXN1bHQuc3dhcChrZXlzKTsKK30KKwordm9pZCBXZWJJ
REJLZXk6OmFzc2lnbkFycmF5KGNvbnN0IFdlYlZlY3RvcjxXZWJJREJLZXk+JiBhcnJheSkKK3sK
KyAgICBtX3ByaXZhdGUgPSBjb252ZXJ0RnJvbVdlYklEQktleUFycmF5KGFycmF5KTsKK30KKwog
dm9pZCBXZWJJREJLZXk6OmFzc2lnblN0cmluZyhjb25zdCBXZWJTdHJpbmcmIHN0cmluZykKIHsK
ICAgICBtX3ByaXZhdGUgPSBJREJLZXk6OmNyZWF0ZVN0cmluZyhzdHJpbmcpOwpAQCAtMTE4LDYg
KzE4NSwxMyBAQCBXZWJJREJLZXk6OlR5cGUgV2ViSURCS2V5Ojp0eXBlKCkgY29uc3QKICAgICBy
ZXR1cm4gVHlwZShtX3ByaXZhdGUtPnR5cGUoKSk7CiB9CiAKK1dlYlZlY3RvcjxXZWJJREJLZXk+
IFdlYklEQktleTo6YXJyYXkoKSBjb25zdAoreworICAgIFdlYlZlY3RvcjxXZWJJREJLZXk+IGtl
eXM7CisgICAgY29udmVydFRvV2ViSURCS2V5QXJyYXkobV9wcml2YXRlLT5hcnJheSgpLCBrZXlz
KTsKKyAgICByZXR1cm4ga2V5czsKK30KKwogV2ViU3RyaW5nIFdlYklEQktleTo6c3RyaW5nKCkg
Y29uc3QKIHsKICAgICByZXR1cm4gbV9wcml2YXRlLT5zdHJpbmcoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvSURCQmluZGluZ1V0aWxpdGllc1Rlc3QuY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJCaW5kaW5nVXRpbGl0aWVzVGVzdC5jcHAK
aW5kZXggMzIxZjBhZjdkMmE4YTE0Y2RmNWRhMWM5OGY0YzgzMzE4NjM5MjkwOC4uN2RlNmE2Yzhm
ZTgzOGQwYWI5ZmNiMjI3MTNhNmIzZDkyMGRlMGQ2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9JREJCaW5kaW5nVXRpbGl0aWVzVGVzdC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJCaW5kaW5nVXRpbGl0aWVzVGVzdC5jcHAKQEAgLTEs
NSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTU1LDYgKzE1
NSw4IEBAIFRFU1QoSW5qZWN0SURCS2V5VGVzdCwgU3ViUHJvcGVydHkpCiAgICAgY2hlY2tJbmpl
Y3Rpb24oSURCS2V5OjpjcmVhdGVOdW1iZXIoNzg5KSwgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpj
cmVhdGUob2JqZWN0KSwgImZvby5iYXoiKTsKICAgICBjaGVja0luamVjdGlvbihJREJLZXk6OmNy
ZWF0ZURhdGUoNDU2NyksIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKG9iamVjdCksICJm
b28uYmF6Iik7CiAgICAgY2hlY2tJbmplY3Rpb24oSURCS2V5OjpjcmVhdGVEYXRlKDQ1NjcpLCBT
ZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShvYmplY3QpLCAiYmFyIik7CisgICAgY2hlY2tJ
bmplY3Rpb24oSURCS2V5OjpjcmVhdGVBcnJheShJREJLZXk6OktleUFycmF5KCkpLCBTZXJpYWxp
emVkU2NyaXB0VmFsdWU6OmNyZWF0ZShvYmplY3QpLCAiZm9vLmJheiIpOworICAgIGNoZWNrSW5q
ZWN0aW9uKElEQktleTo6Y3JlYXRlQXJyYXkoSURCS2V5OjpLZXlBcnJheSgpKSwgU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlOjpjcmVhdGUob2JqZWN0KSwgImJhciIpOwogCiAgICAgY2hlY2tJbmplY3Rp
b25GYWlscyhJREJLZXk6OmNyZWF0ZVN0cmluZygiem9vIiksIFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZTo6Y3JlYXRlKG9iamVjdCksICJmb28uYmFyLmJheiIpOwogICAgIGNoZWNrSW5qZWN0aW9uRmFp
bHMoSURCS2V5OjpjcmVhdGVTdHJpbmcoInpvbyIpLCBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNy
ZWF0ZShvYmplY3QpLCAiZm9vLnh5ei5mb28iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vdGVzdHMvSURCTGV2ZWxEQkNvZGluZ1Rlc3QuY3BwIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS90ZXN0cy9JREJMZXZlbERCQ29kaW5nVGVzdC5jcHAKaW5kZXggNGMwNGM1NDYwY2U2
MDgzNDExMDNmYmM0ZTAzOTIzYjM3ZTMwNzRjZS4uN2Q2MTU5ZTZhMWIxZmM0YWYzMzViOWU4ZjQ2
MDJlM2U2MzM0ZDhjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9J
REJMZXZlbERCQ29kaW5nVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0
cy9JREJMZXZlbERCQ29kaW5nVGVzdC5jcHAKQEAgLTM5LDYgKzM5LDMxIEBAIHVzaW5nIG5hbWVz
cGFjZSBJREJMZXZlbERCQ29kaW5nOwogCiBuYW1lc3BhY2UgewogCitzdGF0aWMgUGFzc1JlZlB0
cjxJREJLZXk+IGNyZWF0ZUFycmF5SURCS2V5KCkKK3sKKyAgICByZXR1cm4gSURCS2V5OjpjcmVh
dGVBcnJheShJREJLZXk6OktleUFycmF5KCkpOworfQorCitzdGF0aWMgUGFzc1JlZlB0cjxJREJL
ZXk+IGNyZWF0ZUFycmF5SURCS2V5KFBhc3NSZWZQdHI8SURCS2V5PiBwcnBLZXkxKQoreworICAg
IFJlZlB0cjxJREJLZXk+IGtleTEgPSBwcnBLZXkxOworCisgICAgSURCS2V5OjpLZXlBcnJheSBh
cnJheTsKKyAgICBhcnJheS5hcHBlbmQoa2V5MSk7CisgICAgcmV0dXJuIElEQktleTo6Y3JlYXRl
QXJyYXkoYXJyYXkpOworfQorCitzdGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZUFycmF5
SURCS2V5KFBhc3NSZWZQdHI8SURCS2V5PiBwcnBLZXkxLCBQYXNzUmVmUHRyPElEQktleT4gcHJw
S2V5MikKK3sKKyAgICBSZWZQdHI8SURCS2V5PiBrZXkxID0gcHJwS2V5MTsKKyAgICBSZWZQdHI8
SURCS2V5PiBrZXkyID0gcHJwS2V5MjsKKworICAgIElEQktleTo6S2V5QXJyYXkgYXJyYXk7Cisg
ICAgYXJyYXkuYXBwZW5kKGtleTEpOworICAgIGFycmF5LmFwcGVuZChrZXkyKTsKKyAgICByZXR1
cm4gSURCS2V5OjpjcmVhdGVBcnJheShhcnJheSk7Cit9CisKIFRFU1QoSURCTGV2ZWxEQkNvZGlu
Z1Rlc3QsIEVuY29kZUJ5dGUpCiB7CiAgICAgVmVjdG9yPGNoYXI+IGV4cGVjdGVkOwpAQCAtNjMs
MTEgKzg4LDEzIEBAIFRFU1QoSURCTGV2ZWxEQkNvZGluZ1Rlc3QsIE1heElEQktleSkKICAgICBW
ZWN0b3I8Y2hhcj4gbWF4S2V5ID0gbWF4SURCS2V5KCk7CiAKICAgICBWZWN0b3I8Y2hhcj4gbWlu
S2V5ID0gbWluSURCS2V5KCk7CisgICAgVmVjdG9yPGNoYXI+IGFycmF5S2V5ID0gZW5jb2RlSURC
S2V5KCpJREJLZXk6OmNyZWF0ZUFycmF5KElEQktleTo6S2V5QXJyYXkoKSkpOwogICAgIFZlY3Rv
cjxjaGFyPiBzdHJpbmdLZXkgPSBlbmNvZGVJREJLZXkoKklEQktleTo6Y3JlYXRlU3RyaW5nKCJI
ZWxsbyB3b3JsZCIpKTsKICAgICBWZWN0b3I8Y2hhcj4gbnVtYmVyS2V5ID0gZW5jb2RlSURCS2V5
KCpJREJLZXk6OmNyZWF0ZU51bWJlcigzLjE0KSk7CiAgICAgVmVjdG9yPGNoYXI+IGRhdGVLZXkg
PSBlbmNvZGVJREJLZXkoKklEQktleTo6Y3JlYXRlRGF0ZSgxMDAwMDAwKSk7CiAKICAgICBFWFBF
Q1RfR1QoY29tcGFyZUVuY29kZWRJREJLZXlzKG1heEtleSwgbWluS2V5KSwgMCk7CisgICAgRVhQ
RUNUX0dUKGNvbXBhcmVFbmNvZGVkSURCS2V5cyhtYXhLZXksIGFycmF5S2V5KSwgMCk7CiAgICAg
RVhQRUNUX0dUKGNvbXBhcmVFbmNvZGVkSURCS2V5cyhtYXhLZXksIHN0cmluZ0tleSksIDApOwog
ICAgIEVYUEVDVF9HVChjb21wYXJlRW5jb2RlZElEQktleXMobWF4S2V5LCBudW1iZXJLZXkpLCAw
KTsKICAgICBFWFBFQ1RfR1QoY29tcGFyZUVuY29kZWRJREJLZXlzKG1heEtleSwgZGF0ZUtleSks
IDApOwpAQCAtNzgsMTEgKzEwNSwxMyBAQCBURVNUKElEQkxldmVsREJDb2RpbmdUZXN0LCBNaW5J
REJLZXkpCiAgICAgVmVjdG9yPGNoYXI+IG1pbktleSA9IG1pbklEQktleSgpOwogCiAgICAgVmVj
dG9yPGNoYXI+IG1heEtleSA9IG1heElEQktleSgpOworICAgIFZlY3RvcjxjaGFyPiBhcnJheUtl
eSA9IGVuY29kZUlEQktleSgqSURCS2V5OjpjcmVhdGVBcnJheShJREJLZXk6OktleUFycmF5KCkp
KTsKICAgICBWZWN0b3I8Y2hhcj4gc3RyaW5nS2V5ID0gZW5jb2RlSURCS2V5KCpJREJLZXk6OmNy
ZWF0ZVN0cmluZygiSGVsbG8gd29ybGQiKSk7CiAgICAgVmVjdG9yPGNoYXI+IG51bWJlcktleSA9
IGVuY29kZUlEQktleSgqSURCS2V5OjpjcmVhdGVOdW1iZXIoMy4xNCkpOwogICAgIFZlY3Rvcjxj
aGFyPiBkYXRlS2V5ID0gZW5jb2RlSURCS2V5KCpJREJLZXk6OmNyZWF0ZURhdGUoMTAwMDAwMCkp
OwogCiAgICAgRVhQRUNUX0xUKGNvbXBhcmVFbmNvZGVkSURCS2V5cyhtaW5LZXksIG1heEtleSks
IDApOworICAgIEVYUEVDVF9MVChjb21wYXJlRW5jb2RlZElEQktleXMobWluS2V5LCBhcnJheUtl
eSksIDApOwogICAgIEVYUEVDVF9MVChjb21wYXJlRW5jb2RlZElEQktleXMobWluS2V5LCBzdHJp
bmdLZXkpLCAwKTsKICAgICBFWFBFQ1RfTFQoY29tcGFyZUVuY29kZWRJREJLZXlzKG1pbktleSwg
bnVtYmVyS2V5KSwgMCk7CiAgICAgRVhQRUNUX0xUKGNvbXBhcmVFbmNvZGVkSURCS2V5cyhtaW5L
ZXksIGRhdGVLZXkpLCAwKTsKQEAgLTIzMCw2ICsyNTksMTQgQEAgVEVTVChJREJMZXZlbERCQ29k
aW5nVGVzdCwgRGVjb2RlU3RyaW5nV2l0aExlbmd0aCkKICAgICB9CiB9CiAKK3N0YXRpYyBpbnQg
Y29tcGFyZVN0cmluZ3MoY29uc3QgY2hhciogcCwgY29uc3QgY2hhciogbGltaXRQLCBjb25zdCBj
aGFyKiBxLCBjb25zdCBjaGFyKiBsaW1pdFEpCit7CisgICAgaW50IHJlc3VsdCA9IGNvbXBhcmVF
bmNvZGVkU3RyaW5nc1dpdGhMZW5ndGgocCwgbGltaXRQLCBxLCBsaW1pdFEpOworICAgIEVYUEVD
VF9FUShwLCBsaW1pdFApOworICAgIEVYUEVDVF9FUShxLCBsaW1pdFEpOworICAgIHJldHVybiBy
ZXN1bHQ7Cit9CisKIFRFU1QoSURCTGV2ZWxEQkNvZGluZ1Rlc3QsIENvbXBhcmVFbmNvZGVkU3Ry
aW5nc1dpdGhMZW5ndGgpCiB7CiAgICAgY29uc3QgVUNoYXIgdGVzdFN0cmluZ0FbXSA9IHsweDEw
MDAsIDB4MTAwMCwgJ1wwJ307CkBAIC0yNzIsMTAgKzMwOSwxMCBAQCBURVNUKElEQkxldmVsREJD
b2RpbmdUZXN0LCBDb21wYXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKQogICAgICAgICBjb25z
dCBjaGFyKiBxID0gZW5jb2RlZEIuZGF0YSgpOwogICAgICAgICBjb25zdCBjaGFyKiBsaW1pdFEg
PSBxICsgZW5jb2RlZEIuc2l6ZSgpOwogCi0gICAgICAgIEVYUEVDVF9MVChjb21wYXJlRW5jb2Rl
ZFN0cmluZ3NXaXRoTGVuZ3RoKHAsIGxpbWl0UCwgcSwgbGltaXRRKSwgMCk7Ci0gICAgICAgIEVY
UEVDVF9HVChjb21wYXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKHEsIGxpbWl0USwgcCwgbGlt
aXRQKSwgMCk7Ci0gICAgICAgIEVYUEVDVF9FUShjb21wYXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVu
Z3RoKHAsIGxpbWl0UCwgcCwgbGltaXRQKSwgMCk7Ci0gICAgICAgIEVYUEVDVF9FUShjb21wYXJl
RW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKHEsIGxpbWl0USwgcSwgbGltaXRRKSwgMCk7CisgICAg
ICAgIEVYUEVDVF9MVChjb21wYXJlU3RyaW5ncyhwLCBsaW1pdFAsIHEsIGxpbWl0USksIDApOwor
ICAgICAgICBFWFBFQ1RfR1QoY29tcGFyZVN0cmluZ3MocSwgbGltaXRRLCBwLCBsaW1pdFApLCAw
KTsKKyAgICAgICAgRVhQRUNUX0VRKGNvbXBhcmVTdHJpbmdzKHAsIGxpbWl0UCwgcCwgbGltaXRQ
KSwgMCk7CisgICAgICAgIEVYUEVDVF9FUShjb21wYXJlU3RyaW5ncyhxLCBsaW1pdFEsIHEsIGxp
bWl0USksIDApOwogICAgIH0KIH0KIApAQCAtMzI3LDEyICszNjQsMzAgQEAgVEVTVChJREJMZXZl
bERCQ29kaW5nVGVzdCwgRW5jb2RlRGVjb2RlSURCS2V5KQogICAgIEVYUEVDVF9FUSh2LmRhdGEo
KSArIHYuc2l6ZSgpLCBwKTsKICAgICBFWFBFQ1RfRVEoMCwgZGVjb2RlSURCS2V5KHYuZGF0YSgp
LCB2LmRhdGEoKSArIHYuc2l6ZSgpIC0gMSwgZGVjb2RlZEtleSkpOwogCisgICAgZXhwZWN0ZWRL
ZXkgPSBjcmVhdGVBcnJheUlEQktleSgpOworICAgIHYgPSBlbmNvZGVJREJLZXkoKmV4cGVjdGVk
S2V5KTsKKyAgICBwID0gZGVjb2RlSURCS2V5KHYuZGF0YSgpLCB2LmRhdGEoKSArIHYuc2l6ZSgp
LCBkZWNvZGVkS2V5KTsKKyAgICBFWFBFQ1RfVFJVRShkZWNvZGVkS2V5LT5pc0VxdWFsKGV4cGVj
dGVkS2V5LmdldCgpKSk7CisgICAgRVhQRUNUX0VRKHYuZGF0YSgpICsgdi5zaXplKCksIHApOwor
ICAgIEVYUEVDVF9FUSgwLCBkZWNvZGVJREJLZXkodi5kYXRhKCksIHYuZGF0YSgpICsgdi5zaXpl
KCkgLSAxLCBkZWNvZGVkS2V5KSk7CisKICAgICBleHBlY3RlZEtleSA9IElEQktleTo6Y3JlYXRl
RGF0ZSg3ODkwKTsKICAgICB2ID0gZW5jb2RlSURCS2V5KCpleHBlY3RlZEtleSk7CiAgICAgcCA9
IGRlY29kZUlEQktleSh2LmRhdGEoKSwgdi5kYXRhKCkgKyB2LnNpemUoKSwgZGVjb2RlZEtleSk7
CiAgICAgRVhQRUNUX1RSVUUoZGVjb2RlZEtleS0+aXNFcXVhbChleHBlY3RlZEtleS5nZXQoKSkp
OwogICAgIEVYUEVDVF9FUSh2LmRhdGEoKSArIHYuc2l6ZSgpLCBwKTsKICAgICBFWFBFQ1RfRVEo
MCwgZGVjb2RlSURCS2V5KHYuZGF0YSgpLCB2LmRhdGEoKSArIHYuc2l6ZSgpIC0gMSwgZGVjb2Rl
ZEtleSkpOworCisgICAgSURCS2V5OjpLZXlBcnJheSBhcnJheTsKKyAgICBhcnJheS5hcHBlbmQo
SURCS2V5OjpjcmVhdGVOdW1iZXIoMTIzNCkpOworICAgIGFycmF5LmFwcGVuZChJREJLZXk6OmNy
ZWF0ZVN0cmluZygiSGVsbG8gV29ybGQhIikpOworICAgIGFycmF5LmFwcGVuZChJREJLZXk6OmNy
ZWF0ZURhdGUoNzg5MCkpOworICAgIGV4cGVjdGVkS2V5ID0gSURCS2V5OjpjcmVhdGVBcnJheShh
cnJheSk7CisgICAgdiA9IGVuY29kZUlEQktleSgqZXhwZWN0ZWRLZXkpOworICAgIHAgPSBkZWNv
ZGVJREJLZXkodi5kYXRhKCksIHYuZGF0YSgpICsgdi5zaXplKCksIGRlY29kZWRLZXkpOworICAg
IEVYUEVDVF9UUlVFKGRlY29kZWRLZXktPmlzRXF1YWwoZXhwZWN0ZWRLZXkuZ2V0KCkpKTsKKyAg
ICBFWFBFQ1RfRVEodi5kYXRhKCkgKyB2LnNpemUoKSwgcCk7CisgICAgRVhQRUNUX0VRKDAsIGRl
Y29kZUlEQktleSh2LmRhdGEoKSwgdi5kYXRhKCkgKyB2LnNpemUoKSAtIDEsIGRlY29kZWRLZXkp
KTsKIH0KIAogVEVTVChJREJMZXZlbERCQ29kaW5nVGVzdCwgRXh0cmFjdEFuZENvbXBhcmVJREJL
ZXlzKQpAQCAtMzU0LDYgKzQwOSwxOCBAQCBURVNUKElEQkxldmVsREJDb2RpbmdUZXN0LCBFeHRy
YWN0QW5kQ29tcGFyZUlEQktleXMpCiAgICAga2V5cy5hcHBlbmQoSURCS2V5OjpjcmVhdGVTdHJp
bmcoImJhYWIiKSk7CiAgICAga2V5cy5hcHBlbmQoSURCS2V5OjpjcmVhdGVTdHJpbmcoImMiKSk7
CiAKKyAgICBrZXlzLmFwcGVuZChjcmVhdGVBcnJheUlEQktleSgpKTsKKyAgICBrZXlzLmFwcGVu
ZChjcmVhdGVBcnJheUlEQktleShJREJLZXk6OmNyZWF0ZU51bWJlcigwKSkpOworICAgIGtleXMu
YXBwZW5kKGNyZWF0ZUFycmF5SURCS2V5KElEQktleTo6Y3JlYXRlTnVtYmVyKDApLCBJREJLZXk6
OmNyZWF0ZU51bWJlcigzLjE0KSkpOworICAgIGtleXMuYXBwZW5kKGNyZWF0ZUFycmF5SURCS2V5
KElEQktleTo6Y3JlYXRlRGF0ZSgwKSkpOworICAgIGtleXMuYXBwZW5kKGNyZWF0ZUFycmF5SURC
S2V5KElEQktleTo6Y3JlYXRlRGF0ZSgwKSwgSURCS2V5OjpjcmVhdGVEYXRlKDApKSk7CisgICAg
a2V5cy5hcHBlbmQoY3JlYXRlQXJyYXlJREJLZXkoSURCS2V5OjpjcmVhdGVTdHJpbmcoIiIpKSk7
CisgICAga2V5cy5hcHBlbmQoY3JlYXRlQXJyYXlJREJLZXkoSURCS2V5OjpjcmVhdGVTdHJpbmco
IiIpLCBJREJLZXk6OmNyZWF0ZVN0cmluZygiYSIpKSk7CisgICAga2V5cy5hcHBlbmQoY3JlYXRl
QXJyYXlJREJLZXkoY3JlYXRlQXJyYXlJREJLZXkoKSkpOworICAgIGtleXMuYXBwZW5kKGNyZWF0
ZUFycmF5SURCS2V5KGNyZWF0ZUFycmF5SURCS2V5KCksIGNyZWF0ZUFycmF5SURCS2V5KCkpKTsK
KyAgICBrZXlzLmFwcGVuZChjcmVhdGVBcnJheUlEQktleShjcmVhdGVBcnJheUlEQktleShjcmVh
dGVBcnJheUlEQktleSgpKSkpOworICAgIGtleXMuYXBwZW5kKGNyZWF0ZUFycmF5SURCS2V5KGNy
ZWF0ZUFycmF5SURCS2V5KGNyZWF0ZUFycmF5SURCS2V5KGNyZWF0ZUFycmF5SURCS2V5KCkpKSkp
OworCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBrZXlzLnNpemUoKSAtIDE7ICsraSkgewog
ICAgICAgICBSZWZQdHI8SURCS2V5PiBrZXlBID0ga2V5c1tpXTsKICAgICAgICAgUmVmUHRyPElE
QktleT4ga2V5QiA9IGtleXNbaSArIDFdOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDcxOGZkMzAwYmEzMGViZjI1MWFhOGUz
ZDVjMWIxNWU0ODU5YTcyNmYuLmM4NTJhNzM3Nzg3OGRjZjUxN2I4MTU3ZTNkNGQzOWMyOTQ2YjMz
ZDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTIwMiw2ICsyMDIsMjggQEAKIAogICAgICAgICAqIHBsYXRmb3JtL2d0ay9T
a2lwcGVkOgogCisyMDExLTExLTAzICBKb3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgSW5kZXhlZERCOiBpbXBsZW1lbnQgY29tcG91bmQgKGFycmF5KSBrZXkgc3Vw
cG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIy
ODQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1rZXktb3JkZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9yZGVyLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWNtcC5odG1sOgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3Rv
cmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIva2V5LXR5cGUtYXJyYXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdG9y
YWdlL2luZGV4ZWRkYi9rZXktdHlwZS1hcnJheS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdG9y
YWdlL2luZGV4ZWRkYi9rZXlyYW5nZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIva2V5cmFuZ2UuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vYmpl
Y3RzdG9yZS1iYXNpY3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRi
L29iamVjdHN0b3JlLWJhc2ljcy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29w
ZW4tY3Vyc29yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vcGVu
LWN1cnNvci5odG1sOgorCiAyMDExLTExLTAzICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRA
aWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBza2lwCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9yZGVyLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1rZXktb3JkZXItZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdjYTI5NDdjYmJkMDBmYzNiNWJhOGU3ZDUxNDMxM2VlODgyZTA2ZDgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3It
a2V5LW9yZGVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkwOCBAQAorVGVzdCBJbmRleGVkREIg
a2V5cyBvcmRlcmluZyBhbmQgcmVhZGJhY2sgZnJvbSBjdXJzb3JzLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworaW5kZXhlZERCID0gd2luZG93LmluZGV4ZWREQiB8fCB3aW5kb3cu
d2Via2l0SW5kZXhlZERCIHx8IHdpbmRvdy5tb3pJbmRleGVkREI7CitQQVNTIGluZGV4ZWREQiA9
PSBudWxsIGlzIGZhbHNlCitJREJDdXJzb3IgPSB3aW5kb3cuSURCQ3Vyc29yIHx8IHdpbmRvdy53
ZWJraXRJREJDdXJzb3I7CitQQVNTIElEQkN1cnNvciA9PSBudWxsIGlzIGZhbHNlCitJREJUcmFu
c2FjdGlvbiA9IHdpbmRvdy5JREJUcmFuc2FjdGlvbiB8fCB3aW5kb3cud2Via2l0SURCVHJhbnNh
Y3Rpb24KK1BBU1MgSURCVHJhbnNhY3Rpb24gPT0gbnVsbCBpcyBmYWxzZQorCitvcGVucmVxID0g
aW5kZXhlZERCLm9wZW4oJ2N1cnNvci1rZXktb3JkZXInKQorZGIgPSBvcGVucmVxLnJlc3VsdAor
dmVycmVxID0gZGIuc2V0VmVyc2lvbignMScpCitkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUn
KQorCitwb3B1bGF0aW5nIHN0b3JlLi4uCit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScs
IElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCitzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdz
dG9yZScpOworc3RvcmUucHV0KDAsIC1JbmZpbml0eSkKK3N0b3JlLnB1dCgxLCAtTnVtYmVyLk1B
WF9WQUxVRSkKK3N0b3JlLnB1dCgyLCAtMSkKK3N0b3JlLnB1dCgzLCAtTnVtYmVyLk1JTl9WQUxV
RSkKK3N0b3JlLnB1dCg0LCAwKQorc3RvcmUucHV0KDUsIE51bWJlci5NSU5fVkFMVUUpCitzdG9y
ZS5wdXQoNiwgMSkKK3N0b3JlLnB1dCg3LCBOdW1iZXIuTUFYX1ZBTFVFKQorc3RvcmUucHV0KDgs
IEluZmluaXR5KQorc3RvcmUucHV0KDksIG5ldyBEYXRlKDApKQorc3RvcmUucHV0KDEwLCBuZXcg
RGF0ZSgxMDAwKSkKK3N0b3JlLnB1dCgxMSwgbmV3IERhdGUoMTMxNzM5OTkzMTAyMykpCitzdG9y
ZS5wdXQoMTIsICcnKQorc3RvcmUucHV0KDEzLCAnJykKK3N0b3JlLnB1dCgxNCwgJ2EnKQorc3Rv
cmUucHV0KDE1LCAnYWEnKQorc3RvcmUucHV0KDE2LCAnYicpCitzdG9yZS5wdXQoMTcsICdiYScp
CitzdG9yZS5wdXQoMTgsICfCoicpCitzdG9yZS5wdXQoMTksICfmsLQnKQorc3RvcmUucHV0KDIw
LCAn8J2EnicpCitzdG9yZS5wdXQoMjEsICfvv70nKQorc3RvcmUucHV0KDIyLCBbXSkKK3N0b3Jl
LnB1dCgyMywgWy1JbmZpbml0eV0pCitzdG9yZS5wdXQoMjQsIFstTnVtYmVyLk1BWF9WQUxVRV0p
CitzdG9yZS5wdXQoMjUsIFstMV0pCitzdG9yZS5wdXQoMjYsIFstTnVtYmVyLk1JTl9WQUxVRV0p
CitzdG9yZS5wdXQoMjcsIFswXSkKK3N0b3JlLnB1dCgyOCwgW051bWJlci5NSU5fVkFMVUVdKQor
c3RvcmUucHV0KDI5LCBbMV0pCitzdG9yZS5wdXQoMzAsIFtOdW1iZXIuTUFYX1ZBTFVFXSkKK3N0
b3JlLnB1dCgzMSwgW0luZmluaXR5XSkKK3N0b3JlLnB1dCgzMiwgW25ldyBEYXRlKDApXSkKK3N0
b3JlLnB1dCgzMywgW25ldyBEYXRlKDEwMDApXSkKK3N0b3JlLnB1dCgzNCwgW25ldyBEYXRlKDEz
MTczOTk5MzEwMjMpXSkKK3N0b3JlLnB1dCgzNSwgWycnXSkKK3N0b3JlLnB1dCgzNiwgWycnXSkK
K3N0b3JlLnB1dCgzNywgWydhJ10pCitzdG9yZS5wdXQoMzgsIFsnYWEnXSkKK3N0b3JlLnB1dCgz
OSwgWydiJ10pCitzdG9yZS5wdXQoNDAsIFsnYmEnXSkKK3N0b3JlLnB1dCg0MSwgWyfCoiddKQor
c3RvcmUucHV0KDQyLCBbJ+awtCddKQorc3RvcmUucHV0KDQzLCBbJ/CdhJ4nXSkKK3N0b3JlLnB1
dCg0NCwgWyfvv70nXSkKK3N0b3JlLnB1dCg0NSwgW1tdXSkKK3N0b3JlLnB1dCg0NiwgW1tdLCBb
XV0pCitzdG9yZS5wdXQoNDcsIFtbXSwgW10sIFtdXSkKK3N0b3JlLnB1dCg0OCwgW1tbXV1dKQor
c3RvcmUucHV0KDQ5LCBbW1tbXV1dXSkKKworaXRlcmF0aW5nIGN1cnNvci4uLgordHJhbnMgPSBk
Yi50cmFuc2FjdGlvbignc3RvcmUnLCBJREJUcmFuc2FjdGlvbi5SRUFEX09OTFkpCitzdG9yZSA9
IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZScpOworY291bnQgPSAwCitjdXJyZXEgPSBzdG9yZS5v
cGVuQ3Vyc29yKCkKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iu
a2V5LCAtSW5maW5pdHkpIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQor
UEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5y
ZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCAtTnVtYmVyLk1BWF9WQUxVRSkgaXMgdHJ1
ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09
IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1
cnNvci5rZXksIC0xKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BB
U1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVz
dWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgLU51bWJlci5NSU5fVkFMVUUpIGlzIHRydWUK
K2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBj
b3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJz
b3Iua2V5LCAwKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1Mg
Z2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0
CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgTnVtYmVyLk1JTl9WQUxVRSkgaXMgdHJ1ZQorZ2V0
cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50
KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5r
ZXksIDEpIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRy
ZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BB
U1MgY29tcGFyZShjdXJzb3Iua2V5LCBOdW1iZXIuTUFYX1ZBTFVFKSBpcyB0cnVlCitnZXRyZXEg
PSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBp
cyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwg
SW5maW5pdHkpIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBn
ZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQK
K1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBuZXcgRGF0ZSgwKSkgaXMgdHJ1ZQorZ2V0cmVxID0g
c3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMg
dHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIG5l
dyBEYXRlKDEwMDApKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BB
U1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVz
dWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgbmV3IERhdGUoMTMxNzM5OTkzMTAyMykpIGlz
IHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0
ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFy
ZShjdXJzb3Iua2V5LCAnJykgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkp
CitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVx
LnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksICdcMCcpIGlzIHRydWUKK2dldHJlcSA9
IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlz
IHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCAn
YScpIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEu
cmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1Mg
Y29tcGFyZShjdXJzb3Iua2V5LCAnYWEnKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vy
c29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3Ig
PSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgJ2InKSBpcyB0cnVlCitn
ZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291
bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29y
LmtleSwgJ2JhJykgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNT
IGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3Vs
dAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksICfCoicpIGlzIHRydWUKK2dldHJlcSA9IHN0b3Jl
LmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUK
K2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCAn5rC0Jykg
aXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1
bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21w
YXJlKGN1cnNvci5rZXksICfwnYSeJykgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNv
ci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0g
Y3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksICfvv70nKSBpcyB0cnVlCitn
ZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291
bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29y
LmtleSwgW10pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBn
ZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQK
K1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbLUluZmluaXR5XSkgaXMgdHJ1ZQorZ2V0cmVxID0g
c3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMg
dHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIFst
TnVtYmVyLk1BWF9WQUxVRV0pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5
KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJl
cS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbLTFdKSBpcyB0cnVlCitnZXRyZXEg
PSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBp
cyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwg
Wy1OdW1iZXIuTUlOX1ZBTFVFXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5r
ZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3Vy
cmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIFswXSkgaXMgdHJ1ZQorZ2V0cmVx
ID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50Kysg
aXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXks
IFtOdW1iZXIuTUlOX1ZBTFVFXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5r
ZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3Vy
cmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIFsxXSkgaXMgdHJ1ZQorZ2V0cmVx
ID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50Kysg
aXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXks
IFtOdW1iZXIuTUFYX1ZBTFVFXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5r
ZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3Vy
cmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIFtJbmZpbml0eV0pIGlzIHRydWUK
K2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBj
b3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJz
b3Iua2V5LCBbbmV3IERhdGUoMCldKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29y
LmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBj
dXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgW25ldyBEYXRlKDEwMDApXSkg
aXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1
bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21w
YXJlKGN1cnNvci5rZXksIFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0pIGlzIHRydWUKK2dldHJl
cSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsr
IGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5
LCBbJyddKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0
cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQ
QVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgWydcMCddKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5n
ZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitj
dXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgWydhJ10pIGlz
IHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0
ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFy
ZShjdXJzb3Iua2V5LCBbJ2FhJ10pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iu
a2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1
cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbJ2InXSkgaXMgdHJ1ZQorZ2V0
cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50
KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5r
ZXksIFsnYmEnXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNT
IGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3Vs
dAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIFsnwqInXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3Rv
cmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1
ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIFsn5rC0
J10pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEu
cmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1Mg
Y29tcGFyZShjdXJzb3Iua2V5LCBbJ/CdhJ4nXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0
KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vy
c29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIFsn77+9J10pIGlz
IHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0
ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFy
ZShjdXJzb3Iua2V5LCBbW11dKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtl
eSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJy
ZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgW1tdLCBbXV0pIGlzIHRydWUKK2dl
dHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3Vu
dCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iu
a2V5LCBbW10sIFtdLCBbXV0pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5
KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJl
cS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbW1tdXV0pIGlzIHRydWUKK2dldHJl
cSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsr
IGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5
LCBbW1tbXV1dXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNT
IGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorUEFTUyBjb3VudCA9PT0ga2V5cy5s
ZW5ndGggaXMgdHJ1ZQorCit2YWxpZGF0ZSBjb21wYXJlIGZ1bmN0aW9uCitQQVNTIGNvbXBhcmUo
dW5kZWZpbmVkLCB1bmRlZmluZWQpIGlzIHRydWUKK1BBU1MgY29tcGFyZSh1bmRlZmluZWQsIHRy
dWUpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodW5kZWZpbmVkLCBmYWxzZSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZSh1bmRlZmluZWQsIDApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodW5kZWZpbmVk
LCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh1bmRlZmluZWQsIDEyMykgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZSh1bmRlZmluZWQsIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHVu
ZGVmaW5lZCwgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHVuZGVmaW5lZCwgTmFO
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHVuZGVmaW5lZCwgJycpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUodW5kZWZpbmVkLCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh1bmRlZmluZWQs
ICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHVuZGVmaW5lZCwgbmV3IERhdGUoMCkpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUodW5kZWZpbmVkLCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKHVuZGVmaW5lZCwgbmV3IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZSh1bmRlZmluZWQsIFtdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHVuZGVmaW5lZCwgWzEy
M10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodW5kZWZpbmVkLCBbJ2FiYyddKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKHVuZGVmaW5lZCwgWzEyMywgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKHVuZGVmaW5lZCwgWydhYmMnLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHVuZGVm
aW5lZCwgW1tdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh1bmRlZmluZWQsIFtbMTIzXV0pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUodW5kZWZpbmVkLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUodW5kZWZpbmVkLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZSh1bmRlZmluZWQsIFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh0cnVlLCB1
bmRlZmluZWQpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgdHJ1ZSkgaXMgdHJ1ZQorUEFT
UyBjb21wYXJlKHRydWUsIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUsIDApIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1
ZSwgMTIzKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUsIEluZmluaXR5KSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKHRydWUsIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh0cnVl
LCBOYU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgJycpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUodHJ1ZSwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgJ3h5eicpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgbmV3IERhdGUoMCkpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUodHJ1ZSwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh0cnVlLCBu
ZXcgRGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUsIFtdKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKHRydWUsIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUsIFsn
YWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgWzEyMywgJ2FiYyddKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKHRydWUsIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZSh0cnVlLCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUsIFtbMTIzXV0pIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KHRydWUsIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUsIFtbMTIz
XSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwgdW5kZWZpbmVkKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKGZhbHNlLCB0cnVlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKGZhbHNl
LCBmYWxzZSkgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKGZhbHNlLCAwKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKGZhbHNlLCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwgMTIzKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKGZhbHNlLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShmYWxzZSwgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKGZhbHNlLCBOYU4pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoZmFsc2UsICcnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKGZh
bHNlLCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwgJ3h5eicpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoZmFsc2UsIG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KGZhbHNlLCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKGZhbHNlLCBuZXcg
RGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKGZhbHNlLCBbXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShmYWxzZSwgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoZmFsc2UsIFsn
YWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoZmFsc2UsIFsxMjMsICdhYmMnXSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShmYWxzZSwgWydhYmMnLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKGZhbHNlLCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKGZhbHNlLCBbWzEyM11dKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKGZhbHNlLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoZmFsc2UsIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKGZhbHNl
LCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMCwgdW5kZWZpbmVkKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKDAsIHRydWUpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMCwgZmFs
c2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMCwgMCkgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKDAs
IC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDAsIDEyMykgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZSgwLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCAtSW5maW5pdHkpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoMCwgTmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDAsICcnKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKDAsICdhYmMnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDAs
ICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDAsIG5ldyBEYXRlKDApKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKDAsIG5ldyBEYXRlKDFlMykpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMCwg
bmV3IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCBbXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZSgwLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCBbJ2FiYyddKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKDAsIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZSgwLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMCwgW1tdXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZSgwLCBbWzEyM11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDAs
IFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCBbWzEyM10sICdhYmMnXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZSgwLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoLTAsIHVuZGVmaW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgdHJ1ZSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZSgtMCwgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsIDAp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsIC0wKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUoLTAs
IDEyMykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoLTAsIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgTmFOKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKC0wLCAnJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwg
J2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsICd4eXonKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKC0wLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgbmV3IERh
dGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgbmV3IERhdGUoMWU5KSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZSgtMCwgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsIFsxMjNd
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC0wLCBbJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKC0wLCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsIFsnYWJjJywg
MTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgW1tdXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZSgtMCwgW1sxMjNdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgW1snYWJjJ11dKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKC0wLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZSgtMCwgW1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEyMywgdW5k
ZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEyMywgdHJ1ZSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZSgxMjMsIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEyMywgMCkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZSgxMjMsIC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEyMywgMTIz
KSBpcyB0cnVlCitQQVNTIGNvbXBhcmUoMTIzLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZSgxMjMsIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsIE5hTikgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsICcnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEyMywg
J2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCAneHl6JykgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZSgxMjMsIG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEyMywgbmV3
IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsIG5ldyBEYXRlKDFlOSkpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCBbXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMs
IFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEyMywgWydhYmMnXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZSgxMjMsIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMs
IFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsIFtbXV0pIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoMTIzLCBbWzEyM11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEyMywg
W1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEyMywgW1sxMjNdLCAnYWJjJ10pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoSW5maW5pdHksIHVuZGVmaW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0
eSwgdHJ1ZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0eSwgZmFsc2UpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoSW5maW5pdHksIDApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5p
dHksIC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKEluZmluaXR5LCAxMjMpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoSW5maW5pdHksIEluZmluaXR5KSBpcyB0cnVlCitQQVNTIGNvbXBhcmUoSW5m
aW5pdHksIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0eSwgTmFOKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKEluZmluaXR5LCAnJykgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShJbmZpbml0eSwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHksICd4eXon
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKEluZmluaXR5LCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShJbmZpbml0eSwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShJbmZpbml0eSwgbmV3IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShJbmZp
bml0eSwgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHksIFsxMjNdKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKEluZmluaXR5LCBbJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KEluZmluaXR5LCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHks
IFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0eSwgW1tdXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0eSwgW1sxMjNdXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShJbmZpbml0eSwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKEluZmluaXR5
LCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0eSwgW1sxMjNd
LCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC1JbmZpbml0eSwgdW5kZWZpbmVkKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKC1JbmZpbml0eSwgdHJ1ZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZSgtSW5maW5pdHksIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC1JbmZpbml0eSwgMCkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIC0wKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKC1JbmZpbml0eSwgMTIzKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC1JbmZpbml0eSwgSW5m
aW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCAtSW5maW5pdHkpIGlzIHRy
dWUKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIE5hTikgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgt
SW5maW5pdHksICcnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC1JbmZpbml0eSwgJ2FiYycpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZSgtSW5maW5pdHksIG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC1JbmZp
bml0eSwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIG5l
dyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCBbXSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KC1JbmZpbml0eSwgWydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIFsx
MjMsICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIFsnYWJjJywgMTIz
XSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIFtbXV0pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoLUluZmluaXR5LCBbWzEyM11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC1JbmZp
bml0eSwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC1JbmZpbml0eSwgW1sxMjNd
LCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCBbWzEyM10sIDEyM10p
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCB1bmRlZmluZWQpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoTmFOLCB0cnVlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwgZmFsc2UpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoTmFOLCAwKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwgLTAp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCAxMjMpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
TmFOLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShOYU4sIC1JbmZpbml0eSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShOYU4sIE5hTikgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKE5hTiwg
JycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShOYU4sICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwgbmV3IERhdGUoMCkp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKE5hTiwgbmV3IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShOYU4s
IFtdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoTmFOLCBbJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwgWzEyMywgJ2Fi
YyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwgWydhYmMnLCAxMjNdKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKE5hTiwgW1tdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShOYU4sIFtbMTIz
XV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoTmFOLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShOYU4s
IFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgdW5kZWZpbmVkKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKCcnLCB0cnVlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCcnLCBm
YWxzZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZSgnJywgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJycsIDEyMykgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZSgnJywgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJycsIC1JbmZpbml0
eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgTmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KCcnLCAnJykgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKCcnLCAnYWJjJykgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZSgnJywgJ3h5eicpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJycsIG5ldyBEYXRlKDAp
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCcnLCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKCcnLCBuZXcgRGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCcnLCBb
XSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoJycsIFsnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJycsIFsxMjMsICdhYmMnXSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgWydhYmMnLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKCcnLCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCcnLCBbWzEyM11dKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKCcnLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
JycsIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCcnLCBbWzEyM10sIDEy
M10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ2FiYycsIHVuZGVmaW5lZCkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZSgnYWJjJywgdHJ1ZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJjJywgZmFs
c2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ2FiYycsIDApIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoJ2FiYycsIC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdhYmMnLCAxMjMpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoJ2FiYycsIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdh
YmMnLCAtSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ2FiYycsIE5hTikgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZSgnYWJjJywgJycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ2FiYycs
ICdhYmMnKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUoJ2FiYycsICd4eXonKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKCdhYmMnLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJj
JywgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJjJywgbmV3IERhdGUo
MWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJjJywgW10pIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoJ2FiYycsIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdhYmMnLCBbJ2FiYydd
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdhYmMnLCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoJ2FiYycsIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgn
YWJjJywgW1tdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJjJywgW1sxMjNdXSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZSgnYWJjJywgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KCdhYmMnLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJjJywgW1sx
MjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCB1bmRlZmluZWQpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoJ3h5eicsIHRydWUpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5
eicsIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCAwKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKCd4eXonLCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgneHl6JywgMTIzKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZSgneHl6JywgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCBOYU4p
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5eicsICcnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KCd4eXonLCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgneHl6JywgJ3h5eicpIGlzIHRy
dWUKK1BBU1MgY29tcGFyZSgneHl6JywgbmV3IERhdGUoMCkpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoJ3h5eicsIG5ldyBEYXRlKDFlMykpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5eicsIG5l
dyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5eicsIFtdKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKCd4eXonLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgneHl6Jywg
WydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgneHl6JywgWzEyMywgJ2FiYyddKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoJ3h5eicsIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5eicsIFtbMTIzXV0p
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5eicsIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZSgneHl6JywgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5
eicsIFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgwKSwgdW5k
ZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCB0cnVlKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShuZXcgRGF0ZSgwKSwgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgwKSwgLTAp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCksIDEyMykgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZShuZXcgRGF0ZSgwKSwgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3
IERhdGUoMCksIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgwKSwg
TmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCAnJykgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShuZXcgRGF0ZSgwKSwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3
IERhdGUoMCksICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCBuZXcg
RGF0ZSgwKSkgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCBuZXcgRGF0ZSgxZTMp
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCBuZXcgRGF0ZSgxZTkpKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCBbXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShuZXcgRGF0ZSgwKSwgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCks
IFsnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCksIFsxMjMsICdhYmMn
XSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgwKSwgWydhYmMnLCAxMjNdKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKG5ldyBEYXRlKDApLCBbWzEyM11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRl
KDApLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCksIFtbMTIz
XSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCBbWzEyM10sIDEy
M10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUzKSwgdW5kZWZpbmVkKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlMyksIHRydWUpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUobmV3IERhdGUoMWUzKSwgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERh
dGUoMWUzKSwgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCAtMCkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCAxMjMpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUobmV3IERhdGUoMWUzKSwgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3
IERhdGUoMWUzKSwgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFl
MyksIE5hTikgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCAnJykgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShuZXcgRGF0ZSgxZTMpLCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0
ZSgxZTMpLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMp
LCBuZXcgRGF0ZSgxZTMpKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUzKSwgbmV3
IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCBbXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZShuZXcgRGF0ZSgxZTMpLCBbJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5l
dyBEYXRlKDFlMyksIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0
ZSgxZTMpLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUz
KSwgW1tdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCBbWzEyM11dKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlMyksIFtbJ2FiYyddXSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUobmV3IERhdGUoMWU5KSwgdW5kZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5l
dyBEYXRlKDFlOSksIHRydWUpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwg
ZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgMCkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShu
ZXcgRGF0ZSgxZTkpLCAxMjMpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwg
SW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgLUluZmluaXR5
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlOSksIE5hTikgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCAnJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcg
RGF0ZSgxZTkpLCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCAn
eHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCBuZXcgRGF0ZSgwKSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCBuZXcgRGF0ZSgxZTMpKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlOSksIG5ldyBEYXRlKDFlOSkpIGlzIHRydWUK
K1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCBbXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShu
ZXcgRGF0ZSgxZTkpLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkp
LCBbJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlOSksIFsxMjMsICdh
YmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCBbJ2FiYycsIDEyM10p
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgW1tdXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCBbWzEyM11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KG5ldyBEYXRlKDFlOSksIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0
ZSgxZTkpLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgx
ZTkpLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10sIHVuZGVmaW5lZCkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShbXSwgdHJ1ZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShb
XSwgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10sIDApIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoW10sIC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtdLCAxMjMpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoW10sIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtdLCAtSW5m
aW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10sIE5hTikgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbXSwgJycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10sICdhYmMnKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFtdLCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbXSwgbmV3IERh
dGUoMCkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10sIG5ldyBEYXRlKDFlMykpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoW10sIG5ldyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
W10sIFtdKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUoW10sIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKFtdLCBbJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtdLCBbMTIzLCAnYWJj
J10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10sIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbXSwgW1tdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbXSwgW1sxMjNdXSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShbXSwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFtdLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbXSwgW1sxMjNd
LCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCB1bmRlZmluZWQpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoWzEyM10sIHRydWUpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyM10s
IGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCAwKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKFsxMjNdLCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzXSwgMTIzKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbMTIzXSwgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCBOYU4pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyM10sICcnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsx
MjNdLCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzXSwgJ3h5eicpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoWzEyM10sIG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KFsxMjNdLCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCBuZXcg
RGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCBbXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbMTIzXSwgWzEyM10pIGlzIHRydWUKK1BBU1MgY29tcGFyZShbMTIzXSwgWydh
YmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzXSwgWzEyMywgJ2FiYyddKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKFsxMjNdLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoWzEyM10sIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyM10sIFtbMTIzXV0pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyM10sIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbMTIzXSwgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyM10s
IFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCB1bmRlZmluZWQp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwgdHJ1ZSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbJ2FiYyddLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCAwKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJ10sIC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KFsnYWJjJ10sIDEyMykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCBJbmZpbml0eSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCAtSW5maW5pdHkpIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoWydhYmMnXSwgTmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJ10sICcn
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJ10sICdhYmMnKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKFsnYWJjJ10sICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJ10sIG5l
dyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJ10sIG5ldyBEYXRlKDFlMykp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwgbmV3IERhdGUoMWU5KSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShbJ2FiYyddLCBbXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYydd
LCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCBbJ2FiYyddKSBpcyB0cnVl
CitQQVNTIGNvbXBhcmUoWydhYmMnXSwgWzEyMywgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFsnYWJjJ10sIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYydd
LCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJ10sIFtbMTIzXV0pIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoWydhYmMnXSwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KFsnYWJjJ10sIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJ10s
IFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIHVuZGVm
aW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIHRydWUpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoWzEyMywgJ2FiYyddLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbMTIzLCAnYWJjJ10sIDApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2FiYyddLCAt
MCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIDEyMykgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KFsxMjMsICdhYmMnXSwgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjMsICdh
YmMnXSwgTmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjMsICdhYmMnXSwgJycpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2FiYyddLCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbMTIzLCAnYWJjJ10sICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjMsICdh
YmMnXSwgbmV3IERhdGUoMCkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2FiYyddLCBu
ZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjMsICdhYmMnXSwgbmV3IERh
dGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIFtdKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKFsxMjMsICdhYmMnXSwgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoWzEyMywgJ2FiYyddLCBbJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjMsICdh
YmMnXSwgWzEyMywgJ2FiYyddKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2FiYyddLCBb
J2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2FiYyddLCBbW11dKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjMsICdhYmMnXSwgW1sxMjNdXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbMTIzLCAnYWJjJ10sIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsx
MjMsICdhYmMnXSwgW1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywg
MTIzXSwgdW5kZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgdHJ1
ZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYycsIDEyM10sIGZhbHNlKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2Fi
YycsIDEyM10sIC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgMTIzKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgSW5maW5pdHkpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoWydhYmMnLCAxMjNdLCAtSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoWydhYmMnLCAxMjNdLCBOYU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnLCAxMjNd
LCAnJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYycsIDEyM10sICdhYmMnKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgJ3h5eicpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoWydhYmMnLCAxMjNdLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2Fi
YycsIDEyM10sIG5ldyBEYXRlKDFlMykpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnLCAx
MjNdLCBuZXcgRGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwg
W10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnLCAxMjNdLCBbMTIzXSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShbJ2FiYycsIDEyM10sIFsnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoWydhYmMnLCAxMjNdLCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydh
YmMnLCAxMjNdLCBbJ2FiYycsIDEyM10pIGlzIHRydWUKK1BBU1MgY29tcGFyZShbJ2FiYycsIDEy
M10sIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnLCAxMjNdLCBbWzEyM11dKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgW1snYWJjJ11dKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoWydhYmMnLCAxMjNdLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoW1tdXSwgdW5kZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbXV0sIHRydWUpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
W1tdXSwgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbW11dLCAtMCkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZShbW11dLCAxMjMpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwgSW5maW5pdHkp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKFtbXV0sIE5hTikgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbW11dLCAnJykgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShbW11dLCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbW11d
LCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbW11dLCBuZXcgRGF0ZSgwKSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShbW11dLCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFtbXV0sIG5ldyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwgW10p
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoW1tdXSwgWydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbW11dLCBbMTIzLCAnYWJj
J10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwgWydhYmMnLCAxMjNdKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFtbXV0sIFtbXV0pIGlzIHRydWUKK1BBU1MgY29tcGFyZShbW11dLCBbWzEy
M11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbXV0sIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbW11dLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShb
W11dLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgdW5kZWZp
bmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXV0sIHRydWUpIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoW1sxMjNdXSwgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwg
MCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM11dLCAtMCkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbWzEyM11dLCAxMjMpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgSW5maW5p
dHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgLUluZmluaXR5KSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFtbMTIzXV0sIE5hTikgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM11d
LCAnJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM11dLCAnYWJjJykgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbWzEyM11dLCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM11d
LCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM11dLCBuZXcgRGF0ZSgx
ZTMpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXV0sIG5ldyBEYXRlKDFlOSkpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sx
MjNdXSwgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgWydhYmMnXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM11dLCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoW1sxMjNdXSwgWydhYmMnLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtb
MTIzXV0sIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgW1sxMjNdXSkgaXMg
dHJ1ZQorUEFTUyBjb21wYXJlKFtbMTIzXV0sIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbWzEyM11dLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEy
M11dLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1snYWJjJ11dLCB1bmRl
ZmluZWQpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1snYWJjJ11dLCB0cnVlKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sn
YWJjJ11dLCAwKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgLTApIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoW1snYWJjJ11dLCAxMjMpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sn
YWJjJ11dLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0sIC1JbmZp
bml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0sIE5hTikgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbWydhYmMnXV0sICcnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbJ2FiYydd
XSwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1snYWJjJ11dLCAneHl6JykgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0sIG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKFtbJ2FiYyddXSwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShb
WydhYmMnXV0sIG5ldyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1snYWJjJ11d
LCBbXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0sIFsxMjNdKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgWydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShb
WydhYmMnXV0sIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0s
IFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0sIFtbXV0pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoW1snYWJjJ11dLCBbWzEyM11dKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKFtbJ2FiYyddXSwgW1snYWJjJ11dKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUoW1snYWJj
J11dLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0sIFtb
MTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwgdW5kZWZp
bmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgJ2FiYyddLCB0cnVlKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgJ2FiYyddLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbWzEyM10sICdhYmMnXSwgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sICdh
YmMnXSwgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sIDEyMykgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwgSW5maW5pdHkpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbWzEyM10sICdhYmMnXSwgTmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwg
J2FiYyddLCAnJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwgJ2FiYycp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sICd4eXonKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFtbMTIzXSwgJ2FiYyddLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZShbWzEyM10sICdhYmMnXSwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbWzEyM10sICdhYmMnXSwgbmV3IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbWzEyM10sICdhYmMnXSwgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJj
J10sIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgJ2FiYyddLCBbJ2FiYydd
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgJ2FiYyddLCBbMTIzLCAnYWJjJ10pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sIFsnYWJjJywgMTIzXSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwgW1tdXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbWzEyM10sICdhYmMnXSwgW1sxMjNdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEy
M10sICdhYmMnXSwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgJ2Fi
YyddLCBbWzEyM10sICdhYmMnXSkgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgJ2FiYydd
LCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCB1bmRl
ZmluZWQpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCB0cnVlKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgMTIzXSwgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoW1sxMjNdLCAxMjNdLCAwKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgMTIzXSwg
LTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCAxMjMpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbWzEyM10sIDEyM10sIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10s
IDEyM10sIE5hTikgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10sICcnKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgMTIzXSwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoW1sxMjNdLCAxMjNdLCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10s
IDEyM10sIG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgMTIzXSwg
bmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10sIG5ldyBE
YXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCBbXSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10sIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFtbMTIzXSwgMTIzXSwgWydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10s
IDEyM10sIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10s
IFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10sIFtbXV0p
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCBbWzEyM11dKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFtbMTIzXSwgMTIzXSwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFtbMTIzXSwgMTIzXSwgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
W1sxMjNdLCAxMjNdLCBbWzEyM10sIDEyM10pIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9yZGVyLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9yZGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGI5MDk5NzZj
ZjgzMzlmMGViNjQ1ZTY4Nzc0YmIxMzVhZmVhYTYzYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1rZXktb3JkZXIuaHRtbApAQCAtMCwwICsx
LDI0MiBAQAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK2Rlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWREQiBrZXlzIG9yZGVyaW5nIGFuZCByZWFkYmFj
ayBmcm9tIGN1cnNvcnMuIik7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAg
IGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKworZnVuY3Rpb24gdGVzdCgp
Cit7CisgICAgZXZhbEFuZExvZygiaW5kZXhlZERCID0gd2luZG93LmluZGV4ZWREQiB8fCB3aW5k
b3cud2Via2l0SW5kZXhlZERCIHx8IHdpbmRvdy5tb3pJbmRleGVkREI7Iik7CisgICAgc2hvdWxk
QmVGYWxzZSgiaW5kZXhlZERCID09IG51bGwiKTsKKyAgICBldmFsQW5kTG9nKCJJREJDdXJzb3Ig
PSB3aW5kb3cuSURCQ3Vyc29yIHx8IHdpbmRvdy53ZWJraXRJREJDdXJzb3I7Iik7CisgICAgc2hv
dWxkQmVGYWxzZSgiSURCQ3Vyc29yID09IG51bGwiKTsKKyAgICBldmFsQW5kTG9nKCJJREJUcmFu
c2FjdGlvbiA9IHdpbmRvdy5JREJUcmFuc2FjdGlvbiB8fCB3aW5kb3cud2Via2l0SURCVHJhbnNh
Y3Rpb24iKTsKKyAgICBzaG91bGRCZUZhbHNlKCJJREJUcmFuc2FjdGlvbiA9PSBudWxsIik7CisK
KyAgICBwcmVwYXJlRGF0YWJhc2UoKTsKK30KKworZnVuY3Rpb24gcHJlcGFyZURhdGFiYXNlKCkK
K3sKKyAgICBkZWJ1ZygiIik7CisgICAgZXZhbEFuZExvZygib3BlbnJlcSA9IGluZGV4ZWREQi5v
cGVuKCdjdXJzb3Ita2V5LW9yZGVyJykiKTsKKyAgICBvcGVucmVxLm9uZXJyb3IgPSB1bmV4cGVj
dGVkRXJyb3JDYWxsYmFjazsKKyAgICBvcGVucmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewor
ICAgICAgICBldmFsQW5kTG9nKCJkYiA9IG9wZW5yZXEucmVzdWx0Iik7CisgICAgICAgIGV2YWxB
bmRMb2coInZlcnJlcSA9IGRiLnNldFZlcnNpb24oJzEnKSIpOworICAgICAgICB2ZXJyZXEub25l
cnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgICAgICB2ZXJyZXEub25zdWNjZXNz
ID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBldmFsQW5kTG9nKCJkYi5jcmVhdGVPYmplY3RT
dG9yZSgnc3RvcmUnKSIpOworICAgICAgICAgICAgdmVycmVxLnJlc3VsdC5vbmNvbXBsZXRlID0g
cG9wdWxhdGVTdG9yZTsKKyAgICAgICAgfTsKKyAgICB9OworfQorCit3aW5kb3cua2V5cyA9IFsK
KyAgICAiLUluZmluaXR5IiwKKyAgICAiLU51bWJlci5NQVhfVkFMVUUiLAorICAgICItMSIsCisg
ICAgIi1OdW1iZXIuTUlOX1ZBTFVFIiwKKyAgICAiMCIsCisgICAgIk51bWJlci5NSU5fVkFMVUUi
LAorICAgICIxIiwKKyAgICAiTnVtYmVyLk1BWF9WQUxVRSIsCisgICAgIkluZmluaXR5IiwKKwor
ICAgICJuZXcgRGF0ZSgwKSIsCisgICAgIm5ldyBEYXRlKDEwMDApIiwKKyAgICAibmV3IERhdGUo
MTMxNzM5OTkzMTAyMykiLAorCisgICAgIicnIiwKKyAgICAiJ1x4MDAnIiwKKyAgICAiJ2EnIiwK
KyAgICAiJ2FhJyIsCisgICAgIidiJyIsCisgICAgIidiYSciLAorCisgICAgIidceEEyJyIsIC8v
IFUrMDBBMiBDRU5UIFNJR04KKyAgICAiJ1x1NkMzNCciLCAvLyBVKzZDMzQgQ0pLIFVOSUZJRUQg
SURFT0dSQVBIICh3YXRlcikKKyAgICAiJ1x1RDgzNFx1REQxRSciLCAvLyBVKzFEMTFFIE1VU0lD
QUwgU1lNQk9MIEctQ0xFRiAoVVRGLTE2IHN1cnJvZ2F0ZSBwYWlyKQorICAgICInXHVGRkZEJyIs
IC8vIFUrRkZGRCBSRVBMQUNFTUVOVCBDSEFSQUNURVIKKworICAgICJbXSIsCisKKyAgICAiWy1J
bmZpbml0eV0iLAorICAgICJbLU51bWJlci5NQVhfVkFMVUVdIiwKKyAgICAiWy0xXSIsCisgICAg
IlstTnVtYmVyLk1JTl9WQUxVRV0iLAorICAgICJbMF0iLAorICAgICJbTnVtYmVyLk1JTl9WQUxV
RV0iLAorICAgICJbMV0iLAorICAgICJbTnVtYmVyLk1BWF9WQUxVRV0iLAorICAgICJbSW5maW5p
dHldIiwKKworICAgICJbbmV3IERhdGUoMCldIiwKKyAgICAiW25ldyBEYXRlKDEwMDApXSIsCisg
ICAgIltuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0iLAorCisgICAgIlsnJ10iLAorICAgICJbJ1x4
MDAnXSIsCisgICAgIlsnYSddIiwKKyAgICAiWydhYSddIiwKKyAgICAiWydiJ10iLAorICAgICJb
J2JhJ10iLAorCisgICAgIlsnXHhBMiddIiwgLy8gVSswMEEyIENFTlQgU0lHTgorICAgICJbJ1x1
NkMzNCddIiwgLy8gVSs2QzM0IENKSyBVTklGSUVEIElERU9HUkFQSCAod2F0ZXIpCisgICAgIlsn
XHVEODM0XHVERDFFJ10iLCAvLyBVKzFEMTFFIE1VU0lDQUwgU1lNQk9MIEctQ0xFRiAoVVRGLTE2
IHN1cnJvZ2F0ZSBwYWlyKQorICAgICJbJ1x1RkZGRCddIiwgLy8gVStGRkZEIFJFUExBQ0VNRU5U
IENIQVJBQ1RFUgorCisgICAgIltbXV0iLAorCisgICAgIltbXSwgW11dIiwKKyAgICAiW1tdLCBb
XSwgW11dIiwKKworICAgICJbW1tdXV0iLAorICAgICJbW1tbXV1dXSIKK107CisKK2Z1bmN0aW9u
IGNvbXBhcmUoYSwgYikKK3sKKyAgICBpZiAodHlwZW9mIGEgIT09IHR5cGVvZiBiKSB7CisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBzd2l0Y2ggKHR5cGVvZiBhKSB7CisgICAg
ICAgIGNhc2UgJ3VuZGVmaW5lZCc6IC8vIE5vdCB2YWxpZCBrZXlzLCBidXQgY29tcGFyZSBhbnl3
YXkuCisgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOiAvLyBOb3QgdmFsaWQga2V5cywgYnV0IGNvbXBh
cmUgYW55d2F5LgorICAgICAgICBjYXNlICdzdHJpbmcnOgorICAgICAgICAgICAgcmV0dXJuIGEg
PT09IGI7CisgICAgICAgIGNhc2UgJ251bWJlcic6CisgICAgICAgICAgICBpZiAoYSA9PT0gYikg
eworICAgICAgICAgICAgICAgIHJldHVybiAoYSAhPT0gMCkgfHwgKDEgLyBhID09PSAxIC8gYik7
IC8vIDAgaXNuJ3QgLTAKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgcmV0
dXJuIGEgIT09IGEgJiYgYiAhPT0gYjsgLy8gTmFOIGlzIE5hTgorICAgICAgICAgICAgfQorICAg
ICAgICBjYXNlICdvYmplY3QnOgorICAgICAgICAgICAgaWYgKGEgaW5zdGFuY2VvZiBEYXRlICYm
IGIgaW5zdGFuY2VvZiBEYXRlKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuICthID09PSArYjsK
KyAgICAgICAgICAgIH0gZWxzZSBpZiAoYSBpbnN0YW5jZW9mIEFycmF5ICYmIGIgaW5zdGFuY2Vv
ZiBBcnJheSkgeworICAgICAgICAgICAgICAgIGlmIChhLmxlbmd0aCAhPT0gYi5sZW5ndGgpIHsK
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGEubGVuZ3RoOyBpKyspIHsKKyAgICAg
ICAgICAgICAgICAgICAgaWYgKCFjb21wYXJlKGFbaV0sIGJbaV0pKSB7CisgICAgICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAvLyBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgdGVzdCwgb3RoZXIgb2JqZWN0
cyBkb24ndCBjb3VudAorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBkZWZhdWx0
OgorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30KKworZnVuY3Rpb24gcG9wdWxh
dGVTdG9yZSgpCit7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJwb3B1bGF0aW5nIHN0b3Jl
Li4uIik7CisgICAgZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbignc3RvcmUnLCBJ
REJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIGV2YWxBbmRMb2coInN0b3JlID0gdHJh
bnMub2JqZWN0U3RvcmUoJ3N0b3JlJyk7Iik7CisgICAgdHJhbnMub25lcnJvciA9IHVuZXhwZWN0
ZWRFcnJvckNhbGxiYWNrOworICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxs
YmFjazsKKyAgICB2YXIgY291bnQgPSAwOworICAgIGtleXMuZm9yRWFjaChmdW5jdGlvbihrZXkp
IHsKKyAgICAgICAgZXZhbEFuZExvZygic3RvcmUucHV0KCIgKyAoY291bnQrKykgKyAiLCAiICsg
a2V5ICsgIikiKTsKKyAgICB9KTsKKyAgICB0cmFucy5vbmNvbXBsZXRlID0gY2hlY2tTdG9yZTsK
K30KKworZnVuY3Rpb24gY2hlY2tTdG9yZSgpCit7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVn
KCJpdGVyYXRpbmcgY3Vyc29yLi4uIik7CisgICAgZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFu
c2FjdGlvbignc3RvcmUnLCBJREJUcmFuc2FjdGlvbi5SRUFEX09OTFkpIik7CisgICAgZXZhbEFu
ZExvZygic3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUnKTsiKTsKKyAgICB0cmFucy5v
bmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgdHJhbnMub25hYm9ydCA9IHVu
ZXhwZWN0ZWRBYm9ydENhbGxiYWNrOworICAgIGV2YWxBbmRMb2coImNvdW50ID0gMCIpOworICAg
IGN1cnJlcSA9IGV2YWxBbmRMb2coImN1cnJlcSA9IHN0b3JlLm9wZW5DdXJzb3IoKSIpOworICAg
IGN1cnJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgY3VycmVxLm9u
c3VjY2VzcyA9IGZ1bmN0aW9uKCkgeworICAgICAgICBpZiAoY3VycmVxLnJlc3VsdCkgeworICAg
ICAgICAgICAgZXZhbEFuZExvZygiY3Vyc29yID0gY3VycmVxLnJlc3VsdCIpOworICAgICAgICAg
ICAgc2hvdWxkQmVUcnVlKCJjb21wYXJlKGN1cnNvci5rZXksICIgKyBrZXlzW2NvdW50XSArICIp
Iik7CisgICAgICAgICAgICBldmFsQW5kTG9nKCJnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtl
eSkiKTsKKyAgICAgICAgICAgIGdldHJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJh
Y2s7CisgICAgICAgICAgICBnZXRyZXEub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICAgICAgc2hvdWxkQmVUcnVlKCJnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIik7CisgICAg
ICAgICAgICAgICAgY3Vyc29yLmNvbnRpbnVlKCk7CisgICAgICAgICAgICB9OworICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJjb3VudCA9PT0ga2V5cy5sZW5ndGgi
KTsKKyAgICAgICAgICAgIGZpbmlzaFVwKCk7CisgICAgICAgIH0KKyAgICB9OworfQorCitmdW5j
dGlvbiBmaW5pc2hVcCgpCit7CisgICAgdGVzdEtleUNvbXBhcmUoKTsKKyAgICBkb25lKCk7Cit9
CisKK2Z1bmN0aW9uIHRlc3RLZXlDb21wYXJlKCkKK3sKKyAgICBkZWJ1ZygiIik7CisgICAgZGVi
dWcoInZhbGlkYXRlIGNvbXBhcmUgZnVuY3Rpb24iKTsKKyAgICB2YXIgY2FzZXMgPSBbCisgICAg
ICAgICJ1bmRlZmluZWQiLAorICAgICAgICAidHJ1ZSIsCisgICAgICAgICJmYWxzZSIsCisgICAg
ICAgICIwIiwKKyAgICAgICAgIi0wIiwKKyAgICAgICAgIjEyMyIsCisgICAgICAgICJJbmZpbml0
eSIsCisgICAgICAgICItSW5maW5pdHkiLAorICAgICAgICAiTmFOIiwKKyAgICAgICAgIicnIiwK
KyAgICAgICAgIidhYmMnIiwKKyAgICAgICAgIid4eXonIiwKKyAgICAgICAgIm5ldyBEYXRlKDAp
IiwKKyAgICAgICAgIm5ldyBEYXRlKDFlMykiLAorICAgICAgICAibmV3IERhdGUoMWU5KSIsCisg
ICAgICAgICJbXSIsCisgICAgICAgICJbMTIzXSIsCisgICAgICAgICJbJ2FiYyddIiwKKyAgICAg
ICAgIlsxMjMsICdhYmMnXSIsCisgICAgICAgICJbJ2FiYycsIDEyM10iLAorICAgICAgICAiW1td
XSIsCisgICAgICAgICJbWzEyM11dIiwKKyAgICAgICAgIltbJ2FiYyddXSIsCisgICAgICAgICJb
WzEyM10sICdhYmMnXSIsCisgICAgICAgICJbWzEyM10sIDEyM10iCisgICAgXTsKKworICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgY2FzZXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgZm9yICh2YXIg
aiA9IDA7IGogPCBjYXNlcy5sZW5ndGg7ICsraikgeworICAgICAgICAgICAgaWYgKGkgPT09IGop
IHsKKyAgICAgICAgICAgICAgICBzaG91bGRCZVRydWUoImNvbXBhcmUoIiArIGNhc2VzW2ldICsg
IiwgIiArIGNhc2VzW2pdICsgIikiKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg
ICAgICAgc2hvdWxkQmVGYWxzZSgiY29tcGFyZSgiICsgY2FzZXNbaV0gKyAiLCAiICsgY2FzZXNb
al0gKyAiKSIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQorCit0ZXN0KCk7
CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAtZXhwZWN0ZWQudHh0CmluZGV4IDI2YmUxODI1
YWZlMzdiYjg5OTc2Y2UxMTlkMmU3NWE4MzVkMTM0YjMuLjE5ZjU1NDQwOTM5N2NhNGU4MTU3ZGI1
YTdhZjEzNzllNzY4NjJlMzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2ZhY3RvcnktY21wLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9mYWN0b3J5LWNtcC1leHBlY3RlZC50eHQKQEAgLTEwLDcgKzEwLDYgQEAgUEFTUyBJ
REJEYXRhYmFzZUV4Y2VwdGlvbiA9PSBudWxsIGlzIGZhbHNlCiBQQVNTIHR5cGVvZiBpbmRleGVk
REIuY21wID09PSAnZnVuY3Rpb24nIGlzIHRydWUKIAogY29tcGFyZSB2YWxpZCBrZXlzCi0oQXJy
YXkga2V5cyBhcmUgbm90IHlldCBpbXBsZW1lbnRlZCBzbyBtYW55IHRlc3RzIHdpbGwgZmFpbCkK
IFBBU1MgaW5kZXhlZERCLmNtcCgtSW5maW5pdHksLU51bWJlci5NQVhfVkFMVUUpID09PSAtMSBp
cyB0cnVlCiBQQVNTIGluZGV4ZWREQi5jbXAoLU51bWJlci5NQVhfVkFMVUUsLUluZmluaXR5KSA9
PT0gMSBpcyB0cnVlCiBQQVNTIGluZGV4ZWREQi5jbXAoLUluZmluaXR5LC1JbmZpbml0eSkgPT09
IDAgaXMgdHJ1ZQpAQCAtOTUsMTE4ICs5NCwxMTggQEAgUEFTUyBpbmRleGVkREIuY21wKCfwnYSe
Jywn77+9JykgPT09IC0xIGlzIHRydWUKIFBBU1MgaW5kZXhlZERCLmNtcCgn77+9Jywn8J2Enicp
ID09PSAxIGlzIHRydWUKIFBBU1MgaW5kZXhlZERCLmNtcCgn8J2EnicsJ/CdhJ4nKSA9PT0gMCBp
cyB0cnVlCiBQQVNTIGluZGV4ZWREQi5jbXAoJ++/vScsJ++/vScpID09PSAwIGlzIHRydWUKLUZB
SUwgaW5kZXhlZERCLmNtcCgn77+9JyxbXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBl
eGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZB
SUwgaW5kZXhlZERCLmNtcChbXSwn77+9JykgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQorUEFT
UyBpbmRleGVkREIuY21wKCfvv70nLFtdKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIu
Y21wKFtdLCfvv70nKSA9PT0gMSBpcyB0cnVlCiBQQVNTIGluZGV4ZWREQi5jbXAoJ++/vScsJ++/
vScpID09PSAwIGlzIHRydWUKLUZBSUwgaW5kZXhlZERCLmNtcChbXSxbXSkgPT09IDAgc2hvdWxk
IGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFz
ZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtdLFstSW5maW5pdHldKSA9PT0gLTEg
c2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJE
YXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstSW5maW5pdHldLFtdKSA9
PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW10sW10pID09PSAw
IHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURC
RGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbLUluZmluaXR5XSxbLUlu
ZmluaXR5XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFU
QV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFst
SW5maW5pdHldLFstMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdKSA9PT0gLTEgc2hvdWxkIGJlIHRy
dWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNl
cHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdLFst
SW5maW5pdHldKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBE
QVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAo
Wy1JbmZpbml0eV0sWy1JbmZpbml0eV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNl
cHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwg
aW5kZXhlZERCLmNtcChbLTEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSxbLTEuNzk3NjkzMTM0ODYy
MzE1N2UrMzA4XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
REFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21w
KFstMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdLFstMV0pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4g
VGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlv
biA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy0xXSxbLTEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSkg
PT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERP
TSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstMS43OTc2OTMx
MzQ4NjIzMTU3ZSszMDhdLFstMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdKSA9PT0gMCBzaG91bGQg
YmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNl
IEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy0xXSxbLTFdKSA9PT0gMCBzaG91bGQg
YmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNl
IEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy0xXSxbLTVlLTMyNF0pID09PSAtMSBz
aG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy01ZS0zMjRdLFstMV0pID09
PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00g
SURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbLTFdLFstMV0pID09
PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00g
SURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbLTVlLTMyNF0sWy01
ZS0zMjRdKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRB
X0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy01
ZS0zMjRdLFswXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6
IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNt
cChbMF0sWy01ZS0zMjRdKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWRE
Qi5jbXAoWy01ZS0zMjRdLFstNWUtMzI0XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJ
TCBpbmRleGVkREIuY21wKFswXSxbMF0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNl
cHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwg
aW5kZXhlZERCLmNtcChbMF0sWzVlLTMyNF0pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1G
QUlMIGluZGV4ZWREQi5jbXAoWzVlLTMyNF0sWzBdKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1
Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzBdLFswXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQot
RkFJTCBpbmRleGVkREIuY21wKFs1ZS0zMjRdLFs1ZS0zMjRdKSA9PT0gMCBzaG91bGQgYmUgdHJ1
ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2Vw
dGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzVlLTMyNF0sWzFdKSA9PT0gLTEgc2hvdWxkIGJl
IHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBF
eGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsxXSxbNWUtMzI0XSkgPT09IDEgc2hvdWxk
IGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFz
ZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFs1ZS0zMjRdLFs1ZS0zMjRdKSA9PT0g
MCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElE
QkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzFdLFsxXSkgPT09IDAg
c2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJE
YXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsxXSxbMS43OTc2OTMxMzQ4
NjIzMTU3ZSszMDhdKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIu
Y21wKFsxLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0sWzFdKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4g
VGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlv
biA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzFdLFsxXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotRkFJTCBpbmRleGVkREIuY21wKFsxLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0sWzEuNzk3Njkz
MTM0ODYyMzE1N2UrMzA4XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVk
REIuY21wKFsxLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0sW0luZmluaXR5XSkgPT09IC0xIHNob3Vs
ZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJh
c2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbSW5maW5pdHldLFsxLjc5NzY5MzEz
NDg2MjMxNTdlKzMwOF0pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJy
b3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERC
LmNtcChbMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdLFsxLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0p
ID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBE
T00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbSW5maW5pdHld
LFtJbmZpbml0eV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6
IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNt
cChbSW5maW5pdHldLFtuZXcgRGF0ZSgwKV0pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1G
QUlMIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDApXSxbSW5maW5pdHldKSA9PT0gMSBzaG91bGQg
YmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNl
IEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW0luZmluaXR5XSxbSW5maW5pdHldKSA9
PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDAp
XSxbbmV3IERhdGUoMCldKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWRE
Qi5jbXAoW25ldyBEYXRlKDApXSxbbmV3IERhdGUoMTAwMCldKSA9PT0gLTEgc2hvdWxkIGJlIHRy
dWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNl
cHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgxMDAwKV0sW25ldyBEYXRlKDAp
XSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6
IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtuZXcgRGF0
ZSgwKV0sW25ldyBEYXRlKDApXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlv
biBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRl
eGVkREIuY21wKFtuZXcgRGF0ZSgxMDAwKV0sW25ldyBEYXRlKDEwMDApXSkgPT09IDAgc2hvdWxk
IGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFz
ZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgxMDAwKV0sW25ldyBE
YXRlKDEzMTczOTk5MzEwMjMpXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRp
b24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5k
ZXhlZERCLmNtcChbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldLFtuZXcgRGF0ZSgxMDAwKV0pID09
PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00g
SURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTAw
MCldLFtuZXcgRGF0ZSgxMDAwKV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRp
b24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5k
ZXhlZERCLmNtcChbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldLFtuZXcgRGF0ZSgxMzE3Mzk5OTMx
MDIzKV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFf
RVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbbmV3
IERhdGUoMTMxNzM5OTkzMTAyMyldLFsnJ10pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1G
QUlMIGluZGV4ZWREQi5jbXAoWycnXSxbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldKSA9PT0gMSBz
aG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEzMTczOTk5
MzEwMjMpXSxbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4g
VGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlv
biA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWycnXSxbJyddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4g
VGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlv
biA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWycnXSxbJ1wwJ10pID09PSAtMSBzaG91bGQgYmUgdHJ1
ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2Vw
dGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydcMCddLFsnJ10pID09PSAxIHNob3VsZCBiZSB0
cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhj
ZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJyddLFsnJ10pID09PSAwIHNob3VsZCBiZSB0
cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhj
ZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ1wwJ10sWydcMCddKSA9PT0gMCBzaG91bGQg
YmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNl
IEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydcMCddLFsnYSddKSA9PT0gLTEgc2hv
dWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYSddLFsnXDAnXSkgPT09IDEg
c2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJE
YXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnXDAnXSxbJ1wwJ10pID09
PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00g
SURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2EnXSxbJ2EnXSkg
PT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERP
TSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYSddLFsnYWEn
XSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJS
OiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2FhJ10s
WydhJ10pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFf
RVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2En
XSxbJ2EnXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFU
QV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsn
YWEnXSxbJ2FhJ10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6
IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNt
cChbJ2FhJ10sWydiJ10pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWRE
Qi5jbXAoWydiJ10sWydhYSddKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4
ZWREQi5jbXAoWydhYSddLFsnYWEnXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBp
bmRleGVkREIuY21wKFsnYiddLFsnYiddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlM
IGluZGV4ZWREQi5jbXAoWydiJ10sWydiYSddKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQot
RkFJTCBpbmRleGVkREIuY21wKFsnYmEnXSxbJ2InXSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotRkFJTCBpbmRleGVkREIuY21wKFsnYiddLFsnYiddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4g
VGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlv
biA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydiYSddLFsnYmEnXSkgPT09IDAgc2hvdWxkIGJlIHRy
dWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNl
cHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYmEnXSxbJ8KiJ10pID09PSAtMSBzaG91bGQg
YmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNl
IEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfCoiddLFsnYmEnXSkgPT09IDEgc2hv
dWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYmEnXSxbJ2JhJ10pID09PSAw
IHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURC
RGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ8KiJ10sWyfCoiddKSA9
PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfCoiddLFsn5rC0
J10pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VS
UjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfmsLQn
XSxbJ8KiJ10pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERB
VEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChb
J8KiJ10sWyfCoiddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5j
bXAoWyfmsLQnXSxbJ+awtCddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4
ZWREQi5jbXAoWyfmsLQnXSxbJ/CdhJ4nXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBl
eGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZB
SUwgaW5kZXhlZERCLmNtcChbJ/CdhJ4nXSxbJ+awtCddKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4g
VGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlv
biA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfmsLQnXSxbJ+awtCddKSA9PT0gMCBzaG91bGQgYmUg
dHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4
Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfwnYSeJ10sWyfwnYSeJ10pID09PSAwIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ/CdhJ4nXSxbJ++/vSddKSA9
PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERP
TSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsn77+9J10sWyfw
nYSeJ10pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFf
RVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ/Cd
hJ4nXSxbJ/CdhJ4nXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIu
Y21wKFsn77+9J10sWyfvv70nXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlv
biBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRl
eGVkREIuY21wKFsn77+9J10sW1tdXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNl
cHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwg
aW5kZXhlZERCLmNtcChbW11dLFsn77+9J10pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBl
eGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZB
SUwgaW5kZXhlZERCLmNtcChbJ++/vSddLFsn77+9J10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBU
aHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9u
IDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW11dLFtbXV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBU
aHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9u
IDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW11dLFtbXSwgW11dKSA9PT0gLTEgc2hvdWxkIGJlIHRy
dWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNl
cHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtbXSwgW11dLFtbXV0pID09PSAxIHNob3VsZCBi
ZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2Ug
RXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW11dLFtbXV0pID09PSAwIHNob3VsZCBi
ZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2Ug
RXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW10sIFtdXSxbW10sIFtdXSkgPT09IDAg
c2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJE
YXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtbXSwgW11dLFtbXSwgW10s
IFtdXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFf
RVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW10s
IFtdLCBbXV0sW1tdLCBbXV0pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24g
RXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhl
ZERCLmNtcChbW10sIFtdXSxbW10sIFtdXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJ
TCBpbmRleGVkREIuY21wKFtbXSwgW10sIFtdXSxbW10sIFtdLCBbXV0pID09PSAwIHNob3VsZCBi
ZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2Ug
RXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW10sIFtdLCBbXV0sW1tbXV1dKSA9PT0g
LTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJ
REJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtbW11dXSxbW10sIFtd
LCBbXV0pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFf
RVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW10s
IFtdLCBbXV0sW1tdLCBbXSwgW11dKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGlu
ZGV4ZWREQi5jbXAoW1tbXV1dLFtbW11dXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJ
TCBpbmRleGVkREIuY21wKFtbW11dXSxbW1tbXV1dXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBU
aHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9u
IDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW1tbXV1dXSxbW1tdXV0pID09PSAxIHNob3VsZCBiZSB0
cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhj
ZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW1tdXV0sW1tbXV1dKSA9PT0gMCBzaG91bGQg
YmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNl
IEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tbW11dXV0sW1tbW11dXV0pID09PSAw
IHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURC
RGF0YWJhc2UgRXhjZXB0aW9uIDUKK1BBU1MgaW5kZXhlZERCLmNtcChbXSxbXSkgPT09IDAgaXMg
dHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtdLFstSW5maW5pdHldKSA9PT0gLTEgaXMgdHJ1ZQor
UEFTUyBpbmRleGVkREIuY21wKFstSW5maW5pdHldLFtdKSA9PT0gMSBpcyB0cnVlCitQQVNTIGlu
ZGV4ZWREQi5jbXAoW10sW10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLUlu
ZmluaXR5XSxbLUluZmluaXR5XSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFst
SW5maW5pdHldLFstTnVtYmVyLk1BWF9WQUxVRV0pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4
ZWREQi5jbXAoWy1OdW1iZXIuTUFYX1ZBTFVFXSxbLUluZmluaXR5XSkgPT09IDEgaXMgdHJ1ZQor
UEFTUyBpbmRleGVkREIuY21wKFstSW5maW5pdHldLFstSW5maW5pdHldKSA9PT0gMCBpcyB0cnVl
CitQQVNTIGluZGV4ZWREQi5jbXAoWy1OdW1iZXIuTUFYX1ZBTFVFXSxbLU51bWJlci5NQVhfVkFM
VUVdKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWy1OdW1iZXIuTUFYX1ZBTFVF
XSxbLTFdKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFstMV0sWy1OdW1iZXIu
TUFYX1ZBTFVFXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFstTnVtYmVyLk1B
WF9WQUxVRV0sWy1OdW1iZXIuTUFYX1ZBTFVFXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVk
REIuY21wKFstMV0sWy0xXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFstMV0s
Wy1OdW1iZXIuTUlOX1ZBTFVFXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChb
LU51bWJlci5NSU5fVkFMVUVdLFstMV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNt
cChbLTFdLFstMV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLU51bWJlci5N
SU5fVkFMVUVdLFstTnVtYmVyLk1JTl9WQUxVRV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhl
ZERCLmNtcChbLU51bWJlci5NSU5fVkFMVUVdLFswXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5k
ZXhlZERCLmNtcChbMF0sWy1OdW1iZXIuTUlOX1ZBTFVFXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBp
bmRleGVkREIuY21wKFstTnVtYmVyLk1JTl9WQUxVRV0sWy1OdW1iZXIuTUlOX1ZBTFVFXSkgPT09
IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFswXSxbMF0pID09PSAwIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbMF0sW051bWJlci5NSU5fVkFMVUVdKSA9PT0gLTEgaXMgdHJ1ZQor
UEFTUyBpbmRleGVkREIuY21wKFtOdW1iZXIuTUlOX1ZBTFVFXSxbMF0pID09PSAxIGlzIHRydWUK
K1BBU1MgaW5kZXhlZERCLmNtcChbMF0sWzBdKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWRE
Qi5jbXAoW051bWJlci5NSU5fVkFMVUVdLFtOdW1iZXIuTUlOX1ZBTFVFXSkgPT09IDAgaXMgdHJ1
ZQorUEFTUyBpbmRleGVkREIuY21wKFtOdW1iZXIuTUlOX1ZBTFVFXSxbMV0pID09PSAtMSBpcyB0
cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWzFdLFtOdW1iZXIuTUlOX1ZBTFVFXSkgPT09IDEgaXMg
dHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtOdW1iZXIuTUlOX1ZBTFVFXSxbTnVtYmVyLk1JTl9W
QUxVRV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbMV0sWzFdKSA9PT0gMCBp
cyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWzFdLFtOdW1iZXIuTUFYX1ZBTFVFXSkgPT09IC0x
IGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbTnVtYmVyLk1BWF9WQUxVRV0sWzFdKSA9PT0g
MSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWzFdLFsxXSkgPT09IDAgaXMgdHJ1ZQorUEFT
UyBpbmRleGVkREIuY21wKFtOdW1iZXIuTUFYX1ZBTFVFXSxbTnVtYmVyLk1BWF9WQUxVRV0pID09
PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbTnVtYmVyLk1BWF9WQUxVRV0sW0luZmlu
aXR5XSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbSW5maW5pdHldLFtOdW1i
ZXIuTUFYX1ZBTFVFXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtOdW1iZXIu
TUFYX1ZBTFVFXSxbTnVtYmVyLk1BWF9WQUxVRV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhl
ZERCLmNtcChbSW5maW5pdHldLFtJbmZpbml0eV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhl
ZERCLmNtcChbSW5maW5pdHldLFtuZXcgRGF0ZSgwKV0pID09PSAtMSBpcyB0cnVlCitQQVNTIGlu
ZGV4ZWREQi5jbXAoW25ldyBEYXRlKDApXSxbSW5maW5pdHldKSA9PT0gMSBpcyB0cnVlCitQQVNT
IGluZGV4ZWREQi5jbXAoW0luZmluaXR5XSxbSW5maW5pdHldKSA9PT0gMCBpcyB0cnVlCitQQVNT
IGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDApXSxbbmV3IERhdGUoMCldKSA9PT0gMCBpcyB0cnVl
CitQQVNTIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDApXSxbbmV3IERhdGUoMTAwMCldKSA9PT0g
LTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgxMDAwKV0sW25ldyBEYXRl
KDApXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgwKV0sW25l
dyBEYXRlKDApXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgx
MDAwKV0sW25ldyBEYXRlKDEwMDApXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21w
KFtuZXcgRGF0ZSgxMDAwKV0sW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSkgPT09IC0xIGlzIHRy
dWUKK1BBU1MgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldLFtuZXcgRGF0
ZSgxMDAwKV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTAw
MCldLFtuZXcgRGF0ZSgxMDAwKV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChb
bmV3IERhdGUoMTMxNzM5OTkzMTAyMyldLFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0pID09PSAw
IGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldLFsn
J10pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWycnXSxbbmV3IERhdGUoMTMx
NzM5OTkzMTAyMyldKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW25ldyBEYXRl
KDEzMTczOTk5MzEwMjMpXSxbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldKSA9PT0gMCBpcyB0cnVl
CitQQVNTIGluZGV4ZWREQi5jbXAoWycnXSxbJyddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4
ZWREQi5jbXAoWycnXSxbJ1wwJ10pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAo
WydcMCddLFsnJ10pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJyddLFsnJ10p
ID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ1wwJ10sWydcMCddKSA9PT0gMCBp
cyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydcMCddLFsnYSddKSA9PT0gLTEgaXMgdHJ1ZQor
UEFTUyBpbmRleGVkREIuY21wKFsnYSddLFsnXDAnXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRl
eGVkREIuY21wKFsnXDAnXSxbJ1wwJ10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNt
cChbJ2EnXSxbJ2EnXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYSddLFsn
YWEnXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ2FhJ10sWydhJ10pID09
PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ2EnXSxbJ2EnXSkgPT09IDAgaXMgdHJ1
ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYWEnXSxbJ2FhJ10pID09PSAwIGlzIHRydWUKK1BBU1Mg
aW5kZXhlZERCLmNtcChbJ2FhJ10sWydiJ10pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWRE
Qi5jbXAoWydiJ10sWydhYSddKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydh
YSddLFsnYWEnXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYiddLFsnYidd
KSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydiJ10sWydiYSddKSA9PT0gLTEg
aXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYmEnXSxbJ2InXSkgPT09IDEgaXMgdHJ1ZQor
UEFTUyBpbmRleGVkREIuY21wKFsnYiddLFsnYiddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4
ZWREQi5jbXAoWydiYSddLFsnYmEnXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21w
KFsnYmEnXSxbJ8KiJ10pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfCoidd
LFsnYmEnXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYmEnXSxbJ2JhJ10p
ID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ8KiJ10sWyfCoiddKSA9PT0gMCBp
cyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfCoiddLFsn5rC0J10pID09PSAtMSBpcyB0cnVl
CitQQVNTIGluZGV4ZWREQi5jbXAoWyfmsLQnXSxbJ8KiJ10pID09PSAxIGlzIHRydWUKK1BBU1Mg
aW5kZXhlZERCLmNtcChbJ8KiJ10sWyfCoiddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWRE
Qi5jbXAoWyfmsLQnXSxbJ+awtCddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAo
WyfmsLQnXSxbJ/CdhJ4nXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ/Cd
hJ4nXSxbJ+awtCddKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfmsLQnXSxb
J+awtCddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfwnYSeJ10sWyfwnYSe
J10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ/CdhJ4nXSxbJ++/vSddKSA9
PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsn77+9J10sWyfwnYSeJ10pID09PSAx
IGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ/CdhJ4nXSxbJ/CdhJ4nXSkgPT09IDAgaXMg
dHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsn77+9J10sWyfvv70nXSkgPT09IDAgaXMgdHJ1ZQor
UEFTUyBpbmRleGVkREIuY21wKFsn77+9J10sW1tdXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5k
ZXhlZERCLmNtcChbW11dLFsn77+9J10pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNt
cChbJ++/vSddLFsn77+9J10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW11d
LFtbXV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW11dLFtbXSwgW11dKSA9
PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtbXSwgW11dLFtbXV0pID09PSAxIGlz
IHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW11dLFtbXV0pID09PSAwIGlzIHRydWUKK1BBU1Mg
aW5kZXhlZERCLmNtcChbW10sIFtdXSxbW10sIFtdXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRl
eGVkREIuY21wKFtbXSwgW11dLFtbXSwgW10sIFtdXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5k
ZXhlZERCLmNtcChbW10sIFtdLCBbXV0sW1tdLCBbXV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5k
ZXhlZERCLmNtcChbW10sIFtdXSxbW10sIFtdXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVk
REIuY21wKFtbXSwgW10sIFtdXSxbW10sIFtdLCBbXV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5k
ZXhlZERCLmNtcChbW10sIFtdLCBbXV0sW1tbXV1dKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRl
eGVkREIuY21wKFtbW11dXSxbW10sIFtdLCBbXV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhl
ZERCLmNtcChbW10sIFtdLCBbXV0sW1tdLCBbXSwgW11dKSA9PT0gMCBpcyB0cnVlCitQQVNTIGlu
ZGV4ZWREQi5jbXAoW1tbXV1dLFtbW11dXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIu
Y21wKFtbW11dXSxbW1tbXV1dXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChb
W1tbXV1dXSxbW1tdXV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW1tdXV0s
W1tbXV1dKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tbW11dXV0sW1tbW11d
XV0pID09PSAwIGlzIHRydWUKIAogY29tcGFyZSBpbnZhbGlkIGtleXMKIEV4cGVjdGluZyBleGNl
cHRpb24gZnJvbSBpbmRleGVkREIuY21wKHZvaWQgMCwgdHJ1ZSkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLmh0bWwgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWNtcC5odG1sCmluZGV4IDI5ZjZjNTZlNWJlMzI1M2Q1
NGEyYmI2MzU0OWMwMDNmMWU3ODQxMTcuLjNkMmI0ZDIxYzc2MmViYzA3MDJiYWJjZDJjNzE2Zjhh
YzEzYjQ3MGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3Rv
cnktY21wLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1j
bXAuaHRtbApAQCAtMzIsOCArMzIsNiBAQCBmdW5jdGlvbiB0ZXN0VmFsaWRLZXlzKCkKICAgICBk
ZWJ1ZygiIik7CiAgICAgZGVidWcoImNvbXBhcmUgdmFsaWQga2V5cyIpOwogCi0gICAgZGVidWco
IihBcnJheSBrZXlzIGFyZSBub3QgeWV0IGltcGxlbWVudGVkIHNvIG1hbnkgdGVzdHMgd2lsbCBm
YWlsKSIpOwotCiAgICAgdmFyIGtleXMgPSBbCiAgICAgICAgICItSW5maW5pdHkiLAogICAgICAg
ICAiLU51bWJlci5NQVhfVkFMVUUiLApAQCAtNjEsMTcgKzU5LDE2IEBAIGZ1bmN0aW9uIHRlc3RW
YWxpZEtleXMoKQogICAgICAgICAiJ1x1RDgzNFx1REQxRSciLCAvLyBVKzFEMTFFIE1VU0lDQUwg
U1lNQk9MIEctQ0xFRiAoVVRGLTE2IHN1cnJvZ2F0ZSBwYWlyKQogICAgICAgICAiJ1x1RkZGRCci
LCAvLyBVK0ZGRkQgUkVQTEFDRU1FTlQgQ0hBUkFDVEVSCiAKLSAgICAgICAgLy8gRklYTUU6IEFy
cmF5IGtleXMgYXJlIE5ZSSwgYnV0IHRoZXNlIHNob3VsZCBwYXNzIG9uY2UgaW1wbGVtZW50ZWQK
ICAgICAgICAgIltdIiwKIAogICAgICAgICAiWy1JbmZpbml0eV0iLAotICAgICAgICAiWy0xLjc5
NzY5MzEzNDg2MjMxNTdlKzMwOF0iLAorICAgICAgICAiWy1OdW1iZXIuTUFYX1ZBTFVFXSIsCiAg
ICAgICAgICJbLTFdIiwKLSAgICAgICAgIlstNWUtMzI0XSIsCisgICAgICAgICJbLU51bWJlci5N
SU5fVkFMVUVdIiwKICAgICAgICAgIlswXSIsCi0gICAgICAgICJbNWUtMzI0XSIsCisgICAgICAg
ICJbTnVtYmVyLk1JTl9WQUxVRV0iLAogICAgICAgICAiWzFdIiwKLSAgICAgICAgIlsxLjc5NzY5
MzEzNDg2MjMxNTdlKzMwOF0iLAorICAgICAgICAiW051bWJlci5NQVhfVkFMVUVdIiwKICAgICAg
ICAgIltJbmZpbml0eV0iLAogIAogICAgICAgICAiW25ldyBEYXRlKDApXSIsCkBAIC05Niw3ICs5
Myw3IEBAIGZ1bmN0aW9uIHRlc3RWYWxpZEtleXMoKQogICAgICAgICAiW1tdLCBbXSwgW11dIiwK
IAogICAgICAgICAiW1tbXV1dIiwKLSAgICAgICAgIltbW1tdXV1dIiwKKyAgICAgICAgIltbW1td
XV1dIgogICAgIF07CiAKICAgICB2YXIgaSwga2V5MSwga2V5MjsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3MtZXhwZWN0ZWQudHh0CmluZGV4
IGM1ODljODEyOTdmMWE5MzNmNTY2YzM5ZGY0MGI3ODNmZWM1ZTk3MTYuLmZkYThkYmYzZmI2MGU1
NzgwNGI3MjkyMDA1MmQ2MWVhZmZhNGIyOWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLWV4cGVjdGVkLnR4dApAQCAtODEsOSArODEs
OSBAQCBQQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQudmFsdWUueCBpcyAidmFsdWUzIgogUEFTUyBl
dmVudC50YXJnZXQucmVzdWx0LnZhbHVlLnkgaXMgIjQ1NiIKIGV2ZW50LnRhcmdldC5yZXN1bHQu
Y29udGludWUoKQogUEFTUyBldmVudC50YXJnZXQucmVzdWx0ID09PSBudWxsIGlzIHRydWUKLVBh
c3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBpbmRleE9iamVjdC5nZXQoKS4KK1Bhc3NpbmcgYW4g
aW52YWxpZCBrZXkgaW50byBpbmRleE9iamVjdC5nZXQoe30pLgogUEFTUyBDYXVnaHQgZXhjZXB0
aW9uOiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotUGFzc2lu
ZyBhbiBpbnZhbGlkIGtleSBpbnRvIGluZGV4T2JqZWN0LmdldEtleSgpLgorUGFzc2luZyBhbiBp
bnZhbGlkIGtleSBpbnRvIGluZGV4T2JqZWN0LmdldEtleSh7fSkuCiBQQVNTIENhdWdodCBleGNl
cHRpb246IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1CiBQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvaW5kZXgtYmFzaWNzLmh0bWwKaW5kZXggMWQwNWFhZDk4YzZiMzIzZjk1YmJkOGMx
NTJjMWY2YzFkNmVmNDA2Zi4uOGJhMzdmMzRhNWU4YTliNDk1MzRjMmZmOThlMTI0MTA0ZWQ3ZDAz
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNz
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLmh0
bWwKQEAgLTI0MCwxNiArMjQwLDE2IEBAIGZ1bmN0aW9uIGxhc3QoKQogICAgIHNob3VsZEJlVHJ1
ZSgiZXZlbnQudGFyZ2V0LnJlc3VsdCA9PT0gbnVsbCIpOwogCiAgICAgdHJ5IHsKLSAgICAgICAg
ZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBpbmRleE9iamVjdC5nZXQoKS4iKTsK
LSAgICAgICAgaW5kZXhPYmplY3QuZ2V0KFtdKTsKKyAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4g
aW52YWxpZCBrZXkgaW50byBpbmRleE9iamVjdC5nZXQoe30pLiIpOworICAgICAgICBpbmRleE9i
amVjdC5nZXQoe30pOwogICAgICAgICB0ZXN0RmFpbGVkKCJObyBleGNlcHRpb24gdGhyb3duIik7
CiAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICB0ZXN0UGFzc2VkKCJDYXVnaHQgZXhjZXB0aW9u
OiAiICsgZS50b1N0cmluZygpKTsKICAgICB9CiAKICAgICB0cnkgewotICAgICAgICBkZWJ1Zygi
UGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGluZGV4T2JqZWN0LmdldEtleSgpLiIpOwotICAg
ICAgICBpbmRleE9iamVjdC5nZXRLZXkoW10pOworICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBp
bnZhbGlkIGtleSBpbnRvIGluZGV4T2JqZWN0LmdldEtleSh7fSkuIik7CisgICAgICAgIGluZGV4
T2JqZWN0LmdldEtleSh7fSk7CiAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV4Y2VwdGlvbiB0aHJv
d24iKTsKICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgIHRlc3RQYXNzZWQoIkNhdWdodCBleGNl
cHRpb246ICIgKyBlLnRvU3RyaW5nKCkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQy
OWVlZGZiYzQ3MmM1NGE5NjE5NDQ5MmIxZTZhZWViZWFiNzIyNjAKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlwZS1hcnJheS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwyNzEgQEAKK1Rlc3QgSW5kZXhlZERCIGtleSB0eXBlcworCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworaW5kZXhlZERCID0gd2luZG93LmluZGV4ZWREQiB8fCB3
aW5kb3cud2Via2l0SW5kZXhlZERCIHx8IHdpbmRvdy5tb3pJbmRleGVkREI7CitQQVNTIGluZGV4
ZWREQiA9PSBudWxsIGlzIGZhbHNlCitJREJUcmFuc2FjdGlvbiA9IHdpbmRvdy5JREJUcmFuc2Fj
dGlvbiB8fCB3aW5kb3cud2Via2l0SURCVHJhbnNhY3Rpb247CitQQVNTIElEQlRyYW5zYWN0aW9u
ID09IG51bGwgaXMgZmFsc2UKK0lEQkRhdGFiYXNlRXhjZXB0aW9uID0gd2luZG93LklEQkRhdGFi
YXNlRXhjZXB0aW9uIHx8IHdpbmRvdy53ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbjsKK1BBU1Mg
SURCRGF0YWJhc2VFeGNlcHRpb24gPT0gbnVsbCBpcyBmYWxzZQoraW5kZXhlZERCLm9wZW4obmFt
ZSwgZGVzY3JpcHRpb24pCitkYiA9IG9wZW5yZXEucmVzdWx0CityZXF1ZXN0ID0gZGIuc2V0VmVy
c2lvbignMScpCitwcmVwYXJpbmcgZGF0YWJhc2UKK0RlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMu
CitkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKTsKKwordHJhbnMgPSBkYi50cmFuc2FjdGlv
bignc3RvcmUnLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQorc3RvcmUgPSB0cmFucy5vYmpl
Y3RTdG9yZSgnc3RvcmUnKQorCitsb25nX2FycmF5ID0gW107IGZvciAoaSA9IDA7IGkgPCAxMDAw
OyArK2kpIHsgbG9uZ19hcnJheS5wdXNoKCdhYmMnLCAxMjMsIG5ldyBEYXRlKDApLCBbXSk7IH0K
KworYXJyYXkgdGhhdCBjb250YWlucyBub24tbnVtZXJpYyBzZWxmLXJlZmVyZW5jZQorc2VsZl9y
ZWZlcnJlbnRpYWxfYXJyYXkgPSBbXTsgc2VsZl9yZWZlcnJlbnRpYWxfYXJyYXkuc2VsZiA9IHNl
bGZfcmVmZXJyZW50aWFsX2FycmF5OworCit0ZXN0aW5nIGFycmF5IGtleTogW10KK3N0b3JlLnB1
dCgndmFsdWUxJywgW10pOworc3RvcmUuZ2V0KFtdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAi
dmFsdWUxIgorCit0ZXN0aW5nIGFycmF5IGtleTogWy1JbmZpbml0eV0KK3N0b3JlLnB1dCgndmFs
dWUyJywgWy1JbmZpbml0eV0pOworc3RvcmUuZ2V0KFstSW5maW5pdHldKTsKK1BBU1MgZ2V0cmVx
LnJlc3VsdCBpcyAidmFsdWUyIgorCit0ZXN0aW5nIGFycmF5IGtleTogWy1OdW1iZXIuTUFYX1ZB
TFVFXQorc3RvcmUucHV0KCd2YWx1ZTMnLCBbLU51bWJlci5NQVhfVkFMVUVdKTsKK3N0b3JlLmdl
dChbLU51bWJlci5NQVhfVkFMVUVdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUzIgor
Cit0ZXN0aW5nIGFycmF5IGtleTogWy0xXQorc3RvcmUucHV0KCd2YWx1ZTQnLCBbLTFdKTsKK3N0
b3JlLmdldChbLTFdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWU0IgorCit0ZXN0aW5n
IGFycmF5IGtleTogWy1OdW1iZXIuTUlOX1ZBTFVFXQorc3RvcmUucHV0KCd2YWx1ZTUnLCBbLU51
bWJlci5NSU5fVkFMVUVdKTsKK3N0b3JlLmdldChbLU51bWJlci5NSU5fVkFMVUVdKTsKK1BBU1Mg
Z2V0cmVxLnJlc3VsdCBpcyAidmFsdWU1IgorCit0ZXN0aW5nIGFycmF5IGtleTogWzBdCitzdG9y
ZS5wdXQoJ3ZhbHVlNicsIFswXSk7CitzdG9yZS5nZXQoWzBdKTsKK1BBU1MgZ2V0cmVxLnJlc3Vs
dCBpcyAidmFsdWU2IgorCit0ZXN0aW5nIGFycmF5IGtleTogW051bWJlci5NSU5fVkFMVUVdCitz
dG9yZS5wdXQoJ3ZhbHVlNycsIFtOdW1iZXIuTUlOX1ZBTFVFXSk7CitzdG9yZS5nZXQoW051bWJl
ci5NSU5fVkFMVUVdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWU3IgorCit0ZXN0aW5n
IGFycmF5IGtleTogWzFdCitzdG9yZS5wdXQoJ3ZhbHVlOCcsIFsxXSk7CitzdG9yZS5nZXQoWzFd
KTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWU4IgorCit0ZXN0aW5nIGFycmF5IGtleTog
W051bWJlci5NQVhfVkFMVUVdCitzdG9yZS5wdXQoJ3ZhbHVlOScsIFtOdW1iZXIuTUFYX1ZBTFVF
XSk7CitzdG9yZS5nZXQoW051bWJlci5NQVhfVkFMVUVdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBp
cyAidmFsdWU5IgorCit0ZXN0aW5nIGFycmF5IGtleTogW0luZmluaXR5XQorc3RvcmUucHV0KCd2
YWx1ZTEwJywgW0luZmluaXR5XSk7CitzdG9yZS5nZXQoW0luZmluaXR5XSk7CitQQVNTIGdldHJl
cS5yZXN1bHQgaXMgInZhbHVlMTAiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbMSwyLDNdCitzdG9y
ZS5wdXQoJ3ZhbHVlMTEnLCBbMSwyLDNdKTsKK3N0b3JlLmdldChbMSwyLDNdKTsKK1BBU1MgZ2V0
cmVxLnJlc3VsdCBpcyAidmFsdWUxMSIKKwordGVzdGluZyBhcnJheSBrZXk6IFtuZXcgRGF0ZSgw
KV0KK3N0b3JlLnB1dCgndmFsdWUxMicsIFtuZXcgRGF0ZSgwKV0pOworc3RvcmUuZ2V0KFtuZXcg
RGF0ZSgwKV0pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTEyIgorCit0ZXN0aW5nIGFy
cmF5IGtleTogW25ldyBEYXRlKCcyNTI1LTAxLTAxVDAwOjAwOjAwWicpXQorc3RvcmUucHV0KCd2
YWx1ZTEzJywgW25ldyBEYXRlKCcyNTI1LTAxLTAxVDAwOjAwOjAwWicpXSk7CitzdG9yZS5nZXQo
W25ldyBEYXRlKCcyNTI1LTAxLTAxVDAwOjAwOjAwWicpXSk7CitQQVNTIGdldHJlcS5yZXN1bHQg
aXMgInZhbHVlMTMiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbbmV3IERhdGUoMCksIG5ldyBEYXRl
KCcyNTI1LTAxLTAxVDAwOjAwOjAwWicpXQorc3RvcmUucHV0KCd2YWx1ZTE0JywgW25ldyBEYXRl
KDApLCBuZXcgRGF0ZSgnMjUyNS0wMS0wMVQwMDowMDowMFonKV0pOworc3RvcmUuZ2V0KFtuZXcg
RGF0ZSgwKSwgbmV3IERhdGUoJzI1MjUtMDEtMDFUMDA6MDA6MDBaJyldKTsKK1BBU1MgZ2V0cmVx
LnJlc3VsdCBpcyAidmFsdWUxNCIKKwordGVzdGluZyBhcnJheSBrZXk6IFsnJ10KK3N0b3JlLnB1
dCgndmFsdWUxNScsIFsnJ10pOworc3RvcmUuZ2V0KFsnJ10pOworUEFTUyBnZXRyZXEucmVzdWx0
IGlzICJ2YWx1ZTE1IgorCit0ZXN0aW5nIGFycmF5IGtleTogWycnXQorc3RvcmUucHV0KCd2YWx1
ZTE2JywgWycnXSk7CitzdG9yZS5nZXQoWycnXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZh
bHVlMTYiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbJ2FiYzEyMyddCitzdG9yZS5wdXQoJ3ZhbHVl
MTcnLCBbJ2FiYzEyMyddKTsKK3N0b3JlLmdldChbJ2FiYzEyMyddKTsKK1BBU1MgZ2V0cmVxLnJl
c3VsdCBpcyAidmFsdWUxNyIKKwordGVzdGluZyBhcnJheSBrZXk6IFsnYWJjJywgMTIzXQorc3Rv
cmUucHV0KCd2YWx1ZTE4JywgWydhYmMnLCAxMjNdKTsKK3N0b3JlLmdldChbJ2FiYycsIDEyM10p
OworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTE4IgorCit0ZXN0aW5nIGFycmF5IGtleTog
W1tdXQorc3RvcmUucHV0KCd2YWx1ZTE5JywgW1tdXSk7CitzdG9yZS5nZXQoW1tdXSk7CitQQVNT
IGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMTkiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbW10sIFtd
XQorc3RvcmUucHV0KCd2YWx1ZTIwJywgW1tdLCBbXV0pOworc3RvcmUuZ2V0KFtbXSwgW11dKTsK
K1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUyMCIKKwordGVzdGluZyBhcnJheSBrZXk6IFtb
XSwgW10sIFtdXQorc3RvcmUucHV0KCd2YWx1ZTIxJywgW1tdLCBbXSwgW11dKTsKK3N0b3JlLmdl
dChbW10sIFtdLCBbXV0pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTIxIgorCit0ZXN0
aW5nIGFycmF5IGtleTogW1tbXV1dCitzdG9yZS5wdXQoJ3ZhbHVlMjInLCBbW1tdXV0pOworc3Rv
cmUuZ2V0KFtbW11dXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMjIiCisKK3Rlc3Rp
bmcgYXJyYXkga2V5OiBbW1tbXV1dXQorc3RvcmUucHV0KCd2YWx1ZTIzJywgW1tbW11dXV0pOwor
c3RvcmUuZ2V0KFtbW1tdXV1dKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUyMyIKKwor
dGVzdGluZyBhcnJheSBrZXk6IFsxMjMsICdhYmMnLCBuZXcgRGF0ZSgwKSwgW11dCitzdG9yZS5w
dXQoJ3ZhbHVlMjQnLCBbMTIzLCAnYWJjJywgbmV3IERhdGUoMCksIFtdXSk7CitzdG9yZS5nZXQo
WzEyMywgJ2FiYycsIG5ldyBEYXRlKDApLCBbXV0pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2
YWx1ZTI0IgorCit0ZXN0aW5nIGFycmF5IGtleTogW1sxMjMsICdhYmMnLCBuZXcgRGF0ZSgwKSwg
W11dLCBbNDU2LCAnZGVmJywgbmV3IERhdGUoOTk5KSwgW1tdXV1dCitzdG9yZS5wdXQoJ3ZhbHVl
MjUnLCBbWzEyMywgJ2FiYycsIG5ldyBEYXRlKDApLCBbXV0sIFs0NTYsICdkZWYnLCBuZXcgRGF0
ZSg5OTkpLCBbW11dXV0pOworc3RvcmUuZ2V0KFtbMTIzLCAnYWJjJywgbmV3IERhdGUoMCksIFtd
XSwgWzQ1NiwgJ2RlZicsIG5ldyBEYXRlKDk5OSksIFtbXV1dXSk7CitQQVNTIGdldHJlcS5yZXN1
bHQgaXMgInZhbHVlMjUiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBsb25nX2FycmF5CitzdG9yZS5w
dXQoJ3ZhbHVlMjYnLCBsb25nX2FycmF5KTsKK3N0b3JlLmdldChsb25nX2FycmF5KTsKK1BBU1Mg
Z2V0cmVxLnJlc3VsdCBpcyAidmFsdWUyNiIKKwordGVzdGluZyBhcnJheSBrZXk6IHNlbGZfcmVm
ZXJyZW50aWFsX2FycmF5CitzdG9yZS5wdXQoJ3ZhbHVlMjcnLCBzZWxmX3JlZmVycmVudGlhbF9h
cnJheSk7CitzdG9yZS5nZXQoc2VsZl9yZWZlcnJlbnRpYWxfYXJyYXkpOworUEFTUyBnZXRyZXEu
cmVzdWx0IGlzICJ2YWx1ZTI3IgorCit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScsIElE
QlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCitzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9y
ZScpCisKK2FycmF5IHRoYXQgY29udGFpbnMgaXRzZWxmOiBhcnJheSA9IFsgYXJyYXkgXQorY3lj
bGljX2FycmF5ID0gW107IGN5Y2xpY19hcnJheS5wdXNoKGN5Y2xpY19hcnJheSkKK1BBU1MgSlNP
Ti5zdHJpbmdpZnkoY3ljbGljX2FycmF5KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBDb252
ZXJ0aW5nIGNpcmN1bGFyIHN0cnVjdHVyZSB0byBKU09OLgorYXJyYXkgdGhhdCBjb250YWlucyBp
dHNlbGYsIG9uZSBsZXZlbCBkb3duOiBhcnJheSA9IFsgWyBhcnJheSBdIF0KK2N5Y2xpY19hcnJh
eTIgPSBbXTsgY3ljbGljX2FycmF5Mi5wdXNoKFtjeWNsaWNfYXJyYXkyXSkKK1BBU1MgSlNPTi5z
dHJpbmdpZnkoY3ljbGljX2FycmF5MikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQ29udmVy
dGluZyBjaXJjdWxhciBzdHJ1Y3R1cmUgdG8gSlNPTi4KK2FycmF5IHRoYXQgY29udGFpbnMgaXRz
ZWxmLCBub3QgYXMgZmlyc3QgZWxlbWVudDogYXJyYXkgPSBbMSwgJ2InLCBbXSwgYXJyYXldCitj
eWNsaWNfYXJyYXkzID0gWzEsICdiJywgW11dOyBjeWNsaWNfYXJyYXkzLnB1c2goY3ljbGljX2Fy
cmF5MykKK1BBU1MgSlNPTi5zdHJpbmdpZnkoY3ljbGljX2FycmF5MykgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogQ29udmVydGluZyBjaXJjdWxhciBzdHJ1Y3R1cmUgdG8gSlNPTi4KKworYXJy
YXkgdGhhdCBjb250YWlucyBhcnJheSB0aGF0IGNvbnRhaW5zIGl0c2VsZgorY3ljbGljX2FycmF5
NCA9IFtjeWNsaWNfYXJyYXldOworUEFTUyBKU09OLnN0cmluZ2lmeShjeWNsaWNfYXJyYXk0KSB0
aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBDb252ZXJ0aW5nIGNpcmN1bGFyIHN0cnVjdHVyZSB0
byBKU09OLgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHZvaWQgMCBdCitFeHBlY3Rp
bmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgdm9pZCAwIF0pOworUEFTUyBF
eGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5E
QVRBX0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHRydWUgXQorRXhwZWN0aW5n
IGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIHRydWUgXSk7CitQQVNTIEV4Y2Vw
dGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFf
RVJSCisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsgZmFsc2UgXQorRXhwZWN0aW5nIGV4
Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIGZhbHNlIF0pOworUEFTUyBFeGNlcHRp
b24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VS
UgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIE5hTiBdCitFeHBlY3RpbmcgZXhjZXB0
aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgTmFOIF0pOworUEFTUyBFeGNlcHRpb24gd2Fz
IHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0
ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIG51bGwgXQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBm
cm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIG51bGwgXSk7CitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhy
b3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCisKK3Rlc3Rp
bmcgaW52YWxpZCBhcnJheSBrZXk6IFsge30gXQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0
b3JlLnB1dCgndmFsdWUnLCBbIHt9IF0pOworUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BB
U1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0ZXN0aW5nIGludmFs
aWQgYXJyYXkga2V5OiBbIGZ1bmN0aW9uICgpIHt9IF0KK0V4cGVjdGluZyBleGNlcHRpb24gZnJv
bSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyBmdW5jdGlvbiAoKSB7fSBdKTsKK1BBU1MgRXhjZXB0aW9u
IHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIK
KwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyAvcmVnZXgvIF0KK0V4cGVjdGluZyBleGNl
cHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyAvcmVnZXgvIF0pOworUEFTUyBFeGNlcHRp
b24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VS
UgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHdpbmRvdyBdCitFeHBlY3RpbmcgZXhj
ZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgd2luZG93IF0pOworUEFTUyBFeGNlcHRp
b24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VS
UgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHdpbmRvdy5kb2N1bWVudCBdCitFeHBl
Y3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgd2luZG93LmRvY3VtZW50
IF0pOworUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFz
ZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHdpbmRv
dy5kb2N1bWVudC5ib2R5IF0KK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3Zh
bHVlJywgWyB3aW5kb3cuZG9jdW1lbnQuYm9keSBdKTsKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJv
d24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKKwordGVzdGlu
ZyBpbnZhbGlkIGFycmF5IGtleTogY3ljbGljX2FycmF5CitFeHBlY3RpbmcgZXhjZXB0aW9uIGZy
b20gc3RvcmUucHV0KCd2YWx1ZScsIGN5Y2xpY19hcnJheSk7CitQQVNTIEV4Y2VwdGlvbiB3YXMg
dGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCisKK3Rl
c3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IGN5Y2xpY19hcnJheTIKK0V4cGVjdGluZyBleGNlcHRp
b24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgY3ljbGljX2FycmF5Mik7CitQQVNTIEV4Y2VwdGlv
biB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJS
CisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IGN5Y2xpY19hcnJheTMKK0V4cGVjdGluZyBl
eGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgY3ljbGljX2FycmF5Myk7CitQQVNTIEV4
Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRB
VEFfRVJSCisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IGN5Y2xpY19hcnJheTQKK0V4cGVj
dGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgY3ljbGljX2FycmF5NCk7CitQ
QVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0
aW9uLkRBVEFfRVJSCisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IEFycmF5KDEwMDApCitF
eHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIEFycmF5KDEwMDApKTsK
K1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNl
cHRpb24uREFUQV9FUlIKKworUEFTUyBpbmRleGVkREIuY21wKG1ha2VBcnJheU9mRGVwdGgoMSks
IDApIGlzIDEKK1BBU1MgaW5kZXhlZERCLmNtcChtYWtlQXJyYXlPZkRlcHRoKDEwKSwgMCkgaXMg
MQorUEFTUyBpbmRleGVkREIuY21wKG1ha2VBcnJheU9mRGVwdGgoMTAwKSwgMCkgaXMgMQorUEFT
UyBpbmRleGVkREIuY21wKG1ha2VBcnJheU9mRGVwdGgoMTAwMCksIDApIGlzIDEKK1BBU1MgaW5k
ZXhlZERCLmNtcChtYWtlQXJyYXlPZkRlcHRoKDEwMDAwKSwgMCkgaXMgMQorRXhwZWN0aW5nIGV4
Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAobWFrZUFycmF5T2ZEZXB0aCgxMDAwMDApLCAwKQor
UEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2Vw
dGlvbi5EQVRBX0VSUgorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1Qg
Q09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5
LXR5cGUtYXJyYXkuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBl
LWFycmF5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmRlNDA0MTM4N2Y4MmU0NmRjYzI2NWZkNmMxNDRlYTQz
ZmUzYmU4NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2tleS10eXBlLWFycmF5Lmh0bWwKQEAgLTAsMCArMSwyMTcgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2Ny
aXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK2Rlc2Ny
aXB0aW9uKCJUZXN0IEluZGV4ZWREQiBrZXkgdHlwZXMiKTsKK2lmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwor
CitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBldmFsQW5kTG9nKCJpbmRleGVkREIgPSB3aW5kb3cu
aW5kZXhlZERCIHx8IHdpbmRvdy53ZWJraXRJbmRleGVkREIgfHwgd2luZG93Lm1vekluZGV4ZWRE
QjsiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJpbmRleGVkREIgPT0gbnVsbCIpOworCisgICAgZXZh
bEFuZExvZygiSURCVHJhbnNhY3Rpb24gPSB3aW5kb3cuSURCVHJhbnNhY3Rpb24gfHwgd2luZG93
LndlYmtpdElEQlRyYW5zYWN0aW9uOyIpOworICAgIHNob3VsZEJlRmFsc2UoIklEQlRyYW5zYWN0
aW9uID09IG51bGwiKTsKKworICAgIGV2YWxBbmRMb2coIklEQkRhdGFiYXNlRXhjZXB0aW9uID0g
d2luZG93LklEQkRhdGFiYXNlRXhjZXB0aW9uIHx8IHdpbmRvdy53ZWJraXRJREJEYXRhYmFzZUV4
Y2VwdGlvbjsiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJJREJEYXRhYmFzZUV4Y2VwdGlvbiA9PSBu
dWxsIik7CisKKworICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgZGVz
Y3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CisgICAgb3BlbnJlcSA9IGV2YWxBbmRMb2co
ImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOworICAgIG9wZW5yZXEub25zdWNj
ZXNzID0gb3BlblN1Y2Nlc3M7CisgICAgb3BlbnJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9y
Q2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9uIG9wZW5TdWNjZXNzKCkKK3sKKyAgICBldmFsQW5kTG9n
KCJkYiA9IG9wZW5yZXEucmVzdWx0Iik7CisgICAgc2V0dmVycmVxID0gZXZhbEFuZExvZygicmVx
dWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKSIpOworICAgIHNldHZlcnJlcS5vbnN1Y2Nlc3MgPSBz
ZXRWZXJzaW9uU3VjY2VzczsKKyAgICBzZXR2ZXJyZXEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBzZXRWZXJzaW9uU3VjY2VzcygpCit7CisgICAgZGVi
dWcoInByZXBhcmluZyBkYXRhYmFzZSIpOworICAgIHRyYW5zID0gc2V0dmVycmVxLnJlc3VsdDsK
KyAgICB0cmFucy5vbmNvbXBsZXRlID0gdGVzdFZhbGlkQXJyYXlLZXlzOworICAgIGRlbGV0ZUFs
bE9iamVjdFN0b3JlcyhkYik7CisgICAgb2JqZWN0U3RvcmUgPSBldmFsQW5kTG9nKCJkYi5jcmVh
dGVPYmplY3RTdG9yZSgnc3RvcmUnKTsiKTsKKyAgICBkZWJ1ZygiIik7Cit9CisKK2Z1bmN0aW9u
IHRlc3RWYWxpZEFycmF5S2V5cygpCit7CisgICAgZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFu
c2FjdGlvbignc3RvcmUnLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIGV2YWxB
bmRMb2coInN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKKyAgICBkZWJ1Zygi
Iik7CisKKyAgICBldmFsQW5kTG9nKCJsb25nX2FycmF5ID0gW107IGZvciAoaSA9IDA7IGkgPCAx
MDAwOyArK2kpIHsgbG9uZ19hcnJheS5wdXNoKCdhYmMnLCAxMjMsIG5ldyBEYXRlKDApLCBbXSk7
IH0iKTsKKyAgICBkZWJ1ZygiIik7CisKKyAgICBkZWJ1ZygiYXJyYXkgdGhhdCBjb250YWlucyBu
b24tbnVtZXJpYyBzZWxmLXJlZmVyZW5jZSIpOworICAgIGV2YWxBbmRMb2coInNlbGZfcmVmZXJy
ZW50aWFsX2FycmF5ID0gW107IHNlbGZfcmVmZXJyZW50aWFsX2FycmF5LnNlbGYgPSBzZWxmX3Jl
ZmVycmVudGlhbF9hcnJheTsiKTsKKyAgICBkZWJ1ZygiIik7CisKKyAgICB2YXIgbiA9IDAsIGNh
c2VzID0gWworICAgICAgICAiW10iLAorCisgICAgICAgICJbLUluZmluaXR5XSIsCisgICAgICAg
ICJbLU51bWJlci5NQVhfVkFMVUVdIiwKKyAgICAgICAgIlstMV0iLAorICAgICAgICAiWy1OdW1i
ZXIuTUlOX1ZBTFVFXSIsCisgICAgICAgICJbMF0iLAorICAgICAgICAiW051bWJlci5NSU5fVkFM
VUVdIiwKKyAgICAgICAgIlsxXSIsCisgICAgICAgICJbTnVtYmVyLk1BWF9WQUxVRV0iLAorICAg
ICAgICAiW0luZmluaXR5XSIsCisKKyAgICAgICAgIlsxLDIsM10iLAorCisgICAgICAgICJbbmV3
IERhdGUoMCldIiwKKyAgICAgICAgIltuZXcgRGF0ZSgnMjUyNS0wMS0wMVQwMDowMDowMFonKV0i
LAorCisgICAgICAgICJbbmV3IERhdGUoMCksIG5ldyBEYXRlKCcyNTI1LTAxLTAxVDAwOjAwOjAw
WicpXSIsCisKKyAgICAgICAgIlsnJ10iLAorICAgICAgICAiWydceDAwJ10iLAorICAgICAgICAi
WydhYmMxMjMnXSIsCisKKyAgICAgICAgIlsnYWJjJywgMTIzXSIsCisKKyAgICAgICAgIltbXV0i
LAorCisgICAgICAgICJbW10sIFtdXSIsCisgICAgICAgICJbW10sIFtdLCBbXV0iLAorCisgICAg
ICAgICJbW1tdXV0iLAorICAgICAgICAiW1tbW11dXV0iLAorCisgICAgICAgICJbMTIzLCAnYWJj
JywgbmV3IERhdGUoMCksIFtdXSIsCisgICAgICAgICJbWzEyMywgJ2FiYycsIG5ldyBEYXRlKDAp
LCBbXV0sIFs0NTYsICdkZWYnLCBuZXcgRGF0ZSg5OTkpLCBbW11dXV0iLAorCisgICAgICAgICJs
b25nX2FycmF5IiwKKyAgICAgICAgInNlbGZfcmVmZXJyZW50aWFsX2FycmF5IgorICAgIF07CisK
KyAgICBmdW5jdGlvbiB0ZXN0QXJyYXlQdXRHZXQodmFsdWUsIGtleSwgY2FsbGJhY2spCisgICAg
eworICAgICAgICBkZWJ1ZygidGVzdGluZyBhcnJheSBrZXk6ICIgKyBrZXkpOworICAgICAgICBw
dXRyZXEgPSBldmFsQW5kTG9nKCJzdG9yZS5wdXQoJyIgKyB2YWx1ZSArICInLCAiICsga2V5ICsg
Iik7Iik7CisgICAgICAgIHB1dHJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7
CisgICAgICAgIHB1dHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIGdl
dHJlcSA9IGV2YWxBbmRMb2coInN0b3JlLmdldCgiICsga2V5ICsgIik7Iik7CisgICAgICAgICAg
ICBnZXRyZXEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgICAgICAgICAg
Z2V0cmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiZ2V0cmVxLnJlc3VsdCIsIHZhbHVlKTsKKyAgICAgICAgICAgICAgICBk
ZWJ1ZygiIik7CisgICAgICAgICAgICAgICAgY2FsbGJhY2soKTsKKyAgICAgICAgICAgIH07Cisg
ICAgICAgIH07CisgICAgfQorCisgICAgZnVuY3Rpb24gbmV4dFRlc3QoKQorICAgIHsKKyAgICAg
ICAgdmFyIHRlc3RjYXNlID0gY2FzZXMuc2hpZnQoKTsKKyAgICAgICAgaWYgKHRlc3RjYXNlKSB7
CisgICAgICAgICAgICB0ZXN0QXJyYXlQdXRHZXQoInZhbHVlIiArICgrK24pLCB0ZXN0Y2FzZSwg
bmV4dFRlc3QpOworICAgICAgICB9CisgICAgfQorCisgICAgbmV4dFRlc3QoKTsKKworICAgIHRy
YW5zLm9uY29tcGxldGUgPSB0ZXN0SW52YWxpZEFycmF5S2V5czsKK30KKworCitmdW5jdGlvbiB0
ZXN0SW52YWxpZEFycmF5S2V5cygpCit7CisgICAgZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFu
c2FjdGlvbignc3RvcmUnLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIGV2YWxB
bmRMb2coInN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKKyAgICBkZWJ1Zygi
Iik7CisKKyAgICBkZWJ1ZygiYXJyYXkgdGhhdCBjb250YWlucyBpdHNlbGY6IGFycmF5ID0gWyBh
cnJheSBdIik7CisgICAgZXZhbEFuZExvZygiY3ljbGljX2FycmF5ID0gW107IGN5Y2xpY19hcnJh
eS5wdXNoKGN5Y2xpY19hcnJheSkiKTsKKyAgICBzaG91bGRUaHJvdygiSlNPTi5zdHJpbmdpZnko
Y3ljbGljX2FycmF5KSIpOworCisgICAgZGVidWcoImFycmF5IHRoYXQgY29udGFpbnMgaXRzZWxm
LCBvbmUgbGV2ZWwgZG93bjogYXJyYXkgPSBbIFsgYXJyYXkgXSBdIik7CisgICAgZXZhbEFuZExv
ZygiY3ljbGljX2FycmF5MiA9IFtdOyBjeWNsaWNfYXJyYXkyLnB1c2goW2N5Y2xpY19hcnJheTJd
KSIpOworICAgIHNob3VsZFRocm93KCJKU09OLnN0cmluZ2lmeShjeWNsaWNfYXJyYXkyKSIpOwor
CisgICAgZGVidWcoImFycmF5IHRoYXQgY29udGFpbnMgaXRzZWxmLCBub3QgYXMgZmlyc3QgZWxl
bWVudDogYXJyYXkgPSBbMSwgJ2InLCBbXSwgYXJyYXldIik7CisgICAgZXZhbEFuZExvZygiY3lj
bGljX2FycmF5MyA9IFsxLCAnYicsIFtdXTsgY3ljbGljX2FycmF5My5wdXNoKGN5Y2xpY19hcnJh
eTMpIik7CisgICAgc2hvdWxkVGhyb3coIkpTT04uc3RyaW5naWZ5KGN5Y2xpY19hcnJheTMpIik7
CisgICAgZGVidWcoIiIpOworCisgICAgZGVidWcoImFycmF5IHRoYXQgY29udGFpbnMgYXJyYXkg
dGhhdCBjb250YWlucyBpdHNlbGYiKTsKKyAgICBldmFsQW5kTG9nKCJjeWNsaWNfYXJyYXk0ID0g
W2N5Y2xpY19hcnJheV07Iik7CisgICAgc2hvdWxkVGhyb3coIkpTT04uc3RyaW5naWZ5KGN5Y2xp
Y19hcnJheTQpIik7CisgICAgZGVidWcoIiIpOworCisgICAgdmFyIGludmFsaWRLZXlzID0gWwor
ICAgICAgICAiWyB2b2lkIDAgXSIsIC8vIHVuZGVmaW5lZAorICAgICAgICAiWyB0cnVlIF0iLAor
ICAgICAgICAiWyBmYWxzZSBdIiwKKyAgICAgICAgIlsgTmFOIF0iLAorICAgICAgICAiWyBudWxs
IF0iLAorICAgICAgICAiWyB7fSBdIiwKKyAgICAgICAgIlsgZnVuY3Rpb24gKCkge30gXSIsCisg
ICAgICAgICJbIC9yZWdleC8gXSIsCisgICAgICAgICJbIHdpbmRvdyBdIiwKKyAgICAgICAgIlsg
d2luZG93LmRvY3VtZW50IF0iLAorICAgICAgICAiWyB3aW5kb3cuZG9jdW1lbnQuYm9keSBdIiwK
KyAgICAgICAgImN5Y2xpY19hcnJheSIsCisgICAgICAgICJjeWNsaWNfYXJyYXkyIiwKKyAgICAg
ICAgImN5Y2xpY19hcnJheTMiLAorICAgICAgICAiY3ljbGljX2FycmF5NCIsCisgICAgICAgICJB
cnJheSgxMDAwKSIgLy8gc3BhcnNlCisgICAgXTsKKworICAgIGludmFsaWRLZXlzLmZvckVhY2go
ZnVuY3Rpb24gKGtleSkgeworICAgICAgICBkZWJ1ZygidGVzdGluZyBpbnZhbGlkIGFycmF5IGtl
eTogIiArIGtleSk7CisgICAgICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLnB1dCgn
dmFsdWUnLCAiICsga2V5ICsgIik7IiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSIik7
CisgICAgICAgIGRlYnVnKCIiKTsKKyAgICB9KTsKKworICAgIHRlc3REZXB0aExpbWl0cygpOwor
fQorCitmdW5jdGlvbiBtYWtlQXJyYXlPZkRlcHRoKG4pCit7CisgICAgdmFyIGFycmF5ID0gW10s
IGN1cnJlbnQgPSBhcnJheTsKKyAgICB3aGlsZSAoLS1uKSB7CisgICAgICAgIGN1cnJlbnQucHVz
aChbXSk7CisgICAgICAgIGN1cnJlbnQgPSBjdXJyZW50WzBdOworICAgIH0KKyAgICByZXR1cm4g
YXJyYXk7Cit9CisKK2Z1bmN0aW9uIHRlc3REZXB0aExpbWl0cygpCit7CisgICAgc2hvdWxkQmUo
ImluZGV4ZWREQi5jbXAobWFrZUFycmF5T2ZEZXB0aCgxKSwgMCkiLCAiMSIpOworICAgIHNob3Vs
ZEJlKCJpbmRleGVkREIuY21wKG1ha2VBcnJheU9mRGVwdGgoMTApLCAwKSIsICIxIik7CisgICAg
c2hvdWxkQmUoImluZGV4ZWREQi5jbXAobWFrZUFycmF5T2ZEZXB0aCgxMDApLCAwKSIsICIxIik7
CisgICAgc2hvdWxkQmUoImluZGV4ZWREQi5jbXAobWFrZUFycmF5T2ZEZXB0aCgxMDAwKSwgMCki
LCAiMSIpOworICAgIHNob3VsZEJlKCJpbmRleGVkREIuY21wKG1ha2VBcnJheU9mRGVwdGgoMTAw
MDApLCAwKSIsICIxIik7CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiaW5kZXhlZERCLmNt
cChtYWtlQXJyYXlPZkRlcHRoKDEwMDAwMCksIDApIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLkRB
VEFfRVJSIik7CisgICAgZGVidWcoIiIpOworCisgICAgZG9uZSgpOworfQorCit0ZXN0KCk7CisK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIva2V5cmFuZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIva2V5cmFuZ2UtZXhwZWN0ZWQudHh0CmluZGV4IGJkYmYxNWViYzUzYTM1OTQ1
Y2U5YTY2MWExOTE1MjljNjRjYzMyNzMuLjQ1NGVjOTNjNTVhOGZlNDNlODk5YjM5OTU0ZTk4MDk5
MDFkNGY5NTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleXJh
bmdlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXly
YW5nZS1leHBlY3RlZC50eHQKQEAgLTIwNywxNyArMjA3LDE3IEBAIFBBU1Mga2V5UmFuZ2UubG93
ZXIgaXMgJ2FhZicKIFBBU1Mga2V5UmFuZ2UudXBwZXIgaXMgJ2FiZicKIFBBU1Mga2V5UmFuZ2Uu
bG93ZXJPcGVuIGlzIHRydWUKIFBBU1Mga2V5UmFuZ2UudXBwZXJPcGVuIGlzIHRydWUKLVBhc3Np
bmcgYW4gaW52YWxpZCBrZXkgaW50byBvbmx5KFtdKQorUGFzc2luZyBhbiBpbnZhbGlkIGtleSBp
bnRvIG9ubHkoe30pCiBQQVNTIENhdWdodCBleGNlcHRpb246IEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1QYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gdXBw
ZXJCb3VuZChbXSkKK1Bhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byB1cHBlckJvdW5kKHt9KQog
UEFTUyBDYXVnaHQgZXhjZXB0aW9uOiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBF
eGNlcHRpb24gNQotUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGxvd2VyQm91bmQoW10pCitQ
YXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gbG93ZXJCb3VuZCh7fSkKIFBBU1MgQ2F1Z2h0IGV4
Y2VwdGlvbjogRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLVBh
c3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBib3VuZChudWxsLCBbXSkKK1Bhc3NpbmcgYW4gaW52
YWxpZCBrZXkgaW50byBib3VuZChudWxsLCB7fSkKIFBBU1MgQ2F1Z2h0IGV4Y2VwdGlvbjogRXJy
b3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLVBhc3NpbmcgYW4gaW52
YWxpZCBrZXkgaW50byBib3VuZChbXSxudWxsKQorUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRv
IGJvdW5kKHt9LG51bGwpCiBQQVNTIENhdWdodCBleGNlcHRpb246IEVycm9yOiBEQVRBX0VSUjog
RE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1QYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8g
Ym91bmQoW10sIFtdKQorUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGJvdW5kKHt9LCB7fSkK
IFBBU1MgQ2F1Z2h0IGV4Y2VwdGlvbjogRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2Ug
RXhjZXB0aW9uIDUKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5cmFuZ2UuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleXJhbmdlLmh0bWwKaW5kZXggNjhiNDc4YWQ1ZGMwNmMy
ZDdlYmEwZGExZjk3MzllY2Y4OWRmYWFjNC4uYWRkMzU1YTg3ZWQ5OWRjNzFkMmM5Nzg2ZThjZjA4
NjBkMjVkZTM2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5
cmFuZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlyYW5nZS5o
dG1sCkBAIC0xMjUsNDggKzEyNSw0OCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICBjaGVja0JvdW5k
S2V5UmFuZ2UoIidhYWYnIiwgIidhYmYnIiwgdHJ1ZSwgdHJ1ZSk7CiAKICAgICB0cnkgewotICAg
ICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIG9ubHkoW10pIik7Ci0gICAg
ICAgIHdlYmtpdElEQktleVJhbmdlLm9ubHkoW10pOworICAgICAgICBkZWJ1ZygiUGFzc2luZyBh
biBpbnZhbGlkIGtleSBpbnRvIG9ubHkoe30pIik7CisgICAgICAgIHdlYmtpdElEQktleVJhbmdl
Lm9ubHkoe30pOwogICAgICAgICB0ZXN0RmFpbGVkKCJObyBleGNlcHRpb24gdGhyb3duIik7CiAg
ICAgfSBjYXRjaCAoZSkgewogICAgICAgICB0ZXN0UGFzc2VkKCJDYXVnaHQgZXhjZXB0aW9uOiAi
ICsgZS50b1N0cmluZygpKTsKICAgICB9CiAKICAgICB0cnkgewotICAgICAgICBkZWJ1ZygiUGFz
c2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIHVwcGVyQm91bmQoW10pIik7Ci0gICAgICAgIHdlYmtp
dElEQktleVJhbmdlLnVwcGVyQm91bmQoW10pOworICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBp
bnZhbGlkIGtleSBpbnRvIHVwcGVyQm91bmQoe30pIik7CisgICAgICAgIHdlYmtpdElEQktleVJh
bmdlLnVwcGVyQm91bmQoe30pOwogICAgICAgICB0ZXN0RmFpbGVkKCJObyBleGNlcHRpb24gdGhy
b3duIik7CiAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICB0ZXN0UGFzc2VkKCJDYXVnaHQgZXhj
ZXB0aW9uOiAiICsgZS50b1N0cmluZygpKTsKICAgICB9CiAgCiAgICAgdHJ5IHsKLSAgICAgICAg
ZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBsb3dlckJvdW5kKFtdKSIpOwotICAg
ICAgICB3ZWJraXRJREJLZXlSYW5nZS5sb3dlckJvdW5kKFtdKTsKKyAgICAgICAgZGVidWcoIlBh
c3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBsb3dlckJvdW5kKHt9KSIpOworICAgICAgICB3ZWJr
aXRJREJLZXlSYW5nZS5sb3dlckJvdW5kKHt9KTsKICAgICAgICAgdGVzdEZhaWxlZCgiTm8gZXhj
ZXB0aW9uIHRocm93biIpOwogICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgdGVzdFBhc3NlZCgi
Q2F1Z2h0IGV4Y2VwdGlvbjogIiArIGUudG9TdHJpbmcoKSk7CiAgICAgfQogCiAgICAgdHJ5IHsK
LSAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBib3VuZChudWxsLCBb
XSkiKTsKLSAgICAgICAgd2Via2l0SURCS2V5UmFuZ2UuYm91bmQobnVsbCwgW10pOworICAgICAg
ICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGJvdW5kKG51bGwsIHt9KSIpOwor
ICAgICAgICB3ZWJraXRJREJLZXlSYW5nZS5ib3VuZChudWxsLCB7fSk7CiAgICAgICAgIHRlc3RG
YWlsZWQoIk5vIGV4Y2VwdGlvbiB0aHJvd24iKTsKICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAg
IHRlc3RQYXNzZWQoIkNhdWdodCBleGNlcHRpb246ICIgKyBlLnRvU3RyaW5nKCkpOwogICAgIH0K
IAogICAgIHRyeSB7Ci0gICAgICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8g
Ym91bmQoW10sbnVsbCkiKTsKLSAgICAgICAgd2Via2l0SURCS2V5UmFuZ2UuYm91bmQoW10sIG51
bGwpOworICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGJvdW5kKHt9
LG51bGwpIik7CisgICAgICAgIHdlYmtpdElEQktleVJhbmdlLmJvdW5kKHt9LCBudWxsKTsKICAg
ICAgICAgdGVzdEZhaWxlZCgiTm8gZXhjZXB0aW9uIHRocm93biIpOwogICAgIH0gY2F0Y2ggKGUp
IHsKICAgICAgICAgdGVzdFBhc3NlZCgiQ2F1Z2h0IGV4Y2VwdGlvbjogIiArIGUudG9TdHJpbmco
KSk7CiAgICAgfQogCiAgICAgdHJ5IHsKLSAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxp
ZCBrZXkgaW50byBib3VuZChbXSwgW10pIik7Ci0gICAgICAgIHdlYmtpdElEQktleVJhbmdlLmJv
dW5kKFtdLCBbXSk7CisgICAgICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8g
Ym91bmQoe30sIHt9KSIpOworICAgICAgICB3ZWJraXRJREJLZXlSYW5nZS5ib3VuZCh7fSwge30p
OwogICAgICAgICB0ZXN0RmFpbGVkKCJObyBleGNlcHRpb24gdGhyb3duIik7CiAgICAgfSBjYXRj
aCAoZSkgewogICAgICAgICB0ZXN0UGFzc2VkKCJDYXVnaHQgZXhjZXB0aW9uOiAiICsgZS50b1N0
cmluZygpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVj
dHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9vYmplY3RzdG9yZS1iYXNpY3MtZXhwZWN0ZWQudHh0CmluZGV4IDU4MGZmZmU1NDA5ZWQyMjFj
YWEwMzg1MjQ2NmRhMTA5OTU0Yzc2YjkuLmU1MDMxMDI4NDYyZGU1MjU2OWNhZjdjYzBmMWFkMjFj
ZjllN2YxZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVj
dHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dApAQCAtOTYsMTkgKzk2LDE5IEBA
IHJlbW92ZVN1Y2Nlc3NCdXRGYWxzZSgpOgogUEFTUyBldmVudC50YXJnZXQucmVzdWx0IGlzIGZh
bHNlCiBzdG9yZSA9IGV2ZW50LnRhcmdldC5zb3VyY2UKIFBhc3NpbmcgYW4gaW52YWxpZCBrZXkg
aW50byBzdG9yZS5nZXQoKS4KLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5nZXQoW10p
CitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUuZ2V0KHt9KQogUEFTUyBFeGNlcHRpb24g
d2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRB
X0VSUgogUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIHN0b3JlLmRlbGV0ZSgpLgotRXhwZWN0
aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLmRlbGV0ZShbXSkKK0V4cGVjdGluZyBleGNlcHRpb24g
ZnJvbSBzdG9yZS5kZWxldGUoe30pCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBj
b2RlIGlzIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCiBQYXNzaW5nIGFuIGlu
dmFsaWQga2V5IGludG8gc3RvcmUuYWRkKCkuCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3Rv
cmUuYWRkKG51bGwsIFtdKQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLmFkZChudWxs
LCB7fSkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgd2Via2l0SURC
RGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIFBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBz
dG9yZS5wdXQoKS4KLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQobnVsbCwgW10p
CitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KG51bGwsIHt9KQogUEFTUyBFeGNl
cHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlv
bi5EQVRBX0VSUgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MuaHRtbAppbmRl
eCAwOTE3ODU0Zjk5Yzg1MWZjOTFmNTllZjUzNzdiZDczYmE1ODNhZmQ3Li43NjM4MGZmZWM3YjE2
ZDQzMTJmZDE5MTJlODMxMGNmYTA0NDkzNWQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MuaHRtbApAQCAtMjUwLDE2ICsyNTAs
MTYgQEAgZnVuY3Rpb24gcmVtb3ZlU3VjY2Vzc0J1dEZhbHNlKCkKICAgICB2YXIgc3RvcmUgPSBl
dmFsQW5kTG9nKCJzdG9yZSA9IGV2ZW50LnRhcmdldC5zb3VyY2UiKTsKIAogICAgIGRlYnVnKCJQ
YXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gc3RvcmUuZ2V0KCkuIik7Ci0gICAgZXZhbEFuZEV4
cGVjdEV4Y2VwdGlvbigic3RvcmUuZ2V0KFtdKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlv
bi5EQVRBX0VSUiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmdldCh7fSki
LCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKIAogICAgIGRlYnVnKCJQ
YXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gc3RvcmUuZGVsZXRlKCkuIik7Ci0gICAgZXZhbEFu
ZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuZGVsZXRlKFtdKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4
Y2VwdGlvbi5EQVRBX0VSUiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmRl
bGV0ZSh7fSkiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKIAogICAg
IGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gc3RvcmUuYWRkKCkuIik7Ci0gICAg
ZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuYWRkKG51bGwsIFtdKSIsICJ3ZWJraXRJREJE
YXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24o
InN0b3JlLmFkZChudWxsLCB7fSkiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9F
UlIiKTsKIAogICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gc3RvcmUucHV0
KCkuIik7Ci0gICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUucHV0KG51bGwsIFtdKSIs
ICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOworICAgIGV2YWxBbmRFeHBl
Y3RFeGNlcHRpb24oInN0b3JlLnB1dChudWxsLCB7fSkiLCAid2Via2l0SURCRGF0YWJhc2VFeGNl
cHRpb24uREFUQV9FUlIiKTsKIAogICAgIGRvbmUoKTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vyc29yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vyc29yLWV4cGVjdGVkLnR4dAppbmRleCA2MDIw
ZTI1NmY3YzNhMjQ4N2NiNzU1NjMyZWU0MWZiYTAxOTIwODkxLi4zYTllMjAyODAzZmEwOGFmOGQx
MDc3NDhjNTQ1ZDgzOGI4MDczNmFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9vcGVuLWN1cnNvci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvb3Blbi1jdXJzb3ItZXhwZWN0ZWQudHh0CkBAIC0xOSw3ICsxOSw3IEBAIFBB
U1MgZXZlbnQudGFyZ2V0LnJlc3VsdC5kaXJlY3Rpb24gaXMgMAogUEFTUyBldmVudC50YXJnZXQu
cmVzdWx0LmtleSBpcyAnbXlLZXknCiBQQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQudmFsdWUgaXMg
J215VmFsdWUnCiAKLVBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byAuY29udGludWUoKS4KK1Bh
c3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byAuY29udGludWUoe30pLgogUEFTUyBDYXVnaHQgZXhj
ZXB0aW9uOiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQogCiBP
cGVuaW5nIGFuIGVtcHR5IGN1cnNvci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL29wZW4tY3Vyc29yLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9vcGVuLWN1cnNvci5odG1sCmluZGV4IDIwMzcyZmEwYmE4NmQxODc3ZDU4ZWFlNjZiNDU2YjVh
ZGU1MDk1ODQuLjA1NzI4ZDhlYjBjYjA0MDM1NWVjNmVjYmJiNTkxZDE3YzI3NzEzYjggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vyc29yLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jdXJzb3IuaHRtbApAQCAtMzcs
OCArMzcsOCBAQCBmdW5jdGlvbiBjdXJzb3JTdWNjZXNzKCkKICAgICBzaG91bGRCZSgiZXZlbnQu
dGFyZ2V0LnJlc3VsdC52YWx1ZSIsICInbXlWYWx1ZSciKTsKICAgICBkZWJ1ZygiIik7CiAgICAg
dHJ5IHsKLSAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byAuY29udGlu
dWUoKS4iKTsKLSAgICAgICAgZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZShbXSk7CisgICAg
ICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gLmNvbnRpbnVlKHt9KS4iKTsK
KyAgICAgICAgZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSh7fSk7CiAgICAgICAgIHRlc3RG
YWlsZWQoIk5vIGV4Y2VwdGlvbiB0aHJvd24iKTsKICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAg
IHRlc3RQYXNzZWQoIkNhdWdodCBleGNlcHRpb246ICIgKyBlLnRvU3RyaW5nKCkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>