<?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>103060</bug_id>
          
          <creation_ts>2012-11-22 05:38:06 -0800</creation_ts>
          <short_desc>Merge EditingText into Text</short_desc>
          <delta_ts>2012-11-22 09:35:36 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>d-r</cc>
    
    <cc>fmalita</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kling</cc>
    
    <cc>mifenton</cc>
    
    <cc>ojan</cc>
    
    <cc>pdr</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>schenney</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>773866</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-11-22 05:38:06 -0800</bug_when>
    <thetext>EditingText is a Text that always creates a renderer. It can be replaced by a bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>773899</commentid>
    <comment_count>1</comment_count>
      <attachid>175661</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-11-22 06:26:01 -0800</bug_when>
    <thetext>Created attachment 175661
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>773918</commentid>
    <comment_count>2</comment_count>
      <attachid>175666</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-11-22 06:48:31 -0800</bug_when>
    <thetext>Created attachment 175666
patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>773922</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-22 06:50:39 -0800</bug_when>
    <thetext>Attachment 175666 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/CMakeLists.txt&apos;, u&apos;Source/W...&quot; exit_code: 1
Source/WebCore/editing/ReplaceSelectionCommand.cpp:55:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 13 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>773942</commentid>
    <comment_count>4</comment_count>
      <attachid>175666</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-11-22 07:35:02 -0800</bug_when>
    <thetext>Comment on attachment 175666
patch 2

Attachment 175666 did not pass win-ews (win):
Output: http://queues.webkit.org/results/14960372</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>773980</commentid>
    <comment_count>5</comment_count>
      <attachid>175666</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-11-22 08:40:58 -0800</bug_when>
    <thetext>Comment on attachment 175666
patch 2

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

&gt; Source/WebCore/dom/Node.h:320
&gt; +    bool hasName() const { ASSERT(!isTextNode()); return getFlag(HasNameOrIsEditingTextFlag); }

These two statements should probably be put in separate lines.

&gt; Source/WebCore/dom/Node.h:334
&gt; +    bool isEditingText() const { ASSERT(isTextNode()); return getFlag(HasNameOrIsEditingTextFlag); }

Ditto.

&gt; Source/WebCore/dom/Node.h:336
&gt; +    void setHasName(bool f) { ASSERT(!isTextNode()); setFlag(f, HasNameOrIsEditingTextFlag); }

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>774007</commentid>
    <comment_count>6</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2012-11-22 09:35:36 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/135529</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175661</attachid>
            <date>2012-11-22 06:26:01 -0800</date>
            <delta_ts>2012-11-22 06:48:31 -0800</delta_ts>
            <desc>patch</desc>
            <filename>eliminate-editingtext.patch</filename>
            <type>text/plain</type>
            <size>29279</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNTUwOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUwIEBACisyMDEyLTExLTIyICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBFbGltaW5hdGUgRWRpdGluZ1Rl
eHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzA2
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92
ZSB0aGUgRWRpdGluZ1RleHQgY2xhc3MuIEl0cyBvbmx5IGZ1bmN0aW9uIGJleW9uZCB0aGUgcmVn
dWxhciBUZXh0IGlzIHRoYXQgaXQgYWx3YXlzIGNyZWF0ZXMgYSByZW5kZXJlci4KKyAgICAgICAg
SXQgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBiaXQuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6
CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBkb20vQ0RBVEFTZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNEQVRB
U2VjdGlvbjo6Q0RBVEFTZWN0aW9uKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNyZWF0ZUVkaXRpbmdUZXh0Tm9kZSk6CisgICAgICAg
ICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKERvY3VtZW50
KToKKyAgICAgICAgKiBkb20vRWRpdGluZ1RleHQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGRv
bS9FZGl0aW5nVGV4dC5oOiBSZW1vdmVkLgorICAgICAgICAqIGRvbS9Ob2RlLmg6CisgICAgICAg
IChXZWJDb3JlOjpOb2RlOjpoYXNOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmlzRWRp
dGluZ1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6c2V0SGFzTmFtZSk6CisgICAgICAg
IAorICAgICAgICAgICAgVXNlIHRoZSBzYW1lIGJpdCBhcyBoYXNOYW1lKCkgd2hpY2ggaXMgRWxl
bWVudCBzcGVjaWZpYy4KKworICAgICAgICAqIGRvbS9UZXh0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlRleHQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6
OlRleHQ6OmNyZWF0ZUVkaXRpbmdUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHQ6OnJlbmRl
cmVySXNOZWVkZWQpOgorICAgICAgICAqIGRvbS9UZXh0Lmg6CisgICAgICAgIChUZXh0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlRleHQ6OlRleHQpOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNw
cDoKKyAgICAgICAgKiBlZGl0aW5nL0luc2VydFRleHRDb21tYW5kLmNwcDoKKyAgICAgICAgKiBl
ZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcDoKKyAgICAgICAgKiBlZGl0aW5nL2h0
bWxlZGl0aW5nLmNwcDoKKyAgICAgICAgKiBlZGl0aW5nL21hYy9FZGl0b3JNYWMubW06CisgICAg
ICAgICogcGFnZS9GcmFtZS5jcHA6CisKIDIwMTItMTEtMjIgIEFsbGFuIFNhbmRmZWxkIEplbnNl
biAgPGFsbGFuLmplbnNlbkBkaWdpYS5jb20+CiAKICAgICAgICAgW1F0XSBMb29rdXAgbWltZXR5
cGVzIHVzaW5nIFFNaW1lRGF0YWJhc2UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lv
biAxMzU0MTIpCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtMTE0Niw3ICsxMTQ2LDYgQEAgU0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGRvbS9Eb2N1
bWVudFN0eWxlU2hlZXRDb2xsZWN0aW9uLmNwcAogICAgIGRvbS9Eb2N1bWVudFR5cGUuY3BwCiAg
ICAgZG9tL0R5bmFtaWNOb2RlTGlzdC5jcHAKLSAgICBkb20vRWRpdGluZ1RleHQuY3BwCiAgICAg
ZG9tL0VsZW1lbnQuY3BwCiAgICAgZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcAogICAgIGRv
bS9FbGVtZW50UmFyZURhdGEuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0J
KHJldmlzaW9uIDEzNTQxMikKKysrIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0J
KHdvcmtpbmcgY29weSkKQEAgLTI3NzQsOCArMjc3NCw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBc
CiAJU291cmNlL1dlYkNvcmUvZG9tL0RPTVRpbWVTdGFtcC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9k
b20vRHluYW1pY05vZGVMaXN0LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0R5bmFtaWNOb2Rl
TGlzdC5oIFwKLQlTb3VyY2UvV2ViQ29yZS9kb20vRWRpdGluZ1RleHQuY3BwIFwKLQlTb3VyY2Uv
V2ViQ29yZS9kb20vRWRpdGluZ1RleHQuaCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudEF0dHJpYnV0ZURhdGEuY3BwIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQkocmV2aXNpb24g
MTM1NDEyKQorKysgU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQkod29ya2luZyBjb3B5KQpAQCAt
Mzg1LDcgKzM4NSw2IEBAIFNPVVJDRVMgKz0gXAogICAgIGRvbS9ET01TdHJpbmdNYXAuY3BwIFwK
ICAgICBkb20vRGF0YXNldERPTVN0cmluZ01hcC5jcHAgXAogICAgIGRvbS9EeW5hbWljTm9kZUxp
c3QuY3BwIFwKLSAgICBkb20vRWRpdGluZ1RleHQuY3BwIFwKICAgICBkb20vRWxlbWVudC5jcHAg
XAogICAgIGRvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5jcHAgXAogICAgIGRvbS9FbGVtZW50UmFy
ZURhdGEuY3BwIFwKQEAgLTE1NjQsNyArMTU2Myw2IEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9E
T01UaW1lU3RhbXAuaCBcCiAgICAgZG9tL0RhdGFzZXRET01TdHJpbmdNYXAuaCBcCiAgICAgZG9t
L0R5bmFtaWNOb2RlTGlzdC5oIFwKLSAgICBkb20vRWRpdGluZ1RleHQuaCBcCiAgICAgZG9tL0Vs
ZW1lbnQuaCBcCiAgICAgZG9tL0VsZW1lbnRTaGFkb3cuaCBcCiAgICAgZG9tL0VsZW1lbnRBdHRy
aWJ1dGVEYXRhLmggXApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkocmV2aXNpb24gMTM1NDEyKQorKysg
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC0zODQwLDggKzM4
NDAsNiBAQAogICAgICAgICAgICAgJ2RvbS9Eb2N1bWVudFR5cGUuY3BwJywKICAgICAgICAgICAg
ICdkb20vRHluYW1pY05vZGVMaXN0LmNwcCcsCiAgICAgICAgICAgICAnZG9tL0R5bmFtaWNOb2Rl
TGlzdC5oJywKLSAgICAgICAgICAgICdkb20vRWRpdGluZ1RleHQuY3BwJywKLSAgICAgICAgICAg
ICdkb20vRWRpdGluZ1RleHQuaCcsCiAgICAgICAgICAgICAnZG9tL0VsZW1lbnRTaGFkb3cuY3Bw
JywKICAgICAgICAgICAgICdkb20vRWxlbWVudC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9FbGVt
ZW50QXR0cmlidXRlRGF0YS5jcHAnLApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJldmlzaW9uIDEzNTQxMikKKysrIFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC01MTA3Myw2
MyArNTEwNzMsNyBAQAogCQkJCVJlbGF0aXZlUGF0aD0iLi5cZG9tXER5bmFtaWNOb2RlTGlzdC5o
IgogCQkJCT4KIAkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21c
RWRpdGluZ1RleHQuY3BwIgotCQkJCT4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFt
ZT0iRGVidWd8V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0J
CQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlJl
bGVhc2V8V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJ
CTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmls
ZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVn
X0NhaXJvX0NGTGl0ZXxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJ
CT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0J
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFt
ZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgot
CQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9u
Ci0JCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0J
CQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
LQkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0J
CQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0J
CQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRWRpdGluZ1RleHQuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+
Ci0JCQk8RmlsZQorICAgICAgICAgICAgPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxF
bGVtZW50LmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lv
biAxMzU0MTIpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTE3NzAsOCArMTc3MCw2IEBACiAJCTY1NTBCNkEwMDk5
REYwMjcwMDkwRDc4MSAvKiBDaGFyYWN0ZXJEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTUwQjY5NjA5OURGMDI3MDA5MEQ3ODEgLyogQ2hhcmFj
dGVyRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTY1NTBCNkExMDk5REYwMjcwMDkwRDc4MSAvKiBDb21tZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NTBCNjk3MDk5REYwMjcwMDkwRDc4
MSAvKiBDb21tZW50LmNwcCAqLzsgfTsKIAkJNjU1MEI2QTIwOTlERjAyNzAwOTBENzgxIC8qIENv
bW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1
NTBCNjk4MDk5REYwMjcwMDkwRDc4MSAvKiBDb21tZW50LmggKi87IH07Ci0JCTY1NTBCNkEzMDk5
REYwMjcwMDkwRDc4MSAvKiBFZGl0aW5nVGV4dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTUwQjY5OTA5OURGMDI3MDA5MEQ3ODEgLyogRWRpdGlu
Z1RleHQuY3BwICovOyB9OwotCQk2NTUwQjZBNDA5OURGMDI3MDA5MEQ3ODEgLyogRWRpdGluZ1Rl
eHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NTBC
NjlBMDk5REYwMjcwMDkwRDc4MSAvKiBFZGl0aW5nVGV4dC5oICovOyB9OwogCQk2NTUwQjZBNTA5
OURGMDI3MDA5MEQ3ODEgLyogVGV4dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA2NTUwQjY5QjA5OURGMDI3MDA5MEQ3ODEgLyogVGV4dC5jcHAgKi87
IH07CiAJCTY1NTBCNkE2MDk5REYwMjcwMDkwRDc4MSAvKiBUZXh0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTUwQjY5QzA5OURGMDI3MDA5MEQ3ODEg
LyogVGV4dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTY1NjUzRjJEMEQ5NzI3RDIwMENBOTcyMyAvKiBTVkdBbHRHbHlwaEVsZW1lbnQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNjU2NTNGMkEwRDk3
MjdEMjAwQ0E5NzIzIC8qIFNWR0FsdEdseXBoRWxlbWVudC5jcHAgKi87IH07CkBAIC0zNDQ4LDcg
KzM0NDYsNiBAQAogCQk5NzEyQTVBRTE1MDA0RURBMDA0OEFGMTAgLyogRE9NV2luZG93SW5kZXhl
ZERhdGFiYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5NzEyQTU1NTE1MDA0RURBMDA0OEFGMTAgLyogRE9NV2luZG93SW5kZXhlZERhdGFiYXNlLmgg
Ki87IH07CiAJCTk3MTJBNUIwMTUwMDRFREEwMDQ4QUYxMCAvKiBJREJBbnkuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTcxMkE1NTcxNTAwNEVEQTAw
NDhBRjEwIC8qIElEQkFueS5jcHAgKi87IH07CiAJCTk3MTJBNUIxMTUwMDRFREEwMDQ4QUYxMCAv
KiBJREJBbnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDk3MTJBNTU4MTUwMDRFREEwMDQ4QUYxMCAvKiBJREJBbnkuaCAqLzsgfTsKLQkJOTcxMkE1RTUx
NTAwNEVEQTAwNDhBRjEwIC8qIElEQkJhY2tpbmdTdG9yZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzEyQTU4QzE1MDA0RURBMDA0OEFGMTAgLyog
SURCQmFja2luZ1N0b3JlLmNwcCAqLzsgfTsKIAkJOTcxMkE1QjMxNTAwNEVEQTAwNDhBRjEwIC8q
IElEQkJhY2tpbmdTdG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTcxMkE1NUExNTAwNEVEQTAwNDhBRjEwIC8qIElEQkJhY2tpbmdTdG9yZS5oICov
OyB9OwogCQk5NzEyQTVCNDE1MDA0RURBMDA0OEFGMTAgLyogSURCQ2FsbGJhY2tzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzEyQTU1QjE1MDA0RURB
MDA0OEFGMTAgLyogSURCQ2FsbGJhY2tzLmggKi87IH07CiAJCTk3MTJBNUI1MTUwMDRFREEwMDQ4
QUYxMCAvKiBJREJDdXJzb3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTcxMkE1NUMxNTAwNEVEQTAwNDhBRjEwIC8qIElEQkN1cnNvci5jcHAgKi87
IH07CkBAIC0zNDg4LDYgKzM0ODUsNyBAQAogCQk5NzEyQTVERjE1MDA0RURBMDA0OEFGMTAgLyog
SURCS2V5UGF0aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTcxMkE1ODYxNTAwNEVEQTAwNDhBRjEwIC8qIElEQktleVBhdGguaCAqLzsgfTsKIAkJOTcx
MkE1RTIxNTAwNEVEQTAwNDhBRjEwIC8qIElEQktleVJhbmdlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk3MTJBNTg5MTUwMDRFREEwMDQ4QUYxMCAv
KiBJREJLZXlSYW5nZS5jcHAgKi87IH07CiAJCTk3MTJBNUUzMTUwMDRFREEwMDQ4QUYxMCAvKiBJ
REJLZXlSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTcxMkE1OEExNTAwNEVEQTAwNDhBRjEwIC8qIElEQktleVJhbmdlLmggKi87IH07CisJCTk3
MTJBNUU1MTUwMDRFREEwMDQ4QUYxMCAvKiBJREJCYWNraW5nU3RvcmUuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTcxMkE1OEMxNTAwNEVEQTAwNDhB
RjEwIC8qIElEQkJhY2tpbmdTdG9yZS5jcHAgKi87IH07CiAJCTk3MTJBNUU3MTUwMDRFREEwMDQ4
QUYxMCAvKiBJREJMZXZlbERCQ29kaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDk3MTJBNThFMTUwMDRFREEwMDQ4QUYxMCAvKiBJREJMZXZlbERC
Q29kaW5nLmNwcCAqLzsgfTsKIAkJOTcxMkE1RTgxNTAwNEVEQTAwNDhBRjEwIC8qIElEQkxldmVs
REJDb2RpbmcuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDk3MTJBNThGMTUwMDRFREEwMDQ4QUYxMCAvKiBJREJMZXZlbERCQ29kaW5nLmggKi87IH07CiAJ
CTk3MTJBNUU5MTUwMDRFREEwMDQ4QUYxMCAvKiBJREJPYmplY3RTdG9yZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5NzEyQTU5MDE1MDA0RURBMDA0
OEFGMTAgLyogSURCT2JqZWN0U3RvcmUuY3BwICovOyB9OwpAQCAtOTAxNyw4ICs5MDE1LDYgQEAK
IAkJNjU1MEI2OTYwOTlERjAyNzAwOTBENzgxIC8qIENoYXJhY3RlckRhdGEuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENoYXJhY3RlckRhdGEuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNjU1MEI2OTcwOTlERjAyNzAwOTBENzgxIC8qIENvbW1lbnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbW1lbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk2NTUwQjY5ODA5OURGMDI3MDA5MEQ3ODEgLyogQ29tbWVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29tbWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQk2NTUwQjY5OTA5OURGMDI3MDA5MEQ3ODEgLyogRWRpdGlu
Z1RleHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEVkaXRpbmdU
ZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNjU1MEI2OUEwOTlERjAyNzAw
OTBENzgxIC8qIEVkaXRpbmdUZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBFZGl0aW5nVGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk2NTUwQjY5QjA5
OURGMDI3MDA5MEQ3ODEgLyogVGV4dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gVGV4dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1NTBCNjlD
MDk5REYwMjcwMDkwRDc4MSAvKiBUZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBUZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1NjUzRjJBMEQ5NzI3
RDIwMENBOTcyMyAvKiBTVkdBbHRHbHlwaEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gU1ZHQWx0R2x5cGhFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTkxMDYsOCArOTEwMiw4IEBACiAJCTY1RjgwNjk3MDU0RDlGODYwMDhC
Rjc3NiAvKiBCbG9ja0V4Y2VwdGlvbnMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBCbG9ja0V4Y2VwdGlvbnMubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQk2NUZFQTg2
ODA5ODMzQURFMDBCRUQ0QUIgLyogUGFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUGFnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTZCMzQ4
MDkyMEVFRjUwRDQwMEFDMUI0MSAvKiBOYXRpdmVJbWFnZVB0ci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTmF0aXZlSW1hZ2VQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJNkM2Mzg4OTNBOTZDQ0VFNTBDOEM5NDZDIC8qIENhY2hlZFJlc291cmNlUmVxdWVz
dEluaXRpYXRvcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IENhY2hlZFJl
c291cmNlUmVxdWVzdEluaXRpYXRvcnMuaDsgcGF0aCA9IENhY2hlZFJlc291cmNlUmVxdWVzdElu
aXRpYXRvcnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNkM2Mzg4OTRBOTZDQ0VF
NTBDOEM5NDZDIC8qIENhY2hlZFJlc291cmNlUmVxdWVzdEluaXRpYXRvcnMuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IENhY2hlZFJlc291cmNlUmVxdWVzdEluaXRp
YXRvcnMuY3BwOyBwYXRoID0gQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0SW5pdGlhdG9ycy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTZDNjM4ODkzQTk2Q0NFRTUwQzhDOTQ2QyAvKiBD
YWNoZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0b3JzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDYWNoZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0b3JzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTZDNjM4ODk0QTk2Q0NFRTUwQzhDOTQ2QyAvKiBDYWNoZWRSZXNv
dXJjZVJlcXVlc3RJbml0aWF0b3JzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBDYWNoZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0b3JzLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNkUyMUM2QkYxMTI2MzM4NTAwQTdCRTAyIC8qIEdyYXBoaWNzQ29u
dGV4dDNELmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdyYXBoaWNz
Q29udGV4dDNELmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNkUyMUM2QzExMTI2
MzM5OTAwQTdCRTAyIC8qIEdyYXBoaWNzQ29udGV4dDNEQ0cuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gR3JhcGhpY3NDb250ZXh0M0RDRy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTZFM0ZBRDM2MTQ3MzNGNDAwMEU0MjMwNiAvKiBKU1dlYkdMQ29t
cHJlc3NlZFRleHR1cmVTM1RDLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTV2ViR0xDb21wcmVzc2VkVGV4dHVyZVMzVEMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMTA3NDIsNyArMTA3MzgsNiBAQAogCQk5NzEyQTU4QTE1MDA0RURBMDA0OEFG
MTAgLyogSURCS2V5UmFuZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSURC
S2V5UmFuZ2UuaDsgcGF0aCA9IE1vZHVsZXMvaW5kZXhlZGRiL0lEQktleVJhbmdlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3MTJBNThCMTUwMDRFREEwMDQ4QUYxMCAvKiBJREJL
ZXlSYW5nZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gSURCS2V5UmFuZ2UuaWRsOyBwYXRo
ID0gTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UmFuZ2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5NzEyQTU4QzE1MDA0RURBMDA0OEFGMTAgLyogSURCQmFja2luZ1N0b3JlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IElEQkJhY2tpbmdTdG9yZS5j
cHA7IHBhdGggPSBNb2R1bGVzL2luZGV4ZWRkYi9JREJCYWNraW5nU3RvcmUuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQk5NzEyQTU4RDE1MDA0RURBMDA0OEFGMTAgLyogSURCQmFj
a2luZ1N0b3JlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IElEQkJhY2tpbmdT
dG9yZS5oOyBwYXRoID0gTW9kdWxlcy9pbmRleGVkZGIvSURCQmFja2luZ1N0b3JlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3MTJBNThFMTUwMDRFREEwMDQ4QUYxMCAvKiBJREJM
ZXZlbERCQ29kaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IElE
QkxldmVsREJDb2RpbmcuY3BwOyBwYXRoID0gTW9kdWxlcy9pbmRleGVkZGIvSURCTGV2ZWxEQkNv
ZGluZy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk3MTJBNThGMTUwMDRFREEw
MDQ4QUYxMCAvKiBJREJMZXZlbERCQ29kaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IElEQkxldmVsREJDb2RpbmcuaDsgcGF0aCA9IE1vZHVsZXMvaW5kZXhlZGRiL0lEQkxl
dmVsREJDb2RpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTcxMkE1OTAxNTAw
NEVEQTAwNDhBRjEwIC8qIElEQk9iamVjdFN0b3JlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IElEQk9iamVjdFN0b3JlLmNwcDsgcGF0aCA9IE1vZHVsZXMvaW5kZXhl
ZGRiL0lEQk9iamVjdFN0b3JlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIx
ODg5LDggKzIxODg0LDYgQEAKIAkJCQkwNUZENjlERjEyODQ1RDQzMDBCMkJFQjMgLyogRE9NVGlt
ZVN0YW1wLmggKi8sCiAJCQkJQkM3RkE2MUUwRDFGMENCRDAwREIyMkE5IC8qIER5bmFtaWNOb2Rl
TGlzdC5jcHAgKi8sCiAJCQkJQkM3RkE2MUYwRDFGMENCRDAwREIyMkE5IC8qIER5bmFtaWNOb2Rl
TGlzdC5oICovLAotCQkJCTY1NTBCNjk5MDk5REYwMjcwMDkwRDc4MSAvKiBFZGl0aW5nVGV4dC5j
cHAgKi8sCi0JCQkJNjU1MEI2OUEwOTlERjAyNzAwOTBENzgxIC8qIEVkaXRpbmdUZXh0LmggKi8s
CiAJCQkJQThDNEE3RjYwOUQ1NjMyNzAwMDNBQzhEIC8qIEVsZW1lbnQuY3BwICovLAogCQkJCUE4
QzRBN0Y1MDlENTYzMjcwMDAzQUM4RCAvKiBFbGVtZW50LmggKi8sCiAJCQkJOTNFRUMxRUEwOUMy
ODc3NzAwQzUxNUQxIC8qIEVsZW1lbnQuaWRsICovLApAQCAtMjM1MzksNyArMjM1MzIsNiBAQAog
CQkJCTRGMTUzNEUwMTFCNTMzMDIwMDIxRkQ4NiAvKiBFZGl0aW5nQmVoYXZpb3JUeXBlcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJM0FDNjQ4QjIxMjlFMTQ2NTAwQzNFQjI1IC8qIEVkaXRpbmdCb3Vu
ZGFyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOUJBQjZDNkMxMjU1MDYzMTAwMTYyNkQ0IC8qIEVk
aXRpbmdTdHlsZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNjU1MEI2QTQwOTlERjAyNzAwOTBENzgx
IC8qIEVkaXRpbmdUZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQk0QjMwNDNDRDBBRTAzNzNCMDBB
ODI2NDcgLyogRWRpdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUYzMjY3OTBENzhCOTQ0MDA2
OEYwQzQgLyogRWRpdG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk0QkFFOTVCMTBCMkZB
OUNFMDBBRUQ4QTAgLyogRWRpdG9yRGVsZXRlQWN0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTI2
ODAyLDcgKzI2Nzk0LDYgQEAKIAkJCQlGRDZFRDJDMzEzNkI4RTQyMDAzQ0YwNzIgLyogRHluYW1p
Y3NDb21wcmVzc29yTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzMwOURFMzA5OUU2NDky
MDA1NkU1ODEgLyogRWRpdENvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOUJBQjZDNkQx
MjU1MDYzMTAwMTYyNkQ0IC8qIEVkaXRpbmdTdHlsZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk2
NTUwQjZBMzA5OURGMDI3MDA5MEQ3ODEgLyogRWRpdGluZ1RleHQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNEIzMDQzQ0MwQUUwMzczQjAwQTgyNjQ3IC8qIEVkaXRvci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk5M0EzOEI0QjBEMEU1ODA4MDA2ODcyQzIgLyogRWRpdG9yQ29tbWFuZC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlFRDUwMURDNjBCMjQ5RjI5MDBBRTE4RDkgLyogRWRpdG9yTWFjLm1t
IGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vQ0RBVEFTZWN0aW9uLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vQ0RBVEFTZWN0aW9uLmNwcAkocmV2
aXNpb24gMTM1NDEyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0NEQVRBU2VjdGlvbi5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogaW5s
aW5lIENEQVRBU2VjdGlvbjo6Q0RBVEFTZWN0aW9uKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3Qg
U3RyaW5nJiBkYXRhKQotICAgIDogVGV4dChkb2N1bWVudCwgZGF0YSkKKyAgICA6IFRleHQoZG9j
dW1lbnQsIGRhdGEsIENyZWF0ZVRleHQpCiB7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Rv
bS9DaGFyYWN0ZXJEYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0NoYXJh
Y3RlckRhdGEuaAkocmV2aXNpb24gMTM1NDEyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0NoYXJh
Y3RlckRhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtNTQsNyArNTQsNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgICAgIDogTm9kZShkb2N1bWVudCwgdHlwZSkKICAgICAgICAgLCBtX2RhdGEoIXRleHQuaXNO
dWxsKCkgPyB0ZXh0IDogZW1wdHlTdHJpbmcoKSkKICAgICB7Ci0gICAgICAgIEFTU0VSVCh0eXBl
ID09IENyZWF0ZU90aGVyIHx8IHR5cGUgPT0gQ3JlYXRlVGV4dCk7CisgICAgICAgIEFTU0VSVCh0
eXBlID09IENyZWF0ZU90aGVyIHx8IHR5cGUgPT0gQ3JlYXRlVGV4dCB8fCB0eXBlID09IENyZWF0
ZUVkaXRpbmdUZXh0KTsKICAgICB9CiAKICAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRl
ZChjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCShyZXZpc2lvbiAxMzU0MTIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01Nyw3ICs1Nyw2IEBACiAjaW5jbHVkZSAiRG9jdW1lbnRNYXJr
ZXJDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRTdHlsZVNoZWV0Q29sbGVjdGlvbi5o
IgogI2luY2x1ZGUgIkRvY3VtZW50VHlwZS5oIgotI2luY2x1ZGUgIkVkaXRpbmdUZXh0LmgiCiAj
aW5jbHVkZSAiRWRpdG9yLmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkVsZW1l
bnRTaGFkb3cuaCIKQEAgLTkxOCw5ICs5MTcsOSBAQCBQYXNzUmVmUHRyPEVudGl0eVJlZmVyZW5j
ZT4gRG9jdW1lbnQ6OmNyCiAgICAgcmV0dXJuIEVudGl0eVJlZmVyZW5jZTo6Y3JlYXRlKHRoaXMs
IG5hbWUpOwogfQogCi1QYXNzUmVmUHRyPEVkaXRpbmdUZXh0PiBEb2N1bWVudDo6Y3JlYXRlRWRp
dGluZ1RleHROb2RlKGNvbnN0IFN0cmluZyYgdGV4dCkKK1Bhc3NSZWZQdHI8VGV4dD4gRG9jdW1l
bnQ6OmNyZWF0ZUVkaXRpbmdUZXh0Tm9kZShjb25zdCBTdHJpbmcmIHRleHQpCiB7Ci0gICAgcmV0
dXJuIEVkaXRpbmdUZXh0OjpjcmVhdGUodGhpcywgdGV4dCk7CisgICAgcmV0dXJuIFRleHQ6OmNy
ZWF0ZUVkaXRpbmdUZXh0KHRoaXMsIHRleHQpOwogfQogCiBQYXNzUmVmUHRyPENTU1N0eWxlRGVj
bGFyYXRpb24+IERvY3VtZW50OjpjcmVhdGVDU1NTdHlsZURlY2xhcmF0aW9uKCkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oCShyZXZpc2lvbiAxMzU0MTIpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtODEsNyArODEsNiBAQCBjbGFzcyBEb2N1bWVu
dFN0eWxlU2hlZXRDb2xsZWN0aW9uOwogY2xhc3MgRG9jdW1lbnRUeXBlOwogY2xhc3MgRG9jdW1l
bnRXZWFrUmVmZXJlbmNlOwogY2xhc3MgRHluYW1pY05vZGVMaXN0Q2FjaGVCYXNlOwotY2xhc3Mg
RWRpdGluZ1RleHQ7CiBjbGFzcyBFbGVtZW50OwogY2xhc3MgRWxlbWVudEF0dHJpYnV0ZURhdGE7
CiBjbGFzcyBFbnRpdHlSZWZlcmVuY2U7CkBAIC01MjUsNyArNTI0LDcgQEAgcHVibGljOgogCiAg
ICAgLy8gU3BlY2lhbCBzdXBwb3J0IGZvciBlZGl0aW5nCiAgICAgUGFzc1JlZlB0cjxDU1NTdHls
ZURlY2xhcmF0aW9uPiBjcmVhdGVDU1NTdHlsZURlY2xhcmF0aW9uKCk7Ci0gICAgUGFzc1JlZlB0
cjxFZGl0aW5nVGV4dD4gY3JlYXRlRWRpdGluZ1RleHROb2RlKGNvbnN0IFN0cmluZyYpOworICAg
IFBhc3NSZWZQdHI8VGV4dD4gY3JlYXRlRWRpdGluZ1RleHROb2RlKGNvbnN0IFN0cmluZyYpOwog
CiAgICAgdm9pZCByZWNhbGNTdHlsZShTdHlsZUNoYW5nZSA9IE5vQ2hhbmdlKTsKICAgICBib29s
IGNoaWxkTmVlZHNBbmROb3RJblN0eWxlUmVjYWxjKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9k
b20vRWRpdGluZ1RleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FZGl0
aW5nVGV4dC5jcHAJKHJldmlzaW9uIDEzNTQxMikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FZGl0
aW5nVGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNDUgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAwMywgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICog
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICovCi0KLSNpbmNs
dWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJFZGl0aW5nVGV4dC5oIgotCi0jaW5jbHVkZSAiRG9j
dW1lbnQuaCIKLQotLy8gRklYTUU6IERvZXMgdGhpcyByZWFsbHkgcmVxdWlyZSBhIGNsYXNzPyBQ
ZXJoYXBzIGluc3RlYWQgYW55IHRleHQgbm9kZQotLy8gaW5zaWRlIGFuIGVkaXRhYmxlIGVsZW1l
bnQgY291bGQgaGF2ZSB0aGUgImFsd2F5cyBjcmVhdGUgYSByZW5kZXJlciIgYmVoYXZpb3IuCi0K
LW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotaW5saW5lIEVkaXRpbmdUZXh0OjpFZGl0aW5nVGV4dChE
b2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgZGF0YSkKLSAgICA6IFRleHQoZG9jdW1l
bnQsIGRhdGEpCi17Ci19Ci0KLVBhc3NSZWZQdHI8RWRpdGluZ1RleHQ+IEVkaXRpbmdUZXh0Ojpj
cmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIGRhdGEpCi17Ci0gICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBFZGl0aW5nVGV4dChkb2N1bWVudCwgZGF0YSkpOwotfQotCi1ib29s
IEVkaXRpbmdUZXh0OjpyZW5kZXJlcklzTmVlZGVkKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0
JikKLXsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL0VkaXRpbmdUZXh0LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZG9tL0VkaXRpbmdUZXh0LmgJKHJldmlzaW9uIDEzNTQxMikKKysrIFNvdXJjZS9X
ZWJDb3JlL2RvbS9FZGl0aW5nVGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDQwICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBU
aGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
LSAqCi0gKi8KLQotI2lmbmRlZiBFZGl0aW5nVGV4dF9oCi0jZGVmaW5lIEVkaXRpbmdUZXh0X2gK
LQotI2luY2x1ZGUgIlRleHQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBFZGl0
aW5nVGV4dCA6IHB1YmxpYyBUZXh0IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxF
ZGl0aW5nVGV4dD4gY3JlYXRlKERvY3VtZW50KiwgY29uc3QgU3RyaW5nJik7Ci0KLXByaXZhdGU6
Ci0gICAgdmlydHVhbCBib29sIHJlbmRlcmVySXNOZWVkZWQoY29uc3QgTm9kZVJlbmRlcmluZ0Nv
bnRleHQmKTsKLQotICAgIEVkaXRpbmdUZXh0KERvY3VtZW50KiwgY29uc3QgU3RyaW5nJik7Ci19
OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBFZGl0aW5nVGV4dF9oCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9Ob2RlLmgJKHJldmlzaW9uIDEzNTQxMikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9O
b2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxNyw3ICszMTcsNyBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCB2b2lkIG5vdGlmeUxvYWRlZFNoZWV0QW5kQWxsQ3JpdGljYWxTdWJyZXNvdXJjZXMoYm9v
bCAvKiBlcnJvciBsb2FkaW5nIHN1YnJlc291cmNlICovKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQg
c3RhcnRMb2FkaW5nRHluYW1pY1NoZWV0KCkgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQogCi0g
ICAgYm9vbCBoYXNOYW1lKCkgY29uc3QgeyByZXR1cm4gZ2V0RmxhZyhIYXNOYW1lRmxhZyk7IH0K
KyAgICBib29sIGhhc05hbWUoKSBjb25zdCB7IEFTU0VSVCghaXNUZXh0Tm9kZSgpKTsgcmV0dXJu
IGdldEZsYWcoSGFzTmFtZU9ySXNFZGl0aW5nVGV4dEZsYWcpOyB9CiAgICAgYm9vbCBoYXNJRCgp
IGNvbnN0OwogICAgIGJvb2wgaGFzQ2xhc3MoKSBjb25zdDsKIApAQCAtMzMxLDggKzMzMSw5IEBA
IHB1YmxpYzoKICAgICBTdHlsZUNoYW5nZVR5cGUgc3R5bGVDaGFuZ2VUeXBlKCkgY29uc3QgeyBy
ZXR1cm4gc3RhdGljX2Nhc3Q8U3R5bGVDaGFuZ2VUeXBlPihtX25vZGVGbGFncyAmIFN0eWxlQ2hh
bmdlTWFzayk7IH0KICAgICBib29sIGNoaWxkTmVlZHNTdHlsZVJlY2FsYygpIGNvbnN0IHsgcmV0
dXJuIGdldEZsYWcoQ2hpbGROZWVkc1N0eWxlUmVjYWxjRmxhZyk7IH0KICAgICBib29sIGlzTGlu
aygpIGNvbnN0IHsgcmV0dXJuIGdldEZsYWcoSXNMaW5rRmxhZyk7IH0KKyAgICBib29sIGlzRWRp
dGluZ1RleHQoKSBjb25zdCB7IEFTU0VSVChpc1RleHROb2RlKCkpOyByZXR1cm4gZ2V0RmxhZyhI
YXNOYW1lT3JJc0VkaXRpbmdUZXh0RmxhZyk7IH0KIAotICAgIHZvaWQgc2V0SGFzTmFtZShib29s
IGYpIHsgc2V0RmxhZyhmLCBIYXNOYW1lRmxhZyk7IH0KKyAgICB2b2lkIHNldEhhc05hbWUoYm9v
bCBmKSB7IEFTU0VSVCghaXNUZXh0Tm9kZSgpKTsgc2V0RmxhZyhmLCBIYXNOYW1lT3JJc0VkaXRp
bmdUZXh0RmxhZyk7IH0KICAgICB2b2lkIHNldENoaWxkTmVlZHNTdHlsZVJlY2FsYygpIHsgc2V0
RmxhZyhDaGlsZE5lZWRzU3R5bGVSZWNhbGNGbGFnKTsgfQogICAgIHZvaWQgY2xlYXJDaGlsZE5l
ZWRzU3R5bGVSZWNhbGMoKSB7IGNsZWFyRmxhZyhDaGlsZE5lZWRzU3R5bGVSZWNhbGNGbGFnKTsg
fQogCkBAIC03MTcsNyArNzE4LDcgQEAgcHJpdmF0ZToKIAogICAgICAgICBTZWxmT3JBbmNlc3Rv
ckhhc0RpckF1dG9GbGFnID0gMSA8PCAyMSwKIAotICAgICAgICBIYXNOYW1lRmxhZyA9IDEgPDwg
MjIsCisgICAgICAgIEhhc05hbWVPcklzRWRpdGluZ1RleHRGbGFnID0gMSA8PCAyMiwKIAogICAg
ICAgICBJbk5hbWVkRmxvd0ZsYWcgPSAxIDw8IDIzLAogICAgICAgICBIYXNTeW50aGV0aWNBdHRy
Q2hpbGROb2Rlc0ZsYWcgPSAxIDw8IDI0LApAQCAtNzUzLDcgKzc1NCw4IEBAIHByb3RlY3RlZDoK
ICAgICAgICAgQ3JlYXRlRnJhbWVPd25lckVsZW1lbnQgPSBDcmVhdGVIVE1MRWxlbWVudCB8IEhh
c0N1c3RvbUNhbGxiYWNrc0ZsYWcsCiAgICAgICAgIENyZWF0ZVNWR0VsZW1lbnQgPSBDcmVhdGVT
dHlsZWRFbGVtZW50IHwgSXNTVkdGbGFnLAogICAgICAgICBDcmVhdGVEb2N1bWVudCA9IENyZWF0
ZUNvbnRhaW5lciB8IEluRG9jdW1lbnRGbGFnLAotICAgICAgICBDcmVhdGVJbnNlcnRpb25Qb2lu
dCA9IENyZWF0ZUhUTUxFbGVtZW50IHwgSXNJbnNlcnRpb25Qb2ludEZsYWcKKyAgICAgICAgQ3Jl
YXRlSW5zZXJ0aW9uUG9pbnQgPSBDcmVhdGVIVE1MRWxlbWVudCB8IElzSW5zZXJ0aW9uUG9pbnRG
bGFnLAorICAgICAgICBDcmVhdGVFZGl0aW5nVGV4dCA9IENyZWF0ZVRleHQgfCBIYXNOYW1lT3JJ
c0VkaXRpbmdUZXh0RmxhZywKICAgICB9OwogICAgIE5vZGUoRG9jdW1lbnQqLCBDb25zdHJ1Y3Rp
b25UeXBlKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1RleHQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmNwcAkocmV2aXNpb24gMTM1NDEyKQorKysgU291
cmNlL1dlYkNvcmUvZG9tL1RleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0MiwxMiBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFBhc3NSZWZQdHI8VGV4dD4gVGV4dDo6Y3JlYXRlKERv
Y3VtZW50KiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiBkYXRhKQogewotICAgIHJldHVybiBhZG9w
dFJlZihuZXcgVGV4dChkb2N1bWVudCwgZGF0YSkpOworICAgIHJldHVybiBhZG9wdFJlZihuZXcg
VGV4dChkb2N1bWVudCwgZGF0YSwgQ3JlYXRlVGV4dCkpOworfQorCitQYXNzUmVmUHRyPFRleHQ+
IFRleHQ6OmNyZWF0ZUVkaXRpbmdUZXh0KERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgU3RyaW5n
JiBkYXRhKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgVGV4dChkb2N1bWVudCwgZGF0YSwg
Q3JlYXRlRWRpdGluZ1RleHQpKTsKIH0KIAogUGFzc1JlZlB0cjxUZXh0PiBUZXh0OjpzcGxpdFRl
eHQodW5zaWduZWQgb2Zmc2V0LCBFeGNlcHRpb25Db2RlJiBlYykKQEAgLTE5Miw2ICsxOTcsOCBA
QCBQYXNzUmVmUHRyPE5vZGU+IFRleHQ6OmNsb25lTm9kZShib29sIC8qCiAKIGJvb2wgVGV4dDo6
cmVuZGVyZXJJc05lZWRlZChjb25zdCBOb2RlUmVuZGVyaW5nQ29udGV4dCYgY29udGV4dCkKIHsK
KyAgICBpZiAoaXNFZGl0aW5nVGV4dCgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICBpZiAo
IUNoYXJhY3RlckRhdGE6OnJlbmRlcmVySXNOZWVkZWQoY29udGV4dCkpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1RleHQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5oCShyZXZpc2lvbiAxMzU0MTIpCisrKyBTb3VyY2Uv
V2ViQ29yZS9kb20vVGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw3IEBAIHB1Ymxp
YzoKIAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRleHQ+IGNyZWF0ZShEb2N1bWVudCosIGNvbnN0
IFN0cmluZyYpOwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFRleHQ+IGNyZWF0ZVdpdGhMZW5ndGhM
aW1pdChEb2N1bWVudCosIGNvbnN0IFN0cmluZyYsIHVuc2lnbmVkIHBvc2l0aW9uSW5TdHJpbmcs
IHVuc2lnbmVkIGxlbmd0aExpbWl0ID0gZGVmYXVsdExlbmd0aExpbWl0KTsKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxUZXh0PiBjcmVhdGVFZGl0aW5nVGV4dChEb2N1bWVudCosIGNvbnN0IFN0cmlu
ZyYpOwogCiAgICAgUGFzc1JlZlB0cjxUZXh0PiBzcGxpdFRleHQodW5zaWduZWQgb2Zmc2V0LCBF
eGNlcHRpb25Db2RlJik7CiAKQEAgLTQ4LDggKzQ5LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwg
Ym9vbCBjYW5Db250YWluUmFuZ2VFbmRQb2ludCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KIAog
cHJvdGVjdGVkOgotICAgIFRleHQoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIGRh
dGEpCi0gICAgICAgIDogQ2hhcmFjdGVyRGF0YShkb2N1bWVudCwgZGF0YSwgQ3JlYXRlVGV4dCkK
KyAgICBUZXh0KERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiBkYXRhLCBDb25zdHJ1
Y3Rpb25UeXBlIHR5cGUpCisgICAgICAgIDogQ2hhcmFjdGVyRGF0YShkb2N1bWVudCwgZGF0YSwg
dHlwZSkKICAgICB7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRv
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCShy
ZXZpc2lvbiAxMzU0MTIpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQzLDcgKzQzLDYgQEAKICNpbmNsdWRlICJEaWN0YXRpb25Db21tYW5k
LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRGcmFnbWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50TWFy
a2VyQ29udHJvbGxlci5oIgotI2luY2x1ZGUgIkVkaXRpbmdUZXh0LmgiCiAjaW5jbHVkZSAiRWRp
dG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRIYW5kbGVyLmgiCiAjaW5jbHVkZSAiRXZlbnRO
YW1lcy5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9JbnNlcnRUZXh0Q29tbWFuZC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9JbnNlcnRUZXh0Q29tbWFu
ZC5jcHAJKHJldmlzaW9uIDEzNTQxMikKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvSW5zZXJ0
VGV4dENvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCwxMCArMjgsMTAgQEAKIAogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgotI2luY2x1ZGUgIkVkaXRp
bmdUZXh0LmgiCiAjaW5jbHVkZSAiRWRpdG9yLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNs
dWRlICJIVE1MSW50ZXJjaGFuZ2UuaCIKKyNpbmNsdWRlICJUZXh0LmgiCiAjaW5jbHVkZSAiaHRt
bGVkaXRpbmcuaCIKICNpbmNsdWRlICJ2aXNpYmxlX3VuaXRzLmgiCiAjaW5jbHVkZSA8d3RmL3Vu
aWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVw
bGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCShyZXZpc2lvbiAxMzU0MTIpCisrKyBT
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzUsNyArMzUsNiBAQAogI2luY2x1ZGUgIkNTU1ZhbHVlS2V5d29yZHMuaCIK
ICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50RnJhZ21lbnQuaCIKLSNp
bmNsdWRlICJFZGl0aW5nVGV4dC5oIgogI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJF
dmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKQEAgLTUzLDYgKzUyLDcgQEAKICNpbmNs
dWRlICJTbWFydFJlcGxhY2UuaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnR5U2V0LmgiCiAjaW5j
bHVkZSAiVGV4dEl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiVGV4dC5oIgogI2luY2x1ZGUgImh0bWxl
ZGl0aW5nLmgiCiAjaW5jbHVkZSAibWFya3VwLmgiCiAjaW5jbHVkZSAidmlzaWJsZV91bml0cy5o
IgpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAJKHJldmlzaW9uIDEz
NTQxMikKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaHRtbGVkaXRpbmcuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAj
aW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJFZGl0aW5nVGV4dC5oIgogI2luY2x1ZGUg
IkVkaXRvci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiSFRNTEJSRWxlbWVudC5o
IgpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvRWRpdG9yTWFjLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFjL0VkaXRvck1hYy5tbQkocmV2aXNpb24g
MTM1NDEyKQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvRWRpdG9yTWFjLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMSw3ICszMSw2IEBACiAjaW1wb3J0ICJDYWNoZWRSZXNvdXJjZUxvYWRl
ci5oIgogI2ltcG9ydCAiRG9jdW1lbnRGcmFnbWVudC5oIgogI2ltcG9ydCAiRE9NUmFuZ2VJbnRl
cm5hbC5oIgotI2ltcG9ydCAiRWRpdGluZ1RleHQuaCIKICNpbXBvcnQgIkVkaXRvci5oIgogI2lt
cG9ydCAiRWRpdG9yQ2xpZW50LmgiCiAjaW1wb3J0ICJGb250LmgiCkBAIC00Nyw2ICs0Niw3IEBA
CiAjaW1wb3J0ICJSZW5kZXJCbG9jay5oIgogI2ltcG9ydCAiUnVudGltZUFwcGxpY2F0aW9uQ2hl
Y2tzLmgiCiAjaW1wb3J0ICJTb3VuZC5oIgorI2ltcG9ydCAiVGV4dC5oIgogI2ltcG9ydCAiVHlw
aW5nQ29tbWFuZC5oIgogI2ltcG9ydCAiaHRtbGVkaXRpbmcuaCIKICNpbXBvcnQgIldlYk5TQXR0
cmlidXRlZFN0cmluZ0V4dHJhcy5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAJKHJldmlzaW9u
IDEzNTQxMikKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00MCw3ICs0MCw2IEBACiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiQ2Fj
aGVkUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudFR5cGUuaCIKLSNpbmNsdWRl
ICJFZGl0aW5nVGV4dC5oIgogI2luY2x1ZGUgIkVkaXRvckNsaWVudC5oIgogI2luY2x1ZGUgIkV2
ZW50TmFtZXMuaCIKICNpbmNsdWRlICJGbG9hdFF1YWQuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdUUmVmRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3Zn
L1NWR1RSZWZFbGVtZW50LmNwcAkocmV2aXNpb24gMTM1NDEyKQorKysgU291cmNlL1dlYkNvcmUv
c3ZnL1NWR1RSZWZFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTM4LDcgKzEzOCw3IEBA
IHB1YmxpYzoKICAgICB9CiBwcml2YXRlOgogICAgIFNWR1NoYWRvd1RleHQoRG9jdW1lbnQqIGRv
Y3VtZW50LCBjb25zdCBTdHJpbmcmIGRhdGEpCi0gICAgICAgIDogVGV4dChkb2N1bWVudCwgZGF0
YSkKKyAgICAgICAgOiBUZXh0KGRvY3VtZW50LCBkYXRhLCBDcmVhdGVUZXh0KQogICAgIHsKICAg
ICAgICAgc2V0SGFzQ3VzdG9tQ2FsbGJhY2tzKCk7CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175666</attachid>
            <date>2012-11-22 06:48:31 -0800</date>
            <delta_ts>2012-11-22 08:40:58 -0800</delta_ts>
            <desc>patch 2</desc>
            <filename>eliminate-editingtext-2.patch</filename>
            <type>text/plain</type>
            <size>23356</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzNTUxOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUwIEBACisyMDEyLTExLTIyICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBFbGltaW5hdGUgRWRpdGluZ1Rl
eHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMzA2
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92
ZSB0aGUgRWRpdGluZ1RleHQgY2xhc3MuIEl0cyBvbmx5IGZ1bmN0aW9uIGJleW9uZCB0aGUgcmVn
dWxhciBUZXh0IGlzIHRoYXQgaXQgYWx3YXlzIGNyZWF0ZXMgYSByZW5kZXJlci4KKyAgICAgICAg
SXQgY2FuIGJlIHJlcGxhY2VkIHdpdGggYSBiaXQuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6
CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBkb20vQ0RBVEFTZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNEQVRB
U2VjdGlvbjo6Q0RBVEFTZWN0aW9uKToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNyZWF0ZUVkaXRpbmdUZXh0Tm9kZSk6CisgICAgICAg
ICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKERvY3VtZW50
KToKKyAgICAgICAgKiBkb20vRWRpdGluZ1RleHQuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGRv
bS9FZGl0aW5nVGV4dC5oOiBSZW1vdmVkLgorICAgICAgICAqIGRvbS9Ob2RlLmg6CisgICAgICAg
IChXZWJDb3JlOjpOb2RlOjpoYXNOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmlzRWRp
dGluZ1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6c2V0SGFzTmFtZSk6CisgICAgICAg
IAorICAgICAgICAgICAgVXNlIHRoZSBzYW1lIGJpdCBhcyBoYXNOYW1lKCkgd2hpY2ggaXMgRWxl
bWVudCBzcGVjaWZpYy4KKworICAgICAgICAqIGRvbS9UZXh0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlRleHQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6
OlRleHQ6OmNyZWF0ZUVkaXRpbmdUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHQ6OnJlbmRl
cmVySXNOZWVkZWQpOgorICAgICAgICAqIGRvbS9UZXh0Lmg6CisgICAgICAgIChUZXh0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlRleHQ6OlRleHQpOgorICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNw
cDoKKyAgICAgICAgKiBlZGl0aW5nL0luc2VydFRleHRDb21tYW5kLmNwcDoKKyAgICAgICAgKiBl
ZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcDoKKyAgICAgICAgKiBlZGl0aW5nL2h0
bWxlZGl0aW5nLmNwcDoKKyAgICAgICAgKiBlZGl0aW5nL21hYy9FZGl0b3JNYWMubW06CisgICAg
ICAgICogcGFnZS9GcmFtZS5jcHA6CisKIDIwMTItMTEtMjIgIEV1Z2VuZSBLbHl1Y2huaWtvdiAg
PGV1c3Rhcy5idWdAZ21haWwuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFRpbWVsaW5l
OiBEaXNjbG9zdXJlIGFycm93cyByZW5kZXJlZCB1bmRlcm5lYXRoIGZyYW1lIGJvdW5kYXJpZXMK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAxMzU1MTgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTE0Niw3ICsxMTQ2LDYgQEAg
U0VUKFdlYkNvcmVfU09VUkNFUwogICAgIGRvbS9Eb2N1bWVudFN0eWxlU2hlZXRDb2xsZWN0aW9u
LmNwcAogICAgIGRvbS9Eb2N1bWVudFR5cGUuY3BwCiAgICAgZG9tL0R5bmFtaWNOb2RlTGlzdC5j
cHAKLSAgICBkb20vRWRpdGluZ1RleHQuY3BwCiAgICAgZG9tL0VsZW1lbnQuY3BwCiAgICAgZG9t
L0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmNwcAogICAgIGRvbS9FbGVtZW50UmFyZURhdGEuY3BwCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHJldmlzaW9uIDEzNTUxOCkKKysrIFNv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHdvcmtpbmcgY29weSkKQEAgLTI3NzQs
OCArMjc3NCw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0RP
TVRpbWVTdGFtcC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRHluYW1pY05vZGVMaXN0LmNwcCBc
CiAJU291cmNlL1dlYkNvcmUvZG9tL0R5bmFtaWNOb2RlTGlzdC5oIFwKLQlTb3VyY2UvV2ViQ29y
ZS9kb20vRWRpdGluZ1RleHQuY3BwIFwKLQlTb3VyY2UvV2ViQ29yZS9kb20vRWRpdGluZ1RleHQu
aCBcCiAJU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEF0dHJpYnV0ZURhdGEu
Y3BwIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQkocmV2aXNpb24gMTM1NTE4KQorKysgU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaQkod29ya2luZyBjb3B5KQpAQCAtMzg1LDcgKzM4NSw2IEBAIFNPVVJDRVMg
Kz0gXAogICAgIGRvbS9ET01TdHJpbmdNYXAuY3BwIFwKICAgICBkb20vRGF0YXNldERPTVN0cmlu
Z01hcC5jcHAgXAogICAgIGRvbS9EeW5hbWljTm9kZUxpc3QuY3BwIFwKLSAgICBkb20vRWRpdGlu
Z1RleHQuY3BwIFwKICAgICBkb20vRWxlbWVudC5jcHAgXAogICAgIGRvbS9FbGVtZW50QXR0cmli
dXRlRGF0YS5jcHAgXAogICAgIGRvbS9FbGVtZW50UmFyZURhdGEuY3BwIFwKQEAgLTE1NjQsNyAr
MTU2Myw2IEBAIEhFQURFUlMgKz0gXAogICAgIGRvbS9ET01UaW1lU3RhbXAuaCBcCiAgICAgZG9t
L0RhdGFzZXRET01TdHJpbmdNYXAuaCBcCiAgICAgZG9tL0R5bmFtaWNOb2RlTGlzdC5oIFwKLSAg
ICBkb20vRWRpdGluZ1RleHQuaCBcCiAgICAgZG9tL0VsZW1lbnQuaCBcCiAgICAgZG9tL0VsZW1l
bnRTaGFkb3cuaCBcCiAgICAgZG9tL0VsZW1lbnRBdHRyaWJ1dGVEYXRhLmggXApJbmRleDogU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQkocmV2aXNpb24gMTM1NTE4KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCSh3b3JraW5nIGNvcHkpCkBAIC0zODQxLDggKzM4NDEsNiBAQAogICAgICAgICAgICAgJ2Rv
bS9Eb2N1bWVudFR5cGUuY3BwJywKICAgICAgICAgICAgICdkb20vRHluYW1pY05vZGVMaXN0LmNw
cCcsCiAgICAgICAgICAgICAnZG9tL0R5bmFtaWNOb2RlTGlzdC5oJywKLSAgICAgICAgICAgICdk
b20vRWRpdGluZ1RleHQuY3BwJywKLSAgICAgICAgICAgICdkb20vRWRpdGluZ1RleHQuaCcsCiAg
ICAgICAgICAgICAnZG9tL0VsZW1lbnRTaGFkb3cuY3BwJywKICAgICAgICAgICAgICdkb20vRWxl
bWVudC5jcHAnLAogICAgICAgICAgICAgJ2RvbS9FbGVtZW50QXR0cmlidXRlRGF0YS5jcHAnLApJ
bmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHJl
dmlzaW9uIDEzNTUxOCkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC01MTA3Nyw2MyArNTEwNzcsNyBAQAogCQkJCVJlbGF0
aXZlUGF0aD0iLi5cZG9tXER5bmFtaWNOb2RlTGlzdC5oIgogCQkJCT4KIAkJCTwvRmlsZT4KLQkJ
CTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21cRWRpdGluZ1RleHQuY3BwIgotCQkJCT4K
LQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iRGVidWd8V2luMzIiCi0JCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJ
PEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCi0JCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZp
bGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKLQkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wKLQkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
LQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8
V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29s
Ci0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgotCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5hbWU9IkRlYnVnX0FsbHxX
aW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wK
LQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KLQkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KLQkJCQkJTmFtZT0iUHJvZHVjdGlvbnxX
aW4zMiIKLQkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCi0JCQkJCT4KLQkJCQkJPFRvb2wK
LQkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCQkJCS8+Ci0JCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KLQkJCTwvRmlsZT4KLQkJCTxGaWxlCi0JCQkJUmVsYXRpdmVQYXRoPSIuLlxkb21c
RWRpdGluZ1RleHQuaCIKLQkJCQk+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQorICAgICAgICAgICAg
PEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGRvbVxFbGVtZW50LmNwcCIKIAkJCQk+CiAJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxMzU1MTgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAg
LTE3NzAsOCArMTc3MCw2IEBACiAJCTY1NTBCNkEwMDk5REYwMjcwMDkwRDc4MSAvKiBDaGFyYWN0
ZXJEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
NTUwQjY5NjA5OURGMDI3MDA5MEQ3ODEgLyogQ2hhcmFjdGVyRGF0YS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTY1NTBCNkExMDk5REYwMjcwMDkw
RDc4MSAvKiBDb21tZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDY1NTBCNjk3MDk5REYwMjcwMDkwRDc4MSAvKiBDb21tZW50LmNwcCAqLzsgfTsK
IAkJNjU1MEI2QTIwOTlERjAyNzAwOTBENzgxIC8qIENvbW1lbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NTBCNjk4MDk5REYwMjcwMDkwRDc4MSAv
KiBDb21tZW50LmggKi87IH07Ci0JCTY1NTBCNkEzMDk5REYwMjcwMDkwRDc4MSAvKiBFZGl0aW5n
VGV4dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2
NTUwQjY5OTA5OURGMDI3MDA5MEQ3ODEgLyogRWRpdGluZ1RleHQuY3BwICovOyB9OwotCQk2NTUw
QjZBNDA5OURGMDI3MDA5MEQ3ODEgLyogRWRpdGluZ1RleHQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NTBCNjlBMDk5REYwMjcwMDkwRDc4MSAvKiBF
ZGl0aW5nVGV4dC5oICovOyB9OwogCQk2NTUwQjZBNTA5OURGMDI3MDA5MEQ3ODEgLyogVGV4dC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTUwQjY5
QjA5OURGMDI3MDA5MEQ3ODEgLyogVGV4dC5jcHAgKi87IH07CiAJCTY1NTBCNkE2MDk5REYwMjcw
MDkwRDc4MSAvKiBUZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA2NTUwQjY5QzA5OURGMDI3MDA5MEQ3ODEgLyogVGV4dC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTY1NjUzRjJEMEQ5NzI3RDIwMENB
OTcyMyAvKiBTVkdBbHRHbHlwaEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNjU2NTNGMkEwRDk3MjdEMjAwQ0E5NzIzIC8qIFNWR0FsdEds
eXBoRWxlbWVudC5jcHAgKi87IH07CkBAIC05MDE4LDggKzkwMTYsNiBAQAogCQk2NTUwQjY5NjA5
OURGMDI3MDA5MEQ3ODEgLyogQ2hhcmFjdGVyRGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQ2hhcmFjdGVyRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk2NTUwQjY5NzA5OURGMDI3MDA5MEQ3ODEgLyogQ29tbWVudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29tbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTY1NTBCNjk4MDk5REYwMjcwMDkwRDc4MSAvKiBDb21tZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb21tZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTY1NTBCNjk5MDk5REYwMjcwMDkwRDc4MSAvKiBFZGl0aW5nVGV4dC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRWRpdGluZ1RleHQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk2NTUwQjY5QTA5OURGMDI3MDA5MEQ3ODEgLyogRWRp
dGluZ1RleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEVkaXRpbmdUZXh0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1NTBCNjlCMDk5REYwMjcwMDkwRDc4
MSAvKiBUZXh0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBUZXh0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjU1MEI2OUMwOTlERjAyNzAwOTBE
NzgxIC8qIFRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRleHQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjU2NTNGMkEwRDk3MjdEMjAwQ0E5NzIzIC8q
IFNWR0FsdEdseXBoRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBTVkdBbHRHbHlwaEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMjE4OTEsOCArMjE4ODcsNiBAQAogCQkJCTA1RkQ2OURGMTI4NDVENDMwMEIyQkVCMyAvKiBE
T01UaW1lU3RhbXAuaCAqLywKIAkJCQlCQzdGQTYxRTBEMUYwQ0JEMDBEQjIyQTkgLyogRHluYW1p
Y05vZGVMaXN0LmNwcCAqLywKIAkJCQlCQzdGQTYxRjBEMUYwQ0JEMDBEQjIyQTkgLyogRHluYW1p
Y05vZGVMaXN0LmggKi8sCi0JCQkJNjU1MEI2OTkwOTlERjAyNzAwOTBENzgxIC8qIEVkaXRpbmdU
ZXh0LmNwcCAqLywKLQkJCQk2NTUwQjY5QTA5OURGMDI3MDA5MEQ3ODEgLyogRWRpdGluZ1RleHQu
aCAqLywKIAkJCQlBOEM0QTdGNjA5RDU2MzI3MDAwM0FDOEQgLyogRWxlbWVudC5jcHAgKi8sCiAJ
CQkJQThDNEE3RjUwOUQ1NjMyNzAwMDNBQzhEIC8qIEVsZW1lbnQuaCAqLywKIAkJCQk5M0VFQzFF
QTA5QzI4Nzc3MDBDNTE1RDEgLyogRWxlbWVudC5pZGwgKi8sCkBAIC0yMzU0MSw3ICsyMzUzNSw2
IEBACiAJCQkJNEYxNTM0RTAxMUI1MzMwMjAwMjFGRDg2IC8qIEVkaXRpbmdCZWhhdmlvclR5cGVz
LmggaW4gSGVhZGVycyAqLywKIAkJCQkzQUM2NDhCMjEyOUUxNDY1MDBDM0VCMjUgLyogRWRpdGlu
Z0JvdW5kYXJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQk5QkFCNkM2QzEyNTUwNjMxMDAxNjI2RDQg
LyogRWRpdGluZ1N0eWxlLmggaW4gSGVhZGVycyAqLywKLQkJCQk2NTUwQjZBNDA5OURGMDI3MDA5
MEQ3ODEgLyogRWRpdGluZ1RleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTRCMzA0M0NEMEFFMDM3
M0IwMEE4MjY0NyAvKiBFZGl0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRjMyNjc5MEQ3OEI5
NDQwMDY4RjBDNCAvKiBFZGl0b3JDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTRCQUU5NUIx
MEIyRkE5Q0UwMEFFRDhBMCAvKiBFZGl0b3JEZWxldGVBY3Rpb24uaCBpbiBIZWFkZXJzICovLApA
QCAtMjY4MDUsNyArMjY3OTgsNiBAQAogCQkJCUZENkVEMkMzMTM2QjhFNDIwMDNDRjA3MiAvKiBE
eW5hbWljc0NvbXByZXNzb3JOb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMzA5REUzMDk5
RTY0OTIwMDU2RTU4MSAvKiBFZGl0Q29tbWFuZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5QkFC
NkM2RDEyNTUwNjMxMDAxNjI2RDQgLyogRWRpdGluZ1N0eWxlLmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCTY1NTBCNkEzMDk5REYwMjcwMDkwRDc4MSAvKiBFZGl0aW5nVGV4dC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk0QjMwNDNDQzBBRTAzNzNCMDBBODI2NDcgLyogRWRpdG9yLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTkzQTM4QjRCMEQwRTU4MDgwMDY4NzJDMiAvKiBFZGl0b3JDb21tYW5kLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUVENTAxREM2MEIyNDlGMjkwMEFFMThEOSAvKiBFZGl0b3JN
YWMubW0gaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9DREFUQVNlY3Rp
b24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9DREFUQVNlY3Rpb24uY3Bw
CShyZXZpc2lvbiAxMzU1MTgpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vQ0RBVEFTZWN0aW9uLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjcsNyArMjcsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBpbmxpbmUgQ0RBVEFTZWN0aW9uOjpDREFUQVNlY3Rpb24oRG9jdW1lbnQqIGRvY3VtZW50LCBj
b25zdCBTdHJpbmcmIGRhdGEpCi0gICAgOiBUZXh0KGRvY3VtZW50LCBkYXRhKQorICAgIDogVGV4
dChkb2N1bWVudCwgZGF0YSwgQ3JlYXRlVGV4dCkKIHsKIH0KIApJbmRleDogU291cmNlL1dlYkNv
cmUvZG9tL0NoYXJhY3RlckRhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20v
Q2hhcmFjdGVyRGF0YS5oCShyZXZpc2lvbiAxMzU1MTgpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20v
Q2hhcmFjdGVyRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC01NCw3ICs1NCw3IEBAIHByb3RlY3Rl
ZDoKICAgICAgICAgOiBOb2RlKGRvY3VtZW50LCB0eXBlKQogICAgICAgICAsIG1fZGF0YSghdGV4
dC5pc051bGwoKSA/IHRleHQgOiBlbXB0eVN0cmluZygpKQogICAgIHsKLSAgICAgICAgQVNTRVJU
KHR5cGUgPT0gQ3JlYXRlT3RoZXIgfHwgdHlwZSA9PSBDcmVhdGVUZXh0KTsKKyAgICAgICAgQVNT
RVJUKHR5cGUgPT0gQ3JlYXRlT3RoZXIgfHwgdHlwZSA9PSBDcmVhdGVUZXh0IHx8IHR5cGUgPT0g
Q3JlYXRlRWRpdGluZ1RleHQpOwogICAgIH0KIAogICAgIHZpcnR1YWwgYm9vbCByZW5kZXJlcklz
TmVlZGVkKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0Jik7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudC5jcHAJKHJldmlzaW9uIDEzNTUxOCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3LDcgKzU3LDYgQEAKICNpbmNsdWRlICJEb2N1bWVu
dE1hcmtlckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJEb2N1bWVudFN0eWxlU2hlZXRDb2xsZWN0
aW9uLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRUeXBlLmgiCi0jaW5jbHVkZSAiRWRpdGluZ1RleHQu
aCIKICNpbmNsdWRlICJFZGl0b3IuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAi
RWxlbWVudFNoYWRvdy5oIgpAQCAtOTE4LDkgKzkxNyw5IEBAIFBhc3NSZWZQdHI8RW50aXR5UmVm
ZXJlbmNlPiBEb2N1bWVudDo6Y3IKICAgICByZXR1cm4gRW50aXR5UmVmZXJlbmNlOjpjcmVhdGUo
dGhpcywgbmFtZSk7CiB9CiAKLVBhc3NSZWZQdHI8RWRpdGluZ1RleHQ+IERvY3VtZW50OjpjcmVh
dGVFZGl0aW5nVGV4dE5vZGUoY29uc3QgU3RyaW5nJiB0ZXh0KQorUGFzc1JlZlB0cjxUZXh0PiBE
b2N1bWVudDo6Y3JlYXRlRWRpdGluZ1RleHROb2RlKGNvbnN0IFN0cmluZyYgdGV4dCkKIHsKLSAg
ICByZXR1cm4gRWRpdGluZ1RleHQ6OmNyZWF0ZSh0aGlzLCB0ZXh0KTsKKyAgICByZXR1cm4gVGV4
dDo6Y3JlYXRlRWRpdGluZ1RleHQodGhpcywgdGV4dCk7CiB9CiAKIFBhc3NSZWZQdHI8Q1NTU3R5
bGVEZWNsYXJhdGlvbj4gRG9jdW1lbnQ6OmNyZWF0ZUNTU1N0eWxlRGVjbGFyYXRpb24oKQpJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlzaW9uIDEzNTUxOCkKKysrIFNvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC04MSw3ICs4MSw2IEBAIGNsYXNzIERv
Y3VtZW50U3R5bGVTaGVldENvbGxlY3Rpb247CiBjbGFzcyBEb2N1bWVudFR5cGU7CiBjbGFzcyBE
b2N1bWVudFdlYWtSZWZlcmVuY2U7CiBjbGFzcyBEeW5hbWljTm9kZUxpc3RDYWNoZUJhc2U7Ci1j
bGFzcyBFZGl0aW5nVGV4dDsKIGNsYXNzIEVsZW1lbnQ7CiBjbGFzcyBFbGVtZW50QXR0cmlidXRl
RGF0YTsKIGNsYXNzIEVudGl0eVJlZmVyZW5jZTsKQEAgLTUyNSw3ICs1MjQsNyBAQCBwdWJsaWM6
CiAKICAgICAvLyBTcGVjaWFsIHN1cHBvcnQgZm9yIGVkaXRpbmcKICAgICBQYXNzUmVmUHRyPENT
U1N0eWxlRGVjbGFyYXRpb24+IGNyZWF0ZUNTU1N0eWxlRGVjbGFyYXRpb24oKTsKLSAgICBQYXNz
UmVmUHRyPEVkaXRpbmdUZXh0PiBjcmVhdGVFZGl0aW5nVGV4dE5vZGUoY29uc3QgU3RyaW5nJik7
CisgICAgUGFzc1JlZlB0cjxUZXh0PiBjcmVhdGVFZGl0aW5nVGV4dE5vZGUoY29uc3QgU3RyaW5n
Jik7CiAKICAgICB2b2lkIHJlY2FsY1N0eWxlKFN0eWxlQ2hhbmdlID0gTm9DaGFuZ2UpOwogICAg
IGJvb2wgY2hpbGROZWVkc0FuZE5vdEluU3R5bGVSZWNhbGMoKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2RvbS9FZGl0aW5nVGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9t
L0VkaXRpbmdUZXh0LmNwcAkocmV2aXNpb24gMTM1NTE4KQorKysgU291cmNlL1dlYkNvcmUvZG9t
L0VkaXRpbmdUZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw0NSArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDAzLCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0g
KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGgg
dGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRv
Ci0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkVkaXRpbmdUZXh0LmgiCi0KLSNpbmNsdWRl
ICJEb2N1bWVudC5oIgotCi0vLyBGSVhNRTogRG9lcyB0aGlzIHJlYWxseSByZXF1aXJlIGEgY2xh
c3M/IFBlcmhhcHMgaW5zdGVhZCBhbnkgdGV4dCBub2RlCi0vLyBpbnNpZGUgYW4gZWRpdGFibGUg
ZWxlbWVudCBjb3VsZCBoYXZlIHRoZSAiYWx3YXlzIGNyZWF0ZSBhIHJlbmRlcmVyIiBiZWhhdmlv
ci4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1pbmxpbmUgRWRpdGluZ1RleHQ6OkVkaXRpbmdU
ZXh0KERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgU3RyaW5nJiBkYXRhKQotICAgIDogVGV4dChk
b2N1bWVudCwgZGF0YSkKLXsKLX0KLQotUGFzc1JlZlB0cjxFZGl0aW5nVGV4dD4gRWRpdGluZ1Rl
eHQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgZGF0YSkKLXsKLSAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IEVkaXRpbmdUZXh0KGRvY3VtZW50LCBkYXRhKSk7Ci19Ci0K
LWJvb2wgRWRpdGluZ1RleHQ6OnJlbmRlcmVySXNOZWVkZWQoY29uc3QgTm9kZVJlbmRlcmluZ0Nv
bnRleHQmKQotewotICAgIHJldHVybiB0cnVlOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRWRpdGluZ1RleHQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9kb20vRWRpdGluZ1RleHQuaAkocmV2aXNpb24gMTM1NTE4KQorKysgU291
cmNlL1dlYkNvcmUvZG9tL0VkaXRpbmdUZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNDAgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwMywgMjAwOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVk
IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoK
LSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0g
KiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYg
bm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwg
VVNBLgotICoKLSAqLwotCi0jaWZuZGVmIEVkaXRpbmdUZXh0X2gKLSNkZWZpbmUgRWRpdGluZ1Rl
eHRfaAotCi0jaW5jbHVkZSAiVGV4dC5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNz
IEVkaXRpbmdUZXh0IDogcHVibGljIFRleHQgewotcHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVm
UHRyPEVkaXRpbmdUZXh0PiBjcmVhdGUoRG9jdW1lbnQqLCBjb25zdCBTdHJpbmcmKTsKLQotcHJp
dmF0ZToKLSAgICB2aXJ0dWFsIGJvb2wgcmVuZGVyZXJJc05lZWRlZChjb25zdCBOb2RlUmVuZGVy
aW5nQ29udGV4dCYpOwotCi0gICAgRWRpdGluZ1RleHQoRG9jdW1lbnQqLCBjb25zdCBTdHJpbmcm
KTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVkaXRpbmdUZXh0
X2gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZG9tL05vZGUuaAkocmV2aXNpb24gMTM1NTE4KQorKysgU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzE3LDcgKzMxNyw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgbm90aWZ5TG9hZGVkU2hlZXRBbmRBbGxDcml0aWNhbFN1YnJlc291cmNl
cyhib29sIC8qIGVycm9yIGxvYWRpbmcgc3VicmVzb3VyY2UgKi8pIHsgfQogICAgIHZpcnR1YWwg
dm9pZCBzdGFydExvYWRpbmdEeW5hbWljU2hlZXQoKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9
CiAKLSAgICBib29sIGhhc05hbWUoKSBjb25zdCB7IHJldHVybiBnZXRGbGFnKEhhc05hbWVGbGFn
KTsgfQorICAgIGJvb2wgaGFzTmFtZSgpIGNvbnN0IHsgQVNTRVJUKCFpc1RleHROb2RlKCkpOyBy
ZXR1cm4gZ2V0RmxhZyhIYXNOYW1lT3JJc0VkaXRpbmdUZXh0RmxhZyk7IH0KICAgICBib29sIGhh
c0lEKCkgY29uc3Q7CiAgICAgYm9vbCBoYXNDbGFzcygpIGNvbnN0OwogCkBAIC0zMzEsOCArMzMx
LDkgQEAgcHVibGljOgogICAgIFN0eWxlQ2hhbmdlVHlwZSBzdHlsZUNoYW5nZVR5cGUoKSBjb25z
dCB7IHJldHVybiBzdGF0aWNfY2FzdDxTdHlsZUNoYW5nZVR5cGU+KG1fbm9kZUZsYWdzICYgU3R5
bGVDaGFuZ2VNYXNrKTsgfQogICAgIGJvb2wgY2hpbGROZWVkc1N0eWxlUmVjYWxjKCkgY29uc3Qg
eyByZXR1cm4gZ2V0RmxhZyhDaGlsZE5lZWRzU3R5bGVSZWNhbGNGbGFnKTsgfQogICAgIGJvb2wg
aXNMaW5rKCkgY29uc3QgeyByZXR1cm4gZ2V0RmxhZyhJc0xpbmtGbGFnKTsgfQorICAgIGJvb2wg
aXNFZGl0aW5nVGV4dCgpIGNvbnN0IHsgQVNTRVJUKGlzVGV4dE5vZGUoKSk7IHJldHVybiBnZXRG
bGFnKEhhc05hbWVPcklzRWRpdGluZ1RleHRGbGFnKTsgfQogCi0gICAgdm9pZCBzZXRIYXNOYW1l
KGJvb2wgZikgeyBzZXRGbGFnKGYsIEhhc05hbWVGbGFnKTsgfQorICAgIHZvaWQgc2V0SGFzTmFt
ZShib29sIGYpIHsgQVNTRVJUKCFpc1RleHROb2RlKCkpOyBzZXRGbGFnKGYsIEhhc05hbWVPcklz
RWRpdGluZ1RleHRGbGFnKTsgfQogICAgIHZvaWQgc2V0Q2hpbGROZWVkc1N0eWxlUmVjYWxjKCkg
eyBzZXRGbGFnKENoaWxkTmVlZHNTdHlsZVJlY2FsY0ZsYWcpOyB9CiAgICAgdm9pZCBjbGVhckNo
aWxkTmVlZHNTdHlsZVJlY2FsYygpIHsgY2xlYXJGbGFnKENoaWxkTmVlZHNTdHlsZVJlY2FsY0Zs
YWcpOyB9CiAKQEAgLTcxNyw3ICs3MTgsNyBAQCBwcml2YXRlOgogCiAgICAgICAgIFNlbGZPckFu
Y2VzdG9ySGFzRGlyQXV0b0ZsYWcgPSAxIDw8IDIxLAogCi0gICAgICAgIEhhc05hbWVGbGFnID0g
MSA8PCAyMiwKKyAgICAgICAgSGFzTmFtZU9ySXNFZGl0aW5nVGV4dEZsYWcgPSAxIDw8IDIyLAog
CiAgICAgICAgIEluTmFtZWRGbG93RmxhZyA9IDEgPDwgMjMsCiAgICAgICAgIEhhc1N5bnRoZXRp
Y0F0dHJDaGlsZE5vZGVzRmxhZyA9IDEgPDwgMjQsCkBAIC03NTMsNyArNzU0LDggQEAgcHJvdGVj
dGVkOgogICAgICAgICBDcmVhdGVGcmFtZU93bmVyRWxlbWVudCA9IENyZWF0ZUhUTUxFbGVtZW50
IHwgSGFzQ3VzdG9tQ2FsbGJhY2tzRmxhZywKICAgICAgICAgQ3JlYXRlU1ZHRWxlbWVudCA9IENy
ZWF0ZVN0eWxlZEVsZW1lbnQgfCBJc1NWR0ZsYWcsCiAgICAgICAgIENyZWF0ZURvY3VtZW50ID0g
Q3JlYXRlQ29udGFpbmVyIHwgSW5Eb2N1bWVudEZsYWcsCi0gICAgICAgIENyZWF0ZUluc2VydGlv
blBvaW50ID0gQ3JlYXRlSFRNTEVsZW1lbnQgfCBJc0luc2VydGlvblBvaW50RmxhZworICAgICAg
ICBDcmVhdGVJbnNlcnRpb25Qb2ludCA9IENyZWF0ZUhUTUxFbGVtZW50IHwgSXNJbnNlcnRpb25Q
b2ludEZsYWcsCisgICAgICAgIENyZWF0ZUVkaXRpbmdUZXh0ID0gQ3JlYXRlVGV4dCB8IEhhc05h
bWVPcklzRWRpdGluZ1RleHRGbGFnLAogICAgIH07CiAgICAgTm9kZShEb2N1bWVudCosIENvbnN0
cnVjdGlvblR5cGUpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1RleHQuY3BwCShyZXZpc2lvbiAxMzU1MTgpCisr
KyBTb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDcgKzQy
LDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUGFzc1JlZlB0cjxUZXh0PiBUZXh0OjpjcmVh
dGUoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIGRhdGEpCiB7Ci0gICAgcmV0dXJu
IGFkb3B0UmVmKG5ldyBUZXh0KGRvY3VtZW50LCBkYXRhKSk7CisgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBUZXh0KGRvY3VtZW50LCBkYXRhLCBDcmVhdGVUZXh0KSk7Cit9CisKK1Bhc3NSZWZQdHI8
VGV4dD4gVGV4dDo6Y3JlYXRlRWRpdGluZ1RleHQoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBT
dHJpbmcmIGRhdGEpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBUZXh0KGRvY3VtZW50LCBk
YXRhLCBDcmVhdGVFZGl0aW5nVGV4dCkpOwogfQogCiBQYXNzUmVmUHRyPFRleHQ+IFRleHQ6OnNw
bGl0VGV4dCh1bnNpZ25lZCBvZmZzZXQsIEV4Y2VwdGlvbkNvZGUmIGVjKQpAQCAtMTkyLDYgKzE5
Nyw4IEBAIFBhc3NSZWZQdHI8Tm9kZT4gVGV4dDo6Y2xvbmVOb2RlKGJvb2wgLyoKIAogYm9vbCBU
ZXh0OjpyZW5kZXJlcklzTmVlZGVkKGNvbnN0IE5vZGVSZW5kZXJpbmdDb250ZXh0JiBjb250ZXh0
KQogeworICAgIGlmIChpc0VkaXRpbmdUZXh0KCkpCisgICAgICAgIHJldHVybiB0cnVlOwogICAg
IGlmICghQ2hhcmFjdGVyRGF0YTo6cmVuZGVyZXJJc05lZWRlZChjb250ZXh0KSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vVGV4dC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmgJKHJldmlzaW9uIDEzNTUxOCkKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9UZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAg
cHVibGljOgogCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGV4dD4gY3JlYXRlKERvY3VtZW50Kiwg
Y29uc3QgU3RyaW5nJik7CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8VGV4dD4gY3JlYXRlV2l0aExl
bmd0aExpbWl0KERvY3VtZW50KiwgY29uc3QgU3RyaW5nJiwgdW5zaWduZWQgcG9zaXRpb25JblN0
cmluZywgdW5zaWduZWQgbGVuZ3RoTGltaXQgPSBkZWZhdWx0TGVuZ3RoTGltaXQpOworICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFRleHQ+IGNyZWF0ZUVkaXRpbmdUZXh0KERvY3VtZW50KiwgY29uc3Qg
U3RyaW5nJik7CiAKICAgICBQYXNzUmVmUHRyPFRleHQ+IHNwbGl0VGV4dCh1bnNpZ25lZCBvZmZz
ZXQsIEV4Y2VwdGlvbkNvZGUmKTsKIApAQCAtNDgsOCArNDksOCBAQCBwdWJsaWM6CiAgICAgdmly
dHVhbCBib29sIGNhbkNvbnRhaW5SYW5nZUVuZFBvaW50KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsg
fQogCiBwcm90ZWN0ZWQ6Ci0gICAgVGV4dChEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IFN0cmlu
ZyYgZGF0YSkKLSAgICAgICAgOiBDaGFyYWN0ZXJEYXRhKGRvY3VtZW50LCBkYXRhLCBDcmVhdGVU
ZXh0KQorICAgIFRleHQoRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBTdHJpbmcmIGRhdGEsIENv
bnN0cnVjdGlvblR5cGUgdHlwZSkKKyAgICAgICAgOiBDaGFyYWN0ZXJEYXRhKGRvY3VtZW50LCBk
YXRhLCB0eXBlKQogICAgIHsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RWRpdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5j
cHAJKHJldmlzaW9uIDEzNTUxOCkKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDMsNyArNDMsNiBAQAogI2luY2x1ZGUgIkRpY3RhdGlvbkNv
bW1hbmQuaCIKICNpbmNsdWRlICJEb2N1bWVudEZyYWdtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1l
bnRNYXJrZXJDb250cm9sbGVyLmgiCi0jaW5jbHVkZSAiRWRpdGluZ1RleHQuaCIKICNpbmNsdWRl
ICJFZGl0b3JDbGllbnQuaCIKICNpbmNsdWRlICJFdmVudEhhbmRsZXIuaCIKICNpbmNsdWRlICJF
dmVudE5hbWVzLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0luc2VydFRleHRDb21t
YW5kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0luc2VydFRleHRD
b21tYW5kLmNwcAkocmV2aXNpb24gMTM1NTE4KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9J
bnNlcnRUZXh0Q29tbWFuZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDEwICsyOCwxMCBAQAog
CiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFbGVtZW50LmgiCi0jaW5jbHVkZSAi
RWRpdGluZ1RleHQuaCIKICNpbmNsdWRlICJFZGl0b3IuaCIKICNpbmNsdWRlICJGcmFtZS5oIgog
I2luY2x1ZGUgIkhUTUxJbnRlcmNoYW5nZS5oIgorI2luY2x1ZGUgIlRleHQuaCIKICNpbmNsdWRl
ICJodG1sZWRpdGluZy5oIgogI2luY2x1ZGUgInZpc2libGVfdW5pdHMuaCIKICNpbmNsdWRlIDx3
dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oPgpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAJKHJldmlzaW9uIDEzNTUxOCkK
KysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw2IEBACiAjaW5jbHVkZSAiQ1NTVmFsdWVLZXl3b3Jk
cy5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRGcmFnbWVudC5o
IgotI2luY2x1ZGUgIkVkaXRpbmdUZXh0LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1
ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJGcmFtZS5oIgpAQCAtNTMsNiArNTIsNyBAQAog
I2luY2x1ZGUgIlNtYXJ0UmVwbGFjZS5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlTZXQuaCIK
ICNpbmNsdWRlICJUZXh0SXRlcmF0b3IuaCIKKyNpbmNsdWRlICJUZXh0LmgiCiAjaW5jbHVkZSAi
aHRtbGVkaXRpbmcuaCIKICNpbmNsdWRlICJtYXJrdXAuaCIKICNpbmNsdWRlICJ2aXNpYmxlX3Vu
aXRzLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2h0bWxlZGl0aW5nLmNwcAkocmV2aXNp
b24gMTM1NTE4KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9odG1sZWRpdGluZy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUu
aCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgIkVkaXRpbmdUZXh0LmgiCiAjaW5j
bHVkZSAiRWRpdG9yLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJIVE1MQlJFbGVt
ZW50LmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9FZGl0b3JNYWMubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYWMvRWRpdG9yTWFjLm1tCShyZXZp
c2lvbiAxMzU1MTgpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hYy9FZGl0b3JNYWMubW0J
KHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDYgQEAKICNpbXBvcnQgIkNhY2hlZFJlc291cmNl
TG9hZGVyLmgiCiAjaW1wb3J0ICJEb2N1bWVudEZyYWdtZW50LmgiCiAjaW1wb3J0ICJET01SYW5n
ZUludGVybmFsLmgiCi0jaW1wb3J0ICJFZGl0aW5nVGV4dC5oIgogI2ltcG9ydCAiRWRpdG9yLmgi
CiAjaW1wb3J0ICJFZGl0b3JDbGllbnQuaCIKICNpbXBvcnQgIkZvbnQuaCIKQEAgLTQ3LDYgKzQ2
LDcgQEAKICNpbXBvcnQgIlJlbmRlckJsb2NrLmgiCiAjaW1wb3J0ICJSdW50aW1lQXBwbGljYXRp
b25DaGVja3MuaCIKICNpbXBvcnQgIlNvdW5kLmgiCisjaW1wb3J0ICJUZXh0LmgiCiAjaW1wb3J0
ICJUeXBpbmdDb21tYW5kLmgiCiAjaW1wb3J0ICJodG1sZWRpdGluZy5oIgogI2ltcG9ydCAiV2Vi
TlNBdHRyaWJ1dGVkU3RyaW5nRXh0cmFzLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAkocmV2
aXNpb24gMTM1NTE4KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQwLDcgKzQwLDYgQEAKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRl
ICJDYWNoZWRSZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50VHlwZS5oIgotI2lu
Y2x1ZGUgIkVkaXRpbmdUZXh0LmgiCiAjaW5jbHVkZSAiRWRpdG9yQ2xpZW50LmgiCiAjaW5jbHVk
ZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgpJbmRleDogU291cmNlL1dl
YkNvcmUvc3ZnL1NWR1RSZWZFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHVFJlZkVsZW1lbnQuY3BwCShyZXZpc2lvbiAxMzU1MTgpCisrKyBTb3VyY2UvV2Vi
Q29yZS9zdmcvU1ZHVFJlZkVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzgsNyArMTM4
LDcgQEAgcHVibGljOgogICAgIH0KIHByaXZhdGU6CiAgICAgU1ZHU2hhZG93VGV4dChEb2N1bWVu
dCogZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgZGF0YSkKLSAgICAgICAgOiBUZXh0KGRvY3VtZW50
LCBkYXRhKQorICAgICAgICA6IFRleHQoZG9jdW1lbnQsIGRhdGEsIENyZWF0ZVRleHQpCiAgICAg
ewogICAgICAgICBzZXRIYXNDdXN0b21DYWxsYmFja3MoKTsKICAgICB9Cg==
</data>
<flag name="review"
          id="191178"
          type_id="1"
          status="+"
          setter="rniwa"
    />
    <flag name="commit-queue"
          id="191188"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
      

    </bug>

</bugzilla>