<?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>125144</bug_id>
          
          <creation_ts>2013-12-03 02:18:14 -0800</creation_ts>
          <short_desc>[CSS Regions] Enable accelerated compositing for fixed elements in named flows</short_desc>
          <delta_ts>2014-01-15 23:29:40 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</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>AdobeTracked</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>57312</blocked>
    
    <blocked>84900</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mihnea Ovidenie">mihnea</reporter>
          <assigned_to name="Mihnea Ovidenie">mihnea</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>WebkitBugTracker</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>955831</commentid>
    <comment_count>0</comment_count>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2013-12-03 02:18:14 -0800</bug_when>
    <thetext>The fix for https://bugs.webkit.org/show_bug.cgi?id=111176 allowed fixed positioned elements inside a named flow to be positioned/sized properly relative to viewport instead of first region in the chain. The next step is to enable these elements to become composited too on platforms supporting compositing (similar to the fixed elements that are not inside a named flow).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959932</commentid>
    <comment_count>1</comment_count>
      <attachid>219278</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2013-12-15 08:35:02 -0800</bug_when>
    <thetext>Created attachment 219278
WIP1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967351</commentid>
    <comment_count>2</comment_count>
      <attachid>221051</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2014-01-13 08:56:37 -0800</bug_when>
    <thetext>Created attachment 221051
WIP2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967724</commentid>
    <comment_count>3</comment_count>
      <attachid>221129</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2014-01-14 01:52:50 -0800</bug_when>
    <thetext>Created attachment 221129
WIP3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968201</commentid>
    <comment_count>4</comment_count>
      <attachid>221238</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2014-01-15 00:49:50 -0800</bug_when>
    <thetext>Created attachment 221238
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968202</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-15 00:50:51 -0800</bug_when>
    <thetext>Attachment 221238 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/compositing/regions/abs-in-named-flow-from-fixed-in-named-flow-expected.txt&apos;, u&apos;LayoutTests/compositing/regions/abs-in-named-flow-from-fixed-in-named-flow.html&apos;, u&apos;LayoutTests/compositing/regions/fixed-in-diff-named-flows-zIndex-expected.html&apos;, u&apos;LayoutTests/compositing/regions/fixed-in-diff-named-flows-zIndex.html&apos;, u&apos;LayoutTests/compositing/regions/fixed-in-named-flow-clip-descendant-expected.txt&apos;, u&apos;LayoutTests/compositing/regions/fixed-in-named-flow-clip-descendant.html&apos;, u&apos;LayoutTests/compositing/regions/fixed-in-named-flow-expected.txt&apos;, u&apos;LayoutTests/compositing/regions/fixed-in-named-flow-from-abs-in-named-flow-expected.txt&apos;, u&apos;LayoutTests/compositing/regions/fixed-in-named-flow-from-abs-in-named-flow.html&apos;, u&apos;LayoutTests/compositing/regions/fixed-in-named-flow-from-outflow-expected.txt&apos;, u&apos;LayoutTests/compositing/regions/fixed-in-named-flow-from-outflow.html&apos;, u&apos;LayoutTests/compositing/regions/fixed-in-named-flow-got-transformed-parent-expected.txt&apos;, u&apos;LayoutTests/compositing/regions/fixed-in-named-flow-got-transformed-parent.html&apos;, u&apos;LayoutTests/compositing/regions/fixed-in-named-flow-lost-transformed-parent-expected.txt&apos;, u&apos;LayoutTests/compositing/regions/fixed-in-named-flow-lost-transformed-parent.html&apos;, u&apos;LayoutTests/compositing/regions/fixed-in-named-flow-overlap-composited-expected.txt&apos;, u&apos;LayoutTests/compositing/regions/fixed-in-named-flow-overlap-composited.html&apos;, u&apos;LayoutTests/compositing/regions/fixed-in-named-flow-position-changed-expected.html&apos;, u&apos;LayoutTests/compositing/regions/fixed-in-named-flow-position-changed.html&apos;, u&apos;LayoutTests/compositing/regions/fixed-in-named-flow-transformed-parent-expected.txt&apos;, u&apos;LayoutTests/compositing/regions/fixed-in-named-flow-transformed-parent.html&apos;, u&apos;LayoutTests/compositing/regions/fixed-in-named-flow-zIndex-expected.html&apos;, u&apos;LayoutTests/compositing/regions/fixed-in-named-flow-zIndex.html&apos;, u&apos;LayoutTests/compositing/regions/fixed-in-named-flow.html&apos;, u&apos;LayoutTests/compositing/regions/fixed-transformed-in-named-flow-expected.txt&apos;, u&apos;LayoutTests/compositing/regions/fixed-transformed-in-named-flow.html&apos;, u&apos;LayoutTests/fast/regions/repaint/element-in-named-flow-absolute-from-fixed.html&apos;, u&apos;LayoutTests/fast/regions/repaint/element-in-named-flow-fixed-from-absolute.html&apos;, u&apos;LayoutTests/fast/regions/repaint/element-inflow-fixed-from-outflow-static.html&apos;, u&apos;LayoutTests/fast/regions/repaint/element-outflow-static-from-inflow-fixed.html&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/rendering/RenderFlowThread.cpp&apos;, u&apos;Source/WebCore/rendering/RenderLayerCompositor.cpp&apos;, u&apos;Source/WebCore/rendering/RenderLayerCompositor.h&apos;, u&apos;Source/WebCore/rendering/RenderNamedFlowFragment.h&apos;, u&apos;Source/WebCore/rendering/RenderNamedFlowThread.h&apos;, &apos;--commit-queue&apos;]&quot; exit_code: 1
ERROR: Source/WebCore/rendering/RenderLayerCompositor.h:345:  The parameter name &quot;overlapMap&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 36 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968311</commentid>
    <comment_count>6</comment_count>
      <attachid>221267</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2014-01-15 07:09:10 -0800</bug_when>
    <thetext>Created attachment 221267
Patch 2

Same patch but try to make style checker happy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968400</commentid>
    <comment_count>7</comment_count>
      <attachid>221267</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2014-01-15 10:49:46 -0800</bug_when>
    <thetext>Comment on attachment 221267
Patch 2

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968616</commentid>
    <comment_count>8</comment_count>
      <attachid>221335</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2014-01-15 22:53:32 -0800</bug_when>
    <thetext>Created attachment 221335
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968623</commentid>
    <comment_count>9</comment_count>
      <attachid>221335</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-15 23:29:37 -0800</bug_when>
    <thetext>Comment on attachment 221335
Patch for landing

Clearing flags on attachment: 221335

Committed r162117: &lt;http://trac.webkit.org/changeset/162117&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968624</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-15 23:29:40 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219278</attachid>
            <date>2013-12-15 08:35:02 -0800</date>
            <delta_ts>2014-01-15 22:52:59 -0800</delta_ts>
            <desc>WIP1</desc>
            <filename>125144-WIP1.patch</filename>
            <type>text/plain</type>
            <size>44007</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tZGlm
Zi1uYW1lZC1mbG93cy16SW5kZXgtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL3JlZ2lvbnMvZml4ZWQtaW4tZGlmZi1uYW1lZC1mbG93cy16SW5kZXgtZXhwZWN0ZWQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZjRlYTA5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1kaWZmLW5h
bWVkLWZsb3dzLXpJbmRleC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjQgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAg
ICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxz
LnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxl
ZCh0cnVlKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
ICNmaXhlZDEgeyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IHRvcDogMTAwcHg7IGxlZnQ6
IDEwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgcG9zaXRpb246IGZpeGVkOyB6LWluZGV4
OiAxMDsgfQorCisgICAgICAgICAgICAjZml4ZWQyIHsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEw
MHB4OyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgYmFja2dyb3VuZC1jb2xvcjogb3JhbmdlOyBw
b3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDE7IH0KKworICAgICAgICAgICAgI2ZpeGVkMyB7IHdp
ZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxNzVweDsgbGVmdDogMTc1cHg7IGJhY2tn
cm91bmQtY29sb3I6IGJsdWU7IHBvc2l0aW9uOiBmaXhlZDsgei1pbmRleDogNTsgfQorICAgICAg
ICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdCBmb3Ig
PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTE0NCI+
V2ViS2l0IEJ1ZyAxMjUxNDQ8L2E+IFtDU1MgUmVnaW9uc10gRW5hYmxlIGFjY2VsZXJhdGVkIGNv
bXBvc2l0aW5nIGZvciBmaXhlZCBlbGVtZW50cyBpbiBuYW1lZCBmbG93czwvcD4KKyAgICAgICAg
PHA+VGVzdCB0aGF0IHBhaW50aW5nIHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnRzIGNvbGxl
Y3RlZCBpbiBkaWZmZXJlbnQgbmFtZWQgZmxvd3MgdGFrZXMgekluZGV4IGludG8gYWNjb3VudC48
L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91bGQgc2VlIDMgcmVjdGFuZ2xlcyBw
YWludGVkIGluIHRoZSBmb2xsb3dpbmcgb3JkZXI6IGdyZWVuLCBibHVlLCBvcmFuZ2UuPC9wPgor
ICAgICAgICA8ZGl2IGlkPSJmaXhlZDEiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJmaXhlZDIi
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJmaXhlZDMiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQt
aW4tZGlmZi1uYW1lZC1mbG93cy16SW5kZXguaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L3JlZ2lvbnMvZml4ZWQtaW4tZGlmZi1uYW1lZC1mbG93cy16SW5kZXguaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NmM5MTVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1kaWZmLW5hbWVkLWZsb3dzLXpJ
bmRleC5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAg
PGhlYWQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFs
cykKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJh
dGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgPC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICNmaXhlZDEgeyAtd2Via2l0LWZs
b3ctaW50bzogZmxvdzsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB0b3A6IDEwMHB4OyBs
ZWZ0OiAxMDBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IHBvc2l0aW9uOiBmaXhlZDsgei1p
bmRleDogMTA7IH0KKworICAgICAgICAgICAgI2ZpeGVkMiB7IC13ZWJraXQtZmxvdy1pbnRvOiBm
bG93Mjsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBw
eDsgYmFja2dyb3VuZC1jb2xvcjogb3JhbmdlOyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDE7
IH0KKworICAgICAgICAgICAgI2ZpeGVkMyB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93Mjsgd2lk
dGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB0b3A6IDE3NXB4OyBsZWZ0OiAxNzVweDsgYmFja2dy
b3VuZC1jb2xvcjogYmx1ZTsgcG9zaXRpb246IGZpeGVkOyB6LWluZGV4OiA1OyB9CisKKyAgICAg
ICAgICAgIC8qIFdlIG5lZWQgYSByZWdpb24gZm9yIGVhY2ggZmxvdyBiZWNhdXNlIG90aGVyd2lz
ZSB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50cyBhcmUgbm90IGRpc3BsYXllZCAqLworICAg
ICAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OyB9CisgICAgICAgICAg
ICAjcmVnaW9uMiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93MjsgfQorICAgICAgICA8L3N0eWxl
PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdCBmb3IgPGEgaHJlZj0i
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTE0NCI+V2ViS2l0IEJ1
ZyAxMjUxNDQ8L2E+IFtDU1MgUmVnaW9uc10gRW5hYmxlIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5n
IGZvciBmaXhlZCBlbGVtZW50cyBpbiBuYW1lZCBmbG93czwvcD4KKyAgICAgICAgPHA+VGVzdCB0
aGF0IHBhaW50aW5nIHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnRzIGNvbGxlY3RlZCBpbiBk
aWZmZXJlbnQgbmFtZWQgZmxvd3MgdGFrZXMgekluZGV4IGludG8gYWNjb3VudC48L3A+CisgICAg
ICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91bGQgc2VlIDMgcmVjdGFuZ2xlcyBwYWludGVkIGlu
IHRoZSBmb2xsb3dpbmcgb3JkZXI6IGdyZWVuLCBibHVlLCBvcmFuZ2UuPC9wPgorICAgICAgICA8
ZGl2IGlkPSJmaXhlZDEiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJmaXhlZDIiPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJmaXhlZDMiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24i
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24yIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVk
LWluLW5hbWVkLWZsb3ctY2ItY2hhbmdlZC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWNiLWNoYW5nZWQtZXhwZWN0ZWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDFiMjRiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1l
ZC1mbG93LWNiLWNoYW5nZWQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAg
ICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93LmludGVybmFs
cy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJs
ZWQodHJ1ZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICAjcGFyZW50IHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsg
d2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB9CisKKyAgICAgICAgICAgICNmaXhlZCB7IHBv
c2l0aW9uOiBmaXhlZDsgdG9wOiA1MHB4OyBsZWZ0OiA1MHB4OyB3aWR0aDogNTBweDsgaGVpZ2h0
OiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfQorCisgICAgICAgICAgICAudHJhbnNm
b3JtZWQgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfQorICAgICAgICA8
L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGhhdCB0aGF0IGEg
Zml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHdob3NlIHBhcmVudCBnZXRzIGEgM2QgdHJhbnNmb3Jt
IGR5bmFtaWNhbGx5IGlzIGNvcnJlY3RseSByZS1wb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSBw
YXJlbnQuPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSBhIGdyZWVu
IHJlY3RhbmdsZSBhbmQgbm8gcmVkLjwvcD4KKyAgICAgICAgPGRpdiBpZD0icGFyZW50IiBjbGFz
cz0idHJhbnNmb3JtZWQiPgorICAgICAgICAgICAgPGRpdiBpZD0iZml4ZWQiPjwvZGl2PgorICAg
ICAgICA8L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctY2ItY2hhbmdlZC5odG1s
IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWNi
LWNoYW5nZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjdlYjdj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhl
ZC1pbi1uYW1lZC1mbG93LWNiLWNoYW5nZWQuaHRtbApAQCAtMCwwICsxLDM2IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAg
ICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93LmludGVybmFs
cy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJs
ZWQodHJ1ZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAg
ICAjcmVkIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDIwMHB4OyBsZWZ0OiAyMDBweDsgd2lk
dGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyBiYWNrZ3JvdW5k
LWNvbG9yOiByZWQ7fQorCisgICAgICAgICAgICAjcmVnaW9uIHsgLXdlYmtpdC1mbG93LWZyb206
IGZsb3c7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMDBweDsgbGVmdDogMTAwcHg7IHdpZHRo
OiAyMDBweDsgaGVpZ2h0OiAyMDBweDsgfQorCisgICAgICAgICAgICAjcGFyZW50IHsgLXdlYmtp
dC1mbG93LWludG86IGZsb3c7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MHB4OyBsZWZ0OiA1
MHB4OyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IH0KKworICAgICAgICAgICAgI2ZpeGVk
IHsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDUwcHg7IGxlZnQ6IDUwcHg7IHdpZHRoOiA1MHB4OyBo
ZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB9CisKKyAgICAgICAgICAgIC50
cmFuc2Zvcm1lZCB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9CisgICAg
ICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD5UaGF0IHRo
YXQgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgd2hvc2UgcGFyZW50IGdldHMgYSAzZCB0cmFu
c2Zvcm0gZHluYW1pY2FsbHkgaXMgY29ycmVjdGx5IHJlLXBvc2l0aW9uZWQgcmVsYXRpdmUgdG8g
dGhlIHBhcmVudC48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91bGQgc2VlIGEg
Z3JlZW4gcmVjdGFuZ2xlIGFuZCBubyByZWQuPC9wPgorICAgICAgICA8ZGl2IGlkPSJyZWQiPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJwYXJlbnQiPgorICAgICAgICAgICAgPGRpdiBpZD0iZml4
ZWQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uIj48L2Rp
dj4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAg
ICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhcmVudCIpLmNsYXNzTmFtZSA9
ICJ0cmFuc2Zvcm1lZCI7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHdpbmRvdy5zZXRU
aW1lb3V0KHRlc3QsIDApOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5h
bWVkLWZsb3ctZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMv
Zml4ZWQtaW4tbmFtZWQtZmxvdy1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjgyNjA5NTgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctZXhwZWN0ZWQuaHRtbApAQCAtMCww
ICsxLDE5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8
c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9y
Rml4ZWRQb3NpdGlvbkVuYWJsZWQodHJ1ZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICAjZ3JlZW4geyBwb3NpdGlvbjogZml4ZWQ7IHdpZHRoOiAyMCU7
IGhlaWdodDogMjAlOyB0b3A6IDE1MHB4OyBsZWZ0OiAxMjVweDsgYmFja2dyb3VuZC1jb2xvcjog
Z3JlZW47IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAg
ICAgIDxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjUxNDQiPldlYktpdCBCdWcgMTI1MTQ0PC9hPiBbQ1NTIFJlZ2lvbnNdIEVuYWJs
ZSBhY2NlbGVyYXRlZCBjb21wb3NpdGluZyBmb3IgZml4ZWQgZWxlbWVudHMgaW4gbmFtZWQgZmxv
d3M8L3A+CisgICAgICAgIDxwPlRoaXMgdGVzdCBjb2xsZWN0cyBhIGZpeGVkIHBvc2l0aW9uIGVs
ZW1lbnQgaW5zaWRlIGEgbmFtZWQgZmxvdyBhbmQgZmxvd3MgaXQgaW50byBhIHJlZ2lvbi48L3A+
CisgICAgICAgIDxwPlRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgc2hvdWxkIGJlIHBvc2l0
aW9uZWQgYW5kIHNpemVkIHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydC48L3A+CisgICAgICAgIDxw
Pk9uIHN1Y2Nlc3MgeW91IHNob3VsZCBub3Qgc2VlIHJlZCBiZWxvdy48L3A+CisgICAgICAgIDxk
aXYgaWQ9ImdyZWVuIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctcG9zaXRp
b24tY2hhbmdlZC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9u
cy9maXhlZC1pbi1uYW1lZC1mbG93LXBvc2l0aW9uLWNoYW5nZWQtZXhwZWN0ZWQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMzVkZGFlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LXBv
c2l0aW9uLWNoYW5nZWQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQo
dHJ1ZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAj
Zml4ZWQgeyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogMTUwcHg7IGxlZnQ6IDE1MHB4OyBiYWNrZ3Jv
dW5kLWNvbG9yOiBncmVlbjsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB9CisgICAgICAg
IDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8IS0tIEZpeGVkIHBv
c2l0aW9uZWQgZWxlbWVudCBpbnNpZGUgYSBuYW1lZCBmbG93LCBkeW5hbWljYWxseSBjaGFuZ2Vk
IHRvcC9sZWZ0IC0tPgorICAgICAgICA8cD5UZXN0IHRoYXQgYSBmaXhlZCBwb3NpdGlvbmVkIGVs
ZW1lbnQgd2hvc2UgcG9zaXRpb24gaXMgZHluYW1pY2FsbHkgY2hhbmdlZAorICAgICAgICAgICAg
aXMgY29ycmVjdGx5IHBhaW50ZWQgaW4gdGhlIG5ldyBwb3NpdGlvbi48L3A+CisgICAgICAgIDxw
Pk9uIHN1Y2Nlc3MgeW91IHNob3VsZCBzZWUgYSBncmVlbiByZWN0YW5nbGUgYW5kIG5vIHJlZC48
L3A+CisgICAgICAgIDxkaXYgaWQ9ImZpeGVkIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5h
bWVkLWZsb3ctcG9zaXRpb24tY2hhbmdlZC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
cmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LXBvc2l0aW9uLWNoYW5nZWQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Y2M0MmNiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LXBvc2l0
aW9uLWNoYW5nZWQuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQodHJ1ZSk7CisgICAg
ICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjZml4ZWQgeyAtd2Vi
a2l0LWZsb3ctaW50bzogZmxvdzsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDUwcHg7IGxlZnQ6IDUw
cHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7
IH0KKyAgICAgICAgICAgICNyZWQgeyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogMTUwcHg7IGxlZnQ6
IDE1MHB4OyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6IHJl
ZDsgfQorICAgICAgICAgICAgLyogV2UgbmVlZCBhIHJlZ2lvbiBvdGhlcndpc2UgdGhlIGZpeGVk
IHBvc2l0aW9uZWQgZWxlbWVudCBpcyBub3QgZGlzcGxheWVkICovCisgICAgICAgICAgICAjcmVn
aW9uIHsgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8
L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDwhLS0gRml4ZWQgcG9zaXRpb25lZCBlbGVtZW50
IGluc2lkZSBhIG5hbWVkIGZsb3csIGR5bmFtaWNhbGx5IGNoYW5nZWQgdG9wL2xlZnQgLS0+Cisg
ICAgICAgIDxwPlRlc3QgdGhhdCBhIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCB3aG9zZSBwb3Np
dGlvbiBpcyBkeW5hbWljYWxseSBjaGFuZ2VkCisgICAgICAgICAgICBpcyBjb3JyZWN0bHkgcGFp
bnRlZCBpbiB0aGUgbmV3IHBvc2l0aW9uLjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2VzcyB5b3Ug
c2hvdWxkIHNlZSBhIGdyZWVuIHJlY3RhbmdsZSBhbmQgbm8gcmVkLjwvcD4KKyAgICAgICAgPGRp
diBpZD0icmVkIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQiPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJyZWdpb24iPjwvZGl2PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAg
ZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZml4ZWQiKS5zdHlsZS50b3AgPSAiMTUwcHgiOworICAgICAgICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJmaXhlZCIpLnN0eWxlLmxlZnQgPSAiMTUwcHgiOworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dCh0ZXN0LCAw
KTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LXpJbmRl
eC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1p
bi1uYW1lZC1mbG93LXpJbmRleC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLmU1NjU3ODIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctekluZGV4LWV4cGVjdGVkLmh0bWwK
QEAgLTAsMCArMSwyNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAg
ICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAg
ICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKHRydWUpOworICAgICAgICA8L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgI2ZpeGVkMSB7IHdpZHRoOiAxMDBweDsgaGVpZ2h0
OiAxMDBweDsgdG9wOiAxMDBweDsgbGVmdDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVu
OyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDEwOyB9CisKKyAgICAgICAgICAgICNmaXhlZDIg
eyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IHRvcDogMTUwcHg7IGxlZnQ6IDE1MHB4OyBi
YWNrZ3JvdW5kLWNvbG9yOiBvcmFuZ2U7IHBvc2l0aW9uOiBmaXhlZDsgei1pbmRleDogMTsgfQor
CisgICAgICAgICAgICAjZml4ZWQzIHsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB0b3A6
IDE3NXB4OyBsZWZ0OiAxNzVweDsgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsgcG9zaXRpb246IGZp
eGVkOyB6LWluZGV4OiA1OyB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxi
b2R5PgorICAgICAgICA8cD5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTI1MTQ0Ij5XZWJLaXQgQnVnIDEyNTE0NDwvYT4gW0NTUyBSZWdp
b25zXSBFbmFibGUgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgZm9yIGZpeGVkIGVsZW1lbnRzIGlu
IG5hbWVkIGZsb3dzPC9wPgorICAgICAgICA8cD5UZXN0IHRoYXQgcGFpbnRpbmcgdGhlIGZpeGVk
IHBvc2l0aW9uZWQgZWxlbWVudHMgaW5zaWRlIHRoZSBzYW1lIG5hbWVkIGZsb3cgdGFrZXMgeklu
ZGV4IGludG8gYWNjb3VudC48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91bGQg
c2VlIDMgcmVjdGFuZ2xlcyBwYWludGVkIGluIHRoZSBmb2xsb3dpbmcgb3JkZXI6IGdyZWVuLCBi
bHVlLCBvcmFuZ2UuPC9wPgorICAgICAgICA8ZGl2IGlkPSJmaXhlZDEiPjwvZGl2PgorICAgICAg
ICA8ZGl2IGlkPSJmaXhlZDIiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJmaXhlZDMiPjwvZGl2
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy16SW5kZXguaHRtbCBiL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy16SW5kZXguaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yM2MxYjhlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LXpJ
bmRleC5odG1sCkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAg
PGhlYWQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFs
cykKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJh
dGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgPC9z
Y3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICNmaXhlZDEgeyAtd2Via2l0LWZs
b3ctaW50bzogZmxvdzsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB0b3A6IDEwMHB4OyBs
ZWZ0OiAxMDBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IHBvc2l0aW9uOiBmaXhlZDsgei1p
bmRleDogMTA7IH0KKworICAgICAgICAgICAgI2ZpeGVkMiB7IC13ZWJraXQtZmxvdy1pbnRvOiBm
bG93OyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IHRvcDogMTUwcHg7IGxlZnQ6IDE1MHB4
OyBiYWNrZ3JvdW5kLWNvbG9yOiBvcmFuZ2U7IHBvc2l0aW9uOiBmaXhlZDsgei1pbmRleDogMTsg
fQorCisgICAgICAgICAgICAjZml4ZWQzIHsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7IHdpZHRo
OiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxNzVweDsgbGVmdDogMTc1cHg7IGJhY2tncm91
bmQtY29sb3I6IGJsdWU7IHBvc2l0aW9uOiBmaXhlZDsgei1pbmRleDogNTsgfQorCisgICAgICAg
ICAgICAvKiBXZSBuZWVkIGEgcmVnaW9uIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBmaXhlZCBwb3Np
dGlvbmVkIGVsZW1lbnRzIGFyZSBub3QgZGlzcGxheWVkICovCisgICAgICAgICAgICAjcmVnaW9u
IHsgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hl
YWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUxNDQiPldlYktpdCBCdWcgMTI1MTQ0PC9h
PiBbQ1NTIFJlZ2lvbnNdIEVuYWJsZSBhY2NlbGVyYXRlZCBjb21wb3NpdGluZyBmb3IgZml4ZWQg
ZWxlbWVudHMgaW4gbmFtZWQgZmxvd3M8L3A+CisgICAgICAgIDxwPlRlc3QgdGhhdCBwYWludGlu
ZyB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50cyBpbnNpZGUgdGhlIHNhbWUgbmFtZWQgZmxv
dyB0YWtlcyB6SW5kZXggaW50byBhY2NvdW50LjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2Vzcywg
eW91IHNob3VsZCBzZWUgMyByZWN0YW5nbGVzIHBhaW50ZWQgaW4gdGhlIGZvbGxvd2luZyBvcmRl
cjogZ3JlZW4sIGJsdWUsIG9yYW5nZS48L3A+CisgICAgICAgIDxkaXYgaWQ9ImZpeGVkMSI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9ImZpeGVkMiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImZp
eGVkMyI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InJlZ2lvbiI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9m
aXhlZC1pbi1uYW1lZC1mbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25z
L2ZpeGVkLWluLW5hbWVkLWZsb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi41Y2YyYTI4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
cmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93Lmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAg
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5h
bHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFi
bGVkKHRydWUpOworICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgI3JlZCB7IHBvc2l0aW9uOiBmaXhlZDsgd2lkdGg6IDIwJTsgaGVpZ2h0OiAyMCU7IHRvcDog
MTUwcHg7IGxlZnQ6IDEyNXB4OyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IH0KKyAgICAgICAgICAg
ICNmaXhlZCB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyBwb3NpdGlvbjogZml4ZWQ7IHdpZHRo
OiAyMCU7IGhlaWdodDogMjAlOyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgdG9wOiAxNTBweDsg
bGVmdDogMTI1cHg7IH0KKyAgICAgICAgICAgICNyZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTog
Zmxvdzsgd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRv
cDogMTUwcHg7IGxlZnQ6IDE1MHB4OyB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxib2R5PgorICAgICAgICA8cD5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1MTQ0Ij5XZWJLaXQgQnVnIDEyNTE0NDwvYT4gW0NT
UyBSZWdpb25zXSBFbmFibGUgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgZm9yIGZpeGVkIGVsZW1l
bnRzIGluIG5hbWVkIGZsb3dzPC9wPgorICAgICAgICA8cD5UaGlzIHRlc3QgY29sbGVjdHMgYSBm
aXhlZCBwb3NpdGlvbiBlbGVtZW50IGluc2lkZSBhIG5hbWVkIGZsb3cgYW5kIGZsb3dzIGl0IGlu
dG8gYSByZWdpb24uPC9wPgorICAgICAgICA8cD5UaGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50
IHNob3VsZCBiZSBwb3NpdGlvbmVkIGFuZCBzaXplZCByZWxhdGl2ZSB0byB0aGUgdmlld3BvcnQu
PC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzIHlvdSBzaG91bGQgbm90IHNlZSByZWQgYmVsb3cu
PC9wPgorICAgICAgICA8ZGl2IGlkPSJyZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJmaXhl
ZCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InJlZ2lvbiI+PC9kaXY+CisgICAgPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2VsZW1lbnQtaW4t
bmFtZWQtZmxvdy1hYnNvbHV0ZS1mcm9tLWZpeGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Jl
Z2lvbnMvZWxlbWVudC1pbi1uYW1lZC1mbG93LWFic29sdXRlLWZyb20tZml4ZWQuaHRtbAppbmRl
eCA4ZjZkMmRjLi4xMDRkOWQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMv
ZWxlbWVudC1pbi1uYW1lZC1mbG93LWFic29sdXRlLWZyb20tZml4ZWQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3JlZ2lvbnMvZWxlbWVudC1pbi1uYW1lZC1mbG93LWFic29sdXRlLWZyb20t
Zml4ZWQuaHRtbApAQCAtMSw2ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogICAg
IDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZChmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0
PgogICAgICAgICA8c3R5bGU+CiAgICAgICAgICAgICAjcmVkIHsgcG9zaXRpb246IGFic29sdXRl
OyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyB0b3A6IDIwMHB4OyBsZWZ0OiAxNTBweDsgYmFj
a2dyb3VuZC1jb2xvcjogcmVkOyB9CiAgICAgICAgICAgICAjcmVnaW9uIHsgLXdlYmtpdC1mbG93
LWZyb206IGZsb3c7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMDBweDsgbGVmdDogMTAwcHg7
IHdpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweDsgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9yZWdpb25zL2VsZW1lbnQtaW4tbmFtZWQtZmxvdy1maXhlZC1mcm9tLWFic29sdXRlLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZWxlbWVudC1pbi1uYW1lZC1mbG93LWZpeGVk
LWZyb20tYWJzb2x1dGUuaHRtbAppbmRleCBlNzY2YTliLi5iODg5YTVhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZWxlbWVudC1pbi1uYW1lZC1mbG93LWZpeGVkLWZyb20t
YWJzb2x1dGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZWxlbWVudC1pbi1u
YW1lZC1mbG93LWZpeGVkLWZyb20tYWJzb2x1dGUuaHRtbApAQCAtMSw4ICsxLDEyIEBACiA8IURP
Q1RZUEUgaHRtbD4KIDxodG1sPgogICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAg
ICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZChm
YWxzZSk7CisgICAgICAgIDwvc2NyaXB0PgogICAgICAgICA8c3R5bGU+Ci0gICAgICAgICAgICAj
cmVkIHsgcG9zaXRpb246IGFic29sdXRlOyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IHdpZHRoOiA1
MHB4OyBoZWlnaHQ6IDUwcHg7IHRvcDogMTAwcHg7IGxlZnQ6IDUwcHg7IH0KKyAgICAgICAgICAg
ICNyZWQgeyBwb3NpdGlvbjogZml4ZWQ7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgd2lkdGg6IDUw
cHg7IGhlaWdodDogNTBweDsgdG9wOiAxMDBweDsgbGVmdDogNTBweDsgfQogICAgICAgICAgICAg
I3JlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRv
cDogMTAwcHg7IGxlZnQ6IDEwMHB4OyB3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7IH0KICAg
ICAgICAgICAgICN0YXJnZXQgIHsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7IHdpZHRoOiA1MHB4
OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB0b3A6IDEwMHB4OyBsZWZ0
OiA1MHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDA7IH0KICAgICAgICAgPC9zdHls
ZT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9lbGVtZW50LWluZmxvdy1m
aXhlZC1mcm9tLW91dGZsb3ctc3RhdGljLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMv
ZWxlbWVudC1pbmZsb3ctZml4ZWQtZnJvbS1vdXRmbG93LXN0YXRpYy5odG1sCmluZGV4IDliZDg5
ZDcuLjA0MTFhMjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9lbGVtZW50
LWluZmxvdy1maXhlZC1mcm9tLW91dGZsb3ctc3RhdGljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9yZWdpb25zL2VsZW1lbnQtaW5mbG93LWZpeGVkLWZyb20tb3V0Zmxvdy1zdGF0aWMuaHRt
bApAQCAtMSw4ICsxLDEyIEBACiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogICAgIDxoZWFkPgor
ICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAg
ICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdG
b3JGaXhlZFBvc2l0aW9uRW5hYmxlZChmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0PgogICAgICAg
ICA8c3R5bGU+Ci0gICAgICAgICAgICAjcmVkIHsgcG9zaXRpb246IGFic29sdXRlOyBiYWNrZ3Jv
dW5kLWNvbG9yOiByZWQ7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7IHRvcDogMTAwcHg7IGxl
ZnQ6IDUwcHg7IH0KKyAgICAgICAgICAgICNyZWQgeyBwb3NpdGlvbjogZml4ZWQ7IGJhY2tncm91
bmQtY29sb3I6IHJlZDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgdG9wOiAxMDBweDsgbGVm
dDogNTBweDsgfQogICAgICAgICAgICAgI2NvbnRhaW5lciB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsg
dG9wOiAzMDBweDsgbGVmdDogMzAwcHg7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgfQog
ICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OyBwb3NpdGlvbjog
YWJzb2x1dGU7IHRvcDogMTAwcHg7IGxlZnQ6IDEwMHB4OyB3aWR0aDogMjAwcHg7IGhlaWdodDog
MjAwcHg7IH0KICAgICAgICAgICAgICN0YXJnZXQgIHsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBw
eDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IHRvcDogMTAwcHg7IGxlZnQ6IDUwcHg7IH0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9lbGVtZW50LW91dGZsb3ctc3RhdGlj
LWZyb20taW5mbG93LWZpeGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZWxlbWVu
dC1vdXRmbG93LXN0YXRpYy1mcm9tLWluZmxvdy1maXhlZC5odG1sCmluZGV4IDcxNjE4YzQuLjdj
NDY2NTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9lbGVtZW50LW91dGZs
b3ctc3RhdGljLWZyb20taW5mbG93LWZpeGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9y
ZWdpb25zL2VsZW1lbnQtb3V0Zmxvdy1zdGF0aWMtZnJvbS1pbmZsb3ctZml4ZWQuaHRtbApAQCAt
MSw2ICsxLDEwIEBACiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogICAgIDxoZWFkPgorICAgICAg
ICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAg
ICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhl
ZFBvc2l0aW9uRW5hYmxlZChmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0PgogICAgICAgICA8c3R5
bGU+CiAgICAgICAgICAgICAjcmVkIHsgcG9zaXRpb246IGFic29sdXRlOyBiYWNrZ3JvdW5kLWNv
bG9yOiByZWQ7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7IHRvcDogMzAwcHg7IGxlZnQ6IDMw
MHB4OyB9CiAgICAgICAgICAgICAjY29udGFpbmVyIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6
IDMwMHB4OyBsZWZ0OiAzMDBweDsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB9CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1wb3Np
dGlvbi1jaGFuZ2VkLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZml4
ZWQtaW4tbmFtZWQtZmxvdy1wb3NpdGlvbi1jaGFuZ2VkLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzU2NTdjOAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LXBvc2l0aW9uLWNoYW5n
ZWQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQoZmFsc2UpOworICAg
ICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgI2ZpeGVkIHsgcG9z
aXRpb246IGZpeGVkOyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgYmFja2dyb3VuZC1jb2xvcjog
Z3JlZW47IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgfQorICAgICAgICA8L3N0eWxlPgor
ICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPCEtLSBGaXhlZCBwb3NpdGlvbmVkIGVs
ZW1lbnQgaW5zaWRlIGEgbmFtZWQgZmxvdywgZHluYW1pY2FsbHkgY2hhbmdlZCB0b3AvbGVmdCAt
LT4KKyAgICAgICAgPHA+VGVzdCB0aGF0IGEgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHdob3Nl
IHBvc2l0aW9uIGlzIGR5bmFtaWNhbGx5IGNoYW5nZWQKKyAgICAgICAgICAgIGlzIGNvcnJlY3Rs
eSBwYWludGVkIGluIHRoZSBuZXcgcG9zaXRpb24uPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNz
IHlvdSBzaG91bGQgc2VlIGEgZ3JlZW4gcmVjdGFuZ2xlIGFuZCBubyByZWQuPC9wPgorICAgICAg
ICA8ZGl2IGlkPSJmaXhlZCI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctcG9zaXRpb24t
Y2hhbmdlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZs
b3ctcG9zaXRpb24tY2hhbmdlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjMyNmExZGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMv
Zml4ZWQtaW4tbmFtZWQtZmxvdy1wb3NpdGlvbi1jaGFuZ2VkLmh0bWwKQEAgLTAsMCArMSwzMiBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdD4K
KyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9z
aXRpb25FbmFibGVkKGZhbHNlKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgICNmaXhlZCB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyBwb3NpdGlvbjog
Zml4ZWQ7IHRvcDogNTBweDsgbGVmdDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IHdp
ZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgfQorICAgICAgICAgICAgI3JlZCB7IHBvc2l0aW9u
OiBmaXhlZDsgdG9wOiAxNTBweDsgbGVmdDogMTUwcHg7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAx
MDBweDsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9CisgICAgICAgICAgICAvKiBXZSBuZWVkIGEg
cmVnaW9uIG90aGVyd2lzZSB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IGlzIG5vdCBkaXNw
bGF5ZWQgKi8KKyAgICAgICAgICAgICNyZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPCEt
LSBGaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgaW5zaWRlIGEgbmFtZWQgZmxvdywgZHluYW1pY2Fs
bHkgY2hhbmdlZCB0b3AvbGVmdCAtLT4KKyAgICAgICAgPHA+VGVzdCB0aGF0IGEgZml4ZWQgcG9z
aXRpb25lZCBlbGVtZW50IHdob3NlIHBvc2l0aW9uIGlzIGR5bmFtaWNhbGx5IGNoYW5nZWQKKyAg
ICAgICAgICAgIGlzIGNvcnJlY3RseSBwYWludGVkIGluIHRoZSBuZXcgcG9zaXRpb24uPC9wPgor
ICAgICAgICA8cD5PbiBzdWNjZXNzIHlvdSBzaG91bGQgc2VlIGEgZ3JlZW4gcmVjdGFuZ2xlIGFu
ZCBubyByZWQuPC9wPgorICAgICAgICA8ZGl2IGlkPSJyZWQiPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJmaXhlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InJlZ2lvbiI+PC9kaXY+CisgICAg
ICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAgICAg
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaXhlZCIpLnN0eWxlLnRvcCA9ICIxNTBweCI7
CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpeGVkIikuc3R5bGUu
bGVmdCA9ICIxNTBweCI7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHdpbmRvdy5zZXRU
aW1lb3V0KHRlc3QsIDApOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZml4ZWQtaW5zaWRlLWZpeGVk
LWluLW5hbWVkLWZsb3ctZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9m
aXhlZC1pbnNpZGUtZml4ZWQtaW4tbmFtZWQtZmxvdy1leHBlY3RlZC5odG1sCmluZGV4IDQwODQ5
NTcuLmFmY2U2NGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9maXhlZC1p
bnNpZGUtZml4ZWQtaW4tbmFtZWQtZmxvdy1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvcmVnaW9ucy9maXhlZC1pbnNpZGUtZml4ZWQtaW4tbmFtZWQtZmxvdy1leHBlY3RlZC5o
dG1sCkBAIC0xLDkgKzEsMTMgQEAKIDwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiAgICAgPGhlYWQ+
CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAg
ICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKGZhbHNlKTsKKyAgICAgICAgPC9zY3JpcHQ+CiAgICAg
ICAgIDxzdHlsZT4KLSAgICAgICAgICAgICNncmVlbk91dGVyIHsgcG9zaXRpb246IGFic29sdXRl
OyB0b3A6IDEwMHB4OyBsZWZ0OiA1MHB4OyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJh
Y2tncm91bmQtY29sb3I6IGdyZWVuOyB9Ci0gICAgICAgICAgICAjb3JhbmdlSW5uZXIgeyBwb3Np
dGlvbjogYWJzb2x1dGU7IHRvcDogNTBweDsgbGVmdDogNTBweDsgd2lkdGg6IDEwMHB4OyBoZWln
aHQ6IDEwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBvcmFuZ2U7IH0KKyAgICAgICAgICAgICNncmVl
bk91dGVyIHsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDEwMHB4OyBsZWZ0OiA1MHB4OyB3aWR0aDog
MTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB9CisgICAgICAg
ICAgICAjb3JhbmdlSW5uZXIgeyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogMTUwcHg7IGxlZnQ6IDEw
MHB4OyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6IG9yYW5n
ZTsgfQogICAgICAgICA8L3N0eWxlPgogICAgIDwvaGVhZD4KICAgICA8Ym9keT4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9maXhlZC1pbnNpZGUtZml4ZWQtaW4tbmFtZWQt
Zmxvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2ZpeGVkLWluc2lkZS1maXhlZC1p
bi1uYW1lZC1mbG93Lmh0bWwKaW5kZXggMDQ2OWZlZC4uOTFjY2Y4NCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9yZWdpb25zL2ZpeGVkLWluc2lkZS1maXhlZC1pbi1uYW1lZC1mbG93Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2ZpeGVkLWluc2lkZS1maXhlZC1pbi1u
YW1lZC1mbG93Lmh0bWwKQEAgLTEsOSArMSwxMyBAQAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4K
ICAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50
ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQoZmFsc2UpOworICAgICAgICA8L3Nj
cmlwdD4KICAgICAgICAgPHN0eWxlPgotICAgICAgICAgICAgI3JlZE91dGVyIHsgcG9zaXRpb246
IGFic29sdXRlOyB0b3A6IDEwMHB4OyBsZWZ0OiA1MHB4OyB3aWR0aDogMTAwcHg7IGhlaWdodDog
MTAwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQotICAgICAgICAgICAgI3JlZElubmVyIHsg
cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwcHg7IGxlZnQ6IDUwcHg7IHdpZHRoOiAxMDBweDsg
aGVpZ2h0OiAxMDBweDsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9CisgICAgICAgICAgICAjcmVk
T3V0ZXIgeyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogMTAwcHg7IGxlZnQ6IDUwcHg7IHdpZHRoOiAx
MDBweDsgaGVpZ2h0OiAxMDBweDsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9CisgICAgICAgICAg
ICAjcmVkSW5uZXIgeyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogMTUwcHg7IGxlZnQ6IDEwMHB4OyB3
aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQogICAg
ICAgICAgICAgI291dGVyRml4ZWQgeyAtd2Via2l0LWZsb3ctaW50bzogZmxvdzsgcG9zaXRpb246
IGZpeGVkOyB0b3A6IDEwMHB4OyBsZWZ0OiA1MHB4OyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAw
cHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB9CiAgICAgICAgICAgICAjaW5uZXJGaXhlZCB7
IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiAxNTBweDsgbGVmdDogMTAwcHg7IHdpZHRoOiAxMDBweDsg
aGVpZ2h0OiAxMDBweDsgYmFja2dyb3VuZC1jb2xvcjogb3JhbmdlOyB9CiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9maXhlZC1pbnNpZGUtbmFtZWQtZmxvdy16SW5kZXgt
ZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9maXhlZC1pbnNpZGUtbmFt
ZWQtZmxvdy16SW5kZXgtZXhwZWN0ZWQuaHRtbAppbmRleCA3ZjM3NGZkLi5kNjYwOTVjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZml4ZWQtaW5zaWRlLW5hbWVkLWZsb3ct
ekluZGV4LWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2ZpeGVk
LWluc2lkZS1uYW1lZC1mbG93LXpJbmRleC1leHBlY3RlZC5odG1sCkBAIC0xLDE0ICsxLDE0IEBA
CiA8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgotICAgIDxzY3JpcHQ+Ci0gICAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCi0gICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBv
c2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQoZmFsc2UpOwotICAgIDwvc2NyaXB0PgogICAg
IDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCisgICAgICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZChmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0
PgogICAgICAgICA8c3R5bGU+Ci0gICAgICAgICNmaXhlZDEgeyB3aWR0aDogMTAwcHg7IGhlaWdo
dDogMTAwcHg7IHRvcDogMTAwcHg7IGxlZnQ6IDEwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVl
bjsgcG9zaXRpb246IGZpeGVkOyB6LWluZGV4OiAxMDsgfQorICAgICAgICAgICAgI2ZpeGVkMSB7
IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxMDBweDsgbGVmdDogMTAwcHg7IGJh
Y2tncm91bmQtY29sb3I6IGdyZWVuOyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDEwOyB9CiAK
LSAgICAgICAgI2ZpeGVkMiB7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxNTBw
eDsgbGVmdDogMTUwcHg7IGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTsgcG9zaXRpb246IGZpeGVk
OyB9CisgICAgICAgICAgICAjZml4ZWQyIHsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB0
b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgYmFja2dyb3VuZC1jb2xvcjogb3JhbmdlOyBwb3NpdGlv
bjogZml4ZWQ7IH0KICAgICAgICAgPC9zdHlsZT4KICAgICA8L2hlYWQ+CiAgICAgPGJvZHk+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZml4ZWQtaW5zaWRlLW5hbWVkLWZs
b3ctekluZGV4Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZml4ZWQtaW5zaWRlLW5h
bWVkLWZsb3ctekluZGV4Lmh0bWwKaW5kZXggYTk5NDJkNS4uNjc3MDNjOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2ZpeGVkLWluc2lkZS1uYW1lZC1mbG93LXpJbmRleC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9maXhlZC1pbnNpZGUtbmFtZWQtZmxv
dy16SW5kZXguaHRtbApAQCAtMSwxNyArMSwxNyBAQAogPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4K
LSAgICA8c2NyaXB0PgotICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAgICAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFi
bGVkKGZhbHNlKTsKLSAgICA8L3NjcmlwdD4KICAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdD4K
KyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVu
YWJsZWQoZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4KICAgICAgICAgPHN0eWxlPgotICAgICAg
ICAjZml4ZWQxIHsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7IHdpZHRoOiAxMDBweDsgaGVpZ2h0
OiAxMDBweDsgdG9wOiAxMDBweDsgbGVmdDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVu
OyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDEwOyB9CisgICAgICAgICAgICAjZml4ZWQxIHsg
LXdlYmtpdC1mbG93LWludG86IGZsb3c7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9w
OiAxMDBweDsgbGVmdDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyBwb3NpdGlvbjog
Zml4ZWQ7IHotaW5kZXg6IDEwOyB9CiAKLSAgICAgICAgI2ZpeGVkMiB7IC13ZWJraXQtZmxvdy1p
bnRvOiBmbG93OyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IHRvcDogMTUwcHg7IGxlZnQ6
IDE1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBvcmFuZ2U7IHBvc2l0aW9uOiBmaXhlZDsgfQorICAg
ICAgICAgICAgI2ZpeGVkMiB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyB3aWR0aDogMTAwcHg7
IGhlaWdodDogMTAwcHg7IHRvcDogMTUwcHg7IGxlZnQ6IDE1MHB4OyBiYWNrZ3JvdW5kLWNvbG9y
OiBvcmFuZ2U7IHBvc2l0aW9uOiBmaXhlZDsgfQogCi0gICAgICAgIC8qIFdlIG5lZWQgYSByZWdp
b24gYmVjYXVzZSBvdGhlcndpc2UgdGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudHMgYXJlIG5v
dCBkaXNwbGF5ZWQgKi8KLSAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93
OyB9CisgICAgICAgICAgICAvKiBXZSBuZWVkIGEgcmVnaW9uIGJlY2F1c2Ugb3RoZXJ3aXNlIHRo
ZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnRzIGFyZSBub3QgZGlzcGxheWVkICovCisgICAgICAg
ICAgICAjcmVnaW9uIHsgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7IH0KICAgICAgICAgPC9zdHls
ZT4KICAgICA8L2hlYWQ+CiAgICAgPGJvZHk+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3JlZ2lvbnMvZml4ZWQtcG9zLWVsZW0taW4tcmVnaW9uLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3JlZ2lvbnMvZml4ZWQtcG9zLWVsZW0taW4tcmVnaW9uLWV4cGVjdGVkLmh0bWwK
aW5kZXggYmVkODNlMi4uNGYyYjk3OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdp
b25zL2ZpeGVkLXBvcy1lbGVtLWluLXJlZ2lvbi1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvcmVnaW9ucy9maXhlZC1wb3MtZWxlbS1pbi1yZWdpb24tZXhwZWN0ZWQuaHRtbApA
QCAtMSw2ICsxLDEwIEBACiA8IWRvY3R5cGUgaHRtbD4KIDxodG1sPgogICAgIDxoZWFkPgorICAg
ICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAg
ICAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JG
aXhlZFBvc2l0aW9uRW5hYmxlZChmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0PgogICAgICAgICA8
c3R5bGU+CiAgICAgICAgICAgICAjZ3JlZW4geyBwb3NpdGlvbjogZml4ZWQ7IHdpZHRoOiAyMCU7
IGhlaWdodDogMjAlOyB0b3A6IDE1MHB4OyBsZWZ0OiAxMjVweDsgYmFja2dyb3VuZC1jb2xvcjog
Z3JlZW47IH0KICAgICAgICAgPC9zdHlsZT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
cmVnaW9ucy9maXhlZC1wb3MtZWxlbS1pbi1yZWdpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
cmVnaW9ucy9maXhlZC1wb3MtZWxlbS1pbi1yZWdpb24uaHRtbAppbmRleCBlNDA4ZjA0Li5jYzlm
YTQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZml4ZWQtcG9zLWVsZW0t
aW4tcmVnaW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2ZpeGVkLXBvcy1l
bGVtLWluLXJlZ2lvbi5odG1sCkBAIC0xLDggKzEsMTIgQEAKIDwhZG9jdHlwZSBodG1sPgogPGh0
bWw+CiAgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93
LmludGVybmFscykKKyAgICAgICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKGZhbHNlKTsKKyAgICAgICAg
PC9zY3JpcHQ+CiAgICAgICAgIDxzdHlsZT4KLSAgICAgICAgICAgICNyZWQgeyBwb3NpdGlvbjog
YWJzb2x1dGU7IHdpZHRoOiAyMCU7IGhlaWdodDogMjAlOyB0b3A6IDE1MHB4OyBsZWZ0OiAxMjVw
eDsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9CisgICAgICAgICAgICAjcmVkIHsgcG9zaXRpb246
IGZpeGVkOyB3aWR0aDogMjAlOyBoZWlnaHQ6IDIwJTsgdG9wOiAxNTBweDsgbGVmdDogMTI1cHg7
IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQogICAgICAgICAgICAgI2ZpeGVkIHsgLXdlYmtpdC1m
bG93LWludG86IGZsb3c7IHBvc2l0aW9uOiBmaXhlZDsgd2lkdGg6IDIwJTsgaGVpZ2h0OiAyMCU7
IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB0b3A6IDE1MHB4OyBsZWZ0OiAxMjVweDsgfQogICAg
ICAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OyB3aWR0aDogMjAwcHg7
IGhlaWdodDogMjAwcHg7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxNTBweDsgbGVmdDogMTUw
cHg7IH0KICAgICAgICAgPC9zdHlsZT4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVn
aW9ucy9maXhlZC1wb3MtcmVnaW9uLWluLW5lc3RlZC1mbG93LWV4cGVjdGVkLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3JlZ2lvbnMvZml4ZWQtcG9zLXJlZ2lvbi1pbi1uZXN0ZWQtZmxvdy1leHBl
Y3RlZC5odG1sCmluZGV4IDI5ODIzOGMuLjg0OWU5ZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvcmVnaW9ucy9maXhlZC1wb3MtcmVnaW9uLWluLW5lc3RlZC1mbG93LWV4cGVjdGVkLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2ZpeGVkLXBvcy1yZWdpb24taW4tbmVz
dGVkLWZsb3ctZXhwZWN0ZWQuaHRtbApAQCAtMiw4ICsyLDggQEAKIDxodG1sPgogPGhlYWQ+CiAg
ICAgPHNjcmlwdD4KLSAgICBpZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxl
ZChmYWxzZSk7CisgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9u
RW5hYmxlZChmYWxzZSk7CiAgICAgPC9zY3JpcHQ+CiAgICAgPHN0eWxlPgogICAgICAgICBib2R5
IHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9maXhlZC1wb3MtcmVnaW9u
LWluLW5lc3RlZC1mbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZml4ZWQtcG9z
LXJlZ2lvbi1pbi1uZXN0ZWQtZmxvdy5odG1sCmluZGV4IDNlNzZhNjEuLjE2YTgyZTUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9maXhlZC1wb3MtcmVnaW9uLWluLW5lc3Rl
ZC1mbG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2ZpeGVkLXBvcy1yZWdp
b24taW4tbmVzdGVkLWZsb3cuaHRtbApAQCAtMiw4ICsyLDggQEAKIDxodG1sPgogPGhlYWQ+CiAg
ICAgPHNjcmlwdD4KLSAgICBpZiAod2luZG93LmludGVybmFscykKLSAgICAgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxl
ZChmYWxzZSk7CisgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9u
RW5hYmxlZChmYWxzZSk7CiAgICAgPC9zY3JpcHQ+CiAgICAgPHN0eWxlPgogICAgICAgICBib2R5
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFkQ29udHJv
bGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIu
Y3BwCmluZGV4IDc1OGVjMmQuLjE0MDEzYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9GbG93VGhyZWFkQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmNwcApAQCAtMjgwLDYgKzI4MCwxMiBAQCBib29s
IEZsb3dUaHJlYWRDb250cm9sbGVyOjppc0NvbnRlbnRFbGVtZW50UmVnaXN0ZXJlZFdpdGhBbnlO
YW1lZEZsb3coY29uc3QgRWxlbQogICAgIHJldHVybiBtX21hcE5hbWVkRmxvd0NvbnRlbnRFbGVt
ZW50LmNvbnRhaW5zKCZjb250ZW50RWxlbWVudCk7CiB9CiAKKy8vIEhlbHBlciBmb3IgdGhlIHNv
cnRpbmcgb2YgbGF5ZXJzIGJ5IHotaW5kZXguCitzdGF0aWMgaW5saW5lIGJvb2wgY29tcGFyZVpJ
bmRleChSZW5kZXJMYXllciogZmlyc3QsIFJlbmRlckxheWVyKiBzZWNvbmQpCit7CisgICAgcmV0
dXJuIGZpcnN0LT56SW5kZXgoKSA8IHNlY29uZC0+ekluZGV4KCk7Cit9CisKIC8vIENvbGxlY3Qg
dGhlIGZpeGVkIHBvc2l0aW9uZWQgbGF5ZXJzIHRoYXQgaGF2ZSB0aGUgbmFtZWQgZmxvd3MgYXMg
Y29udGFpbmluZyBibG9jawogLy8gVGhlc2UgbGF5ZXJzIGFyZSBwYWludGVkIGFuZCBoaXQtdGVz
dGVkIHN0YXJ0aW5nIGZyb20gUmVuZGVyVmlldyBub3QgZnJvbSByZWdpb25zLgogdm9pZCBGbG93
VGhyZWFkQ29udHJvbGxlcjo6Y29sbGVjdEZpeGVkUG9zaXRpb25lZExheWVycyhWZWN0b3I8UmVu
ZGVyTGF5ZXIqPiYgZml4ZWRQb3NMYXllcnMpIGNvbnN0CkBAIC0yOTIsMTcgKzI5OCwzMCBAQCB2
b2lkIEZsb3dUaHJlYWRDb250cm9sbGVyOjpjb2xsZWN0Rml4ZWRQb3NpdGlvbmVkTGF5ZXJzKFZl
Y3RvcjxSZW5kZXJMYXllcio+JiBmaQogICAgICAgICBpZiAoIWZsb3dSZW5kZXJlci0+aGFzUmVn
aW9ucygpKQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgLy8gSXRlcmF0ZSBvdmVy
IHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnRzIGluIHRoZSBmbG93IHRocmVhZAotICAgICAg
ICBUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldCogcG9zaXRpb25lZERlc2NlbmRhbnRzID0gZmxv
d1JlbmRlcmVyLT5wb3NpdGlvbmVkT2JqZWN0cygpOwotICAgICAgICBpZiAocG9zaXRpb25lZERl
c2NlbmRhbnRzKSB7Ci0gICAgICAgICAgICBmb3IgKGF1dG8gaXQgPSBwb3NpdGlvbmVkRGVzY2Vu
ZGFudHMtPmJlZ2luKCksIGVuZCA9IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+ZW5kKCk7IGl0ICE9
IGVuZDsgKytpdCkgewotICAgICAgICAgICAgICAgIFJlbmRlckJveCogYm94ID0gKml0OwotICAg
ICAgICAgICAgICAgIGlmICghYm94LT5maXhlZFBvc2l0aW9uZWRXaXRoTmFtZWRGbG93Q29udGFp
bmluZ0Jsb2NrKCkpCisgICAgICAgIC8vIEl0ZXJhdGUgb3ZlciB0aGUgbGlzdHMgb2YgZml4ZWQg
cG9zaXRpb25lZCBsYXllcnMgY29sbGVjdGVkIGF0IGZsb3cgdGhyZWFkIGxheWVyIGxldmVsCisg
ICAgICAgIFJlbmRlckxheWVyKiBmbG93VGhyZWFkTGF5ZXIgPSBmbG93UmVuZGVyZXItPmxheWVy
KCk7CisKKyAgICAgICAgaWYgKFZlY3RvcjxSZW5kZXJMYXllcio+KiBuZWdaT3JkZXJMaXN0ID0g
Zmxvd1RocmVhZExheWVyLT5uZWdaT3JkZXJMaXN0KCkpIHsKKyAgICAgICAgICAgIGZvciAoc2l6
ZV90IGkgPSAwLCBzaXplID0gbmVnWk9yZGVyTGlzdC0+c2l6ZSgpOyBpIDwgc2l6ZTsgKytpKSB7
CisgICAgICAgICAgICAgICAgUmVuZGVyTGF5ZXIqIGN1cnJMYXllciA9IG5lZ1pPcmRlckxpc3Qt
PmF0KGkpOworICAgICAgICAgICAgICAgIGlmIChjdXJyTGF5ZXItPnJlbmRlcmVyKCkuc3R5bGUo
KS5wb3NpdGlvbigpICE9IEZpeGVkUG9zaXRpb24pCiAgICAgICAgICAgICAgICAgICAgIGNvbnRp
bnVlOwotICAgICAgICAgICAgICAgIGZpeGVkUG9zTGF5ZXJzLmFwcGVuZChib3gtPmxheWVyKCkp
OworICAgICAgICAgICAgICAgIGZpeGVkUG9zTGF5ZXJzLmFwcGVuZChjdXJyTGF5ZXIpOworICAg
ICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgaWYgKFZlY3RvcjxSZW5kZXJMYXllcio+
KiBwb3NaT3JkZXJMaXN0ID0gZmxvd1RocmVhZExheWVyLT5wb3NaT3JkZXJMaXN0KCkpIHsKKyAg
ICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwLCBzaXplID0gcG9zWk9yZGVyTGlzdC0+c2l6ZSgp
OyBpIDwgc2l6ZTsgKytpKSB7CisgICAgICAgICAgICAgICAgUmVuZGVyTGF5ZXIqIGN1cnJMYXll
ciA9IHBvc1pPcmRlckxpc3QtPmF0KGkpOworICAgICAgICAgICAgICAgIGlmIChjdXJyTGF5ZXIt
PnJlbmRlcmVyKCkuc3R5bGUoKS5wb3NpdGlvbigpICE9IEZpeGVkUG9zaXRpb24pCisgICAgICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIGZpeGVkUG9zTGF5ZXJzLmFw
cGVuZChjdXJyTGF5ZXIpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQorCisgICAg
Ly8gU29ydCB0aGUgZml4ZWQgbGF5ZXJzIGxpc3QKKyAgICBzdGQ6OnN0YWJsZV9zb3J0KGZpeGVk
UG9zTGF5ZXJzLmJlZ2luKCksIGZpeGVkUG9zTGF5ZXJzLmVuZCgpLCBjb21wYXJlWkluZGV4KTsK
IH0KIAogI2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGbG93VGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
bG93VGhyZWFkLmNwcAppbmRleCA3MWFlMTZlLi5jZjIxYWU4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCkBAIC0yNzAsNiArMjcwLDkgQEAgY29u
c3QgUmVuZGVyTGF5ZXJMaXN0KiBSZW5kZXJGbG93VGhyZWFkOjpnZXRMYXllckxpc3RGb3JSZWdp
b24oUmVuZGVyTmFtZWRGbG93RnIKIAogUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQqIFJlbmRlckZs
b3dUaHJlYWQ6OnJlZ2lvbkZvckNvbXBvc2l0ZWRMYXllcihSZW5kZXJMYXllciYgY2hpbGRMYXll
cikKIHsKKyAgICBpZiAoY2hpbGRMYXllci5yZW5kZXJlcigpLmZpeGVkUG9zaXRpb25lZFdpdGhO
YW1lZEZsb3dDb250YWluaW5nQmxvY2soKSkKKyAgICAgICAgcmV0dXJuIDA7CisKICAgICBpZiAo
Y2hpbGRMYXllci5yZW5kZXJCb3goKSkgewogICAgICAgICBSZW5kZXJSZWdpb24qIHN0YXJ0UmVn
aW9uID0gMDsKICAgICAgICAgUmVuZGVyUmVnaW9uKiBlbmRSZWdpb24gPSAwOwpAQCAtMTQ1MCw2
ICsxNDUzLDIxIEBAIHZvaWQgUmVuZGVyRmxvd1RocmVhZDo6Y2xlYXJSZWdpb25zT3ZlcmZsb3co
Y29uc3QgUmVuZGVyQm94KiBib3gpCiAgICAgfQogfQogCitib29sIFJlbmRlckZsb3dUaHJlYWQ6
Omhhc0ZpeGVkUG9zaXRpb25lZERlc2NlbmRhbnRzKCkgY29uc3QKK3sKKyAgICAvLyBJdGVyYXRl
IG92ZXIgdGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudHMgaW4gdGhlIGZsb3cgdGhyZWFkCisg
ICAgVHJhY2tlZFJlbmRlcmVyTGlzdEhhc2hTZXQqIHBvc2l0aW9uZWREZXNjZW5kYW50cyA9IHBv
c2l0aW9uZWRPYmplY3RzKCk7CisgICAgaWYgKCFwb3NpdGlvbmVkRGVzY2VuZGFudHMpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGZvciAoYXV0byBpdCA9IHBvc2l0aW9uZWREZXNjZW5k
YW50cy0+YmVnaW4oKSwgZW5kID0gcG9zaXRpb25lZERlc2NlbmRhbnRzLT5lbmQoKTsgaXQgIT0g
ZW5kOyArK2l0KSB7CisgICAgICAgIGlmICgoKml0KS0+c3R5bGUoKS5wb3NpdGlvbigpID09IEZp
eGVkUG9zaXRpb24pCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKIEN1cnJlbnRSZW5kZXJGbG93VGhyZWFkTWFpbnRhaW5lcjo6Q3VycmVu
dFJlbmRlckZsb3dUaHJlYWRNYWludGFpbmVyKFJlbmRlckZsb3dUaHJlYWQqIHJlbmRlckZsb3dU
aHJlYWQpCiAgICAgOiBtX3JlbmRlckZsb3dUaHJlYWQocmVuZGVyRmxvd1RocmVhZCkKICAgICAs
IG1fcHJldmlvdXNSZW5kZXJGbG93VGhyZWFkKDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZsb3dUaHJlYWQuaAppbmRleCAxMDlmN2E5Li5hNDgzMTVmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKQEAgLTIyMCw2ICsyMjAsOCBAQCBw
dWJsaWM6CiAgICAgCiAgICAgYm9vbCByZWdpb25JblJhbmdlKGNvbnN0IFJlbmRlclJlZ2lvbiog
dGFyZ2V0UmVnaW9uLCBjb25zdCBSZW5kZXJSZWdpb24qIHN0YXJ0UmVnaW9uLCBjb25zdCBSZW5k
ZXJSZWdpb24qIGVuZFJlZ2lvbikgY29uc3Q7CiAKKyAgICBib29sIGhhc0ZpeGVkUG9zaXRpb25l
ZERlc2NlbmRhbnRzKCkgY29uc3Q7CisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIGNvbnN0IGNo
YXIqIHJlbmRlck5hbWUoKSBjb25zdCA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwCmluZGV4IDM2ZjBlY2MuLmMzZmMwZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNDA0MCwxMyArNDA0MCwxMCBAQCB2b2lkIFJlbmRl
ckxheWVyOjpwYWludEZpeGVkTGF5ZXJzSW5OYW1lZEZsb3dzKEdyYXBoaWNzQ29udGV4dCogY29u
dGV4dCwgY29uc3QgTAogICAgIGlmICghcmVuZGVyZXIoKS52aWV3KCkuaGFzUmVuZGVyTmFtZWRG
bG93VGhyZWFkcygpKQogICAgICAgICByZXR1cm47CiAKLSAgICAvLyBDb2xsZWN0IHRoZSBmaXhl
ZCBsYXllcnMgaW4gYSBsaXN0IHRvIGJlIHBhaW50ZWQKKyAgICAvLyBDb2xsZWN0IHRoZSBmaXhl
ZCBsYXllcnMgaW4gYSBsaXN0IHRvIGJlIHBhaW50ZWQuIFRoZSBsaXN0IHdpbGwgYmUgcmV0dXJu
ZWQgc29ydGVkIGJ5IHpJbmRleC4KICAgICBWZWN0b3I8UmVuZGVyTGF5ZXIqPiBmaXhlZExheWVy
czsKICAgICByZW5kZXJlcigpLnZpZXcoKS5mbG93VGhyZWFkQ29udHJvbGxlcigpLmNvbGxlY3RG
aXhlZFBvc2l0aW9uZWRMYXllcnMoZml4ZWRMYXllcnMpOwogCi0gICAgLy8gU29ydCB0aGUgZml4
ZWQgbGF5ZXJzIGxpc3QKLSAgICBzdGQ6OnN0YWJsZV9zb3J0KGZpeGVkTGF5ZXJzLmJlZ2luKCks
IGZpeGVkTGF5ZXJzLmVuZCgpLCBjb21wYXJlWkluZGV4KTsKLQogICAgIC8vIFBhaW50IHRoZSBs
YXllcnMKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGZpeGVkTGF5ZXJzLnNpemUoKTsgKytp
KSB7CiAgICAgICAgIFJlbmRlckxheWVyKiBmaXhlZExheWVyID0gZml4ZWRMYXllcnMuYXQoaSk7
CkBAIC00ODAwLDkgKzQ3OTcsNiBAQCBSZW5kZXJMYXllciogUmVuZGVyTGF5ZXI6OmhpdFRlc3RG
aXhlZExheWVyc0luTmFtZWRGbG93cyhSZW5kZXJMYXllciogLypyb290TGF5ZQogICAgIFZlY3Rv
cjxSZW5kZXJMYXllcio+IGZpeGVkTGF5ZXJzOwogICAgIHJlbmRlcmVyKCkudmlldygpLmZsb3dU
aHJlYWRDb250cm9sbGVyKCkuY29sbGVjdEZpeGVkUG9zaXRpb25lZExheWVycyhmaXhlZExheWVy
cyk7CiAKLSAgICAvLyBTb3J0IHRoZSBmaXhlZCBsYXllcnMgbGlzdAotICAgIHN0ZDo6c3RhYmxl
X3NvcnQoZml4ZWRMYXllcnMuYmVnaW4oKSwgZml4ZWRMYXllcnMuZW5kKCksIGNvbXBhcmVaSW5k
ZXgpOwotCiAgICAgLy8gSGl0IHRlc3QgdGhlIGxheWVycwogICAgIFJlbmRlckxheWVyKiByZXN1
bHRMYXllciA9IDA7CiAgICAgZm9yIChpbnQgaSA9IGZpeGVkTGF5ZXJzLnNpemUoKSAtIDE7IGkg
Pj0gMDsgLS1pKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckNvbXBvc2l0b3IuY3BwCmluZGV4IDJjYjY3MTkuLjMxNzEzZmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC0xMDM1LDcg
KzEwMzUsOSBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5n
UmVxdWlyZW1lbnRzKFJlbmRlckxheWVyKiBhbmNlc3RvcgogCiAgICAgaWYgKGxheWVyLmlzRmxv
d1RocmVhZENvbGxlY3RpbmdHcmFwaGljc0xheWVyc1VuZGVyUmVnaW9ucygpKSB7CiAgICAgICAg
IFJlbmRlckZsb3dUaHJlYWQmIGZsb3dUaHJlYWQgPSB0b1JlbmRlckZsb3dUaHJlYWQobGF5ZXIu
cmVuZGVyZXIoKSk7Ci0gICAgICAgIGxheWVyLnNldEhhc0NvbXBvc2l0aW5nRGVzY2VuZGFudChm
bG93VGhyZWFkLmhhc0NvbXBvc2l0aW5nUmVnaW9uRGVzY2VuZGFudCgpKTsKKworICAgICAgICAv
LyBGSVhNRTogd2UgbmVlZCB0byBjYWNoZSBzb21laG93IHRoZSBjb21wdXRhdGlvbiBmb3IgZml4
ZWQgcG9zaXRpb25lZCBlbGVtZW50cyBvciBhdCBsZWFzdCBoYXZlIGEgZmxhZyBmb3IgdGhpcy4K
KyAgICAgICAgbGF5ZXIuc2V0SGFzQ29tcG9zaXRpbmdEZXNjZW5kYW50KGZsb3dUaHJlYWQuaGFz
Q29tcG9zaXRpbmdSZWdpb25EZXNjZW5kYW50KCkgfHwgZmxvd1RocmVhZC5oYXNGaXhlZFBvc2l0
aW9uZWREZXNjZW5kYW50cygpKTsKIAogICAgICAgICAvLyBCZWZvcmUgcmV0dXJuaW5nLCB3ZSBu
ZWVkIHRvIHVwZGF0ZSB0aGUgbGlzdHMgb2YgYWxsIGNoaWxkIGxheWVycy4gVGhpcyBpcyByZXF1
aXJlZCBiZWNhdXNlLAogICAgICAgICAvLyBpZiB0aGlzIGZsb3cgdGhyZWFkIHdpbGwgbm90IGJl
IHBhaW50ZWQgKGZvciBpbnN0YW5jZSBiZWNhdXNlIG9mIGhhdmluZyBubyByZWdpb25zLCBvciBv
bmx5IGludmFsaWQgcmVnaW9ucyksCkBAIC0xMTMzLDcgKzExMzUsNiBAQCB2b2lkIFJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKFJlbmRlckxheWVy
KiBhbmNlc3RvcgogICAgICAgICBjb21wdXRlUmVnaW9uQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMo
dG9SZW5kZXJCbG9ja0Zsb3cobGF5ZXIucmVuZGVyZXIoKSkucmVuZGVyTmFtZWRGbG93RnJhZ21l
bnQoKSwgb3ZlcmxhcE1hcCwgY2hpbGRTdGF0ZSwgbGF5ZXJzQ2hhbmdlZCwgYW55RGVzY2VuZGFu
dEhhczNEVHJhbnNmb3JtKTsKICAgICB9CiAKLSAgICAKICAgICBpZiAoVmVjdG9yPFJlbmRlckxh
eWVyKj4qIG5vcm1hbEZsb3dMaXN0ID0gbGF5ZXIubm9ybWFsRmxvd0xpc3QoKSkgewogICAgICAg
ICBmb3IgKHNpemVfdCBpID0gMCwgc2l6ZSA9IG5vcm1hbEZsb3dMaXN0LT5zaXplKCk7IGkgPCBz
aXplOyArK2kpCiAgICAgICAgICAgICBjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMoJmxh
eWVyLCAqbm9ybWFsRmxvd0xpc3QtPmF0KGkpLCBvdmVybGFwTWFwLCBjaGlsZFN0YXRlLCBsYXll
cnNDaGFuZ2VkLCBhbnlEZXNjZW5kYW50SGFzM0RUcmFuc2Zvcm0pOwpAQCAtMTE0NSw3ICsxMTQ2
LDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjb21wdXRlQ29tcG9zaXRpbmdSZXF1
aXJlbWVudHMoUmVuZGVyTGF5ZXIqIGFuY2VzdG9yCiAgICAgICAgICAgICAgICAgY29tcHV0ZUNv
bXBvc2l0aW5nUmVxdWlyZW1lbnRzKCZsYXllciwgKnBvc1pPcmRlckxpc3QtPmF0KGkpLCBvdmVy
bGFwTWFwLCBjaGlsZFN0YXRlLCBsYXllcnNDaGFuZ2VkLCBhbnlEZXNjZW5kYW50SGFzM0RUcmFu
c2Zvcm0pOwogICAgICAgICB9CiAgICAgfQotICAgIAorCisgICAgaWYgKGxheWVyLmlzUm9vdExh
eWVyKCkpCisgICAgICAgIGNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50c0Zvck5hbWVkRmxv
d0ZpeGVkKGxheWVyLCBvdmVybGFwTWFwLCBjaGlsZFN0YXRlLCBsYXllcnNDaGFuZ2VkLCBhbnlE
ZXNjZW5kYW50SGFzM0RUcmFuc2Zvcm0pOworCiAgICAgLy8gSWYgd2UganVzdCBlbnRlcmVkIGNv
bXBvc2l0aW5nIG1vZGUsIHRoZSByb290IHdpbGwgaGF2ZSBiZWNvbWUgY29tcG9zaXRlZCAoYXMg
bG9uZyBhcyBhY2NlbGVyYXRlZCBjb21wb3NpdGluZyBpcyBlbmFibGVkKS4KICAgICBpZiAobGF5
ZXIuaXNSb290TGF5ZXIoKSkgewogICAgICAgICBpZiAoaW5Db21wb3NpdGluZ01vZGUoKSAmJiBt
X2hhc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcpCkBAIC0xMjYxLDYgKzEyNjUsMjQgQEAgdm9pZCBS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OmNvbXB1dGVSZWdpb25Db21wb3NpdGluZ1JlcXVpcmVtZW50
cyhSZW5kZXJOYW1lZEZsb3cKICAgICAgICAgb3ZlcmxhcE1hcC0+Z2VvbWV0cnlNYXAoKS5wb3BN
YXBwaW5nc1RvQW5jZXN0b3IocmVnaW9uLT5sYXllck93bmVyKCkpOwogfQogCit2b2lkIFJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzRm9yTmFtZWRG
bG93Rml4ZWQoUmVuZGVyTGF5ZXImIGxheWVyLCBPdmVybGFwTWFwKiBvdmVybGFwTWFwLCBDb21w
b3NpdGluZ1N0YXRlJiBjaGlsZFN0YXRlLCBib29sJiBsYXllcnNDaGFuZ2VkLCBib29sJiBhbnlE
ZXNjZW5kYW50SGFzM0RUcmFuc2Zvcm0pCit7CisgICAgaWYgKCFsYXllci5pc1Jvb3RMYXllcigp
KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIWxheWVyLnJlbmRlcmVyKCkudmlldygpLmhh
c1JlbmRlck5hbWVkRmxvd1RocmVhZHMoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgVmVjdG9y
PFJlbmRlckxheWVyKj4gZml4ZWRMYXllcnM7CisgICAgbGF5ZXIucmVuZGVyZXIoKS52aWV3KCku
Zmxvd1RocmVhZENvbnRyb2xsZXIoKS5jb2xsZWN0Rml4ZWRQb3NpdGlvbmVkTGF5ZXJzKGZpeGVk
TGF5ZXJzKTsKKworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZml4ZWRMYXllcnMuc2l6ZSgp
OyArK2kpIHsKKyAgICAgICAgUmVuZGVyTGF5ZXIqIGZpeGVkTGF5ZXIgPSBmaXhlZExheWVycy5h
dChpKTsKKyAgICAgICAgY29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKCZsYXllciwgKmZp
eGVkTGF5ZXIsIG92ZXJsYXBNYXAsIGNoaWxkU3RhdGUsIGxheWVyc0NoYW5nZWQsIGFueURlc2Nl
bmRhbnRIYXMzRFRyYW5zZm9ybSk7CisgICAgfQorfQorCisKIHZvaWQgUmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjpzZXRDb21wb3NpdGluZ1BhcmVudChSZW5kZXJMYXllciYgY2hpbGRMYXllciwgUmVu
ZGVyTGF5ZXIqIHBhcmVudExheWVyKQogewogICAgIEFTU0VSVCghcGFyZW50TGF5ZXIgfHwgY2hp
bGRMYXllci5hbmNlc3RvckNvbXBvc2l0aW5nTGF5ZXIoKSA9PSBwYXJlbnRMYXllcik7CkBAIC0x
Mjk4LDYgKzEzMjAsMjMgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNhbkFjY2VsZXJh
dGVWaWRlb1JlbmRlcmluZyhSZW5kZXJWaWRlbyYgdmlkZW8pIGNvbnMKIH0KICNlbmRpZgogCit2
b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVidWlsZENvbXBvc2l0aW5nTGF5ZXJUcmVlRm9y
TmFtZWRGbG93Rml4ZWQoUmVuZGVyTGF5ZXImIGxheWVyLCBWZWN0b3I8R3JhcGhpY3NMYXllcio+
JiBjaGlsZEdyYXBoaWNzTGF5ZXJzT2ZFbmNsb3NpbmdMYXllciwgaW50IGRlcHRoKQoreworICAg
IGlmICghbGF5ZXIuaXNSb290TGF5ZXIoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKCFs
YXllci5yZW5kZXJlcigpLnZpZXcoKS5oYXNSZW5kZXJOYW1lZEZsb3dUaHJlYWRzKCkpCisgICAg
ICAgIHJldHVybjsKKworICAgIFZlY3RvcjxSZW5kZXJMYXllcio+IGZpeGVkTGF5ZXJzOworICAg
IGxheWVyLnJlbmRlcmVyKCkudmlldygpLmZsb3dUaHJlYWRDb250cm9sbGVyKCkuY29sbGVjdEZp
eGVkUG9zaXRpb25lZExheWVycyhmaXhlZExheWVycyk7CisKKyAgICBmb3IgKHNpemVfdCBpID0g
MDsgaSA8IGZpeGVkTGF5ZXJzLnNpemUoKTsgKytpKSB7CisgICAgICAgIFJlbmRlckxheWVyKiBm
aXhlZExheWVyID0gZml4ZWRMYXllcnMuYXQoaSk7CisgICAgICAgIHJlYnVpbGRDb21wb3NpdGlu
Z0xheWVyVHJlZSgqZml4ZWRMYXllciwgY2hpbGRHcmFwaGljc0xheWVyc09mRW5jbG9zaW5nTGF5
ZXIsIGRlcHRoKTsKKyAgICB9Cit9CisKIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZWJ1
aWxkQ29tcG9zaXRpbmdMYXllclRyZWUoUmVuZGVyTGF5ZXImIGxheWVyLCBWZWN0b3I8R3JhcGhp
Y3NMYXllcio+JiBjaGlsZExheWVyc09mRW5jbG9zaW5nTGF5ZXIsIGludCBkZXB0aCkKIHsKICAg
ICAvLyBNYWtlIHRoZSBsYXllciBjb21wb3NpdGluZyBpZiBuZWNlc3NhcnksIGFuZCBzZXQgdXAg
Y2xpcHBpbmcgYW5kIGNvbnRlbnQgbGF5ZXJzLgpAQCAtMTM3MCw3ICsxNDA5LDEwIEBAIHZvaWQg
UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZWJ1aWxkQ29tcG9zaXRpbmdMYXllclRyZWUoUmVuZGVy
TGF5ZXImIGxheWVyLCBWZWN0CiAgICAgICAgICAgICAgICAgcmVidWlsZENvbXBvc2l0aW5nTGF5
ZXJUcmVlKCpwb3NaT3JkZXJMaXN0LT5hdChpKSwgY2hpbGRMaXN0LCBkZXB0aCArIDEpOwogICAg
ICAgICB9CiAgICAgfQotICAgIAorCisgICAgaWYgKGxheWVyLmlzUm9vdExheWVyKCkpCisgICAg
ICAgIHJlYnVpbGRDb21wb3NpdGluZ0xheWVyVHJlZUZvck5hbWVkRmxvd0ZpeGVkKGxheWVyLCBj
aGlsZExpc3QsIGRlcHRoICsgMSk7CisKICAgICBpZiAobGF5ZXJCYWNraW5nKSB7CiAgICAgICAg
IGJvb2wgcGFyZW50ZWQgPSBmYWxzZTsKICAgICAgICAgaWYgKGxheWVyLnJlbmRlcmVyKCkuaXNX
aWRnZXQoKSkKQEAgLTE1ODgsMTAgKzE2MzAsNiBAQCBib29sIFJlbmRlckxheWVyQ29tcG9zaXRv
cjo6cGFyZW50RnJhbWVDb250ZW50TGF5ZXJzKFJlbmRlcldpZGdldCogcmVuZGVyZXIpCiAvLyBU
aGlzIGp1c3QgdXBkYXRlcyBsYXllciBnZW9tZXRyeSB3aXRob3V0IGNoYW5naW5nIHRoZSBoaWVy
YXJjaHkuCiB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlTGF5ZXJUcmVlR2VvbWV0
cnkoUmVuZGVyTGF5ZXImIGxheWVyLCBpbnQgZGVwdGgpCiB7Ci0gICAgLy8gRklYTUU6IGZpeGVk
IHBvc2l0aW9uZWQgZWxlbWVudHMgaW5zaWRlIGEgbmFtZWQgZmxvdyBhcmUgbm90IGNvbXBvc2l0
ZWQgeWV0LgotICAgIGlmIChsYXllci5pc091dE9mRmxvd1JlbmRlckZsb3dUaHJlYWQoKSkKLSAg
ICAgICAgcmV0dXJuOwotCiAgICAgaWYgKFJlbmRlckxheWVyQmFja2luZyogbGF5ZXJCYWNraW5n
ID0gbGF5ZXIuYmFja2luZygpKSB7CiAgICAgICAgIC8vIFRoZSBjb21wb3NpdGluZyBzdGF0ZSBv
ZiBhbGwgb3VyIGNoaWxkcmVuIGhhcyBiZWVuIHVwZGF0ZWQgYWxyZWFkeSwgc28gbm93CiAgICAg
ICAgIC8vIHdlIGNhbiBjb21wdXRlIGFuZCBjYWNoZSB0aGUgY29tcG9zaXRlZCBib3VuZHMgZm9y
IHRoaXMgbGF5ZXIuCkBAIC0yNDg5LDcgKzI1MjcsNyBAQCBib29sIFJlbmRlckxheWVyQ29tcG9z
aXRvcjo6cmVxdWlyZXNDb21wb3NpdGluZ0ZvclBvc2l0aW9uKFJlbmRlckxheWVyTW9kZWxPYmpl
YwogCiAgICAgLy8gRG9uJ3QgcHJvbW90ZSBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyB0aGF0IGFy
ZSBkZXNjZW5kYW50cyBvZiBhIG5vbi12aWV3IGNvbnRhaW5lciwgZS5nLiB0cmFuc2Zvcm1lZCBl
bGVtZW50cy4KICAgICAvLyBUaGV5IHdpbGwgc3RheSBmaXhlZCB3cnQgdGhlIGNvbnRhaW5lciBy
YXRoZXIgdGhhbiB0aGUgZW5jbG9zaW5nIGZyYW1lLgotICAgIGlmIChjb250YWluZXIgIT0gJm1f
cmVuZGVyVmlldykgeworICAgIGlmIChjb250YWluZXIgIT0gJm1fcmVuZGVyVmlldyAmJiAhcmVu
ZGVyZXIuZml4ZWRQb3NpdGlvbmVkV2l0aE5hbWVkRmxvd0NvbnRhaW5pbmdCbG9jaygpKSB7CiAg
ICAgICAgIGlmICh2aWV3cG9ydENvbnN0cmFpbmVkTm90Q29tcG9zaXRlZFJlYXNvbikKICAgICAg
ICAgICAgICp2aWV3cG9ydENvbnN0cmFpbmVkTm90Q29tcG9zaXRlZFJlYXNvbiA9IFJlbmRlckxh
eWVyOjpOb3RDb21wb3NpdGVkRm9yTm9uVmlld0NvbnRhaW5lcjsKICAgICAgICAgcmV0dXJuIGZh
bHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29t
cG9zaXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRv
ci5oCmluZGV4IGUxN2E0NjcuLmY3ZmZlZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKQEAgLTM0MCw3ICszNDAsOSBAQCBwcml2YXRl
OgogICAgIHZvaWQgY29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKFJlbmRlckxheWVyKiBh
bmNlc3RvckxheWVyLCBSZW5kZXJMYXllciYsIE92ZXJsYXBNYXAqLCBzdHJ1Y3QgQ29tcG9zaXRp
bmdTdGF0ZSYsIGJvb2wmIGxheWVyc0NoYW5nZWQsIGJvb2wmIGRlc2NlbmRhbnRIYXMzRFRyYW5z
Zm9ybSk7CiAKICAgICB2b2lkIGNvbXB1dGVSZWdpb25Db21wb3NpdGluZ1JlcXVpcmVtZW50cyhS
ZW5kZXJOYW1lZEZsb3dGcmFnbWVudCosIE92ZXJsYXBNYXAqLCBDb21wb3NpdGluZ1N0YXRlJiwg
Ym9vbCYgbGF5ZXJzQ2hhbmdlZCwgYm9vbCYgYW55RGVzY2VuZGFudEhhczNEVHJhbnNmb3JtKTsK
LSAgICAKKworICAgIHZvaWQgY29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzRm9yTmFtZWRG
bG93Rml4ZWQoUmVuZGVyTGF5ZXImIGxheWVyLCBPdmVybGFwTWFwKiBvdmVybGFwTWFwLCBDb21w
b3NpdGluZ1N0YXRlJiBjaGlsZFN0YXRlLCBib29sJiBsYXllcnNDaGFuZ2VkLCBib29sJiBhbnlE
ZXNjZW5kYW50SGFzM0RUcmFuc2Zvcm0pOworCiAgICAgLy8gUmVjdXJzZXMgZG93biB0aGUgdHJl
ZSwgcGFyZW50aW5nIGRlc2NlbmRhbnQgY29tcG9zaXRpbmcgbGF5ZXJzIGFuZCBjb2xsZWN0aW5n
IGFuIGFycmF5IG9mIGNoaWxkIGxheWVycyBmb3IgdGhlIGN1cnJlbnQgY29tcG9zaXRpbmcgbGF5
ZXIuCiAgICAgdm9pZCByZWJ1aWxkQ29tcG9zaXRpbmdMYXllclRyZWUoUmVuZGVyTGF5ZXImLCBW
ZWN0b3I8R3JhcGhpY3NMYXllcio+JiBjaGlsZEdyYXBoaWNzTGF5ZXJzT2ZFbmNsb3NpbmdMYXll
ciwgaW50IGRlcHRoKTsKIApAQCAtMzQ4LDYgKzM1MCwxMCBAQCBwcml2YXRlOgogICAgIC8vIGxh
eWVycyBmb3IgdGhlIGN1cnJlbnQgY29tcG9zaXRpbmcgbGF5ZXIgY29ycmVzcG9uZGluZyB0byB0
aGUgYW5vbnltb3VzIHJlZ2lvbiAodGhhdCBiZWxvbmdzIHRvIHRoZSByZWdpb24ncyBwYXJlbnQp
LgogICAgIHZvaWQgcmVidWlsZFJlZ2lvbkNvbXBvc2l0aW5nTGF5ZXJUcmVlKFJlbmRlck5hbWVk
Rmxvd0ZyYWdtZW50KiwgVmVjdG9yPEdyYXBoaWNzTGF5ZXIqPiYgY2hpbGRMaXN0LCBpbnQgZGVw
dGgpOwogCisgICAgLy8gUmVidWlsZHMgdGhlIGNvbXBvc2l0aW5nIGxheWVyIHRyZWUgZm9yIGZp
eGVkIHBvc2l0aW9uZWQgZWxlbWVudHMKKyAgICAvLyB3aG9zZSBjb250YWluaW5nIGJsb2NrIGlz
IHRoZSBuYW1lZCBmbG93CisgICAgdm9pZCByZWJ1aWxkQ29tcG9zaXRpbmdMYXllclRyZWVGb3JO
YW1lZEZsb3dGaXhlZChSZW5kZXJMYXllciYsIFZlY3RvcjxHcmFwaGljc0xheWVyKj4mIGNoaWxk
R3JhcGhpY3NMYXllcnNPZkVuY2xvc2luZ0xheWVyLCBpbnQgZGVwdGgpOworCiAgICAgLy8gUmVj
dXJzZXMgZG93biB0aGUgdHJlZSwgdXBkYXRpbmcgbGF5ZXIgZ2VvbWV0cnkgb25seS4KICAgICB2
b2lkIHVwZGF0ZUxheWVyVHJlZUdlb21ldHJ5KFJlbmRlckxheWVyJiwgaW50IGRlcHRoKTsKICAg
ICAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221051</attachid>
            <date>2014-01-13 08:56:37 -0800</date>
            <delta_ts>2014-01-15 22:53:08 -0800</delta_ts>
            <desc>WIP2</desc>
            <filename>WIP2_125144</filename>
            <type>text/plain</type>
            <size>41029</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvYWJzLWluLW5hbWVk
LWZsb3ctZnJvbS1maXhlZC1pbi1uYW1lZC1mbG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL3JlZ2lvbnMvYWJzLWluLW5hbWVkLWZsb3ctZnJvbS1maXhlZC1pbi1uYW1l
ZC1mbG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42
ZTY2YzZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9u
cy9hYnMtaW4tbmFtZWQtZmxvdy1mcm9tLWZpeGVkLWluLW5hbWVkLWZsb3ctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNyBAQAorVGVzdCB0aGF0IGEgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHRo
YXQgaXMgZHluYW1pY2FseSBjaGFuZ2VkIHRvIGFic29sdXRlIGlzIHBvc2l0aW9uZWQgcmVsYXRp
dmUgdG8gdGhlIGZpcnN0IHJlZ2lvbiBpbnN0ZWFkIG9mIHRoZSB2aWV3cG9ydC4KKworVGhlIGZp
eGVkIGVsZW1lbnQgc2hvdWxkIE5PVCBiZSBjb21wb3NpdGVkLgorCitPbiBzdWNjZXNzIHlvdSBz
aG91bGQgbm90IHNlZSByZWQgYmVsb3cuCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvcmVnaW9ucy9hYnMtaW4tbmFtZWQtZmxvdy1mcm9tLWZpeGVkLWluLW5hbWVkLWZs
b3cuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvYWJzLWluLW5hbWVkLWZs
b3ctZnJvbS1maXhlZC1pbi1uYW1lZC1mbG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uMGFlNDVkZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL3JlZ2lvbnMvYWJzLWluLW5hbWVkLWZsb3ctZnJvbS1maXhlZC1pbi1uYW1lZC1mbG93
Lmh0bWwKQEAgLTAsMCArMSwzNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLnJlZ2lvbiB7IC13ZWJraXQtZmxvdy1m
cm9tOiBmbG93OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTAwcHg7IGxlZnQ6IDEwMHB4OyB3
aWR0aDogMTUwcHg7IGhlaWdodDogMTUwcHg7IH0KKyAgICAgICAgICAgIC5hYnNvbHV0ZSB7IHBv
c2l0aW9uOiBhYnNvbHV0ZTsgfQorICAgICAgICAgICAgLmZpeGVkIHsgcG9zaXRpb246IGZpeGVk
OyB9CisgICAgICAgICAgICAjcmVkIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDE1MHB4OyBs
ZWZ0OiAxNTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjog
cmVkOyB9CisgICAgICAgICAgICAjYWJzRnJvbUZpeGVkIHsgLXdlYmtpdC1mbG93LWludG86IGZs
b3c7IHRvcDogNTBweDsgbGVmdDogNTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFj
a2dyb3VuZC1jb2xvcjogZ3JlZW47IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAgPHNjcmlw
dD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdp
bmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVk
UG9zaXRpb25FbmFibGVkKHRydWUpOworCisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICAgICAg
ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFic0Zyb21GaXhlZCIpLmNsYXNzTmFt
ZSA9ICJhYnNvbHV0ZSI7CisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisg
ICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllclRyZWUiKS5p
bm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7Cisg
ICAgICAgICAgICB9LCBmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdCB0aGF0IGEgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50
IHRoYXQgaXMgZHluYW1pY2FseSBjaGFuZ2VkIHRvIGFic29sdXRlIGlzIHBvc2l0aW9uZWQgcmVs
YXRpdmUgdG8gdGhlIGZpcnN0IHJlZ2lvbiBpbnN0ZWFkIG9mIHRoZSB2aWV3cG9ydC48L3A+Cisg
ICAgICAgIDxwPlRoZSBmaXhlZCBlbGVtZW50IHNob3VsZCBOT1QgYmUgY29tcG9zaXRlZC48L3A+
CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MgeW91IHNob3VsZCBub3Qgc2VlIHJlZCBiZWxvdy48L3A+
CisgICAgICAgIDxkaXYgaWQ9InJlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImFic0Zyb21GaXhlZCIgY2xhc3M9ImZpeGVkIj48
L2Rpdj4KKyAgICAgICAgPHByZSBpZD0ibGF5ZXJUcmVlIj48L3ByZT4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVk
LWluLWRpZmYtbmFtZWQtZmxvd3MtekluZGV4LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLWRpZmYtbmFtZWQtZmxvd3MtekluZGV4LWV4cGVj
dGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmY0ZWEwOQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4t
ZGlmZi1uYW1lZC1mbG93cy16SW5kZXgtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDI0IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAg
ICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93Lmlu
dGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlv
bkVuYWJsZWQodHJ1ZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICAjZml4ZWQxIHsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB0b3A6IDEwMHB4
OyBsZWZ0OiAxMDBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IHBvc2l0aW9uOiBmaXhlZDsg
ei1pbmRleDogMTA7IH0KKworICAgICAgICAgICAgI2ZpeGVkMiB7IHdpZHRoOiAxMDBweDsgaGVp
Z2h0OiAxMDBweDsgdG9wOiAxNTBweDsgbGVmdDogMTUwcHg7IGJhY2tncm91bmQtY29sb3I6IG9y
YW5nZTsgcG9zaXRpb246IGZpeGVkOyB6LWluZGV4OiAxOyB9CisKKyAgICAgICAgICAgICNmaXhl
ZDMgeyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IHRvcDogMTc1cHg7IGxlZnQ6IDE3NXB4
OyBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDU7IH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRl
c3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MjUxNDQiPldlYktpdCBCdWcgMTI1MTQ0PC9hPiBbQ1NTIFJlZ2lvbnNdIEVuYWJsZSBhY2NlbGVy
YXRlZCBjb21wb3NpdGluZyBmb3IgZml4ZWQgZWxlbWVudHMgaW4gbmFtZWQgZmxvd3M8L3A+Cisg
ICAgICAgIDxwPlRlc3QgdGhhdCBwYWludGluZyB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50
cyBjb2xsZWN0ZWQgaW4gZGlmZmVyZW50IG5hbWVkIGZsb3dzIHRha2VzIHpJbmRleCBpbnRvIGFj
Y291bnQuPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSAzIHJlY3Rh
bmdsZXMgcGFpbnRlZCBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOiBncmVlbiwgYmx1ZSwgb3Jhbmdl
LjwvcD4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQxIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Zml4ZWQyIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQzIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25z
L2ZpeGVkLWluLWRpZmYtbmFtZWQtZmxvd3MtekluZGV4Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLWRpZmYtbmFtZWQtZmxvd3MtekluZGV4Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTZjOTE1ZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tZGlmZi1uYW1lZC1m
bG93cy16SW5kZXguaHRtbApAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQodHJ1ZSk7CisgICAg
ICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjZml4ZWQxIHsgLXdl
YmtpdC1mbG93LWludG86IGZsb3c7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAx
MDBweDsgbGVmdDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyBwb3NpdGlvbjogZml4
ZWQ7IHotaW5kZXg6IDEwOyB9CisKKyAgICAgICAgICAgICNmaXhlZDIgeyAtd2Via2l0LWZsb3ct
aW50bzogZmxvdzI7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxNTBweDsgbGVm
dDogMTUwcHg7IGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTsgcG9zaXRpb246IGZpeGVkOyB6LWlu
ZGV4OiAxOyB9CisKKyAgICAgICAgICAgICNmaXhlZDMgeyAtd2Via2l0LWZsb3ctaW50bzogZmxv
dzI7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxNzVweDsgbGVmdDogMTc1cHg7
IGJhY2tncm91bmQtY29sb3I6IGJsdWU7IHBvc2l0aW9uOiBmaXhlZDsgei1pbmRleDogNTsgfQor
CisgICAgICAgICAgICAvKiBXZSBuZWVkIGEgcmVnaW9uIGZvciBlYWNoIGZsb3cgYmVjYXVzZSBv
dGhlcndpc2UgdGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudHMgYXJlIG5vdCBkaXNwbGF5ZWQg
Ki8KKyAgICAgICAgICAgICNyZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgfQorICAg
ICAgICAgICAgI3JlZ2lvbjIgeyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzI7IH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgZm9yIDxh
IGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUxNDQiPldl
YktpdCBCdWcgMTI1MTQ0PC9hPiBbQ1NTIFJlZ2lvbnNdIEVuYWJsZSBhY2NlbGVyYXRlZCBjb21w
b3NpdGluZyBmb3IgZml4ZWQgZWxlbWVudHMgaW4gbmFtZWQgZmxvd3M8L3A+CisgICAgICAgIDxw
PlRlc3QgdGhhdCBwYWludGluZyB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50cyBjb2xsZWN0
ZWQgaW4gZGlmZmVyZW50IG5hbWVkIGZsb3dzIHRha2VzIHpJbmRleCBpbnRvIGFjY291bnQuPC9w
PgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSAzIHJlY3RhbmdsZXMgcGFp
bnRlZCBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOiBncmVlbiwgYmx1ZSwgb3JhbmdlLjwvcD4KKyAg
ICAgICAgPGRpdiBpZD0iZml4ZWQxIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQyIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQzIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
cmVnaW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uMiI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9u
cy9maXhlZC1pbi1uYW1lZC1mbG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWY0MTFmMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwyMyBAQAorVGhpcyB0ZXN0IGNvbGxlY3RzIGEgZml4ZWQgcG9zaXRpb24g
ZWxlbWVudCBpbnNpZGUgYSBuYW1lZCBmbG93IGFuZCBmbG93cyBpdCBpbnRvIGEgcmVnaW9uLgor
CitUaGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHNob3VsZCBiZSBwb3NpdGlvbmVkIHJlbGF0
aXZlIHRvIHRoZSB2aWV3cG9ydCBhbmQgaXQgc2hvdWxkIGJlIGNvbXBvc2l0ZWQuCisKK09uIHN1
Y2Nlc3MgeW91IHNob3VsZCBub3Qgc2VlIHJlZCBiZWxvdy4KKworKEdyYXBoaWNzTGF5ZXIKKyAg
KGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGljc0xheWVy
CisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY29udGVudHNPcGFxdWUgMSkK
KyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgKHBv
c2l0aW9uIDE1MC4wMCAxNTAuMDApCisgICAgICAgICAgKGJvdW5kcyAxMDAuMDAgMTAwLjAwKQor
ICAgICAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgICApCisgICAgICApCisgICAgKQor
ICApCispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4
ZWQtaW4tbmFtZWQtZmxvdy1mcm9tLWFicy1pbi1uYW1lZC1mbG93LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1mcm9tLWFi
cy1pbi1uYW1lZC1mbG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi4yN2QwNjFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWZyb20tYWJzLWluLW5hbWVkLWZsb3ctZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjMgQEAKK1Rlc3QgdGhhdCBhbiBhYnNvbHV0ZWx5IHBvc2l0
aW9uZWQgZWxlbWVudCB0aGF0IGlzIGR5bmFtaWNhbHkgY2hhbmdlZCB0byBmaXhlZCBpcyBwb3Np
dGlvbmVkIHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydCBpbnN0ZWFkIG9mIGZpcnN0IHJlZ2lvbi4K
KworVGhlIGZpeGVkIGVsZW1lbnQgc2hvdWxkIGJlIGNvbXBvc2l0ZWQuCisKK09uIHN1Y2Nlc3Mg
eW91IHNob3VsZCBub3Qgc2VlIHJlZCBiZWxvdy4KKworKEdyYXBoaWNzTGF5ZXIKKyAgKGJvdW5k
cyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGljc0xheWVyCisgICAg
ICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAg
IChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgKHBvc2l0aW9u
IDE1MC4wMCAxNTAuMDApCisgICAgICAgICAgKGJvdW5kcyA1MC4wMCA1MC4wMCkKKyAgICAgICAg
ICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5h
bWVkLWZsb3ctZnJvbS1hYnMtaW4tbmFtZWQtZmxvdy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWZyb20tYWJzLWluLW5hbWVkLWZsb3cu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODRiNzViCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1l
ZC1mbG93LWZyb20tYWJzLWluLW5hbWVkLWZsb3cuaHRtbApAQCAtMCwwICsxLDM1IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICAucmVnaW9uIHsgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7IH0KKyAgICAgICAgICAgIC5h
YnNvbHV0ZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgfQorICAgICAgICAgICAgLmZpeGVkIHsgcG9z
aXRpb246IGZpeGVkOyB9CisgICAgICAgICAgICAjcmVkIHsgcG9zaXRpb246IGFic29sdXRlOyB0
b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFja2dy
b3VuZC1jb2xvcjogcmVkOyB9CisgICAgICAgICAgICAjZml4ZWRGcm9tQWJzIHsgLXdlYmtpdC1m
bG93LWludG86IGZsb3c7IHRvcDogMTUwcHg7IGxlZnQ6IDE1MHB4OyB3aWR0aDogNTBweDsgaGVp
Z2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfQorICAgICAgICA8L3N0eWxlPgor
ICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAg
ICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBv
c2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQodHJ1ZSk7CisKKyAgICAgICAgICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKKworICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlv
bigpIHsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZml4ZWRGcm9t
QWJzIikuY2xhc3NOYW1lID0gImZpeGVkIjsKKyAgICAgICAgICAgICAgICBpZiAod2luZG93Lmlu
dGVybmFscykKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxh
eWVyVHJlZSIpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRv
Y3VtZW50KTsKKyAgICAgICAgICAgIH0sIGZhbHNlKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAg
PC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD5UZXN0IHRoYXQgYW4gYWJzb2x1dGVseSBw
b3NpdGlvbmVkIGVsZW1lbnQgdGhhdCBpcyBkeW5hbWljYWx5IGNoYW5nZWQgdG8gZml4ZWQgaXMg
cG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgdmlld3BvcnQgaW5zdGVhZCBvZiBmaXJzdCByZWdp
b24uPC9wPgorICAgICAgICA8cD5UaGUgZml4ZWQgZWxlbWVudCBzaG91bGQgYmUgY29tcG9zaXRl
ZC48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MgeW91IHNob3VsZCBub3Qgc2VlIHJlZCBiZWxv
dy48L3A+CisgICAgICAgIDwhLS0gVGhlIHJlZ2lvbiBpcyBuZWNlc3NhcnkgaW4gb3JkZXIgdG8g
c2hvdyB0aGUgZml4ZWQgZWxlbWVudCAtLT4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVnaW9uIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVkIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4
ZWRGcm9tQWJzIiBjbGFzcz0iYWJzb2x1dGUiPjwvZGl2PgorICAgICAgICA8cHJlIGlkPSJsYXll
clRyZWUiPjwvcHJlPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1mcm9tLW91dGZsb3ct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1u
YW1lZC1mbG93LWZyb20tb3V0Zmxvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNWZiMDkzMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1mcm9tLW91dGZsb3ctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMjEgQEAKK1Rlc3QgdGhhdCBhIGZpeGVkIHBvc2l0aW9uZWQgZWxl
bWVudCB0aGF0IGlzIGRpbmFtaWNhbGx5IGNvbGxlY3RlZCBpbnRvIGEgbmFtZWQgZmxvdyBpcyBz
dGlsbCBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHZpZXdwb3J0IGFuZCBjb21wb3NpdGVkLgorCitP
biBzdWNjZXNzIHlvdSBzaG91bGQgbm90IHNlZSByZWQgYmVsb3cuCisKKyhHcmFwaGljc0xheWVy
CisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NM
YXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVl
IDEpCisgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAg
IChwb3NpdGlvbiAxMDAuMDAgMTAwLjAwKQorICAgICAgICAgIChib3VuZHMgNTAuMDAgNTAuMDAp
CisgICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAgICkKKyAgICAgICkKKyAgICAp
CisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9m
aXhlZC1pbi1uYW1lZC1mbG93LWZyb20tb3V0Zmxvdy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWZyb20tb3V0Zmxvdy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1YTE0ZDMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctZnJv
bS1vdXRmbG93Lmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLmNvbGxlY3RlZEluTmFt
ZWRGbG93IHsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7IH0KKyAgICAgICAgICAgIC5yZWdpb24g
eyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgfQorICAgICAgICAgICAgI3JlZCB7IHBvc2l0aW9u
OiBhYnNvbHV0ZTsgdG9wOiAxMDBweDsgbGVmdDogMTAwcHg7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6
IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQorICAgICAgICAgICAgI2ZpeGVkIHsgcG9z
aXRpb246IGZpeGVkOyB0b3A6IDEwMHB4OyBsZWZ0OiAxMDBweDsgd2lkdGg6IDUwcHg7IGhlaWdo
dDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAg
ICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKHRydWUpOworCisgICAgICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CisKKyAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24o
KSB7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpeGVkIikuY2xh
c3NOYW1lID0gImNvbGxlY3RlZEluTmFtZWRGbG93IjsKKyAgICAgICAgICAgICAgICBpZiAod2lu
ZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImxheWVyVHJlZSIpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNU
ZXh0KGRvY3VtZW50KTsKKyAgICAgICAgICAgIH0sIGZhbHNlKTsKKyAgICAgICAgPC9zY3JpcHQ+
CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD5UZXN0IHRoYXQgYSBmaXhlZCBw
b3NpdGlvbmVkIGVsZW1lbnQgdGhhdCBpcyBkaW5hbWljYWxseSBjb2xsZWN0ZWQgaW50byBhIG5h
bWVkIGZsb3cgaXMgc3RpbGwgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB2aWV3cG9ydCBhbmQgY29t
cG9zaXRlZC48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MgeW91IHNob3VsZCBub3Qgc2VlIHJl
ZCBiZWxvdy48L3A+CisgICAgICAgIDwhLS0gVGhlIHJlZ2lvbiBpcyBuZWNlc3NhcnkgaW4gb3Jk
ZXIgdG8gc2hvdyB0aGUgZml4ZWQgZWxlbWVudCAtLT4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVn
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVkIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iZml4ZWQiPjwvZGl2PgorICAgICAgICA8cHJlIGlkPSJsYXllclRyZWUiPjwvcHJlPgorICAg
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Jl
Z2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1nb3QtdHJhbnNmb3JtZWQtcGFyZW50LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxv
dy1nb3QtdHJhbnNmb3JtZWQtcGFyZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi4wNzQxMmQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWdvdC10cmFuc2Zvcm1lZC1w
YXJlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjggQEAKK1Rlc3QgdGhhdCBhIGZpeGVkIHBv
c2l0aW9uZWQgZWxlbWVudCBpbiBhIG5hbWVkIGZsb3cgd2hvc2UgcGFyZW50IGlzIGR5bmFtaWNh
bGx5IHRyYW5zZm9ybWVkIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIHBhcmVudCBpbnN0
ZWFkIG9mIHZpZXdwb3J0LgorCitUaGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHNob3VsZCBO
T1QgYmUgY29tcG9zaXRlZC4KKworT24gc3VjY2VzcyB5b3Ugc2hvdWxkIG5vdCBzZWUgcmVkIGJl
bG93LgorCisoR3JhcGhpY3NMYXllcgorICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgIChjaGls
ZHJlbiAxCisgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgIChib3VuZHMgODAwLjAwIDYwMC4wMCkK
KyAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgKEdy
YXBoaWNzTGF5ZXIKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgKGNoaWxk
cmVuIDEKKyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChwb3NpdGlv
biAxMDAuMDAgMTAwLjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDE1MC4wMCAxNTAuMDApCisg
ICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICkKKyAgICAgICAgICAp
CisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWdvdC10cmFuc2Zv
cm1lZC1wYXJlbnQuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQt
aW4tbmFtZWQtZmxvdy1nb3QtdHJhbnNmb3JtZWQtcGFyZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uOTEzNzc1MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1nb3QtdHJhbnNmb3Jt
ZWQtcGFyZW50Lmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLnRyYW5zZm9ybWVkUGFy
ZW50IHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0KKworICAgICAgICAg
ICAgI3JlZCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxNTBweDsgbGVmdDogMTUwcHg7IHdp
ZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQorICAgICAg
ICAgICAgI3BhcmVudCB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyBwb3NpdGlvbjogYWJzb2x1
dGU7IHRvcDogMTAwcHg7IGxlZnQ6IDEwMHB4OyB3aWR0aDogMTUwcHg7IGhlaWdodDogMTUwcHg7
IH0KKyAgICAgICAgICAgICNmaXhlZCB7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiA1MHB4OyBsZWZ0
OiA1MHB4OyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVl
bjsgfQorICAgICAgICAgICAgLyogVGhlIHJlZ2lvbiBpcyByZXF1aXJlcyBiZWNhdXNlIG90aGVy
d2lzZSB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IGlzIG5vdCBkaXNwbGF5ZWQgKi8KKyAg
ICAgICAgICAgICNyZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgcG9zaXRpb246IGFi
c29sdXRlOyB0b3A6IDBweDsgbGVmdDogMHB4OyB9CisgICAgICAgIDwvc3R5bGU+CisgICAgICAg
IDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAg
ICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdG
b3JGaXhlZFBvc2l0aW9uRW5hYmxlZCh0cnVlKTsKKworICAgICAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisg
ICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXJlbnQiKS5jbGFzc05h
bWUgPSAidHJhbnNmb3JtZWRQYXJlbnQiOworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50
ZXJuYWxzKQorICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGF5
ZXJUcmVlIikuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9j
dW1lbnQpOworICAgICAgICAgICAgfSwgZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8
L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgdGhhdCBhIGZpeGVkIHBvc2l0aW9u
ZWQgZWxlbWVudCBpbiBhIG5hbWVkIGZsb3cgd2hvc2UgcGFyZW50IGlzIGR5bmFtaWNhbGx5IHRy
YW5zZm9ybWVkIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIHBhcmVudCBpbnN0ZWFkIG9m
IHZpZXdwb3J0LjwvcD4KKyAgICAgICAgPHA+VGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCBz
aG91bGQgTk9UIGJlIGNvbXBvc2l0ZWQuPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzIHlvdSBz
aG91bGQgbm90IHNlZSByZWQgYmVsb3cuPC9wPgorICAgICAgICA8ZGl2IGlkPSJyZWQiPjwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJwYXJlbnQiPgorICAgICAgICAgICAgPGRpdiBpZD0iZml4ZWQi
PjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uIj48L2Rpdj4K
KyAgICAgICAgPHByZSBpZD0ibGF5ZXJUcmVlIj48L3ByZT4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5h
bWVkLWZsb3ctbG9zdC10cmFuc2Zvcm1lZC1wYXJlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWxvc3QtdHJhbnNmb3Jt
ZWQtcGFyZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5lMGFjYWFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVn
aW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWxvc3QtdHJhbnNmb3JtZWQtcGFyZW50LWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDIzIEBACitUZXN0IHRoYXQgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1l
bnQgaW4gYSBuYW1lZCBmbG93IHdob3NlIHBhcmVudCBkeW5hbWljYWxseSBsb3NlcyBpdHMgdHJh
bnNmb3JtZWQgc3R5bGUgaXMgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgdmlld3BvcnQgaW5z
dGVhZCBvZiBwYXJlbnQuCisKK1RoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgc2hvdWxkIE5P
VCBiZSBjb21wb3NpdGVkLgorCitPbiBzdWNjZXNzIHlvdSBzaG91bGQgbm90IHNlZSByZWQgYmVs
b3cuCisKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgKGNoaWxk
cmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQor
ICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAoR3Jh
cGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiAxNTAuMDAgMTUwLjAwKQorICAgICAgICAg
IChib3VuZHMgNTAuMDAgNTAuMDApCisgICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAg
ICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWxvc3QtdHJhbnNmb3JtZWQt
cGFyZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5h
bWVkLWZsb3ctbG9zdC10cmFuc2Zvcm1lZC1wYXJlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi4wOWNhMzc4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWxvc3QtdHJhbnNmb3JtZWQt
cGFyZW50Lmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAg
ICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLnRyYW5zZm9ybWVkUGFyZW50
IHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0KKworICAgICAgICAgICAg
I3JlZCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxNTBweDsgbGVmdDogMTUwcHg7IHdpZHRo
OiA1MHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQorICAgICAgICAg
ICAgI3BhcmVudCB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyBwb3NpdGlvbjogYWJzb2x1dGU7
IHRvcDogMTAwcHg7IGxlZnQ6IDEwMHB4OyB3aWR0aDogMTUwcHg7IGhlaWdodDogMTUwcHg7IH0K
KyAgICAgICAgICAgICNmaXhlZCB7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiAxNTBweDsgbGVmdDog
MTUwcHg7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVu
OyB9CisgICAgICAgICAgICAvKiBUaGUgcmVnaW9uIGlzIHJlcXVpcmVzIGJlY2F1c2Ugb3RoZXJ3
aXNlIHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgaXMgbm90IGRpc3BsYXllZCAqLworICAg
ICAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OyBwb3NpdGlvbjogYWJz
b2x1dGU7IHRvcDogMHB4OyBsZWZ0OiAwcHg7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAg
PHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAg
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Zv
ckZpeGVkUG9zaXRpb25FbmFibGVkKHRydWUpOworCisgICAgICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAg
ICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhcmVudCIpLmNsYXNzTmFt
ZSA9ICIiOworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAg
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGF5ZXJUcmVlIikuaW5uZXJUZXh0
ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOworICAgICAgICAg
ICAgfSwgZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxwPlRlc3QgdGhhdCBhIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCBpbiBhIG5h
bWVkIGZsb3cgd2hvc2UgcGFyZW50IGR5bmFtaWNhbGx5IGxvc2VzIGl0cyB0cmFuc2Zvcm1lZCBz
dHlsZSBpcyBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydCBpbnN0ZWFkIG9mIHBh
cmVudC48L3A+CisgICAgICAgIDxwPlRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgc2hvdWxk
IE5PVCBiZSBjb21wb3NpdGVkLjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2VzcyB5b3Ugc2hvdWxk
IG5vdCBzZWUgcmVkIGJlbG93LjwvcD4KKyAgICAgICAgPGRpdiBpZD0icmVkIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0icGFyZW50IiBjbGFzcz0idHJhbnNmb3JtZWRQYXJlbnQiPgorICAgICAg
ICAgICAgPGRpdiBpZD0iZml4ZWQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0icmVnaW9uIj48L2Rpdj4KKyAgICAgICAgPHByZSBpZD0ibGF5ZXJUcmVlIj48L3ByZT4K
KyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctcG9zaXRpb24tY2hhbmdlZC1leHBlY3RlZC5o
dG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93
LXBvc2l0aW9uLWNoYW5nZWQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi4yMzVkZGFlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LXBvc2l0aW9uLWNoYW5nZWQtZXhwZWN0
ZWQuaHRtbApAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxo
ZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
CisgICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQodHJ1ZSk7CisgICAgICAgIDwvc2Ny
aXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjZml4ZWQgeyBwb3NpdGlvbjogZml4
ZWQ7IHRvcDogMTUwcHg7IGxlZnQ6IDE1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgd2lk
dGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFk
PgorICAgIDxib2R5PgorICAgICAgICA8IS0tIEZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCBpbnNp
ZGUgYSBuYW1lZCBmbG93LCBkeW5hbWljYWxseSBjaGFuZ2VkIHRvcC9sZWZ0IC0tPgorICAgICAg
ICA8cD5UZXN0IHRoYXQgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgd2hvc2UgcG9zaXRpb24g
aXMgZHluYW1pY2FsbHkgY2hhbmdlZAorICAgICAgICAgICAgaXMgY29ycmVjdGx5IHBhaW50ZWQg
aW4gdGhlIG5ldyBwb3NpdGlvbi48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MgeW91IHNob3Vs
ZCBzZWUgYSBncmVlbiByZWN0YW5nbGUgYW5kIG5vIHJlZC48L3A+CisgICAgICAgIDxkaXYgaWQ9
ImZpeGVkIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctcG9zaXRpb24tY2hh
bmdlZC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1l
ZC1mbG93LXBvc2l0aW9uLWNoYW5nZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi5hMGRlNzBjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LXBvc2l0aW9uLWNoYW5nZWQuaHRtbApAQCAt
MCwwICsxLDI5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICAjZml4ZWQgeyAtd2Via2l0LWZsb3ctaW50bzogZmxvdzsg
cG9zaXRpb246IGZpeGVkOyB0b3A6IDUwcHg7IGxlZnQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6
IGdyZWVuOyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IH0KKyAgICAgICAgICAgICNyZWQg
eyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTUwcHg7IGxlZnQ6IDE1MHB4OyB3aWR0aDogMTAw
cHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQorICAgICAgICAgICAg
LyogV2UgbmVlZCBhIHJlZ2lvbiBvdGhlcndpc2UgdGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVu
dCBpcyBub3QgZGlzcGxheWVkICovCisgICAgICAgICAgICAjcmVnaW9uIHsgLXdlYmtpdC1mbG93
LWZyb206IGZsb3c7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAg
ICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRl
cm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25F
bmFibGVkKHRydWUpOworCisgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJmaXhlZCIpLnN0eWxlLnRvcCA9ICIxNTBweCI7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImZpeGVkIikuc3R5bGUubGVmdCA9ICIxNTBweCI7CisgICAgICAgICAg
ICB9LCBmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPCEtLSBGaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgaW5zaWRlIGEgbmFtZWQgZmxv
dywgZHluYW1pY2FsbHkgY2hhbmdlZCB0b3AvbGVmdCAtLT4KKyAgICAgICAgPHA+VGVzdCB0aGF0
IGEgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHdob3NlIHBvc2l0aW9uIGlzIGR5bmFtaWNhbGx5
IGNoYW5nZWQKKyAgICAgICAgICAgIGlzIGNvcnJlY3RseSBwYWludGVkIGluIHRoZSBuZXcgcG9z
aXRpb24uPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzIHlvdSBzaG91bGQgc2VlIGEgZ3JlZW4g
cmVjdGFuZ2xlIGFuZCBubyByZWQuPC9wPgorICAgICAgICA8ZGl2IGlkPSJyZWQiPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJmaXhlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InJlZ2lvbiI+
PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LXRyYW5zZm9ybWVkLXBhcmVudC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5h
bWVkLWZsb3ctdHJhbnNmb3JtZWQtcGFyZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi41N2U5YTA5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LXRyYW5zZm9ybWVkLXBh
cmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNiBAQAorVGVzdCB0aGF0IGEgZml4ZWQgcG9z
aXRpb25lZCBlbGVtZW50IHdpdGggYSB0cmFuc2Zvcm1lZCBwYXJlbnQgaXMgcG9zaXRpb25lZCBy
ZWxhdGl2ZSB0byB0aGUgdHJhbnNmb3JtZWQgcGFyZW50IGFuZCBpcyBub3QgY29tcG9zaXRlZC4K
KworT24gc3VjY2VzcyB5b3Ugc2hvdWxkIG5vdCBzZWUgcmVkIGJlbG93LgorCisoR3JhcGhpY3NM
YXllcgorICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgIChjaGlsZHJlbiAxCisgICAgKEdyYXBo
aWNzTGF5ZXIKKyAgICAgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgICAgIChjb250ZW50c09w
YXF1ZSAxKQorICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAg
ICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAg
IChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChwb3NpdGlvbiAxMDAuMDAgMTAwLjAwKQor
ICAgICAgICAgICAgICAoYm91bmRzIDE1MC4wMCAxNTAuMDApCisgICAgICAgICAgICAgIChkcmF3
c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICkKKyAgICAgICAgICApCisgICAgICAgICkKKyAgICAg
ICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
cmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LXRyYW5zZm9ybWVkLXBhcmVudC5odG1sIGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LXRyYW5zZm9y
bWVkLXBhcmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5NjM5
NTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2Zp
eGVkLWluLW5hbWVkLWZsb3ctdHJhbnNmb3JtZWQtcGFyZW50Lmh0bWwKQEAgLTAsMCArMSwzNCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgI3JlZCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxNTBweDsgbGVmdDog
MTUwcHg7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDsg
fQorICAgICAgICAgICAgI3RyYW5zZm9ybWVkUGFyZW50IHsgLXdlYmtpdC1mbG93LWludG86IGZs
b3c7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMDBweDsgbGVmdDogMTAwcHg7IHdpZHRoOiAx
NTBweDsgaGVpZ2h0OiAxNTBweDsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7
IH0KKyAgICAgICAgICAgICNmaXhlZCB7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiA1MHB4OyBsZWZ0
OiA1MHB4OyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVl
bjsgfQorICAgICAgICAgICAgLyogVGhlIHJlZ2lvbiBpcyByZXF1aXJlcyBiZWNhdXNlIG90aGVy
d2lzZSB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IGlzIG5vdCBkaXNwbGF5ZWQgKi8KKyAg
ICAgICAgICAgICNyZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgcG9zaXRpb246IGFi
c29sdXRlOyB0b3A6IDBweDsgbGVmdDogMHB4OyB9CisgICAgICAgIDwvc3R5bGU+CisgICAgICAg
IDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAg
ICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdG
b3JGaXhlZFBvc2l0aW9uRW5hYmxlZCh0cnVlKTsKKworICAgICAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisg
ICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICB3aW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGF5ZXJUcmVlIikuaW5uZXJUZXh0ID0gd2luZG93
LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOworICAgICAgICAgICAgICAgIH0s
IGZhbHNlKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAg
ICAgICA8cD5UZXN0IHRoYXQgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgd2l0aCBhIHRyYW5z
Zm9ybWVkIHBhcmVudCBpcyBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSB0cmFuc2Zvcm1lZCBw
YXJlbnQgYW5kIGlzIG5vdCBjb21wb3NpdGVkLjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2VzcyB5
b3Ugc2hvdWxkIG5vdCBzZWUgcmVkIGJlbG93LjwvcD4KKyAgICAgICAgPGRpdiBpZD0icmVkIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0idHJhbnNmb3JtZWRQYXJlbnQiPgorICAgICAgICAgICAg
PGRpdiBpZD0iZml4ZWQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
cmVnaW9uIj48L2Rpdj4KKyAgICAgICAgPHByZSBpZD0ibGF5ZXJUcmVlIj48L3ByZT4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdp
b25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctekluZGV4LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctekluZGV4LWV4cGVjdGVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTU2NTc4MgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFt
ZWQtZmxvdy16SW5kZXgtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDI0IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQo
dHJ1ZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAj
Zml4ZWQxIHsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB0b3A6IDEwMHB4OyBsZWZ0OiAx
MDBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IHBvc2l0aW9uOiBmaXhlZDsgei1pbmRleDog
MTA7IH0KKworICAgICAgICAgICAgI2ZpeGVkMiB7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBw
eDsgdG9wOiAxNTBweDsgbGVmdDogMTUwcHg7IGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTsgcG9z
aXRpb246IGZpeGVkOyB6LWluZGV4OiAxOyB9CisKKyAgICAgICAgICAgICNmaXhlZDMgeyB3aWR0
aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IHRvcDogMTc1cHg7IGxlZnQ6IDE3NXB4OyBiYWNrZ3Jv
dW5kLWNvbG9yOiBibHVlOyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDU7IH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgZm9yIDxh
IGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUxNDQiPldl
YktpdCBCdWcgMTI1MTQ0PC9hPiBbQ1NTIFJlZ2lvbnNdIEVuYWJsZSBhY2NlbGVyYXRlZCBjb21w
b3NpdGluZyBmb3IgZml4ZWQgZWxlbWVudHMgaW4gbmFtZWQgZmxvd3M8L3A+CisgICAgICAgIDxw
PlRlc3QgdGhhdCBwYWludGluZyB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50cyBpbnNpZGUg
dGhlIHNhbWUgbmFtZWQgZmxvdyB0YWtlcyB6SW5kZXggaW50byBhY2NvdW50LjwvcD4KKyAgICAg
ICAgPHA+T24gc3VjY2VzcywgeW91IHNob3VsZCBzZWUgMyByZWN0YW5nbGVzIHBhaW50ZWQgaW4g
dGhlIGZvbGxvd2luZyBvcmRlcjogZ3JlZW4sIGJsdWUsIG9yYW5nZS48L3A+CisgICAgICAgIDxk
aXYgaWQ9ImZpeGVkMSI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImZpeGVkMiI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9ImZpeGVkMyI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1m
bG93LXpJbmRleC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1p
bi1uYW1lZC1mbG93LXpJbmRleC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjIzYzFiOGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9y
ZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctekluZGV4Lmh0bWwKQEAgLTAsMCArMSwyOCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdD4KKyAg
ICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdpbmRvdy5p
bnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRp
b25FbmFibGVkKHRydWUpOworICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgI2ZpeGVkMSB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyB3aWR0aDogMTAwcHg7
IGhlaWdodDogMTAwcHg7IHRvcDogMTAwcHg7IGxlZnQ6IDEwMHB4OyBiYWNrZ3JvdW5kLWNvbG9y
OiBncmVlbjsgcG9zaXRpb246IGZpeGVkOyB6LWluZGV4OiAxMDsgfQorCisgICAgICAgICAgICAj
Zml4ZWQyIHsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAx
MDBweDsgdG9wOiAxNTBweDsgbGVmdDogMTUwcHg7IGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTsg
cG9zaXRpb246IGZpeGVkOyB6LWluZGV4OiAxOyB9CisKKyAgICAgICAgICAgICNmaXhlZDMgeyAt
d2Via2l0LWZsb3ctaW50bzogZmxvdzsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB0b3A6
IDE3NXB4OyBsZWZ0OiAxNzVweDsgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsgcG9zaXRpb246IGZp
eGVkOyB6LWluZGV4OiA1OyB9CisKKyAgICAgICAgICAgIC8qIFdlIG5lZWQgYSByZWdpb24gYmVj
YXVzZSBvdGhlcndpc2UgdGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudHMgYXJlIG5vdCBkaXNw
bGF5ZWQgKi8KKyAgICAgICAgICAgICNyZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+
VGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEyNTE0NCI+V2ViS2l0IEJ1ZyAxMjUxNDQ8L2E+IFtDU1MgUmVnaW9uc10gRW5hYmxlIGFjY2Vs
ZXJhdGVkIGNvbXBvc2l0aW5nIGZvciBmaXhlZCBlbGVtZW50cyBpbiBuYW1lZCBmbG93czwvcD4K
KyAgICAgICAgPHA+VGVzdCB0aGF0IHBhaW50aW5nIHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1l
bnRzIGluc2lkZSB0aGUgc2FtZSBuYW1lZCBmbG93IHRha2VzIHpJbmRleCBpbnRvIGFjY291bnQu
PC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSAzIHJlY3RhbmdsZXMg
cGFpbnRlZCBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOiBncmVlbiwgYmx1ZSwgb3JhbmdlLjwvcD4K
KyAgICAgICAgPGRpdiBpZD0iZml4ZWQxIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQy
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQzIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0icmVnaW9uIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3cuaHRtbCBiL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxNWRlYWEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3cu
aHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFk
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjcmVkIHsgcG9zaXRpb246IGFic29sdXRl
OyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IHRvcDogMTUwcHg7IGxlZnQ6IDE1MHB4OyBi
YWNrZ3JvdW5kLWNvbG9yOiByZWQ7IH0KKyAgICAgICAgICAgICNmaXhlZCB7IC13ZWJraXQtZmxv
dy1pbnRvOiBmbG93OyBwb3NpdGlvbjogZml4ZWQ7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBw
eDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IHRvcDogMTUwcHg7IGxlZnQ6IDE1MHB4OyB9Cisg
ICAgICAgICAgICAvKiBUaGUgcmVnaW9uIGlzIHJlcXVpcmVzIGJlY2F1c2Ugb3RoZXJ3aXNlIHRo
ZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgaXMgbm90IGRpc3BsYXllZCAqLworICAgICAgICAg
ICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OyB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAg
ICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCh0cnVlKTsKKworICAgICAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOworCisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAg
ICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uKCkgeworICAgICAgICAg
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGF5ZXJUcmVlIikuaW5uZXJUZXh0
ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOworICAgICAgICAg
ICAgICAgICAgfSwgZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxwPlRoaXMgdGVzdCBjb2xsZWN0cyBhIGZpeGVkIHBvc2l0aW9uIGVs
ZW1lbnQgaW5zaWRlIGEgbmFtZWQgZmxvdyBhbmQgZmxvd3MgaXQgaW50byBhIHJlZ2lvbi48L3A+
CisgICAgICAgIDxwPlRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgc2hvdWxkIGJlIHBvc2l0
aW9uZWQgcmVsYXRpdmUgdG8gdGhlIHZpZXdwb3J0IGFuZCBpdCBzaG91bGQgYmUgY29tcG9zaXRl
ZC48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MgeW91IHNob3VsZCBub3Qgc2VlIHJlZCBiZWxv
dy48L3A+CisgICAgICAgIDxkaXYgaWQ9InJlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImZp
eGVkIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uIj48L2Rpdj4KKyAgICAgICAgPHBy
ZSBpZD0ibGF5ZXJUcmVlIj48L3ByZT4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmNwcAppbmRleCA3NThl
YzJkLi40MzhiYWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvd1Ro
cmVhZENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhy
ZWFkQ29udHJvbGxlci5jcHAKQEAgLTI4MCw2ICsyODAsMTEgQEAgYm9vbCBGbG93VGhyZWFkQ29u
dHJvbGxlcjo6aXNDb250ZW50RWxlbWVudFJlZ2lzdGVyZWRXaXRoQW55TmFtZWRGbG93KGNvbnN0
IEVsZW0KICAgICByZXR1cm4gbV9tYXBOYW1lZEZsb3dDb250ZW50RWxlbWVudC5jb250YWlucygm
Y29udGVudEVsZW1lbnQpOwogfQogCitzdGF0aWMgaW5saW5lIGJvb2wgY29tcGFyZVpJbmRleChS
ZW5kZXJMYXllciogZmlyc3QsIFJlbmRlckxheWVyKiBzZWNvbmQpCit7CisgICAgcmV0dXJuIGZp
cnN0LT56SW5kZXgoKSA8IHNlY29uZC0+ekluZGV4KCk7Cit9CisKIC8vIENvbGxlY3QgdGhlIGZp
eGVkIHBvc2l0aW9uZWQgbGF5ZXJzIHRoYXQgaGF2ZSB0aGUgbmFtZWQgZmxvd3MgYXMgY29udGFp
bmluZyBibG9jawogLy8gVGhlc2UgbGF5ZXJzIGFyZSBwYWludGVkIGFuZCBoaXQtdGVzdGVkIHN0
YXJ0aW5nIGZyb20gUmVuZGVyVmlldyBub3QgZnJvbSByZWdpb25zLgogdm9pZCBGbG93VGhyZWFk
Q29udHJvbGxlcjo6Y29sbGVjdEZpeGVkUG9zaXRpb25lZExheWVycyhWZWN0b3I8UmVuZGVyTGF5
ZXIqPiYgZml4ZWRQb3NMYXllcnMpIGNvbnN0CkBAIC0yOTIsMTcgKzI5NywzMyBAQCB2b2lkIEZs
b3dUaHJlYWRDb250cm9sbGVyOjpjb2xsZWN0Rml4ZWRQb3NpdGlvbmVkTGF5ZXJzKFZlY3RvcjxS
ZW5kZXJMYXllcio+JiBmaQogICAgICAgICBpZiAoIWZsb3dSZW5kZXJlci0+aGFzUmVnaW9ucygp
KQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgLy8gSXRlcmF0ZSBvdmVyIHRoZSBm
aXhlZCBwb3NpdGlvbmVkIGVsZW1lbnRzIGluIHRoZSBmbG93IHRocmVhZAotICAgICAgICBUcmFj
a2VkUmVuZGVyZXJMaXN0SGFzaFNldCogcG9zaXRpb25lZERlc2NlbmRhbnRzID0gZmxvd1JlbmRl
cmVyLT5wb3NpdGlvbmVkT2JqZWN0cygpOwotICAgICAgICBpZiAocG9zaXRpb25lZERlc2NlbmRh
bnRzKSB7Ci0gICAgICAgICAgICBmb3IgKGF1dG8gaXQgPSBwb3NpdGlvbmVkRGVzY2VuZGFudHMt
PmJlZ2luKCksIGVuZCA9IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+ZW5kKCk7IGl0ICE9IGVuZDsg
KytpdCkgewotICAgICAgICAgICAgICAgIFJlbmRlckJveCogYm94ID0gKml0OwotICAgICAgICAg
ICAgICAgIGlmICghYm94LT5maXhlZFBvc2l0aW9uZWRXaXRoTmFtZWRGbG93Q29udGFpbmluZ0Js
b2NrKCkpCisgICAgICAgIC8vIEl0ZXJhdGUgb3ZlciB0aGUgbGlzdHMgb2YgZml4ZWQgcG9zaXRp
b25lZCBsYXllcnMgY29sbGVjdGVkIGF0IGZsb3cgdGhyZWFkIGxheWVyIGxldmVsCisgICAgICAg
IFJlbmRlckxheWVyKiBmbG93VGhyZWFkTGF5ZXIgPSBmbG93UmVuZGVyZXItPmxheWVyKCk7CisK
KyAgICAgICAgLy8gRklYTUU6IHRoaXMgc2hvdWxkIGJlIHJlbW92ZWQgb25jZSB0aGUgcGF0Y2gg
Zm9yIDEyNTc1NiBsYW5kcworICAgICAgICBmbG93VGhyZWFkTGF5ZXItPnVwZGF0ZUxheWVyTGlz
dHNJZk5lZWRlZCgpOworCisgICAgICAgIGlmIChWZWN0b3I8UmVuZGVyTGF5ZXIqPiogbmVnWk9y
ZGVyTGlzdCA9IGZsb3dUaHJlYWRMYXllci0+bmVnWk9yZGVyTGlzdCgpKSB7CisgICAgICAgICAg
ICBmb3IgKHNpemVfdCBpID0gMCwgc2l6ZSA9IG5lZ1pPcmRlckxpc3QtPnNpemUoKTsgaSA8IHNp
emU7ICsraSkgeworICAgICAgICAgICAgICAgIFJlbmRlckxheWVyKiBjdXJyTGF5ZXIgPSBuZWda
T3JkZXJMaXN0LT5hdChpKTsKKyAgICAgICAgICAgICAgICBpZiAoY3VyckxheWVyLT5yZW5kZXJl
cigpLnN0eWxlKCkucG9zaXRpb24oKSAhPSBGaXhlZFBvc2l0aW9uKQogICAgICAgICAgICAgICAg
ICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICBmaXhlZFBvc0xheWVycy5hcHBlbmQoYm94
LT5sYXllcigpKTsKKyAgICAgICAgICAgICAgICBmaXhlZFBvc0xheWVycy5hcHBlbmQoY3Vyckxh
eWVyKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorCisgICAgICAgIGlmIChWZWN0b3I8UmVu
ZGVyTGF5ZXIqPiogcG9zWk9yZGVyTGlzdCA9IGZsb3dUaHJlYWRMYXllci0+cG9zWk9yZGVyTGlz
dCgpKSB7CisgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMCwgc2l6ZSA9IHBvc1pPcmRlckxp
c3QtPnNpemUoKTsgaSA8IHNpemU7ICsraSkgeworICAgICAgICAgICAgICAgIFJlbmRlckxheWVy
KiBjdXJyTGF5ZXIgPSBwb3NaT3JkZXJMaXN0LT5hdChpKTsKKyAgICAgICAgICAgICAgICBpZiAo
Y3VyckxheWVyLT5yZW5kZXJlcigpLnN0eWxlKCkucG9zaXRpb24oKSAhPSBGaXhlZFBvc2l0aW9u
KQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICBmaXhlZFBv
c0xheWVycy5hcHBlbmQoY3VyckxheWVyKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAg
IH0KKworICAgIC8vIFNvcnQgdGhlIGZpeGVkIGxheWVycyBsaXN0CisgICAgc3RkOjpzdGFibGVf
c29ydChmaXhlZFBvc0xheWVycy5iZWdpbigpLCBmaXhlZFBvc0xheWVycy5lbmQoKSwgY29tcGFy
ZVpJbmRleCk7CiB9CiAKICNpZm5kZWYgTkRFQlVHCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKaW5kZXggM2YwZTMyNy4uZjc2ZmM0NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcApAQCAtMjcxLDYgKzI3
MSw5IEBAIGNvbnN0IFJlbmRlckxheWVyTGlzdCogUmVuZGVyRmxvd1RocmVhZDo6Z2V0TGF5ZXJM
aXN0Rm9yUmVnaW9uKFJlbmRlck5hbWVkRmxvd0ZyCiAKIFJlbmRlck5hbWVkRmxvd0ZyYWdtZW50
KiBSZW5kZXJGbG93VGhyZWFkOjpyZWdpb25Gb3JDb21wb3NpdGVkTGF5ZXIoUmVuZGVyTGF5ZXIm
IGNoaWxkTGF5ZXIpCiB7CisgICAgaWYgKGNoaWxkTGF5ZXIucmVuZGVyZXIoKS5maXhlZFBvc2l0
aW9uZWRXaXRoTmFtZWRGbG93Q29udGFpbmluZ0Jsb2NrKCkpCisgICAgICAgIHJldHVybiAwOwor
CiAgICAgaWYgKGNoaWxkTGF5ZXIucmVuZGVyQm94KCkpIHsKICAgICAgICAgUmVuZGVyUmVnaW9u
KiBzdGFydFJlZ2lvbiA9IDA7CiAgICAgICAgIFJlbmRlclJlZ2lvbiogZW5kUmVnaW9uID0gMDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGY0MmE2NzIuLmQy
YTY4YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNDA2
MSw5ICs0MDYxLDYgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRGaXhlZExheWVyc0luTmFtZWRG
bG93cyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEwKICAgICBWZWN0b3I8UmVuZGVy
TGF5ZXIqPiBmaXhlZExheWVyczsKICAgICByZW5kZXJlcigpLnZpZXcoKS5mbG93VGhyZWFkQ29u
dHJvbGxlcigpLmNvbGxlY3RGaXhlZFBvc2l0aW9uZWRMYXllcnMoZml4ZWRMYXllcnMpOwogCi0g
ICAgLy8gU29ydCB0aGUgZml4ZWQgbGF5ZXJzIGxpc3QKLSAgICBzdGQ6OnN0YWJsZV9zb3J0KGZp
eGVkTGF5ZXJzLmJlZ2luKCksIGZpeGVkTGF5ZXJzLmVuZCgpLCBjb21wYXJlWkluZGV4KTsKLQog
ICAgIC8vIFBhaW50IHRoZSBsYXllcnMKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGZpeGVk
TGF5ZXJzLnNpemUoKTsgKytpKSB7CiAgICAgICAgIFJlbmRlckxheWVyKiBmaXhlZExheWVyID0g
Zml4ZWRMYXllcnMuYXQoaSk7CkBAIC00ODExLDkgKzQ4MDgsNiBAQCBSZW5kZXJMYXllciogUmVu
ZGVyTGF5ZXI6OmhpdFRlc3RGaXhlZExheWVyc0luTmFtZWRGbG93cyhSZW5kZXJMYXllciogLypy
b290TGF5ZQogICAgIFZlY3RvcjxSZW5kZXJMYXllcio+IGZpeGVkTGF5ZXJzOwogICAgIHJlbmRl
cmVyKCkudmlldygpLmZsb3dUaHJlYWRDb250cm9sbGVyKCkuY29sbGVjdEZpeGVkUG9zaXRpb25l
ZExheWVycyhmaXhlZExheWVycyk7CiAKLSAgICAvLyBTb3J0IHRoZSBmaXhlZCBsYXllcnMgbGlz
dAotICAgIHN0ZDo6c3RhYmxlX3NvcnQoZml4ZWRMYXllcnMuYmVnaW4oKSwgZml4ZWRMYXllcnMu
ZW5kKCksIGNvbXBhcmVaSW5kZXgpOwotCiAgICAgLy8gSGl0IHRlc3QgdGhlIGxheWVycwogICAg
IFJlbmRlckxheWVyKiByZXN1bHRMYXllciA9IDA7CiAgICAgZm9yIChpbnQgaSA9IGZpeGVkTGF5
ZXJzLnNpemUoKSAtIDE7IGkgPj0gMDsgLS1pKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDdhZTk2ZTQuLmEwMWMzMmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuY3BwCkBAIC0xMDIyLDYgKzEwMjIsMjMgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6
OmFkZFRvT3ZlcmxhcE1hcFJlY3Vyc2l2ZShPdmVybGFwTWFwJiBvdmVybGFwTWFwLCBSZW4KICAg
ICAgICAgb3ZlcmxhcE1hcC5nZW9tZXRyeU1hcCgpLnBvcE1hcHBpbmdzVG9BbmNlc3RvcihhbmNl
c3RvckxheWVyKTsKIH0KIAordm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNvbXB1dGVDb21w
b3NpdGluZ1JlcXVpcmVtZW50c0Zvck5hbWVkRmxvd0ZpeGVkKFJlbmRlckxheWVyJiBsYXllciwg
T3ZlcmxhcE1hcCogb3ZlcmxhcE1hcCwgQ29tcG9zaXRpbmdTdGF0ZSYgY2hpbGRTdGF0ZSwgYm9v
bCYgbGF5ZXJzQ2hhbmdlZCwgYm9vbCYgYW55RGVzY2VuZGFudEhhczNEVHJhbnNmb3JtKQorewor
ICAgIGlmICghbGF5ZXIuaXNSb290TGF5ZXIoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYg
KCFsYXllci5yZW5kZXJlcigpLnZpZXcoKS5oYXNSZW5kZXJOYW1lZEZsb3dUaHJlYWRzKCkpCisg
ICAgICAgIHJldHVybjsKKworICAgIFZlY3RvcjxSZW5kZXJMYXllcio+IGZpeGVkTGF5ZXJzOwor
ICAgIGxheWVyLnJlbmRlcmVyKCkudmlldygpLmZsb3dUaHJlYWRDb250cm9sbGVyKCkuY29sbGVj
dEZpeGVkUG9zaXRpb25lZExheWVycyhmaXhlZExheWVycyk7CisKKyAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IGZpeGVkTGF5ZXJzLnNpemUoKTsgKytpKSB7CisgICAgICAgIFJlbmRlckxheWVy
KiBmaXhlZExheWVyID0gZml4ZWRMYXllcnMuYXQoaSk7CisgICAgICAgIGNvbXB1dGVDb21wb3Np
dGluZ1JlcXVpcmVtZW50cygmbGF5ZXIsICpmaXhlZExheWVyLCBvdmVybGFwTWFwLCBjaGlsZFN0
YXRlLCBsYXllcnNDaGFuZ2VkLCBhbnlEZXNjZW5kYW50SGFzM0RUcmFuc2Zvcm0pOworICAgIH0K
K30KKwogLy8gIFJlY3Vyc2UgdGhyb3VnaCB0aGUgbGF5ZXJzIGluIHotaW5kZXggYW5kIG92ZXJm
bG93IG9yZGVyICh3aGljaCBpcyBlcXVpdmFsZW50IHRvIHBhaW50aW5nIG9yZGVyKQogLy8gIEZv
ciB0aGUgei1vcmRlciBjaGlsZHJlbiBvZiBhIGNvbXBvc2l0aW5nIGxheWVyOgogLy8gICAgICBJ
ZiBhIGNoaWxkIGxheWVycyBoYXMgYSBjb21wb3NpdGluZyBsYXllciwgdGhlbiBhbGwgc3Vic2Vx
dWVudCBsYXllcnMgbXVzdApAQCAtMTE0OCw3ICsxMTY1LDExIEBAIHZvaWQgUmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjpjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMoUmVuZGVyTGF5ZXIqIGFu
Y2VzdG9yCiAgICAgICAgICAgICAgICAgY29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKCZs
YXllciwgKnBvc1pPcmRlckxpc3QtPmF0KGkpLCBvdmVybGFwTWFwLCBjaGlsZFN0YXRlLCBsYXll
cnNDaGFuZ2VkLCBhbnlEZXNjZW5kYW50SGFzM0RUcmFuc2Zvcm0pOwogICAgICAgICB9CiAgICAg
fQotICAgIAorCisgICAgLy8gRklYTUU6IE5lZWQgYSBiZXR0ZXIgbmFtZQorICAgIGlmIChsYXll
ci5pc1Jvb3RMYXllcigpKQorICAgICAgICBjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHNG
b3JOYW1lZEZsb3dGaXhlZChsYXllciwgb3ZlcmxhcE1hcCwgY2hpbGRTdGF0ZSwgbGF5ZXJzQ2hh
bmdlZCwgYW55RGVzY2VuZGFudEhhczNEVHJhbnNmb3JtKTsKKwogICAgIC8vIElmIHdlIGp1c3Qg
ZW50ZXJlZCBjb21wb3NpdGluZyBtb2RlLCB0aGUgcm9vdCB3aWxsIGhhdmUgYmVjb21lIGNvbXBv
c2l0ZWQgKGFzIGxvbmcgYXMgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgaXMgZW5hYmxlZCkuCiAg
ICAgaWYgKGxheWVyLmlzUm9vdExheWVyKCkpIHsKICAgICAgICAgaWYgKGluQ29tcG9zaXRpbmdN
b2RlKCkgJiYgbV9oYXNBY2NlbGVyYXRlZENvbXBvc2l0aW5nKQpAQCAtMTMwOCw2ICsxMzI5LDIz
IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjYW5BY2NlbGVyYXRlVmlkZW9SZW5kZXJp
bmcoUmVuZGVyVmlkZW8mIHZpZGVvKSBjb25zCiB9CiAjZW5kaWYKIAordm9pZCBSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OnJlYnVpbGRDb21wb3NpdGluZ0xheWVyVHJlZUZvck5hbWVkRmxvd0ZpeGVk
KFJlbmRlckxheWVyJiBsYXllciwgVmVjdG9yPEdyYXBoaWNzTGF5ZXIqPiYgY2hpbGRHcmFwaGlj
c0xheWVyc09mRW5jbG9zaW5nTGF5ZXIsIGludCBkZXB0aCkKK3sKKyAgICBpZiAoIWxheWVyLmlz
Um9vdExheWVyKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghbGF5ZXIucmVuZGVyZXIo
KS52aWV3KCkuaGFzUmVuZGVyTmFtZWRGbG93VGhyZWFkcygpKQorICAgICAgICByZXR1cm47CisK
KyAgICBWZWN0b3I8UmVuZGVyTGF5ZXIqPiBmaXhlZExheWVyczsKKyAgICBsYXllci5yZW5kZXJl
cigpLnZpZXcoKS5mbG93VGhyZWFkQ29udHJvbGxlcigpLmNvbGxlY3RGaXhlZFBvc2l0aW9uZWRM
YXllcnMoZml4ZWRMYXllcnMpOworCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBmaXhlZExh
eWVycy5zaXplKCk7ICsraSkgeworICAgICAgICBSZW5kZXJMYXllciogZml4ZWRMYXllciA9IGZp
eGVkTGF5ZXJzLmF0KGkpOworICAgICAgICByZWJ1aWxkQ29tcG9zaXRpbmdMYXllclRyZWUoKmZp
eGVkTGF5ZXIsIGNoaWxkR3JhcGhpY3NMYXllcnNPZkVuY2xvc2luZ0xheWVyLCBkZXB0aCk7Cisg
ICAgfQorfQorCiB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVidWlsZENvbXBvc2l0aW5n
TGF5ZXJUcmVlKFJlbmRlckxheWVyJiBsYXllciwgVmVjdG9yPEdyYXBoaWNzTGF5ZXIqPiYgY2hp
bGRMYXllcnNPZkVuY2xvc2luZ0xheWVyLCBpbnQgZGVwdGgpCiB7CiAgICAgLy8gTWFrZSB0aGUg
bGF5ZXIgY29tcG9zaXRpbmcgaWYgbmVjZXNzYXJ5LCBhbmQgc2V0IHVwIGNsaXBwaW5nIGFuZCBj
b250ZW50IGxheWVycy4KQEAgLTEzMTcsNyArMTM1NSw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjpyZWJ1aWxkQ29tcG9zaXRpbmdMYXllclRyZWUoUmVuZGVyTGF5ZXImIGxheWVyLCBW
ZWN0CiAgICAgLy8gRG8gbm90IGl0ZXJhdGUgdGhlIFJlbmRlckZsb3dUaHJlYWQgZGlyZWN0bHku
IFdlIGFyZSBnb2luZyB0byBjb2xsZWN0IGNvbXBvc2l0ZWQgbGF5ZXJzIGFzIHBhcnQgb2YgcmVn
aW9ucy4KICAgICBpZiAobGF5ZXIuaXNGbG93VGhyZWFkQ29sbGVjdGluZ0dyYXBoaWNzTGF5ZXJz
VW5kZXJSZWdpb25zKCkpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwogICAgIFJlbmRlckxheWVy
QmFja2luZyogbGF5ZXJCYWNraW5nID0gbGF5ZXIuYmFja2luZygpOwogICAgIGlmIChsYXllckJh
Y2tpbmcpIHsKICAgICAgICAgLy8gVGhlIGNvbXBvc2l0aW5nIHN0YXRlIG9mIGFsbCBvdXIgY2hp
bGRyZW4gaGFzIGJlZW4gdXBkYXRlZCBhbHJlYWR5LCBzbyBub3cKQEAgLTEzODAsNyArMTQxOCwx
MCBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVidWlsZENvbXBvc2l0aW5nTGF5ZXJU
cmVlKFJlbmRlckxheWVyJiBsYXllciwgVmVjdAogICAgICAgICAgICAgICAgIHJlYnVpbGRDb21w
b3NpdGluZ0xheWVyVHJlZSgqcG9zWk9yZGVyTGlzdC0+YXQoaSksIGNoaWxkTGlzdCwgZGVwdGgg
KyAxKTsKICAgICAgICAgfQogICAgIH0KLSAgICAKKworICAgIGlmIChsYXllci5pc1Jvb3RMYXll
cigpKQorICAgICAgICByZWJ1aWxkQ29tcG9zaXRpbmdMYXllclRyZWVGb3JOYW1lZEZsb3dGaXhl
ZChsYXllciwgY2hpbGRMaXN0LCBkZXB0aCArIDEpOworCiAgICAgaWYgKGxheWVyQmFja2luZykg
ewogICAgICAgICBib29sIHBhcmVudGVkID0gZmFsc2U7CiAgICAgICAgIGlmIChsYXllci5yZW5k
ZXJlcigpLmlzV2lkZ2V0KCkpCkBAIC0xNTk4LDEwICsxNjM5LDYgQEAgYm9vbCBSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OnBhcmVudEZyYW1lQ29udGVudExheWVycyhSZW5kZXJXaWRnZXQqIHJlbmRl
cmVyKQogLy8gVGhpcyBqdXN0IHVwZGF0ZXMgbGF5ZXIgZ2VvbWV0cnkgd2l0aG91dCBjaGFuZ2lu
ZyB0aGUgaGllcmFyY2h5Lgogdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUxheWVy
VHJlZUdlb21ldHJ5KFJlbmRlckxheWVyJiBsYXllciwgaW50IGRlcHRoKQogewotICAgIC8vIEZJ
WE1FOiBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnRzIGluc2lkZSBhIG5hbWVkIGZsb3cgYXJlIG5v
dCBjb21wb3NpdGVkIHlldC4KLSAgICBpZiAobGF5ZXIuaXNPdXRPZkZsb3dSZW5kZXJGbG93VGhy
ZWFkKCkpCi0gICAgICAgIHJldHVybjsKLQogICAgIGlmIChSZW5kZXJMYXllckJhY2tpbmcqIGxh
eWVyQmFja2luZyA9IGxheWVyLmJhY2tpbmcoKSkgewogICAgICAgICAvLyBUaGUgY29tcG9zaXRp
bmcgc3RhdGUgb2YgYWxsIG91ciBjaGlsZHJlbiBoYXMgYmVlbiB1cGRhdGVkIGFscmVhZHksIHNv
IG5vdwogICAgICAgICAvLyB3ZSBjYW4gY29tcHV0ZSBhbmQgY2FjaGUgdGhlIGNvbXBvc2l0ZWQg
Ym91bmRzIGZvciB0aGlzIGxheWVyLgpAQCAtMjQ4NSw2ICsyNTIyLDcgQEAgYm9vbCBSZW5kZXJM
YXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JQb3NpdGlvbihSZW5kZXJMYXll
ck1vZGVsT2JqZWMKIAogICAgIC8vIEZJWE1FOiBhY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4
ZWRQb3NpdGlvbkVuYWJsZWQgc2hvdWxkIHByb2JhYmx5IGJlIHJlbmFtZWQgYWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0ZvclZpZXdwb3J0Q29uc3RyYWluZWRQb3NpdGlvbkVuYWJsZWQoKS4KICAgICBj
b25zdCBTZXR0aW5ncyYgc2V0dGluZ3MgPSBtX3JlbmRlclZpZXcuZnJhbWVWaWV3KCkuZnJhbWUo
KS5zZXR0aW5ncygpOworCiAgICAgaWYgKCFzZXR0aW5ncy5hY2NlbGVyYXRlZENvbXBvc2l0aW5n
Rm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCkBAIC0y
NTAxLDcgKzI1MzksNyBAQCBib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21w
b3NpdGluZ0ZvclBvc2l0aW9uKFJlbmRlckxheWVyTW9kZWxPYmplYwogCiAgICAgLy8gRG9uJ3Qg
cHJvbW90ZSBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyB0aGF0IGFyZSBkZXNjZW5kYW50cyBvZiBh
IG5vbi12aWV3IGNvbnRhaW5lciwgZS5nLiB0cmFuc2Zvcm1lZCBlbGVtZW50cy4KICAgICAvLyBU
aGV5IHdpbGwgc3RheSBmaXhlZCB3cnQgdGhlIGNvbnRhaW5lciByYXRoZXIgdGhhbiB0aGUgZW5j
bG9zaW5nIGZyYW1lLgotICAgIGlmIChjb250YWluZXIgIT0gJm1fcmVuZGVyVmlldykgeworICAg
IGlmIChjb250YWluZXIgIT0gJm1fcmVuZGVyVmlldyAmJiAhcmVuZGVyZXIuZml4ZWRQb3NpdGlv
bmVkV2l0aE5hbWVkRmxvd0NvbnRhaW5pbmdCbG9jaygpKSB7CiAgICAgICAgIGlmICh2aWV3cG9y
dENvbnN0cmFpbmVkTm90Q29tcG9zaXRlZFJlYXNvbikKICAgICAgICAgICAgICp2aWV3cG9ydENv
bnN0cmFpbmVkTm90Q29tcG9zaXRlZFJlYXNvbiA9IFJlbmRlckxheWVyOjpOb3RDb21wb3NpdGVk
Rm9yTm9uVmlld0NvbnRhaW5lcjsKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCmluZGV4IGQ5ODYxNWMu
LjMzNTdhNWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckNvbXBvc2l0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJD
b21wb3NpdG9yLmgKQEAgLTM0MSw3ICszNDEsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgY29tcHV0
ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKFJlbmRlckxheWVyKiBhbmNlc3RvckxheWVyLCBSZW5k
ZXJMYXllciYsIE92ZXJsYXBNYXAqLCBzdHJ1Y3QgQ29tcG9zaXRpbmdTdGF0ZSYsIGJvb2wmIGxh
eWVyc0NoYW5nZWQsIGJvb2wmIGRlc2NlbmRhbnRIYXMzRFRyYW5zZm9ybSk7CiAKICAgICB2b2lk
IGNvbXB1dGVSZWdpb25Db21wb3NpdGluZ1JlcXVpcmVtZW50cyhSZW5kZXJOYW1lZEZsb3dGcmFn
bWVudCosIE92ZXJsYXBNYXAqLCBDb21wb3NpdGluZ1N0YXRlJiwgYm9vbCYgbGF5ZXJzQ2hhbmdl
ZCwgYm9vbCYgYW55RGVzY2VuZGFudEhhczNEVHJhbnNmb3JtKTsKLSAgICAKKworICAgIHZvaWQg
Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzRm9yTmFtZWRGbG93Rml4ZWQoUmVuZGVyTGF5
ZXImLCBPdmVybGFwTWFwKiBvdmVybGFwTWFwLCBDb21wb3NpdGluZ1N0YXRlJiwgYm9vbCYgbGF5
ZXJzQ2hhbmdlZCwgYm9vbCYgYW55RGVzY2VuZGFudEhhczNEVHJhbnNmb3JtKTsKKwogICAgIC8v
IFJlY3Vyc2VzIGRvd24gdGhlIHRyZWUsIHBhcmVudGluZyBkZXNjZW5kYW50IGNvbXBvc2l0aW5n
IGxheWVycyBhbmQgY29sbGVjdGluZyBhbiBhcnJheSBvZiBjaGlsZCBsYXllcnMgZm9yIHRoZSBj
dXJyZW50IGNvbXBvc2l0aW5nIGxheWVyLgogICAgIHZvaWQgcmVidWlsZENvbXBvc2l0aW5nTGF5
ZXJUcmVlKFJlbmRlckxheWVyJiwgVmVjdG9yPEdyYXBoaWNzTGF5ZXIqPiYgY2hpbGRHcmFwaGlj
c0xheWVyc09mRW5jbG9zaW5nTGF5ZXIsIGludCBkZXB0aCk7CiAKQEAgLTM0OSw2ICszNTEsOCBA
QCBwcml2YXRlOgogICAgIC8vIGxheWVycyBmb3IgdGhlIGN1cnJlbnQgY29tcG9zaXRpbmcgbGF5
ZXIgY29ycmVzcG9uZGluZyB0byB0aGUgYW5vbnltb3VzIHJlZ2lvbiAodGhhdCBiZWxvbmdzIHRv
IHRoZSByZWdpb24ncyBwYXJlbnQpLgogICAgIHZvaWQgcmVidWlsZFJlZ2lvbkNvbXBvc2l0aW5n
TGF5ZXJUcmVlKFJlbmRlck5hbWVkRmxvd0ZyYWdtZW50KiwgVmVjdG9yPEdyYXBoaWNzTGF5ZXIq
PiYgY2hpbGRMaXN0LCBpbnQgZGVwdGgpOwogCisgICAgdm9pZCByZWJ1aWxkQ29tcG9zaXRpbmdM
YXllclRyZWVGb3JOYW1lZEZsb3dGaXhlZChSZW5kZXJMYXllciYsIFZlY3RvcjxHcmFwaGljc0xh
eWVyKj4mIGNoaWxkTGlzdCwgaW50IGRlcHRoKTsKKwogICAgIC8vIFJlY3Vyc2VzIGRvd24gdGhl
IHRyZWUsIHVwZGF0aW5nIGxheWVyIGdlb21ldHJ5IG9ubHkuCiAgICAgdm9pZCB1cGRhdGVMYXll
clRyZWVHZW9tZXRyeShSZW5kZXJMYXllciYsIGludCBkZXB0aCk7CiAgICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221129</attachid>
            <date>2014-01-14 01:52:50 -0800</date>
            <delta_ts>2014-01-15 22:53:17 -0800</delta_ts>
            <desc>WIP3</desc>
            <filename>WIP3_125144.patch</filename>
            <type>text/plain</type>
            <size>49166</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvYWJzLWluLW5hbWVk
LWZsb3ctZnJvbS1maXhlZC1pbi1uYW1lZC1mbG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL3JlZ2lvbnMvYWJzLWluLW5hbWVkLWZsb3ctZnJvbS1maXhlZC1pbi1uYW1l
ZC1mbG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42
ZTY2YzZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9u
cy9hYnMtaW4tbmFtZWQtZmxvdy1mcm9tLWZpeGVkLWluLW5hbWVkLWZsb3ctZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNyBAQAorVGVzdCB0aGF0IGEgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHRo
YXQgaXMgZHluYW1pY2FseSBjaGFuZ2VkIHRvIGFic29sdXRlIGlzIHBvc2l0aW9uZWQgcmVsYXRp
dmUgdG8gdGhlIGZpcnN0IHJlZ2lvbiBpbnN0ZWFkIG9mIHRoZSB2aWV3cG9ydC4KKworVGhlIGZp
eGVkIGVsZW1lbnQgc2hvdWxkIE5PVCBiZSBjb21wb3NpdGVkLgorCitPbiBzdWNjZXNzIHlvdSBz
aG91bGQgbm90IHNlZSByZWQgYmVsb3cuCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvcmVnaW9ucy9hYnMtaW4tbmFtZWQtZmxvdy1mcm9tLWZpeGVkLWluLW5hbWVkLWZs
b3cuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvYWJzLWluLW5hbWVkLWZs
b3ctZnJvbS1maXhlZC1pbi1uYW1lZC1mbG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uMGFlNDVkZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL3JlZ2lvbnMvYWJzLWluLW5hbWVkLWZsb3ctZnJvbS1maXhlZC1pbi1uYW1lZC1mbG93
Lmh0bWwKQEAgLTAsMCArMSwzNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLnJlZ2lvbiB7IC13ZWJraXQtZmxvdy1m
cm9tOiBmbG93OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTAwcHg7IGxlZnQ6IDEwMHB4OyB3
aWR0aDogMTUwcHg7IGhlaWdodDogMTUwcHg7IH0KKyAgICAgICAgICAgIC5hYnNvbHV0ZSB7IHBv
c2l0aW9uOiBhYnNvbHV0ZTsgfQorICAgICAgICAgICAgLmZpeGVkIHsgcG9zaXRpb246IGZpeGVk
OyB9CisgICAgICAgICAgICAjcmVkIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDE1MHB4OyBs
ZWZ0OiAxNTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjog
cmVkOyB9CisgICAgICAgICAgICAjYWJzRnJvbUZpeGVkIHsgLXdlYmtpdC1mbG93LWludG86IGZs
b3c7IHRvcDogNTBweDsgbGVmdDogNTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFj
a2dyb3VuZC1jb2xvcjogZ3JlZW47IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAgPHNjcmlw
dD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdp
bmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVk
UG9zaXRpb25FbmFibGVkKHRydWUpOworCisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICAgICAg
ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7CisgICAgICAg
ICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFic0Zyb21GaXhlZCIpLmNsYXNzTmFt
ZSA9ICJhYnNvbHV0ZSI7CisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisg
ICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllclRyZWUiKS5p
bm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7Cisg
ICAgICAgICAgICB9LCBmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAg
ICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdCB0aGF0IGEgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50
IHRoYXQgaXMgZHluYW1pY2FseSBjaGFuZ2VkIHRvIGFic29sdXRlIGlzIHBvc2l0aW9uZWQgcmVs
YXRpdmUgdG8gdGhlIGZpcnN0IHJlZ2lvbiBpbnN0ZWFkIG9mIHRoZSB2aWV3cG9ydC48L3A+Cisg
ICAgICAgIDxwPlRoZSBmaXhlZCBlbGVtZW50IHNob3VsZCBOT1QgYmUgY29tcG9zaXRlZC48L3A+
CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MgeW91IHNob3VsZCBub3Qgc2VlIHJlZCBiZWxvdy48L3A+
CisgICAgICAgIDxkaXYgaWQ9InJlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lv
biI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImFic0Zyb21GaXhlZCIgY2xhc3M9ImZpeGVkIj48
L2Rpdj4KKyAgICAgICAgPHByZSBpZD0ibGF5ZXJUcmVlIj48L3ByZT4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVk
LWluLWRpZmYtbmFtZWQtZmxvd3MtekluZGV4LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLWRpZmYtbmFtZWQtZmxvd3MtekluZGV4LWV4cGVj
dGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmY0ZWEwOQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4t
ZGlmZi1uYW1lZC1mbG93cy16SW5kZXgtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDI0IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAg
ICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93Lmlu
dGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlv
bkVuYWJsZWQodHJ1ZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICAjZml4ZWQxIHsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB0b3A6IDEwMHB4
OyBsZWZ0OiAxMDBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IHBvc2l0aW9uOiBmaXhlZDsg
ei1pbmRleDogMTA7IH0KKworICAgICAgICAgICAgI2ZpeGVkMiB7IHdpZHRoOiAxMDBweDsgaGVp
Z2h0OiAxMDBweDsgdG9wOiAxNTBweDsgbGVmdDogMTUwcHg7IGJhY2tncm91bmQtY29sb3I6IG9y
YW5nZTsgcG9zaXRpb246IGZpeGVkOyB6LWluZGV4OiAxOyB9CisKKyAgICAgICAgICAgICNmaXhl
ZDMgeyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IHRvcDogMTc1cHg7IGxlZnQ6IDE3NXB4
OyBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDU7IH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRl
c3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MjUxNDQiPldlYktpdCBCdWcgMTI1MTQ0PC9hPiBbQ1NTIFJlZ2lvbnNdIEVuYWJsZSBhY2NlbGVy
YXRlZCBjb21wb3NpdGluZyBmb3IgZml4ZWQgZWxlbWVudHMgaW4gbmFtZWQgZmxvd3M8L3A+Cisg
ICAgICAgIDxwPlRlc3QgdGhhdCBwYWludGluZyB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50
cyBjb2xsZWN0ZWQgaW4gZGlmZmVyZW50IG5hbWVkIGZsb3dzIHRha2VzIHpJbmRleCBpbnRvIGFj
Y291bnQuPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSAzIHJlY3Rh
bmdsZXMgcGFpbnRlZCBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOiBncmVlbiwgYmx1ZSwgb3Jhbmdl
LjwvcD4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQxIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Zml4ZWQyIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQzIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25z
L2ZpeGVkLWluLWRpZmYtbmFtZWQtZmxvd3MtekluZGV4Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLWRpZmYtbmFtZWQtZmxvd3MtekluZGV4Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTZjOTE1ZAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tZGlmZi1uYW1lZC1m
bG93cy16SW5kZXguaHRtbApAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRB
Y2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQodHJ1ZSk7CisgICAg
ICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjZml4ZWQxIHsgLXdl
YmtpdC1mbG93LWludG86IGZsb3c7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAx
MDBweDsgbGVmdDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyBwb3NpdGlvbjogZml4
ZWQ7IHotaW5kZXg6IDEwOyB9CisKKyAgICAgICAgICAgICNmaXhlZDIgeyAtd2Via2l0LWZsb3ct
aW50bzogZmxvdzI7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxNTBweDsgbGVm
dDogMTUwcHg7IGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTsgcG9zaXRpb246IGZpeGVkOyB6LWlu
ZGV4OiAxOyB9CisKKyAgICAgICAgICAgICNmaXhlZDMgeyAtd2Via2l0LWZsb3ctaW50bzogZmxv
dzI7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxNzVweDsgbGVmdDogMTc1cHg7
IGJhY2tncm91bmQtY29sb3I6IGJsdWU7IHBvc2l0aW9uOiBmaXhlZDsgei1pbmRleDogNTsgfQor
CisgICAgICAgICAgICAvKiBXZSBuZWVkIGEgcmVnaW9uIGZvciBlYWNoIGZsb3cgYmVjYXVzZSBv
dGhlcndpc2UgdGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudHMgYXJlIG5vdCBkaXNwbGF5ZWQg
Ki8KKyAgICAgICAgICAgICNyZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgfQorICAg
ICAgICAgICAgI3JlZ2lvbjIgeyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzI7IH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgZm9yIDxh
IGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUxNDQiPldl
YktpdCBCdWcgMTI1MTQ0PC9hPiBbQ1NTIFJlZ2lvbnNdIEVuYWJsZSBhY2NlbGVyYXRlZCBjb21w
b3NpdGluZyBmb3IgZml4ZWQgZWxlbWVudHMgaW4gbmFtZWQgZmxvd3M8L3A+CisgICAgICAgIDxw
PlRlc3QgdGhhdCBwYWludGluZyB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50cyBjb2xsZWN0
ZWQgaW4gZGlmZmVyZW50IG5hbWVkIGZsb3dzIHRha2VzIHpJbmRleCBpbnRvIGFjY291bnQuPC9w
PgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSAzIHJlY3RhbmdsZXMgcGFp
bnRlZCBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOiBncmVlbiwgYmx1ZSwgb3JhbmdlLjwvcD4KKyAg
ICAgICAgPGRpdiBpZD0iZml4ZWQxIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQyIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQzIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
cmVnaW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uMiI+PC9kaXY+CisgICAgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9u
cy9maXhlZC1pbi1uYW1lZC1mbG93LWNsaXAtZGVzY2VuZGFudC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctY2xpcC1kZXNj
ZW5kYW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5i
ODcwMGIzMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lv
bnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1jbGlwLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzMgQEAKK1Rlc3QgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgY29sbGVjdGVkIGlu
IGEgbmFtZWQgZmxvdyBjb3JyZWN0bHkgY2xpcHMgaXRzIGFuY2VzdG9yLgorCitPbiBzdWNjZXNz
LCB5b3Ugc2hvdWxkIHNlZSBhIGdyZWVuIHJlY3RhbmdsZSB3aXRoIGFuIG9yYW5nZSByZWN0YW5n
bGUgaW4gdGhlIGJvdHRvbSByaWdodCBjb3JuZXIuCisKKyhHcmFwaGljc0xheWVyCisgIChib3Vu
ZHMgODAwLjAwIDYwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAg
ICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAg
ICAoY2hpbGRyZW4gMQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlv
biAxNTAuMDAgMTUwLjAwKQorICAgICAgICAgIChib3VuZHMgMTAwLjAwIDEwMC4wMCkKKyAgICAg
ICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAg
ICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKGJvdW5kcyAxMDAuMDAgMTAwLjAwKQor
ICAgICAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVy
CisgICAgICAgICAgICAgICAgICAocG9zaXRpb24gNTAuMDAgNTAuMDApCisgICAgICAgICAgICAg
ICAgICAoYm91bmRzIDEwMC4wMCAxMDAuMDApCisgICAgICAgICAgICAgICAgICAoY29udGVudHNP
cGFxdWUgMSkKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICkKKyAgICAgICAgICAg
ICkKKyAgICAgICAgICApCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1m
bG93LWNsaXAtZGVzY2VuZGFudC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9u
cy9maXhlZC1pbi1uYW1lZC1mbG93LWNsaXAtZGVzY2VuZGFudC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2N2RlMTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctY2xpcC1kZXNjZW5k
YW50Lmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8
aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxv
dy1mcm9tOiBmbG93OyB9CisgICAgICAgICAgICAjZml4ZWQgeyAtd2Via2l0LWZsb3ctaW50bzog
ZmxvdzsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgd2lkdGg6IDEw
MHB4OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgb3ZlcmZsb3c6IGhp
ZGRlbjsgfQorICAgICAgICAgICAgI2Rlc2NlbmRhbnQgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRv
cDogNTBweDsgbGVmdDogNTBweDsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3Jv
dW5kLWNvbG9yOiBvcmFuZ2U7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2lu
ZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdz
LnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCh0cnVlKTsK
KworICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcigibG9hZCIsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50
ZXJuYWxzKQorICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGF5
ZXJUcmVlIikuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9j
dW1lbnQpOworICAgICAgICAgICAgfSwgZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8
L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgYSBmaXhlZCBwb3NpdGlvbmVkIGVs
ZW1lbnQgY29sbGVjdGVkIGluIGEgbmFtZWQgZmxvdyBjb3JyZWN0bHkgY2xpcHMgaXRzIGFuY2Vz
dG9yLjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2VzcywgeW91IHNob3VsZCBzZWUgYSBncmVlbiBy
ZWN0YW5nbGUgd2l0aCBhbiBvcmFuZ2UgcmVjdGFuZ2xlIGluIHRoZSBib3R0b20gcmlnaHQgY29y
bmVyLjwvcD4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQiPgorICAgICAgICAgICAgPGRpdiBpZD0i
ZGVzY2VuZGFudCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8IS0tIE5lZWQgdG8g
anVzdCBkaXNwbGF5IHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgLS0+CisgICAgICAgIDxk
aXYgaWQ9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxwcmUgaWQ9ImxheWVyVHJlZSI+PC9wcmU+
CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWY0MTFmMgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorVGhpcyB0ZXN0IGNvbGxlY3RzIGEgZml4ZWQg
cG9zaXRpb24gZWxlbWVudCBpbnNpZGUgYSBuYW1lZCBmbG93IGFuZCBmbG93cyBpdCBpbnRvIGEg
cmVnaW9uLgorCitUaGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHNob3VsZCBiZSBwb3NpdGlv
bmVkIHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydCBhbmQgaXQgc2hvdWxkIGJlIGNvbXBvc2l0ZWQu
CisKK09uIHN1Y2Nlc3MgeW91IHNob3VsZCBub3Qgc2VlIHJlZCBiZWxvdy4KKworKEdyYXBoaWNz
TGF5ZXIKKyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFw
aGljc0xheWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY29udGVudHNP
cGFxdWUgMSkKKyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAg
ICAgICAgKHBvc2l0aW9uIDE1MC4wMCAxNTAuMDApCisgICAgICAgICAgKGJvdW5kcyAxMDAuMDAg
MTAwLjAwKQorICAgICAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgICApCisgICAgICAp
CisgICAgKQorICApCispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Jl
Z2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1mcm9tLWFicy1pbi1uYW1lZC1mbG93LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxv
dy1mcm9tLWFicy1pbi1uYW1lZC1mbG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi4yN2QwNjFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWZyb20tYWJzLWluLW5hbWVk
LWZsb3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjMgQEAKK1Rlc3QgdGhhdCBhbiBhYnNvbHV0
ZWx5IHBvc2l0aW9uZWQgZWxlbWVudCB0aGF0IGlzIGR5bmFtaWNhbHkgY2hhbmdlZCB0byBmaXhl
ZCBpcyBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydCBpbnN0ZWFkIG9mIGZpcnN0
IHJlZ2lvbi4KKworVGhlIGZpeGVkIGVsZW1lbnQgc2hvdWxkIGJlIGNvbXBvc2l0ZWQuCisKK09u
IHN1Y2Nlc3MgeW91IHNob3VsZCBub3Qgc2VlIHJlZCBiZWxvdy4KKworKEdyYXBoaWNzTGF5ZXIK
KyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGljc0xh
eWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY29udGVudHNPcGFxdWUg
MSkKKyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAg
KHBvc2l0aW9uIDE1MC4wMCAxNTAuMDApCisgICAgICAgICAgKGJvdW5kcyA1MC4wMCA1MC4wMCkK
KyAgICAgICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgICAgKQorICAgICAgKQorICAgICkK
KyAgKQorKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2Zp
eGVkLWluLW5hbWVkLWZsb3ctZnJvbS1hYnMtaW4tbmFtZWQtZmxvdy5odG1sIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWZyb20tYWJzLWluLW5h
bWVkLWZsb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODRiNzVi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhl
ZC1pbi1uYW1lZC1mbG93LWZyb20tYWJzLWluLW5hbWVkLWZsb3cuaHRtbApAQCAtMCwwICsxLDM1
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICAucmVnaW9uIHsgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7IH0KKyAgICAg
ICAgICAgIC5hYnNvbHV0ZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgfQorICAgICAgICAgICAgLmZp
eGVkIHsgcG9zaXRpb246IGZpeGVkOyB9CisgICAgICAgICAgICAjcmVkIHsgcG9zaXRpb246IGFi
c29sdXRlOyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBw
eDsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9CisgICAgICAgICAgICAjZml4ZWRGcm9tQWJzIHsg
LXdlYmtpdC1mbG93LWludG86IGZsb3c7IHRvcDogMTUwcHg7IGxlZnQ6IDE1MHB4OyB3aWR0aDog
NTBweDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfQorICAgICAgICA8
L3N0eWxlPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCisgICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVy
YXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQodHJ1ZSk7CisKKyAgICAgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKworICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Zml4ZWRGcm9tQWJzIikuY2xhc3NOYW1lID0gImZpeGVkIjsKKyAgICAgICAgICAgICAgICBpZiAo
d2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImxheWVyVHJlZSIpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVl
QXNUZXh0KGRvY3VtZW50KTsKKyAgICAgICAgICAgIH0sIGZhbHNlKTsKKyAgICAgICAgPC9zY3Jp
cHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD5UZXN0IHRoYXQgYW4gYWJz
b2x1dGVseSBwb3NpdGlvbmVkIGVsZW1lbnQgdGhhdCBpcyBkeW5hbWljYWx5IGNoYW5nZWQgdG8g
Zml4ZWQgaXMgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgdmlld3BvcnQgaW5zdGVhZCBvZiBm
aXJzdCByZWdpb24uPC9wPgorICAgICAgICA8cD5UaGUgZml4ZWQgZWxlbWVudCBzaG91bGQgYmUg
Y29tcG9zaXRlZC48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MgeW91IHNob3VsZCBub3Qgc2Vl
IHJlZCBiZWxvdy48L3A+CisgICAgICAgIDwhLS0gVGhlIHJlZ2lvbiBpcyBuZWNlc3NhcnkgaW4g
b3JkZXIgdG8gc2hvdyB0aGUgZml4ZWQgZWxlbWVudCAtLT4KKyAgICAgICAgPGRpdiBjbGFzcz0i
cmVnaW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVkIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iZml4ZWRGcm9tQWJzIiBjbGFzcz0iYWJzb2x1dGUiPjwvZGl2PgorICAgICAgICA8cHJl
IGlkPSJsYXllclRyZWUiPjwvcHJlPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1mcm9t
LW91dGZsb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9m
aXhlZC1pbi1uYW1lZC1mbG93LWZyb20tb3V0Zmxvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWZiMDkzMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1mcm9tLW91dGZs
b3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjEgQEAKK1Rlc3QgdGhhdCBhIGZpeGVkIHBvc2l0
aW9uZWQgZWxlbWVudCB0aGF0IGlzIGRpbmFtaWNhbGx5IGNvbGxlY3RlZCBpbnRvIGEgbmFtZWQg
ZmxvdyBpcyBzdGlsbCBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHZpZXdwb3J0IGFuZCBjb21wb3Np
dGVkLgorCitPbiBzdWNjZXNzIHlvdSBzaG91bGQgbm90IHNlZSByZWQgYmVsb3cuCisKKyhHcmFw
aGljc0xheWVyCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAo
R3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAgKGNvbnRl
bnRzT3BhcXVlIDEpCisgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAoR3JhcGhpY3NMYXllcgor
ICAgICAgICAgIChwb3NpdGlvbiAxMDAuMDAgMTAwLjAwKQorICAgICAgICAgIChib3VuZHMgNTAu
MDAgNTAuMDApCisgICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAgICkKKyAgICAg
ICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
cmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWZyb20tb3V0Zmxvdy5odG1sIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWZyb20tb3V0Zmxvdy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1YTE0ZDMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVk
LWZsb3ctZnJvbS1vdXRmbG93Lmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLmNvbGxl
Y3RlZEluTmFtZWRGbG93IHsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7IH0KKyAgICAgICAgICAg
IC5yZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgfQorICAgICAgICAgICAgI3JlZCB7
IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMDBweDsgbGVmdDogMTAwcHg7IHdpZHRoOiA1MHB4
OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQorICAgICAgICAgICAgI2Zp
eGVkIHsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDEwMHB4OyBsZWZ0OiAxMDBweDsgd2lkdGg6IDUw
cHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxz
KQorICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKHRydWUpOworCisgICAgICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7CisKKyAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZp
eGVkIikuY2xhc3NOYW1lID0gImNvbGxlY3RlZEluTmFtZWRGbG93IjsKKyAgICAgICAgICAgICAg
ICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImxheWVyVHJlZSIpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5
ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKKyAgICAgICAgICAgIH0sIGZhbHNlKTsKKyAgICAgICAg
PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD5UZXN0IHRoYXQg
YSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgdGhhdCBpcyBkaW5hbWljYWxseSBjb2xsZWN0ZWQg
aW50byBhIG5hbWVkIGZsb3cgaXMgc3RpbGwgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB2aWV3cG9y
dCBhbmQgY29tcG9zaXRlZC48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MgeW91IHNob3VsZCBu
b3Qgc2VlIHJlZCBiZWxvdy48L3A+CisgICAgICAgIDwhLS0gVGhlIHJlZ2lvbiBpcyBuZWNlc3Nh
cnkgaW4gb3JkZXIgdG8gc2hvdyB0aGUgZml4ZWQgZWxlbWVudCAtLT4KKyAgICAgICAgPGRpdiBj
bGFzcz0icmVnaW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVkIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0iZml4ZWQiPjwvZGl2PgorICAgICAgICA8cHJlIGlkPSJsYXllclRyZWUiPjwv
cHJlPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1nb3QtdHJhbnNmb3JtZWQtcGFyZW50
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4t
bmFtZWQtZmxvdy1nb3QtdHJhbnNmb3JtZWQtcGFyZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzQxMmQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWdvdC10cmFu
c2Zvcm1lZC1wYXJlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjggQEAKK1Rlc3QgdGhhdCBh
IGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCBpbiBhIG5hbWVkIGZsb3cgd2hvc2UgcGFyZW50IGlz
IGR5bmFtaWNhbGx5IHRyYW5zZm9ybWVkIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIHBh
cmVudCBpbnN0ZWFkIG9mIHZpZXdwb3J0LgorCitUaGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50
IHNob3VsZCBOT1QgYmUgY29tcG9zaXRlZC4KKworT24gc3VjY2VzcyB5b3Ugc2hvdWxkIG5vdCBz
ZWUgcmVkIGJlbG93LgorCisoR3JhcGhpY3NMYXllcgorICAoYm91bmRzIDgwMC4wMCA2MDAuMDAp
CisgIChjaGlsZHJlbiAxCisgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgIChib3VuZHMgODAwLjAw
IDYwMC4wMCkKKyAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgKGNoaWxkcmVuIDEKKyAg
ICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAg
ICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAg
IChwb3NpdGlvbiAxMDAuMDAgMTAwLjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDE1MC4wMCAx
NTAuMDApCisgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICkKKyAg
ICAgICAgICApCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWdv
dC10cmFuc2Zvcm1lZC1wYXJlbnQuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lv
bnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1nb3QtdHJhbnNmb3JtZWQtcGFyZW50Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTEzNzc1MAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1nb3Qt
dHJhbnNmb3JtZWQtcGFyZW50Lmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLnRyYW5z
Zm9ybWVkUGFyZW50IHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0KKwor
ICAgICAgICAgICAgI3JlZCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxNTBweDsgbGVmdDog
MTUwcHg7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDsg
fQorICAgICAgICAgICAgI3BhcmVudCB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyBwb3NpdGlv
bjogYWJzb2x1dGU7IHRvcDogMTAwcHg7IGxlZnQ6IDEwMHB4OyB3aWR0aDogMTUwcHg7IGhlaWdo
dDogMTUwcHg7IH0KKyAgICAgICAgICAgICNmaXhlZCB7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiA1
MHB4OyBsZWZ0OiA1MHB4OyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWNv
bG9yOiBncmVlbjsgfQorICAgICAgICAgICAgLyogVGhlIHJlZ2lvbiBpcyByZXF1aXJlcyBiZWNh
dXNlIG90aGVyd2lzZSB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IGlzIG5vdCBkaXNwbGF5
ZWQgKi8KKyAgICAgICAgICAgICNyZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgcG9z
aXRpb246IGFic29sdXRlOyB0b3A6IDBweDsgbGVmdDogMHB4OyB9CisgICAgICAgIDwvc3R5bGU+
CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAg
ICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCh0cnVlKTsKKworICAgICAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4
dCgpOworCisgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0
aW9uKCkgeworICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXJlbnQi
KS5jbGFzc05hbWUgPSAidHJhbnNmb3JtZWRQYXJlbnQiOworICAgICAgICAgICAgICAgIGlmICh3
aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgibGF5ZXJUcmVlIikuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVB
c1RleHQoZG9jdW1lbnQpOworICAgICAgICAgICAgfSwgZmFsc2UpOworICAgICAgICA8L3Njcmlw
dD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgdGhhdCBhIGZpeGVk
IHBvc2l0aW9uZWQgZWxlbWVudCBpbiBhIG5hbWVkIGZsb3cgd2hvc2UgcGFyZW50IGlzIGR5bmFt
aWNhbGx5IHRyYW5zZm9ybWVkIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIHBhcmVudCBp
bnN0ZWFkIG9mIHZpZXdwb3J0LjwvcD4KKyAgICAgICAgPHA+VGhlIGZpeGVkIHBvc2l0aW9uZWQg
ZWxlbWVudCBzaG91bGQgTk9UIGJlIGNvbXBvc2l0ZWQuPC9wPgorICAgICAgICA8cD5PbiBzdWNj
ZXNzIHlvdSBzaG91bGQgbm90IHNlZSByZWQgYmVsb3cuPC9wPgorICAgICAgICA8ZGl2IGlkPSJy
ZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJwYXJlbnQiPgorICAgICAgICAgICAgPGRpdiBp
ZD0iZml4ZWQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9u
Ij48L2Rpdj4KKyAgICAgICAgPHByZSBpZD0ibGF5ZXJUcmVlIj48L3ByZT4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2Zp
eGVkLWluLW5hbWVkLWZsb3ctbG9zdC10cmFuc2Zvcm1lZC1wYXJlbnQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWxvc3Qt
dHJhbnNmb3JtZWQtcGFyZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5lMGFjYWFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWxvc3QtdHJhbnNmb3JtZWQtcGFyZW50
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIzIEBACitUZXN0IHRoYXQgYSBmaXhlZCBwb3NpdGlv
bmVkIGVsZW1lbnQgaW4gYSBuYW1lZCBmbG93IHdob3NlIHBhcmVudCBkeW5hbWljYWxseSBsb3Nl
cyBpdHMgdHJhbnNmb3JtZWQgc3R5bGUgaXMgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgdmll
d3BvcnQgaW5zdGVhZCBvZiBwYXJlbnQuCisKK1RoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQg
c2hvdWxkIE5PVCBiZSBjb21wb3NpdGVkLgorCitPbiBzdWNjZXNzIHlvdSBzaG91bGQgbm90IHNl
ZSByZWQgYmVsb3cuCisKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkK
KyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAg
NjAwLjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAoY2hpbGRyZW4gMQorICAg
ICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiAxNTAuMDAgMTUwLjAwKQor
ICAgICAgICAgIChib3VuZHMgNTAuMDAgNTAuMDApCisgICAgICAgICAgKGNvbnRlbnRzT3BhcXVl
IDEpCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWxvc3QtdHJh
bnNmb3JtZWQtcGFyZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2Zp
eGVkLWluLW5hbWVkLWZsb3ctbG9zdC10cmFuc2Zvcm1lZC1wYXJlbnQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOWNhMzc4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWxvc3QtdHJh
bnNmb3JtZWQtcGFyZW50Lmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLnRyYW5zZm9y
bWVkUGFyZW50IHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0KKworICAg
ICAgICAgICAgI3JlZCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxNTBweDsgbGVmdDogMTUw
cHg7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQor
ICAgICAgICAgICAgI3BhcmVudCB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyBwb3NpdGlvbjog
YWJzb2x1dGU7IHRvcDogMTAwcHg7IGxlZnQ6IDEwMHB4OyB3aWR0aDogMTUwcHg7IGhlaWdodDog
MTUwcHg7IH0KKyAgICAgICAgICAgICNmaXhlZCB7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiAxNTBw
eDsgbGVmdDogMTUwcHg7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29s
b3I6IGdyZWVuOyB9CisgICAgICAgICAgICAvKiBUaGUgcmVnaW9uIGlzIHJlcXVpcmVzIGJlY2F1
c2Ugb3RoZXJ3aXNlIHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgaXMgbm90IGRpc3BsYXll
ZCAqLworICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OyBwb3Np
dGlvbjogYWJzb2x1dGU7IHRvcDogMHB4OyBsZWZ0OiAwcHg7IH0KKyAgICAgICAgPC9zdHlsZT4K
KyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAg
ICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKHRydWUpOworCisgICAgICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CisKKyAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhcmVudCIp
LmNsYXNzTmFtZSA9ICIiOworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQor
ICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGF5ZXJUcmVlIiku
aW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOwor
ICAgICAgICAgICAgfSwgZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgdGhhdCBhIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVu
dCBpbiBhIG5hbWVkIGZsb3cgd2hvc2UgcGFyZW50IGR5bmFtaWNhbGx5IGxvc2VzIGl0cyB0cmFu
c2Zvcm1lZCBzdHlsZSBpcyBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydCBpbnN0
ZWFkIG9mIHBhcmVudC48L3A+CisgICAgICAgIDxwPlRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1l
bnQgc2hvdWxkIE5PVCBiZSBjb21wb3NpdGVkLjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2VzcyB5
b3Ugc2hvdWxkIG5vdCBzZWUgcmVkIGJlbG93LjwvcD4KKyAgICAgICAgPGRpdiBpZD0icmVkIj48
L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icGFyZW50IiBjbGFzcz0idHJhbnNmb3JtZWRQYXJlbnQi
PgorICAgICAgICAgICAgPGRpdiBpZD0iZml4ZWQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0icmVnaW9uIj48L2Rpdj4KKyAgICAgICAgPHByZSBpZD0ibGF5ZXJUcmVl
Ij48L3ByZT4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctb3ZlcmxhcC1jb21wb3NpdGVk
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4t
bmFtZWQtZmxvdy1vdmVybGFwLWNvbXBvc2l0ZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwNGM5ZmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctb3ZlcmxhcC1jb21w
b3NpdGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI2IEBACitUZXN0IHRoYXQgYSBmaXhlZCBw
b3NpdGlvbmVkIGVsZW1lbnQgaW4gYSBuYW1lZCBmbG93IHRoYXQgb3ZlcmxhcHMgYSBjb21wb3Np
dGVkIGVsZW1lbnQgaXMgY29tcG9zaXRlZCB0b28uCisKK09uIHN1Y2Nlc3MgeW91IHNob3VsZCBz
ZWUgYSBncmVlbiByZWN0YW5nbGUgb3ZlciBhbiBvcmFuZ2UgcmVjdGFuZ2xlLgorCisoR3JhcGhp
Y3NMYXllcgorICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgIChjaGlsZHJlbiAxCisgICAgKEdy
YXBoaWNzTGF5ZXIKKyAgICAgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgICAgIChjb250ZW50
c09wYXF1ZSAxKQorICAgICAgKGNoaWxkcmVuIDIKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAg
ICAgICAgICAocG9zaXRpb24gMTUwLjAwIDE1MC4wMCkKKyAgICAgICAgICAoYm91bmRzIDEwMC4w
MCAxMDAuMDApCisgICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAgICkKKyAgICAg
ICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAocG9zaXRpb24gMjAwLjAwIDIwMC4wMCkKKyAg
ICAgICAgICAoYm91bmRzIDEwMC4wMCAxMDAuMDApCisgICAgICAgICAgKGNvbnRlbnRzT3BhcXVl
IDEpCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LW92ZXJsYXAt
Y29tcG9zaXRlZC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1p
bi1uYW1lZC1mbG93LW92ZXJsYXAtY29tcG9zaXRlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjMzZGUyMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctb3ZlcmxhcC1jb21wb3NpdGVk
Lmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLnRyYW5zZm9ybWVkIHsgLXdlYmtpdC10
cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0KKyAgICAgICAgICAgICNvcmFuZ2UgeyBwb3Np
dGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxNTBweDsg
bGVmdDogMTUwcHg7IGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTsgfQorICAgICAgICAgICAgI2Zp
eGVkIHsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7IHBvc2l0aW9uOiBmaXhlZDsgd2lkdGg6IDEw
MHB4OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgdG9wOiAyMDBweDsg
bGVmdDogMjAwcHg7IH0KKyAgICAgICAgICAgIC8qIFRoZSByZWdpb24gaXMgcmVxdWlyZXMgYmVj
YXVzZSBvdGhlcndpc2UgdGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCBpcyBub3QgZGlzcGxh
eWVkICovCisgICAgICAgICAgICAjcmVnaW9uIHsgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7IH0K
KyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
KworICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxheWVyVHJlZSIpLmlubmVyVGV4dCA9IHdp
bmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKKyAgICAgICAgICAgICAg
ICAgIH0sIGZhbHNlKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5
PgorICAgICAgICA8cD5UZXN0IHRoYXQgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgaW4gYSBu
YW1lZCBmbG93IHRoYXQgb3ZlcmxhcHMgYSBjb21wb3NpdGVkIGVsZW1lbnQgaXMgY29tcG9zaXRl
ZCB0b28uPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzIHlvdSBzaG91bGQgc2VlIGEgZ3JlZW4g
cmVjdGFuZ2xlIG92ZXIgYW4gb3JhbmdlIHJlY3RhbmdsZS48L3A+CisgICAgICAgIDxkaXYgaWQ9
Im9yYW5nZSIgY2xhc3M9InRyYW5zZm9ybWVkIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4
ZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24iPjwvZGl2PgorICAgICAgICA8cHJl
IGlkPSJsYXllclRyZWUiPjwvcHJlPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1wb3Np
dGlvbi1jaGFuZ2VkLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdp
b25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctcG9zaXRpb24tY2hhbmdlZC1leHBlY3RlZC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzNWRkYWUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ct
cG9zaXRpb24tY2hhbmdlZC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAg
ICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxz
LnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxl
ZCh0cnVlKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAg
ICNmaXhlZCB7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiAxNTBweDsgbGVmdDogMTUwcHg7IGJhY2tn
cm91bmQtY29sb3I6IGdyZWVuOyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDwhLS0gRml4ZWQg
cG9zaXRpb25lZCBlbGVtZW50IGluc2lkZSBhIG5hbWVkIGZsb3csIGR5bmFtaWNhbGx5IGNoYW5n
ZWQgdG9wL2xlZnQgLS0+CisgICAgICAgIDxwPlRlc3QgdGhhdCBhIGZpeGVkIHBvc2l0aW9uZWQg
ZWxlbWVudCB3aG9zZSBwb3NpdGlvbiBpcyBkeW5hbWljYWxseSBjaGFuZ2VkCisgICAgICAgICAg
ICBpcyBjb3JyZWN0bHkgcGFpbnRlZCBpbiB0aGUgbmV3IHBvc2l0aW9uLjwvcD4KKyAgICAgICAg
PHA+T24gc3VjY2VzcyB5b3Ugc2hvdWxkIHNlZSBhIGdyZWVuIHJlY3RhbmdsZSBhbmQgbm8gcmVk
LjwvcD4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4t
bmFtZWQtZmxvdy1wb3NpdGlvbi1jaGFuZ2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctcG9zaXRpb24tY2hhbmdlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwZGU3MGMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctcG9z
aXRpb24tY2hhbmdlZC5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICNmaXhlZCB7IC13
ZWJraXQtZmxvdy1pbnRvOiBmbG93OyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogNTBweDsgbGVmdDog
NTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBw
eDsgfQorICAgICAgICAgICAgI3JlZCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxNTBweDsg
bGVmdDogMTUwcHg7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgYmFja2dyb3VuZC1jb2xv
cjogcmVkOyB9CisgICAgICAgICAgICAvKiBXZSBuZWVkIGEgcmVnaW9uIG90aGVyd2lzZSB0aGUg
Zml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IGlzIG5vdCBkaXNwbGF5ZWQgKi8KKyAgICAgICAgICAg
ICNyZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgfQorICAgICAgICA8L3N0eWxlPgor
ICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAg
ICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBv
c2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQodHJ1ZSk7CisKKyAgICAgICAgICAgIHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpeGVkIikuc3R5bGUudG9wID0gIjE1MHB4IjsKKyAg
ICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZml4ZWQiKS5zdHlsZS5sZWZ0
ID0gIjE1MHB4IjsKKyAgICAgICAgICAgIH0sIGZhbHNlKTsKKyAgICAgICAgPC9zY3JpcHQ+Cisg
ICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8IS0tIEZpeGVkIHBvc2l0aW9uZWQgZWxl
bWVudCBpbnNpZGUgYSBuYW1lZCBmbG93LCBkeW5hbWljYWxseSBjaGFuZ2VkIHRvcC9sZWZ0IC0t
PgorICAgICAgICA8cD5UZXN0IHRoYXQgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgd2hvc2Ug
cG9zaXRpb24gaXMgZHluYW1pY2FsbHkgY2hhbmdlZAorICAgICAgICAgICAgaXMgY29ycmVjdGx5
IHBhaW50ZWQgaW4gdGhlIG5ldyBwb3NpdGlvbi48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3Mg
eW91IHNob3VsZCBzZWUgYSBncmVlbiByZWN0YW5nbGUgYW5kIG5vIHJlZC48L3A+CisgICAgICAg
IDxkaXYgaWQ9InJlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImZpeGVkIj48L2Rpdj4KKyAg
ICAgICAgPGRpdiBpZD0icmVnaW9uIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZs
b3ctdHJhbnNmb3JtZWQtcGFyZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy10cmFuc2Zvcm1lZC1wYXJlbnQtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3ZTlhMDkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5h
bWVkLWZsb3ctdHJhbnNmb3JtZWQtcGFyZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI2IEBA
CitUZXN0IHRoYXQgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgd2l0aCBhIHRyYW5zZm9ybWVk
IHBhcmVudCBpcyBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSB0cmFuc2Zvcm1lZCBwYXJlbnQg
YW5kIGlzIG5vdCBjb21wb3NpdGVkLgorCitPbiBzdWNjZXNzIHlvdSBzaG91bGQgbm90IHNlZSBy
ZWQgYmVsb3cuCisKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAg
KGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAgNjAw
LjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAoY2hpbGRyZW4gMQorICAgICAg
ICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAo
Y2hpbGRyZW4gMQorICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKHBv
c2l0aW9uIDEwMC4wMCAxMDAuMDApCisgICAgICAgICAgICAgIChib3VuZHMgMTUwLjAwIDE1MC4w
MCkKKyAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgKQorICAgICAg
ICAgICkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctdHJhbnNm
b3JtZWQtcGFyZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVk
LWluLW5hbWVkLWZsb3ctdHJhbnNmb3JtZWQtcGFyZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uYzk2Mzk1OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy10cmFuc2Zvcm1lZC1wYXJl
bnQuaHRtbApAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxo
ZWFkPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjcmVkIHsgcG9zaXRpb246IGFic29s
dXRlOyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsg
YmFja2dyb3VuZC1jb2xvcjogcmVkOyB9CisgICAgICAgICAgICAjdHJhbnNmb3JtZWRQYXJlbnQg
eyAtd2Via2l0LWZsb3ctaW50bzogZmxvdzsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwMHB4
OyBsZWZ0OiAxMDBweDsgd2lkdGg6IDE1MHB4OyBoZWlnaHQ6IDE1MHB4OyAtd2Via2l0LXRyYW5z
Zm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfQorICAgICAgICAgICAgI2ZpeGVkIHsgcG9zaXRpb246
IGZpeGVkOyB0b3A6IDUwcHg7IGxlZnQ6IDUwcHg7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7
IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB9CisgICAgICAgICAgICAvKiBUaGUgcmVnaW9uIGlz
IHJlcXVpcmVzIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQg
aXMgbm90IGRpc3BsYXllZCAqLworICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxvdy1m
cm9tOiBmbG93OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMHB4OyBsZWZ0OiAwcHg7IH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cu
aW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKHRydWUpOworCisg
ICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQor
ICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24o
KSB7CisgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllclRy
ZWUiKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVu
dCk7CisgICAgICAgICAgICAgICAgfSwgZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8
L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgdGhhdCBhIGZpeGVkIHBvc2l0aW9u
ZWQgZWxlbWVudCB3aXRoIGEgdHJhbnNmb3JtZWQgcGFyZW50IGlzIHBvc2l0aW9uZWQgcmVsYXRp
dmUgdG8gdGhlIHRyYW5zZm9ybWVkIHBhcmVudCBhbmQgaXMgbm90IGNvbXBvc2l0ZWQuPC9wPgor
ICAgICAgICA8cD5PbiBzdWNjZXNzIHlvdSBzaG91bGQgbm90IHNlZSByZWQgYmVsb3cuPC9wPgor
ICAgICAgICA8ZGl2IGlkPSJyZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJ0cmFuc2Zvcm1l
ZFBhcmVudCI+CisgICAgICAgICAgICA8ZGl2IGlkPSJmaXhlZCI+PC9kaXY+CisgICAgICAgIDwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24iPjwvZGl2PgorICAgICAgICA8cHJlIGlkPSJs
YXllclRyZWUiPjwvcHJlPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy16SW5kZXgtZXhw
ZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFt
ZWQtZmxvdy16SW5kZXgtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi5lNTY1NzgyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LXpJbmRleC1leHBlY3RlZC5odG1sCkBAIC0w
LDAgKzEsMjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAg
IDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAg
ICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdG
b3JGaXhlZFBvc2l0aW9uRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAg
IDxzdHlsZT4KKyAgICAgICAgICAgICNmaXhlZDEgeyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAw
cHg7IHRvcDogMTAwcHg7IGxlZnQ6IDEwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgcG9z
aXRpb246IGZpeGVkOyB6LWluZGV4OiAxMDsgfQorCisgICAgICAgICAgICAjZml4ZWQyIHsgd2lk
dGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgYmFja2dy
b3VuZC1jb2xvcjogb3JhbmdlOyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDE7IH0KKworICAg
ICAgICAgICAgI2ZpeGVkMyB7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxNzVw
eDsgbGVmdDogMTc1cHg7IGJhY2tncm91bmQtY29sb3I6IGJsdWU7IHBvc2l0aW9uOiBmaXhlZDsg
ei1pbmRleDogNTsgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4K
KyAgICAgICAgPHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyNTE0NCI+V2ViS2l0IEJ1ZyAxMjUxNDQ8L2E+IFtDU1MgUmVnaW9uc10g
RW5hYmxlIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIGZvciBmaXhlZCBlbGVtZW50cyBpbiBuYW1l
ZCBmbG93czwvcD4KKyAgICAgICAgPHA+VGVzdCB0aGF0IHBhaW50aW5nIHRoZSBmaXhlZCBwb3Np
dGlvbmVkIGVsZW1lbnRzIGluc2lkZSB0aGUgc2FtZSBuYW1lZCBmbG93IHRha2VzIHpJbmRleCBp
bnRvIGFjY291bnQuPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSAz
IHJlY3RhbmdsZXMgcGFpbnRlZCBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOiBncmVlbiwgYmx1ZSwg
b3JhbmdlLjwvcD4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQxIj48L2Rpdj4KKyAgICAgICAgPGRp
diBpZD0iZml4ZWQyIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQzIj48L2Rpdj4KKyAg
ICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9y
ZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctekluZGV4Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctekluZGV4Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjNjMWI4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy16SW5kZXgu
aHRtbApAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFk
PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisg
ICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENv
bXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQodHJ1ZSk7CisgICAgICAgIDwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjZml4ZWQxIHsgLXdlYmtpdC1mbG93LWlu
dG86IGZsb3c7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxMDBweDsgbGVmdDog
MTAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6
IDEwOyB9CisKKyAgICAgICAgICAgICNmaXhlZDIgeyAtd2Via2l0LWZsb3ctaW50bzogZmxvdzsg
d2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgYmFj
a2dyb3VuZC1jb2xvcjogb3JhbmdlOyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDE7IH0KKwor
ICAgICAgICAgICAgI2ZpeGVkMyB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyB3aWR0aDogMTAw
cHg7IGhlaWdodDogMTAwcHg7IHRvcDogMTc1cHg7IGxlZnQ6IDE3NXB4OyBiYWNrZ3JvdW5kLWNv
bG9yOiBibHVlOyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDU7IH0KKworICAgICAgICAgICAg
LyogV2UgbmVlZCBhIHJlZ2lvbiBiZWNhdXNlIG90aGVyd2lzZSB0aGUgZml4ZWQgcG9zaXRpb25l
ZCBlbGVtZW50cyBhcmUgbm90IGRpc3BsYXllZCAqLworICAgICAgICAgICAgI3JlZ2lvbiB7IC13
ZWJraXQtZmxvdy1mcm9tOiBmbG93OyB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgor
ICAgIDxib2R5PgorICAgICAgICA8cD5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1MTQ0Ij5XZWJLaXQgQnVnIDEyNTE0NDwvYT4gW0NT
UyBSZWdpb25zXSBFbmFibGUgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgZm9yIGZpeGVkIGVsZW1l
bnRzIGluIG5hbWVkIGZsb3dzPC9wPgorICAgICAgICA8cD5UZXN0IHRoYXQgcGFpbnRpbmcgdGhl
IGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudHMgaW5zaWRlIHRoZSBzYW1lIG5hbWVkIGZsb3cgdGFr
ZXMgekluZGV4IGludG8gYWNjb3VudC48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBz
aG91bGQgc2VlIDMgcmVjdGFuZ2xlcyBwYWludGVkIGluIHRoZSBmb2xsb3dpbmcgb3JkZXI6IGdy
ZWVuLCBibHVlLCBvcmFuZ2UuPC9wPgorICAgICAgICA8ZGl2IGlkPSJmaXhlZDEiPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJmaXhlZDIiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJmaXhlZDMi
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24iPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQt
aW4tbmFtZWQtZmxvdy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhl
ZC1pbi1uYW1lZC1mbG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
ZDE1ZGVhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lv
bnMvZml4ZWQtaW4tbmFtZWQtZmxvdy5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICNy
ZWQgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9w
OiAxNTBweDsgbGVmdDogMTUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQorICAgICAgICAg
ICAgI2ZpeGVkIHsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7IHBvc2l0aW9uOiBmaXhlZDsgd2lk
dGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgdG9wOiAx
NTBweDsgbGVmdDogMTUwcHg7IH0KKyAgICAgICAgICAgIC8qIFRoZSByZWdpb24gaXMgcmVxdWly
ZXMgYmVjYXVzZSBvdGhlcndpc2UgdGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCBpcyBub3Qg
ZGlzcGxheWVkICovCisgICAgICAgICAgICAjcmVnaW9uIHsgLXdlYmtpdC1mbG93LWZyb206IGZs
b3c7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0
dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKHRy
dWUpOworCisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAg
ICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50
ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJsYXllclRyZWUiKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4
dChkb2N1bWVudCk7CisgICAgICAgICAgICAgICAgICB9LCBmYWxzZSk7CisgICAgICAgIDwvc2Ny
aXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGhpcyB0ZXN0IGNvbGxl
Y3RzIGEgZml4ZWQgcG9zaXRpb24gZWxlbWVudCBpbnNpZGUgYSBuYW1lZCBmbG93IGFuZCBmbG93
cyBpdCBpbnRvIGEgcmVnaW9uLjwvcD4KKyAgICAgICAgPHA+VGhlIGZpeGVkIHBvc2l0aW9uZWQg
ZWxlbWVudCBzaG91bGQgYmUgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgdmlld3BvcnQgYW5k
IGl0IHNob3VsZCBiZSBjb21wb3NpdGVkLjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2VzcyB5b3Ug
c2hvdWxkIG5vdCBzZWUgcmVkIGJlbG93LjwvcD4KKyAgICAgICAgPGRpdiBpZD0icmVkIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdp
b24iPjwvZGl2PgorICAgICAgICA8cHJlIGlkPSJsYXllclRyZWUiPjwvcHJlPgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMv
Zml4ZWQtdHJhbnNmb3JtZWQtaW4tbmFtZWQtZmxvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLXRyYW5zZm9ybWVkLWluLW5hbWVkLWZsb3ctZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4ODNiMDkKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLXRy
YW5zZm9ybWVkLWluLW5hbWVkLWZsb3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjMgQEAKK1Ro
aXMgdGVzdCBjb2xsZWN0cyBhIHRyYW5zZm9ybWVkIGZpeGVkIHBvc2l0aW9uIGVsZW1lbnQgaW5z
aWRlIGEgbmFtZWQgZmxvdyBhbmQgZmxvd3MgaXQgaW50byBhIHJlZ2lvbi4KKworVGhlIGZpeGVk
IHBvc2l0aW9uZWQgZWxlbWVudCBzaG91bGQgYmUgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUg
dmlld3BvcnQgYW5kIGl0IHNob3VsZCBiZSBjb21wb3NpdGVkLgorCitPbiBzdWNjZXNzIHlvdSBz
aG91bGQgbm90IHNlZSByZWQgYmVsb3cuCisKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgODAw
LjAwIDYwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJv
dW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAoY2hp
bGRyZW4gMQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiAxNTAu
MDAgMTUwLjAwKQorICAgICAgICAgIChib3VuZHMgMTAwLjAwIDEwMC4wMCkKKyAgICAgICAgICAo
Y29udGVudHNPcGFxdWUgMSkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLXRyYW5zZm9y
bWVkLWluLW5hbWVkLWZsb3cuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMv
Zml4ZWQtdHJhbnNmb3JtZWQtaW4tbmFtZWQtZmxvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmFlYTI1NGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLXRyYW5zZm9ybWVkLWluLW5hbWVkLWZsb3cuaHRtbApA
QCAtMCwwICsxLDI5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAg
ICAgICA8c3R5bGU+CisgICAgICAgICAgICAjcmVkIHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0
aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IHRvcDogMTUwcHg7IGxlZnQ6IDE1MHB4OyBiYWNrZ3Jv
dW5kLWNvbG9yOiByZWQ7IH0KKyAgICAgICAgICAgICNmaXhlZFRyYW5zZm9ybWVkIHsgLXdlYmtp
dC1mbG93LWludG86IGZsb3c7IHBvc2l0aW9uOiBmaXhlZDsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6
IDEwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgdG9wOiAxNTBweDsgbGVmdDogMTUwcHg7
IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9CisgICAgICAgICAgICAvKiBU
aGUgcmVnaW9uIGlzIHJlcXVpcmVzIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBmaXhlZCBwb3NpdGlv
bmVkIGVsZW1lbnQgaXMgbm90IGRpc3BsYXllZCAqLworICAgICAgICAgICAgI3JlZ2lvbiB7IC13
ZWJraXQtZmxvdy1mcm9tOiBmbG93OyB9CisgICAgICAgIDwvc3R5bGU+CisgICAgICAgIDxzY3Jp
cHQ+CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQorICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJs
YXllclRyZWUiKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChk
b2N1bWVudCk7CisgICAgICAgICAgICAgICAgICB9LCBmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0
PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGhpcyB0ZXN0IGNvbGxlY3Rz
IGEgdHJhbnNmb3JtZWQgZml4ZWQgcG9zaXRpb24gZWxlbWVudCBpbnNpZGUgYSBuYW1lZCBmbG93
IGFuZCBmbG93cyBpdCBpbnRvIGEgcmVnaW9uLjwvcD4KKyAgICAgICAgPHA+VGhlIGZpeGVkIHBv
c2l0aW9uZWQgZWxlbWVudCBzaG91bGQgYmUgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgdmll
d3BvcnQgYW5kIGl0IHNob3VsZCBiZSBjb21wb3NpdGVkLjwvcD4KKyAgICAgICAgPHA+T24gc3Vj
Y2VzcyB5b3Ugc2hvdWxkIG5vdCBzZWUgcmVkIGJlbG93LjwvcD4KKyAgICAgICAgPGRpdiBpZD0i
cmVkIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWRUcmFuc2Zvcm1lZCI+PC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxwcmUgaWQ9ImxheWVyVHJl
ZSI+PC9wcmU+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9GbG93VGhyZWFkQ29udHJvbGxlci5jcHAKaW5kZXggNzU4ZWMyZC4uNDM4YmFhOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIu
Y3BwCkBAIC0yODAsNiArMjgwLDExIEBAIGJvb2wgRmxvd1RocmVhZENvbnRyb2xsZXI6OmlzQ29u
dGVudEVsZW1lbnRSZWdpc3RlcmVkV2l0aEFueU5hbWVkRmxvdyhjb25zdCBFbGVtCiAgICAgcmV0
dXJuIG1fbWFwTmFtZWRGbG93Q29udGVudEVsZW1lbnQuY29udGFpbnMoJmNvbnRlbnRFbGVtZW50
KTsKIH0KIAorc3RhdGljIGlubGluZSBib29sIGNvbXBhcmVaSW5kZXgoUmVuZGVyTGF5ZXIqIGZp
cnN0LCBSZW5kZXJMYXllciogc2Vjb25kKQoreworICAgIHJldHVybiBmaXJzdC0+ekluZGV4KCkg
PCBzZWNvbmQtPnpJbmRleCgpOworfQorCiAvLyBDb2xsZWN0IHRoZSBmaXhlZCBwb3NpdGlvbmVk
IGxheWVycyB0aGF0IGhhdmUgdGhlIG5hbWVkIGZsb3dzIGFzIGNvbnRhaW5pbmcgYmxvY2sKIC8v
IFRoZXNlIGxheWVycyBhcmUgcGFpbnRlZCBhbmQgaGl0LXRlc3RlZCBzdGFydGluZyBmcm9tIFJl
bmRlclZpZXcgbm90IGZyb20gcmVnaW9ucy4KIHZvaWQgRmxvd1RocmVhZENvbnRyb2xsZXI6OmNv
bGxlY3RGaXhlZFBvc2l0aW9uZWRMYXllcnMoVmVjdG9yPFJlbmRlckxheWVyKj4mIGZpeGVkUG9z
TGF5ZXJzKSBjb25zdApAQCAtMjkyLDE3ICsyOTcsMzMgQEAgdm9pZCBGbG93VGhyZWFkQ29udHJv
bGxlcjo6Y29sbGVjdEZpeGVkUG9zaXRpb25lZExheWVycyhWZWN0b3I8UmVuZGVyTGF5ZXIqPiYg
ZmkKICAgICAgICAgaWYgKCFmbG93UmVuZGVyZXItPmhhc1JlZ2lvbnMoKSkKICAgICAgICAgICAg
IGNvbnRpbnVlOwogCi0gICAgICAgIC8vIEl0ZXJhdGUgb3ZlciB0aGUgZml4ZWQgcG9zaXRpb25l
ZCBlbGVtZW50cyBpbiB0aGUgZmxvdyB0aHJlYWQKLSAgICAgICAgVHJhY2tlZFJlbmRlcmVyTGlz
dEhhc2hTZXQqIHBvc2l0aW9uZWREZXNjZW5kYW50cyA9IGZsb3dSZW5kZXJlci0+cG9zaXRpb25l
ZE9iamVjdHMoKTsKLSAgICAgICAgaWYgKHBvc2l0aW9uZWREZXNjZW5kYW50cykgewotICAgICAg
ICAgICAgZm9yIChhdXRvIGl0ID0gcG9zaXRpb25lZERlc2NlbmRhbnRzLT5iZWdpbigpLCBlbmQg
PSBwb3NpdGlvbmVkRGVzY2VuZGFudHMtPmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAg
ICAgICAgICAgICBSZW5kZXJCb3gqIGJveCA9ICppdDsKLSAgICAgICAgICAgICAgICBpZiAoIWJv
eC0+Zml4ZWRQb3NpdGlvbmVkV2l0aE5hbWVkRmxvd0NvbnRhaW5pbmdCbG9jaygpKQorICAgICAg
ICAvLyBJdGVyYXRlIG92ZXIgdGhlIGxpc3RzIG9mIGZpeGVkIHBvc2l0aW9uZWQgbGF5ZXJzIGNv
bGxlY3RlZCBhdCBmbG93IHRocmVhZCBsYXllciBsZXZlbAorICAgICAgICBSZW5kZXJMYXllciog
Zmxvd1RocmVhZExheWVyID0gZmxvd1JlbmRlcmVyLT5sYXllcigpOworCisgICAgICAgIC8vIEZJ
WE1FOiB0aGlzIHNob3VsZCBiZSByZW1vdmVkIG9uY2UgdGhlIHBhdGNoIGZvciAxMjU3NTYgbGFu
ZHMKKyAgICAgICAgZmxvd1RocmVhZExheWVyLT51cGRhdGVMYXllckxpc3RzSWZOZWVkZWQoKTsK
KworICAgICAgICBpZiAoVmVjdG9yPFJlbmRlckxheWVyKj4qIG5lZ1pPcmRlckxpc3QgPSBmbG93
VGhyZWFkTGF5ZXItPm5lZ1pPcmRlckxpc3QoKSkgeworICAgICAgICAgICAgZm9yIChzaXplX3Qg
aSA9IDAsIHNpemUgPSBuZWdaT3JkZXJMaXN0LT5zaXplKCk7IGkgPCBzaXplOyArK2kpIHsKKyAg
ICAgICAgICAgICAgICBSZW5kZXJMYXllciogY3VyckxheWVyID0gbmVnWk9yZGVyTGlzdC0+YXQo
aSk7CisgICAgICAgICAgICAgICAgaWYgKGN1cnJMYXllci0+cmVuZGVyZXIoKS5zdHlsZSgpLnBv
c2l0aW9uKCkgIT0gRml4ZWRQb3NpdGlvbikKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgICAgICAgICAgZml4ZWRQb3NMYXllcnMuYXBwZW5kKGJveC0+bGF5ZXIoKSk7Cisg
ICAgICAgICAgICAgICAgZml4ZWRQb3NMYXllcnMuYXBwZW5kKGN1cnJMYXllcik7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKworICAgICAgICBpZiAoVmVjdG9yPFJlbmRlckxheWVyKj4qIHBv
c1pPcmRlckxpc3QgPSBmbG93VGhyZWFkTGF5ZXItPnBvc1pPcmRlckxpc3QoKSkgeworICAgICAg
ICAgICAgZm9yIChzaXplX3QgaSA9IDAsIHNpemUgPSBwb3NaT3JkZXJMaXN0LT5zaXplKCk7IGkg
PCBzaXplOyArK2kpIHsKKyAgICAgICAgICAgICAgICBSZW5kZXJMYXllciogY3VyckxheWVyID0g
cG9zWk9yZGVyTGlzdC0+YXQoaSk7CisgICAgICAgICAgICAgICAgaWYgKGN1cnJMYXllci0+cmVu
ZGVyZXIoKS5zdHlsZSgpLnBvc2l0aW9uKCkgIT0gRml4ZWRQb3NpdGlvbikKKyAgICAgICAgICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgZml4ZWRQb3NMYXllcnMuYXBwZW5k
KGN1cnJMYXllcik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CisKKyAgICAvLyBT
b3J0IHRoZSBmaXhlZCBsYXllcnMgbGlzdAorICAgIHN0ZDo6c3RhYmxlX3NvcnQoZml4ZWRQb3NM
YXllcnMuYmVnaW4oKSwgZml4ZWRQb3NMYXllcnMuZW5kKCksIGNvbXBhcmVaSW5kZXgpOwogfQog
CiAjaWZuZGVmIE5ERUJVRwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckZsb3dUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dU
aHJlYWQuY3BwCmluZGV4IDNmMGUzMjcuLmY3NmZjNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKQEAgLTI3MSw2ICsyNzEsOSBAQCBjb25zdCBS
ZW5kZXJMYXllckxpc3QqIFJlbmRlckZsb3dUaHJlYWQ6OmdldExheWVyTGlzdEZvclJlZ2lvbihS
ZW5kZXJOYW1lZEZsb3dGcgogCiBSZW5kZXJOYW1lZEZsb3dGcmFnbWVudCogUmVuZGVyRmxvd1Ro
cmVhZDo6cmVnaW9uRm9yQ29tcG9zaXRlZExheWVyKFJlbmRlckxheWVyJiBjaGlsZExheWVyKQog
eworICAgIGlmIChjaGlsZExheWVyLnJlbmRlcmVyKCkuZml4ZWRQb3NpdGlvbmVkV2l0aE5hbWVk
Rmxvd0NvbnRhaW5pbmdCbG9jaygpKQorICAgICAgICByZXR1cm4gMDsKKwogICAgIGlmIChjaGls
ZExheWVyLnJlbmRlckJveCgpKSB7CiAgICAgICAgIFJlbmRlclJlZ2lvbiogc3RhcnRSZWdpb24g
PSAwOwogICAgICAgICBSZW5kZXJSZWdpb24qIGVuZFJlZ2lvbiA9IDA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCBmNDJhNjcyLi5kMmE2OGI0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTQwNjEsOSArNDA2MSw2IEBA
IHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50Rml4ZWRMYXllcnNJbk5hbWVkRmxvd3MoR3JhcGhpY3ND
b250ZXh0KiBjb250ZXh0LCBjb25zdCBMCiAgICAgVmVjdG9yPFJlbmRlckxheWVyKj4gZml4ZWRM
YXllcnM7CiAgICAgcmVuZGVyZXIoKS52aWV3KCkuZmxvd1RocmVhZENvbnRyb2xsZXIoKS5jb2xs
ZWN0Rml4ZWRQb3NpdGlvbmVkTGF5ZXJzKGZpeGVkTGF5ZXJzKTsKIAotICAgIC8vIFNvcnQgdGhl
IGZpeGVkIGxheWVycyBsaXN0Ci0gICAgc3RkOjpzdGFibGVfc29ydChmaXhlZExheWVycy5iZWdp
bigpLCBmaXhlZExheWVycy5lbmQoKSwgY29tcGFyZVpJbmRleCk7Ci0KICAgICAvLyBQYWludCB0
aGUgbGF5ZXJzCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBmaXhlZExheWVycy5zaXplKCk7
ICsraSkgewogICAgICAgICBSZW5kZXJMYXllciogZml4ZWRMYXllciA9IGZpeGVkTGF5ZXJzLmF0
KGkpOwpAQCAtNDgxMSw5ICs0ODA4LDYgQEAgUmVuZGVyTGF5ZXIqIFJlbmRlckxheWVyOjpoaXRU
ZXN0Rml4ZWRMYXllcnNJbk5hbWVkRmxvd3MoUmVuZGVyTGF5ZXIqIC8qcm9vdExheWUKICAgICBW
ZWN0b3I8UmVuZGVyTGF5ZXIqPiBmaXhlZExheWVyczsKICAgICByZW5kZXJlcigpLnZpZXcoKS5m
bG93VGhyZWFkQ29udHJvbGxlcigpLmNvbGxlY3RGaXhlZFBvc2l0aW9uZWRMYXllcnMoZml4ZWRM
YXllcnMpOwogCi0gICAgLy8gU29ydCB0aGUgZml4ZWQgbGF5ZXJzIGxpc3QKLSAgICBzdGQ6OnN0
YWJsZV9zb3J0KGZpeGVkTGF5ZXJzLmJlZ2luKCksIGZpeGVkTGF5ZXJzLmVuZCgpLCBjb21wYXJl
WkluZGV4KTsKLQogICAgIC8vIEhpdCB0ZXN0IHRoZSBsYXllcnMKICAgICBSZW5kZXJMYXllciog
cmVzdWx0TGF5ZXIgPSAwOwogICAgIGZvciAoaW50IGkgPSBmaXhlZExheWVycy5zaXplKCkgLSAx
OyBpID49IDA7IC0taSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCA3YWU5NmU0Li5hMDFjMzJjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtMTAy
Miw2ICsxMDIyLDIzIEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjphZGRUb092ZXJsYXBN
YXBSZWN1cnNpdmUoT3ZlcmxhcE1hcCYgb3ZlcmxhcE1hcCwgUmVuCiAgICAgICAgIG92ZXJsYXBN
YXAuZ2VvbWV0cnlNYXAoKS5wb3BNYXBwaW5nc1RvQW5jZXN0b3IoYW5jZXN0b3JMYXllcik7CiB9
CiAKK3ZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJl
bWVudHNGb3JOYW1lZEZsb3dGaXhlZChSZW5kZXJMYXllciYgbGF5ZXIsIE92ZXJsYXBNYXAqIG92
ZXJsYXBNYXAsIENvbXBvc2l0aW5nU3RhdGUmIGNoaWxkU3RhdGUsIGJvb2wmIGxheWVyc0NoYW5n
ZWQsIGJvb2wmIGFueURlc2NlbmRhbnRIYXMzRFRyYW5zZm9ybSkKK3sKKyAgICBpZiAoIWxheWVy
LmlzUm9vdExheWVyKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghbGF5ZXIucmVuZGVy
ZXIoKS52aWV3KCkuaGFzUmVuZGVyTmFtZWRGbG93VGhyZWFkcygpKQorICAgICAgICByZXR1cm47
CisKKyAgICBWZWN0b3I8UmVuZGVyTGF5ZXIqPiBmaXhlZExheWVyczsKKyAgICBsYXllci5yZW5k
ZXJlcigpLnZpZXcoKS5mbG93VGhyZWFkQ29udHJvbGxlcigpLmNvbGxlY3RGaXhlZFBvc2l0aW9u
ZWRMYXllcnMoZml4ZWRMYXllcnMpOworCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBmaXhl
ZExheWVycy5zaXplKCk7ICsraSkgeworICAgICAgICBSZW5kZXJMYXllciogZml4ZWRMYXllciA9
IGZpeGVkTGF5ZXJzLmF0KGkpOworICAgICAgICBjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVu
dHMoJmxheWVyLCAqZml4ZWRMYXllciwgb3ZlcmxhcE1hcCwgY2hpbGRTdGF0ZSwgbGF5ZXJzQ2hh
bmdlZCwgYW55RGVzY2VuZGFudEhhczNEVHJhbnNmb3JtKTsKKyAgICB9Cit9CisKIC8vICBSZWN1
cnNlIHRocm91Z2ggdGhlIGxheWVycyBpbiB6LWluZGV4IGFuZCBvdmVyZmxvdyBvcmRlciAod2hp
Y2ggaXMgZXF1aXZhbGVudCB0byBwYWludGluZyBvcmRlcikKIC8vICBGb3IgdGhlIHotb3JkZXIg
Y2hpbGRyZW4gb2YgYSBjb21wb3NpdGluZyBsYXllcjoKIC8vICAgICAgSWYgYSBjaGlsZCBsYXll
cnMgaGFzIGEgY29tcG9zaXRpbmcgbGF5ZXIsIHRoZW4gYWxsIHN1YnNlcXVlbnQgbGF5ZXJzIG11
c3QKQEAgLTExNDgsNyArMTE2NSwxMSBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y29t
cHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKFJlbmRlckxheWVyKiBhbmNlc3RvcgogICAgICAg
ICAgICAgICAgIGNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cygmbGF5ZXIsICpwb3NaT3Jk
ZXJMaXN0LT5hdChpKSwgb3ZlcmxhcE1hcCwgY2hpbGRTdGF0ZSwgbGF5ZXJzQ2hhbmdlZCwgYW55
RGVzY2VuZGFudEhhczNEVHJhbnNmb3JtKTsKICAgICAgICAgfQogICAgIH0KLSAgICAKKworICAg
IC8vIEZJWE1FOiBOZWVkIGEgYmV0dGVyIG5hbWUKKyAgICBpZiAobGF5ZXIuaXNSb290TGF5ZXIo
KSkKKyAgICAgICAgY29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzRm9yTmFtZWRGbG93Rml4
ZWQobGF5ZXIsIG92ZXJsYXBNYXAsIGNoaWxkU3RhdGUsIGxheWVyc0NoYW5nZWQsIGFueURlc2Nl
bmRhbnRIYXMzRFRyYW5zZm9ybSk7CisKICAgICAvLyBJZiB3ZSBqdXN0IGVudGVyZWQgY29tcG9z
aXRpbmcgbW9kZSwgdGhlIHJvb3Qgd2lsbCBoYXZlIGJlY29tZSBjb21wb3NpdGVkIChhcyBsb25n
IGFzIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIGlzIGVuYWJsZWQpLgogICAgIGlmIChsYXllci5p
c1Jvb3RMYXllcigpKSB7CiAgICAgICAgIGlmIChpbkNvbXBvc2l0aW5nTW9kZSgpICYmIG1faGFz
QWNjZWxlcmF0ZWRDb21wb3NpdGluZykKQEAgLTEzMDgsNiArMTMyOSwyMyBAQCBib29sIFJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6Y2FuQWNjZWxlcmF0ZVZpZGVvUmVuZGVyaW5nKFJlbmRlclZpZGVv
JiB2aWRlbykgY29ucwogfQogI2VuZGlmCiAKK3ZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpy
ZWJ1aWxkQ29tcG9zaXRpbmdMYXllclRyZWVGb3JOYW1lZEZsb3dGaXhlZChSZW5kZXJMYXllciYg
bGF5ZXIsIFZlY3RvcjxHcmFwaGljc0xheWVyKj4mIGNoaWxkR3JhcGhpY3NMYXllcnNPZkVuY2xv
c2luZ0xheWVyLCBpbnQgZGVwdGgpCit7CisgICAgaWYgKCFsYXllci5pc1Jvb3RMYXllcigpKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIWxheWVyLnJlbmRlcmVyKCkudmlldygpLmhhc1Jl
bmRlck5hbWVkRmxvd1RocmVhZHMoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgVmVjdG9yPFJl
bmRlckxheWVyKj4gZml4ZWRMYXllcnM7CisgICAgbGF5ZXIucmVuZGVyZXIoKS52aWV3KCkuZmxv
d1RocmVhZENvbnRyb2xsZXIoKS5jb2xsZWN0Rml4ZWRQb3NpdGlvbmVkTGF5ZXJzKGZpeGVkTGF5
ZXJzKTsKKworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgZml4ZWRMYXllcnMuc2l6ZSgpOyAr
K2kpIHsKKyAgICAgICAgUmVuZGVyTGF5ZXIqIGZpeGVkTGF5ZXIgPSBmaXhlZExheWVycy5hdChp
KTsKKyAgICAgICAgcmVidWlsZENvbXBvc2l0aW5nTGF5ZXJUcmVlKCpmaXhlZExheWVyLCBjaGls
ZEdyYXBoaWNzTGF5ZXJzT2ZFbmNsb3NpbmdMYXllciwgZGVwdGgpOworICAgIH0KK30KKwogdm9p
ZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlYnVpbGRDb21wb3NpdGluZ0xheWVyVHJlZShSZW5k
ZXJMYXllciYgbGF5ZXIsIFZlY3RvcjxHcmFwaGljc0xheWVyKj4mIGNoaWxkTGF5ZXJzT2ZFbmNs
b3NpbmdMYXllciwgaW50IGRlcHRoKQogewogICAgIC8vIE1ha2UgdGhlIGxheWVyIGNvbXBvc2l0
aW5nIGlmIG5lY2Vzc2FyeSwgYW5kIHNldCB1cCBjbGlwcGluZyBhbmQgY29udGVudCBsYXllcnMu
CkBAIC0xMzE3LDcgKzEzNTUsNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVidWls
ZENvbXBvc2l0aW5nTGF5ZXJUcmVlKFJlbmRlckxheWVyJiBsYXllciwgVmVjdAogICAgIC8vIERv
IG5vdCBpdGVyYXRlIHRoZSBSZW5kZXJGbG93VGhyZWFkIGRpcmVjdGx5LiBXZSBhcmUgZ29pbmcg
dG8gY29sbGVjdCBjb21wb3NpdGVkIGxheWVycyBhcyBwYXJ0IG9mIHJlZ2lvbnMuCiAgICAgaWYg
KGxheWVyLmlzRmxvd1RocmVhZENvbGxlY3RpbmdHcmFwaGljc0xheWVyc1VuZGVyUmVnaW9ucygp
KQogICAgICAgICByZXR1cm47Ci0gICAgCisKICAgICBSZW5kZXJMYXllckJhY2tpbmcqIGxheWVy
QmFja2luZyA9IGxheWVyLmJhY2tpbmcoKTsKICAgICBpZiAobGF5ZXJCYWNraW5nKSB7CiAgICAg
ICAgIC8vIFRoZSBjb21wb3NpdGluZyBzdGF0ZSBvZiBhbGwgb3VyIGNoaWxkcmVuIGhhcyBiZWVu
IHVwZGF0ZWQgYWxyZWFkeSwgc28gbm93CkBAIC0xMzgwLDcgKzE0MTgsMTAgQEAgdm9pZCBSZW5k
ZXJMYXllckNvbXBvc2l0b3I6OnJlYnVpbGRDb21wb3NpdGluZ0xheWVyVHJlZShSZW5kZXJMYXll
ciYgbGF5ZXIsIFZlY3QKICAgICAgICAgICAgICAgICByZWJ1aWxkQ29tcG9zaXRpbmdMYXllclRy
ZWUoKnBvc1pPcmRlckxpc3QtPmF0KGkpLCBjaGlsZExpc3QsIGRlcHRoICsgMSk7CiAgICAgICAg
IH0KICAgICB9Ci0gICAgCisKKyAgICBpZiAobGF5ZXIuaXNSb290TGF5ZXIoKSkKKyAgICAgICAg
cmVidWlsZENvbXBvc2l0aW5nTGF5ZXJUcmVlRm9yTmFtZWRGbG93Rml4ZWQobGF5ZXIsIGNoaWxk
TGlzdCwgZGVwdGggKyAxKTsKKwogICAgIGlmIChsYXllckJhY2tpbmcpIHsKICAgICAgICAgYm9v
bCBwYXJlbnRlZCA9IGZhbHNlOwogICAgICAgICBpZiAobGF5ZXIucmVuZGVyZXIoKS5pc1dpZGdl
dCgpKQpAQCAtMTU5OCwxMCArMTYzOSw2IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpw
YXJlbnRGcmFtZUNvbnRlbnRMYXllcnMoUmVuZGVyV2lkZ2V0KiByZW5kZXJlcikKIC8vIFRoaXMg
anVzdCB1cGRhdGVzIGxheWVyIGdlb21ldHJ5IHdpdGhvdXQgY2hhbmdpbmcgdGhlIGhpZXJhcmNo
eS4KIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVMYXllclRyZWVHZW9tZXRyeShS
ZW5kZXJMYXllciYgbGF5ZXIsIGludCBkZXB0aCkKIHsKLSAgICAvLyBGSVhNRTogZml4ZWQgcG9z
aXRpb25lZCBlbGVtZW50cyBpbnNpZGUgYSBuYW1lZCBmbG93IGFyZSBub3QgY29tcG9zaXRlZCB5
ZXQuCi0gICAgaWYgKGxheWVyLmlzT3V0T2ZGbG93UmVuZGVyRmxvd1RocmVhZCgpKQotICAgICAg
ICByZXR1cm47Ci0KICAgICBpZiAoUmVuZGVyTGF5ZXJCYWNraW5nKiBsYXllckJhY2tpbmcgPSBs
YXllci5iYWNraW5nKCkpIHsKICAgICAgICAgLy8gVGhlIGNvbXBvc2l0aW5nIHN0YXRlIG9mIGFs
bCBvdXIgY2hpbGRyZW4gaGFzIGJlZW4gdXBkYXRlZCBhbHJlYWR5LCBzbyBub3cKICAgICAgICAg
Ly8gd2UgY2FuIGNvbXB1dGUgYW5kIGNhY2hlIHRoZSBjb21wb3NpdGVkIGJvdW5kcyBmb3IgdGhp
cyBsYXllci4KQEAgLTI0ODUsNiArMjUyMiw3IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9y
OjpyZXF1aXJlc0NvbXBvc2l0aW5nRm9yUG9zaXRpb24oUmVuZGVyTGF5ZXJNb2RlbE9iamVjCiAK
ICAgICAvLyBGSVhNRTogYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFi
bGVkIHNob3VsZCBwcm9iYWJseSBiZSByZW5hbWVkIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JW
aWV3cG9ydENvbnN0cmFpbmVkUG9zaXRpb25FbmFibGVkKCkuCiAgICAgY29uc3QgU2V0dGluZ3Mm
IHNldHRpbmdzID0gbV9yZW5kZXJWaWV3LmZyYW1lVmlldygpLmZyYW1lKCkuc2V0dGluZ3MoKTsK
KwogICAgIGlmICghc2V0dGluZ3MuYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRp
b25FbmFibGVkKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtMjUwMSw3ICsyNTM5LDcg
QEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JQb3Np
dGlvbihSZW5kZXJMYXllck1vZGVsT2JqZWMKIAogICAgIC8vIERvbid0IHByb21vdGUgZml4ZWQg
cG9zaXRpb24gZWxlbWVudHMgdGhhdCBhcmUgZGVzY2VuZGFudHMgb2YgYSBub24tdmlldyBjb250
YWluZXIsIGUuZy4gdHJhbnNmb3JtZWQgZWxlbWVudHMuCiAgICAgLy8gVGhleSB3aWxsIHN0YXkg
Zml4ZWQgd3J0IHRoZSBjb250YWluZXIgcmF0aGVyIHRoYW4gdGhlIGVuY2xvc2luZyBmcmFtZS4K
LSAgICBpZiAoY29udGFpbmVyICE9ICZtX3JlbmRlclZpZXcpIHsKKyAgICBpZiAoY29udGFpbmVy
ICE9ICZtX3JlbmRlclZpZXcgJiYgIXJlbmRlcmVyLmZpeGVkUG9zaXRpb25lZFdpdGhOYW1lZEZs
b3dDb250YWluaW5nQmxvY2soKSkgewogICAgICAgICBpZiAodmlld3BvcnRDb25zdHJhaW5lZE5v
dENvbXBvc2l0ZWRSZWFzb24pCiAgICAgICAgICAgICAqdmlld3BvcnRDb25zdHJhaW5lZE5vdENv
bXBvc2l0ZWRSZWFzb24gPSBSZW5kZXJMYXllcjo6Tm90Q29tcG9zaXRlZEZvck5vblZpZXdDb250
YWluZXI7CiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAppbmRleCBkOTg2MTVjLi4zMzU3YTVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCkBA
IC0zNDEsNyArMzQxLDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNvbXB1dGVDb21wb3NpdGluZ1Jl
cXVpcmVtZW50cyhSZW5kZXJMYXllciogYW5jZXN0b3JMYXllciwgUmVuZGVyTGF5ZXImLCBPdmVy
bGFwTWFwKiwgc3RydWN0IENvbXBvc2l0aW5nU3RhdGUmLCBib29sJiBsYXllcnNDaGFuZ2VkLCBi
b29sJiBkZXNjZW5kYW50SGFzM0RUcmFuc2Zvcm0pOwogCiAgICAgdm9pZCBjb21wdXRlUmVnaW9u
Q29tcG9zaXRpbmdSZXF1aXJlbWVudHMoUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQqLCBPdmVybGFw
TWFwKiwgQ29tcG9zaXRpbmdTdGF0ZSYsIGJvb2wmIGxheWVyc0NoYW5nZWQsIGJvb2wmIGFueURl
c2NlbmRhbnRIYXMzRFRyYW5zZm9ybSk7Ci0gICAgCisKKyAgICB2b2lkIGNvbXB1dGVDb21wb3Np
dGluZ1JlcXVpcmVtZW50c0Zvck5hbWVkRmxvd0ZpeGVkKFJlbmRlckxheWVyJiwgT3ZlcmxhcE1h
cCogb3ZlcmxhcE1hcCwgQ29tcG9zaXRpbmdTdGF0ZSYsIGJvb2wmIGxheWVyc0NoYW5nZWQsIGJv
b2wmIGFueURlc2NlbmRhbnRIYXMzRFRyYW5zZm9ybSk7CisKICAgICAvLyBSZWN1cnNlcyBkb3du
IHRoZSB0cmVlLCBwYXJlbnRpbmcgZGVzY2VuZGFudCBjb21wb3NpdGluZyBsYXllcnMgYW5kIGNv
bGxlY3RpbmcgYW4gYXJyYXkgb2YgY2hpbGQgbGF5ZXJzIGZvciB0aGUgY3VycmVudCBjb21wb3Np
dGluZyBsYXllci4KICAgICB2b2lkIHJlYnVpbGRDb21wb3NpdGluZ0xheWVyVHJlZShSZW5kZXJM
YXllciYsIFZlY3RvcjxHcmFwaGljc0xheWVyKj4mIGNoaWxkR3JhcGhpY3NMYXllcnNPZkVuY2xv
c2luZ0xheWVyLCBpbnQgZGVwdGgpOwogCkBAIC0zNDksNiArMzUxLDggQEAgcHJpdmF0ZToKICAg
ICAvLyBsYXllcnMgZm9yIHRoZSBjdXJyZW50IGNvbXBvc2l0aW5nIGxheWVyIGNvcnJlc3BvbmRp
bmcgdG8gdGhlIGFub255bW91cyByZWdpb24gKHRoYXQgYmVsb25ncyB0byB0aGUgcmVnaW9uJ3Mg
cGFyZW50KS4KICAgICB2b2lkIHJlYnVpbGRSZWdpb25Db21wb3NpdGluZ0xheWVyVHJlZShSZW5k
ZXJOYW1lZEZsb3dGcmFnbWVudCosIFZlY3RvcjxHcmFwaGljc0xheWVyKj4mIGNoaWxkTGlzdCwg
aW50IGRlcHRoKTsKIAorICAgIHZvaWQgcmVidWlsZENvbXBvc2l0aW5nTGF5ZXJUcmVlRm9yTmFt
ZWRGbG93Rml4ZWQoUmVuZGVyTGF5ZXImLCBWZWN0b3I8R3JhcGhpY3NMYXllcio+JiBjaGlsZExp
c3QsIGludCBkZXB0aCk7CisKICAgICAvLyBSZWN1cnNlcyBkb3duIHRoZSB0cmVlLCB1cGRhdGlu
ZyBsYXllciBnZW9tZXRyeSBvbmx5LgogICAgIHZvaWQgdXBkYXRlTGF5ZXJUcmVlR2VvbWV0cnko
UmVuZGVyTGF5ZXImLCBpbnQgZGVwdGgpOwogICAgIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221238</attachid>
            <date>2014-01-15 00:49:50 -0800</date>
            <delta_ts>2014-01-15 07:09:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>125144.patch</filename>
            <type>text/plain</type>
            <size>54867</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0ZTg3NmYyLi5jMmUzMTFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDQgQEAKKzIwMTQtMDEt
MTUgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBS
ZWdpb25zXSBFbmFibGUgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgZm9yIGZpeGVkIGVsZW1lbnRz
IGluIG5hbWVkIGZsb3dzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjUxNDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGRlZCBuZXcgdGVzdHMgYW5kIG1hZGUgdGhlIGV4aXN0aW5nIHRlc3RzIGZvciBm
aXhlZCBwb3NpdGlvbmVkIGVsZW1lbnRzIHVzZSB0aGUKKyAgICAgICAgbm9uLWNvbXBvc2l0aW5n
IG1vZGUuCisKKyAgICAgICAgKiBjb21wb3NpdGluZy9yZWdpb25zL2Ficy1pbi1uYW1lZC1mbG93
LWZyb20tZml4ZWQtaW4tbmFtZWQtZmxvdy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGNvbXBvc2l0aW5nL3JlZ2lvbnMvYWJzLWluLW5hbWVkLWZsb3ctZnJvbS1maXhlZC1pbi1uYW1l
ZC1mbG93Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQt
aW4tZGlmZi1uYW1lZC1mbG93cy16SW5kZXgtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1kaWZmLW5hbWVkLWZsb3dzLXpJbmRleC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVk
LWZsb3ctY2xpcC1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY29t
cG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWNsaXAtZGVzY2VuZGFudC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZs
b3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9yZWdpb25zL2Zp
eGVkLWluLW5hbWVkLWZsb3ctZnJvbS1hYnMtaW4tbmFtZWQtZmxvdy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1m
cm9tLWFicy1pbi1uYW1lZC1mbG93Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5n
L3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1mcm9tLW91dGZsb3ctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ct
ZnJvbS1vdXRmbG93Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL3JlZ2lvbnMv
Zml4ZWQtaW4tbmFtZWQtZmxvdy1nb3QtdHJhbnNmb3JtZWQtcGFyZW50LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93
LWdvdC10cmFuc2Zvcm1lZC1wYXJlbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRp
bmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWxvc3QtdHJhbnNmb3JtZWQtcGFyZW50LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1p
bi1uYW1lZC1mbG93LWxvc3QtdHJhbnNmb3JtZWQtcGFyZW50Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGNvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1vdmVybGFwLWNvbXBv
c2l0ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9yZWdpb25z
L2ZpeGVkLWluLW5hbWVkLWZsb3ctb3ZlcmxhcC1jb21wb3NpdGVkLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGNvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1wb3NpdGlvbi1j
aGFuZ2VkLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL3JlZ2lv
bnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1wb3NpdGlvbi1jaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGNvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy10cmFuc2Zvcm1l
ZC1wYXJlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9yZWdp
b25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctdHJhbnNmb3JtZWQtcGFyZW50Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGNvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy16SW5kZXgt
ZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvcmVnaW9ucy9maXhl
ZC1pbi1uYW1lZC1mbG93LXpJbmRleC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGlu
Zy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3cuaHRtbDogQWRkZWQuCisgICAgICAgICogY29t
cG9zaXRpbmcvcmVnaW9ucy9maXhlZC10cmFuc2Zvcm1lZC1pbi1uYW1lZC1mbG93LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC10cmFuc2Zv
cm1lZC1pbi1uYW1lZC1mbG93Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9y
ZXBhaW50L2VsZW1lbnQtaW4tbmFtZWQtZmxvdy1hYnNvbHV0ZS1mcm9tLWZpeGVkLmh0bWw6Cisg
ICAgICAgICogZmFzdC9yZWdpb25zL3JlcGFpbnQvZWxlbWVudC1pbi1uYW1lZC1mbG93LWZpeGVk
LWZyb20tYWJzb2x1dGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvcmVwYWludC9lbGVt
ZW50LWluZmxvdy1maXhlZC1mcm9tLW91dGZsb3ctc3RhdGljLmh0bWw6CisgICAgICAgICogZmFz
dC9yZWdpb25zL3JlcGFpbnQvZWxlbWVudC1vdXRmbG93LXN0YXRpYy1mcm9tLWluZmxvdy1maXhl
ZC5odG1sOgorCiAyMDE0LTAxLTE0ICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IFdlYmtpdENTU1NWR0RvY3VtZW50VmFsdWUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvYWJzLWluLW5hbWVkLWZs
b3ctZnJvbS1maXhlZC1pbi1uYW1lZC1mbG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL3JlZ2lvbnMvYWJzLWluLW5hbWVkLWZsb3ctZnJvbS1maXhlZC1pbi1uYW1lZC1m
bG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZTY2
YzZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9h
YnMtaW4tbmFtZWQtZmxvdy1mcm9tLWZpeGVkLWluLW5hbWVkLWZsb3ctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNyBAQAorVGVzdCB0aGF0IGEgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHRoYXQg
aXMgZHluYW1pY2FseSBjaGFuZ2VkIHRvIGFic29sdXRlIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUg
dG8gdGhlIGZpcnN0IHJlZ2lvbiBpbnN0ZWFkIG9mIHRoZSB2aWV3cG9ydC4KKworVGhlIGZpeGVk
IGVsZW1lbnQgc2hvdWxkIE5PVCBiZSBjb21wb3NpdGVkLgorCitPbiBzdWNjZXNzIHlvdSBzaG91
bGQgbm90IHNlZSByZWQgYmVsb3cuCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvcmVnaW9ucy9hYnMtaW4tbmFtZWQtZmxvdy1mcm9tLWZpeGVkLWluLW5hbWVkLWZsb3cu
aHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvYWJzLWluLW5hbWVkLWZsb3ct
ZnJvbS1maXhlZC1pbi1uYW1lZC1mbG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uMGFlNDVkZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL3JlZ2lvbnMvYWJzLWluLW5hbWVkLWZsb3ctZnJvbS1maXhlZC1pbi1uYW1lZC1mbG93Lmh0
bWwKQEAgLTAsMCArMSwzNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLnJlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9t
OiBmbG93OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTAwcHg7IGxlZnQ6IDEwMHB4OyB3aWR0
aDogMTUwcHg7IGhlaWdodDogMTUwcHg7IH0KKyAgICAgICAgICAgIC5hYnNvbHV0ZSB7IHBvc2l0
aW9uOiBhYnNvbHV0ZTsgfQorICAgICAgICAgICAgLmZpeGVkIHsgcG9zaXRpb246IGZpeGVkOyB9
CisgICAgICAgICAgICAjcmVkIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDE1MHB4OyBsZWZ0
OiAxNTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogcmVk
OyB9CisgICAgICAgICAgICAjYWJzRnJvbUZpeGVkIHsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7
IHRvcDogNTBweDsgbGVmdDogNTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFja2dy
b3VuZC1jb2xvcjogZ3JlZW47IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAgPHNjcmlwdD4K
KyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9z
aXRpb25FbmFibGVkKHRydWUpOworCisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICAgICAgICAg
IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFic0Zyb21GaXhlZCIpLmNsYXNzTmFtZSA9
ICJhYnNvbHV0ZSI7CisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAg
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllclRyZWUiKS5pbm5l
clRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CisgICAg
ICAgICAgICB9LCBmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPHA+VGVzdCB0aGF0IGEgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHRo
YXQgaXMgZHluYW1pY2FseSBjaGFuZ2VkIHRvIGFic29sdXRlIGlzIHBvc2l0aW9uZWQgcmVsYXRp
dmUgdG8gdGhlIGZpcnN0IHJlZ2lvbiBpbnN0ZWFkIG9mIHRoZSB2aWV3cG9ydC48L3A+CisgICAg
ICAgIDxwPlRoZSBmaXhlZCBlbGVtZW50IHNob3VsZCBOT1QgYmUgY29tcG9zaXRlZC48L3A+Cisg
ICAgICAgIDxwPk9uIHN1Y2Nlc3MgeW91IHNob3VsZCBub3Qgc2VlIHJlZCBiZWxvdy48L3A+Cisg
ICAgICAgIDxkaXYgaWQ9InJlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImFic0Zyb21GaXhlZCIgY2xhc3M9ImZpeGVkIj48L2Rp
dj4KKyAgICAgICAgPHByZSBpZD0ibGF5ZXJUcmVlIj48L3ByZT4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWlu
LWRpZmYtbmFtZWQtZmxvd3MtekluZGV4LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLWRpZmYtbmFtZWQtZmxvd3MtekluZGV4LWV4cGVjdGVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmY0ZWEwOQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tZGlm
Zi1uYW1lZC1mbG93cy16SW5kZXgtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDI0IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAg
ICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVu
YWJsZWQodHJ1ZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICAjZml4ZWQxIHsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB0b3A6IDEwMHB4OyBs
ZWZ0OiAxMDBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IHBvc2l0aW9uOiBmaXhlZDsgei1p
bmRleDogMTA7IH0KKworICAgICAgICAgICAgI2ZpeGVkMiB7IHdpZHRoOiAxMDBweDsgaGVpZ2h0
OiAxMDBweDsgdG9wOiAxNTBweDsgbGVmdDogMTUwcHg7IGJhY2tncm91bmQtY29sb3I6IG9yYW5n
ZTsgcG9zaXRpb246IGZpeGVkOyB6LWluZGV4OiAxOyB9CisKKyAgICAgICAgICAgICNmaXhlZDMg
eyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IHRvcDogMTc1cHg7IGxlZnQ6IDE3NXB4OyBi
YWNrZ3JvdW5kLWNvbG9yOiBibHVlOyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDU7IH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3Qg
Zm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUx
NDQiPldlYktpdCBCdWcgMTI1MTQ0PC9hPiBbQ1NTIFJlZ2lvbnNdIEVuYWJsZSBhY2NlbGVyYXRl
ZCBjb21wb3NpdGluZyBmb3IgZml4ZWQgZWxlbWVudHMgaW4gbmFtZWQgZmxvd3M8L3A+CisgICAg
ICAgIDxwPlRlc3QgdGhhdCBwYWludGluZyB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50cyBj
b2xsZWN0ZWQgaW4gZGlmZmVyZW50IG5hbWVkIGZsb3dzIHRha2VzIHpJbmRleCBpbnRvIGFjY291
bnQuPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSAzIHJlY3Rhbmds
ZXMgcGFpbnRlZCBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOiBncmVlbiwgYmx1ZSwgb3JhbmdlLjwv
cD4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQxIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4
ZWQyIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQzIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2Zp
eGVkLWluLWRpZmYtbmFtZWQtZmxvd3MtekluZGV4Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9yZWdpb25zL2ZpeGVkLWluLWRpZmYtbmFtZWQtZmxvd3MtekluZGV4Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTZjOTE1ZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tZGlmZi1uYW1lZC1mbG93
cy16SW5kZXguaHRtbApAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
ICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQodHJ1ZSk7CisgICAgICAg
IDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjZml4ZWQxIHsgLXdlYmtp
dC1mbG93LWludG86IGZsb3c7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxMDBw
eDsgbGVmdDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyBwb3NpdGlvbjogZml4ZWQ7
IHotaW5kZXg6IDEwOyB9CisKKyAgICAgICAgICAgICNmaXhlZDIgeyAtd2Via2l0LWZsb3ctaW50
bzogZmxvdzI7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxNTBweDsgbGVmdDog
MTUwcHg7IGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTsgcG9zaXRpb246IGZpeGVkOyB6LWluZGV4
OiAxOyB9CisKKyAgICAgICAgICAgICNmaXhlZDMgeyAtd2Via2l0LWZsb3ctaW50bzogZmxvdzI7
IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxNzVweDsgbGVmdDogMTc1cHg7IGJh
Y2tncm91bmQtY29sb3I6IGJsdWU7IHBvc2l0aW9uOiBmaXhlZDsgei1pbmRleDogNTsgfQorCisg
ICAgICAgICAgICAvKiBXZSBuZWVkIGEgcmVnaW9uIGZvciBlYWNoIGZsb3cgYmVjYXVzZSBvdGhl
cndpc2UgdGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudHMgYXJlIG5vdCBkaXNwbGF5ZWQgKi8K
KyAgICAgICAgICAgICNyZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgfQorICAgICAg
ICAgICAgI3JlZ2lvbjIgeyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzI7IH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgZm9yIDxhIGhy
ZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUxNDQiPldlYktp
dCBCdWcgMTI1MTQ0PC9hPiBbQ1NTIFJlZ2lvbnNdIEVuYWJsZSBhY2NlbGVyYXRlZCBjb21wb3Np
dGluZyBmb3IgZml4ZWQgZWxlbWVudHMgaW4gbmFtZWQgZmxvd3M8L3A+CisgICAgICAgIDxwPlRl
c3QgdGhhdCBwYWludGluZyB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50cyBjb2xsZWN0ZWQg
aW4gZGlmZmVyZW50IG5hbWVkIGZsb3dzIHRha2VzIHpJbmRleCBpbnRvIGFjY291bnQuPC9wPgor
ICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSAzIHJlY3RhbmdsZXMgcGFpbnRl
ZCBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOiBncmVlbiwgYmx1ZSwgb3JhbmdlLjwvcD4KKyAgICAg
ICAgPGRpdiBpZD0iZml4ZWQxIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQyIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQzIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVn
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uMiI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9m
aXhlZC1pbi1uYW1lZC1mbG93LWNsaXAtZGVzY2VuZGFudC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctY2xpcC1kZXNjZW5k
YW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODcw
MGIzMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMv
Zml4ZWQtaW4tbmFtZWQtZmxvdy1jbGlwLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzMgQEAKK1Rlc3QgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgY29sbGVjdGVkIGluIGEg
bmFtZWQgZmxvdyBjb3JyZWN0bHkgY2xpcHMgaXRzIGFuY2VzdG9yLgorCitPbiBzdWNjZXNzLCB5
b3Ugc2hvdWxkIHNlZSBhIGdyZWVuIHJlY3RhbmdsZSB3aXRoIGFuIG9yYW5nZSByZWN0YW5nbGUg
aW4gdGhlIGJvdHRvbSByaWdodCBjb3JuZXIuCisKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMg
ODAwLjAwIDYwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAg
KGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAo
Y2hpbGRyZW4gMQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiAx
NTAuMDAgMTUwLjAwKQorICAgICAgICAgIChib3VuZHMgMTAwLjAwIDEwMC4wMCkKKyAgICAgICAg
ICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAg
KEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKGJvdW5kcyAxMDAuMDAgMTAwLjAwKQorICAg
ICAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisg
ICAgICAgICAgICAgICAgICAocG9zaXRpb24gNTAuMDAgNTAuMDApCisgICAgICAgICAgICAgICAg
ICAoYm91bmRzIDEwMC4wMCAxMDAuMDApCisgICAgICAgICAgICAgICAgICAoY29udGVudHNPcGFx
dWUgMSkKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICkK
KyAgICAgICAgICApCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93
LWNsaXAtZGVzY2VuZGFudC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9m
aXhlZC1pbi1uYW1lZC1mbG93LWNsaXAtZGVzY2VuZGFudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjM2N2RlMTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctY2xpcC1kZXNjZW5kYW50
Lmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxvdy1m
cm9tOiBmbG93OyB9CisgICAgICAgICAgICAjZml4ZWQgeyAtd2Via2l0LWZsb3ctaW50bzogZmxv
dzsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgd2lkdGg6IDEwMHB4
OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgb3ZlcmZsb3c6IGhpZGRl
bjsgfQorICAgICAgICAgICAgI2Rlc2NlbmRhbnQgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDog
NTBweDsgbGVmdDogNTBweDsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3JvdW5k
LWNvbG9yOiBvcmFuZ2U7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93
LmludGVybmFscykKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCh0cnVlKTsKKwor
ICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOworCisgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQorICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGF5ZXJU
cmVlIikuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1l
bnQpOworICAgICAgICAgICAgfSwgZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hl
YWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1l
bnQgY29sbGVjdGVkIGluIGEgbmFtZWQgZmxvdyBjb3JyZWN0bHkgY2xpcHMgaXRzIGFuY2VzdG9y
LjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2VzcywgeW91IHNob3VsZCBzZWUgYSBncmVlbiByZWN0
YW5nbGUgd2l0aCBhbiBvcmFuZ2UgcmVjdGFuZ2xlIGluIHRoZSBib3R0b20gcmlnaHQgY29ybmVy
LjwvcD4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQiPgorICAgICAgICAgICAgPGRpdiBpZD0iZGVz
Y2VuZGFudCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8IS0tIE5lZWQgdG8ganVz
dCBkaXNwbGF5IHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgLS0+CisgICAgICAgIDxkaXYg
aWQ9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxwcmUgaWQ9ImxheWVyVHJlZSI+PC9wcmU+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
cmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWY0MTFmMgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorVGhpcyB0ZXN0IGNvbGxlY3RzIGEgZml4ZWQgcG9z
aXRpb24gZWxlbWVudCBpbnNpZGUgYSBuYW1lZCBmbG93IGFuZCBmbG93cyBpdCBpbnRvIGEgcmVn
aW9uLgorCitUaGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHNob3VsZCBiZSBwb3NpdGlvbmVk
IHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydCBhbmQgaXQgc2hvdWxkIGJlIGNvbXBvc2l0ZWQuCisK
K09uIHN1Y2Nlc3MgeW91IHNob3VsZCBub3Qgc2VlIHJlZCBiZWxvdy4KKworKEdyYXBoaWNzTGF5
ZXIKKyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGlj
c0xheWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY29udGVudHNPcGFx
dWUgMSkKKyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAg
ICAgKHBvc2l0aW9uIDE1MC4wMCAxNTAuMDApCisgICAgICAgICAgKGJvdW5kcyAxMDAuMDAgMTAw
LjAwKQorICAgICAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgICApCisgICAgICApCisg
ICAgKQorICApCispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lv
bnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1mcm9tLWFicy1pbi1uYW1lZC1mbG93LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1m
cm9tLWFicy1pbi1uYW1lZC1mbG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi4yN2QwNjFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWZyb20tYWJzLWluLW5hbWVkLWZs
b3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjMgQEAKK1Rlc3QgdGhhdCBhbiBhYnNvbHV0ZWx5
IHBvc2l0aW9uZWQgZWxlbWVudCB0aGF0IGlzIGR5bmFtaWNhbHkgY2hhbmdlZCB0byBmaXhlZCBp
cyBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydCBpbnN0ZWFkIG9mIGZpcnN0IHJl
Z2lvbi4KKworVGhlIGZpeGVkIGVsZW1lbnQgc2hvdWxkIGJlIGNvbXBvc2l0ZWQuCisKK09uIHN1
Y2Nlc3MgeW91IHNob3VsZCBub3Qgc2VlIHJlZCBiZWxvdy4KKworKEdyYXBoaWNzTGF5ZXIKKyAg
KGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGljc0xheWVy
CisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY29udGVudHNPcGFxdWUgMSkK
KyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgKHBv
c2l0aW9uIDE1MC4wMCAxNTAuMDApCisgICAgICAgICAgKGJvdW5kcyA1MC4wMCA1MC4wMCkKKyAg
ICAgICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAg
KQorKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVk
LWluLW5hbWVkLWZsb3ctZnJvbS1hYnMtaW4tbmFtZWQtZmxvdy5odG1sIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWZyb20tYWJzLWluLW5hbWVk
LWZsb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODRiNzViCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1p
bi1uYW1lZC1mbG93LWZyb20tYWJzLWluLW5hbWVkLWZsb3cuaHRtbApAQCAtMCwwICsxLDM1IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICAucmVnaW9uIHsgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7IH0KKyAgICAgICAg
ICAgIC5hYnNvbHV0ZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgfQorICAgICAgICAgICAgLmZpeGVk
IHsgcG9zaXRpb246IGZpeGVkOyB9CisgICAgICAgICAgICAjcmVkIHsgcG9zaXRpb246IGFic29s
dXRlOyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsg
YmFja2dyb3VuZC1jb2xvcjogcmVkOyB9CisgICAgICAgICAgICAjZml4ZWRGcm9tQWJzIHsgLXdl
YmtpdC1mbG93LWludG86IGZsb3c7IHRvcDogMTUwcHg7IGxlZnQ6IDE1MHB4OyB3aWR0aDogNTBw
eDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfQorICAgICAgICA8L3N0
eWxlPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
CisgICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQodHJ1ZSk7CisKKyAgICAgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKKworICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBm
dW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZml4
ZWRGcm9tQWJzIikuY2xhc3NOYW1lID0gImZpeGVkIjsKKyAgICAgICAgICAgICAgICBpZiAod2lu
ZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImxheWVyVHJlZSIpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNU
ZXh0KGRvY3VtZW50KTsKKyAgICAgICAgICAgIH0sIGZhbHNlKTsKKyAgICAgICAgPC9zY3JpcHQ+
CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD5UZXN0IHRoYXQgYW4gYWJzb2x1
dGVseSBwb3NpdGlvbmVkIGVsZW1lbnQgdGhhdCBpcyBkeW5hbWljYWx5IGNoYW5nZWQgdG8gZml4
ZWQgaXMgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgdmlld3BvcnQgaW5zdGVhZCBvZiBmaXJz
dCByZWdpb24uPC9wPgorICAgICAgICA8cD5UaGUgZml4ZWQgZWxlbWVudCBzaG91bGQgYmUgY29t
cG9zaXRlZC48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MgeW91IHNob3VsZCBub3Qgc2VlIHJl
ZCBiZWxvdy48L3A+CisgICAgICAgIDwhLS0gVGhlIHJlZ2lvbiBpcyBuZWNlc3NhcnkgaW4gb3Jk
ZXIgdG8gc2hvdyB0aGUgZml4ZWQgZWxlbWVudCAtLT4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVn
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVkIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iZml4ZWRGcm9tQWJzIiBjbGFzcz0iYWJzb2x1dGUiPjwvZGl2PgorICAgICAgICA8cHJlIGlk
PSJsYXllclRyZWUiPjwvcHJlPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1mcm9tLW91
dGZsb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhl
ZC1pbi1uYW1lZC1mbG93LWZyb20tb3V0Zmxvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uNWZiMDkzMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1mcm9tLW91dGZsb3ct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjEgQEAKK1Rlc3QgdGhhdCBhIGZpeGVkIHBvc2l0aW9u
ZWQgZWxlbWVudCB0aGF0IGlzIGRpbmFtaWNhbGx5IGNvbGxlY3RlZCBpbnRvIGEgbmFtZWQgZmxv
dyBpcyBzdGlsbCBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHZpZXdwb3J0IGFuZCBjb21wb3NpdGVk
LgorCitPbiBzdWNjZXNzIHlvdSBzaG91bGQgbm90IHNlZSByZWQgYmVsb3cuCisKKyhHcmFwaGlj
c0xheWVyCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3Jh
cGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAgKGNvbnRlbnRz
T3BhcXVlIDEpCisgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAg
ICAgICAgIChwb3NpdGlvbiAxMDAuMDAgMTAwLjAwKQorICAgICAgICAgIChib3VuZHMgNTAuMDAg
NTAuMDApCisgICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAgICkKKyAgICAgICkK
KyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVn
aW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWZyb20tb3V0Zmxvdy5odG1sIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWZyb20tb3V0Zmxvdy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1YTE0ZDMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZs
b3ctZnJvbS1vdXRmbG93Lmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLmNvbGxlY3Rl
ZEluTmFtZWRGbG93IHsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7IH0KKyAgICAgICAgICAgIC5y
ZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgfQorICAgICAgICAgICAgI3JlZCB7IHBv
c2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMDBweDsgbGVmdDogMTAwcHg7IHdpZHRoOiA1MHB4OyBo
ZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQorICAgICAgICAgICAgI2ZpeGVk
IHsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDEwMHB4OyBsZWZ0OiAxMDBweDsgd2lkdGg6IDUwcHg7
IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQor
ICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKHRydWUpOworCisgICAgICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CisKKyAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpeGVk
IikuY2xhc3NOYW1lID0gImNvbGxlY3RlZEluTmFtZWRGbG93IjsKKyAgICAgICAgICAgICAgICBp
ZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImxheWVyVHJlZSIpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJU
cmVlQXNUZXh0KGRvY3VtZW50KTsKKyAgICAgICAgICAgIH0sIGZhbHNlKTsKKyAgICAgICAgPC9z
Y3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD5UZXN0IHRoYXQgYSBm
aXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgdGhhdCBpcyBkaW5hbWljYWxseSBjb2xsZWN0ZWQgaW50
byBhIG5hbWVkIGZsb3cgaXMgc3RpbGwgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB2aWV3cG9ydCBh
bmQgY29tcG9zaXRlZC48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MgeW91IHNob3VsZCBub3Qg
c2VlIHJlZCBiZWxvdy48L3A+CisgICAgICAgIDwhLS0gVGhlIHJlZ2lvbiBpcyBuZWNlc3Nhcnkg
aW4gb3JkZXIgdG8gc2hvdyB0aGUgZml4ZWQgZWxlbWVudCAtLT4KKyAgICAgICAgPGRpdiBjbGFz
cz0icmVnaW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVkIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iZml4ZWQiPjwvZGl2PgorICAgICAgICA8cHJlIGlkPSJsYXllclRyZWUiPjwvcHJl
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1nb3QtdHJhbnNmb3JtZWQtcGFyZW50LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFt
ZWQtZmxvdy1nb3QtdHJhbnNmb3JtZWQtcGFyZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzQxMmQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWdvdC10cmFuc2Zv
cm1lZC1wYXJlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjggQEAKK1Rlc3QgdGhhdCBhIGZp
eGVkIHBvc2l0aW9uZWQgZWxlbWVudCBpbiBhIG5hbWVkIGZsb3cgd2hvc2UgcGFyZW50IGlzIGR5
bmFtaWNhbGx5IHRyYW5zZm9ybWVkIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIHBhcmVu
dCBpbnN0ZWFkIG9mIHZpZXdwb3J0LgorCitUaGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHNo
b3VsZCBOT1QgYmUgY29tcG9zaXRlZC4KKworT24gc3VjY2VzcyB5b3Ugc2hvdWxkIG5vdCBzZWUg
cmVkIGJlbG93LgorCisoR3JhcGhpY3NMYXllcgorICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisg
IChjaGlsZHJlbiAxCisgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgIChib3VuZHMgODAwLjAwIDYw
MC4wMCkKKyAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgKGNoaWxkcmVuIDEKKyAgICAg
ICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAg
KGNoaWxkcmVuIDEKKyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChw
b3NpdGlvbiAxMDAuMDAgMTAwLjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDE1MC4wMCAxNTAu
MDApCisgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICkKKyAgICAg
ICAgICApCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWdvdC10
cmFuc2Zvcm1lZC1wYXJlbnQuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMv
Zml4ZWQtaW4tbmFtZWQtZmxvdy1nb3QtdHJhbnNmb3JtZWQtcGFyZW50Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTEzNzc1MAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1nb3QtdHJh
bnNmb3JtZWQtcGFyZW50Lmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLnRyYW5zZm9y
bWVkUGFyZW50IHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0KKworICAg
ICAgICAgICAgI3JlZCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxNTBweDsgbGVmdDogMTUw
cHg7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQor
ICAgICAgICAgICAgI3BhcmVudCB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyBwb3NpdGlvbjog
YWJzb2x1dGU7IHRvcDogMTAwcHg7IGxlZnQ6IDEwMHB4OyB3aWR0aDogMTUwcHg7IGhlaWdodDog
MTUwcHg7IH0KKyAgICAgICAgICAgICNmaXhlZCB7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiA1MHB4
OyBsZWZ0OiA1MHB4OyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9y
OiBncmVlbjsgfQorICAgICAgICAgICAgLyogVGhlIHJlZ2lvbiBpcyByZXF1aXJlcyBiZWNhdXNl
IG90aGVyd2lzZSB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IGlzIG5vdCBkaXNwbGF5ZWQg
Ki8KKyAgICAgICAgICAgICNyZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgcG9zaXRp
b246IGFic29sdXRlOyB0b3A6IDBweDsgbGVmdDogMHB4OyB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAg
ICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCh0cnVlKTsKKworICAgICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OworCisgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9u
KCkgeworICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXJlbnQiKS5j
bGFzc05hbWUgPSAidHJhbnNmb3JtZWRQYXJlbnQiOworICAgICAgICAgICAgICAgIGlmICh3aW5k
b3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgibGF5ZXJUcmVlIikuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1Rl
eHQoZG9jdW1lbnQpOworICAgICAgICAgICAgfSwgZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4K
KyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgdGhhdCBhIGZpeGVkIHBv
c2l0aW9uZWQgZWxlbWVudCBpbiBhIG5hbWVkIGZsb3cgd2hvc2UgcGFyZW50IGlzIGR5bmFtaWNh
bGx5IHRyYW5zZm9ybWVkIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIHBhcmVudCBpbnN0
ZWFkIG9mIHZpZXdwb3J0LjwvcD4KKyAgICAgICAgPHA+VGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxl
bWVudCBzaG91bGQgTk9UIGJlIGNvbXBvc2l0ZWQuPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNz
IHlvdSBzaG91bGQgbm90IHNlZSByZWQgYmVsb3cuPC9wPgorICAgICAgICA8ZGl2IGlkPSJyZWQi
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJwYXJlbnQiPgorICAgICAgICAgICAgPGRpdiBpZD0i
Zml4ZWQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uIj48
L2Rpdj4KKyAgICAgICAgPHByZSBpZD0ibGF5ZXJUcmVlIj48L3ByZT4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVk
LWluLW5hbWVkLWZsb3ctbG9zdC10cmFuc2Zvcm1lZC1wYXJlbnQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWxvc3QtdHJh
bnNmb3JtZWQtcGFyZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi5lMGFjYWFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWxvc3QtdHJhbnNmb3JtZWQtcGFyZW50LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDIzIEBACitUZXN0IHRoYXQgYSBmaXhlZCBwb3NpdGlvbmVk
IGVsZW1lbnQgaW4gYSBuYW1lZCBmbG93IHdob3NlIHBhcmVudCBkeW5hbWljYWxseSBsb3NlcyBp
dHMgdHJhbnNmb3JtZWQgc3R5bGUgaXMgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgdmlld3Bv
cnQgaW5zdGVhZCBvZiBwYXJlbnQuCisKK1RoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgc2hv
dWxkIE5PVCBiZSBjb21wb3NpdGVkLgorCitPbiBzdWNjZXNzIHlvdSBzaG91bGQgbm90IHNlZSBy
ZWQgYmVsb3cuCisKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAg
KGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAgNjAw
LjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAoY2hpbGRyZW4gMQorICAgICAg
ICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiAxNTAuMDAgMTUwLjAwKQorICAg
ICAgICAgIChib3VuZHMgNTAuMDAgNTAuMDApCisgICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEp
CisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWxvc3QtdHJhbnNm
b3JtZWQtcGFyZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVk
LWluLW5hbWVkLWZsb3ctbG9zdC10cmFuc2Zvcm1lZC1wYXJlbnQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOWNhMzc4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWxvc3QtdHJhbnNm
b3JtZWQtcGFyZW50Lmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLnRyYW5zZm9ybWVk
UGFyZW50IHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0KKworICAgICAg
ICAgICAgI3JlZCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxNTBweDsgbGVmdDogMTUwcHg7
IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQorICAg
ICAgICAgICAgI3BhcmVudCB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyBwb3NpdGlvbjogYWJz
b2x1dGU7IHRvcDogMTAwcHg7IGxlZnQ6IDEwMHB4OyB3aWR0aDogMTUwcHg7IGhlaWdodDogMTUw
cHg7IH0KKyAgICAgICAgICAgICNmaXhlZCB7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiAxNTBweDsg
bGVmdDogMTUwcHg7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6
IGdyZWVuOyB9CisgICAgICAgICAgICAvKiBUaGUgcmVnaW9uIGlzIHJlcXVpcmVzIGJlY2F1c2Ug
b3RoZXJ3aXNlIHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgaXMgbm90IGRpc3BsYXllZCAq
LworICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OyBwb3NpdGlv
bjogYWJzb2x1dGU7IHRvcDogMHB4OyBsZWZ0OiAwcHg7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAg
ICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKHRydWUpOworCisgICAgICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CisKKyAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24o
KSB7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhcmVudCIpLmNs
YXNzTmFtZSA9ICIiOworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAg
ICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGF5ZXJUcmVlIikuaW5u
ZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOworICAg
ICAgICAgICAgfSwgZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxwPlRlc3QgdGhhdCBhIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCBp
biBhIG5hbWVkIGZsb3cgd2hvc2UgcGFyZW50IGR5bmFtaWNhbGx5IGxvc2VzIGl0cyB0cmFuc2Zv
cm1lZCBzdHlsZSBpcyBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydCBpbnN0ZWFk
IG9mIHBhcmVudC48L3A+CisgICAgICAgIDxwPlRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQg
c2hvdWxkIE5PVCBiZSBjb21wb3NpdGVkLjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2VzcyB5b3Ug
c2hvdWxkIG5vdCBzZWUgcmVkIGJlbG93LjwvcD4KKyAgICAgICAgPGRpdiBpZD0icmVkIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0icGFyZW50IiBjbGFzcz0idHJhbnNmb3JtZWRQYXJlbnQiPgor
ICAgICAgICAgICAgPGRpdiBpZD0iZml4ZWQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0icmVnaW9uIj48L2Rpdj4KKyAgICAgICAgPHByZSBpZD0ibGF5ZXJUcmVlIj48
L3ByZT4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctb3ZlcmxhcC1jb21wb3NpdGVkLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFt
ZWQtZmxvdy1vdmVybGFwLWNvbXBvc2l0ZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmUwNGM5ZmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctb3ZlcmxhcC1jb21wb3Np
dGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI2IEBACitUZXN0IHRoYXQgYSBmaXhlZCBwb3Np
dGlvbmVkIGVsZW1lbnQgaW4gYSBuYW1lZCBmbG93IHRoYXQgb3ZlcmxhcHMgYSBjb21wb3NpdGVk
IGVsZW1lbnQgaXMgY29tcG9zaXRlZCB0b28uCisKK09uIHN1Y2Nlc3MgeW91IHNob3VsZCBzZWUg
YSBncmVlbiByZWN0YW5nbGUgb3ZlciBhbiBvcmFuZ2UgcmVjdGFuZ2xlLgorCisoR3JhcGhpY3NM
YXllcgorICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgIChjaGlsZHJlbiAxCisgICAgKEdyYXBo
aWNzTGF5ZXIKKyAgICAgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgICAgIChjb250ZW50c09w
YXF1ZSAxKQorICAgICAgKGNoaWxkcmVuIDIKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAg
ICAgICAocG9zaXRpb24gMTUwLjAwIDE1MC4wMCkKKyAgICAgICAgICAoYm91bmRzIDEwMC4wMCAx
MDAuMDApCisgICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAgICkKKyAgICAgICAg
KEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAocG9zaXRpb24gMjAwLjAwIDIwMC4wMCkKKyAgICAg
ICAgICAoYm91bmRzIDEwMC4wMCAxMDAuMDApCisgICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEp
CisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LW92ZXJsYXAtY29t
cG9zaXRlZC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1u
YW1lZC1mbG93LW92ZXJsYXAtY29tcG9zaXRlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjMzZGUyMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctb3ZlcmxhcC1jb21wb3NpdGVkLmh0
bWwKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLnRyYW5zZm9ybWVkIHsgLXdlYmtpdC10cmFu
c2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0KKyAgICAgICAgICAgICNvcmFuZ2UgeyBwb3NpdGlv
bjogYWJzb2x1dGU7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxNTBweDsgbGVm
dDogMTUwcHg7IGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTsgfQorICAgICAgICAgICAgI2ZpeGVk
IHsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7IHBvc2l0aW9uOiBmaXhlZDsgd2lkdGg6IDEwMHB4
OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgdG9wOiAyMDBweDsgbGVm
dDogMjAwcHg7IH0KKyAgICAgICAgICAgIC8qIFRoZSByZWdpb24gaXMgcmVxdWlyZXMgYmVjYXVz
ZSBvdGhlcndpc2UgdGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCBpcyBub3QgZGlzcGxheWVk
ICovCisgICAgICAgICAgICAjcmVnaW9uIHsgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7IH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKwor
ICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxheWVyVHJlZSIpLmlubmVyVGV4dCA9IHdpbmRv
dy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKKyAgICAgICAgICAgICAgICAg
IH0sIGZhbHNlKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5Pgor
ICAgICAgICA8cD5UZXN0IHRoYXQgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgaW4gYSBuYW1l
ZCBmbG93IHRoYXQgb3ZlcmxhcHMgYSBjb21wb3NpdGVkIGVsZW1lbnQgaXMgY29tcG9zaXRlZCB0
b28uPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzIHlvdSBzaG91bGQgc2VlIGEgZ3JlZW4gcmVj
dGFuZ2xlIG92ZXIgYW4gb3JhbmdlIHJlY3RhbmdsZS48L3A+CisgICAgICAgIDxkaXYgaWQ9Im9y
YW5nZSIgY2xhc3M9InRyYW5zZm9ybWVkIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQi
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24iPjwvZGl2PgorICAgICAgICA8cHJlIGlk
PSJsYXllclRyZWUiPjwvcHJlPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1wb3NpdGlv
bi1jaGFuZ2VkLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25z
L2ZpeGVkLWluLW5hbWVkLWZsb3ctcG9zaXRpb24tY2hhbmdlZC1leHBlY3RlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzNWRkYWUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctcG9z
aXRpb24tY2hhbmdlZC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBp
ZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCh0
cnVlKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICNm
aXhlZCB7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiAxNTBweDsgbGVmdDogMTUwcHg7IGJhY2tncm91
bmQtY29sb3I6IGdyZWVuOyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDwhLS0gRml4ZWQgcG9z
aXRpb25lZCBlbGVtZW50IGluc2lkZSBhIG5hbWVkIGZsb3csIGR5bmFtaWNhbGx5IGNoYW5nZWQg
dG9wL2xlZnQgLS0+CisgICAgICAgIDxwPlRlc3QgdGhhdCBhIGZpeGVkIHBvc2l0aW9uZWQgZWxl
bWVudCB3aG9zZSBwb3NpdGlvbiBpcyBkeW5hbWljYWxseSBjaGFuZ2VkCisgICAgICAgICAgICBp
cyBjb3JyZWN0bHkgcGFpbnRlZCBpbiB0aGUgbmV3IHBvc2l0aW9uLjwvcD4KKyAgICAgICAgPHA+
T24gc3VjY2VzcyB5b3Ugc2hvdWxkIHNlZSBhIGdyZWVuIHJlY3RhbmdsZSBhbmQgbm8gcmVkLjwv
cD4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFt
ZWQtZmxvdy1wb3NpdGlvbi1jaGFuZ2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9y
ZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctcG9zaXRpb24tY2hhbmdlZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwZGU3MGMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctcG9zaXRp
b24tY2hhbmdlZC5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICNmaXhlZCB7IC13ZWJr
aXQtZmxvdy1pbnRvOiBmbG93OyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogNTBweDsgbGVmdDogNTBw
eDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsg
fQorICAgICAgICAgICAgI3JlZCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxNTBweDsgbGVm
dDogMTUwcHg7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgYmFja2dyb3VuZC1jb2xvcjog
cmVkOyB9CisgICAgICAgICAgICAvKiBXZSBuZWVkIGEgcmVnaW9uIG90aGVyd2lzZSB0aGUgZml4
ZWQgcG9zaXRpb25lZCBlbGVtZW50IGlzIG5vdCBkaXNwbGF5ZWQgKi8KKyAgICAgICAgICAgICNy
ZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgfQorICAgICAgICA8L3N0eWxlPgorICAg
ICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAg
ICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0
aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQodHJ1ZSk7CisKKyAgICAgICAgICAgIHdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpeGVkIikuc3R5bGUudG9wID0gIjE1MHB4IjsKKyAgICAg
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZml4ZWQiKS5zdHlsZS5sZWZ0ID0g
IjE1MHB4IjsKKyAgICAgICAgICAgIH0sIGZhbHNlKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAg
PC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8IS0tIEZpeGVkIHBvc2l0aW9uZWQgZWxlbWVu
dCBpbnNpZGUgYSBuYW1lZCBmbG93LCBkeW5hbWljYWxseSBjaGFuZ2VkIHRvcC9sZWZ0IC0tPgor
ICAgICAgICA8cD5UZXN0IHRoYXQgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgd2hvc2UgcG9z
aXRpb24gaXMgZHluYW1pY2FsbHkgY2hhbmdlZAorICAgICAgICAgICAgaXMgY29ycmVjdGx5IHBh
aW50ZWQgaW4gdGhlIG5ldyBwb3NpdGlvbi48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MgeW91
IHNob3VsZCBzZWUgYSBncmVlbiByZWN0YW5nbGUgYW5kIG5vIHJlZC48L3A+CisgICAgICAgIDxk
aXYgaWQ9InJlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImZpeGVkIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0icmVnaW9uIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ct
dHJhbnNmb3JtZWQtcGFyZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy10cmFuc2Zvcm1lZC1wYXJlbnQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3ZTlhMDkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVk
LWZsb3ctdHJhbnNmb3JtZWQtcGFyZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI2IEBACitU
ZXN0IHRoYXQgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgd2l0aCBhIHRyYW5zZm9ybWVkIHBh
cmVudCBpcyBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSB0cmFuc2Zvcm1lZCBwYXJlbnQgYW5k
IGlzIG5vdCBjb21wb3NpdGVkLgorCitPbiBzdWNjZXNzIHlvdSBzaG91bGQgbm90IHNlZSByZWQg
YmVsb3cuCisKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgKGNo
aWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAw
KQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAo
R3JhcGhpY3NMYXllcgorICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAoY2hp
bGRyZW4gMQorICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKHBvc2l0
aW9uIDEwMC4wMCAxMDAuMDApCisgICAgICAgICAgICAgIChib3VuZHMgMTUwLjAwIDE1MC4wMCkK
KyAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgKQorICAgICAgICAg
ICkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctdHJhbnNmb3Jt
ZWQtcGFyZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWlu
LW5hbWVkLWZsb3ctdHJhbnNmb3JtZWQtcGFyZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uYzk2Mzk1OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy10cmFuc2Zvcm1lZC1wYXJlbnQu
aHRtbApAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFk
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjcmVkIHsgcG9zaXRpb246IGFic29sdXRl
OyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFj
a2dyb3VuZC1jb2xvcjogcmVkOyB9CisgICAgICAgICAgICAjdHJhbnNmb3JtZWRQYXJlbnQgeyAt
d2Via2l0LWZsb3ctaW50bzogZmxvdzsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwMHB4OyBs
ZWZ0OiAxMDBweDsgd2lkdGg6IDE1MHB4OyBoZWlnaHQ6IDE1MHB4OyAtd2Via2l0LXRyYW5zZm9y
bTogc2NhbGUzZCgxLCAxLCAxKTsgfQorICAgICAgICAgICAgI2ZpeGVkIHsgcG9zaXRpb246IGZp
eGVkOyB0b3A6IDUwcHg7IGxlZnQ6IDUwcHg7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7IGJh
Y2tncm91bmQtY29sb3I6IGdyZWVuOyB9CisgICAgICAgICAgICAvKiBUaGUgcmVnaW9uIGlzIHJl
cXVpcmVzIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgaXMg
bm90IGRpc3BsYXllZCAqLworICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9t
OiBmbG93OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMHB4OyBsZWZ0OiAwcHg7IH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50
ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKHRydWUpOworCisgICAg
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7CisKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAg
ICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllclRyZWUi
KS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7
CisgICAgICAgICAgICAgICAgfSwgZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hl
YWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgdGhhdCBhIGZpeGVkIHBvc2l0aW9uZWQg
ZWxlbWVudCB3aXRoIGEgdHJhbnNmb3JtZWQgcGFyZW50IGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUg
dG8gdGhlIHRyYW5zZm9ybWVkIHBhcmVudCBhbmQgaXMgbm90IGNvbXBvc2l0ZWQuPC9wPgorICAg
ICAgICA8cD5PbiBzdWNjZXNzIHlvdSBzaG91bGQgbm90IHNlZSByZWQgYmVsb3cuPC9wPgorICAg
ICAgICA8ZGl2IGlkPSJyZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJ0cmFuc2Zvcm1lZFBh
cmVudCI+CisgICAgICAgICAgICA8ZGl2IGlkPSJmaXhlZCI+PC9kaXY+CisgICAgICAgIDwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24iPjwvZGl2PgorICAgICAgICA8cHJlIGlkPSJsYXll
clRyZWUiPjwvcHJlPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy16SW5kZXgtZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQt
Zmxvdy16SW5kZXgtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5lNTY1NzgyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
cmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LXpJbmRleC1leHBlY3RlZC5odG1sCkBAIC0wLDAg
KzEsMjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxz
Y3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JG
aXhlZFBvc2l0aW9uRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgICNmaXhlZDEgeyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7
IHRvcDogMTAwcHg7IGxlZnQ6IDEwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgcG9zaXRp
b246IGZpeGVkOyB6LWluZGV4OiAxMDsgfQorCisgICAgICAgICAgICAjZml4ZWQyIHsgd2lkdGg6
IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgYmFja2dyb3Vu
ZC1jb2xvcjogb3JhbmdlOyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDE7IH0KKworICAgICAg
ICAgICAgI2ZpeGVkMyB7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxNzVweDsg
bGVmdDogMTc1cHg7IGJhY2tncm91bmQtY29sb3I6IGJsdWU7IHBvc2l0aW9uOiBmaXhlZDsgei1p
bmRleDogNTsgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyNTE0NCI+V2ViS2l0IEJ1ZyAxMjUxNDQ8L2E+IFtDU1MgUmVnaW9uc10gRW5h
YmxlIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIGZvciBmaXhlZCBlbGVtZW50cyBpbiBuYW1lZCBm
bG93czwvcD4KKyAgICAgICAgPHA+VGVzdCB0aGF0IHBhaW50aW5nIHRoZSBmaXhlZCBwb3NpdGlv
bmVkIGVsZW1lbnRzIGluc2lkZSB0aGUgc2FtZSBuYW1lZCBmbG93IHRha2VzIHpJbmRleCBpbnRv
IGFjY291bnQuPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSAzIHJl
Y3RhbmdsZXMgcGFpbnRlZCBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOiBncmVlbiwgYmx1ZSwgb3Jh
bmdlLjwvcD4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQxIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iZml4ZWQyIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQzIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdp
b25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctekluZGV4Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctekluZGV4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjNjMWI4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy16SW5kZXguaHRt
bApAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgor
ICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAg
ICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBv
c2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQodHJ1ZSk7CisgICAgICAgIDwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjZml4ZWQxIHsgLXdlYmtpdC1mbG93LWludG86
IGZsb3c7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxMDBweDsgbGVmdDogMTAw
cHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDEw
OyB9CisKKyAgICAgICAgICAgICNmaXhlZDIgeyAtd2Via2l0LWZsb3ctaW50bzogZmxvdzsgd2lk
dGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgYmFja2dy
b3VuZC1jb2xvcjogb3JhbmdlOyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDE7IH0KKworICAg
ICAgICAgICAgI2ZpeGVkMyB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyB3aWR0aDogMTAwcHg7
IGhlaWdodDogMTAwcHg7IHRvcDogMTc1cHg7IGxlZnQ6IDE3NXB4OyBiYWNrZ3JvdW5kLWNvbG9y
OiBibHVlOyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDU7IH0KKworICAgICAgICAgICAgLyog
V2UgbmVlZCBhIHJlZ2lvbiBiZWNhdXNlIG90aGVyd2lzZSB0aGUgZml4ZWQgcG9zaXRpb25lZCBl
bGVtZW50cyBhcmUgbm90IGRpc3BsYXllZCAqLworICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJr
aXQtZmxvdy1mcm9tOiBmbG93OyB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxib2R5PgorICAgICAgICA8cD5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1MTQ0Ij5XZWJLaXQgQnVnIDEyNTE0NDwvYT4gW0NTUyBS
ZWdpb25zXSBFbmFibGUgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgZm9yIGZpeGVkIGVsZW1lbnRz
IGluIG5hbWVkIGZsb3dzPC9wPgorICAgICAgICA8cD5UZXN0IHRoYXQgcGFpbnRpbmcgdGhlIGZp
eGVkIHBvc2l0aW9uZWQgZWxlbWVudHMgaW5zaWRlIHRoZSBzYW1lIG5hbWVkIGZsb3cgdGFrZXMg
ekluZGV4IGludG8gYWNjb3VudC48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91
bGQgc2VlIDMgcmVjdGFuZ2xlcyBwYWludGVkIGluIHRoZSBmb2xsb3dpbmcgb3JkZXI6IGdyZWVu
LCBibHVlLCBvcmFuZ2UuPC9wPgorICAgICAgICA8ZGl2IGlkPSJmaXhlZDEiPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJmaXhlZDIiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJmaXhlZDMiPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24iPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4t
bmFtZWQtZmxvdy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1p
bi1uYW1lZC1mbG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDE1
ZGVhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMv
Zml4ZWQtaW4tbmFtZWQtZmxvdy5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICNyZWQg
eyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAx
NTBweDsgbGVmdDogMTUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQorICAgICAgICAgICAg
I2ZpeGVkIHsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7IHBvc2l0aW9uOiBmaXhlZDsgd2lkdGg6
IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgdG9wOiAxNTBw
eDsgbGVmdDogMTUwcHg7IH0KKyAgICAgICAgICAgIC8qIFRoZSByZWdpb24gaXMgcmVxdWlyZXMg
YmVjYXVzZSBvdGhlcndpc2UgdGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCBpcyBub3QgZGlz
cGxheWVkICovCisgICAgICAgICAgICAjcmVnaW9uIHsgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3
aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKHRydWUp
OworCisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQorICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJs
YXllclRyZWUiKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChk
b2N1bWVudCk7CisgICAgICAgICAgICAgICAgICB9LCBmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0
PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGhpcyB0ZXN0IGNvbGxlY3Rz
IGEgZml4ZWQgcG9zaXRpb24gZWxlbWVudCBpbnNpZGUgYSBuYW1lZCBmbG93IGFuZCBmbG93cyBp
dCBpbnRvIGEgcmVnaW9uLjwvcD4KKyAgICAgICAgPHA+VGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxl
bWVudCBzaG91bGQgYmUgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgdmlld3BvcnQgYW5kIGl0
IHNob3VsZCBiZSBjb21wb3NpdGVkLjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2VzcyB5b3Ugc2hv
dWxkIG5vdCBzZWUgcmVkIGJlbG93LjwvcD4KKyAgICAgICAgPGRpdiBpZD0icmVkIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iZml4ZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24i
PjwvZGl2PgorICAgICAgICA8cHJlIGlkPSJsYXllclRyZWUiPjwvcHJlPgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4
ZWQtdHJhbnNmb3JtZWQtaW4tbmFtZWQtZmxvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLXRyYW5zZm9ybWVkLWluLW5hbWVkLWZsb3ctZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4ODNiMDkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLXRyYW5z
Zm9ybWVkLWluLW5hbWVkLWZsb3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjMgQEAKK1RoaXMg
dGVzdCBjb2xsZWN0cyBhIHRyYW5zZm9ybWVkIGZpeGVkIHBvc2l0aW9uIGVsZW1lbnQgaW5zaWRl
IGEgbmFtZWQgZmxvdyBhbmQgZmxvd3MgaXQgaW50byBhIHJlZ2lvbi4KKworVGhlIGZpeGVkIHBv
c2l0aW9uZWQgZWxlbWVudCBzaG91bGQgYmUgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgdmll
d3BvcnQgYW5kIGl0IHNob3VsZCBiZSBjb21wb3NpdGVkLgorCitPbiBzdWNjZXNzIHlvdSBzaG91
bGQgbm90IHNlZSByZWQgYmVsb3cuCisKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgODAwLjAw
IDYwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5k
cyA4MDAuMDAgNjAwLjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAoY2hpbGRy
ZW4gMQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiAxNTAuMDAg
MTUwLjAwKQorICAgICAgICAgIChib3VuZHMgMTAwLjAwIDEwMC4wMCkKKyAgICAgICAgICAoY29u
dGVudHNPcGFxdWUgMSkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLXRyYW5zZm9ybWVk
LWluLW5hbWVkLWZsb3cuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4
ZWQtdHJhbnNmb3JtZWQtaW4tbmFtZWQtZmxvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLmFlYTI1NGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9yZWdpb25zL2ZpeGVkLXRyYW5zZm9ybWVkLWluLW5hbWVkLWZsb3cuaHRtbApAQCAt
MCwwICsxLDI5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICAjcmVkIHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDog
MTAwcHg7IGhlaWdodDogMTAwcHg7IHRvcDogMTUwcHg7IGxlZnQ6IDE1MHB4OyBiYWNrZ3JvdW5k
LWNvbG9yOiByZWQ7IH0KKyAgICAgICAgICAgICNmaXhlZFRyYW5zZm9ybWVkIHsgLXdlYmtpdC1m
bG93LWludG86IGZsb3c7IHBvc2l0aW9uOiBmaXhlZDsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEw
MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgdG9wOiAxNTBweDsgbGVmdDogMTUwcHg7IC13
ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9CisgICAgICAgICAgICAvKiBUaGUg
cmVnaW9uIGlzIHJlcXVpcmVzIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBmaXhlZCBwb3NpdGlvbmVk
IGVsZW1lbnQgaXMgbm90IGRpc3BsYXllZCAqLworICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJr
aXQtZmxvdy1mcm9tOiBmbG93OyB9CisgICAgICAgIDwvc3R5bGU+CisgICAgICAgIDxzY3JpcHQ+
CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxz
KQorICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXll
clRyZWUiKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1
bWVudCk7CisgICAgICAgICAgICAgICAgICB9LCBmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0Pgor
ICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGhpcyB0ZXN0IGNvbGxlY3RzIGEg
dHJhbnNmb3JtZWQgZml4ZWQgcG9zaXRpb24gZWxlbWVudCBpbnNpZGUgYSBuYW1lZCBmbG93IGFu
ZCBmbG93cyBpdCBpbnRvIGEgcmVnaW9uLjwvcD4KKyAgICAgICAgPHA+VGhlIGZpeGVkIHBvc2l0
aW9uZWQgZWxlbWVudCBzaG91bGQgYmUgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgdmlld3Bv
cnQgYW5kIGl0IHNob3VsZCBiZSBjb21wb3NpdGVkLjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2Vz
cyB5b3Ugc2hvdWxkIG5vdCBzZWUgcmVkIGJlbG93LjwvcD4KKyAgICAgICAgPGRpdiBpZD0icmVk
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWRUcmFuc2Zvcm1lZCI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxwcmUgaWQ9ImxheWVyVHJlZSI+
PC9wcmU+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9yZWdpb25zL3JlcGFpbnQvZWxlbWVudC1pbi1uYW1lZC1mbG93LWFic29sdXRlLWZyb20tZml4
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2VsZW1lbnQtaW4tbmFt
ZWQtZmxvdy1hYnNvbHV0ZS1mcm9tLWZpeGVkLmh0bWwKaW5kZXggMzM5YzFkMy4uMzBhYWY3ZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlcGFpbnQvZWxlbWVudC1pbi1u
YW1lZC1mbG93LWFic29sdXRlLWZyb20tZml4ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3JlZ2lvbnMvcmVwYWludC9lbGVtZW50LWluLW5hbWVkLWZsb3ctYWJzb2x1dGUtZnJvbS1maXhl
ZC5odG1sCkBAIC0xOSw2ICsxOSw5IEBACiAgICAgICAgIDxkaXYgaWQ9InRhcmdldCI+PC9kaXY+
CiAgICAgICAgIDxkaXYgaWQ9InJlZ2lvbiI+PC9kaXY+CiAgICAgICAgIDxzY3JpcHQ+CisgICAg
ICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50
ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9u
RW5hYmxlZChmYWxzZSk7CisKICAgICAgICAgICAgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkgewog
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKS5zdHlsZS5w
b3NpdGlvbiA9ICJhYnNvbHV0ZSI7CiAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3JlZ2lvbnMvcmVwYWludC9lbGVtZW50LWluLW5hbWVkLWZsb3ctZml4ZWQtZnJv
bS1hYnNvbHV0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlcGFpbnQvZWxlbWVu
dC1pbi1uYW1lZC1mbG93LWZpeGVkLWZyb20tYWJzb2x1dGUuaHRtbAppbmRleCA4NGNkOTFkLi40
MTg5NTVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVwYWludC9lbGVt
ZW50LWluLW5hbWVkLWZsb3ctZml4ZWQtZnJvbS1hYnNvbHV0ZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2VsZW1lbnQtaW4tbmFtZWQtZmxvdy1maXhlZC1mcm9t
LWFic29sdXRlLmh0bWwKQEAgLTE5LDYgKzE5LDkgQEAKICAgICAgICAgPGRpdiBpZD0idGFyZ2V0
Ij48L2Rpdj4KICAgICAgICAgPGRpdiBpZD0icmVnaW9uIj48L2Rpdj4KICAgICAgICAgPHNjcmlw
dD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdp
bmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVk
UG9zaXRpb25FbmFibGVkKGZhbHNlKTsKKwogICAgICAgICAgICAgZnVuY3Rpb24gcmVwYWludFRl
c3QoKSB7CiAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIp
LnN0eWxlLnBvc2l0aW9uID0gImZpeGVkIjsKICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2VsZW1lbnQtaW5mbG93LWZpeGVkLWZyb20t
b3V0Zmxvdy1zdGF0aWMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2Vs
ZW1lbnQtaW5mbG93LWZpeGVkLWZyb20tb3V0Zmxvdy1zdGF0aWMuaHRtbAppbmRleCBkYmY0N2Ji
Li43NTAzOTc5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVwYWludC9l
bGVtZW50LWluZmxvdy1maXhlZC1mcm9tLW91dGZsb3ctc3RhdGljLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9yZWdpb25zL3JlcGFpbnQvZWxlbWVudC1pbmZsb3ctZml4ZWQtZnJvbS1vdXRm
bG93LXN0YXRpYy5odG1sCkBAIC0yMiw2ICsyMiw5IEBACiAgICAgICAgIDwvZGl2PgogICAgICAg
ICA8ZGl2IGlkPSJyZWdpb24iPjwvZGl2PgogICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQo
ZmFsc2UpOworCiAgICAgICAgICAgICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKICAgICAgICAg
ICAgICAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpOwog
ICAgICAgICAgICAgICAgIHRhcmdldC5zdHlsZS5wb3NpdGlvbiA9ICJmaXhlZCI7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVwYWludC9lbGVtZW50LW91dGZsb3ctc3Rh
dGljLWZyb20taW5mbG93LWZpeGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVw
YWludC9lbGVtZW50LW91dGZsb3ctc3RhdGljLWZyb20taW5mbG93LWZpeGVkLmh0bWwKaW5kZXgg
NzQ5OTE2MC4uMDVlZDEwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3Jl
cGFpbnQvZWxlbWVudC1vdXRmbG93LXN0YXRpYy1mcm9tLWluZmxvdy1maXhlZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2VsZW1lbnQtb3V0Zmxvdy1zdGF0aWMt
ZnJvbS1pbmZsb3ctZml4ZWQuaHRtbApAQCAtMjIsNiArMjIsOSBAQAogICAgICAgICA8L2Rpdj4K
ICAgICAgICAgPGRpdiBpZD0icmVnaW9uIj48L2Rpdj4KICAgICAgICAgPHNjcmlwdD4KKyAgICAg
ICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRl
cm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25F
bmFibGVkKGZhbHNlKTsKKwogICAgICAgICAgICAgZnVuY3Rpb24gcmVwYWludFRlc3QoKSB7CiAg
ICAgICAgICAgICAgICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJn
ZXQiKTsKICAgICAgICAgICAgICAgICB0YXJnZXQuc3R5bGUucG9zaXRpb24gPSAic3RhdGljIjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA1YjNlNTRjLi41YjQ3OTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEg
QEAKKzIwMTQtMDEtMTUgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAg
ICAgICAgW0NTUyBSZWdpb25zXSBFbmFibGUgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgZm9yIGZp
eGVkIGVsZW1lbnRzIGluIG5hbWVkIGZsb3dzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUxNDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgY29tcG9zaXRpbmcgZm9yIGZpeGVk
IHBvc2l0aW9uZWQgZWxlbWVudCB0aGF0IGFyZSBjb2xsZWN0ZWQKKyAgICAgICAgaW5zaWRlIGEg
bmFtZWQgZmxvdy4gUHJpb3IgdG8gdGhpcyBwYXRjaCwgdGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxl
bWVudHMgd2VyZQorICAgICAgICBwb3NpdGlvbmVkIGFuZCBzaXplZCBwcm9wZXJseSBidXQgb25s
eSBpbiB0aGUgbm9uLWNvbXBvc2l0aW5nIHNjZW5hcmlvLgorCisgICAgICAgIFRlc3RzOiBjb21w
b3NpdGluZy9yZWdpb25zL2Ficy1pbi1uYW1lZC1mbG93LWZyb20tZml4ZWQtaW4tbmFtZWQtZmxv
dy5odG1sCisgICAgICAgICAgICAgICBjb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLWRpZmYt
bmFtZWQtZmxvd3MtekluZGV4Lmh0bWwKKyAgICAgICAgICAgICAgIGNvbXBvc2l0aW5nL3JlZ2lv
bnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1jbGlwLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAg
ICAgY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWZyb20tYWJzLWluLW5h
bWVkLWZsb3cuaHRtbAorICAgICAgICAgICAgICAgY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1p
bi1uYW1lZC1mbG93LWZyb20tb3V0Zmxvdy5odG1sCisgICAgICAgICAgICAgICBjb21wb3NpdGlu
Zy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctZ290LXRyYW5zZm9ybWVkLXBhcmVudC5odG1s
CisgICAgICAgICAgICAgICBjb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ct
bG9zdC10cmFuc2Zvcm1lZC1wYXJlbnQuaHRtbAorICAgICAgICAgICAgICAgY29tcG9zaXRpbmcv
cmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LW92ZXJsYXAtY29tcG9zaXRlZC5odG1sCisgICAg
ICAgICAgICAgICBjb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctcG9zaXRp
b24tY2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBjb21wb3NpdGluZy9yZWdpb25zL2ZpeGVk
LWluLW5hbWVkLWZsb3ctdHJhbnNmb3JtZWQtcGFyZW50Lmh0bWwKKyAgICAgICAgICAgICAgIGNv
bXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy16SW5kZXguaHRtbAorICAgICAg
ICAgICAgICAgY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93Lmh0bWwKKyAg
ICAgICAgICAgICAgIGNvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtdHJhbnNmb3JtZWQtaW4tbmFt
ZWQtZmxvdy5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbG93VGhyZWFkOjpyZWdpb25Gb3JDb21wb3NpdGVk
TGF5ZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjb21wdXRlQ29tcG9zaXRp
bmdSZXF1aXJlbWVudHNGb3JOYW1lZEZsb3dGaXhlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllckNvbXBvc2l0b3I6OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlYnVpbGRDb21wb3NpdGluZ0xh
eWVyVHJlZUZvck5hbWVkRmxvd0ZpeGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
Q29tcG9zaXRvcjo6cmVidWlsZENvbXBvc2l0aW5nTGF5ZXJUcmVlKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlTGF5ZXJUcmVlR2VvbWV0cnkpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5n
Rm9yUG9zaXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3Iu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQuaDoKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmg6CisKIDIwMTQtMDEtMTQgIEFu
ZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFBhY2sgUmVzb3VyY2VS
ZXNwb25zZSBoYXJkZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmxvd1RocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1Ro
cmVhZC5jcHAKaW5kZXggM2YwZTMyNy4uYmM0MzU1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcApAQCAtMjgsNyArMjgsNiBAQAogICovCiAKICNp
bmNsdWRlICJjb25maWcuaCIKLQogI2luY2x1ZGUgIlJlbmRlckZsb3dUaHJlYWQuaCIKIAogI2lu
Y2x1ZGUgIkZsb3dUaHJlYWRDb250cm9sbGVyLmgiCkBAIC0yNzEsNiArMjcwLDkgQEAgY29uc3Qg
UmVuZGVyTGF5ZXJMaXN0KiBSZW5kZXJGbG93VGhyZWFkOjpnZXRMYXllckxpc3RGb3JSZWdpb24o
UmVuZGVyTmFtZWRGbG93RnIKIAogUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQqIFJlbmRlckZsb3dU
aHJlYWQ6OnJlZ2lvbkZvckNvbXBvc2l0ZWRMYXllcihSZW5kZXJMYXllciYgY2hpbGRMYXllcikK
IHsKKyAgICBpZiAoY2hpbGRMYXllci5yZW5kZXJlcigpLmZpeGVkUG9zaXRpb25lZFdpdGhOYW1l
ZEZsb3dDb250YWluaW5nQmxvY2soKSkKKyAgICAgICAgcmV0dXJuIDA7CisKICAgICBpZiAoY2hp
bGRMYXllci5yZW5kZXJCb3goKSkgewogICAgICAgICBSZW5kZXJSZWdpb24qIHN0YXJ0UmVnaW9u
ID0gMDsKICAgICAgICAgUmVuZGVyUmVnaW9uKiBlbmRSZWdpb24gPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCBjNmRj
NzU4Li44YWRkNDRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtMTAyMiw2ICsxMDIyLDIzIEBAIHZvaWQgUmVuZGVyTGF5
ZXJDb21wb3NpdG9yOjphZGRUb092ZXJsYXBNYXBSZWN1cnNpdmUoT3ZlcmxhcE1hcCYgb3Zlcmxh
cE1hcCwgUmVuCiAgICAgICAgIG92ZXJsYXBNYXAuZ2VvbWV0cnlNYXAoKS5wb3BNYXBwaW5nc1Rv
QW5jZXN0b3IoYW5jZXN0b3JMYXllcik7CiB9CiAKK3ZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9y
Ojpjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHNGb3JOYW1lZEZsb3dGaXhlZChSZW5kZXJM
YXllciYgbGF5ZXIsIE92ZXJsYXBNYXAqIG92ZXJsYXBNYXAsIENvbXBvc2l0aW5nU3RhdGUmIGNo
aWxkU3RhdGUsIGJvb2wmIGxheWVyc0NoYW5nZWQsIGJvb2wmIGFueURlc2NlbmRhbnRIYXMzRFRy
YW5zZm9ybSkKK3sKKyAgICBpZiAoIWxheWVyLmlzUm9vdExheWVyKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIGlmICghbGF5ZXIucmVuZGVyZXIoKS52aWV3KCkuaGFzUmVuZGVyTmFtZWRGbG93
VGhyZWFkcygpKQorICAgICAgICByZXR1cm47CisKKyAgICBWZWN0b3I8UmVuZGVyTGF5ZXIqPiBm
aXhlZExheWVyczsKKyAgICBsYXllci5yZW5kZXJlcigpLnZpZXcoKS5mbG93VGhyZWFkQ29udHJv
bGxlcigpLmNvbGxlY3RGaXhlZFBvc2l0aW9uZWRMYXllcnMoZml4ZWRMYXllcnMpOworCisgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBmaXhlZExheWVycy5zaXplKCk7ICsraSkgeworICAgICAg
ICBSZW5kZXJMYXllciogZml4ZWRMYXllciA9IGZpeGVkTGF5ZXJzLmF0KGkpOworICAgICAgICBj
b21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMoJmxheWVyLCAqZml4ZWRMYXllciwgb3Zlcmxh
cE1hcCwgY2hpbGRTdGF0ZSwgbGF5ZXJzQ2hhbmdlZCwgYW55RGVzY2VuZGFudEhhczNEVHJhbnNm
b3JtKTsKKyAgICB9Cit9CisKIC8vICBSZWN1cnNlIHRocm91Z2ggdGhlIGxheWVycyBpbiB6LWlu
ZGV4IGFuZCBvdmVyZmxvdyBvcmRlciAod2hpY2ggaXMgZXF1aXZhbGVudCB0byBwYWludGluZyBv
cmRlcikKIC8vICBGb3IgdGhlIHotb3JkZXIgY2hpbGRyZW4gb2YgYSBjb21wb3NpdGluZyBsYXll
cjoKIC8vICAgICAgSWYgYSBjaGlsZCBsYXllcnMgaGFzIGEgY29tcG9zaXRpbmcgbGF5ZXIsIHRo
ZW4gYWxsIHN1YnNlcXVlbnQgbGF5ZXJzIG11c3QKQEAgLTExNDgsNyArMTE2NSwxMCBAQCB2b2lk
IFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKFJl
bmRlckxheWVyKiBhbmNlc3RvcgogICAgICAgICAgICAgICAgIGNvbXB1dGVDb21wb3NpdGluZ1Jl
cXVpcmVtZW50cygmbGF5ZXIsICpwb3NaT3JkZXJMaXN0LT5hdChpKSwgb3ZlcmxhcE1hcCwgY2hp
bGRTdGF0ZSwgbGF5ZXJzQ2hhbmdlZCwgYW55RGVzY2VuZGFudEhhczNEVHJhbnNmb3JtKTsKICAg
ICAgICAgfQogICAgIH0KLSAgICAKKworICAgIGlmIChsYXllci5pc1Jvb3RMYXllcigpKQorICAg
ICAgICBjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHNGb3JOYW1lZEZsb3dGaXhlZChsYXll
ciwgb3ZlcmxhcE1hcCwgY2hpbGRTdGF0ZSwgbGF5ZXJzQ2hhbmdlZCwgYW55RGVzY2VuZGFudEhh
czNEVHJhbnNmb3JtKTsKKwogICAgIC8vIElmIHdlIGp1c3QgZW50ZXJlZCBjb21wb3NpdGluZyBt
b2RlLCB0aGUgcm9vdCB3aWxsIGhhdmUgYmVjb21lIGNvbXBvc2l0ZWQgKGFzIGxvbmcgYXMgYWNj
ZWxlcmF0ZWQgY29tcG9zaXRpbmcgaXMgZW5hYmxlZCkuCiAgICAgaWYgKGxheWVyLmlzUm9vdExh
eWVyKCkpIHsKICAgICAgICAgaWYgKGluQ29tcG9zaXRpbmdNb2RlKCkgJiYgbV9oYXNBY2NlbGVy
YXRlZENvbXBvc2l0aW5nKQpAQCAtMTMwOCw2ICsxMzI4LDIzIEBAIGJvb2wgUmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjpjYW5BY2NlbGVyYXRlVmlkZW9SZW5kZXJpbmcoUmVuZGVyVmlkZW8mIHZpZGVv
KSBjb25zCiB9CiAjZW5kaWYKIAordm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlYnVpbGRD
b21wb3NpdGluZ0xheWVyVHJlZUZvck5hbWVkRmxvd0ZpeGVkKFJlbmRlckxheWVyJiBsYXllciwg
VmVjdG9yPEdyYXBoaWNzTGF5ZXIqPiYgY2hpbGRHcmFwaGljc0xheWVyc09mRW5jbG9zaW5nTGF5
ZXIsIGludCBkZXB0aCkKK3sKKyAgICBpZiAoIWxheWVyLmlzUm9vdExheWVyKCkpCisgICAgICAg
IHJldHVybjsKKworICAgIGlmICghbGF5ZXIucmVuZGVyZXIoKS52aWV3KCkuaGFzUmVuZGVyTmFt
ZWRGbG93VGhyZWFkcygpKQorICAgICAgICByZXR1cm47CisKKyAgICBWZWN0b3I8UmVuZGVyTGF5
ZXIqPiBmaXhlZExheWVyczsKKyAgICBsYXllci5yZW5kZXJlcigpLnZpZXcoKS5mbG93VGhyZWFk
Q29udHJvbGxlcigpLmNvbGxlY3RGaXhlZFBvc2l0aW9uZWRMYXllcnMoZml4ZWRMYXllcnMpOwor
CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBmaXhlZExheWVycy5zaXplKCk7ICsraSkgewor
ICAgICAgICBSZW5kZXJMYXllciogZml4ZWRMYXllciA9IGZpeGVkTGF5ZXJzLmF0KGkpOworICAg
ICAgICByZWJ1aWxkQ29tcG9zaXRpbmdMYXllclRyZWUoKmZpeGVkTGF5ZXIsIGNoaWxkR3JhcGhp
Y3NMYXllcnNPZkVuY2xvc2luZ0xheWVyLCBkZXB0aCk7CisgICAgfQorfQorCiB2b2lkIFJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6cmVidWlsZENvbXBvc2l0aW5nTGF5ZXJUcmVlKFJlbmRlckxheWVy
JiBsYXllciwgVmVjdG9yPEdyYXBoaWNzTGF5ZXIqPiYgY2hpbGRMYXllcnNPZkVuY2xvc2luZ0xh
eWVyLCBpbnQgZGVwdGgpCiB7CiAgICAgLy8gTWFrZSB0aGUgbGF5ZXIgY29tcG9zaXRpbmcgaWYg
bmVjZXNzYXJ5LCBhbmQgc2V0IHVwIGNsaXBwaW5nIGFuZCBjb250ZW50IGxheWVycy4KQEAgLTEz
MTcsNyArMTM1NCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZWJ1aWxkQ29tcG9z
aXRpbmdMYXllclRyZWUoUmVuZGVyTGF5ZXImIGxheWVyLCBWZWN0CiAgICAgLy8gRG8gbm90IGl0
ZXJhdGUgdGhlIFJlbmRlckZsb3dUaHJlYWQgZGlyZWN0bHkuIFdlIGFyZSBnb2luZyB0byBjb2xs
ZWN0IGNvbXBvc2l0ZWQgbGF5ZXJzIGFzIHBhcnQgb2YgcmVnaW9ucy4KICAgICBpZiAobGF5ZXIu
aXNGbG93VGhyZWFkQ29sbGVjdGluZ0dyYXBoaWNzTGF5ZXJzVW5kZXJSZWdpb25zKCkpCiAgICAg
ICAgIHJldHVybjsKLSAgICAKKwogICAgIFJlbmRlckxheWVyQmFja2luZyogbGF5ZXJCYWNraW5n
ID0gbGF5ZXIuYmFja2luZygpOwogICAgIGlmIChsYXllckJhY2tpbmcpIHsKICAgICAgICAgLy8g
VGhlIGNvbXBvc2l0aW5nIHN0YXRlIG9mIGFsbCBvdXIgY2hpbGRyZW4gaGFzIGJlZW4gdXBkYXRl
ZCBhbHJlYWR5LCBzbyBub3cKQEAgLTEzODAsNyArMTQxNywxMCBAQCB2b2lkIFJlbmRlckxheWVy
Q29tcG9zaXRvcjo6cmVidWlsZENvbXBvc2l0aW5nTGF5ZXJUcmVlKFJlbmRlckxheWVyJiBsYXll
ciwgVmVjdAogICAgICAgICAgICAgICAgIHJlYnVpbGRDb21wb3NpdGluZ0xheWVyVHJlZSgqcG9z
Wk9yZGVyTGlzdC0+YXQoaSksIGNoaWxkTGlzdCwgZGVwdGggKyAxKTsKICAgICAgICAgfQogICAg
IH0KLSAgICAKKworICAgIGlmIChsYXllci5pc1Jvb3RMYXllcigpKQorICAgICAgICByZWJ1aWxk
Q29tcG9zaXRpbmdMYXllclRyZWVGb3JOYW1lZEZsb3dGaXhlZChsYXllciwgY2hpbGRMaXN0LCBk
ZXB0aCArIDEpOworCiAgICAgaWYgKGxheWVyQmFja2luZykgewogICAgICAgICBib29sIHBhcmVu
dGVkID0gZmFsc2U7CiAgICAgICAgIGlmIChsYXllci5yZW5kZXJlcigpLmlzV2lkZ2V0KCkpCkBA
IC0xNTk4LDEwICsxNjM4LDYgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnBhcmVudEZy
YW1lQ29udGVudExheWVycyhSZW5kZXJXaWRnZXQqIHJlbmRlcmVyKQogLy8gVGhpcyBqdXN0IHVw
ZGF0ZXMgbGF5ZXIgZ2VvbWV0cnkgd2l0aG91dCBjaGFuZ2luZyB0aGUgaGllcmFyY2h5Lgogdm9p
ZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUxheWVyVHJlZUdlb21ldHJ5KFJlbmRlckxh
eWVyJiBsYXllciwgaW50IGRlcHRoKQogewotICAgIC8vIEZJWE1FOiBmaXhlZCBwb3NpdGlvbmVk
IGVsZW1lbnRzIGluc2lkZSBhIG5hbWVkIGZsb3cgYXJlIG5vdCBjb21wb3NpdGVkIHlldC4KLSAg
ICBpZiAobGF5ZXIuaXNPdXRPZkZsb3dSZW5kZXJGbG93VGhyZWFkKCkpCi0gICAgICAgIHJldHVy
bjsKLQogICAgIGlmIChSZW5kZXJMYXllckJhY2tpbmcqIGxheWVyQmFja2luZyA9IGxheWVyLmJh
Y2tpbmcoKSkgewogICAgICAgICAvLyBUaGUgY29tcG9zaXRpbmcgc3RhdGUgb2YgYWxsIG91ciBj
aGlsZHJlbiBoYXMgYmVlbiB1cGRhdGVkIGFscmVhZHksIHNvIG5vdwogICAgICAgICAvLyB3ZSBj
YW4gY29tcHV0ZSBhbmQgY2FjaGUgdGhlIGNvbXBvc2l0ZWQgYm91bmRzIGZvciB0aGlzIGxheWVy
LgpAQCAtMjUwMSw3ICsyNTM3LDcgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVp
cmVzQ29tcG9zaXRpbmdGb3JQb3NpdGlvbihSZW5kZXJMYXllck1vZGVsT2JqZWMKIAogICAgIC8v
IERvbid0IHByb21vdGUgZml4ZWQgcG9zaXRpb24gZWxlbWVudHMgdGhhdCBhcmUgZGVzY2VuZGFu
dHMgb2YgYSBub24tdmlldyBjb250YWluZXIsIGUuZy4gdHJhbnNmb3JtZWQgZWxlbWVudHMuCiAg
ICAgLy8gVGhleSB3aWxsIHN0YXkgZml4ZWQgd3J0IHRoZSBjb250YWluZXIgcmF0aGVyIHRoYW4g
dGhlIGVuY2xvc2luZyBmcmFtZS4KLSAgICBpZiAoY29udGFpbmVyICE9ICZtX3JlbmRlclZpZXcp
IHsKKyAgICBpZiAoY29udGFpbmVyICE9ICZtX3JlbmRlclZpZXcgJiYgIXJlbmRlcmVyLmZpeGVk
UG9zaXRpb25lZFdpdGhOYW1lZEZsb3dDb250YWluaW5nQmxvY2soKSkgewogICAgICAgICBpZiAo
dmlld3BvcnRDb25zdHJhaW5lZE5vdENvbXBvc2l0ZWRSZWFzb24pCiAgICAgICAgICAgICAqdmll
d3BvcnRDb25zdHJhaW5lZE5vdENvbXBvc2l0ZWRSZWFzb24gPSBSZW5kZXJMYXllcjo6Tm90Q29t
cG9zaXRlZEZvck5vblZpZXdDb250YWluZXI7CiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAppbmRleCBk
OTg2MTVjLi4zMzU3YTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5oCkBAIC0zNDEsNyArMzQxLDkgQEAgcHJpdmF0ZToKICAgICB2b2lk
IGNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyhSZW5kZXJMYXllciogYW5jZXN0b3JMYXll
ciwgUmVuZGVyTGF5ZXImLCBPdmVybGFwTWFwKiwgc3RydWN0IENvbXBvc2l0aW5nU3RhdGUmLCBi
b29sJiBsYXllcnNDaGFuZ2VkLCBib29sJiBkZXNjZW5kYW50SGFzM0RUcmFuc2Zvcm0pOwogCiAg
ICAgdm9pZCBjb21wdXRlUmVnaW9uQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMoUmVuZGVyTmFtZWRG
bG93RnJhZ21lbnQqLCBPdmVybGFwTWFwKiwgQ29tcG9zaXRpbmdTdGF0ZSYsIGJvb2wmIGxheWVy
c0NoYW5nZWQsIGJvb2wmIGFueURlc2NlbmRhbnRIYXMzRFRyYW5zZm9ybSk7Ci0gICAgCisKKyAg
ICB2b2lkIGNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50c0Zvck5hbWVkRmxvd0ZpeGVkKFJl
bmRlckxheWVyJiwgT3ZlcmxhcE1hcCogb3ZlcmxhcE1hcCwgQ29tcG9zaXRpbmdTdGF0ZSYsIGJv
b2wmIGxheWVyc0NoYW5nZWQsIGJvb2wmIGFueURlc2NlbmRhbnRIYXMzRFRyYW5zZm9ybSk7CisK
ICAgICAvLyBSZWN1cnNlcyBkb3duIHRoZSB0cmVlLCBwYXJlbnRpbmcgZGVzY2VuZGFudCBjb21w
b3NpdGluZyBsYXllcnMgYW5kIGNvbGxlY3RpbmcgYW4gYXJyYXkgb2YgY2hpbGQgbGF5ZXJzIGZv
ciB0aGUgY3VycmVudCBjb21wb3NpdGluZyBsYXllci4KICAgICB2b2lkIHJlYnVpbGRDb21wb3Np
dGluZ0xheWVyVHJlZShSZW5kZXJMYXllciYsIFZlY3RvcjxHcmFwaGljc0xheWVyKj4mIGNoaWxk
R3JhcGhpY3NMYXllcnNPZkVuY2xvc2luZ0xheWVyLCBpbnQgZGVwdGgpOwogCkBAIC0zNDksNiAr
MzUxLDggQEAgcHJpdmF0ZToKICAgICAvLyBsYXllcnMgZm9yIHRoZSBjdXJyZW50IGNvbXBvc2l0
aW5nIGxheWVyIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGFub255bW91cyByZWdpb24gKHRoYXQgYmVs
b25ncyB0byB0aGUgcmVnaW9uJ3MgcGFyZW50KS4KICAgICB2b2lkIHJlYnVpbGRSZWdpb25Db21w
b3NpdGluZ0xheWVyVHJlZShSZW5kZXJOYW1lZEZsb3dGcmFnbWVudCosIFZlY3RvcjxHcmFwaGlj
c0xheWVyKj4mIGNoaWxkTGlzdCwgaW50IGRlcHRoKTsKIAorICAgIHZvaWQgcmVidWlsZENvbXBv
c2l0aW5nTGF5ZXJUcmVlRm9yTmFtZWRGbG93Rml4ZWQoUmVuZGVyTGF5ZXImLCBWZWN0b3I8R3Jh
cGhpY3NMYXllcio+JiBjaGlsZExpc3QsIGludCBkZXB0aCk7CisKICAgICAvLyBSZWN1cnNlcyBk
b3duIHRoZSB0cmVlLCB1cGRhdGluZyBsYXllciBnZW9tZXRyeSBvbmx5LgogICAgIHZvaWQgdXBk
YXRlTGF5ZXJUcmVlR2VvbWV0cnkoUmVuZGVyTGF5ZXImLCBpbnQgZGVwdGgpOwogICAgIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQuaApp
bmRleCBmNmNiYmE2Li44OTQxZjM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQuaApAQCAtNjYsOCArNjYsOCBAQCBwdWJsaWM6CiAg
ICAgLy8gcGFyZW50IHJlbmRlcmVyIGluc3RlYWQuCiAgICAgLy8gVGhpcyBtZXRob2QgcmV0dXJu
cyB0aGF0IHJlbmRlcmVyIGhvbGRpbmcgdGhlIGxheWVyLgogICAgIC8vIFRoZSByZXR1cm4gdmFs
dWUgbWF5IGJlIG51bGwuCi0gICAgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogbGF5ZXJPd25lcigp
IGNvbnN0IHsgcmV0dXJuIHBhcmVudCgpICYmIHBhcmVudCgpLT5pc1JlbmRlckxheWVyTW9kZWxP
YmplY3QoKSA/Ci0gICAgICAgIHRvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdChwYXJlbnQoKSkgOiBu
dWxscHRyOyB9CisgICAgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogbGF5ZXJPd25lcigpIGNvbnN0
IHsgcmV0dXJuIHBhcmVudCgpICYmIHBhcmVudCgpLT5pc1JlbmRlckxheWVyTW9kZWxPYmplY3Qo
KSA/IHRvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdChwYXJlbnQoKSkKKyAgICAgICAgOiBudWxscHRy
OyB9CiAKICAgICBib29sIGhhc0N1c3RvbVJlZ2lvblN0eWxlKCkgY29uc3QgeyByZXR1cm4gbV9o
YXNDdXN0b21SZWdpb25TdHlsZTsgfQogICAgIHZvaWQgc2V0SGFzQ3VzdG9tUmVnaW9uU3R5bGUo
Ym9vbCBoYXNDdXN0b21SZWdpb25TdHlsZSkgeyBtX2hhc0N1c3RvbVJlZ2lvblN0eWxlID0gaGFz
Q3VzdG9tUmVnaW9uU3R5bGU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJOYW1lZEZsb3dUaHJlYWQuaAppbmRleCBlYzRmODQyLi4yZDQ3YmQyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5oCkBAIC0xNTMsNCAr
MTUzLDMgQEAgUkVOREVSX09CSkVDVF9UWVBFX0NBU1RTKFJlbmRlck5hbWVkRmxvd1RocmVhZCwg
aXNSZW5kZXJOYW1lZEZsb3dUaHJlYWQoKSkKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIFJlbmRlck5hbWVkRmxvd1RocmVhZF9oCi0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221267</attachid>
            <date>2014-01-15 07:09:10 -0800</date>
            <delta_ts>2014-01-15 22:53:24 -0800</delta_ts>
            <desc>Patch 2</desc>
            <filename>125144-2.patch</filename>
            <type>text/plain</type>
            <size>54856</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0ZTg3NmYyLi5jMmUzMTFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDQgQEAKKzIwMTQtMDEt
MTUgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTUyBS
ZWdpb25zXSBFbmFibGUgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgZm9yIGZpeGVkIGVsZW1lbnRz
IGluIG5hbWVkIGZsb3dzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjUxNDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGRlZCBuZXcgdGVzdHMgYW5kIG1hZGUgdGhlIGV4aXN0aW5nIHRlc3RzIGZvciBm
aXhlZCBwb3NpdGlvbmVkIGVsZW1lbnRzIHVzZSB0aGUKKyAgICAgICAgbm9uLWNvbXBvc2l0aW5n
IG1vZGUuCisKKyAgICAgICAgKiBjb21wb3NpdGluZy9yZWdpb25zL2Ficy1pbi1uYW1lZC1mbG93
LWZyb20tZml4ZWQtaW4tbmFtZWQtZmxvdy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGNvbXBvc2l0aW5nL3JlZ2lvbnMvYWJzLWluLW5hbWVkLWZsb3ctZnJvbS1maXhlZC1pbi1uYW1l
ZC1mbG93Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQt
aW4tZGlmZi1uYW1lZC1mbG93cy16SW5kZXgtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAg
ICogY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1kaWZmLW5hbWVkLWZsb3dzLXpJbmRleC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVk
LWZsb3ctY2xpcC1kZXNjZW5kYW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY29t
cG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWNsaXAtZGVzY2VuZGFudC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZs
b3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9yZWdpb25zL2Zp
eGVkLWluLW5hbWVkLWZsb3ctZnJvbS1hYnMtaW4tbmFtZWQtZmxvdy1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1m
cm9tLWFicy1pbi1uYW1lZC1mbG93Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5n
L3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1mcm9tLW91dGZsb3ctZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ct
ZnJvbS1vdXRmbG93Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL3JlZ2lvbnMv
Zml4ZWQtaW4tbmFtZWQtZmxvdy1nb3QtdHJhbnNmb3JtZWQtcGFyZW50LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93
LWdvdC10cmFuc2Zvcm1lZC1wYXJlbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRp
bmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWxvc3QtdHJhbnNmb3JtZWQtcGFyZW50LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1p
bi1uYW1lZC1mbG93LWxvc3QtdHJhbnNmb3JtZWQtcGFyZW50Lmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIGNvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1vdmVybGFwLWNvbXBv
c2l0ZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9yZWdpb25z
L2ZpeGVkLWluLW5hbWVkLWZsb3ctb3ZlcmxhcC1jb21wb3NpdGVkLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGNvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1wb3NpdGlvbi1j
aGFuZ2VkLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL3JlZ2lv
bnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1wb3NpdGlvbi1jaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGNvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy10cmFuc2Zvcm1l
ZC1wYXJlbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9yZWdp
b25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctdHJhbnNmb3JtZWQtcGFyZW50Lmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGNvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy16SW5kZXgt
ZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvcmVnaW9ucy9maXhl
ZC1pbi1uYW1lZC1mbG93LXpJbmRleC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGlu
Zy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3cuaHRtbDogQWRkZWQuCisgICAgICAgICogY29t
cG9zaXRpbmcvcmVnaW9ucy9maXhlZC10cmFuc2Zvcm1lZC1pbi1uYW1lZC1mbG93LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC10cmFuc2Zv
cm1lZC1pbi1uYW1lZC1mbG93Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9y
ZXBhaW50L2VsZW1lbnQtaW4tbmFtZWQtZmxvdy1hYnNvbHV0ZS1mcm9tLWZpeGVkLmh0bWw6Cisg
ICAgICAgICogZmFzdC9yZWdpb25zL3JlcGFpbnQvZWxlbWVudC1pbi1uYW1lZC1mbG93LWZpeGVk
LWZyb20tYWJzb2x1dGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvcmVwYWludC9lbGVt
ZW50LWluZmxvdy1maXhlZC1mcm9tLW91dGZsb3ctc3RhdGljLmh0bWw6CisgICAgICAgICogZmFz
dC9yZWdpb25zL3JlcGFpbnQvZWxlbWVudC1vdXRmbG93LXN0YXRpYy1mcm9tLWluZmxvdy1maXhl
ZC5odG1sOgorCiAyMDE0LTAxLTE0ICBEaXJrIFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IFdlYmtpdENTU1NWR0RvY3VtZW50VmFsdWUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvYWJzLWluLW5hbWVkLWZs
b3ctZnJvbS1maXhlZC1pbi1uYW1lZC1mbG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL3JlZ2lvbnMvYWJzLWluLW5hbWVkLWZsb3ctZnJvbS1maXhlZC1pbi1uYW1lZC1m
bG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZTY2
YzZjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9h
YnMtaW4tbmFtZWQtZmxvdy1mcm9tLWZpeGVkLWluLW5hbWVkLWZsb3ctZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNyBAQAorVGVzdCB0aGF0IGEgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHRoYXQg
aXMgZHluYW1pY2FseSBjaGFuZ2VkIHRvIGFic29sdXRlIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUg
dG8gdGhlIGZpcnN0IHJlZ2lvbiBpbnN0ZWFkIG9mIHRoZSB2aWV3cG9ydC4KKworVGhlIGZpeGVk
IGVsZW1lbnQgc2hvdWxkIE5PVCBiZSBjb21wb3NpdGVkLgorCitPbiBzdWNjZXNzIHlvdSBzaG91
bGQgbm90IHNlZSByZWQgYmVsb3cuCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvcmVnaW9ucy9hYnMtaW4tbmFtZWQtZmxvdy1mcm9tLWZpeGVkLWluLW5hbWVkLWZsb3cu
aHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvYWJzLWluLW5hbWVkLWZsb3ct
ZnJvbS1maXhlZC1pbi1uYW1lZC1mbG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uMGFlNDVkZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL3JlZ2lvbnMvYWJzLWluLW5hbWVkLWZsb3ctZnJvbS1maXhlZC1pbi1uYW1lZC1mbG93Lmh0
bWwKQEAgLTAsMCArMSwzNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLnJlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9t
OiBmbG93OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTAwcHg7IGxlZnQ6IDEwMHB4OyB3aWR0
aDogMTUwcHg7IGhlaWdodDogMTUwcHg7IH0KKyAgICAgICAgICAgIC5hYnNvbHV0ZSB7IHBvc2l0
aW9uOiBhYnNvbHV0ZTsgfQorICAgICAgICAgICAgLmZpeGVkIHsgcG9zaXRpb246IGZpeGVkOyB9
CisgICAgICAgICAgICAjcmVkIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDE1MHB4OyBsZWZ0
OiAxNTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogcmVk
OyB9CisgICAgICAgICAgICAjYWJzRnJvbUZpeGVkIHsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7
IHRvcDogNTBweDsgbGVmdDogNTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFja2dy
b3VuZC1jb2xvcjogZ3JlZW47IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAgPHNjcmlwdD4K
KyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9z
aXRpb25FbmFibGVkKHRydWUpOworCisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICAgICAgICAg
IHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImFic0Zyb21GaXhlZCIpLmNsYXNzTmFtZSA9
ICJhYnNvbHV0ZSI7CisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAg
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllclRyZWUiKS5pbm5l
clRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CisgICAg
ICAgICAgICB9LCBmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8
Ym9keT4KKyAgICAgICAgPHA+VGVzdCB0aGF0IGEgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHRo
YXQgaXMgZHluYW1pY2FseSBjaGFuZ2VkIHRvIGFic29sdXRlIGlzIHBvc2l0aW9uZWQgcmVsYXRp
dmUgdG8gdGhlIGZpcnN0IHJlZ2lvbiBpbnN0ZWFkIG9mIHRoZSB2aWV3cG9ydC48L3A+CisgICAg
ICAgIDxwPlRoZSBmaXhlZCBlbGVtZW50IHNob3VsZCBOT1QgYmUgY29tcG9zaXRlZC48L3A+Cisg
ICAgICAgIDxwPk9uIHN1Y2Nlc3MgeW91IHNob3VsZCBub3Qgc2VlIHJlZCBiZWxvdy48L3A+Cisg
ICAgICAgIDxkaXYgaWQ9InJlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImFic0Zyb21GaXhlZCIgY2xhc3M9ImZpeGVkIj48L2Rp
dj4KKyAgICAgICAgPHByZSBpZD0ibGF5ZXJUcmVlIj48L3ByZT4KKyAgICA8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWlu
LWRpZmYtbmFtZWQtZmxvd3MtekluZGV4LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLWRpZmYtbmFtZWQtZmxvd3MtekluZGV4LWV4cGVjdGVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmY0ZWEwOQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tZGlm
Zi1uYW1lZC1mbG93cy16SW5kZXgtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDI0IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAg
ICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVu
YWJsZWQodHJ1ZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAg
ICAgICAjZml4ZWQxIHsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB0b3A6IDEwMHB4OyBs
ZWZ0OiAxMDBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IHBvc2l0aW9uOiBmaXhlZDsgei1p
bmRleDogMTA7IH0KKworICAgICAgICAgICAgI2ZpeGVkMiB7IHdpZHRoOiAxMDBweDsgaGVpZ2h0
OiAxMDBweDsgdG9wOiAxNTBweDsgbGVmdDogMTUwcHg7IGJhY2tncm91bmQtY29sb3I6IG9yYW5n
ZTsgcG9zaXRpb246IGZpeGVkOyB6LWluZGV4OiAxOyB9CisKKyAgICAgICAgICAgICNmaXhlZDMg
eyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IHRvcDogMTc1cHg7IGxlZnQ6IDE3NXB4OyBi
YWNrZ3JvdW5kLWNvbG9yOiBibHVlOyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDU7IH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3Qg
Zm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUx
NDQiPldlYktpdCBCdWcgMTI1MTQ0PC9hPiBbQ1NTIFJlZ2lvbnNdIEVuYWJsZSBhY2NlbGVyYXRl
ZCBjb21wb3NpdGluZyBmb3IgZml4ZWQgZWxlbWVudHMgaW4gbmFtZWQgZmxvd3M8L3A+CisgICAg
ICAgIDxwPlRlc3QgdGhhdCBwYWludGluZyB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50cyBj
b2xsZWN0ZWQgaW4gZGlmZmVyZW50IG5hbWVkIGZsb3dzIHRha2VzIHpJbmRleCBpbnRvIGFjY291
bnQuPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSAzIHJlY3Rhbmds
ZXMgcGFpbnRlZCBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOiBncmVlbiwgYmx1ZSwgb3JhbmdlLjwv
cD4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQxIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4
ZWQyIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQzIj48L2Rpdj4KKyAgICA8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2Zp
eGVkLWluLWRpZmYtbmFtZWQtZmxvd3MtekluZGV4Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9yZWdpb25zL2ZpeGVkLWluLWRpZmYtbmFtZWQtZmxvd3MtekluZGV4Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTZjOTE1ZAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tZGlmZi1uYW1lZC1mbG93
cy16SW5kZXguaHRtbApAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
ICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQodHJ1ZSk7CisgICAgICAg
IDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjZml4ZWQxIHsgLXdlYmtp
dC1mbG93LWludG86IGZsb3c7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxMDBw
eDsgbGVmdDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyBwb3NpdGlvbjogZml4ZWQ7
IHotaW5kZXg6IDEwOyB9CisKKyAgICAgICAgICAgICNmaXhlZDIgeyAtd2Via2l0LWZsb3ctaW50
bzogZmxvdzI7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxNTBweDsgbGVmdDog
MTUwcHg7IGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTsgcG9zaXRpb246IGZpeGVkOyB6LWluZGV4
OiAxOyB9CisKKyAgICAgICAgICAgICNmaXhlZDMgeyAtd2Via2l0LWZsb3ctaW50bzogZmxvdzI7
IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxNzVweDsgbGVmdDogMTc1cHg7IGJh
Y2tncm91bmQtY29sb3I6IGJsdWU7IHBvc2l0aW9uOiBmaXhlZDsgei1pbmRleDogNTsgfQorCisg
ICAgICAgICAgICAvKiBXZSBuZWVkIGEgcmVnaW9uIGZvciBlYWNoIGZsb3cgYmVjYXVzZSBvdGhl
cndpc2UgdGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudHMgYXJlIG5vdCBkaXNwbGF5ZWQgKi8K
KyAgICAgICAgICAgICNyZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgfQorICAgICAg
ICAgICAgI3JlZ2lvbjIgeyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzI7IH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgZm9yIDxhIGhy
ZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUxNDQiPldlYktp
dCBCdWcgMTI1MTQ0PC9hPiBbQ1NTIFJlZ2lvbnNdIEVuYWJsZSBhY2NlbGVyYXRlZCBjb21wb3Np
dGluZyBmb3IgZml4ZWQgZWxlbWVudHMgaW4gbmFtZWQgZmxvd3M8L3A+CisgICAgICAgIDxwPlRl
c3QgdGhhdCBwYWludGluZyB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50cyBjb2xsZWN0ZWQg
aW4gZGlmZmVyZW50IG5hbWVkIGZsb3dzIHRha2VzIHpJbmRleCBpbnRvIGFjY291bnQuPC9wPgor
ICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSAzIHJlY3RhbmdsZXMgcGFpbnRl
ZCBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOiBncmVlbiwgYmx1ZSwgb3JhbmdlLjwvcD4KKyAgICAg
ICAgPGRpdiBpZD0iZml4ZWQxIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQyIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQzIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVn
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uMiI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9m
aXhlZC1pbi1uYW1lZC1mbG93LWNsaXAtZGVzY2VuZGFudC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctY2xpcC1kZXNjZW5k
YW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODcw
MGIzMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMv
Zml4ZWQtaW4tbmFtZWQtZmxvdy1jbGlwLWRlc2NlbmRhbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzMgQEAKK1Rlc3QgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgY29sbGVjdGVkIGluIGEg
bmFtZWQgZmxvdyBjb3JyZWN0bHkgY2xpcHMgaXRzIGFuY2VzdG9yLgorCitPbiBzdWNjZXNzLCB5
b3Ugc2hvdWxkIHNlZSBhIGdyZWVuIHJlY3RhbmdsZSB3aXRoIGFuIG9yYW5nZSByZWN0YW5nbGUg
aW4gdGhlIGJvdHRvbSByaWdodCBjb3JuZXIuCisKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMg
ODAwLjAwIDYwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAg
KGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAo
Y2hpbGRyZW4gMQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiAx
NTAuMDAgMTUwLjAwKQorICAgICAgICAgIChib3VuZHMgMTAwLjAwIDEwMC4wMCkKKyAgICAgICAg
ICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAg
KEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKGJvdW5kcyAxMDAuMDAgMTAwLjAwKQorICAg
ICAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisg
ICAgICAgICAgICAgICAgICAocG9zaXRpb24gNTAuMDAgNTAuMDApCisgICAgICAgICAgICAgICAg
ICAoYm91bmRzIDEwMC4wMCAxMDAuMDApCisgICAgICAgICAgICAgICAgICAoY29udGVudHNPcGFx
dWUgMSkKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICkK
KyAgICAgICAgICApCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93
LWNsaXAtZGVzY2VuZGFudC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9m
aXhlZC1pbi1uYW1lZC1mbG93LWNsaXAtZGVzY2VuZGFudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjM2N2RlMTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctY2xpcC1kZXNjZW5kYW50
Lmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxvdy1m
cm9tOiBmbG93OyB9CisgICAgICAgICAgICAjZml4ZWQgeyAtd2Via2l0LWZsb3ctaW50bzogZmxv
dzsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgd2lkdGg6IDEwMHB4
OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgb3ZlcmZsb3c6IGhpZGRl
bjsgfQorICAgICAgICAgICAgI2Rlc2NlbmRhbnQgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDog
NTBweDsgbGVmdDogNTBweDsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3JvdW5k
LWNvbG9yOiBvcmFuZ2U7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93
LmludGVybmFscykKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCh0cnVlKTsKKwor
ICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOworCisgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQorICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGF5ZXJU
cmVlIikuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1l
bnQpOworICAgICAgICAgICAgfSwgZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hl
YWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1l
bnQgY29sbGVjdGVkIGluIGEgbmFtZWQgZmxvdyBjb3JyZWN0bHkgY2xpcHMgaXRzIGFuY2VzdG9y
LjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2VzcywgeW91IHNob3VsZCBzZWUgYSBncmVlbiByZWN0
YW5nbGUgd2l0aCBhbiBvcmFuZ2UgcmVjdGFuZ2xlIGluIHRoZSBib3R0b20gcmlnaHQgY29ybmVy
LjwvcD4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQiPgorICAgICAgICAgICAgPGRpdiBpZD0iZGVz
Y2VuZGFudCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8IS0tIE5lZWQgdG8ganVz
dCBkaXNwbGF5IHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgLS0+CisgICAgICAgIDxkaXYg
aWQ9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxwcmUgaWQ9ImxheWVyVHJlZSI+PC9wcmU+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
cmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWY0MTFmMgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorVGhpcyB0ZXN0IGNvbGxlY3RzIGEgZml4ZWQgcG9z
aXRpb24gZWxlbWVudCBpbnNpZGUgYSBuYW1lZCBmbG93IGFuZCBmbG93cyBpdCBpbnRvIGEgcmVn
aW9uLgorCitUaGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHNob3VsZCBiZSBwb3NpdGlvbmVk
IHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydCBhbmQgaXQgc2hvdWxkIGJlIGNvbXBvc2l0ZWQuCisK
K09uIHN1Y2Nlc3MgeW91IHNob3VsZCBub3Qgc2VlIHJlZCBiZWxvdy4KKworKEdyYXBoaWNzTGF5
ZXIKKyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGlj
c0xheWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY29udGVudHNPcGFx
dWUgMSkKKyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAg
ICAgKHBvc2l0aW9uIDE1MC4wMCAxNTAuMDApCisgICAgICAgICAgKGJvdW5kcyAxMDAuMDAgMTAw
LjAwKQorICAgICAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgICApCisgICAgICApCisg
ICAgKQorICApCispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lv
bnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1mcm9tLWFicy1pbi1uYW1lZC1mbG93LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1m
cm9tLWFicy1pbi1uYW1lZC1mbG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi4yN2QwNjFkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWZyb20tYWJzLWluLW5hbWVkLWZs
b3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjMgQEAKK1Rlc3QgdGhhdCBhbiBhYnNvbHV0ZWx5
IHBvc2l0aW9uZWQgZWxlbWVudCB0aGF0IGlzIGR5bmFtaWNhbHkgY2hhbmdlZCB0byBmaXhlZCBp
cyBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydCBpbnN0ZWFkIG9mIGZpcnN0IHJl
Z2lvbi4KKworVGhlIGZpeGVkIGVsZW1lbnQgc2hvdWxkIGJlIGNvbXBvc2l0ZWQuCisKK09uIHN1
Y2Nlc3MgeW91IHNob3VsZCBub3Qgc2VlIHJlZCBiZWxvdy4KKworKEdyYXBoaWNzTGF5ZXIKKyAg
KGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGljc0xheWVy
CisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY29udGVudHNPcGFxdWUgMSkK
KyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgKHBv
c2l0aW9uIDE1MC4wMCAxNTAuMDApCisgICAgICAgICAgKGJvdW5kcyA1MC4wMCA1MC4wMCkKKyAg
ICAgICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAg
KQorKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVk
LWluLW5hbWVkLWZsb3ctZnJvbS1hYnMtaW4tbmFtZWQtZmxvdy5odG1sIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWZyb20tYWJzLWluLW5hbWVk
LWZsb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODRiNzViCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1p
bi1uYW1lZC1mbG93LWZyb20tYWJzLWluLW5hbWVkLWZsb3cuaHRtbApAQCAtMCwwICsxLDM1IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICAucmVnaW9uIHsgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7IH0KKyAgICAgICAg
ICAgIC5hYnNvbHV0ZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgfQorICAgICAgICAgICAgLmZpeGVk
IHsgcG9zaXRpb246IGZpeGVkOyB9CisgICAgICAgICAgICAjcmVkIHsgcG9zaXRpb246IGFic29s
dXRlOyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsg
YmFja2dyb3VuZC1jb2xvcjogcmVkOyB9CisgICAgICAgICAgICAjZml4ZWRGcm9tQWJzIHsgLXdl
YmtpdC1mbG93LWludG86IGZsb3c7IHRvcDogMTUwcHg7IGxlZnQ6IDE1MHB4OyB3aWR0aDogNTBw
eDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfQorICAgICAgICA8L3N0
eWxlPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMp
CisgICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQodHJ1ZSk7CisKKyAgICAgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKKworICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBm
dW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZml4
ZWRGcm9tQWJzIikuY2xhc3NOYW1lID0gImZpeGVkIjsKKyAgICAgICAgICAgICAgICBpZiAod2lu
ZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImxheWVyVHJlZSIpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNU
ZXh0KGRvY3VtZW50KTsKKyAgICAgICAgICAgIH0sIGZhbHNlKTsKKyAgICAgICAgPC9zY3JpcHQ+
CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD5UZXN0IHRoYXQgYW4gYWJzb2x1
dGVseSBwb3NpdGlvbmVkIGVsZW1lbnQgdGhhdCBpcyBkeW5hbWljYWx5IGNoYW5nZWQgdG8gZml4
ZWQgaXMgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgdmlld3BvcnQgaW5zdGVhZCBvZiBmaXJz
dCByZWdpb24uPC9wPgorICAgICAgICA8cD5UaGUgZml4ZWQgZWxlbWVudCBzaG91bGQgYmUgY29t
cG9zaXRlZC48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MgeW91IHNob3VsZCBub3Qgc2VlIHJl
ZCBiZWxvdy48L3A+CisgICAgICAgIDwhLS0gVGhlIHJlZ2lvbiBpcyBuZWNlc3NhcnkgaW4gb3Jk
ZXIgdG8gc2hvdyB0aGUgZml4ZWQgZWxlbWVudCAtLT4KKyAgICAgICAgPGRpdiBjbGFzcz0icmVn
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVkIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iZml4ZWRGcm9tQWJzIiBjbGFzcz0iYWJzb2x1dGUiPjwvZGl2PgorICAgICAgICA8cHJlIGlk
PSJsYXllclRyZWUiPjwvcHJlPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1mcm9tLW91
dGZsb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhl
ZC1pbi1uYW1lZC1mbG93LWZyb20tb3V0Zmxvdy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uNWZiMDkzMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1mcm9tLW91dGZsb3ct
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjEgQEAKK1Rlc3QgdGhhdCBhIGZpeGVkIHBvc2l0aW9u
ZWQgZWxlbWVudCB0aGF0IGlzIGRpbmFtaWNhbGx5IGNvbGxlY3RlZCBpbnRvIGEgbmFtZWQgZmxv
dyBpcyBzdGlsbCBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHZpZXdwb3J0IGFuZCBjb21wb3NpdGVk
LgorCitPbiBzdWNjZXNzIHlvdSBzaG91bGQgbm90IHNlZSByZWQgYmVsb3cuCisKKyhHcmFwaGlj
c0xheWVyCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3Jh
cGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAgKGNvbnRlbnRz
T3BhcXVlIDEpCisgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAg
ICAgICAgIChwb3NpdGlvbiAxMDAuMDAgMTAwLjAwKQorICAgICAgICAgIChib3VuZHMgNTAuMDAg
NTAuMDApCisgICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAgICkKKyAgICAgICkK
KyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVn
aW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWZyb20tb3V0Zmxvdy5odG1sIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWZyb20tb3V0Zmxvdy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1YTE0ZDMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZs
b3ctZnJvbS1vdXRmbG93Lmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLmNvbGxlY3Rl
ZEluTmFtZWRGbG93IHsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7IH0KKyAgICAgICAgICAgIC5y
ZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgfQorICAgICAgICAgICAgI3JlZCB7IHBv
c2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMDBweDsgbGVmdDogMTAwcHg7IHdpZHRoOiA1MHB4OyBo
ZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQorICAgICAgICAgICAgI2ZpeGVk
IHsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDEwMHB4OyBsZWZ0OiAxMDBweDsgd2lkdGg6IDUwcHg7
IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IH0KKyAgICAgICAgPC9zdHls
ZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQor
ICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKHRydWUpOworCisgICAgICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNU
ZXh0KCk7CisKKyAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpeGVk
IikuY2xhc3NOYW1lID0gImNvbGxlY3RlZEluTmFtZWRGbG93IjsKKyAgICAgICAgICAgICAgICBp
ZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImxheWVyVHJlZSIpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJU
cmVlQXNUZXh0KGRvY3VtZW50KTsKKyAgICAgICAgICAgIH0sIGZhbHNlKTsKKyAgICAgICAgPC9z
Y3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD5UZXN0IHRoYXQgYSBm
aXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgdGhhdCBpcyBkaW5hbWljYWxseSBjb2xsZWN0ZWQgaW50
byBhIG5hbWVkIGZsb3cgaXMgc3RpbGwgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB2aWV3cG9ydCBh
bmQgY29tcG9zaXRlZC48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MgeW91IHNob3VsZCBub3Qg
c2VlIHJlZCBiZWxvdy48L3A+CisgICAgICAgIDwhLS0gVGhlIHJlZ2lvbiBpcyBuZWNlc3Nhcnkg
aW4gb3JkZXIgdG8gc2hvdyB0aGUgZml4ZWQgZWxlbWVudCAtLT4KKyAgICAgICAgPGRpdiBjbGFz
cz0icmVnaW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVkIj48L2Rpdj4KKyAgICAgICAg
PGRpdiBpZD0iZml4ZWQiPjwvZGl2PgorICAgICAgICA8cHJlIGlkPSJsYXllclRyZWUiPjwvcHJl
PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1nb3QtdHJhbnNmb3JtZWQtcGFyZW50LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFt
ZWQtZmxvdy1nb3QtdHJhbnNmb3JtZWQtcGFyZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzQxMmQyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWdvdC10cmFuc2Zv
cm1lZC1wYXJlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjggQEAKK1Rlc3QgdGhhdCBhIGZp
eGVkIHBvc2l0aW9uZWQgZWxlbWVudCBpbiBhIG5hbWVkIGZsb3cgd2hvc2UgcGFyZW50IGlzIGR5
bmFtaWNhbGx5IHRyYW5zZm9ybWVkIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIHBhcmVu
dCBpbnN0ZWFkIG9mIHZpZXdwb3J0LgorCitUaGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHNo
b3VsZCBOT1QgYmUgY29tcG9zaXRlZC4KKworT24gc3VjY2VzcyB5b3Ugc2hvdWxkIG5vdCBzZWUg
cmVkIGJlbG93LgorCisoR3JhcGhpY3NMYXllcgorICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisg
IChjaGlsZHJlbiAxCisgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgIChib3VuZHMgODAwLjAwIDYw
MC4wMCkKKyAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgKGNoaWxkcmVuIDEKKyAgICAg
ICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAg
KGNoaWxkcmVuIDEKKyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAgIChw
b3NpdGlvbiAxMDAuMDAgMTAwLjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDE1MC4wMCAxNTAu
MDApCisgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICkKKyAgICAg
ICAgICApCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWdvdC10
cmFuc2Zvcm1lZC1wYXJlbnQuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMv
Zml4ZWQtaW4tbmFtZWQtZmxvdy1nb3QtdHJhbnNmb3JtZWQtcGFyZW50Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTEzNzc1MAotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1nb3QtdHJh
bnNmb3JtZWQtcGFyZW50Lmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLnRyYW5zZm9y
bWVkUGFyZW50IHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0KKworICAg
ICAgICAgICAgI3JlZCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxNTBweDsgbGVmdDogMTUw
cHg7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQor
ICAgICAgICAgICAgI3BhcmVudCB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyBwb3NpdGlvbjog
YWJzb2x1dGU7IHRvcDogMTAwcHg7IGxlZnQ6IDEwMHB4OyB3aWR0aDogMTUwcHg7IGhlaWdodDog
MTUwcHg7IH0KKyAgICAgICAgICAgICNmaXhlZCB7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiA1MHB4
OyBsZWZ0OiA1MHB4OyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9y
OiBncmVlbjsgfQorICAgICAgICAgICAgLyogVGhlIHJlZ2lvbiBpcyByZXF1aXJlcyBiZWNhdXNl
IG90aGVyd2lzZSB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IGlzIG5vdCBkaXNwbGF5ZWQg
Ki8KKyAgICAgICAgICAgICNyZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgcG9zaXRp
b246IGFic29sdXRlOyB0b3A6IDBweDsgbGVmdDogMHB4OyB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAg
ICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCh0cnVlKTsKKworICAgICAgICAgICAgaWYgKHdp
bmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgp
OworCisgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9u
KCkgeworICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXJlbnQiKS5j
bGFzc05hbWUgPSAidHJhbnNmb3JtZWRQYXJlbnQiOworICAgICAgICAgICAgICAgIGlmICh3aW5k
b3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgibGF5ZXJUcmVlIikuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1Rl
eHQoZG9jdW1lbnQpOworICAgICAgICAgICAgfSwgZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4K
KyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgdGhhdCBhIGZpeGVkIHBv
c2l0aW9uZWQgZWxlbWVudCBpbiBhIG5hbWVkIGZsb3cgd2hvc2UgcGFyZW50IGlzIGR5bmFtaWNh
bGx5IHRyYW5zZm9ybWVkIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIHBhcmVudCBpbnN0
ZWFkIG9mIHZpZXdwb3J0LjwvcD4KKyAgICAgICAgPHA+VGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxl
bWVudCBzaG91bGQgTk9UIGJlIGNvbXBvc2l0ZWQuPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNz
IHlvdSBzaG91bGQgbm90IHNlZSByZWQgYmVsb3cuPC9wPgorICAgICAgICA8ZGl2IGlkPSJyZWQi
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJwYXJlbnQiPgorICAgICAgICAgICAgPGRpdiBpZD0i
Zml4ZWQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uIj48
L2Rpdj4KKyAgICAgICAgPHByZSBpZD0ibGF5ZXJUcmVlIj48L3ByZT4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVk
LWluLW5hbWVkLWZsb3ctbG9zdC10cmFuc2Zvcm1lZC1wYXJlbnQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWxvc3QtdHJh
bnNmb3JtZWQtcGFyZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi5lMGFjYWFmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWxvc3QtdHJhbnNmb3JtZWQtcGFyZW50LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDIzIEBACitUZXN0IHRoYXQgYSBmaXhlZCBwb3NpdGlvbmVk
IGVsZW1lbnQgaW4gYSBuYW1lZCBmbG93IHdob3NlIHBhcmVudCBkeW5hbWljYWxseSBsb3NlcyBp
dHMgdHJhbnNmb3JtZWQgc3R5bGUgaXMgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgdmlld3Bv
cnQgaW5zdGVhZCBvZiBwYXJlbnQuCisKK1RoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgc2hv
dWxkIE5PVCBiZSBjb21wb3NpdGVkLgorCitPbiBzdWNjZXNzIHlvdSBzaG91bGQgbm90IHNlZSBy
ZWQgYmVsb3cuCisKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAg
KGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAgNjAw
LjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAoY2hpbGRyZW4gMQorICAgICAg
ICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiAxNTAuMDAgMTUwLjAwKQorICAg
ICAgICAgIChib3VuZHMgNTAuMDAgNTAuMDApCisgICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEp
CisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWxvc3QtdHJhbnNm
b3JtZWQtcGFyZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVk
LWluLW5hbWVkLWZsb3ctbG9zdC10cmFuc2Zvcm1lZC1wYXJlbnQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOWNhMzc4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWxvc3QtdHJhbnNm
b3JtZWQtcGFyZW50Lmh0bWwKQEAgLTAsMCArMSwzOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLnRyYW5zZm9ybWVk
UGFyZW50IHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0KKworICAgICAg
ICAgICAgI3JlZCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxNTBweDsgbGVmdDogMTUwcHg7
IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQorICAg
ICAgICAgICAgI3BhcmVudCB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyBwb3NpdGlvbjogYWJz
b2x1dGU7IHRvcDogMTAwcHg7IGxlZnQ6IDEwMHB4OyB3aWR0aDogMTUwcHg7IGhlaWdodDogMTUw
cHg7IH0KKyAgICAgICAgICAgICNmaXhlZCB7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiAxNTBweDsg
bGVmdDogMTUwcHg7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6
IGdyZWVuOyB9CisgICAgICAgICAgICAvKiBUaGUgcmVnaW9uIGlzIHJlcXVpcmVzIGJlY2F1c2Ug
b3RoZXJ3aXNlIHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgaXMgbm90IGRpc3BsYXllZCAq
LworICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OyBwb3NpdGlv
bjogYWJzb2x1dGU7IHRvcDogMHB4OyBsZWZ0OiAwcHg7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAg
ICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAg
ICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKHRydWUpOworCisgICAgICAgICAgICBpZiAod2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CisKKyAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24o
KSB7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhcmVudCIpLmNs
YXNzTmFtZSA9ICIiOworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAg
ICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGF5ZXJUcmVlIikuaW5u
ZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOworICAg
ICAgICAgICAgfSwgZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxwPlRlc3QgdGhhdCBhIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCBp
biBhIG5hbWVkIGZsb3cgd2hvc2UgcGFyZW50IGR5bmFtaWNhbGx5IGxvc2VzIGl0cyB0cmFuc2Zv
cm1lZCBzdHlsZSBpcyBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydCBpbnN0ZWFk
IG9mIHBhcmVudC48L3A+CisgICAgICAgIDxwPlRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQg
c2hvdWxkIE5PVCBiZSBjb21wb3NpdGVkLjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2VzcyB5b3Ug
c2hvdWxkIG5vdCBzZWUgcmVkIGJlbG93LjwvcD4KKyAgICAgICAgPGRpdiBpZD0icmVkIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0icGFyZW50IiBjbGFzcz0idHJhbnNmb3JtZWRQYXJlbnQiPgor
ICAgICAgICAgICAgPGRpdiBpZD0iZml4ZWQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0icmVnaW9uIj48L2Rpdj4KKyAgICAgICAgPHByZSBpZD0ibGF5ZXJUcmVlIj48
L3ByZT4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctb3ZlcmxhcC1jb21wb3NpdGVkLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFt
ZWQtZmxvdy1vdmVybGFwLWNvbXBvc2l0ZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmUwNGM5ZmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctb3ZlcmxhcC1jb21wb3Np
dGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI2IEBACitUZXN0IHRoYXQgYSBmaXhlZCBwb3Np
dGlvbmVkIGVsZW1lbnQgaW4gYSBuYW1lZCBmbG93IHRoYXQgb3ZlcmxhcHMgYSBjb21wb3NpdGVk
IGVsZW1lbnQgaXMgY29tcG9zaXRlZCB0b28uCisKK09uIHN1Y2Nlc3MgeW91IHNob3VsZCBzZWUg
YSBncmVlbiByZWN0YW5nbGUgb3ZlciBhbiBvcmFuZ2UgcmVjdGFuZ2xlLgorCisoR3JhcGhpY3NM
YXllcgorICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgIChjaGlsZHJlbiAxCisgICAgKEdyYXBo
aWNzTGF5ZXIKKyAgICAgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgICAgIChjb250ZW50c09w
YXF1ZSAxKQorICAgICAgKGNoaWxkcmVuIDIKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAg
ICAgICAocG9zaXRpb24gMTUwLjAwIDE1MC4wMCkKKyAgICAgICAgICAoYm91bmRzIDEwMC4wMCAx
MDAuMDApCisgICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAgICkKKyAgICAgICAg
KEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAocG9zaXRpb24gMjAwLjAwIDIwMC4wMCkKKyAgICAg
ICAgICAoYm91bmRzIDEwMC4wMCAxMDAuMDApCisgICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEp
CisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LW92ZXJsYXAtY29t
cG9zaXRlZC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1u
YW1lZC1mbG93LW92ZXJsYXAtY29tcG9zaXRlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjMzZGUyMmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctb3ZlcmxhcC1jb21wb3NpdGVkLmh0
bWwKQEAgLTAsMCArMSwyOSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4K
KyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgLnRyYW5zZm9ybWVkIHsgLXdlYmtpdC10cmFu
c2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0KKyAgICAgICAgICAgICNvcmFuZ2UgeyBwb3NpdGlv
bjogYWJzb2x1dGU7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxNTBweDsgbGVm
dDogMTUwcHg7IGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTsgfQorICAgICAgICAgICAgI2ZpeGVk
IHsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7IHBvc2l0aW9uOiBmaXhlZDsgd2lkdGg6IDEwMHB4
OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgdG9wOiAyMDBweDsgbGVm
dDogMjAwcHg7IH0KKyAgICAgICAgICAgIC8qIFRoZSByZWdpb24gaXMgcmVxdWlyZXMgYmVjYXVz
ZSBvdGhlcndpc2UgdGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCBpcyBub3QgZGlzcGxheWVk
ICovCisgICAgICAgICAgICAjcmVnaW9uIHsgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7IH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKwor
ICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxheWVyVHJlZSIpLmlubmVyVGV4dCA9IHdpbmRv
dy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKKyAgICAgICAgICAgICAgICAg
IH0sIGZhbHNlKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5Pgor
ICAgICAgICA8cD5UZXN0IHRoYXQgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgaW4gYSBuYW1l
ZCBmbG93IHRoYXQgb3ZlcmxhcHMgYSBjb21wb3NpdGVkIGVsZW1lbnQgaXMgY29tcG9zaXRlZCB0
b28uPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzIHlvdSBzaG91bGQgc2VlIGEgZ3JlZW4gcmVj
dGFuZ2xlIG92ZXIgYW4gb3JhbmdlIHJlY3RhbmdsZS48L3A+CisgICAgICAgIDxkaXYgaWQ9Im9y
YW5nZSIgY2xhc3M9InRyYW5zZm9ybWVkIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQi
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24iPjwvZGl2PgorICAgICAgICA8cHJlIGlk
PSJsYXllclRyZWUiPjwvcHJlPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1wb3NpdGlv
bi1jaGFuZ2VkLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25z
L2ZpeGVkLWluLW5hbWVkLWZsb3ctcG9zaXRpb24tY2hhbmdlZC1leHBlY3RlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzNWRkYWUKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctcG9z
aXRpb24tY2hhbmdlZC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTkgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBp
ZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCh0
cnVlKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICNm
aXhlZCB7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiAxNTBweDsgbGVmdDogMTUwcHg7IGJhY2tncm91
bmQtY29sb3I6IGdyZWVuOyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDwhLS0gRml4ZWQgcG9z
aXRpb25lZCBlbGVtZW50IGluc2lkZSBhIG5hbWVkIGZsb3csIGR5bmFtaWNhbGx5IGNoYW5nZWQg
dG9wL2xlZnQgLS0+CisgICAgICAgIDxwPlRlc3QgdGhhdCBhIGZpeGVkIHBvc2l0aW9uZWQgZWxl
bWVudCB3aG9zZSBwb3NpdGlvbiBpcyBkeW5hbWljYWxseSBjaGFuZ2VkCisgICAgICAgICAgICBp
cyBjb3JyZWN0bHkgcGFpbnRlZCBpbiB0aGUgbmV3IHBvc2l0aW9uLjwvcD4KKyAgICAgICAgPHA+
T24gc3VjY2VzcyB5b3Ugc2hvdWxkIHNlZSBhIGdyZWVuIHJlY3RhbmdsZSBhbmQgbm8gcmVkLjwv
cD4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFt
ZWQtZmxvdy1wb3NpdGlvbi1jaGFuZ2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9y
ZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctcG9zaXRpb24tY2hhbmdlZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwZGU3MGMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctcG9zaXRp
b24tY2hhbmdlZC5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICNmaXhlZCB7IC13ZWJr
aXQtZmxvdy1pbnRvOiBmbG93OyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogNTBweDsgbGVmdDogNTBw
eDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsg
fQorICAgICAgICAgICAgI3JlZCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxNTBweDsgbGVm
dDogMTUwcHg7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgYmFja2dyb3VuZC1jb2xvcjog
cmVkOyB9CisgICAgICAgICAgICAvKiBXZSBuZWVkIGEgcmVnaW9uIG90aGVyd2lzZSB0aGUgZml4
ZWQgcG9zaXRpb25lZCBlbGVtZW50IGlzIG5vdCBkaXNwbGF5ZWQgKi8KKyAgICAgICAgICAgICNy
ZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgfQorICAgICAgICA8L3N0eWxlPgorICAg
ICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAg
ICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0
aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQodHJ1ZSk7CisKKyAgICAgICAgICAgIHdpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpeGVkIikuc3R5bGUudG9wID0gIjE1MHB4IjsKKyAgICAg
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZml4ZWQiKS5zdHlsZS5sZWZ0ID0g
IjE1MHB4IjsKKyAgICAgICAgICAgIH0sIGZhbHNlKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAg
PC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8IS0tIEZpeGVkIHBvc2l0aW9uZWQgZWxlbWVu
dCBpbnNpZGUgYSBuYW1lZCBmbG93LCBkeW5hbWljYWxseSBjaGFuZ2VkIHRvcC9sZWZ0IC0tPgor
ICAgICAgICA8cD5UZXN0IHRoYXQgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgd2hvc2UgcG9z
aXRpb24gaXMgZHluYW1pY2FsbHkgY2hhbmdlZAorICAgICAgICAgICAgaXMgY29ycmVjdGx5IHBh
aW50ZWQgaW4gdGhlIG5ldyBwb3NpdGlvbi48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MgeW91
IHNob3VsZCBzZWUgYSBncmVlbiByZWN0YW5nbGUgYW5kIG5vIHJlZC48L3A+CisgICAgICAgIDxk
aXYgaWQ9InJlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImZpeGVkIj48L2Rpdj4KKyAgICAg
ICAgPGRpdiBpZD0icmVnaW9uIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ct
dHJhbnNmb3JtZWQtcGFyZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy10cmFuc2Zvcm1lZC1wYXJlbnQtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3ZTlhMDkKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVk
LWZsb3ctdHJhbnNmb3JtZWQtcGFyZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI2IEBACitU
ZXN0IHRoYXQgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgd2l0aCBhIHRyYW5zZm9ybWVkIHBh
cmVudCBpcyBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSB0cmFuc2Zvcm1lZCBwYXJlbnQgYW5k
IGlzIG5vdCBjb21wb3NpdGVkLgorCitPbiBzdWNjZXNzIHlvdSBzaG91bGQgbm90IHNlZSByZWQg
YmVsb3cuCisKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgKGNo
aWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAw
KQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAo
R3JhcGhpY3NMYXllcgorICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAoY2hp
bGRyZW4gMQorICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKHBvc2l0
aW9uIDEwMC4wMCAxMDAuMDApCisgICAgICAgICAgICAgIChib3VuZHMgMTUwLjAwIDE1MC4wMCkK
KyAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgKQorICAgICAgICAg
ICkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctdHJhbnNmb3Jt
ZWQtcGFyZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWlu
LW5hbWVkLWZsb3ctdHJhbnNmb3JtZWQtcGFyZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uYzk2Mzk1OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy10cmFuc2Zvcm1lZC1wYXJlbnQu
aHRtbApAQCAtMCwwICsxLDM0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFk
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjcmVkIHsgcG9zaXRpb246IGFic29sdXRl
OyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFj
a2dyb3VuZC1jb2xvcjogcmVkOyB9CisgICAgICAgICAgICAjdHJhbnNmb3JtZWRQYXJlbnQgeyAt
d2Via2l0LWZsb3ctaW50bzogZmxvdzsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwMHB4OyBs
ZWZ0OiAxMDBweDsgd2lkdGg6IDE1MHB4OyBoZWlnaHQ6IDE1MHB4OyAtd2Via2l0LXRyYW5zZm9y
bTogc2NhbGUzZCgxLCAxLCAxKTsgfQorICAgICAgICAgICAgI2ZpeGVkIHsgcG9zaXRpb246IGZp
eGVkOyB0b3A6IDUwcHg7IGxlZnQ6IDUwcHg7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7IGJh
Y2tncm91bmQtY29sb3I6IGdyZWVuOyB9CisgICAgICAgICAgICAvKiBUaGUgcmVnaW9uIGlzIHJl
cXVpcmVzIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgaXMg
bm90IGRpc3BsYXllZCAqLworICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9t
OiBmbG93OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMHB4OyBsZWZ0OiAwcHg7IH0KKyAgICAg
ICAgPC9zdHlsZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50
ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKHRydWUpOworCisgICAg
ICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7CisKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAg
ICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7
CisgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllclRyZWUi
KS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7
CisgICAgICAgICAgICAgICAgfSwgZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hl
YWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgdGhhdCBhIGZpeGVkIHBvc2l0aW9uZWQg
ZWxlbWVudCB3aXRoIGEgdHJhbnNmb3JtZWQgcGFyZW50IGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUg
dG8gdGhlIHRyYW5zZm9ybWVkIHBhcmVudCBhbmQgaXMgbm90IGNvbXBvc2l0ZWQuPC9wPgorICAg
ICAgICA8cD5PbiBzdWNjZXNzIHlvdSBzaG91bGQgbm90IHNlZSByZWQgYmVsb3cuPC9wPgorICAg
ICAgICA8ZGl2IGlkPSJyZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJ0cmFuc2Zvcm1lZFBh
cmVudCI+CisgICAgICAgICAgICA8ZGl2IGlkPSJmaXhlZCI+PC9kaXY+CisgICAgICAgIDwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24iPjwvZGl2PgorICAgICAgICA8cHJlIGlkPSJsYXll
clRyZWUiPjwvcHJlPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy16SW5kZXgtZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQt
Zmxvdy16SW5kZXgtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5lNTY1NzgyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
cmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LXpJbmRleC1leHBlY3RlZC5odG1sCkBAIC0wLDAg
KzEsMjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxz
Y3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JG
aXhlZFBvc2l0aW9uRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxz
dHlsZT4KKyAgICAgICAgICAgICNmaXhlZDEgeyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7
IHRvcDogMTAwcHg7IGxlZnQ6IDEwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgcG9zaXRp
b246IGZpeGVkOyB6LWluZGV4OiAxMDsgfQorCisgICAgICAgICAgICAjZml4ZWQyIHsgd2lkdGg6
IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgYmFja2dyb3Vu
ZC1jb2xvcjogb3JhbmdlOyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDE7IH0KKworICAgICAg
ICAgICAgI2ZpeGVkMyB7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxNzVweDsg
bGVmdDogMTc1cHg7IGJhY2tncm91bmQtY29sb3I6IGJsdWU7IHBvc2l0aW9uOiBmaXhlZDsgei1p
bmRleDogNTsgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyNTE0NCI+V2ViS2l0IEJ1ZyAxMjUxNDQ8L2E+IFtDU1MgUmVnaW9uc10gRW5h
YmxlIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIGZvciBmaXhlZCBlbGVtZW50cyBpbiBuYW1lZCBm
bG93czwvcD4KKyAgICAgICAgPHA+VGVzdCB0aGF0IHBhaW50aW5nIHRoZSBmaXhlZCBwb3NpdGlv
bmVkIGVsZW1lbnRzIGluc2lkZSB0aGUgc2FtZSBuYW1lZCBmbG93IHRha2VzIHpJbmRleCBpbnRv
IGFjY291bnQuPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSAzIHJl
Y3RhbmdsZXMgcGFpbnRlZCBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOiBncmVlbiwgYmx1ZSwgb3Jh
bmdlLjwvcD4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQxIj48L2Rpdj4KKyAgICAgICAgPGRpdiBp
ZD0iZml4ZWQyIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQzIj48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdp
b25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctekluZGV4Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3Np
dGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctekluZGV4Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjNjMWI4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy16SW5kZXguaHRt
bApAQCAtMCwwICsxLDI4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgor
ICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAg
ICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBv
c2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQodHJ1ZSk7CisgICAgICAgIDwvc2NyaXB0Pgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjZml4ZWQxIHsgLXdlYmtpdC1mbG93LWludG86
IGZsb3c7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxMDBweDsgbGVmdDogMTAw
cHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDEw
OyB9CisKKyAgICAgICAgICAgICNmaXhlZDIgeyAtd2Via2l0LWZsb3ctaW50bzogZmxvdzsgd2lk
dGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgYmFja2dy
b3VuZC1jb2xvcjogb3JhbmdlOyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDE7IH0KKworICAg
ICAgICAgICAgI2ZpeGVkMyB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyB3aWR0aDogMTAwcHg7
IGhlaWdodDogMTAwcHg7IHRvcDogMTc1cHg7IGxlZnQ6IDE3NXB4OyBiYWNrZ3JvdW5kLWNvbG9y
OiBibHVlOyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDU7IH0KKworICAgICAgICAgICAgLyog
V2UgbmVlZCBhIHJlZ2lvbiBiZWNhdXNlIG90aGVyd2lzZSB0aGUgZml4ZWQgcG9zaXRpb25lZCBl
bGVtZW50cyBhcmUgbm90IGRpc3BsYXllZCAqLworICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJr
aXQtZmxvdy1mcm9tOiBmbG93OyB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAg
IDxib2R5PgorICAgICAgICA8cD5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1MTQ0Ij5XZWJLaXQgQnVnIDEyNTE0NDwvYT4gW0NTUyBS
ZWdpb25zXSBFbmFibGUgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgZm9yIGZpeGVkIGVsZW1lbnRz
IGluIG5hbWVkIGZsb3dzPC9wPgorICAgICAgICA8cD5UZXN0IHRoYXQgcGFpbnRpbmcgdGhlIGZp
eGVkIHBvc2l0aW9uZWQgZWxlbWVudHMgaW5zaWRlIHRoZSBzYW1lIG5hbWVkIGZsb3cgdGFrZXMg
ekluZGV4IGludG8gYWNjb3VudC48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91
bGQgc2VlIDMgcmVjdGFuZ2xlcyBwYWludGVkIGluIHRoZSBmb2xsb3dpbmcgb3JkZXI6IGdyZWVu
LCBibHVlLCBvcmFuZ2UuPC9wPgorICAgICAgICA8ZGl2IGlkPSJmaXhlZDEiPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJmaXhlZDIiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJmaXhlZDMiPjwv
ZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24iPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4t
bmFtZWQtZmxvdy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1p
bi1uYW1lZC1mbG93Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDE1
ZGVhYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMv
Zml4ZWQtaW4tbmFtZWQtZmxvdy5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICNyZWQg
eyBwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAx
NTBweDsgbGVmdDogMTUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQorICAgICAgICAgICAg
I2ZpeGVkIHsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7IHBvc2l0aW9uOiBmaXhlZDsgd2lkdGg6
IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgdG9wOiAxNTBw
eDsgbGVmdDogMTUwcHg7IH0KKyAgICAgICAgICAgIC8qIFRoZSByZWdpb24gaXMgcmVxdWlyZXMg
YmVjYXVzZSBvdGhlcndpc2UgdGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCBpcyBub3QgZGlz
cGxheWVkICovCisgICAgICAgICAgICAjcmVnaW9uIHsgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3
aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKHRydWUp
OworCisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQorICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJs
YXllclRyZWUiKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChk
b2N1bWVudCk7CisgICAgICAgICAgICAgICAgICB9LCBmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0
PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGhpcyB0ZXN0IGNvbGxlY3Rz
IGEgZml4ZWQgcG9zaXRpb24gZWxlbWVudCBpbnNpZGUgYSBuYW1lZCBmbG93IGFuZCBmbG93cyBp
dCBpbnRvIGEgcmVnaW9uLjwvcD4KKyAgICAgICAgPHA+VGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxl
bWVudCBzaG91bGQgYmUgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgdmlld3BvcnQgYW5kIGl0
IHNob3VsZCBiZSBjb21wb3NpdGVkLjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2VzcyB5b3Ugc2hv
dWxkIG5vdCBzZWUgcmVkIGJlbG93LjwvcD4KKyAgICAgICAgPGRpdiBpZD0icmVkIj48L2Rpdj4K
KyAgICAgICAgPGRpdiBpZD0iZml4ZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24i
PjwvZGl2PgorICAgICAgICA8cHJlIGlkPSJsYXllclRyZWUiPjwvcHJlPgorICAgIDwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4
ZWQtdHJhbnNmb3JtZWQtaW4tbmFtZWQtZmxvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLXRyYW5zZm9ybWVkLWluLW5hbWVkLWZsb3ctZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4ODNiMDkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLXRyYW5z
Zm9ybWVkLWluLW5hbWVkLWZsb3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjMgQEAKK1RoaXMg
dGVzdCBjb2xsZWN0cyBhIHRyYW5zZm9ybWVkIGZpeGVkIHBvc2l0aW9uIGVsZW1lbnQgaW5zaWRl
IGEgbmFtZWQgZmxvdyBhbmQgZmxvd3MgaXQgaW50byBhIHJlZ2lvbi4KKworVGhlIGZpeGVkIHBv
c2l0aW9uZWQgZWxlbWVudCBzaG91bGQgYmUgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgdmll
d3BvcnQgYW5kIGl0IHNob3VsZCBiZSBjb21wb3NpdGVkLgorCitPbiBzdWNjZXNzIHlvdSBzaG91
bGQgbm90IHNlZSByZWQgYmVsb3cuCisKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgODAwLjAw
IDYwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5k
cyA4MDAuMDAgNjAwLjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAoY2hpbGRy
ZW4gMQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiAxNTAuMDAg
MTUwLjAwKQorICAgICAgICAgIChib3VuZHMgMTAwLjAwIDEwMC4wMCkKKyAgICAgICAgICAoY29u
dGVudHNPcGFxdWUgMSkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLXRyYW5zZm9ybWVk
LWluLW5hbWVkLWZsb3cuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4
ZWQtdHJhbnNmb3JtZWQtaW4tbmFtZWQtZmxvdy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLmFlYTI1NGMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9yZWdpb25zL2ZpeGVkLXRyYW5zZm9ybWVkLWluLW5hbWVkLWZsb3cuaHRtbApAQCAt
MCwwICsxLDI5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICAjcmVkIHsgcG9zaXRpb246IGFic29sdXRlOyB3aWR0aDog
MTAwcHg7IGhlaWdodDogMTAwcHg7IHRvcDogMTUwcHg7IGxlZnQ6IDE1MHB4OyBiYWNrZ3JvdW5k
LWNvbG9yOiByZWQ7IH0KKyAgICAgICAgICAgICNmaXhlZFRyYW5zZm9ybWVkIHsgLXdlYmtpdC1m
bG93LWludG86IGZsb3c7IHBvc2l0aW9uOiBmaXhlZDsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEw
MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgdG9wOiAxNTBweDsgbGVmdDogMTUwcHg7IC13
ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9CisgICAgICAgICAgICAvKiBUaGUg
cmVnaW9uIGlzIHJlcXVpcmVzIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBmaXhlZCBwb3NpdGlvbmVk
IGVsZW1lbnQgaXMgbm90IGRpc3BsYXllZCAqLworICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJr
aXQtZmxvdy1mcm9tOiBmbG93OyB9CisgICAgICAgIDwvc3R5bGU+CisgICAgICAgIDxzY3JpcHQ+
CisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxz
KQorICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXll
clRyZWUiKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1
bWVudCk7CisgICAgICAgICAgICAgICAgICB9LCBmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0Pgor
ICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGhpcyB0ZXN0IGNvbGxlY3RzIGEg
dHJhbnNmb3JtZWQgZml4ZWQgcG9zaXRpb24gZWxlbWVudCBpbnNpZGUgYSBuYW1lZCBmbG93IGFu
ZCBmbG93cyBpdCBpbnRvIGEgcmVnaW9uLjwvcD4KKyAgICAgICAgPHA+VGhlIGZpeGVkIHBvc2l0
aW9uZWQgZWxlbWVudCBzaG91bGQgYmUgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgdmlld3Bv
cnQgYW5kIGl0IHNob3VsZCBiZSBjb21wb3NpdGVkLjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2Vz
cyB5b3Ugc2hvdWxkIG5vdCBzZWUgcmVkIGJlbG93LjwvcD4KKyAgICAgICAgPGRpdiBpZD0icmVk
Ij48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWRUcmFuc2Zvcm1lZCI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxwcmUgaWQ9ImxheWVyVHJlZSI+
PC9wcmU+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9yZWdpb25zL3JlcGFpbnQvZWxlbWVudC1pbi1uYW1lZC1mbG93LWFic29sdXRlLWZyb20tZml4
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2VsZW1lbnQtaW4tbmFt
ZWQtZmxvdy1hYnNvbHV0ZS1mcm9tLWZpeGVkLmh0bWwKaW5kZXggMzM5YzFkMy4uMzBhYWY3ZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlcGFpbnQvZWxlbWVudC1pbi1u
YW1lZC1mbG93LWFic29sdXRlLWZyb20tZml4ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3JlZ2lvbnMvcmVwYWludC9lbGVtZW50LWluLW5hbWVkLWZsb3ctYWJzb2x1dGUtZnJvbS1maXhl
ZC5odG1sCkBAIC0xOSw2ICsxOSw5IEBACiAgICAgICAgIDxkaXYgaWQ9InRhcmdldCI+PC9kaXY+
CiAgICAgICAgIDxkaXYgaWQ9InJlZ2lvbiI+PC9kaXY+CiAgICAgICAgIDxzY3JpcHQ+CisgICAg
ICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50
ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9u
RW5hYmxlZChmYWxzZSk7CisKICAgICAgICAgICAgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkgewog
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKS5zdHlsZS5w
b3NpdGlvbiA9ICJhYnNvbHV0ZSI7CiAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3JlZ2lvbnMvcmVwYWludC9lbGVtZW50LWluLW5hbWVkLWZsb3ctZml4ZWQtZnJv
bS1hYnNvbHV0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlcGFpbnQvZWxlbWVu
dC1pbi1uYW1lZC1mbG93LWZpeGVkLWZyb20tYWJzb2x1dGUuaHRtbAppbmRleCA4NGNkOTFkLi40
MTg5NTVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVwYWludC9lbGVt
ZW50LWluLW5hbWVkLWZsb3ctZml4ZWQtZnJvbS1hYnNvbHV0ZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2VsZW1lbnQtaW4tbmFtZWQtZmxvdy1maXhlZC1mcm9t
LWFic29sdXRlLmh0bWwKQEAgLTE5LDYgKzE5LDkgQEAKICAgICAgICAgPGRpdiBpZD0idGFyZ2V0
Ij48L2Rpdj4KICAgICAgICAgPGRpdiBpZD0icmVnaW9uIj48L2Rpdj4KICAgICAgICAgPHNjcmlw
dD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdp
bmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVk
UG9zaXRpb25FbmFibGVkKGZhbHNlKTsKKwogICAgICAgICAgICAgZnVuY3Rpb24gcmVwYWludFRl
c3QoKSB7CiAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIp
LnN0eWxlLnBvc2l0aW9uID0gImZpeGVkIjsKICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2VsZW1lbnQtaW5mbG93LWZpeGVkLWZyb20t
b3V0Zmxvdy1zdGF0aWMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2Vs
ZW1lbnQtaW5mbG93LWZpeGVkLWZyb20tb3V0Zmxvdy1zdGF0aWMuaHRtbAppbmRleCBkYmY0N2Ji
Li43NTAzOTc5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVwYWludC9l
bGVtZW50LWluZmxvdy1maXhlZC1mcm9tLW91dGZsb3ctc3RhdGljLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9yZWdpb25zL3JlcGFpbnQvZWxlbWVudC1pbmZsb3ctZml4ZWQtZnJvbS1vdXRm
bG93LXN0YXRpYy5odG1sCkBAIC0yMiw2ICsyMiw5IEBACiAgICAgICAgIDwvZGl2PgogICAgICAg
ICA8ZGl2IGlkPSJyZWdpb24iPjwvZGl2PgogICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQo
ZmFsc2UpOworCiAgICAgICAgICAgICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKICAgICAgICAg
ICAgICAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpOwog
ICAgICAgICAgICAgICAgIHRhcmdldC5zdHlsZS5wb3NpdGlvbiA9ICJmaXhlZCI7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVwYWludC9lbGVtZW50LW91dGZsb3ctc3Rh
dGljLWZyb20taW5mbG93LWZpeGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVw
YWludC9lbGVtZW50LW91dGZsb3ctc3RhdGljLWZyb20taW5mbG93LWZpeGVkLmh0bWwKaW5kZXgg
NzQ5OTE2MC4uMDVlZDEwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3Jl
cGFpbnQvZWxlbWVudC1vdXRmbG93LXN0YXRpYy1mcm9tLWluZmxvdy1maXhlZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2VsZW1lbnQtb3V0Zmxvdy1zdGF0aWMt
ZnJvbS1pbmZsb3ctZml4ZWQuaHRtbApAQCAtMjIsNiArMjIsOSBAQAogICAgICAgICA8L2Rpdj4K
ICAgICAgICAgPGRpdiBpZD0icmVnaW9uIj48L2Rpdj4KICAgICAgICAgPHNjcmlwdD4KKyAgICAg
ICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRl
cm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25F
bmFibGVkKGZhbHNlKTsKKwogICAgICAgICAgICAgZnVuY3Rpb24gcmVwYWludFRlc3QoKSB7CiAg
ICAgICAgICAgICAgICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJn
ZXQiKTsKICAgICAgICAgICAgICAgICB0YXJnZXQuc3R5bGUucG9zaXRpb24gPSAic3RhdGljIjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA1YjNlNTRjLi41YjQ3OTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDEg
QEAKKzIwMTQtMDEtMTUgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAg
ICAgICAgW0NTUyBSZWdpb25zXSBFbmFibGUgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgZm9yIGZp
eGVkIGVsZW1lbnRzIGluIG5hbWVkIGZsb3dzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUxNDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgY29tcG9zaXRpbmcgZm9yIGZpeGVk
IHBvc2l0aW9uZWQgZWxlbWVudCB0aGF0IGFyZSBjb2xsZWN0ZWQKKyAgICAgICAgaW5zaWRlIGEg
bmFtZWQgZmxvdy4gUHJpb3IgdG8gdGhpcyBwYXRjaCwgdGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxl
bWVudHMgd2VyZQorICAgICAgICBwb3NpdGlvbmVkIGFuZCBzaXplZCBwcm9wZXJseSBidXQgb25s
eSBpbiB0aGUgbm9uLWNvbXBvc2l0aW5nIHNjZW5hcmlvLgorCisgICAgICAgIFRlc3RzOiBjb21w
b3NpdGluZy9yZWdpb25zL2Ficy1pbi1uYW1lZC1mbG93LWZyb20tZml4ZWQtaW4tbmFtZWQtZmxv
dy5odG1sCisgICAgICAgICAgICAgICBjb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLWRpZmYt
bmFtZWQtZmxvd3MtekluZGV4Lmh0bWwKKyAgICAgICAgICAgICAgIGNvbXBvc2l0aW5nL3JlZ2lv
bnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1jbGlwLWRlc2NlbmRhbnQuaHRtbAorICAgICAgICAgICAg
ICAgY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWZyb20tYWJzLWluLW5h
bWVkLWZsb3cuaHRtbAorICAgICAgICAgICAgICAgY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1p
bi1uYW1lZC1mbG93LWZyb20tb3V0Zmxvdy5odG1sCisgICAgICAgICAgICAgICBjb21wb3NpdGlu
Zy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctZ290LXRyYW5zZm9ybWVkLXBhcmVudC5odG1s
CisgICAgICAgICAgICAgICBjb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ct
bG9zdC10cmFuc2Zvcm1lZC1wYXJlbnQuaHRtbAorICAgICAgICAgICAgICAgY29tcG9zaXRpbmcv
cmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LW92ZXJsYXAtY29tcG9zaXRlZC5odG1sCisgICAg
ICAgICAgICAgICBjb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctcG9zaXRp
b24tY2hhbmdlZC5odG1sCisgICAgICAgICAgICAgICBjb21wb3NpdGluZy9yZWdpb25zL2ZpeGVk
LWluLW5hbWVkLWZsb3ctdHJhbnNmb3JtZWQtcGFyZW50Lmh0bWwKKyAgICAgICAgICAgICAgIGNv
bXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy16SW5kZXguaHRtbAorICAgICAg
ICAgICAgICAgY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93Lmh0bWwKKyAg
ICAgICAgICAgICAgIGNvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtdHJhbnNmb3JtZWQtaW4tbmFt
ZWQtZmxvdy5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGbG93VGhyZWFkOjpyZWdpb25Gb3JDb21wb3NpdGVk
TGF5ZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjb21wdXRlQ29tcG9zaXRp
bmdSZXF1aXJlbWVudHNGb3JOYW1lZEZsb3dGaXhlZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllckNvbXBvc2l0b3I6OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlYnVpbGRDb21wb3NpdGluZ0xh
eWVyVHJlZUZvck5hbWVkRmxvd0ZpeGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
Q29tcG9zaXRvcjo6cmVidWlsZENvbXBvc2l0aW5nTGF5ZXJUcmVlKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlTGF5ZXJUcmVlR2VvbWV0cnkpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5n
Rm9yUG9zaXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3Iu
aDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQuaDoKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmg6CisKIDIwMTQtMDEtMTQgIEFu
ZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFBhY2sgUmVzb3VyY2VS
ZXNwb25zZSBoYXJkZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmxvd1RocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1Ro
cmVhZC5jcHAKaW5kZXggM2YwZTMyNy4uYmM0MzU1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcApAQCAtMjgsNyArMjgsNiBAQAogICovCiAKICNp
bmNsdWRlICJjb25maWcuaCIKLQogI2luY2x1ZGUgIlJlbmRlckZsb3dUaHJlYWQuaCIKIAogI2lu
Y2x1ZGUgIkZsb3dUaHJlYWRDb250cm9sbGVyLmgiCkBAIC0yNzEsNiArMjcwLDkgQEAgY29uc3Qg
UmVuZGVyTGF5ZXJMaXN0KiBSZW5kZXJGbG93VGhyZWFkOjpnZXRMYXllckxpc3RGb3JSZWdpb24o
UmVuZGVyTmFtZWRGbG93RnIKIAogUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQqIFJlbmRlckZsb3dU
aHJlYWQ6OnJlZ2lvbkZvckNvbXBvc2l0ZWRMYXllcihSZW5kZXJMYXllciYgY2hpbGRMYXllcikK
IHsKKyAgICBpZiAoY2hpbGRMYXllci5yZW5kZXJlcigpLmZpeGVkUG9zaXRpb25lZFdpdGhOYW1l
ZEZsb3dDb250YWluaW5nQmxvY2soKSkKKyAgICAgICAgcmV0dXJuIDA7CisKICAgICBpZiAoY2hp
bGRMYXllci5yZW5kZXJCb3goKSkgewogICAgICAgICBSZW5kZXJSZWdpb24qIHN0YXJ0UmVnaW9u
ID0gMDsKICAgICAgICAgUmVuZGVyUmVnaW9uKiBlbmRSZWdpb24gPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCBjNmRj
NzU4Li44YWRkNDRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtMTAyMiw2ICsxMDIyLDIzIEBAIHZvaWQgUmVuZGVyTGF5
ZXJDb21wb3NpdG9yOjphZGRUb092ZXJsYXBNYXBSZWN1cnNpdmUoT3ZlcmxhcE1hcCYgb3Zlcmxh
cE1hcCwgUmVuCiAgICAgICAgIG92ZXJsYXBNYXAuZ2VvbWV0cnlNYXAoKS5wb3BNYXBwaW5nc1Rv
QW5jZXN0b3IoYW5jZXN0b3JMYXllcik7CiB9CiAKK3ZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9y
Ojpjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHNGb3JOYW1lZEZsb3dGaXhlZChSZW5kZXJM
YXllciYgbGF5ZXIsIE92ZXJsYXBNYXAqIG92ZXJsYXBNYXAsIENvbXBvc2l0aW5nU3RhdGUmIGNo
aWxkU3RhdGUsIGJvb2wmIGxheWVyc0NoYW5nZWQsIGJvb2wmIGFueURlc2NlbmRhbnRIYXMzRFRy
YW5zZm9ybSkKK3sKKyAgICBpZiAoIWxheWVyLmlzUm9vdExheWVyKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIGlmICghbGF5ZXIucmVuZGVyZXIoKS52aWV3KCkuaGFzUmVuZGVyTmFtZWRGbG93
VGhyZWFkcygpKQorICAgICAgICByZXR1cm47CisKKyAgICBWZWN0b3I8UmVuZGVyTGF5ZXIqPiBm
aXhlZExheWVyczsKKyAgICBsYXllci5yZW5kZXJlcigpLnZpZXcoKS5mbG93VGhyZWFkQ29udHJv
bGxlcigpLmNvbGxlY3RGaXhlZFBvc2l0aW9uZWRMYXllcnMoZml4ZWRMYXllcnMpOworCisgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBmaXhlZExheWVycy5zaXplKCk7ICsraSkgeworICAgICAg
ICBSZW5kZXJMYXllciogZml4ZWRMYXllciA9IGZpeGVkTGF5ZXJzLmF0KGkpOworICAgICAgICBj
b21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMoJmxheWVyLCAqZml4ZWRMYXllciwgb3Zlcmxh
cE1hcCwgY2hpbGRTdGF0ZSwgbGF5ZXJzQ2hhbmdlZCwgYW55RGVzY2VuZGFudEhhczNEVHJhbnNm
b3JtKTsKKyAgICB9Cit9CisKIC8vICBSZWN1cnNlIHRocm91Z2ggdGhlIGxheWVycyBpbiB6LWlu
ZGV4IGFuZCBvdmVyZmxvdyBvcmRlciAod2hpY2ggaXMgZXF1aXZhbGVudCB0byBwYWludGluZyBv
cmRlcikKIC8vICBGb3IgdGhlIHotb3JkZXIgY2hpbGRyZW4gb2YgYSBjb21wb3NpdGluZyBsYXll
cjoKIC8vICAgICAgSWYgYSBjaGlsZCBsYXllcnMgaGFzIGEgY29tcG9zaXRpbmcgbGF5ZXIsIHRo
ZW4gYWxsIHN1YnNlcXVlbnQgbGF5ZXJzIG11c3QKQEAgLTExNDgsNyArMTE2NSwxMCBAQCB2b2lk
IFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKFJl
bmRlckxheWVyKiBhbmNlc3RvcgogICAgICAgICAgICAgICAgIGNvbXB1dGVDb21wb3NpdGluZ1Jl
cXVpcmVtZW50cygmbGF5ZXIsICpwb3NaT3JkZXJMaXN0LT5hdChpKSwgb3ZlcmxhcE1hcCwgY2hp
bGRTdGF0ZSwgbGF5ZXJzQ2hhbmdlZCwgYW55RGVzY2VuZGFudEhhczNEVHJhbnNmb3JtKTsKICAg
ICAgICAgfQogICAgIH0KLSAgICAKKworICAgIGlmIChsYXllci5pc1Jvb3RMYXllcigpKQorICAg
ICAgICBjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHNGb3JOYW1lZEZsb3dGaXhlZChsYXll
ciwgb3ZlcmxhcE1hcCwgY2hpbGRTdGF0ZSwgbGF5ZXJzQ2hhbmdlZCwgYW55RGVzY2VuZGFudEhh
czNEVHJhbnNmb3JtKTsKKwogICAgIC8vIElmIHdlIGp1c3QgZW50ZXJlZCBjb21wb3NpdGluZyBt
b2RlLCB0aGUgcm9vdCB3aWxsIGhhdmUgYmVjb21lIGNvbXBvc2l0ZWQgKGFzIGxvbmcgYXMgYWNj
ZWxlcmF0ZWQgY29tcG9zaXRpbmcgaXMgZW5hYmxlZCkuCiAgICAgaWYgKGxheWVyLmlzUm9vdExh
eWVyKCkpIHsKICAgICAgICAgaWYgKGluQ29tcG9zaXRpbmdNb2RlKCkgJiYgbV9oYXNBY2NlbGVy
YXRlZENvbXBvc2l0aW5nKQpAQCAtMTMwOCw2ICsxMzI4LDIzIEBAIGJvb2wgUmVuZGVyTGF5ZXJD
b21wb3NpdG9yOjpjYW5BY2NlbGVyYXRlVmlkZW9SZW5kZXJpbmcoUmVuZGVyVmlkZW8mIHZpZGVv
KSBjb25zCiB9CiAjZW5kaWYKIAordm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlYnVpbGRD
b21wb3NpdGluZ0xheWVyVHJlZUZvck5hbWVkRmxvd0ZpeGVkKFJlbmRlckxheWVyJiBsYXllciwg
VmVjdG9yPEdyYXBoaWNzTGF5ZXIqPiYgY2hpbGRHcmFwaGljc0xheWVyc09mRW5jbG9zaW5nTGF5
ZXIsIGludCBkZXB0aCkKK3sKKyAgICBpZiAoIWxheWVyLmlzUm9vdExheWVyKCkpCisgICAgICAg
IHJldHVybjsKKworICAgIGlmICghbGF5ZXIucmVuZGVyZXIoKS52aWV3KCkuaGFzUmVuZGVyTmFt
ZWRGbG93VGhyZWFkcygpKQorICAgICAgICByZXR1cm47CisKKyAgICBWZWN0b3I8UmVuZGVyTGF5
ZXIqPiBmaXhlZExheWVyczsKKyAgICBsYXllci5yZW5kZXJlcigpLnZpZXcoKS5mbG93VGhyZWFk
Q29udHJvbGxlcigpLmNvbGxlY3RGaXhlZFBvc2l0aW9uZWRMYXllcnMoZml4ZWRMYXllcnMpOwor
CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBmaXhlZExheWVycy5zaXplKCk7ICsraSkgewor
ICAgICAgICBSZW5kZXJMYXllciogZml4ZWRMYXllciA9IGZpeGVkTGF5ZXJzLmF0KGkpOworICAg
ICAgICByZWJ1aWxkQ29tcG9zaXRpbmdMYXllclRyZWUoKmZpeGVkTGF5ZXIsIGNoaWxkR3JhcGhp
Y3NMYXllcnNPZkVuY2xvc2luZ0xheWVyLCBkZXB0aCk7CisgICAgfQorfQorCiB2b2lkIFJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6cmVidWlsZENvbXBvc2l0aW5nTGF5ZXJUcmVlKFJlbmRlckxheWVy
JiBsYXllciwgVmVjdG9yPEdyYXBoaWNzTGF5ZXIqPiYgY2hpbGRMYXllcnNPZkVuY2xvc2luZ0xh
eWVyLCBpbnQgZGVwdGgpCiB7CiAgICAgLy8gTWFrZSB0aGUgbGF5ZXIgY29tcG9zaXRpbmcgaWYg
bmVjZXNzYXJ5LCBhbmQgc2V0IHVwIGNsaXBwaW5nIGFuZCBjb250ZW50IGxheWVycy4KQEAgLTEz
MTcsNyArMTM1NCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZWJ1aWxkQ29tcG9z
aXRpbmdMYXllclRyZWUoUmVuZGVyTGF5ZXImIGxheWVyLCBWZWN0CiAgICAgLy8gRG8gbm90IGl0
ZXJhdGUgdGhlIFJlbmRlckZsb3dUaHJlYWQgZGlyZWN0bHkuIFdlIGFyZSBnb2luZyB0byBjb2xs
ZWN0IGNvbXBvc2l0ZWQgbGF5ZXJzIGFzIHBhcnQgb2YgcmVnaW9ucy4KICAgICBpZiAobGF5ZXIu
aXNGbG93VGhyZWFkQ29sbGVjdGluZ0dyYXBoaWNzTGF5ZXJzVW5kZXJSZWdpb25zKCkpCiAgICAg
ICAgIHJldHVybjsKLSAgICAKKwogICAgIFJlbmRlckxheWVyQmFja2luZyogbGF5ZXJCYWNraW5n
ID0gbGF5ZXIuYmFja2luZygpOwogICAgIGlmIChsYXllckJhY2tpbmcpIHsKICAgICAgICAgLy8g
VGhlIGNvbXBvc2l0aW5nIHN0YXRlIG9mIGFsbCBvdXIgY2hpbGRyZW4gaGFzIGJlZW4gdXBkYXRl
ZCBhbHJlYWR5LCBzbyBub3cKQEAgLTEzODAsNyArMTQxNywxMCBAQCB2b2lkIFJlbmRlckxheWVy
Q29tcG9zaXRvcjo6cmVidWlsZENvbXBvc2l0aW5nTGF5ZXJUcmVlKFJlbmRlckxheWVyJiBsYXll
ciwgVmVjdAogICAgICAgICAgICAgICAgIHJlYnVpbGRDb21wb3NpdGluZ0xheWVyVHJlZSgqcG9z
Wk9yZGVyTGlzdC0+YXQoaSksIGNoaWxkTGlzdCwgZGVwdGggKyAxKTsKICAgICAgICAgfQogICAg
IH0KLSAgICAKKworICAgIGlmIChsYXllci5pc1Jvb3RMYXllcigpKQorICAgICAgICByZWJ1aWxk
Q29tcG9zaXRpbmdMYXllclRyZWVGb3JOYW1lZEZsb3dGaXhlZChsYXllciwgY2hpbGRMaXN0LCBk
ZXB0aCArIDEpOworCiAgICAgaWYgKGxheWVyQmFja2luZykgewogICAgICAgICBib29sIHBhcmVu
dGVkID0gZmFsc2U7CiAgICAgICAgIGlmIChsYXllci5yZW5kZXJlcigpLmlzV2lkZ2V0KCkpCkBA
IC0xNTk4LDEwICsxNjM4LDYgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnBhcmVudEZy
YW1lQ29udGVudExheWVycyhSZW5kZXJXaWRnZXQqIHJlbmRlcmVyKQogLy8gVGhpcyBqdXN0IHVw
ZGF0ZXMgbGF5ZXIgZ2VvbWV0cnkgd2l0aG91dCBjaGFuZ2luZyB0aGUgaGllcmFyY2h5Lgogdm9p
ZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUxheWVyVHJlZUdlb21ldHJ5KFJlbmRlckxh
eWVyJiBsYXllciwgaW50IGRlcHRoKQogewotICAgIC8vIEZJWE1FOiBmaXhlZCBwb3NpdGlvbmVk
IGVsZW1lbnRzIGluc2lkZSBhIG5hbWVkIGZsb3cgYXJlIG5vdCBjb21wb3NpdGVkIHlldC4KLSAg
ICBpZiAobGF5ZXIuaXNPdXRPZkZsb3dSZW5kZXJGbG93VGhyZWFkKCkpCi0gICAgICAgIHJldHVy
bjsKLQogICAgIGlmIChSZW5kZXJMYXllckJhY2tpbmcqIGxheWVyQmFja2luZyA9IGxheWVyLmJh
Y2tpbmcoKSkgewogICAgICAgICAvLyBUaGUgY29tcG9zaXRpbmcgc3RhdGUgb2YgYWxsIG91ciBj
aGlsZHJlbiBoYXMgYmVlbiB1cGRhdGVkIGFscmVhZHksIHNvIG5vdwogICAgICAgICAvLyB3ZSBj
YW4gY29tcHV0ZSBhbmQgY2FjaGUgdGhlIGNvbXBvc2l0ZWQgYm91bmRzIGZvciB0aGlzIGxheWVy
LgpAQCAtMjUwMSw3ICsyNTM3LDcgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVp
cmVzQ29tcG9zaXRpbmdGb3JQb3NpdGlvbihSZW5kZXJMYXllck1vZGVsT2JqZWMKIAogICAgIC8v
IERvbid0IHByb21vdGUgZml4ZWQgcG9zaXRpb24gZWxlbWVudHMgdGhhdCBhcmUgZGVzY2VuZGFu
dHMgb2YgYSBub24tdmlldyBjb250YWluZXIsIGUuZy4gdHJhbnNmb3JtZWQgZWxlbWVudHMuCiAg
ICAgLy8gVGhleSB3aWxsIHN0YXkgZml4ZWQgd3J0IHRoZSBjb250YWluZXIgcmF0aGVyIHRoYW4g
dGhlIGVuY2xvc2luZyBmcmFtZS4KLSAgICBpZiAoY29udGFpbmVyICE9ICZtX3JlbmRlclZpZXcp
IHsKKyAgICBpZiAoY29udGFpbmVyICE9ICZtX3JlbmRlclZpZXcgJiYgIXJlbmRlcmVyLmZpeGVk
UG9zaXRpb25lZFdpdGhOYW1lZEZsb3dDb250YWluaW5nQmxvY2soKSkgewogICAgICAgICBpZiAo
dmlld3BvcnRDb25zdHJhaW5lZE5vdENvbXBvc2l0ZWRSZWFzb24pCiAgICAgICAgICAgICAqdmll
d3BvcnRDb25zdHJhaW5lZE5vdENvbXBvc2l0ZWRSZWFzb24gPSBSZW5kZXJMYXllcjo6Tm90Q29t
cG9zaXRlZEZvck5vblZpZXdDb250YWluZXI7CiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAppbmRleCBk
OTg2MTVjLi43NTFjZjk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5oCkBAIC0zNDEsNyArMzQxLDkgQEAgcHJpdmF0ZToKICAgICB2b2lk
IGNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyhSZW5kZXJMYXllciogYW5jZXN0b3JMYXll
ciwgUmVuZGVyTGF5ZXImLCBPdmVybGFwTWFwKiwgc3RydWN0IENvbXBvc2l0aW5nU3RhdGUmLCBi
b29sJiBsYXllcnNDaGFuZ2VkLCBib29sJiBkZXNjZW5kYW50SGFzM0RUcmFuc2Zvcm0pOwogCiAg
ICAgdm9pZCBjb21wdXRlUmVnaW9uQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMoUmVuZGVyTmFtZWRG
bG93RnJhZ21lbnQqLCBPdmVybGFwTWFwKiwgQ29tcG9zaXRpbmdTdGF0ZSYsIGJvb2wmIGxheWVy
c0NoYW5nZWQsIGJvb2wmIGFueURlc2NlbmRhbnRIYXMzRFRyYW5zZm9ybSk7Ci0gICAgCisKKyAg
ICB2b2lkIGNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50c0Zvck5hbWVkRmxvd0ZpeGVkKFJl
bmRlckxheWVyJiwgT3ZlcmxhcE1hcCosIENvbXBvc2l0aW5nU3RhdGUmLCBib29sJiBsYXllcnND
aGFuZ2VkLCBib29sJiBhbnlEZXNjZW5kYW50SGFzM0RUcmFuc2Zvcm0pOworCiAgICAgLy8gUmVj
dXJzZXMgZG93biB0aGUgdHJlZSwgcGFyZW50aW5nIGRlc2NlbmRhbnQgY29tcG9zaXRpbmcgbGF5
ZXJzIGFuZCBjb2xsZWN0aW5nIGFuIGFycmF5IG9mIGNoaWxkIGxheWVycyBmb3IgdGhlIGN1cnJl
bnQgY29tcG9zaXRpbmcgbGF5ZXIuCiAgICAgdm9pZCByZWJ1aWxkQ29tcG9zaXRpbmdMYXllclRy
ZWUoUmVuZGVyTGF5ZXImLCBWZWN0b3I8R3JhcGhpY3NMYXllcio+JiBjaGlsZEdyYXBoaWNzTGF5
ZXJzT2ZFbmNsb3NpbmdMYXllciwgaW50IGRlcHRoKTsKIApAQCAtMzQ5LDYgKzM1MSw4IEBAIHBy
aXZhdGU6CiAgICAgLy8gbGF5ZXJzIGZvciB0aGUgY3VycmVudCBjb21wb3NpdGluZyBsYXllciBj
b3JyZXNwb25kaW5nIHRvIHRoZSBhbm9ueW1vdXMgcmVnaW9uICh0aGF0IGJlbG9uZ3MgdG8gdGhl
IHJlZ2lvbidzIHBhcmVudCkuCiAgICAgdm9pZCByZWJ1aWxkUmVnaW9uQ29tcG9zaXRpbmdMYXll
clRyZWUoUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQqLCBWZWN0b3I8R3JhcGhpY3NMYXllcio+JiBj
aGlsZExpc3QsIGludCBkZXB0aCk7CiAKKyAgICB2b2lkIHJlYnVpbGRDb21wb3NpdGluZ0xheWVy
VHJlZUZvck5hbWVkRmxvd0ZpeGVkKFJlbmRlckxheWVyJiwgVmVjdG9yPEdyYXBoaWNzTGF5ZXIq
PiYgY2hpbGRMaXN0LCBpbnQgZGVwdGgpOworCiAgICAgLy8gUmVjdXJzZXMgZG93biB0aGUgdHJl
ZSwgdXBkYXRpbmcgbGF5ZXIgZ2VvbWV0cnkgb25seS4KICAgICB2b2lkIHVwZGF0ZUxheWVyVHJl
ZUdlb21ldHJ5KFJlbmRlckxheWVyJiwgaW50IGRlcHRoKTsKICAgICAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dGcmFnbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50LmgKaW5kZXggZjZjYmJh
Ni4uODk0MWYzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5h
bWVkRmxvd0ZyYWdtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5h
bWVkRmxvd0ZyYWdtZW50LmgKQEAgLTY2LDggKzY2LDggQEAgcHVibGljOgogICAgIC8vIHBhcmVu
dCByZW5kZXJlciBpbnN0ZWFkLgogICAgIC8vIFRoaXMgbWV0aG9kIHJldHVybnMgdGhhdCByZW5k
ZXJlciBob2xkaW5nIHRoZSBsYXllci4KICAgICAvLyBUaGUgcmV0dXJuIHZhbHVlIG1heSBiZSBu
dWxsLgotICAgIFJlbmRlckxheWVyTW9kZWxPYmplY3QqIGxheWVyT3duZXIoKSBjb25zdCB7IHJl
dHVybiBwYXJlbnQoKSAmJiBwYXJlbnQoKS0+aXNSZW5kZXJMYXllck1vZGVsT2JqZWN0KCkgPwot
ICAgICAgICB0b1JlbmRlckxheWVyTW9kZWxPYmplY3QocGFyZW50KCkpIDogbnVsbHB0cjsgfQor
ICAgIFJlbmRlckxheWVyTW9kZWxPYmplY3QqIGxheWVyT3duZXIoKSBjb25zdCB7IHJldHVybiBw
YXJlbnQoKSAmJiBwYXJlbnQoKS0+aXNSZW5kZXJMYXllck1vZGVsT2JqZWN0KCkgPyB0b1JlbmRl
ckxheWVyTW9kZWxPYmplY3QocGFyZW50KCkpCisgICAgICAgIDogbnVsbHB0cjsgfQogCiAgICAg
Ym9vbCBoYXNDdXN0b21SZWdpb25TdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1faGFzQ3VzdG9tUmVn
aW9uU3R5bGU7IH0KICAgICB2b2lkIHNldEhhc0N1c3RvbVJlZ2lvblN0eWxlKGJvb2wgaGFzQ3Vz
dG9tUmVnaW9uU3R5bGUpIHsgbV9oYXNDdXN0b21SZWdpb25TdHlsZSA9IGhhc0N1c3RvbVJlZ2lv
blN0eWxlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFt
ZWRGbG93VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93
VGhyZWFkLmgKaW5kZXggZWM0Zjg0Mi4uMmQ0N2JkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuaApAQCAtMTUzLDQgKzE1MywzIEBAIFJF
TkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJOYW1lZEZsb3dUaHJlYWQsIGlzUmVuZGVyTmFt
ZWRGbG93VGhyZWFkKCkpCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBSZW5k
ZXJOYW1lZEZsb3dUaHJlYWRfaAotCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221335</attachid>
            <date>2014-01-15 22:53:32 -0800</date>
            <delta_ts>2014-01-15 23:29:37 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-125144-20140116085452.patch</filename>
            <type>text/plain</type>
            <size>57290</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyMTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjNjMTAxOTc2NjUwMTgz
NDVlYTAxZjM0OWU5NmNiNmY3NDBkNTQxNi4uNDdhZWY3YWM0YzY4YTFiMjQxZGYxOWJmODFlYWE3
MTc4MTc1YTVkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDE0LTAxLTE1ICBNaWhu
ZWEgT3ZpZGVuaWUgIDxtaWhuZWFAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgUmVnaW9uc10g
RW5hYmxlIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIGZvciBmaXhlZCBlbGVtZW50cyBpbiBuYW1l
ZCBmbG93cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI1MTQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgSHlhdHQuCisKKyAgICAgICAgQWRk
IHN1cHBvcnQgZm9yIGNvbXBvc2l0aW5nIGZvciBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgdGhh
dCBhcmUgY29sbGVjdGVkCisgICAgICAgIGluc2lkZSBhIG5hbWVkIGZsb3cuIFByaW9yIHRvIHRo
aXMgcGF0Y2gsIHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnRzIHdlcmUKKyAgICAgICAgcG9z
aXRpb25lZCBhbmQgc2l6ZWQgcHJvcGVybHkgYnV0IG9ubHkgaW4gdGhlIG5vbi1jb21wb3NpdGlu
ZyBzY2VuYXJpby4KKworICAgICAgICBUZXN0czogY29tcG9zaXRpbmcvcmVnaW9ucy9hYnMtaW4t
bmFtZWQtZmxvdy1mcm9tLWZpeGVkLWluLW5hbWVkLWZsb3cuaHRtbAorICAgICAgICAgICAgICAg
Y29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1kaWZmLW5hbWVkLWZsb3dzLXpJbmRleC5odG1s
CisgICAgICAgICAgICAgICBjb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ct
Y2xpcC1kZXNjZW5kYW50Lmh0bWwKKyAgICAgICAgICAgICAgIGNvbXBvc2l0aW5nL3JlZ2lvbnMv
Zml4ZWQtaW4tbmFtZWQtZmxvdy1mcm9tLWFicy1pbi1uYW1lZC1mbG93Lmh0bWwKKyAgICAgICAg
ICAgICAgIGNvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1mcm9tLW91dGZs
b3cuaHRtbAorICAgICAgICAgICAgICAgY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1l
ZC1mbG93LWdvdC10cmFuc2Zvcm1lZC1wYXJlbnQuaHRtbAorICAgICAgICAgICAgICAgY29tcG9z
aXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWxvc3QtdHJhbnNmb3JtZWQtcGFyZW50
Lmh0bWwKKyAgICAgICAgICAgICAgIGNvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQt
Zmxvdy1vdmVybGFwLWNvbXBvc2l0ZWQuaHRtbAorICAgICAgICAgICAgICAgY29tcG9zaXRpbmcv
cmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LXBvc2l0aW9uLWNoYW5nZWQuaHRtbAorICAgICAg
ICAgICAgICAgY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LXRyYW5zZm9y
bWVkLXBhcmVudC5odG1sCisgICAgICAgICAgICAgICBjb21wb3NpdGluZy9yZWdpb25zL2ZpeGVk
LWluLW5hbWVkLWZsb3ctekluZGV4Lmh0bWwKKyAgICAgICAgICAgICAgIGNvbXBvc2l0aW5nL3Jl
Z2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy5odG1sCisgICAgICAgICAgICAgICBjb21wb3NpdGlu
Zy9yZWdpb25zL2ZpeGVkLXRyYW5zZm9ybWVkLWluLW5hbWVkLWZsb3cuaHRtbAorCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyRmxvd1RocmVhZDo6cmVnaW9uRm9yQ29tcG9zaXRlZExheWVyKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzRm9yTmFtZWRG
bG93Rml4ZWQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjb21w
dXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5
ZXJDb21wb3NpdG9yOjpyZWJ1aWxkQ29tcG9zaXRpbmdMYXllclRyZWVGb3JOYW1lZEZsb3dGaXhl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlYnVpbGRDb21w
b3NpdGluZ0xheWVyVHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0
b3I6OnVwZGF0ZUxheWVyVHJlZUdlb21ldHJ5KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21wb3NpdGluZ0ZvclBvc2l0aW9uKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmg6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck5h
bWVkRmxvd1RocmVhZC5oOgorCiAyMDE0LTAxLTE1ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgRml4IHdpbmRvd3MgYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKaW5kZXggM2YwZTMyNzJmYzE4MDM5ZjM2YjgyY2Iy
NmJlYjhiOGQyYjdiYTIxZS4uYmM0MzU1MWZlOWEyMDJkYjA3MTU1NWIyMTg4MTNhMmFmODYwZjM3
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcApA
QCAtMjgsNyArMjgsNiBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLQogI2luY2x1ZGUg
IlJlbmRlckZsb3dUaHJlYWQuaCIKIAogI2luY2x1ZGUgIkZsb3dUaHJlYWRDb250cm9sbGVyLmgi
CkBAIC0yNzEsNiArMjcwLDkgQEAgY29uc3QgUmVuZGVyTGF5ZXJMaXN0KiBSZW5kZXJGbG93VGhy
ZWFkOjpnZXRMYXllckxpc3RGb3JSZWdpb24oUmVuZGVyTmFtZWRGbG93RnIKIAogUmVuZGVyTmFt
ZWRGbG93RnJhZ21lbnQqIFJlbmRlckZsb3dUaHJlYWQ6OnJlZ2lvbkZvckNvbXBvc2l0ZWRMYXll
cihSZW5kZXJMYXllciYgY2hpbGRMYXllcikKIHsKKyAgICBpZiAoY2hpbGRMYXllci5yZW5kZXJl
cigpLmZpeGVkUG9zaXRpb25lZFdpdGhOYW1lZEZsb3dDb250YWluaW5nQmxvY2soKSkKKyAgICAg
ICAgcmV0dXJuIDA7CisKICAgICBpZiAoY2hpbGRMYXllci5yZW5kZXJCb3goKSkgewogICAgICAg
ICBSZW5kZXJSZWdpb24qIHN0YXJ0UmVnaW9uID0gMDsKICAgICAgICAgUmVuZGVyUmVnaW9uKiBl
bmRSZWdpb24gPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmNwcAppbmRleCBjNmRjNzU4NmVjMzhlMmM0MzVkZTgzYTZkNGFiNDhiNmNm
YWU1OTVkLi44YWRkNDRhZDRlYTdmYjYzNzAxN2VlNzAwZjc3NmEyYWU1ZTRmZDU4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApA
QCAtMTAyMiw2ICsxMDIyLDIzIEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjphZGRUb092
ZXJsYXBNYXBSZWN1cnNpdmUoT3ZlcmxhcE1hcCYgb3ZlcmxhcE1hcCwgUmVuCiAgICAgICAgIG92
ZXJsYXBNYXAuZ2VvbWV0cnlNYXAoKS5wb3BNYXBwaW5nc1RvQW5jZXN0b3IoYW5jZXN0b3JMYXll
cik7CiB9CiAKK3ZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjb21wdXRlQ29tcG9zaXRpbmdS
ZXF1aXJlbWVudHNGb3JOYW1lZEZsb3dGaXhlZChSZW5kZXJMYXllciYgbGF5ZXIsIE92ZXJsYXBN
YXAqIG92ZXJsYXBNYXAsIENvbXBvc2l0aW5nU3RhdGUmIGNoaWxkU3RhdGUsIGJvb2wmIGxheWVy
c0NoYW5nZWQsIGJvb2wmIGFueURlc2NlbmRhbnRIYXMzRFRyYW5zZm9ybSkKK3sKKyAgICBpZiAo
IWxheWVyLmlzUm9vdExheWVyKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICghbGF5ZXIu
cmVuZGVyZXIoKS52aWV3KCkuaGFzUmVuZGVyTmFtZWRGbG93VGhyZWFkcygpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBWZWN0b3I8UmVuZGVyTGF5ZXIqPiBmaXhlZExheWVyczsKKyAgICBsYXll
ci5yZW5kZXJlcigpLnZpZXcoKS5mbG93VGhyZWFkQ29udHJvbGxlcigpLmNvbGxlY3RGaXhlZFBv
c2l0aW9uZWRMYXllcnMoZml4ZWRMYXllcnMpOworCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBmaXhlZExheWVycy5zaXplKCk7ICsraSkgeworICAgICAgICBSZW5kZXJMYXllciogZml4ZWRM
YXllciA9IGZpeGVkTGF5ZXJzLmF0KGkpOworICAgICAgICBjb21wdXRlQ29tcG9zaXRpbmdSZXF1
aXJlbWVudHMoJmxheWVyLCAqZml4ZWRMYXllciwgb3ZlcmxhcE1hcCwgY2hpbGRTdGF0ZSwgbGF5
ZXJzQ2hhbmdlZCwgYW55RGVzY2VuZGFudEhhczNEVHJhbnNmb3JtKTsKKyAgICB9Cit9CisKIC8v
ICBSZWN1cnNlIHRocm91Z2ggdGhlIGxheWVycyBpbiB6LWluZGV4IGFuZCBvdmVyZmxvdyBvcmRl
ciAod2hpY2ggaXMgZXF1aXZhbGVudCB0byBwYWludGluZyBvcmRlcikKIC8vICBGb3IgdGhlIHot
b3JkZXIgY2hpbGRyZW4gb2YgYSBjb21wb3NpdGluZyBsYXllcjoKIC8vICAgICAgSWYgYSBjaGls
ZCBsYXllcnMgaGFzIGEgY29tcG9zaXRpbmcgbGF5ZXIsIHRoZW4gYWxsIHN1YnNlcXVlbnQgbGF5
ZXJzIG11c3QKQEAgLTExNDgsNyArMTE2NSwxMCBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRv
cjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKFJlbmRlckxheWVyKiBhbmNlc3Rvcgog
ICAgICAgICAgICAgICAgIGNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cygmbGF5ZXIsICpw
b3NaT3JkZXJMaXN0LT5hdChpKSwgb3ZlcmxhcE1hcCwgY2hpbGRTdGF0ZSwgbGF5ZXJzQ2hhbmdl
ZCwgYW55RGVzY2VuZGFudEhhczNEVHJhbnNmb3JtKTsKICAgICAgICAgfQogICAgIH0KLSAgICAK
KworICAgIGlmIChsYXllci5pc1Jvb3RMYXllcigpKQorICAgICAgICBjb21wdXRlQ29tcG9zaXRp
bmdSZXF1aXJlbWVudHNGb3JOYW1lZEZsb3dGaXhlZChsYXllciwgb3ZlcmxhcE1hcCwgY2hpbGRT
dGF0ZSwgbGF5ZXJzQ2hhbmdlZCwgYW55RGVzY2VuZGFudEhhczNEVHJhbnNmb3JtKTsKKwogICAg
IC8vIElmIHdlIGp1c3QgZW50ZXJlZCBjb21wb3NpdGluZyBtb2RlLCB0aGUgcm9vdCB3aWxsIGhh
dmUgYmVjb21lIGNvbXBvc2l0ZWQgKGFzIGxvbmcgYXMgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcg
aXMgZW5hYmxlZCkuCiAgICAgaWYgKGxheWVyLmlzUm9vdExheWVyKCkpIHsKICAgICAgICAgaWYg
KGluQ29tcG9zaXRpbmdNb2RlKCkgJiYgbV9oYXNBY2NlbGVyYXRlZENvbXBvc2l0aW5nKQpAQCAt
MTMwOCw2ICsxMzI4LDIzIEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjYW5BY2NlbGVy
YXRlVmlkZW9SZW5kZXJpbmcoUmVuZGVyVmlkZW8mIHZpZGVvKSBjb25zCiB9CiAjZW5kaWYKIAor
dm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlYnVpbGRDb21wb3NpdGluZ0xheWVyVHJlZUZv
ck5hbWVkRmxvd0ZpeGVkKFJlbmRlckxheWVyJiBsYXllciwgVmVjdG9yPEdyYXBoaWNzTGF5ZXIq
PiYgY2hpbGRHcmFwaGljc0xheWVyc09mRW5jbG9zaW5nTGF5ZXIsIGludCBkZXB0aCkKK3sKKyAg
ICBpZiAoIWxheWVyLmlzUm9vdExheWVyKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmICgh
bGF5ZXIucmVuZGVyZXIoKS52aWV3KCkuaGFzUmVuZGVyTmFtZWRGbG93VGhyZWFkcygpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBWZWN0b3I8UmVuZGVyTGF5ZXIqPiBmaXhlZExheWVyczsKKyAg
ICBsYXllci5yZW5kZXJlcigpLnZpZXcoKS5mbG93VGhyZWFkQ29udHJvbGxlcigpLmNvbGxlY3RG
aXhlZFBvc2l0aW9uZWRMYXllcnMoZml4ZWRMYXllcnMpOworCisgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBmaXhlZExheWVycy5zaXplKCk7ICsraSkgeworICAgICAgICBSZW5kZXJMYXllciog
Zml4ZWRMYXllciA9IGZpeGVkTGF5ZXJzLmF0KGkpOworICAgICAgICByZWJ1aWxkQ29tcG9zaXRp
bmdMYXllclRyZWUoKmZpeGVkTGF5ZXIsIGNoaWxkR3JhcGhpY3NMYXllcnNPZkVuY2xvc2luZ0xh
eWVyLCBkZXB0aCk7CisgICAgfQorfQorCiB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVi
dWlsZENvbXBvc2l0aW5nTGF5ZXJUcmVlKFJlbmRlckxheWVyJiBsYXllciwgVmVjdG9yPEdyYXBo
aWNzTGF5ZXIqPiYgY2hpbGRMYXllcnNPZkVuY2xvc2luZ0xheWVyLCBpbnQgZGVwdGgpCiB7CiAg
ICAgLy8gTWFrZSB0aGUgbGF5ZXIgY29tcG9zaXRpbmcgaWYgbmVjZXNzYXJ5LCBhbmQgc2V0IHVw
IGNsaXBwaW5nIGFuZCBjb250ZW50IGxheWVycy4KQEAgLTEzMTcsNyArMTM1NCw3IEBAIHZvaWQg
UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZWJ1aWxkQ29tcG9zaXRpbmdMYXllclRyZWUoUmVuZGVy
TGF5ZXImIGxheWVyLCBWZWN0CiAgICAgLy8gRG8gbm90IGl0ZXJhdGUgdGhlIFJlbmRlckZsb3dU
aHJlYWQgZGlyZWN0bHkuIFdlIGFyZSBnb2luZyB0byBjb2xsZWN0IGNvbXBvc2l0ZWQgbGF5ZXJz
IGFzIHBhcnQgb2YgcmVnaW9ucy4KICAgICBpZiAobGF5ZXIuaXNGbG93VGhyZWFkQ29sbGVjdGlu
Z0dyYXBoaWNzTGF5ZXJzVW5kZXJSZWdpb25zKCkpCiAgICAgICAgIHJldHVybjsKLSAgICAKKwog
ICAgIFJlbmRlckxheWVyQmFja2luZyogbGF5ZXJCYWNraW5nID0gbGF5ZXIuYmFja2luZygpOwog
ICAgIGlmIChsYXllckJhY2tpbmcpIHsKICAgICAgICAgLy8gVGhlIGNvbXBvc2l0aW5nIHN0YXRl
IG9mIGFsbCBvdXIgY2hpbGRyZW4gaGFzIGJlZW4gdXBkYXRlZCBhbHJlYWR5LCBzbyBub3cKQEAg
LTEzODAsNyArMTQxNywxMCBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVidWlsZENv
bXBvc2l0aW5nTGF5ZXJUcmVlKFJlbmRlckxheWVyJiBsYXllciwgVmVjdAogICAgICAgICAgICAg
ICAgIHJlYnVpbGRDb21wb3NpdGluZ0xheWVyVHJlZSgqcG9zWk9yZGVyTGlzdC0+YXQoaSksIGNo
aWxkTGlzdCwgZGVwdGggKyAxKTsKICAgICAgICAgfQogICAgIH0KLSAgICAKKworICAgIGlmIChs
YXllci5pc1Jvb3RMYXllcigpKQorICAgICAgICByZWJ1aWxkQ29tcG9zaXRpbmdMYXllclRyZWVG
b3JOYW1lZEZsb3dGaXhlZChsYXllciwgY2hpbGRMaXN0LCBkZXB0aCArIDEpOworCiAgICAgaWYg
KGxheWVyQmFja2luZykgewogICAgICAgICBib29sIHBhcmVudGVkID0gZmFsc2U7CiAgICAgICAg
IGlmIChsYXllci5yZW5kZXJlcigpLmlzV2lkZ2V0KCkpCkBAIC0xNTk4LDEwICsxNjM4LDYgQEAg
Ym9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnBhcmVudEZyYW1lQ29udGVudExheWVycyhSZW5k
ZXJXaWRnZXQqIHJlbmRlcmVyKQogLy8gVGhpcyBqdXN0IHVwZGF0ZXMgbGF5ZXIgZ2VvbWV0cnkg
d2l0aG91dCBjaGFuZ2luZyB0aGUgaGllcmFyY2h5Lgogdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0
b3I6OnVwZGF0ZUxheWVyVHJlZUdlb21ldHJ5KFJlbmRlckxheWVyJiBsYXllciwgaW50IGRlcHRo
KQogewotICAgIC8vIEZJWE1FOiBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnRzIGluc2lkZSBhIG5h
bWVkIGZsb3cgYXJlIG5vdCBjb21wb3NpdGVkIHlldC4KLSAgICBpZiAobGF5ZXIuaXNPdXRPZkZs
b3dSZW5kZXJGbG93VGhyZWFkKCkpCi0gICAgICAgIHJldHVybjsKLQogICAgIGlmIChSZW5kZXJM
YXllckJhY2tpbmcqIGxheWVyQmFja2luZyA9IGxheWVyLmJhY2tpbmcoKSkgewogICAgICAgICAv
LyBUaGUgY29tcG9zaXRpbmcgc3RhdGUgb2YgYWxsIG91ciBjaGlsZHJlbiBoYXMgYmVlbiB1cGRh
dGVkIGFscmVhZHksIHNvIG5vdwogICAgICAgICAvLyB3ZSBjYW4gY29tcHV0ZSBhbmQgY2FjaGUg
dGhlIGNvbXBvc2l0ZWQgYm91bmRzIGZvciB0aGlzIGxheWVyLgpAQCAtMjUwMSw3ICsyNTM3LDcg
QEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JQb3Np
dGlvbihSZW5kZXJMYXllck1vZGVsT2JqZWMKIAogICAgIC8vIERvbid0IHByb21vdGUgZml4ZWQg
cG9zaXRpb24gZWxlbWVudHMgdGhhdCBhcmUgZGVzY2VuZGFudHMgb2YgYSBub24tdmlldyBjb250
YWluZXIsIGUuZy4gdHJhbnNmb3JtZWQgZWxlbWVudHMuCiAgICAgLy8gVGhleSB3aWxsIHN0YXkg
Zml4ZWQgd3J0IHRoZSBjb250YWluZXIgcmF0aGVyIHRoYW4gdGhlIGVuY2xvc2luZyBmcmFtZS4K
LSAgICBpZiAoY29udGFpbmVyICE9ICZtX3JlbmRlclZpZXcpIHsKKyAgICBpZiAoY29udGFpbmVy
ICE9ICZtX3JlbmRlclZpZXcgJiYgIXJlbmRlcmVyLmZpeGVkUG9zaXRpb25lZFdpdGhOYW1lZEZs
b3dDb250YWluaW5nQmxvY2soKSkgewogICAgICAgICBpZiAodmlld3BvcnRDb25zdHJhaW5lZE5v
dENvbXBvc2l0ZWRSZWFzb24pCiAgICAgICAgICAgICAqdmlld3BvcnRDb25zdHJhaW5lZE5vdENv
bXBvc2l0ZWRSZWFzb24gPSBSZW5kZXJMYXllcjo6Tm90Q29tcG9zaXRlZEZvck5vblZpZXdDb250
YWluZXI7CiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAppbmRleCBkOTg2MTVjZTU3MjMzN2IzZTczZjMx
N2U5ZWY4Nzk5MDY5YTg0NzBlLi43NTFjZjk4ZDdhMzAwYWQyMTU4NzIzZjMyYjAzZTFkZWU4OWRh
NTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21w
b3NpdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5oCkBAIC0zNDEsNyArMzQxLDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNvbXB1dGVDb21w
b3NpdGluZ1JlcXVpcmVtZW50cyhSZW5kZXJMYXllciogYW5jZXN0b3JMYXllciwgUmVuZGVyTGF5
ZXImLCBPdmVybGFwTWFwKiwgc3RydWN0IENvbXBvc2l0aW5nU3RhdGUmLCBib29sJiBsYXllcnND
aGFuZ2VkLCBib29sJiBkZXNjZW5kYW50SGFzM0RUcmFuc2Zvcm0pOwogCiAgICAgdm9pZCBjb21w
dXRlUmVnaW9uQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMoUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQq
LCBPdmVybGFwTWFwKiwgQ29tcG9zaXRpbmdTdGF0ZSYsIGJvb2wmIGxheWVyc0NoYW5nZWQsIGJv
b2wmIGFueURlc2NlbmRhbnRIYXMzRFRyYW5zZm9ybSk7Ci0gICAgCisKKyAgICB2b2lkIGNvbXB1
dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50c0Zvck5hbWVkRmxvd0ZpeGVkKFJlbmRlckxheWVyJiwg
T3ZlcmxhcE1hcCosIENvbXBvc2l0aW5nU3RhdGUmLCBib29sJiBsYXllcnNDaGFuZ2VkLCBib29s
JiBhbnlEZXNjZW5kYW50SGFzM0RUcmFuc2Zvcm0pOworCiAgICAgLy8gUmVjdXJzZXMgZG93biB0
aGUgdHJlZSwgcGFyZW50aW5nIGRlc2NlbmRhbnQgY29tcG9zaXRpbmcgbGF5ZXJzIGFuZCBjb2xs
ZWN0aW5nIGFuIGFycmF5IG9mIGNoaWxkIGxheWVycyBmb3IgdGhlIGN1cnJlbnQgY29tcG9zaXRp
bmcgbGF5ZXIuCiAgICAgdm9pZCByZWJ1aWxkQ29tcG9zaXRpbmdMYXllclRyZWUoUmVuZGVyTGF5
ZXImLCBWZWN0b3I8R3JhcGhpY3NMYXllcio+JiBjaGlsZEdyYXBoaWNzTGF5ZXJzT2ZFbmNsb3Np
bmdMYXllciwgaW50IGRlcHRoKTsKIApAQCAtMzQ5LDYgKzM1MSw4IEBAIHByaXZhdGU6CiAgICAg
Ly8gbGF5ZXJzIGZvciB0aGUgY3VycmVudCBjb21wb3NpdGluZyBsYXllciBjb3JyZXNwb25kaW5n
IHRvIHRoZSBhbm9ueW1vdXMgcmVnaW9uICh0aGF0IGJlbG9uZ3MgdG8gdGhlIHJlZ2lvbidzIHBh
cmVudCkuCiAgICAgdm9pZCByZWJ1aWxkUmVnaW9uQ29tcG9zaXRpbmdMYXllclRyZWUoUmVuZGVy
TmFtZWRGbG93RnJhZ21lbnQqLCBWZWN0b3I8R3JhcGhpY3NMYXllcio+JiBjaGlsZExpc3QsIGlu
dCBkZXB0aCk7CiAKKyAgICB2b2lkIHJlYnVpbGRDb21wb3NpdGluZ0xheWVyVHJlZUZvck5hbWVk
Rmxvd0ZpeGVkKFJlbmRlckxheWVyJiwgVmVjdG9yPEdyYXBoaWNzTGF5ZXIqPiYgY2hpbGRMaXN0
LCBpbnQgZGVwdGgpOworCiAgICAgLy8gUmVjdXJzZXMgZG93biB0aGUgdHJlZSwgdXBkYXRpbmcg
bGF5ZXIgZ2VvbWV0cnkgb25seS4KICAgICB2b2lkIHVwZGF0ZUxheWVyVHJlZUdlb21ldHJ5KFJl
bmRlckxheWVyJiwgaW50IGRlcHRoKTsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dGcmFnbWVudC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50LmgKaW5kZXggZjZjYmJhNjdhYzk1YWNlNmVm
NDA3NDNhMmM0ZmEyZDM3ZjU5ODZhNS4uODk0MWYzOTg0ODgxMjdlOTc1OGMyZTY2YjkxN2ZlOWQx
MmI1M2FkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVk
Rmxvd0ZyYWdtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVk
Rmxvd0ZyYWdtZW50LmgKQEAgLTY2LDggKzY2LDggQEAgcHVibGljOgogICAgIC8vIHBhcmVudCBy
ZW5kZXJlciBpbnN0ZWFkLgogICAgIC8vIFRoaXMgbWV0aG9kIHJldHVybnMgdGhhdCByZW5kZXJl
ciBob2xkaW5nIHRoZSBsYXllci4KICAgICAvLyBUaGUgcmV0dXJuIHZhbHVlIG1heSBiZSBudWxs
LgotICAgIFJlbmRlckxheWVyTW9kZWxPYmplY3QqIGxheWVyT3duZXIoKSBjb25zdCB7IHJldHVy
biBwYXJlbnQoKSAmJiBwYXJlbnQoKS0+aXNSZW5kZXJMYXllck1vZGVsT2JqZWN0KCkgPwotICAg
ICAgICB0b1JlbmRlckxheWVyTW9kZWxPYmplY3QocGFyZW50KCkpIDogbnVsbHB0cjsgfQorICAg
IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIGxheWVyT3duZXIoKSBjb25zdCB7IHJldHVybiBwYXJl
bnQoKSAmJiBwYXJlbnQoKS0+aXNSZW5kZXJMYXllck1vZGVsT2JqZWN0KCkgPyB0b1JlbmRlckxh
eWVyTW9kZWxPYmplY3QocGFyZW50KCkpCisgICAgICAgIDogbnVsbHB0cjsgfQogCiAgICAgYm9v
bCBoYXNDdXN0b21SZWdpb25TdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1faGFzQ3VzdG9tUmVnaW9u
U3R5bGU7IH0KICAgICB2b2lkIHNldEhhc0N1c3RvbVJlZ2lvblN0eWxlKGJvb2wgaGFzQ3VzdG9t
UmVnaW9uU3R5bGUpIHsgbV9oYXNDdXN0b21SZWdpb25TdHlsZSA9IGhhc0N1c3RvbVJlZ2lvblN0
eWxlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRG
bG93VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhy
ZWFkLmgKaW5kZXggZWM0Zjg0MjNjYTUyNmFkNGI3YjcyZTc2NTE0MmVjZjIwNjc4NzRhMy4uMmQ0
N2JkMjQ2N2E3YTgxMmVjOTllOTY1M2VhY2RiNjU5ZjAxNjAyMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQuaApAQCAtMTUzLDQgKzE1Mywz
IEBAIFJFTkRFUl9PQkpFQ1RfVFlQRV9DQVNUUyhSZW5kZXJOYW1lZEZsb3dUaHJlYWQsIGlzUmVu
ZGVyTmFtZWRGbG93VGhyZWFkKCkpCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAv
LyBSZW5kZXJOYW1lZEZsb3dUaHJlYWRfaAotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOWJiNmZmZGNkY2RlMDA5YmM2OTNl
MmM5OTlhMzBiYjM0NDRlZmYxMi4uZmIyNzRiMDJjNzNiZjc4YmQzYTQ4N2Y2ZWViNWYzYWExMzdi
OWZjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE0LTAxLTE1ICBNaWhuZWEgT3ZpZGVuaWUg
IDxtaWhuZWFAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1MgUmVnaW9uc10gRW5hYmxlIGFjY2Vs
ZXJhdGVkIGNvbXBvc2l0aW5nIGZvciBmaXhlZCBlbGVtZW50cyBpbiBuYW1lZCBmbG93cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1MTQ0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgSHlhdHQuCisKKyAgICAgICAgQWRkZWQgbmV3IHRlc3Rz
IGFuZCBtYWRlIHRoZSBleGlzdGluZyB0ZXN0cyBmb3IgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50
cyB1c2UgdGhlCisgICAgICAgIG5vbi1jb21wb3NpdGluZyBtb2RlLgorCisgICAgICAgICogY29t
cG9zaXRpbmcvcmVnaW9ucy9hYnMtaW4tbmFtZWQtZmxvdy1mcm9tLWZpeGVkLWluLW5hbWVkLWZs
b3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9yZWdpb25zL2Fi
cy1pbi1uYW1lZC1mbG93LWZyb20tZml4ZWQtaW4tbmFtZWQtZmxvdy5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBjb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLWRpZmYtbmFtZWQtZmxvd3Mteklu
ZGV4LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL3JlZ2lvbnMv
Zml4ZWQtaW4tZGlmZi1uYW1lZC1mbG93cy16SW5kZXguaHRtbDogQWRkZWQuCisgICAgICAgICog
Y29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWNsaXAtZGVzY2VuZGFudC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQt
aW4tbmFtZWQtZmxvdy1jbGlwLWRlc2NlbmRhbnQuaHRtbDogQWRkZWQuCisgICAgICAgICogY29t
cG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWZyb20t
YWJzLWluLW5hbWVkLWZsb3ctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3Np
dGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctZnJvbS1hYnMtaW4tbmFtZWQtZmxvdy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVk
LWZsb3ctZnJvbS1vdXRmbG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY29tcG9z
aXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWZyb20tb3V0Zmxvdy5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctZ290
LXRyYW5zZm9ybWVkLXBhcmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNvbXBv
c2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1nb3QtdHJhbnNmb3JtZWQtcGFyZW50
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFt
ZWQtZmxvdy1sb3N0LXRyYW5zZm9ybWVkLXBhcmVudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGNvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1sb3N0LXRyYW5z
Zm9ybWVkLXBhcmVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9yZWdpb25z
L2ZpeGVkLWluLW5hbWVkLWZsb3ctb3ZlcmxhcC1jb21wb3NpdGVkLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LW92
ZXJsYXAtY29tcG9zaXRlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9yZWdp
b25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctcG9zaXRpb24tY2hhbmdlZC1leHBlY3RlZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ct
cG9zaXRpb24tY2hhbmdlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9yZWdp
b25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctdHJhbnNmb3JtZWQtcGFyZW50LWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93
LXRyYW5zZm9ybWVkLXBhcmVudC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9y
ZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctekluZGV4LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGNvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy16SW5kZXgu
aHRtbDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1l
ZC1mbG93Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQt
dHJhbnNmb3JtZWQtaW4tbmFtZWQtZmxvdy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGNvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtdHJhbnNmb3JtZWQtaW4tbmFtZWQtZmxvdy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvcmVwYWludC9lbGVtZW50LWluLW5hbWVk
LWZsb3ctYWJzb2x1dGUtZnJvbS1maXhlZC5odG1sOgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9y
ZXBhaW50L2VsZW1lbnQtaW4tbmFtZWQtZmxvdy1maXhlZC1mcm9tLWFic29sdXRlLmh0bWw6Cisg
ICAgICAgICogZmFzdC9yZWdpb25zL3JlcGFpbnQvZWxlbWVudC1pbmZsb3ctZml4ZWQtZnJvbS1v
dXRmbG93LXN0YXRpYy5odG1sOgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9yZXBhaW50L2VsZW1l
bnQtb3V0Zmxvdy1zdGF0aWMtZnJvbS1pbmZsb3ctZml4ZWQuaHRtbDoKKwogMjAxNC0wMS0xNSAg
Unl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgVW5yZXZpZXdl
ZC4gRUZMIEdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Jl
Z2lvbnMvYWJzLWluLW5hbWVkLWZsb3ctZnJvbS1maXhlZC1pbi1uYW1lZC1mbG93LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvYWJzLWluLW5hbWVkLWZsb3ct
ZnJvbS1maXhlZC1pbi1uYW1lZC1mbG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZTY2YzZj
ODRkYTRmMjc1N2Y4ZTQ0ZDQzNTA4ZGFhYWM5YzU0YzliCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9hYnMtaW4tbmFtZWQtZmxvdy1mcm9tLWZpeGVk
LWluLW5hbWVkLWZsb3ctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorVGVzdCB0aGF0IGEg
Zml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHRoYXQgaXMgZHluYW1pY2FseSBjaGFuZ2VkIHRvIGFi
c29sdXRlIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIGZpcnN0IHJlZ2lvbiBpbnN0ZWFk
IG9mIHRoZSB2aWV3cG9ydC4KKworVGhlIGZpeGVkIGVsZW1lbnQgc2hvdWxkIE5PVCBiZSBjb21w
b3NpdGVkLgorCitPbiBzdWNjZXNzIHlvdSBzaG91bGQgbm90IHNlZSByZWQgYmVsb3cuCisKKwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9hYnMtaW4tbmFtZWQt
Zmxvdy1mcm9tLWZpeGVkLWluLW5hbWVkLWZsb3cuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0
aW5nL3JlZ2lvbnMvYWJzLWluLW5hbWVkLWZsb3ctZnJvbS1maXhlZC1pbi1uYW1lZC1mbG93Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMGFlNDVkZmFiYzc2ZjdlMTRlNWEwYzU2YzFiNTE2MDczNmQ0ZmE1MAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvYWJzLWlu
LW5hbWVkLWZsb3ctZnJvbS1maXhlZC1pbi1uYW1lZC1mbG93Lmh0bWwKQEAgLTAsMCArMSwzNCBA
QAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgor
ICAgICAgICAgICAgLnJlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OyBwb3NpdGlvbjog
YWJzb2x1dGU7IHRvcDogMTAwcHg7IGxlZnQ6IDEwMHB4OyB3aWR0aDogMTUwcHg7IGhlaWdodDog
MTUwcHg7IH0KKyAgICAgICAgICAgIC5hYnNvbHV0ZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgfQor
ICAgICAgICAgICAgLmZpeGVkIHsgcG9zaXRpb246IGZpeGVkOyB9CisgICAgICAgICAgICAjcmVk
IHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgd2lkdGg6IDUw
cHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9CisgICAgICAgICAgICAj
YWJzRnJvbUZpeGVkIHsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7IHRvcDogNTBweDsgbGVmdDog
NTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3
aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKHRydWUp
OworCisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImFic0Zyb21GaXhlZCIpLmNsYXNzTmFtZSA9ICJhYnNvbHV0ZSI7CisgICAg
ICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgICAgIGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllclRyZWUiKS5pbm5lclRleHQgPSB3aW5kb3cuaW50
ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CisgICAgICAgICAgICB9LCBmYWxzZSk7
CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+
VGVzdCB0aGF0IGEgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHRoYXQgaXMgZHluYW1pY2FseSBj
aGFuZ2VkIHRvIGFic29sdXRlIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIGZpcnN0IHJl
Z2lvbiBpbnN0ZWFkIG9mIHRoZSB2aWV3cG9ydC48L3A+CisgICAgICAgIDxwPlRoZSBmaXhlZCBl
bGVtZW50IHNob3VsZCBOT1QgYmUgY29tcG9zaXRlZC48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nl
c3MgeW91IHNob3VsZCBub3Qgc2VlIHJlZCBiZWxvdy48L3A+CisgICAgICAgIDxkaXYgaWQ9InJl
ZCI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxk
aXYgaWQ9ImFic0Zyb21GaXhlZCIgY2xhc3M9ImZpeGVkIj48L2Rpdj4KKyAgICAgICAgPHByZSBp
ZD0ibGF5ZXJUcmVlIj48L3ByZT4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLWRpZmYtbmFtZWQtZmxvd3Mt
ekluZGV4LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2Zp
eGVkLWluLWRpZmYtbmFtZWQtZmxvd3MtekluZGV4LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZmY0ZWEwOWJlNDY0ZWEyYTMwZDkxYTFmMTQ2MWMxNGMyZTMyNDg4NwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tZGlmZi1uYW1lZC1m
bG93cy16SW5kZXgtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDI0IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYg
KHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0
aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQodHJ1
ZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjZml4
ZWQxIHsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB0b3A6IDEwMHB4OyBsZWZ0OiAxMDBw
eDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IHBvc2l0aW9uOiBmaXhlZDsgei1pbmRleDogMTA7
IH0KKworICAgICAgICAgICAgI2ZpeGVkMiB7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsg
dG9wOiAxNTBweDsgbGVmdDogMTUwcHg7IGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTsgcG9zaXRp
b246IGZpeGVkOyB6LWluZGV4OiAxOyB9CisKKyAgICAgICAgICAgICNmaXhlZDMgeyB3aWR0aDog
MTAwcHg7IGhlaWdodDogMTAwcHg7IHRvcDogMTc1cHg7IGxlZnQ6IDE3NXB4OyBiYWNrZ3JvdW5k
LWNvbG9yOiBibHVlOyBwb3NpdGlvbjogZml4ZWQ7IHotaW5kZXg6IDU7IH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgZm9yIDxhIGhy
ZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUxNDQiPldlYktp
dCBCdWcgMTI1MTQ0PC9hPiBbQ1NTIFJlZ2lvbnNdIEVuYWJsZSBhY2NlbGVyYXRlZCBjb21wb3Np
dGluZyBmb3IgZml4ZWQgZWxlbWVudHMgaW4gbmFtZWQgZmxvd3M8L3A+CisgICAgICAgIDxwPlRl
c3QgdGhhdCBwYWludGluZyB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50cyBjb2xsZWN0ZWQg
aW4gZGlmZmVyZW50IG5hbWVkIGZsb3dzIHRha2VzIHpJbmRleCBpbnRvIGFjY291bnQuPC9wPgor
ICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSAzIHJlY3RhbmdsZXMgcGFpbnRl
ZCBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOiBncmVlbiwgYmx1ZSwgb3JhbmdlLjwvcD4KKyAgICAg
ICAgPGRpdiBpZD0iZml4ZWQxIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQyIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQzIj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLWRp
ZmYtbmFtZWQtZmxvd3MtekluZGV4Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdp
b25zL2ZpeGVkLWluLWRpZmYtbmFtZWQtZmxvd3MtekluZGV4Lmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTZj
OTE1ZDhjZjQ0NjhjMGNjMDU3M2E5ODg0NDUxMTI0MmJkYTI2MwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tZGlmZi1uYW1lZC1mbG93
cy16SW5kZXguaHRtbApAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
ICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQodHJ1ZSk7CisgICAgICAg
IDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjZml4ZWQxIHsgLXdlYmtp
dC1mbG93LWludG86IGZsb3c7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxMDBw
eDsgbGVmdDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyBwb3NpdGlvbjogZml4ZWQ7
IHotaW5kZXg6IDEwOyB9CisKKyAgICAgICAgICAgICNmaXhlZDIgeyAtd2Via2l0LWZsb3ctaW50
bzogZmxvdzI7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxNTBweDsgbGVmdDog
MTUwcHg7IGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTsgcG9zaXRpb246IGZpeGVkOyB6LWluZGV4
OiAxOyB9CisKKyAgICAgICAgICAgICNmaXhlZDMgeyAtd2Via2l0LWZsb3ctaW50bzogZmxvdzI7
IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxNzVweDsgbGVmdDogMTc1cHg7IGJh
Y2tncm91bmQtY29sb3I6IGJsdWU7IHBvc2l0aW9uOiBmaXhlZDsgei1pbmRleDogNTsgfQorCisg
ICAgICAgICAgICAvKiBXZSBuZWVkIGEgcmVnaW9uIGZvciBlYWNoIGZsb3cgYmVjYXVzZSBvdGhl
cndpc2UgdGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudHMgYXJlIG5vdCBkaXNwbGF5ZWQgKi8K
KyAgICAgICAgICAgICNyZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgfQorICAgICAg
ICAgICAgI3JlZ2lvbjIgeyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzI7IH0KKyAgICAgICAgPC9z
dHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgZm9yIDxhIGhy
ZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUxNDQiPldlYktp
dCBCdWcgMTI1MTQ0PC9hPiBbQ1NTIFJlZ2lvbnNdIEVuYWJsZSBhY2NlbGVyYXRlZCBjb21wb3Np
dGluZyBmb3IgZml4ZWQgZWxlbWVudHMgaW4gbmFtZWQgZmxvd3M8L3A+CisgICAgICAgIDxwPlRl
c3QgdGhhdCBwYWludGluZyB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50cyBjb2xsZWN0ZWQg
aW4gZGlmZmVyZW50IG5hbWVkIGZsb3dzIHRha2VzIHpJbmRleCBpbnRvIGFjY291bnQuPC9wPgor
ICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSAzIHJlY3RhbmdsZXMgcGFpbnRl
ZCBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOiBncmVlbiwgYmx1ZSwgb3JhbmdlLjwvcD4KKyAgICAg
ICAgPGRpdiBpZD0iZml4ZWQxIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQyIj48L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0iZml4ZWQzIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVn
aW9uIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uMiI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9m
aXhlZC1pbi1uYW1lZC1mbG93LWNsaXAtZGVzY2VuZGFudC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctY2xpcC1kZXNjZW5k
YW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iODcwMGIzMDBkYjQ1Zjg5MGNiYmU3ZmRhYTE4
MWZmNjRhMTcyMzU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
cmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWNsaXAtZGVzY2VuZGFudC1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzMyBAQAorVGVzdCBhIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCBjb2xsZWN0
ZWQgaW4gYSBuYW1lZCBmbG93IGNvcnJlY3RseSBjbGlwcyBpdHMgYW5jZXN0b3IuCisKK09uIHN1
Y2Nlc3MsIHlvdSBzaG91bGQgc2VlIGEgZ3JlZW4gcmVjdGFuZ2xlIHdpdGggYW4gb3JhbmdlIHJl
Y3RhbmdsZSBpbiB0aGUgYm90dG9tIHJpZ2h0IGNvcm5lci4KKworKEdyYXBoaWNzTGF5ZXIKKyAg
KGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGljc0xheWVy
CisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY29udGVudHNPcGFxdWUgMSkK
KyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgKHBv
c2l0aW9uIDE1MC4wMCAxNTAuMDApCisgICAgICAgICAgKGJvdW5kcyAxMDAuMDAgMTAwLjAwKQor
ICAgICAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgICAgIChjaGlsZHJlbiAxCisgICAg
ICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAoYm91bmRzIDEwMC4wMCAxMDAu
MDApCisgICAgICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAgKEdyYXBoaWNz
TGF5ZXIKKyAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiA1MC4wMCA1MC4wMCkKKyAgICAgICAg
ICAgICAgICAgIChib3VuZHMgMTAwLjAwIDEwMC4wMCkKKyAgICAgICAgICAgICAgICAgIChjb250
ZW50c09wYXF1ZSAxKQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgKQorICAgICAg
ICAgICAgKQorICAgICAgICAgICkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5h
bWVkLWZsb3ctY2xpcC1kZXNjZW5kYW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9y
ZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctY2xpcC1kZXNjZW5kYW50Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMzY3ZGUxMjllZjc1YmNmYmUyOTQzZWJkYTI1YTIzMThhODc5NGExYQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxv
dy1jbGlwLWRlc2NlbmRhbnQuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjcmVnaW9u
IHsgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7IH0KKyAgICAgICAgICAgICNmaXhlZCB7IC13ZWJr
aXQtZmxvdy1pbnRvOiBmbG93OyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogMTUwcHg7IGxlZnQ6IDE1
MHB4OyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVu
OyBvdmVyZmxvdzogaGlkZGVuOyB9CisgICAgICAgICAgICAjZGVzY2VuZGFudCB7IHBvc2l0aW9u
OiBhYnNvbHV0ZTsgdG9wOiA1MHB4OyBsZWZ0OiA1MHB4OyB3aWR0aDogMTAwcHg7IGhlaWdodDog
MTAwcHg7IGJhY2tncm91bmQtY29sb3I6IG9yYW5nZTsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxl
M2QoMSwgMSwgMSk7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAg
ICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRl
cm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25F
bmFibGVkKHRydWUpOworCisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAg
ICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICAgICAgICAgIHdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJsYXllclRyZWUiKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLmxheWVy
VHJlZUFzVGV4dChkb2N1bWVudCk7CisgICAgICAgICAgICB9LCBmYWxzZSk7CisgICAgICAgIDwv
c2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPHA+VGVzdCBhIGZpeGVk
IHBvc2l0aW9uZWQgZWxlbWVudCBjb2xsZWN0ZWQgaW4gYSBuYW1lZCBmbG93IGNvcnJlY3RseSBj
bGlwcyBpdHMgYW5jZXN0b3IuPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hvdWxk
IHNlZSBhIGdyZWVuIHJlY3RhbmdsZSB3aXRoIGFuIG9yYW5nZSByZWN0YW5nbGUgaW4gdGhlIGJv
dHRvbSByaWdodCBjb3JuZXIuPC9wPgorICAgICAgICA8ZGl2IGlkPSJmaXhlZCI+CisgICAgICAg
ICAgICA8ZGl2IGlkPSJkZXNjZW5kYW50Ij48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAg
IDwhLS0gTmVlZCB0byBqdXN0IGRpc3BsYXkgdGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCAt
LT4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uIj48L2Rpdj4KKyAgICAgICAgPHByZSBpZD0ibGF5
ZXJUcmVlIj48L3ByZT4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xZjQxMWYyNmY0YTY0MDY2NzUxZTExZDZlNWQwMjFkYmJh
NTcyZTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9u
cy9maXhlZC1pbi1uYW1lZC1mbG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIzIEBACitUaGlz
IHRlc3QgY29sbGVjdHMgYSBmaXhlZCBwb3NpdGlvbiBlbGVtZW50IGluc2lkZSBhIG5hbWVkIGZs
b3cgYW5kIGZsb3dzIGl0IGludG8gYSByZWdpb24uCisKK1RoZSBmaXhlZCBwb3NpdGlvbmVkIGVs
ZW1lbnQgc2hvdWxkIGJlIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIHZpZXdwb3J0IGFuZCBp
dCBzaG91bGQgYmUgY29tcG9zaXRlZC4KKworT24gc3VjY2VzcyB5b3Ugc2hvdWxkIG5vdCBzZWUg
cmVkIGJlbG93LgorCisoR3JhcGhpY3NMYXllcgorICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisg
IChjaGlsZHJlbiAxCisgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgIChib3VuZHMgODAwLjAwIDYw
MC4wMCkKKyAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgKGNoaWxkcmVuIDEKKyAgICAg
ICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAocG9zaXRpb24gMTUwLjAwIDE1MC4wMCkKKyAg
ICAgICAgICAoYm91bmRzIDEwMC4wMCAxMDAuMDApCisgICAgICAgICAgKGNvbnRlbnRzT3BhcXVl
IDEpCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWZyb20tYWJz
LWluLW5hbWVkLWZsb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVn
aW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWZyb20tYWJzLWluLW5hbWVkLWZsb3ctZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjI3ZDA2MWQ1MTk4YjU1ZGQ1YzY1NWRhMjg4YTJjNGZjOTEzNzdjYjAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVk
LWluLW5hbWVkLWZsb3ctZnJvbS1hYnMtaW4tbmFtZWQtZmxvdy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwyMyBAQAorVGVzdCB0aGF0IGFuIGFic29sdXRlbHkgcG9zaXRpb25lZCBlbGVtZW50IHRo
YXQgaXMgZHluYW1pY2FseSBjaGFuZ2VkIHRvIGZpeGVkIGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUg
dG8gdGhlIHZpZXdwb3J0IGluc3RlYWQgb2YgZmlyc3QgcmVnaW9uLgorCitUaGUgZml4ZWQgZWxl
bWVudCBzaG91bGQgYmUgY29tcG9zaXRlZC4KKworT24gc3VjY2VzcyB5b3Ugc2hvdWxkIG5vdCBz
ZWUgcmVkIGJlbG93LgorCisoR3JhcGhpY3NMYXllcgorICAoYm91bmRzIDgwMC4wMCA2MDAuMDAp
CisgIChjaGlsZHJlbiAxCisgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgIChib3VuZHMgODAwLjAw
IDYwMC4wMCkKKyAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgKGNoaWxkcmVuIDEKKyAg
ICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAocG9zaXRpb24gMTUwLjAwIDE1MC4wMCkK
KyAgICAgICAgICAoYm91bmRzIDUwLjAwIDUwLjAwKQorICAgICAgICAgIChjb250ZW50c09wYXF1
ZSAxKQorICAgICAgICApCisgICAgICApCisgICAgKQorICApCispCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1mcm9tLWFi
cy1pbi1uYW1lZC1mbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2Zp
eGVkLWluLW5hbWVkLWZsb3ctZnJvbS1hYnMtaW4tbmFtZWQtZmxvdy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmU4NGI3NWI1MDI0ZGViODU1M2YwZTYwOWY3MTU2MDAwMTY1M2VmYjQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ct
ZnJvbS1hYnMtaW4tbmFtZWQtZmxvdy5odG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgIC5y
ZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgfQorICAgICAgICAgICAgLmFic29sdXRl
IHsgcG9zaXRpb246IGFic29sdXRlOyB9CisgICAgICAgICAgICAuZml4ZWQgeyBwb3NpdGlvbjog
Zml4ZWQ7IH0KKyAgICAgICAgICAgICNyZWQgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTUw
cHg7IGxlZnQ6IDE1MHB4OyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWNv
bG9yOiByZWQ7IH0KKyAgICAgICAgICAgICNmaXhlZEZyb21BYnMgeyAtd2Via2l0LWZsb3ctaW50
bzogZmxvdzsgdG9wOiAxNTBweDsgbGVmdDogMTUwcHg7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUw
cHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB9CisgICAgICAgIDwvc3R5bGU+CisgICAgICAg
IDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAg
ICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdG
b3JGaXhlZFBvc2l0aW9uRW5hYmxlZCh0cnVlKTsKKworICAgICAgICAgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisg
ICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaXhlZEZyb21BYnMiKS5j
bGFzc05hbWUgPSAiZml4ZWQiOworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxz
KQorICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGF5ZXJUcmVl
IikuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQp
OworICAgICAgICAgICAgfSwgZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgdGhhdCBhbiBhYnNvbHV0ZWx5IHBvc2l0aW9u
ZWQgZWxlbWVudCB0aGF0IGlzIGR5bmFtaWNhbHkgY2hhbmdlZCB0byBmaXhlZCBpcyBwb3NpdGlv
bmVkIHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydCBpbnN0ZWFkIG9mIGZpcnN0IHJlZ2lvbi48L3A+
CisgICAgICAgIDxwPlRoZSBmaXhlZCBlbGVtZW50IHNob3VsZCBiZSBjb21wb3NpdGVkLjwvcD4K
KyAgICAgICAgPHA+T24gc3VjY2VzcyB5b3Ugc2hvdWxkIG5vdCBzZWUgcmVkIGJlbG93LjwvcD4K
KyAgICAgICAgPCEtLSBUaGUgcmVnaW9uIGlzIG5lY2Vzc2FyeSBpbiBvcmRlciB0byBzaG93IHRo
ZSBmaXhlZCBlbGVtZW50IC0tPgorICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpb24iPjwvZGl2Pgor
ICAgICAgICA8ZGl2IGlkPSJyZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJmaXhlZEZyb21B
YnMiIGNsYXNzPSJhYnNvbHV0ZSI+PC9kaXY+CisgICAgICAgIDxwcmUgaWQ9ImxheWVyVHJlZSI+
PC9wcmU+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWZyb20tb3V0Zmxvdy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZs
b3ctZnJvbS1vdXRmbG93LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZmIwOTMzZmNjNTIzMjdk
YzYzMjI3ZDRiNDEzMTRjYzc5NzIyOTAwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
Y29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWZyb20tb3V0Zmxvdy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyMSBAQAorVGVzdCB0aGF0IGEgZml4ZWQgcG9zaXRpb25lZCBl
bGVtZW50IHRoYXQgaXMgZGluYW1pY2FsbHkgY29sbGVjdGVkIGludG8gYSBuYW1lZCBmbG93IGlz
IHN0aWxsIHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdmlld3BvcnQgYW5kIGNvbXBvc2l0ZWQuCisK
K09uIHN1Y2Nlc3MgeW91IHNob3VsZCBub3Qgc2VlIHJlZCBiZWxvdy4KKworKEdyYXBoaWNzTGF5
ZXIKKyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGlj
c0xheWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY29udGVudHNPcGFx
dWUgMSkKKyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAg
ICAgKHBvc2l0aW9uIDEwMC4wMCAxMDAuMDApCisgICAgICAgICAgKGJvdW5kcyA1MC4wMCA1MC4w
MCkKKyAgICAgICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgICAgKQorICAgICAgKQorICAg
ICkKKyAgKQorKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25z
L2ZpeGVkLWluLW5hbWVkLWZsb3ctZnJvbS1vdXRmbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21w
b3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctZnJvbS1vdXRmbG93Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTVhMTRkM2Q0MDAxY2EzOWFlODNmN2Y5ZWY0YjFjNWY5YmNjZTc4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFt
ZWQtZmxvdy1mcm9tLW91dGZsb3cuaHRtbApAQCAtMCwwICsxLDMzIEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAuY29s
bGVjdGVkSW5OYW1lZEZsb3cgeyAtd2Via2l0LWZsb3ctaW50bzogZmxvdzsgfQorICAgICAgICAg
ICAgLnJlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OyB9CisgICAgICAgICAgICAjcmVk
IHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwMHB4OyBsZWZ0OiAxMDBweDsgd2lkdGg6IDUw
cHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9CisgICAgICAgICAgICAj
Zml4ZWQgeyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogMTAwcHg7IGxlZnQ6IDEwMHB4OyB3aWR0aDog
NTBweDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfQorICAgICAgICA8
L3N0eWxlPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCisgICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVy
YXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQodHJ1ZSk7CisKKyAgICAgICAg
ICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsKKworICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Zml4ZWQiKS5jbGFzc05hbWUgPSAiY29sbGVjdGVkSW5OYW1lZEZsb3ciOworICAgICAgICAgICAg
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgibGF5ZXJUcmVlIikuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5s
YXllclRyZWVBc1RleHQoZG9jdW1lbnQpOworICAgICAgICAgICAgfSwgZmFsc2UpOworICAgICAg
ICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgdGhh
dCBhIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCB0aGF0IGlzIGRpbmFtaWNhbGx5IGNvbGxlY3Rl
ZCBpbnRvIGEgbmFtZWQgZmxvdyBpcyBzdGlsbCBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHZpZXdw
b3J0IGFuZCBjb21wb3NpdGVkLjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2VzcyB5b3Ugc2hvdWxk
IG5vdCBzZWUgcmVkIGJlbG93LjwvcD4KKyAgICAgICAgPCEtLSBUaGUgcmVnaW9uIGlzIG5lY2Vz
c2FyeSBpbiBvcmRlciB0byBzaG93IHRoZSBmaXhlZCBlbGVtZW50IC0tPgorICAgICAgICA8ZGl2
IGNsYXNzPSJyZWdpb24iPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWQiPjwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJmaXhlZCI+PC9kaXY+CisgICAgICAgIDxwcmUgaWQ9ImxheWVyVHJlZSI+
PC9wcmU+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWdvdC10cmFuc2Zvcm1lZC1wYXJl
bnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1p
bi1uYW1lZC1mbG93LWdvdC10cmFuc2Zvcm1lZC1wYXJlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjA3NDEyZDI1YjVlNDQ1ZjBhY2VlMzVjMjQ2ZmM5NDAxYjgxYjViNmQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZs
b3ctZ290LXRyYW5zZm9ybWVkLXBhcmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOCBAQAor
VGVzdCB0aGF0IGEgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IGluIGEgbmFtZWQgZmxvdyB3aG9z
ZSBwYXJlbnQgaXMgZHluYW1pY2FsbHkgdHJhbnNmb3JtZWQgaXMgcG9zaXRpb25lZCByZWxhdGl2
ZSB0byB0aGUgcGFyZW50IGluc3RlYWQgb2Ygdmlld3BvcnQuCisKK1RoZSBmaXhlZCBwb3NpdGlv
bmVkIGVsZW1lbnQgc2hvdWxkIE5PVCBiZSBjb21wb3NpdGVkLgorCitPbiBzdWNjZXNzIHlvdSBz
aG91bGQgbm90IHNlZSByZWQgYmVsb3cuCisKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgODAw
LjAwIDYwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJv
dW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAoY2hp
bGRyZW4gMQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChkcmF3c0NvbnRlbnQg
MSkKKyAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAg
ICAgICAgICAgICAgKHBvc2l0aW9uIDEwMC4wMCAxMDAuMDApCisgICAgICAgICAgICAgIChib3Vu
ZHMgMTUwLjAwIDE1MC4wMCkKKyAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAg
ICAgICAgKQorICAgICAgICAgICkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5h
bWVkLWZsb3ctZ290LXRyYW5zZm9ybWVkLXBhcmVudC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWdvdC10cmFuc2Zvcm1lZC1wYXJlbnQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45MTM3NzUwYjUxOGFjYTExNzJiODQwZWYwYjdiZjE2Yzk5NTY4MGIz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhl
ZC1pbi1uYW1lZC1mbG93LWdvdC10cmFuc2Zvcm1lZC1wYXJlbnQuaHRtbApAQCAtMCwwICsxLDM4
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c3R5bGU+
CisgICAgICAgICAgICAudHJhbnNmb3JtZWRQYXJlbnQgeyAtd2Via2l0LXRyYW5zZm9ybTogc2Nh
bGUzZCgxLCAxLCAxKTsgfQorCisgICAgICAgICAgICAjcmVkIHsgcG9zaXRpb246IGFic29sdXRl
OyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFj
a2dyb3VuZC1jb2xvcjogcmVkOyB9CisgICAgICAgICAgICAjcGFyZW50IHsgLXdlYmtpdC1mbG93
LWludG86IGZsb3c7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMDBweDsgbGVmdDogMTAwcHg7
IHdpZHRoOiAxNTBweDsgaGVpZ2h0OiAxNTBweDsgfQorICAgICAgICAgICAgI2ZpeGVkIHsgcG9z
aXRpb246IGZpeGVkOyB0b3A6IDUwcHg7IGxlZnQ6IDUwcHg7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6
IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB9CisgICAgICAgICAgICAvKiBUaGUgcmVn
aW9uIGlzIHJlcXVpcmVzIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVs
ZW1lbnQgaXMgbm90IGRpc3BsYXllZCAqLworICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQt
Zmxvdy1mcm9tOiBmbG93OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMHB4OyBsZWZ0OiAwcHg7
IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3
aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKHRydWUp
OworCisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInBhcmVudCIpLmNsYXNzTmFtZSA9ICJ0cmFuc2Zvcm1lZFBhcmVudCI7Cisg
ICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllclRyZWUiKS5pbm5lclRleHQgPSB3aW5kb3cu
aW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CisgICAgICAgICAgICB9LCBmYWxz
ZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PHA+VGVzdCB0aGF0IGEgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IGluIGEgbmFtZWQgZmxvdyB3
aG9zZSBwYXJlbnQgaXMgZHluYW1pY2FsbHkgdHJhbnNmb3JtZWQgaXMgcG9zaXRpb25lZCByZWxh
dGl2ZSB0byB0aGUgcGFyZW50IGluc3RlYWQgb2Ygdmlld3BvcnQuPC9wPgorICAgICAgICA8cD5U
aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHNob3VsZCBOT1QgYmUgY29tcG9zaXRlZC48L3A+
CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MgeW91IHNob3VsZCBub3Qgc2VlIHJlZCBiZWxvdy48L3A+
CisgICAgICAgIDxkaXYgaWQ9InJlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InBhcmVudCI+
CisgICAgICAgICAgICA8ZGl2IGlkPSJmaXhlZCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAg
ICAgICA8ZGl2IGlkPSJyZWdpb24iPjwvZGl2PgorICAgICAgICA8cHJlIGlkPSJsYXllclRyZWUi
PjwvcHJlPgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1sb3N0LXRyYW5zZm9ybWVkLXBh
cmVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVk
LWluLW5hbWVkLWZsb3ctbG9zdC10cmFuc2Zvcm1lZC1wYXJlbnQtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmUwYWNhYWYzMzkxMTAwNzZjNjI3OGQ2MjczZTc5OTYwYTZlYWFkODQKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVk
LWZsb3ctbG9zdC10cmFuc2Zvcm1lZC1wYXJlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjMg
QEAKK1Rlc3QgdGhhdCBhIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCBpbiBhIG5hbWVkIGZsb3cg
d2hvc2UgcGFyZW50IGR5bmFtaWNhbGx5IGxvc2VzIGl0cyB0cmFuc2Zvcm1lZCBzdHlsZSBpcyBw
b3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydCBpbnN0ZWFkIG9mIHBhcmVudC4KKwor
VGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCBzaG91bGQgTk9UIGJlIGNvbXBvc2l0ZWQuCisK
K09uIHN1Y2Nlc3MgeW91IHNob3VsZCBub3Qgc2VlIHJlZCBiZWxvdy4KKworKEdyYXBoaWNzTGF5
ZXIKKyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGlj
c0xheWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY29udGVudHNPcGFx
dWUgMSkKKyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAg
ICAgKHBvc2l0aW9uIDE1MC4wMCAxNTAuMDApCisgICAgICAgICAgKGJvdW5kcyA1MC4wMCA1MC4w
MCkKKyAgICAgICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgICAgKQorICAgICAgKQorICAg
ICkKKyAgKQorKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25z
L2ZpeGVkLWluLW5hbWVkLWZsb3ctbG9zdC10cmFuc2Zvcm1lZC1wYXJlbnQuaHRtbCBiL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1sb3N0LXRyYW5z
Zm9ybWVkLXBhcmVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA5Y2EzNzhhZmRhZDRhYWZmMzFlY2NhYWYw
NGZiMGIyMWVlMmI3NzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctbG9zdC10cmFuc2Zvcm1lZC1wYXJlbnQuaHRt
bApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgor
ICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAudHJhbnNmb3JtZWRQYXJlbnQgeyAtd2Via2l0
LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfQorCisgICAgICAgICAgICAjcmVkIHsgcG9z
aXRpb246IGFic29sdXRlOyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgd2lkdGg6IDUwcHg7IGhl
aWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9CisgICAgICAgICAgICAjcGFyZW50
IHsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMDBw
eDsgbGVmdDogMTAwcHg7IHdpZHRoOiAxNTBweDsgaGVpZ2h0OiAxNTBweDsgfQorICAgICAgICAg
ICAgI2ZpeGVkIHsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgd2lk
dGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IH0KKyAgICAg
ICAgICAgIC8qIFRoZSByZWdpb24gaXMgcmVxdWlyZXMgYmVjYXVzZSBvdGhlcndpc2UgdGhlIGZp
eGVkIHBvc2l0aW9uZWQgZWxlbWVudCBpcyBub3QgZGlzcGxheWVkICovCisgICAgICAgICAgICAj
cmVnaW9uIHsgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9w
OiAwcHg7IGxlZnQ6IDBweDsgfQorICAgICAgICA8L3N0eWxlPgorICAgICAgICA8c2NyaXB0Pgor
ICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3Np
dGlvbkVuYWJsZWQodHJ1ZSk7CisKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
KyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKworICAgICAgICAgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFyZW50IikuY2xhc3NOYW1lID0gIiI7Cisg
ICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsYXllclRyZWUiKS5pbm5lclRleHQgPSB3aW5kb3cu
aW50ZXJuYWxzLmxheWVyVHJlZUFzVGV4dChkb2N1bWVudCk7CisgICAgICAgICAgICB9LCBmYWxz
ZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAg
PHA+VGVzdCB0aGF0IGEgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IGluIGEgbmFtZWQgZmxvdyB3
aG9zZSBwYXJlbnQgZHluYW1pY2FsbHkgbG9zZXMgaXRzIHRyYW5zZm9ybWVkIHN0eWxlIGlzIHBv
c2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIHZpZXdwb3J0IGluc3RlYWQgb2YgcGFyZW50LjwvcD4K
KyAgICAgICAgPHA+VGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCBzaG91bGQgTk9UIGJlIGNv
bXBvc2l0ZWQuPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzIHlvdSBzaG91bGQgbm90IHNlZSBy
ZWQgYmVsb3cuPC9wPgorICAgICAgICA8ZGl2IGlkPSJyZWQiPjwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJwYXJlbnQiIGNsYXNzPSJ0cmFuc2Zvcm1lZFBhcmVudCI+CisgICAgICAgICAgICA8ZGl2
IGlkPSJmaXhlZCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdp
b24iPjwvZGl2PgorICAgICAgICA8cHJlIGlkPSJsYXllclRyZWUiPjwvcHJlPgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMv
Zml4ZWQtaW4tbmFtZWQtZmxvdy1vdmVybGFwLWNvbXBvc2l0ZWQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LW92ZXJsYXAt
Y29tcG9zaXRlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTA0YzlmZDg1NTM0MDBiYjM4NThm
MzFmNTg1MTU1ZDg4MDYzZTNkMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1vdmVybGFwLWNvbXBvc2l0ZWQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjYgQEAKK1Rlc3QgdGhhdCBhIGZpeGVkIHBvc2l0aW9uZWQg
ZWxlbWVudCBpbiBhIG5hbWVkIGZsb3cgdGhhdCBvdmVybGFwcyBhIGNvbXBvc2l0ZWQgZWxlbWVu
dCBpcyBjb21wb3NpdGVkIHRvby4KKworT24gc3VjY2VzcyB5b3Ugc2hvdWxkIHNlZSBhIGdyZWVu
IHJlY3RhbmdsZSBvdmVyIGFuIG9yYW5nZSByZWN0YW5nbGUuCisKKyhHcmFwaGljc0xheWVyCisg
IChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXll
cgorICAgICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEp
CisgICAgICAoY2hpbGRyZW4gMgorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChw
b3NpdGlvbiAxNTAuMDAgMTUwLjAwKQorICAgICAgICAgIChib3VuZHMgMTAwLjAwIDEwMC4wMCkK
KyAgICAgICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgICAgKQorICAgICAgICAoR3JhcGhp
Y3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiAyMDAuMDAgMjAwLjAwKQorICAgICAgICAgIChi
b3VuZHMgMTAwLjAwIDEwMC4wMCkKKyAgICAgICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAg
ICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctb3ZlcmxhcC1jb21wb3NpdGVk
Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZs
b3ctb3ZlcmxhcC1jb21wb3NpdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzNkZTIyZWRjYTc4MWY5MjBl
MTljZWU1NDg2NjU0YzI3MzI2M2U0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1vdmVybGFwLWNvbXBvc2l0ZWQu
aHRtbApAQCAtMCwwICsxLDI5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFk
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAudHJhbnNmb3JtZWQgeyAtd2Via2l0LXRy
YW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfQorICAgICAgICAgICAgI29yYW5nZSB7IHBvc2l0
aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB0b3A6IDE1MHB4OyBs
ZWZ0OiAxNTBweDsgYmFja2dyb3VuZC1jb2xvcjogb3JhbmdlOyB9CisgICAgICAgICAgICAjZml4
ZWQgeyAtd2Via2l0LWZsb3ctaW50bzogZmxvdzsgcG9zaXRpb246IGZpeGVkOyB3aWR0aDogMTAw
cHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB0b3A6IDIwMHB4OyBs
ZWZ0OiAyMDBweDsgfQorICAgICAgICAgICAgLyogVGhlIHJlZ2lvbiBpcyByZXF1aXJlcyBiZWNh
dXNlIG90aGVyd2lzZSB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IGlzIG5vdCBkaXNwbGF5
ZWQgKi8KKyAgICAgICAgICAgICNyZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgfQor
ICAgICAgICA8L3N0eWxlPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRv
dy50ZXN0UnVubmVyKQorICAgICAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwor
CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICB3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGF5ZXJUcmVlIikuaW5uZXJUZXh0ID0gd2lu
ZG93LmludGVybmFscy5sYXllclRyZWVBc1RleHQoZG9jdW1lbnQpOworICAgICAgICAgICAgICAg
ICAgfSwgZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+
CisgICAgICAgIDxwPlRlc3QgdGhhdCBhIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCBpbiBhIG5h
bWVkIGZsb3cgdGhhdCBvdmVybGFwcyBhIGNvbXBvc2l0ZWQgZWxlbWVudCBpcyBjb21wb3NpdGVk
IHRvby48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MgeW91IHNob3VsZCBzZWUgYSBncmVlbiBy
ZWN0YW5nbGUgb3ZlciBhbiBvcmFuZ2UgcmVjdGFuZ2xlLjwvcD4KKyAgICAgICAgPGRpdiBpZD0i
b3JhbmdlIiBjbGFzcz0idHJhbnNmb3JtZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJmaXhl
ZCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxwcmUg
aWQ9ImxheWVyVHJlZSI+PC9wcmU+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LXBvc2l0
aW9uLWNoYW5nZWQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lv
bnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1wb3NpdGlvbi1jaGFuZ2VkLWV4cGVjdGVkLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjM1ZGRhZTYxNzBhZjA3M2UxZmM1YWFjOTI5MTI4YWVhZWFhMzMyYQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFt
ZWQtZmxvdy1wb3NpdGlvbi1jaGFuZ2VkLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxOSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdD4KKyAg
ICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdpbmRvdy5p
bnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRp
b25FbmFibGVkKHRydWUpOworICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgI2ZpeGVkIHsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBw
eDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAgICAgPCEt
LSBGaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgaW5zaWRlIGEgbmFtZWQgZmxvdywgZHluYW1pY2Fs
bHkgY2hhbmdlZCB0b3AvbGVmdCAtLT4KKyAgICAgICAgPHA+VGVzdCB0aGF0IGEgZml4ZWQgcG9z
aXRpb25lZCBlbGVtZW50IHdob3NlIHBvc2l0aW9uIGlzIGR5bmFtaWNhbGx5IGNoYW5nZWQKKyAg
ICAgICAgICAgIGlzIGNvcnJlY3RseSBwYWludGVkIGluIHRoZSBuZXcgcG9zaXRpb24uPC9wPgor
ICAgICAgICA8cD5PbiBzdWNjZXNzIHlvdSBzaG91bGQgc2VlIGEgZ3JlZW4gcmVjdGFuZ2xlIGFu
ZCBubyByZWQuPC9wPgorICAgICAgICA8ZGl2IGlkPSJmaXhlZCI+PC9kaXY+CisgICAgPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9m
aXhlZC1pbi1uYW1lZC1mbG93LXBvc2l0aW9uLWNoYW5nZWQuaHRtbCBiL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1wb3NpdGlvbi1jaGFuZ2VkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYTBkZTcwYzJmYmNjNDlkNzk3YzQ2YmM4NGUwZjc0NzhlOTg1ZWI5NAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQt
aW4tbmFtZWQtZmxvdy1wb3NpdGlvbi1jaGFuZ2VkLmh0bWwKQEAgLTAsMCArMSwyOSBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAg
ICAgICAgI2ZpeGVkIHsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7IHBvc2l0aW9uOiBmaXhlZDsg
dG9wOiA1MHB4OyBsZWZ0OiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgd2lkdGg6IDEw
MHB4OyBoZWlnaHQ6IDEwMHB4OyB9CisgICAgICAgICAgICAjcmVkIHsgcG9zaXRpb246IGFic29s
dXRlOyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4
OyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7IH0KKyAgICAgICAgICAgIC8qIFdlIG5lZWQgYSByZWdp
b24gb3RoZXJ3aXNlIHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgaXMgbm90IGRpc3BsYXll
ZCAqLworICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OyB9Cisg
ICAgICAgIDwvc3R5bGU+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93
LmludGVybmFscykKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCh0cnVlKTsKKwor
ICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbigpIHsK
KyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZml4ZWQiKS5zdHlsZS50
b3AgPSAiMTUwcHgiOworICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJm
aXhlZCIpLnN0eWxlLmxlZnQgPSAiMTUwcHgiOworICAgICAgICAgICAgfSwgZmFsc2UpOworICAg
ICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDwhLS0gRml4
ZWQgcG9zaXRpb25lZCBlbGVtZW50IGluc2lkZSBhIG5hbWVkIGZsb3csIGR5bmFtaWNhbGx5IGNo
YW5nZWQgdG9wL2xlZnQgLS0+CisgICAgICAgIDxwPlRlc3QgdGhhdCBhIGZpeGVkIHBvc2l0aW9u
ZWQgZWxlbWVudCB3aG9zZSBwb3NpdGlvbiBpcyBkeW5hbWljYWxseSBjaGFuZ2VkCisgICAgICAg
ICAgICBpcyBjb3JyZWN0bHkgcGFpbnRlZCBpbiB0aGUgbmV3IHBvc2l0aW9uLjwvcD4KKyAgICAg
ICAgPHA+T24gc3VjY2VzcyB5b3Ugc2hvdWxkIHNlZSBhIGdyZWVuIHJlY3RhbmdsZSBhbmQgbm8g
cmVkLjwvcD4KKyAgICAgICAgPGRpdiBpZD0icmVkIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0i
Zml4ZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24iPjwvZGl2PgorICAgIDwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMv
Zml4ZWQtaW4tbmFtZWQtZmxvdy10cmFuc2Zvcm1lZC1wYXJlbnQtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LXRyYW5zZm9y
bWVkLXBhcmVudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTdlOWEwOTE2YjNkNDAzMTlkNTQz
YjM4MWJlZDM4NWI2OGMxZmYwMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy10cmFuc2Zvcm1lZC1wYXJlbnQtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjYgQEAKK1Rlc3QgdGhhdCBhIGZpeGVkIHBvc2l0aW9uZWQg
ZWxlbWVudCB3aXRoIGEgdHJhbnNmb3JtZWQgcGFyZW50IGlzIHBvc2l0aW9uZWQgcmVsYXRpdmUg
dG8gdGhlIHRyYW5zZm9ybWVkIHBhcmVudCBhbmQgaXMgbm90IGNvbXBvc2l0ZWQuCisKK09uIHN1
Y2Nlc3MgeW91IHNob3VsZCBub3Qgc2VlIHJlZCBiZWxvdy4KKworKEdyYXBoaWNzTGF5ZXIKKyAg
KGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGljc0xheWVy
CisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY29udGVudHNPcGFxdWUgMSkK
KyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgKGRy
YXdzQ29udGVudCAxKQorICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAoR3JhcGhp
Y3NMYXllcgorICAgICAgICAgICAgICAocG9zaXRpb24gMTAwLjAwIDEwMC4wMCkKKyAgICAgICAg
ICAgICAgKGJvdW5kcyAxNTAuMDAgMTUwLjAwKQorICAgICAgICAgICAgICAoZHJhd3NDb250ZW50
IDEpCisgICAgICAgICAgICApCisgICAgICAgICAgKQorICAgICAgICApCisgICAgICApCisgICAg
KQorICApCispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMv
Zml4ZWQtaW4tbmFtZWQtZmxvdy10cmFuc2Zvcm1lZC1wYXJlbnQuaHRtbCBiL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy10cmFuc2Zvcm1lZC1wYXJl
bnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jOTYzOTU5Yzc0MGY4MTY3MDJiNjRhZWE1ZDc5ZGU0NjlkMTEy
MGM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9m
aXhlZC1pbi1uYW1lZC1mbG93LXRyYW5zZm9ybWVkLXBhcmVudC5odG1sCkBAIC0wLDAgKzEsMzQg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZT4K
KyAgICAgICAgICAgICNyZWQgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTUwcHg7IGxlZnQ6
IDE1MHB4OyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7
IH0KKyAgICAgICAgICAgICN0cmFuc2Zvcm1lZFBhcmVudCB7IC13ZWJraXQtZmxvdy1pbnRvOiBm
bG93OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTAwcHg7IGxlZnQ6IDEwMHB4OyB3aWR0aDog
MTUwcHg7IGhlaWdodDogMTUwcHg7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEp
OyB9CisgICAgICAgICAgICAjZml4ZWQgeyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogNTBweDsgbGVm
dDogNTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3Jl
ZW47IH0KKyAgICAgICAgICAgIC8qIFRoZSByZWdpb24gaXMgcmVxdWlyZXMgYmVjYXVzZSBvdGhl
cndpc2UgdGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCBpcyBub3QgZGlzcGxheWVkICovCisg
ICAgICAgICAgICAjcmVnaW9uIHsgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7IHBvc2l0aW9uOiBh
YnNvbHV0ZTsgdG9wOiAwcHg7IGxlZnQ6IDBweDsgfQorICAgICAgICA8L3N0eWxlPgorICAgICAg
ICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAg
ICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5n
Rm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQodHJ1ZSk7CisKKyAgICAgICAgICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKwor
ICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxheWVyVHJlZSIpLmlubmVyVGV4dCA9IHdpbmRv
dy5pbnRlcm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKKyAgICAgICAgICAgICAgICB9
LCBmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPHA+VGVzdCB0aGF0IGEgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHdpdGggYSB0cmFu
c2Zvcm1lZCBwYXJlbnQgaXMgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgdHJhbnNmb3JtZWQg
cGFyZW50IGFuZCBpcyBub3QgY29tcG9zaXRlZC48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3Mg
eW91IHNob3VsZCBub3Qgc2VlIHJlZCBiZWxvdy48L3A+CisgICAgICAgIDxkaXYgaWQ9InJlZCI+
PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InRyYW5zZm9ybWVkUGFyZW50Ij4KKyAgICAgICAgICAg
IDxkaXYgaWQ9ImZpeGVkIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxwcmUgaWQ9ImxheWVyVHJlZSI+PC9wcmU+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVn
aW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LXpJbmRleC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LXpJbmRleC1leHBlY3Rl
ZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmU1NjU3ODJhYWIzM2JjNTc5NmY1MmQ3NGFhZGFmN2EwNzJhZmY4
OGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2Zp
eGVkLWluLW5hbWVkLWZsb3ctekluZGV4LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyNCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdD4KKyAg
ICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdpbmRvdy5p
bnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRp
b25FbmFibGVkKHRydWUpOworICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAg
ICAgICAgICAgI2ZpeGVkMSB7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxMDBw
eDsgbGVmdDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyBwb3NpdGlvbjogZml4ZWQ7
IHotaW5kZXg6IDEwOyB9CisKKyAgICAgICAgICAgICNmaXhlZDIgeyB3aWR0aDogMTAwcHg7IGhl
aWdodDogMTAwcHg7IHRvcDogMTUwcHg7IGxlZnQ6IDE1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBv
cmFuZ2U7IHBvc2l0aW9uOiBmaXhlZDsgei1pbmRleDogMTsgfQorCisgICAgICAgICAgICAjZml4
ZWQzIHsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB0b3A6IDE3NXB4OyBsZWZ0OiAxNzVw
eDsgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTsgcG9zaXRpb246IGZpeGVkOyB6LWluZGV4OiA1OyB9
CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD5U
ZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI1MTQ0Ij5XZWJLaXQgQnVnIDEyNTE0NDwvYT4gW0NTUyBSZWdpb25zXSBFbmFibGUgYWNjZWxl
cmF0ZWQgY29tcG9zaXRpbmcgZm9yIGZpeGVkIGVsZW1lbnRzIGluIG5hbWVkIGZsb3dzPC9wPgor
ICAgICAgICA8cD5UZXN0IHRoYXQgcGFpbnRpbmcgdGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVu
dHMgaW5zaWRlIHRoZSBzYW1lIG5hbWVkIGZsb3cgdGFrZXMgekluZGV4IGludG8gYWNjb3VudC48
L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91bGQgc2VlIDMgcmVjdGFuZ2xlcyBw
YWludGVkIGluIHRoZSBmb2xsb3dpbmcgb3JkZXI6IGdyZWVuLCBibHVlLCBvcmFuZ2UuPC9wPgor
ICAgICAgICA8ZGl2IGlkPSJmaXhlZDEiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJmaXhlZDIi
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJmaXhlZDMiPjwvZGl2PgorICAgIDwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQt
aW4tbmFtZWQtZmxvdy16SW5kZXguaHRtbCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lv
bnMvZml4ZWQtaW4tbmFtZWQtZmxvdy16SW5kZXguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yM2MxYjhlZGZh
MTYwNThiZjJjOGYxOWVhNDZjNzIwYTQ5Y2YzYjcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LXpJbmRleC5odG1s
CkBAIC0wLDAgKzEsMjggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+Cisg
ICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAg
ICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9z
aXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgPC9zY3JpcHQ+Cisg
ICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICNmaXhlZDEgeyAtd2Via2l0LWZsb3ctaW50bzog
Zmxvdzsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB0b3A6IDEwMHB4OyBsZWZ0OiAxMDBw
eDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IHBvc2l0aW9uOiBmaXhlZDsgei1pbmRleDogMTA7
IH0KKworICAgICAgICAgICAgI2ZpeGVkMiB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyB3aWR0
aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IHRvcDogMTUwcHg7IGxlZnQ6IDE1MHB4OyBiYWNrZ3Jv
dW5kLWNvbG9yOiBvcmFuZ2U7IHBvc2l0aW9uOiBmaXhlZDsgei1pbmRleDogMTsgfQorCisgICAg
ICAgICAgICAjZml4ZWQzIHsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7IHdpZHRoOiAxMDBweDsg
aGVpZ2h0OiAxMDBweDsgdG9wOiAxNzVweDsgbGVmdDogMTc1cHg7IGJhY2tncm91bmQtY29sb3I6
IGJsdWU7IHBvc2l0aW9uOiBmaXhlZDsgei1pbmRleDogNTsgfQorCisgICAgICAgICAgICAvKiBX
ZSBuZWVkIGEgcmVnaW9uIGJlY2F1c2Ugb3RoZXJ3aXNlIHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVs
ZW1lbnRzIGFyZSBub3QgZGlzcGxheWVkICovCisgICAgICAgICAgICAjcmVnaW9uIHsgLXdlYmtp
dC1mbG93LWZyb206IGZsb3c7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PGJvZHk+CisgICAgICAgIDxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUxNDQiPldlYktpdCBCdWcgMTI1MTQ0PC9hPiBbQ1NTIFJl
Z2lvbnNdIEVuYWJsZSBhY2NlbGVyYXRlZCBjb21wb3NpdGluZyBmb3IgZml4ZWQgZWxlbWVudHMg
aW4gbmFtZWQgZmxvd3M8L3A+CisgICAgICAgIDxwPlRlc3QgdGhhdCBwYWludGluZyB0aGUgZml4
ZWQgcG9zaXRpb25lZCBlbGVtZW50cyBpbnNpZGUgdGhlIHNhbWUgbmFtZWQgZmxvdyB0YWtlcyB6
SW5kZXggaW50byBhY2NvdW50LjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2VzcywgeW91IHNob3Vs
ZCBzZWUgMyByZWN0YW5nbGVzIHBhaW50ZWQgaW4gdGhlIGZvbGxvd2luZyBvcmRlcjogZ3JlZW4s
IGJsdWUsIG9yYW5nZS48L3A+CisgICAgICAgIDxkaXYgaWQ9ImZpeGVkMSI+PC9kaXY+CisgICAg
ICAgIDxkaXYgaWQ9ImZpeGVkMiI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9ImZpeGVkMyI+PC9k
aXY+CisgICAgICAgIDxkaXYgaWQ9InJlZ2lvbiI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVnaW9ucy9maXhlZC1pbi1u
YW1lZC1mbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9yZWdpb25zL2ZpeGVkLWlu
LW5hbWVkLWZsb3cuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMTVkZWFhMTZiZTJiZDFjYWE2N2I2YTgxZDJh
YjllZTUxOTc4YzI2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
cmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93Lmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAg
ICAgI3JlZCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4
OyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgYmFja2dyb3VuZC1jb2xvcjogcmVkOyB9CisgICAg
ICAgICAgICAjZml4ZWQgeyAtd2Via2l0LWZsb3ctaW50bzogZmxvdzsgcG9zaXRpb246IGZpeGVk
OyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB0
b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgfQorICAgICAgICAgICAgLyogVGhlIHJlZ2lvbiBpcyBy
ZXF1aXJlcyBiZWNhdXNlIG90aGVyd2lzZSB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IGlz
IG5vdCBkaXNwbGF5ZWQgKi8KKyAgICAgICAgICAgICNyZWdpb24geyAtd2Via2l0LWZsb3ctZnJv
bTogZmxvdzsgfQorICAgICAgICA8L3N0eWxlPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAg
ICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93LmludGVybmFs
cy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJs
ZWQodHJ1ZSk7CisKKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAg
ICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKworICAgICAgICAgICAgaWYgKHdpbmRv
dy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxv
YWQiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImxheWVyVHJlZSIpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubGF5ZXJUcmVl
QXNUZXh0KGRvY3VtZW50KTsKKyAgICAgICAgICAgICAgICAgIH0sIGZhbHNlKTsKKyAgICAgICAg
PC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAgICA8cD5UaGlzIHRlc3Qg
Y29sbGVjdHMgYSBmaXhlZCBwb3NpdGlvbiBlbGVtZW50IGluc2lkZSBhIG5hbWVkIGZsb3cgYW5k
IGZsb3dzIGl0IGludG8gYSByZWdpb24uPC9wPgorICAgICAgICA8cD5UaGUgZml4ZWQgcG9zaXRp
b25lZCBlbGVtZW50IHNob3VsZCBiZSBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9y
dCBhbmQgaXQgc2hvdWxkIGJlIGNvbXBvc2l0ZWQuPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNz
IHlvdSBzaG91bGQgbm90IHNlZSByZWQgYmVsb3cuPC9wPgorICAgICAgICA8ZGl2IGlkPSJyZWQi
PjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJmaXhlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxwcmUgaWQ9ImxheWVyVHJlZSI+PC9wcmU+CisgICAg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvcmVn
aW9ucy9maXhlZC10cmFuc2Zvcm1lZC1pbi1uYW1lZC1mbG93LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtdHJhbnNmb3JtZWQtaW4tbmFtZWQtZmxv
dy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjg4M2IwOTYyNGZjZWM0MGQzMDBmYmM4ZGFjYWJi
NTZhZTFjYzBmOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3Jl
Z2lvbnMvZml4ZWQtdHJhbnNmb3JtZWQtaW4tbmFtZWQtZmxvdy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwyMyBAQAorVGhpcyB0ZXN0IGNvbGxlY3RzIGEgdHJhbnNmb3JtZWQgZml4ZWQgcG9zaXRp
b24gZWxlbWVudCBpbnNpZGUgYSBuYW1lZCBmbG93IGFuZCBmbG93cyBpdCBpbnRvIGEgcmVnaW9u
LgorCitUaGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHNob3VsZCBiZSBwb3NpdGlvbmVkIHJl
bGF0aXZlIHRvIHRoZSB2aWV3cG9ydCBhbmQgaXQgc2hvdWxkIGJlIGNvbXBvc2l0ZWQuCisKK09u
IHN1Y2Nlc3MgeW91IHNob3VsZCBub3Qgc2VlIHJlZCBiZWxvdy4KKworKEdyYXBoaWNzTGF5ZXIK
KyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGljc0xh
eWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY29udGVudHNPcGFxdWUg
MSkKKyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAg
KHBvc2l0aW9uIDE1MC4wMCAxNTAuMDApCisgICAgICAgICAgKGJvdW5kcyAxMDAuMDAgMTAwLjAw
KQorICAgICAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgICApCisgICAgICApCisgICAg
KQorICApCispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMv
Zml4ZWQtdHJhbnNmb3JtZWQtaW4tbmFtZWQtZmxvdy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvcmVnaW9ucy9maXhlZC10cmFuc2Zvcm1lZC1pbi1uYW1lZC1mbG93Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYWVhMjU0YzRjY2FiMWMxZmViNDc3NTZiODY3ZDAwODA5ZWJmNWUwYgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL3JlZ2lvbnMvZml4ZWQtdHJhbnNmb3Jt
ZWQtaW4tbmFtZWQtZmxvdy5odG1sCkBAIC0wLDAgKzEsMjkgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICNyZWQgeyBw
b3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgdG9wOiAxNTBw
eDsgbGVmdDogMTUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDsgfQorICAgICAgICAgICAgI2Zp
eGVkVHJhbnNmb3JtZWQgeyAtd2Via2l0LWZsb3ctaW50bzogZmxvdzsgcG9zaXRpb246IGZpeGVk
OyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB0
b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwg
MSk7IH0KKyAgICAgICAgICAgIC8qIFRoZSByZWdpb24gaXMgcmVxdWlyZXMgYmVjYXVzZSBvdGhl
cndpc2UgdGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCBpcyBub3QgZGlzcGxheWVkICovCisg
ICAgICAgICAgICAjcmVnaW9uIHsgLXdlYmtpdC1mbG93LWZyb206IGZsb3c7IH0KKyAgICAgICAg
PC9zdHlsZT4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKworICAgICAg
ICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93LmFkZEV2
ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxheWVyVHJlZSIpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRl
cm5hbHMubGF5ZXJUcmVlQXNUZXh0KGRvY3VtZW50KTsKKyAgICAgICAgICAgICAgICAgIH0sIGZh
bHNlKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5PgorICAgICAg
ICA8cD5UaGlzIHRlc3QgY29sbGVjdHMgYSB0cmFuc2Zvcm1lZCBmaXhlZCBwb3NpdGlvbiBlbGVt
ZW50IGluc2lkZSBhIG5hbWVkIGZsb3cgYW5kIGZsb3dzIGl0IGludG8gYSByZWdpb24uPC9wPgor
ICAgICAgICA8cD5UaGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHNob3VsZCBiZSBwb3NpdGlv
bmVkIHJlbGF0aXZlIHRvIHRoZSB2aWV3cG9ydCBhbmQgaXQgc2hvdWxkIGJlIGNvbXBvc2l0ZWQu
PC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzIHlvdSBzaG91bGQgbm90IHNlZSByZWQgYmVsb3cu
PC9wPgorICAgICAgICA8ZGl2IGlkPSJyZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJmaXhl
ZFRyYW5zZm9ybWVkIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uIj48L2Rpdj4KKyAg
ICAgICAgPHByZSBpZD0ibGF5ZXJUcmVlIj48L3ByZT4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVwYWludC9lbGVtZW50LWluLW5h
bWVkLWZsb3ctYWJzb2x1dGUtZnJvbS1maXhlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdp
b25zL3JlcGFpbnQvZWxlbWVudC1pbi1uYW1lZC1mbG93LWFic29sdXRlLWZyb20tZml4ZWQuaHRt
bAppbmRleCAzMzljMWQzZTJjNWMwOTIzZmI2MDY1NDlkZDgwZjIzMTE3MGU0MDhmLi4zMGFhZjdm
YTAxMWY0ZGIwZGE2NjcwZTg1YWVhZWMzYWQzOTE5YjI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L3JlZ2lvbnMvcmVwYWludC9lbGVtZW50LWluLW5hbWVkLWZsb3ctYWJzb2x1dGUtZnJv
bS1maXhlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2VsZW1l
bnQtaW4tbmFtZWQtZmxvdy1hYnNvbHV0ZS1mcm9tLWZpeGVkLmh0bWwKQEAgLTE5LDYgKzE5LDkg
QEAKICAgICAgICAgPGRpdiBpZD0idGFyZ2V0Ij48L2Rpdj4KICAgICAgICAgPGRpdiBpZD0icmVn
aW9uIj48L2Rpdj4KICAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50
ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKGZhbHNlKTsKKwogICAg
ICAgICAgICAgZnVuY3Rpb24gcmVwYWludFRlc3QoKSB7CiAgICAgICAgICAgICAgICAgZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpLnN0eWxlLnBvc2l0aW9uID0gImFic29sdXRlIjsK
ICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBh
aW50L2VsZW1lbnQtaW4tbmFtZWQtZmxvdy1maXhlZC1mcm9tLWFic29sdXRlLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVwYWludC9lbGVtZW50LWluLW5hbWVkLWZsb3ctZml4ZWQt
ZnJvbS1hYnNvbHV0ZS5odG1sCmluZGV4IDg0Y2Q5MWQzZjkxZDgxYjg4NWE0N2RkNzg1Y2FmN2Y1
MWYzN2FmZDYuLjQxODk1NWFmY2U5MjhhYmI3NzM3MTg4MDExODM4Mjg1MDRiOWM0NWYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2VsZW1lbnQtaW4tbmFtZWQt
Zmxvdy1maXhlZC1mcm9tLWFic29sdXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdp
b25zL3JlcGFpbnQvZWxlbWVudC1pbi1uYW1lZC1mbG93LWZpeGVkLWZyb20tYWJzb2x1dGUuaHRt
bApAQCAtMTksNiArMTksOSBAQAogICAgICAgICA8ZGl2IGlkPSJ0YXJnZXQiPjwvZGl2PgogICAg
ICAgICA8ZGl2IGlkPSJyZWdpb24iPjwvZGl2PgogICAgICAgICA8c2NyaXB0PgorICAgICAgICAg
ICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93LmludGVybmFs
cy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJs
ZWQoZmFsc2UpOworCiAgICAgICAgICAgICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKICAgICAg
ICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0Iikuc3R5bGUucG9zaXRp
b24gPSAiZml4ZWQiOwogICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9yZWdpb25zL3JlcGFpbnQvZWxlbWVudC1pbmZsb3ctZml4ZWQtZnJvbS1vdXRmbG93LXN0YXRp
Yy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlcGFpbnQvZWxlbWVudC1pbmZsb3ct
Zml4ZWQtZnJvbS1vdXRmbG93LXN0YXRpYy5odG1sCmluZGV4IGRiZjQ3YmJmMThjNDgzZTFmYTU4
YjA2OGI2YjA1NDQ0MjliZGQ0NDguLjc1MDM5NzlmYmU5NTVkZTg0M2I5MGI2ZDZhNmMyYjk2NWQy
OWU4MTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2VsZW1l
bnQtaW5mbG93LWZpeGVkLWZyb20tb3V0Zmxvdy1zdGF0aWMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3JlZ2lvbnMvcmVwYWludC9lbGVtZW50LWluZmxvdy1maXhlZC1mcm9tLW91dGZsb3ct
c3RhdGljLmh0bWwKQEAgLTIyLDYgKzIyLDkgQEAKICAgICAgICAgPC9kaXY+CiAgICAgICAgIDxk
aXYgaWQ9InJlZ2lvbiI+PC9kaXY+CiAgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAo
d2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRp
bmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZChmYWxz
ZSk7CisKICAgICAgICAgICAgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkgewogICAgICAgICAgICAg
ICAgIHZhciB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0Iik7CiAgICAg
ICAgICAgICAgICAgdGFyZ2V0LnN0eWxlLnBvc2l0aW9uID0gImZpeGVkIjsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2VsZW1lbnQtb3V0Zmxvdy1zdGF0aWMt
ZnJvbS1pbmZsb3ctZml4ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50
L2VsZW1lbnQtb3V0Zmxvdy1zdGF0aWMtZnJvbS1pbmZsb3ctZml4ZWQuaHRtbAppbmRleCA3NDk5
MTYwNTU1NGMzYjNlOGEzMzYzY2FhNzllOWE3NTI5ZjJjNmJlLi4wNWVkMTBlNmE1ZGJhMDQ0OTFj
OGY0NDIwMTUwMjFjZGRiYmEwYTJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lv
bnMvcmVwYWludC9lbGVtZW50LW91dGZsb3ctc3RhdGljLWZyb20taW5mbG93LWZpeGVkLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlcGFpbnQvZWxlbWVudC1vdXRmbG93LXN0
YXRpYy1mcm9tLWluZmxvdy1maXhlZC5odG1sCkBAIC0yMiw2ICsyMiw5IEBACiAgICAgICAgIDwv
ZGl2PgogICAgICAgICA8ZGl2IGlkPSJyZWdpb24iPjwvZGl2PgogICAgICAgICA8c2NyaXB0Pgor
ICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3Np
dGlvbkVuYWJsZWQoZmFsc2UpOworCiAgICAgICAgICAgICBmdW5jdGlvbiByZXBhaW50VGVzdCgp
IHsKICAgICAgICAgICAgICAgICB2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InRhcmdldCIpOwogICAgICAgICAgICAgICAgIHRhcmdldC5zdHlsZS5wb3NpdGlvbiA9ICJzdGF0
aWMiOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>