<?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>83240</bug_id>
          
          <creation_ts>2012-04-04 18:16:48 -0700</creation_ts>
          <short_desc>Provide a separate editing command to cleanup of redundant markup</short_desc>
          <delta_ts>2012-04-05 13:32:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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="Enrica Casucci">enrica</reporter>
          <assigned_to name="Enrica Casucci">enrica</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>gustavo</cc>
    
    <cc>pnormand</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>596182</commentid>
    <comment_count>0</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2012-04-04 18:16:48 -0700</bug_when>
    <thetext>The markup cleanup is currently implemented as part of the ReplaceSelection command.
We want to move it into a separate command so that it can be performed independently from ReplaceSelection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596191</commentid>
    <comment_count>1</comment_count>
      <attachid>135738</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2012-04-04 18:24:00 -0700</bug_when>
    <thetext>Created attachment 135738
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596194</commentid>
    <comment_count>2</comment_count>
      <attachid>135738</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-04-04 18:28:24 -0700</bug_when>
    <thetext>Comment on attachment 135738
Patch

Attachment 135738 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/12338039</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596207</commentid>
    <comment_count>3</comment_count>
      <attachid>135738</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-04-04 18:47:49 -0700</bug_when>
    <thetext>Comment on attachment 135738
Patch

Attachment 135738 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12336064</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596208</commentid>
    <comment_count>4</comment_count>
      <attachid>135738</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-04-04 18:50:26 -0700</bug_when>
    <thetext>Comment on attachment 135738
Patch

Attachment 135738 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12337071</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596215</commentid>
    <comment_count>5</comment_count>
      <attachid>135738</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-04 18:58:51 -0700</bug_when>
    <thetext>Comment on attachment 135738
Patch

Attachment 135738 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/12337078</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596223</commentid>
    <comment_count>6</comment_count>
      <attachid>135745</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2012-04-04 19:12:59 -0700</bug_when>
    <thetext>Created attachment 135745
Patch2

Attempting to fix build issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596224</commentid>
    <comment_count>7</comment_count>
      <attachid>135745</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-04-04 19:16:53 -0700</bug_when>
    <thetext>Comment on attachment 135745
Patch2

Attachment 135745 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/12335085</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596683</commentid>
    <comment_count>8</comment_count>
      <attachid>135745</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-04-05 10:34:44 -0700</bug_when>
    <thetext>Comment on attachment 135745
Patch2

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

Please fix the gtk build before you land. Also, you probably need to modify EditorAllInOne.cpp for Windows.

&gt; Source/WebCore/editing/ReplaceSelectionCommand.cpp:1023
&gt; -        removeRedundantMarkup(insertedNodes);
&gt; +        applyCommandToComposite(SimplifyMarkupCommand::create(document(), insertedNodes.firstNodeInserted(), insertedNodes.pastLastLeaf()));

You should add simplifyMarkup() to CompositeEditCommand.

&gt; Source/WebCore/editing/SimplifyMarkupCommand.cpp:2
&gt; + * Copyright (C) 2005, 2006 Apple Computer, Inc.  All rights reserved.

Maybe you should add 2011 here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596720</commentid>
    <comment_count>9</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2012-04-05 11:10:05 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 135745 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=135745&amp;action=review
&gt; 
&gt; Please fix the gtk build before you land.
I don&apos;t believe I broke it. The message is obscure.
I&apos;ll post another patch and watch the bots to make sure.

 Also, you probably need to modify EditorAllInOne.cpp for Windows.
Ok
&gt; 
&gt; You should add simplifyMarkup() to CompositeEditCommand.
I can do that in a later patch.
&gt; 
&gt; &gt; Source/WebCore/editing/SimplifyMarkupCommand.cpp:2
&gt; &gt; + * Copyright (C) 2005, 2006 Apple Computer, Inc.  All rights reserved.
&gt; 
&gt; Maybe you should add 2011 here?
Actually 2012! Good catch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596729</commentid>
    <comment_count>10</comment_count>
      <attachid>135863</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2012-04-05 11:17:56 -0700</bug_when>
    <thetext>Created attachment 135863
Patch to check builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596737</commentid>
    <comment_count>11</comment_count>
      <attachid>135865</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2012-04-05 11:24:59 -0700</bug_when>
    <thetext>Created attachment 135865
One more</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596836</commentid>
    <comment_count>12</comment_count>
      <attachid>135886</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2012-04-05 13:12:11 -0700</bug_when>
    <thetext>Created attachment 135886
Resolved conflict</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596856</commentid>
    <comment_count>13</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2012-04-05 13:32:23 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/113369</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135738</attachid>
            <date>2012-04-04 18:24:00 -0700</date>
            <delta_ts>2012-04-04 19:12:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>simplifymarkup.txt</filename>
            <type>text/plain</type>
            <size>20537</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMzI3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA0LTA0ICBFbnJpY2Eg
Q2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CisKKyAgICAgICAgUHJvdmlkZSBhIHNlcGFyYXRl
IGVkaXRpbmcgY29tbWFuZCB0byBjbGVhbnVwIG9mIHJlZHVuZGFudCBtYXJrdXAuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MzI0MAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggbW92ZXMg
dGhlIGxvZ2ljIG9yaWdpbmFsbHkgcGVyZm9ybWVkIGJ5IHRoZSBwcml2YXRlCisgICAgICAgIG1l
dGhvZCByZW1vdmVSZWR1bmRhbnRNYXJrdXAgaW5zaWRlIFJlcGxhY2VTZWxlY3Rpb25Db21tYW5k
IGludG8KKyAgICAgICAgYSBzZXBhcmF0ZSBjb21tYW5kLiBUaGlzIHdheSB0aGUgbWFya3VwIGNs
ZWFudXAgY2FuIGJlIGV4cG9zZWQgYXMKKyAgICAgICAgYSBzZXBhcmF0ZSBjb21tYW5kLCBpbmRl
cGVuZGVudCBmcm9tIFJlcGxhY2VTZWxlY3Rpb25Db21tYW5kLgorICAgICAgICAKKyAgICAgICAg
Tm8gbmV3IHRlc3RzLiBObyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIENN
YWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICog
VGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgIEFkZGVk
IG5ldyBmaWxlIHRvIHByb2plY3QgZmlsZXMuCisgICAgICAgICogZWRpdGluZy9SZXBsYWNlU2Vs
ZWN0aW9uQ29tbWFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXBsYWNlU2VsZWN0aW9uQ29t
bWFuZDo6ZG9BcHBseSk6IE5vdyB1c2VzIFNpbXBsaWZ5TWFya3VwQ29tbWFuZC4KKyAgICAgICAg
KiBlZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmg6CisgICAgICAgIChSZXBsYWNlU2Vs
ZWN0aW9uQ29tbWFuZCk6IFJlbW92ZWQgcmVtb3ZlUmVkdW5kYW50TWFya3VwLgorICAgICAgICAq
IGVkaXRpbmcvU2ltcGxpZnlNYXJrdXBDb21tYW5kLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpTaW1wbGlmeU1hcmt1cENvbW1hbmQ6OlNpbXBsaWZ5TWFya3VwQ29tbWFuZCk6CisgICAg
ICAgIChXZWJDb3JlOjpTaW1wbGlmeU1hcmt1cENvbW1hbmQ6OmRvQXBwbHkpOgorICAgICAgICAq
IGVkaXRpbmcvU2ltcGxpZnlNYXJrdXBDb21tYW5kLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29y
ZTo6U2ltcGxpZnlNYXJrdXBDb21tYW5kOjpjcmVhdGUpOgorCiAyMDEyLTA0LTA0ICBDaHJpcyBS
b2dlcnMgIDxjcm9nZXJzQGdvb2dsZS5jb20+CiAKICAgICAgICAgV2F2ZVRhYmxlOjp3YXZlRGF0
YUZvckZ1bmRhbWVudGFsRnJlcXVlbmN5KCkgc2hvdWxkIHByb3Blcmx5IGludGVycHJldCBuZWdh
dGl2ZSBmcmVxdWVuY3kKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAxMTMwOTgp
CisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtNjkx
LDYgKzY5MSw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICBlZGl0aW5nL1JlcGxhY2VTZWxl
Y3Rpb25Db21tYW5kLmNwcAogICAgIGVkaXRpbmcvU2V0Tm9kZUF0dHJpYnV0ZUNvbW1hbmQuY3Bw
CiAgICAgZWRpdGluZy9TZXRTZWxlY3Rpb25Db21tYW5kLmNwcAorICAgIGVkaXRpbmcvU2ltcGxp
ZnlNYXJrdXBDb21tYW5kLmNwcAogICAgIGVkaXRpbmcvU21hcnRSZXBsYWNlLmNwcAogICAgIGVk
aXRpbmcvU3BlbGxDaGVja2VyLmNwcAogICAgIGVkaXRpbmcvU3BlbGxpbmdDb3JyZWN0aW9uQ29u
dHJvbGxlci5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkocmV2aXNpb24g
MTEzMDk4KQorKysgU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkod29ya2luZyBj
b3B5KQpAQCAtMjA4OCw2ICsyMDg4LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1NldE5vZGVBdHRyaWJ1dGVDb21tYW5kLmggXAogCVNvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvU2V0U2VsZWN0aW9uQ29tbWFuZC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvU2V0U2VsZWN0aW9uQ29tbWFuZC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Np
bXBsaWZ5TWFya3VwQ29tbWFuZC5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU2ltcGxp
ZnlNYXJrdXBDb21tYW5kLmggXAogCVNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU21hcnRSZXBsYWNl
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvZWRpdGluZy9TbWFydFJlcGxhY2UuaCBcCiAJU291cmNl
L1dlYkNvcmUvZWRpdGluZy9TbWFydFJlcGxhY2VJQ1UuY3BwIFwKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL1RhcmdldC5wcmkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQko
cmV2aXNpb24gMTEzMDk4KQorKysgU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQkod29ya2luZyBj
b3B5KQpAQCAtNjY3LDYgKzY2Nyw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGVkaXRpbmcvUmVwbGFj
ZVNlbGVjdGlvbkNvbW1hbmQuY3BwIFwKICAgICBlZGl0aW5nL1NldE5vZGVBdHRyaWJ1dGVDb21t
YW5kLmNwcCBcCiAgICAgZWRpdGluZy9TZXRTZWxlY3Rpb25Db21tYW5kLmNwcCBcCisgICAgZWRp
dGluZy9TaW1wbGlmeU1hcmt1cENvbW1hbmQuY3BwIFwKICAgICBlZGl0aW5nL1NwZWxsQ2hlY2tl
ci5jcHAgXAogICAgIGVkaXRpbmcvU3BlbGxpbmdDb3JyZWN0aW9uQ29tbWFuZC5jcHAgXAogICAg
IGVkaXRpbmcvU3BlbGxpbmdDb3JyZWN0aW9uQ29udHJvbGxlci5jcHAgXApAQCAtMTc5OSw2ICsx
ODAwLDcgQEAgSEVBREVSUyArPSBcCiAgICAgZWRpdGluZy9SZXBsYWNlTm9kZVdpdGhTcGFuQ29t
bWFuZC5oIFwKICAgICBlZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmggXAogICAgIGVk
aXRpbmcvU2V0Tm9kZUF0dHJpYnV0ZUNvbW1hbmQuaCBcCisgICAgZWRpdGluZy9TaW1wbGlmeU1h
cmt1cENvbW1hbmQuaCBcCiAgICAgZWRpdGluZy9TbWFydFJlcGxhY2UuaCBcCiAgICAgZWRpdGlu
Zy9TcGVsbGluZ0NvcnJlY3Rpb25Db21tYW5kLmggXAogICAgIGVkaXRpbmcvU3BlbGxpbmdDb3Jy
ZWN0aW9uQ29udHJvbGxlci5oIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiAxMTMwOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtNTYyNDYsNiAr
NTYyNDYsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cZWRpdGluZ1xTaW1wbGlmeU1hcmt1cENvbW1hbmQuY3BwIgorCQkJCT4KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisgICAgICAgICAgICAgICAgICAgIE5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKyAgICAgICAgICAg
ICAgICAgICAgTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWly
b19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJ
CQkJCTxUb29sCisgICAgICAgICAgICAgICAgICAgIE5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJ
CQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
KwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisgICAgICAgICAgICAgICAgICAgIE5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorICAgICAgICAg
ICAgICAgICAgICBOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rp
b258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxU
b29sCisgICAgICAgICAgICAgICAgICAgIE5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxlZGl0aW5nXFNpbXBsaWZ5TWFya3VwQ29tbWFuZC5oIgorCQkJCT4KKwkJ
CTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxlZGl0aW5nXFNtYXJ0UmVw
bGFjZS5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpJbmRleDogU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24g
MTEzMDk4KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC01Njg3LDYgKzU2ODcsOCBAQAogCQlDNTk4OTAyRTE0RTlC
MEY4MDBFOEQxOEIgLyogUGxhdGZvcm1QYXN0ZWJvYXJkTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzVGNzY1QkExNEUxRUNGNDAwNkM4OTlCIC8q
IFBsYXRmb3JtUGFzdGVib2FyZE1hYy5tbSAqLzsgfTsKIAkJQzU5ODkwNTcxNEU5QzI4MDAwRThE
MThCIC8qIFBhc3RlYm9hcmRTdHJhdGVneS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzVGNzY1QjQxNEUxRDQxNDAwNkM4OTlCIC8qIFBhc3RlYm9hcmRT
dHJhdGVneS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUM1OTg5MDU4MTRFOUMyOTkwMEU4RDE4QiAvKiBQbGF0Zm9ybVBhc3RlYm9hcmQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1QkFDMTZGMTRFMzBF
NDcwMDAwODgzNyAvKiBQbGF0Zm9ybVBhc3RlYm9hcmQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDNUExRUE3QzE1MkJDRjA0MDA0RDAwQjYgLyog
U2ltcGxpZnlNYXJrdXBDb21tYW5kLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEM1QTFFQTc5MTUyQkM0ODYwMDREMDBCNiAvKiBTaW1wbGlmeU1hcmt1
cENvbW1hbmQuY3BwICovOyB9OworCQlDNUExRUE3RDE1MkJDRjA4MDA0RDAwQjYgLyogU2ltcGxp
ZnlNYXJrdXBDb21tYW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDNUExRUE3QTE1MkJDNDg2MDA0RDAwQjYgLyogU2ltcGxpZnlNYXJrdXBDb21tYW5k
LmggKi87IH07CiAJCUM1QjRDMjREMTUwOTIzNkMwMEE2RUYzNyAvKiBXZWJDb3JlTlNVUkxFeHRy
YXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1QjRD
MjRCMTUwOTIzNkMwMEE2RUYzNyAvKiBXZWJDb3JlTlNVUkxFeHRyYXMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDNUI0QzI0RTE1MDkyMzZDMDBB
NkVGMzcgLyogV2ViQ29yZU5TVVJMRXh0cmFzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzVCNEMyNEMxNTA5MjM2QzAwQTZFRjM3IC8qIFdlYkNvcmVO
U1VSTEV4dHJhcy5tbSAqLzsgfTsKIAkJQzVENEFBN0ExMTZCQUZCNjAwNjlDQTkzIC8qIEdseXBo
TWV0cmljc01hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQzVENEFBNzgxMTZCQUZCNjAwNjlDQTkzIC8qIEdseXBoTWV0cmljc01hcC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMjc3Niw2ICsxMjc3
OCw4IEBACiAJCUM1ODVBNjc5MTFENEZCMDcwMDRDM0U0QiAvKiBKU0lEQlJlcXVlc3QuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNJREJSZXF1ZXN0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUM1ODVBNjk0MTFENEZCMTMwMDRDM0U0QiAvKiBKU0lEQkZhY3Rv
cnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJREJGYWN0b3J5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzU4NUE2OTUxMUQ0RkIxMzAwNEMz
RTRCIC8qIEpTSURCRmFjdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0lEQkZhY3RvcnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzVBMUVBNzkxNTJC
QzQ4NjAwNEQwMEI2IC8qIFNpbXBsaWZ5TWFya3VwQ29tbWFuZC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaW1wbGlmeU1hcmt1cENvbW1hbmQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDNUExRUE3QTE1MkJDNDg2MDA0RDAwQjYgLyogU2ltcGxp
ZnlNYXJrdXBDb21tYW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNpbXBs
aWZ5TWFya3VwQ29tbWFuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNUI0QzI0
QjE1MDkyMzZDMDBBNkVGMzcgLyogV2ViQ29yZU5TVVJMRXh0cmFzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvcmVOU1VSTEV4dHJhcy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDNUI0QzI0QzE1MDkyMzZDMDBBNkVGMzcgLyogV2ViQ29yZU5TVVJMRXh0
cmFzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQ29yZU5T
VVJMRXh0cmFzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNUJBQzE2RjE0RTMw
RTQ3MDAwMDg4MzcgLyogUGxhdGZvcm1QYXN0ZWJvYXJkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFBsYXRmb3JtUGFzdGVib2FyZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMTY2OTgsNiArMTY3MDIsOCBAQAogCQkJCTkzMzA5REMwMDk5RTY0OTEwMDU2RTU4
MSAvKiBTZXROb2RlQXR0cmlidXRlQ29tbWFuZC5jcHAgKi8sCiAJCQkJOTMzMDlEQzEwOTlFNjQ5
MTAwNTZFNTgxIC8qIFNldE5vZGVBdHRyaWJ1dGVDb21tYW5kLmggKi8sCiAJCQkJQjhEQkRCNDcx
MzBCMEY4QTAwRjVDREIxIC8qIFNldFNlbGVjdGlvbkNvbW1hbmQuY3BwICovLAorCQkJCUM1QTFF
QTc5MTUyQkM0ODYwMDREMDBCNiAvKiBTaW1wbGlmeU1hcmt1cENvbW1hbmQuY3BwICovLAorCQkJ
CUM1QTFFQTdBMTUyQkM0ODYwMDREMDBCNiAvKiBTaW1wbGlmeU1hcmt1cENvbW1hbmQuaCAqLywK
IAkJCQlCOERCREI0ODEzMEIwRjhBMDBGNUNEQjEgLyogU2V0U2VsZWN0aW9uQ29tbWFuZC5oICov
LAogCQkJCTRCNkZBNkYzMEMzOUU0OEMwMDA4NzAxMSAvKiBTbWFydFJlcGxhY2UuY3BwICovLAog
CQkJCTRCNkZBNkYyMEMzOUU0OEMwMDA4NzAxMSAvKiBTbWFydFJlcGxhY2UuaCAqLywKQEAgLTI0
NzI5LDYgKzI0NzM1LDcgQEAKIAkJCQlFMUIyNTEwNzE1MkEwQkIwMDA2OUI3NzkgLyogU3R5bGVQ
cm9wZXJ0eVNob3J0aGFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTA3RDMzNTYxNTJCNjMwRTAw
MUI2MzkzIC8qIEpTV2ViR0xTaGFkZXJQcmVjaXNpb25Gb3JtYXQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUEwN0QzMzU4MTUyQjYzMkQwMDFCNjM5MyAvKiBXZWJHTFNoYWRlclByZWNpc2lvbkZvcm1h
dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQzVBMUVBN0QxNTJCQ0YwODAwNEQwMEI2IC8qIFNpbXBs
aWZ5TWFya3VwQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yNzcyOSw2ICsyNzczNiw3IEBA
CiAJCQkJNzFDQzdBMjAxNTJBMEJGRTAwOUVFQUY5IC8qIFNWR0FuaW1hdGVkRW51bWVyYXRpb24u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTA3RDMzNTUxNTJCNjMwRTAwMUI2MzkzIC8qIEpTV2Vi
R0xTaGFkZXJQcmVjaXNpb25Gb3JtYXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTA4Q0YxNTQx
NTJCNzdCMzAwOUM1Nzc1IC8qIFdlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0LmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCUM1QTFFQTdDMTUyQkNGMDQwMDREMDBCNiAvKiBTaW1wbGlmeU1hcmt1cENv
bW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQ
b3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Jl
cGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcAkocmV2aXNpb24gMTEzMDk4KQorKysg
U291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlICJSZW5kZXJJbmxpbmUuaCIKICNp
bmNsdWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJUZXh0LmgiCisjaW5jbHVk
ZSAiU2ltcGxpZnlNYXJrdXBDb21tYW5kLmgiCiAjaW5jbHVkZSAiU21hcnRSZXBsYWNlLmgiCiAj
aW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNldC5oIgogI2luY2x1ZGUgIlRleHRJdGVyYXRvci5oIgpA
QCAtNTUwLDU0ICs1NTEsNiBAQCB2b2lkIFJlcGxhY2VTZWxlY3Rpb25Db21tYW5kOjpyZW1vdmVS
ZWR1CiAgICAgfQogfQogCi12b2lkIFJlcGxhY2VTZWxlY3Rpb25Db21tYW5kOjpyZW1vdmVSZWR1
bmRhbnRNYXJrdXAoSW5zZXJ0ZWROb2RlcyYgaW5zZXJ0ZWROb2RlcykKLXsKLSAgICBOb2RlKiBw
YXN0RW5kTm9kZSA9IGluc2VydGVkTm9kZXMucGFzdExhc3RMZWFmKCk7Ci0gICAgTm9kZSogcm9v
dE5vZGUgPSBpbnNlcnRlZE5vZGVzLmZpcnN0Tm9kZUluc2VydGVkKCktPnBhcmVudE5vZGUoKTsK
LSAgICBWZWN0b3I8Tm9kZSo+IG5vZGVzVG9SZW1vdmU7Ci0gICAgCi0gICAgLy8gV2FsayB0aHJv
dWdoIHRoZSBpbnNlcnRlZCBub2RlcywgdG8gc2VlIGlmIHRoZXJlIGFyZSBlbGVtZW50cyB0aGF0
IGNvdWxkIGJlIHJlbW92ZWQKLSAgICAvLyB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5bGUuIFRo
ZSBnb2FsIGlzIHRvIHByb2R1Y2UgbGVhbmVyIG1hcmt1cCBldmVuIHdoZW4gc3RhcnRpbmcKLSAg
ICAvLyBmcm9tIGEgdmVyYm9zZSBmcmFnbWVudC4KLSAgICAvLyBXZSBsb29rIGF0IGlubGluZSBl
bGVtZW50cyBhcyB3ZWxsIGFzIG5vbiB0b3AgbGV2ZWwgZGl2cyB0aGF0IGRvbid0IGhhdmUgYXR0
cmlidXRlcy4gCi0gICAgZm9yIChOb2RlKiBub2RlID0gaW5zZXJ0ZWROb2Rlcy5maXJzdE5vZGVJ
bnNlcnRlZCgpOyBub2RlICYmIG5vZGUgIT0gcGFzdEVuZE5vZGU7IG5vZGUgPSBub2RlLT50cmF2
ZXJzZU5leHROb2RlKCkpIHsKLSAgICAgICAgaWYgKG5vZGUtPmZpcnN0Q2hpbGQoKSB8fCAobm9k
ZS0+aXNUZXh0Tm9kZSgpICYmIG5vZGUtPm5leHRTaWJsaW5nKCkpKQotICAgICAgICAgICAgY29u
dGludWU7Ci0gICAgICAgIAotICAgICAgICBOb2RlKiBzdGFydGluZ05vZGUgPSBub2RlLT5wYXJl
bnROb2RlKCk7Ci0gICAgICAgIFJlbmRlclN0eWxlKiBzdGFydGluZ1N0eWxlID0gc3RhcnRpbmdO
b2RlLT5yZW5kZXJTdHlsZSgpOwotICAgICAgICBpZiAoIXN0YXJ0aW5nU3R5bGUpCi0gICAgICAg
ICAgICBjb250aW51ZTsKLSAgICAgICAgTm9kZSogY3VycmVudE5vZGUgPSBzdGFydGluZ05vZGU7
Ci0gICAgICAgIE5vZGUqIHRvcE5vZGVXaXRoU3RhcnRpbmdTdHlsZSA9IDA7Ci0gICAgICAgIHdo
aWxlIChjdXJyZW50Tm9kZSAhPSByb290Tm9kZSkgewotICAgICAgICAgICAgaWYgKGN1cnJlbnRO
b2RlLT5wYXJlbnROb2RlKCkgIT0gcm9vdE5vZGUgJiYgaXNSZW1vdmFibGVCbG9jayhjdXJyZW50
Tm9kZSkpCi0gICAgICAgICAgICAgICAgbm9kZXNUb1JlbW92ZS5hcHBlbmQoY3VycmVudE5vZGUp
OwotCi0gICAgICAgICAgICBjdXJyZW50Tm9kZSA9IGN1cnJlbnROb2RlLT5wYXJlbnROb2RlKCk7
Ci0gICAgICAgICAgICBpZiAoIWN1cnJlbnROb2RlLT5yZW5kZXJlcigpIHx8ICFjdXJyZW50Tm9k
ZS0+cmVuZGVyZXIoKS0+aXNSZW5kZXJJbmxpbmUoKSB8fCB0b1JlbmRlcklubGluZShjdXJyZW50
Tm9kZS0+cmVuZGVyZXIoKSktPmFsd2F5c0NyZWF0ZUxpbmVCb3hlcygpKQotICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwotCi0gICAgICAgICAgICBpZiAoY3VycmVudE5vZGUgJiYgY3VycmVudE5v
ZGUtPmZpcnN0Q2hpbGQoKSAhPSBjdXJyZW50Tm9kZS0+bGFzdENoaWxkKCkpIHsKLSAgICAgICAg
ICAgICAgICB0b3BOb2RlV2l0aFN0YXJ0aW5nU3R5bGUgPSAwOwotICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgCi0gICAgICAgICAgICB1bnNpZ25lZCBj
b250ZXh0OwotICAgICAgICAgICAgaWYgKGN1cnJlbnROb2RlLT5yZW5kZXJTdHlsZSgpLT5kaWZm
KHN0YXJ0aW5nU3R5bGUsIGNvbnRleHQpID09IFN0eWxlRGlmZmVyZW5jZUVxdWFsKQotICAgICAg
ICAgICAgICAgIHRvcE5vZGVXaXRoU3RhcnRpbmdTdHlsZSA9IGN1cnJlbnROb2RlOwotICAgICAg
ICAgICAgCi0gICAgICAgIH0KLSAgICAgICAgaWYgKHRvcE5vZGVXaXRoU3RhcnRpbmdTdHlsZSkg
ewotICAgICAgICAgICAgZm9yIChOb2RlKiBub2RlID0gc3RhcnRpbmdOb2RlOyBub2RlICE9IHRv
cE5vZGVXaXRoU3RhcnRpbmdTdHlsZTsgbm9kZSA9IG5vZGUtPnBhcmVudE5vZGUoKSkKLSAgICAg
ICAgICAgICAgICBub2Rlc1RvUmVtb3ZlLmFwcGVuZChub2RlKTsKLSAgICAgICAgfQotICAgIH0K
LSAgICAvLyB3ZSBwZXJmb3JtIGFsbCB0aGUgRE9NIG11dGF0aW9ucyBhdCBvbmNlLgotICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgbm9kZXNUb1JlbW92ZS5zaXplKCk7ICsraSkKLSAgICAgICAg
cmVtb3ZlTm9kZVByZXNlcnZpbmdDaGlsZHJlbihub2Rlc1RvUmVtb3ZlW2ldKTsKLX0KLQogc3Rh
dGljIGlubGluZSBib29sIG5vZGVIYXNWaXNpYmxlUmVuZGVyVGV4dChUZXh0KiB0ZXh0KQogewog
ICAgIHJldHVybiB0ZXh0LT5yZW5kZXJlcigpICYmIHRvUmVuZGVyVGV4dCh0ZXh0LT5yZW5kZXJl
cigpKS0+cmVuZGVyZWRUZXh0TGVuZ3RoKCkgPiAwOwpAQCAtMTA2Nyw3ICsxMDIwLDcgQEAgdm9p
ZCBSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6ZG9BcHBseSgpCiAgICAgcmVtb3ZlUmVkdW5kYW50
U3R5bGVzQW5kS2VlcFN0eWxlU3BhbklubGluZShpbnNlcnRlZE5vZGVzKTsKIAogICAgIGlmICht
X3Nhbml0aXplRnJhZ21lbnQpCi0gICAgICAgIHJlbW92ZVJlZHVuZGFudE1hcmt1cChpbnNlcnRl
ZE5vZGVzKTsKKyAgICAgICAgYXBwbHlDb21tYW5kVG9Db21wb3NpdGUoU2ltcGxpZnlNYXJrdXBD
b21tYW5kOjpjcmVhdGUoZG9jdW1lbnQoKSwgaW5zZXJ0ZWROb2Rlcy5maXJzdE5vZGVJbnNlcnRl
ZCgpLCBpbnNlcnRlZE5vZGVzLnBhc3RMYXN0TGVhZigpKSk7CiAKICAgICAvLyBTZXR1cCBtX3N0
YXJ0T2ZJbnNlcnRlZENvbnRlbnQgYW5kIG1fZW5kT2ZJbnNlcnRlZENvbnRlbnQuIFRoaXMgc2hv
dWxkIGJlIHRoZSBsYXN0IHR3byBsaW5lcyBvZiBjb2RlIHRoYXQgYWNjZXNzIGluc2VydGVkTm9k
ZXMuCiAgICAgbV9zdGFydE9mSW5zZXJ0ZWRDb250ZW50ID0gZmlyc3RQb3NpdGlvbkluT3JCZWZv
cmVOb2RlKGluc2VydGVkTm9kZXMuZmlyc3ROb2RlSW5zZXJ0ZWQoKSk7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5oCShyZXZpc2lv
biAxMTMwOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21t
YW5kLmgJKHdvcmtpbmcgY29weSkKQEAgLTg5LDcgKzg5LDYgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHJlbW92ZVVucmVuZGVyZWRUZXh0Tm9kZXNBdEVuZHMoSW5zZXJ0ZWROb2RlcyYpOwogICAgIAog
ICAgIHZvaWQgcmVtb3ZlUmVkdW5kYW50U3R5bGVzQW5kS2VlcFN0eWxlU3BhbklubGluZShJbnNl
cnRlZE5vZGVzJik7Ci0gICAgdm9pZCByZW1vdmVSZWR1bmRhbnRNYXJrdXAoSW5zZXJ0ZWROb2Rl
cyYpOwogICAgIHZvaWQgaGFuZGxlU3R5bGVTcGFucyhJbnNlcnRlZE5vZGVzJik7CiAgICAgdm9p
ZCBoYW5kbGVQYXN0ZUFzUXVvdGF0aW9uTm9kZSgpOwogICAgIApJbmRleDogU291cmNlL1dlYkNv
cmUvZWRpdGluZy9TaW1wbGlmeU1hcmt1cENvbW1hbmQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvU2ltcGxpZnlNYXJrdXBDb21tYW5kLmNwcAkocmV2aXNpb24gMCkK
KysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU2ltcGxpZnlNYXJrdXBDb21tYW5kLmNwcAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw4NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNSwgMjAw
NiBBcHBsZSBDb21wdXRlciwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNpbXBsaWZ5TWFya3VwQ29tbWFuZC5oIgorCisj
aW5jbHVkZSAiUmVuZGVySW5saW5lLmgiCisjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisjaW5j
bHVkZSAiUmVuZGVyU3R5bGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitTaW1wbGlmeU1h
cmt1cENvbW1hbmQ6OlNpbXBsaWZ5TWFya3VwQ29tbWFuZChEb2N1bWVudCogZG9jdW1lbnQsIE5v
ZGUqIGZpcnN0Tm9kZSwgTm9kZSogbm9kZUFmdGVyTGFzdCkgCisgICAgOiBDb21wb3NpdGVFZGl0
Q29tbWFuZChkb2N1bWVudCksIG1fZmlyc3ROb2RlKGZpcnN0Tm9kZSksIG1fbm9kZUFmdGVyTGFz
dChub2RlQWZ0ZXJMYXN0KQoreworfQorICAgIAordm9pZCBTaW1wbGlmeU1hcmt1cENvbW1hbmQ6
OmRvQXBwbHkoKQoreworICAgIE5vZGUqIHJvb3ROb2RlID0gbV9maXJzdE5vZGUtPnBhcmVudE5v
ZGUoKTsKKyAgICBWZWN0b3I8Tm9kZSo+IG5vZGVzVG9SZW1vdmU7CisgICAgCisgICAgLy8gV2Fs
ayB0aHJvdWdoIHRoZSBpbnNlcnRlZCBub2RlcywgdG8gc2VlIGlmIHRoZXJlIGFyZSBlbGVtZW50
cyB0aGF0IGNvdWxkIGJlIHJlbW92ZWQKKyAgICAvLyB3aXRob3V0IGFmZmVjdGluZyB0aGUgc3R5
bGUuIFRoZSBnb2FsIGlzIHRvIHByb2R1Y2UgbGVhbmVyIG1hcmt1cCBldmVuIHdoZW4gc3RhcnRp
bmcKKyAgICAvLyBmcm9tIGEgdmVyYm9zZSBmcmFnbWVudC4KKyAgICAvLyBXZSBsb29rIGF0IGlu
bGluZSBlbGVtZW50cyBhcyB3ZWxsIGFzIG5vbiB0b3AgbGV2ZWwgZGl2cyB0aGF0IGRvbid0IGhh
dmUgYXR0cmlidXRlcy4gCisgICAgZm9yIChOb2RlKiBub2RlID0gbV9maXJzdE5vZGUuZ2V0KCk7
IG5vZGUgJiYgbm9kZSAhPSBtX25vZGVBZnRlckxhc3Q7IG5vZGUgPSBub2RlLT50cmF2ZXJzZU5l
eHROb2RlKCkpIHsKKyAgICAgICAgaWYgKG5vZGUtPmZpcnN0Q2hpbGQoKSB8fCAobm9kZS0+aXNU
ZXh0Tm9kZSgpICYmIG5vZGUtPm5leHRTaWJsaW5nKCkpKQorICAgICAgICAgICAgY29udGludWU7
CisgICAgICAgIAorICAgICAgICBOb2RlKiBzdGFydGluZ05vZGUgPSBub2RlLT5wYXJlbnROb2Rl
KCk7CisgICAgICAgIFJlbmRlclN0eWxlKiBzdGFydGluZ1N0eWxlID0gc3RhcnRpbmdOb2RlLT5y
ZW5kZXJTdHlsZSgpOworICAgICAgICBpZiAoIXN0YXJ0aW5nU3R5bGUpCisgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgTm9kZSogY3VycmVudE5vZGUgPSBzdGFydGluZ05vZGU7CisgICAg
ICAgIE5vZGUqIHRvcE5vZGVXaXRoU3RhcnRpbmdTdHlsZSA9IDA7CisgICAgICAgIHdoaWxlIChj
dXJyZW50Tm9kZSAhPSByb290Tm9kZSkgeworICAgICAgICAgICAgaWYgKGN1cnJlbnROb2RlLT5w
YXJlbnROb2RlKCkgIT0gcm9vdE5vZGUgJiYgaXNSZW1vdmFibGVCbG9jayhjdXJyZW50Tm9kZSkp
CisgICAgICAgICAgICAgICAgbm9kZXNUb1JlbW92ZS5hcHBlbmQoY3VycmVudE5vZGUpOworICAg
ICAgICAgICAgCisgICAgICAgICAgICBjdXJyZW50Tm9kZSA9IGN1cnJlbnROb2RlLT5wYXJlbnRO
b2RlKCk7CisgICAgICAgICAgICBpZiAoIWN1cnJlbnROb2RlLT5yZW5kZXJlcigpIHx8ICFjdXJy
ZW50Tm9kZS0+cmVuZGVyZXIoKS0+aXNSZW5kZXJJbmxpbmUoKSB8fCB0b1JlbmRlcklubGluZShj
dXJyZW50Tm9kZS0+cmVuZGVyZXIoKSktPmFsd2F5c0NyZWF0ZUxpbmVCb3hlcygpKQorICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAoY3VycmVu
dE5vZGUgJiYgY3VycmVudE5vZGUtPmZpcnN0Q2hpbGQoKSAhPSBjdXJyZW50Tm9kZS0+bGFzdENo
aWxkKCkpIHsKKyAgICAgICAgICAgICAgICB0b3BOb2RlV2l0aFN0YXJ0aW5nU3R5bGUgPSAwOwor
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAg
ICAgICAgICB1bnNpZ25lZCBjb250ZXh0OworICAgICAgICAgICAgaWYgKGN1cnJlbnROb2RlLT5y
ZW5kZXJTdHlsZSgpLT5kaWZmKHN0YXJ0aW5nU3R5bGUsIGNvbnRleHQpID09IFN0eWxlRGlmZmVy
ZW5jZUVxdWFsKQorICAgICAgICAgICAgICAgIHRvcE5vZGVXaXRoU3RhcnRpbmdTdHlsZSA9IGN1
cnJlbnROb2RlOworICAgICAgICAgICAgCisgICAgICAgIH0KKyAgICAgICAgaWYgKHRvcE5vZGVX
aXRoU3RhcnRpbmdTdHlsZSkgeworICAgICAgICAgICAgZm9yIChOb2RlKiBub2RlID0gc3RhcnRp
bmdOb2RlOyBub2RlICE9IHRvcE5vZGVXaXRoU3RhcnRpbmdTdHlsZTsgbm9kZSA9IG5vZGUtPnBh
cmVudE5vZGUoKSkKKyAgICAgICAgICAgICAgICBub2Rlc1RvUmVtb3ZlLmFwcGVuZChub2RlKTsK
KyAgICAgICAgfQorICAgIH0KKyAgICAvLyB3ZSBwZXJmb3JtIGFsbCB0aGUgRE9NIG11dGF0aW9u
cyBhdCBvbmNlLgorICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbm9kZXNUb1JlbW92ZS5zaXpl
KCk7ICsraSkKKyAgICAgICAgcmVtb3ZlTm9kZVByZXNlcnZpbmdDaGlsZHJlbihub2Rlc1RvUmVt
b3ZlW2ldKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNv
cmUvZWRpdGluZy9TaW1wbGlmeU1hcmt1cENvbW1hbmQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1NpbXBsaWZ5TWFya3VwQ29tbWFuZC5oCShyZXZpc2lvbiAwKQorKysg
U291cmNlL1dlYkNvcmUvZWRpdGluZy9TaW1wbGlmeU1hcmt1cENvbW1hbmQuaAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgU2ltcGxpZnlNYXJrdXBDb21t
YW5kX2gKKyNkZWZpbmUgU2ltcGxpZnlNYXJrdXBDb21tYW5kX2gKKworI2luY2x1ZGUgIkNvbXBv
c2l0ZUVkaXRDb21tYW5kLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU2ltcGxp
ZnlNYXJrdXBDb21tYW5kIDogcHVibGljIENvbXBvc2l0ZUVkaXRDb21tYW5kIHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTaW1wbGlmeU1hcmt1cENvbW1hbmQ+IGNyZWF0ZShEb2N1
bWVudCogZG9jdW1lbnQsIE5vZGUqIGZpcnN0Tm9kZSwgTm9kZSogbm9kZUFmdGVyTGFzdCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2ltcGxpZnlNYXJrdXBDb21tYW5kKGRv
Y3VtZW50LCBmaXJzdE5vZGUsIG5vZGVBZnRlckxhc3QpKTsKKyAgICB9CisKK3ByaXZhdGU6Cisg
ICAgU2ltcGxpZnlNYXJrdXBDb21tYW5kKERvY3VtZW50KiwgTm9kZSogZmlyc3ROb2RlLCBOb2Rl
KiBub2RlQWZ0ZXJMYXN0KTsKKworICAgIHZpcnR1YWwgdm9pZCBkb0FwcGx5KCk7CisgICAgCisg
ICAgUmVmUHRyPE5vZGU+IG1fZmlyc3ROb2RlOworICAgIFJlZlB0cjxOb2RlPiBtX25vZGVBZnRl
ckxhc3Q7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBTaW1wbGlm
eU1hcmt1cENvbW1hbmRfaAo=
</data>
<flag name="commit-queue"
          id="140343"
          type_id="3"
          status="-"
          setter="pnormand"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135745</attachid>
            <date>2012-04-04 19:12:59 -0700</date>
            <delta_ts>2012-04-05 11:17:56 -0700</delta_ts>
            <desc>Patch2</desc>
            <filename>simplifymarkup.txt</filename>
            <type>text/plain</type>
            <size>21477</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMzI3NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA0LTA0ICBFbnJpY2Eg
