<?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>99271</bug_id>
          
          <creation_ts>2012-10-14 13:11:58 -0700</creation_ts>
          <short_desc>[GTK] Feature enabling/disabling should be possible through build-webkit</short_desc>
          <delta_ts>2012-12-12 08:20:38 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</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>
          
          <blocked>87126</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>abarth</cc>
    
    <cc>dbates</cc>
    
    <cc>dpranke</cc>
    
    <cc>gustavo</cc>
    
    <cc>levin</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>741588</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-10-14 13:11:58 -0700</bug_when>
    <thetext>Currently there is no way of enabling or disabling features by passing appropriate flags to the build-webkit script.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743096</commentid>
    <comment_count>1</comment_count>
      <attachid>168933</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-10-16 06:07:56 -0700</bug_when>
    <thetext>Created attachment 168933
WIP patch

A work-in-progress patch, using a very hack-ish approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745140</commentid>
    <comment_count>2</comment_count>
      <attachid>169387</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-10-18 03:49:51 -0700</bug_when>
    <thetext>Created attachment 169387
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745142</commentid>
    <comment_count>3</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-10-18 03:52:59 -0700</bug_when>
    <thetext>Hi Martin, kov, I&apos;d appreciate a review of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786721</commentid>
    <comment_count>4</comment_count>
      <attachid>169387</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-12-09 02:17:44 -0800</bug_when>
    <thetext>Comment on attachment 169387
Patch

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

