<?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>38385</bug_id>
          
          <creation_ts>2010-04-30 03:57:45 -0700</creation_ts>
          <short_desc>REGRESSION: RenderPath does not handle repaints correctly anymore if bounds changed</short_desc>
          <delta_ts>2010-04-30 05:11: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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikolas Zimmermann">zimmermann</reporter>
          <assigned_to name="Nikolas Zimmermann">zimmermann</assigned_to>
          <cc>abarth</cc>
    
    <cc>bdakin</cc>
    
    <cc>eric</cc>
    
    <cc>krit</cc>
    
    <cc>staikos</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>219421</commentid>
    <comment_count>0</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-04-30 03:57:45 -0700</bug_when>
    <thetext>Unfortunately we&apos;re still missing a good testcase, if the bounds of an object change from &quot;bigger&quot; to &quot;smaller&quot;, eg. changing the stroke-width of an rect from 20 to 1.
So this regression was not noticed. I have a fix with a testcase that&apos;s broken on trunk and fixed with my patch.

As side effect the caching of the repaint/object/stroke bounds is simplified - we even save a FloatRect per RenderPath.
Overall this is another huge performance benefit :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219427</commentid>
    <comment_count>1</comment_count>
      <attachid>54791</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-04-30 04:11:42 -0700</bug_when>
    <thetext>Created attachment 54791
Initial patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219429</commentid>
    <comment_count>2</comment_count>
      <attachid>54791</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-04-30 04:20:49 -0700</bug_when>
    <thetext>Comment on attachment 54791
Initial patch

Great Patch, like always :-) r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219433</commentid>
    <comment_count>3</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2010-04-30 04:23:33 -0700</bug_when>
    <thetext>Landed in r58570.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>219452</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-30 05:11:52 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/58570 might have broken GTK Linux 64-bit Release</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54791</attachid>
            <date>2010-04-30 04:11:42 -0700</date>
            <delta_ts>2010-04-30 04:20:49 -0700</delta_ts>
            <desc>Initial patch</desc>
            <filename>FixRegression.diff</filename>
            <type>text/plain</type>
            <size>49637</size>
            <attacher name="Nikolas Zimmermann">zimmermann</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1ODU2OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNTIgQEAKKzIwMTAtMDQtMzAgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJt
YW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUkVHUkVTU0lPTjogUmVuZGVyUGF0aCBkb2VzIG5vdCBoYW5kbGUgcmVwYWludHMgY29y
cmVjdGx5IGFueW1vcmUgaWYgYm91bmRzIGNoYW5nZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4Mzg1CisKKyAgICAgICAgVGhlIGxhc3QgU1ZHIHBl
cmZvcm1hbmNlIHBhdGNoIGJyb2tlIHJlcGFpbnRpbmcgaWYgYm91bmRzIG9mIGEgUmVuZGVyUGF0
aCBnZXQgc21hbGxlci4KKyAgICAgICAgSXQgd291bGQgb25seSByZXBhaW50IHRoZSBzbWFsbGVy
IHBhcnQsIG5vdCB0aGUgb3JpZ2luYWwgbGFyZ2VyIGJvdW5kcy4KKworICAgICAgICBSZW1vdmUg
YWxsIGxhenkgY2FsY3VsYXRpb24gb2YgdGhlIHJlcGFpbnQgcmVjdHMsIGluc3RlYWQgY2FsY3Vs
YXRlIG9iamVjdC9zdHJva2VCb3VuZGluZ0JveCBhbmQgcmVwYWludFJlY3RJbkxvY2FsQ29vcmRp
bmF0ZXMKKyAgICAgICAgb25jZSBpbiBsYXlvdXQgLSBhZnRlciBMYXlvdXRSZXBhaW50ZXIgZ3Jh
YmJlZCB0aGUgaW5pdGlhbCBib3VuZHMsIGJlZm9yZSBjYWxsaW5nIHJlcGFpbnRBZnRlckxheW91
dCgpLiBXZSBjYW4gbm93IGlubGluZQorICAgICAgICBhbGwgdGhlc2UgZnVuY3Rpb25zLCBhbmQg
c2F2ZSBhIGxvdCBvZiBtX3BhdGguaXNFbXB0eSgpIGNoZWNrcywgd2hpY2ggYXJlIGV4cGVuc2l2
ZS4gTm8gbmVlZCB0byBzdG9yZSBhIHNlcGVyYXRlZCBtYXJrZXJCb3VuZGluZ0JveCgpLAorICAg
ICAgICBjb21iaW5lIHdpdGggc3Ryb2tlQm91bmRpbmdCb3goKSAtPiBzYXZlIG9uZSBGbG9hdFJl
Y3QgcGVyIFJlbmRlclBhdGguIE1vdmUgc3Ryb2tlQm91bmRpbmdCb3goKSBmcm9tIFNWR1JlbmRl
ckJhc2UgdG8gUmVuZGVyT2JqZWN0LAorICAgICAgICByaWdodCBuZXh0IHRvIG9iamVjdEJvdW5k
aW5nQm94KCkgLSB0byBzYXZlIHVubmVjZXNzYXJ5IHRvU1ZHUmVuZGVyQmFzZSgpIGNhbGxzLiBD
b21wbGV0bHkgcmVtb3ZlIHRoaXMgbWV0aG9kLgorCisgICAgICAgIE92ZXJhbGwgdGhpcyBpcyBh
IHJlZ3Jlc3Npb24gZml4LCBhIHBlcmZvcm1hbmNlIGltcHJvdm1lbnQgYW5kIHNhdmVzIG1lbW9y
eS4gU29tZXRoaW5nIGZvciBldmVyeW9uZS4KKworICAgICAgICBUZXN0czogc3ZnL2N1c3RvbS9y
ZXBhaW50LXN0cm9rZS13aWR0aC1jaGFuZ2VzLnN2ZworCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHA6IEFkZGVkIHN0cm9rZUJvdW5kaW5nQm94KCkgaGVyZSwgdG8gYXZvaWQg
dGhlIHRvU1ZHUmVuZGVyQmFzZSgpIGRhbmNlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2Jq
ZWN0OjpzdHJva2VCb3VuZGluZ0JveCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5oOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUGF0aC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJQYXRoOjpSZW5kZXJQYXRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclBhdGg6OmxheW91dCk6IEZpeCByZWdyZXNzaW9uLCBkbyByZXBhaW50aW5nIGNvcnJlY3Rs
eSwgYnkgcmVjYWxjdWxhdGluZyB0aGUgYm91bmRhcmllcywgaWYgbmVlZGVkLCBpbnN0ZWFkIG9m
IG51bGxpbmcgdGhlbS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclBhdGg6OnBhaW50KTogQ2Fj
aGUgU1ZHUmVuZGVyU3R5bGUgaW4gbG9jYWwgdmFyaWFibGUsIHJlbW92ZSBubyBsb25nZXIgdmFs
aWQgRklYTUUuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJQYXRoOjpjYWxjdWxhdGVNYXJrZXJC
b3VuZHNJZk5lZWRlZCk6IFJldHVybiBhIEZsb2F0UmVjdCwgdG8gYXZvaWQgaGF2aW5nIHRvIHN0
b3JlIHRoZSBtYXJrZXIgYm91bmRpbmcgYm94IHNlcGVyYXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclBhdGg6OnN0eWxlV2lsbENoYW5nZSk6IE1hcmsgYm91bmRhcmllcyBhcyBkaXJ0eS4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclBhdGg6OnVwZGF0ZUNhY2hlZEJvdW5kYXJpZXMpOiBO
ZXcgZnVuY3Rpb24gdG8gKHJlLSljYWxjdWxhdGUgYWxsIGNhY2hlZCBib3VuZGFyaWVzLCBvbmx5
IGNhbGxlZCBmcm9tIGxheW91dCgpLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJQYXRoLmg6
IFJlbmFtZSBjYWNoZWQgcmVjdCB2YXJpYWJsZXMgdG8gaGF2ZSBtb3JlIHNlbnNpYmxlIG5hbWVz
LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUGF0aDo6b2JqZWN0Qm91bmRpbmdCb3gpOiBJbmxp
bmVkLCBqdXN0IHJldHVybnMgdGhlIGNhY2hlZCB2YWx1ZSAtIG5vIG1vcmUgbGF6eSBjcmVhdGlv
bi4gSHVnZSBzcGVlZHVwIGFzIHRoaXMgaXMgaG90IGNvZGUuCisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJQYXRoOjpzdHJva2VCb3VuZGluZ0JveCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyUGF0aDo6cmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMpOiBEaXR0by4KKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHQmxvY2suaDogUmVtb3ZlIHRvU1ZHUmVuZGVyQmFzZSgp
IG1ldGhvZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU1ZHSW1hZ2UuaDogRGl0dG8uCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNWR0lubGluZS5jcHA6IE5vIG5lZWQgdG8gY2FsbCB0
b1NWR1JlbmRlckJhc2UoKSBqdXN0IHRvIGdldCB0aGUgc3Ryb2tlQm91bmRpbmdCb3goKS4gVW5p
ZmllcyBjb2RlIHRvIHJldHJpZXZlIGJvdW5kaW5nIGJveGVzLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU1ZHSW5saW5lOjpzdHJva2VCb3VuZGluZ0JveCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclNWR0lubGluZS5oOiBSZW1vdmUgdG9TVkdSZW5kZXJCYXNlKCkgbWV0aG9kLgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oOiBEaXR0by4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3VyY2VGaWx0ZXIuY3BwOiBObyBuZWVkIHRvIGNhbGwg
dG9TVkdSZW5kZXJCYXNlKCkgYW55bW9yZSwganVzdCBncmFiIHRoZSBzdHJva2VCb3VuZGluZ0Jv
eCgpIGZyb20gdGhlIFJlbmRlck9iamVjdC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNWR1Jl
c291cmNlRmlsdGVyOjphcHBseVJlc291cmNlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
U1ZHVGV4dC5oOiBSZW1vdmUgdG9TVkdSZW5kZXJCYXNlKCkgbWV0aG9kLgorICAgICAgICAqIHJl
bmRlcmluZy9TVkdSZW5kZXJTdXBwb3J0Lmg6IERpdHRvLiBSZW1vdmUgbWFya2VyQm91bmRpbmdC
b3goKSBtZXRob2QsIG5vdyBjb21iaW5lZCB3aXRoIHN0cm9rZUJvdW5kaW5nQm94KCkuCisgICAg
ICAgIChXZWJDb3JlOjpTVkdSZW5kZXJCYXNlOjpzdHJva2VCb3VuZGluZ0JveCk6CisgICAgICAg
ICogcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3guaDogUmVtb3ZlIHRvU1ZHUmVuZGVyQmFzZSgp
IG1ldGhvZC4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaDogQWRk
IGhhc01hcmtlcnMoKSBoZWxwZXIgbWV0aG9kLCB0byBhdm9pZCBkb2luZyB1bm5lY2Vzc2FyeSB3
b3JrIGluIFJlbmRlclBhdGguCisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJTdHlsZTo6aGFz
TWFya2Vycyk6CisKIDIwMTAtMDQtMzAgIFNoaW5pY2hpcm8gSGFtYWppICA8aGFtYWppQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAkocmV2aXNpb24gNTg1NjApCisrKyBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDkxLDE5ICsyNDkxLDE5
IEBAIFZpc2libGVQb3NpdGlvbiBSZW5kZXJPYmplY3Q6OmNyZWF0ZVZpc2kKIH0KIAogI2lmIEVO
QUJMRShTVkcpCi1jb25zdCBTVkdSZW5kZXJCYXNlKiBSZW5kZXJPYmplY3Q6OnRvU1ZHUmVuZGVy
QmFzZSgpIGNvbnN0CitSZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lciogUmVuZGVyT2JqZWN0Ojp0
b1JlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKCkKIHsKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKICAgICByZXR1cm4gMDsKIH0KIAotUmVuZGVyU1ZHUmVzb3VyY2VDb250YWluZXIqIFJlbmRl
ck9iamVjdDo6dG9SZW5kZXJTVkdSZXNvdXJjZUNvbnRhaW5lcigpCitGbG9hdFJlY3QgUmVuZGVy
T2JqZWN0OjpvYmplY3RCb3VuZGluZ0JveCgpIGNvbnN0CiB7CiAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIEZsb2F0UmVjdCgpOwogfQogCi1GbG9h
dFJlY3QgUmVuZGVyT2JqZWN0OjpvYmplY3RCb3VuZGluZ0JveCgpIGNvbnN0CitGbG9hdFJlY3Qg
UmVuZGVyT2JqZWN0OjpzdHJva2VCb3VuZGluZ0JveCgpIGNvbnN0CiB7CiAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIEZsb2F0UmVjdCgpOwpJbmRleDogV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmgJKHJldmlzaW9uIDU4NTYwKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTU1LDcgKzU1LDYgQEAgY2xhc3MgVHJhbnNmb3Jt
U3RhdGU7CiBjbGFzcyBWaXNpYmxlUG9zaXRpb247CiAjaWYgRU5BQkxFKFNWRykKIGNsYXNzIFJl
bmRlclNWR1Jlc291cmNlQ29udGFpbmVyOwotY2xhc3MgU1ZHUmVuZGVyQmFzZTsKICNlbmRpZgog
CiAvKgpAQCAtMzQxLDcgKzM0MCw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNTVkdS
ZXNvdXJjZUNvbnRhaW5lcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBi
b29sIGlzU1ZHU2hhZG93VHJlZVJvb3RDb250YWluZXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQogCi0gICAgdmlydHVhbCBjb25zdCBTVkdSZW5kZXJCYXNlKiB0b1NWR1JlbmRlckJhc2UoKSBj
b25zdDsKICAgICB2aXJ0dWFsIFJlbmRlclNWR1Jlc291cmNlQ29udGFpbmVyKiB0b1JlbmRlclNW
R1Jlc291cmNlQ29udGFpbmVyKCk7CiAKICAgICAvLyBGSVhNRTogVGhvc2UgYmVsb25nIGludG8g
YSBTVkcgc3BlY2lmaWMgYmFzZS1jbGFzcyBmb3IgYWxsIHJlbmRlcmVycyAoc2VlIGFib3ZlKQpA
QCAtMzU3LDYgKzM1NSw3IEBAIHB1YmxpYzoKICAgICAvLyBvYmplY3RCb3VuZGluZ0JveCBpcyBy
ZXR1cm5lZCBsb2NhbCBjb29yZGluYXRlcy4KICAgICAvLyBUaGUgbmFtZSBvYmplY3RCb3VuZGlu
Z0JveCBpcyB0YWtlbiBmcm9tIHRoZSBTVkcgMS4xIHNwZWMuCiAgICAgdmlydHVhbCBGbG9hdFJl
Y3Qgb2JqZWN0Qm91bmRpbmdCb3goKSBjb25zdDsKKyAgICB2aXJ0dWFsIEZsb2F0UmVjdCBzdHJv
a2VCb3VuZGluZ0JveCgpIGNvbnN0OwogCiAgICAgLy8gUmV0dXJucyB0aGUgc21hbGxlc3QgcmVj
dGFuZ2xlIGVuY2xvc2luZyBhbGwgb2YgdGhlIHBhaW50ZWQgY29udGVudAogICAgIC8vIHJlc3Bl
Y3RpbmcgY2xpcHBpbmcsIG1hc2tpbmcsIGZpbHRlcnMsIG9wYWNpdHksIHN0cm9rZS13aWR0aCBh
bmQgbWFya2VycwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGF0aC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGF0aC5jcHAJKHJldmlzaW9uIDU4NTYw
KQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUGF0aC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTY1LDcgKzY1LDcgQEAgcHJpdmF0ZToKIAogUmVuZGVyUGF0aDo6UmVuZGVyUGF0aChTVkdTdHls
ZWRUcmFuc2Zvcm1hYmxlRWxlbWVudCogbm9kZSkKICAgICA6IFJlbmRlclNWR01vZGVsT2JqZWN0
KG5vZGUpCi0gICAgLCBtX25lZWRzQm91bmRhcmllc1VwZGF0ZShmYWxzZSkgLy8gZGVmYXVsdCBp
cyBmYWxzZSwgYXMgdGhpcyBpcyBvbmx5IHVzZWQgd2hlbiBhIFJlbmRlclNWR1Jlc291cmNlIHRl
bGxzIHVzIHRoYXQgdGhlIGJvdW5kYXJpZXMgbmVlZCB0byBiZSByZWNhY2hlZAorICAgICwgbV9u
ZWVkc0JvdW5kYXJpZXNVcGRhdGUoZmFsc2UpIC8vIGRlZmF1bHQgaXMgZmFsc2UsIHRoZSBjYWNo
ZWQgcmVjdHMgYXJlIGVtcHR5IGZyb20gdGhlIGJlZ2lubmluZwogICAgICwgbV9uZWVkc1BhdGhV
cGRhdGUodHJ1ZSkgLy8gZGVmYXVsdCBpcyB0cnVlLCBzbyB3ZSBncmFiIGEgUGF0aCBvYmplY3Qg
b25jZSBmcm9tIFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50CiAgICAgLCBtX25lZWRzVHJh
bnNmb3JtVXBkYXRlKHRydWUpIC8vIGRlZmF1bHQgaXMgdHJ1ZSwgc28gd2UgZ3JhYiBhIEFmZmlu
ZVRyYW5zZm9ybSBvYmplY3Qgb25jZSBmcm9tIFNWR1N0eWxlZFRyYW5zZm9ybWFibGVFbGVtZW50
CiB7CkBAIC05NCw3NyArOTQsNiBAQCBib29sIFJlbmRlclBhdGg6OnN0cm9rZUNvbnRhaW5zKGNv
bnN0IEZsCiAgICAgcmV0dXJuIG1fcGF0aC5zdHJva2VDb250YWlucygmc3Ryb2tlU3R5bGUsIHBv
aW50KTsKIH0KIAotRmxvYXRSZWN0IFJlbmRlclBhdGg6Om9iamVjdEJvdW5kaW5nQm94KCkgY29u
c3QKLXsKLSAgICBpZiAobV9wYXRoLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIEZsb2F0UmVj
dCgpOwotCi0gICAgaWYgKG1fY2FjaGVkTG9jYWxGaWxsQkJveC5pc0VtcHR5KCkpCi0gICAgICAg
IG1fY2FjaGVkTG9jYWxGaWxsQkJveCA9IG1fcGF0aC5ib3VuZGluZ1JlY3QoKTsKLQotICAgIHJl
dHVybiBtX2NhY2hlZExvY2FsRmlsbEJCb3g7Ci19Ci0KLUZsb2F0UmVjdCBSZW5kZXJQYXRoOjpz
dHJva2VCb3VuZGluZ0JveCgpIGNvbnN0Ci17Ci0gICAgaWYgKG1fcGF0aC5pc0VtcHR5KCkpCi0g
ICAgICAgIHJldHVybiBGbG9hdFJlY3QoKTsKLQotICAgIGlmICghbV9jYWNoZWRMb2NhbFN0cm9r
ZUJCb3guaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gbV9jYWNoZWRMb2NhbFN0cm9rZUJCb3g7
Ci0KLSAgICBtX2NhY2hlZExvY2FsU3Ryb2tlQkJveCA9IG9iamVjdEJvdW5kaW5nQm94KCk7Ci0g
ICAgaWYgKHN0eWxlKCktPnN2Z1N0eWxlKCktPmhhc1N0cm9rZSgpKSB7Ci0gICAgICAgIEJvdW5k
aW5nUmVjdFN0cm9rZVN0eWxlQXBwbGllciBzdHJva2VTdHlsZSh0aGlzLCBzdHlsZSgpKTsKLSAg
ICAgICAgbV9jYWNoZWRMb2NhbFN0cm9rZUJCb3gudW5pdGUobV9wYXRoLnN0cm9rZUJvdW5kaW5n
UmVjdCgmc3Ryb2tlU3R5bGUpKTsKLSAgICB9Ci0KLSAgICByZXR1cm4gbV9jYWNoZWRMb2NhbFN0
cm9rZUJCb3g7Ci19Ci0KLUZsb2F0UmVjdCBSZW5kZXJQYXRoOjptYXJrZXJCb3VuZGluZ0JveCgp
IGNvbnN0Ci17Ci0gICAgaWYgKG1fcGF0aC5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBGbG9h
dFJlY3QoKTsKLQotICAgIGlmIChtX2NhY2hlZExvY2FsTWFya2VyQkJveC5pc0VtcHR5KCkpCi0g
ICAgICAgIGNhbGN1bGF0ZU1hcmtlckJvdW5kc0lmTmVlZGVkKCk7Ci0KLSAgICByZXR1cm4gbV9j
YWNoZWRMb2NhbE1hcmtlckJCb3g7Ci19Ci0KLUZsb2F0UmVjdCBSZW5kZXJQYXRoOjpyZXBhaW50
UmVjdEluTG9jYWxDb29yZGluYXRlcygpIGNvbnN0Ci17Ci0gICAgaWYgKG1fcGF0aC5pc0VtcHR5
KCkpCi0gICAgICAgIHJldHVybiBGbG9hdFJlY3QoKTsKLQotICAgIC8vIElmIHdlIGFscmVhZHkg
aGF2ZSBhIGNhY2hlZCByZXBhaW50IHJlY3QsIHJldHVybiB0aGF0Ci0gICAgaWYgKCFtX2NhY2hl
ZExvY2FsUmVwYWludFJlY3QuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm4gbV9jYWNoZWRMb2Nh
bFJlcGFpbnRSZWN0OwotCi0gICAgLy8gRklYTUU6IFdlIG5lZWQgdG8gYmUgY2FyZWZ1bCBoZXJl
LiBXZSBhc3N1bWUgdGhhdCB0aGVyZSBpcyBubyBmaWx0ZXIsCi0gICAgLy8gY2xpcHBlciwgbWFy
a2VyIG9yIG1hc2tlciBpZiB0aGUgcmVjdHMgYXJlIGVtcHR5LgotICAgIEZsb2F0UmVjdCByZWN0
ID0gZmlsdGVyQm91bmRpbmdCb3hGb3JSZW5kZXJlcih0aGlzKTsKLSAgICBpZiAoIXJlY3QuaXNF
bXB0eSgpKQotICAgICAgICBtX2NhY2hlZExvY2FsUmVwYWludFJlY3QgPSByZWN0OwotICAgIGVs
c2UgewotICAgICAgICBtX2NhY2hlZExvY2FsUmVwYWludFJlY3QgPSBzdHJva2VCb3VuZGluZ0Jv
eCgpOwotICAgICAgICBtX2NhY2hlZExvY2FsUmVwYWludFJlY3QudW5pdGUobWFya2VyQm91bmRp
bmdCb3goKSk7Ci0gICAgfQotCi0gICAgcmVjdCA9IGNsaXBwZXJCb3VuZGluZ0JveEZvclJlbmRl
cmVyKHRoaXMpOwotICAgIGlmICghcmVjdC5pc0VtcHR5KCkpCi0gICAgICAgIG1fY2FjaGVkTG9j
YWxSZXBhaW50UmVjdC5pbnRlcnNlY3QocmVjdCk7Ci0KLSAgICByZWN0ID0gbWFza2VyQm91bmRp
bmdCb3hGb3JSZW5kZXJlcih0aGlzKTsKLSAgICBpZiAoIXJlY3QuaXNFbXB0eSgpKQotICAgICAg
ICBtX2NhY2hlZExvY2FsUmVwYWludFJlY3QuaW50ZXJzZWN0KHJlY3QpOwotCi0gICAgc3R5bGUo
KS0+c3ZnU3R5bGUoKS0+aW5mbGF0ZUZvclNoYWRvdyhtX2NhY2hlZExvY2FsUmVwYWludFJlY3Qp
OwotCi0gICAgcmV0dXJuIG1fY2FjaGVkTG9jYWxSZXBhaW50UmVjdDsKLX0KLQogdm9pZCBSZW5k
ZXJQYXRoOjpsYXlvdXQoKQogewogICAgIExheW91dFJlcGFpbnRlciByZXBhaW50ZXIoKnRoaXMs
IGNoZWNrRm9yUmVwYWludER1cmluZ0xheW91dCgpICYmIHNlbGZOZWVkc0xheW91dCgpKTsKQEAg
LTE3MywxNSArMTAyLDExIEBAIHZvaWQgUmVuZGVyUGF0aDo6bGF5b3V0KCkKICAgICAvLyBXZSBu
ZWVkIHRvIHVwZGF0ZSB0aGUgUGF0aCBvYmplY3Qgd2hlbmV2ZXIgdGhlIHVuZGVybHlpbmcgU1ZH
U3R5bGVkVHJhbnNmb3JtYWJsZUVsZW1lbnQgdXNlcyByZWxhdGl2ZSB2YWx1ZXMKICAgICAvLyBh
cyB0aGUgdmlld3BvcnQgc2l6ZSBtYXkgaGF2ZSBjaGFuZ2VkLiBJdCB3b3VsZCBiZSBuaWNlIHRv
IG9wdGltaXplIHRoaXMgdG8gZGV0ZWN0IHRoZXNlIGNoYW5nZXMsIGFuZCBvbmx5CiAgICAgLy8g
dXBkYXRlIHdoZW4gbmVlZGVkLCBldmVuIHdoZW4gdXNpbmcgcmVsYXRpdmUgdmFsdWVzLgotICAg
IGlmICghbV9uZWVkc1BhdGhVcGRhdGUgJiYgZWxlbWVudC0+aGFzUmVsYXRpdmVWYWx1ZXMoKSkK
LSAgICAgICAgbV9uZWVkc1BhdGhVcGRhdGUgPSB0cnVlOwotCi0gICAgYm9vbCBuZWVkc1VwZGF0
ZSA9IG1fbmVlZHNQYXRoVXBkYXRlIHx8IG1fbmVlZHNUcmFuc2Zvcm1VcGRhdGUgfHwgbV9uZWVk
c0JvdW5kYXJpZXNVcGRhdGU7Ci0KLSAgICBpZiAobV9uZWVkc0JvdW5kYXJpZXNVcGRhdGUpCi0g
ICAgICAgIG1fbmVlZHNCb3VuZGFyaWVzVXBkYXRlID0gZmFsc2U7CisgICAgYm9vbCBuZWVkc1Bh
dGhVcGRhdGUgPSBtX25lZWRzUGF0aFVwZGF0ZTsKKyAgICBpZiAoIW5lZWRzUGF0aFVwZGF0ZSAm
JiBlbGVtZW50LT5oYXNSZWxhdGl2ZVZhbHVlcygpKQorICAgICAgICBuZWVkc1BhdGhVcGRhdGUg
PSB0cnVlOwogCi0gICAgaWYgKG1fbmVlZHNQYXRoVXBkYXRlKSB7CisgICAgaWYgKG5lZWRzUGF0
aFVwZGF0ZSkgewogICAgICAgICBtX3BhdGggPSBlbGVtZW50LT50b1BhdGhEYXRhKCk7CiAgICAg
ICAgIG1fbmVlZHNQYXRoVXBkYXRlID0gZmFsc2U7CiAgICAgfQpAQCAtMTkxLDggKzExNiwxMiBA
QCB2b2lkIFJlbmRlclBhdGg6OmxheW91dCgpCiAgICAgICAgIG1fbmVlZHNUcmFuc2Zvcm1VcGRh
dGUgPSBmYWxzZTsKICAgICB9CiAKLSAgICBpZiAobmVlZHNVcGRhdGUpCi0gICAgICAgIGludmFs
aWRhdGVDYWNoZWRCb3VuZGFyaWVzKCk7CisgICAgLy8gQXQgdGhpcyBwb2ludCBMYXlvdXRSZXBh
aW50ZXIgYWxyZWFkeSBncmFiYmVkIHRoZSBvbGQgYm91bmRzLAorICAgIC8vIHJlc2V0IHRoZW0g
bm93IHNvIHJlcGFpbnRBZnRlckxheW91dCgpIHdpbGwgY2FsY3VsYXRlIG5ldyBib3VuZHMuCisg
ICAgaWYgKG5lZWRzUGF0aFVwZGF0ZSB8fCBtX25lZWRzQm91bmRhcmllc1VwZGF0ZSkgeworICAg
ICAgICB1cGRhdGVDYWNoZWRCb3VuZGFyaWVzKCk7CisgICAgICAgIG1fbmVlZHNCb3VuZGFyaWVz
VXBkYXRlID0gZmFsc2U7CisgICAgfQogCiAgICAgcmVwYWludGVyLnJlcGFpbnRBZnRlckxheW91
dCgpOwogICAgIHNldE5lZWRzTGF5b3V0KGZhbHNlKTsKQEAgLTIyMiwxMCArMTUxLDcgQEAgdm9p
ZCBSZW5kZXJQYXRoOjpwYWludChQYWludEluZm8mIHBhaW50SQogCiAgICAgRmxvYXRSZWN0IGJv
dW5kaW5nQm94ID0gcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKTsKICAgICBGbG9hdFJl
Y3Qgbm9uTG9jYWxCb3VuZGluZ0JveCA9IG1fbG9jYWxUcmFuc2Zvcm0ubWFwUmVjdChib3VuZGlu
Z0JveCk7Ci0gICAgLy8gRklYTUU6IFRoZSBlbXB0eSByZWN0IGNoZWNrIGlzIHRvIGRlYWwgd2l0
aCBpbmNvcnJlY3QgaW5pdGlhbCBjbGlwIGluIHJlbmRlclN1YnRyZWVUb0ltYWdlCi0gICAgLy8g
dW5mb3J0dW5hdGVseSBmaXhpbmcgdGhhdCBwcm9ibGVtIGlzIGZhaXJseSBjb21wbGV4IHVubGVz
cyB3ZSB3ZXJlIHdpbGxpbmcgdG8ganVzdCBmdXR6IHRoZQotICAgIC8vIHJlY3QgdG8gc29tZXRo
aW5nICJjbG9zZSBlbm91Z2giCi0gICAgaWYgKCFub25Mb2NhbEJvdW5kaW5nQm94LmludGVyc2Vj
dHMocGFpbnRJbmZvLnJlY3QpICYmICFwYWludEluZm8ucmVjdC5pc0VtcHR5KCkpCisgICAgaWYg
KCFub25Mb2NhbEJvdW5kaW5nQm94LmludGVyc2VjdHMocGFpbnRJbmZvLnJlY3QpKQogICAgICAg
ICByZXR1cm47CiAKICAgICBQYWludEluZm8gY2hpbGRQYWludEluZm8ocGFpbnRJbmZvKTsKQEAg
LTIzOSwxMyArMTY1LDE2IEBAIHZvaWQgUmVuZGVyUGF0aDo6cGFpbnQoUGFpbnRJbmZvJiBwYWlu
dEkKICAgICAgICAgICAgIFBhaW50SW5mbyBzYXZlZEluZm8oY2hpbGRQYWludEluZm8pOwogCiAg
ICAgICAgICAgICBpZiAocHJlcGFyZVRvUmVuZGVyU1ZHQ29udGVudCh0aGlzLCBjaGlsZFBhaW50
SW5mbywgYm91bmRpbmdCb3gsIGZpbHRlcikpIHsKLSAgICAgICAgICAgICAgICBpZiAoc3R5bGUo
KS0+c3ZnU3R5bGUoKS0+c2hhcGVSZW5kZXJpbmcoKSA9PSBTUl9DUklTUEVER0VTKQorICAgICAg
ICAgICAgICAgIGNvbnN0IFNWR1JlbmRlclN0eWxlKiBzdmdTdHlsZSA9IHN0eWxlKCktPnN2Z1N0
eWxlKCk7CisgICAgICAgICAgICAgICAgaWYgKHN2Z1N0eWxlLT5zaGFwZVJlbmRlcmluZygpID09
IFNSX0NSSVNQRURHRVMpCiAgICAgICAgICAgICAgICAgICAgIGNoaWxkUGFpbnRJbmZvLmNvbnRl
eHQtPnNldFNob3VsZEFudGlhbGlhcyhmYWxzZSk7CisKICAgICAgICAgICAgICAgICBmaWxsQW5k
U3Ryb2tlUGF0aChtX3BhdGgsIGNoaWxkUGFpbnRJbmZvLmNvbnRleHQsIHRoaXMpOwogCi0gICAg
ICAgICAgICAgICAgaWYgKHN0YXRpY19jYXN0PFNWR1N0eWxlZEVsZW1lbnQqPihub2RlKCkpLT5z
dXBwb3J0c01hcmtlcnMoKSkKKyAgICAgICAgICAgICAgICBpZiAoc3ZnU3R5bGUtPmhhc01hcmtl
cnMoKSkKICAgICAgICAgICAgICAgICAgICAgbV9tYXJrZXJMYXlvdXRJbmZvLmRyYXdNYXJrZXJz
KGNoaWxkUGFpbnRJbmZvKTsKICAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgZmluaXNoUmVu
ZGVyU1ZHQ29udGVudCh0aGlzLCBjaGlsZFBhaW50SW5mbywgZmlsdGVyLCBzYXZlZEluZm8uY29u
dGV4dCk7CiAgICAgICAgIH0KIApAQCAtMjg4LDIwICsyMTcsMjIgQEAgYm9vbCBSZW5kZXJQYXRo
Ojpub2RlQXRGbG9hdFBvaW50KGNvbnN0IAogICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBS
ZW5kZXJQYXRoOjpjYWxjdWxhdGVNYXJrZXJCb3VuZHNJZk5lZWRlZCgpIGNvbnN0CitGbG9hdFJl
Y3QgUmVuZGVyUGF0aDo6Y2FsY3VsYXRlTWFya2VyQm91bmRzSWZOZWVkZWQoKQogewogICAgIERv
Y3VtZW50KiBkb2MgPSBkb2N1bWVudCgpOwogCiAgICAgU1ZHRWxlbWVudCogc3ZnRWxlbWVudCA9
IHN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPihub2RlKCkpOwogICAgIEFTU0VSVChzdmdFbGVtZW50
ICYmIHN2Z0VsZW1lbnQtPmRvY3VtZW50KCkpOwogICAgIGlmICghc3ZnRWxlbWVudC0+aXNTdHls
ZWQoKSkKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gRmxvYXRSZWN0KCk7CiAKICAg
ICBTVkdTdHlsZWRFbGVtZW50KiBzdHlsZWRFbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHU3R5bGVk
RWxlbWVudCo+KHN2Z0VsZW1lbnQpOwogICAgIGlmICghc3R5bGVkRWxlbWVudC0+c3VwcG9ydHNN
YXJrZXJzKCkpCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIEZsb2F0UmVjdCgpOwog
CiAgICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN2Z1N0eWxlID0gc3R5bGUoKS0+c3ZnU3R5bGUo
KTsKKyAgICBBU1NFUlQoc3ZnU3R5bGUtPmhhc01hcmtlcnMoKSk7CisKICAgICBBdG9taWNTdHJp
bmcgc3RhcnRNYXJrZXJJZChzdmdTdHlsZS0+bWFya2VyU3RhcnRSZXNvdXJjZSgpKTsKICAgICBB
dG9taWNTdHJpbmcgbWlkTWFya2VySWQoc3ZnU3R5bGUtPm1hcmtlck1pZFJlc291cmNlKCkpOwog
ICAgIEF0b21pY1N0cmluZyBlbmRNYXJrZXJJZChzdmdTdHlsZS0+bWFya2VyRW5kUmVzb3VyY2Uo
KSk7CkBAIC0zMjYsMjQgKzI1Nyw2MyBAQCB2b2lkIFJlbmRlclBhdGg6OmNhbGN1bGF0ZU1hcmtl
ckJvdW5kc0lmCiAgICAgICAgIGVuZE1hcmtlci0+YWRkQ2xpZW50KHRoaXMpOwogCiAgICAgaWYg
KCFzdGFydE1hcmtlciAmJiAhbWlkTWFya2VyICYmICFlbmRNYXJrZXIpCi0gICAgICAgIHJldHVy
bjsKKyAgICAgICAgcmV0dXJuIEZsb2F0UmVjdCgpOwogCiAgICAgZmxvYXQgc3Ryb2tlV2lkdGgg
PSBTVkdSZW5kZXJTdHlsZTo6Y3NzUHJpbWl0aXZlVG9MZW5ndGgodGhpcywgc3ZnU3R5bGUtPnN0
cm9rZVdpZHRoKCksIDEuMGYpOwotICAgIG1fY2FjaGVkTG9jYWxNYXJrZXJCQm94ID0gbV9tYXJr
ZXJMYXlvdXRJbmZvLmNhbGN1bGF0ZUJvdW5kYXJpZXMoc3RhcnRNYXJrZXIsIG1pZE1hcmtlciwg
ZW5kTWFya2VyLCBzdHJva2VXaWR0aCwgbV9wYXRoKTsKKyAgICByZXR1cm4gbV9tYXJrZXJMYXlv
dXRJbmZvLmNhbGN1bGF0ZUJvdW5kYXJpZXMoc3RhcnRNYXJrZXIsIG1pZE1hcmtlciwgZW5kTWFy
a2VyLCBzdHJva2VXaWR0aCwgbV9wYXRoKTsKIH0KIAotdm9pZCBSZW5kZXJQYXRoOjppbnZhbGlk
YXRlQ2FjaGVkQm91bmRhcmllcygpCit2b2lkIFJlbmRlclBhdGg6OnN0eWxlV2lsbENoYW5nZShT
dHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUqIG5ld1N0eWxlKQogewotICAg
IG1fY2FjaGVkTG9jYWxSZXBhaW50UmVjdCA9IEZsb2F0UmVjdCgpOwotICAgIG1fY2FjaGVkTG9j
YWxTdHJva2VCQm94ID0gRmxvYXRSZWN0KCk7Ci0gICAgbV9jYWNoZWRMb2NhbEZpbGxCQm94ID0g
RmxvYXRSZWN0KCk7Ci0gICAgbV9jYWNoZWRMb2NhbE1hcmtlckJCb3ggPSBGbG9hdFJlY3QoKTsK
KyAgICBzZXROZWVkc0JvdW5kYXJpZXNVcGRhdGUoKTsKKyAgICBSZW5kZXJTVkdNb2RlbE9iamVj
dDo6c3R5bGVXaWxsQ2hhbmdlKGRpZmYsIG5ld1N0eWxlKTsKIH0KIAotdm9pZCBSZW5kZXJQYXRo
OjpzdHlsZVdpbGxDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxl
KiBuZXdTdHlsZSkKK3ZvaWQgUmVuZGVyUGF0aDo6dXBkYXRlQ2FjaGVkQm91bmRhcmllcygpCiB7
Ci0gICAgaW52YWxpZGF0ZUNhY2hlZEJvdW5kYXJpZXMoKTsKLSAgICBSZW5kZXJTVkdNb2RlbE9i
amVjdDo6c3R5bGVXaWxsQ2hhbmdlKGRpZmYsIG5ld1N0eWxlKTsKKyAgICBpZiAobV9wYXRoLmlz
RW1wdHkoKSkgeworICAgICAgICBtX2ZpbGxCb3VuZGluZ0JveCA9IEZsb2F0UmVjdCgpOworICAg
ICAgICBtX3N0cm9rZUFuZE1hcmtlckJvdW5kaW5nQm94ID0gRmxvYXRSZWN0KCk7CisgICAgICAg
IG1fcmVwYWludEJvdW5kaW5nQm94ID0gRmxvYXRSZWN0KCk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICAvLyBDYWNoZSBfdW5jbGlwcGVkXyBmaWxsIGJvdW5kaW5nIGJveCwgdXNlZCBm
b3IgY2FsY3VsYXRpb25zIGluIHJlc291cmNlcworICAgIG1fZmlsbEJvdW5kaW5nQm94ID0gbV9w
YXRoLmJvdW5kaW5nUmVjdCgpOworCisgICAgLy8gQ2FjaGUgX3VuY2xpcHBlZF8gc3Ryb2tlIGJv
dW5kaW5nIGJveCwgdXNlZCBmb3IgY2FsY3VsYXRpb25zIGluIHJlc291cmNlcyAoaW5jbHVkZXMg
bWFya2VyIGJvdW5kYXJpZXMpCisgICAgbV9zdHJva2VBbmRNYXJrZXJCb3VuZGluZ0JveCA9IG1f
ZmlsbEJvdW5kaW5nQm94OworCisgICAgY29uc3QgU1ZHUmVuZGVyU3R5bGUqIHN2Z1N0eWxlID0g
c3R5bGUoKS0+c3ZnU3R5bGUoKTsKKyAgICBpZiAoc3ZnU3R5bGUtPmhhc1N0cm9rZSgpKSB7Cisg
ICAgICAgIEJvdW5kaW5nUmVjdFN0cm9rZVN0eWxlQXBwbGllciBzdHJva2VTdHlsZSh0aGlzLCBz
dHlsZSgpKTsKKyAgICAgICAgbV9zdHJva2VBbmRNYXJrZXJCb3VuZGluZ0JveC51bml0ZShtX3Bh
dGguc3Ryb2tlQm91bmRpbmdSZWN0KCZzdHJva2VTdHlsZSkpOworICAgIH0KKworICAgIGlmIChz
dmdTdHlsZS0+aGFzTWFya2VycygpKSB7CisgICAgICAgIEZsb2F0UmVjdCBtYXJrZXJCb3VuZHMg
PSBjYWxjdWxhdGVNYXJrZXJCb3VuZHNJZk5lZWRlZCgpOworICAgICAgICBpZiAoIW1hcmtlckJv
dW5kcy5pc0VtcHR5KCkpCisgICAgICAgICAgICBtX3N0cm9rZUFuZE1hcmtlckJvdW5kaW5nQm94
LnVuaXRlKG1hcmtlckJvdW5kcyk7CisgICAgfQorCisgICAgLy8gQ2FjaGUgc21hbGxlc3QgcG9z
c2libGUgcmVwYWludCByZWN0YW5nbGUKKworICAgIC8vIEZJWE1FOiBXZSBuZWVkIHRvIGJlIGNh
cmVmdWwgaGVyZS4gV2UgYXNzdW1lIHRoYXQgdGhlcmUgaXMgbm8gcmVzb3VyY2UsIGlmIHRoZSBy
ZWN0IGlzIGVtcHR5LgorICAgIEZsb2F0UmVjdCByZWN0ID0gZmlsdGVyQm91bmRpbmdCb3hGb3JS
ZW5kZXJlcih0aGlzKTsKKyAgICBpZiAocmVjdC5pc0VtcHR5KCkpCisgICAgICAgIG1fcmVwYWlu
dEJvdW5kaW5nQm94ID0gbV9zdHJva2VBbmRNYXJrZXJCb3VuZGluZ0JveDsKKyAgICBlbHNlCisg
ICAgICAgIG1fcmVwYWludEJvdW5kaW5nQm94ID0gcmVjdDsKKworICAgIHJlY3QgPSBjbGlwcGVy
Qm91bmRpbmdCb3hGb3JSZW5kZXJlcih0aGlzKTsKKyAgICBpZiAoIXJlY3QuaXNFbXB0eSgpKQor
ICAgICAgICBtX3JlcGFpbnRCb3VuZGluZ0JveC5pbnRlcnNlY3QocmVjdCk7CisKKyAgICByZWN0
ID0gbWFza2VyQm91bmRpbmdCb3hGb3JSZW5kZXJlcih0aGlzKTsKKyAgICBpZiAoIXJlY3QuaXNF
bXB0eSgpKQorICAgICAgICBtX3JlcGFpbnRCb3VuZGluZ0JveC5pbnRlcnNlY3QocmVjdCk7CisK
KyAgICBzdmdTdHlsZS0+aW5mbGF0ZUZvclNoYWRvdyhtX3JlcGFpbnRCb3VuZGluZ0JveCk7CiB9
CiAKIH0KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclBhdGguaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJQYXRoLmgJKHJldmlzaW9uIDU4NTYwKQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUGF0aC5oCSh3b3JraW5nIGNvcHkpCkBAIC01MCwxMSArNTAs
OSBAQCBwcml2YXRlOgogICAgIGJvb2wgZmlsbENvbnRhaW5zKGNvbnN0IEZsb2F0UG9pbnQmLCBi
b29sIHJlcXVpcmVzRmlsbCA9IHRydWUpIGNvbnN0OwogICAgIGJvb2wgc3Ryb2tlQ29udGFpbnMo
Y29uc3QgRmxvYXRQb2ludCYsIGJvb2wgcmVxdWlyZXNTdHJva2UgPSB0cnVlKSBjb25zdDsKIAot
ICAgIHZpcnR1YWwgRmxvYXRSZWN0IG9iamVjdEJvdW5kaW5nQm94KCkgY29uc3Q7Ci0gICAgdmly
dHVhbCBGbG9hdFJlY3Qgc3Ryb2tlQm91bmRpbmdCb3goKSBjb25zdDsKLSAgICB2aXJ0dWFsIEZs
b2F0UmVjdCBtYXJrZXJCb3VuZGluZ0JveCgpIGNvbnN0OwotICAgIHZpcnR1YWwgRmxvYXRSZWN0
IHJlcGFpbnRSZWN0SW5Mb2NhbENvb3JkaW5hdGVzKCkgY29uc3Q7Ci0KKyAgICB2aXJ0dWFsIEZs
b2F0UmVjdCBvYmplY3RCb3VuZGluZ0JveCgpIGNvbnN0IHsgcmV0dXJuIG1fZmlsbEJvdW5kaW5n
Qm94OyB9CisgICAgdmlydHVhbCBGbG9hdFJlY3Qgc3Ryb2tlQm91bmRpbmdCb3goKSBjb25zdCB7
IHJldHVybiBtX3N0cm9rZUFuZE1hcmtlckJvdW5kaW5nQm94OyB9CisgICAgdmlydHVhbCBGbG9h
dFJlY3QgcmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSBjb25zdCB7IHJldHVybiBtX3Jl
cGFpbnRCb3VuZGluZ0JveDsgfQogICAgIHZpcnR1YWwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBs
b2NhbFRvUGFyZW50VHJhbnNmb3JtKCkgY29uc3QgeyByZXR1cm4gbV9sb2NhbFRyYW5zZm9ybTsg
fQogCiAgICAgdmlydHVhbCBib29sIGlzUmVuZGVyUGF0aCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7
IH0KQEAgLTY3LDggKzY1LDggQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIGJvb2wgbm9kZUF0Rmxv
YXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25zdCBGbG9h
dFBvaW50JiBwb2ludEluUGFyZW50LCBIaXRUZXN0QWN0aW9uKTsKICAgICB2aXJ0dWFsIHZvaWQg
c3R5bGVXaWxsQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUqKTsKIAot
ICAgIHZvaWQgY2FsY3VsYXRlTWFya2VyQm91bmRzSWZOZWVkZWQoKSBjb25zdDsKLSAgICB2b2lk
IGludmFsaWRhdGVDYWNoZWRCb3VuZGFyaWVzKCk7CisgICAgRmxvYXRSZWN0IGNhbGN1bGF0ZU1h
cmtlckJvdW5kc0lmTmVlZGVkKCk7CisgICAgdm9pZCB1cGRhdGVDYWNoZWRCb3VuZGFyaWVzKCk7
CiAKIHByaXZhdGU6CiAgICAgdmlydHVhbCBBZmZpbmVUcmFuc2Zvcm0gbG9jYWxUcmFuc2Zvcm0o
KSBjb25zdCB7IHJldHVybiBtX2xvY2FsVHJhbnNmb3JtOyB9CkBAIC03OCwxMSArNzYsMTAgQEAg
cHJpdmF0ZToKICAgICBib29sIG1fbmVlZHNUcmFuc2Zvcm1VcGRhdGUgOiAxOwogCiAgICAgbXV0
YWJsZSBQYXRoIG1fcGF0aDsKLSAgICBtdXRhYmxlIEZsb2F0UmVjdCBtX2NhY2hlZExvY2FsRmls
bEJCb3g7Ci0gICAgbXV0YWJsZSBGbG9hdFJlY3QgbV9jYWNoZWRMb2NhbFN0cm9rZUJCb3g7Ci0g
ICAgbXV0YWJsZSBGbG9hdFJlY3QgbV9jYWNoZWRMb2NhbFJlcGFpbnRSZWN0OwotICAgIG11dGFi
bGUgRmxvYXRSZWN0IG1fY2FjaGVkTG9jYWxNYXJrZXJCQm94OwotICAgIG11dGFibGUgU1ZHTWFy
a2VyTGF5b3V0SW5mbyBtX21hcmtlckxheW91dEluZm87CisgICAgRmxvYXRSZWN0IG1fZmlsbEJv
dW5kaW5nQm94OworICAgIEZsb2F0UmVjdCBtX3N0cm9rZUFuZE1hcmtlckJvdW5kaW5nQm94Owor
ICAgIEZsb2F0UmVjdCBtX3JlcGFpbnRCb3VuZGluZ0JveDsKKyAgICBTVkdNYXJrZXJMYXlvdXRJ
bmZvIG1fbWFya2VyTGF5b3V0SW5mbzsKICAgICBBZmZpbmVUcmFuc2Zvcm0gbV9sb2NhbFRyYW5z
Zm9ybTsKIH07CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0Jsb2NrLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHQmxvY2suaAkocmV2aXNpb24g
NTg1NjApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdCbG9jay5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zMyw4ICszMyw2IEBAIGNsYXNzIFJlbmRlclNWR0Jsb2NrIDogcHVibGljIFJlbmRl
ckJsb2MKIHB1YmxpYzoKICAgICBSZW5kZXJTVkdCbG9jayhTVkdFbGVtZW50Kik7CiAKLSAgICB2
aXJ0dWFsIGNvbnN0IFNWR1JlbmRlckJhc2UqIHRvU1ZHUmVuZGVyQmFzZSgpIGNvbnN0IHsgcmV0
dXJuIHRoaXM7IH0KLQogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc2V0U3R5bGUoUGFzc1Jl
ZlB0cjxSZW5kZXJTdHlsZT4pOwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVCb3hNb2RlbEluZm9G
cm9tU3R5bGUoKTsKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR0ltYWdlLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHSW1hZ2UuaAkocmV2aXNpb24g
NTg1NjApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdJbWFnZS5oCSh3b3JraW5nIGNv
cHkpCkBAIC00MSw3ICs0MSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0TmVlZHNU
cmFuc2Zvcm1VcGRhdGUoKSB7IG1fbmVlZHNUcmFuc2Zvcm1VcGRhdGUgPSB0cnVlOyB9CiAKIHBy
aXZhdGU6Ci0gICAgdmlydHVhbCBjb25zdCBTVkdSZW5kZXJCYXNlKiB0b1NWR1JlbmRlckJhc2Uo
KSBjb25zdCB7IHJldHVybiB0aGlzOyB9CiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJO
YW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlclNWR0ltYWdlIjsgfQogICAgIHZpcnR1YWwgYm9v
bCBpc1NWR0ltYWdlKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogCkluZGV4OiBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJTVkdJbmxpbmUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNWR0lubGluZS5jcHAJKHJldmlzaW9uIDU4NTYwKQorKysgV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyU1ZHSW5saW5lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzUsMTQgKzc1LDEw
IEBAIEZsb2F0UmVjdCBSZW5kZXJTVkdJbmxpbmU6Om9iamVjdEJvdW5kaW4KIAogRmxvYXRSZWN0
IFJlbmRlclNWR0lubGluZTo6c3Ryb2tlQm91bmRpbmdCb3goKSBjb25zdAogewotICAgIGNvbnN0
IFJlbmRlck9iamVjdCogb2JqZWN0ID0gZmluZFRleHRSb290T2JqZWN0KHRoaXMpOwotICAgIEFT
U0VSVChvYmplY3QpOwotCi0gICAgY29uc3QgU1ZHUmVuZGVyQmFzZSogcmVuZGVyZXIgPSBvYmpl
Y3QtPnRvU1ZHUmVuZGVyQmFzZSgpOwotICAgIGlmICghcmVuZGVyZXIpCi0gICAgICAgIHJldHVy
biBGbG9hdFJlY3QoKTsKKyAgICBpZiAoY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QgPSBmaW5k
VGV4dFJvb3RPYmplY3QodGhpcykpCisgICAgICAgIHJldHVybiBvYmplY3QtPnN0cm9rZUJvdW5k
aW5nQm94KCk7CiAKLSAgICByZXR1cm4gcmVuZGVyZXItPnN0cm9rZUJvdW5kaW5nQm94KCk7Cisg
ICAgcmV0dXJuIEZsb2F0UmVjdCgpOwogfQogCiBGbG9hdFJlY3QgUmVuZGVyU1ZHSW5saW5lOjpy
ZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygpIGNvbnN0CkluZGV4OiBXZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJTVkdJbmxpbmUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTVkdJbmxpbmUuaAkocmV2aXNpb24gNTg1NjApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTVkdJbmxpbmUuaAkod29ya2luZyBjb3B5KQpAQCAtMzUsOCArMzUsNiBAQCBjbGFzcyBS
ZW5kZXJTVkdJbmxpbmUgOiBwdWJsaWMgUmVuZGVySW5sCiBwdWJsaWM6CiAgICAgUmVuZGVyU1ZH
SW5saW5lKE5vZGUqKTsKIAotICAgIHZpcnR1YWwgY29uc3QgU1ZHUmVuZGVyQmFzZSogdG9TVkdS
ZW5kZXJCYXNlKCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQotCiAgICAgdmlydHVhbCBjb25zdCBj
aGFyKiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlclNWR0lubGluZSI7IH0KICAg
ICB2aXJ0dWFsIGJvb2wgcmVxdWlyZXNMYXllcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAK
SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR01vZGVsT2JqZWN0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHTW9kZWxPYmplY3QuaAkocmV2aXNpb24g
NTg1NjApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdNb2RlbE9iamVjdC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00OSw4ICs0OSw2IEBAIGNsYXNzIFJlbmRlclNWR01vZGVsT2JqZWN0IDog
cHVibGljIFJlbmQKIHB1YmxpYzoKICAgICBSZW5kZXJTVkdNb2RlbE9iamVjdChTVkdTdHlsZWRF
bGVtZW50Kik7CiAKLSAgICB2aXJ0dWFsIGNvbnN0IFNWR1JlbmRlckJhc2UqIHRvU1ZHUmVuZGVy
QmFzZSgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KLQogICAgIHZpcnR1YWwgYm9vbCByZXF1aXJl
c0xheWVyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZpcnR1YWwgSW50UmVjdCBj
bGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWlu
dENvbnRhaW5lcik7CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdSZXNvdXJjZUZp
bHRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHUmVzb3Vy
Y2VGaWx0ZXIuY3BwCShyZXZpc2lvbiA1ODU2MCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNWR1Jlc291cmNlRmlsdGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTYxLDEyICsxNjEsNyBA
QCBib29sIFJlbmRlclNWR1Jlc291cmNlRmlsdGVyOjphcHBseVJlc291CiAgICAgaWYgKCFmaWx0
ZXJEYXRhLT5idWlsZGVyKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBjb25zdCBTVkdS
ZW5kZXJCYXNlKiByZW5kZXJlciA9IG9iamVjdC0+dG9TVkdSZW5kZXJCYXNlKCk7Ci0gICAgaWYg
KCFyZW5kZXJlcikKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgRmxvYXRSZWN0IHBhaW50
UmVjdCA9IHJlbmRlcmVyLT5zdHJva2VCb3VuZGluZ0JveCgpOwotICAgIHBhaW50UmVjdC51bml0
ZShyZW5kZXJlci0+bWFya2VyQm91bmRpbmdCb3goKSk7CisgICAgRmxvYXRSZWN0IHBhaW50UmVj
dCA9IG9iamVjdC0+c3Ryb2tlQm91bmRpbmdCb3goKTsKIAogICAgIC8vIENhbGN1bGF0ZSB0aGUg
c2NhbGUgZmFjdG9yIGZvciB0aGUgdXNlIG9mIGZpbHRlclJlcy4KICAgICAvLyBBbHNvIHNlZSBo
dHRwOi8vd3d3LnczLm9yZy9UUi9TVkcvZmlsdGVycy5odG1sI0ZpbHRlckVmZmVjdHNSZWdpb24K
SW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNWR1RleHQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTVkdUZXh0LmgJKHJldmlzaW9uIDU4NTYwKQorKysgV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyU1ZHVGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw4ICs0
Miw2IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJO
YW1lKCkgY29uc3QgeyByZXR1cm4gIlJlbmRlclNWR1RleHQiOyB9CiAKLSAgICB2aXJ0dWFsIGNv
bnN0IFNWR1JlbmRlckJhc2UqIHRvU1ZHUmVuZGVyQmFzZSgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7
IH0KLQogICAgIHZpcnR1YWwgYm9vbCBpc1NWR1RleHQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9
CiAKICAgICB2aXJ0dWFsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgbG9jYWxUb1BhcmVudFRyYW5z
Zm9ybSgpIGNvbnN0IHsgcmV0dXJuIG1fbG9jYWxUcmFuc2Zvcm07IH0KSW5kZXg6IFdlYkNvcmUv
cmVuZGVyaW5nL1NWR1JlbmRlclN1cHBvcnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRl
cmluZy9TVkdSZW5kZXJTdXBwb3J0LmgJKHJldmlzaW9uIDU4NTYwKQorKysgV2ViQ29yZS9yZW5k
ZXJpbmcvU1ZHUmVuZGVyU3VwcG9ydC5oCSh3b3JraW5nIGNvcHkpCkBAIC00Myw4ICs0Myw2IEBA
IGNsYXNzIFNWR1JlbmRlckJhc2UgewogcHVibGljOgogICAgIHZpcnR1YWwgflNWR1JlbmRlckJh
c2UoKTsKIAotICAgIHZpcnR1YWwgY29uc3QgU1ZHUmVuZGVyQmFzZSogdG9TVkdSZW5kZXJCYXNl
KCkgY29uc3QgeyByZXR1cm4gdGhpczsgfQotCiAgICAgLy8gRklYTUU6IFRoZXNlIGFyZSBvbmx5
IHB1YmxpYyBmb3IgU1ZHUm9vdElubGluZUJveC4KICAgICAvLyBJdCdzIHVuY2xlYXIgaWYgdGhl
c2Ugc2hvdWxkIGJlIGV4cG9zZWQgb3Igbm90LiAgU1ZHUm9vdElubGluZUJveCBtYXkKICAgICAv
LyBwYXNzIHRoZSB3cm9uZyBSZW5kZXJPYmplY3QqIGFuZCBib3VuZGluZ0JveCB0byB0aGVzZSBm
dW5jdGlvbnMuCkBAIC01Nyw4ICs1NSw4IEBAIHB1YmxpYzoKICAgICAvLyBIZWxwZXIgZnVuY3Rp
b24gZGV0ZXJtaW5pbmcgd2hldGVyIG92ZXJmbG93IGlzIGhpZGRlbgogICAgIHN0YXRpYyBib29s
IGlzT3ZlcmZsb3dIaWRkZW4oY29uc3QgUmVuZGVyT2JqZWN0Kik7CiAKKyAgICAvLyBzdHJva2VC
b3VuZGluZ0JveCgpIGluY2x1ZGVzIHRoZSBtYXJrZXIgYm91bmRhcmllcyBmb3IgYSBSZW5kZXJQ
YXRoIG9iamVjdAogICAgIHZpcnR1YWwgRmxvYXRSZWN0IHN0cm9rZUJvdW5kaW5nQm94KCkgY29u
c3QgeyByZXR1cm4gRmxvYXRSZWN0KCk7IH0KLSAgICB2aXJ0dWFsIEZsb2F0UmVjdCBtYXJrZXJC
b3VuZGluZ0JveCgpIGNvbnN0IHsgcmV0dXJuIEZsb2F0UmVjdCgpOyB9CiAKICAgICAvLyByZXR1
cm5zIHRoZSBib3VuZGluZyBib3ggb2YgZmlsdGVyLCBjbGlwcGVyLCBtYXJrZXIgYW5kIG1hc2tl
ciAob3IgdGhlIGVtcHR5IHJlY3QgaWYgbm8gZmlsdGVyKSBpbiBsb2NhbCBjb29yZGluYXRlcwog
ICAgIEZsb2F0UmVjdCBmaWx0ZXJCb3VuZGluZ0JveEZvclJlbmRlcmVyKGNvbnN0IFJlbmRlck9i
amVjdCopIGNvbnN0OwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUm9vdElubGluZUJveC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1NWR1Jvb3RJbmxpbmVCb3guaAkocmV2
aXNpb24gNTg1NjApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9TVkdSb290SW5saW5lQm94LmgJKHdv
cmtpbmcgY29weSkKQEAgLTUxLDcgKzUxLDYgQEAgcHVibGljOgogICAgICAgICAsIG1faGVpZ2h0
KDApCiAgICAgewogICAgIH0KLSAgICB2aXJ0dWFsIGNvbnN0IFNWR1JlbmRlckJhc2UqIHRvU1ZH
UmVuZGVyQmFzZSgpIGNvbnN0IHsgcmV0dXJuIHRoaXM7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBp
c1NWR1Jvb3RJbmxpbmVCb3goKSB7IHJldHVybiB0cnVlOyB9CiAKSW5kZXg6IFdlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1NWR1JlbmRlclN0eWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5k
ZXJpbmcvc3R5bGUvU1ZHUmVuZGVyU3R5bGUuaAkocmV2aXNpb24gNTg1NjApCisrKyBXZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9TVkdSZW5kZXJTdHlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDgs
OCArMTA4LDkgQEAgcHVibGljOgogICAgIFNWR19SU19ERUZJTkVfQVRUUklCVVRFX0RBVEFSRUZf
V0lUSF9JTklUSUFMKFN0cmluZywgaW5oZXJpdGVkUmVzb3VyY2VzLCBtYXJrZXJFbmQsIE1hcmtl
ckVuZFJlc291cmNlLCBtYXJrZXJFbmRSZXNvdXJjZSwgU3RyaW5nKCkpCiAKICAgICAvLyBjb252
ZW5pZW5jZQotICAgIGJvb2wgaGFzU3Ryb2tlKCkgY29uc3QgeyByZXR1cm4gKHN0cm9rZVBhaW50
KCktPnBhaW50VHlwZSgpICE9IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX05PTkUpOyB9Ci0gICAg
Ym9vbCBoYXNGaWxsKCkgY29uc3QgeyByZXR1cm4gKGZpbGxQYWludCgpLT5wYWludFR5cGUoKSAh
PSBTVkdQYWludDo6U1ZHX1BBSU5UVFlQRV9OT05FKTsgfQorICAgIGJvb2wgaGFzTWFya2Vycygp
IGNvbnN0IHsgcmV0dXJuICFtYXJrZXJTdGFydFJlc291cmNlKCkuaXNFbXB0eSgpIHx8ICFtYXJr
ZXJNaWRSZXNvdXJjZSgpLmlzRW1wdHkoKSB8fCAhbWFya2VyRW5kUmVzb3VyY2UoKS5pc0VtcHR5
KCk7IH0KKyAgICBib29sIGhhc1N0cm9rZSgpIGNvbnN0IHsgcmV0dXJuIHN0cm9rZVBhaW50KCkt
PnBhaW50VHlwZSgpICE9IFNWR1BhaW50OjpTVkdfUEFJTlRUWVBFX05PTkU7IH0KKyAgICBib29s
IGhhc0ZpbGwoKSBjb25zdCB7IHJldHVybiBmaWxsUGFpbnQoKS0+cGFpbnRUeXBlKCkgIT0gU1ZH
UGFpbnQ6OlNWR19QQUlOVFRZUEVfTk9ORTsgfQogCiAgICAgc3RhdGljIGZsb2F0IGNzc1ByaW1p
dGl2ZVRvTGVuZ3RoKGNvbnN0IFJlbmRlck9iamVjdCosIENTU1ZhbHVlKiwgZmxvYXQgZGVmYXVs
dFZhbHVlID0gMC4wZik7CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDU4NTY4KQorKysgTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTAtMDQtMzAg
IE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTjogUmVuZGVyUGF0
aCBkb2VzIG5vdCBoYW5kbGUgcmVwYWludHMgY29ycmVjdGx5IGFueW1vcmUgaWYgYm91bmRzIGNo
YW5nZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4
Mzg1CisKKyAgICAgICAgQWRkIG5ldyB0ZXN0IGNvdmVyaW5nIHRoZSByZXBhaW50IHByb2JsZW0u
IEluZmx1ZW5jZXMgc29tZSBtYXJrZXIgcmVzdWx0cywgdGhhdCBjYW4gYmUgc2FmZWx5IGlnbm9y
ZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9jaXJjdWxhci1tYXJrZXIt
cmVmZXJlbmNlLTEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvY3Vz
dG9tL2NpcmN1bGFyLW1hcmtlci1yZWZlcmVuY2UtMy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
cGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vY2lyY3VsYXItbWFya2VyLXJlZmVyZW5jZS00LWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9yZXBhaW50LXN0cm9r
ZS13aWR0aC1jaGFuZ2VzLWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvc3ZnL2N1c3RvbS9yZXBhaW50LXN0cm9rZS13aWR0aC1jaGFuZ2VzLWV4cGVjdGVk
LnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vcmVwYWludC1z
dHJva2Utd2lkdGgtY2hhbmdlcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9j
dXN0b20vcmVwYWludC1zdHJva2Utd2lkdGgtY2hhbmdlcy5zdmc6IEFkZGVkLgorCiAyMDEwLTA0
LTMwICBGdW1pdG9zaGkgVWthaSAgPHVrYWlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2
aWV3ZCwgdXBkYXRlIHRlc3QgZXhwZWN0YXRpb25zLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3N2Zy9jdXN0b20vY2lyY3VsYXItbWFya2VyLXJlZmVyZW5jZS0xLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9jaXJj
dWxhci1tYXJrZXItcmVmZXJlbmNlLTEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1ODU2MCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2NpcmN1bGFyLW1hcmtlci1yZWZl
cmVuY2UtMS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTQsNSArNCw1IEBAIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICg0MDAsMzAw
KSBzaXplIDQwMHgzMDAKICAgICBSZW5kZXJTVkdIaWRkZW5Db250YWluZXIge2RlZnN9IGF0ICgw
LDApIHNpemUgMHgwCiAgICAgICBSZW5kZXJTVkdSZXNvdXJjZU1hcmtlciB7bWFya2VyfSBbaWQ9
Im1hcmsiXSBbbWFya2VyVW5pdHM9c3Ryb2tlV2lkdGhdIFtyZWYgYXQgKDQsNCldIFthbmdsZT0w
LjAwXQotICAgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMjgwLDI0MCkgc2l6ZSAyMTB4NjAg
W3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbbGluZSBjYXA9Uk9VTkRdfV0g
W2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbc3RhcnQgbWFya2VyPW1hcmtd
IFttaWRkbGUgbWFya2VyPW1hcmtdIFtlbmQgbWFya2VyPW1hcmtdIFtkYXRhPSJNLTUuMDAsLTIu
MDAgTDAuMDAsLTIuMDAgTDUuMDAsLTIuMDAiXQotICAgIFJlbmRlclBhdGgge3BhdGh9IGF0ICgx
MDAsMjQwKSBzaXplIDQ4MHgxNTAgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAw
XSBbbGluZSBjYXA9Uk9VTkRdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19
XSBbc3RhcnQgbWFya2VyPW1hcmtdIFttaWRkbGUgbWFya2VyPW1hcmtdIFtlbmQgbWFya2VyPW1h
cmtdIFtkYXRhPSJNLTUuMDAsMi4wMCBMMC4wMCwyLjAwIEw1LjAwLDIuMDAiXQorICAgICAgICBS
ZW5kZXJQYXRoIHtwYXRofSBhdCAoMzEwLDI0MCkgc2l6ZSAxODB4NjAgW3N0cm9rZT17W3R5cGU9
U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbbGluZSBjYXA9Uk9VTkRdfV0gW2ZpbGw9e1t0eXBlPVNP
TElEXSBbY29sb3I9IzAwMDAwMF19XSBbc3RhcnQgbWFya2VyPW1hcmtdIFttaWRkbGUgbWFya2Vy
PW1hcmtdIFtlbmQgbWFya2VyPW1hcmtdIFtkYXRhPSJNLTUuMDAsLTIuMDAgTDAuMDAsLTIuMDAg
TDUuMDAsLTIuMDAiXQorICAgIFJlbmRlclBhdGgge3BhdGh9IGF0ICgxMzAsMjcwKSBzaXplIDQ1
MHgxMjAgW3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbbGluZSBjYXA9Uk9V
TkRdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbc3RhcnQgbWFya2Vy
PW1hcmtdIFttaWRkbGUgbWFya2VyPW1hcmtdIFtlbmQgbWFya2VyPW1hcmtdIFtkYXRhPSJNLTUu
MDAsMi4wMCBMMC4wMCwyLjAwIEw1LjAwLDIuMDAiXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3N2Zy9jdXN0b20vY2lyY3VsYXItbWFya2VyLXJlZmVyZW5jZS0zLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9jaXJj
dWxhci1tYXJrZXItcmVmZXJlbmNlLTMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA1ODU2MCkKKysr
IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvY3VzdG9tL2NpcmN1bGFyLW1hcmtlci1yZWZl
cmVuY2UtMy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTQsNSArNCw1IEBAIGxheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAogICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICg0MDAsMzAw
KSBzaXplIDQwMHgzMDAgW3N0YXJ0IG1hcmtlcj1tYXJrXSBbbWlkZGxlIG1hcmtlcj1tYXJrXSBb
ZW5kIG1hcmtlcj1tYXJrXQogICAgIFJlbmRlclNWR0hpZGRlbkNvbnRhaW5lciB7ZGVmc30gYXQg
KDAsMCkgc2l6ZSAweDAgW3N0YXJ0IG1hcmtlcj1tYXJrXSBbbWlkZGxlIG1hcmtlcj1tYXJrXSBb
ZW5kIG1hcmtlcj1tYXJrXQogICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VNYXJrZXIge21hcmtlcn0g
W2lkPSJtYXJrIl0gW21hcmtlclVuaXRzPXN0cm9rZVdpZHRoXSBbcmVmIGF0ICg0LDQpXSBbYW5n
bGU9MC4wMF0KLSAgICAgICAgUmVuZGVyUGF0aCB7cGF0aH0gYXQgKDI4MCwyNDApIHNpemUgMjEw
eDYwIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW2xpbmUgY2FwPVJPVU5E
XX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW3N0YXJ0IG1hcmtlcj1t
YXJrXSBbbWlkZGxlIG1hcmtlcj1tYXJrXSBbZW5kIG1hcmtlcj1tYXJrXSBbZGF0YT0iTS01LjAw
LC0yLjAwIEwwLjAwLC0yLjAwIEw1LjAwLC0yLjAwIl0KLSAgICBSZW5kZXJQYXRoIHtwYXRofSBh
dCAoMTAwLDI0MCkgc2l6ZSA0ODB4MTUwIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAw
MDAwMF0gW2xpbmUgY2FwPVJPVU5EXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAw
MDBdfV0gW3N0YXJ0IG1hcmtlcj1tYXJrXSBbbWlkZGxlIG1hcmtlcj1tYXJrXSBbZW5kIG1hcmtl
cj1tYXJrXSBbZGF0YT0iTS01LjAwLDIuMDAgTDAuMDAsMi4wMCBMNS4wMCwyLjAwIl0KKyAgICAg
ICAgUmVuZGVyUGF0aCB7cGF0aH0gYXQgKDMxMCwyNDApIHNpemUgMTgweDYwIFtzdHJva2U9e1t0
eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW2xpbmUgY2FwPVJPVU5EXX1dIFtmaWxsPXtbdHlw
ZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW3N0YXJ0IG1hcmtlcj1tYXJrXSBbbWlkZGxlIG1h
cmtlcj1tYXJrXSBbZW5kIG1hcmtlcj1tYXJrXSBbZGF0YT0iTS01LjAwLC0yLjAwIEwwLjAwLC0y
LjAwIEw1LjAwLC0yLjAwIl0KKyAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMTMwLDI3MCkgc2l6
ZSA0NTB4MTIwIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW2xpbmUgY2Fw
PVJPVU5EXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW3N0YXJ0IG1h
cmtlcj1tYXJrXSBbbWlkZGxlIG1hcmtlcj1tYXJrXSBbZW5kIG1hcmtlcj1tYXJrXSBbZGF0YT0i
TS01LjAwLDIuMDAgTDAuMDAsMi4wMCBMNS4wMCwyLjAwIl0KSW5kZXg6IExheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9zdmcvY3VzdG9tL2NpcmN1bGFyLW1hcmtlci1yZWZlcmVuY2UtNC1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20v
Y2lyY3VsYXItbWFya2VyLXJlZmVyZW5jZS00LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTg1NjAp
CisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9jaXJjdWxhci1tYXJrZXIt
cmVmZXJlbmNlLTQtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0zLDcgKzMsNyBAQCBs
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKIGxheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAog
ICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICg0MDAsMzAwKSBzaXplIDQwMHgzMDAKICAgICBSZW5k
ZXJTVkdSZXNvdXJjZU1hcmtlciB7bWFya2VyfSBbaWQ9Im1hcmsxIl0gW21hcmtlclVuaXRzPXN0
cm9rZVdpZHRoXSBbcmVmIGF0ICg0LDQpXSBbYW5nbGU9MC4wMF0KLSAgICAgIFJlbmRlclBhdGgg
e3BhdGh9IGF0ICgyODAsMjQwKSBzaXplIDIxMHg2MCBbc3Ryb2tlPXtbdHlwZT1TT0xJRF0gW2Nv
bG9yPSMwMDAwMDBdIFtsaW5lIGNhcD1ST1VORF19XSBbZmlsbD17W3R5cGU9U09MSURdIFtjb2xv
cj0jMDAwMDAwXX1dIFtzdGFydCBtYXJrZXI9bWFyazJdIFttaWRkbGUgbWFya2VyPW1hcmsyXSBb
ZW5kIG1hcmtlcj1tYXJrMl0gW2RhdGE9Ik0tNS4wMCwtMi4wMCBMMC4wMCwtMi4wMCBMNS4wMCwt
Mi4wMCJdCisgICAgICBSZW5kZXJQYXRoIHtwYXRofSBhdCAoMzEwLDI0MCkgc2l6ZSAxODB4NjAg
W3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbbGluZSBjYXA9Uk9VTkRdfV0g
W2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbc3RhcnQgbWFya2VyPW1hcmsy
XSBbbWlkZGxlIG1hcmtlcj1tYXJrMl0gW2VuZCBtYXJrZXI9bWFyazJdIFtkYXRhPSJNLTUuMDAs
LTIuMDAgTDAuMDAsLTIuMDAgTDUuMDAsLTIuMDAiXQogICAgIFJlbmRlclNWR1Jlc291cmNlTWFy
a2VyIHttYXJrZXJ9IFtpZD0ibWFyazIiXSBbbWFya2VyVW5pdHM9c3Ryb2tlV2lkdGhdIFtyZWYg
YXQgKDQsNCldIFthbmdsZT0wLjAwXQogICAgICAgUmVuZGVyUGF0aCB7cGF0aH0gYXQgKDI4MCwy
NzApIHNpemUgMjEweDkwIFtzdHJva2U9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF0gW2xp
bmUgY2FwPVJPVU5EXX1dIFtmaWxsPXtbdHlwZT1TT0xJRF0gW2NvbG9yPSMwMDAwMDBdfV0gW3N0
YXJ0IG1hcmtlcj1tYXJrMV0gW21pZGRsZSBtYXJrZXI9bWFyazFdIFtlbmQgbWFya2VyPW1hcmsx
XSBbZGF0YT0iTS01LjAwLDIuMDAgTDAuMDAsMi4wMCBMNS4wMCwyLjAwIl0KLSAgICBSZW5kZXJQ
YXRoIHtwYXRofSBhdCAoNzAsMjcwKSBzaXplIDUxMHgxMjAgW3N0cm9rZT17W3R5cGU9U09MSURd
IFtjb2xvcj0jMDAwMDAwXSBbbGluZSBjYXA9Uk9VTkRdfV0gW2ZpbGw9e1t0eXBlPVNPTElEXSBb
Y29sb3I9IzAwMDAwMF19XSBbc3RhcnQgbWFya2VyPW1hcmsxXSBbbWlkZGxlIG1hcmtlcj1tYXJr
MV0gW2VuZCBtYXJrZXI9bWFyazFdIFtkYXRhPSJNLTUuMDAsMi4wMCBMMC4wMCwyLjAwIEw1LjAw
LDIuMDAiXQorICAgIFJlbmRlclBhdGgge3BhdGh9IGF0ICgxMzAsMjcwKSBzaXplIDQ1MHgxMjAg
W3N0cm9rZT17W3R5cGU9U09MSURdIFtjb2xvcj0jMDAwMDAwXSBbbGluZSBjYXA9Uk9VTkRdfV0g
W2ZpbGw9e1t0eXBlPVNPTElEXSBbY29sb3I9IzAwMDAwMF19XSBbc3RhcnQgbWFya2VyPW1hcmsx
XSBbbWlkZGxlIG1hcmtlcj1tYXJrMV0gW2VuZCBtYXJrZXI9bWFyazFdIFtkYXRhPSJNLTUuMDAs
Mi4wMCBMMC4wMCwyLjAwIEw1LjAwLDIuMDAiXQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3N2Zy9jdXN0b20vcmVwYWludC1zdHJva2Utd2lkdGgtY2hhbmdlcy1leHBlY3RlZC5jaGVj
a3N1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9y
ZXBhaW50LXN0cm9rZS13aWR0aC1jaGFuZ2VzLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9jdXN0b20vcmVwYWludC1zdHJva2Ut
d2lkdGgtY2hhbmdlcy1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSBA
QAorYTYyZTM2M2ZmNTY1NzMwOTlkZTUxOTQ2ZDk4ZjcyM2EKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9yZXBhaW50
LXN0cm9rZS13aWR0aC1jaGFuZ2VzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9yZXBhaW50LXN0cm9rZS13aWR0aC1jaGFuZ2Vz
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9z
dmcvY3VzdG9tL3JlcGFpbnQtc3Ryb2tlLXdpZHRoLWNoYW5nZXMtZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDUgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCisgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVu
ZGVyUGF0aCB7cmVjdH0gYXQgKDE5LDE5KSBzaXplIDQ0MngzMjIgW3N0cm9rZT17W3R5cGU9U09M
SURdIFtjb2xvcj0jRkYwMDAwXX1dIFtkYXRhPSJNMjAuMDAsMjAuMDAgTDQ2MC4wMCwyMC4wMCBM
NDYwLjAwLDM0MC4wMCBMMjAuMDAsMzQwLjAwIFoiXQpJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2N1
c3RvbS9yZXBhaW50LXN0cm9rZS13aWR0aC1jaGFuZ2VzLnN2Zwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9zdmcvY3VzdG9tL3JlcGFpbnQtc3Ryb2tlLXdpZHRoLWNoYW5nZXMuc3ZnCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2N1c3RvbS9yZXBhaW50LXN0cm9rZS13aWR0aC1j
aGFuZ2VzLnN2ZwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyOSBAQAorPD94bWwgdmVyc2lvbj0i
MS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIw
MDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmlld2Jv
eD0iMCAwIDQ4MCAzNjAiPgorICAgIDxyZWN0IHg9IjIwIiB5PSIyMCIgd2lkdGg9IjQ0MCIgaGVp
Z2h0PSIzMjAiIHN0cm9rZS13aWR0aD0iMjAiIGZpbGw9Im5vbmUiIHN0cm9rZT0icmVkIi8+CisK
KyAgICA8c2NyaXB0PgorICAgICAgICB2YXIgcmVjdCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlU
YWdOYW1lKCdyZWN0JylbMF07CisgICAgICAgIHJlY3Qub25jbGljayA9IGZ1bmN0aW9uKCkgewor
ICAgICAgICAgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAg
ICAgLy8gU2hvdyBkaWZmZXJlbmNlcywgbWFrZXMgaXQgZWFzaWVyIHRvIHNwb3QgdGhlIHJlcGFp
bnQgcmVjdCBjaGFuZ2VzCisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29u
dHJvbGxlcikKKyAgICAgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZGlzcGxh
eSgpOworCisgICAgICAgICAgICAgICAgcmVjdC5zZXRBdHRyaWJ1dGUoInN0cm9rZS13aWR0aCIs
IDEpOworCisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICAgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwor
ICAgICAgICAgICAgfSwgMCk7CisgICAgICAgIH0KKworICAgICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVu
dGlsRG9uZSgpOworCisgICAgICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAg
ICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDI1LCAyNSk7CisgICAgICAgICAgICBldmVudFNl
bmRlci5tb3VzZURvd24oKTsKKyAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAg
ICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9zdmc+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvc3ZnL2N1c3RvbS9yZXBhaW50LXN0cm9rZS13aWR0aC1jaGFuZ2VzLWV4cGVjdGVkLnBu
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1hcmtlZCBhcyBhIGJpbmFyeSB0eXBl
Lgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgpQcm9wZXJ0eSBjaGFu
Z2VzIG9uOiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3ZnL2N1c3RvbS9yZXBhaW50LXN0cm9r
ZS13aWR0aC1jaGFuZ2VzLWV4cGVjdGVkLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10
eXBlCiAgICsgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgoKaVZCT1J3MEtHZ29BQUFBTlNVaEVV
Z0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFETzJsRFExQkpRME1nVUhKdlptbHNaUUFBZUFHRgps
RXRvMUZBVWh2K01LWUswZ3FpMUZwVGdRb3UwSlQ3UWlsRGJhYlhXa1hFWSs5QWl5RFJ6WnhwTk16
R1pHUitJU0VIYytWcUtHeCtJCml5cmlRcnBRY0tVTGtVTHJhMUVFY2FVaWlFSTNVc2IvSnUxTUts
WXZKUGx5em4vUDY0WUFWUTlUam1ORk5HRFl6cnZKcnFoMjZQQ0EKdG5nQ1ZhaEJOYmhTaHVlMEp4
TDdmYVpXUHVldjZiZFFwR1d5U2NhSzlSMlkrTFJ0OWYxTGoyTHY2NTcyK3A3NStubHZOUzRUQW9w
Rwo2NHBzd0ZzbER3YThWL0xKdkpPbjVvaGtZeWlWSmp2a1JyY24yVUcrUVY2YURmRmdpTlBDTTRD
cU5tcHlodU15VG1RRnVhVm9aR1hNClViSnVwMDJiUENYdGFjOFlwb2I5Um43SVdkREdsWThCcld1
QVJTOHJ0Z0VQR0wwTHJGcGZzVFhVQVN2N2diRXRGZHZQcEQ4ZnBYYmMKeTJ6WjdJZFRxcU9zNlVP
cDlITTlzUGdhTUhPMVZQcDFxMVNhdWMwY3JPT1paUlRjb3E5bFljb3JJS2czMk0zNHlUbGFpSU9l
ZkZVTApjSk56N0Y4Q3hDNEExejhDR3g0QXl4OERpUnFnWndjaTU5bHVjT1hGS2M0RjZNZzVwMTB6
TzVUWE51djZkcTJkUnl1MGJ0dG9idFJTCmxxWDVMazl6aFNmY29rZzNZOWdxY003K1dzWjd0YkI3
RC9MSi9pTG5oTGQ3bHBXUmRLcVRzMFF6Mi9xU0ZwMjd5WTNrZXhselR6ZTUKZ2RkVXh0M1RHN0N5
MGN4Mzl3UWM2Yk90T005RmFpSjE5bUQ4QUpueEZkWEpSK1U4Skk5NHhZTXlwbTgvbHRxWElOZlRu
anllaTBsTgpMZmUyblJucTRSbEpWcXd6UXgzeFdYN3RGcEl5N3pwcTdqaVcvODJ6dHNoekhJWUZB
Uk0yN3pZMEpOR0ZLSnJnd0VVT0dYcE1La3hhCnBWL1Fhc0xEOGI4cUxTVEt1eXdxdXZDWmV6Nzdl
MDZnd04weWZoK2ljWXcwbGlObytqdjltLzVHdjZuZjBiOWVxUzgwVkR3ajdsSFQKR0wvOG5YRmxa
bG1OakJ2VUtPUExtb0w0QnF0dHA5ZENsdFpoWGtGUFhsbmZGSzR1WTErcEwzczBtVU5jakUrSHVo
U2hURTBZWkR6Wgp0ZXkrU0xiNEp2eDhjOWtXbWg2MUw4NCtxYXZrZXFPT0habXNmbkUyWEExci83
T3JZTkt5cS9Ea2paQXVQR3VocmxVM3FkMXFpN29ECm1ycExiVk5iMVU2KzdWVDNsM2YwY2xZbVRy
SnVsOVduMklPTjAvUldUcm95V3dUL0ZuNHgvQzkxQ1Z1NHBxSEpmMmpDeldWTVMvaU8KNFBZZmQw
ajVML3dOQVlVVkRYeExPenNBQUNBQVNVUkJWSGdCN2QxUmpoUmtGSVRSMGJqSFlUV0FySVpWcXNI
RTZHTWJPMVBYL280dgordEQwL2VzVWdWUUk4YWYzOS9mZjMveERnQUFCQWdRSUVDQkFnQUNCRHhE
NCtRTnVPRUdBQUFFQ0JBZ1FJRUNBQUlFL0JRd1FQeEVJCkVDQkFnQUFCQWdRSUVQZ3dBUVBrdzZn
ZElrQ0FBQUVDQkFnUUlFREFBUEZ6Z0FBQkFnUUlFQ0JBZ0FDQkR4TXdRRDZNMmlFQ0JBZ1EKSUVD
QUFBRUNCQXdRUHdjSUVDQkFnQUFCQWdRSUVQZ3dBUVBrdzZnZElrQ0FBQUVDQkFnUUlFREFBUEZ6
Z0FBQkFnUUlFQ0JBZ0FDQgpEeE13UUQ2TTJpRUNCQWdRSUVDQUFBRUNCSDU1bE9ENzkrK1BmdFRu
Q0JBZ1FJQkFWdURUcDAvWjdJSVRJRURnRVFGL0F2S0lrczhRCklFQ0FBQUVDQkFnUUlQQVVBUVBr
S1l5K2hBQUJBZ1FJRUNCQWdBQ0JSd1FNa0VlVWZJWUFBUUlFQ0JBZ1FJQUFnYWNJR0NCUFlmUWwK
QkFnUUlFQ0FBQUVDQkFnOEltQ0FQS0xrTXdRSUVDQkFnQUFCQWdRSVBFWEFBSGtLb3k4aFFJQUFB
UUlFQ0JBZ1FPQVJBUVBrRVNXZgpJVUNBQUFFQ0JBZ1FJRURnS1FJR3lGTVlmUWtCQWdRSUVDQkFn
QUFCQW84SVBQdy9JbnpreS83OHpKY3ZEMy9VQndrUUlFQ0F3UDlHCjROZGYvemRQOVZBQ0JBaGNG
bmp1QVBueGkvTzNiMjl2WDc5ZXp1eHRCQWdRSUVEZzN3bjhOVDcrK3ZlLys5RStUWUFBQVFML0VI
anUKQVBueHhaOC92NzM1VTVCL0VQdFBBZ1FJRUhnSmdkOStlNGtZUWhBZ1FHQXQ0TytBckJ0d253
QUJBZ1FJRUNCQWdFQkl3QUFKbFMwcQpBUUlFQ0JBZ1FJQUFnYldBQWJKdXdIMENCQWdRSUVDQUFB
RUNJUUVESkZTMnFBUUlFQ0JBZ0FBQkFnVFdBZ2JJdWdIM0NSQWdRSUFBCkFRSUVDSVFFREpCUTJh
SVNJRUNBQUFFQ0JBZ1FXQXNZSU9zRzNDZEFnQUFCQWdRSUVDQVFFakJBUW1XTFNvQUFBUUlFQ0JB
Z1FHQXQKWUlDc0czQ2ZBQUVDQkFnUUlFQ0FRRWpBQUFtVkxTb0JBZ1FJRUNCQWdBQ0J0WUFCc203
QWZRSUVDQkFnUUlBQUFRSWhBUU1rVkxhbwpCQWdRSUVDQUFBRUNCTllDQnNpNkFmY0pFQ0JBZ0FB
QkFnUUloQVFNa0ZEWm9oSWdRSUFBQVFJRUNCQllDeGdnNndiY0owQ0FBQUVDCkJBZ1FJQkFTTUVC
Q1pZdEtnQUFCQWdRSUVDQkFZQzFnZ0t3YmNKOEFBUUlFQ0JBZ1FJQkFTTUFBQ1pVdEtnRUNCQWdR
SUVDQUFJRzEKZ0FHeWJzQjlBZ1FJRUNCQWdBQUJBaUVCQXlSVXRxZ0VDQkFnUUlBQUFRSUUxZ0lH
eUxvQjl3a1FJRUNBQUFFQ0JBaUVCQXlRVU5taQpFaUJBZ0FBQkFnUUlFRmdMR0NEckJ0d25RSUFB
QVFJRUNCQWdFQkl3UUVKbGkwcUFBQUVDQkFnUUlFQmdMV0NBckJ0d253QUJBZ1FJCkVDQkFnRUJJ
d0FBSmxTMHFBUUlFQ0JBZ1FJQUFnYldBQWJKdXdIMENCQWdRSUVDQUFBRUNJUUVESkZTMnFBUUlF
Q0JBZ0FBQkFnVFcKQWdiSXVnSDNDUkFnUUlBQUFRSUVDSVFFREpCUTJhSVNJRUNBQUFFQ0JBZ1FX
QXNZSU9zRzNDZEFnQUFCQWdRSUVDQVFFakJBUW1XTApTb0FBQVFJRUNCQWdRR0F0WUlDc0czQ2ZB
QUVDQkFnUUlFQ0FRRWpBQUFtVkxTb0JBZ1FJRUNCQWdBQ0J0WUFCc203QWZRSUVDQkFnClFJQUFB
UUloQVFNa1ZMYW9CQWdRSUVDQUFBRUNCTllDQnNpNkFmY0pFQ0JBZ0FBQkFnUUloQVFNa0ZEWm9o
SWdRSUFBQVFJRUNCQlkKQ3hnZzZ3YmNKMENBQUFFQ0JBZ1FJQkFTTUVCQ1pZdEtnQUFCQWdRSUVD
QkFZQzFnZ0t3YmNKOEFBUUlFQ0JBZ1FJQkFTTUFBQ1pVdApLZ0VDQkFnUUlFQ0FBSUcxZ0FHeWJz
QjlBZ1FJRUNCQWdBQUJBaUVCQXlSVXRxZ0VDQkFnUUlBQUFRSUUxZ0lHeUxvQjl3a1FJRUNBCkFB
RUNCQWlFQkF5UVVObWlFaUJBZ0FBQkFnUUlFRmdMR0NEckJ0d25RSUFBQVFJRUNCQWdFQkl3UUVK
bGkwcUFBQUVDQkFnUUlFQmcKTFdDQXJCdHdud0FCQWdRSUVDQkFnRUJJd0FBSmxTMHFBUUlFQ0JB
Z1FJQUFnYldBQWJKdXdIMENCQWdRSUVDQUFBRUNJUUVESkZTMgpxQVFJRUNCQWdBQUJBZ1RXQWdi
SXVnSDNDUkFnUUlBQUFRSUVDSVFFREpCUTJhSVNJRUNBQUFFQ0JBZ1FXQXNZSU9zRzNDZEFnQUFC
CkFnUUlFQ0FRRWpCQVFtV0xTb0FBQVFJRUNCQWdRR0F0WUlDc0czQ2ZBQUVDQkFnUUlFQ0FRRWpB
QUFtVkxTb0JBZ1FJRUNCQWdBQ0IKdFlBQnNtN0FmUUlFQ0JBZ1FJQUFBUUloQVFNa1ZMYW9CQWdR
SUVDQUFBRUNCTllDQnNpNkFmY0pFQ0JBZ0FBQkFnUUloQVFNa0ZEWgpvaElnUUlBQUFRSUVDQkJZ
Q3hnZzZ3YmNKMENBQUFFQ0JBZ1FJQkFTTUVCQ1pZdEtnQUFCQWdRSUVDQkFZQzFnZ0t3YmNKOEFB
UUlFCkNCQWdRSUJBU01BQUNaVXRLZ0VDQkFnUUlFQ0FBSUcxZ0FHeWJzQjlBZ1FJRUNCQWdBQUJB
aUVCQXlSVXRxZ0VDQkFnUUlBQUFRSUUKMWdJR3lMb0I5d2tRSUVDQUFBRUNCQWlFQkF5UVVObWlF
aUJBZ0FBQkFnUUlFRmdMR0NEckJ0d25RSUFBQVFJRUNCQWdFQkl3UUVKbAppMHFBQUFFQ0JBZ1FJ
RUJnTFdDQXJCdHdud0FCQWdRSUVDQkFnRUJJd0FBSmxTMHFBUUlFQ0JBZ1FJQUFnYldBQWJKdXdI
MENCQWdRCklFQ0FBQUVDSVFFREpGUzJxQVFJRUNCQWdBQUJBZ1RXQWdiSXVnSDNDUkFnUUlBQUFR
SUVDSVFFREpCUTJhSVNJRUNBQUFFQ0JBZ1EKV0FzWUlPc0czQ2RBZ0FBQkFnUUlFQ0FRRWpCQVFt
V0xTb0FBQVFJRUNCQWdRR0F0WUlDc0czQ2ZBQUVDQkFnUUlFQ0FRRWpBQUFtVgpMU29CQWdRSUVD
QkFnQUNCdFlBQnNtN0FmUUlFQ0JBZ1FJQUFBUUloQVFNa1ZMYW9CQWdRSUVDQUFBRUNCTllDQnNp
NkFmY0pFQ0JBCmdBQUJBZ1FJaEFRTWtGRFpvaElnUUlBQUFRSUVDQkJZQ3hnZzZ3YmNKMENBQUFF
Q0JBZ1FJQkFTTUVCQ1pZdEtnQUFCQWdRSUVDQkEKWUMxZ2dLd2JjSjhBQVFJRUNCQWdRSUJBU01B
QUNaVXRLZ0VDQkFnUUlFQ0FBSUcxZ0FHeWJzQjlBZ1FJRUNCQWdBQUJBaUVCQXlSVQp0cWdFQ0JB
Z1FJQUFBUUlFMWdJR3lMb0I5d2tRSUVDQUFBRUNCQWlFQkF5UVVObWlFaUJBZ0FBQkFnUUlFRmdM
R0NEckJ0d25RSUFBCkFRSUVDQkFnRUJJd1FFSmxpMHFBQUFFQ0JBZ1FJRUJnTFdDQXJCdHdud0FC
QWdRSUVDQkFnRUJJd0FBSmxTMHFBUUlFQ0JBZ1FJQUEKZ2JXQUFiSnV3SDBDQkFnUUlFQ0FBQUVD
SVFFREpGUzJxQVFJRUNCQWdBQUJBZ1RXQWdiSXVnSDNDUkFnUUlBQUFRSUVDSVFFREpCUQoyYUlT
SUVDQUFBRUNCQWdRV0FzWUlPc0czQ2RBZ0FBQkFnUUlFQ0FRRWpCQVFtV0xTb0FBQVFJRUNCQWdR
R0F0WUlDc0czQ2ZBQUVDCkJBZ1FJRUNBUUVqQUFBbVZMU29CQWdRSUVDQkFnQUNCdFlBQnNtN0Fm
UUlFQ0JBZ1FJQUFBUUloQVFNa1ZMYW9CQWdRSUVDQUFBRUMKQk5ZQ0JzaTZBZmNKRUNCQWdBQUJB
Z1FJaEFRTWtGRFpvaElnUUlBQUFRSUVDQkJZQ3hnZzZ3YmNKMENBQUFFQ0JBZ1FJQkFTTUVCQwpa
WXRLZ0FBQkFnUUlFQ0JBWUMxZ2dLd2JjSjhBQVFJRUNCQWdRSUJBU01BQUNaVXRLZ0VDQkFnUUlF
Q0FBSUcxZ0FHeWJzQjlBZ1FJCkVDQkFnQUFCQWlFQkF5UlV0cWdFQ0JBZ1FJQUFBUUlFMWdJR3lM
b0I5d2tRSUVDQUFBRUNCQWlFQkF5UVVObWlFaUJBZ0FBQkFnUUkKRUZnTEdDRHJCdHduUUlBQUFR
SUVDQkFnRUJJd1FFSmxpMHFBQUFFQ0JBZ1FJRUJnTFdDQXJCdHdud0FCQWdRSUVDQkFnRUJJd0FB
SgpsUzBxQVFJRUNCQWdRSUFBZ2JXQUFiSnV3SDBDQkFnUUlFQ0FBQUVDSVFFREpGUzJxQVFJRUNC
QWdBQUJBZ1RXQWdiSXVnSDNDUkFnClFJQUFBUUlFQ0lRRURKQlEyYUlTSUVDQUFBRUNCQWdRV0Fz
WUlPc0czQ2RBZ0FBQkFnUUlFQ0FRRWpCQVFtV0xTb0FBQVFJRUNCQWcKUUdBdFlJQ3NHM0NmQUFF
Q0JBZ1FJRUNBUUVqQUFBbVZMU29CQWdRSUVDQkFnQUNCdFlBQnNtN0FmUUlFQ0JBZ1FJQUFBUUlo
QVFNawpWTGFvQkFnUUlFQ0FBQUVDQk5ZQ0JzaTZBZmNKRUNCQWdBQUJBZ1FJaEFRTWtGRFpvaEln
UUlBQUFRSUVDQkJZQ3hnZzZ3YmNKMENBCkFBRUNCQWdRSUJBU01FQkNaWXRLZ0FBQkFnUUlFQ0JB
WUMxZ2dLd2JjSjhBQVFJRUNCQWdRSUJBU01BQUNaVXRLZ0VDQkFnUUlFQ0EKQUlHMWdBR3lic0I5
QWdRSUVDQkFnQUFCQWlFQkF5UlV0cWdFQ0JBZ1FJQUFBUUlFMWdJR3lMb0I5d2tRSUVDQUFBRUNC
QWlFQkF5UQpVTm1pRWlCQWdBQUJBZ1FJRUZnTEdDRHJCdHduUUlBQUFRSUVDQkFnRUJJd1FFSmxp
MHFBQUFFQ0JBZ1FJRUJnTFdDQXJCdHdud0FCCkFnUUlFQ0JBZ0VCSXdBQUpsUzBxQVFJRUNCQWdR
SUFBZ2JXQUFiSnV3SDBDQkFnUUlFQ0FBQUVDSVFFREpGUzJxQVFJRUNCQWdBQUIKQWdUV0FnYkl1
Z0gzQ1JBZ1FJQUFBUUlFQ0lRRURKQlEyYUlTSUVDQUFBRUNCQWdRV0FzWUlPc0czQ2RBZ0FBQkFn
UUlFQ0FRRWpCQQpRbVdMU29BQUFRSUVDQkFnUUdBdFlJQ3NHM0NmQUFFQ0JBZ1FJRUNBUUVqQUFB
bVZMU29CQWdRSUVDQkFnQUNCdFlBQnNtN0FmUUlFCkNCQWdRSUFBQVFJaEFRTWtWTGFvQkFnUUlF
Q0FBQUVDQk5ZQ0JzaTZBZmNKRUNCQWdBQUJBZ1FJaEFRTWtGRFpvaElnUUlBQUFRSUUKQ0JCWUN4
Z2c2d2JjSjBDQUFBRUNCQWdRSUJBU01FQkNaWXRLZ0FBQkFnUUlFQ0JBWUMxZ2dLd2JjSjhBQVFJ
RUNCQWdRSUJBU01BQQpDWlV0S2dFQ0JBZ1FJRUNBQUlHMWdBR3lic0I5QWdRSUVDQkFnQUFCQWlF
QkF5UlV0cWdFQ0JBZ1FJQUFBUUlFMWdJR3lMb0I5d2tRCklFQ0FBQUVDQkFpRUJBeVFVTm1pRWlC
QWdBQUJBZ1FJRUZnTEdDRHJCdHduUUlBQUFRSUVDQkFnRUJJd1FFSmxpMHFBQUFFQ0JBZ1EKSUVC
Z0xXQ0FyQnR3bndBQkFnUUlFQ0JBZ0VCSXdBQUpsUzBxQVFJRUNCQWdRSUFBZ2JXQUFiSnV3SDBD
QkFnUUlFQ0FBQUVDSVFFRApKRlMycUFRSUVDQkFnQUFCQWdUV0FnYkl1Z0gzQ1JBZ1FJQUFBUUlF
Q0lRRURKQlEyYUlTSUVDQUFBRUNCQWdRV0FzWUlPc0czQ2RBCmdBQUJBZ1FJRUNBUUVqQkFRbVdM
U29BQUFRSUVDQkFnUUdBdFlJQ3NHM0NmQUFFQ0JBZ1FJRUNBUUVqQUFBbVZMU29CQWdRSUVDQkEK
Z0FDQnRZQUJzbTdBZlFJRUNCQWdRSUFBQVFJaEFRTWtWTGFvQkFnUUlFQ0FBQUVDQk5ZQ0JzaTZB
ZmNKRUNCQWdBQUJBZ1FJaEFRTQprRkRab2hJZ1FJQUFBUUlFQ0JCWUN4Z2c2d2JjSjBDQUFBRUNC
QWdRSUJBU01FQkNaWXRLZ0FBQkFnUUlFQ0JBWUMxZ2dLd2JjSjhBCkFRSUVDQkFnUUlCQVNNQUFD
WlV0S2dFQ0JBZ1FJRUNBQUlHMWdBR3lic0I5QWdRSUVDQkFnQUFCQWlFQkF5UlV0cWdFQ0JBZ1FJ
QUEKQVFJRTFnSUd5TG9COXdrUUlFQ0FBQUVDQkFpRUJBeVFVTm1pRWlCQWdBQUJBZ1FJRUZnTEdD
RHJCdHduUUlBQUFRSUVDQkFnRUJJdwpRRUpsaTBxQUFBRUNCQWdRSUVCZ0xXQ0FyQnR3bndBQkFn
UUlFQ0JBZ0VCSXdBQUpsUzBxQVFJRUNCQWdRSUFBZ2JXQUFiSnV3SDBDCkJBZ1FJRUNBQUFFQ0lR
RURKRlMycUFRSUVDQkFnQUFCQWdUV0FnYkl1Z0gzQ1JBZ1FJQUFBUUlFQ0lRRURKQlEyYUlTSUVD
QUFBRUMKQkFnUVdBc1lJT3NHM0NkQWdBQUJBZ1FJRUNBUUVqQkFRbVdMU29BQUFRSUVDQkFnUUdB
dFlJQ3NHM0NmQUFFQ0JBZ1FJRUNBUUVqQQpBQW1WTFNvQkFnUUlFQ0JBZ0FDQnRZQUJzbTdBZlFJ
RUNCQWdRSUFBQVFJaEFRTWtWTGFvQkFnUUlFQ0FBQUVDQk5ZQ0JzaTZBZmNKCkVDQkFnQUFCQWdR
SWhBUU1rRkRab2hJZ1FJQUFBUUlFQ0JCWUN4Z2c2d2JjSjBDQUFBRUNCQWdRSUJBU01FQkNaWXRL
Z0FBQkFnUUkKRUNCQVlDMWdnS3diY0o4QUFRSUVDQkFnUUlCQVNNQUFDWlV0S2dFQ0JBZ1FJRUNB
QUlHMWdBR3lic0I5QWdRSUVDQkFnQUFCQWlFQgpBeVJVdHFnRUNCQWdRSUFBQVFJRTFnSUd5TG9C
OXdrUUlFQ0FBQUVDQkFpRUJBeVFVTm1pRWlCQWdBQUJBZ1FJRUZnTEdDRHJCdHduClFJQUFBUUlF
Q0JBZ0VCSXdRRUpsaTBxQUFBRUNCQWdRSUVCZ0xXQ0FyQnR3bndBQkFnUUlFQ0JBZ0VCSXdBQUps
UzBxQVFJRUNCQWcKUUlBQWdiV0FBYkp1d0gwQ0JBZ1FJRUNBQUFFQ0lRRURKRlMycUFRSUVDQkFn
QUFCQWdUV0FnYkl1Z0gzQ1JBZ1FJQUFBUUlFQ0lRRQpESkJRMmFJU0lFQ0FBQUVDQkFnUVdBc1lJ
T3NHM0NkQWdBQUJBZ1FJRUNBUUVqQkFRbVdMU29BQUFRSUVDQkFnUUdBdFlJQ3NHM0NmCkFBRUNC
QWdRSUVDQVFFakFBQW1WTFNvQkFnUUlFQ0JBZ0FDQnRZQUJzbTdBZlFJRUNCQWdRSUFBQVFJaEFR
TWtWTGFvQkFnUUlFQ0EKQUFFQ0JOWUNCc2k2QWZjSkVDQkFnQUFCQWdRSWhBUU1rRkRab2hJZ1FJ
QUFBUUlFQ0JCWUN4Z2c2d2JjSjBDQUFBRUNCQWdRSUJBUwpNRUJDWll0S2dBQUJBZ1FJRUNCQVlD
MWdnS3diY0o4QUFRSUVDQkFnUUlCQVNNQUFDWlV0S2dFQ0JBZ1FJRUNBQUlHMWdBR3lic0I5CkFn
UUlFQ0JBZ0FBQkFpRUJBeVJVdHFnRUNCQWdRSUFBQVFJRTFnSUd5TG9COXdrUUlFQ0FBQUVDQkFp
RUJBeVFVTm1pRWlCQWdBQUIKQWdRSUVGZ0xHQ0RyQnR3blFJQUFBUUlFQ0JBZ0VCSXdRRUpsaTBx
QUFBRUNCQWdRSUVCZ0xXQ0FyQnR3bndBQkFnUUlFQ0JBZ0VCSQp3QUFKbFMwcUFRSUVDQkFnUUlB
QWdiV0FBYkp1d0gwQ0JBZ1FJRUNBQUFFQ0lRRURKRlMycUFRSUVDQkFnQUFCQWdUV0FnYkl1Z0gz
CkNSQWdRSUFBQVFJRUNJUUVESkJRMmFJU0lFQ0FBQUVDQkFnUVdBc1lJT3NHM0NkQWdBQUJBZ1FJ
RUNBUUVqQkFRbVdMU29BQUFRSUUKQ0JBZ1FHQXRZSUNzRzNDZkFBRUNCQWdRSUVDQVFFakFBQW1W
TFNvQkFnUUlFQ0JBZ0FDQnRZQUJzbTdBZlFJRUNCQWdRSUFBQVFJaApBUU1rVkxhb0JBZ1FJRUNB
QUFFQ0JOWUNCc2k2QWZjSkVDQkFnQUFCQWdRSWhBUU1rRkRab2hJZ1FJQUFBUUlFQ0JCWUN4Z2c2
d2JjCkowQ0FBQUVDQkFnUUlCQVNNRUJDWll0S2dBQUJBZ1FJRUNCQVlDMWdnS3diY0o4QUFRSUVD
QkFnUUlCQVNNQUFDWlV0S2dFQ0JBZ1EKSUVDQUFJRzFnQUd5YnNCOUFnUUlFQ0JBZ0FBQkFpRUJB
eVJVdHFnRUNCQWdRSUFBQVFJRTFnSUd5TG9COXdrUUlFQ0FBQUVDQkFpRQpCQXlRVU5taUVpQkFn
QUFCQWdRSUVGZ0xHQ0RyQnR3blFJQUFBUUlFQ0JBZ0VCSXdRRUpsaTBxQUFBRUNCQWdRSUVCZ0xX
Q0FyQnR3Cm53QUJBZ1FJRUNCQWdFQkl3QUFKbFMwcUFRSUVDQkFnUUlBQWdiV0FBYkp1d0gwQ0JB
Z1FJRUNBQUFFQ0lRRURKRlMycUFRSUVDQkEKZ0FBQkFnVFdBZ2JJdWdIM0NSQWdRSUFBQVFJRUNJ
UUVESkJRMmFJU0lFQ0FBQUVDQkFnUVdBc1lJT3NHM0NkQWdBQUJBZ1FJRUNBUQpFakJBUW1XTFNv
QUFBUUlFQ0JBZ1FHQXRZSUNzRzNDZkFBRUNCQWdRSUVDQVFFakFBQW1WTFNvQkFnUUlFQ0JBZ0FD
QnRZQUJzbTdBCmZRSUVDQkFnUUlBQUFRSWhBUU1rVkxhb0JBZ1FJRUNBQUFFQ0JOWUNCc2k2QWZj
SkVDQkFnQUFCQWdRSWhBUU1rRkRab2hJZ1FJQUEKQVFJRUNCQllDeGdnNndiY0owQ0FBQUVDQkFn
UUlCQVNNRUJDWll0S2dBQUJBZ1FJRUNCQVlDMWdnS3diY0o4QUFRSUVDQkFnUUlCQQpTTUFBQ1pV
dEtnRUNCQWdRSUVDQUFJRzFnQUd5YnNCOUFnUUlFQ0JBZ0FBQkFpRUJBeVJVdHFnRUNCQWdRSUFB
QVFJRTFnSUd5TG9CCjl3a1FJRUNBQUFFQ0JBaUVCQXlRVU5taUVpQkFnQUFCQWdRSUVGZ0xHQ0Ry
QnR3blFJQUFBUUlFQ0JBZ0VCSXdRRUpsaTBxQUFBRUMKQkFnUUlFQmdMV0NBckJ0d253QUJBZ1FJ
RUNCQWdFQkl3QUFKbFMwcUFRSUVDQkFnUUlBQWdiV0FBYkp1d0gwQ0JBZ1FJRUNBQUFFQwpJUUVE
SkZTMnFBUUlFQ0JBZ0FBQkFnVFdBZ2JJdWdIM0NSQWdRSUFBQVFJRUNJUUVESkJRMmFJU0lFQ0FB
QUVDQkFnUVdBc1lJT3NHCjNDZEFnQUFCQWdRSUVDQVFFakJBUW1XTFNvQUFBUUlFQ0JBZ1FHQXRZ
SUNzRzNDZkFBRUNCQWdRSUVDQVFFakFBQW1WTFNvQkFnUUkKRUNCQWdBQ0J0WUFCc203QWZRSUVD
QkFnUUlBQUFRSWhBUU1rVkxhb0JBZ1FJRUNBQUFFQ0JOWUNCc2k2QWZjSkVDQkFnQUFCQWdRSQpo
QVFNa0ZEWm9oSWdRSUFBQVFJRUNCQllDeGdnNndiY0owQ0FBQUVDQkFnUUlCQVNNRUJDWll0S2dB
QUJBZ1FJRUNCQVlDMWdnS3diCmNKOEFBUUlFQ0JBZ1FJQkFTTUFBQ1pVdEtnRUNCQWdRSUVDQUFJ
RzFnQUd5YnNCOUFnUUlFQ0JBZ0FBQkFpRUJBeVJVdHFnRUNCQWcKUUlBQUFRSUUxZ0lHeUxvQjl3
a1FJRUNBQUFFQ0JBaUVCQXlRVU5taUVpQkFnQUFCQWdRSUVGZ0xHQ0RyQnR3blFJQUFBUUlFQ0JB
ZwpFQkl3UUVKbGkwcUFBQUVDQkFnUUlFQmdMV0NBckJ0d253QUJBZ1FJRUNCQWdFQkl3QUFKbFMw
cUFRSUVDQkFnUUlBQWdiV0FBYkp1CndIMENCQWdRSUVDQUFBRUNJUUVESkZTMnFBUUlFQ0JBZ0FB
QkFnVFdBZ2JJdWdIM0NSQWdRSUFBQVFJRUNJUUVmbmw2MW0vZm52NlYKdnBBQUFRSUVDRXdGZnZ6
ZTl2bno5QW1PRXlCQTRGVUVuanRBdm54NUZSYzVDQkFnUUlEQTN3SmZ2NzY5K1QzdWJ3Ly9SWUFB
Z2Y4Zwo4TndCOHVNaGZvSCtEM1g0b1FRSUVDQkFnQUFCQWdSZVc4RGZBWG50ZnFValFJQUFBUUlF
Q0JBZ2NFckFBRGxWaDhjUUlFQ0FBQUVDCkJBZ1FlRzBCQStTMSs1V09BQUVDQkFnUUlFQ0F3Q2tC
QStSVUhSNURnQUFCQWdRSUVDQkE0TFVGREpEWDdsYzZBZ1FJRUNCQWdBQUIKQXFjRURKQlRkWGdN
QVFJRUNCQWdRSUFBZ2RjV01FQmV1MS9wQ0JBZ1FJQUFBUUlFQ0p3U01FQk8xZUV4QkFnUUlFQ0FB
QUVDQkY1Ygo0S2YzOS9mZlh6dWlkQVFJRUNCQWdBQUJBZ1FJWEJId0p5QlhtdkFPQWdRSUVDQkFn
QUFCQWdFQkF5UlFzb2dFQ0JBZ1FJQUFBUUlFCnJnZ1lJRmVhOEE0Q0JBZ1FJRUNBQUFFQ0FRRURK
RkN5aUFRSUVDQkFnQUFCQWdTdUNCZ2dWNXJ3RGdJRUNCQWdRSUFBQVFJQkFRTWsKVUxLSUJBZ1FJ
RUNBQUFFQ0JLNElHQ0JYbXZBT0FnUUlFQ0JBZ0FBQkFnRUJBeVJRc29nRUNCQWdRSUFBQVFJRXJn
Z1lJRmVhOEE0QwpCQWdRSUVDQUFBRUNBUUVESkZDeWlBUUlFQ0JBZ0FBQkFnU3VDQmdnVjVyd0Rn
SUVDQkFnUUlBQUFRSUJBUU1rVUxLSUJBZ1FJRUNBCkFBRUNCSzRJR0NCWG12QU9BZ1FJRUNCQWdB
QUJBZ0VCQXlSUXNvZ0VDQkFnUUlBQUFRSUVyZ2dZSUZlYThBNENCQWdRSUVDQUFBRUMKQVFFREpG
Q3lpQVFJRUNCQWdBQUJBZ1N1Q0JnZ1Y1cndEZ0lFQ0JBZ1FJQUFBUUlCQVFNa1VMS0lCQWdRSUVD
QUFBRUNCSzRJR0NCWAptdkFPQWdRSUVDQkFnQUFCQWdFQkF5UlFzb2dFQ0JBZ1FJQUFBUUlFcmdn
WUlGZWE4QTRDQkFnUUlFQ0FBQUVDQVFFREpGQ3lpQVFJCkVDQkFnQUFCQWdTdUNCZ2dWNXJ3RGdJ
RUNCQWdRSUFBQVFJQkFRTWtVTEtJQkFnUUlFQ0FBQUVDQks0SUdDQlhtdkFPQWdRSUVDQkEKZ0FB
QkFnRUJBeVJRc29nRUNCQWdRSUFBQVFJRXJnZ1lJRmVhOEE0Q0JBZ1FJRUNBQUFFQ0FRRURKRkN5
aUFRSUVDQkFnQUFCQWdTdQpDQmdnVjVyd0RnSUVDQkFnUUlBQUFRSUJBUU1rVUxLSUJBZ1FJRUNB
QUFFQ0JLNElHQ0JYbXZBT0FnUUlFQ0JBZ0FBQkFnRUJBeVJRCnNvZ0VDQkFnUUlBQUFRSUVyZ2dZ
SUZlYThBNENCQWdRSUVDQUFBRUNBUUVESkZDeWlBUUlFQ0JBZ0FBQkFnU3VDQmdnVjVyd0RnSUUK
Q0JBZ1FJQUFBUUlCQVFNa1VMS0lCQWdRSUVDQUFBRUNCSzRJR0NCWG12QU9BZ1FJRUNCQWdBQUJB
Z0VCQXlSUXNvZ0VDQkFnUUlBQQpBUUlFcmdnWUlGZWE4QTRDQkFnUUlFQ0FBQUVDQVFFREpGQ3lp
QVFJRUNCQWdBQUJBZ1N1Q0JnZ1Y1cndEZ0lFQ0JBZ1FJQUFBUUlCCkFRTWtVTEtJQkFnUUlFQ0FB
QUVDQks0SUdDQlhtdkFPQWdRSUVDQkFnQUFCQWdFQkF5UlFzb2dFQ0JBZ1FJQUFBUUlFcmdnWUlG
ZWEKOEE0Q0JBZ1FJRUNBQUFFQ0FRRURKRkN5aUFRSUVDQkFnQUFCQWdTdUNCZ2dWNXJ3RGdJRUNC
QWdRSUFBQVFJQkFRTWtVTEtJQkFnUQpJRUNBQUFFQ0JLNElHQ0JYbXZBT0FnUUlFQ0JBZ0FBQkFn
RUJBeVJRc29nRUNCQWdRSUFBQVFJRXJnZ1lJRmVhOEE0Q0JBZ1FJRUNBCkFBRUNBUUVESkZDeWlB
UUlFQ0JBZ0FBQkFnU3VDQmdnVjVyd0RnSUVDQkFnUUlBQUFRSUJBUU1rVUxLSUJBZ1FJRUNBQUFF
Q0JLNEkKR0NCWG12QU9BZ1FJRUNCQWdBQUJBZ0VCQXlSUXNvZ0VDQkFnUUlBQUFRSUVyZ2dZSUZl
YThBNENCQWdRSUVDQUFBRUNBUUVESkZDeQppQVFJRUNCQWdBQUJBZ1N1Q0JnZ1Y1cndEZ0lFQ0JB
Z1FJQUFBUUlCQVFNa1VMS0lCQWdRSUVDQUFBRUNCSzRJR0NCWG12QU9BZ1FJCkVDQkFnQUFCQWdF
QkF5UlFzb2dFQ0JBZ1FJQUFBUUlFcmdnWUlGZWE4QTRDQkFnUUlFQ0FBQUVDQVFFREpGQ3lpQVFJ
RUNCQWdBQUIKQWdTdUNCZ2dWNXJ3RGdJRUNCQWdRSUFBQVFJQkFRTWtVTEtJQkFnUUlFQ0FBQUVD
Qks0SUdDQlhtdkFPQWdRSUVDQkFnQUFCQWdFQgpBeVJRc29nRUNCQWdRSUFBQVFJRXJnZ1lJRmVh
OEE0Q0JBZ1FJRUNBQUFFQ0FRRURKRkN5aUFRSUVDQkFnQUFCQWdTdUNCZ2dWNXJ3CkRnSUVDQkFn
UUlBQUFRSUJBUU1rVUxLSUJBZ1FJRUNBQUFFQ0JLNElHQ0JYbXZBT0FnUUlFQ0JBZ0FBQkFnRUJB
eVJRc29nRUNCQWcKUUlBQUFRSUVyZ2dZSUZlYThBNENCQWdRSUVDQUFBRUNBUUVESkZDeWlBUUlF
Q0JBZ0FBQkFnU3VDQmdnVjVyd0RnSUVDQkFnUUlBQQpBUUlCQVFNa1VMS0lCQWdRSUVDQUFBRUNC
SzRJR0NCWG12QU9BZ1FJRUNCQWdBQUJBZ0VCQXlSUXNvZ0VDQkFnUUlBQUFRSUVyZ2dZCklGZWE4
QTRDQkFnUUlFQ0FBQUVDQVFFREpGQ3lpQVFJRUNCQWdBQUJBZ1N1Q0JnZ1Y1cndEZ0lFQ0JBZ1FJ
QUFBUUlCQVFNa1VMS0kKQkFnUUlFQ0FBQUVDQks0SUdDQlhtdkFPQWdRSUVDQkFnQUFCQWdFQkF5
UlFzb2dFQ0JBZ1FJQUFBUUlFcmdnWUlGZWE4QTRDQkFnUQpJRUNBQUFFQ0FRRURKRkN5aUFRSUVD
QkFnQUFCQWdTdUNCZ2dWNXJ3RGdJRUNCQWdRSUFBQVFJQkFRTWtVTEtJQkFnUUlFQ0FBQUVDCkJL
NElHQ0JYbXZBT0FnUUlFQ0JBZ0FBQkFnRUJBeVJRc29nRUNCQWdRSUFBQVFJRXJnZ1lJRmVhOEE0
Q0JBZ1FJRUNBQUFFQ0FRRUQKSkZDeWlBUUlFQ0JBZ0FBQkFnU3VDQmdnVjVyd0RnSUVDQkFnUUlB
QUFRSUJBUU1rVUxLSUJBZ1FJRUNBQUFFQ0JLNElHQ0JYbXZBTwpBZ1FJRUNCQWdBQUJBZ0VCQXlS
UXNvZ0VDQkFnUUlBQUFRSUVyZ2dZSUZlYThBNENCQWdRSUVDQUFBRUNBUUVESkZDeWlBUUlFQ0JB
CmdBQUJBZ1N1Q0JnZ1Y1cndEZ0lFQ0JBZ1FJQUFBUUlCQVFNa1VMS0lCQWdRSUVDQUFBRUNCSzRJ
R0NCWG12QU9BZ1FJRUNCQWdBQUIKQWdFQkF5UlFzb2dFQ0JBZ1FJQUFBUUlFcmdnWUlGZWE4QTRD
QkFnUUlFQ0FBQUVDQVFFREpGQ3lpQVFJRUNCQWdBQUJBZ1N1Q0JnZwpWNXJ3RGdJRUNCQWdRSUFB
QVFJQkFRTWtVTEtJQkFnUUlFQ0FBQUVDQks0SUdDQlhtdkFPQWdRSUVDQkFnQUFCQWdFQkF5UlFz
b2dFCkNCQWdRSUFBQVFJRXJnZ1lJRmVhOEE0Q0JBZ1FJRUNBQUFFQ0FRRURKRkN5aUFRSUVDQkFn
QUFCQWdTdUNCZ2dWNXJ3RGdJRUNCQWcKUUlBQUFRSUJBUU1rTEJOUlVRQUFDVkJKUkVGVVVMS0lC
QWdRSUVDQUFBRUNCSzRJR0NCWG12QU9BZ1FJRUNCQWdBQUJBZ0VCQXlSUQpzb2dFQ0JBZ1FJQUFB
UUlFcmdnWUlGZWE4QTRDQkFnUUlFQ0FBQUVDQVFFREpGQ3lpQVFJRUNCQWdBQUJBZ1N1Q0JnZ1Y1
cndEZ0lFCkNCQWdRSUFBQVFJQkFRTWtVTEtJQkFnUUlFQ0FBQUVDQks0SUdDQlhtdkFPQWdRSUVD
QkFnQUFCQWdFQkF5UlFzb2dFQ0JBZ1FJQUEKQVFJRXJnZ1lJRmVhOEE0Q0JBZ1FJRUNBQUFFQ0FR
RURKRkN5aUFRSUVDQkFnQUFCQWdTdUNCZ2dWNXJ3RGdJRUNCQWdRSUFBQVFJQgpBUU1rVUxLSUJB
Z1FJRUNBQUFFQ0JLNElHQ0JYbXZBT0FnUUlFQ0JBZ0FBQkFnRUJBeVJRc29nRUNCQWdRSUFBQVFJ
RXJnZ1lJRmVhCjhBNENCQWdRSUVDQUFBRUNBUUVESkZDeWlBUUlFQ0JBZ0FBQkFnU3VDQmdnVjVy
d0RnSUVDQkFnUUlBQUFRSUJBUU1rVUxLSUJBZ1EKSUVDQUFBRUNCSzRJR0NCWG12QU9BZ1FJRUNC
QWdBQUJBZ0VCQXlSUXNvZ0VDQkFnUUlBQUFRSUVyZ2dZSUZlYThBNENCQWdRSUVDQQpBQUVDQVFF
REpGQ3lpQVFJRUNCQWdBQUJBZ1N1Q0JnZ1Y1cndEZ0lFQ0JBZ1FJQUFBUUlCQVFNa1VMS0lCQWdR
SUVDQUFBRUNCSzRJCkdDQlhtdkFPQWdRSUVDQkFnQUFCQWdFQkF5UlFzb2dFQ0JBZ1FJQUFBUUlF
cmdnWUlGZWE4QTRDQkFnUUlFQ0FBQUVDQVFFREpGQ3kKaUFRSUVDQkFnQUFCQWdTdUNCZ2dWNXJ3
RGdJRUNCQWdRSUFBQVFJQkFRTWtVTEtJQkFnUUlFQ0FBQUVDQks0SUdDQlhtdkFPQWdRSQpFQ0JB
Z0FBQkFnRUJBeVJRc29nRUNCQWdRSUFBQVFJRXJnZ1lJRmVhOEE0Q0JBZ1FJRUNBQUFFQ0FRRURK
RkN5aUFRSUVDQkFnQUFCCkFnU3VDQmdnVjVyd0RnSUVDQkFnUUlBQUFRSUJBUU1rVUxLSUJBZ1FJ
RUNBQUFFQ0JLNElHQ0JYbXZBT0FnUUlFQ0JBZ0FBQkFnRUIKQXlSUXNvZ0VDQkFnUUlBQUFRSUVy
Z2dZSUZlYThBNENCQWdRSUVDQUFBRUNBUUVESkZDeWlBUUlFQ0JBZ0FBQkFnU3VDQmdnVjVydwpE
Z0lFQ0JBZ1FJQUFBUUlCQVFNa1VMS0lCQWdRSUVDQUFBRUNCSzRJR0NCWG12QU9BZ1FJRUNCQWdB
QUJBZ0VCQXlSUXNvZ0VDQkFnClFJQUFBUUlFcmdnWUlGZWE4QTRDQkFnUUlFQ0FBQUVDQVFFREpG
Q3lpQVFJRUNCQWdBQUJBZ1N1Q0JnZ1Y1cndEZ0lFQ0JBZ1FJQUEKQVFJQkFRTWtVTEtJQkFnUUlF
Q0FBQUVDQks0SUdDQlhtdkFPQWdRSUVDQkFnQUFCQWdFQkF5UlFzb2dFQ0JBZ1FJQUFBUUlFcmdn
WQpJRmVhOEE0Q0JBZ1FJRUNBQUFFQ0FRRURKRkN5aUFRSUVDQkFnQUFCQWdTdUNCZ2dWNXJ3RGdJ
RUNCQWdRSUFBQVFJQkFRTWtVTEtJCkJBZ1FJRUNBQUFFQ0JLNElHQ0JYbXZBT0FnUUlFQ0JBZ0FB
QkFnRUJBeVJRc29nRUNCQWdRSUFBQVFJRXJnZ1lJRmVhOEE0Q0JBZ1EKSUVDQUFBRUNBUUVESkZD
eWlBUUlFQ0JBZ0FBQkFnU3VDQmdnVjVyd0RnSUVDQkFnUUlBQUFRSUJBUU1rVUxLSUJBZ1FJRUNB
QUFFQwpCSzRJR0NCWG12QU9BZ1FJRUNCQWdBQUJBZ0VCQXlSUXNvZ0VDQkFnUUlBQUFRSUVyZ2dZ
SUZlYThBNENCQWdRSUVDQUFBRUNBUUVECkpGQ3lpQVFJRUNCQWdBQUJBZ1N1Q0JnZ1Y1cndEZ0lF
Q0JBZ1FJQUFBUUlCQVFNa1VMS0lCQWdRSUVDQUFBRUNCSzRJR0NCWG12QU8KQWdRSUVDQkFnQUFC
QWdFQkF5UlFzb2dFQ0JBZ1FJQUFBUUlFcmdnWUlGZWE4QTRDQkFnUUlFQ0FBQUVDQVFFREpGQ3lp
QVFJRUNCQQpnQUFCQWdTdUNCZ2dWNXJ3RGdJRUNCQWdRSUFBQVFJQkFRTWtVTEtJQkFnUUlFQ0FB
QUVDQks0SUdDQlhtdkFPQWdRSUVDQkFnQUFCCkFnRUJBeVJRc29nRUNCQWdRSUFBQVFJRXJnZ1lJ
RmVhOEE0Q0JBZ1FJRUNBQUFFQ0FRRURKRkN5aUFRSUVDQkFnQUFCQWdTdUNCZ2cKVjVyd0RnSUVD
QkFnUUlBQUFRSUJBUU1rVUxLSUJBZ1FJRUNBQUFFQ0JLNElHQ0JYbXZBT0FnUUlFQ0JBZ0FBQkFn
RUJBeVJRc29nRQpDQkFnUUlBQUFRSUVyZ2dZSUZlYThBNENCQWdRSUVDQUFBRUNBUUVESkZDeWlB
UUlFQ0JBZ0FBQkFnU3VDQmdnVjVyd0RnSUVDQkFnClFJQUFBUUlCQVFNa1VMS0lCQWdRSUVDQUFB
RUNCSzRJR0NCWG12QU9BZ1FJRUNCQWdBQUJBZ0VCQXlSUXNvZ0VDQkFnUUlBQUFRSUUKcmdnWUlG
ZWE4QTRDQkFnUUlFQ0FBQUVDQVFFREpGQ3lpQVFJRUNCQWdBQUJBZ1N1Q0JnZ1Y1cndEZ0lFQ0JB
Z1FJQUFBUUlCQVFNawpVTEtJQkFnUUlFQ0FBQUVDQks0SUdDQlhtdkFPQWdRSUVDQkFnQUFCQWdF
QkF5UlFzb2dFQ0JBZ1FJQUFBUUlFcmdnWUlGZWE4QTRDCkJBZ1FJRUNBQUFFQ0FRRURKRkN5aUFR
SUVDQkFnQUFCQWdTdUNCZ2dWNXJ3RGdJRUNCQWdRSUFBQVFJQkFRTWtVTEtJQkFnUUlFQ0EKQUFF
Q0JLNElHQ0JYbXZBT0FnUUlFQ0JBZ0FBQkFnRUJBeVJRc29nRUNCQWdRSUFBQVFJRXJnZ1lJRmVh
OEE0Q0JBZ1FJRUNBQUFFQwpBUUVESkZDeWlBUUlFQ0JBZ0FBQkFnU3VDQmdnVjVyd0RnSUVDQkFn
UUlBQUFRSUJBUU1rVUxLSUJBZ1FJRUNBQUFFQ0JLNElHQ0JYCm12QU9BZ1FJRUNCQWdBQUJBZ0VC
QXlSUXNvZ0VDQkFnUUlBQUFRSUVyZ2dZSUZlYThBNENCQWdRSUVDQUFBRUNBUUVESkZDeWlBUUkK
RUNCQWdBQUJBZ1N1Q0JnZ1Y1cndEZ0lFQ0JBZ1FJQUFBUUlCQVFNa1VMS0lCQWdRSUVDQUFBRUNC
SzRJR0NCWG12QU9BZ1FJRUNCQQpnQUFCQWdFQkF5UlFzb2dFQ0JBZ1FJQUFBUUlFcmdnWUlGZWE4
QTRDQkFnUUlFQ0FBQUVDQVFFREpGQ3lpQVFJRUNCQWdBQUJBZ1N1CkNCZ2dWNXJ3RGdJRUNCQWdR
SUFBQVFJQkFRTWtVTEtJQkFnUUlFQ0FBQUVDQks0SUdDQlhtdkFPQWdRSUVDQkFnQUFCQWdFQkF5
UlEKc29nRUNCQWdRSUFBQVFJRXJnZ1lJRmVhOEE0Q0JBZ1FJRUNBQUFFQ0FRRURKRkN5aUFRSUVD
QkFnQUFCQWdTdUNCZ2dWNXJ3RGdJRQpDQkFnUUlBQUFRSUJBUU1rVUxLSUJBZ1FJRUNBQUFFQ0JL
NElHQ0JYbXZBT0FnUUlFQ0JBZ0FBQkFnRUJBeVJRc29nRUNCQWdRSUFBCkFRSUVyZ2dZSUZlYThB
NENCQWdRSUVDQUFBRUNBUUVESkZDeWlBUUlFQ0JBZ0FBQkFnU3VDQmdnVjVyd0RnSUVDQkFnUUlB
QUFRSUIKQVFNa1VMS0lCQWdRSUVDQUFBRUNCSzRJR0NCWG12QU9BZ1FJRUNCQWdBQUJBZ0VCQXlS
UXNvZ0VDQkFnUUlBQUFRSUVyZ2dZSUZlYQo4QTRDQkFnUUlFQ0FBQUVDQVFFREpGQ3lpQVFJRUNC
QWdBQUJBZ1N1Q0JnZ1Y1cndEZ0lFQ0JBZ1FJQUFBUUlCQVFNa1VMS0lCQWdRCklFQ0FBQUVDQks0
SUdDQlhtdkFPQWdRSUVDQkFnQUFCQWdFQkF5UlFzb2dFQ0JBZ1FJQUFBUUlFcmdnWUlGZWE4QTRD
QkFnUUlFQ0EKQUFFQ0FZRS9BSHVUSGNQTGo1OVFBQUFBQUVsRlRrU3VRbUNDCgo=
</data>
<flag name="review"
          id="38836"
          type_id="1"
          status="+"
          setter="krit"
    />
          </attachment>
      

    </bug>

</bugzilla>