<?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>175441</bug_id>
          
          <creation_ts>2017-08-10 13:54:02 -0700</creation_ts>
          <short_desc>Rename the source files for the WTF persistent coders</short_desc>
          <delta_ts>2017-08-10 20:15:39 -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>Web Template Framework</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=174541</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>aestes</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1337574</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-08-10 13:54:02 -0700</bug_when>
    <thetext>Make Persistence::Encoder and Persistence::Decoder appropriate for in-memory encoding

I&apos;ll be needed an in-memory only encoder/decoder in WebCore soon and these classes *almost* hit the mark.
The reason they don&apos;t quite hit the mark is the SHA1 functionality with is expensive and unnecessary for bits we&apos;re not going to store on disk.

I plan to split out a base class that skips the SHA1&apos;ing but keeps all of the same great template infrastructure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337707</commentid>
    <comment_count>1</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-08-10 16:58:21 -0700</bug_when>
    <thetext>Retitle:

Make the WTF Encoder/Decoders appropriate for in-memory encoding (Don&apos;t always do the SHA1 checksumming)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337718</commentid>
    <comment_count>2</comment_count>
      <attachid>317889</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-08-10 17:05:44 -0700</bug_when>
    <thetext>Created attachment 317889
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337726</commentid>
    <comment_count>3</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-10 17:08:20 -0700</bug_when>
    <thetext>Attachment 317889 did not pass style-queue:


ERROR: Source/WTF/wtf/coding/Encoder.h:87:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WTF/wtf/coding/Encoder.h:88:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WTF/wtf/coding/Encoder.h:89:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WTF/wtf/coding/Encoder.h:90:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WTF/wtf/coding/Encoder.h:91:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WTF/wtf/coding/Encoder.h:92:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WTF/wtf/coding/Encoder.h:93:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WTF/wtf/coding/Encoder.h:94:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WTF/wtf/coding/Encoder.h:95:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WTF/wtf/coding/Encoder.h:96:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 10 in 25 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>1337736</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2017-08-10 17:13:05 -0700</bug_when>
    <thetext>I am not sure combining these is a good idea. The Persistence coders need to maintain the same binary format, whereas the in-memory coders are free to change. 

We&apos;ve seen in the past cases where people were not aware that binary format was not stable for the WebKit2 coders, and were using it to write to the filesystem, and then when it changed, bad things happened.

So, despite there being the desire to share code here, I think this is a rare instance where that might not be the right call.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337739</commentid>
    <comment_count>5</comment_count>
      <attachid>317889</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-08-10 17:13:59 -0700</bug_when>
    <thetext>Comment on attachment 317889
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=317889&amp;action=review

&gt; Tools/TestWebKitAPI/Tests/WTF/Coding.cpp:62
&gt; +// This should reliable capture a mistake where both encoders start doing the extra work of checksumming

