<?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>193895</bug_id>
          
          <creation_ts>2019-01-27 21:43:32 -0800</creation_ts>
          <short_desc>image-rendering: pixelated does not work with WebGL (but does with Canvas2D)</short_desc>
          <delta_ts>2024-01-17 01:54:10 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>Safari 12</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=229753</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=229754</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BrowserCompat, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gregg Tavares">gman</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>annulen</cc>
    
    <cc>blaine</cc>
    
    <cc>changseok</cc>
    
    <cc>dino</cc>
    
    <cc>eoconnor</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>floooh</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jbedard</cc>
    
    <cc>jhuckaby</cc>
    
    <cc>justin_fan</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1498934</commentid>
    <comment_count>0</comment_count>
    <who name="Gregg Tavares">gman</who>
    <bug_when>2019-01-27 21:43:32 -0800</bug_when>
    <thetext>Simple example:

http://jsfiddle.net/greggman/mn9ebgkL/

This is not about scaling with a transform and given that a canvas with a 2D context works where as a canvas with WebGL fails it seems like a different bug than

https://bugs.webkit.org/show_bug.cgi?id=162592</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499868</commentid>
    <comment_count>1</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-01-29 20:14:24 -0800</bug_when>
    <thetext>Works in Chrome, doesn&apos;t work in Firefox.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1499869</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-01-29 20:14:39 -0800</bug_when>
    <thetext>&lt;rdar://problem/47656086&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786239</commentid>
    <comment_count>3</comment_count>
    <who name="Joni Korpi">me</who>
    <bug_when>2021-08-22 05:48:30 -0700</bug_when>
    <thetext>Just chiming in to say this issue still exists, and explain why it’d be nice to get it fixed.

Rendering WebGL at a lower-than-native resolution is a great way to save performance. The problem is by default you end up with a blurry mess. However, with `pixelated` (supported by Chrome) or `crisp-edges` (supported by Firefox) the result is a nice, retro-ish look, familiar to anyone who might have played PC games such as Devil Daggers or Return of the Obra Dinn.

Safari being the only major browser to not support either is a blocker for using this method.

We can mostly get around this by rendering to a lower resolution framebuffer, and rendering that to a native resolution canvas. But the overhead from that can negate much (or even all) of the performance savings made in the first place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788467</commentid>
    <comment_count>4</comment_count>
    <who name="Andre Weissflog">floooh</who>
    <bug_when>2021-08-30 03:25:26 -0700</bug_when>
    <thetext>I&apos;m also affected by this bug. Compare this demo in Safari vs Chrome (or Firefox):

https://floooh.github.io/sokol-html5/imgui-sapp.html

The reason why the text is blurry on Safari is because the WebGL canvas is non-Retina-resolution and upscaled by the composer, which involved linear filtering, which is the reason for the blurriness.

In the native version of the same demo I&apos;m using kCAFilterNearest on the Cocoa view to force nearest filtering.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789251</commentid>
    <comment_count>5</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-09-01 01:08:44 -0700</bug_when>
    <thetext>*** Bug 138291 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789261</commentid>
    <comment_count>6</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-09-01 01:41:15 -0700</bug_when>
    <thetext>*** Bug 138293 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789397</commentid>
    <comment_count>7</comment_count>
      <attachid>437049</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-09-01 11:55:30 -0700</bug_when>
    <thetext>Created attachment 437049
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789404</commentid>
    <comment_count>8</comment_count>
      <attachid>437049</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-09-01 12:08:14 -0700</bug_when>
    <thetext>Comment on attachment 437049
Patch

This looks OK but I don&apos;t think the plumbing is quite right. I think it should go via GraphicsLayerCA, just like setBackfaceVisibility() for example.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789660</commentid>
    <comment_count>9</comment_count>
      <attachid>437135</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2021-09-02 04:12:58 -0700</bug_when>
    <thetext>Created attachment 437135
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792991</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-13 10:21:06 -0700</bug_when>
    <thetext>Committed r282335 (241602@main): &lt;https://commits.webkit.org/241602@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 437135.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2005556</commentid>
    <comment_count>11</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2024-01-17 01:54:10 -0800</bug_when>
    <thetext>*** Bug 191827 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437049</attachid>
            <date>2021-09-01 11:55:30 -0700</date>
            <delta_ts>2021-09-02 04:12:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193895-20210901215528.patch</filename>
            <type>text/plain</type>
            <size>24672</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxODM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODgwY2JhNjVkMGVkN2Q1
