<?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>51051</bug_id>
          
          <creation_ts>2010-12-14 12:48:56 -0800</creation_ts>
          <short_desc>commit-queue should upload failure diffs when tests flake</short_desc>
          <delta_ts>2010-12-15 13:48:56 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>abarth</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>322130</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-14 12:48:56 -0800</bug_when>
    <thetext>commit-queue should upload failure diffs when tests flake</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322134</commentid>
    <comment_count>1</comment_count>
      <attachid>76560</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-14 12:53:17 -0800</bug_when>
    <thetext>Created attachment 76560
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322136</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-14 12:54:29 -0800</bug_when>
    <thetext>This is a first step.  This is going to need more patches.  But this is a very important feature to add to the flaky test reporting.  if this works out we can add this feature to other bots as well. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322174</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-12-14 13:45:20 -0800</bug_when>
    <thetext>I&apos;ll look at this tonight.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322707</commentid>
    <comment_count>4</comment_count>
      <attachid>76672</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-15 11:22:53 -0800</bug_when>
    <thetext>Created attachment 76672
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322714</commentid>
    <comment_count>5</comment_count>
      <attachid>76672</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-12-15 11:30:36 -0800</bug_when>
    <thetext>Comment on attachment 76672
Patch

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

&gt; WebKitTools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py:449
&gt; +        if hasattr(file_or_string, &apos;read&apos;):
&gt; +            return file_or_string

This is kind of a hack.

&gt; WebKitTools/Scripts/webkitpy/tool/main.py:75
&gt; +        self.filesystem = FileSystem()

Nice.  This has been a long time coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322793</commentid>
    <comment_count>6</comment_count>
      <attachid>76672</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-15 13:39:27 -0800</bug_when>
    <thetext>Comment on attachment 76672
Patch

Fixing a /diff/diffs/ typo, one sec.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322797</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-15 13:48:56 -0800</bug_when>
    <thetext>Committed r74138: &lt;http://trac.webkit.org/changeset/74138&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76560</attachid>
            <date>2010-12-14 12:53:17 -0800</date>
            <delta_ts>2010-12-15 11:22:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51051-20101214125316.patch</filename>
            <type>text/plain</type>
            <size>18749</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBmZDg0ZWY3OTQ2YTY2NmZjYTllNjE1OTg4MDc2YmNmOTgxYjlmZDg2Li43ZTE5ZjFi
