<?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>21446</bug_id>
          
          <creation_ts>2008-10-07 14:18:21 -0700</creation_ts>
          <short_desc>Allow scrollbars to be styled from CSS</short_desc>
          <delta_ts>2008-10-09 19:34:07 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>21447</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>94443</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-10-07 14:18:21 -0700</bug_when>
    <thetext>Allow scrollbars to be styled from CSS using new pseudo classes and elements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94620</commentid>
    <comment_count>1</comment_count>
      <attachid>24200</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-10-08 14:33:28 -0700</bug_when>
    <thetext>Created attachment 24200
Patch

Collecting feedback.  Not really ready to land, but would like a review to point out style issues or complaints.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94628</commentid>
    <comment_count>2</comment_count>
      <attachid>24200</attachid>
    <who name="">mitz</who>
    <bug_when>2008-10-08 15:28:51 -0700</bug_when>
    <thetext>Comment on attachment 24200
Patch

The license header on the new files is not the latest version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94726</commentid>
    <comment_count>3</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-10-09 01:57:25 -0700</bug_when>
    <thetext>You should include a test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94745</commentid>
    <comment_count>4</comment_count>
      <attachid>24200</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-10-09 09:42:47 -0700</bug_when>
    <thetext>Comment on attachment 24200
Patch

Never mind.  Will just keep hacking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94787</commentid>
    <comment_count>5</comment_count>
      <attachid>24240</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-10-09 15:21:35 -0700</bug_when>
    <thetext>Created attachment 24240
Patch

Here we go.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94789</commentid>
    <comment_count>6</comment_count>
      <attachid>24241</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-10-09 15:33:26 -0700</bug_when>
    <thetext>Created attachment 24241
Screenshot of some ugly custom scrollbars! ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94831</commentid>
    <comment_count>7</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-10-09 19:34:07 -0700</bug_when>
    <thetext>Initial landing in r37462.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24200</attachid>
            <date>2008-10-08 14:33:28 -0700</date>
            <delta_ts>2008-10-09 15:21:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>38203</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDM3Mzg4KQorKysgV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0zNzE3LDYg
KzM3MTcsMTIgQEAKIAkJQkMzQkEwNEYwRThDNDZEQTAwRkM1RDIwIC8qIEpTRXZlbnRUYXJnZXRT
VkdFbGVtZW50SW5zdGFuY2UubHV0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQzNCQTA0RDBFOEM0NkRBMDBGQzVEMjAgLyogSlNFdmVudFRhcmdldFNW
R0VsZW1lbnRJbnN0YW5jZS5sdXQuaCAqLzsgfTsKIAkJQkMzQkMyOUMwRTkxQUIwRjAwODM1NTg4
IC8qIEhvc3RXaW5kb3cuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDM0JDMjlCMEU5MUFCMEYwMDgzNTU4OCAvKiBIb3N0V2luZG93LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQkMzQkUxMkIwRTk4MDky
RjAwODM1NTg4IC8qIFBvcHVwTWVudVN0eWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzNCRTEyQTBFOTgwOTJGMDA4MzU1ODggLyogUG9wdXBNZW51
U3R5bGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlCQzNCRTk5MzBFOUMxQzdDMDA4MzU1ODggLyogUmVuZGVyU2Nyb2xsYmFyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDM0JFOTkwMEU5QzFDN0Mw
MDgzNTU4OCAvKiBSZW5kZXJTY3JvbGxiYXIuY3BwICovOyB9OworCQlCQzNCRTk5NDBFOUMxQzdD
MDA4MzU1ODggLyogUmVuZGVyU2Nyb2xsYmFyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCQzNCRTk5MTBFOUMxQzdDMDA4MzU1ODggLyogUmVuZGVyU2Ny
b2xsYmFyLmggKi87IH07CisJCUJDM0JFOTk1MEU5QzFDN0MwMDgzNTU4OCAvKiBSZW5kZXJTY3Jv
bGxiYXJQYXJ0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQzNCRTk5MjBFOUMxQzdDMDA4MzU1ODggLyogUmVuZGVyU2Nyb2xsYmFyUGFydC5oICovOyB9
OworCQlCQzNCRTk5OTBFOUMxRTVEMDA4MzU1ODggLyogUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDM0JFOTk4MEU5
QzFFNUQwMDgzNTU4OCAvKiBSZW5kZXJTY3JvbGxiYXJUaGVtZS5oICovOyB9OworCQlCQzNCRTlB
NTBFOUMyMzk2MDA4MzU1ODggLyogUmVuZGVyU2Nyb2xsYmFyVGhlbWUuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMzQkU5QTQwRTlDMjM5NjAwODM1
NTg4IC8qIFJlbmRlclNjcm9sbGJhclRoZW1lLmNwcCAqLzsgfTsKKwkJQkMzQkU5QUIwRTlDMjQy
MDAwODM1NTg4IC8qIFJlbmRlclNjcm9sbGJhclBhcnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMzQkU5QUEwRTlDMjQyMDAwODM1NTg4IC8qIFJl
bmRlclNjcm9sbGJhclBhcnQuY3BwICovOyB9OwogCQlCQzNDMzlCNjBDMEQzRDhEMDA1RjREN0Eg
LyogSlNNZWRpYUxpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQkMzQzM5QjQwQzBEM0Q4RDAwNUY0RDdBIC8qIEpTTWVkaWFMaXN0LmNwcCAqLzsg
fTsKIAkJQkMzQzM5QjcwQzBEM0Q4RDAwNUY0RDdBIC8qIEpTTWVkaWFMaXN0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzNDMzlCNTBDMEQzRDhEMDA1
RjREN0EgLyogSlNNZWRpYUxpc3QuaCAqLzsgfTsKIAkJQkM0MzY4RTgwQzIyNkUzMjAwNUVGQjVG
IC8qIFJlY3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEJDNDM2OEU3MEMyMjZFMzIwMDVFRkI1RiAvKiBSZWN0LmggKi87IH07CkBAIC04MjYwLDYgKzgy
NjYsMTIgQEAKIAkJQkMzQkEwNEQwRThDNDZEQTAwRkM1RDIwIC8qIEpTRXZlbnRUYXJnZXRTVkdF
bGVtZW50SW5zdGFuY2UubHV0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
RXZlbnRUYXJnZXRTVkdFbGVtZW50SW5zdGFuY2UubHV0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUJDM0JDMjlCMEU5MUFCMEYwMDgzNTU4OCAvKiBIb3N0V2luZG93LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhvc3RXaW5kb3cuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQkMzQkUxMkEwRTk4MDkyRjAwODM1NTg4IC8qIFBvcHVwTWVudVN0eWxl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBvcHVwTWVudVN0eWxlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUJDM0JFOTkwMEU5QzFDN0MwMDgzNTU4OCAvKiBS
ZW5kZXJTY3JvbGxiYXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
UmVuZGVyU2Nyb2xsYmFyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMzQkU5
OTEwRTlDMUM3QzAwODM1NTg4IC8qIFJlbmRlclNjcm9sbGJhci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSZW5kZXJTY3JvbGxiYXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQkMzQkU5OTIwRTlDMUM3QzAwODM1NTg4IC8qIFJlbmRlclNjcm9sbGJhclBhcnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU2Nyb2xsYmFyUGFydC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzNCRTk5ODBFOUMxRTVEMDA4MzU1ODgg
LyogUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QkMzQkU5QTQwRTlDMjM5NjAwODM1NTg4IC8qIFJlbmRlclNjcm9sbGJhclRoZW1lLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlclNjcm9sbGJhclRoZW1lLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMzQkU5QUEwRTlDMjQyMDAwODM1NTg4
IC8qIFJlbmRlclNjcm9sbGJhclBhcnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUmVuZGVyU2Nyb2xsYmFyUGFydC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUJDM0MzOUI0MEMwRDNEOEQwMDVGNEQ3QSAvKiBKU01lZGlhTGlzdC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRpYUxpc3QuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlCQzNDMzlCNTBDMEQzRDhEMDA1RjREN0EgLyogSlNNZWRp
YUxpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWVkaWFMaXN0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDNDM2OEU3MEMyMjZFMzIwMDVFRkI1RiAv
KiBSZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWN0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzU1OSw2ICsxMzU3MSw5IEBACiAJCQkJQUJEREZF
NzMwQTVDNkU2RjAwQTNFMTFEIC8qIFJlbmRlck1lbnVMaXN0LmNwcCAqLywKIAkJCQlBQkRERkU3
NDBBNUM2RTcwMDBBM0UxMUQgLyogUmVuZGVyTWVudUxpc3QuaCAqLywKIAkJCQlCQ0VBNDg0MDA5
N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyT2JqZWN0LmNwcCAqLywKKwkJCQlCQzNCRTlBQTBFOUMy
NDIwMDA4MzU1ODggLyogUmVuZGVyU2Nyb2xsYmFyUGFydC5jcHAgKi8sCisJCQkJQkMzQkU5QTQw
RTlDMjM5NjAwODM1NTg4IC8qIFJlbmRlclNjcm9sbGJhclRoZW1lLmNwcCAqLywKKwkJCQlCQzNC
RTk5ODBFOUMxRTVEMDA4MzU1ODggLyogUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaCAqLywKIAkJCQlC
Q0VBNDg0MTA5N0Q5MzAyMDA5NEM5RTQgLyogUmVuZGVyT2JqZWN0LmggKi8sCiAJCQkJQTg3MURF
QzgwQTE1MzBDNzAwQjEyQTY4IC8qIFJlbmRlclBhcnQuY3BwICovLAogCQkJCUE4NzFERUNGMEEx
NTMwQzcwMEIxMkE2OCAvKiBSZW5kZXJQYXJ0LmggKi8sCkBAIC0xMzU3MCw2ICsxMzU4NSw5IEBA
CiAJCQkJQTg3MURGREYwQTE1Mzc2QjAwQjEyQTY4IC8qIFJlbmRlclJlcGxhY2VkLmggKi8sCiAJ
CQkJQkNBODQ2RDQwREM2N0EzNTAwMjZDMzA5IC8qIFJlbmRlclJlcGxpY2EuY3BwICovLAogCQkJ
CUJDQTg0NkQ1MERDNjdBMzUwMDI2QzMwOSAvKiBSZW5kZXJSZXBsaWNhLmggKi8sCisJCQkJQkMz
QkU5OTAwRTlDMUM3QzAwODM1NTg4IC8qIFJlbmRlclNjcm9sbGJhci5jcHAgKi8sCisJCQkJQkMz
QkU5OTEwRTlDMUM3QzAwODM1NTg4IC8qIFJlbmRlclNjcm9sbGJhci5oICovLAorCQkJCUJDM0JF
OTkyMEU5QzFDN0MwMDgzNTU4OCAvKiBSZW5kZXJTY3JvbGxiYXJQYXJ0LmggKi8sCiAJCQkJQUIy
NDdBNkEwQUZENjM4MzAwM0ZBNUZEIC8qIFJlbmRlclNsaWRlci5jcHAgKi8sCiAJCQkJQUIyNDdB
NkIwQUZENjM4MzAwM0ZBNUZEIC8qIFJlbmRlclNsaWRlci5oICovLAogCQkJCUE3MzUyQzE3MEIx
QkI4OUQwMEE5ODZEMCAvKiBSZW5kZXJTVkdCbG9jay5jcHAgKi8sCkBAIC0xNTk2NCw2ICsxNTk4
Miw5IEBACiAJCQkJMUM4MUJBMEMwRTk3MzQ4MzAwMjY2RTA3IC8qIEphdmFTY3JpcHREZWJ1Z0xp
c3RlbmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQzgxQkEwRTBFOTczNDgzMDAyNjZFMDcgLyog
SmF2YVNjcmlwdERlYnVnU2VydmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzNCRTEyQjBFOTgw
OTJGMDA4MzU1ODggLyogUG9wdXBNZW51U3R5bGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDM0JF
OTk0MEU5QzFDN0MwMDgzNTU4OCAvKiBSZW5kZXJTY3JvbGxiYXIuaCBpbiBIZWFkZXJzICovLAor
CQkJCUJDM0JFOTk1MEU5QzFDN0MwMDgzNTU4OCAvKiBSZW5kZXJTY3JvbGxiYXJQYXJ0LmggaW4g
SGVhZGVycyAqLywKKwkJCQlCQzNCRTk5OTBFOUMxRTVEMDA4MzU1ODggLyogUmVuZGVyU2Nyb2xs
YmFyVGhlbWUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMTc4MjcsNiArMTc4NDgsOSBAQAogCQkJCTFD
ODFCQTAyMEU5NzMzQ0IwMDI2NkUwNyAvKiBKYXZhU2NyaXB0UHJvZmlsZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkxQzgxQkEwOTBFOTczNDgzMDAyNjZFMDcgLyogSmF2YVNjcmlwdENhbGxGcmFt
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQzgxQkEwRDBFOTczNDgzMDAyNjZFMDcgLyogSmF2
YVNjcmlwdERlYnVnU2VydmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUJDM0JFOTkzMEU5QzFD
N0MwMDgzNTU4OCAvKiBSZW5kZXJTY3JvbGxiYXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQkMz
QkU5QTUwRTlDMjM5NjAwODM1NTg4IC8qIFJlbmRlclNjcm9sbGJhclRoZW1lLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCUJDM0JFOUFCMEU5QzI0MjAwMDgzNTU4OCAvKiBSZW5kZXJTY3JvbGxiYXJQ
YXJ0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDogY3NzL0NTU1NlbGVjdG9yLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBjc3MvQ1NTU2VsZWN0b3IuY3BwCShyZXZpc2lvbiAzNzM5NCkKKysrIGNzcy9DU1NT
ZWxlY3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNCw2ICsxMTQsNyBAQCB2b2lkIENTU1Nl
bGVjdG9yOjpleHRyYWN0UHNldWRvVHlwZSgpIGNvCiAgICAgc3RhdGljIEF0b21pY1N0cmluZyBz
Y3JvbGxiYXJIb3Jpem9udGFsKCItd2Via2l0LXNjcm9sbGJhci1ob3Jpem9udGFsIik7CiAgICAg
c3RhdGljIEF0b21pY1N0cmluZyBzY3JvbGxiYXJUaHVtYigiLXdlYmtpdC1zY3JvbGxiYXItdGh1
bWIiKTsKICAgICBzdGF0aWMgQXRvbWljU3RyaW5nIHNjcm9sbGJhclRyYWNrKCItd2Via2l0LXNj
cm9sbGJhci10cmFjayIpOworICAgIHN0YXRpYyBBdG9taWNTdHJpbmcgc2Nyb2xsYmFyVHJhY2tQ
aWVjZSgiLXdlYmtpdC1zY3JvbGxiYXItdHJhY2stcGllY2UiKTsKICAgICBzdGF0aWMgQXRvbWlj
U3RyaW5nIHNjcm9sbGJhclZlcnRpY2FsKCItd2Via2l0LXNjcm9sbGJhci12ZXJ0aWNhbCIpOwog
ICAgIHN0YXRpYyBBdG9taWNTdHJpbmcgc2VhcmNoQ2FuY2VsQnV0dG9uKCItd2Via2l0LXNlYXJj
aC1jYW5jZWwtYnV0dG9uIik7CiAgICAgc3RhdGljIEF0b21pY1N0cmluZyBzZWFyY2hEZWNvcmF0
aW9uKCItd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIik7CkBAIC0yNTMsNiArMjU0LDkgQEAgdm9p
ZCBDU1NTZWxlY3Rvcjo6ZXh0cmFjdFBzZXVkb1R5cGUoKSBjbwogICAgIH0gZWxzZSBpZiAobV92
YWx1ZSA9PSBzY3JvbGxiYXJUcmFjaykgewogICAgICAgICBlbGVtZW50ID0gdHJ1ZTsKICAgICAg
ICAgbV9wc2V1ZG9UeXBlID0gUHNldWRvU2Nyb2xsYmFyVHJhY2s7CisgICAgfSBlbHNlIGlmICht
X3ZhbHVlID09IHNjcm9sbGJhclRyYWNrUGllY2UpIHsKKyAgICAgICAgZWxlbWVudCA9IHRydWU7
CisgICAgICAgIG1fcHNldWRvVHlwZSA9IFBzZXVkb1Njcm9sbGJhclRyYWNrUGllY2U7CiAgICAg
fSBlbHNlIGlmIChtX3ZhbHVlID09IHNjcm9sbGJhclZlcnRpY2FsKQogICAgICAgICBtX3BzZXVk
b1R5cGUgPSBQc2V1ZG9TY3JvbGxiYXJWZXJ0aWNhbDsKICAgICBlbHNlIGlmIChtX3ZhbHVlID09
IHNlYXJjaENhbmNlbEJ1dHRvbikgewpJbmRleDogY3NzL0NTU1NlbGVjdG9yLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gY3NzL0NTU1NlbGVjdG9yLmgJKHJldmlzaW9uIDM3Mzk0KQorKysgY3NzL0NTU1NlbGVj
dG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1OSw2ICsxNTksNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgICAgICBQc2V1ZG9TY3JvbGxiYXJIb3Jpem9udGFsLAogICAgICAgICAgICAg
UHNldWRvU2Nyb2xsYmFyVGh1bWIsCiAgICAgICAgICAgICBQc2V1ZG9TY3JvbGxiYXJUcmFjaywK
KyAgICAgICAgICAgIFBzZXVkb1Njcm9sbGJhclRyYWNrUGllY2UsCiAgICAgICAgICAgICBQc2V1
ZG9TY3JvbGxiYXJWZXJ0aWNhbCwKICAgICAgICAgICAgIFBzZXVkb1NlbGVjdGlvbiwKICAgICAg
ICAgICAgIFBzZXVkb0ZpbGVVcGxvYWRCdXR0b24sCkluZGV4OiBjc3MvQ1NTU3R5bGVTZWxlY3Rv
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCShyZXZpc2lvbiAz
NzM4OCkKKysrIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjMz
OSw2ICsyMzM5LDI0IEBAIGJvb2wgQ1NTU3R5bGVTZWxlY3Rvcjo6U2VsZWN0b3JDaGVja2VyOjoK
ICAgICAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb01lZGlhQ29udHJvbHNGdWxsc2Ny
ZWVuQnV0dG9uOgogICAgICAgICAgICAgICAgIGR5bmFtaWNQc2V1ZG8gPSBSZW5kZXJTdHlsZTo6
TUVESUFfQ09OVFJPTFNfRlVMTFNDUkVFTl9CVVRUT047CiAgICAgICAgICAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9TY3JvbGxiYXI6Cisg
ICAgICAgICAgICAgICAgZHluYW1pY1BzZXVkbyA9IFJlbmRlclN0eWxlOjpTQ1JPTExCQVI7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICBjYXNlIENTU1NlbGVjdG9y
OjpQc2V1ZG9TY3JvbGxiYXJCdXR0b246CisgICAgICAgICAgICAgICAgZHluYW1pY1BzZXVkbyA9
IFJlbmRlclN0eWxlOjpTQ1JPTExCQVJfQlVUVE9OOworICAgICAgICAgICAgICAgIHJldHVybiB0
cnVlOworICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvU2Nyb2xsYmFyQ29ybmVy
OgorICAgICAgICAgICAgICAgIGR5bmFtaWNQc2V1ZG8gPSBSZW5kZXJTdHlsZTo6U0NST0xMQkFS
X0NPUk5FUjsKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIGNhc2Ug
Q1NTU2VsZWN0b3I6OlBzZXVkb1Njcm9sbGJhclRodW1iOgorICAgICAgICAgICAgICAgIGR5bmFt
aWNQc2V1ZG8gPSBSZW5kZXJTdHlsZTo6U0NST0xMQkFSX1RIVU1COworICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvU2Nyb2xs
YmFyVHJhY2s6CisgICAgICAgICAgICAgICAgZHluYW1pY1BzZXVkbyA9IFJlbmRlclN0eWxlOjpT
Q1JPTExCQVJfVFJBQ0s7CisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAg
ICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9TY3JvbGxiYXJUcmFja1BpZWNlOgorICAgICAgICAg
ICAgICAgIGR5bmFtaWNQc2V1ZG8gPSBSZW5kZXJTdHlsZTo6U0NST0xMQkFSX1RSQUNLX1BJRUNF
OworICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgY2FzZSBDU1NTZWxl
Y3Rvcjo6UHNldWRvVW5rbm93bjoKICAgICAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVk
b05vdFBhcnNlZDoKICAgICAgICAgICAgIGRlZmF1bHQ6CkluZGV4OiBwbGF0Zm9ybS9TY3JvbGxU
eXBlcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIHBsYXRmb3JtL1Njcm9sbFR5cGVzLmgJKHJldmlzaW9uIDM3
Mzg4KQorKysgcGxhdGZvcm0vU2Nyb2xsVHlwZXMuaAkod29ya2luZyBjb3B5KQpAQCAtNjUsNiAr
NjUsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIEZvcndhcmRUcmFja1BhcnQgPSAx
IDw8IDQsCiAgICAgICAgIEJhY2tCdXR0b25FbmRQYXJ0ID0gMSA8PCA1LAogICAgICAgICBGb3J3
YXJkQnV0dG9uRW5kUGFydCA9IDEgPDwgNiwKKyAgICAgICAgU2Nyb2xsYmFyQkdQYXJ0ID0gMSA8
PCA3LAorICAgICAgICBUcmFja0JHUGFydCA9IDEgPDwgOCwKICAgICAgICAgQWxsUGFydHMgPSAw
eGZmZmZmZmZmLAogICAgIH07CiAKSW5kZXg6IHBsYXRmb3JtL1Njcm9sbGJhci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIHBsYXRmb3JtL1Njcm9sbGJhci5oCShyZXZpc2lvbiAzNzM4OCkKKysrIHBsYXRmb3Jt
L1Njcm9sbGJhci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjAsNiArMTIwLDggQEAgcHVibGljOgog
ICAgIGJvb2wgc3VwcHJlc3NJbnZhbGlkYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3N1cHByZXNz
SW52YWxpZGF0aW9uOyB9CiAgICAgdm9pZCBzZXRTdXBwcmVzc0ludmFsaWRhdGlvbihib29sIHMp
IHsgbV9zdXBwcmVzc0ludmFsaWRhdGlvbiA9IHM7IH0KIAorICAgIHZpcnR1YWwgdm9pZCBzdHls
ZUNoYW5nZWQoKSB7IH0KKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVUaHVt
YlBvc2l0aW9uKCk7CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVRodW1iUHJvcG9ydGlvbigpOwpJ
bmRleDogcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IHBsYXRmb3JtL1Njcm9sbGJhclRoZW1lQ29tcG9zaXRlLmNwcAkocmV2aXNpb24gMzczODgpCisr
KyBwbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEzMSw2ICsxMzEsOSBAQCBib29sIFNjcm9sbGJhclRoZW1lQ29tcG9zaXRlOjpwYWludChTY3Jv
CiAgICAgfQogI2VuZGlmCiAKKyAgICAvLyBQYWludCB0aGUgc2Nyb2xsYmFyIGJhY2tncm91bmQg
KG9ubHkgdXNlZCBieSBjdXN0b20gQ1NTIHNjcm9sbGJhcnMpLgorICAgIHBhaW50U2Nyb2xsYmFy
QmFja2dyb3VuZChncmFwaGljc0NvbnRleHQsIHNjcm9sbGJhcik7CisKICAgICAvLyBQYWludCB0
aGUgdHJhY2suCiAgICAgaWYgKChzY3JvbGxNYXNrICYgRm9yd2FyZFRyYWNrUGFydCkgfHwgKHNj
cm9sbE1hc2sgJiBCYWNrVHJhY2tQYXJ0KSkgewogICAgICAgICBpZiAoIXRodW1iUHJlc2VudCB8
fCB0cmFja0lzU2luZ2xlUGllY2UoKSkKSW5kZXg6IHBsYXRmb3JtL1Njcm9sbGJhclRoZW1lQ29t
cG9zaXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUu
aAkocmV2aXNpb24gMzczODgpCisrKyBwbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC01OSw2ICs1OSw3IEBAIHByb3RlY3RlZDoKIAogICAgIHZpcnR1
YWwgaW50IG1pbmltdW1UaHVtYkxlbmd0aChTY3JvbGxiYXIqKTsKIAorICAgIHZpcnR1YWwgdm9p
ZCBwYWludFNjcm9sbGJhckJhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyKikg
e30KICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRUcmFjayhHcmFwaGljc0NvbnRleHQqLCBTY3JvbGxi
YXIqLCBjb25zdCBJbnRSZWN0JiwgU2Nyb2xsYmFyQ29udHJvbFBhcnRNYXNrKSB7fQogICAgIHZp
cnR1YWwgdm9pZCBwYWludEJ1dHRvbihHcmFwaGljc0NvbnRleHQqLCBTY3JvbGxiYXIqLCBjb25z
dCBJbnRSZWN0JiwgU2Nyb2xsYmFyUGFydCkge30KICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRUaHVt
YihHcmFwaGljc0NvbnRleHQqLCBTY3JvbGxiYXIqLCBjb25zdCBJbnRSZWN0Jikge30KSW5kZXg6
IHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcAkocmV2aXNpb24gMzczODgpCisrKyByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC02NSw2ICs2NSw3IEBACiAjaW5jbHVkZSAiUmVuZGVySW5saW5l
LmgiCiAjaW5jbHVkZSAiUmVuZGVyTWFycXVlZS5oIgogI2luY2x1ZGUgIlJlbmRlclJlcGxpY2Eu
aCIKKyNpbmNsdWRlICJSZW5kZXJTY3JvbGxiYXIuaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5o
IgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJTY2FsZVRyYW5zZm9ybU9wZXJh
dGlvbi5oIgpAQCAtMTExMCw3ICsxMTExLDEyIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmludmFsaWRh
dGVTY3JvbGxiYXJSZWMKIAogUGFzc1JlZlB0cjxTY3JvbGxiYXI+IFJlbmRlckxheWVyOjpjcmVh
dGVTY3JvbGxiYXIoU2Nyb2xsYmFyT3JpZW50YXRpb24gb3JpZW50YXRpb24pCiB7Ci0gICAgUmVm
UHRyPFNjcm9sbGJhcj4gd2lkZ2V0ID0gU2Nyb2xsYmFyOjpjcmVhdGVOYXRpdmVTY3JvbGxiYXIo
dGhpcywgb3JpZW50YXRpb24sIFJlZ3VsYXJTY3JvbGxiYXIpOworICAgIFJlZlB0cjxTY3JvbGxi
YXI+IHdpZGdldDsKKyAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSByZW5kZXJlcigpLT5nZXRQc2V1
ZG9TdHlsZShSZW5kZXJTdHlsZTo6U0NST0xMQkFSKTsKKyAgICBpZiAoc3R5bGUpCisgICAgICAg
IHdpZGdldCA9IFJlbmRlclNjcm9sbGJhcjo6Y3JlYXRlQ3VzdG9tU2Nyb2xsYmFyKHRoaXMsIG9y
aWVudGF0aW9uLCBzdHlsZSwgcmVuZGVyZXIoKSk7CisgICAgZWxzZQorICAgICAgICB3aWRnZXQg
PSBTY3JvbGxiYXI6OmNyZWF0ZU5hdGl2ZVNjcm9sbGJhcih0aGlzLCBvcmllbnRhdGlvbiwgUmVn
dWxhclNjcm9sbGJhcik7CiAgICAgbV9vYmplY3QtPmRvY3VtZW50KCktPnZpZXcoKS0+YWRkQ2hp
bGQod2lkZ2V0LmdldCgpKTsgICAgICAgIAogICAgIHJldHVybiB3aWRnZXQucmVsZWFzZSgpOwog
fQpAQCAtMjM4MCw2ICsyMzg2LDEyIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnN0eWxlQ2hhbmdlZChS
ZW5kZXJTdHkKICAgICAgICAgICAgIGNyZWF0ZVJlZmxlY3Rpb24oKTsKICAgICAgICAgdXBkYXRl
UmVmbGVjdGlvblN0eWxlKCk7CiAgICAgfQorICAgIAorICAgIC8vIEZJWE1FOiBOZWVkIHRvIGRl
dGVjdCBhIHN3YXAgZnJvbSBjdXN0b20gdG8gbmF0aXZlIHNjcm9sbGJhcnMgKGFuZCB2aWNlIHZl
cnNhKS4KKyAgICBpZiAobV9oQmFyKQorICAgICAgICBtX2hCYXItPnN0eWxlQ2hhbmdlZCgpOwor
ICAgIGlmIChtX3ZCYXIpCisgICAgICAgIG1fdkJhci0+c3R5bGVDaGFuZ2VkKCk7CiB9CiAKIFJl
bmRlckxheWVyKiBSZW5kZXJMYXllcjo6cmVmbGVjdGlvbkxheWVyKCkgY29uc3QKSW5kZXg6IHJl
bmRlcmluZy9SZW5kZXJTY3JvbGxiYXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHJlbmRlcmluZy9SZW5k
ZXJTY3JvbGxiYXIuY3BwCShyZXZpc2lvbiAwKQorKysgcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJh
ci5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQwIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUi
KSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQor
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiUmVuZGVyU2Nyb2xsYmFyLmgiCisjaW5jbHVkZSAiUmVuZGVyU2Nyb2xsYmFy
UGFydC5oIgorI2luY2x1ZGUgIlJlbmRlclNjcm9sbGJhclRoZW1lLmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworUGFzc1JlZlB0cjxTY3JvbGxiYXI+IFJlbmRlclNjcm9sbGJhcjo6Y3JlYXRl
Q3VzdG9tU2Nyb2xsYmFyKFNjcm9sbGJhckNsaWVudCogY2xpZW50LCBTY3JvbGxiYXJPcmllbnRh
dGlvbiBvcmllbnRhdGlvbiwgUmVuZGVyU3R5bGUqIHN0eWxlLCBSZW5kZXJPYmplY3QqIHJlbmRl
cmVyKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgUmVuZGVyU2Nyb2xsYmFyKGNsaWVudCwg
b3JpZW50YXRpb24sIHN0eWxlLCByZW5kZXJlcikpOworfQorCitSZW5kZXJTY3JvbGxiYXI6OlJl
bmRlclNjcm9sbGJhcihTY3JvbGxiYXJDbGllbnQqIGNsaWVudCwgU2Nyb2xsYmFyT3JpZW50YXRp
b24gb3JpZW50YXRpb24sIFJlbmRlclN0eWxlKiBzdHlsZSwgUmVuZGVyT2JqZWN0KiByZW5kZXJl
cikKKyAgICA6IFNjcm9sbGJhcihjbGllbnQsIG9yaWVudGF0aW9uLCBSZWd1bGFyU2Nyb2xsYmFy
LCBSZW5kZXJTY3JvbGxiYXJUaGVtZTo6cmVuZGVyU2Nyb2xsYmFyVGhlbWUoKSkKKyAgICAsIG1f
b3duZXIocmVuZGVyZXIpCit7CisgICAgdXBkYXRlU2Nyb2xsYmFyUGFydHMoc3R5bGUpOworfQor
CitSZW5kZXJTY3JvbGxiYXI6On5SZW5kZXJTY3JvbGxiYXIoKQoreworICAgIC8vIERlc3Ryb3kg
YWxsIG9mIHRoZSBzY3JvbGxiYXIncyBSZW5kZXJPYmplY3RzLgorICAgIHVwZGF0ZVNjcm9sbGJh
clBhcnRzKDAsIHRydWUpOworfQorCitzdGF0aWMgU2Nyb2xsYmFyUGFydCBnU3R5bGVSZXNvbHZl
UGFydDsKK3N0YXRpYyBSZW5kZXJTY3JvbGxiYXIqIGdTdHlsZVJlc29sdmVTY3JvbGxiYXI7CisK
K1JlbmRlclN0eWxlKiBSZW5kZXJTY3JvbGxiYXI6OmdldFNjcm9sbGJhclBzZXVkb1N0eWxlKFNj
cm9sbGJhclBhcnQgcGFydFR5cGUsIFJlbmRlclN0eWxlOjpQc2V1ZG9JZCBwc2V1ZG9JZCkKK3sK
KyAgICBnU3R5bGVSZXNvbHZlUGFydCA9IHBhcnRUeXBlOworICAgIGdTdHlsZVJlc29sdmVTY3Jv
bGxiYXIgPSB0aGlzOworICAgIFJlbmRlclN0eWxlKiByZXN1bHQgPSBtX293bmVyLT5nZXRQc2V1
ZG9TdHlsZShwc2V1ZG9JZCwgbV9vd25lci0+c3R5bGUoKSk7CisgICAgZ1N0eWxlUmVzb2x2ZVBh
cnQgPSBOb1BhcnQ7CisgICAgZ1N0eWxlUmVzb2x2ZVNjcm9sbGJhciA9IDA7CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KKwordm9pZCBSZW5kZXJTY3JvbGxiYXI6OnVwZGF0ZVNjcm9sbGJhclBhcnRz
KFJlbmRlclN0eWxlKiBzY3JvbGxiYXJTdHlsZSwgYm9vbCBkZXN0cm95KQoreworICAgIHVwZGF0
ZVNjcm9sbGJhclBhcnQoU2Nyb2xsYmFyQkdQYXJ0LCBSZW5kZXJTdHlsZTo6U0NST0xMQkFSLCBz
Y3JvbGxiYXJTdHlsZSwgZGVzdHJveSk7CisgICAgdXBkYXRlU2Nyb2xsYmFyUGFydChCYWNrQnV0
dG9uU3RhcnRQYXJ0LCBSZW5kZXJTdHlsZTo6U0NST0xMQkFSX0JVVFRPTiwgMCwgZGVzdHJveSk7
CisgICAgdXBkYXRlU2Nyb2xsYmFyUGFydChGb3J3YXJkQnV0dG9uU3RhcnRQYXJ0LCBSZW5kZXJT
dHlsZTo6U0NST0xMQkFSX0JVVFRPTiwgMCwgZGVzdHJveSk7CisgICAgdXBkYXRlU2Nyb2xsYmFy
UGFydChCYWNrVHJhY2tQYXJ0LCBSZW5kZXJTdHlsZTo6U0NST0xMQkFSX1RSQUNLX1BJRUNFLCAw
LCBkZXN0cm95KTsKKyAgICB1cGRhdGVTY3JvbGxiYXJQYXJ0KFRodW1iUGFydCwgUmVuZGVyU3R5
bGU6OlNDUk9MTEJBUl9USFVNQiwgMCwgZGVzdHJveSk7CisgICAgdXBkYXRlU2Nyb2xsYmFyUGFy
dChGb3J3YXJkVHJhY2tQYXJ0LCBSZW5kZXJTdHlsZTo6U0NST0xMQkFSX1RSQUNLX1BJRUNFLCAw
LCBkZXN0cm95KTsKKyAgICB1cGRhdGVTY3JvbGxiYXJQYXJ0KEJhY2tCdXR0b25FbmRQYXJ0LCBS
ZW5kZXJTdHlsZTo6U0NST0xMQkFSX0JVVFRPTiwgMCwgZGVzdHJveSk7CisgICAgdXBkYXRlU2Ny
b2xsYmFyUGFydChGb3J3YXJkQnV0dG9uRW5kUGFydCwgUmVuZGVyU3R5bGU6OlNDUk9MTEJBUl9C
VVRUT04sIDAsIGRlc3Ryb3kpOworICAgIHVwZGF0ZVNjcm9sbGJhclBhcnQoVHJhY2tCR1BhcnQs
IFJlbmRlclN0eWxlOjpTQ1JPTExCQVJfVFJBQ0ssIDAsIGRlc3Ryb3kpOworICAgIAorICAgIGlm
IChkZXN0cm95KQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBTZWUgaWYgdGhlIHNjcm9sbGJh
cidzIHRoaWNrbmVzcyBjaGFuZ2VkLiAgSWYgc28sIHdlIG5lZWQgdG8gbWFyayBvdXIgb3duaW5n
IG9iamVjdCBhcyBuZWVkaW5nIGEgbGF5b3V0LgorICAgIGJvb2wgaXNIb3Jpem9udGFsID0gb3Jp
ZW50YXRpb24oKSA9PSBIb3Jpem9udGFsU2Nyb2xsYmFyOyAgICAKKyAgICBpbnQgb2xkVGhpY2tu
ZXNzID0gaXNIb3Jpem9udGFsID8gaGVpZ2h0KCkgOiB3aWR0aCgpOworICAgIGludCBuZXdUaGlj
a25lc3MgPSAwOworICAgIFJlbmRlclNjcm9sbGJhclBhcnQqIHBhcnQgPSBtX3BhcnRzLmdldChT
Y3JvbGxiYXJCR1BhcnQpOworICAgIGlmIChwYXJ0KSB7CisgICAgICAgIHBhcnQtPmxheW91dCgp
OworICAgICAgICBuZXdUaGlja25lc3MgPSBpc0hvcml6b250YWwgPyBwYXJ0LT5oZWlnaHQoKSA6
IHBhcnQtPndpZHRoKCk7CisgICAgfQorICAgIAorICAgIGlmIChuZXdUaGlja25lc3MgIT0gb2xk
VGhpY2tuZXNzKSB7CisgICAgICAgIHNldEZyYW1lUmVjdChJbnRSZWN0KHgoKSwgeSgpLCBpc0hv
cml6b250YWwgPyB3aWR0aCgpIDogbmV3VGhpY2tuZXNzLCBpc0hvcml6b250YWwgPyBuZXdUaGlj
a25lc3MgOiBoZWlnaHQoKSkpOworICAgICAgICBtX293bmVyLT5zZXRDaGlsZE5lZWRzTGF5b3V0
KHRydWUpOworICAgIH0KK30KKwordm9pZCBSZW5kZXJTY3JvbGxiYXI6OnVwZGF0ZVNjcm9sbGJh
clBhcnQoU2Nyb2xsYmFyUGFydCBwYXJ0VHlwZSwgUmVuZGVyU3R5bGU6OlBzZXVkb0lkIHBzZXVk
b0lkLCBSZW5kZXJTdHlsZSogcGFydFN0eWxlLCBib29sIGRlc3Ryb3kpCit7CisgICAgaWYgKCFw
YXJ0U3R5bGUpCisgICAgICAgIHBhcnRTdHlsZSA9IGdldFNjcm9sbGJhclBzZXVkb1N0eWxlKHBh
cnRUeXBlLCBwc2V1ZG9JZCk7CisgICAgCisgICAgYm9vbCBuZWVkUmVuZGVyZXIgPSAhZGVzdHJv
eSAmJiBwYXJ0U3R5bGUgJiYgcGFydFN0eWxlLT5kaXNwbGF5KCkgIT0gTk9ORSAmJiBwYXJ0U3R5
bGUtPnZpc2liaWxpdHkoKSA9PSBWSVNJQkxFOworICAgIAorICAgIFJlbmRlclNjcm9sbGJhclBh
cnQqIHBhcnRSZW5kZXJlciA9IG1fcGFydHMuZ2V0KHBhcnRUeXBlKTsKKyAgICBpZiAoIXBhcnRS
ZW5kZXJlciAmJiBuZWVkUmVuZGVyZXIpIHsKKyAgICAgICAgcGFydFJlbmRlcmVyID0gbmV3ICht
X293bmVyLT5yZW5kZXJBcmVuYSgpKSBSZW5kZXJTY3JvbGxiYXJQYXJ0KHRoaXMsIHBhcnRUeXBl
LCBtX293bmVyLT5kb2N1bWVudCgpKTsKKyAgICAgICAgcGFydFJlbmRlcmVyLT5zZXRTdHlsZShw
YXJ0U3R5bGUpOworICAgICAgICBtX3BhcnRzLnNldChwYXJ0VHlwZSwgcGFydFJlbmRlcmVyKTsK
KyAgICB9IGVsc2UgaWYgKHBhcnRSZW5kZXJlciAmJiAhbmVlZFJlbmRlcmVyKSB7CisgICAgICAg
IG1fcGFydHMucmVtb3ZlKHBhcnRUeXBlKTsKKyAgICAgICAgcGFydFJlbmRlcmVyLT5kZXN0cm95
KCk7CisgICAgfQorfQorCit2b2lkIFJlbmRlclNjcm9sbGJhcjo6cGFpbnRQYXJ0KEdyYXBoaWNz
Q29udGV4dCogZ3JhcGhpY3NDb250ZXh0LCBTY3JvbGxiYXJQYXJ0IHBhcnRUeXBlLCBjb25zdCBJ
bnRSZWN0JiByZWN0KQoreworICAgIFJlbmRlclNjcm9sbGJhclBhcnQqIHBhcnRSZW5kZXJlciA9
IG1fcGFydHMuZ2V0KHBhcnRUeXBlKTsKKyAgICBpZiAoIXBhcnRSZW5kZXJlcikKKyAgICAgICAg
cmV0dXJuOworCisgICAgLy8gTWFrZSBzdXJlIG91ciBkaW1lbnNpb25zIG1hdGNoIHRoZSByZWN0
LgorICAgIHBhcnRSZW5kZXJlci0+c2V0UG9zKHJlY3QueCgpIC0geCgpLCByZWN0LnkoKSAtIHko
KSk7CisgICAgcGFydFJlbmRlcmVyLT5zZXRXaWR0aChyZWN0LndpZHRoKCkpOworICAgIHBhcnRS
ZW5kZXJlci0+c2V0SGVpZ2h0KHJlY3QuaGVpZ2h0KCkpOworCisgICAgLy8gTm93IGRvIHRoZSBw
YWludC4KKyAgICBSZW5kZXJPYmplY3Q6OlBhaW50SW5mbyBwYWludEluZm8oZ3JhcGhpY3NDb250
ZXh0LCByZWN0LCBQYWludFBoYXNlQmxvY2tCYWNrZ3JvdW5kLCBmYWxzZSwgMCwgMCk7CisgICAg
cGFydFJlbmRlcmVyLT5wYWludChwYWludEluZm8sIHgoKSwgeSgpKTsKKyAgICBwYWludEluZm8u
cGhhc2UgPSBQYWludFBoYXNlQ2hpbGRCbG9ja0JhY2tncm91bmRzOworICAgIHBhcnRSZW5kZXJl
ci0+cGFpbnQocGFpbnRJbmZvLCB4KCksIHkoKSk7CisgICAgcGFpbnRJbmZvLnBoYXNlID0gUGFp
bnRQaGFzZUZsb2F0OworICAgIHBhcnRSZW5kZXJlci0+cGFpbnQocGFpbnRJbmZvLCB4KCksIHko
KSk7CisgICAgcGFpbnRJbmZvLnBoYXNlID0gUGFpbnRQaGFzZUZvcmVncm91bmQ7CisgICAgcGFy
dFJlbmRlcmVyLT5wYWludChwYWludEluZm8sIHgoKSwgeSgpKTsKKyAgICBwYWludEluZm8ucGhh
c2UgPSBQYWludFBoYXNlT3V0bGluZTsKKyAgICBwYXJ0UmVuZGVyZXItPnBhaW50KHBhaW50SW5m
bywgeCgpLCB5KCkpOworfQorCit9CkluZGV4OiByZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhci5oCShyZXZpc2lvbiAwKQor
KysgcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhci5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDcy
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisg
KiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxl
IENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAor
ICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIFJlbmRlclNjcm9sbGJhcl9oCisjZGVmaW5lIFJlbmRlclNjcm9sbGJhcl9o
CisKKyNpbmNsdWRlICJTY3JvbGxiYXIuaCIKKyNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgorI2lu
Y2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUmVu
ZGVyT2JqZWN0OworY2xhc3MgUmVuZGVyU2Nyb2xsYmFyUGFydDsKK2NsYXNzIFJlbmRlclN0eWxl
OworCitjbGFzcyBSZW5kZXJTY3JvbGxiYXIgOiBwdWJsaWMgU2Nyb2xsYmFyIHsKK3Byb3RlY3Rl
ZDoKKyAgICBSZW5kZXJTY3JvbGxiYXIoU2Nyb2xsYmFyQ2xpZW50KiwgU2Nyb2xsYmFyT3JpZW50
YXRpb24sIFJlbmRlclN0eWxlKiwgUmVuZGVyT2JqZWN0Kik7CisKK3B1YmxpYzoKKyAgICBmcmll
bmQgY2xhc3MgU2Nyb2xsYmFyOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcm9sbGJhcj4gY3Jl
YXRlQ3VzdG9tU2Nyb2xsYmFyKFNjcm9sbGJhckNsaWVudCosIFNjcm9sbGJhck9yaWVudGF0aW9u
LCBSZW5kZXJTdHlsZSosIFJlbmRlck9iamVjdCopOworICAgIHZpcnR1YWwgflJlbmRlclNjcm9s
bGJhcigpOworCisgICAgdm9pZCB1cGRhdGVTY3JvbGxiYXJQYXJ0cyhSZW5kZXJTdHlsZSogPSAw
LCBib29sIGRlc3Ryb3kgPSBmYWxzZSk7CisKKyAgICBzdGF0aWMgU2Nyb2xsYmFyUGFydCBwYXJ0
Rm9yU3R5bGVSZXNvbHZlKCk7CisgICAgc3RhdGljIFJlbmRlclNjcm9sbGJhciogc2Nyb2xsYmFy
Rm9yU3R5bGVSZXNvbHZlKCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgc3R5bGVDaGFuZ2VkKCkgeyB1
cGRhdGVTY3JvbGxiYXJQYXJ0cygpOyB9CisKKyAgICBSZW5kZXJPYmplY3QqIG93bmluZ1JlbmRl
cmVyKCkgY29uc3QgeyByZXR1cm4gbV9vd25lcjsgfQorCisgICAgdm9pZCBwYWludFBhcnQoR3Jh
cGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyUGFydCwgY29uc3QgSW50UmVjdCYpOworCitwcml2YXRl
OgorICAgIFJlbmRlclN0eWxlKiBnZXRTY3JvbGxiYXJQc2V1ZG9TdHlsZShTY3JvbGxiYXJQYXJ0
LCBSZW5kZXJTdHlsZTo6UHNldWRvSWQpOworICAgIHZvaWQgdXBkYXRlU2Nyb2xsYmFyUGFydChT
Y3JvbGxiYXJQYXJ0LCBSZW5kZXJTdHlsZTo6UHNldWRvSWQsIFJlbmRlclN0eWxlKiwgYm9vbCBk
ZXN0cm95KTsKKworICAgIFJlbmRlck9iamVjdCogbV9vd25lcjsKKyAgICBIYXNoTWFwPHVuc2ln
bmVkLCBSZW5kZXJTY3JvbGxiYXJQYXJ0Kj4gbV9wYXJ0czsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIFJlbmRlclNjcm9sbGJhcl9oCkluZGV4OiByZW5kZXJpbmcv
UmVuZGVyU2Nyb2xsYmFyUGFydC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcmVuZGVyaW5nL1JlbmRlclNj
cm9sbGJhclBhcnQuY3BwCShyZXZpc2lvbiAwKQorKysgcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJh
clBhcnQuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyNSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFw
cGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIlJlbmRlclNjcm9sbGJhclBhcnQuaCIKKyNpbmNsdWRlICJSZW5kZXJT
Y3JvbGxiYXIuaCIKKyNpbmNsdWRlICJSZW5kZXJTY3JvbGxiYXJUaGVtZS5oIgorCit1c2luZyBu
YW1lc3BhY2Ugc3RkOworCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlbmRlclNjcm9sbGJhclBh
cnQ6OlJlbmRlclNjcm9sbGJhclBhcnQoUmVuZGVyU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIFNjcm9s
bGJhclBhcnQgcGFydCwgTm9kZSogbm9kZSkKKyAgICA6IFJlbmRlckJsb2NrKG5vZGUpCisgICAg
LCBtX3Njcm9sbGJhcihzY3JvbGxiYXIpCisgICAgLCBtX3BhcnQocGFydCkKK3sKK30KKworUmVu
ZGVyU2Nyb2xsYmFyUGFydDo6flJlbmRlclNjcm9sbGJhclBhcnQoKQoreworfQorCit2b2lkIFJl
bmRlclNjcm9sbGJhclBhcnQ6OmxheW91dCgpCit7CisgICAgaWYgKG1fc2Nyb2xsYmFyLT5vcmll
bnRhdGlvbigpID09IEhvcml6b250YWxTY3JvbGxiYXIpCisgICAgICAgIGxheW91dEhvcml6b250
YWxQYXJ0KCk7CisgICAgZWxzZQorICAgICAgICBsYXlvdXRWZXJ0aWNhbFBhcnQoKTsKKworICAg
IG1fb3ZlcmZsb3dXaWR0aCA9IG1heChtX3dpZHRoLCBtX292ZXJmbG93V2lkdGgpOworICAgIG1f
b3ZlcmZsb3dIZWlnaHQgPSBtYXgobV9oZWlnaHQsIG1fb3ZlcmZsb3dIZWlnaHQpOworICAgIAor
ICAgIHNldE5lZWRzTGF5b3V0KGZhbHNlKTsKK30KKwordm9pZCBSZW5kZXJTY3JvbGxiYXJQYXJ0
OjpsYXlvdXRIb3Jpem9udGFsUGFydCgpCit7CisgICAgaWYgKG1fcGFydCA9PSBTY3JvbGxiYXJC
R1BhcnQpIHsKKyAgICAgICAgc2V0UG9zKG1fc2Nyb2xsYmFyLT54KCksIG1fc2Nyb2xsYmFyLT55
KCkpOworICAgICAgICBtX3dpZHRoID0gbV9zY3JvbGxiYXItPndpZHRoKCk7CisgICAgICAgIGNv
bXB1dGVTY3JvbGxiYXJIZWlnaHQoKTsKKyAgICB9Cit9CisKK3ZvaWQgUmVuZGVyU2Nyb2xsYmFy
UGFydDo6bGF5b3V0VmVydGljYWxQYXJ0KCkKK3sKKyAgICBpZiAobV9wYXJ0ID09IFNjcm9sbGJh
ckJHUGFydCkgeworICAgICAgICBzZXRQb3MobV9zY3JvbGxiYXItPngoKSwgbV9zY3JvbGxiYXIt
PnkoKSk7CisgICAgICAgIGNvbXB1dGVTY3JvbGxiYXJXaWR0aCgpOworICAgICAgICBtX2hlaWdo
dCA9IG1fc2Nyb2xsYmFyLT5oZWlnaHQoKTsKKyAgICB9Cit9CisKK3N0YXRpYyBpbnQgY2FsY1Nj
cm9sbGJhclRoaWNrbmVzc1VzaW5nKGNvbnN0IExlbmd0aCYgbCwgaW50IGNvbnRhaW5pbmdMZW5n
dGgpCit7CisgICAgaWYgKGwuaXNJbnRyaW5zaWNPckF1dG8oKSkKKyAgICAgICAgcmV0dXJuIFNj
cm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpLT5zY3JvbGxiYXJUaGlja25lc3MoKTsKKyAgICBy
ZXR1cm4gbC5jYWxjTWluVmFsdWUoY29udGFpbmluZ0xlbmd0aCk7Cit9CisKK3ZvaWQgUmVuZGVy
U2Nyb2xsYmFyUGFydDo6Y29tcHV0ZVNjcm9sbGJhcldpZHRoKCkKK3sKKyAgICBpbnQgdmlzaWJs
ZVNpemUgPSBtX3Njcm9sbGJhci0+b3duaW5nUmVuZGVyZXIoKS0+d2lkdGgoKSAtIG1fc2Nyb2xs
YmFyLT5vd25pbmdSZW5kZXJlcigpLT5ib3JkZXJMZWZ0KCkgLSBtX3Njcm9sbGJhci0+b3duaW5n
UmVuZGVyZXIoKS0+Ym9yZGVyUmlnaHQoKTsKKyAgICBpbnQgd2lkdGggPSBjYWxjU2Nyb2xsYmFy
VGhpY2tuZXNzVXNpbmcoc3R5bGUoKS0+d2lkdGgoKSwgdmlzaWJsZVNpemUpOworICAgIGludCBt
aW5XaWR0aCA9IGNhbGNTY3JvbGxiYXJUaGlja25lc3NVc2luZyhzdHlsZSgpLT5taW5XaWR0aCgp
LCB2aXNpYmxlU2l6ZSk7CisgICAgaW50IG1heFdpZHRoID0gc3R5bGUoKS0+bWF4V2lkdGgoKS5p
c1VuZGVmaW5lZCgpID8gd2lkdGggOiBjYWxjU2Nyb2xsYmFyVGhpY2tuZXNzVXNpbmcoc3R5bGUo
KS0+bWF4V2lkdGgoKSwgdmlzaWJsZVNpemUpOworICAgIG1fd2lkdGggPSBtYXgobWluV2lkdGgs
IG1pbihtYXhXaWR0aCwgd2lkdGgpKTsKK30KKwordm9pZCBSZW5kZXJTY3JvbGxiYXJQYXJ0Ojpj
b21wdXRlU2Nyb2xsYmFySGVpZ2h0KCkKK3sKKyAgICBpbnQgdmlzaWJsZVNpemUgPSBtX3Njcm9s
bGJhci0+b3duaW5nUmVuZGVyZXIoKS0+aGVpZ2h0KCkgLSAgbV9zY3JvbGxiYXItPm93bmluZ1Jl
bmRlcmVyKCktPmJvcmRlclRvcCgpIC0gbV9zY3JvbGxiYXItPm93bmluZ1JlbmRlcmVyKCktPmJv
cmRlckJvdHRvbSgpOworICAgIGludCBoZWlnaHQgPSBjYWxjU2Nyb2xsYmFyVGhpY2tuZXNzVXNp
bmcoc3R5bGUoKS0+aGVpZ2h0KCksIHZpc2libGVTaXplKTsKKyAgICBpbnQgbWluSGVpZ2h0ID0g
Y2FsY1Njcm9sbGJhclRoaWNrbmVzc1VzaW5nKHN0eWxlKCktPm1pbkhlaWdodCgpLCB2aXNpYmxl
U2l6ZSk7CisgICAgaW50IG1heEhlaWdodCA9IHN0eWxlKCktPm1heEhlaWdodCgpLmlzVW5kZWZp
bmVkKCkgPyBoZWlnaHQgOiBjYWxjU2Nyb2xsYmFyVGhpY2tuZXNzVXNpbmcoc3R5bGUoKS0+bWF4
SGVpZ2h0KCksIHZpc2libGVTaXplKTsKKyAgICBtX2hlaWdodCA9IG1heChtaW5IZWlnaHQsIG1p
bihtYXhIZWlnaHQsIGhlaWdodCkpOworCit9CisKK3ZvaWQgUmVuZGVyU2Nyb2xsYmFyUGFydDo6
Y2FsY1ByZWZXaWR0aHMoKQoreworICAgIGlmICghcHJlZldpZHRoc0RpcnR5KCkpCisgICAgICAg
IHJldHVybjsKKyAgICAKKyAgICBtX21pblByZWZXaWR0aCA9IG1fbWF4UHJlZldpZHRoID0gMDsK
KworICAgIHNldFByZWZXaWR0aHNEaXJ0eShmYWxzZSk7Cit9CisKK3ZvaWQgUmVuZGVyU2Nyb2xs
YmFyUGFydDo6c2V0U3R5bGUoY29uc3QgUmVuZGVyU3R5bGUqIHMpCit7CisgICAgUmVuZGVyQmxv
Y2s6OnNldFN0eWxlKHMpOworICAgIHNldElubGluZShmYWxzZSk7CisgICAgc2V0UG9zaXRpb25l
ZChmYWxzZSk7CisgICAgc2V0RmxvYXRpbmcoZmFsc2UpOworICAgIHNldEhhc092ZXJmbG93Q2xp
cChmYWxzZSk7Cit9CisKK30KSW5kZXg6IHJlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclBhcnQuaAkocmV2aXNpb24g
MCkKKysrIHJlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0LmgJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhlIG5hbWUg
b2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAg
ICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMg
cHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgUmVuZGVyU2Nyb2xsYmFyUGFydF9oCisjZGVmaW5lIFJlbmRl
clNjcm9sbGJhclBhcnRfaAorCisjaW5jbHVkZSAiUmVuZGVyQmxvY2suaCIKKyNpbmNsdWRlICJT
Y3JvbGxUeXBlcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFJlbmRlclNjcm9s
bGJhcjsKKworY2xhc3MgUmVuZGVyU2Nyb2xsYmFyUGFydCA6IHB1YmxpYyBSZW5kZXJCbG9jayB7
CitwdWJsaWM6CisgICAgUmVuZGVyU2Nyb2xsYmFyUGFydChSZW5kZXJTY3JvbGxiYXIqLCBTY3Jv
bGxiYXJQYXJ0LCBOb2RlKik7CisgICAgdmlydHVhbCB+UmVuZGVyU2Nyb2xsYmFyUGFydCgpOwor
CisgICAgdmlydHVhbCBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3QgeyByZXR1cm4gIlJl
bmRlclNjcm9sbGJhclBhcnQiOyB9CisgICAgCisgICAgdmlydHVhbCBib29sIHJlcXVpcmVzTGF5
ZXIoKSB7IHJldHVybiBmYWxzZTsgfQorCisgICAgdmlydHVhbCB2b2lkIGxheW91dCgpOworICAg
IHZpcnR1YWwgdm9pZCBjYWxjUHJlZldpZHRocygpOworICAgIAorICAgIHZpcnR1YWwgdm9pZCBz
ZXRTdHlsZShjb25zdCBSZW5kZXJTdHlsZSopOworCitwcml2YXRlOgorICAgIHZvaWQgbGF5b3V0
SG9yaXpvbnRhbFBhcnQoKTsKKyAgICB2b2lkIGxheW91dFZlcnRpY2FsUGFydCgpOworCisgICAg
dm9pZCBjb21wdXRlU2Nyb2xsYmFyV2lkdGgoKTsKKyAgICB2b2lkIGNvbXB1dGVTY3JvbGxiYXJI
ZWlnaHQoKTsKKyAgICAKKyAgICBSZW5kZXJTY3JvbGxiYXIqIG1fc2Nyb2xsYmFyOworICAgIFNj
cm9sbGJhclBhcnQgbV9wYXJ0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gUmVuZGVyU2Nyb2xsYmFyUGFydF9oCkluZGV4OiByZW5kZXJpbmcvUmVuZGVyU2Nyb2xs
YmFyVGhlbWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHJlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJUaGVt
ZS5jcHAJKHJldmlzaW9uIDApCisrKyByZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuY3Bw
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDc1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMu
ICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3Ig
dGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaCIKKyNpbmNsdWRlICJSZW5kZXJTY3JvbGxiYXIu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZW5kZXJTY3JvbGxiYXJUaGVtZSogUmVuZGVy
U2Nyb2xsYmFyVGhlbWU6OnJlbmRlclNjcm9sbGJhclRoZW1lKCkKK3sKKyAgICBzdGF0aWMgUmVu
ZGVyU2Nyb2xsYmFyVGhlbWUgdGhlbWU7CisgICAgcmV0dXJuICZ0aGVtZTsKK30KKwordm9pZCBS
ZW5kZXJTY3JvbGxiYXJUaGVtZTo6cGFpbnRTY3JvbGxiYXJCYWNrZ3JvdW5kKEdyYXBoaWNzQ29u
dGV4dCogZ3JhcGhpY3NDb250ZXh0LCBTY3JvbGxiYXIqIHNjcm9sbGJhcikKK3sKKyAgICBzdGF0
aWNfY2FzdDxSZW5kZXJTY3JvbGxiYXIqPihzY3JvbGxiYXIpLT5wYWludFBhcnQoZ3JhcGhpY3ND
b250ZXh0LCBTY3JvbGxiYXJCR1BhcnQsIHNjcm9sbGJhci0+ZnJhbWVSZWN0KCkpOworfQorCit2
b2lkIFJlbmRlclNjcm9sbGJhclRoZW1lOjpwYWludFNjcm9sbENvcm5lcihTY3JvbGxWaWV3Kiwg
R3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiBjb3JuZXJSZWN0KQorewor
fQorCitib29sIFJlbmRlclNjcm9sbGJhclRoZW1lOjpoYXNCdXR0b25zKFNjcm9sbGJhciopCit7
CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgUmVuZGVyU2Nyb2xsYmFyVGhlbWU6Omhhc1Ro
dW1iKFNjcm9sbGJhciopCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK0ludFJlY3QgUmVuZGVy
U2Nyb2xsYmFyVGhlbWU6OmJhY2tCdXR0b25SZWN0KFNjcm9sbGJhciosIFNjcm9sbGJhclBhcnQs
IGJvb2wgcGFpbnRpbmcpCit7CisgICAgcmV0dXJuIEludFJlY3QoKTsKK30KKworSW50UmVjdCBS
ZW5kZXJTY3JvbGxiYXJUaGVtZTo6Zm9yd2FyZEJ1dHRvblJlY3QoU2Nyb2xsYmFyKiwgU2Nyb2xs
YmFyUGFydCwgYm9vbCBwYWludGluZykKK3sKKyAgICByZXR1cm4gSW50UmVjdCgpOworfQorCitJ
bnRSZWN0IFJlbmRlclNjcm9sbGJhclRoZW1lOjp0cmFja1JlY3QoU2Nyb2xsYmFyKiwgYm9vbCBw
YWludGluZykKK3sKKyAgICByZXR1cm4gSW50UmVjdCgpOworfQorCit9CkluZGV4OiByZW5kZXJp
bmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSByZW5kZXJpbmcvUmVuZGVy
U2Nyb2xsYmFyVGhlbWUuaAkocmV2aXNpb24gMCkKKysrIHJlbmRlcmluZy9SZW5kZXJTY3JvbGxi
YXJUaGVtZS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBw
bGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFJlbmRlclNj
cm9sbGJhclRoZW1lX2gKKyNkZWZpbmUgUmVuZGVyU2Nyb2xsYmFyVGhlbWVfaAorCisjaW5jbHVk
ZSAiU2Nyb2xsYmFyVGhlbWVDb21wb3NpdGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitj
bGFzcyBQbGF0Zm9ybU1vdXNlRXZlbnQ7CitjbGFzcyBTY3JvbGxiYXI7CitjbGFzcyBTY3JvbGxW
aWV3OworCitjbGFzcyBSZW5kZXJTY3JvbGxiYXJUaGVtZSA6IHB1YmxpYyBTY3JvbGxiYXJUaGVt
ZUNvbXBvc2l0ZSB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+UmVuZGVyU2Nyb2xsYmFyVGhlbWUo
KSB7fTsKKyAgICAKKyAgICB2aXJ0dWFsIGludCBzY3JvbGxiYXJUaGlja25lc3MoU2Nyb2xsYmFy
Q29udHJvbFNpemUgY29udHJvbFNpemUpIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjpuYXRpdmVU
aGVtZSgpLT5zY3JvbGxiYXJUaGlja25lc3MoY29udHJvbFNpemUpOyB9CisKKyAgICB2aXJ0dWFs
IFNjcm9sbGJhckJ1dHRvbnNQbGFjZW1lbnQgYnV0dG9uc1BsYWNlbWVudCgpIGNvbnN0IHsgcmV0
dXJuIFNjcm9sbGJhckJ1dHRvbnNEb3VibGVCb3RoOyB9CisKKyAgICB2aXJ0dWFsIGJvb2wgc3Vw
cG9ydHNDb250cm9sVGludHMoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9CisgICAgdmlydHVhbCBi
b29sIGludmFsaWRhdGVPbk1vdXNlRW50ZXJFeGl0KCkgeyByZXR1cm4gdHJ1ZTsgfQorCisgICAg
dmlydHVhbCB2b2lkIHBhaW50U2Nyb2xsQ29ybmVyKFNjcm9sbFZpZXcqLCBHcmFwaGljc0NvbnRl
eHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIGNvcm5lclJlY3QpOworCisgICAgdmlydHVhbCBi
b29sIHNob3VsZENlbnRlck9uVGh1bWIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNvbnN0IFBsYXRm
b3JtTW91c2VFdmVudCYgZXZlbnQpIHsgcmV0dXJuIFNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVt
ZSgpLT5zaG91bGRDZW50ZXJPblRodW1iKHNjcm9sbGJhciwgZXZlbnQpOyB9CisgICAgCisgICAg
dmlydHVhbCBkb3VibGUgaW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5KCkgeyByZXR1cm4gU2Ny
b2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPmluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgp
OyB9CisgICAgdmlydHVhbCBkb3VibGUgYXV0b3Njcm9sbFRpbWVyRGVsYXkoKSB7IHJldHVybiBT
Y3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKS0+YXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsgfQor
CisgICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyU2Nyb2xsYmFyKFNjcm9sbGJhciogc2Nyb2xsYmFy
KSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKS0+cmVnaXN0ZXJTY3JvbGxi
YXIoc2Nyb2xsYmFyKTsgfQorICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyU2Nyb2xsYmFyKFNj
cm9sbGJhciogc2Nyb2xsYmFyKSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUo
KS0+dW5yZWdpc3RlclNjcm9sbGJhcihzY3JvbGxiYXIpOyB9CisKKyAgICBzdGF0aWMgUmVuZGVy
U2Nyb2xsYmFyVGhlbWUqIHJlbmRlclNjcm9sbGJhclRoZW1lKCk7CisgICAgCitwcm90ZWN0ZWQ6
CisgICAgdmlydHVhbCBib29sIGhhc0J1dHRvbnMoU2Nyb2xsYmFyKik7CisgICAgdmlydHVhbCBi
b29sIGhhc1RodW1iKFNjcm9sbGJhciopOworCisgICAgdmlydHVhbCBJbnRSZWN0IGJhY2tCdXR0
b25SZWN0KFNjcm9sbGJhciosIFNjcm9sbGJhclBhcnQsIGJvb2wgcGFpbnRpbmcgPSBmYWxzZSk7
CisgICAgdmlydHVhbCBJbnRSZWN0IGZvcndhcmRCdXR0b25SZWN0KFNjcm9sbGJhciosIFNjcm9s
bGJhclBhcnQsIGJvb2wgcGFpbnRpbmcgPSBmYWxzZSk7CisgICAgdmlydHVhbCBJbnRSZWN0IHRy
YWNrUmVjdChTY3JvbGxiYXIqLCBib29sIHBhaW50aW5nID0gZmFsc2UpOworICAgIAorICAgIHZp
cnR1YWwgdm9pZCBwYWludFNjcm9sbGJhckJhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0KiwgU2Ny
b2xsYmFyKik7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBSZW5k
ZXJTY3JvbGxiYXJUaGVtZV9oCkluZGV4OiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkocmV2aXNpb24gMzcz
ODgpCisrKyByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAkod29ya2luZyBjb3B5KQpAQCAt
MTA5LDcgKzEwOSw4IEBAIHB1YmxpYzoKICAgICBlbnVtIFBzZXVkb0lkIHsgTk9QU0VVRE8sIEZJ
UlNUX0xJTkUsIEZJUlNUX0xFVFRFUiwgQkVGT1JFLCBBRlRFUiwgU0VMRUNUSU9OLCBGSVJTVF9M
SU5FX0lOSEVSSVRFRCwgRklMRV9VUExPQURfQlVUVE9OLCBJTlBVVF9QTEFDRUhPTERFUiwKICAg
ICAgICAgICAgICAgICAgICAgU0xJREVSX1RIVU1CLCBTRUFSQ0hfQ0FOQ0VMX0JVVFRPTiwgU0VB
UkNIX0RFQ09SQVRJT04sIFNFQVJDSF9SRVNVTFRTX0RFQ09SQVRJT04sIFNFQVJDSF9SRVNVTFRT
X0JVVFRPTiwgTUVESUFfQ09OVFJPTFNfUEFORUwsCiAgICAgICAgICAgICAgICAgICAgIE1FRElB
X0NPTlRST0xTX1BMQVlfQlVUVE9OLCBNRURJQV9DT05UUk9MU19NVVRFX0JVVFRPTiwgTUVESUFf
Q09OVFJPTFNfVElNRUxJTkUsIE1FRElBX0NPTlRST0xTX1RJTUVfRElTUExBWSwKLSAgICAgICAg
ICAgICAgICAgICAgTUVESUFfQ09OVFJPTFNfU0VFS19CQUNLX0JVVFRPTiwgTUVESUFfQ09OVFJP
TFNfU0VFS19GT1JXQVJEX0JVVFRPTiAsIE1FRElBX0NPTlRST0xTX0ZVTExTQ1JFRU5fQlVUVE9O
IH07CisgICAgICAgICAgICAgICAgICAgIE1FRElBX0NPTlRST0xTX1NFRUtfQkFDS19CVVRUT04s
IE1FRElBX0NPTlRST0xTX1NFRUtfRk9SV0FSRF9CVVRUT04gLCBNRURJQV9DT05UUk9MU19GVUxM
U0NSRUVOX0JVVFRPTiwKKyAgICAgICAgICAgICAgICAgICAgU0NST0xMQkFSLCBTQ1JPTExCQVJf
VEhVTUIsIFNDUk9MTEJBUl9CVVRUT04sIFNDUk9MTEJBUl9UUkFDSywgU0NST0xMQkFSX1RSQUNL
X1BJRUNFLCBTQ1JPTExCQVJfQ09STkVSIH07CiAgICAgc3RhdGljIGNvbnN0IGludCBGSVJTVF9J
TlRFUk5BTF9QU0VVRE9JRCA9IEZJTEVfVVBMT0FEX0JVVFRPTjsKIAogICAgIHZvaWQgcmVmKCkg
eyBtX3JlZisrOyB9Cg==
</data>
<flag name="review"
          id="11003"
          type_id="1"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24240</attachid>
            <date>2008-10-09 15:21:35 -0700</date>
            <delta_ts>2008-10-09 17:23:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>91617</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNzQ1MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsOTYgQEAKKzIwMDgtMTAtMDkgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ0
