<?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>37688</bug_id>
          
          <creation_ts>2010-04-15 17:57:14 -0700</creation_ts>
          <short_desc>Remove the optional shouldLazyAttach parameter from appendChild and friends</short_desc>
          <delta_ts>2022-08-06 14:24:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>CONFIGURATION CHANGED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>111644</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="James Robinson">jamesr</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>mjs</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>213143</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-04-15 17:57:14 -0700</bug_when>
    <thetext>Remove the optional shouldLazyAttach parameter from appendChild and friends</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213154</commentid>
    <comment_count>1</comment_count>
      <attachid>53498</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-04-15 18:17:30 -0700</bug_when>
    <thetext>Created attachment 53498
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213157</commentid>
    <comment_count>2</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-04-15 18:20:10 -0700</bug_when>
    <thetext>+cc people who have added mucked with this code or expressed interest.  I am planning to try to make lazy attachment the only form of attachment, with special treatment for forms/plugins/frames.  Even if that doesn&apos;t pan out this is still a good step forward - less parameters + less branching = less complexity + more gooder.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213270</commentid>
    <comment_count>3</comment_count>
      <attachid>53498</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2010-04-16 09:16:04 -0700</bug_when>
    <thetext>Comment on attachment 53498
Patch

&gt; diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
&gt; index c5e227e..24e1ee6 100644
&gt; --- a/LayoutTests/ChangeLog
&gt; +++ b/LayoutTests/ChangeLog
&gt; @@ -1,3 +1,24 @@
&gt; +2010-04-15  James Robinson  &lt;jamesr@chromium.org&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        Update baselines affected by lazier attachment
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=37688
&gt; +
&gt; +        There are no user-visible changes, just a slightly different set of
&gt; +        0-sized render objects in the render tree due to style recalcs/layouts
&gt; +        happening at slightly different times.
&gt; +
&gt; +        * platform/mac/editing/inserting/break-blockquote-after-delete-expected.txt:
&gt; +        * platform/mac/fast/forms/basic-buttons-expected.txt:
&gt; +        * platform/mac/fast/forms/formmove3-expected.txt:
&gt; +        * platform/mac/fast/forms/preserveFormDuringResidualStyle-expected.txt:
&gt; +        * platform/mac/fast/invalid/003-expected.txt:
&gt; +        * platform/mac/fast/invalid/table-residual-style-crash-expected.txt:
&gt; +        * platform/mac/fast/table/014-expected.txt:
&gt; +        * platform/mac/tables/mozilla/bugs/bug647-expected.txt:
&gt; +        * platform/mac/tables/mozilla/other/wa_table_tr_align-expected.txt:

You should go ahead and add results for Chromium as well -- or at least update test_expectations.txt.

&gt; -    
&gt; -    // Should assert isBlockFlow || isInlineFlow when deletion improves. See 4244964.
&gt; -    ASSERT(container-&gt;renderer());

Can you just remove these asserts? What were they for in the first place?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221325</commentid>
    <comment_count>4</comment_count>
      <attachid>55166</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-05-05 16:01:41 -0700</bug_when>
    <thetext>Created attachment 55166
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221330</commentid>
    <comment_count>5</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-05-05 16:06:04 -0700</bug_when>
    <thetext>I&apos;ve marked the affected Chromium tests as TEXT PASS in chromium&apos;s text_expectations.txt.  I will rebase as needed after landing.

It is safe to remove those ASSERT()s.  They date from before there was a Node::lazyAttach() and when all nodes in the DOM would get a renderer on creation.  The issue cited in the comment doesn&apos;t seem to be an issue any more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>222987</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-08 23:31:25 -0700</bug_when>
    <thetext>I don&apos;t understand the layout test results updates.  Seems this would be easier to understand if we had the minimal code change to cause said updates.  Like just flipping the default from false to true?  Or by changing one or two callers?  Do we really understand the test output changes and are they expected?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224126</commentid>
    <comment_count>7</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-05-11 13:30:28 -0700</bug_when>
    <thetext>The layout test results changes are all noise due to leading/trailing whitespace in blocks.  I&apos;ll see if I can somehow isolate those effects from the meat of this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225020</commentid>
    <comment_count>8</comment_count>
      <attachid>55166</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2010-05-12 18:18:17 -0700</bug_when>
    <thetext>Comment on attachment 55166
Patch

Clearing r?, needs a bit of work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1889366</commentid>
    <comment_count>9</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-08-06 06:31:07 -0700</bug_when>
    <thetext>These two patches changed and did similar changes:

https://github.com/WebKit/WebKit/commit/795565b984974c6bd771a7fc35099c45e3b6e37e

https://github.com/WebKit/WebKit/commit/19da37c26771f4be4bae77683f40fb2b8396d64c

-&gt; rniwa@webkit.org - Is this patch needed? Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1889405</commentid>
    <comment_count>10</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-08-06 14:24:52 -0700</bug_when>
    <thetext>We wrote this code so this bug is no longer relevant.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53498</attachid>
            <date>2010-04-15 18:17:30 -0700</date>
            <delta_ts>2010-05-05 16:01:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37688-20100415181728.patch</filename>
            <type>text/plain</type>
            <size>27513</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjNWUyMjdlLi4yNGUxZWU2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTAtMDQt
MTUgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgYmFzZWxpbmVzIGFmZmVj
dGVkIGJ5IGxhemllciBhdHRhY2htZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zNzY4OAorCisgICAgICAgIFRoZXJlIGFyZSBubyB1c2VyLXZpc2li
bGUgY2hhbmdlcywganVzdCBhIHNsaWdodGx5IGRpZmZlcmVudCBzZXQgb2YKKyAgICAgICAgMC1z
aXplZCByZW5kZXIgb2JqZWN0cyBpbiB0aGUgcmVuZGVyIHRyZWUgZHVlIHRvIHN0eWxlIHJlY2Fs
Y3MvbGF5b3V0cworICAgICAgICBoYXBwZW5pbmcgYXQgc2xpZ2h0bHkgZGlmZmVyZW50IHRpbWVz
LgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL2VkaXRpbmcvaW5zZXJ0aW5nL2JyZWFrLWJsb2Nr
cXVvdGUtYWZ0ZXItZGVsZXRlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMv
ZmFzdC9mb3Jtcy9iYXNpYy1idXR0b25zLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZmFzdC9mb3Jtcy9mb3JtbW92ZTMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9mYXN0L2Zvcm1zL3ByZXNlcnZlRm9ybUR1cmluZ1Jlc2lkdWFsU3R5bGUtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2ludmFsaWQvMDAzLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9pbnZhbGlkL3RhYmxlLXJlc2lkdWFs
LXN0eWxlLWNyYXNoLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC90
YWJsZS8wMTQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy90YWJsZXMvbW96
aWxsYS9idWdzL2J1ZzY0Ny1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL3Rh
Ymxlcy9tb3ppbGxhL290aGVyL3dhX3RhYmxlX3RyX2FsaWduLWV4cGVjdGVkLnR4dDoKKwogMjAx
MC0wNC0xNSAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGlu
Zy9pbnNlcnRpbmcvYnJlYWstYmxvY2txdW90ZS1hZnRlci1kZWxldGUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvaW5zZXJ0aW5nL2JyZWFrLWJsb2NrcXVv
dGUtYWZ0ZXItZGVsZXRlLWV4cGVjdGVkLnR4dAppbmRleCA0MTAzOGM1Li44ZTc2ZWFjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9pbnNlcnRpbmcvYnJlYWst
YmxvY2txdW90ZS1hZnRlci1kZWxldGUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9lZGl0aW5nL2luc2VydGluZy9icmVhay1ibG9ja3F1b3RlLWFmdGVyLWRlbGV0
ZS1leHBlY3RlZC50eHQKQEAgLTIxLDUgKzIxLDQgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCiAgICAgICAgICAgICBSZW5kZXJCbG9jayB7QkxPQ0tRVU9URX0gYXQgKDAsMCkgc2l6ZSA3
NzJ4MTggW2NvbG9yPSMwMDgwMDBdIFtib3JkZXI6IG5vbmUgKDJweCBzb2xpZCAjMDA4MDAwKV0K
ICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMiwwKSBzaXplIDM1eDE4CiAg
ICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyLDApIHdpZHRoIDM1OiAiZ3JlZW4iCi0gICAg
ICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDU0KSBzaXplIDc4NHgwCiBjYXJldDog
cG9zaXRpb24gNSBvZiBjaGlsZCAyIHsjdGV4dH0gb2YgY2hpbGQgNCB7RElWfSBvZiBjaGlsZCAx
IHtCT0RZfSBvZiBjaGlsZCAwIHtIVE1MfSBvZiBkb2N1bWVudApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZm9ybXMvYmFzaWMtYnV0dG9ucy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9iYXNpYy1idXR0b25zLWV4cGVj
dGVkLnR4dAppbmRleCBmMDg1MmIzLi4wOTUzODdkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9iYXNpYy1idXR0b25zLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9iYXNpYy1idXR0b25zLWV4cGVjdGVk
LnR4dApAQCAtMTQsNiArMTQsNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHgzMTcKICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwzNikgd2lkdGggNjQ5OiAid2l0aCB0ZXh0IChcImZvb1wiKSBh
bmQgdGhlbiB1c2VzIHNpeCBkaWZmZXJlbnQgcGFkZGluZ3MgdG8gbWFrZSBzdXJlIGVhY2ggb2Yg
dGhlIGJ1dHRvbnMgcmVuZGVyIHByb3Blcmx5LiAiCiAgICAgICAgIFJlbmRlckJSIHtCUn0gYXQg
KDY0OSwzNikgc2l6ZSAweDE4CiAgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsNTQpIHNpemUg
MHgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAg
IFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsNzIpIHNpemUgNjg0eDIyOQogICAgICAgICBSZW5k
ZXJUYWJsZVNlY3Rpb24ge1RCT0RZfSBhdCAoMCwwKSBzaXplIDY4NHgyMjkKICAgICAgICAgICBS
ZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDApIHNpemUgNjg0eDIwCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9mb3JtbW92ZTMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZm9ybXMvZm9ybW1vdmUzLWV4cGVjdGVkLnR4
dAppbmRleCA0Yzc1N2ZhLi5hYWMxOGFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvZmFzdC9mb3Jtcy9mb3JtbW92ZTMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL2Zvcm1tb3ZlMy1leHBlY3RlZC50eHQKQEAgLTI4LDYg
KzI4LDcgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgUmVuZGVySW5s
aW5lIHtBfSBhdCAoMCwwKSBzaXplIDB4MCBbY29sb3I9IzAwMDBFRV0KICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgIFJlbmRlckJsb2NrIChhbm9u
eW1vdXMpIGF0ICgwLDI4KSBzaXplIDc4NHgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMTA0eDE4CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTA0OiAiRm9ybSBk
aWQgc3VibWl0IgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL3ByZXNlcnZl
Rm9ybUR1cmluZ1Jlc2lkdWFsU3R5bGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL2Zhc3QvZm9ybXMvcHJlc2VydmVGb3JtRHVyaW5nUmVzaWR1YWxTdHlsZS1leHBlY3Rl
ZC50eHQKaW5kZXggMjdlMmQwNC4uMDU1MTljNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvZm9ybXMvcHJlc2VydmVGb3JtRHVyaW5nUmVzaWR1YWxTdHlsZS1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZm9ybXMvcHJlc2Vy
dmVGb3JtRHVyaW5nUmVzaWR1YWxTdHlsZS1leHBlY3RlZC50eHQKQEAgLTI0LDYgKzI0LDggQEAg
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1v
dXMpIGF0ICgwLDI1KSBzaXplIDc4NHgwCiAgICAgICAgICAgUmVuZGVySW5saW5lIHtGT05UfSBh
dCAoMCwwKSBzaXplIDB4MAogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDB4MAorICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMjUpIHNpemUgNzg0
eDAKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICBS
ZW5kZXJCbG9jayB7RElWfSBhdCAoMCwyNSkgc2l6ZSA3ODR4MzYKICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzc1eDM2CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggNzc1OiAiU3VjY2VzcyEgVGhpcyB0ZXN0IHN1Y2NlZWRzIGlmIHRoZSBpbnB1dCBu
YW1lZCBtb3ZlciBpcyBub3QgZGV0YWNoZWQgZnJvbSBpdHMgZm9ybSB3aGVuIGl0IGlzIG1vdmVk
IGFyb3VuZCBpbiB0aGUgRE9NIHRvIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvaW52YWxpZC8wMDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvaW52YWxpZC8wMDMtZXhwZWN0ZWQudHh0CmluZGV4IDdmOGYxYTkuLjU0MTE2ZWYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ludmFsaWQvMDAzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbnZhbGlkLzAw
My1leHBlY3RlZC50eHQKQEAgLTM5LDEzICszOSw2IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAogICAgICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUgMHgwIFtjb2xv
cj0jRkYwMDAwXQogICAgICAgICAgIFJlbmRlcklubGluZSB7SX0gYXQgKDAsMCkgc2l6ZSAweDAK
ICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAgICAg
UmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTM2KSBzaXplIDc4NHgwIFtjb2xvcj0jRkYw
MDAwXQotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTM2KSBzaXplIDc4NHgw
Ci0gICAgICAgIFJlbmRlcklubGluZSB7Rk9OVH0gYXQgKDAsMCkgc2l6ZSAweDAgW2NvbG9yPSNG
RjAwMDBdCi0gICAgICAgICAgUmVuZGVySW5saW5lIHtJfSBhdCAoMCwwKSBzaXplIDB4MAotICAg
ICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTM2KSBzaXplIDc4NHgwIFtjb2xvcj0j
RkYwMDAwXQotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTM2KSBzaXplIDc4
NHgwCi0gICAgICAgIFJlbmRlcklubGluZSB7Rk9OVH0gYXQgKDAsMCkgc2l6ZSAweDAgW2NvbG9y
PSNGRjAwMDBdCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTM2KSBzaXplIDc4NHgxOAog
ICAgICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUgMTIzeDE4IFtjb2xvcj0j
RkYwMDAwXQogICAgICAgICAgIFJlbmRlcklubGluZSB7SX0gYXQgKDAsMCkgc2l6ZSA5M3gxOApA
QCAtNTYsNiArNDksNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgxMjMsMCkgc2l6ZSAxMjZ4MTgKICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMTIzLDApIHdpZHRoIDEyNjogIiBJIHNob3VsZCBub3QgYmUgcmVkLiIKICAgICAgIFJl
bmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDE3MCkgc2l6ZSA3ODR4MTgKKyAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlcklubGluZSB7
Qn0gYXQgKDAsMCkgc2l6ZSAxMzF4MTgKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAzNngxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzY6
ICJCb2xkICIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ludmFs
aWQvdGFibGUtcmVzaWR1YWwtc3R5bGUtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvaW52YWxpZC90YWJsZS1yZXNpZHVhbC1zdHlsZS1jcmFzaC1leHBl
Y3RlZC50eHQKaW5kZXggMDU1NGIxZi4uNmIxNjliZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvaW52YWxpZC90YWJsZS1yZXNpZHVhbC1zdHlsZS1jcmFzaC1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW52YWxpZC90YWJs
ZS1yZXNpZHVhbC1zdHlsZS1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTYsOSArNiw2IEBAIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQg
KDAsMCkgc2l6ZSA3ODR4MAogICAgICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNp
emUgMHgwCiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCi0g
ICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDc4NHgwCi0gICAgICBS
ZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDc4NHgwCi0gICAgICAgIFJlbmRl
cklubGluZSB7Rk9OVH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgIFJlbmRlclRhYmxlIHtUQUJM
RX0gYXQgKDAsMCkgc2l6ZSA1eDIwCiAgICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiB7VEJPRFl9
IGF0ICgwLDApIHNpemUgNXgyMAogICAgICAgICAgIFJlbmRlclRhYmxlUm93IChhbm9ueW1vdXMp
IGF0ICgwLDIpIHNpemUgNXgxNgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvdGFibGUvMDE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L3RhYmxlLzAxNC1leHBlY3RlZC50eHQKaW5kZXggMjVlMmIxYi4uOTI2ODU5YyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvMDE0LWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC90YWJsZS8wMTQtZXhwZWN0ZWQu
dHh0CkBAIC03LDEzICs3LDE1IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAg
ICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDEzMng4NgogICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgIFJlbmRlckJsb2NrIHtIMn0gYXQg
KDAsMTA1KSBzaXplIDc4NHgwCi0gICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDEwNSkg
c2l6ZSAxMzJ4MzYKLSAgICAgICAgUmVuZGVyVGFibGVTZWN0aW9uIHtUQk9EWX0gYXQgKDAsMCkg
c2l6ZSAxMzJ4MzYKLSAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDApIHNpemUg
MTMyeDE4Ci0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMCwwKSBzaXplIDEz
MngxOCBbcj0wIGM9MCBycz0xIGNzPTFdCi0gICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDMxeDE4Ci0gICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggMzE6ICJoZWxsbyIKLSAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDE4
KSBzaXplIDEzMngxOAotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDAsMTgp
IHNpemUgMTMyeDE4IFtyPTEgYz0wIHJzPTEgY3M9MV0KLSAgICAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNTV4MTgKLSAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCA1NTogImdvb2RieWUiCisgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3Vz
KSBhdCAoMCwxMDUpIHNpemUgNzg0eDAKKyAgICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAo
MCwwKSBzaXplIDEzMngzNgorICAgICAgICAgIFJlbmRlclRhYmxlU2VjdGlvbiB7VEJPRFl9IGF0
ICgwLDApIHNpemUgMTMyeDM2CisgICAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgw
LDApIHNpemUgMTMyeDE4CisgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgw
LDApIHNpemUgMTMyeDE4IFtyPTAgYz0wIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzMXgxOAorICAgICAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMzE6ICJoZWxsbyIKKyAgICAgICAgICAgIFJlbmRlclRhYmxl
Um93IHtUUn0gYXQgKDAsMTgpIHNpemUgMTMyeDE4CisgICAgICAgICAgICAgIFJlbmRlclRhYmxl
Q2VsbCB7VER9IGF0ICgwLDE4KSBzaXplIDEzMngxOCBbcj0xIGM9MCBycz0xIGNzPTFdCisgICAg
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNTV4MTgKKyAgICAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDU1OiAiZ29vZGJ5ZSIKKyAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWc2NDctZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL2J1Z3MvYnVnNjQ3
LWV4cGVjdGVkLnR4dAppbmRleCBjYTZhMjYzLi41YThlNWJjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvYnVncy9idWc2NDctZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzY0
Ny1leHBlY3RlZC50eHQKQEAgLTI2LDYgKzI2LDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgz
MywwKSBzaXplIDI0eDEzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBh
dCAoMzMsMCkgd2lkdGggMjQ6ICJpbnNpZGUiCiAgICAgICAgICAgICAgICAgICAgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgICAgICAgICAgICAgICAg
ICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDIsMTUpIHNpemUgOTB4MAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAg
ICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwyMykgc2l6ZSAxMDB4
MTgKICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTAsMCkgc2l6ZSA3
OXgxOAogICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTAsMCkgd2lkdGggNzk6ICJv
dXRzaWRlIHRhYmxlIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxl
cy9tb3ppbGxhL290aGVyL3dhX3RhYmxlX3RyX2FsaWduLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96aWxsYS9vdGhlci93YV90YWJsZV90cl9hbGlnbi1l
eHBlY3RlZC50eHQKaW5kZXggMjFlMDUzYi4uNTc0OTExNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL290aGVyL3dhX3RhYmxlX3RyX2FsaWduLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEv
b3RoZXIvd2FfdGFibGVfdHJfYWxpZ24tZXhwZWN0ZWQudHh0CkBAIC0yMzgsOSArMjM4LDYgQEAg
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA3ODV4MTMwOAogICAgICAgICAgICAgICAgIFJlbmRlckJsb2Nr
IChhbm9ueW1vdXMpIGF0ICgyLDU2KSBzaXplIDMzNngwCiAgICAgICAgICAgICAgICAgICBSZW5k
ZXJJbmxpbmUge0J9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgICAgICAgICAgICAgIFJlbmRl
cklubGluZSB7Rk9OVH0gYXQgKDAsMCkgc2l6ZSAweDAgW2NvbG9yPSNGRjAwMDBdCi0gICAgICAg
ICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDIsNTYpIHNpemUgMzM2eDAKLSAg
ICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMiw1Nikgc2l6ZSAzMzZ4
MAotICAgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtCfSBhdCAoMCwwKSBzaXplIDB4MAog
ICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMiw3Mikgc2l6ZSAzMzZ4MAogICAg
ICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDk3NCkgc2l6ZSA3Njl4MTQ2CiAgICAgICAgIFJlbmRl
clRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAzNDZ4MTQ2IFtiZ2NvbG9yPSNGRkU0QzRdIFti
b3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODApXQpAQCAtMjg2LDkgKzI4Myw2IEBAIGxheWVyIGF0
ICgwLDApIHNpemUgNzg1eDEzMDgKICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnlt
b3VzKSBhdCAoMiw1Nikgc2l6ZSAzMzZ4MAogICAgICAgICAgICAgICAgICAgUmVuZGVySW5saW5l
IHtCfSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUg
e0ZPTlR9IGF0ICgwLDApIHNpemUgMHgwIFtjb2xvcj0jRkYwMDAwXQotICAgICAgICAgICAgICAg
IFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgyLDU2KSBzaXplIDMzNngwCi0gICAgICAgICAg
ICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDIsNTYpIHNpemUgMzM2eDAKLSAgICAg
ICAgICAgICAgICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAg
ICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDIsNzIpIHNpemUgMzM2eDAKICAgICAgIFJlbmRl
ckJsb2NrIHtQfSBhdCAoMCwxMTM2KSBzaXplIDc2OXg3MAogICAgICAgICBSZW5kZXJUYWJsZSB7
VEFCTEV9IGF0ICgwLDApIHNpemUgMzQ2eDcwIFtiZ2NvbG9yPSNGRkU0QzRdIFtib3JkZXI6ICgx
cHggb3V0c2V0ICM4MDgwODApXQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJD
b3JlL0NoYW5nZUxvZwppbmRleCA4ZmE0NWMzLi4yMjI5YzkxIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEw
LTA0LTE1ICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHRoZSBvcHRpb25h
bCBzaG91bGRMYXp5QXR0YWNoIHBhcmFtZXRlciBmcm9tIGFwcGVuZENoaWxkIGFuZCBmcmllbmRz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzY4OAor
CisgICAgICAgIENvbnRhaW5lck5vZGU6OmFwcGVuZENoaWxkKCksIGluc2VydEJlZm9yZSgpIGFu
ZCByZXBsYWNlQ2hpbGQoKSBjYW4KKyAgICAgICAgY3VycmVudGx5IGF0dGFjaCBuZXcgbm9kZXMg
dG8gdGhlIHJlbmRlciB0cmVlIGVpdGhlciBkaXJlY3RseSBvciBsYXppbHkKKyAgICAgICAgKG1l
YW5pbmcgb24gdGhlIG5leHQgc3R5bGUgcmVjYWxjKS4gIFRoaXMgaXMgY29udHJvbGxlZCBieSB0
aGUgb3B0aW9uYWwKKyAgICAgICAgc2hvdWxkTGF6eUF0dGFjaCBwYXJhbWV0ZXIgYW5kIGJ5IHRo
ZSBub2RlcyBiZWluZyBhdHRhY2hlZCB0aGVtc2VsdmVzCisgICAgICAgIHRocm91Z2ggTm9kZTo6
Y2FuTGF6eUF0dGFjaCgpLiAgSG93ZXZlciwgdGhlIGZvcm1lciBpc24ndCByZWFsbHkKKyAgICAg
ICAgbmVjZXNzYXJ5IGFuZCBqdXN0IGNvbXBsaWNhdGVzIHRoaXMgbG9naWMgbW9yZSB0aGFuIGl0
IGFscmVhZHkgaXMuCisgICAgICAgIFRoZSBhZGRlZCBjb21wbGV4aXR5IGluIHRoZSBhdHRhY2ht
ZW50IGNvZGVwYXRocyBjb250cmlidXRlIHRvCisgICAgICAgIG5hc3R5IGJ1Z3MgbGlrZSBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzY4NjQuCisKKyAgICAgICAgUmVt
b3ZpbmcgdGhpcyBwYXJhbWV0ZXIgYWxzbyBtYWtlcyBpdCBlYXNpZXIgdG8gbWFrZSBtb3JlIGF0
dGFjaG1lbnRzCisgICAgICAgIGxhenkgd2l0aG91dCBoYXZpbmcgdG8gY2hhbmdlIGFsbCBjYWxs
ZXJzIHRvIHRoZXNlIGZ1bmN0aW9ucy4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTm9kZUN1
c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU05vZGU6Omluc2VydEJlZm9yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpKU05vZGU6OnJlcGxhY2VDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpK
U05vZGU6OmFwcGVuZENoaWxkKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhOb2Rl
Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4Tm9kZTo6aW5zZXJ0QmVmb3JlQ2FsbGJh
Y2spOgorICAgICAgICAoV2ViQ29yZTo6VjhOb2RlOjpyZXBsYWNlQ2hpbGRDYWxsYmFjayk6Cisg
ICAgICAgIChXZWJDb3JlOjpWOE5vZGU6OmFwcGVuZENoaWxkQ2FsbGJhY2spOgorICAgICAgICAq
IGRvbS9Db250YWluZXJOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6
Omluc2VydEJlZm9yZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJOb2RlOjpyZXBsYWNl
Q2hpbGQpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6YXBwZW5kQ2hpbGQpOgor
ICAgICAgICAqIGRvbS9Db250YWluZXJOb2RlLmg6CisgICAgICAgICogZG9tL05vZGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6aW5zZXJ0QmVmb3JlKToKKyAgICAgICAgKFdlYkNvcmU6
Ok5vZGU6OnJlcGxhY2VDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjphcHBlbmRDaGls
ZCk6CisgICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKiBlZGl0aW5nL0NvbXBvc2l0ZUVk
aXRDb21tYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBvc2l0ZUVkaXRDb21tYW5kOjph
cHBlbmRCbG9ja1BsYWNlaG9sZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBvc2l0ZUVkaXRD
b21tYW5kOjppbnNlcnRCbG9ja1BsYWNlaG9sZGVyKToKKyAgICAgICAgKiBodG1sL0hUTUxPcHRH
cm91cEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE9wdEdyb3VwRWxlbWVudDo6
aW5zZXJ0QmVmb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRHcm91cEVsZW1lbnQ6OnJl
cGxhY2VDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT3B0R3JvdXBFbGVtZW50OjphcHBl
bmRDaGlsZCk6CisgICAgICAgICogaHRtbC9IVE1MT3B0R3JvdXBFbGVtZW50Lmg6CisKIDIwMTAt
MDQtMTUgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCiAgICAgICAgIEV4cG9zZSBV
c2VyQ29udGVudFVSTFBhdHRlcm4gYXMgV2ViS2l0IFNQSQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU05vZGVDdXN0b20uY3BwIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVD
dXN0b20uY3BwCmluZGV4IDM4YWMzNDguLjkxM2U2YzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTm9k
ZUN1c3RvbS5jcHAKQEAgLTExNCw3ICsxMTQsNyBAQCBKU1ZhbHVlIEpTTm9kZTo6aW5zZXJ0QmVm
b3JlKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQXJnTGlzdCYgYXJncykKICAgICB9CiAKICAgICBF
eGNlcHRpb25Db2RlIGVjID0gMDsKLSAgICBib29sIG9rID0gaW1wLT5pbnNlcnRCZWZvcmUodG9O
b2RlKGFyZ3MuYXQoMCkpLCB0b05vZGUoYXJncy5hdCgxKSksIGVjLCB0cnVlKTsKKyAgICBib29s
IG9rID0gaW1wLT5pbnNlcnRCZWZvcmUodG9Ob2RlKGFyZ3MuYXQoMCkpLCB0b05vZGUoYXJncy5h
dCgxKSksIGVjKTsKICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMpOwogICAgIGlmIChvaykK
ICAgICAgICAgcmV0dXJuIGFyZ3MuYXQoMCk7CkBAIC0xMzAsNyArMTMwLDcgQEAgSlNWYWx1ZSBK
U05vZGU6OnJlcGxhY2VDaGlsZChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFyZ3Mp
CiAgICAgfQogCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgYm9vbCBvayA9IGltcC0+
cmVwbGFjZUNoaWxkKHRvTm9kZShhcmdzLmF0KDApKSwgdG9Ob2RlKGFyZ3MuYXQoMSkpLCBlYywg
dHJ1ZSk7CisgICAgYm9vbCBvayA9IGltcC0+cmVwbGFjZUNoaWxkKHRvTm9kZShhcmdzLmF0KDAp
KSwgdG9Ob2RlKGFyZ3MuYXQoMSkpLCBlYyk7CiAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVj
KTsKICAgICBpZiAob2spCiAgICAgICAgIHJldHVybiBhcmdzLmF0KDEpOwpAQCAtMTYyLDcgKzE2
Miw3IEBAIEpTVmFsdWUgSlNOb2RlOjphcHBlbmRDaGlsZChFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0
IEFyZ0xpc3QmIGFyZ3MpCiAgICAgfQogCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAg
Ym9vbCBvayA9IGltcC0+YXBwZW5kQ2hpbGQodG9Ob2RlKGFyZ3MuYXQoMCkpLCBlYywgdHJ1ZSk7
CisgICAgYm9vbCBvayA9IGltcC0+YXBwZW5kQ2hpbGQodG9Ob2RlKGFyZ3MuYXQoMCkpLCBlYyk7
CiAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKICAgICBpZiAob2spCiAgICAgICAgIHJl
dHVybiBhcmdzLmF0KDApOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhOb2RlQ3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3Rv
bS5jcHAKaW5kZXggMGE3MTk4YS4uMDRlZDFmMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcAorKysgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOE5vZGVDdXN0b20uY3BwCkBAIC0xMTEsNyArMTExLDcgQEAgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IFY4Tm9kZTo6aW5zZXJ0QmVmb3JlQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYg
YXJncykKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICBOb2RlKiBuZXdDaGlsZCA9IFY4
Tm9kZTo6SGFzSW5zdGFuY2UoYXJnc1swXSkgPyBWOE5vZGU6OnRvTmF0aXZlKHY4OjpIYW5kbGU8
djg6Ok9iamVjdD46OkNhc3QoYXJnc1swXSkpIDogMDsKICAgICBOb2RlKiByZWZDaGlsZCA9IFY4
Tm9kZTo6SGFzSW5zdGFuY2UoYXJnc1sxXSkgPyBWOE5vZGU6OnRvTmF0aXZlKHY4OjpIYW5kbGU8
djg6Ok9iamVjdD46OkNhc3QoYXJnc1sxXSkpIDogMDsKLSAgICBib29sIHN1Y2Nlc3MgPSBpbXAt
Pmluc2VydEJlZm9yZShuZXdDaGlsZCwgcmVmQ2hpbGQsIGVjLCB0cnVlKTsKKyAgICBib29sIHN1
Y2Nlc3MgPSBpbXAtPmluc2VydEJlZm9yZShuZXdDaGlsZCwgcmVmQ2hpbGQsIGVjKTsKICAgICBp
ZiAoZWMpIHsKICAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjKTsKICAgICAgICAg
cmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOwpAQCAtMTM2LDcgKzEzNiw3IEBAIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBWOE5vZGU6OnJlcGxhY2VDaGlsZENhbGxiYWNrKGNvbnN0IHY4OjpB
cmd1bWVudHMmIGFyZ3MpCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgTm9kZSogbmV3
Q2hpbGQgPSBWOE5vZGU6Okhhc0luc3RhbmNlKGFyZ3NbMF0pID8gVjhOb2RlOjp0b05hdGl2ZSh2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMF0pKSA6IDA7CiAgICAgTm9kZSogb2xk
Q2hpbGQgPSBWOE5vZGU6Okhhc0luc3RhbmNlKGFyZ3NbMV0pID8gVjhOb2RlOjp0b05hdGl2ZSh2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMV0pKSA6IDA7Ci0gICAgYm9vbCBzdWNj
ZXNzID0gaW1wLT5yZXBsYWNlQ2hpbGQobmV3Q2hpbGQsIG9sZENoaWxkLCBlYywgdHJ1ZSk7Cisg
ICAgYm9vbCBzdWNjZXNzID0gaW1wLT5yZXBsYWNlQ2hpbGQobmV3Q2hpbGQsIG9sZENoaWxkLCBl
Yyk7CiAgICAgaWYgKGVjKSB7CiAgICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYyk7
CiAgICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKQEAgLTE4Myw3ICsxODMs
NyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhOb2RlOjphcHBlbmRDaGlsZENhbGxiYWNrKGNv
bnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAg
ICBOb2RlKiBuZXdDaGlsZCA9IFY4Tm9kZTo6SGFzSW5zdGFuY2UoYXJnc1swXSkgPyBWOE5vZGU6
OnRvTmF0aXZlKHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoYXJnc1swXSkpIDogMDsKLSAg
ICBib29sIHN1Y2Nlc3MgPSBpbXAtPmFwcGVuZENoaWxkKG5ld0NoaWxkLCBlYywgdHJ1ZSApOwor
ICAgIGJvb2wgc3VjY2VzcyA9IGltcC0+YXBwZW5kQ2hpbGQobmV3Q2hpbGQsIGVjKTsKICAgICBp
ZiAoZWMpIHsKICAgICAgICAgVjhQcm94eTo6c2V0RE9NRXhjZXB0aW9uKGVjKTsKICAgICAgICAg
cmV0dXJuIHY4OjpIYW5kbGU8djg6OlZhbHVlPigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20v
Q29udGFpbmVyTm9kZS5jcHAgYi9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAppbmRleCBm
YjI4NTJmLi43NDQ5YTVmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNw
cAorKysgYi9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcApAQCAtNjMsNyArNjMsNyBAQCBD
b250YWluZXJOb2RlOjp+Q29udGFpbmVyTm9kZSgpCiAgICAgcmVtb3ZlQWxsQ2hpbGRyZW4oKTsK
IH0KIAotYm9vbCBDb250YWluZXJOb2RlOjppbnNlcnRCZWZvcmUoUGFzc1JlZlB0cjxOb2RlPiBu
ZXdDaGlsZCwgTm9kZSogcmVmQ2hpbGQsIEV4Y2VwdGlvbkNvZGUmIGVjLCBib29sIHNob3VsZExh
enlBdHRhY2gpCitib29sIENvbnRhaW5lck5vZGU6Omluc2VydEJlZm9yZShQYXNzUmVmUHRyPE5v
ZGU+IG5ld0NoaWxkLCBOb2RlKiByZWZDaGlsZCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAg
Ly8gQ2hlY2sgdGhhdCB0aGlzIG5vZGUgaXMgbm90ICJmbG9hdGluZyIuCiAgICAgLy8gSWYgaXQg
aXMsIGl0IGNhbiBiZSBkZWxldGVkIGFzIGEgc2lkZSBlZmZlY3Qgb2Ygc2VuZGluZyBtdXRhdGlv
biBldmVudHMuCkBAIC03Myw3ICs3Myw3IEBAIGJvb2wgQ29udGFpbmVyTm9kZTo6aW5zZXJ0QmVm
b3JlKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Q2hpbGQsIE5vZGUqIHJlZkNoaWxkLCBFeGNlCiAKICAg
ICAvLyBpbnNlcnRCZWZvcmUobm9kZSwgMCkgaXMgZXF1aXZhbGVudCB0byBhcHBlbmRDaGlsZChu
b2RlKQogICAgIGlmICghcmVmQ2hpbGQpCi0gICAgICAgIHJldHVybiBhcHBlbmRDaGlsZChuZXdD
aGlsZCwgZWMsIHNob3VsZExhenlBdHRhY2gpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2hpbGQo
bmV3Q2hpbGQsIGVjKTsKIAogICAgIC8vIE1ha2Ugc3VyZSBhZGRpbmcgdGhlIG5ldyBjaGlsZCBp
cyBPSy4KICAgICBjaGVja0FkZENoaWxkKG5ld0NoaWxkLmdldCgpLCBlYyk7CkBAIC0xNDgsMTQg
KzE0OCwxMCBAQCBib29sIENvbnRhaW5lck5vZGU6Omluc2VydEJlZm9yZShQYXNzUmVmUHRyPE5v
ZGU+IG5ld0NoaWxkLCBOb2RlKiByZWZDaGlsZCwgRXhjZQogICAgICAgICAvLyBTZW5kIG5vdGlm
aWNhdGlvbiBhYm91dCB0aGUgY2hpbGRyZW4gY2hhbmdlLgogICAgICAgICBjaGlsZHJlbkNoYW5n
ZWQoZmFsc2UsIHJlZkNoaWxkUHJldmlvdXNTaWJsaW5nLmdldCgpLCBuZXh0LmdldCgpLCAxKTsK
ICAgICAgICAgbm90aWZ5Q2hpbGRJbnNlcnRlZChjaGlsZC5nZXQoKSk7Ci0gICAgICAgICAgICAg
ICAgCisKICAgICAgICAgLy8gQWRkIGNoaWxkIHRvIHRoZSByZW5kZXJpbmcgdHJlZS4KLSAgICAg
ICAgaWYgKGF0dGFjaGVkKCkgJiYgIWNoaWxkLT5hdHRhY2hlZCgpICYmIGNoaWxkLT5wYXJlbnQo
KSA9PSB0aGlzKSB7Ci0gICAgICAgICAgICBpZiAoc2hvdWxkTGF6eUF0dGFjaCkKLSAgICAgICAg
ICAgICAgICBjaGlsZC0+bGF6eUF0dGFjaCgpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAg
ICAgICAgIGNoaWxkLT5hdHRhY2goKTsKLSAgICAgICAgfQorICAgICAgICBpZiAoYXR0YWNoZWQo
KSAmJiAhY2hpbGQtPmF0dGFjaGVkKCkgJiYgY2hpbGQtPnBhcmVudCgpID09IHRoaXMpCisgICAg
ICAgICAgICBjaGlsZC0+bGF6eUF0dGFjaCgpOwogCiAgICAgICAgIC8vIE5vdyB0aGF0IHRoZSBj
aGlsZCBpcyBhdHRhY2hlZCB0byB0aGUgcmVuZGVyIHRyZWUsIGRpc3BhdGNoCiAgICAgICAgIC8v
IHRoZSByZWxldmFudCBtdXRhdGlvbiBldmVudHMuCkBAIC0xNjgsNyArMTY0LDcgQEAgYm9vbCBD
b250YWluZXJOb2RlOjppbnNlcnRCZWZvcmUoUGFzc1JlZlB0cjxOb2RlPiBuZXdDaGlsZCwgTm9k
ZSogcmVmQ2hpbGQsIEV4Y2UKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBDb250YWluZXJO
b2RlOjpyZXBsYWNlQ2hpbGQoUGFzc1JlZlB0cjxOb2RlPiBuZXdDaGlsZCwgTm9kZSogb2xkQ2hp
bGQsIEV4Y2VwdGlvbkNvZGUmIGVjLCBib29sIHNob3VsZExhenlBdHRhY2gpCitib29sIENvbnRh
aW5lck5vZGU6OnJlcGxhY2VDaGlsZChQYXNzUmVmUHRyPE5vZGU+IG5ld0NoaWxkLCBOb2RlKiBv
bGRDaGlsZCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgLy8gQ2hlY2sgdGhhdCB0aGlzIG5v
ZGUgaXMgbm90ICJmbG9hdGluZyIuCiAgICAgLy8gSWYgaXQgaXMsIGl0IGNhbiBiZSBkZWxldGVk
IGFzIGEgc2lkZSBlZmZlY3Qgb2Ygc2VuZGluZyBtdXRhdGlvbiBldmVudHMuCkBAIC0yNjQsMTIg
KzI2MCw4IEBAIGJvb2wgQ29udGFpbmVyTm9kZTo6cmVwbGFjZUNoaWxkKFBhc3NSZWZQdHI8Tm9k
ZT4gbmV3Q2hpbGQsIE5vZGUqIG9sZENoaWxkLCBFeGNlCiAgICAgICAgIG5vdGlmeUNoaWxkSW5z
ZXJ0ZWQoY2hpbGQuZ2V0KCkpOwogICAgICAgICAgICAgICAgIAogICAgICAgICAvLyBBZGQgY2hp
bGQgdG8gdGhlIHJlbmRlcmluZyB0cmVlCi0gICAgICAgIGlmIChhdHRhY2hlZCgpICYmICFjaGls
ZC0+YXR0YWNoZWQoKSAmJiBjaGlsZC0+cGFyZW50KCkgPT0gdGhpcykgewotICAgICAgICAgICAg
aWYgKHNob3VsZExhenlBdHRhY2gpCi0gICAgICAgICAgICAgICAgY2hpbGQtPmxhenlBdHRhY2go
KTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBjaGlsZC0+YXR0YWNoKCk7Ci0g
ICAgICAgIH0KKyAgICAgICAgaWYgKGF0dGFjaGVkKCkgJiYgIWNoaWxkLT5hdHRhY2hlZCgpICYm
IGNoaWxkLT5wYXJlbnQoKSA9PSB0aGlzKQorICAgICAgICAgICAgY2hpbGQtPmxhenlBdHRhY2go
KTsKIAogICAgICAgICAvLyBOb3cgdGhhdCB0aGUgY2hpbGQgaXMgYXR0YWNoZWQgdG8gdGhlIHJl
bmRlciB0cmVlLCBkaXNwYXRjaAogICAgICAgICAvLyB0aGUgcmVsZXZhbnQgbXV0YXRpb24gZXZl
bnRzLgpAQCAtNDUxLDcgKzQ0Myw3IEBAIGJvb2wgQ29udGFpbmVyTm9kZTo6cmVtb3ZlQ2hpbGRy
ZW4oKQogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIENvbnRhaW5lck5vZGU6OmFwcGVuZENo
aWxkKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Q2hpbGQsIEV4Y2VwdGlvbkNvZGUmIGVjLCBib29sIHNo
b3VsZExhenlBdHRhY2gpCitib29sIENvbnRhaW5lck5vZGU6OmFwcGVuZENoaWxkKFBhc3NSZWZQ
dHI8Tm9kZT4gbmV3Q2hpbGQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIC8vIENoZWNrIHRo
YXQgdGhpcyBub2RlIGlzIG5vdCAiZmxvYXRpbmciLgogICAgIC8vIElmIGl0IGlzLCBpdCBjYW4g
YmUgZGVsZXRlZCBhcyBhIHNpZGUgZWZmZWN0IG9mIHNlbmRpbmcgbXV0YXRpb24gZXZlbnRzLgpA
QCAtNTEwLDEyICs1MDIsOCBAQCBib29sIENvbnRhaW5lck5vZGU6OmFwcGVuZENoaWxkKFBhc3NS
ZWZQdHI8Tm9kZT4gbmV3Q2hpbGQsIEV4Y2VwdGlvbkNvZGUmIGVjLCBibwogICAgICAgICBub3Rp
ZnlDaGlsZEluc2VydGVkKGNoaWxkLmdldCgpKTsKIAogICAgICAgICAvLyBBZGQgY2hpbGQgdG8g
dGhlIHJlbmRlcmluZyB0cmVlCi0gICAgICAgIGlmIChhdHRhY2hlZCgpICYmICFjaGlsZC0+YXR0
YWNoZWQoKSAmJiBjaGlsZC0+cGFyZW50KCkgPT0gdGhpcykgewotICAgICAgICAgICAgaWYgKHNo
b3VsZExhenlBdHRhY2gpCi0gICAgICAgICAgICAgICAgY2hpbGQtPmxhenlBdHRhY2goKTsKLSAg
ICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICBjaGlsZC0+YXR0YWNoKCk7Ci0gICAgICAg
IH0KKyAgICAgICAgaWYgKGF0dGFjaGVkKCkgJiYgIWNoaWxkLT5hdHRhY2hlZCgpICYmIGNoaWxk
LT5wYXJlbnQoKSA9PSB0aGlzKQorICAgICAgICAgICAgY2hpbGQtPmxhenlBdHRhY2goKTsKIAog
ICAgICAgICAvLyBOb3cgdGhhdCB0aGUgY2hpbGQgaXMgYXR0YWNoZWQgdG8gdGhlIHJlbmRlciB0
cmVlLCBkaXNwYXRjaAogICAgICAgICAvLyB0aGUgcmVsZXZhbnQgbXV0YXRpb24gZXZlbnRzLgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oIGIvV2ViQ29yZS9kb20vQ29u
dGFpbmVyTm9kZS5oCmluZGV4IDk3ODlmMWYuLmM4MmFiNjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
ZG9tL0NvbnRhaW5lck5vZGUuaAorKysgYi9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmgKQEAg
LTQzLDEwICs0MywxMCBAQCBwdWJsaWM6CiAgICAgTm9kZSogZmlyc3RDaGlsZCgpIGNvbnN0IHsg
cmV0dXJuIG1fZmlyc3RDaGlsZDsgfQogICAgIE5vZGUqIGxhc3RDaGlsZCgpIGNvbnN0IHsgcmV0
dXJuIG1fbGFzdENoaWxkOyB9CiAKLSAgICB2aXJ0dWFsIGJvb2wgaW5zZXJ0QmVmb3JlKFBhc3NS
ZWZQdHI8Tm9kZT4gbmV3Q2hpbGQsIE5vZGUqIHJlZkNoaWxkLCBFeGNlcHRpb25Db2RlJiwgYm9v
bCBzaG91bGRMYXp5QXR0YWNoID0gZmFsc2UpOwotICAgIHZpcnR1YWwgYm9vbCByZXBsYWNlQ2hp
bGQoUGFzc1JlZlB0cjxOb2RlPiBuZXdDaGlsZCwgTm9kZSogb2xkQ2hpbGQsIEV4Y2VwdGlvbkNv
ZGUmLCBib29sIHNob3VsZExhenlBdHRhY2ggPSBmYWxzZSk7CisgICAgdmlydHVhbCBib29sIGlu
c2VydEJlZm9yZShQYXNzUmVmUHRyPE5vZGU+IG5ld0NoaWxkLCBOb2RlKiByZWZDaGlsZCwgRXhj
ZXB0aW9uQ29kZSYpOworICAgIHZpcnR1YWwgYm9vbCByZXBsYWNlQ2hpbGQoUGFzc1JlZlB0cjxO
b2RlPiBuZXdDaGlsZCwgTm9kZSogb2xkQ2hpbGQsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2aXJ0
dWFsIGJvb2wgcmVtb3ZlQ2hpbGQoTm9kZSogY2hpbGQsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2
aXJ0dWFsIGJvb2wgYXBwZW5kQ2hpbGQoUGFzc1JlZlB0cjxOb2RlPiBuZXdDaGlsZCwgRXhjZXB0
aW9uQ29kZSYsIGJvb2wgc2hvdWxkTGF6eUF0dGFjaCA9IGZhbHNlKTsKKyAgICB2aXJ0dWFsIGJv
b2wgYXBwZW5kQ2hpbGQoUGFzc1JlZlB0cjxOb2RlPiBuZXdDaGlsZCwgRXhjZXB0aW9uQ29kZSYp
OwogCiAgICAgdmlydHVhbCBDb250YWluZXJOb2RlKiBhZGRDaGlsZChQYXNzUmVmUHRyPE5vZGU+
KTsKICAgICBib29sIGhhc0NoaWxkTm9kZXMoKSBjb25zdCB7IHJldHVybiBtX2ZpcnN0Q2hpbGQ7
IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvV2ViQ29yZS9kb20vTm9kZS5j
cHAKaW5kZXggNTBmMDE4Yi4uZDRhMjc4NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vTm9kZS5j
cHAKKysrIGIvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTYwOSwxMyArNjA5LDEzIEBAIE5vZGUq
IE5vZGU6OmZpcnN0RGVzY2VuZGFudCgpIGNvbnN0CiAgICAgcmV0dXJuIG47CiB9CiAKLWJvb2wg
Tm9kZTo6aW5zZXJ0QmVmb3JlKFBhc3NSZWZQdHI8Tm9kZT4sIE5vZGUqLCBFeGNlcHRpb25Db2Rl
JiBlYywgYm9vbCkKK2Jvb2wgTm9kZTo6aW5zZXJ0QmVmb3JlKFBhc3NSZWZQdHI8Tm9kZT4sIE5v
ZGUqLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBlYyA9IEhJRVJBUkNIWV9SRVFVRVNUX0VS
UjsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgTm9kZTo6cmVwbGFjZUNoaWxkKFBhc3NS
ZWZQdHI8Tm9kZT4sIE5vZGUqLCBFeGNlcHRpb25Db2RlJiBlYywgYm9vbCkKK2Jvb2wgTm9kZTo6
cmVwbGFjZUNoaWxkKFBhc3NSZWZQdHI8Tm9kZT4sIE5vZGUqLCBFeGNlcHRpb25Db2RlJiBlYykK
IHsKICAgICBlYyA9IEhJRVJBUkNIWV9SRVFVRVNUX0VSUjsKICAgICByZXR1cm4gZmFsc2U7CkBA
IC02MjcsNyArNjI3LDcgQEAgYm9vbCBOb2RlOjpyZW1vdmVDaGlsZChOb2RlKiwgRXhjZXB0aW9u
Q29kZSYgZWMpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIE5vZGU6OmFwcGVuZENoaWxk
KFBhc3NSZWZQdHI8Tm9kZT4sIEV4Y2VwdGlvbkNvZGUmIGVjLCBib29sKQorYm9vbCBOb2RlOjph
cHBlbmRDaGlsZChQYXNzUmVmUHRyPE5vZGU+LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBl
YyA9IEhJRVJBUkNIWV9SRVFVRVNUX0VSUjsKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9XZWJDb3JlL2RvbS9Ob2RlLmgKaW5kZXggM2Q3MTZmZC4u
NWI4ZDU5MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vTm9kZS5oCisrKyBiL1dlYkNvcmUvZG9t
L05vZGUuaApAQCAtMTMyLDEwICsxMzIsMTAgQEAgcHVibGljOgogICAgIC8vIFRoZXNlIHNob3Vs
ZCBhbGwgYWN0dWFsbHkgcmV0dXJuIGEgbm9kZSwgYnV0IHRoaXMgaXMgb25seSBpbXBvcnRhbnQg
Zm9yIGxhbmd1YWdlIGJpbmRpbmdzLAogICAgIC8vIHdoaWNoIHdpbGwgYWxyZWFkeSBrbm93IGFu
ZCBob2xkIGEgcmVmIG9uIHRoZSByaWdodCBub2RlIHRvIHJldHVybi4gUmV0dXJuaW5nIGJvb2wg
YWxsb3dzCiAgICAgLy8gdGhlc2UgbWV0aG9kcyB0byBiZSBtb3JlIGVmZmljaWVudCBzaW5jZSB0
aGV5IGRvbid0IG5lZWQgdG8gcmV0dXJuIGEgcmVmCi0gICAgdmlydHVhbCBib29sIGluc2VydEJl
Zm9yZShQYXNzUmVmUHRyPE5vZGU+IG5ld0NoaWxkLCBOb2RlKiByZWZDaGlsZCwgRXhjZXB0aW9u
Q29kZSYsIGJvb2wgc2hvdWxkTGF6eUF0dGFjaCA9IGZhbHNlKTsKLSAgICB2aXJ0dWFsIGJvb2wg
cmVwbGFjZUNoaWxkKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Q2hpbGQsIE5vZGUqIG9sZENoaWxkLCBF
eGNlcHRpb25Db2RlJiwgYm9vbCBzaG91bGRMYXp5QXR0YWNoID0gZmFsc2UpOworICAgIHZpcnR1
YWwgYm9vbCBpbnNlcnRCZWZvcmUoUGFzc1JlZlB0cjxOb2RlPiBuZXdDaGlsZCwgTm9kZSogcmVm
Q2hpbGQsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2aXJ0dWFsIGJvb2wgcmVwbGFjZUNoaWxkKFBh
c3NSZWZQdHI8Tm9kZT4gbmV3Q2hpbGQsIE5vZGUqIG9sZENoaWxkLCBFeGNlcHRpb25Db2RlJik7
CiAgICAgdmlydHVhbCBib29sIHJlbW92ZUNoaWxkKE5vZGUqIGNoaWxkLCBFeGNlcHRpb25Db2Rl
Jik7Ci0gICAgdmlydHVhbCBib29sIGFwcGVuZENoaWxkKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Q2hp
bGQsIEV4Y2VwdGlvbkNvZGUmLCBib29sIHNob3VsZExhenlBdHRhY2ggPSBmYWxzZSk7CisgICAg
dmlydHVhbCBib29sIGFwcGVuZENoaWxkKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Q2hpbGQsIEV4Y2Vw
dGlvbkNvZGUmKTsKIAogICAgIHZvaWQgcmVtb3ZlKEV4Y2VwdGlvbkNvZGUmKTsKICAgICBib29s
IGhhc0NoaWxkTm9kZXMoKSBjb25zdCB7IHJldHVybiBmaXJzdENoaWxkKCk7IH0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHAgYi9XZWJDb3JlL2Vk
aXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCmluZGV4IGZmZjc2YTYuLmQ3MjZlNTggMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHAKKysrIGIv
V2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcApAQCAtNTc2LDkgKzU3Niw2
IEBAIFBhc3NSZWZQdHI8Tm9kZT4gQ29tcG9zaXRlRWRpdENvbW1hbmQ6OmFwcGVuZEJsb2NrUGxh
Y2Vob2xkZXIoUGFzc1JlZlB0cjxFbGVtZW50CiB7CiAgICAgaWYgKCFjb250YWluZXIpCiAgICAg
ICAgIHJldHVybiAwOwotICAgIAotICAgIC8vIFNob3VsZCBhc3NlcnQgaXNCbG9ja0Zsb3cgfHwg
aXNJbmxpbmVGbG93IHdoZW4gZGVsZXRpb24gaW1wcm92ZXMuIFNlZSA0MjQ0OTY0LgotICAgIEFT
U0VSVChjb250YWluZXItPnJlbmRlcmVyKCkpOwogCiAgICAgUmVmUHRyPE5vZGU+IHBsYWNlaG9s
ZGVyID0gY3JlYXRlQmxvY2tQbGFjZWhvbGRlckVsZW1lbnQoZG9jdW1lbnQoKSk7CiAgICAgYXBw
ZW5kTm9kZShwbGFjZWhvbGRlciwgY29udGFpbmVyKTsKQEAgLTU5MCw5ICs1ODcsNiBAQCBQYXNz
UmVmUHRyPE5vZGU+IENvbXBvc2l0ZUVkaXRDb21tYW5kOjppbnNlcnRCbG9ja1BsYWNlaG9sZGVy
KGNvbnN0IFBvc2l0aW9uJiBwbwogICAgIGlmIChwb3MuaXNOdWxsKCkpCiAgICAgICAgIHJldHVy
biAwOwogCi0gICAgLy8gU2hvdWxkIGFzc2VydCBpc0Jsb2NrRmxvdyB8fCBpc0lubGluZUZsb3cg
d2hlbiBkZWxldGlvbiBpbXByb3Zlcy4gIFNlZSA0MjQ0OTY0LgotICAgIEFTU0VSVChwb3Mubm9k
ZSgpLT5yZW5kZXJlcigpKTsKLQogICAgIFJlZlB0cjxOb2RlPiBwbGFjZWhvbGRlciA9IGNyZWF0
ZUJsb2NrUGxhY2Vob2xkZXJFbGVtZW50KGRvY3VtZW50KCkpOwogICAgIGluc2VydE5vZGVBdChw
bGFjZWhvbGRlciwgcG9zKTsKICAgICByZXR1cm4gcGxhY2Vob2xkZXIucmVsZWFzZSgpOwpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuY3BwIGIvV2ViQ29yZS9o
dG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuY3BwCmluZGV4IDkwMTU2ZGEuLmQzZjY3MDkgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MT3B0R3JvdXBFbGVtZW50LmNwcAorKysgYi9XZWJDb3Jl
L2h0bWwvSFRNTE9wdEdyb3VwRWxlbWVudC5jcHAKQEAgLTYxLDE1ICs2MSwxNSBAQCBjb25zdCBB
dG9taWNTdHJpbmcmIEhUTUxPcHRHcm91cEVsZW1lbnQ6OmZvcm1Db250cm9sVHlwZSgpIGNvbnN0
CiAgICAgcmV0dXJuIG9wdGdyb3VwOwogfQogCi1ib29sIEhUTUxPcHRHcm91cEVsZW1lbnQ6Omlu
c2VydEJlZm9yZShQYXNzUmVmUHRyPE5vZGU+IG5ld0NoaWxkLCBOb2RlKiByZWZDaGlsZCwgRXhj
ZXB0aW9uQ29kZSYgZWMsIGJvb2wgc2hvdWxkTGF6eUF0dGFjaCkKK2Jvb2wgSFRNTE9wdEdyb3Vw
RWxlbWVudDo6aW5zZXJ0QmVmb3JlKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Q2hpbGQsIE5vZGUqIHJl
ZkNoaWxkLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBib29sIHJlc3VsdCA9IEhUTUxGb3Jt
Q29udHJvbEVsZW1lbnQ6Omluc2VydEJlZm9yZShuZXdDaGlsZCwgcmVmQ2hpbGQsIGVjLCBzaG91
bGRMYXp5QXR0YWNoKTsKKyAgICBib29sIHJlc3VsdCA9IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6
Omluc2VydEJlZm9yZShuZXdDaGlsZCwgcmVmQ2hpbGQsIGVjKTsKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCi1ib29sIEhUTUxPcHRHcm91cEVsZW1lbnQ6OnJlcGxhY2VDaGlsZChQYXNzUmVmUHRy
PE5vZGU+IG5ld0NoaWxkLCBOb2RlKiBvbGRDaGlsZCwgRXhjZXB0aW9uQ29kZSYgZWMsIGJvb2wg
c2hvdWxkTGF6eUF0dGFjaCkKK2Jvb2wgSFRNTE9wdEdyb3VwRWxlbWVudDo6cmVwbGFjZUNoaWxk
KFBhc3NSZWZQdHI8Tm9kZT4gbmV3Q2hpbGQsIE5vZGUqIG9sZENoaWxkLCBFeGNlcHRpb25Db2Rl
JiBlYykKIHsKLSAgICBib29sIHJlc3VsdCA9IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnJlcGxh
Y2VDaGlsZChuZXdDaGlsZCwgb2xkQ2hpbGQsIGVjLCBzaG91bGRMYXp5QXR0YWNoKTsKKyAgICBi
b29sIHJlc3VsdCA9IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6OnJlcGxhY2VDaGlsZChuZXdDaGls
ZCwgb2xkQ2hpbGQsIGVjKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC03OSw5ICs3OSw5
IEBAIGJvb2wgSFRNTE9wdEdyb3VwRWxlbWVudDo6cmVtb3ZlQ2hpbGQoTm9kZSogb2xkQ2hpbGQs
IEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLWJvb2wgSFRNTE9w
dEdyb3VwRWxlbWVudDo6YXBwZW5kQ2hpbGQoUGFzc1JlZlB0cjxOb2RlPiBuZXdDaGlsZCwgRXhj
ZXB0aW9uQ29kZSYgZWMsIGJvb2wgc2hvdWxkTGF6eUF0dGFjaCkKK2Jvb2wgSFRNTE9wdEdyb3Vw
RWxlbWVudDo6YXBwZW5kQ2hpbGQoUGFzc1JlZlB0cjxOb2RlPiBuZXdDaGlsZCwgRXhjZXB0aW9u
Q29kZSYgZWMpCiB7Ci0gICAgYm9vbCByZXN1bHQgPSBIVE1MRm9ybUNvbnRyb2xFbGVtZW50Ojph
cHBlbmRDaGlsZChuZXdDaGlsZCwgZWMsIHNob3VsZExhenlBdHRhY2gpOworICAgIGJvb2wgcmVz
dWx0ID0gSFRNTEZvcm1Db250cm9sRWxlbWVudDo6YXBwZW5kQ2hpbGQobmV3Q2hpbGQsIGVjKTsK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTE9w
dEdyb3VwRWxlbWVudC5oIGIvV2ViQ29yZS9odG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuaAppbmRl
eCA2ZTViMDQzLi5mZDhmMzVlIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTE9wdEdyb3Vw
RWxlbWVudC5oCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MT3B0R3JvdXBFbGVtZW50LmgKQEAgLTQ1
LDEwICs0NSwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGRldGFjaCgpOwogICAgIHZp
cnR1YWwgdm9pZCBzZXRSZW5kZXJTdHlsZShQYXNzUmVmUHRyPFJlbmRlclN0eWxlPik7CiAKLSAg
ICB2aXJ0dWFsIGJvb2wgaW5zZXJ0QmVmb3JlKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Q2hpbGQsIE5v
ZGUqIHJlZkNoaWxkLCBFeGNlcHRpb25Db2RlJiwgYm9vbCBzaG91bGRMYXp5QXR0YWNoID0gZmFs
c2UpOwotICAgIHZpcnR1YWwgYm9vbCByZXBsYWNlQ2hpbGQoUGFzc1JlZlB0cjxOb2RlPiBuZXdD
aGlsZCwgTm9kZSogb2xkQ2hpbGQsIEV4Y2VwdGlvbkNvZGUmLCBib29sIHNob3VsZExhenlBdHRh
Y2ggPSBmYWxzZSk7CisgICAgdmlydHVhbCBib29sIGluc2VydEJlZm9yZShQYXNzUmVmUHRyPE5v
ZGU+IG5ld0NoaWxkLCBOb2RlKiByZWZDaGlsZCwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZpcnR1
YWwgYm9vbCByZXBsYWNlQ2hpbGQoUGFzc1JlZlB0cjxOb2RlPiBuZXdDaGlsZCwgTm9kZSogb2xk
Q2hpbGQsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2aXJ0dWFsIGJvb2wgcmVtb3ZlQ2hpbGQoTm9k
ZSogY2hpbGQsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2aXJ0dWFsIGJvb2wgYXBwZW5kQ2hpbGQo
UGFzc1JlZlB0cjxOb2RlPiBuZXdDaGlsZCwgRXhjZXB0aW9uQ29kZSYsIGJvb2wgc2hvdWxkTGF6
eUF0dGFjaCA9IGZhbHNlKTsKKyAgICB2aXJ0dWFsIGJvb2wgYXBwZW5kQ2hpbGQoUGFzc1JlZlB0
cjxOb2RlPiBuZXdDaGlsZCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZpcnR1YWwgYm9vbCByZW1v
dmVDaGlsZHJlbigpOwogICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFu
Z2VkQnlQYXJzZXIgPSBmYWxzZSwgTm9kZSogYmVmb3JlQ2hhbmdlID0gMCwgTm9kZSogYWZ0ZXJD
aGFuZ2UgPSAwLCBpbnQgY2hpbGRDb3VudERlbHRhID0gMCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55166</attachid>
            <date>2010-05-05 16:01:41 -0700</date>
            <delta_ts>2010-06-11 12:16:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37688-20100505160140.patch</filename>
            <type>text/plain</type>
            <size>30054</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwZTZhNTljNzQ2YzBmY2E2MmUxZWI5M2VjNjQ3YTY1YWMzODIxMWIwLi42ZjY3NTQ4
