<?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>119007</bug_id>
          
          <creation_ts>2013-07-23 02:14:19 -0700</creation_ts>
          <short_desc>Add a test for plug-in unavailability indicator obscurity detection</short_desc>
          <delta_ts>2013-07-31 12:27:35 -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>Plug-ins</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="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>gordon_sheridan</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>sfalken</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>910947</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-07-23 02:14:19 -0700</bug_when>
    <thetext>Since we don&apos;t have any, I&apos;m going to cover lots of cases in one big test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910948</commentid>
    <comment_count>1</comment_count>
      <attachid>207315</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-07-23 02:17:30 -0700</bug_when>
    <thetext>Created attachment 207315
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910949</commentid>
    <comment_count>2</comment_count>
      <attachid>207315</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-07-23 02:19:45 -0700</bug_when>
    <thetext>Comment on attachment 207315
patch

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

&gt; LayoutTests/plugins/unavailable-plugin-indicator-obscurity.html:121
&gt; +        &lt;div class=&quot;container&quot;&gt;
&gt; +            &lt;embed id=&quot;pointerEventsBlockedOnObscuringSibling&quot; class=&quot;shouldNotBeObscured&quot; type=&quot;application/x-webkit-test-netscape&quot;&gt;&lt;/embed&gt;
&gt; +            &lt;div class=&quot;cover&quot; style=&quot;pointer-events: none;&quot;&gt;&lt;/div&gt;
&gt; +        &lt;/div&gt;

I think the fact that this one passes is a bug (you can&apos;t see the plugin because it&apos;s covered up, but we think it&apos;s not covered because the thing that&apos;s covering it has pointer-events: none set on it). But I&apos;ll leave that for Gordon to decide and file a separate bug about...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910950</commentid>
    <comment_count>3</comment_count>
      <attachid>207315</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-07-23 02:22:57 -0700</bug_when>
    <thetext>Comment on attachment 207315
patch

Attachment 207315 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/1109099</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>910953</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-07-23 02:31:51 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 207315 [details])
&gt; Attachment 207315 [details] did not pass gtk-ews (gtk):
&gt; Output: http://webkit-queues.appspot.com/results/1109099

I dunno what that&apos;s about, and the fact that the gtk-wk2 bot is happy makes me even more confused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>911069</commentid>
    <comment_count>5</comment_count>
      <attachid>207337</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-07-23 10:05:44 -0700</bug_when>
    <thetext>Created attachment 207337
fix gtk in theory</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>911072</commentid>
    <comment_count>6</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-07-23 10:13:51 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/153054</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913459</commentid>
    <comment_count>7</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-07-31 12:27:35 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 207315 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=207315&amp;action=review
&gt; 
&gt; &gt; LayoutTests/plugins/unavailable-plugin-indicator-obscurity.html:121
&gt; &gt; +        &lt;div class=&quot;container&quot;&gt;
&gt; &gt; +            &lt;embed id=&quot;pointerEventsBlockedOnObscuringSibling&quot; class=&quot;shouldNotBeObscured&quot; type=&quot;application/x-webkit-test-netscape&quot;&gt;&lt;/embed&gt;
&gt; &gt; +            &lt;div class=&quot;cover&quot; style=&quot;pointer-events: none;&quot;&gt;&lt;/div&gt;
&gt; &gt; +        &lt;/div&gt;
&gt; 
&gt; I think the fact that this one passes is a bug (you can&apos;t see the plugin because it&apos;s covered up, but we think it&apos;s not covered because the thing that&apos;s covering it has pointer-events: none set on it). But I&apos;ll leave that for Gordon to decide and file a separate bug about...

I filed https://bugs.webkit.org/show_bug.cgi?id=119348 about this, and changed the test to fail that test case.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207315</attachid>
            <date>2013-07-23 02:17:30 -0700</date>
            <delta_ts>2013-07-23 10:05:44 -0700</delta_ts>
            <desc>patch</desc>
            <filename>plugin-test.diff</filename>
            <type>text/plain</type>
            <size>23086</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4MDlhYzY3Li4xN2IxNzA2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTMtMDct
MjMgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRk
IGEgdGVzdCBmb3IgcGx1Zy1pbiB1bmF2YWlsYWJpbGl0eSBpbmRpY2F0b3Igb2JzY3VyaXR5IGRl
dGVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTE5MDA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGEgdGVzdCB0aGF0IGVuc3VyZXMgdGhhdCBSZW5kZXJFbWJlZGRlZE9iamVjdCBhY2N1cmF0
ZWx5IGRldGVjdHMgdGhlCisgICAgICAgIHZhcmlvdXMgZGlmZmVyZW50IHdheXMgdGhlIHVuYXZh
aWxhYmxlIHBsdWdpbiBkaWFsb2cgY2FuIGJlIG9ic2N1cmVkLgorCisgICAgICAgICogcGxhdGZv
cm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0
RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsdWdpbnMvdW5hdmFpbGFibGUtcGx1Z2luLWluZGlj
YXRvci1vYnNjdXJpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbHVnaW5zL3Vu
YXZhaWxhYmxlLXBsdWdpbi1pbmRpY2F0b3Itb2JzY3VyaXR5Lmh0bWw6IEFkZGVkLgorCiAyMDEz
LTA3LTIyICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgc2VnZmF1
bHQgaW4gUmVuZGVyTGF5ZXJDb21wb3NpdG9yIHdoZW4gdGhlIGlmcmFtZSdzIHBvc2l0aW9uIGF0
dHJpYnV0ZSBpcyBjaGFuZ2VkIGFuZCBpdCBlbWJlZHMgPG9iamVjdD4uCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNWVmMjZmZC4uNjA2NWQw
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtNDMxLDYgKzQzMSw5IEBAIHdlYmF1ZGlvL2NvZGVjLXRlc3RzL3ZvcmJpcy8KICMgQXNzZXJ0
cyBpbiBXZWJLaXQxLWRlYnVnIG9ubHksIHNvIHJlZW5hYmxpbmcuCiBjb21wb3NpdGluZy9nZW9t
ZXRyeS9maXhlZC1wb3NpdGlvbi1mbGlwcGVkLXdyaXRpbmctbW9kZS5odG1sIFsgUGFzcyBdCiAK
KyMgUGx1Zy1pbiBibG9ja2luZyBjYWxsYmFjayBkb2Vzbid0IGV4aXN0IGluIFdlYktpdDEsIHNv
IHJlZW5hYmxpbmcuCitwbHVnaW5zL3VuYXZhaWxhYmxlLXBsdWdpbi1pbmRpY2F0b3Itb2JzY3Vy
aXR5Lmh0bWwgWyBQYXNzIF0KKwogIyMjIEVORCBPRiAoNSkgRmVhdHVyZXMgdGhhdCBhcmUgbm90
IHN1cHBvcnRlZCBpbiBXZWJLaXQxLCBzbyBza2lwcGVkIGluIG1hYy9UZXN0RXhwZWN0YXRpb25z
IHRoZW4gcmUtZW5hYmxlZCBoZXJlCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
MGIzMGE2OS4uMjVlOWU2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rl
c3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMKQEAgLTEzMDMsMyArMTMwMyw2IEBAIHdlYmtpdC5vcmcvYi8xMTg0NzkgZmFzdC9yZXBh
aW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUuaHRtbCBbIFBhc3MgQ3Jhc2ggXQogCiB3ZWJr
aXQub3JnL2IvMTE4OTAwIG1hdGhtbC9wcmVzZW50YXRpb24vbXNwYWNlLXVuaXRzLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMTg4NTYgbWF0aG1sL3ByZXNlbnRhdGlv
bi9mZW5jZWQtbWkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCisjIFBsdWctaW4gYmxvY2tp
bmcgY2FsbGJhY2sgZG9lc24ndCBleGlzdCBpbiBXZWJLaXQxLCBzbyBza2lwIGFuZCByZS1lbmFi
bGUgZm9yIFdlYktpdDIuCitwbHVnaW5zL3VuYXZhaWxhYmxlLXBsdWdpbi1pbmRpY2F0b3Itb2Jz
Y3VyaXR5Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsdWdpbnMvdW5hdmFpbGFibGUt
cGx1Z2luLWluZGljYXRvci1vYnNjdXJpdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGx1
Z2lucy91bmF2YWlsYWJsZS1wbHVnaW4taW5kaWNhdG9yLW9ic2N1cml0eS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjNkMTg3ZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3BsdWdpbnMvdW5hdmFpbGFibGUtcGx1Z2luLWluZGljYXRvci1v
YnNjdXJpdHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzAgQEAKK0V4cGVjdGVkIHRvIGJlIG9i
c2N1cmVkOgorJ3Rvb1NtYWxsJyB3YXMgb2JzY3VyZWQ6IHRydWUgKGV4cGVjdGVkIHRydWU7IFBB
U1MpCisnZW1wdHlSZWN0JyB3YXMgb2JzY3VyZWQ6IHRydWUgKGV4cGVjdGVkIHRydWU7IFBBU1Mp
CisnbG93T3BhY2l0eScgd2FzIG9ic2N1cmVkOiB0cnVlIChleHBlY3RlZCB0cnVlOyBQQVNTKQor
J2xvd09wYWNpdHlQYXJlbnQnIHdhcyBvYnNjdXJlZDogdHJ1ZSAoZXhwZWN0ZWQgdHJ1ZTsgUEFT
UykKKydzdGFja2VkTG93T3BhY2l0eVBhcmVudHMnIHdhcyBvYnNjdXJlZDogdHJ1ZSAoZXhwZWN0
ZWQgdHJ1ZTsgUEFTUykKKydjbGlwcGVkQnlQYXJlbnQnIHdhcyBvYnNjdXJlZDogdHJ1ZSAoZXhw
ZWN0ZWQgdHJ1ZTsgUEFTUykKKyd2aXNpYmlsaXR5SGlkZGVuJyB3YXMgb2JzY3VyZWQ6IHRydWUg
KGV4cGVjdGVkIHRydWU7IFBBU1MpCisndmlzaWJpbGl0eUhpZGRlbk9uUGFyZW50JyB3YXMgb2Jz
Y3VyZWQ6IHRydWUgKGV4cGVjdGVkIHRydWU7IFBBU1MpCisncG9pbnRlckV2ZW50c0Jsb2NrZWQn
IHdhcyBvYnNjdXJlZDogdHJ1ZSAoZXhwZWN0ZWQgdHJ1ZTsgUEFTUykKKydwb2ludGVyRXZlbnRz
QmxvY2tlZE9uUGFyZW50JyB3YXMgb2JzY3VyZWQ6IHRydWUgKGV4cGVjdGVkIHRydWU7IFBBU1Mp
CisnbGVmdEhhbGZPYnNjdXJlZCcgd2FzIG9ic2N1cmVkOiB0cnVlIChleHBlY3RlZCB0cnVlOyBQ
QVNTKQorJ3JpZ2h0SGFsZk9ic2N1cmVkJyB3YXMgb2JzY3VyZWQ6IHRydWUgKGV4cGVjdGVkIHRy
dWU7IFBBU1MpCisndG9wSGFsZk9ic2N1cmVkJyB3YXMgb2JzY3VyZWQ6IHRydWUgKGV4cGVjdGVk
IHRydWU7IFBBU1MpCisnYm90dG9tSGFsZk9ic2N1cmVkJyB3YXMgb2JzY3VyZWQ6IHRydWUgKGV4
cGVjdGVkIHRydWU7IFBBU1MpCisnY2VudGVyT2JzY3VyZWQnIHdhcyBvYnNjdXJlZDogdHJ1ZSAo
ZXhwZWN0ZWQgdHJ1ZTsgUEFTUykKKydvZmZTY3JlZW5Ub3BMZWZ0JyB3YXMgb2JzY3VyZWQ6IHRy
dWUgKGV4cGVjdGVkIHRydWU7IFBBU1MpCisnb2ZmU2NyZWVuVG9wJyB3YXMgb2JzY3VyZWQ6IHRy
dWUgKGV4cGVjdGVkIHRydWU7IFBBU1MpCisnb2ZmU2NyZWVuTGVmdCcgd2FzIG9ic2N1cmVkOiB0
cnVlIChleHBlY3RlZCB0cnVlOyBQQVNTKQorCitFeHBlY3RlZCB0byBub3QgYmUgb2JzY3VyZWQ6
CisnbGFyZ2UnIHdhcyBvYnNjdXJlZDogZmFsc2UgKGV4cGVjdGVkIGZhbHNlOyBQQVNTKQorJ3N0
YWNrZWRIaWdoT3BhY2l0eVBhcmVudHMnIHdhcyBvYnNjdXJlZDogZmFsc2UgKGV4cGVjdGVkIGZh
bHNlOyBQQVNTKQorJ25vdENsaXBwZWRCeVBhcmVudCcgd2FzIG9ic2N1cmVkOiBmYWxzZSAoZXhw
ZWN0ZWQgZmFsc2U7IFBBU1MpCisncG9pbnRlckV2ZW50c0Jsb2NrZWRPbk9ic2N1cmluZ1NpYmxp
bmcnIHdhcyBvYnNjdXJlZDogZmFsc2UgKGV4cGVjdGVkIGZhbHNlOyBQQVNTKQorJ3RvcFF1YXJ0
ZXJPYnNjdXJlZCcgd2FzIG9ic2N1cmVkOiBmYWxzZSAoZXhwZWN0ZWQgZmFsc2U7IFBBU1MpCisn
Ym90dG9tUXVhcnRlck9ic2N1cmVkJyB3YXMgb2JzY3VyZWQ6IGZhbHNlIChleHBlY3RlZCBmYWxz
ZTsgUEFTUykKKworUGFzc2VkIGFsbCB0ZXN0czogdHJ1ZQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbHVnaW5zL3VuYXZhaWxhYmxlLXBsdWdpbi1pbmRpY2F0b3Itb2JzY3VyaXR5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9wbHVnaW5zL3VuYXZhaWxhYmxlLXBsdWdpbi1pbmRpY2F0b3Itb2JzY3Vy
aXR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzk2ZTA0MgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsdWdpbnMvdW5hdmFpbGFibGUtcGx1Z2luLWlu
ZGljYXRvci1vYnNjdXJpdHkuaHRtbApAQCAtMCwwICsxLDE2MCBAQAorPGh0bWw+Cis8aGVhZD4K
KyAgICA8dGl0bGU+VGVzdCB0aGF0IHRoZSBwbHVnaW4gdW5hdmFpbGFiaWxpdHkgaW5kaWNhdG9y
IGFjY3VyYXRlbHkga25vd3MgaWYgaXQncyBjbGlwcGVkLjwvdGl0bGU+CisgICAgPHNjcmlwdD4K
KyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVzdFJ1bm5lci5zZXRCbG9j
a0FsbFBsdWdpbnModHJ1ZSk7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwor
ICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBs
b2codGV4dCkgeworICAgICAgICBsb2dFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZVRleHROb2RlKHRleHQpKTsKKyAgICAgICAgbG9nRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJiciIpKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiB0ZXN0T2JzY3Vy
ZWRQbHVnaW5zKGNsYXNzTmFtZSwgZXhwZWN0ZWRPYnNjdXJlZCkgeworICAgICAgICB2YXIgZmFp
bGVkQW55VGVzdCA9IGZhbHNlOworICAgICAgICB2YXIgZXhwZWN0ZWRPYnNjdXJlZFBsdWdpbnMg
PSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGNsYXNzTmFtZSk7CisgICAgICAgIGZv
ciAodmFyIGkgPSAwOyBpIDwgZXhwZWN0ZWRPYnNjdXJlZFBsdWdpbnMubGVuZ3RoOyBpKyspIHsK
KyAgICAgICAgICAgIHZhciBwbHVnaW4gPSBleHBlY3RlZE9ic2N1cmVkUGx1Z2luc1tpXTsKKyAg
ICAgICAgICAgIHZhciBvYnNjdXJlZCA9IGludGVybmFscy5pc1BsdWdpblVuYXZhaWxhYmlsaXR5
SW5kaWNhdG9yT2JzY3VyZWQocGx1Z2luKTsKKyAgICAgICAgICAgIHZhciBwYXNzZWQgPSBleHBl
Y3RlZE9ic2N1cmVkID09IG9ic2N1cmVkOworICAgICAgICAgICAgaWYgKCFwYXNzZWQpCisgICAg
ICAgICAgICAgICAgZmFpbGVkQW55VGVzdCA9IHRydWU7CisKKyAgICAgICAgICAgIGxvZygiJyIg
KyBwbHVnaW4uaWQgKyAiJyB3YXMgb2JzY3VyZWQ6ICIgKyBvYnNjdXJlZCArICIgKGV4cGVjdGVk
ICIgKyBleHBlY3RlZE9ic2N1cmVkICsgIjsgIiArIChwYXNzZWQgPyAiUEFTUyIgOiAiRkFJTCIp
ICsgIikiKTsKKyAgICAgICAgfTsKKworICAgICAgICByZXR1cm4gZmFpbGVkQW55VGVzdDsKKyAg
ICB9CisKKyAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgeworICAgICAgICBsb2dFbGVt
ZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZyIpOworCisgICAgICAgIGlmICghd2lu
ZG93LmludGVybmFscykKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBzZXRUaW1lb3V0
KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIGxvZygiRXhwZWN0ZWQgdG8gYmUgb2JzY3VyZWQ6
Iik7CisgICAgICAgICAgICB2YXIgZmFpbGVkQW55VGVzdCA9IHRlc3RPYnNjdXJlZFBsdWdpbnMo
InNob3VsZEJlT2JzY3VyZWQiLCB0cnVlKTsKKyAgICAgICAgICAgIGxvZygiIikKKyAgICAgICAg
ICAgIGxvZygiRXhwZWN0ZWQgdG8gbm90IGJlIG9ic2N1cmVkOiIpOworICAgICAgICAgICAgZmFp
bGVkQW55VGVzdCA9IGZhaWxlZEFueVRlc3QgfHwgdGVzdE9ic2N1cmVkUGx1Z2lucygic2hvdWxk
Tm90QmVPYnNjdXJlZCIsIGZhbHNlKTsKKyAgICAgICAgICAgIGxvZygiIik7CisgICAgICAgICAg
ICBsb2coIlBhc3NlZCBhbGwgdGVzdHM6ICIgKyAhZmFpbGVkQW55VGVzdCk7CisKKyAgICAgICAg
ICAgIC8vIFJlbW92ZSB0aGUgcGx1Z2lucyBzbyB0aGF0IHdlIGRvbid0IGhhdmUgdG9ucyBvZiB3
aGl0ZXNwYWNlIGluIHRoZSBvdXRwdXQuCisgICAgICAgICAgICB3aGlsZShkb2N1bWVudC5ib2R5
LmZpcnN0Q2hpbGQgJiYgZG9jdW1lbnQuYm9keS5maXJzdENoaWxkLmlkICE9ICJsb2ciKSB7Cisg
ICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChkb2N1bWVudC5ib2R5LmZp
cnN0Q2hpbGQpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAod2luZG93LnRlc3RS
dW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAg
IH0sIDApOworICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8c3R5bGU+CisgICAgZW1iZWQgewor
ICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICAgICAgd2lkdGg6IDUwMHB4OworICAgICAgICBo
ZWlnaHQ6IDUwMHB4OworICAgIH0KKworICAgIC5jb3ZlciB7CisgICAgICAgICBiYWNrZ3JvdW5k
LWNvbG9yOiBncmVlbjsKKyAgICAgICAgIHdpZHRoOiAxMDAlOworICAgICAgICAgaGVpZ2h0OiAx
MDAlOworICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAgICAgdG9wOiAwOworICAg
IH0KKworICAgIC5jb250YWluZXIgeworICAgICAgICB3aWR0aDogNTAwcHg7CisgICAgICAgIGhl
aWdodDogNTAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICB9CisgICAgPC9z
dHlsZT4KKyAgICA8Ym9keT4KKyAgICAgICAgPGVtYmVkIGlkPSJsYXJnZSIgY2xhc3M9InNob3Vs
ZE5vdEJlT2JzY3VyZWQiIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUi
PjwvZW1iZWQ+CisgICAgICAgIDxlbWJlZCBpZD0idG9vU21hbGwiIGNsYXNzPSJzaG91bGRCZU9i
c2N1cmVkIiB0eXBlPSJhcHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0LW5ldHNjYXBlIiBzdHlsZT0i
d2lkdGg6IDEwcHg7IGhlaWdodDogMTBweDsiPjwvZW1iZWQ+CisgICAgICAgIDxlbWJlZCBpZD0i
ZW1wdHlSZWN0IiBjbGFzcz0ic2hvdWxkQmVPYnNjdXJlZCIgdHlwZT0iYXBwbGljYXRpb24veC13
ZWJraXQtdGVzdC1uZXRzY2FwZSIgc3R5bGU9IndpZHRoOiAwOyBoZWlnaHQ6IDA7Ij48L2VtYmVk
PgorCisgICAgICAgIDwhLS0gT2JzY3VyZWQgYnkgb3BhY2l0eSAtLT4KKyAgICAgICAgPGVtYmVk
IGlkPSJsb3dPcGFjaXR5IiBjbGFzcz0ic2hvdWxkQmVPYnNjdXJlZCIgdHlwZT0iYXBwbGljYXRp
b24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSIgc3R5bGU9Im9wYWNpdHk6IDAuMDU7Ij48L2VtYmVk
PgorICAgICAgICA8ZGl2IHN0eWxlPSJvcGFjaXR5OiAwLjA1OyI+CisgICAgICAgICAgICA8ZW1i
ZWQgaWQ9Imxvd09wYWNpdHlQYXJlbnQiIGNsYXNzPSJzaG91bGRCZU9ic2N1cmVkIiB0eXBlPSJh
cHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0LW5ldHNjYXBlIj48L2VtYmVkPgorICAgICAgICA8L2Rp
dj4KKyAgICAgICAgPGRpdiBzdHlsZT0ib3BhY2l0eTogMC4yOyI+CisgICAgICAgICAgICA8ZGl2
IHN0eWxlPSJvcGFjaXR5OiAwLjI7Ij4KKyAgICAgICAgICAgICAgICA8ZW1iZWQgaWQ9InN0YWNr
ZWRMb3dPcGFjaXR5UGFyZW50cyIgY2xhc3M9InNob3VsZEJlT2JzY3VyZWQiIHR5cGU9ImFwcGxp
Y2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUiPjwvZW1iZWQ+CisgICAgICAgICAgICA8L2Rp
dj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9Im9wYWNpdHk6IDAuOTsiPgor
ICAgICAgICAgICAgPGRpdiBzdHlsZT0ib3BhY2l0eTogMC45OyI+CisgICAgICAgICAgICAgICAg
PGVtYmVkIGlkPSJzdGFja2VkSGlnaE9wYWNpdHlQYXJlbnRzIiBjbGFzcz0ic2hvdWxkTm90QmVP
YnNjdXJlZCIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSI+PC9lbWJl
ZD4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKworICAgICAgICA8IS0tIENs
aXBwZWQgYnkgb3ZlcmZsb3cgLS0+CisgICAgICAgIDxkaXYgc3R5bGU9IndpZHRoOiAyMHB4OyBv
dmVyZmxvdzogaGlkZGVuOyI+CisgICAgICAgICAgICA8ZW1iZWQgaWQ9ImNsaXBwZWRCeVBhcmVu
dCIgY2xhc3M9InNob3VsZEJlT2JzY3VyZWQiIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0LXRl
c3QtbmV0c2NhcGUiPjwvZW1iZWQ+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IHN0eWxl
PSJ3aWR0aDogMjBweDsgb3ZlcmZsb3c6IHZpc2libGU7Ij4KKyAgICAgICAgICAgIDxlbWJlZCBp
ZD0ibm90Q2xpcHBlZEJ5UGFyZW50IiBjbGFzcz0ic2hvdWxkTm90QmVPYnNjdXJlZCIgdHlwZT0i
YXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSI+PC9lbWJlZD4KKyAgICAgICAgPC9k
aXY+CisKKyAgICAgICAgPCEtLSBIaWRkZW4gLS0+CisgICAgICAgIDxlbWJlZCBpZD0idmlzaWJp
bGl0eUhpZGRlbiIgY2xhc3M9InNob3VsZEJlT2JzY3VyZWQiIHR5cGU9ImFwcGxpY2F0aW9uL3gt
d2Via2l0LXRlc3QtbmV0c2NhcGUiIHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47Ij48L2VtYmVk
PgorICAgICAgICA8ZGl2IHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47Ij4KKyAgICAgICAgICAg
IDxlbWJlZCBpZD0idmlzaWJpbGl0eUhpZGRlbk9uUGFyZW50IiBjbGFzcz0ic2hvdWxkQmVPYnNj
dXJlZCIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSI+PC9lbWJlZD4K
KyAgICAgICAgPC9kaXY+CisKKyAgICAgICAgPCEtLSBDbGlja3MgYmxvY2tlZCB2aWEgcG9pbnRl
ci1ldmVudHM6IG5vbmUgLS0+CisgICAgICAgIDxlbWJlZCBpZD0icG9pbnRlckV2ZW50c0Jsb2Nr
ZWQiIGNsYXNzPSJzaG91bGRCZU9ic2N1cmVkIiB0eXBlPSJhcHBsaWNhdGlvbi94LXdlYmtpdC10
ZXN0LW5ldHNjYXBlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7Ij48L2VtYmVkPgorICAg
ICAgICA8ZGl2IHN0eWxlPSJwb2ludGVyLWV2ZW50czogbm9uZTsiPgorICAgICAgICAgICAgPGVt
YmVkIGlkPSJwb2ludGVyRXZlbnRzQmxvY2tlZE9uUGFyZW50IiBjbGFzcz0ic2hvdWxkQmVPYnNj
dXJlZCIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSI+PC9lbWJlZD4K
KyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgICAg
ICAgICA8ZW1iZWQgaWQ9InBvaW50ZXJFdmVudHNCbG9ja2VkT25PYnNjdXJpbmdTaWJsaW5nIiBj
bGFzcz0ic2hvdWxkTm90QmVPYnNjdXJlZCIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVz
dC1uZXRzY2FwZSI+PC9lbWJlZD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvdmVyIiBzdHls
ZT0icG9pbnRlci1ldmVudHM6IG5vbmU7Ij48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisKKyAgICAg
ICAgPCEtLSBPYnNjdXJlZCBieSBzaWJsaW5ncyAtLT4KKyAgICAgICAgPGRpdiBjbGFzcz0iY29u
dGFpbmVyIj4KKyAgICAgICAgICAgIDxlbWJlZCBpZD0ibGVmdEhhbGZPYnNjdXJlZCIgY2xhc3M9
InNob3VsZEJlT2JzY3VyZWQiIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0c2Nh
cGUiPjwvZW1iZWQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb3ZlciIgc3R5bGU9IndpZHRo
OiA1MCU7Ij48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRh
aW5lciI+CisgICAgICAgICAgICA8ZW1iZWQgaWQ9InJpZ2h0SGFsZk9ic2N1cmVkIiBjbGFzcz0i
c2hvdWxkQmVPYnNjdXJlZCIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2Fw
ZSI+PC9lbWJlZD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvdmVyIiBzdHlsZT0id2lkdGg6
IDUwJTsgbGVmdDogNTAlOyI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNs
YXNzPSJjb250YWluZXIiPgorICAgICAgICAgICAgPGVtYmVkIGlkPSJ0b3BIYWxmT2JzY3VyZWQi
IGNsYXNzPSJzaG91bGRCZU9ic2N1cmVkIiB0eXBlPSJhcHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0
LW5ldHNjYXBlIj48L2VtYmVkPgorICAgICAgICAgICAgPGRpdiBjbGFzcz0iY292ZXIiIHN0eWxl
PSJoZWlnaHQ6IDUwJTsiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFz
cz0iY29udGFpbmVyIj4KKyAgICAgICAgICAgIDxlbWJlZCBpZD0iYm90dG9tSGFsZk9ic2N1cmVk
IiBjbGFzcz0ic2hvdWxkQmVPYnNjdXJlZCIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVz
dC1uZXRzY2FwZSI+PC9lbWJlZD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvdmVyIiBzdHls
ZT0iaGVpZ2h0OiA1MCU7IHRvcDogNTAlOyI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAg
ICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgICAgICAgICAgPGVtYmVkIGlkPSJ0b3BRdWFy
dGVyT2JzY3VyZWQiIGNsYXNzPSJzaG91bGROb3RCZU9ic2N1cmVkIiB0eXBlPSJhcHBsaWNhdGlv
bi94LXdlYmtpdC10ZXN0LW5ldHNjYXBlIj48L2VtYmVkPgorICAgICAgICAgICAgPGRpdiBjbGFz
cz0iY292ZXIiIHN0eWxlPSJoZWlnaHQ6IDI1JTsiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAg
ICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICAgICAgICAgIDxlbWJlZCBpZD0iYm90
dG9tUXVhcnRlck9ic2N1cmVkIiBjbGFzcz0ic2hvdWxkTm90QmVPYnNjdXJlZCIgdHlwZT0iYXBw
bGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSI+PC9lbWJlZD4KKyAgICAgICAgICAgIDxk
aXYgY2xhc3M9ImNvdmVyIiBzdHlsZT0iaGVpZ2h0OiAyNSU7IHRvcDogNzUlOyI+PC9kaXY+Cisg
ICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgICAgICAg
ICAgPGVtYmVkIGlkPSJjZW50ZXJPYnNjdXJlZCIgY2xhc3M9InNob3VsZEJlT2JzY3VyZWQiIHR5
cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUiPjwvZW1iZWQ+CisgICAgICAg
ICAgICA8ZGl2IGNsYXNzPSJjb3ZlciIgc3R5bGU9IndpZHRoOiAyMCU7IGhlaWdodDogMjAlOyB0
b3A6IDQwJTsgbGVmdDogNDAlOyI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorCisgICAgICAgIDwh
LS0gT2JzY3VyZWQgYnkgc2Nyb2xsIGNsaXBwaW5nIC0tPgorICAgICAgICA8ZW1iZWQgaWQ9Im9m
ZlNjcmVlblRvcExlZnQiIGNsYXNzPSJzaG91bGRCZU9ic2N1cmVkIiB0eXBlPSJhcHBsaWNhdGlv
bi94LXdlYmtpdC10ZXN0LW5ldHNjYXBlIiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6
IC0xMDAwcHg7IGxlZnQ6IC0xMDAwcHg7Ij48L2VtYmVkPgorICAgICAgICA8ZW1iZWQgaWQ9Im9m
ZlNjcmVlblRvcCIgY2xhc3M9InNob3VsZEJlT2JzY3VyZWQiIHR5cGU9ImFwcGxpY2F0aW9uL3gt
d2Via2l0LXRlc3QtbmV0c2NhcGUiIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTEw
MDBweDsgbGVmdDogMDsiPjwvZW1iZWQ+CisgICAgICAgIDxlbWJlZCBpZD0ib2ZmU2NyZWVuTGVm
dCIgY2xhc3M9InNob3VsZEJlT2JzY3VyZWQiIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0LXRl
c3QtbmV0c2NhcGUiIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogLTEw
MDBweDsiPjwvZW1iZWQ+CisKKyAgICAgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQ2
ZDllYmQuLjdjZmI0NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxMy0wNy0yMyAg
VGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYSB0
ZXN0IGZvciBwbHVnLWluIHVuYXZhaWxhYmlsaXR5IGluZGljYXRvciBvYnNjdXJpdHkgZGV0ZWN0
aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTkw
MDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0
OiBwbHVnaW5zL3VuYXZhaWxhYmxlLXBsdWdpbi1pbmRpY2F0b3Itb2JzY3VyaXR5Lmh0bWwKKwor
ICAgICAgICBFeHBvc2UgdGhlIGFiaWxpdHkgdG8gdGVzdCB3aGV0aGVyIHRoZSB1bmF2YWlsYWJs
ZSBwbHVnaW4gaW5kaWNhdG9yCisgICAgICAgIGlzIG9ic2N1cmVkIHZpYSB0aGUgaW50ZXJuYWxz
IG9iamVjdC4KKworICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkludGVybmFsczo6aXNQbHVnaW5VbmF2YWlsYWJpbGl0eUluZGljYXRvck9ic2N1cmVk
KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxzLmlkbDoKKyAgICAgICAgRXhwb3NlIFJlbmRlckVtYmVkZGVkT2JqZWN0Ojppc1JlcGxh
Y2VtZW50T2JzY3VyZWQgYXMKKyAgICAgICAgaW50ZXJuYWxzLmlzUGx1Z2luVW5hdmFpbGFiaWxp
dHlJbmRpY2F0b3JPYnNjdXJlZCBmb3IgdGVzdGluZyBwdXJwb3Nlcy4KKwogMjAxMy0wNy0yMiAg
QmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgU3RpY2t5UG9zaXRpb25D
b25zdHJhaW50cyBzaG91bGQgc3RvcmUgdGhlIGNvbnN0cmFpbmluZ1JlY3RBdExhc3RMYXlvdXQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA4MDg1ZTAwLi5lZWZjOTAyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC03OCw2ICs3OCw3IEBACiAjaW5j
bHVkZSAiUHJpbnRDb250ZXh0LmgiCiAjaW5jbHVkZSAiUHNldWRvRWxlbWVudC5oIgogI2luY2x1
ZGUgIlJhbmdlLmgiCisjaW5jbHVkZSAiUmVuZGVyRW1iZWRkZWRPYmplY3QuaCIKICNpbmNsdWRl
ICJSZW5kZXJNZW51TGlzdC5oIgogI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgogI2luY2x1ZGUg
IlJlbmRlclRyZWVBc1RleHQuaCIKQEAgLTIxNzUsNCArMjE3NiwyMSBAQCBib29sIEludGVybmFs
czo6aXNWaWJyYXRpbmcoKQogfQogI2VuZGlmCiAKK2Jvb2wgSW50ZXJuYWxzOjppc1BsdWdpblVu
YXZhaWxhYmlsaXR5SW5kaWNhdG9yT2JzY3VyZWQoRWxlbWVudCogZWxlbWVudCwgRXhjZXB0aW9u
Q29kZSYgZWMpCit7CisgICAgaWYgKCFlbGVtZW50KSB7CisgICAgICAgIGVjID0gSU5WQUxJRF9B
Q0NFU1NfRVJSOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgUmVuZGVyT2Jq
ZWN0KiByZW5kZXJlciA9IGVsZW1lbnQtPnJlbmRlcmVyKCk7CisgICAgaWYgKCFyZW5kZXJlciB8
fCAhcmVuZGVyZXItPmlzRW1iZWRkZWRPYmplY3QoKSkgeworICAgICAgICBlYyA9IElOVkFMSURf
QUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIFJlbmRlckVt
YmVkZGVkT2JqZWN0KiBlbWJlZCA9IHRvUmVuZGVyRW1iZWRkZWRPYmplY3QocmVuZGVyZXIpOwor
ICAgIHJldHVybiBlbWJlZC0+aXNSZXBsYWNlbWVudE9ic2N1cmVkKCk7Cit9CisKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDFkZDkwMGEuLjI1YmE0NDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMzI1LDYgKzMyNSw4IEBAIHB1YmxpYzoKICAgICBib29s
IGlzVmlicmF0aW5nKCk7CiAjZW5kaWYKIAorICAgIGJvb2wgaXNQbHVnaW5VbmF2YWlsYWJpbGl0
eUluZGljYXRvck9ic2N1cmVkKEVsZW1lbnQqLCBFeGNlcHRpb25Db2RlJik7CisKIHByaXZhdGU6
CiAgICAgZXhwbGljaXQgSW50ZXJuYWxzKERvY3VtZW50Kik7CiAgICAgRG9jdW1lbnQqIGNvbnRl
eHREb2N1bWVudCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4
IGY5ZDgzM2QuLjk2MjJlNTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAg
LTI3Niw1ICsyNzYsNyBAQAogICAgIGJvb2xlYW4gaXNWaWJyYXRpbmcoKTsKICNlbmRpZgogCisg
ICAgW1JhaXNlc0V4Y2VwdGlvbl0gYm9vbGVhbiBpc1BsdWdpblVuYXZhaWxhYmlsaXR5SW5kaWNh
dG9yT2JzY3VyZWQoRWxlbWVudCBlbGVtZW50KTsKKwogICAgIFtSYWlzZXNFeGNlcHRpb25dIENs
aWVudFJlY3Qgc2VsZWN0aW9uQm91bmRzKCk7CiB9OwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDY0ZmMxMTkuLmJiZmE3MTMgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAor
MjAxMy0wNy0yMyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAg
ICAgICBBZGQgYSB0ZXN0IGZvciBwbHVnLWluIHVuYXZhaWxhYmlsaXR5IGluZGljYXRvciBvYnNj
dXJpdHkgZGV0ZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMTkwMDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBFeHBvc2UgdGhlIGFiaWxpdHkgdG8gYmxvY2sgcGx1Zy1pbnMgdmlhIHBsdWdpbkxv
YWRQb2xpY3kgdG8gdGVzdFJ1bm5lci4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGw6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVz
dFJ1bm5lcjo6c2V0QmxvY2tBbGxQbHVnaW5zKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L1Rlc3RJbnZvY2F0aW9uLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdEludm9jYXRpb246OmRpZFJl
Y2VpdmVNZXNzYWdlRnJvbUluamVjdGVkQnVuZGxlKToKKyAgICAgICAgQWRkIHRlc3RSdW5uZXIu
c2V0QmxvY2tBbGxQbHVnaW5zIGZ1bmN0aW9uIChhbmQgY29ycmVzcG9uZGluZyBtZXNzYWdlIHRv
CisgICAgICAgIGZvcndhcmQgaXQgdGhyb3VnaCB0byBUZXN0Q29udHJvbGxlcikuCisKKyAgICAg
ICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgSW5pdGlh
bGl6ZSBtX3Nob3VsZEJsb2NrQWxsUGx1Z2lucyB0byBmYWxzZSAoYW5kIGRyaXZlLWJ5IGluaXRp
YWxpemUgbV9oYW5kbGVzQXV0aGVudGljYXRpb25DaGFsbGVuZ2VzKS4KKworICAgICAgICAoV1RS
OjpUZXN0Q29udHJvbGxlcjo6Y3JlYXRlV2ViVmlld1dpdGhPcHRpb25zKToKKyAgICAgICAgUmVn
aXN0ZXIgb3VyIHBsdWdpbkxvYWRQb2xpY3kgY2FsbGJhY2suCisKKyAgICAgICAgKFdUUjo6VGVz
dENvbnRyb2xsZXI6OnJlc2V0U3RhdGVUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICBSZXNl
dCBtX3Nob3VsZEJsb2NrQWxsUGx1Z2lucyB0byBmYWxzZS4KKworICAgICAgICAoV1RSOjpUZXN0
Q29udHJvbGxlcjo6cGx1Z2luTG9hZFBvbGljeSk6CisgICAgICAgIFJldHVybiB0aGUgZXhpc3Rp
bmcgcGx1Z2luIGxvYWQgcG9saWN5LCB1bmxlc3Mgc2V0QmxvY2tBbGxQbHVnaW5zKHRydWUpCisg
ICAgICAgIHdhcyBjYWxsZWQsIGluIHdoaWNoIGNhc2Ugd2UgcmVqZWN0IGFsbCBwbHVnaW5zIHdp
dGgga1dLUGx1Z2luTG9hZFBvbGljeUJsb2NrZWQuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL1Rlc3RDb250cm9sbGVyLmg6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpzZXRC
bG9ja0FsbFBsdWdpbnMpOgorCiAyMDEzLTA3LTIxICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFw
cGxlLmNvbT4KIAogICAgICAgICBLVVJMIGNyZWF0ZXMgZHVwbGljYXRlIHN0cmluZ3Mgd2hlbiBj
b21wbGV0aW5nIGRhdGE6IFVSSXMuCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAppbmRleCBjZTY0
N2UyLi5kMTRhYjJhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKQEAgLTE5MCw1ICsxOTAs
OCBAQCBpbnRlcmZhY2UgVGVzdFJ1bm5lciB7CiAKICAgICAvLyBTZWN1cmUgdGV4dCBpbnB1dCBt
b2RlIChNYWMgb25seSkKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBzZWN1cmVFdmVu
dElucHV0SXNFbmFibGVkOworICAgIAorICAgIC8vIE92ZXJyaWRlIHBsdWdpbiBsb2FkIHBvbGlj
eS4KKyAgICB2b2lkIHNldEJsb2NrQWxsUGx1Z2lucyhib29sZWFuIHNob3VsZEJsb2NrKTsKIH07
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVz
dFJ1bm5lci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RS
dW5uZXIuY3BwCmluZGV4IGE2OTY2MDAuLmJlMDEzZjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcApAQCAtODEyLDQgKzgx
MiwxMSBAQCBib29sIFRlc3RSdW5uZXI6OnNlY3VyZUV2ZW50SW5wdXRJc0VuYWJsZWQoKSBjb25z
dAogICAgIHJldHVybiBXS0Jvb2xlYW5HZXRWYWx1ZShzdGF0aWNfY2FzdDxXS0Jvb2xlYW5SZWY+
KHJldHVybkRhdGEpKTsKIH0KIAordm9pZCBUZXN0UnVubmVyOjpzZXRCbG9ja0FsbFBsdWdpbnMo
Ym9vbCBzaG91bGRCbG9jaykKK3sKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2Fn
ZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlNldEJsb2NrQWxs
UGx1Z2lucyIpKTsKKyAgICBXS1JldGFpblB0cjxXS0Jvb2xlYW5SZWY+IG1lc3NhZ2VCb2R5KEFk
b3B0V0ssIFdLQm9vbGVhbkNyZWF0ZShzaG91bGRCbG9jaykpOworICAgIFdLQnVuZGxlUG9zdE1l
c3NhZ2UoSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmJ1bmRsZSgpLCBtZXNzYWdlTmFtZS5nZXQo
KSwgbWVzc2FnZUJvZHkuZ2V0KCkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXVFIKZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKaW5kZXgg
ZWYwZWE4Yy4uMGM5MTY0NSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKQEAgLTE2Niw2ICsxNjYsOCBAQCBwdWJsaWM6CiAgICAg
Ly8gQXVkaW8gdGVzdGluZy4KICAgICB2b2lkIHNldEF1ZGlvUmVzdWx0KEpTQ29udGV4dFJlZiwg
SlNWYWx1ZVJlZiBkYXRhKTsKIAorICAgIHZvaWQgc2V0QmxvY2tBbGxQbHVnaW5zKGJvb2wgc2hv
dWxkQmxvY2spOworCiAgICAgZW51bSBXaGF0VG9EdW1wIHsgUmVuZGVyVHJlZSwgTWFpbkZyYW1l
VGV4dCwgQWxsRnJhbWVzVGV4dCwgQXVkaW8sIERPTUFzV2ViQXJjaGl2ZSB9OwogICAgIFdoYXRU
b0R1bXAgd2hhdFRvRHVtcCgpIGNvbnN0IHsgcmV0dXJuIG1fd2hhdFRvRHVtcDsgfQogCmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IGMyMzQ1NjkuLjYzZTAz
MzAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3Bw
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCkBAIC0xMTIs
NiArMTEyLDggQEAgVGVzdENvbnRyb2xsZXI6OlRlc3RDb250cm9sbGVyKGludCBhcmdjLCBjb25z
dCBjaGFyKiBhcmd2W10pCiAgICAgLCBtX2lzR2VvbG9jYXRpb25QZXJtaXNzaW9uQWxsb3dlZChm
YWxzZSkKICAgICAsIG1fcG9saWN5RGVsZWdhdGVFbmFibGVkKGZhbHNlKQogICAgICwgbV9wb2xp
Y3lEZWxlZ2F0ZVBlcm1pc3NpdmUoZmFsc2UpCisgICAgLCBtX2hhbmRsZXNBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZXMoZmFsc2UpCisgICAgLCBtX3Nob3VsZEJsb2NrQWxsUGx1Z2lucyhmYWxzZSkK
IHsKICAgICBpbml0aWFsaXplKGFyZ2MsIGFyZ3YpOwogICAgIGNvbnRyb2xsZXIgPSB0aGlzOwpA
QCAtNDg3LDcgKzQ4OSw3IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmNyZWF0ZVdlYlZpZXdXaXRo
T3B0aW9ucyhXS0RpY3Rpb25hcnlSZWYgb3B0aW9ucykKICAgICAgICAgMCwgLy8gZGlkTGF5b3V0
CiAgICAgICAgIDAsIC8vIHBsdWdpbkxvYWRQb2xpY3lfZGVwcmVjYXRlZEZvclVzZVdpdGhWMgog
ICAgICAgICAwLCAvLyBwbHVnaW5EaWRGYWlsCi0gICAgICAgIDAsIC8vIHBsdWdpbkxvYWRQb2xp
Y3kKKyAgICAgICAgcGx1Z2luTG9hZFBvbGljeSwgLy8gcGx1Z2luTG9hZFBvbGljeQogICAgIH07
CiAgICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudChtX21haW5XZWJWaWV3LT5wYWdlKCksICZw
YWdlTG9hZGVyQ2xpZW50KTsKIApAQCAtNjI1LDYgKzYyNyw4IEBAIGJvb2wgVGVzdENvbnRyb2xs
ZXI6OnJlc2V0U3RhdGVUb0NvbnNpc3RlbnRWYWx1ZXMoKQogICAgIG1fYXV0aGVudGljYXRpb25V
c2VybmFtZSA9IFN0cmluZygpOwogICAgIG1fYXV0aGVudGljYXRpb25QYXNzd29yZCA9IFN0cmlu
ZygpOwogCisgICAgbV9zaG91bGRCbG9ja0FsbFBsdWdpbnMgPSBmYWxzZTsKKwogICAgIC8vIFJl
c2V0IG1haW4gcGFnZSBiYWNrIHRvIGFib3V0OmJsYW5rCiAgICAgbV9kb25lUmVzZXR0aW5nID0g
ZmFsc2U7CiAKQEAgLTEwNzcsNiArMTA4MSwxOCBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpwcm9j
ZXNzRGlkQ3Jhc2goV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiAgICAg
c3RhdGljX2Nhc3Q8VGVzdENvbnRyb2xsZXIqPihjb25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZv
KSktPnByb2Nlc3NEaWRDcmFzaCgpOwogfQogCitXS1BsdWdpbkxvYWRQb2xpY3kgVGVzdENvbnRy
b2xsZXI6OnBsdWdpbkxvYWRQb2xpY3koV0tQYWdlUmVmIHBhZ2UsIFdLUGx1Z2luTG9hZFBvbGlj
eSBjdXJyZW50UGx1Z2luTG9hZFBvbGljeSwgV0tEaWN0aW9uYXJ5UmVmIHBsdWdpbkluZm9ybWF0
aW9uLCBXS1N0cmluZ1JlZiogdW5hdmFpbGFiaWxpdHlEZXNjcmlwdGlvbiwgY29uc3Qgdm9pZCog
Y2xpZW50SW5mbykKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VGVzdENvbnRyb2xsZXIqPihj
b25zdF9jYXN0PHZvaWQqPihjbGllbnRJbmZvKSktPnBsdWdpbkxvYWRQb2xpY3kocGFnZSwgY3Vy
cmVudFBsdWdpbkxvYWRQb2xpY3ksIHBsdWdpbkluZm9ybWF0aW9uLCB1bmF2YWlsYWJpbGl0eURl
c2NyaXB0aW9uKTsKK30KKworV0tQbHVnaW5Mb2FkUG9saWN5IFRlc3RDb250cm9sbGVyOjpwbHVn
aW5Mb2FkUG9saWN5KFdLUGFnZVJlZiwgV0tQbHVnaW5Mb2FkUG9saWN5IGN1cnJlbnRQbHVnaW5M
b2FkUG9saWN5LCBXS0RpY3Rpb25hcnlSZWYgcGx1Z2luSW5mb3JtYXRpb24sIFdLU3RyaW5nUmVm
KiB1bmF2YWlsYWJpbGl0eURlc2NyaXB0aW9uKQoreworICAgIGlmIChtX3Nob3VsZEJsb2NrQWxs
UGx1Z2lucykKKyAgICAgICAgcmV0dXJuIGtXS1BsdWdpbkxvYWRQb2xpY3lCbG9ja2VkOworICAg
IHJldHVybiBjdXJyZW50UGx1Z2luTG9hZFBvbGljeTsKK30KKwogdm9pZCBUZXN0Q29udHJvbGxl
cjo6ZGlkQ29tbWl0TG9hZEZvckZyYW1lKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1l
KQogewogICAgIGlmICghV0tGcmFtZUlzTWFpbkZyYW1lKGZyYW1lKSkKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGVzdENvbnRyb2xsZXIuaAppbmRleCBkZWUyNjgzLi5mNmRlYmRkIDEwMDY0NAotLS0g
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCkBAIC05OCw2ICs5OCw4IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNldEF1dGhlbnRpY2F0aW9uVXNlcm5hbWUoU3RyaW5nIHVzZXJuYW1lKSB7IG1f
YXV0aGVudGljYXRpb25Vc2VybmFtZSA9IHVzZXJuYW1lOyB9CiAgICAgdm9pZCBzZXRBdXRoZW50
aWNhdGlvblBhc3N3b3JkKFN0cmluZyBwYXNzd29yZCkgeyBtX2F1dGhlbnRpY2F0aW9uUGFzc3dv
cmQgPSBwYXNzd29yZDsgfQogCisgICAgdm9pZCBzZXRCbG9ja0FsbFBsdWdpbnMoYm9vbCBzaG91
bGRCbG9jaykgeyBtX3Nob3VsZEJsb2NrQWxsUGx1Z2lucyA9IHNob3VsZEJsb2NrOyB9CisKIHBy
aXZhdGU6CiAgICAgdm9pZCBpbml0aWFsaXplKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10p
OwogICAgIHZvaWQgY3JlYXRlV2ViVmlld1dpdGhPcHRpb25zKFdLRGljdGlvbmFyeVJlZik7CkBA
IC0xMzQsNiArMTM2LDEwIEBAIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgcHJvY2Vzc0RpZENy
YXNoKFdLUGFnZVJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAgICAgdm9pZCBwcm9jZXNz
RGlkQ3Jhc2goKTsKIAorICAgIHN0YXRpYyBXS1BsdWdpbkxvYWRQb2xpY3kgcGx1Z2luTG9hZFBv
bGljeShXS1BhZ2VSZWYsIFdLUGx1Z2luTG9hZFBvbGljeSBjdXJyZW50UGx1Z2luTG9hZFBvbGlj
eSwgV0tEaWN0aW9uYXJ5UmVmIHBsdWdpbkluZm9ybWF0aW9uLCBXS1N0cmluZ1JlZiogdW5hdmFp
bGFiaWxpdHlEZXNjcmlwdGlvbiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CisgICAgV0tQbHVn
aW5Mb2FkUG9saWN5IHBsdWdpbkxvYWRQb2xpY3koV0tQYWdlUmVmLCBXS1BsdWdpbkxvYWRQb2xp
Y3kgY3VycmVudFBsdWdpbkxvYWRQb2xpY3ksIFdLRGljdGlvbmFyeVJlZiBwbHVnaW5JbmZvcm1h
dGlvbiwgV0tTdHJpbmdSZWYqIHVuYXZhaWxhYmlsaXR5RGVzY3JpcHRpb24pOworICAgIAorCiAg
ICAgc3RhdGljIHZvaWQgZGVjaWRlUG9saWN5Rm9yTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3QoV0tQYWdlUmVmLCBXS1NlY3VyaXR5T3JpZ2luUmVmLCBXS05vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0UmVmLCBjb25zdCB2b2lkKik7CiAgICAgdm9pZCBkZWNpZGVQb2xpY3lGb3JOb3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdChXS1BhZ2VSZWYsIFdLU2VjdXJpdHlPcmlnaW5SZWYs
IFdLTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RSZWYpOwogCkBAIC0yMDcsNiArMjEzLDgg
QEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9hdXRoZW50aWNhdGlvblVzZXJuYW1lOwogICAgIFN0
cmluZyBtX2F1dGhlbnRpY2F0aW9uUGFzc3dvcmQ7CiAKKyAgICBib29sIG1fc2hvdWxkQmxvY2tB
bGxQbHVnaW5zOworCiAjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShRVCkgfHwgUExBVEZP
Uk0oR1RLKSB8fCBQTEFURk9STShFRkwpCiAgICAgT3duUHRyPEV2ZW50U2VuZGVyUHJveHk+IG1f
ZXZlbnRTZW5kZXJQcm94eTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0SW52b2NhdGlvbi5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZv
Y2F0aW9uLmNwcAppbmRleCBjZTlmNTUxLi42OTIzNmJmIDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1Rlc3RJbnZvY2F0aW9uLmNwcApAQCAtNjUxLDYgKzY1MSwxMyBAQCB2b2lkIFRlc3RJbnZv
Y2F0aW9uOjpkaWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZShXS1N0cmluZ1JlZiBt
ZXNzYWdlTmFtZQogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgaWYgKFdLU3RyaW5nSXNF
cXVhbFRvVVRGOENTdHJpbmcobWVzc2FnZU5hbWUsICJTZXRCbG9ja0FsbFBsdWdpbnMiKSkgewor
ICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQobWVzc2FnZUJvZHkpID09IFdLQm9vbGVhbkdldFR5
cGVJRCgpKTsKKyAgICAgICAgV0tCb29sZWFuUmVmIHNob3VsZEJsb2NrID0gc3RhdGljX2Nhc3Q8
V0tCb29sZWFuUmVmPihtZXNzYWdlQm9keSk7CisgICAgICAgIFRlc3RDb250cm9sbGVyOjpzaGFy
ZWQoKS5zZXRCbG9ja0FsbFBsdWdpbnMoV0tCb29sZWFuR2V0VmFsdWUoc2hvdWxkQmxvY2spKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQog
Cg==
</data>
<flag name="commit-queue"
          id="229096"
          type_id="3"
          status="-"
          setter="gtk-ews"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207337</attachid>
            <date>2013-07-23 10:05:44 -0700</date>
            <delta_ts>2013-07-23 10:11:16 -0700</delta_ts>
            <desc>fix gtk in theory</desc>
            <filename>plugin-test.diff</filename>
            <type>text/plain</type>
            <size>24246</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBiZWQ1NzFjLi4zNDExMjVi
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAK
KzIwMTMtMDctMjMgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgQWRkIGEgdGVzdCBmb3IgcGx1Zy1pbiB1bmF2YWlsYWJpbGl0eSBpbmRpY2F0b3Igb2Jz
Y3VyaXR5IGRldGVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTE5MDA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBTb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyOgorICAgICAgICBFeHBv
c2UgUmVuZGVyRW1iZWRkZWRPYmplY3Q6OmlzUmVwbGFjZW1lbnRPYnNjdXJlZCB0byBpbnRlcm5h
bHMuCisKIDIwMTMtMDctMTYgIEJhbGF6cyBLZWxlbWVuICA8a2JhbGF6c0B3ZWJraXQub3JnPgog
CiAgICAgICAgIFtDTWFrZV0gVW5kZWZpbmVkIHJlZmVyZW5jZXMgc2hvdWxkIGJlIGRldGVjdGVk
IGF0IGJ1aWxkIHRpbWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxMzE1NjY2Li4xNWU2NzAwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTggQEAKKzIwMTMtMDctMjMgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+
CisKKyAgICAgICAgQWRkIGEgdGVzdCBmb3IgcGx1Zy1pbiB1bmF2YWlsYWJpbGl0eSBpbmRpY2F0
b3Igb2JzY3VyaXR5IGRldGVjdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTE5MDA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIGEgdGVzdCB0aGF0IGVuc3VyZXMgdGhhdCBSZW5kZXJFbWJlZGRl
ZE9iamVjdCBhY2N1cmF0ZWx5IGRldGVjdHMgdGhlCisgICAgICAgIHZhcmlvdXMgZGlmZmVyZW50
IHdheXMgdGhlIHVuYXZhaWxhYmxlIHBsdWdpbiBkaWFsb2cgY2FuIGJlIG9ic2N1cmVkLgorCisg
ICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsdWdpbnMvdW5hdmFpbGFi
bGUtcGx1Z2luLWluZGljYXRvci1vYnNjdXJpdHktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBwbHVnaW5zL3VuYXZhaWxhYmxlLXBsdWdpbi1pbmRpY2F0b3Itb2JzY3VyaXR5Lmh0bWw6
IEFkZGVkLgorCiAyMDEzLTA3LTIzICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFtRdF0gUkVHUkVTU0lPTihyMTUyOTA2KSBNb2RpZmllZCBmYXN0L3NoYXBl
cy9zaGFwZS1pbnNpZGUvc2hhcGUtaW5zaWRlLW92ZXJmbG93Lmh0bWwgcmVmIHRlc3QgZmFpbHMu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
NWVmMjZmZC4uNjA2NWQwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
Mi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVz
dEV4cGVjdGF0aW9ucwpAQCAtNDMxLDYgKzQzMSw5IEBAIHdlYmF1ZGlvL2NvZGVjLXRlc3RzL3Zv
cmJpcy8KICMgQXNzZXJ0cyBpbiBXZWJLaXQxLWRlYnVnIG9ubHksIHNvIHJlZW5hYmxpbmcuCiBj
b21wb3NpdGluZy9nZW9tZXRyeS9maXhlZC1wb3NpdGlvbi1mbGlwcGVkLXdyaXRpbmctbW9kZS5o
dG1sIFsgUGFzcyBdCiAKKyMgUGx1Zy1pbiBibG9ja2luZyBjYWxsYmFjayBkb2Vzbid0IGV4aXN0
IGluIFdlYktpdDEsIHNvIHJlZW5hYmxpbmcuCitwbHVnaW5zL3VuYXZhaWxhYmxlLXBsdWdpbi1p
bmRpY2F0b3Itb2JzY3VyaXR5Lmh0bWwgWyBQYXNzIF0KKwogIyMjIEVORCBPRiAoNSkgRmVhdHVy
ZXMgdGhhdCBhcmUgbm90IHN1cHBvcnRlZCBpbiBXZWJLaXQxLCBzbyBza2lwcGVkIGluIG1hYy9U
ZXN0RXhwZWN0YXRpb25zIHRoZW4gcmUtZW5hYmxlZCBoZXJlCiAjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggMGIzMGE2OS4uMjVlOWU2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEzMDMsMyArMTMwMyw2IEBAIHdlYmtpdC5vcmcvYi8x
MTg0NzkgZmFzdC9yZXBhaW50L2ZpeGVkLXJpZ2h0LWluLXBhZ2Utc2NhbGUuaHRtbCBbIFBhc3Mg
Q3Jhc2ggXQogCiB3ZWJraXQub3JnL2IvMTE4OTAwIG1hdGhtbC9wcmVzZW50YXRpb24vbXNwYWNl
LXVuaXRzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMTg4NTYgbWF0
aG1sL3ByZXNlbnRhdGlvbi9mZW5jZWQtbWkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCisj
IFBsdWctaW4gYmxvY2tpbmcgY2FsbGJhY2sgZG9lc24ndCBleGlzdCBpbiBXZWJLaXQxLCBzbyBz
a2lwIGFuZCByZS1lbmFibGUgZm9yIFdlYktpdDIuCitwbHVnaW5zL3VuYXZhaWxhYmxlLXBsdWdp
bi1pbmRpY2F0b3Itb2JzY3VyaXR5Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsdWdp
bnMvdW5hdmFpbGFibGUtcGx1Z2luLWluZGljYXRvci1vYnNjdXJpdHktZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGx1Z2lucy91bmF2YWlsYWJsZS1wbHVnaW4taW5kaWNhdG9yLW9ic2N1cml0
eS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjNkMTg3
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsdWdpbnMvdW5hdmFpbGFibGUtcGx1
Z2luLWluZGljYXRvci1vYnNjdXJpdHktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzAgQEAKK0V4
cGVjdGVkIHRvIGJlIG9ic2N1cmVkOgorJ3Rvb1NtYWxsJyB3YXMgb2JzY3VyZWQ6IHRydWUgKGV4
cGVjdGVkIHRydWU7IFBBU1MpCisnZW1wdHlSZWN0JyB3YXMgb2JzY3VyZWQ6IHRydWUgKGV4cGVj
dGVkIHRydWU7IFBBU1MpCisnbG93T3BhY2l0eScgd2FzIG9ic2N1cmVkOiB0cnVlIChleHBlY3Rl
ZCB0cnVlOyBQQVNTKQorJ2xvd09wYWNpdHlQYXJlbnQnIHdhcyBvYnNjdXJlZDogdHJ1ZSAoZXhw
ZWN0ZWQgdHJ1ZTsgUEFTUykKKydzdGFja2VkTG93T3BhY2l0eVBhcmVudHMnIHdhcyBvYnNjdXJl
ZDogdHJ1ZSAoZXhwZWN0ZWQgdHJ1ZTsgUEFTUykKKydjbGlwcGVkQnlQYXJlbnQnIHdhcyBvYnNj
dXJlZDogdHJ1ZSAoZXhwZWN0ZWQgdHJ1ZTsgUEFTUykKKyd2aXNpYmlsaXR5SGlkZGVuJyB3YXMg
b2JzY3VyZWQ6IHRydWUgKGV4cGVjdGVkIHRydWU7IFBBU1MpCisndmlzaWJpbGl0eUhpZGRlbk9u
UGFyZW50JyB3YXMgb2JzY3VyZWQ6IHRydWUgKGV4cGVjdGVkIHRydWU7IFBBU1MpCisncG9pbnRl
ckV2ZW50c0Jsb2NrZWQnIHdhcyBvYnNjdXJlZDogdHJ1ZSAoZXhwZWN0ZWQgdHJ1ZTsgUEFTUykK
Kydwb2ludGVyRXZlbnRzQmxvY2tlZE9uUGFyZW50JyB3YXMgb2JzY3VyZWQ6IHRydWUgKGV4cGVj
dGVkIHRydWU7IFBBU1MpCisnbGVmdEhhbGZPYnNjdXJlZCcgd2FzIG9ic2N1cmVkOiB0cnVlIChl
eHBlY3RlZCB0cnVlOyBQQVNTKQorJ3JpZ2h0SGFsZk9ic2N1cmVkJyB3YXMgb2JzY3VyZWQ6IHRy
dWUgKGV4cGVjdGVkIHRydWU7IFBBU1MpCisndG9wSGFsZk9ic2N1cmVkJyB3YXMgb2JzY3VyZWQ6
IHRydWUgKGV4cGVjdGVkIHRydWU7IFBBU1MpCisnYm90dG9tSGFsZk9ic2N1cmVkJyB3YXMgb2Jz
Y3VyZWQ6IHRydWUgKGV4cGVjdGVkIHRydWU7IFBBU1MpCisnY2VudGVyT2JzY3VyZWQnIHdhcyBv
YnNjdXJlZDogdHJ1ZSAoZXhwZWN0ZWQgdHJ1ZTsgUEFTUykKKydvZmZTY3JlZW5Ub3BMZWZ0JyB3
YXMgb2JzY3VyZWQ6IHRydWUgKGV4cGVjdGVkIHRydWU7IFBBU1MpCisnb2ZmU2NyZWVuVG9wJyB3
YXMgb2JzY3VyZWQ6IHRydWUgKGV4cGVjdGVkIHRydWU7IFBBU1MpCisnb2ZmU2NyZWVuTGVmdCcg
d2FzIG9ic2N1cmVkOiB0cnVlIChleHBlY3RlZCB0cnVlOyBQQVNTKQorCitFeHBlY3RlZCB0byBu
b3QgYmUgb2JzY3VyZWQ6CisnbGFyZ2UnIHdhcyBvYnNjdXJlZDogZmFsc2UgKGV4cGVjdGVkIGZh
bHNlOyBQQVNTKQorJ3N0YWNrZWRIaWdoT3BhY2l0eVBhcmVudHMnIHdhcyBvYnNjdXJlZDogZmFs
c2UgKGV4cGVjdGVkIGZhbHNlOyBQQVNTKQorJ25vdENsaXBwZWRCeVBhcmVudCcgd2FzIG9ic2N1
cmVkOiBmYWxzZSAoZXhwZWN0ZWQgZmFsc2U7IFBBU1MpCisncG9pbnRlckV2ZW50c0Jsb2NrZWRP
bk9ic2N1cmluZ1NpYmxpbmcnIHdhcyBvYnNjdXJlZDogZmFsc2UgKGV4cGVjdGVkIGZhbHNlOyBQ
QVNTKQorJ3RvcFF1YXJ0ZXJPYnNjdXJlZCcgd2FzIG9ic2N1cmVkOiBmYWxzZSAoZXhwZWN0ZWQg
ZmFsc2U7IFBBU1MpCisnYm90dG9tUXVhcnRlck9ic2N1cmVkJyB3YXMgb2JzY3VyZWQ6IGZhbHNl
IChleHBlY3RlZCBmYWxzZTsgUEFTUykKKworUGFzc2VkIGFsbCB0ZXN0czogdHJ1ZQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbHVnaW5zL3VuYXZhaWxhYmxlLXBsdWdpbi1pbmRpY2F0b3It
b2JzY3VyaXR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL3VuYXZhaWxhYmxlLXBsdWdpbi1p
bmRpY2F0b3Itb2JzY3VyaXR5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uMzk2ZTA0MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsdWdpbnMvdW5hdmFp
bGFibGUtcGx1Z2luLWluZGljYXRvci1vYnNjdXJpdHkuaHRtbApAQCAtMCwwICsxLDE2MCBAQAor
PGh0bWw+Cis8aGVhZD4KKyAgICA8dGl0bGU+VGVzdCB0aGF0IHRoZSBwbHVnaW4gdW5hdmFpbGFi
aWxpdHkgaW5kaWNhdG9yIGFjY3VyYXRlbHkga25vd3MgaWYgaXQncyBjbGlwcGVkLjwvdGl0bGU+
CisgICAgPHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVz
dFJ1bm5lci5zZXRCbG9ja0FsbFBsdWdpbnModHJ1ZSk7CisgICAgICAgIHRlc3RSdW5uZXIud2Fp
dFVudGlsRG9uZSgpOworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB9CisK
KyAgICBmdW5jdGlvbiBsb2codGV4dCkgeworICAgICAgICBsb2dFbGVtZW50LmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRleHQpKTsKKyAgICAgICAgbG9nRWxlbWVudC5hcHBl
bmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJiciIpKTsKKyAgICB9CisKKyAgICBmdW5j
dGlvbiB0ZXN0T2JzY3VyZWRQbHVnaW5zKGNsYXNzTmFtZSwgZXhwZWN0ZWRPYnNjdXJlZCkgewor
ICAgICAgICB2YXIgZmFpbGVkQW55VGVzdCA9IGZhbHNlOworICAgICAgICB2YXIgZXhwZWN0ZWRP
YnNjdXJlZFBsdWdpbnMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGNsYXNzTmFt
ZSk7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZXhwZWN0ZWRPYnNjdXJlZFBsdWdpbnMu
bGVuZ3RoOyBpKyspIHsKKyAgICAgICAgICAgIHZhciBwbHVnaW4gPSBleHBlY3RlZE9ic2N1cmVk
UGx1Z2luc1tpXTsKKyAgICAgICAgICAgIHZhciBvYnNjdXJlZCA9IGludGVybmFscy5pc1BsdWdp
blVuYXZhaWxhYmlsaXR5SW5kaWNhdG9yT2JzY3VyZWQocGx1Z2luKTsKKyAgICAgICAgICAgIHZh
ciBwYXNzZWQgPSBleHBlY3RlZE9ic2N1cmVkID09IG9ic2N1cmVkOworICAgICAgICAgICAgaWYg
KCFwYXNzZWQpCisgICAgICAgICAgICAgICAgZmFpbGVkQW55VGVzdCA9IHRydWU7CisKKyAgICAg
ICAgICAgIGxvZygiJyIgKyBwbHVnaW4uaWQgKyAiJyB3YXMgb2JzY3VyZWQ6ICIgKyBvYnNjdXJl
ZCArICIgKGV4cGVjdGVkICIgKyBleHBlY3RlZE9ic2N1cmVkICsgIjsgIiArIChwYXNzZWQgPyAi
UEFTUyIgOiAiRkFJTCIpICsgIikiKTsKKyAgICAgICAgfTsKKworICAgICAgICByZXR1cm4gZmFp
bGVkQW55VGVzdDsKKyAgICB9CisKKyAgICB3aW5kb3cub25sb2FkID0gZnVuY3Rpb24gKCkgewor
ICAgICAgICBsb2dFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxvZyIpOworCisg
ICAgICAgIGlmICghd2luZG93LmludGVybmFscykKKyAgICAgICAgICAgIHJldHVybjsKKworICAg
ICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIGxvZygiRXhwZWN0ZWQg
dG8gYmUgb2JzY3VyZWQ6Iik7CisgICAgICAgICAgICB2YXIgZmFpbGVkQW55VGVzdCA9IHRlc3RP
YnNjdXJlZFBsdWdpbnMoInNob3VsZEJlT2JzY3VyZWQiLCB0cnVlKTsKKyAgICAgICAgICAgIGxv
ZygiIikKKyAgICAgICAgICAgIGxvZygiRXhwZWN0ZWQgdG8gbm90IGJlIG9ic2N1cmVkOiIpOwor
ICAgICAgICAgICAgZmFpbGVkQW55VGVzdCA9IGZhaWxlZEFueVRlc3QgfHwgdGVzdE9ic2N1cmVk
UGx1Z2lucygic2hvdWxkTm90QmVPYnNjdXJlZCIsIGZhbHNlKTsKKyAgICAgICAgICAgIGxvZygi
Iik7CisgICAgICAgICAgICBsb2coIlBhc3NlZCBhbGwgdGVzdHM6ICIgKyAhZmFpbGVkQW55VGVz
dCk7CisKKyAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgcGx1Z2lucyBzbyB0aGF0IHdlIGRvbid0
IGhhdmUgdG9ucyBvZiB3aGl0ZXNwYWNlIGluIHRoZSBvdXRwdXQuCisgICAgICAgICAgICB3aGls
ZShkb2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQgJiYgZG9jdW1lbnQuYm9keS5maXJzdENoaWxkLmlk
ICE9ICJsb2ciKSB7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChk
b2N1bWVudC5ib2R5LmZpcnN0Q2hpbGQpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7CisgICAgICAgIH0sIDApOworICAgIH0KKyAgICA8L3NjcmlwdD4KKyAgICA8c3R5bGU+
CisgICAgZW1iZWQgeworICAgICAgICBkaXNwbGF5OiBibG9jazsKKyAgICAgICAgd2lkdGg6IDUw
MHB4OworICAgICAgICBoZWlnaHQ6IDUwMHB4OworICAgIH0KKworICAgIC5jb3ZlciB7CisgICAg
ICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICAgICAgIHdpZHRoOiAxMDAlOworICAg
ICAgICAgaGVpZ2h0OiAxMDAlOworICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOworICAgICAg
ICAgdG9wOiAwOworICAgIH0KKworICAgIC5jb250YWluZXIgeworICAgICAgICB3aWR0aDogNTAw
cHg7CisgICAgICAgIGhlaWdodDogNTAwcHg7CisgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsK
KyAgICB9CisgICAgPC9zdHlsZT4KKyAgICA8Ym9keT4KKyAgICAgICAgPGVtYmVkIGlkPSJsYXJn
ZSIgY2xhc3M9InNob3VsZE5vdEJlT2JzY3VyZWQiIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0
LXRlc3QtbmV0c2NhcGUiPjwvZW1iZWQ+CisgICAgICAgIDxlbWJlZCBpZD0idG9vU21hbGwiIGNs
YXNzPSJzaG91bGRCZU9ic2N1cmVkIiB0eXBlPSJhcHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0LW5l
dHNjYXBlIiBzdHlsZT0id2lkdGg6IDEwcHg7IGhlaWdodDogMTBweDsiPjwvZW1iZWQ+CisgICAg
ICAgIDxlbWJlZCBpZD0iZW1wdHlSZWN0IiBjbGFzcz0ic2hvdWxkQmVPYnNjdXJlZCIgdHlwZT0i
YXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSIgc3R5bGU9IndpZHRoOiAwOyBoZWln
aHQ6IDA7Ij48L2VtYmVkPgorCisgICAgICAgIDwhLS0gT2JzY3VyZWQgYnkgb3BhY2l0eSAtLT4K
KyAgICAgICAgPGVtYmVkIGlkPSJsb3dPcGFjaXR5IiBjbGFzcz0ic2hvdWxkQmVPYnNjdXJlZCIg
dHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSIgc3R5bGU9Im9wYWNpdHk6
IDAuMDU7Ij48L2VtYmVkPgorICAgICAgICA8ZGl2IHN0eWxlPSJvcGFjaXR5OiAwLjA1OyI+Cisg
ICAgICAgICAgICA8ZW1iZWQgaWQ9Imxvd09wYWNpdHlQYXJlbnQiIGNsYXNzPSJzaG91bGRCZU9i
c2N1cmVkIiB0eXBlPSJhcHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0LW5ldHNjYXBlIj48L2VtYmVk
PgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBzdHlsZT0ib3BhY2l0eTogMC4yOyI+Cisg
ICAgICAgICAgICA8ZGl2IHN0eWxlPSJvcGFjaXR5OiAwLjI7Ij4KKyAgICAgICAgICAgICAgICA8
ZW1iZWQgaWQ9InN0YWNrZWRMb3dPcGFjaXR5UGFyZW50cyIgY2xhc3M9InNob3VsZEJlT2JzY3Vy
ZWQiIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUiPjwvZW1iZWQ+Cisg
ICAgICAgICAgICA8L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgc3R5bGU9Im9w
YWNpdHk6IDAuOTsiPgorICAgICAgICAgICAgPGRpdiBzdHlsZT0ib3BhY2l0eTogMC45OyI+Cisg
ICAgICAgICAgICAgICAgPGVtYmVkIGlkPSJzdGFja2VkSGlnaE9wYWNpdHlQYXJlbnRzIiBjbGFz
cz0ic2hvdWxkTm90QmVPYnNjdXJlZCIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1u
ZXRzY2FwZSI+PC9lbWJlZD4KKyAgICAgICAgICAgIDwvZGl2PgorICAgICAgICA8L2Rpdj4KKwor
ICAgICAgICA8IS0tIENsaXBwZWQgYnkgb3ZlcmZsb3cgLS0+CisgICAgICAgIDxkaXYgc3R5bGU9
IndpZHRoOiAyMHB4OyBvdmVyZmxvdzogaGlkZGVuOyI+CisgICAgICAgICAgICA8ZW1iZWQgaWQ9
ImNsaXBwZWRCeVBhcmVudCIgY2xhc3M9InNob3VsZEJlT2JzY3VyZWQiIHR5cGU9ImFwcGxpY2F0
aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUiPjwvZW1iZWQ+CisgICAgICAgIDwvZGl2PgorICAg
ICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogMjBweDsgb3ZlcmZsb3c6IHZpc2libGU7Ij4KKyAgICAg
ICAgICAgIDxlbWJlZCBpZD0ibm90Q2xpcHBlZEJ5UGFyZW50IiBjbGFzcz0ic2hvdWxkTm90QmVP
YnNjdXJlZCIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSI+PC9lbWJl
ZD4KKyAgICAgICAgPC9kaXY+CisKKyAgICAgICAgPCEtLSBIaWRkZW4gLS0+CisgICAgICAgIDxl
bWJlZCBpZD0idmlzaWJpbGl0eUhpZGRlbiIgY2xhc3M9InNob3VsZEJlT2JzY3VyZWQiIHR5cGU9
ImFwcGxpY2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUiIHN0eWxlPSJ2aXNpYmlsaXR5OiBo
aWRkZW47Ij48L2VtYmVkPgorICAgICAgICA8ZGl2IHN0eWxlPSJ2aXNpYmlsaXR5OiBoaWRkZW47
Ij4KKyAgICAgICAgICAgIDxlbWJlZCBpZD0idmlzaWJpbGl0eUhpZGRlbk9uUGFyZW50IiBjbGFz
cz0ic2hvdWxkQmVPYnNjdXJlZCIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRz
Y2FwZSI+PC9lbWJlZD4KKyAgICAgICAgPC9kaXY+CisKKyAgICAgICAgPCEtLSBDbGlja3MgYmxv
Y2tlZCB2aWEgcG9pbnRlci1ldmVudHM6IG5vbmUgLS0+CisgICAgICAgIDxlbWJlZCBpZD0icG9p
bnRlckV2ZW50c0Jsb2NrZWQiIGNsYXNzPSJzaG91bGRCZU9ic2N1cmVkIiB0eXBlPSJhcHBsaWNh
dGlvbi94LXdlYmtpdC10ZXN0LW5ldHNjYXBlIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7
Ij48L2VtYmVkPgorICAgICAgICA8ZGl2IHN0eWxlPSJwb2ludGVyLWV2ZW50czogbm9uZTsiPgor
ICAgICAgICAgICAgPGVtYmVkIGlkPSJwb2ludGVyRXZlbnRzQmxvY2tlZE9uUGFyZW50IiBjbGFz
cz0ic2hvdWxkQmVPYnNjdXJlZCIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRz
Y2FwZSI+PC9lbWJlZD4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRh
aW5lciI+CisgICAgICAgICAgICA8ZW1iZWQgaWQ9InBvaW50ZXJFdmVudHNCbG9ja2VkT25PYnNj
dXJpbmdTaWJsaW5nIiBjbGFzcz0ic2hvdWxkTm90QmVPYnNjdXJlZCIgdHlwZT0iYXBwbGljYXRp
b24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSI+PC9lbWJlZD4KKyAgICAgICAgICAgIDxkaXYgY2xh
c3M9ImNvdmVyIiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7Ij48L2Rpdj4KKyAgICAgICAg
PC9kaXY+CisKKyAgICAgICAgPCEtLSBPYnNjdXJlZCBieSBzaWJsaW5ncyAtLT4KKyAgICAgICAg
PGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICAgICAgICAgIDxlbWJlZCBpZD0ibGVmdEhhbGZP
YnNjdXJlZCIgY2xhc3M9InNob3VsZEJlT2JzY3VyZWQiIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Vi
a2l0LXRlc3QtbmV0c2NhcGUiPjwvZW1iZWQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb3Zl
ciIgc3R5bGU9IndpZHRoOiA1MCU7Ij48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxk
aXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgICAgICAgICA8ZW1iZWQgaWQ9InJpZ2h0SGFsZk9i
c2N1cmVkIiBjbGFzcz0ic2hvdWxkQmVPYnNjdXJlZCIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJr
aXQtdGVzdC1uZXRzY2FwZSI+PC9lbWJlZD4KKyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvdmVy
IiBzdHlsZT0id2lkdGg6IDUwJTsgbGVmdDogNTAlOyI+PC9kaXY+CisgICAgICAgIDwvZGl2Pgor
ICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgICAgICAgICAgPGVtYmVkIGlkPSJ0
b3BIYWxmT2JzY3VyZWQiIGNsYXNzPSJzaG91bGRCZU9ic2N1cmVkIiB0eXBlPSJhcHBsaWNhdGlv
bi94LXdlYmtpdC10ZXN0LW5ldHNjYXBlIj48L2VtYmVkPgorICAgICAgICAgICAgPGRpdiBjbGFz
cz0iY292ZXIiIHN0eWxlPSJoZWlnaHQ6IDUwJTsiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAg
ICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICAgICAgICAgIDxlbWJlZCBpZD0iYm90
dG9tSGFsZk9ic2N1cmVkIiBjbGFzcz0ic2hvdWxkQmVPYnNjdXJlZCIgdHlwZT0iYXBwbGljYXRp
b24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSI+PC9lbWJlZD4KKyAgICAgICAgICAgIDxkaXYgY2xh
c3M9ImNvdmVyIiBzdHlsZT0iaGVpZ2h0OiA1MCU7IHRvcDogNTAlOyI+PC9kaXY+CisgICAgICAg
IDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgorICAgICAgICAgICAgPGVt
YmVkIGlkPSJ0b3BRdWFydGVyT2JzY3VyZWQiIGNsYXNzPSJzaG91bGROb3RCZU9ic2N1cmVkIiB0
eXBlPSJhcHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0LW5ldHNjYXBlIj48L2VtYmVkPgorICAgICAg
ICAgICAgPGRpdiBjbGFzcz0iY292ZXIiIHN0eWxlPSJoZWlnaHQ6IDI1JTsiPjwvZGl2PgorICAg
ICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KKyAgICAgICAgICAg
IDxlbWJlZCBpZD0iYm90dG9tUXVhcnRlck9ic2N1cmVkIiBjbGFzcz0ic2hvdWxkTm90QmVPYnNj
dXJlZCIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSI+PC9lbWJlZD4K
KyAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvdmVyIiBzdHlsZT0iaGVpZ2h0OiAyNSU7IHRvcDog
NzUlOyI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJjb250YWlu
ZXIiPgorICAgICAgICAgICAgPGVtYmVkIGlkPSJjZW50ZXJPYnNjdXJlZCIgY2xhc3M9InNob3Vs
ZEJlT2JzY3VyZWQiIHR5cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUiPjwv
ZW1iZWQ+CisgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb3ZlciIgc3R5bGU9IndpZHRoOiAyMCU7
IGhlaWdodDogMjAlOyB0b3A6IDQwJTsgbGVmdDogNDAlOyI+PC9kaXY+CisgICAgICAgIDwvZGl2
PgorCisgICAgICAgIDwhLS0gT2JzY3VyZWQgYnkgc2Nyb2xsIGNsaXBwaW5nIC0tPgorICAgICAg
ICA8ZW1iZWQgaWQ9Im9mZlNjcmVlblRvcExlZnQiIGNsYXNzPSJzaG91bGRCZU9ic2N1cmVkIiB0
eXBlPSJhcHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0LW5ldHNjYXBlIiBzdHlsZT0icG9zaXRpb246
IGFic29sdXRlOyB0b3A6IC0xMDAwcHg7IGxlZnQ6IC0xMDAwcHg7Ij48L2VtYmVkPgorICAgICAg
ICA8ZW1iZWQgaWQ9Im9mZlNjcmVlblRvcCIgY2xhc3M9InNob3VsZEJlT2JzY3VyZWQiIHR5cGU9
ImFwcGxpY2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUiIHN0eWxlPSJwb3NpdGlvbjogYWJz
b2x1dGU7IHRvcDogLTEwMDBweDsgbGVmdDogMDsiPjwvZW1iZWQ+CisgICAgICAgIDxlbWJlZCBp
ZD0ib2ZmU2NyZWVuTGVmdCIgY2xhc3M9InNob3VsZEJlT2JzY3VyZWQiIHR5cGU9ImFwcGxpY2F0
aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUiIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHRv
cDogMDsgbGVmdDogLTEwMDBweDsiPjwvZW1iZWQ+CisKKyAgICAgICAgPGRpdiBpZD0ibG9nIj48
L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IGQ5NWUzNTUuLjhjMDRmYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBA
QAorMjAxMy0wNy0yMyAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKwor
ICAgICAgICBBZGQgYSB0ZXN0IGZvciBwbHVnLWluIHVuYXZhaWxhYmlsaXR5IGluZGljYXRvciBv
YnNjdXJpdHkgZGV0ZWN0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMTkwMDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBUZXN0OiBwbHVnaW5zL3VuYXZhaWxhYmxlLXBsdWdpbi1pbmRpY2F0b3Itb2Jz
Y3VyaXR5Lmh0bWwKKworICAgICAgICBFeHBvc2UgdGhlIGFiaWxpdHkgdG8gdGVzdCB3aGV0aGVy
IHRoZSB1bmF2YWlsYWJsZSBwbHVnaW4gaW5kaWNhdG9yCisgICAgICAgIGlzIG9ic2N1cmVkIHZp
YSB0aGUgaW50ZXJuYWxzIG9iamVjdC4KKworICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6aXNQbHVnaW5VbmF2YWlsYWJpbGl0eUlu
ZGljYXRvck9ic2N1cmVkKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKyAgICAgICAgRXhwb3NlIFJlbmRlckVtYmVkZGVk
T2JqZWN0Ojppc1JlcGxhY2VtZW50T2JzY3VyZWQgYXMKKyAgICAgICAgaW50ZXJuYWxzLmlzUGx1
Z2luVW5hdmFpbGFiaWxpdHlJbmRpY2F0b3JPYnNjdXJlZCBmb3IgdGVzdGluZyBwdXJwb3Nlcy4K
KwogMjAxMy0wNy0yMyAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW1NvdXBdIENsZWFuIHVwIGhlYWRlciBpbmNsdXNpb25zIGluIFJlc291cmNlUmVxdWVz
dChTb3VwKSwgU29ja2V0U3RyZWFtSGFuZGxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5j
cHAKaW5kZXggODA4NWUwMC4uZWVmYzkwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcApAQCAtNzgsNiArNzgsNyBAQAogI2luY2x1ZGUgIlByaW50Q29udGV4dC5oIgogI2luY2x1
ZGUgIlBzZXVkb0VsZW1lbnQuaCIKICNpbmNsdWRlICJSYW5nZS5oIgorI2luY2x1ZGUgIlJlbmRl
ckVtYmVkZGVkT2JqZWN0LmgiCiAjaW5jbHVkZSAiUmVuZGVyTWVudUxpc3QuaCIKICNpbmNsdWRl
ICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlICJSZW5kZXJUcmVlQXNUZXh0LmgiCkBAIC0yMTc1
LDQgKzIxNzYsMjEgQEAgYm9vbCBJbnRlcm5hbHM6OmlzVmlicmF0aW5nKCkKIH0KICNlbmRpZgog
Citib29sIEludGVybmFsczo6aXNQbHVnaW5VbmF2YWlsYWJpbGl0eUluZGljYXRvck9ic2N1cmVk
KEVsZW1lbnQqIGVsZW1lbnQsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghZWxlbWVu
dCkgeworICAgICAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIH0KKworICAgIFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSBlbGVtZW50LT5yZW5k
ZXJlcigpOworICAgIGlmICghcmVuZGVyZXIgfHwgIXJlbmRlcmVyLT5pc0VtYmVkZGVkT2JqZWN0
KCkpIHsKKyAgICAgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7CisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICB9CisKKyAgICBSZW5kZXJFbWJlZGRlZE9iamVjdCogZW1iZWQgPSB0b1JlbmRl
ckVtYmVkZGVkT2JqZWN0KHJlbmRlcmVyKTsKKyAgICByZXR1cm4gZW1iZWQtPmlzUmVwbGFjZW1l
bnRPYnNjdXJlZCgpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCAx
ZGQ5MDBhLi4yNWJhNDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTMyNSw2
ICszMjUsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1ZpYnJhdGluZygpOwogI2VuZGlmCiAKKyAg
ICBib29sIGlzUGx1Z2luVW5hdmFpbGFiaWxpdHlJbmRpY2F0b3JPYnNjdXJlZChFbGVtZW50Kiwg
RXhjZXB0aW9uQ29kZSYpOworCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEludGVybmFscyhEb2N1
bWVudCopOwogICAgIERvY3VtZW50KiBjb250ZXh0RG9jdW1lbnQoKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCBmOWQ4MzNkLi45NjIyZTUwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC0yNzYsNSArMjc2LDcgQEAKICAgICBib29sZWFu
IGlzVmlicmF0aW5nKCk7CiAjZW5kaWYKIAorICAgIFtSYWlzZXNFeGNlcHRpb25dIGJvb2xlYW4g
aXNQbHVnaW5VbmF2YWlsYWJpbGl0eUluZGljYXRvck9ic2N1cmVkKEVsZW1lbnQgZWxlbWVudCk7
CisKICAgICBbUmFpc2VzRXhjZXB0aW9uXSBDbGllbnRSZWN0IHNlbGVjdGlvbkJvdW5kcygpOwog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2Uv
YXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IDRhN2E0MTkuLjRhNjZhYzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90b29s
cy9zeW1ib2xzLmZpbHRlcgpAQCAtMzIzLDYgKzMyMyw3IEBAIF9aTjdXZWJDb3JlMTNTY3JpcHRH
Q0V2ZW50MTFnZXRIZWFwU2l6ZUVSTlNfOEhlYXBJbmZvRTsKIF9aTjdXZWJDb3JlMjhub3RJbXBs
ZW1lbnRlZExvZ2dpbmdDaGFubmVsRXY7CiBfWk43V2ViQ29yZTd0b1VJbnQ4RVBOM0pTQzlFeGVj
U3RhdGVFTlMwXzdKU1ZhbHVlRU5TXzMwSW50ZWdlckNvbnZlcnNpb25Db25maWd1cmF0aW9uRTsK
IF9aTjdXZWJDb3JlNnRvSW50OEVQTjNKU0M5RXhlY1N0YXRlRU5TMF83SlNWYWx1ZUVOU18zMElu
dGVnZXJDb252ZXJzaW9uQ29uZmlndXJhdGlvbkU7CitfWk5LN1dlYkNvcmUyMFJlbmRlckVtYmVk
ZGVkT2JqZWN0MjFpc1JlcGxhY2VtZW50T2JzY3VyZWRFdjsKIAogbG9jYWw6CiBfWio7CmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNjRmYzExOS4u
YmJmYTcxMyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTA3LTIzICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0
b25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhIHRlc3QgZm9yIHBsdWctaW4gdW5hdmFpbGFi
aWxpdHkgaW5kaWNhdG9yIG9ic2N1cml0eSBkZXRlY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExOTAwNworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4cG9zZSB0aGUgYWJpbGl0eSB0byBibG9jayBw
bHVnLWlucyB2aWEgcGx1Z2luTG9hZFBvbGljeSB0byB0ZXN0UnVubmVyLgorCisgICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbDoK
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3Bw
OgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpzZXRCbG9ja0FsbFBsdWdpbnMpOgorICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oOgorICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwOgorICAgICAgICAoV1RSOjpU
ZXN0SW52b2NhdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2VGcm9tSW5qZWN0ZWRCdW5kbGUpOgorICAg
ICAgICBBZGQgdGVzdFJ1bm5lci5zZXRCbG9ja0FsbFBsdWdpbnMgZnVuY3Rpb24gKGFuZCBjb3Jy
ZXNwb25kaW5nIG1lc3NhZ2UgdG8KKyAgICAgICAgZm9yd2FyZCBpdCB0aHJvdWdoIHRvIFRlc3RD
b250cm9sbGVyKS4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwOgorICAgICAgICBJbml0aWFsaXplIG1fc2hvdWxkQmxvY2tBbGxQbHVnaW5zIHRvIGZhbHNl
IChhbmQgZHJpdmUtYnkgaW5pdGlhbGl6ZSBtX2hhbmRsZXNBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZXMpLgorCisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpjcmVhdGVXZWJWaWV3V2l0aE9w
dGlvbnMpOgorICAgICAgICBSZWdpc3RlciBvdXIgcGx1Z2luTG9hZFBvbGljeSBjYWxsYmFjay4K
KworICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cmVzZXRTdGF0ZVRvQ29uc2lzdGVudFZh
bHVlcyk6CisgICAgICAgIFJlc2V0IG1fc2hvdWxkQmxvY2tBbGxQbHVnaW5zIHRvIGZhbHNlLgor
CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpwbHVnaW5Mb2FkUG9saWN5KToKKyAgICAg
ICAgUmV0dXJuIHRoZSBleGlzdGluZyBwbHVnaW4gbG9hZCBwb2xpY3ksIHVubGVzcyBzZXRCbG9j
a0FsbFBsdWdpbnModHJ1ZSkKKyAgICAgICAgd2FzIGNhbGxlZCwgaW4gd2hpY2ggY2FzZSB3ZSBy
ZWplY3QgYWxsIHBsdWdpbnMgd2l0aCBrV0tQbHVnaW5Mb2FkUG9saWN5QmxvY2tlZC4KKworICAg
ICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKFdUUjo6
VGVzdENvbnRyb2xsZXI6OnNldEJsb2NrQWxsUGx1Z2lucyk6CisKIDIwMTMtMDctMjEgIEFuZHJl
YXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIEtVUkwgY3JlYXRlcyBkdXBs
aWNhdGUgc3RyaW5ncyB3aGVuIGNvbXBsZXRpbmcgZGF0YTogVVJJcy4KZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5p
ZGwgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RS
dW5uZXIuaWRsCmluZGV4IGNlNjQ3ZTIuLmQxNGFiMmEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKKysrIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVy
LmlkbApAQCAtMTkwLDUgKzE5MCw4IEBAIGludGVyZmFjZSBUZXN0UnVubmVyIHsKIAogICAgIC8v
IFNlY3VyZSB0ZXh0IGlucHV0IG1vZGUgKE1hYyBvbmx5KQogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBib29sZWFuIHNlY3VyZUV2ZW50SW5wdXRJc0VuYWJsZWQ7CisgICAgCisgICAgLy8gT3ZlcnJp
ZGUgcGx1Z2luIGxvYWQgcG9saWN5LgorICAgIHZvaWQgc2V0QmxvY2tBbGxQbHVnaW5zKGJvb2xl
YW4gc2hvdWxkQmxvY2spOwogfTsKIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKaW5kZXggYTY5NjYwMC4uYmUwMTNmMiAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVy
LmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5u
ZXIuY3BwCkBAIC04MTIsNCArODEyLDExIEBAIGJvb2wgVGVzdFJ1bm5lcjo6c2VjdXJlRXZlbnRJ
bnB1dElzRW5hYmxlZCgpIGNvbnN0CiAgICAgcmV0dXJuIFdLQm9vbGVhbkdldFZhbHVlKHN0YXRp
Y19jYXN0PFdLQm9vbGVhblJlZj4ocmV0dXJuRGF0YSkpOwogfQogCit2b2lkIFRlc3RSdW5uZXI6
OnNldEJsb2NrQWxsUGx1Z2lucyhib29sIHNob3VsZEJsb2NrKQoreworICAgIFdLUmV0YWluUHRy
PFdLU3RyaW5nUmVmPiBtZXNzYWdlTmFtZShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4
Q1N0cmluZygiU2V0QmxvY2tBbGxQbHVnaW5zIikpOworICAgIFdLUmV0YWluUHRyPFdLQm9vbGVh
blJlZj4gbWVzc2FnZUJvZHkoQWRvcHRXSywgV0tCb29sZWFuQ3JlYXRlKHNob3VsZEJsb2NrKSk7
CisgICAgV0tCdW5kbGVQb3N0TWVzc2FnZShJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuYnVuZGxl
KCksIG1lc3NhZ2VOYW1lLmdldCgpLCBtZXNzYWdlQm9keS5nZXQoKSk7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdUUgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9UZXN0UnVubmVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L1Rlc3RSdW5uZXIuaAppbmRleCBlZjBlYThjLi4wYzkxNjQ1IDEwMDY0NAotLS0gYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaApAQCAtMTY2LDYgKzE2
Niw4IEBAIHB1YmxpYzoKICAgICAvLyBBdWRpbyB0ZXN0aW5nLgogICAgIHZvaWQgc2V0QXVkaW9S
ZXN1bHQoSlNDb250ZXh0UmVmLCBKU1ZhbHVlUmVmIGRhdGEpOwogCisgICAgdm9pZCBzZXRCbG9j
a0FsbFBsdWdpbnMoYm9vbCBzaG91bGRCbG9jayk7CisKICAgICBlbnVtIFdoYXRUb0R1bXAgeyBS
ZW5kZXJUcmVlLCBNYWluRnJhbWVUZXh0LCBBbGxGcmFtZXNUZXh0LCBBdWRpbywgRE9NQXNXZWJB
cmNoaXZlIH07CiAgICAgV2hhdFRvRHVtcCB3aGF0VG9EdW1wKCkgY29uc3QgeyByZXR1cm4gbV93
aGF0VG9EdW1wOyB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENv
bnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAK
aW5kZXggYzIzNDU2OS4uNjNlMDMzMCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29u
dHJvbGxlci5jcHAKQEAgLTExMiw2ICsxMTIsOCBAQCBUZXN0Q29udHJvbGxlcjo6VGVzdENvbnRy
b2xsZXIoaW50IGFyZ2MsIGNvbnN0IGNoYXIqIGFyZ3ZbXSkKICAgICAsIG1faXNHZW9sb2NhdGlv
blBlcm1pc3Npb25BbGxvd2VkKGZhbHNlKQogICAgICwgbV9wb2xpY3lEZWxlZ2F0ZUVuYWJsZWQo
ZmFsc2UpCiAgICAgLCBtX3BvbGljeURlbGVnYXRlUGVybWlzc2l2ZShmYWxzZSkKKyAgICAsIG1f
aGFuZGxlc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlcyhmYWxzZSkKKyAgICAsIG1fc2hvdWxkQmxv
Y2tBbGxQbHVnaW5zKGZhbHNlKQogewogICAgIGluaXRpYWxpemUoYXJnYywgYXJndik7CiAgICAg
Y29udHJvbGxlciA9IHRoaXM7CkBAIC00ODcsNyArNDg5LDcgQEAgdm9pZCBUZXN0Q29udHJvbGxl
cjo6Y3JlYXRlV2ViVmlld1dpdGhPcHRpb25zKFdLRGljdGlvbmFyeVJlZiBvcHRpb25zKQogICAg
ICAgICAwLCAvLyBkaWRMYXlvdXQKICAgICAgICAgMCwgLy8gcGx1Z2luTG9hZFBvbGljeV9kZXBy
ZWNhdGVkRm9yVXNlV2l0aFYyCiAgICAgICAgIDAsIC8vIHBsdWdpbkRpZEZhaWwKLSAgICAgICAg
MCwgLy8gcGx1Z2luTG9hZFBvbGljeQorICAgICAgICBwbHVnaW5Mb2FkUG9saWN5LCAvLyBwbHVn
aW5Mb2FkUG9saWN5CiAgICAgfTsKICAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KG1fbWFp
bldlYlZpZXctPnBhZ2UoKSwgJnBhZ2VMb2FkZXJDbGllbnQpOwogCkBAIC02MjUsNiArNjI3LDgg
QEAgYm9vbCBUZXN0Q29udHJvbGxlcjo6cmVzZXRTdGF0ZVRvQ29uc2lzdGVudFZhbHVlcygpCiAg
ICAgbV9hdXRoZW50aWNhdGlvblVzZXJuYW1lID0gU3RyaW5nKCk7CiAgICAgbV9hdXRoZW50aWNh
dGlvblBhc3N3b3JkID0gU3RyaW5nKCk7CiAKKyAgICBtX3Nob3VsZEJsb2NrQWxsUGx1Z2lucyA9
IGZhbHNlOworCiAgICAgLy8gUmVzZXQgbWFpbiBwYWdlIGJhY2sgdG8gYWJvdXQ6YmxhbmsKICAg
ICBtX2RvbmVSZXNldHRpbmcgPSBmYWxzZTsKIApAQCAtMTA3Nyw2ICsxMDgxLDE4IEBAIHZvaWQg
VGVzdENvbnRyb2xsZXI6OnByb2Nlc3NEaWRDcmFzaChXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9p
ZCogY2xpZW50SW5mbykKICAgICBzdGF0aWNfY2FzdDxUZXN0Q29udHJvbGxlcio+KGNvbnN0X2Nh
c3Q8dm9pZCo+KGNsaWVudEluZm8pKS0+cHJvY2Vzc0RpZENyYXNoKCk7CiB9CiAKK1dLUGx1Z2lu
TG9hZFBvbGljeSBUZXN0Q29udHJvbGxlcjo6cGx1Z2luTG9hZFBvbGljeShXS1BhZ2VSZWYgcGFn
ZSwgV0tQbHVnaW5Mb2FkUG9saWN5IGN1cnJlbnRQbHVnaW5Mb2FkUG9saWN5LCBXS0RpY3Rpb25h
cnlSZWYgcGx1Z2luSW5mb3JtYXRpb24sIFdLU3RyaW5nUmVmKiB1bmF2YWlsYWJpbGl0eURlc2Ny
aXB0aW9uLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQoreworICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxUZXN0Q29udHJvbGxlcio+KGNvbnN0X2Nhc3Q8dm9pZCo+KGNsaWVudEluZm8pKS0+cGx1Z2lu
TG9hZFBvbGljeShwYWdlLCBjdXJyZW50UGx1Z2luTG9hZFBvbGljeSwgcGx1Z2luSW5mb3JtYXRp
b24sIHVuYXZhaWxhYmlsaXR5RGVzY3JpcHRpb24pOworfQorCitXS1BsdWdpbkxvYWRQb2xpY3kg
VGVzdENvbnRyb2xsZXI6OnBsdWdpbkxvYWRQb2xpY3koV0tQYWdlUmVmLCBXS1BsdWdpbkxvYWRQ
b2xpY3kgY3VycmVudFBsdWdpbkxvYWRQb2xpY3ksIFdLRGljdGlvbmFyeVJlZiBwbHVnaW5JbmZv
cm1hdGlvbiwgV0tTdHJpbmdSZWYqIHVuYXZhaWxhYmlsaXR5RGVzY3JpcHRpb24pCit7CisgICAg
aWYgKG1fc2hvdWxkQmxvY2tBbGxQbHVnaW5zKQorICAgICAgICByZXR1cm4ga1dLUGx1Z2luTG9h
ZFBvbGljeUJsb2NrZWQ7CisgICAgcmV0dXJuIGN1cnJlbnRQbHVnaW5Mb2FkUG9saWN5OworfQor
CiB2b2lkIFRlc3RDb250cm9sbGVyOjpkaWRDb21taXRMb2FkRm9yRnJhbWUoV0tQYWdlUmVmIHBh
Z2UsIFdLRnJhbWVSZWYgZnJhbWUpCiB7CiAgICAgaWYgKCFXS0ZyYW1lSXNNYWluRnJhbWUoZnJh
bWUpKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5o
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCmluZGV4IGRlZTI2ODMu
LmY2ZGViZGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xs
ZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKQEAgLTk4
LDYgKzk4LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0QXV0aGVudGljYXRpb25Vc2VybmFtZShT
dHJpbmcgdXNlcm5hbWUpIHsgbV9hdXRoZW50aWNhdGlvblVzZXJuYW1lID0gdXNlcm5hbWU7IH0K
ICAgICB2b2lkIHNldEF1dGhlbnRpY2F0aW9uUGFzc3dvcmQoU3RyaW5nIHBhc3N3b3JkKSB7IG1f
YXV0aGVudGljYXRpb25QYXNzd29yZCA9IHBhc3N3b3JkOyB9CiAKKyAgICB2b2lkIHNldEJsb2Nr
QWxsUGx1Z2lucyhib29sIHNob3VsZEJsb2NrKSB7IG1fc2hvdWxkQmxvY2tBbGxQbHVnaW5zID0g
c2hvdWxkQmxvY2s7IH0KKwogcHJpdmF0ZToKICAgICB2b2lkIGluaXRpYWxpemUoaW50IGFyZ2Ms
IGNvbnN0IGNoYXIqIGFyZ3ZbXSk7CiAgICAgdm9pZCBjcmVhdGVXZWJWaWV3V2l0aE9wdGlvbnMo
V0tEaWN0aW9uYXJ5UmVmKTsKQEAgLTEzNCw2ICsxMzYsMTAgQEAgcHJpdmF0ZToKICAgICBzdGF0
aWMgdm9pZCBwcm9jZXNzRGlkQ3Jhc2goV0tQYWdlUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KTsKICAgICB2b2lkIHByb2Nlc3NEaWRDcmFzaCgpOwogCisgICAgc3RhdGljIFdLUGx1Z2luTG9h
ZFBvbGljeSBwbHVnaW5Mb2FkUG9saWN5KFdLUGFnZVJlZiwgV0tQbHVnaW5Mb2FkUG9saWN5IGN1
cnJlbnRQbHVnaW5Mb2FkUG9saWN5LCBXS0RpY3Rpb25hcnlSZWYgcGx1Z2luSW5mb3JtYXRpb24s
IFdLU3RyaW5nUmVmKiB1bmF2YWlsYWJpbGl0eURlc2NyaXB0aW9uLCBjb25zdCB2b2lkKiBjbGll
bnRJbmZvKTsKKyAgICBXS1BsdWdpbkxvYWRQb2xpY3kgcGx1Z2luTG9hZFBvbGljeShXS1BhZ2VS
ZWYsIFdLUGx1Z2luTG9hZFBvbGljeSBjdXJyZW50UGx1Z2luTG9hZFBvbGljeSwgV0tEaWN0aW9u
YXJ5UmVmIHBsdWdpbkluZm9ybWF0aW9uLCBXS1N0cmluZ1JlZiogdW5hdmFpbGFiaWxpdHlEZXNj
cmlwdGlvbik7CisgICAgCisKICAgICBzdGF0aWMgdm9pZCBkZWNpZGVQb2xpY3lGb3JOb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdChXS1BhZ2VSZWYsIFdLU2VjdXJpdHlPcmlnaW5SZWYsIFdL
Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RSZWYsIGNvbnN0IHZvaWQqKTsKICAgICB2b2lk
IGRlY2lkZVBvbGljeUZvck5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0KFdLUGFnZVJlZiwg
V0tTZWN1cml0eU9yaWdpblJlZiwgV0tOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdFJlZik7
CiAKQEAgLTIwNyw2ICsyMTMsOCBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX2F1dGhlbnRpY2F0
aW9uVXNlcm5hbWU7CiAgICAgU3RyaW5nIG1fYXV0aGVudGljYXRpb25QYXNzd29yZDsKIAorICAg
IGJvb2wgbV9zaG91bGRCbG9ja0FsbFBsdWdpbnM7CisKICNpZiBQTEFURk9STShNQUMpIHx8IFBM
QVRGT1JNKFFUKSB8fCBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVGTCkKICAgICBPd25QdHI8
RXZlbnRTZW5kZXJQcm94eT4gbV9ldmVudFNlbmRlclByb3h5OwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcCBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCmluZGV4IGNlOWY1NTEuLjY5MjM2YmYgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCkBAIC02NTEsNiArNjUx
LDEzIEBAIHZvaWQgVGVzdEludm9jYXRpb246OmRpZFJlY2VpdmVNZXNzYWdlRnJvbUluamVjdGVk
QnVuZGxlKFdLU3RyaW5nUmVmIG1lc3NhZ2VOYW1lCiAgICAgICAgIHJldHVybjsKICAgICB9CiAK
KyAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFtZSwgIlNldEJs
b2NrQWxsUGx1Z2lucyIpKSB7CisgICAgICAgIEFTU0VSVChXS0dldFR5cGVJRChtZXNzYWdlQm9k
eSkgPT0gV0tCb29sZWFuR2V0VHlwZUlEKCkpOworICAgICAgICBXS0Jvb2xlYW5SZWYgc2hvdWxk
QmxvY2sgPSBzdGF0aWNfY2FzdDxXS0Jvb2xlYW5SZWY+KG1lc3NhZ2VCb2R5KTsKKyAgICAgICAg
VGVzdENvbnRyb2xsZXI6OnNoYXJlZCgpLnNldEJsb2NrQWxsUGx1Z2lucyhXS0Jvb2xlYW5HZXRW
YWx1ZShzaG91bGRCbG9jaykpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CiB9CiAK
</data>
<flag name="review"
          id="229118"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>