NgorCisgICAgICAgIFRoaXMgcGF0Y2ggZ2V0cyBDU1Mgc2Nyb2xsYmFycyB1cCBhbmQgbGltcGlu
Zy4gIFRoZXJlJ3Mgbm8gd2F5IHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gc3RhdGVzIG9yIGJldHdl
ZW4KKyAgICAgICAgb3JpZW50YXRpb24gYW5kIGJhY2sgdnMuIGZvcndhcmQgb24gdGhlIGJ1dHRv
bnMsIGJ1dCBpdCdzIGEgc3RhcnQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkZWQgc2Nyb2xsYmFycy9iYXNpYy1zY3JvbGxiYXIuaHRtbAorCisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGNz
cy9DU1NTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rvcjo6ZXh0cmFj
dFBzZXVkb1R5cGUpOgorICAgICAgICAqIGNzcy9DU1NTZWxlY3Rvci5oOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTU2VsZWN0b3I6Oik6CisgICAgICAgICogY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6U2VsZWN0b3JDaGVja2VyOjpj
aGVja09uZVNlbGVjdG9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxUeXBlcy5oOgorICAg
ICAgICAoV2ViQ29yZTo6KToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxiYXIuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbGJhcjo6c3R5bGVDaGFuZ2VkKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9TY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxi
YXJUaGVtZUNvbXBvc2l0ZTo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhl
bWVDb21wb3NpdGU6OnNwbGl0VHJhY2spOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGJhclRo
ZW1lQ29tcG9zaXRlLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZUNvbXBvc2l0
ZTo6cGFpbnRTY3JvbGxiYXJCYWNrZ3JvdW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJh
clRoZW1lQ29tcG9zaXRlOjpwYWludFRyYWNrQmFja2dyb3VuZCk6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZTo6cGFpbnRUcmFja1BpZWNlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS93aW4vU2Nyb2xsYmFyVGhlbWVTYWZhcmkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsYmFyVGhlbWVTYWZhcmk6OnBhaW50VHJhY2tCYWNrZ3JvdW5kKToKKyAgICAgICAgKiBw
bGF0Zm9ybS93aW4vU2Nyb2xsYmFyVGhlbWVTYWZhcmkuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS93
aW4vU2Nyb2xsYmFyVGhlbWVXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYmFyVGhl
bWVXaW46OnBhaW50VHJhY2spOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9TY3JvbGxiYXJUaGVt
ZVdpbi5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllcjo6Y3JlYXRlU2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpzdHlsZUNoYW5nZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJT
Y3JvbGxiYXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhcjo6
Y3JlYXRlQ3VzdG9tU2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJh
cjo6UmVuZGVyU2Nyb2xsYmFyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhcjo6
flJlbmRlclNjcm9sbGJhcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTY3JvbGxiYXI6Omdl
dFNjcm9sbGJhclBzZXVkb1N0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJh
cjo6dXBkYXRlU2Nyb2xsYmFyUGFydHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2Nyb2xs
YmFyOjp1cGRhdGVTY3JvbGxiYXJQYXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9s
bGJhcjo6cGFpbnRQYXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhcjo6YnV0
dG9uUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTY3JvbGxiYXI6Om1pbmltdW1UaHVt
Ykxlbmd0aCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhci5oOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhcjo6c3R5bGVDaGFuZ2VkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhcjo6b3duaW5nUmVuZGVyZXIpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJTY3JvbGxiYXJQYXJ0LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTY3JvbGxiYXJQYXJ0OjpSZW5kZXJTY3JvbGxiYXJQYXJ0KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhclBhcnQ6On5SZW5kZXJTY3JvbGxiYXJQYXJ0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhclBhcnQ6OmxheW91dCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTY3JvbGxiYXJQYXJ0OjpsYXlvdXRIb3Jpem9udGFsUGFydCk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTY3JvbGxiYXJQYXJ0OjpsYXlvdXRWZXJ0aWNhbFBhcnQpOgor
ICAgICAgICAoV2ViQ29yZTo6Y2FsY1Njcm9sbGJhclRoaWNrbmVzc1VzaW5nKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhclBhcnQ6OmNvbXB1dGVTY3JvbGxiYXJXaWR0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTY3JvbGxiYXJQYXJ0Ojpjb21wdXRlU2Nyb2xsYmFySGVp
Z2h0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhclBhcnQ6OmNhbGNQcmVmV2lk
dGhzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhclBhcnQ6OnNldFN0eWxlKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyUGFydC5oOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhclBhcnQ6OnJlbmRlck5hbWUpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyU2Nyb2xsYmFyUGFydDo6cmVxdWlyZXNMYXllcik6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1lLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTY3JvbGxiYXJUaGVtZTo6cmVuZGVyU2Nyb2xsYmFyVGhlbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU2Nyb2xsYmFyVGhlbWU6OmJ1dHRvblNpemVzQWxvbmdUcmFja0F4
aXMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2Nyb2xsYmFyVGhlbWU6Omhhc0J1dHRvbnMp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2Nyb2xsYmFyVGhlbWU6Omhhc1RodW1iKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhclRoZW1lOjptaW5pbXVtVGh1bWJMZW5ndGgp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2Nyb2xsYmFyVGhlbWU6OmJhY2tCdXR0b25SZWN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhclRoZW1lOjpmb3J3YXJkQnV0dG9u
UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTY3JvbGxiYXJUaGVtZTo6dHJhY2tSZWN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhclRoZW1lOjpwYWludFNjcm9sbENv
cm5lcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTY3JvbGxiYXJUaGVtZTo6cGFpbnRTY3Jv
bGxiYXJCYWNrZ3JvdW5kKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhclRoZW1l
OjpwYWludFRyYWNrQmFja2dyb3VuZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTY3JvbGxi
YXJUaGVtZTo6cGFpbnRUcmFja1BpZWNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9s
bGJhclRoZW1lOjpwYWludEJ1dHRvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTY3JvbGxi
YXJUaGVtZTo6cGFpbnRUaHVtYik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJh
clRoZW1lLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2Nyb2xsYmFyVGhlbWU6
On5SZW5kZXJTY3JvbGxiYXJUaGVtZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTY3JvbGxi
YXJUaGVtZTo6c2Nyb2xsYmFyVGhpY2tuZXNzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNj
cm9sbGJhclRoZW1lOjpidXR0b25zUGxhY2VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clNjcm9sbGJhclRoZW1lOjpzdXBwb3J0c0NvbnRyb2xUaW50cyk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJTY3JvbGxiYXJUaGVtZTo6c2hvdWxkQ2VudGVyT25UaHVtYik6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTY3JvbGxiYXJUaGVtZTo6aW5pdGlhbEF1dG9zY3JvbGxUaW1lckRlbGF5
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhclRoZW1lOjphdXRvc2Nyb2xsVGlt
ZXJEZWxheSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTY3JvbGxiYXJUaGVtZTo6cmVnaXN0
ZXJTY3JvbGxiYXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2Nyb2xsYmFyVGhlbWU6OnVu
cmVnaXN0ZXJTY3JvbGxiYXIpOgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6Oik6CisKIDIwMDgtMTAtMDkgIEJy
YWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFu
ZGVycwpJbmRleDogV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJl
dmlzaW9uIDM3Mzg4KQorKysgV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oJKHdvcmtpbmcgY29weSkKQEAgLTM3MTcsNiArMzcxNywxMiBAQAogCQlCQzNCQTA0RjBFOEM0
NkRBMDBGQzVEMjAgLyogSlNFdmVudFRhcmdldFNWR0VsZW1lbnRJbnN0YW5jZS5sdXQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDM0JBMDREMEU4QzQ2
REEwMEZDNUQyMCAvKiBKU0V2ZW50VGFyZ2V0U1ZHRWxlbWVudEluc3RhbmNlLmx1dC5oICovOyB9
OwogCQlCQzNCQzI5QzBFOTFBQjBGMDA4MzU1ODggLyogSG9zdFdpbmRvdy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMzQkMyOUIwRTkxQUIwRjAwODM1
NTg4IC8qIEhvc3RXaW5kb3cuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlCQzNCRTEyQjBFOTgwOTJGMDA4MzU1ODggLyogUG9wdXBNZW51U3R5bGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDM0JFMTJB
MEU5ODA5MkYwMDgzNTU4OCAvKiBQb3B1cE1lbnVTdHlsZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUJDM0JFOTkzMEU5QzFDN0MwMDgzNTU4OCAv
KiBSZW5kZXJTY3JvbGxiYXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkMzQkU5OTAwRTlDMUM3QzAwODM1NTg4IC8qIFJlbmRlclNjcm9sbGJhci5j
cHAgKi87IH07CisJCUJDM0JFOTk0MEU5QzFDN0MwMDgzNTU4OCAvKiBSZW5kZXJTY3JvbGxiYXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDM0JFOTkx
MEU5QzFDN0MwMDgzNTU4OCAvKiBSZW5kZXJTY3JvbGxiYXIuaCAqLzsgfTsKKwkJQkMzQkU5OTUw
RTlDMUM3QzAwODM1NTg4IC8qIFJlbmRlclNjcm9sbGJhclBhcnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDM0JFOTkyMEU5QzFDN0MwMDgzNTU4OCAv
KiBSZW5kZXJTY3JvbGxiYXJQYXJ0LmggKi87IH07CisJCUJDM0JFOTk5MEU5QzFFNUQwMDgzNTU4
OCAvKiBSZW5kZXJTY3JvbGxiYXJUaGVtZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkMzQkU5OTgwRTlDMUU1RDAwODM1NTg4IC8qIFJlbmRlclNjcm9s
bGJhclRoZW1lLmggKi87IH07CisJCUJDM0JFOUE1MEU5QzIzOTYwMDgzNTU4OCAvKiBSZW5kZXJT
Y3JvbGxiYXJUaGVtZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQzNCRTlBNDBFOUMyMzk2MDA4MzU1ODggLyogUmVuZGVyU2Nyb2xsYmFyVGhlbWUu
Y3BwICovOyB9OworCQlCQzNCRTlBQjBFOUMyNDIwMDA4MzU1ODggLyogUmVuZGVyU2Nyb2xsYmFy
UGFydC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
QzNCRTlBQTBFOUMyNDIwMDA4MzU1ODggLyogUmVuZGVyU2Nyb2xsYmFyUGFydC5jcHAgKi87IH07
CiAJCUJDM0MzOUI2MEMwRDNEOEQwMDVGNEQ3QSAvKiBKU01lZGlhTGlzdC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzNDMzlCNDBDMEQzRDhEMDA1
RjREN0EgLyogSlNNZWRpYUxpc3QuY3BwICovOyB9OwogCQlCQzNDMzlCNzBDMEQzRDhEMDA1RjRE
N0EgLyogSlNNZWRpYUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEJDM0MzOUI1MEMwRDNEOEQwMDVGNEQ3QSAvKiBKU01lZGlhTGlzdC5oICovOyB9
OwogCQlCQzQzNjhFODBDMjI2RTMyMDA1RUZCNUYgLyogUmVjdC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM0MzY4RTcwQzIyNkUzMjAwNUVGQjVGIC8q
IFJlY3QuaCAqLzsgfTsKQEAgLTgyNjAsNiArODI2NiwxMiBAQAogCQlCQzNCQTA0RDBFOEM0NkRB
MDBGQzVEMjAgLyogSlNFdmVudFRhcmdldFNWR0VsZW1lbnRJbnN0YW5jZS5sdXQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVudFRhcmdldFNWR0VsZW1lbnRJbnN0YW5j
ZS5sdXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMzQkMyOUIwRTkxQUIwRjAw
ODM1NTg4IC8qIEhvc3RXaW5kb3cuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SG9zdFdpbmRvdy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzNCRTEyQTBFOTgw
OTJGMDA4MzU1ODggLyogUG9wdXBNZW51U3R5bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUG9wdXBNZW51U3R5bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QkMzQkU5OTAwRTlDMUM3QzAwODM1NTg4IC8qIFJlbmRlclNjcm9sbGJhci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJTY3JvbGxiYXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlCQzNCRTk5MTBFOUMxQzdDMDA4MzU1ODggLyogUmVuZGVy
U2Nyb2xsYmFyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlclNjcm9s
bGJhci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzNCRTk5MjBFOUMxQzdDMDA4
MzU1ODggLyogUmVuZGVyU2Nyb2xsYmFyUGFydC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBSZW5kZXJTY3JvbGxiYXJQYXJ0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUJDM0JFOTk4MEU5QzFFNUQwMDgzNTU4OCAvKiBSZW5kZXJTY3JvbGxiYXJUaGVtZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJTY3JvbGxiYXJUaGVtZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQzNCRTlBNDBFOUMyMzk2MDA4MzU1ODggLyog
UmVuZGVyU2Nyb2xsYmFyVGhlbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gUmVuZGVyU2Nyb2xsYmFyVGhlbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlCQzNCRTlBQTBFOUMyNDIwMDA4MzU1ODggLyogUmVuZGVyU2Nyb2xsYmFyUGFydC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSZW5kZXJTY3JvbGxiYXJQYXJ0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMzQzM5QjQwQzBEM0Q4RDAwNUY0
RDdBIC8qIEpTTWVkaWFMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU01lZGlhTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDM0Mz
OUI1MEMwRDNEOEQwMDVGNEQ3QSAvKiBKU01lZGlhTGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNNZWRpYUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQkM0MzY4RTcwQzIyNkUzMjAwNUVGQjVGIC8qIFJlY3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFJlY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEz
NTU5LDYgKzEzNTcxLDkgQEAKIAkJCQlBQkRERkU3MzBBNUM2RTZGMDBBM0UxMUQgLyogUmVuZGVy
TWVudUxpc3QuY3BwICovLAogCQkJCUFCRERGRTc0MEE1QzZFNzAwMEEzRTExRCAvKiBSZW5kZXJN
ZW51TGlzdC5oICovLAogCQkJCUJDRUE0ODQwMDk3RDkzMDIwMDk0QzlFNCAvKiBSZW5kZXJPYmpl
Y3QuY3BwICovLAorCQkJCUJDM0JFOUFBMEU5QzI0MjAwMDgzNTU4OCAvKiBSZW5kZXJTY3JvbGxi
YXJQYXJ0LmNwcCAqLywKKwkJCQlCQzNCRTlBNDBFOUMyMzk2MDA4MzU1ODggLyogUmVuZGVyU2Ny
b2xsYmFyVGhlbWUuY3BwICovLAorCQkJCUJDM0JFOTk4MEU5QzFFNUQwMDgzNTU4OCAvKiBSZW5k
ZXJTY3JvbGxiYXJUaGVtZS5oICovLAogCQkJCUJDRUE0ODQxMDk3RDkzMDIwMDk0QzlFNCAvKiBS
ZW5kZXJPYmplY3QuaCAqLywKIAkJCQlBODcxREVDODBBMTUzMEM3MDBCMTJBNjggLyogUmVuZGVy
UGFydC5jcHAgKi8sCiAJCQkJQTg3MURFQ0YwQTE1MzBDNzAwQjEyQTY4IC8qIFJlbmRlclBhcnQu
aCAqLywKQEAgLTEzNTcwLDYgKzEzNTg1LDkgQEAKIAkJCQlBODcxREZERjBBMTUzNzZCMDBCMTJB
NjggLyogUmVuZGVyUmVwbGFjZWQuaCAqLywKIAkJCQlCQ0E4NDZENDBEQzY3QTM1MDAyNkMzMDkg
LyogUmVuZGVyUmVwbGljYS5jcHAgKi8sCiAJCQkJQkNBODQ2RDUwREM2N0EzNTAwMjZDMzA5IC8q
IFJlbmRlclJlcGxpY2EuaCAqLywKKwkJCQlCQzNCRTk5MDBFOUMxQzdDMDA4MzU1ODggLyogUmVu
ZGVyU2Nyb2xsYmFyLmNwcCAqLywKKwkJCQlCQzNCRTk5MTBFOUMxQzdDMDA4MzU1ODggLyogUmVu
ZGVyU2Nyb2xsYmFyLmggKi8sCisJCQkJQkMzQkU5OTIwRTlDMUM3QzAwODM1NTg4IC8qIFJlbmRl
clNjcm9sbGJhclBhcnQuaCAqLywKIAkJCQlBQjI0N0E2QTBBRkQ2MzgzMDAzRkE1RkQgLyogUmVu
ZGVyU2xpZGVyLmNwcCAqLywKIAkJCQlBQjI0N0E2QjBBRkQ2MzgzMDAzRkE1RkQgLyogUmVuZGVy
U2xpZGVyLmggKi8sCiAJCQkJQTczNTJDMTcwQjFCQjg5RDAwQTk4NkQwIC8qIFJlbmRlclNWR0Js
b2NrLmNwcCAqLywKQEAgLTE1OTY0LDYgKzE1OTgyLDkgQEAKIAkJCQkxQzgxQkEwQzBFOTczNDgz
MDAyNjZFMDcgLyogSmF2YVNjcmlwdERlYnVnTGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFDODFCQTBFMEU5NzM0ODMwMDI2NkUwNyAvKiBKYXZhU2NyaXB0RGVidWdTZXJ2ZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDM0JFMTJCMEU5ODA5MkYwMDgzNTU4OCAvKiBQb3B1cE1lbnVTdHls
ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMzQkU5OTQwRTlDMUM3QzAwODM1NTg4IC8qIFJlbmRl
clNjcm9sbGJhci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQkMzQkU5OTUwRTlDMUM3QzAwODM1NTg4
IC8qIFJlbmRlclNjcm9sbGJhclBhcnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUJDM0JFOTk5MEU5
QzFFNUQwMDgzNTU4OCAvKiBSZW5kZXJTY3JvbGxiYXJUaGVtZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBA
IC0xNzgyNyw2ICsxNzg0OCw5IEBACiAJCQkJMUM4MUJBMDIwRTk3MzNDQjAwMjY2RTA3IC8qIEph
dmFTY3JpcHRQcm9maWxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFDODFCQTA5MEU5NzM0ODMw
MDI2NkUwNyAvKiBKYXZhU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFD
ODFCQTBEMEU5NzM0ODMwMDI2NkUwNyAvKiBKYXZhU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJQkMzQkU5OTMwRTlDMUM3QzAwODM1NTg4IC8qIFJlbmRlclNjcm9sbGJh
ci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlCQzNCRTlBNTBFOUMyMzk2MDA4MzU1ODggLyogUmVu
ZGVyU2Nyb2xsYmFyVGhlbWUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQkMzQkU5QUIwRTlDMjQy
MDAwODM1NTg4IC8qIFJlbmRlclNjcm9sbGJhclBhcnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4
OiBXZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3Mv
Q1NTU2VsZWN0b3IuY3BwCShyZXZpc2lvbiAzNzM5NCkKKysrIFdlYkNvcmUvY3NzL0NTU1NlbGVj
dG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE0LDYgKzExNCw3IEBAIHZvaWQgQ1NTU2VsZWN0
b3I6OmV4dHJhY3RQc2V1ZG9UeXBlKCkgY28KICAgICBzdGF0aWMgQXRvbWljU3RyaW5nIHNjcm9s
bGJhckhvcml6b250YWwoIi13ZWJraXQtc2Nyb2xsYmFyLWhvcml6b250YWwiKTsKICAgICBzdGF0
aWMgQXRvbWljU3RyaW5nIHNjcm9sbGJhclRodW1iKCItd2Via2l0LXNjcm9sbGJhci10aHVtYiIp
OwogICAgIHN0YXRpYyBBdG9taWNTdHJpbmcgc2Nyb2xsYmFyVHJhY2soIi13ZWJraXQtc2Nyb2xs
YmFyLXRyYWNrIik7CisgICAgc3RhdGljIEF0b21pY1N0cmluZyBzY3JvbGxiYXJUcmFja1BpZWNl
KCItd2Via2l0LXNjcm9sbGJhci10cmFjay1waWVjZSIpOwogICAgIHN0YXRpYyBBdG9taWNTdHJp
bmcgc2Nyb2xsYmFyVmVydGljYWwoIi13ZWJraXQtc2Nyb2xsYmFyLXZlcnRpY2FsIik7CiAgICAg
c3RhdGljIEF0b21pY1N0cmluZyBzZWFyY2hDYW5jZWxCdXR0b24oIi13ZWJraXQtc2VhcmNoLWNh
bmNlbC1idXR0b24iKTsKICAgICBzdGF0aWMgQXRvbWljU3RyaW5nIHNlYXJjaERlY29yYXRpb24o
Ii13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24iKTsKQEAgLTI1Myw2ICsyNTQsOSBAQCB2b2lkIENT
U1NlbGVjdG9yOjpleHRyYWN0UHNldWRvVHlwZSgpIGNvCiAgICAgfSBlbHNlIGlmIChtX3ZhbHVl
ID09IHNjcm9sbGJhclRyYWNrKSB7CiAgICAgICAgIGVsZW1lbnQgPSB0cnVlOwogICAgICAgICBt
X3BzZXVkb1R5cGUgPSBQc2V1ZG9TY3JvbGxiYXJUcmFjazsKKyAgICB9IGVsc2UgaWYgKG1fdmFs
dWUgPT0gc2Nyb2xsYmFyVHJhY2tQaWVjZSkgeworICAgICAgICBlbGVtZW50ID0gdHJ1ZTsKKyAg
ICAgICAgbV9wc2V1ZG9UeXBlID0gUHNldWRvU2Nyb2xsYmFyVHJhY2tQaWVjZTsKICAgICB9IGVs
c2UgaWYgKG1fdmFsdWUgPT0gc2Nyb2xsYmFyVmVydGljYWwpCiAgICAgICAgIG1fcHNldWRvVHlw
ZSA9IFBzZXVkb1Njcm9sbGJhclZlcnRpY2FsOwogICAgIGVsc2UgaWYgKG1fdmFsdWUgPT0gc2Vh
cmNoQ2FuY2VsQnV0dG9uKSB7CkluZGV4OiBXZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgJKHJldmlzaW9uIDM3Mzk0KQorKysg
V2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMTU5LDYgKzE1OSw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIFBzZXVkb1Njcm9sbGJhckhvcml6
b250YWwsCiAgICAgICAgICAgICBQc2V1ZG9TY3JvbGxiYXJUaHVtYiwKICAgICAgICAgICAgIFBz
ZXVkb1Njcm9sbGJhclRyYWNrLAorICAgICAgICAgICAgUHNldWRvU2Nyb2xsYmFyVHJhY2tQaWVj
ZSwKICAgICAgICAgICAgIFBzZXVkb1Njcm9sbGJhclZlcnRpY2FsLAogICAgICAgICAgICAgUHNl
dWRvU2VsZWN0aW9uLAogICAgICAgICAgICAgUHNldWRvRmlsZVVwbG9hZEJ1dHRvbiwKSW5kZXg6
IFdlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
Y3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCShyZXZpc2lvbiAzNzM4OCkKKysrIFdlYkNvcmUvY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzM5LDYgKzIzMzksMjQg
QEAgYm9vbCBDU1NTdHlsZVNlbGVjdG9yOjpTZWxlY3RvckNoZWNrZXI6OgogICAgICAgICAgICAg
Y2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvTWVkaWFDb250cm9sc0Z1bGxzY3JlZW5CdXR0b246CiAg
ICAgICAgICAgICAgICAgZHluYW1pY1BzZXVkbyA9IFJlbmRlclN0eWxlOjpNRURJQV9DT05UUk9M
U19GVUxMU0NSRUVOX0JVVFRPTjsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAg
ICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb1Njcm9sbGJhcjoKKyAgICAgICAgICAgICAg
ICBkeW5hbWljUHNldWRvID0gUmVuZGVyU3R5bGU6OlNDUk9MTEJBUjsKKyAgICAgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb1Njcm9s
bGJhckJ1dHRvbjoKKyAgICAgICAgICAgICAgICBkeW5hbWljUHNldWRvID0gUmVuZGVyU3R5bGU6
OlNDUk9MTEJBUl9CVVRUT047CisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAg
ICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9TY3JvbGxiYXJDb3JuZXI6CisgICAgICAgICAg
ICAgICAgZHluYW1pY1BzZXVkbyA9IFJlbmRlclN0eWxlOjpTQ1JPTExCQVJfQ09STkVSOworICAg
ICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6
UHNldWRvU2Nyb2xsYmFyVGh1bWI6CisgICAgICAgICAgICAgICAgZHluYW1pY1BzZXVkbyA9IFJl
bmRlclN0eWxlOjpTQ1JPTExCQVJfVEhVTUI7CisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9TY3JvbGxiYXJUcmFjazoKKyAg
ICAgICAgICAgICAgICBkeW5hbWljUHNldWRvID0gUmVuZGVyU3R5bGU6OlNDUk9MTEJBUl9UUkFD
SzsKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6OlBzZXVkb1Njcm9sbGJhclRyYWNrUGllY2U6CisgICAgICAgICAgICAgICAgZHluYW1p
Y1BzZXVkbyA9IFJlbmRlclN0eWxlOjpTQ1JPTExCQVJfVFJBQ0tfUElFQ0U7CisgICAgICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9V
bmtub3duOgogICAgICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvTm90UGFyc2VkOgog
ICAgICAgICAgICAgZGVmYXVsdDoKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVHlwZXMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFR5cGVzLmgJKHJldmlzaW9u
IDM3Mzg4KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxUeXBlcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC02NSw2ICs2NSw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgRm9yd2FyZFRy
YWNrUGFydCA9IDEgPDwgNCwKICAgICAgICAgQmFja0J1dHRvbkVuZFBhcnQgPSAxIDw8IDUsCiAg
ICAgICAgIEZvcndhcmRCdXR0b25FbmRQYXJ0ID0gMSA8PCA2LAorICAgICAgICBTY3JvbGxiYXJC
R1BhcnQgPSAxIDw8IDcsCisgICAgICAgIFRyYWNrQkdQYXJ0ID0gMSA8PCA4LAogICAgICAgICBB
bGxQYXJ0cyA9IDB4ZmZmZmZmZmYsCiAgICAgfTsKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxiYXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhci5oCShy
ZXZpc2lvbiAzNzM4OCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEyMCw2ICsxMjAsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzdXBwcmVzc0ludmFs
aWRhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fc3VwcHJlc3NJbnZhbGlkYXRpb247IH0KICAgICB2
b2lkIHNldFN1cHByZXNzSW52YWxpZGF0aW9uKGJvb2wgcykgeyBtX3N1cHByZXNzSW52YWxpZGF0
aW9uID0gczsgfQogCisgICAgdmlydHVhbCB2b2lkIHN0eWxlQ2hhbmdlZCgpIHsgfQorCiBwcm90
ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVRodW1iUG9zaXRpb24oKTsKICAgICB2aXJ0
dWFsIHZvaWQgdXBkYXRlVGh1bWJQcm9wb3J0aW9uKCk7CkluZGV4OiBXZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbGJhclRoZW1lQ29tcG9zaXRlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbGJhclRoZW1lQ29tcG9zaXRlLmNwcAkocmV2aXNpb24gMzczODgpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1lQ29tcG9zaXRlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtODQsMTUgKzg0LDggQEAgYm9vbCBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZTo6cGFpbnQoU2Ny
bwogICAgIGlmICh0aHVtYlByZXNlbnQpIHsKICAgICAgICAgSW50UmVjdCB0cmFjayA9IHRyYWNr
UmVjdChzY3JvbGxiYXIpOwogICAgICAgICBzcGxpdFRyYWNrKHNjcm9sbGJhciwgdHJhY2ssIHN0
YXJ0VHJhY2tSZWN0LCB0aHVtYlJlY3QsIGVuZFRyYWNrUmVjdCk7Ci0gICAgICAgIGlmIChkYW1h
Z2VSZWN0LmludGVyc2VjdHModGh1bWJSZWN0KSkgeworICAgICAgICBpZiAoZGFtYWdlUmVjdC5p
bnRlcnNlY3RzKHRodW1iUmVjdCkpCiAgICAgICAgICAgICBzY3JvbGxNYXNrIHw9IFRodW1iUGFy
dDsKLSAgICAgICAgICAgIGlmICh0cmFja0lzU2luZ2xlUGllY2UoKSkgewotICAgICAgICAgICAg
ICAgIC8vIFRoZSB0cmFjayBpcyBhIHNpbmdsZSBzdHJpcCB0aGF0IHBhaW50cyB1bmRlciB0aGUg
dGh1bWIuCi0gICAgICAgICAgICAgICAgLy8gQWRkIGJvdGggY29tcG9uZW50cyBvZiB0aGUgdHJh
Y2sgdG8gdGhlIG1hc2suCi0gICAgICAgICAgICAgICAgc2Nyb2xsTWFzayB8PSBCYWNrVHJhY2tQ
YXJ0OwotICAgICAgICAgICAgICAgIHNjcm9sbE1hc2sgfD0gRm9yd2FyZFRyYWNrUGFydDsKLSAg
ICAgICAgICAgIH0KLSAgICAgICAgfQogICAgICAgICBpZiAoZGFtYWdlUmVjdC5pbnRlcnNlY3Rz
KHN0YXJ0VHJhY2tSZWN0KSkKICAgICAgICAgICAgIHNjcm9sbE1hc2sgfD0gQmFja1RyYWNrUGFy
dDsKICAgICAgICAgaWYgKGRhbWFnZVJlY3QuaW50ZXJzZWN0cyhlbmRUcmFja1JlY3QpKQpAQCAt
MTMxLDE2ICsxMjQsMjAgQEAgYm9vbCBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZTo6cGFpbnQoU2Ny
bwogICAgIH0KICNlbmRpZgogCi0gICAgLy8gUGFpbnQgdGhlIHRyYWNrLgorICAgIC8vIFBhaW50
IHRoZSBzY3JvbGxiYXIgYmFja2dyb3VuZCAob25seSB1c2VkIGJ5IGN1c3RvbSBDU1Mgc2Nyb2xs
YmFycykuCisgICAgcGFpbnRTY3JvbGxiYXJCYWNrZ3JvdW5kKGdyYXBoaWNzQ29udGV4dCwgc2Ny
b2xsYmFyKTsKKworICAgIC8vIFBhaW50IHRoZSB0cmFjayBiYWNrZ3JvdW5kLgorICAgIGlmICgo
c2Nyb2xsTWFzayAmIEZvcndhcmRUcmFja1BhcnQpIHx8IChzY3JvbGxNYXNrICYgQmFja1RyYWNr
UGFydCkgfHwgKHNjcm9sbE1hc2sgJiYgVGh1bWJQYXJ0KSkKKyAgICAgICAgcGFpbnRUcmFja0Jh
Y2tncm91bmQoZ3JhcGhpY3NDb250ZXh0LCBzY3JvbGxiYXIsIHRyYWNrUGFpbnRSZWN0KTsKKyAg
ICAKKyAgICAvLyBQYWludCB0aGUgdHJhY2sgcGllY2VzIGFib3ZlIGFuZCBiZWxvdyB0aGUgdGh1
bWIuCiAgICAgaWYgKChzY3JvbGxNYXNrICYgRm9yd2FyZFRyYWNrUGFydCkgfHwgKHNjcm9sbE1h
c2sgJiBCYWNrVHJhY2tQYXJ0KSkgewotICAgICAgICBpZiAoIXRodW1iUHJlc2VudCB8fCB0cmFj
a0lzU2luZ2xlUGllY2UoKSkKLSAgICAgICAgICAgIHBhaW50VHJhY2soZ3JhcGhpY3NDb250ZXh0
LCBzY3JvbGxiYXIsIHRyYWNrUGFpbnRSZWN0LCBGb3J3YXJkVHJhY2tQYXJ0IHwgQmFja1RyYWNr
UGFydCk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgaWYgKHNjcm9sbE1hc2sgJiBCYWNr
VHJhY2tQYXJ0KQotICAgICAgICAgICAgICAgIHBhaW50VHJhY2soZ3JhcGhpY3NDb250ZXh0LCBz
Y3JvbGxiYXIsIHN0YXJ0VHJhY2tSZWN0LCBCYWNrVHJhY2tQYXJ0KTsKLSAgICAgICAgICAgIGlm
IChzY3JvbGxNYXNrICYgRm9yd2FyZFRyYWNrUGFydCkKLSAgICAgICAgICAgICAgICBwYWludFRy
YWNrKGdyYXBoaWNzQ29udGV4dCwgc2Nyb2xsYmFyLCBlbmRUcmFja1JlY3QsIEZvcndhcmRUcmFj
a1BhcnQpOwotICAgICAgICB9CisgICAgICAgIAorICAgICAgICBpZiAoc2Nyb2xsTWFzayAmIEJh
Y2tUcmFja1BhcnQpCisgICAgICAgICAgICBwYWludFRyYWNrUGllY2UoZ3JhcGhpY3NDb250ZXh0
LCBzY3JvbGxiYXIsIHN0YXJ0VHJhY2tSZWN0LCBCYWNrVHJhY2tQYXJ0KTsKKyAgICAgICAgaWYg
KHNjcm9sbE1hc2sgJiBGb3J3YXJkVHJhY2tQYXJ0KQorICAgICAgICAgICAgcGFpbnRUcmFja1Bp
ZWNlKGdyYXBoaWNzQ29udGV4dCwgc2Nyb2xsYmFyLCBlbmRUcmFja1JlY3QsIEZvcndhcmRUcmFj
a1BhcnQpOwogICAgIH0KIAogICAgIC8vIFBhaW50IHRoZSBiYWNrIGFuZCBmb3J3YXJkIGJ1dHRv
bnMuCkBAIC0yMzIsNyArMjI5LDcgQEAgdm9pZCBTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZTo6c3Bs
aXRUcmFjawogewogICAgIC8vIFRoaXMgZnVuY3Rpb24gd29uJ3QgZXZlbiBnZXQgY2FsbGVkIHVu
bGVzcyB3ZSdyZSBiaWcgZW5vdWdoIHRvIGhhdmUgc29tZSBjb21iaW5hdGlvbiBvZiB0aGVzZSB0
aHJlZSByZWN0cyB3aGVyZSBhdCBsZWFzdAogICAgIC8vIG9uZSBvZiB0aGVtIGlzIG5vbi1lbXB0
eS4KLSAgICBpbnQgdGhpY2tuZXNzID0gc2Nyb2xsYmFyVGhpY2tuZXNzKCk7CisgICAgaW50IHRo
aWNrbmVzcyA9IHNjcm9sbGJhci0+b3JpZW50YXRpb24oKSA9PSBIb3Jpem9udGFsU2Nyb2xsYmFy
ID8gc2Nyb2xsYmFyLT5oZWlnaHQoKSA6IHNjcm9sbGJhci0+d2lkdGgoKTsKICAgICBpbnQgdGh1
bWJQb3MgPSB0aHVtYlBvc2l0aW9uKHNjcm9sbGJhcik7CiAgICAgaWYgKHNjcm9sbGJhci0+b3Jp
ZW50YXRpb24oKSA9PSBIb3Jpem9udGFsU2Nyb2xsYmFyKSB7CiAgICAgICAgIHRodW1iUmVjdCA9
IEludFJlY3QodHJhY2tSZWN0LngoKSArIHRodW1iUG9zLCB0cmFja1JlY3QueSgpICsgKHRyYWNr
UmVjdC5oZWlnaHQoKSAtIHRoaWNrbmVzcykgLyAyLCB0aHVtYkxlbmd0aChzY3JvbGxiYXIpLCB0
aGlja25lc3MpOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxiYXJUaGVtZUNvbXBvc2l0
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYmFyVGhlbWVDb21wb3Np
dGUuaAkocmV2aXNpb24gMzczODgpCisrKyBXZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGJhclRoZW1l
Q29tcG9zaXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTU0LDEyICs1NCwxMiBAQCBwcm90ZWN0ZWQ6
CiAgICAgdmlydHVhbCBJbnRSZWN0IHRyYWNrUmVjdChTY3JvbGxiYXIqLCBib29sIHBhaW50aW5n
ID0gZmFsc2UpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBzcGxpdFRyYWNrKFNjcm9sbGJhcios
IGNvbnN0IEludFJlY3QmIHRyYWNrLCBJbnRSZWN0JiBzdGFydFRyYWNrLCBJbnRSZWN0JiB0aHVt
YiwgSW50UmVjdCYgZW5kVHJhY2spOwotICAgIAotICAgIHZpcnR1YWwgYm9vbCB0cmFja0lzU2lu
Z2xlUGllY2UoKSB7IHJldHVybiB0cnVlOyB9CiAKICAgICB2aXJ0dWFsIGludCBtaW5pbXVtVGh1
bWJMZW5ndGgoU2Nyb2xsYmFyKik7CiAKLSAgICB2aXJ0dWFsIHZvaWQgcGFpbnRUcmFjayhHcmFw
aGljc0NvbnRleHQqLCBTY3JvbGxiYXIqLCBjb25zdCBJbnRSZWN0JiwgU2Nyb2xsYmFyQ29udHJv
bFBhcnRNYXNrKSB7fQorICAgIHZpcnR1YWwgdm9pZCBwYWludFNjcm9sbGJhckJhY2tncm91bmQo
R3JhcGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyKikge30KKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRU
cmFja0JhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyKiwgY29uc3QgSW50UmVj
dCYpIHt9CisgICAgdmlydHVhbCB2b2lkIHBhaW50VHJhY2tQaWVjZShHcmFwaGljc0NvbnRleHQq
LCBTY3JvbGxiYXIqLCBjb25zdCBJbnRSZWN0JiwgU2Nyb2xsYmFyUGFydCkge30KICAgICB2aXJ0
dWFsIHZvaWQgcGFpbnRCdXR0b24oR3JhcGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyKiwgY29uc3Qg
SW50UmVjdCYsIFNjcm9sbGJhclBhcnQpIHt9CiAgICAgdmlydHVhbCB2b2lkIHBhaW50VGh1bWIo
R3JhcGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyKiwgY29uc3QgSW50UmVjdCYpIHt9CiB9OwpJbmRl
eDogV2ViQ29yZS9wbGF0Zm9ybS93aW4vU2Nyb2xsYmFyVGhlbWVTYWZhcmkuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vd2luL1Njcm9sbGJhclRoZW1lU2FmYXJpLmNwcAkocmV2
aXNpb24gMzczODgpCisrKyBXZWJDb3JlL3BsYXRmb3JtL3dpbi9TY3JvbGxiYXJUaGVtZVNhZmFy
aS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwMyw3ICsyMDMsNyBAQCBib29sIFNjcm9sbGJhclRo
ZW1lU2FmYXJpOjpzaG91bGRDZW50ZXJPCiAgICAgcmV0dXJuIGV2dC5zaGlmdEtleSgpICYmIGV2
dC5idXR0b24oKSA9PSBMZWZ0QnV0dG9uOwogfQogCi12b2lkIFNjcm9sbGJhclRoZW1lU2FmYXJp
OjpwYWludFRyYWNrKEdyYXBoaWNzQ29udGV4dCogZ3JhcGhpY3NDb250ZXh0LCBTY3JvbGxiYXIq
IHNjcm9sbGJhciwgY29uc3QgSW50UmVjdCYgdHJhY2tSZWN0LCBTY3JvbGxiYXJDb250cm9sUGFy
dE1hc2spCit2b2lkIFNjcm9sbGJhclRoZW1lU2FmYXJpOjpwYWludFRyYWNrQmFja2dyb3VuZChH
cmFwaGljc0NvbnRleHQqIGdyYXBoaWNzQ29udGV4dCwgU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIGNv
bnN0IEludFJlY3QmIHRyYWNrUmVjdCkKIHsKICAgICBpZiAoIVNhZmFyaVRoZW1lTGlicmFyeSgp
KQogICAgICAgICByZXR1cm47CkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3dpbi9TY3JvbGxiYXJU
aGVtZVNhZmFyaS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vd2luL1Njcm9sbGJh
clRoZW1lU2FmYXJpLmgJKHJldmlzaW9uIDM3Mzg4KQorKysgV2ViQ29yZS9wbGF0Zm9ybS93aW4v
U2Nyb2xsYmFyVGhlbWVTYWZhcmkuaAkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgCiAgICAgdmlydHVhbCBib29sIHNob3VsZENlbnRlck9uVGh1bWIoU2Ny
b2xsYmFyKiwgY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50Jik7CiAKLSAgICB2aXJ0dWFsIHZvaWQg
cGFpbnRUcmFjayhHcmFwaGljc0NvbnRleHQqLCBTY3JvbGxiYXIqLCBjb25zdCBJbnRSZWN0Jiwg
U2Nyb2xsYmFyQ29udHJvbFBhcnRNYXNrKTsKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRUcmFja0Jh
Y2tncm91bmQoR3JhcGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyKiwgY29uc3QgSW50UmVjdCYpOwog
ICAgIHZpcnR1YWwgdm9pZCBwYWludEJ1dHRvbihHcmFwaGljc0NvbnRleHQqLCBTY3JvbGxiYXIq
LCBjb25zdCBJbnRSZWN0JiwgU2Nyb2xsYmFyUGFydCk7CiAgICAgdmlydHVhbCB2b2lkIHBhaW50
VGh1bWIoR3JhcGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyKiwgY29uc3QgSW50UmVjdCYpOwogfTsK
SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vd2luL1Njcm9sbGJhclRoZW1lV2luLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3dpbi9TY3JvbGxiYXJUaGVtZVdpbi5jcHAJKHJldmlz
aW9uIDM3Mzg4KQorKysgV2ViQ29yZS9wbGF0Zm9ybS93aW4vU2Nyb2xsYmFyVGhlbWVXaW4uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xOTQsMTEgKzE5NCwxMSBAQCBJbnRSZWN0IFNjcm9sbGJhclRo
ZW1lV2luOjp0cmFja1JlY3QoU2NyCiAgICAgcmV0dXJuIEludFJlY3Qoc2Nyb2xsYmFyLT54KCks
IHNjcm9sbGJhci0+eSgpICsgdGhpY2tuZXNzLCB0aGlja25lc3MsIHNjcm9sbGJhci0+aGVpZ2h0
KCkgLSAyICogdGhpY2tuZXNzKTsKIH0KIAotdm9pZCBTY3JvbGxiYXJUaGVtZVdpbjo6cGFpbnRU
cmFjayhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIFNjcm9sbGJhciogc2Nyb2xsYmFyLCBjb25z
dCBJbnRSZWN0JiByZWN0LCBTY3JvbGxiYXJDb250cm9sUGFydE1hc2sgbWFzaykKK3ZvaWQgU2Ny
b2xsYmFyVGhlbWVXaW46OnBhaW50VHJhY2soR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBTY3Jv
bGxiYXIqIHNjcm9sbGJhciwgY29uc3QgSW50UmVjdCYgcmVjdCwgU2Nyb2xsYmFyUGFydCBwYXJ0
VHlwZSkKIHsKICAgICBjaGVja0FuZEluaXRTY3JvbGxiYXJUaGVtZSgpOwogCi0gICAgYm9vbCBz
dGFydCA9IG1hc2sgJiBCYWNrVHJhY2tQYXJ0OworICAgIGJvb2wgc3RhcnQgPSBwYXJ0VHlwZSA9
PSBCYWNrVHJhY2tQYXJ0OwogICAgIGludCBwYXJ0OwogICAgIGlmIChzY3JvbGxiYXItPm9yaWVu
dGF0aW9uKCkgPT0gSG9yaXpvbnRhbFNjcm9sbGJhcikKICAgICAgICAgcGFydCA9IHN0YXJ0ID8g
U1BfVFJBQ0tTVEFSVEhPUiA6IFNQX1RSQUNLRU5ESE9SOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9y
bS93aW4vU2Nyb2xsYmFyVGhlbWVXaW4uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3Jt
L3dpbi9TY3JvbGxiYXJUaGVtZVdpbi5oCShyZXZpc2lvbiAzNzM4OCkKKysrIFdlYkNvcmUvcGxh
dGZvcm0vd2luL1Njcm9sbGJhclRoZW1lV2luLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDEyICs0
OCwxMCBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBJbnRSZWN0IGJhY2tCdXR0b25SZWN0KFNj
cm9sbGJhciosIFNjcm9sbGJhclBhcnQsIGJvb2wgcGFpbnRpbmcgPSBmYWxzZSk7CiAgICAgdmly
dHVhbCBJbnRSZWN0IGZvcndhcmRCdXR0b25SZWN0KFNjcm9sbGJhciosIFNjcm9sbGJhclBhcnQs
IGJvb2wgcGFpbnRpbmcgPSBmYWxzZSk7CiAgICAgdmlydHVhbCBJbnRSZWN0IHRyYWNrUmVjdChT
Y3JvbGxiYXIqLCBib29sIHBhaW50aW5nID0gZmFsc2UpOwotICAgCi0gICAgdmlydHVhbCBib29s
IHRyYWNrSXNTaW5nbGVQaWVjZSgpIHsgcmV0dXJuIGZhbHNlOyB9Ci0gICAgCisKICAgICB2aXJ0
dWFsIGJvb2wgc2hvdWxkQ2VudGVyT25UaHVtYihTY3JvbGxiYXIqLCBjb25zdCBQbGF0Zm9ybU1v
dXNlRXZlbnQmKTsKIAotICAgIHZpcnR1YWwgdm9pZCBwYWludFRyYWNrKEdyYXBoaWNzQ29udGV4
dCosIFNjcm9sbGJhciosIGNvbnN0IEludFJlY3QmLCBTY3JvbGxiYXJDb250cm9sUGFydE1hc2sp
OworICAgIHZpcnR1YWwgdm9pZCBwYWludFRyYWNrUGllY2UoR3JhcGhpY3NDb250ZXh0KiwgU2Ny
b2xsYmFyKiwgY29uc3QgSW50UmVjdCYsIFNjcm9sbGJhclBhcnQpOwogICAgIHZpcnR1YWwgdm9p
ZCBwYWludEJ1dHRvbihHcmFwaGljc0NvbnRleHQqLCBTY3JvbGxiYXIqLCBjb25zdCBJbnRSZWN0
JiwgU2Nyb2xsYmFyUGFydCk7CiAgICAgdmlydHVhbCB2b2lkIHBhaW50VGh1bWIoR3JhcGhpY3ND
b250ZXh0KiwgU2Nyb2xsYmFyKiwgY29uc3QgSW50UmVjdCYpOwogfTsKSW5kZXg6IFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAJKHJldmlzaW9uIDM3Mzg4KQorKysgV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NSw2ICs2NSw3IEBACiAjaW5jbHVk
ZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyTWFycXVlZS5oIgogI2luY2x1ZGUg
IlJlbmRlclJlcGxpY2EuaCIKKyNpbmNsdWRlICJSZW5kZXJTY3JvbGxiYXIuaCIKICNpbmNsdWRl
ICJSZW5kZXJUaGVtZS5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJTY2Fs
ZVRyYW5zZm9ybU9wZXJhdGlvbi5oIgpAQCAtMTExMCw3ICsxMTExLDEyIEBAIHZvaWQgUmVuZGVy
TGF5ZXI6OmludmFsaWRhdGVTY3JvbGxiYXJSZWMKIAogUGFzc1JlZlB0cjxTY3JvbGxiYXI+IFJl
bmRlckxheWVyOjpjcmVhdGVTY3JvbGxiYXIoU2Nyb2xsYmFyT3JpZW50YXRpb24gb3JpZW50YXRp
b24pCiB7Ci0gICAgUmVmUHRyPFNjcm9sbGJhcj4gd2lkZ2V0ID0gU2Nyb2xsYmFyOjpjcmVhdGVO
YXRpdmVTY3JvbGxiYXIodGhpcywgb3JpZW50YXRpb24sIFJlZ3VsYXJTY3JvbGxiYXIpOworICAg
IFJlZlB0cjxTY3JvbGxiYXI+IHdpZGdldDsKKyAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSByZW5k
ZXJlcigpLT5nZXRQc2V1ZG9TdHlsZShSZW5kZXJTdHlsZTo6U0NST0xMQkFSKTsKKyAgICBpZiAo
c3R5bGUpCisgICAgICAgIHdpZGdldCA9IFJlbmRlclNjcm9sbGJhcjo6Y3JlYXRlQ3VzdG9tU2Ny
b2xsYmFyKHRoaXMsIG9yaWVudGF0aW9uLCBzdHlsZSwgcmVuZGVyZXIoKSk7CisgICAgZWxzZQor
ICAgICAgICB3aWRnZXQgPSBTY3JvbGxiYXI6OmNyZWF0ZU5hdGl2ZVNjcm9sbGJhcih0aGlzLCBv
cmllbnRhdGlvbiwgUmVndWxhclNjcm9sbGJhcik7CiAgICAgbV9vYmplY3QtPmRvY3VtZW50KCkt
PnZpZXcoKS0+YWRkQ2hpbGQod2lkZ2V0LmdldCgpKTsgICAgICAgIAogICAgIHJldHVybiB3aWRn
ZXQucmVsZWFzZSgpOwogfQpAQCAtMjM4MCw2ICsyMzg2LDEyIEBAIHZvaWQgUmVuZGVyTGF5ZXI6
OnN0eWxlQ2hhbmdlZChSZW5kZXJTdHkKICAgICAgICAgICAgIGNyZWF0ZVJlZmxlY3Rpb24oKTsK
ICAgICAgICAgdXBkYXRlUmVmbGVjdGlvblN0eWxlKCk7CiAgICAgfQorICAgIAorICAgIC8vIEZJ
WE1FOiBOZWVkIHRvIGRldGVjdCBhIHN3YXAgZnJvbSBjdXN0b20gdG8gbmF0aXZlIHNjcm9sbGJh
cnMgKGFuZCB2aWNlIHZlcnNhKS4KKyAgICBpZiAobV9oQmFyKQorICAgICAgICBtX2hCYXItPnN0
eWxlQ2hhbmdlZCgpOworICAgIGlmIChtX3ZCYXIpCisgICAgICAgIG1fdkJhci0+c3R5bGVDaGFu
Z2VkKCk7CiB9CiAKIFJlbmRlckxheWVyKiBSZW5kZXJMYXllcjo6cmVmbGVjdGlvbkxheWVyKCkg
Y29uc3QKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyLmNwcAkocmV2aXNpb24g
MCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhci5jcHAJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMTc5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4g
QWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZW5kZXJTY3JvbGxiYXIu
aCIKKyNpbmNsdWRlICJSZW5kZXJTY3JvbGxiYXJQYXJ0LmgiCisjaW5jbHVkZSAiUmVuZGVyU2Ny
b2xsYmFyVGhlbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQYXNzUmVmUHRyPFNjcm9s
bGJhcj4gUmVuZGVyU2Nyb2xsYmFyOjpjcmVhdGVDdXN0b21TY3JvbGxiYXIoU2Nyb2xsYmFyQ2xp
ZW50KiBjbGllbnQsIFNjcm9sbGJhck9yaWVudGF0aW9uIG9yaWVudGF0aW9uLCBSZW5kZXJTdHls
ZSogc3R5bGUsIFJlbmRlck9iamVjdCogcmVuZGVyZXIpCit7CisgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBSZW5kZXJTY3JvbGxiYXIoY2xpZW50LCBvcmllbnRhdGlvbiwgc3R5bGUsIHJlbmRlcmVy
KSk7Cit9CisKK1JlbmRlclNjcm9sbGJhcjo6UmVuZGVyU2Nyb2xsYmFyKFNjcm9sbGJhckNsaWVu
dCogY2xpZW50LCBTY3JvbGxiYXJPcmllbnRhdGlvbiBvcmllbnRhdGlvbiwgUmVuZGVyU3R5bGUq
IHN0eWxlLCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQorICAgIDogU2Nyb2xsYmFyKGNsaWVudCwg
b3JpZW50YXRpb24sIFJlZ3VsYXJTY3JvbGxiYXIsIFJlbmRlclNjcm9sbGJhclRoZW1lOjpyZW5k
ZXJTY3JvbGxiYXJUaGVtZSgpKQorICAgICwgbV9vd25lcihyZW5kZXJlcikKK3sKKyAgICB1cGRh
dGVTY3JvbGxiYXJQYXJ0cyhzdHlsZSk7Cit9CisKK1JlbmRlclNjcm9sbGJhcjo6flJlbmRlclNj
cm9sbGJhcigpCit7CisgICAgLy8gRGVzdHJveSBhbGwgb2YgdGhlIHNjcm9sbGJhcidzIFJlbmRl
ck9iamVjdHMuCisgICAgdXBkYXRlU2Nyb2xsYmFyUGFydHMoMCwgdHJ1ZSk7Cit9CisKK3N0YXRp
YyBTY3JvbGxiYXJQYXJ0IGdTdHlsZVJlc29sdmVQYXJ0Oworc3RhdGljIFJlbmRlclNjcm9sbGJh
ciogZ1N0eWxlUmVzb2x2ZVNjcm9sbGJhcjsKKworUmVuZGVyU3R5bGUqIFJlbmRlclNjcm9sbGJh
cjo6Z2V0U2Nyb2xsYmFyUHNldWRvU3R5bGUoU2Nyb2xsYmFyUGFydCBwYXJ0VHlwZSwgUmVuZGVy
U3R5bGU6OlBzZXVkb0lkIHBzZXVkb0lkKQoreworICAgIGdTdHlsZVJlc29sdmVQYXJ0ID0gcGFy
dFR5cGU7CisgICAgZ1N0eWxlUmVzb2x2ZVNjcm9sbGJhciA9IHRoaXM7CisgICAgUmVuZGVyU3R5
bGUqIHJlc3VsdCA9IG1fb3duZXItPmdldFBzZXVkb1N0eWxlKHBzZXVkb0lkLCBtX293bmVyLT5z
dHlsZSgpKTsKKyAgICBnU3R5bGVSZXNvbHZlUGFydCA9IE5vUGFydDsKKyAgICBnU3R5bGVSZXNv
bHZlU2Nyb2xsYmFyID0gMDsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2b2lkIFJlbmRlclNj
cm9sbGJhcjo6dXBkYXRlU2Nyb2xsYmFyUGFydHMoUmVuZGVyU3R5bGUqIHNjcm9sbGJhclN0eWxl
LCBib29sIGRlc3Ryb3kpCit7CisgICAgdXBkYXRlU2Nyb2xsYmFyUGFydChTY3JvbGxiYXJCR1Bh
cnQsIFJlbmRlclN0eWxlOjpTQ1JPTExCQVIsIHNjcm9sbGJhclN0eWxlLCBkZXN0cm95KTsKKyAg
ICB1cGRhdGVTY3JvbGxiYXJQYXJ0KEJhY2tCdXR0b25TdGFydFBhcnQsIFJlbmRlclN0eWxlOjpT
Q1JPTExCQVJfQlVUVE9OLCAwLCBkZXN0cm95KTsKKyAgICB1cGRhdGVTY3JvbGxiYXJQYXJ0KEZv
cndhcmRCdXR0b25TdGFydFBhcnQsIFJlbmRlclN0eWxlOjpTQ1JPTExCQVJfQlVUVE9OLCAwLCBk
ZXN0cm95KTsKKyAgICB1cGRhdGVTY3JvbGxiYXJQYXJ0KEJhY2tUcmFja1BhcnQsIFJlbmRlclN0
eWxlOjpTQ1JPTExCQVJfVFJBQ0tfUElFQ0UsIDAsIGRlc3Ryb3kpOworICAgIHVwZGF0ZVNjcm9s
bGJhclBhcnQoVGh1bWJQYXJ0LCBSZW5kZXJTdHlsZTo6U0NST0xMQkFSX1RIVU1CLCAwLCBkZXN0
cm95KTsKKyAgICB1cGRhdGVTY3JvbGxiYXJQYXJ0KEZvcndhcmRUcmFja1BhcnQsIFJlbmRlclN0
eWxlOjpTQ1JPTExCQVJfVFJBQ0tfUElFQ0UsIDAsIGRlc3Ryb3kpOworICAgIHVwZGF0ZVNjcm9s
bGJhclBhcnQoQmFja0J1dHRvbkVuZFBhcnQsIFJlbmRlclN0eWxlOjpTQ1JPTExCQVJfQlVUVE9O
LCAwLCBkZXN0cm95KTsKKyAgICB1cGRhdGVTY3JvbGxiYXJQYXJ0KEZvcndhcmRCdXR0b25FbmRQ
YXJ0LCBSZW5kZXJTdHlsZTo6U0NST0xMQkFSX0JVVFRPTiwgMCwgZGVzdHJveSk7CisgICAgdXBk
YXRlU2Nyb2xsYmFyUGFydChUcmFja0JHUGFydCwgUmVuZGVyU3R5bGU6OlNDUk9MTEJBUl9UUkFD
SywgMCwgZGVzdHJveSk7CisgICAgCisgICAgaWYgKGRlc3Ryb3kpCisgICAgICAgIHJldHVybjsK
KworICAgIC8vIFNlZSBpZiB0aGUgc2Nyb2xsYmFyJ3MgdGhpY2tuZXNzIGNoYW5nZWQuICBJZiBz
bywgd2UgbmVlZCB0byBtYXJrIG91ciBvd25pbmcgb2JqZWN0IGFzIG5lZWRpbmcgYSBsYXlvdXQu
CisgICAgYm9vbCBpc0hvcml6b250YWwgPSBvcmllbnRhdGlvbigpID09IEhvcml6b250YWxTY3Jv
bGxiYXI7ICAgIAorICAgIGludCBvbGRUaGlja25lc3MgPSBpc0hvcml6b250YWwgPyBoZWlnaHQo
KSA6IHdpZHRoKCk7CisgICAgaW50IG5ld1RoaWNrbmVzcyA9IDA7CisgICAgUmVuZGVyU2Nyb2xs
YmFyUGFydCogcGFydCA9IG1fcGFydHMuZ2V0KFNjcm9sbGJhckJHUGFydCk7CisgICAgaWYgKHBh
cnQpIHsKKyAgICAgICAgcGFydC0+bGF5b3V0KCk7CisgICAgICAgIG5ld1RoaWNrbmVzcyA9IGlz
SG9yaXpvbnRhbCA/IHBhcnQtPmhlaWdodCgpIDogcGFydC0+d2lkdGgoKTsKKyAgICB9CisgICAg
CisgICAgaWYgKG5ld1RoaWNrbmVzcyAhPSBvbGRUaGlja25lc3MpIHsKKyAgICAgICAgc2V0RnJh
bWVSZWN0KEludFJlY3QoeCgpLCB5KCksIGlzSG9yaXpvbnRhbCA/IHdpZHRoKCkgOiBuZXdUaGlj
a25lc3MsIGlzSG9yaXpvbnRhbCA/IG5ld1RoaWNrbmVzcyA6IGhlaWdodCgpKSk7CisgICAgICAg
IG1fb3duZXItPnNldENoaWxkTmVlZHNMYXlvdXQodHJ1ZSk7CisgICAgfQorfQorCit2b2lkIFJl
bmRlclNjcm9sbGJhcjo6dXBkYXRlU2Nyb2xsYmFyUGFydChTY3JvbGxiYXJQYXJ0IHBhcnRUeXBl
LCBSZW5kZXJTdHlsZTo6UHNldWRvSWQgcHNldWRvSWQsIFJlbmRlclN0eWxlKiBwYXJ0U3R5bGUs
IGJvb2wgZGVzdHJveSkKK3sKKyAgICBpZiAoIXBhcnRTdHlsZSkKKyAgICAgICAgcGFydFN0eWxl
ID0gZ2V0U2Nyb2xsYmFyUHNldWRvU3R5bGUocGFydFR5cGUsIHBzZXVkb0lkKTsKKyAgICAKKyAg
ICBib29sIG5lZWRSZW5kZXJlciA9ICFkZXN0cm95ICYmIHBhcnRTdHlsZSAmJiBwYXJ0U3R5bGUt
PmRpc3BsYXkoKSAhPSBOT05FICYmIHBhcnRTdHlsZS0+dmlzaWJpbGl0eSgpID09IFZJU0lCTEU7
CisgICAgCisgICAgUmVuZGVyU2Nyb2xsYmFyUGFydCogcGFydFJlbmRlcmVyID0gbV9wYXJ0cy5n
ZXQocGFydFR5cGUpOworICAgIGlmICghcGFydFJlbmRlcmVyICYmIG5lZWRSZW5kZXJlcikgewor
ICAgICAgICBwYXJ0UmVuZGVyZXIgPSBuZXcgKG1fb3duZXItPnJlbmRlckFyZW5hKCkpIFJlbmRl
clNjcm9sbGJhclBhcnQodGhpcywgcGFydFR5cGUsIG1fb3duZXItPmRvY3VtZW50KCkpOworICAg
ICAgICBwYXJ0UmVuZGVyZXItPnNldFN0eWxlKHBhcnRTdHlsZSk7CisgICAgICAgIG1fcGFydHMu
c2V0KHBhcnRUeXBlLCBwYXJ0UmVuZGVyZXIpOworICAgIH0gZWxzZSBpZiAocGFydFJlbmRlcmVy
ICYmICFuZWVkUmVuZGVyZXIpIHsKKyAgICAgICAgbV9wYXJ0cy5yZW1vdmUocGFydFR5cGUpOwor
ICAgICAgICBwYXJ0UmVuZGVyZXItPmRlc3Ryb3koKTsKKyAgICB9Cit9CisKK3ZvaWQgUmVuZGVy
U2Nyb2xsYmFyOjpwYWludFBhcnQoR3JhcGhpY3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQsIFNj
cm9sbGJhclBhcnQgcGFydFR5cGUsIGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgUmVuZGVy
U2Nyb2xsYmFyUGFydCogcGFydFJlbmRlcmVyID0gbV9wYXJ0cy5nZXQocGFydFR5cGUpOworICAg
IGlmICghcGFydFJlbmRlcmVyKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBNYWtlIHN1cmUg
b3VyIGRpbWVuc2lvbnMgbWF0Y2ggdGhlIHJlY3QuCisgICAgcGFydFJlbmRlcmVyLT5zZXRQb3Mo
cmVjdC54KCkgLSB4KCksIHJlY3QueSgpIC0geSgpKTsKKyAgICBwYXJ0UmVuZGVyZXItPnNldFdp
ZHRoKHJlY3Qud2lkdGgoKSk7CisgICAgcGFydFJlbmRlcmVyLT5zZXRIZWlnaHQocmVjdC5oZWln
aHQoKSk7CisKKyAgICAvLyBOb3cgZG8gdGhlIHBhaW50LgorICAgIFJlbmRlck9iamVjdDo6UGFp
bnRJbmZvIHBhaW50SW5mbyhncmFwaGljc0NvbnRleHQsIHJlY3QsIFBhaW50UGhhc2VCbG9ja0Jh
Y2tncm91bmQsIGZhbHNlLCAwLCAwKTsKKyAgICBwYXJ0UmVuZGVyZXItPnBhaW50KHBhaW50SW5m
bywgeCgpLCB5KCkpOworICAgIHBhaW50SW5mby5waGFzZSA9IFBhaW50UGhhc2VDaGlsZEJsb2Nr
QmFja2dyb3VuZHM7CisgICAgcGFydFJlbmRlcmVyLT5wYWludChwYWludEluZm8sIHgoKSwgeSgp
KTsKKyAgICBwYWludEluZm8ucGhhc2UgPSBQYWludFBoYXNlRmxvYXQ7CisgICAgcGFydFJlbmRl
cmVyLT5wYWludChwYWludEluZm8sIHgoKSwgeSgpKTsKKyAgICBwYWludEluZm8ucGhhc2UgPSBQ
YWludFBoYXNlRm9yZWdyb3VuZDsKKyAgICBwYXJ0UmVuZGVyZXItPnBhaW50KHBhaW50SW5mbywg
eCgpLCB5KCkpOworICAgIHBhaW50SW5mby5waGFzZSA9IFBhaW50UGhhc2VPdXRsaW5lOworICAg
IHBhcnRSZW5kZXJlci0+cGFpbnQocGFpbnRJbmZvLCB4KCksIHkoKSk7Cit9CisKK0ludFJlY3Qg
UmVuZGVyU2Nyb2xsYmFyOjpidXR0b25SZWN0KFNjcm9sbGJhclBhcnQgcGFydFR5cGUpCit7Cisg
ICAgUmVuZGVyU2Nyb2xsYmFyUGFydCogcGFydFJlbmRlcmVyID0gbV9wYXJ0cy5nZXQocGFydFR5
cGUpOworICAgIGlmICghcGFydFJlbmRlcmVyKQorICAgICAgICByZXR1cm4gSW50UmVjdCgpOwor
ICAgICAgICAKKyAgICBwYXJ0UmVuZGVyZXItPmxheW91dCgpOworICAgIAorICAgIGJvb2wgaXNI
b3Jpem9udGFsID0gb3JpZW50YXRpb24oKSA9PSBIb3Jpem9udGFsU2Nyb2xsYmFyOworICAgIGlm
IChwYXJ0VHlwZSA9PSBCYWNrQnV0dG9uU3RhcnRQYXJ0KQorICAgICAgICByZXR1cm4gSW50UmVj
dCh4KCksIHkoKSwgaXNIb3Jpem9udGFsID8gcGFydFJlbmRlcmVyLT53aWR0aCgpIDogd2lkdGgo
KSwgaXNIb3Jpem9udGFsID8gaGVpZ2h0KCkgOiBwYXJ0UmVuZGVyZXItPmhlaWdodCgpKTsKKyAg
ICBpZiAocGFydFR5cGUgPT0gRm9yd2FyZEJ1dHRvbkVuZFBhcnQpCisgICAgICAgIHJldHVybiBJ
bnRSZWN0KGlzSG9yaXpvbnRhbCA/IHgoKSArIHdpZHRoKCkgLSBwYXJ0UmVuZGVyZXItPndpZHRo
KCkgOiB4KCksCisgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICBpc0hvcml6b250YWwg
PyB5KCkgOiB5KCkgKyBoZWlnaHQoKSAtIHBhcnRSZW5kZXJlci0+aGVpZ2h0KCksCisgICAgICAg
ICAgICAgICAgICAgICAgIGlzSG9yaXpvbnRhbCA/IHBhcnRSZW5kZXJlci0+d2lkdGgoKSA6IHdp
ZHRoKCksCisgICAgICAgICAgICAgICAgICAgICAgIGlzSG9yaXpvbnRhbCA/IGhlaWdodCgpIDog
cGFydFJlbmRlcmVyLT5oZWlnaHQoKSk7CisgICAgCisgICAgaWYgKHBhcnRUeXBlID09IEZvcndh
cmRCdXR0b25TdGFydFBhcnQpIHsKKyAgICAgICAgSW50UmVjdCBwcmV2aW91c0J1dHRvbiA9IGJ1
dHRvblJlY3QoQmFja0J1dHRvblN0YXJ0UGFydCk7CisgICAgICAgIHJldHVybiBJbnRSZWN0KGlz
SG9yaXpvbnRhbCA/IHgoKSArIHByZXZpb3VzQnV0dG9uLndpZHRoKCkgOiB4KCksCisgICAgICAg
ICAgICAgICAgICAgICAgIGlzSG9yaXpvbnRhbCA/IHkoKSA6IHkoKSArIHByZXZpb3VzQnV0dG9u
LmhlaWdodCgpLAorICAgICAgICAgICAgICAgICAgICAgICBpc0hvcml6b250YWwgPyBwYXJ0UmVu
ZGVyZXItPndpZHRoKCkgOiB3aWR0aCgpLAorICAgICAgICAgICAgICAgICAgICAgICBpc0hvcml6
b250YWwgPyBoZWlnaHQoKSA6IHBhcnRSZW5kZXJlci0+aGVpZ2h0KCkpOworICAgIH0KKyAgICAK
KyAgICBJbnRSZWN0IGZvbGxvd2luZ0J1dHRvbiA9IGJ1dHRvblJlY3QoRm9yd2FyZEJ1dHRvbkVu
ZFBhcnQpOworICAgIHJldHVybiBJbnRSZWN0KGlzSG9yaXpvbnRhbCA/IHgoKSArIHdpZHRoKCkg
LSBmb2xsb3dpbmdCdXR0b24ud2lkdGgoKSAtIHBhcnRSZW5kZXJlci0+d2lkdGgoKSA6IHgoKSwK
KyAgICAgICAgICAgICAgICAgICBpc0hvcml6b250YWwgPyB5KCkgOiB5KCkgKyBoZWlnaHQoKSAt
IGZvbGxvd2luZ0J1dHRvbi5oZWlnaHQoKSAtIHBhcnRSZW5kZXJlci0+aGVpZ2h0KCksCisgICAg
ICAgICAgICAgICAgICAgaXNIb3Jpem9udGFsID8gcGFydFJlbmRlcmVyLT53aWR0aCgpIDogd2lk
dGgoKSwKKyAgICAgICAgICAgICAgICAgICBpc0hvcml6b250YWwgPyBoZWlnaHQoKSA6IHBhcnRS
ZW5kZXJlci0+aGVpZ2h0KCkpOworfQorCitpbnQgUmVuZGVyU2Nyb2xsYmFyOjptaW5pbXVtVGh1
bWJMZW5ndGgoKQoreworICAgIFJlbmRlclNjcm9sbGJhclBhcnQqIHBhcnRSZW5kZXJlciA9IG1f
cGFydHMuZ2V0KFRodW1iUGFydCk7CisgICAgaWYgKCFwYXJ0UmVuZGVyZXIpCisgICAgICAgIHJl
dHVybiAwOyAgICAKKyAgICBwYXJ0UmVuZGVyZXItPmxheW91dCgpOworICAgIHJldHVybiBvcmll
bnRhdGlvbigpID09IEhvcml6b250YWxTY3JvbGxiYXIgPyBwYXJ0UmVuZGVyZXItPndpZHRoKCkg
OiBwYXJ0UmVuZGVyZXItPmhlaWdodCgpOworfQorCit9CkluZGV4OiBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTY3JvbGxiYXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJTY3JvbGxiYXIuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNj
cm9sbGJhci5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDczIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgUmVuZGVyU2Nyb2xsYmFyX2gK
KyNkZWZpbmUgUmVuZGVyU2Nyb2xsYmFyX2gKKworI2luY2x1ZGUgIlNjcm9sbGJhci5oIgorI2lu
Y2x1ZGUgIlJlbmRlclN0eWxlLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitjbGFzcyBSZW5kZXJPYmplY3Q7CitjbGFzcyBSZW5kZXJTY3JvbGxi
YXJQYXJ0OworY2xhc3MgUmVuZGVyU3R5bGU7CisKK2NsYXNzIFJlbmRlclNjcm9sbGJhciA6IHB1
YmxpYyBTY3JvbGxiYXIgeworcHJvdGVjdGVkOgorICAgIFJlbmRlclNjcm9sbGJhcihTY3JvbGxi
YXJDbGllbnQqLCBTY3JvbGxiYXJPcmllbnRhdGlvbiwgUmVuZGVyU3R5bGUqLCBSZW5kZXJPYmpl
Y3QqKTsKKworcHVibGljOgorICAgIGZyaWVuZCBjbGFzcyBTY3JvbGxiYXI7CisgICAgc3RhdGlj
IFBhc3NSZWZQdHI8U2Nyb2xsYmFyPiBjcmVhdGVDdXN0b21TY3JvbGxiYXIoU2Nyb2xsYmFyQ2xp
ZW50KiwgU2Nyb2xsYmFyT3JpZW50YXRpb24sIFJlbmRlclN0eWxlKiwgUmVuZGVyT2JqZWN0Kik7
CisgICAgdmlydHVhbCB+UmVuZGVyU2Nyb2xsYmFyKCk7CisKKyAgICB2b2lkIHVwZGF0ZVNjcm9s
bGJhclBhcnRzKFJlbmRlclN0eWxlKiA9IDAsIGJvb2wgZGVzdHJveSA9IGZhbHNlKTsKKworICAg
IHN0YXRpYyBTY3JvbGxiYXJQYXJ0IHBhcnRGb3JTdHlsZVJlc29sdmUoKTsKKyAgICBzdGF0aWMg
UmVuZGVyU2Nyb2xsYmFyKiBzY3JvbGxiYXJGb3JTdHlsZVJlc29sdmUoKTsKKworICAgIHZpcnR1
YWwgdm9pZCBzdHlsZUNoYW5nZWQoKSB7IHVwZGF0ZVNjcm9sbGJhclBhcnRzKCk7IH0KKworICAg
IFJlbmRlck9iamVjdCogb3duaW5nUmVuZGVyZXIoKSBjb25zdCB7IHJldHVybiBtX293bmVyOyB9
CisKKyAgICB2b2lkIHBhaW50UGFydChHcmFwaGljc0NvbnRleHQqLCBTY3JvbGxiYXJQYXJ0LCBj
b25zdCBJbnRSZWN0Jik7CisKKyAgICBJbnRSZWN0IGJ1dHRvblJlY3QoU2Nyb2xsYmFyUGFydCk7
CisgICAgCisgICAgaW50IG1pbmltdW1UaHVtYkxlbmd0aCgpOworCitwcml2YXRlOgorICAgIFJl
bmRlclN0eWxlKiBnZXRTY3JvbGxiYXJQc2V1ZG9TdHlsZShTY3JvbGxiYXJQYXJ0LCBSZW5kZXJT
dHlsZTo6UHNldWRvSWQpOworICAgIHZvaWQgdXBkYXRlU2Nyb2xsYmFyUGFydChTY3JvbGxiYXJQ
YXJ0LCBSZW5kZXJTdHlsZTo6UHNldWRvSWQsIFJlbmRlclN0eWxlKiwgYm9vbCBkZXN0cm95KTsK
KworICAgIFJlbmRlck9iamVjdCogbV9vd25lcjsKKyAgICBIYXNoTWFwPHVuc2lnbmVkLCBSZW5k
ZXJTY3JvbGxiYXJQYXJ0Kj4gbV9wYXJ0czsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIFJlbmRlclNjcm9sbGJhcl9oCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTY3JvbGxiYXJQYXJ0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTY3JvbGxiYXJQYXJ0LmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNjcm9sbGJhclBhcnQuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyNyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiUmVuZGVyU2Nyb2xsYmFyUGFydC5oIgorI2luY2x1ZGUgIlJl
bmRlclNjcm9sbGJhci5oIgorI2luY2x1ZGUgIlJlbmRlclNjcm9sbGJhclRoZW1lLmgiCisKK3Vz
aW5nIG5hbWVzcGFjZSBzdGQ7CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVuZGVyU2Nyb2xs
YmFyUGFydDo6UmVuZGVyU2Nyb2xsYmFyUGFydChSZW5kZXJTY3JvbGxiYXIqIHNjcm9sbGJhciwg
U2Nyb2xsYmFyUGFydCBwYXJ0LCBOb2RlKiBub2RlKQorICAgIDogUmVuZGVyQmxvY2sobm9kZSkK
KyAgICAsIG1fc2Nyb2xsYmFyKHNjcm9sbGJhcikKKyAgICAsIG1fcGFydChwYXJ0KQoreworfQor
CitSZW5kZXJTY3JvbGxiYXJQYXJ0Ojp+UmVuZGVyU2Nyb2xsYmFyUGFydCgpCit7Cit9CisKK3Zv
aWQgUmVuZGVyU2Nyb2xsYmFyUGFydDo6bGF5b3V0KCkKK3sKKyAgICBzZXRQb3MoMCwgMCk7IC8v
IFdlIGRvbid0IHdvcnJ5IGFib3V0IHBvc2l0aW9uaW5nIG91cnNlbHZlcy4gIFdlJ3JlIGp1c3Qg
ZGV0ZXJtaW5pbmcgb3VyIG1pbmltdW0gd2lkdGgvaGVpZ2h0LgorICAgIGlmIChtX3Njcm9sbGJh
ci0+b3JpZW50YXRpb24oKSA9PSBIb3Jpem9udGFsU2Nyb2xsYmFyKQorICAgICAgICBsYXlvdXRI
b3Jpem9udGFsUGFydCgpOworICAgIGVsc2UKKyAgICAgICAgbGF5b3V0VmVydGljYWxQYXJ0KCk7
CisKKyAgICBtX292ZXJmbG93V2lkdGggPSBtYXgobV93aWR0aCwgbV9vdmVyZmxvd1dpZHRoKTsK
KyAgICBtX292ZXJmbG93SGVpZ2h0ID0gbWF4KG1faGVpZ2h0LCBtX292ZXJmbG93SGVpZ2h0KTsK
KyAgICAKKyAgICBzZXROZWVkc0xheW91dChmYWxzZSk7Cit9CisKK3ZvaWQgUmVuZGVyU2Nyb2xs
YmFyUGFydDo6bGF5b3V0SG9yaXpvbnRhbFBhcnQoKQoreworICAgIGlmIChtX3BhcnQgPT0gU2Ny
b2xsYmFyQkdQYXJ0KSB7CisgICAgICAgIG1fd2lkdGggPSBtX3Njcm9sbGJhci0+d2lkdGgoKTsK
KyAgICAgICAgY29tcHV0ZVNjcm9sbGJhckhlaWdodCgpOworICAgIH0gZWxzZSB7CisgICAgICAg
IGNvbXB1dGVTY3JvbGxiYXJXaWR0aCgpOworICAgICAgICBtX2hlaWdodCA9IG1fc2Nyb2xsYmFy
LT5oZWlnaHQoKTsKKyAgICB9Cit9CisKK3ZvaWQgUmVuZGVyU2Nyb2xsYmFyUGFydDo6bGF5b3V0
VmVydGljYWxQYXJ0KCkKK3sKKyAgICBpZiAobV9wYXJ0ID09IFNjcm9sbGJhckJHUGFydCkgewor
ICAgICAgICBjb21wdXRlU2Nyb2xsYmFyV2lkdGgoKTsKKyAgICAgICAgbV9oZWlnaHQgPSBtX3Nj
cm9sbGJhci0+aGVpZ2h0KCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgbV93aWR0aCA9IG1fc2Ny
b2xsYmFyLT53aWR0aCgpOworICAgICAgICBjb21wdXRlU2Nyb2xsYmFySGVpZ2h0KCk7CisgICAg
fSAKK30KKworc3RhdGljIGludCBjYWxjU2Nyb2xsYmFyVGhpY2tuZXNzVXNpbmcoY29uc3QgTGVu
Z3RoJiBsLCBpbnQgY29udGFpbmluZ0xlbmd0aCkKK3sKKyAgICBpZiAobC5pc0ludHJpbnNpY09y
QXV0bygpKQorICAgICAgICByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPnNj
cm9sbGJhclRoaWNrbmVzcygpOworICAgIHJldHVybiBsLmNhbGNNaW5WYWx1ZShjb250YWluaW5n
TGVuZ3RoKTsKK30KKwordm9pZCBSZW5kZXJTY3JvbGxiYXJQYXJ0Ojpjb21wdXRlU2Nyb2xsYmFy
V2lkdGgoKQoreworICAgIGludCB2aXNpYmxlU2l6ZSA9IG1fc2Nyb2xsYmFyLT5vd25pbmdSZW5k
ZXJlcigpLT53aWR0aCgpIC0gbV9zY3JvbGxiYXItPm93bmluZ1JlbmRlcmVyKCktPmJvcmRlckxl
ZnQoKSAtIG1fc2Nyb2xsYmFyLT5vd25pbmdSZW5kZXJlcigpLT5ib3JkZXJSaWdodCgpOworICAg
IGludCB3aWR0aCA9IGNhbGNTY3JvbGxiYXJUaGlja25lc3NVc2luZyhzdHlsZSgpLT53aWR0aCgp
LCB2aXNpYmxlU2l6ZSk7CisgICAgaW50IG1pbldpZHRoID0gY2FsY1Njcm9sbGJhclRoaWNrbmVz
c1VzaW5nKHN0eWxlKCktPm1pbldpZHRoKCksIHZpc2libGVTaXplKTsKKyAgICBpbnQgbWF4V2lk
dGggPSBzdHlsZSgpLT5tYXhXaWR0aCgpLmlzVW5kZWZpbmVkKCkgPyB3aWR0aCA6IGNhbGNTY3Jv
bGxiYXJUaGlja25lc3NVc2luZyhzdHlsZSgpLT5tYXhXaWR0aCgpLCB2aXNpYmxlU2l6ZSk7Cisg
ICAgbV93aWR0aCA9IG1heChtaW5XaWR0aCwgbWluKG1heFdpZHRoLCB3aWR0aCkpOworfQorCit2
b2lkIFJlbmRlclNjcm9sbGJhclBhcnQ6OmNvbXB1dGVTY3JvbGxiYXJIZWlnaHQoKQoreworICAg
IGludCB2aXNpYmxlU2l6ZSA9IG1fc2Nyb2xsYmFyLT5vd25pbmdSZW5kZXJlcigpLT5oZWlnaHQo
KSAtICBtX3Njcm9sbGJhci0+b3duaW5nUmVuZGVyZXIoKS0+Ym9yZGVyVG9wKCkgLSBtX3Njcm9s
bGJhci0+b3duaW5nUmVuZGVyZXIoKS0+Ym9yZGVyQm90dG9tKCk7CisgICAgaW50IGhlaWdodCA9
IGNhbGNTY3JvbGxiYXJUaGlja25lc3NVc2luZyhzdHlsZSgpLT5oZWlnaHQoKSwgdmlzaWJsZVNp
emUpOworICAgIGludCBtaW5IZWlnaHQgPSBjYWxjU2Nyb2xsYmFyVGhpY2tuZXNzVXNpbmcoc3R5
bGUoKS0+bWluSGVpZ2h0KCksIHZpc2libGVTaXplKTsKKyAgICBpbnQgbWF4SGVpZ2h0ID0gc3R5
bGUoKS0+bWF4SGVpZ2h0KCkuaXNVbmRlZmluZWQoKSA/IGhlaWdodCA6IGNhbGNTY3JvbGxiYXJU
aGlja25lc3NVc2luZyhzdHlsZSgpLT5tYXhIZWlnaHQoKSwgdmlzaWJsZVNpemUpOworICAgIG1f
aGVpZ2h0ID0gbWF4KG1pbkhlaWdodCwgbWluKG1heEhlaWdodCwgaGVpZ2h0KSk7CisKK30KKwor
dm9pZCBSZW5kZXJTY3JvbGxiYXJQYXJ0OjpjYWxjUHJlZldpZHRocygpCit7CisgICAgaWYgKCFw
cmVmV2lkdGhzRGlydHkoKSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIG1fbWluUHJlZldp
ZHRoID0gbV9tYXhQcmVmV2lkdGggPSAwOworCisgICAgc2V0UHJlZldpZHRoc0RpcnR5KGZhbHNl
KTsKK30KKwordm9pZCBSZW5kZXJTY3JvbGxiYXJQYXJ0OjpzZXRTdHlsZShjb25zdCBSZW5kZXJT
dHlsZSogcykKK3sKKyAgICBSZW5kZXJCbG9jazo6c2V0U3R5bGUocyk7CisgICAgc2V0SW5saW5l
KGZhbHNlKTsKKyAgICBzZXRQb3NpdGlvbmVkKGZhbHNlKTsKKyAgICBzZXRGbG9hdGluZyhmYWxz
ZSk7CisgICAgc2V0SGFzT3ZlcmZsb3dDbGlwKGZhbHNlKTsKK30KKworfQpJbmRleDogV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyUGFydC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclBhcnQuaAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclBhcnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZu
ZGVmIFJlbmRlclNjcm9sbGJhclBhcnRfaAorI2RlZmluZSBSZW5kZXJTY3JvbGxiYXJQYXJ0X2gK
KworI2luY2x1ZGUgIlJlbmRlckJsb2NrLmgiCisjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSZW5kZXJTY3JvbGxiYXI7CisKK2NsYXNzIFJl
bmRlclNjcm9sbGJhclBhcnQgOiBwdWJsaWMgUmVuZGVyQmxvY2sgeworcHVibGljOgorICAgIFJl
bmRlclNjcm9sbGJhclBhcnQoUmVuZGVyU2Nyb2xsYmFyKiwgU2Nyb2xsYmFyUGFydCwgTm9kZSop
OworICAgIHZpcnR1YWwgflJlbmRlclNjcm9sbGJhclBhcnQoKTsKKworICAgIHZpcnR1YWwgY29u
c3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0IHsgcmV0dXJuICJSZW5kZXJTY3JvbGxiYXJQYXJ0
IjsgfQorICAgIAorICAgIHZpcnR1YWwgYm9vbCByZXF1aXJlc0xheWVyKCkgeyByZXR1cm4gZmFs
c2U7IH0KKworICAgIHZpcnR1YWwgdm9pZCBsYXlvdXQoKTsKKyAgICB2aXJ0dWFsIHZvaWQgY2Fs
Y1ByZWZXaWR0aHMoKTsKKyAgICAKKyAgICB2aXJ0dWFsIHZvaWQgc2V0U3R5bGUoY29uc3QgUmVu
ZGVyU3R5bGUqKTsKKworcHJpdmF0ZToKKyAgICB2b2lkIGxheW91dEhvcml6b250YWxQYXJ0KCk7
CisgICAgdm9pZCBsYXlvdXRWZXJ0aWNhbFBhcnQoKTsKKworICAgIHZvaWQgY29tcHV0ZVNjcm9s
bGJhcldpZHRoKCk7CisgICAgdm9pZCBjb21wdXRlU2Nyb2xsYmFySGVpZ2h0KCk7CisgICAgCisg
ICAgUmVuZGVyU2Nyb2xsYmFyKiBtX3Njcm9sbGJhcjsKKyAgICBTY3JvbGxiYXJQYXJ0IG1fcGFy
dDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFJlbmRlclNjcm9s
bGJhclBhcnRfaApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyVGhlbWUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRoZW1l
LmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhclRo
ZW1lLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMjUgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIlJlbmRlclNjcm9sbGJhclRoZW1lLmgiCisjaW5jbHVkZSAiUmVuZGVyU2Nyb2xsYmFyLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVuZGVyU2Nyb2xsYmFyVGhlbWUqIFJlbmRlclNj
cm9sbGJhclRoZW1lOjpyZW5kZXJTY3JvbGxiYXJUaGVtZSgpCit7CisgICAgc3RhdGljIFJlbmRl
clNjcm9sbGJhclRoZW1lIHRoZW1lOworICAgIHJldHVybiAmdGhlbWU7Cit9CisKK3ZvaWQgUmVu
ZGVyU2Nyb2xsYmFyVGhlbWU6OmJ1dHRvblNpemVzQWxvbmdUcmFja0F4aXMoU2Nyb2xsYmFyKiBz
Y3JvbGxiYXIsIGludCYgYmVmb3JlU2l6ZSwgaW50JiBhZnRlclNpemUpCit7CisgICAgSW50UmVj
dCBmaXJzdEJ1dHRvbiA9IGJhY2tCdXR0b25SZWN0KHNjcm9sbGJhciwgQmFja0J1dHRvblN0YXJ0
UGFydCk7CisgICAgSW50UmVjdCBzZWNvbmRCdXR0b24gPSBmb3J3YXJkQnV0dG9uUmVjdChzY3Jv
bGxiYXIsIEZvcndhcmRCdXR0b25TdGFydFBhcnQpOworICAgIEludFJlY3QgdGhpcmRCdXR0b24g
PSBiYWNrQnV0dG9uUmVjdChzY3JvbGxiYXIsIEJhY2tCdXR0b25FbmRQYXJ0KTsKKyAgICBJbnRS
ZWN0IGZvdXJ0aEJ1dHRvbiA9IGZvcndhcmRCdXR0b25SZWN0KHNjcm9sbGJhciwgRm9yd2FyZEJ1
dHRvbkVuZFBhcnQpOworICAgIGlmIChzY3JvbGxiYXItPm9yaWVudGF0aW9uKCkgPT0gSG9yaXpv
bnRhbFNjcm9sbGJhcikgeworICAgICAgICBiZWZvcmVTaXplID0gZmlyc3RCdXR0b24ud2lkdGgo
KSArIHNlY29uZEJ1dHRvbi53aWR0aCgpOworICAgICAgICBhZnRlclNpemUgPSB0aGlyZEJ1dHRv
bi53aWR0aCgpICsgZm91cnRoQnV0dG9uLndpZHRoKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAg
YmVmb3JlU2l6ZSA9IGZpcnN0QnV0dG9uLmhlaWdodCgpICsgc2Vjb25kQnV0dG9uLmhlaWdodCgp
OworICAgICAgICBhZnRlclNpemUgPSB0aGlyZEJ1dHRvbi5oZWlnaHQoKSArIGZvdXJ0aEJ1dHRv
bi5oZWlnaHQoKTsKKyAgICB9Cit9CisKK2Jvb2wgUmVuZGVyU2Nyb2xsYmFyVGhlbWU6Omhhc0J1
dHRvbnMoU2Nyb2xsYmFyKiBzY3JvbGxiYXIpCit7CisgICAgaW50IHN0YXJ0U2l6ZTsKKyAgICBp
bnQgZW5kU2l6ZTsKKyAgICBidXR0b25TaXplc0Fsb25nVHJhY2tBeGlzKHNjcm9sbGJhciwgc3Rh
cnRTaXplLCBlbmRTaXplKTsKKyAgICByZXR1cm4gKHN0YXJ0U2l6ZSArIGVuZFNpemUpIDw9IChz
Y3JvbGxiYXItPm9yaWVudGF0aW9uKCkgPT0gSG9yaXpvbnRhbFNjcm9sbGJhciA/IHNjcm9sbGJh
ci0+d2lkdGgoKSA6IHNjcm9sbGJhci0+aGVpZ2h0KCkpOworfQorCitib29sIFJlbmRlclNjcm9s
bGJhclRoZW1lOjpoYXNUaHVtYihTY3JvbGxiYXIqIHNjcm9sbGJhcikKK3sKKyAgICByZXR1cm4g
dHJhY2tMZW5ndGgoc2Nyb2xsYmFyKSAtIHRodW1iTGVuZ3RoKHNjcm9sbGJhcikgPj0gMDsKK30K
KworaW50IFJlbmRlclNjcm9sbGJhclRoZW1lOjptaW5pbXVtVGh1bWJMZW5ndGgoU2Nyb2xsYmFy
KiBzY3JvbGxiYXIpCit7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRlclNjcm9sbGJhcio+
KHNjcm9sbGJhciktPm1pbmltdW1UaHVtYkxlbmd0aCgpOworfQorCitJbnRSZWN0IFJlbmRlclNj
cm9sbGJhclRoZW1lOjpiYWNrQnV0dG9uUmVjdChTY3JvbGxiYXIqIHNjcm9sbGJhciwgU2Nyb2xs
YmFyUGFydCBwYXJ0VHlwZSwgYm9vbCBwYWludGluZykKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8UmVuZGVyU2Nyb2xsYmFyKj4oc2Nyb2xsYmFyKS0+YnV0dG9uUmVjdChwYXJ0VHlwZSk7Cit9
CisKK0ludFJlY3QgUmVuZGVyU2Nyb2xsYmFyVGhlbWU6OmZvcndhcmRCdXR0b25SZWN0KFNjcm9s
bGJhciogc2Nyb2xsYmFyLCBTY3JvbGxiYXJQYXJ0IHBhcnRUeXBlLCBib29sIHBhaW50aW5nKQor
eworICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5kZXJTY3JvbGxiYXIqPihzY3JvbGxiYXIpLT5i
dXR0b25SZWN0KHBhcnRUeXBlKTsKK30KKworSW50UmVjdCBSZW5kZXJTY3JvbGxiYXJUaGVtZTo6
dHJhY2tSZWN0KFNjcm9sbGJhciogc2Nyb2xsYmFyLCBib29sIHBhaW50aW5nKQoreworICAgIGlm
ICghaGFzQnV0dG9ucyhzY3JvbGxiYXIpKQorICAgICAgICByZXR1cm4gc2Nyb2xsYmFyLT5mcmFt
ZVJlY3QoKTsKKyAgICBpbnQgc3RhcnRMZW5ndGg7CisgICAgaW50IGVuZExlbmd0aDsKKyAgICBi
dXR0b25TaXplc0Fsb25nVHJhY2tBeGlzKHNjcm9sbGJhciwgc3RhcnRMZW5ndGgsIGVuZExlbmd0
aCk7CisgICAgaW50IHRvdGFsTGVuZ3RoID0gc3RhcnRMZW5ndGggKyBlbmRMZW5ndGg7CisgICAg
aWYgKHNjcm9sbGJhci0+b3JpZW50YXRpb24oKSA9PSBIb3Jpem9udGFsU2Nyb2xsYmFyKQorICAg
ICAgICByZXR1cm4gSW50UmVjdChzY3JvbGxiYXItPngoKSArIHN0YXJ0TGVuZ3RoLCBzY3JvbGxi
YXItPnkoKSwgc2Nyb2xsYmFyLT53aWR0aCgpIC0gdG90YWxMZW5ndGgsIHNjcm9sbGJhci0+aGVp
Z2h0KCkpOworICAgIHJldHVybiBJbnRSZWN0KHNjcm9sbGJhci0+eCgpLCBzY3JvbGxiYXItPnko
KSArIHN0YXJ0TGVuZ3RoLCBzY3JvbGxiYXItPndpZHRoKCksIHNjcm9sbGJhci0+aGVpZ2h0KCkg
LSB0b3RhbExlbmd0aCk7Cit9CisKK3ZvaWQgUmVuZGVyU2Nyb2xsYmFyVGhlbWU6OnBhaW50U2Ny
b2xsQ29ybmVyKFNjcm9sbFZpZXcqLCBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IElu
dFJlY3QmIGNvcm5lclJlY3QpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudC4KKyAgICBjb250
ZXh0LT5maWxsUmVjdChjb3JuZXJSZWN0LCBDb2xvcjo6d2hpdGUpOworfQorCit2b2lkIFJlbmRl
clNjcm9sbGJhclRoZW1lOjpwYWludFNjcm9sbGJhckJhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0
KiBjb250ZXh0LCBTY3JvbGxiYXIqIHNjcm9sbGJhcikKK3sKKyAgICBzdGF0aWNfY2FzdDxSZW5k
ZXJTY3JvbGxiYXIqPihzY3JvbGxiYXIpLT5wYWludFBhcnQoY29udGV4dCwgU2Nyb2xsYmFyQkdQ
YXJ0LCBzY3JvbGxiYXItPmZyYW1lUmVjdCgpKTsKK30KKwordm9pZCBSZW5kZXJTY3JvbGxiYXJU
aGVtZTo6cGFpbnRUcmFja0JhY2tncm91bmQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBTY3Jv
bGxiYXIqIHNjcm9sbGJhciwgY29uc3QgSW50UmVjdCYgcmVjdCkKK3sKKyAgICBzdGF0aWNfY2Fz
dDxSZW5kZXJTY3JvbGxiYXIqPihzY3JvbGxiYXIpLT5wYWludFBhcnQoY29udGV4dCwgVHJhY2tC
R1BhcnQsIHJlY3QpOworfQorCit2b2lkIFJlbmRlclNjcm9sbGJhclRoZW1lOjpwYWludFRyYWNr
UGllY2UoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBTY3JvbGxiYXIqIHNjcm9sbGJhciwgY29u
c3QgSW50UmVjdCYgcmVjdCwgU2Nyb2xsYmFyUGFydCBwYXJ0KQoreworICAgIHN0YXRpY19jYXN0
PFJlbmRlclNjcm9sbGJhcio+KHNjcm9sbGJhciktPnBhaW50UGFydChjb250ZXh0LCBwYXJ0LCBy
ZWN0KTsKK30KKwordm9pZCBSZW5kZXJTY3JvbGxiYXJUaGVtZTo6cGFpbnRCdXR0b24oR3JhcGhp
Y3NDb250ZXh0KiBjb250ZXh0LCBTY3JvbGxiYXIqIHNjcm9sbGJhciwgY29uc3QgSW50UmVjdCYg
cmVjdCwgU2Nyb2xsYmFyUGFydCBwYXJ0KQoreworICAgIHN0YXRpY19jYXN0PFJlbmRlclNjcm9s
bGJhcio+KHNjcm9sbGJhciktPnBhaW50UGFydChjb250ZXh0LCBwYXJ0LCByZWN0KTsKK30KKwor
dm9pZCBSZW5kZXJTY3JvbGxiYXJUaGVtZTo6cGFpbnRUaHVtYihHcmFwaGljc0NvbnRleHQqIGNv
bnRleHQsIFNjcm9sbGJhciogc2Nyb2xsYmFyLCBjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAg
IHN0YXRpY19jYXN0PFJlbmRlclNjcm9sbGJhcio+KHNjcm9sbGJhciktPnBhaW50UGFydChjb250
ZXh0LCBUaHVtYlBhcnQsIHJlY3QpOworfQorCit9CkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTY3JvbGxiYXJUaGVtZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclNjcm9sbGJhclRoZW1lLmgJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTY3JvbGxiYXJUaGVtZS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDgxIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgUmVuZGVy
U2Nyb2xsYmFyVGhlbWVfaAorI2RlZmluZSBSZW5kZXJTY3JvbGxiYXJUaGVtZV9oCisKKyNpbmNs
dWRlICJTY3JvbGxiYXJUaGVtZUNvbXBvc2l0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIFBsYXRmb3JtTW91c2VFdmVudDsKK2NsYXNzIFNjcm9sbGJhcjsKK2NsYXNzIFNjcm9s
bFZpZXc7CisKK2NsYXNzIFJlbmRlclNjcm9sbGJhclRoZW1lIDogcHVibGljIFNjcm9sbGJhclRo
ZW1lQ29tcG9zaXRlIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5SZW5kZXJTY3JvbGxiYXJUaGVt
ZSgpIHt9OworICAgIAorICAgIHZpcnR1YWwgaW50IHNjcm9sbGJhclRoaWNrbmVzcyhTY3JvbGxi
YXJDb250cm9sU2l6ZSBjb250cm9sU2l6ZSkgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2
ZVRoZW1lKCktPnNjcm9sbGJhclRoaWNrbmVzcyhjb250cm9sU2l6ZSk7IH0KKworICAgIHZpcnR1
YWwgU2Nyb2xsYmFyQnV0dG9uc1BsYWNlbWVudCBidXR0b25zUGxhY2VtZW50KCkgY29uc3QgeyBy
ZXR1cm4gU2Nyb2xsYmFyQnV0dG9uc0RvdWJsZUJvdGg7IH0KKworICAgIHZpcnR1YWwgYm9vbCBz
dXBwb3J0c0NvbnRyb2xUaW50cygpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKworICAgIHZpcnR1
YWwgdm9pZCBwYWludFNjcm9sbENvcm5lcihTY3JvbGxWaWV3KiwgR3JhcGhpY3NDb250ZXh0KiBj
b250ZXh0LCBjb25zdCBJbnRSZWN0JiBjb3JuZXJSZWN0KTsKKworICAgIHZpcnR1YWwgYm9vbCBz
aG91bGRDZW50ZXJPblRodW1iKFNjcm9sbGJhciogc2Nyb2xsYmFyLCBjb25zdCBQbGF0Zm9ybU1v
dXNlRXZlbnQmIGV2ZW50KSB7IHJldHVybiBTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKS0+
c2hvdWxkQ2VudGVyT25UaHVtYihzY3JvbGxiYXIsIGV2ZW50KTsgfQorICAgIAorICAgIHZpcnR1
YWwgZG91YmxlIGluaXRpYWxBdXRvc2Nyb2xsVGltZXJEZWxheSgpIHsgcmV0dXJuIFNjcm9sbGJh
clRoZW1lOjpuYXRpdmVUaGVtZSgpLT5pbml0aWFsQXV0b3Njcm9sbFRpbWVyRGVsYXkoKTsgfQor
ICAgIHZpcnR1YWwgZG91YmxlIGF1dG9zY3JvbGxUaW1lckRlbGF5KCkgeyByZXR1cm4gU2Nyb2xs
YmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPmF1dG9zY3JvbGxUaW1lckRlbGF5KCk7IH0KKworICAg
IHZpcnR1YWwgdm9pZCByZWdpc3RlclNjcm9sbGJhcihTY3JvbGxiYXIqIHNjcm9sbGJhcikgeyBy
ZXR1cm4gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPnJlZ2lzdGVyU2Nyb2xsYmFyKHNj
cm9sbGJhcik7IH0KKyAgICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlclNjcm9sbGJhcihTY3JvbGxi
YXIqIHNjcm9sbGJhcikgeyByZXR1cm4gU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCktPnVu
cmVnaXN0ZXJTY3JvbGxiYXIoc2Nyb2xsYmFyKTsgfQorCisgICAgdmlydHVhbCBpbnQgbWluaW11
bVRodW1iTGVuZ3RoKFNjcm9sbGJhciopOworCisgICAgdm9pZCBidXR0b25TaXplc0Fsb25nVHJh
Y2tBeGlzKFNjcm9sbGJhciogc2Nyb2xsYmFyLCBpbnQmIGJlZm9yZVNpemUsIGludCYgYWZ0ZXJT
aXplKTsKKyAgICAKKyAgICBzdGF0aWMgUmVuZGVyU2Nyb2xsYmFyVGhlbWUqIHJlbmRlclNjcm9s
bGJhclRoZW1lKCk7CisKK3Byb3RlY3RlZDoKKyAgICB2aXJ0dWFsIGJvb2wgaGFzQnV0dG9ucyhT
Y3JvbGxiYXIqKTsKKyAgICB2aXJ0dWFsIGJvb2wgaGFzVGh1bWIoU2Nyb2xsYmFyKik7CisKKyAg
ICB2aXJ0dWFsIEludFJlY3QgYmFja0J1dHRvblJlY3QoU2Nyb2xsYmFyKiwgU2Nyb2xsYmFyUGFy
dCwgYm9vbCBwYWludGluZyA9IGZhbHNlKTsKKyAgICB2aXJ0dWFsIEludFJlY3QgZm9yd2FyZEJ1
dHRvblJlY3QoU2Nyb2xsYmFyKiwgU2Nyb2xsYmFyUGFydCwgYm9vbCBwYWludGluZyA9IGZhbHNl
KTsKKyAgICB2aXJ0dWFsIEludFJlY3QgdHJhY2tSZWN0KFNjcm9sbGJhciosIGJvb2wgcGFpbnRp
bmcgPSBmYWxzZSk7CisgICAgCisgICAgdmlydHVhbCB2b2lkIHBhaW50U2Nyb2xsYmFyQmFja2dy
b3VuZChHcmFwaGljc0NvbnRleHQqLCBTY3JvbGxiYXIqKTsgICAgCisgICAgdmlydHVhbCB2b2lk
IHBhaW50VHJhY2tCYWNrZ3JvdW5kKEdyYXBoaWNzQ29udGV4dCosIFNjcm9sbGJhciosIGNvbnN0
IEludFJlY3QmKTsKKyAgICB2aXJ0dWFsIHZvaWQgcGFpbnRUcmFja1BpZWNlKEdyYXBoaWNzQ29u
dGV4dCosIFNjcm9sbGJhciosIGNvbnN0IEludFJlY3QmLCBTY3JvbGxiYXJQYXJ0KTsKKyAgICB2
aXJ0dWFsIHZvaWQgcGFpbnRCdXR0b24oR3JhcGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyKiwgY29u
c3QgSW50UmVjdCYsIFNjcm9sbGJhclBhcnQpOworICAgIHZpcnR1YWwgdm9pZCBwYWludFRodW1i
KEdyYXBoaWNzQ29udGV4dCosIFNjcm9sbGJhciosIGNvbnN0IEludFJlY3QmKTsKKworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gUmVuZGVyU2Nyb2xsYmFyVGhlbWVf
aApJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCShyZXZpc2lvbiAzNzM4
OCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEwOSw3ICsxMDksOCBAQCBwdWJsaWM6CiAgICAgZW51bSBQc2V1ZG9JZCB7IE5PUFNF
VURPLCBGSVJTVF9MSU5FLCBGSVJTVF9MRVRURVIsIEJFRk9SRSwgQUZURVIsIFNFTEVDVElPTiwg
RklSU1RfTElORV9JTkhFUklURUQsIEZJTEVfVVBMT0FEX0JVVFRPTiwgSU5QVVRfUExBQ0VIT0xE
RVIsCiAgICAgICAgICAgICAgICAgICAgIFNMSURFUl9USFVNQiwgU0VBUkNIX0NBTkNFTF9CVVRU
T04sIFNFQVJDSF9ERUNPUkFUSU9OLCBTRUFSQ0hfUkVTVUxUU19ERUNPUkFUSU9OLCBTRUFSQ0hf
UkVTVUxUU19CVVRUT04sIE1FRElBX0NPTlRST0xTX1BBTkVMLAogICAgICAgICAgICAgICAgICAg
ICBNRURJQV9DT05UUk9MU19QTEFZX0JVVFRPTiwgTUVESUFfQ09OVFJPTFNfTVVURV9CVVRUT04s
IE1FRElBX0NPTlRST0xTX1RJTUVMSU5FLCBNRURJQV9DT05UUk9MU19USU1FX0RJU1BMQVksCi0g
ICAgICAgICAgICAgICAgICAgIE1FRElBX0NPTlRST0xTX1NFRUtfQkFDS19CVVRUT04sIE1FRElB
X0NPTlRST0xTX1NFRUtfRk9SV0FSRF9CVVRUT04gLCBNRURJQV9DT05UUk9MU19GVUxMU0NSRUVO
X0JVVFRPTiB9OworICAgICAgICAgICAgICAgICAgICBNRURJQV9DT05UUk9MU19TRUVLX0JBQ0tf
QlVUVE9OLCBNRURJQV9DT05UUk9MU19TRUVLX0ZPUldBUkRfQlVUVE9OICwgTUVESUFfQ09OVFJP
TFNfRlVMTFNDUkVFTl9CVVRUT04sCisgICAgICAgICAgICAgICAgICAgIFNDUk9MTEJBUiwgU0NS
T0xMQkFSX1RIVU1CLCBTQ1JPTExCQVJfQlVUVE9OLCBTQ1JPTExCQVJfVFJBQ0ssIFNDUk9MTEJB
Ul9UUkFDS19QSUVDRSwgU0NST0xMQkFSX0NPUk5FUiB9OwogICAgIHN0YXRpYyBjb25zdCBpbnQg
RklSU1RfSU5URVJOQUxfUFNFVURPSUQgPSBGSUxFX1VQTE9BRF9CVVRUT047CiAKICAgICB2b2lk
IHJlZigpIHsgbV9yZWYrKzsgfQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMzc0NTApCisrKyBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAwOC0xMC0w
OSAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGxheW91dCB0
ZXN0IGRpcmVjdG9yeSBhbmQgaW5pdGlhbCB0ZXN0IGZvciBDU1Mgc2Nyb2xsYmFycy4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL21h
Yy9zY3JvbGxiYXJzOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc2Nyb2xsYmFycy9i
YXNpYy1zY3JvbGxiYXItZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9zY3JvbGxiYXJzL2Jhc2ljLXNjcm9sbGJhci1leHBlY3RlZC5wbmc6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9zY3JvbGxiYXJzL2Jhc2ljLXNjcm9sbGJhci1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHNjcm9sbGJhcnM6IEFkZGVkLgorICAgICAgICAqIHNj
cm9sbGJhcnMvYmFzaWMtc2Nyb2xsYmFyLmh0bWw6IEFkZGVkLgorCiAyMDA4LTEwLTA5ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICAtIGNoZWNrZWQgaW4gYSBtaXNz
aW5nIGV4cGVjdGVkIHJlc3VsdApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3Njcm9s
bGJhcnMvYmFzaWMtc2Nyb2xsYmFyLWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9zY3JvbGxiYXJzL2Jhc2ljLXNjcm9sbGJhci1leHBlY3Rl
ZC5jaGVja3N1bQkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zY3Jv
bGxiYXJzL2Jhc2ljLXNjcm9sbGJhci1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSBAQAorZjY5MTY3OTEwOTMyZDE0OWRjZTlhMWQ5NDc1ZmEyMzIKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc2Nyb2xsYmFy
cy9iYXNpYy1zY3JvbGxiYXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9zY3JvbGxiYXJzL2Jhc2ljLXNjcm9sbGJhci1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc2Nyb2xsYmFycy9iYXNpYy1z
Y3JvbGxiYXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE1NCBAQAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUg
Nzg0eDU4NAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSAyMDB4MjAwIGNsaXAgYXQgKDgsOCkgc2l6ZSAx
ODN4MjAwIHNjcm9sbEhlaWdodCA4ODIKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6
ZSAyMDB4MjAwCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMzV4MTgKKyAg
ICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDM1OiAiSGVsbG8iCisgICAgUmVuZGVyQlIge0JS
fSBhdCAoMzUsMTQpIHNpemUgMHgwCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDE4KSBz
aXplIDM1eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggMzU6ICJIZWxsbyIKKyAg
ICBSZW5kZXJCUiB7QlJ9IGF0ICgzNSwzMikgc2l6ZSAweDAKKyAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMzYpIHNpemUgMzV4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgwLDM2KSB3aWR0aCAz
NTogIkhlbGxvIgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDM1LDUwKSBzaXplIDB4MAorICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCw1NCkgc2l6ZSAzNXgxOAorICAgICAgdGV4dCBydW4gYXQg
KDAsNTQpIHdpZHRoIDM1OiAiSGVsbG8iCisgICAgUmVuZGVyQlIge0JSfSBhdCAoMzUsNjgpIHNp
emUgMHgwCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDcyKSBzaXplIDM1eDE4CisgICAg
ICB0ZXh0IHJ1biBhdCAoMCw3Mikgd2lkdGggMzU6ICJIZWxsbyIKKyAgICBSZW5kZXJCUiB7QlJ9
IGF0ICgzNSw4Nikgc2l6ZSAweDAKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsOTApIHNp
emUgMzV4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgwLDkwKSB3aWR0aCAzNTogIkhlbGxvIgorICAg
IFJlbmRlckJSIHtCUn0gYXQgKDM1LDEwNCkgc2l6ZSAweDAKKyAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMTA4KSBzaXplIDM1eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMCwxMDgpIHdpZHRo
IDM1OiAiSGVsbG8iCisgICAgUmVuZGVyQlIge0JSfSBhdCAoMzUsMTIyKSBzaXplIDB4MAorICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxMjYpIHNpemUgMzV4MTgKKyAgICAgIHRleHQgcnVu
IGF0ICgwLDEyNikgd2lkdGggMzU6ICJIZWxsbyIKKyAgICBSZW5kZXJCUiB7QlJ9IGF0ICgzNSwx
NDApIHNpemUgMHgwCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDE0NCkgc2l6ZSAzNXgx
OAorICAgICAgdGV4dCBydW4gYXQgKDAsMTQ0KSB3aWR0aCAzNTogIkhlbGxvIgorICAgIFJlbmRl
ckJSIHtCUn0gYXQgKDM1LDE1OCkgc2l6ZSAweDAKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMTYyKSBzaXplIDM1eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMCwxNjIpIHdpZHRoIDM1OiAi
SGVsbG8iCisgICAgUmVuZGVyQlIge0JSfSBhdCAoMzUsMTc2KSBzaXplIDB4MAorICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwxODApIHNpemUgMzV4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgw
LDE4MCkgd2lkdGggMzU6ICJIZWxsbyIKKyAgICBSZW5kZXJCUiB7QlJ9IGF0ICgzNSwxOTQpIHNp
emUgMHgwCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDE5OCkgc2l6ZSAzNXgxOAorICAg
ICAgdGV4dCBydW4gYXQgKDAsMTk4KSB3aWR0aCAzNTogIkhlbGxvIgorICAgIFJlbmRlckJSIHtC
Un0gYXQgKDM1LDIxMikgc2l6ZSAweDAKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMjE2
KSBzaXplIDM1eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMCwyMTYpIHdpZHRoIDM1OiAiSGVsbG8i
CisgICAgUmVuZGVyQlIge0JSfSBhdCAoMzUsMjMwKSBzaXplIDB4MAorICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwyMzQpIHNpemUgMzV4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgwLDIzNCkg
d2lkdGggMzU6ICJIZWxsbyIKKyAgICBSZW5kZXJCUiB7QlJ9IGF0ICgzNSwyNDgpIHNpemUgMHgw
CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDI1Mikgc2l6ZSAzNXgxOAorICAgICAgdGV4
dCBydW4gYXQgKDAsMjUyKSB3aWR0aCAzNTogIkhlbGxvIgorICAgIFJlbmRlckJSIHtCUn0gYXQg
KDM1LDI2Nikgc2l6ZSAweDAKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMjcwKSBzaXpl
IDM1eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMCwyNzApIHdpZHRoIDM1OiAiSGVsbG8iCisgICAg
UmVuZGVyQlIge0JSfSBhdCAoMzUsMjg0KSBzaXplIDB4MAorICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwyODgpIHNpemUgMzV4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgwLDI4OCkgd2lkdGgg
MzU6ICJIZWxsbyIKKyAgICBSZW5kZXJCUiB7QlJ9IGF0ICgzNSwzMDIpIHNpemUgMHgwCisgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDMwNikgc2l6ZSAzNXgxOAorICAgICAgdGV4dCBydW4g
YXQgKDAsMzA2KSB3aWR0aCAzNTogIkhlbGxvIgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDM1LDMy
MCkgc2l6ZSAweDAKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMzI0KSBzaXplIDM1eDE4
CisgICAgICB0ZXh0IHJ1biBhdCAoMCwzMjQpIHdpZHRoIDM1OiAiSGVsbG8iCisgICAgUmVuZGVy
QlIge0JSfSBhdCAoMzUsMzM4KSBzaXplIDB4MAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwzNDIpIHNpemUgMzV4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgwLDM0Mikgd2lkdGggMzU6ICJI
ZWxsbyIKKyAgICBSZW5kZXJCUiB7QlJ9IGF0ICgzNSwzNTYpIHNpemUgMHgwCisgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDM2MCkgc2l6ZSAzNXgxOAorICAgICAgdGV4dCBydW4gYXQgKDAs
MzYwKSB3aWR0aCAzNTogIkhlbGxvIgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDM1LDM3NCkgc2l6
ZSAweDAKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMzc4KSBzaXplIDM1eDE4CisgICAg
ICB0ZXh0IHJ1biBhdCAoMCwzNzgpIHdpZHRoIDM1OiAiSGVsbG8iCisgICAgUmVuZGVyQlIge0JS
fSBhdCAoMzUsMzkyKSBzaXplIDB4MAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwzOTYp
IHNpemUgMzV4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgwLDM5Nikgd2lkdGggMzU6ICJIZWxsbyIK
KyAgICBSZW5kZXJCUiB7QlJ9IGF0ICgzNSw0MTApIHNpemUgMHgwCisgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDQxNCkgc2l6ZSAzNXgxOAorICAgICAgdGV4dCBydW4gYXQgKDAsNDE0KSB3
aWR0aCAzNTogIkhlbGxvIgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDM1LDQyOCkgc2l6ZSAweDAK
KyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNDMyKSBzaXplIDM1eDE4CisgICAgICB0ZXh0
IHJ1biBhdCAoMCw0MzIpIHdpZHRoIDM1OiAiSGVsbG8iCisgICAgUmVuZGVyQlIge0JSfSBhdCAo
MzUsNDQ2KSBzaXplIDB4MAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw0NTApIHNpemUg
MzV4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgwLDQ1MCkgd2lkdGggMzU6ICJIZWxsbyIKKyAgICBS
ZW5kZXJCUiB7QlJ9IGF0ICgzNSw0NjQpIHNpemUgMHgwCisgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDQ2OCkgc2l6ZSAzNXgxOAorICAgICAgdGV4dCBydW4gYXQgKDAsNDY4KSB3aWR0aCAz
NTogIkhlbGxvIgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDM1LDQ4Mikgc2l6ZSAweDAKKyAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNDg2KSBzaXplIDM1eDE4CisgICAgICB0ZXh0IHJ1biBh
dCAoMCw0ODYpIHdpZHRoIDM1OiAiSGVsbG8iCisgICAgUmVuZGVyQlIge0JSfSBhdCAoMzUsNTAw
KSBzaXplIDB4MAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw1MDQpIHNpemUgMzV4MTgK
KyAgICAgIHRleHQgcnVuIGF0ICgwLDUwNCkgd2lkdGggMzU6ICJIZWxsbyIKKyAgICBSZW5kZXJC
UiB7QlJ9IGF0ICgzNSw1MTgpIHNpemUgMHgwCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDUyMikgc2l6ZSAzNXgxOAorICAgICAgdGV4dCBydW4gYXQgKDAsNTIyKSB3aWR0aCAzNTogIkhl
bGxvIgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDM1LDUzNikgc2l6ZSAweDAKKyAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsNTQwKSBzaXplIDM1eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMCw1
NDApIHdpZHRoIDM1OiAiSGVsbG8iCisgICAgUmVuZGVyQlIge0JSfSBhdCAoMzUsNTU0KSBzaXpl
IDB4MAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw1NTgpIHNpemUgMzV4MTgKKyAgICAg
IHRleHQgcnVuIGF0ICgwLDU1OCkgd2lkdGggMzU6ICJIZWxsbyIKKyAgICBSZW5kZXJCUiB7QlJ9
IGF0ICgzNSw1NzIpIHNpemUgMHgwCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDU3Nikg
c2l6ZSAzNXgxOAorICAgICAgdGV4dCBydW4gYXQgKDAsNTc2KSB3aWR0aCAzNTogIkhlbGxvIgor
ICAgIFJlbmRlckJSIHtCUn0gYXQgKDM1LDU5MCkgc2l6ZSAweDAKKyAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsNTk0KSBzaXplIDM1eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMCw1OTQpIHdp
ZHRoIDM1OiAiSGVsbG8iCisgICAgUmVuZGVyQlIge0JSfSBhdCAoMzUsNjA4KSBzaXplIDB4MAor
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCw2MTIpIHNpemUgMzV4MTgKKyAgICAgIHRleHQg
cnVuIGF0ICgwLDYxMikgd2lkdGggMzU6ICJIZWxsbyIKKyAgICBSZW5kZXJCUiB7QlJ9IGF0ICgz
NSw2MjYpIHNpemUgMHgwCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDYzMCkgc2l6ZSAz
NXgxOAorICAgICAgdGV4dCBydW4gYXQgKDAsNjMwKSB3aWR0aCAzNTogIkhlbGxvIgorICAgIFJl
bmRlckJSIHtCUn0gYXQgKDM1LDY0NCkgc2l6ZSAweDAKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsNjQ4KSBzaXplIDM1eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMCw2NDgpIHdpZHRoIDM1
OiAiSGVsbG8iCisgICAgUmVuZGVyQlIge0JSfSBhdCAoMzUsNjYyKSBzaXplIDB4MAorICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCw2NjYpIHNpemUgMzV4MTgKKyAgICAgIHRleHQgcnVuIGF0
ICgwLDY2Nikgd2lkdGggMzU6ICJIZWxsbyIKKyAgICBSZW5kZXJCUiB7QlJ9IGF0ICgzNSw2ODAp
IHNpemUgMHgwCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDY4NCkgc2l6ZSAzNXgxOAor
ICAgICAgdGV4dCBydW4gYXQgKDAsNjg0KSB3aWR0aCAzNTogIkhlbGxvIgorICAgIFJlbmRlckJS
IHtCUn0gYXQgKDM1LDY5OCkgc2l6ZSAweDAKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
NzAyKSBzaXplIDM1eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMCw3MDIpIHdpZHRoIDM1OiAiSGVs
bG8iCisgICAgUmVuZGVyQlIge0JSfSBhdCAoMzUsNzE2KSBzaXplIDB4MAorICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCw3MjApIHNpemUgMzV4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgwLDcy
MCkgd2lkdGggMzU6ICJIZWxsbyIKKyAgICBSZW5kZXJCUiB7QlJ9IGF0ICgzNSw3MzQpIHNpemUg
MHgwCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDczOCkgc2l6ZSAzNXgxOAorICAgICAg
dGV4dCBydW4gYXQgKDAsNzM4KSB3aWR0aCAzNTogIkhlbGxvIgorICAgIFJlbmRlckJSIHtCUn0g
YXQgKDM1LDc1Mikgc2l6ZSAweDAKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsNzU2KSBz
aXplIDM1eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMCw3NTYpIHdpZHRoIDM1OiAiSGVsbG8iCisg
ICAgUmVuZGVyQlIge0JSfSBhdCAoMzUsNzcwKSBzaXplIDB4MAorICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCw3NzQpIHNpemUgMzV4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgwLDc3NCkgd2lk
dGggMzU6ICJIZWxsbyIKKyAgICBSZW5kZXJCUiB7QlJ9IGF0ICgzNSw3ODgpIHNpemUgMHgwCisg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDc5Mikgc2l6ZSAzNXgxOAorICAgICAgdGV4dCBy
dW4gYXQgKDAsNzkyKSB3aWR0aCAzNTogIkhlbGxvIgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDM1
LDgwNikgc2l6ZSAweDAKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsODEwKSBzaXplIDM1
eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMCw4MTApIHdpZHRoIDM1OiAiSGVsbG8iCisgICAgUmVu
ZGVyQlIge0JSfSBhdCAoMzUsODI0KSBzaXplIDB4MAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCw4MjgpIHNpemUgMzV4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgwLDgyOCkgd2lkdGggMzU6
ICJIZWxsbyIKKyAgICBSZW5kZXJCUiB7QlJ9IGF0ICgzNSw4NDIpIHNpemUgMHgwCisgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDg0Nikgc2l6ZSAzNXgxOAorICAgICAgdGV4dCBydW4gYXQg
KDAsODQ2KSB3aWR0aCAzNTogIkhlbGxvIgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDM1LDg2MCkg
c2l6ZSAweDAKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsODY0KSBzaXplIDM1eDE4Cisg
ICAgICB0ZXh0IHJ1biBhdCAoMCw4NjQpIHdpZHRoIDM1OiAiSGVsbG8iCisgICAgUmVuZGVyQlIg
e0JSfSBhdCAoMzUsODc4KSBzaXplIDB4MApJbmRleDogTGF5b3V0VGVzdHMvc2Nyb2xsYmFycy9i
YXNpYy1zY3JvbGxiYXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zY3JvbGxiYXJz
L2Jhc2ljLXNjcm9sbGJhci5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc2Nyb2xs
YmFycy9iYXNpYy1zY3JvbGxiYXIuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNiBAQAor
PGhlYWQ+Cis8c3R5bGU+CitkaXY6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKKyAgd2lkdGg6MTdweDsK
KyAgaGVpZ2h0OjE3cHg7CisgIGJhY2tncm91bmQtY29sb3I6Z3JleTsKK30KKworZGl2Ojotd2Vi
a2l0LXNjcm9sbGJhci1idXR0b24geworICB3aWR0aDogMTdweDsKKyAgaGVpZ2h0OiAxN3B4Owor
ICBiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0Ymx1ZTsKKyAgYm9yZGVyOjJweCBzb2xpZCBibGFjazsK
K30KKworZGl2Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CisgIGJhY2tncm91bmQtY29sb3I6
IG5hdnk7CisgIGJvcmRlcjoycHggc29saWQgI2NjY2NjYzsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXYgc3R5bGU9IndpZHRoOjIwMHB4OyBoZWlnaHQ6MjAwcHg7IG92ZXJmbG93
OmF1dG8iPgorSGVsbG88YnI+CitIZWxsbzxicj5IZWxsbzxicj5IZWxsbzxicj5IZWxsbzxicj5I
ZWxsbzxicj5IZWxsbzxicj5IZWxsbzxicj4KK0hlbGxvPGJyPkhlbGxvPGJyPkhlbGxvPGJyPkhl
bGxvPGJyPgorSGVsbG88YnI+SGVsbG88YnI+SGVsbG88YnI+SGVsbG88YnI+CitIZWxsbzxicj5I
ZWxsbzxicj5IZWxsbzxicj4KK0hlbGxvPGJyPkhlbGxvPGJyPkhlbGxvPGJyPgorSGVsbG88YnI+
SGVsbG88YnI+SGVsbG88YnI+SGVsbG88YnI+CitIZWxsbzxicj5IZWxsbzxicj5IZWxsbzxicj5I
ZWxsbzxicj5IZWxsbzxicj5IZWxsbzxicj4KK0hlbGxvPGJyPkhlbGxvPGJyPkhlbGxvPGJyPkhl
bGxvPGJyPgorSGVsbG88YnI+SGVsbG88YnI+SGVsbG88YnI+SGVsbG88YnI+SGVsbG88YnI+SGVs
bG88YnI+CitIZWxsbzxicj5IZWxsbzxicj5IZWxsbzxicj5IZWxsbzxicj4KK0hlbGxvPGJyPkhl
bGxvPGJyPkhlbGxvPGJyPgorPC9kaXY+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
c2Nyb2xsYmFycy9iYXNpYy1zY3JvbGxiYXItZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90
IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBh
cHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9zY3JvbGxiYXJzL2Jhc2ljLXNjcm9sbGJhci1leHBlY3RlZC5wbmcKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFt
CgoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFnQUVsRVFW
UjRBZTNkWVdpVzU3MEgvbC8rK0hRcApRNmNyYnFDTTZtcVpoWmx3am1jNGhpc2tmZFd1R09Fa3lH
dzlOSndkTTBiNXI0Vno2ci9DSmkxZFJXRzBqakphKzZKQ1pVZXdMU1pzCmRTKzJPQ1piVzFnT014
a2t1SmJXRnhWY1gyVEV6VVFUNlA5K25pY21UeEtiSzZtWGJaLzRlYUI0My9mdnZuN1BmWDJ5OCtK
Nzd2dCsKcm9ZUGkwLzRFQ0JBZ0FBQkFnUUlFQ0JBNEJNUStIOCtnZS93RlFRSUVDQkFnQUFCQWdR
SUVLZ0lDQ0QraDBDQUFBRUNCQWdRSUVDQQp3Q2NtSUlCOFl0UytpQUFCQWdRSUVDQkFnQUFCQWNU
L0JnZ1FJRUNBQUFFQ0JBZ1ErTVFFQkpCUGpOb1hFU0JBZ0FBQkFnUUlFQ0FnCmdQamZBQUVDQkFn
UUlFQ0FBQUVDbjVpQUFQS0pVZnNpQWdRSUVDQkFnQUFCQWdTV0lTQndzd28wTkRSYzk5UXRvM1Bk
aEJvUUlFQ0EKQUFFQ041bUFPeUEzMlIvY2RBa1FJRUNBQUFFQ0JBaDhtZ0tmd2gyUXNUZzM5RjZz
MkxBeFZsVytmZmIrcDhuaHUyOUdnVmVIemk5NgoydisrY2MyaXh4aEFnQUFCQWdRSUVDQVFrYndE
MHJOM2U1UWZWYm42WCt2ZW5oZ3I1TWJlZVNWYWE0NDNOR3lQbm5mS2xZLzZqRVh2CndWMUZuMXRq
M1YwNzR1em83UDJQR3VjNEFRSUVDQkFnUUlBQUFRSkxSU0FaUUxZOWZTTDZubStyekxmdFVGLzBQ
cjB0R291OXhqdmEKbzNla0w2cVZCNk52OUVSc3U2TmMrYWhQWTdRKzltTDgva0JMY2NMNktCVmRa
dTUvMURqSENSQWdRSUFBQVFJRUNCQllLZ0xKQUZLZQphQ21XVitiYnV2WE9tZk11UmJYU3RqWHVu
Qzk3VEkxcWpKVmZXREcxVjhTWVdmczFKWnNFQ0JBZ1FJQUFBUUlFQ0N3NWdRVUZrS3V6Ci9sd1JP
R1o4bHMwK1VLMk9uVDhkajdaT1ByYlZ2Q3VPbkQ0M1k5aThPOE1EOGJPdTFtaG9ibzNtNGhHdjdY
dVB4RHNYNXgyaFNJQUEKQVFJRUNCQWdRSUJBblFnczZpWDBjd04vanFGWUdaZkd4NHZiSXFVby9i
MHYrbWRQZFBoMDNMZjI3dGp4NXQvaXc4M2o4VUw3MnVpOAorMmpjOHZabzdKejNFYTJpMGRoQWRI
MnhLUTd2UGg0alo5b2pobDZKclhkMXhJYjlaMkp3OUpuWXVLQzdMTE12eUQ0QkFnUUlFQ0JBCmdB
QUJBcDhWZ1VVRmtQMEhIbzVmMVY1NWYvK2NBUExXaS92aVZMVEVqZ3R2Uk0vckVaZXJUMi9GZ1Zm
UHhNN0h0dFNPbnJNOTlOckIKT0J4TjhkdW4ycXVQZG0xc2o5ZU9QeEliT3A2Tm54enJpcGNmMmpo
bmpBTUVDQkFnUUlBQUFRSUVDTlNQd0tJQ3lQTkgzNHF1VFRXMwpJU1lHWWxlcEtZNU96ZmRpRFA3
eFZFVGJrM0ZiY2V6S2xTdXhydU5rbk95NEVwOWYvOVdwczY2OU1SSHYvYVY4UDJWOXJLejVpclZm
Ci8wYmw5SXNqbDY0OXpGRUNCQWdRSUVDQUFBRUNCT3BHWUZFQjVQTDRhREd4bW5Rd1dqeUtkYTNQ
eUZmaS9tM1ZYOHVhTGs5TWIxNXoKYXlMK1VXNGZJL0hQbWxNYjEyMktCNHVqNzE5empJTUVDQkFn
UUlBQUFRSUVDTlNUd0tKZVFwOHpzVG52b0pmaWx2SWpWNmM2NDloQQp6WnZqSC9SR2EvUFBZM2hP
ZzlvRGpmRzE1cWJ5NEhqajdQU1pFeGZlcmR4aFdUSG5EZmphc2JZSkVDQkFnQUFCQWdRSUVLZ0hn
UVVGCmtQSEwxVEJ4NGpkbjU4eXBVdWsrR1grdGJEVEd2UThmcXB6VDJiUTFEdjdpMTlIYjgwSTBm
K21lYUhudXU3R3FxSXhmbm13eEdWNXEKOXpkOXA3TjRBeVJpeis3bjR0emtYWkRCUHh3dmpyVEU0
enMzVFE3MER3RUNCQWdRSUVDQUFBRUM5U3JROEdIeG1lL2llL2EyUnR2Kwo0cjJPeVUvTDQ5M3hl
ckVZWVJRcm9kKzNvYU80WDNIMTB4YmRieDhyRmlOY0Z2OTM1SDlpYytlelZ3dnhaUGRnL0dqYnVt
SWw5UCtLCmUvWlUzeGhwYXZuUCtJOXZYb3IvM3YrL2xmT2FXbmJITXk4ZGluOForV1YwTm5WRWQ3
SEU0U083MzQxbkQ5OFczWVBkc1czajVOdnMKVTExdEVMZytnWWJpWjU3TG4xZUh6aSs2MGI5dlhG
TVprL2cvbjBYM05ZQUFBUUlFQ0JBZ3NOUUZrZ0hrNHdKTVhCeU80YkdKYUZ5MQpPcFl2NmsyVDhq
ZU94UWZuTHhRLzkxdUtMOSsrcHZhdGs0OTdPY1lSbUNNZ2dNd2hjWUFBQVFJRUNCQWdjTU1GYmxn
QXVlRlg3Z3NJClhLZkExUUJ5UFczY0Fia2VQV01KRUNCQWdBQ0JtMUZnUWUrQTNJd3c1a3lBQUFF
Q0JBZ1FJRUNBUUg0QkFTUy9xWTRFQ0JBZ1FJQUEKQVFJRUNIeUVnQUR5RVRBT0V5QkFnQUFCQWdR
SUVDQ1FYMkRScjRmbnZ3UWRDWHk2QXRmeksxaWY3cFg3ZGdJRUNCQWdRSUJBL1FsOApDbmRBeHVM
YzBGQU1UNjEyUG51Ly9oQmRNUUVDQkFnUUlFQ0FBQUVDQ3hOSUJwQ2V2ZHVqL0d0QlYvOXIzZHRU
L0VodThVTzV4VG9nCnJUWEhHeHEyUjg4NzVjcEhmY2FLZFVCMkZYMXVqWFYzN1lpem83UDNQMnFj
NHdRSUVDQkFnQUFCQWdRSUxCV0JaQURaOXZTSjZIdSsKclRMZnRrTjkwVnNzUXRoWTdEWGUwUjY5
STMzRmNvSGx6NFBSTjNxaVdJU3dYUG1vVDJPMFB2WmkvUDVBUzNIQytpZ1ZYV2J1ZjlRNAp4d2tR
SUVDQUFBRUNCQWdRV0NvQ3lRQlNubWdwcXF1UXQyNjljK2E4UzFHdHRHMk5PK2ZMSGxPakdtUGxG
MVpNN1JVeFp0WitUY2ttCkFRSUVDQkFnUUlBQUFRSkxUbUJCQWVUcXJEOVhCSTRabjJXekQxU3JZ
K2RQeDZPdGs0OXROZStLSTZmUHpSZzI3ODd3UVB5c3F6VWEKbWx1anVYakVhL3ZlSS9IT3hYbEhL
QklnUUlBQUFRSUVDQkFnVUNjQ2kvb1ZySE1EZjQ2aFdCbVh4c2VMMnlLbEtQMjlML3BuVDNUNApk
TnkzOXU3WThlYmY0c1BONC9GQys5cm92UHRvM1BMMmFPeWM5eEd0b3RIWVFIUjlzU2tPN3o0ZUky
ZmFJNFplaWExM2RjU0cvV2RpCmNQU1oyTGlndXl5ekw4ZytBUUlFQ0JBZ1FJQUFBUUtmRllGRkJa
RDlCeDZPWDlWZWVYLy9uQUR5MW92NzRsUzB4STRMYjBUUDZ4R1gKcTA5dnhZRlh6OFRPeDdiVWpw
NnpQZlRhd1RnY1RmSGJwOXFyajNadGJJL1hqajhTR3pxZWpaOGM2NHFYSDlvNFo0d0RCQWdRSUVD
QQpBQUVDQkFqVWo4Q2lBc2p6UjkrS3JrMDF0eUVtQm1KWHFTbU9UczMzWWd6KzhWUkUyNU54VzNI
c3lwVXJzYTdqWkp6c3VCS2ZYLy9WCnFiT3V2VEVSNy8ybGZEOWxmYXlzK1lxMVgvOUc1ZlNMSTVl
dVBjeFJBZ1FJRUNCQWdBQUJBZ1RxUm1CUkFlVHkrR2d4c1pwME1GbzgKaW5XdHo4aFg0djV0MVYv
TG1pNVBMZnd4ZldqRzFrVDhvOXcrUnVLZk5hYzJydHRVL01aV3hQc3p6clZEZ0FBQkFnUUlFQ0JB
Z0VBOQpDaXpxSmZRNUU1enpEbm9wYmlrL2NuV3FNNDROMUx3NS9rRnZ0RGIvUElibk5LZzkwQmhm
YTI0cUQ0NDN6azZmT1hIaDNjb2RsaFZ6CjNvQ3ZIV3ViQUFFQ0JBZ1FJRUNBQUlGNkVGaFFBQm0v
WEEwVEozNXpkczZjS3BYdWsvSFh5a1pqM1B2d29jbzVuVTFiNCtBdmZoMjkKUFM5RTg1ZnVpWmJu
dmh1cmlzcjQ1Y2tXaytHbGRuL1RkenFMTjBBaTl1eCtMczVOM2dVWi9NUHg0a2hMUEw1ejArUkEv
eEFnUUlBQQpBUUlFQ0JBZ1VLOENEUjhXbi9rdXZtZHZhN1R0TDk3cm1QeTBQTjRkcnhlTEVVYXhF
dnA5R3pxSyt4VlhQMjNSL2ZheFlqSENaZkYvClIvNG5ObmMrZTdVUVQzWVB4bysyclN0V1F2K3Z1
R2RQOVkyUnBwYi9qUC80NXFYNDcvMy9Xem12cVdWM1BQUFNvZmlYa1Y5R1oxTkgKZEJkTEhENnkr
OTE0OXZCdDBUM1lIZHMyVHI3TlB0WFZCb0hyRTJnb2Z1YTUvSGwxNlB5aUcvMzd4aldWTVluLzgx
bDBYd01JRUNCQQpnQUFCQWt0ZElCbEFQaTdBeE1YaEdCNmJpTVpWcTJQNW90NDBLWC9qV0h4dy9r
THhjNytsK1BMdGEycmZPdm00bDJNY2dUa0NWd1BJCm5NSWlEZ2dnaThCeUtnRUNCQWdRSUVDZ0VM
aGhBWVF1Z2MrNmdBRHlXZjhMdVQ0Q0JBZ1FJRUJnS1Fvcyt0N0VVa1F3cDV0VDRFOS8KK3RQTk9Y
R3pKa0NBQUFFQ0JBaDhpZ0lMZWduOVU3dytYMDJBQUFFQ0JBZ1FJRUNBd0JJU2NBZGtDZjB4VGVY
akNmemJ2LzF5MFFQLwo5S2Y3RnozR0FBSUVDQkFnUUlBQWdRaDNRUHl2Z0FBQkFnUUlFQ0JBZ0FD
QlQwemdVd2dnWTNGdWFDaUdwMVk3bjczL2ljM2RGeEVnClFJQUFBUUlFQ0JBZzhBa0xKQU5Jejk3
dFVmNjFvS3YvdGU3dEtYNGt0L2loM0dJZGtOYWE0dzBOMjZQbm5YTGxvejVqeFRvZ3U0bysKdDhh
NnUzYkUyZEhaK3g4MXpuRUNCQWdRSUVDQUFBRUNCSmFLUURLQWJIdjZSUFE5MzFhWmI5dWh2dWd0
RmlGc0xQWWE3MmlQM3BHKwpZcm5BOHVmQjZCczlVU3hDV0s1ODFLY3hXaDk3TVg1L29LVTRZWDJV
aWk0ejl6OXFuT01FQ0JBZ1FJQUFBUUlFQ0N3VmdXUUFLVSswCkZOVlZ5RnUzM2psejNxV29WdHEy
eHAzelpZK3BVWTJ4OGdzcnB2YUtHRE5ydjZaa2t3QUJBZ1FJRUNCQWdBQ0JKU2V3b0FCeWRkYWYK
S3dMSGpNK3kyUWVxMWJIenArUFIxc25IdHBwM3haSFQ1MllNbTNkbmVDQisxdFVhRGMydDBWdzg0
clY5NzVGNDUrSzhJeFFKRUNCQQpnQUFCQWdRSUVLZ1RnVVg5RE8rNWdUL0hVS3lNUytQanhXMlJV
cFQrM2hmOXN5YzZmRHJ1VzN0MzdIanpiL0hoNXZGNG9YMXRkTjU5Ck5HNTVlelIyenZ1SVZ0Rm9i
Q0M2dnRnVWgzY2ZqNUV6N1JGRHI4VFd1enBpdy80ek1UajZUR3hjMEYyVzJSZGtud0FCQWdRSUVD
QkEKZ0FDQno0ckFvZ0xJL2dNUHg2OXFyN3kvZjA0QWVldkZmWEVxV21MSGhUZWk1L1dJeTlXbnQr
TEFxMmRpNTJOYmFrZlAyUjU2N1dBYwpqcWI0N1ZQdDFVZTdOcmJIYThjZmlRMGR6OFpQam5YRnl3
OXRuRFBHQVFJRUNCQWdRSUFBQVFJRTZrZGdVUUhrK2FOdlJkZW1tdHNRCkV3T3hxOVFVUjZmbWV6
RUcvM2dxb3UzSnVLMDRkdVhLbFZqWGNUSk9kbHlKejYvLzZ0UloxOTZZaVBmK1VyNmZzajVXMW56
RjJxOS8KbzNMNnhaRkwxeDdtS0FFQ0JBZ1FJRUNBQUFFQ2RTT3dxQUJ5ZVh5MG1GaE5PaGd0SHNX
NjFtZmtLM0gvdHVxdlpVMlhweGIrbUQ0MApZMnNpL2xGdUh5UHh6NXBURzlkdEtuNWpLK0w5R2Vm
YUlVQ0FBQUVDQkFnUUlFQ2dIZ1VXOVJMNm5Bbk9lUWU5RkxlVUg3azYxUm5ICkJtcmVIUCtnTjFx
YmZ4N0RjeHJVSG1pTXJ6VTNsUWZIRzJlbno1eTQ4RzdsRHN1S09XL0ExNDYxVFlBQUFRSUVDQkFn
UUlCQVBRZ3MKS0lDTVg2NkdpUk8vT1R0blRwVks5OG40YTJXak1lNTkrRkRsbk02bXJYSHdGNytP
M3A0WG92bEw5MFRMYzkrTlZVVmwvUEpraThudwpVcnUvNlR1ZHhSc2dFWHQyUHhmbkp1K0NEUDdo
ZUhHa0pSN2Z1V2x5b0g4SUVDQkFnQUFCQWdRSUVLaFhnV1FBNmRuYkdwdC8yRjJaCjM2azkzNHda
SzZIZnVqbXFsZTdZdktLNkV2cXFMVCtJdnBjZUtjN3ZqejBQM0J2M3RIMC8ycnNINDBmZlhsNVpD
YjNhcXpzNjcvdGUKL0hUdnpzbmU1ZjJ1NkwzMHJmaGQvL0ZvNi85eHJDdHRqMGU3bXFQcGdmZWpl
N0E3dGt5K3pGNnYwSzZiQUFFQ0JBZ1FJRUNBQUlHSQpoZytMejQyQW1MZzRITU5qRTlHNGFuVXNY
OVNiSnVXckdZc1B6bDhvZnU2M0ZGKytmVTN0V3ljMzRsTDF2RWtGK3ZyNktqUC90My83CjVhSUYv
dlNuK3l0ak5tL2V2T2l4QmhBZ1FJQUFBUUlFYm1hQlJVZURoV0l0Vzc0cVZuL3N1eGFOc1hyTjdR
djlLdWNSSUVDQUFBRUMKQkFnUUlGQW5Bc2xIc09wa0hpNlRBQUVDQkFnUUlFQ0FBSUU2RUJCQTZ1
Q1A1QklKRUNCQWdBQUJBZ1FJTEJVQkFXU3AvQ1hOZ3dBQgpBZ1FJRUNCQWdFQWRDQWdnZGZCSGNv
a0VDQkFnUUlBQUFRSUVsb3JBcHhCQXh1TGMwRkFNVDYxMlBudC9xZENhQndFQ0JBZ1FJRUNBCkFB
RUNzd1dTQWFSbjcvWm9hR2lZK20vR09pQTF4eHNhcXV1QXpQNkM2ZjJ4eWpvZ0RRMjN4cnE3ZHNU
WjBkbjcwMmZhSWtDQUFBRUMKQkFnUUlFQmdhUW9rQThpMnAwOUUzL050bGRtM0hlcUwzcWUzVmRi
bGFMeWpQWHBIK3FKYWVURDZSay9FdGpzYTUxRnFqTmJIWG96ZgpIMmdwemxrZnBhTEx6UDE1aGlv
UklFQ0FBQUVDQkFnUUlMQWtCSklCcER6TFVsUVg5R2pkZXVmTVNaZWlXbW5iR25mT2x6Mm1SalhH
CnlpK3NtTnFMSW9UTTNLOHAyU1JBZ0FBQkFnUUlFQ0JBWU1rSkxDaUFYSjMxNTRyQU1lT3piUGFC
YW5Ycy9PbDR0SFh5c2EzbVhYSGsKOUxrWncrYmRHUjZJbjNXMVJrTnphelFYajNodDMzc2szcms0
N3doRkFnUUlFQ0JBZ0FBQkFnVHFSR0JSSzZHZkcvaHpETVhLdURRKwpYdHdXS1VYcDczM1JQM3Vp
dzZmanZyVjN4NDQzL3hZZmJoNlBGOXJYUnVmZFIrT1d0MGRqNTd5UGFCV054Z2FpNjR0TmNYajM4
Umc1CjB4NHg5RXBzdmFzak51dy9FNE9qejhUR0JkMWxtWDFCOWduTUwvQ25QOTAvL3dtcUJBZ1FJ
RUNBQUFFQzJRUVdGVUQySDNnNGZsWDcKMWYzOWN3TElXeS91aTFQUkVqc3V2QkU5cjBkY3JqNjlG
UWRlUFJNN0g5dFNPM3JPOXRCckIrTndOTVZ2bjJxdlB0cTFzVDFlTy81SQpiT2g0Tm41eXJDdGVm
bWpqbkRFT0VDQkFnQUFCQWdRSUVDQlFQd0tMQ2lEUEgzMHJ1amJWM0lhWUdJaGRwYVk0T2pYZml6
SDR4MU1SCmJVL0diY1d4SzFldXhMcU9rM0d5NDBwOGZ2MVhwODY2OXNaRXZQZVg4djJVOWJHeTVp
dldmdjBibGRNdmpseTY5akJIQ1h4TWdWLysKOHBjZmMrVDBzTTJiTjAvdjJDSkFnQUFCQWdRSUVF
Z0tMQ3FBWEI0ZkxScldwSVBSNGxHc2EzMUd2aEwzYjZ2K1d0WjBlV3JoaitsRApNN1ltNGgvbDlq
RVMvNnc1dFhIZHBuaXdPUHIrakhQdEVDQkFnQUFCQWdRSUVDQlFqd0tMZWdsOXpnVG52SU5laWx2
S2oxeWQ2b3hqCkF6VnZqbi9RRzYzTlA0L2hPUTFxRHpURzE1cWJ5b1BqamJQVFowNWNlTGR5aDJY
Rm5EZmdhOGZhSmtDQUFBRUNCQWdRSUVDZ0hnUVcKRkVER0wxZkR4SW5mbkowenAwcWwrMlQ4dGJM
UkdQYytmS2h5VG1mVDFqajRpMTlIYjg4TDBmeWxlNkxsdWUvR3FxSXlmbm15eFdSNApxZDNmOUoz
TzRnMlFpRDI3bjR0emszZEJCdjl3dkRqU0VvL3YzRFE1MEQ4RUNCQWdRSUFBQVFJRUNOU3JRREtB
OU94dGpjMC83SzdNCjc5U2ViOGFNbGRCdjNSelZTbmRzWGxGZENYM1ZsaDlFMzB1UEZPZjN4NTRI
N28xNzJyNGY3ZDJEOGFOdkw2K3NoRjd0MVIyZDkzMHYKZnJwMzUyVHY4bjVYOUY3NlZ2eXUvM2kw
OWY4NDFwVzJ4Nk5kemRIMHdQdlJQZGdkV3laZlpxOVhhTmROZ0FBQkFnUUlFQ0JBZ0VCRQp3NGZG
NTBaQVRGd2NqdUd4aVdoY3RUcVdMK3BOay9MVmpNVUg1eThVUC9kYmlpL2Z2cWIyclpNYmNhbDYz
cVFDVHp6eHhIWFBmTisrCmZkZmRRd01DQkFnUUlFQ0F3TTBrc09ob3NGQ2NaY3RYeGVxUGZkZWlN
VmF2dVgyaFgrVThBZ1FJRUNCQWdBQUJBZ1RxUkNENUNGYWQKek1ObEVpQkFnQUFCQWdRSUVDQlFC
d0lDU0IzOGtWd2lBUUlFQ0JBZ1FJQUFnYVVpSUlBc2xiK2tlUkFnUUlBQUFRSUVDQkNvQXdFQgpw
QTcrU0M2UkFBRUNCQWdRSUVDQXdGSVIrQlFDeUZpY0d4cUs0YW5Wem1mdkx4VmE4eUJBZ0FBQkFn
UUlFQ0JBWUxaQU1vRDA3TjBlCkRRME5VLy9OV0FlazVuaERRM1Vka05sZk1MMC9WbGtIcEtIaDFs
aDMxNDQ0T3pwN2YvcE1Xd1FJRUNCQWdBQUJBZ1FJTEUyQlpBRFoKOXZTSjZIdStyVEw3dGtOOTBm
djB0c3E2SEkxM3RFZnZTRjlVS3c5RzMraUoySFpINHp4S2pkSDYySXZ4K3dNdHhUbnJvMVIwbWJr
Lwp6MUFsQWdRSUVDQkFnQUFCQWdTV2hFQXlnSlJuV1lycWdoNnRXKytjT2VsU1ZDdHRXK1BPK2JM
SDFLakdXUG1GRlZON1VZU1FtZnMxCkpac0VDQkFnUUlBQUFRSUVDQ3c1Z1FVRmtLdXovbHdST0da
OGxzMCtVSzJPblQ4ZGo3Wk9QcmJWdkN1T25ENDNZOWk4TzhNRDhiT3UKMW1ob2JvM200aEd2N1h1
UHhEc1g1eDJoU0lBQUFRSUVDQkFnUUlCQW5RZ3NhaVgwY3dOL2pxRllHWmZHeDR2YklxVW8vYjB2
K21kUApkUGgwM0xmMjd0ang1dC9pdzgzajhVTDcydWk4KzJqYzh2Wm83SnozRWEyaTBkaEFkSDJ4
S1E3dlBoNGpaOW9qaGw2SnJYZDF4SWI5CloySnc5Sm5ZdUtDN0xMTXZ5RDRCQWdRSUVDQkFnQUFC
QXA4VmdVVUZrUDBISG81ZjFWNTVmLytjQVBMV2kvdmlWTFRFamd0dlJNL3IKRVplclQyL0ZnVmZQ
eE03SHR0U09uck05OU5yQk9CeE44ZHVuMnF1UGRtMXNqOWVPUHhJYk9wNk5ueHpyaXBjZjJqaG5q
QU1FQ0JBZwpRSUFBQVFJRUNOU1B3S0lDeVBOSDM0cXVUVFczSVNZR1lsZXBLWTVPemZkaURQN3hW
RVRiazNGYmNlektsU3V4cnVOa25PeTRFcDlmCi85V3BzNjY5TVJIdi9hVjhQMlY5ckt6NWlyVmYv
MGJsOUlzamw2NDl6RkVDQkFnUUlFQ0FBQUVDQk9wR1lGRUI1UEw0YURHeG1uUXcKV2p5S2RhM1B5
RmZpL20zVlg4dWFMazh0L0RGOWFNYldSUHlqM0Q1RzRwODFwemF1MnhRUEZrZmZuM0d1SFFJRUNC
QWdRSUFBQVFJRQo2bEZnVVMraHo1bmduSGZRUzNGTCtaR3JVNTF4YktEbXpmRVBlcU8xK2VjeFBL
ZEI3WUhHK0ZwelUzbHd2SEYyK3N5SkMrOVc3ckNzCm1QTUdmTzFZMndRSUVDQkFnQUFCQWdRSTFJ
UEFnZ0xJK09WcW1EanhtN056NWxTcGRKK012MVkyR3VQZWh3OVZ6dWxzMmhvSGYvSHIKNk8xNUla
cS9kRSswUFBmZFdGVlV4aTlQdHBnTUw3WDdtNzdUV2J3QkVyRm45M054YnZJdXlPQWZqaGRIV3VM
eG5ac21CL3FIQUFFQwpCQWdRSUVDQUFJRjZGVWdHa0o2OXJiSDVoOTJWK1ozYTg4MllzUkw2clp1
ald1bU96U3VxSzZHdjJ2S0Q2SHZwa2VMOC90anp3TDF4ClQ5djNvNzE3TUg3MDdlV1ZsZENydmJx
ajg3N3Z4VS8zN3B6c1hkN3ZpdDVMMzRyZjlSK1B0djRmeDdyUzluaTBxem1hSG5nL3VnZTcKWTh2
a3krejFDdTI2Q1JBZ1FJQUFBUUlFQ0JDSWFQaXcrTndJaUltTHd6RThOaEdOcTFiSDhrVzlhVksr
bXJINDRQeUY0dWQrUy9IbAoyOWZVdm5WeUl5NVZ6NXRVNElrbm5yanVtZS9idCsrNmUyaEFnQUFC
QWdRSUVMaVpCQllkRFJhS3MyejVxbGo5c2U5YU5NYnFOYmN2CjlLdWNSNEFBQVFJRUNCQWdRSUJB
blFna0g4R3FrM200VEFJRUNCQWdRSUFBQVFJRTZrQkFBS21EUDVKTEpFQ0FBQUVDQkFnUUlMQlUK
QkFTUXBmS1hOQThDQkFnUUlFQ0FBQUVDZFNBZ2dOVEJIOGtsRWlCQWdBQUJBZ1FJRUZncUFwOUNB
Qm1MYzBORE1UeTEydm5zL2FWQwpheDRFQ0JBZ1FJQUFBUUlFQ013V1NBYVFucjNibzZHaFllcS9H
ZXVBMUJ4dmFLaXVBekw3QzZiM3h5cnJnRFEwM0Jycjd0b1JaMGRuCjcwK2ZhWXNBQVFJRUNCQWdR
SUFBZ2FVcGtBd2cyNTQrRVgzUHQxVm0zM2FvTDNxZjNsWlpsNlB4anZib0hlbUxhdVhCNkJzOUVk
dnUKYUp4SHFURmFIM3N4Zm4rZ3BUaG5mWlNLTGpQMzV4bXFSSUFBQVFJRUNCQWdRSURBa2hCSUJw
RHlMRXRSWGRDamRldWRNeWRkaW1xbApiV3ZjT1YvMm1CclZHQ3Uvc0dKcUw0b1FNbk8vcG1TVEFB
RUNCQWdRSUVDQUFJRWxKN0NnQUhKMTFwOHJBc2VNejdMWkI2clZzZk9uCjQ5SFd5Y2UybW5mRmtk
UG5aZ3liZDJkNElIN1cxUm9OemEzUlhEeml0WDN2a1hqbjRyd2pGQWtRSUVDQUFBRUNCQWdRcUJP
QlJhMkUKZm03Z3p6RVVLK1BTK0hoeFc2UVVwYi8zUmYvc2lRNmZqdnZXM2gwNzN2eGJmTGg1UEY1
b1h4dWRkeCtOVzk0ZWpaM3pQcUpWTkJvYgppSzR2TnNYaDNjZGo1RXg3eE5BcnNmV3VqdGl3LzB3
TWpqNFRHeGQwbDJYMkJka25RSUFBQVFJRUNCQWdRT0N6SXJDb0FMTC93TVB4CnE5b3I3KytmRTBE
ZWVuRmZuSXFXMkhIaGplaDVQZUp5OWVtdE9QRHFtZGo1MkpiYTBYTzJoMTQ3R0llaktYNzdWSHYx
MGE2TjdmSGEKOFVkaVE4ZXo4Wk5qWGZIeVF4dm5qSEdBQUFFQ0JBZ1FJRUNBQUlINkVWaFVBSG4r
NkZ2UnRhbm1Oc1RFUU93cU5jWFJxZmxlak1FLwpub3BvZXpKdUs0NWR1WElsMW5XY2pKTWRWK0x6
Njc4NmRkYTFOeWJpdmIrVTc2ZXNqNVUxWDdIMjY5K29uSDV4NU5LMWh6bEtnQUFCCkFnUUlFQ0JB
Z0VEZENDd3FnRndlSHkwbVZwTU9Sb3RIc2E3MUdmbEszTCt0K210WjArV3BoVCttRDgzWW1vaC9s
TnZIU1B5ejV0VEcKZFp2aXdlTG8relBPdFVPQUFBRUNCQWdRSUVDQVFEMEtMT29sOURrVG5QTU9l
aWx1S1Q5eWRhb3pqZzNVdkRuK1FXKzBOdjg4aHVjMApxRDNRR0Y5cmJpb1BqamZPVHA4NWNlSGR5
aDJXRlhQZWdLOGRhNXNBQVFJRUNCQWdRSUFBZ1hvUVdGQUFHYjljRFJNbmZuTjJ6cHdxCmxlNlQ4
ZGZLUm1QYysvQ2h5am1kVFZ2ajRDOStIYjA5TDBUemwrNkpsdWUrRzZ1S3l2amx5UmFUNGFWMmY5
TjNPb3MzUUNMMjdINHUKemszZUJSbjh3L0hpU0VzOHZuUFQ1RUQvRUNCQWdBQUJBZ1FJRUNCUXJ3
TEpBTkt6dHpVMi83QzdNcjlUZTc0Wk0xWkN2M1Z6VkN2ZApzWGxGZFNYMFZWdCtFSDB2UFZLYzN4
OTdIcmczN21uN2ZyUjNEOGFQdnIyOHNoSjZ0VmQzZE43M3ZmanAzcDJUdmN2N1hkRjc2VnZ4CnUv
N2owZGIvNDFoWDJoNlBkalZIMHdQdlIvZGdkMnlaZkptOVhxRmROd0VDQkFnUUlFQ0FBQUVDRVEw
ZkZwOGJBVEZ4Y1RpR3h5YWkKY2RYcVdMNm9OMDNLVnpNV0g1eS9VUHpjYnltK2ZQdWEycmRPYnNT
bDZubVRDanp4eEJQWFBmTjkrL1pkZHc4TkNCQWdRSUFBQVFJMwprOENpbzhGQ2NaWXRYeFdyUC9a
ZGk4Wll2ZWIyaFg2Vjh3Z1FJRUNBQUFFQ0JBZ1FxQk9CNUNOWWRUSVBsMG1BQUFFQ0JBZ1FJRUNB
ClFCMElDQ0IxOEVkeWlRUUlFQ0JBZ0FBQkFnU1dpb0FBc2xUK2t1WkJnQUFCQWdRSUVDQkFvQTRF
QkpBNitDTzVSQUlFQ0JBZ1FJQUEKQVFKTFJlQlRDQ0JqY1c1b0tJYW5WanVmdmI5VWFNMkRBQUVD
QkFnUUlFQ0FBSUhaQXNrQTByTjNlelEwTkV6OU4yTWRrSnJqRFEzVgpkVUJtZjhIMC9saGxIWkNH
aGx0ajNWMDc0dXpvN1AzcE0yMFJJRUNBQUFFQ0JBZ1FJTEEwQlpJQlpOdlRKNkx2K2JiSzdOc085
VVh2CjA5c3E2M0kwM3RFZXZTTjlVYTA4R0gyakoyTGJIWTN6S0RWRzYyTXZ4dThQdEJUbnJJOVMw
V1htL2p4RGxRZ1FJRUNBQUFFQ0JBZ1EKV0JJQ3lRQlNubVVwcWd0NnRHNjljK2FrUzFHdHRHMk5P
K2ZMSGxPakdtUGxGMVpNN1VVUlFtYnUxNVJzRWlCQWdBQUJBZ1FJRUNDdwo1QVFXRkVDdXp2cHpS
ZUNZOFZrMiswQzFPbmIrZER6YU92bllWdk91T0hMNjNJeGg4KzRNRDhUUHVscWpvYmsxbW90SHZM
YnZQUkx2ClhKeDNoQ0lCQWdRSUVDQkFnQUFCQW5VaXNLaVYwTThOL0RtR1ltVmNHaDh2Ym91VW92
VDN2dWlmUGRIaDAzSGYycnRqeDV0L2l3ODMKajhjTDdXdWo4KzZqY2N2Ym83Rnoza2UwaWtaakE5
SDF4YVk0dlB0NGpKeHBqeGg2SmJiZTFSRWI5cCtKd2RGbll1T0M3ckxNdmlENwpCQWdRSUVDQUFB
RUNCQWg4VmdRV0ZVRDJIM2c0ZmxWNzVmMzljd0xJV3kvdWkxUFJFanN1dkJFOXIwZGNyajY5RlFk
ZVBSTTdIOXRTCk8zck85dEJyQitOd05NVnZuMnF2UHRxMXNUMWVPLzVJYk9oNE5uNXlyQ3RlZm1q
am5ERU9FQ0JBZ0FBQkFnUUlFQ0JRUHdLTENpRFAKSDMwcnVqYlYzSWFZR0loZHBhWTRPalhmaXpI
NHgxTVJiVS9HYmNXeEsxZXV4THFPazNHeTQwcDhmdjFYcDg2NjlzWkV2UGVYOHYyVQo5Ykd5NWl2
V2Z2MGJsZE12amx5NjlqQkhDUkFnUUlBQUFRSUVDQkNvRzRGRkJaREw0NlBGeEdyU3dXanhLTmEx
UGlOZmlmdTNWWDh0CmE3bzh0ZkRIOUtFWld4UHhqM0w3R0lsLzFwemF1RzVUUEZnY2ZYL0d1WFlJ
RUNCQWdBQUJBZ1FJRUtoSGdVVzloRDVuZ25QZVFTL0YKTGVWSHJrNTF4ckdCbWpmSFAraU4xdWFm
eC9DY0JyVUhHdmpkcnBjQUFDQUFTVVJCVk9OcnpVM2x3ZkhHMmVrekp5NjhXN25Ec21MTwpHL0Mx
WTIwVElFQ0FBQUVDQkFnUUlGQVBBZ3NLSU9PWHEySGl4Ry9PenBsVHBkSjlNdjVhMldpTWV4OCtW
RG1uczJsckhQekZyNk8zCjU0Vm8vdEk5MGZMY2QyTlZVUm0vUE5saU1yelU3bS82VG1meEJrakVu
dDNQeGJuSnV5Q0RmemhlSEdtSngzZHVtaHpvSHdJRUNCQWcKUUlBQUFRSUU2bFVnR1VCNjlyYkc1
aDkyVitaM2FzODNZOFpLNkxkdWptcWxPemF2cUs2RXZtckxENkx2cFVlSzgvdGp6d1AzeGoxdAoz
NC8yN3NINDBiZVhWMVpDci9icWpzNzd2aGMvM2J0enNuZDV2eXQ2TDMwcmZ0ZC9QTnI2Znh6clN0
dmowYTdtYUhyZy9lZ2U3STR0Cmt5K3oxeXUwNnlaQWdBQUJBZ1FJRUNCQUlLTGh3K0p6SXlBbUxn
N0g4TmhFTks1YUhjc1g5YVpKK1dyRzRvUHpGNHFmK3kzRmwyOWYKVS92V3lZMjRWRDF2VW9Fbm5u
aml1bWUrYjkrKzYrNmhBUUVDQkFnUUlFRGdaaEpZZERSWUtNNnk1YXRpOWNlK2E5RVlxOWZjdnRD
dgpjaDRCQWdRSUVDQkFnQUFCQW5VaWtId0VxMDdtNFRJSkVDQkFnQUFCQWdRSUVLZ0RBUUdrRHY1
SUxwRUFBUUlFQ0JBZ1FJREFVaEVRClFKYktYOUk4Q0JBZ1FJQUFBUUlFQ05TQmdBQlNCMzhrbDBp
QUFBRUNCQWdRSUVCZ3FRaDhDZ0ZrTE00TkRjWHcxR3Jucy9lWENxMTUKRUNCQWdBQUJBZ1FJRUNB
d1d5QVpRSHIyYm8rR2hvYXAvMmFzQTFKenZLR2h1ZzdJN0MrWTNoK3JyQVBTMEhCcnJMdHJSNXdk
bmIwLwpmYVl0QWdRSUVDQkFnQUFCQWdTV3BrQXlnR3g3K2tUMFBkOVdtWDNib2I3b2ZYcGJaVjJP
eGp2YW8zZWtMNnFWQjZOdjlFUnN1Nk54CkhxWEdhSDNzeGZqOWdaYmluUFZSS3JyTTNKOW5xQklC
QWdRSUVDQkFnQUFCQWt0Q0lCbEF5ck1zUlhWQmo5YXRkODZjZENtcWxiYXQKY2VkODJXTnFWR09z
L01LS3FiMG9Rc2pNL1pxU1RRSUVDQkFnUUlBQUFRSUVscHpBZ2dMSTFWbC9yZ2djTXo3TFpoK29W
c2ZPbjQ1SApXeWNmMjJyZUZVZE9uNXN4Yk42ZDRZSDRXVmRyTkRTM1JuUHhpTmYydlVmaW5Zdnpq
bEFrUUlBQUFRSUVDQkFnUUtCT0JCYTFFdnE1CmdUL0hVS3lNUytQanhXMlJVcFQrM2hmOXN5YzZm
RHJ1VzN0MzdIanpiL0hoNXZGNG9YMXRkTjU5Tkc1NWV6UjJ6dnVJVnRGb2JDQzYKdnRnVWgzY2Zq
NUV6N1JGRHI4VFd1enBpdy80ek1UajZUR3hjMEYyVzJSZGtud0FCQWdRSUVDQkFnQUNCejRyQW9n
TEkvZ01QeDY5cQpyN3kvZjA0QWVldkZmWEVxV21MSGhUZWk1L1dJeTlXbnQrTEFxMmRpNTJOYmFr
ZlAyUjU2N1dBY2pxYjQ3VlB0MVVlN05yYkhhOGNmCmlRMGR6OFpQam5YRnl3OXRuRFBHQVFJRUNC
QWdRSUFBQVFJRTZrZGdVUUhrK2FOdlJkZW1tdHNRRXdPeHE5UVVSNmZtZXpFRy8zZ3EKb3UzSnVL
MDRkdVhLbFZqWGNUSk9kbHlKejYvLzZ0UloxOTZZaVBmK1VyNmZzajVXMW56RjJxOS9vM0w2eFpG
TDF4N21LQUVDQkFnUQpJRUNBQUFFQ2RTT3dxQUJ5ZVh5MG1GaE5PaGd0SHNXNjFtZmtLM0gvdHVx
dlpVMlhweGIrbUQ0MFkyc2kvbEZ1SHlQeHo1cFRHOWR0CmlnZUxvKy9QT05jT0FRSUVDQkFnUUlB
QUFRTDFLTENvbDlEblRIRE9PK2lsdUtYOHlOV3B6amcyVVBQbStBZTkwZHI4OHhpZTA2RDIKUUdO
OHJibXBQRGplT0R0OTVzU0ZkeXQzV0ZiTWVRTytkcXh0QWdRSUVDQkFnQUFCQWdUcVFXQkJBV1Q4
Y2pWTW5Qak4yVGx6cWxTNgpUOFpmS3h1TmNlL0RoeXJuZERadGpZTy8rSFgwOXJ3UXpWKzZKMXFl
KzI2c0tpcmpseWRiVElhWDJ2MU4zK2tzM2dDSjJMUDd1VGczCmVSZGs4QS9IaXlNdDhmak9UWk1E
L1VPQUFBRUNCQWdRSUVDQVFMMEtKQU5Jejk3VzJQekQ3c3I4VHUzNVpzeFlDZjNXelZHdGRNZm0K
RmRXVjBGZHQrVUgwdmZSSWNYNS83SG5nM3JpbjdmdlIzajBZUC9yMjhzcEs2TlZlM2RGNTMvZmlw
M3QzVHZZdTczZEY3NlZ2eGUvNgpqMGRiLzQ5alhXbDdQTnJWSEUwUHZCL2RnOTJ4WmZKbDlucUZk
dDBFQ0JBZ1FJQUFBUUlFQ0VRMGZGaDhiZ1RFeE1YaEdCNmJpTVpWCnEyUDVvdDQwS1YvTldIeHcv
a0x4YzcrbCtQTHRhMnJmT3JrUmw2cm5UU3J3eEJOUFhQZk05KzNiZDkwOU5DQkFnQUFCQWdRSTNF
d0MKaTQ0R0M4Vlp0bnhWclA3WWR5MGFZL1dhMnhmNlZjNGpRSUFBQVFJRUNCQWdRS0JPQkpLUFlO
WEpQRndtQVFJRUNCQWdRSUFBQVFKMQpJQ0NBMU1FZnlTVVNJRUNBQUFFQ0JBZ1FXQ29DQXNoUytV
dWFCd0VDQkFnUUlFQ0FBSUU2RUJCQTZ1Q1A1QklKRUNCQWdBQUJBZ1FJCkxCV0JUeUdBak1XNW9h
RVlubHJ0ZlBiK1VxRTFEd0lFQ0JBZ1FJQUFBUUlFWmdza0EwalAzdTNSME5BdzlkK01kVUJxampj
MFZOY0IKbWYwRjAvdGpsWFZBR2hwdWpYVjM3WWl6bzdQM3A4KzBSWUFBQVFJRUNCQWdRSURBMGhS
SUJwQnRUNStJdnVmYktyTnZPOVFYdlU5dgpxNnpMMFhoSGUvU085RVcxOG1EMGpaNkliWGMwenFQ
VUdLMlB2UmkvUDlCU25MTStTa1dYbWZ2ekRGVWlRSUFBQVFJRUNCQWdRR0JKCkNDUURTSG1XcGFn
dTZORzY5YzZaa3k1RnRkSzJOZTZjTDN0TWpXcU1sVjlZTWJVWFJRaVp1VjlUc2ttQUFBRUNCQWdR
SUVDQXdKSVQKV0ZBQXVUcnJ6eFdCWThabjJld0QxZXJZK2RQeGFPdmtZMXZOdStMSTZYTXpoczI3
TXp3UVArdHFqWWJtMW1ndUh2SGF2dmRJdkhOeAozaEdLQkFnUUlFQ0FBQUVDQkFqVWljQ2lWa0kv
Ti9EbkdJcVZjV2w4dkxndFVvclMzL3VpZi9aRWgwL0hmV3Z2amgxdi9pMCszRHdlCkw3U3ZqYzY3
ajhZdGI0L0d6bmtmMFNvYWpRMUUxeGViNHZEdTR6RnlwajFpNkpYWWVsZEhiTmgvSmdaSG40bU5D
N3JMTXZ1QzdCTWcKUUlBQUFRSUVDQkFnOEZrUldGUUEyWC9nNGZoVjdaWDM5ODhKSUcrOXVDOU9S
VXZzdVBCRzlMd2VjYm42OUZZY2VQVk03SHhzUyszbwpPZHREcngyTXc5RVV2MzJxdmZwbzE4YjJl
TzM0STdHaDQ5bjR5Ykd1ZVBtaGpYUEdPRUNBQUFFQ0JBZ1FJRUNBUVAwSUxDcUFQSC8wCnJlamFW
SE1iWW1JZ2RwV2E0dWpVZkMvRzRCOVBSYlE5R2JjVng2NWN1UkxyT2s3R3lZNHI4Zm4xWDUwNjY5
b2JFL0hlWDhyM1U5YkgKeXBxdldQdjFiMVJPdnpoeTZkckRIQ1ZBZ0FBQkFnUUlFQ0JBb0c0RUZo
VkFMbytQRmhPclNRZWp4YU5ZMS9xTWZDWHUzMWI5dGF6cAo4dFRDSDlPSFpteE54RC9LN1dNay9s
bHphdU82VGZGZ2NmVDlHZWZhSVVDQUFBRUNCQWdRSUVDZ0hnVVc5Ukw2bkFuT2VRZTlGTGVVCkg3
azYxUm5IQm1yZUhQK2dOMXFiZng3RGN4clVIbWlNcnpVM2xRZkhHMmVuejV5NDhHN2xEc3VLT1cv
QTE0NjFUWUFBQVFJRUNCQWcKUUlCQVBRZ3NLSUNNWDY2R2lSTy9PVHRuVHBWSzk4bjRhMldqTWU1
OStGRGxuTTZtclhId0Y3K08zcDRYb3ZsTDkwVExjOStOVlVWbAovUEpraThud1VydS82VHVkeFJz
Z0VYdDJQeGZuSnUrQ0RQN2hlSEdrSlI3ZnVXbHlvSDhJRUNCQWdBQUJBZ1FJRUtoWGdXUUE2ZG5i
CkdwdC8yRjJaMzZrOTM0d1pLNkhmdWptcWxlN1l2S0s2RXZxcUxUK0l2cGNlS2M3dmp6MFAzQnYz
dEgwLzJyc0g0MGZmWGw1WkNiM2EKcXpzNjcvdGUvSFR2enNuZTVmMnU2TDMwcmZoZC8vRm82Lzl4
ckN0dGowZTdtcVBwZ2ZlamU3QTd0a3krekY2djBLNmJBQUVDQkFnUQpJRUNBQUlHSWhnK0x6NDJB
bUxnNEhNTmpFOUc0YW5Vc1g5U2JKdVdyR1lzUHpsOG9mdTYzRkYrK2ZVM3RXeWMzNGxMMXZFa0Zu
bmppCmlldWUrYjU5KzY2N2h3WUVDQkFnUUlBQWdadEpZTkhSWUtFNHk1YXZpdFVmKzY1Rlk2eGVj
L3RDdjhwNUJBZ1FJRUNBQUFFQ0JBalUKaVVEeUVhdzZtWWZMSkVDQUFBRUNCQWdRSUVDZ0RnUUVr
RHI0STdsRUFnUUlFQ0JBZ0FBQkFrdEZRQUJaS245Sjh5QkFnQUFCQWdRSQpFQ0JRQndJQ1NCMzhr
VndpQVFJRUNCQWdRSUFBZ2FVaThDa0VrTEU0TnpRVXcxT3JuYy9lWHlxMDVrR0FBQUVDQkFnUUlF
Q0F3R3lCClpBRHAyYnM5R2hvYXB2NmJzUTVJemZHR2h1bzZJTE8vWUhwL3JMSU9TRVBEcmJIdXJo
MXhkblQyL3ZTWnRnZ1FJRUNBQUFFQ0JBZ1EKV0pvQ0Mxb0g1UDllMkI2YnY5OGRiWWY2NHNULys2
L1RFaGYvTDdhdktDOUcrR0QwamI0Yy85bzRYYnIyMWxpY1BuaGYzTDFuUmZTTgpuSWgvWFQ1Ny85
cWpIQ1Z3SXdUS3dmcDZQemRvR1ozcnZTempDUkFnUUlBQUFRS2ZXWUhrSFpEeWxaZWl1cUJINjlZ
N1owNmtGTlZLCjI5YTRNeGsreWtNYlkrVVhWdFQwbUwxZlU3SkpnQUFCQWdRSUVDQkFnTUNTRTFq
VVFvU2ZLd0xIak0reTJRZXExYkh6cCtQeEIrK08KWjA4ViswMFB4a3ZQUFJVUGZYdUJDd3NPRDhU
UC9yOGZ4Zy9mTEliMm40cjFqNzhVUDMzOG9iampZeTlxT09PSzdSQ1lJL0RxMFBrNQp4MUlIL24z
am10UXA2Z1FJRUNCQWdBQUJBdGNRV0ZRQU9UZnc1eGlLbFhGcGZMeTRMVktLMHQvN29uOTIwK0hU
Y2QvYXUyUEhtMytMCkR6ZVB4d3Z0YTZQejdxTnh5OXVqc2ZPT3hHMlNzWUhvK21KVEhONTlQRWJP
dEVjTXZSSmI3K3FJRGZ2UHhPRG9NN0V4TVh6MnBkZ24KUUlBQUFRSUVDQkFnUU9DekpiQ29BTEwv
d01QeHE5cnI3KytmRTBEZWVuRmZuSXFXMkhIaGplaDVQZUx5NUoyTEE2K2VpWjJQYmFrZApQV2Q3
NkxXRGNUaWE0cmRQdFZjZjdkcllIcThkZnlRMmREd2JQem5XRlM4L3RISE9HQWNJRUNCQWdBQUJB
Z1FJRUtnZmdVVUZrT2VQCnZoVmRtMnB1UTB3TXhLNVNVeHlkbXUvRkdQeGo4ZHhWMjVOeFczSHN5
cFVyc2E3alpKenN1QktmWC8vVnFiT3V2VEVSNy8ybGZEOWwKZmF5cytZcTFYLzlHNWZTTEk1ZXVQ
Y3hSQWdRSUVDQkFnQUFCQWdUcVJtQlJBZVR5K0dneHNacDBNRm84aW5XdHo4aFg0djV0MjJyUApM
TTZhV3ZqaldpTXE5WCtVMjhkSS9MUG0xTVoxbTRyZjJJcDR2MXp5SVVDQUFBRUNCQWdRSUVDZ3Jn
VVc5Q3RZSHpuRE9lK2dsK0tXCjhpTlhwenJqMk1ERjZXRWY5RVpyODg5amVQcklOYllhNDJ2TlRl
WEI4Y2JaNlRNbkxyeGJ1Y095WXM0YjhOZG80UkFCQWdRSUVDQkEKZ0FBQkFwOXBnUVVGa1BITDFU
Qng0amRuNTB5bVV1aytHWCt0YkRUR3ZROGZxcHpUMmJRMUR2N2kxOUhiODBJMGYrbWVhSG51dTdH
cQpxSXhmbm13eEdWNXE5emQ5cDdONEF5Uml6KzduNHR6a1haREJQeHd2anJURTR6czNUUTcwRHdF
Q0JBZ1FJRUNBQUFFQzlTcVFYSWl3CloyOXJ0TzB2LzU1dTlkUHllSGU4L3ZTMmlIZGVpZnMyZEJU
M0s2NSsycUw3N1dPeDdZNWw4WDlIL2ljMmR6NTd0UkJQZGcvR2o3YXQKSzFaQy82KzRaMC8xalpH
bWx2K00vL2ptcGZqdi9mOWJPYStwWlhjODg5S2grSmVSWDBablUwZXh1R0ZiUExMNzNYajI4RzNS
UGRnZAoyemI2SGQ0cFVCdFpCSzR1UkhnOVA4TnJJY0lzZndwTkNCQWdRSUFBZ1p0SUlCbEFQcTdG
eE1YaEdCNmJpTVpWcTJQNW90NDBLWC9qCldIeHcva0x4YzcrbCtQTHRhMmE5Uy9KeHI4ZzRBak1G
QkpDWkh2WUlFQ0JBZ0FBQkFwK0V3S0tqd1VJdmF0bnlWYkg2WTkrMGFJelYKYXhhNGNPRkNMOGg1
QkFnUUlFQ0FBQUVDQkFoODZnSUxlZ2ZrVTc5S0YwQ0FBQUVDQkFnUUlFQ0F3SklRRUVDV3hKL1JK
QWdRSUVDQQpBQUVDQkFqVWg0QUFVaDkvSjFkSmdBQUJBZ1FJRUNCQVlFa0kzTENYMEplRWpra3Nh
WUdyTDZGZnp5VDlDdGIxNkJsTGdBQUJBZ1FJCjNJd0NuOElka0xFNE56UVV3MU9ybmMvZXZ4bi9E
T1pNZ0FBQkFnUUlFQ0JBNE9ZUVNBYVFucjNiby96L0tiNzZYK3ZlbnVKSGNvc2YKeWkzV0FXbXRP
ZDdRc0QxNjNpbFhQdW96VnF3RHNxdm9jMnVzdTJ0SG5CMmR2ZjlSNHh3blFJQUFBUUlFQ0JBZ1FH
Q3BDQ1FEeUxhbgpUMFRmODIyVitiWWQ2b3ZlWWhIQ3htS3Y4WTcyNkIzcEs1WUxMSDhlakw3UkU4
VWloT1hLUjMwYW8vV3hGK1AzQjFxS0U5WkhxZWd5CmMvK2p4amxPZ0FBQkFnUUlFQ0JBZ01CU0VW
alFPaUNscUM3bzBicjF6cG56TGtXMTByWTE3cHd2ZTB5TmFveVZYMWd4dFZmRW1GbjcKTlNXYkJE
NGhnZXRaQ2YwVHVrUmZRNEFBQVFJRUNCQllNZ0xKT3lDMU0vMWNFVGhtZkpiTlBsQ3RqcDAvSFkr
MlRqNjIxYndyanB3KwpOMlBZdkR2REEvR3pydFpvYUc2TjV1SVJyKzE3ajhRN0YrY2RvVWlBQUFF
Q0JBZ1FJRUNBUUowSUxPZ095Tlc1bkJ2NGN3ekZ5cmcwClBoNVJLa1hwNzMzUmY3VjQ5ZC9oMDNI
ZjJydGp4NXQvaXc4M2o4Y0w3V3VqOCs2amNjdmJvN0Z6M2tlMGlnWmpBOUgxeGFZNHZQdDQKakp4
cGp4aDZKYmJlMVJFYjlwK0p3ZEZuWXVPQzdySmN2UkQvRWlCQWdBQUJBZ1FJRUNEd1dSTllWQURa
ZitEaCtGWHREUHI3NXdTUQp0MTdjRjZlaUpYWmNlQ042WG8rNFhIMTZLdzY4ZWlaMlByYWxkdlNj
N2FIWERzYmhhSXJmUHRWZWZiUnJZM3U4ZHZ5UjJORHhiUHprCldGZTgvTkRHT1dNY0lFQ0FBQUVD
QkFnUUlFQ2dmZ1FXRlVDZVAvcFdkRzJxdVEweE1SQzdTazF4ZEdxK0YyUHdqNmNpMnA2TTI0cGoK
VjY1Y2lYVWRKK05reDVYNC9QcXZUcDExN1kySmVPOHY1ZnNwNjJObHpWZXMvZm8zS3FkZkhMbDA3
V0dPRWlCQWdBQUJBZ1FJRUNCUQpOd0tMQ2lDWHgwZUxpZFdrZzlIaVVheHJmVWErRXZkdnEvNWEx
blI1YXVHUDZVTXp0aWJpSCtYMk1STC9yRG0xY2QybTRqZTJJdDZmCmNhNGRBZ1FJRUNCQWdBQUJB
Z1RxVVdCUkw2SFBtZUNjZDlCTGNVdjVrYXRUblhGc29PYk44UTk2bzdYNTV6RThwMEh0Z2NiNFdu
TlQKZVhDOGNYYjZ6SWtMNzFidXNLeVk4d1o4N1ZqYkJBZ1FJRUNBQUFFQ0JBalVnOENDQXNqNDVX
cVlPUEdiczNQbVZLbDBuNHkvVmpZYQo0OTZIRDFYTzZXemFHZ2QvOGV2bzdYa2htcjkwVDdRODk5
MVlWVlRHTDArMm1Bd3Z0ZnVidnROWnZBRVNzV2YzYzNGdThpN0k0QitPCkYwZGE0dkdkbXlZSCtv
Y0FBUUlFQ0JBZ1FJQUFnWG9WYVBpdytNeDM4VDE3VzZOdGYvRmV4K1NuNWZIdWVMMVlqRENLbGRE
djI5QlIKM0srNCttbUw3cmVQRllzUkxvdi9PL0kvc2JuejJhdUZlTEo3TUg2MGJWMnhFdnAveFQx
N3FtK01OTFg4Wi96SE55L0ZmKy8vMzhwNQpUUzI3NDVtWERzVy9qUHd5T3BzNm9ydFk0dkNSM2Uv
R3M0ZHZpKzdCN3RpMmNmSnQ5cW11TmdoY24wQkQ4VFBQNWMvMXJBT1MrRCtmCjY3dEFvd2tRSUVD
QUFBRUNTMUFnR1VBKzdwd25MZzdIOE5oRU5LNWFIY3NYOWFaSitSdkg0b1B6RjRxZit5M0ZsMjlm
VS92V3ljZTkKSE9NSXpCRVFRT2FRT0VDQUFBRUNCQWdRdU9FQ2k0NEdDNzJpWmN0WHhlcVBmZE9p
TVZhdnVYMmhYK1U4QWdRSUVDQkFnQUFCQWdUcQpSR0JCNzREVXlWeGNKZ0VDQkFnUUlFQ0FBQUVD
bjNFQkFlUXovZ2R5ZVFRSUVDQkFnQUFCQWdTV2tzQU5ld2RrS1NHWnk5SVV1UG9PCnlQWE16a3Zv
MTZObkxBRUNCQWdRSUhBekNyZ0RjalArMWMyWkFBRUNCQWdRSUVDQXdLY2tjTU5lUXYrVTV1TnJD
U3hZd04yTEJWTTUKa1FBQkFnUUlFQ0NRVGNBZGtHeVVHaEVnUUlBQUFRSUVDQkFna0JJUVFGSkM2
Z1FJRUNCQWdBQUJBZ1FJWkJNUVFMSlJha1NBQUFFQwpCQWdRSUVDQVFFcEFBRWtKcVJNZ1FJQUFB
UUlFQ0JBZ2tFMUFBTWxHcVJFQkFnUUlFQ0JBZ0FBQkFpa0JBU1FscEU2QUFBRUNCQWdRCklFQ0FR
RFlCQVNRYnBVWUVDQkFnUUlBQUFRSUVDS1FFQkpDVWtEb0JBZ1FJRUNCQWdBQUJBdGtFQkpCc2xC
b1JJRUNBQUFFQ0JBZ1EKSUpBU0VFQlNRdW9FQ0JBZ1FJQUFBUUlFQ0dRVEVFQ3lVV3BFZ0FBQkFn
UUlFQ0JBZ0VCS1FBQkpDYWtUSUVDQUFBRUNCQWdRSUpCTgpRQURKUnFrUkFRSUVDQkFnUUlBQUFR
SXBBUUVrSmFST2dBQUJBZ1FJRUNCQWdFQTJBUUVrRzZWR0JBZ1FJRUNBQUFFQ0JBaWtCQVNRCmxK
QTZBUUlFQ0JBZ1FJQUFBUUxaQkFTUWJKUWFFU0JBZ0FBQkFnUUlFQ0NRRWhCQVVrTHFCQWdRSUVD
QUFBRUNCQWhrRXhCQXNsRnEKUklBQUFRSUVDQkFnUUlCQVNrQUFTUW1wRXlCQWdBQUJBZ1FJRUND
UVRVQUF5VWFwRVFFQ0JBZ1FJRUNBQUFFQ0tRRUJKQ1drVG9BQQpBUUlFQ0JBZ1FJQkFOZ0VCSkJ1
bFJnUUlFQ0JBZ0FBQkFnUUlwQVFFa0pTUU9nRUNCQWdRSUVDQUFBRUMyUVFFa0d5VUdoRWdRSUFB
CkFRSUVDQkFna0JJUVFGSkM2Z1FJRUNCQWdBQUJBZ1FJWkJNUVFMSlJha1NBQUFFQ0JBZ1FJRUNB
UUVwQUFFa0pxUk1nUUlBQUFRSUUKQ0JBZ2tFMUFBTWxHcVJFQkFnUUlFQ0JBZ0FBQkFpa0JBU1Fs
cEU2QUFBRUNCQWdRSUVDQVFEWUJBU1FicFVZRUNCQWdRSUFBQVFJRQpDS1FFQkpDVWtEb0JBZ1FJ
RUNCQWdBQUJBdGtFQkpCc2xCb1JJRUNBQUFFQ0JBZ1FJSkFTRUVCU1F1b0VDQkFnUUlBQUFRSUVD
R1FUCkVFQ3lVV3BFZ0FBQkFnUUlFQ0JBZ0VCS1FBQkpDYWtUSUVDQUFBRUNCQWdRSUpCTlFBREpS
cWtSQVFJRUNCQWdRSUFBQVFJcEFRRWsKSmFST2dBQUJBZ1FJRUNCQWdFQTJBUUVrRzZWR0JBZ1FJ
RUNBQUFFQ0JBaWtCQVNRbEpBNkFRSUVDQkFnUUlBQUFRTFpCQVNRYkpRYQpFU0JBZ0FBQkFnUUlF
Q0NRRWhCQVVrTHFCQWdRSUVDQUFBRUNCQWhrRXhCQXNsRnFSSUFBQVFJRUNCQWdRSUJBU2tBQVNR
bXBFeUJBCmdBQUJBZ1FJRUNDUVRVQUF5VWFwRVFFQ0JBZ1FJRUNBQUFFQ0tRRUJKQ1drVG9BQUFR
SUVDQkFnUUlCQU5nRUJKQnVsUmdRSUVDQkEKZ0FBQkFnUUlwQVFFa0pTUU9nRUNCQWdRSUVDQUFB
RUMyUVFFa0d5VUdoRWdRSUFBQVFJRUNCQWdrQklRUUZKQzZnUUlFQ0JBZ0FBQgpBZ1FJWkJNUVFM
SlJha1NBQUFFQ0JBZ1FJRUNBUUVwQUFFa0pxUk1nUUlBQUFRSUVDQkFna0UxQUFNbEdxUkVCQWdR
SUVDQkFnQUFCCkFpa0JBU1FscEU2QUFBRUNCQWdRSUVDQVFEWUJBU1FicFVZRUNCQWdRSUFBQVFJ
RUNLUUVCSkNVa0RvQkFnUUlFQ0JBZ0FBQkF0a0UKQkpCc2xCb1JJRUNBQUFFQ0JBZ1FJSkFTRUVC
U1F1b0VDQkFnUUlBQUFRSUVDR1FURUVDeVVXcEVnQUFCQWdRSUVDQkFnRUJLUUFCSgpDYWtUSUVD
QUFBRUNCQWdRSUpCTlFBREpScWtSQVFJRUNCQWdRSUFBQVFJcEFRRWtKYVJPZ0FBQkFnUUlFQ0JB
Z0VBMkFRRWtHNlZHCkJBZ1FJRUNBQUFFQ0JBaWtCQVNRbEpBNkFRSUVDQkFnUUlBQUFRTFpCQVNR
YkpRYUVTQkFnQUFCQWdRSUVDQ1FFaEJBVWtMcUJBZ1EKSUVDQUFBRUNCQWhrRXhCQXNsRnFSSUFB
QVFJRUNCQWdRSUJBU2tBQVNRbXBFeUJBZ0FBQkFnUUlFQ0NRVFVBQXlVYXBFUUVDQkFnUQpJRUNB
QUFFQ0tRRUJKQ1drVG9BQUFRSUVDQkFnUUlCQU5nRUJKQnVsUmdRSUVDQkFnQUFCQWdRSXBBUUVr
SlNRT2dFQ0JBZ1FJRUNBCkFBRUMyUVFFa0d5VUdoRWdRSUFBQVFJRUNCQWdrQklRUUZKQzZnUUlF
Q0JBZ0FBQkFnUUlaQk1RUUxKUmFrU0FBQUVDQkFnUUlFQ0EKUUVwQUFFa0pxUk1nUUlBQUFRSUVD
QkFna0UxQUFNbEdxUkVCQWdRSUVDQkFnQUFCQWlrQkFTUWxwRTZBQUFFQ0JBZ1FJRUNBUURZQgpB
U1FicFVZRUNCQWdRSUFBQVFJRUNLUUVCSkNVa0RvQkFnUUlFQ0JBZ0FBQkF0a0VCSkJzbEJvUklF
Q0FBQUVDQkFnUUlKQVNFRUJTClF1b0VDQkFnUUlBQUFRSUVDR1FURUVDeVVXcEVnQUFCQWdRSUVD
QkFnRUJLUUFCSkNha1RJRUNBQUFFQ0JBZ1FJSkJOUUFESlJxa1IKQVFJRUNCQWdRSUFBQVFJcEFR
RWtKYVJPZ0FBQkFnUUlFQ0JBZ0VBMkFRRWtHNlZHQkFnUUlFQ0FBQUVDQkFpa0JBU1FsSkE2QVFJ
RQpDQkFnUUlBQUFRTFpCQVNRYkpRYUVTQkFnQUFCQWdRSUVDQ1FFaEJBVWtMcUJBZ1FJRUNBQUFF
Q0JBaGtFeEJBc2xGcVJJQUFBUUlFCkNCQWdRSUJBU2tBQVNRbXBFeUJBZ0FBQkFnUUlFQ0NRVFVB
QXlVYXBFUUVDQkFnUUlFQ0FBQUVDS1FFQkpDV2tUb0FBQVFJRUNCQWcKUUlCQU5nRUJKQnVsUmdR
SUVDQkFnQUFCQWdRSXBBUUVrSlNRT2dFQ0JBZ1FJRUNBQUFFQzJRUUVrR3lVR2hFZ1FJQUFBUUlF
Q0JBZwprQklRUUZKQzZnUUlFQ0JBZ0FBQkFnUUlaQk1RUUxKUmFrU0FBQUVDQkFnUUlFQ0FRRXBB
QUVrSnFSTWdRSUFBQVFJRUNCQWdrRTFBCkFNbEdxUkVCQWdRSUVDQkFnQUFCQWlrQkFTUWxwRTZB
QUFFQ0JBZ1FJRUNBUURZQkFTUWJwVVlFQ0JBZ1FJQUFBUUlFQ0tRRUJKQ1UKa0RvQkFnUUlFQ0JB
Z0FBQkF0a0VCSkJzbEJvUklFQ0FBQUVDQkFnUUlKQVNFRUJTUXVvRUNCQWdRSUFBQVFJRUNHUVRF
RUN5VVdwRQpnQUFCQWdRSUVDQkFnRUJLUUFCSkNha1RJRUNBQUFFQ0JBZ1FJSkJOUUFESlJxa1JB
UUlFQ0JBZ1FJQUFBUUlwQVFFa0phUk9nQUFCCkFnUUlFQ0JBZ0VBMkFRRWtHNlZHQkFnUUlFQ0FB
QUVDQkFpa0JBU1FsSkE2QVFJRUNCQWdRSUFBQVFMWkJBU1FiSlFhRVNCQWdBQUIKQWdRSUVDQ1FF
aEJBVWtMcUJBZ1FJRUNBQUFFQ0JBaGtFeEJBc2xGcVJJQUFBUUlFQ0JBZ1FJQkFTa0FBU1FtcEV5
QkFnQUFCQWdRSQpFQ0NRVFVBQXlVYXBFUUVDQkFnUUlFQ0FBQUVDS1FFQkpDV2tUb0FBQVFJRUNC
QWdRSUJBTmdFQkpCdWxSZ1FJRUNCQWdBQUJBZ1FJCnBBUUVrSlNRT2dFQ0JBZ1FJRUNBQUFFQzJR
UUVrR3lVR2hFZ1FJQUFBUUlFQ0JBZ2tCSVFRRkpDNmdRSUVDQkFnQUFCQWdRSVpCTVEKUUxKUmFr
U0FBQUVDQkFnUUlFQ0FRRXBBQUVrSnFSTWdRSUFBQVFJRUNCQWdrRTFBQU1sR3FSRUJBZ1FJRUNC
QWdBQUJBaWtCQVNRbApwRTZBQUFFQ0JBZ1FJRUNBUURZQkFTUWJwVVlFQ0JBZ1FJQUFBUUlFQ0tR
RUJKQ1VrRG9CQWdRSUVDQkFnQUFCQXRrRUJKQnNsQm9SCklFQ0FBQUVDQkFnUUlKQVNFRUJTUXVv
RUNCQWdRSUFBQVFJRUNHUVRFRUN5VVdwRWdBQUJBZ1FJRUNCQWdFQktRQUJKQ2FrVElFQ0EKQUFF
Q0JBZ1FJSkJOUUFESlJxa1JBUUlFQ0JBZ1FJQUFBUUlwQVFFa0phUk9nQUFCQWdRSUVDQkFnRUEy
QVFFa0c2VkdCQWdRSUVDQQpBQUVDQkFpa0JBU1FsSkE2QVFJRUNCQWdRSUFBQVFMWkJBU1FiSlFh
RVNCQWdBQUJBZ1FJRUNDUUVoQkFVa0xxQkFnUUlFQ0FBQUVDCkJBaGtFeEJBc2xGcVJJQUFBUUlF
Q0JBZ1FJQkFTa0FBU1FtcEV5QkFnQUFCQWdRSUVDQ1FUVUFBeVVhcEVRRUNCQWdRSUVDQUFBRUMK
S1FFQkpDV2tUb0FBQVFJRUNCQWdRSUJBTmdFQkpCdWxSZ1FJRUNCQWdBQUJBZ1FJcEFRRWtKU1FP
Z0VDQkFnUUlFQ0FBQUVDMlFRRQprR3lVR2hFZ1FJQUFBUUlFQ0JBZ2tCSVFRRkpDNmdRSUVDQkFn
QUFCQWdRSVpCTVFRTEpSYWtTQUFBRUNCQWdRSUVDQVFFcEFBRWtKCnFSTWdRSUFBQVFJRUNCQWdr
RTFBQU1sR3FSRUJBZ1FJRUNCQWdBQUJBaWtCQVNRbHBFNkFBQUVDQkFnUUlFQ0FRRFlCQVNRYnBV
WUUKQ0JBZ1FJQUFBUUlFQ0tRRUJKQ1VrRG9CQWdRSUVDQkFnQUFCQXRrRUJKQnNsQm9SSUVDQUFB
RUNCQWdRSUpBU0VFQlNRdW9FQ0JBZwpRSUFBQVFJRUNHUVRFRUN5VVdwRWdBQUJBZ1FJRUNCQWdF
QktRQUJKQ2FrVElFQ0FBQUVDQkFnUUlKQk5RQURKUnFrUkFRSUVDQkFnClFJQUFBUUlwQVFFa0ph
Uk9nQUFCQWdRSUVDQkFnRUEyQVFFa0c2VkdCQWdRSUVDQUFBRUNCQWlrQkFTUWxKQTZBUUlFQ0JB
Z1FJQUEKQVFMWkJBU1FiSlFhRVNCQWdBQUJBZ1FJRUNDUTVIejZ3d0FBRUZCSlJFRlVFaEJBVWtM
cUJBZ1FJRUNBQUFFQ0JBaGtFeEJBc2xGcQpSSUFBQVFJRUNCQWdRSUJBU2tBQVNRbXBFeUJBZ0FB
QkFnUUlFQ0NRVFVBQXlVYXBFUUVDQkFnUUlFQ0FBQUVDS1FFQkpDV2tUb0FBCkFRSUVDQkFnUUlC
QU5nRUJKQnVsUmdRSUVDQkFnQUFCQWdRSXBBUUVrSlNRT2dFQ0JBZ1FJRUNBQUFFQzJRUUVrR3lV
R2hFZ1FJQUEKQVFJRUNCQWdrQklRUUZKQzZnUUlFQ0JBZ0FBQkFnUUlaQk1RUUxKUmFrU0FBQUVD
QkFnUUlFQ0FRRXBBQUVrSnFSTWdRSUFBQVFJRQpDQkFna0UxQUFNbEdxUkVCQWdRSUVDQkFnQUFC
QWlrQkFTUWxwRTZBQUFFQ0JBZ1FJRUNBUURZQkFTUWJwVVlFQ0JBZ1FJQUFBUUlFCkNLUUVCSkNV
a0RvQkFnUUlFQ0JBZ0FBQkF0a0VCSkJzbEJvUklFQ0FBQUVDQkFnUUlKQVNFRUJTUXVvRUNCQWdR
SUFBQVFJRUNHUVQKRUVDeVVXcEVnQUFCQWdRSUVDQkFnRUJLUUFCSkNha1RJRUNBQUFFQ0JBZ1FJ
SkJOUUFESlJxa1JBUUlFQ0JBZ1FJQUFBUUlwQVFFawpKYVJPZ0FBQkFnUUlFQ0JBZ0VBMkFRRWtH
NlZHQkFnUUlFQ0FBQUVDQkFpa0JBU1FsSkE2QVFJRUNCQWdRSUFBQVFMWkJBU1FiSlFhCkVTQkFn
QUFCQWdRSUVDQ1FFaEJBVWtMcUJBZ1FJRUNBQUFFQ0JBaGtFeEJBc2xGcVJJQUFBUUlFQ0JBZ1FJ
QkFTa0FBU1FtcEV5QkEKZ0FBQkFnUUlFQ0NRVFVBQXlVYXBFUUVDQkFnUUlFQ0FBQUVDS1FFQkpD
V2tUb0FBQVFJRUNCQWdRSUJBTmdFQkpCdWxSZ1FJRUNCQQpnQUFCQWdRSXBBUUVrSlNRT2dFQ0JB
Z1FJRUNBQUFFQzJRUUVrR3lVR2hFZ1FJQUFBUUlFQ0JBZ2tCSVFRRkpDNmdRSUVDQkFnQUFCCkFn
UUlaQk1RUUxKUmFrU0FBQUVDQkFnUUlFQ0FRRXBBQUVrSnFSTWdRSUFBQVFJRUNCQWdrRTFBQU1s
R3FSRUJBZ1FJRUNCQWdBQUIKQWlrQkFTUWxwRTZBQUFFQ0JBZ1FJRUNBUURZQkFTUWJwVVlFQ0JB
Z1FJQUFBUUlFQ0tRRUJKQ1VrRG9CQWdRSUVDQkFnQUFCQXRrRQpCSkJzbEJvUklFQ0FBQUVDQkFn
UUlKQVNFRUJTUXVvRUNCQWdRSUFBQVFJRUNHUVRFRUN5VVdwRWdBQUJBZ1FJRUNCQWdFQktRQUJK
CkNha1RJRUNBQUFFQ0JBZ1FJSkJOUUFESlJxa1JBUUlFQ0JBZ1FJQUFBUUlwQVFFa0phUk9nQUFC
QWdRSUVDQkFnRUEyQVFFa0c2VkcKQkFnUUlFQ0FBQUVDQkFpa0JBU1FsSkE2QVFJRUNCQWdRSUFB
QVFMWkJBU1FiSlFhRVNCQWdBQUJBZ1FJRUNDUUVoQkFVa0xxQkFnUQpJRUNBQUFFQ0JBaGtFeEJB
c2xGcVJJQUFBUUlFQ0JBZ1FJQkFTa0FBU1FtcEV5QkFnQUFCQWdRSUVDQ1FUVUFBeVVhcEVRRUNC
QWdRCklFQ0FBQUVDS1FFQkpDV2tUb0FBQVFJRUNCQWdRSUJBTmdFQkpCdWxSZ1FJRUNCQWdBQUJB
Z1FJcEFRRWtKU1FPZ0VDQkFnUUlFQ0EKQUFFQzJRUUVrR3lVR2hFZ1FJQUFBUUlFQ0JBZ2tCSVFR
RkpDNmdRSUVDQkFnQUFCQWdRSVpCTVFRTEpSYWtTQUFBRUNCQWdRSUVDQQpRRXBBQUVrSnFSTWdR
SUFBQVFJRUNCQWdrRTFBQU1sR3FSRUJBZ1FJRUNCQWdBQUJBaWtCQVNRbHBFNkFBQUVDQkFnUUlF
Q0FRRFlCCkFTUWJwVVlFQ0JBZ1FJQUFBUUlFQ0tRRUJKQ1VrRG9CQWdRSUVDQkFnQUFCQXRrRUJK
QnNsQm9SSUVDQUFBRUNCQWdRSUpBU0VFQlMKUXVvRUNCQWdRSUFBQVFJRUNHUVRFRUN5VVdwRWdB
QUJBZ1FJRUNCQWdFQktRQUJKQ2FrVElFQ0FBQUVDQkFnUUlKQk5RQURKUnFrUgpBUUlFQ0JBZ1FJ
QUFBUUlwQVFFa0phUk9nQUFCQWdRSUVDQkFnRUEyQVFFa0c2VkdCQWdRSUVDQUFBRUNCQWlrQkFT
UWxKQTZBUUlFCkNCQWdRSUFBQVFMWkJBU1FiSlFhRVNCQWdBQUJBZ1FJRUNDUUVoQkFVa0xxQkFn
UUlFQ0FBQUVDQkFoa0V4QkFzbEZxUklBQUFRSUUKQ0JBZ1FJQkFTa0FBU1FtcEV5QkFnQUFCQWdR
SUVDQ1FUVUFBeVVhcEVRRUNCQWdRSUVDQUFBRUNLUUVCSkNXa1RvQUFBUUlFQ0JBZwpRSUJBTmdF
QkpCdWxSZ1FJRUNCQWdBQUJBZ1FJcEFRRWtKU1FPZ0VDQkFnUUlFQ0FBQUVDMlFRRWtHeVVHaEVn
UUlBQUFRSUVDQkFnCmtCSVFRRkpDNmdRSUVDQkFnQUFCQWdRSVpCTVFRTEpSYWtTQUFBRUNCQWdR
SUVDQVFFcEFBRWtKcVJNZ1FJQUFBUUlFQ0JBZ2tFMUEKQU1sR3FSRUJBZ1FJRUNCQWdBQUJBaWtC
QVNRbHBFNkFBQUVDQkFnUUlFQ0FRRFlCQVNRYnBVWUVDQkFnUUlBQUFRSUVDS1FFQkpDVQprRG9C
QWdRSUVDQkFnQUFCQXRrRUJKQnNsQm9SSUVDQUFBRUNCQWdRSUpBU0VFQlNRdW9FQ0JBZ1FJQUFB
UUlFQ0dRVEVFQ3lVV3BFCmdBQUJBZ1FJRUNCQWdFQktRQUJKQ2FrVElFQ0FBQUVDQkFnUUlKQk5R
QURKUnFrUkFRSUVDQkFnUUlBQUFRSXBBUUVrSmFST2dBQUIKQWdRSUVDQkFnRUEyQVFFa0c2VkdC
QWdRSUVDQUFBRUNCQWlrQkFTUWxKQTZBUUlFQ0JBZ1FJQUFBUUxaQkFTUWJKUWFFU0JBZ0FBQgpB
Z1FJRUNDUUVoQkFVa0xxQkFnUUlFQ0FBQUVDQkFoa0V4QkFzbEZxUklBQUFRSUVDQkFnUUlCQVNr
QUFTUW1wRXlCQWdBQUJBZ1FJCkVDQ1FUVUFBeVVhcEVRRUNCQWdRSUVDQUFBRUNLUUVCSkNXa1Rv
QUFBUUlFQ0JBZ1FJQkFOZ0VCSkJ1bFJnUUlFQ0JBZ0FBQkFnUUkKcEFRRWtKU1FPZ0VDQkFnUUlF
Q0FBQUVDMlFRRWtHeVVHaEVnUUlBQUFRSUVDQkFna0JJUVFGSkM2Z1FJRUNCQWdBQUJBZ1FJWkJN
UQpRTEpSYWtTQUFBRUNCQWdRSUVDQVFFcEFBRWtKcVJNZ1FJQUFBUUlFQ0JBZ2tFMUFBTWxHcVJF
QkFnUUlFQ0JBZ0FBQkFpa0JBU1FsCnBFNkFBQUVDQkFnUUlFQ0FRRFlCQVNRYnBVWUVDQkFnUUlB
QUFRSUVDS1FFQkpDVWtEb0JBZ1FJRUNCQWdBQUJBdGtFQkpCc2xCb1IKSUVDQUFBRUNCQWdRSUpB
U0VFQlNRdW9FQ0JBZ1FJQUFBUUlFQ0dRVEVFQ3lVV3BFZ0FBQkFnUUlFQ0JBZ0VCS1FBQkpDYWtU
SUVDQQpBQUVDQkFnUUlKQk5RQURKUnFrUkFRSUVDQkFnUUlBQUFRSXBBUUVrSmFST2dBQUJBZ1FJ
RUNCQWdFQTJBUUVrRzZWR0JBZ1FJRUNBCkFBRUNCQWlrQkFTUWxKQTZBUUlFQ0JBZ1FJQUFBUUxa
QkFTUWJKUWFFU0JBZ0FBQkFnUUlFQ0NRRWhCQVVrTHFCQWdRSUVDQUFBRUMKQkFoa0V4QkFzbEZx
UklBQUFRSUVDQkFnUUlCQVNrQUFTUW1wRXlCQWdBQUJBZ1FJRUNDUVRVQUF5VWFwRVFFQ0JBZ1FJ
RUNBQUFFQwpLUUVCSkNXa1RvQUFBUUlFQ0JBZ1FJQkFOZ0VCSkJ1bFJnUUlFQ0JBZ0FBQkFnUUlw
QVFFa0pTUU9nRUNCQWdRSUVDQUFBRUMyUVFFCmtHeVVHaEVnUUlBQUFRSUVDQkFna0JJUVFGSkM2
Z1FJRUNCQWdBQUJBZ1FJWkJNUVFMSlJha1NBQUFFQ0JBZ1FJRUNBUUVwQUFFa0oKcVJNZ1FJQUFB
UUlFQ0JBZ2tFMUFBTWxHcVJFQkFnUUlFQ0JBZ0FBQkFpa0JBU1FscEU2QUFBRUNCQWdRSUVDQVFE
WUJBU1FicFVZRQpDQkFnUUlBQUFRSUVDS1FFQkpDVWtEb0JBZ1FJRUNCQWdBQUJBdGtFQkpCc2xC
b1JJRUNBQUFFQ0JBZ1FJSkFTRUVCU1F1b0VDQkFnClFJQUFBUUlFQ0dRVEVFQ3lVV3BFZ0FBQkFn
UUlFQ0JBZ0VCS1FBQkpDYWtUSUVDQUFBRUNCQWdRSUpCTlFBREpScWtSQVFJRUNCQWcKUUlBQUFR
SXBBUUVrSmFST2dBQUJBZ1FJRUNCQWdFQTJBUUVrRzZWR0JBZ1FJRUNBQUFFQ0JBaWtCQVNRbEpB
NkFRSUVDQkFnUUlBQQpBUUxaQkFTUWJKUWFFU0JBZ0FBQkFnUUlFQ0NRRWhCQVVrTHFCQWdRSUVD
QUFBRUNCQWhrRXhCQXNsRnFSSUFBQVFJRUNCQWdRSUJBClNrQUFTUW1wRXlCQWdBQUJBZ1FJRUND
UVRVQUF5VWFwRVFFQ0JBZ1FJRUNBQUFFQ0tRRUJKQ1drVG9BQUFRSUVDQkFnUUlCQU5nRUIKSkJ1
bFJnUUlFQ0JBZ0FBQkFnUUlwQVFFa0pTUU9nRUNCQWdRSUVDQUFBRUMyUVFFa0d5VUdoRWdRSUFB
QVFJRUNCQWdrQklRUUZKQwo2Z1FJRUNCQWdBQUJBZ1FJWkJNUVFMSlJha1NBQUFFQ0JBZ1FJRUNB
UUVwQUFFa0pxUk1nUUlBQUFRSUVDQkFna0UxQUFNbEdxUkVCCkFnUUlFQ0JBZ0FBQkFpa0JBU1Fs
cEU2QUFBRUNCQWdRSUVDQVFEWUJBU1FicFVZRUNCQWdRSUFBQVFJRUNLUUVCSkNVa0RvQkFnUUkK
RUNCQWdBQUJBdGtFQkpCc2xCb1JJRUNBQUFFQ0JBZ1FJSkFTRUVCU1F1b0VDQkFnUUlBQUFRSUVD
R1FURUVDeVVXcEVnQUFCQWdRSQpFQ0JBZ0VCS1FBQkpDYWtUSUVDQUFBRUNCQWdRSUpCTlFBREpS
cWtSQVFJRUNCQWdRSUFBQVFJcEFRRWtKYVJPZ0FBQkFnUUlFQ0JBCmdFQTJBUUVrRzZWR0JBZ1FJ
RUNBQUFFQ0JBaWtCQVNRbEpBNkFRSUVDQkFnUUlBQUFRTFpCQVNRYkpRYUVTQkFnQUFCQWdRSUVD
Q1EKRWhCQVVrTHFCQWdRSUVDQUFBRUNCQWhrRXhCQXNsRnFSSUFBQVFJRUNCQWdRSUJBU2tBQVNR
bXBFeUJBZ0FBQkFnUUlFQ0NRVFVBQQp5VWFwRVFFQ0JBZ1FJRUNBQUFFQ0tRRUJKQ1drVG9BQUFR
SUVDQkFnUUlCQU5nRUJKQnVsUmdRSUVDQkFnQUFCQWdRSXBBUUVrSlNRCk9nRUNCQWdRSUVDQUFB
RUMyUVFFa0d5VUdoRWdRSUFBQVFJRUNCQWdrQklRUUZKQzZnUUlFQ0JBZ0FBQkFnUUlaQk1RUUxK
UmFrU0EKQUFFQ0JBZ1FJRUNBUUVwQUFFa0pxUk1nUUlBQUFRSUVDQkFna0UxQUFNbEdxUkVCQWdR
SUVDQkFnQUFCQWlrQkFTUWxwRTZBQUFFQwpCQWdRSUVDQVFEWUJBU1FicFVZRUNCQWdRSUFBQVFJ
RUNLUUVCSkNVa0RvQkFnUUlFQ0JBZ0FBQkF0a0VCSkJzbEJvUklFQ0FBQUVDCkJBZ1FJSkFTRUVC
U1F1b0VDQkFnUUlBQUFRSUVDR1FURUVDeVVXcEVnQUFCQWdRSUVDQkFnRUJLUUFCSkNha1RJRUNB
QUFFQ0JBZ1EKSUpCTlFBREpScWtSQVFJRUNCQWdRSUFBQVFJcEFRRWtKYVJPZ0FBQkFnUUlFQ0JB
Z0VBMkFRRWtHNlZHQkFnUUlFQ0FBQUVDQkFpawpCQVNRbEpBNkFRSUVDQkFnUUlBQUFRTFpCQVNR
YkpRYUVTQkFnQUFCQWdRSUVDQ1FFaEJBVWtMcUJBZ1FJRUNBQUFFQ0JBaGtFeEJBCnNsRnFSSUFB
QVFJRUNCQWdRSUJBU2tBQVNRbXBFeUJBZ0FBQkFnUUlFQ0NRVFVBQXlVYXBFUUVDQkFnUUlFQ0FB
QUVDS1FFQkpDV2sKVG9BQUFRSUVDQkFnUUlCQU5nRUJKQnVsUmdRSUVDQkFnQUFCQWdRSXBBUUVr
SlNRT2dFQ0JBZ1FJRUNBQUFFQzJRUUVrR3lVR2hFZwpRSUFBQVFJRUNCQWdrQklRUUZKQzZnUUlF
Q0JBZ0FBQkFnUUlaQk1RUUxKUmFrU0FBQUVDQkFnUUlFQ0FRRXBBQUVrSnFSTWdRSUFBCkFRSUVD
QkFna0UxQUFNbEdxUkVCQWdRSUVDQkFnQUFCQWlrQkFTUWxwRTZBQUFFQ0JBZ1FJRUNBUURZQkFT
UWJwVVlFQ0JBZ1FJQUEKQVFJRUNLUUVCSkNVa0RvQkFnUUlFQ0JBZ0FBQkF0a0VCSkJzbEJvUklF
Q0FBQUVDQkFnUUlKQVNFRUJTUXVvRUNCQWdRSUFBQVFJRQpDR1FURUVDeVVXcEVnQUFCQWdRSUVD
QkFnRUJLUUFCSkNha1RJRUNBQUFFQ0JBZ1FJSkJOUUFESlJxa1JBUUlFQ0JBZ1FJQUFBUUlwCkFR
RWtKYVJPZ0FBQkFnUUlFQ0JBZ0VBMkFRRWtHNlZHQkFnUUlFQ0FBQUVDQkFpa0JBU1FsSkE2QVFJ
RUNCQWdRSUFBQVFMWkJBU1EKYkpRYUVTQkFnQUFCQWdRSUVDQ1FFaEJBVWtMcUJBZ1FJRUNBQUFF
Q0JBaGtFeEJBc2xGcVJJQUFBUUlFQ0JBZ1FJQkFTa0FBU1FtcApFeUJBZ0FBQkFnUUlFQ0NRVFVB
QXlVYXBFUUVDQkFnUUlFQ0FBQUVDS1FFQkpDV2tUb0FBQVFJRUNCQWdRSUJBTmdFQkpCdWxSZ1FJ
CkVDQkFnQUFCQWdRSXBBUUVrSlNRT2dFQ0JBZ1FJRUNBQUFFQzJRUUVrR3lVR2hFZ1FJQUFBUUlF
Q0JBZ2tCSVFRRkpDNmdRSUVDQkEKZ0FBQkFnUUlaQk1RUUxKUmFrU0FBQUVDQkFnUUlFQ0FRRXBB
QUVrSnFSTWdRSUFBQVFJRUNCQWdrRTFBQU1sR3FSRUJBZ1FJRUNCQQpnQUFCQWlrQkFTUWxwRTZB
QUFFQ0JBZ1FJRUNBUURZQkFTUWJwVVlFQ0JBZ1FJQUFBUUlFQ0tRRS9uODJOT2hKbzkrK2x3QUFB
QUJKClJVNUVya0pnZ2c9PQoK
</data>
<flag name="review"
          id="11024"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>24241</attachid>
            <date>2008-10-09 15:33:26 -0700</date>
            <delta_ts>2008-10-09 15:33:26 -0700</delta_ts>
            <desc>Screenshot of some ugly custom scrollbars! ;)</desc>
            <filename>Picture 7.png</filename>
            <type>image/png</type>
            <size>4524</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAAANcAAADUCAIAAACAiyFMAAACN2lDQ1BJQ0MgUHJvZmlsZQAAeAGt