&gt; Tools/Scripts/webkitdirs.pm:2032
&gt; +    # Configurable features listed here should be kept in sync with the
&gt; +    # features for which there exists a configuration option in configure.ac.
&gt; +    my %configurableFeatures = (
&gt; +        &quot;filters&quot; =&gt; 1,
&gt; +        &quot;gamepad&quot; =&gt; 1,
&gt; +        &quot;geolocation&quot; =&gt; 1,
&gt; +        &quot;indexed-database&quot; =&gt; 1,
&gt; +        &quot;media-stream&quot; =&gt; 1,
&gt; +        &quot;svg&quot; =&gt; 1,
&gt; +        &quot;svg-fonts&quot; =&gt; 1,
&gt; +        &quot;video&quot; =&gt; 1,
&gt; +        &quot;webgl&quot; =&gt; 1,
&gt; +        &quot;web-audio&quot; =&gt; 1,
&gt; +        &quot;xslt&quot; =&gt; 1,
&gt; +    );
&gt; +    my @overridableFeatures = ();
&gt; +    foreach (@features) {
&gt; +        if ($configurableFeatures{$_-&gt;{option}}) {
&gt; +            push @buildArgs, autotoolsFlag(${$_-&gt;{value}}, $_-&gt;{option});;

In general I really like the way you&apos;re separating stuff that we allow configuration for and stuff build-webkit allows configuration for. I think it would be useful to have a comment around here explaining the overall architecture: that build-webkit parameters will in create a new GNUmakefile.features.am instead of passing parameters to autogen/configure. I think there&apos;s also the problem of we having to be more careful when generating the dist tarball - if we pass any parameters to build-webkit we&apos;ll get different defaults in the distributed tarball, so be good to make that explicit somewhere, this might be a good place for all that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786857</commentid>
    <comment_count>5</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-12-09 12:53:22 -0800</bug_when>
    <thetext>Thanks for the review. If it&apos;s okay with you I&apos;d also like to run a small test of creating the release tarball just to be sure things don&apos;t go fubar in that scenario.

Also, as discussed with Martin, this change opens the door for again using the build-webkit script (and the FeatureList module) as the preferred way of enabling and disabling the features in developer builds instead of using a configuration flag that overrides the feature defines in Source/WebCore/GNUmakefile.am</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789580</commentid>
    <comment_count>6</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2012-12-12 08:20:31 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; In general I really like the way you&apos;re separating stuff that we allow configuration for and stuff build-webkit allows configuration for. I think it would be useful to have a comment around here explaining the overall architecture: that build-webkit parameters will in create a new GNUmakefile.features.am instead of passing parameters to autogen/configure. I think there&apos;s also the problem of we having to be more careful when generating the dist tarball - if we pass any parameters to build-webkit we&apos;ll get different defaults in the distributed tarball, so be good to make that explicit somewhere, this might be a good place for all that.

Announcing on the mailing list that people shouldn&apos;t use build-webkit for creating the tarballs.

The patch otherwise landed in r137270.
http://trac.webkit.org/changeset/137270</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168933</attachid>
            <date>2012-10-16 06:07:56 -0700</date>
            <delta_ts>2012-10-18 03:49:48 -0700</delta_ts>
            <desc>WIP patch</desc>
            <filename>bug-99271-20121016060644.patch</filename>
            <type>text/plain</type>
            <size>16700</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMzI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjUwYzM2MmExNTU2NTAx
YjI4NzI0NTllYWFmYzRhMGQyNzMzOGQ4Zi4uYWI4NzU1NjM3MjczM2VlYmMzNmU3OTc1NzI0Y2Ez
OTJhM2I5NjMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEyLTEwLTE2ICBaYW4g
RG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CisKKyAgICAgICAgW0dUS10gRmVhdHVy
ZSBlbmFibGluZy9kaXNhYmxpbmcgc2hvdWxkIGJlIHBvc3NpYmxlIHRocm91Z2ggYnVpbGQtd2Vi
a2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTI3
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGl0
aW9uYWwgaW5mb3JtYXRpb24gb2YgdGhlIGNoYW5nZSBzdWNoIGFzIGFwcHJvYWNoLCByYXRpb25h
bGUuIFBsZWFzZSBhZGQgcGVyLWZ1bmN0aW9uIGRlc2NyaXB0aW9ucyBiZWxvdyAoT09QUyEpLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisgICAgICAgICogR05VbWFrZWZpbGUu
ZmVhdHVyZXMuYW06CisKIDIwMTItMTAtMTUgIE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2ds
ZS5jb20+CiAKICAgICAgICAgW1JlZ3Jlc3Npb24gcjEzMTE2N10gcnVuLXdlYmtpdC10ZXN0cyBm
YWlscwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUuZmVhdHVyZXMuYW0g
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5mZWF0dXJlcy5hbQppbmRleCAwZTJiNWNhMDg2
MmIyYjcyODExYWYyZmQwNWRlY2M3MWNlZGZhNTU2Li41ZjMyNDEyYzMwM2NjODFhOTY5ZmEwYjdj
N2Q2NDljZGY2NGQyYWQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5m
ZWF0dXJlcy5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5mZWF0dXJlcy5hbQpA
QCAtMjksNyArMjksNyBAQCBmZWF0dXJlX2RlZmluZXNfZGVmYXVsdHMgKz0gXAogCUVOQUJMRV9E
T1dOTE9BRF9BVFRSSUJVVEU9MCBcCiAJRU5BQkxFX0ZJTEVfU1lTVEVNPTAgXAogCUVOQUJMRV9G
SUxURVJTPTEgXAotCUVOQUJMRV9GVFBESVI9MCBcCisJRU5BQkxFX0ZUUERJUj0xIFwKIAlFTkFC
TEVfRlVMTFNDUkVFTl9BUEk9MSBcCiAJRU5BQkxFX0dBTUVQQUQ9MSBcCiAJRU5BQkxFX0dFT0xP
Q0FUSU9OPTEgXApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9n
CmluZGV4IDZlMWM1ZjRiZjdkMThkOWMzYmE5YWMxNTdkYzJlODc3YjcxOWFkOWUuLmEyZGQxZGQx
NzY4ZWFiNTcxMjczYzA1YWU2YzM0M2RhMDllOGRhZWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5n
ZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMi0xMC0xNiAg
WmFuIERvYmVyc2VrICA8emFuZG9iZXJzZWtAZ21haWwuY29tPgorCisgICAgICAgIFtHVEtdIEZl
YXR1cmUgZW5hYmxpbmcvZGlzYWJsaW5nIHNob3VsZCBiZSBwb3NzaWJsZSB0aHJvdWdoIGJ1aWxk
LXdlYmtpdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTkyNzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBB
ZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9mIHRoZSBjaGFuZ2Ugc3VjaCBhcyBhcHByb2FjaCwgcmF0
aW9uYWxlLiBQbGVhc2UgYWRkIHBlci1mdW5jdGlvbiBkZXNjcmlwdGlvbnMgYmVsb3cgKE9PUFMh
KS4KKworICAgICAgICAqIFNjcmlwdHMvYnVpbGQtanNjOgorICAgICAgICAoYnVpbGRNeVByb2pl
Y3QpOgorICAgICAgICAqIFNjcmlwdHMvYnVpbGQtd2Via2l0OgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0ZGlycy5wbToKKyAgICAgICAgKHJ1bkF1dG9nZW5Gb3JBdXRvdG9vbHNQcm9qZWN0SWZO
ZWNlc3NhcnkpOgorICAgICAgICAobXVzdFJlUnVuQXV0b2dlbik6CisgICAgICAgIChidWlsZEF1
dG90b29sc1Byb2plY3QpOgorICAgICAgICAoYnVpbGRHdGtQcm9qZWN0KToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG06CisgICAgICAgICogZ3RrL2FkanVzdC1i
dWlsZC13ZWJraXQtZmVhdHVyZXM6IEFkZGVkLgorICAgICAgICAoZ2V0X2ZlYXR1cmVzKToKKyAg
ICAgICAgKGdldF9vdmVycmlkYWJsZV9mZWF0dXJlcyk6CisgICAgICAgIChhZGp1c3RfZ251bWFr
ZWZpbGVfZm9yX2ZlYXR1cmVzKToKKyAgICAgICAgKGFkanVzdF9idWlsZF93ZWJraXRfZmVhdHVy
ZXMpOgorCiAyMDEyLTEwLTE1ICBHZW9yZ2UgU3RhaWtvcyAgPHN0YWlrb3NAd2Via2l0Lm9yZz4K
IAogICAgICAgICBbQmxhY2tCZXJyeV0gQWRhcHQgdG8gUGxhdGZvcm0gQVBJIGNoYW5nZXMgaW4g
c3RyaW5nIGhhbmRsaW5nCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL2J1aWxkLWpzYyBiL1Rv
b2xzL1NjcmlwdHMvYnVpbGQtanNjCmluZGV4IDNmYmY0M2ZlMTM3NThmMWQ2ODBhZTdhNWVhYTQw
N2IzNDUwZGNhNjYuLmNhMDU2ZjhkN2VkMWI1NDc4ZjkyYjkxMWJjNGZhYmQxZjRjM2JiZTkgMTAw
NzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtanNjCisrKyBiL1Rvb2xzL1NjcmlwdHMvYnVp
bGQtanNjCkBAIC04NSw3ICs4NSw3IEBAIHN1YiBidWlsZE15UHJvamVjdAogICAgICAgICAkcmVz
dWx0ID0gYnVpbGRWaXN1YWxTdHVkaW9Qcm9qZWN0KCIkcHJvamVjdE5hbWUudmNwcm9qLyRwcm9q
ZWN0TmFtZS5zbG4iKTsKICAgICB9IGVsc2lmIChpc0d0aygpKSB7CiAgICAgICAgIGNoZWNrRm9y
QXJndW1lbnRBbmRSZW1vdmVGcm9tQVJHVigiLS1ndGsiKTsKLSAgICAgICAgJHJlc3VsdCA9IGJ1
aWxkR3RrUHJvamVjdCgkcHJvamVjdE5hbWUsIDAsIEBBUkdWKTsKKyAgICAgICAgJHJlc3VsdCA9
IGJ1aWxkR3RrUHJvamVjdCgkcHJvamVjdE5hbWUsIDApOwogICAgIH0gZWxzaWYgKGlzV3goKSkg
ewogICAgICAgICAjIEJ1aWxkcyBldmVyeXRoaW5nIGluIG9uZS1zaG90LiBObyBuZWVkIHRvIGJ1
aWxkIGFueXRoaW5nIGhlcmUuCiAgICAgICAgICRyZXN1bHQgPSAwOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvU2NyaXB0cy9idWlsZC13ZWJraXQgYi9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdAppbmRl
eCA0YjE2MWE1YWQ2ODk1OGQ1NTBiODVkZmViOTk5YzliOTQzZDRmNTdlLi5iMWY1YWE2YjQxZGQ1
NjYyMzcyYmE1ZmQ3ODNhOTllMjcyMGFhOTNmIDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL2J1
aWxkLXdlYmtpdAorKysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLXdlYmtpdApAQCAtMjEwLDE2ICsy
MTAsNyBAQCBpZiAoJHVzZUdZUCkgewogCiBteSBAb3B0aW9ucyA9ICgpOwogCi0jIGVuYWJsZSBh
dXRvdG9vbCBvcHRpb25zIGFjY29yZGluZ2x5Ci1pZiAoaXNHdGsoKSkgewotICAgIEBvcHRpb25z
ID0gQEFSR1Y7Ci0gICAgZm9yZWFjaCAoQGZlYXR1cmVzKSB7Ci0gICAgICAgIHB1c2ggQG9wdGlv
bnMsIGF1dG90b29sc0ZsYWcoJHskXy0+e3ZhbHVlfX0sICRfLT57b3B0aW9ufSk7Ci0gICAgfQot
Ci0gICAgcHVzaCBAb3B0aW9ucywgIi0tcHJlZml4PSIgLiAkcHJlZml4UGF0aCBpZiBkZWZpbmVk
KCRwcmVmaXhQYXRoKTsKLSAgICBwdXNoIEBvcHRpb25zLCAiLS1tYWtlYXJncz0iIC4gJG1ha2VB
cmdzIGlmICRtYWtlQXJnczsKLX0gZWxzaWYgKGlzQXBwbGVNYWNXZWJLaXQoKSkgeworaWYgKGlz
QXBwbGVNYWNXZWJLaXQoKSkgewogICAgIGNoZWNrRm9ySmF2YVNESygpOwogICAgIHB1c2ggQG9w
dGlvbnMsIFhjb2RlT3B0aW9ucygpOwogCkBAIC0zNjYsMTAgKzM1Nyw3IEBAIGZvciBteSAkZGly
IChAcHJvamVjdHMpIHsKIAogICAgIG15ICRwcm9qZWN0ID0gYmFzZW5hbWUoJGRpcik7CiAgICAg
aWYgKGlzR3RrKCkpIHsKLSAgICAgICAgaWYgKCRub1dlYktpdDIpIHsKLSAgICAgICAgICAgIHVu
c2hpZnQoQG9wdGlvbnMsICItLWRpc2FibGUtd2Via2l0MiIpOwotICAgICAgICB9Ci0gICAgICAg
ICRyZXN1bHQgPSBidWlsZEd0a1Byb2plY3QoJHByb2plY3QsICRjbGVhbiwgQG9wdGlvbnMpOwor
ICAgICAgICAkcmVzdWx0ID0gYnVpbGRHdGtQcm9qZWN0KCRwcm9qZWN0LCAkY2xlYW4sICRwcmVm
aXhQYXRoLCAkbWFrZUFyZ3MsICRub1dlYktpdDIsIEBmZWF0dXJlcyk7CiAgICAgfSBlbHNpZiAo
aXNBcHBsZU1hY1dlYktpdCgpKSB7CiAgICAgICAgIG15IEBsb2NhbF9vcHRpb25zID0gQG9wdGlv
bnM7CiAgICAgICAgIHB1c2ggQGxvY2FsX29wdGlvbnMsIFhjb2RlQ292ZXJhZ2VTdXBwb3J0T3B0
aW9ucygpIGlmICRjb3ZlcmFnZVN1cHBvcnQgJiYgJHByb2plY3QgbmUgIkFOR0xFIjsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0
ZGlycy5wbQppbmRleCAwYWVhODY4MzMwNTIzMzg4ZDIxYTBlMGVjOGMyYTk2OTkyZDZlNGJkLi5m
NmIyNWQ3NTZhZDliMWUwZjJkNDdiODMzYWZmMDA4ZTkzY2I4ZTMzIDEwMDc1NQotLS0gYS9Ub29s
cy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBt
CkBAIC0xODk3LDkgKzE4OTcsMTAgQEAgc3ViIGF1dG90b29sc0ZsYWcoJCQpCiAKIHN1YiBydW5B
dXRvZ2VuRm9yQXV0b3Rvb2xzUHJvamVjdElmTmVjZXNzYXJ5KCRAKQogewotICAgIG15ICgkZGly
LCAkcHJlZml4LCAkc291cmNlRGlyLCAkcHJvamVjdCwgQGJ1aWxkQXJncykgPSBAXzsKKyAgICBt
eSAoJGRpciwgJHByZWZpeCwgJHNvdXJjZURpciwgJHByb2plY3QsICRqb2luZWRPdmVycmlkYWJs
ZUZlYXR1cmVzLCBAYnVpbGRBcmdzKSA9IEBfOworCisgICAgbXkgJGpvaW5lZEJ1aWxkQXJncyA9
IGpvaW4oIiAiLCBAYnVpbGRBcmdzKTsKIAotICAgIG15ICRhcmd1bWVudHNGaWxlID0gInByZXZp
b3VzLWF1dG9nZW4tYXJndW1lbnRzLnR4dCI7CiAgICAgaWYgKC1lICJHTlVtYWtlZmlsZSIpIHsK
ICAgICAgICAgIyBKdXN0IGFzc3VtZSB0aGF0IGJ1aWxkLWpzYyB3aWxsIG5ldmVyIGJlIHVzZWQg
dG8gcmVjb25maWd1cmUgSlNDLiBMYXRlcgogICAgICAgICAjIHdlIGNhbiBnbyBiYWNrIGFuZCBt
YWtlIHRoaXMgbW9yZSBjb21wbGljYXRlZCBpZiB0aGUgZGVtYW5kIGlzIHRoZXJlLgpAQCAtMTkw
Nyw4ICsxOTA4LDkgQEAgc3ViIHJ1bkF1dG9nZW5Gb3JBdXRvdG9vbHNQcm9qZWN0SWZOZWNlc3Nh
cnkoJEApCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICAjIFdlIG9u
bHkgcnVuIGF1dG9nZW4uc2ggYWdhaW4gaWYgdGhlIGFyZ3VtZW50cyBwYXNzZWQgaGF2ZSBjaGFu
Z2VkLgotICAgICAgICBpZiAoIW11c3RSZVJ1bkF1dG9nZW4oJHNvdXJjZURpciwgJGFyZ3VtZW50
c0ZpbGUsIEBidWlsZEFyZ3MpKSB7CisgICAgICAgICMgUnVuIGF1dG9nZW4uc2ggYWdhaW4gaWYg
ZWl0aGVyIHRoZSBmZWF0dXJlcyBvdmVycmlkZWQgYnkgYnVpbGQtd2Via2l0IG9yIGJ1aWxkIGFy
Z3VtZW50cyBoYXZlIGNoYW5nZWQuCisgICAgICAgIGlmICghbXVzdFJlUnVuQXV0b2dlbigkc291
cmNlRGlyLCAib3ZlcnJpZGFibGUtZmVhdHVyZXMudHh0IiwgJGpvaW5lZE92ZXJyaWRhYmxlRmVh
dHVyZXMpCisgICAgICAgICAgICAmJiAhbXVzdFJlUnVuQXV0b2dlbigkc291cmNlRGlyLCAicHJl
dmlvdXMtYXV0b2dlbi1hcmd1bWVudHMudHh0IiwgJGpvaW5lZEJ1aWxkQXJncykpIHsKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KQEAgLTE5MTksOSArMTkyMSwxMyBAQCBz
dWIgcnVuQXV0b2dlbkZvckF1dG90b29sc1Byb2plY3RJZk5lY2Vzc2FyeSgkQCkKICAgICAjIE9u
bHkgZm9yIFdlYktpdCwgd3JpdGUgdGhlIGF1dG9nZW4uc2ggYXJndW1lbnRzIHRvIGEgZmlsZSBz
byB0aGF0IHdlIGNhbiBkZXRlY3QKICAgICAjIHdoZW4gdGhleSBjaGFuZ2UgYW5kIGF1dG9tYXRp
Y2FsbHkgcmUtcnVuIGl0LgogICAgIGlmICgkcHJvamVjdCBlcSAnV2ViS2l0JykgewotICAgICAg
ICBvcGVuKEFVVE9UT09MU19BUkdVTUVOVFMsICI+JGFyZ3VtZW50c0ZpbGUiKTsKLSAgICAgICAg
cHJpbnQgQVVUT1RPT0xTX0FSR1VNRU5UUyBqb2luKCIgIiwgQGJ1aWxkQXJncyk7CisgICAgICAg
IG9wZW4oQVVUT1RPT0xTX0FSR1VNRU5UUywgIj5wcmV2aW91cy1hdXRvZ2VuLWFyZ3VtZW50cy50
eHQiKTsKKyAgICAgICAgcHJpbnQgQVVUT1RPT0xTX0FSR1VNRU5UUyAkam9pbmVkQnVpbGRBcmdz
OwogICAgICAgICBjbG9zZShBVVRPVE9PTFNfQVJHVU1FTlRTKTsKKworICAgICAgICBvcGVuKE9W
RVJSSURBQkxFX0ZFQVRVUkVTLCAiPm92ZXJyaWRhYmxlLWZlYXR1cmVzLnR4dCIpOworICAgICAg
ICBwcmludCBPVkVSUklEQUJMRV9GRUFUVVJFUyAkam9pbmVkT3ZlcnJpZGFibGVGZWF0dXJlczsK
KyAgICAgICAgY2xvc2UoT1ZFUlJJREFCTEVfRkVBVFVSRVMpOwogICAgIH0KIAogICAgICMgTWFr
ZSB0aGUgcGF0aCByZWxhdGl2ZSBzaW5jZSBpdCB3aWxsIGFwcGVhciBpbiBhbGwgLUkgY29tcGls
ZXIgZmxhZ3MuCkBAIC0xOTU0LDI0ICsxOTYwLDI0IEBAIHN1YiBnZXRKaGJ1aWxkUGF0aCgpCiAK
IHN1YiBtdXN0UmVSdW5BdXRvZ2VuKCRAKQogewotICAgIG15ICgkc291cmNlRGlyLCAkZmlsZW5h
bWUsIEBjdXJyZW50QXJndW1lbnRzKSA9IEBfOworICAgIG15ICgkc291cmNlRGlyLCAkZmlsZW5h
bWUsICRjdXJyZW50Q29udGVudHMpID0gQF87CiAKICAgICBpZiAoISAtZSAkZmlsZW5hbWUpIHsK
ICAgICAgICAgcmV0dXJuIDE7CiAgICAgfQogCi0gICAgb3BlbihBVVRPVE9PTFNfQVJHVU1FTlRT
LCAkZmlsZW5hbWUpOwotICAgIGNob21wKG15ICRwcmV2aW91c0FyZ3VtZW50cyA9IDxBVVRPVE9P
TFNfQVJHVU1FTlRTPik7Ci0gICAgY2xvc2UoQVVUT1RPT0xTX0FSR1VNRU5UUyk7CisgICAgb3Bl
bihDT05URU5UU19GSUxFLCAkZmlsZW5hbWUpOworICAgIGNob21wKG15ICRwcmV2aW91c0NvbnRl
bnRzID0gPENPTlRFTlRTX0ZJTEU+KTsKKyAgICBjbG9zZShDT05URU5UU19GSUxFKTsKIAogICAg
ICMgV2Ugb25seSBjYXJlIGFib3V0IHRoZSBXZWJLaXQyIGFyZ3VtZW50IHdoZW4gd2UgYXJlIGJ1
aWxkaW5nIFdlYktpdCBpdHNlbGYuCiAgICAgIyBidWlsZC1qc2MgbmV2ZXIgcGFzc2VzIC0tZW5h
YmxlLXdlYmtpdDIsIHNvIGlmIHdlIGRpZG4ndCBkbyB0aGlzLCBhdXRvZ2VuLnNoCiAgICAgIyB3
b3VsZCBydW4gZm9yIGV2ZXJ5IHNpbmdsZSBidWlsZCBvbiB0aGUgYm90cywgc2luY2UgaXQgcnVu
cyBib3RoIGJ1aWxkLXdlYmtpdAogICAgICMgYW5kIGJ1aWxkLWpzYy4KLSAgICBteSAkam9pbmVk
Q3VycmVudEFyZ3VtZW50cyA9IGpvaW4oIiAiLCBAY3VycmVudEFyZ3VtZW50cyk7Ci0gICAgaWYg
KCRwcmV2aW91c0FyZ3VtZW50cyBuZSAkam9pbmVkQ3VycmVudEFyZ3VtZW50cykgewotICAgICAg
ICBwcmludCAiUHJldmlvdXMgYXV0b2dlbiBhcmd1bWVudHMgd2VyZTogJHByZXZpb3VzQXJndW1l
bnRzXG5cbiI7Ci0gICAgICAgIHByaW50ICJOZXcgYXV0b2dlbiBhcmd1bWVudHMgYXJlOiAkam9p
bmVkQ3VycmVudEFyZ3VtZW50c1xuIjsKKyAgICBpZiAoJHByZXZpb3VzQ29udGVudHMgbmUgJGN1
cnJlbnRDb250ZW50cykgeworICAgICAgICBwcmludCAiQ29udGVudHMgZm9yIGZpbGUgJGZpbGVu
YW1lIGhhdmUgY2hhbmdlZC5cbiI7CisgICAgICAgIHByaW50ICJQcmV2aW91cyBjb250ZW50cyB3
ZXJlOiAkcHJldmlvdXNDb250ZW50c1xuXG4iOworICAgICAgICBwcmludCAiTmV3IGNvbnRlbnRz
IGFyZTogJGN1cnJlbnRDb250ZW50c1xuIjsKICAgICAgICAgcmV0dXJuIDE7CiAgICAgfQogCkBA
IC0xOTgwLDEyICsxOTg2LDExIEBAIHN1YiBtdXN0UmVSdW5BdXRvZ2VuKCRAKQogCiBzdWIgYnVp
bGRBdXRvdG9vbHNQcm9qZWN0KCRAKQogewotICAgIG15ICgkcHJvamVjdCwgJGNsZWFuLCBAYnVp
bGRQYXJhbXMpID0gQF87CisgICAgbXkgKCRwcm9qZWN0LCAkY2xlYW4sICRwcmVmaXgsICRtYWtl
QXJncywgJG5vV2ViS2l0MiwgQGZlYXR1cmVzKSA9IEBfOwogCiAgICAgbXkgJG1ha2UgPSAnbWFr
ZSc7CiAgICAgbXkgJGRpciA9IHByb2R1Y3REaXIoKTsKICAgICBteSAkY29uZmlnID0gcGFzc2Vk
Q29uZmlndXJhdGlvbigpIHx8IGNvbmZpZ3VyYXRpb24oKTsKLSAgICBteSAkcHJlZml4OwogCiAg
ICAgIyBVc2Ugcm0gdG8gY2xlYW4gdGhlIGJ1aWxkIGRpcmVjdG9yeSBzaW5jZSBkaXN0Y2xlYW4g
bWF5IG1pc3MgZmlsZXMKICAgICBpZiAoJGNsZWFuICYmIC1kICRkaXIpIHsKQEAgLTIwMDEsMTkg
KzIwMDYsMzMgQEAgc3ViIGJ1aWxkQXV0b3Rvb2xzUHJvamVjdCgkQCkKICAgICAgICAgcmV0dXJu
IDA7CiAgICAgfQogCi0gICAgbXkgQGJ1aWxkQXJncyA9ICgpOwotICAgIG15ICRtYWtlQXJncyA9
ICRFTlZ7IldlYktpdE1ha2VBcmd1bWVudHMifSB8fCAiIjsKLSAgICBmb3IgbXkgJGkgKDAgLi4g
JCNidWlsZFBhcmFtcykgewotICAgICAgICBteSAkb3B0ID0gJGJ1aWxkUGFyYW1zWyRpXTsKLSAg
ICAgICAgaWYgKCRvcHQgPX4gL14tLW1ha2VhcmdzPSguKikvaSApIHsKLSAgICAgICAgICAgICRt
YWtlQXJncyA9ICRtYWtlQXJncyAuICIgIiAuICQxOwotICAgICAgICB9IGVsc2lmICgkb3B0ID1+
IC9eLS1wcmVmaXg9KC4qKS9pICkgewotICAgICAgICAgICAgJHByZWZpeCA9ICQxOworICAgIG15
IEBidWlsZEFyZ3MgPSBAQVJHVjsKKworICAgIG15ICVjb25maWd1cmFibGVGZWF0dXJlcyA9ICgK
KyAgICAgICAgImZpbHRlcnMiID0+IDEsCisgICAgICAgICJnYW1lcGFkIiA9PiAxLAorICAgICAg
ICAiZ2VvbG9jYXRpb24iID0+IDEsCisgICAgICAgICJpbmRleGVkLWRhdGFiYXNlIiA9PiAxLAor
ICAgICAgICAibWVkaWEtc3RyZWFtIiA9PiAxLAorICAgICAgICAic3ZnIiA9PiAxLAorICAgICAg
ICAic3ZnLWZvbnRzIiA9PiAxLAorICAgICAgICAidmlkZW8iID0+IDEsCisgICAgICAgICJ3ZWJn
bCIgPT4gMSwKKyAgICAgICAgIndlYi1hdWRpbyIgPT4gMSwKKyAgICAgICAgInhzbHQiID0+IDEs
CisgICAgKTsKKyAgICBteSBAb3ZlcnJpZGFibGVGZWF0dXJlcyA9ICgpOworICAgIGZvcmVhY2gg
KEBmZWF0dXJlcykgeworICAgICAgICBpZiAoJGNvbmZpZ3VyYWJsZUZlYXR1cmVzeyRfLT57b3B0
aW9ufX0pIHsKKyAgICAgICAgICAgIHB1c2ggQGJ1aWxkQXJncywgYXV0b3Rvb2xzRmxhZygkeyRf
LT57dmFsdWV9fSwgJF8tPntvcHRpb259KTs7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICBwdXNoIEBidWlsZEFyZ3MsICRvcHQ7CisgICAgICAgICAgICBwdXNoIEBvdmVycmlkYWJsZUZl
YXR1cmVzLCAkXy0+e2RlZmluZX0gLiAiPSIgLiAoJHskXy0+e3ZhbHVlfX0gPyAiMSIgOiAiMCIp
OwogICAgICAgICB9CiAgICAgfQogCisgICAgJG1ha2VBcmdzID0gJG1ha2VBcmdzIHx8ICIiOwor
ICAgICRtYWtlQXJncyA9ICRtYWtlQXJncyAuICIgIiAuICRFTlZ7IldlYktpdE1ha2VBcmd1bWVu
dHMifSBpZiAkRU5WeyJXZWJLaXRNYWtlQXJndW1lbnRzIn07CisKICAgICAjIEF1dG9tYXRpY2Fs
bHkgZGV0ZXJtaW5lIHRoZSBudW1iZXIgb2YgQ1BVcyBmb3IgbWFrZSBvbmx5CiAgICAgIyBpZiBt
YWtlIGFyZ3VtZW50cyBoYXZlbid0IGFscmVhZHkgYmVlbiBzcGVjaWZpZWQuCiAgICAgaWYgKCRt
YWtlQXJncyBlcSAiIikgewpAQCAtMjA1MSw3ICsyMDcwLDggQEAgc3ViIGJ1aWxkQXV0b3Rvb2xz
UHJvamVjdCgkQCkKICAgICAjIElmIEdOVW1ha2VmaWxlIGV4aXN0cywgZG9uJ3QgcnVuIGF1dG9n
ZW4uc2ggdW5sZXNzIGl0cyBhcmd1bWVudHMKICAgICAjIGhhdmUgY2hhbmdlZC4gVGhlIG1ha2Vm
aWxlIHNob3VsZCBiZSBzbWFydCBlbm91Z2ggdG8gdHJhY2sgYXV0b3Rvb2xzCiAgICAgIyBkZXBl
bmRlbmNpZXMgYW5kIHJlLXJ1biBhdXRvZ2VuLnNoIHdoZW4gYnVpbGQgZmlsZXMgY2hhbmdlLgot
ICAgIHJ1bkF1dG9nZW5Gb3JBdXRvdG9vbHNQcm9qZWN0SWZOZWNlc3NhcnkoJGRpciwgJHByZWZp
eCwgJHNvdXJjZURpciwgJHByb2plY3QsIEBidWlsZEFyZ3MpOworICAgIG15ICRqb2luZWRPdmVy
cmlkYWJsZUZlYXR1cmVzID0gam9pbigiICIsIEBvdmVycmlkYWJsZUZlYXR1cmVzKTsKKyAgICBy
dW5BdXRvZ2VuRm9yQXV0b3Rvb2xzUHJvamVjdElmTmVjZXNzYXJ5KCRkaXIsICRwcmVmaXgsICRz
b3VyY2VEaXIsICRwcm9qZWN0LCAkam9pbmVkT3ZlcnJpZGFibGVGZWF0dXJlcywgQGJ1aWxkQXJn
cyk7CiAKICAgICBteSAkcnVuV2l0aEpoYnVpbGQgPSBqaGJ1aWxkV3JhcHBlclByZWZpeElmTmVl
ZGVkKCk7CiAgICAgaWYgKHN5c3RlbSgiJHJ1bldpdGhKaGJ1aWxkICRtYWtlICRtYWtlQXJncyIp
IG5lIDApIHsKQEAgLTIzNjksMTMgKzIzODksMTMgQEAgRU9GCiAKIHN1YiBidWlsZEd0a1Byb2pl
Y3QKIHsKLSAgICBteSAoJHByb2plY3QsICRjbGVhbiwgQGJ1aWxkQXJncykgPSBAXzsKKyAgICBt
eSAoJHByb2plY3QsICRjbGVhbiwgJHByZWZpeCwgJG1ha2VhcmdzLCAkbm9XZWJLaXQyLCBAZmVh
dHVyZXMpID0gQF87CiAKICAgICBpZiAoJHByb2plY3QgbmUgIldlYktpdCIgYW5kICRwcm9qZWN0
IG5lICJKYXZhU2NyaXB0Q29yZSIgYW5kICRwcm9qZWN0IG5lICJXVEYiKSB7CiAgICAgICAgIGRp
ZSAiVW5zdXBwb3J0ZWQgcHJvamVjdDogJHByb2plY3QuIFN1cHBvcnRlZCBwcm9qZWN0czogV2Vi
S2l0LCBKYXZhU2NyaXB0Q29yZSwgV1RGXG4iOwogICAgIH0KIAotICAgIHJldHVybiBidWlsZEF1
dG90b29sc1Byb2plY3QoJHByb2plY3QsICRjbGVhbiwgQGJ1aWxkQXJncyk7CisgICAgcmV0dXJu
IGJ1aWxkQXV0b3Rvb2xzUHJvamVjdCgkcHJvamVjdCwgJGNsZWFuLCAkcHJlZml4LCAkbWFrZWFy
Z3MsICRub1dlYktpdDIsIEBmZWF0dXJlcyk7CiB9CiAKIHN1YiBidWlsZENocm9taXVtTWFrZWZp
bGUoJCRAKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0
LnBtIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCmluZGV4IGNiNTNi
MjUxN2ZhZWM5YjdmMzhiMjZhNzdhMDEwMDgzNTllMjJiZjYuLmExZjJkYTc3YzA0ZTMzMWM5Nzk4
MWFiNzAyYzI0MzczYjk3NjU4ZGMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVy
bC9GZWF0dXJlTGlzdC5wbQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxp
c3QucG0KQEAgLTE2OSw3ICsxNjksNyBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgICBkZWZpbmUg
PT4gIkVOQUJMRV9DU1NfRklMVEVSUyIsIGRlZmF1bHQgPT4gaXNBcHBsZVdlYktpdCgpIHx8IGlz
QmxhY2tCZXJyeSgpLCB2YWx1ZSA9PiBcJGNzc0ZpbHRlcnNTdXBwb3J0IH0sCiAKICAgICB7IG9w
dGlvbiA9PiAiY3NzMy10ZXh0LWRlY29yYXRpb24iLCBkZXNjID0+ICJUb2dnbGUgQ1NTMyBUZXh0
IERlY29yYXRpb24gc3VwcG9ydCIsCi0gICAgICBkZWZpbmUgPT4gIkVOQUJMRV9DU1MzX1RFWFRf
REVDT1JBVElPTiIsIGRlZmF1bHQgPT4gaXNFZmwoKSwgdmFsdWUgPT4gXCRjc3MzVGV4dERlY29y
YXRpb25TdXBwb3J0IH0sCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9DU1MzX1RFWFRfREVDT1JB
VElPTiIsIGRlZmF1bHQgPT4gKGlzRWZsKCkgfHwgaXNHdGsoKSksIHZhbHVlID0+IFwkY3NzM1Rl
eHREZWNvcmF0aW9uU3VwcG9ydCB9LAogCiAgICAgeyBvcHRpb24gPT4gImNzcy1oaWVyYXJjaGll
cyIsIGRlc2MgPT4gIlRvZ2dsZSBDU1MgSGllcmFyY2h5IHN1cHBvcnQiLAogICAgICAgZGVmaW5l
ID0+ICJFTkFCTEVfQ1NTX0hJRVJBUkNISUVTIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJGNz
c0hpZXJhcmNoaWVzU3VwcG9ydCB9LApAQCAtMzA3LDcgKzMwNyw3IEBAIG15IEBmZWF0dXJlcyA9
ICgKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MiLCBkZWZhdWx0ID0+
IDAsIHZhbHVlID0+IFwkbWVkaWFTdGF0aXN0aWNzU3VwcG9ydCB9LAogCiAgICAgeyBvcHRpb24g
PT4gIm1lZGlhLXN0cmVhbSIsIGRlc2MgPT4gIlRvZ2dsZSBNZWRpYSBTdHJlYW0gc3VwcG9ydCIs
Ci0gICAgICBkZWZpbmUgPT4gIkVOQUJMRV9NRURJQV9TVFJFQU0iLCBkZWZhdWx0ID0+IChpc0No
cm9taXVtKCkgfHwgaXNHdGsoKSB8fCBpc0JsYWNrQmVycnkoKSksIHZhbHVlID0+IFwkbWVkaWFT
dHJlYW1TdXBwb3J0IH0sCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9NRURJQV9TVFJFQU0iLCBk
ZWZhdWx0ID0+IChpc0Nocm9taXVtKCkgfHwgaXNCbGFja0JlcnJ5KCkpLCB2YWx1ZSA9PiBcJG1l
ZGlhU3RyZWFtU3VwcG9ydCB9LAogCiAgICAgeyBvcHRpb24gPT4gIm1ldGVyLXRhZyIsIGRlc2Mg
PT4gIlRvZ2dsZSBNZXRlciBUYWcgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9N
RVRFUl9FTEVNRU5UIiwgZGVmYXVsdCA9PiAhaXNBcHBsZVdpbldlYktpdCgpLCB2YWx1ZSA9PiBc
JG1ldGVyVGFnU3VwcG9ydCB9LApAQCAtMzYxLDcgKzM2MSw3IEBAIG15IEBmZWF0dXJlcyA9ICgK
ICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX1NRTF9EQVRBQkFTRSIsIGRlZmF1bHQgPT4gMSwgdmFs
dWUgPT4gXCRzcWxEYXRhYmFzZVN1cHBvcnQgfSwKIAogICAgIHsgb3B0aW9uID0+ICJzdHlsZS1z
Y29wZWQiLCBkZXNjID0+ICJUb2dnbGUgU3R5bGUgU2NvcGVkIHN1cHBvcnQiLAotICAgICAgZGVm
aW5lID0+ICJFTkFCTEVfU1RZTEVfU0NPUEVEIiwgZGVmYXVsdCA9PiBpc0JsYWNrQmVycnkoKSwg
dmFsdWUgPT4gXCRzdHlsZVNjb3BlZFN1cHBvcnQgfSwKKyAgICAgIGRlZmluZSA9PiAiRU5BQkxF
X1NUWUxFX1NDT1BFRCIsIGRlZmF1bHQgPT4gKGlzQmxhY2tCZXJyeSgpIHx8IGlzR3RrKCkpLCB2
YWx1ZSA9PiBcJHN0eWxlU2NvcGVkU3VwcG9ydCB9LAogCiAgICAgeyBvcHRpb24gPT4gInN2ZyIs
IGRlc2MgPT4gIlRvZ2dsZSBTVkcgc3VwcG9ydCIsCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9T
VkciLCBkZWZhdWx0ID0+IDEsIHZhbHVlID0+IFwkc3ZnU3VwcG9ydCB9LApkaWZmIC0tZ2l0IGEv
VG9vbHMvZ3RrL2FkanVzdC1idWlsZC13ZWJraXQtZmVhdHVyZXMgYi9Ub29scy9ndGsvYWRqdXN0
LWJ1aWxkLXdlYmtpdC1mZWF0dXJlcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hM2YyY2E1MWI5NzIyYThiZGM1MjRh
MDlkMDYxYjNkMDdiMDgyYzhhCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvZ3RrL2FkanVzdC1i
dWlsZC13ZWJraXQtZmVhdHVyZXMKQEAgLTAsMCArMSw2MiBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0
aG9uCisKK2ltcG9ydCBjb21tb24KK2ltcG9ydCBvcworaW1wb3J0IHJlCisKKworZGVmIGdldF9m
ZWF0dXJlcygpOgorICAgIGZlYXR1cmVzX2ZpbGUgPSBjb21tb24udG9wX2xldmVsX3BhdGgoJ1Nv
dXJjZScsICdXZWJDb3JlJywgJ0dOVW1ha2VmaWxlLmZlYXR1cmVzLmFtJykKKyAgICB3aXRoIG9w
ZW4oZmVhdHVyZXNfZmlsZSkgYXMgZjoKKyAgICAgICAgbWF0Y2hfaXRlciA9IHJlLmZpbmRhbGwo
ciJcdChcdyspPSgwfDEpKD86IFxcXHI/XG4pPyIsIGYucmVhZCgpKQorCisgICAgZmVhdHVyZXMg
PSB7fQorICAgIGZvciBtYXRjaCBpbiBtYXRjaF9pdGVyOgorICAgICAgICBmZWF0dXJlc1ttYXRj
aFswXV0gPSBpbnQobWF0Y2hbMV0pCisgICAgcmV0dXJuIGZlYXR1cmVzCisKK2RlZiBnZXRfb3Zl
cnJpZGFibGVfZmVhdHVyZXMoKToKKyAgICBvdmVycmlkYWJsZV9mZWF0dXJlc19maWxlID0gY29t
bW9uLmJ1aWxkX3BhdGgoJ292ZXJyaWRhYmxlLWZlYXR1cmVzLnR4dCcpCisgICAgaWYgbm90IG9z
LnBhdGguZXhpc3RzKG92ZXJyaWRhYmxlX2ZlYXR1cmVzX2ZpbGUpOgorICAgICAgICByZXR1cm4g
e30KKworICAgIHdpdGggb3BlbihvdmVycmlkYWJsZV9mZWF0dXJlc19maWxlKSBhcyBmOgorICAg
ICAgICBtYXRjaF9pdGVyID0gcmUuZmluZGFsbChyIigoPzpFTkFCTEVfKVx3Kyk9KDB8MSkiLCBm
LnJlYWQoKSkKKworICAgIG92ZXJyaWRhYmxlX2ZlYXR1cmVzID0ge30KKyAgICBmb3IgbWF0Y2gg
aW4gbWF0Y2hfaXRlcjoKKyAgICAgICAgb3ZlcnJpZGFibGVfZmVhdHVyZXNbbWF0Y2hbMF1dID0g
aW50KG1hdGNoWzFdKQorICAgIHJldHVybiBvdmVycmlkYWJsZV9mZWF0dXJlcworCitkZWYgYWRq
dXN0X2dudW1ha2VmaWxlX2Zvcl9mZWF0dXJlcyhmZWF0dXJlcyk6CisgICAgZ251bWFrZWZpbGVf
ZmlsZSA9IGNvbW1vbi5idWlsZF9wYXRoKCdHTlVtYWtlZmlsZScpCisgICAgd2l0aCBvcGVuKGdu
dW1ha2VmaWxlX2ZpbGUpIGFzIGY6CisgICAgICAgIGdudW1ha2VmaWxlID0gZi5yZWFkKCkKKwor
ICAgIGRlZmluZXNfYXNzaWdubWVudF9tYXRjaCA9IHJlLnNlYXJjaChyImZlYXR1cmVfZGVmaW5l
c19kZWZhdWx0cyA6PSAoXHQ/RU5BQkxFXyhcdyspPSgwfDEpKCAoXFxcbik/KT8pKyIsIGdudW1h
a2VmaWxlKQorICAgIGRlZmluZXNfYXNzaWdubWVudCA9IGdudW1ha2VmaWxlW2RlZmluZXNfYXNz
aWdubWVudF9tYXRjaC5zdGFydCgpOmRlZmluZXNfYXNzaWdubWVudF9tYXRjaC5lbmQoKV0KKwor
ICAgIGZvciBmZWF0dXJlLCB2YWx1ZSBpbiBmZWF0dXJlcy5pdGVtcygpOgorICAgICAgICBkZWZp
bmVzX2Fzc2lnbm1lbnQgPSByZS5zdWIociIlcz0oMHwxKSIgJSBmZWF0dXJlLCAiJXM9JWQiICUg
KGZlYXR1cmUsIHZhbHVlKSxkZWZpbmVzX2Fzc2lnbm1lbnQpCisKKyAgICB3aXRoIG9wZW4oZ251
bWFrZWZpbGVfZmlsZSwgJ3cnKSBhcyBmOgorICAgICAgICBmLndyaXRlKGdudW1ha2VmaWxlWzpk
ZWZpbmVzX2Fzc2lnbm1lbnRfbWF0Y2guc3RhcnQoKV0gKyBkZWZpbmVzX2Fzc2lnbm1lbnQgKyBn
bnVtYWtlZmlsZVtkZWZpbmVzX2Fzc2lnbm1lbnRfbWF0Y2guZW5kKCk6XSkKKworICAgIHByaW50
ICJBdXRvbWF0aWNhbGx5IGFkanVzdGVkIEdOVW1ha2VmaWxlIGZvciB0aGUgZm9sbG93aW5nIGZl
YXR1cmUgZGVmaW5lczpcbiVzIiAlICIsICIuam9pbihmZWF0dXJlcy5rZXlzKCkpCisKK2RlZiBh
ZGp1c3RfYnVpbGRfd2Via2l0X2ZlYXR1cmVzKCk6CisgICAgZmVhdHVyZXMgPSBnZXRfZmVhdHVy
ZXMoKQorICAgIG92ZXJyaWRhYmxlX2ZlYXR1cmVzID0gZ2V0X292ZXJyaWRhYmxlX2ZlYXR1cmVz
KCkKKworICAgIGZlYXR1cmVzX3RvX292ZXJyaWRlID0ge30KKyAgICBmb3IgZmVhdHVyZSwgdmFs
dWUgaW4gb3ZlcnJpZGFibGVfZmVhdHVyZXMuaXRlbXMoKToKKyAgICAgICAgaWYgZmVhdHVyZSBu
b3QgaW4gZmVhdHVyZXM6CisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICBpZiBmZWF0dXJl
c1tmZWF0dXJlXSAhPSB2YWx1ZToKKyAgICAgICAgICAgIGZlYXR1cmVzX3RvX292ZXJyaWRlW2Zl
YXR1cmVdID0gdmFsdWUKKworICAgIGlmIGxlbihmZWF0dXJlc190b19vdmVycmlkZSkgaXMgbm90
IDA6CisgICAgICAgIGFkanVzdF9nbnVtYWtlZmlsZV9mb3JfZmVhdHVyZXMoZmVhdHVyZXNfdG9f
b3ZlcnJpZGUpCisKK2lmIF9fbmFtZV9fPT0nX19tYWluX18nOgorICAgIGFkanVzdF9idWlsZF93
ZWJraXRfZmVhdHVyZXMoKQpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4
IGYzMDFmZDIwYjRhZDUxOGE3OGZiMGJjZGExYTExN2MzMzdhZmE0MjYuLjMxYzdkZDM1NWJlMGE4
ZTU0M2Q2NDgxNDc3Mjk4MDY2ZWI1ZWUyY2QgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0xMC0xNiAgWmFuIERvYmVyc2VrICA8emFu
ZG9iZXJzZWtAZ21haWwuY29tPgorCisgICAgICAgIFtHVEtdIEZlYXR1cmUgZW5hYmxpbmcvZGlz
YWJsaW5nIHNob3VsZCBiZSBwb3NzaWJsZSB0aHJvdWdoIGJ1aWxkLXdlYmtpdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTkyNzEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpdGlvbmFsIGluZm9ybWF0
aW9uIG9mIHRoZSBjaGFuZ2Ugc3VjaCBhcyBhcHByb2FjaCwgcmF0aW9uYWxlLiBQbGVhc2UgYWRk
IHBlci1mdW5jdGlvbiBkZXNjcmlwdGlvbnMgYmVsb3cgKE9PUFMhKS4KKworICAgICAgICAqIGNv
bmZpZ3VyZS5hYzoKKwogMjAxMi0xMC0xNSAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3Vu
Zy5jb20+CiAKICAgICAgICAgW0VGTF0gU2hhcmUgcmVzb3VyY2VzIGluc3RhbGxlZCBmb3IgaW5z
cGVjdG9yCmRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5kZXggN2Rk
ZGZlY2RmMWM1NTUyMmZhZjAxNmI4ZjJhOGNlZjgxOWYwYjViNC4uMjU2Zjc4MjE3OGY2YWFlMmFk
ZmQ0OWQ0N2I4OGUwMTRlZjIzZDVjNSAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2Nv
bmZpZ3VyZS5hYwpAQCAtMTE4MCw3ICsxMTgwLDcgQEAgQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9J
TlRST1NQRUNUSU9OXSxbdGVzdCAiJGVuYWJsZV9pbnRyb3NwZWN0aW9uIiA9ICJ5ZXMiXSkKIAog
QUNfQ09ORklHX0ZJTEVTKFsKIEdOVW1ha2VmaWxlCi1dKQorXSwgWyRzcmNkaXIvVG9vbHMvZ3Rr
L2FkanVzdC1idWlsZC13ZWJraXQtZmVhdHVyZXNdKQogIAogCiBBQ19DT05GSUdfRklMRVMoWwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169387</attachid>
            <date>2012-10-18 03:49:51 -0700</date>
            <delta_ts>2012-12-09 02:17:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99271-20121018034836.patch</filename>
            <type>text/plain</type>
            <size>25855</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNzA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmEyMzlkYzY0NGUzMTg1
YTg5MDQ0MTMyN2ZmYTYzZjA2MjAyZDliOC4uMTdkYzI1YmIyMmMwYjJjNWJlYzc5N2ZjMDQwY2I3
MGU0ZjQ3OGM4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTEwLTE4ICBaYW4g
RG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CisKKyAgICAgICAgW0dUS10gRmVhdHVy
ZSBlbmFibGluZy9kaXNhYmxpbmcgc2hvdWxkIGJlIHBvc3NpYmxlIHRocm91Z2ggYnVpbGQtd2Vi
a2l0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTI3
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmUg
dGhlIGNvbnRlbnRzIG9mIEdOVW1ha2VmaWxlLmZlYXR1cmVzLmFtIGludG8gR05VbWFrZWZpbGUu
ZmVhdHVyZXMuYW0uaW4uCisgICAgICAgIFRoZSBmb3JtZXIgaXMgdGhlbiBjb3BpZWQgZnJvbSB0
aGUgbGF0dGVyIGJ1dCB0aGVuIGFwcHJvcHJpYXRlbHkgbW9kaWZpZWQgaWYKKyAgICAgICAgdGhl
IGJ1aWxkLXdlYmtpdCBzY3JpcHQgb3ZlcnJpZGVzIGFueSBvZiB0aGUgZGVmYXVsdCBmZWF0dXJl
IGRlZmluZXMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIC0gbm8gbmV3IHRlc3RhYmxlIGZ1bmN0
aW9uYWxpdHkuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5mZWF0dXJlcy5hbS5pbjogUmVuYW1l
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmZlYXR1cmVzLmFtLgorCiAyMDEyLTEw
LTE3ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJl
dmlld2VkLiBSZWJhc2VsaW5lZCBydW4tYmluZGluZ3MtdGVzdHMuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5mZWF0dXJlcy5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmZlYXR1cmVzLmFtCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZTJiNWNh
MDg2MmIyYjcyODExYWYyZmQwNWRlY2M3MWNlZGZhNTU2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmZlYXR1
cmVzLmFtCisrKyAvZGV2L251bGwKQEAgLTEsOTggKzAsMCBAQAotZmVhdHVyZV9kZWZpbmVzX2Rl
ZmF1bHRzICs9IFwKLQlFTkFCTEVfM0RfUkVOREVSSU5HPTAgXAotCUVOQUJMRV9BQ0NFTEVSQVRF
RF8yRF9DQU5WQVM9MCBcCi0JRU5BQkxFX0FOSU1BVElPTl9BUEk9MCBcCi0JRU5BQkxFX0JBVFRF
UllfU1RBVFVTPTAgXAotCUVOQUJMRV9CTE9CPTEgXAotCUVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
Rz0xIFwKLQlFTkFCTEVfQ1NQX05FWFQ9MCBcCi0JRU5BQkxFX0NTUzNfVEVYVF9ERUNPUkFUSU9O
PTEgXAotCUVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUs9MSBcCi0JRU5BQkxFX0NTU19D
T01QT1NJVElORz0wIFwKLQlFTkFCTEVfQ1NTX0VYQ0xVU0lPTlM9MSBcCi0JRU5BQkxFX0NTU19G
SUxURVJTPTAgXAotCUVOQUJMRV9DU1NfSElFUkFSQ0hJRVM9MCBcCi0JRU5BQkxFX0NTU19JTUFH
RV9PUklFTlRBVElPTj0wIFwKLQlFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT049MCBcCi0JRU5B
QkxFX0NTU19SRUdJT05TPTEgXAotCUVOQUJMRV9DU1NfU0hBREVSUz0wIFwKLQlFTkFCTEVfQ1NT
X1NUSUNLWV9QT1NJVElPTj0xIFwKLQlFTkFCTEVfQ1NTX1ZBUklBQkxFUz0wIFwKLQlFTkFCTEVf
Q1VTVE9NX1NDSEVNRV9IQU5ETEVSPTAgXAotCUVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVD0wIFwK
LQlFTkFCTEVfREFUQUxJU1RfRUxFTUVOVD0wIFwKLQlFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
Uz0wIFwKLQlFTkFCTEVfREVUQUlMU19FTEVNRU5UPTEgXAotCUVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT049MCBcCi0JRU5BQkxFX0RJQUxPR19FTEVNRU5UPTAgXAotCUVOQUJMRV9ESVJFQ1RPUllf
VVBMT0FEPTAgXAotCUVOQUJMRV9ET1dOTE9BRF9BVFRSSUJVVEU9MCBcCi0JRU5BQkxFX0ZJTEVf
U1lTVEVNPTAgXAotCUVOQUJMRV9GSUxURVJTPTEgXAotCUVOQUJMRV9GVFBESVI9MCBcCi0JRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJPTEgXAotCUVOQUJMRV9HQU1FUEFEPTEgXAotCUVOQUJMRV9HRU9M
T0NBVElPTj0xIFwKLQlFTkFCTEVfSElHSF9EUElfQ0FOVkFTPTAgXAotCUVOQUJMRV9JQ09OREFU
QUJBU0U9MSBcCi0JRU5BQkxFX0lGUkFNRV9TRUFNTEVTUz0xIFwKLQlFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRT0wIFwKLQlFTkFCTEVfSU5QVVRfU1BFRUNIPTAgXAotCUVOQUJMRV9JTlBVVF9UWVBF
X0NPTE9SPTAgXAotCUVOQUJMRV9JTlBVVF9UWVBFX0RBVEU9MCBcCi0JRU5BQkxFX0lOUFVUX1RZ
UEVfREFURVRJTUU9MCBcCi0JRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTD0wIFwKLQlF
TkFCTEVfSU5QVVRfVFlQRV9NT05USD0wIFwKLQlFTkFCTEVfSU5QVVRfVFlQRV9USU1FPTAgXAot
CUVOQUJMRV9JTlBVVF9UWVBFX1dFRUs9MCBcCi0JRU5BQkxFX0lOU1BFQ1RPUj0xIFwKLQlFTkFC
TEVfSkFWQVNDUklQVF9ERUJVR0dFUj0xIFwKLQlFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJF
RklYRVM9MCBcCi0JRU5BQkxFX0xFR0FDWV9OT1RJRklDQVRJT05TPTAgXAotCUVOQUJMRV9MRUdB
Q1lfVkVORE9SX1BSRUZJWEVTPTEgXAotCUVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPPTEgXAotCUVO
QUJMRV9MSU5LX1BSRUZFVENIPTEgXAotCUVOQUJMRV9MSU5LX1BSRVJFTkRFUj0wIFwKLQlFTkFC
TEVfTUFUSE1MPTEgXAotCUVOQUJMRV9NRURJQV9DQVBUVVJFPTAgXAotCUVOQUJMRV9NRURJQV9T
T1VSQ0U9MCBcCi0JRU5BQkxFX01FRElBX1NUQVRJU1RJQ1M9MCBcCi0JRU5BQkxFX01FRElBX1NU
UkVBTT0xIFwKLQlFTkFCTEVfTUVURVJfRUxFTUVOVD0xIFwKLQlFTkFCTEVfTUhUTUw9MSBcCi0J
RU5BQkxFX01JQ1JPREFUQT0wIFwKLQlFTkFCTEVfTVVUQVRJT05fT0JTRVJWRVJTPTEgXAotCUVO
QUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUz0wIFwKLQlFTkFCTEVfTkVUU0NBUEVfUExVR0lO
X0FQST0xIFwKLQlFTkFCTEVfTkVUV09SS19JTkZPPTAgXAotCUVOQUJMRV9OT1RJRklDQVRJT05T
PTAgXAotCUVOQUJMRV9PUklFTlRBVElPTl9FVkVOVFM9MCBcCi0JRU5BQkxFX1BBR0VfVklTSUJJ
TElUWV9BUEk9MCBcCi0JRU5BQkxFX1BST0dSRVNTX0VMRU1FTlQ9MSBcCi0JRU5BQkxFX1FVT1RB
PTAgXAotCUVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRT0xIFwKLQlFTkFCTEVfU0NSSVBU
RURfU1BFRUNIPTAgXAotCUVOQUJMRV9TSEFET1dfRE9NPTEgXAotCUVOQUJMRV9TSEFSRURfV09S
S0VSUz0xIFwKLQlFTkFCTEVfU01PT1RIX1NDUk9MTElORz0xIFwKLQlFTkFCTEVfU1BFTExDSEVD
Sz0xIFwKLQlFTkFCTEVfU1FMX0RBVEFCQVNFPTEgXAotCUVOQUJMRV9TVFlMRV9TQ09QRUQ9MSBc
Ci0JRU5BQkxFX1NWRz0xIFwKLQlFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTPTAgXAotCUVO
QUJMRV9TVkdfRk9OVFM9MSBcCi0JRU5BQkxFX1RFWFRfQVVUT1NJWklORz0wIFwKLQlFTkFCTEVf
VE9VQ0hfRVZFTlRTPTAgXAotCUVOQUJMRV9UT1VDSF9JQ09OX0xPQURJTkc9MCBcCi0JRU5BQkxF
X1VORE9fTUFOQUdFUj0wIFwKLQlFTkFCTEVfVklCUkFUSU9OPTAgXAotCUVOQUJMRV9WSURFTz0x
IFwKLQlFTkFCTEVfVklERU9fVFJBQ0s9MSBcCi0JRU5BQkxFX1dFQkdMPTEgXAotCUVOQUJMRV9X
RUJfQVVESU89MCBcCi0JRU5BQkxFX1dFQl9JTlRFTlRTPTAgXAotCUVOQUJMRV9XRUJfSU5URU5U
U19UQUc9MCBcCi0JRU5BQkxFX1dFQl9TT0NLRVRTPTEgXAotCUVOQUJMRV9XRUJfVElNSU5HPTEg
XAotCUVOQUJMRV9XT1JLRVJTPTEgXAotCUVOQUJMRV9YU0xUPTEKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmZlYXR1cmVzLmFtLmluIGIvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUuZmVhdHVyZXMuYW0uaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWYzMjQxMmMzMDNjYzgxYTk2OWZh
MGI3YzdkNjQ5Y2RmNjRkMmFkNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmZlYXR1cmVzLmFtLmluCkBAIC0wLDAgKzEsOTggQEAKK2ZlYXR1cmVfZGVmaW5l
c19kZWZhdWx0cyArPSBcCisJRU5BQkxFXzNEX1JFTkRFUklORz0wIFwKKwlFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTPTAgXAorCUVOQUJMRV9BTklNQVRJT05fQVBJPTAgXAorCUVOQUJMRV9C
QVRURVJZX1NUQVRVUz0wIFwKKwlFTkFCTEVfQkxPQj0xIFwKKwlFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkc9MSBcCisJRU5BQkxFX0NTUF9ORVhUPTAgXAorCUVOQUJMRV9DU1MzX1RFWFRfREVDT1JB
VElPTj0xIFwKKwlFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLPTEgXAorCUVOQUJMRV9D
U1NfQ09NUE9TSVRJTkc9MCBcCisJRU5BQkxFX0NTU19FWENMVVNJT05TPTEgXAorCUVOQUJMRV9D
U1NfRklMVEVSUz0wIFwKKwlFTkFCTEVfQ1NTX0hJRVJBUkNISUVTPTAgXAorCUVOQUJMRV9DU1Nf
SU1BR0VfT1JJRU5UQVRJT049MCBcCisJRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OPTAgXAor
CUVOQUJMRV9DU1NfUkVHSU9OUz0xIFwKKwlFTkFCTEVfQ1NTX1NIQURFUlM9MCBcCisJRU5BQkxF
X0NTU19TVElDS1lfUE9TSVRJT049MSBcCisJRU5BQkxFX0NTU19WQVJJQUJMRVM9MCBcCisJRU5B
QkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUj0wIFwKKwlFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQ9
MCBcCisJRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQ9MCBcCisJRU5BQkxFX0RBVEFfVFJBTlNGRVJf
SVRFTVM9MCBcCisJRU5BQkxFX0RFVEFJTFNfRUxFTUVOVD0xIFwKKwlFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OPTAgXAorCUVOQUJMRV9ESUFMT0dfRUxFTUVOVD0wIFwKKwlFTkFCTEVfRElSRUNU
T1JZX1VQTE9BRD0wIFwKKwlFTkFCTEVfRE9XTkxPQURfQVRUUklCVVRFPTAgXAorCUVOQUJMRV9G
SUxFX1NZU1RFTT0wIFwKKwlFTkFCTEVfRklMVEVSUz0xIFwKKwlFTkFCTEVfRlRQRElSPTEgXAor
CUVOQUJMRV9GVUxMU0NSRUVOX0FQST0xIFwKKwlFTkFCTEVfR0FNRVBBRD0xIFwKKwlFTkFCTEVf
R0VPTE9DQVRJT049MSBcCisJRU5BQkxFX0hJR0hfRFBJX0NBTlZBUz0wIFwKKwlFTkFCTEVfSUNP
TkRBVEFCQVNFPTEgXAorCUVOQUJMRV9JRlJBTUVfU0VBTUxFU1M9MSBcCisJRU5BQkxFX0lOREVY
RURfREFUQUJBU0U9MCBcCisJRU5BQkxFX0lOUFVUX1NQRUVDSD0wIFwKKwlFTkFCTEVfSU5QVVRf
VFlQRV9DT0xPUj0wIFwKKwlFTkFCTEVfSU5QVVRfVFlQRV9EQVRFPTAgXAorCUVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FPTAgXAorCUVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUw9MCBc
CisJRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEg9MCBcCisJRU5BQkxFX0lOUFVUX1RZUEVfVElNRT0w
IFwKKwlFTkFCTEVfSU5QVVRfVFlQRV9XRUVLPTAgXAorCUVOQUJMRV9JTlNQRUNUT1I9MSBcCisJ
RU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVI9MSBcCisJRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTPTAgXAorCUVOQUJMRV9MRUdBQ1lfTk9USUZJQ0FUSU9OUz0wIFwKKwlFTkFCTEVf
TEVHQUNZX1ZFTkRPUl9QUkVGSVhFUz0xIFwKKwlFTkFCTEVfTEVHQUNZX1dFQl9BVURJTz0xIFwK
KwlFTkFCTEVfTElOS19QUkVGRVRDSD0xIFwKKwlFTkFCTEVfTElOS19QUkVSRU5ERVI9MCBcCisJ
RU5BQkxFX01BVEhNTD0xIFwKKwlFTkFCTEVfTUVESUFfQ0FQVFVSRT0wIFwKKwlFTkFCTEVfTUVE
SUFfU09VUkNFPTAgXAorCUVOQUJMRV9NRURJQV9TVEFUSVNUSUNTPTAgXAorCUVOQUJMRV9NRURJ
QV9TVFJFQU09MSBcCisJRU5BQkxFX01FVEVSX0VMRU1FTlQ9MSBcCisJRU5BQkxFX01IVE1MPTEg
XAorCUVOQUJMRV9NSUNST0RBVEE9MCBcCisJRU5BQkxFX01VVEFUSU9OX09CU0VSVkVSUz0xIFwK
KwlFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFM9MCBcCisJRU5BQkxFX05FVFNDQVBFX1BM
VUdJTl9BUEk9MSBcCisJRU5BQkxFX05FVFdPUktfSU5GTz0wIFwKKwlFTkFCTEVfTk9USUZJQ0FU
SU9OUz0wIFwKKwlFTkFCTEVfT1JJRU5UQVRJT05fRVZFTlRTPTAgXAorCUVOQUJMRV9QQUdFX1ZJ
U0lCSUxJVFlfQVBJPTAgXAorCUVOQUJMRV9QUk9HUkVTU19FTEVNRU5UPTEgXAorCUVOQUJMRV9R
VU9UQT0wIFwKKwlFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUU9MSBcCisJRU5BQkxFX1ND
UklQVEVEX1NQRUVDSD0wIFwKKwlFTkFCTEVfU0hBRE9XX0RPTT0xIFwKKwlFTkFCTEVfU0hBUkVE
X1dPUktFUlM9MSBcCisJRU5BQkxFX1NNT09USF9TQ1JPTExJTkc9MSBcCisJRU5BQkxFX1NQRUxM
Q0hFQ0s9MSBcCisJRU5BQkxFX1NRTF9EQVRBQkFTRT0xIFwKKwlFTkFCTEVfU1RZTEVfU0NPUEVE
PTEgXAorCUVOQUJMRV9TVkc9MSBcCisJRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUz0wIFwK
KwlFTkFCTEVfU1ZHX0ZPTlRTPTEgXAorCUVOQUJMRV9URVhUX0FVVE9TSVpJTkc9MCBcCisJRU5B
QkxFX1RPVUNIX0VWRU5UUz0wIFwKKwlFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HPTAgXAorCUVO
QUJMRV9VTkRPX01BTkFHRVI9MCBcCisJRU5BQkxFX1ZJQlJBVElPTj0wIFwKKwlFTkFCTEVfVklE
RU89MSBcCisJRU5BQkxFX1ZJREVPX1RSQUNLPTEgXAorCUVOQUJMRV9XRUJHTD0xIFwKKwlFTkFC
TEVfV0VCX0FVRElPPTAgXAorCUVOQUJMRV9XRUJfSU5URU5UUz0wIFwKKwlFTkFCTEVfV0VCX0lO
VEVOVFNfVEFHPTAgXAorCUVOQUJMRV9XRUJfU09DS0VUUz0xIFwKKwlFTkFCTEVfV0VCX1RJTUlO
Rz0xIFwKKwlFTkFCTEVfV09SS0VSUz0xIFwKKwlFTkFCTEVfWFNMVD0xCmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggOTNiNzlmN2Q0ZWQwNmM0ZWUy
YmViNDY1NzY0N2UwNDlkNDFlMTY4OS4uZDJmNGFmZTFiYzFmYmFlZDExYmRmZDNjZjQ4YWU5ODg5
MjYxMWE1YSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDUwIEBACisyMDEyLTEwLTE4ICBaYW4gRG9iZXJzZWsgIDx6YW5kb2JlcnNl
a0BnbWFpbC5jb20+CisKKyAgICAgICAgW0dUS10gRmVhdHVyZSBlbmFibGluZy9kaXNhYmxpbmcg
c2hvdWxkIGJlIHBvc3NpYmxlIHRocm91Z2ggYnVpbGQtd2Via2l0CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTI3MQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFjdG9yIHRoZSBjb2RlIGluIHdlYmtp
dGRpcnMucG0gdGhhdCBidWlsZHMgYW4gYXV0b3Rvb2xzIHByb2plY3QgdG8gZ2VuZXJhdGUKKyAg
ICAgICAgYXV0b2dlbi5zaCBhcmd1bWVudHMsIG1ha2UgYXJndW1lbnRzIGFuZCBpbnN0YWxsYXRp
b24gcHJlZml4IGZyb20gdGhlIHBhc3NlZC1pbgorICAgICAgICBwYXJhbWV0ZXJzIHJhdGhlciB0
aGFuIGdlbmVyYXRpbmcgYWxsIG9mIHRoYXQgaW4gYnVpbGQtd2Via2l0LiBUaGUgYXV0b2dlbi5z
aAorICAgICAgICBhcmd1bWVudHMgbm93IGNvbnRhaW4gb25seSBlbmFibGUvZGlzYWJsZSBmbGFn
cyBmb3Igb3B0aW9ucyB0aGF0IGFyZSBhY3R1YWxseQorICAgICAgICBjb25maWd1cmFibGUgaW4g
Y29uZmlndXJlLmFjLCB0aGUgZmxhZyB2YWx1ZSBhY3R1YWxseSByZWZsZWN0aW5nIHdoZXRoZXIg
dGhlIGZlYXR1cmUKKyAgICAgICAgaXMgZW5hYmxlZCBvciBkaXNhYmxlZCBpbiB0aGUgZmVhdHVy
ZSBsaXN0LgorCisgICAgICAgIE90aGVyIGZlYXR1cmVzIGFyZSBvdmVycmlkYWJsZSB0aHJvdWdo
IG1vZGlmeWluZyB0aGUgR05VbWFrZWZpbGUuZmVhdHVyZXMuYW0gZmlsZS4KKyAgICAgICAgQWxs
IHRoZXNlIGZlYXR1cmVzIGFyZSBub3cgc3RvcmVkIGluIHRoZSBidWlsZCBkaXJlY3RvcnkgYW5k
IHVwb24gY2hhbmdlIHRyaWdnZXIKKyAgICAgICAgYSByZXJ1biBvZiB0aGUgYXV0b2dlbi5zaCBz
Y3JpcHQsIHByZXR0eSBtdWNoIGxpa2UgdGhlIGF1dG9nZW4uc2ggYXJndW1lbnRzIGRvLgorCisg
ICAgICAgIFRoZSBvdmVycmlkZS1mZWF0dXJlLWRlZmluZXMgc2NyaXB0IGlzIGNhbGxlZCBieSBh
dXRvZ2VuLnNoLCBiZWZvcmUgR05VbWFrZWZpbGUuaW4gaXMKKyAgICAgICAgZ2VuZXJhdGVkIHdo
ZW4gY2FsbGluZyBhdXRvcmVjb25mLiBJdHMgdGFzayBpcyB0byBjb3B5IHRoZSBHTlVtYWtlZmls
ZS5mZWF0dXJlcy5hbS5pbgorICAgICAgICBpbnRvIEdOVW1ha2VmaWxlLmZlYXR1cmVzLmFtIGFu
ZCBtb2RpZnkgaXQgaWYgdGhlcmUncyBhIHRleHQgZmlsZSBpbiB0aGUgYnVpbGQgZGlyZWN0b3J5
CisgICAgICAgIHRoYXQgY29udGFpbnMgYWxsIHRoZSBmZWF0dXJlIGRlZmluZXMgdGhlIGJ1aWxk
LXdlYmtpdCBzY3JpcHQgaGFzIHdyaXR0ZW4uIElmIHRoZSBidWlsZAorICAgICAgICBpcyBub3Qg
ZG9uZSB0aHJvdWdoIGJ1aWxkLXdlYmtpdCAoYW5kIHRoZXJlJ3Mgbm8gZmlsZSBpbiBidWlsZCBk
aXJlY3RvcnkgbGlzdGluZyBhbGwgdGhlCisgICAgICAgIGZlYXR1cmUgZGVmaW5lcykgdGhlIHNj
cmlwdCBkb2VzIG5vdCBhZHZhbmNlIGZ1cnRoZXIgZnJvbSBjb3B5aW5nLgorCisgICAgICAgIFRo
aXMgYXBwcm9hY2ggaXMgdGFrZW4gdG8gb3ZlcmNvbWUgdGhlIHJpZ2lkbmVzcyBvZiB0aGUgYXV0
b21ha2Ugc3lzdGVtIGFzIGl0J3MgaW1wb3NzaWJsZQorICAgICAgICB0byBlZmZlY3RpdmVseSBn
ZW5lcmF0ZSBhbmQgdXNlIEdOVW1ha2VmaWxlLmZlYXR1cmVzLmFtIG9yIGV2ZW4gR05VbWFrZWZp
bGUuZmVhdHVyZXMgZmlsZQorICAgICAgICBhZnRlciB0aGUgYXV0b3JlY29uZiBjb21tYW5kIGV4
ZWN1dGlvbiBpbiBhdXRvZ2VuLnNoLgorCisgICAgICAgICogU2NyaXB0cy9idWlsZC1qc2M6Cisg
ICAgICAgIChidWlsZE15UHJvamVjdCk6CisgICAgICAgICogU2NyaXB0cy9idWlsZC13ZWJraXQ6
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRkaXJzLnBtOgorICAgICAgICAocnVuQXV0b2dlbkZv
ckF1dG90b29sc1Byb2plY3RJZk5lY2Vzc2FyeSk6CisgICAgICAgIChtdXN0UmVSdW5BdXRvZ2Vu
KToKKyAgICAgICAgKGJ1aWxkQXV0b3Rvb2xzUHJvamVjdCk6CisgICAgICAgIChidWlsZEd0a1By
b2plY3QpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbTogVXBk
YXRlIHRoZSBmZWF0dXJlcyB0aGF0IGFyZSBjdXJyZW50bHkgZW5hYmxlZCBpbgorICAgICAgICBT
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5mZWF0dXJlcy5hbS5pbiBidXQgYXJlbid0IGluIHRo
ZSBmZWF0dXJlIGxpc3QuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vy
LnB5OiBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5mZWF0dXJlcy5hbS5pbiBpcyByZWNvZ25p
emVkCisgICAgICAgIGFzIGEgdGV4dCBmaWxlIGFuZCB0YWJ1bGF0aW9uIGVycm9ycyBhcmUgcmVw
b3J0ZWQuIFNraXAgdGhlIGZpbGUgdG8gc3VwcHJlc3MgdGhlbS4KKyAgICAgICAgKiBndGsvb3Zl
cnJpZGUtZmVhdHVyZS1kZWZpbmVzOiBBZGRlZC4KKyAgICAgICAgKGNvcHlfZmVhdHVyZV9kZWZp
bmVzX21ha2VmaWxlKToKKyAgICAgICAgKGFkanVzdF9mZWF0dXJlX2RlZmluZXNfbWFrZWZpbGUp
OgorICAgICAgICAoYWRqdXN0X2ZlYXR1cmVfZGVmaW5lc19tYWtlZmlsZS5vdmVycmlkZV9mZWF0
dXJlX2RlZmluZSk6CisgICAgICAgIChvdmVycmlkZV9mZWF0dXJlX2RlZmluZXMpOgorCiAyMDEy
LTEwLTE3ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJl
bW92ZSB0aGUgSlNIZWFwIG1lbW9yeSBtZWFzdXJlbWVudCBvZiB0aGUgUGFnZUxvYWQgcGVyZm9y
bWFjZXRlc3RzIHNpbmNlIGl0IGNyZWF0ZXMgYm9ndXMgSlNHbG9iYWxEYXRhcwpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy9idWlsZC1qc2MgYi9Ub29scy9TY3JpcHRzL2J1aWxkLWpzYwppbmRl
eCAzZmJmNDNmZTEzNzU4ZjFkNjgwYWU3YTVlYWE0MDdiMzQ1MGRjYTY2Li5jYTA1NmY4ZDdlZDFi
NTQ3OGY5MmI5MTFiYzRmYWJkMWY0YzNiYmU5IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL2J1
aWxkLWpzYworKysgYi9Ub29scy9TY3JpcHRzL2J1aWxkLWpzYwpAQCAtODUsNyArODUsNyBAQCBz
dWIgYnVpbGRNeVByb2plY3QKICAgICAgICAgJHJlc3VsdCA9IGJ1aWxkVmlzdWFsU3R1ZGlvUHJv
amVjdCgiJHByb2plY3ROYW1lLnZjcHJvai8kcHJvamVjdE5hbWUuc2xuIik7CiAgICAgfSBlbHNp
ZiAoaXNHdGsoKSkgewogICAgICAgICBjaGVja0ZvckFyZ3VtZW50QW5kUmVtb3ZlRnJvbUFSR1Yo
Ii0tZ3RrIik7Ci0gICAgICAgICRyZXN1bHQgPSBidWlsZEd0a1Byb2plY3QoJHByb2plY3ROYW1l
LCAwLCBAQVJHVik7CisgICAgICAgICRyZXN1bHQgPSBidWlsZEd0a1Byb2plY3QoJHByb2plY3RO
YW1lLCAwKTsKICAgICB9IGVsc2lmIChpc1d4KCkpIHsKICAgICAgICAgIyBCdWlsZHMgZXZlcnl0
aGluZyBpbiBvbmUtc2hvdC4gTm8gbmVlZCB0byBidWlsZCBhbnl0aGluZyBoZXJlLgogICAgICAg
ICAkcmVzdWx0ID0gMDsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0IGIv
VG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKaW5kZXggNGIxNjFhNWFkNjg5NThkNTUwYjg1ZGZl
Yjk5OWM5Yjk0M2Q0ZjU3ZS4uYjFmNWFhNmI0MWRkNTY2MjM3MmJhNWZkNzgzYTk5ZTI3MjBhYTkz
ZiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9idWlsZC13ZWJraXQKKysrIGIvVG9vbHMvU2Ny
aXB0cy9idWlsZC13ZWJraXQKQEAgLTIxMCwxNiArMjEwLDcgQEAgaWYgKCR1c2VHWVApIHsKIAog
bXkgQG9wdGlvbnMgPSAoKTsKIAotIyBlbmFibGUgYXV0b3Rvb2wgb3B0aW9ucyBhY2NvcmRpbmds
eQotaWYgKGlzR3RrKCkpIHsKLSAgICBAb3B0aW9ucyA9IEBBUkdWOwotICAgIGZvcmVhY2ggKEBm
ZWF0dXJlcykgewotICAgICAgICBwdXNoIEBvcHRpb25zLCBhdXRvdG9vbHNGbGFnKCR7JF8tPnt2
YWx1ZX19LCAkXy0+e29wdGlvbn0pOwotICAgIH0KLQotICAgIHB1c2ggQG9wdGlvbnMsICItLXBy
ZWZpeD0iIC4gJHByZWZpeFBhdGggaWYgZGVmaW5lZCgkcHJlZml4UGF0aCk7Ci0gICAgcHVzaCBA
b3B0aW9ucywgIi0tbWFrZWFyZ3M9IiAuICRtYWtlQXJncyBpZiAkbWFrZUFyZ3M7Ci19IGVsc2lm
IChpc0FwcGxlTWFjV2ViS2l0KCkpIHsKK2lmIChpc0FwcGxlTWFjV2ViS2l0KCkpIHsKICAgICBj
aGVja0ZvckphdmFTREsoKTsKICAgICBwdXNoIEBvcHRpb25zLCBYY29kZU9wdGlvbnMoKTsKIApA
QCAtMzY2LDEwICszNTcsNyBAQCBmb3IgbXkgJGRpciAoQHByb2plY3RzKSB7CiAKICAgICBteSAk
cHJvamVjdCA9IGJhc2VuYW1lKCRkaXIpOwogICAgIGlmIChpc0d0aygpKSB7Ci0gICAgICAgIGlm
ICgkbm9XZWJLaXQyKSB7Ci0gICAgICAgICAgICB1bnNoaWZ0KEBvcHRpb25zLCAiLS1kaXNhYmxl
LXdlYmtpdDIiKTsKLSAgICAgICAgfQotICAgICAgICAkcmVzdWx0ID0gYnVpbGRHdGtQcm9qZWN0
KCRwcm9qZWN0LCAkY2xlYW4sIEBvcHRpb25zKTsKKyAgICAgICAgJHJlc3VsdCA9IGJ1aWxkR3Rr
UHJvamVjdCgkcHJvamVjdCwgJGNsZWFuLCAkcHJlZml4UGF0aCwgJG1ha2VBcmdzLCAkbm9XZWJL
aXQyLCBAZmVhdHVyZXMpOwogICAgIH0gZWxzaWYgKGlzQXBwbGVNYWNXZWJLaXQoKSkgewogICAg
ICAgICBteSBAbG9jYWxfb3B0aW9ucyA9IEBvcHRpb25zOwogICAgICAgICBwdXNoIEBsb2NhbF9v
cHRpb25zLCBYY29kZUNvdmVyYWdlU3VwcG9ydE9wdGlvbnMoKSBpZiAkY292ZXJhZ2VTdXBwb3J0
ICYmICRwcm9qZWN0IG5lICJBTkdMRSI7CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dGRpcnMucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KaW5kZXggMDI5MWM0Nzc2ZWIy
NjMzMzJlNDk5ZDkyNzFmNjU4NzQ0ZWYyNGM3OS4uY2NmYjg4ZDRhN2FhODliM2FlYzQ0ZGVkZjZk
YWFmMzE1NTA5MWVkNSAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCisr
KyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQpAQCAtMTg5Nyw5ICsxODk3LDEwIEBAIHN1
YiBhdXRvdG9vbHNGbGFnKCQkKQogCiBzdWIgcnVuQXV0b2dlbkZvckF1dG90b29sc1Byb2plY3RJ
Zk5lY2Vzc2FyeSgkQCkKIHsKLSAgICBteSAoJGRpciwgJHByZWZpeCwgJHNvdXJjZURpciwgJHBy
b2plY3QsIEBidWlsZEFyZ3MpID0gQF87CisgICAgbXkgKCRkaXIsICRwcmVmaXgsICRzb3VyY2VE
aXIsICRwcm9qZWN0LCAkam9pbmVkT3ZlcnJpZGFibGVGZWF0dXJlcywgQGJ1aWxkQXJncykgPSBA
XzsKKworICAgIG15ICRqb2luZWRCdWlsZEFyZ3MgPSBqb2luKCIgIiwgQGJ1aWxkQXJncyk7CiAK
LSAgICBteSAkYXJndW1lbnRzRmlsZSA9ICJwcmV2aW91cy1hdXRvZ2VuLWFyZ3VtZW50cy50eHQi
OwogICAgIGlmICgtZSAiR05VbWFrZWZpbGUiKSB7CiAgICAgICAgICMgSnVzdCBhc3N1bWUgdGhh
dCBidWlsZC1qc2Mgd2lsbCBuZXZlciBiZSB1c2VkIHRvIHJlY29uZmlndXJlIEpTQy4gTGF0ZXIK
ICAgICAgICAgIyB3ZSBjYW4gZ28gYmFjayBhbmQgbWFrZSB0aGlzIG1vcmUgY29tcGxpY2F0ZWQg
aWYgdGhlIGRlbWFuZCBpcyB0aGVyZS4KQEAgLTE5MDcsOCArMTkwOCw5IEBAIHN1YiBydW5BdXRv
Z2VuRm9yQXV0b3Rvb2xzUHJvamVjdElmTmVjZXNzYXJ5KCRAKQogICAgICAgICAgICAgcmV0dXJu
OwogICAgICAgICB9CiAKLSAgICAgICAgIyBXZSBvbmx5IHJ1biBhdXRvZ2VuLnNoIGFnYWluIGlm
IHRoZSBhcmd1bWVudHMgcGFzc2VkIGhhdmUgY2hhbmdlZC4KLSAgICAgICAgaWYgKCFtdXN0UmVS
dW5BdXRvZ2VuKCRzb3VyY2VEaXIsICRhcmd1bWVudHNGaWxlLCBAYnVpbGRBcmdzKSkgeworICAg
ICAgICAjIFJ1biBhdXRvZ2VuLnNoIGFnYWluIGlmIGVpdGhlciB0aGUgZmVhdHVyZXMgb3ZlcnJp
ZGVkIGJ5IGJ1aWxkLXdlYmtpdCBvciBidWlsZCBhcmd1bWVudHMgaGF2ZSBjaGFuZ2VkLgorICAg
ICAgICBpZiAoIW11c3RSZVJ1bkF1dG9nZW4oJHNvdXJjZURpciwgImZlYXR1cmUtZGVmaW5lcy1v
dmVycmlkaW5nLnR4dCIsICRqb2luZWRPdmVycmlkYWJsZUZlYXR1cmVzKQorICAgICAgICAgICAg
JiYgIW11c3RSZVJ1bkF1dG9nZW4oJHNvdXJjZURpciwgInByZXZpb3VzLWF1dG9nZW4tYXJndW1l
bnRzLnR4dCIsICRqb2luZWRCdWlsZEFyZ3MpKSB7CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KICAgICB9CkBAIC0xOTE5LDggKzE5MjEsMTIgQEAgc3ViIHJ1bkF1dG9nZW5Gb3JBdXRv
dG9vbHNQcm9qZWN0SWZOZWNlc3NhcnkoJEApCiAgICAgIyBPbmx5IGZvciBXZWJLaXQsIHdyaXRl
IHRoZSBhdXRvZ2VuLnNoIGFyZ3VtZW50cyB0byBhIGZpbGUgc28gdGhhdCB3ZSBjYW4gZGV0ZWN0
CiAgICAgIyB3aGVuIHRoZXkgY2hhbmdlIGFuZCBhdXRvbWF0aWNhbGx5IHJlLXJ1biBpdC4KICAg
ICBpZiAoJHByb2plY3QgZXEgJ1dlYktpdCcpIHsKLSAgICAgICAgb3BlbihBVVRPVE9PTFNfQVJH
VU1FTlRTLCAiPiRhcmd1bWVudHNGaWxlIik7Ci0gICAgICAgIHByaW50IEFVVE9UT09MU19BUkdV
TUVOVFMgam9pbigiICIsIEBidWlsZEFyZ3MpOworICAgICAgICBvcGVuKE9WRVJSSURBQkxFX0ZF
QVRVUkVTLCAiPmZlYXR1cmUtZGVmaW5lcy1vdmVycmlkaW5nLnR4dCIpOworICAgICAgICBwcmlu
dCBPVkVSUklEQUJMRV9GRUFUVVJFUyAkam9pbmVkT3ZlcnJpZGFibGVGZWF0dXJlczsKKyAgICAg
ICAgY2xvc2UoT1ZFUlJJREFCTEVfRkVBVFVSRVMpOworCisgICAgICAgIG9wZW4oQVVUT1RPT0xT
X0FSR1VNRU5UUywgIj5wcmV2aW91cy1hdXRvZ2VuLWFyZ3VtZW50cy50eHQiKTsKKyAgICAgICAg
cHJpbnQgQVVUT1RPT0xTX0FSR1VNRU5UUyAkam9pbmVkQnVpbGRBcmdzOwogICAgICAgICBjbG9z
ZShBVVRPVE9PTFNfQVJHVU1FTlRTKTsKICAgICB9CiAKQEAgLTE5NTQsMjQgKzE5NjAsMjQgQEAg
c3ViIGdldEpoYnVpbGRQYXRoKCkKIAogc3ViIG11c3RSZVJ1bkF1dG9nZW4oJEApCiB7Ci0gICAg
bXkgKCRzb3VyY2VEaXIsICRmaWxlbmFtZSwgQGN1cnJlbnRBcmd1bWVudHMpID0gQF87CisgICAg
bXkgKCRzb3VyY2VEaXIsICRmaWxlbmFtZSwgJGN1cnJlbnRDb250ZW50cykgPSBAXzsKIAogICAg
IGlmICghIC1lICRmaWxlbmFtZSkgewogICAgICAgICByZXR1cm4gMTsKICAgICB9CiAKLSAgICBv
cGVuKEFVVE9UT09MU19BUkdVTUVOVFMsICRmaWxlbmFtZSk7Ci0gICAgY2hvbXAobXkgJHByZXZp
b3VzQXJndW1lbnRzID0gPEFVVE9UT09MU19BUkdVTUVOVFM+KTsKLSAgICBjbG9zZShBVVRPVE9P
TFNfQVJHVU1FTlRTKTsKKyAgICBvcGVuKENPTlRFTlRTX0ZJTEUsICRmaWxlbmFtZSk7CisgICAg
Y2hvbXAobXkgJHByZXZpb3VzQ29udGVudHMgPSA8Q09OVEVOVFNfRklMRT4pOworICAgIGNsb3Nl
KENPTlRFTlRTX0ZJTEUpOwogCiAgICAgIyBXZSBvbmx5IGNhcmUgYWJvdXQgdGhlIFdlYktpdDIg
YXJndW1lbnQgd2hlbiB3ZSBhcmUgYnVpbGRpbmcgV2ViS2l0IGl0c2VsZi4KICAgICAjIGJ1aWxk
LWpzYyBuZXZlciBwYXNzZXMgLS1lbmFibGUtd2Via2l0Miwgc28gaWYgd2UgZGlkbid0IGRvIHRo
aXMsIGF1dG9nZW4uc2gKICAgICAjIHdvdWxkIHJ1biBmb3IgZXZlcnkgc2luZ2xlIGJ1aWxkIG9u
IHRoZSBib3RzLCBzaW5jZSBpdCBydW5zIGJvdGggYnVpbGQtd2Via2l0CiAgICAgIyBhbmQgYnVp
bGQtanNjLgotICAgIG15ICRqb2luZWRDdXJyZW50QXJndW1lbnRzID0gam9pbigiICIsIEBjdXJy
ZW50QXJndW1lbnRzKTsKLSAgICBpZiAoJHByZXZpb3VzQXJndW1lbnRzIG5lICRqb2luZWRDdXJy
ZW50QXJndW1lbnRzKSB7Ci0gICAgICAgIHByaW50ICJQcmV2aW91cyBhdXRvZ2VuIGFyZ3VtZW50
cyB3ZXJlOiAkcHJldmlvdXNBcmd1bWVudHNcblxuIjsKLSAgICAgICAgcHJpbnQgIk5ldyBhdXRv
Z2VuIGFyZ3VtZW50cyBhcmU6ICRqb2luZWRDdXJyZW50QXJndW1lbnRzXG4iOworICAgIGlmICgk
cHJldmlvdXNDb250ZW50cyBuZSAkY3VycmVudENvbnRlbnRzKSB7CisgICAgICAgIHByaW50ICJD
b250ZW50cyBmb3IgZmlsZSAkZmlsZW5hbWUgaGF2ZSBjaGFuZ2VkLlxuIjsKKyAgICAgICAgcHJp
bnQgIlByZXZpb3VzIGNvbnRlbnRzIHdlcmU6ICRwcmV2aW91c0NvbnRlbnRzXG5cbiI7CisgICAg
ICAgIHByaW50ICJOZXcgY29udGVudHMgYXJlOiAkY3VycmVudENvbnRlbnRzXG4iOwogICAgICAg
ICByZXR1cm4gMTsKICAgICB9CiAKQEAgLTE5ODAsMTIgKzE5ODYsMTEgQEAgc3ViIG11c3RSZVJ1
bkF1dG9nZW4oJEApCiAKIHN1YiBidWlsZEF1dG90b29sc1Byb2plY3QoJEApCiB7Ci0gICAgbXkg
KCRwcm9qZWN0LCAkY2xlYW4sIEBidWlsZFBhcmFtcykgPSBAXzsKKyAgICBteSAoJHByb2plY3Qs
ICRjbGVhbiwgJHByZWZpeCwgJG1ha2VBcmdzLCAkbm9XZWJLaXQyLCBAZmVhdHVyZXMpID0gQF87
CiAKICAgICBteSAkbWFrZSA9ICdtYWtlJzsKICAgICBteSAkZGlyID0gcHJvZHVjdERpcigpOwog
ICAgIG15ICRjb25maWcgPSBwYXNzZWRDb25maWd1cmF0aW9uKCkgfHwgY29uZmlndXJhdGlvbigp
OwotICAgIG15ICRwcmVmaXg7CiAKICAgICAjIFVzZSBybSB0byBjbGVhbiB0aGUgYnVpbGQgZGly
ZWN0b3J5IHNpbmNlIGRpc3RjbGVhbiBtYXkgbWlzcyBmaWxlcwogICAgIGlmICgkY2xlYW4gJiYg
LWQgJGRpcikgewpAQCAtMjAwMSwxOSArMjAwNiwzOCBAQCBzdWIgYnVpbGRBdXRvdG9vbHNQcm9q
ZWN0KCRAKQogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICBteSBAYnVpbGRBcmdzID0g
KCk7Ci0gICAgbXkgJG1ha2VBcmdzID0gJEVOVnsiV2ViS2l0TWFrZUFyZ3VtZW50cyJ9IHx8ICIi
OwotICAgIGZvciBteSAkaSAoMCAuLiAkI2J1aWxkUGFyYW1zKSB7Ci0gICAgICAgIG15ICRvcHQg
PSAkYnVpbGRQYXJhbXNbJGldOwotICAgICAgICBpZiAoJG9wdCA9fiAvXi0tbWFrZWFyZ3M9KC4q
KS9pICkgewotICAgICAgICAgICAgJG1ha2VBcmdzID0gJG1ha2VBcmdzIC4gIiAiIC4gJDE7Ci0g
ICAgICAgIH0gZWxzaWYgKCRvcHQgPX4gL14tLXByZWZpeD0oLiopL2kgKSB7Ci0gICAgICAgICAg
ICAkcHJlZml4ID0gJDE7CisgICAgbXkgQGJ1aWxkQXJncyA9IEBBUkdWOworICAgIGlmICgkbm9X
ZWJLaXQyKSB7CisgICAgICAgIHVuc2hpZnQoQGJ1aWxkQXJncywgIi0tZGlzYWJsZS13ZWJraXQy
Iik7CisgICAgfQorCisgICAgIyBDb25maWd1cmFibGUgZmVhdHVyZXMgbGlzdGVkIGhlcmUgc2hv
dWxkIGJlIGtlcHQgaW4gc3luYyB3aXRoIHRoZQorICAgICMgZmVhdHVyZXMgZm9yIHdoaWNoIHRo
ZXJlIGV4aXN0cyBhIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGluIGNvbmZpZ3VyZS5hYy4KKyAgICBt
eSAlY29uZmlndXJhYmxlRmVhdHVyZXMgPSAoCisgICAgICAgICJmaWx0ZXJzIiA9PiAxLAorICAg
ICAgICAiZ2FtZXBhZCIgPT4gMSwKKyAgICAgICAgImdlb2xvY2F0aW9uIiA9PiAxLAorICAgICAg
ICAiaW5kZXhlZC1kYXRhYmFzZSIgPT4gMSwKKyAgICAgICAgIm1lZGlhLXN0cmVhbSIgPT4gMSwK
KyAgICAgICAgInN2ZyIgPT4gMSwKKyAgICAgICAgInN2Zy1mb250cyIgPT4gMSwKKyAgICAgICAg
InZpZGVvIiA9PiAxLAorICAgICAgICAid2ViZ2wiID0+IDEsCisgICAgICAgICJ3ZWItYXVkaW8i
ID0+IDEsCisgICAgICAgICJ4c2x0IiA9PiAxLAorICAgICk7CisgICAgbXkgQG92ZXJyaWRhYmxl
RmVhdHVyZXMgPSAoKTsKKyAgICBmb3JlYWNoIChAZmVhdHVyZXMpIHsKKyAgICAgICAgaWYgKCRj
b25maWd1cmFibGVGZWF0dXJlc3skXy0+e29wdGlvbn19KSB7CisgICAgICAgICAgICBwdXNoIEBi
dWlsZEFyZ3MsIGF1dG90b29sc0ZsYWcoJHskXy0+e3ZhbHVlfX0sICRfLT57b3B0aW9ufSk7Owog
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgcHVzaCBAYnVpbGRBcmdzLCAkb3B0OworICAg
ICAgICAgICAgcHVzaCBAb3ZlcnJpZGFibGVGZWF0dXJlcywgJF8tPntkZWZpbmV9IC4gIj0iIC4g
KCR7JF8tPnt2YWx1ZX19ID8gIjEiIDogIjAiKTsKICAgICAgICAgfQogICAgIH0KIAorICAgICRt
YWtlQXJncyA9ICRtYWtlQXJncyB8fCAiIjsKKyAgICAkbWFrZUFyZ3MgPSAkbWFrZUFyZ3MgLiAi
ICIgLiAkRU5WeyJXZWJLaXRNYWtlQXJndW1lbnRzIn0gaWYgJEVOVnsiV2ViS2l0TWFrZUFyZ3Vt
ZW50cyJ9OworCiAgICAgIyBBdXRvbWF0aWNhbGx5IGRldGVybWluZSB0aGUgbnVtYmVyIG9mIENQ
VXMgZm9yIG1ha2Ugb25seQogICAgICMgaWYgbWFrZSBhcmd1bWVudHMgaGF2ZW4ndCBhbHJlYWR5
IGJlZW4gc3BlY2lmaWVkLgogICAgIGlmICgkbWFrZUFyZ3MgZXEgIiIpIHsKQEAgLTIwNTEsNyAr
MjA3NSw4IEBAIHN1YiBidWlsZEF1dG90b29sc1Byb2plY3QoJEApCiAgICAgIyBJZiBHTlVtYWtl
ZmlsZSBleGlzdHMsIGRvbid0IHJ1biBhdXRvZ2VuLnNoIHVubGVzcyBpdHMgYXJndW1lbnRzCiAg
ICAgIyBoYXZlIGNoYW5nZWQuIFRoZSBtYWtlZmlsZSBzaG91bGQgYmUgc21hcnQgZW5vdWdoIHRv
IHRyYWNrIGF1dG90b29scwogICAgICMgZGVwZW5kZW5jaWVzIGFuZCByZS1ydW4gYXV0b2dlbi5z
aCB3aGVuIGJ1aWxkIGZpbGVzIGNoYW5nZS4KLSAgICBydW5BdXRvZ2VuRm9yQXV0b3Rvb2xzUHJv
amVjdElmTmVjZXNzYXJ5KCRkaXIsICRwcmVmaXgsICRzb3VyY2VEaXIsICRwcm9qZWN0LCBAYnVp
bGRBcmdzKTsKKyAgICBteSAkam9pbmVkT3ZlcnJpZGFibGVGZWF0dXJlcyA9IGpvaW4oIiAiLCBA
b3ZlcnJpZGFibGVGZWF0dXJlcyk7CisgICAgcnVuQXV0b2dlbkZvckF1dG90b29sc1Byb2plY3RJ
Zk5lY2Vzc2FyeSgkZGlyLCAkcHJlZml4LCAkc291cmNlRGlyLCAkcHJvamVjdCwgJGpvaW5lZE92
ZXJyaWRhYmxlRmVhdHVyZXMsIEBidWlsZEFyZ3MpOwogCiAgICAgbXkgJHJ1bldpdGhKaGJ1aWxk
ID0gamhidWlsZFdyYXBwZXJQcmVmaXhJZk5lZWRlZCgpOwogICAgIGlmIChzeXN0ZW0oIiRydW5X
aXRoSmhidWlsZCAkbWFrZSAkbWFrZUFyZ3MiKSBuZSAwKSB7CkBAIC0yMzkwLDEzICsyNDE1LDEz
IEBAIEVPRgogCiBzdWIgYnVpbGRHdGtQcm9qZWN0CiB7Ci0gICAgbXkgKCRwcm9qZWN0LCAkY2xl
YW4sIEBidWlsZEFyZ3MpID0gQF87CisgICAgbXkgKCRwcm9qZWN0LCAkY2xlYW4sICRwcmVmaXgs
ICRtYWtlQXJncywgJG5vV2ViS2l0MiwgQGZlYXR1cmVzKSA9IEBfOwogCiAgICAgaWYgKCRwcm9q
ZWN0IG5lICJXZWJLaXQiIGFuZCAkcHJvamVjdCBuZSAiSmF2YVNjcmlwdENvcmUiIGFuZCAkcHJv
amVjdCBuZSAiV1RGIikgewogICAgICAgICBkaWUgIlVuc3VwcG9ydGVkIHByb2plY3Q6ICRwcm9q
ZWN0LiBTdXBwb3J0ZWQgcHJvamVjdHM6IFdlYktpdCwgSmF2YVNjcmlwdENvcmUsIFdURlxuIjsK
ICAgICB9CiAKLSAgICByZXR1cm4gYnVpbGRBdXRvdG9vbHNQcm9qZWN0KCRwcm9qZWN0LCAkY2xl
YW4sIEBidWlsZEFyZ3MpOworICAgIHJldHVybiBidWlsZEF1dG90b29sc1Byb2plY3QoJHByb2pl
Y3QsICRjbGVhbiwgJHByZWZpeCwgJG1ha2VBcmdzLCAkbm9XZWJLaXQyLCBAZmVhdHVyZXMpOwog
fQogCiBzdWIgYnVpbGRDaHJvbWl1bU1ha2VmaWxlKCQkQCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cGVybC9GZWF0dXJlTGlzdC5wbSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cGVy
bC9GZWF0dXJlTGlzdC5wbQppbmRleCBjYjUzYjI1MTdmYWVjOWI3ZjM4YjI2YTc3YTAxMDA4MzU5
ZTIyYmY2Li5hMWYyZGE3N2MwNGUzMzFjOTc5ODFhYjcwMmMyNDM3M2I5NzY1OGRjIDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0KKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRwZXJsL0ZlYXR1cmVMaXN0LnBtCkBAIC0xNjksNyArMTY5LDcgQEAgbXkg
QGZlYXR1cmVzID0gKAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfQ1NTX0ZJTFRFUlMiLCBkZWZh
dWx0ID0+IGlzQXBwbGVXZWJLaXQoKSB8fCBpc0JsYWNrQmVycnkoKSwgdmFsdWUgPT4gXCRjc3NG
aWx0ZXJzU3VwcG9ydCB9LAogCiAgICAgeyBvcHRpb24gPT4gImNzczMtdGV4dC1kZWNvcmF0aW9u
IiwgZGVzYyA9PiAiVG9nZ2xlIENTUzMgVGV4dCBEZWNvcmF0aW9uIHN1cHBvcnQiLAotICAgICAg
ZGVmaW5lID0+ICJFTkFCTEVfQ1NTM19URVhUX0RFQ09SQVRJT04iLCBkZWZhdWx0ID0+IGlzRWZs
KCksIHZhbHVlID0+IFwkY3NzM1RleHREZWNvcmF0aW9uU3VwcG9ydCB9LAorICAgICAgZGVmaW5l
ID0+ICJFTkFCTEVfQ1NTM19URVhUX0RFQ09SQVRJT04iLCBkZWZhdWx0ID0+IChpc0VmbCgpIHx8
IGlzR3RrKCkpLCB2YWx1ZSA9PiBcJGNzczNUZXh0RGVjb3JhdGlvblN1cHBvcnQgfSwKIAogICAg
IHsgb3B0aW9uID0+ICJjc3MtaGllcmFyY2hpZXMiLCBkZXNjID0+ICJUb2dnbGUgQ1NTIEhpZXJh
cmNoeSBzdXBwb3J0IiwKICAgICAgIGRlZmluZSA9PiAiRU5BQkxFX0NTU19ISUVSQVJDSElFUyIs
IGRlZmF1bHQgPT4gMCwgdmFsdWUgPT4gXCRjc3NIaWVyYXJjaGllc1N1cHBvcnQgfSwKQEAgLTMw
Nyw3ICszMDcsNyBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTIiwgZGVmYXVsdCA9PiAwLCB2YWx1ZSA9PiBcJG1lZGlhU3RhdGlzdGlj
c1N1cHBvcnQgfSwKIAogICAgIHsgb3B0aW9uID0+ICJtZWRpYS1zdHJlYW0iLCBkZXNjID0+ICJU
b2dnbGUgTWVkaWEgU3RyZWFtIHN1cHBvcnQiLAotICAgICAgZGVmaW5lID0+ICJFTkFCTEVfTUVE
SUFfU1RSRUFNIiwgZGVmYXVsdCA9PiAoaXNDaHJvbWl1bSgpIHx8IGlzR3RrKCkgfHwgaXNCbGFj
a0JlcnJ5KCkpLCB2YWx1ZSA9PiBcJG1lZGlhU3RyZWFtU3VwcG9ydCB9LAorICAgICAgZGVmaW5l
ID0+ICJFTkFCTEVfTUVESUFfU1RSRUFNIiwgZGVmYXVsdCA9PiAoaXNDaHJvbWl1bSgpIHx8IGlz
QmxhY2tCZXJyeSgpKSwgdmFsdWUgPT4gXCRtZWRpYVN0cmVhbVN1cHBvcnQgfSwKIAogICAgIHsg
b3B0aW9uID0+ICJtZXRlci10YWciLCBkZXNjID0+ICJUb2dnbGUgTWV0ZXIgVGFnIHN1cHBvcnQi
LAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfTUVURVJfRUxFTUVOVCIsIGRlZmF1bHQgPT4gIWlz
QXBwbGVXaW5XZWJLaXQoKSwgdmFsdWUgPT4gXCRtZXRlclRhZ1N1cHBvcnQgfSwKQEAgLTM2MSw3
ICszNjEsNyBAQCBteSBAZmVhdHVyZXMgPSAoCiAgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9TUUxf
REFUQUJBU0UiLCBkZWZhdWx0ID0+IDEsIHZhbHVlID0+IFwkc3FsRGF0YWJhc2VTdXBwb3J0IH0s
CiAKICAgICB7IG9wdGlvbiA9PiAic3R5bGUtc2NvcGVkIiwgZGVzYyA9PiAiVG9nZ2xlIFN0eWxl
IFNjb3BlZCBzdXBwb3J0IiwKLSAgICAgIGRlZmluZSA9PiAiRU5BQkxFX1NUWUxFX1NDT1BFRCIs
IGRlZmF1bHQgPT4gaXNCbGFja0JlcnJ5KCksIHZhbHVlID0+IFwkc3R5bGVTY29wZWRTdXBwb3J0
IH0sCisgICAgICBkZWZpbmUgPT4gIkVOQUJMRV9TVFlMRV9TQ09QRUQiLCBkZWZhdWx0ID0+IChp
c0JsYWNrQmVycnkoKSB8fCBpc0d0aygpKSwgdmFsdWUgPT4gXCRzdHlsZVNjb3BlZFN1cHBvcnQg
fSwKIAogICAgIHsgb3B0aW9uID0+ICJzdmciLCBkZXNjID0+ICJUb2dnbGUgU1ZHIHN1cHBvcnQi
LAogICAgICAgZGVmaW5lID0+ICJFTkFCTEVfU1ZHIiwgZGVmYXVsdCA9PiAxLCB2YWx1ZSA9PiBc
JHN2Z1N1cHBvcnQgfSwKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUv
Y2hlY2tlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlci5weQppbmRl
eCA5ZjI3YzM2ZGFiYTJjZjI5MjVhZDg1Y2E1MzgxN2JiMDcyZDJlYmU0Li5kZjc2YzY2ZTliOGU3
NGJlZmM3NDU4ZmM1YzJjOGI3ZWZlZTlhNzYwIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L3N0eWxlL2NoZWNrZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9jaGVja2VyLnB5CkBAIC0zMjEsNiArMzIxLDggQEAgX1NLSVBQRURfRklMRVNfV0lUSF9XQVJO
SU5HID0gWwogIyB3aXRoIEZpbGVUeXBlLk5PTkUgYXJlIGF1dG9tYXRpY2FsbHkgc2tpcHBlZCB3
aXRob3V0IHdhcm5pbmcuCiBfU0tJUFBFRF9GSUxFU19XSVRIT1VUX1dBUk5JTkcgPSBbCiAgICAg
IkxheW91dFRlc3RzIiArIG9zLnBhdGguc2VwLAorICAgICMgUHJldmVudHMgdGhpcyBiZWluZyBy
ZWNvZ25pemVkIGFzIGEgdGV4dCBmaWxlLgorICAgICJTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5mZWF0dXJlcy5hbS5pbiIsCiAgICAgXQogCiAjIEV4dGVuc2lvbnMgb2YgZmlsZXMgd2hpY2gg
YXJlIGFsbG93ZWQgdG8gY29udGFpbiBjYXJyaWFnZSByZXR1cm5zLgpkaWZmIC0tZ2l0IGEvVG9v
bHMvZ3RrL292ZXJyaWRlLWZlYXR1cmUtZGVmaW5lcyBiL1Rvb2xzL2d0ay9vdmVycmlkZS1mZWF0
dXJlLWRlZmluZXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWI5M2Y2YWY1OGQ4ZjZlMTU2ZjY3MjA3ZGM3YzEwNTBm
MGExYzBkYgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL2d0ay9vdmVycmlkZS1mZWF0dXJlLWRl
ZmluZXMKQEAgLTAsMCArMSw1MiBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisKK2ltcG9ydCBv
cworaW1wb3J0IHJlCitpbXBvcnQgc2h1dGlsCitpbXBvcnQgc3lzCisKK2RlZiBjb3B5X2ZlYXR1
cmVfZGVmaW5lc19tYWtlZmlsZSgpOgorICAgIHNyY19wYXRoID0gb3MucGF0aC5qb2luKCdTb3Vy
Y2UnLCAnV2ViQ29yZScsICdHTlVtYWtlZmlsZS5mZWF0dXJlcy5hbS5pbicpCisgICAgZGVzdF9w
YXRoID0gb3MucGF0aC5qb2luKCdTb3VyY2UnLCAnV2ViQ29yZScsICdHTlVtYWtlZmlsZS5mZWF0
dXJlcy5hbScpCisgICAgc2h1dGlsLmNvcHkoc3JjX3BhdGgsIGRlc3RfcGF0aCkKKworZGVmIGFk
anVzdF9mZWF0dXJlX2RlZmluZXNfbWFrZWZpbGUoYnVpbGRfZGlyLCBmZWF0dXJlX2RlZmluZXNf
b3ZlcnJpZGluZyk6CisgICAgZmVhdHVyZV9kZWZpbmVzX21ha2VmaWxlX2ZpbGUgPSBvcy5wYXRo
LmpvaW4oJ1NvdXJjZScsICdXZWJDb3JlJywgJ0dOVW1ha2VmaWxlLmZlYXR1cmVzLmFtJykKKyAg
ICB3aXRoIG9wZW4oZmVhdHVyZV9kZWZpbmVzX21ha2VmaWxlX2ZpbGUpIGFzIGY6CisgICAgICAg
IGZlYXR1cmVfZGVmaW5lc19tYWtlZmlsZSA9IGYucmVhZCgpCisKKyAgICBvdmVycmlkZW5fZmVh
dHVyZV9kZWZpbmVzID0gW10KKyAgICBkZWYgb3ZlcnJpZGVfZmVhdHVyZV9kZWZpbmUobWF0Y2gp
OgorICAgICAgICBtYXRjaGVkX2ZlYXR1cmVfZGVmaW5lID0gbWF0Y2guZ3JvdXAoJ2ZlYXR1cmUn
KQorICAgICAgICBpZiBtYXRjaGVkX2ZlYXR1cmVfZGVmaW5lIG5vdCBpbiBmZWF0dXJlX2RlZmlu
ZXNfb3ZlcnJpZGluZzoKKyAgICAgICAgICAgIHJldHVybiBtYXRjaC5zdHJpbmdbbWF0Y2guc3Rh
cnQoKTptYXRjaC5lbmQoKV0KKworICAgICAgICBpZiBpbnQobWF0Y2guZ3JvdXAoJ2RlZmF1bHRf
dmFsdWUnKSkgaXMgbm90IGZlYXR1cmVfZGVmaW5lc19vdmVycmlkaW5nW21hdGNoZWRfZmVhdHVy
ZV9kZWZpbmVdOgorICAgICAgICAgICAgb3ZlcnJpZGVuX2ZlYXR1cmVfZGVmaW5lcy5hcHBlbmQo
bWF0Y2hlZF9mZWF0dXJlX2RlZmluZSkKKyAgICAgICAgcmV0dXJuICIlcz0lZCIgJSAobWF0Y2hl
ZF9mZWF0dXJlX2RlZmluZSwgZmVhdHVyZV9kZWZpbmVzX292ZXJyaWRpbmdbbWF0Y2hlZF9mZWF0
dXJlX2RlZmluZV0pCisKKyAgICBmZWF0dXJlX2RlZmluZXNfbWFrZWZpbGUgPSByZS5zdWIociIo
P1A8ZmVhdHVyZT4oPzpFTkFCTEVfKVx3Kyk9KD9QPGRlZmF1bHRfdmFsdWU+MHwxKSIsIG92ZXJy
aWRlX2ZlYXR1cmVfZGVmaW5lLCBmZWF0dXJlX2RlZmluZXNfbWFrZWZpbGUpCisgICAgd2l0aCBv
cGVuKGZlYXR1cmVfZGVmaW5lc19tYWtlZmlsZV9maWxlLCAndycpIGFzIGY6CisgICAgICAgIGYu
d3JpdGUoZmVhdHVyZV9kZWZpbmVzX21ha2VmaWxlKQorCisgICAgaWYgb3ZlcnJpZGVuX2ZlYXR1
cmVfZGVmaW5lczoKKyAgICAgICAgcHJpbnQgIlRoZSBmb2xsb3dpbmcgZmVhdHVyZSBkZWZpbmVz
IHdlcmUgb3ZlcnJpZGVuOlxuJXMiICUgJywgJy5qb2luKG92ZXJyaWRlbl9mZWF0dXJlX2RlZmlu
ZXMpCisKK2RlZiBvdmVycmlkZV9mZWF0dXJlX2RlZmluZXMoYnVpbGRfZGlyKToKKyAgICBjb3B5
X2ZlYXR1cmVfZGVmaW5lc19tYWtlZmlsZSgpCisKKyAgICBmZWF0dXJlX2RlZmluZXNfb3ZlcnJp
ZGluZ19maWxlID0gb3MucGF0aC5qb2luKGJ1aWxkX2RpciwgJ2ZlYXR1cmUtZGVmaW5lcy1vdmVy
cmlkaW5nLnR4dCcpCisgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGZlYXR1cmVfZGVmaW5lc19v
dmVycmlkaW5nX2ZpbGUpOgorICAgICAgICByZXR1cm4KKworICAgIHdpdGggb3BlbihmZWF0dXJl
X2RlZmluZXNfb3ZlcnJpZGluZ19maWxlKSBhcyBmOgorICAgICAgICBtYXRjaF9pdGVyID0gcmUu
ZmluZGFsbChyIigoPzpFTkFCTEVfKVx3Kyk9KDB8MSkiLCBmLnJlYWQoKSkKKworICAgIGZlYXR1
cmVfZGVmaW5lc19vdmVycmlkaW5nID0ge30KKyAgICBmb3IgbWF0Y2ggaW4gbWF0Y2hfaXRlcjoK
KyAgICAgICAgZmVhdHVyZV9kZWZpbmVzX292ZXJyaWRpbmdbbWF0Y2hbMF1dID0gaW50KG1hdGNo
WzFdKQorCisgICAgYWRqdXN0X2ZlYXR1cmVfZGVmaW5lc19tYWtlZmlsZShidWlsZF9kaXIsIGZl
YXR1cmVfZGVmaW5lc19vdmVycmlkaW5nKQorCitpZiBfX25hbWVfXz09J19fbWFpbl9fJzoKKyAg
ICBvdmVycmlkZV9mZWF0dXJlX2RlZmluZXMoc3lzLmFyZ3ZbMV0pCmRpZmYgLS1naXQgYS8uZ2l0
aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCBmMDBjYTk0NDM3ZWFlNDRjNzg4MGYwZjIwNjRhMzQx
YjRmYzFiMzczLi5mZDU5MDRjMjljYjIzZWQ1MWViYTFkNmNkOGFjZjU4MGIxNGUwOTMzIDEwMDY0
NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRpZ25vcmUKQEAgLTQ2LDYgKzQ2LDcgQEAgdGFn
cwogL1NvdXJjZS9hdXRvdG9vbHMvbHR2ZXJzaW9uLm00CiAvU291cmNlL2F1dG90b29scy9sdH5v
YnNvbGV0ZS5tNAogL1NvdXJjZS9hdXRvdG9vbHMvbWlzc2luZworL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmZlYXR1cmVzLmFtCiAvU291cmNlL1dlYktpdC9ndGsvZG9jcy9HTlVtYWtlZmls
ZS5pbgogL1NvdXJjZS9XZWJLaXQvZ3RrL3BvLyoucG90CiAvYXV0b3Rvb2xzY29uZmlnLmguaW4K
ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBkZDhkYzM4NzA4Y2MwNjJi
ZGM1MjY4YmU2MTAxYmE5OGUyZDhkN2IwLi44ODM1MjdkODg4MjdhNmQ0NmMwYmMyMDk1ZTQ0OGU0
OWFmNzk4ZjI5IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjEgQEAKKzIwMTItMTAtMTggIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWlsLmNv
bT4KKworICAgICAgICBbR1RLXSBGZWF0dXJlIGVuYWJsaW5nL2Rpc2FibGluZyBzaG91bGQgYmUg
cG9zc2libGUgdGhyb3VnaCBidWlsZC13ZWJraXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTk5MjcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhlIGF1dG9nZW4uc2ggc2NyaXB0IG5vdyBjYWxscyB0aGUg
VG9vbHMvZ3RrL292ZXJyaWRlLWZlYXR1cmUtZGVmaW5lcyBzY3JpcHQKKyAgICAgICAgYmVmb3Jl
IGNhbGxpbmcgYXV0b3JlY29uZi4gVGhpcyBlbnN1cmVzIHRoYXQgU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUuZmVhdHVyZXMuYW0KKyAgICAgICAgaXMgcHJlc2VudCBhbmQgcHJvcGVybHkgbW9k
aWZpZWQgaWYgdGhlIGJ1aWxkLXdlYmtpdCBzY3JpcHQgaW50ZW5kcyB0byBvdmVycmlkZQorICAg
ICAgICBhbnkgZmVhdHVyZS4KKworICAgICAgICBUaGUgU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUuZmVhdHVyZXMuYW0gZmlsZSBpcyBhZGRlZCB0byB0aGUgaWdub3JlZCBmaWxlcyBsaXN0Cisg
ICAgICAgIHNvIGl0IGRvZXNuJ3QgcG9wIG91dCBhcyBhIG5ldywgdW50cmFja2VkIGZpbGUuCisK
KyAgICAgICAgKiAuZ2l0aWdub3JlOgorICAgICAgICAqIGF1dG9nZW4uc2g6CisKIDIwMTItMTAt
MTcgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWprb3dza2lAc2Ftc3VuZy5jb20+LCBNaWNo
YWwgUm9qIDxtLnJvakBzYXNtdW5nLmNvbT4KIAogICAgICAgICBbV0syXVtFRkxdIEltcGxlbWVu
dGF0aW9uIG9mIHNwZWxsY2hlY2tpbmcgZmVhdHVyZS4KZGlmZiAtLWdpdCBhL2F1dG9nZW4uc2gg
Yi9hdXRvZ2VuLnNoCmluZGV4IDEyYzZhNGM3ZTk3YjRhMWM0OGI5MmJkYWQ0YWZlZmYxYTkzNDlj
Y2QuLjFhZTYxOWE3NGRlZmQ1NTgxODZmZjBlYTMyMmMwOTY4YjBiYjViNWYgMTAwNzU1Ci0tLSBh
L2F1dG9nZW4uc2gKKysrIGIvYXV0b2dlbi5zaApAQCAtMTIsNiArMTIsOCBAQCBybSAtZiAkdG9w
X3NyY2Rpci9hdXRvbTR0ZS5jYWNoZQogCiB0b3VjaCBSRUFETUUgSU5TVEFMTAogCitUb29scy9n
dGsvb3ZlcnJpZGUtZmVhdHVyZS1kZWZpbmVzICRPUklHRElSCisKIGlmIHRlc3QgLXogYHdoaWNo
IGF1dG9yZWNvbmZgOyB0aGVuCiAgICAgZWNobyAiRXJyb3I6IGF1dG9yZWNvbmYgbm90IGZvdW5k
LCBwbGVhc2UgaW5zdGFsbCBpdC4iCiAgICAgZXhpdCAxCg==
</data>
<flag name="review"
          id="182657"
          type_id="1"
          status="+"
          setter="gustavo"
    />
          </attachment>
      

    </bug>

</bugzilla>