Q2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CisKKyAgICAgICAgUHJvdmlkZSBhIHNlcGFyYXRl
IGVkaXRpbmcgY29tbWFuZCB0byBjbGVhbnVwIG9mIHJlZHVuZGFudCBtYXJrdXAuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MzI0MAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggbW92ZXMg
dGhlIGxvZ2ljIG9yaWdpbmFsbHkgcGVyZm9ybWVkIGJ5IHRoZSBwcml2YXRlCisgICAgICAgIG1l
dGhvZCByZW1vdmVSZWR1bmRhbnRNYXJrdXAgaW5zaWRlIFJlcGxhY2VTZWxlY3Rpb25Db21tYW5k
IGludG8KKyAgICAgICAgYSBzZXBhcmF0ZSBjb21tYW5kLiBUaGlzIHdheSB0aGUgbWFya3VwIGNs
ZWFudXAgY2FuIGJlIGV4cG9zZWQgYXMKKyAgICAgICAgYSBzZXBhcmF0ZSBjb21tYW5kLCBpbmRl
cGVuZGVudCBmcm9tIFJlcGxhY2VTZWxlY3Rpb25Db21tYW5kLgorICAgICAgICAKKyAgICAgICAg
Tm8gbmV3IHRlc3RzLiBObyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIENN
YWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICog
VGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICBBZGRlZCBuZXcgZmlsZSB0byBwcm9qZWN0IGZpbGVzLgorICAg
ICAgICAqIGVkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQ6OmRvQXBwbHkpOiBOb3cgdXNlcyBTaW1wbGlm
eU1hcmt1cENvbW1hbmQuCisgICAgICAgICogZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFu
ZC5oOgorICAgICAgICAoUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQpOiBSZW1vdmVkIHJlbW92ZVJl
ZHVuZGFudE1hcmt1cC4KKyAgICAgICAgKiBlZGl0aW5nL1NpbXBsaWZ5TWFya3VwQ29tbWFuZC5j
cHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxpZnlNYXJrdXBDb21tYW5kOjpTaW1w
bGlmeU1hcmt1cENvbW1hbmQpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxpZnlNYXJrdXBDb21t
YW5kOjpkb0FwcGx5KToKKyAgICAgICAgKiBlZGl0aW5nL1NpbXBsaWZ5TWFya3VwQ29tbWFuZC5o
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsaWZ5TWFya3VwQ29tbWFuZDo6Y3JlYXRl
KToKKwogMjAxMi0wNC0wNCAgTHVrZSBNYWNwaGVyc29uICA8bWFjcGhlcnNvbkBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgUmVwbGFjZSBmdXJ0aGVyIHVzYWdlIG9mIGludCB3aXRoIENTU1Byb3Bl
cnR5SUQuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMTEzMDk4KQorKysgU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTY5MSw2ICs2OTEs
NyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29t
bWFuZC5jcHAKICAgICBlZGl0aW5nL1NldE5vZGVBdHRyaWJ1dGVDb21tYW5kLmNwcAogICAgIGVk
aXRpbmcvU2V0U2VsZWN0aW9uQ29tbWFuZC5jcHAKKyAgICBlZGl0aW5nL1NpbXBsaWZ5TWFya3Vw
Q29tbWFuZC5jcHAKICAgICBlZGl0aW5nL1NtYXJ0UmVwbGFjZS5jcHAKICAgICBlZGl0aW5nL1Nw
ZWxsQ2hlY2tlci5jcHAKICAgICBlZGl0aW5nL1NwZWxsaW5nQ29ycmVjdGlvbkNvbnRyb2xsZXIu
Y3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHJldmlzaW9uIDExMzA5OCkK
KysrIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHdvcmtpbmcgY29weSkKQEAg
LTIwODgsNiArMjA4OCw4IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUv
ZWRpdGluZy9TZXROb2RlQXR0cmlidXRlQ29tbWFuZC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1NldFNlbGVjdGlvbkNvbW1hbmQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Nl
dFNlbGVjdGlvbkNvbW1hbmQuaCBcCisJU291cmNlL1dlYkNvcmUvZWRpdGluZy9TaW1wbGlmeU1h
cmt1cENvbW1hbmQuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NpbXBsaWZ5TWFya3Vw
Q29tbWFuZC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NtYXJ0UmVwbGFjZS5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU21hcnRSZXBsYWNlLmggXAogCVNvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvU21hcnRSZXBsYWNlSUNVLmNwcCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9UYXJn
ZXQucHJpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHJldmlzaW9u
IDExMzA5OCkKKysrIFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHdvcmtpbmcgY29weSkKQEAg
LTY2Nyw2ICs2NjcsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBlZGl0aW5nL1JlcGxhY2VTZWxlY3Rp
b25Db21tYW5kLmNwcCBcCiAgICAgZWRpdGluZy9TZXROb2RlQXR0cmlidXRlQ29tbWFuZC5jcHAg
XAogICAgIGVkaXRpbmcvU2V0U2VsZWN0aW9uQ29tbWFuZC5jcHAgXAorICAgIGVkaXRpbmcvU2lt
cGxpZnlNYXJrdXBDb21tYW5kLmNwcCBcCiAgICAgZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwIFwK
ICAgICBlZGl0aW5nL1NwZWxsaW5nQ29ycmVjdGlvbkNvbW1hbmQuY3BwIFwKICAgICBlZGl0aW5n
L1NwZWxsaW5nQ29ycmVjdGlvbkNvbnRyb2xsZXIuY3BwIFwKQEAgLTE3OTksNiArMTgwMCw3IEBA
IEhFQURFUlMgKz0gXAogICAgIGVkaXRpbmcvUmVwbGFjZU5vZGVXaXRoU3BhbkNvbW1hbmQuaCBc
CiAgICAgZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5oIFwKICAgICBlZGl0aW5nL1Nl
dE5vZGVBdHRyaWJ1dGVDb21tYW5kLmggXAorICAgIGVkaXRpbmcvU2ltcGxpZnlNYXJrdXBDb21t
YW5kLmggXAogICAgIGVkaXRpbmcvU21hcnRSZXBsYWNlLmggXAogICAgIGVkaXRpbmcvU3BlbGxp
bmdDb3JyZWN0aW9uQ29tbWFuZC5oIFwKICAgICBlZGl0aW5nL1NwZWxsaW5nQ29ycmVjdGlvbkNv
bnRyb2xsZXIuaCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lvbiAxMTMwOTgpCisrKyBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAgLTExMSw2ICsxMTEs
NyBAQAogICAgICAgICAgICAgJ2VkaXRpbmcvSFRNTEludGVyY2hhbmdlLmgnLAogICAgICAgICAg
ICAgJ2VkaXRpbmcvTW92ZVNlbGVjdGlvbkNvbW1hbmQuaCcsCiAgICAgICAgICAgICAnZWRpdGlu
Zy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5oJywKKyAgICAgICAgICAgICdlZGl0aW5nL1NpbXBs
aWZ5TWFya3VwQ29tbWFuZC5oJywKICAgICAgICAgICAgICdlZGl0aW5nL1NtYXJ0UmVwbGFjZS5o
JywKICAgICAgICAgICAgICdlZGl0aW5nL1NwZWxsQ2hlY2tlci5oJywKICAgICAgICAgICAgICdl
ZGl0aW5nL1N1cnJvdW5kaW5nVGV4dC5jcHAnLApAQCAtMjU2OSw2ICsyNTcwLDcgQEAKICAgICAg
ICAgICAgICdlZGl0aW5nL1NldE5vZGVBdHRyaWJ1dGVDb21tYW5kLmgnLAogICAgICAgICAgICAg
J2VkaXRpbmcvU2V0U2VsZWN0aW9uQ29tbWFuZC5jcHAnLAogICAgICAgICAgICAgJ2VkaXRpbmcv
U2V0U2VsZWN0aW9uQ29tbWFuZC5oJywKKyAgICAgICAgICAgICdlZGl0aW5nL1NpbXBsaWZ5TWFy
a3VwQ29tbWFuZC5jcHAnLAogICAgICAgICAgICAgJ2VkaXRpbmcvU21hcnRSZXBsYWNlLmNwcCcs
CiAgICAgICAgICAgICAnZWRpdGluZy9TbWFydFJlcGxhY2VDRi5jcHAnLAogICAgICAgICAgICAg
J2VkaXRpbmcvU21hcnRSZXBsYWNlSUNVLmNwcCcsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gMTEzMDk4KQorKysgU291cmNl
L1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAg
LTU2MjQ2LDYgKzU2MjQ2LDYyIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXGVkaXRpbmdcU2ltcGxpZnlNYXJrdXBDb21tYW5kLmNwcCIKKwkJCQk+
CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0iZmFsc2UiCisJCQkJCT4KKwkJCQkJPFRvb2wKKyAgICAgICAgICAg
ICAgICAgICAgTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdp
bjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0iZmFsc2UiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KyAgICAgICAgICAgICAgICAgICAgTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1l
PSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisgICAgICAgICAgICAgICAgICAgIE5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisgICAgICAgICAg
ICAgICAgICAgIE5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxs
fFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0iZmFsc2UiCisJCQkJCT4KKwkJCQkJPFRv
b2wKKyAgICAgICAgICAgICAgICAgICAgTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0iZmFsc2UiCisJ
CQkJCT4KKwkJCQkJPFRvb2wKKyAgICAgICAgICAgICAgICAgICAgTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJ
PEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGVkaXRpbmdcU2ltcGxpZnlNYXJrdXBDb21tYW5k
LmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGVk
aXRpbmdcU21hcnRSZXBsYWNlLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCShyZXZpc2lvbiAxMTMwOTgpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTU2ODcsNiArNTY4Nyw4IEBACiAJ
CUM1OTg5MDJFMTRFOUIwRjgwMEU4RDE4QiAvKiBQbGF0Zm9ybVBhc3RlYm9hcmRNYWMubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNUY3NjVCQTE0RTFF
Q0Y0MDA2Qzg5OUIgLyogUGxhdGZvcm1QYXN0ZWJvYXJkTWFjLm1tICovOyB9OwogCQlDNTk4OTA1
NzE0RTlDMjgwMDBFOEQxOEIgLyogUGFzdGVib2FyZFN0cmF0ZWd5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNUY3NjVCNDE0RTFENDE0MDA2Qzg5OUIg
LyogUGFzdGVib2FyZFN0cmF0ZWd5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJQzU5ODkwNTgxNEU5QzI5OTAwRThEMThCIC8qIFBsYXRmb3JtUGFz
dGVib2FyZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QzVCQUMxNkYxNEUzMEU0NzAwMDA4ODM3IC8qIFBsYXRmb3JtUGFzdGVib2FyZC5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUM1QTFFQTdDMTUyQkNG
MDQwMDREMDBCNiAvKiBTaW1wbGlmeU1hcmt1cENvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzVBMUVBNzkxNTJCQzQ4NjAwNEQwMEI2IC8q
IFNpbXBsaWZ5TWFya3VwQ29tbWFuZC5jcHAgKi87IH07CisJCUM1QTFFQTdEMTUyQkNGMDgwMDRE
MDBCNiAvKiBTaW1wbGlmeU1hcmt1cENvbW1hbmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1QTFFQTdBMTUyQkM0ODYwMDREMDBCNiAvKiBTaW1wbGlm
eU1hcmt1cENvbW1hbmQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlDNUI0QzI0RDE1MDkyMzZDMDBBNkVGMzcgLyogV2ViQ29yZU5TVVJMRXh0cmFz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNUI0QzI0
QjE1MDkyMzZDMDBBNkVGMzcgLyogV2ViQ29yZU5TVVJMRXh0cmFzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzVCNEMyNEUxNTA5MjM2QzAwQTZF
RjM3IC8qIFdlYkNvcmVOU1VSTEV4dHJhcy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEM1QjRDMjRDMTUwOTIzNkMwMEE2RUYzNyAvKiBXZWJDb3JlTlNV
UkxFeHRyYXMubW0gKi87IH07CiAJCUM1RDRBQTdBMTE2QkFGQjYwMDY5Q0E5MyAvKiBHbHlwaE1l
dHJpY3NNYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEM1RDRBQTc4MTE2QkFGQjYwMDY5Q0E5MyAvKiBHbHlwaE1ldHJpY3NNYXAuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTI3NzYsNiArMTI3Nzgs
OCBAQAogCQlDNTg1QTY3OTExRDRGQjA3MDA0QzNFNEIgLyogSlNJREJSZXF1ZXN0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSURCUmVxdWVzdC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlDNTg1QTY5NDExRDRGQjEzMDA0QzNFNEIgLyogSlNJREJGYWN0b3J5
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSURCRmFjdG9yeS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM1ODVBNjk1MTFENEZCMTMwMDRDM0U0
QiAvKiBKU0lEQkZhY3RvcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNJ
REJGYWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM1QTFFQTc5MTUyQkM0
ODYwMDREMDBCNiAvKiBTaW1wbGlmeU1hcmt1cENvbW1hbmQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU2ltcGxpZnlNYXJrdXBDb21tYW5kLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzVBMUVBN0ExNTJCQzQ4NjAwNEQwMEI2IC8qIFNpbXBsaWZ5
TWFya3VwQ29tbWFuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTaW1wbGlm
eU1hcmt1cENvbW1hbmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzVCNEMyNEIx
NTA5MjM2QzAwQTZFRjM3IC8qIFdlYkNvcmVOU1VSTEV4dHJhcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXZWJDb3JlTlNVUkxFeHRyYXMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQzVCNEMyNEMxNTA5MjM2QzAwQTZFRjM3IC8qIFdlYkNvcmVOU1VSTEV4dHJh
cy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkNvcmVOU1VS
TEV4dHJhcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzVCQUMxNkYxNEUzMEU0
NzAwMDA4ODM3IC8qIFBsYXRmb3JtUGFzdGVib2FyZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQbGF0Zm9ybVBhc3RlYm9hcmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTE2Njk4LDYgKzE2NzAyLDggQEAKIAkJCQk5MzMwOURDMDA5OUU2NDkxMDA1NkU1ODEg
LyogU2V0Tm9kZUF0dHJpYnV0ZUNvbW1hbmQuY3BwICovLAogCQkJCTkzMzA5REMxMDk5RTY0OTEw
MDU2RTU4MSAvKiBTZXROb2RlQXR0cmlidXRlQ29tbWFuZC5oICovLAogCQkJCUI4REJEQjQ3MTMw
QjBGOEEwMEY1Q0RCMSAvKiBTZXRTZWxlY3Rpb25Db21tYW5kLmNwcCAqLywKKwkJCQlDNUExRUE3
OTE1MkJDNDg2MDA0RDAwQjYgLyogU2ltcGxpZnlNYXJrdXBDb21tYW5kLmNwcCAqLywKKwkJCQlD
NUExRUE3QTE1MkJDNDg2MDA0RDAwQjYgLyogU2ltcGxpZnlNYXJrdXBDb21tYW5kLmggKi8sCiAJ
CQkJQjhEQkRCNDgxMzBCMEY4QTAwRjVDREIxIC8qIFNldFNlbGVjdGlvbkNvbW1hbmQuaCAqLywK
IAkJCQk0QjZGQTZGMzBDMzlFNDhDMDAwODcwMTEgLyogU21hcnRSZXBsYWNlLmNwcCAqLywKIAkJ
CQk0QjZGQTZGMjBDMzlFNDhDMDAwODcwMTEgLyogU21hcnRSZXBsYWNlLmggKi8sCkBAIC0yNDcy
OSw2ICsyNDczNSw3IEBACiAJCQkJRTFCMjUxMDcxNTJBMEJCMDAwNjlCNzc5IC8qIFN0eWxlUHJv
cGVydHlTaG9ydGhhbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUEwN0QzMzU2MTUyQjYzMEUwMDFC
NjM5MyAvKiBKU1dlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBMDdEMzM1ODE1MkI2MzJEMDAxQjYzOTMgLyogV2ViR0xTaGFkZXJQcmVjaXNpb25Gb3JtYXQu
aCBpbiBIZWFkZXJzICovLAorCQkJCUM1QTFFQTdEMTUyQkNGMDgwMDREMDBCNiAvKiBTaW1wbGlm
eU1hcmt1cENvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjc3MjksNiArMjc3MzYsNyBAQAog
CQkJCTcxQ0M3QTIwMTUyQTBCRkUwMDlFRUFGOSAvKiBTVkdBbmltYXRlZEVudW1lcmF0aW9uLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUEwN0QzMzU1MTUyQjYzMEUwMDFCNjM5MyAvKiBKU1dlYkdM
U2hhZGVyUHJlY2lzaW9uRm9ybWF0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEwOENGMTU0MTUy
Qjc3QjMwMDlDNTc3NSAvKiBXZWJHTFNoYWRlclByZWNpc2lvbkZvcm1hdC5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlDNUExRUE3QzE1MkJDRjA0MDA0RDAwQjYgLyogU2ltcGxpZnlNYXJrdXBDb21t
YW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9z
dHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBs
YWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRp
dGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAJKHJldmlzaW9uIDExMzA5OCkKKysrIFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSAiUmVuZGVySW5saW5lLmgiCiAjaW5j
bHVkZSAiUmVuZGVyT2JqZWN0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4dC5oIgorI2luY2x1ZGUg
IlNpbXBsaWZ5TWFya3VwQ29tbWFuZC5oIgogI2luY2x1ZGUgIlNtYXJ0UmVwbGFjZS5oIgogI2lu
Y2x1ZGUgIlN0eWxlUHJvcGVydHlTZXQuaCIKICNpbmNsdWRlICJUZXh0SXRlcmF0b3IuaCIKQEAg
LTU1MCw1NCArNTUxLDYgQEAgdm9pZCBSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6cmVtb3ZlUmVk
dQogICAgIH0KIH0KIAotdm9pZCBSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6cmVtb3ZlUmVkdW5k
YW50TWFya3VwKEluc2VydGVkTm9kZXMmIGluc2VydGVkTm9kZXMpCi17Ci0gICAgTm9kZSogcGFz
dEVuZE5vZGUgPSBpbnNlcnRlZE5vZGVzLnBhc3RMYXN0TGVhZigpOwotICAgIE5vZGUqIHJvb3RO
b2RlID0gaW5zZXJ0ZWROb2Rlcy5maXJzdE5vZGVJbnNlcnRlZCgpLT5wYXJlbnROb2RlKCk7Ci0g
ICAgVmVjdG9yPE5vZGUqPiBub2Rlc1RvUmVtb3ZlOwotICAgIAotICAgIC8vIFdhbGsgdGhyb3Vn
aCB0aGUgaW5zZXJ0ZWQgbm9kZXMsIHRvIHNlZSBpZiB0aGVyZSBhcmUgZWxlbWVudHMgdGhhdCBj
b3VsZCBiZSByZW1vdmVkCi0gICAgLy8gd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiBUaGUg
Z29hbCBpcyB0byBwcm9kdWNlIGxlYW5lciBtYXJrdXAgZXZlbiB3aGVuIHN0YXJ0aW5nCi0gICAg
Ly8gZnJvbSBhIHZlcmJvc2UgZnJhZ21lbnQuCi0gICAgLy8gV2UgbG9vayBhdCBpbmxpbmUgZWxl
bWVudHMgYXMgd2VsbCBhcyBub24gdG9wIGxldmVsIGRpdnMgdGhhdCBkb24ndCBoYXZlIGF0dHJp
YnV0ZXMuIAotICAgIGZvciAoTm9kZSogbm9kZSA9IGluc2VydGVkTm9kZXMuZmlyc3ROb2RlSW5z
ZXJ0ZWQoKTsgbm9kZSAmJiBub2RlICE9IHBhc3RFbmROb2RlOyBub2RlID0gbm9kZS0+dHJhdmVy
c2VOZXh0Tm9kZSgpKSB7Ci0gICAgICAgIGlmIChub2RlLT5maXJzdENoaWxkKCkgfHwgKG5vZGUt
PmlzVGV4dE5vZGUoKSAmJiBub2RlLT5uZXh0U2libGluZygpKSkKLSAgICAgICAgICAgIGNvbnRp
bnVlOwotICAgICAgICAKLSAgICAgICAgTm9kZSogc3RhcnRpbmdOb2RlID0gbm9kZS0+cGFyZW50
Tm9kZSgpOwotICAgICAgICBSZW5kZXJTdHlsZSogc3RhcnRpbmdTdHlsZSA9IHN0YXJ0aW5nTm9k
ZS0+cmVuZGVyU3R5bGUoKTsKLSAgICAgICAgaWYgKCFzdGFydGluZ1N0eWxlKQotICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgIE5vZGUqIGN1cnJlbnROb2RlID0gc3RhcnRpbmdOb2RlOwot
ICAgICAgICBOb2RlKiB0b3BOb2RlV2l0aFN0YXJ0aW5nU3R5bGUgPSAwOwotICAgICAgICB3aGls
ZSAoY3VycmVudE5vZGUgIT0gcm9vdE5vZGUpIHsKLSAgICAgICAgICAgIGlmIChjdXJyZW50Tm9k
ZS0+cGFyZW50Tm9kZSgpICE9IHJvb3ROb2RlICYmIGlzUmVtb3ZhYmxlQmxvY2soY3VycmVudE5v
ZGUpKQotICAgICAgICAgICAgICAgIG5vZGVzVG9SZW1vdmUuYXBwZW5kKGN1cnJlbnROb2RlKTsK
LQotICAgICAgICAgICAgY3VycmVudE5vZGUgPSBjdXJyZW50Tm9kZS0+cGFyZW50Tm9kZSgpOwot
ICAgICAgICAgICAgaWYgKCFjdXJyZW50Tm9kZS0+cmVuZGVyZXIoKSB8fCAhY3VycmVudE5vZGUt
PnJlbmRlcmVyKCktPmlzUmVuZGVySW5saW5lKCkgfHwgdG9SZW5kZXJJbmxpbmUoY3VycmVudE5v
ZGUtPnJlbmRlcmVyKCkpLT5hbHdheXNDcmVhdGVMaW5lQm94ZXMoKSkKLSAgICAgICAgICAgICAg
ICBjb250aW51ZTsKLQotICAgICAgICAgICAgaWYgKGN1cnJlbnROb2RlICYmIGN1cnJlbnROb2Rl
LT5maXJzdENoaWxkKCkgIT0gY3VycmVudE5vZGUtPmxhc3RDaGlsZCgpKSB7Ci0gICAgICAgICAg
ICAgICAgdG9wTm9kZVdpdGhTdGFydGluZ1N0eWxlID0gMDsKLSAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAotICAgICAgICAgICAgdW5zaWduZWQgY29u
dGV4dDsKLSAgICAgICAgICAgIGlmIChjdXJyZW50Tm9kZS0+cmVuZGVyU3R5bGUoKS0+ZGlmZihz
dGFydGluZ1N0eWxlLCBjb250ZXh0KSA9PSBTdHlsZURpZmZlcmVuY2VFcXVhbCkKLSAgICAgICAg
ICAgICAgICB0b3BOb2RlV2l0aFN0YXJ0aW5nU3R5bGUgPSBjdXJyZW50Tm9kZTsKLSAgICAgICAg
ICAgIAotICAgICAgICB9Ci0gICAgICAgIGlmICh0b3BOb2RlV2l0aFN0YXJ0aW5nU3R5bGUpIHsK
LSAgICAgICAgICAgIGZvciAoTm9kZSogbm9kZSA9IHN0YXJ0aW5nTm9kZTsgbm9kZSAhPSB0b3BO
b2RlV2l0aFN0YXJ0aW5nU3R5bGU7IG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCkpCi0gICAgICAg
ICAgICAgICAgbm9kZXNUb1JlbW92ZS5hcHBlbmQobm9kZSk7Ci0gICAgICAgIH0KLSAgICB9Ci0g
ICAgLy8gd2UgcGVyZm9ybSBhbGwgdGhlIERPTSBtdXRhdGlvbnMgYXQgb25jZS4KLSAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IG5vZGVzVG9SZW1vdmUuc2l6ZSgpOyArK2kpCi0gICAgICAgIHJl
bW92ZU5vZGVQcmVzZXJ2aW5nQ2hpbGRyZW4obm9kZXNUb1JlbW92ZVtpXSk7Ci19Ci0KIHN0YXRp
YyBpbmxpbmUgYm9vbCBub2RlSGFzVmlzaWJsZVJlbmRlclRleHQoVGV4dCogdGV4dCkKIHsKICAg
ICByZXR1cm4gdGV4dC0+cmVuZGVyZXIoKSAmJiB0b1JlbmRlclRleHQodGV4dC0+cmVuZGVyZXIo
KSktPnJlbmRlcmVkVGV4dExlbmd0aCgpID4gMDsKQEAgLTEwNjcsNyArMTAyMCw3IEBAIHZvaWQg
UmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQ6OmRvQXBwbHkoKQogICAgIHJlbW92ZVJlZHVuZGFudFN0
eWxlc0FuZEtlZXBTdHlsZVNwYW5JbmxpbmUoaW5zZXJ0ZWROb2Rlcyk7CiAKICAgICBpZiAobV9z
YW5pdGl6ZUZyYWdtZW50KQotICAgICAgICByZW1vdmVSZWR1bmRhbnRNYXJrdXAoaW5zZXJ0ZWRO
b2Rlcyk7CisgICAgICAgIGFwcGx5Q29tbWFuZFRvQ29tcG9zaXRlKFNpbXBsaWZ5TWFya3VwQ29t
bWFuZDo6Y3JlYXRlKGRvY3VtZW50KCksIGluc2VydGVkTm9kZXMuZmlyc3ROb2RlSW5zZXJ0ZWQo
KSwgaW5zZXJ0ZWROb2Rlcy5wYXN0TGFzdExlYWYoKSkpOwogCiAgICAgLy8gU2V0dXAgbV9zdGFy
dE9mSW5zZXJ0ZWRDb250ZW50IGFuZCBtX2VuZE9mSW5zZXJ0ZWRDb250ZW50LiBUaGlzIHNob3Vs
ZCBiZSB0aGUgbGFzdCB0d28gbGluZXMgb2YgY29kZSB0aGF0IGFjY2VzcyBpbnNlcnRlZE5vZGVz
LgogICAgIG1fc3RhcnRPZkluc2VydGVkQ29udGVudCA9IGZpcnN0UG9zaXRpb25Jbk9yQmVmb3Jl
Tm9kZShpbnNlcnRlZE5vZGVzLmZpcnN0Tm9kZUluc2VydGVkKCkpOwpJbmRleDogU291cmNlL1dl
YkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuaAkocmV2aXNpb24g
MTEzMDk4KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFu
ZC5oCSh3b3JraW5nIGNvcHkpCkBAIC04OSw3ICs4OSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBy
ZW1vdmVVbnJlbmRlcmVkVGV4dE5vZGVzQXRFbmRzKEluc2VydGVkTm9kZXMmKTsKICAgICAKICAg
ICB2b2lkIHJlbW92ZVJlZHVuZGFudFN0eWxlc0FuZEtlZXBTdHlsZVNwYW5JbmxpbmUoSW5zZXJ0
ZWROb2RlcyYpOwotICAgIHZvaWQgcmVtb3ZlUmVkdW5kYW50TWFya3VwKEluc2VydGVkTm9kZXMm
KTsKICAgICB2b2lkIGhhbmRsZVN0eWxlU3BhbnMoSW5zZXJ0ZWROb2RlcyYpOwogICAgIHZvaWQg
aGFuZGxlUGFzdGVBc1F1b3RhdGlvbk5vZGUoKTsKICAgICAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvU2ltcGxpZnlNYXJrdXBDb21tYW5kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1NpbXBsaWZ5TWFya3VwQ29tbWFuZC5jcHAJKHJldmlzaW9uIDApCisr
KyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NpbXBsaWZ5TWFya3VwQ29tbWFuZC5jcHAJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYg
QXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTaW1wbGlmeU1hcmt1cENvbW1hbmQuaCIKKworI2lu
Y2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgorI2luY2x1ZGUgIlJlbmRlcklubGluZS5oIgorI2lu
Y2x1ZGUgIlJlbmRlck9iamVjdC5oIgorI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworU2ltcGxpZnlNYXJrdXBDb21tYW5kOjpTaW1wbGlmeU1hcmt1cENv
bW1hbmQoRG9jdW1lbnQqIGRvY3VtZW50LCBOb2RlKiBmaXJzdE5vZGUsIE5vZGUqIG5vZGVBZnRl
ckxhc3QpIAorICAgIDogQ29tcG9zaXRlRWRpdENvbW1hbmQoZG9jdW1lbnQpLCBtX2ZpcnN0Tm9k
ZShmaXJzdE5vZGUpLCBtX25vZGVBZnRlckxhc3Qobm9kZUFmdGVyTGFzdCkKK3sKK30KKyAgICAK
K3ZvaWQgU2ltcGxpZnlNYXJrdXBDb21tYW5kOjpkb0FwcGx5KCkKK3sKKyAgICBOb2RlKiByb290
Tm9kZSA9IG1fZmlyc3ROb2RlLT5wYXJlbnROb2RlKCk7CisgICAgVmVjdG9yPE5vZGUqPiBub2Rl
c1RvUmVtb3ZlOworICAgIAorICAgIC8vIFdhbGsgdGhyb3VnaCB0aGUgaW5zZXJ0ZWQgbm9kZXMs
IHRvIHNlZSBpZiB0aGVyZSBhcmUgZWxlbWVudHMgdGhhdCBjb3VsZCBiZSByZW1vdmVkCisgICAg
Ly8gd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiBUaGUgZ29hbCBpcyB0byBwcm9kdWNlIGxl
YW5lciBtYXJrdXAgZXZlbiB3aGVuIHN0YXJ0aW5nCisgICAgLy8gZnJvbSBhIHZlcmJvc2UgZnJh
Z21lbnQuCisgICAgLy8gV2UgbG9vayBhdCBpbmxpbmUgZWxlbWVudHMgYXMgd2VsbCBhcyBub24g
dG9wIGxldmVsIGRpdnMgdGhhdCBkb24ndCBoYXZlIGF0dHJpYnV0ZXMuIAorICAgIGZvciAoTm9k
ZSogbm9kZSA9IG1fZmlyc3ROb2RlLmdldCgpOyBub2RlICYmIG5vZGUgIT0gbV9ub2RlQWZ0ZXJM
YXN0OyBub2RlID0gbm9kZS0+dHJhdmVyc2VOZXh0Tm9kZSgpKSB7CisgICAgICAgIGlmIChub2Rl
LT5maXJzdENoaWxkKCkgfHwgKG5vZGUtPmlzVGV4dE5vZGUoKSAmJiBub2RlLT5uZXh0U2libGlu
ZygpKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAKKyAgICAgICAgTm9kZSogc3Rh
cnRpbmdOb2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpOworICAgICAgICBSZW5kZXJTdHlsZSogc3Rh
cnRpbmdTdHlsZSA9IHN0YXJ0aW5nTm9kZS0+cmVuZGVyU3R5bGUoKTsKKyAgICAgICAgaWYgKCFz
dGFydGluZ1N0eWxlKQorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIE5vZGUqIGN1cnJl
bnROb2RlID0gc3RhcnRpbmdOb2RlOworICAgICAgICBOb2RlKiB0b3BOb2RlV2l0aFN0YXJ0aW5n
U3R5bGUgPSAwOworICAgICAgICB3aGlsZSAoY3VycmVudE5vZGUgIT0gcm9vdE5vZGUpIHsKKyAg
ICAgICAgICAgIGlmIChjdXJyZW50Tm9kZS0+cGFyZW50Tm9kZSgpICE9IHJvb3ROb2RlICYmIGlz
UmVtb3ZhYmxlQmxvY2soY3VycmVudE5vZGUpKQorICAgICAgICAgICAgICAgIG5vZGVzVG9SZW1v
dmUuYXBwZW5kKGN1cnJlbnROb2RlKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgY3VycmVu
dE5vZGUgPSBjdXJyZW50Tm9kZS0+cGFyZW50Tm9kZSgpOworICAgICAgICAgICAgaWYgKCFjdXJy
ZW50Tm9kZS0+cmVuZGVyZXIoKSB8fCAhY3VycmVudE5vZGUtPnJlbmRlcmVyKCktPmlzUmVuZGVy
SW5saW5lKCkgfHwgdG9SZW5kZXJJbmxpbmUoY3VycmVudE5vZGUtPnJlbmRlcmVyKCkpLT5hbHdh
eXNDcmVhdGVMaW5lQm94ZXMoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAg
ICAgIAorICAgICAgICAgICAgaWYgKGN1cnJlbnROb2RlICYmIGN1cnJlbnROb2RlLT5maXJzdENo
aWxkKCkgIT0gY3VycmVudE5vZGUtPmxhc3RDaGlsZCgpKSB7CisgICAgICAgICAgICAgICAgdG9w
Tm9kZVdpdGhTdGFydGluZ1N0eWxlID0gMDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgdW5zaWduZWQgY29udGV4dDsKKyAg
ICAgICAgICAgIGlmIChjdXJyZW50Tm9kZS0+cmVuZGVyU3R5bGUoKS0+ZGlmZihzdGFydGluZ1N0
eWxlLCBjb250ZXh0KSA9PSBTdHlsZURpZmZlcmVuY2VFcXVhbCkKKyAgICAgICAgICAgICAgICB0
b3BOb2RlV2l0aFN0YXJ0aW5nU3R5bGUgPSBjdXJyZW50Tm9kZTsKKyAgICAgICAgICAgIAorICAg
ICAgICB9CisgICAgICAgIGlmICh0b3BOb2RlV2l0aFN0YXJ0aW5nU3R5bGUpIHsKKyAgICAgICAg
ICAgIGZvciAoTm9kZSogbm9kZSA9IHN0YXJ0aW5nTm9kZTsgbm9kZSAhPSB0b3BOb2RlV2l0aFN0
YXJ0aW5nU3R5bGU7IG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCkpCisgICAgICAgICAgICAgICAg
bm9kZXNUb1JlbW92ZS5hcHBlbmQobm9kZSk7CisgICAgICAgIH0KKyAgICB9CisgICAgLy8gd2Ug
cGVyZm9ybSBhbGwgdGhlIERPTSBtdXRhdGlvbnMgYXQgb25jZS4KKyAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IG5vZGVzVG9SZW1vdmUuc2l6ZSgpOyArK2kpCisgICAgICAgIHJlbW92ZU5vZGVQ
cmVzZXJ2aW5nQ2hpbGRyZW4obm9kZXNUb1JlbW92ZVtpXSk7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU2ltcGxpZnlNYXJrdXBDb21t
YW5kLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9TaW1wbGlmeU1hcmt1
cENvbW1hbmQuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU2ltcGxp
ZnlNYXJrdXBDb21tYW5kLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLwor
CisjaWZuZGVmIFNpbXBsaWZ5TWFya3VwQ29tbWFuZF9oCisjZGVmaW5lIFNpbXBsaWZ5TWFya3Vw
Q29tbWFuZF9oCisKKyNpbmNsdWRlICJDb21wb3NpdGVFZGl0Q29tbWFuZC5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIFNpbXBsaWZ5TWFya3VwQ29tbWFuZCA6IHB1YmxpYyBDb21w
b3NpdGVFZGl0Q29tbWFuZCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U2ltcGxp
ZnlNYXJrdXBDb21tYW5kPiBjcmVhdGUoRG9jdW1lbnQqIGRvY3VtZW50LCBOb2RlKiBmaXJzdE5v
ZGUsIE5vZGUqIG5vZGVBZnRlckxhc3QpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYo
bmV3IFNpbXBsaWZ5TWFya3VwQ29tbWFuZChkb2N1bWVudCwgZmlyc3ROb2RlLCBub2RlQWZ0ZXJM
YXN0KSk7CisgICAgfQorCitwcml2YXRlOgorICAgIFNpbXBsaWZ5TWFya3VwQ29tbWFuZChEb2N1
bWVudCosIE5vZGUqIGZpcnN0Tm9kZSwgTm9kZSogbm9kZUFmdGVyTGFzdCk7CisKKyAgICB2aXJ0
dWFsIHZvaWQgZG9BcHBseSgpOworICAgIAorICAgIFJlZlB0cjxOb2RlPiBtX2ZpcnN0Tm9kZTsK
KyAgICBSZWZQdHI8Tm9kZT4gbV9ub2RlQWZ0ZXJMYXN0OworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gU2ltcGxpZnlNYXJrdXBDb21tYW5kX2gK
</data>
<flag name="review"
          id="140350"
          type_id="1"
          status="+"
          setter="rniwa"
    />
    <flag name="commit-queue"
          id="140351"
          type_id="3"
          status="-"
          setter="pnormand"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135863</attachid>
            <date>2012-04-05 11:17:56 -0700</date>
            <delta_ts>2012-04-05 11:24:59 -0700</delta_ts>
            <desc>Patch to check builds</desc>
            <filename>simplifymarkup.txt</filename>
            <type>text/plain</type>
            <size>22020</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMzMzOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA0LTA1ICBFbnJpY2Eg