k01oE0EUx/+bYFOqFL9PCnuQoBglJj304CHtpjVpJYYktX6AsNndJGt3N+vuJrVB8Ojdg0cRFBGv
HurBQw8evHgQQYPeFMGDB6FQRAnrmx0nQbD04ltm5jdv//Nm5s0MEP+muq4VA2A7gVc5NytfunxF
TvQxRt8ETmKfqvnuTLl8niTb2NY7SOzX21Ms1sqZa4mjU9XCpx+DzzeSX4JtBgn3pEcTAlKKHAeb
nHOM65xrjFcDl+JILcZaS9WJbxGnvFpFIX5CPNnk/JxxnfMrxl2tycb2idOObjpAbJx4Wjd8jThH
rOu+ZhM/Iv5p222KH39AfFxzPRobZ3GOsbxQS7bWA3Jd0p8d+S5awNPbbHkjX/I7cEgGXtwZ+Tb7
Ua6kw+N+I5uJwkm714Fd98JwcxlInAAG78Pw13oYDh7T3B+AjS2t49F8XC29Bnbq8z1zPfCG9kAW
ndG/meclUqWBhxvAMpUFKvdzQHIVOHAVKBPXcohls6LwHILZhGI6hq3KhXzU/X+VbXXonCLbT/Ue
p166QC3jr25Qrgn2u9U5wQ1zvihYV/OLgnstpSS44c1XBF9XF8qCDWepKti1onv/Z67Zod7w54aa
XqtG58bX43UqS4JX2otDvW7kh2tzrBJ7S1FMMygO1w8FJhwYsKFCRgGUSH4XSY2xvcDdIzHpWeFl
5iNz/GWBcTM6Y6XtrnlmsxXIM/QSjZRcdLTTKTmTTk/jN/BOsM62tD9CAAAACXBIWXMAAAsTAAAL
EwEAmpwYAAAPG0lEQVR4Ae2db2gcZR7Hnz263spdeuakCpGj7bVihOuGMx4VqcKmr1pLtmBCaZse
hmoiItcW7sxtQBOL15Ki2Eo5/72ocD2vkCqd4FlfXBJRPFvoHtf0YIMm2L6wUAvmSM7sthvIPTOT
nTzz7Dwzs5Nnd+fPdyjJM8//5/P7ZrLPzLeT2OLiIsEBAnUl8KO6jo7BQUAlABVCB/UnABXWPwaY
AVQIDdSfwKr6TwEzCBqBWCxW6ZTtN8Fyr4WFa5OTMwv6DNl0pXNG/WgR4K+FI/0700cVnUEqo3x8
pJ1Mn92+sXN8CUtamTrTviFRBqkwduyZrX2nCUlemL34w5tG+vLmhrK6yAgFgQ8mr7tZx5PNTY7V
+Gth+5Fz2bfStFn6RHbsSDuVW2JDx9hsVs0iXdn8OSsJ0qJE2wvvfjaUImR93JRWm+EAAXsCvApp
7ThRL19tW+5fbqlnpbfcX34RXK6UuOtnq0tnbLqUh+8gICBgoUK95o/jTItV7ImaX7j++aE2+iE1
FmvZ997n15iqVsmZK2/0tsVa2lpisZ39703PWdVBXoQJ8J8LDRTXrvx7ktw1XyySeDz+3+yEUUAT
M59vv+/xXRe+W2wtvt1xX/fjp++Yyu+x+LCotSlc6f158p2e4dnLHWTy7JYHOzcevZzLv95sd1ll
B0M6/ASEKjw69PzfjeVPTLAqvPjuwDhJ7brx5cjH5Ja2+Rj64PKeFzYb1dnE5IfH3iHJ0Vc61IrN
HR8OH9zYefxPZ3r/8lQzWw3pKBMQqvCt0xd7N5WuVwtX9sWTdAOsHXO5f46T9OG7Cbl9+/a6zvPn
O2//ZP0vBRAXrv6HCnj9XaWe7vvVb2jNudl5QX1kR5GAUIW3inm6811Cki/ybGZ/saNd3UGXjqWb
hKVT4/vC/2g3ZPaHUnli3aYuQr41ypEAAbduBtPmJH4H/eU63n3mSmmXcXOsreXPM9Y0Ew+0JGnt
L79aKl+48Q29pq427X2sWyI3OgQs9sjFW6q8zv3jK5aCmqWc/1r9ltj2/An6rTu55dj7n4yNvN1y
z9bUyd2NhBRvaS00yRrpTU90Uxn29Zy8pl0Oc18ME5LK7NmkVcUXENAI0Ad87KFk6J3npYM+O8kv
LuanhpezCH12QvOK2VMHS7XIYSVHa40O0d+06pFM7X81s7uU7hm9mv9+Yli76Z0+2EMFmVJys+yI
SAeOgB5c+uzEzT+9sv0aY7RYr1fp14W5mZnCQqJxTYPwsyXbZeHm9Rvzxfi9a5uYT5NsBaQDQ0B3
M1T0BM9eZq4UZIlnVQMVoGWJZWZiTdNaywJkgoD3ayHYRZaAfi2saPn210KL3UlFvaMyCKycAFS4
coboYaUEoMKVEkT7lRPwvjuxGpv6q6+u3tjcqPbKpq3qIi/gBCraI9uvlb8WUq+16tfSjrb+kQJV
0/RZ3cOl5e0cmaZ55Qf1Wu+Lxe5c9+Cur/JsurwmckCAJ8CrEF5rnhDOq0+AVyEdEV7r6mPHCCYC
FirUy01+A3itTdBwIpmAcHcCr7Vk0uhOTECoQnitxdBQIpmAUIXwWksmje7EBIQqhNdaDA0lkgkI
dyemceC1NuHAiWQCFiqE11oyY3TnSIAzwcJrzQHBaTkBXVRujNbGU77yTtgc7/5CeK0df8LDWoE+
y6VLMxRmv0z9bUlUczbVvKvQplMUhZuArsKK1mivQovPhRX1jsogsHICwjs1K+8aPYSVwODgoNyl
4Voolyd680IAKvRCDW3kEpCrQvZd1mxa7pzRW9gI8CqE1zpsEQ7CengVwmsdhKiFbY68Cun64LUO
W5B9vx4LFepzhtfa97ELzwSF9wvhtQ5PkH2/EqEK4bX2fezCM0GhCuG1Dk+Qfb8SoQrhtfZ97MIz
QeHuxLREeK1NOHAimYCFCuG1lswY3TkR4FU40t/WekD9m6DjfY8sv6fmzlbtz4QqravV99Q0bn5O
e6/1RN/ebVvTz3YouRcfa6DvqdEaKt3bn36tf08p3Ts2/+in9L3WEy+ti+881NuS3PutklPwh0Kd
4hKtcu8uV3ito6UUZrUvv/wyc+YqOTAwYFNPuDuxaaMX4b3WjohQwSUB/jeyy2aoBgISCUCFEmGi
K48EoEKP4NBMIgGoUCJMdOWRgFwVsv5qNu1xcmgWEQK8CuG1jkjgfbVMXoXwWvsqPBGZDK9Cumx4
rSMSe/8s00KF+uTgtfZPkEI/E+GzE3itQx97/yxQqEJ4rf0TpNDPRKhCeK1DH3v/LFCoQnit/ROk
0M9EuDsxrRxeaxMOnEgmYKFCeK0lM0Z3TgR4FcJr7UQM5fIJwGstn2noe4TXOvQhjuIC+d/IUWSA
NdebAFRY7whgfEKgQqig/gSgwvrHADOQq0LWX82mwRkE7AjwT/Co1zp9VHsRAyGpjPLxkXYyfXb7
xs7xpU7SytSZ9g2Jsi4LY8ee2dp3mpDkhdmLP7xppC/jNQxlrAKfsWPHDrlr4K+F8FrL5Yve3BDg
r4W0DbzWbsChzsMPf+QGwqVLzhdO/lpo9AuvtYECiWoTsLgW6kPCa11t9OjfICBUIbzWBiMkqk1A
qEJ4rauNHv0bBIQqhNfaYIREtQkIdyemgeG1NuHAiWQCFiqE11oyY3TnSGDRfCiZlNGEPjvJLy7m
p4aXswh9dkLzitp7rZcqHlZytNboUJd+nkztfzWzu5TuGb2a/56+11o9Tx/sSdInMkpu1jwmzgJG
4JJ2EDLo5p9e2X6F8FrrPy/4WgGBbDZLa1d017q1tdVmAOHuxKaNXoT3WjsiQgWXBCw+F7psiWog
IIsAVCiLJPrxTgAq9M4OLWURgAplkUQ/3gnIVSHrr2bT3ueHllEgwKsQ77WOQtT9tkZehfBa+y1C
UZgPr0K6ZnitoxB4X63RQoX6/OC19lWcwj0Z4bMTeK3DHXhfrU6oQnitfRWncE9GqEJ4rcMdeF+t
TqhCeK19FadwT0a4OzEtG15rEw6cSCZgcS00vNa/e2izMdocTSnnv57rfaghse35E+T0ge7klu/+
OvTwT68dSj/b8dl3jYR8c0urrkm2WEpveqI7SU739ZzclX1x7SqS+2JYffXInk1Gz0gElICb/+7u
cmm8y5W+1zp9dOmlNOL31Kz613t/aO0+ro9BvdYvtq8rvaeGUK/1bx+Z//3Rv9HSZKrn9VMnfj37
UXeyU1G91t8cf+duJae0Nze4nB+q+ZCA7nKtaGL2Lldehe67XpibmSksJBrXNFhcT8u7Kdy8fmO+
GL93bVP5q5bKayPHzwTwXms/Rwdz80jA3e7EY+doBgKuCECFrjChUlUJQIVVxYvOXRGACl1hQqWq
EpCrQtZfzaarugR0HngCvArhtQ58SAO4AF6F8FoHMIiBnzKvQrogeK0DH9WgLcBChfoS4LUOWigD
PF/h0zd4rQMc1aBNXahCeK2DFsoAz1eoQnitAxzVoE1dqEJ4rYMWygDPV7g7Ma0JXmsTDpxIJmCh
QsNrzQ5V8lrTPM1rTQj1Wh97/5Oxkbdb7tmaOrmbeq0NfzWtZKQ1rzWhXutrC2p/8FqrFHCYCfAq
pF7r1gPq3wQd73ukrX+kQEhh+mzbna3anwlVWlfvHJkuNG5+Tnuv9UTf3m1bqd2feq0faxg7tk9r
qHRvf/q1/j2ldO/Y/KOf0vdaT7y0Lr7zUG9Lcu+31GuNPxRqjkLUz+C1jroCPKwfXmsP0NDE7wT4
38h+ny/mF0YCUGEYoxq0NUGFQYtYGOcLFYYxqkFbk1wVsv5qNh00KphvbQnwKoTXurb8MZpKgFch
vNbQRe0J8CqkM4DXuvZhiPiIFirUicBrHXFl1HL5QmcXvNa1DEPExxKqEF7riCujlssXqhBe61qG
IeJjCVUIr3XElVHL5Qt3J6ZJwGttwoETyQQsVAivtWTG6M6JAK9CeK2diKFcPgF4reUzDX2P8FqH
PsRRXCD/GzmKDLDmehOACusdAYxf7qkBExCoPQFcC2vPHCPyBOSqkPVXs2l+VJyDAEuAVyG81iwd
pGtDgFchvNa14Y5RWAK8CmkZvNYsIKRrQMBChfqo8FrXgD6G0AkInV3wWkMiNSMgVCG81jWLAQYS
qhBea4ijZgSEKoTXumYxwEDC3YkJDbzWJhw4kUzAQoXwWktmjO6cCPAqhNfaiRjK5ROA11o+09D3
CK916EMcxQXyv5GjyABrrjcBqLDeEcD48FpDA34ggGuhH6IQ9TnIVSHrr2bTUaeM9dsT4FUIr7U9
L5RWgwCvQnitq0EZfdoTsHAzwGttjwylg4ODlUIYGBiwacJfC42q8FobKJCoNgGLa6E+JLzW1UYf
9P4/mLzuZglPNjc5VhOqEF5rR3aoIIuAUIXwWstCjH4cCQhVCK+1IztUkEVAuDsxDQCvtQkHTiQT
sFAhvNaSGaM7RwKL5kPJpIwmqYySX1zMTw0vZ5G0MkXzitlTB41qh5UcrTU61KXnJFP7X83sLqV7
Rq/mv58YTqvn6YM9SUJSSm7WPCbOAkZADy7dI7v5p1e2XyG81jolfK2AQCwWo7UrulNDVWgzgHB3
YtNGL1rV0LimwbGWUSGxpmmtcYIECLAELD4XssVIg0ANCECFNYCMIRwIQIUOgFBcAwJQYQ0gYwgH
At73yFYdU3/11dUbmxvVPQ+btqqLvMAS0PfIFU3ffo/MXwvhta4ILirLIVB+OzH7lnqPOX0iu1w0
m9VuO3dl6R1r4ZH/bIje3k5n1XvSbFrYAAUBJeBBefYr5a+FdAB4rT1QRpOVEBDetXb0Wme6Hj8+
Tkiy69TJV556zPaO9MyVN/544MAFkpwYX5859VrmqQ0V3O5eyerQtooEKnp2Yj8PoQrhtbYHh1KJ
BIQqhNdaImV0ZU9AqEJ4re3BoVQiAaEK4bWWSBld2ROw2CNbNIDX2gIKsqQRsFAhvNbS6KIjlwS4
24nwWnNAcFpOQJeWG6O1cTenvBM2x/tz5IW5mZnCQoJaXYWfLdkfhMLN6zfmi/F71zYl2GykA0gA
XusABg1TdiJg8bnQqQnKQUAyAahQMlB054EAVOgBGppIJuB9dyJ5IuguOASq7nJdGQr2XdZsemW9
onXYCeBaGPYIB2F9+FwYhCiFfY5QYdgjHIT1QYVBiFLY5wgVhj3CQVgfVBiEKIV9jlBh2CMchPX9
H8ua9tbEfkCQAAAAAElFTkSuQmCC
</data>

          </attachment>
      

    </bug>

</bugzilla>