reliably</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337782</commentid>
    <comment_count>6</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-08-10 18:57:12 -0700</bug_when>
    <thetext>(In reply to Sam Weinig from comment #4)
&gt; I am not sure combining these is a good idea. The Persistence coders need to
&gt; maintain the same binary format, whereas the in-memory coders are free to
&gt; change. 
&gt; 
&gt; We&apos;ve seen in the past cases where people were not aware that binary format
&gt; was not stable for the WebKit2 coders, and were using it to write to the
&gt; filesystem, and then when it changed, bad things happened.
&gt; 
&gt; So, despite there being the desire to share code here, I think this is a
&gt; rare instance where that might not be the right call.

This is a good point.

I agree making it a general purpose coder increases the odds that somebody will unknowingly change the format. (And I noticed, sadly, that there are not any API tests to guarantee backwards compatibility...)

We clearly need some WTF API tests for this reason.

Additionally I wonder if there&apos;s some way in the code we could make it even less likely that somebody would unknowingly change the format?
(But if we did have API test coverage, that would still be something that wouldn&apos;t last for long)

I&apos;ll fork it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337788</commentid>
    <comment_count>7</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-08-10 19:11:32 -0700</bug_when>
    <thetext>Retitling:

Rename the source files for the WTF persistent coders
This will avoid conflicts from the upcoming non-persistent coders.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337789</commentid>
    <comment_count>8</comment_count>
      <attachid>317900</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-08-10 19:15:18 -0700</bug_when>
    <thetext>Created attachment 317900
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337790</commentid>
    <comment_count>9</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-08-10 19:17:45 -0700</bug_when>
    <thetext>Attachment 317900 did not pass style-queue:


ERROR: Source/WTF/wtf/persistence/PersistentEncoder.h:94:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WTF/wtf/persistence/PersistentEncoder.h:95:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WTF/wtf/persistence/PersistentEncoder.h:96:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WTF/wtf/persistence/PersistentEncoder.h:97:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WTF/wtf/persistence/PersistentEncoder.h:98:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WTF/wtf/persistence/PersistentEncoder.h:99:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WTF/wtf/persistence/PersistentEncoder.h:100:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WTF/wtf/persistence/PersistentEncoder.h:101:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WTF/wtf/persistence/PersistentEncoder.h:102:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/WTF/wtf/persistence/PersistentEncoder.h:103:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 10 in 17 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>1337804</commentid>
    <comment_count>10</comment_count>
      <attachid>317900</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-10 19:59:10 -0700</bug_when>
    <thetext>Comment on attachment 317900
Patch

Clearing flags on attachment: 317900

Committed r220574: &lt;http://trac.webkit.org/changeset/220574&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337805</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-10 19:59:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1337806</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-08-10 20:00:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/33841949&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317889</attachid>
            <date>2017-08-10 17:05:44 -0700</date>
            <delta_ts>2017-08-10 19:15:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>51527</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggZTY3NjcyOTA4ZWQuLmVlODgxNGNlMjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDE3
LTA4LTEwICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtl
IHRoZSBXVEYgRW5jb2Rlci9EZWNvZGVycyBhcHByb3ByaWF0ZSBmb3IgaW4tbWVtb3J5IGVuY29k
aW5nIChEb24ndCBhbHdheXMgZG8gdGhlIFNIQTEgY2hlY2tzdW1taW5nKS4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTQ0MQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBlcnNpc3RlbmNlOjpFbmNvZGVy
IGFuZCBQZXJzaXN0ZW5jZTo6RGVjb2RlciB3ZXJlIGdlbmVyYWwgcHVycG9zZSwgdGVtcGxhdGVk
IGNvZGVycyBleGNlcHQuLi4KKyAgICAgICAgLi4uVGhleSBrZWVwIGEgU0hBMSBoYXNoIG9mIHRo
ZSBlbmNvZGVkIGRhdGEgZm9yIGNoZWNrc3VtbWluZy4KKworICAgICAgICBUaGlzIGlzIGltcG9y
dGFudCBmb3IgZGF0YSB0aGF0IGlzIG1lYW50IGZvciBwZXJzaXN0ZW50IHN0b3JhZ2Ugb24gYSBk
aXNrIChlLmcuIE5ldHdvcmtDYWNoZSkKKworICAgICAgICBCeSBtYWtpbmcgYSBiYXNlIGNsYXNz
IHRoYXQgZGl0Y2hlcyB0aGUgU0hBMSBjaGVja3N1bW1pbmcgd2UgZW5hYmxlIHRoZXNlIEVuY29k
ZXJzL0RlY29kZXJzCisgICAgICAgIGZvciBpbi1tZW1vcnkgcnVudGltZSB1c2UuCisKKyAgICAg
ICAgKiBXVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB3dGYvQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogd3RmL2NvZGluZy9Db2Rlci5oOiBSZW5hbWVkIGZyb20gU291
cmNlL1dURi93dGYvcGVyc2lzdGVuY2UvQ29kZXIuaC4KKyAgICAgICAgKFdURjo6Q29kZXI6OmVu
Y29kZSk6CisgICAgICAgIChXVEY6OkNvZGVyOjpkZWNvZGUpOgorICAgICAgICAqIHd0Zi9jb2Rp
bmcvQ29kZXJzLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XVEYvd3RmL3BlcnNpc3RlbmNlL0Nv
ZGVycy5jcHAuCisgICAgICAgIChXVEY6OkNvZGVyPEF0b21pY1N0cmluZz46OmVuY29kZSk6Cisg
ICAgICAgIChXVEY6OkNvZGVyPEF0b21pY1N0cmluZz46OmRlY29kZSk6CisgICAgICAgIChXVEY6
OkNvZGVyPENTdHJpbmc+OjplbmNvZGUpOgorICAgICAgICAoV1RGOjpDb2RlcjxDU3RyaW5nPjo6
ZGVjb2RlKToKKyAgICAgICAgKFdURjo6Q29kZXI8U3RyaW5nPjo6ZW5jb2RlKToKKyAgICAgICAg
KFdURjo6ZGVjb2RlU3RyaW5nVGV4dCk6CisgICAgICAgIChXVEY6OkNvZGVyPFN0cmluZz46OmRl
Y29kZSk6CisgICAgICAgIChXVEY6OkNvZGVyPFNIQTE6OkRpZ2VzdD46OmVuY29kZSk6CisgICAg
ICAgIChXVEY6OkNvZGVyPFNIQTE6OkRpZ2VzdD46OmRlY29kZSk6CisgICAgICAgICogd3RmL2Nv
ZGluZy9Db2RlcnMuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XVEYvd3RmL3BlcnNpc3RlbmNlL0Nv
ZGVycy5oLgorICAgICAgICAoV1RGOjpDb2RlcjxzdGQ6Om9wdGlvbmFsPFQ+Pjo6ZW5jb2RlKToK
KyAgICAgICAgKFdURjo6Q29kZXI8c3RkOjpvcHRpb25hbDxUPj46OmRlY29kZSk6CisgICAgICAg
IChXVEY6OkNvZGVyPHN0ZDo6Y2hyb25vOjpzeXN0ZW1fY2xvY2s6OnRpbWVfcG9pbnQ+OjplbmNv
ZGUpOgorICAgICAgICAoV1RGOjpDb2RlcjxzdGQ6OmNocm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1l
X3BvaW50Pjo6ZGVjb2RlKToKKyAgICAgICAgKFdURjo6Q29kZXI8U2Vjb25kcz46OmVuY29kZSk6
CisgICAgICAgIChXVEY6OkNvZGVyPFNlY29uZHM+OjpkZWNvZGUpOgorICAgICAgICAqIHd0Zi9j
b2RpbmcvRGVjb2Rlci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV1RGL3d0Zi9wZXJzaXN0ZW5j
ZS9EZWNvZGVyLmNwcC4KKyAgICAgICAgKFdURjo6Q2hlY2tzdW1EZWNvZGVyOjpDaGVja3N1bURl
Y29kZXIpOgorICAgICAgICAoV1RGOjpDaGVja3N1bURlY29kZXI6OnZlcmlmeUNoZWNrc3VtKToK
KyAgICAgICAgKFdURjo6RGVjb2Rlcjo6RGVjb2Rlcik6CisgICAgICAgIChXVEY6OkRlY29kZXI6
On5EZWNvZGVyKToKKyAgICAgICAgKFdURjo6RGVjb2Rlcjo6YnVmZmVySXNMYXJnZUVub3VnaFRv
Q29udGFpbiBjb25zdCk6CisgICAgICAgIChXVEY6OkRlY29kZXI6OmRlY29kZUZpeGVkTGVuZ3Ro
RGF0YSk6CisgICAgICAgIChXVEY6OkRlY29kZXI6OmRlY29kZU51bWJlcik6CisgICAgICAgIChX
VEY6OkRlY29kZXI6OmRlY29kZSk6CisgICAgICAgICogd3RmL2NvZGluZy9EZWNvZGVyLmg6IFJl
bmFtZWQgZnJvbSBTb3VyY2UvV1RGL3d0Zi9wZXJzaXN0ZW5jZS9EZWNvZGVyLmguCisgICAgICAg
IChXVEY6OkRlY29kZXI6Omxlbmd0aCBjb25zdCk6CisgICAgICAgIChXVEY6OkRlY29kZXI6OmN1
cnJlbnRPZmZzZXQgY29uc3QpOgorICAgICAgICAoV1RGOjpEZWNvZGVyOjpkZWNvZGVFbnVtKToK
KyAgICAgICAgKFdURjo6RGVjb2Rlcjo6ZGVjb2RlKToKKyAgICAgICAgKFdURjo6RGVjb2Rlcjo6
YnVmZmVySXNMYXJnZUVub3VnaFRvQ29udGFpbiBjb25zdCk6CisgICAgICAgICogd3RmL2NvZGlu
Zy9FbmNvZGVyLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XVEYvd3RmL3BlcnNpc3RlbmNlL0Vu
Y29kZXIuY3BwLgorICAgICAgICAoV1RGOjpDaGVja3N1bUVuY29kZXI6OkNoZWNrc3VtRW5jb2Rl
cik6CisgICAgICAgIChXVEY6OkNoZWNrc3VtRW5jb2Rlcjo6ZW5jb2RlQ2hlY2tzdW0pOgorICAg
ICAgICAoV1RGOjp1cGRhdGVDaGVja3N1bUZvckRhdGEpOgorICAgICAgICAoV1RGOjpFbmNvZGVy
OjpFbmNvZGVyKToKKyAgICAgICAgKFdURjo6RW5jb2Rlcjo6fkVuY29kZXIpOgorICAgICAgICAo
V1RGOjpFbmNvZGVyOjpncm93KToKKyAgICAgICAgKFdURjo6RW5jb2Rlcjo6ZW5jb2RlRml4ZWRM
ZW5ndGhEYXRhKToKKyAgICAgICAgKFdURjo6RW5jb2Rlcjo6ZW5jb2RlTnVtYmVyKToKKyAgICAg
ICAgKFdURjo6RW5jb2Rlcjo6ZW5jb2RlKToKKyAgICAgICAgKiB3dGYvY29kaW5nL0VuY29kZXIu
aDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XVEYvd3RmL3BlcnNpc3RlbmNlL0VuY29kZXIuaC4KKyAg
ICAgICAgKFdURjo6RW5jb2Rlcjo6ZW5jb2RlRW51bSk6CisgICAgICAgIChXVEY6OkVuY29kZXI6
OmVuY29kZSk6CisgICAgICAgIChXVEY6OkVuY29kZXI6Om9wZXJhdG9yPDwpOgorICAgICAgICAo
V1RGOjpFbmNvZGVyOjpidWZmZXIgY29uc3QpOgorICAgICAgICAoV1RGOjpFbmNvZGVyOjpidWZm
ZXJTaXplIGNvbnN0KToKKyAgICAgICAgKFdURjo6dXBkYXRlQ2hlY2tzdW1Gb3JOdW1iZXIpOgor
CiAyMDE3LTA4LTA5ICBEb24gT2xtc3RlYWQgIDxkb24ub2xtc3RlYWRAc29ueS5jb20+CiAKICAg
ICAgICAgW1dURl0gTW92ZSBUZXh0U3RyZWFtIGludG8gV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dURi9XVEYueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjZTA2ZjVkMTkxMS4uNDhjYWM4NTE2NTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dURi9XVEYueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjMsNiArNjMsOSBAQAog
CQkyQ0RFRDBGMzE4MTE1Qzg1MDA0REJBNzAgLyogUnVuTG9vcC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyQ0RFRDBGMTE4MTE1Qzg1MDA0REJBNzAg
LyogUnVuTG9vcC5jcHAgKi87IH07CiAJCTMzMzdEQjlDRTc0MzQxMEZBRjA3NkUxNyAvKiBTdGFj
a1RyYWNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxM0VERUM5Nzc4RTQ5QzlCRUE5MUNGQyAvKiBTdGFja1RyYWNlLmNwcCAqLzsgfTsKIAkJNTE1
Rjc5NEUxQ0ZDOUY0QTAwQ0NFRDkzIC8qIENyb3NzVGhyZWFkQ29waWVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNUY3OTRCMUNGQzlGNEEwMEND
RUQ5MyAvKiBDcm9zc1RocmVhZENvcGllci5jcHAgKi87IH07CisJCTUxQkVCNjRDMUYzQ0Y3OTIw
MDUwMjlCOSAvKiBDb2RlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTFCRUI2NDUxRjNDRjMwMTAwNTAyOUI5IC8qIENvZGVycy5jcHAgKi87IH07
CisJCTUxQkVCNjREMUYzQ0Y3OTQwMDUwMjlCOSAvKiBEZWNvZGVyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQkVCNjQ2MUYzQ0YzMDEwMDUwMjlC
OSAvKiBEZWNvZGVyLmNwcCAqLzsgfTsKKwkJNTFCRUI2NEUxRjNDRjc5NjAwNTAyOUI5IC8qIEVu
Y29kZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTFCRUI2NDcxRjNDRjMwMTAwNTAyOUI5IC8qIEVuY29kZXIuY3BwICovOyB9OwogCQk1MjE4MzAx
MkM5OUU0NzZBODRFRUJFQTggLyogU3ltYm9sSW1wbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNzJCQkRCMTA3RkE0MjQ4ODYxNzhCOUUgLyogU3lt
Ym9sSW1wbC5jcHAgKi87IH07CiAJCTUzMTFCRDUzMUVBNzFDQUQwMDUyNTI4MSAvKiBTaWduYWxz
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUzMTFC
RDUxMUVBNzFDQUQwMDUyNTI4MSAvKiBTaWduYWxzLmNwcCAqLzsgfTsKIAkJNTMxMUJENUMxRUE4
MjJGOTAwNTI1MjgxIC8qIFRocmVhZE1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTMxMUJENUIxRUE4MjJGOTAwNTI1MjgxIC8qIFRocmVh
ZE1lc3NhZ2UuY3BwICovOyB9OwpAQCAtMTM1LDkgKzEzOCw2IEBACiAJCUUzMTFGQjE3MUYwQTU2
OEIwMDNDMDhERSAvKiBUaHJlYWRHcm91cC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFMzExRkIxNTFGMEE1NjhCMDAzQzA4REUgLyogVGhyZWFkR3Jv
dXAuY3BwICovOyB9OwogCQlFMzhDNDEyNTFFQjRFMDRDMDA0Mjk1N0QgLyogQ1BVVGltZUNvY29h
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTM4QzQx
MjQxRUI0RTA0QzAwNDI5NTdEIC8qIENQVVRpbWVDb2NvYS5tbSAqLzsgfTsKIAkJRTM4QzQxMjgx
RUI0RTA2ODAwNDI5NTdEIC8qIENQVVRpbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTM4QzQxMjYxRUI0RTA2ODAwNDI5NTdEIC8qIENQVVRpbWUu
Y3BwICovOyB9OwotCQlFNDNBNDY5NzFFMjI4QjkxMDAyNzZCMDUgLyogRGVjb2Rlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDNBNDY5MjFFMjI4
QjkxMDAyNzZCMDUgLyogRGVjb2Rlci5jcHAgKi87IH07Ci0JCUU0M0E0Njk4MUUyMjhCOTEwMDI3
NkIwNSAvKiBFbmNvZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEU0M0E0NjkzMUUyMjhCOTEwMDI3NkIwNSAvKiBFbmNvZGVyLmNwcCAqLzsgfTsK
LQkJRTQzQTQ2OUQxRTIyOEZENTAwMjc2QjA1IC8qIENvZGVycy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFNDNBNDY5QzFFMjI4RkQ1MDAyNzZCMDUg
LyogQ29kZXJzLmNwcCAqLzsgfTsKIAkJRTRBMEFEMzkxQTk2MjQ1NTAwNTM2REY2IC8qIFdvcmtR
dWV1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
NEEwQUQzNzFBOTYyNDU1MDA1MzZERjYgLyogV29ya1F1ZXVlLmNwcCAqLzsgfTsKIAkJRTRBMEFE
M0QxQTk2MjUzQzAwNTM2REY2IC8qIFdvcmtRdWV1ZUNvY29hLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QTBBRDNDMUE5NjI1M0MwMDUzNkRGNiAv
KiBXb3JrUXVldWVDb2NvYS5jcHAgKi87IH07CiAJCUZFREFDRDNEMTYzMEY4M0YwMEM2OTYzNCAv
KiBTdGFja1N0YXRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEZFREFDRDNCMTYzMEY4M0YwMEM2OTYzNCAvKiBTdGFja1N0YXRzLmNwcCAqLzsgfTsK
QEAgLTMwMyw2ICszMDMsMTMgQEAKIAkJNTE1Rjc5NEQxQ0ZDOUY0QTAwQ0NFRDkzIC8qIENyb3Nz
VGhyZWFkVGFzay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcm9zc1RocmVh
ZFRhc2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE1Rjc5NTUxQ0ZEM0E2OTAw
Q0NFRDkzIC8qIENyb3NzVGhyZWFkUXVldWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQ3Jvc3NUaHJlYWRRdWV1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
MTgyQzIyQzFGMkJDN0U2MDA1OUJBN0MgLyogSW5zdGFuY2VDb3VudGVkLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEluc3RhbmNlQ291bnRlZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MUJF
QjY0NTFGM0NGMzAxMDA1MDI5QjkgLyogQ29kZXJzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENv
ZGVycy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxQkVCNjQ2MUYzQ0YzMDEw
MDUwMjlCOSAvKiBEZWNvZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERlY29kZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MUJFQjY0NzFGM0NGMzAxMDA1MDI5QjkgLyog
RW5jb2Rlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFbmNvZGVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNTFCRUI2NDgxRjNDRjMwMTAwNTAyOUI5IC8qIEVuY29kZXIuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRW5jb2Rlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1
MUJFQjY0OTFGM0NGMzAxMDA1MDI5QjkgLyogRGVjb2Rlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZWNv
ZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxQkVCNjRBMUYzQ0YzMDEwMDUw
MjlCOSAvKiBDb2RlcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29kZXJzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTUxQkVCNjRCMUYzQ0YzMDEwMDUwMjlCOSAvKiBDb2Rlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDb2Rlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MzExQkQ1
MTFFQTcxQ0FEMDA1MjUyODEgLyogU2lnbmFscy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTaWduYWxzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTMxMUJENTUxRUE3RTE1QTAwNTI1MjgxIC8qIExvY2tsZXNzQmFnLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IExvY2tsZXNzQmFnLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTUzMTFCRDU3MUVBN0UxQTEwMDUyNTI4MSAvKiBTaWduYWxzLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNpZ25hbHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTU1MywxMyArNTYwLDYgQEAKIAkJRTM4QzQxMjYxRUI0RTA2ODAwNDI5NTdEIC8qIENQ
VVRpbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1BVVGltZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzOEM0MTI3MUVCNEUwNjgwMDQyOTU3
RCAvKiBDUFVUaW1lLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENQVVRpbWUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNFMTU4MjUxRUFEQTUzQzAwNEEwNzlE
IC8qIFN5c3RlbUZyZWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3lzdGVt
RnJlZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFNDNBNDY5MDFFMjI4QjkxMDAy
NzZCMDUgLyogRGVjb2Rlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZWNv
ZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUU0M0E0NjkxMUUyMjhCOTEwMDI3
NkIwNSAvKiBFbmNvZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVuY29k
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTQzQTQ2OTIxRTIyOEI5MTAwMjc2
QjA1IC8qIERlY29kZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RGVjb2Rlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUU0M0E0NjkzMUUyMjhC
OTEwMDI3NkIwNSAvKiBFbmNvZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEVuY29kZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFNDNBNDY5
NDFFMjI4QjkxMDAyNzZCMDUgLyogQ29kZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQ29kZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTQzQTQ2OUExRTIy
OEZCMjAwMjc2QjA1IC8qIENvZGVycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBDb2RlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTQzQTQ2OUMxRTIyOEZE
NTAwMjc2QjA1IC8qIENvZGVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBDb2RlcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFNEEwQUQzNzFB
OTYyNDU1MDA1MzZERjYgLyogV29ya1F1ZXVlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFdvcmtRdWV1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUU0QTBBRDM4MUE5NjI0NTUwMDUzNkRGNiAvKiBXb3JrUXVldWUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV29ya1F1ZXVlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUU0QTBBRDNDMUE5NjI1M0MwMDUzNkRGNiAvKiBXb3JrUXVldWVDb2NvYS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrUXVldWVDb2NvYS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC02NDMsNiArNjQzLDIwIEBACiAJCQlwYXRoID0gZGFy
d2luOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJNTFCRUI2NDQxRjNDRjJF
NjAwNTAyOUI5IC8qIGNvZGluZyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRy
ZW4gPSAoCisJCQkJNTFCRUI2NEIxRjNDRjMwMTAwNTAyOUI5IC8qIENvZGVyLmggKi8sCisJCQkJ
NTFCRUI2NDUxRjNDRjMwMTAwNTAyOUI5IC8qIENvZGVycy5jcHAgKi8sCisJCQkJNTFCRUI2NEEx
RjNDRjMwMTAwNTAyOUI5IC8qIENvZGVycy5oICovLAorCQkJCTUxQkVCNjQ2MUYzQ0YzMDEwMDUw
MjlCOSAvKiBEZWNvZGVyLmNwcCAqLywKKwkJCQk1MUJFQjY0OTFGM0NGMzAxMDA1MDI5QjkgLyog
RGVjb2Rlci5oICovLAorCQkJCTUxQkVCNjQ3MUYzQ0YzMDEwMDUwMjlCOSAvKiBFbmNvZGVyLmNw
cCAqLywKKwkJCQk1MUJFQjY0ODFGM0NGMzAxMDA1MDI5QjkgLyogRW5jb2Rlci5oICovLAorCQkJ
KTsKKwkJCXBhdGggPSBjb2Rpbmc7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9Owog
CQk1RDI0N0I1NzE0Njg5Qjg2MDBFNzhCNzYgPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNo
aWxkcmVuID0gKApAQCAtNzEzLDExICs3MjcsMTEgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTJD
REVEMEYwMTgxMTVDM0YwMDREQkE3MCAvKiBjZiAqLywKIAkJCQlFNEEwQUQzQjFBOTYyNTE5MDA1
MzZERjYgLyogY29jb2EgKi8sCisJCQkJNTFCRUI2NDQxRjNDRjJFNjAwNTAyOUI5IC8qIGNvZGlu
ZyAqLywKIAkJCQkzN0M3Q0MyODFFQTQwQTU0MDA3QkQ5NTYgLyogZGFyd2luICovLAogCQkJCUE4
QTQ3MjgxMTUxQTgyNUEwMDQxMjNGRiAvKiBkdG9hICovLAogCQkJCTFGQTQ3Qzg3MTUyNTAyREEw
MDU2OEQxQiAvKiBpb3MgKi8sCiAJCQkJQThBNDcyQzQxNTFBODI1QTAwNDEyM0ZGIC8qIG1hYyAq
LywKLQkJCQlFNDNBNDY4NTFFMjI4QjU3MDAyNzZCMDUgLyogcGVyc2lzdGVuY2UgKi8sCiAJCQkJ
Q0VGNDgyMEMxOURBMzQ3NjAwQ0MwNEI4IC8qIHNwaSAqLywKIAkJCQlBOEE0NzMxQjE1MUE4MjVC
MDA0MTIzRkYgLyogdGV4dCAqLywKIAkJCQlBOEE0NzMzOTE1MUE4MjVCMDA0MTIzRkYgLyogdGhy
ZWFkcyAqLywKQEAgLTExNjksMjAgKzExODMsNiBAQAogCQkJbmFtZSA9IGNmOwogCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKLQkJRTQzQTQ2ODUxRTIyOEI1NzAwMjc2QjA1IC8qIHBl
cnNpc3RlbmNlICovID0gewotCQkJaXNhID0gUEJYR3JvdXA7Ci0JCQljaGlsZHJlbiA9ICgKLQkJ
CQlFNDNBNDY5NDFFMjI4QjkxMDAyNzZCMDUgLyogQ29kZXIuaCAqLywKLQkJCQlFNDNBNDY5QzFF
MjI4RkQ1MDAyNzZCMDUgLyogQ29kZXJzLmNwcCAqLywKLQkJCQlFNDNBNDY5QTFFMjI4RkIyMDAy
NzZCMDUgLyogQ29kZXJzLmggKi8sCi0JCQkJRTQzQTQ2OTIxRTIyOEI5MTAwMjc2QjA1IC8qIERl
Y29kZXIuY3BwICovLAotCQkJCUU0M0E0NjkwMUUyMjhCOTEwMDI3NkIwNSAvKiBEZWNvZGVyLmgg
Ki8sCi0JCQkJRTQzQTQ2OTMxRTIyOEI5MTAwMjc2QjA1IC8qIEVuY29kZXIuY3BwICovLAotCQkJ
CUU0M0E0NjkxMUUyMjhCOTEwMDI3NkIwNSAvKiBFbmNvZGVyLmggKi8sCi0JCQkpOwotCQkJcGF0
aCA9IHBlcnNpc3RlbmNlOwotCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKLQkJfTsKIAkJRTRB
MEFEM0IxQTk2MjUxOTAwNTM2REY2IC8qIGNvY29hICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7
CiAJCQljaGlsZHJlbiA9ICgKQEAgLTEzMTcsNyArMTMxNyw2IEBACiAJCQkJRENFRTIyMDExQ0VB
NzU1MTAwMEMyMzk2IC8qIEJsb2NrT2JqQ0V4Y2VwdGlvbnMubW0gaW4gU291cmNlcyAqLywKIAkJ
CQlBOEE0NzNBQzE1MUE4MjVCMDA0MTIzRkYgLyogY2FjaGVkLXBvd2Vycy5jYyBpbiBTb3VyY2Vz
ICovLAogCQkJCTBGNjZCMjhBMURDOTdCQUIwMDRBMUQzRiAvKiBDbG9ja1R5cGUuY3BwIGluIFNv
dXJjZXMgKi8sCi0JCQkJRTQzQTQ2OUQxRTIyOEZENTAwMjc2QjA1IC8qIENvZGVycy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBOEE0NzQ2MDE1MUE4MjVCMDA0MTIzRkYgLyogQ29sbGF0b3JEZWZh
dWx0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3NDYzMTUxQTgyNUIwMDQxMjNGRiAvKiBD
b2xsYXRvcklDVS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjhGMkI5MjE3MkUwMTAzMDA3REJE
QTUgLyogQ29tcGlsYXRpb25UaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMzMxLDEyICsx
MzMwLDEwIEBACiAJCQkJQThBNDczOUUxNTFBODI1QjAwNDEyM0ZGIC8qIERhdGFMb2cuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQThBNDczQTAxNTFBODI1QjAwNDEyM0ZGIC8qIERhdGVNYXRoLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3M0EyMTUxQTgyNUIwMDQxMjNGRiAvKiBEZWNpbWFs
TnVtYmVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUU0M0E0Njk3MUUyMjhCOTEwMDI3NkIwNSAv
KiBEZWNvZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBQ0FERDg0MTg4NDQ4MDEwMEQ4Qjcx
RCAvKiBEZXByZWNhdGVkU3ltYm9sc1VzZWRCeVNhZmFyaS5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CUE4QTQ3M0FFMTUxQTgyNUIwMDQxMjNGRiAvKiBkaXktZnAuY2MgaW4gU291cmNlcyAqLywKIAkJ
CQlBOEE0NzNCMDE1MUE4MjVCMDA0MTIzRkYgLyogZG91YmxlLWNvbnZlcnNpb24uY2MgaW4gU291
cmNlcyAqLywKIAkJCQlBOEE0NzNCQTE1MUE4MjVCMDA0MTIzRkYgLyogZHRvYS5jcHAgaW4gU291
cmNlcyAqLywKLQkJCQlFNDNBNDY5ODFFMjI4QjkxMDAyNzZCMDUgLyogRW5jb2Rlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBOEE0NzNCMzE1MUE4MjVCMDA0MTIzRkYgLyogZmFzdC1kdG9hLmNj
IGluIFNvdXJjZXMgKi8sCiAJCQkJMEY3QzVGQjYxRDg4NUNGMjAwNDRGNUUyIC8qIEZhc3RCaXRW
ZWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDczQzMxNTFBODI1QjAwNDEyM0ZGIC8q
IEZhc3RNYWxsb2MuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMzcxLDExICsxMzY4LDEzIEBACiAJ
CQkJQTNCNzI1RUM5ODc0NDZBRDkzRjFBNDQwIC8qIFJhbmRvbURldmljZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBOEE0NzQxNDE1MUE4MjVCMDA0MTIzRkYgLyogUmFuZG9tTnVtYmVyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUE4QTQ3NDFBMTUxQTgyNUIwMDQxMjNGRiAvKiBSZWZDb3VudGVk
TGVha0NvdW50ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFCRUI2NEUxRjNDRjc5NjAwNTAy
OUI5IC8qIEVuY29kZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkNERUQwRjMxODExNUM4NTAw
NERCQTcwIC8qIFJ1bkxvb3AuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkNERUQwRUYxODExNUMz
ODAwNERCQTcwIC8qIFJ1bkxvb3BDRi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDY5NDE5MzE2
RUFBRjZEMDAyNEUxNDYgLyogUnVuTG9vcFRpbWVyQ0YuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MTQ2OTQxOTkxNkVBQjA0MTAwMjRFMTQ2IC8qIFNjaGVkdWxlUGFpckNGLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTE0Njk0MTk3MTZFQUFGRjgwMDI0RTE0NiAvKiBTY2hlZHVsZVBhaXJNYWMubW0g
aW4gU291cmNlcyAqLywKKwkJCQk1MUJFQjY0QzFGM0NGNzkyMDA1MDI5QjkgLyogQ29kZXJzLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTBGNjZCMjhFMURDOTdCQUIwMDRBMUQzRiAvKiBTZWNvbmRz
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3NDIxMTUxQTgyNUIwMDQxMjNGRiAvKiBTSEEx
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUzMTFCRDUzMUVBNzFDQUQwMDUyNTI4MSAvKiBTaWdu
YWxzLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMTM5NSw2ICsxMzk0LDcgQEAKIAkJCQk5M0YxOTkz
RTE5RDc5NThEMDBDMjM5MEIgLyogU3RyaW5nVmlldy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5
MzkzNEJENTE4QTFGMTY5MDBEMEQ2QTEgLyogU3RyaW5nVmlld0NGLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTkzOTM0QkQzMThBMUU4QzMwMEQwRDZBMSAvKiBTdHJpbmdWaWV3T2JqQy5tbSBpbiBT
b3VyY2VzICovLAorCQkJCTUxQkVCNjREMUYzQ0Y3OTQwMDUwMjlCOSAvKiBEZWNvZGVyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUE4QTQ3M0I3MTUxQTgyNUIwMDQxMjNGRiAvKiBzdHJ0b2QuY2Mg
aW4gU291cmNlcyAqLywKIAkJCQk1MjE4MzAxMkM5OUU0NzZBODRFRUJFQTggLyogU3ltYm9sSW1w
bC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3MEE5OTNGRTFBRDcxNTEzMDBGQTYxNUIgLyogU3lt
Ym9sUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CmluZGV4IDU4
Njk2MTBhMmIwLi40ODgyZTlkMzQ4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ01ha2VM
aXN0cy50eHQKKysrIGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKQEAgLTI2Myw2ICsy
NjMsMTAgQEAgc2V0KFdURl9TT1VSQ0VTCiAgICAgV29ya1F1ZXVlLmNwcAogICAgIGR0b2EuY3Bw
CiAKKyAgICBjb2RpbmcvQ29kZXJzLmNwcAorICAgIGNvZGluZy9EZWNvZGVyLmNwcAorICAgIGNv
ZGluZy9FbmNvZGVyLmNwcAorCiAgICAgZHRvYS9iaWdudW0tZHRvYS5jYwogICAgIGR0b2EvYmln
bnVtLmNjCiAgICAgZHRvYS9jYWNoZWQtcG93ZXJzLmNjCkBAIC0yNzIsMTAgKzI3Niw2IEBAIHNl
dChXVEZfU09VUkNFUwogICAgIGR0b2EvZml4ZWQtZHRvYS5jYwogICAgIGR0b2Evc3RydG9kLmNj
CiAKLSAgICBwZXJzaXN0ZW5jZS9Db2RlcnMuY3BwCi0gICAgcGVyc2lzdGVuY2UvRGVjb2Rlci5j
cHAKLSAgICBwZXJzaXN0ZW5jZS9FbmNvZGVyLmNwcAotCiAgICAgdGV4dC9BdG9taWNTdHJpbmcu
Y3BwCiAgICAgdGV4dC9BdG9taWNTdHJpbmdJbXBsLmNwcAogICAgIHRleHQvQXRvbWljU3RyaW5n
VGFibGUuY3BwCkBAIC0zMTAsOCArMzEwLDggQEAgc2V0KFdURl9JTkNMVURFX0RJUkVDVE9SSUVT
CiAKIHNldChXVEZfUFJJVkFURV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V1RGX0RJUn0v
d3RmIgorICAgICIke1dURl9ESVJ9L3d0Zi9jb2RpbmciCiAgICAgIiR7V1RGX0RJUn0vd3RmL2R0
b2EiCi0gICAgIiR7V1RGX0RJUn0vd3RmL3BlcnNpc3RlbmNlIgogICAgICIke1dURl9ESVJ9L3d0
Zi90ZXh0IgogICAgICIke1dURl9ESVJ9L3d0Zi90ZXh0L2ljdSIKICAgICAiJHtXVEZfRElSfS93
dGYvdGhyZWFkcyIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3BlcnNpc3RlbmNlL0NvZGVy
LmggYi9Tb3VyY2UvV1RGL3d0Zi9jb2RpbmcvQ29kZXIuaApzaW1pbGFyaXR5IGluZGV4IDk4JQpy
ZW5hbWUgZnJvbSBTb3VyY2UvV1RGL3d0Zi9wZXJzaXN0ZW5jZS9Db2Rlci5oCnJlbmFtZSB0byBT
b3VyY2UvV1RGL3d0Zi9jb2RpbmcvQ29kZXIuaAppbmRleCBmN2Q5OGM0ZWRiNS4uZGE4ZGY0ZGI1
M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3BlcnNpc3RlbmNlL0NvZGVyLmgKKysrIGIv
U291cmNlL1dURi93dGYvY29kaW5nL0NvZGVyLmgKQEAgLTI2LDcgKzI2LDYgQEAKICNwcmFnbWEg
b25jZQogCiBuYW1lc3BhY2UgV1RGIHsKLW5hbWVzcGFjZSBQZXJzaXN0ZW5jZSB7CiAKIGNsYXNz
IERlY29kZXI7CiBjbGFzcyBFbmNvZGVyOwpAQCAtNDQsNCArNDMsMyBAQCB0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiBzdHJ1Y3QgQ29kZXIgewogfTsKIAogfQotfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvcGVyc2lzdGVuY2UvQ29kZXJzLmNwcCBiL1NvdXJjZS9XVEYvd3RmL2NvZGluZy9Db2Rl
cnMuY3BwCnNpbWlsYXJpdHkgaW5kZXggOTklCnJlbmFtZSBmcm9tIFNvdXJjZS9XVEYvd3RmL3Bl
cnNpc3RlbmNlL0NvZGVycy5jcHAKcmVuYW1lIHRvIFNvdXJjZS9XVEYvd3RmL2NvZGluZy9Db2Rl
cnMuY3BwCmluZGV4IDdjZDQyZjQ4OGUwLi5iNGEwODdjYzhiNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvcGVyc2lzdGVuY2UvQ29kZXJzLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jb2Rp
bmcvQ29kZXJzLmNwcApAQCAtMzAsNyArMzAsNiBAQAogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0
cmluZy5oPgogCiBuYW1lc3BhY2UgV1RGIHsKLW5hbWVzcGFjZSBQZXJzaXN0ZW5jZSB7CiAKIHZv
aWQgQ29kZXI8QXRvbWljU3RyaW5nPjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IEF0
b21pY1N0cmluZyYgYXRvbWljU3RyaW5nKQogewpAQCAtMTUzLDQgKzE1MiwzIEBAIGJvb2wgQ29k
ZXI8U0hBMTo6RGlnZXN0Pjo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFNIQTE6OkRpZ2VzdCYg
ZGlnZXN0KQogfQogCiB9Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9wZXJzaXN0ZW5j
ZS9Db2RlcnMuaCBiL1NvdXJjZS9XVEYvd3RmL2NvZGluZy9Db2RlcnMuaApzaW1pbGFyaXR5IGlu
ZGV4IDk5JQpyZW5hbWUgZnJvbSBTb3VyY2UvV1RGL3d0Zi9wZXJzaXN0ZW5jZS9Db2RlcnMuaApy
ZW5hbWUgdG8gU291cmNlL1dURi93dGYvY29kaW5nL0NvZGVycy5oCmluZGV4IDViMzZjYjA4ZWRl
Li41NDI1NTdlMTU4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvcGVyc2lzdGVuY2UvQ29k
ZXJzLmgKKysrIGIvU291cmNlL1dURi93dGYvY29kaW5nL0NvZGVycy5oCkBAIC0zMiwxMSArMzIs
MTAgQEAKICNpbmNsdWRlIDx3dGYvU0hBMS5oPgogI2luY2x1ZGUgPHd0Zi9TZWNvbmRzLmg+CiAj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotI2luY2x1ZGUgPHd0Zi9wZXJzaXN0ZW5jZS9EZWNvZGVy
Lmg+Ci0jaW5jbHVkZSA8d3RmL3BlcnNpc3RlbmNlL0VuY29kZXIuaD4KKyNpbmNsdWRlIDx3dGYv
Y29kaW5nL0RlY29kZXIuaD4KKyNpbmNsdWRlIDx3dGYvY29kaW5nL0VuY29kZXIuaD4KIAogbmFt
ZXNwYWNlIFdURiB7Ci1uYW1lc3BhY2UgUGVyc2lzdGVuY2UgewogCiB0ZW1wbGF0ZTx0eXBlbmFt
ZSBULCB0eXBlbmFtZSBVPiBzdHJ1Y3QgQ29kZXI8c3RkOjpwYWlyPFQsIFU+PiB7CiAgICAgc3Rh
dGljIHZvaWQgZW5jb2RlKEVuY29kZXImIGVuY29kZXIsIGNvbnN0IHN0ZDo6cGFpcjxULCBVPiYg
cGFpcikKQEAgLTMxNyw0ICszMTYsMyBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBDb2RlcjxTSEExOjpE
aWdlc3Q+IHsKIH07CiAKIH0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3BlcnNpc3Rl
bmNlL0RlY29kZXIuY3BwIGIvU291cmNlL1dURi93dGYvY29kaW5nL0RlY29kZXIuY3BwCnNpbWls
YXJpdHkgaW5kZXggODglCnJlbmFtZSBmcm9tIFNvdXJjZS9XVEYvd3RmL3BlcnNpc3RlbmNlL0Rl
Y29kZXIuY3BwCnJlbmFtZSB0byBTb3VyY2UvV1RGL3d0Zi9jb2RpbmcvRGVjb2Rlci5jcHAKaW5k
ZXggMzU0ZmYwNjA2YjAuLjdmOWY4NGYwMGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9w
ZXJzaXN0ZW5jZS9EZWNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jb2RpbmcvRGVjb2Rl
ci5jcHAKQEAgLTI2LDEwICsyNiwyNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkRlY29kZXIuaCIKIAotI2luY2x1ZGUgPHd0Zi9wZXJzaXN0ZW5jZS9FbmNvZGVyLmg+CisjaW5j
bHVkZSA8d3RmL2NvZGluZy9FbmNvZGVyLmg+CiAKIG5hbWVzcGFjZSBXVEYgewotbmFtZXNwYWNl
IFBlcnNpc3RlbmNlIHsKKworQ2hlY2tzdW1EZWNvZGVyOjpDaGVja3N1bURlY29kZXIoY29uc3Qg
dWludDhfdCogYnVmZmVyLCBzaXplX3QgYnVmZmVyU2l6ZSkKKyAgICA6IERlY29kZXIoYnVmZmVy
LCBidWZmZXJTaXplKQoreworICAgIG1fc2hhMSA9IFNIQTEgeyB9OworfQorCitib29sIENoZWNr
c3VtRGVjb2Rlcjo6dmVyaWZ5Q2hlY2tzdW0oKQoreworICAgIFNIQTE6OkRpZ2VzdCBjb21wdXRl
ZEhhc2g7CisgICAgbV9zaGExLT5jb21wdXRlSGFzaChjb21wdXRlZEhhc2gpOworCisgICAgU0hB
MTo6RGlnZXN0IHNhdmVkSGFzaDsKKyAgICBpZiAoIWRlY29kZUZpeGVkTGVuZ3RoRGF0YShzYXZl
ZEhhc2guZGF0YSgpLCBzaXplb2Yoc2F2ZWRIYXNoKSkpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgIHJldHVybiBjb21wdXRlZEhhc2ggPT0gc2F2ZWRIYXNoOworfQogCiBEZWNvZGVyOjpE
ZWNvZGVyKGNvbnN0IHVpbnQ4X3QqIGJ1ZmZlciwgc2l6ZV90IGJ1ZmZlclNpemUpCiAgICAgOiBt
X2J1ZmZlcihidWZmZXIpCkBAIC01NSw3ICs3Miw4IEBAIGJvb2wgRGVjb2Rlcjo6ZGVjb2RlRml4
ZWRMZW5ndGhEYXRhKHVpbnQ4X3QqIGRhdGEsIHNpemVfdCBzaXplKQogICAgIG1lbWNweShkYXRh
LCBtX2J1ZmZlclBvc2l0aW9uLCBzaXplKTsKICAgICBtX2J1ZmZlclBvc2l0aW9uICs9IHNpemU7
CiAKLSAgICBFbmNvZGVyOjp1cGRhdGVDaGVja3N1bUZvckRhdGEobV9zaGExLCBkYXRhLCBzaXpl
KTsKKyAgICBpZiAobV9zaGExKQorICAgICAgICB1cGRhdGVDaGVja3N1bUZvckRhdGEoKm1fc2hh
MSwgZGF0YSwgc2l6ZSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTY4LDcgKzg2LDggQEAg
Ym9vbCBEZWNvZGVyOjpkZWNvZGVOdW1iZXIoVHlwZSYgdmFsdWUpCiAgICAgbWVtY3B5KCZ2YWx1
ZSwgbV9idWZmZXJQb3NpdGlvbiwgc2l6ZW9mKHZhbHVlKSk7CiAgICAgbV9idWZmZXJQb3NpdGlv
biArPSBzaXplb2YoVHlwZSk7CiAKLSAgICBFbmNvZGVyOjp1cGRhdGVDaGVja3N1bUZvck51bWJl
cihtX3NoYTEsIHZhbHVlKTsKKyAgICBpZiAobV9zaGExKQorICAgICAgICB1cGRhdGVDaGVja3N1
bUZvck51bWJlcigqbV9zaGExLCB2YWx1ZSk7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKQEAgLTEx
NywxNyArMTM2LDQgQEAgYm9vbCBEZWNvZGVyOjpkZWNvZGUoZG91YmxlJiByZXN1bHQpCiAgICAg
cmV0dXJuIGRlY29kZU51bWJlcihyZXN1bHQpOwogfQogCi1ib29sIERlY29kZXI6OnZlcmlmeUNo
ZWNrc3VtKCkKLXsKLSAgICBTSEExOjpEaWdlc3QgY29tcHV0ZWRIYXNoOwotICAgIG1fc2hhMS5j
b21wdXRlSGFzaChjb21wdXRlZEhhc2gpOwotCi0gICAgU0hBMTo6RGlnZXN0IHNhdmVkSGFzaDsK
LSAgICBpZiAoIWRlY29kZUZpeGVkTGVuZ3RoRGF0YShzYXZlZEhhc2guZGF0YSgpLCBzaXplb2Yo
c2F2ZWRIYXNoKSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHJldHVybiBjb21wdXRl
ZEhhc2ggPT0gc2F2ZWRIYXNoOwotfQotCi19Ci19Cit9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL3BlcnNpc3RlbmNlL0RlY29kZXIuaCBiL1NvdXJjZS9XVEYv
d3RmL2NvZGluZy9EZWNvZGVyLmgKc2ltaWxhcml0eSBpbmRleCA5MyUKcmVuYW1lIGZyb20gU291
cmNlL1dURi93dGYvcGVyc2lzdGVuY2UvRGVjb2Rlci5oCnJlbmFtZSB0byBTb3VyY2UvV1RGL3d0
Zi9jb2RpbmcvRGVjb2Rlci5oCmluZGV4IDQxNGVjODhmYzJmLi5lMWE4NDAzMjA0ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi93dGYvcGVyc2lzdGVuY2UvRGVjb2Rlci5oCisrKyBiL1NvdXJjZS9X
VEYvd3RmL2NvZGluZy9EZWNvZGVyLmgKQEAgLTI2LDEwICsyNiw5IEBACiAjcHJhZ21hIG9uY2UK
IAogI2luY2x1ZGUgPHd0Zi9TSEExLmg+Ci0jaW5jbHVkZSA8d3RmL3BlcnNpc3RlbmNlL0NvZGVy
Lmg+CisjaW5jbHVkZSA8d3RmL2NvZGluZy9Db2Rlci5oPgogCiBuYW1lc3BhY2UgV1RGIHsKLW5h
bWVzcGFjZSBQZXJzaXN0ZW5jZSB7CiAKIGNsYXNzIERlY29kZXIgewogICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwpAQCAtNDAsOCArMzksNiBAQCBwdWJsaWM6CiAgICAgc2l6ZV90IGxlbmd0
aCgpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyRW5kIC0gbV9idWZmZXI7IH0KICAgICBzaXplX3Qg
Y3VycmVudE9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyUG9zaXRpb24gLSBtX2J1ZmZl
cjsgfQogCi0gICAgV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgdmVyaWZ5Q2hlY2tzdW0oKTsKLQog
ICAgIFdURl9FWFBPUlRfUFJJVkFURSBib29sIGRlY29kZUZpeGVkTGVuZ3RoRGF0YSh1aW50OF90
Kiwgc2l6ZV90KTsKIAogICAgIFdURl9FWFBPUlRfUFJJVkFURSBib29sIGRlY29kZShib29sJik7
CkBAIC04NCw2ICs4MSw5IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBjb25zdCBib29sIGlzSVBD
RGVjb2RlciA9IGZhbHNlOwogCitwcm90ZWN0ZWQ6CisgICAgc3RkOjpvcHRpb25hbDxTSEExPiBt
X3NoYTE7CisKIHByaXZhdGU6CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgYnVmZmVySXNM
YXJnZUVub3VnaFRvQ29udGFpbihzaXplX3QpIGNvbnN0OwogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IFR5cGU+IGJvb2wgZGVjb2RlTnVtYmVyKFR5cGUmKTsKQEAgLTkxLDEwICs5MSwxMyBAQCBwcml2
YXRlOgogICAgIGNvbnN0IHVpbnQ4X3QqIG1fYnVmZmVyOwogICAgIGNvbnN0IHVpbnQ4X3QqIG1f
YnVmZmVyUG9zaXRpb247CiAgICAgY29uc3QgdWludDhfdCogbV9idWZmZXJFbmQ7Cit9OwogCi0g
ICAgU0hBMSBtX3NoYTE7CitjbGFzcyBDaGVja3N1bURlY29kZXIgOiBwdWJsaWMgRGVjb2RlciB7
CitwdWJsaWM6CisgICAgV1RGX0VYUE9SVF9QUklWQVRFIENoZWNrc3VtRGVjb2Rlcihjb25zdCB1
aW50OF90KiBidWZmZXIsIHNpemVfdCBidWZmZXJTaXplKTsKKyAgICBXVEZfRVhQT1JUX1BSSVZB
VEUgYm9vbCB2ZXJpZnlDaGVja3N1bSgpOwogfTsKIAotfSAKLX0KK30gLy8gbmFtZXNwYWNlIFdU
RgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9wZXJzaXN0ZW5jZS9FbmNvZGVyLmNwcCBi
L1NvdXJjZS9XVEYvd3RmL2NvZGluZy9FbmNvZGVyLmNwcApzaW1pbGFyaXR5IGluZGV4IDg4JQpy
ZW5hbWUgZnJvbSBTb3VyY2UvV1RGL3d0Zi9wZXJzaXN0ZW5jZS9FbmNvZGVyLmNwcApyZW5hbWUg
dG8gU291cmNlL1dURi93dGYvY29kaW5nL0VuY29kZXIuY3BwCmluZGV4IDBmMTFlMzQ4MWZmLi5l
ZGIxMjE3MzYzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvcGVyc2lzdGVuY2UvRW5jb2Rl
ci5jcHAKKysrIGIvU291cmNlL1dURi93dGYvY29kaW5nL0VuY29kZXIuY3BwCkBAIC0yOSw3ICsy
OSwyNSBAQAogI2luY2x1ZGUgIlNIQTEuaCIKIAogbmFtZXNwYWNlIFdURiB7Ci1uYW1lc3BhY2Ug
UGVyc2lzdGVuY2UgeworCitDaGVja3N1bUVuY29kZXI6OkNoZWNrc3VtRW5jb2RlcigpCit7Cisg
ICAgbV9zaGExID0gU0hBMSB7IH07Cit9CisKK3ZvaWQgQ2hlY2tzdW1FbmNvZGVyOjplbmNvZGVD
aGVja3N1bSgpCit7CisgICAgU0hBMTo6RGlnZXN0IGhhc2g7CisgICAgbV9zaGExLT5jb21wdXRl
SGFzaChoYXNoKTsKKyAgICBlbmNvZGVGaXhlZExlbmd0aERhdGEoaGFzaC5kYXRhKCksIGhhc2gu
c2l6ZSgpKTsKK30KKwordm9pZCB1cGRhdGVDaGVja3N1bUZvckRhdGEoU0hBMSYgc2hhMSwgY29u
c3QgdWludDhfdCogZGF0YSwgc2l6ZV90IHNpemUpCit7CisgICAgYXV0byB0eXBlU2FsdCA9IFNh
bHQ8dWludDhfdCo+Ojp2YWx1ZTsKKyAgICBzaGExLmFkZEJ5dGVzKHJlaW50ZXJwcmV0X2Nhc3Q8
dWludDhfdCo+KCZ0eXBlU2FsdCksIHNpemVvZih0eXBlU2FsdCkpOworICAgIHNoYTEuYWRkQnl0
ZXMoZGF0YSwgc2l6ZSk7Cit9CiAKIEVuY29kZXI6OkVuY29kZXIoKQogewpAQCAtNDYsMTYgKzY0
LDEwIEBAIHVpbnQ4X3QqIEVuY29kZXI6Omdyb3coc2l6ZV90IHNpemUpCiAgICAgcmV0dXJuIG1f
YnVmZmVyLmRhdGEoKSArIG5ld1Bvc2l0aW9uOwogfQogCi12b2lkIEVuY29kZXI6OnVwZGF0ZUNo
ZWNrc3VtRm9yRGF0YShTSEExJiBzaGExLCBjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3Qgc2l6
ZSkKLXsKLSAgICBhdXRvIHR5cGVTYWx0ID0gU2FsdDx1aW50OF90Kj46OnZhbHVlOwotICAgIHNo
YTEuYWRkQnl0ZXMocmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4oJnR5cGVTYWx0KSwgc2l6ZW9m
KHR5cGVTYWx0KSk7Ci0gICAgc2hhMS5hZGRCeXRlcyhkYXRhLCBzaXplKTsKLX0KLQogdm9pZCBF
bmNvZGVyOjplbmNvZGVGaXhlZExlbmd0aERhdGEoY29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90
IHNpemUpCiB7Ci0gICAgdXBkYXRlQ2hlY2tzdW1Gb3JEYXRhKG1fc2hhMSwgZGF0YSwgc2l6ZSk7
CisgICAgaWYgKG1fc2hhMSkKKyAgICAgICAgdXBkYXRlQ2hlY2tzdW1Gb3JEYXRhKCptX3NoYTEs
IGRhdGEsIHNpemUpOwogCiAgICAgdWludDhfdCogYnVmZmVyID0gZ3JvdyhzaXplKTsKICAgICBt
ZW1jcHkoYnVmZmVyLCBkYXRhLCBzaXplKTsKQEAgLTY0LDcgKzc2LDggQEAgdm9pZCBFbmNvZGVy
OjplbmNvZGVGaXhlZExlbmd0aERhdGEoY29uc3QgdWludDhfdCogZGF0YSwgc2l6ZV90IHNpemUp
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBUeXBlPgogdm9pZCBFbmNvZGVyOjplbmNvZGVOdW1iZXIoVHlw
ZSB2YWx1ZSkKIHsKLSAgICBFbmNvZGVyOjp1cGRhdGVDaGVja3N1bUZvck51bWJlcihtX3NoYTEs
IHZhbHVlKTsKKyAgICBpZiAobV9zaGExKQorICAgICAgICB1cGRhdGVDaGVja3N1bUZvck51bWJl
cigqbV9zaGExLCB2YWx1ZSk7CiAKICAgICB1aW50OF90KiBidWZmZXIgPSBncm93KHNpemVvZihU
eXBlKSk7CiAgICAgbWVtY3B5KGJ1ZmZlciwgJnZhbHVlLCBzaXplb2YoVHlwZSkpOwpAQCAtMTE1
LDEyICsxMjgsNCBAQCB2b2lkIEVuY29kZXI6OmVuY29kZShkb3VibGUgdmFsdWUpCiAgICAgZW5j
b2RlTnVtYmVyKHZhbHVlKTsKIH0KIAotdm9pZCBFbmNvZGVyOjplbmNvZGVDaGVja3N1bSgpCi17
Ci0gICAgU0hBMTo6RGlnZXN0IGhhc2g7Ci0gICAgbV9zaGExLmNvbXB1dGVIYXNoKGhhc2gpOwot
ICAgIGVuY29kZUZpeGVkTGVuZ3RoRGF0YShoYXNoLmRhdGEoKSwgaGFzaC5zaXplKCkpOwotfQot
Ci19Ci19Cit9IC8vIG5hbWVzcGFjZSBXVEYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3Bl
cnNpc3RlbmNlL0VuY29kZXIuaCBiL1NvdXJjZS9XVEYvd3RmL2NvZGluZy9FbmNvZGVyLmgKc2lt
aWxhcml0eSBpbmRleCA3MSUKcmVuYW1lIGZyb20gU291cmNlL1dURi93dGYvcGVyc2lzdGVuY2Uv
RW5jb2Rlci5oCnJlbmFtZSB0byBTb3VyY2UvV1RGL3d0Zi9jb2RpbmcvRW5jb2Rlci5oCmluZGV4
IDYxYzk2NTUzMGU3Li4yYWJiNzAyMGZjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvcGVy
c2lzdGVuY2UvRW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL2NvZGluZy9FbmNvZGVyLmgK
QEAgLTI3LDEzICsyNyw5IEBACiAKICNpbmNsdWRlIDx3dGYvU0hBMS5oPgogI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KLSNpbmNsdWRlIDx3dGYvcGVyc2lzdGVuY2UvQ29kZXIuaD4KKyNpbmNsdWRl
IDx3dGYvY29kaW5nL0NvZGVyLmg+CiAKIG5hbWVzcGFjZSBXVEYgewotbmFtZXNwYWNlIFBlcnNp
c3RlbmNlIHsKLQotY2xhc3MgRW5jb2RlcjsKLWNsYXNzIERhdGFSZWZlcmVuY2U7CiAKIGNsYXNz
IEVuY29kZXIgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwpAQCAtNDEsNyArMzcsNiBA
QCBwdWJsaWM6CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIEVuY29kZXIoKTsKICAgICBXVEZfRVhQ
T1JUX1BSSVZBVEUgfkVuY29kZXIoKTsKIAotICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGVu
Y29kZUNoZWNrc3VtKCk7CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgZW5jb2RlRml4ZWRM
ZW5ndGhEYXRhKGNvbnN0IHVpbnQ4X3QqLCBzaXplX3QpOwogCiAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVD4gdm9pZCBlbmNvZGVFbnVtKFQgdCkKQEAgLTY1LDExICs2MCwxMSBAQCBwdWJsaWM6CiAg
ICAgY29uc3QgdWludDhfdCogYnVmZmVyKCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXIuZGF0YSgp
OyB9CiAgICAgc2l6ZV90IGJ1ZmZlclNpemUoKSBjb25zdCB7IHJldHVybiBtX2J1ZmZlci5zaXpl
KCk7IH0KIAotICAgIFdURl9FWFBPUlRfUFJJVkFURSBzdGF0aWMgdm9pZCB1cGRhdGVDaGVja3N1
bUZvckRhdGEoU0hBMSYsIGNvbnN0IHVpbnQ4X3QqLCBzaXplX3QpOwotICAgIHRlbXBsYXRlIDx0
eXBlbmFtZSBUeXBlPiBzdGF0aWMgdm9pZCB1cGRhdGVDaGVja3N1bUZvck51bWJlcihTSEExJiwg
VHlwZSk7Ci0KICAgICBzdGF0aWMgY29uc3QgYm9vbCBpc0lQQ0VuY29kZXIgPSBmYWxzZTsKIAor
cHJvdGVjdGVkOgorICAgIHN0ZDo6b3B0aW9uYWw8U0hBMT4gbV9zaGExOworCiBwcml2YXRlOgog
ICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIGVuY29kZShib29sKTsKICAgICBXVEZfRVhQT1JU
X1BSSVZBVEUgdm9pZCBlbmNvZGUodWludDhfdCk7CkBAIC04NSwzMCArODAsMzcgQEAgcHJpdmF0
ZToKIAogICAgIHVpbnQ4X3QqIGdyb3coc2l6ZV90KTsKIAotICAgIHRlbXBsYXRlIDx0eXBlbmFt
ZSBUeXBlPiBzdHJ1Y3QgU2FsdDsKLQogICAgIFZlY3Rvcjx1aW50OF90LCA0MDk2PiBtX2J1ZmZl
cjsKLSAgICBTSEExIG1fc2hhMTsKIH07CiAKLXRlbXBsYXRlIDw+IHN0cnVjdCBFbmNvZGVyOjpT
YWx0PGJvb2w+IHsgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHZhbHVlID0gMzsgfTsKLXRlbXBsYXRl
IDw+IHN0cnVjdCBFbmNvZGVyOjpTYWx0PHVpbnQ4X3Q+IHsgc3RhdGljIGNvbnN0ICB1bnNpZ25l
ZCB2YWx1ZSA9IDU7IH07Ci10ZW1wbGF0ZSA8PiBzdHJ1Y3QgRW5jb2Rlcjo6U2FsdDx1aW50MTZf
dD4geyBzdGF0aWMgY29uc3QgdW5zaWduZWQgdmFsdWUgPSA3OyB9OwotdGVtcGxhdGUgPD4gc3Ry
dWN0IEVuY29kZXI6OlNhbHQ8dWludDMyX3Q+IHsgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHZhbHVl
ID0gMTE7IH07Ci10ZW1wbGF0ZSA8PiBzdHJ1Y3QgRW5jb2Rlcjo6U2FsdDx1aW50NjRfdD4geyBz
dGF0aWMgY29uc3QgdW5zaWduZWQgdmFsdWUgPSAxMzsgfTsKLXRlbXBsYXRlIDw+IHN0cnVjdCBF
bmNvZGVyOjpTYWx0PGludDMyX3Q+IHsgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHZhbHVlID0gMTc7
IH07Ci10ZW1wbGF0ZSA8PiBzdHJ1Y3QgRW5jb2Rlcjo6U2FsdDxpbnQ2NF90PiB7IHN0YXRpYyBj
b25zdCB1bnNpZ25lZCB2YWx1ZSA9IDE5OyB9OwotdGVtcGxhdGUgPD4gc3RydWN0IEVuY29kZXI6
OlNhbHQ8ZmxvYXQ+IHsgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHZhbHVlID0gMjM7IH07Ci10ZW1w
bGF0ZSA8PiBzdHJ1Y3QgRW5jb2Rlcjo6U2FsdDxkb3VibGU+IHsgc3RhdGljIGNvbnN0IHVuc2ln
bmVkIHZhbHVlID0gMjk7IH07Ci10ZW1wbGF0ZSA8PiBzdHJ1Y3QgRW5jb2Rlcjo6U2FsdDx1aW50
OF90Kj4geyBzdGF0aWMgY29uc3QgdW5zaWduZWQgdmFsdWUgPSAxMDE7IH07Cit0ZW1wbGF0ZSA8
dHlwZW5hbWUgVHlwZT4gc3RydWN0IFNhbHQ7Cit0ZW1wbGF0ZSA8PiBzdHJ1Y3QgU2FsdDxib29s
PiB7IHN0YXRpYyBjb25zdCB1bnNpZ25lZCB2YWx1ZSA9IDM7IH07Cit0ZW1wbGF0ZSA8PiBzdHJ1
Y3QgU2FsdDx1aW50OF90PiB7IHN0YXRpYyBjb25zdCAgdW5zaWduZWQgdmFsdWUgPSA1OyB9Owor
dGVtcGxhdGUgPD4gc3RydWN0IFNhbHQ8dWludDE2X3Q+IHsgc3RhdGljIGNvbnN0IHVuc2lnbmVk
IHZhbHVlID0gNzsgfTsKK3RlbXBsYXRlIDw+IHN0cnVjdCBTYWx0PHVpbnQzMl90PiB7IHN0YXRp
YyBjb25zdCB1bnNpZ25lZCB2YWx1ZSA9IDExOyB9OwordGVtcGxhdGUgPD4gc3RydWN0IFNhbHQ8
dWludDY0X3Q+IHsgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHZhbHVlID0gMTM7IH07Cit0ZW1wbGF0
ZSA8PiBzdHJ1Y3QgU2FsdDxpbnQzMl90PiB7IHN0YXRpYyBjb25zdCB1bnNpZ25lZCB2YWx1ZSA9
IDE3OyB9OwordGVtcGxhdGUgPD4gc3RydWN0IFNhbHQ8aW50NjRfdD4geyBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgdmFsdWUgPSAxOTsgfTsKK3RlbXBsYXRlIDw+IHN0cnVjdCBTYWx0PGZsb2F0PiB7
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCB2YWx1ZSA9IDIzOyB9OwordGVtcGxhdGUgPD4gc3RydWN0
IFNhbHQ8ZG91YmxlPiB7IHN0YXRpYyBjb25zdCB1bnNpZ25lZCB2YWx1ZSA9IDI5OyB9OwordGVt
cGxhdGUgPD4gc3RydWN0IFNhbHQ8dWludDhfdCo+IHsgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHZh
bHVlID0gMTAxOyB9OworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVHlwZT4gdm9pZCB1cGRhdGVDaGVj
a3N1bUZvck51bWJlcihTSEExJiwgVHlwZSk7CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBUeXBlPgot
dm9pZCBFbmNvZGVyOjp1cGRhdGVDaGVja3N1bUZvck51bWJlcihTSEExJiBzaGExLCBUeXBlIHZh
bHVlKQordm9pZCB1cGRhdGVDaGVja3N1bUZvck51bWJlcihTSEExJiBzaGExLCBUeXBlIHZhbHVl
KQogewogICAgIGF1dG8gdHlwZVNhbHQgPSBTYWx0PFR5cGU+Ojp2YWx1ZTsKICAgICBzaGExLmFk
ZEJ5dGVzKHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KCZ0eXBlU2FsdCksIHNpemVvZih0eXBl
U2FsdCkpOwogICAgIHNoYTEuYWRkQnl0ZXMocmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4oJnZh
bHVlKSwgc2l6ZW9mKHZhbHVlKSk7CiB9CiAKLX0KLX0KK3ZvaWQgdXBkYXRlQ2hlY2tzdW1Gb3JE
YXRhKFNIQTEmLCBjb25zdCB1aW50OF90Kiwgc2l6ZV90KTsKKworY2xhc3MgQ2hlY2tzdW1FbmNv
ZGVyIDogcHVibGljIEVuY29kZXIgeworcHVibGljOgorICAgIFdURl9FWFBPUlRfUFJJVkFURSBD
aGVja3N1bUVuY29kZXIoKTsKKyAgICBXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCBlbmNvZGVDaGVj
a3N1bSgpOworfTsKKworfSAvLyBuYW1lc3BhY2UgV1RGCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDc1ODFiYTli
OGEuLmQwZjRmYjg0NmQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTggQEAKIDIwMTctMDgtMTAg
IEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCisgICAgICAgIE1ha2UgdGhlIFdU
RiBFbmNvZGVyL0RlY29kZXJzIGFwcHJvcHJpYXRlIGZvciBpbi1tZW1vcnkgZW5jb2RpbmcgKERv
bid0IGFsd2F5cyBkbyB0aGUgU0hBMSBjaGVja3N1bW1pbmcpLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc1NDQxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gV2ViS2l0IGJlaGF2aW9yIGNoYW5nZSB5
ZXQsIGJ1dCBuZXcgY2xhc3MgYmVoYXZpb3JzIGNvdmVyZWQgYnkgbmV3IEFQSSB0ZXN0cy4KKwor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmg6CisgICAgICAg
IChXVEY6OlBlcnNpc3RlbmNlOjpDb2RlcjxzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6Ok5ldHdvcmtM
b2FkUHJpb3JpdHk+Pjo6ZW5jb2RlKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6UGVyc2lzdGVu
Y2U6OkNvZGVyPHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6TmV0d29ya0xvYWRQcmlvcml0eT4+Ojpk
ZWNvZGUpOiBEZWxldGVkLgorCisyMDE3LTA4LTEwICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFw
cGxlLmNvbT4KKwogICAgICAgICBBZGQgU2VydmljZVdvcmtlckpvYi4KICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTI0MQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtMb2FkTWV0cmljcy5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9OZXR3b3JrTG9hZE1ldHJpY3MuaAppbmRleCA2
YTUyNjUyMGYxNy4uNTQ5ZWU2MjhmNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9OZXR3b3JrTG9hZE1ldHJpY3MuaApAQCAtMjksOCArMjksOCBAQAogI2lu
Y2x1ZGUgIkhUVFBIZWFkZXJNYXAuaCIKICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KICNpbmNs
dWRlIDx3dGYvU2Vjb25kcy5oPgotI2luY2x1ZGUgPHd0Zi9wZXJzaXN0ZW5jZS9EZWNvZGVyLmg+
Ci0jaW5jbHVkZSA8d3RmL3BlcnNpc3RlbmNlL0VuY29kZXIuaD4KKyNpbmNsdWRlIDx3dGYvY29k
aW5nL0RlY29kZXIuaD4KKyNpbmNsdWRlIDx3dGYvY29kaW5nL0VuY29kZXIuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogI2lmIFBMQVRGT1JNKENPQ09BKQpAQCAtMjQyLDkg
KzI0Miw4IEBAIGJvb2wgTmV0d29ya0xvYWRNZXRyaWNzOjpkZWNvZGUoRGVjb2RlciYgZGVjb2Rl
ciwgTmV0d29ya0xvYWRNZXRyaWNzJiBtZXRyaWNzKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKLS8vIE5ldHdvcmtMb2FkTWV0cmljcyBzaG91bGQgbm90IGJlIHN0b3JlZCBieSB0aGUgV1RG
OjpQZXJzaXN0ZW5jZTo6RGVjb2Rlci4KKy8vIE5ldHdvcmtMb2FkTWV0cmljcyBzaG91bGQgbm90
IGJlIHN0b3JlZCBieSB0aGUgV1RGOjpEZWNvZGVyLgogbmFtZXNwYWNlIFdURiB7Ci1uYW1lc3Bh
Y2UgUGVyc2lzdGVuY2UgewogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBDb2RlcjxzdGQ6Om9wdGlvbmFs
PFdlYkNvcmU6Ok5ldHdvcmtMb2FkUHJpb3JpdHk+PiB7CiAgICAgc3RhdGljIE5PX1JFVFVSTl9E
VUVfVE9fQVNTRVJUIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFdl
YkNvcmU6Ok5ldHdvcmtMb2FkUHJpb3JpdHk+JikKQEAgLTI1OSw0ICsyNTgsNCBAQCB0ZW1wbGF0
ZTw+IHN0cnVjdCBDb2RlcjxzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6Ok5ldHdvcmtMb2FkUHJpb3Jp
dHk+PiB7CiAgICAgfQogfTsKIAotfX0gLy8gbmFtZXNwYWNlIFdURjo6UGVyc2lzdGVuY2UKK30g
Ly8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkNzhjYTFkZDM0Ni4uNWJlNTFiODA2ZDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsNTEgQEAKIDIwMTctMDgtMTAgIEJyYWR5IEVpZHNvbiAgPGJlaWRz
b25AYXBwbGUuY29tPgogCisgICAgICAgIE1ha2UgdGhlIFdURiBFbmNvZGVyL0RlY29kZXJzIGFw
cHJvcHJpYXRlIGZvciBpbi1tZW1vcnkgZW5jb2RpbmcgKERvbid0IGFsd2F5cyBkbyB0aGUgU0hB
MSBjaGVja3N1bW1pbmcpLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTc1NDQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVDb2RlcnMuY3BwOgor
ICAgICAgICAoV1RGOjpQZXJzaXN0ZW5jZTo6Q29kZXI8V2ViQ29yZTo6SFRUUEhlYWRlck1hcD46
OmVuY29kZSk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OlBlcnNpc3RlbmNlOjpDb2RlcjxXZWJD
b3JlOjpIVFRQSGVhZGVyTWFwPjo6ZGVjb2RlKTogRGVsZXRlZC4KKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVDb2RlcnMuaDoKKworICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUNvZGVyc0NvY29hLmNwcDoKKyAgICAgICAgKFdURjo6
UGVyc2lzdGVuY2U6OmVuY29kZUNGRGF0YSk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OlBlcnNp
c3RlbmNlOjpkZWNvZGVDRkRhdGEpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpQZXJzaXN0ZW5j
ZTo6ZW5jb2RlU2VjVHJ1c3RSZWYpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpQZXJzaXN0ZW5j
ZTo6ZGVjb2RlU2VjVHJ1c3RSZWYpOiBEZWxldGVkLgorICAgICAgICAoV1RGOjpQZXJzaXN0ZW5j
ZTo6ZW5jb2RlQ2VydGlmaWNhdGVDaGFpbik6IERlbGV0ZWQuCisgICAgICAgIChXVEY6OlBlcnNp
c3RlbmNlOjpkZWNvZGVDZXJ0aWZpY2F0ZUNoYWluKTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6
UGVyc2lzdGVuY2U6OkNvZGVyPFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbz46OmVuY29kZSk6IERl
bGV0ZWQuCisgICAgICAgIChXVEY6OlBlcnNpc3RlbmNlOjpDb2RlcjxXZWJDb3JlOjpDZXJ0aWZp
Y2F0ZUluZm8+OjpkZWNvZGUpOiBEZWxldGVkLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvTmV0d29ya0NhY2hlRW50cnkuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2Fj
aGU6OkVudHJ5OjplbmNvZGVBc1N0b3JhZ2VSZWNvcmQgY29uc3QpOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrQ2FjaGU6OkVudHJ5OjpkZWNvZGVTdG9yYWdlUmVjb3JkKToKKworICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtleS5jcHA6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtDYWNoZTo6S2V5OjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrQ2FjaGU6OktleTo6ZGVjb2RlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVLZXkuaDoKKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZVN0b3JhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OmRl
Y29kZVJlY29yZE1ldGFEYXRhKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjplbmNv
ZGVSZWNvcmRNZXRhRGF0YSk6CisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVTdWJyZXNvdXJjZXNFbnRyeS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtD
YWNoZTo6U3VicmVzb3VyY2VJbmZvOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrQ2FjaGU6OlN1YnJlc291cmNlSW5mbzo6ZGVjb2RlKToKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya0NhY2hlOjpTdWJyZXNvdXJjZXNFbnRyeTo6ZW5jb2RlQXNTdG9yYWdlUmVjb3JkIGNv
bnN0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpTdWJyZXNvdXJjZXNFbnRyeTo6
ZGVjb2RlU3RvcmFnZVJlY29yZCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0
d29ya0NhY2hlU3VicmVzb3VyY2VzRW50cnkuaDoKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
QVBJQ29udGVudFJ1bGVMaXN0U3RvcmUuY3BwOgorICAgICAgICAoQVBJOjplbmNvZGVDb250ZW50
UnVsZUxpc3RNZXRhRGF0YSk6CisgICAgICAgIChBUEk6OmRlY29kZUNvbnRlbnRSdWxlTGlzdE1l
dGFEYXRhKToKKworMjAxNy0wOC0xMCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+
CisKICAgICAgICAgQWRkIFNlcnZpY2VXb3JrZXJKb2IuCiAgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzUyNDEKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVDb2RlcnMuY3BwIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVDb2RlcnMuY3BwCmluZGV4
IDg0MjNiMzFlNmNmLi42NWExNGM0ZTA3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlQ29kZXJzLmNwcApAQCAtMjksNyAr
MjksNiBAQAogI2lmIEVOQUJMRShORVRXT1JLX0NBQ0hFKQogCiBuYW1lc3BhY2UgV1RGIHsKLW5h
bWVzcGFjZSBQZXJzaXN0ZW5jZSB7CiAKIC8vIFN0b3JlIGNvbW1vbiBIVFRQIGhlYWRlcnMgYXMg
c3RyaW5ncyBpbnN0ZWFkIG9mIHVzaW5nIHRoZWlyIHZhbHVlIGluIHRoZSBIVFRQSGVhZGVyTmFt
ZSBlbnVtZXJhdGlvbgogLy8gc28gdGhhdCB0aGUgaGVhZGVycyBzdG9yZWQgaW4gdGhlIGNhY2hl
IHN0YXlzIHZhbGlkIGV2ZW4gYWZ0ZXIgSFRUUEhlYWRlck5hbWUuaW4gZ2V0cyB1cGRhdGVkLgpA
QCAtNTksNyArNTgsNiBAQCBib29sIENvZGVyPFdlYkNvcmU6OkhUVFBIZWFkZXJNYXA+OjpkZWNv
ZGUoRGVjb2RlciYgZGVjb2RlciwgV2ViQ29yZTo6SFRUUEhlYWRlcgogICAgIHJldHVybiB0cnVl
OwogfQogCi19Ci19Cit9IC8vIG5hbWVzcGFjZSBXVEYKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUNvZGVycy5oIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVDb2RlcnMuaApp
bmRleCA4Y2FjOGM0NDg3ZS4uZDM5ZGZhNmYxNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlQ29kZXJzLmgKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVDb2RlcnMuaApAQCAtMzUsMTIg
KzM1LDExIEBACiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvU0hBMS5o
PgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNpbmNsdWRlIDx3dGYvcGVyc2lzdGVuY2UvQ29k
ZXJzLmg+Ci0jaW5jbHVkZSA8d3RmL3BlcnNpc3RlbmNlL0RlY29kZXIuaD4KLSNpbmNsdWRlIDx3
dGYvcGVyc2lzdGVuY2UvRW5jb2Rlci5oPgorI2luY2x1ZGUgPHd0Zi9jb2RpbmcvQ29kZXJzLmg+
CisjaW5jbHVkZSA8d3RmL2NvZGluZy9EZWNvZGVyLmg+CisjaW5jbHVkZSA8d3RmL2NvZGluZy9F
bmNvZGVyLmg+CiAKIG5hbWVzcGFjZSBXVEYgewotbmFtZXNwYWNlIFBlcnNpc3RlbmNlIHsKIAog
dGVtcGxhdGU8PiBzdHJ1Y3QgQ29kZXI8V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvPiB7CiAgICAg
c3RhdGljIHZvaWQgZW5jb2RlKEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUlu
Zm8mKTsKQEAgLTUyLDYgKzUxLDUgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQ29kZXI8V2ViQ29yZTo6
SFRUUEhlYWRlck1hcD4gewogICAgIHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgV2ViQ29y
ZTo6SFRUUEhlYWRlck1hcCYpOwogfTsKIAotfQotfQorfSAvLyBuYW1lc3BhY2UgV1RGCiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlQ29kZXJzQ29jb2EuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVDb2RlcnNDb2NvYS5jcHAKaW5kZXggNWRlNTA5NWQzYWEuLjIwYTdkMGQ2
ODY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZUNvZGVyc0NvY29hLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZUNvZGVyc0NvY29hLmNwcApAQCAtMzUsNyArMzUsNiBAQAogI2Vu
ZGlmCiAKIG5hbWVzcGFjZSBXVEYgewotbmFtZXNwYWNlIFBlcnNpc3RlbmNlIHsKIAogc3RhdGlj
IHZvaWQgZW5jb2RlQ0ZEYXRhKEVuY29kZXImIGVuY29kZXIsIENGRGF0YVJlZiBkYXRhKQogewpA
QCAtMTg5LDYgKzE4OCw1IEBAIGJvb2wgQ29kZXI8V2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvPjo6
ZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFdlYkNvcmU6OkNlcnRpZmljCiB9CiAKIH0KLX0KIAog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZUVudHJ5LmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
TmV0d29ya0NhY2hlRW50cnkuY3BwCmluZGV4IDIzYTZkN2ExNDZkLi41OTM4YTc5ZGJiMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVF
bnRyeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVFbnRyeS5jcHAKQEAgLTgzLDcgKzgzLDcgQEAgRW50cnk6OkVudHJ5KGNvbnN0IFN0b3Jh
Z2U6OlJlY29yZCYgc3RvcmFnZUVudHJ5KQogCiBTdG9yYWdlOjpSZWNvcmQgRW50cnk6OmVuY29k
ZUFzU3RvcmFnZVJlY29yZCgpIGNvbnN0CiB7Ci0gICAgV1RGOjpQZXJzaXN0ZW5jZTo6RW5jb2Rl
ciBlbmNvZGVyOworICAgIFdURjo6Q2hlY2tzdW1FbmNvZGVyIGVuY29kZXI7CiAgICAgZW5jb2Rl
ciA8PCBtX3Jlc3BvbnNlOwogCiAgICAgYm9vbCBoYXNWYXJ5aW5nUmVxdWVzdEhlYWRlcnMgPSAh
bV92YXJ5aW5nUmVxdWVzdEhlYWRlcnMuaXNFbXB0eSgpOwpAQCAtMTEwLDcgKzExMCw3IEBAIHN0
ZDo6dW5pcXVlX3B0cjxFbnRyeT4gRW50cnk6OmRlY29kZVN0b3JhZ2VSZWNvcmQoY29uc3QgU3Rv
cmFnZTo6UmVjb3JkJiBzdG9yYWdlCiB7CiAgICAgYXV0byBlbnRyeSA9IHN0ZDo6bWFrZV91bmlx
dWU8RW50cnk+KHN0b3JhZ2VFbnRyeSk7CiAKLSAgICBXVEY6OlBlcnNpc3RlbmNlOjpEZWNvZGVy
IGRlY29kZXIoc3RvcmFnZUVudHJ5LmhlYWRlci5kYXRhKCksIHN0b3JhZ2VFbnRyeS5oZWFkZXIu
c2l6ZSgpKTsKKyAgICBXVEY6OkNoZWNrc3VtRGVjb2RlciBkZWNvZGVyKHN0b3JhZ2VFbnRyeS5o
ZWFkZXIuZGF0YSgpLCBzdG9yYWdlRW50cnkuaGVhZGVyLnNpemUoKSk7CiAgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShlbnRyeS0+bV9yZXNwb25zZSkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwog
ICAgIGVudHJ5LT5tX3Jlc3BvbnNlLnNldFNvdXJjZShXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNl
OjpTb3VyY2U6OkRpc2tDYWNoZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtleS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtleS5jcHAKaW5kZXggNmRkN2Y0NDk0MmEuLmY0ZGI4
ZThiZTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZUtleS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVLZXkuY3BwCkBAIC0zMCw4ICszMCw4IEBACiAKICNpbmNsdWRlICJOZXR3
b3JrQ2FjaGVDb2RlcnMuaCIKICNpbmNsdWRlIDx3dGYvQVNDSUlDVHlwZS5oPgotI2luY2x1ZGUg
PHd0Zi9wZXJzaXN0ZW5jZS9EZWNvZGVyLmg+Ci0jaW5jbHVkZSA8d3RmL3BlcnNpc3RlbmNlL0Vu
Y29kZXIuaD4KKyNpbmNsdWRlIDx3dGYvY29kaW5nL0RlY29kZXIuaD4KKyNpbmNsdWRlIDx3dGYv
Y29kaW5nL0VuY29kZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCkBAIC0xNjUsNyArMTY1LDcgQEAgYm9vbCBL
ZXk6Om9wZXJhdG9yPT0oY29uc3QgS2V5JiBvdGhlcikgY29uc3QKICAgICByZXR1cm4gbV9oYXNo
ID09IG90aGVyLm1faGFzaCAmJiBtX3BhcnRpdGlvbiA9PSBvdGhlci5tX3BhcnRpdGlvbiAmJiBt
X3R5cGUgPT0gb3RoZXIubV90eXBlICYmIG1faWRlbnRpZmllciA9PSBvdGhlci5tX2lkZW50aWZp
ZXIgJiYgbV9yYW5nZSA9PSBvdGhlci5tX3JhbmdlOwogfQogCi12b2lkIEtleTo6ZW5jb2RlKFdU
Rjo6UGVyc2lzdGVuY2U6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit2b2lkIEtleTo6ZW5jb2Rl
KFdURjo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIHsKICAgICBlbmNvZGVyIDw8IG1fcGFydGl0
aW9uOwogICAgIGVuY29kZXIgPDwgbV90eXBlOwpAQCAtMTc1LDcgKzE3NSw3IEBAIHZvaWQgS2V5
OjplbmNvZGUoV1RGOjpQZXJzaXN0ZW5jZTo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICAgICBl
bmNvZGVyIDw8IG1fcGFydGl0aW9uSGFzaDsKIH0KIAotYm9vbCBLZXk6OmRlY29kZShXVEY6OlBl
cnNpc3RlbmNlOjpEZWNvZGVyJiBkZWNvZGVyLCBLZXkmIGtleSkKK2Jvb2wgS2V5OjpkZWNvZGUo
V1RGOjpEZWNvZGVyJiBkZWNvZGVyLCBLZXkmIGtleSkKIHsKICAgICByZXR1cm4gZGVjb2Rlci5k
ZWNvZGUoa2V5Lm1fcGFydGl0aW9uKSAmJiBkZWNvZGVyLmRlY29kZShrZXkubV90eXBlKSAmJiBk
ZWNvZGVyLmRlY29kZShrZXkubV9pZGVudGlmaWVyKSAmJiBkZWNvZGVyLmRlY29kZShrZXkubV9y
YW5nZSkgJiYgZGVjb2Rlci5kZWNvZGUoa2V5Lm1faGFzaCkgJiYgZGVjb2Rlci5kZWNvZGUoa2V5
Lm1fcGFydGl0aW9uSGFzaCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtleS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVLZXkuaAppbmRleCA0MzllYmYwZjc5NC4uMzBlODFiNDBh
YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlS2V5LmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGVLZXkuaApAQCAtMzAsNyArMzAsOSBAQAogCiAjaW5jbHVkZSAiTmV0d29ya0NhY2hl
RGF0YS5oIgogI2luY2x1ZGUgPHd0Zi9TSEExLmg+Ci0jaW5jbHVkZSA8d3RmL3BlcnNpc3RlbmNl
L0NvZGVyLmg+CisjaW5jbHVkZSA8d3RmL2NvZGluZy9Db2Rlci5oPgorI2luY2x1ZGUgPHd0Zi9j
b2RpbmcvRGVjb2Rlci5oPgorI2luY2x1ZGUgPHd0Zi9jb2RpbmcvRW5jb2Rlci5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTg0LDgg
Kzg2LDggQEAgcHVibGljOgogICAgIFN0cmluZyBoYXNoQXNTdHJpbmcoKSBjb25zdCB7IHJldHVy
biBoYXNoQXNTdHJpbmcobV9oYXNoKTsgfQogICAgIFN0cmluZyBwYXJ0aXRpb25IYXNoQXNTdHJp
bmcoKSBjb25zdCB7IHJldHVybiBoYXNoQXNTdHJpbmcobV9wYXJ0aXRpb25IYXNoKTsgfQogCi0g
ICAgdm9pZCBlbmNvZGUoV1RGOjpQZXJzaXN0ZW5jZTo6RW5jb2RlciYpIGNvbnN0OwotICAgIHN0
YXRpYyBib29sIGRlY29kZShXVEY6OlBlcnNpc3RlbmNlOjpEZWNvZGVyJiwgS2V5Jik7CisgICAg
dm9pZCBlbmNvZGUoV1RGOjpFbmNvZGVyJikgY29uc3Q7CisgICAgc3RhdGljIGJvb2wgZGVjb2Rl
KFdURjo6RGVjb2RlciYsIEtleSYpOwogCiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEtleSYp
IGNvbnN0OwogICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBLZXkmIG90aGVyKSBjb25zdCB7IHJl
dHVybiAhKCp0aGlzID09IG90aGVyKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVTdG9yYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKaW5kZXggODAzYTk5
ZmJkZGQuLjJkOTEwMjk2MDU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN0b3JhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3RvcmFnZS5jcHAKQEAgLTM5Niw3ICszOTYs
NyBAQCBzdGF0aWMgYm9vbCBkZWNvZGVSZWNvcmRNZXRhRGF0YShSZWNvcmRNZXRhRGF0YSYgbWV0
YURhdGEsIGNvbnN0IERhdGEmIGZpbGVEYXRhKQogewogICAgIGJvb2wgc3VjY2VzcyA9IGZhbHNl
OwogICAgIGZpbGVEYXRhLmFwcGx5KFsmbWV0YURhdGEsICZzdWNjZXNzXShjb25zdCB1aW50OF90
KiBkYXRhLCBzaXplX3Qgc2l6ZSkgewotICAgICAgICBXVEY6OlBlcnNpc3RlbmNlOjpEZWNvZGVy
IGRlY29kZXIoZGF0YSwgc2l6ZSk7CisgICAgICAgIFdURjo6Q2hlY2tzdW1EZWNvZGVyIGRlY29k
ZXIoZGF0YSwgc2l6ZSk7CiAgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUobWV0YURhdGEuY2Fj
aGVTdG9yYWdlVmVyc2lvbikpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUobWV0YURhdGEua2V5KSkKQEAgLTQ4MCw3ICs0ODAsNyBAQCB2b2lk
IFN0b3JhZ2U6OnJlYWRSZWNvcmQoUmVhZE9wZXJhdGlvbiYgcmVhZE9wZXJhdGlvbiwgY29uc3Qg
RGF0YSYgcmVjb3JkRGF0YSkKIAogc3RhdGljIERhdGEgZW5jb2RlUmVjb3JkTWV0YURhdGEoY29u
c3QgUmVjb3JkTWV0YURhdGEmIG1ldGFEYXRhKQogewotICAgIFdURjo6UGVyc2lzdGVuY2U6OkVu
Y29kZXIgZW5jb2RlcjsKKyAgICBXVEY6OkNoZWNrc3VtRW5jb2RlciBlbmNvZGVyOwogCiAgICAg
ZW5jb2RlciA8PCBtZXRhRGF0YS5jYWNoZVN0b3JhZ2VWZXJzaW9uOwogICAgIGVuY29kZXIgPDwg
bWV0YURhdGEua2V5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVTdWJyZXNvdXJjZXNFbnRyeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZVN1YnJlc291cmNlc0VudHJ5LmNwcAppbmRl
eCA1NjFlNGU2Yjg4MC4uZGRjY2JlNmEyMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3VicmVzb3VyY2VzRW50cnkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3VicmVzb3Vy
Y2VzRW50cnkuY3BwCkBAIC0zNiw3ICszNiw3IEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ6OmNocm9u
bzsKIG5hbWVzcGFjZSBXZWJLaXQgewogbmFtZXNwYWNlIE5ldHdvcmtDYWNoZSB7CiAKLXZvaWQg
U3VicmVzb3VyY2VJbmZvOjplbmNvZGUoV1RGOjpQZXJzaXN0ZW5jZTo6RW5jb2RlciYgZW5jb2Rl
cikgY29uc3QKK3ZvaWQgU3VicmVzb3VyY2VJbmZvOjplbmNvZGUoV1RGOjpFbmNvZGVyJiBlbmNv
ZGVyKSBjb25zdAogewogICAgIGVuY29kZXIgPDwgbV9rZXk7CiAgICAgZW5jb2RlciA8PCBtX2xh
c3RTZWVuOwpAQCAtNTIsNyArNTIsNyBAQCB2b2lkIFN1YnJlc291cmNlSW5mbzo6ZW5jb2RlKFdU
Rjo6UGVyc2lzdGVuY2U6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2Rlci5lbmNv
ZGVFbnVtKG1fcHJpb3JpdHkpOwogfQogCi1ib29sIFN1YnJlc291cmNlSW5mbzo6ZGVjb2RlKFdU
Rjo6UGVyc2lzdGVuY2U6OkRlY29kZXImIGRlY29kZXIsIFN1YnJlc291cmNlSW5mbyYgaW5mbykK
K2Jvb2wgU3VicmVzb3VyY2VJbmZvOjpkZWNvZGUoV1RGOjpEZWNvZGVyJiBkZWNvZGVyLCBTdWJy
ZXNvdXJjZUluZm8mIGluZm8pCiB7CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShpbmZvLm1fa2V5
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtODEsNyArODEsNyBAQCBib29sIFN1YnJlc291
cmNlSW5mbzo6ZGVjb2RlKFdURjo6UGVyc2lzdGVuY2U6OkRlY29kZXImIGRlY29kZXIsIFN1YnJl
c291cmNlSW5mbwogCiBTdG9yYWdlOjpSZWNvcmQgU3VicmVzb3VyY2VzRW50cnk6OmVuY29kZUFz
U3RvcmFnZVJlY29yZCgpIGNvbnN0CiB7Ci0gICAgV1RGOjpQZXJzaXN0ZW5jZTo6RW5jb2RlciBl
bmNvZGVyOworICAgIFdURjo6Q2hlY2tzdW1FbmNvZGVyIGVuY29kZXI7CiAgICAgZW5jb2RlciA8
PCBtX3N1YnJlc291cmNlczsKIAogICAgIGVuY29kZXIuZW5jb2RlQ2hlY2tzdW0oKTsKQEAgLTkz
LDcgKzkzLDcgQEAgc3RkOjp1bmlxdWVfcHRyPFN1YnJlc291cmNlc0VudHJ5PiBTdWJyZXNvdXJj
ZXNFbnRyeTo6ZGVjb2RlU3RvcmFnZVJlY29yZChjb25zdAogewogICAgIGF1dG8gZW50cnkgPSBz
dGQ6Om1ha2VfdW5pcXVlPFN1YnJlc291cmNlc0VudHJ5PihzdG9yYWdlRW50cnkpOwogCi0gICAg
V1RGOjpQZXJzaXN0ZW5jZTo6RGVjb2RlciBkZWNvZGVyKHN0b3JhZ2VFbnRyeS5oZWFkZXIuZGF0
YSgpLCBzdG9yYWdlRW50cnkuaGVhZGVyLnNpemUoKSk7CisgICAgV1RGOjpDaGVja3N1bURlY29k
ZXIgZGVjb2RlcihzdG9yYWdlRW50cnkuaGVhZGVyLmRhdGEoKSwgc3RvcmFnZUVudHJ5LmhlYWRl
ci5zaXplKCkpOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZW50cnktPm1fc3VicmVzb3VyY2Vz
KSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3VicmVzb3VyY2VzRW50cnkuaCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3VicmVzb3VyY2Vz
RW50cnkuaAppbmRleCBjMmQ1ZGE4YjEzYy4uMzE3YzdkZThkOGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlU3VicmVzb3VyY2VzRW50
cnkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNo
ZVN1YnJlc291cmNlc0VudHJ5LmgKQEAgLTM5LDggKzM5LDggQEAgbmFtZXNwYWNlIE5ldHdvcmtD
YWNoZSB7CiBjbGFzcyBTdWJyZXNvdXJjZUluZm8gewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NB
VEVEOwogcHVibGljOgotICAgIHZvaWQgZW5jb2RlKFdURjo6UGVyc2lzdGVuY2U6OkVuY29kZXIm
KSBjb25zdDsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoV1RGOjpQZXJzaXN0ZW5jZTo6RGVjb2Rl
ciYsIFN1YnJlc291cmNlSW5mbyYpOworICAgIHZvaWQgZW5jb2RlKFdURjo6RW5jb2RlciYpIGNv
bnN0OworICAgIHN0YXRpYyBib29sIGRlY29kZShXVEY6OkRlY29kZXImLCBTdWJyZXNvdXJjZUlu
Zm8mKTsKIAogICAgIFN1YnJlc291cmNlSW5mbygpID0gZGVmYXVsdDsKICAgICBTdWJyZXNvdXJj
ZUluZm8oY29uc3QgS2V5JiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3Qg
U3VicmVzb3VyY2VJbmZvKiBwcmV2aW91c0luZm8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0FQSUNvbnRlbnRSdWxlTGlzdFN0b3JlLmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9BUElDb250ZW50UnVsZUxpc3RTdG9yZS5jcHAKaW5kZXggNjljY2E5
ZTQ1YmUuLmQ1MjQ3MWYzMDZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQVBJQ29udGVudFJ1bGVMaXN0U3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9BUElDb250ZW50UnVsZUxpc3RTdG9yZS5jcHAKQEAgLTQwLDggKzQwLDggQEAKICNp
bmNsdWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgog
I2luY2x1ZGUgPHd0Zi9Xb3JrUXVldWUuaD4KLSNpbmNsdWRlIDx3dGYvcGVyc2lzdGVuY2UvRGVj
b2Rlci5oPgotI2luY2x1ZGUgPHd0Zi9wZXJzaXN0ZW5jZS9FbmNvZGVyLmg+CisjaW5jbHVkZSA8
d3RmL2NvZGluZy9EZWNvZGVyLmg+CisjaW5jbHVkZSA8d3RmL2NvZGluZy9FbmNvZGVyLmg+CiAK
IHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ6Ok5ldHdvcmtDYWNoZTsKIApAQCAtMTM4LDcgKzEzOCw3
IEBAIHN0cnVjdCBDb250ZW50UnVsZUxpc3RNZXRhRGF0YSB7CiAKIHN0YXRpYyBEYXRhIGVuY29k
ZUNvbnRlbnRSdWxlTGlzdE1ldGFEYXRhKGNvbnN0IENvbnRlbnRSdWxlTGlzdE1ldGFEYXRhJiBt
ZXRhRGF0YSkKIHsKLSAgICBXVEY6OlBlcnNpc3RlbmNlOjpFbmNvZGVyIGVuY29kZXI7CisgICAg
V1RGOjpDaGVja3N1bUVuY29kZXIgZW5jb2RlcjsKIAogICAgIGVuY29kZXIgPDwgbWV0YURhdGEu
dmVyc2lvbjsKICAgICBlbmNvZGVyIDw8IG1ldGFEYXRhLnNvdXJjZVNpemU7CkBAIC0xNjEsNyAr
MTYxLDcgQEAgc3RhdGljIGJvb2wgZGVjb2RlQ29udGVudFJ1bGVMaXN0TWV0YURhdGEoQ29udGVu
dFJ1bGVMaXN0TWV0YURhdGEmIG1ldGFEYXRhLCBjb24KICAgICAgICAgaWYgKHNpemUgIT0gZmls
ZURhdGEuc2l6ZSgpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgICAgIFdURjo6
UGVyc2lzdGVuY2U6OkRlY29kZXIgZGVjb2RlcihkYXRhLCBzaXplKTsKKyAgICAgICAgV1RGOjpD
aGVja3N1bURlY29kZXIgZGVjb2RlcihkYXRhLCBzaXplKTsKICAgICAgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShtZXRhRGF0YS52ZXJzaW9uKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShtZXRhRGF0YS5zb3VyY2VTaXplKSkKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA1ZTllNmI0OWU2MC4u
NjkyZWMxYjU5ZTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNy0wOC0xMCAgQnJhZHkgRWlkc29uICA8YmVpZHNv
bkBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSB0aGUgV1RGIEVuY29kZXIvRGVjb2RlcnMgYXBw
cm9wcmlhdGUgZm9yIGluLW1lbW9yeSBlbmNvZGluZyAoRG9uJ3QgYWx3YXlzIGRvIHRoZSBTSEEx
IGNoZWNrc3VtbWluZykuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzU0NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgdGVzdHMgdGhhdCB2ZXJpZnk6CisgICAgICAgIC0gIk5vcm1hbCIgZW5jb2Rp
bmcgcHJvZHVjZXMgYSBzbWFsbGVyIGJ1ZmZlciB0aGFuICJjaGVja3N1bSIgZW5jb2RpbmcuCisg
ICAgICAgIC0gIk5vcm1hbCIgZW5jb2RpbmcvZGVjb2RpbmcgaXMgZmFzdGVyIHRoYW4gImNoZWNr
c3VtIiBlbmNvZGluZy9kZWNvZGluZy4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdl
YktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRB
UEkvVGVzdHMvV1RGL0NvZGluZy5jcHA6IEFkZGVkLgorCiAyMDE3LTA4LTEwICBNczJnZXIgIDxN
czJnZXJAaWdhbGlhLmNvbT4KIAogICAgICAgICBBZGQgTXMyZ2VyIGFzIGNvbnRyaWJ1dG9yLgpk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2ZjIzMDJlM2RlYS4uNmZjMDJjZGI1MzMgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNzMsNiArMTczLDcgQEAKIAkJNTFCMUVFOTcxQzgwRkFF
RjAwNjRGQjk4IC8qIEluZGV4ZWREQlBlcnNpc3RlbmNlLTIuaHRtbCBpbiBDb3B5IFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUIxRUU5NTFDODBGQUREMDA2
NEZCOTggLyogSW5kZXhlZERCUGVyc2lzdGVuY2UtMi5odG1sICovOyB9OwogCQk1MUJDRUU0RTFD
ODRGNTNCMDA0MkM4MkUgLyogSW5kZXhlZERCTXVsdGlQcm9jZXNzLTEuaHRtbCBpbiBDb3B5IFJl
c291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUJDRUU0QzFDODRG
NTJDMDA0MkM4MkUgLyogSW5kZXhlZERCTXVsdGlQcm9jZXNzLTEuaHRtbCAqLzsgfTsKIAkJNTFC
Q0VFNEYxQzg0RjUzQjAwNDJDODJFIC8qIEluZGV4ZWREQk11bHRpUHJvY2Vzcy0yLmh0bWwgaW4g
Q29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFCQ0VF
NEQxQzg0RjUyQzAwNDJDODJFIC8qIEluZGV4ZWREQk11bHRpUHJvY2Vzcy0yLmh0bWwgKi87IH07
CisJCTUxQkVCNjUwMUYzQ0ZGRDMwMDUwMjlCOSAvKiBDb2RpbmcuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFCRUI2NEYxRjNDRkZDOTAwNTAyOUI5
IC8qIENvZGluZy5jcHAgKi87IH07CiAJCTUxQzY4M0RFMUVBMTM0RTgwMDY1MDE4MyAvKiBXS1VS
TFNjaGVtZUhhbmRsZXItMS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUxQzY4M0REMUVBMTM0REIwMDY1MDE4MyAvKiBXS1VSTFNjaGVtZUhhbmRsZXIt
MS5tbSAqLzsgfTsKIAkJNTFDOEUxQTUxRjI2QUY0QzAwQkY3MzFCIC8qIFJlc291cmNlTG9hZFN0
YXRpc3RpY3MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MUM4RTFBNDFGMjZBQzU0MDBCRjczMUIgLyogUmVzb3VyY2VMb2FkU3RhdGlzdGljcy5tbSAq
LzsgfTsKIAkJNTFDOEUxQTkxRjI3RjQ5NjAwQkY3MzFCIC8qIEVtcHR5R3JhbmRmYXRoZXJlZFJl
c291cmNlTG9hZFN0YXRpc3RpY3MucGxpc3QgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFDOEUxQTgxRjI3RjQ3MzAwQkY3MzFCIC8qIEVtcHR5
R3JhbmRmYXRoZXJlZFJlc291cmNlTG9hZFN0YXRpc3RpY3MucGxpc3QgKi87IH07CkBAIC0xMjI4
LDYgKzEyMjksNyBAQAogCQk1MUJDRUU0OTFDODRGNEFGMDA0MkM4MkUgLyogSW5kZXhlZERCTXVs
dGlQcm9jZXNzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gSW5k
ZXhlZERCTXVsdGlQcm9jZXNzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUJD
RUU0QzFDODRGNTJDMDA0MkM4MkUgLyogSW5kZXhlZERCTXVsdGlQcm9jZXNzLTEuaHRtbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuaHRtbDsgcGF0aCA9ICJJbmRleGVkREJNdWx0aVByb2Nlc3MtMS5odG1sIjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFCQ0VFNEQxQzg0RjUyQzAwNDJDODJFIC8q
IEluZGV4ZWREQk11bHRpUHJvY2Vzcy0yLmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGgg
PSAiSW5kZXhlZERCTXVsdGlQcm9jZXNzLTIuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTUxQkVCNjRGMUYzQ0ZGQzkwMDUwMjlCOSAvKiBDb2RpbmcuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQ29kaW5nLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFDNjgz
REQxRUExMzREQjAwNjUwMTgzIC8qIFdLVVJMU2NoZW1lSGFuZGxlci0xLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gIldLVVJMU2NoZW1lSGFuZGxlci0xLm1tIjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFDOEUxQTQxRjI2QUM1NDAwQkY3MzFCIC8q
IFJlc291cmNlTG9hZFN0YXRpc3RpY3MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUM4RTFB
ODFGMjdGNDczMDBCRjczMUIgLyogRW1wdHlHcmFuZGZhdGhlcmVkUmVzb3VyY2VMb2FkU3RhdGlz
dGljcy5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IGZpbGUuYnBsaXN0OyBwYXRoID0gRW1wdHlHcmFuZGZhdGhlcmVkUmVzb3VyY2VMb2FkU3Rh
dGlzdGljcy5wbGlzdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIzOTksNiArMjQw
MSw3IEBACiAJCQkJMjZGMUI0NDIxNUNBNDM0RjAwRDFFNEJGIC8qIEF0b21pY1N0cmluZy5jcHAg
Ki8sCiAJCQkJRTQwMDE5MzAxQUNFOUI1QzAwMUIwQTJBIC8qIEJsb29tRmlsdGVyLmNwcCAqLywK
IAkJCQlBN0E5NjZEQTE0MEVDQ0M4MDA1RUY5QjQgLyogQ2hlY2tlZEFyaXRobWV0aWNPcGVyYXRp
b25zLmNwcCAqLywKKwkJCQk1MUJFQjY0RjFGM0NGRkM5MDA1MDI5QjkgLyogQ29kaW5nLmNwcCAq
LywKIAkJCQkwRkVBRTM2NzFCN0QxOUNCMDBDRTE3RjIgLyogQ29uZGl0aW9uLmNwcCAqLywKIAkJ
CQk1MTcxNEVCOTFEMDg3NDE2MDA0NzIzQzQgLyogQ3Jvc3NUaHJlYWRUYXNrLmNwcCAqLywKIAkJ
CQkyNkEyQzcyRTE1RTJFNzNDMDA1QjFBMTQgLyogQ1N0cmluZy5jcHAgKi8sCkBAIC0yOTkwLDYg
KzI5OTMsNyBAQAogCQkJCTdDODNERjE2MUQwQTU5MEMwMEZFQkNGMyAvKiBSZWZQdHIuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJN0M4M0RGMjQxRDBBNTkwQzAwRkVCQ0YzIC8qIFJldGFpblB0ci5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTdDODNERjA1MUQwQTU5MEMwMEZFQkNGMyAvKiBSdW5Mb29w
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxQkVCNjUwMUYzQ0ZGRDMwMDUwMjlCOSAvKiBDb2Rp
bmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M4M0RGMjYxRDBBNTkwQzAwRkVCQ0YzIC8qIFNh
dHVyYXRlZEFyaXRobWV0aWNPcGVyYXRpb25zLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBMzUy
NEFFMUQ2M0E0RkIwMDMxNzI5QiAvKiBTY29wZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Qzgz
REYxMjFEMEE1OTBDMDBGRUJDRjMgLyogU2NvcGVkTGFtYmRhLmNwcCBpbiBTb3VyY2VzICovLApk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQ29kaW5nLmNwcCBiL1Rv
b2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0NvZGluZy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAuLjAwZTgzNmQ1MzZiCi0tLSAvZGV2L251bGwKKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQ29kaW5nLmNwcApAQCAtMCwwICsxLDEwNSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlIDx3dGYvQ3VycmVudFRp
bWUuaD4KKyNpbmNsdWRlIDx3dGYvY29kaW5nL0RlY29kZXIuaD4KKyNpbmNsdWRlIDx3dGYvY29k
aW5nL0VuY29kZXIuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdURjsKKworbmFtZXNwYWNlIFRlc3RX
ZWJLaXRBUEkgeworCitURVNUKFdURl9Db2RpbmcsIENvZGluZ1NtYWxsZXJUaGFuQ2hlY2tzdW1D
b2RpbmcpCit7CisgICAgdWludDY0X3QgdGVzdFZhbHVlID0gMjYzMTsKKyAgICBFbmNvZGVyIGVu
Y29kZXI7CisgICAgQ2hlY2tzdW1FbmNvZGVyIGNoZWNrc3VtRW5jb2RlcjsKKyAgICBlbmNvZGVy
IDw8IHRlc3RWYWx1ZTsKKyAgICBjaGVja3N1bUVuY29kZXIgPDwgdGVzdFZhbHVlOworICAgIGNo
ZWNrc3VtRW5jb2Rlci5lbmNvZGVDaGVja3N1bSgpOworCisgICAgRVhQRUNUX1RSVUUoY2hlY2tz
dW1FbmNvZGVyLmJ1ZmZlclNpemUoKSA+IGVuY29kZXIuYnVmZmVyU2l6ZSgpKTsKKworICAgIERl
Y29kZXIgZGVjb2RlcihlbmNvZGVyLmJ1ZmZlcigpLCBlbmNvZGVyLmJ1ZmZlclNpemUoKSk7Cisg
ICAgQ2hlY2tzdW1EZWNvZGVyIGNoZWNrc3VtRGVjb2RlcihjaGVja3N1bUVuY29kZXIuYnVmZmVy
KCksIGNoZWNrc3VtRW5jb2Rlci5idWZmZXJTaXplKCkpOworCisgICAgRVhQRUNUX1RSVUUoY2hl
Y2tzdW1EZWNvZGVyLmxlbmd0aCgpID4gZGVjb2Rlci5sZW5ndGgoKSk7CisKKyAgICB1aW50NjRf
dCBkZWNvZGVWYWx1ZTEsIGRlY29kZVZhbHVlMjsKKworICAgIEVYUEVDVF9UUlVFKGRlY29kZXIu
ZGVjb2RlKGRlY29kZVZhbHVlMSkpOworICAgIEVYUEVDVF9UUlVFKGNoZWNrc3VtRGVjb2Rlci5k
ZWNvZGUoZGVjb2RlVmFsdWUyKSk7CisgICAgRVhQRUNUX0VRKGRlY29kZVZhbHVlMSwgZGVjb2Rl
VmFsdWUyKTsKKyAgICBFWFBFQ1RfRVEoZGVjb2RlVmFsdWUxLCB0ZXN0VmFsdWUpOworfQorCisv
LyBFbmNvZGluZyBzaG91bGQgYmUgfjIuNXggZmFzdGVyIHRoYW4gY2hlY2tzdW0gZW5jb2Rpbmcu
CisvLyBEZWNvZGluZyBzaG91bGQgYmUgfjZ4IGZhc3RlciB0aGVuIGNoZWNrc3VtIGRlY29kaW5n
LgorLy8gQ29tcGFyZSAxMCwwMDAgcnVucyBvZiB0aGUgYmFzZSBlbmNvZGVyL2RlY29kZXIgdnMg
OSwwMDAgcnVucyBvZiB0aGUgY2hlY2tzdW0gZW5jb2Rlci9kZWNvZGVyLgorLy8gVGhpcyBzaG91
bGQgcmVsaWFibGUgY2FwdHVyZSBhIG1pc3Rha2Ugd2hlcmUgYm90aCBlbmNvZGVycyBzdGFydCBk
b2luZyB0aGUgZXh0cmEgd29yayBvZiBjaGVja3N1bW1pbmcKKy8vIGJ1dCBzaG91bGQgYWxzbyBy
ZW1haW4gYSByZWxpYWJsZSB0ZXN0IHVudGlsIHRoZSBzcGVlZCBnYXBzIGNsb3NlIGFsbW9zdCBl
bnRpcmVseS4KK1RFU1QoV1RGX0NvZGluZywgQ29kaW5nRmFzdGVyVGhhbkNoZWNrc3VtQ29kaW5n
KQoreworICAgIHVpbnQ2NF90IHRlc3RWYWx1ZSA9IDI2MzE7CisgICAgRW5jb2RlciBlbmNvZGVy
OworICAgIENoZWNrc3VtRW5jb2RlciBjaGVja3N1bUVuY29kZXI7CisKKyAgICBkb3VibGUgbm9y
bWFsVGltZSwgY2hlY2tzdW1UaW1lOworICAgIGRvdWJsZSBzdGFydFRpbWUgPSBjdXJyZW50VGlt
ZSgpOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMTAwMDA7ICsraSkgeworICAgICAgICBlbmNv
ZGVyID0geyB9OworICAgICAgICBlbmNvZGVyIDw8IHRlc3RWYWx1ZTsKKyAgICB9CisgICAgbm9y
bWFsVGltZSA9IGN1cnJlbnRUaW1lKCkgLSBzdGFydFRpbWU7CisKKyAgICBzdGFydFRpbWUgPSBj
dXJyZW50VGltZSgpOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgNzUwMDsgKytpKSB7CisgICAg
ICAgIGNoZWNrc3VtRW5jb2RlciA9IHsgfTsKKyAgICAgICAgY2hlY2tzdW1FbmNvZGVyIDw8IHRl
c3RWYWx1ZTsKKyAgICB9CisgICAgY2hlY2tzdW1UaW1lID0gY3VycmVudFRpbWUoKSAtIHN0YXJ0
VGltZTsKKworICAgIEVYUEVDVF9UUlVFKG5vcm1hbFRpbWUgPCBjaGVja3N1bVRpbWUpOworCisg
ICAgc3RhcnRUaW1lID0gY3VycmVudFRpbWUoKTsKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IDEw
MDAwOyArK2kpIHsKKyAgICAgICAgRGVjb2RlciBkZWNvZGVyID0geyBlbmNvZGVyLmJ1ZmZlcigp
LCBlbmNvZGVyLmJ1ZmZlclNpemUoKSB9OworICAgICAgICBkZWNvZGVyLmRlY29kZSh0ZXN0VmFs
dWUpOworICAgIH0KKyAgICBub3JtYWxUaW1lID0gY3VycmVudFRpbWUoKSAtIHN0YXJ0VGltZTsK
KworICAgIHN0YXJ0VGltZSA9IGN1cnJlbnRUaW1lKCk7CisgICAgZm9yIChpbnQgaSA9IDA7IGkg
PCA3NTAwOyArK2kpIHsKKyAgICAgICAgQ2hlY2tzdW1EZWNvZGVyIGNoZWNrc3VtRGVjb2RlciA9
IHsgZW5jb2Rlci5idWZmZXIoKSwgZW5jb2Rlci5idWZmZXJTaXplKCkgfTsKKyAgICAgICAgY2hl
Y2tzdW1EZWNvZGVyLmRlY29kZSh0ZXN0VmFsdWUpOworICAgIH0KKyAgICBjaGVja3N1bVRpbWUg
PSBjdXJyZW50VGltZSgpIC0gc3RhcnRUaW1lOworCisgICAgRVhQRUNUX1RSVUUobm9ybWFsVGlt
ZSA8IGNoZWNrc3VtVGltZSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkKKwo=
</data>
<flag name="review"
          id="338373"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317900</attachid>
            <date>2017-08-10 19:15:18 -0700</date>
            <delta_ts>2017-08-10 19:59:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>20174</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggNDQ1NjEwOWFiMzAuLjkxZjI2NTEzMTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE3
LTA4LTEwICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5h
bWUgdGhlIHNvdXJjZSBmaWxlcyBmb3IgdGhlIFdURiBwZXJzaXN0ZW50IGNvZGVycy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NTQ0MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV1RGLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogd3RmL0NNYWtlTGlzdHMudHh0OgorCisgICAg
ICAgICogd3RmL3BlcnNpc3RlbmNlL1BlcnNpc3RlbnRDb2Rlci5oOiBSZW5hbWVkIGZyb20gU291
cmNlL1dURi93dGYvcGVyc2lzdGVuY2UvQ29kZXIuaC4KKyAgICAgICAgKiB3dGYvcGVyc2lzdGVu
Y2UvUGVyc2lzdGVudENvZGVycy5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV1RGL3d0Zi9wZXJz
aXN0ZW5jZS9Db2RlcnMuY3BwLgorICAgICAgICAqIHd0Zi9wZXJzaXN0ZW5jZS9QZXJzaXN0ZW50
Q29kZXJzLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV1RGL3d0Zi9wZXJzaXN0ZW5jZS9Db2RlcnMu
aC4KKyAgICAgICAgKiB3dGYvcGVyc2lzdGVuY2UvUGVyc2lzdGVudERlY29kZXIuY3BwOiBSZW5h
bWVkIGZyb20gU291cmNlL1dURi93dGYvcGVyc2lzdGVuY2UvRGVjb2Rlci5jcHAuCisgICAgICAg
ICogd3RmL3BlcnNpc3RlbmNlL1BlcnNpc3RlbnREZWNvZGVyLmg6IFJlbmFtZWQgZnJvbSBTb3Vy
Y2UvV1RGL3d0Zi9wZXJzaXN0ZW5jZS9EZWNvZGVyLmguCisgICAgICAgICogd3RmL3BlcnNpc3Rl
bmNlL1BlcnNpc3RlbnRFbmNvZGVyLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XVEYvd3RmL3Bl
cnNpc3RlbmNlL0VuY29kZXIuY3BwLgorICAgICAgICAqIHd0Zi9wZXJzaXN0ZW5jZS9QZXJzaXN0
ZW50RW5jb2Rlci5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dURi93dGYvcGVyc2lzdGVuY2UvRW5j
b2Rlci5oLgorCiAyMDE3LTA4LTEwICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwu
Y29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGF0dGVtcHQgdG8gZml4IGJ1aWxkIGZhaWx1cmUg
d2l0aCBWQzIwMTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGNlMDZmNWQxOTExLi5mNmViMDA4NzYwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9XVEYueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC02Myw2ICs2Myw5IEBACiAJCTJDREVEMEYzMTgxMTVDODUwMDREQkE3
MCAvKiBSdW5Mb29wLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDJDREVEMEYxMTgxMTVDODUwMDREQkE3MCAvKiBSdW5Mb29wLmNwcCAqLzsgfTsKIAkJ
MzMzN0RCOUNFNzQzNDEwRkFGMDc2RTE3IC8qIFN0YWNrVHJhY2UuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEzRURFQzk3NzhFNDlDOUJFQTkxQ0ZD
IC8qIFN0YWNrVHJhY2UuY3BwICovOyB9OwogCQk1MTVGNzk0RTFDRkM5RjRBMDBDQ0VEOTMgLyog
Q3Jvc3NUaHJlYWRDb3BpZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTE1Rjc5NEIxQ0ZDOUY0QTAwQ0NFRDkzIC8qIENyb3NzVGhyZWFkQ29waWVy
LmNwcCAqLzsgfTsKKwkJNTFGMTc1MkIxRjNENDg2MDAwQzc0OTUwIC8qIFBlcnNpc3RlbnRDb2Rl
cnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFG
MTc1MjYxRjNENDg2MDAwQzc0OTUwIC8qIFBlcnNpc3RlbnRDb2RlcnMuY3BwICovOyB9OworCQk1
MUYxNzUyQzFGM0Q0ODYwMDBDNzQ5NTAgLyogUGVyc2lzdGVudERlY29kZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMTc1MjcxRjNENDg2MDAw
Qzc0OTUwIC8qIFBlcnNpc3RlbnREZWNvZGVyLmNwcCAqLzsgfTsKKwkJNTFGMTc1MkQxRjNENDg2
MDAwQzc0OTUwIC8qIFBlcnNpc3RlbnRFbmNvZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjE3NTI5MUYzRDQ4NjAwMEM3NDk1MCAvKiBQZXJz
aXN0ZW50RW5jb2Rlci5jcHAgKi87IH07CiAJCTUyMTgzMDEyQzk5RTQ3NkE4NEVFQkVBOCAvKiBT
eW1ib2xJbXBsLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEY3MkJCREIxMDdGQTQyNDg4NjE3OEI5RSAvKiBTeW1ib2xJbXBsLmNwcCAqLzsgfTsKIAkJ
NTMxMUJENTMxRUE3MUNBRDAwNTI1MjgxIC8qIFNpZ25hbHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTMxMUJENTExRUE3MUNBRDAwNTI1MjgxIC8q
IFNpZ25hbHMuY3BwICovOyB9OwogCQk1MzExQkQ1QzFFQTgyMkY5MDA1MjUyODEgLyogVGhyZWFk
TWVzc2FnZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MzExQkQ1QjFFQTgyMkY5MDA1MjUyODEgLyogVGhyZWFkTWVzc2FnZS5jcHAgKi87IH07CkBA
IC0xMzUsOSArMTM4LDYgQEAKIAkJRTMxMUZCMTcxRjBBNTY4QjAwM0MwOERFIC8qIFRocmVhZEdy
b3VwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUz
MTFGQjE1MUYwQTU2OEIwMDNDMDhERSAvKiBUaHJlYWRHcm91cC5jcHAgKi87IH07CiAJCUUzOEM0
MTI1MUVCNEUwNEMwMDQyOTU3RCAvKiBDUFVUaW1lQ29jb2EubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMzhDNDEyNDFFQjRFMDRDMDA0Mjk1N0QgLyog
Q1BVVGltZUNvY29hLm1tICovOyB9OwogCQlFMzhDNDEyODFFQjRFMDY4MDA0Mjk1N0QgLyogQ1BV
VGltZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
MzhDNDEyNjFFQjRFMDY4MDA0Mjk1N0QgLyogQ1BVVGltZS5jcHAgKi87IH07Ci0JCUU0M0E0Njk3
MUUyMjhCOTEwMDI3NkIwNSAvKiBEZWNvZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0M0E0NjkyMUUyMjhCOTEwMDI3NkIwNSAvKiBEZWNvZGVy
LmNwcCAqLzsgfTsKLQkJRTQzQTQ2OTgxRTIyOEI5MTAwMjc2QjA1IC8qIEVuY29kZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTQzQTQ2OTMxRTIy
OEI5MTAwMjc2QjA1IC8qIEVuY29kZXIuY3BwICovOyB9OwotCQlFNDNBNDY5RDFFMjI4RkQ1MDAy
NzZCMDUgLyogQ29kZXJzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEU0M0E0NjlDMUUyMjhGRDUwMDI3NkIwNSAvKiBDb2RlcnMuY3BwICovOyB9Owog
CQlFNEEwQUQzOTFBOTYyNDU1MDA1MzZERjYgLyogV29ya1F1ZXVlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU0QTBBRDM3MUE5NjI0NTUwMDUzNkRG
NiAvKiBXb3JrUXVldWUuY3BwICovOyB9OwogCQlFNEEwQUQzRDFBOTYyNTNDMDA1MzZERjYgLyog
V29ya1F1ZXVlQ29jb2EuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRTRBMEFEM0MxQTk2MjUzQzAwNTM2REY2IC8qIFdvcmtRdWV1ZUNvY29hLmNwcCAq
LzsgfTsKIAkJRkVEQUNEM0QxNjMwRjgzRjAwQzY5NjM0IC8qIFN0YWNrU3RhdHMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkVEQUNEM0IxNjMwRjgz
RjAwQzY5NjM0IC8qIFN0YWNrU3RhdHMuY3BwICovOyB9OwpAQCAtMzAzLDYgKzMwMywxMyBAQAog
CQk1MTVGNzk0RDFDRkM5RjRBMDBDQ0VEOTMgLyogQ3Jvc3NUaHJlYWRUYXNrLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENyb3NzVGhyZWFkVGFzay5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk1MTVGNzk1NTFDRkQzQTY5MDBDQ0VEOTMgLyogQ3Jvc3NUaHJlYWRR
dWV1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDcm9zc1RocmVhZFF1ZXVl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxODJDMjJDMUYyQkM3RTYwMDU5QkE3
QyAvKiBJbnN0YW5jZUNvdW50ZWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zdGFuY2VDb3VudGVkLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRjE3NTI0MUYzRDQ4NjAwMEM3NDk1MCAv
KiBQZXJzaXN0ZW50Q29kZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGVy
c2lzdGVudENvZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRjE3NTI1MUYz
RDQ4NjAwMEM3NDk1MCAvKiBQZXJzaXN0ZW50Q29kZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBlcnNpc3RlbnRDb2RlcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNTFGMTc1MjYxRjNENDg2MDAwQzc0OTUwIC8qIFBlcnNpc3RlbnRDb2RlcnMuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVyc2lzdGVudENvZGVycy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRjE3NTI3MUYzRDQ4NjAwMEM3NDk1MCAv
KiBQZXJzaXN0ZW50RGVjb2Rlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBQZXJzaXN0ZW50RGVjb2Rlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTUxRjE3NTI4MUYzRDQ4NjAwMEM3NDk1MCAvKiBQZXJzaXN0ZW50RGVjb2Rlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQZXJzaXN0ZW50RGVjb2Rlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk1MUYxNzUyOTFGM0Q0ODYwMDBDNzQ5NTAgLyogUGVyc2lzdGVu
dEVuY29kZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGVyc2lz
dGVudEVuY29kZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MUYxNzUyQTFG
M0Q0ODYwMDBDNzQ5NTAgLyogUGVyc2lzdGVudEVuY29kZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUGVyc2lzdGVudEVuY29kZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTMxMUJENTExRUE3MUNBRDAwNTI1MjgxIC8qIFNpZ25hbHMuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2lnbmFscy5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTUzMTFCRDU1MUVBN0UxNUEwMDUyNTI4MSAvKiBMb2NrbGVzc0JhZy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb2NrbGVzc0JhZy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk1MzExQkQ1NzFFQTdFMUExMDA1MjUyODEgLyogU2lnbmFs
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTaWduYWxzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01NTMsMTMgKzU2MCw2IEBACiAJCUUzOEM0MTI2MUVCNEUw
NjgwMDQyOTU3RCAvKiBDUFVUaW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IENQVVRpbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMzhDNDEy
NzFFQjRFMDY4MDA0Mjk1N0QgLyogQ1BVVGltZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDUFVUaW1lLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzRTE1ODI1
MUVBREE1M0MwMDRBMDc5RCAvKiBTeXN0ZW1GcmVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFN5c3RlbUZyZWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRTQz
QTQ2OTAxRTIyOEI5MTAwMjc2QjA1IC8qIERlY29kZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRGVjb2Rlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlFNDNB
NDY5MTFFMjI4QjkxMDAyNzZCMDUgLyogRW5jb2Rlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBFbmNvZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUU0M0E0
NjkyMUUyMjhCOTEwMDI3NkIwNSAvKiBEZWNvZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IERlY29kZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQlFNDNBNDY5MzFFMjI4QjkxMDAyNzZCMDUgLyogRW5jb2Rlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFbmNvZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJRTQzQTQ2OTQxRTIyOEI5MTAwMjc2QjA1IC8qIENvZGVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCUU0M0E0NjlBMUUyMjhGQjIwMDI3NkIwNSAvKiBDb2RlcnMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ29kZXJzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CUU0M0E0NjlDMUUyMjhGRDUwMDI3NkIwNSAvKiBDb2RlcnMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gQ29kZXJzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTRBMEFEMzcxQTk2MjQ1NTAwNTM2REY2IC8qIFdvcmtRdWV1ZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrUXVldWUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFNEEwQUQzODFBOTYyNDU1MDA1MzZERjYgLyogV29ya1F1ZXVlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdvcmtRdWV1ZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFNEEwQUQzQzFBOTYyNTNDMDA1MzZERjYgLyogV29ya1F1ZXVl
Q29jb2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV29ya1F1ZXVl
Q29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTE3MiwxMyArMTE3Miwx
MyBAQAogCQlFNDNBNDY4NTFFMjI4QjU3MDAyNzZCMDUgLyogcGVyc2lzdGVuY2UgKi8gPSB7CiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCUU0M0E0Njk0MUUyMjhCOTEw
MDI3NkIwNSAvKiBDb2Rlci5oICovLAotCQkJCUU0M0E0NjlDMUUyMjhGRDUwMDI3NkIwNSAvKiBD
b2RlcnMuY3BwICovLAotCQkJCUU0M0E0NjlBMUUyMjhGQjIwMDI3NkIwNSAvKiBDb2RlcnMuaCAq
LywKLQkJCQlFNDNBNDY5MjFFMjI4QjkxMDAyNzZCMDUgLyogRGVjb2Rlci5jcHAgKi8sCi0JCQkJ
RTQzQTQ2OTAxRTIyOEI5MTAwMjc2QjA1IC8qIERlY29kZXIuaCAqLywKLQkJCQlFNDNBNDY5MzFF
MjI4QjkxMDAyNzZCMDUgLyogRW5jb2Rlci5jcHAgKi8sCi0JCQkJRTQzQTQ2OTExRTIyOEI5MTAw
Mjc2QjA1IC8qIEVuY29kZXIuaCAqLywKKwkJCQk1MUYxNzUyNDFGM0Q0ODYwMDBDNzQ5NTAgLyog
UGVyc2lzdGVudENvZGVyLmggKi8sCisJCQkJNTFGMTc1MjYxRjNENDg2MDAwQzc0OTUwIC8qIFBl
cnNpc3RlbnRDb2RlcnMuY3BwICovLAorCQkJCTUxRjE3NTI1MUYzRDQ4NjAwMEM3NDk1MCAvKiBQ
ZXJzaXN0ZW50Q29kZXJzLmggKi8sCisJCQkJNTFGMTc1MjcxRjNENDg2MDAwQzc0OTUwIC8qIFBl
cnNpc3RlbnREZWNvZGVyLmNwcCAqLywKKwkJCQk1MUYxNzUyODFGM0Q0ODYwMDBDNzQ5NTAgLyog
UGVyc2lzdGVudERlY29kZXIuaCAqLywKKwkJCQk1MUYxNzUyOTFGM0Q0ODYwMDBDNzQ5NTAgLyog
UGVyc2lzdGVudEVuY29kZXIuY3BwICovLAorCQkJCTUxRjE3NTJBMUYzRDQ4NjAwMEM3NDk1MCAv
KiBQZXJzaXN0ZW50RW5jb2Rlci5oICovLAogCQkJKTsKIAkJCXBhdGggPSBwZXJzaXN0ZW5jZTsK
IAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0xMzEyLDE1ICsxMzEyLDE2IEBACiAJCQkJ
QThBNDczQTgxNTFBODI1QjAwNDEyM0ZGIC8qIGJpZ251bS1kdG9hLmNjIGluIFNvdXJjZXMgKi8s
CiAJCQkJQThBNDczQUExNTFBODI1QjAwNDEyM0ZGIC8qIGJpZ251bS5jYyBpbiBTb3VyY2VzICov
LAogCQkJCUE4QTQ3NDUxMTUxQTgyNUIwMDQxMjNGRiAvKiBCaW5hcnlTZW1hcGhvcmUuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJNTFGMTc1MkQxRjNENDg2MDAwQzc0OTUwIC8qIFBlcnNpc3RlbnRF
bmNvZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3MzhCMTUxQTgyNUIwMDQxMjNGRiAv
KiBCaXRWZWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTNFNEREOTMxRjNBODAzNDAwREVE
MEI0IC8qIFRleHRTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRENFRTIyMDExQ0VBNzU1
MTAwMEMyMzk2IC8qIEJsb2NrT2JqQ0V4Y2VwdGlvbnMubW0gaW4gU291cmNlcyAqLywKIAkJCQlB
OEE0NzNBQzE1MUE4MjVCMDA0MTIzRkYgLyogY2FjaGVkLXBvd2Vycy5jYyBpbiBTb3VyY2VzICov
LAogCQkJCTBGNjZCMjhBMURDOTdCQUIwMDRBMUQzRiAvKiBDbG9ja1R5cGUuY3BwIGluIFNvdXJj
ZXMgKi8sCi0JCQkJRTQzQTQ2OUQxRTIyOEZENTAwMjc2QjA1IC8qIENvZGVycy5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlBOEE0NzQ2MDE1MUE4MjVCMDA0MTIzRkYgLyogQ29sbGF0b3JEZWZhdWx0
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3NDYzMTUxQTgyNUIwMDQxMjNGRiAvKiBDb2xs
YXRvcklDVS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjhGMkI5MjE3MkUwMTAzMDA3REJEQTUg
LyogQ29tcGlsYXRpb25UaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFGMTc1MkMxRjNE
NDg2MDAwQzc0OTUwIC8qIFBlcnNpc3RlbnREZWNvZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUUzOEM0MTI4MUVCNEUwNjgwMDQyOTU3RCAvKiBDUFVUaW1lLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUUzOEM0MTI1MUVCNEUwNEMwMDQyOTU3RCAvKiBDUFVUaW1lQ29jb2EubW0gaW4gU291cmNl
cyAqLywKIAkJCQk1MTVGNzk0RTFDRkM5RjRBMDBDQ0VEOTMgLyogQ3Jvc3NUaHJlYWRDb3BpZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCkBAIC0xMzMxLDEyICsxMzMyLDExIEBACiAJCQkJQThBNDczOUUx
NTFBODI1QjAwNDEyM0ZGIC8qIERhdGFMb2cuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThBNDcz
QTAxNTFBODI1QjAwNDEyM0ZGIC8qIERhdGVNYXRoLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4
QTQ3M0EyMTUxQTgyNUIwMDQxMjNGRiAvKiBEZWNpbWFsTnVtYmVyLmNwcCBpbiBTb3VyY2VzICov
LAotCQkJCUU0M0E0Njk3MUUyMjhCOTEwMDI3NkIwNSAvKiBEZWNvZGVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTFBQ0FERDg0MTg4NDQ4MDEwMEQ4QjcxRCAvKiBEZXByZWNhdGVkU3ltYm9sc1Vz
ZWRCeVNhZmFyaS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUE4QTQ3M0FFMTUxQTgyNUIwMDQxMjNG
RiAvKiBkaXktZnAuY2MgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNCMDE1MUE4MjVCMDA0MTIz
RkYgLyogZG91YmxlLWNvbnZlcnNpb24uY2MgaW4gU291cmNlcyAqLywKIAkJCQlBOEE0NzNCQTE1
MUE4MjVCMDA0MTIzRkYgLyogZHRvYS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQlFNDNBNDY5ODFF
MjI4QjkxMDAyNzZCMDUgLyogRW5jb2Rlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MUYxNzUy
QjFGM0Q0ODYwMDBDNzQ5NTAgLyogUGVyc2lzdGVudENvZGVycy5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlBOEE0NzNCMzE1MUE4MjVCMDA0MTIzRkYgLyogZmFzdC1kdG9hLmNjIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEY3QzVGQjYxRDg4NUNGMjAwNDRGNUUyIC8qIEZhc3RCaXRWZWN0b3IuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQThBNDczQzMxNTFBODI1QjAwNDEyM0ZGIC8qIEZhc3RNYWxsb2Mu
Y3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9DTWFrZUxpc3Rz
LnR4dCBiL1NvdXJjZS9XVEYvd3RmL0NNYWtlTGlzdHMudHh0CmluZGV4IDU4Njk2MTBhMmIwLi5m
YTJiNjE2NjA3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50eHQKQEAgLTI3Miw5ICsyNzIsOSBAQCBzZXQo
V1RGX1NPVVJDRVMKICAgICBkdG9hL2ZpeGVkLWR0b2EuY2MKICAgICBkdG9hL3N0cnRvZC5jYwog
Ci0gICAgcGVyc2lzdGVuY2UvQ29kZXJzLmNwcAotICAgIHBlcnNpc3RlbmNlL0RlY29kZXIuY3Bw
Ci0gICAgcGVyc2lzdGVuY2UvRW5jb2Rlci5jcHAKKyAgICBwZXJzaXN0ZW5jZS9QZXJzaXN0ZW50
Q29kZXJzLmNwcAorICAgIHBlcnNpc3RlbmNlL1BlcnNpc3RlbnREZWNvZGVyLmNwcAorICAgIHBl
cnNpc3RlbmNlL1BlcnNpc3RlbnRFbmNvZGVyLmNwcAogCiAgICAgdGV4dC9BdG9taWNTdHJpbmcu
Y3BwCiAgICAgdGV4dC9BdG9taWNTdHJpbmdJbXBsLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvcGVyc2lzdGVuY2UvQ29kZXIuaCBiL1NvdXJjZS9XVEYvd3RmL3BlcnNpc3RlbmNlL1Bl
cnNpc3RlbnRDb2Rlci5oCnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBTb3VyY2Uv
V1RGL3d0Zi9wZXJzaXN0ZW5jZS9Db2Rlci5oCnJlbmFtZSB0byBTb3VyY2UvV1RGL3d0Zi9wZXJz
aXN0ZW5jZS9QZXJzaXN0ZW50Q29kZXIuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvcGVy
c2lzdGVuY2UvQ29kZXJzLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3BlcnNpc3RlbmNlL1BlcnNpc3Rl
bnRDb2RlcnMuY3BwCnNpbWlsYXJpdHkgaW5kZXggOTklCnJlbmFtZSBmcm9tIFNvdXJjZS9XVEYv
d3RmL3BlcnNpc3RlbmNlL0NvZGVycy5jcHAKcmVuYW1lIHRvIFNvdXJjZS9XVEYvd3RmL3BlcnNp
c3RlbmNlL1BlcnNpc3RlbnRDb2RlcnMuY3BwCmluZGV4IDdjZDQyZjQ4OGUwLi42NWUwNWM1YzBi
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvcGVyc2lzdGVuY2UvQ29kZXJzLmNwcAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9wZXJzaXN0ZW5jZS9QZXJzaXN0ZW50Q29kZXJzLmNwcApAQCAtMjQs
NyArMjQsNyBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJDb2RlcnMu
aCIKKyNpbmNsdWRlICJQZXJzaXN0ZW50Q29kZXJzLmgiCiAKICNpbmNsdWRlIDx3dGYvdGV4dC9D
U3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9wZXJzaXN0ZW5jZS9Db2RlcnMuaCBiL1NvdXJjZS9XVEYvd3RmL3BlcnNp
c3RlbmNlL1BlcnNpc3RlbnRDb2RlcnMuaApzaW1pbGFyaXR5IGluZGV4IDk5JQpyZW5hbWUgZnJv
bSBTb3VyY2UvV1RGL3d0Zi9wZXJzaXN0ZW5jZS9Db2RlcnMuaApyZW5hbWUgdG8gU291cmNlL1dU
Ri93dGYvcGVyc2lzdGVuY2UvUGVyc2lzdGVudENvZGVycy5oCmluZGV4IDViMzZjYjA4ZWRlLi5h
NWRjMGQyNWI5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvcGVyc2lzdGVuY2UvQ29kZXJz
LmgKKysrIGIvU291cmNlL1dURi93dGYvcGVyc2lzdGVuY2UvUGVyc2lzdGVudENvZGVycy5oCkBA
IC0zMiw4ICszMiw4IEBACiAjaW5jbHVkZSA8d3RmL1NIQTEuaD4KICNpbmNsdWRlIDx3dGYvU2Vj
b25kcy5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNpbmNsdWRlIDx3dGYvcGVyc2lzdGVu
Y2UvRGVjb2Rlci5oPgotI2luY2x1ZGUgPHd0Zi9wZXJzaXN0ZW5jZS9FbmNvZGVyLmg+CisjaW5j
bHVkZSA8d3RmL3BlcnNpc3RlbmNlL1BlcnNpc3RlbnREZWNvZGVyLmg+CisjaW5jbHVkZSA8d3Rm
L3BlcnNpc3RlbmNlL1BlcnNpc3RlbnRFbmNvZGVyLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogbmFt
ZXNwYWNlIFBlcnNpc3RlbmNlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3BlcnNpc3Rl
bmNlL0RlY29kZXIuY3BwIGIvU291cmNlL1dURi93dGYvcGVyc2lzdGVuY2UvUGVyc2lzdGVudERl
Y29kZXIuY3BwCnNpbWlsYXJpdHkgaW5kZXggOTclCnJlbmFtZSBmcm9tIFNvdXJjZS9XVEYvd3Rm
L3BlcnNpc3RlbmNlL0RlY29kZXIuY3BwCnJlbmFtZSB0byBTb3VyY2UvV1RGL3d0Zi9wZXJzaXN0
ZW5jZS9QZXJzaXN0ZW50RGVjb2Rlci5jcHAKaW5kZXggMzU0ZmYwNjA2YjAuLjkyZGQ1MGVjNzI0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9wZXJzaXN0ZW5jZS9EZWNvZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9wZXJzaXN0ZW5jZS9QZXJzaXN0ZW50RGVjb2Rlci5jcHAKQEAgLTI0
LDkgKzI0LDkgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiRGVjb2Rl
ci5oIgorI2luY2x1ZGUgIlBlcnNpc3RlbnREZWNvZGVyLmgiCiAKLSNpbmNsdWRlIDx3dGYvcGVy
c2lzdGVuY2UvRW5jb2Rlci5oPgorI2luY2x1ZGUgPHd0Zi9wZXJzaXN0ZW5jZS9QZXJzaXN0ZW50
RW5jb2Rlci5oPgogCiBuYW1lc3BhY2UgV1RGIHsKIG5hbWVzcGFjZSBQZXJzaXN0ZW5jZSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9wZXJzaXN0ZW5jZS9EZWNvZGVyLmggYi9Tb3VyY2Uv
V1RGL3d0Zi9wZXJzaXN0ZW5jZS9QZXJzaXN0ZW50RGVjb2Rlci5oCnNpbWlsYXJpdHkgaW5kZXgg
OTglCnJlbmFtZSBmcm9tIFNvdXJjZS9XVEYvd3RmL3BlcnNpc3RlbmNlL0RlY29kZXIuaApyZW5h
bWUgdG8gU291cmNlL1dURi93dGYvcGVyc2lzdGVuY2UvUGVyc2lzdGVudERlY29kZXIuaAppbmRl
eCA0MTRlYzg4ZmMyZi4uOTEwNzNlZjUxYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3Bl
cnNpc3RlbmNlL0RlY29kZXIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9wZXJzaXN0ZW5jZS9QZXJz
aXN0ZW50RGVjb2Rlci5oCkBAIC0yNiw3ICsyNiw3IEBACiAjcHJhZ21hIG9uY2UKIAogI2luY2x1
ZGUgPHd0Zi9TSEExLmg+Ci0jaW5jbHVkZSA8d3RmL3BlcnNpc3RlbmNlL0NvZGVyLmg+CisjaW5j
bHVkZSA8d3RmL3BlcnNpc3RlbmNlL1BlcnNpc3RlbnRDb2Rlci5oPgogCiBuYW1lc3BhY2UgV1RG
IHsKIG5hbWVzcGFjZSBQZXJzaXN0ZW5jZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9w
ZXJzaXN0ZW5jZS9FbmNvZGVyLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3BlcnNpc3RlbmNlL1BlcnNp
c3RlbnRFbmNvZGVyLmNwcApzaW1pbGFyaXR5IGluZGV4IDk4JQpyZW5hbWUgZnJvbSBTb3VyY2Uv
V1RGL3d0Zi9wZXJzaXN0ZW5jZS9FbmNvZGVyLmNwcApyZW5hbWUgdG8gU291cmNlL1dURi93dGYv
cGVyc2lzdGVuY2UvUGVyc2lzdGVudEVuY29kZXIuY3BwCmluZGV4IDBmMTFlMzQ4MWZmLi42NjM2
ZWI2NjdiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvcGVyc2lzdGVuY2UvRW5jb2Rlci5j
cHAKKysrIGIvU291cmNlL1dURi93dGYvcGVyc2lzdGVuY2UvUGVyc2lzdGVudEVuY29kZXIuY3Bw
CkBAIC0yNCw3ICsyNCw3IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUg
IkVuY29kZXIuaCIKKyNpbmNsdWRlICJQZXJzaXN0ZW50RW5jb2Rlci5oIgogCiAjaW5jbHVkZSAi
U0hBMS5oIgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9wZXJzaXN0ZW5jZS9FbmNvZGVy
LmggYi9Tb3VyY2UvV1RGL3d0Zi9wZXJzaXN0ZW5jZS9QZXJzaXN0ZW50RW5jb2Rlci5oCnNpbWls
YXJpdHkgaW5kZXggOTglCnJlbmFtZSBmcm9tIFNvdXJjZS9XVEYvd3RmL3BlcnNpc3RlbmNlL0Vu
Y29kZXIuaApyZW5hbWUgdG8gU291cmNlL1dURi93dGYvcGVyc2lzdGVuY2UvUGVyc2lzdGVudEVu
Y29kZXIuaAppbmRleCA2MWM5NjU1MzBlNy4uZDRmYzBlMTg5MjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XVEYvd3RmL3BlcnNpc3RlbmNlL0VuY29kZXIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9wZXJz
aXN0ZW5jZS9QZXJzaXN0ZW50RW5jb2Rlci5oCkBAIC0yNyw3ICsyNyw3IEBACiAKICNpbmNsdWRl
IDx3dGYvU0hBMS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNpbmNsdWRlIDx3dGYvcGVy
c2lzdGVuY2UvQ29kZXIuaD4KKyNpbmNsdWRlIDx3dGYvcGVyc2lzdGVuY2UvUGVyc2lzdGVudENv
ZGVyLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogbmFtZXNwYWNlIFBlcnNpc3RlbmNlIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCA1MDNiYTM3ZGFlZC4uM2VkYzFlMzcyNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MiBAQAorMjAxNy0wOC0xMCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmVuYW1lIHRoZSBzb3VyY2UgZmlsZXMgZm9yIHRoZSBXVEYgcGVyc2lzdGVudCBjb2Rl
cnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzU0
NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmg6CisKIDIwMTctMDgtMTAgIFl1c3Vr
ZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgTWFrZSBUaHJlYWRH
bG9iYWxEYXRhIFJlZkNvdW50ZWQgZm9yIHdlYiB0aHJlYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvTmV0d29ya0xvYWRNZXRyaWNzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL05ldHdvcmtMb2FkTWV0cmljcy5oCmluZGV4IDZhNTI2NTIw
ZjE3Li4xNTM1OTVjMjlmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9OZXR3b3JrTG9hZE1ldHJpY3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL05ldHdvcmtMb2FkTWV0cmljcy5oCkBAIC0yOSw4ICsyOSw4IEBACiAjaW5jbHVkZSAi
SFRUUEhlYWRlck1hcC5oIgogI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgogI2luY2x1ZGUgPHd0
Zi9TZWNvbmRzLmg+Ci0jaW5jbHVkZSA8d3RmL3BlcnNpc3RlbmNlL0RlY29kZXIuaD4KLSNpbmNs
dWRlIDx3dGYvcGVyc2lzdGVuY2UvRW5jb2Rlci5oPgorI2luY2x1ZGUgPHd0Zi9wZXJzaXN0ZW5j
ZS9QZXJzaXN0ZW50RGVjb2Rlci5oPgorI2luY2x1ZGUgPHd0Zi9wZXJzaXN0ZW5jZS9QZXJzaXN0
ZW50RW5jb2Rlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiAjaWYgUExB
VEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDkwZmIwOWU1ZmMwLi4xNjE3Y2ZlNzFkZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNy0wOC0xMCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBh
cHBsZS5jb20+CisKKyAgICAgICAgUmVuYW1lIHRoZSBzb3VyY2UgZmlsZXMgZm9yIHRoZSBXVEYg
cGVyc2lzdGVudCBjb2RlcnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzU0NDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUNvZGVycy5oOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtleS5jcHA6CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlS2V5Lmg6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9BUElDb250ZW50UnVsZUxpc3RTdG9yZS5jcHA6CisKIDIwMTctMDgtMTAg
IEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVzb3VyY2Ug
TG9hZCBTdGF0aXN0aWNzOiBBZGQgc2lnbmlmaWNhbnQgZmlndXJlcyB0byB0ZWxlbWV0cnkgY2Fs
bHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlQ29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZUNvZGVycy5oCmluZGV4IDhjYWM4YzQ0ODdlLi4zNmViMjZjZWY3OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVDb2RlcnMu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUNv
ZGVycy5oCkBAIC0zNSw5ICszNSw5IEBACiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNs
dWRlIDx3dGYvU0hBMS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNpbmNsdWRlIDx3dGYv
cGVyc2lzdGVuY2UvQ29kZXJzLmg+Ci0jaW5jbHVkZSA8d3RmL3BlcnNpc3RlbmNlL0RlY29kZXIu
aD4KLSNpbmNsdWRlIDx3dGYvcGVyc2lzdGVuY2UvRW5jb2Rlci5oPgorI2luY2x1ZGUgPHd0Zi9w
ZXJzaXN0ZW5jZS9QZXJzaXN0ZW50Q29kZXJzLmg+CisjaW5jbHVkZSA8d3RmL3BlcnNpc3RlbmNl
L1BlcnNpc3RlbnREZWNvZGVyLmg+CisjaW5jbHVkZSA8d3RmL3BlcnNpc3RlbmNlL1BlcnNpc3Rl
bnRFbmNvZGVyLmg+CiAKIG5hbWVzcGFjZSBXVEYgewogbmFtZXNwYWNlIFBlcnNpc3RlbmNlIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlS2V5LmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlS2V5LmNwcAppbmRleCA2ZGQ3ZjQ0OTQyYS4uNTA3ZWMxZjFiMGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlS2V5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtleS5jcHAK
QEAgLTMwLDggKzMwLDggQEAKIAogI2luY2x1ZGUgIk5ldHdvcmtDYWNoZUNvZGVycy5oIgogI2lu
Y2x1ZGUgPHd0Zi9BU0NJSUNUeXBlLmg+Ci0jaW5jbHVkZSA8d3RmL3BlcnNpc3RlbmNlL0RlY29k
ZXIuaD4KLSNpbmNsdWRlIDx3dGYvcGVyc2lzdGVuY2UvRW5jb2Rlci5oPgorI2luY2x1ZGUgPHd0
Zi9wZXJzaXN0ZW5jZS9QZXJzaXN0ZW50RGVjb2Rlci5oPgorI2luY2x1ZGUgPHd0Zi9wZXJzaXN0
ZW5jZS9QZXJzaXN0ZW50RW5jb2Rlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlS2V5LmggYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtleS5oCmluZGV4IDQzOWVi
ZjBmNzk0Li43ZGVkOTQ3ZmE5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVLZXkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUtleS5oCkBAIC0zMCw3ICszMCw3IEBACiAKICNpbmNs
dWRlICJOZXR3b3JrQ2FjaGVEYXRhLmgiCiAjaW5jbHVkZSA8d3RmL1NIQTEuaD4KLSNpbmNsdWRl
IDx3dGYvcGVyc2lzdGVuY2UvQ29kZXIuaD4KKyNpbmNsdWRlIDx3dGYvcGVyc2lzdGVuY2UvUGVy
c2lzdGVudENvZGVyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQ
SUNvbnRlbnRSdWxlTGlzdFN0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9B
UElDb250ZW50UnVsZUxpc3RTdG9yZS5jcHAKaW5kZXggNjljY2E5ZTQ1YmUuLjg2NjU2NzRkY2M3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQ29udGVudFJ1bGVM
aXN0U3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElDb250ZW50
UnVsZUxpc3RTdG9yZS5jcHAKQEAgLTQwLDggKzQwLDggQEAKICNpbmNsdWRlIDx3dGYvTmV2ZXJE
ZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5oPgogI2luY2x1ZGUgPHd0Zi9Xb3Jr
UXVldWUuaD4KLSNpbmNsdWRlIDx3dGYvcGVyc2lzdGVuY2UvRGVjb2Rlci5oPgotI2luY2x1ZGUg
PHd0Zi9wZXJzaXN0ZW5jZS9FbmNvZGVyLmg+CisjaW5jbHVkZSA8d3RmL3BlcnNpc3RlbmNlL1Bl
cnNpc3RlbnREZWNvZGVyLmg+CisjaW5jbHVkZSA8d3RmL3BlcnNpc3RlbmNlL1BlcnNpc3RlbnRF
bmNvZGVyLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ6Ok5ldHdvcmtDYWNoZTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>