<?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>109390</bug_id>
          
          <creation_ts>2013-02-10 15:56:26 -0800</creation_ts>
          <short_desc>Remove support for RVCT version less than 4</short_desc>
          <delta_ts>2013-02-15 15:14:15 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Laszlo Gombos">laszlo.gombos</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hausmann</cc>
    
    <cc>joenotcharles</cc>
    
    <cc>kling</cc>
    
    <cc>loki</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rakuco</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>skyul</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yong.li.webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>829365</commentid>
    <comment_count>0</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2013-02-10 15:56:26 -0800</bug_when>
    <thetext>The most dominant user of RVCT &lt; 4.0 has been the Symbian port which has been removed from WebKit trunk. RVCT version &gt;=4.0 is still used by the BlackBerry (and potentially some others port on Linux) ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829366</commentid>
    <comment_count>1</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2013-02-10 15:58:29 -0800</bug_when>
    <thetext>Related webkit-dev discussion - https://lists.webkit.org/pipermail/webkit-dev/2011-December/018884.html

Related bug on removing full support for RVCT (which I believe is not desired at this point of time) - bug 74251 .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829376</commentid>
    <comment_count>2</comment_count>
      <attachid>187498</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2013-02-10 17:32:00 -0800</bug_when>
    <thetext>Created attachment 187498
1st try</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829378</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-10 17:35:13 -0800</bug_when>
    <thetext>Attachment 187498 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WTF/ChangeLog&apos;, u&apos;Source/WTF/WTF.gypi&apos;, u&apos;Source/WTF/WTF.vcproj/WTF.vcproj&apos;, u&apos;Source/WTF/WTF.vcxproj/WTF.vcxproj&apos;, u&apos;Source/WTF/WTF.vcxproj/WTF.vcxproj.filters&apos;, u&apos;Source/WTF/WTF.xcodeproj/project.pbxproj&apos;, u&apos;Source/WTF/wtf/CMakeLists.txt&apos;, u&apos;Source/WTF/wtf/Compiler.h&apos;, u&apos;Source/WTF/wtf/Float32Array.h&apos;, u&apos;Source/WTF/wtf/Float64Array.h&apos;, u&apos;Source/WTF/wtf/Int16Array.h&apos;, u&apos;Source/WTF/wtf/Int32Array.h&apos;, u&apos;Source/WTF/wtf/Int8Array.h&apos;, u&apos;Source/WTF/wtf/MathExtras.h&apos;, u&apos;Source/WTF/wtf/Platform.h&apos;, u&apos;Source/WTF/wtf/StringExtras.cpp&apos;, u&apos;Source/WTF/wtf/StringExtras.h&apos;, u&apos;Source/WTF/wtf/Uint16Array.h&apos;, u&apos;Source/WTF/wtf/Uint32Array.h&apos;, u&apos;Source/WTF/wtf/Uint8Array.h&apos;, u&apos;Source/WTF/wtf/Uint8ClampedArray.h&apos;]&quot; exit_code: 1
Source/WTF/wtf/Uint32Array.h:46:  Omit int when using unsigned  [runtime/unsigned] [1]
Source/WTF/wtf/Uint32Array.h:47:  Omit int when using unsigned  [runtime/unsigned] [1]
Total errors found: 2 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829380</commentid>
    <comment_count>4</comment_count>
      <attachid>187499</attachid>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2013-02-10 17:43:45 -0800</bug_when>
    <thetext>Created attachment 187499
fix style</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829450</commentid>
    <comment_count>5</comment_count>
      <attachid>187499</attachid>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2013-02-10 23:27:36 -0800</bug_when>
    <thetext>Comment on attachment 187499
fix style

LGTM. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830532</commentid>
    <comment_count>6</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-02-11 21:23:50 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; The most dominant user of RVCT &lt; 4.0 has been the Symbian port which has been removed from WebKit trunk. RVCT version &gt;=4.0 is still used by the BlackBerry (and potentially some others port on Linux) ports.

BrewMP used to use RVCT &lt; 4.0, but it has been already removed from the upstream. So this patch is okay to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>830945</commentid>
    <comment_count>7</comment_count>
    <who name="Laszlo Gombos">laszlo.gombos</who>
    <bug_when>2013-02-12 07:51:31 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #0)
&gt; &gt; The most dominant user of RVCT &lt; 4.0 has been the Symbian port which has been removed from WebKit trunk. RVCT version &gt;=4.0 is still used by the BlackBerry (and potentially some others port on Linux) ports.
&gt; 
&gt; BrewMP used to use RVCT &lt; 4.0, but it has been already removed from the upstream. So this patch is okay to me.

Thanks. I plan to land this patch in a week, so if you have any concerns please let me know. 

Also note that I have no means to verify the impact of this patch on ports building with RVCT &gt;= v4.0 (e.g. BlackBerry) to make sure that it does not introduce any regressions, so if anyone is interested to help me that that that would be appreciated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834414</commentid>
    <comment_count>8</comment_count>
      <attachid>187499</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-15 15:14:09 -0800</bug_when>
    <thetext>Comment on attachment 187499
fix style

Clearing flags on attachment: 187499

Committed r143061: &lt;http://trac.webkit.org/changeset/143061&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834415</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-15 15:14:15 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187498</attachid>
            <date>2013-02-10 17:32:00 -0800</date>
            <delta_ts>2013-02-10 17:43:45 -0800</delta_ts>
            <desc>1st try</desc>
            <filename>109390.patch</filename>
            <type>text/plain</type>
            <size>20317</size>
            <attacher name="Laszlo Gombos">laszlo.gombos</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNDI0MTgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEzLTAyLTEwICBMYXN6bG8gR29tYm9zICA8bC5n