NzlmMDQwYWFkNDZjMGI0ZjA1NzVlZWE1YzNmNWQxZWE1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAK
KzIwMTAtMTItMTQgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGNvbW1pdC1xdWV1ZSBzaG91bGQg
dXBsb2FkIGZhaWx1cmUgZGlmZnMgd2hlbiB0ZXN0cyBmbGFrZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTEwNTEKKworICAgICAgICBUbyBtYWtlIHRo
aXMgdGVzdGFibGUgSSBuZWVkZWQgdG8gcGlwZSBGaWxlU3lzdGVtIGRvd24gb250byB0b29sLgor
ICAgICAgICBXZSd2ZSB3YW50ZWQgaXQgdGhlcmUgZm9yIGEgbG9uZyB0aW1lIGFueXdheS4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGlzIGtpbmRhIGEgYmlnIGhhY2suICBCdXQgd2UgZG9uJ3QgaGF2
ZSBhIG5pY2UKKyAgICAgICAgd2F5IHRvIHJlYWQgcmVzdWx0cy5odG1sIGZpbGVzLiAgSSB0aGlu
ayB0aGlzIHdpbGwgbmVlZCBmdXJ0aGVyCisgICAgICAgIHJldmlzaW9uIGJlZm9yZSB0aGlzIGNv
ZGUgYWN0dWFsbHkgZmVlbHMgY2xlYW4uCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9uZXQvYnVnemlsbGEvYnVnemlsbGEucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9jb21tb24vbmV0L2xheW91dHRlc3RyZXN1bHRzLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9ib3QvZmxha3l0ZXN0cmVwb3J0ZXIucHk6CisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS90b29sL2JvdC9mbGFreXRlc3RyZXBvcnRlcl91bml0dGVzdC5weToKKyAgICAgICAg
KiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzLnB5OgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9yZWJhc2VsaW5lLnB5OgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvdG9vbC9tYWluLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkv
dG9vbC9tb2NrdG9vbC5weToKKwogMjAxMC0xMi0xMyAgTHVjYXMgRm9yc2NobGVyICA8bGZvcnNj
aGxlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2ZSBLaWx6ZXIuCmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVnemlsbGEv
YnVnemlsbGEucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVn
emlsbGEvYnVnemlsbGEucHkKaW5kZXggZDI1NDZiMzRiZTJjYjU0M2FiMGYwZjk0ZDlmNzIxMjcy
OTVkMDc1YS4uNTYyNDdjZmI1YzU3OTg3YjZlNjQwM2Q2ZjdkMmIyNGVhNGE0MmNmYyAxMDA2NDQK
LS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1Z3ppbGxhL2J1
Z3ppbGxhLnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9i
dWd6aWxsYS9idWd6aWxsYS5weQpAQCAtMjE5LDE1ICsyMTksMTYgQEAgY2xhc3MgQnVnemlsbGEo
b2JqZWN0KToKICAgICAgICAgaWYgbm90IGJ1Z19pZDoKICAgICAgICAgICAgIHJldHVybiBOb25l
CiAgICAgICAgIGNvbnRlbnRfdHlwZSA9ICImY3R5cGU9eG1sIiBpZiB4bWwgZWxzZSAiIgotICAg
ICAgICByZXR1cm4gIiVzc2hvd19idWcuY2dpP2lkPSVzJXMiICUgKHNlbGYuYnVnX3NlcnZlcl91
cmwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVnX2lkLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZSkK
KyAgICAgICAgcmV0dXJuICIlc3Nob3dfYnVnLmNnaT9pZD0lcyVzIiAlIChzZWxmLmJ1Z19zZXJ2
ZXJfdXJsLCBidWdfaWQsIGNvbnRlbnRfdHlwZSkKIAogICAgIGRlZiBzaG9ydF9idWdfdXJsX2Zv
cl9idWdfaWQoc2VsZiwgYnVnX2lkKToKICAgICAgICAgaWYgbm90IGJ1Z19pZDoKICAgICAgICAg
ICAgIHJldHVybiBOb25lCiAgICAgICAgIHJldHVybiAiaHR0cDovL3dlYmtpdC5vcmcvYi8lcyIg
JSBidWdfaWQKIAorICAgIGRlZiBhZGRfYXR0YWNobWVudF91cmwoc2VsZiwgYnVnX2lkKToKKyAg
ICAgICAgcmV0dXJuICIlc2F0dGFjaG1lbnQuY2dpP2FjdGlvbj1lbnRlciZidWdpZD0lcyIgJSAo
c2VsZi5idWdfc2VydmVyX3VybCwgYnVnX2lkKQorCiAgICAgZGVmIGF0dGFjaG1lbnRfdXJsX2Zv
cl9pZChzZWxmLCBhdHRhY2htZW50X2lkLCBhY3Rpb249InZpZXciKToKICAgICAgICAgaWYgbm90
IGF0dGFjaG1lbnRfaWQ6CiAgICAgICAgICAgICByZXR1cm4gTm9uZQpAQCAtNDEzLDM0ICs0MTQs
NTggQEAgY2xhc3MgQnVnemlsbGEob2JqZWN0KToKICAgICAgICAgICAgICAgICBzZWxmLmF1dGhl
bnRpY2F0ZWQgPSBUcnVlCiAgICAgICAgICAgICAgICAgc2VsZi51c2VybmFtZSA9IHVzZXJuYW1l
CiAKKyAgICBkZWYgX2NvbW1pdF9xdWV1ZV9mbGFnKHNlbGYsIG1hcmtfZm9yX2xhbmRpbmcsIG1h
cmtfZm9yX2NvbW1pdF9xdWV1ZSk6CisgICAgICAgIGlmIG1hcmtfZm9yX2xhbmRpbmc6CisgICAg
ICAgICAgICByZXR1cm4gJysnCisgICAgICAgIGVsaWYgbWFya19mb3JfY29tbWl0X3F1ZXVlOgor
ICAgICAgICAgICAgcmV0dXJuICc/JworICAgICAgICByZXR1cm4gJ1gnCisKKyAgICAjIEZJWE1F
OiBtYXJrX2Zvcl9jb21taXRfcXVldWUgYW5kIG1hcmtfZm9yX2xhbmRpbmcgc2hvdWxkIGJlIGpv
aW5lZCBpbnRvIGEgc2luZ2xlIGNvbW1pdF9mbGFnIGFyZ3VtZW50LgogICAgIGRlZiBfZmlsbF9h
dHRhY2htZW50X2Zvcm0oc2VsZiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2Ny
aXB0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGF0Y2hfZmlsZV9vYmplY3Qs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tZW50X3RleHQ9Tm9uZSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVfb2JqZWN0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbWFya19mb3JfcmV2aWV3PUZhbHNlLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbWFya19mb3JfY29tbWl0X3F1ZXVlPUZhbHNlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbWFya19mb3JfbGFuZGluZz1GYWxzZSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGJ1Z19pZD1Ob25lKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlz
X3BhdGNoPUZhbHNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWU9Tm9u
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbWV0eXBlPU5vbmUpOgogICAgICAg
ICBzZWxmLmJyb3dzZXJbJ2Rlc2NyaXB0aW9uJ10gPSBkZXNjcmlwdGlvbgotICAgICAgICBzZWxm
LmJyb3dzZXJbJ2lzcGF0Y2gnXSA9ICgiMSIsKQorICAgICAgICBpZiBpc19wYXRjaDoKKyAgICAg
ICAgICAgIHNlbGYuYnJvd3NlclsnaXNwYXRjaCddID0gKCIxIiwpCisgICAgICAgICMgRklYTUU6
IFNob3VsZCB0aGlzIHVzZSBzZWxmLl9maW5kX3NlbGVjdF9lbGVtZW50X2Zvcl9mbGFnPwogICAg
ICAgICBzZWxmLmJyb3dzZXJbJ2ZsYWdfdHlwZS0xJ10gPSAoJz8nLCkgaWYgbWFya19mb3JfcmV2
aWV3IGVsc2UgKCdYJywpCisgICAgICAgIHNlbGYuYnJvd3NlclsnZmxhZ190eXBlLTMnXSA9IChz
ZWxmLl9jb21taXRfcXVldWVfZmxhZyhtYXJrX2Zvcl9sYW5kaW5nLCBtYXJrX2Zvcl9jb21taXRf
cXVldWUpLCkKIAotICAgICAgICBpZiBtYXJrX2Zvcl9sYW5kaW5nOgotICAgICAgICAgICAgc2Vs
Zi5icm93c2VyWydmbGFnX3R5cGUtMyddID0gKCcrJywpCi0gICAgICAgIGVsaWYgbWFya19mb3Jf
Y29tbWl0X3F1ZXVlOgotICAgICAgICAgICAgc2VsZi5icm93c2VyWydmbGFnX3R5cGUtMyddID0g
KCc/JywpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmJyb3dzZXJbJ2ZsYWdfdHlw
ZS0zJ10gPSAoJ1gnLCkKKyAgICAgICAgZmlsZW5hbWUgPSBmaWxlbmFtZSBvciAiJXMucGF0Y2gi
ICUgdGltZXN0YW1wKCkKKyAgICAgICAgbWltZXR5cGUgPSBtaW1ldHlwZSBvciAidGV4dC9wbGFp
biIKKyAgICAgICAgc2VsZi5icm93c2VyLmFkZF9maWxlKGZpbGVfb2JqZWN0LCBtaW1ldHlwZSwg
ZmlsZW5hbWUsICdkYXRhJykKIAotICAgICAgICBpZiBidWdfaWQ6Ci0gICAgICAgICAgICBwYXRj
aF9uYW1lID0gImJ1Zy0lcy0lcy5wYXRjaCIgJSAoYnVnX2lkLCB0aW1lc3RhbXAoKSkKLSAgICAg
ICAgZWxzZToKLSAgICAgICAgICAgIHBhdGNoX25hbWUgPSIlcy5wYXRjaCIgJSB0aW1lc3RhbXAo
KQorICAgIGRlZiBhZGRfYXR0YWNobWVudF90b19idWcoc2VsZiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJ1Z19pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVf
b2JqZWN0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZT1Ob25lLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29tbWVudF90ZXh0PU5vbmUpOgorICAgICAgICBzZWxmLmF1dGhlbnRp
Y2F0ZSgpCisgICAgICAgIGxvZygnQWRkaW5nIGF0dGFjaG1lbnQgIiVzIiB0byAlcycgJSAoZGVz
Y3JpcHRpb24sIHNlbGYuYnVnX3VybF9mb3JfYnVnX2lkKGJ1Z19pZCkpKQorICAgICAgICBpZiBz
ZWxmLmRyeXJ1bjoKKyAgICAgICAgICAgIGxvZyhjb21tZW50X3RleHQpCisgICAgICAgICAgICBy
ZXR1cm4KIAotICAgICAgICBzZWxmLmJyb3dzZXIuYWRkX2ZpbGUocGF0Y2hfZmlsZV9vYmplY3Qs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGV4dC9wbGFpbiIsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBwYXRjaF9uYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJ2RhdGEnKQorICAgICAgICBzZWxmLmJyb3dzZXIub3BlbihzZWxmLmFkZF9hdHRhY2ht
ZW50X3VybChidWdfaWQpKQorICAgICAgICBzZWxmLmJyb3dzZXIuc2VsZWN0X2Zvcm0obmFtZT0i
ZW50cnlmb3JtIikKKyAgICAgICAgaWYgbm90IGZpbGVuYW1lOgorICAgICAgICAgICAgaWYgaGFz
YXR0cigibmFtZSIsIGZpbGVfb2JqZWN0KToKKyAgICAgICAgICAgICAgICBmaWxlbmFtZSA9IGZp
bGVfb2JqZWN0Lm5hbWUKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgZmlsZW5h
bWUgPSAiYnVnLSVzLSVzLnR4dCIgJSAoYnVnX2lkLCB0aW1lc3RhbXAoKSkKKyAgICAgICAgc2Vs
Zi5fZmlsbF9hdHRhY2htZW50X2Zvcm0oZGVzY3JpcHRpb24sIGZpbGVfb2JqZWN0LCBmaWxlbmFt
ZT1maWxlbmFtZSkKKyAgICAgICAgaWYgY29tbWVudF90ZXh0OgorICAgICAgICAgICAgbG9nKGNv
bW1lbnRfdGV4dCkKKyAgICAgICAgICAgIHNlbGYuYnJvd3NlclsnY29tbWVudCddID0gY29tbWVu
dF90ZXh0CisgICAgICAgIHNlbGYuYnJvd3Nlci5zdWJtaXQoKQogCiAgICAgZGVmIGFkZF9wYXRj
aF90b19idWcoc2VsZiwKICAgICAgICAgICAgICAgICAgICAgICAgICBidWdfaWQsCkBAIC00NTEs
MTcgKzQ3NiwxMyBAQCBjbGFzcyBCdWd6aWxsYShvYmplY3QpOgogICAgICAgICAgICAgICAgICAg
ICAgICAgIG1hcmtfZm9yX2NvbW1pdF9xdWV1ZT1GYWxzZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICBtYXJrX2Zvcl9sYW5kaW5nPUZhbHNlKToKICAgICAgICAgc2VsZi5hdXRoZW50aWNhdGUo
KQotCi0gICAgICAgIGxvZygnQWRkaW5nIHBhdGNoICIlcyIgdG8gJXNzaG93X2J1Zy5jZ2k/aWQ9
JXMnICUgKGRlc2NyaXB0aW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmJ1Z19zZXJ2ZXJfdXJsLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWdfaWQpKQor
ICAgICAgICBsb2coJ0FkZGluZyBwYXRjaCAiJXMiIHRvICVzJyAlIChkZXNjcmlwdGlvbiwgc2Vs
Zi5idWdfdXJsX2Zvcl9idWdfaWQoYnVnX2lkKSkpCiAKICAgICAgICAgaWYgc2VsZi5kcnlydW46
CiAgICAgICAgICAgICBsb2coY29tbWVudF90ZXh0KQogICAgICAgICAgICAgcmV0dXJuCiAKLSAg
ICAgICAgc2VsZi5icm93c2VyLm9wZW4oIiVzYXR0YWNobWVudC5jZ2k/YWN0aW9uPWVudGVyJmJ1
Z2lkPSVzIiAlICgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5idWdfc2VydmVyX3Vy
bCwgYnVnX2lkKSkKKyAgICAgICAgc2VsZi5icm93c2VyLm9wZW4oc2VsZi5hZGRfYXR0YWNobWVu
dF91cmwoYnVnX2lkKSkKICAgICAgICAgc2VsZi5icm93c2VyLnNlbGVjdF9mb3JtKG5hbWU9ImVu
dHJ5Zm9ybSIpCiAKICAgICAgICAgIyBfZmlsbF9hdHRhY2htZW50X2Zvcm0gZXhwZWN0cyBhIGZp
bGUtbGlrZSBvYmplY3QKQEAgLTQ3MywxMiArNDk0LDE0IEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVj
dCk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtfZm9yX3Jldmlldz1t
YXJrX2Zvcl9yZXZpZXcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtf
Zm9yX2NvbW1pdF9xdWV1ZT1tYXJrX2Zvcl9jb21taXRfcXVldWUsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIG1hcmtfZm9yX2xhbmRpbmc9bWFya19mb3JfbGFuZGluZywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVnX2lkPWJ1Z19pZCkKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfcGF0Y2g9VHJ1ZSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWU9ImJ1Zy0lcy0lcy5wYXRjaCIgJSAoYnVnX2lk
LCB0aW1lc3RhbXAoKSkpCiAgICAgICAgIGlmIGNvbW1lbnRfdGV4dDoKICAgICAgICAgICAgIGxv
Zyhjb21tZW50X3RleHQpCiAgICAgICAgICAgICBzZWxmLmJyb3dzZXJbJ2NvbW1lbnQnXSA9IGNv
bW1lbnRfdGV4dAogICAgICAgICBzZWxmLmJyb3dzZXIuc3VibWl0KCkKIAorICAgICMgRklYTUU6
IFRoZXJlIGhhcyB0byBiZSBhIG1vcmUgY29uY2lzZSB3YXkgdG8gd3JpdGUgdGhpcyBtZXRob2Qu
CiAgICAgZGVmIF9jaGVja19jcmVhdGVfYnVnX3Jlc3BvbnNlKHNlbGYsIHJlc3BvbnNlX2h0bWwp
OgogICAgICAgICBtYXRjaCA9IHJlLnNlYXJjaCgiPHRpdGxlPkJ1ZyAoP1A8YnVnX2lkPlxkKykg
U3VibWl0dGVkPC90aXRsZT4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZV9o
dG1sKQpAQCAtNTI5LDcgKzU1Miw3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAgICAgICAg
ICAgICBzZWxmLmJyb3dzZXJbImNjIl0gPSBjYwogICAgICAgICBpZiBibG9ja2VkOgogICAgICAg
ICAgICAgc2VsZi5icm93c2VyWyJibG9ja2VkIl0gPSB1bmljb2RlKGJsb2NrZWQpCi0gICAgICAg
IGlmIGFzc2lnbmVlID09IE5vbmU6CisgICAgICAgIGlmIG5vdCBhc3NpZ25lZToKICAgICAgICAg
ICAgIGFzc2lnbmVlID0gc2VsZi51c2VybmFtZQogICAgICAgICBpZiBhc3NpZ25lZSBhbmQgbm90
IHNlbGYuYnJvd3Nlci5maW5kX2NvbnRyb2woImFzc2lnbmVkX3RvIikuZGlzYWJsZWQ6CiAgICAg
ICAgICAgICBzZWxmLmJyb3dzZXJbImFzc2lnbmVkX3RvIl0gPSBhc3NpZ25lZQpAQCAtNTQ1LDcg
KzU2OCw4IEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgICAgIHBh
dGNoX2Rlc2NyaXB0aW9uLAogICAgICAgICAgICAgICAgICAgICBwYXRjaF9maWxlX29iamVjdCwK
ICAgICAgICAgICAgICAgICAgICAgbWFya19mb3JfcmV2aWV3PW1hcmtfZm9yX3JldmlldywKLSAg
ICAgICAgICAgICAgICAgICAgbWFya19mb3JfY29tbWl0X3F1ZXVlPW1hcmtfZm9yX2NvbW1pdF9x
dWV1ZSkKKyAgICAgICAgICAgICAgICAgICAgbWFya19mb3JfY29tbWl0X3F1ZXVlPW1hcmtfZm9y
X2NvbW1pdF9xdWV1ZSwKKyAgICAgICAgICAgICAgICAgICAgaXNfcGF0Y2g9VHJ1ZSkKIAogICAg
ICAgICByZXNwb25zZSA9IHNlbGYuYnJvd3Nlci5zdWJtaXQoKQogCmRpZmYgLS1naXQgYS9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvbGF5b3V0dGVzdHJlc3VsdHMucHkg
Yi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvbGF5b3V0dGVzdHJlc3Vs
dHMucHkKaW5kZXggYTdiM2IwYWFmOGNlNWE0YWVkZjAwMDBlNDk3OWVjOGYwNWZmYjRjNS4uMTVl
OTVjZWFjMjVlNDI2YWY2NTJmODY5ZmMwY2E3OTlmMDY4ZTcxNCAxMDA2NDQKLS0tIGEvV2ViS2l0
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24vbmV0L2xheW91dHRlc3RyZXN1bHRzLnB5Cisr
KyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9sYXlvdXR0ZXN0cmVz
dWx0cy5weQpAQCAtODUsNiArODUsOCBAQCBjbGFzcyBMYXlvdXRUZXN0UmVzdWx0cyhvYmplY3Qp
OgogICAgIGRlZiBwYXJzZWRfcmVzdWx0cyhzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX3Bh
cnNlZF9yZXN1bHRzCiAKKyAgICBkZWYgcmVzdWx0c19tYXRjaGluZ19rZXlzKHNlbGYsIHJlc3Vs
dF9rZXlzKToKKyAgICAgICAgcmV0dXJuIHNvcnRlZChzdW0oW3Rlc3RzIGZvciBrZXksIHRlc3Rz
IGluIHNlbGYuX3BhcnNlZF9yZXN1bHRzLml0ZW1zKCkgaWYga2V5IGluIHJlc3VsdF9rZXlzXSwg
W10pKQorCiAgICAgZGVmIGZhaWxpbmdfdGVzdHMoc2VsZik6Ci0gICAgICAgIGZhaWxpbmdfa2V5
cyA9IFtzZWxmLmZhaWxfa2V5LCBzZWxmLmNyYXNoX2tleSwgc2VsZi50aW1lb3V0X2tleV0KLSAg
ICAgICAgcmV0dXJuIHNvcnRlZChzdW0oW3Rlc3RzIGZvciBrZXksIHRlc3RzIGluIHNlbGYuX3Bh
cnNlZF9yZXN1bHRzLml0ZW1zKCkgaWYga2V5IGluIGZhaWxpbmdfa2V5c10sIFtdKSkKKyAgICAg
ICAgcmV0dXJuIHNlbGYucmVzdWx0c19tYXRjaGluZ19rZXlzKFtzZWxmLmZhaWxfa2V5LCBzZWxm
LmNyYXNoX2tleSwgc2VsZi50aW1lb3V0X2tleV0pCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2ZsYWt5dGVzdHJlcG9ydGVyLnB5IGIvV2ViS2l0VG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9mbGFreXRlc3RyZXBvcnRlci5weQppbmRleCBm
YWIwMDEwMzhkM2E1ZGQyMTlmZWQ0MjQyYzZmZjkyMzY2NzE0Y2Q2Li43MGY1NGFmMjIwMDFlZWQ3
MjUxZDQ5NzAyMjk1YjcwZmM2ZmYzMTNmIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3Rvb2wvYm90L2ZsYWt5dGVzdHJlcG9ydGVyLnB5CisrKyBiL1dlYktpdFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvZmxha3l0ZXN0cmVwb3J0ZXIucHkKQEAgLTI2LDgg
KzI2LDEwIEBACiAjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCitpbXBvcnQgY29kZWNz
CiBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IHBsYXRmb3JtCitpbXBvcnQgb3MucGF0aAogCiBmcm9t
IHdlYmtpdHB5LmNvbW1vbi5uZXQubGF5b3V0dGVzdHJlc3VsdHMgaW1wb3J0IHBhdGhfZm9yX2xh
eW91dF90ZXN0LCBMYXlvdXRUZXN0UmVzdWx0cwogZnJvbSB3ZWJraXRweS5jb21tb24uY29uZmln
IGltcG9ydCB1cmxzCkBAIC00OCw3ICs1MCw3IEBAIGNsYXNzIEZsYWt5VGVzdFJlcG9ydGVyKG9i
amVjdCk6CiAgICAgICAgIHJldHVybiBzZXQoW2NvbW1pdF9pbmZvLmF1dGhvcigpLmJ1Z3ppbGxh
X2VtYWlsKCkgZm9yIGNvbW1pdF9pbmZvIGluIGNvbW1pdF9pbmZvcyBpZiBjb21taXRfaW5mby5h
dXRob3IoKV0pCiAKICAgICBkZWYgX2J1Z3ppbGxhX2VtYWlsKHNlbGYpOgotICAgICAgICAjIFRo
aXMgaXMga2luZGEgYSBmdW5ueSB3YXkgdG8gZ2V0IHRoZSBidWd6aWxsYSBlbWFpbCwKKyAgICAg
ICAgIyBGSVhNRTogVGhpcyBpcyBraW5kYSBhIGZ1bm55IHdheSB0byBnZXQgdGhlIGJ1Z3ppbGxh
IGVtYWlsLAogICAgICAgICAjIHdlIGNvdWxkIGFsc28ganVzdCBjcmVhdGUgYSBDcmVkZW50aWFs
cyBvYmplY3QgZGlyZWN0bHkKICAgICAgICAgIyBidXQgc29tZSBvZiB0aGUgQ3JlZGVudGlhbHMg
bG9naWMgaXMgaW4gYnVnemlsbGEucHkgdG9vLi4uCiAgICAgICAgIHNlbGYuX3Rvb2wuYnVncy5h
dXRoZW50aWNhdGUoKQpAQCAtMTExLDYgKzExMywyMyBAQCBJZiB5b3Ugd291bGQgbGlrZSB0byB0
cmFjayB0aGlzIHRlc3QgZml4IHdpdGggYW5vdGhlciBidWcsIHBsZWFzZSBjbG9zZSB0aGlzIGJ1
ZwogICAgICAgICBmbGFrZV9tZXNzYWdlID0gIlRoZSAlcyBqdXN0IHNhdyAlcyBmbGFrZSB3aGls
ZSBwcm9jZXNzaW5nIGF0dGFjaG1lbnQgJXMgb24gYnVnICVzLiIgJSAoc2VsZi5fYm90X25hbWUs
IGZsYWt5X3Rlc3QsIHBhdGNoLmlkKCksIHBhdGNoLmJ1Z19pZCgpKQogICAgICAgICByZXR1cm4g
IiVzXG4lcyIgJSAoZmxha2VfbWVzc2FnZSwgc2VsZi5fYm90X2luZm9ybWF0aW9uKCkpCiAKKyAg
ICBkZWYgX3Jlc3VsdHNfZGlmZl9wYXRoX2Zvcl90ZXN0KHNlbGYsIGZsYWt5X3Rlc3QpOgorICAg
ICAgICAjIEZJWE1FOiBUaGlzIGlzIGEgYmlnIGhhY2suICBXZSBzaG91bGQgZ2V0IHRoaXMgcGF0
aCBmcm9tIHJlc3VsdHMuanNvbgorICAgICAgICAjIGV4Y2VwdCB0aGF0IG9sZC1ydW4td2Via2l0
LXRlc3RzIGRvZXNuJ3QgcHJvZHVjZSBhIHJlc3VsdHMuanNvbgorICAgICAgICAjIHNvIHdlIGp1
c3QgZ3Vlc3MgYXQgdGhlIGZpbGUgcGF0aC4KKyAgICAgICAgcmVzdWx0c19wYXRoID0gc2VsZi5f
dG9vbC5wb3J0KCkubGF5b3V0X3Rlc3RzX3Jlc3VsdHNfcGF0aCgpCisgICAgICAgIHJlc3VsdHNf
ZGlyZWN0b3J5ID0gb3MucGF0aC5kaXJuYW1lKHJlc3VsdHNfcGF0aCkKKyAgICAgICAgdGVzdF9w
YXRoID0gb3MucGF0aC5qb2luKHJlc3VsdHNfZGlyZWN0b3J5LCBmbGFreV90ZXN0KQorICAgICAg
ICAodGVzdF9wYXRoX3Jvb3QsIF8pID0gb3MucGF0aC5zcGxpdGV4dCh0ZXN0X3BhdGgpCisgICAg
ICAgIGV4cGVjdGVkX2RpZmZfcGF0aCA9ICIlcy1leHBlY3RlZC5kaWZmIiAlIHRlc3RfcGF0aF9y
b290CisKKyAgICAgICAgIyBDaGVjayB0byBtYWtlIHN1cmUgdGhhdCB0aGUgcGF0aCB3ZSBjcmVh
dGVkIG1ha2VzIHNlbnNlLgorICAgICAgICAjIFNpbmNlIHdlJ3JlIG5vdCBhY3R1YWxseSBnZXR0
aW5nIHRoaXMgcGF0aCBmcm9tIHRoZSByZXN1bHRzLmh0bWwKKyAgICAgICAgIyB0aGVyZSBpcyBh
IGhpZ2ggcHJvYmFpbGl0eSBpdCdzIHRvdGFsbHkgd3JvbmcuCisgICAgICAgIGlmIG5vdCBzZWxm
Ll90b29sLmZpbGVzeXN0ZW0uZXhpc3RzKGV4cGVjdGVkX2RpZmZfcGF0aCk6CisgICAgICAgICAg
ICByZXR1cm4gTm9uZQorICAgICAgICByZXR1cm4gZXhwZWN0ZWRfZGlmZl9wYXRoCisKICAgICBk
ZWYgX2ZvbGxvd19kdXBsaWNhdGVfY2hhaW4oc2VsZiwgYnVnKToKICAgICAgICAgd2hpbGUgYnVn
LmlzX2Nsb3NlZCgpIGFuZCBidWcuZHVwbGljYXRlX29mKCk6CiAgICAgICAgICAgICBidWcgPSBz
ZWxmLl90b29sLmJ1Z3MuZmV0Y2hfYnVnKGJ1Zy5kdXBsaWNhdGVfb2YoKSkKQEAgLTEzNSw3ICsx
NTQsMTIgQEAgSWYgeW91IHdvdWxkIGxpa2UgdG8gdHJhY2sgdGhpcyB0ZXN0IGZpeCB3aXRoIGFu
b3RoZXIgYnVnLCBwbGVhc2UgY2xvc2UgdGhpcyBidWcKICAgICAgICAgICAgICAgICBidWcgPSBz
ZWxmLl9mb2xsb3dfZHVwbGljYXRlX2NoYWluKGJ1ZykKICAgICAgICAgICAgICAgICBzZWxmLl91
cGRhdGVfYnVnX2Zvcl9mbGFreV90ZXN0KGJ1ZywgbGF0ZXN0X2ZsYWtlX21lc3NhZ2UpCiAgICAg
ICAgICAgICAgICAgZmxha2VfYnVnX2lkID0gYnVnLmlkKCkKLQorICAgICAgICAgICAgIyBGSVhN
RTogSWRlYWxseSB3ZSdkIG9ubHkgbWFrZSBvbmUgY29tbWVudCBwZXIgZmxha2UsIG5vdCB0d28u
ICBCdXQgdGhhdCdzIG5vdCBwb3NzaWJsZQorICAgICAgICAgICAgIyBpbiBhbGwgY2FzZXMgKGUu
Zy4gd2hlbiByZW9wZW5pbmcpLCBzbyBmb3Igbm93IHdlIGRvIHRoZSBhdHRhY2htZW50IGluIGEg
c2Vjb25kIHN0ZXAuCisgICAgICAgICAgICByZXN1bHRzX2RpZmZfcGF0aCA9IHNlbGYuX3Jlc3Vs
dHNfZGlmZl9wYXRoX2Zvcl90ZXN0KGZsYWt5X3Rlc3QpCisgICAgICAgICAgICBpZiByZXN1bHRz
X2RpZmZfcGF0aDoKKyAgICAgICAgICAgICAgICB3aXRoIGNvZGVjcy5vcGVuKHJlc3VsdHNfZGlm
Zl9wYXRoLCAicmIiKToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fdG9vbC5idWdzLmFkZF9h
dHRhY2htZW50X3RvX2J1ZyhidWcuaWQoKSwgcmVzdWx0c19kaWZmX2ZpbGUsICJGYWlsdXJlIGRp
ZmYgZnJvbSBib3QiLCBmaWxlbmFtZT0iZmFpbHVyZS5kaWZmIikKICAgICAgICAgICAgIG1lc3Nh
Z2UgKz0gIiVzIGJ1ZyAlcyVzXG4iICUgKGZsYWt5X3Rlc3QsIGZsYWtlX2J1Z19pZCwgc2VsZi5f
b3B0aW9uYWxfYXV0aG9yX3N0cmluZyhhdXRob3JfZW1haWxzKSkKIAogICAgICAgICBtZXNzYWdl
ICs9ICJUaGUgJXMgaXMgY29udGludWluZyB0byBwcm9jZXNzIHlvdXIgcGF0Y2guIiAlIHNlbGYu
X2JvdF9uYW1lCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
Ym90L2ZsYWt5dGVzdHJlcG9ydGVyX3VuaXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL2JvdC9mbGFreXRlc3RyZXBvcnRlcl91bml0dGVzdC5weQppbmRleCAzYWFm
ZTEzYzQ1YjRiYTFiYTNiM2JmN2I1NjU4MGFmMmUxN2Y1ZWIzLi4wMjAzMjU4NzIzOGE0MzMxZGQw
NTRhMWIxZDk5NzEwM2NmZThkZTFjIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvYm90L2ZsYWt5dGVzdHJlcG9ydGVyX3VuaXR0ZXN0LnB5CisrKyBiL1dlYktp
dFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvZmxha3l0ZXN0cmVwb3J0ZXJfdW5pdHRl
c3QucHkKQEAgLTI5LDYgKzI5LDcgQEAKIGltcG9ydCB1bml0dGVzdAogCiBmcm9tIHdlYmtpdHB5
LmNvbW1vbi5jb25maWcuY29tbWl0dGVycyBpbXBvcnQgQ29tbWl0dGVyCitmcm9tIHdlYmtpdHB5
LmNvbW1vbi5zeXN0ZW0uZmlsZXN5c3RlbV9tb2NrIGltcG9ydCBNb2NrRmlsZVN5c3RlbQogZnJv
bSB3ZWJraXRweS5jb21tb24uc3lzdGVtLm91dHB1dGNhcHR1cmUgaW1wb3J0IE91dHB1dENhcHR1
cmUKIGZyb20gd2Via2l0cHkudG9vbC5ib3QuZmxha3l0ZXN0cmVwb3J0ZXIgaW1wb3J0IEZsYWt5
VGVzdFJlcG9ydGVyCiBmcm9tIHdlYmtpdHB5LnRvb2wubW9ja3Rvb2wgaW1wb3J0IE1vY2tUb29s
LCBNb2NrU3RhdHVzU2VydmVyCkBAIC0xMzEsNCArMTMyLDEyIEBAIFRoZSBkdW1teS1xdWV1ZSBp
cyBjb250aW51aW5nIHRvIHByb2Nlc3MgeW91ciBwYXRjaC4KICAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChyZXBvcnRlci5fb3B0aW9uYWxfYXV0aG9yX3N0cmluZyhbImZvb0BiYXIuY29tIl0pLCAi
IChhdXRob3I6IGZvb0BiYXIuY29tKSIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwb3J0
ZXIuX29wdGlvbmFsX2F1dGhvcl9zdHJpbmcoWyJhQGIuY29tIiwgImJAYi5jb20iXSksICIgKGF1
dGhvcnM6IGFAYi5jb20gYW5kIGJAYi5jb20pIikKIAorICAgIGRlZiB0ZXN0X3Jlc3VsdHNfZGlm
Zl9wYXRoX2Zvcl90ZXN0KHNlbGYpOgorICAgICAgICB0b29sID0gTW9ja1Rvb2woKQorICAgICAg
ICByZXBvcnRlciA9IEZsYWt5VGVzdFJlcG9ydGVyKHRvb2wsICdkdW1teS1xdWV1ZScpCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwb3J0ZXIuX3Jlc3VsdHNfZGlmZl9wYXRoX2Zvcl90ZXN0
KCJkb2VzL25vdC9leGlzdC5odG1sIiksIE5vbmUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
cmVwb3J0ZXIuX3Jlc3VsdHNfZGlmZl9wYXRoX2Zvcl90ZXN0KCJ0ZXN0Lmh0bWwiKSwgTm9uZSkK
KyAgICAgICAgdG9vbC5maWxlc3lzdGVtID0gTW9ja0ZpbGVTeXN0ZW0oeycvbW9jay90ZXN0LWV4
cGVjdGVkLmRpZmYnOiAnJ30pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVwb3J0ZXIuX3Jl
c3VsdHNfZGlmZl9wYXRoX2Zvcl90ZXN0KCJ0ZXN0Lmh0bWwiKSwgIi9tb2NrL3Rlc3QtZXhwZWN0
ZWQuZGlmZiIpCisKICAgICAjIHJlcG9ydF9mbGFreV90ZXN0cyBpcyBhbHNvIHRlc3RlZCBieSBx
dWV1ZXNfdW5pdHRlc3QKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dG9vbC9jb21tYW5kcy9xdWV1ZXMucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvY29tbWFuZHMvcXVldWVzLnB5CmluZGV4IDg1ODcxM2VkMmY5MzUyYmQ1Y2U3NjIwOTlkOGU2
ZWJhOGNlM2I1NTcuLmUxNTU1NWY2NWM2YzJlNGY1NTNkMzc5M2ZkNDRlNDI5OTc5ZjM0ZmQgMTAw
NjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1
ZXMucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1
ZXVlcy5weQpAQCAtMjkzLDcgKzI5Myw3IEBAIGNsYXNzIENvbW1pdFF1ZXVlKEFic3RyYWN0UGF0
Y2hRdWV1ZSwgU3RlcFNlcXVlbmNlRXJyb3JIYW5kbGVyLCBDb21taXRRdWV1ZVRhc2tECiAgICAg
ICAgIHJldHVybiBzZWxmLl91cGRhdGVfc3RhdHVzKG1lc3NhZ2UsIHBhdGNoPXBhdGNoLCByZXN1
bHRzX2ZpbGU9ZmFpbHVyZV9sb2cpCiAKICAgICAjIEZJWE1FOiBUaGlzIGV4aXN0cyBmb3IgbW9j
a2luZywgYnV0IHNob3VsZCBpbnN0ZWFkIGJlIG1vY2tlZCB2aWEKLSAgICAjIHNvbWUgc29ydCBv
ZiB0b29sLmZpbGVzeXN0ZW0oKSBvYmplY3QuCisgICAgIyB0b29sLmZpbGVzeXN0ZW0ucmVhZF90
ZXh0X2ZpbGUuICBUaGV5IGhhdmUgZGlmZmVyZW50IGVycm9yIGhhbmRsaW5nIGF0IHRoZSBtb21l
bnQuCiAgICAgZGVmIF9yZWFkX2ZpbGVfY29udGVudHMoc2VsZiwgcGF0aCk6CiAgICAgICAgIHRy
eToKICAgICAgICAgICAgIHdpdGggY29kZWNzLm9wZW4ocGF0aCwgInIiLCAidXRmLTgiKSBhcyBv
cGVuX2ZpbGU6CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wv
Y29tbWFuZHMvcmViYXNlbGluZS5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9v
bC9jb21tYW5kcy9yZWJhc2VsaW5lLnB5CmluZGV4IDM1Mzg4ZWVkOTgyODEzNjY1NDU1ZWVjNzc3
Zjc5ZGY3NDViMTJhZGIuLjhjNGI5OTdlZTVkYmIyZDU1MTgwNWM5ZmFlNTZmMjY0ZTE0OTU2MWUg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9y
ZWJhc2VsaW5lLnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21t
YW5kcy9yZWJhc2VsaW5lLnB5CkBAIC04OCwxMCArODgsNyBAQCBjbGFzcyBSZWJhc2VsaW5lKEFi
c3RyYWN0RGVjbGFyYXRpdmVDb21tYW5kKToKICAgICAgICAgc2h1dGlsLm1vdmUoZG93bmxvYWRl
ZF9maWxlLCBsb2NhbF9maWxlKQogCiAgICAgZGVmIF90ZXN0c190b191cGRhdGUoc2VsZiwgYnVp
bGQpOgotICAgICAgICBwYXJzZWRfcmVzdWx0cyA9IGJ1aWxkLmxheW91dF90ZXN0X3Jlc3VsdHMo
KS5wYXJzZWRfcmVzdWx0cygpCi0gICAgICAgICMgRklYTUU6IFRoaXMgcHJvYmFibHkgYmVsb25n
cyBhcyBBUEkgb24gTGF5b3V0VGVzdFJlc3VsdHMKLSAgICAgICAgIyBidXQgLmZhaWxpbmdfdGVz
dHMoKSBhbHJlYWR5IG1lYW5zIHNvbWV0aGluZyBlbHNlLgotICAgICAgICBmYWlsaW5nX3Rlc3Rz
ID0gcGFyc2VkX3Jlc3VsdHNbTGF5b3V0VGVzdFJlc3VsdHMuZmFpbF9rZXldCisgICAgICAgIGZh
aWxpbmdfdGVzdHMgPSBidWlsZC5sYXlvdXRfdGVzdF9yZXN1bHRzKCkucmVzdWx0c19tYXRjaGlu
Z19rZXlzKFtMYXlvdXRUZXN0UmVzdWx0cy5mYWlsX2tleV0pCiAgICAgICAgIHJldHVybiBzZWxm
Ll90b29sLnVzZXIucHJvbXB0X3dpdGhfbGlzdCgiV2hpY2ggdGVzdChzKSB0byByZWJhc2VsaW5l
OiIsIGZhaWxpbmdfdGVzdHMsIGNhbl9jaG9vc2VfbXVsdGlwbGU9VHJ1ZSkKIAogICAgIGRlZiBf
cmVzdWx0c191cmxfZm9yX3Rlc3Qoc2VsZiwgYnVpbGQsIHRlc3QpOgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL21haW4ucHkgYi9XZWJLaXRUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvbWFpbi5weQppbmRleCA1M2E2OTliMzc5NWU3MTIyZTBkNGQxMTg2
MGE3NGMwODEyMjVlNjExLi4wMDA2ZTg3NTg0ZjBiYTkxM2I2OGQ2OTgwOTAxNDE2NWFmNTljMjRk
IDEwMDc1NQotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbWFpbi5weQor
KysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbWFpbi5weQpAQCAtNDEsNiAr
NDEsNyBAQCBmcm9tIHdlYmtpdHB5LmNvbW1vbi5uZXQuYnVpbGRib3QgaW1wb3J0IEJ1aWxkQm90
CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5uZXQuaXJjLmlyY3Byb3h5IGltcG9ydCBJUkNQcm94eQog
ZnJvbSB3ZWJraXRweS5jb21tb24ubmV0LnN0YXR1c3NlcnZlciBpbXBvcnQgU3RhdHVzU2VydmVy
CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZXhlY3V0aXZlIGltcG9ydCBFeGVjdXRpdmUK
K2Zyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS5maWxlc3lzdGVtIGltcG9ydCBGaWxlU3lzdGVt
CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0ucGxhdGZvcm1pbmZvIGltcG9ydCBQbGF0Zm9y
bUluZm8KIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3RlbS51c2VyIGltcG9ydCBVc2VyCiBmcm9t
IHdlYmtpdHB5LmxheW91dF90ZXN0cyBpbXBvcnQgcG9ydApAQCAtNzEsNiArNzIsNyBAQCBjbGFz
cyBXZWJLaXRQYXRjaChNdWx0aUNvbW1hbmRUb29sKToKICAgICAgICAgc2VsZi5idWlsZGJvdCA9
IEJ1aWxkQm90KCkKICAgICAgICAgc2VsZi5leGVjdXRpdmUgPSBFeGVjdXRpdmUoKQogICAgICAg
ICBzZWxmLl9pcmMgPSBOb25lCisgICAgICAgIHNlbGYuZmlsZXN5c3RlbSA9IEZpbGVTeXN0ZW0o
KQogICAgICAgICBzZWxmLl9wb3J0ID0gTm9uZQogICAgICAgICBzZWxmLnVzZXIgPSBVc2VyKCkK
ICAgICAgICAgc2VsZi5fc2NtID0gTm9uZQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL21vY2t0b29sLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRw
eS90b29sL21vY2t0b29sLnB5CmluZGV4IGYwMmQzNWIyYzUyMGUxOWQ3YWFjYTc3YTc3MGZjMjdh
ZTVhNTZmMjIuLmE0ZDQyZGY2YWM4YTVlZTZmODY0N2QwNGQ5MzgyYWYyOWJhMGM5YTggMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9tb2NrdG9vbC5weQorKysg
Yi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbW9ja3Rvb2wucHkKQEAgLTMzLDgg
KzMzLDkgQEAgZnJvbSB3ZWJraXRweS5jb21tb24uY29uZmlnLmNvbW1pdHRlcnMgaW1wb3J0IENv
bW1pdHRlckxpc3QsIFJldmlld2VyCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5jaGVja291dC5jb21t
aXRpbmZvIGltcG9ydCBDb21taXRJbmZvCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5jaGVja291dC5z
Y20gaW1wb3J0IENvbW1pdE1lc3NhZ2UKIGZyb20gd2Via2l0cHkuY29tbW9uLm5ldC5idWd6aWxs
YSBpbXBvcnQgQnVnLCBBdHRhY2htZW50Ci1mcm9tIHdlYmtpdHB5LnRoaXJkcGFydHkubW9jayBp
bXBvcnQgTW9jawogZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtLmRlcHJlY2F0ZWRfbG9nZ2lu
ZyBpbXBvcnQgbG9nCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZmlsZXN5c3RlbV9tb2Nr
IGltcG9ydCBNb2NrRmlsZVN5c3RlbQorZnJvbSB3ZWJraXRweS50aGlyZHBhcnR5Lm1vY2sgaW1w
b3J0IE1vY2sKIAogCiBkZWYgX2lkX3RvX29iamVjdF9kaWN0aW9uYXJ5KCpvYmplY3RzKToKQEAg
LTYzMyw2ICs2MzQsOSBAQCBjbGFzcyBNb2NrUG9ydChNb2NrKToKICAgICBkZWYgbmFtZShzZWxm
KToKICAgICAgICAgcmV0dXJuICJNb2NrUG9ydCIKIAorICAgIGRlZiBsYXlvdXRfdGVzdHNfcmVz
dWx0c19wYXRoKHNlbGYpOgorICAgICAgICByZXR1cm4gIi9tb2NrL3Jlc3VsdHMuaHRtbCIKKwog
Y2xhc3MgTW9ja1Rlc3RQb3J0MShvYmplY3QpOgogCiAgICAgZGVmIHNraXBzX2xheW91dF90ZXN0
KHNlbGYsIHRlc3RfbmFtZSk6CkBAIC02NjMsNiArNjY3LDcgQEAgY2xhc3MgTW9ja1Rvb2wob2Jq
ZWN0KToKICAgICAgICAgc2VsZi5idWdzID0gTW9ja0J1Z3ppbGxhKCkKICAgICAgICAgc2VsZi5i
dWlsZGJvdCA9IE1vY2tCdWlsZEJvdCgpCiAgICAgICAgIHNlbGYuZXhlY3V0aXZlID0gTW9ja0V4
ZWN1dGl2ZShzaG91bGRfbG9nPWxvZ19leGVjdXRpdmUpCisgICAgICAgIHNlbGYuZmlsZXN5c3Rl
bSA9IE1vY2tGaWxlU3lzdGVtKCkKICAgICAgICAgc2VsZi5faXJjID0gTm9uZQogICAgICAgICBz
ZWxmLnVzZXIgPSBNb2NrVXNlcigpCiAgICAgICAgIHNlbGYuX3NjbSA9IE1vY2tTQ00oKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76672</attachid>
            <date>2010-12-15 11:22:53 -0800</date>
            <delta_ts>2010-12-15 13:39:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51051-20101215112251.patch</filename>
            <type>text/plain</type>
            <size>26225</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAzYWM2YzY2NWU0MWYyNGVlMGI3YWNkNDY2YjlmZjQwYmQ2ZjZkNGE5Li4wOTllOWRk