Q2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CisKKyAgICAgICAgUHJvdmlkZSBhIHNlcGFyYXRl
IGVkaXRpbmcgY29tbWFuZCB0byBjbGVhbnVwIG9mIHJlZHVuZGFudCBtYXJrdXAuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MzI0MAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggbW92ZXMg
dGhlIGxvZ2ljIG9yaWdpbmFsbHkgcGVyZm9ybWVkIGJ5IHRoZSBwcml2YXRlCisgICAgICAgIG1l
dGhvZCByZW1vdmVSZWR1bmRhbnRNYXJrdXAgaW5zaWRlIFJlcGxhY2VTZWxlY3Rpb25Db21tYW5k
IGludG8KKyAgICAgICAgYSBzZXBhcmF0ZSBjb21tYW5kLiBUaGlzIHdheSB0aGUgbWFya3VwIGNs
ZWFudXAgY2FuIGJlIGV4cG9zZWQgYXMKKyAgICAgICAgYSBzZXBhcmF0ZSBjb21tYW5kLCBpbmRl
cGVuZGVudCBmcm9tIFJlcGxhY2VTZWxlY3Rpb25Db21tYW5kLgorICAgICAgICAKKyAgICAgICAg
Tm8gbmV3IHRlc3RzLiBObyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIENN
YWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICog
VGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICBBZGRlZCBuZXcgZmlsZSB0byBwcm9qZWN0IGZpbGVzLgorICAg
ICAgICAqIGVkaXRpbmcvRWRpdG9yQWxsSW5PbmUuY3BwOiBBZGRlZCBTaW1wbGlmeU1hcmt1cENv
bW1hbmQuCisgICAgICAgICogZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6ZG9BcHBseSk6IE5vdyB1
c2VzIFNpbXBsaWZ5TWFya3VwQ29tbWFuZC4KKyAgICAgICAgKiBlZGl0aW5nL1JlcGxhY2VTZWxl
Y3Rpb25Db21tYW5kLmg6CisgICAgICAgIChSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZCk6IFJlbW92
ZWQgcmVtb3ZlUmVkdW5kYW50TWFya3VwLgorICAgICAgICAqIGVkaXRpbmcvU2ltcGxpZnlNYXJr
dXBDb21tYW5kLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGlmeU1hcmt1cENv
bW1hbmQ6OlNpbXBsaWZ5TWFya3VwQ29tbWFuZCk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGlm
eU1hcmt1cENvbW1hbmQ6OmRvQXBwbHkpOgorICAgICAgICAqIGVkaXRpbmcvU2ltcGxpZnlNYXJr
dXBDb21tYW5kLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxpZnlNYXJrdXBDb21t
YW5kOjpjcmVhdGUpOgorCiAyMDEyLTA0LTA1ICBNaW4gUWluICA8cWlubWluQGdvb2dsZS5jb20+
CiAKICAgICAgICAgRml4IGZ1bGxzY3JlZW4gdmlkZW8gYnV0dG9uIGZvciBhbmRyb2lkCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMTEzMzM4KQorKysgU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTY5MCw2ICs2OTAsNyBAQCBTRVQoV2Vi
Q29yZV9TT1VSQ0VTCiAgICAgZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKICAg
ICBlZGl0aW5nL1NldE5vZGVBdHRyaWJ1dGVDb21tYW5kLmNwcAogICAgIGVkaXRpbmcvU2V0U2Vs
ZWN0aW9uQ29tbWFuZC5jcHAKKyAgICBlZGl0aW5nL1NpbXBsaWZ5TWFya3VwQ29tbWFuZC5jcHAK
ICAgICBlZGl0aW5nL1NtYXJ0UmVwbGFjZS5jcHAKICAgICBlZGl0aW5nL1NwZWxsQ2hlY2tlci5j
cHAKICAgICBlZGl0aW5nL1NwZWxsaW5nQ29ycmVjdGlvbkNvbW1hbmQuY3BwCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHJldmlzaW9uIDExMzMzOCkKKysrIFNvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHdvcmtpbmcgY29weSkKQEAgLTIwODYsNiArMjA4Niw4
IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvZWRpdGluZy9TZXROb2Rl
QXR0cmlidXRlQ29tbWFuZC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NldFNlbGVjdGlv
bkNvbW1hbmQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NldFNlbGVjdGlvbkNvbW1h
bmQuaCBcCisJU291cmNlL1dlYkNvcmUvZWRpdGluZy9TaW1wbGlmeU1hcmt1cENvbW1hbmQuY3Bw
IFwKKwlTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NpbXBsaWZ5TWFya3VwQ29tbWFuZC5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NtYXJ0UmVwbGFjZS5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvU21hcnRSZXBsYWNlLmggXAogCVNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU21hcnRS
ZXBsYWNlSUNVLmNwcCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHJldmlzaW9uIDExMzMzOCkKKysrIFNv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHdvcmtpbmcgY29weSkKQEAgLTY2Niw2ICs2NjYsNyBA
QCBTT1VSQ0VTICs9IFwKICAgICBlZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcCBc
CiAgICAgZWRpdGluZy9TZXROb2RlQXR0cmlidXRlQ29tbWFuZC5jcHAgXAogICAgIGVkaXRpbmcv
U2V0U2VsZWN0aW9uQ29tbWFuZC5jcHAgXAorICAgIGVkaXRpbmcvU2ltcGxpZnlNYXJrdXBDb21t
YW5kLmNwcCBcCiAgICAgZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwIFwKICAgICBlZGl0aW5nL1Nw
ZWxsaW5nQ29ycmVjdGlvbkNvbW1hbmQuY3BwIFwKICAgICBlZGl0aW5nL1NwbGl0RWxlbWVudENv
bW1hbmQuY3BwIFwKQEAgLTE3OTcsNiArMTc5OCw3IEBAIEhFQURFUlMgKz0gXAogICAgIGVkaXRp
bmcvUmVwbGFjZU5vZGVXaXRoU3BhbkNvbW1hbmQuaCBcCiAgICAgZWRpdGluZy9SZXBsYWNlU2Vs
ZWN0aW9uQ29tbWFuZC5oIFwKICAgICBlZGl0aW5nL1NldE5vZGVBdHRyaWJ1dGVDb21tYW5kLmgg
XAorICAgIGVkaXRpbmcvU2ltcGxpZnlNYXJrdXBDb21tYW5kLmggXAogICAgIGVkaXRpbmcvU21h
cnRSZXBsYWNlLmggXAogICAgIGVkaXRpbmcvU3BlbGxpbmdDb3JyZWN0aW9uQ29tbWFuZC5oIFwK
ICAgICBlZGl0aW5nL1NwbGl0RWxlbWVudENvbW1hbmQuaCBcCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CShyZXZpc2lvbiAxMTMzMzgpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtp
bmcgY29weSkKQEAgLTExMSw2ICsxMTEsNyBAQAogICAgICAgICAgICAgJ2VkaXRpbmcvSFRNTElu
dGVyY2hhbmdlLmgnLAogICAgICAgICAgICAgJ2VkaXRpbmcvTW92ZVNlbGVjdGlvbkNvbW1hbmQu
aCcsCiAgICAgICAgICAgICAnZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5oJywKKyAg
ICAgICAgICAgICdlZGl0aW5nL1NpbXBsaWZ5TWFya3VwQ29tbWFuZC5oJywKICAgICAgICAgICAg
ICdlZGl0aW5nL1NtYXJ0UmVwbGFjZS5oJywKICAgICAgICAgICAgICdlZGl0aW5nL1NwZWxsQ2hl
Y2tlci5oJywKICAgICAgICAgICAgICdlZGl0aW5nL1N1cnJvdW5kaW5nVGV4dC5jcHAnLApAQCAt
MjU3Niw2ICsyNTc3LDcgQEAKICAgICAgICAgICAgICdlZGl0aW5nL1NldE5vZGVBdHRyaWJ1dGVD
b21tYW5kLmgnLAogICAgICAgICAgICAgJ2VkaXRpbmcvU2V0U2VsZWN0aW9uQ29tbWFuZC5jcHAn
LAogICAgICAgICAgICAgJ2VkaXRpbmcvU2V0U2VsZWN0aW9uQ29tbWFuZC5oJywKKyAgICAgICAg
ICAgICdlZGl0aW5nL1NpbXBsaWZ5TWFya3VwQ29tbWFuZC5jcHAnLAogICAgICAgICAgICAgJ2Vk
aXRpbmcvU21hcnRSZXBsYWNlLmNwcCcsCiAgICAgICAgICAgICAnZWRpdGluZy9TbWFydFJlcGxh
Y2VDRi5jcHAnLAogICAgICAgICAgICAgJ2VkaXRpbmcvU21hcnRSZXBsYWNlSUNVLmNwcCcsCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvago9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2
aXNpb24gMTEzMzM4KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTU2MjM4LDYgKzU2MjM4LDYyIEBACiAJCQkJPgogCQkJ
PC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGVkaXRpbmdcU2ltcGxpZnlN
YXJrdXBDb21tYW5kLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0iZmFsc2UiCisJCQkJCT4K
KwkJCQkJPFRvb2wKKyAgICAgICAgICAgICAgICAgICAgTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0iZmFs
c2UiCisJCQkJCT4KKwkJCQkJPFRvb2wKKyAgICAgICAgICAgICAgICAgICAgTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisgICAgICAgICAg
ICAgICAgICAgIE5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9D
YWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisgICAgICAgICAgICAgICAgICAgIE5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
ZmFsc2UiCisJCQkJCT4KKwkJCQkJPFRvb2wKKyAgICAgICAgICAgICAgICAgICAgTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0iZmFsc2UiCisJCQkJCT4KKwkJCQkJPFRvb2wKKyAgICAgICAgICAgICAg
ICAgICAgTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGVkaXRp
bmdcU2ltcGxpZnlNYXJrdXBDb21tYW5kLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUK
IAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGVkaXRpbmdcU21hcnRSZXBsYWNlLmNwcCIKIAkJCQk+CiAJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxMTMzMzgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkK
QEAgLTU2ODEsNiArNTY4MSw4IEBACiAJCUM1OTg5MDJFMTRFOUIwRjgwMEU4RDE4QiAvKiBQbGF0
Zm9ybVBhc3RlYm9hcmRNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDNUY3NjVCQTE0RTFFQ0Y0MDA2Qzg5OUIgLyogUGxhdGZvcm1QYXN0ZWJvYXJk
TWFjLm1tICovOyB9OwogCQlDNTk4OTA1NzE0RTlDMjgwMDBFOEQxOEIgLyogUGFzdGVib2FyZFN0
cmF0ZWd5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
NUY3NjVCNDE0RTFENDE0MDA2Qzg5OUIgLyogUGFzdGVib2FyZFN0cmF0ZWd5LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzU5ODkwNTgxNEU5QzI5
OTAwRThEMThCIC8qIFBsYXRmb3JtUGFzdGVib2FyZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzVCQUMxNkYxNEUzMEU0NzAwMDA4ODM3IC8qIFBsYXRm
b3JtUGFzdGVib2FyZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCUM1QTFFQTdDMTUyQkNGMDQwMDREMDBCNiAvKiBTaW1wbGlmeU1hcmt1cENvbW1h
bmQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzVB
MUVBNzkxNTJCQzQ4NjAwNEQwMEI2IC8qIFNpbXBsaWZ5TWFya3VwQ29tbWFuZC5jcHAgKi87IH07
CisJCUM1QTFFQTdEMTUyQkNGMDgwMDREMDBCNiAvKiBTaW1wbGlmeU1hcmt1cENvbW1hbmQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1QTFFQTdBMTUy
QkM0ODYwMDREMDBCNiAvKiBTaW1wbGlmeU1hcmt1cENvbW1hbmQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDNUI0QzI0RDE1MDkyMzZDMDBBNkVG
MzcgLyogV2ViQ29yZU5TVVJMRXh0cmFzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDNUI0QzI0QjE1MDkyMzZDMDBBNkVGMzcgLyogV2ViQ29yZU5TVVJM
RXh0cmFzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQzVCNEMyNEUxNTA5MjM2QzAwQTZFRjM3IC8qIFdlYkNvcmVOU1VSTEV4dHJhcy5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1QjRDMjRDMTUwOTIz
NkMwMEE2RUYzNyAvKiBXZWJDb3JlTlNVUkxFeHRyYXMubW0gKi87IH07CiAJCUM1RDRBQTdBMTE2
QkFGQjYwMDY5Q0E5MyAvKiBHbHlwaE1ldHJpY3NNYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1RDRBQTc4MTE2QkFGQjYwMDY5Q0E5MyAvKiBHbHlw
aE1ldHJpY3NNYXAuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwpAQCAtMTI3NjYsNiArMTI3NjgsOCBAQAogCQlDNTg1QTY3OTExRDRGQjA3MDA0QzNFNEIg
LyogSlNJREJSZXF1ZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSURC
UmVxdWVzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNTg1QTY5NDExRDRGQjEz
MDA0QzNFNEIgLyogSlNJREJGYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTSURCRmFjdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUM1ODVBNjk1MTFENEZCMTMwMDRDM0U0QiAvKiBKU0lEQkZhY3RvcnkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNJREJGYWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUM1QTFFQTc5MTUyQkM0ODYwMDREMDBCNiAvKiBTaW1wbGlmeU1hcmt1cENvbW1h
bmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2ltcGxpZnlNYXJr
dXBDb21tYW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzVBMUVBN0ExNTJC
QzQ4NjAwNEQwMEI2IC8qIFNpbXBsaWZ5TWFya3VwQ29tbWFuZC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTaW1wbGlmeU1hcmt1cENvbW1hbmQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQzVCNEMyNEIxNTA5MjM2QzAwQTZFRjM3IC8qIFdlYkNvcmVOU1VSTEV4
dHJhcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb3JlTlNVUkxFeHRy
YXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzVCNEMyNEMxNTA5MjM2QzAwQTZF
RjM3IC8qIFdlYkNvcmVOU1VSTEV4dHJhcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFdlYkNvcmVOU1VSTEV4dHJhcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQzVCQUMxNkYxNEUzMEU0NzAwMDA4ODM3IC8qIFBsYXRmb3JtUGFzdGVib2FyZC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbGF0Zm9ybVBhc3RlYm9hcmQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2NjkyLDYgKzE2Njk2LDggQEAKIAkJCQk5
MzMwOURDMDA5OUU2NDkxMDA1NkU1ODEgLyogU2V0Tm9kZUF0dHJpYnV0ZUNvbW1hbmQuY3BwICov
LAogCQkJCTkzMzA5REMxMDk5RTY0OTEwMDU2RTU4MSAvKiBTZXROb2RlQXR0cmlidXRlQ29tbWFu
ZC5oICovLAogCQkJCUI4REJEQjQ3MTMwQjBGOEEwMEY1Q0RCMSAvKiBTZXRTZWxlY3Rpb25Db21t
YW5kLmNwcCAqLywKKwkJCQlDNUExRUE3OTE1MkJDNDg2MDA0RDAwQjYgLyogU2ltcGxpZnlNYXJr
dXBDb21tYW5kLmNwcCAqLywKKwkJCQlDNUExRUE3QTE1MkJDNDg2MDA0RDAwQjYgLyogU2ltcGxp
ZnlNYXJrdXBDb21tYW5kLmggKi8sCiAJCQkJQjhEQkRCNDgxMzBCMEY4QTAwRjVDREIxIC8qIFNl
dFNlbGVjdGlvbkNvbW1hbmQuaCAqLywKIAkJCQk0QjZGQTZGMzBDMzlFNDhDMDAwODcwMTEgLyog
U21hcnRSZXBsYWNlLmNwcCAqLywKIAkJCQk0QjZGQTZGMjBDMzlFNDhDMDAwODcwMTEgLyogU21h
cnRSZXBsYWNlLmggKi8sCkBAIC0yNDcxNSw2ICsyNDcyMSw3IEBACiAJCQkJQ0UwOEMzRDIxNTJC
NTk5QTAwMjFCOEMyIC8qIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCUEwN0QzMzU2MTUyQjYzMEUwMDFCNjM5MyAvKiBKU1dlYkdMU2hhZGVyUHJlY2lzaW9u
Rm9ybWF0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMDdEMzM1ODE1MkI2MzJEMDAxQjYzOTMgLyog
V2ViR0xTaGFkZXJQcmVjaXNpb25Gb3JtYXQuaCBpbiBIZWFkZXJzICovLAorCQkJCUM1QTFFQTdE
MTUyQkNGMDgwMDREMDBCNiAvKiBTaW1wbGlmeU1hcmt1cENvbW1hbmQuaCBpbiBIZWFkZXJzICov
LAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9
OwpAQCAtMjc3MTMsNiArMjc3MjAsNyBAQAogCQkJCUNFMDhDM0QxMTUyQjU5OUEwMDIxQjhDMiAv
KiBBbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEwN0Qz
MzU1MTUyQjYzMEUwMDFCNjM5MyAvKiBKU1dlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUEwOENGMTU0MTUyQjc3QjMwMDlDNTc3NSAvKiBXZWJHTFNoYWRl
clByZWNpc2lvbkZvcm1hdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDNUExRUE3QzE1MkJDRjA0
MDA0RDAwQjYgLyogU2ltcGxpZnlNYXJrdXBDb21tYW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRl
eDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQWxsSW5PbmUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ0FsbEluT25lLmNwcAkocmV2aXNpb24g
MTEzMzM4KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQWxsSW5PbmUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02Myw2ICs2Myw3IEBACiAjaW5jbHVkZSA8UmVwbGFjZVNlbGVjdGlv
bkNvbW1hbmQuY3BwPgogI2luY2x1ZGUgPFNldE5vZGVBdHRyaWJ1dGVDb21tYW5kLmNwcD4KICNp
bmNsdWRlIDxTZXRTZWxlY3Rpb25Db21tYW5kLmNwcD4KKyNpbmNsdWRlIDxTaW1wbGlmeU1hcmt1
cENvbW1hbmQuY3BwPgogI2luY2x1ZGUgPFNtYXJ0UmVwbGFjZS5jcHA+CiAjaW5jbHVkZSA8U21h
cnRSZXBsYWNlQ0YuY3BwPgogI2luY2x1ZGUgPFNwZWxsaW5nQ29ycmVjdGlvbkNvbW1hbmQuY3Bw
PgpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9u
Q29tbWFuZC5jcHAJKHJldmlzaW9uIDExMzMzOCkKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
UmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw2ICs0OSw3
IEBACiAjaW5jbHVkZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0Lmgi
CiAjaW5jbHVkZSAiUmVuZGVyVGV4dC5oIgorI2luY2x1ZGUgIlNpbXBsaWZ5TWFya3VwQ29tbWFu
ZC5oIgogI2luY2x1ZGUgIlNtYXJ0UmVwbGFjZS5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlT
ZXQuaCIKICNpbmNsdWRlICJUZXh0SXRlcmF0b3IuaCIKQEAgLTU1MCw1NCArNTUxLDYgQEAgdm9p
ZCBSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6cmVtb3ZlUmVkdQogICAgIH0KIH0KIAotdm9pZCBS
ZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6cmVtb3ZlUmVkdW5kYW50TWFya3VwKEluc2VydGVkTm9k
ZXMmIGluc2VydGVkTm9kZXMpCi17Ci0gICAgTm9kZSogcGFzdEVuZE5vZGUgPSBpbnNlcnRlZE5v
ZGVzLnBhc3RMYXN0TGVhZigpOwotICAgIE5vZGUqIHJvb3ROb2RlID0gaW5zZXJ0ZWROb2Rlcy5m
aXJzdE5vZGVJbnNlcnRlZCgpLT5wYXJlbnROb2RlKCk7Ci0gICAgVmVjdG9yPE5vZGUqPiBub2Rl
c1RvUmVtb3ZlOwotICAgIAotICAgIC8vIFdhbGsgdGhyb3VnaCB0aGUgaW5zZXJ0ZWQgbm9kZXMs
IHRvIHNlZSBpZiB0aGVyZSBhcmUgZWxlbWVudHMgdGhhdCBjb3VsZCBiZSByZW1vdmVkCi0gICAg
Ly8gd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiBUaGUgZ29hbCBpcyB0byBwcm9kdWNlIGxl
YW5lciBtYXJrdXAgZXZlbiB3aGVuIHN0YXJ0aW5nCi0gICAgLy8gZnJvbSBhIHZlcmJvc2UgZnJh
Z21lbnQuCi0gICAgLy8gV2UgbG9vayBhdCBpbmxpbmUgZWxlbWVudHMgYXMgd2VsbCBhcyBub24g
dG9wIGxldmVsIGRpdnMgdGhhdCBkb24ndCBoYXZlIGF0dHJpYnV0ZXMuIAotICAgIGZvciAoTm9k
ZSogbm9kZSA9IGluc2VydGVkTm9kZXMuZmlyc3ROb2RlSW5zZXJ0ZWQoKTsgbm9kZSAmJiBub2Rl
ICE9IHBhc3RFbmROb2RlOyBub2RlID0gbm9kZS0+dHJhdmVyc2VOZXh0Tm9kZSgpKSB7Ci0gICAg
ICAgIGlmIChub2RlLT5maXJzdENoaWxkKCkgfHwgKG5vZGUtPmlzVGV4dE5vZGUoKSAmJiBub2Rl
LT5uZXh0U2libGluZygpKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAKLSAgICAg
ICAgTm9kZSogc3RhcnRpbmdOb2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpOwotICAgICAgICBSZW5k
ZXJTdHlsZSogc3RhcnRpbmdTdHlsZSA9IHN0YXJ0aW5nTm9kZS0+cmVuZGVyU3R5bGUoKTsKLSAg
ICAgICAgaWYgKCFzdGFydGluZ1N0eWxlKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAg
IE5vZGUqIGN1cnJlbnROb2RlID0gc3RhcnRpbmdOb2RlOwotICAgICAgICBOb2RlKiB0b3BOb2Rl
V2l0aFN0YXJ0aW5nU3R5bGUgPSAwOwotICAgICAgICB3aGlsZSAoY3VycmVudE5vZGUgIT0gcm9v
dE5vZGUpIHsKLSAgICAgICAgICAgIGlmIChjdXJyZW50Tm9kZS0+cGFyZW50Tm9kZSgpICE9IHJv
b3ROb2RlICYmIGlzUmVtb3ZhYmxlQmxvY2soY3VycmVudE5vZGUpKQotICAgICAgICAgICAgICAg
IG5vZGVzVG9SZW1vdmUuYXBwZW5kKGN1cnJlbnROb2RlKTsKLQotICAgICAgICAgICAgY3VycmVu
dE5vZGUgPSBjdXJyZW50Tm9kZS0+cGFyZW50Tm9kZSgpOwotICAgICAgICAgICAgaWYgKCFjdXJy
ZW50Tm9kZS0+cmVuZGVyZXIoKSB8fCAhY3VycmVudE5vZGUtPnJlbmRlcmVyKCktPmlzUmVuZGVy
SW5saW5lKCkgfHwgdG9SZW5kZXJJbmxpbmUoY3VycmVudE5vZGUtPnJlbmRlcmVyKCkpLT5hbHdh
eXNDcmVhdGVMaW5lQm94ZXMoKSkKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAg
ICAgICAgaWYgKGN1cnJlbnROb2RlICYmIGN1cnJlbnROb2RlLT5maXJzdENoaWxkKCkgIT0gY3Vy
cmVudE5vZGUtPmxhc3RDaGlsZCgpKSB7Ci0gICAgICAgICAgICAgICAgdG9wTm9kZVdpdGhTdGFy
dGluZ1N0eWxlID0gMDsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIAotICAgICAgICAgICAgdW5zaWduZWQgY29udGV4dDsKLSAgICAgICAgICAgIGlm
IChjdXJyZW50Tm9kZS0+cmVuZGVyU3R5bGUoKS0+ZGlmZihzdGFydGluZ1N0eWxlLCBjb250ZXh0
KSA9PSBTdHlsZURpZmZlcmVuY2VFcXVhbCkKLSAgICAgICAgICAgICAgICB0b3BOb2RlV2l0aFN0
YXJ0aW5nU3R5bGUgPSBjdXJyZW50Tm9kZTsKLSAgICAgICAgICAgIAotICAgICAgICB9Ci0gICAg
ICAgIGlmICh0b3BOb2RlV2l0aFN0YXJ0aW5nU3R5bGUpIHsKLSAgICAgICAgICAgIGZvciAoTm9k
ZSogbm9kZSA9IHN0YXJ0aW5nTm9kZTsgbm9kZSAhPSB0b3BOb2RlV2l0aFN0YXJ0aW5nU3R5bGU7
IG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCkpCi0gICAgICAgICAgICAgICAgbm9kZXNUb1JlbW92
ZS5hcHBlbmQobm9kZSk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgLy8gd2UgcGVyZm9ybSBhbGwg
dGhlIERPTSBtdXRhdGlvbnMgYXQgb25jZS4KLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG5v
ZGVzVG9SZW1vdmUuc2l6ZSgpOyArK2kpCi0gICAgICAgIHJlbW92ZU5vZGVQcmVzZXJ2aW5nQ2hp
bGRyZW4obm9kZXNUb1JlbW92ZVtpXSk7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgYm9vbCBub2RlSGFz
VmlzaWJsZVJlbmRlclRleHQoVGV4dCogdGV4dCkKIHsKICAgICByZXR1cm4gdGV4dC0+cmVuZGVy
ZXIoKSAmJiB0b1JlbmRlclRleHQodGV4dC0+cmVuZGVyZXIoKSktPnJlbmRlcmVkVGV4dExlbmd0
aCgpID4gMDsKQEAgLTEwNjcsNyArMTAyMCw3IEBAIHZvaWQgUmVwbGFjZVNlbGVjdGlvbkNvbW1h
bmQ6OmRvQXBwbHkoKQogICAgIHJlbW92ZVJlZHVuZGFudFN0eWxlc0FuZEtlZXBTdHlsZVNwYW5J
bmxpbmUoaW5zZXJ0ZWROb2Rlcyk7CiAKICAgICBpZiAobV9zYW5pdGl6ZUZyYWdtZW50KQotICAg
ICAgICByZW1vdmVSZWR1bmRhbnRNYXJrdXAoaW5zZXJ0ZWROb2Rlcyk7CisgICAgICAgIGFwcGx5
Q29tbWFuZFRvQ29tcG9zaXRlKFNpbXBsaWZ5TWFya3VwQ29tbWFuZDo6Y3JlYXRlKGRvY3VtZW50
KCksIGluc2VydGVkTm9kZXMuZmlyc3ROb2RlSW5zZXJ0ZWQoKSwgaW5zZXJ0ZWROb2Rlcy5wYXN0
TGFzdExlYWYoKSkpOwogCiAgICAgLy8gU2V0dXAgbV9zdGFydE9mSW5zZXJ0ZWRDb250ZW50IGFu
ZCBtX2VuZE9mSW5zZXJ0ZWRDb250ZW50LiBUaGlzIHNob3VsZCBiZSB0aGUgbGFzdCB0d28gbGlu
ZXMgb2YgY29kZSB0aGF0IGFjY2VzcyBpbnNlcnRlZE5vZGVzLgogICAgIG1fc3RhcnRPZkluc2Vy
dGVkQ29udGVudCA9IGZpcnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShpbnNlcnRlZE5vZGVzLmZp
cnN0Tm9kZUluc2VydGVkKCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNl
U2VsZWN0aW9uQ29tbWFuZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
UmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuaAkocmV2aXNpb24gMTEzMzM4KQorKysgU291cmNlL1dl
YkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5oCSh3b3JraW5nIGNvcHkpCkBA
IC04OSw3ICs4OSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZW1vdmVVbnJlbmRlcmVkVGV4dE5v
ZGVzQXRFbmRzKEluc2VydGVkTm9kZXMmKTsKICAgICAKICAgICB2b2lkIHJlbW92ZVJlZHVuZGFu
dFN0eWxlc0FuZEtlZXBTdHlsZVNwYW5JbmxpbmUoSW5zZXJ0ZWROb2RlcyYpOwotICAgIHZvaWQg
cmVtb3ZlUmVkdW5kYW50TWFya3VwKEluc2VydGVkTm9kZXMmKTsKICAgICB2b2lkIGhhbmRsZVN0
eWxlU3BhbnMoSW5zZXJ0ZWROb2RlcyYpOwogICAgIHZvaWQgaGFuZGxlUGFzdGVBc1F1b3RhdGlv
bk5vZGUoKTsKICAgICAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU2ltcGxpZnlNYXJr
dXBDb21tYW5kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NpbXBs
aWZ5TWFya3VwQ29tbWFuZC5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1NpbXBsaWZ5TWFya3VwQ29tbWFuZC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsODgg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJT
aW1wbGlmeU1hcmt1cENvbW1hbmQuaCIKKworI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgor
I2luY2x1ZGUgIlJlbmRlcklubGluZS5oIgorI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgorI2lu
Y2x1ZGUgIlJlbmRlclN0eWxlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworU2ltcGxpZnlN
YXJrdXBDb21tYW5kOjpTaW1wbGlmeU1hcmt1cENvbW1hbmQoRG9jdW1lbnQqIGRvY3VtZW50LCBO
b2RlKiBmaXJzdE5vZGUsIE5vZGUqIG5vZGVBZnRlckxhc3QpIAorICAgIDogQ29tcG9zaXRlRWRp
dENvbW1hbmQoZG9jdW1lbnQpLCBtX2ZpcnN0Tm9kZShmaXJzdE5vZGUpLCBtX25vZGVBZnRlckxh
c3Qobm9kZUFmdGVyTGFzdCkKK3sKK30KKyAgICAKK3ZvaWQgU2ltcGxpZnlNYXJrdXBDb21tYW5k
Ojpkb0FwcGx5KCkKK3sKKyAgICBOb2RlKiByb290Tm9kZSA9IG1fZmlyc3ROb2RlLT5wYXJlbnRO
b2RlKCk7CisgICAgVmVjdG9yPE5vZGUqPiBub2Rlc1RvUmVtb3ZlOworICAgIAorICAgIC8vIFdh
bGsgdGhyb3VnaCB0aGUgaW5zZXJ0ZWQgbm9kZXMsIHRvIHNlZSBpZiB0aGVyZSBhcmUgZWxlbWVu
dHMgdGhhdCBjb3VsZCBiZSByZW1vdmVkCisgICAgLy8gd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0
eWxlLiBUaGUgZ29hbCBpcyB0byBwcm9kdWNlIGxlYW5lciBtYXJrdXAgZXZlbiB3aGVuIHN0YXJ0
aW5nCisgICAgLy8gZnJvbSBhIHZlcmJvc2UgZnJhZ21lbnQuCisgICAgLy8gV2UgbG9vayBhdCBp
bmxpbmUgZWxlbWVudHMgYXMgd2VsbCBhcyBub24gdG9wIGxldmVsIGRpdnMgdGhhdCBkb24ndCBo
YXZlIGF0dHJpYnV0ZXMuIAorICAgIGZvciAoTm9kZSogbm9kZSA9IG1fZmlyc3ROb2RlLmdldCgp
OyBub2RlICYmIG5vZGUgIT0gbV9ub2RlQWZ0ZXJMYXN0OyBub2RlID0gbm9kZS0+dHJhdmVyc2VO
ZXh0Tm9kZSgpKSB7CisgICAgICAgIGlmIChub2RlLT5maXJzdENoaWxkKCkgfHwgKG5vZGUtPmlz
VGV4dE5vZGUoKSAmJiBub2RlLT5uZXh0U2libGluZygpKSkKKyAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICAKKyAgICAgICAgTm9kZSogc3RhcnRpbmdOb2RlID0gbm9kZS0+cGFyZW50Tm9k
ZSgpOworICAgICAgICBSZW5kZXJTdHlsZSogc3RhcnRpbmdTdHlsZSA9IHN0YXJ0aW5nTm9kZS0+
cmVuZGVyU3R5bGUoKTsKKyAgICAgICAgaWYgKCFzdGFydGluZ1N0eWxlKQorICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgIE5vZGUqIGN1cnJlbnROb2RlID0gc3RhcnRpbmdOb2RlOworICAg
ICAgICBOb2RlKiB0b3BOb2RlV2l0aFN0YXJ0aW5nU3R5bGUgPSAwOworICAgICAgICB3aGlsZSAo
Y3VycmVudE5vZGUgIT0gcm9vdE5vZGUpIHsKKyAgICAgICAgICAgIGlmIChjdXJyZW50Tm9kZS0+
cGFyZW50Tm9kZSgpICE9IHJvb3ROb2RlICYmIGlzUmVtb3ZhYmxlQmxvY2soY3VycmVudE5vZGUp
KQorICAgICAgICAgICAgICAgIG5vZGVzVG9SZW1vdmUuYXBwZW5kKGN1cnJlbnROb2RlKTsKKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgY3VycmVudE5vZGUgPSBjdXJyZW50Tm9kZS0+cGFyZW50
Tm9kZSgpOworICAgICAgICAgICAgaWYgKCFjdXJyZW50Tm9kZS0+cmVuZGVyZXIoKSB8fCAhY3Vy
cmVudE5vZGUtPnJlbmRlcmVyKCktPmlzUmVuZGVySW5saW5lKCkgfHwgdG9SZW5kZXJJbmxpbmUo
Y3VycmVudE5vZGUtPnJlbmRlcmVyKCkpLT5hbHdheXNDcmVhdGVMaW5lQm94ZXMoKSkKKyAgICAg
ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKGN1cnJl
bnROb2RlICYmIGN1cnJlbnROb2RlLT5maXJzdENoaWxkKCkgIT0gY3VycmVudE5vZGUtPmxhc3RD
aGlsZCgpKSB7CisgICAgICAgICAgICAgICAgdG9wTm9kZVdpdGhTdGFydGluZ1N0eWxlID0gMDsK
KyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAg
ICAgICAgICAgdW5zaWduZWQgY29udGV4dDsKKyAgICAgICAgICAgIGlmIChjdXJyZW50Tm9kZS0+
cmVuZGVyU3R5bGUoKS0+ZGlmZihzdGFydGluZ1N0eWxlLCBjb250ZXh0KSA9PSBTdHlsZURpZmZl
cmVuY2VFcXVhbCkKKyAgICAgICAgICAgICAgICB0b3BOb2RlV2l0aFN0YXJ0aW5nU3R5bGUgPSBj
dXJyZW50Tm9kZTsKKyAgICAgICAgICAgIAorICAgICAgICB9CisgICAgICAgIGlmICh0b3BOb2Rl
V2l0aFN0YXJ0aW5nU3R5bGUpIHsKKyAgICAgICAgICAgIGZvciAoTm9kZSogbm9kZSA9IHN0YXJ0
aW5nTm9kZTsgbm9kZSAhPSB0b3BOb2RlV2l0aFN0YXJ0aW5nU3R5bGU7IG5vZGUgPSBub2RlLT5w
YXJlbnROb2RlKCkpCisgICAgICAgICAgICAgICAgbm9kZXNUb1JlbW92ZS5hcHBlbmQobm9kZSk7
CisgICAgICAgIH0KKyAgICB9CisgICAgLy8gd2UgcGVyZm9ybSBhbGwgdGhlIERPTSBtdXRhdGlv
bnMgYXQgb25jZS4KKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG5vZGVzVG9SZW1vdmUuc2l6
ZSgpOyArK2kpCisgICAgICAgIHJlbW92ZU5vZGVQcmVzZXJ2aW5nQ2hpbGRyZW4obm9kZXNUb1Jl
bW92ZVtpXSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvU2ltcGxpZnlNYXJrdXBDb21tYW5kLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZWRpdGluZy9TaW1wbGlmeU1hcmt1cENvbW1hbmQuaAkocmV2aXNpb24gMCkKKysr
IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU2ltcGxpZnlNYXJrdXBDb21tYW5kLmgJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIFNpbXBsaWZ5TWFya3VwQ29t
bWFuZF9oCisjZGVmaW5lIFNpbXBsaWZ5TWFya3VwQ29tbWFuZF9oCisKKyNpbmNsdWRlICJDb21w
b3NpdGVFZGl0Q29tbWFuZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNpbXBs
aWZ5TWFya3VwQ29tbWFuZCA6IHB1YmxpYyBDb21wb3NpdGVFZGl0Q29tbWFuZCB7CitwdWJsaWM6
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U2ltcGxpZnlNYXJrdXBDb21tYW5kPiBjcmVhdGUoRG9j
dW1lbnQqIGRvY3VtZW50LCBOb2RlKiBmaXJzdE5vZGUsIE5vZGUqIG5vZGVBZnRlckxhc3QpCisg
ICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNpbXBsaWZ5TWFya3VwQ29tbWFuZChk
b2N1bWVudCwgZmlyc3ROb2RlLCBub2RlQWZ0ZXJMYXN0KSk7CisgICAgfQorCitwcml2YXRlOgor
ICAgIFNpbXBsaWZ5TWFya3VwQ29tbWFuZChEb2N1bWVudCosIE5vZGUqIGZpcnN0Tm9kZSwgTm9k
ZSogbm9kZUFmdGVyTGFzdCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgZG9BcHBseSgpOworICAgIAor
ICAgIFJlZlB0cjxOb2RlPiBtX2ZpcnN0Tm9kZTsKKyAgICBSZWZQdHI8Tm9kZT4gbV9ub2RlQWZ0
ZXJMYXN0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gU2ltcGxp
ZnlNYXJrdXBDb21tYW5kX2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135865</attachid>
            <date>2012-04-05 11:24:59 -0700</date>
            <delta_ts>2012-04-05 13:12:11 -0700</delta_ts>
            <desc>One more</desc>
            <filename>simplifymarkup.txt</filename>
            <type>text/plain</type>
            <size>22020</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMzMzOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA0LTA1ICBFbnJpY2Eg