b21ib3NAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgUmVtb3ZlIHN1cHBvcnQgZm9yIFJWQ1QgdmVy
c2lvbiBsZXNzIHRoYW4gNC4wCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDkzOTAKKworICAgICAgICBUaGUgNC4wIHZlcnNpb24gb2YgdGhlIFJWQ1Qg
Y29tcGlsZXIgd2FzIAorICAgICAgICByZWxlYXNlZCBpbiAyMDA4LiAKKyAgICAgICAgCisgICAg
ICAgIFJlbW92ZSBzdXBwb3J0IGZvciB2ZXJzaW9uIG9sZGVyIHRoZW4gNC4wIG9mIFJWQ1QsIAor
ICAgICAgICBhbmQga2VlcCB0aGUgc3VwcG9ydCBmb3IgbmV3ZXIgUlZDVCB2ZXJzaW9ucy4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdURi5neXBp
OiBSZW1vdmUgU3RyaW5nRXh0cmFzLmNwcC4KKyAgICAgICAgKiBXVEYudmNwcm9qL1dURi52Y3By
b2o6IFJlbW92ZSBTdHJpbmdFeHRyYXMuY3BwLgorICAgICAgICAqIFdURi52Y3hwcm9qL1dURi52
Y3hwcm9qOiBSZW1vdmUgU3RyaW5nRXh0cmFzLmNwcC4KKyAgICAgICAgKiBXVEYudmN4cHJvai9X
VEYudmN4cHJvai5maWx0ZXJzOiBSZW1vdmUgU3RyaW5nRXh0cmFzLmNwcC4KKyAgICAgICAgKiBX
VEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogUmVtb3ZlIFN0cmluZ0V4dHJhcy5jcHAuCisg
ICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OiBSZW1vdmUgU3RyaW5nRXh0cmFzLmNwcC4KKyAg
ICAgICAgKiB3dGYvQ29tcGlsZXIuaDogUmVtb3ZlIHRlc3RzIGZvciBSVkNUX1ZFUlNJT05fQVRf
TEVBU1QoMywgMCwgMCwgMCkuCisgICAgICAgICogd3RmL0Zsb2F0MzJBcnJheS5oOiBSZW1vdmUg
YSBxdWlyayBpbnRyb2R1Y2VkIGZvciBSVkNUIHZlcnNpb24gPD0yLjIgLgorICAgICAgICAqIHd0
Zi9GbG9hdDY0QXJyYXkuaDogRGl0dG8uCisgICAgICAgICogd3RmL0ludDE2QXJyYXkuaDogRGl0
dG8uCisgICAgICAgICogd3RmL0ludDMyQXJyYXkuaDogRGl0dG8uCisgICAgICAgICogd3RmL0lu
dDhBcnJheS5oOiBEaXR0by4KKyAgICAgICAgKiB3dGYvTWF0aEV4dHJhcy5oOiBSZW1vdmUgYSBx
dWlyayBuZWVkZWQgZm9yIFJWQ1QgdmVyc2lvbiAgPD0gMy4wLgorICAgICAgICAqIHd0Zi9QbGF0
Zm9ybS5oOiBSZW1vdmUgdGVzdCBmb3IgUlZDVCA0LjAuIFJlbW92ZSBPUyhSVkNUKS4KKyAgICAg
ICAgKiB3dGYvU3RyaW5nRXh0cmFzLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiB3dGYvU3RyaW5n
RXh0cmFzLmg6IFJlbW92ZSBhIHF1aXJrIGludHJvZHVjZWQgZm9yIFJWQ1QgdmVyc2lvbiA8IDQu
MC4KKyAgICAgICAgKiB3dGYvVWludDE2QXJyYXkuaDogUmVtb3ZlIGEgcXVpcmsgaW50cm9kdWNl
ZCBmb3IgUlZDVCB2ZXJzaW9uIDw9IDIuMi4KKyAgICAgICAgKiB3dGYvVWludDMyQXJyYXkuaDog
RGl0dG8uCisgICAgICAgICogd3RmL1VpbnQ4QXJyYXkuaDogRGl0dG8uCisgICAgICAgICogd3Rm
L1VpbnQ4Q2xhbXBlZEFycmF5Lmg6IERpdHRvLgorCiAyMDEzLTAyLTEwICBMYXN6bG8gR29tYm9z
ICA8bC5nb21ib3NAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgQ29uc29saWRhdGUgdGhlIHdheSBX
VEZfVVNFX1BUSFJFQURTIGlzIGVuYWJsZWQKSW5kZXg6IFNvdXJjZS9XVEYvV1RGLmd5cGkKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dURi9XVEYuZ3lwaQkocmV2aXNpb24gMTQyNDE4KQorKysgU291
cmNlL1dURi9XVEYuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMjAyLDcgKzIwMiw2IEBACiAgICAg
ICAgICAgICAnd3RmL1NlZ21lbnRlZFZlY3Rvci5oJywKICAgICAgICAgICAgICd3dGYvU2l6ZUxp
bWl0cy5jcHAnLAogICAgICAgICAgICAgJ3d0Zi9TdGFja0JvdW5kcy5jcHAnLAotICAgICAgICAg
ICAgJ3d0Zi9TdHJpbmdFeHRyYXMuY3BwJywKICAgICAgICAgICAgICd3dGYvU3RyaW5nUHJpbnRT
dHJlYW0uY3BwJywKICAgICAgICAgICAgICd3dGYvVENQYWNrZWRDYWNoZS5oJywKICAgICAgICAg
ICAgICd3dGYvVENQYWdlTWFwLmgnLApJbmRleDogU291cmNlL1dURi9XVEYudmNwcm9qL1dURi52
Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi9XVEYudmNwcm9qL1dURi52Y3Byb2oJKHJl
dmlzaW9uIDE0MjQxOCkKKysrIFNvdXJjZS9XVEYvV1RGLnZjcHJvai9XVEYudmNwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMjAxLDEwICsxMjAxLDYgQEAKIAkJCT4KIAkJPC9GaWxlPgogCQk8Rmls
ZQotCQkJUmVsYXRpdmVQYXRoPSIuLlx3dGZcU3RyaW5nRXh0cmFzLmNwcCIKLQkJCT4KLQkJPC9G
aWxlPgotCQk8RmlsZQogCQkJUmVsYXRpdmVQYXRoPSIuLlx3dGZcU3RyaW5nRXh0cmFzLmgiCiAJ
CQk+CiAJCTwvRmlsZT4KSW5kZXg6IFNvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2oK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvagkocmV2aXNp
b24gMTQyNDE4KQorKysgU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvagkod29ya2lu
ZyBjb3B5KQpAQCAtNTMsNyArNTMsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3Rm
XFNIQTEuY3BwIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHd0ZlxTaXplTGltaXRz
LmNwcCIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3dGZcU3RhY2tCb3VuZHMuY3Bw
IiAvPg0KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHd0ZlxTdHJpbmdFeHRyYXMuY3BwIiAv
Pg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHd0ZlxTdHJpbmdQcmludFN0cmVhbS5jcHAi
IC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3RmXFRDU3lzdGVtQWxsb2MuY3BwIiAv
Pg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHd0Zlx0ZXh0XEF0b21pY1N0cmluZy5jcHAi
IC8+DQpJbmRleDogU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvai5maWx0ZXJzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmlsdGVycwko
cmV2aXNpb24gMTQyNDE4KQorKysgU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvai5m
aWx0ZXJzCSh3b3JraW5nIGNvcHkpCkBAIC0xOTUsOSArMTk1LDYgQEAKICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHd0ZlxTdGFja0JvdW5kcy5jcHAiPg0KICAgICAgIDxGaWx0ZXI+d3RmPC9G
aWx0ZXI+DQogICAgIDwvQ2xDb21waWxlPg0KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHd0
ZlxTdHJpbmdFeHRyYXMuY3BwIj4NCi0gICAgICA8RmlsdGVyPnd0ZjwvRmlsdGVyPg0KLSAgICA8
L0NsQ29tcGlsZT4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3dGZcU3RyaW5nUHJpbnRT
dHJlYW0uY3BwIj4NCiAgICAgICA8RmlsdGVyPnd0ZjwvRmlsdGVyPg0KICAgICA8L0NsQ29tcGls
ZT4NCkluZGV4OiBTb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlz
aW9uIDE0MjQxOCkKKysrIFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHdvcmtpbmcgY29weSkKQEAgLTIyNCw3ICsyMjQsNiBAQAogCQlBOEE0NzQyODE1MUE4MjVCMDA0
MTIzRkYgLyogU3RhY2tCb3VuZHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE4QTQ3MzBGMTUxQTgyNUIwMDQxMjNGRiAvKiBTdGFja0JvdW5kcy5oICov
OyB9OwogCQlBOEE0NzQyOTE1MUE4MjVCMDA0MTIzRkYgLyogU3RhdGljQ29uc3RydWN0b3JzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEE0NzMxMDE1
MUE4MjVCMDA0MTIzRkYgLyogU3RhdGljQ29uc3RydWN0b3JzLmggKi87IH07CiAJCUE4QTQ3NDJB
MTUxQTgyNUIwMDQxMjNGRiAvKiBTdGRMaWJFeHRyYXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QTQ3MzExMTUxQTgyNUIwMDQxMjNGRiAvKiBTdGRM
aWJFeHRyYXMuaCAqLzsgfTsKLQkJQThBNDc0MkIxNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ0V4
dHJhcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
OEE0NzMxMjE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5nRXh0cmFzLmNwcCAqLzsgfTsKIAkJQThB
NDc0MkMxNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ0V4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThBNDczMTMxNTFBODI1QjAwNDEyM0ZGIC8q
IFN0cmluZ0V4dHJhcy5oICovOyB9OwogCQlBOEE0NzQyRDE1MUE4MjVCMDA0MTIzRkYgLyogU3Ry
aW5nSGFzaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBOEE0NzMxNDE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5nSGFzaGVyLmggKi87IH07CiAJCUE4
QTQ3NDJFMTUxQTgyNUIwMDQxMjNGRiAvKiBUQ1BhY2tlZENhY2hlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEE0NzMxNTE1MUE4MjVCMDA0MTIzRkYg
LyogVENQYWNrZWRDYWNoZS5oICovOyB9OwpAQCAtNTM2LDcgKzUzNSw2IEBACiAJCUE4QTQ3MzBG
MTUxQTgyNUIwMDQxMjNGRiAvKiBTdGFja0JvdW5kcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTdGFja0JvdW5kcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlB
OEE0NzMxMDE1MUE4MjVCMDA0MTIzRkYgLyogU3RhdGljQ29uc3RydWN0b3JzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0YXRpY0NvbnN0cnVjdG9ycy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBOEE0NzMxMTE1MUE4MjVCMDA0MTIzRkYgLyogU3RkTGliRXh0
cmFzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0ZExpYkV4dHJhcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlBOEE0NzMxMjE1MUE4MjVCMDA0MTIzRkYgLyog
U3RyaW5nRXh0cmFzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0
cmluZ0V4dHJhcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4QTQ3MzEzMTUx
QTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdFeHRyYXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU3RyaW5nRXh0cmFzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4
QTQ3MzE0MTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdIYXNoZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU3RyaW5nSGFzaGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUE4QTQ3MzE1MTUxQTgyNUIwMDQxMjNGRiAvKiBUQ1BhY2tlZENhY2hlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRDUGFja2VkQ2FjaGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTg0Niw3ICs4NDQsNiBAQAogCQkJCUE4QTQ3MzEwMTUxQTgyNUIw
MDQxMjNGRiAvKiBTdGF0aWNDb25zdHJ1Y3RvcnMuaCAqLywKIAkJCQlBOEE0NzMxMTE1MUE4MjVC
MDA0MTIzRkYgLyogU3RkTGliRXh0cmFzLmggKi8sCiAJCQkJMUE2QkI3NjgxNjJGMzAwNTAwREQx
NkRCIC8qIFN0cmVhbUJ1ZmZlci5oICovLAotCQkJCUE4QTQ3MzEyMTUxQTgyNUIwMDQxMjNGRiAv
KiBTdHJpbmdFeHRyYXMuY3BwICovLAogCQkJCUE4QTQ3MzEzMTUxQTgyNUIwMDQxMjNGRiAvKiBT
dHJpbmdFeHRyYXMuaCAqLywKIAkJCQlBOEE0NzMxNDE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5n
SGFzaGVyLmggKi8sCiAJCQkJMEZEREJGQTUxNjY2REZBMzAwQzU1RkVGIC8qIFN0cmluZ1ByaW50
U3RyZWFtLmNwcCAqLywKQEAgLTEzODIsNyArMTM3OSw2IEBACiAJCQkJQThBNDc0MjcxNTFBODI1
QjAwNDEyM0ZGIC8qIFN0YWNrQm91bmRzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZFREFDRDNE
MTYzMEY4M0YwMEM2OTYzNCAvKiBTdGFja1N0YXRzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4
QTQ3NDNDMTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICov
LAotCQkJCUE4QTQ3NDJCMTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdFeHRyYXMuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQThBNDc0NDAxNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ0ltcGwuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEZEREJGQTcxNjY2REZBMzAwQzU1RkVGIC8qIFN0cmluZ1By
aW50U3RyZWFtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3NDQzMTUxQTgyNUIwMDQxMjNG
RiAvKiBTdHJpbmdTdGF0aWNzLmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogU291cmNlL1dURi93
dGYvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvQ01ha2VMaXN0
cy50eHQJKHJldmlzaW9uIDE0MjQxOCkKKysrIFNvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xODUsNyArMTg1LDYgQEAgc2V0KFdURl9TT1VSQ0VTCiAgICAg
UmVmQ291bnRlZExlYWtDb3VudGVyLmNwcAogICAgIFNIQTEuY3BwCiAgICAgU3RhY2tCb3VuZHMu
Y3BwCi0gICAgU3RyaW5nRXh0cmFzLmNwcAogICAgIFN0cmluZ1ByaW50U3RyZWFtLmNwcAogICAg
IFRocmVhZGluZy5jcHAKICAgICBUeXBlVHJhaXRzLmNwcApJbmRleDogU291cmNlL1dURi93dGYv
Q29tcGlsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCShyZXZp
c2lvbiAxNDI0MTgpCisrKyBTb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCSh3b3JraW5nIGNvcHkp
CkBAIC05NCw3ICs5NCw2IEBACiAjZW5kaWYKIAogLyogQ09NUElMRVIoUlZDVCkgLSBBUk0gUmVh
bFZpZXcgQ29tcGlsYXRpb24gVG9vbHMgKi8KLS8qIENPTVBJTEVSKFJWQ1Q0X09SX0dSRUFURVIp
IC0gQVJNIFJlYWxWaWV3IENvbXBpbGF0aW9uIFRvb2xzIDQuMCBvciBncmVhdGVyICovCiAjaWYg
ZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX18pCiAjZGVmaW5lIFdURl9DT01Q
SUxFUl9SVkNUIDEKICNkZWZpbmUgUlZDVF9WRVJTSU9OX0FUX0xFQVNUKG1ham9yLCBtaW5vciwg
cGF0Y2gsIGJ1aWxkKSAoX19BUk1DQ19WRVJTSU9OID49IChtYWpvciAqIDEwMDAwMCArIG1pbm9y
ICogMTAwMDAgKyBwYXRjaCAqIDEwMDAgKyBidWlsZCkpCkBAIC0xODksNyArMTg4LDcgQEAKIC8q
IFVOTElLRUxZICovCiAKICNpZm5kZWYgVU5MSUtFTFkKLSNpZiBDT01QSUxFUihHQ0MpIHx8IChS
VkNUX1ZFUlNJT05fQVRfTEVBU1QoMywgMCwgMCwgMCkgJiYgZGVmaW5lZChfX0dOVUNfXykpCisj
aWYgQ09NUElMRVIoR0NDKSB8fCAoQ09NUElMRVIoUlZDVCkgJiYgZGVmaW5lZChfX0dOVUNfXykp
CiAjZGVmaW5lIFVOTElLRUxZKHgpIF9fYnVpbHRpbl9leHBlY3QoKHgpLCAwKQogI2Vsc2UKICNk
ZWZpbmUgVU5MSUtFTFkoeCkgKHgpCkBAIC0yMDAsNyArMTk5LDcgQEAKIC8qIExJS0VMWSAqLwog
CiAjaWZuZGVmIExJS0VMWQotI2lmIENPTVBJTEVSKEdDQykgfHwgKFJWQ1RfVkVSU0lPTl9BVF9M
RUFTVCgzLCAwLCAwLCAwKSAmJiBkZWZpbmVkKF9fR05VQ19fKSkKKyNpZiBDT01QSUxFUihHQ0Mp
IHx8IChDT01QSUxFUihSVkNUKSAmJiBkZWZpbmVkKF9fR05VQ19fKSkKICNkZWZpbmUgTElLRUxZ
KHgpIF9fYnVpbHRpbl9leHBlY3QoKHgpLCAxKQogI2Vsc2UKICNkZWZpbmUgTElLRUxZKHgpICh4
KQpJbmRleDogU291cmNlL1dURi93dGYvRmxvYXQzMkFycmF5LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dURi93dGYvRmxvYXQzMkFycmF5LmgJKHJldmlzaW9uIDE0MjQxOCkKKysrIFNvdXJjZS9X
VEYvd3RmL0Zsb2F0MzJBcnJheS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw4ICs0Miw3IEBAIHB1
YmxpYzoKICAgICAvLyBub3QgcmV0dXJuIHRoZXNlIHJlc3VsdHMgZGlyZWN0bHkgdG8gSmF2YVNj
cmlwdCB3aXRob3V0IGZpbGxpbmcgZmlyc3QuCiAgICAgc3RhdGljIGlubGluZSBQYXNzUmVmUHRy
PEZsb2F0MzJBcnJheT4gY3JlYXRlVW5pbml0aWFsaXplZCh1bnNpZ25lZCBsZW5ndGgpOwogCi0g
ICAgLy8gQ2Fu4oCZdCB1c2UgInVzaW5nIiBoZXJlIGR1ZSB0byBhIGJ1ZyBpbiB0aGUgUlZDVCBj
b21waWxlci4KLSAgICBib29sIHNldChUeXBlZEFycmF5QmFzZTxmbG9hdD4qIGFycmF5LCB1bnNp
Z25lZCBvZmZzZXQpIHsgcmV0dXJuIFR5cGVkQXJyYXlCYXNlPGZsb2F0Pjo6c2V0KGFycmF5LCBv
ZmZzZXQpOyB9CisgICAgdXNpbmcgVHlwZWRBcnJheUJhc2U8ZmxvYXQ+OjpzZXQ7CiAKICAgICB2
b2lkIHNldCh1bnNpZ25lZCBpbmRleCwgZG91YmxlIHZhbHVlKQogICAgIHsKSW5kZXg6IFNvdXJj
ZS9XVEYvd3RmL0Zsb2F0NjRBcnJheS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL0Zs
b2F0NjRBcnJheS5oCShyZXZpc2lvbiAxNDI0MTgpCisrKyBTb3VyY2UvV1RGL3d0Zi9GbG9hdDY0
QXJyYXkuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsOCArNDIsNyBAQCBwdWJsaWM6CiAgICAgLy8g
bm90IHJldHVybiB0aGVzZSByZXN1bHRzIGRpcmVjdGx5IHRvIEphdmFTY3JpcHQgd2l0aG91dCBm
aWxsaW5nIGZpcnN0LgogICAgIHN0YXRpYyBpbmxpbmUgUGFzc1JlZlB0cjxGbG9hdDY0QXJyYXk+
IGNyZWF0ZVVuaW5pdGlhbGl6ZWQodW5zaWduZWQgbGVuZ3RoKTsKIAotICAgIC8vIENhbuKAmXQg
dXNlICJ1c2luZyIgaGVyZSBkdWUgdG8gYSBidWcgaW4gdGhlIFJWQ1QgY29tcGlsZXIuCi0gICAg
Ym9vbCBzZXQoVHlwZWRBcnJheUJhc2U8ZG91YmxlPiogYXJyYXksIHVuc2lnbmVkIG9mZnNldCkg
eyByZXR1cm4gVHlwZWRBcnJheUJhc2U8ZG91YmxlPjo6c2V0KGFycmF5LCBvZmZzZXQpOyB9Cisg
ICAgdXNpbmcgVHlwZWRBcnJheUJhc2U8ZG91YmxlPjo6c2V0OwogCiAgICAgdm9pZCBzZXQodW5z
aWduZWQgaW5kZXgsIGRvdWJsZSB2YWx1ZSkKICAgICB7CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9J
bnQ4QXJyYXkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9JbnQ4QXJyYXkuaAkocmV2
aXNpb24gMTQyNDE4KQorKysgU291cmNlL1dURi93dGYvSW50OEFycmF5LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQzLDkgKzQzLDggQEAgcHVibGljOgogICAgIC8vIG5vdCByZXR1cm4gdGhlc2UgcmVz
dWx0cyBkaXJlY3RseSB0byBKYXZhU2NyaXB0IHdpdGhvdXQgZmlsbGluZyBmaXJzdC4KICAgICBz
dGF0aWMgaW5saW5lIFBhc3NSZWZQdHI8SW50OEFycmF5PiBjcmVhdGVVbmluaXRpYWxpemVkKHVu
c2lnbmVkIGxlbmd0aCk7CiAKLSAgICAvLyBDYW7igJl0IHVzZSAidXNpbmciIGhlcmUgZHVlIHRv
IGEgYnVnIGluIHRoZSBSVkNUIGNvbXBpbGVyLgotICAgIGJvb2wgc2V0KFR5cGVkQXJyYXlCYXNl
PHNpZ25lZCBjaGFyPiogYXJyYXksIHVuc2lnbmVkIG9mZnNldCkgeyByZXR1cm4gVHlwZWRBcnJh
eUJhc2U8c2lnbmVkIGNoYXI+OjpzZXQoYXJyYXksIG9mZnNldCk7IH0KLSAgICB2b2lkIHNldCh1
bnNpZ25lZCBpbmRleCwgZG91YmxlIHZhbHVlKSB7IEludGVncmFsVHlwZWRBcnJheUJhc2U8c2ln
bmVkIGNoYXI+OjpzZXQoaW5kZXgsIHZhbHVlKTsgfQorICAgIHVzaW5nIFR5cGVkQXJyYXlCYXNl
PHNpZ25lZCBjaGFyPjo6c2V0OworICAgIHVzaW5nIEludGVncmFsVHlwZWRBcnJheUJhc2U8c2ln
bmVkIGNoYXI+OjpzZXQ7CiAKICAgICBpbmxpbmUgUGFzc1JlZlB0cjxJbnQ4QXJyYXk+IHN1YmFy
cmF5KGludCBzdGFydCkgY29uc3Q7CiAgICAgaW5saW5lIFBhc3NSZWZQdHI8SW50OEFycmF5PiBz
dWJhcnJheShpbnQgc3RhcnQsIGludCBlbmQpIGNvbnN0OwpJbmRleDogU291cmNlL1dURi93dGYv
SW50MTZBcnJheS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL0ludDE2QXJyYXkuaAko
cmV2aXNpb24gMTQyNDE4KQorKysgU291cmNlL1dURi93dGYvSW50MTZBcnJheS5oCSh3b3JraW5n
IGNvcHkpCkBAIC00Miw5ICs0Miw4IEBAIHB1YmxpYzoKICAgICAvLyBub3QgcmV0dXJuIHRoZXNl
IHJlc3VsdHMgZGlyZWN0bHkgdG8gSmF2YVNjcmlwdCB3aXRob3V0IGZpbGxpbmcgZmlyc3QuCiAg
ICAgc3RhdGljIGlubGluZSBQYXNzUmVmUHRyPEludDE2QXJyYXk+IGNyZWF0ZVVuaW5pdGlhbGl6
ZWQodW5zaWduZWQgbGVuZ3RoKTsKIAotICAgIC8vIENhbuKAmXQgdXNlICJ1c2luZyIgaGVyZSBk
dWUgdG8gYSBidWcgaW4gdGhlIFJWQ1QgY29tcGlsZXIuCi0gICAgYm9vbCBzZXQoVHlwZWRBcnJh
eUJhc2U8c2hvcnQ+KiBhcnJheSwgdW5zaWduZWQgb2Zmc2V0KSB7IHJldHVybiBUeXBlZEFycmF5
QmFzZTxzaG9ydD46OnNldChhcnJheSwgb2Zmc2V0KTsgfQotICAgIHZvaWQgc2V0KHVuc2lnbmVk
IGluZGV4LCBkb3VibGUgdmFsdWUpIHsgSW50ZWdyYWxUeXBlZEFycmF5QmFzZTxzaG9ydD46OnNl
dChpbmRleCwgdmFsdWUpOyB9CisgICAgdXNpbmcgVHlwZWRBcnJheUJhc2U8c2hvcnQ+OjpzZXQ7
CisgICAgdXNpbmcgSW50ZWdyYWxUeXBlZEFycmF5QmFzZTxzaG9ydD46OnNldDsKIAogICAgIGlu
bGluZSBQYXNzUmVmUHRyPEludDE2QXJyYXk+IHN1YmFycmF5KGludCBzdGFydCkgY29uc3Q7CiAg
ICAgaW5saW5lIFBhc3NSZWZQdHI8SW50MTZBcnJheT4gc3ViYXJyYXkoaW50IHN0YXJ0LCBpbnQg
ZW5kKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL0ludDMyQXJyYXkuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV1RGL3d0Zi9JbnQzMkFycmF5LmgJKHJldmlzaW9uIDE0MjQxOCkKKysrIFNv
dXJjZS9XVEYvd3RmL0ludDMyQXJyYXkuaAkod29ya2luZyBjb3B5KQpAQCAtNDEsOSArNDEsOCBA
QCBwdWJsaWM6CiAgICAgLy8gbm90IHJldHVybiB0aGVzZSByZXN1bHRzIGRpcmVjdGx5IHRvIEph
dmFTY3JpcHQgd2l0aG91dCBmaWxsaW5nIGZpcnN0LgogICAgIHN0YXRpYyBpbmxpbmUgUGFzc1Jl
ZlB0cjxJbnQzMkFycmF5PiBjcmVhdGVVbmluaXRpYWxpemVkKHVuc2lnbmVkIGxlbmd0aCk7CiAK
LSAgICAvLyBDYW7igJl0IHVzZSAidXNpbmciIGhlcmUgZHVlIHRvIGEgYnVnIGluIHRoZSBSVkNU
IGNvbXBpbGVyLgotICAgIGJvb2wgc2V0KFR5cGVkQXJyYXlCYXNlPGludD4qIGFycmF5LCB1bnNp
Z25lZCBvZmZzZXQpIHsgcmV0dXJuIFR5cGVkQXJyYXlCYXNlPGludD46OnNldChhcnJheSwgb2Zm
c2V0KTsgfQotICAgIHZvaWQgc2V0KHVuc2lnbmVkIGluZGV4LCBkb3VibGUgdmFsdWUpIHsgSW50
ZWdyYWxUeXBlZEFycmF5QmFzZTxpbnQ+OjpzZXQoaW5kZXgsIHZhbHVlKTsgfQorICAgIHVzaW5n
IFR5cGVkQXJyYXlCYXNlPGludD46OnNldDsKKyAgICB1c2luZyBJbnRlZ3JhbFR5cGVkQXJyYXlC
YXNlPGludD46OnNldDsKIAogICAgIGlubGluZSBQYXNzUmVmUHRyPEludDMyQXJyYXk+IHN1YmFy
cmF5KGludCBzdGFydCkgY29uc3Q7CiAgICAgaW5saW5lIFBhc3NSZWZQdHI8SW50MzJBcnJheT4g
c3ViYXJyYXkoaW50IHN0YXJ0LCBpbnQgZW5kKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XVEYvd3Rm
L01hdGhFeHRyYXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9NYXRoRXh0cmFzLmgJ
KHJldmlzaW9uIDE0MjQxOCkKKysrIFNvdXJjZS9XVEYvd3RmL01hdGhFeHRyYXMuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTA4LDcgKzEwOCw3IEBAIGlubGluZSBib29sIHNpZ25iaXQoZG91YmxlIHgp
IHsgc3RydWN0IGkKIAogI2VuZGlmCiAKLSNpZiBDT01QSUxFUihNU1ZDKSB8fCAoQ09NUElMRVIo
UlZDVCkgJiYgIShSVkNUX1ZFUlNJT05fQVRfTEVBU1QoMywgMCwgMCwgMCkpKQorI2lmIENPTVBJ
TEVSKE1TVkMpCiAKIC8vIFdlIG11c3Qgbm90IGRvICdudW0gKyAwLjUnIG9yICdudW0gLSAwLjUn
IGJlY2F1c2UgdGhleSBjYW4gY2F1c2UgcHJlY2lzaW9uIGxvc3MuCiBzdGF0aWMgZG91YmxlIHJv
dW5kKGRvdWJsZSBudW0pCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgJKHJldmlzaW9uIDE0MjQxOCkKKysrIFNv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTcwMSw5ICs3MDEsNyBA
QAogI2VuZGlmCiAjZW5kaWYKIAotI2lmICFPUyhXSU5ET1dTKSAmJiAhT1MoU09MQVJJUykgXAot
ICAgICYmICFPUyhSVkNUKSBcCi0gICAgJiYgIU9TKEFORFJPSUQpCisjaWYgIU9TKFdJTkRPV1Mp
ICYmICFPUyhTT0xBUklTKSAmJiAhT1MoQU5EUk9JRCkKICNkZWZpbmUgSEFWRV9UTV9HTVRPRkYg
MQogI2RlZmluZSBIQVZFX1RNX1pPTkUgMQogI2RlZmluZSBIQVZFX1RJTUVHTSAxCkBAIC05NjMs
NyArOTYxLDcgQEAKICNlbmRpZgogCiAvKiBDb25maWd1cmUgdGhlIGludGVycHJldGVyICovCi0j
aWYgQ09NUElMRVIoR0NDKSB8fCAoUlZDVF9WRVJTSU9OX0FUX0xFQVNUKDQsIDAsIDAsIDApICYm
IGRlZmluZWQoX19HTlVDX18pKQorI2lmIENPTVBJTEVSKEdDQykgfHwgKENPTVBJTEVSKFJWQ1Qp
ICYmIGRlZmluZWQoX19HTlVDX18pKQogI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQogI2Vu
ZGlmCiAKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1N0cmluZ0V4dHJhcy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dURi93dGYvU3RyaW5nRXh0cmFzLmNwcAkocmV2aXNpb24gMTQyNDE4KQorKysg
U291cmNlL1dURi93dGYvU3RyaW5nRXh0cmFzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw2MiAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5IENvbXBhbnkgMTAwLCBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
LSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIENPTVBJ
TEVSKFJWQ1QpICYmIF9fQVJNQ0NfVkVSU0lPTiA8IDQwMDAwMAotCi0jaW5jbHVkZSAiU3RyaW5n
RXh0cmFzLmgiCi0KLSNpbmNsdWRlICJBU0NJSUNUeXBlLmgiCi0KLWludCBzdHJjYXNlY21wKGNv
bnN0IGNoYXIqIHMxLCBjb25zdCBjaGFyKiBzMikKLXsKLSAgICB3aGlsZSAodG9BU0NJSVVwcGVy
KCpzMSkgPT0gdG9BU0NJSVVwcGVyKCpzMikpIHsKLSAgICAgICAgaWYgKCpzMSA9PSAnXDAnKQot
ICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIHMxKys7Ci0gICAgICAgIHMyKys7Ci0gICAg
fQotCi0gICAgcmV0dXJuIHRvQVNDSUlVcHBlcigqczEpIC0gdG9BU0NJSVVwcGVyKCpzMik7Ci19
Ci0KLWludCBzdHJuY2FzZWNtcChjb25zdCBjaGFyKiBzMSwgY29uc3QgY2hhciogczIsIHNpemVf
dCBsZW4pCi17Ci0gICAgd2hpbGUgKGxlbiA+IDAgJiYgdG9BU0NJSVVwcGVyKCpzMSkgPT0gdG9B
U0NJSVVwcGVyKCpzMikpIHsKLSAgICAgICAgaWYgKCpzMSA9PSAnXDAnKQotICAgICAgICAgICAg
cmV0dXJuIDA7Ci0gICAgICAgIHMxKys7Ci0gICAgICAgIHMyKys7Ci0gICAgICAgIGxlbi0tOwot
ICAgIH0KLQotICAgIGlmICghbGVuKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIHJldHVybiB0
b0FTQ0lJVXBwZXIoKnMxKSAtIHRvQVNDSUlVcHBlcigqczIpOwotfQotCi0jZW5kaWYKSW5kZXg6
IFNvdXJjZS9XVEYvd3RmL1N0cmluZ0V4dHJhcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYv
d3RmL1N0cmluZ0V4dHJhcy5oCShyZXZpc2lvbiAxNDI0MTgpCisrKyBTb3VyY2UvV1RGL3d0Zi9T
dHJpbmdFeHRyYXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTE2LDExICsxMTYsNCBAQCBpbmxpbmUg
Y2hhciogc3RybnN0cihjb25zdCBjaGFyKiBidWZmZXIsCiAKICNlbmRpZgogCi0jaWYgQ09NUElM
RVIoUlZDVCkgJiYgX19BUk1DQ19WRVJTSU9OIDwgNDAwMDAwCi0KLWludCBzdHJjYXNlY21wKGNv
bnN0IGNoYXIqIHMxLCBjb25zdCBjaGFyKiBzMik7Ci1pbnQgc3RybmNhc2VjbXAoY29uc3QgY2hh
ciogczEsIGNvbnN0IGNoYXIqIHMyLCBzaXplX3QgbGVuKTsKLQotI2VuZGlmCi0KICNlbmRpZiAv
LyBXVEZfU3RyaW5nRXh0cmFzX2gKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1VpbnQ4QXJyYXkuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9VaW50OEFycmF5LmgJKHJldmlzaW9uIDE0MjQx
OCkKKysrIFNvdXJjZS9XVEYvd3RmL1VpbnQ4QXJyYXkuaAkod29ya2luZyBjb3B5KQpAQCAtNDMs
OSArNDMsOCBAQCBwdWJsaWM6CiAgICAgLy8gbm90IHJldHVybiB0aGVzZSByZXN1bHRzIGRpcmVj
dGx5IHRvIEphdmFTY3JpcHQgd2l0aG91dCBmaWxsaW5nIGZpcnN0LgogICAgIHN0YXRpYyBpbmxp
bmUgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBjcmVhdGVVbmluaXRpYWxpemVkKHVuc2lnbmVkIGxl
bmd0aCk7CiAKLSAgICAvLyBDYW7igJl0IHVzZSAidXNpbmciIGhlcmUgZHVlIHRvIGEgYnVnIGlu
IHRoZSBSVkNUIGNvbXBpbGVyLgotICAgIGJvb2wgc2V0KFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVk
IGNoYXI+KiBhcnJheSwgdW5zaWduZWQgb2Zmc2V0KSB7IHJldHVybiBUeXBlZEFycmF5QmFzZTx1
bnNpZ25lZCBjaGFyPjo6c2V0KGFycmF5LCBvZmZzZXQpOyB9Ci0gICAgdm9pZCBzZXQodW5zaWdu
ZWQgaW5kZXgsIGRvdWJsZSB2YWx1ZSkgeyBJbnRlZ3JhbFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVk
IGNoYXI+OjpzZXQoaW5kZXgsIHZhbHVlKTsgfQorICAgIHVzaW5nIFR5cGVkQXJyYXlCYXNlPHVu
c2lnbmVkIGNoYXI+OjpzZXQ7CisgICAgdXNpbmcgSW50ZWdyYWxUeXBlZEFycmF5QmFzZTx1bnNp
Z25lZCBjaGFyPjo6c2V0OwogCiAgICAgaW5saW5lIFBhc3NSZWZQdHI8VWludDhBcnJheT4gc3Vi
YXJyYXkoaW50IHN0YXJ0KSBjb25zdDsKICAgICBpbmxpbmUgUGFzc1JlZlB0cjxVaW50OEFycmF5
PiBzdWJhcnJheShpbnQgc3RhcnQsIGludCBlbmQpIGNvbnN0OwpJbmRleDogU291cmNlL1dURi93
dGYvVWludDhDbGFtcGVkQXJyYXkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9VaW50
OENsYW1wZWRBcnJheS5oCShyZXZpc2lvbiAxNDI0MTgpCisrKyBTb3VyY2UvV1RGL3d0Zi9VaW50
OENsYW1wZWRBcnJheS5oCSh3b3JraW5nIGNvcHkpCkBAIC01MCw4ICs1MCw3IEBAIHB1YmxpYzoK
ICAgICAvLyB6ZXJvIHRoZSBhbGxvY2F0ZWQgbWVtb3J5LgogICAgIGlubGluZSB2b2lkIHplcm9G
aWxsKCk7CiAKLSAgICAvLyBDYW7igJl0IHVzZSAidXNpbmciIGhlcmUgZHVlIHRvIGEgYnVnIGlu
IHRoZSBSVkNUIGNvbXBpbGVyLgotICAgIGJvb2wgc2V0KFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVk
IGNoYXI+KiBhcnJheSwgdW5zaWduZWQgb2Zmc2V0KSB7IHJldHVybiBUeXBlZEFycmF5QmFzZTx1
bnNpZ25lZCBjaGFyPjo6c2V0KGFycmF5LCBvZmZzZXQpOyB9CisgICAgdXNpbmcgVHlwZWRBcnJh
eUJhc2U8dW5zaWduZWQgY2hhcj46OnNldDsKICAgICBpbmxpbmUgdm9pZCBzZXQodW5zaWduZWQg
aW5kZXgsIGRvdWJsZSB2YWx1ZSk7CiAKICAgICBpbmxpbmUgUGFzc1JlZlB0cjxVaW50OENsYW1w
ZWRBcnJheT4gc3ViYXJyYXkoaW50IHN0YXJ0KSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XVEYvd3Rm
L1VpbnQxNkFycmF5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvVWludDE2QXJyYXku
aAkocmV2aXNpb24gMTQyNDE4KQorKysgU291cmNlL1dURi93dGYvVWludDE2QXJyYXkuaAkod29y
a2luZyBjb3B5KQpAQCAtNDMsOSArNDMsOCBAQCBwdWJsaWM6CiAgICAgLy8gbm90IHJldHVybiB0
aGVzZSByZXN1bHRzIGRpcmVjdGx5IHRvIEphdmFTY3JpcHQgd2l0aG91dCBmaWxsaW5nIGZpcnN0
LgogICAgIHN0YXRpYyBpbmxpbmUgUGFzc1JlZlB0cjxVaW50MTZBcnJheT4gY3JlYXRlVW5pbml0
aWFsaXplZCh1bnNpZ25lZCBsZW5ndGgpOwogCi0gICAgLy8gQ2Fu4oCZdCB1c2UgInVzaW5nIiBo
ZXJlIGR1ZSB0byBhIGJ1ZyBpbiB0aGUgUlZDVCBjb21waWxlci4KLSAgICBib29sIHNldChUeXBl
ZEFycmF5QmFzZTx1bnNpZ25lZCBzaG9ydD4qIGFycmF5LCB1bnNpZ25lZCBvZmZzZXQpIHsgcmV0
dXJuIFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVkIHNob3J0Pjo6c2V0KGFycmF5LCBvZmZzZXQpOyB9
Ci0gICAgdm9pZCBzZXQodW5zaWduZWQgaW5kZXgsIGRvdWJsZSB2YWx1ZSkgeyBJbnRlZ3JhbFR5
cGVkQXJyYXlCYXNlPHVuc2lnbmVkIHNob3J0Pjo6c2V0KGluZGV4LCB2YWx1ZSk7IH0KKyAgICB1
c2luZyBUeXBlZEFycmF5QmFzZTx1bnNpZ25lZCBzaG9ydD46OnNldDsKKyAgICB1c2luZyBJbnRl
Z3JhbFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVkIHNob3J0Pjo6c2V0OwogCiAgICAgaW5saW5lIFBh
c3NSZWZQdHI8VWludDE2QXJyYXk+IHN1YmFycmF5KGludCBzdGFydCkgY29uc3Q7CiAgICAgaW5s
aW5lIFBhc3NSZWZQdHI8VWludDE2QXJyYXk+IHN1YmFycmF5KGludCBzdGFydCwgaW50IGVuZCkg
Y29uc3Q7CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9VaW50MzJBcnJheS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XVEYvd3RmL1VpbnQzMkFycmF5LmgJKHJldmlzaW9uIDE0MjQxOCkKKysrIFNvdXJj
ZS9XVEYvd3RmL1VpbnQzMkFycmF5LmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDkgKzQzLDggQEAg
cHVibGljOgogICAgIC8vIG5vdCByZXR1cm4gdGhlc2UgcmVzdWx0cyBkaXJlY3RseSB0byBKYXZh
U2NyaXB0IHdpdGhvdXQgZmlsbGluZyBmaXJzdC4KICAgICBzdGF0aWMgaW5saW5lIFBhc3NSZWZQ
dHI8VWludDMyQXJyYXk+IGNyZWF0ZVVuaW5pdGlhbGl6ZWQodW5zaWduZWQgbGVuZ3RoKTsKIAot
ICAgIC8vIENhbuKAmXQgdXNlICJ1c2luZyIgaGVyZSBkdWUgdG8gYSBidWcgaW4gdGhlIFJWQ1Qg
Y29tcGlsZXIuCi0gICAgYm9vbCBzZXQoVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgaW50PiogYXJy
YXksIHVuc2lnbmVkIG9mZnNldCkgeyByZXR1cm4gVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgaW50
Pjo6c2V0KGFycmF5LCBvZmZzZXQpOyB9Ci0gICAgdm9pZCBzZXQodW5zaWduZWQgaW5kZXgsIGRv
dWJsZSB2YWx1ZSkgeyBJbnRlZ3JhbFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVkIGludD46OnNldChp
bmRleCwgdmFsdWUpOyB9CisgICAgdXNpbmcgVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgaW50Pjo6
c2V0OworICAgIHVzaW5nIEludGVncmFsVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgaW50Pjo6c2V0
OwogCiAgICAgaW5saW5lIFBhc3NSZWZQdHI8VWludDMyQXJyYXk+IHN1YmFycmF5KGludCBzdGFy
dCkgY29uc3Q7CiAgICAgaW5saW5lIFBhc3NSZWZQdHI8VWludDMyQXJyYXk+IHN1YmFycmF5KGlu
dCBzdGFydCwgaW50IGVuZCkgY29uc3Q7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187499</attachid>
            <date>2013-02-10 17:43:45 -0800</date>
            <delta_ts>2013-02-15 15:14:09 -0800</delta_ts>
            <desc>fix style</desc>
            <filename>109390.patch</filename>
            <type>text/plain</type>
            <size>20309</size>
            <attacher name="Laszlo Gombos">laszlo.gombos</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNDI0MTgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEzLTAyLTEwICBMYXN6bG8gR29tYm9zICA8bC5n