MjM4MTNjZDBkYmExYWJhNmI4ZTIzNmVlY2QxMWExZDhiIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAK
KzIwMTAtMTItMTQgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGNvbW1pdC1xdWV1ZSBzaG91bGQg
dXBsb2FkIGZhaWx1cmUgZGlmZnMgd2hlbiB0ZXN0cyBmbGFrZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTEwNTEKKworICAgICAgICBUbyBtYWtlIHRo
aXMgdGVzdGFibGUgSSBuZWVkZWQgdG8gcGlwZSBGaWxlU3lzdGVtIGRvd24gb250byB0b29sLgor
ICAgICAgICBXZSd2ZSB3YW50ZWQgaXQgdGhlcmUgZm9yIGEgbG9uZyB0aW1lIGFueXdheS4KKwor
ICAgICAgICBUaGlzIHBhdGNoIGlzIGtpbmRhIGEgYmlnIGhhY2suICBCdXQgd2UgZG9uJ3QgaGF2
ZSBhIG5pY2UKKyAgICAgICAgd2F5IHRvIHJlYWQgcmVzdWx0cy5odG1sIGZpbGVzLiAgSSB0aGlu
ayB0aGlzIHdpbGwgbmVlZCBmdXJ0aGVyCisgICAgICAgIHJldmlzaW9uIGJlZm9yZSB0aGlzIGNv
ZGUgYWN0dWFsbHkgZmVlbHMgY2xlYW4uCisKKyAgICAgICAgQXMgcGFydCBvZiB0ZXN0aW5nIHRo
aXMgY2hhbmdlLCBJIGhhZCB0byBtYWtlIE1vY2tCdWd6aWxsYS5jcmVhdGVfYnVnCisgICAgICAg
IGFjdHVhbGx5IHJldHVybiBhbiBpZCAobGlrZSBpdCBzaG91bGQpIHdoaWNoIHJlcXVpcmVkIHVw
ZGF0aW5nCisgICAgICAgIGEgZmV3IG90aGVyIHVuaXQgdGVzdCByZXN1bHRzIChmb3IgdGhlIGJl
dHRlcikuCisKKyAgICAgICAgVGhlIHJlc3VsdHNfbWF0Y2hpbmdfa2V5cyBjaGFuZ2UgaW4gbGF5
b3V0dGVzdHJlc3VsdHMvcmViYXNsaW5lCisgICAgICAgIHdhcyBhbiBhbHRlcm5hdGUgcGF0aCB3
aGljaCBJIGRlY2lkZWQgbm90IHRvIHVzZSBpbiB0aGUgZW5kLCBidXQKKyAgICAgICAgSSBsZWZ0
IHRoZSBjaGFuZ2UgYXMgaXQgc2VlbWVkIGFuIGltcHJvdmVtZW50LgorCisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9jb21tb24vbmV0L2J1Z3ppbGxhL2J1Z3ppbGxhLnB5OgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9sYXlvdXR0ZXN0cmVzdWx0cy5weToKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2ZsYWt5dGVzdHJlcG9ydGVyLnB5OgorICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvZmxha3l0ZXN0cmVwb3J0ZXJfdW5pdHRl
c3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlcy5w
eToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcmViYXNlbGluZS5w
eToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3Rvb2wvbWFpbi5weToKKyAgICAgICAgKiBT
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvbW9ja3Rvb2wucHk6CisKIDIwMTAtMTItMTQgIFBoaWxpcHBl
IE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9q
YW4gVmFmYWkuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1v
bi9uZXQvYnVnemlsbGEvYnVnemlsbGEucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5
L2NvbW1vbi9uZXQvYnVnemlsbGEvYnVnemlsbGEucHkKaW5kZXggMGE1OWUyMmIwZTA1MmM1NDU5
NDBiZGQwNzY2MTgxMTZiY2IxMThiMC4uZDYyMTBkNTJmYWQ2NmY2MDRmNDU4MmY4Nzg2YzQwZGY4
ZDE5NTEzMCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9jb21tb24v
bmV0L2J1Z3ppbGxhL2J1Z3ppbGxhLnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvY29tbW9uL25ldC9idWd6aWxsYS9idWd6aWxsYS5weQpAQCAtMjIxLDE1ICsyMjEsMTYgQEAg
Y2xhc3MgQnVnemlsbGEob2JqZWN0KToKICAgICAgICAgaWYgbm90IGJ1Z19pZDoKICAgICAgICAg
ICAgIHJldHVybiBOb25lCiAgICAgICAgIGNvbnRlbnRfdHlwZSA9ICImY3R5cGU9eG1sIiBpZiB4
bWwgZWxzZSAiIgotICAgICAgICByZXR1cm4gIiVzc2hvd19idWcuY2dpP2lkPSVzJXMiICUgKHNl
bGYuYnVnX3NlcnZlcl91cmwsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYnVnX2lkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnRlbnRfdHlwZSkKKyAgICAgICAgcmV0dXJuICIlc3Nob3dfYnVnLmNnaT9pZD0lcyVzIiAl
IChzZWxmLmJ1Z19zZXJ2ZXJfdXJsLCBidWdfaWQsIGNvbnRlbnRfdHlwZSkKIAogICAgIGRlZiBz
aG9ydF9idWdfdXJsX2Zvcl9idWdfaWQoc2VsZiwgYnVnX2lkKToKICAgICAgICAgaWYgbm90IGJ1
Z19pZDoKICAgICAgICAgICAgIHJldHVybiBOb25lCiAgICAgICAgIHJldHVybiAiaHR0cDovL3dl
YmtpdC5vcmcvYi8lcyIgJSBidWdfaWQKIAorICAgIGRlZiBhZGRfYXR0YWNobWVudF91cmwoc2Vs
ZiwgYnVnX2lkKToKKyAgICAgICAgcmV0dXJuICIlc2F0dGFjaG1lbnQuY2dpP2FjdGlvbj1lbnRl
ciZidWdpZD0lcyIgJSAoc2VsZi5idWdfc2VydmVyX3VybCwgYnVnX2lkKQorCiAgICAgZGVmIGF0
dGFjaG1lbnRfdXJsX2Zvcl9pZChzZWxmLCBhdHRhY2htZW50X2lkLCBhY3Rpb249InZpZXciKToK
ICAgICAgICAgaWYgbm90IGF0dGFjaG1lbnRfaWQ6CiAgICAgICAgICAgICByZXR1cm4gTm9uZQpA
QCAtNDE1LDcyICs0MTYsMTA0IEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAgICAgICAgICAg
ICAgICAgc2VsZi5hdXRoZW50aWNhdGVkID0gVHJ1ZQogICAgICAgICAgICAgICAgIHNlbGYudXNl
cm5hbWUgPSB1c2VybmFtZQogCisgICAgZGVmIF9jb21taXRfcXVldWVfZmxhZyhzZWxmLCBtYXJr
X2Zvcl9sYW5kaW5nLCBtYXJrX2Zvcl9jb21taXRfcXVldWUpOgorICAgICAgICBpZiBtYXJrX2Zv
cl9sYW5kaW5nOgorICAgICAgICAgICAgcmV0dXJuICcrJworICAgICAgICBlbGlmIG1hcmtfZm9y
X2NvbW1pdF9xdWV1ZToKKyAgICAgICAgICAgIHJldHVybiAnPycKKyAgICAgICAgcmV0dXJuICdY
JworCisgICAgIyBGSVhNRTogbWFya19mb3JfY29tbWl0X3F1ZXVlIGFuZCBtYXJrX2Zvcl9sYW5k
aW5nIHNob3VsZCBiZSBqb2luZWQgaW50byBhIHNpbmdsZSBjb21taXRfZmxhZyBhcmd1bWVudC4K
ICAgICBkZWYgX2ZpbGxfYXR0YWNobWVudF9mb3JtKHNlbGYsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBkZXNjcmlwdGlvbiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBh
dGNoX2ZpbGVfb2JqZWN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWVudF90
ZXh0PU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlX29iamVjdCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtfZm9yX3Jldmlldz1GYWxzZSwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtfZm9yX2NvbW1pdF9xdWV1ZT1GYWxzZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtfZm9yX2xhbmRpbmc9RmFsc2UsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBidWdfaWQ9Tm9uZSk6CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpc19wYXRjaD1GYWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGZpbGVuYW1lPU5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaW1ldHlw
ZT1Ob25lKToKICAgICAgICAgc2VsZi5icm93c2VyWydkZXNjcmlwdGlvbiddID0gZGVzY3JpcHRp
b24KLSAgICAgICAgc2VsZi5icm93c2VyWydpc3BhdGNoJ10gPSAoIjEiLCkKKyAgICAgICAgaWYg
aXNfcGF0Y2g6CisgICAgICAgICAgICBzZWxmLmJyb3dzZXJbJ2lzcGF0Y2gnXSA9ICgiMSIsKQor
ICAgICAgICAjIEZJWE1FOiBTaG91bGQgdGhpcyB1c2Ugc2VsZi5fZmluZF9zZWxlY3RfZWxlbWVu
dF9mb3JfZmxhZz8KICAgICAgICAgc2VsZi5icm93c2VyWydmbGFnX3R5cGUtMSddID0gKCc/Jywp
IGlmIG1hcmtfZm9yX3JldmlldyBlbHNlICgnWCcsKQorICAgICAgICBzZWxmLmJyb3dzZXJbJ2Zs
YWdfdHlwZS0zJ10gPSAoc2VsZi5fY29tbWl0X3F1ZXVlX2ZsYWcobWFya19mb3JfbGFuZGluZywg
bWFya19mb3JfY29tbWl0X3F1ZXVlKSwpCisKKyAgICAgICAgZmlsZW5hbWUgPSBmaWxlbmFtZSBv
ciAiJXMucGF0Y2giICUgdGltZXN0YW1wKCkKKyAgICAgICAgbWltZXR5cGUgPSBtaW1ldHlwZSBv
ciAidGV4dC9wbGFpbiIKKyAgICAgICAgc2VsZi5icm93c2VyLmFkZF9maWxlKGZpbGVfb2JqZWN0
LCBtaW1ldHlwZSwgZmlsZW5hbWUsICdkYXRhJykKKworICAgIGRlZiBfZmlsZV9vYmplY3RfZm9y
X3VwbG9hZChzZWxmLCBmaWxlX29yX3N0cmluZyk6CisgICAgICAgIGlmIGhhc2F0dHIoZmlsZV9v
cl9zdHJpbmcsICdyZWFkJyk6CisgICAgICAgICAgICByZXR1cm4gZmlsZV9vcl9zdHJpbmcKKyAg
ICAgICAgIyBPbmx5IGlmIGZpbGVfb3Jfc3RyaW5nIGlzIG5vdCBhbHJlYWR5IGVuY29kZWQgZG8g
d2Ugd2FudCB0byBlbmNvZGUgaXQuCisgICAgICAgIGlmIGlzaW5zdGFuY2UoZmlsZV9vcl9zdHJp
bmcsIHVuaWNvZGUpOgorICAgICAgICAgICAgZmlsZV9vcl9zdHJpbmcgPSBmaWxlX29yX3N0cmlu
Zy5lbmNvZGUoJ3V0Zi04JykKKyAgICAgICAgcmV0dXJuIFN0cmluZ0lPLlN0cmluZ0lPKGZpbGVf
b3Jfc3RyaW5nKQorCisgICAgIyB0aW1lc3RhbXAgYXJndW1lbnQgaXMganVzdCBmb3IgdW5pdHRl
c3RzLgorICAgIGRlZiBfZmlsZW5hbWVfZm9yX3VwbG9hZChzZWxmLCBmaWxlX29iamVjdCwgYnVn
X2lkLCBleHRlbnNpb249InR4dCIsIHRpbWVzdGFtcD10aW1lc3RhbXApOgorICAgICAgICBpZiBo
YXNhdHRyKGZpbGVfb2JqZWN0LCAibmFtZSIpOgorICAgICAgICAgICAgcmV0dXJuIGZpbGVfb2Jq
ZWN0Lm5hbWUKKyAgICAgICAgcmV0dXJuICJidWctJXMtJXMuJXMiICUgKGJ1Z19pZCwgdGltZXN0
YW1wKCksIGV4dGVuc2lvbikKKworICAgIGRlZiBhZGRfYXR0YWNobWVudF90b19idWcoc2VsZiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1Z19pZCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGZpbGVfb3Jfc3RyaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZGVzY3JpcHRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZT1O
b25lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWVudF90ZXh0PU5vbmUpOgor
ICAgICAgICBzZWxmLmF1dGhlbnRpY2F0ZSgpCisgICAgICAgIGxvZygnQWRkaW5nIGF0dGFjaG1l
bnQgIiVzIiB0byAlcycgJSAoZGVzY3JpcHRpb24sIHNlbGYuYnVnX3VybF9mb3JfYnVnX2lkKGJ1
Z19pZCkpKQorICAgICAgICBpZiBzZWxmLmRyeXJ1bjoKKyAgICAgICAgICAgIGxvZyhjb21tZW50
X3RleHQpCisgICAgICAgICAgICByZXR1cm4KIAotICAgICAgICBpZiBtYXJrX2Zvcl9sYW5kaW5n
OgotICAgICAgICAgICAgc2VsZi5icm93c2VyWydmbGFnX3R5cGUtMyddID0gKCcrJywpCi0gICAg
ICAgIGVsaWYgbWFya19mb3JfY29tbWl0X3F1ZXVlOgotICAgICAgICAgICAgc2VsZi5icm93c2Vy
WydmbGFnX3R5cGUtMyddID0gKCc/JywpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxm
LmJyb3dzZXJbJ2ZsYWdfdHlwZS0zJ10gPSAoJ1gnLCkKLQotICAgICAgICBpZiBidWdfaWQ6Ci0g
ICAgICAgICAgICBwYXRjaF9uYW1lID0gImJ1Zy0lcy0lcy5wYXRjaCIgJSAoYnVnX2lkLCB0aW1l
c3RhbXAoKSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHBhdGNoX25hbWUgPSIlcy5wYXRj
aCIgJSB0aW1lc3RhbXAoKQotCi0gICAgICAgIHNlbGYuYnJvd3Nlci5hZGRfZmlsZShwYXRjaF9m
aWxlX29iamVjdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZXh0L3BsYWluIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGNoX25hbWUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnZGF0YScpCisgICAgICAgIHNlbGYuYnJvd3Nlci5vcGVuKHNlbGYu
YWRkX2F0dGFjaG1lbnRfdXJsKGJ1Z19pZCkpCisgICAgICAgIHNlbGYuYnJvd3Nlci5zZWxlY3Rf
Zm9ybShuYW1lPSJlbnRyeWZvcm0iKQorICAgICAgICBmaWxlX29iamVjdCA9IHNlbGYuX2ZpbGVf
b2JqZWN0X2Zvcl91cGxvYWQoZmlsZV9vcl9zdHJpbmcpCisgICAgICAgIGZpbGVuYW1lID0gZmls
ZW5hbWUgb3Igc2VsZi5fZmlsZW5hbWVfZm9yX3VwbG9hZChmaWxlX29iamVjdCwgYnVnX2lkKQor
ICAgICAgICBzZWxmLl9maWxsX2F0dGFjaG1lbnRfZm9ybShkZXNjcmlwdGlvbiwgZmlsZV9vYmpl
Y3QsIGZpbGVuYW1lPWZpbGVuYW1lKQorICAgICAgICBpZiBjb21tZW50X3RleHQ6CisgICAgICAg
ICAgICBsb2coY29tbWVudF90ZXh0KQorICAgICAgICAgICAgc2VsZi5icm93c2VyWydjb21tZW50
J10gPSBjb21tZW50X3RleHQKKyAgICAgICAgc2VsZi5icm93c2VyLnN1Ym1pdCgpCiAKKyAgICAj
IEZJWE1FOiBUaGUgYXJndW1lbnRzIHRvIHRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIHNpbXBsaWZp
ZWQgYW5kIHRoZW4KKyAgICAjIHRoaXMgc2hvdWxkIGJlIG1lcmdlZCBpbnRvIGFkZF9hdHRhY2ht
ZW50X3RvX2J1ZwogICAgIGRlZiBhZGRfcGF0Y2hfdG9fYnVnKHNlbGYsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgYnVnX2lkLAotICAgICAgICAgICAgICAgICAgICAgICAgIGRpZmYsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgZmlsZV9vcl9zdHJpbmcsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGVzY3JpcHRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWVudF90ZXh0
PU5vbmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgbWFya19mb3JfcmV2aWV3PUZhbHNlLAog
ICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtfZm9yX2NvbW1pdF9xdWV1ZT1GYWxzZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICBtYXJrX2Zvcl9sYW5kaW5nPUZhbHNlKToKICAgICAgICAg
c2VsZi5hdXRoZW50aWNhdGUoKQotCi0gICAgICAgIGxvZygnQWRkaW5nIHBhdGNoICIlcyIgdG8g
JXNzaG93X2J1Zy5jZ2k/aWQ9JXMnICUgKGRlc2NyaXB0aW9uLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmJ1Z19zZXJ2ZXJf
dXJsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBidWdfaWQpKQorICAgICAgICBsb2coJ0FkZGluZyBwYXRjaCAiJXMiIHRvICVzJyAl
IChkZXNjcmlwdGlvbiwgc2VsZi5idWdfdXJsX2Zvcl9idWdfaWQoYnVnX2lkKSkpCiAKICAgICAg
ICAgaWYgc2VsZi5kcnlydW46CiAgICAgICAgICAgICBsb2coY29tbWVudF90ZXh0KQogICAgICAg
ICAgICAgcmV0dXJuCiAKLSAgICAgICAgc2VsZi5icm93c2VyLm9wZW4oIiVzYXR0YWNobWVudC5j
Z2k/YWN0aW9uPWVudGVyJmJ1Z2lkPSVzIiAlICgKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
c2VsZi5idWdfc2VydmVyX3VybCwgYnVnX2lkKSkKKyAgICAgICAgc2VsZi5icm93c2VyLm9wZW4o
c2VsZi5hZGRfYXR0YWNobWVudF91cmwoYnVnX2lkKSkKICAgICAgICAgc2VsZi5icm93c2VyLnNl
bGVjdF9mb3JtKG5hbWU9ImVudHJ5Zm9ybSIpCi0KLSAgICAgICAgIyBfZmlsbF9hdHRhY2htZW50
X2Zvcm0gZXhwZWN0cyBhIGZpbGUtbGlrZSBvYmplY3QKLSAgICAgICAgIyBQYXRjaCBmaWxlcyBh
cmUgYWxyZWFkeSBiaW5hcnksIHNvIG5vIGVuY29kaW5nIG5lZWRlZC4KLSAgICAgICAgYXNzZXJ0
KGlzaW5zdGFuY2UoZGlmZiwgc3RyKSkKLSAgICAgICAgcGF0Y2hfZmlsZV9vYmplY3QgPSBTdHJp
bmdJTy5TdHJpbmdJTyhkaWZmKQorICAgICAgICBmaWxlX29iamVjdCA9IHNlbGYuX2ZpbGVfb2Jq
ZWN0X2Zvcl91cGxvYWQoZmlsZV9vcl9zdHJpbmcpCisgICAgICAgIGZpbGVuYW1lID0gc2VsZi5f
ZmlsZW5hbWVfZm9yX3VwbG9hZChmaWxlX29iamVjdCwgYnVnX2lkLCBleHRlbnNpb249InBhdGNo
IikKICAgICAgICAgc2VsZi5fZmlsbF9hdHRhY2htZW50X2Zvcm0oZGVzY3JpcHRpb24sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGNoX2ZpbGVfb2JqZWN0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlX29iamVjdCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbWFya19mb3JfcmV2aWV3PW1hcmtfZm9yX3JldmlldywKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFya19mb3JfY29tbWl0X3F1ZXVlPW1h
cmtfZm9yX2NvbW1pdF9xdWV1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bWFya19mb3JfbGFuZGluZz1tYXJrX2Zvcl9sYW5kaW5nLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBidWdfaWQ9YnVnX2lkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpc19wYXRjaD1UcnVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmaWxlbmFtZT1maWxlbmFtZSkKICAgICAgICAgaWYgY29tbWVudF90ZXh0OgogICAgICAgICAg
ICAgbG9nKGNvbW1lbnRfdGV4dCkKICAgICAgICAgICAgIHNlbGYuYnJvd3NlclsnY29tbWVudCdd
ID0gY29tbWVudF90ZXh0CiAgICAgICAgIHNlbGYuYnJvd3Nlci5zdWJtaXQoKQogCisgICAgIyBG
SVhNRTogVGhlcmUgaGFzIHRvIGJlIGEgbW9yZSBjb25jaXNlIHdheSB0byB3cml0ZSB0aGlzIG1l
dGhvZC4KICAgICBkZWYgX2NoZWNrX2NyZWF0ZV9idWdfcmVzcG9uc2Uoc2VsZiwgcmVzcG9uc2Vf
aHRtbCk6CiAgICAgICAgIG1hdGNoID0gcmUuc2VhcmNoKCI8dGl0bGU+QnVnICg/UDxidWdfaWQ+
XGQrKSBTdWJtaXR0ZWQ8L3RpdGxlPiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3Bv
bnNlX2h0bWwpCkBAIC01MTYsNiArNTQ5LDcgQEAgY2xhc3MgQnVnemlsbGEob2JqZWN0KToKICAg
ICAgICAgbG9nKCdDcmVhdGluZyBidWcgd2l0aCB0aXRsZSAiJXMiJyAlIGJ1Z190aXRsZSkKICAg
ICAgICAgaWYgc2VsZi5kcnlydW46CiAgICAgICAgICAgICBsb2coYnVnX2Rlc2NyaXB0aW9uKQor
ICAgICAgICAgICAgIyBGSVhNRTogVGhpcyB3aWxsIG1ha2Ugc29tZSBwYXRocyBmYWlsLCBhcyB0
aGV5IGFzc3VtZSB0aGlzIHJldHVybnMgYW4gaWQuCiAgICAgICAgICAgICByZXR1cm4KIAogICAg
ICAgICBzZWxmLmJyb3dzZXIub3BlbihzZWxmLmJ1Z19zZXJ2ZXJfdXJsICsgImVudGVyX2J1Zy5j
Z2k/cHJvZHVjdD1XZWJLaXQiKQpAQCAtNTMxLDcgKzU2NSw3IEBAIGNsYXNzIEJ1Z3ppbGxhKG9i
amVjdCk6CiAgICAgICAgICAgICBzZWxmLmJyb3dzZXJbImNjIl0gPSBjYwogICAgICAgICBpZiBi
bG9ja2VkOgogICAgICAgICAgICAgc2VsZi5icm93c2VyWyJibG9ja2VkIl0gPSB1bmljb2RlKGJs
b2NrZWQpCi0gICAgICAgIGlmIGFzc2lnbmVlID09IE5vbmU6CisgICAgICAgIGlmIG5vdCBhc3Np
Z25lZToKICAgICAgICAgICAgIGFzc2lnbmVlID0gc2VsZi51c2VybmFtZQogICAgICAgICBpZiBh
c3NpZ25lZSBhbmQgbm90IHNlbGYuYnJvd3Nlci5maW5kX2NvbnRyb2woImFzc2lnbmVkX3RvIiku
ZGlzYWJsZWQ6CiAgICAgICAgICAgICBzZWxmLmJyb3dzZXJbImFzc2lnbmVkX3RvIl0gPSBhc3Np
Z25lZQpAQCAtNTQ3LDcgKzU4MSw4IEBAIGNsYXNzIEJ1Z3ppbGxhKG9iamVjdCk6CiAgICAgICAg
ICAgICAgICAgICAgIHBhdGNoX2Rlc2NyaXB0aW9uLAogICAgICAgICAgICAgICAgICAgICBwYXRj
aF9maWxlX29iamVjdCwKICAgICAgICAgICAgICAgICAgICAgbWFya19mb3JfcmV2aWV3PW1hcmtf
Zm9yX3JldmlldywKLSAgICAgICAgICAgICAgICAgICAgbWFya19mb3JfY29tbWl0X3F1ZXVlPW1h
cmtfZm9yX2NvbW1pdF9xdWV1ZSkKKyAgICAgICAgICAgICAgICAgICAgbWFya19mb3JfY29tbWl0
X3F1ZXVlPW1hcmtfZm9yX2NvbW1pdF9xdWV1ZSwKKyAgICAgICAgICAgICAgICAgICAgaXNfcGF0
Y2g9VHJ1ZSkKIAogICAgICAgICByZXNwb25zZSA9IHNlbGYuYnJvd3Nlci5zdWJtaXQoKQogCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvYnVnemls
bGEvYnVnemlsbGFfdW5pdHRlc3QucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L2Nv
bW1vbi9uZXQvYnVnemlsbGEvYnVnemlsbGFfdW5pdHRlc3QucHkKaW5kZXggMmU3MzIyMGI3Yzlm
NjI0YTA5ZmQ2NTA4MjFlNTVjMmI4ZjMxNzZmYi4uMWQwOGNhNTQ5ZWFjNjcxZjYwYzQ2ZjUxOGMz
ZTQwY2EwNzlmZDBlMCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vbmV0L2J1Z3ppbGxhL2J1Z3ppbGxhX3VuaXR0ZXN0LnB5CisrKyBiL1dlYktpdFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9idWd6aWxsYS9idWd6aWxsYV91bml0dGVzdC5w
eQpAQCAtMjgsNiArMjgsNyBAQAogCiBpbXBvcnQgdW5pdHRlc3QKIGltcG9ydCBkYXRldGltZQor
aW1wb3J0IFN0cmluZ0lPCiAKIGZyb20gLmJ1Z3ppbGxhIGltcG9ydCBCdWd6aWxsYSwgQnVnemls
bGFRdWVyaWVzLCBwYXJzZV9idWdfaWQKIApAQCAtMjc4LDYgKzI3OSwyNCBAQCBaRVpwYm1semFF
eHZZV1JYYVhSb1VtVmhjMjl1T25KbFlYTnZibDA3Q2l0OUNpc0tJRUJsYm1RS0lBb2dJMlZ1Wkds
bUNnPT0KICAgICAgICAgZXh0cmFfc3RkZXJyID0gIkRpZCBub3QgcmVvcGVuIGJ1ZyA0MiwgaXQg
YXBwZWFycyB0byBhbHJlYWR5IGJlIG9wZW4gd2l0aCBzdGF0dXMgWydORVcnXS5cbiIKICAgICAg
ICAgc2VsZi5fYXNzZXJ0X3Jlb3BlbihpdGVtX25hbWVzPVsiTkVXIiwgIlJFU09MVkVEIl0sIHNl
bGVjdGVkX2luZGV4PTAsIGV4dHJhX3N0ZGVycj1leHRyYV9zdGRlcnIpCiAKKyAgICBkZWYgdGVz
dF9maWxlX29iamVjdF9mb3JfdXBsb2FkKHNlbGYpOgorICAgICAgICBidWd6aWxsYSA9IEJ1Z3pp
bGxhKCkKKyAgICAgICAgZmlsZV9vYmplY3QgPSBTdHJpbmdJTy5TdHJpbmdJTygpCisgICAgICAg
IHVuaWNvZGVfdG9yID0gdSJXZWJLaXQgXHUyNjYxIFRvciBBcm5lIFZlc3RiXHUwMEY4ISIKKyAg
ICAgICAgdXRmOF90b3IgPSB1bmljb2RlX3Rvci5lbmNvZGUoInV0Zi04IikKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChidWd6aWxsYS5fZmlsZV9vYmplY3RfZm9yX3VwbG9hZChmaWxlX29iamVj
dCksIGZpbGVfb2JqZWN0KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGJ1Z3ppbGxhLl9maWxl
X29iamVjdF9mb3JfdXBsb2FkKHV0ZjhfdG9yKS5yZWFkKCksIHV0ZjhfdG9yKQorICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGJ1Z3ppbGxhLl9maWxlX29iamVjdF9mb3JfdXBsb2FkKHVuaWNvZGVf
dG9yKS5yZWFkKCksIHV0ZjhfdG9yKQorCisgICAgZGVmIHRlc3RfZmlsZW5hbWVfZm9yX3VwbG9h
ZChzZWxmKToKKyAgICAgICAgYnVnemlsbGEgPSBCdWd6aWxsYSgpCisgICAgICAgIG1vY2tfZmls
ZSA9IE1vY2soKQorICAgICAgICBtb2NrX2ZpbGUubmFtZSA9ICJmb28iCisgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoYnVnemlsbGEuX2ZpbGVuYW1lX2Zvcl91cGxvYWQobW9ja19maWxlLCAxMjM0
KSwgJ2ZvbycpCisgICAgICAgIG1vY2tfdGltZXN0YW1wID0gbGFtYmRhOiAibm93IgorICAgICAg
ICBmaWxlbmFtZSA9IGJ1Z3ppbGxhLl9maWxlbmFtZV9mb3JfdXBsb2FkKFN0cmluZ0lPLlN0cmlu
Z0lPKCksIDEyMzQsIGV4dGVuc2lvbj0icGF0Y2giLCB0aW1lc3RhbXA9bW9ja190aW1lc3RhbXAp
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZmlsZW5hbWUsICJidWctMTIzNC1ub3cucGF0Y2gi
KQorCiAKIGNsYXNzIEJ1Z3ppbGxhUXVlcmllc1Rlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAg
IF9zYW1wbGVfcmVxdWVzdF9wYWdlID0gIiIiCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvbGF5b3V0dGVzdHJlc3VsdHMucHkgYi9XZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9uZXQvbGF5b3V0dGVzdHJlc3VsdHMucHkKaW5kZXgg
YTdiM2IwYWFmOGNlNWE0YWVkZjAwMDBlNDk3OWVjOGYwNWZmYjRjNS4uMTVlOTVjZWFjMjVlNDI2
YWY2NTJmODY5ZmMwY2E3OTlmMDY4ZTcxNCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRweS9jb21tb24vbmV0L2xheW91dHRlc3RyZXN1bHRzLnB5CisrKyBiL1dlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL25ldC9sYXlvdXR0ZXN0cmVzdWx0cy5weQpAQCAt
ODUsNiArODUsOCBAQCBjbGFzcyBMYXlvdXRUZXN0UmVzdWx0cyhvYmplY3QpOgogICAgIGRlZiBw
YXJzZWRfcmVzdWx0cyhzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuX3BhcnNlZF9yZXN1bHRz
CiAKKyAgICBkZWYgcmVzdWx0c19tYXRjaGluZ19rZXlzKHNlbGYsIHJlc3VsdF9rZXlzKToKKyAg
ICAgICAgcmV0dXJuIHNvcnRlZChzdW0oW3Rlc3RzIGZvciBrZXksIHRlc3RzIGluIHNlbGYuX3Bh
cnNlZF9yZXN1bHRzLml0ZW1zKCkgaWYga2V5IGluIHJlc3VsdF9rZXlzXSwgW10pKQorCiAgICAg
ZGVmIGZhaWxpbmdfdGVzdHMoc2VsZik6Ci0gICAgICAgIGZhaWxpbmdfa2V5cyA9IFtzZWxmLmZh
aWxfa2V5LCBzZWxmLmNyYXNoX2tleSwgc2VsZi50aW1lb3V0X2tleV0KLSAgICAgICAgcmV0dXJu
IHNvcnRlZChzdW0oW3Rlc3RzIGZvciBrZXksIHRlc3RzIGluIHNlbGYuX3BhcnNlZF9yZXN1bHRz
Lml0ZW1zKCkgaWYga2V5IGluIGZhaWxpbmdfa2V5c10sIFtdKSkKKyAgICAgICAgcmV0dXJuIHNl
bGYucmVzdWx0c19tYXRjaGluZ19rZXlzKFtzZWxmLmZhaWxfa2V5LCBzZWxmLmNyYXNoX2tleSwg
c2VsZi50aW1lb3V0X2tleV0pCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtp
dHB5L3Rvb2wvYm90L2ZsYWt5dGVzdHJlcG9ydGVyLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL2JvdC9mbGFreXRlc3RyZXBvcnRlci5weQppbmRleCAxYTE4MDI2Njg3ZWU5
YzcyNzE0NTVhNmIxNGNjMzY4MmI0Y2NhNDQ4Li5jZjYyNjVmYmI1ZGQ3MTRlYmYxNTRjMjYxNWRj
YmJiNGJhNmQyMjUyIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rv
b2wvYm90L2ZsYWt5dGVzdHJlcG9ydGVyLnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvdG9vbC9ib3QvZmxha3l0ZXN0cmVwb3J0ZXIucHkKQEAgLTI2LDggKzI2LDEwIEBACiAj
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCitpbXBvcnQgY29kZWNzCiBpbXBvcnQgbG9n
Z2luZwogaW1wb3J0IHBsYXRmb3JtCitpbXBvcnQgb3MucGF0aAogCiBmcm9tIHdlYmtpdHB5LmNv
bW1vbi5uZXQubGF5b3V0dGVzdHJlc3VsdHMgaW1wb3J0IHBhdGhfZm9yX2xheW91dF90ZXN0LCBM
YXlvdXRUZXN0UmVzdWx0cwogZnJvbSB3ZWJraXRweS5jb21tb24uY29uZmlnIGltcG9ydCB1cmxz
CkBAIC00OCw3ICs1MCw3IEBAIGNsYXNzIEZsYWt5VGVzdFJlcG9ydGVyKG9iamVjdCk6CiAgICAg
ICAgIHJldHVybiBzZXQoW2NvbW1pdF9pbmZvLmF1dGhvcigpLmJ1Z3ppbGxhX2VtYWlsKCkgZm9y
IGNvbW1pdF9pbmZvIGluIGNvbW1pdF9pbmZvcyBpZiBjb21taXRfaW5mby5hdXRob3IoKV0pCiAK
ICAgICBkZWYgX2J1Z3ppbGxhX2VtYWlsKHNlbGYpOgotICAgICAgICAjIFRoaXMgaXMga2luZGEg
YSBmdW5ueSB3YXkgdG8gZ2V0IHRoZSBidWd6aWxsYSBlbWFpbCwKKyAgICAgICAgIyBGSVhNRTog
VGhpcyBpcyBraW5kYSBhIGZ1bm55IHdheSB0byBnZXQgdGhlIGJ1Z3ppbGxhIGVtYWlsLAogICAg
ICAgICAjIHdlIGNvdWxkIGFsc28ganVzdCBjcmVhdGUgYSBDcmVkZW50aWFscyBvYmplY3QgZGly
ZWN0bHkKICAgICAgICAgIyBidXQgc29tZSBvZiB0aGUgQ3JlZGVudGlhbHMgbG9naWMgaXMgaW4g
YnVnemlsbGEucHkgdG9vLi4uCiAgICAgICAgIHNlbGYuX3Rvb2wuYnVncy5hdXRoZW50aWNhdGUo
KQpAQCAtMTI2LDYgKzEyOCwxNiBAQCBJZiB5b3Ugd291bGQgbGlrZSB0byB0cmFjayB0aGlzIHRl
c3QgZml4IHdpdGggYW5vdGhlciBidWcsIHBsZWFzZSBjbG9zZSB0aGlzIGJ1ZwogICAgICAgICBm
bGFrZV9tZXNzYWdlID0gIlRoZSAlcyBqdXN0IHNhdyAlcyBmbGFrZSB3aGlsZSBwcm9jZXNzaW5n
IGF0dGFjaG1lbnQgJXMgb24gYnVnICVzLiIgJSAoc2VsZi5fYm90X25hbWUsIGZsYWt5X3Rlc3Qs
IHBhdGNoLmlkKCksIHBhdGNoLmJ1Z19pZCgpKQogICAgICAgICByZXR1cm4gIiVzXG4lcyIgJSAo
Zmxha2VfbWVzc2FnZSwgc2VsZi5fYm90X2luZm9ybWF0aW9uKCkpCiAKKyAgICBkZWYgX3Jlc3Vs
dHNfZGlmZl9wYXRoX2Zvcl90ZXN0KHNlbGYsIGZsYWt5X3Rlc3QpOgorICAgICAgICAjIEZJWE1F
OiBUaGlzIGlzIGEgYmlnIGhhY2suICBXZSBzaG91bGQgZ2V0IHRoaXMgcGF0aCBmcm9tIHJlc3Vs
dHMuanNvbgorICAgICAgICAjIGV4Y2VwdCB0aGF0IG9sZC1ydW4td2Via2l0LXRlc3RzIGRvZXNu
J3QgcHJvZHVjZSBhIHJlc3VsdHMuanNvbgorICAgICAgICAjIHNvIHdlIGp1c3QgZ3Vlc3MgYXQg
dGhlIGZpbGUgcGF0aC4KKyAgICAgICAgcmVzdWx0c19wYXRoID0gc2VsZi5fdG9vbC5wb3J0KCku
bGF5b3V0X3Rlc3RzX3Jlc3VsdHNfcGF0aCgpCisgICAgICAgIHJlc3VsdHNfZGlyZWN0b3J5ID0g
b3MucGF0aC5kaXJuYW1lKHJlc3VsdHNfcGF0aCkKKyAgICAgICAgdGVzdF9wYXRoID0gb3MucGF0
aC5qb2luKHJlc3VsdHNfZGlyZWN0b3J5LCBmbGFreV90ZXN0KQorICAgICAgICAodGVzdF9wYXRo
X3Jvb3QsIF8pID0gb3MucGF0aC5zcGxpdGV4dCh0ZXN0X3BhdGgpCisgICAgICAgIHJldHVybiAi
JXMuZGlmZiIgJSB0ZXN0X3BhdGhfcm9vdAorCiAgICAgZGVmIF9mb2xsb3dfZHVwbGljYXRlX2No
YWluKHNlbGYsIGJ1Zyk6CiAgICAgICAgIHdoaWxlIGJ1Zy5pc19jbG9zZWQoKSBhbmQgYnVnLmR1
cGxpY2F0ZV9vZigpOgogICAgICAgICAgICAgYnVnID0gc2VsZi5fdG9vbC5idWdzLmZldGNoX2J1
ZyhidWcuZHVwbGljYXRlX29mKCkpCkBAIC0xNDUsMTIgKzE1NywyMyBAQCBJZiB5b3Ugd291bGQg
bGlrZSB0byB0cmFjayB0aGlzIHRlc3QgZml4IHdpdGggYW5vdGhlciBidWcsIHBsZWFzZSBjbG9z
ZSB0aGlzIGJ1ZwogICAgICAgICAgICAgbGF0ZXN0X2ZsYWtlX21lc3NhZ2UgPSBzZWxmLl9sYXRl
c3RfZmxha2VfbWVzc2FnZShmbGFreV90ZXN0LCBwYXRjaCkKICAgICAgICAgICAgIGF1dGhvcl9l
bWFpbHMgPSBzZWxmLl9hdXRob3JfZW1haWxzX2Zvcl90ZXN0KGZsYWt5X3Rlc3QpCiAgICAgICAg
ICAgICBpZiBub3QgYnVnOgorICAgICAgICAgICAgICAgIF9sb2cuaW5mbygiQnVnIGRvZXMgbm90
IGFscmVhZHkgZXhpc3QgZm9yICVzLCBjcmVhdGluZy4iICUgZmxha3lfdGVzdCkKICAgICAgICAg
ICAgICAgICBmbGFrZV9idWdfaWQgPSBzZWxmLl9jcmVhdGVfYnVnX2Zvcl9mbGFreV90ZXN0KGZs
YWt5X3Rlc3QsIGF1dGhvcl9lbWFpbHMsIGxhdGVzdF9mbGFrZV9tZXNzYWdlKQogICAgICAgICAg
ICAgZWxzZToKICAgICAgICAgICAgICAgICBidWcgPSBzZWxmLl9mb2xsb3dfZHVwbGljYXRlX2No
YWluKGJ1ZykKICAgICAgICAgICAgICAgICBzZWxmLl91cGRhdGVfYnVnX2Zvcl9mbGFreV90ZXN0
KGJ1ZywgbGF0ZXN0X2ZsYWtlX21lc3NhZ2UpCiAgICAgICAgICAgICAgICAgZmxha2VfYnVnX2lk
ID0gYnVnLmlkKCkKLQorICAgICAgICAgICAgIyBGSVhNRTogSWRlYWxseSB3ZSdkIG9ubHkgbWFr
ZSBvbmUgY29tbWVudCBwZXIgZmxha2UsIG5vdCB0d28uICBCdXQgdGhhdCdzIG5vdCBwb3NzaWJs
ZQorICAgICAgICAgICAgIyBpbiBhbGwgY2FzZXMgKGUuZy4gd2hlbiByZW9wZW5pbmcpLCBzbyBm
b3Igbm93IHdlIGRvIHRoZSBhdHRhY2htZW50IGluIGEgc2Vjb25kIHN0ZXAuCisgICAgICAgICAg
ICByZXN1bHRzX2RpZmZfcGF0aCA9IHNlbGYuX3Jlc3VsdHNfZGlmZl9wYXRoX2Zvcl90ZXN0KGZs
YWt5X3Rlc3QpCisgICAgICAgICAgICAjIENoZWNrIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBwYXRo
IG1ha2VzIHNlbnNlLgorICAgICAgICAgICAgIyBTaW5jZSB3ZSdyZSBub3QgYWN0dWFsbHkgZ2V0
dGluZyB0aGlzIHBhdGggZnJvbSB0aGUgcmVzdWx0cy5odG1sCisgICAgICAgICAgICAjIHRoZXJl
IGlzIGEgaGlnaCBwcm9iYWlsaXR5IGl0J3MgdG90YWxseSB3cm9uZy4KKyAgICAgICAgICAgIGlm
IHNlbGYuX3Rvb2wuZmlsZXN5c3RlbS5leGlzdHMocmVzdWx0c19kaWZmX3BhdGgpOgorICAgICAg
ICAgICAgICAgIHJlc3VsdHNfZGlmZiA9IHNlbGYuX3Rvb2wuZmlsZXN5c3RlbS5yZWFkX2JpbmFy
eV9maWxlKHJlc3VsdHNfZGlmZl9wYXRoKQorICAgICAgICAgICAgICAgIHNlbGYuX3Rvb2wuYnVn
cy5hZGRfYXR0YWNobWVudF90b19idWcoZmxha2VfYnVnX2lkLCByZXN1bHRzX2RpZmYsICJGYWls
dXJlIGRpZmYgZnJvbSBib3QiLCBmaWxlbmFtZT0iZmFpbHVyZS5kaWZmIikKKyAgICAgICAgICAg
IGVsc2U6CisgICAgICAgICAgICAgICAgX2xvZy5lcnJvcigiJXMgZG9lcyBub3QgZXhpc3QgYXMg
ZXhwZWN0ZWQsIG5vdCB1cGxvYWRpbmcuIiAlIHJlc3VsdHNfZGlmZl9wYXRoKQogICAgICAgICAg
ICAgbWVzc2FnZSArPSAiJXMgYnVnICVzJXNcbiIgJSAoZmxha3lfdGVzdCwgZmxha2VfYnVnX2lk
LCBzZWxmLl9vcHRpb25hbF9hdXRob3Jfc3RyaW5nKGF1dGhvcl9lbWFpbHMpKQogCiAgICAgICAg
IG1lc3NhZ2UgKz0gIlRoZSAlcyBpcyBjb250aW51aW5nIHRvIHByb2Nlc3MgeW91ciBwYXRjaC4i
ICUgc2VsZi5fYm90X25hbWUKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvdG9vbC9ib3QvZmxha3l0ZXN0cmVwb3J0ZXJfdW5pdHRlc3QucHkgYi9XZWJLaXRUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvYm90L2ZsYWt5dGVzdHJlcG9ydGVyX3VuaXR0ZXN0LnB5Cmlu
ZGV4IDNhYWZlMTNjNDViNGJhMWJhM2IzYmY3YjU2NTgwYWYyZTE3ZjVlYjMuLmExOWI3ZWUxZDBi
MzU2YmNmYWQ2ODIxYmUwZjYyMTM2Nzk4Zjg4MWQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvdG9vbC9ib3QvZmxha3l0ZXN0cmVwb3J0ZXJfdW5pdHRlc3QucHkKKysr
IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2JvdC9mbGFreXRlc3RyZXBvcnRl
cl91bml0dGVzdC5weQpAQCAtMjksNiArMjksNyBAQAogaW1wb3J0IHVuaXR0ZXN0CiAKIGZyb20g
d2Via2l0cHkuY29tbW9uLmNvbmZpZy5jb21taXR0ZXJzIGltcG9ydCBDb21taXR0ZXIKK2Zyb20g
d2Via2l0cHkuY29tbW9uLnN5c3RlbS5maWxlc3lzdGVtX21vY2sgaW1wb3J0IE1vY2tGaWxlU3lz
dGVtCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0ub3V0cHV0Y2FwdHVyZSBpbXBvcnQgT3V0
cHV0Q2FwdHVyZQogZnJvbSB3ZWJraXRweS50b29sLmJvdC5mbGFreXRlc3RyZXBvcnRlciBpbXBv
cnQgRmxha3lUZXN0UmVwb3J0ZXIKIGZyb20gd2Via2l0cHkudG9vbC5tb2NrdG9vbCBpbXBvcnQg
TW9ja1Rvb2wsIE1vY2tTdGF0dXNTZXJ2ZXIKQEAgLTc2LDYgKzc3LDkgQEAgVGhlIGJvdHMgd2ls
bCB1cGRhdGUgdGhpcyB3aXRoIGluZm9ybWF0aW9uIGZyb20gZWFjaCBuZXcgZmFpbHVyZS4KIAog
SWYgeW91IHdvdWxkIGxpa2UgdG8gdHJhY2sgdGhpcyB0ZXN0IGZpeCB3aXRoIGFub3RoZXIgYnVn
LCBwbGVhc2UgY2xvc2UgdGhpcyBidWcgYXMgYSBkdXBsaWNhdGUuCiAKK2NvbXBvbmVudDogVG9v
bHMgLyBUZXN0cworY2M6IHRlc3RAdGVzdC5jb20KK2Jsb2NrZWQ6IDUwODU2CiAiIiIKICAgICAg
ICAgT3V0cHV0Q2FwdHVyZSgpLmFzc2VydF9vdXRwdXRzKHNlbGYsIHJlcG9ydGVyLl9jcmVhdGVf
YnVnX2Zvcl9mbGFreV90ZXN0LCBbJ2Zvby9iYXIuaHRtbCcsIFsndGVzdEB0ZXN0LmNvbSddLCAn
RkxBS0VfTUVTU0FHRSddLCBleHBlY3RlZF9zdGRlcnI9ZXhwZWN0ZWRfc3RkZXJyKQogCkBAIC05
MSw4ICs5NSw5IEBAIElmIHlvdSB3b3VsZCBsaWtlIHRvIHRyYWNrIHRoaXMgdGVzdCBmaXggd2l0
aCBhbm90aGVyIGJ1ZywgcGxlYXNlIGNsb3NlIHRoaXMgYnVnCiAgICAgICAgIHJlcG9ydGVyID0g
Rmxha3lUZXN0UmVwb3J0ZXIodG9vbCwgJ2R1bW15LXF1ZXVlJykKICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChyZXBvcnRlci5fYm90X2luZm9ybWF0aW9uKCksICJCb3Q6IE1vY2tCb3RJZCAgUG9y
dDogTW9ja1BvcnQgIFBsYXRmb3JtOiBNb2NrUGxhdGZvcm0gMS4wIikKIAotICAgIGRlZiB0ZXN0
X2NyZWF0ZV9idWdfZm9yX2ZsYWt5X3Rlc3Qoc2VsZik6CisgICAgZGVmIHRlc3RfcmVwb3J0X2Zs
YWt5X3Rlc3RzX2NyZWF0aW5nX2J1ZyhzZWxmKToKICAgICAgICAgdG9vbCA9IE1vY2tUb29sKCkK
KyAgICAgICAgdG9vbC5maWxlc3lzdGVtID0gTW9ja0ZpbGVTeXN0ZW0oeyIvbW9jay9mb28vYmFy
LmRpZmYiOiAibW9jayJ9KQogICAgICAgICByZXBvcnRlciA9IEZsYWt5VGVzdFJlcG9ydGVyKHRv
b2wsICdkdW1teS1xdWV1ZScpCiAgICAgICAgIHJlcG9ydGVyLl9sb29rdXBfYnVnX2Zvcl9mbGFr
eV90ZXN0ID0gbGFtYmRhIGJ1Z19pZDogTm9uZQogICAgICAgICBwYXRjaCA9IHRvb2wuYnVncy5m
ZXRjaF9hdHRhY2htZW50KDE5NykKQEAgLTExOCw3ICsxMjMsNyBAQCBNT0NLIGJ1ZyBjb21tZW50
OiBidWdfaWQ9NDIsIGNjPU5vbmUKIC0tLSBCZWdpbiBjb21tZW50IC0tLQogVGhlIGR1bW15LXF1
ZXVlIGVuY291bnRlcmVkIHRoZSBmb2xsb3dpbmcgZmxha3kgdGVzdHMgd2hpbGUgcHJvY2Vzc2lu
ZyBhdHRhY2htZW50IDE5NzoKIAotZm9vL2Jhci5odG1sIGJ1ZyBOb25lIChhdXRob3I6IGFiYXJ0
aEB3ZWJraXQub3JnKQorZm9vL2Jhci5odG1sIGJ1ZyA3OCAoYXV0aG9yOiBhYmFydGhAd2Via2l0
Lm9yZykKIFRoZSBkdW1teS1xdWV1ZSBpcyBjb250aW51aW5nIHRvIHByb2Nlc3MgeW91ciBwYXRj
aC4KIC0tLSBFbmQgY29tbWVudCAtLS0KIApAQCAtMTMxLDQgKzEzNiw4IEBAIFRoZSBkdW1teS1x
dWV1ZSBpcyBjb250aW51aW5nIHRvIHByb2Nlc3MgeW91ciBwYXRjaC4KICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChyZXBvcnRlci5fb3B0aW9uYWxfYXV0aG9yX3N0cmluZyhbImZvb0BiYXIuY29t
Il0pLCAiIChhdXRob3I6IGZvb0BiYXIuY29tKSIpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
cmVwb3J0ZXIuX29wdGlvbmFsX2F1dGhvcl9zdHJpbmcoWyJhQGIuY29tIiwgImJAYi5jb20iXSks
ICIgKGF1dGhvcnM6IGFAYi5jb20gYW5kIGJAYi5jb20pIikKIAorICAgIGRlZiB0ZXN0X3Jlc3Vs
dHNfZGlmZl9wYXRoX2Zvcl90ZXN0KHNlbGYpOgorICAgICAgICByZXBvcnRlciA9IEZsYWt5VGVz
dFJlcG9ydGVyKE1vY2tUb29sKCksICdkdW1teS1xdWV1ZScpCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwocmVwb3J0ZXIuX3Jlc3VsdHNfZGlmZl9wYXRoX2Zvcl90ZXN0KCJ0ZXN0Lmh0bWwiKSwg
Ii9tb2NrL3Rlc3QuZGlmZiIpCisKICAgICAjIHJlcG9ydF9mbGFreV90ZXN0cyBpcyBhbHNvIHRl
c3RlZCBieSBxdWV1ZXNfdW5pdHRlc3QKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvdG9vbC9jb21tYW5kcy9idWdmb3J0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL2NvbW1hbmRzL2J1Z2ZvcnRlc3QucHkKaW5kZXggZTBjNDk3MWViNjYw
YzdiNTMwZjViM2IwMjVjMzJmNTkyOWEwZTdiNS4uMzZhYTZiNWYxZmJiZDBhNzVmNmFiYWVkMTQ0
ZDFmMTAxYTkwZjNiZCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL2NvbW1hbmRzL2J1Z2ZvcnRlc3QucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJr
aXRweS90b29sL2NvbW1hbmRzL2J1Z2ZvcnRlc3QucHkKQEAgLTQyLDYgKzQyLDcgQEAgY2xhc3Mg
QnVnRm9yVGVzdChBYnN0cmFjdERlY2xhcmF0aXZlQ29tbWFuZCk6CiAgICAgICAgIHNlYXJjaF9z
dHJpbmcgPSBhcmdzWzBdCiAgICAgICAgIGJ1ZyA9IHJlcG9ydGVyLl9sb29rdXBfYnVnX2Zvcl9m
bGFreV90ZXN0KHNlYXJjaF9zdHJpbmcpCiAgICAgICAgIGlmIGJ1ZzoKKyAgICAgICAgICAgIGJ1
ZyA9IHJlcG9ydGVyLl9mb2xsb3dfZHVwbGljYXRlX2NoYWluKGJ1ZykKICAgICAgICAgICAgIHBy
aW50ICIlNXMgJXMiICUgKGJ1Zy5pZCgpLCBidWcudGl0bGUoKSkKICAgICAgICAgZWxzZToKICAg
ICAgICAgICAgIHByaW50ICJObyBidWdzIGZvdW5kIG1hdGNoaW5nICclcyciICUgc2VhcmNoX3N0
cmluZwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1h
bmRzL2Rvd25sb2FkX3VuaXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90
b29sL2NvbW1hbmRzL2Rvd25sb2FkX3VuaXR0ZXN0LnB5CmluZGV4IDBhOGYwMjI4ZjhjODUyODY3
ZGMxNGE0N2RmM2FmNzU2ZDJhYWVlMjIuLjM3NDhhOGY0MTM5ZmY4OTMzZGQyYWExNTk1NzIyYjA4
NGI5ZWFlNzQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9j
b21tYW5kcy9kb3dubG9hZF91bml0dGVzdC5weQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dl
YmtpdHB5L3Rvb2wvY29tbWFuZHMvZG93bmxvYWRfdW5pdHRlc3QucHkKQEAgLTE4NSw3ICsxODUs
NyBAQCBjb21wb25lbnQ6IE1PQ0sgY29tcG9uZW50CiBjYzogTU9DSyBjYwogYmxvY2tlZDogNDIK
IFJ1bm5pbmcgcHJlcGFyZS1DaGFuZ2VMb2cKLU1PQ0sgYWRkX3BhdGNoX3RvX2J1ZzogYnVnX2lk
PU5vbmUsIGRlc2NyaXB0aW9uPVJPTExPVVQgb2Ygcjg1MiwgbWFya19mb3JfcmV2aWV3PUZhbHNl
LCBtYXJrX2Zvcl9jb21taXRfcXVldWU9VHJ1ZSwgbWFya19mb3JfbGFuZGluZz1GYWxzZQorTU9D
SyBhZGRfcGF0Y2hfdG9fYnVnOiBidWdfaWQ9NzgsIGRlc2NyaXB0aW9uPVJPTExPVVQgb2Ygcjg1
MiwgbWFya19mb3JfcmV2aWV3PUZhbHNlLCBtYXJrX2Zvcl9jb21taXRfcXVldWU9VHJ1ZSwgbWFy
a19mb3JfbGFuZGluZz1GYWxzZQogLS0gQmVnaW4gY29tbWVudCAtLQogQW55IGNvbW1pdHRlciBj
YW4gbGFuZCB0aGlzIHBhdGNoIGF1dG9tYXRpY2FsbHkgYnkgbWFya2luZyBpdCBjb21taXQtcXVl
dWUrLiAgVGhlIGNvbW1pdC1xdWV1ZSB3aWxsIGJ1aWxkIGFuZCB0ZXN0IHRoZSBwYXRjaCBiZWZv
cmUgbGFuZGluZyB0byBlbnN1cmUgdGhhdCB0aGUgcm9sbG91dCB3aWxsIGJlIHN1Y2Nlc3NmdWwu
ICBUaGlzIHByb2Nlc3MgdGFrZXMgYXBwcm94aW1hdGVseSAxNSBtaW51dGVzLgogCmRpZmYgLS1n
aXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzLnB5
IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3F1ZXVlcy5weQpp
bmRleCA4NTg3MTNlZDJmOTM1MmJkNWNlNzYyMDk5ZDhlNmViYThjZTNiNTU3Li5lMTU1NTVmNjVj
NmMyZTRmNTUzZDM3OTNmZDQ0ZTQyOTk3OWYzNGZkIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcXVldWVzLnB5CisrKyBiL1dlYktpdFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvdG9vbC9jb21tYW5kcy9xdWV1ZXMucHkKQEAgLTI5Myw3ICsyOTMs
NyBAQCBjbGFzcyBDb21taXRRdWV1ZShBYnN0cmFjdFBhdGNoUXVldWUsIFN0ZXBTZXF1ZW5jZUVy
cm9ySGFuZGxlciwgQ29tbWl0UXVldWVUYXNrRAogICAgICAgICByZXR1cm4gc2VsZi5fdXBkYXRl
X3N0YXR1cyhtZXNzYWdlLCBwYXRjaD1wYXRjaCwgcmVzdWx0c19maWxlPWZhaWx1cmVfbG9nKQog
CiAgICAgIyBGSVhNRTogVGhpcyBleGlzdHMgZm9yIG1vY2tpbmcsIGJ1dCBzaG91bGQgaW5zdGVh
ZCBiZSBtb2NrZWQgdmlhCi0gICAgIyBzb21lIHNvcnQgb2YgdG9vbC5maWxlc3lzdGVtKCkgb2Jq
ZWN0LgorICAgICMgdG9vbC5maWxlc3lzdGVtLnJlYWRfdGV4dF9maWxlLiAgVGhleSBoYXZlIGRp
ZmZlcmVudCBlcnJvciBoYW5kbGluZyBhdCB0aGUgbW9tZW50LgogICAgIGRlZiBfcmVhZF9maWxl
X2NvbnRlbnRzKHNlbGYsIHBhdGgpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICB3aXRoIGNv
ZGVjcy5vcGVuKHBhdGgsICJyIiwgInV0Zi04IikgYXMgb3Blbl9maWxlOgpkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL2NvbW1hbmRzL3JlYmFzZWxpbmUucHkg
Yi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcmViYXNlbGluZS5w
eQppbmRleCAzNTM4OGVlZDk4MjgxMzY2NTQ1NWVlYzc3N2Y3OWRmNzQ1YjEyYWRiLi44YzRiOTk3
ZWU1ZGJiMmQ1NTE4MDVjOWZhZTU2ZjI2NGUxNDk1NjFlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcmViYXNlbGluZS5weQorKysgYi9XZWJL
aXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Rvb2wvY29tbWFuZHMvcmViYXNlbGluZS5weQpAQCAt
ODgsMTAgKzg4LDcgQEAgY2xhc3MgUmViYXNlbGluZShBYnN0cmFjdERlY2xhcmF0aXZlQ29tbWFu
ZCk6CiAgICAgICAgIHNodXRpbC5tb3ZlKGRvd25sb2FkZWRfZmlsZSwgbG9jYWxfZmlsZSkKIAog
ICAgIGRlZiBfdGVzdHNfdG9fdXBkYXRlKHNlbGYsIGJ1aWxkKToKLSAgICAgICAgcGFyc2VkX3Jl
c3VsdHMgPSBidWlsZC5sYXlvdXRfdGVzdF9yZXN1bHRzKCkucGFyc2VkX3Jlc3VsdHMoKQotICAg
ICAgICAjIEZJWE1FOiBUaGlzIHByb2JhYmx5IGJlbG9uZ3MgYXMgQVBJIG9uIExheW91dFRlc3RS
ZXN1bHRzCi0gICAgICAgICMgYnV0IC5mYWlsaW5nX3Rlc3RzKCkgYWxyZWFkeSBtZWFucyBzb21l
dGhpbmcgZWxzZS4KLSAgICAgICAgZmFpbGluZ190ZXN0cyA9IHBhcnNlZF9yZXN1bHRzW0xheW91
dFRlc3RSZXN1bHRzLmZhaWxfa2V5XQorICAgICAgICBmYWlsaW5nX3Rlc3RzID0gYnVpbGQubGF5
b3V0X3Rlc3RfcmVzdWx0cygpLnJlc3VsdHNfbWF0Y2hpbmdfa2V5cyhbTGF5b3V0VGVzdFJlc3Vs
dHMuZmFpbF9rZXldKQogICAgICAgICByZXR1cm4gc2VsZi5fdG9vbC51c2VyLnByb21wdF93aXRo
X2xpc3QoIldoaWNoIHRlc3QocykgdG8gcmViYXNlbGluZToiLCBmYWlsaW5nX3Rlc3RzLCBjYW5f
Y2hvb3NlX211bHRpcGxlPVRydWUpCiAKICAgICBkZWYgX3Jlc3VsdHNfdXJsX2Zvcl90ZXN0KHNl
bGYsIGJ1aWxkLCB0ZXN0KToKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvdG9vbC9tYWluLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS90b29sL21haW4u
cHkKaW5kZXggNTNhNjk5YjM3OTVlNzEyMmUwZDRkMTE4NjBhNzRjMDgxMjI1ZTYxMS4uMDAwNmU4
NzU4NGYwYmE5MTNiNjhkNjk4MDkwMTQxNjVhZjU5YzI0ZCAxMDA3NTUKLS0tIGEvV2ViS2l0VG9v
bHMvU2NyaXB0cy93ZWJraXRweS90b29sL21haW4ucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRweS90b29sL21haW4ucHkKQEAgLTQxLDYgKzQxLDcgQEAgZnJvbSB3ZWJraXRweS5j
b21tb24ubmV0LmJ1aWxkYm90IGltcG9ydCBCdWlsZEJvdAogZnJvbSB3ZWJraXRweS5jb21tb24u
bmV0LmlyYy5pcmNwcm94eSBpbXBvcnQgSVJDUHJveHkKIGZyb20gd2Via2l0cHkuY29tbW9uLm5l
dC5zdGF0dXNzZXJ2ZXIgaW1wb3J0IFN0YXR1c1NlcnZlcgogZnJvbSB3ZWJraXRweS5jb21tb24u
c3lzdGVtLmV4ZWN1dGl2ZSBpbXBvcnQgRXhlY3V0aXZlCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5z
eXN0ZW0uZmlsZXN5c3RlbSBpbXBvcnQgRmlsZVN5c3RlbQogZnJvbSB3ZWJraXRweS5jb21tb24u
c3lzdGVtLnBsYXRmb3JtaW5mbyBpbXBvcnQgUGxhdGZvcm1JbmZvCiBmcm9tIHdlYmtpdHB5LmNv
bW1vbi5zeXN0ZW0udXNlciBpbXBvcnQgVXNlcgogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMg
aW1wb3J0IHBvcnQKQEAgLTcxLDYgKzcyLDcgQEAgY2xhc3MgV2ViS2l0UGF0Y2goTXVsdGlDb21t
YW5kVG9vbCk6CiAgICAgICAgIHNlbGYuYnVpbGRib3QgPSBCdWlsZEJvdCgpCiAgICAgICAgIHNl
bGYuZXhlY3V0aXZlID0gRXhlY3V0aXZlKCkKICAgICAgICAgc2VsZi5faXJjID0gTm9uZQorICAg
ICAgICBzZWxmLmZpbGVzeXN0ZW0gPSBGaWxlU3lzdGVtKCkKICAgICAgICAgc2VsZi5fcG9ydCA9
IE5vbmUKICAgICAgICAgc2VsZi51c2VyID0gVXNlcigpCiAgICAgICAgIHNlbGYuX3NjbSA9IE5v
bmUKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9tb2NrdG9v
bC5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvdG9vbC9tb2NrdG9vbC5weQppbmRl
eCA3YjMzNzE5YjU0YzhlNWQ5ZThiNmZlZjU1YjQzOTI5OTBhMjAxZWI0Li45MTMzYjM3YjJjYjBm
ZWEzYzUzM2M1ZjcwNDA4MjEwZjY0N2RhNjMyIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L3Rvb2wvbW9ja3Rvb2wucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93
ZWJraXRweS90b29sL21vY2t0b29sLnB5CkBAIC0zMyw4ICszMyw5IEBAIGZyb20gd2Via2l0cHku
Y29tbW9uLmNvbmZpZy5jb21taXR0ZXJzIGltcG9ydCBDb21taXR0ZXJMaXN0LCBSZXZpZXdlcgog
ZnJvbSB3ZWJraXRweS5jb21tb24uY2hlY2tvdXQuY29tbWl0aW5mbyBpbXBvcnQgQ29tbWl0SW5m
bwogZnJvbSB3ZWJraXRweS5jb21tb24uY2hlY2tvdXQuc2NtIGltcG9ydCBDb21taXRNZXNzYWdl
CiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5uZXQuYnVnemlsbGEgaW1wb3J0IEJ1ZywgQXR0YWNobWVu
dAotZnJvbSB3ZWJraXRweS50aGlyZHBhcnR5Lm1vY2sgaW1wb3J0IE1vY2sKIGZyb20gd2Via2l0
cHkuY29tbW9uLnN5c3RlbS5kZXByZWNhdGVkX2xvZ2dpbmcgaW1wb3J0IGxvZworZnJvbSB3ZWJr
aXRweS5jb21tb24uc3lzdGVtLmZpbGVzeXN0ZW1fbW9jayBpbXBvcnQgTW9ja0ZpbGVTeXN0ZW0K
K2Zyb20gd2Via2l0cHkudGhpcmRwYXJ0eS5tb2NrIGltcG9ydCBNb2NrCiAKIAogZGVmIF9pZF90
b19vYmplY3RfZGljdGlvbmFyeSgqb2JqZWN0cyk6CkBAIC0yOTIsNiArMjkzLDcgQEAgY2xhc3Mg
TW9ja0J1Z3ppbGxhKE1vY2spOgogICAgICAgICAgICAgbG9nKCJjYzogJXMiICUgY2MpCiAgICAg
ICAgIGlmIGJsb2NrZWQ6CiAgICAgICAgICAgICBsb2coImJsb2NrZWQ6ICVzIiAlIGJsb2NrZWQp
CisgICAgICAgIHJldHVybiA3OAogCiAgICAgZGVmIHF1aXBzKHNlbGYpOgogICAgICAgICByZXR1
cm4gWyJHb29kIGFydGlzdHMgY29weS4gR3JlYXQgYXJ0aXN0cyBzdGVhbC4gLSBQYWJsbyBQaWNh
c3NvIl0KQEAgLTY0MSw2ICs2NDMsOSBAQCBjbGFzcyBNb2NrUG9ydChNb2NrKToKICAgICBkZWYg
bmFtZShzZWxmKToKICAgICAgICAgcmV0dXJuICJNb2NrUG9ydCIKIAorICAgIGRlZiBsYXlvdXRf
dGVzdHNfcmVzdWx0c19wYXRoKHNlbGYpOgorICAgICAgICByZXR1cm4gIi9tb2NrL3Jlc3VsdHMu
aHRtbCIKKwogY2xhc3MgTW9ja1Rlc3RQb3J0MShvYmplY3QpOgogCiAgICAgZGVmIHNraXBzX2xh
eW91dF90ZXN0KHNlbGYsIHRlc3RfbmFtZSk6CkBAIC02NzEsNiArNjc2LDcgQEAgY2xhc3MgTW9j
a1Rvb2wob2JqZWN0KToKICAgICAgICAgc2VsZi5idWdzID0gTW9ja0J1Z3ppbGxhKCkKICAgICAg
ICAgc2VsZi5idWlsZGJvdCA9IE1vY2tCdWlsZEJvdCgpCiAgICAgICAgIHNlbGYuZXhlY3V0aXZl
ID0gTW9ja0V4ZWN1dGl2ZShzaG91bGRfbG9nPWxvZ19leGVjdXRpdmUpCisgICAgICAgIHNlbGYu
ZmlsZXN5c3RlbSA9IE1vY2tGaWxlU3lzdGVtKCkKICAgICAgICAgc2VsZi5faXJjID0gTm9uZQog
ICAgICAgICBzZWxmLnVzZXIgPSBNb2NrVXNlcigpCiAgICAgICAgIHNlbGYuX3NjbSA9IE1vY2tT
Q00oKQo=
</data>
<flag name="review"
          id="67660"
          type_id="1"
          status="+"
          setter="abarth"
    />
    <flag name="commit-queue"
          id="67661"
          type_id="3"
          status="-"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>