<?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>81589</bug_id>
          
          <creation_ts>2012-03-19 16:30:36 -0700</creation_ts>
          <short_desc>[Qt][WK2] Support multi-file upload</short_desc>
          <delta_ts>2012-03-26 19:30:03 -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>WebKit2</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="Dinu Jacob">dinu.jacob</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ahf</cc>
    
    <cc>menard</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>582423</commentid>
    <comment_count>0</comment_count>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-03-19 16:30:36 -0700</bug_when>
    <thetext>Add support for multi-file upload</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582441</commentid>
    <comment_count>1</comment_count>
      <attachid>132715</attachid>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-03-19 16:42:06 -0700</bug_when>
    <thetext>Created attachment 132715
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587710</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-03-26 07:22:07 -0700</bug_when>
    <thetext>CC&apos;ing Alex, this might require coordination due to his work on cleaning up the dialog code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587724</commentid>
    <comment_count>3</comment_count>
      <attachid>132715</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-03-26 07:36:18 -0700</bug_when>
    <thetext>Comment on attachment 132715
Patch

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

r=me, but please fix the conversion before landing

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:384
&gt; +    if (!dialogRunner.initForFilePicker(filePicker, q, selectedFileNames, type))

Hmm, initForFilePicker&apos;s last argument is a boolean, but type is an enum. It sounds like that conversion should be a bit more explicit, because like this it&apos;s not very readable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587871</commentid>
    <comment_count>4</comment_count>
      <attachid>133843</attachid>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-03-26 10:32:04 -0700</bug_when>
    <thetext>Created attachment 133843
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587904</commentid>
    <comment_count>5</comment_count>
      <attachid>133843</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-26 10:59:08 -0700</bug_when>
    <thetext>Comment on attachment 133843
Patch

Rejecting attachment 133843 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
webkit-commit-queue/

Error: the Git diff contains a binary file without the binary data in line: &quot;Binary files /dev/null and b/Tools/MiniBrowser/qt/icons/checkbox_checked.png differ&quot;.  Be sure to use the --binary flag when invoking &quot;git diff&quot; with diffs containing binary files. at /mnt/git/webkit-commit-queue/Tools/Scripts/VCSUtils.pm line 690, &lt;ARGV&gt; line 369.

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;]&quot; exit_code: 9 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/12131964</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587914</commentid>
    <comment_count>6</comment_count>
      <attachid>133847</attachid>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-03-26 11:01:16 -0700</bug_when>
    <thetext>Created attachment 133847
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587928</commentid>
    <comment_count>7</comment_count>
    <who name="Alexander Færøy">ahf</who>
    <bug_when>2012-03-26 11:09:18 -0700</bug_when>
    <thetext>I am fine with this change. I just got sidetracked by something else, so we can just get this in and I will rebase my patch before uploading it for review :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587944</commentid>
    <comment_count>8</comment_count>
      <attachid>133847</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-26 11:20:08 -0700</bug_when>
    <thetext>Comment on attachment 133847
Patch

Rejecting attachment 133847 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
1 hunk FAILED -- saving rejects to file Source/WebKit2/UIProcess/qt/QtDialogRunner.h.rej
patching file Tools/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Tools/MiniBrowser/qt/MiniBrowser.qrc
patching file Tools/MiniBrowser/qt/js/MultiSelect.js
patching file Tools/MiniBrowser/qt/qml/CheckBox.qml
patching file Tools/MiniBrowser/qt/qml/FilePicker.qml

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;]&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/12132900</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587987</commentid>
    <comment_count>9</comment_count>
      <attachid>133863</attachid>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-03-26 12:23:43 -0700</bug_when>
    <thetext>Created attachment 133863
Re-based patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587990</commentid>
    <comment_count>10</comment_count>
      <attachid>133864</attachid>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-03-26 12:27:29 -0700</bug_when>
    <thetext>Created attachment 133864
Re-based patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>587997</commentid>
    <comment_count>11</comment_count>
      <attachid>133865</attachid>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-03-26 12:32:36 -0700</bug_when>
    <thetext>Created attachment 133865
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588021</commentid>
    <comment_count>12</comment_count>
      <attachid>133865</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-26 12:54:24 -0700</bug_when>
    <thetext>Comment on attachment 133865
Patch

Attachment 133865 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12133969</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588057</commentid>
    <comment_count>13</comment_count>
      <attachid>133876</attachid>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-03-26 13:20:07 -0700</bug_when>
    <thetext>Created attachment 133876
Patch again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588092</commentid>
    <comment_count>14</comment_count>
      <attachid>133876</attachid>
    <who name="Alexander Færøy">ahf</who>
    <bug_when>2012-03-26 13:49:09 -0700</bug_when>
    <thetext>Comment on attachment 133876
Patch again

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

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:371
&gt; +    if (!dialogRunner.initForFilePicker(filePicker, q, selectedFileNames, (bool)type))

I don&apos;t think that was what Simon meant by being more explicit. I suggest you change it to something like:

if (!dialogRunner.initForFilePicker(filePicker, q, selectedFileNames, type == QtWebPageUIClient::Whatever))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588097</commentid>
    <comment_count>15</comment_count>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-03-26 13:51:15 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 133876 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=133876&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp:371
&gt; &gt; +    if (!dialogRunner.initForFilePicker(filePicker, q, selectedFileNames, (bool)type))
&gt; 
&gt; I don&apos;t think that was what Simon meant by being more explicit. I suggest you change it to something like:
&gt; 
&gt; if (!dialogRunner.initForFilePicker(filePicker, q, selectedFileNames, type == QtWebPageUIClient::Whatever))

Sure I can make it an explicit boolean value like that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588110</commentid>
    <comment_count>16</comment_count>
      <attachid>133888</attachid>
    <who name="Dinu Jacob">dinu.jacob</who>
    <bug_when>2012-03-26 14:00:14 -0700</bug_when>
    <thetext>Created attachment 133888
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588485</commentid>
    <comment_count>17</comment_count>
      <attachid>133888</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-26 19:29:58 -0700</bug_when>
    <thetext>Comment on attachment 133888
Patch

Clearing flags on attachment: 133888

Committed r112195: &lt;http://trac.webkit.org/changeset/112195&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>588486</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-26 19:30:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132715</attachid>
            <date>2012-03-19 16:42:06 -0700</date>
            <delta_ts>2012-03-26 11:01:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>81589.patch</filename>
            <type>text/plain</type>
            <size>20622</size>
            <attacher name="Dinu Jacob">dinu.jacob</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA3NTFkY2JiLi42ZWY3ZjJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEg
QEAKKzIwMTItMDMtMTkgIERpbnUgSmFjb2IgIDxkaW51LmphY29iQG5va2lhLmNvbT4KKworICAg
ICAgICBbUXRdW1dLMl0gU3VwcG9ydCBtdWx0aS1maWxlIHVwbG9hZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE1ODkKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCAnYWxsb3dNdXRpcGxlRmlsZXMn
IHByb3BlcnR5IHRvIGZpbGVQaWNrZXIgY29udGV4dCBwcm9wZXJ0eSB0byBpbmRpY2F0ZSB3aGV0
aGVyIHRvIGFsbG93CisgICAgICAgIG11bHRpcGxlIGZpbGUgc2VsZWN0aW9ucy4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHA6CisgICAgICAgIChRUXVpY2tX
ZWJWaWV3UHJpdmF0ZTo6Y2hvb3NlRmlsZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQv
dGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yLnBybzoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci90c3RfbXVsdGlGaWxlVXBsb2Fk
LnFtbDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9x
bWx0ZXN0cy9EZXNrdG9wQmVoYXZpb3IvdHN0X3NpbmdsZUZpbGVVcGxvYWQucW1sLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yL3RzdF9z
aW5nbGVGaWxlVXBsb2FkLnFtbDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3Ft
bHRlc3RzL2NvbW1vbi9tdWx0aWZpbGV1cGxvYWQuaHRtbDogQWRkZWQuCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9jb21tb24vc2luZ2xlZmlsZXVwbG9hZC5odG1s
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvY29tbW9uL3RpdGxl
dXBkYXRlLmpzOiBBZGRlZC4KKyAgICAgICAgKHVwZGF0ZVRpdGxlKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuY3BwOgorICAgICAgICAoRmlsZVBpY2tlckNvbnRleHRP
YmplY3QpOgorICAgICAgICAoRmlsZVBpY2tlckNvbnRleHRPYmplY3Q6OkZpbGVQaWNrZXJDb250
ZXh0T2JqZWN0KToKKyAgICAgICAgKEZpbGVQaWNrZXJDb250ZXh0T2JqZWN0OjphbGxvd011bHRp
cGxlRmlsZXMpOgorICAgICAgICAoRmlsZVBpY2tlckNvbnRleHRPYmplY3Q6OmFjY2VwdCk6Cisg
ICAgICAgIChRdERpYWxvZ1J1bm5lcjo6aW5pdEZvckZpbGVQaWNrZXIpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5oOgorICAgICAgICAoUXREaWFsb2dSdW5uZXIpOgor
CiAyMDEyLTAzLTE5ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAg
ICAgIE1ha2UgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmNyZWF0ZUZyYW1lIG1vcmUgbGlrZSBXZWJL
aXQxIHZlcnNpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0
L3FxdWlja3dlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVp
Y2t3ZWJ2aWV3LmNwcAppbmRleCBmZGMyMDczLi4wNTA3YTliIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAKQEAgLTM3NywxMSArMzc3
LDExIEBAIHZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmNob29zZUZpbGVzKFdLT3BlblBhbmVs
UmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXJSZWYsCiB7CiAgICAgUV9RKFFRdWlja1dlYlZpZXcp
OwogCi0gICAgaWYgKCFmaWxlUGlja2VyIHx8IHR5cGUgPT0gUXRXZWJQYWdlVUlDbGllbnQ6Ok11
bHRpcGxlRmlsZXNTZWxlY3Rpb24pCisgICAgaWYgKCFmaWxlUGlja2VyKQogICAgICAgICByZXR1
cm47CiAKICAgICBRdERpYWxvZ1J1bm5lciBkaWFsb2dSdW5uZXI7Ci0gICAgaWYgKCFkaWFsb2dS
dW5uZXIuaW5pdEZvckZpbGVQaWNrZXIoZmlsZVBpY2tlciwgcSwgc2VsZWN0ZWRGaWxlTmFtZXMp
KQorICAgIGlmICghZGlhbG9nUnVubmVyLmluaXRGb3JGaWxlUGlja2VyKGZpbGVQaWNrZXIsIHEs
IHNlbGVjdGVkRmlsZU5hbWVzLCB0eXBlKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgZXhlY0Rp
YWxvZ1J1bm5lcihkaWFsb2dSdW5uZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9EZXNrdG9wQmVoYXZpb3IucHJvIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9EZXNrdG9wQmVoYXZpb3Iu
cHJvCmluZGV4IDVjZjQ2Y2IuLjU5YTNjYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yLnBybworKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhh
dmlvci5wcm8KQEAgLTIwLDQgKzIwLDUgQEAgT1RIRVJfRklMRVMgKz0gXAogICAgIERlc2t0b3BC
ZWhhdmlvci90c3RfbG9hZEh0bWwucW1sIFwKICAgICBEZXNrdG9wQmVoYXZpb3IvdHN0X21lc3Nh
Z2luZy5xbWwgXAogICAgIERlc2t0b3BCZWhhdmlvci90c3RfbmF2aWdhdGlvblJlcXVlc3RlZC5x
bWwgXAotICAgIERlc2t0b3BCZWhhdmlvci90c3Rfc2luZ2xlZmlsZXVwbG9hZC5xbWwKKyAgICBE
ZXNrdG9wQmVoYXZpb3IvdHN0X3NpbmdsZUZpbGV1cGxvYWQucW1sIFwKKyAgICBEZXNrdG9wQmVo
YXZpb3IvdHN0X211bHRpRmlsZXVwbG9hZC5xbWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yL3RzdF9tdWx0
aUZpbGVVcGxvYWQucW1sIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9x
bWx0ZXN0cy9EZXNrdG9wQmVoYXZpb3IvdHN0X211bHRpRmlsZVVwbG9hZC5xbWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQzZjY1NgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2
aW9yL3RzdF9tdWx0aUZpbGVVcGxvYWQucW1sCkBAIC0wLDAgKzEsNjYgQEAKK2ltcG9ydCBRdFF1
aWNrIDIuMAoraW1wb3J0IFF0VGVzdCAxLjAKK2ltcG9ydCBRdFdlYktpdCAzLjAKK2ltcG9ydCBR
dFdlYktpdC5leHBlcmltZW50YWwgMS4wCitpbXBvcnQgIi4uL2NvbW1vbiIKKworLy8gRklYTUU6
IEFkZGVkIHRvIERlc2t0b3AgdGVzdHMgYmVjYXVzZSB3ZSB3YW50IHRvIGhhdmUgbW91c2VDbGlj
aygpIHRvIG9wZW4gdGhlIDxpbnB1dD4gdGFnLiBXZSBjYW4gbW92ZSBpdCBiYWNrCisvLyB3aGVu
IFRlc3RDYXNlIHN0YXJ0cyBzdXBwb3J0aW5nIHRvdWNoIGV2ZW50cywgc2VlIGh0dHBzOi8vYnVn
cmVwb3J0cy5xdC5ub2tpYS5jb20vYnJvd3NlL1FUQlVHLTIzMDgzLgorVGVzdFdlYlZpZXcgewor
ICAgIGlkOiB3ZWJWaWV3CisKKyAgICB3aWR0aDogNDAwCisgICAgaGVpZ2h0OiA0MDAKKworICAg
IHByb3BlcnR5IGJvb2wgc2VsZWN0RmlsZQorCisgICAgZXhwZXJpbWVudGFsLmZpbGVQaWNrZXI6
IEl0ZW0geworICAgICAgICBUaW1lciB7CisgICAgICAgICAgICBydW5uaW5nOiB0cnVlCisgICAg
ICAgICAgICBpbnRlcnZhbDogMQorICAgICAgICAgICAgb25UcmlnZ2VyZWQ6IHsKKyAgICAgICAg
ICAgICAgICB2YXIgc2VsZWN0ZWRGaWxlcyA9IFsiZmlsZW5hbWUxIiwgImZpbGVuYW1lMiJdCisg
ICAgICAgICAgICAgICAgaWYgKHNlbGVjdEZpbGUpCisgICAgICAgICAgICAgICAgICAgIG1vZGVs
LmFjY2VwdChzZWxlY3RlZEZpbGVzKQorICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICAgICAgbW9kZWwucmVqZWN0KCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9
CisKKyAgICBTaWduYWxTcHkgeworICAgICAgICBpZDogdGl0bGVTcHkKKyAgICAgICAgdGFyZ2V0
OiB3ZWJWaWV3CisgICAgICAgIHNpZ25hbE5hbWU6ICJ0aXRsZUNoYW5nZWQiCisgICAgfQorCisg
ICAgVGVzdENhc2UgeworICAgICAgICBpZDogdGVzdAorICAgICAgICBuYW1lOiAiV2ViVmlld011
bHRpRmlsZVBpY2tlciIKKyAgICAgICAgd2hlbjogd2luZG93U2hvd24KKworICAgICAgICBmdW5j
dGlvbiBpbml0KCkgeworICAgICAgICAgICAgd2ViVmlldy51cmwgPSBRdC5yZXNvbHZlZFVybCgi
Li4vY29tbW9uL211bHRpZmlsZXVwbG9hZC5odG1sIikKKyAgICAgICAgICAgIHZlcmlmeSh3ZWJW
aWV3LndhaXRGb3JMb2FkU3VjY2VlZGVkKCkpCisgICAgICAgICAgICB0aXRsZVNweS5jbGVhcigp
CisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBvcGVuSXRlbVNlbGVjdG9yKCkgeworICAg
ICAgICAgICAgbW91c2VDbGljayh3ZWJWaWV3LCAxNSwgMTUsIFF0LkxlZnRCdXR0b24pCisgICAg
ICAgIH0KKworICAgICAgICBmdW5jdGlvbiB0ZXN0X2FjY2VwdCgpIHsKKyAgICAgICAgICAgIHdl
YlZpZXcuc2VsZWN0RmlsZSA9IHRydWU7CisgICAgICAgICAgICBvcGVuSXRlbVNlbGVjdG9yKCkK
KyAgICAgICAgICAgIHRpdGxlU3B5LndhaXQoKQorICAgICAgICAgICAgY29tcGFyZSh3ZWJWaWV3
LnRpdGxlLCAiZmlsZW5hbWUxLGZpbGVuYW1lMiIpCisgICAgICAgIH0KKworICAgICAgICBmdW5j
dGlvbiB0ZXN0X3JlamVjdCgpIHsKKyAgICAgICAgICAgIHZhciBvbGRUaXRsZSA9IHdlYlZpZXcu
dGl0bGUKKyAgICAgICAgICAgIHdlYlZpZXcuc2VsZWN0RmlsZSA9IGZhbHNlOworICAgICAgICAg
ICAgb3Blbkl0ZW1TZWxlY3RvcigpCisgICAgICAgICAgICBjb21wYXJlKHdlYlZpZXcudGl0bGUs
IG9sZFRpdGxlKQorICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9EZXNrdG9wQmVoYXZpb3IvdHN0X3Np
bmdsZUZpbGVVcGxvYWQucW1sIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0
cy9xbWx0ZXN0cy9EZXNrdG9wQmVoYXZpb3IvdHN0X3NpbmdsZUZpbGVVcGxvYWQucW1sCmluZGV4
IGNlNDk1ZWEuLjdjYTllZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yL3RzdF9zaW5nbGVGaWxlVXBsb2Fk
LnFtbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3Rz
L0Rlc2t0b3BCZWhhdmlvci90c3Rfc2luZ2xlRmlsZVVwbG9hZC5xbWwKQEAgLTEzLDE0ICsxMywy
MCBAQCBUZXN0V2ViVmlldyB7CiAgICAgaGVpZ2h0OiA0MDAKIAogICAgIHByb3BlcnR5IGJvb2wg
c2VsZWN0RmlsZQorICAgIHByb3BlcnR5IGJvb2wgYWNjZXB0TXVsdGlwbGU6IGZhbHNlCiAKICAg
ICBleHBlcmltZW50YWwuZmlsZVBpY2tlcjogSXRlbSB7CiAgICAgICAgIFRpbWVyIHsKICAgICAg
ICAgICAgIHJ1bm5pbmc6IHRydWUKICAgICAgICAgICAgIGludGVydmFsOiAxCiAgICAgICAgICAg
ICBvblRyaWdnZXJlZDogewotICAgICAgICAgICAgICAgIGlmIChzZWxlY3RGaWxlKQotICAgICAg
ICAgICAgICAgICAgICBtb2RlbC5hY2NlcHQoImFjY2VwdGVkZmlsZW5hbWUiKTsKKyAgICAgICAg
ICAgICAgICB2YXIgc2VsZWN0ZWRGaWxlcyA9IFsiZmlsZW5hbWUxIiwgImZpbGVuYW1lMiJdCisg
ICAgICAgICAgICAgICAgaWYgKHNlbGVjdEZpbGUpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYg
KGFjY2VwdE11bHRpcGxlKQorICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWwuYWNjZXB0KHNl
bGVjdGVkRmlsZXMpCisgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAg
ICAgICAgIG1vZGVsLmFjY2VwdCgiYWNjZXB0ZWRmaWxlbmFtZSIpOworICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgIG1vZGVsLnJlamVj
dCgpOwogICAgICAgICAgICAgfQpAQCAtNTUsNiArNjEsMTQgQEAgVGVzdFdlYlZpZXcgewogICAg
ICAgICAgICAgY29tcGFyZSh3ZWJWaWV3LnRpdGxlLCAiYWNjZXB0ZWRmaWxlbmFtZSIpCiAgICAg
ICAgIH0KIAorICAgICAgICBmdW5jdGlvbiB0ZXN0X211bHRpcGxlKCkgeworICAgICAgICAgICAg
d2ViVmlldy5zZWxlY3RGaWxlID0gdHJ1ZTsKKyAgICAgICAgICAgIHdlYlZpZXcuYWNjZXB0TXVs
dGlwbGUgPSB0cnVlOworICAgICAgICAgICAgb3Blbkl0ZW1TZWxlY3RvcigpCisgICAgICAgICAg
ICB0aXRsZVNweS53YWl0KCkKKyAgICAgICAgICAgIGNvbXBhcmUod2ViVmlldy50aXRsZSwgImZp
bGVuYW1lMSIpCisgICAgICAgIH0KKwogICAgICAgICBmdW5jdGlvbiB0ZXN0X3JlamVjdCgpIHsK
ICAgICAgICAgICAgIHZhciBvbGRUaXRsZSA9IHdlYlZpZXcudGl0bGUKICAgICAgICAgICAgIHdl
YlZpZXcuc2VsZWN0RmlsZSA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9jb21tb24vbXVsdGlmaWxldXBsb2FkLmh0bWwg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1vbi9t
dWx0aWZpbGV1cGxvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43
NzAxZWQ0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC90ZXN0cy9xbWx0ZXN0cy9jb21tb24vbXVsdGlmaWxldXBsb2FkLmh0bWwKQEAgLTAsMCArMSwx
MSBAQAorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBpbml0aWFsLXNjYWxl
PTEiPgorPHRpdGxlPiBNdXRsaS1maWxlIFVwbG9hZCA8L3RpdGxlPgorPHNjcmlwdCBzcmMgPSAi
Li90aXRsZXVwZGF0ZS5qcyI+Cis8L3NjcmlwdD4KKworPGJvZHk+Cis8aW5wdXQgdHlwZT0iZmls
ZSIgbmFtZT0iZmlsZSIgaWQ9InVwZmlsZSIgb25jaGFuZ2U9InVwZGF0ZVRpdGxlKCkiIG11bHRp
cGxlLz4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvY29tbW9uL3NpbmdsZWZpbGV1cGxvYWQuaHRtbCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvY29tbW9uL3Np
bmdsZWZpbGV1cGxvYWQuaHRtbAppbmRleCA1ODBiOTk5Li4zOGUzNDVmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1vbi9zaW5n
bGVmaWxldXBsb2FkLmh0bWwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90
ZXN0cy9xbWx0ZXN0cy9jb21tb24vc2luZ2xlZmlsZXVwbG9hZC5odG1sCkBAIC0xLDIzICsxLDgg
QEAKIDxodG1sPgogPGhlYWQ+CiA8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgaW5pdGlhbC1zY2FsZT0x
Ij4KLTx0aXRsZT5ObyBmaWxlIHNlbGVjdGVkPC90aXRsZT4KLTxzY3JpcHQ+Ci1mdW5jdGlvbiB1
cGRhdGVUaXRsZSgpCi17Ci0gICAgdmFyIGlucCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1
cGZpbGUiKTsKLSAgICB2YXIgYWxsZmlsZXMgPSBuZXcgU3RyaW5nKCIiKTsKLSAgICB2YXIgbmFt
ZSA9IG5ldyBTdHJpbmcoIiIpOwotICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW5wLmZpbGVzLmxl
bmd0aDsgKytpKQotICAgIHsKLSAgICAgICAgbmFtZSA9IGlucC5maWxlcy5pdGVtKGkpLm5hbWU7
Ci0gICAgICAgIGlmIChhbGxmaWxlcy5sZW5ndGggPT0gMCkKLSAgICAgICAgICAgIGFsbGZpbGVz
ID0gbmFtZTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgYWxsZmlsZXMgPSBhbGxmaWxlcyAr
ICIsIiArIG5hbWU7Ci0gICAgfQotICAgIGRvY3VtZW50LnRpdGxlID0gYWxsZmlsZXM7Ci19Cis8
dGl0bGU+IFNpbmdsZSBGaWxlIFVwbG9hZCA8L3RpdGxlPgorPHNjcmlwdCBzcmMgPSAiLi90aXRs
ZXVwZGF0ZS5qcyI+CiA8L3NjcmlwdD4KIAogPGJvZHk+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1vbi90aXRsZXVwZGF0ZS5q
cyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvY29tbW9u
L3RpdGxldXBkYXRlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhNWJh
YzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rl
c3RzL3FtbHRlc3RzL2NvbW1vbi90aXRsZXVwZGF0ZS5qcwpAQCAtMCwwICsxLDE1IEBACitmdW5j
dGlvbiB1cGRhdGVUaXRsZSgpCit7CisgICAgdmFyIGlucCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJ1cGZpbGUiKTsKKyAgICB2YXIgYWxsZmlsZXMgPSBuZXcgU3RyaW5nKCIiKTsKKyAgICB2
YXIgbmFtZSA9IG5ldyBTdHJpbmcoIiIpOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW5wLmZp
bGVzLmxlbmd0aDsgKytpKQorICAgIHsKKyAgICAgICAgbmFtZSA9IGlucC5maWxlcy5pdGVtKGkp
Lm5hbWU7CisgICAgICAgIGlmIChhbGxmaWxlcy5sZW5ndGggPT0gMCkKKyAgICAgICAgICAgIGFs
bGZpbGVzID0gbmFtZTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgYWxsZmlsZXMgPSBhbGxm
aWxlcyArICIsIiArIG5hbWU7CisgICAgfQorICAgIGRvY3VtZW50LnRpdGxlID0gYWxsZmlsZXM7
Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFsb2dSdW5u
ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVubmVyLmNwcApp
bmRleCAwMTExYTczLi41ODlkY2NjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvcXQvUXREaWFsb2dSdW5uZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9x
dC9RdERpYWxvZ1J1bm5lci5jcHAKQEAgLTE2MCwyNSArMTYwLDM1IEBAIHByaXZhdGU6CiBjbGFz
cyBGaWxlUGlja2VyQ29udGV4dE9iamVjdCA6IHB1YmxpYyBRT2JqZWN0IHsKICAgICBRX09CSkVD
VAogICAgIFFfUFJPUEVSVFkoUVN0cmluZ0xpc3QgZmlsZUxpc3QgUkVBRCBmaWxlTGlzdCBDT05T
VEFOVCkKKyAgICBRX1BST1BFUlRZKGJvb2wgYWxsb3dNdWx0aXBsZUZpbGVzIFJFQUQgYWxsb3dN
dWx0aXBsZUZpbGVzIENPTlNUQU5UKQogCiBwdWJsaWM6Ci0gICAgRmlsZVBpY2tlckNvbnRleHRP
YmplY3QoY29uc3QgUVN0cmluZ0xpc3QmIHNlbGVjdGVkRmlsZXMpCisgICAgRmlsZVBpY2tlckNv
bnRleHRPYmplY3QoY29uc3QgUVN0cmluZ0xpc3QmIHNlbGVjdGVkRmlsZXMsIGJvb2wgYWxsb3dN
dWx0aXBsZSkKICAgICAgICAgOiBRT2JqZWN0KCkKKyAgICAgICAgLCBtX2FsbG93TXVsdGlwbGUo
YWxsb3dNdWx0aXBsZSkKICAgICAgICAgLCBtX2ZpbGVMaXN0KHNlbGVjdGVkRmlsZXMpCiAgICAg
ewogICAgIH0KIAogICAgIFFTdHJpbmdMaXN0IGZpbGVMaXN0KCkgY29uc3QgeyByZXR1cm4gbV9m
aWxlTGlzdDsgfQorICAgIGJvb2wgYWxsb3dNdWx0aXBsZUZpbGVzKCkgY29uc3QgeyByZXR1cm4g
bV9hbGxvd011bHRpcGxlO30KIAogcHVibGljIHNsb3RzOgogICAgIHZvaWQgcmVqZWN0KCkgeyBl
bWl0IHJlamVjdGVkKCk7fQotICAgIHZvaWQgYWNjZXB0KGNvbnN0IFFWYXJpYW50JiBwYXRoKSB7
IGVtaXQgZmlsZVNlbGVjdGVkKHBhdGgudG9TdHJpbmdMaXN0KCkpOyB9CisgICAgdm9pZCBhY2Nl
cHQoY29uc3QgUVZhcmlhbnQmIHBhdGgpIHsKKyAgICAgICAgUVN0cmluZ0xpc3QgZmlsZXNQYXRo
ID0gcGF0aC50b1N0cmluZ0xpc3QoKTsKKyAgICAgICAgLy8gRm9yIHNpbmdsZSBmaWxlIHVwbG9h
ZCwgc2VuZCBvbmx5IHRoZSBmaXJzdCBlbGVtZW50IGlmIHRoZXJlIGFyZSBtb3JlIHRoYW4gb25l
IGZpbGUgcGF0aHMKKyAgICAgICAgaWYgKCFtX2FsbG93TXVsdGlwbGUgJiYgZmlsZXNQYXRoLmNv
dW50KCkgPiAxKQorICAgICAgICAgICAgZmlsZXNQYXRoID0gUVN0cmluZ0xpc3QoZmlsZXNQYXRo
LmF0KDApKTsKKyAgICAgICAgZW1pdCBmaWxlU2VsZWN0ZWQoZmlsZXNQYXRoKTsKKyAgICB9CiAK
IHNpZ25hbHM6CiAgICAgdm9pZCByZWplY3RlZCgpOwogICAgIHZvaWQgZmlsZVNlbGVjdGVkKGNv
bnN0IFFTdHJpbmdMaXN0Jik7CiAKIHByaXZhdGU6CisgICAgYm9vbCBtX2FsbG93TXVsdGlwbGU7
CiAgICAgUVN0cmluZ0xpc3QgbV9maWxlTGlzdDsKIH07CiAKQEAgLTI1NSw5ICsyNjUsOSBAQCBi
b29sIFF0RGlhbG9nUnVubmVyOjppbml0Rm9yQ2VydGlmaWNhdGVWZXJpZmljYXRpb24oUURlY2xh
cmF0aXZlQ29tcG9uZW50KiBjb21wbwogICAgIHJldHVybiB0cnVlOwogfQogCi1ib29sIFF0RGlh
bG9nUnVubmVyOjppbml0Rm9yRmlsZVBpY2tlcihRRGVjbGFyYXRpdmVDb21wb25lbnQqIGNvbXBv
bmVudCwgUVF1aWNrSXRlbSogZGlhbG9nUGFyZW50LCBjb25zdCBRU3RyaW5nTGlzdCYgc2VsZWN0
ZWRGaWxlcykKK2Jvb2wgUXREaWFsb2dSdW5uZXI6OmluaXRGb3JGaWxlUGlja2VyKFFEZWNsYXJh
dGl2ZUNvbXBvbmVudCogY29tcG9uZW50LCBRUXVpY2tJdGVtKiBkaWFsb2dQYXJlbnQsIGNvbnN0
IFFTdHJpbmdMaXN0JiBzZWxlY3RlZEZpbGVzLCBib29sIGFsbG93TXVsdGlwbGUpCiB7Ci0gICAg
RmlsZVBpY2tlckNvbnRleHRPYmplY3QqIGNvbnRleHRPYmplY3QgPSBuZXcgRmlsZVBpY2tlckNv
bnRleHRPYmplY3Qoc2VsZWN0ZWRGaWxlcyk7CisgICAgRmlsZVBpY2tlckNvbnRleHRPYmplY3Qq
IGNvbnRleHRPYmplY3QgPSBuZXcgRmlsZVBpY2tlckNvbnRleHRPYmplY3Qoc2VsZWN0ZWRGaWxl
cywgYWxsb3dNdWx0aXBsZSk7CiAgICAgaWYgKCFjcmVhdGVEaWFsb2coY29tcG9uZW50LCBkaWFs
b2dQYXJlbnQsIGNvbnRleHRPYmplY3QpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVubmVyLmgKaW5kZXggMGU5NDgxYi4u
ZDBjNTgwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0RGlhbG9n
UnVubmVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVubmVy
LmgKQEAgLTQyLDcgKzQyLDcgQEAgcHVibGljOgogICAgIGJvb2wgaW5pdEZvckF1dGhlbnRpY2F0
aW9uKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCosIFFRdWlja0l0ZW0qIGRpYWxvZ1BhcmVudCwgY29u
c3QgUVN0cmluZyYgaG9zdG5hbWUsIGNvbnN0IFFTdHJpbmcmIHJlYWxtLCBjb25zdCBRU3RyaW5n
JiBwcmVmaWxsZWRVc2VybmFtZSk7CiAgICAgYm9vbCBpbml0Rm9yQ2VydGlmaWNhdGVWZXJpZmlj
YXRpb24oUURlY2xhcmF0aXZlQ29tcG9uZW50KiwgUVF1aWNrSXRlbSosIGNvbnN0IFFTdHJpbmcm
IGhvc3RuYW1lKTsKICAgICBib29sIGluaXRGb3JQcm94eUF1dGhlbnRpY2F0aW9uKFFEZWNsYXJh
dGl2ZUNvbXBvbmVudCosIFFRdWlja0l0ZW0qLCBjb25zdCBRU3RyaW5nJiBob3N0bmFtZSwgdWlu
dDE2X3QgcG9ydCwgY29uc3QgUVN0cmluZyYgcHJlZmlsbGVkVXNlcm5hbWUpOwotICAgIGJvb2wg
aW5pdEZvckZpbGVQaWNrZXIoUURlY2xhcmF0aXZlQ29tcG9uZW50KiwgUVF1aWNrSXRlbSosIGNv
bnN0IFFTdHJpbmdMaXN0JiBzZWxlY3RlZEZpbGVzKTsKKyAgICBib29sIGluaXRGb3JGaWxlUGlj
a2VyKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCosIFFRdWlja0l0ZW0qLCBjb25zdCBRU3RyaW5nTGlz
dCYgc2VsZWN0ZWRGaWxlcywgYm9vbCBhbGxvd011bHRpcGxlKTsKIAogICAgIFFRdWlja0l0ZW0q
IGRpYWxvZygpIGNvbnN0IHsgcmV0dXJuIG1fZGlhbG9nLmdldCgpOyB9CiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkNmViODcyLi5kZjUyZDEx
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjIgQEAKKzIwMTItMDMtMTkgIERpbnUgSmFjb2IgIDxkaW51LmphY29iQG5va2lhLmNv
bT4KKworICAgICAgICBbUXRdW1dLMl0gU3VwcG9ydCBtdWx0aS1maWxlIHVwbG9hZAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE1ODkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb2RpZmllZCBmaWxlUGlj
a2VyIHRvIHN1cHBvcnQgbXVsdGktZmlsZSB1cGxvYWQuCisKKyAgICAgICAgKiBNaW5pQnJvd3Nl
ci9xdC9NaW5pQnJvd3Nlci5xcmM6CisgICAgICAgICogTWluaUJyb3dzZXIvcXQvaWNvbnMvY2hl
Y2tib3hfY2hlY2tlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L2ljb25z
L2NoZWNrYm94X3VuY2hlY2tlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0
L2pzL011bHRpU2VsZWN0LmpzOiBBZGRlZC4KKyAgICAgICAgKHZhbHVlcyk6CisgICAgICAgIChp
c1NlbGVjdGVkKToKKyAgICAgICAgKHJlbW92ZVZhbHVlKToKKyAgICAgICAgKiBNaW5pQnJvd3Nl
ci9xdC9xbWwvQ2hlY2tCb3gucW1sOiBBZGRlZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9x
bWwvRmlsZVBpY2tlci5xbWw6CisKIDIwMTItMDMtMTkgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJr
aXQub3JnPgogCiAgICAgICAgIEZpeCBXVEYgaGVhZGVyIGluY2x1ZGUgZGlzY2lwbGluZSBpbiBD
aHJvbWl1bSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L01pbmlCcm93
c2VyLnFyYyBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnFyYwppbmRleCBlODEx
MzJhLi5iNTQ5MGJlIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nl
ci5xcmMKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucXJjCkBAIC0xLDUg
KzEsNyBAQAogPFJDQz4KICAgICA8cXJlc291cmNlIHByZWZpeD0iLyI+CisgICAgICAgIDxmaWxl
Pmljb25zL2NoZWNrYm94X2NoZWNrZWQucG5nPC9maWxlPgorICAgICAgICA8ZmlsZT5pY29ucy9j
aGVja2JveF91bmNoZWNrZWQucG5nPC9maWxlPgogICAgICAgICA8ZmlsZT5pY29ucy9mYXZpY29u
LnBuZzwvZmlsZT4KICAgICAgICAgPGZpbGU+aWNvbnMvZm9sZGVyLnBuZzwvZmlsZT4KICAgICAg
ICAgPGZpbGU+aWNvbnMvaW5mby5wbmc8L2ZpbGU+CkBAIC0xMiw5ICsxNCwxMSBAQAogICAgICAg
ICA8ZmlsZT5pY29ucy90b3VjaC5wbmc8L2ZpbGU+CiAgICAgICAgIDxmaWxlPmljb25zL3RvdWNo
cG9pbnQucG5nPC9maWxlPgogICAgICAgICA8ZmlsZT5pY29ucy91cC5wbmc8L2ZpbGU+CisgICAg
ICAgIDxmaWxlPmpzL011bHRpU2VsZWN0LmpzPC9maWxlPgogICAgICAgICA8ZmlsZT5xbWwvQWxl
cnREaWFsb2cucW1sPC9maWxlPgogICAgICAgICA8ZmlsZT5xbWwvQXV0aGVudGljYXRpb25EaWFs
b2cucW1sPC9maWxlPgogICAgICAgICA8ZmlsZT5xbWwvQnJvd3NlcldpbmRvdy5xbWw8L2ZpbGU+
CisgICAgICAgIDxmaWxlPnFtbC9DaGVja0JveC5xbWw8L2ZpbGU+CiAgICAgICAgIDxmaWxlPnFt
bC9Db25maXJtRGlhbG9nLnFtbDwvZmlsZT4KICAgICAgICAgPGZpbGU+cW1sL0RpYWxvZy5xbWw8
L2ZpbGU+CiAgICAgICAgIDxmaWxlPnFtbC9EaWFsb2dCdXR0b24ucW1sPC9maWxlPgpkaWZmIC0t
Z2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvcXQvaWNvbnMvY2hlY2tib3hfY2hlY2tlZC5wbmcgYi9U
b29scy9NaW5pQnJvd3Nlci9xdC9pY29ucy9jaGVja2JveF9jaGVja2VkLnBuZwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYmYwNmY2CkJpbmFyeSBmaWxlcyAvZGV2L251bGwg
YW5kIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvaWNvbnMvY2hlY2tib3hfY2hlY2tlZC5wbmcgZGlm
ZmVyCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9pY29ucy9jaGVja2JveF91bmNo
ZWNrZWQucG5nIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvaWNvbnMvY2hlY2tib3hfdW5jaGVja2Vk
LnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZjU0NjU1CkJpbmFyeSBm
aWxlcyAvZGV2L251bGwgYW5kIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvaWNvbnMvY2hlY2tib3hf
dW5jaGVja2VkLnBuZyBkaWZmZXIKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L2pz
L011bHRpU2VsZWN0LmpzIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvanMvTXVsdGlTZWxlY3QuanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWU4N2Y1ZAotLS0gL2Rldi9udWxs
CisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L2pzL011bHRpU2VsZWN0LmpzCkBAIC0wLDAgKzEs
NDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgTm9raWEgQ29ycG9yYXRpb24gYW5kL29y
IGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgorICoKKyAqLworCisKK3ZhciB2YWx1ZXMgPSBbXQorCitmdW5jdGlvbiBz
ZWxlY3RlZFZhbHVlcygpIHsKKyAgICByZXR1cm4gdmFsdWVzCit9CisKK2Z1bmN0aW9uIGlzU2Vs
ZWN0ZWQodmFsdWUpIHsKKyAgICByZXR1cm4gKHZhbHVlcy5pbmRleE9mKHZhbHVlKSAhPSAtMSkK
K30KKworZnVuY3Rpb24gYWRkVmFsdWUodmFsdWUpIHsKKyAgICBpZiAodmFsdWVzLmluZGV4T2Yo
dmFsdWUpICE9IC0xKQorICAgICAgICByZXR1cm4KKyAgICB2YWx1ZXMucHVzaCh2YWx1ZSkKK30K
KworZnVuY3Rpb24gcmVtb3ZlVmFsdWUodmFsdWUpIHsKKyAgICB2YXIgaW5kZXggPSB2YWx1ZXMu
aW5kZXhPZih2YWx1ZSkKKworICAgIGlmIChpbmRleCA9PSAtMSkKKyAgICAgICAgcmV0dXJuCisg
ICAgdmFsdWVzLnNwbGljZShpbmRleCwgMSkKK30KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93
c2VyL3F0L3FtbC9DaGVja0JveC5xbWwgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9xbWwvQ2hlY2tC
b3gucW1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4NWI4MTEKLS0tIC9k
ZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9xbWwvQ2hlY2tCb3gucW1sCkBAIC0w
LDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgTm9raWEgQ29ycG9yYXRpb24g
YW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgor
ICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl
ciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ug
c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgc2VlIHRoZSBmaWxlIENP
UFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCitpbXBvcnQgUXRRdWljayAyLjAKKworSXRl
bSB7CisgICAgaWQ6IGNoZWNrYm94CisgICAgd2lkdGg6IDUwCisgICAgaGVpZ2h0OiBwYXJlbnQu
aGVpZ2h0CisgICAgcHJvcGVydHkgYm9vbCBjaGVja2VkCisKKyAgICBJbWFnZSB7CisgICAgICAg
IHdpZHRoOiAyNAorICAgICAgICBoZWlnaHQ6IDI0CisgICAgICAgIHNvdXJjZTogcGFyZW50LmNo
ZWNrZWQgPyAnLi4vaWNvbnMvY2hlY2tib3hfY2hlY2tlZC5wbmcnIDogJy4uL2ljb25zL2NoZWNr
Ym94X3VuY2hlY2tlZC5wbmcnCisgICAgICAgIGFuY2hvcnMudmVydGljYWxDZW50ZXI6IHBhcmVu
dC52ZXJ0aWNhbENlbnRlcgorICAgIH0KK30KZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2Vy
L3F0L3FtbC9GaWxlUGlja2VyLnFtbCBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L3FtbC9GaWxlUGlj
a2VyLnFtbAppbmRleCA1YmViODZhLi4yMjJkNGMzIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJv
d3Nlci9xdC9xbWwvRmlsZVBpY2tlci5xbWwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvcW1s
L0ZpbGVQaWNrZXIucW1sCkBAIC0yMCw2ICsyMCw3IEBACiAKIGltcG9ydCBRdFF1aWNrIDIuMAog
aW1wb3J0IFF0LmxhYnMuZm9sZGVybGlzdG1vZGVsIDEuMAoraW1wb3J0ICIuLi9qcy9NdWx0aVNl
bGVjdC5qcyIgYXMgTXVsdGlTZWxlY3QKIAogUmVjdGFuZ2xlIHsKICAgICBpZDogZmlsZVBpY2tl
cgpAQCAtMTA5LDggKzExMCwxOSBAQCBSZWN0YW5nbGUgewogICAgICAgICAgICAgICAgIGZ1bmN0
aW9uIHNlbGVjdGVkKCkgewogICAgICAgICAgICAgICAgICAgICBpZiAoZm9sZGVycy5pc0ZvbGRl
cihpbmRleCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuRm9sZGVyKGZpbGVQYXRoKTsK
LSAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgZmlsZU1v
ZGVsLmFjY2VwdChmaWxlUGF0aCk7CisgICAgICAgICAgICAgICAgICAgIGVsc2UgeworCisgICAg
ICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZU1vZGVsLmFsbG93TXVsdGlwbGVGaWxlcykgewor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrYm94LmNoZWNrZWQgPSAhY2hlY2tib3gu
Y2hlY2tlZAorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNoZWNrYm94LmNoZWNr
ZWQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE11bHRpU2VsZWN0LmFkZFZhbHVl
KGZpbGVQYXRoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTXVsdGlTZWxlY3QucmVtb3ZlVmFsdWUoZmlsZVBhdGgpCisg
ICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZU1vZGVsLmFjY2VwdChmaWxlUGF0aCkKKyAg
ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAg
IGhlaWdodDogNTAKQEAgLTExOCw3ICsxMzAsNyBAQCBSZWN0YW5nbGUgewogICAgICAgICAgICAg
ICAgIGNvbG9yOiBmb2xkZXJzLmlzRm9sZGVyKGluZGV4KSA/ICJsaWdodGdyYXkiOiAiZGFya2dy
YXkiCiAKICAgICAgICAgICAgICAgICBJdGVtIHsKLSAgICAgICAgICAgICAgICAgICAgd2lkdGg6
IDQ4OworICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAKICAgICAgICAgICAgICAgICAgICAg
aGVpZ2h0OiA0OAogICAgICAgICAgICAgICAgICAgICBJbWFnZSB7CiAgICAgICAgICAgICAgICAg
ICAgICAgICBzb3VyY2U6ICIuLi9pY29ucy9mb2xkZXIucG5nIgpAQCAtMTI4LDkgKzE0MCwyMiBA
QCBSZWN0YW5nbGUgewogICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIFRleHQg
eworICAgICAgICAgICAgICAgICAgICBpZDogZmlsZU5hbWVUZXh0CiAgICAgICAgICAgICAgICAg
ICAgIGFuY2hvcnMuY2VudGVySW46IHBhcmVudAotICAgICAgICAgICAgICAgICAgICBhbmNob3Jz
LmxlZnRNYXJnaW46IDUwCisgICAgICAgICAgICAgICAgICAgIGFuY2hvcnMubGVmdE1hcmdpbjog
MjAKKyAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwMAogICAgICAgICAgICAgICAgICAgICB0
ZXh0OiBmaWxlTmFtZQorICAgICAgICAgICAgICAgICAgICBlbGlkZTogVGV4dC5FbGlkZUxlZnQ7
CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgQ2hlY2tCb3ggeworICAgICAg
ICAgICAgICAgICAgICBpZDogY2hlY2tib3gKKworICAgICAgICAgICAgICAgICAgICBhbmNob3Jz
LnJpZ2h0OiBwYXJlbnQucmlnaHQKKyAgICAgICAgICAgICAgICAgICAgYW5jaG9ycy52ZXJ0aWNh
bENlbnRlcjogcGFyZW50LnZlcnRpY2FsQ2VudGVyCisKKyAgICAgICAgICAgICAgICAgICAgY2hl
Y2tlZDogTXVsdGlTZWxlY3QuaXNTZWxlY3RlZChmaWxlUGF0aCkKKyAgICAgICAgICAgICAgICAg
ICAgdmlzaWJsZTogZmlsZU1vZGVsLmFsbG93TXVsdGlwbGVGaWxlcyAmJiAhZm9sZGVycy5pc0Zv
bGRlcihpbmRleCkKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBNb3VzZUFy
ZWEgewpAQCAtMTYwLDE1ICsxODUsMjUgQEAgUmVjdGFuZ2xlIHsKICAgICAgICAgICAgIHJpZ2h0
OiBwYXJlbnQucmlnaHQKICAgICAgICAgfQogCi0gICAgICAgIERpYWxvZ0J1dHRvbiB7Ci0gICAg
ICAgICAgICBpZDogY2FuY2VsCi0gICAgICAgICAgICB0ZXh0OiAiQ2FuY2VsIgotICAgICAgICAg
ICAgYW5jaG9ycyB7Ci0gICAgICAgICAgICAgICAgaG9yaXpvbnRhbENlbnRlcjogcGFyZW50Lmhv
cml6b250YWxDZW50ZXI7Ci0gICAgICAgICAgICAgICAgdmVydGljYWxDZW50ZXI6ICBwYXJlbnQu
dmVydGljYWxDZW50ZXIKKyAgICAgICAgUm93IHsKKyAgICAgICAgICAgIGlkOiBidXR0b25Sb3cK
KyAgICAgICAgICAgIHNwYWNpbmc6IDEwCisgICAgICAgICAgICBhbmNob3JzLmhvcml6b250YWxD
ZW50ZXI6IHBhcmVudC5ob3Jpem9udGFsQ2VudGVyCisgICAgICAgICAgICBhbmNob3JzLnZlcnRp
Y2FsQ2VudGVyOiBwYXJlbnQudmVydGljYWxDZW50ZXIKKworICAgICAgICAgICAgRGlhbG9nQnV0
dG9uIHsKKyAgICAgICAgICAgICAgICBpZDogY2FuY2VsCisgICAgICAgICAgICAgICAgdGV4dDog
IkNhbmNlbCIKKyAgICAgICAgICAgICAgICBvbkNsaWNrZWQ6IGZpbGVNb2RlbC5yZWplY3QoKQog
ICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBvbkNsaWNrZWQ6IGZpbGVNb2RlbC5yZWplY3Qo
KQorICAgICAgICAgICAgRGlhbG9nQnV0dG9uIHsKKyAgICAgICAgICAgICAgICBpZDogYWNjZXB0
CisgICAgICAgICAgICAgICAgdGV4dDogIk9rIgorICAgICAgICAgICAgICAgIHZpc2libGU6IGZp
bGVNb2RlbC5hbGxvd011bHRpcGxlRmlsZXMKKyAgICAgICAgICAgICAgICBvbkNsaWNrZWQ6Cisg
ICAgICAgICAgICAgICAgICAgIGZpbGVNb2RlbC5hY2NlcHQoTXVsdGlTZWxlY3Quc2VsZWN0ZWRW
YWx1ZXMoKSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAK
</data>
<flag name="review"
          id="136441"
          type_id="1"
          status="+"
          setter="hausmann"
    />
    <flag name="commit-queue"
          id="137904"
          type_id="3"
          status="-"
          setter="hausmann"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133843</attachid>
            <date>2012-03-26 10:32:04 -0700</date>
            <delta_ts>2012-03-26 12:24:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>81589_commit.patch</filename>
            <type>text/plain</type>
            <size>20532</size>
            <attacher name="Dinu Jacob">dinu.jacob</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA3NTFkY2JiLi5mNGJkMWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEg
QEAKKzIwMTItMDMtMjYgIERpbnUgSmFjb2IgIDxkaW51LmphY29iQG5va2lhLmNvbT4KKworICAg
ICAgICBbUXRdW1dLMl0gU3VwcG9ydCBtdWx0aS1maWxlIHVwbG9hZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE1ODkKKworICAgICAgICBSZXZpZXdl
ZCBieSBTaW1vbiBIYXVzbWFubi4KKworICAgICAgICBBZGRlZCAnYWxsb3dNdXRpcGxlRmlsZXMn
IHByb3BlcnR5IHRvIGZpbGVQaWNrZXIgY29udGV4dCBwcm9wZXJ0eSB0byBpbmRpY2F0ZSB3aGV0
aGVyIHRvIGFsbG93CisgICAgICAgIG11bHRpcGxlIGZpbGUgc2VsZWN0aW9ucy4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHA6CisgICAgICAgIChRUXVpY2tX
ZWJWaWV3UHJpdmF0ZTo6Y2hvb3NlRmlsZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQv
dGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yLnBybzoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci90c3RfbXVsdGlGaWxlVXBsb2Fk
LnFtbDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9E
ZXNrdG9wQmVoYXZpb3IvdHN0X3NpbmdsZUZpbGVVcGxvYWQucW1sOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvY29tbW9uL211bHRpZmlsZXVwbG9hZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1vbi9z
aW5nbGVmaWxldXBsb2FkLmh0bWw6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9x
bWx0ZXN0cy9jb21tb24vdGl0bGV1cGRhdGUuanM6IEFkZGVkLgorICAgICAgICAodXBkYXRlVGl0
bGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5jcHA6CisgICAgICAg
IChGaWxlUGlja2VyQ29udGV4dE9iamVjdCk6CisgICAgICAgIChGaWxlUGlja2VyQ29udGV4dE9i
amVjdDo6RmlsZVBpY2tlckNvbnRleHRPYmplY3QpOgorICAgICAgICAoRmlsZVBpY2tlckNvbnRl
eHRPYmplY3Q6OmFsbG93TXVsdGlwbGVGaWxlcyk6CisgICAgICAgIChGaWxlUGlja2VyQ29udGV4
dE9iamVjdDo6YWNjZXB0KToKKyAgICAgICAgKFF0RGlhbG9nUnVubmVyOjppbml0Rm9yRmlsZVBp
Y2tlcik6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVubmVyLmg6CisgICAgICAg
IChRdERpYWxvZ1J1bm5lcik6CisKIDIwMTItMDMtMTkgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxh
cEBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBXZWJGcmFtZUxvYWRlckNsaWVudDo6Y3JlYXRl
RnJhbWUgbW9yZSBsaWtlIFdlYktpdDEgdmVyc2lvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCmluZGV4IGZkYzIwNzMuLmYxY2E1NWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmll
dy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3
LmNwcApAQCAtMzc3LDExICszNzcsMTEgQEAgdm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6Y2hv
b3NlRmlsZXMoV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclJlZiBsaXN0ZW5lclJlZiwKIHsKICAg
ICBRX1EoUVF1aWNrV2ViVmlldyk7CiAKLSAgICBpZiAoIWZpbGVQaWNrZXIgfHwgdHlwZSA9PSBR
dFdlYlBhZ2VVSUNsaWVudDo6TXVsdGlwbGVGaWxlc1NlbGVjdGlvbikKKyAgICBpZiAoIWZpbGVQ
aWNrZXIpCiAgICAgICAgIHJldHVybjsKIAogICAgIFF0RGlhbG9nUnVubmVyIGRpYWxvZ1J1bm5l
cjsKLSAgICBpZiAoIWRpYWxvZ1J1bm5lci5pbml0Rm9yRmlsZVBpY2tlcihmaWxlUGlja2VyLCBx
LCBzZWxlY3RlZEZpbGVOYW1lcykpCisgICAgaWYgKCFkaWFsb2dSdW5uZXIuaW5pdEZvckZpbGVQ
aWNrZXIoZmlsZVBpY2tlciwgcSwgc2VsZWN0ZWRGaWxlTmFtZXMsIChib29sKXR5cGUpKQogICAg
ICAgICByZXR1cm47CiAKICAgICBleGVjRGlhbG9nUnVubmVyKGRpYWxvZ1J1bm5lcik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rl
c2t0b3BCZWhhdmlvci5wcm8gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3Rz
L3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci5wcm8KaW5kZXggNWNmNDZjYi4uNTlhM2NhNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9E
ZXNrdG9wQmVoYXZpb3IucHJvCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
dGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yLnBybwpAQCAtMjAsNCArMjAsNSBAQCBPVEhF
Ul9GSUxFUyArPSBcCiAgICAgRGVza3RvcEJlaGF2aW9yL3RzdF9sb2FkSHRtbC5xbWwgXAogICAg
IERlc2t0b3BCZWhhdmlvci90c3RfbWVzc2FnaW5nLnFtbCBcCiAgICAgRGVza3RvcEJlaGF2aW9y
L3RzdF9uYXZpZ2F0aW9uUmVxdWVzdGVkLnFtbCBcCi0gICAgRGVza3RvcEJlaGF2aW9yL3RzdF9z
aW5nbGVmaWxldXBsb2FkLnFtbAorICAgIERlc2t0b3BCZWhhdmlvci90c3Rfc2luZ2xlRmlsZXVw
bG9hZC5xbWwgXAorICAgIERlc2t0b3BCZWhhdmlvci90c3RfbXVsdGlGaWxldXBsb2FkLnFtbApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0
cy9EZXNrdG9wQmVoYXZpb3IvdHN0X211bHRpRmlsZVVwbG9hZC5xbWwgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci90c3RfbXVs
dGlGaWxlVXBsb2FkLnFtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDNm
NjU2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90
ZXN0cy9xbWx0ZXN0cy9EZXNrdG9wQmVoYXZpb3IvdHN0X211bHRpRmlsZVVwbG9hZC5xbWwKQEAg
LTAsMCArMSw2NiBAQAoraW1wb3J0IFF0UXVpY2sgMi4wCitpbXBvcnQgUXRUZXN0IDEuMAoraW1w
b3J0IFF0V2ViS2l0IDMuMAoraW1wb3J0IFF0V2ViS2l0LmV4cGVyaW1lbnRhbCAxLjAKK2ltcG9y
dCAiLi4vY29tbW9uIgorCisvLyBGSVhNRTogQWRkZWQgdG8gRGVza3RvcCB0ZXN0cyBiZWNhdXNl
IHdlIHdhbnQgdG8gaGF2ZSBtb3VzZUNsaWNrKCkgdG8gb3BlbiB0aGUgPGlucHV0PiB0YWcuIFdl
IGNhbiBtb3ZlIGl0IGJhY2sKKy8vIHdoZW4gVGVzdENhc2Ugc3RhcnRzIHN1cHBvcnRpbmcgdG91
Y2ggZXZlbnRzLCBzZWUgaHR0cHM6Ly9idWdyZXBvcnRzLnF0Lm5va2lhLmNvbS9icm93c2UvUVRC
VUctMjMwODMuCitUZXN0V2ViVmlldyB7CisgICAgaWQ6IHdlYlZpZXcKKworICAgIHdpZHRoOiA0
MDAKKyAgICBoZWlnaHQ6IDQwMAorCisgICAgcHJvcGVydHkgYm9vbCBzZWxlY3RGaWxlCisKKyAg
ICBleHBlcmltZW50YWwuZmlsZVBpY2tlcjogSXRlbSB7CisgICAgICAgIFRpbWVyIHsKKyAgICAg
ICAgICAgIHJ1bm5pbmc6IHRydWUKKyAgICAgICAgICAgIGludGVydmFsOiAxCisgICAgICAgICAg
ICBvblRyaWdnZXJlZDogeworICAgICAgICAgICAgICAgIHZhciBzZWxlY3RlZEZpbGVzID0gWyJm
aWxlbmFtZTEiLCAiZmlsZW5hbWUyIl0KKyAgICAgICAgICAgICAgICBpZiAoc2VsZWN0RmlsZSkK
KyAgICAgICAgICAgICAgICAgICAgbW9kZWwuYWNjZXB0KHNlbGVjdGVkRmlsZXMpCisgICAgICAg
ICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBtb2RlbC5yZWplY3QoKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIFNpZ25hbFNweSB7CisgICAgICAgIGlk
OiB0aXRsZVNweQorICAgICAgICB0YXJnZXQ6IHdlYlZpZXcKKyAgICAgICAgc2lnbmFsTmFtZTog
InRpdGxlQ2hhbmdlZCIKKyAgICB9CisKKyAgICBUZXN0Q2FzZSB7CisgICAgICAgIGlkOiB0ZXN0
CisgICAgICAgIG5hbWU6ICJXZWJWaWV3TXVsdGlGaWxlUGlja2VyIgorICAgICAgICB3aGVuOiB3
aW5kb3dTaG93bgorCisgICAgICAgIGZ1bmN0aW9uIGluaXQoKSB7CisgICAgICAgICAgICB3ZWJW
aWV3LnVybCA9IFF0LnJlc29sdmVkVXJsKCIuLi9jb21tb24vbXVsdGlmaWxldXBsb2FkLmh0bWwi
KQorICAgICAgICAgICAgdmVyaWZ5KHdlYlZpZXcud2FpdEZvckxvYWRTdWNjZWVkZWQoKSkKKyAg
ICAgICAgICAgIHRpdGxlU3B5LmNsZWFyKCkKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9u
IG9wZW5JdGVtU2VsZWN0b3IoKSB7CisgICAgICAgICAgICBtb3VzZUNsaWNrKHdlYlZpZXcsIDE1
LCAxNSwgUXQuTGVmdEJ1dHRvbikKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHRlc3Rf
YWNjZXB0KCkgeworICAgICAgICAgICAgd2ViVmlldy5zZWxlY3RGaWxlID0gdHJ1ZTsKKyAgICAg
ICAgICAgIG9wZW5JdGVtU2VsZWN0b3IoKQorICAgICAgICAgICAgdGl0bGVTcHkud2FpdCgpCisg
ICAgICAgICAgICBjb21wYXJlKHdlYlZpZXcudGl0bGUsICJmaWxlbmFtZTEsZmlsZW5hbWUyIikK
KyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RfcmVqZWN0KCkgeworICAgICAgICAg
ICAgdmFyIG9sZFRpdGxlID0gd2ViVmlldy50aXRsZQorICAgICAgICAgICAgd2ViVmlldy5zZWxl
Y3RGaWxlID0gZmFsc2U7CisgICAgICAgICAgICBvcGVuSXRlbVNlbGVjdG9yKCkKKyAgICAgICAg
ICAgIGNvbXBhcmUod2ViVmlldy50aXRsZSwgb2xkVGl0bGUpCisgICAgICAgIH0KKyAgICB9Cit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRl
c3RzL0Rlc2t0b3BCZWhhdmlvci90c3Rfc2luZ2xlRmlsZVVwbG9hZC5xbWwgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci90c3Rf
c2luZ2xlRmlsZVVwbG9hZC5xbWwKaW5kZXggY2U0OTVlYS4uN2NhOWVmYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9EZXNrdG9wQmVo
YXZpb3IvdHN0X3NpbmdsZUZpbGVVcGxvYWQucW1sCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yL3RzdF9zaW5nbGVGaWxl
VXBsb2FkLnFtbApAQCAtMTMsMTQgKzEzLDIwIEBAIFRlc3RXZWJWaWV3IHsKICAgICBoZWlnaHQ6
IDQwMAogCiAgICAgcHJvcGVydHkgYm9vbCBzZWxlY3RGaWxlCisgICAgcHJvcGVydHkgYm9vbCBh
Y2NlcHRNdWx0aXBsZTogZmFsc2UKIAogICAgIGV4cGVyaW1lbnRhbC5maWxlUGlja2VyOiBJdGVt
IHsKICAgICAgICAgVGltZXIgewogICAgICAgICAgICAgcnVubmluZzogdHJ1ZQogICAgICAgICAg
ICAgaW50ZXJ2YWw6IDEKICAgICAgICAgICAgIG9uVHJpZ2dlcmVkOiB7Ci0gICAgICAgICAgICAg
ICAgaWYgKHNlbGVjdEZpbGUpCi0gICAgICAgICAgICAgICAgICAgIG1vZGVsLmFjY2VwdCgiYWNj
ZXB0ZWRmaWxlbmFtZSIpOworICAgICAgICAgICAgICAgIHZhciBzZWxlY3RlZEZpbGVzID0gWyJm
aWxlbmFtZTEiLCAiZmlsZW5hbWUyIl0KKyAgICAgICAgICAgICAgICBpZiAoc2VsZWN0RmlsZSkg
eworICAgICAgICAgICAgICAgICAgICBpZiAoYWNjZXB0TXVsdGlwbGUpCisgICAgICAgICAgICAg
ICAgICAgICAgICBtb2RlbC5hY2NlcHQoc2VsZWN0ZWRGaWxlcykKKyAgICAgICAgICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWwuYWNjZXB0KCJhY2NlcHRlZGZp
bGVuYW1lIik7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgICAgICAgICAgbW9kZWwucmVqZWN0KCk7CiAgICAgICAgICAgICB9CkBAIC01NSw2ICs2
MSwxNCBAQCBUZXN0V2ViVmlldyB7CiAgICAgICAgICAgICBjb21wYXJlKHdlYlZpZXcudGl0bGUs
ICJhY2NlcHRlZGZpbGVuYW1lIikKICAgICAgICAgfQogCisgICAgICAgIGZ1bmN0aW9uIHRlc3Rf
bXVsdGlwbGUoKSB7CisgICAgICAgICAgICB3ZWJWaWV3LnNlbGVjdEZpbGUgPSB0cnVlOworICAg
ICAgICAgICAgd2ViVmlldy5hY2NlcHRNdWx0aXBsZSA9IHRydWU7CisgICAgICAgICAgICBvcGVu
SXRlbVNlbGVjdG9yKCkKKyAgICAgICAgICAgIHRpdGxlU3B5LndhaXQoKQorICAgICAgICAgICAg
Y29tcGFyZSh3ZWJWaWV3LnRpdGxlLCAiZmlsZW5hbWUxIikKKyAgICAgICAgfQorCiAgICAgICAg
IGZ1bmN0aW9uIHRlc3RfcmVqZWN0KCkgewogICAgICAgICAgICAgdmFyIG9sZFRpdGxlID0gd2Vi
Vmlldy50aXRsZQogICAgICAgICAgICAgd2ViVmlldy5zZWxlY3RGaWxlID0gZmFsc2U7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2Nv
bW1vbi9tdWx0aWZpbGV1cGxvYWQuaHRtbCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvdGVzdHMvcW1sdGVzdHMvY29tbW9uL211bHRpZmlsZXVwbG9hZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3MDFlZDQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1vbi9tdWx0aWZp
bGV1cGxvYWQuaHRtbApAQCAtMCwwICsxLDExIEBACis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGluaXRpYWwtc2NhbGU9MSI+Cis8dGl0bGU+IE11dGxpLWZpbGUgVXBsb2Fk
IDwvdGl0bGU+Cis8c2NyaXB0IHNyYyA9ICIuL3RpdGxldXBkYXRlLmpzIj4KKzwvc2NyaXB0Pgor
Cis8Ym9keT4KKzxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJmaWxlIiBpZD0idXBmaWxlIiBvbmNo
YW5nZT0idXBkYXRlVGl0bGUoKSIgbXVsdGlwbGUvPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9jb21t
b24vc2luZ2xlZmlsZXVwbG9hZC5odG1sIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC90ZXN0cy9xbWx0ZXN0cy9jb21tb24vc2luZ2xlZmlsZXVwbG9hZC5odG1sCmluZGV4IDU4MGI5
OTkuLjM4ZTM0NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
dGVzdHMvcW1sdGVzdHMvY29tbW9uL3NpbmdsZWZpbGV1cGxvYWQuaHRtbAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1vbi9zaW5nbGVmaWxl
dXBsb2FkLmh0bWwKQEAgLTEsMjMgKzEsOCBAQAogPGh0bWw+CiA8aGVhZD4KIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBpbml0aWFsLXNjYWxlPTEiPgotPHRpdGxlPk5vIGZpbGUgc2VsZWN0ZWQ8L3Rp
dGxlPgotPHNjcmlwdD4KLWZ1bmN0aW9uIHVwZGF0ZVRpdGxlKCkKLXsKLSAgICB2YXIgaW5wID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVwZmlsZSIpOwotICAgIHZhciBhbGxmaWxlcyA9IG5l
dyBTdHJpbmcoIiIpOwotICAgIHZhciBuYW1lID0gbmV3IFN0cmluZygiIik7Ci0gICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBpbnAuZmlsZXMubGVuZ3RoOyArK2kpCi0gICAgewotICAgICAgICBuYW1l
ID0gaW5wLmZpbGVzLml0ZW0oaSkubmFtZTsKLSAgICAgICAgaWYgKGFsbGZpbGVzLmxlbmd0aCA9
PSAwKQotICAgICAgICAgICAgYWxsZmlsZXMgPSBuYW1lOwotICAgICAgICBlbHNlCi0gICAgICAg
ICAgICBhbGxmaWxlcyA9IGFsbGZpbGVzICsgIiwiICsgbmFtZTsKLSAgICB9Ci0gICAgZG9jdW1l
bnQudGl0bGUgPSBhbGxmaWxlczsKLX0KKzx0aXRsZT4gU2luZ2xlIEZpbGUgVXBsb2FkIDwvdGl0
bGU+Cis8c2NyaXB0IHNyYyA9ICIuL3RpdGxldXBkYXRlLmpzIj4KIDwvc2NyaXB0PgogCiA8Ym9k
eT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1s
dGVzdHMvY29tbW9uL3RpdGxldXBkYXRlLmpzIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC90ZXN0cy9xbWx0ZXN0cy9jb21tb24vdGl0bGV1cGRhdGUuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uMmE1YmFjMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvY29tbW9uL3RpdGxldXBkYXRl
LmpzCkBAIC0wLDAgKzEsMTUgQEAKK2Z1bmN0aW9uIHVwZGF0ZVRpdGxlKCkKK3sKKyAgICB2YXIg
aW5wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVwZmlsZSIpOworICAgIHZhciBhbGxmaWxl
cyA9IG5ldyBTdHJpbmcoIiIpOworICAgIHZhciBuYW1lID0gbmV3IFN0cmluZygiIik7CisgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBpbnAuZmlsZXMubGVuZ3RoOyArK2kpCisgICAgeworICAgICAg
ICBuYW1lID0gaW5wLmZpbGVzLml0ZW0oaSkubmFtZTsKKyAgICAgICAgaWYgKGFsbGZpbGVzLmxl
bmd0aCA9PSAwKQorICAgICAgICAgICAgYWxsZmlsZXMgPSBuYW1lOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICBhbGxmaWxlcyA9IGFsbGZpbGVzICsgIiwiICsgbmFtZTsKKyAgICB9CisgICAg
ZG9jdW1lbnQudGl0bGUgPSBhbGxmaWxlczsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvcXQvUXREaWFsb2dSdW5uZXIuY3BwCmluZGV4IDAxMTFhNzMuLjU4OWRjY2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVubmVyLmNwcApAQCAtMTYwLDI1
ICsxNjAsMzUgQEAgcHJpdmF0ZToKIGNsYXNzIEZpbGVQaWNrZXJDb250ZXh0T2JqZWN0IDogcHVi
bGljIFFPYmplY3QgewogICAgIFFfT0JKRUNUCiAgICAgUV9QUk9QRVJUWShRU3RyaW5nTGlzdCBm
aWxlTGlzdCBSRUFEIGZpbGVMaXN0IENPTlNUQU5UKQorICAgIFFfUFJPUEVSVFkoYm9vbCBhbGxv
d011bHRpcGxlRmlsZXMgUkVBRCBhbGxvd011bHRpcGxlRmlsZXMgQ09OU1RBTlQpCiAKIHB1Ymxp
YzoKLSAgICBGaWxlUGlja2VyQ29udGV4dE9iamVjdChjb25zdCBRU3RyaW5nTGlzdCYgc2VsZWN0
ZWRGaWxlcykKKyAgICBGaWxlUGlja2VyQ29udGV4dE9iamVjdChjb25zdCBRU3RyaW5nTGlzdCYg
c2VsZWN0ZWRGaWxlcywgYm9vbCBhbGxvd011bHRpcGxlKQogICAgICAgICA6IFFPYmplY3QoKQor
ICAgICAgICAsIG1fYWxsb3dNdWx0aXBsZShhbGxvd011bHRpcGxlKQogICAgICAgICAsIG1fZmls
ZUxpc3Qoc2VsZWN0ZWRGaWxlcykKICAgICB7CiAgICAgfQogCiAgICAgUVN0cmluZ0xpc3QgZmls
ZUxpc3QoKSBjb25zdCB7IHJldHVybiBtX2ZpbGVMaXN0OyB9CisgICAgYm9vbCBhbGxvd011bHRp
cGxlRmlsZXMoKSBjb25zdCB7IHJldHVybiBtX2FsbG93TXVsdGlwbGU7fQogCiBwdWJsaWMgc2xv
dHM6CiAgICAgdm9pZCByZWplY3QoKSB7IGVtaXQgcmVqZWN0ZWQoKTt9Ci0gICAgdm9pZCBhY2Nl
cHQoY29uc3QgUVZhcmlhbnQmIHBhdGgpIHsgZW1pdCBmaWxlU2VsZWN0ZWQocGF0aC50b1N0cmlu
Z0xpc3QoKSk7IH0KKyAgICB2b2lkIGFjY2VwdChjb25zdCBRVmFyaWFudCYgcGF0aCkgeworICAg
ICAgICBRU3RyaW5nTGlzdCBmaWxlc1BhdGggPSBwYXRoLnRvU3RyaW5nTGlzdCgpOworICAgICAg
ICAvLyBGb3Igc2luZ2xlIGZpbGUgdXBsb2FkLCBzZW5kIG9ubHkgdGhlIGZpcnN0IGVsZW1lbnQg
aWYgdGhlcmUgYXJlIG1vcmUgdGhhbiBvbmUgZmlsZSBwYXRocworICAgICAgICBpZiAoIW1fYWxs
b3dNdWx0aXBsZSAmJiBmaWxlc1BhdGguY291bnQoKSA+IDEpCisgICAgICAgICAgICBmaWxlc1Bh
dGggPSBRU3RyaW5nTGlzdChmaWxlc1BhdGguYXQoMCkpOworICAgICAgICBlbWl0IGZpbGVTZWxl
Y3RlZChmaWxlc1BhdGgpOworICAgIH0KIAogc2lnbmFsczoKICAgICB2b2lkIHJlamVjdGVkKCk7
CiAgICAgdm9pZCBmaWxlU2VsZWN0ZWQoY29uc3QgUVN0cmluZ0xpc3QmKTsKIAogcHJpdmF0ZToK
KyAgICBib29sIG1fYWxsb3dNdWx0aXBsZTsKICAgICBRU3RyaW5nTGlzdCBtX2ZpbGVMaXN0Owog
fTsKIApAQCAtMjU1LDkgKzI2NSw5IEBAIGJvb2wgUXREaWFsb2dSdW5uZXI6OmluaXRGb3JDZXJ0
aWZpY2F0ZVZlcmlmaWNhdGlvbihRRGVjbGFyYXRpdmVDb21wb25lbnQqIGNvbXBvCiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKLWJvb2wgUXREaWFsb2dSdW5uZXI6OmluaXRGb3JGaWxlUGlja2VyKFFE
ZWNsYXJhdGl2ZUNvbXBvbmVudCogY29tcG9uZW50LCBRUXVpY2tJdGVtKiBkaWFsb2dQYXJlbnQs
IGNvbnN0IFFTdHJpbmdMaXN0JiBzZWxlY3RlZEZpbGVzKQorYm9vbCBRdERpYWxvZ1J1bm5lcjo6
aW5pdEZvckZpbGVQaWNrZXIoUURlY2xhcmF0aXZlQ29tcG9uZW50KiBjb21wb25lbnQsIFFRdWlj
a0l0ZW0qIGRpYWxvZ1BhcmVudCwgY29uc3QgUVN0cmluZ0xpc3QmIHNlbGVjdGVkRmlsZXMsIGJv
b2wgYWxsb3dNdWx0aXBsZSkKIHsKLSAgICBGaWxlUGlja2VyQ29udGV4dE9iamVjdCogY29udGV4
dE9iamVjdCA9IG5ldyBGaWxlUGlja2VyQ29udGV4dE9iamVjdChzZWxlY3RlZEZpbGVzKTsKKyAg
ICBGaWxlUGlja2VyQ29udGV4dE9iamVjdCogY29udGV4dE9iamVjdCA9IG5ldyBGaWxlUGlja2Vy
Q29udGV4dE9iamVjdChzZWxlY3RlZEZpbGVzLCBhbGxvd011bHRpcGxlKTsKICAgICBpZiAoIWNy
ZWF0ZURpYWxvZyhjb21wb25lbnQsIGRpYWxvZ1BhcmVudCwgY29udGV4dE9iamVjdCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3F0L1F0RGlhbG9nUnVubmVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFs
b2dSdW5uZXIuaAppbmRleCAwZTk0ODFiLi5kMGM1ODBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuaApAQCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBpbml0Rm9yQXV0aGVudGljYXRpb24oUURlY2xhcmF0aXZlQ29tcG9uZW50KiwgUVF1
aWNrSXRlbSogZGlhbG9nUGFyZW50LCBjb25zdCBRU3RyaW5nJiBob3N0bmFtZSwgY29uc3QgUVN0
cmluZyYgcmVhbG0sIGNvbnN0IFFTdHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lKTsKICAgICBib29s
IGluaXRGb3JDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvbihRRGVjbGFyYXRpdmVDb21wb25lbnQqLCBR
UXVpY2tJdGVtKiwgY29uc3QgUVN0cmluZyYgaG9zdG5hbWUpOwogICAgIGJvb2wgaW5pdEZvclBy
b3h5QXV0aGVudGljYXRpb24oUURlY2xhcmF0aXZlQ29tcG9uZW50KiwgUVF1aWNrSXRlbSosIGNv
bnN0IFFTdHJpbmcmIGhvc3RuYW1lLCB1aW50MTZfdCBwb3J0LCBjb25zdCBRU3RyaW5nJiBwcmVm
aWxsZWRVc2VybmFtZSk7Ci0gICAgYm9vbCBpbml0Rm9yRmlsZVBpY2tlcihRRGVjbGFyYXRpdmVD
b21wb25lbnQqLCBRUXVpY2tJdGVtKiwgY29uc3QgUVN0cmluZ0xpc3QmIHNlbGVjdGVkRmlsZXMp
OworICAgIGJvb2wgaW5pdEZvckZpbGVQaWNrZXIoUURlY2xhcmF0aXZlQ29tcG9uZW50KiwgUVF1
aWNrSXRlbSosIGNvbnN0IFFTdHJpbmdMaXN0JiBzZWxlY3RlZEZpbGVzLCBib29sIGFsbG93TXVs
dGlwbGUpOwogCiAgICAgUVF1aWNrSXRlbSogZGlhbG9nKCkgY29uc3QgeyByZXR1cm4gbV9kaWFs
b2cuZ2V0KCk7IH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IGQ2ZWI4NzIuLmM2NzQ4NTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZwor
KysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMi0wMy0yNiAgRGludSBK
YWNvYiAgPGRpbnUuamFjb2JAbm9raWEuY29tPgorCisgICAgICAgIFtRdF1bV0syXSBTdXBwb3J0
IG11bHRpLWZpbGUgdXBsb2FkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04MTU4OQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgor
CisgICAgICAgIE1vZGlmaWVkIGZpbGVQaWNrZXIgdG8gc3VwcG9ydCBtdWx0aS1maWxlIHVwbG9h
ZC4KKworICAgICAgICAqIE1pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnFyYzoKKyAgICAgICAg
KiBNaW5pQnJvd3Nlci9xdC9pY29ucy9jaGVja2JveF9jaGVja2VkLnBuZzogQWRkZWQuCisgICAg
ICAgICogTWluaUJyb3dzZXIvcXQvaWNvbnMvY2hlY2tib3hfdW5jaGVja2VkLnBuZzogQWRkZWQu
CisgICAgICAgICogTWluaUJyb3dzZXIvcXQvanMvTXVsdGlTZWxlY3QuanM6IEFkZGVkLgorICAg
ICAgICAodmFsdWVzKToKKyAgICAgICAgKGlzU2VsZWN0ZWQpOgorICAgICAgICAocmVtb3ZlVmFs
dWUpOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L3FtbC9DaGVja0JveC5xbWw6IEFkZGVkLgor
ICAgICAgICAqIE1pbmlCcm93c2VyL3F0L3FtbC9GaWxlUGlja2VyLnFtbDoKKwogMjAxMi0wMy0x
OSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IFdURiBoZWFk
ZXIgaW5jbHVkZSBkaXNjaXBsaW5lIGluIENocm9taXVtIFdlYktpdApkaWZmIC0tZ2l0IGEvVG9v
bHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucXJjIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQv
TWluaUJyb3dzZXIucXJjCmluZGV4IGU4MTEzMmEuLmI1NDkwYmUgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnFyYworKysgYi9Ub29scy9NaW5pQnJvd3Nlci9x
dC9NaW5pQnJvd3Nlci5xcmMKQEAgLTEsNSArMSw3IEBACiA8UkNDPgogICAgIDxxcmVzb3VyY2Ug
cHJlZml4PSIvIj4KKyAgICAgICAgPGZpbGU+aWNvbnMvY2hlY2tib3hfY2hlY2tlZC5wbmc8L2Zp
bGU+CisgICAgICAgIDxmaWxlPmljb25zL2NoZWNrYm94X3VuY2hlY2tlZC5wbmc8L2ZpbGU+CiAg
ICAgICAgIDxmaWxlPmljb25zL2Zhdmljb24ucG5nPC9maWxlPgogICAgICAgICA8ZmlsZT5pY29u
cy9mb2xkZXIucG5nPC9maWxlPgogICAgICAgICA8ZmlsZT5pY29ucy9pbmZvLnBuZzwvZmlsZT4K
QEAgLTEyLDkgKzE0LDExIEBACiAgICAgICAgIDxmaWxlPmljb25zL3RvdWNoLnBuZzwvZmlsZT4K
ICAgICAgICAgPGZpbGU+aWNvbnMvdG91Y2hwb2ludC5wbmc8L2ZpbGU+CiAgICAgICAgIDxmaWxl
Pmljb25zL3VwLnBuZzwvZmlsZT4KKyAgICAgICAgPGZpbGU+anMvTXVsdGlTZWxlY3QuanM8L2Zp
bGU+CiAgICAgICAgIDxmaWxlPnFtbC9BbGVydERpYWxvZy5xbWw8L2ZpbGU+CiAgICAgICAgIDxm
aWxlPnFtbC9BdXRoZW50aWNhdGlvbkRpYWxvZy5xbWw8L2ZpbGU+CiAgICAgICAgIDxmaWxlPnFt
bC9Ccm93c2VyV2luZG93LnFtbDwvZmlsZT4KKyAgICAgICAgPGZpbGU+cW1sL0NoZWNrQm94LnFt
bDwvZmlsZT4KICAgICAgICAgPGZpbGU+cW1sL0NvbmZpcm1EaWFsb2cucW1sPC9maWxlPgogICAg
ICAgICA8ZmlsZT5xbWwvRGlhbG9nLnFtbDwvZmlsZT4KICAgICAgICAgPGZpbGU+cW1sL0RpYWxv
Z0J1dHRvbi5xbWw8L2ZpbGU+CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9pY29u
cy9jaGVja2JveF9jaGVja2VkLnBuZyBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L2ljb25zL2NoZWNr
Ym94X2NoZWNrZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiZjA2
ZjYKQmluYXJ5IGZpbGVzIC9kZXYvbnVsbCBhbmQgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9pY29u
cy9jaGVja2JveF9jaGVja2VkLnBuZyBkaWZmZXIKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93
c2VyL3F0L2ljb25zL2NoZWNrYm94X3VuY2hlY2tlZC5wbmcgYi9Ub29scy9NaW5pQnJvd3Nlci9x
dC9pY29ucy9jaGVja2JveF91bmNoZWNrZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjVmNTQ2NTUKQmluYXJ5IGZpbGVzIC9kZXYvbnVsbCBhbmQgYi9Ub29scy9NaW5p
QnJvd3Nlci9xdC9pY29ucy9jaGVja2JveF91bmNoZWNrZWQucG5nIGRpZmZlcgpkaWZmIC0tZ2l0
IGEvVG9vbHMvTWluaUJyb3dzZXIvcXQvanMvTXVsdGlTZWxlY3QuanMgYi9Ub29scy9NaW5pQnJv
d3Nlci9xdC9qcy9NdWx0aVNlbGVjdC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi45ZTg3ZjVkCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvanMv
TXVsdGlTZWxlY3QuanMKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MiBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqCisgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor
ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9n
cmFtOyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRo
IEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisKKwordmFy
IHZhbHVlcyA9IFtdCisKK2Z1bmN0aW9uIHNlbGVjdGVkVmFsdWVzKCkgeworICAgIHJldHVybiB2
YWx1ZXMKK30KKworZnVuY3Rpb24gaXNTZWxlY3RlZCh2YWx1ZSkgeworICAgIHJldHVybiAodmFs
dWVzLmluZGV4T2YodmFsdWUpICE9IC0xKQorfQorCitmdW5jdGlvbiBhZGRWYWx1ZSh2YWx1ZSkg
eworICAgIGlmICh2YWx1ZXMuaW5kZXhPZih2YWx1ZSkgIT0gLTEpCisgICAgICAgIHJldHVybgor
ICAgIHZhbHVlcy5wdXNoKHZhbHVlKQorfQorCitmdW5jdGlvbiByZW1vdmVWYWx1ZSh2YWx1ZSkg
eworICAgIHZhciBpbmRleCA9IHZhbHVlcy5pbmRleE9mKHZhbHVlKQorCisgICAgaWYgKGluZGV4
ID09IC0xKQorICAgICAgICByZXR1cm4KKyAgICB2YWx1ZXMuc3BsaWNlKGluZGV4LCAxKQorfQpk
aWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvcXQvcW1sL0NoZWNrQm94LnFtbCBiL1Rvb2xz
L01pbmlCcm93c2VyL3F0L3FtbC9DaGVja0JveC5xbWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uMDg1YjgxMQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2Vy
L3F0L3FtbC9DaGVja0JveC5xbWwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMiBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFt
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhp
cyBwcm9ncmFtOyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisg
KiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKgorICovCisK
K2ltcG9ydCBRdFF1aWNrIDIuMAorCitJdGVtIHsKKyAgICBpZDogY2hlY2tib3gKKyAgICB3aWR0
aDogNTAKKyAgICBoZWlnaHQ6IHBhcmVudC5oZWlnaHQKKyAgICBwcm9wZXJ0eSBib29sIGNoZWNr
ZWQKKworICAgIEltYWdlIHsKKyAgICAgICAgd2lkdGg6IDI0CisgICAgICAgIGhlaWdodDogMjQK
KyAgICAgICAgc291cmNlOiBwYXJlbnQuY2hlY2tlZCA/ICcuLi9pY29ucy9jaGVja2JveF9jaGVj
a2VkLnBuZycgOiAnLi4vaWNvbnMvY2hlY2tib3hfdW5jaGVja2VkLnBuZycKKyAgICAgICAgYW5j
aG9ycy52ZXJ0aWNhbENlbnRlcjogcGFyZW50LnZlcnRpY2FsQ2VudGVyCisgICAgfQorfQpkaWZm
IC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvcXQvcW1sL0ZpbGVQaWNrZXIucW1sIGIvVG9vbHMv
TWluaUJyb3dzZXIvcXQvcW1sL0ZpbGVQaWNrZXIucW1sCmluZGV4IDViZWI4NmEuLjIyMmQ0YzMg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L3FtbC9GaWxlUGlja2VyLnFtbAorKysg
Yi9Ub29scy9NaW5pQnJvd3Nlci9xdC9xbWwvRmlsZVBpY2tlci5xbWwKQEAgLTIwLDYgKzIwLDcg
QEAKIAogaW1wb3J0IFF0UXVpY2sgMi4wCiBpbXBvcnQgUXQubGFicy5mb2xkZXJsaXN0bW9kZWwg
MS4wCitpbXBvcnQgIi4uL2pzL011bHRpU2VsZWN0LmpzIiBhcyBNdWx0aVNlbGVjdAogCiBSZWN0
YW5nbGUgewogICAgIGlkOiBmaWxlUGlja2VyCkBAIC0xMDksOCArMTEwLDE5IEBAIFJlY3Rhbmds
ZSB7CiAgICAgICAgICAgICAgICAgZnVuY3Rpb24gc2VsZWN0ZWQoKSB7CiAgICAgICAgICAgICAg
ICAgICAgIGlmIChmb2xkZXJzLmlzRm9sZGVyKGluZGV4KSkKICAgICAgICAgICAgICAgICAgICAg
ICAgIG9wZW5Gb2xkZXIoZmlsZVBhdGgpOwotICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAg
ICAgICAgICAgICAgICAgICAgICBmaWxlTW9kZWwuYWNjZXB0KGZpbGVQYXRoKTsKKyAgICAgICAg
ICAgICAgICAgICAgZWxzZSB7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWxlTW9k
ZWwuYWxsb3dNdWx0aXBsZUZpbGVzKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hl
Y2tib3guY2hlY2tlZCA9ICFjaGVja2JveC5jaGVja2VkCisKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpZiAoY2hlY2tib3guY2hlY2tlZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgTXVsdGlTZWxlY3QuYWRkVmFsdWUoZmlsZVBhdGgpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNdWx0aVNlbGVj
dC5yZW1vdmVWYWx1ZShmaWxlUGF0aCkKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxl
TW9kZWwuYWNjZXB0KGZpbGVQYXRoKQorICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICAgICAgfQogCiAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1MApAQCAtMTE4LDcgKzEzMCw3IEBA
IFJlY3RhbmdsZSB7CiAgICAgICAgICAgICAgICAgY29sb3I6IGZvbGRlcnMuaXNGb2xkZXIoaW5k
ZXgpID8gImxpZ2h0Z3JheSI6ICJkYXJrZ3JheSIKIAogICAgICAgICAgICAgICAgIEl0ZW0gewot
ICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDg7CisgICAgICAgICAgICAgICAgICAgIHdpZHRo
OiA1MAogICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ4CiAgICAgICAgICAgICAgICAgICAg
IEltYWdlIHsKICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZTogIi4uL2ljb25zL2ZvbGRl
ci5wbmciCkBAIC0xMjgsOSArMTQwLDIyIEBAIFJlY3RhbmdsZSB7CiAgICAgICAgICAgICAgICAg
fQogCiAgICAgICAgICAgICAgICAgVGV4dCB7CisgICAgICAgICAgICAgICAgICAgIGlkOiBmaWxl
TmFtZVRleHQKICAgICAgICAgICAgICAgICAgICAgYW5jaG9ycy5jZW50ZXJJbjogcGFyZW50Ci0g
ICAgICAgICAgICAgICAgICAgIGFuY2hvcnMubGVmdE1hcmdpbjogNTAKKyAgICAgICAgICAgICAg
ICAgICAgYW5jaG9ycy5sZWZ0TWFyZ2luOiAyMAorICAgICAgICAgICAgICAgICAgICB3aWR0aDog
MzAwCiAgICAgICAgICAgICAgICAgICAgIHRleHQ6IGZpbGVOYW1lCisgICAgICAgICAgICAgICAg
ICAgIGVsaWRlOiBUZXh0LkVsaWRlTGVmdDsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgICAgICBDaGVja0JveCB7CisgICAgICAgICAgICAgICAgICAgIGlkOiBjaGVja2JveAorCisg
ICAgICAgICAgICAgICAgICAgIGFuY2hvcnMucmlnaHQ6IHBhcmVudC5yaWdodAorICAgICAgICAg
ICAgICAgICAgICBhbmNob3JzLnZlcnRpY2FsQ2VudGVyOiBwYXJlbnQudmVydGljYWxDZW50ZXIK
KworICAgICAgICAgICAgICAgICAgICBjaGVja2VkOiBNdWx0aVNlbGVjdC5pc1NlbGVjdGVkKGZp
bGVQYXRoKQorICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiBmaWxlTW9kZWwuYWxsb3dNdWx0
aXBsZUZpbGVzICYmICFmb2xkZXJzLmlzRm9sZGVyKGluZGV4KQogICAgICAgICAgICAgICAgIH0K
IAogICAgICAgICAgICAgICAgIE1vdXNlQXJlYSB7CkBAIC0xNjAsMTUgKzE4NSwyNSBAQCBSZWN0
YW5nbGUgewogICAgICAgICAgICAgcmlnaHQ6IHBhcmVudC5yaWdodAogICAgICAgICB9CiAKLSAg
ICAgICAgRGlhbG9nQnV0dG9uIHsKLSAgICAgICAgICAgIGlkOiBjYW5jZWwKLSAgICAgICAgICAg
IHRleHQ6ICJDYW5jZWwiCi0gICAgICAgICAgICBhbmNob3JzIHsKLSAgICAgICAgICAgICAgICBo
b3Jpem9udGFsQ2VudGVyOiBwYXJlbnQuaG9yaXpvbnRhbENlbnRlcjsKLSAgICAgICAgICAgICAg
ICB2ZXJ0aWNhbENlbnRlcjogIHBhcmVudC52ZXJ0aWNhbENlbnRlcgorICAgICAgICBSb3cgewor
ICAgICAgICAgICAgaWQ6IGJ1dHRvblJvdworICAgICAgICAgICAgc3BhY2luZzogMTAKKyAgICAg
ICAgICAgIGFuY2hvcnMuaG9yaXpvbnRhbENlbnRlcjogcGFyZW50Lmhvcml6b250YWxDZW50ZXIK
KyAgICAgICAgICAgIGFuY2hvcnMudmVydGljYWxDZW50ZXI6IHBhcmVudC52ZXJ0aWNhbENlbnRl
cgorCisgICAgICAgICAgICBEaWFsb2dCdXR0b24geworICAgICAgICAgICAgICAgIGlkOiBjYW5j
ZWwKKyAgICAgICAgICAgICAgICB0ZXh0OiAiQ2FuY2VsIgorICAgICAgICAgICAgICAgIG9uQ2xp
Y2tlZDogZmlsZU1vZGVsLnJlamVjdCgpCiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIG9u
Q2xpY2tlZDogZmlsZU1vZGVsLnJlamVjdCgpCisgICAgICAgICAgICBEaWFsb2dCdXR0b24gewor
ICAgICAgICAgICAgICAgIGlkOiBhY2NlcHQKKyAgICAgICAgICAgICAgICB0ZXh0OiAiT2siCisg
ICAgICAgICAgICAgICAgdmlzaWJsZTogZmlsZU1vZGVsLmFsbG93TXVsdGlwbGVGaWxlcworICAg
ICAgICAgICAgICAgIG9uQ2xpY2tlZDoKKyAgICAgICAgICAgICAgICAgICAgZmlsZU1vZGVsLmFj
Y2VwdChNdWx0aVNlbGVjdC5zZWxlY3RlZFZhbHVlcygpKTsKKyAgICAgICAgICAgIH0KICAgICAg
ICAgfQogICAgIH0K
</data>
<flag name="commit-queue"
          id="137941"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133847</attachid>
            <date>2012-03-26 11:01:16 -0700</date>
            <delta_ts>2012-03-26 12:23:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>81589_commit.patch</filename>
            <type>text/plain</type>
            <size>21162</size>
            <attacher name="Dinu Jacob">dinu.jacob</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA3NTFkY2JiLi5mNGJkMWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEg
QEAKKzIwMTItMDMtMjYgIERpbnUgSmFjb2IgIDxkaW51LmphY29iQG5va2lhLmNvbT4KKworICAg
ICAgICBbUXRdW1dLMl0gU3VwcG9ydCBtdWx0aS1maWxlIHVwbG9hZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE1ODkKKworICAgICAgICBSZXZpZXdl
ZCBieSBTaW1vbiBIYXVzbWFubi4KKworICAgICAgICBBZGRlZCAnYWxsb3dNdXRpcGxlRmlsZXMn
IHByb3BlcnR5IHRvIGZpbGVQaWNrZXIgY29udGV4dCBwcm9wZXJ0eSB0byBpbmRpY2F0ZSB3aGV0
aGVyIHRvIGFsbG93CisgICAgICAgIG11bHRpcGxlIGZpbGUgc2VsZWN0aW9ucy4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHA6CisgICAgICAgIChRUXVpY2tX
ZWJWaWV3UHJpdmF0ZTo6Y2hvb3NlRmlsZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQv
dGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yLnBybzoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci90c3RfbXVsdGlGaWxlVXBsb2Fk
LnFtbDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9E
ZXNrdG9wQmVoYXZpb3IvdHN0X3NpbmdsZUZpbGVVcGxvYWQucW1sOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvY29tbW9uL211bHRpZmlsZXVwbG9hZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1vbi9z
aW5nbGVmaWxldXBsb2FkLmh0bWw6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9x
bWx0ZXN0cy9jb21tb24vdGl0bGV1cGRhdGUuanM6IEFkZGVkLgorICAgICAgICAodXBkYXRlVGl0
bGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5jcHA6CisgICAgICAg
IChGaWxlUGlja2VyQ29udGV4dE9iamVjdCk6CisgICAgICAgIChGaWxlUGlja2VyQ29udGV4dE9i
amVjdDo6RmlsZVBpY2tlckNvbnRleHRPYmplY3QpOgorICAgICAgICAoRmlsZVBpY2tlckNvbnRl
eHRPYmplY3Q6OmFsbG93TXVsdGlwbGVGaWxlcyk6CisgICAgICAgIChGaWxlUGlja2VyQ29udGV4
dE9iamVjdDo6YWNjZXB0KToKKyAgICAgICAgKFF0RGlhbG9nUnVubmVyOjppbml0Rm9yRmlsZVBp
Y2tlcik6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVubmVyLmg6CisgICAgICAg
IChRdERpYWxvZ1J1bm5lcik6CisKIDIwMTItMDMtMTkgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxh
cEBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBXZWJGcmFtZUxvYWRlckNsaWVudDo6Y3JlYXRl
RnJhbWUgbW9yZSBsaWtlIFdlYktpdDEgdmVyc2lvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCmluZGV4IGZkYzIwNzMuLmYxY2E1NWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmll
dy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3
LmNwcApAQCAtMzc3LDExICszNzcsMTEgQEAgdm9pZCBRUXVpY2tXZWJWaWV3UHJpdmF0ZTo6Y2hv
b3NlRmlsZXMoV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclJlZiBsaXN0ZW5lclJlZiwKIHsKICAg
ICBRX1EoUVF1aWNrV2ViVmlldyk7CiAKLSAgICBpZiAoIWZpbGVQaWNrZXIgfHwgdHlwZSA9PSBR
dFdlYlBhZ2VVSUNsaWVudDo6TXVsdGlwbGVGaWxlc1NlbGVjdGlvbikKKyAgICBpZiAoIWZpbGVQ
aWNrZXIpCiAgICAgICAgIHJldHVybjsKIAogICAgIFF0RGlhbG9nUnVubmVyIGRpYWxvZ1J1bm5l
cjsKLSAgICBpZiAoIWRpYWxvZ1J1bm5lci5pbml0Rm9yRmlsZVBpY2tlcihmaWxlUGlja2VyLCBx
LCBzZWxlY3RlZEZpbGVOYW1lcykpCisgICAgaWYgKCFkaWFsb2dSdW5uZXIuaW5pdEZvckZpbGVQ
aWNrZXIoZmlsZVBpY2tlciwgcSwgc2VsZWN0ZWRGaWxlTmFtZXMsIChib29sKXR5cGUpKQogICAg
ICAgICByZXR1cm47CiAKICAgICBleGVjRGlhbG9nUnVubmVyKGRpYWxvZ1J1bm5lcik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rl
c2t0b3BCZWhhdmlvci5wcm8gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3Rz
L3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci5wcm8KaW5kZXggNWNmNDZjYi4uNTlhM2NhNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9E
ZXNrdG9wQmVoYXZpb3IucHJvCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
dGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yLnBybwpAQCAtMjAsNCArMjAsNSBAQCBPVEhF
Ul9GSUxFUyArPSBcCiAgICAgRGVza3RvcEJlaGF2aW9yL3RzdF9sb2FkSHRtbC5xbWwgXAogICAg
IERlc2t0b3BCZWhhdmlvci90c3RfbWVzc2FnaW5nLnFtbCBcCiAgICAgRGVza3RvcEJlaGF2aW9y
L3RzdF9uYXZpZ2F0aW9uUmVxdWVzdGVkLnFtbCBcCi0gICAgRGVza3RvcEJlaGF2aW9yL3RzdF9z
aW5nbGVmaWxldXBsb2FkLnFtbAorICAgIERlc2t0b3BCZWhhdmlvci90c3Rfc2luZ2xlRmlsZXVw
bG9hZC5xbWwgXAorICAgIERlc2t0b3BCZWhhdmlvci90c3RfbXVsdGlGaWxldXBsb2FkLnFtbApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0
cy9EZXNrdG9wQmVoYXZpb3IvdHN0X211bHRpRmlsZVVwbG9hZC5xbWwgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci90c3RfbXVs
dGlGaWxlVXBsb2FkLnFtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDNm
NjU2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90
ZXN0cy9xbWx0ZXN0cy9EZXNrdG9wQmVoYXZpb3IvdHN0X211bHRpRmlsZVVwbG9hZC5xbWwKQEAg
LTAsMCArMSw2NiBAQAoraW1wb3J0IFF0UXVpY2sgMi4wCitpbXBvcnQgUXRUZXN0IDEuMAoraW1w
b3J0IFF0V2ViS2l0IDMuMAoraW1wb3J0IFF0V2ViS2l0LmV4cGVyaW1lbnRhbCAxLjAKK2ltcG9y
dCAiLi4vY29tbW9uIgorCisvLyBGSVhNRTogQWRkZWQgdG8gRGVza3RvcCB0ZXN0cyBiZWNhdXNl
IHdlIHdhbnQgdG8gaGF2ZSBtb3VzZUNsaWNrKCkgdG8gb3BlbiB0aGUgPGlucHV0PiB0YWcuIFdl
IGNhbiBtb3ZlIGl0IGJhY2sKKy8vIHdoZW4gVGVzdENhc2Ugc3RhcnRzIHN1cHBvcnRpbmcgdG91
Y2ggZXZlbnRzLCBzZWUgaHR0cHM6Ly9idWdyZXBvcnRzLnF0Lm5va2lhLmNvbS9icm93c2UvUVRC
VUctMjMwODMuCitUZXN0V2ViVmlldyB7CisgICAgaWQ6IHdlYlZpZXcKKworICAgIHdpZHRoOiA0
MDAKKyAgICBoZWlnaHQ6IDQwMAorCisgICAgcHJvcGVydHkgYm9vbCBzZWxlY3RGaWxlCisKKyAg
ICBleHBlcmltZW50YWwuZmlsZVBpY2tlcjogSXRlbSB7CisgICAgICAgIFRpbWVyIHsKKyAgICAg
ICAgICAgIHJ1bm5pbmc6IHRydWUKKyAgICAgICAgICAgIGludGVydmFsOiAxCisgICAgICAgICAg
ICBvblRyaWdnZXJlZDogeworICAgICAgICAgICAgICAgIHZhciBzZWxlY3RlZEZpbGVzID0gWyJm
aWxlbmFtZTEiLCAiZmlsZW5hbWUyIl0KKyAgICAgICAgICAgICAgICBpZiAoc2VsZWN0RmlsZSkK
KyAgICAgICAgICAgICAgICAgICAgbW9kZWwuYWNjZXB0KHNlbGVjdGVkRmlsZXMpCisgICAgICAg
ICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBtb2RlbC5yZWplY3QoKTsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIFNpZ25hbFNweSB7CisgICAgICAgIGlk
OiB0aXRsZVNweQorICAgICAgICB0YXJnZXQ6IHdlYlZpZXcKKyAgICAgICAgc2lnbmFsTmFtZTog
InRpdGxlQ2hhbmdlZCIKKyAgICB9CisKKyAgICBUZXN0Q2FzZSB7CisgICAgICAgIGlkOiB0ZXN0
CisgICAgICAgIG5hbWU6ICJXZWJWaWV3TXVsdGlGaWxlUGlja2VyIgorICAgICAgICB3aGVuOiB3
aW5kb3dTaG93bgorCisgICAgICAgIGZ1bmN0aW9uIGluaXQoKSB7CisgICAgICAgICAgICB3ZWJW
aWV3LnVybCA9IFF0LnJlc29sdmVkVXJsKCIuLi9jb21tb24vbXVsdGlmaWxldXBsb2FkLmh0bWwi
KQorICAgICAgICAgICAgdmVyaWZ5KHdlYlZpZXcud2FpdEZvckxvYWRTdWNjZWVkZWQoKSkKKyAg
ICAgICAgICAgIHRpdGxlU3B5LmNsZWFyKCkKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9u
IG9wZW5JdGVtU2VsZWN0b3IoKSB7CisgICAgICAgICAgICBtb3VzZUNsaWNrKHdlYlZpZXcsIDE1
LCAxNSwgUXQuTGVmdEJ1dHRvbikKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHRlc3Rf
YWNjZXB0KCkgeworICAgICAgICAgICAgd2ViVmlldy5zZWxlY3RGaWxlID0gdHJ1ZTsKKyAgICAg
ICAgICAgIG9wZW5JdGVtU2VsZWN0b3IoKQorICAgICAgICAgICAgdGl0bGVTcHkud2FpdCgpCisg
ICAgICAgICAgICBjb21wYXJlKHdlYlZpZXcudGl0bGUsICJmaWxlbmFtZTEsZmlsZW5hbWUyIikK
KyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RfcmVqZWN0KCkgeworICAgICAgICAg
ICAgdmFyIG9sZFRpdGxlID0gd2ViVmlldy50aXRsZQorICAgICAgICAgICAgd2ViVmlldy5zZWxl
Y3RGaWxlID0gZmFsc2U7CisgICAgICAgICAgICBvcGVuSXRlbVNlbGVjdG9yKCkKKyAgICAgICAg
ICAgIGNvbXBhcmUod2ViVmlldy50aXRsZSwgb2xkVGl0bGUpCisgICAgICAgIH0KKyAgICB9Cit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRl
c3RzL0Rlc2t0b3BCZWhhdmlvci90c3Rfc2luZ2xlRmlsZVVwbG9hZC5xbWwgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci90c3Rf
c2luZ2xlRmlsZVVwbG9hZC5xbWwKaW5kZXggY2U0OTVlYS4uN2NhOWVmYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9EZXNrdG9wQmVo
YXZpb3IvdHN0X3NpbmdsZUZpbGVVcGxvYWQucW1sCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yL3RzdF9zaW5nbGVGaWxl
VXBsb2FkLnFtbApAQCAtMTMsMTQgKzEzLDIwIEBAIFRlc3RXZWJWaWV3IHsKICAgICBoZWlnaHQ6
IDQwMAogCiAgICAgcHJvcGVydHkgYm9vbCBzZWxlY3RGaWxlCisgICAgcHJvcGVydHkgYm9vbCBh
Y2NlcHRNdWx0aXBsZTogZmFsc2UKIAogICAgIGV4cGVyaW1lbnRhbC5maWxlUGlja2VyOiBJdGVt
IHsKICAgICAgICAgVGltZXIgewogICAgICAgICAgICAgcnVubmluZzogdHJ1ZQogICAgICAgICAg
ICAgaW50ZXJ2YWw6IDEKICAgICAgICAgICAgIG9uVHJpZ2dlcmVkOiB7Ci0gICAgICAgICAgICAg
ICAgaWYgKHNlbGVjdEZpbGUpCi0gICAgICAgICAgICAgICAgICAgIG1vZGVsLmFjY2VwdCgiYWNj
ZXB0ZWRmaWxlbmFtZSIpOworICAgICAgICAgICAgICAgIHZhciBzZWxlY3RlZEZpbGVzID0gWyJm
aWxlbmFtZTEiLCAiZmlsZW5hbWUyIl0KKyAgICAgICAgICAgICAgICBpZiAoc2VsZWN0RmlsZSkg
eworICAgICAgICAgICAgICAgICAgICBpZiAoYWNjZXB0TXVsdGlwbGUpCisgICAgICAgICAgICAg
ICAgICAgICAgICBtb2RlbC5hY2NlcHQoc2VsZWN0ZWRGaWxlcykKKyAgICAgICAgICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWwuYWNjZXB0KCJhY2NlcHRlZGZp
bGVuYW1lIik7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgICAgICAgICAgbW9kZWwucmVqZWN0KCk7CiAgICAgICAgICAgICB9CkBAIC01NSw2ICs2
MSwxNCBAQCBUZXN0V2ViVmlldyB7CiAgICAgICAgICAgICBjb21wYXJlKHdlYlZpZXcudGl0bGUs
ICJhY2NlcHRlZGZpbGVuYW1lIikKICAgICAgICAgfQogCisgICAgICAgIGZ1bmN0aW9uIHRlc3Rf
bXVsdGlwbGUoKSB7CisgICAgICAgICAgICB3ZWJWaWV3LnNlbGVjdEZpbGUgPSB0cnVlOworICAg
ICAgICAgICAgd2ViVmlldy5hY2NlcHRNdWx0aXBsZSA9IHRydWU7CisgICAgICAgICAgICBvcGVu
SXRlbVNlbGVjdG9yKCkKKyAgICAgICAgICAgIHRpdGxlU3B5LndhaXQoKQorICAgICAgICAgICAg
Y29tcGFyZSh3ZWJWaWV3LnRpdGxlLCAiZmlsZW5hbWUxIikKKyAgICAgICAgfQorCiAgICAgICAg
IGZ1bmN0aW9uIHRlc3RfcmVqZWN0KCkgewogICAgICAgICAgICAgdmFyIG9sZFRpdGxlID0gd2Vi
Vmlldy50aXRsZQogICAgICAgICAgICAgd2ViVmlldy5zZWxlY3RGaWxlID0gZmFsc2U7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2Nv
bW1vbi9tdWx0aWZpbGV1cGxvYWQuaHRtbCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvdGVzdHMvcW1sdGVzdHMvY29tbW9uL211bHRpZmlsZXVwbG9hZC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3MDFlZDQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1vbi9tdWx0aWZp
bGV1cGxvYWQuaHRtbApAQCAtMCwwICsxLDExIEBACis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFt
ZT0idmlld3BvcnQiIGluaXRpYWwtc2NhbGU9MSI+Cis8dGl0bGU+IE11dGxpLWZpbGUgVXBsb2Fk
IDwvdGl0bGU+Cis8c2NyaXB0IHNyYyA9ICIuL3RpdGxldXBkYXRlLmpzIj4KKzwvc2NyaXB0Pgor
Cis8Ym9keT4KKzxpbnB1dCB0eXBlPSJmaWxlIiBuYW1lPSJmaWxlIiBpZD0idXBmaWxlIiBvbmNo
YW5nZT0idXBkYXRlVGl0bGUoKSIgbXVsdGlwbGUvPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9jb21t
b24vc2luZ2xlZmlsZXVwbG9hZC5odG1sIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC90ZXN0cy9xbWx0ZXN0cy9jb21tb24vc2luZ2xlZmlsZXVwbG9hZC5odG1sCmluZGV4IDU4MGI5
OTkuLjM4ZTM0NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
dGVzdHMvcW1sdGVzdHMvY29tbW9uL3NpbmdsZWZpbGV1cGxvYWQuaHRtbAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1vbi9zaW5nbGVmaWxl
dXBsb2FkLmh0bWwKQEAgLTEsMjMgKzEsOCBAQAogPGh0bWw+CiA8aGVhZD4KIDxtZXRhIG5hbWU9
InZpZXdwb3J0IiBpbml0aWFsLXNjYWxlPTEiPgotPHRpdGxlPk5vIGZpbGUgc2VsZWN0ZWQ8L3Rp
dGxlPgotPHNjcmlwdD4KLWZ1bmN0aW9uIHVwZGF0ZVRpdGxlKCkKLXsKLSAgICB2YXIgaW5wID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVwZmlsZSIpOwotICAgIHZhciBhbGxmaWxlcyA9IG5l
dyBTdHJpbmcoIiIpOwotICAgIHZhciBuYW1lID0gbmV3IFN0cmluZygiIik7Ci0gICAgZm9yICh2
YXIgaSA9IDA7IGkgPCBpbnAuZmlsZXMubGVuZ3RoOyArK2kpCi0gICAgewotICAgICAgICBuYW1l
ID0gaW5wLmZpbGVzLml0ZW0oaSkubmFtZTsKLSAgICAgICAgaWYgKGFsbGZpbGVzLmxlbmd0aCA9
PSAwKQotICAgICAgICAgICAgYWxsZmlsZXMgPSBuYW1lOwotICAgICAgICBlbHNlCi0gICAgICAg
ICAgICBhbGxmaWxlcyA9IGFsbGZpbGVzICsgIiwiICsgbmFtZTsKLSAgICB9Ci0gICAgZG9jdW1l
bnQudGl0bGUgPSBhbGxmaWxlczsKLX0KKzx0aXRsZT4gU2luZ2xlIEZpbGUgVXBsb2FkIDwvdGl0
bGU+Cis8c2NyaXB0IHNyYyA9ICIuL3RpdGxldXBkYXRlLmpzIj4KIDwvc2NyaXB0PgogCiA8Ym9k
eT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1s
dGVzdHMvY29tbW9uL3RpdGxldXBkYXRlLmpzIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC90ZXN0cy9xbWx0ZXN0cy9jb21tb24vdGl0bGV1cGRhdGUuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uMmE1YmFjMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvY29tbW9uL3RpdGxldXBkYXRl
LmpzCkBAIC0wLDAgKzEsMTUgQEAKK2Z1bmN0aW9uIHVwZGF0ZVRpdGxlKCkKK3sKKyAgICB2YXIg
aW5wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInVwZmlsZSIpOworICAgIHZhciBhbGxmaWxl
cyA9IG5ldyBTdHJpbmcoIiIpOworICAgIHZhciBuYW1lID0gbmV3IFN0cmluZygiIik7CisgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBpbnAuZmlsZXMubGVuZ3RoOyArK2kpCisgICAgeworICAgICAg
ICBuYW1lID0gaW5wLmZpbGVzLml0ZW0oaSkubmFtZTsKKyAgICAgICAgaWYgKGFsbGZpbGVzLmxl
bmd0aCA9PSAwKQorICAgICAgICAgICAgYWxsZmlsZXMgPSBuYW1lOworICAgICAgICBlbHNlCisg
ICAgICAgICAgICBhbGxmaWxlcyA9IGFsbGZpbGVzICsgIiwiICsgbmFtZTsKKyAgICB9CisgICAg
ZG9jdW1lbnQudGl0bGUgPSBhbGxmaWxlczsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvcXQvUXREaWFsb2dSdW5uZXIuY3BwCmluZGV4IDAxMTFhNzMuLjU4OWRjY2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVubmVyLmNwcApAQCAtMTYwLDI1
ICsxNjAsMzUgQEAgcHJpdmF0ZToKIGNsYXNzIEZpbGVQaWNrZXJDb250ZXh0T2JqZWN0IDogcHVi
bGljIFFPYmplY3QgewogICAgIFFfT0JKRUNUCiAgICAgUV9QUk9QRVJUWShRU3RyaW5nTGlzdCBm
aWxlTGlzdCBSRUFEIGZpbGVMaXN0IENPTlNUQU5UKQorICAgIFFfUFJPUEVSVFkoYm9vbCBhbGxv
d011bHRpcGxlRmlsZXMgUkVBRCBhbGxvd011bHRpcGxlRmlsZXMgQ09OU1RBTlQpCiAKIHB1Ymxp
YzoKLSAgICBGaWxlUGlja2VyQ29udGV4dE9iamVjdChjb25zdCBRU3RyaW5nTGlzdCYgc2VsZWN0
ZWRGaWxlcykKKyAgICBGaWxlUGlja2VyQ29udGV4dE9iamVjdChjb25zdCBRU3RyaW5nTGlzdCYg
c2VsZWN0ZWRGaWxlcywgYm9vbCBhbGxvd011bHRpcGxlKQogICAgICAgICA6IFFPYmplY3QoKQor
ICAgICAgICAsIG1fYWxsb3dNdWx0aXBsZShhbGxvd011bHRpcGxlKQogICAgICAgICAsIG1fZmls
ZUxpc3Qoc2VsZWN0ZWRGaWxlcykKICAgICB7CiAgICAgfQogCiAgICAgUVN0cmluZ0xpc3QgZmls
ZUxpc3QoKSBjb25zdCB7IHJldHVybiBtX2ZpbGVMaXN0OyB9CisgICAgYm9vbCBhbGxvd011bHRp
cGxlRmlsZXMoKSBjb25zdCB7IHJldHVybiBtX2FsbG93TXVsdGlwbGU7fQogCiBwdWJsaWMgc2xv
dHM6CiAgICAgdm9pZCByZWplY3QoKSB7IGVtaXQgcmVqZWN0ZWQoKTt9Ci0gICAgdm9pZCBhY2Nl
cHQoY29uc3QgUVZhcmlhbnQmIHBhdGgpIHsgZW1pdCBmaWxlU2VsZWN0ZWQocGF0aC50b1N0cmlu
Z0xpc3QoKSk7IH0KKyAgICB2b2lkIGFjY2VwdChjb25zdCBRVmFyaWFudCYgcGF0aCkgeworICAg
ICAgICBRU3RyaW5nTGlzdCBmaWxlc1BhdGggPSBwYXRoLnRvU3RyaW5nTGlzdCgpOworICAgICAg
ICAvLyBGb3Igc2luZ2xlIGZpbGUgdXBsb2FkLCBzZW5kIG9ubHkgdGhlIGZpcnN0IGVsZW1lbnQg
aWYgdGhlcmUgYXJlIG1vcmUgdGhhbiBvbmUgZmlsZSBwYXRocworICAgICAgICBpZiAoIW1fYWxs
b3dNdWx0aXBsZSAmJiBmaWxlc1BhdGguY291bnQoKSA+IDEpCisgICAgICAgICAgICBmaWxlc1Bh
dGggPSBRU3RyaW5nTGlzdChmaWxlc1BhdGguYXQoMCkpOworICAgICAgICBlbWl0IGZpbGVTZWxl
Y3RlZChmaWxlc1BhdGgpOworICAgIH0KIAogc2lnbmFsczoKICAgICB2b2lkIHJlamVjdGVkKCk7
CiAgICAgdm9pZCBmaWxlU2VsZWN0ZWQoY29uc3QgUVN0cmluZ0xpc3QmKTsKIAogcHJpdmF0ZToK
KyAgICBib29sIG1fYWxsb3dNdWx0aXBsZTsKICAgICBRU3RyaW5nTGlzdCBtX2ZpbGVMaXN0Owog
fTsKIApAQCAtMjU1LDkgKzI2NSw5IEBAIGJvb2wgUXREaWFsb2dSdW5uZXI6OmluaXRGb3JDZXJ0
aWZpY2F0ZVZlcmlmaWNhdGlvbihRRGVjbGFyYXRpdmVDb21wb25lbnQqIGNvbXBvCiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKLWJvb2wgUXREaWFsb2dSdW5uZXI6OmluaXRGb3JGaWxlUGlja2VyKFFE
ZWNsYXJhdGl2ZUNvbXBvbmVudCogY29tcG9uZW50LCBRUXVpY2tJdGVtKiBkaWFsb2dQYXJlbnQs
IGNvbnN0IFFTdHJpbmdMaXN0JiBzZWxlY3RlZEZpbGVzKQorYm9vbCBRdERpYWxvZ1J1bm5lcjo6
aW5pdEZvckZpbGVQaWNrZXIoUURlY2xhcmF0aXZlQ29tcG9uZW50KiBjb21wb25lbnQsIFFRdWlj
a0l0ZW0qIGRpYWxvZ1BhcmVudCwgY29uc3QgUVN0cmluZ0xpc3QmIHNlbGVjdGVkRmlsZXMsIGJv
b2wgYWxsb3dNdWx0aXBsZSkKIHsKLSAgICBGaWxlUGlja2VyQ29udGV4dE9iamVjdCogY29udGV4
dE9iamVjdCA9IG5ldyBGaWxlUGlja2VyQ29udGV4dE9iamVjdChzZWxlY3RlZEZpbGVzKTsKKyAg
ICBGaWxlUGlja2VyQ29udGV4dE9iamVjdCogY29udGV4dE9iamVjdCA9IG5ldyBGaWxlUGlja2Vy
Q29udGV4dE9iamVjdChzZWxlY3RlZEZpbGVzLCBhbGxvd011bHRpcGxlKTsKICAgICBpZiAoIWNy
ZWF0ZURpYWxvZyhjb21wb25lbnQsIGRpYWxvZ1BhcmVudCwgY29udGV4dE9iamVjdCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3F0L1F0RGlhbG9nUnVubmVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFs
b2dSdW5uZXIuaAppbmRleCAwZTk0ODFiLi5kMGM1ODBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuaApAQCAtNDIsNyArNDIsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBpbml0Rm9yQXV0aGVudGljYXRpb24oUURlY2xhcmF0aXZlQ29tcG9uZW50KiwgUVF1
aWNrSXRlbSogZGlhbG9nUGFyZW50LCBjb25zdCBRU3RyaW5nJiBob3N0bmFtZSwgY29uc3QgUVN0
cmluZyYgcmVhbG0sIGNvbnN0IFFTdHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lKTsKICAgICBib29s
IGluaXRGb3JDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvbihRRGVjbGFyYXRpdmVDb21wb25lbnQqLCBR
UXVpY2tJdGVtKiwgY29uc3QgUVN0cmluZyYgaG9zdG5hbWUpOwogICAgIGJvb2wgaW5pdEZvclBy
b3h5QXV0aGVudGljYXRpb24oUURlY2xhcmF0aXZlQ29tcG9uZW50KiwgUVF1aWNrSXRlbSosIGNv
bnN0IFFTdHJpbmcmIGhvc3RuYW1lLCB1aW50MTZfdCBwb3J0LCBjb25zdCBRU3RyaW5nJiBwcmVm
aWxsZWRVc2VybmFtZSk7Ci0gICAgYm9vbCBpbml0Rm9yRmlsZVBpY2tlcihRRGVjbGFyYXRpdmVD
b21wb25lbnQqLCBRUXVpY2tJdGVtKiwgY29uc3QgUVN0cmluZ0xpc3QmIHNlbGVjdGVkRmlsZXMp
OworICAgIGJvb2wgaW5pdEZvckZpbGVQaWNrZXIoUURlY2xhcmF0aXZlQ29tcG9uZW50KiwgUVF1
aWNrSXRlbSosIGNvbnN0IFFTdHJpbmdMaXN0JiBzZWxlY3RlZEZpbGVzLCBib29sIGFsbG93TXVs
dGlwbGUpOwogCiAgICAgUVF1aWNrSXRlbSogZGlhbG9nKCkgY29uc3QgeyByZXR1cm4gbV9kaWFs
b2cuZ2V0KCk7IH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IGQ2ZWI4NzIuLmM2NzQ4NTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZwor
KysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMi0wMy0yNiAgRGludSBK
YWNvYiAgPGRpbnUuamFjb2JAbm9raWEuY29tPgorCisgICAgICAgIFtRdF1bV0syXSBTdXBwb3J0
IG11bHRpLWZpbGUgdXBsb2FkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04MTU4OQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgor
CisgICAgICAgIE1vZGlmaWVkIGZpbGVQaWNrZXIgdG8gc3VwcG9ydCBtdWx0aS1maWxlIHVwbG9h
ZC4KKworICAgICAgICAqIE1pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnFyYzoKKyAgICAgICAg
KiBNaW5pQnJvd3Nlci9xdC9pY29ucy9jaGVja2JveF9jaGVja2VkLnBuZzogQWRkZWQuCisgICAg
ICAgICogTWluaUJyb3dzZXIvcXQvaWNvbnMvY2hlY2tib3hfdW5jaGVja2VkLnBuZzogQWRkZWQu
CisgICAgICAgICogTWluaUJyb3dzZXIvcXQvanMvTXVsdGlTZWxlY3QuanM6IEFkZGVkLgorICAg
ICAgICAodmFsdWVzKToKKyAgICAgICAgKGlzU2VsZWN0ZWQpOgorICAgICAgICAocmVtb3ZlVmFs
dWUpOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L3FtbC9DaGVja0JveC5xbWw6IEFkZGVkLgor
ICAgICAgICAqIE1pbmlCcm93c2VyL3F0L3FtbC9GaWxlUGlja2VyLnFtbDoKKwogMjAxMi0wMy0x
OSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IFdURiBoZWFk
ZXIgaW5jbHVkZSBkaXNjaXBsaW5lIGluIENocm9taXVtIFdlYktpdApkaWZmIC0tZ2l0IGEvVG9v
bHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucXJjIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQv
TWluaUJyb3dzZXIucXJjCmluZGV4IGU4MTEzMmEuLmI1NDkwYmUgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnFyYworKysgYi9Ub29scy9NaW5pQnJvd3Nlci9x
dC9NaW5pQnJvd3Nlci5xcmMKQEAgLTEsNSArMSw3IEBACiA8UkNDPgogICAgIDxxcmVzb3VyY2Ug
cHJlZml4PSIvIj4KKyAgICAgICAgPGZpbGU+aWNvbnMvY2hlY2tib3hfY2hlY2tlZC5wbmc8L2Zp
bGU+CisgICAgICAgIDxmaWxlPmljb25zL2NoZWNrYm94X3VuY2hlY2tlZC5wbmc8L2ZpbGU+CiAg
ICAgICAgIDxmaWxlPmljb25zL2Zhdmljb24ucG5nPC9maWxlPgogICAgICAgICA8ZmlsZT5pY29u
cy9mb2xkZXIucG5nPC9maWxlPgogICAgICAgICA8ZmlsZT5pY29ucy9pbmZvLnBuZzwvZmlsZT4K
QEAgLTEyLDkgKzE0LDExIEBACiAgICAgICAgIDxmaWxlPmljb25zL3RvdWNoLnBuZzwvZmlsZT4K
ICAgICAgICAgPGZpbGU+aWNvbnMvdG91Y2hwb2ludC5wbmc8L2ZpbGU+CiAgICAgICAgIDxmaWxl
Pmljb25zL3VwLnBuZzwvZmlsZT4KKyAgICAgICAgPGZpbGU+anMvTXVsdGlTZWxlY3QuanM8L2Zp
bGU+CiAgICAgICAgIDxmaWxlPnFtbC9BbGVydERpYWxvZy5xbWw8L2ZpbGU+CiAgICAgICAgIDxm
aWxlPnFtbC9BdXRoZW50aWNhdGlvbkRpYWxvZy5xbWw8L2ZpbGU+CiAgICAgICAgIDxmaWxlPnFt
bC9Ccm93c2VyV2luZG93LnFtbDwvZmlsZT4KKyAgICAgICAgPGZpbGU+cW1sL0NoZWNrQm94LnFt
bDwvZmlsZT4KICAgICAgICAgPGZpbGU+cW1sL0NvbmZpcm1EaWFsb2cucW1sPC9maWxlPgogICAg
ICAgICA8ZmlsZT5xbWwvRGlhbG9nLnFtbDwvZmlsZT4KICAgICAgICAgPGZpbGU+cW1sL0RpYWxv
Z0J1dHRvbi5xbWw8L2ZpbGU+CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9pY29u
cy9jaGVja2JveF9jaGVja2VkLnBuZyBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L2ljb25zL2NoZWNr
Ym94X2NoZWNrZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNiZjA2ZjY1MTNkNmIxMTcyMTI5MGMzZjBmM2Jl
NWJkMmQxNTdlODQKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDI2Mwp6Y21lQVNATj8ob2xIeWB1
VkJxIWlhMHZwQEFrNHU2QnlUKkBgM3xJKmlrJjx8STU8TXp4UGImRU9JI3lMZzdlYyMKeiRgZ3hI
OE9xRGNeKW1DYWk8MSl6UXVYcVMocjNUM2twZTIzP2RqcWVCNV5yNlZAPH1OTSRzPz5sWWhycTQr
ZWMjCnoreUJPfj9ZcjlIckZKRU1AKjU1b2VfblJTY0I/QDVtQTVhfitEcmU+enRnRXduIyZmaj09
MFRFXldPTFZVdylfaAp6R1ZBb0h7a3VRQEAyWmFIXlojfH0kTnVqfWtBTEhyRW0tLXVkLWd4R2ZB
NSlKejQtQkMmLVolZk5tdHRZZTYxWnkKelVpWih3PnxuT1k8OE9YTSNqM1piVSRQMXVTTVlURl5M
M0FTX3heJWJ3c1F0NzN7JnNAeFI2a3ZZNil+RWdRdSZYCkolUX5sb0NJQmV5YmxVJmAKCmxpdGVy
YWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L2ljb25z
L2NoZWNrYm94X3VuY2hlY2tlZC5wbmcgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9pY29ucy9jaGVj
a2JveF91bmNoZWNrZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmNTQ2NTU4MmE5YTJlNmE4NWFkYmUwN2E0
YTJkYTVlODBiOGIwMTcKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDE1OQp6Y21lQVNATj8ob2xI
eWB1VkJxIWlhMHZwQEFrNHU2QnlUKkBgM3xJKmlrJjx8STU8TXp4UGImRU9JI3lMZzdlYyMKeiRg
Z3hIOE9xRGNeKW1DYWk8MSl6UXVYcVMocjNUM2twZTAqX0g9TyFrK19fa3Vfb2hCcWlDM2MkLW0+
UTJaTyQ9Cno/U0pGZ19GZTdwUW9FOHJgM2BPSlImNWhSPG13LUNAeTwhKVZFRWVxR3Z1dTdlVn1k
ejIyV1ElbXZ2NEZPI3NTQgpCR3VIcUIKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdp
dCBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L2pzL011bHRpU2VsZWN0LmpzIGIvVG9vbHMvTWluaUJy
b3dzZXIvcXQvanMvTXVsdGlTZWxlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uOWU4N2Y1ZAotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L2pz
L011bHRpU2VsZWN0LmpzCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBk
aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJ
VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK
KyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJv
Z3JhbTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisKK3Zh
ciB2YWx1ZXMgPSBbXQorCitmdW5jdGlvbiBzZWxlY3RlZFZhbHVlcygpIHsKKyAgICByZXR1cm4g
dmFsdWVzCit9CisKK2Z1bmN0aW9uIGlzU2VsZWN0ZWQodmFsdWUpIHsKKyAgICByZXR1cm4gKHZh
bHVlcy5pbmRleE9mKHZhbHVlKSAhPSAtMSkKK30KKworZnVuY3Rpb24gYWRkVmFsdWUodmFsdWUp
IHsKKyAgICBpZiAodmFsdWVzLmluZGV4T2YodmFsdWUpICE9IC0xKQorICAgICAgICByZXR1cm4K
KyAgICB2YWx1ZXMucHVzaCh2YWx1ZSkKK30KKworZnVuY3Rpb24gcmVtb3ZlVmFsdWUodmFsdWUp
IHsKKyAgICB2YXIgaW5kZXggPSB2YWx1ZXMuaW5kZXhPZih2YWx1ZSkKKworICAgIGlmIChpbmRl
eCA9PSAtMSkKKyAgICAgICAgcmV0dXJuCisgICAgdmFsdWVzLnNwbGljZShpbmRleCwgMSkKK30K
ZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L3FtbC9DaGVja0JveC5xbWwgYi9Ub29s
cy9NaW5pQnJvd3Nlci9xdC9xbWwvQ2hlY2tCb3gucW1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjA4NWI4MTEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3Nl
ci9xdC9xbWwvQ2hlY2tCb3gucW1sCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTIgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisg
KgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3Jh
bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRo
aXMgcHJvZ3JhbTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwor
ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLwor
CitpbXBvcnQgUXRRdWljayAyLjAKKworSXRlbSB7CisgICAgaWQ6IGNoZWNrYm94CisgICAgd2lk
dGg6IDUwCisgICAgaGVpZ2h0OiBwYXJlbnQuaGVpZ2h0CisgICAgcHJvcGVydHkgYm9vbCBjaGVj
a2VkCisKKyAgICBJbWFnZSB7CisgICAgICAgIHdpZHRoOiAyNAorICAgICAgICBoZWlnaHQ6IDI0
CisgICAgICAgIHNvdXJjZTogcGFyZW50LmNoZWNrZWQgPyAnLi4vaWNvbnMvY2hlY2tib3hfY2hl
Y2tlZC5wbmcnIDogJy4uL2ljb25zL2NoZWNrYm94X3VuY2hlY2tlZC5wbmcnCisgICAgICAgIGFu
Y2hvcnMudmVydGljYWxDZW50ZXI6IHBhcmVudC52ZXJ0aWNhbENlbnRlcgorICAgIH0KK30KZGlm
ZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L3FtbC9GaWxlUGlja2VyLnFtbCBiL1Rvb2xz
L01pbmlCcm93c2VyL3F0L3FtbC9GaWxlUGlja2VyLnFtbAppbmRleCA1YmViODZhLi4yMjJkNGMz
IDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9xbWwvRmlsZVBpY2tlci5xbWwKKysr
IGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvcW1sL0ZpbGVQaWNrZXIucW1sCkBAIC0yMCw2ICsyMCw3
IEBACiAKIGltcG9ydCBRdFF1aWNrIDIuMAogaW1wb3J0IFF0LmxhYnMuZm9sZGVybGlzdG1vZGVs
IDEuMAoraW1wb3J0ICIuLi9qcy9NdWx0aVNlbGVjdC5qcyIgYXMgTXVsdGlTZWxlY3QKIAogUmVj
dGFuZ2xlIHsKICAgICBpZDogZmlsZVBpY2tlcgpAQCAtMTA5LDggKzExMCwxOSBAQCBSZWN0YW5n
bGUgewogICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHNlbGVjdGVkKCkgewogICAgICAgICAgICAg
ICAgICAgICBpZiAoZm9sZGVycy5pc0ZvbGRlcihpbmRleCkpCiAgICAgICAgICAgICAgICAgICAg
ICAgICBvcGVuRm9sZGVyKGZpbGVQYXRoKTsKLSAgICAgICAgICAgICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgICAgICAgICAgICAgZmlsZU1vZGVsLmFjY2VwdChmaWxlUGF0aCk7CisgICAgICAg
ICAgICAgICAgICAgIGVsc2UgeworCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZU1v
ZGVsLmFsbG93TXVsdGlwbGVGaWxlcykgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNo
ZWNrYm94LmNoZWNrZWQgPSAhY2hlY2tib3guY2hlY2tlZAorCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKGNoZWNrYm94LmNoZWNrZWQpCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIE11bHRpU2VsZWN0LmFkZFZhbHVlKGZpbGVQYXRoKQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTXVsdGlTZWxl
Y3QucmVtb3ZlVmFsdWUoZmlsZVBhdGgpCisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmls
ZU1vZGVsLmFjY2VwdChmaWxlUGF0aCkKKyAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgICAgIH0KIAogICAgICAgICAgICAgICAgIGhlaWdodDogNTAKQEAgLTExOCw3ICsxMzAsNyBA
QCBSZWN0YW5nbGUgewogICAgICAgICAgICAgICAgIGNvbG9yOiBmb2xkZXJzLmlzRm9sZGVyKGlu
ZGV4KSA/ICJsaWdodGdyYXkiOiAiZGFya2dyYXkiCiAKICAgICAgICAgICAgICAgICBJdGVtIHsK
LSAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ4OworICAgICAgICAgICAgICAgICAgICB3aWR0
aDogNTAKICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0OAogICAgICAgICAgICAgICAgICAg
ICBJbWFnZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2U6ICIuLi9pY29ucy9mb2xk
ZXIucG5nIgpAQCAtMTI4LDkgKzE0MCwyMiBAQCBSZWN0YW5nbGUgewogICAgICAgICAgICAgICAg
IH0KIAogICAgICAgICAgICAgICAgIFRleHQgeworICAgICAgICAgICAgICAgICAgICBpZDogZmls
ZU5hbWVUZXh0CiAgICAgICAgICAgICAgICAgICAgIGFuY2hvcnMuY2VudGVySW46IHBhcmVudAot
ICAgICAgICAgICAgICAgICAgICBhbmNob3JzLmxlZnRNYXJnaW46IDUwCisgICAgICAgICAgICAg
ICAgICAgIGFuY2hvcnMubGVmdE1hcmdpbjogMjAKKyAgICAgICAgICAgICAgICAgICAgd2lkdGg6
IDMwMAogICAgICAgICAgICAgICAgICAgICB0ZXh0OiBmaWxlTmFtZQorICAgICAgICAgICAgICAg
ICAgICBlbGlkZTogVGV4dC5FbGlkZUxlZnQ7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICAgICAgQ2hlY2tCb3ggeworICAgICAgICAgICAgICAgICAgICBpZDogY2hlY2tib3gKKwor
ICAgICAgICAgICAgICAgICAgICBhbmNob3JzLnJpZ2h0OiBwYXJlbnQucmlnaHQKKyAgICAgICAg
ICAgICAgICAgICAgYW5jaG9ycy52ZXJ0aWNhbENlbnRlcjogcGFyZW50LnZlcnRpY2FsQ2VudGVy
CisKKyAgICAgICAgICAgICAgICAgICAgY2hlY2tlZDogTXVsdGlTZWxlY3QuaXNTZWxlY3RlZChm
aWxlUGF0aCkKKyAgICAgICAgICAgICAgICAgICAgdmlzaWJsZTogZmlsZU1vZGVsLmFsbG93TXVs
dGlwbGVGaWxlcyAmJiAhZm9sZGVycy5pc0ZvbGRlcihpbmRleCkKICAgICAgICAgICAgICAgICB9
CiAKICAgICAgICAgICAgICAgICBNb3VzZUFyZWEgewpAQCAtMTYwLDE1ICsxODUsMjUgQEAgUmVj
dGFuZ2xlIHsKICAgICAgICAgICAgIHJpZ2h0OiBwYXJlbnQucmlnaHQKICAgICAgICAgfQogCi0g
ICAgICAgIERpYWxvZ0J1dHRvbiB7Ci0gICAgICAgICAgICBpZDogY2FuY2VsCi0gICAgICAgICAg
ICB0ZXh0OiAiQ2FuY2VsIgotICAgICAgICAgICAgYW5jaG9ycyB7Ci0gICAgICAgICAgICAgICAg
aG9yaXpvbnRhbENlbnRlcjogcGFyZW50Lmhvcml6b250YWxDZW50ZXI7Ci0gICAgICAgICAgICAg
ICAgdmVydGljYWxDZW50ZXI6ICBwYXJlbnQudmVydGljYWxDZW50ZXIKKyAgICAgICAgUm93IHsK
KyAgICAgICAgICAgIGlkOiBidXR0b25Sb3cKKyAgICAgICAgICAgIHNwYWNpbmc6IDEwCisgICAg
ICAgICAgICBhbmNob3JzLmhvcml6b250YWxDZW50ZXI6IHBhcmVudC5ob3Jpem9udGFsQ2VudGVy
CisgICAgICAgICAgICBhbmNob3JzLnZlcnRpY2FsQ2VudGVyOiBwYXJlbnQudmVydGljYWxDZW50
ZXIKKworICAgICAgICAgICAgRGlhbG9nQnV0dG9uIHsKKyAgICAgICAgICAgICAgICBpZDogY2Fu
Y2VsCisgICAgICAgICAgICAgICAgdGV4dDogIkNhbmNlbCIKKyAgICAgICAgICAgICAgICBvbkNs
aWNrZWQ6IGZpbGVNb2RlbC5yZWplY3QoKQogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBv
bkNsaWNrZWQ6IGZpbGVNb2RlbC5yZWplY3QoKQorICAgICAgICAgICAgRGlhbG9nQnV0dG9uIHsK
KyAgICAgICAgICAgICAgICBpZDogYWNjZXB0CisgICAgICAgICAgICAgICAgdGV4dDogIk9rIgor
ICAgICAgICAgICAgICAgIHZpc2libGU6IGZpbGVNb2RlbC5hbGxvd011bHRpcGxlRmlsZXMKKyAg
ICAgICAgICAgICAgICBvbkNsaWNrZWQ6CisgICAgICAgICAgICAgICAgICAgIGZpbGVNb2RlbC5h
Y2NlcHQoTXVsdGlTZWxlY3Quc2VsZWN0ZWRWYWx1ZXMoKSk7CisgICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICB9CiAK
</data>
<flag name="commit-queue"
          id="137947"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133863</attachid>
            <date>2012-03-26 12:23:43 -0700</date>
            <delta_ts>2012-03-26 12:24:31 -0700</delta_ts>
            <desc>Re-based patch</desc>
            <filename>81589_commit.patch</filename>
            <type>text/plain</type>
            <size>21802</size>
            <attacher name="Dinu Jacob">dinu.jacob</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBhNjViOTViLi42NDY5ZjU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEg
QEAKKzIwMTItMDMtMjYgIERpbnUgSmFjb2IgIDxkaW51LmphY29iQG5va2lhLmNvbT4KKworICAg
ICAgICBbUXRdW1dLMl0gU3VwcG9ydCBtdWx0aS1maWxlIHVwbG9hZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE1ODkKKworICAgICAgICBSZXZpZXdl
ZCBieSBTaW1vbiBIYXVzbWFubi4KKworICAgICAgICBBZGRlZCAnYWxsb3dNdXRpcGxlRmlsZXMn
IHByb3BlcnR5IHRvIGZpbGVQaWNrZXIgY29udGV4dCBwcm9wZXJ0eSB0byBpbmRpY2F0ZSB3aGV0
aGVyIHRvIGFsbG93CisgICAgICAgIG11bHRpcGxlIGZpbGUgc2VsZWN0aW9ucy4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHA6CisgICAgICAgIChRUXVpY2tX
ZWJWaWV3UHJpdmF0ZTo6Y2hvb3NlRmlsZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQv
dGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yLnBybzoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci90c3RfbXVsdGlGaWxlVXBsb2Fk
LnFtbDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9x
bWx0ZXN0cy9EZXNrdG9wQmVoYXZpb3IvdHN0X3NpbmdsZUZpbGVVcGxvYWQucW1sLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yL3RzdF9z
aW5nbGVGaWxlVXBsb2FkLnFtbDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3Ft
bHRlc3RzL2NvbW1vbi9tdWx0aWZpbGV1cGxvYWQuaHRtbDogQWRkZWQuCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9jb21tb24vc2luZ2xlZmlsZXVwbG9hZC5odG1s
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvY29tbW9uL3RpdGxl
dXBkYXRlLmpzOiBBZGRlZC4KKyAgICAgICAgKHVwZGF0ZVRpdGxlKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuY3BwOgorICAgICAgICAoRmlsZVBpY2tlckNvbnRleHRP
YmplY3QpOgorICAgICAgICAoRmlsZVBpY2tlckNvbnRleHRPYmplY3Q6OkZpbGVQaWNrZXJDb250
ZXh0T2JqZWN0KToKKyAgICAgICAgKEZpbGVQaWNrZXJDb250ZXh0T2JqZWN0OjphbGxvd011bHRp
cGxlRmlsZXMpOgorICAgICAgICAoRmlsZVBpY2tlckNvbnRleHRPYmplY3Q6OmFjY2VwdCk6Cisg
ICAgICAgIChRdERpYWxvZ1J1bm5lcjo6aW5pdEZvckZpbGVQaWNrZXIpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5oOgorICAgICAgICAoUXREaWFsb2dSdW5uZXIpOgor
CiAyMDEyLTAzLTI2ICBQaWVycmUgUm9zc2kgIDxwaWVycmUucm9zc2lAbm9raWEuY29tPgogCiAg
ICAgICAgIFtRdF1bV0syXSBkZWZhdWx0IGZhbWlsaWVzIGFyZSBub3Qgc2V0IGluIFFXZWJQcmVm
ZXJlbmNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVp
Y2t3ZWJ2aWV3LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vi
dmlldy5jcHAKaW5kZXggMDMxMjRkOS4uZmNlNDNhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwCkBAIC0zNjQsMTEgKzM2NCwxMSBA
QCB2b2lkIFFRdWlja1dlYlZpZXdQcml2YXRlOjpjaG9vc2VGaWxlcyhXS09wZW5QYW5lbFJlc3Vs
dExpc3RlbmVyUmVmIGxpc3RlbmVyUmVmLAogewogICAgIFFfUShRUXVpY2tXZWJWaWV3KTsKIAot
ICAgIGlmICghZmlsZVBpY2tlciB8fCB0eXBlID09IFF0V2ViUGFnZVVJQ2xpZW50OjpNdWx0aXBs
ZUZpbGVzU2VsZWN0aW9uKQorICAgIGlmICghZmlsZVBpY2tlcikKICAgICAgICAgcmV0dXJuOwog
CiAgICAgUXREaWFsb2dSdW5uZXIgZGlhbG9nUnVubmVyOwotICAgIGlmICghZGlhbG9nUnVubmVy
LmluaXRGb3JGaWxlUGlja2VyKGZpbGVQaWNrZXIsIHEsIHNlbGVjdGVkRmlsZU5hbWVzKSkKKyAg
ICBpZiAoIWRpYWxvZ1J1bm5lci5pbml0Rm9yRmlsZVBpY2tlcihmaWxlUGlja2VyLCBxLCBzZWxl
Y3RlZEZpbGVOYW1lcywgKGJvb2wpdHlwZSkpCiAgICAgICAgIHJldHVybjsKIAogICAgIGV4ZWNE
aWFsb2dSdW5uZXIoZGlhbG9nUnVubmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yLnBybyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9y
LnBybwppbmRleCA1Y2Y0NmNiLi41OWEzY2E1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci5wcm8KKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9EZXNrdG9wQmVo
YXZpb3IucHJvCkBAIC0yMCw0ICsyMCw1IEBAIE9USEVSX0ZJTEVTICs9IFwKICAgICBEZXNrdG9w
QmVoYXZpb3IvdHN0X2xvYWRIdG1sLnFtbCBcCiAgICAgRGVza3RvcEJlaGF2aW9yL3RzdF9tZXNz
YWdpbmcucW1sIFwKICAgICBEZXNrdG9wQmVoYXZpb3IvdHN0X25hdmlnYXRpb25SZXF1ZXN0ZWQu
cW1sIFwKLSAgICBEZXNrdG9wQmVoYXZpb3IvdHN0X3NpbmdsZWZpbGV1cGxvYWQucW1sCisgICAg
RGVza3RvcEJlaGF2aW9yL3RzdF9zaW5nbGVGaWxldXBsb2FkLnFtbCBcCisgICAgRGVza3RvcEJl
aGF2aW9yL3RzdF9tdWx0aUZpbGV1cGxvYWQucW1sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci90c3RfbXVs
dGlGaWxlVXBsb2FkLnFtbCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMv
cW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yL3RzdF9tdWx0aUZpbGVVcGxvYWQucW1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0M2Y2NTYKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhh
dmlvci90c3RfbXVsdGlGaWxlVXBsb2FkLnFtbApAQCAtMCwwICsxLDY2IEBACitpbXBvcnQgUXRR
dWljayAyLjAKK2ltcG9ydCBRdFRlc3QgMS4wCitpbXBvcnQgUXRXZWJLaXQgMy4wCitpbXBvcnQg
UXRXZWJLaXQuZXhwZXJpbWVudGFsIDEuMAoraW1wb3J0ICIuLi9jb21tb24iCisKKy8vIEZJWE1F
OiBBZGRlZCB0byBEZXNrdG9wIHRlc3RzIGJlY2F1c2Ugd2Ugd2FudCB0byBoYXZlIG1vdXNlQ2xp
Y2soKSB0byBvcGVuIHRoZSA8aW5wdXQ+IHRhZy4gV2UgY2FuIG1vdmUgaXQgYmFjaworLy8gd2hl
biBUZXN0Q2FzZSBzdGFydHMgc3VwcG9ydGluZyB0b3VjaCBldmVudHMsIHNlZSBodHRwczovL2J1
Z3JlcG9ydHMucXQubm9raWEuY29tL2Jyb3dzZS9RVEJVRy0yMzA4My4KK1Rlc3RXZWJWaWV3IHsK
KyAgICBpZDogd2ViVmlldworCisgICAgd2lkdGg6IDQwMAorICAgIGhlaWdodDogNDAwCisKKyAg
ICBwcm9wZXJ0eSBib29sIHNlbGVjdEZpbGUKKworICAgIGV4cGVyaW1lbnRhbC5maWxlUGlja2Vy
OiBJdGVtIHsKKyAgICAgICAgVGltZXIgeworICAgICAgICAgICAgcnVubmluZzogdHJ1ZQorICAg
ICAgICAgICAgaW50ZXJ2YWw6IDEKKyAgICAgICAgICAgIG9uVHJpZ2dlcmVkOiB7CisgICAgICAg
ICAgICAgICAgdmFyIHNlbGVjdGVkRmlsZXMgPSBbImZpbGVuYW1lMSIsICJmaWxlbmFtZTIiXQor
ICAgICAgICAgICAgICAgIGlmIChzZWxlY3RGaWxlKQorICAgICAgICAgICAgICAgICAgICBtb2Rl
bC5hY2NlcHQoc2VsZWN0ZWRGaWxlcykKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgICAgIG1vZGVsLnJlamVjdCgpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAg
fQorCisgICAgU2lnbmFsU3B5IHsKKyAgICAgICAgaWQ6IHRpdGxlU3B5CisgICAgICAgIHRhcmdl
dDogd2ViVmlldworICAgICAgICBzaWduYWxOYW1lOiAidGl0bGVDaGFuZ2VkIgorICAgIH0KKwor
ICAgIFRlc3RDYXNlIHsKKyAgICAgICAgaWQ6IHRlc3QKKyAgICAgICAgbmFtZTogIldlYlZpZXdN
dWx0aUZpbGVQaWNrZXIiCisgICAgICAgIHdoZW46IHdpbmRvd1Nob3duCisKKyAgICAgICAgZnVu
Y3Rpb24gaW5pdCgpIHsKKyAgICAgICAgICAgIHdlYlZpZXcudXJsID0gUXQucmVzb2x2ZWRVcmwo
Ii4uL2NvbW1vbi9tdWx0aWZpbGV1cGxvYWQuaHRtbCIpCisgICAgICAgICAgICB2ZXJpZnkod2Vi
Vmlldy53YWl0Rm9yTG9hZFN1Y2NlZWRlZCgpKQorICAgICAgICAgICAgdGl0bGVTcHkuY2xlYXIo
KQorICAgICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gb3Blbkl0ZW1TZWxlY3RvcigpIHsKKyAg
ICAgICAgICAgIG1vdXNlQ2xpY2sod2ViVmlldywgMTUsIDE1LCBRdC5MZWZ0QnV0dG9uKQorICAg
ICAgICB9CisKKyAgICAgICAgZnVuY3Rpb24gdGVzdF9hY2NlcHQoKSB7CisgICAgICAgICAgICB3
ZWJWaWV3LnNlbGVjdEZpbGUgPSB0cnVlOworICAgICAgICAgICAgb3Blbkl0ZW1TZWxlY3Rvcigp
CisgICAgICAgICAgICB0aXRsZVNweS53YWl0KCkKKyAgICAgICAgICAgIGNvbXBhcmUod2ViVmll
dy50aXRsZSwgImZpbGVuYW1lMSxmaWxlbmFtZTIiKQorICAgICAgICB9CisKKyAgICAgICAgZnVu
Y3Rpb24gdGVzdF9yZWplY3QoKSB7CisgICAgICAgICAgICB2YXIgb2xkVGl0bGUgPSB3ZWJWaWV3
LnRpdGxlCisgICAgICAgICAgICB3ZWJWaWV3LnNlbGVjdEZpbGUgPSBmYWxzZTsKKyAgICAgICAg
ICAgIG9wZW5JdGVtU2VsZWN0b3IoKQorICAgICAgICAgICAgY29tcGFyZSh3ZWJWaWV3LnRpdGxl
LCBvbGRUaXRsZSkKKyAgICAgICAgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yL3RzdF9z
aW5nbGVGaWxlVXBsb2FkLnFtbCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVz
dHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yL3RzdF9zaW5nbGVGaWxlVXBsb2FkLnFtbAppbmRl
eCBjZTQ5NWVhLi43Y2E5ZWZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci90c3Rfc2luZ2xlRmlsZVVwbG9h
ZC5xbWwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0
cy9EZXNrdG9wQmVoYXZpb3IvdHN0X3NpbmdsZUZpbGVVcGxvYWQucW1sCkBAIC0xMywxNCArMTMs
MjAgQEAgVGVzdFdlYlZpZXcgewogICAgIGhlaWdodDogNDAwCiAKICAgICBwcm9wZXJ0eSBib29s
IHNlbGVjdEZpbGUKKyAgICBwcm9wZXJ0eSBib29sIGFjY2VwdE11bHRpcGxlOiBmYWxzZQogCiAg
ICAgZXhwZXJpbWVudGFsLmZpbGVQaWNrZXI6IEl0ZW0gewogICAgICAgICBUaW1lciB7CiAgICAg
ICAgICAgICBydW5uaW5nOiB0cnVlCiAgICAgICAgICAgICBpbnRlcnZhbDogMQogICAgICAgICAg
ICAgb25UcmlnZ2VyZWQ6IHsKLSAgICAgICAgICAgICAgICBpZiAoc2VsZWN0RmlsZSkKLSAgICAg
ICAgICAgICAgICAgICAgbW9kZWwuYWNjZXB0KCJhY2NlcHRlZGZpbGVuYW1lIik7CisgICAgICAg
ICAgICAgICAgdmFyIHNlbGVjdGVkRmlsZXMgPSBbImZpbGVuYW1lMSIsICJmaWxlbmFtZTIiXQor
ICAgICAgICAgICAgICAgIGlmIChzZWxlY3RGaWxlKSB7CisgICAgICAgICAgICAgICAgICAgIGlm
IChhY2NlcHRNdWx0aXBsZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsLmFjY2VwdChz
ZWxlY3RlZEZpbGVzKQorICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
ICAgICAgICBtb2RlbC5hY2NlcHQoImFjY2VwdGVkZmlsZW5hbWUiKTsKKyAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICBtb2RlbC5yZWpl
Y3QoKTsKICAgICAgICAgICAgIH0KQEAgLTU1LDYgKzYxLDE0IEBAIFRlc3RXZWJWaWV3IHsKICAg
ICAgICAgICAgIGNvbXBhcmUod2ViVmlldy50aXRsZSwgImFjY2VwdGVkZmlsZW5hbWUiKQogICAg
ICAgICB9CiAKKyAgICAgICAgZnVuY3Rpb24gdGVzdF9tdWx0aXBsZSgpIHsKKyAgICAgICAgICAg
IHdlYlZpZXcuc2VsZWN0RmlsZSA9IHRydWU7CisgICAgICAgICAgICB3ZWJWaWV3LmFjY2VwdE11
bHRpcGxlID0gdHJ1ZTsKKyAgICAgICAgICAgIG9wZW5JdGVtU2VsZWN0b3IoKQorICAgICAgICAg
ICAgdGl0bGVTcHkud2FpdCgpCisgICAgICAgICAgICBjb21wYXJlKHdlYlZpZXcudGl0bGUsICJm
aWxlbmFtZTEiKQorICAgICAgICB9CisKICAgICAgICAgZnVuY3Rpb24gdGVzdF9yZWplY3QoKSB7
CiAgICAgICAgICAgICB2YXIgb2xkVGl0bGUgPSB3ZWJWaWV3LnRpdGxlCiAgICAgICAgICAgICB3
ZWJWaWV3LnNlbGVjdEZpbGUgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvY29tbW9uL211bHRpZmlsZXVwbG9hZC5odG1s
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9jb21tb24v
bXVsdGlmaWxldXBsb2FkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
NzcwMWVkNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvdGVzdHMvcW1sdGVzdHMvY29tbW9uL211bHRpZmlsZXVwbG9hZC5odG1sCkBAIC0wLDAgKzEs
MTEgQEAKKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgaW5pdGlhbC1zY2Fs
ZT0xIj4KKzx0aXRsZT4gTXV0bGktZmlsZSBVcGxvYWQgPC90aXRsZT4KKzxzY3JpcHQgc3JjID0g
Ii4vdGl0bGV1cGRhdGUuanMiPgorPC9zY3JpcHQ+CisKKzxib2R5PgorPGlucHV0IHR5cGU9ImZp
bGUiIG5hbWU9ImZpbGUiIGlkPSJ1cGZpbGUiIG9uY2hhbmdlPSJ1cGRhdGVUaXRsZSgpIiBtdWx0
aXBsZS8+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1vbi9zaW5nbGVmaWxldXBsb2FkLmh0bWwg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1vbi9z
aW5nbGVmaWxldXBsb2FkLmh0bWwKaW5kZXggNTgwYjk5OS4uMzhlMzQ1ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9jb21tb24vc2lu
Z2xlZmlsZXVwbG9hZC5odG1sCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
dGVzdHMvcW1sdGVzdHMvY29tbW9uL3NpbmdsZWZpbGV1cGxvYWQuaHRtbApAQCAtMSwyMyArMSw4
IEBACiA8aHRtbD4KIDxoZWFkPgogPG1ldGEgbmFtZT0idmlld3BvcnQiIGluaXRpYWwtc2NhbGU9
MSI+Ci08dGl0bGU+Tm8gZmlsZSBzZWxlY3RlZDwvdGl0bGU+Ci08c2NyaXB0PgotZnVuY3Rpb24g
dXBkYXRlVGl0bGUoKQotewotICAgIHZhciBpbnAgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
dXBmaWxlIik7Ci0gICAgdmFyIGFsbGZpbGVzID0gbmV3IFN0cmluZygiIik7Ci0gICAgdmFyIG5h
bWUgPSBuZXcgU3RyaW5nKCIiKTsKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IGlucC5maWxlcy5s
ZW5ndGg7ICsraSkKLSAgICB7Ci0gICAgICAgIG5hbWUgPSBpbnAuZmlsZXMuaXRlbShpKS5uYW1l
OwotICAgICAgICBpZiAoYWxsZmlsZXMubGVuZ3RoID09IDApCi0gICAgICAgICAgICBhbGxmaWxl
cyA9IG5hbWU7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGFsbGZpbGVzID0gYWxsZmlsZXMg
KyAiLCIgKyBuYW1lOwotICAgIH0KLSAgICBkb2N1bWVudC50aXRsZSA9IGFsbGZpbGVzOwotfQor
PHRpdGxlPiBTaW5nbGUgRmlsZSBVcGxvYWQgPC90aXRsZT4KKzxzY3JpcHQgc3JjID0gIi4vdGl0
bGV1cGRhdGUuanMiPgogPC9zY3JpcHQ+CiAKIDxib2R5PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9jb21tb24vdGl0bGV1cGRhdGUu
anMgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1v
bi90aXRsZXVwZGF0ZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYTVi
YWMwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90
ZXN0cy9xbWx0ZXN0cy9jb21tb24vdGl0bGV1cGRhdGUuanMKQEAgLTAsMCArMSwxNSBAQAorZnVu
Y3Rpb24gdXBkYXRlVGl0bGUoKQoreworICAgIHZhciBpbnAgPSBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidXBmaWxlIik7CisgICAgdmFyIGFsbGZpbGVzID0gbmV3IFN0cmluZygiIik7CisgICAg
dmFyIG5hbWUgPSBuZXcgU3RyaW5nKCIiKTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGlucC5m
aWxlcy5sZW5ndGg7ICsraSkKKyAgICB7CisgICAgICAgIG5hbWUgPSBpbnAuZmlsZXMuaXRlbShp
KS5uYW1lOworICAgICAgICBpZiAoYWxsZmlsZXMubGVuZ3RoID09IDApCisgICAgICAgICAgICBh
bGxmaWxlcyA9IG5hbWU7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGFsbGZpbGVzID0gYWxs
ZmlsZXMgKyAiLCIgKyBuYW1lOworICAgIH0KKyAgICBkb2N1bWVudC50aXRsZSA9IGFsbGZpbGVz
OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVu
bmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5jcHAK
aW5kZXggZDkzODVlOC4uMzFmYmQ3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3F0L1F0RGlhbG9nUnVubmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvUXREaWFsb2dSdW5uZXIuY3BwCkBAIC0xNjMsMjUgKzE2MywzNSBAQCBwcml2YXRlOgogY2xh
c3MgRmlsZVBpY2tlckNvbnRleHRPYmplY3QgOiBwdWJsaWMgUU9iamVjdCB7CiAgICAgUV9PQkpF
Q1QKICAgICBRX1BST1BFUlRZKFFTdHJpbmdMaXN0IGZpbGVMaXN0IFJFQUQgZmlsZUxpc3QgQ09O
U1RBTlQpCisgICAgUV9QUk9QRVJUWShib29sIGFsbG93TXVsdGlwbGVGaWxlcyBSRUFEIGFsbG93
TXVsdGlwbGVGaWxlcyBDT05TVEFOVCkKIAogcHVibGljOgotICAgIEZpbGVQaWNrZXJDb250ZXh0
T2JqZWN0KGNvbnN0IFFTdHJpbmdMaXN0JiBzZWxlY3RlZEZpbGVzKQorICAgIEZpbGVQaWNrZXJD
b250ZXh0T2JqZWN0KGNvbnN0IFFTdHJpbmdMaXN0JiBzZWxlY3RlZEZpbGVzLCBib29sIGFsbG93
TXVsdGlwbGUpCiAgICAgICAgIDogUU9iamVjdCgpCisgICAgICAgICwgbV9hbGxvd011bHRpcGxl
KGFsbG93TXVsdGlwbGUpCiAgICAgICAgICwgbV9maWxlTGlzdChzZWxlY3RlZEZpbGVzKQogICAg
IHsKICAgICB9CiAKICAgICBRU3RyaW5nTGlzdCBmaWxlTGlzdCgpIGNvbnN0IHsgcmV0dXJuIG1f
ZmlsZUxpc3Q7IH0KKyAgICBib29sIGFsbG93TXVsdGlwbGVGaWxlcygpIGNvbnN0IHsgcmV0dXJu
IG1fYWxsb3dNdWx0aXBsZTt9CiAKIHB1YmxpYyBzbG90czoKICAgICB2b2lkIHJlamVjdCgpIHsg
ZW1pdCByZWplY3RlZCgpO30KLSAgICB2b2lkIGFjY2VwdChjb25zdCBRVmFyaWFudCYgcGF0aCkg
eyBlbWl0IGZpbGVTZWxlY3RlZChwYXRoLnRvU3RyaW5nTGlzdCgpKTsgfQorICAgIHZvaWQgYWNj
ZXB0KGNvbnN0IFFWYXJpYW50JiBwYXRoKSB7CisgICAgICAgIFFTdHJpbmdMaXN0IGZpbGVzUGF0
aCA9IHBhdGgudG9TdHJpbmdMaXN0KCk7CisgICAgICAgIC8vIEZvciBzaW5nbGUgZmlsZSB1cGxv
YWQsIHNlbmQgb25seSB0aGUgZmlyc3QgZWxlbWVudCBpZiB0aGVyZSBhcmUgbW9yZSB0aGFuIG9u
ZSBmaWxlIHBhdGhzCisgICAgICAgIGlmICghbV9hbGxvd011bHRpcGxlICYmIGZpbGVzUGF0aC5j
b3VudCgpID4gMSkKKyAgICAgICAgICAgIGZpbGVzUGF0aCA9IFFTdHJpbmdMaXN0KGZpbGVzUGF0
aC5hdCgwKSk7CisgICAgICAgIGVtaXQgZmlsZVNlbGVjdGVkKGZpbGVzUGF0aCk7CisgICAgfQog
CiBzaWduYWxzOgogICAgIHZvaWQgcmVqZWN0ZWQoKTsKICAgICB2b2lkIGZpbGVTZWxlY3RlZChj
b25zdCBRU3RyaW5nTGlzdCYpOwogCiBwcml2YXRlOgorICAgIGJvb2wgbV9hbGxvd011bHRpcGxl
OwogICAgIFFTdHJpbmdMaXN0IG1fZmlsZUxpc3Q7CiB9OwogCkBAIC0zMTIsOSArMzIyLDkgQEAg
Ym9vbCBRdERpYWxvZ1J1bm5lcjo6aW5pdEZvckNlcnRpZmljYXRlVmVyaWZpY2F0aW9uKFFEZWNs
YXJhdGl2ZUNvbXBvbmVudCogY29tcG8KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBRdERp
YWxvZ1J1bm5lcjo6aW5pdEZvckZpbGVQaWNrZXIoUURlY2xhcmF0aXZlQ29tcG9uZW50KiBjb21w
b25lbnQsIFFRdWlja0l0ZW0qIGRpYWxvZ1BhcmVudCwgY29uc3QgUVN0cmluZ0xpc3QmIHNlbGVj
dGVkRmlsZXMpCitib29sIFF0RGlhbG9nUnVubmVyOjppbml0Rm9yRmlsZVBpY2tlcihRRGVjbGFy
YXRpdmVDb21wb25lbnQqIGNvbXBvbmVudCwgUVF1aWNrSXRlbSogZGlhbG9nUGFyZW50LCBjb25z
dCBRU3RyaW5nTGlzdCYgc2VsZWN0ZWRGaWxlcywgYm9vbCBhbGxvd011bHRpcGxlKQogewotICAg
IEZpbGVQaWNrZXJDb250ZXh0T2JqZWN0KiBjb250ZXh0T2JqZWN0ID0gbmV3IEZpbGVQaWNrZXJD
b250ZXh0T2JqZWN0KHNlbGVjdGVkRmlsZXMpOworICAgIEZpbGVQaWNrZXJDb250ZXh0T2JqZWN0
KiBjb250ZXh0T2JqZWN0ID0gbmV3IEZpbGVQaWNrZXJDb250ZXh0T2JqZWN0KHNlbGVjdGVkRmls
ZXMsIGFsbG93TXVsdGlwbGUpOwogICAgIGlmICghY3JlYXRlRGlhbG9nKGNvbXBvbmVudCwgZGlh
bG9nUGFyZW50LCBjb250ZXh0T2JqZWN0KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5oCmluZGV4IDBlNTg0YWEu
LjlhMTg2YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdERpYWxv
Z1J1bm5lci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5l
ci5oCkBAIC00Miw4ICs0Miw4IEBAIHB1YmxpYzoKICAgICBib29sIGluaXRGb3JQcm9tcHQoUURl
Y2xhcmF0aXZlQ29tcG9uZW50KiwgUVF1aWNrSXRlbSogZGlhbG9nUGFyZW50LCBjb25zdCBRU3Ry
aW5nJiBtZXNzYWdlLCBjb25zdCBRU3RyaW5nJiBkZWZhdWx0VmFsdWUpOwogICAgIGJvb2wgaW5p
dEZvckF1dGhlbnRpY2F0aW9uKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCosIFFRdWlja0l0ZW0qIGRp
YWxvZ1BhcmVudCwgY29uc3QgUVN0cmluZyYgaG9zdG5hbWUsIGNvbnN0IFFTdHJpbmcmIHJlYWxt
LCBjb25zdCBRU3RyaW5nJiBwcmVmaWxsZWRVc2VybmFtZSk7CiAgICAgYm9vbCBpbml0Rm9yQ2Vy
dGlmaWNhdGVWZXJpZmljYXRpb24oUURlY2xhcmF0aXZlQ29tcG9uZW50KiwgUVF1aWNrSXRlbSos
IGNvbnN0IFFTdHJpbmcmIGhvc3RuYW1lKTsKLSAgICBib29sIGluaXRGb3JQcm94eUF1dGhlbnRp
Y2F0aW9uKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCosIFFRdWlja0l0ZW0qLCBjb25zdCBRU3RyaW5n
JiBob3N0bmFtZSwgdWludDE2X3QgcG9ydCwgY29uc3QgUVN0cmluZyYgcHJlZmlsbGVkVXNlcm5h
bWUpOwotICAgIGJvb2wgaW5pdEZvckZpbGVQaWNrZXIoUURlY2xhcmF0aXZlQ29tcG9uZW50Kiwg
UVF1aWNrSXRlbSosIGNvbnN0IFFTdHJpbmdMaXN0JiBzZWxlY3RlZEZpbGVzKTsKKyAgICBib29s
IGluaXRGb3JQcm94eUF1dGhlbnRpY2F0aW9uKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCosIFFRdWlj
a0l0ZW0qLCBjb25zdCBRU3RyaW5nJiBob3N0bmFtZSwgdWludDE2X3QgcG9ydCwgY29uc3QgUVN0
cmluZyYgcHJlZmlsbGVkVXNlcm5hbWUpOyAgICAKKyAgICBib29sIGluaXRGb3JGaWxlUGlja2Vy
KFFEZWNsYXJhdGl2ZUNvbXBvbmVudCosIFFRdWlja0l0ZW0qLCBjb25zdCBRU3RyaW5nTGlzdCYg
c2VsZWN0ZWRGaWxlcywgYm9vbCBhbGxvd011bHRpcGxlKTsKICAgICBib29sIGluaXRGb3JEYXRh
YmFzZVF1b3RhRGlhbG9nKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCosIFFRdWlja0l0ZW0qLCBjb25z
dCBRU3RyaW5nJiBkYXRhYmFzZU5hbWUsIGNvbnN0IFFTdHJpbmcmIGRpc3BsYXlOYW1lLCBXS1Nl
Y3VyaXR5T3JpZ2luUmVmLCBxdWludDY0IGN1cnJlbnRRdW90YSwgcXVpbnQ2NCBjdXJyZW50T3Jp
Z2luVXNhZ2UsIHF1aW50NjQgY3VycmVudERhdGFiYXNlVXNhZ2UsIHF1aW50NjQgZXhwZWN0ZWRV
c2FnZSk7CiAKICAgICBRUXVpY2tJdGVtKiBkaWFsb2coKSBjb25zdCB7IHJldHVybiBtX2RpYWxv
Zy5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9n
CmluZGV4IDg5MDc0ODAuLmQ5ZDkzNDcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysg
Yi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMi0wMy0yNiAgRGludSBKYWNv
YiAgPGRpbnUuamFjb2JAbm9raWEuY29tPgorCisgICAgICAgIFtRdF1bV0syXSBTdXBwb3J0IG11
bHRpLWZpbGUgdXBsb2FkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD04MTU4OQorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEhhdXNtYW5uLgorCisg
ICAgICAgIE1vZGlmaWVkIGZpbGVQaWNrZXIgdG8gc3VwcG9ydCBtdWx0aS1maWxlIHVwbG9hZC4K
KworICAgICAgICAqIE1pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnFyYzoKKyAgICAgICAgKiBN
aW5pQnJvd3Nlci9xdC9pY29ucy9jaGVja2JveF9jaGVja2VkLnBuZzogQWRkZWQuCisgICAgICAg
ICogTWluaUJyb3dzZXIvcXQvaWNvbnMvY2hlY2tib3hfdW5jaGVja2VkLnBuZzogQWRkZWQuCisg
ICAgICAgICogTWluaUJyb3dzZXIvcXQvanMvTXVsdGlTZWxlY3QuanM6IEFkZGVkLgorICAgICAg
ICAodmFsdWVzKToKKyAgICAgICAgKGlzU2VsZWN0ZWQpOgorICAgICAgICAocmVtb3ZlVmFsdWUp
OgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L3FtbC9DaGVja0JveC5xbWw6IEFkZGVkLgorICAg
ICAgICAqIE1pbmlCcm93c2VyL3F0L3FtbC9GaWxlUGlja2VyLnFtbDoKKwogMjAxMi0wMy0yNiAg
TGVvIFlhbmcgIDxsZW8ueWFuZ0B0b3JjaG1vYmlsZS5jb20uY24+CiAKICAgICAgICAgW0JsYWNr
QmVycnldIFNrZWxldG9uIGNvZGUgb2YgQXN5bmNGaWxlU3lzdGVtQmxhY2tCZXJyeS5jcHAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnFyYyBiL1Rvb2xzL01p
bmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnFyYwppbmRleCBlODExMzJhLi5iNTQ5MGJlIDEwMDY0
NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5xcmMKKysrIGIvVG9vbHMv
TWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucXJjCkBAIC0xLDUgKzEsNyBAQAogPFJDQz4KICAg
ICA8cXJlc291cmNlIHByZWZpeD0iLyI+CisgICAgICAgIDxmaWxlPmljb25zL2NoZWNrYm94X2No
ZWNrZWQucG5nPC9maWxlPgorICAgICAgICA8ZmlsZT5pY29ucy9jaGVja2JveF91bmNoZWNrZWQu
cG5nPC9maWxlPgogICAgICAgICA8ZmlsZT5pY29ucy9mYXZpY29uLnBuZzwvZmlsZT4KICAgICAg
ICAgPGZpbGU+aWNvbnMvZm9sZGVyLnBuZzwvZmlsZT4KICAgICAgICAgPGZpbGU+aWNvbnMvaW5m
by5wbmc8L2ZpbGU+CkBAIC0xMiw5ICsxNCwxMSBAQAogICAgICAgICA8ZmlsZT5pY29ucy90b3Vj
aC5wbmc8L2ZpbGU+CiAgICAgICAgIDxmaWxlPmljb25zL3RvdWNocG9pbnQucG5nPC9maWxlPgog
ICAgICAgICA8ZmlsZT5pY29ucy91cC5wbmc8L2ZpbGU+CisgICAgICAgIDxmaWxlPmpzL011bHRp
U2VsZWN0LmpzPC9maWxlPgogICAgICAgICA8ZmlsZT5xbWwvQWxlcnREaWFsb2cucW1sPC9maWxl
PgogICAgICAgICA8ZmlsZT5xbWwvQXV0aGVudGljYXRpb25EaWFsb2cucW1sPC9maWxlPgogICAg
ICAgICA8ZmlsZT5xbWwvQnJvd3NlcldpbmRvdy5xbWw8L2ZpbGU+CisgICAgICAgIDxmaWxlPnFt
bC9DaGVja0JveC5xbWw8L2ZpbGU+CiAgICAgICAgIDxmaWxlPnFtbC9Db25maXJtRGlhbG9nLnFt
bDwvZmlsZT4KICAgICAgICAgPGZpbGU+cW1sL0RpYWxvZy5xbWw8L2ZpbGU+CiAgICAgICAgIDxm
aWxlPnFtbC9EaWFsb2dCdXR0b24ucW1sPC9maWxlPgpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJy
b3dzZXIvcXQvaWNvbnMvY2hlY2tib3hfY2hlY2tlZC5wbmcgYi9Ub29scy9NaW5pQnJvd3Nlci9x
dC9pY29ucy9jaGVja2JveF9jaGVja2VkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYmYwNmY2NTEzZDZiMTE3
MjEyOTBjM2YwZjNiZTViZDJkMTU3ZTg0CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAyNjMKemNt
ZUFTQE4/KG9sSHlgdVZCcSFpYTB2cEBBazR1NkJ5VCpAYDN8SSppayY8fEk1PE16eFBiJkVPSSN5
TGc3ZWMjCnokYGd4SDhPcURjXiltQ2FpPDEpelF1WHFTKHIzVDNrcGUyMz9kanFlQjVecjZWQDx9
Tk0kcz8+bFlocnE0K2VjIwp6K3lCT34/WXI5SHJGSkVNQCo1NW9lX25SU2NCP0A1bUE1YX4rRHJl
Pnp0Z0V3biMmZmo9PTBURV5XT0xWVXcpX2gKekdWQW9Ie2t1UUBAMlphSF5aI3x9JE51an1rQUxI
ckVtLS11ZC1neEdmQTUpSno0LUJDJi1aJWZObXR0WWU2MVp5CnpVaVoodz58bk9ZPDhPWE0jajNa
YlUkUDF1U01ZVEZeTDNBU194XiVid3NRdDczeyZzQHhSNmt2WTYpfkVnUXUmWApKJVF+bG9DSUJl
eWJsVSZgCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJv
d3Nlci9xdC9pY29ucy9jaGVja2JveF91bmNoZWNrZWQucG5nIGIvVG9vbHMvTWluaUJyb3dzZXIv
cXQvaWNvbnMvY2hlY2tib3hfdW5jaGVja2VkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZjU0NjU1ODJhOWEy
ZTZhODVhZGJlMDdhNGEyZGE1ZTgwYjhiMDE3CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxNTkK
emNtZUFTQE4/KG9sSHlgdVZCcSFpYTB2cEBBazR1NkJ5VCpAYDN8SSppayY8fEk1PE16eFBiJkVP
SSN5TGc3ZWMjCnokYGd4SDhPcURjXiltQ2FpPDEpelF1WHFTKHIzVDNrcGUwKl9IPU8haytfX2t1
X29oQnFpQzNjJC1tPlEyWk8kPQp6P1NKRmdfRmU3cFFvRThyYDNgT0pSJjVoUjxtdy1DQHk8ISlW
RUVlcUd2dXU3ZVZ9ZHoyMldRJW12djRGTyNzU0IKQkd1SHFCCgpsaXRlcmFsIDAKSGNtVj9kMDAw
MDEKCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9qcy9NdWx0aVNlbGVjdC5qcyBi
L1Rvb2xzL01pbmlCcm93c2VyL3F0L2pzL011bHRpU2VsZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjllODdmNWQKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5p
QnJvd3Nlci9xdC9qcy9NdWx0aVNlbGVjdC5qcwpAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEyIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgt
aWVzKQorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlz
IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcg
d2l0aCB0aGlzIHByb2dyYW07IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAq
CisgKi8KKworCit2YXIgdmFsdWVzID0gW10KKworZnVuY3Rpb24gc2VsZWN0ZWRWYWx1ZXMoKSB7
CisgICAgcmV0dXJuIHZhbHVlcworfQorCitmdW5jdGlvbiBpc1NlbGVjdGVkKHZhbHVlKSB7Cisg
ICAgcmV0dXJuICh2YWx1ZXMuaW5kZXhPZih2YWx1ZSkgIT0gLTEpCit9CisKK2Z1bmN0aW9uIGFk
ZFZhbHVlKHZhbHVlKSB7CisgICAgaWYgKHZhbHVlcy5pbmRleE9mKHZhbHVlKSAhPSAtMSkKKyAg
ICAgICAgcmV0dXJuCisgICAgdmFsdWVzLnB1c2godmFsdWUpCit9CisKK2Z1bmN0aW9uIHJlbW92
ZVZhbHVlKHZhbHVlKSB7CisgICAgdmFyIGluZGV4ID0gdmFsdWVzLmluZGV4T2YodmFsdWUpCisK
KyAgICBpZiAoaW5kZXggPT0gLTEpCisgICAgICAgIHJldHVybgorICAgIHZhbHVlcy5zcGxpY2Uo
aW5kZXgsIDEpCit9CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9xbWwvQ2hlY2tC
b3gucW1sIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvcW1sL0NoZWNrQm94LnFtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODViODExCi0tLSAvZGV2L251bGwKKysrIGIvVG9v
bHMvTWluaUJyb3dzZXIvcXQvcW1sL0NoZWNrQm94LnFtbApAQCAtMCwwICsxLDM1IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEyIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lk
aWFyeSgtaWVzKQorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0
aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisg
KiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp
bXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2Vp
dmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICog
YWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5v
dCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVT
QS4KKyAqCisgKi8KKworaW1wb3J0IFF0UXVpY2sgMi4wCisKK0l0ZW0geworICAgIGlkOiBjaGVj
a2JveAorICAgIHdpZHRoOiA1MAorICAgIGhlaWdodDogcGFyZW50LmhlaWdodAorICAgIHByb3Bl
cnR5IGJvb2wgY2hlY2tlZAorCisgICAgSW1hZ2UgeworICAgICAgICB3aWR0aDogMjQKKyAgICAg
ICAgaGVpZ2h0OiAyNAorICAgICAgICBzb3VyY2U6IHBhcmVudC5jaGVja2VkID8gJy4uL2ljb25z
L2NoZWNrYm94X2NoZWNrZWQucG5nJyA6ICcuLi9pY29ucy9jaGVja2JveF91bmNoZWNrZWQucG5n
JworICAgICAgICBhbmNob3JzLnZlcnRpY2FsQ2VudGVyOiBwYXJlbnQudmVydGljYWxDZW50ZXIK
KyAgICB9Cit9CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9xbWwvRmlsZVBpY2tl
ci5xbWwgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9xbWwvRmlsZVBpY2tlci5xbWwKaW5kZXggNWJl
Yjg2YS4uMjIyZDRjMyAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvcXQvcW1sL0ZpbGVQ
aWNrZXIucW1sCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L3FtbC9GaWxlUGlja2VyLnFtbApA
QCAtMjAsNiArMjAsNyBAQAogCiBpbXBvcnQgUXRRdWljayAyLjAKIGltcG9ydCBRdC5sYWJzLmZv
bGRlcmxpc3Rtb2RlbCAxLjAKK2ltcG9ydCAiLi4vanMvTXVsdGlTZWxlY3QuanMiIGFzIE11bHRp
U2VsZWN0CiAKIFJlY3RhbmdsZSB7CiAgICAgaWQ6IGZpbGVQaWNrZXIKQEAgLTEwOSw4ICsxMTAs
MTkgQEAgUmVjdGFuZ2xlIHsKICAgICAgICAgICAgICAgICBmdW5jdGlvbiBzZWxlY3RlZCgpIHsK
ICAgICAgICAgICAgICAgICAgICAgaWYgKGZvbGRlcnMuaXNGb2xkZXIoaW5kZXgpKQogICAgICAg
ICAgICAgICAgICAgICAgICAgb3BlbkZvbGRlcihmaWxlUGF0aCk7Ci0gICAgICAgICAgICAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVNb2RlbC5hY2NlcHQoZmlsZVBh
dGgpOworICAgICAgICAgICAgICAgICAgICBlbHNlIHsKKworICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgKGZpbGVNb2RlbC5hbGxvd011bHRpcGxlRmlsZXMpIHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjaGVja2JveC5jaGVja2VkID0gIWNoZWNrYm94LmNoZWNrZWQKKworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGVja2JveC5jaGVja2VkKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBNdWx0aVNlbGVjdC5hZGRWYWx1ZShmaWxlUGF0aCkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIE11bHRpU2VsZWN0LnJlbW92ZVZhbHVlKGZpbGVQYXRoKQorICAgICAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGZpbGVNb2RlbC5hY2NlcHQoZmlsZVBhdGgpCisgICAgICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwCkBAIC0x
MTgsNyArMTMwLDcgQEAgUmVjdGFuZ2xlIHsKICAgICAgICAgICAgICAgICBjb2xvcjogZm9sZGVy
cy5pc0ZvbGRlcihpbmRleCkgPyAibGlnaHRncmF5IjogImRhcmtncmF5IgogCiAgICAgICAgICAg
ICAgICAgSXRlbSB7Ci0gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0ODsKKyAgICAgICAgICAg
ICAgICAgICAgd2lkdGg6IDUwCiAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDgKICAgICAg
ICAgICAgICAgICAgICAgSW1hZ2UgewogICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlOiAi
Li4vaWNvbnMvZm9sZGVyLnBuZyIKQEAgLTEyOCw5ICsxNDAsMjIgQEAgUmVjdGFuZ2xlIHsKICAg
ICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBUZXh0IHsKKyAgICAgICAgICAgICAg
ICAgICAgaWQ6IGZpbGVOYW1lVGV4dAogICAgICAgICAgICAgICAgICAgICBhbmNob3JzLmNlbnRl
ckluOiBwYXJlbnQKLSAgICAgICAgICAgICAgICAgICAgYW5jaG9ycy5sZWZ0TWFyZ2luOiA1MAor
ICAgICAgICAgICAgICAgICAgICBhbmNob3JzLmxlZnRNYXJnaW46IDIwCisgICAgICAgICAgICAg
ICAgICAgIHdpZHRoOiAzMDAKICAgICAgICAgICAgICAgICAgICAgdGV4dDogZmlsZU5hbWUKKyAg
ICAgICAgICAgICAgICAgICAgZWxpZGU6IFRleHQuRWxpZGVMZWZ0OworICAgICAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgICAgIENoZWNrQm94IHsKKyAgICAgICAgICAgICAgICAgICAgaWQ6
IGNoZWNrYm94CisKKyAgICAgICAgICAgICAgICAgICAgYW5jaG9ycy5yaWdodDogcGFyZW50LnJp
Z2h0CisgICAgICAgICAgICAgICAgICAgIGFuY2hvcnMudmVydGljYWxDZW50ZXI6IHBhcmVudC52
ZXJ0aWNhbENlbnRlcgorCisgICAgICAgICAgICAgICAgICAgIGNoZWNrZWQ6IE11bHRpU2VsZWN0
LmlzU2VsZWN0ZWQoZmlsZVBhdGgpCisgICAgICAgICAgICAgICAgICAgIHZpc2libGU6IGZpbGVN
b2RlbC5hbGxvd011bHRpcGxlRmlsZXMgJiYgIWZvbGRlcnMuaXNGb2xkZXIoaW5kZXgpCiAgICAg
ICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgTW91c2VBcmVhIHsKQEAgLTE2MCwxNSAr
MTg1LDI1IEBAIFJlY3RhbmdsZSB7CiAgICAgICAgICAgICByaWdodDogcGFyZW50LnJpZ2h0CiAg
ICAgICAgIH0KIAotICAgICAgICBEaWFsb2dCdXR0b24gewotICAgICAgICAgICAgaWQ6IGNhbmNl
bAotICAgICAgICAgICAgdGV4dDogIkNhbmNlbCIKLSAgICAgICAgICAgIGFuY2hvcnMgewotICAg
ICAgICAgICAgICAgIGhvcml6b250YWxDZW50ZXI6IHBhcmVudC5ob3Jpem9udGFsQ2VudGVyOwot
ICAgICAgICAgICAgICAgIHZlcnRpY2FsQ2VudGVyOiAgcGFyZW50LnZlcnRpY2FsQ2VudGVyCisg
ICAgICAgIFJvdyB7CisgICAgICAgICAgICBpZDogYnV0dG9uUm93CisgICAgICAgICAgICBzcGFj
aW5nOiAxMAorICAgICAgICAgICAgYW5jaG9ycy5ob3Jpem9udGFsQ2VudGVyOiBwYXJlbnQuaG9y
aXpvbnRhbENlbnRlcgorICAgICAgICAgICAgYW5jaG9ycy52ZXJ0aWNhbENlbnRlcjogcGFyZW50
LnZlcnRpY2FsQ2VudGVyCisKKyAgICAgICAgICAgIERpYWxvZ0J1dHRvbiB7CisgICAgICAgICAg
ICAgICAgaWQ6IGNhbmNlbAorICAgICAgICAgICAgICAgIHRleHQ6ICJDYW5jZWwiCisgICAgICAg
ICAgICAgICAgb25DbGlja2VkOiBmaWxlTW9kZWwucmVqZWN0KCkKICAgICAgICAgICAgIH0KIAot
ICAgICAgICAgICAgb25DbGlja2VkOiBmaWxlTW9kZWwucmVqZWN0KCkKKyAgICAgICAgICAgIERp
YWxvZ0J1dHRvbiB7CisgICAgICAgICAgICAgICAgaWQ6IGFjY2VwdAorICAgICAgICAgICAgICAg
IHRleHQ6ICJPayIKKyAgICAgICAgICAgICAgICB2aXNpYmxlOiBmaWxlTW9kZWwuYWxsb3dNdWx0
aXBsZUZpbGVzCisgICAgICAgICAgICAgICAgb25DbGlja2VkOgorICAgICAgICAgICAgICAgICAg
ICBmaWxlTW9kZWwuYWNjZXB0KE11bHRpU2VsZWN0LnNlbGVjdGVkVmFsdWVzKCkpOworICAgICAg
ICAgICAgfQogICAgICAgICB9CiAgICAgfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133864</attachid>
            <date>2012-03-26 12:27:29 -0700</date>
            <delta_ts>2012-03-26 12:32:36 -0700</delta_ts>
            <desc>Re-based patch</desc>
            <filename>81589_commit.patch</filename>
            <type>text/plain</type>
            <size>21425</size>
            <attacher name="Dinu Jacob">dinu.jacob</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBhNjViOTViLi5kYzk4MWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEg
QEAKKzIwMTItMDMtMjYgIERpbnUgSmFjb2IgIDxkaW51LmphY29iQG5va2lhLmNvbT4KKworICAg
ICAgICBbUXRdW1dLMl0gU3VwcG9ydCBtdWx0aS1maWxlIHVwbG9hZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE1ODkKKworICAgICAgICBSZXZpZXdl
ZCBieSBTaW1vbiBIYXVzbWFubi4KKworICAgICAgICBBZGRlZCAnYWxsb3dNdXRpcGxlRmlsZXMn
IHByb3BlcnR5IHRvIGZpbGVQaWNrZXIgY29udGV4dCBwcm9wZXJ0eSB0byBpbmRpY2F0ZSB3aGV0
aGVyIHRvIGFsbG93CisgICAgICAgIG11bHRpcGxlIGZpbGUgc2VsZWN0aW9ucy4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHA6CisgICAgICAgIChRUXVpY2tX
ZWJWaWV3UHJpdmF0ZTo6Y2hvb3NlRmlsZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQv
dGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yLnBybzoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci90c3RfbXVsdGlGaWxlVXBsb2Fk
LnFtbDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9E
ZXNrdG9wQmVoYXZpb3IvdHN0X3NpbmdsZUZpbGVVcGxvYWQucW1sOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvY29tbW9uL211bHRpZmlsZXVwbG9hZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1vbi9z
aW5nbGVmaWxldXBsb2FkLmh0bWw6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9x
bWx0ZXN0cy9jb21tb24vdGl0bGV1cGRhdGUuanM6IEFkZGVkLgorICAgICAgICAodXBkYXRlVGl0
bGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5jcHA6CisgICAgICAg
IChGaWxlUGlja2VyQ29udGV4dE9iamVjdCk6CisgICAgICAgIChGaWxlUGlja2VyQ29udGV4dE9i
amVjdDo6RmlsZVBpY2tlckNvbnRleHRPYmplY3QpOgorICAgICAgICAoRmlsZVBpY2tlckNvbnRl
eHRPYmplY3Q6OmFsbG93TXVsdGlwbGVGaWxlcyk6CisgICAgICAgIChGaWxlUGlja2VyQ29udGV4
dE9iamVjdDo6YWNjZXB0KToKKyAgICAgICAgKFF0RGlhbG9nUnVubmVyOjppbml0Rm9yRmlsZVBp
Y2tlcik6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVubmVyLmg6CisgICAgICAg
IChRdERpYWxvZ1J1bm5lcik6CisKIDIwMTItMDMtMjYgIFBpZXJyZSBSb3NzaSAgPHBpZXJyZS5y
b3NzaUBub2tpYS5jb20+CiAKICAgICAgICAgW1F0XVtXSzJdIGRlZmF1bHQgZmFtaWxpZXMgYXJl
IG5vdCBzZXQgaW4gUVdlYlByZWZlcmVuY2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcAppbmRleCAwMzEyNGQ5Li5mY2U0M2FkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAK
QEAgLTM2NCwxMSArMzY0LDExIEBAIHZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmNob29zZUZp
bGVzKFdLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXJSZWYsCiB7CiAgICAgUV9R
KFFRdWlja1dlYlZpZXcpOwogCi0gICAgaWYgKCFmaWxlUGlja2VyIHx8IHR5cGUgPT0gUXRXZWJQ
YWdlVUlDbGllbnQ6Ok11bHRpcGxlRmlsZXNTZWxlY3Rpb24pCisgICAgaWYgKCFmaWxlUGlja2Vy
KQogICAgICAgICByZXR1cm47CiAKICAgICBRdERpYWxvZ1J1bm5lciBkaWFsb2dSdW5uZXI7Ci0g
ICAgaWYgKCFkaWFsb2dSdW5uZXIuaW5pdEZvckZpbGVQaWNrZXIoZmlsZVBpY2tlciwgcSwgc2Vs
ZWN0ZWRGaWxlTmFtZXMpKQorICAgIGlmICghZGlhbG9nUnVubmVyLmluaXRGb3JGaWxlUGlja2Vy
KGZpbGVQaWNrZXIsIHEsIHNlbGVjdGVkRmlsZU5hbWVzLCAoYm9vbCl0eXBlKSkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgZXhlY0RpYWxvZ1J1bm5lcihkaWFsb2dSdW5uZXIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9EZXNrdG9w
QmVoYXZpb3IucHJvIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0
ZXN0cy9EZXNrdG9wQmVoYXZpb3IucHJvCmluZGV4IDVjZjQ2Y2IuLjU5YTNjYTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVza3Rv
cEJlaGF2aW9yLnBybworKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3Rz
L3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci5wcm8KQEAgLTIwLDQgKzIwLDUgQEAgT1RIRVJfRklM
RVMgKz0gXAogICAgIERlc2t0b3BCZWhhdmlvci90c3RfbG9hZEh0bWwucW1sIFwKICAgICBEZXNr
dG9wQmVoYXZpb3IvdHN0X21lc3NhZ2luZy5xbWwgXAogICAgIERlc2t0b3BCZWhhdmlvci90c3Rf
bmF2aWdhdGlvblJlcXVlc3RlZC5xbWwgXAotICAgIERlc2t0b3BCZWhhdmlvci90c3Rfc2luZ2xl
ZmlsZXVwbG9hZC5xbWwKKyAgICBEZXNrdG9wQmVoYXZpb3IvdHN0X3NpbmdsZUZpbGV1cGxvYWQu
cW1sIFwKKyAgICBEZXNrdG9wQmVoYXZpb3IvdHN0X211bHRpRmlsZXVwbG9hZC5xbWwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVz
a3RvcEJlaGF2aW9yL3RzdF9tdWx0aUZpbGVVcGxvYWQucW1sIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9EZXNrdG9wQmVoYXZpb3IvdHN0X211bHRpRmls
ZVVwbG9hZC5xbWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQzZjY1Ngot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMv
cW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yL3RzdF9tdWx0aUZpbGVVcGxvYWQucW1sCkBAIC0wLDAg
KzEsNjYgQEAKK2ltcG9ydCBRdFF1aWNrIDIuMAoraW1wb3J0IFF0VGVzdCAxLjAKK2ltcG9ydCBR
dFdlYktpdCAzLjAKK2ltcG9ydCBRdFdlYktpdC5leHBlcmltZW50YWwgMS4wCitpbXBvcnQgIi4u
L2NvbW1vbiIKKworLy8gRklYTUU6IEFkZGVkIHRvIERlc2t0b3AgdGVzdHMgYmVjYXVzZSB3ZSB3
YW50IHRvIGhhdmUgbW91c2VDbGljaygpIHRvIG9wZW4gdGhlIDxpbnB1dD4gdGFnLiBXZSBjYW4g
bW92ZSBpdCBiYWNrCisvLyB3aGVuIFRlc3RDYXNlIHN0YXJ0cyBzdXBwb3J0aW5nIHRvdWNoIGV2
ZW50cywgc2VlIGh0dHBzOi8vYnVncmVwb3J0cy5xdC5ub2tpYS5jb20vYnJvd3NlL1FUQlVHLTIz
MDgzLgorVGVzdFdlYlZpZXcgeworICAgIGlkOiB3ZWJWaWV3CisKKyAgICB3aWR0aDogNDAwCisg
ICAgaGVpZ2h0OiA0MDAKKworICAgIHByb3BlcnR5IGJvb2wgc2VsZWN0RmlsZQorCisgICAgZXhw
ZXJpbWVudGFsLmZpbGVQaWNrZXI6IEl0ZW0geworICAgICAgICBUaW1lciB7CisgICAgICAgICAg
ICBydW5uaW5nOiB0cnVlCisgICAgICAgICAgICBpbnRlcnZhbDogMQorICAgICAgICAgICAgb25U
cmlnZ2VyZWQ6IHsKKyAgICAgICAgICAgICAgICB2YXIgc2VsZWN0ZWRGaWxlcyA9IFsiZmlsZW5h
bWUxIiwgImZpbGVuYW1lMiJdCisgICAgICAgICAgICAgICAgaWYgKHNlbGVjdEZpbGUpCisgICAg
ICAgICAgICAgICAgICAgIG1vZGVsLmFjY2VwdChzZWxlY3RlZEZpbGVzKQorICAgICAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgbW9kZWwucmVqZWN0KCk7CisgICAgICAgICAg
ICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBTaWduYWxTcHkgeworICAgICAgICBpZDogdGl0
bGVTcHkKKyAgICAgICAgdGFyZ2V0OiB3ZWJWaWV3CisgICAgICAgIHNpZ25hbE5hbWU6ICJ0aXRs
ZUNoYW5nZWQiCisgICAgfQorCisgICAgVGVzdENhc2UgeworICAgICAgICBpZDogdGVzdAorICAg
ICAgICBuYW1lOiAiV2ViVmlld011bHRpRmlsZVBpY2tlciIKKyAgICAgICAgd2hlbjogd2luZG93
U2hvd24KKworICAgICAgICBmdW5jdGlvbiBpbml0KCkgeworICAgICAgICAgICAgd2ViVmlldy51
cmwgPSBRdC5yZXNvbHZlZFVybCgiLi4vY29tbW9uL211bHRpZmlsZXVwbG9hZC5odG1sIikKKyAg
ICAgICAgICAgIHZlcmlmeSh3ZWJWaWV3LndhaXRGb3JMb2FkU3VjY2VlZGVkKCkpCisgICAgICAg
ICAgICB0aXRsZVNweS5jbGVhcigpCisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBvcGVu
SXRlbVNlbGVjdG9yKCkgeworICAgICAgICAgICAgbW91c2VDbGljayh3ZWJWaWV3LCAxNSwgMTUs
IFF0LkxlZnRCdXR0b24pCisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiB0ZXN0X2FjY2Vw
dCgpIHsKKyAgICAgICAgICAgIHdlYlZpZXcuc2VsZWN0RmlsZSA9IHRydWU7CisgICAgICAgICAg
ICBvcGVuSXRlbVNlbGVjdG9yKCkKKyAgICAgICAgICAgIHRpdGxlU3B5LndhaXQoKQorICAgICAg
ICAgICAgY29tcGFyZSh3ZWJWaWV3LnRpdGxlLCAiZmlsZW5hbWUxLGZpbGVuYW1lMiIpCisgICAg
ICAgIH0KKworICAgICAgICBmdW5jdGlvbiB0ZXN0X3JlamVjdCgpIHsKKyAgICAgICAgICAgIHZh
ciBvbGRUaXRsZSA9IHdlYlZpZXcudGl0bGUKKyAgICAgICAgICAgIHdlYlZpZXcuc2VsZWN0Rmls
ZSA9IGZhbHNlOworICAgICAgICAgICAgb3Blbkl0ZW1TZWxlY3RvcigpCisgICAgICAgICAgICBj
b21wYXJlKHdlYlZpZXcudGl0bGUsIG9sZFRpdGxlKQorICAgICAgICB9CisgICAgfQorfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9E
ZXNrdG9wQmVoYXZpb3IvdHN0X3NpbmdsZUZpbGVVcGxvYWQucW1sIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9EZXNrdG9wQmVoYXZpb3IvdHN0X3Npbmds
ZUZpbGVVcGxvYWQucW1sCmluZGV4IGNlNDk1ZWEuLjdjYTllZmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9y
L3RzdF9zaW5nbGVGaWxlVXBsb2FkLnFtbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci90c3Rfc2luZ2xlRmlsZVVwbG9h
ZC5xbWwKQEAgLTEzLDE0ICsxMywyMCBAQCBUZXN0V2ViVmlldyB7CiAgICAgaGVpZ2h0OiA0MDAK
IAogICAgIHByb3BlcnR5IGJvb2wgc2VsZWN0RmlsZQorICAgIHByb3BlcnR5IGJvb2wgYWNjZXB0
TXVsdGlwbGU6IGZhbHNlCiAKICAgICBleHBlcmltZW50YWwuZmlsZVBpY2tlcjogSXRlbSB7CiAg
ICAgICAgIFRpbWVyIHsKICAgICAgICAgICAgIHJ1bm5pbmc6IHRydWUKICAgICAgICAgICAgIGlu
dGVydmFsOiAxCiAgICAgICAgICAgICBvblRyaWdnZXJlZDogewotICAgICAgICAgICAgICAgIGlm
IChzZWxlY3RGaWxlKQotICAgICAgICAgICAgICAgICAgICBtb2RlbC5hY2NlcHQoImFjY2VwdGVk
ZmlsZW5hbWUiKTsKKyAgICAgICAgICAgICAgICB2YXIgc2VsZWN0ZWRGaWxlcyA9IFsiZmlsZW5h
bWUxIiwgImZpbGVuYW1lMiJdCisgICAgICAgICAgICAgICAgaWYgKHNlbGVjdEZpbGUpIHsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKGFjY2VwdE11bHRpcGxlKQorICAgICAgICAgICAgICAgICAg
ICAgICAgbW9kZWwuYWNjZXB0KHNlbGVjdGVkRmlsZXMpCisgICAgICAgICAgICAgICAgICAgIGVs
c2UKKyAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsLmFjY2VwdCgiYWNjZXB0ZWRmaWxlbmFt
ZSIpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAg
ICAgICAgICAgIG1vZGVsLnJlamVjdCgpOwogICAgICAgICAgICAgfQpAQCAtNTUsNiArNjEsMTQg
QEAgVGVzdFdlYlZpZXcgewogICAgICAgICAgICAgY29tcGFyZSh3ZWJWaWV3LnRpdGxlLCAiYWNj
ZXB0ZWRmaWxlbmFtZSIpCiAgICAgICAgIH0KIAorICAgICAgICBmdW5jdGlvbiB0ZXN0X211bHRp
cGxlKCkgeworICAgICAgICAgICAgd2ViVmlldy5zZWxlY3RGaWxlID0gdHJ1ZTsKKyAgICAgICAg
ICAgIHdlYlZpZXcuYWNjZXB0TXVsdGlwbGUgPSB0cnVlOworICAgICAgICAgICAgb3Blbkl0ZW1T
ZWxlY3RvcigpCisgICAgICAgICAgICB0aXRsZVNweS53YWl0KCkKKyAgICAgICAgICAgIGNvbXBh
cmUod2ViVmlldy50aXRsZSwgImZpbGVuYW1lMSIpCisgICAgICAgIH0KKwogICAgICAgICBmdW5j
dGlvbiB0ZXN0X3JlamVjdCgpIHsKICAgICAgICAgICAgIHZhciBvbGRUaXRsZSA9IHdlYlZpZXcu
dGl0bGUKICAgICAgICAgICAgIHdlYlZpZXcuc2VsZWN0RmlsZSA9IGZhbHNlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9jb21tb24v
bXVsdGlmaWxldXBsb2FkLmh0bWwgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rl
c3RzL3FtbHRlc3RzL2NvbW1vbi9tdWx0aWZpbGV1cGxvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi43NzAxZWQ0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9jb21tb24vbXVsdGlmaWxldXBs
b2FkLmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBpbml0aWFsLXNjYWxlPTEiPgorPHRpdGxlPiBNdXRsaS1maWxlIFVwbG9hZCA8L3Rp
dGxlPgorPHNjcmlwdCBzcmMgPSAiLi90aXRsZXVwZGF0ZS5qcyI+Cis8L3NjcmlwdD4KKworPGJv
ZHk+Cis8aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgaWQ9InVwZmlsZSIgb25jaGFuZ2U9
InVwZGF0ZVRpdGxlKCkiIG11bHRpcGxlLz4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvY29tbW9uL3Np
bmdsZWZpbGV1cGxvYWQuaHRtbCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVz
dHMvcW1sdGVzdHMvY29tbW9uL3NpbmdsZWZpbGV1cGxvYWQuaHRtbAppbmRleCA1ODBiOTk5Li4z
OGUzNDVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3Rz
L3FtbHRlc3RzL2NvbW1vbi9zaW5nbGVmaWxldXBsb2FkLmh0bWwKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9jb21tb24vc2luZ2xlZmlsZXVwbG9h
ZC5odG1sCkBAIC0xLDIzICsxLDggQEAKIDxodG1sPgogPGhlYWQ+CiA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgaW5pdGlhbC1zY2FsZT0xIj4KLTx0aXRsZT5ObyBmaWxlIHNlbGVjdGVkPC90aXRsZT4K
LTxzY3JpcHQ+Ci1mdW5jdGlvbiB1cGRhdGVUaXRsZSgpCi17Ci0gICAgdmFyIGlucCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ1cGZpbGUiKTsKLSAgICB2YXIgYWxsZmlsZXMgPSBuZXcgU3Ry
aW5nKCIiKTsKLSAgICB2YXIgbmFtZSA9IG5ldyBTdHJpbmcoIiIpOwotICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgaW5wLmZpbGVzLmxlbmd0aDsgKytpKQotICAgIHsKLSAgICAgICAgbmFtZSA9IGlu
cC5maWxlcy5pdGVtKGkpLm5hbWU7Ci0gICAgICAgIGlmIChhbGxmaWxlcy5sZW5ndGggPT0gMCkK
LSAgICAgICAgICAgIGFsbGZpbGVzID0gbmFtZTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAg
YWxsZmlsZXMgPSBhbGxmaWxlcyArICIsIiArIG5hbWU7Ci0gICAgfQotICAgIGRvY3VtZW50LnRp
dGxlID0gYWxsZmlsZXM7Ci19Cis8dGl0bGU+IFNpbmdsZSBGaWxlIFVwbG9hZCA8L3RpdGxlPgor
PHNjcmlwdCBzcmMgPSAiLi90aXRsZXVwZGF0ZS5qcyI+CiA8L3NjcmlwdD4KIAogPGJvZHk+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3Rz
L2NvbW1vbi90aXRsZXVwZGF0ZS5qcyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
dGVzdHMvcW1sdGVzdHMvY29tbW9uL3RpdGxldXBkYXRlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjJhNWJhYzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1vbi90aXRsZXVwZGF0ZS5qcwpA
QCAtMCwwICsxLDE1IEBACitmdW5jdGlvbiB1cGRhdGVUaXRsZSgpCit7CisgICAgdmFyIGlucCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1cGZpbGUiKTsKKyAgICB2YXIgYWxsZmlsZXMgPSBu
ZXcgU3RyaW5nKCIiKTsKKyAgICB2YXIgbmFtZSA9IG5ldyBTdHJpbmcoIiIpOworICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgaW5wLmZpbGVzLmxlbmd0aDsgKytpKQorICAgIHsKKyAgICAgICAgbmFt
ZSA9IGlucC5maWxlcy5pdGVtKGkpLm5hbWU7CisgICAgICAgIGlmIChhbGxmaWxlcy5sZW5ndGgg
PT0gMCkKKyAgICAgICAgICAgIGFsbGZpbGVzID0gbmFtZTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgYWxsZmlsZXMgPSBhbGxmaWxlcyArICIsIiArIG5hbWU7CisgICAgfQorICAgIGRvY3Vt
ZW50LnRpdGxlID0gYWxsZmlsZXM7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0
L1F0RGlhbG9nUnVubmVyLmNwcAppbmRleCBkOTM4NWU4Li4zMWZiZDc4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5jcHAKQEAgLTE2MywyNSArMTYz
LDM1IEBAIHByaXZhdGU6CiBjbGFzcyBGaWxlUGlja2VyQ29udGV4dE9iamVjdCA6IHB1YmxpYyBR
T2JqZWN0IHsKICAgICBRX09CSkVDVAogICAgIFFfUFJPUEVSVFkoUVN0cmluZ0xpc3QgZmlsZUxp
c3QgUkVBRCBmaWxlTGlzdCBDT05TVEFOVCkKKyAgICBRX1BST1BFUlRZKGJvb2wgYWxsb3dNdWx0
aXBsZUZpbGVzIFJFQUQgYWxsb3dNdWx0aXBsZUZpbGVzIENPTlNUQU5UKQogCiBwdWJsaWM6Ci0g
ICAgRmlsZVBpY2tlckNvbnRleHRPYmplY3QoY29uc3QgUVN0cmluZ0xpc3QmIHNlbGVjdGVkRmls
ZXMpCisgICAgRmlsZVBpY2tlckNvbnRleHRPYmplY3QoY29uc3QgUVN0cmluZ0xpc3QmIHNlbGVj
dGVkRmlsZXMsIGJvb2wgYWxsb3dNdWx0aXBsZSkKICAgICAgICAgOiBRT2JqZWN0KCkKKyAgICAg
ICAgLCBtX2FsbG93TXVsdGlwbGUoYWxsb3dNdWx0aXBsZSkKICAgICAgICAgLCBtX2ZpbGVMaXN0
KHNlbGVjdGVkRmlsZXMpCiAgICAgewogICAgIH0KIAogICAgIFFTdHJpbmdMaXN0IGZpbGVMaXN0
KCkgY29uc3QgeyByZXR1cm4gbV9maWxlTGlzdDsgfQorICAgIGJvb2wgYWxsb3dNdWx0aXBsZUZp
bGVzKCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd011bHRpcGxlO30KIAogcHVibGljIHNsb3RzOgog
ICAgIHZvaWQgcmVqZWN0KCkgeyBlbWl0IHJlamVjdGVkKCk7fQotICAgIHZvaWQgYWNjZXB0KGNv
bnN0IFFWYXJpYW50JiBwYXRoKSB7IGVtaXQgZmlsZVNlbGVjdGVkKHBhdGgudG9TdHJpbmdMaXN0
KCkpOyB9CisgICAgdm9pZCBhY2NlcHQoY29uc3QgUVZhcmlhbnQmIHBhdGgpIHsKKyAgICAgICAg
UVN0cmluZ0xpc3QgZmlsZXNQYXRoID0gcGF0aC50b1N0cmluZ0xpc3QoKTsKKyAgICAgICAgLy8g
Rm9yIHNpbmdsZSBmaWxlIHVwbG9hZCwgc2VuZCBvbmx5IHRoZSBmaXJzdCBlbGVtZW50IGlmIHRo
ZXJlIGFyZSBtb3JlIHRoYW4gb25lIGZpbGUgcGF0aHMKKyAgICAgICAgaWYgKCFtX2FsbG93TXVs
dGlwbGUgJiYgZmlsZXNQYXRoLmNvdW50KCkgPiAxKQorICAgICAgICAgICAgZmlsZXNQYXRoID0g
UVN0cmluZ0xpc3QoZmlsZXNQYXRoLmF0KDApKTsKKyAgICAgICAgZW1pdCBmaWxlU2VsZWN0ZWQo
ZmlsZXNQYXRoKTsKKyAgICB9CiAKIHNpZ25hbHM6CiAgICAgdm9pZCByZWplY3RlZCgpOwogICAg
IHZvaWQgZmlsZVNlbGVjdGVkKGNvbnN0IFFTdHJpbmdMaXN0Jik7CiAKIHByaXZhdGU6CisgICAg
Ym9vbCBtX2FsbG93TXVsdGlwbGU7CiAgICAgUVN0cmluZ0xpc3QgbV9maWxlTGlzdDsKIH07CiAK
QEAgLTMxMiw5ICszMjIsOSBAQCBib29sIFF0RGlhbG9nUnVubmVyOjppbml0Rm9yQ2VydGlmaWNh
dGVWZXJpZmljYXRpb24oUURlY2xhcmF0aXZlQ29tcG9uZW50KiBjb21wbwogICAgIHJldHVybiB0
cnVlOwogfQogCi1ib29sIFF0RGlhbG9nUnVubmVyOjppbml0Rm9yRmlsZVBpY2tlcihRRGVjbGFy
YXRpdmVDb21wb25lbnQqIGNvbXBvbmVudCwgUVF1aWNrSXRlbSogZGlhbG9nUGFyZW50LCBjb25z
dCBRU3RyaW5nTGlzdCYgc2VsZWN0ZWRGaWxlcykKK2Jvb2wgUXREaWFsb2dSdW5uZXI6OmluaXRG
b3JGaWxlUGlja2VyKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCogY29tcG9uZW50LCBRUXVpY2tJdGVt
KiBkaWFsb2dQYXJlbnQsIGNvbnN0IFFTdHJpbmdMaXN0JiBzZWxlY3RlZEZpbGVzLCBib29sIGFs
bG93TXVsdGlwbGUpCiB7Ci0gICAgRmlsZVBpY2tlckNvbnRleHRPYmplY3QqIGNvbnRleHRPYmpl
Y3QgPSBuZXcgRmlsZVBpY2tlckNvbnRleHRPYmplY3Qoc2VsZWN0ZWRGaWxlcyk7CisgICAgRmls
ZVBpY2tlckNvbnRleHRPYmplY3QqIGNvbnRleHRPYmplY3QgPSBuZXcgRmlsZVBpY2tlckNvbnRl
eHRPYmplY3Qoc2VsZWN0ZWRGaWxlcywgYWxsb3dNdWx0aXBsZSk7CiAgICAgaWYgKCFjcmVhdGVE
aWFsb2coY29tcG9uZW50LCBkaWFsb2dQYXJlbnQsIGNvbnRleHRPYmplY3QpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9R
dERpYWxvZ1J1bm5lci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVu
bmVyLmgKaW5kZXggMGU1ODRhYS4uZTk2NjAwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVubmVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3F0L1F0RGlhbG9nUnVubmVyLmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgogICAgIGJv
b2wgaW5pdEZvckF1dGhlbnRpY2F0aW9uKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCosIFFRdWlja0l0
ZW0qIGRpYWxvZ1BhcmVudCwgY29uc3QgUVN0cmluZyYgaG9zdG5hbWUsIGNvbnN0IFFTdHJpbmcm
IHJlYWxtLCBjb25zdCBRU3RyaW5nJiBwcmVmaWxsZWRVc2VybmFtZSk7CiAgICAgYm9vbCBpbml0
Rm9yQ2VydGlmaWNhdGVWZXJpZmljYXRpb24oUURlY2xhcmF0aXZlQ29tcG9uZW50KiwgUVF1aWNr
SXRlbSosIGNvbnN0IFFTdHJpbmcmIGhvc3RuYW1lKTsKICAgICBib29sIGluaXRGb3JQcm94eUF1
dGhlbnRpY2F0aW9uKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCosIFFRdWlja0l0ZW0qLCBjb25zdCBR
U3RyaW5nJiBob3N0bmFtZSwgdWludDE2X3QgcG9ydCwgY29uc3QgUVN0cmluZyYgcHJlZmlsbGVk
VXNlcm5hbWUpOwotICAgIGJvb2wgaW5pdEZvckZpbGVQaWNrZXIoUURlY2xhcmF0aXZlQ29tcG9u
ZW50KiwgUVF1aWNrSXRlbSosIGNvbnN0IFFTdHJpbmdMaXN0JiBzZWxlY3RlZEZpbGVzKTsKKyAg
ICBib29sIGluaXRGb3JGaWxlUGlja2VyKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCosIFFRdWlja0l0
ZW0qLCBjb25zdCBRU3RyaW5nTGlzdCYgc2VsZWN0ZWRGaWxlcywgYm9vbCBhbGxvd011bHRpcGxl
KTsKICAgICBib29sIGluaXRGb3JEYXRhYmFzZVF1b3RhRGlhbG9nKFFEZWNsYXJhdGl2ZUNvbXBv
bmVudCosIFFRdWlja0l0ZW0qLCBjb25zdCBRU3RyaW5nJiBkYXRhYmFzZU5hbWUsIGNvbnN0IFFT
dHJpbmcmIGRpc3BsYXlOYW1lLCBXS1NlY3VyaXR5T3JpZ2luUmVmLCBxdWludDY0IGN1cnJlbnRR
dW90YSwgcXVpbnQ2NCBjdXJyZW50T3JpZ2luVXNhZ2UsIHF1aW50NjQgY3VycmVudERhdGFiYXNl
VXNhZ2UsIHF1aW50NjQgZXhwZWN0ZWRVc2FnZSk7CiAKICAgICBRUXVpY2tJdGVtKiBkaWFsb2co
KSBjb25zdCB7IHJldHVybiBtX2RpYWxvZy5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDg5MDc0ODAuLmQ5ZDkzNDcgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBA
QAorMjAxMi0wMy0yNiAgRGludSBKYWNvYiAgPGRpbnUuamFjb2JAbm9raWEuY29tPgorCisgICAg
ICAgIFtRdF1bV0syXSBTdXBwb3J0IG11bHRpLWZpbGUgdXBsb2FkCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTU4OQorCisgICAgICAgIFJldmlld2Vk
IGJ5IFNpbW9uIEhhdXNtYW5uLgorCisgICAgICAgIE1vZGlmaWVkIGZpbGVQaWNrZXIgdG8gc3Vw
cG9ydCBtdWx0aS1maWxlIHVwbG9hZC4KKworICAgICAgICAqIE1pbmlCcm93c2VyL3F0L01pbmlC
cm93c2VyLnFyYzoKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9pY29ucy9jaGVja2JveF9jaGVj
a2VkLnBuZzogQWRkZWQuCisgICAgICAgICogTWluaUJyb3dzZXIvcXQvaWNvbnMvY2hlY2tib3hf
dW5jaGVja2VkLnBuZzogQWRkZWQuCisgICAgICAgICogTWluaUJyb3dzZXIvcXQvanMvTXVsdGlT
ZWxlY3QuanM6IEFkZGVkLgorICAgICAgICAodmFsdWVzKToKKyAgICAgICAgKGlzU2VsZWN0ZWQp
OgorICAgICAgICAocmVtb3ZlVmFsdWUpOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L3FtbC9D
aGVja0JveC5xbWw6IEFkZGVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L3FtbC9GaWxlUGlj
a2VyLnFtbDoKKwogMjAxMi0wMy0yNiAgTGVvIFlhbmcgIDxsZW8ueWFuZ0B0b3JjaG1vYmlsZS5j
b20uY24+CiAKICAgICAgICAgW0JsYWNrQmVycnldIFNrZWxldG9uIGNvZGUgb2YgQXN5bmNGaWxl
U3lzdGVtQmxhY2tCZXJyeS5jcHAKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L01p
bmlCcm93c2VyLnFyYyBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnFyYwppbmRl
eCBlODExMzJhLi5iNTQ5MGJlIDEwMDY0NAotLS0gYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9NaW5p
QnJvd3Nlci5xcmMKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucXJjCkBA
IC0xLDUgKzEsNyBAQAogPFJDQz4KICAgICA8cXJlc291cmNlIHByZWZpeD0iLyI+CisgICAgICAg
IDxmaWxlPmljb25zL2NoZWNrYm94X2NoZWNrZWQucG5nPC9maWxlPgorICAgICAgICA8ZmlsZT5p
Y29ucy9jaGVja2JveF91bmNoZWNrZWQucG5nPC9maWxlPgogICAgICAgICA8ZmlsZT5pY29ucy9m
YXZpY29uLnBuZzwvZmlsZT4KICAgICAgICAgPGZpbGU+aWNvbnMvZm9sZGVyLnBuZzwvZmlsZT4K
ICAgICAgICAgPGZpbGU+aWNvbnMvaW5mby5wbmc8L2ZpbGU+CkBAIC0xMiw5ICsxNCwxMSBAQAog
ICAgICAgICA8ZmlsZT5pY29ucy90b3VjaC5wbmc8L2ZpbGU+CiAgICAgICAgIDxmaWxlPmljb25z
L3RvdWNocG9pbnQucG5nPC9maWxlPgogICAgICAgICA8ZmlsZT5pY29ucy91cC5wbmc8L2ZpbGU+
CisgICAgICAgIDxmaWxlPmpzL011bHRpU2VsZWN0LmpzPC9maWxlPgogICAgICAgICA8ZmlsZT5x
bWwvQWxlcnREaWFsb2cucW1sPC9maWxlPgogICAgICAgICA8ZmlsZT5xbWwvQXV0aGVudGljYXRp
b25EaWFsb2cucW1sPC9maWxlPgogICAgICAgICA8ZmlsZT5xbWwvQnJvd3NlcldpbmRvdy5xbWw8
L2ZpbGU+CisgICAgICAgIDxmaWxlPnFtbC9DaGVja0JveC5xbWw8L2ZpbGU+CiAgICAgICAgIDxm
aWxlPnFtbC9Db25maXJtRGlhbG9nLnFtbDwvZmlsZT4KICAgICAgICAgPGZpbGU+cW1sL0RpYWxv
Zy5xbWw8L2ZpbGU+CiAgICAgICAgIDxmaWxlPnFtbC9EaWFsb2dCdXR0b24ucW1sPC9maWxlPgpk
aWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvcXQvaWNvbnMvY2hlY2tib3hfY2hlY2tlZC5w
bmcgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9pY29ucy9jaGVja2JveF9jaGVja2VkLnBuZwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5jYmYwNmY2NTEzZDZiMTE3MjEyOTBjM2YwZjNiZTViZDJkMTU3ZTg0CkdJVCBiaW5h
cnkgcGF0Y2gKbGl0ZXJhbCAyNjMKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB2cEBBazR1NkJ5VCpA
YDN8SSppayY8fEk1PE16eFBiJkVPSSN5TGc3ZWMjCnokYGd4SDhPcURjXiltQ2FpPDEpelF1WHFT
KHIzVDNrcGUyMz9kanFlQjVecjZWQDx9Tk0kcz8+bFlocnE0K2VjIwp6K3lCT34/WXI5SHJGSkVN
QCo1NW9lX25SU2NCP0A1bUE1YX4rRHJlPnp0Z0V3biMmZmo9PTBURV5XT0xWVXcpX2gKekdWQW9I
e2t1UUBAMlphSF5aI3x9JE51an1rQUxIckVtLS11ZC1neEdmQTUpSno0LUJDJi1aJWZObXR0WWU2
MVp5CnpVaVoodz58bk9ZPDhPWE0jajNaYlUkUDF1U01ZVEZeTDNBU194XiVid3NRdDczeyZzQHhS
Nmt2WTYpfkVnUXUmWApKJVF+bG9DSUJleWJsVSZgCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRp
ZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9pY29ucy9jaGVja2JveF91bmNoZWNrZWQu
cG5nIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvaWNvbnMvY2hlY2tib3hfdW5jaGVja2VkLnBuZwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41ZjU0NjU1ODJhOWEyZTZhODVhZGJlMDdhNGEyZGE1ZTgwYjhiMDE3CkdJVCBi
aW5hcnkgcGF0Y2gKbGl0ZXJhbCAxNTkKemNtZUFTQE4/KG9sSHlgdVZCcSFpYTB2cEBBazR1NkJ5
VCpAYDN8SSppayY8fEk1PE16eFBiJkVPSSN5TGc3ZWMjCnokYGd4SDhPcURjXiltQ2FpPDEpelF1
WHFTKHIzVDNrcGUwKl9IPU8haytfX2t1X29oQnFpQzNjJC1tPlEyWk8kPQp6P1NKRmdfRmU3cFFv
RThyYDNgT0pSJjVoUjxtdy1DQHk8ISlWRUVlcUd2dXU3ZVZ9ZHoyMldRJW12djRGTyNzU0IKQkd1
SHFCCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nl
ci9xdC9qcy9NdWx0aVNlbGVjdC5qcyBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L2pzL011bHRpU2Vs
ZWN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllODdmNWQKLS0tIC9k
ZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9qcy9NdWx0aVNlbGVjdC5qcwpAQCAt
MCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIE5va2lhIENvcnBvcmF0aW9u
IGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IHNlZSB0aGUgZmlsZSBD
T1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24s
IE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworCit2YXIgdmFsdWVzID0gW10KKworZnVu
Y3Rpb24gc2VsZWN0ZWRWYWx1ZXMoKSB7CisgICAgcmV0dXJuIHZhbHVlcworfQorCitmdW5jdGlv
biBpc1NlbGVjdGVkKHZhbHVlKSB7CisgICAgcmV0dXJuICh2YWx1ZXMuaW5kZXhPZih2YWx1ZSkg
IT0gLTEpCit9CisKK2Z1bmN0aW9uIGFkZFZhbHVlKHZhbHVlKSB7CisgICAgaWYgKHZhbHVlcy5p
bmRleE9mKHZhbHVlKSAhPSAtMSkKKyAgICAgICAgcmV0dXJuCisgICAgdmFsdWVzLnB1c2godmFs
dWUpCit9CisKK2Z1bmN0aW9uIHJlbW92ZVZhbHVlKHZhbHVlKSB7CisgICAgdmFyIGluZGV4ID0g
dmFsdWVzLmluZGV4T2YodmFsdWUpCisKKyAgICBpZiAoaW5kZXggPT0gLTEpCisgICAgICAgIHJl
dHVybgorICAgIHZhbHVlcy5zcGxpY2UoaW5kZXgsIDEpCit9CmRpZmYgLS1naXQgYS9Ub29scy9N
aW5pQnJvd3Nlci9xdC9xbWwvQ2hlY2tCb3gucW1sIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvcW1s
L0NoZWNrQm94LnFtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODViODEx
Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvcW1sL0NoZWNrQm94LnFt
bApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIE5va2lhIENvcnBv
cmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisg
KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgor
ICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKi8KKworaW1wb3J0IFF0UXVpY2sgMi4w
CisKK0l0ZW0geworICAgIGlkOiBjaGVja2JveAorICAgIHdpZHRoOiA1MAorICAgIGhlaWdodDog
cGFyZW50LmhlaWdodAorICAgIHByb3BlcnR5IGJvb2wgY2hlY2tlZAorCisgICAgSW1hZ2Ugewor
ICAgICAgICB3aWR0aDogMjQKKyAgICAgICAgaGVpZ2h0OiAyNAorICAgICAgICBzb3VyY2U6IHBh
cmVudC5jaGVja2VkID8gJy4uL2ljb25zL2NoZWNrYm94X2NoZWNrZWQucG5nJyA6ICcuLi9pY29u
cy9jaGVja2JveF91bmNoZWNrZWQucG5nJworICAgICAgICBhbmNob3JzLnZlcnRpY2FsQ2VudGVy
OiBwYXJlbnQudmVydGljYWxDZW50ZXIKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Ub29scy9NaW5p
QnJvd3Nlci9xdC9xbWwvRmlsZVBpY2tlci5xbWwgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9xbWwv
RmlsZVBpY2tlci5xbWwKaW5kZXggNWJlYjg2YS4uMjIyZDRjMyAxMDA2NDQKLS0tIGEvVG9vbHMv
TWluaUJyb3dzZXIvcXQvcW1sL0ZpbGVQaWNrZXIucW1sCisrKyBiL1Rvb2xzL01pbmlCcm93c2Vy
L3F0L3FtbC9GaWxlUGlja2VyLnFtbApAQCAtMjAsNiArMjAsNyBAQAogCiBpbXBvcnQgUXRRdWlj
ayAyLjAKIGltcG9ydCBRdC5sYWJzLmZvbGRlcmxpc3Rtb2RlbCAxLjAKK2ltcG9ydCAiLi4vanMv
TXVsdGlTZWxlY3QuanMiIGFzIE11bHRpU2VsZWN0CiAKIFJlY3RhbmdsZSB7CiAgICAgaWQ6IGZp
bGVQaWNrZXIKQEAgLTEwOSw4ICsxMTAsMTkgQEAgUmVjdGFuZ2xlIHsKICAgICAgICAgICAgICAg
ICBmdW5jdGlvbiBzZWxlY3RlZCgpIHsKICAgICAgICAgICAgICAgICAgICAgaWYgKGZvbGRlcnMu
aXNGb2xkZXIoaW5kZXgpKQogICAgICAgICAgICAgICAgICAgICAgICAgb3BlbkZvbGRlcihmaWxl
UGF0aCk7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAg
IGZpbGVNb2RlbC5hY2NlcHQoZmlsZVBhdGgpOworICAgICAgICAgICAgICAgICAgICBlbHNlIHsK
KworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpbGVNb2RlbC5hbGxvd011bHRpcGxlRmls
ZXMpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGVja2JveC5jaGVja2VkID0gIWNo
ZWNrYm94LmNoZWNrZWQKKworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGVja2Jv
eC5jaGVja2VkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNdWx0aVNlbGVjdC5h
ZGRWYWx1ZShmaWxlUGF0aCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE11bHRpU2VsZWN0LnJlbW92ZVZhbHVlKGZpbGVQ
YXRoKQorICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAg
ZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVNb2RlbC5hY2NlcHQoZmlsZVBh
dGgpCisgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAg
ICAgICAgICBoZWlnaHQ6IDUwCkBAIC0xMTgsNyArMTMwLDcgQEAgUmVjdGFuZ2xlIHsKICAgICAg
ICAgICAgICAgICBjb2xvcjogZm9sZGVycy5pc0ZvbGRlcihpbmRleCkgPyAibGlnaHRncmF5Ijog
ImRhcmtncmF5IgogCiAgICAgICAgICAgICAgICAgSXRlbSB7Ci0gICAgICAgICAgICAgICAgICAg
IHdpZHRoOiA0ODsKKyAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwCiAgICAgICAgICAgICAg
ICAgICAgIGhlaWdodDogNDgKICAgICAgICAgICAgICAgICAgICAgSW1hZ2UgewogICAgICAgICAg
ICAgICAgICAgICAgICAgc291cmNlOiAiLi4vaWNvbnMvZm9sZGVyLnBuZyIKQEAgLTEyOCw5ICsx
NDAsMjIgQEAgUmVjdGFuZ2xlIHsKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAg
ICBUZXh0IHsKKyAgICAgICAgICAgICAgICAgICAgaWQ6IGZpbGVOYW1lVGV4dAogICAgICAgICAg
ICAgICAgICAgICBhbmNob3JzLmNlbnRlckluOiBwYXJlbnQKLSAgICAgICAgICAgICAgICAgICAg
YW5jaG9ycy5sZWZ0TWFyZ2luOiA1MAorICAgICAgICAgICAgICAgICAgICBhbmNob3JzLmxlZnRN
YXJnaW46IDIwCisgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMDAKICAgICAgICAgICAgICAg
ICAgICAgdGV4dDogZmlsZU5hbWUKKyAgICAgICAgICAgICAgICAgICAgZWxpZGU6IFRleHQuRWxp
ZGVMZWZ0OworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIENoZWNrQm94IHsK
KyAgICAgICAgICAgICAgICAgICAgaWQ6IGNoZWNrYm94CisKKyAgICAgICAgICAgICAgICAgICAg
YW5jaG9ycy5yaWdodDogcGFyZW50LnJpZ2h0CisgICAgICAgICAgICAgICAgICAgIGFuY2hvcnMu
dmVydGljYWxDZW50ZXI6IHBhcmVudC52ZXJ0aWNhbENlbnRlcgorCisgICAgICAgICAgICAgICAg
ICAgIGNoZWNrZWQ6IE11bHRpU2VsZWN0LmlzU2VsZWN0ZWQoZmlsZVBhdGgpCisgICAgICAgICAg
ICAgICAgICAgIHZpc2libGU6IGZpbGVNb2RlbC5hbGxvd011bHRpcGxlRmlsZXMgJiYgIWZvbGRl
cnMuaXNGb2xkZXIoaW5kZXgpCiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAg
TW91c2VBcmVhIHsKQEAgLTE2MCwxNSArMTg1LDI1IEBAIFJlY3RhbmdsZSB7CiAgICAgICAgICAg
ICByaWdodDogcGFyZW50LnJpZ2h0CiAgICAgICAgIH0KIAotICAgICAgICBEaWFsb2dCdXR0b24g
ewotICAgICAgICAgICAgaWQ6IGNhbmNlbAotICAgICAgICAgICAgdGV4dDogIkNhbmNlbCIKLSAg
ICAgICAgICAgIGFuY2hvcnMgewotICAgICAgICAgICAgICAgIGhvcml6b250YWxDZW50ZXI6IHBh
cmVudC5ob3Jpem9udGFsQ2VudGVyOwotICAgICAgICAgICAgICAgIHZlcnRpY2FsQ2VudGVyOiAg
cGFyZW50LnZlcnRpY2FsQ2VudGVyCisgICAgICAgIFJvdyB7CisgICAgICAgICAgICBpZDogYnV0
dG9uUm93CisgICAgICAgICAgICBzcGFjaW5nOiAxMAorICAgICAgICAgICAgYW5jaG9ycy5ob3Jp
em9udGFsQ2VudGVyOiBwYXJlbnQuaG9yaXpvbnRhbENlbnRlcgorICAgICAgICAgICAgYW5jaG9y
cy52ZXJ0aWNhbENlbnRlcjogcGFyZW50LnZlcnRpY2FsQ2VudGVyCisKKyAgICAgICAgICAgIERp
YWxvZ0J1dHRvbiB7CisgICAgICAgICAgICAgICAgaWQ6IGNhbmNlbAorICAgICAgICAgICAgICAg
IHRleHQ6ICJDYW5jZWwiCisgICAgICAgICAgICAgICAgb25DbGlja2VkOiBmaWxlTW9kZWwucmVq
ZWN0KCkKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgb25DbGlja2VkOiBmaWxlTW9kZWwu
cmVqZWN0KCkKKyAgICAgICAgICAgIERpYWxvZ0J1dHRvbiB7CisgICAgICAgICAgICAgICAgaWQ6
IGFjY2VwdAorICAgICAgICAgICAgICAgIHRleHQ6ICJPayIKKyAgICAgICAgICAgICAgICB2aXNp
YmxlOiBmaWxlTW9kZWwuYWxsb3dNdWx0aXBsZUZpbGVzCisgICAgICAgICAgICAgICAgb25DbGlj
a2VkOgorICAgICAgICAgICAgICAgICAgICBmaWxlTW9kZWwuYWNjZXB0KE11bHRpU2VsZWN0LnNl
bGVjdGVkVmFsdWVzKCkpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133865</attachid>
            <date>2012-03-26 12:32:36 -0700</date>
            <delta_ts>2012-03-26 13:20:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>81589_latest.patch</filename>
            <type>text/plain</type>
            <size>21432</size>
            <attacher name="Dinu Jacob">dinu.jacob</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBhNjViOTViLi5kYzk4MWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEg
QEAKKzIwMTItMDMtMjYgIERpbnUgSmFjb2IgIDxkaW51LmphY29iQG5va2lhLmNvbT4KKworICAg
ICAgICBbUXRdW1dLMl0gU3VwcG9ydCBtdWx0aS1maWxlIHVwbG9hZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE1ODkKKworICAgICAgICBSZXZpZXdl
ZCBieSBTaW1vbiBIYXVzbWFubi4KKworICAgICAgICBBZGRlZCAnYWxsb3dNdXRpcGxlRmlsZXMn
IHByb3BlcnR5IHRvIGZpbGVQaWNrZXIgY29udGV4dCBwcm9wZXJ0eSB0byBpbmRpY2F0ZSB3aGV0
aGVyIHRvIGFsbG93CisgICAgICAgIG11bHRpcGxlIGZpbGUgc2VsZWN0aW9ucy4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHA6CisgICAgICAgIChRUXVpY2tX
ZWJWaWV3UHJpdmF0ZTo6Y2hvb3NlRmlsZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQv
dGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yLnBybzoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci90c3RfbXVsdGlGaWxlVXBsb2Fk
LnFtbDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9E
ZXNrdG9wQmVoYXZpb3IvdHN0X3NpbmdsZUZpbGVVcGxvYWQucW1sOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvY29tbW9uL211bHRpZmlsZXVwbG9hZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1vbi9z
aW5nbGVmaWxldXBsb2FkLmh0bWw6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9x
bWx0ZXN0cy9jb21tb24vdGl0bGV1cGRhdGUuanM6IEFkZGVkLgorICAgICAgICAodXBkYXRlVGl0
bGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5jcHA6CisgICAgICAg
IChGaWxlUGlja2VyQ29udGV4dE9iamVjdCk6CisgICAgICAgIChGaWxlUGlja2VyQ29udGV4dE9i
amVjdDo6RmlsZVBpY2tlckNvbnRleHRPYmplY3QpOgorICAgICAgICAoRmlsZVBpY2tlckNvbnRl
eHRPYmplY3Q6OmFsbG93TXVsdGlwbGVGaWxlcyk6CisgICAgICAgIChGaWxlUGlja2VyQ29udGV4
dE9iamVjdDo6YWNjZXB0KToKKyAgICAgICAgKFF0RGlhbG9nUnVubmVyOjppbml0Rm9yRmlsZVBp
Y2tlcik6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVubmVyLmg6CisgICAgICAg
IChRdERpYWxvZ1J1bm5lcik6CisKIDIwMTItMDMtMjYgIFBpZXJyZSBSb3NzaSAgPHBpZXJyZS5y
b3NzaUBub2tpYS5jb20+CiAKICAgICAgICAgW1F0XVtXSzJdIGRlZmF1bHQgZmFtaWxpZXMgYXJl
IG5vdCBzZXQgaW4gUVdlYlByZWZlcmVuY2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcAppbmRleCAwMzEyNGQ5Li5mY2U0M2FkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAK
QEAgLTM2NCwxMSArMzY0LDExIEBAIHZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmNob29zZUZp
bGVzKFdLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXJSZWYsCiB7CiAgICAgUV9R
KFFRdWlja1dlYlZpZXcpOwogCi0gICAgaWYgKCFmaWxlUGlja2VyIHx8IHR5cGUgPT0gUXRXZWJQ
YWdlVUlDbGllbnQ6Ok11bHRpcGxlRmlsZXNTZWxlY3Rpb24pCisgICAgaWYgKCFmaWxlUGlja2Vy
KQogICAgICAgICByZXR1cm47CiAKICAgICBRdERpYWxvZ1J1bm5lciBkaWFsb2dSdW5uZXI7Ci0g
ICAgaWYgKCFkaWFsb2dSdW5uZXIuaW5pdEZvckZpbGVQaWNrZXIoZmlsZVBpY2tlciwgcSwgc2Vs
ZWN0ZWRGaWxlTmFtZXMpKQorICAgIGlmICghZGlhbG9nUnVubmVyLmluaXRGb3JGaWxlUGlja2Vy
KGZpbGVQaWNrZXIsIHEsIHNlbGVjdGVkRmlsZU5hbWVzLCAoYm9vbCl0eXBlKSkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgZXhlY0RpYWxvZ1J1bm5lcihkaWFsb2dSdW5uZXIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9EZXNrdG9w
QmVoYXZpb3IucHJvIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0
ZXN0cy9EZXNrdG9wQmVoYXZpb3IucHJvCmluZGV4IDVjZjQ2Y2IuLjU5YTNjYTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVza3Rv
cEJlaGF2aW9yLnBybworKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3Rz
L3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci5wcm8KQEAgLTIwLDQgKzIwLDUgQEAgT1RIRVJfRklM
RVMgKz0gXAogICAgIERlc2t0b3BCZWhhdmlvci90c3RfbG9hZEh0bWwucW1sIFwKICAgICBEZXNr
dG9wQmVoYXZpb3IvdHN0X21lc3NhZ2luZy5xbWwgXAogICAgIERlc2t0b3BCZWhhdmlvci90c3Rf
bmF2aWdhdGlvblJlcXVlc3RlZC5xbWwgXAotICAgIERlc2t0b3BCZWhhdmlvci90c3Rfc2luZ2xl
ZmlsZXVwbG9hZC5xbWwKKyAgICBEZXNrdG9wQmVoYXZpb3IvdHN0X3NpbmdsZUZpbGV1cGxvYWQu
cW1sIFwKKyAgICBEZXNrdG9wQmVoYXZpb3IvdHN0X211bHRpRmlsZXVwbG9hZC5xbWwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVz
a3RvcEJlaGF2aW9yL3RzdF9tdWx0aUZpbGVVcGxvYWQucW1sIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9EZXNrdG9wQmVoYXZpb3IvdHN0X211bHRpRmls
ZVVwbG9hZC5xbWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQzZjY1Ngot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMv
cW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yL3RzdF9tdWx0aUZpbGVVcGxvYWQucW1sCkBAIC0wLDAg
KzEsNjYgQEAKK2ltcG9ydCBRdFF1aWNrIDIuMAoraW1wb3J0IFF0VGVzdCAxLjAKK2ltcG9ydCBR
dFdlYktpdCAzLjAKK2ltcG9ydCBRdFdlYktpdC5leHBlcmltZW50YWwgMS4wCitpbXBvcnQgIi4u
L2NvbW1vbiIKKworLy8gRklYTUU6IEFkZGVkIHRvIERlc2t0b3AgdGVzdHMgYmVjYXVzZSB3ZSB3
YW50IHRvIGhhdmUgbW91c2VDbGljaygpIHRvIG9wZW4gdGhlIDxpbnB1dD4gdGFnLiBXZSBjYW4g
bW92ZSBpdCBiYWNrCisvLyB3aGVuIFRlc3RDYXNlIHN0YXJ0cyBzdXBwb3J0aW5nIHRvdWNoIGV2
ZW50cywgc2VlIGh0dHBzOi8vYnVncmVwb3J0cy5xdC5ub2tpYS5jb20vYnJvd3NlL1FUQlVHLTIz
MDgzLgorVGVzdFdlYlZpZXcgeworICAgIGlkOiB3ZWJWaWV3CisKKyAgICB3aWR0aDogNDAwCisg
ICAgaGVpZ2h0OiA0MDAKKworICAgIHByb3BlcnR5IGJvb2wgc2VsZWN0RmlsZQorCisgICAgZXhw
ZXJpbWVudGFsLmZpbGVQaWNrZXI6IEl0ZW0geworICAgICAgICBUaW1lciB7CisgICAgICAgICAg
ICBydW5uaW5nOiB0cnVlCisgICAgICAgICAgICBpbnRlcnZhbDogMQorICAgICAgICAgICAgb25U
cmlnZ2VyZWQ6IHsKKyAgICAgICAgICAgICAgICB2YXIgc2VsZWN0ZWRGaWxlcyA9IFsiZmlsZW5h
bWUxIiwgImZpbGVuYW1lMiJdCisgICAgICAgICAgICAgICAgaWYgKHNlbGVjdEZpbGUpCisgICAg
ICAgICAgICAgICAgICAgIG1vZGVsLmFjY2VwdChzZWxlY3RlZEZpbGVzKQorICAgICAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgbW9kZWwucmVqZWN0KCk7CisgICAgICAgICAg
ICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBTaWduYWxTcHkgeworICAgICAgICBpZDogdGl0
bGVTcHkKKyAgICAgICAgdGFyZ2V0OiB3ZWJWaWV3CisgICAgICAgIHNpZ25hbE5hbWU6ICJ0aXRs
ZUNoYW5nZWQiCisgICAgfQorCisgICAgVGVzdENhc2UgeworICAgICAgICBpZDogdGVzdAorICAg
ICAgICBuYW1lOiAiV2ViVmlld011bHRpRmlsZVBpY2tlciIKKyAgICAgICAgd2hlbjogd2luZG93
U2hvd24KKworICAgICAgICBmdW5jdGlvbiBpbml0KCkgeworICAgICAgICAgICAgd2ViVmlldy51
cmwgPSBRdC5yZXNvbHZlZFVybCgiLi4vY29tbW9uL211bHRpZmlsZXVwbG9hZC5odG1sIikKKyAg
ICAgICAgICAgIHZlcmlmeSh3ZWJWaWV3LndhaXRGb3JMb2FkU3VjY2VlZGVkKCkpCisgICAgICAg
ICAgICB0aXRsZVNweS5jbGVhcigpCisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBvcGVu
SXRlbVNlbGVjdG9yKCkgeworICAgICAgICAgICAgbW91c2VDbGljayh3ZWJWaWV3LCAxNSwgMTUs
IFF0LkxlZnRCdXR0b24pCisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiB0ZXN0X2FjY2Vw
dCgpIHsKKyAgICAgICAgICAgIHdlYlZpZXcuc2VsZWN0RmlsZSA9IHRydWU7CisgICAgICAgICAg
ICBvcGVuSXRlbVNlbGVjdG9yKCkKKyAgICAgICAgICAgIHRpdGxlU3B5LndhaXQoKQorICAgICAg
ICAgICAgY29tcGFyZSh3ZWJWaWV3LnRpdGxlLCAiZmlsZW5hbWUxLGZpbGVuYW1lMiIpCisgICAg
ICAgIH0KKworICAgICAgICBmdW5jdGlvbiB0ZXN0X3JlamVjdCgpIHsKKyAgICAgICAgICAgIHZh
ciBvbGRUaXRsZSA9IHdlYlZpZXcudGl0bGUKKyAgICAgICAgICAgIHdlYlZpZXcuc2VsZWN0Rmls
ZSA9IGZhbHNlOworICAgICAgICAgICAgb3Blbkl0ZW1TZWxlY3RvcigpCisgICAgICAgICAgICBj
b21wYXJlKHdlYlZpZXcudGl0bGUsIG9sZFRpdGxlKQorICAgICAgICB9CisgICAgfQorfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9E
ZXNrdG9wQmVoYXZpb3IvdHN0X3NpbmdsZUZpbGVVcGxvYWQucW1sIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9EZXNrdG9wQmVoYXZpb3IvdHN0X3Npbmds
ZUZpbGVVcGxvYWQucW1sCmluZGV4IGNlNDk1ZWEuLjdjYTllZmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9y
L3RzdF9zaW5nbGVGaWxlVXBsb2FkLnFtbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci90c3Rfc2luZ2xlRmlsZVVwbG9h
ZC5xbWwKQEAgLTEzLDE0ICsxMywyMCBAQCBUZXN0V2ViVmlldyB7CiAgICAgaGVpZ2h0OiA0MDAK
IAogICAgIHByb3BlcnR5IGJvb2wgc2VsZWN0RmlsZQorICAgIHByb3BlcnR5IGJvb2wgYWNjZXB0
TXVsdGlwbGU6IGZhbHNlCiAKICAgICBleHBlcmltZW50YWwuZmlsZVBpY2tlcjogSXRlbSB7CiAg
ICAgICAgIFRpbWVyIHsKICAgICAgICAgICAgIHJ1bm5pbmc6IHRydWUKICAgICAgICAgICAgIGlu
dGVydmFsOiAxCiAgICAgICAgICAgICBvblRyaWdnZXJlZDogewotICAgICAgICAgICAgICAgIGlm
IChzZWxlY3RGaWxlKQotICAgICAgICAgICAgICAgICAgICBtb2RlbC5hY2NlcHQoImFjY2VwdGVk
ZmlsZW5hbWUiKTsKKyAgICAgICAgICAgICAgICB2YXIgc2VsZWN0ZWRGaWxlcyA9IFsiZmlsZW5h
bWUxIiwgImZpbGVuYW1lMiJdCisgICAgICAgICAgICAgICAgaWYgKHNlbGVjdEZpbGUpIHsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKGFjY2VwdE11bHRpcGxlKQorICAgICAgICAgICAgICAgICAg
ICAgICAgbW9kZWwuYWNjZXB0KHNlbGVjdGVkRmlsZXMpCisgICAgICAgICAgICAgICAgICAgIGVs
c2UKKyAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsLmFjY2VwdCgiYWNjZXB0ZWRmaWxlbmFt
ZSIpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAg
ICAgICAgICAgIG1vZGVsLnJlamVjdCgpOwogICAgICAgICAgICAgfQpAQCAtNTUsNiArNjEsMTQg
QEAgVGVzdFdlYlZpZXcgewogICAgICAgICAgICAgY29tcGFyZSh3ZWJWaWV3LnRpdGxlLCAiYWNj
ZXB0ZWRmaWxlbmFtZSIpCiAgICAgICAgIH0KIAorICAgICAgICBmdW5jdGlvbiB0ZXN0X211bHRp
cGxlKCkgeworICAgICAgICAgICAgd2ViVmlldy5zZWxlY3RGaWxlID0gdHJ1ZTsKKyAgICAgICAg
ICAgIHdlYlZpZXcuYWNjZXB0TXVsdGlwbGUgPSB0cnVlOworICAgICAgICAgICAgb3Blbkl0ZW1T
ZWxlY3RvcigpCisgICAgICAgICAgICB0aXRsZVNweS53YWl0KCkKKyAgICAgICAgICAgIGNvbXBh
cmUod2ViVmlldy50aXRsZSwgImZpbGVuYW1lMSIpCisgICAgICAgIH0KKwogICAgICAgICBmdW5j
dGlvbiB0ZXN0X3JlamVjdCgpIHsKICAgICAgICAgICAgIHZhciBvbGRUaXRsZSA9IHdlYlZpZXcu
dGl0bGUKICAgICAgICAgICAgIHdlYlZpZXcuc2VsZWN0RmlsZSA9IGZhbHNlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9jb21tb24v
bXVsdGlmaWxldXBsb2FkLmh0bWwgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rl
c3RzL3FtbHRlc3RzL2NvbW1vbi9tdWx0aWZpbGV1cGxvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi43NzAxZWQ0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9jb21tb24vbXVsdGlmaWxldXBs
b2FkLmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBpbml0aWFsLXNjYWxlPTEiPgorPHRpdGxlPiBNdXRsaS1maWxlIFVwbG9hZCA8L3Rp
dGxlPgorPHNjcmlwdCBzcmMgPSAiLi90aXRsZXVwZGF0ZS5qcyI+Cis8L3NjcmlwdD4KKworPGJv
ZHk+Cis8aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgaWQ9InVwZmlsZSIgb25jaGFuZ2U9
InVwZGF0ZVRpdGxlKCkiIG11bHRpcGxlLz4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvY29tbW9uL3Np
bmdsZWZpbGV1cGxvYWQuaHRtbCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVz
dHMvcW1sdGVzdHMvY29tbW9uL3NpbmdsZWZpbGV1cGxvYWQuaHRtbAppbmRleCA1ODBiOTk5Li4z
OGUzNDVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3Rz
L3FtbHRlc3RzL2NvbW1vbi9zaW5nbGVmaWxldXBsb2FkLmh0bWwKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9jb21tb24vc2luZ2xlZmlsZXVwbG9h
ZC5odG1sCkBAIC0xLDIzICsxLDggQEAKIDxodG1sPgogPGhlYWQ+CiA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgaW5pdGlhbC1zY2FsZT0xIj4KLTx0aXRsZT5ObyBmaWxlIHNlbGVjdGVkPC90aXRsZT4K
LTxzY3JpcHQ+Ci1mdW5jdGlvbiB1cGRhdGVUaXRsZSgpCi17Ci0gICAgdmFyIGlucCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ1cGZpbGUiKTsKLSAgICB2YXIgYWxsZmlsZXMgPSBuZXcgU3Ry
aW5nKCIiKTsKLSAgICB2YXIgbmFtZSA9IG5ldyBTdHJpbmcoIiIpOwotICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgaW5wLmZpbGVzLmxlbmd0aDsgKytpKQotICAgIHsKLSAgICAgICAgbmFtZSA9IGlu
cC5maWxlcy5pdGVtKGkpLm5hbWU7Ci0gICAgICAgIGlmIChhbGxmaWxlcy5sZW5ndGggPT0gMCkK
LSAgICAgICAgICAgIGFsbGZpbGVzID0gbmFtZTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAg
YWxsZmlsZXMgPSBhbGxmaWxlcyArICIsIiArIG5hbWU7Ci0gICAgfQotICAgIGRvY3VtZW50LnRp
dGxlID0gYWxsZmlsZXM7Ci19Cis8dGl0bGU+IFNpbmdsZSBGaWxlIFVwbG9hZCA8L3RpdGxlPgor
PHNjcmlwdCBzcmMgPSAiLi90aXRsZXVwZGF0ZS5qcyI+CiA8L3NjcmlwdD4KIAogPGJvZHk+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3Rz
L2NvbW1vbi90aXRsZXVwZGF0ZS5qcyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
dGVzdHMvcW1sdGVzdHMvY29tbW9uL3RpdGxldXBkYXRlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjJhNWJhYzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1vbi90aXRsZXVwZGF0ZS5qcwpA
QCAtMCwwICsxLDE1IEBACitmdW5jdGlvbiB1cGRhdGVUaXRsZSgpCit7CisgICAgdmFyIGlucCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1cGZpbGUiKTsKKyAgICB2YXIgYWxsZmlsZXMgPSBu
ZXcgU3RyaW5nKCIiKTsKKyAgICB2YXIgbmFtZSA9IG5ldyBTdHJpbmcoIiIpOworICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgaW5wLmZpbGVzLmxlbmd0aDsgKytpKQorICAgIHsKKyAgICAgICAgbmFt
ZSA9IGlucC5maWxlcy5pdGVtKGkpLm5hbWU7CisgICAgICAgIGlmIChhbGxmaWxlcy5sZW5ndGgg
PT0gMCkKKyAgICAgICAgICAgIGFsbGZpbGVzID0gbmFtZTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgYWxsZmlsZXMgPSBhbGxmaWxlcyArICIsIiArIG5hbWU7CisgICAgfQorICAgIGRvY3Vt
ZW50LnRpdGxlID0gYWxsZmlsZXM7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0
L1F0RGlhbG9nUnVubmVyLmNwcAppbmRleCBkOTM4NWU4Li44ZjYyODk2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5jcHAKQEAgLTE2MywyNSArMTYz
LDM2IEBAIHByaXZhdGU6CiBjbGFzcyBGaWxlUGlja2VyQ29udGV4dE9iamVjdCA6IHB1YmxpYyBR
T2JqZWN0IHsKICAgICBRX09CSkVDVAogICAgIFFfUFJPUEVSVFkoUVN0cmluZ0xpc3QgZmlsZUxp
c3QgUkVBRCBmaWxlTGlzdCBDT05TVEFOVCkKKyAgICBRX1BST1BFUlRZKGJvb2wgYWxsb3dNdWx0
aXBsZUZpbGVzIFJFQUQgYWxsb3dNdWx0aXBsZUZpbGVzIENPTlNUQU5UKQogCiBwdWJsaWM6Ci0g
ICAgRmlsZVBpY2tlckNvbnRleHRPYmplY3QoY29uc3QgUVN0cmluZ0xpc3QmIHNlbGVjdGVkRmls
ZXMpCisgICAgRmlsZVBpY2tlckNvbnRleHRPYmplY3QoY29uc3QgUVN0cmluZ0xpc3QmIHNlbGVj
dGVkRmlsZXMsIGJvb2wgYWxsb3dNdWx0aXBsZSkKICAgICAgICAgOiBRT2JqZWN0KCkKKyAgICAg
ICAgLCBtX2FsbG93TXVsdGlwbGUoYWxsb3dNdWx0aXBsZSkKICAgICAgICAgLCBtX2ZpbGVMaXN0
KHNlbGVjdGVkRmlsZXMpCiAgICAgewogICAgIH0KIAogICAgIFFTdHJpbmdMaXN0IGZpbGVMaXN0
KCkgY29uc3QgeyByZXR1cm4gbV9maWxlTGlzdDsgfQorICAgIGJvb2wgYWxsb3dNdWx0aXBsZUZp
bGVzKCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd011bHRpcGxlO30KIAogcHVibGljIHNsb3RzOgog
ICAgIHZvaWQgcmVqZWN0KCkgeyBlbWl0IHJlamVjdGVkKCk7fQotICAgIHZvaWQgYWNjZXB0KGNv
bnN0IFFWYXJpYW50JiBwYXRoKSB7IGVtaXQgZmlsZVNlbGVjdGVkKHBhdGgudG9TdHJpbmdMaXN0
KCkpOyB9CisgICAgdm9pZCBhY2NlcHQoY29uc3QgUVZhcmlhbnQmIHBhdGgpCisgICAgeworICAg
ICAgICBRU3RyaW5nTGlzdCBmaWxlc1BhdGggPSBwYXRoLnRvU3RyaW5nTGlzdCgpOworICAgICAg
ICAvLyBGb3Igc2luZ2xlIGZpbGUgdXBsb2FkLCBzZW5kIG9ubHkgdGhlIGZpcnN0IGVsZW1lbnQg
aWYgdGhlcmUgYXJlIG1vcmUgdGhhbiBvbmUgZmlsZSBwYXRocworICAgICAgICBpZiAoIW1fYWxs
b3dNdWx0aXBsZSAmJiBmaWxlc1BhdGguY291bnQoKSA+IDEpCisgICAgICAgICAgICBmaWxlc1Bh
dGggPSBRU3RyaW5nTGlzdChmaWxlc1BhdGguYXQoMCkpOworICAgICAgICBlbWl0IGZpbGVTZWxl
Y3RlZChmaWxlc1BhdGgpOworICAgIH0KIAogc2lnbmFsczoKICAgICB2b2lkIHJlamVjdGVkKCk7
CiAgICAgdm9pZCBmaWxlU2VsZWN0ZWQoY29uc3QgUVN0cmluZ0xpc3QmKTsKIAogcHJpdmF0ZToK
KyAgICBib29sIG1fYWxsb3dNdWx0aXBsZTsKICAgICBRU3RyaW5nTGlzdCBtX2ZpbGVMaXN0Owog
fTsKIApAQCAtMzEyLDkgKzMyMyw5IEBAIGJvb2wgUXREaWFsb2dSdW5uZXI6OmluaXRGb3JDZXJ0
aWZpY2F0ZVZlcmlmaWNhdGlvbihRRGVjbGFyYXRpdmVDb21wb25lbnQqIGNvbXBvCiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKLWJvb2wgUXREaWFsb2dSdW5uZXI6OmluaXRGb3JGaWxlUGlja2VyKFFE
ZWNsYXJhdGl2ZUNvbXBvbmVudCogY29tcG9uZW50LCBRUXVpY2tJdGVtKiBkaWFsb2dQYXJlbnQs
IGNvbnN0IFFTdHJpbmdMaXN0JiBzZWxlY3RlZEZpbGVzKQorYm9vbCBRdERpYWxvZ1J1bm5lcjo6
aW5pdEZvckZpbGVQaWNrZXIoUURlY2xhcmF0aXZlQ29tcG9uZW50KiBjb21wb25lbnQsIFFRdWlj
a0l0ZW0qIGRpYWxvZ1BhcmVudCwgY29uc3QgUVN0cmluZ0xpc3QmIHNlbGVjdGVkRmlsZXMsIGJv
b2wgYWxsb3dNdWx0aXBsZSkKIHsKLSAgICBGaWxlUGlja2VyQ29udGV4dE9iamVjdCogY29udGV4
dE9iamVjdCA9IG5ldyBGaWxlUGlja2VyQ29udGV4dE9iamVjdChzZWxlY3RlZEZpbGVzKTsKKyAg
ICBGaWxlUGlja2VyQ29udGV4dE9iamVjdCogY29udGV4dE9iamVjdCA9IG5ldyBGaWxlUGlja2Vy
Q29udGV4dE9iamVjdChzZWxlY3RlZEZpbGVzLCBhbGxvd011bHRpcGxlKTsKICAgICBpZiAoIWNy
ZWF0ZURpYWxvZyhjb21wb25lbnQsIGRpYWxvZ1BhcmVudCwgY29udGV4dE9iamVjdCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3F0L1F0RGlhbG9nUnVubmVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFs
b2dSdW5uZXIuaAppbmRleCAwZTU4NGFhLi5lOTY2MDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuaApAQCAtNDMsNyArNDMsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBpbml0Rm9yQXV0aGVudGljYXRpb24oUURlY2xhcmF0aXZlQ29tcG9uZW50KiwgUVF1
aWNrSXRlbSogZGlhbG9nUGFyZW50LCBjb25zdCBRU3RyaW5nJiBob3N0bmFtZSwgY29uc3QgUVN0
cmluZyYgcmVhbG0sIGNvbnN0IFFTdHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lKTsKICAgICBib29s
IGluaXRGb3JDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvbihRRGVjbGFyYXRpdmVDb21wb25lbnQqLCBR
UXVpY2tJdGVtKiwgY29uc3QgUVN0cmluZyYgaG9zdG5hbWUpOwogICAgIGJvb2wgaW5pdEZvclBy
b3h5QXV0aGVudGljYXRpb24oUURlY2xhcmF0aXZlQ29tcG9uZW50KiwgUVF1aWNrSXRlbSosIGNv
bnN0IFFTdHJpbmcmIGhvc3RuYW1lLCB1aW50MTZfdCBwb3J0LCBjb25zdCBRU3RyaW5nJiBwcmVm
aWxsZWRVc2VybmFtZSk7Ci0gICAgYm9vbCBpbml0Rm9yRmlsZVBpY2tlcihRRGVjbGFyYXRpdmVD
b21wb25lbnQqLCBRUXVpY2tJdGVtKiwgY29uc3QgUVN0cmluZ0xpc3QmIHNlbGVjdGVkRmlsZXMp
OworICAgIGJvb2wgaW5pdEZvckZpbGVQaWNrZXIoUURlY2xhcmF0aXZlQ29tcG9uZW50KiwgUVF1
aWNrSXRlbSosIGNvbnN0IFFTdHJpbmdMaXN0JiBzZWxlY3RlZEZpbGVzLCBib29sIGFsbG93TXVs
dGlwbGUpOwogICAgIGJvb2wgaW5pdEZvckRhdGFiYXNlUXVvdGFEaWFsb2coUURlY2xhcmF0aXZl
Q29tcG9uZW50KiwgUVF1aWNrSXRlbSosIGNvbnN0IFFTdHJpbmcmIGRhdGFiYXNlTmFtZSwgY29u
c3QgUVN0cmluZyYgZGlzcGxheU5hbWUsIFdLU2VjdXJpdHlPcmlnaW5SZWYsIHF1aW50NjQgY3Vy
cmVudFF1b3RhLCBxdWludDY0IGN1cnJlbnRPcmlnaW5Vc2FnZSwgcXVpbnQ2NCBjdXJyZW50RGF0
YWJhc2VVc2FnZSwgcXVpbnQ2NCBleHBlY3RlZFVzYWdlKTsKIAogICAgIFFRdWlja0l0ZW0qIGRp
YWxvZygpIGNvbnN0IHsgcmV0dXJuIG1fZGlhbG9nLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Ub29s
cy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODkwNzQ4MC4uZDlkOTM0NyAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIyIEBACisyMDEyLTAzLTI2ICBEaW51IEphY29iICA8ZGludS5qYWNvYkBub2tpYS5jb20+CisK
KyAgICAgICAgW1F0XVtXSzJdIFN1cHBvcnQgbXVsdGktZmlsZSB1cGxvYWQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxNTg5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCisKKyAgICAgICAgTW9kaWZpZWQgZmlsZVBpY2tlciB0
byBzdXBwb3J0IG11bHRpLWZpbGUgdXBsb2FkLgorCisgICAgICAgICogTWluaUJyb3dzZXIvcXQv
TWluaUJyb3dzZXIucXJjOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L2ljb25zL2NoZWNrYm94
X2NoZWNrZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9pY29ucy9jaGVj
a2JveF91bmNoZWNrZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9qcy9N
dWx0aVNlbGVjdC5qczogQWRkZWQuCisgICAgICAgICh2YWx1ZXMpOgorICAgICAgICAoaXNTZWxl
Y3RlZCk6CisgICAgICAgIChyZW1vdmVWYWx1ZSk6CisgICAgICAgICogTWluaUJyb3dzZXIvcXQv
cW1sL0NoZWNrQm94LnFtbDogQWRkZWQuCisgICAgICAgICogTWluaUJyb3dzZXIvcXQvcW1sL0Zp
bGVQaWNrZXIucW1sOgorCiAyMDEyLTAzLTI2ICBMZW8gWWFuZyAgPGxlby55YW5nQHRvcmNobW9i
aWxlLmNvbS5jbj4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gU2tlbGV0b24gY29kZSBvZiBBc3lu
Y0ZpbGVTeXN0ZW1CbGFja0JlcnJ5LmNwcApkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIv
cXQvTWluaUJyb3dzZXIucXJjIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucXJj
CmluZGV4IGU4MTEzMmEuLmI1NDkwYmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL3F0
L01pbmlCcm93c2VyLnFyYworKysgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5x
cmMKQEAgLTEsNSArMSw3IEBACiA8UkNDPgogICAgIDxxcmVzb3VyY2UgcHJlZml4PSIvIj4KKyAg
ICAgICAgPGZpbGU+aWNvbnMvY2hlY2tib3hfY2hlY2tlZC5wbmc8L2ZpbGU+CisgICAgICAgIDxm
aWxlPmljb25zL2NoZWNrYm94X3VuY2hlY2tlZC5wbmc8L2ZpbGU+CiAgICAgICAgIDxmaWxlPmlj
b25zL2Zhdmljb24ucG5nPC9maWxlPgogICAgICAgICA8ZmlsZT5pY29ucy9mb2xkZXIucG5nPC9m
aWxlPgogICAgICAgICA8ZmlsZT5pY29ucy9pbmZvLnBuZzwvZmlsZT4KQEAgLTEyLDkgKzE0LDEx
IEBACiAgICAgICAgIDxmaWxlPmljb25zL3RvdWNoLnBuZzwvZmlsZT4KICAgICAgICAgPGZpbGU+
aWNvbnMvdG91Y2hwb2ludC5wbmc8L2ZpbGU+CiAgICAgICAgIDxmaWxlPmljb25zL3VwLnBuZzwv
ZmlsZT4KKyAgICAgICAgPGZpbGU+anMvTXVsdGlTZWxlY3QuanM8L2ZpbGU+CiAgICAgICAgIDxm
aWxlPnFtbC9BbGVydERpYWxvZy5xbWw8L2ZpbGU+CiAgICAgICAgIDxmaWxlPnFtbC9BdXRoZW50
aWNhdGlvbkRpYWxvZy5xbWw8L2ZpbGU+CiAgICAgICAgIDxmaWxlPnFtbC9Ccm93c2VyV2luZG93
LnFtbDwvZmlsZT4KKyAgICAgICAgPGZpbGU+cW1sL0NoZWNrQm94LnFtbDwvZmlsZT4KICAgICAg
ICAgPGZpbGU+cW1sL0NvbmZpcm1EaWFsb2cucW1sPC9maWxlPgogICAgICAgICA8ZmlsZT5xbWwv
RGlhbG9nLnFtbDwvZmlsZT4KICAgICAgICAgPGZpbGU+cW1sL0RpYWxvZ0J1dHRvbi5xbWw8L2Zp
bGU+CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9pY29ucy9jaGVja2JveF9jaGVj
a2VkLnBuZyBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L2ljb25zL2NoZWNrYm94X2NoZWNrZWQucG5n
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmNiZjA2ZjY1MTNkNmIxMTcyMTI5MGMzZjBmM2JlNWJkMmQxNTdlODQKR0lU
IGJpbmFyeSBwYXRjaApsaXRlcmFsIDI2Mwp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHZwQEFrNHU2
QnlUKkBgM3xJKmlrJjx8STU8TXp4UGImRU9JI3lMZzdlYyMKeiRgZ3hIOE9xRGNeKW1DYWk8MSl6
UXVYcVMocjNUM2twZTIzP2RqcWVCNV5yNlZAPH1OTSRzPz5sWWhycTQrZWMjCnoreUJPfj9ZcjlI
ckZKRU1AKjU1b2VfblJTY0I/QDVtQTVhfitEcmU+enRnRXduIyZmaj09MFRFXldPTFZVdylfaAp6
R1ZBb0h7a3VRQEAyWmFIXlojfH0kTnVqfWtBTEhyRW0tLXVkLWd4R2ZBNSlKejQtQkMmLVolZk5t
dHRZZTYxWnkKelVpWih3PnxuT1k8OE9YTSNqM1piVSRQMXVTTVlURl5MM0FTX3heJWJ3c1F0NzN7
JnNAeFI2a3ZZNil+RWdRdSZYCkolUX5sb0NJQmV5YmxVJmAKCmxpdGVyYWwgMApIY21WP2QwMDAw
MQoKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L2ljb25zL2NoZWNrYm94X3VuY2hl
Y2tlZC5wbmcgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9pY29ucy9jaGVja2JveF91bmNoZWNrZWQu
cG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjVmNTQ2NTU4MmE5YTJlNmE4NWFkYmUwN2E0YTJkYTVlODBiOGIwMTcK
R0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDE1OQp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHZwQEFr
NHU2QnlUKkBgM3xJKmlrJjx8STU8TXp4UGImRU9JI3lMZzdlYyMKeiRgZ3hIOE9xRGNeKW1DYWk8
MSl6UXVYcVMocjNUM2twZTAqX0g9TyFrK19fa3Vfb2hCcWlDM2MkLW0+UTJaTyQ9Cno/U0pGZ19G
ZTdwUW9FOHJgM2BPSlImNWhSPG13LUNAeTwhKVZFRWVxR3Z1dTdlVn1kejIyV1ElbXZ2NEZPI3NT
QgpCR3VIcUIKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlC
cm93c2VyL3F0L2pzL011bHRpU2VsZWN0LmpzIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvanMvTXVs
dGlTZWxlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWU4N2Y1ZAot
LS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L2pzL011bHRpU2VsZWN0Lmpz
CkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgTm9raWEgQ29ycG9y
YXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAq
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisg
KiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisg
KiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgc2VlIHRoZSBm
aWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisKK3ZhciB2YWx1ZXMgPSBbXQor
CitmdW5jdGlvbiBzZWxlY3RlZFZhbHVlcygpIHsKKyAgICByZXR1cm4gdmFsdWVzCit9CisKK2Z1
bmN0aW9uIGlzU2VsZWN0ZWQodmFsdWUpIHsKKyAgICByZXR1cm4gKHZhbHVlcy5pbmRleE9mKHZh
bHVlKSAhPSAtMSkKK30KKworZnVuY3Rpb24gYWRkVmFsdWUodmFsdWUpIHsKKyAgICBpZiAodmFs
dWVzLmluZGV4T2YodmFsdWUpICE9IC0xKQorICAgICAgICByZXR1cm4KKyAgICB2YWx1ZXMucHVz
aCh2YWx1ZSkKK30KKworZnVuY3Rpb24gcmVtb3ZlVmFsdWUodmFsdWUpIHsKKyAgICB2YXIgaW5k
ZXggPSB2YWx1ZXMuaW5kZXhPZih2YWx1ZSkKKworICAgIGlmIChpbmRleCA9PSAtMSkKKyAgICAg
ICAgcmV0dXJuCisgICAgdmFsdWVzLnNwbGljZShpbmRleCwgMSkKK30KZGlmZiAtLWdpdCBhL1Rv
b2xzL01pbmlCcm93c2VyL3F0L3FtbC9DaGVja0JveC5xbWwgYi9Ub29scy9NaW5pQnJvd3Nlci9x
dC9xbWwvQ2hlY2tCb3gucW1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4
NWI4MTEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9xbWwvQ2hlY2tC
b3gucW1sCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgTm9raWEg
Q29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
KyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCitpbXBvcnQgUXRRdWlj
ayAyLjAKKworSXRlbSB7CisgICAgaWQ6IGNoZWNrYm94CisgICAgd2lkdGg6IDUwCisgICAgaGVp
Z2h0OiBwYXJlbnQuaGVpZ2h0CisgICAgcHJvcGVydHkgYm9vbCBjaGVja2VkCisKKyAgICBJbWFn
ZSB7CisgICAgICAgIHdpZHRoOiAyNAorICAgICAgICBoZWlnaHQ6IDI0CisgICAgICAgIHNvdXJj
ZTogcGFyZW50LmNoZWNrZWQgPyAnLi4vaWNvbnMvY2hlY2tib3hfY2hlY2tlZC5wbmcnIDogJy4u
L2ljb25zL2NoZWNrYm94X3VuY2hlY2tlZC5wbmcnCisgICAgICAgIGFuY2hvcnMudmVydGljYWxD
ZW50ZXI6IHBhcmVudC52ZXJ0aWNhbENlbnRlcgorICAgIH0KK30KZGlmZiAtLWdpdCBhL1Rvb2xz
L01pbmlCcm93c2VyL3F0L3FtbC9GaWxlUGlja2VyLnFtbCBiL1Rvb2xzL01pbmlCcm93c2VyL3F0
L3FtbC9GaWxlUGlja2VyLnFtbAppbmRleCA1YmViODZhLi4yMjJkNGMzIDEwMDY0NAotLS0gYS9U
b29scy9NaW5pQnJvd3Nlci9xdC9xbWwvRmlsZVBpY2tlci5xbWwKKysrIGIvVG9vbHMvTWluaUJy
b3dzZXIvcXQvcW1sL0ZpbGVQaWNrZXIucW1sCkBAIC0yMCw2ICsyMCw3IEBACiAKIGltcG9ydCBR
dFF1aWNrIDIuMAogaW1wb3J0IFF0LmxhYnMuZm9sZGVybGlzdG1vZGVsIDEuMAoraW1wb3J0ICIu
Li9qcy9NdWx0aVNlbGVjdC5qcyIgYXMgTXVsdGlTZWxlY3QKIAogUmVjdGFuZ2xlIHsKICAgICBp
ZDogZmlsZVBpY2tlcgpAQCAtMTA5LDggKzExMCwxOSBAQCBSZWN0YW5nbGUgewogICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uIHNlbGVjdGVkKCkgewogICAgICAgICAgICAgICAgICAgICBpZiAoZm9s
ZGVycy5pc0ZvbGRlcihpbmRleCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuRm9sZGVy
KGZpbGVQYXRoKTsKLSAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAg
ICAgICAgZmlsZU1vZGVsLmFjY2VwdChmaWxlUGF0aCk7CisgICAgICAgICAgICAgICAgICAgIGVs
c2UgeworCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZU1vZGVsLmFsbG93TXVsdGlw
bGVGaWxlcykgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrYm94LmNoZWNrZWQg
PSAhY2hlY2tib3guY2hlY2tlZAorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNo
ZWNrYm94LmNoZWNrZWQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE11bHRpU2Vs
ZWN0LmFkZFZhbHVlKGZpbGVQYXRoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTXVsdGlTZWxlY3QucmVtb3ZlVmFsdWUo
ZmlsZVBhdGgpCisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZU1vZGVsLmFjY2VwdChm
aWxlUGF0aCkKKyAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KIAogICAg
ICAgICAgICAgICAgIGhlaWdodDogNTAKQEAgLTExOCw3ICsxMzAsNyBAQCBSZWN0YW5nbGUgewog
ICAgICAgICAgICAgICAgIGNvbG9yOiBmb2xkZXJzLmlzRm9sZGVyKGluZGV4KSA/ICJsaWdodGdy
YXkiOiAiZGFya2dyYXkiCiAKICAgICAgICAgICAgICAgICBJdGVtIHsKLSAgICAgICAgICAgICAg
ICAgICAgd2lkdGg6IDQ4OworICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAKICAgICAgICAg
ICAgICAgICAgICAgaGVpZ2h0OiA0OAogICAgICAgICAgICAgICAgICAgICBJbWFnZSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICBzb3VyY2U6ICIuLi9pY29ucy9mb2xkZXIucG5nIgpAQCAtMTI4
LDkgKzE0MCwyMiBAQCBSZWN0YW5nbGUgewogICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAg
ICAgICAgIFRleHQgeworICAgICAgICAgICAgICAgICAgICBpZDogZmlsZU5hbWVUZXh0CiAgICAg
ICAgICAgICAgICAgICAgIGFuY2hvcnMuY2VudGVySW46IHBhcmVudAotICAgICAgICAgICAgICAg
ICAgICBhbmNob3JzLmxlZnRNYXJnaW46IDUwCisgICAgICAgICAgICAgICAgICAgIGFuY2hvcnMu
bGVmdE1hcmdpbjogMjAKKyAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwMAogICAgICAgICAg
ICAgICAgICAgICB0ZXh0OiBmaWxlTmFtZQorICAgICAgICAgICAgICAgICAgICBlbGlkZTogVGV4
dC5FbGlkZUxlZnQ7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgQ2hlY2tC
b3ggeworICAgICAgICAgICAgICAgICAgICBpZDogY2hlY2tib3gKKworICAgICAgICAgICAgICAg
ICAgICBhbmNob3JzLnJpZ2h0OiBwYXJlbnQucmlnaHQKKyAgICAgICAgICAgICAgICAgICAgYW5j
aG9ycy52ZXJ0aWNhbENlbnRlcjogcGFyZW50LnZlcnRpY2FsQ2VudGVyCisKKyAgICAgICAgICAg
ICAgICAgICAgY2hlY2tlZDogTXVsdGlTZWxlY3QuaXNTZWxlY3RlZChmaWxlUGF0aCkKKyAgICAg
ICAgICAgICAgICAgICAgdmlzaWJsZTogZmlsZU1vZGVsLmFsbG93TXVsdGlwbGVGaWxlcyAmJiAh
Zm9sZGVycy5pc0ZvbGRlcihpbmRleCkKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAg
ICAgICBNb3VzZUFyZWEgewpAQCAtMTYwLDE1ICsxODUsMjUgQEAgUmVjdGFuZ2xlIHsKICAgICAg
ICAgICAgIHJpZ2h0OiBwYXJlbnQucmlnaHQKICAgICAgICAgfQogCi0gICAgICAgIERpYWxvZ0J1
dHRvbiB7Ci0gICAgICAgICAgICBpZDogY2FuY2VsCi0gICAgICAgICAgICB0ZXh0OiAiQ2FuY2Vs
IgotICAgICAgICAgICAgYW5jaG9ycyB7Ci0gICAgICAgICAgICAgICAgaG9yaXpvbnRhbENlbnRl
cjogcGFyZW50Lmhvcml6b250YWxDZW50ZXI7Ci0gICAgICAgICAgICAgICAgdmVydGljYWxDZW50
ZXI6ICBwYXJlbnQudmVydGljYWxDZW50ZXIKKyAgICAgICAgUm93IHsKKyAgICAgICAgICAgIGlk
OiBidXR0b25Sb3cKKyAgICAgICAgICAgIHNwYWNpbmc6IDEwCisgICAgICAgICAgICBhbmNob3Jz
Lmhvcml6b250YWxDZW50ZXI6IHBhcmVudC5ob3Jpem9udGFsQ2VudGVyCisgICAgICAgICAgICBh
bmNob3JzLnZlcnRpY2FsQ2VudGVyOiBwYXJlbnQudmVydGljYWxDZW50ZXIKKworICAgICAgICAg
ICAgRGlhbG9nQnV0dG9uIHsKKyAgICAgICAgICAgICAgICBpZDogY2FuY2VsCisgICAgICAgICAg
ICAgICAgdGV4dDogIkNhbmNlbCIKKyAgICAgICAgICAgICAgICBvbkNsaWNrZWQ6IGZpbGVNb2Rl
bC5yZWplY3QoKQogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBvbkNsaWNrZWQ6IGZpbGVN
b2RlbC5yZWplY3QoKQorICAgICAgICAgICAgRGlhbG9nQnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICBpZDogYWNjZXB0CisgICAgICAgICAgICAgICAgdGV4dDogIk9rIgorICAgICAgICAgICAgICAg
IHZpc2libGU6IGZpbGVNb2RlbC5hbGxvd011bHRpcGxlRmlsZXMKKyAgICAgICAgICAgICAgICBv
bkNsaWNrZWQ6CisgICAgICAgICAgICAgICAgICAgIGZpbGVNb2RlbC5hY2NlcHQoTXVsdGlTZWxl
Y3Quc2VsZWN0ZWRWYWx1ZXMoKSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133876</attachid>
            <date>2012-03-26 13:20:07 -0700</date>
            <delta_ts>2012-03-26 14:00:14 -0700</delta_ts>
            <desc>Patch again</desc>
            <filename>81589_latest.patch</filename>
            <type>text/plain</type>
            <size>21432</size>
            <attacher name="Dinu Jacob">dinu.jacob</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBhNjViOTViLi5kYzk4MWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEg
QEAKKzIwMTItMDMtMjYgIERpbnUgSmFjb2IgIDxkaW51LmphY29iQG5va2lhLmNvbT4KKworICAg
ICAgICBbUXRdW1dLMl0gU3VwcG9ydCBtdWx0aS1maWxlIHVwbG9hZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE1ODkKKworICAgICAgICBSZXZpZXdl
ZCBieSBTaW1vbiBIYXVzbWFubi4KKworICAgICAgICBBZGRlZCAnYWxsb3dNdXRpcGxlRmlsZXMn
IHByb3BlcnR5IHRvIGZpbGVQaWNrZXIgY29udGV4dCBwcm9wZXJ0eSB0byBpbmRpY2F0ZSB3aGV0
aGVyIHRvIGFsbG93CisgICAgICAgIG11bHRpcGxlIGZpbGUgc2VsZWN0aW9ucy4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHA6CisgICAgICAgIChRUXVpY2tX
ZWJWaWV3UHJpdmF0ZTo6Y2hvb3NlRmlsZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQv
dGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yLnBybzoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci90c3RfbXVsdGlGaWxlVXBsb2Fk
LnFtbDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9E
ZXNrdG9wQmVoYXZpb3IvdHN0X3NpbmdsZUZpbGVVcGxvYWQucW1sOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvY29tbW9uL211bHRpZmlsZXVwbG9hZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1vbi9z
aW5nbGVmaWxldXBsb2FkLmh0bWw6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9x
bWx0ZXN0cy9jb21tb24vdGl0bGV1cGRhdGUuanM6IEFkZGVkLgorICAgICAgICAodXBkYXRlVGl0
bGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5jcHA6CisgICAgICAg
IChGaWxlUGlja2VyQ29udGV4dE9iamVjdCk6CisgICAgICAgIChGaWxlUGlja2VyQ29udGV4dE9i
amVjdDo6RmlsZVBpY2tlckNvbnRleHRPYmplY3QpOgorICAgICAgICAoRmlsZVBpY2tlckNvbnRl
eHRPYmplY3Q6OmFsbG93TXVsdGlwbGVGaWxlcyk6CisgICAgICAgIChGaWxlUGlja2VyQ29udGV4
dE9iamVjdDo6YWNjZXB0KToKKyAgICAgICAgKFF0RGlhbG9nUnVubmVyOjppbml0Rm9yRmlsZVBp
Y2tlcik6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVubmVyLmg6CisgICAgICAg
IChRdERpYWxvZ1J1bm5lcik6CisKIDIwMTItMDMtMjYgIFBpZXJyZSBSb3NzaSAgPHBpZXJyZS5y
b3NzaUBub2tpYS5jb20+CiAKICAgICAgICAgW1F0XVtXSzJdIGRlZmF1bHQgZmFtaWxpZXMgYXJl
IG5vdCBzZXQgaW4gUVdlYlByZWZlcmVuY2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcAppbmRleCAwMzEyNGQ5Li5mY2U0M2FkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAK
QEAgLTM2NCwxMSArMzY0LDExIEBAIHZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmNob29zZUZp
bGVzKFdLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXJSZWYsCiB7CiAgICAgUV9R
KFFRdWlja1dlYlZpZXcpOwogCi0gICAgaWYgKCFmaWxlUGlja2VyIHx8IHR5cGUgPT0gUXRXZWJQ
YWdlVUlDbGllbnQ6Ok11bHRpcGxlRmlsZXNTZWxlY3Rpb24pCisgICAgaWYgKCFmaWxlUGlja2Vy
KQogICAgICAgICByZXR1cm47CiAKICAgICBRdERpYWxvZ1J1bm5lciBkaWFsb2dSdW5uZXI7Ci0g
ICAgaWYgKCFkaWFsb2dSdW5uZXIuaW5pdEZvckZpbGVQaWNrZXIoZmlsZVBpY2tlciwgcSwgc2Vs
ZWN0ZWRGaWxlTmFtZXMpKQorICAgIGlmICghZGlhbG9nUnVubmVyLmluaXRGb3JGaWxlUGlja2Vy
KGZpbGVQaWNrZXIsIHEsIHNlbGVjdGVkRmlsZU5hbWVzLCAoYm9vbCl0eXBlKSkKICAgICAgICAg
cmV0dXJuOwogCiAgICAgZXhlY0RpYWxvZ1J1bm5lcihkaWFsb2dSdW5uZXIpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9EZXNrdG9w
QmVoYXZpb3IucHJvIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0
ZXN0cy9EZXNrdG9wQmVoYXZpb3IucHJvCmluZGV4IDVjZjQ2Y2IuLjU5YTNjYTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVza3Rv
cEJlaGF2aW9yLnBybworKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3Rz
L3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci5wcm8KQEAgLTIwLDQgKzIwLDUgQEAgT1RIRVJfRklM
RVMgKz0gXAogICAgIERlc2t0b3BCZWhhdmlvci90c3RfbG9hZEh0bWwucW1sIFwKICAgICBEZXNr
dG9wQmVoYXZpb3IvdHN0X21lc3NhZ2luZy5xbWwgXAogICAgIERlc2t0b3BCZWhhdmlvci90c3Rf
bmF2aWdhdGlvblJlcXVlc3RlZC5xbWwgXAotICAgIERlc2t0b3BCZWhhdmlvci90c3Rfc2luZ2xl
ZmlsZXVwbG9hZC5xbWwKKyAgICBEZXNrdG9wQmVoYXZpb3IvdHN0X3NpbmdsZUZpbGV1cGxvYWQu
cW1sIFwKKyAgICBEZXNrdG9wQmVoYXZpb3IvdHN0X211bHRpRmlsZXVwbG9hZC5xbWwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVz
a3RvcEJlaGF2aW9yL3RzdF9tdWx0aUZpbGVVcGxvYWQucW1sIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9EZXNrdG9wQmVoYXZpb3IvdHN0X211bHRpRmls
ZVVwbG9hZC5xbWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQzZjY1Ngot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMv
cW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yL3RzdF9tdWx0aUZpbGVVcGxvYWQucW1sCkBAIC0wLDAg
KzEsNjYgQEAKK2ltcG9ydCBRdFF1aWNrIDIuMAoraW1wb3J0IFF0VGVzdCAxLjAKK2ltcG9ydCBR
dFdlYktpdCAzLjAKK2ltcG9ydCBRdFdlYktpdC5leHBlcmltZW50YWwgMS4wCitpbXBvcnQgIi4u
L2NvbW1vbiIKKworLy8gRklYTUU6IEFkZGVkIHRvIERlc2t0b3AgdGVzdHMgYmVjYXVzZSB3ZSB3
YW50IHRvIGhhdmUgbW91c2VDbGljaygpIHRvIG9wZW4gdGhlIDxpbnB1dD4gdGFnLiBXZSBjYW4g
bW92ZSBpdCBiYWNrCisvLyB3aGVuIFRlc3RDYXNlIHN0YXJ0cyBzdXBwb3J0aW5nIHRvdWNoIGV2
ZW50cywgc2VlIGh0dHBzOi8vYnVncmVwb3J0cy5xdC5ub2tpYS5jb20vYnJvd3NlL1FUQlVHLTIz
MDgzLgorVGVzdFdlYlZpZXcgeworICAgIGlkOiB3ZWJWaWV3CisKKyAgICB3aWR0aDogNDAwCisg
ICAgaGVpZ2h0OiA0MDAKKworICAgIHByb3BlcnR5IGJvb2wgc2VsZWN0RmlsZQorCisgICAgZXhw
ZXJpbWVudGFsLmZpbGVQaWNrZXI6IEl0ZW0geworICAgICAgICBUaW1lciB7CisgICAgICAgICAg
ICBydW5uaW5nOiB0cnVlCisgICAgICAgICAgICBpbnRlcnZhbDogMQorICAgICAgICAgICAgb25U
cmlnZ2VyZWQ6IHsKKyAgICAgICAgICAgICAgICB2YXIgc2VsZWN0ZWRGaWxlcyA9IFsiZmlsZW5h
bWUxIiwgImZpbGVuYW1lMiJdCisgICAgICAgICAgICAgICAgaWYgKHNlbGVjdEZpbGUpCisgICAg
ICAgICAgICAgICAgICAgIG1vZGVsLmFjY2VwdChzZWxlY3RlZEZpbGVzKQorICAgICAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgbW9kZWwucmVqZWN0KCk7CisgICAgICAgICAg
ICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBTaWduYWxTcHkgeworICAgICAgICBpZDogdGl0
bGVTcHkKKyAgICAgICAgdGFyZ2V0OiB3ZWJWaWV3CisgICAgICAgIHNpZ25hbE5hbWU6ICJ0aXRs
ZUNoYW5nZWQiCisgICAgfQorCisgICAgVGVzdENhc2UgeworICAgICAgICBpZDogdGVzdAorICAg
ICAgICBuYW1lOiAiV2ViVmlld011bHRpRmlsZVBpY2tlciIKKyAgICAgICAgd2hlbjogd2luZG93
U2hvd24KKworICAgICAgICBmdW5jdGlvbiBpbml0KCkgeworICAgICAgICAgICAgd2ViVmlldy51
cmwgPSBRdC5yZXNvbHZlZFVybCgiLi4vY29tbW9uL211bHRpZmlsZXVwbG9hZC5odG1sIikKKyAg
ICAgICAgICAgIHZlcmlmeSh3ZWJWaWV3LndhaXRGb3JMb2FkU3VjY2VlZGVkKCkpCisgICAgICAg
ICAgICB0aXRsZVNweS5jbGVhcigpCisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiBvcGVu
SXRlbVNlbGVjdG9yKCkgeworICAgICAgICAgICAgbW91c2VDbGljayh3ZWJWaWV3LCAxNSwgMTUs
IFF0LkxlZnRCdXR0b24pCisgICAgICAgIH0KKworICAgICAgICBmdW5jdGlvbiB0ZXN0X2FjY2Vw
dCgpIHsKKyAgICAgICAgICAgIHdlYlZpZXcuc2VsZWN0RmlsZSA9IHRydWU7CisgICAgICAgICAg
ICBvcGVuSXRlbVNlbGVjdG9yKCkKKyAgICAgICAgICAgIHRpdGxlU3B5LndhaXQoKQorICAgICAg
ICAgICAgY29tcGFyZSh3ZWJWaWV3LnRpdGxlLCAiZmlsZW5hbWUxLGZpbGVuYW1lMiIpCisgICAg
ICAgIH0KKworICAgICAgICBmdW5jdGlvbiB0ZXN0X3JlamVjdCgpIHsKKyAgICAgICAgICAgIHZh
ciBvbGRUaXRsZSA9IHdlYlZpZXcudGl0bGUKKyAgICAgICAgICAgIHdlYlZpZXcuc2VsZWN0Rmls
ZSA9IGZhbHNlOworICAgICAgICAgICAgb3Blbkl0ZW1TZWxlY3RvcigpCisgICAgICAgICAgICBj
b21wYXJlKHdlYlZpZXcudGl0bGUsIG9sZFRpdGxlKQorICAgICAgICB9CisgICAgfQorfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9E
ZXNrdG9wQmVoYXZpb3IvdHN0X3NpbmdsZUZpbGVVcGxvYWQucW1sIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9EZXNrdG9wQmVoYXZpb3IvdHN0X3Npbmds
ZUZpbGVVcGxvYWQucW1sCmluZGV4IGNlNDk1ZWEuLjdjYTllZmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9y
L3RzdF9zaW5nbGVGaWxlVXBsb2FkLnFtbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci90c3Rfc2luZ2xlRmlsZVVwbG9h
ZC5xbWwKQEAgLTEzLDE0ICsxMywyMCBAQCBUZXN0V2ViVmlldyB7CiAgICAgaGVpZ2h0OiA0MDAK
IAogICAgIHByb3BlcnR5IGJvb2wgc2VsZWN0RmlsZQorICAgIHByb3BlcnR5IGJvb2wgYWNjZXB0
TXVsdGlwbGU6IGZhbHNlCiAKICAgICBleHBlcmltZW50YWwuZmlsZVBpY2tlcjogSXRlbSB7CiAg
ICAgICAgIFRpbWVyIHsKICAgICAgICAgICAgIHJ1bm5pbmc6IHRydWUKICAgICAgICAgICAgIGlu
dGVydmFsOiAxCiAgICAgICAgICAgICBvblRyaWdnZXJlZDogewotICAgICAgICAgICAgICAgIGlm
IChzZWxlY3RGaWxlKQotICAgICAgICAgICAgICAgICAgICBtb2RlbC5hY2NlcHQoImFjY2VwdGVk
ZmlsZW5hbWUiKTsKKyAgICAgICAgICAgICAgICB2YXIgc2VsZWN0ZWRGaWxlcyA9IFsiZmlsZW5h
bWUxIiwgImZpbGVuYW1lMiJdCisgICAgICAgICAgICAgICAgaWYgKHNlbGVjdEZpbGUpIHsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKGFjY2VwdE11bHRpcGxlKQorICAgICAgICAgICAgICAgICAg
ICAgICAgbW9kZWwuYWNjZXB0KHNlbGVjdGVkRmlsZXMpCisgICAgICAgICAgICAgICAgICAgIGVs
c2UKKyAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsLmFjY2VwdCgiYWNjZXB0ZWRmaWxlbmFt
ZSIpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAg
ICAgICAgICAgIG1vZGVsLnJlamVjdCgpOwogICAgICAgICAgICAgfQpAQCAtNTUsNiArNjEsMTQg
QEAgVGVzdFdlYlZpZXcgewogICAgICAgICAgICAgY29tcGFyZSh3ZWJWaWV3LnRpdGxlLCAiYWNj
ZXB0ZWRmaWxlbmFtZSIpCiAgICAgICAgIH0KIAorICAgICAgICBmdW5jdGlvbiB0ZXN0X211bHRp
cGxlKCkgeworICAgICAgICAgICAgd2ViVmlldy5zZWxlY3RGaWxlID0gdHJ1ZTsKKyAgICAgICAg
ICAgIHdlYlZpZXcuYWNjZXB0TXVsdGlwbGUgPSB0cnVlOworICAgICAgICAgICAgb3Blbkl0ZW1T
ZWxlY3RvcigpCisgICAgICAgICAgICB0aXRsZVNweS53YWl0KCkKKyAgICAgICAgICAgIGNvbXBh
cmUod2ViVmlldy50aXRsZSwgImZpbGVuYW1lMSIpCisgICAgICAgIH0KKwogICAgICAgICBmdW5j
dGlvbiB0ZXN0X3JlamVjdCgpIHsKICAgICAgICAgICAgIHZhciBvbGRUaXRsZSA9IHdlYlZpZXcu
dGl0bGUKICAgICAgICAgICAgIHdlYlZpZXcuc2VsZWN0RmlsZSA9IGZhbHNlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9jb21tb24v
bXVsdGlmaWxldXBsb2FkLmh0bWwgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rl
c3RzL3FtbHRlc3RzL2NvbW1vbi9tdWx0aWZpbGV1cGxvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi43NzAxZWQ0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9jb21tb24vbXVsdGlmaWxldXBs
b2FkLmh0bWwKQEAgLTAsMCArMSwxMSBAQAorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZp
ZXdwb3J0IiBpbml0aWFsLXNjYWxlPTEiPgorPHRpdGxlPiBNdXRsaS1maWxlIFVwbG9hZCA8L3Rp
dGxlPgorPHNjcmlwdCBzcmMgPSAiLi90aXRsZXVwZGF0ZS5qcyI+Cis8L3NjcmlwdD4KKworPGJv
ZHk+Cis8aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgaWQ9InVwZmlsZSIgb25jaGFuZ2U9
InVwZGF0ZVRpdGxlKCkiIG11bHRpcGxlLz4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvY29tbW9uL3Np
bmdsZWZpbGV1cGxvYWQuaHRtbCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVz
dHMvcW1sdGVzdHMvY29tbW9uL3NpbmdsZWZpbGV1cGxvYWQuaHRtbAppbmRleCA1ODBiOTk5Li4z
OGUzNDVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3Rz
L3FtbHRlc3RzL2NvbW1vbi9zaW5nbGVmaWxldXBsb2FkLmh0bWwKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9jb21tb24vc2luZ2xlZmlsZXVwbG9h
ZC5odG1sCkBAIC0xLDIzICsxLDggQEAKIDxodG1sPgogPGhlYWQ+CiA8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgaW5pdGlhbC1zY2FsZT0xIj4KLTx0aXRsZT5ObyBmaWxlIHNlbGVjdGVkPC90aXRsZT4K
LTxzY3JpcHQ+Ci1mdW5jdGlvbiB1cGRhdGVUaXRsZSgpCi17Ci0gICAgdmFyIGlucCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ1cGZpbGUiKTsKLSAgICB2YXIgYWxsZmlsZXMgPSBuZXcgU3Ry
aW5nKCIiKTsKLSAgICB2YXIgbmFtZSA9IG5ldyBTdHJpbmcoIiIpOwotICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgaW5wLmZpbGVzLmxlbmd0aDsgKytpKQotICAgIHsKLSAgICAgICAgbmFtZSA9IGlu
cC5maWxlcy5pdGVtKGkpLm5hbWU7Ci0gICAgICAgIGlmIChhbGxmaWxlcy5sZW5ndGggPT0gMCkK
LSAgICAgICAgICAgIGFsbGZpbGVzID0gbmFtZTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAg
YWxsZmlsZXMgPSBhbGxmaWxlcyArICIsIiArIG5hbWU7Ci0gICAgfQotICAgIGRvY3VtZW50LnRp
dGxlID0gYWxsZmlsZXM7Ci19Cis8dGl0bGU+IFNpbmdsZSBGaWxlIFVwbG9hZCA8L3RpdGxlPgor
PHNjcmlwdCBzcmMgPSAiLi90aXRsZXVwZGF0ZS5qcyI+CiA8L3NjcmlwdD4KIAogPGJvZHk+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3Rz
L2NvbW1vbi90aXRsZXVwZGF0ZS5qcyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
dGVzdHMvcW1sdGVzdHMvY29tbW9uL3RpdGxldXBkYXRlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjJhNWJhYzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1vbi90aXRsZXVwZGF0ZS5qcwpA
QCAtMCwwICsxLDE1IEBACitmdW5jdGlvbiB1cGRhdGVUaXRsZSgpCit7CisgICAgdmFyIGlucCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ1cGZpbGUiKTsKKyAgICB2YXIgYWxsZmlsZXMgPSBu
ZXcgU3RyaW5nKCIiKTsKKyAgICB2YXIgbmFtZSA9IG5ldyBTdHJpbmcoIiIpOworICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgaW5wLmZpbGVzLmxlbmd0aDsgKytpKQorICAgIHsKKyAgICAgICAgbmFt
ZSA9IGlucC5maWxlcy5pdGVtKGkpLm5hbWU7CisgICAgICAgIGlmIChhbGxmaWxlcy5sZW5ndGgg
PT0gMCkKKyAgICAgICAgICAgIGFsbGZpbGVzID0gbmFtZTsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgYWxsZmlsZXMgPSBhbGxmaWxlcyArICIsIiArIG5hbWU7CisgICAgfQorICAgIGRvY3Vt
ZW50LnRpdGxlID0gYWxsZmlsZXM7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0
L1F0RGlhbG9nUnVubmVyLmNwcAppbmRleCBkOTM4NWU4Li44ZjYyODk2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5jcHAKQEAgLTE2MywyNSArMTYz
LDM2IEBAIHByaXZhdGU6CiBjbGFzcyBGaWxlUGlja2VyQ29udGV4dE9iamVjdCA6IHB1YmxpYyBR
T2JqZWN0IHsKICAgICBRX09CSkVDVAogICAgIFFfUFJPUEVSVFkoUVN0cmluZ0xpc3QgZmlsZUxp
c3QgUkVBRCBmaWxlTGlzdCBDT05TVEFOVCkKKyAgICBRX1BST1BFUlRZKGJvb2wgYWxsb3dNdWx0
aXBsZUZpbGVzIFJFQUQgYWxsb3dNdWx0aXBsZUZpbGVzIENPTlNUQU5UKQogCiBwdWJsaWM6Ci0g
ICAgRmlsZVBpY2tlckNvbnRleHRPYmplY3QoY29uc3QgUVN0cmluZ0xpc3QmIHNlbGVjdGVkRmls
ZXMpCisgICAgRmlsZVBpY2tlckNvbnRleHRPYmplY3QoY29uc3QgUVN0cmluZ0xpc3QmIHNlbGVj
dGVkRmlsZXMsIGJvb2wgYWxsb3dNdWx0aXBsZSkKICAgICAgICAgOiBRT2JqZWN0KCkKKyAgICAg
ICAgLCBtX2FsbG93TXVsdGlwbGUoYWxsb3dNdWx0aXBsZSkKICAgICAgICAgLCBtX2ZpbGVMaXN0
KHNlbGVjdGVkRmlsZXMpCiAgICAgewogICAgIH0KIAogICAgIFFTdHJpbmdMaXN0IGZpbGVMaXN0
KCkgY29uc3QgeyByZXR1cm4gbV9maWxlTGlzdDsgfQorICAgIGJvb2wgYWxsb3dNdWx0aXBsZUZp
bGVzKCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd011bHRpcGxlO30KIAogcHVibGljIHNsb3RzOgog
ICAgIHZvaWQgcmVqZWN0KCkgeyBlbWl0IHJlamVjdGVkKCk7fQotICAgIHZvaWQgYWNjZXB0KGNv
bnN0IFFWYXJpYW50JiBwYXRoKSB7IGVtaXQgZmlsZVNlbGVjdGVkKHBhdGgudG9TdHJpbmdMaXN0
KCkpOyB9CisgICAgdm9pZCBhY2NlcHQoY29uc3QgUVZhcmlhbnQmIHBhdGgpCisgICAgeworICAg
ICAgICBRU3RyaW5nTGlzdCBmaWxlc1BhdGggPSBwYXRoLnRvU3RyaW5nTGlzdCgpOworICAgICAg
ICAvLyBGb3Igc2luZ2xlIGZpbGUgdXBsb2FkLCBzZW5kIG9ubHkgdGhlIGZpcnN0IGVsZW1lbnQg
aWYgdGhlcmUgYXJlIG1vcmUgdGhhbiBvbmUgZmlsZSBwYXRocworICAgICAgICBpZiAoIW1fYWxs
b3dNdWx0aXBsZSAmJiBmaWxlc1BhdGguY291bnQoKSA+IDEpCisgICAgICAgICAgICBmaWxlc1Bh
dGggPSBRU3RyaW5nTGlzdChmaWxlc1BhdGguYXQoMCkpOworICAgICAgICBlbWl0IGZpbGVTZWxl
Y3RlZChmaWxlc1BhdGgpOworICAgIH0KIAogc2lnbmFsczoKICAgICB2b2lkIHJlamVjdGVkKCk7
CiAgICAgdm9pZCBmaWxlU2VsZWN0ZWQoY29uc3QgUVN0cmluZ0xpc3QmKTsKIAogcHJpdmF0ZToK
KyAgICBib29sIG1fYWxsb3dNdWx0aXBsZTsKICAgICBRU3RyaW5nTGlzdCBtX2ZpbGVMaXN0Owog
fTsKIApAQCAtMzEyLDkgKzMyMyw5IEBAIGJvb2wgUXREaWFsb2dSdW5uZXI6OmluaXRGb3JDZXJ0
aWZpY2F0ZVZlcmlmaWNhdGlvbihRRGVjbGFyYXRpdmVDb21wb25lbnQqIGNvbXBvCiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKLWJvb2wgUXREaWFsb2dSdW5uZXI6OmluaXRGb3JGaWxlUGlja2VyKFFE
ZWNsYXJhdGl2ZUNvbXBvbmVudCogY29tcG9uZW50LCBRUXVpY2tJdGVtKiBkaWFsb2dQYXJlbnQs
IGNvbnN0IFFTdHJpbmdMaXN0JiBzZWxlY3RlZEZpbGVzKQorYm9vbCBRdERpYWxvZ1J1bm5lcjo6
aW5pdEZvckZpbGVQaWNrZXIoUURlY2xhcmF0aXZlQ29tcG9uZW50KiBjb21wb25lbnQsIFFRdWlj
a0l0ZW0qIGRpYWxvZ1BhcmVudCwgY29uc3QgUVN0cmluZ0xpc3QmIHNlbGVjdGVkRmlsZXMsIGJv
b2wgYWxsb3dNdWx0aXBsZSkKIHsKLSAgICBGaWxlUGlja2VyQ29udGV4dE9iamVjdCogY29udGV4
dE9iamVjdCA9IG5ldyBGaWxlUGlja2VyQ29udGV4dE9iamVjdChzZWxlY3RlZEZpbGVzKTsKKyAg
ICBGaWxlUGlja2VyQ29udGV4dE9iamVjdCogY29udGV4dE9iamVjdCA9IG5ldyBGaWxlUGlja2Vy
Q29udGV4dE9iamVjdChzZWxlY3RlZEZpbGVzLCBhbGxvd011bHRpcGxlKTsKICAgICBpZiAoIWNy
ZWF0ZURpYWxvZyhjb21wb25lbnQsIGRpYWxvZ1BhcmVudCwgY29udGV4dE9iamVjdCkpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3F0L1F0RGlhbG9nUnVubmVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFs
b2dSdW5uZXIuaAppbmRleCAwZTU4NGFhLi5lOTY2MDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIuaApAQCAtNDMsNyArNDMsNyBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBpbml0Rm9yQXV0aGVudGljYXRpb24oUURlY2xhcmF0aXZlQ29tcG9uZW50KiwgUVF1
aWNrSXRlbSogZGlhbG9nUGFyZW50LCBjb25zdCBRU3RyaW5nJiBob3N0bmFtZSwgY29uc3QgUVN0
cmluZyYgcmVhbG0sIGNvbnN0IFFTdHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lKTsKICAgICBib29s
IGluaXRGb3JDZXJ0aWZpY2F0ZVZlcmlmaWNhdGlvbihRRGVjbGFyYXRpdmVDb21wb25lbnQqLCBR
UXVpY2tJdGVtKiwgY29uc3QgUVN0cmluZyYgaG9zdG5hbWUpOwogICAgIGJvb2wgaW5pdEZvclBy
b3h5QXV0aGVudGljYXRpb24oUURlY2xhcmF0aXZlQ29tcG9uZW50KiwgUVF1aWNrSXRlbSosIGNv
bnN0IFFTdHJpbmcmIGhvc3RuYW1lLCB1aW50MTZfdCBwb3J0LCBjb25zdCBRU3RyaW5nJiBwcmVm
aWxsZWRVc2VybmFtZSk7Ci0gICAgYm9vbCBpbml0Rm9yRmlsZVBpY2tlcihRRGVjbGFyYXRpdmVD
b21wb25lbnQqLCBRUXVpY2tJdGVtKiwgY29uc3QgUVN0cmluZ0xpc3QmIHNlbGVjdGVkRmlsZXMp
OworICAgIGJvb2wgaW5pdEZvckZpbGVQaWNrZXIoUURlY2xhcmF0aXZlQ29tcG9uZW50KiwgUVF1
aWNrSXRlbSosIGNvbnN0IFFTdHJpbmdMaXN0JiBzZWxlY3RlZEZpbGVzLCBib29sIGFsbG93TXVs
dGlwbGUpOwogICAgIGJvb2wgaW5pdEZvckRhdGFiYXNlUXVvdGFEaWFsb2coUURlY2xhcmF0aXZl
Q29tcG9uZW50KiwgUVF1aWNrSXRlbSosIGNvbnN0IFFTdHJpbmcmIGRhdGFiYXNlTmFtZSwgY29u
c3QgUVN0cmluZyYgZGlzcGxheU5hbWUsIFdLU2VjdXJpdHlPcmlnaW5SZWYsIHF1aW50NjQgY3Vy
cmVudFF1b3RhLCBxdWludDY0IGN1cnJlbnRPcmlnaW5Vc2FnZSwgcXVpbnQ2NCBjdXJyZW50RGF0
YWJhc2VVc2FnZSwgcXVpbnQ2NCBleHBlY3RlZFVzYWdlKTsKIAogICAgIFFRdWlja0l0ZW0qIGRp
YWxvZygpIGNvbnN0IHsgcmV0dXJuIG1fZGlhbG9nLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Ub29s
cy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODkwNzQ4MC4uZDlkOTM0NyAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIyIEBACisyMDEyLTAzLTI2ICBEaW51IEphY29iICA8ZGludS5qYWNvYkBub2tpYS5jb20+CisK
KyAgICAgICAgW1F0XVtXSzJdIFN1cHBvcnQgbXVsdGktZmlsZSB1cGxvYWQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxNTg5CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCisKKyAgICAgICAgTW9kaWZpZWQgZmlsZVBpY2tlciB0
byBzdXBwb3J0IG11bHRpLWZpbGUgdXBsb2FkLgorCisgICAgICAgICogTWluaUJyb3dzZXIvcXQv
TWluaUJyb3dzZXIucXJjOgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L2ljb25zL2NoZWNrYm94
X2NoZWNrZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9pY29ucy9jaGVj
a2JveF91bmNoZWNrZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9qcy9N
dWx0aVNlbGVjdC5qczogQWRkZWQuCisgICAgICAgICh2YWx1ZXMpOgorICAgICAgICAoaXNTZWxl
Y3RlZCk6CisgICAgICAgIChyZW1vdmVWYWx1ZSk6CisgICAgICAgICogTWluaUJyb3dzZXIvcXQv
cW1sL0NoZWNrQm94LnFtbDogQWRkZWQuCisgICAgICAgICogTWluaUJyb3dzZXIvcXQvcW1sL0Zp
bGVQaWNrZXIucW1sOgorCiAyMDEyLTAzLTI2ICBMZW8gWWFuZyAgPGxlby55YW5nQHRvcmNobW9i
aWxlLmNvbS5jbj4KIAogICAgICAgICBbQmxhY2tCZXJyeV0gU2tlbGV0b24gY29kZSBvZiBBc3lu
Y0ZpbGVTeXN0ZW1CbGFja0JlcnJ5LmNwcApkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIv
cXQvTWluaUJyb3dzZXIucXJjIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucXJj
CmluZGV4IGU4MTEzMmEuLmI1NDkwYmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2VyL3F0
L01pbmlCcm93c2VyLnFyYworKysgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5x
cmMKQEAgLTEsNSArMSw3IEBACiA8UkNDPgogICAgIDxxcmVzb3VyY2UgcHJlZml4PSIvIj4KKyAg
ICAgICAgPGZpbGU+aWNvbnMvY2hlY2tib3hfY2hlY2tlZC5wbmc8L2ZpbGU+CisgICAgICAgIDxm
aWxlPmljb25zL2NoZWNrYm94X3VuY2hlY2tlZC5wbmc8L2ZpbGU+CiAgICAgICAgIDxmaWxlPmlj
b25zL2Zhdmljb24ucG5nPC9maWxlPgogICAgICAgICA8ZmlsZT5pY29ucy9mb2xkZXIucG5nPC9m
aWxlPgogICAgICAgICA8ZmlsZT5pY29ucy9pbmZvLnBuZzwvZmlsZT4KQEAgLTEyLDkgKzE0LDEx
IEBACiAgICAgICAgIDxmaWxlPmljb25zL3RvdWNoLnBuZzwvZmlsZT4KICAgICAgICAgPGZpbGU+
aWNvbnMvdG91Y2hwb2ludC5wbmc8L2ZpbGU+CiAgICAgICAgIDxmaWxlPmljb25zL3VwLnBuZzwv
ZmlsZT4KKyAgICAgICAgPGZpbGU+anMvTXVsdGlTZWxlY3QuanM8L2ZpbGU+CiAgICAgICAgIDxm
aWxlPnFtbC9BbGVydERpYWxvZy5xbWw8L2ZpbGU+CiAgICAgICAgIDxmaWxlPnFtbC9BdXRoZW50
aWNhdGlvbkRpYWxvZy5xbWw8L2ZpbGU+CiAgICAgICAgIDxmaWxlPnFtbC9Ccm93c2VyV2luZG93
LnFtbDwvZmlsZT4KKyAgICAgICAgPGZpbGU+cW1sL0NoZWNrQm94LnFtbDwvZmlsZT4KICAgICAg
ICAgPGZpbGU+cW1sL0NvbmZpcm1EaWFsb2cucW1sPC9maWxlPgogICAgICAgICA8ZmlsZT5xbWwv
RGlhbG9nLnFtbDwvZmlsZT4KICAgICAgICAgPGZpbGU+cW1sL0RpYWxvZ0J1dHRvbi5xbWw8L2Zp
bGU+CmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9pY29ucy9jaGVja2JveF9jaGVj
a2VkLnBuZyBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L2ljb25zL2NoZWNrYm94X2NoZWNrZWQucG5n
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmNiZjA2ZjY1MTNkNmIxMTcyMTI5MGMzZjBmM2JlNWJkMmQxNTdlODQKR0lU
IGJpbmFyeSBwYXRjaApsaXRlcmFsIDI2Mwp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHZwQEFrNHU2
QnlUKkBgM3xJKmlrJjx8STU8TXp4UGImRU9JI3lMZzdlYyMKeiRgZ3hIOE9xRGNeKW1DYWk8MSl6
UXVYcVMocjNUM2twZTIzP2RqcWVCNV5yNlZAPH1OTSRzPz5sWWhycTQrZWMjCnoreUJPfj9ZcjlI
ckZKRU1AKjU1b2VfblJTY0I/QDVtQTVhfitEcmU+enRnRXduIyZmaj09MFRFXldPTFZVdylfaAp6
R1ZBb0h7a3VRQEAyWmFIXlojfH0kTnVqfWtBTEhyRW0tLXVkLWd4R2ZBNSlKejQtQkMmLVolZk5t
dHRZZTYxWnkKelVpWih3PnxuT1k8OE9YTSNqM1piVSRQMXVTTVlURl5MM0FTX3heJWJ3c1F0NzN7
JnNAeFI2a3ZZNil+RWdRdSZYCkolUX5sb0NJQmV5YmxVJmAKCmxpdGVyYWwgMApIY21WP2QwMDAw
MQoKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlCcm93c2VyL3F0L2ljb25zL2NoZWNrYm94X3VuY2hl
Y2tlZC5wbmcgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9pY29ucy9jaGVja2JveF91bmNoZWNrZWQu
cG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjVmNTQ2NTU4MmE5YTJlNmE4NWFkYmUwN2E0YTJkYTVlODBiOGIwMTcK
R0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDE1OQp6Y21lQVNATj8ob2xIeWB1VkJxIWlhMHZwQEFr
NHU2QnlUKkBgM3xJKmlrJjx8STU8TXp4UGImRU9JI3lMZzdlYyMKeiRgZ3hIOE9xRGNeKW1DYWk8
MSl6UXVYcVMocjNUM2twZTAqX0g9TyFrK19fa3Vfb2hCcWlDM2MkLW0+UTJaTyQ9Cno/U0pGZ19G
ZTdwUW9FOHJgM2BPSlImNWhSPG13LUNAeTwhKVZFRWVxR3Z1dTdlVn1kejIyV1ElbXZ2NEZPI3NT
QgpCR3VIcUIKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL1Rvb2xzL01pbmlC
cm93c2VyL3F0L2pzL011bHRpU2VsZWN0LmpzIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvanMvTXVs
dGlTZWxlY3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWU4N2Y1ZAot
LS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L2pzL011bHRpU2VsZWN0Lmpz
CkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgTm9raWEgQ29ycG9y
YXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5
IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAq
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisg
KiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisg
KiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgc2VlIHRoZSBm
aWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCisKK3ZhciB2YWx1ZXMgPSBbXQor
CitmdW5jdGlvbiBzZWxlY3RlZFZhbHVlcygpIHsKKyAgICByZXR1cm4gdmFsdWVzCit9CisKK2Z1
bmN0aW9uIGlzU2VsZWN0ZWQodmFsdWUpIHsKKyAgICByZXR1cm4gKHZhbHVlcy5pbmRleE9mKHZh
bHVlKSAhPSAtMSkKK30KKworZnVuY3Rpb24gYWRkVmFsdWUodmFsdWUpIHsKKyAgICBpZiAodmFs
dWVzLmluZGV4T2YodmFsdWUpICE9IC0xKQorICAgICAgICByZXR1cm4KKyAgICB2YWx1ZXMucHVz
aCh2YWx1ZSkKK30KKworZnVuY3Rpb24gcmVtb3ZlVmFsdWUodmFsdWUpIHsKKyAgICB2YXIgaW5k
ZXggPSB2YWx1ZXMuaW5kZXhPZih2YWx1ZSkKKworICAgIGlmIChpbmRleCA9PSAtMSkKKyAgICAg
ICAgcmV0dXJuCisgICAgdmFsdWVzLnNwbGljZShpbmRleCwgMSkKK30KZGlmZiAtLWdpdCBhL1Rv
b2xzL01pbmlCcm93c2VyL3F0L3FtbC9DaGVja0JveC5xbWwgYi9Ub29scy9NaW5pQnJvd3Nlci9x
dC9xbWwvQ2hlY2tCb3gucW1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4
NWI4MTEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9xbWwvQ2hlY2tC
b3gucW1sCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgTm9raWEg
Q29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICog
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl
ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K
KyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
KyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICoKKyAqLworCitpbXBvcnQgUXRRdWlj
ayAyLjAKKworSXRlbSB7CisgICAgaWQ6IGNoZWNrYm94CisgICAgd2lkdGg6IDUwCisgICAgaGVp
Z2h0OiBwYXJlbnQuaGVpZ2h0CisgICAgcHJvcGVydHkgYm9vbCBjaGVja2VkCisKKyAgICBJbWFn
ZSB7CisgICAgICAgIHdpZHRoOiAyNAorICAgICAgICBoZWlnaHQ6IDI0CisgICAgICAgIHNvdXJj
ZTogcGFyZW50LmNoZWNrZWQgPyAnLi4vaWNvbnMvY2hlY2tib3hfY2hlY2tlZC5wbmcnIDogJy4u
L2ljb25zL2NoZWNrYm94X3VuY2hlY2tlZC5wbmcnCisgICAgICAgIGFuY2hvcnMudmVydGljYWxD
ZW50ZXI6IHBhcmVudC52ZXJ0aWNhbENlbnRlcgorICAgIH0KK30KZGlmZiAtLWdpdCBhL1Rvb2xz
L01pbmlCcm93c2VyL3F0L3FtbC9GaWxlUGlja2VyLnFtbCBiL1Rvb2xzL01pbmlCcm93c2VyL3F0
L3FtbC9GaWxlUGlja2VyLnFtbAppbmRleCA1YmViODZhLi4yMjJkNGMzIDEwMDY0NAotLS0gYS9U
b29scy9NaW5pQnJvd3Nlci9xdC9xbWwvRmlsZVBpY2tlci5xbWwKKysrIGIvVG9vbHMvTWluaUJy
b3dzZXIvcXQvcW1sL0ZpbGVQaWNrZXIucW1sCkBAIC0yMCw2ICsyMCw3IEBACiAKIGltcG9ydCBR
dFF1aWNrIDIuMAogaW1wb3J0IFF0LmxhYnMuZm9sZGVybGlzdG1vZGVsIDEuMAoraW1wb3J0ICIu
Li9qcy9NdWx0aVNlbGVjdC5qcyIgYXMgTXVsdGlTZWxlY3QKIAogUmVjdGFuZ2xlIHsKICAgICBp
ZDogZmlsZVBpY2tlcgpAQCAtMTA5LDggKzExMCwxOSBAQCBSZWN0YW5nbGUgewogICAgICAgICAg
ICAgICAgIGZ1bmN0aW9uIHNlbGVjdGVkKCkgewogICAgICAgICAgICAgICAgICAgICBpZiAoZm9s
ZGVycy5pc0ZvbGRlcihpbmRleCkpCiAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuRm9sZGVy
KGZpbGVQYXRoKTsKLSAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAg
ICAgICAgZmlsZU1vZGVsLmFjY2VwdChmaWxlUGF0aCk7CisgICAgICAgICAgICAgICAgICAgIGVs
c2UgeworCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsZU1vZGVsLmFsbG93TXVsdGlw
bGVGaWxlcykgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrYm94LmNoZWNrZWQg
PSAhY2hlY2tib3guY2hlY2tlZAorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNo
ZWNrYm94LmNoZWNrZWQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE11bHRpU2Vs
ZWN0LmFkZFZhbHVlKGZpbGVQYXRoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTXVsdGlTZWxlY3QucmVtb3ZlVmFsdWUo
ZmlsZVBhdGgpCisgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAg
ICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZU1vZGVsLmFjY2VwdChm
aWxlUGF0aCkKKyAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KIAogICAg
ICAgICAgICAgICAgIGhlaWdodDogNTAKQEAgLTExOCw3ICsxMzAsNyBAQCBSZWN0YW5nbGUgewog
ICAgICAgICAgICAgICAgIGNvbG9yOiBmb2xkZXJzLmlzRm9sZGVyKGluZGV4KSA/ICJsaWdodGdy
YXkiOiAiZGFya2dyYXkiCiAKICAgICAgICAgICAgICAgICBJdGVtIHsKLSAgICAgICAgICAgICAg
ICAgICAgd2lkdGg6IDQ4OworICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAKICAgICAgICAg
ICAgICAgICAgICAgaGVpZ2h0OiA0OAogICAgICAgICAgICAgICAgICAgICBJbWFnZSB7CiAgICAg
ICAgICAgICAgICAgICAgICAgICBzb3VyY2U6ICIuLi9pY29ucy9mb2xkZXIucG5nIgpAQCAtMTI4
LDkgKzE0MCwyMiBAQCBSZWN0YW5nbGUgewogICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAg
ICAgICAgIFRleHQgeworICAgICAgICAgICAgICAgICAgICBpZDogZmlsZU5hbWVUZXh0CiAgICAg
ICAgICAgICAgICAgICAgIGFuY2hvcnMuY2VudGVySW46IHBhcmVudAotICAgICAgICAgICAgICAg
ICAgICBhbmNob3JzLmxlZnRNYXJnaW46IDUwCisgICAgICAgICAgICAgICAgICAgIGFuY2hvcnMu
bGVmdE1hcmdpbjogMjAKKyAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwMAogICAgICAgICAg
ICAgICAgICAgICB0ZXh0OiBmaWxlTmFtZQorICAgICAgICAgICAgICAgICAgICBlbGlkZTogVGV4
dC5FbGlkZUxlZnQ7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgQ2hlY2tC
b3ggeworICAgICAgICAgICAgICAgICAgICBpZDogY2hlY2tib3gKKworICAgICAgICAgICAgICAg
ICAgICBhbmNob3JzLnJpZ2h0OiBwYXJlbnQucmlnaHQKKyAgICAgICAgICAgICAgICAgICAgYW5j
aG9ycy52ZXJ0aWNhbENlbnRlcjogcGFyZW50LnZlcnRpY2FsQ2VudGVyCisKKyAgICAgICAgICAg
ICAgICAgICAgY2hlY2tlZDogTXVsdGlTZWxlY3QuaXNTZWxlY3RlZChmaWxlUGF0aCkKKyAgICAg
ICAgICAgICAgICAgICAgdmlzaWJsZTogZmlsZU1vZGVsLmFsbG93TXVsdGlwbGVGaWxlcyAmJiAh
Zm9sZGVycy5pc0ZvbGRlcihpbmRleCkKICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAg
ICAgICBNb3VzZUFyZWEgewpAQCAtMTYwLDE1ICsxODUsMjUgQEAgUmVjdGFuZ2xlIHsKICAgICAg
ICAgICAgIHJpZ2h0OiBwYXJlbnQucmlnaHQKICAgICAgICAgfQogCi0gICAgICAgIERpYWxvZ0J1
dHRvbiB7Ci0gICAgICAgICAgICBpZDogY2FuY2VsCi0gICAgICAgICAgICB0ZXh0OiAiQ2FuY2Vs
IgotICAgICAgICAgICAgYW5jaG9ycyB7Ci0gICAgICAgICAgICAgICAgaG9yaXpvbnRhbENlbnRl
cjogcGFyZW50Lmhvcml6b250YWxDZW50ZXI7Ci0gICAgICAgICAgICAgICAgdmVydGljYWxDZW50
ZXI6ICBwYXJlbnQudmVydGljYWxDZW50ZXIKKyAgICAgICAgUm93IHsKKyAgICAgICAgICAgIGlk
OiBidXR0b25Sb3cKKyAgICAgICAgICAgIHNwYWNpbmc6IDEwCisgICAgICAgICAgICBhbmNob3Jz
Lmhvcml6b250YWxDZW50ZXI6IHBhcmVudC5ob3Jpem9udGFsQ2VudGVyCisgICAgICAgICAgICBh
bmNob3JzLnZlcnRpY2FsQ2VudGVyOiBwYXJlbnQudmVydGljYWxDZW50ZXIKKworICAgICAgICAg
ICAgRGlhbG9nQnV0dG9uIHsKKyAgICAgICAgICAgICAgICBpZDogY2FuY2VsCisgICAgICAgICAg
ICAgICAgdGV4dDogIkNhbmNlbCIKKyAgICAgICAgICAgICAgICBvbkNsaWNrZWQ6IGZpbGVNb2Rl
bC5yZWplY3QoKQogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBvbkNsaWNrZWQ6IGZpbGVN
b2RlbC5yZWplY3QoKQorICAgICAgICAgICAgRGlhbG9nQnV0dG9uIHsKKyAgICAgICAgICAgICAg
ICBpZDogYWNjZXB0CisgICAgICAgICAgICAgICAgdGV4dDogIk9rIgorICAgICAgICAgICAgICAg
IHZpc2libGU6IGZpbGVNb2RlbC5hbGxvd011bHRpcGxlRmlsZXMKKyAgICAgICAgICAgICAgICBv
bkNsaWNrZWQ6CisgICAgICAgICAgICAgICAgICAgIGZpbGVNb2RlbC5hY2NlcHQoTXVsdGlTZWxl
Y3Quc2VsZWN0ZWRWYWx1ZXMoKSk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133888</attachid>
            <date>2012-03-26 14:00:14 -0700</date>
            <delta_ts>2012-03-26 19:29:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>81589_latest.patch</filename>
            <type>text/plain</type>
            <size>21473</size>
            <attacher name="Dinu Jacob">dinu.jacob</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBhNjViOTViLi5kYzk4MWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEg
QEAKKzIwMTItMDMtMjYgIERpbnUgSmFjb2IgIDxkaW51LmphY29iQG5va2lhLmNvbT4KKworICAg
ICAgICBbUXRdW1dLMl0gU3VwcG9ydCBtdWx0aS1maWxlIHVwbG9hZAorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE1ODkKKworICAgICAgICBSZXZpZXdl
ZCBieSBTaW1vbiBIYXVzbWFubi4KKworICAgICAgICBBZGRlZCAnYWxsb3dNdXRpcGxlRmlsZXMn
IHByb3BlcnR5IHRvIGZpbGVQaWNrZXIgY29udGV4dCBwcm9wZXJ0eSB0byBpbmRpY2F0ZSB3aGV0
aGVyIHRvIGFsbG93CisgICAgICAgIG11bHRpcGxlIGZpbGUgc2VsZWN0aW9ucy4KKworICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHA6CisgICAgICAgIChRUXVpY2tX
ZWJWaWV3UHJpdmF0ZTo6Y2hvb3NlRmlsZXMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQv
dGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yLnBybzoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci90c3RfbXVsdGlGaWxlVXBsb2Fk
LnFtbDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9E
ZXNrdG9wQmVoYXZpb3IvdHN0X3NpbmdsZUZpbGVVcGxvYWQucW1sOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvY29tbW9uL211bHRpZmlsZXVwbG9hZC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1vbi9z
aW5nbGVmaWxldXBsb2FkLmh0bWw6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9x
bWx0ZXN0cy9jb21tb24vdGl0bGV1cGRhdGUuanM6IEFkZGVkLgorICAgICAgICAodXBkYXRlVGl0
bGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5jcHA6CisgICAgICAg
IChGaWxlUGlja2VyQ29udGV4dE9iamVjdCk6CisgICAgICAgIChGaWxlUGlja2VyQ29udGV4dE9i
amVjdDo6RmlsZVBpY2tlckNvbnRleHRPYmplY3QpOgorICAgICAgICAoRmlsZVBpY2tlckNvbnRl
eHRPYmplY3Q6OmFsbG93TXVsdGlwbGVGaWxlcyk6CisgICAgICAgIChGaWxlUGlja2VyQ29udGV4
dE9iamVjdDo6YWNjZXB0KToKKyAgICAgICAgKFF0RGlhbG9nUnVubmVyOjppbml0Rm9yRmlsZVBp
Y2tlcik6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0RGlhbG9nUnVubmVyLmg6CisgICAgICAg
IChRdERpYWxvZ1J1bm5lcik6CisKIDIwMTItMDMtMjYgIFBpZXJyZSBSb3NzaSAgPHBpZXJyZS5y
b3NzaUBub2tpYS5jb20+CiAKICAgICAgICAgW1F0XVtXSzJdIGRlZmF1bHQgZmFtaWxpZXMgYXJl
IG5vdCBzZXQgaW4gUVdlYlByZWZlcmVuY2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3LmNwcAppbmRleCAwMzEyNGQ5Li40ODY1NzhkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXcuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlldy5jcHAK
QEAgLTM2NCwxMSArMzY0LDExIEBAIHZvaWQgUVF1aWNrV2ViVmlld1ByaXZhdGU6OmNob29zZUZp
bGVzKFdLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXJSZWYsCiB7CiAgICAgUV9R
KFFRdWlja1dlYlZpZXcpOwogCi0gICAgaWYgKCFmaWxlUGlja2VyIHx8IHR5cGUgPT0gUXRXZWJQ
YWdlVUlDbGllbnQ6Ok11bHRpcGxlRmlsZXNTZWxlY3Rpb24pCisgICAgaWYgKCFmaWxlUGlja2Vy
KQogICAgICAgICByZXR1cm47CiAKICAgICBRdERpYWxvZ1J1bm5lciBkaWFsb2dSdW5uZXI7Ci0g
ICAgaWYgKCFkaWFsb2dSdW5uZXIuaW5pdEZvckZpbGVQaWNrZXIoZmlsZVBpY2tlciwgcSwgc2Vs
ZWN0ZWRGaWxlTmFtZXMpKQorICAgIGlmICghZGlhbG9nUnVubmVyLmluaXRGb3JGaWxlUGlja2Vy
KGZpbGVQaWNrZXIsIHEsIHNlbGVjdGVkRmlsZU5hbWVzLCAodHlwZSA9PSBRdFdlYlBhZ2VVSUNs
aWVudDo6TXVsdGlwbGVGaWxlc1NlbGVjdGlvbikpKQogICAgICAgICByZXR1cm47CiAKICAgICBl
eGVjRGlhbG9nUnVubmVyKGRpYWxvZ1J1bm5lcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci5wcm8gYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhh
dmlvci5wcm8KaW5kZXggNWNmNDZjYi4uNTlhM2NhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9EZXNrdG9wQmVoYXZpb3IucHJvCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVza3Rv
cEJlaGF2aW9yLnBybwpAQCAtMjAsNCArMjAsNSBAQCBPVEhFUl9GSUxFUyArPSBcCiAgICAgRGVz
a3RvcEJlaGF2aW9yL3RzdF9sb2FkSHRtbC5xbWwgXAogICAgIERlc2t0b3BCZWhhdmlvci90c3Rf
bWVzc2FnaW5nLnFtbCBcCiAgICAgRGVza3RvcEJlaGF2aW9yL3RzdF9uYXZpZ2F0aW9uUmVxdWVz
dGVkLnFtbCBcCi0gICAgRGVza3RvcEJlaGF2aW9yL3RzdF9zaW5nbGVmaWxldXBsb2FkLnFtbAor
ICAgIERlc2t0b3BCZWhhdmlvci90c3Rfc2luZ2xlRmlsZXVwbG9hZC5xbWwgXAorICAgIERlc2t0
b3BCZWhhdmlvci90c3RfbXVsdGlGaWxldXBsb2FkLnFtbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9EZXNrdG9wQmVoYXZpb3IvdHN0
X211bHRpRmlsZVVwbG9hZC5xbWwgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rl
c3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci90c3RfbXVsdGlGaWxlVXBsb2FkLnFtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDNmNjU2Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9EZXNrdG9w
QmVoYXZpb3IvdHN0X211bHRpRmlsZVVwbG9hZC5xbWwKQEAgLTAsMCArMSw2NiBAQAoraW1wb3J0
IFF0UXVpY2sgMi4wCitpbXBvcnQgUXRUZXN0IDEuMAoraW1wb3J0IFF0V2ViS2l0IDMuMAoraW1w
b3J0IFF0V2ViS2l0LmV4cGVyaW1lbnRhbCAxLjAKK2ltcG9ydCAiLi4vY29tbW9uIgorCisvLyBG
SVhNRTogQWRkZWQgdG8gRGVza3RvcCB0ZXN0cyBiZWNhdXNlIHdlIHdhbnQgdG8gaGF2ZSBtb3Vz
ZUNsaWNrKCkgdG8gb3BlbiB0aGUgPGlucHV0PiB0YWcuIFdlIGNhbiBtb3ZlIGl0IGJhY2sKKy8v
IHdoZW4gVGVzdENhc2Ugc3RhcnRzIHN1cHBvcnRpbmcgdG91Y2ggZXZlbnRzLCBzZWUgaHR0cHM6
Ly9idWdyZXBvcnRzLnF0Lm5va2lhLmNvbS9icm93c2UvUVRCVUctMjMwODMuCitUZXN0V2ViVmll
dyB7CisgICAgaWQ6IHdlYlZpZXcKKworICAgIHdpZHRoOiA0MDAKKyAgICBoZWlnaHQ6IDQwMAor
CisgICAgcHJvcGVydHkgYm9vbCBzZWxlY3RGaWxlCisKKyAgICBleHBlcmltZW50YWwuZmlsZVBp
Y2tlcjogSXRlbSB7CisgICAgICAgIFRpbWVyIHsKKyAgICAgICAgICAgIHJ1bm5pbmc6IHRydWUK
KyAgICAgICAgICAgIGludGVydmFsOiAxCisgICAgICAgICAgICBvblRyaWdnZXJlZDogeworICAg
ICAgICAgICAgICAgIHZhciBzZWxlY3RlZEZpbGVzID0gWyJmaWxlbmFtZTEiLCAiZmlsZW5hbWUy
Il0KKyAgICAgICAgICAgICAgICBpZiAoc2VsZWN0RmlsZSkKKyAgICAgICAgICAgICAgICAgICAg
bW9kZWwuYWNjZXB0KHNlbGVjdGVkRmlsZXMpCisgICAgICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgICAgICBtb2RlbC5yZWplY3QoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
ICAgIH0KKworICAgIFNpZ25hbFNweSB7CisgICAgICAgIGlkOiB0aXRsZVNweQorICAgICAgICB0
YXJnZXQ6IHdlYlZpZXcKKyAgICAgICAgc2lnbmFsTmFtZTogInRpdGxlQ2hhbmdlZCIKKyAgICB9
CisKKyAgICBUZXN0Q2FzZSB7CisgICAgICAgIGlkOiB0ZXN0CisgICAgICAgIG5hbWU6ICJXZWJW
aWV3TXVsdGlGaWxlUGlja2VyIgorICAgICAgICB3aGVuOiB3aW5kb3dTaG93bgorCisgICAgICAg
IGZ1bmN0aW9uIGluaXQoKSB7CisgICAgICAgICAgICB3ZWJWaWV3LnVybCA9IFF0LnJlc29sdmVk
VXJsKCIuLi9jb21tb24vbXVsdGlmaWxldXBsb2FkLmh0bWwiKQorICAgICAgICAgICAgdmVyaWZ5
KHdlYlZpZXcud2FpdEZvckxvYWRTdWNjZWVkZWQoKSkKKyAgICAgICAgICAgIHRpdGxlU3B5LmNs
ZWFyKCkKKyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIG9wZW5JdGVtU2VsZWN0b3IoKSB7
CisgICAgICAgICAgICBtb3VzZUNsaWNrKHdlYlZpZXcsIDE1LCAxNSwgUXQuTGVmdEJ1dHRvbikK
KyAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHRlc3RfYWNjZXB0KCkgeworICAgICAgICAg
ICAgd2ViVmlldy5zZWxlY3RGaWxlID0gdHJ1ZTsKKyAgICAgICAgICAgIG9wZW5JdGVtU2VsZWN0
b3IoKQorICAgICAgICAgICAgdGl0bGVTcHkud2FpdCgpCisgICAgICAgICAgICBjb21wYXJlKHdl
YlZpZXcudGl0bGUsICJmaWxlbmFtZTEsZmlsZW5hbWUyIikKKyAgICAgICAgfQorCisgICAgICAg
IGZ1bmN0aW9uIHRlc3RfcmVqZWN0KCkgeworICAgICAgICAgICAgdmFyIG9sZFRpdGxlID0gd2Vi
Vmlldy50aXRsZQorICAgICAgICAgICAgd2ViVmlldy5zZWxlY3RGaWxlID0gZmFsc2U7CisgICAg
ICAgICAgICBvcGVuSXRlbVNlbGVjdG9yKCkKKyAgICAgICAgICAgIGNvbXBhcmUod2ViVmlldy50
aXRsZSwgb2xkVGl0bGUpCisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci90
c3Rfc2luZ2xlRmlsZVVwbG9hZC5xbWwgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0
L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci90c3Rfc2luZ2xlRmlsZVVwbG9hZC5xbWwK
aW5kZXggY2U0OTVlYS4uN2NhOWVmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9EZXNrdG9wQmVoYXZpb3IvdHN0X3NpbmdsZUZpbGVV
cGxvYWQucW1sCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1s
dGVzdHMvRGVza3RvcEJlaGF2aW9yL3RzdF9zaW5nbGVGaWxlVXBsb2FkLnFtbApAQCAtMTMsMTQg
KzEzLDIwIEBAIFRlc3RXZWJWaWV3IHsKICAgICBoZWlnaHQ6IDQwMAogCiAgICAgcHJvcGVydHkg
Ym9vbCBzZWxlY3RGaWxlCisgICAgcHJvcGVydHkgYm9vbCBhY2NlcHRNdWx0aXBsZTogZmFsc2UK
IAogICAgIGV4cGVyaW1lbnRhbC5maWxlUGlja2VyOiBJdGVtIHsKICAgICAgICAgVGltZXIgewog
ICAgICAgICAgICAgcnVubmluZzogdHJ1ZQogICAgICAgICAgICAgaW50ZXJ2YWw6IDEKICAgICAg
ICAgICAgIG9uVHJpZ2dlcmVkOiB7Ci0gICAgICAgICAgICAgICAgaWYgKHNlbGVjdEZpbGUpCi0g
ICAgICAgICAgICAgICAgICAgIG1vZGVsLmFjY2VwdCgiYWNjZXB0ZWRmaWxlbmFtZSIpOworICAg
ICAgICAgICAgICAgIHZhciBzZWxlY3RlZEZpbGVzID0gWyJmaWxlbmFtZTEiLCAiZmlsZW5hbWUy
Il0KKyAgICAgICAgICAgICAgICBpZiAoc2VsZWN0RmlsZSkgeworICAgICAgICAgICAgICAgICAg
ICBpZiAoYWNjZXB0TXVsdGlwbGUpCisgICAgICAgICAgICAgICAgICAgICAgICBtb2RlbC5hY2Nl
cHQoc2VsZWN0ZWRGaWxlcykKKyAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgICAgICAgICAgbW9kZWwuYWNjZXB0KCJhY2NlcHRlZGZpbGVuYW1lIik7CisgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICAgbW9kZWwu
cmVqZWN0KCk7CiAgICAgICAgICAgICB9CkBAIC01NSw2ICs2MSwxNCBAQCBUZXN0V2ViVmlldyB7
CiAgICAgICAgICAgICBjb21wYXJlKHdlYlZpZXcudGl0bGUsICJhY2NlcHRlZGZpbGVuYW1lIikK
ICAgICAgICAgfQogCisgICAgICAgIGZ1bmN0aW9uIHRlc3RfbXVsdGlwbGUoKSB7CisgICAgICAg
ICAgICB3ZWJWaWV3LnNlbGVjdEZpbGUgPSB0cnVlOworICAgICAgICAgICAgd2ViVmlldy5hY2Nl
cHRNdWx0aXBsZSA9IHRydWU7CisgICAgICAgICAgICBvcGVuSXRlbVNlbGVjdG9yKCkKKyAgICAg
ICAgICAgIHRpdGxlU3B5LndhaXQoKQorICAgICAgICAgICAgY29tcGFyZSh3ZWJWaWV3LnRpdGxl
LCAiZmlsZW5hbWUxIikKKyAgICAgICAgfQorCiAgICAgICAgIGZ1bmN0aW9uIHRlc3RfcmVqZWN0
KCkgewogICAgICAgICAgICAgdmFyIG9sZFRpdGxlID0gd2ViVmlldy50aXRsZQogICAgICAgICAg
ICAgd2ViVmlldy5zZWxlY3RGaWxlID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1vbi9tdWx0aWZpbGV1cGxvYWQu
aHRtbCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvY29t
bW9uL211bHRpZmlsZXVwbG9hZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjc3MDFlZDQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1vbi9tdWx0aWZpbGV1cGxvYWQuaHRtbApAQCAtMCww
ICsxLDExIEBACis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGluaXRpYWwt
c2NhbGU9MSI+Cis8dGl0bGU+IE11dGxpLWZpbGUgVXBsb2FkIDwvdGl0bGU+Cis8c2NyaXB0IHNy
YyA9ICIuL3RpdGxldXBkYXRlLmpzIj4KKzwvc2NyaXB0PgorCis8Ym9keT4KKzxpbnB1dCB0eXBl
PSJmaWxlIiBuYW1lPSJmaWxlIiBpZD0idXBmaWxlIiBvbmNoYW5nZT0idXBkYXRlVGl0bGUoKSIg
bXVsdGlwbGUvPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9jb21tb24vc2luZ2xlZmlsZXVwbG9hZC5o
dG1sIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9jb21t
b24vc2luZ2xlZmlsZXVwbG9hZC5odG1sCmluZGV4IDU4MGI5OTkuLjM4ZTM0NWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvY29tbW9u
L3NpbmdsZWZpbGV1cGxvYWQuaHRtbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L3F0L3Rlc3RzL3FtbHRlc3RzL2NvbW1vbi9zaW5nbGVmaWxldXBsb2FkLmh0bWwKQEAgLTEsMjMg
KzEsOCBAQAogPGh0bWw+CiA8aGVhZD4KIDxtZXRhIG5hbWU9InZpZXdwb3J0IiBpbml0aWFsLXNj
YWxlPTEiPgotPHRpdGxlPk5vIGZpbGUgc2VsZWN0ZWQ8L3RpdGxlPgotPHNjcmlwdD4KLWZ1bmN0
aW9uIHVwZGF0ZVRpdGxlKCkKLXsKLSAgICB2YXIgaW5wID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInVwZmlsZSIpOwotICAgIHZhciBhbGxmaWxlcyA9IG5ldyBTdHJpbmcoIiIpOwotICAgIHZh
ciBuYW1lID0gbmV3IFN0cmluZygiIik7Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbnAuZmls
ZXMubGVuZ3RoOyArK2kpCi0gICAgewotICAgICAgICBuYW1lID0gaW5wLmZpbGVzLml0ZW0oaSku
bmFtZTsKLSAgICAgICAgaWYgKGFsbGZpbGVzLmxlbmd0aCA9PSAwKQotICAgICAgICAgICAgYWxs
ZmlsZXMgPSBuYW1lOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBhbGxmaWxlcyA9IGFsbGZp
bGVzICsgIiwiICsgbmFtZTsKLSAgICB9Ci0gICAgZG9jdW1lbnQudGl0bGUgPSBhbGxmaWxlczsK
LX0KKzx0aXRsZT4gU2luZ2xlIEZpbGUgVXBsb2FkIDwvdGl0bGU+Cis8c2NyaXB0IHNyYyA9ICIu
L3RpdGxldXBkYXRlLmpzIj4KIDwvc2NyaXB0PgogCiA8Ym9keT4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvY29tbW9uL3RpdGxldXBk
YXRlLmpzIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9j
b21tb24vdGl0bGV1cGRhdGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MmE1YmFjMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvdGVzdHMvcW1sdGVzdHMvY29tbW9uL3RpdGxldXBkYXRlLmpzCkBAIC0wLDAgKzEsMTUgQEAK
K2Z1bmN0aW9uIHVwZGF0ZVRpdGxlKCkKK3sKKyAgICB2YXIgaW5wID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoInVwZmlsZSIpOworICAgIHZhciBhbGxmaWxlcyA9IG5ldyBTdHJpbmcoIiIpOwor
ICAgIHZhciBuYW1lID0gbmV3IFN0cmluZygiIik7CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBp
bnAuZmlsZXMubGVuZ3RoOyArK2kpCisgICAgeworICAgICAgICBuYW1lID0gaW5wLmZpbGVzLml0
ZW0oaSkubmFtZTsKKyAgICAgICAgaWYgKGFsbGZpbGVzLmxlbmd0aCA9PSAwKQorICAgICAgICAg
ICAgYWxsZmlsZXMgPSBuYW1lOworICAgICAgICBlbHNlCisgICAgICAgICAgICBhbGxmaWxlcyA9
IGFsbGZpbGVzICsgIiwiICsgbmFtZTsKKyAgICB9CisgICAgZG9jdW1lbnQudGl0bGUgPSBhbGxm
aWxlczsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdERpYWxv
Z1J1bm5lci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFsb2dSdW5uZXIu
Y3BwCmluZGV4IGQ5Mzg1ZTguLjhmNjI4OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3F0L1F0RGlhbG9nUnVubmVyLmNwcApAQCAtMTYzLDI1ICsxNjMsMzYgQEAgcHJpdmF0ZToK
IGNsYXNzIEZpbGVQaWNrZXJDb250ZXh0T2JqZWN0IDogcHVibGljIFFPYmplY3QgewogICAgIFFf
T0JKRUNUCiAgICAgUV9QUk9QRVJUWShRU3RyaW5nTGlzdCBmaWxlTGlzdCBSRUFEIGZpbGVMaXN0
IENPTlNUQU5UKQorICAgIFFfUFJPUEVSVFkoYm9vbCBhbGxvd011bHRpcGxlRmlsZXMgUkVBRCBh
bGxvd011bHRpcGxlRmlsZXMgQ09OU1RBTlQpCiAKIHB1YmxpYzoKLSAgICBGaWxlUGlja2VyQ29u
dGV4dE9iamVjdChjb25zdCBRU3RyaW5nTGlzdCYgc2VsZWN0ZWRGaWxlcykKKyAgICBGaWxlUGlj
a2VyQ29udGV4dE9iamVjdChjb25zdCBRU3RyaW5nTGlzdCYgc2VsZWN0ZWRGaWxlcywgYm9vbCBh
bGxvd011bHRpcGxlKQogICAgICAgICA6IFFPYmplY3QoKQorICAgICAgICAsIG1fYWxsb3dNdWx0
aXBsZShhbGxvd011bHRpcGxlKQogICAgICAgICAsIG1fZmlsZUxpc3Qoc2VsZWN0ZWRGaWxlcykK
ICAgICB7CiAgICAgfQogCiAgICAgUVN0cmluZ0xpc3QgZmlsZUxpc3QoKSBjb25zdCB7IHJldHVy
biBtX2ZpbGVMaXN0OyB9CisgICAgYm9vbCBhbGxvd011bHRpcGxlRmlsZXMoKSBjb25zdCB7IHJl
dHVybiBtX2FsbG93TXVsdGlwbGU7fQogCiBwdWJsaWMgc2xvdHM6CiAgICAgdm9pZCByZWplY3Qo
KSB7IGVtaXQgcmVqZWN0ZWQoKTt9Ci0gICAgdm9pZCBhY2NlcHQoY29uc3QgUVZhcmlhbnQmIHBh
dGgpIHsgZW1pdCBmaWxlU2VsZWN0ZWQocGF0aC50b1N0cmluZ0xpc3QoKSk7IH0KKyAgICB2b2lk
IGFjY2VwdChjb25zdCBRVmFyaWFudCYgcGF0aCkKKyAgICB7CisgICAgICAgIFFTdHJpbmdMaXN0
IGZpbGVzUGF0aCA9IHBhdGgudG9TdHJpbmdMaXN0KCk7CisgICAgICAgIC8vIEZvciBzaW5nbGUg
ZmlsZSB1cGxvYWQsIHNlbmQgb25seSB0aGUgZmlyc3QgZWxlbWVudCBpZiB0aGVyZSBhcmUgbW9y
ZSB0aGFuIG9uZSBmaWxlIHBhdGhzCisgICAgICAgIGlmICghbV9hbGxvd011bHRpcGxlICYmIGZp
bGVzUGF0aC5jb3VudCgpID4gMSkKKyAgICAgICAgICAgIGZpbGVzUGF0aCA9IFFTdHJpbmdMaXN0
KGZpbGVzUGF0aC5hdCgwKSk7CisgICAgICAgIGVtaXQgZmlsZVNlbGVjdGVkKGZpbGVzUGF0aCk7
CisgICAgfQogCiBzaWduYWxzOgogICAgIHZvaWQgcmVqZWN0ZWQoKTsKICAgICB2b2lkIGZpbGVT
ZWxlY3RlZChjb25zdCBRU3RyaW5nTGlzdCYpOwogCiBwcml2YXRlOgorICAgIGJvb2wgbV9hbGxv
d011bHRpcGxlOwogICAgIFFTdHJpbmdMaXN0IG1fZmlsZUxpc3Q7CiB9OwogCkBAIC0zMTIsOSAr
MzIzLDkgQEAgYm9vbCBRdERpYWxvZ1J1bm5lcjo6aW5pdEZvckNlcnRpZmljYXRlVmVyaWZpY2F0
aW9uKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCogY29tcG8KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAot
Ym9vbCBRdERpYWxvZ1J1bm5lcjo6aW5pdEZvckZpbGVQaWNrZXIoUURlY2xhcmF0aXZlQ29tcG9u
ZW50KiBjb21wb25lbnQsIFFRdWlja0l0ZW0qIGRpYWxvZ1BhcmVudCwgY29uc3QgUVN0cmluZ0xp
c3QmIHNlbGVjdGVkRmlsZXMpCitib29sIFF0RGlhbG9nUnVubmVyOjppbml0Rm9yRmlsZVBpY2tl
cihRRGVjbGFyYXRpdmVDb21wb25lbnQqIGNvbXBvbmVudCwgUVF1aWNrSXRlbSogZGlhbG9nUGFy
ZW50LCBjb25zdCBRU3RyaW5nTGlzdCYgc2VsZWN0ZWRGaWxlcywgYm9vbCBhbGxvd011bHRpcGxl
KQogewotICAgIEZpbGVQaWNrZXJDb250ZXh0T2JqZWN0KiBjb250ZXh0T2JqZWN0ID0gbmV3IEZp
bGVQaWNrZXJDb250ZXh0T2JqZWN0KHNlbGVjdGVkRmlsZXMpOworICAgIEZpbGVQaWNrZXJDb250
ZXh0T2JqZWN0KiBjb250ZXh0T2JqZWN0ID0gbmV3IEZpbGVQaWNrZXJDb250ZXh0T2JqZWN0KHNl
bGVjdGVkRmlsZXMsIGFsbG93TXVsdGlwbGUpOwogICAgIGlmICghY3JlYXRlRGlhbG9nKGNvbXBv
bmVudCwgZGlhbG9nUGFyZW50LCBjb250ZXh0T2JqZWN0KSkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXREaWFsb2dSdW5u
ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdERpYWxvZ1J1bm5lci5oCmluZGV4
IDBlNTg0YWEuLmU5NjYwMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9x
dC9RdERpYWxvZ1J1bm5lci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdERp
YWxvZ1J1bm5lci5oCkBAIC00Myw3ICs0Myw3IEBAIHB1YmxpYzoKICAgICBib29sIGluaXRGb3JB
dXRoZW50aWNhdGlvbihRRGVjbGFyYXRpdmVDb21wb25lbnQqLCBRUXVpY2tJdGVtKiBkaWFsb2dQ
YXJlbnQsIGNvbnN0IFFTdHJpbmcmIGhvc3RuYW1lLCBjb25zdCBRU3RyaW5nJiByZWFsbSwgY29u
c3QgUVN0cmluZyYgcHJlZmlsbGVkVXNlcm5hbWUpOwogICAgIGJvb2wgaW5pdEZvckNlcnRpZmlj
YXRlVmVyaWZpY2F0aW9uKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCosIFFRdWlja0l0ZW0qLCBjb25z
dCBRU3RyaW5nJiBob3N0bmFtZSk7CiAgICAgYm9vbCBpbml0Rm9yUHJveHlBdXRoZW50aWNhdGlv
bihRRGVjbGFyYXRpdmVDb21wb25lbnQqLCBRUXVpY2tJdGVtKiwgY29uc3QgUVN0cmluZyYgaG9z
dG5hbWUsIHVpbnQxNl90IHBvcnQsIGNvbnN0IFFTdHJpbmcmIHByZWZpbGxlZFVzZXJuYW1lKTsK
LSAgICBib29sIGluaXRGb3JGaWxlUGlja2VyKFFEZWNsYXJhdGl2ZUNvbXBvbmVudCosIFFRdWlj
a0l0ZW0qLCBjb25zdCBRU3RyaW5nTGlzdCYgc2VsZWN0ZWRGaWxlcyk7CisgICAgYm9vbCBpbml0
Rm9yRmlsZVBpY2tlcihRRGVjbGFyYXRpdmVDb21wb25lbnQqLCBRUXVpY2tJdGVtKiwgY29uc3Qg
UVN0cmluZ0xpc3QmIHNlbGVjdGVkRmlsZXMsIGJvb2wgYWxsb3dNdWx0aXBsZSk7CiAgICAgYm9v
bCBpbml0Rm9yRGF0YWJhc2VRdW90YURpYWxvZyhRRGVjbGFyYXRpdmVDb21wb25lbnQqLCBRUXVp
Y2tJdGVtKiwgY29uc3QgUVN0cmluZyYgZGF0YWJhc2VOYW1lLCBjb25zdCBRU3RyaW5nJiBkaXNw
bGF5TmFtZSwgV0tTZWN1cml0eU9yaWdpblJlZiwgcXVpbnQ2NCBjdXJyZW50UXVvdGEsIHF1aW50
NjQgY3VycmVudE9yaWdpblVzYWdlLCBxdWludDY0IGN1cnJlbnREYXRhYmFzZVVzYWdlLCBxdWlu
dDY0IGV4cGVjdGVkVXNhZ2UpOwogCiAgICAgUVF1aWNrSXRlbSogZGlhbG9nKCkgY29uc3QgeyBy
ZXR1cm4gbV9kaWFsb2cuZ2V0KCk7IH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCA4OTA3NDgwLi5kOWQ5MzQ3IDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMDMt
MjYgIERpbnUgSmFjb2IgIDxkaW51LmphY29iQG5va2lhLmNvbT4KKworICAgICAgICBbUXRdW1dL
Ml0gU3VwcG9ydCBtdWx0aS1maWxlIHVwbG9hZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE1ODkKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBI
YXVzbWFubi4KKworICAgICAgICBNb2RpZmllZCBmaWxlUGlja2VyIHRvIHN1cHBvcnQgbXVsdGkt
ZmlsZSB1cGxvYWQuCisKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5xcmM6
CisgICAgICAgICogTWluaUJyb3dzZXIvcXQvaWNvbnMvY2hlY2tib3hfY2hlY2tlZC5wbmc6IEFk
ZGVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L2ljb25zL2NoZWNrYm94X3VuY2hlY2tlZC5w
bmc6IEFkZGVkLgorICAgICAgICAqIE1pbmlCcm93c2VyL3F0L2pzL011bHRpU2VsZWN0LmpzOiBB
ZGRlZC4KKyAgICAgICAgKHZhbHVlcyk6CisgICAgICAgIChpc1NlbGVjdGVkKToKKyAgICAgICAg
KHJlbW92ZVZhbHVlKToKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9xbWwvQ2hlY2tCb3gucW1s
OiBBZGRlZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9xdC9xbWwvRmlsZVBpY2tlci5xbWw6CisK
IDIwMTItMDMtMjYgIExlbyBZYW5nICA8bGVvLnlhbmdAdG9yY2htb2JpbGUuY29tLmNuPgogCiAg
ICAgICAgIFtCbGFja0JlcnJ5XSBTa2VsZXRvbiBjb2RlIG9mIEFzeW5jRmlsZVN5c3RlbUJsYWNr
QmVycnkuY3BwCmRpZmYgLS1naXQgYS9Ub29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5x
cmMgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9NaW5pQnJvd3Nlci5xcmMKaW5kZXggZTgxMTMyYS4u
YjU0OTBiZSAxMDA2NDQKLS0tIGEvVG9vbHMvTWluaUJyb3dzZXIvcXQvTWluaUJyb3dzZXIucXJj
CisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L01pbmlCcm93c2VyLnFyYwpAQCAtMSw1ICsxLDcg
QEAKIDxSQ0M+CiAgICAgPHFyZXNvdXJjZSBwcmVmaXg9Ii8iPgorICAgICAgICA8ZmlsZT5pY29u
cy9jaGVja2JveF9jaGVja2VkLnBuZzwvZmlsZT4KKyAgICAgICAgPGZpbGU+aWNvbnMvY2hlY2ti
b3hfdW5jaGVja2VkLnBuZzwvZmlsZT4KICAgICAgICAgPGZpbGU+aWNvbnMvZmF2aWNvbi5wbmc8
L2ZpbGU+CiAgICAgICAgIDxmaWxlPmljb25zL2ZvbGRlci5wbmc8L2ZpbGU+CiAgICAgICAgIDxm
aWxlPmljb25zL2luZm8ucG5nPC9maWxlPgpAQCAtMTIsOSArMTQsMTEgQEAKICAgICAgICAgPGZp
bGU+aWNvbnMvdG91Y2gucG5nPC9maWxlPgogICAgICAgICA8ZmlsZT5pY29ucy90b3VjaHBvaW50
LnBuZzwvZmlsZT4KICAgICAgICAgPGZpbGU+aWNvbnMvdXAucG5nPC9maWxlPgorICAgICAgICA8
ZmlsZT5qcy9NdWx0aVNlbGVjdC5qczwvZmlsZT4KICAgICAgICAgPGZpbGU+cW1sL0FsZXJ0RGlh
bG9nLnFtbDwvZmlsZT4KICAgICAgICAgPGZpbGU+cW1sL0F1dGhlbnRpY2F0aW9uRGlhbG9nLnFt
bDwvZmlsZT4KICAgICAgICAgPGZpbGU+cW1sL0Jyb3dzZXJXaW5kb3cucW1sPC9maWxlPgorICAg
ICAgICA8ZmlsZT5xbWwvQ2hlY2tCb3gucW1sPC9maWxlPgogICAgICAgICA8ZmlsZT5xbWwvQ29u
ZmlybURpYWxvZy5xbWw8L2ZpbGU+CiAgICAgICAgIDxmaWxlPnFtbC9EaWFsb2cucW1sPC9maWxl
PgogICAgICAgICA8ZmlsZT5xbWwvRGlhbG9nQnV0dG9uLnFtbDwvZmlsZT4KZGlmZiAtLWdpdCBh
L1Rvb2xzL01pbmlCcm93c2VyL3F0L2ljb25zL2NoZWNrYm94X2NoZWNrZWQucG5nIGIvVG9vbHMv
TWluaUJyb3dzZXIvcXQvaWNvbnMvY2hlY2tib3hfY2hlY2tlZC5wbmcKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Jm
MDZmNjUxM2Q2YjExNzIxMjkwYzNmMGYzYmU1YmQyZDE1N2U4NApHSVQgYmluYXJ5IHBhdGNoCmxp
dGVyYWwgMjYzCnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEwdnBAQWs0dTZCeVQqQGAzfEkqaWsmPHxJ
NTxNenhQYiZFT0kjeUxnN2VjIwp6JGBneEg4T3FEY14pbUNhaTwxKXpRdVhxUyhyM1Qza3BlMjM/
ZGpxZUI1XnI2VkA8fU5NJHM/PmxZaHJxNCtlYyMKeit5Qk9+P1lyOUhyRkpFTUAqNTVvZV9uUlNj
Qj9ANW1BNWF+K0RyZT56dGdFd24jJmZqPT0wVEVeV09MVlV3KV9oCnpHVkFvSHtrdVFAQDJaYUhe
WiN8fSROdWp9a0FMSHJFbS0tdWQtZ3hHZkE1KUp6NC1CQyYtWiVmTm10dFllNjFaeQp6VWlaKHc+
fG5PWTw4T1hNI2ozWmJVJFAxdVNNWVRGXkwzQVNfeF4lYndzUXQ3M3smc0B4UjZrdlk2KX5FZ1F1
JlgKSiVRfmxvQ0lCZXlibFUmYAoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEv
VG9vbHMvTWluaUJyb3dzZXIvcXQvaWNvbnMvY2hlY2tib3hfdW5jaGVja2VkLnBuZyBiL1Rvb2xz
L01pbmlCcm93c2VyL3F0L2ljb25zL2NoZWNrYm94X3VuY2hlY2tlZC5wbmcKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NWY1NDY1NTgyYTlhMmU2YTg1YWRiZTA3YTRhMmRhNWU4MGI4YjAxNwpHSVQgYmluYXJ5IHBhdGNo
CmxpdGVyYWwgMTU5CnpjbWVBU0BOPyhvbEh5YHVWQnEhaWEwdnBAQWs0dTZCeVQqQGAzfEkqaWsm
PHxJNTxNenhQYiZFT0kjeUxnN2VjIwp6JGBneEg4T3FEY14pbUNhaTwxKXpRdVhxUyhyM1Qza3Bl
MCpfSD1PIWsrX19rdV9vaEJxaUMzYyQtbT5RMlpPJD0Kej9TSkZnX0ZlN3BRb0U4cmAzYE9KUiY1
aFI8bXctQ0B5PCEpVkVFZXFHdnV1N2VWfWR6MjJXUSVtdnY0Rk8jc1NCCkJHdUhxQgoKbGl0ZXJh
bCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvcXQvanMvTXVs
dGlTZWxlY3QuanMgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9qcy9NdWx0aVNlbGVjdC5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZTg3ZjVkCi0tLSAvZGV2L251bGwKKysr
IGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvanMvTXVsdGlTZWxlY3QuanMKQEAgLTAsMCArMSw0NCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRz
IHN1YnNpZGlhcnkoLWllcykKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9u
IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCisgKgorICovCisKKwordmFyIHZhbHVlcyA9IFtdCisKK2Z1bmN0aW9uIHNlbGVj
dGVkVmFsdWVzKCkgeworICAgIHJldHVybiB2YWx1ZXMKK30KKworZnVuY3Rpb24gaXNTZWxlY3Rl
ZCh2YWx1ZSkgeworICAgIHJldHVybiAodmFsdWVzLmluZGV4T2YodmFsdWUpICE9IC0xKQorfQor
CitmdW5jdGlvbiBhZGRWYWx1ZSh2YWx1ZSkgeworICAgIGlmICh2YWx1ZXMuaW5kZXhPZih2YWx1
ZSkgIT0gLTEpCisgICAgICAgIHJldHVybgorICAgIHZhbHVlcy5wdXNoKHZhbHVlKQorfQorCitm
dW5jdGlvbiByZW1vdmVWYWx1ZSh2YWx1ZSkgeworICAgIHZhciBpbmRleCA9IHZhbHVlcy5pbmRl
eE9mKHZhbHVlKQorCisgICAgaWYgKGluZGV4ID09IC0xKQorICAgICAgICByZXR1cm4KKyAgICB2
YWx1ZXMuc3BsaWNlKGluZGV4LCAxKQorfQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIv
cXQvcW1sL0NoZWNrQm94LnFtbCBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L3FtbC9DaGVja0JveC5x
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDg1YjgxMQotLS0gL2Rldi9u
dWxsCisrKyBiL1Rvb2xzL01pbmlCcm93c2VyL3F0L3FtbC9DaGVja0JveC5xbWwKQEAgLTAsMCAr
MSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQv
b3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCisgKgorICovCisKK2ltcG9ydCBRdFF1aWNrIDIuMAorCitJdGVtIHsK
KyAgICBpZDogY2hlY2tib3gKKyAgICB3aWR0aDogNTAKKyAgICBoZWlnaHQ6IHBhcmVudC5oZWln
aHQKKyAgICBwcm9wZXJ0eSBib29sIGNoZWNrZWQKKworICAgIEltYWdlIHsKKyAgICAgICAgd2lk
dGg6IDI0CisgICAgICAgIGhlaWdodDogMjQKKyAgICAgICAgc291cmNlOiBwYXJlbnQuY2hlY2tl
ZCA/ICcuLi9pY29ucy9jaGVja2JveF9jaGVja2VkLnBuZycgOiAnLi4vaWNvbnMvY2hlY2tib3hf
dW5jaGVja2VkLnBuZycKKyAgICAgICAgYW5jaG9ycy52ZXJ0aWNhbENlbnRlcjogcGFyZW50LnZl
cnRpY2FsQ2VudGVyCisgICAgfQorfQpkaWZmIC0tZ2l0IGEvVG9vbHMvTWluaUJyb3dzZXIvcXQv
cW1sL0ZpbGVQaWNrZXIucW1sIGIvVG9vbHMvTWluaUJyb3dzZXIvcXQvcW1sL0ZpbGVQaWNrZXIu
cW1sCmluZGV4IDViZWI4NmEuLjIyMmQ0YzMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL01pbmlCcm93c2Vy
L3F0L3FtbC9GaWxlUGlja2VyLnFtbAorKysgYi9Ub29scy9NaW5pQnJvd3Nlci9xdC9xbWwvRmls
ZVBpY2tlci5xbWwKQEAgLTIwLDYgKzIwLDcgQEAKIAogaW1wb3J0IFF0UXVpY2sgMi4wCiBpbXBv
cnQgUXQubGFicy5mb2xkZXJsaXN0bW9kZWwgMS4wCitpbXBvcnQgIi4uL2pzL011bHRpU2VsZWN0
LmpzIiBhcyBNdWx0aVNlbGVjdAogCiBSZWN0YW5nbGUgewogICAgIGlkOiBmaWxlUGlja2VyCkBA
IC0xMDksOCArMTEwLDE5IEBAIFJlY3RhbmdsZSB7CiAgICAgICAgICAgICAgICAgZnVuY3Rpb24g
c2VsZWN0ZWQoKSB7CiAgICAgICAgICAgICAgICAgICAgIGlmIChmb2xkZXJzLmlzRm9sZGVyKGlu
ZGV4KSkKICAgICAgICAgICAgICAgICAgICAgICAgIG9wZW5Gb2xkZXIoZmlsZVBhdGgpOwotICAg
ICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICBmaWxlTW9kZWwu
YWNjZXB0KGZpbGVQYXRoKTsKKyAgICAgICAgICAgICAgICAgICAgZWxzZSB7CisKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIChmaWxlTW9kZWwuYWxsb3dNdWx0aXBsZUZpbGVzKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY2hlY2tib3guY2hlY2tlZCA9ICFjaGVja2JveC5jaGVj
a2VkCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2hlY2tib3guY2hlY2tlZCkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTXVsdGlTZWxlY3QuYWRkVmFsdWUoZmls
ZVBhdGgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBNdWx0aVNlbGVjdC5yZW1vdmVWYWx1ZShmaWxlUGF0aCkKKyAgICAg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmaWxlTW9kZWwuYWNjZXB0KGZpbGVQYXRoKQorICAgICAg
ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgaGVp
Z2h0OiA1MApAQCAtMTE4LDcgKzEzMCw3IEBAIFJlY3RhbmdsZSB7CiAgICAgICAgICAgICAgICAg
Y29sb3I6IGZvbGRlcnMuaXNGb2xkZXIoaW5kZXgpID8gImxpZ2h0Z3JheSI6ICJkYXJrZ3JheSIK
IAogICAgICAgICAgICAgICAgIEl0ZW0gewotICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDg7
CisgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MAogICAgICAgICAgICAgICAgICAgICBoZWln
aHQ6IDQ4CiAgICAgICAgICAgICAgICAgICAgIEltYWdlIHsKICAgICAgICAgICAgICAgICAgICAg
ICAgIHNvdXJjZTogIi4uL2ljb25zL2ZvbGRlci5wbmciCkBAIC0xMjgsOSArMTQwLDIyIEBAIFJl
Y3RhbmdsZSB7CiAgICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgVGV4dCB7Cisg
ICAgICAgICAgICAgICAgICAgIGlkOiBmaWxlTmFtZVRleHQKICAgICAgICAgICAgICAgICAgICAg
YW5jaG9ycy5jZW50ZXJJbjogcGFyZW50Ci0gICAgICAgICAgICAgICAgICAgIGFuY2hvcnMubGVm
dE1hcmdpbjogNTAKKyAgICAgICAgICAgICAgICAgICAgYW5jaG9ycy5sZWZ0TWFyZ2luOiAyMAor
ICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzAwCiAgICAgICAgICAgICAgICAgICAgIHRleHQ6
IGZpbGVOYW1lCisgICAgICAgICAgICAgICAgICAgIGVsaWRlOiBUZXh0LkVsaWRlTGVmdDsKKyAg
ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBDaGVja0JveCB7CisgICAgICAgICAg
ICAgICAgICAgIGlkOiBjaGVja2JveAorCisgICAgICAgICAgICAgICAgICAgIGFuY2hvcnMucmln
aHQ6IHBhcmVudC5yaWdodAorICAgICAgICAgICAgICAgICAgICBhbmNob3JzLnZlcnRpY2FsQ2Vu
dGVyOiBwYXJlbnQudmVydGljYWxDZW50ZXIKKworICAgICAgICAgICAgICAgICAgICBjaGVja2Vk
OiBNdWx0aVNlbGVjdC5pc1NlbGVjdGVkKGZpbGVQYXRoKQorICAgICAgICAgICAgICAgICAgICB2
aXNpYmxlOiBmaWxlTW9kZWwuYWxsb3dNdWx0aXBsZUZpbGVzICYmICFmb2xkZXJzLmlzRm9sZGVy
KGluZGV4KQogICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgIE1vdXNlQXJlYSB7
CkBAIC0xNjAsMTUgKzE4NSwyNSBAQCBSZWN0YW5nbGUgewogICAgICAgICAgICAgcmlnaHQ6IHBh
cmVudC5yaWdodAogICAgICAgICB9CiAKLSAgICAgICAgRGlhbG9nQnV0dG9uIHsKLSAgICAgICAg
ICAgIGlkOiBjYW5jZWwKLSAgICAgICAgICAgIHRleHQ6ICJDYW5jZWwiCi0gICAgICAgICAgICBh
bmNob3JzIHsKLSAgICAgICAgICAgICAgICBob3Jpem9udGFsQ2VudGVyOiBwYXJlbnQuaG9yaXpv
bnRhbENlbnRlcjsKLSAgICAgICAgICAgICAgICB2ZXJ0aWNhbENlbnRlcjogIHBhcmVudC52ZXJ0
aWNhbENlbnRlcgorICAgICAgICBSb3cgeworICAgICAgICAgICAgaWQ6IGJ1dHRvblJvdworICAg
ICAgICAgICAgc3BhY2luZzogMTAKKyAgICAgICAgICAgIGFuY2hvcnMuaG9yaXpvbnRhbENlbnRl
cjogcGFyZW50Lmhvcml6b250YWxDZW50ZXIKKyAgICAgICAgICAgIGFuY2hvcnMudmVydGljYWxD
ZW50ZXI6IHBhcmVudC52ZXJ0aWNhbENlbnRlcgorCisgICAgICAgICAgICBEaWFsb2dCdXR0b24g
eworICAgICAgICAgICAgICAgIGlkOiBjYW5jZWwKKyAgICAgICAgICAgICAgICB0ZXh0OiAiQ2Fu
Y2VsIgorICAgICAgICAgICAgICAgIG9uQ2xpY2tlZDogZmlsZU1vZGVsLnJlamVjdCgpCiAgICAg
ICAgICAgICB9CiAKLSAgICAgICAgICAgIG9uQ2xpY2tlZDogZmlsZU1vZGVsLnJlamVjdCgpCisg
ICAgICAgICAgICBEaWFsb2dCdXR0b24geworICAgICAgICAgICAgICAgIGlkOiBhY2NlcHQKKyAg
ICAgICAgICAgICAgICB0ZXh0OiAiT2siCisgICAgICAgICAgICAgICAgdmlzaWJsZTogZmlsZU1v
ZGVsLmFsbG93TXVsdGlwbGVGaWxlcworICAgICAgICAgICAgICAgIG9uQ2xpY2tlZDoKKyAgICAg
ICAgICAgICAgICAgICAgZmlsZU1vZGVsLmFjY2VwdChNdWx0aVNlbGVjdC5zZWxlY3RlZFZhbHVl
cygpKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>