b21ib3NAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgUmVtb3ZlIHN1cHBvcnQgZm9yIFJWQ1QgdmVy
c2lvbiBsZXNzIHRoYW4gNC4wCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDkzOTAKKworICAgICAgICBUaGUgNC4wIHZlcnNpb24gb2YgdGhlIFJWQ1Qg
Y29tcGlsZXIgd2FzIAorICAgICAgICByZWxlYXNlZCBpbiAyMDA4LiAKKyAgICAgICAgCisgICAg
ICAgIFJlbW92ZSBzdXBwb3J0IGZvciB2ZXJzaW9uIG9sZGVyIHRoZW4gNC4wIG9mIFJWQ1QsIAor
ICAgICAgICBhbmQga2VlcCB0aGUgc3VwcG9ydCBmb3IgbmV3ZXIgUlZDVCB2ZXJzaW9ucy4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdURi5neXBp
OiBSZW1vdmUgU3RyaW5nRXh0cmFzLmNwcC4KKyAgICAgICAgKiBXVEYudmNwcm9qL1dURi52Y3By
b2o6IFJlbW92ZSBTdHJpbmdFeHRyYXMuY3BwLgorICAgICAgICAqIFdURi52Y3hwcm9qL1dURi52
Y3hwcm9qOiBSZW1vdmUgU3RyaW5nRXh0cmFzLmNwcC4KKyAgICAgICAgKiBXVEYudmN4cHJvai9X
VEYudmN4cHJvai5maWx0ZXJzOiBSZW1vdmUgU3RyaW5nRXh0cmFzLmNwcC4KKyAgICAgICAgKiBX
VEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogUmVtb3ZlIFN0cmluZ0V4dHJhcy5jcHAuCisg
ICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OiBSZW1vdmUgU3RyaW5nRXh0cmFzLmNwcC4KKyAg
ICAgICAgKiB3dGYvQ29tcGlsZXIuaDogUmVtb3ZlIHRlc3RzIGZvciBSVkNUX1ZFUlNJT05fQVRf
TEVBU1QoMywgMCwgMCwgMCkuCisgICAgICAgICogd3RmL0Zsb2F0MzJBcnJheS5oOiBSZW1vdmUg
YSBxdWlyayBpbnRyb2R1Y2VkIGZvciBSVkNUIHZlcnNpb24gPD0yLjIgLgorICAgICAgICAqIHd0
Zi9GbG9hdDY0QXJyYXkuaDogRGl0dG8uCisgICAgICAgICogd3RmL0ludDE2QXJyYXkuaDogRGl0
dG8uCisgICAgICAgICogd3RmL0ludDMyQXJyYXkuaDogRGl0dG8uCisgICAgICAgICogd3RmL0lu
dDhBcnJheS5oOiBEaXR0by4KKyAgICAgICAgKiB3dGYvTWF0aEV4dHJhcy5oOiBSZW1vdmUgYSBx
dWlyayBuZWVkZWQgZm9yIFJWQ1QgdmVyc2lvbiAgPD0gMy4wLgorICAgICAgICAqIHd0Zi9QbGF0
Zm9ybS5oOiBSZW1vdmUgdGVzdCBmb3IgUlZDVCA0LjAuIFJlbW92ZSBPUyhSVkNUKS4KKyAgICAg
ICAgKiB3dGYvU3RyaW5nRXh0cmFzLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiB3dGYvU3RyaW5n
RXh0cmFzLmg6IFJlbW92ZSBhIHF1aXJrIGludHJvZHVjZWQgZm9yIFJWQ1QgdmVyc2lvbiA8IDQu
MC4KKyAgICAgICAgKiB3dGYvVWludDE2QXJyYXkuaDogUmVtb3ZlIGEgcXVpcmsgaW50cm9kdWNl
ZCBmb3IgUlZDVCB2ZXJzaW9uIDw9IDIuMi4KKyAgICAgICAgKiB3dGYvVWludDMyQXJyYXkuaDog
RGl0dG8uCisgICAgICAgICogd3RmL1VpbnQ4QXJyYXkuaDogRGl0dG8uCisgICAgICAgICogd3Rm
L1VpbnQ4Q2xhbXBlZEFycmF5Lmg6IERpdHRvLgorCiAyMDEzLTAyLTEwICBMYXN6bG8gR29tYm9z
ICA8bC5nb21ib3NAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgQ29uc29saWRhdGUgdGhlIHdheSBX
VEZfVVNFX1BUSFJFQURTIGlzIGVuYWJsZWQKSW5kZXg6IFNvdXJjZS9XVEYvV1RGLmd5cGkKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dURi9XVEYuZ3lwaQkocmV2aXNpb24gMTQyNDE4KQorKysgU291
cmNlL1dURi9XVEYuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMjAyLDcgKzIwMiw2IEBACiAgICAg
ICAgICAgICAnd3RmL1NlZ21lbnRlZFZlY3Rvci5oJywKICAgICAgICAgICAgICd3dGYvU2l6ZUxp
bWl0cy5jcHAnLAogICAgICAgICAgICAgJ3d0Zi9TdGFja0JvdW5kcy5jcHAnLAotICAgICAgICAg
ICAgJ3d0Zi9TdHJpbmdFeHRyYXMuY3BwJywKICAgICAgICAgICAgICd3dGYvU3RyaW5nUHJpbnRT
dHJlYW0uY3BwJywKICAgICAgICAgICAgICd3dGYvVENQYWNrZWRDYWNoZS5oJywKICAgICAgICAg
ICAgICd3dGYvVENQYWdlTWFwLmgnLApJbmRleDogU291cmNlL1dURi9XVEYudmNwcm9qL1dURi52
Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi9XVEYudmNwcm9qL1dURi52Y3Byb2oJKHJl
dmlzaW9uIDE0MjQxOCkKKysrIFNvdXJjZS9XVEYvV1RGLnZjcHJvai9XVEYudmNwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMjAxLDEwICsxMjAxLDYgQEAKIAkJCT4KIAkJPC9GaWxlPgogCQk8Rmls
ZQotCQkJUmVsYXRpdmVQYXRoPSIuLlx3dGZcU3RyaW5nRXh0cmFzLmNwcCIKLQkJCT4KLQkJPC9G
aWxlPgotCQk8RmlsZQogCQkJUmVsYXRpdmVQYXRoPSIuLlx3dGZcU3RyaW5nRXh0cmFzLmgiCiAJ
CQk+CiAJCTwvRmlsZT4KSW5kZXg6IFNvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2oK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvagkocmV2aXNp
b24gMTQyNDE4KQorKysgU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvagkod29ya2lu
ZyBjb3B5KQpAQCAtNTMsNyArNTMsNiBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3Rm
XFNIQTEuY3BwIiAvPg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHd0ZlxTaXplTGltaXRz
LmNwcCIgLz4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3dGZcU3RhY2tCb3VuZHMuY3Bw
IiAvPg0KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHd0ZlxTdHJpbmdFeHRyYXMuY3BwIiAv
Pg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHd0ZlxTdHJpbmdQcmludFN0cmVhbS5jcHAi
IC8+DQogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cd3RmXFRDU3lzdGVtQWxsb2MuY3BwIiAv
Pg0KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHd0Zlx0ZXh0XEF0b21pY1N0cmluZy5jcHAi
IC8+DQpJbmRleDogU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvai5maWx0ZXJzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvV1RGLnZjeHByb2ovV1RGLnZjeHByb2ouZmlsdGVycwko
cmV2aXNpb24gMTQyNDE4KQorKysgU291cmNlL1dURi9XVEYudmN4cHJvai9XVEYudmN4cHJvai5m
aWx0ZXJzCSh3b3JraW5nIGNvcHkpCkBAIC0xOTUsOSArMTk1LDYgQEAKICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXHd0ZlxTdGFja0JvdW5kcy5jcHAiPg0KICAgICAgIDxGaWx0ZXI+d3RmPC9G
aWx0ZXI+DQogICAgIDwvQ2xDb21waWxlPg0KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHd0
ZlxTdHJpbmdFeHRyYXMuY3BwIj4NCi0gICAgICA8RmlsdGVyPnd0ZjwvRmlsdGVyPg0KLSAgICA8
L0NsQ29tcGlsZT4NCiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlx3dGZcU3RyaW5nUHJpbnRT
dHJlYW0uY3BwIj4NCiAgICAgICA8RmlsdGVyPnd0ZjwvRmlsdGVyPg0KICAgICA8L0NsQ29tcGls
ZT4NCkluZGV4OiBTb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlz
aW9uIDE0MjQxOCkKKysrIFNvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJ
KHdvcmtpbmcgY29weSkKQEAgLTIyNCw3ICsyMjQsNiBAQAogCQlBOEE0NzQyODE1MUE4MjVCMDA0
MTIzRkYgLyogU3RhY2tCb3VuZHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE4QTQ3MzBGMTUxQTgyNUIwMDQxMjNGRiAvKiBTdGFja0JvdW5kcy5oICov
OyB9OwogCQlBOEE0NzQyOTE1MUE4MjVCMDA0MTIzRkYgLyogU3RhdGljQ29uc3RydWN0b3JzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEE0NzMxMDE1
MUE4MjVCMDA0MTIzRkYgLyogU3RhdGljQ29uc3RydWN0b3JzLmggKi87IH07CiAJCUE4QTQ3NDJB
MTUxQTgyNUIwMDQxMjNGRiAvKiBTdGRMaWJFeHRyYXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4QTQ3MzExMTUxQTgyNUIwMDQxMjNGRiAvKiBTdGRM
aWJFeHRyYXMuaCAqLzsgfTsKLQkJQThBNDc0MkIxNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ0V4
dHJhcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
OEE0NzMxMjE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5nRXh0cmFzLmNwcCAqLzsgfTsKIAkJQThB
NDc0MkMxNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ0V4dHJhcy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThBNDczMTMxNTFBODI1QjAwNDEyM0ZGIC8q
IFN0cmluZ0V4dHJhcy5oICovOyB9OwogCQlBOEE0NzQyRDE1MUE4MjVCMDA0MTIzRkYgLyogU3Ry
aW5nSGFzaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBOEE0NzMxNDE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5nSGFzaGVyLmggKi87IH07CiAJCUE4
QTQ3NDJFMTUxQTgyNUIwMDQxMjNGRiAvKiBUQ1BhY2tlZENhY2hlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBOEE0NzMxNTE1MUE4MjVCMDA0MTIzRkYg
LyogVENQYWNrZWRDYWNoZS5oICovOyB9OwpAQCAtNTM2LDcgKzUzNSw2IEBACiAJCUE4QTQ3MzBG
MTUxQTgyNUIwMDQxMjNGRiAvKiBTdGFja0JvdW5kcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTdGFja0JvdW5kcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlB
OEE0NzMxMDE1MUE4MjVCMDA0MTIzRkYgLyogU3RhdGljQ29uc3RydWN0b3JzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0YXRpY0NvbnN0cnVjdG9ycy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBOEE0NzMxMTE1MUE4MjVCMDA0MTIzRkYgLyogU3RkTGliRXh0
cmFzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0ZExpYkV4dHJhcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlBOEE0NzMxMjE1MUE4MjVCMDA0MTIzRkYgLyog
U3RyaW5nRXh0cmFzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0
cmluZ0V4dHJhcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4QTQ3MzEzMTUx
QTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdFeHRyYXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gU3RyaW5nRXh0cmFzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4
QTQ3MzE0MTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdIYXNoZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU3RyaW5nSGFzaGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUE4QTQ3MzE1MTUxQTgyNUIwMDQxMjNGRiAvKiBUQ1BhY2tlZENhY2hlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRDUGFja2VkQ2FjaGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTg0Niw3ICs4NDQsNiBAQAogCQkJCUE4QTQ3MzEwMTUxQTgyNUIw
MDQxMjNGRiAvKiBTdGF0aWNDb25zdHJ1Y3RvcnMuaCAqLywKIAkJCQlBOEE0NzMxMTE1MUE4MjVC
MDA0MTIzRkYgLyogU3RkTGliRXh0cmFzLmggKi8sCiAJCQkJMUE2QkI3NjgxNjJGMzAwNTAwREQx
NkRCIC8qIFN0cmVhbUJ1ZmZlci5oICovLAotCQkJCUE4QTQ3MzEyMTUxQTgyNUIwMDQxMjNGRiAv
KiBTdHJpbmdFeHRyYXMuY3BwICovLAogCQkJCUE4QTQ3MzEzMTUxQTgyNUIwMDQxMjNGRiAvKiBT
dHJpbmdFeHRyYXMuaCAqLywKIAkJCQlBOEE0NzMxNDE1MUE4MjVCMDA0MTIzRkYgLyogU3RyaW5n
SGFzaGVyLmggKi8sCiAJCQkJMEZEREJGQTUxNjY2REZBMzAwQzU1RkVGIC8qIFN0cmluZ1ByaW50
U3RyZWFtLmNwcCAqLywKQEAgLTEzODIsNyArMTM3OSw2IEBACiAJCQkJQThBNDc0MjcxNTFBODI1
QjAwNDEyM0ZGIC8qIFN0YWNrQm91bmRzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZFREFDRDNE
MTYzMEY4M0YwMEM2OTYzNCAvKiBTdGFja1N0YXRzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4
QTQ3NDNDMTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICov
LAotCQkJCUE4QTQ3NDJCMTUxQTgyNUIwMDQxMjNGRiAvKiBTdHJpbmdFeHRyYXMuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQThBNDc0NDAxNTFBODI1QjAwNDEyM0ZGIC8qIFN0cmluZ0ltcGwuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEZEREJGQTcxNjY2REZBMzAwQzU1RkVGIC8qIFN0cmluZ1By
aW50U3RyZWFtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3NDQzMTUxQTgyNUIwMDQxMjNG
RiAvKiBTdHJpbmdTdGF0aWNzLmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogU291cmNlL1dURi93
dGYvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvQ01ha2VMaXN0
cy50eHQJKHJldmlzaW9uIDE0MjQxOCkKKysrIFNvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xODUsNyArMTg1LDYgQEAgc2V0KFdURl9TT1VSQ0VTCiAgICAg
UmVmQ291bnRlZExlYWtDb3VudGVyLmNwcAogICAgIFNIQTEuY3BwCiAgICAgU3RhY2tCb3VuZHMu
Y3BwCi0gICAgU3RyaW5nRXh0cmFzLmNwcAogICAgIFN0cmluZ1ByaW50U3RyZWFtLmNwcAogICAg
IFRocmVhZGluZy5jcHAKICAgICBUeXBlVHJhaXRzLmNwcApJbmRleDogU291cmNlL1dURi93dGYv
Q29tcGlsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCShyZXZp
c2lvbiAxNDI0MTgpCisrKyBTb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCSh3b3JraW5nIGNvcHkp
CkBAIC05NCw3ICs5NCw2IEBACiAjZW5kaWYKIAogLyogQ09NUElMRVIoUlZDVCkgLSBBUk0gUmVh
bFZpZXcgQ29tcGlsYXRpb24gVG9vbHMgKi8KLS8qIENPTVBJTEVSKFJWQ1Q0X09SX0dSRUFURVIp
IC0gQVJNIFJlYWxWaWV3IENvbXBpbGF0aW9uIFRvb2xzIDQuMCBvciBncmVhdGVyICovCiAjaWYg
ZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX18pCiAjZGVmaW5lIFdURl9DT01Q
SUxFUl9SVkNUIDEKICNkZWZpbmUgUlZDVF9WRVJTSU9OX0FUX0xFQVNUKG1ham9yLCBtaW5vciwg
cGF0Y2gsIGJ1aWxkKSAoX19BUk1DQ19WRVJTSU9OID49IChtYWpvciAqIDEwMDAwMCArIG1pbm9y
ICogMTAwMDAgKyBwYXRjaCAqIDEwMDAgKyBidWlsZCkpCkBAIC0xODksNyArMTg4LDcgQEAKIC8q
IFVOTElLRUxZICovCiAKICNpZm5kZWYgVU5MSUtFTFkKLSNpZiBDT01QSUxFUihHQ0MpIHx8IChS
VkNUX1ZFUlNJT05fQVRfTEVBU1QoMywgMCwgMCwgMCkgJiYgZGVmaW5lZChfX0dOVUNfXykpCisj
aWYgQ09NUElMRVIoR0NDKSB8fCAoQ09NUElMRVIoUlZDVCkgJiYgZGVmaW5lZChfX0dOVUNfXykp
CiAjZGVmaW5lIFVOTElLRUxZKHgpIF9fYnVpbHRpbl9leHBlY3QoKHgpLCAwKQogI2Vsc2UKICNk
ZWZpbmUgVU5MSUtFTFkoeCkgKHgpCkBAIC0yMDAsNyArMTk5LDcgQEAKIC8qIExJS0VMWSAqLwog
CiAjaWZuZGVmIExJS0VMWQotI2lmIENPTVBJTEVSKEdDQykgfHwgKFJWQ1RfVkVSU0lPTl9BVF9M
RUFTVCgzLCAwLCAwLCAwKSAmJiBkZWZpbmVkKF9fR05VQ19fKSkKKyNpZiBDT01QSUxFUihHQ0Mp
IHx8IChDT01QSUxFUihSVkNUKSAmJiBkZWZpbmVkKF9fR05VQ19fKSkKICNkZWZpbmUgTElLRUxZ
KHgpIF9fYnVpbHRpbl9leHBlY3QoKHgpLCAxKQogI2Vsc2UKICNkZWZpbmUgTElLRUxZKHgpICh4
KQpJbmRleDogU291cmNlL1dURi93dGYvRmxvYXQzMkFycmF5LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dURi93dGYvRmxvYXQzMkFycmF5LmgJKHJldmlzaW9uIDE0MjQxOCkKKysrIFNvdXJjZS9X
VEYvd3RmL0Zsb2F0MzJBcnJheS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw4ICs0Miw3IEBAIHB1
YmxpYzoKICAgICAvLyBub3QgcmV0dXJuIHRoZXNlIHJlc3VsdHMgZGlyZWN0bHkgdG8gSmF2YVNj
cmlwdCB3aXRob3V0IGZpbGxpbmcgZmlyc3QuCiAgICAgc3RhdGljIGlubGluZSBQYXNzUmVmUHRy
PEZsb2F0MzJBcnJheT4gY3JlYXRlVW5pbml0aWFsaXplZCh1bnNpZ25lZCBsZW5ndGgpOwogCi0g
ICAgLy8gQ2Fu4oCZdCB1c2UgInVzaW5nIiBoZXJlIGR1ZSB0byBhIGJ1ZyBpbiB0aGUgUlZDVCBj
b21waWxlci4KLSAgICBib29sIHNldChUeXBlZEFycmF5QmFzZTxmbG9hdD4qIGFycmF5LCB1bnNp
Z25lZCBvZmZzZXQpIHsgcmV0dXJuIFR5cGVkQXJyYXlCYXNlPGZsb2F0Pjo6c2V0KGFycmF5LCBv
ZmZzZXQpOyB9CisgICAgdXNpbmcgVHlwZWRBcnJheUJhc2U8ZmxvYXQ+OjpzZXQ7CiAKICAgICB2
b2lkIHNldCh1bnNpZ25lZCBpbmRleCwgZG91YmxlIHZhbHVlKQogICAgIHsKSW5kZXg6IFNvdXJj
ZS9XVEYvd3RmL0Zsb2F0NjRBcnJheS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL0Zs
b2F0NjRBcnJheS5oCShyZXZpc2lvbiAxNDI0MTgpCisrKyBTb3VyY2UvV1RGL3d0Zi9GbG9hdDY0
QXJyYXkuaAkod29ya2luZyBjb3B5KQpAQCAtNDIsOCArNDIsNyBAQCBwdWJsaWM6CiAgICAgLy8g
bm90IHJldHVybiB0aGVzZSByZXN1bHRzIGRpcmVjdGx5IHRvIEphdmFTY3JpcHQgd2l0aG91dCBm
aWxsaW5nIGZpcnN0LgogICAgIHN0YXRpYyBpbmxpbmUgUGFzc1JlZlB0cjxGbG9hdDY0QXJyYXk+
IGNyZWF0ZVVuaW5pdGlhbGl6ZWQodW5zaWduZWQgbGVuZ3RoKTsKIAotICAgIC8vIENhbuKAmXQg
dXNlICJ1c2luZyIgaGVyZSBkdWUgdG8gYSBidWcgaW4gdGhlIFJWQ1QgY29tcGlsZXIuCi0gICAg
Ym9vbCBzZXQoVHlwZWRBcnJheUJhc2U8ZG91YmxlPiogYXJyYXksIHVuc2lnbmVkIG9mZnNldCkg
eyByZXR1cm4gVHlwZWRBcnJheUJhc2U8ZG91YmxlPjo6c2V0KGFycmF5LCBvZmZzZXQpOyB9Cisg
ICAgdXNpbmcgVHlwZWRBcnJheUJhc2U8ZG91YmxlPjo6c2V0OwogCiAgICAgdm9pZCBzZXQodW5z
aWduZWQgaW5kZXgsIGRvdWJsZSB2YWx1ZSkKICAgICB7CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9J
bnQ4QXJyYXkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9JbnQ4QXJyYXkuaAkocmV2
aXNpb24gMTQyNDE4KQorKysgU291cmNlL1dURi93dGYvSW50OEFycmF5LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQzLDkgKzQzLDggQEAgcHVibGljOgogICAgIC8vIG5vdCByZXR1cm4gdGhlc2UgcmVz
dWx0cyBkaXJlY3RseSB0byBKYXZhU2NyaXB0IHdpdGhvdXQgZmlsbGluZyBmaXJzdC4KICAgICBz
dGF0aWMgaW5saW5lIFBhc3NSZWZQdHI8SW50OEFycmF5PiBjcmVhdGVVbmluaXRpYWxpemVkKHVu
c2lnbmVkIGxlbmd0aCk7CiAKLSAgICAvLyBDYW7igJl0IHVzZSAidXNpbmciIGhlcmUgZHVlIHRv
IGEgYnVnIGluIHRoZSBSVkNUIGNvbXBpbGVyLgotICAgIGJvb2wgc2V0KFR5cGVkQXJyYXlCYXNl
PHNpZ25lZCBjaGFyPiogYXJyYXksIHVuc2lnbmVkIG9mZnNldCkgeyByZXR1cm4gVHlwZWRBcnJh
eUJhc2U8c2lnbmVkIGNoYXI+OjpzZXQoYXJyYXksIG9mZnNldCk7IH0KLSAgICB2b2lkIHNldCh1
bnNpZ25lZCBpbmRleCwgZG91YmxlIHZhbHVlKSB7IEludGVncmFsVHlwZWRBcnJheUJhc2U8c2ln
bmVkIGNoYXI+OjpzZXQoaW5kZXgsIHZhbHVlKTsgfQorICAgIHVzaW5nIFR5cGVkQXJyYXlCYXNl
PHNpZ25lZCBjaGFyPjo6c2V0OworICAgIHVzaW5nIEludGVncmFsVHlwZWRBcnJheUJhc2U8c2ln
bmVkIGNoYXI+OjpzZXQ7CiAKICAgICBpbmxpbmUgUGFzc1JlZlB0cjxJbnQ4QXJyYXk+IHN1YmFy
cmF5KGludCBzdGFydCkgY29uc3Q7CiAgICAgaW5saW5lIFBhc3NSZWZQdHI8SW50OEFycmF5PiBz
dWJhcnJheShpbnQgc3RhcnQsIGludCBlbmQpIGNvbnN0OwpJbmRleDogU291cmNlL1dURi93dGYv
SW50MTZBcnJheS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL0ludDE2QXJyYXkuaAko
cmV2aXNpb24gMTQyNDE4KQorKysgU291cmNlL1dURi93dGYvSW50MTZBcnJheS5oCSh3b3JraW5n
IGNvcHkpCkBAIC00Miw5ICs0Miw4IEBAIHB1YmxpYzoKICAgICAvLyBub3QgcmV0dXJuIHRoZXNl
IHJlc3VsdHMgZGlyZWN0bHkgdG8gSmF2YVNjcmlwdCB3aXRob3V0IGZpbGxpbmcgZmlyc3QuCiAg
ICAgc3RhdGljIGlubGluZSBQYXNzUmVmUHRyPEludDE2QXJyYXk+IGNyZWF0ZVVuaW5pdGlhbGl6
ZWQodW5zaWduZWQgbGVuZ3RoKTsKIAotICAgIC8vIENhbuKAmXQgdXNlICJ1c2luZyIgaGVyZSBk
dWUgdG8gYSBidWcgaW4gdGhlIFJWQ1QgY29tcGlsZXIuCi0gICAgYm9vbCBzZXQoVHlwZWRBcnJh
eUJhc2U8c2hvcnQ+KiBhcnJheSwgdW5zaWduZWQgb2Zmc2V0KSB7IHJldHVybiBUeXBlZEFycmF5
QmFzZTxzaG9ydD46OnNldChhcnJheSwgb2Zmc2V0KTsgfQotICAgIHZvaWQgc2V0KHVuc2lnbmVk
IGluZGV4LCBkb3VibGUgdmFsdWUpIHsgSW50ZWdyYWxUeXBlZEFycmF5QmFzZTxzaG9ydD46OnNl
dChpbmRleCwgdmFsdWUpOyB9CisgICAgdXNpbmcgVHlwZWRBcnJheUJhc2U8c2hvcnQ+OjpzZXQ7
CisgICAgdXNpbmcgSW50ZWdyYWxUeXBlZEFycmF5QmFzZTxzaG9ydD46OnNldDsKIAogICAgIGlu
bGluZSBQYXNzUmVmUHRyPEludDE2QXJyYXk+IHN1YmFycmF5KGludCBzdGFydCkgY29uc3Q7CiAg
ICAgaW5saW5lIFBhc3NSZWZQdHI8SW50MTZBcnJheT4gc3ViYXJyYXkoaW50IHN0YXJ0LCBpbnQg
ZW5kKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL0ludDMyQXJyYXkuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV1RGL3d0Zi9JbnQzMkFycmF5LmgJKHJldmlzaW9uIDE0MjQxOCkKKysrIFNv
dXJjZS9XVEYvd3RmL0ludDMyQXJyYXkuaAkod29ya2luZyBjb3B5KQpAQCAtNDEsOSArNDEsOCBA
QCBwdWJsaWM6CiAgICAgLy8gbm90IHJldHVybiB0aGVzZSByZXN1bHRzIGRpcmVjdGx5IHRvIEph
dmFTY3JpcHQgd2l0aG91dCBmaWxsaW5nIGZpcnN0LgogICAgIHN0YXRpYyBpbmxpbmUgUGFzc1Jl
ZlB0cjxJbnQzMkFycmF5PiBjcmVhdGVVbmluaXRpYWxpemVkKHVuc2lnbmVkIGxlbmd0aCk7CiAK
LSAgICAvLyBDYW7igJl0IHVzZSAidXNpbmciIGhlcmUgZHVlIHRvIGEgYnVnIGluIHRoZSBSVkNU
IGNvbXBpbGVyLgotICAgIGJvb2wgc2V0KFR5cGVkQXJyYXlCYXNlPGludD4qIGFycmF5LCB1bnNp
Z25lZCBvZmZzZXQpIHsgcmV0dXJuIFR5cGVkQXJyYXlCYXNlPGludD46OnNldChhcnJheSwgb2Zm
c2V0KTsgfQotICAgIHZvaWQgc2V0KHVuc2lnbmVkIGluZGV4LCBkb3VibGUgdmFsdWUpIHsgSW50
ZWdyYWxUeXBlZEFycmF5QmFzZTxpbnQ+OjpzZXQoaW5kZXgsIHZhbHVlKTsgfQorICAgIHVzaW5n
IFR5cGVkQXJyYXlCYXNlPGludD46OnNldDsKKyAgICB1c2luZyBJbnRlZ3JhbFR5cGVkQXJyYXlC
YXNlPGludD46OnNldDsKIAogICAgIGlubGluZSBQYXNzUmVmUHRyPEludDMyQXJyYXk+IHN1YmFy
cmF5KGludCBzdGFydCkgY29uc3Q7CiAgICAgaW5saW5lIFBhc3NSZWZQdHI8SW50MzJBcnJheT4g
c3ViYXJyYXkoaW50IHN0YXJ0LCBpbnQgZW5kKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XVEYvd3Rm
L01hdGhFeHRyYXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9NYXRoRXh0cmFzLmgJ
KHJldmlzaW9uIDE0MjQxOCkKKysrIFNvdXJjZS9XVEYvd3RmL01hdGhFeHRyYXMuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTA4LDcgKzEwOCw3IEBAIGlubGluZSBib29sIHNpZ25iaXQoZG91YmxlIHgp
IHsgc3RydWN0IGkKIAogI2VuZGlmCiAKLSNpZiBDT01QSUxFUihNU1ZDKSB8fCAoQ09NUElMRVIo
UlZDVCkgJiYgIShSVkNUX1ZFUlNJT05fQVRfTEVBU1QoMywgMCwgMCwgMCkpKQorI2lmIENPTVBJ
TEVSKE1TVkMpCiAKIC8vIFdlIG11c3Qgbm90IGRvICdudW0gKyAwLjUnIG9yICdudW0gLSAwLjUn
IGJlY2F1c2UgdGhleSBjYW4gY2F1c2UgcHJlY2lzaW9uIGxvc3MuCiBzdGF0aWMgZG91YmxlIHJv
dW5kKGRvdWJsZSBudW0pCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgJKHJldmlzaW9uIDE0MjQxOCkKKysrIFNv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTcwMSw5ICs3MDEsNyBA
QAogI2VuZGlmCiAjZW5kaWYKIAotI2lmICFPUyhXSU5ET1dTKSAmJiAhT1MoU09MQVJJUykgXAot
ICAgICYmICFPUyhSVkNUKSBcCi0gICAgJiYgIU9TKEFORFJPSUQpCisjaWYgIU9TKFdJTkRPV1Mp
ICYmICFPUyhTT0xBUklTKSAmJiAhT1MoQU5EUk9JRCkKICNkZWZpbmUgSEFWRV9UTV9HTVRPRkYg
MQogI2RlZmluZSBIQVZFX1RNX1pPTkUgMQogI2RlZmluZSBIQVZFX1RJTUVHTSAxCkBAIC05NjMs
NyArOTYxLDcgQEAKICNlbmRpZgogCiAvKiBDb25maWd1cmUgdGhlIGludGVycHJldGVyICovCi0j
aWYgQ09NUElMRVIoR0NDKSB8fCAoUlZDVF9WRVJTSU9OX0FUX0xFQVNUKDQsIDAsIDAsIDApICYm
IGRlZmluZWQoX19HTlVDX18pKQorI2lmIENPTVBJTEVSKEdDQykgfHwgKENPTVBJTEVSKFJWQ1Qp
ICYmIGRlZmluZWQoX19HTlVDX18pKQogI2RlZmluZSBIQVZFX0NPTVBVVEVEX0dPVE8gMQogI2Vu
ZGlmCiAKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1N0cmluZ0V4dHJhcy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dURi93dGYvU3RyaW5nRXh0cmFzLmNwcAkocmV2aXNpb24gMTQyNDE4KQorKysg
U291cmNlL1dURi93dGYvU3RyaW5nRXh0cmFzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw2MiAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5IENvbXBhbnkgMTAwLCBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
LSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIENPTVBJ
TEVSKFJWQ1QpICYmIF9fQVJNQ0NfVkVSU0lPTiA8IDQwMDAwMAotCi0jaW5jbHVkZSAiU3RyaW5n
RXh0cmFzLmgiCi0KLSNpbmNsdWRlICJBU0NJSUNUeXBlLmgiCi0KLWludCBzdHJjYXNlY21wKGNv
bnN0IGNoYXIqIHMxLCBjb25zdCBjaGFyKiBzMikKLXsKLSAgICB3aGlsZSAodG9BU0NJSVVwcGVy
KCpzMSkgPT0gdG9BU0NJSVVwcGVyKCpzMikpIHsKLSAgICAgICAgaWYgKCpzMSA9PSAnXDAnKQot
ICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIHMxKys7Ci0gICAgICAgIHMyKys7Ci0gICAg
fQotCi0gICAgcmV0dXJuIHRvQVNDSUlVcHBlcigqczEpIC0gdG9BU0NJSVVwcGVyKCpzMik7Ci19
Ci0KLWludCBzdHJuY2FzZWNtcChjb25zdCBjaGFyKiBzMSwgY29uc3QgY2hhciogczIsIHNpemVf
dCBsZW4pCi17Ci0gICAgd2hpbGUgKGxlbiA+IDAgJiYgdG9BU0NJSVVwcGVyKCpzMSkgPT0gdG9B
U0NJSVVwcGVyKCpzMikpIHsKLSAgICAgICAgaWYgKCpzMSA9PSAnXDAnKQotICAgICAgICAgICAg
cmV0dXJuIDA7Ci0gICAgICAgIHMxKys7Ci0gICAgICAgIHMyKys7Ci0gICAgICAgIGxlbi0tOwot
ICAgIH0KLQotICAgIGlmICghbGVuKQotICAgICAgICByZXR1cm4gMDsKLQotICAgIHJldHVybiB0
b0FTQ0lJVXBwZXIoKnMxKSAtIHRvQVNDSUlVcHBlcigqczIpOwotfQotCi0jZW5kaWYKSW5kZXg6
IFNvdXJjZS9XVEYvd3RmL1N0cmluZ0V4dHJhcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYv
d3RmL1N0cmluZ0V4dHJhcy5oCShyZXZpc2lvbiAxNDI0MTgpCisrKyBTb3VyY2UvV1RGL3d0Zi9T
dHJpbmdFeHRyYXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTE2LDExICsxMTYsNCBAQCBpbmxpbmUg
Y2hhciogc3RybnN0cihjb25zdCBjaGFyKiBidWZmZXIsCiAKICNlbmRpZgogCi0jaWYgQ09NUElM
RVIoUlZDVCkgJiYgX19BUk1DQ19WRVJTSU9OIDwgNDAwMDAwCi0KLWludCBzdHJjYXNlY21wKGNv
bnN0IGNoYXIqIHMxLCBjb25zdCBjaGFyKiBzMik7Ci1pbnQgc3RybmNhc2VjbXAoY29uc3QgY2hh
ciogczEsIGNvbnN0IGNoYXIqIHMyLCBzaXplX3QgbGVuKTsKLQotI2VuZGlmCi0KICNlbmRpZiAv
LyBXVEZfU3RyaW5nRXh0cmFzX2gKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1VpbnQ4QXJyYXkuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9VaW50OEFycmF5LmgJKHJldmlzaW9uIDE0MjQx
OCkKKysrIFNvdXJjZS9XVEYvd3RmL1VpbnQ4QXJyYXkuaAkod29ya2luZyBjb3B5KQpAQCAtNDMs
OSArNDMsOCBAQCBwdWJsaWM6CiAgICAgLy8gbm90IHJldHVybiB0aGVzZSByZXN1bHRzIGRpcmVj
dGx5IHRvIEphdmFTY3JpcHQgd2l0aG91dCBmaWxsaW5nIGZpcnN0LgogICAgIHN0YXRpYyBpbmxp
bmUgUGFzc1JlZlB0cjxVaW50OEFycmF5PiBjcmVhdGVVbmluaXRpYWxpemVkKHVuc2lnbmVkIGxl
bmd0aCk7CiAKLSAgICAvLyBDYW7igJl0IHVzZSAidXNpbmciIGhlcmUgZHVlIHRvIGEgYnVnIGlu
IHRoZSBSVkNUIGNvbXBpbGVyLgotICAgIGJvb2wgc2V0KFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVk
IGNoYXI+KiBhcnJheSwgdW5zaWduZWQgb2Zmc2V0KSB7IHJldHVybiBUeXBlZEFycmF5QmFzZTx1
bnNpZ25lZCBjaGFyPjo6c2V0KGFycmF5LCBvZmZzZXQpOyB9Ci0gICAgdm9pZCBzZXQodW5zaWdu
ZWQgaW5kZXgsIGRvdWJsZSB2YWx1ZSkgeyBJbnRlZ3JhbFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVk
IGNoYXI+OjpzZXQoaW5kZXgsIHZhbHVlKTsgfQorICAgIHVzaW5nIFR5cGVkQXJyYXlCYXNlPHVu
c2lnbmVkIGNoYXI+OjpzZXQ7CisgICAgdXNpbmcgSW50ZWdyYWxUeXBlZEFycmF5QmFzZTx1bnNp
Z25lZCBjaGFyPjo6c2V0OwogCiAgICAgaW5saW5lIFBhc3NSZWZQdHI8VWludDhBcnJheT4gc3Vi
YXJyYXkoaW50IHN0YXJ0KSBjb25zdDsKICAgICBpbmxpbmUgUGFzc1JlZlB0cjxVaW50OEFycmF5
PiBzdWJhcnJheShpbnQgc3RhcnQsIGludCBlbmQpIGNvbnN0OwpJbmRleDogU291cmNlL1dURi93
dGYvVWludDhDbGFtcGVkQXJyYXkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9VaW50
OENsYW1wZWRBcnJheS5oCShyZXZpc2lvbiAxNDI0MTgpCisrKyBTb3VyY2UvV1RGL3d0Zi9VaW50
OENsYW1wZWRBcnJheS5oCSh3b3JraW5nIGNvcHkpCkBAIC01MCw4ICs1MCw3IEBAIHB1YmxpYzoK
ICAgICAvLyB6ZXJvIHRoZSBhbGxvY2F0ZWQgbWVtb3J5LgogICAgIGlubGluZSB2b2lkIHplcm9G
aWxsKCk7CiAKLSAgICAvLyBDYW7igJl0IHVzZSAidXNpbmciIGhlcmUgZHVlIHRvIGEgYnVnIGlu
IHRoZSBSVkNUIGNvbXBpbGVyLgotICAgIGJvb2wgc2V0KFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVk
IGNoYXI+KiBhcnJheSwgdW5zaWduZWQgb2Zmc2V0KSB7IHJldHVybiBUeXBlZEFycmF5QmFzZTx1
bnNpZ25lZCBjaGFyPjo6c2V0KGFycmF5LCBvZmZzZXQpOyB9CisgICAgdXNpbmcgVHlwZWRBcnJh
eUJhc2U8dW5zaWduZWQgY2hhcj46OnNldDsKICAgICBpbmxpbmUgdm9pZCBzZXQodW5zaWduZWQg
aW5kZXgsIGRvdWJsZSB2YWx1ZSk7CiAKICAgICBpbmxpbmUgUGFzc1JlZlB0cjxVaW50OENsYW1w
ZWRBcnJheT4gc3ViYXJyYXkoaW50IHN0YXJ0KSBjb25zdDsKSW5kZXg6IFNvdXJjZS9XVEYvd3Rm
L1VpbnQxNkFycmF5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvVWludDE2QXJyYXku
aAkocmV2aXNpb24gMTQyNDE4KQorKysgU291cmNlL1dURi93dGYvVWludDE2QXJyYXkuaAkod29y
a2luZyBjb3B5KQpAQCAtNDMsOSArNDMsOCBAQCBwdWJsaWM6CiAgICAgLy8gbm90IHJldHVybiB0
aGVzZSByZXN1bHRzIGRpcmVjdGx5IHRvIEphdmFTY3JpcHQgd2l0aG91dCBmaWxsaW5nIGZpcnN0
LgogICAgIHN0YXRpYyBpbmxpbmUgUGFzc1JlZlB0cjxVaW50MTZBcnJheT4gY3JlYXRlVW5pbml0
aWFsaXplZCh1bnNpZ25lZCBsZW5ndGgpOwogCi0gICAgLy8gQ2Fu4oCZdCB1c2UgInVzaW5nIiBo
ZXJlIGR1ZSB0byBhIGJ1ZyBpbiB0aGUgUlZDVCBjb21waWxlci4KLSAgICBib29sIHNldChUeXBl
ZEFycmF5QmFzZTx1bnNpZ25lZCBzaG9ydD4qIGFycmF5LCB1bnNpZ25lZCBvZmZzZXQpIHsgcmV0
dXJuIFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVkIHNob3J0Pjo6c2V0KGFycmF5LCBvZmZzZXQpOyB9
Ci0gICAgdm9pZCBzZXQodW5zaWduZWQgaW5kZXgsIGRvdWJsZSB2YWx1ZSkgeyBJbnRlZ3JhbFR5
cGVkQXJyYXlCYXNlPHVuc2lnbmVkIHNob3J0Pjo6c2V0KGluZGV4LCB2YWx1ZSk7IH0KKyAgICB1
c2luZyBUeXBlZEFycmF5QmFzZTx1bnNpZ25lZCBzaG9ydD46OnNldDsKKyAgICB1c2luZyBJbnRl
Z3JhbFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVkIHNob3J0Pjo6c2V0OwogCiAgICAgaW5saW5lIFBh
c3NSZWZQdHI8VWludDE2QXJyYXk+IHN1YmFycmF5KGludCBzdGFydCkgY29uc3Q7CiAgICAgaW5s
aW5lIFBhc3NSZWZQdHI8VWludDE2QXJyYXk+IHN1YmFycmF5KGludCBzdGFydCwgaW50IGVuZCkg
Y29uc3Q7CkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9VaW50MzJBcnJheS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XVEYvd3RmL1VpbnQzMkFycmF5LmgJKHJldmlzaW9uIDE0MjQxOCkKKysrIFNvdXJj
ZS9XVEYvd3RmL1VpbnQzMkFycmF5LmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDkgKzQzLDggQEAg
cHVibGljOgogICAgIC8vIG5vdCByZXR1cm4gdGhlc2UgcmVzdWx0cyBkaXJlY3RseSB0byBKYXZh
U2NyaXB0IHdpdGhvdXQgZmlsbGluZyBmaXJzdC4KICAgICBzdGF0aWMgaW5saW5lIFBhc3NSZWZQ
dHI8VWludDMyQXJyYXk+IGNyZWF0ZVVuaW5pdGlhbGl6ZWQodW5zaWduZWQgbGVuZ3RoKTsKIAot
ICAgIC8vIENhbuKAmXQgdXNlICJ1c2luZyIgaGVyZSBkdWUgdG8gYSBidWcgaW4gdGhlIFJWQ1Qg
Y29tcGlsZXIuCi0gICAgYm9vbCBzZXQoVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgaW50PiogYXJy
YXksIHVuc2lnbmVkIG9mZnNldCkgeyByZXR1cm4gVHlwZWRBcnJheUJhc2U8dW5zaWduZWQgaW50
Pjo6c2V0KGFycmF5LCBvZmZzZXQpOyB9Ci0gICAgdm9pZCBzZXQodW5zaWduZWQgaW5kZXgsIGRv
dWJsZSB2YWx1ZSkgeyBJbnRlZ3JhbFR5cGVkQXJyYXlCYXNlPHVuc2lnbmVkIGludD46OnNldChp
bmRleCwgdmFsdWUpOyB9CisgICAgdXNpbmcgVHlwZWRBcnJheUJhc2U8dW5zaWduZWQ+OjpzZXQ7
CisgICAgdXNpbmcgSW50ZWdyYWxUeXBlZEFycmF5QmFzZTx1bnNpZ25lZD46OnNldDsKIAogICAg
IGlubGluZSBQYXNzUmVmUHRyPFVpbnQzMkFycmF5PiBzdWJhcnJheShpbnQgc3RhcnQpIGNvbnN0
OwogICAgIGlubGluZSBQYXNzUmVmUHRyPFVpbnQzMkFycmF5PiBzdWJhcnJheShpbnQgc3RhcnQs
IGludCBlbmQpIGNvbnN0Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>