MWY2Y2ZjNTE3NzcwMTgxZmZhODI4Njk0NC4uOTY5Yjk4OWE4MjMwODcxZjU0ZjNkMmVmNTg0ZjQz
NDU1OTFhZWRlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDIxLTA5LTAxICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgaW1hZ2UtcmVuZGVy
aW5nOiBwaXhlbGF0ZWQgZG9lcyBub3Qgd29yayB3aXRoIFdlYkdMIChidXQgZG9lcyB3aXRoIENh
bnZhczJEKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTkzODk1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzY1NjA4Nj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgaW1hZ2UtcmVuZGVy
aW5nOiBwaXhlbGF0ZWQgYW5kIGNyaXNwLWVkZ2VzIGZvciBXZWJHTCBjYW52YXMgZWxlbWVudHMK
KyAgICAgICAgbm9ybWFsIG9uLXNjcmVlbiBjb21wb3NpdGluZyBjb2RlIHBhdGggb24gQ29jb2Eg
YnkgdXNpbmcgQ0EgbGF5ZXIgZmlsdGVyaW5nCisgICAgICAgIHByb3BlcnRpZXMuCisKKyAgICAg
ICAgVGVzdDogd2ViZ2wvd2ViZ2wtaW1hZ2UtcmVuZGVyaW5nLmh0bWwKKworICAgICAgICAqIFBs
YXRmb3JtTWFjLmNtYWtlOgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL1BsYXRmb3JtTGF5ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OnNldFBsYXRmb3JtTGF5
ZXJJbnRlcnBvbGF0aW9uUXVhbGl0eSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvUGxhdGZvcm1MYXllckNvY29hLm1tOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySFRNTENhbnZhcy5oLgorICAgICAgICAoV2ViQ29yZTo6c2V0UGxhdGZvcm1M
YXllckludGVycG9sYXRpb25RdWFsaXR5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21h
Yy9XZWJDb3JlVVJMUmVzcG9uc2UubW06CisgICAgICAgIEFkZCBhIG1pc3NpbmcgaW5jbHVkZSB0
aGF0IGZhaWxzIHRoZSBjb21wbGUgd2hlbiBuZXcgZmlsZSBQbGF0Zm9ybUxheWVyQ29jb2EubW0g
aXMgYWRkZWQKKyAgICAgICAgdG8gdGhlIHVuaWZpZWQgYnVpbGQgZmlsZXMuCisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
SFRNTENhbnZhczo6c3R5bGVEaWRDaGFuZ2UpOgorICAgICAgICBTZXQgdGhlIGludGVycG9sYXRp
b24gcXVhbGl0eSB1bmNvbmRpdGlvbmFsbHkgb24gc3R5bGUgY2hhbmdlLgorICAgICAgICBUaGlz
IGVuc3VyZXMgdGhhdCB0aGUgYWxyZWFkeSBzZXQgcXVhbGl0eSB2YWx1ZSB3aWxsIGJlIHBvcHVs
YXRlZCB0bworICAgICAgICB0aGUgbGF5ZXIgd2hlbiB0aGUgY29udGV4dCBpcyBjcmVhdGVkIGFm
dGVyIGluaXRpYWwgc3R5bGUgc2VsZWN0aW9uLgorICAgICAgICBUaGUgY29udGV4dCBjcmVhdGlv
biB3aWxsIGludmFsaWRhdGUgdGhlIHN0eWxlLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJI
VE1MQ2FudmFzLmg6CisKIDIwMjEtMDktMDEgIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFw
cGxlLmNvbT4KIAogICAgICAgICBJbWFnZVJlbmRlcmluZ01vZGUuaCBpcyBub3QgdXNlZApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1NYWMuY21ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCAwNTZjYTI3ZjdmMjdhMjRjMTk0NGMwMTg1YzYyNTc0
ZDBkZGQ4YTJkLi5mNzlhNjQxMmQ5NTEyODU0MDU5OTA5MzE0N2E3ZDZmMTA0YmRhYzFiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybU1hYy5jbWFrZQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9QbGF0Zm9ybU1hYy5jbWFrZQpAQCAtMzI1LDYgKzMyNSw3IEBAIGxpc3QoQVBQRU5EIFdl
YkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ludFJlY3RDb2NvYS5t
bQogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0lPU3VyZmFjZS5tbQogICAgIHBsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0lPU3VyZmFjZVBvb2xDb2NvYS5tbQorICAgIHBsYXRmb3JtL2dyYXBo
aWNzL2NvY29hL1BsYXRmb3JtTGF5ZXJDb2NvYS5tbQogICAgIHBsYXRmb3JtL2dyYXBoaWNzL2Nv
Y29hL1dlYkFjdGlvbkRpc2FibGluZ0NBTGF5ZXJEZWxlZ2F0ZS5tbQogICAgIHBsYXRmb3JtL2dy
YXBoaWNzL2NvY29hL1dlYkNvcmVDQUxheWVyRXh0cmFzLm1tCiAgICAgcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvV2ViQ29yZURlY29tcHJlc3Npb25TZXNzaW9uLm1tCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29h
LnR4dAppbmRleCBjYTYxMTcwYzM0ZGYzOWMwMWIxNWIxMDEyNGVkZWM0OTY3OTUyOGIwLi5hNTRk
Yjg2OWJhNGUyZGM4NTI2M2ZjYzI1MmJkZTA3NzdiZWUzODM4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2Nv
YS50eHQKQEAgLTM3Nyw2ICszNzcsNyBAQCBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9JT1N1cmZh
Y2VQb29sQ29jb2EubW0KIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ludFJlY3RDb2NvYS5tbQog
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvTWVkaWFFbmdpbmVDb25maWd1cmF0aW9uRmFjdG9yeUNv
Y29hLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvTWVkaWFQbGF5YmFja1RhcmdldENvbnRl
eHQubW0KK3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1BsYXRmb3JtTGF5ZXJDb2NvYS5tbQogcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvUmVtb3RlR3JhcGhpY3NDb250ZXh0R0xQcm94eUJhc2VDb2Nv
YS5tbQogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvU291cmNlQnVmZmVyUGFyc2VyLmNwcAogcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvU291cmNlQnVmZmVyUGFyc2VyV2ViTS5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1MjFl
YzQ4MzI5YWZiYTI1MWYzMDA4NjZlNzFlODQ5YjlmYzdlNjg4Li4zOTA2YTRjZjI0ODkwOWU0YmEw
MTJkNmUyZjBkMmY0YTY2YzExODJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDQ4Niw2ICsxMDQ4Niw3IEBACiAJCTdCQjM0
QTE2MjUzNDVDQjIwMDAyOUQwOCAvKiBHcmFwaGljc0NvbnRleHRHTEFOR0xFVXRpbGl0aWVzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdyYXBoaWNzQ29udGV4dEdMQU5HTEVV
dGlsaXRpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0JCMzRBNDUyNTM3NzZD
NjAwMDI5RDA4IC8qIEdyYXBoaWNzQ29udGV4dEdMSW1hZ2VFeHRyYWN0b3IuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gR3JhcGhpY3NDb250ZXh0R0xJbWFnZUV4dHJhY3Rvci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk3QkIzNEE0NzI1Mzc3NkM3MDAwMjlEMDggLyogR3JhcGhpY3NDb250ZXh0
R0xJbWFnZUV4dHJhY3Rvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHcmFwaGljc0NvbnRleHRH
TEltYWdlRXh0cmFjdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0JCM0Ew
RjQyNkRGOEYzODAwNDdBM0JBIC8qIFBsYXRmb3JtTGF5ZXJDb2NvYS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFBsYXRmb3JtTGF5ZXJDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJN0JCNjgwQjcyNUJBMUJFMzAwMkI4NzM4IC8qIEdyYXBoaWNzQ2hlY2tzTWFjLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdyYXBoaWNzQ2hlY2tzTWFjLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0JCNjgwQjgyNUJBMUJFNDAwMkI4NzM4
IC8qIEdyYXBoaWNzQ2hlY2tzTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEdyYXBoaWNzQ2hlY2tzTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdCRTcy
NjVCMjU3NjNCOEQwMEU4NUQ5OCAvKiBSZW1vdGVHcmFwaGljc0NvbnRleHRHTFByb3h5QmFzZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW1vdGVHcmFwaGljc0NvbnRleHRHTFByb3h5QmFzZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNjk3OSw2ICsyNjk4MCw3IEBACiAJ
CQkJMUQwMDhBQTUyNjIxMDhDMDAwRUUzQURFIC8qIE1lZGlhUGxheWJhY2tUYXJnZXRDb250ZXh0
Lm1tICovLAogCQkJCTMxNjQ3RkE4MjUxNjE2QkQwMDEwRjhGQiAvKiBPcGVuR0xTb2Z0TGlua0Nv
Y29hLmggKi8sCiAJCQkJMzE2NDdGQTkyNTE2MTZCRDAwMTBGOEZCIC8qIE9wZW5HTFNvZnRMaW5r
Q29jb2EubW0gKi8sCisJCQkJN0JCM0EwRjQyNkRGOEYzODAwNDdBM0JBIC8qIFBsYXRmb3JtTGF5
ZXJDb2NvYS5tbSAqLywKIAkJCQk3QjY0QzBCNDI1NEMzQjE2MDAwNkI0QUYgLyogUmVtb3RlR3Jh
cGhpY3NDb250ZXh0R0xQcm94eUJhc2VDb2NvYS5tbSAqLywKIAkJCQlDREVCM0Q3MjI0QzQxQTZF
MDAxRkJFRUYgLyogU291cmNlQnVmZmVyUGFyc2VyLmNwcCAqLywKIAkJCQlDREVCM0Q3MzI0QzQx
QTZFMDAxRkJFRUYgLyogU291cmNlQnVmZmVyUGFyc2VyLmggKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QbGF0Zm9ybUxheWVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QbGF0Zm9ybUxheWVyLmgKaW5kZXggNjc4ODJjOTRjYTY5
OWFjNGY2MmQ4YmY0MDE5NTYxNjQ5Y2Y2ZDY2OS4uZmY4YTU4MmFiZDkzYmU0MjU4YzA3MWY4NzA3
NTM2MWNhNGI2MDUzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvUGxhdGZvcm1MYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1BsYXRmb3JtTGF5ZXIuaApAQCAtNTksMyArNTksMTcgQEAgdXNpbmcgUGxhdGZvcm1MYXllckNv
bnRhaW5lciA9IHN0ZDo6dW5pcXVlX3B0cjxQbGF0Zm9ybUxheWVyPjsKICNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CiB1c2luZyBQbGF0Zm9ybUxheWVyQ29udGFpbmVyID0gV1RGOjpSZWZQdHI8UGxh
dGZvcm1MYXllcj47CiAjZW5kaWYKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNz
IEludGVycG9sYXRpb25RdWFsaXR5IDogdWludDhfdDsKKwordm9pZCBzZXRQbGF0Zm9ybUxheWVy
SW50ZXJwb2xhdGlvblF1YWxpdHkoUGxhdGZvcm1MYXllciosIEludGVycG9sYXRpb25RdWFsaXR5
KTsKKworI2lmICFQTEFURk9STShDT0NPQSkKK2lubGluZSB2b2lkIHNldFBsYXRmb3JtTGF5ZXJJ
bnRlcnBvbGF0aW9uUXVhbGl0eShQbGF0Zm9ybUxheWVyKiwgSW50ZXJwb2xhdGlvblF1YWxpdHkp
Cit7Cit9CisjZW5kaWYKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvUGxhdGZvcm1MYXllckNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY29jb2EvUGxhdGZvcm1MYXllckNvY29hLm1tCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFj
YTIyZDIxOGU2Y2M5Y2E3YzM2ZmIxYjI0YTcwY2Y2YTc5Zjk4NjAKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9QbGF0Zm9ybUxheWVyQ29j
b2EubW0KQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9ydCAiUGxhdGZvcm1MYXllci5o
IgorCisjaW1wb3J0ICJHcmFwaGljc1R5cGVzLmgiCisjaW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0
ekNvcmUuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIHNldFBsYXRmb3JtTGF5ZXJJ
bnRlcnBvbGF0aW9uUXVhbGl0eShQbGF0Zm9ybUxheWVyKiBsYXllciwgSW50ZXJwb2xhdGlvblF1
YWxpdHkgcXVhbGl0eSkKK3sKKyAgICBBU1NFUlQobGF5ZXIpOworICAgIENBTGF5ZXJDb250ZW50
c0ZpbHRlciBmaWx0ZXIgPSBrQ0FGaWx0ZXJMaW5lYXI7CisgICAgaWYgKHF1YWxpdHkgPT0gSW50
ZXJwb2xhdGlvblF1YWxpdHk6OkRvTm90SW50ZXJwb2xhdGUpCisgICAgICAgIGZpbHRlciA9IGtD
QUZpbHRlck5lYXJlc3Q7CisgICAgbGF5ZXIubWluaWZpY2F0aW9uRmlsdGVyID0gZmlsdGVyOwor
ICAgIGxheWVyLm1hZ25pZmljYXRpb25GaWx0ZXIgPSBmaWx0ZXI7Cit9CisKK30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVVUkxSZXNwb25z
ZS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1dlYkNvcmVVUkxSZXNw
b25zZS5tbQppbmRleCBkZTNiYjZhNzA3NjhkYzhhZTU4ZDBjZGViYTBhNDgwYWU4YmZiZWY1Li5j
YTY1MGE1NGU0M2U4MmM4ZTQyNGRkYzNjYmM4NDQ3MmY4NjQ4M2NlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9XZWJDb3JlVVJMUmVzcG9uc2UubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvV2ViQ29yZVVSTFJlc3BvbnNl
Lm1tCkBAIC0zNSw2ICszNSw3IEBACiAjaW1wb3J0IDxwYWwvc3BpL2NmL0NGTmV0d29ya1NQSS5o
PgogI2ltcG9ydCA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4K
KyNpbXBvcnQgPHd0Zi9Tb3J0ZWRBcnJheU1hcC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmNwcAppbmRleCA3
ZGRkMzcyZWM0NGU1ZDY5ODcyZDZiOGNlZjQyMjNkYmU5MjFlYWRlLi5hMzYwMzViNTkyMGEwMWYy
ZDVjNjZjM2M5YTc2NWQzY2I4MzEzNWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySFRNTENhbnZhcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckhUTUxDYW52YXMuY3BwCkBAIC02Niw2ICs2NiwxOCBAQCBib29sIFJlbmRlckhUTUxD
YW52YXM6OnJlcXVpcmVzTGF5ZXIoKSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAordm9p
ZCBSZW5kZXJIVE1MQ2FudmFzOjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZmVy
ZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKQoreworICAgIFJlbmRlclJlcGxhY2Vk
OjpzdHlsZURpZENoYW5nZShkaWZmZXJlbmNlLCBvbGRTdHlsZSk7CisgICAgUGxhdGZvcm1MYXll
ciogY29udGV4dExheWVyID0gbnVsbHB0cjsKKyAgICBpZiAoQ2FudmFzUmVuZGVyaW5nQ29udGV4
dCogY29udGV4dCA9IGNhbnZhc0VsZW1lbnQoKS5yZW5kZXJpbmdDb250ZXh0KCkpCisgICAgICAg
IGNvbnRleHRMYXllciA9ICBjb250ZXh0LT5wbGF0Zm9ybUxheWVyKCk7CisgICAgaWYgKGNvbnRl
eHRMYXllcikgeworICAgICAgICBhdXRvIG5ld1F1YWxpdHkgPSBJbWFnZVF1YWxpdHlDb250cm9s
bGVyOjppbnRlcnBvbGF0aW9uUXVhbGl0eUZyb21TdHlsZShzdHlsZSgpKS52YWx1ZV9vcihJbnRl
cnBvbGF0aW9uUXVhbGl0eTo6RGVmYXVsdCk7CisgICAgICAgIHNldFBsYXRmb3JtTGF5ZXJJbnRl
cnBvbGF0aW9uUXVhbGl0eShjb250ZXh0TGF5ZXIsIG5ld1F1YWxpdHkpOworICAgIH0KK30KKwog
dm9pZCBSZW5kZXJIVE1MQ2FudmFzOjpwYWludFJlcGxhY2VkKFBhaW50SW5mbyYgcGFpbnRJbmZv
LCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiB7CiAgICAgR3JhcGhpY3NDb250ZXh0
JiBjb250ZXh0ID0gcGFpbnRJbmZvLmNvbnRleHQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySFRNTENhbnZhcy5oCmluZGV4IGZmMzU2M2M3ODM3NmUyNTBjM2Y3ZDkyMmUxY2Yx
MTkyZjQ0NjBjNTEuLjEyNTc2ZjA1OGFmOGE5ODI2MzlhMTM2ODM4NWY5NTk4OGYzNDBlMDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJIVE1MQ2FudmFzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaApAQCAtNDAsNiAr
NDAsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNhbnZhc1NpemVDaGFuZ2VkKCk7CiAKK3Byb3Rl
Y3RlZDoKKyAgICB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVu
ZGVyU3R5bGUqIG9sZFN0eWxlKSBvdmVycmlkZTsKKwogcHJpdmF0ZToKICAgICB2b2lkIGVsZW1l
bnQoKSBjb25zdCA9IGRlbGV0ZTsKICAgICBib29sIHJlcXVpcmVzTGF5ZXIoKSBjb25zdCBvdmVy
cmlkZTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwppbmRleCA4MWYyN2JiNjgyMTNjYWE1ZGJmMmRhMDJiY2VlMDYxM2ZhN2UyMjY4Li5j
OTM5ZTdjNmE2ZGFmYzhhMDk2NmMxZmZmMDRhOTA3ODhiNDM3NDBhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTcgQEAKKzIwMjEtMDktMDEgIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4K
KworICAgICAgICBpbWFnZS1yZW5kZXJpbmc6IHBpeGVsYXRlZCBkb2VzIG5vdCB3b3JrIHdpdGgg
V2ViR0wgKGJ1dCBkb2VzIHdpdGggQ2FudmFzMkQpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTM4OTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3
NjU2MDg2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGRvbmUtaW1hZ2UtcmVuZGVyaW5nLXdlYmdsCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvd2Vi
Z2wvd2ViZ2wtaW1hZ2UtcmVuZGVyaW5nLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICog
d2ViZ2wvd2ViZ2wtaW1hZ2UtcmVuZGVyaW5nLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogd2ViZ2wvd2ViZ2wtaW1hZ2UtcmVuZGVyaW5nLmh0bWw6IEFkZGVkLgorCiAyMDIxLTA4LTMx
ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgSW1w
b3J0IHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZvbnQtbG9hZGluZwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3dlYmdsL3dlYmdsLWltYWdlLXJlbmRlcmluZy1leHBl
Y3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvd2ViZ2wvd2ViZ2wtaW1hZ2UtcmVu
ZGVyaW5nLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYTJmYzRhZmUxNzUxNzI0ZGQ5YjNlYjIw
MzQxMDk0MDkzZDJiMmY3CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxNDQ0OQp6Y21lSE9jVHwo
dndvZjhMbHd5TDJBfDtfWFNaS21YNlhfVG5NXlBDQ3I4aXJNYVhecm9BX14kZClVZ1oqRDJ8e34K
emZ8XmpJR1lYMFZEaVZxYDBueU9JUCgjUSZJRzIzaWRoNCF4PWJ0ekN1SnYlT0VKRkNRJikmYmkm
KSZiaSYrKzJFCnp5IyZkWD5zS05XMiszV3gpJn4lWFdxMVN2PCVrdnFwWnBxbD9sa3paPjVQcno4
TCM2JFVQUylANTwqWV5kdkNxMQp6YFpgRFRebVYqRndyPjRpWFJGQFU/flJOK2U3NVF6XzRMeTFt
THl3JkZDcU84NUcpWm5icVpnPkZWO1NleU4+U0oKemdWK3EtcVk9b2M2OXwhb041RUA2YyE0JDNr
Y2VnQUN2eEdsR31QaT5tKkxadkV4dCFORTw5THlsNmVoKkZ1MT9WCnorVHkxbTxXUEhzVXlyYCpA
X29pVktUZkh2bmJPQCZ5K2tGSWUhUitkJHdnUzVLaDh2NnZRZDF2OEx7Rl5xVHdIdwp6MkdfMStP
aX1abkAxIUErQz1vT1VaJSN3ZD9OLWk+UHpBaSsqUj8wOCZQc21ncCs2eH17dnNqP01tWjBxN2Fz
aWMKejh3P2RaRWkyOD9kaHZJMlREYnhlPV5nano7WG1YcEplR3c8PEZ7Oy0hYWBydUEoJGc+Xipy
MXhUbyNHaWY8bzEtCnp5a3JJWStHfWkzJDdiR0I2VmplciNgQzJMMTYyRDtGVjRgUjxWQjZUZFFt
Qn48VCs2JUM3fkYpPkl5V1RQJFp2bwp6VmV1aGFgT0Q9WjMwRkphWWdMNnhwSEBSNmR1YDhGRn4z
Pi0/YVBMUkc9dntsLVp2T3BLVFp1I1F9fXdTS3owIXQKekJ1YWZQIyhYYSZMTmd3Y28oTGRPWklA
KFEzSzBObXA9d0B8OEdWcXdoRjVefWQoWE8ke0U2fHhpcGtGQTIle05FCnptSSktQ0FkTkFQSjdl
SDE0dy1YUjlGMTJtdEdHXnBxfXV9TmlObGRaV3lsO3FVezA/PUdaJkpzdW5TMGsqTTM/UAp6R0gw
KEFlaERsTHtgNVpzdDFFY0d2Klg1OF9ORzxhPlUhPislNn40NWEwJUhfNXBTSkxLTHwoa0EwVkRl
VzNpQ20KekxffnA/QX1vR14wP2EmMzgmQ1UjYlF5ey15cEUkZUxRZGtMZzN6fX1SNSVpT2tMKDU4
VkR0KiRUbGFsXmtSTEgkCnpmYXF7fVJvTDxwdktWdkdofE4kJCg5R1M7NW50UVpLPj1heiZZJlQ1
KlpwSiEoe1VEc3ZoOTM8aEFrZmY/NUllNAp6MXd8Pm8wZmhJZ3shWkJQPm9vOCozREpYYiFneG99
T0tGSUFgQ0ZsSXI8Sj1Ta3hMTiQtI3wzXzVqVlN5eU87dXQKej9YcyFGcE94fTItTGV6cmdFVnZ5
PlZVPXtGclZFN0tLb0poUHp1YXZBVzYlSj98PzxhY09hfjsodGxBRzxgREJWCnprZldibExXdkRR
ZStoIW8rcjRpRTZ2UGByNENPVnohcmM4YWglLTZJVjNfMWZHe2xsUmY4ejA5aGZld1VBXnVjZgp6
SVBzTkw/MDhVUzghMW5pUnc5PDBBZVhXZUVWN3BwX31eTE1PczFrSnVfbF4hUFdKY1glQ3R4OTJS
ZUA9UzcmPkUKelVNKnlkOHYpZkBOQDBKZF5yWnk8dWp8Y2RAaipkJmFPYmJ3ZUxXXmhvSW9keU1i
WlA5aXJvQC1UQjRXMnZpQ1BMCnpAT3U2b0gmd2daX2Y2THheby1RPDhmV3VtYCt0NlBiNEk5LSRS
KFFrNSkxb0IocUgxSnxDKyZAa1V2bn1JYFokRQp6RyNiVzc2fThMbVVoRH5VOUxyWlBiI19iNT9f
JH5lbzk2QE57P3NxKm4pbHFOK2s4MEZKZ3pCb0tLcHNfJElWQWcKejd4aDhWUmt+SXpISWpkfT5g
UUktelpwVypKNTYqaGpwbWp7Yk5fQUElY2FyV1ZpJmZRIXYwTVBgd01mX3JQMTZzCnp2YiVKKV41
MXMwMComVCE7PkAoYFlwMWt9T0VvKTdNfjZvUURkR01YOWRnU1E9Tj1OOExKenc+PH5geCglfXB9
fAp6TWE3aDZzIzZETHhQUWpxT3IxSTI3QlYhJDRMYEQmRXw5M3VsfGlWLTg3elAzPXFjemxJS3Ik
REFUJn5pSnhfVEcKejNSUlFSVDQlR14pfGh1eWZEPGIqITdAZXxUb2Y3fmRVRT8oaCtCJCpMb0I3
YVJwbmdoOzlfdFNvO0xWayRRa09oCnptQjh0MUBUZUswN1RVUnQzPnhBO3R5RVZxa3paZj9gUCFv
bXBaRjY0WDBAe2VAcUh9emAqJjJBNV98LXRKXkpHdwp6Y1JpT2R3XkhpWVBieSh5UFFtPU1ue3Yl
PW17RXNxbDUmbG9UOT9JWFZoPyhqI2M5WTlLNnd0ei1fWXR2ZzIyRzYKeitrRTs0TGkoKyQ8KnVo
Q3F1NlNfXlZaRDt2WCZ+UnQ9R05tIVZZQihgMkA9eUQ5UnE2OyFaXnNROGxVSSZFeUY4CnpufmlP
K3gzVC0qTFU0XylwKzZIemtpZ0FJc0hLS0A7fiFLSjZmSFIhTiYoY3woWGxuaE0+YXF3T1lTcE02
X3FjVgp6PTk4dmt6cGt5cSVDSmgkZUdwQlFQJGJEU3h5O0ZsTjMkenpDJCtVfGdkUE5NaFFESnRB
dWM4KVRCen5sT3p5dFAKenorO1UkbCkrPFBHSTtAcm15fTI7SCRxV2M9aGZCRmMoYENRVj5qWiZ2
ZyVkYDFfJEZldzhhcy1Re31YYHlvYylLCnopSm1NJGIpMThSKzRrbzcmKnwtKnZ5ISZ3XkZxV1VM
Uk1GdmxuaEBDQnppaEpZKTxCeC0kQipWYXxnfTdmXnslMgp6R243Y3YoUD55NVlhanpCWFdGV2Mz
bCZYVnZwRVdPKCQ8Vj0pfSZjOEdPR3lmeCF+bXt1N292aE1aNlBEak5LO3gKejlSeHR2VWVxX0pU
NlJ2P1AqfWtsbFheam9kPGk4dik1azkyeFM0Pmc/WUUzSVZiJnxzemFySThtV289QlElUng7Cnoj
fElvRDZYck12U15MU0ZWWlY8X0RDdG9KcWVhRG04X0M7MCZjOEArN2FXYEV4MmwtVFMwOGZkc20k
bzh0YiM2Ywp6YlI5P0clJFBhT0U8QjV+S0NlRGxqYWU4KiplRHV2OW90QHJlS25FZ2hoXl9USzhV
RE0+aDlyS04oeFdCRj9oeCUKejFgK1dmIWUoK256bHNuVVNDcVpYUj8hNjVBQXE/dnF2bWJqQihq
SmFQK0NoUVAjaG1uUH03aFhwc356V0I8PjRhCnpTP3dHbEdRTFJyalBwaz9GJGdTJG8kZmFmMmdH
OFhjbWROajctX29LekB7M0Y/KSpOST9icGRpcSMrNn5EU3A5LQp6QWxeTFZGX2FlIWU9WXg8KEtz
MH5scjB8M3p+Q1p0T0ZtdCFWVThKfUAzbF98PDZ1ZFlwQCtrdih0WlFDYnp6QWsKempRJDI4RXFH
RiU+JnImamlwRFRVLV5UZmpNemZARjBvM0AweWxTSkk7UXBCPlp3ajR3TXN+dVBpRnNFRkRoY1Zg
Cnp4SGBkalUpRj9+emVXfHxYLWhwcThkdSlOLXI7ZE9OdGwpcF54YnE5bDxvTm9MOWgxYnIrKTFa
WjdzfTh0eCM9Ngp6RTQzVSY3ZG1ycHMqKW9wJWNPfiFgSHNYQVdgI0MmOTZKIUJJV0BqeFhwWkd0
X2ExX3xBZnZxNnU0SWVESXx7PykKem1meXJhayUoIUFPQnUmfktRNVFZe19IJitKPTBSKG01Nkp8
Yi1pVyoxQUpIb0lPbmpxcys9KzluNkdBN3FsTlhsCnohcklQalMwVFkpUnRgIz0+cEZXVSo9ZTxv
PUlOSVBZSU5lZnUpMjVPbHMzRkFWVChkOGBSTCp2ZzFCZyZLdiEtPAp6aXhjQHd1aGQma1FTcFlJ
dVFBLUJWeVZJdEwpJWBnPVZiRkczNndRam9pfShoRFM7Rng/ZnclYEQqMCMrZUVLZGoKenk0ZnhD
MUc0d31tfEoyR0grQVpLeiR1dSVURlhJemtrWDxIOGtCMUpNNmEjPXQ8IXpkaW08eTFUXm11KW1N
MkleCnp3eS1RejsqVyphMXtFSjAzWHQoO1RMfCskdHozSG5eMmtkUEU5QTV8SjtkciRhYG1rKGJ3
dzNKMDsqU0lAVFp+eQp6TyVza0x3SV59aCYjZUZIeFc4KjA1ejxrPyFhV354cjZUUnJLKk40cXtk
YGw8WW97Y0M1bDEkKEohJDI/bTFgbEAKel85b3ImJXI0UVZrVGd6KUFEISEwNjl+X3FAYUEyXnNR
MWZrdnZqUGdqfGlTcmF+T0coRFM7LVJuO3xHTWhTJHFhCnpBPVBmJndvc21ZbDFkOEM4V3MhKEhM
ZmN1KGE9dWN7U2RtVihkOGkkeEJ8flNzYHdxSnJ6TGVxTzg7QlBaK0ojbwp6YEJCNlAwZFk2YT9Y
RGl8XlY3MlFjdEpNJU4hQlo0Xz1AK3lvdVpueVBqe2l1bElfOCpwWjsqPlcoZlolOEh+QTkKenUj
PlpsRnV+Q01TRUJMIyNrcSVJZyo1PyVzIT1BIyNIYXtTSWxVSlk8bTlPajQ8WUZhMll+Y20oJEQq
JExSMUZ8CnpZd34jTWt1e0tYRDxEMHBTWDFrZ2FMMUd6ZndKeDI7cVZBMS00O2tzJGJXN0YrdiVZ
RWBxbEFIOSl6U3owcUZgewp6Uj40TmRvUEo8VlU5ZWo9T3U5MFZacSpeWDdHX1F8RnZuPSooTHRF
PnpYKD1QTjcyS0t6N3hiKEFJQUZvZkBrSjAKenU9RCVjKV5fbXVvbG5TR1cxTlpuMilCdXY1YmZJ
Q2ZtOVlLRTRXRnc4fCttKWEmMjJaLS1KNWNlLUdAQysjUFBFCnp1KU59SzJoTi0oOHcwZjxCVVhX
JVNTSGdyU3wzIXVudHx0OT9Bcjw8dmBxP1YyeVBiQGFVSHRxMFlvOWE/TVZGKQp6ai15P2AoZyo/
NDVqST1mMHIxJHR5ZDRBSzl8MTBWdGVPe2RobitKXzB2IUwtTnx9KGUxO0gpSmVvWDcpRzdBNkwK
elZKYmlHPDdDS0ArMXk4S3klVTdtQmswZG9ffS01aDBtUmVBYEZ1UWlPUmhreFo9Iz51VXRlOzN7
OXg0ZUZZTFN4CnpjWWhkVUN2TkRtYkBwdSt5bjd6MUN5WWlVJTQrJHJ3N0UpJV5+UV49d1dnbmZB
YHtUXlkpZXE1KDVpcX4rLThGUAp6WTR0O1h6YFgxSHtKeUUmelQ4emo1PVA9YE5LKWJGUyg4flA1
PSZKOFd4Q1I+bm85NHJrQyN2am45ajdhPHV8NGUKemtFfTUqTUdjaWU1MjdeJHJqRV9jdDw+Py10
JGFfemJDcGRGajhePVdKTCNuS0wjMGlubCFJby1tLUVrOzh3dkxyCnp4RyZraFAocmJ+eTN5V2Q1
cm41UkdIUkJEX0lTUjhWbkNTYHpOTm1RZCUqVEFGVnhReWlYVnNOQWN2NTs5Qzw0Ygp6RE8lPSlG
Vyp1TDREd2E9e2U5bEd5UWlBbHYtISgwdjlge3pyI3o9SjxWQnJCV1JIRGhPVUxYeCFhekRMTHl1
NE8KemJqVWdSSjc3IWQzK3QlTkdeUmA5dS18e0czZ3JLeFQxRFhYZGUhM31UbFFnS05YanB5WHx5
YmA5YVFqNDk8ZjVUCnprfDF5MWlockRVdjxlMm0kNmNUJTBJMXJ+eFIhZVRffiNWU18jI2pyc3xZ
TSZ3YHk1amZWekRLajJvdEA+Zz1GZAp6bmBjKHBPZztmY281WCpHeCNDdnhOfXJRYEE+Sl5oIXQz
KTAmaC1YY3MqZT1hKSoxQWFDKHNhdFpFVCpPeXZJTjMKekpsKklOMWsxbipkJUFpdW50cGppSDJh
ZUNWYDBjZlF9aSlMcldIWW4qZngjN1U0MXQtbSNLfnF6X2g0X0lsRSs5CnpLdjtfQ0ZBdFEmMlFY
P1Y/TUo2Ozh1c1QwME9rWWlQblN+Qk9GaSVWPlF9Z0BFYFNfPVBpbjI0RilQam9hal9pQgp6SCRI
RFlTfkkkVD5PeCNoPXBaYSl0SShoWGJKQmgkbVB6NXswSlprcnZIYUdDSWFhYWNyZ2pRNXlQWnJP
ZSshSUkKekJ6Tkt0PXxqMkBSeVdVR1lvI3pzMCsza1FQZ1NFIzJOUF9lekgzeE0qdmN6KkpNTzs4
YkA+byhYTCtpYDkoRkl7CnpyWnoqKXsxYTduYGo/PzJoP25rcHZaayRoNT13OEl4PFBQYWpWQkdP
d35kJWtTdz80eFg4KV5qPihNVFVwYm0mIwp6ViRMNm5eTz1zOz1LKFJ4Zl9PI2hTXmlMMyFrXnYq
Yz1iZ0YjP0ZXe3NtQmtxK2luMkp0Rj9URVlNWEBlam9wZz0KenlgJT1SeHVAaVdFSE9KQGY0WXhz
PktVSGJNPTh5Py1QdSRkNEQweCZXVHZNZG9iQ0llYnJveGllVTgjNGNNUERfCno0dkhGX28mWjU+
dklLNmM4NmYpSFd3UmUqYlp1ZEUtJGV2Q2h2PWJaUlh1VlVNMSpsUFRKYEtxbEhVT2NHbmE0Nwp6
QWpXdDZySCNDNCgraFQ3QUowcH1hXzdeUXdaPXRMdHVVODc2YVI0KTkqZnIxMGJQTWRjM0kke3A4
dm9vd20oVkUKejUoSnBDTDNZVXROMj9OTVMkOW90V2dwTWF0bis7eGQ3I2UoO15wK3Yxek9kTCFT
YVo/IzxZKlJeSVFDIT1mX2hSCnpiJGVqP3s8YVZ4a319d310ekx5eGxFIUNlYDctQ2JAWE1QREhW
YlV6aiZoczZaU1I7YlN1VERtdDBlQitBaVM8bQp6WnZjP0wrP1N9VlR4QW07SHFALXliOWo1KFZT
QHNgZlBDNTUmaVFQfjF3dSg1Kn5ISXZ4SWEwTlFkaiNrT2g7QXAKenBzY3k+eDwtPHNHMmo9Uz4q
SXJveyY5JGJeLXgqQzZ2I0FocCM2U0FAMjR5I2AkY1o3Tz9MZmRMMkBxK3pKdEhmCnohWms7fkkx
VyVKOVRvTVBJXk1Ac0U2QnJBTEE1bUtkd0wpMVpUeWB3YDZONjMxSFYlLWV0bWxXalhzfDx5QyRI
dQp6T2ZDYW5iKzBMXyR+eFNIX29SQjwxUXJrP2xXVXRMQEl6RzYzQm0zJkowWDlIKVR4WSlsfSZf
UEtYX09TdyZEX3YKemAzOHBKVSEqYUFqcX13eklaUH5FRWlFKmpGRS1LY0VFfUM9aDRDdCVsP2cm
OC0pd0wjbkdZTyZxO3o9MUMtfilYCnp7VWooV1JyM1NmU3F9anpteyp3RVUoWmkmMVVyUDtVcG9i
QjJuSUtHdEAhXm92LXdNZEJ6a31MZ3FlMWRlYWBqaAp6RFIhPHZWPDZZO2RZaH09WmI4N3JJU0R3
YEg9d15jR1pzRUd8NjVHVj1vcVBRcVZ1PW5kRlQxTCFuTEdRUEo9WXgKem19VUxiTVpXUTRaLXQ5
NyoqdiRSQVRuJnU7R1M2eSs5ZDBFXm9GO1NsPn4pKWpJPkEzNWozYiU5JV9KQ0pZaitUCnpZNVNF
YCpJQzwlPElGU1hDT3BheyZ2X2dtPiM/MHYzOSRDcks/RzFILUxQSWcmfHhSaT99NEAle1U5fUBr
elowLQp6P1R9Vi0xQ34/IUk+cDUwb3B8STlnWnBrMGduaUFrRC1YJEE+ejtXXllKQTBSVyNAOSNA
aHhRcWMtUm1DUTtAWEsKekNSeSRqTyZtTm44bSpzdCZLa15nQD4xYGw1M2BZQSk/Knh8YDFLVWta
dHN0YUlkdjMpQjlxQndDOWk7Q0BgZz1kCnpJMWBtWGJnUV9lQlRXWWtMcTR5fVZSezxPOTclKC11
fHM2alIoXklUJjNmSVZlNFJgSzwqY1IjO2szJXw2Nm0kXwp6d201QTJ3OGU0YVlGdj88U1lqQ0da
RGMlcHtnfXJ5JTR9a0hkTj89bDgwUFJEemk2MHdsSnNfenR3QFk8U1I7U28KeiNxN2QlciVVMlZt
PT96Ozk8WW94dGhTSl9NLXhmczt8R3I9UmVKJiEqQTY7JkshS1F9aUVoPEpTMEJLLWV0Wk09Cnpy
am9lfHpPaD97KkshbmJrd3gpQXpzejtAaylMUTxhOVAqWkB1Xmswd1p0ZWN0Nz9kQigjb2Vecjwl
KDZRYlhUUwp6d3JQY05HKTtWPUw+PjN0PSRRUyRzfURAdjhIZkFNSjdqUkBeJkFgVHNLenIlVkZg
NiFafG04dVYzLWotaCY5ZDgKellRKTJHWCVnejBYbzloJGNpQWJ1RnordiFaTnt8NTNTaj8hdkJY
PDttaWooPjtDLShwQ3wzdWZWazh1dXMmIzRCCnpVQ3xVcE9PK3NSSz5zWU9wWUk0PF5iI1BrLX0+
NXNoNjFLclJKPz5UKXt2RVE/eko/PHNVen4qc2p9OWw7cnowaAp6PEdfZnh7RTx+I3BoYGtkVSpT
dm5mbj9VKVFBOShGazlrYkRaYl54RG1kfn1hSEMreklaKk09ZGIyejJ5JUswNmUKeiMtV0QoXitN
cW9HWlVZQzZ7dHpgVztseERoOCN1WGp9SEpFSGljRlVQNDQ7aVk+SFcxQC10QFlfKWBlMTtaMS1p
Cno/RjkzI1d6VVpZXnMwNWt0ZHNhYTQ2LT05ZVJXZUlCPm02Jlh6ZHVDcCVCMmt3WkxUTDdlPGg9
VTVUV35neGNUWQp6akpXej00RGZsOEF1LUcqQzsyKDkwV1BuIWBKZEI7dShgJShlakEzdytKNCNP
dSp5YSFkUjUhUkJQclI1dV83dkkKelopRSg8UjRAWFpMR24yXmEldkZBPzl5NnI0cFptS291MEVW
S3R3MjdwSEYtP3g1c0ZjKDB9eHRnPChhTjRRcjxOCnp0fFgyS3JYZ0paUiN8MSQpPEpRX19Efllj
Q0dFQGFpelQyJTxrbWZvV2lYb0R3b2wkRjQ0OTR7ZTxQdXNUUlZgRAp6KWEyQHdiKkgxWF5LYEY2
SCNmWDZiPnV7VXspQXUzYj5Sam0tfD8tX2g+cXFuOVRkJF4kcUNqTlgkZ1l1OVEkREAKenJ8U1Ir
a2F3YiZxUSFedUs5PWRyYHNjKkRYfXlMMi08VVdSRnZAK3xrVSl9Rzt8OCh2RklSXil4ZV9iXzYo
UUg0Cno9Y0VCOEB5QEpDTmEoKDZTe2dXYmVKdHp0UD9yNDFkNGEqcyt2KypiSXg1cFV4Q1RsXytF
ZX59eDEwNiU2fkpgRgp6RTtMVmE1KihKNDs+NmU+SWt2aShYKylwfU5XI1FCRkElcCtQdnRmQHdH
dztTRllZIVNkcUxnSFQ/T0M0VEEmTzAKemVXbChSRiE+QTNsOURIbW9UJkRTaXhuYilwbkkoViNM
Qk5sUFI3JVcqVjB0WW5JRE5HI0orOC08PzBzUTN4VT5CCnZgWm5Zd0hoSjdOUDJzb24xUz4oQDQy
an4yJio2O29aemNWdnhZaVFee19WMmFZbkB+MWUocncmUXJPdX0KCmxpdGVyYWwgMApIY21WP2Qw
MDAwMQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsL3dlYmdsLWltYWdlLXJlbmRlcmlu
Zy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC93ZWJnbC1pbWFnZS1yZW5kZXJpbmct
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUzYzAwNzRjOWQ0ZjY2NTA4Yzc5NjczOTViZjlmNTQ2
MGMzOWFkYjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC93ZWJnbC1pbWFn
ZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorCisKKworCisKKworCisK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViZ2wvd2ViZ2wtaW1hZ2UtcmVuZGVyaW5nLmh0
bWwgYi9MYXlvdXRUZXN0cy93ZWJnbC93ZWJnbC1pbWFnZS1yZW5kZXJpbmcuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45NDVkYmU1YTc2YTcyNDVlY2IzZGZmMGIxZjQyZWIzOTkyZjBiMjU3Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvd2ViZ2wtaW1hZ2UtcmVuZGVyaW5nLmh0bWwKQEAg
LTAsMCArMSw5NyBAQAorPCEtLQorICAgIFRlc3RzIHRoYXQgaW1hZ2UtcmVuZGVyaW5nIGJlaGF2
aW9yIGZvciBXZWJHTCBjYW52YXMgZWxlbWVudCBpcyB0aGUgc2FtZSBhcworICAgIGZvciBhbiBp
bWFnZSB3aXRoIHRoZSBzYW1lIGNvbnRlbnRzLgorICAgIExlZnQgKGNhbnZhcyBlbGVtZW50KSBz
aG91bGQgYmUgdGhlIHNhbWUgYXMgcmlnaHQgKGltYWdlIGVsZW1lbnQpLgorIC0tPgorPGJvZHk+
CisgICAgPHN0eWxlIHR5cGU9dGV4dC9jc3M+CisgICAgY2FudmFzIHsKKyAgICAgICAgd2lkdGg6
IDY0cHg7CisgICAgICAgIGhlaWdodDogNjRweDsKKyAgICAgICAgZGlzcGxheTogaW5saW5lLWJs
b2NrOworICAgIH0KKyAgICBpbWcgeworICAgICAgICB3aWR0aDogNjRweDsKKyAgICAgICAgaGVp
Z2h0OiA2NHB4OworICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgfQorICAgIC5w
aXhlbGF0ZWQgY2FudmFzLCAucGl4ZWxhdGVkIGltZyB7CisgICAgICAgIGltYWdlLXJlbmRlcmlu
ZzogcGl4ZWxhdGVkOworICAgIH0KKyAgICAuY3Jpc3AtZWRnZXMgY2FudmFzLCAuY3Jpc3AtZWRn
ZXMgaW1nIHsKKyAgICAgICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlczsKKyAgICB9Cisg
ICAgPC9zdHlsZT4KKyAgICA8ZGl2IGNsYXNzPSJwaXhlbGF0ZWQiPgorICAgICAgICA8Y2FudmFz
IHdpZHRoPSIyIiBoZWlnaHQ9IjIiIj48L2NhbnZhcz4KKyAgICAgICAgPGltZyBzcmM9ImRhdGE6
aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUlBQUFBQ0NBWUFBQUJ5
dGcwa0FBQUFBWE5TUjBJQXJzNGM2UUFBQUVSbFdFbG1UVTBBS2dBQUFBZ0FBWWRwQUFRQUFBQUJB
QUFBR2dBQUFBQUFBNkFCQUFNQUFBQUJBQUVBQUtBQ0FBUUFBQUFCQUFBQUFxQURBQVFBQUFBQkFB
QUFBZ0FBQUFEdEdMeXFBQUFBRGtsRVFWUUlIV05nK0ErRXlBQUFIZlFCLzVCRUlHRUFBQUFBU1VW
T1JLNUNZSUk9Ij4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJ0by1iZS1waXhlbGF0ZWQi
PgorICAgICAgICA8Y2FudmFzIHdpZHRoPSIyIiBoZWlnaHQ9IjIiIj48L2NhbnZhcz4KKyAgICAg
ICAgPGltZyBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVn
QUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFBWE5TUjBJQXJzNGM2UUFBQUVSbFdFbG1UVTBBS2dB
QUFBZ0FBWWRwQUFRQUFBQUJBQUFBR2dBQUFBQUFBNkFCQUFNQUFBQUJBQUVBQUtBQ0FBUUFBQUFC
QUFBQUFxQURBQVFBQUFBQkFBQUFBZ0FBQUFEdEdMeXFBQUFBRGtsRVFWUUlIV05nK0ErRXlBQUFI
ZlFCLzVCRUlHRUFBQUFBU1VWT1JLNUNZSUk9Ij4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNz
PSJwaXhlbGF0ZWQgZGVsYXllZCI+CisgICAgICAgIDxjYW52YXMgd2lkdGg9IjIiIGhlaWdodD0i
MiIiPjwvY2FudmFzPgorICAgICAgICA8aW1nIHNyYz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlW
Qk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBSUFBQUFDQ0FZQUFBQnl0ZzBrQUFBQUFYTlNSMElBcnM0
YzZRQUFBRVJsV0VsbVRVMEFLZ0FBQUFnQUFZZHBBQVFBQUFBQkFBQUFHZ0FBQUFBQUE2QUJBQU1B
QUFBQkFBRUFBS0FDQUFRQUFBQUJBQUFBQXFBREFBUUFBQUFCQUFBQUFnQUFBQUR0R0x5cUFBQUFE
a2xFUVZRSUhXTmcrQStFeUFBQUhmUUIvNUJFSUdFQUFBQUFTVVZPUks1Q1lJST0iPgorICAgIDwv
ZGl2PgorICAgIDxkaXYgY2xhc3M9ImNyaXNwLWVkZ2VzIj4KKyAgICAgICAgPGNhbnZhcyB3aWR0
aD0iMiIgaGVpZ2h0PSIyIj48L2NhbnZhcz4KKyAgICAgICAgPGltZyBzcmM9ImRhdGE6aW1hZ2Uv
cG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FB
QUFBWE5TUjBJQXJzNGM2UUFBQUVSbFdFbG1UVTBBS2dBQUFBZ0FBWWRwQUFRQUFBQUJBQUFBR2dB
QUFBQUFBNkFCQUFNQUFBQUJBQUVBQUtBQ0FBUUFBQUFCQUFBQUFxQURBQVFBQUFBQkFBQUFBZ0FB
QUFEdEdMeXFBQUFBRGtsRVFWUUlIV05nK0ErRXlBQUFIZlFCLzVCRUlHRUFBQUFBU1VWT1JLNUNZ
SUk9Ij4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJ0by1iZS1jcmlzcC1lZGdlcyI+Cisg
ICAgICAgIDxjYW52YXMgd2lkdGg9IjIiIGhlaWdodD0iMiI+PC9jYW52YXM+CisgICAgICAgIDxp
bWcgc3JjPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFJ
QUFBQUNDQVlBQUFCeXRnMGtBQUFBQVhOU1IwSUFyczRjNlFBQUFFUmxXRWxtVFUwQUtnQUFBQWdB
QVlkcEFBUUFBQUFCQUFBQUdnQUFBQUFBQTZBQkFBTUFBQUFCQUFFQUFLQUNBQVFBQUFBQkFBQUFB
cUFEQUFRQUFBQUJBQUFBQWdBQUFBRHRHTHlxQUFBQURrbEVRVlFJSFdOZytBK0V5QUFBSGZRQi81
QkVJR0VBQUFBQVNVVk9SSzVDWUlJPSI+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0iY3Jp
c3AtZWRnZXMgZGVsYXllZCI+CisgICAgICAgIDxjYW52YXMgd2lkdGg9IjIiIGhlaWdodD0iMiI+
PC9jYW52YXM+CisgICAgICAgIDxpbWcgc3JjPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3
MEtHZ29BQUFBTlNVaEVVZ0FBQUFJQUFBQUNDQVlBQUFCeXRnMGtBQUFBQVhOU1IwSUFyczRjNlFB
QUFFUmxXRWxtVFUwQUtnQUFBQWdBQVlkcEFBUUFBQUFCQUFBQUdnQUFBQUFBQTZBQkFBTUFBQUFC
QUFFQUFLQUNBQVFBQUFBQkFBQUFBcUFEQUFRQUFBQUJBQUFBQWdBQUFBRHRHTHlxQUFBQURrbEVR
VlFJSFdOZytBK0V5QUFBSGZRQi81QkVJR0VBQUFBQVNVVk9SSzVDWUlJPSI+CisgICAgPC9kaXY+
CisgICAgPGRpdj4KKyAgICAgICAgPGNhbnZhcyB3aWR0aD0iMiIgaGVpZ2h0PSIyIj48L2NhbnZh
cz4KKyAgICAgICAgPGltZyBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FB
QUFOU1VoRVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFBWE5TUjBJQXJzNGM2UUFBQUVSbFdF
bG1UVTBBS2dBQUFBZ0FBWWRwQUFRQUFBQUJBQUFBR2dBQUFBQUFBNkFCQUFNQUFBQUJBQUVBQUtB
Q0FBUUFBQUFCQUFBQUFxQURBQVFBQUFBQkFBQUFBZ0FBQUFEdEdMeXFBQUFBRGtsRVFWUUlIV05n
K0ErRXlBQUFIZlFCLzVCRUlHRUFBQUFBU1VWT1JLNUNZSUk9Ij4KKyAgICA8L2Rpdj4KKyAgICA8
ZGl2IGNsYXNzPSJ0by1iZS1jbGVhcmVkIHBpeGVsYXRlZCI+CisgICAgICAgIDxjYW52YXMgd2lk
dGg9IjIiIGhlaWdodD0iMiI+PC9jYW52YXM+CisgICAgICAgIDxpbWcgc3JjPSJkYXRhOmltYWdl
L3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFJQUFBQUNDQVlBQUFCeXRnMGtB
QUFBQVhOU1IwSUFyczRjNlFBQUFFUmxXRWxtVFUwQUtnQUFBQWdBQVlkcEFBUUFBQUFCQUFBQUdn
QUFBQUFBQTZBQkFBTUFBQUFCQUFFQUFLQUNBQVFBQUFBQkFBQUFBcUFEQUFRQUFBQUJBQUFBQWdB
QUFBRHRHTHlxQUFBQURrbEVRVlFJSFdOZytBK0V5QUFBSGZRQi81QkVJR0VBQUFBQVNVVk9SSzVD
WUlJPSI+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0idG8tYmUtY2xlYXJlZCBjcmlzcC1l
ZGdlcyI+CisgICAgICAgIDxjYW52YXMgd2lkdGg9IjIiIGhlaWdodD0iMiI+PC9jYW52YXM+Cisg
ICAgICAgIDxpbWcgc3JjPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNV
aEVVZ0FBQUFJQUFBQUNDQVlBQUFCeXRnMGtBQUFBQVhOU1IwSUFyczRjNlFBQUFFUmxXRWxtVFUw
QUtnQUFBQWdBQVlkcEFBUUFBQUFCQUFBQUdnQUFBQUFBQTZBQkFBTUFBQUFCQUFFQUFLQUNBQVFB
QUFBQkFBQUFBcUFEQUFRQUFBQUJBQUFBQWdBQUFBRHRHTHlxQUFBQURrbEVRVlFJSFdOZytBK0V5
QUFBSGZRQi81QkVJR0VBQUFBQVNVVk9SSzVDWUlJPSI+CisgICAgPC9kaXY+CisKKyAgICA8c2Ny
aXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICB3aW5kb3cudGVzdFJ1
bm5lci5kdW1wQXNUZXh0KHRydWUpOworICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7CisgICAgfQorICAgIGZ1bmN0aW9uIGNsZWFyKGUpIHsKKyAgICAgICAgY29uc3Qg
Z2wgPSBlLmdldENvbnRleHQoJ3dlYmdsJyk7CisgICAgICAgIGdsLmNsZWFyQ29sb3IoMCwgMSwg
MCwgMSk7CisgICAgICAgIGdsLmVuYWJsZShnbC5TQ0lTU09SX1RFU1QpOworICAgICAgICBnbC5z
Y2lzc29yKDAsIDEsIDEsIDEpOworICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklU
KTsKKyAgICB9CisgICAgWy4uLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2NhbnZhcycpXS5m
b3JFYWNoKChlKSA9PiB7CisgICAgICAgIGlmIChlLnBhcmVudE5vZGUuY2xhc3NOYW1lLmluY2x1
ZGVzKCJkZWxheWVkIikpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGNsZWFyKGUpOwor
ICAgIH0pOworCisgICAgWy4uLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy50by1iZS1jbGVh
cmVkJyldLmZvckVhY2goKGUpID0+IHsKKyAgICAgICAgZS5jbGFzc05hbWUgPSAiIgorICAgIH0p
OworICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICBbLi4u
ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnRvLWJlLXBpeGVsYXRlZCcpXS5mb3JFYWNoKChl
KSA9PiB7CisgICAgICAgICAgICBlLmNsYXNzTmFtZSA9ICJwaXhlbGF0ZWQiCisgICAgICAgIH0p
OworICAgICAgICBbLi4uZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnRvLWJlLWNyaXNwLWVk
Z2VzJyldLmZvckVhY2goKGUpID0+IHsKKyAgICAgICAgICAgIGUuY2xhc3NOYW1lID0gImNyaXNw
LWVkZ2VzIgorICAgICAgICB9KTsKKyAgICAgICAgWy4uLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JB
bGwoJ2Rpdi5kZWxheWVkID4gY2FudmFzJyldLmZvckVhY2goKGUpID0+IHsKKyAgICAgICAgICAg
IGNsZWFyKGUpOworICAgICAgICB9KTsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0pOworICAg
IDwvc2NyaXB0PgorPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437135</attachid>
            <date>2021-09-02 04:12:58 -0700</date>
            <delta_ts>2021-09-13 10:21:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193895-20210902141256.patch</filename>
            <type>text/plain</type>
            <size>26304</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxOTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTkxYWQ0NWU5N2ZkYzli