Q2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CisKKyAgICAgICAgUHJvdmlkZSBhIHNlcGFyYXRl
IGVkaXRpbmcgY29tbWFuZCB0byBjbGVhbnVwIG9mIHJlZHVuZGFudCBtYXJrdXAuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MzI0MAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggbW92ZXMg
dGhlIGxvZ2ljIG9yaWdpbmFsbHkgcGVyZm9ybWVkIGJ5IHRoZSBwcml2YXRlCisgICAgICAgIG1l
dGhvZCByZW1vdmVSZWR1bmRhbnRNYXJrdXAgaW5zaWRlIFJlcGxhY2VTZWxlY3Rpb25Db21tYW5k
IGludG8KKyAgICAgICAgYSBzZXBhcmF0ZSBjb21tYW5kLiBUaGlzIHdheSB0aGUgbWFya3VwIGNs
ZWFudXAgY2FuIGJlIGV4cG9zZWQgYXMKKyAgICAgICAgYSBzZXBhcmF0ZSBjb21tYW5kLCBpbmRl
cGVuZGVudCBmcm9tIFJlcGxhY2VTZWxlY3Rpb25Db21tYW5kLgorICAgICAgICAKKyAgICAgICAg
Tm8gbmV3IHRlc3RzLiBObyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIENN
YWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICog
VGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICBBZGRlZCBuZXcgZmlsZSB0byBwcm9qZWN0IGZpbGVzLgorICAg
ICAgICAqIGVkaXRpbmcvRWRpdG9yQWxsSW5PbmUuY3BwOiBBZGRlZCBTaW1wbGlmeU1hcmt1cENv
bW1hbmQuCisgICAgICAgICogZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6ZG9BcHBseSk6IE5vdyB1
c2VzIFNpbXBsaWZ5TWFya3VwQ29tbWFuZC4KKyAgICAgICAgKiBlZGl0aW5nL1JlcGxhY2VTZWxl
Y3Rpb25Db21tYW5kLmg6CisgICAgICAgIChSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZCk6IFJlbW92
ZWQgcmVtb3ZlUmVkdW5kYW50TWFya3VwLgorICAgICAgICAqIGVkaXRpbmcvU2ltcGxpZnlNYXJr
dXBDb21tYW5kLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGlmeU1hcmt1cENv
bW1hbmQ6OlNpbXBsaWZ5TWFya3VwQ29tbWFuZCk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGlm
eU1hcmt1cENvbW1hbmQ6OmRvQXBwbHkpOgorICAgICAgICAqIGVkaXRpbmcvU2ltcGxpZnlNYXJr
dXBDb21tYW5kLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxpZnlNYXJrdXBDb21t
YW5kOjpjcmVhdGUpOgorCiAyMDEyLTA0LTA1ICBNaW4gUWluICA8cWlubWluQGdvb2dsZS5jb20+
CiAKICAgICAgICAgRml4IGZ1bGxzY3JlZW4gdmlkZW8gYnV0dG9uIGZvciBhbmRyb2lkCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24gMTEzMzM4KQorKysgU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTY5MCw2ICs2OTAsNyBAQCBTRVQoV2Vi
Q29yZV9TT1VSQ0VTCiAgICAgZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKICAg
ICBlZGl0aW5nL1NldE5vZGVBdHRyaWJ1dGVDb21tYW5kLmNwcAogICAgIGVkaXRpbmcvU2V0U2Vs
ZWN0aW9uQ29tbWFuZC5jcHAKKyAgICBlZGl0aW5nL1NpbXBsaWZ5TWFya3VwQ29tbWFuZC5jcHAK
ICAgICBlZGl0aW5nL1NtYXJ0UmVwbGFjZS5jcHAKICAgICBlZGl0aW5nL1NwZWxsQ2hlY2tlci5j
cHAKICAgICBlZGl0aW5nL1NwZWxsaW5nQ29ycmVjdGlvbkNvbW1hbmQuY3BwCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHJldmlzaW9uIDExMzMzOCkKKysrIFNvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0JKHdvcmtpbmcgY29weSkKQEAgLTIwODYsNiArMjA4Niw4
IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvZWRpdGluZy9TZXROb2Rl
QXR0cmlidXRlQ29tbWFuZC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NldFNlbGVjdGlv
bkNvbW1hbmQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NldFNlbGVjdGlvbkNvbW1h
bmQuaCBcCisJU291cmNlL1dlYkNvcmUvZWRpdGluZy9TaW1wbGlmeU1hcmt1cENvbW1hbmQuY3Bw
IFwKKwlTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NpbXBsaWZ5TWFya3VwQ29tbWFuZC5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NtYXJ0UmVwbGFjZS5jcHAgXAogCVNvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvU21hcnRSZXBsYWNlLmggXAogCVNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU21hcnRS
ZXBsYWNlSUNVLmNwcCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHJldmlzaW9uIDExMzMzOCkKKysrIFNv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkJKHdvcmtpbmcgY29weSkKQEAgLTY2Niw2ICs2NjYsNyBA
QCBTT1VSQ0VTICs9IFwKICAgICBlZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcCBc
CiAgICAgZWRpdGluZy9TZXROb2RlQXR0cmlidXRlQ29tbWFuZC5jcHAgXAogICAgIGVkaXRpbmcv
U2V0U2VsZWN0aW9uQ29tbWFuZC5jcHAgXAorICAgIGVkaXRpbmcvU2ltcGxpZnlNYXJrdXBDb21t
YW5kLmNwcCBcCiAgICAgZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwIFwKICAgICBlZGl0aW5nL1Nw
ZWxsaW5nQ29ycmVjdGlvbkNvbW1hbmQuY3BwIFwKICAgICBlZGl0aW5nL1NwbGl0RWxlbWVudENv
bW1hbmQuY3BwIFwKQEAgLTE3OTcsNiArMTc5OCw3IEBAIEhFQURFUlMgKz0gXAogICAgIGVkaXRp
bmcvUmVwbGFjZU5vZGVXaXRoU3BhbkNvbW1hbmQuaCBcCiAgICAgZWRpdGluZy9SZXBsYWNlU2Vs
ZWN0aW9uQ29tbWFuZC5oIFwKICAgICBlZGl0aW5nL1NldE5vZGVBdHRyaWJ1dGVDb21tYW5kLmgg
XAorICAgIGVkaXRpbmcvU2ltcGxpZnlNYXJrdXBDb21tYW5kLmggXAogICAgIGVkaXRpbmcvU21h
cnRSZXBsYWNlLmggXAogICAgIGVkaXRpbmcvU3BlbGxpbmdDb3JyZWN0aW9uQ29tbWFuZC5oIFwK
ICAgICBlZGl0aW5nL1NwbGl0RWxlbWVudENvbW1hbmQuaCBcCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CShyZXZpc2lvbiAxMTMzMzgpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtp
bmcgY29weSkKQEAgLTExMSw2ICsxMTEsNyBAQAogICAgICAgICAgICAgJ2VkaXRpbmcvSFRNTElu
dGVyY2hhbmdlLmgnLAogICAgICAgICAgICAgJ2VkaXRpbmcvTW92ZVNlbGVjdGlvbkNvbW1hbmQu
aCcsCiAgICAgICAgICAgICAnZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5oJywKKyAg
ICAgICAgICAgICdlZGl0aW5nL1NpbXBsaWZ5TWFya3VwQ29tbWFuZC5oJywKICAgICAgICAgICAg
ICdlZGl0aW5nL1NtYXJ0UmVwbGFjZS5oJywKICAgICAgICAgICAgICdlZGl0aW5nL1NwZWxsQ2hl
Y2tlci5oJywKICAgICAgICAgICAgICdlZGl0aW5nL1N1cnJvdW5kaW5nVGV4dC5jcHAnLApAQCAt
MjU3Niw2ICsyNTc3LDcgQEAKICAgICAgICAgICAgICdlZGl0aW5nL1NldE5vZGVBdHRyaWJ1dGVD
b21tYW5kLmgnLAogICAgICAgICAgICAgJ2VkaXRpbmcvU2V0U2VsZWN0aW9uQ29tbWFuZC5jcHAn
LAogICAgICAgICAgICAgJ2VkaXRpbmcvU2V0U2VsZWN0aW9uQ29tbWFuZC5oJywKKyAgICAgICAg
ICAgICdlZGl0aW5nL1NpbXBsaWZ5TWFya3VwQ29tbWFuZC5jcHAnLAogICAgICAgICAgICAgJ2Vk
aXRpbmcvU21hcnRSZXBsYWNlLmNwcCcsCiAgICAgICAgICAgICAnZWRpdGluZy9TbWFydFJlcGxh
Y2VDRi5jcHAnLAogICAgICAgICAgICAgJ2VkaXRpbmcvU21hcnRSZXBsYWNlSUNVLmNwcCcsCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvago9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2
aXNpb24gMTEzMzM4KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTU2MjM4LDYgKzU2MjM4LDYyIEBACiAJCQkJPgogCQkJ
PC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGVkaXRpbmdcU2ltcGxpZnlN
YXJrdXBDb21tYW5kLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0iZmFsc2UiCisJCQkJCT4K
KwkJCQkJPFRvb2wKKyAgICAgICAgICAgICAgICAgICAgTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0iZmFs
c2UiCisJCQkJCT4KKwkJCQkJPFRvb2wKKyAgICAgICAgICAgICAgICAgICAgTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisgICAgICAgICAg
ICAgICAgICAgIE5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9D
YWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisgICAgICAgICAgICAgICAgICAgIE5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
ZmFsc2UiCisJCQkJCT4KKwkJCQkJPFRvb2wKKyAgICAgICAgICAgICAgICAgICAgTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0iZmFsc2UiCisJCQkJCT4KKwkJCQkJPFRvb2wKKyAgICAgICAgICAgICAg
ICAgICAgTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1
cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGVkaXRp
bmdcU2ltcGxpZnlNYXJrdXBDb21tYW5kLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUK
IAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGVkaXRpbmdcU21hcnRSZXBsYWNlLmNwcCIKIAkJCQk+CiAJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxMTMzMzgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkK
QEAgLTU2ODEsNiArNTY4MSw4IEBACiAJCUM1OTg5MDJFMTRFOUIwRjgwMEU4RDE4QiAvKiBQbGF0
Zm9ybVBhc3RlYm9hcmRNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDNUY3NjVCQTE0RTFFQ0Y0MDA2Qzg5OUIgLyogUGxhdGZvcm1QYXN0ZWJvYXJk
TWFjLm1tICovOyB9OwogCQlDNTk4OTA1NzE0RTlDMjgwMDBFOEQxOEIgLyogUGFzdGVib2FyZFN0
cmF0ZWd5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
NUY3NjVCNDE0RTFENDE0MDA2Qzg5OUIgLyogUGFzdGVib2FyZFN0cmF0ZWd5LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzU5ODkwNTgxNEU5QzI5
OTAwRThEMThCIC8qIFBsYXRmb3JtUGFzdGVib2FyZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzVCQUMxNkYxNEUzMEU0NzAwMDA4ODM3IC8qIFBsYXRm
b3JtUGFzdGVib2FyZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCUM1QTFFQTdDMTUyQkNGMDQwMDREMDBCNiAvKiBTaW1wbGlmeU1hcmt1cENvbW1h
bmQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzVB
MUVBNzkxNTJCQzQ4NjAwNEQwMEI2IC8qIFNpbXBsaWZ5TWFya3VwQ29tbWFuZC5jcHAgKi87IH07
CisJCUM1QTFFQTdEMTUyQkNGMDgwMDREMDBCNiAvKiBTaW1wbGlmeU1hcmt1cENvbW1hbmQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1QTFFQTdBMTUy
QkM0ODYwMDREMDBCNiAvKiBTaW1wbGlmeU1hcmt1cENvbW1hbmQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDNUI0QzI0RDE1MDkyMzZDMDBBNkVG
MzcgLyogV2ViQ29yZU5TVVJMRXh0cmFzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDNUI0QzI0QjE1MDkyMzZDMDBBNkVGMzcgLyogV2ViQ29yZU5TVVJM
RXh0cmFzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQzVCNEMyNEUxNTA5MjM2QzAwQTZFRjM3IC8qIFdlYkNvcmVOU1VSTEV4dHJhcy5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1QjRDMjRDMTUwOTIz
NkMwMEE2RUYzNyAvKiBXZWJDb3JlTlNVUkxFeHRyYXMubW0gKi87IH07CiAJCUM1RDRBQTdBMTE2
QkFGQjYwMDY5Q0E5MyAvKiBHbHlwaE1ldHJpY3NNYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1RDRBQTc4MTE2QkFGQjYwMDY5Q0E5MyAvKiBHbHlw
aE1ldHJpY3NNYXAuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwpAQCAtMTI3NjYsNiArMTI3NjgsOCBAQAogCQlDNTg1QTY3OTExRDRGQjA3MDA0QzNFNEIg
LyogSlNJREJSZXF1ZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSURC
UmVxdWVzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNTg1QTY5NDExRDRGQjEz
MDA0QzNFNEIgLyogSlNJREJGYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTSURCRmFjdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUM1ODVBNjk1MTFENEZCMTMwMDRDM0U0QiAvKiBKU0lEQkZhY3RvcnkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNJREJGYWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUM1QTFFQTc5MTUyQkM0ODYwMDREMDBCNiAvKiBTaW1wbGlmeU1hcmt1cENvbW1h
bmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2ltcGxpZnlNYXJr
dXBDb21tYW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzVBMUVBN0ExNTJC
QzQ4NjAwNEQwMEI2IC8qIFNpbXBsaWZ5TWFya3VwQ29tbWFuZC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBTaW1wbGlmeU1hcmt1cENvbW1hbmQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQzVCNEMyNEIxNTA5MjM2QzAwQTZFRjM3IC8qIFdlYkNvcmVOU1VSTEV4
dHJhcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb3JlTlNVUkxFeHRy
YXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzVCNEMyNEMxNTA5MjM2QzAwQTZF
RjM3IC8qIFdlYkNvcmVOU1VSTEV4dHJhcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFdlYkNvcmVOU1VSTEV4dHJhcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQzVCQUMxNkYxNEUzMEU0NzAwMDA4ODM3IC8qIFBsYXRmb3JtUGFzdGVib2FyZC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbGF0Zm9ybVBhc3RlYm9hcmQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2NjkyLDYgKzE2Njk2LDggQEAKIAkJCQk5
MzMwOURDMDA5OUU2NDkxMDA1NkU1ODEgLyogU2V0Tm9kZUF0dHJpYnV0ZUNvbW1hbmQuY3BwICov
LAogCQkJCTkzMzA5REMxMDk5RTY0OTEwMDU2RTU4MSAvKiBTZXROb2RlQXR0cmlidXRlQ29tbWFu
ZC5oICovLAogCQkJCUI4REJEQjQ3MTMwQjBGOEEwMEY1Q0RCMSAvKiBTZXRTZWxlY3Rpb25Db21t
YW5kLmNwcCAqLywKKwkJCQlDNUExRUE3OTE1MkJDNDg2MDA0RDAwQjYgLyogU2ltcGxpZnlNYXJr
dXBDb21tYW5kLmNwcCAqLywKKwkJCQlDNUExRUE3QTE1MkJDNDg2MDA0RDAwQjYgLyogU2ltcGxp
ZnlNYXJrdXBDb21tYW5kLmggKi8sCiAJCQkJQjhEQkRCNDgxMzBCMEY4QTAwRjVDREIxIC8qIFNl
dFNlbGVjdGlvbkNvbW1hbmQuaCAqLywKIAkJCQk0QjZGQTZGMzBDMzlFNDhDMDAwODcwMTEgLyog
U21hcnRSZXBsYWNlLmNwcCAqLywKIAkJCQk0QjZGQTZGMjBDMzlFNDhDMDAwODcwMTEgLyogU21h
cnRSZXBsYWNlLmggKi8sCkBAIC0yNDcxNSw2ICsyNDcyMSw3IEBACiAJCQkJQ0UwOEMzRDIxNTJC
NTk5QTAwMjFCOEMyIC8qIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCUEwN0QzMzU2MTUyQjYzMEUwMDFCNjM5MyAvKiBKU1dlYkdMU2hhZGVyUHJlY2lzaW9u
Rm9ybWF0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMDdEMzM1ODE1MkI2MzJEMDAxQjYzOTMgLyog
V2ViR0xTaGFkZXJQcmVjaXNpb25Gb3JtYXQuaCBpbiBIZWFkZXJzICovLAorCQkJCUM1QTFFQTdE
MTUyQkNGMDgwMDREMDBCNiAvKiBTaW1wbGlmeU1hcmt1cENvbW1hbmQuaCBpbiBIZWFkZXJzICov
LAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9
OwpAQCAtMjc3MTMsNiArMjc3MjAsNyBAQAogCQkJCUNFMDhDM0QxMTUyQjU5OUEwMDIxQjhDMiAv
KiBBbHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEwN0Qz
MzU1MTUyQjYzMEUwMDFCNjM5MyAvKiBKU1dlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUEwOENGMTU0MTUyQjc3QjMwMDlDNTc3NSAvKiBXZWJHTFNoYWRl
clByZWNpc2lvbkZvcm1hdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDNUExRUE3QzE1MkJDRjA0
MDA0RDAwQjYgLyogU2ltcGxpZnlNYXJrdXBDb21tYW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
KTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRl
eDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQWxsSW5PbmUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ0FsbEluT25lLmNwcAkocmV2aXNpb24g
MTEzMzM4KQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQWxsSW5PbmUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02Myw2ICs2Myw3IEBACiAjaW5jbHVkZSA8UmVwbGFjZVNlbGVjdGlv
bkNvbW1hbmQuY3BwPgogI2luY2x1ZGUgPFNldE5vZGVBdHRyaWJ1dGVDb21tYW5kLmNwcD4KICNp
bmNsdWRlIDxTZXRTZWxlY3Rpb25Db21tYW5kLmNwcD4KKyNpbmNsdWRlIDxTaW1wbGlmeU1hcmt1
cENvbW1hbmQuY3BwPgogI2luY2x1ZGUgPFNtYXJ0UmVwbGFjZS5jcHA+CiAjaW5jbHVkZSA8U21h
cnRSZXBsYWNlQ0YuY3BwPgogI2luY2x1ZGUgPFNwZWxsaW5nQ29ycmVjdGlvbkNvbW1hbmQuY3Bw
PgpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9u
Q29tbWFuZC5jcHAJKHJldmlzaW9uIDExMzMzOCkKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
UmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw2ICs0OSw3
IEBACiAjaW5jbHVkZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0Lmgi
CiAjaW5jbHVkZSAiUmVuZGVyVGV4dC5oIgorI2luY2x1ZGUgIlNpbXBsaWZ5TWFya3VwQ29tbWFu
ZC5oIgogI2luY2x1ZGUgIlNtYXJ0UmVwbGFjZS5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlT
ZXQuaCIKICNpbmNsdWRlICJUZXh0SXRlcmF0b3IuaCIKQEAgLTU1MCw1NCArNTUxLDYgQEAgdm9p
ZCBSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6cmVtb3ZlUmVkdQogICAgIH0KIH0KIAotdm9pZCBS
ZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6cmVtb3ZlUmVkdW5kYW50TWFya3VwKEluc2VydGVkTm9k
ZXMmIGluc2VydGVkTm9kZXMpCi17Ci0gICAgTm9kZSogcGFzdEVuZE5vZGUgPSBpbnNlcnRlZE5v
ZGVzLnBhc3RMYXN0TGVhZigpOwotICAgIE5vZGUqIHJvb3ROb2RlID0gaW5zZXJ0ZWROb2Rlcy5m
aXJzdE5vZGVJbnNlcnRlZCgpLT5wYXJlbnROb2RlKCk7Ci0gICAgVmVjdG9yPE5vZGUqPiBub2Rl
c1RvUmVtb3ZlOwotICAgIAotICAgIC8vIFdhbGsgdGhyb3VnaCB0aGUgaW5zZXJ0ZWQgbm9kZXMs
IHRvIHNlZSBpZiB0aGVyZSBhcmUgZWxlbWVudHMgdGhhdCBjb3VsZCBiZSByZW1vdmVkCi0gICAg
Ly8gd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiBUaGUgZ29hbCBpcyB0byBwcm9kdWNlIGxl
YW5lciBtYXJrdXAgZXZlbiB3aGVuIHN0YXJ0aW5nCi0gICAgLy8gZnJvbSBhIHZlcmJvc2UgZnJh
Z21lbnQuCi0gICAgLy8gV2UgbG9vayBhdCBpbmxpbmUgZWxlbWVudHMgYXMgd2VsbCBhcyBub24g
dG9wIGxldmVsIGRpdnMgdGhhdCBkb24ndCBoYXZlIGF0dHJpYnV0ZXMuIAotICAgIGZvciAoTm9k
ZSogbm9kZSA9IGluc2VydGVkTm9kZXMuZmlyc3ROb2RlSW5zZXJ0ZWQoKTsgbm9kZSAmJiBub2Rl
ICE9IHBhc3RFbmROb2RlOyBub2RlID0gbm9kZS0+dHJhdmVyc2VOZXh0Tm9kZSgpKSB7Ci0gICAg
ICAgIGlmIChub2RlLT5maXJzdENoaWxkKCkgfHwgKG5vZGUtPmlzVGV4dE5vZGUoKSAmJiBub2Rl
LT5uZXh0U2libGluZygpKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAKLSAgICAg
ICAgTm9kZSogc3RhcnRpbmdOb2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpOwotICAgICAgICBSZW5k
ZXJTdHlsZSogc3RhcnRpbmdTdHlsZSA9IHN0YXJ0aW5nTm9kZS0+cmVuZGVyU3R5bGUoKTsKLSAg
ICAgICAgaWYgKCFzdGFydGluZ1N0eWxlKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAg
IE5vZGUqIGN1cnJlbnROb2RlID0gc3RhcnRpbmdOb2RlOwotICAgICAgICBOb2RlKiB0b3BOb2Rl
V2l0aFN0YXJ0aW5nU3R5bGUgPSAwOwotICAgICAgICB3aGlsZSAoY3VycmVudE5vZGUgIT0gcm9v
dE5vZGUpIHsKLSAgICAgICAgICAgIGlmIChjdXJyZW50Tm9kZS0+cGFyZW50Tm9kZSgpICE9IHJv
b3ROb2RlICYmIGlzUmVtb3ZhYmxlQmxvY2soY3VycmVudE5vZGUpKQotICAgICAgICAgICAgICAg
IG5vZGVzVG9SZW1vdmUuYXBwZW5kKGN1cnJlbnROb2RlKTsKLQotICAgICAgICAgICAgY3VycmVu
dE5vZGUgPSBjdXJyZW50Tm9kZS0+cGFyZW50Tm9kZSgpOwotICAgICAgICAgICAgaWYgKCFjdXJy
ZW50Tm9kZS0+cmVuZGVyZXIoKSB8fCAhY3VycmVudE5vZGUtPnJlbmRlcmVyKCktPmlzUmVuZGVy
SW5saW5lKCkgfHwgdG9SZW5kZXJJbmxpbmUoY3VycmVudE5vZGUtPnJlbmRlcmVyKCkpLT5hbHdh
eXNDcmVhdGVMaW5lQm94ZXMoKSkKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAg
ICAgICAgaWYgKGN1cnJlbnROb2RlICYmIGN1cnJlbnROb2RlLT5maXJzdENoaWxkKCkgIT0gY3Vy
cmVudE5vZGUtPmxhc3RDaGlsZCgpKSB7Ci0gICAgICAgICAgICAgICAgdG9wTm9kZVdpdGhTdGFy
dGluZ1N0eWxlID0gMDsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIAotICAgICAgICAgICAgdW5zaWduZWQgY29udGV4dDsKLSAgICAgICAgICAgIGlm
IChjdXJyZW50Tm9kZS0+cmVuZGVyU3R5bGUoKS0+ZGlmZihzdGFydGluZ1N0eWxlLCBjb250ZXh0
KSA9PSBTdHlsZURpZmZlcmVuY2VFcXVhbCkKLSAgICAgICAgICAgICAgICB0b3BOb2RlV2l0aFN0
YXJ0aW5nU3R5bGUgPSBjdXJyZW50Tm9kZTsKLSAgICAgICAgICAgIAotICAgICAgICB9Ci0gICAg
ICAgIGlmICh0b3BOb2RlV2l0aFN0YXJ0aW5nU3R5bGUpIHsKLSAgICAgICAgICAgIGZvciAoTm9k
ZSogbm9kZSA9IHN0YXJ0aW5nTm9kZTsgbm9kZSAhPSB0b3BOb2RlV2l0aFN0YXJ0aW5nU3R5bGU7
IG5vZGUgPSBub2RlLT5wYXJlbnROb2RlKCkpCi0gICAgICAgICAgICAgICAgbm9kZXNUb1JlbW92
ZS5hcHBlbmQobm9kZSk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgLy8gd2UgcGVyZm9ybSBhbGwg
dGhlIERPTSBtdXRhdGlvbnMgYXQgb25jZS4KLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG5v
ZGVzVG9SZW1vdmUuc2l6ZSgpOyArK2kpCi0gICAgICAgIHJlbW92ZU5vZGVQcmVzZXJ2aW5nQ2hp
bGRyZW4obm9kZXNUb1JlbW92ZVtpXSk7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgYm9vbCBub2RlSGFz
VmlzaWJsZVJlbmRlclRleHQoVGV4dCogdGV4dCkKIHsKICAgICByZXR1cm4gdGV4dC0+cmVuZGVy
ZXIoKSAmJiB0b1JlbmRlclRleHQodGV4dC0+cmVuZGVyZXIoKSktPnJlbmRlcmVkVGV4dExlbmd0
aCgpID4gMDsKQEAgLTEwNjcsNyArMTAyMCw3IEBAIHZvaWQgUmVwbGFjZVNlbGVjdGlvbkNvbW1h
bmQ6OmRvQXBwbHkoKQogICAgIHJlbW92ZVJlZHVuZGFudFN0eWxlc0FuZEtlZXBTdHlsZVNwYW5J
bmxpbmUoaW5zZXJ0ZWROb2Rlcyk7CiAKICAgICBpZiAobV9zYW5pdGl6ZUZyYWdtZW50KQotICAg
ICAgICByZW1vdmVSZWR1bmRhbnRNYXJrdXAoaW5zZXJ0ZWROb2Rlcyk7CisgICAgICAgIGFwcGx5
Q29tbWFuZFRvQ29tcG9zaXRlKFNpbXBsaWZ5TWFya3VwQ29tbWFuZDo6Y3JlYXRlKGRvY3VtZW50
KCksIGluc2VydGVkTm9kZXMuZmlyc3ROb2RlSW5zZXJ0ZWQoKSwgaW5zZXJ0ZWROb2Rlcy5wYXN0
TGFzdExlYWYoKSkpOwogCiAgICAgLy8gU2V0dXAgbV9zdGFydE9mSW5zZXJ0ZWRDb250ZW50IGFu
ZCBtX2VuZE9mSW5zZXJ0ZWRDb250ZW50LiBUaGlzIHNob3VsZCBiZSB0aGUgbGFzdCB0d28gbGlu
ZXMgb2YgY29kZSB0aGF0IGFjY2VzcyBpbnNlcnRlZE5vZGVzLgogICAgIG1fc3RhcnRPZkluc2Vy
dGVkQ29udGVudCA9IGZpcnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShpbnNlcnRlZE5vZGVzLmZp
cnN0Tm9kZUluc2VydGVkKCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNl
U2VsZWN0aW9uQ29tbWFuZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
UmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuaAkocmV2aXNpb24gMTEzMzM4KQorKysgU291cmNlL1dl
YkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5oCSh3b3JraW5nIGNvcHkpCkBA
IC04OSw3ICs4OSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZW1vdmVVbnJlbmRlcmVkVGV4dE5v
ZGVzQXRFbmRzKEluc2VydGVkTm9kZXMmKTsKICAgICAKICAgICB2b2lkIHJlbW92ZVJlZHVuZGFu
dFN0eWxlc0FuZEtlZXBTdHlsZVNwYW5JbmxpbmUoSW5zZXJ0ZWROb2RlcyYpOwotICAgIHZvaWQg
cmVtb3ZlUmVkdW5kYW50TWFya3VwKEluc2VydGVkTm9kZXMmKTsKICAgICB2b2lkIGhhbmRsZVN0
eWxlU3BhbnMoSW5zZXJ0ZWROb2RlcyYpOwogICAgIHZvaWQgaGFuZGxlUGFzdGVBc1F1b3RhdGlv
bk5vZGUoKTsKICAgICAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU2ltcGxpZnlNYXJr
dXBDb21tYW5kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NpbXBs
aWZ5TWFya3VwQ29tbWFuZC5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1NpbXBsaWZ5TWFya3VwQ29tbWFuZC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsODgg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJT
aW1wbGlmeU1hcmt1cENvbW1hbmQuaCIKKworI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgor
I2luY2x1ZGUgIlJlbmRlcklubGluZS5oIgorI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgorI2lu
Y2x1ZGUgIlJlbmRlclN0eWxlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworU2ltcGxpZnlN
YXJrdXBDb21tYW5kOjpTaW1wbGlmeU1hcmt1cENvbW1hbmQoRG9jdW1lbnQqIGRvY3VtZW50LCBO
b2RlKiBmaXJzdE5vZGUsIE5vZGUqIG5vZGVBZnRlckxhc3QpIAorICAgIDogQ29tcG9zaXRlRWRp
dENvbW1hbmQoZG9jdW1lbnQpLCBtX2ZpcnN0Tm9kZShmaXJzdE5vZGUpLCBtX25vZGVBZnRlckxh
c3Qobm9kZUFmdGVyTGFzdCkKK3sKK30KKyAgICAKK3ZvaWQgU2ltcGxpZnlNYXJrdXBDb21tYW5k
Ojpkb0FwcGx5KCkKK3sKKyAgICBOb2RlKiByb290Tm9kZSA9IG1fZmlyc3ROb2RlLT5wYXJlbnRO
b2RlKCk7CisgICAgVmVjdG9yPE5vZGUqPiBub2Rlc1RvUmVtb3ZlOworICAgIAorICAgIC8vIFdh
bGsgdGhyb3VnaCB0aGUgaW5zZXJ0ZWQgbm9kZXMsIHRvIHNlZSBpZiB0aGVyZSBhcmUgZWxlbWVu
dHMgdGhhdCBjb3VsZCBiZSByZW1vdmVkCisgICAgLy8gd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0
eWxlLiBUaGUgZ29hbCBpcyB0byBwcm9kdWNlIGxlYW5lciBtYXJrdXAgZXZlbiB3aGVuIHN0YXJ0
aW5nCisgICAgLy8gZnJvbSBhIHZlcmJvc2UgZnJhZ21lbnQuCisgICAgLy8gV2UgbG9vayBhdCBp
bmxpbmUgZWxlbWVudHMgYXMgd2VsbCBhcyBub24gdG9wIGxldmVsIGRpdnMgdGhhdCBkb24ndCBo
YXZlIGF0dHJpYnV0ZXMuIAorICAgIGZvciAoTm9kZSogbm9kZSA9IG1fZmlyc3ROb2RlLmdldCgp
OyBub2RlICYmIG5vZGUgIT0gbV9ub2RlQWZ0ZXJMYXN0OyBub2RlID0gbm9kZS0+dHJhdmVyc2VO
ZXh0Tm9kZSgpKSB7CisgICAgICAgIGlmIChub2RlLT5maXJzdENoaWxkKCkgfHwgKG5vZGUtPmlz
VGV4dE5vZGUoKSAmJiBub2RlLT5uZXh0U2libGluZygpKSkKKyAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICAKKyAgICAgICAgTm9kZSogc3RhcnRpbmdOb2RlID0gbm9kZS0+cGFyZW50Tm9k
ZSgpOworICAgICAgICBSZW5kZXJTdHlsZSogc3RhcnRpbmdTdHlsZSA9IHN0YXJ0aW5nTm9kZS0+
cmVuZGVyU3R5bGUoKTsKKyAgICAgICAgaWYgKCFzdGFydGluZ1N0eWxlKQorICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgIE5vZGUqIGN1cnJlbnROb2RlID0gc3RhcnRpbmdOb2RlOworICAg
ICAgICBOb2RlKiB0b3BOb2RlV2l0aFN0YXJ0aW5nU3R5bGUgPSAwOworICAgICAgICB3aGlsZSAo
Y3VycmVudE5vZGUgIT0gcm9vdE5vZGUpIHsKKyAgICAgICAgICAgIGlmIChjdXJyZW50Tm9kZS0+
cGFyZW50Tm9kZSgpICE9IHJvb3ROb2RlICYmIGlzUmVtb3ZhYmxlQmxvY2soY3VycmVudE5vZGUp
KQorICAgICAgICAgICAgICAgIG5vZGVzVG9SZW1vdmUuYXBwZW5kKGN1cnJlbnROb2RlKTsKKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgY3VycmVudE5vZGUgPSBjdXJyZW50Tm9kZS0+cGFyZW50
Tm9kZSgpOworICAgICAgICAgICAgaWYgKCFjdXJyZW50Tm9kZS0+cmVuZGVyZXIoKSB8fCAhY3Vy
cmVudE5vZGUtPnJlbmRlcmVyKCktPmlzUmVuZGVySW5saW5lKCkgfHwgdG9SZW5kZXJJbmxpbmUo
Y3VycmVudE5vZGUtPnJlbmRlcmVyKCkpLT5hbHdheXNDcmVhdGVMaW5lQm94ZXMoKSkKKyAgICAg
ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKGN1cnJl
bnROb2RlICYmIGN1cnJlbnROb2RlLT5maXJzdENoaWxkKCkgIT0gY3VycmVudE5vZGUtPmxhc3RD
aGlsZCgpKSB7CisgICAgICAgICAgICAgICAgdG9wTm9kZVdpdGhTdGFydGluZ1N0eWxlID0gMDsK
KyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAg
ICAgICAgICAgdW5zaWduZWQgY29udGV4dDsKKyAgICAgICAgICAgIGlmIChjdXJyZW50Tm9kZS0+
cmVuZGVyU3R5bGUoKS0+ZGlmZihzdGFydGluZ1N0eWxlLCBjb250ZXh0KSA9PSBTdHlsZURpZmZl
cmVuY2VFcXVhbCkKKyAgICAgICAgICAgICAgICB0b3BOb2RlV2l0aFN0YXJ0aW5nU3R5bGUgPSBj
dXJyZW50Tm9kZTsKKyAgICAgICAgICAgIAorICAgICAgICB9CisgICAgICAgIGlmICh0b3BOb2Rl
V2l0aFN0YXJ0aW5nU3R5bGUpIHsKKyAgICAgICAgICAgIGZvciAoTm9kZSogbm9kZSA9IHN0YXJ0
aW5nTm9kZTsgbm9kZSAhPSB0b3BOb2RlV2l0aFN0YXJ0aW5nU3R5bGU7IG5vZGUgPSBub2RlLT5w
YXJlbnROb2RlKCkpCisgICAgICAgICAgICAgICAgbm9kZXNUb1JlbW92ZS5hcHBlbmQobm9kZSk7
CisgICAgICAgIH0KKyAgICB9CisgICAgLy8gd2UgcGVyZm9ybSBhbGwgdGhlIERPTSBtdXRhdGlv
bnMgYXQgb25jZS4KKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG5vZGVzVG9SZW1vdmUuc2l6
ZSgpOyArK2kpCisgICAgICAgIHJlbW92ZU5vZGVQcmVzZXJ2aW5nQ2hpbGRyZW4obm9kZXNUb1Jl
bW92ZVtpXSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvU2ltcGxpZnlNYXJrdXBDb21tYW5kLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZWRpdGluZy9TaW1wbGlmeU1hcmt1cENvbW1hbmQuaAkocmV2aXNpb24gMCkKKysr
IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU2ltcGxpZnlNYXJrdXBDb21tYW5kLmgJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIFNpbXBsaWZ5TWFya3VwQ29t
bWFuZF9oCisjZGVmaW5lIFNpbXBsaWZ5TWFya3VwQ29tbWFuZF9oCisKKyNpbmNsdWRlICJDb21w
b3NpdGVFZGl0Q29tbWFuZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNpbXBs
aWZ5TWFya3VwQ29tbWFuZCA6IHB1YmxpYyBDb21wb3NpdGVFZGl0Q29tbWFuZCB7CitwdWJsaWM6
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U2ltcGxpZnlNYXJrdXBDb21tYW5kPiBjcmVhdGUoRG9j
dW1lbnQqIGRvY3VtZW50LCBOb2RlKiBmaXJzdE5vZGUsIE5vZGUqIG5vZGVBZnRlckxhc3QpCisg
ICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNpbXBsaWZ5TWFya3VwQ29tbWFuZChk
b2N1bWVudCwgZmlyc3ROb2RlLCBub2RlQWZ0ZXJMYXN0KSk7CisgICAgfQorCitwcml2YXRlOgor
ICAgIFNpbXBsaWZ5TWFya3VwQ29tbWFuZChEb2N1bWVudCosIE5vZGUqIGZpcnN0Tm9kZSwgTm9k
ZSogbm9kZUFmdGVyTGFzdCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgZG9BcHBseSgpOworICAgIAor
ICAgIFJlZlB0cjxOb2RlPiBtX2ZpcnN0Tm9kZTsKKyAgICBSZWZQdHI8Tm9kZT4gbV9ub2RlQWZ0
ZXJMYXN0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gU2ltcGxp
ZnlNYXJrdXBDb21tYW5kX2gK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135886</attachid>
            <date>2012-04-05 13:12:11 -0700</date>
            <delta_ts>2012-04-05 13:12:11 -0700</delta_ts>
            <desc>Resolved conflict</desc>
            <filename>simplifymarkup.txt</filename>
            <type>text/plain</type>
            <size>22131</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMzM0MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBACisyMDEyLTA0LTA1ICBFbnJpY2Eg
