<?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>207514</bug_id>
          
          <creation_ts>2020-02-10 15:47:32 -0800</creation_ts>
          <short_desc>Deprecate _WKUserContentWorld replaced by WKContentWorld</short_desc>
          <delta_ts>2020-02-13 15:08:29 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit API</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1617148</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-02-10 15:47:32 -0800</bug_when>
    <thetext>And add some SPI to aid with transition.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617171</commentid>
    <comment_count>1</comment_count>
      <attachid>390309</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-02-10 16:31:20 -0800</bug_when>
    <thetext>Created attachment 390309
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617175</commentid>
    <comment_count>2</comment_count>
      <attachid>390310</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-02-10 16:33:24 -0800</bug_when>
    <thetext>Created attachment 390310
patch with changelog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617176</commentid>
    <comment_count>3</comment_count>
      <attachid>390311</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-02-10 16:34:56 -0800</bug_when>
    <thetext>Created attachment 390311
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617239</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-02-10 18:02:35 -0800</bug_when>
    <thetext>Is this being renamed because ContentWorlds extend the functionality beyond the user origin (origin in the sense of https://developer.mozilla.org/en-US/docs/Web/CSS/Cascade#Origin_of_CSS_declarations)? e.g. does this allow modifying the user-agent or author origin?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617438</commentid>
    <comment_count>5</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-02-11 09:47:14 -0800</bug_when>
    <thetext>That sounds like a good question to ask in the internal review process that settled on that name, or in https://bugs.webkit.org/show_bug.cgi?id=207351 where the API was introduced.  I think it was because of confusion as to who the &quot;User&quot; is in this case, but I can&apos;t recall.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617459</commentid>
    <comment_count>6</comment_count>
      <attachid>390311</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-11 10:14:49 -0800</bug_when>
    <thetext>Comment on attachment 390311
patch

Rejecting attachment 390311 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 390311, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Logging in as commit-queue@webkit.org...
Fetching: https://bugs.webkit.org/attachment.cgi?id=390311&amp;action=edit
Fetching: https://bugs.webkit.org/show_bug.cgi?id=207514&amp;ctype=xml&amp;excludefield=attachmentdata
Processing 1 patch from 1 bug.
Processing patch 390311 from bug 207514.
Fetching: https://bugs.webkit.org/attachment.cgi?id=390311
Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Brady Eidson&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Parsed 17 diffs from patch file(s).
patching file Source/WebKit/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebKit/Shared/Cocoa/APIObject.mm
patching file Source/WebKit/UIProcess/API/APIContentWorld.cpp
patching file Source/WebKit/UIProcess/API/APIContentWorld.h
patching file Source/WebKit/UIProcess/API/APIUserContentWorld.cpp
patching file Source/WebKit/UIProcess/API/APIUserContentWorld.h
patching file Source/WebKit/UIProcess/API/Cocoa/WKContentWorld.mm
patching file Source/WebKit/UIProcess/API/Cocoa/WKContentWorldInternal.h
patching file Source/WebKit/UIProcess/API/Cocoa/WKContentWorldPrivate.h
patching file Source/WebKit/UIProcess/API/Cocoa/WKUserContentController.mm
patching file Source/WebKit/UIProcess/API/Cocoa/WKUserScript.mm
patching file Source/WebKit/UIProcess/API/Cocoa/_WKUserContentWorld.h
patching file Source/WebKit/UIProcess/API/Cocoa/_WKUserContentWorld.mm
patching file Source/WebKit/UIProcess/API/Cocoa/_WKUserContentWorldInternal.h
patching file Source/WebKit/UIProcess/API/Cocoa/_WKUserStyleSheet.h
patching file Source/WebKit/UIProcess/API/Cocoa/_WKUserStyleSheet.mm
patching file Source/WebKit/WebKit.xcodeproj/project.pbxproj
Hunk #1 FAILED at 1726.
Hunk #2 FAILED at 4988.
Hunk #3 succeeded at 6965 (offset 8 lines).
Hunk #4 succeeded at 11232 (offset 14 lines).
2 out of 4 hunks FAILED -- saving rejects to file Source/WebKit/WebKit.xcodeproj/project.pbxproj.rej

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Brady Eidson&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: https://webkit-queues.webkit.org/results/13320786</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617489</commentid>
    <comment_count>7</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-02-11 10:48:43 -0800</bug_when>
    <thetext>(In reply to Alex Christensen from comment #5)
&gt; That sounds like a good question to ask in the internal review process that
&gt; settled on that name, or in https://bugs.webkit.org/show_bug.cgi?id=207351
&gt; where the API was introduced.  I think it was because of confusion as to who
&gt; the &quot;User&quot; is in this case, but I can&apos;t recall.

Sorry, I must have missed those. So what is the answer? Does it extend it beyond User?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617529</commentid>
    <comment_count>8</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-02-11 11:40:24 -0800</bug_when>
    <thetext>I told you everything I know in comment 5.  This question is also not relevant to this patch, which takes an existing API and makes a transition path to it.

Committed to http://trac.webkit.org/r256332</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617531</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-02-11 11:41:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/59357037&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617575</commentid>
    <comment_count>10</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-02-11 13:09:35 -0800</bug_when>
    <thetext>http://trac.webkit.org/r256345</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617647</commentid>
    <comment_count>11</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2020-02-11 14:40:04 -0800</bug_when>
    <thetext>Reverted r256345 for reason:

Broke iOS builds.

Committed r256373: &lt;https://trac.webkit.org/changeset/256373&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617652</commentid>
    <comment_count>12</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2020-02-11 14:45:57 -0800</bug_when>
    <thetext>(In reply to Ryan Haddad from comment #11)
&gt; Reverted r256345 for reason:
&gt; 
&gt; Broke iOS builds.
&gt; 
&gt; Committed r256373: &lt;https://trac.webkit.org/changeset/256373&gt;
https://build.webkit.org/builders/Apple%20iOS%2013%20Simulator%20Release%20%28Build%29/builds/3897</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617658</commentid>
    <comment_count>13</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-02-11 14:51:06 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/256376/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617721</commentid>
    <comment_count>14</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-02-11 15:57:43 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1617723</commentid>
    <comment_count>15</comment_count>
      <attachid>390452</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-02-11 15:57:44 -0800</bug_when>
    <thetext>Created attachment 390452
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618732</commentid>
    <comment_count>16</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-02-13 15:08:29 -0800</bug_when>
    <thetext>http://trac.webkit.org/r256561</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390309</attachid>
            <date>2020-02-10 16:31:20 -0800</date>
            <delta_ts>2020-02-10 16:33:24 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>15239</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FQSU9iamVjdC5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9BUElPYmplY3QubW0JKHJldmlzaW9uIDI1
NjIxNSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FQSU9iamVjdC5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMzUyLDcgKzM1Miw5IEBACiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBU
eXBlOjpVc2VyQ29udGVudFdvcmxkOgorICAgICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFU
SU9OU19CRUdJTgogICAgICAgICB3cmFwcGVyID0gW19XS1VzZXJDb250ZW50V29ybGQgYWxsb2Nd
OworICAgICAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKICAgICAgICAgYnJl
YWs7CiAKICAgICBjYXNlIFR5cGU6OlVzZXJJbml0aWF0ZWRBY3Rpb246CkluZGV4OiBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQ29udGVudFdvcmxkLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQ29udGVudFdvcmxkLmNwcAkocmV2aXNpb24g
MjU2MjE1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUNvbnRlbnRXb3JsZC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTc2LDYgKzc2LDExIEBACiAgICAgcmV0dXJuICp3b3JsZC5n
ZXQoKTsKIH0KIAorUmVmPENvbnRlbnRXb3JsZD4gQ29udGVudFdvcmxkOjpmcm9tVXNlckNvbnRl
bnRXb3JsZChjb25zdCBVc2VyQ29udGVudFdvcmxkJiB1c2VyQ29udGVudFdvcmxkKQoreworICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IENvbnRlbnRXb3JsZCh1c2VyQ29udGVudFdvcmxkKSk7Cit9
CisKIENvbnRlbnRXb3JsZDo6Q29udGVudFdvcmxkKGNvbnN0IFdURjo6U3RyaW5nJiBuYW1lKQog
ICAgIDogQ29udGVudFdvcmxkQmFzZShuYW1lKQogewpAQCAtODYsNiArOTEsMTEgQEAKIHsKIH0K
IAorQ29udGVudFdvcmxkOjpDb250ZW50V29ybGQoY29uc3QgVXNlckNvbnRlbnRXb3JsZCYgdXNl
ckNvbnRlbnRXb3JsZCkKKyAgICA6IENvbnRlbnRXb3JsZEJhc2UodXNlckNvbnRlbnRXb3JsZC5p
ZGVudGlmaWVyKCksIHVzZXJDb250ZW50V29ybGQubmFtZSgpKQoreworfQorCiBDb250ZW50V29y
bGQ6On5Db250ZW50V29ybGQoKQogewogICAgIGlmIChuYW1lKCkuaXNOdWxsKCkpCkluZGV4OiBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQ29udGVudFdvcmxkLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUNvbnRlbnRXb3JsZC5oCShyZXZpc2lv
biAyNTYyMTUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQ29udGVudFdvcmxk
LmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDYgKzMxLDggQEAKIAogbmFtZXNwYWNlIEFQSSB7CiAK
K2NsYXNzIFVzZXJDb250ZW50V29ybGQ7CisKIGNsYXNzIENvbnRlbnRXb3JsZEJhc2UgewogcHVi
bGljOgogICAgIHZpcnR1YWwgfkNvbnRlbnRXb3JsZEJhc2UoKSA9IGRlZmF1bHQ7CkBAIC00NSwx
MCArNDcsMTAgQEAKIHByb3RlY3RlZDoKICAgICBDb250ZW50V29ybGRCYXNlKGNvbnN0IFdURjo6
U3RyaW5nJiBuYW1lKTsKICAgICBDb250ZW50V29ybGRCYXNlKFdlYktpdDo6Q29udGVudFdvcmxk
SWRlbnRpZmllciBpZGVudGlmaWVyKQorICAgICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVy
KSB7IH0KKyAgICBDb250ZW50V29ybGRCYXNlKFdlYktpdDo6Q29udGVudFdvcmxkSWRlbnRpZmll
ciBpZGVudGlmaWVyLCBjb25zdCBXVEY6OlN0cmluZyYgbmFtZSkKICAgICAgICAgOiBtX2lkZW50
aWZpZXIoaWRlbnRpZmllcikKLSAgICB7Ci0gICAgfQotCisgICAgICAgICwgbV9uYW1lKG5hbWUp
IHsgfQogcHJpdmF0ZToKICAgICBXZWJLaXQ6OkNvbnRlbnRXb3JsZElkZW50aWZpZXIgbV9pZGVu
dGlmaWVyOwogICAgIFdURjo6U3RyaW5nIG1fbmFtZTsKQEAgLTU5LDYgKzYxLDcgQEAKICAgICBz
dGF0aWMgUmVmPENvbnRlbnRXb3JsZD4gc2hhcmVkV29ybGRXaXRoTmFtZShjb25zdCBXVEY6OlN0
cmluZyYpOwogICAgIHN0YXRpYyBDb250ZW50V29ybGQmIHBhZ2VDb250ZW50V29ybGQoKTsKICAg
ICBzdGF0aWMgQ29udGVudFdvcmxkJiBkZWZhdWx0Q2xpZW50V29ybGQoKTsKKyAgICBzdGF0aWMg
UmVmPENvbnRlbnRXb3JsZD4gZnJvbVVzZXJDb250ZW50V29ybGQoY29uc3QgVXNlckNvbnRlbnRX
b3JsZCYpOwogCiAgICAgdmlydHVhbCB+Q29udGVudFdvcmxkKCk7CiAKQEAgLTY4LDYgKzcxLDcg
QEAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgQ29udGVudFdvcmxkKGNvbnN0IFdURjo6U3RyaW5n
Jik7CiAgICAgZXhwbGljaXQgQ29udGVudFdvcmxkKFdlYktpdDo6Q29udGVudFdvcmxkSWRlbnRp
Zmllcik7CisgICAgZXhwbGljaXQgQ29udGVudFdvcmxkKGNvbnN0IFVzZXJDb250ZW50V29ybGQm
KTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEFQSQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0FQSVVzZXJDb250ZW50V29ybGQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9BUElVc2VyQ29udGVudFdvcmxkLmNwcAkocmV2aXNpb24gMjU2MjE1
KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVVzZXJDb250ZW50V29ybGQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zNSw2ICszNSwxMSBAQAogICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFVzZXJDb250ZW50V29ybGQobmFtZSkpOwogfQogCitSZWY8VXNlckNvbnRlbnRXb3JsZD4g
VXNlckNvbnRlbnRXb3JsZDo6ZnJvbUNvbnRlbnRXb3JsZChjb25zdCBDb250ZW50V29ybGQmIGNv
bnRlbnRXb3JsZCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBVc2VyQ29udGVudFdvcmxk
KGNvbnRlbnRXb3JsZCkpOworfQorCiBVc2VyQ29udGVudFdvcmxkJiBVc2VyQ29udGVudFdvcmxk
Ojpub3JtYWxXb3JsZCgpCiB7CiAgICAgc3RhdGljIFVzZXJDb250ZW50V29ybGQqIHdvcmxkID0g
bmV3IFVzZXJDb250ZW50V29ybGQoRm9yTm9ybWFsV29ybGRPbmx5OjpOb3JtYWxXb3JsZCk7CkBA
IC01MSw2ICs1NiwxMSBAQAogewogfQogCitVc2VyQ29udGVudFdvcmxkOjpVc2VyQ29udGVudFdv
cmxkKGNvbnN0IENvbnRlbnRXb3JsZCYgY29udGVudFdvcmxkKQorOiBDb250ZW50V29ybGRCYXNl
KGNvbnRlbnRXb3JsZC5pZGVudGlmaWVyKCksIGNvbnRlbnRXb3JsZC5uYW1lKCkpCit7Cit9CisK
IFVzZXJDb250ZW50V29ybGQ6On5Vc2VyQ29udGVudFdvcmxkKCkKIHsKIH0KSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElVc2VyQ29udGVudFdvcmxkLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVVzZXJDb250ZW50V29ybGQuaAkocmV2
aXNpb24gMjU2MjE1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVVzZXJDb250
ZW50V29ybGQuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiArMzQsNyBAQAogcHVibGljOgogICAg
IHN0YXRpYyBSZWY8VXNlckNvbnRlbnRXb3JsZD4gd29ybGRXaXRoTmFtZShjb25zdCBXVEY6OlN0
cmluZyYpOwogICAgIHN0YXRpYyBVc2VyQ29udGVudFdvcmxkJiBub3JtYWxXb3JsZCgpOworICAg
IHN0YXRpYyBSZWY8VXNlckNvbnRlbnRXb3JsZD4gZnJvbUNvbnRlbnRXb3JsZChjb25zdCBDb250
ZW50V29ybGQmKTsKIAogICAgIHZpcnR1YWwgflVzZXJDb250ZW50V29ybGQoKTsKIApAQCAtNDIs
NiArNDMsNyBAQAogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFVzZXJDb250ZW50V29ybGQoY29u
c3QgV1RGOjpTdHJpbmcmKTsKKyAgICBleHBsaWNpdCBVc2VyQ29udGVudFdvcmxkKGNvbnN0IENv
bnRlbnRXb3JsZCYpOwogCiAgICAgZW51bSBjbGFzcyBGb3JOb3JtYWxXb3JsZE9ubHkgeyBOb3Jt
YWxXb3JsZCB9OwogICAgIGV4cGxpY2l0IFVzZXJDb250ZW50V29ybGQoRm9yTm9ybWFsV29ybGRP
bmx5KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0NvbnRlbnRX
b3JsZC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tDb250ZW50V29ybGQubW0JKHJldmlzaW9uIDI1NjIxNSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS0NvbnRlbnRXb3JsZC5tbQkod29ya2luZyBjb3B5KQpAQCAtMjYs
NiArMjYsOCBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJXS0NvbnRlbnRXb3JsZElu
dGVybmFsLmgiCiAKKyNpbXBvcnQgIl9XS1VzZXJDb250ZW50V29ybGRJbnRlcm5hbC5oIgorCiBA
aW1wbGVtZW50YXRpb24gV0tDb250ZW50V29ybGQKIAogKyAoV0tDb250ZW50V29ybGQgKilwYWdl
V29ybGQKQEAgLTY2LDMgKzY4LDE0IEBACiB9CiAKIEBlbmQKKworQGltcGxlbWVudGF0aW9uIFdL
Q29udGVudFdvcmxkIChXS1ByaXZhdGUpCisKK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05T
X0JFR0lOCistIChfV0tVc2VyQ29udGVudFdvcmxkICopX3VzZXJDb250ZW50V29ybGQKK3sKKyAg
ICByZXR1cm4gd3JhcHBlcihBUEk6OlVzZXJDb250ZW50V29ybGQ6OmZyb21Db250ZW50V29ybGQo
Kl9jb250ZW50V29ybGQpKTsKK30KK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAor
CitAZW5kCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb250ZW50
V29ybGRJbnRlcm5hbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS0NvbnRlbnRXb3JsZEludGVybmFsLmgJKHJldmlzaW9uIDI1NjIxNSkKKysrIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0NvbnRlbnRXb3JsZEludGVybmFsLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTIzLDcgKzIzLDcgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KICAqLwogCi0jaW1wb3J0ICJXS0NvbnRlbnRXb3JsZC5oIgorI2ltcG9ydCAi
V0tDb250ZW50V29ybGRQcml2YXRlLmgiCiAKICNpbXBvcnQgIkFQSUNvbnRlbnRXb3JsZC5oIgog
I2ltcG9ydCAiV0tPYmplY3QuaCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS0NvbnRlbnRXb3JsZFByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb250ZW50V29ybGRQcml2YXRlLmgJKG5vbmV4aXN0ZW50
KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29udGVudFdvcmxkUHJp
dmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1w
b3J0IDxXZWJLaXQvV0tDb250ZW50V29ybGQuaD4KKworQGNsYXNzIF9XS1VzZXJDb250ZW50V29y
bGQ7CisKK0BpbnRlcmZhY2UgV0tDb250ZW50V29ybGQgKFdLUHJpdmF0ZSkKKworI3ByYWdtYSBj
bGFuZyBkaWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICIt
V2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIgorQHByb3BlcnR5IChub25hdG9taWMsIGNvcHksIHJl
YWRvbmx5KSBfV0tVc2VyQ29udGVudFdvcmxkICpfdXNlckNvbnRlbnRXb3JsZDsKKyNwcmFnbWEg
Y2xhbmcgZGlhZ25vc3RpYyBwb3AKKworQGVuZApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLVXNlckNvbnRlbnRDb250cm9sbGVyLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VzZXJDb250ZW50Q29udHJvbGxlci5t
bQkocmV2aXNpb24gMjU2MjE1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLVXNlckNvbnRlbnRDb250cm9sbGVyLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNzIsMTAgKzE3
MiwxMiBAQAogICAgIF91c2VyQ29udGVudENvbnRyb2xsZXJQcm94eS0+cmVtb3ZlVXNlclNjcmlw
dCgqdXNlclNjcmlwdC0+X3VzZXJTY3JpcHQpOwogfQogCitBTExPV19ERVBSRUNBVEVEX0RFQ0xB
UkFUSU9OU19CRUdJTgogLSAodm9pZClfcmVtb3ZlQWxsVXNlclNjcmlwdHNBc3NvY2lhdGVkV2l0
aFVzZXJDb250ZW50V29ybGQ6KF9XS1VzZXJDb250ZW50V29ybGQgKil1c2VyQ29udGVudFdvcmxk
CiB7CiAgICAgX3VzZXJDb250ZW50Q29udHJvbGxlclByb3h5LT5yZW1vdmVBbGxVc2VyU2NyaXB0
cygqdXNlckNvbnRlbnRXb3JsZC0+X3VzZXJDb250ZW50V29ybGQpOwogfQorQUxMT1dfREVQUkVD
QVRFRF9ERUNMQVJBVElPTlNfRU5ECiAKIC0gKHZvaWQpX2FkZFVzZXJTY3JpcHRJbW1lZGlhdGVs
eTooV0tVc2VyU2NyaXB0ICopdXNlclNjcmlwdAogewpAQCAtMjIzLDYgKzIyNSw3IEBACiAgICAg
X3VzZXJDb250ZW50Q29udHJvbGxlclByb3h5LT5yZW1vdmVBbGxVc2VyU3R5bGVTaGVldHMoKTsK
IH0KIAorQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KIC0gKHZvaWQpX3JlbW92
ZUFsbFVzZXJTdHlsZVNoZWV0c0Fzc29jaWF0ZWRXaXRoVXNlckNvbnRlbnRXb3JsZDooX1dLVXNl
ckNvbnRlbnRXb3JsZCAqKXVzZXJDb250ZW50V29ybGQKIHsKICAgICBfdXNlckNvbnRlbnRDb250
cm9sbGVyUHJveHktPnJlbW92ZUFsbFVzZXJTdHlsZVNoZWV0cygqdXNlckNvbnRlbnRXb3JsZC0+
X3VzZXJDb250ZW50V29ybGQpOwpAQCAtMjQ0LDUgKzI0Nyw2IEBACiB7CiAgICAgX3VzZXJDb250
ZW50Q29udHJvbGxlclByb3h5LT5yZW1vdmVBbGxVc2VyTWVzc2FnZUhhbmRsZXJzKCp1c2VyQ29u
dGVudFdvcmxkLT5fdXNlckNvbnRlbnRXb3JsZCk7CiB9CitBTExPV19ERVBSRUNBVEVEX0RFQ0xB
UkFUSU9OU19FTkQKIAogQGVuZApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLVXNlclNjcmlwdC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tVc2VyU2NyaXB0Lm1tCShyZXZpc2lvbiAyNTYyMTUpCisrKyBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyU2NyaXB0Lm1tCSh3b3JraW5nIGNvcHkp
CkBAIC03OCw2ICs3OCw3IEBACiAKIEBpbXBsZW1lbnRhdGlvbiBXS1VzZXJTY3JpcHQgKFdLUHJp
dmF0ZSkKIAorQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KIC0gKGluc3RhbmNl
dHlwZSlfaW5pdFdpdGhTb3VyY2U6KE5TU3RyaW5nICopc291cmNlIGluamVjdGlvblRpbWU6KFdL
VXNlclNjcmlwdEluamVjdGlvblRpbWUpaW5qZWN0aW9uVGltZSBmb3JNYWluRnJhbWVPbmx5OihC
T09MKWZvck1haW5GcmFtZU9ubHkgbGVnYWN5V2hpdGVsaXN0OihOU0FycmF5ICopbGVnYWN5V2hp
dGVsaXN0IGxlZ2FjeUJsYWNrbGlzdDooTlNBcnJheSAqKWxlZ2FjeUJsYWNrbGlzdCB1c2VyQ29u
dGVudFdvcmxkOihfV0tVc2VyQ29udGVudFdvcmxkICopdXNlckNvbnRlbnRXb3JsZAogewogICAg
IGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQpAQCAtMTAyLDUgKzEwMyw2IEBACiB7CiAgICAg
cmV0dXJuIHdyYXBwZXIoX3VzZXJTY3JpcHQtPnVzZXJDb250ZW50V29ybGQoKSk7CiB9CitBTExP
V19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIAogQGVuZApJbmRleDogU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50V29ybGQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRXb3JsZC5o
CShyZXZpc2lvbiAyNTYyMTUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLVXNlckNvbnRlbnRXb3JsZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw3IEBACiAK
IE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiAKLVdLX0NMQVNTX0FWQUlMQUJMRShtYWNvcygxMC4x
MiksIGlvcygxMC4wKSkKK1dLX0NMQVNTX0RFUFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVCgiV0tD
b250ZW50V29ybGQiLCBtYWNvcygxMC4xMiwgV0tfTUFDX1RCQSksIGlvcygxMC4wLCBXS19JT1Nf
VEJBKSkKIEBpbnRlcmZhY2UgX1dLVXNlckNvbnRlbnRXb3JsZCA6IE5TT2JqZWN0CiAKICsgKF9X
S1VzZXJDb250ZW50V29ybGQgKil3b3JsZFdpdGhOYW1lOihOU1N0cmluZyAqKW5hbWU7CkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRXb3JsZC5t
bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNl
ckNvbnRlbnRXb3JsZC5tbQkocmV2aXNpb24gMjU2MjE1KQorKysgU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50V29ybGQubW0JKHdvcmtpbmcgY29weSkKQEAg
LTI2LDYgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiX1dLVXNlckNvbnRl
bnRXb3JsZEludGVybmFsLmgiCiAKK0FMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJT05TX0JF
R0lOCiBAaW1wbGVtZW50YXRpb24gX1dLVXNlckNvbnRlbnRXb3JsZAogCiArIChfV0tVc2VyQ29u
dGVudFdvcmxkICopd29ybGRXaXRoTmFtZTooTlNTdHJpbmcgKiluYW1lCkBAIC02MCwzICs2MSw0
IEBACiB9CiAKIEBlbmQKK0FMTE9XX0RFUFJFQ0FURURfSU1QTEVNRU5UQVRJT05TX0VORApJbmRl
eDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50V29ybGRJ
bnRlcm5hbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tVc2VyQ29udGVudFdvcmxkSW50ZXJuYWwuaAkocmV2aXNpb24gMjU2MjE1KQorKysgU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50V29ybGRJbnRlcm5h
bC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw5IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsK
IAogdGVtcGxhdGU8PiBzdHJ1Y3QgV3JhcHBlclRyYWl0czxBUEk6OlVzZXJDb250ZW50V29ybGQ+
IHsKKyAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgogICAgIHVzaW5nIFdy
YXBwZXJDbGFzcyA9IF9XS1VzZXJDb250ZW50V29ybGQ7CisgICAgQUxMT1dfREVQUkVDQVRFRF9E
RUNMQVJBVElPTlNfRU5ECiB9OwogCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLVXNlclN0eWxlU2hlZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlclN0eWxlU2hlZXQuaAkocmV2aXNpb24gMjU2MjE1
KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJTdHlsZVNoZWV0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQxLDggKzQxLDExIEBACiBAcHJvcGVydHkgKG5vbmF0b21p
YywgcmVhZG9ubHksIGdldHRlcj1pc0Zvck1haW5GcmFtZU9ubHkpIEJPT0wgZm9yTWFpbkZyYW1l
T25seTsKIAogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoU291cmNlOihOU1N0cmluZyAqKXNvdXJj
ZSBmb3JNYWluRnJhbWVPbmx5OihCT09MKWZvck1haW5GcmFtZU9ubHk7CisjcHJhZ21hIGNsYW5n
IGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIGlnbm9yZWQgIi1XZGVw
cmVjYXRlZC1kZWNsYXJhdGlvbnMiCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhTb3VyY2U6KE5T
U3RyaW5nICopc291cmNlIGZvck1haW5GcmFtZU9ubHk6KEJPT0wpZm9yTWFpbkZyYW1lT25seSBs
ZWdhY3lXaGl0ZWxpc3Q6KE5TQXJyYXk8TlNTdHJpbmcgKj4gKilsZWdhY3lXaGl0ZWxpc3QgbGVn
YWN5QmxhY2tsaXN0OihOU0FycmF5PE5TU3RyaW5nICo+ICopbGVnYWN5QmxhY2tsaXN0IHVzZXJD
b250ZW50V29ybGQ6KF9XS1VzZXJDb250ZW50V29ybGQgKil1c2VyQ29udGVudFdvcmxkOwogLSAo
aW5zdGFuY2V0eXBlKWluaXRXaXRoU291cmNlOihOU1N0cmluZyAqKXNvdXJjZSBmb3JNYWluRnJh
bWVPbmx5OihCT09MKWZvck1haW5GcmFtZU9ubHkgbGVnYWN5V2hpdGVsaXN0OihOU0FycmF5PE5T
U3RyaW5nICo+ICopbGVnYWN5V2hpdGVsaXN0IGxlZ2FjeUJsYWNrbGlzdDooTlNBcnJheTxOU1N0
cmluZyAqPiAqKWxlZ2FjeUJsYWNrbGlzdCBiYXNlVVJMOihOU1VSTCAqKWJhc2VVUkwgdXNlckNv
bnRlbnRXb3JsZDooX1dLVXNlckNvbnRlbnRXb3JsZCAqKXVzZXJDb250ZW50V29ybGQ7CisjcHJh
Z21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCiAKIEBlbmQKIApJbmRleDogU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJTdHlsZVNoZWV0Lm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyU3R5bGVTaGVldC5tbQkocmV2
aXNpb24gMjU2MjE1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1Vz
ZXJTdHlsZVNoZWV0Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw2ICs0Nyw3IEBACiAgICAgcmV0
dXJuIHNlbGY7CiB9CiAKK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCiAtIChp
bnN0YW5jZXR5cGUpaW5pdFdpdGhTb3VyY2U6KE5TU3RyaW5nICopc291cmNlIGZvck1haW5GcmFt
ZU9ubHk6KEJPT0wpZm9yTWFpbkZyYW1lT25seSBsZWdhY3lXaGl0ZWxpc3Q6KE5TQXJyYXk8TlNT
dHJpbmcgKj4gKilsZWdhY3lXaGl0ZWxpc3QgbGVnYWN5QmxhY2tsaXN0OihOU0FycmF5PE5TU3Ry
aW5nICo+ICopbGVnYWN5QmxhY2tsaXN0IHVzZXJDb250ZW50V29ybGQ6KF9XS1VzZXJDb250ZW50
V29ybGQgKil1c2VyQ29udGVudFdvcmxkCiB7CiAgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0
XSkpCkBAIC03Miw2ICs3Myw3IEBACiAKICAgICByZXR1cm4gc2VsZjsKIH0KK0FMTE9XX0RFUFJF
Q0FURURfREVDTEFSQVRJT05TX0VORAogCiAtICh2b2lkKWRlYWxsb2MKIHsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24g
MjU2MjE1KQorKysgU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agkod29ya2luZyBjb3B5KQpAQCAtNDk4Nyw2ICs0OTg3LDcgQEAKIAkJRDNCOTQ4NDMxMUZGNEI2
NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJQb3B1cE1lbnUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDNCOTQ4
NDQxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlNlYXJjaFBvcHVwTWVudS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJTZWFyY2hQb3B1cE1lbnUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlEM0I5NDg0NTExRkY0QjY1MDAwMzJCMzkgLyogV2ViU2Vh
cmNoUG9wdXBNZW51LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlNlYXJj
aFBvcHVwTWVudS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlERjQ2MkUwQzIzRjIy
M0YxMDBFRkYzNUYgLyogV0tDb250ZW50V29ybGRQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdLQ29udGVudFdvcmxkUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlERjU4QzYzMTEzNzFBQzU4MDBGOUEzN0MgLyogTmF0aXZlV2ViV2hlZWxF
dmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXRpdmVXZWJXaGVlbEV2
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCURGNThDNjM1MTM3MUFDQTAwMEY5
QTM3QyAvKiBOYXRpdmVXZWJXaGVlbEV2ZW50TWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gTmF0aXZlV2ViV2hlZWxFdmVudE1hYy5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRTEwNUZFNTMxOEQ3QjlERTAwOEY1N0E4IC8qIEVkaXRpbmdSYW5n
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFZGl0aW5nUmFuZ2UuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY5NTUsNiArNjk1Niw3IEBACiAJCQkJNUNEMjg2
NTAxRTcyMkY0NDAwOTRGREM4IC8qIFdLQ29udGVudFJ1bGVMaXN0U3RvcmVQcml2YXRlLmggKi8s
CiAJCQkJNTExMDY1RkEyM0VDOTU2QjAwNTQ0M0Q2IC8qIFdLQ29udGVudFdvcmxkLmggKi8sCiAJ
CQkJNTExMDY1RjkyM0VDOTU2QjAwNTQ0M0Q2IC8qIFdLQ29udGVudFdvcmxkLm1tICovLAorCQkJ
CURGNDYyRTBDMjNGMjIzRjEwMEVGRjM1RiAvKiBXS0NvbnRlbnRXb3JsZFByaXZhdGUuaCAqLywK
IAkJCQk1MTEwNjVGQjIzRUM5NTZCMDA1NDQzRDYgLyogV0tDb250ZW50V29ybGRJbnRlcm5hbC5o
ICovLAogCQkJCTVDRTBDMzY5MjI5RjJENEEwMDM2OTVGMCAvKiBXS0NvbnRleHRNZW51RWxlbWVu
dEluZm8uaCAqLywKIAkJCQk1Q0UwQzM2ODIyOUYyRDRBMDAzNjk1RjAgLyogV0tDb250ZXh0TWVu
dUVsZW1lbnRJbmZvLm1tICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390310</attachid>
            <date>2020-02-10 16:33:24 -0800</date>
            <delta_ts>2020-02-10 16:34:56 -0800</delta_ts>
            <desc>patch with changelog</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>18721</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTYyMjkpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDIwLTAyLTEwICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgRGVwcmVjYXRlIF9X
S1VzZXJDb250ZW50V29ybGQgcmVwbGFjZWQgYnkgV0tDb250ZW50V29ybGQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzUxNAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEkgYWxzbyBhZGQgU1BJIHRvIGNv
bnZlcnQgYmV0d2VlbiB0aGUgdHdvIHRvIGFpZCBhIHNtb290aCB0cmFuc2l0aW9uLgorCisgICAg
ICAgICogU2hhcmVkL0NvY29hL0FQSU9iamVjdC5tbToKKyAgICAgICAgKEFQSTo6T2JqZWN0Ojpu
ZXdPYmplY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJQ29udGVudFdvcmxkLmNwcDoK
KyAgICAgICAgKEFQSTo6Q29udGVudFdvcmxkOjpmcm9tVXNlckNvbnRlbnRXb3JsZCk6CisgICAg
ICAgIChBUEk6OkNvbnRlbnRXb3JsZDo6Q29udGVudFdvcmxkKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0FQSUNvbnRlbnRXb3JsZC5oOgorICAgICAgICAoQVBJOjpDb250ZW50V29ybGRCYXNl
OjpDb250ZW50V29ybGRCYXNlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVVzZXJDb250
ZW50V29ybGQuY3BwOgorICAgICAgICAoQVBJOjpVc2VyQ29udGVudFdvcmxkOjpmcm9tQ29udGVu
dFdvcmxkKToKKyAgICAgICAgKEFQSTo6VXNlckNvbnRlbnRXb3JsZDo6VXNlckNvbnRlbnRXb3Js
ZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElVc2VyQ29udGVudFdvcmxkLmg6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0NvbnRlbnRXb3JsZC5tbToKKyAgICAgICAgKC1b
V0tDb250ZW50V29ybGQgX3VzZXJDb250ZW50V29ybGRdKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLQ29udGVudFdvcmxkSW50ZXJuYWwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLQ29udGVudFdvcmxkUHJpdmF0ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0NvY29hL1dLVXNlckNvbnRlbnRDb250cm9sbGVyLm1tOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyU2NyaXB0Lm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLVXNlckNvbnRlbnRXb3JsZC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLVXNlckNvbnRlbnRXb3JsZC5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS1VzZXJDb250ZW50V29ybGRJbnRlcm5hbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLVXNlclN0eWxlU2hlZXQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS1VzZXJTdHlsZVNoZWV0Lm1tOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorCiAyMDIwLTAyLTEwICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBbd2F0Y2hPU10gTm90aWZpY2F0aW9uIGxpc3RlbmVyIGlzIG5l
dmVyIHVucmVnaXN0ZXJlZApJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQVBJT2Jq
ZWN0Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FQSU9iamVj
dC5tbQkocmV2aXNpb24gMjU2MjE1KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQVBJ
T2JqZWN0Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNTIsNyArMzUyLDkgQEAKICAgICAgICAgYnJl
YWs7CiAKICAgICBjYXNlIFR5cGU6OlVzZXJDb250ZW50V29ybGQ6CisgICAgICAgIEFMTE9XX0RF
UFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCiAgICAgICAgIHdyYXBwZXIgPSBbX1dLVXNlckNv
bnRlbnRXb3JsZCBhbGxvY107CisgICAgICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05T
X0VORAogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgVHlwZTo6VXNlckluaXRpYXRlZEFjdGlv
bjoKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElDb250ZW50V29ybGQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElDb250ZW50V29y
bGQuY3BwCShyZXZpc2lvbiAyNTYyMTUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
QVBJQ29udGVudFdvcmxkLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzYsNiArNzYsMTEgQEAKICAg
ICByZXR1cm4gKndvcmxkLmdldCgpOwogfQogCitSZWY8Q29udGVudFdvcmxkPiBDb250ZW50V29y
bGQ6OmZyb21Vc2VyQ29udGVudFdvcmxkKGNvbnN0IFVzZXJDb250ZW50V29ybGQmIHVzZXJDb250
ZW50V29ybGQpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ29udGVudFdvcmxkKHVzZXJD
b250ZW50V29ybGQpKTsKK30KKwogQ29udGVudFdvcmxkOjpDb250ZW50V29ybGQoY29uc3QgV1RG
OjpTdHJpbmcmIG5hbWUpCiAgICAgOiBDb250ZW50V29ybGRCYXNlKG5hbWUpCiB7CkBAIC04Niw2
ICs5MSwxMSBAQAogewogfQogCitDb250ZW50V29ybGQ6OkNvbnRlbnRXb3JsZChjb25zdCBVc2Vy
Q29udGVudFdvcmxkJiB1c2VyQ29udGVudFdvcmxkKQorICAgIDogQ29udGVudFdvcmxkQmFzZSh1
c2VyQ29udGVudFdvcmxkLmlkZW50aWZpZXIoKSwgdXNlckNvbnRlbnRXb3JsZC5uYW1lKCkpCit7
Cit9CisKIENvbnRlbnRXb3JsZDo6fkNvbnRlbnRXb3JsZCgpCiB7CiAgICAgaWYgKG5hbWUoKS5p
c051bGwoKSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElDb250ZW50V29y
bGQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQ29udGVu
dFdvcmxkLmgJKHJldmlzaW9uIDI1NjIxNSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9BUElDb250ZW50V29ybGQuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsOCBAQAogCiBu
YW1lc3BhY2UgQVBJIHsKIAorY2xhc3MgVXNlckNvbnRlbnRXb3JsZDsKKwogY2xhc3MgQ29udGVu
dFdvcmxkQmFzZSB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+Q29udGVudFdvcmxkQmFzZSgpID0g
ZGVmYXVsdDsKQEAgLTQ1LDEwICs0NywxMCBAQAogcHJvdGVjdGVkOgogICAgIENvbnRlbnRXb3Js
ZEJhc2UoY29uc3QgV1RGOjpTdHJpbmcmIG5hbWUpOwogICAgIENvbnRlbnRXb3JsZEJhc2UoV2Vi
S2l0OjpDb250ZW50V29ybGRJZGVudGlmaWVyIGlkZW50aWZpZXIpCisgICAgICAgIDogbV9pZGVu
dGlmaWVyKGlkZW50aWZpZXIpIHsgfQorICAgIENvbnRlbnRXb3JsZEJhc2UoV2ViS2l0OjpDb250
ZW50V29ybGRJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IFdURjo6U3RyaW5nJiBuYW1lKQog
ICAgICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQotICAgIHsKLSAgICB9Ci0KKyAgICAg
ICAgLCBtX25hbWUobmFtZSkgeyB9CiBwcml2YXRlOgogICAgIFdlYktpdDo6Q29udGVudFdvcmxk
SWRlbnRpZmllciBtX2lkZW50aWZpZXI7CiAgICAgV1RGOjpTdHJpbmcgbV9uYW1lOwpAQCAtNTks
NiArNjEsNyBAQAogICAgIHN0YXRpYyBSZWY8Q29udGVudFdvcmxkPiBzaGFyZWRXb3JsZFdpdGhO
YW1lKGNvbnN0IFdURjo6U3RyaW5nJik7CiAgICAgc3RhdGljIENvbnRlbnRXb3JsZCYgcGFnZUNv
bnRlbnRXb3JsZCgpOwogICAgIHN0YXRpYyBDb250ZW50V29ybGQmIGRlZmF1bHRDbGllbnRXb3Js
ZCgpOworICAgIHN0YXRpYyBSZWY8Q29udGVudFdvcmxkPiBmcm9tVXNlckNvbnRlbnRXb3JsZChj
b25zdCBVc2VyQ29udGVudFdvcmxkJik7CiAKICAgICB2aXJ0dWFsIH5Db250ZW50V29ybGQoKTsK
IApAQCAtNjgsNiArNzEsNyBAQAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBDb250ZW50V29ybGQo
Y29uc3QgV1RGOjpTdHJpbmcmKTsKICAgICBleHBsaWNpdCBDb250ZW50V29ybGQoV2ViS2l0OjpD
b250ZW50V29ybGRJZGVudGlmaWVyKTsKKyAgICBleHBsaWNpdCBDb250ZW50V29ybGQoY29uc3Qg
VXNlckNvbnRlbnRXb3JsZCYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgQVBJCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJVXNlckNvbnRlbnRXb3JsZC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVVzZXJDb250ZW50V29ybGQuY3Bw
CShyZXZpc2lvbiAyNTYyMTUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJVXNl
ckNvbnRlbnRXb3JsZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDExIEBACiAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgVXNlckNvbnRlbnRXb3JsZChuYW1lKSk7CiB9CiAKK1JlZjxV
c2VyQ29udGVudFdvcmxkPiBVc2VyQ29udGVudFdvcmxkOjpmcm9tQ29udGVudFdvcmxkKGNvbnN0
IENvbnRlbnRXb3JsZCYgY29udGVudFdvcmxkKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFVzZXJDb250ZW50V29ybGQoY29udGVudFdvcmxkKSk7Cit9CisKIFVzZXJDb250ZW50V29ybGQm
IFVzZXJDb250ZW50V29ybGQ6Om5vcm1hbFdvcmxkKCkKIHsKICAgICBzdGF0aWMgVXNlckNvbnRl
bnRXb3JsZCogd29ybGQgPSBuZXcgVXNlckNvbnRlbnRXb3JsZChGb3JOb3JtYWxXb3JsZE9ubHk6
Ok5vcm1hbFdvcmxkKTsKQEAgLTUxLDYgKzU2LDExIEBACiB7CiB9CiAKK1VzZXJDb250ZW50V29y
bGQ6OlVzZXJDb250ZW50V29ybGQoY29uc3QgQ29udGVudFdvcmxkJiBjb250ZW50V29ybGQpCis6
IENvbnRlbnRXb3JsZEJhc2UoY29udGVudFdvcmxkLmlkZW50aWZpZXIoKSwgY29udGVudFdvcmxk
Lm5hbWUoKSkKK3sKK30KKwogVXNlckNvbnRlbnRXb3JsZDo6flVzZXJDb250ZW50V29ybGQoKQog
ewogfQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVVzZXJDb250ZW50V29y
bGQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJVXNlckNv
bnRlbnRXb3JsZC5oCShyZXZpc2lvbiAyNTYyMTUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQVBJVXNlckNvbnRlbnRXb3JsZC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3
IEBACiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxVc2VyQ29udGVudFdvcmxkPiB3b3JsZFdpdGhO
YW1lKGNvbnN0IFdURjo6U3RyaW5nJik7CiAgICAgc3RhdGljIFVzZXJDb250ZW50V29ybGQmIG5v
cm1hbFdvcmxkKCk7CisgICAgc3RhdGljIFJlZjxVc2VyQ29udGVudFdvcmxkPiBmcm9tQ29udGVu
dFdvcmxkKGNvbnN0IENvbnRlbnRXb3JsZCYpOwogCiAgICAgdmlydHVhbCB+VXNlckNvbnRlbnRX
b3JsZCgpOwogCkBAIC00Miw2ICs0Myw3IEBACiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgVXNl
ckNvbnRlbnRXb3JsZChjb25zdCBXVEY6OlN0cmluZyYpOworICAgIGV4cGxpY2l0IFVzZXJDb250
ZW50V29ybGQoY29uc3QgQ29udGVudFdvcmxkJik7CiAKICAgICBlbnVtIGNsYXNzIEZvck5vcm1h
bFdvcmxkT25seSB7IE5vcm1hbFdvcmxkIH07CiAgICAgZXhwbGljaXQgVXNlckNvbnRlbnRXb3Js
ZChGb3JOb3JtYWxXb3JsZE9ubHkpOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLQ29udGVudFdvcmxkLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS0NvbnRlbnRXb3JsZC5tbQkocmV2aXNpb24gMjU2MjE1KQorKysg
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29udGVudFdvcmxkLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNiw2ICsyNiw4IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQg
IldLQ29udGVudFdvcmxkSW50ZXJuYWwuaCIKIAorI2ltcG9ydCAiX1dLVXNlckNvbnRlbnRXb3Js
ZEludGVybmFsLmgiCisKIEBpbXBsZW1lbnRhdGlvbiBXS0NvbnRlbnRXb3JsZAogCiArIChXS0Nv
bnRlbnRXb3JsZCAqKXBhZ2VXb3JsZApAQCAtNjYsMyArNjgsMTQgQEAKIH0KIAogQGVuZAorCitA
aW1wbGVtZW50YXRpb24gV0tDb250ZW50V29ybGQgKFdLUHJpdmF0ZSkKKworQUxMT1dfREVQUkVD
QVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KKy0gKF9XS1VzZXJDb250ZW50V29ybGQgKilfdXNlckNv
bnRlbnRXb3JsZAoreworICAgIHJldHVybiB3cmFwcGVyKEFQSTo6VXNlckNvbnRlbnRXb3JsZDo6
ZnJvbUNvbnRlbnRXb3JsZCgqX2NvbnRlbnRXb3JsZCkpOworfQorQUxMT1dfREVQUkVDQVRFRF9E
RUNMQVJBVElPTlNfRU5ECisKK0BlbmQKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS0NvbnRlbnRXb3JsZEludGVybmFsLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29udGVudFdvcmxkSW50ZXJuYWwuaAkocmV2aXNp
b24gMjU2MjE1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29udGVu
dFdvcmxkSW50ZXJuYWwuaAkod29ya2luZyBjb3B5KQpAQCAtMjMsNyArMjMsNyBAQAogICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpbXBvcnQgIldLQ29udGVudFdv
cmxkLmgiCisjaW1wb3J0ICJXS0NvbnRlbnRXb3JsZFByaXZhdGUuaCIKIAogI2ltcG9ydCAiQVBJ
Q29udGVudFdvcmxkLmgiCiAjaW1wb3J0ICJXS09iamVjdC5oIgpJbmRleDogU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29udGVudFdvcmxkUHJpdmF0ZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0NvbnRlbnRXb3JsZFByaXZh
dGUuaAkobm9uZXhpc3RlbnQpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tDb250ZW50V29ybGRQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbXBvcnQgPFdlYktpdC9XS0NvbnRlbnRXb3JsZC5oPgorCitAY2xhc3Mg
X1dLVXNlckNvbnRlbnRXb3JsZDsKKworQGludGVyZmFjZSBXS0NvbnRlbnRXb3JsZCAoV0tQcml2
YXRlKQorCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBjbGFuZyBkaWFn
bm9zdGljIGlnbm9yZWQgIi1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiCitAcHJvcGVydHkgKG5v
bmF0b21pYywgY29weSwgcmVhZG9ubHkpIF9XS1VzZXJDb250ZW50V29ybGQgKl91c2VyQ29udGVu
dFdvcmxkOworI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAorCitAZW5kCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyQ29udGVudENvbnRyb2xsZXIubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVXNlckNv
bnRlbnRDb250cm9sbGVyLm1tCShyZXZpc2lvbiAyNTYyMTUpCisrKyBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyQ29udGVudENvbnRyb2xsZXIubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTE3MiwxMCArMTcyLDEyIEBACiAgICAgX3VzZXJDb250ZW50Q29udHJvbGxlclByb3h5
LT5yZW1vdmVVc2VyU2NyaXB0KCp1c2VyU2NyaXB0LT5fdXNlclNjcmlwdCk7CiB9CiAKK0FMTE9X
X0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCiAtICh2b2lkKV9yZW1vdmVBbGxVc2VyU2Ny
aXB0c0Fzc29jaWF0ZWRXaXRoVXNlckNvbnRlbnRXb3JsZDooX1dLVXNlckNvbnRlbnRXb3JsZCAq
KXVzZXJDb250ZW50V29ybGQKIHsKICAgICBfdXNlckNvbnRlbnRDb250cm9sbGVyUHJveHktPnJl
bW92ZUFsbFVzZXJTY3JpcHRzKCp1c2VyQ29udGVudFdvcmxkLT5fdXNlckNvbnRlbnRXb3JsZCk7
CiB9CitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIAogLSAodm9pZClfYWRkVXNl
clNjcmlwdEltbWVkaWF0ZWx5OihXS1VzZXJTY3JpcHQgKil1c2VyU2NyaXB0CiB7CkBAIC0yMjMs
NiArMjI1LDcgQEAKICAgICBfdXNlckNvbnRlbnRDb250cm9sbGVyUHJveHktPnJlbW92ZUFsbFVz
ZXJTdHlsZVNoZWV0cygpOwogfQogCitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJ
TgogLSAodm9pZClfcmVtb3ZlQWxsVXNlclN0eWxlU2hlZXRzQXNzb2NpYXRlZFdpdGhVc2VyQ29u
dGVudFdvcmxkOihfV0tVc2VyQ29udGVudFdvcmxkICopdXNlckNvbnRlbnRXb3JsZAogewogICAg
IF91c2VyQ29udGVudENvbnRyb2xsZXJQcm94eS0+cmVtb3ZlQWxsVXNlclN0eWxlU2hlZXRzKCp1
c2VyQ29udGVudFdvcmxkLT5fdXNlckNvbnRlbnRXb3JsZCk7CkBAIC0yNDQsNSArMjQ3LDYgQEAK
IHsKICAgICBfdXNlckNvbnRlbnRDb250cm9sbGVyUHJveHktPnJlbW92ZUFsbFVzZXJNZXNzYWdl
SGFuZGxlcnMoKnVzZXJDb250ZW50V29ybGQtPl91c2VyQ29udGVudFdvcmxkKTsKIH0KK0FMTE9X
X0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogCiBAZW5kCkluZGV4OiBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyU2NyaXB0Lm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VzZXJTY3JpcHQubW0JKHJldmlzaW9uIDI1
NjIxNSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VzZXJTY3JpcHQu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTc4LDYgKzc4LDcgQEAKIAogQGltcGxlbWVudGF0aW9uIFdL
VXNlclNjcmlwdCAoV0tQcml2YXRlKQogCitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19C
RUdJTgogLSAoaW5zdGFuY2V0eXBlKV9pbml0V2l0aFNvdXJjZTooTlNTdHJpbmcgKilzb3VyY2Ug
aW5qZWN0aW9uVGltZTooV0tVc2VyU2NyaXB0SW5qZWN0aW9uVGltZSlpbmplY3Rpb25UaW1lIGZv
ck1haW5GcmFtZU9ubHk6KEJPT0wpZm9yTWFpbkZyYW1lT25seSBsZWdhY3lXaGl0ZWxpc3Q6KE5T
QXJyYXkgKilsZWdhY3lXaGl0ZWxpc3QgbGVnYWN5QmxhY2tsaXN0OihOU0FycmF5ICopbGVnYWN5
QmxhY2tsaXN0IHVzZXJDb250ZW50V29ybGQ6KF9XS1VzZXJDb250ZW50V29ybGQgKil1c2VyQ29u
dGVudFdvcmxkCiB7CiAgICAgaWYgKCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCkBAIC0xMDIsNSAr
MTAzLDYgQEAKIHsKICAgICByZXR1cm4gd3JhcHBlcihfdXNlclNjcmlwdC0+dXNlckNvbnRlbnRX
b3JsZCgpKTsKIH0KK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogCiBAZW5kCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRXb3Js
ZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tV
c2VyQ29udGVudFdvcmxkLmgJKHJldmlzaW9uIDI1NjIxNSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudFdvcmxkLmgJKHdvcmtpbmcgY29weSkKQEAg
LTI3LDcgKzI3LDcgQEAKIAogTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KIAotV0tfQ0xBU1NfQVZB
SUxBQkxFKG1hY29zKDEwLjEyKSwgaW9zKDEwLjApKQorV0tfQ0xBU1NfREVQUkVDQVRFRF9XSVRI
X1JFUExBQ0VNRU5UKCJXS0NvbnRlbnRXb3JsZCIsIG1hY29zKDEwLjEyLCBXS19NQUNfVEJBKSwg
aW9zKDEwLjAsIFdLX0lPU19UQkEpKQogQGludGVyZmFjZSBfV0tVc2VyQ29udGVudFdvcmxkIDog
TlNPYmplY3QKIAogKyAoX1dLVXNlckNvbnRlbnRXb3JsZCAqKXdvcmxkV2l0aE5hbWU6KE5TU3Ry
aW5nICopbmFtZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tV
c2VyQ29udGVudFdvcmxkLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudFdvcmxkLm1tCShyZXZpc2lvbiAyNTYyMTUpCisrKyBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRXb3JsZC5tbQko
d29ya2luZyBjb3B5KQpAQCAtMjYsNiArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1w
b3J0ICJfV0tVc2VyQ29udGVudFdvcmxkSW50ZXJuYWwuaCIKIAorQUxMT1dfREVQUkVDQVRFRF9J
TVBMRU1FTlRBVElPTlNfQkVHSU4KIEBpbXBsZW1lbnRhdGlvbiBfV0tVc2VyQ29udGVudFdvcmxk
CiAKICsgKF9XS1VzZXJDb250ZW50V29ybGQgKil3b3JsZFdpdGhOYW1lOihOU1N0cmluZyAqKW5h
bWUKQEAgLTYwLDMgKzYxLDQgQEAKIH0KIAogQGVuZAorQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1F
TlRBVElPTlNfRU5ECkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
VXNlckNvbnRlbnRXb3JsZEludGVybmFsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50V29ybGRJbnRlcm5hbC5oCShyZXZpc2lv
biAyNTYyMTUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNv
bnRlbnRXb3JsZEludGVybmFsLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDkgQEAKIG5h
bWVzcGFjZSBXZWJLaXQgewogCiB0ZW1wbGF0ZTw+IHN0cnVjdCBXcmFwcGVyVHJhaXRzPEFQSTo6
VXNlckNvbnRlbnRXb3JsZD4geworICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0JF
R0lOCiAgICAgdXNpbmcgV3JhcHBlckNsYXNzID0gX1dLVXNlckNvbnRlbnRXb3JsZDsKKyAgICBB
TExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIH07CiAKIH0KSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyU3R5bGVTaGVldC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyU3R5bGVTaGVldC5o
CShyZXZpc2lvbiAyNTYyMTUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLVXNlclN0eWxlU2hlZXQuaAkod29ya2luZyBjb3B5KQpAQCAtNDEsOCArNDEsMTEgQEAKIEBw
cm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgZ2V0dGVyPWlzRm9yTWFpbkZyYW1lT25seSkg
Qk9PTCBmb3JNYWluRnJhbWVPbmx5OwogCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhTb3VyY2U6
KE5TU3RyaW5nICopc291cmNlIGZvck1haW5GcmFtZU9ubHk6KEJPT0wpZm9yTWFpbkZyYW1lT25s
eTsKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCisjcHJhZ21hIGNsYW5nIGRpYWdub3N0
aWMgaWdub3JlZCAiLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIKIC0gKGluc3RhbmNldHlwZSlp
bml0V2l0aFNvdXJjZTooTlNTdHJpbmcgKilzb3VyY2UgZm9yTWFpbkZyYW1lT25seTooQk9PTClm
b3JNYWluRnJhbWVPbmx5IGxlZ2FjeVdoaXRlbGlzdDooTlNBcnJheTxOU1N0cmluZyAqPiAqKWxl
Z2FjeVdoaXRlbGlzdCBsZWdhY3lCbGFja2xpc3Q6KE5TQXJyYXk8TlNTdHJpbmcgKj4gKilsZWdh
Y3lCbGFja2xpc3QgdXNlckNvbnRlbnRXb3JsZDooX1dLVXNlckNvbnRlbnRXb3JsZCAqKXVzZXJD
b250ZW50V29ybGQ7CiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhTb3VyY2U6KE5TU3RyaW5nICop
c291cmNlIGZvck1haW5GcmFtZU9ubHk6KEJPT0wpZm9yTWFpbkZyYW1lT25seSBsZWdhY3lXaGl0
ZWxpc3Q6KE5TQXJyYXk8TlNTdHJpbmcgKj4gKilsZWdhY3lXaGl0ZWxpc3QgbGVnYWN5QmxhY2ts
aXN0OihOU0FycmF5PE5TU3RyaW5nICo+ICopbGVnYWN5QmxhY2tsaXN0IGJhc2VVUkw6KE5TVVJM
ICopYmFzZVVSTCB1c2VyQ29udGVudFdvcmxkOihfV0tVc2VyQ29udGVudFdvcmxkICopdXNlckNv
bnRlbnRXb3JsZDsKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKIAogQGVuZAogCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlclN0eWxlU2hlZXQubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJT
dHlsZVNoZWV0Lm1tCShyZXZpc2lvbiAyNTYyMTUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLVXNlclN0eWxlU2hlZXQubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ3LDYg
KzQ3LDcgQEAKICAgICByZXR1cm4gc2VsZjsKIH0KIAorQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJB
VElPTlNfQkVHSU4KIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aFNvdXJjZTooTlNTdHJpbmcgKilz
b3VyY2UgZm9yTWFpbkZyYW1lT25seTooQk9PTClmb3JNYWluRnJhbWVPbmx5IGxlZ2FjeVdoaXRl
bGlzdDooTlNBcnJheTxOU1N0cmluZyAqPiAqKWxlZ2FjeVdoaXRlbGlzdCBsZWdhY3lCbGFja2xp
c3Q6KE5TQXJyYXk8TlNTdHJpbmcgKj4gKilsZWdhY3lCbGFja2xpc3QgdXNlckNvbnRlbnRXb3Js
ZDooX1dLVXNlckNvbnRlbnRXb3JsZCAqKXVzZXJDb250ZW50V29ybGQKIHsKICAgICBpZiAoIShz
ZWxmID0gW3N1cGVyIGluaXRdKSkKQEAgLTcyLDYgKzczLDcgQEAKIAogICAgIHJldHVybiBzZWxm
OwogfQorQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECiAKIC0gKHZvaWQpZGVhbGxv
YwogewpJbmRleDogU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCShyZXZpc2lvbiAyNTYyMTUpCisrKyBTb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xNzI2LDYgKzE3MjYsNyBAQAog
CQlDRUU0QUUyQjFBNURDRjQzMDAwMkY0OUIgLyogVUlLaXRTUEkuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFRTRBRTJBMUE1RENGNDMwMDAyRjQ5QiAv
KiBVSUtpdFNQSS5oICovOyB9OwogCQlEM0I5NDg0NzExRkY0QjY1MDAwMzJCMzkgLyogV2ViUG9w
dXBNZW51LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBE
M0I5NDg0MzExRkY0QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBNZW51LmggKi87IH07CiAJCUQzQjk0
ODQ5MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQzQjk0ODQ1MTFGRjRCNjUwMDAzMkIz
OSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuaCAqLzsgfTsKKwkJREY0NjJFMEQyM0YyMkRCMDAwRUZG
MzVGIC8qIFdLQ29udGVudFdvcmxkUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gREY0NjJFMEMyM0YyMjNGMTAwRUZGMzVGIC8qIFdLQ29udGVu
dFdvcmxkUHJpdmF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUUxMDVGRTU0MThEN0I5REUwMDhGNTdBOCAvKiBFZGl0aW5nUmFuZ2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxMDVGRTUzMThEN0I5
REUwMDhGNTdBOCAvKiBFZGl0aW5nUmFuZ2UuaCAqLzsgfTsKIAkJRTExRDM1QUUxNkI2M0QxQjAw
NkQyM0Q3IC8qIGNvbS5hcHBsZS5XZWJQcm9jZXNzLnNiIGluIFJlc291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTk2N0UzNzE1MEFCNUUyMDBDNzMxNjkgLyogY29t
LmFwcGxlLldlYlByb2Nlc3Muc2IgKi87IH07CiAJCUUxNEE5NTRBMTZFMDE2QTQwMDY4REU4MiAv
KiBOZXR3b3JrUHJvY2Vzc1BsYXRmb3JtU3RyYXRlZ2llcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTE0QTk1NDgxNkUwMTZBNDAwNjhERTgyIC8qIE5l
dHdvcmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVnaWVzLmggKi87IH07CkBAIC00OTg3LDYgKzQ5ODgs
NyBAQAogCQlEM0I5NDg0MzExRkY0QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBNZW51LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlBvcHVwTWVudS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlEM0I5NDg0NDExRkY0QjY1MDAwMzJCMzkgLyogV2ViU2VhcmNoUG9w
dXBNZW51LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlNlYXJj
aFBvcHVwTWVudS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQzQjk0ODQ1MTFG
RjRCNjUwMDAzMkIzOSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViU2VhcmNoUG9wdXBNZW51Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCURGNDYyRTBDMjNGMjIzRjEwMEVGRjM1RiAvKiBXS0NvbnRlbnRXb3JsZFByaXZh
dGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tDb250ZW50V29ybGRQcml2
YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCURGNThDNjMxMTM3MUFDNTgwMEY5
QTM3QyAvKiBOYXRpdmVXZWJXaGVlbEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IE5hdGl2ZVdlYldoZWVsRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJREY1OEM2MzUxMzcxQUNBMDAwRjlBMzdDIC8qIE5hdGl2ZVdlYldoZWVsRXZlbnRNYWMubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBOYXRpdmVXZWJXaGVlbEV2
ZW50TWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMTA1RkU1MzE4RDdCOURF
MDA4RjU3QTggLyogRWRpdGluZ1JhbmdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEVkaXRpbmdSYW5nZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjk1NSw2
ICs2OTU3LDcgQEAKIAkJCQk1Q0QyODY1MDFFNzIyRjQ0MDA5NEZEQzggLyogV0tDb250ZW50UnVs
ZUxpc3RTdG9yZVByaXZhdGUuaCAqLywKIAkJCQk1MTEwNjVGQTIzRUM5NTZCMDA1NDQzRDYgLyog
V0tDb250ZW50V29ybGQuaCAqLywKIAkJCQk1MTEwNjVGOTIzRUM5NTZCMDA1NDQzRDYgLyogV0tD
b250ZW50V29ybGQubW0gKi8sCisJCQkJREY0NjJFMEMyM0YyMjNGMTAwRUZGMzVGIC8qIFdLQ29u
dGVudFdvcmxkUHJpdmF0ZS5oICovLAogCQkJCTUxMTA2NUZCMjNFQzk1NkIwMDU0NDNENiAvKiBX
S0NvbnRlbnRXb3JsZEludGVybmFsLmggKi8sCiAJCQkJNUNFMEMzNjkyMjlGMkQ0QTAwMzY5NUYw
IC8qIFdLQ29udGV4dE1lbnVFbGVtZW50SW5mby5oICovLAogCQkJCTVDRTBDMzY4MjI5RjJENEEw
MDM2OTVGMCAvKiBXS0NvbnRleHRNZW51RWxlbWVudEluZm8ubW0gKi8sCkBAIC0xMTIxNSw2ICsx
MTIxOCw3IEBACiAJCQkJMUFBNjU0RDExQjE0RjcxNDAwQkYxRDNFIC8qIFdLV2Vic2l0ZURhdGFS
ZWNvcmRQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3NUE4RDJDODE4N0NDRkFCMDBDMzlD
OUUgLyogV0tXZWJzaXRlRGF0YVN0b3JlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzZFN0Q4ODIz
MjM2MjA1MDBDMjE1OUQgLyogV0tXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvblJlZi5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJREY0NjJFMEQyM0YyMkRCMDAwRUZGMzVGIC8qIFdLQ29udGVudFdv
cmxkUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzVBOEQyRDYxODdEMUMwRTAwQzM5QzlF
IC8qIFdLV2Vic2l0ZURhdGFTdG9yZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUUy
ODY3QTFDN0Y3QkE2MDA2OUFDNEYgLyogV0tXZWJzaXRlRGF0YVN0b3JlUHJpdmF0ZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUE1NzEwOUYxQUJBMDAyNzAwMkZBQkJFIC8qIFdLV2Vic2l0ZURhdGFT
dG9yZVJlZi5oIGluIEhlYWRlcnMgKi8sCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390311</attachid>
            <date>2020-02-10 16:34:56 -0800</date>
            <delta_ts>2020-02-11 15:57:40 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>18725</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTYyMjkpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBACisyMDIwLTAyLTEwICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgRGVwcmVjYXRlIF9X
S1VzZXJDb250ZW50V29ybGQgcmVwbGFjZWQgYnkgV0tDb250ZW50V29ybGQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzUxNAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEkgYWxzbyBhZGQgU1BJIHRvIGNv
bnZlcnQgYmV0d2VlbiB0aGUgdHdvIHRvIGFpZCBhIHNtb290aCB0cmFuc2l0aW9uLgorCisgICAg
ICAgICogU2hhcmVkL0NvY29hL0FQSU9iamVjdC5tbToKKyAgICAgICAgKEFQSTo6T2JqZWN0Ojpu
ZXdPYmplY3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJQ29udGVudFdvcmxkLmNwcDoK
KyAgICAgICAgKEFQSTo6Q29udGVudFdvcmxkOjpmcm9tVXNlckNvbnRlbnRXb3JsZCk6CisgICAg
ICAgIChBUEk6OkNvbnRlbnRXb3JsZDo6Q29udGVudFdvcmxkKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0FQSUNvbnRlbnRXb3JsZC5oOgorICAgICAgICAoQVBJOjpDb250ZW50V29ybGRCYXNl
OjpDb250ZW50V29ybGRCYXNlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVVzZXJDb250
ZW50V29ybGQuY3BwOgorICAgICAgICAoQVBJOjpVc2VyQ29udGVudFdvcmxkOjpmcm9tQ29udGVu
dFdvcmxkKToKKyAgICAgICAgKEFQSTo6VXNlckNvbnRlbnRXb3JsZDo6VXNlckNvbnRlbnRXb3Js
ZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElVc2VyQ29udGVudFdvcmxkLmg6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0NvbnRlbnRXb3JsZC5tbToKKyAgICAgICAgKC1b
V0tDb250ZW50V29ybGQgX3VzZXJDb250ZW50V29ybGRdKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLQ29udGVudFdvcmxkSW50ZXJuYWwuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLQ29udGVudFdvcmxkUHJpdmF0ZS5oOiBBZGRlZC4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0NvY29hL1dLVXNlckNvbnRlbnRDb250cm9sbGVyLm1tOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyU2NyaXB0Lm1tOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLVXNlckNvbnRlbnRXb3JsZC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Q29jb2EvX1dLVXNlckNvbnRlbnRXb3JsZC5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS1VzZXJDb250ZW50V29ybGRJbnRlcm5hbC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLVXNlclN0eWxlU2hlZXQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS1VzZXJTdHlsZVNoZWV0Lm1tOgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorCiAyMDIwLTAyLTEwICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9sbGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBbd2F0Y2hPU10gTm90aWZpY2F0aW9uIGxpc3RlbmVyIGlzIG5l
dmVyIHVucmVnaXN0ZXJlZApJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQVBJT2Jq
ZWN0Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0FQSU9iamVj
dC5tbQkocmV2aXNpb24gMjU2MjE1KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQVBJ
T2JqZWN0Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNTIsNyArMzUyLDkgQEAKICAgICAgICAgYnJl
YWs7CiAKICAgICBjYXNlIFR5cGU6OlVzZXJDb250ZW50V29ybGQ6CisgICAgICAgIEFMTE9XX0RF
UFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCiAgICAgICAgIHdyYXBwZXIgPSBbX1dLVXNlckNv
bnRlbnRXb3JsZCBhbGxvY107CisgICAgICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05T
X0VORAogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgVHlwZTo6VXNlckluaXRpYXRlZEFjdGlv
bjoKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElDb250ZW50V29ybGQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElDb250ZW50V29y
bGQuY3BwCShyZXZpc2lvbiAyNTYyMTUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
QVBJQ29udGVudFdvcmxkLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzYsNiArNzYsMTEgQEAKICAg
ICByZXR1cm4gKndvcmxkLmdldCgpOwogfQogCitSZWY8Q29udGVudFdvcmxkPiBDb250ZW50V29y
bGQ6OmZyb21Vc2VyQ29udGVudFdvcmxkKGNvbnN0IFVzZXJDb250ZW50V29ybGQmIHVzZXJDb250
ZW50V29ybGQpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ29udGVudFdvcmxkKHVzZXJD
b250ZW50V29ybGQpKTsKK30KKwogQ29udGVudFdvcmxkOjpDb250ZW50V29ybGQoY29uc3QgV1RG
OjpTdHJpbmcmIG5hbWUpCiAgICAgOiBDb250ZW50V29ybGRCYXNlKG5hbWUpCiB7CkBAIC04Niw2
ICs5MSwxMSBAQAogewogfQogCitDb250ZW50V29ybGQ6OkNvbnRlbnRXb3JsZChjb25zdCBVc2Vy
Q29udGVudFdvcmxkJiB1c2VyQ29udGVudFdvcmxkKQorICAgIDogQ29udGVudFdvcmxkQmFzZSh1
c2VyQ29udGVudFdvcmxkLmlkZW50aWZpZXIoKSwgdXNlckNvbnRlbnRXb3JsZC5uYW1lKCkpCit7
Cit9CisKIENvbnRlbnRXb3JsZDo6fkNvbnRlbnRXb3JsZCgpCiB7CiAgICAgaWYgKG5hbWUoKS5p
c051bGwoKSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElDb250ZW50V29y
bGQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQ29udGVu
dFdvcmxkLmgJKHJldmlzaW9uIDI1NjIxNSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9BUElDb250ZW50V29ybGQuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNiArMzEsOCBAQAogCiBu
YW1lc3BhY2UgQVBJIHsKIAorY2xhc3MgVXNlckNvbnRlbnRXb3JsZDsKKwogY2xhc3MgQ29udGVu
dFdvcmxkQmFzZSB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+Q29udGVudFdvcmxkQmFzZSgpID0g
ZGVmYXVsdDsKQEAgLTQ1LDEwICs0NywxMCBAQAogcHJvdGVjdGVkOgogICAgIENvbnRlbnRXb3Js
ZEJhc2UoY29uc3QgV1RGOjpTdHJpbmcmIG5hbWUpOwogICAgIENvbnRlbnRXb3JsZEJhc2UoV2Vi
S2l0OjpDb250ZW50V29ybGRJZGVudGlmaWVyIGlkZW50aWZpZXIpCisgICAgICAgIDogbV9pZGVu
dGlmaWVyKGlkZW50aWZpZXIpIHsgfQorICAgIENvbnRlbnRXb3JsZEJhc2UoV2ViS2l0OjpDb250
ZW50V29ybGRJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IFdURjo6U3RyaW5nJiBuYW1lKQog
ICAgICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQotICAgIHsKLSAgICB9Ci0KKyAgICAg
ICAgLCBtX25hbWUobmFtZSkgeyB9CiBwcml2YXRlOgogICAgIFdlYktpdDo6Q29udGVudFdvcmxk
SWRlbnRpZmllciBtX2lkZW50aWZpZXI7CiAgICAgV1RGOjpTdHJpbmcgbV9uYW1lOwpAQCAtNTks
NiArNjEsNyBAQAogICAgIHN0YXRpYyBSZWY8Q29udGVudFdvcmxkPiBzaGFyZWRXb3JsZFdpdGhO
YW1lKGNvbnN0IFdURjo6U3RyaW5nJik7CiAgICAgc3RhdGljIENvbnRlbnRXb3JsZCYgcGFnZUNv
bnRlbnRXb3JsZCgpOwogICAgIHN0YXRpYyBDb250ZW50V29ybGQmIGRlZmF1bHRDbGllbnRXb3Js
ZCgpOworICAgIHN0YXRpYyBSZWY8Q29udGVudFdvcmxkPiBmcm9tVXNlckNvbnRlbnRXb3JsZChj
b25zdCBVc2VyQ29udGVudFdvcmxkJik7CiAKICAgICB2aXJ0dWFsIH5Db250ZW50V29ybGQoKTsK
IApAQCAtNjgsNiArNzEsNyBAQAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBDb250ZW50V29ybGQo
Y29uc3QgV1RGOjpTdHJpbmcmKTsKICAgICBleHBsaWNpdCBDb250ZW50V29ybGQoV2ViS2l0OjpD
b250ZW50V29ybGRJZGVudGlmaWVyKTsKKyAgICBleHBsaWNpdCBDb250ZW50V29ybGQoY29uc3Qg
VXNlckNvbnRlbnRXb3JsZCYpOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgQVBJCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJVXNlckNvbnRlbnRXb3JsZC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVVzZXJDb250ZW50V29ybGQuY3Bw
CShyZXZpc2lvbiAyNTYyMTUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJVXNl
ckNvbnRlbnRXb3JsZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDExIEBACiAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgVXNlckNvbnRlbnRXb3JsZChuYW1lKSk7CiB9CiAKK1JlZjxV
c2VyQ29udGVudFdvcmxkPiBVc2VyQ29udGVudFdvcmxkOjpmcm9tQ29udGVudFdvcmxkKGNvbnN0
IENvbnRlbnRXb3JsZCYgY29udGVudFdvcmxkKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFVzZXJDb250ZW50V29ybGQoY29udGVudFdvcmxkKSk7Cit9CisKIFVzZXJDb250ZW50V29ybGQm
IFVzZXJDb250ZW50V29ybGQ6Om5vcm1hbFdvcmxkKCkKIHsKICAgICBzdGF0aWMgVXNlckNvbnRl
bnRXb3JsZCogd29ybGQgPSBuZXcgVXNlckNvbnRlbnRXb3JsZChGb3JOb3JtYWxXb3JsZE9ubHk6
Ok5vcm1hbFdvcmxkKTsKQEAgLTUxLDYgKzU2LDExIEBACiB7CiB9CiAKK1VzZXJDb250ZW50V29y
bGQ6OlVzZXJDb250ZW50V29ybGQoY29uc3QgQ29udGVudFdvcmxkJiBjb250ZW50V29ybGQpCisg
ICAgOiBDb250ZW50V29ybGRCYXNlKGNvbnRlbnRXb3JsZC5pZGVudGlmaWVyKCksIGNvbnRlbnRX
b3JsZC5uYW1lKCkpCit7Cit9CisKIFVzZXJDb250ZW50V29ybGQ6On5Vc2VyQ29udGVudFdvcmxk
KCkKIHsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElVc2VyQ29udGVu
dFdvcmxkLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVVz
ZXJDb250ZW50V29ybGQuaAkocmV2aXNpb24gMjU2MjE1KQorKysgU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0FQSVVzZXJDb250ZW50V29ybGQuaAkod29ya2luZyBjb3B5KQpAQCAtMzQsNiAr
MzQsNyBAQAogcHVibGljOgogICAgIHN0YXRpYyBSZWY8VXNlckNvbnRlbnRXb3JsZD4gd29ybGRX
aXRoTmFtZShjb25zdCBXVEY6OlN0cmluZyYpOwogICAgIHN0YXRpYyBVc2VyQ29udGVudFdvcmxk
JiBub3JtYWxXb3JsZCgpOworICAgIHN0YXRpYyBSZWY8VXNlckNvbnRlbnRXb3JsZD4gZnJvbUNv
bnRlbnRXb3JsZChjb25zdCBDb250ZW50V29ybGQmKTsKIAogICAgIHZpcnR1YWwgflVzZXJDb250
ZW50V29ybGQoKTsKIApAQCAtNDIsNiArNDMsNyBAQAogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0
IFVzZXJDb250ZW50V29ybGQoY29uc3QgV1RGOjpTdHJpbmcmKTsKKyAgICBleHBsaWNpdCBVc2Vy
Q29udGVudFdvcmxkKGNvbnN0IENvbnRlbnRXb3JsZCYpOwogCiAgICAgZW51bSBjbGFzcyBGb3JO
b3JtYWxXb3JsZE9ubHkgeyBOb3JtYWxXb3JsZCB9OwogICAgIGV4cGxpY2l0IFVzZXJDb250ZW50
V29ybGQoRm9yTm9ybWFsV29ybGRPbmx5KTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS0NvbnRlbnRXb3JsZC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb250ZW50V29ybGQubW0JKHJldmlzaW9uIDI1NjIxNSkK
KysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0NvbnRlbnRXb3JsZC5tbQko
d29ya2luZyBjb3B5KQpAQCAtMjYsNiArMjYsOCBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1w
b3J0ICJXS0NvbnRlbnRXb3JsZEludGVybmFsLmgiCiAKKyNpbXBvcnQgIl9XS1VzZXJDb250ZW50
V29ybGRJbnRlcm5hbC5oIgorCiBAaW1wbGVtZW50YXRpb24gV0tDb250ZW50V29ybGQKIAogKyAo
V0tDb250ZW50V29ybGQgKilwYWdlV29ybGQKQEAgLTY2LDMgKzY4LDE0IEBACiB9CiAKIEBlbmQK
KworQGltcGxlbWVudGF0aW9uIFdLQ29udGVudFdvcmxkIChXS1ByaXZhdGUpCisKK0FMTE9XX0RF
UFJFQ0FURURfREVDTEFSQVRJT05TX0JFR0lOCistIChfV0tVc2VyQ29udGVudFdvcmxkICopX3Vz
ZXJDb250ZW50V29ybGQKK3sKKyAgICByZXR1cm4gd3JhcHBlcihBUEk6OlVzZXJDb250ZW50V29y
bGQ6OmZyb21Db250ZW50V29ybGQoKl9jb250ZW50V29ybGQpKTsKK30KK0FMTE9XX0RFUFJFQ0FU
RURfREVDTEFSQVRJT05TX0VORAorCitAZW5kCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tDb250ZW50V29ybGRJbnRlcm5hbC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0NvbnRlbnRXb3JsZEludGVybmFsLmgJKHJl
dmlzaW9uIDI1NjIxNSkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Nv
bnRlbnRXb3JsZEludGVybmFsLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDcgKzIzLDcgQEAKICAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaW1wb3J0ICJXS0NvbnRl
bnRXb3JsZC5oIgorI2ltcG9ydCAiV0tDb250ZW50V29ybGRQcml2YXRlLmgiCiAKICNpbXBvcnQg
IkFQSUNvbnRlbnRXb3JsZC5oIgogI2ltcG9ydCAiV0tPYmplY3QuaCIKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0NvbnRlbnRXb3JsZFByaXZhdGUuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb250ZW50V29ybGRQ
cml2YXRlLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLQ29udGVudFdvcmxkUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzcg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW1wb3J0IDxXZWJLaXQvV0tDb250ZW50V29ybGQuaD4KKworQGNs
YXNzIF9XS1VzZXJDb250ZW50V29ybGQ7CisKK0BpbnRlcmZhY2UgV0tDb250ZW50V29ybGQgKFdL
UHJpdmF0ZSkKKworI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgY2xhbmcg
ZGlhZ25vc3RpYyBpZ25vcmVkICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIgorQHByb3BlcnR5
IChub25hdG9taWMsIGNvcHksIHJlYWRvbmx5KSBfV0tVc2VyQ29udGVudFdvcmxkICpfdXNlckNv
bnRlbnRXb3JsZDsKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKKworQGVuZApJbmRleDog
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVXNlckNvbnRlbnRDb250cm9sbGVy
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1Vz
ZXJDb250ZW50Q29udHJvbGxlci5tbQkocmV2aXNpb24gMjU2MjE1KQorKysgU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVXNlckNvbnRlbnRDb250cm9sbGVyLm1tCSh3b3JraW5n
IGNvcHkpCkBAIC0xNzIsMTAgKzE3MiwxMiBAQAogICAgIF91c2VyQ29udGVudENvbnRyb2xsZXJQ
cm94eS0+cmVtb3ZlVXNlclNjcmlwdCgqdXNlclNjcmlwdC0+X3VzZXJTY3JpcHQpOwogfQogCitB
TExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgogLSAodm9pZClfcmVtb3ZlQWxsVXNl
clNjcmlwdHNBc3NvY2lhdGVkV2l0aFVzZXJDb250ZW50V29ybGQ6KF9XS1VzZXJDb250ZW50V29y
bGQgKil1c2VyQ29udGVudFdvcmxkCiB7CiAgICAgX3VzZXJDb250ZW50Q29udHJvbGxlclByb3h5
LT5yZW1vdmVBbGxVc2VyU2NyaXB0cygqdXNlckNvbnRlbnRXb3JsZC0+X3VzZXJDb250ZW50V29y
bGQpOwogfQorQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECiAKIC0gKHZvaWQpX2Fk
ZFVzZXJTY3JpcHRJbW1lZGlhdGVseTooV0tVc2VyU2NyaXB0ICopdXNlclNjcmlwdAogewpAQCAt
MjIzLDYgKzIyNSw3IEBACiAgICAgX3VzZXJDb250ZW50Q29udHJvbGxlclByb3h5LT5yZW1vdmVB
bGxVc2VyU3R5bGVTaGVldHMoKTsKIH0KIAorQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNf
QkVHSU4KIC0gKHZvaWQpX3JlbW92ZUFsbFVzZXJTdHlsZVNoZWV0c0Fzc29jaWF0ZWRXaXRoVXNl
ckNvbnRlbnRXb3JsZDooX1dLVXNlckNvbnRlbnRXb3JsZCAqKXVzZXJDb250ZW50V29ybGQKIHsK
ICAgICBfdXNlckNvbnRlbnRDb250cm9sbGVyUHJveHktPnJlbW92ZUFsbFVzZXJTdHlsZVNoZWV0
cygqdXNlckNvbnRlbnRXb3JsZC0+X3VzZXJDb250ZW50V29ybGQpOwpAQCAtMjQ0LDUgKzI0Nyw2
IEBACiB7CiAgICAgX3VzZXJDb250ZW50Q29udHJvbGxlclByb3h5LT5yZW1vdmVBbGxVc2VyTWVz
c2FnZUhhbmRsZXJzKCp1c2VyQ29udGVudFdvcmxkLT5fdXNlckNvbnRlbnRXb3JsZCk7CiB9CitB
TExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIAogQGVuZApJbmRleDogU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVXNlclNjcmlwdC5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyU2NyaXB0Lm1tCShyZXZpc2lv
biAyNTYyMTUpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVc2VyU2Ny
aXB0Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC03OCw2ICs3OCw3IEBACiAKIEBpbXBsZW1lbnRhdGlv
biBXS1VzZXJTY3JpcHQgKFdLUHJpdmF0ZSkKIAorQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElP
TlNfQkVHSU4KIC0gKGluc3RhbmNldHlwZSlfaW5pdFdpdGhTb3VyY2U6KE5TU3RyaW5nICopc291
cmNlIGluamVjdGlvblRpbWU6KFdLVXNlclNjcmlwdEluamVjdGlvblRpbWUpaW5qZWN0aW9uVGlt
ZSBmb3JNYWluRnJhbWVPbmx5OihCT09MKWZvck1haW5GcmFtZU9ubHkgbGVnYWN5V2hpdGVsaXN0
OihOU0FycmF5ICopbGVnYWN5V2hpdGVsaXN0IGxlZ2FjeUJsYWNrbGlzdDooTlNBcnJheSAqKWxl
Z2FjeUJsYWNrbGlzdCB1c2VyQ29udGVudFdvcmxkOihfV0tVc2VyQ29udGVudFdvcmxkICopdXNl
ckNvbnRlbnRXb3JsZAogewogICAgIGlmICghKHNlbGYgPSBbc3VwZXIgaW5pdF0pKQpAQCAtMTAy
LDUgKzEwMyw2IEBACiB7CiAgICAgcmV0dXJuIHdyYXBwZXIoX3VzZXJTY3JpcHQtPnVzZXJDb250
ZW50V29ybGQoKSk7CiB9CitBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIAogQGVu
ZApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50
V29ybGQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLVXNlckNvbnRlbnRXb3JsZC5oCShyZXZpc2lvbiAyNTYyMTUpCisrKyBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRXb3JsZC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yNyw3ICsyNyw3IEBACiAKIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiAKLVdLX0NMQVNT
X0FWQUlMQUJMRShtYWNvcygxMC4xMiksIGlvcygxMC4wKSkKK1dLX0NMQVNTX0RFUFJFQ0FURURf
V0lUSF9SRVBMQUNFTUVOVCgiV0tDb250ZW50V29ybGQiLCBtYWNvcygxMC4xMiwgV0tfTUFDX1RC
QSksIGlvcygxMC4wLCBXS19JT1NfVEJBKSkKIEBpbnRlcmZhY2UgX1dLVXNlckNvbnRlbnRXb3Js
ZCA6IE5TT2JqZWN0CiAKICsgKF9XS1VzZXJDb250ZW50V29ybGQgKil3b3JsZFdpdGhOYW1lOihO
U1N0cmluZyAqKW5hbWU7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
X1dLVXNlckNvbnRlbnRXb3JsZC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRXb3JsZC5tbQkocmV2aXNpb24gMjU2MjE1KQor
KysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50V29ybGQu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgog
I2ltcG9ydCAiX1dLVXNlckNvbnRlbnRXb3JsZEludGVybmFsLmgiCiAKK0FMTE9XX0RFUFJFQ0FU
RURfSU1QTEVNRU5UQVRJT05TX0JFR0lOCiBAaW1wbGVtZW50YXRpb24gX1dLVXNlckNvbnRlbnRX
b3JsZAogCiArIChfV0tVc2VyQ29udGVudFdvcmxkICopd29ybGRXaXRoTmFtZTooTlNTdHJpbmcg
KiluYW1lCkBAIC02MCwzICs2MSw0IEBACiB9CiAKIEBlbmQKK0FMTE9XX0RFUFJFQ0FURURfSU1Q
TEVNRU5UQVRJT05TX0VORApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS1VzZXJDb250ZW50V29ybGRJbnRlcm5hbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudFdvcmxkSW50ZXJuYWwuaAkocmV2
aXNpb24gMjU2MjE1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1Vz
ZXJDb250ZW50V29ybGRJbnRlcm5hbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw5IEBA
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogdGVtcGxhdGU8PiBzdHJ1Y3QgV3JhcHBlclRyYWl0czxB
UEk6OlVzZXJDb250ZW50V29ybGQ+IHsKKyAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9O
U19CRUdJTgogICAgIHVzaW5nIFdyYXBwZXJDbGFzcyA9IF9XS1VzZXJDb250ZW50V29ybGQ7Cisg
ICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECiB9OwogCiB9CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlclN0eWxlU2hlZXQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlclN0eWxlU2hl
ZXQuaAkocmV2aXNpb24gMjU2MjE1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS1VzZXJTdHlsZVNoZWV0LmgJKHdvcmtpbmcgY29weSkKQEAgLTQxLDggKzQxLDExIEBA
CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGdldHRlcj1pc0Zvck1haW5GcmFtZU9u
bHkpIEJPT0wgZm9yTWFpbkZyYW1lT25seTsKIAogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoU291
cmNlOihOU1N0cmluZyAqKXNvdXJjZSBmb3JNYWluRnJhbWVPbmx5OihCT09MKWZvck1haW5GcmFt
ZU9ubHk7CisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBjbGFuZyBkaWFn
bm9zdGljIGlnbm9yZWQgIi1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiCiAtIChpbnN0YW5jZXR5
cGUpaW5pdFdpdGhTb3VyY2U6KE5TU3RyaW5nICopc291cmNlIGZvck1haW5GcmFtZU9ubHk6KEJP
T0wpZm9yTWFpbkZyYW1lT25seSBsZWdhY3lXaGl0ZWxpc3Q6KE5TQXJyYXk8TlNTdHJpbmcgKj4g
KilsZWdhY3lXaGl0ZWxpc3QgbGVnYWN5QmxhY2tsaXN0OihOU0FycmF5PE5TU3RyaW5nICo+ICop
bGVnYWN5QmxhY2tsaXN0IHVzZXJDb250ZW50V29ybGQ6KF9XS1VzZXJDb250ZW50V29ybGQgKil1
c2VyQ29udGVudFdvcmxkOwogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoU291cmNlOihOU1N0cmlu
ZyAqKXNvdXJjZSBmb3JNYWluRnJhbWVPbmx5OihCT09MKWZvck1haW5GcmFtZU9ubHkgbGVnYWN5
V2hpdGVsaXN0OihOU0FycmF5PE5TU3RyaW5nICo+ICopbGVnYWN5V2hpdGVsaXN0IGxlZ2FjeUJs
YWNrbGlzdDooTlNBcnJheTxOU1N0cmluZyAqPiAqKWxlZ2FjeUJsYWNrbGlzdCBiYXNlVVJMOihO
U1VSTCAqKWJhc2VVUkwgdXNlckNvbnRlbnRXb3JsZDooX1dLVXNlckNvbnRlbnRXb3JsZCAqKXVz
ZXJDb250ZW50V29ybGQ7CisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCiAKIEBlbmQKIApJ
bmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJTdHlsZVNoZWV0
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tV
c2VyU3R5bGVTaGVldC5tbQkocmV2aXNpb24gMjU2MjE1KQorKysgU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS1VzZXJTdHlsZVNoZWV0Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC00
Nyw2ICs0Nyw3IEBACiAgICAgcmV0dXJuIHNlbGY7CiB9CiAKK0FMTE9XX0RFUFJFQ0FURURfREVD
TEFSQVRJT05TX0JFR0lOCiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhTb3VyY2U6KE5TU3RyaW5n
ICopc291cmNlIGZvck1haW5GcmFtZU9ubHk6KEJPT0wpZm9yTWFpbkZyYW1lT25seSBsZWdhY3lX
aGl0ZWxpc3Q6KE5TQXJyYXk8TlNTdHJpbmcgKj4gKilsZWdhY3lXaGl0ZWxpc3QgbGVnYWN5Qmxh
Y2tsaXN0OihOU0FycmF5PE5TU3RyaW5nICo+ICopbGVnYWN5QmxhY2tsaXN0IHVzZXJDb250ZW50
V29ybGQ6KF9XS1VzZXJDb250ZW50V29ybGQgKil1c2VyQ29udGVudFdvcmxkCiB7CiAgICAgaWYg
KCEoc2VsZiA9IFtzdXBlciBpbml0XSkpCkBAIC03Miw2ICs3Myw3IEBACiAKICAgICByZXR1cm4g
c2VsZjsKIH0KK0FMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogCiAtICh2b2lkKWRl
YWxsb2MKIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagkocmV2aXNpb24gMjU2MjE1KQorKysgU291cmNlL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTcyNiw2ICsxNzI2LDcg
QEAKIAkJQ0VFNEFFMkIxQTVEQ0Y0MzAwMDJGNDlCIC8qIFVJS2l0U1BJLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRUU0QUUyQTFBNURDRjQzMDAwMkY0
OUIgLyogVUlLaXRTUEkuaCAqLzsgfTsKIAkJRDNCOTQ4NDcxMUZGNEI2NTAwMDMyQjM5IC8qIFdl
YlBvcHVwTWVudS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRDNCOTQ4NDMxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5oICovOyB9OwogCQlE
M0I5NDg0OTExRkY0QjY1MDAwMzJCMzkgLyogV2ViU2VhcmNoUG9wdXBNZW51LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEM0I5NDg0NTExRkY0QjY1MDAw
MzJCMzkgLyogV2ViU2VhcmNoUG9wdXBNZW51LmggKi87IH07CisJCURGNDYyRTBEMjNGMjJEQjAw
MEVGRjM1RiAvKiBXS0NvbnRlbnRXb3JsZFByaXZhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IERGNDYyRTBDMjNGMjIzRjEwMEVGRjM1RiAvKiBXS0Nv
bnRlbnRXb3JsZFByaXZhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQlFMTA1RkU1NDE4RDdCOURFMDA4RjU3QTggLyogRWRpdGluZ1JhbmdlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTA1RkU1MzE4
RDdCOURFMDA4RjU3QTggLyogRWRpdGluZ1JhbmdlLmggKi87IH07CiAJCUUxMUQzNUFFMTZCNjNE
MUIwMDZEMjNENyAvKiBjb20uYXBwbGUuV2ViUHJvY2Vzcy5zYiBpbiBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTE5NjdFMzcxNTBBQjVFMjAwQzczMTY5IC8q
IGNvbS5hcHBsZS5XZWJQcm9jZXNzLnNiICovOyB9OwogCQlFMTRBOTU0QTE2RTAxNkE0MDA2OERF
ODIgLyogTmV0d29ya1Byb2Nlc3NQbGF0Zm9ybVN0cmF0ZWdpZXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNEE5NTQ4MTZFMDE2QTQwMDY4REU4MiAv
KiBOZXR3b3JrUHJvY2Vzc1BsYXRmb3JtU3RyYXRlZ2llcy5oICovOyB9OwpAQCAtNDk4Nyw2ICs0
OTg4LDcgQEAKIAkJRDNCOTQ4NDMxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJQb3B1cE1lbnUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDNCOTQ4NDQxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlNlYXJj
aFBvcHVwTWVudS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJT
ZWFyY2hQb3B1cE1lbnUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEM0I5NDg0
NTExRkY0QjY1MDAwMzJCMzkgLyogV2ViU2VhcmNoUG9wdXBNZW51LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlNlYXJjaFBvcHVwTWVudS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlERjQ2MkUwQzIzRjIyM0YxMDBFRkYzNUYgLyogV0tDb250ZW50V29ybGRQ
cml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQ29udGVudFdvcmxk
UHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlERjU4QzYzMTEzNzFBQzU4
MDBGOUEzN0MgLyogTmF0aXZlV2ViV2hlZWxFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBOYXRpdmVXZWJXaGVlbEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCURGNThDNjM1MTM3MUFDQTAwMEY5QTM3QyAvKiBOYXRpdmVXZWJXaGVlbEV2ZW50TWFj
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTmF0aXZlV2ViV2hl
ZWxFdmVudE1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTEwNUZFNTMxOEQ3
QjlERTAwOEY1N0E4IC8qIEVkaXRpbmdSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBFZGl0aW5nUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTY5
NTUsNiArNjk1Nyw3IEBACiAJCQkJNUNEMjg2NTAxRTcyMkY0NDAwOTRGREM4IC8qIFdLQ29udGVu
dFJ1bGVMaXN0U3RvcmVQcml2YXRlLmggKi8sCiAJCQkJNTExMDY1RkEyM0VDOTU2QjAwNTQ0M0Q2
IC8qIFdLQ29udGVudFdvcmxkLmggKi8sCiAJCQkJNTExMDY1RjkyM0VDOTU2QjAwNTQ0M0Q2IC8q
IFdLQ29udGVudFdvcmxkLm1tICovLAorCQkJCURGNDYyRTBDMjNGMjIzRjEwMEVGRjM1RiAvKiBX
S0NvbnRlbnRXb3JsZFByaXZhdGUuaCAqLywKIAkJCQk1MTEwNjVGQjIzRUM5NTZCMDA1NDQzRDYg
LyogV0tDb250ZW50V29ybGRJbnRlcm5hbC5oICovLAogCQkJCTVDRTBDMzY5MjI5RjJENEEwMDM2
OTVGMCAvKiBXS0NvbnRleHRNZW51RWxlbWVudEluZm8uaCAqLywKIAkJCQk1Q0UwQzM2ODIyOUYy
RDRBMDAzNjk1RjAgLyogV0tDb250ZXh0TWVudUVsZW1lbnRJbmZvLm1tICovLApAQCAtMTEyMTUs
NiArMTEyMTgsNyBAQAogCQkJCTFBQTY1NEQxMUIxNEY3MTQwMEJGMUQzRSAvKiBXS1dlYnNpdGVE
YXRhUmVjb3JkUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzVBOEQyQzgxODdDQ0ZBQjAw
QzM5QzlFIC8qIFdLV2Vic2l0ZURhdGFTdG9yZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUM2RTdE
ODgyMzIzNjIwNTAwQzIxNTlEIC8qIFdLV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb25SZWYu
aCBpbiBIZWFkZXJzICovLAorCQkJCURGNDYyRTBEMjNGMjJEQjAwMEVGRjM1RiAvKiBXS0NvbnRl
bnRXb3JsZFByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTc1QThEMkQ2MTg3RDFDMEUwMEMz
OUM5RSAvKiBXS1dlYnNpdGVEYXRhU3RvcmVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MUFFMjg2N0ExQzdGN0JBNjAwNjlBQzRGIC8qIFdLV2Vic2l0ZURhdGFTdG9yZVByaXZhdGUuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBNTcxMDlGMUFCQTAwMjcwMDJGQUJCRSAvKiBXS1dlYnNpdGVE
YXRhU3RvcmVSZWYuaCBpbiBIZWFkZXJzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390452</attachid>
            <date>2020-02-11 15:57:44 -0800</date>
            <delta_ts>2020-02-13 15:00:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207514-20200211155743.patch</filename>
            <type>text/plain</type>
            <size>4435</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTYzODMpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDIwLTAyLTExICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgRGVwcmVjYXRlIF9X
S1VzZXJDb250ZW50V29ybGQgcmVwbGFjZWQgYnkgV0tDb250ZW50V29ybGQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNzUxNAorCisgICAgICAgIFJl
dmlld2VkIGJ5IEJyYWR5IEVpZHNvbi4KKworICAgICAgICBfV0tVc2VyQ29udGVudFdvcmxkLmNv
bnRlbnRXb3JsZCBpcyBub3QgbmVlZGVkLAorICAgICAgICBidXQgV0tDb250ZW50V29ybGQuX3Vz
ZXJDb250ZW50V29ybGQgbmVlZHMgdG8gcmV0dXJuIGFuIGF1dG9yZWxlYXNlZCBvYmplY3QuCisK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSUNvbnRlbnRXb3JsZC5jcHA6CisgICAgICAgIChB
UEk6OkNvbnRlbnRXb3JsZDo6ZnJvbVVzZXJDb250ZW50V29ybGQpOiBEZWxldGVkLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvQVBJQ29udGVudFdvcmxkLmg6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS0NvbnRlbnRXb3JsZC5tbToKKyAgICAgICAgKC1bV0tDb250ZW50V29ybGQg
X3VzZXJDb250ZW50V29ybGRdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1Vz
ZXJDb250ZW50V29ybGQuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJD
b250ZW50V29ybGQubW06CisgICAgICAgICgtW19XS1VzZXJDb250ZW50V29ybGQgY29udGVudFdv
cmxkXSk6IERlbGV0ZWQuCisKIDIwMjAtMDItMTEgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1
ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNTYzMTQu
CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQ29udGVudFdvcmxkLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQ29udGVudFdvcmxk
LmNwcAkocmV2aXNpb24gMjU2MzQ2KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQ
SUNvbnRlbnRXb3JsZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc2LDExICs3Niw2IEBAIENvbnRl
bnRXb3JsZCYgQ29udGVudFdvcmxkOjpkZWZhdWx0Q2xpZW4KICAgICByZXR1cm4gKndvcmxkLmdl
dCgpOwogfQogCi1SZWY8Q29udGVudFdvcmxkPiBDb250ZW50V29ybGQ6OmZyb21Vc2VyQ29udGVu
dFdvcmxkKGNvbnN0IFVzZXJDb250ZW50V29ybGQmIHVzZXJDb250ZW50V29ybGQpCi17Ci0gICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgQ29udGVudFdvcmxkKHVzZXJDb250ZW50V29ybGQpKTsKLX0K
LQogQ29udGVudFdvcmxkOjpDb250ZW50V29ybGQoY29uc3QgV1RGOjpTdHJpbmcmIG5hbWUpCiAg
ICAgOiBDb250ZW50V29ybGRCYXNlKG5hbWUpCiB7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQVBJQ29udGVudFdvcmxkLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0FQSUNvbnRlbnRXb3JsZC5oCShyZXZpc2lvbiAyNTYzNDYpCisrKyBTb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQ29udGVudFdvcmxkLmgJKHdvcmtpbmcgY29weSkK
QEAgLTYxLDcgKzYxLDYgQEAgcHVibGljOgogICAgIHN0YXRpYyBSZWY8Q29udGVudFdvcmxkPiBz
aGFyZWRXb3JsZFdpdGhOYW1lKGNvbnN0IFdURjo6U3RyaW5nJik7CiAgICAgc3RhdGljIENvbnRl
bnRXb3JsZCYgcGFnZUNvbnRlbnRXb3JsZCgpOwogICAgIHN0YXRpYyBDb250ZW50V29ybGQmIGRl
ZmF1bHRDbGllbnRXb3JsZCgpOwotICAgIHN0YXRpYyBSZWY8Q29udGVudFdvcmxkPiBmcm9tVXNl
ckNvbnRlbnRXb3JsZChjb25zdCBVc2VyQ29udGVudFdvcmxkJik7CiAKICAgICB2aXJ0dWFsIH5D
b250ZW50V29ybGQoKTsKIApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLQ29udGVudFdvcmxkLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS0NvbnRlbnRXb3JsZC5tbQkocmV2aXNpb24gMjU2MzQ2KQorKysgU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLQ29udGVudFdvcmxkLm1tCSh3b3JraW5nIGNv
cHkpCkBAIC03NCw3ICs3NCw4IEBAIC0gKEFQSTo6T2JqZWN0JilfYXBpT2JqZWN0CiBBTExPV19E
RVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJTgogLSAoX1dLVXNlckNvbnRlbnRXb3JsZCAqKV91
c2VyQ29udGVudFdvcmxkCiB7Ci0gICAgcmV0dXJuIHdyYXBwZXIoQVBJOjpVc2VyQ29udGVudFdv
cmxkOjpmcm9tQ29udGVudFdvcmxkKCpfY29udGVudFdvcmxkKSk7CisgICAgYXV0byB3b3JsZCA9
IHJldGFpblB0cih3cmFwcGVyKEFQSTo6VXNlckNvbnRlbnRXb3JsZDo6ZnJvbUNvbnRlbnRXb3Js
ZCgqX2NvbnRlbnRXb3JsZCkpKTsKKyAgICByZXR1cm4gd29ybGQuYXV0b3JlbGVhc2UoKTsKIH0K
IEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogCkluZGV4OiBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRXb3JsZC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tVc2VyQ29udGVudFdvcmxkLmgJ
KHJldmlzaW9uIDI1NjM3NikKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9f
V0tVc2VyQ29udGVudFdvcmxkLmgJKHdvcmtpbmcgY29weSkKQEAgLTI1LDggKzI1LDYgQEAKIAog
I2ltcG9ydCA8V2ViS2l0L1dLRm91bmRhdGlvbi5oPgogCi1AY2xhc3MgV0tDb250ZW50V29ybGQ7
Ci0KIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiAKIFdLX0NMQVNTX0RFUFJFQ0FURURfV0lUSF9S
RVBMQUNFTUVOVCgiV0tDb250ZW50V29ybGQiLCBtYWNvcygxMC4xMiwgV0tfTUFDX1RCQSksIGlv
cygxMC4wLCBXS19JT1NfVEJBKSkKQEAgLTM3LDggKzM1LDYgQEAgV0tfQ0xBU1NfREVQUkVDQVRF
RF9XSVRIX1JFUExBQ0VNRU5UKCJXSwogCiBAcHJvcGVydHkgKG51bGxhYmxlLCBub25hdG9taWMs
IHJlYWRvbmx5LCBjb3B5KSBOU1N0cmluZyAqbmFtZTsKIAotQHByb3BlcnR5IChub25hdG9taWMs
IGNvcHksIHJlYWRvbmx5KSBXS0NvbnRlbnRXb3JsZCAqY29udGVudFdvcmxkIFdLX0FQSV9BVkFJ
TEFCTEUobWFjb3MoV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7Ci0KIEBlbmQKIAogTlNf
QVNTVU1FX05PTk5VTExfRU5ECkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLVXNlckNvbnRlbnRXb3JsZC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLVXNlckNvbnRlbnRXb3JsZC5tbQkocmV2aXNpb24gMjU2Mzc2
KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1VzZXJDb250ZW50V29y
bGQubW0JKHdvcmtpbmcgY29weSkKQEAgLTI2LDggKzI2LDYgQEAKICNpbXBvcnQgImNvbmZpZy5o
IgogI2ltcG9ydCAiX1dLVXNlckNvbnRlbnRXb3JsZEludGVybmFsLmgiCiAKLSNpbXBvcnQgIldL
Q29udGVudFdvcmxkSW50ZXJuYWwuaCIKLQogQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElP
TlNfQkVHSU4KIEBpbXBsZW1lbnRhdGlvbiBfV0tVc2VyQ29udGVudFdvcmxkCiAKQEAgLTU1LDEx
ICs1Myw2IEBAIC0gKE5TU3RyaW5nICopbmFtZQogICAgIHJldHVybiBfdXNlckNvbnRlbnRXb3Js
ZC0+bmFtZSgpOwogfQogCi0tIChXS0NvbnRlbnRXb3JsZCAqKWNvbnRlbnRXb3JsZAotewotICAg
IHJldHVybiB3cmFwcGVyKEFQSTo6Q29udGVudFdvcmxkOjpmcm9tVXNlckNvbnRlbnRXb3JsZCgq
X3VzZXJDb250ZW50V29ybGQpKTsKLX0KLQogI3ByYWdtYSBtYXJrIFdLT2JqZWN0IHByb3RvY29s
IGltcGxlbWVudGF0aW9uCiAKIC0gKEFQSTo6T2JqZWN0JilfYXBpT2JqZWN0Cg==
</data>
<flag name="commit-queue"
          id="406298"
          type_id="3"
          status="-"
          setter="achristensen"
    />
          </attachment>
      

    </bug>

</bugzilla>