ZDcyMjg3NzI1MzA4OGEwOTk1YjgwODkyNC4uZDZiYjQ2ZTk4MWViZjQ3ZTM3YTQwNDllMDRlMmYx
YmU4YjI2NTc2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTA5LTAyICBLaW1t
byBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgaW1hZ2UtcmVuZGVy
aW5nOiBwaXhlbGF0ZWQgZG9lcyBub3Qgd29yayB3aXRoIFdlYkdMIChidXQgZG9lcyB3aXRoIENh
bnZhczJEKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTkzODk1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzY1NjA4Nj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQgaW1hZ2UtcmVuZGVy
aW5nOiBjcmlzcC1lZGdlcyBmb3IgV2ViR0wgY2FudmFzIGVsZW1lbnRzCisgICAgICAgIG5vcm1h
bCBvbi1zY3JlZW4gY29tcG9zaXRpbmcgY29kZSBwYXRoIG9uIENvY29hIGJ5IHVzaW5nIENBIGxh
eWVyIGZpbHRlcmluZworICAgICAgICBwcm9wZXJ0aWVzLgorCisgICAgICAgIFNpbWlsYXIgdG8g
bm9uLWNvbXBvc2l0aW5nIGNvZGUgcGF0aCwgYXBwcm94aW1hdGUgaW1hZ2UtcmVuZGVyaW5nOiBw
aXhlbGF0ZWQKKyAgICAgICAgYnkgbWFraW5nIGl0IGFuIGFsaWFzIG9mIGNyaXNwLWVkZ2VzLgor
CisgICAgICAgIFRlc3Q6IHdlYmdsL3dlYmdsLWltYWdlLXJlbmRlcmluZy5odG1sCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmg6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0xheWVyOjpzZXRDb250ZW50c01pbmlmaWNhdGlvbkZpbHRlcik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpjb250ZW50c01pbmlmaWNhdGlvbkZpbHRlciBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpzZXRDb250ZW50c01hZ25pZmlj
YXRpb25GaWx0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6Y29udGVudHNN
YWduaWZpY2F0aW9uRmlsdGVyIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
YS9HcmFwaGljc0xheWVyQ0EuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9QbGF0Zm9ybUNBTGF5
ZXJGaWx0ZXJUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6c2V0Q29u
dGVudHNNaW5pZmljYXRpb25GaWx0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXll
ckNBOjpzZXRDb250ZW50c01hZ25pZmljYXRpb25GaWx0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NMYXllckNBOjpjb21taXRMYXllckNoYW5nZXNCZWZvcmVTdWJsYXllcnMpOgorICAg
ICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNBOjp1cGRhdGVDb250ZW50c1NjYWxpbmdGaWx0
ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6dXBkYXRlQ29udGVudHNQ
bGF0Zm9ybUxheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6bGF5ZXJD
aGFuZ2VBc1N0cmluZyk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NM
YXllckNBLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckhUTUxDYW52YXMuaDoKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyQmFja2luZzo6Y3JlYXRlUHJpbWFyeUdyYXBoaWNzTGF5ZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVDb250ZW50c1NjYWxpbmdGaWx0
ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlQ29uZmln
dXJhdGlvbkFmdGVyU3R5bGVDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJC
YWNraW5nOjp1cGRhdGVHZW9tZXRyeSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJh
Y2tpbmc6OnBhaW50SW50b0xheWVyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJC
YWNraW5nLmg6CisKIDIwMjEtMDktMDEgIEtpbW1vIEtpbm51bmVuICA8a2tpbm51bmVuQGFwcGxl
LmNvbT4KIAogICAgICAgICBJbWFnZVJlbmRlcmluZ01vZGUuaCBpcyBub3QgdXNlZApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCmluZGV4IGVj
N2I0NDc0OGFmYmY1OWM5NmM0YmEwZjUzY2FiYzdlYzA1ZGJkMDEuLjIxOWY3NTMwY2RiYzE0MTQ5
MTczMDllYjEzNjc4YTExOTZlYTM4Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKQEAgLTU0MCw2ICs1NDAsMTIgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCBzZXRDb250ZW50c09yaWVudGF0aW9uKENvbXBvc2l0aW5nQ29vcmRp
bmF0ZXNPcmllbnRhdGlvbiBvcmllbnRhdGlvbikgeyBtX2NvbnRlbnRzT3JpZW50YXRpb24gPSBv
cmllbnRhdGlvbjsgfQogICAgIENvbXBvc2l0aW5nQ29vcmRpbmF0ZXNPcmllbnRhdGlvbiBjb250
ZW50c09yaWVudGF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50c09yaWVudGF0aW9uOyB9
CiAKKyAgICBlbnVtIGNsYXNzIFNjYWxpbmdGaWx0ZXIgeyBMaW5lYXIsIE5lYXJlc3QsIFRyaWxp
bmVhciB9OworICAgIHZpcnR1YWwgdm9pZCBzZXRDb250ZW50c01pbmlmaWNhdGlvbkZpbHRlcihT
Y2FsaW5nRmlsdGVyIGZpbHRlcikgeyBtX2NvbnRlbnRzTWluaWZpY2F0aW9uRmlsdGVyID0gZmls
dGVyOyB9CisgICAgU2NhbGluZ0ZpbHRlciBjb250ZW50c01pbmlmaWNhdGlvbkZpbHRlcigpIGNv
bnN0IHsgcmV0dXJuIG1fY29udGVudHNNaW5pZmljYXRpb25GaWx0ZXI7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgc2V0Q29udGVudHNNYWduaWZpY2F0aW9uRmlsdGVyKFNjYWxpbmdGaWx0ZXIgZmlsdGVy
KSB7IG1fY29udGVudHNNYWduaWZpY2F0aW9uRmlsdGVyID0gZmlsdGVyOyB9CisgICAgU2NhbGlu
Z0ZpbHRlciBjb250ZW50c01hZ25pZmljYXRpb25GaWx0ZXIoKSBjb25zdCB7IHJldHVybiBtX2Nv
bnRlbnRzTWFnbmlmaWNhdGlvbkZpbHRlcjsgfQorCiAgICAgdm9pZCBkdW1wTGF5ZXIoV1RGOjpU
ZXh0U3RyZWFtJiwgT3B0aW9uU2V0PExheWVyVHJlZUFzVGV4dE9wdGlvbnM+ID0geyB9KSBjb25z
dDsKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRTaG93RGVidWdCb3JkZXIoYm9vbCBzaG93KSB7IG1f
c2hvd0RlYnVnQm9yZGVyID0gc2hvdzsgfQpAQCAtNzY5LDYgKzc3NSw4IEBAIHByb3RlY3RlZDoK
ICAgICBGbG9hdFJvdW5kZWRSZWN0IG1fbWFza3NUb0JvdW5kc1JlY3Q7CiAgICAgRmxvYXRTaXpl
IG1fY29udGVudHNUaWxlUGhhc2U7CiAgICAgRmxvYXRTaXplIG1fY29udGVudHNUaWxlU2l6ZTsK
KyAgICBTY2FsaW5nRmlsdGVyIG1fY29udGVudHNNaW5pZmljYXRpb25GaWx0ZXIgPSBTY2FsaW5n
RmlsdGVyOjpMaW5lYXI7CisgICAgU2NhbGluZ0ZpbHRlciBtX2NvbnRlbnRzTWFnbmlmaWNhdGlv
bkZpbHRlciA9IFNjYWxpbmdGaWx0ZXI6OkxpbmVhcjsKICAgICBGbG9hdFJvdW5kZWRSZWN0IG1f
YmFja2Ryb3BGaWx0ZXJzUmVjdDsKICAgICBzdGQ6Om9wdGlvbmFsPEZsb2F0UmVjdD4gbV9hbmlt
YXRpb25FeHRlbnQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCmluZGV4IDY3OTMyYWViN2U0N2ZjNmYyZDM5OTNi
ZjUzNWIwOWE5YWI4YTNkYjkuLjYxYmI1ZmNkYTg5NDAyZmFhMmNjNTdjYzU5YWY5OGQyNzUwN2Zj
M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBo
aWNzTGF5ZXJDQS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Ev
R3JhcGhpY3NMYXllckNBLmNwcApAQCAtMzAyLDYgKzMwMiwyMCBAQCBzdGF0aWMgaW5saW5lIGJv
b2wgc3VwcG9ydHNBY2NlbGVyYXRlZEZpbHRlckFuaW1hdGlvbnMoKQogI2VuZGlmCiB9CiAKK3N0
YXRpYyBQbGF0Zm9ybUNBTGF5ZXI6OkZpbHRlclR5cGUgdG9QbGF0Zm9ybUNBTGF5ZXJGaWx0ZXJU
eXBlKEdyYXBoaWNzTGF5ZXI6OlNjYWxpbmdGaWx0ZXIgZmlsdGVyKQoreworICAgIHN3aXRjaCAo
ZmlsdGVyKSB7CisgICAgY2FzZSBHcmFwaGljc0xheWVyOjpTY2FsaW5nRmlsdGVyOjpMaW5lYXI6
CisgICAgICAgIHJldHVybiBQbGF0Zm9ybUNBTGF5ZXI6OkxpbmVhcjsKKyAgICBjYXNlIEdyYXBo
aWNzTGF5ZXI6OlNjYWxpbmdGaWx0ZXI6Ok5lYXJlc3Q6CisgICAgICAgIHJldHVybiBQbGF0Zm9y
bUNBTGF5ZXI6Ok5lYXJlc3Q7CisgICAgY2FzZSBHcmFwaGljc0xheWVyOjpTY2FsaW5nRmlsdGVy
OjpUcmlsaW5lYXI6CisgICAgICAgIHJldHVybiBQbGF0Zm9ybUNBTGF5ZXI6OlRyaWxpbmVhcjsK
KyAgICB9CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIFBsYXRmb3JtQ0FM
YXllcjo6TGluZWFyOworfQorCiBib29sIEdyYXBoaWNzTGF5ZXI6OnN1cHBvcnRzTGF5ZXJUeXBl
KFR5cGUgdHlwZSkKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKQEAgLTEzNDEsNiArMTM1NSwyMiBA
QCBQbGF0Zm9ybUxheWVyKiBHcmFwaGljc0xheWVyQ0E6OmNvbnRlbnRzTGF5ZXJGb3JNZWRpYSgp
IGNvbnN0CiB9CiAjZW5kaWYKIAordm9pZCBHcmFwaGljc0xheWVyQ0E6OnNldENvbnRlbnRzTWlu
aWZpY2F0aW9uRmlsdGVyKFNjYWxpbmdGaWx0ZXIgZmlsdGVyKQoreworICAgIGlmIChmaWx0ZXIg
PT0gbV9jb250ZW50c01pbmlmaWNhdGlvbkZpbHRlcikKKyAgICAgICAgcmV0dXJuOworICAgIEdy
YXBoaWNzTGF5ZXI6OnNldENvbnRlbnRzTWluaWZpY2F0aW9uRmlsdGVyKGZpbHRlcik7CisgICAg
bm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkKENvbnRlbnRzU2NhbGluZ0ZpbHRlcnNDaGFuZ2VkKTsK
K30KKwordm9pZCBHcmFwaGljc0xheWVyQ0E6OnNldENvbnRlbnRzTWFnbmlmaWNhdGlvbkZpbHRl
cihTY2FsaW5nRmlsdGVyIGZpbHRlcikKK3sKKyAgICBpZiAoZmlsdGVyID09IG1fY29udGVudHNN
YWduaWZpY2F0aW9uRmlsdGVyKQorICAgICAgICByZXR1cm47CisgICAgR3JhcGhpY3NMYXllcjo6
c2V0Q29udGVudHNNYWduaWZpY2F0aW9uRmlsdGVyKGZpbHRlcik7CisgICAgbm90ZUxheWVyUHJv
cGVydHlDaGFuZ2VkKENvbnRlbnRzU2NhbGluZ0ZpbHRlcnNDaGFuZ2VkKTsKK30KKwogdm9pZCBH
cmFwaGljc0xheWVyQ0E6OmxheWVyRGlkRGlzcGxheShQbGF0Zm9ybUNBTGF5ZXIqIGxheWVyKQog
ewogICAgIGlmICghbV9sYXllckNsb25lcykKQEAgLTIwMjUsNiArMjA1NSw4IEBAIHZvaWQgR3Jh
cGhpY3NMYXllckNBOjpjb21taXRMYXllckNoYW5nZXNCZWZvcmVTdWJsYXllcnMoQ29tbWl0U3Rh
dGUmIGNvbW1pdFN0YXRlCiAgICAgICAgIHVwZGF0ZUlzRGVzY2VuZGVudE9mU2VwYXJhdGVkUG9y
dGFsKCk7CiAjZW5kaWYKICNlbmRpZgorICAgIGlmIChtX3VuY29tbWl0dGVkQ2hhbmdlcyAmIENv
bnRlbnRzU2NhbGluZ0ZpbHRlcnNDaGFuZ2VkKQorICAgICAgICB1cGRhdGVDb250ZW50c1NjYWxp
bmdGaWx0ZXJzKCk7CiAKICAgICBpZiAobV91bmNvbW1pdHRlZENoYW5nZXMgJiBDaGlsZHJlbkNo
YW5nZWQpIHsKICAgICAgICAgdXBkYXRlU3VibGF5ZXJMaXN0KCk7CkBAIC0yNDg1LDYgKzI1MTcs
MTQgQEAgdm9pZCBHcmFwaGljc0xheWVyQ0E6OnVwZGF0ZUlzRGVzY2VuZGVudE9mU2VwYXJhdGVk
UG9ydGFsKCkKICNlbmRpZgogI2VuZGlmCiAKK3ZvaWQgR3JhcGhpY3NMYXllckNBOjp1cGRhdGVD
b250ZW50c1NjYWxpbmdGaWx0ZXJzKCkKK3sKKyAgICBpZiAoIW1fY29udGVudHNMYXllcikKKyAg
ICAgICAgcmV0dXJuOworICAgIG1fY29udGVudHNMYXllci0+c2V0TWluaWZpY2F0aW9uRmlsdGVy
KHRvUGxhdGZvcm1DQUxheWVyRmlsdGVyVHlwZShtX2NvbnRlbnRzTWluaWZpY2F0aW9uRmlsdGVy
KSk7CisgICAgbV9jb250ZW50c0xheWVyLT5zZXRNYWduaWZpY2F0aW9uRmlsdGVyKHRvUGxhdGZv
cm1DQUxheWVyRmlsdGVyVHlwZShtX2NvbnRlbnRzTWFnbmlmaWNhdGlvbkZpbHRlcikpOworfQor
CiBib29sIEdyYXBoaWNzTGF5ZXJDQTo6dXBkYXRlU3RydWN0dXJhbExheWVyKCkKIHsKICAgICBy
ZXR1cm4gZW5zdXJlU3RydWN0dXJhbExheWVyKHN0cnVjdHVyYWxMYXllclB1cnBvc2UoKSk7CkBA
IC0yNzU4LDYgKzI3OTgsNyBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6dXBkYXRlQ29udGVudHNQ
bGF0Zm9ybUxheWVyKCkKICAgICAgICAgbV9jb250ZW50c0xheWVyLT5zZXROZWVkc0Rpc3BsYXko
KTsKIAogICAgIHVwZGF0ZUNvbnRlbnRzUmVjdHMoKTsKKyAgICB1cGRhdGVDb250ZW50c1NjYWxp
bmdGaWx0ZXJzKCk7CiB9CiAKIHZvaWQgR3JhcGhpY3NMYXllckNBOjp1cGRhdGVDb250ZW50c0Nv
bG9yTGF5ZXIoKQpAQCAtNDE4Niw2ICs0MjI3LDcgQEAgY29uc3QgY2hhciogR3JhcGhpY3NMYXll
ckNBOjpsYXllckNoYW5nZUFzU3RyaW5nKExheWVyQ2hhbmdlIGxheWVyQ2hhbmdlKQogICAgIGNh
c2UgTGF5ZXJDaGFuZ2U6OkRlc2NlbmRlbnRPZlNlcGFyYXRlZFBvcnRhbENoYW5nZWQ6IHJldHVy
biAiRGVzY2VuZGVudE9mU2VwYXJhdGVkUG9ydGFsQ2hhbmdlZCI7CiAjZW5kaWYKICNlbmRpZgor
ICAgIGNhc2UgTGF5ZXJDaGFuZ2U6OkNvbnRlbnRzU2NhbGluZ0ZpbHRlcnNDaGFuZ2VkOiByZXR1
cm4gIkNvbnRlbnRzU2NhbGluZ0ZpbHRlcnNDaGFuZ2VkIjsKICAgICB9CiAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuICIiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaAppbmRleCA0YmNmNDU0MmNhNzdl
MWY0MmVlMWE5OTBiOTI5ZWMxMzZlNjcyMTE2Li45ZDQ0ZjZhYjM4MGM4ODY2NjM0ZjNiZjc0MDll
ZWM3ZjM5YjQ4ZDg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jYS9HcmFwaGljc0xheWVyQ0EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaApAQCAtMTU1LDYgKzE1NSw4IEBAIHB1YmxpYzoKICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldENvbnRlbnRzVG9Nb2RlbChSZWZQdHI8TW9kZWw+JiYp
IG92ZXJyaWRlOwogICAgIFdFQkNPUkVfRVhQT1JUIFBsYXRmb3JtTGF5ZXJJRCBjb250ZW50c0xh
eWVySURGb3JNb2RlbCgpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlmCisgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBzZXRDb250ZW50c01pbmlmaWNhdGlvbkZpbHRlcihTY2FsaW5nRmlsdGVyKSBvdmVy
cmlkZTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldENvbnRlbnRzTWFnbmlmaWNhdGlvbkZp
bHRlcihTY2FsaW5nRmlsdGVyKSBvdmVycmlkZTsKIAogICAgIGJvb2wgdXNlc0NvbnRlbnRzTGF5
ZXIoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX2NvbnRlbnRzTGF5ZXJQdXJwb3NlICE9IENv
bnRlbnRzTGF5ZXJQdXJwb3NlOjpOb25lOyB9CiAgICAgCkBAIC00NjMsNiArNDY1LDcgQEAgcHJp
dmF0ZToKICAgICB2b2lkIHVwZGF0ZUlzRGVzY2VuZGVudE9mU2VwYXJhdGVkUG9ydGFsKCk7CiAj
ZW5kaWYKICNlbmRpZgorICAgIHZvaWQgdXBkYXRlQ29udGVudHNTY2FsaW5nRmlsdGVycygpOwog
CiAgICAgZW51bSBTdHJ1Y3R1cmFsTGF5ZXJQdXJwb3NlIHsKICAgICAgICAgTm9TdHJ1Y3R1cmFs
TGF5ZXIgPSAwLApAQCAtNTc4LDYgKzU4MSw3IEBAIHByaXZhdGU6CiAgICAgICAgIERlc2NlbmRl
bnRPZlNlcGFyYXRlZFBvcnRhbENoYW5nZWQgICAgICA9IDFMTFUgPDwgNDMsCiAjZW5kaWYKICNl
bmRpZgorICAgICAgICBDb250ZW50c1NjYWxpbmdGaWx0ZXJzQ2hhbmdlZCAgICAgICAgICAgPSAx
TExVIDw8IDQ0LAogICAgIH07CiAgICAgdHlwZWRlZiB1aW50NjRfdCBMYXllckNoYW5nZUZsYWdz
OwogICAgIHN0YXRpYyBjb25zdCBjaGFyKiBsYXllckNoYW5nZUFzU3RyaW5nKExheWVyQ2hhbmdl
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAK
aW5kZXggZDdlMTI5ODE2M2Y0MDFlMTViNDJkNTIzMzdiMmEyYzAwNGUyZDY0Yi4uZDQ0Zjc4ZTdl
ZjZiOThmMTI2YjBkODg0YzFkZTk2NzkzYmJkNTliNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTU0MCwxNyArNTQwLDE4IEBAIHZv
aWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpjcmVhdGVQcmltYXJ5R3JhcGhpY3NMYXllcigpCiAgICAg
ICAgICAgICBtX2dyYXBoaWNzTGF5ZXItPnNldEFjY2VsZXJhdGVzRHJhd2luZyh0cnVlKTsKICAg
ICB9CiAjZW5kaWYgICAgCi0gICAgCi0gICAgdXBkYXRlT3BhY2l0eShyZW5kZXJlcigpLnN0eWxl
KCkpOwotICAgIHVwZGF0ZVRyYW5zZm9ybShyZW5kZXJlcigpLnN0eWxlKCkpOwotICAgIHVwZGF0
ZUZpbHRlcnMocmVuZGVyZXIoKS5zdHlsZSgpKTsKKyAgICBhdXRvJiBzdHlsZSA9IHJlbmRlcmVy
KCkuc3R5bGUoKTsKKyAgICB1cGRhdGVPcGFjaXR5KHN0eWxlKTsKKyAgICB1cGRhdGVUcmFuc2Zv
cm0oc3R5bGUpOworICAgIHVwZGF0ZUZpbHRlcnMoc3R5bGUpOwogI2lmIEVOQUJMRShGSUxURVJT
X0xFVkVMXzIpCi0gICAgdXBkYXRlQmFja2Ryb3BGaWx0ZXJzKHJlbmRlcmVyKCkuc3R5bGUoKSk7
CisgICAgdXBkYXRlQmFja2Ryb3BGaWx0ZXJzKHN0eWxlKTsKICNlbmRpZgogI2lmIEVOQUJMRShD
U1NfQ09NUE9TSVRJTkcpCi0gICAgdXBkYXRlQmxlbmRNb2RlKHJlbmRlcmVyKCkuc3R5bGUoKSk7
CisgICAgdXBkYXRlQmxlbmRNb2RlKHN0eWxlKTsKICNlbmRpZgotICAgIHVwZGF0ZUN1c3RvbUFw
cGVhcmFuY2UocmVuZGVyZXIoKS5zdHlsZSgpKTsKKyAgICB1cGRhdGVDdXN0b21BcHBlYXJhbmNl
KHN0eWxlKTsKKyAgICB1cGRhdGVDb250ZW50c1NjYWxpbmdGaWx0ZXJzKHN0eWxlKTsKIH0KIAog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC03NzksNiArNzgwLDI2IEBAIHZvaWQgUmVuZGVy
TGF5ZXJCYWNraW5nOjp1cGRhdGVDdXN0b21BcHBlYXJhbmNlKGNvbnN0IFJlbmRlclN0eWxlJiBz
dHlsZSkKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXRDdXN0b21BcHBlYXJhbmNlKEdyYXBo
aWNzTGF5ZXI6OkN1c3RvbUFwcGVhcmFuY2U6Ok5vbmUpOwogfQogCit2b2lkIFJlbmRlckxheWVy
QmFja2luZzo6dXBkYXRlQ29udGVudHNTY2FsaW5nRmlsdGVycyhjb25zdCBSZW5kZXJTdHlsZSYg
c3R5bGUpCit7CisgICAgaWYgKCFyZW5kZXJlcigpLmlzQ2FudmFzKCkgfHwgY2FudmFzQ29tcG9z
aXRpbmdTdHJhdGVneShyZW5kZXJlcigpKSAhPSBDYW52YXNBc0xheWVyQ29udGVudHMpCisgICAg
ICAgIHJldHVybjsKKyAgICBhdXRvIG1pbmlmaWNhdGlvbkZpbHRlciA9IEdyYXBoaWNzTGF5ZXI6
OlNjYWxpbmdGaWx0ZXI6OkxpbmVhcjsKKyAgICBhdXRvIG1hZ25pZmljYXRpb25GaWx0ZXIgPSBH
cmFwaGljc0xheWVyOjpTY2FsaW5nRmlsdGVyOjpMaW5lYXI7CisgICAgc3dpdGNoIChzdHlsZS5p
bWFnZVJlbmRlcmluZygpKSB7CisgICAgY2FzZSBJbWFnZVJlbmRlcmluZzo6Q3Jpc3BFZGdlczoK
KyAgICBjYXNlIEltYWdlUmVuZGVyaW5nOjpQaXhlbGF0ZWQ6CisgICAgICAgIC8vIEZJWE1FOiBJ
biBvcmRlciB0byBtYXRjaCBvdGhlciBjb2RlLXBhdGhzLCB3ZSB0cmVhdCB0aGVzZSB0aGUgc2Ft
ZS4KKyAgICAgICAgbWluaWZpY2F0aW9uRmlsdGVyID0gR3JhcGhpY3NMYXllcjo6U2NhbGluZ0Zp
bHRlcjo6TmVhcmVzdDsKKyAgICAgICAgbWFnbmlmaWNhdGlvbkZpbHRlciA9IEdyYXBoaWNzTGF5
ZXI6OlNjYWxpbmdGaWx0ZXI6Ok5lYXJlc3Q7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6
CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBtX2dyYXBoaWNzTGF5ZXItPnNldENvbnRlbnRz
TWluaWZpY2F0aW9uRmlsdGVyKG1pbmlmaWNhdGlvbkZpbHRlcik7CisgICAgbV9ncmFwaGljc0xh
eWVyLT5zZXRDb250ZW50c01hZ25pZmljYXRpb25GaWx0ZXIobWFnbmlmaWNhdGlvbkZpbHRlcik7
Cit9CisKIHN0YXRpYyBib29sIGxheWVyT3JBbmNlc3RvcklzVHJhbnNmb3JtZWRPclVzaW5nQ29t
cG9zaXRlZFNjcm9sbGluZyhSZW5kZXJMYXllciYgbGF5ZXIpCiB7CiAgICAgZm9yIChhdXRvKiBj
dXJyID0gJmxheWVyOyBjdXJyOyBjdXJyID0gY3Vyci0+cGFyZW50KCkpIHsKQEAgLTk1OSw2ICs5
ODAsNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlQ29uZmlndXJhdGlvbkFmdGVy
U3R5bGVDaGFuZ2UoKQogICAgIHVwZGF0ZUJsZW5kTW9kZShzdHlsZSk7CiAjZW5kaWYKICAgICB1
cGRhdGVDdXN0b21BcHBlYXJhbmNlKHN0eWxlKTsKKyAgICB1cGRhdGVDb250ZW50c1NjYWxpbmdG
aWx0ZXJzKHN0eWxlKTsKIH0KIAogYm9vbCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUNvbmZp
Z3VyYXRpb24oY29uc3QgUmVuZGVyTGF5ZXIqIGNvbXBvc2l0aW5nQW5jZXN0b3IpCkBAIC0xMjg0
LDYgKzEzMDYsNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR2VvbWV0cnkoY29u
c3QgUmVuZGVyTGF5ZXIqIGNvbXBvc2l0ZWRBbmNlc3RvcikKICNpZiBFTkFCTEUoQ1NTX0NPTVBP
U0lUSU5HKQogICAgIHVwZGF0ZUJsZW5kTW9kZShzdHlsZSk7CiAjZW5kaWYKKyAgICB1cGRhdGVD
b250ZW50c1NjYWxpbmdGaWx0ZXJzKHN0eWxlKTsKIAogICAgIEFTU0VSVChjb21wb3NpdGVkQW5j
ZXN0b3IgPT0gbV9vd25pbmdMYXllci5hbmNlc3RvckNvbXBvc2l0aW5nTGF5ZXIoKSk7CiAgICAg
TGF5b3V0UmVjdCBwYXJlbnRHcmFwaGljc0xheWVyUmVjdCA9IGNvbXB1dGVQYXJlbnRHcmFwaGlj
c0xheWVyUmVjdChjb21wb3NpdGVkQW5jZXN0b3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQmFja2luZy5oCmluZGV4IGEyMGQzMjQ1ZTQxOTFkOTE0YWYzMWI4ZjNm
ZTI2YzFkYmE2NmQzMDguLjg1ODdkNjE0MGVhMWQxNTMwZDdlZDNmZDU2YjI3ZDlhZTg2NTJjNjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmgKQEAg
LTM1NSw2ICszNTUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgdXBkYXRlQmxlbmRNb2RlKGNvbnN0
IFJlbmRlclN0eWxlJik7CiAjZW5kaWYKICAgICB2b2lkIHVwZGF0ZUN1c3RvbUFwcGVhcmFuY2Uo
Y29uc3QgUmVuZGVyU3R5bGUmKTsKKyAgICB2b2lkIHVwZGF0ZUNvbnRlbnRzU2NhbGluZ0ZpbHRl
cnMoY29uc3QgUmVuZGVyU3R5bGUmKTsKIAogICAgIC8vIFJldHVybiB0aGUgb3BhY2l0eSB2YWx1
ZSB0aGF0IHRoaXMgbGF5ZXIgc2hvdWxkIHVzZSBmb3IgY29tcG9zaXRpbmcuCiAgICAgZmxvYXQg
Y29tcG9zaXRpbmdPcGFjaXR5KGZsb2F0IHJlbmRlcmVyT3BhY2l0eSkgY29uc3Q7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
MTM3ZTA4MTA5YTQyYzhkMmM2ZmQxMWUxMWEyNDcyMjkwMDc4NzY3Zi4uN2UxMzhmNzg4YmI1ZGEy
NjAzM2E1MGI2MzNhNzBmM2RmZGMwZTBlMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA5
LTAyICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CisKKyAgICAgICAgaW1h
Z2UtcmVuZGVyaW5nOiBwaXhlbGF0ZWQgZG9lcyBub3Qgd29yayB3aXRoIFdlYkdMIChidXQgZG9l
cyB3aXRoIENhbnZhczJEKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTkzODk1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NzY1NjA4Nj4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSB0ZXN0IGNv
bXBhcmluZyB1cHNjYWxpbmcgb2YgV2ViR0wgY2FudmFzIGVsZW1lbnQgYW5kIGFuIGltYWdlIGVs
ZW1lbnQKKyAgICAgICAgd2l0aCB0aGUgc2FtZSBjb250ZW50cyB3aGVuIHVzaW5nIGltYWdlLXJl
bmRlcmluZzogcHJvcGVydGllcy4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy93ZWJnbC93ZWJn
bC1pbWFnZS1yZW5kZXJpbmctZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJnbC93
ZWJnbC1pbWFnZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJn
bC93ZWJnbC1pbWFnZS1yZW5kZXJpbmcuaHRtbDogQWRkZWQuCisKIDIwMjEtMDktMDIgIFJvYiBC
dWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBBYnNvbHV0ZWx5IHBvc2l0aW9uZWQg
YW5kIG5lZ2F0aXZlIHotaW5kZXggZGl2IHdpdGggY2FudmFzIGNoaWxkIGdldHMgZHJhd24gd2l0
aCB3cm9uZyBzdGFja2luZyBvcmRlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL3dlYmdsL3dlYmdsLWltYWdlLXJlbmRlcmluZy1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvd2ViZ2wvd2ViZ2wtaW1hZ2UtcmVuZGVyaW5nLWV4cGVjdGVkLnBuZwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kYTJmYzRhZmUxNzUxNzI0ZGQ5YjNlYjIwMzQxMDk0MDkzZDJiMmY3CkdJVCBi
aW5hcnkgcGF0Y2gKbGl0ZXJhbCAxNDQ0OQp6Y21lSE9jVHwodndvZjhMbHd5TDJBfDtfWFNaS21Y
NlhfVG5NXlBDQ3I4aXJNYVhecm9BX14kZClVZ1oqRDJ8e34KemZ8XmpJR1lYMFZEaVZxYDBueU9J
UCgjUSZJRzIzaWRoNCF4PWJ0ekN1SnYlT0VKRkNRJikmYmkmKSZiaSYrKzJFCnp5IyZkWD5zS05X
MiszV3gpJn4lWFdxMVN2PCVrdnFwWnBxbD9sa3paPjVQcno4TCM2JFVQUylANTwqWV5kdkNxMQp6
YFpgRFRebVYqRndyPjRpWFJGQFU/flJOK2U3NVF6XzRMeTFtTHl3JkZDcU84NUcpWm5icVpnPkZW
O1NleU4+U0oKemdWK3EtcVk9b2M2OXwhb041RUA2YyE0JDNrY2VnQUN2eEdsR31QaT5tKkxadkV4
dCFORTw5THlsNmVoKkZ1MT9WCnorVHkxbTxXUEhzVXlyYCpAX29pVktUZkh2bmJPQCZ5K2tGSWUh
UitkJHdnUzVLaDh2NnZRZDF2OEx7Rl5xVHdIdwp6MkdfMStPaX1abkAxIUErQz1vT1VaJSN3ZD9O
LWk+UHpBaSsqUj8wOCZQc21ncCs2eH17dnNqP01tWjBxN2FzaWMKejh3P2RaRWkyOD9kaHZJMlRE
YnhlPV5nano7WG1YcEplR3c8PEZ7Oy0hYWBydUEoJGc+XipyMXhUbyNHaWY8bzEtCnp5a3JJWStH
fWkzJDdiR0I2VmplciNgQzJMMTYyRDtGVjRgUjxWQjZUZFFtQn48VCs2JUM3fkYpPkl5V1RQJFp2
bwp6VmV1aGFgT0Q9WjMwRkphWWdMNnhwSEBSNmR1YDhGRn4zPi0/YVBMUkc9dntsLVp2T3BLVFp1
I1F9fXdTS3owIXQKekJ1YWZQIyhYYSZMTmd3Y28oTGRPWklAKFEzSzBObXA9d0B8OEdWcXdoRjVe
fWQoWE8ke0U2fHhpcGtGQTIle05FCnptSSktQ0FkTkFQSjdlSDE0dy1YUjlGMTJtdEdHXnBxfXV9
TmlObGRaV3lsO3FVezA/PUdaJkpzdW5TMGsqTTM/UAp6R0gwKEFlaERsTHtgNVpzdDFFY0d2Klg1
OF9ORzxhPlUhPislNn40NWEwJUhfNXBTSkxLTHwoa0EwVkRlVzNpQ20KekxffnA/QX1vR14wP2Em
MzgmQ1UjYlF5ey15cEUkZUxRZGtMZzN6fX1SNSVpT2tMKDU4VkR0KiRUbGFsXmtSTEgkCnpmYXF7
fVJvTDxwdktWdkdofE4kJCg5R1M7NW50UVpLPj1heiZZJlQ1KlpwSiEoe1VEc3ZoOTM8aEFrZmY/
NUllNAp6MXd8Pm8wZmhJZ3shWkJQPm9vOCozREpYYiFneG99T0tGSUFgQ0ZsSXI8Sj1Ta3hMTiQt
I3wzXzVqVlN5eU87dXQKej9YcyFGcE94fTItTGV6cmdFVnZ5PlZVPXtGclZFN0tLb0poUHp1YXZB
VzYlSj98PzxhY09hfjsodGxBRzxgREJWCnprZldibExXdkRRZStoIW8rcjRpRTZ2UGByNENPVnoh
cmM4YWglLTZJVjNfMWZHe2xsUmY4ejA5aGZld1VBXnVjZgp6SVBzTkw/MDhVUzghMW5pUnc5PDBB
ZVhXZUVWN3BwX31eTE1PczFrSnVfbF4hUFdKY1glQ3R4OTJSZUA9UzcmPkUKelVNKnlkOHYpZkBO
QDBKZF5yWnk8dWp8Y2RAaipkJmFPYmJ3ZUxXXmhvSW9keU1iWlA5aXJvQC1UQjRXMnZpQ1BMCnpA
T3U2b0gmd2daX2Y2THheby1RPDhmV3VtYCt0NlBiNEk5LSRSKFFrNSkxb0IocUgxSnxDKyZAa1V2
bn1JYFokRQp6RyNiVzc2fThMbVVoRH5VOUxyWlBiI19iNT9fJH5lbzk2QE57P3NxKm4pbHFOK2s4
MEZKZ3pCb0tLcHNfJElWQWcKejd4aDhWUmt+SXpISWpkfT5gUUktelpwVypKNTYqaGpwbWp7Yk5f
QUElY2FyV1ZpJmZRIXYwTVBgd01mX3JQMTZzCnp2YiVKKV41MXMwMComVCE7PkAoYFlwMWt9T0Vv
KTdNfjZvUURkR01YOWRnU1E9Tj1OOExKenc+PH5geCglfXB9fAp6TWE3aDZzIzZETHhQUWpxT3Ix
STI3QlYhJDRMYEQmRXw5M3VsfGlWLTg3elAzPXFjemxJS3IkREFUJn5pSnhfVEcKejNSUlFSVDQl
R14pfGh1eWZEPGIqITdAZXxUb2Y3fmRVRT8oaCtCJCpMb0I3YVJwbmdoOzlfdFNvO0xWayRRa09o
CnptQjh0MUBUZUswN1RVUnQzPnhBO3R5RVZxa3paZj9gUCFvbXBaRjY0WDBAe2VAcUh9emAqJjJB
NV98LXRKXkpHdwp6Y1JpT2R3XkhpWVBieSh5UFFtPU1ue3YlPW17RXNxbDUmbG9UOT9JWFZoPyhq
I2M5WTlLNnd0ei1fWXR2ZzIyRzYKeitrRTs0TGkoKyQ8KnVoQ3F1NlNfXlZaRDt2WCZ+UnQ9R05t
IVZZQihgMkA9eUQ5UnE2OyFaXnNROGxVSSZFeUY4CnpufmlPK3gzVC0qTFU0XylwKzZIemtpZ0FJ
c0hLS0A7fiFLSjZmSFIhTiYoY3woWGxuaE0+YXF3T1lTcE02X3FjVgp6PTk4dmt6cGt5cSVDSmgk
ZUdwQlFQJGJEU3h5O0ZsTjMkenpDJCtVfGdkUE5NaFFESnRBdWM4KVRCen5sT3p5dFAKenorO1Uk
bCkrPFBHSTtAcm15fTI7SCRxV2M9aGZCRmMoYENRVj5qWiZ2ZyVkYDFfJEZldzhhcy1Re31YYHlv
YylLCnopSm1NJGIpMThSKzRrbzcmKnwtKnZ5ISZ3XkZxV1VMUk1GdmxuaEBDQnppaEpZKTxCeC0k
QipWYXxnfTdmXnslMgp6R243Y3YoUD55NVlhanpCWFdGV2MzbCZYVnZwRVdPKCQ8Vj0pfSZjOEdP
R3lmeCF+bXt1N292aE1aNlBEak5LO3gKejlSeHR2VWVxX0pUNlJ2P1AqfWtsbFheam9kPGk4dik1
azkyeFM0Pmc/WUUzSVZiJnxzemFySThtV289QlElUng7CnojfElvRDZYck12U15MU0ZWWlY8X0RD
dG9KcWVhRG04X0M7MCZjOEArN2FXYEV4MmwtVFMwOGZkc20kbzh0YiM2Ywp6YlI5P0clJFBhT0U8
QjV+S0NlRGxqYWU4KiplRHV2OW90QHJlS25FZ2hoXl9USzhVRE0+aDlyS04oeFdCRj9oeCUKejFg
K1dmIWUoK256bHNuVVNDcVpYUj8hNjVBQXE/dnF2bWJqQihqSmFQK0NoUVAjaG1uUH03aFhwc356
V0I8PjRhCnpTP3dHbEdRTFJyalBwaz9GJGdTJG8kZmFmMmdHOFhjbWROajctX29LekB7M0Y/KSpO
ST9icGRpcSMrNn5EU3A5LQp6QWxeTFZGX2FlIWU9WXg8KEtzMH5scjB8M3p+Q1p0T0ZtdCFWVThK
fUAzbF98PDZ1ZFlwQCtrdih0WlFDYnp6QWsKempRJDI4RXFHRiU+JnImamlwRFRVLV5UZmpNemZA
RjBvM0AweWxTSkk7UXBCPlp3ajR3TXN+dVBpRnNFRkRoY1ZgCnp4SGBkalUpRj9+emVXfHxYLWhw
cThkdSlOLXI7ZE9OdGwpcF54YnE5bDxvTm9MOWgxYnIrKTFaWjdzfTh0eCM9Ngp6RTQzVSY3ZG1y
cHMqKW9wJWNPfiFgSHNYQVdgI0MmOTZKIUJJV0BqeFhwWkd0X2ExX3xBZnZxNnU0SWVESXx7PykK
em1meXJhayUoIUFPQnUmfktRNVFZe19IJitKPTBSKG01Nkp8Yi1pVyoxQUpIb0lPbmpxcys9Kzlu
NkdBN3FsTlhsCnohcklQalMwVFkpUnRgIz0+cEZXVSo9ZTxvPUlOSVBZSU5lZnUpMjVPbHMzRkFW
VChkOGBSTCp2ZzFCZyZLdiEtPAp6aXhjQHd1aGQma1FTcFlJdVFBLUJWeVZJdEwpJWBnPVZiRkcz
NndRam9pfShoRFM7Rng/ZnclYEQqMCMrZUVLZGoKenk0ZnhDMUc0d31tfEoyR0grQVpLeiR1dSVU
RlhJemtrWDxIOGtCMUpNNmEjPXQ8IXpkaW08eTFUXm11KW1NMkleCnp3eS1RejsqVyphMXtFSjAz
WHQoO1RMfCskdHozSG5eMmtkUEU5QTV8SjtkciRhYG1rKGJ3dzNKMDsqU0lAVFp+eQp6TyVza0x3
SV59aCYjZUZIeFc4KjA1ejxrPyFhV354cjZUUnJLKk40cXtkYGw8WW97Y0M1bDEkKEohJDI/bTFg
bEAKel85b3ImJXI0UVZrVGd6KUFEISEwNjl+X3FAYUEyXnNRMWZrdnZqUGdqfGlTcmF+T0coRFM7
LVJuO3xHTWhTJHFhCnpBPVBmJndvc21ZbDFkOEM4V3MhKEhMZmN1KGE9dWN7U2RtVihkOGkkeEJ8
flNzYHdxSnJ6TGVxTzg7QlBaK0ojbwp6YEJCNlAwZFk2YT9YRGl8XlY3MlFjdEpNJU4hQlo0Xz1A
K3lvdVpueVBqe2l1bElfOCpwWjsqPlcoZlolOEh+QTkKenUjPlpsRnV+Q01TRUJMIyNrcSVJZyo1
PyVzIT1BIyNIYXtTSWxVSlk8bTlPajQ8WUZhMll+Y20oJEQqJExSMUZ8CnpZd34jTWt1e0tYRDxE
MHBTWDFrZ2FMMUd6ZndKeDI7cVZBMS00O2tzJGJXN0YrdiVZRWBxbEFIOSl6U3owcUZgewp6Uj40
TmRvUEo8VlU5ZWo9T3U5MFZacSpeWDdHX1F8RnZuPSooTHRFPnpYKD1QTjcyS0t6N3hiKEFJQUZv
ZkBrSjAKenU9RCVjKV5fbXVvbG5TR1cxTlpuMilCdXY1YmZJQ2ZtOVlLRTRXRnc4fCttKWEmMjJa
LS1KNWNlLUdAQysjUFBFCnp1KU59SzJoTi0oOHcwZjxCVVhXJVNTSGdyU3wzIXVudHx0OT9Bcjw8
dmBxP1YyeVBiQGFVSHRxMFlvOWE/TVZGKQp6ai15P2AoZyo/NDVqST1mMHIxJHR5ZDRBSzl8MTBW
dGVPe2RobitKXzB2IUwtTnx9KGUxO0gpSmVvWDcpRzdBNkwKelZKYmlHPDdDS0ArMXk4S3klVTdt
QmswZG9ffS01aDBtUmVBYEZ1UWlPUmhreFo9Iz51VXRlOzN7OXg0ZUZZTFN4CnpjWWhkVUN2TkRt
YkBwdSt5bjd6MUN5WWlVJTQrJHJ3N0UpJV5+UV49d1dnbmZBYHtUXlkpZXE1KDVpcX4rLThGUAp6
WTR0O1h6YFgxSHtKeUUmelQ4emo1PVA9YE5LKWJGUyg4flA1PSZKOFd4Q1I+bm85NHJrQyN2am45
ajdhPHV8NGUKemtFfTUqTUdjaWU1MjdeJHJqRV9jdDw+Py10JGFfemJDcGRGajhePVdKTCNuS0wj
MGlubCFJby1tLUVrOzh3dkxyCnp4RyZraFAocmJ+eTN5V2Q1cm41UkdIUkJEX0lTUjhWbkNTYHpO
Tm1RZCUqVEFGVnhReWlYVnNOQWN2NTs5Qzw0Ygp6RE8lPSlGVyp1TDREd2E9e2U5bEd5UWlBbHYt
ISgwdjlge3pyI3o9SjxWQnJCV1JIRGhPVUxYeCFhekRMTHl1NE8KemJqVWdSSjc3IWQzK3QlTkde
UmA5dS18e0czZ3JLeFQxRFhYZGUhM31UbFFnS05YanB5WHx5YmA5YVFqNDk8ZjVUCnprfDF5MWlo
ckRVdjxlMm0kNmNUJTBJMXJ+eFIhZVRffiNWU18jI2pyc3xZTSZ3YHk1amZWekRLajJvdEA+Zz1G
ZAp6bmBjKHBPZztmY281WCpHeCNDdnhOfXJRYEE+Sl5oIXQzKTAmaC1YY3MqZT1hKSoxQWFDKHNh
dFpFVCpPeXZJTjMKekpsKklOMWsxbipkJUFpdW50cGppSDJhZUNWYDBjZlF9aSlMcldIWW4qZngj
N1U0MXQtbSNLfnF6X2g0X0lsRSs5CnpLdjtfQ0ZBdFEmMlFYP1Y/TUo2Ozh1c1QwME9rWWlQblN+
Qk9GaSVWPlF9Z0BFYFNfPVBpbjI0RilQam9hal9pQgp6SCRIRFlTfkkkVD5PeCNoPXBaYSl0SSho
WGJKQmgkbVB6NXswSlprcnZIYUdDSWFhYWNyZ2pRNXlQWnJPZSshSUkKekJ6Tkt0PXxqMkBSeVdV
R1lvI3pzMCsza1FQZ1NFIzJOUF9lekgzeE0qdmN6KkpNTzs4YkA+byhYTCtpYDkoRkl7CnpyWnoq
KXsxYTduYGo/PzJoP25rcHZaayRoNT13OEl4PFBQYWpWQkdPd35kJWtTdz80eFg4KV5qPihNVFVw
Ym0mIwp6ViRMNm5eTz1zOz1LKFJ4Zl9PI2hTXmlMMyFrXnYqYz1iZ0YjP0ZXe3NtQmtxK2luMkp0
Rj9URVlNWEBlam9wZz0KenlgJT1SeHVAaVdFSE9KQGY0WXhzPktVSGJNPTh5Py1QdSRkNEQweCZX
VHZNZG9iQ0llYnJveGllVTgjNGNNUERfCno0dkhGX28mWjU+dklLNmM4NmYpSFd3UmUqYlp1ZEUt
JGV2Q2h2PWJaUlh1VlVNMSpsUFRKYEtxbEhVT2NHbmE0Nwp6QWpXdDZySCNDNCgraFQ3QUowcH1h
XzdeUXdaPXRMdHVVODc2YVI0KTkqZnIxMGJQTWRjM0kke3A4dm9vd20oVkUKejUoSnBDTDNZVXRO
Mj9OTVMkOW90V2dwTWF0bis7eGQ3I2UoO15wK3Yxek9kTCFTYVo/IzxZKlJeSVFDIT1mX2hSCnpi
JGVqP3s8YVZ4a319d310ekx5eGxFIUNlYDctQ2JAWE1QREhWYlV6aiZoczZaU1I7YlN1VERtdDBl
QitBaVM8bQp6WnZjP0wrP1N9VlR4QW07SHFALXliOWo1KFZTQHNgZlBDNTUmaVFQfjF3dSg1Kn5I
SXZ4SWEwTlFkaiNrT2g7QXAKenBzY3k+eDwtPHNHMmo9Uz4qSXJveyY5JGJeLXgqQzZ2I0FocCM2
U0FAMjR5I2AkY1o3Tz9MZmRMMkBxK3pKdEhmCnohWms7fkkxVyVKOVRvTVBJXk1Ac0U2QnJBTEE1
bUtkd0wpMVpUeWB3YDZONjMxSFYlLWV0bWxXalhzfDx5QyRIdQp6T2ZDYW5iKzBMXyR+eFNIX29S
QjwxUXJrP2xXVXRMQEl6RzYzQm0zJkowWDlIKVR4WSlsfSZfUEtYX09TdyZEX3YKemAzOHBKVSEq
YUFqcX13eklaUH5FRWlFKmpGRS1LY0VFfUM9aDRDdCVsP2cmOC0pd0wjbkdZTyZxO3o9MUMtfilY
Cnp7VWooV1JyM1NmU3F9anpteyp3RVUoWmkmMVVyUDtVcG9iQjJuSUtHdEAhXm92LXdNZEJ6a31M
Z3FlMWRlYWBqaAp6RFIhPHZWPDZZO2RZaH09WmI4N3JJU0R3YEg9d15jR1pzRUd8NjVHVj1vcVBR
cVZ1PW5kRlQxTCFuTEdRUEo9WXgKem19VUxiTVpXUTRaLXQ5NyoqdiRSQVRuJnU7R1M2eSs5ZDBF
Xm9GO1NsPn4pKWpJPkEzNWozYiU5JV9KQ0pZaitUCnpZNVNFYCpJQzwlPElGU1hDT3BheyZ2X2dt
PiM/MHYzOSRDcks/RzFILUxQSWcmfHhSaT99NEAle1U5fUBrelowLQp6P1R9Vi0xQ34/IUk+cDUw
b3B8STlnWnBrMGduaUFrRC1YJEE+ejtXXllKQTBSVyNAOSNAaHhRcWMtUm1DUTtAWEsKekNSeSRq
TyZtTm44bSpzdCZLa15nQD4xYGw1M2BZQSk/Knh8YDFLVWtadHN0YUlkdjMpQjlxQndDOWk7Q0Bg
Zz1kCnpJMWBtWGJnUV9lQlRXWWtMcTR5fVZSezxPOTclKC11fHM2alIoXklUJjNmSVZlNFJgSzwq
Y1IjO2szJXw2Nm0kXwp6d201QTJ3OGU0YVlGdj88U1lqQ0daRGMlcHtnfXJ5JTR9a0hkTj89bDgw
UFJEemk2MHdsSnNfenR3QFk8U1I7U28KeiNxN2QlciVVMlZtPT96Ozk8WW94dGhTSl9NLXhmczt8
R3I9UmVKJiEqQTY7JkshS1F9aUVoPEpTMEJLLWV0Wk09Cnpyam9lfHpPaD97KkshbmJrd3gpQXpz
ejtAaylMUTxhOVAqWkB1Xmswd1p0ZWN0Nz9kQigjb2VecjwlKDZRYlhUUwp6d3JQY05HKTtWPUw+
PjN0PSRRUyRzfURAdjhIZkFNSjdqUkBeJkFgVHNLenIlVkZgNiFafG04dVYzLWotaCY5ZDgKellR
KTJHWCVnejBYbzloJGNpQWJ1RnordiFaTnt8NTNTaj8hdkJYPDttaWooPjtDLShwQ3wzdWZWazh1
dXMmIzRCCnpVQ3xVcE9PK3NSSz5zWU9wWUk0PF5iI1BrLX0+NXNoNjFLclJKPz5UKXt2RVE/eko/
PHNVen4qc2p9OWw7cnowaAp6PEdfZnh7RTx+I3BoYGtkVSpTdm5mbj9VKVFBOShGazlrYkRaYl54
RG1kfn1hSEMreklaKk09ZGIyejJ5JUswNmUKeiMtV0QoXitNcW9HWlVZQzZ7dHpgVztseERoOCN1
WGp9SEpFSGljRlVQNDQ7aVk+SFcxQC10QFlfKWBlMTtaMS1pCno/RjkzI1d6VVpZXnMwNWt0ZHNh
YTQ2LT05ZVJXZUlCPm02Jlh6ZHVDcCVCMmt3WkxUTDdlPGg9VTVUV35neGNUWQp6akpXej00RGZs
OEF1LUcqQzsyKDkwV1BuIWBKZEI7dShgJShlakEzdytKNCNPdSp5YSFkUjUhUkJQclI1dV83dkkK
elopRSg8UjRAWFpMR24yXmEldkZBPzl5NnI0cFptS291MEVWS3R3MjdwSEYtP3g1c0ZjKDB9eHRn
PChhTjRRcjxOCnp0fFgyS3JYZ0paUiN8MSQpPEpRX19EflljQ0dFQGFpelQyJTxrbWZvV2lYb0R3
b2wkRjQ0OTR7ZTxQdXNUUlZgRAp6KWEyQHdiKkgxWF5LYEY2SCNmWDZiPnV7VXspQXUzYj5Sam0t
fD8tX2g+cXFuOVRkJF4kcUNqTlgkZ1l1OVEkREAKenJ8U1Ira2F3YiZxUSFedUs5PWRyYHNjKkRY
fXlMMi08VVdSRnZAK3xrVSl9Rzt8OCh2RklSXil4ZV9iXzYoUUg0Cno9Y0VCOEB5QEpDTmEoKDZT
e2dXYmVKdHp0UD9yNDFkNGEqcyt2KypiSXg1cFV4Q1RsXytFZX59eDEwNiU2fkpgRgp6RTtMVmE1
KihKNDs+NmU+SWt2aShYKylwfU5XI1FCRkElcCtQdnRmQHdHdztTRllZIVNkcUxnSFQ/T0M0VEEm
TzAKemVXbChSRiE+QTNsOURIbW9UJkRTaXhuYilwbkkoViNMQk5sUFI3JVcqVjB0WW5JRE5HI0or
OC08PzBzUTN4VT5CCnZgWm5Zd0hoSjdOUDJzb24xUz4oQDQyan4yJio2O29aemNWdnhZaVFee19W
MmFZbkB+MWUocncmUXJPdX0KCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmdsL3dlYmdsLWltYWdlLXJlbmRlcmluZy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy93ZWJnbC93ZWJnbC1pbWFnZS1yZW5kZXJpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmUzYzAwNzRjOWQ0ZjY2NTA4Yzc5NjczOTViZjlmNTQ2MGMzOWFkYjQKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC93ZWJnbC1pbWFnZS1yZW5kZXJpbmctZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsOSBAQAorCisKKworCisKKworCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvd2ViZ2wvd2ViZ2wtaW1hZ2UtcmVuZGVyaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJn
bC93ZWJnbC1pbWFnZS1yZW5kZXJpbmcuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NDVkYmU1YTc2YTcyNDVl
Y2IzZGZmMGIxZjQyZWIzOTkyZjBiMjU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
d2ViZ2wvd2ViZ2wtaW1hZ2UtcmVuZGVyaW5nLmh0bWwKQEAgLTAsMCArMSw5NyBAQAorPCEtLQor
ICAgIFRlc3RzIHRoYXQgaW1hZ2UtcmVuZGVyaW5nIGJlaGF2aW9yIGZvciBXZWJHTCBjYW52YXMg
ZWxlbWVudCBpcyB0aGUgc2FtZSBhcworICAgIGZvciBhbiBpbWFnZSB3aXRoIHRoZSBzYW1lIGNv
bnRlbnRzLgorICAgIExlZnQgKGNhbnZhcyBlbGVtZW50KSBzaG91bGQgYmUgdGhlIHNhbWUgYXMg
cmlnaHQgKGltYWdlIGVsZW1lbnQpLgorIC0tPgorPGJvZHk+CisgICAgPHN0eWxlIHR5cGU9dGV4
dC9jc3M+CisgICAgY2FudmFzIHsKKyAgICAgICAgd2lkdGg6IDY0cHg7CisgICAgICAgIGhlaWdo
dDogNjRweDsKKyAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgIH0KKyAgICBpbWcg
eworICAgICAgICB3aWR0aDogNjRweDsKKyAgICAgICAgaGVpZ2h0OiA2NHB4OworICAgICAgICBk
aXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgfQorICAgIC5waXhlbGF0ZWQgY2FudmFzLCAucGl4
ZWxhdGVkIGltZyB7CisgICAgICAgIGltYWdlLXJlbmRlcmluZzogcGl4ZWxhdGVkOworICAgIH0K
KyAgICAuY3Jpc3AtZWRnZXMgY2FudmFzLCAuY3Jpc3AtZWRnZXMgaW1nIHsKKyAgICAgICAgaW1h
Z2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlczsKKyAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8ZGl2
IGNsYXNzPSJwaXhlbGF0ZWQiPgorICAgICAgICA8Y2FudmFzIHdpZHRoPSIyIiBoZWlnaHQ9IjIi
Ij48L2NhbnZhcz4KKyAgICAgICAgPGltZyBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJP
UncwS0dnb0FBQUFOU1VoRVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFBWE5TUjBJQXJzNGM2
UUFBQUVSbFdFbG1UVTBBS2dBQUFBZ0FBWWRwQUFRQUFBQUJBQUFBR2dBQUFBQUFBNkFCQUFNQUFB
QUJBQUVBQUtBQ0FBUUFBQUFCQUFBQUFxQURBQVFBQUFBQkFBQUFBZ0FBQUFEdEdMeXFBQUFBRGts
RVFWUUlIV05nK0ErRXlBQUFIZlFCLzVCRUlHRUFBQUFBU1VWT1JLNUNZSUk9Ij4KKyAgICA8L2Rp
dj4KKyAgICA8ZGl2IGNsYXNzPSJ0by1iZS1waXhlbGF0ZWQiPgorICAgICAgICA8Y2FudmFzIHdp
ZHRoPSIyIiBoZWlnaHQ9IjIiIj48L2NhbnZhcz4KKyAgICAgICAgPGltZyBzcmM9ImRhdGE6aW1h
Z2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcw
a0FBQUFBWE5TUjBJQXJzNGM2UUFBQUVSbFdFbG1UVTBBS2dBQUFBZ0FBWWRwQUFRQUFBQUJBQUFB
R2dBQUFBQUFBNkFCQUFNQUFBQUJBQUVBQUtBQ0FBUUFBQUFCQUFBQUFxQURBQVFBQUFBQkFBQUFB
Z0FBQUFEdEdMeXFBQUFBRGtsRVFWUUlIV05nK0ErRXlBQUFIZlFCLzVCRUlHRUFBQUFBU1VWT1JL
NUNZSUk9Ij4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJwaXhlbGF0ZWQgZGVsYXllZCI+
CisgICAgICAgIDxjYW52YXMgd2lkdGg9IjIiIGhlaWdodD0iMiIiPjwvY2FudmFzPgorICAgICAg
ICA8aW1nIHNyYz0iZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdB
QUFBSUFBQUFDQ0FZQUFBQnl0ZzBrQUFBQUFYTlNSMElBcnM0YzZRQUFBRVJsV0VsbVRVMEFLZ0FB
QUFnQUFZZHBBQVFBQUFBQkFBQUFHZ0FBQUFBQUE2QUJBQU1BQUFBQkFBRUFBS0FDQUFRQUFBQUJB
QUFBQXFBREFBUUFBQUFCQUFBQUFnQUFBQUR0R0x5cUFBQUFEa2xFUVZRSUhXTmcrQStFeUFBQUhm
UUIvNUJFSUdFQUFBQUFTVVZPUks1Q1lJST0iPgorICAgIDwvZGl2PgorICAgIDxkaXYgY2xhc3M9
ImNyaXNwLWVkZ2VzIj4KKyAgICAgICAgPGNhbnZhcyB3aWR0aD0iMiIgaGVpZ2h0PSIyIj48L2Nh
bnZhcz4KKyAgICAgICAgPGltZyBzcmM9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dn
b0FBQUFOU1VoRVVnQUFBQUlBQUFBQ0NBWUFBQUJ5dGcwa0FBQUFBWE5TUjBJQXJzNGM2UUFBQUVS
bFdFbG1UVTBBS2dBQUFBZ0FBWWRwQUFRQUFBQUJBQUFBR2dBQUFBQUFBNkFCQUFNQUFBQUJBQUVB
QUtBQ0FBUUFBQUFCQUFBQUFxQURBQVFBQUFBQkFBQUFBZ0FBQUFEdEdMeXFBQUFBRGtsRVFWUUlI
V05nK0ErRXlBQUFIZlFCLzVCRUlHRUFBQUFBU1VWT1JLNUNZSUk9Ij4KKyAgICA8L2Rpdj4KKyAg
ICA8ZGl2IGNsYXNzPSJ0by1iZS1jcmlzcC1lZGdlcyI+CisgICAgICAgIDxjYW52YXMgd2lkdGg9
IjIiIGhlaWdodD0iMiI+PC9jYW52YXM+CisgICAgICAgIDxpbWcgc3JjPSJkYXRhOmltYWdlL3Bu
ZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFJQUFBQUNDQVlBQUFCeXRnMGtBQUFB
QVhOU1IwSUFyczRjNlFBQUFFUmxXRWxtVFUwQUtnQUFBQWdBQVlkcEFBUUFBQUFCQUFBQUdnQUFB
QUFBQTZBQkFBTUFBQUFCQUFFQUFLQUNBQVFBQUFBQkFBQUFBcUFEQUFRQUFBQUJBQUFBQWdBQUFB
RHRHTHlxQUFBQURrbEVRVlFJSFdOZytBK0V5QUFBSGZRQi81QkVJR0VBQUFBQVNVVk9SSzVDWUlJ
PSI+CisgICAgPC9kaXY+CisgICAgPGRpdiBjbGFzcz0iY3Jpc3AtZWRnZXMgZGVsYXllZCI+Cisg
ICAgICAgIDxjYW52YXMgd2lkdGg9IjIiIGhlaWdodD0iMiI+PC9jYW52YXM+CisgICAgICAgIDxp
bWcgc3JjPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFJ
QUFBQUNDQVlBQUFCeXRnMGtBQUFBQVhOU1IwSUFyczRjNlFBQUFFUmxXRWxtVFUwQUtnQUFBQWdB
QVlkcEFBUUFBQUFCQUFBQUdnQUFBQUFBQTZBQkFBTUFBQUFCQUFFQUFLQUNBQVFBQUFBQkFBQUFB
cUFEQUFRQUFBQUJBQUFBQWdBQUFBRHRHTHlxQUFBQURrbEVRVlFJSFdOZytBK0V5QUFBSGZRQi81
QkVJR0VBQUFBQVNVVk9SSzVDWUlJPSI+CisgICAgPC9kaXY+CisgICAgPGRpdj4KKyAgICAgICAg
PGNhbnZhcyB3aWR0aD0iMiIgaGVpZ2h0PSIyIj48L2NhbnZhcz4KKyAgICAgICAgPGltZyBzcmM9
ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUlBQUFBQ0NB
WUFBQUJ5dGcwa0FBQUFBWE5TUjBJQXJzNGM2UUFBQUVSbFdFbG1UVTBBS2dBQUFBZ0FBWWRwQUFR
QUFBQUJBQUFBR2dBQUFBQUFBNkFCQUFNQUFBQUJBQUVBQUtBQ0FBUUFBQUFCQUFBQUFxQURBQVFB
QUFBQkFBQUFBZ0FBQUFEdEdMeXFBQUFBRGtsRVFWUUlIV05nK0ErRXlBQUFIZlFCLzVCRUlHRUFB
QUFBU1VWT1JLNUNZSUk9Ij4KKyAgICA8L2Rpdj4KKyAgICA8ZGl2IGNsYXNzPSJ0by1iZS1jbGVh
cmVkIHBpeGVsYXRlZCI+CisgICAgICAgIDxjYW52YXMgd2lkdGg9IjIiIGhlaWdodD0iMiI+PC9j
YW52YXM+CisgICAgICAgIDxpbWcgc3JjPSJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtH
Z29BQUFBTlNVaEVVZ0FBQUFJQUFBQUNDQVlBQUFCeXRnMGtBQUFBQVhOU1IwSUFyczRjNlFBQUFF
UmxXRWxtVFUwQUtnQUFBQWdBQVlkcEFBUUFBQUFCQUFBQUdnQUFBQUFBQTZBQkFBTUFBQUFCQUFF
QUFLQUNBQVFBQUFBQkFBQUFBcUFEQUFRQUFBQUJBQUFBQWdBQUFBRHRHTHlxQUFBQURrbEVRVlFJ
SFdOZytBK0V5QUFBSGZRQi81QkVJR0VBQUFBQVNVVk9SSzVDWUlJPSI+CisgICAgPC9kaXY+Cisg
ICAgPGRpdiBjbGFzcz0idG8tYmUtY2xlYXJlZCBjcmlzcC1lZGdlcyI+CisgICAgICAgIDxjYW52
YXMgd2lkdGg9IjIiIGhlaWdodD0iMiI+PC9jYW52YXM+CisgICAgICAgIDxpbWcgc3JjPSJkYXRh
OmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFJQUFBQUNDQVlBQUFC
eXRnMGtBQUFBQVhOU1IwSUFyczRjNlFBQUFFUmxXRWxtVFUwQUtnQUFBQWdBQVlkcEFBUUFBQUFC
QUFBQUdnQUFBQUFBQTZBQkFBTUFBQUFCQUFFQUFLQUNBQVFBQUFBQkFBQUFBcUFEQUFRQUFBQUJB
QUFBQWdBQUFBRHRHTHlxQUFBQURrbEVRVlFJSFdOZytBK0V5QUFBSGZRQi81QkVJR0VBQUFBQVNV
Vk9SSzVDWUlJPSI+CisgICAgPC9kaXY+CisKKyAgICA8c2NyaXB0PgorICAgIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgeworICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0KHRydWUp
OworICAgICAgICB3aW5kb3cudGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7CisgICAgfQorICAg
IGZ1bmN0aW9uIGNsZWFyKGUpIHsKKyAgICAgICAgY29uc3QgZ2wgPSBlLmdldENvbnRleHQoJ3dl
YmdsJyk7CisgICAgICAgIGdsLmNsZWFyQ29sb3IoMCwgMSwgMCwgMSk7CisgICAgICAgIGdsLmVu
YWJsZShnbC5TQ0lTU09SX1RFU1QpOworICAgICAgICBnbC5zY2lzc29yKDAsIDEsIDEsIDEpOwor
ICAgICAgICBnbC5jbGVhcihnbC5DT0xPUl9CVUZGRVJfQklUKTsKKyAgICB9CisgICAgWy4uLmRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2NhbnZhcycpXS5mb3JFYWNoKChlKSA9PiB7CisgICAg
ICAgIGlmIChlLnBhcmVudE5vZGUuY2xhc3NOYW1lLmluY2x1ZGVzKCJkZWxheWVkIikpCisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIGNsZWFyKGUpOworICAgIH0pOworCisgICAgWy4uLmRv
Y3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy50by1iZS1jbGVhcmVkJyldLmZvckVhY2goKGUpID0+
IHsKKyAgICAgICAgZS5jbGFzc05hbWUgPSAiIgorICAgIH0pOworICAgIHdpbmRvdy5yZXF1ZXN0
QW5pbWF0aW9uRnJhbWUoKCkgPT4geworICAgICAgICBbLi4uZG9jdW1lbnQucXVlcnlTZWxlY3Rv
ckFsbCgnLnRvLWJlLXBpeGVsYXRlZCcpXS5mb3JFYWNoKChlKSA9PiB7CisgICAgICAgICAgICBl
LmNsYXNzTmFtZSA9ICJwaXhlbGF0ZWQiCisgICAgICAgIH0pOworICAgICAgICBbLi4uZG9jdW1l
bnQucXVlcnlTZWxlY3RvckFsbCgnLnRvLWJlLWNyaXNwLWVkZ2VzJyldLmZvckVhY2goKGUpID0+
IHsKKyAgICAgICAgICAgIGUuY2xhc3NOYW1lID0gImNyaXNwLWVkZ2VzIgorICAgICAgICB9KTsK
KyAgICAgICAgWy4uLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2Rpdi5kZWxheWVkID4gY2Fu
dmFzJyldLmZvckVhY2goKGUpID0+IHsKKyAgICAgICAgICAgIGNsZWFyKGUpOworICAgICAgICB9
KTsKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgd2luZG93LnRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0pOworICAgIDwvc2NyaXB0PgorPC9ib2R5Pgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
      

    </bug>

</bugzilla>