Q2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CisKKyAgICAgICAgUHJvdmlkZSBhIHNlcGFyYXRl
IGVkaXRpbmcgY29tbWFuZCB0byBjbGVhbnVwIG9mIHJlZHVuZGFudCBtYXJrdXAuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MzI0MAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggbW92ZXMg
dGhlIGxvZ2ljIG9yaWdpbmFsbHkgcGVyZm9ybWVkIGJ5IHRoZSBwcml2YXRlCisgICAgICAgIG1l
dGhvZCByZW1vdmVSZWR1bmRhbnRNYXJrdXAgaW5zaWRlIFJlcGxhY2VTZWxlY3Rpb25Db21tYW5k
IGludG8KKyAgICAgICAgYSBzZXBhcmF0ZSBjb21tYW5kLiBUaGlzIHdheSB0aGUgbWFya3VwIGNs
ZWFudXAgY2FuIGJlIGV4cG9zZWQgYXMKKyAgICAgICAgYSBzZXBhcmF0ZSBjb21tYW5kLCBpbmRl
cGVuZGVudCBmcm9tIFJlcGxhY2VTZWxlY3Rpb25Db21tYW5kLgorICAgICAgICAKKyAgICAgICAg
Tm8gbmV3IHRlc3RzLiBObyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIENN
YWtlTGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICog
VGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICBBZGRlZCBuZXcgZmlsZSB0byBwcm9qZWN0IGZpbGVzLgorICAg
ICAgICAqIGVkaXRpbmcvRWRpdG9yQWxsSW5PbmUuY3BwOiBBZGRlZCBTaW1wbGlmeU1hcmt1cENv
bW1hbmQuCisgICAgICAgICogZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6ZG9BcHBseSk6IE5vdyB1
c2VzIFNpbXBsaWZ5TWFya3VwQ29tbWFuZC4KKyAgICAgICAgKiBlZGl0aW5nL1JlcGxhY2VTZWxl
Y3Rpb25Db21tYW5kLmg6CisgICAgICAgIChSZXBsYWNlU2VsZWN0aW9uQ29tbWFuZCk6IFJlbW92
ZWQgcmVtb3ZlUmVkdW5kYW50TWFya3VwLgorICAgICAgICAqIGVkaXRpbmcvU2ltcGxpZnlNYXJr
dXBDb21tYW5kLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGlmeU1hcmt1cENv
bW1hbmQ6OlNpbXBsaWZ5TWFya3VwQ29tbWFuZCk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGlm
eU1hcmt1cENvbW1hbmQ6OmRvQXBwbHkpOgorICAgICAgICAqIGVkaXRpbmcvU2ltcGxpZnlNYXJr
dXBDb21tYW5kLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxpZnlNYXJrdXBDb21t
YW5kOjpjcmVhdGUpOgorCiAyMDEyLTA0LTA1ICBTaGF3biBTaW5naCAgPHNoYXduc2luZ2hAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gTmVlZCB0byBjbGlwIHRvIGhvbW9nZW5l
b3VzIHc9MCBwbGFuZSB3aGVuIGFwcGx5aW5nIHRyYW5zZm9ybXMuCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAkocmV2aXNpb24gMTEzMzQyKQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQJKHdvcmtpbmcgY29weSkKQEAgLTY5MCw2ICs2OTAsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VT
CiAgICAgZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAKICAgICBlZGl0aW5nL1Nl
dE5vZGVBdHRyaWJ1dGVDb21tYW5kLmNwcAogICAgIGVkaXRpbmcvU2V0U2VsZWN0aW9uQ29tbWFu
ZC5jcHAKKyAgICBlZGl0aW5nL1NpbXBsaWZ5TWFya3VwQ29tbWFuZC5jcHAKICAgICBlZGl0aW5n
L1NtYXJ0UmVwbGFjZS5jcHAKICAgICBlZGl0aW5nL1NwZWxsQ2hlY2tlci5jcHAKICAgICBlZGl0
aW5nL1NwZWxsaW5nQ29ycmVjdGlvbkNvbW1hbmQuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0JKHJldmlzaW9uIDExMzM0MikKKysrIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0JKHdvcmtpbmcgY29weSkKQEAgLTIwODYsNiArMjA4Niw4IEBAIHdlYmNvcmVf
c291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvZWRpdGluZy9TZXROb2RlQXR0cmlidXRlQ29t
bWFuZC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NldFNlbGVjdGlvbkNvbW1hbmQuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NldFNlbGVjdGlvbkNvbW1hbmQuaCBcCisJU291
cmNlL1dlYkNvcmUvZWRpdGluZy9TaW1wbGlmeU1hcmt1cENvbW1hbmQuY3BwIFwKKwlTb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1NpbXBsaWZ5TWFya3VwQ29tbWFuZC5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL1NtYXJ0UmVwbGFjZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU21h
cnRSZXBsYWNlLmggXAogCVNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU21hcnRSZXBsYWNlSUNVLmNw
cCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL1RhcmdldC5wcmkJKHJldmlzaW9uIDExMzM0MikKKysrIFNvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkJKHdvcmtpbmcgY29weSkKQEAgLTY2Niw2ICs2NjYsNyBAQCBTT1VSQ0VTICs9
IFwKICAgICBlZGl0aW5nL1JlcGxhY2VTZWxlY3Rpb25Db21tYW5kLmNwcCBcCiAgICAgZWRpdGlu
Zy9TZXROb2RlQXR0cmlidXRlQ29tbWFuZC5jcHAgXAogICAgIGVkaXRpbmcvU2V0U2VsZWN0aW9u
Q29tbWFuZC5jcHAgXAorICAgIGVkaXRpbmcvU2ltcGxpZnlNYXJrdXBDb21tYW5kLmNwcCBcCiAg
ICAgZWRpdGluZy9TcGVsbENoZWNrZXIuY3BwIFwKICAgICBlZGl0aW5nL1NwZWxsaW5nQ29ycmVj
dGlvbkNvbW1hbmQuY3BwIFwKICAgICBlZGl0aW5nL1NwbGl0RWxlbWVudENvbW1hbmQuY3BwIFwK
QEAgLTE3OTcsNiArMTc5OCw3IEBAIEhFQURFUlMgKz0gXAogICAgIGVkaXRpbmcvUmVwbGFjZU5v
ZGVXaXRoU3BhbkNvbW1hbmQuaCBcCiAgICAgZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFu
ZC5oIFwKICAgICBlZGl0aW5nL1NldE5vZGVBdHRyaWJ1dGVDb21tYW5kLmggXAorICAgIGVkaXRp
bmcvU2ltcGxpZnlNYXJrdXBDb21tYW5kLmggXAogICAgIGVkaXRpbmcvU21hcnRSZXBsYWNlLmgg
XAogICAgIGVkaXRpbmcvU3BlbGxpbmdDb3JyZWN0aW9uQ29tbWFuZC5oIFwKICAgICBlZGl0aW5n
L1NwbGl0RWxlbWVudENvbW1hbmQuaCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZpc2lvbiAx
MTMzNDIpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHdvcmtpbmcgY29weSkKQEAg
LTExMSw2ICsxMTEsNyBAQAogICAgICAgICAgICAgJ2VkaXRpbmcvSFRNTEludGVyY2hhbmdlLmgn
LAogICAgICAgICAgICAgJ2VkaXRpbmcvTW92ZVNlbGVjdGlvbkNvbW1hbmQuaCcsCiAgICAgICAg
ICAgICAnZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5oJywKKyAgICAgICAgICAgICdl
ZGl0aW5nL1NpbXBsaWZ5TWFya3VwQ29tbWFuZC5oJywKICAgICAgICAgICAgICdlZGl0aW5nL1Nt
YXJ0UmVwbGFjZS5oJywKICAgICAgICAgICAgICdlZGl0aW5nL1NwZWxsQ2hlY2tlci5oJywKICAg
ICAgICAgICAgICdlZGl0aW5nL1N1cnJvdW5kaW5nVGV4dC5jcHAnLApAQCAtMjU3Niw2ICsyNTc3
LDcgQEAKICAgICAgICAgICAgICdlZGl0aW5nL1NldE5vZGVBdHRyaWJ1dGVDb21tYW5kLmgnLAog
ICAgICAgICAgICAgJ2VkaXRpbmcvU2V0U2VsZWN0aW9uQ29tbWFuZC5jcHAnLAogICAgICAgICAg
ICAgJ2VkaXRpbmcvU2V0U2VsZWN0aW9uQ29tbWFuZC5oJywKKyAgICAgICAgICAgICdlZGl0aW5n
L1NpbXBsaWZ5TWFya3VwQ29tbWFuZC5jcHAnLAogICAgICAgICAgICAgJ2VkaXRpbmcvU21hcnRS
ZXBsYWNlLmNwcCcsCiAgICAgICAgICAgICAnZWRpdGluZy9TbWFydFJlcGxhY2VDRi5jcHAnLAog
ICAgICAgICAgICAgJ2VkaXRpbmcvU21hcnRSZXBsYWNlSUNVLmNwcCcsCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvago9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gMTEzMzQy
KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtp
bmcgY29weSkKQEAgLTU2MjQyLDYgKzU2MjQyLDYyIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJ
PEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGVkaXRpbmdcU2ltcGxpZnlNYXJrdXBDb21tYW5k
LmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdp
bjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0iZmFsc2UiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KyAgICAgICAgICAgICAgICAgICAgTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1l
PSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0iZmFsc2UiCisJCQkJCT4K
KwkJCQkJPFRvb2wKKyAgICAgICAgICAgICAgICAgICAgTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisgICAgICAgICAgICAgICAgICAgIE5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8
V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29s
CisgICAgICAgICAgICAgICAgICAgIE5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFt
ZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0iZmFsc2UiCisJCQkJ
CT4KKwkJCQkJPFRvb2wKKyAgICAgICAgICAgICAgICAgICAgTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0iZmFsc2UiCisJCQkJCT4KKwkJCQkJPFRvb2wKKyAgICAgICAgICAgICAgICAgICAgTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
PC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGVkaXRpbmdcU2ltcGxpZnlN
YXJrdXBDb21tYW5kLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGVkaXRpbmdcU21hcnRSZXBsYWNlLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxMTMzNDIpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTU2ODEsNiAr
NTY4MSw4IEBACiAJCUM1OTg5MDJFMTRFOUIwRjgwMEU4RDE4QiAvKiBQbGF0Zm9ybVBhc3RlYm9h
cmRNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
NUY3NjVCQTE0RTFFQ0Y0MDA2Qzg5OUIgLyogUGxhdGZvcm1QYXN0ZWJvYXJkTWFjLm1tICovOyB9
OwogCQlDNTk4OTA1NzE0RTlDMjgwMDBFOEQxOEIgLyogUGFzdGVib2FyZFN0cmF0ZWd5LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNUY3NjVCNDE0RTFE
NDE0MDA2Qzg5OUIgLyogUGFzdGVib2FyZFN0cmF0ZWd5LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzU5ODkwNTgxNEU5QzI5OTAwRThEMThCIC8q
IFBsYXRmb3JtUGFzdGVib2FyZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQzVCQUMxNkYxNEUzMEU0NzAwMDA4ODM3IC8qIFBsYXRmb3JtUGFzdGVib2Fy
ZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUM1
QTFFQTdDMTUyQkNGMDQwMDREMDBCNiAvKiBTaW1wbGlmeU1hcmt1cENvbW1hbmQuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzVBMUVBNzkxNTJCQzQ4
NjAwNEQwMEI2IC8qIFNpbXBsaWZ5TWFya3VwQ29tbWFuZC5jcHAgKi87IH07CisJCUM1QTFFQTdE
MTUyQkNGMDgwMDREMDBCNiAvKiBTaW1wbGlmeU1hcmt1cENvbW1hbmQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1QTFFQTdBMTUyQkM0ODYwMDREMDBC
NiAvKiBTaW1wbGlmeU1hcmt1cENvbW1hbmQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlDNUI0QzI0RDE1MDkyMzZDMDBBNkVGMzcgLyogV2ViQ29y
ZU5TVVJMRXh0cmFzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDNUI0QzI0QjE1MDkyMzZDMDBBNkVGMzcgLyogV2ViQ29yZU5TVVJMRXh0cmFzLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzVCNEMyNEUx
NTA5MjM2QzAwQTZFRjM3IC8qIFdlYkNvcmVOU1VSTEV4dHJhcy5tbSBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEM1QjRDMjRDMTUwOTIzNkMwMEE2RUYzNyAv
KiBXZWJDb3JlTlNVUkxFeHRyYXMubW0gKi87IH07CiAJCUM1RDRBQTdBMTE2QkFGQjYwMDY5Q0E5
MyAvKiBHbHlwaE1ldHJpY3NNYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEM1RDRBQTc4MTE2QkFGQjYwMDY5Q0E5MyAvKiBHbHlwaE1ldHJpY3NNYXAu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTI3
NjcsNiArMTI3NjksOCBAQAogCQlDNTg1QTY3OTExRDRGQjA3MDA0QzNFNEIgLyogSlNJREJSZXF1
ZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSURCUmVxdWVzdC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDNTg1QTY5NDExRDRGQjEzMDA0QzNFNEIgLyog
SlNJREJGYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
SURCRmFjdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUM1ODVBNjk1MTFE
NEZCMTMwMDRDM0U0QiAvKiBKU0lEQkZhY3RvcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNJREJGYWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUM1
QTFFQTc5MTUyQkM0ODYwMDREMDBCNiAvKiBTaW1wbGlmeU1hcmt1cENvbW1hbmQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2ltcGxpZnlNYXJrdXBDb21tYW5kLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQzVBMUVBN0ExNTJCQzQ4NjAwNEQwMEI2
IC8qIFNpbXBsaWZ5TWFya3VwQ29tbWFuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTaW1wbGlmeU1hcmt1cENvbW1hbmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQzVCNEMyNEIxNTA5MjM2QzAwQTZFRjM3IC8qIFdlYkNvcmVOU1VSTEV4dHJhcy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb3JlTlNVUkxFeHRyYXMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzVCNEMyNEMxNTA5MjM2QzAwQTZFRjM3IC8qIFdlYkNv
cmVOU1VSTEV4dHJhcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IFdlYkNvcmVOU1VSTEV4dHJhcy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzVC
QUMxNkYxNEUzMEU0NzAwMDA4ODM3IC8qIFBsYXRmb3JtUGFzdGVib2FyZC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBQbGF0Zm9ybVBhc3RlYm9hcmQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTE2Njk1LDYgKzE2Njk5LDggQEAKIAkJCQk5MzMwOURDMDA5OUU2
NDkxMDA1NkU1ODEgLyogU2V0Tm9kZUF0dHJpYnV0ZUNvbW1hbmQuY3BwICovLAogCQkJCTkzMzA5
REMxMDk5RTY0OTEwMDU2RTU4MSAvKiBTZXROb2RlQXR0cmlidXRlQ29tbWFuZC5oICovLAogCQkJ
CUI4REJEQjQ3MTMwQjBGOEEwMEY1Q0RCMSAvKiBTZXRTZWxlY3Rpb25Db21tYW5kLmNwcCAqLywK
KwkJCQlDNUExRUE3OTE1MkJDNDg2MDA0RDAwQjYgLyogU2ltcGxpZnlNYXJrdXBDb21tYW5kLmNw
cCAqLywKKwkJCQlDNUExRUE3QTE1MkJDNDg2MDA0RDAwQjYgLyogU2ltcGxpZnlNYXJrdXBDb21t
YW5kLmggKi8sCiAJCQkJQjhEQkRCNDgxMzBCMEY4QTAwRjVDREIxIC8qIFNldFNlbGVjdGlvbkNv
bW1hbmQuaCAqLywKIAkJCQk0QjZGQTZGMzBDMzlFNDhDMDAwODcwMTEgLyogU21hcnRSZXBsYWNl
LmNwcCAqLywKIAkJCQk0QjZGQTZGMjBDMzlFNDhDMDAwODcwMTEgLyogU21hcnRSZXBsYWNlLmgg
Ki8sCkBAIC0yNDcxOCw2ICsyNDcyNCw3IEBACiAJCQkJQ0UwOEMzRDIxNTJCNTk5QTAwMjFCOEMy
IC8qIEFsdGVybmF0aXZlVGV4dENvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUEwN0Qz
MzU2MTUyQjYzMEUwMDFCNjM5MyAvKiBKU1dlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0LmggaW4g
SGVhZGVycyAqLywKIAkJCQlBMDdEMzM1ODE1MkI2MzJEMDAxQjYzOTMgLyogV2ViR0xTaGFkZXJQ
cmVjaXNpb25Gb3JtYXQuaCBpbiBIZWFkZXJzICovLAorCQkJCUM1QTFFQTdEMTUyQkNGMDgwMDRE
MDBCNiAvKiBTaW1wbGlmeU1hcmt1cENvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUNFREEx
MkQ3MTUyQ0ExQ0IwMEQ5RTA4RCAvKiBBbHRlcm5hdGl2ZVRleHRDbGllbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpA
QCAtMjc3MTcsNiArMjc3MjQsNyBAQAogCQkJCUNFMDhDM0QxMTUyQjU5OUEwMDIxQjhDMiAvKiBB
bHRlcm5hdGl2ZVRleHRDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEwN0QzMzU1
MTUyQjYzMEUwMDFCNjM5MyAvKiBKU1dlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUEwOENGMTU0MTUyQjc3QjMwMDlDNTc3NSAvKiBXZWJHTFNoYWRlclBy
ZWNpc2lvbkZvcm1hdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDNUExRUE3QzE1MkJDRjA0MDA0
RDAwQjYgLyogU2ltcGxpZnlNYXJrdXBDb21tYW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDog
U291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQWxsSW5PbmUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdGluZ0FsbEluT25lLmNwcAkocmV2aXNpb24gMTEz
MzQyKQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nQWxsSW5PbmUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02Myw2ICs2Myw3IEBACiAjaW5jbHVkZSA8UmVwbGFjZVNlbGVjdGlvbkNv
bW1hbmQuY3BwPgogI2luY2x1ZGUgPFNldE5vZGVBdHRyaWJ1dGVDb21tYW5kLmNwcD4KICNpbmNs
dWRlIDxTZXRTZWxlY3Rpb25Db21tYW5kLmNwcD4KKyNpbmNsdWRlIDxTaW1wbGlmeU1hcmt1cENv
bW1hbmQuY3BwPgogI2luY2x1ZGUgPFNtYXJ0UmVwbGFjZS5jcHA+CiAjaW5jbHVkZSA8U21hcnRS
ZXBsYWNlQ0YuY3BwPgogI2luY2x1ZGUgPFNwZWxsaW5nQ29ycmVjdGlvbkNvbW1hbmQuY3BwPgpJ
bmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29t
bWFuZC5jcHAJKHJldmlzaW9uIDExMzM0MikKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVw
bGFjZVNlbGVjdGlvbkNvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw2ICs0OSw3IEBA
CiAjaW5jbHVkZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCiAj
aW5jbHVkZSAiUmVuZGVyVGV4dC5oIgorI2luY2x1ZGUgIlNpbXBsaWZ5TWFya3VwQ29tbWFuZC5o
IgogI2luY2x1ZGUgIlNtYXJ0UmVwbGFjZS5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlTZXQu
aCIKICNpbmNsdWRlICJUZXh0SXRlcmF0b3IuaCIKQEAgLTU1MCw1NCArNTUxLDYgQEAgdm9pZCBS
ZXBsYWNlU2VsZWN0aW9uQ29tbWFuZDo6cmVtb3ZlUmVkdQogICAgIH0KIH0KIAotdm9pZCBSZXBs
YWNlU2VsZWN0aW9uQ29tbWFuZDo6cmVtb3ZlUmVkdW5kYW50TWFya3VwKEluc2VydGVkTm9kZXMm
IGluc2VydGVkTm9kZXMpCi17Ci0gICAgTm9kZSogcGFzdEVuZE5vZGUgPSBpbnNlcnRlZE5vZGVz
LnBhc3RMYXN0TGVhZigpOwotICAgIE5vZGUqIHJvb3ROb2RlID0gaW5zZXJ0ZWROb2Rlcy5maXJz
dE5vZGVJbnNlcnRlZCgpLT5wYXJlbnROb2RlKCk7Ci0gICAgVmVjdG9yPE5vZGUqPiBub2Rlc1Rv
UmVtb3ZlOwotICAgIAotICAgIC8vIFdhbGsgdGhyb3VnaCB0aGUgaW5zZXJ0ZWQgbm9kZXMsIHRv
IHNlZSBpZiB0aGVyZSBhcmUgZWxlbWVudHMgdGhhdCBjb3VsZCBiZSByZW1vdmVkCi0gICAgLy8g
d2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxlLiBUaGUgZ29hbCBpcyB0byBwcm9kdWNlIGxlYW5l
ciBtYXJrdXAgZXZlbiB3aGVuIHN0YXJ0aW5nCi0gICAgLy8gZnJvbSBhIHZlcmJvc2UgZnJhZ21l
bnQuCi0gICAgLy8gV2UgbG9vayBhdCBpbmxpbmUgZWxlbWVudHMgYXMgd2VsbCBhcyBub24gdG9w
IGxldmVsIGRpdnMgdGhhdCBkb24ndCBoYXZlIGF0dHJpYnV0ZXMuIAotICAgIGZvciAoTm9kZSog
bm9kZSA9IGluc2VydGVkTm9kZXMuZmlyc3ROb2RlSW5zZXJ0ZWQoKTsgbm9kZSAmJiBub2RlICE9
IHBhc3RFbmROb2RlOyBub2RlID0gbm9kZS0+dHJhdmVyc2VOZXh0Tm9kZSgpKSB7Ci0gICAgICAg
IGlmIChub2RlLT5maXJzdENoaWxkKCkgfHwgKG5vZGUtPmlzVGV4dE5vZGUoKSAmJiBub2RlLT5u
ZXh0U2libGluZygpKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAKLSAgICAgICAg
Tm9kZSogc3RhcnRpbmdOb2RlID0gbm9kZS0+cGFyZW50Tm9kZSgpOwotICAgICAgICBSZW5kZXJT
dHlsZSogc3RhcnRpbmdTdHlsZSA9IHN0YXJ0aW5nTm9kZS0+cmVuZGVyU3R5bGUoKTsKLSAgICAg
ICAgaWYgKCFzdGFydGluZ1N0eWxlKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgIE5v
ZGUqIGN1cnJlbnROb2RlID0gc3RhcnRpbmdOb2RlOwotICAgICAgICBOb2RlKiB0b3BOb2RlV2l0
aFN0YXJ0aW5nU3R5bGUgPSAwOwotICAgICAgICB3aGlsZSAoY3VycmVudE5vZGUgIT0gcm9vdE5v
ZGUpIHsKLSAgICAgICAgICAgIGlmIChjdXJyZW50Tm9kZS0+cGFyZW50Tm9kZSgpICE9IHJvb3RO
b2RlICYmIGlzUmVtb3ZhYmxlQmxvY2soY3VycmVudE5vZGUpKQotICAgICAgICAgICAgICAgIG5v
ZGVzVG9SZW1vdmUuYXBwZW5kKGN1cnJlbnROb2RlKTsKLQotICAgICAgICAgICAgY3VycmVudE5v
ZGUgPSBjdXJyZW50Tm9kZS0+cGFyZW50Tm9kZSgpOwotICAgICAgICAgICAgaWYgKCFjdXJyZW50
Tm9kZS0+cmVuZGVyZXIoKSB8fCAhY3VycmVudE5vZGUtPnJlbmRlcmVyKCktPmlzUmVuZGVySW5s
aW5lKCkgfHwgdG9SZW5kZXJJbmxpbmUoY3VycmVudE5vZGUtPnJlbmRlcmVyKCkpLT5hbHdheXND
cmVhdGVMaW5lQm94ZXMoKSkKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICAg
ICAgaWYgKGN1cnJlbnROb2RlICYmIGN1cnJlbnROb2RlLT5maXJzdENoaWxkKCkgIT0gY3VycmVu
dE5vZGUtPmxhc3RDaGlsZCgpKSB7Ci0gICAgICAgICAgICAgICAgdG9wTm9kZVdpdGhTdGFydGlu
Z1N0eWxlID0gMDsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIAotICAgICAgICAgICAgdW5zaWduZWQgY29udGV4dDsKLSAgICAgICAgICAgIGlmIChj
dXJyZW50Tm9kZS0+cmVuZGVyU3R5bGUoKS0+ZGlmZihzdGFydGluZ1N0eWxlLCBjb250ZXh0KSA9
PSBTdHlsZURpZmZlcmVuY2VFcXVhbCkKLSAgICAgICAgICAgICAgICB0b3BOb2RlV2l0aFN0YXJ0
aW5nU3R5bGUgPSBjdXJyZW50Tm9kZTsKLSAgICAgICAgICAgIAotICAgICAgICB9Ci0gICAgICAg
IGlmICh0b3BOb2RlV2l0aFN0YXJ0aW5nU3R5bGUpIHsKLSAgICAgICAgICAgIGZvciAoTm9kZSog
bm9kZSA9IHN0YXJ0aW5nTm9kZTsgbm9kZSAhPSB0b3BOb2RlV2l0aFN0YXJ0aW5nU3R5bGU7IG5v
ZGUgPSBub2RlLT5wYXJlbnROb2RlKCkpCi0gICAgICAgICAgICAgICAgbm9kZXNUb1JlbW92ZS5h
cHBlbmQobm9kZSk7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgLy8gd2UgcGVyZm9ybSBhbGwgdGhl
IERPTSBtdXRhdGlvbnMgYXQgb25jZS4KLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG5vZGVz
VG9SZW1vdmUuc2l6ZSgpOyArK2kpCi0gICAgICAgIHJlbW92ZU5vZGVQcmVzZXJ2aW5nQ2hpbGRy
ZW4obm9kZXNUb1JlbW92ZVtpXSk7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgYm9vbCBub2RlSGFzVmlz
aWJsZVJlbmRlclRleHQoVGV4dCogdGV4dCkKIHsKICAgICByZXR1cm4gdGV4dC0+cmVuZGVyZXIo
KSAmJiB0b1JlbmRlclRleHQodGV4dC0+cmVuZGVyZXIoKSktPnJlbmRlcmVkVGV4dExlbmd0aCgp
ID4gMDsKQEAgLTEwNjcsNyArMTAyMCw3IEBAIHZvaWQgUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQ6
OmRvQXBwbHkoKQogICAgIHJlbW92ZVJlZHVuZGFudFN0eWxlc0FuZEtlZXBTdHlsZVNwYW5Jbmxp
bmUoaW5zZXJ0ZWROb2Rlcyk7CiAKICAgICBpZiAobV9zYW5pdGl6ZUZyYWdtZW50KQotICAgICAg
ICByZW1vdmVSZWR1bmRhbnRNYXJrdXAoaW5zZXJ0ZWROb2Rlcyk7CisgICAgICAgIGFwcGx5Q29t
bWFuZFRvQ29tcG9zaXRlKFNpbXBsaWZ5TWFya3VwQ29tbWFuZDo6Y3JlYXRlKGRvY3VtZW50KCks
IGluc2VydGVkTm9kZXMuZmlyc3ROb2RlSW5zZXJ0ZWQoKSwgaW5zZXJ0ZWROb2Rlcy5wYXN0TGFz
dExlYWYoKSkpOwogCiAgICAgLy8gU2V0dXAgbV9zdGFydE9mSW5zZXJ0ZWRDb250ZW50IGFuZCBt
X2VuZE9mSW5zZXJ0ZWRDb250ZW50LiBUaGlzIHNob3VsZCBiZSB0aGUgbGFzdCB0d28gbGluZXMg
b2YgY29kZSB0aGF0IGFjY2VzcyBpbnNlcnRlZE5vZGVzLgogICAgIG1fc3RhcnRPZkluc2VydGVk
Q29udGVudCA9IGZpcnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShpbnNlcnRlZE5vZGVzLmZpcnN0
Tm9kZUluc2VydGVkKCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9SZXBsYWNlU2Vs
ZWN0aW9uQ29tbWFuZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvUmVw
bGFjZVNlbGVjdGlvbkNvbW1hbmQuaAkocmV2aXNpb24gMTEzMzQyKQorKysgU291cmNlL1dlYkNv
cmUvZWRpdGluZy9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5oCSh3b3JraW5nIGNvcHkpCkBAIC04
OSw3ICs4OSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZW1vdmVVbnJlbmRlcmVkVGV4dE5vZGVz
QXRFbmRzKEluc2VydGVkTm9kZXMmKTsKICAgICAKICAgICB2b2lkIHJlbW92ZVJlZHVuZGFudFN0
eWxlc0FuZEtlZXBTdHlsZVNwYW5JbmxpbmUoSW5zZXJ0ZWROb2RlcyYpOwotICAgIHZvaWQgcmVt
b3ZlUmVkdW5kYW50TWFya3VwKEluc2VydGVkTm9kZXMmKTsKICAgICB2b2lkIGhhbmRsZVN0eWxl
U3BhbnMoSW5zZXJ0ZWROb2RlcyYpOwogICAgIHZvaWQgaGFuZGxlUGFzdGVBc1F1b3RhdGlvbk5v
ZGUoKTsKICAgICAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU2ltcGxpZnlNYXJrdXBD
b21tYW5kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NpbXBsaWZ5
TWFya3VwQ29tbWFuZC5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L1NpbXBsaWZ5TWFya3VwQ29tbWFuZC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsODggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgQ29tcHV0ZXIsIEluYy4gIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTaW1w
bGlmeU1hcmt1cENvbW1hbmQuaCIKKworI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgorI2lu
Y2x1ZGUgIlJlbmRlcklubGluZS5oIgorI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgorI2luY2x1
ZGUgIlJlbmRlclN0eWxlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworU2ltcGxpZnlNYXJr
dXBDb21tYW5kOjpTaW1wbGlmeU1hcmt1cENvbW1hbmQoRG9jdW1lbnQqIGRvY3VtZW50LCBOb2Rl
KiBmaXJzdE5vZGUsIE5vZGUqIG5vZGVBZnRlckxhc3QpIAorICAgIDogQ29tcG9zaXRlRWRpdENv
bW1hbmQoZG9jdW1lbnQpLCBtX2ZpcnN0Tm9kZShmaXJzdE5vZGUpLCBtX25vZGVBZnRlckxhc3Qo
bm9kZUFmdGVyTGFzdCkKK3sKK30KKyAgICAKK3ZvaWQgU2ltcGxpZnlNYXJrdXBDb21tYW5kOjpk
b0FwcGx5KCkKK3sKKyAgICBOb2RlKiByb290Tm9kZSA9IG1fZmlyc3ROb2RlLT5wYXJlbnROb2Rl
KCk7CisgICAgVmVjdG9yPE5vZGUqPiBub2Rlc1RvUmVtb3ZlOworICAgIAorICAgIC8vIFdhbGsg
dGhyb3VnaCB0aGUgaW5zZXJ0ZWQgbm9kZXMsIHRvIHNlZSBpZiB0aGVyZSBhcmUgZWxlbWVudHMg
dGhhdCBjb3VsZCBiZSByZW1vdmVkCisgICAgLy8gd2l0aG91dCBhZmZlY3RpbmcgdGhlIHN0eWxl
LiBUaGUgZ29hbCBpcyB0byBwcm9kdWNlIGxlYW5lciBtYXJrdXAgZXZlbiB3aGVuIHN0YXJ0aW5n
CisgICAgLy8gZnJvbSBhIHZlcmJvc2UgZnJhZ21lbnQuCisgICAgLy8gV2UgbG9vayBhdCBpbmxp
bmUgZWxlbWVudHMgYXMgd2VsbCBhcyBub24gdG9wIGxldmVsIGRpdnMgdGhhdCBkb24ndCBoYXZl
IGF0dHJpYnV0ZXMuIAorICAgIGZvciAoTm9kZSogbm9kZSA9IG1fZmlyc3ROb2RlLmdldCgpOyBu
b2RlICYmIG5vZGUgIT0gbV9ub2RlQWZ0ZXJMYXN0OyBub2RlID0gbm9kZS0+dHJhdmVyc2VOZXh0
Tm9kZSgpKSB7CisgICAgICAgIGlmIChub2RlLT5maXJzdENoaWxkKCkgfHwgKG5vZGUtPmlzVGV4
dE5vZGUoKSAmJiBub2RlLT5uZXh0U2libGluZygpKSkKKyAgICAgICAgICAgIGNvbnRpbnVlOwor
ICAgICAgICAKKyAgICAgICAgTm9kZSogc3RhcnRpbmdOb2RlID0gbm9kZS0+cGFyZW50Tm9kZSgp
OworICAgICAgICBSZW5kZXJTdHlsZSogc3RhcnRpbmdTdHlsZSA9IHN0YXJ0aW5nTm9kZS0+cmVu
ZGVyU3R5bGUoKTsKKyAgICAgICAgaWYgKCFzdGFydGluZ1N0eWxlKQorICAgICAgICAgICAgY29u
dGludWU7CisgICAgICAgIE5vZGUqIGN1cnJlbnROb2RlID0gc3RhcnRpbmdOb2RlOworICAgICAg
ICBOb2RlKiB0b3BOb2RlV2l0aFN0YXJ0aW5nU3R5bGUgPSAwOworICAgICAgICB3aGlsZSAoY3Vy
cmVudE5vZGUgIT0gcm9vdE5vZGUpIHsKKyAgICAgICAgICAgIGlmIChjdXJyZW50Tm9kZS0+cGFy
ZW50Tm9kZSgpICE9IHJvb3ROb2RlICYmIGlzUmVtb3ZhYmxlQmxvY2soY3VycmVudE5vZGUpKQor
ICAgICAgICAgICAgICAgIG5vZGVzVG9SZW1vdmUuYXBwZW5kKGN1cnJlbnROb2RlKTsKKyAgICAg
ICAgICAgIAorICAgICAgICAgICAgY3VycmVudE5vZGUgPSBjdXJyZW50Tm9kZS0+cGFyZW50Tm9k
ZSgpOworICAgICAgICAgICAgaWYgKCFjdXJyZW50Tm9kZS0+cmVuZGVyZXIoKSB8fCAhY3VycmVu
dE5vZGUtPnJlbmRlcmVyKCktPmlzUmVuZGVySW5saW5lKCkgfHwgdG9SZW5kZXJJbmxpbmUoY3Vy
cmVudE5vZGUtPnJlbmRlcmVyKCkpLT5hbHdheXNDcmVhdGVMaW5lQm94ZXMoKSkKKyAgICAgICAg
ICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKGN1cnJlbnRO
b2RlICYmIGN1cnJlbnROb2RlLT5maXJzdENoaWxkKCkgIT0gY3VycmVudE5vZGUtPmxhc3RDaGls
ZCgpKSB7CisgICAgICAgICAgICAgICAgdG9wTm9kZVdpdGhTdGFydGluZ1N0eWxlID0gMDsKKyAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAg
ICAgICAgdW5zaWduZWQgY29udGV4dDsKKyAgICAgICAgICAgIGlmIChjdXJyZW50Tm9kZS0+cmVu
ZGVyU3R5bGUoKS0+ZGlmZihzdGFydGluZ1N0eWxlLCBjb250ZXh0KSA9PSBTdHlsZURpZmZlcmVu
Y2VFcXVhbCkKKyAgICAgICAgICAgICAgICB0b3BOb2RlV2l0aFN0YXJ0aW5nU3R5bGUgPSBjdXJy
ZW50Tm9kZTsKKyAgICAgICAgICAgIAorICAgICAgICB9CisgICAgICAgIGlmICh0b3BOb2RlV2l0
aFN0YXJ0aW5nU3R5bGUpIHsKKyAgICAgICAgICAgIGZvciAoTm9kZSogbm9kZSA9IHN0YXJ0aW5n
Tm9kZTsgbm9kZSAhPSB0b3BOb2RlV2l0aFN0YXJ0aW5nU3R5bGU7IG5vZGUgPSBub2RlLT5wYXJl
bnROb2RlKCkpCisgICAgICAgICAgICAgICAgbm9kZXNUb1JlbW92ZS5hcHBlbmQobm9kZSk7Cisg
ICAgICAgIH0KKyAgICB9CisgICAgLy8gd2UgcGVyZm9ybSBhbGwgdGhlIERPTSBtdXRhdGlvbnMg
YXQgb25jZS4KKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG5vZGVzVG9SZW1vdmUuc2l6ZSgp
OyArK2kpCisgICAgICAgIHJlbW92ZU5vZGVQcmVzZXJ2aW5nQ2hpbGRyZW4obm9kZXNUb1JlbW92
ZVtpXSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvU2ltcGxpZnlNYXJrdXBDb21tYW5kLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvZWRpdGluZy9TaW1wbGlmeU1hcmt1cENvbW1hbmQuaAkocmV2aXNpb24gMCkKKysrIFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvU2ltcGxpZnlNYXJrdXBDb21tYW5kLmgJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgQ09NUFVURVIsIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBDT01QVVRFUiwgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIFNpbXBsaWZ5TWFya3VwQ29tbWFu
ZF9oCisjZGVmaW5lIFNpbXBsaWZ5TWFya3VwQ29tbWFuZF9oCisKKyNpbmNsdWRlICJDb21wb3Np
dGVFZGl0Q29tbWFuZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNpbXBsaWZ5
TWFya3VwQ29tbWFuZCA6IHB1YmxpYyBDb21wb3NpdGVFZGl0Q29tbWFuZCB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8U2ltcGxpZnlNYXJrdXBDb21tYW5kPiBjcmVhdGUoRG9jdW1l
bnQqIGRvY3VtZW50LCBOb2RlKiBmaXJzdE5vZGUsIE5vZGUqIG5vZGVBZnRlckxhc3QpCisgICAg
eworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNpbXBsaWZ5TWFya3VwQ29tbWFuZChkb2N1
bWVudCwgZmlyc3ROb2RlLCBub2RlQWZ0ZXJMYXN0KSk7CisgICAgfQorCitwcml2YXRlOgorICAg
IFNpbXBsaWZ5TWFya3VwQ29tbWFuZChEb2N1bWVudCosIE5vZGUqIGZpcnN0Tm9kZSwgTm9kZSog
bm9kZUFmdGVyTGFzdCk7CisKKyAgICB2aXJ0dWFsIHZvaWQgZG9BcHBseSgpOworICAgIAorICAg
IFJlZlB0cjxOb2RlPiBtX2ZpcnN0Tm9kZTsKKyAgICBSZWZQdHI8Tm9kZT4gbV9ub2RlQWZ0ZXJM
YXN0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gU2ltcGxpZnlN
YXJrdXBDb21tYW5kX2gK
</data>

          </attachment>
      

    </bug>

</bugzilla>