MzIwZmE0MTY1NTc4MDNjNzAyNTU5NzM5MjRiYzUyYmM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAK
KzIwMTAtMDQtMTUgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgYmFzZWxp
bmVzIGFmZmVjdGVkIGJ5IGxhemllciBhdHRhY2htZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzY4OAorCisgICAgICAgIFRoZXJlIGFyZSBubyB1
c2VyLXZpc2libGUgY2hhbmdlcywganVzdCBhIHNsaWdodGx5IGRpZmZlcmVudCBzZXQgb2YKKyAg
ICAgICAgMC1zaXplZCByZW5kZXIgb2JqZWN0cyBpbiB0aGUgcmVuZGVyIHRyZWUgZHVlIHRvIHN0
eWxlIHJlY2FsY3MvbGF5b3V0cworICAgICAgICBoYXBwZW5pbmcgYXQgc2xpZ2h0bHkgZGlmZmVy
ZW50IHRpbWVzLgorCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vdGVzdF9leHBlY3RhdGlv
bnMudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL2luc2VydGluZy9icmVhay1i
bG9ja3F1b3RlLWFmdGVyLWRlbGV0ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0v
bWFjL2Zhc3QvZm9ybXMvYmFzaWMtYnV0dG9ucy1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxh
dGZvcm0vbWFjL2Zhc3QvZm9ybXMvZm9ybW1vdmUzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9wcmVzZXJ2ZUZvcm1EdXJpbmdSZXNpZHVhbFN0eWxlLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9pbnZhbGlkLzAwMy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvaW52YWxpZC90YWJsZS1yZXNp
ZHVhbC1zdHlsZS1jcmFzaC1leHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zh
c3QvdGFibGUvMDE0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdGFibGVz
L21vemlsbGEvYnVncy9idWc2NDctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy90YWJsZXMvbW96aWxsYS9vdGhlci93YV90YWJsZV90cl9hbGlnbi1leHBlY3RlZC50eHQ6CisK
IDIwMTAtMDUtMDUgIERpcmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgZXhwZWN0YXRpb25zIGZpeC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAppbmRleCA5OGQxY2Q5MTU5Mjkx
YWZkMmFiOThhMDA2NjY3Y2VhMDJlMGNjZGQxLi5iYjU4MzgxODg2ZTU1ODQwNTlhYjI3ZWM1OWVj
MzQyODc2NmE1ZGEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90
ZXN0X2V4cGVjdGF0aW9ucy50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
dGVzdF9leHBlY3RhdGlvbnMudHh0CkBAIC0yNzQ0LDYgKzI3NDQsMTcgQEAgQlVHNDI2OTEgOiBm
YXN0L2xpc3RzL29sLW5lc3RlZC1saXN0Lmh0bWwgPSBURVhUCiAvLyBOZXcgbGF5b3V0VGVzdENv
bnRyb2xsZXIgZnVuY3Rpb24gYWRkZWQgYXQgcjU3OTkzCiBCVUc0MjY5NiA6IGh0dHAvdGVzdHMv
eG1saHR0cHJlcXVlc3QvY3Jvc3Mtb3JpZ2luLWF1dGhvcml6YXRpb24td2l0aC1lbWJlZGRlci5o
dG1sID0gVElNRU9VVAogCisvLyBOZWVkIHRleHQgcmViYXNlbGluZXMgZHVlIHRvIGJ1ZyAzNzY4
OAorQlVHMzc2ODggOiBlZGl0aW5nL2luc2VydGluZy9icmVhay1ibG9ja3F1b3RlLWFmdGVyLWRl
bGV0ZS1leHBlY3RlZC50eHQgPSBQQVNTIFRFWFQKK0JVRzM3Njg4IDogZmFzdC9mb3Jtcy9iYXNp
Yy1idXR0b25zLWV4cGVjdGVkLnR4dCA9IFBBU1MgVEVYVAorQlVHMzc2ODggOiBmYXN0L2Zvcm1z
L2Zvcm1tb3ZlMy1leHBlY3RlZC50eHQgPSBQQVNTIFRFWFQKK0JVRzM3Njg4IDogZmFzdC9mb3Jt
cy9wcmVzZXJ2ZUZvcm1EdXJpbmdSZXNpZHVhbFN0eWxlLWV4cGVjdGVkLnR4dCA9IFBBU1MgVEVY
VAorQlVHMzc2ODggOiBmYXN0L2ludmFsaWQvMDAzLWV4cGVjdGVkLnR4dCA9IFBBU1MgVEVYVAor
QlVHMzc2ODggOiBmYXN0L2ludmFsaWQvdGFibGUtcmVzaWR1YWwtc3R5bGUtY3Jhc2gtZXhwZWN0
ZWQudHh0ID0gUEFTUyBURVhUCitCVUczNzY4OCA6IGZhc3QvdGFibGUvMDE0LWV4cGVjdGVkLnR4
dCA9IFBBU1MgVEVYVAorQlVHMzc2ODggOiB0YWJsZXMvbW96aWxsYS9idWdzL2J1ZzY0Ny1leHBl
Y3RlZC50eHQgPSBQQVNTIFRFWFQKK0JVRzM3Njg4IDogdGFibGVzL21vemlsbGEvb3RoZXIvd2Ff
dGFibGVfdHJfYWxpZ24tZXhwZWN0ZWQudHh0ID0gUEFTUyBURVhUCisKIC8vIFN0YXJ0ZWQgZmFp
bGluZyBhdCByNTc5NjkKIEJVRzg3MjkgTUFDIDogaHR0cC90ZXN0cy9tdWx0aXBhcnQvaW52YWxp
ZC1pbWFnZS1kYXRhLmh0bWwgPSBJTUFHRQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMvZWRpdGluZy9pbnNlcnRpbmcvYnJlYWstYmxvY2txdW90ZS1hZnRlci1kZWxldGUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvaW5zZXJ0aW5n
L2JyZWFrLWJsb2NrcXVvdGUtYWZ0ZXItZGVsZXRlLWV4cGVjdGVkLnR4dAppbmRleCA0MTAzOGM1
N2ZlNDI5ZmE4MjRiMzdkYWU0Y2ZkYzlkMDVlNTJjZmUwLi44ZTc2ZWFjYTBjMTU3YTNlZjUxMWNj
YThlNDM1MTBkMmE2ZTMzOWI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZWRpdGluZy9pbnNlcnRpbmcvYnJlYWstYmxvY2txdW90ZS1hZnRlci1kZWxldGUtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL2luc2VydGluZy9icmVh
ay1ibG9ja3F1b3RlLWFmdGVyLWRlbGV0ZS1leHBlY3RlZC50eHQKQEAgLTIxLDUgKzIxLDQgQEAg
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgICBSZW5kZXJCbG9jayB7QkxP
Q0tRVU9URX0gYXQgKDAsMCkgc2l6ZSA3NzJ4MTggW2NvbG9yPSMwMDgwMDBdIFtib3JkZXI6IG5v
bmUgKDJweCBzb2xpZCAjMDA4MDAwKV0KICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgxMiwwKSBzaXplIDM1eDE4CiAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEyLDAp
IHdpZHRoIDM1OiAiZ3JlZW4iCi0gICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgw
LDU0KSBzaXplIDc4NHgwCiBjYXJldDogcG9zaXRpb24gNSBvZiBjaGlsZCAyIHsjdGV4dH0gb2Yg
Y2hpbGQgNCB7RElWfSBvZiBjaGlsZCAxIHtCT0RZfSBvZiBjaGlsZCAwIHtIVE1MfSBvZiBkb2N1
bWVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZm9ybXMvYmFz
aWMtYnV0dG9ucy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9m
b3Jtcy9iYXNpYy1idXR0b25zLWV4cGVjdGVkLnR4dAppbmRleCBmMDg1MmIzYjBjZGQyNzhhYmU4
ZjllMGIxMjM1MGVmZGUyMzNkOTFmLi4wOTUzODdkZTA1Y2U0ODRhNWUyYTlhOTExMGZkODVhNmRm
MjdjMjBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jtcy9i
YXNpYy1idXR0b25zLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9mb3Jtcy9iYXNpYy1idXR0b25zLWV4cGVjdGVkLnR4dApAQCAtMTQsNiArMTQsNyBAQCBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHgzMTcKICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwzNikg
d2lkdGggNjQ5OiAid2l0aCB0ZXh0IChcImZvb1wiKSBhbmQgdGhlbiB1c2VzIHNpeCBkaWZmZXJl
bnQgcGFkZGluZ3MgdG8gbWFrZSBzdXJlIGVhY2ggb2YgdGhlIGJ1dHRvbnMgcmVuZGVyIHByb3Bl
cmx5LiAiCiAgICAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDY0OSwzNikgc2l6ZSAweDE4CiAgICAg
ICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsNTQpIHNpemUgMHgxOAorICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQg
KDAsNzIpIHNpemUgNjg0eDIyOQogICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24ge1RCT0RZfSBh
dCAoMCwwKSBzaXplIDY4NHgyMjkKICAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgw
LDApIHNpemUgNjg0eDIwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9mb3Jtcy9mb3JtbW92ZTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvZm9ybXMvZm9ybW1vdmUzLWV4cGVjdGVkLnR4dAppbmRleCA0Yzc1N2ZhZDk3MmMzNjY3
ZDlkOTZmYjhkNTg0ZGQwNGYzMWQ1NGE0Li5hYWMxOGFmMTA0NmFiYTQxMDA0YWI3M2FkOTM5ZjE0
ZWNhMmUwMzllIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9mb3Jt
cy9mb3JtbW92ZTMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L2Zvcm1zL2Zvcm1tb3ZlMy1leHBlY3RlZC50eHQKQEAgLTI4LDYgKzI4LDcgQEAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgUmVuZGVySW5saW5lIHtBfSBhdCAoMCww
KSBzaXplIDB4MCBbY29sb3I9IzAwMDBFRV0KICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAweDAKICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDI4
KSBzaXplIDc4NHgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAw
eDAKICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTA0eDE4CiAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTA0OiAiRm9ybSBkaWQgc3VibWl0IgogICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Zvcm1zL3ByZXNlcnZlRm9ybUR1cmluZ1Jlc2lk
dWFsU3R5bGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZm9y
bXMvcHJlc2VydmVGb3JtRHVyaW5nUmVzaWR1YWxTdHlsZS1leHBlY3RlZC50eHQKaW5kZXggMjdl
MmQwNDM3NGE2Y2U3YTViNTliMGRjMWQyODBhOWIwY2I1NDljZS4uMDU1MTljNmVkMTRiZTM1YTZh
ZmIwZjZiNmE4ODdhM2VmNTAyNTVjNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvZm9ybXMvcHJlc2VydmVGb3JtRHVyaW5nUmVzaWR1YWxTdHlsZS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvZm9ybXMvcHJlc2VydmVGb3Jt
RHVyaW5nUmVzaWR1YWxTdHlsZS1leHBlY3RlZC50eHQKQEAgLTI0LDYgKzI0LDggQEAgbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0
ICgwLDI1KSBzaXplIDc4NHgwCiAgICAgICAgICAgUmVuZGVySW5saW5lIHtGT05UfSBhdCAoMCww
KSBzaXplIDB4MAogICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4
MAorICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMjUpIHNpemUgNzg0eDAKKyAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMCwyNSkgc2l6ZSA3ODR4MzYKICAgICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgNzc1eDM2CiAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lk
dGggNzc1OiAiU3VjY2VzcyEgVGhpcyB0ZXN0IHN1Y2NlZWRzIGlmIHRoZSBpbnB1dCBuYW1lZCBt
b3ZlciBpcyBub3QgZGV0YWNoZWQgZnJvbSBpdHMgZm9ybSB3aGVuIGl0IGlzIG1vdmVkIGFyb3Vu
ZCBpbiB0aGUgRE9NIHRvIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvaW52YWxpZC8wMDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvaW52YWxpZC8wMDMtZXhwZWN0ZWQudHh0CmluZGV4IDdmOGYxYTk3NDBhMWEwOTRjNTVjN2Nm
YjJlMjhmZjJhYTY0ZTlmNmYuLjU0MTE2ZWYxZjUyNGU3ZDhmOWNjOTRhY2RkNGJmM2Q2MWQ0YjM1
MjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ludmFsaWQvMDAz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbnZhbGlk
LzAwMy1leHBlY3RlZC50eHQKQEAgLTM5LDEzICszOSw2IEBAIGxheWVyIGF0ICgwLDApIHNpemUg
ODAweDYwMAogICAgICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUgMHgwIFtj
b2xvcj0jRkYwMDAwXQogICAgICAgICAgIFJlbmRlcklubGluZSB7SX0gYXQgKDAsMCkgc2l6ZSAw
eDAKICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAotICAg
ICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTM2KSBzaXplIDc4NHgwIFtjb2xvcj0j
RkYwMDAwXQotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTM2KSBzaXplIDc4
NHgwCi0gICAgICAgIFJlbmRlcklubGluZSB7Rk9OVH0gYXQgKDAsMCkgc2l6ZSAweDAgW2NvbG9y
PSNGRjAwMDBdCi0gICAgICAgICAgUmVuZGVySW5saW5lIHtJfSBhdCAoMCwwKSBzaXplIDB4MAot
ICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTM2KSBzaXplIDc4NHgwIFtjb2xv
cj0jRkYwMDAwXQotICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMTM2KSBzaXpl
IDc4NHgwCi0gICAgICAgIFJlbmRlcklubGluZSB7Rk9OVH0gYXQgKDAsMCkgc2l6ZSAweDAgW2Nv
bG9yPSNGRjAwMDBdCiAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTM2KSBzaXplIDc4NHgx
OAogICAgICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNpemUgMTIzeDE4IFtjb2xv
cj0jRkYwMDAwXQogICAgICAgICAgIFJlbmRlcklubGluZSB7SX0gYXQgKDAsMCkgc2l6ZSA5M3gx
OApAQCAtNTYsNiArNDksNyBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMjMsMCkgc2l6ZSAxMjZ4MTgKICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMTIzLDApIHdpZHRoIDEyNjogIiBJIHNob3VsZCBub3QgYmUgcmVkLiIKICAgICAg
IFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDE3MCkgc2l6ZSA3ODR4MTgKKyAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgIFJlbmRlcklubGlu
ZSB7Qn0gYXQgKDAsMCkgc2l6ZSAxMzF4MTgKICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAzNngxOAogICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGgg
MzY6ICJCb2xkICIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2lu
dmFsaWQvdGFibGUtcmVzaWR1YWwtc3R5bGUtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW52YWxpZC90YWJsZS1yZXNpZHVhbC1zdHlsZS1jcmFzaC1l
eHBlY3RlZC50eHQKaW5kZXggMDU1NGIxZmM2ZTI1MWNmNTIwNjFiMmU0MThhYTI5NDllMTRhNTdh
NS4uNmIxNjliZTI2NjZmOTE4Y2I4M2ZiNWYzOWQyMTIzMzc4NjNmMWM2ZiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW52YWxpZC90YWJsZS1yZXNpZHVhbC1zdHls
ZS1jcmFzaC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
aW52YWxpZC90YWJsZS1yZXNpZHVhbC1zdHlsZS1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTYsOSAr
Niw2IEBAIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAogICAgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDAsMCkgc2l6ZSA3ODR4MAogICAgICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9
IGF0ICgwLDApIHNpemUgMHgwCiAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDc4
NHgwCi0gICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDc4NHgwCi0g
ICAgICAgIFJlbmRlcklubGluZSB7Rk9OVH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgIFJlbmRl
clRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSA1eDIwCiAgICAgICAgIFJlbmRlclRhYmxlU2Vj
dGlvbiB7VEJPRFl9IGF0ICgwLDApIHNpemUgNXgyMAogICAgICAgICAgIFJlbmRlclRhYmxlUm93
IChhbm9ueW1vdXMpIGF0ICgwLDIpIHNpemUgNXgxNgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvdGFibGUvMDE0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L3RhYmxlLzAxNC1leHBlY3RlZC50eHQKaW5kZXggMjVlMmIxYmQ4ZmNh
MWZjZWRjZDRmYTYwNGJhY2IxZTUxYzlkNTQ0MS4uOTI2ODU5YzMyNGM5OTcwMWVmY2NiNDQwMjEx
ZjNkODg3YTU4ZjA5MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
dGFibGUvMDE0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC90YWJsZS8wMTQtZXhwZWN0ZWQudHh0CkBAIC03LDEzICs3LDE1IEBAIGxheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAogICAgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDEz
Mng4NgogICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAg
IFJlbmRlckJsb2NrIHtIMn0gYXQgKDAsMTA1KSBzaXplIDc4NHgwCi0gICAgICBSZW5kZXJUYWJs
ZSB7VEFCTEV9IGF0ICgwLDEwNSkgc2l6ZSAxMzJ4MzYKLSAgICAgICAgUmVuZGVyVGFibGVTZWN0
aW9uIHtUQk9EWX0gYXQgKDAsMCkgc2l6ZSAxMzJ4MzYKLSAgICAgICAgICBSZW5kZXJUYWJsZVJv
dyB7VFJ9IGF0ICgwLDApIHNpemUgMTMyeDE4Ci0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwg
e1REfSBhdCAoMCwwKSBzaXplIDEzMngxOCBbcj0wIGM9MCBycz0xIGNzPTFdCi0gICAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDMxeDE4Ci0gICAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzE6ICJoZWxsbyIKLSAgICAgICAgICBSZW5kZXJU
YWJsZVJvdyB7VFJ9IGF0ICgwLDE4KSBzaXplIDEzMngxOAotICAgICAgICAgICAgUmVuZGVyVGFi
bGVDZWxsIHtURH0gYXQgKDAsMTgpIHNpemUgMTMyeDE4IFtyPTEgYz0wIHJzPTEgY3M9MV0KLSAg
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNTV4MTgKLSAgICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1NTogImdvb2RieWUiCisgICAgICBS
ZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwxMDUpIHNpemUgNzg0eDAKKyAgICAgICAgUmVu
ZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDEzMngzNgorICAgICAgICAgIFJlbmRlclRh
YmxlU2VjdGlvbiB7VEJPRFl9IGF0ICgwLDApIHNpemUgMTMyeDM2CisgICAgICAgICAgICBSZW5k
ZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDApIHNpemUgMTMyeDE4CisgICAgICAgICAgICAgIFJlbmRl
clRhYmxlQ2VsbCB7VER9IGF0ICgwLDApIHNpemUgMTMyeDE4IFtyPTAgYz0wIHJzPTEgY3M9MV0K
KyAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzMXgxOAor
ICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMzE6ICJoZWxsbyIKKyAg
ICAgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMTgpIHNpemUgMTMyeDE4CisgICAg
ICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgwLDE4KSBzaXplIDEzMngxOCBbcj0x
IGM9MCBycz0xIGNzPTFdCisgICAgICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgNTV4MTgKKyAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRo
IDU1OiAiZ29vZGJ5ZSIKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEv
YnVncy9idWc2NDctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxl
cy9tb3ppbGxhL2J1Z3MvYnVnNjQ3LWV4cGVjdGVkLnR4dAppbmRleCBjYTZhMjYzZTIwYjA2MDU4
ZmFlOTgwZDk2NjMyNzcwMGY4MGVmOGE2Li41YThlNWJjYWE2ZDM2MjVjY2Y3OWU3YWNjMmRjNGFi
ZTYzYTE0YjY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21v
emlsbGEvYnVncy9idWc2NDctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy90YWJsZXMvbW96aWxsYS9idWdzL2J1ZzY0Ny1leHBlY3RlZC50eHQKQEAgLTI2LDYgKzI2
LDggQEAgbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzMywwKSBzaXplIDI0eDEzCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzMsMCkgd2lkdGggMjQ6ICJpbnNpZGUi
CiAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDB4MAorICAgICAgICAgICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sgKGFub255bW91cykg
YXQgKDIsMTUpIHNpemUgOTB4MAorICAgICAgICAgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayAo
YW5vbnltb3VzKSBhdCAoMCwyMykgc2l6ZSAxMDB4MTgKICAgICAgICAgICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMTAsMCkgc2l6ZSA3OXgxOAogICAgICAgICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMTAsMCkgd2lkdGggNzk6ICJvdXRzaWRlIHRhYmxlIgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RhYmxlcy9tb3ppbGxhL290aGVyL3dhX3RhYmxlX3Ry
X2FsaWduLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy90YWJsZXMvbW96
aWxsYS9vdGhlci93YV90YWJsZV90cl9hbGlnbi1leHBlY3RlZC50eHQKaW5kZXggMjFlMDUzYjRi
NWUzNjMxYzNkYzY0NzUyNmU3OTA4MGEyNzExNmZhMi4uNTc0OTExNjIwNGZlNGQ1OGY0Y2E4MmJm
M2EyYTYxZGExNjMyNzRlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3Rh
Ymxlcy9tb3ppbGxhL290aGVyL3dhX3RhYmxlX3RyX2FsaWduLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdGFibGVzL21vemlsbGEvb3RoZXIvd2FfdGFibGVfdHJf
YWxpZ24tZXhwZWN0ZWQudHh0CkBAIC0yMzgsOSArMjM4LDYgQEAgbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA3ODV4MTMwOAogICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgy
LDU2KSBzaXplIDMzNngwCiAgICAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge0J9IGF0ICgw
LDApIHNpemUgMHgwCiAgICAgICAgICAgICAgICAgICAgIFJlbmRlcklubGluZSB7Rk9OVH0gYXQg
KDAsMCkgc2l6ZSAweDAgW2NvbG9yPSNGRjAwMDBdCi0gICAgICAgICAgICAgICAgUmVuZGVyQmxv
Y2sgKGFub255bW91cykgYXQgKDIsNTYpIHNpemUgMzM2eDAKLSAgICAgICAgICAgICAgICBSZW5k
ZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMiw1Nikgc2l6ZSAzMzZ4MAotICAgICAgICAgICAgICAg
ICAgUmVuZGVySW5saW5lIHtCfSBhdCAoMCwwKSBzaXplIDB4MAogICAgICAgICAgICAgICAgIFJl
bmRlckJsb2NrIHtQfSBhdCAoMiw3Mikgc2l6ZSAzMzZ4MAogICAgICAgUmVuZGVyQmxvY2sge1B9
IGF0ICgwLDk3NCkgc2l6ZSA3Njl4MTQ2CiAgICAgICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQg
KDAsMCkgc2l6ZSAzNDZ4MTQ2IFtiZ2NvbG9yPSNGRkU0QzRdIFtib3JkZXI6ICgxcHggb3V0c2V0
ICM4MDgwODApXQpAQCAtMjg2LDkgKzI4Myw2IEBAIGxheWVyIGF0ICgwLDApIHNpemUgNzg1eDEz
MDgKICAgICAgICAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMiw1Nikgc2l6
ZSAzMzZ4MAogICAgICAgICAgICAgICAgICAgUmVuZGVySW5saW5lIHtCfSBhdCAoMCwwKSBzaXpl
IDB4MAogICAgICAgICAgICAgICAgICAgICBSZW5kZXJJbmxpbmUge0ZPTlR9IGF0ICgwLDApIHNp
emUgMHgwIFtjb2xvcj0jRkYwMDAwXQotICAgICAgICAgICAgICAgIFJlbmRlckJsb2NrIChhbm9u
eW1vdXMpIGF0ICgyLDU2KSBzaXplIDMzNngwCi0gICAgICAgICAgICAgICAgUmVuZGVyQmxvY2sg
KGFub255bW91cykgYXQgKDIsNTYpIHNpemUgMzM2eDAKLSAgICAgICAgICAgICAgICAgIFJlbmRl
cklubGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgICAgICAgICAgICBSZW5kZXJCbG9j
ayB7UH0gYXQgKDIsNzIpIHNpemUgMzM2eDAKICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwx
MTM2KSBzaXplIDc2OXg3MAogICAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgwLDApIHNp
emUgMzQ2eDcwIFtiZ2NvbG9yPSNGRkU0QzRdIFtib3JkZXI6ICgxcHggb3V0c2V0ICM4MDgwODAp
XQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCAzMzM5YTJkY2NmNTkxNWQyYzQ4YzIyM2MxODk3Zjc5MDhhM2FkMGZkLi43NjdiNGYwNGJhMTY3
MDBhM2U3ZmVhMzg3ODQ0MjNlODM3MWE5MmI1IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEwLTA0LTE1ICBK
YW1lcyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIHRoZSBvcHRpb25hbCBzaG91bGRM
YXp5QXR0YWNoIHBhcmFtZXRlciBmcm9tIGFwcGVuZENoaWxkIGFuZCBmcmllbmRzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzY4OAorCisgICAgICAg
IENvbnRhaW5lck5vZGU6OmFwcGVuZENoaWxkKCksIGluc2VydEJlZm9yZSgpIGFuZCByZXBsYWNl
Q2hpbGQoKSBjYW4KKyAgICAgICAgY3VycmVudGx5IGF0dGFjaCBuZXcgbm9kZXMgdG8gdGhlIHJl
bmRlciB0cmVlIGVpdGhlciBkaXJlY3RseSBvciBsYXppbHkKKyAgICAgICAgKG1lYW5pbmcgb24g
dGhlIG5leHQgc3R5bGUgcmVjYWxjKS4gIFRoaXMgaXMgY29udHJvbGxlZCBieSB0aGUgb3B0aW9u
YWwKKyAgICAgICAgc2hvdWxkTGF6eUF0dGFjaCBwYXJhbWV0ZXIgYW5kIGJ5IHRoZSBub2RlcyBi
ZWluZyBhdHRhY2hlZCB0aGVtc2VsdmVzCisgICAgICAgIHRocm91Z2ggTm9kZTo6Y2FuTGF6eUF0
dGFjaCgpLiAgSG93ZXZlciwgdGhlIGZvcm1lciBpc24ndCByZWFsbHkKKyAgICAgICAgbmVjZXNz
YXJ5IGFuZCBqdXN0IGNvbXBsaWNhdGVzIHRoaXMgbG9naWMgbW9yZSB0aGFuIGl0IGFscmVhZHkg
aXMuCisgICAgICAgIFRoZSBhZGRlZCBjb21wbGV4aXR5IGluIHRoZSBhdHRhY2htZW50IGNvZGVw
YXRocyBjb250cmlidXRlIHRvCisgICAgICAgIG5hc3R5IGJ1Z3MgbGlrZSBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzY4NjQuCisKKyAgICAgICAgUmVtb3ZpbmcgdGhp
cyBwYXJhbWV0ZXIgYWxzbyBtYWtlcyBpdCBlYXNpZXIgdG8gbWFrZSBtb3JlIGF0dGFjaG1lbnRz
CisgICAgICAgIGxhenkgd2l0aG91dCBoYXZpbmcgdG8gY2hhbmdlIGFsbCBjYWxsZXJzIHRvIHRo
ZXNlIGZ1bmN0aW9ucy4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTm9kZUN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpKU05vZGU6Omluc2VydEJlZm9yZSk6CisgICAgICAgIChXZWJD
b3JlOjpKU05vZGU6OnJlcGxhY2VDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpKU05vZGU6OmFw
cGVuZENoaWxkKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlY4Tm9kZTo6aW5zZXJ0QmVmb3JlQ2FsbGJhY2spOgorICAg
ICAgICAoV2ViQ29yZTo6VjhOb2RlOjpyZXBsYWNlQ2hpbGRDYWxsYmFjayk6CisgICAgICAgIChX
ZWJDb3JlOjpWOE5vZGU6OmFwcGVuZENoaWxkQ2FsbGJhY2spOgorICAgICAgICAqIGRvbS9Db250
YWluZXJOb2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRhaW5lck5vZGU6Omluc2VydEJl
Zm9yZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250YWluZXJOb2RlOjpyZXBsYWNlQ2hpbGQpOgor
ICAgICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6YXBwZW5kQ2hpbGQpOgorICAgICAgICAq
IGRvbS9Db250YWluZXJOb2RlLmg6CisgICAgICAgICogZG9tL05vZGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Tm9kZTo6aW5zZXJ0QmVmb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnJl
cGxhY2VDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjphcHBlbmRDaGlsZCk6CisgICAg
ICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKiBlZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5k
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBvc2l0ZUVkaXRDb21tYW5kOjphcHBlbmRCbG9j
a1BsYWNlaG9sZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbXBvc2l0ZUVkaXRDb21tYW5kOjpp
bnNlcnRCbG9ja1BsYWNlaG9sZGVyKToKKyAgICAgICAgKiBodG1sL0hUTUxPcHRHcm91cEVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE9wdEdyb3VwRWxlbWVudDo6aW5zZXJ0QmVm
b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxPcHRHcm91cEVsZW1lbnQ6OnJlcGxhY2VDaGls
ZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MT3B0R3JvdXBFbGVtZW50OjphcHBlbmRDaGlsZCk6
CisgICAgICAgICogaHRtbC9IVE1MT3B0R3JvdXBFbGVtZW50Lmg6CisKIDIwMTAtMDUtMDUgIEFs
ZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUm9sbCBvdXQgcjU4
ODMwIGZvciBicmVha2luZyB0ZXN0cy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNOb2RlQ3VzdG9tLmNwcCBiL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOb2RlQ3VzdG9tLmNwcApp
bmRleCA2ZDYxMDM3ZmUwZGM0M2RjOGVjNWU3MGYzMzNmN2IwMTNlMzg0MjZhLi4yZDc5MTM0Yzc4
ZjIzODhkZjAwNTIyMjlhYTIyM2Y4YjhiMjJhNjA2IDEwMDY0NAotLS0gYS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTTm9kZUN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05vZGVD
dXN0b20uY3BwCkBAIC0xMTQsNyArMTE0LDcgQEAgSlNWYWx1ZSBKU05vZGU6Omluc2VydEJlZm9y
ZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEFyZ0xpc3QmIGFyZ3MpCiAgICAgfQogCiAgICAgRXhj
ZXB0aW9uQ29kZSBlYyA9IDA7Ci0gICAgYm9vbCBvayA9IGltcC0+aW5zZXJ0QmVmb3JlKHRvTm9k
ZShhcmdzLmF0KDApKSwgdG9Ob2RlKGFyZ3MuYXQoMSkpLCBlYywgdHJ1ZSk7CisgICAgYm9vbCBv
ayA9IGltcC0+aW5zZXJ0QmVmb3JlKHRvTm9kZShhcmdzLmF0KDApKSwgdG9Ob2RlKGFyZ3MuYXQo
MSkpLCBlYyk7CiAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTsKICAgICBpZiAob2spCiAg
ICAgICAgIHJldHVybiBhcmdzLmF0KDApOwpAQCAtMTMwLDcgKzEzMCw3IEBAIEpTVmFsdWUgSlNO
b2RlOjpyZXBsYWNlQ2hpbGQoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBBcmdMaXN0JiBhcmdzKQog
ICAgIH0KIAogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIGJvb2wgb2sgPSBpbXAtPnJl
cGxhY2VDaGlsZCh0b05vZGUoYXJncy5hdCgwKSksIHRvTm9kZShhcmdzLmF0KDEpKSwgZWMsIHRy
dWUpOworICAgIGJvb2wgb2sgPSBpbXAtPnJlcGxhY2VDaGlsZCh0b05vZGUoYXJncy5hdCgwKSks
IHRvTm9kZShhcmdzLmF0KDEpKSwgZWMpOwogICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7
CiAgICAgaWYgKG9rKQogICAgICAgICByZXR1cm4gYXJncy5hdCgxKTsKQEAgLTE2Miw3ICsxNjIs
NyBAQCBKU1ZhbHVlIEpTTm9kZTo6YXBwZW5kQ2hpbGQoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBB
cmdMaXN0JiBhcmdzKQogICAgIH0KIAogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwotICAgIGJv
b2wgb2sgPSBpbXAtPmFwcGVuZENoaWxkKHRvTm9kZShhcmdzLmF0KDApKSwgZWMsIHRydWUpOwor
ICAgIGJvb2wgb2sgPSBpbXAtPmFwcGVuZENoaWxkKHRvTm9kZShhcmdzLmF0KDApKSwgZWMpOwog
ICAgIHNldERPTUV4Y2VwdGlvbihleGVjLCBlYyk7CiAgICAgaWYgKG9rKQogICAgICAgICByZXR1
cm4gYXJncy5hdCgwKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Tm9kZUN1c3RvbS5jcHAgYi9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE5vZGVDdXN0b20u
Y3BwCmluZGV4IDBhNzE5OGFmMzkzNjQxNTdkYTYxMWRlMjhiZTVhNjUyOWI2YTY3ZDMuLjA0ZWQx
ZjI1NDE5ZjRmNjlmNWI1YTg5NTY3ODM3ZTVmOTRiMDFmYTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4Tm9kZUN1c3RvbS5jcHAKKysrIGIvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhOb2RlQ3VzdG9tLmNwcApAQCAtMTExLDcgKzExMSw3IEBAIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBWOE5vZGU6Omluc2VydEJlZm9yZUNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1
bWVudHMmIGFyZ3MpCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgTm9kZSogbmV3Q2hp
bGQgPSBWOE5vZGU6Okhhc0luc3RhbmNlKGFyZ3NbMF0pID8gVjhOb2RlOjp0b05hdGl2ZSh2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMF0pKSA6IDA7CiAgICAgTm9kZSogcmVmQ2hp
bGQgPSBWOE5vZGU6Okhhc0luc3RhbmNlKGFyZ3NbMV0pID8gVjhOb2RlOjp0b05hdGl2ZSh2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMV0pKSA6IDA7Ci0gICAgYm9vbCBzdWNjZXNz
ID0gaW1wLT5pbnNlcnRCZWZvcmUobmV3Q2hpbGQsIHJlZkNoaWxkLCBlYywgdHJ1ZSk7CisgICAg
Ym9vbCBzdWNjZXNzID0gaW1wLT5pbnNlcnRCZWZvcmUobmV3Q2hpbGQsIHJlZkNoaWxkLCBlYyk7
CiAgICAgaWYgKGVjKSB7CiAgICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYyk7CiAg
ICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKQEAgLTEzNiw3ICsxMzYsNyBA
QCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhOb2RlOjpyZXBsYWNlQ2hpbGRDYWxsYmFjayhjb25z
dCB2ODo6QXJndW1lbnRzJiBhcmdzKQogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwogICAgIE5v
ZGUqIG5ld0NoaWxkID0gVjhOb2RlOjpIYXNJbnN0YW5jZShhcmdzWzBdKSA/IFY4Tm9kZTo6dG9O
YXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzBdKSkgOiAwOwogICAgIE5v
ZGUqIG9sZENoaWxkID0gVjhOb2RlOjpIYXNJbnN0YW5jZShhcmdzWzFdKSA/IFY4Tm9kZTo6dG9O
YXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzFdKSkgOiAwOwotICAgIGJv
b2wgc3VjY2VzcyA9IGltcC0+cmVwbGFjZUNoaWxkKG5ld0NoaWxkLCBvbGRDaGlsZCwgZWMsIHRy
dWUpOworICAgIGJvb2wgc3VjY2VzcyA9IGltcC0+cmVwbGFjZUNoaWxkKG5ld0NoaWxkLCBvbGRD
aGlsZCwgZWMpOwogICAgIGlmIChlYykgewogICAgICAgICBWOFByb3h5OjpzZXRET01FeGNlcHRp
b24oZWMpOwogICAgICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6VmFsdWU+KCk7CkBAIC0xODMs
NyArMTgzLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4Tm9kZTo6YXBwZW5kQ2hpbGRDYWxs
YmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQogCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9
IDA7CiAgICAgTm9kZSogbmV3Q2hpbGQgPSBWOE5vZGU6Okhhc0luc3RhbmNlKGFyZ3NbMF0pID8g
VjhOb2RlOjp0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGFyZ3NbMF0pKSA6
IDA7Ci0gICAgYm9vbCBzdWNjZXNzID0gaW1wLT5hcHBlbmRDaGlsZChuZXdDaGlsZCwgZWMsIHRy
dWUgKTsKKyAgICBib29sIHN1Y2Nlc3MgPSBpbXAtPmFwcGVuZENoaWxkKG5ld0NoaWxkLCBlYyk7
CiAgICAgaWYgKGVjKSB7CiAgICAgICAgIFY4UHJveHk6OnNldERPTUV4Y2VwdGlvbihlYyk7CiAg
ICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4oKTsKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwIGIvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAK
aW5kZXggZjQyYjljZmUxYWI1MmY0ODQ2NzI0OTczOWZjNTI4ZjgxNDk5NjJjZS4uYzgxOWM0NmU2
NmVmN2M3MjQ4OTBjN2NjYzhjNGViZWRmNmMxZjFlMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20v
Q29udGFpbmVyTm9kZS5jcHAKKysrIGIvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKQEAg
LTc2LDcgKzc2LDcgQEAgQ29udGFpbmVyTm9kZTo6fkNvbnRhaW5lck5vZGUoKQogICAgIHJlbW92
ZUFsbENoaWxkcmVuKCk7CiB9CiAKLWJvb2wgQ29udGFpbmVyTm9kZTo6aW5zZXJ0QmVmb3JlKFBh
c3NSZWZQdHI8Tm9kZT4gbmV3Q2hpbGQsIE5vZGUqIHJlZkNoaWxkLCBFeGNlcHRpb25Db2RlJiBl
YywgYm9vbCBzaG91bGRMYXp5QXR0YWNoKQorYm9vbCBDb250YWluZXJOb2RlOjppbnNlcnRCZWZv
cmUoUGFzc1JlZlB0cjxOb2RlPiBuZXdDaGlsZCwgTm9kZSogcmVmQ2hpbGQsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQogewogICAgIC8vIENoZWNrIHRoYXQgdGhpcyBub2RlIGlzIG5vdCAiZmxvYXRpbmci
LgogICAgIC8vIElmIGl0IGlzLCBpdCBjYW4gYmUgZGVsZXRlZCBhcyBhIHNpZGUgZWZmZWN0IG9m
IHNlbmRpbmcgbXV0YXRpb24gZXZlbnRzLgpAQCAtODYsNyArODYsNyBAQCBib29sIENvbnRhaW5l
ck5vZGU6Omluc2VydEJlZm9yZShQYXNzUmVmUHRyPE5vZGU+IG5ld0NoaWxkLCBOb2RlKiByZWZD
aGlsZCwgRXhjZQogCiAgICAgLy8gaW5zZXJ0QmVmb3JlKG5vZGUsIDApIGlzIGVxdWl2YWxlbnQg
dG8gYXBwZW5kQ2hpbGQobm9kZSkKICAgICBpZiAoIXJlZkNoaWxkKQotICAgICAgICByZXR1cm4g
YXBwZW5kQ2hpbGQobmV3Q2hpbGQsIGVjLCBzaG91bGRMYXp5QXR0YWNoKTsKKyAgICAgICAgcmV0
dXJuIGFwcGVuZENoaWxkKG5ld0NoaWxkLCBlYyk7CiAKICAgICAvLyBNYWtlIHN1cmUgYWRkaW5n
IHRoZSBuZXcgY2hpbGQgaXMgT0suCiAgICAgY2hlY2tBZGRDaGlsZChuZXdDaGlsZC5nZXQoKSwg
ZWMpOwpAQCAtMTU5LDEyICsxNTksOCBAQCBib29sIENvbnRhaW5lck5vZGU6Omluc2VydEJlZm9y
ZShQYXNzUmVmUHRyPE5vZGU+IG5ld0NoaWxkLCBOb2RlKiByZWZDaGlsZCwgRXhjZQogICAgICAg
ICBub3RpZnlDaGlsZEluc2VydGVkKGNoaWxkKTsKICAgICAgICAgICAgICAgICAKICAgICAgICAg
Ly8gQWRkIGNoaWxkIHRvIHRoZSByZW5kZXJpbmcgdHJlZS4KLSAgICAgICAgaWYgKGF0dGFjaGVk
KCkgJiYgIWNoaWxkLT5hdHRhY2hlZCgpICYmIGNoaWxkLT5wYXJlbnQoKSA9PSB0aGlzKSB7Ci0g
ICAgICAgICAgICBpZiAoc2hvdWxkTGF6eUF0dGFjaCkKLSAgICAgICAgICAgICAgICBjaGlsZC0+
bGF6eUF0dGFjaCgpOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGNoaWxkLT5h
dHRhY2goKTsKLSAgICAgICAgfQorICAgICAgICBpZiAoYXR0YWNoZWQoKSAmJiAhY2hpbGQtPmF0
dGFjaGVkKCkgJiYgY2hpbGQtPnBhcmVudCgpID09IHRoaXMpCisgICAgICAgICAgICBjaGlsZC0+
bGF6eUF0dGFjaCgpOwogCiAgICAgICAgIC8vIE5vdyB0aGF0IHRoZSBjaGlsZCBpcyBhdHRhY2hl
ZCB0byB0aGUgcmVuZGVyIHRyZWUsIGRpc3BhdGNoCiAgICAgICAgIC8vIHRoZSByZWxldmFudCBt
dXRhdGlvbiBldmVudHMuCkBAIC0xNzUsNyArMTcxLDcgQEAgYm9vbCBDb250YWluZXJOb2RlOjpp
bnNlcnRCZWZvcmUoUGFzc1JlZlB0cjxOb2RlPiBuZXdDaGlsZCwgTm9kZSogcmVmQ2hpbGQsIEV4
Y2UKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBDb250YWluZXJOb2RlOjpyZXBsYWNlQ2hp
bGQoUGFzc1JlZlB0cjxOb2RlPiBuZXdDaGlsZCwgTm9kZSogb2xkQ2hpbGQsIEV4Y2VwdGlvbkNv
ZGUmIGVjLCBib29sIHNob3VsZExhenlBdHRhY2gpCitib29sIENvbnRhaW5lck5vZGU6OnJlcGxh
Y2VDaGlsZChQYXNzUmVmUHRyPE5vZGU+IG5ld0NoaWxkLCBOb2RlKiBvbGRDaGlsZCwgRXhjZXB0
aW9uQ29kZSYgZWMpCiB7CiAgICAgLy8gQ2hlY2sgdGhhdCB0aGlzIG5vZGUgaXMgbm90ICJmbG9h
dGluZyIuCiAgICAgLy8gSWYgaXQgaXMsIGl0IGNhbiBiZSBkZWxldGVkIGFzIGEgc2lkZSBlZmZl
Y3Qgb2Ygc2VuZGluZyBtdXRhdGlvbiBldmVudHMuCkBAIC0yNzEsMTIgKzI2Nyw4IEBAIGJvb2wg
Q29udGFpbmVyTm9kZTo6cmVwbGFjZUNoaWxkKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Q2hpbGQsIE5v
ZGUqIG9sZENoaWxkLCBFeGNlCiAgICAgICAgIG5vdGlmeUNoaWxkSW5zZXJ0ZWQoY2hpbGQuZ2V0
KCkpOwogICAgICAgICAgICAgICAgIAogICAgICAgICAvLyBBZGQgY2hpbGQgdG8gdGhlIHJlbmRl
cmluZyB0cmVlCi0gICAgICAgIGlmIChhdHRhY2hlZCgpICYmICFjaGlsZC0+YXR0YWNoZWQoKSAm
JiBjaGlsZC0+cGFyZW50KCkgPT0gdGhpcykgewotICAgICAgICAgICAgaWYgKHNob3VsZExhenlB
dHRhY2gpCi0gICAgICAgICAgICAgICAgY2hpbGQtPmxhenlBdHRhY2goKTsKLSAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICBjaGlsZC0+YXR0YWNoKCk7Ci0gICAgICAgIH0KKyAgICAg
ICAgaWYgKGF0dGFjaGVkKCkgJiYgIWNoaWxkLT5hdHRhY2hlZCgpICYmIGNoaWxkLT5wYXJlbnQo
KSA9PSB0aGlzKQorICAgICAgICAgICAgY2hpbGQtPmxhenlBdHRhY2goKTsKIAogICAgICAgICAv
LyBOb3cgdGhhdCB0aGUgY2hpbGQgaXMgYXR0YWNoZWQgdG8gdGhlIHJlbmRlciB0cmVlLCBkaXNw
YXRjaAogICAgICAgICAvLyB0aGUgcmVsZXZhbnQgbXV0YXRpb24gZXZlbnRzLgpAQCAtNDU4LDcg
KzQ1MCw3IEBAIGJvb2wgQ29udGFpbmVyTm9kZTo6cmVtb3ZlQ2hpbGRyZW4oKQogICAgIHJldHVy
biB0cnVlOwogfQogCi1ib29sIENvbnRhaW5lck5vZGU6OmFwcGVuZENoaWxkKFBhc3NSZWZQdHI8
Tm9kZT4gbmV3Q2hpbGQsIEV4Y2VwdGlvbkNvZGUmIGVjLCBib29sIHNob3VsZExhenlBdHRhY2gp
Citib29sIENvbnRhaW5lck5vZGU6OmFwcGVuZENoaWxkKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Q2hp
bGQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIC8vIENoZWNrIHRoYXQgdGhpcyBub2RlIGlz
IG5vdCAiZmxvYXRpbmciLgogICAgIC8vIElmIGl0IGlzLCBpdCBjYW4gYmUgZGVsZXRlZCBhcyBh
IHNpZGUgZWZmZWN0IG9mIHNlbmRpbmcgbXV0YXRpb24gZXZlbnRzLgpAQCAtNTEyLDEyICs1MDQs
OCBAQCBib29sIENvbnRhaW5lck5vZGU6OmFwcGVuZENoaWxkKFBhc3NSZWZQdHI8Tm9kZT4gbmV3
Q2hpbGQsIEV4Y2VwdGlvbkNvZGUmIGVjLCBibwogICAgICAgICBub3RpZnlDaGlsZEluc2VydGVk
KGNoaWxkKTsKIAogICAgICAgICAvLyBBZGQgY2hpbGQgdG8gdGhlIHJlbmRlcmluZyB0cmVlCi0g
ICAgICAgIGlmIChhdHRhY2hlZCgpICYmICFjaGlsZC0+YXR0YWNoZWQoKSAmJiBjaGlsZC0+cGFy
ZW50KCkgPT0gdGhpcykgewotICAgICAgICAgICAgaWYgKHNob3VsZExhenlBdHRhY2gpCi0gICAg
ICAgICAgICAgICAgY2hpbGQtPmxhenlBdHRhY2goKTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgICAgICBjaGlsZC0+YXR0YWNoKCk7Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKGF0dGFj
aGVkKCkgJiYgIWNoaWxkLT5hdHRhY2hlZCgpICYmIGNoaWxkLT5wYXJlbnQoKSA9PSB0aGlzKQor
ICAgICAgICAgICAgY2hpbGQtPmxhenlBdHRhY2goKTsKIAogICAgICAgICAvLyBOb3cgdGhhdCB0
aGUgY2hpbGQgaXMgYXR0YWNoZWQgdG8gdGhlIHJlbmRlciB0cmVlLCBkaXNwYXRjaAogICAgICAg
ICAvLyB0aGUgcmVsZXZhbnQgbXV0YXRpb24gZXZlbnRzLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9k
b20vQ29udGFpbmVyTm9kZS5oIGIvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5oCmluZGV4IDk3
ODlmMWYyMmZmMDU1YjFmZThlNTQ3N2FjZmZmYmM3YjA2ZDRkNzAuLmM4MmFiNjgzOGI0YWU0N2Vm
OTkwZjRkN2Y3ZWUzNWE2MjA2YzlmN2MgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZG9tL0NvbnRhaW5l
ck5vZGUuaAorKysgYi9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmgKQEAgLTQzLDEwICs0Mywx
MCBAQCBwdWJsaWM6CiAgICAgTm9kZSogZmlyc3RDaGlsZCgpIGNvbnN0IHsgcmV0dXJuIG1fZmly
c3RDaGlsZDsgfQogICAgIE5vZGUqIGxhc3RDaGlsZCgpIGNvbnN0IHsgcmV0dXJuIG1fbGFzdENo
aWxkOyB9CiAKLSAgICB2aXJ0dWFsIGJvb2wgaW5zZXJ0QmVmb3JlKFBhc3NSZWZQdHI8Tm9kZT4g
bmV3Q2hpbGQsIE5vZGUqIHJlZkNoaWxkLCBFeGNlcHRpb25Db2RlJiwgYm9vbCBzaG91bGRMYXp5
QXR0YWNoID0gZmFsc2UpOwotICAgIHZpcnR1YWwgYm9vbCByZXBsYWNlQ2hpbGQoUGFzc1JlZlB0
cjxOb2RlPiBuZXdDaGlsZCwgTm9kZSogb2xkQ2hpbGQsIEV4Y2VwdGlvbkNvZGUmLCBib29sIHNo
b3VsZExhenlBdHRhY2ggPSBmYWxzZSk7CisgICAgdmlydHVhbCBib29sIGluc2VydEJlZm9yZShQ
YXNzUmVmUHRyPE5vZGU+IG5ld0NoaWxkLCBOb2RlKiByZWZDaGlsZCwgRXhjZXB0aW9uQ29kZSYp
OworICAgIHZpcnR1YWwgYm9vbCByZXBsYWNlQ2hpbGQoUGFzc1JlZlB0cjxOb2RlPiBuZXdDaGls
ZCwgTm9kZSogb2xkQ2hpbGQsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2aXJ0dWFsIGJvb2wgcmVt
b3ZlQ2hpbGQoTm9kZSogY2hpbGQsIEV4Y2VwdGlvbkNvZGUmKTsKLSAgICB2aXJ0dWFsIGJvb2wg
YXBwZW5kQ2hpbGQoUGFzc1JlZlB0cjxOb2RlPiBuZXdDaGlsZCwgRXhjZXB0aW9uQ29kZSYsIGJv
b2wgc2hvdWxkTGF6eUF0dGFjaCA9IGZhbHNlKTsKKyAgICB2aXJ0dWFsIGJvb2wgYXBwZW5kQ2hp
bGQoUGFzc1JlZlB0cjxOb2RlPiBuZXdDaGlsZCwgRXhjZXB0aW9uQ29kZSYpOwogCiAgICAgdmly
dHVhbCBDb250YWluZXJOb2RlKiBhZGRDaGlsZChQYXNzUmVmUHRyPE5vZGU+KTsKICAgICBib29s
IGhhc0NoaWxkTm9kZXMoKSBjb25zdCB7IHJldHVybiBtX2ZpcnN0Q2hpbGQ7IH0KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvV2ViQ29yZS9kb20vTm9kZS5jcHAKaW5kZXggODNl
OWIwMDIyNTZhMjY2NDQ2MjM0NjU4OTgzMjU4MjBlYmY3MjUzZi4uZjk3YmExMGFmM2M5NGRiYjM5
OTQ1NDgzNWQ4NzI3MDIzNWVjYjk0YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vTm9kZS5jcHAK
KysrIGIvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTYxMywxMyArNjEzLDEzIEBAIE5vZGUqIE5v
ZGU6OmZpcnN0RGVzY2VuZGFudCgpIGNvbnN0CiAgICAgcmV0dXJuIG47CiB9CiAKLWJvb2wgTm9k
ZTo6aW5zZXJ0QmVmb3JlKFBhc3NSZWZQdHI8Tm9kZT4sIE5vZGUqLCBFeGNlcHRpb25Db2RlJiBl
YywgYm9vbCkKK2Jvb2wgTm9kZTo6aW5zZXJ0QmVmb3JlKFBhc3NSZWZQdHI8Tm9kZT4sIE5vZGUq
LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBlYyA9IEhJRVJBUkNIWV9SRVFVRVNUX0VSUjsK
ICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgTm9kZTo6cmVwbGFjZUNoaWxkKFBhc3NSZWZQ
dHI8Tm9kZT4sIE5vZGUqLCBFeGNlcHRpb25Db2RlJiBlYywgYm9vbCkKK2Jvb2wgTm9kZTo6cmVw
bGFjZUNoaWxkKFBhc3NSZWZQdHI8Tm9kZT4sIE5vZGUqLCBFeGNlcHRpb25Db2RlJiBlYykKIHsK
ICAgICBlYyA9IEhJRVJBUkNIWV9SRVFVRVNUX0VSUjsKICAgICByZXR1cm4gZmFsc2U7CkBAIC02
MzEsNyArNjMxLDcgQEAgYm9vbCBOb2RlOjpyZW1vdmVDaGlsZChOb2RlKiwgRXhjZXB0aW9uQ29k
ZSYgZWMpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIE5vZGU6OmFwcGVuZENoaWxkKFBh
c3NSZWZQdHI8Tm9kZT4sIEV4Y2VwdGlvbkNvZGUmIGVjLCBib29sKQorYm9vbCBOb2RlOjphcHBl
bmRDaGlsZChQYXNzUmVmUHRyPE5vZGU+LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBlYyA9
IEhJRVJBUkNIWV9SRVFVRVNUX0VSUjsKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2RvbS9Ob2RlLmggYi9XZWJDb3JlL2RvbS9Ob2RlLmgKaW5kZXggYmJiOWNjNjgyOTlj
OGE4Zjg4NzQwOWVjYjIxMjAwZGE2M2VjZDExMC4uNzY3MDIyMDRlMDE0NTcyOTU5MDZhODc4NWZi
MjQ1YjAwYTRkMzkzMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vTm9kZS5oCisrKyBiL1dlYkNv
cmUvZG9tL05vZGUuaApAQCAtMTQ1LDEwICsxNDUsMTAgQEAgcHVibGljOgogICAgIC8vIFRoZXNl
IHNob3VsZCBhbGwgYWN0dWFsbHkgcmV0dXJuIGEgbm9kZSwgYnV0IHRoaXMgaXMgb25seSBpbXBv
cnRhbnQgZm9yIGxhbmd1YWdlIGJpbmRpbmdzLAogICAgIC8vIHdoaWNoIHdpbGwgYWxyZWFkeSBr
bm93IGFuZCBob2xkIGEgcmVmIG9uIHRoZSByaWdodCBub2RlIHRvIHJldHVybi4gUmV0dXJuaW5n
IGJvb2wgYWxsb3dzCiAgICAgLy8gdGhlc2UgbWV0aG9kcyB0byBiZSBtb3JlIGVmZmljaWVudCBz
aW5jZSB0aGV5IGRvbid0IG5lZWQgdG8gcmV0dXJuIGEgcmVmCi0gICAgdmlydHVhbCBib29sIGlu
c2VydEJlZm9yZShQYXNzUmVmUHRyPE5vZGU+IG5ld0NoaWxkLCBOb2RlKiByZWZDaGlsZCwgRXhj
ZXB0aW9uQ29kZSYsIGJvb2wgc2hvdWxkTGF6eUF0dGFjaCA9IGZhbHNlKTsKLSAgICB2aXJ0dWFs
IGJvb2wgcmVwbGFjZUNoaWxkKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Q2hpbGQsIE5vZGUqIG9sZENo
aWxkLCBFeGNlcHRpb25Db2RlJiwgYm9vbCBzaG91bGRMYXp5QXR0YWNoID0gZmFsc2UpOworICAg
IHZpcnR1YWwgYm9vbCBpbnNlcnRCZWZvcmUoUGFzc1JlZlB0cjxOb2RlPiBuZXdDaGlsZCwgTm9k
ZSogcmVmQ2hpbGQsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2aXJ0dWFsIGJvb2wgcmVwbGFjZUNo
aWxkKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Q2hpbGQsIE5vZGUqIG9sZENoaWxkLCBFeGNlcHRpb25D
b2RlJik7CiAgICAgdmlydHVhbCBib29sIHJlbW92ZUNoaWxkKE5vZGUqIGNoaWxkLCBFeGNlcHRp
b25Db2RlJik7Ci0gICAgdmlydHVhbCBib29sIGFwcGVuZENoaWxkKFBhc3NSZWZQdHI8Tm9kZT4g
bmV3Q2hpbGQsIEV4Y2VwdGlvbkNvZGUmLCBib29sIHNob3VsZExhenlBdHRhY2ggPSBmYWxzZSk7
CisgICAgdmlydHVhbCBib29sIGFwcGVuZENoaWxkKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Q2hpbGQs
IEV4Y2VwdGlvbkNvZGUmKTsKIAogICAgIHZvaWQgcmVtb3ZlKEV4Y2VwdGlvbkNvZGUmKTsKICAg
ICBib29sIGhhc0NoaWxkTm9kZXMoKSBjb25zdCB7IHJldHVybiBmaXJzdENoaWxkKCk7IH0KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29tbWFuZC5jcHAgYi9XZWJD
b3JlL2VkaXRpbmcvQ29tcG9zaXRlRWRpdENvbW1hbmQuY3BwCmluZGV4IDlkYzkxOGQxZWNhZTUw
NGE1MTIxODcxOWRiZGUyZGYxZjM0YzhhMzkuLjliOWM0ZWI2OTdjNmZiZmE2MTc2MGYyZmZmNDg5
ZTVhMDllMWUxMzkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvZWRpdGluZy9Db21wb3NpdGVFZGl0Q29t
bWFuZC5jcHAKKysrIGIvV2ViQ29yZS9lZGl0aW5nL0NvbXBvc2l0ZUVkaXRDb21tYW5kLmNwcApA
QCAtNTc2LDkgKzU3Niw2IEBAIFBhc3NSZWZQdHI8Tm9kZT4gQ29tcG9zaXRlRWRpdENvbW1hbmQ6
OmFwcGVuZEJsb2NrUGxhY2Vob2xkZXIoUGFzc1JlZlB0cjxFbGVtZW50CiB7CiAgICAgaWYgKCFj
b250YWluZXIpCiAgICAgICAgIHJldHVybiAwOwotICAgIAotICAgIC8vIFNob3VsZCBhc3NlcnQg
aXNCbG9ja0Zsb3cgfHwgaXNJbmxpbmVGbG93IHdoZW4gZGVsZXRpb24gaW1wcm92ZXMuIFNlZSA0
MjQ0OTY0LgotICAgIEFTU0VSVChjb250YWluZXItPnJlbmRlcmVyKCkpOwogCiAgICAgUmVmUHRy
PE5vZGU+IHBsYWNlaG9sZGVyID0gY3JlYXRlQmxvY2tQbGFjZWhvbGRlckVsZW1lbnQoZG9jdW1l
bnQoKSk7CiAgICAgYXBwZW5kTm9kZShwbGFjZWhvbGRlciwgY29udGFpbmVyKTsKQEAgLTU5MCw5
ICs1ODcsNiBAQCBQYXNzUmVmUHRyPE5vZGU+IENvbXBvc2l0ZUVkaXRDb21tYW5kOjppbnNlcnRC
bG9ja1BsYWNlaG9sZGVyKGNvbnN0IFBvc2l0aW9uJiBwbwogICAgIGlmIChwb3MuaXNOdWxsKCkp
CiAgICAgICAgIHJldHVybiAwOwogCi0gICAgLy8gU2hvdWxkIGFzc2VydCBpc0Jsb2NrRmxvdyB8
fCBpc0lubGluZUZsb3cgd2hlbiBkZWxldGlvbiBpbXByb3Zlcy4gIFNlZSA0MjQ0OTY0LgotICAg
IEFTU0VSVChwb3Mubm9kZSgpLT5yZW5kZXJlcigpKTsKLQogICAgIFJlZlB0cjxOb2RlPiBwbGFj
ZWhvbGRlciA9IGNyZWF0ZUJsb2NrUGxhY2Vob2xkZXJFbGVtZW50KGRvY3VtZW50KCkpOwogICAg
IGluc2VydE5vZGVBdChwbGFjZWhvbGRlciwgcG9zKTsKICAgICByZXR1cm4gcGxhY2Vob2xkZXIu
cmVsZWFzZSgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxPcHRHcm91cEVsZW1lbnQu
Y3BwIGIvV2ViQ29yZS9odG1sL0hUTUxPcHRHcm91cEVsZW1lbnQuY3BwCmluZGV4IDkwMTU2ZGE2
NTFlZGI0ZWQyN2RjMzMwODU4MGFlNmE1ZDM2NjY0ZjYuLmQzZjY3MDkwYzI3NzFjN2VmYmY1OGNk
NTI1YzZiNTA2MjY3ZDRhN2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MT3B0R3JvdXBF
bGVtZW50LmNwcAorKysgYi9XZWJDb3JlL2h0bWwvSFRNTE9wdEdyb3VwRWxlbWVudC5jcHAKQEAg
LTYxLDE1ICs2MSwxNSBAQCBjb25zdCBBdG9taWNTdHJpbmcmIEhUTUxPcHRHcm91cEVsZW1lbnQ6
OmZvcm1Db250cm9sVHlwZSgpIGNvbnN0CiAgICAgcmV0dXJuIG9wdGdyb3VwOwogfQogCi1ib29s
IEhUTUxPcHRHcm91cEVsZW1lbnQ6Omluc2VydEJlZm9yZShQYXNzUmVmUHRyPE5vZGU+IG5ld0No
aWxkLCBOb2RlKiByZWZDaGlsZCwgRXhjZXB0aW9uQ29kZSYgZWMsIGJvb2wgc2hvdWxkTGF6eUF0
dGFjaCkKK2Jvb2wgSFRNTE9wdEdyb3VwRWxlbWVudDo6aW5zZXJ0QmVmb3JlKFBhc3NSZWZQdHI8
Tm9kZT4gbmV3Q2hpbGQsIE5vZGUqIHJlZkNoaWxkLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAg
ICBib29sIHJlc3VsdCA9IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6Omluc2VydEJlZm9yZShuZXdD
aGlsZCwgcmVmQ2hpbGQsIGVjLCBzaG91bGRMYXp5QXR0YWNoKTsKKyAgICBib29sIHJlc3VsdCA9
IEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ6Omluc2VydEJlZm9yZShuZXdDaGlsZCwgcmVmQ2hpbGQs
IGVjKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1ib29sIEhUTUxPcHRHcm91cEVsZW1lbnQ6
OnJlcGxhY2VDaGlsZChQYXNzUmVmUHRyPE5vZGU+IG5ld0NoaWxkLCBOb2RlKiBvbGRDaGlsZCwg
RXhjZXB0aW9uQ29kZSYgZWMsIGJvb2wgc2hvdWxkTGF6eUF0dGFjaCkKK2Jvb2wgSFRNTE9wdEdy
b3VwRWxlbWVudDo6cmVwbGFjZUNoaWxkKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Q2hpbGQsIE5vZGUq
IG9sZENoaWxkLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICBib29sIHJlc3VsdCA9IEhUTUxG
b3JtQ29udHJvbEVsZW1lbnQ6OnJlcGxhY2VDaGlsZChuZXdDaGlsZCwgb2xkQ2hpbGQsIGVjLCBz
aG91bGRMYXp5QXR0YWNoKTsKKyAgICBib29sIHJlc3VsdCA9IEhUTUxGb3JtQ29udHJvbEVsZW1l
bnQ6OnJlcGxhY2VDaGlsZChuZXdDaGlsZCwgb2xkQ2hpbGQsIGVjKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogCkBAIC03OSw5ICs3OSw5IEBAIGJvb2wgSFRNTE9wdEdyb3VwRWxlbWVudDo6cmVt
b3ZlQ2hpbGQoTm9kZSogb2xkQ2hpbGQsIEV4Y2VwdGlvbkNvZGUmIGVjKQogICAgIHJldHVybiBy
ZXN1bHQ7CiB9CiAKLWJvb2wgSFRNTE9wdEdyb3VwRWxlbWVudDo6YXBwZW5kQ2hpbGQoUGFzc1Jl
ZlB0cjxOb2RlPiBuZXdDaGlsZCwgRXhjZXB0aW9uQ29kZSYgZWMsIGJvb2wgc2hvdWxkTGF6eUF0
dGFjaCkKK2Jvb2wgSFRNTE9wdEdyb3VwRWxlbWVudDo6YXBwZW5kQ2hpbGQoUGFzc1JlZlB0cjxO
b2RlPiBuZXdDaGlsZCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgYm9vbCByZXN1bHQgPSBI
VE1MRm9ybUNvbnRyb2xFbGVtZW50OjphcHBlbmRDaGlsZChuZXdDaGlsZCwgZWMsIHNob3VsZExh
enlBdHRhY2gpOworICAgIGJvb2wgcmVzdWx0ID0gSFRNTEZvcm1Db250cm9sRWxlbWVudDo6YXBw
ZW5kQ2hpbGQobmV3Q2hpbGQsIGVjKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2h0bWwvSFRNTE9wdEdyb3VwRWxlbWVudC5oIGIvV2ViQ29yZS9odG1sL0hU
TUxPcHRHcm91cEVsZW1lbnQuaAppbmRleCA2ZTViMDQzNzcxN2M1OWQyNDVkMGY3MWQxM2VmZDY0
Y2JjNWExZTk3Li5mZDhmMzVlYmRmZTcxYzViNDkzZGUxZjk1NjYwYzUwMGM1MjRjNTQzIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTE9wdEdyb3VwRWxlbWVudC5oCisrKyBiL1dlYkNvcmUv
aHRtbC9IVE1MT3B0R3JvdXBFbGVtZW50LmgKQEAgLTQ1LDEwICs0NSwxMCBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIGRldGFjaCgpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRSZW5kZXJTdHls
ZShQYXNzUmVmUHRyPFJlbmRlclN0eWxlPik7CiAKLSAgICB2aXJ0dWFsIGJvb2wgaW5zZXJ0QmVm
b3JlKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Q2hpbGQsIE5vZGUqIHJlZkNoaWxkLCBFeGNlcHRpb25D
b2RlJiwgYm9vbCBzaG91bGRMYXp5QXR0YWNoID0gZmFsc2UpOwotICAgIHZpcnR1YWwgYm9vbCBy
ZXBsYWNlQ2hpbGQoUGFzc1JlZlB0cjxOb2RlPiBuZXdDaGlsZCwgTm9kZSogb2xkQ2hpbGQsIEV4
Y2VwdGlvbkNvZGUmLCBib29sIHNob3VsZExhenlBdHRhY2ggPSBmYWxzZSk7CisgICAgdmlydHVh
bCBib29sIGluc2VydEJlZm9yZShQYXNzUmVmUHRyPE5vZGU+IG5ld0NoaWxkLCBOb2RlKiByZWZD
aGlsZCwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZpcnR1YWwgYm9vbCByZXBsYWNlQ2hpbGQoUGFz
c1JlZlB0cjxOb2RlPiBuZXdDaGlsZCwgTm9kZSogb2xkQ2hpbGQsIEV4Y2VwdGlvbkNvZGUmKTsK
ICAgICB2aXJ0dWFsIGJvb2wgcmVtb3ZlQ2hpbGQoTm9kZSogY2hpbGQsIEV4Y2VwdGlvbkNvZGUm
KTsKLSAgICB2aXJ0dWFsIGJvb2wgYXBwZW5kQ2hpbGQoUGFzc1JlZlB0cjxOb2RlPiBuZXdDaGls
ZCwgRXhjZXB0aW9uQ29kZSYsIGJvb2wgc2hvdWxkTGF6eUF0dGFjaCA9IGZhbHNlKTsKKyAgICB2
aXJ0dWFsIGJvb2wgYXBwZW5kQ2hpbGQoUGFzc1JlZlB0cjxOb2RlPiBuZXdDaGlsZCwgRXhjZXB0
aW9uQ29kZSYpOwogICAgIHZpcnR1YWwgYm9vbCByZW1vdmVDaGlsZHJlbigpOwogICAgIHZpcnR1
YWwgdm9pZCBjaGlsZHJlbkNoYW5nZWQoYm9vbCBjaGFuZ2VkQnlQYXJzZXIgPSBmYWxzZSwgTm9k
ZSogYmVmb3JlQ2hhbmdlID0gMCwgTm9kZSogYWZ0ZXJDaGFuZ2UgPSAwLCBpbnQgY2hpbGRDb3Vu
dERlbHRhID0gMCk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>