<?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>151135</bug_id>
          
          <creation_ts>2015-11-11 06:56:29 -0800</creation_ts>
          <short_desc>[XvfbDriver] Fail to run all layout tests when X server started with -displayfd option</short_desc>
          <delta_ts>2015-11-18 03:03:46 -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>Tools / Tests</component>
          <version>WebKit Local 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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>glenn</cc>
    
    <cc>lforschler</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ossy</cc>
    
    <cc>pnormand</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1141096</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-11 06:56:29 -0800</bug_when>
    <thetext>Since my last debian update my xserver no longer uses the :&lt;display-id&gt; option, but -displayfd. The XvfbDriver uses the x server command line to check the displayas that are currently in use. This doesn&apos;t work when x server was satarted with -displayfd. This option is used to let the server find the display id available and it&apos;s written to the given file descriptor. With this option xord doesn&apos;t need to create the lock files in tmp either. The -displayfd option is also available in XVfb, so we could use it too when available. That would simplify the code, fixing also race conditions between we check for available displays and XVfb opens the connection, we wouldn&apos;t need to wait for 4 seconds after launching XVfb, and all lock files we are using won&apos;t be needed either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141097</commentid>
    <comment_count>1</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-11 06:57:34 -0800</bug_when>
    <thetext>cgarcia   1245  1.6  2.5 1118548 416480 tty2   Sl+  08:08   7:44 /usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1001/gdm/Xauthority -nolisten tcp -background none -noreset -keeptty -verbose 3
carlos   29750  0.0  0.2 479492 48224 tty3     Sl+  11:27   0:02 /usr/lib/xorg/Xorg vt3 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -nolisten tcp -background none -noreset -keeptty -verbose 3

this is how Xorg is run in my laptop</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141099</commentid>
    <comment_count>2</comment_count>
      <attachid>265284</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-11 07:03:01 -0800</bug_when>
    <thetext>Created attachment 265284
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141101</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-11 07:04:54 -0800</bug_when>
    <thetext>Attachment 265284 did not pass style-queue:


ERROR: Tools/Scripts/webkitpy/port/xvfbdriver.py:82:  multiple imports on one line  [pep8/E401] [5]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141440</commentid>
    <comment_count>4</comment_count>
      <attachid>265377</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-12 03:23:45 -0800</bug_when>
    <thetext>Created attachment 265377
Fix coding style</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1141826</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-13 05:45:46 -0800</bug_when>
    <thetext>ping reviewers, it&apos;s a bit annoying having to keep this patch around locally to be able to run the tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142059</commentid>
    <comment_count>6</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-11-14 11:38:44 -0800</bug_when>
    <thetext>Is running Xvfb via displayfd required or is that now supported because it can be run that way?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142169</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-15 23:39:10 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Is running Xvfb via displayfd required or is that now supported because it
&gt; can be run that way?

It&apos;s not required, but there&apos;s no easy way to get a list of display ids currently used when xorg itself is run with displayfd. However, using displayfd we don&apos;t need that list at all and it fixes other issues of the current model.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142174</commentid>
    <comment_count>8</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-11-15 23:53:39 -0800</bug_when>
    <thetext>Would it be possible to just switch to only using displayfd? How recent is this flag?

Having two ways to run this isn&apos;t optimal. BUt if you add some test cases in xvfbdriver_unittest.py I guess it&apos;s not that big of a deal either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142176</commentid>
    <comment_count>9</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-15 23:57:07 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; Would it be possible to just switch to only using displayfd? How recent is
&gt; this flag?
&gt; 
&gt; Having two ways to run this isn&apos;t optimal. BUt if you add some test cases in
&gt; xvfbdriver_unittest.py I guess it&apos;s not that big of a deal either.

I agree, and I thought about it, but since I was not sure (and didn&apos;t have much time) I took the safest approach. I&apos;ll check when displayfd was added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142177</commentid>
    <comment_count>10</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-11-15 23:58:51 -0800</bug_when>
    <thetext>Would it be possible to just switch to only using displayfd? How recent is this flag?

Having two ways to run this isn&apos;t optimal, but please at least add some test cases in xvfbdriver_unittest.py.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142200</commentid>
    <comment_count>11</comment_count>
      <attachid>265579</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-16 02:20:55 -0800</bug_when>
    <thetext>Created attachment 265579
Updated patch

The displayfd option is available in Xvfb since 3 years ago, so I&apos;ve removed the old code and updated the unit tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142540</commentid>
    <comment_count>12</comment_count>
      <attachid>265579</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-11-17 08:18:06 -0800</bug_when>
    <thetext>Comment on attachment 265579
Updated patch

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142781</commentid>
    <comment_count>13</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-18 01:05:26 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; Comment on attachment 265579 [details]
&gt; Updated patch
&gt; 
&gt; rs=me

Thanks Darin.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142782</commentid>
    <comment_count>14</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-18 01:05:40 -0800</bug_when>
    <thetext>Committed r192568: &lt;http://trac.webkit.org/changeset/192568&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142787</commentid>
    <comment_count>15</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-18 01:28:48 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; Created attachment 265579 [details]
&gt; Updated patch
&gt; 
&gt; The displayfd option is available in Xvfb since 3 years ago, so I&apos;ve removed
&gt; the old code and updated the unit tests.

I had forgotten that we build our own xserver, so we are not using Xvfb from the distro but from the jhbuild env. And the version we build 1.12.0 (released in March 2012) doesn&apos;t have the displayfd option. This shouldn&apos;t be a problem for EFL since they don&apos;t build xserver. So, I think it&apos;s better to just update xserver to a newer version or stop building our own.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142790</commentid>
    <comment_count>16</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-11-18 02:34:10 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; Committed r192568: &lt;http://trac.webkit.org/changeset/192568&gt;

I have no idea how and why, but it broke the 
webkitpy test script on the Apple Mac bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142792</commentid>
    <comment_count>17</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-18 02:37:00 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #14)
&gt; &gt; Committed r192568: &lt;http://trac.webkit.org/changeset/192568&gt;
&gt; 
&gt; I have no idea how and why, but it broke the 
&gt; webkitpy test script on the Apple Mac bots.

Oh, I&apos;ll check that too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142794</commentid>
    <comment_count>18</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-18 02:42:40 -0800</bug_when>
    <thetext>I can reproduce it locally, I&apos;m investigating.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1142796</commentid>
    <comment_count>19</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-11-18 03:03:46 -0800</bug_when>
    <thetext>Python tests should be fixed in r192569.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265284</attachid>
            <date>2015-11-11 07:03:01 -0800</date>
            <delta_ts>2015-11-12 03:23:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wtr-displayfd.diff</filename>
            <type>text/plain</type>
            <size>6820</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxMzAy
NWY0Li43YTA0NGQ3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTUtMTEtMTEgIENhcmxvcyBHYXJjaWEgQ2FtcG9z
ICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtYdmZiRHJpdmVyXSBGYWlsIHRvIHJ1
biBhbGwgbGF5b3V0IHRlc3RzIHdoZW4gWCBzZXJ2ZXIgc3RhcnRlZCB3aXRoIC1kaXNwbGF5ZmQg
b3B0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NTExMzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGUgWHZmYkRyaXZlciB1c2VzIHRoZSB4IHNlcnZlciBjb21tYW5kIGxpbmUgdG8gY2hlY2sgdGhl
CisgICAgICAgIGRpc3BsYXlzIHRoYXQgYXJlIGN1cnJlbnRseSBpbiB1c2UuIFRoaXMgZG9lc24n
dCB3b3JrIHdoZW4gWAorICAgICAgICBzZXJ2ZXIgd2FzIHN0YXJ0ZWQgd2l0aCAtZGlzcGxheWZk
IG9wdGlvbi4gVGhpcyBvcHRpb24gaXMgdXNlZCB0byBsZXQKKyAgICAgICAgdGhlIHNlcnZlciBm
aW5kIHRoZSBkaXNwbGF5IGlkIGF2YWlsYWJsZSB0aGF0IGlzIHdyaXR0ZW4gdG8gdGhlCisgICAg
ICAgIGdpdmVuIGZpbGUgZGVzY3JpcHRvci4gV2l0aCB0aGlzIG9wdGlvbiB4b3JnIGRvZXNuJ3Qg
bmVlZCB0bworICAgICAgICBjcmVhdGUgdGhlIGxvY2sgZmlsZXMgaW4gdG1wIGVpdGhlci4gVGhl
IC1kaXNwbGF5ZmQgb3B0aW9uIGlzIGFsc28KKyAgICAgICAgYXZhaWxhYmxlIGluIFh2ZmIsIHNv
IHdlIGNvdWxkIHVzZSBpdCB0b28gd2hlbiBhdmFpbGFibGUuIFRoYXQKKyAgICAgICAgd291bGQg
c2ltcGxpZnkgdGhlIGNvZGUsIGZpeGluZyBhbHNvIHJhY2UgY29uZGl0aW9ucyBiZXR3ZWVuIHRo
ZQorICAgICAgICBjaGVjayBmb3IgYXZhaWxhYmxlIGRpc3BsYXlzIGFuZCBYdmZiIG9wZW5pbmcg
dGhlIGNvbm5lY3Rpb24sIHdlCisgICAgICAgIHdvdWxkbid0IG5lZWQgdG8gd2FpdCBmb3IgNCBz
ZWNvbmRzIGFmdGVyIGxhdW5jaGluZyBYdmZiLCBhbmQgYWxsCisgICAgICAgIGxvY2sgZmlsZXMg
d2UgYXJlIHVzaW5nIHdvbid0IGJlIG5lZWRlZCBlaXRoZXIuCisKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlci5weToKKyAgICAgICAgKFh2ZmJEcml2ZXIuX3h2ZmJf
c3VwcG9ydHNfZGlzcGxheWZkKTogSGVscGVyIGZ1bmN0aW9uIHRvIGRldGVjdAorICAgICAgICBp
ZiBYdmZiIHN1cHBvcnRzIC1kaXNwbGF5ZmQgb3B0aW9uLgorICAgICAgICAoWHZmYkRyaXZlci5f
eHZmYl9ydW5fd2l0aF9kaXNwbGF5ZmQpOiBSdW4gWHZmYiB3aXRoIC1kaXNwbGF5ZmQKKyAgICAg
ICAgb3B0aW9uLCB1c2luZyBhIHBpcGUgdG8gcmVhZCB0aGUgZGlzcGxheSBpZC4KKyAgICAgICAg
KFh2ZmJEcml2ZXIuX3h2ZmJfcnVuX2Zvcl9kaXNwbGF5KTogUnVuIFh2ZmIgZm9yIHRoZSBnaXZl
biBkaXNwbGF5CisgICAgICAgIGlkLCBhcyB3ZSBoYXZlIGFsd2F5cyBkb25lLgorICAgICAgICAo
WHZmYkRyaXZlci5fc3RhcnQpOiBVc2UgX3h2ZmJfcnVuX3dpdGhfZGlzcGxheWZkIHdoZW4gc3Vw
cG9ydGVkLgorICAgICAgICAoWHZmYkRyaXZlci5zdG9wKTogQ2hlY2sgaWYgbG9jayBmaWxlIHBy
b3BlcnRpZXMgZXhpc3QgYmVmb3JlCisgICAgICAgIHVzaW5nIHRoZW0uCisKIDIwMTUtMTEtMTAg
IERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFRlYWNoIE1ha2Vm
aWxlIHRvIGJ1aWxkIExheW91dFRlc3RSZWxheSB3aGVuIGJ1aWxkaW5nIGZvciBpT1MgU2ltdWxh
dG9yCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlci5w
eSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyLnB5CmluZGV4IGI2Njk0
OGEuLjA3NWU2MDQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZi
ZHJpdmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyLnB5
CkBAIC02OSwyNSArNjksNDQgQEAgY2xhc3MgWHZmYkRyaXZlcihEcml2ZXIpOgogICAgICAgICAg
ICAgICAgIGlmIHNlbGYuX2d1YXJkX2xvY2suYWNxdWlyZV9sb2NrKCk6CiAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBpCiAKLSAgICBkZWYgX3h2ZmJfc2NyZWVuX2RlcHRoKHNlbGYpOgotICAg
ICAgICByZXR1cm4gb3MuZW52aXJvbi5nZXQoJ1hWRkJfU0NSRUVOX0RFUFRIJywgJzI0JykKKyAg
ICBkZWYgX3h2ZmJfc3VwcG9ydHNfZGlzcGxheWZkKHNlbGYpOgorICAgICAgICB4dmZiX29wdGlv
bnMgPSBzZWxmLl9wb3J0Lmhvc3QuZXhlY3V0aXZlLnJ1bl9jb21tYW5kKFsnWHZmYicsICctaGVs
cCddKQorICAgICAgICByZXR1cm4gJy1kaXNwbGF5ZmQnIGluIHh2ZmJfb3B0aW9ucwogCi0gICAg
ZGVmIF9zdGFydChzZWxmLCBwaXhlbF90ZXN0cywgcGVyX3Rlc3RfYXJncyk6Ci0gICAgICAgIHNl
bGYuc3RvcCgpCisgICAgZGVmIF94dmZiX3J1bl93aXRoX2Rpc3BsYXlmZChzZWxmLCBlbnZpcm9u
bWVudCk6CisgICAgICAgIHJlYWRfZmQsIHdyaXRlX2ZkID0gb3MucGlwZSgpCisgICAgICAgIHJ1
bl94dmZiID0gWyJYdmZiIiwgIi1kaXNwbGF5ZmQiLCBzdHIod3JpdGVfZmQpLCAiLXNjcmVlbiIs
ICAiMCIsICIxMDI0eDc2OHglcyIgJSBzZWxmLl94dmZiX3NjcmVlbl9kZXB0aCgpLCAiLW5vbGlz
dGVuIiwgInRjcCJdCisgICAgICAgIGlmIHNlbGYuX3BvcnQuX3Nob3VsZF91c2VfamhidWlsZCgp
OgorICAgICAgICAgICAgcnVuX3h2ZmIgPSBzZWxmLl9wb3J0Ll9qaGJ1aWxkX3dyYXBwZXIgKyBy
dW5feHZmYgorICAgICAgICB3aXRoIG9wZW4ob3MuZGV2bnVsbCwgJ3cnKSBhcyBkZXZudWxsOgor
ICAgICAgICAgICAgaW1wb3J0IHNlbGVjdCwgZXJybm8KIAotICAgICAgICAjIFVzZSBldmVuIGRp
c3BsYXlzIGZvciBwaXhlbCB0ZXN0cyBhbmQgb2RkIG9uZXMgb3RoZXJ3aXNlLiBXaGVuIHBpeGVs
IHRlc3RzIGFyZSBkaXNhYmxlZCwKLSAgICAgICAgIyBEcml2ZXJQcm94eSBjcmVhdGVzIHR3byBk
cml2ZXJzLCBvbmUgZm9yIG5vcm1hbCBhbmQgdGhlIG90aGVyIGZvciByZWYgdGVzdHMuIEJvdGgg
aGF2ZQotICAgICAgICAjIHRoZSBzYW1lIHdvcmtlciBudW1iZXIsIHNvIHRoaXMgcHJldmVudHMg
dGhlbSBmcm9tIHVzaW5nIHRoZSBzYW1lIFh2ZmIgaW5zdGFuY2UuCi0gICAgICAgIGRpc3BsYXlf
aWQgPSBzZWxmLl9uZXh0X2ZyZWVfZGlzcGxheSgpCisgICAgICAgICAgICBzZWxmLl94dmZiX3By
b2Nlc3MgPSBzZWxmLl9wb3J0Lmhvc3QuZXhlY3V0aXZlLnBvcGVuKHJ1bl94dmZiLCBzdGRlcnI9
ZGV2bnVsbCwgZW52PWVudmlyb25tZW50KQorICAgICAgICAgICAgZmRfc2V0ID0gW3JlYWRfZmRd
CisgICAgICAgICAgICB3aGlsZSBmZF9zZXQ6CisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAg
ICAgICAgICAgICAgICBmZF9saXN0ID0gc2VsZWN0LnNlbGVjdChmZF9zZXQsIFtdLCBbXSlbMF0K
KyAgICAgICAgICAgICAgICBleGNlcHQgc2VsZWN0LmVycm9yLCBlOgorICAgICAgICAgICAgICAg
ICAgICBpZiBlLmFyZ3NbMF0gPT0gZXJybm8uRUlOVFI6CisgICAgICAgICAgICAgICAgICAgICAg
ICBjb250aW51ZQorICAgICAgICAgICAgICAgICAgICByYWlzZQorCisgICAgICAgICAgICAgICAg
aWYgcmVhZF9mZCBpbiBmZF9saXN0OgorICAgICAgICAgICAgICAgICAgICAjIFdlIG9ubHkgZXhw
ZWN0IGEgbnVtYmVyLCBzbyBmaXJzdCByZWFkIHNob3VsZCBiZSBlbm91Z2guCisgICAgICAgICAg
ICAgICAgICAgIGRpc3BsYXlfaWQgPSBvcy5yZWFkKHJlYWRfZmQsIDI1Nikuc3RyaXAoJ1xuJykK
KyAgICAgICAgICAgICAgICAgICAgZmRfc2V0ID0gW10KKworICAgICAgICBvcy5jbG9zZShyZWFk
X2ZkKQorICAgICAgICBvcy5jbG9zZSh3cml0ZV9mZCkKKworICAgICAgICByZXR1cm4gaW50KGRp
c3BsYXlfaWQpCisKKyAgICBkZWYgX3h2ZmJfcnVuX2Zvcl9kaXNwbGF5KHNlbGYsIGVudmlyb25t
ZW50LCBkaXNwbGF5X2lkKToKICAgICAgICAgc2VsZi5fbG9ja19maWxlID0gIi90bXAvLlglZC1s
b2NrIiAlIGRpc3BsYXlfaWQKIAotICAgICAgICBzZXJ2ZXJfbmFtZSA9IHNlbGYuX3BvcnQuZHJp
dmVyX25hbWUoKQotICAgICAgICBlbnZpcm9ubWVudCA9IHNlbGYuX3BvcnQuc2V0dXBfZW52aXJv
bl9mb3Jfc2VydmVyKHNlcnZlcl9uYW1lKQotCiAgICAgICAgIHJ1bl94dmZiID0gWyJYdmZiIiwg
IjolZCIgJSBkaXNwbGF5X2lkLCAiLXNjcmVlbiIsICAiMCIsICIxMDI0eDc2OHglcyIgJSBzZWxm
Ll94dmZiX3NjcmVlbl9kZXB0aCgpLCAiLW5vbGlzdGVuIiwgInRjcCJdCi0KICAgICAgICAgaWYg
c2VsZi5fcG9ydC5fc2hvdWxkX3VzZV9qaGJ1aWxkKCk6Ci0gICAgICAgICAgICAgICAgcnVuX3h2
ZmIgPSBzZWxmLl9wb3J0Ll9qaGJ1aWxkX3dyYXBwZXIgKyBydW5feHZmYgorICAgICAgICAgICAg
cnVuX3h2ZmIgPSBzZWxmLl9wb3J0Ll9qaGJ1aWxkX3dyYXBwZXIgKyBydW5feHZmYgogCiAgICAg
ICAgIHdpdGggb3Blbihvcy5kZXZudWxsLCAndycpIGFzIGRldm51bGw6CiAgICAgICAgICAgICBz
ZWxmLl94dmZiX3Byb2Nlc3MgPSBzZWxmLl9wb3J0Lmhvc3QuZXhlY3V0aXZlLnBvcGVuKHJ1bl94
dmZiLCBzdGRlcnI9ZGV2bnVsbCwgZW52PWVudmlyb25tZW50KQpAQCAtOTYsNiArMTE1LDI0IEBA
IGNsYXNzIFh2ZmJEcml2ZXIoRHJpdmVyKToKICAgICAgICAgIyB3b3JrZXIgYmVjYXVzZSB0aGUg
WHZmYiBkaXNwbGF5IGlzbid0IHJlYWR5IHlldC4gSGFsdGluZyBleGVjdXRpb24gYSBiaXQgc2hv
dWxkIGF2b2lkIHRoYXQuCiAgICAgICAgIHRpbWUuc2xlZXAoc2VsZi5fc3RhcnR1cF9kZWxheV9z
ZWNzKQogCisgICAgZGVmIF94dmZiX3NjcmVlbl9kZXB0aChzZWxmKToKKyAgICAgICAgcmV0dXJu
IG9zLmVudmlyb24uZ2V0KCdYVkZCX1NDUkVFTl9ERVBUSCcsICcyNCcpCisKKyAgICBkZWYgX3N0
YXJ0KHNlbGYsIHBpeGVsX3Rlc3RzLCBwZXJfdGVzdF9hcmdzKToKKyAgICAgICAgc2VsZi5zdG9w
KCkKKworICAgICAgICBzZXJ2ZXJfbmFtZSA9IHNlbGYuX3BvcnQuZHJpdmVyX25hbWUoKQorICAg
ICAgICBlbnZpcm9ubWVudCA9IHNlbGYuX3BvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKHNl
cnZlcl9uYW1lKQorCisgICAgICAgIGlmIHNlbGYuX3h2ZmJfc3VwcG9ydHNfZGlzcGxheWZkKCk6
CisgICAgICAgICAgICBkaXNwbGF5X2lkID0gc2VsZi5feHZmYl9ydW5fd2l0aF9kaXNwbGF5ZmQo
ZW52aXJvbm1lbnQpCisgICAgICAgIGVsc2U6CisgICAgICAgICAgICAjIFVzZSBldmVuIGRpc3Bs
YXlzIGZvciBwaXhlbCB0ZXN0cyBhbmQgb2RkIG9uZXMgb3RoZXJ3aXNlLiBXaGVuIHBpeGVsIHRl
c3RzIGFyZSBkaXNhYmxlZCwKKyAgICAgICAgICAgICMgRHJpdmVyUHJveHkgY3JlYXRlcyB0d28g
ZHJpdmVycywgb25lIGZvciBub3JtYWwgYW5kIHRoZSBvdGhlciBmb3IgcmVmIHRlc3RzLiBCb3Ro
IGhhdmUKKyAgICAgICAgICAgICMgdGhlIHNhbWUgd29ya2VyIG51bWJlciwgc28gdGhpcyBwcmV2
ZW50cyB0aGVtIGZyb20gdXNpbmcgdGhlIHNhbWUgWHZmYiBpbnN0YW5jZS4KKyAgICAgICAgICAg
IGRpc3BsYXlfaWQgPSBzZWxmLl9uZXh0X2ZyZWVfZGlzcGxheSgpCisgICAgICAgICAgICBzZWxm
Ll94dmZiX3J1bl9mb3JfZGlzcGxheShlbnZpcm9ubWVudCwgZGlzcGxheV9pZCkKKwogICAgICAg
ICAjIFdlIG11c3QgZG8gdGhpcyBoZXJlIGJlY2F1c2UgdGhlIERJU1BMQVkgbnVtYmVyIGRlcGVu
ZHMgb24gX3dvcmtlcl9udW1iZXIKICAgICAgICAgZW52aXJvbm1lbnRbJ0RJU1BMQVknXSA9ICI6
JWQiICUgZGlzcGxheV9pZAogICAgICAgICBzZWxmLl9kcml2ZXJfdGVtcGRpciA9IHNlbGYuX3Bv
cnQuaG9zdC5maWxlc3lzdGVtLm1rZHRlbXAocHJlZml4PSclcy0nICUgc2VsZi5fcG9ydC5kcml2
ZXJfbmFtZSgpKQpAQCAtMTE1LDExICsxNTIsMTIgQEAgY2xhc3MgWHZmYkRyaXZlcihEcml2ZXIp
OgogCiAgICAgZGVmIHN0b3Aoc2VsZik6CiAgICAgICAgIHN1cGVyKFh2ZmJEcml2ZXIsIHNlbGYp
LnN0b3AoKQotICAgICAgICBpZiBzZWxmLl9ndWFyZF9sb2NrOgorICAgICAgICBpZiBnZXRhdHRy
KHNlbGYsICdfZ3VhcmRfbG9jaycsIE5vbmUpOgogICAgICAgICAgICAgc2VsZi5fZ3VhcmRfbG9j
ay5yZWxlYXNlX2xvY2soKQogICAgICAgICAgICAgc2VsZi5fZ3VhcmRfbG9jayA9IE5vbmUKICAg
ICAgICAgaWYgZ2V0YXR0cihzZWxmLCAnX3h2ZmJfcHJvY2VzcycsIE5vbmUpOgogICAgICAgICAg
ICAgc2VsZi5fcG9ydC5ob3N0LmV4ZWN1dGl2ZS5raWxsX3Byb2Nlc3Moc2VsZi5feHZmYl9wcm9j
ZXNzLnBpZCkKICAgICAgICAgICAgIHNlbGYuX3h2ZmJfcHJvY2VzcyA9IE5vbmUKLSAgICAgICAg
ICAgIGlmIHNlbGYuX3BvcnQuaG9zdC5maWxlc3lzdGVtLmV4aXN0cyhzZWxmLl9sb2NrX2ZpbGUp
OgotICAgICAgICAgICAgICAgIHNlbGYuX3BvcnQuaG9zdC5maWxlc3lzdGVtLnJlbW92ZShzZWxm
Ll9sb2NrX2ZpbGUpCisgICAgICAgICAgICBpZiBnZXRhdHRyKHNlbGYsICdfbG9ja19maWxlJywg
Tm9uZSk6CisgICAgICAgICAgICAgICAgaWYgc2VsZi5fcG9ydC5ob3N0LmZpbGVzeXN0ZW0uZXhp
c3RzKHNlbGYuX2xvY2tfZmlsZSk6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuX3BvcnQuaG9z
dC5maWxlc3lzdGVtLnJlbW92ZShzZWxmLl9sb2NrX2ZpbGUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265377</attachid>
            <date>2015-11-12 03:23:45 -0800</date>
            <delta_ts>2015-11-16 02:20:55 -0800</delta_ts>
            <desc>Fix coding style</desc>
            <filename>wtr-xvfb-displayfd.diff</filename>
            <type>text/plain</type>
            <size>6804</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxNmEz
YjU1Li5mOGVlNWEwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMTUtMTEtMTIgIENhcmxvcyBHYXJjaWEgQ2FtcG9z
ICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtYdmZiRHJpdmVyXSBGYWlsIHRvIHJ1
biBhbGwgbGF5b3V0IHRlc3RzIHdoZW4gWCBzZXJ2ZXIgc3RhcnRlZCB3aXRoIC1kaXNwbGF5ZmQg
b3B0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NTExMzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGUgWHZmYkRyaXZlciB1c2VzIHRoZSB4IHNlcnZlciBjb21tYW5kIGxpbmUgdG8gY2hlY2sgdGhl
CisgICAgICAgIGRpc3BsYXlzIHRoYXQgYXJlIGN1cnJlbnRseSBpbiB1c2UuIFRoaXMgZG9lc24n
dCB3b3JrIHdoZW4gWAorICAgICAgICBzZXJ2ZXIgd2FzIHN0YXJ0ZWQgd2l0aCAtZGlzcGxheWZk
IG9wdGlvbi4gVGhpcyBvcHRpb24gaXMgdXNlZCB0byBsZXQKKyAgICAgICAgdGhlIHNlcnZlciBm
aW5kIHRoZSBkaXNwbGF5IGlkIGF2YWlsYWJsZSB0aGF0IGlzIHdyaXR0ZW4gdG8gdGhlCisgICAg
ICAgIGdpdmVuIGZpbGUgZGVzY3JpcHRvci4gV2l0aCB0aGlzIG9wdGlvbiB4b3JnIGRvZXNuJ3Qg
bmVlZCB0bworICAgICAgICBjcmVhdGUgdGhlIGxvY2sgZmlsZXMgaW4gdG1wIGVpdGhlci4gVGhl
IC1kaXNwbGF5ZmQgb3B0aW9uIGlzIGFsc28KKyAgICAgICAgYXZhaWxhYmxlIGluIFh2ZmIsIHNv
IHdlIGNvdWxkIHVzZSBpdCB0b28gd2hlbiBhdmFpbGFibGUuIFRoYXQKKyAgICAgICAgd291bGQg
c2ltcGxpZnkgdGhlIGNvZGUsIGZpeGluZyBhbHNvIHJhY2UgY29uZGl0aW9ucyBiZXR3ZWVuIHRo
ZQorICAgICAgICBjaGVjayBmb3IgYXZhaWxhYmxlIGRpc3BsYXlzIGFuZCBYdmZiIG9wZW5pbmcg
dGhlIGNvbm5lY3Rpb24sIHdlCisgICAgICAgIHdvdWxkbid0IG5lZWQgdG8gd2FpdCBmb3IgNCBz
ZWNvbmRzIGFmdGVyIGxhdW5jaGluZyBYdmZiLCBhbmQgYWxsCisgICAgICAgIGxvY2sgZmlsZXMg
d2UgYXJlIHVzaW5nIHdvbid0IGJlIG5lZWRlZCBlaXRoZXIuCisKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlci5weToKKyAgICAgICAgKFh2ZmJEcml2ZXIuX3h2ZmJf
c3VwcG9ydHNfZGlzcGxheWZkKTogSGVscGVyIGZ1bmN0aW9uIHRvIGRldGVjdAorICAgICAgICBp
ZiBYdmZiIHN1cHBvcnRzIC1kaXNwbGF5ZmQgb3B0aW9uLgorICAgICAgICAoWHZmYkRyaXZlci5f
eHZmYl9ydW5fd2l0aF9kaXNwbGF5ZmQpOiBSdW4gWHZmYiB3aXRoIC1kaXNwbGF5ZmQKKyAgICAg
ICAgb3B0aW9uLCB1c2luZyBhIHBpcGUgdG8gcmVhZCB0aGUgZGlzcGxheSBpZC4KKyAgICAgICAg
KFh2ZmJEcml2ZXIuX3h2ZmJfcnVuX2Zvcl9kaXNwbGF5KTogUnVuIFh2ZmIgZm9yIHRoZSBnaXZl
biBkaXNwbGF5CisgICAgICAgIGlkLCBhcyB3ZSBoYXZlIGFsd2F5cyBkb25lLgorICAgICAgICAo
WHZmYkRyaXZlci5fc3RhcnQpOiBVc2UgX3h2ZmJfcnVuX3dpdGhfZGlzcGxheWZkIHdoZW4gc3Vw
cG9ydGVkLgorICAgICAgICAoWHZmYkRyaXZlci5zdG9wKTogQ2hlY2sgaWYgbG9jayBmaWxlIHBy
b3BlcnRpZXMgZXhpc3QgYmVmb3JlCisgICAgICAgIHVzaW5nIHRoZW0uCisKIDIwMTUtMTEtMTIg
IENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBbRUZMXSBC
dW1wIEVGTCB2ZXJzaW9uIHRvIDEuMTYuMApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9wb3J0L3h2ZmJkcml2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQveHZm
YmRyaXZlci5weQppbmRleCBiNjY5NDhhLi5hOGI3ZmUxIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQveHZmYmRyaXZlci5weQpAQCAtNjksMjUgKzY5LDQ1IEBAIGNsYXNzIFh2ZmJEcml2
ZXIoRHJpdmVyKToKICAgICAgICAgICAgICAgICBpZiBzZWxmLl9ndWFyZF9sb2NrLmFjcXVpcmVf
bG9jaygpOgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gaQogCi0gICAgZGVmIF94dmZiX3Nj
cmVlbl9kZXB0aChzZWxmKToKLSAgICAgICAgcmV0dXJuIG9zLmVudmlyb24uZ2V0KCdYVkZCX1ND
UkVFTl9ERVBUSCcsICcyNCcpCisgICAgZGVmIF94dmZiX3N1cHBvcnRzX2Rpc3BsYXlmZChzZWxm
KToKKyAgICAgICAgeHZmYl9vcHRpb25zID0gc2VsZi5fcG9ydC5ob3N0LmV4ZWN1dGl2ZS5ydW5f
Y29tbWFuZChbJ1h2ZmInLCAnLWhlbHAnXSkKKyAgICAgICAgcmV0dXJuICctZGlzcGxheWZkJyBp
biB4dmZiX29wdGlvbnMKIAotICAgIGRlZiBfc3RhcnQoc2VsZiwgcGl4ZWxfdGVzdHMsIHBlcl90
ZXN0X2FyZ3MpOgotICAgICAgICBzZWxmLnN0b3AoKQorICAgIGRlZiBfeHZmYl9ydW5fd2l0aF9k
aXNwbGF5ZmQoc2VsZiwgZW52aXJvbm1lbnQpOgorICAgICAgICByZWFkX2ZkLCB3cml0ZV9mZCA9
IG9zLnBpcGUoKQorICAgICAgICBydW5feHZmYiA9IFsiWHZmYiIsICItZGlzcGxheWZkIiwgc3Ry
KHdyaXRlX2ZkKSwgIi1zY3JlZW4iLCAgIjAiLCAiMTAyNHg3Njh4JXMiICUgc2VsZi5feHZmYl9z
Y3JlZW5fZGVwdGgoKSwgIi1ub2xpc3RlbiIsICJ0Y3AiXQorICAgICAgICBpZiBzZWxmLl9wb3J0
Ll9zaG91bGRfdXNlX2poYnVpbGQoKToKKyAgICAgICAgICAgIHJ1bl94dmZiID0gc2VsZi5fcG9y
dC5famhidWlsZF93cmFwcGVyICsgcnVuX3h2ZmIKKyAgICAgICAgd2l0aCBvcGVuKG9zLmRldm51
bGwsICd3JykgYXMgZGV2bnVsbDoKKyAgICAgICAgICAgIGltcG9ydCBlcnJubworICAgICAgICAg
ICAgaW1wb3J0IHNlbGVjdAogCi0gICAgICAgICMgVXNlIGV2ZW4gZGlzcGxheXMgZm9yIHBpeGVs
IHRlc3RzIGFuZCBvZGQgb25lcyBvdGhlcndpc2UuIFdoZW4gcGl4ZWwgdGVzdHMgYXJlIGRpc2Fi
bGVkLAotICAgICAgICAjIERyaXZlclByb3h5IGNyZWF0ZXMgdHdvIGRyaXZlcnMsIG9uZSBmb3Ig
bm9ybWFsIGFuZCB0aGUgb3RoZXIgZm9yIHJlZiB0ZXN0cy4gQm90aCBoYXZlCi0gICAgICAgICMg
dGhlIHNhbWUgd29ya2VyIG51bWJlciwgc28gdGhpcyBwcmV2ZW50cyB0aGVtIGZyb20gdXNpbmcg
dGhlIHNhbWUgWHZmYiBpbnN0YW5jZS4KLSAgICAgICAgZGlzcGxheV9pZCA9IHNlbGYuX25leHRf
ZnJlZV9kaXNwbGF5KCkKKyAgICAgICAgICAgIHNlbGYuX3h2ZmJfcHJvY2VzcyA9IHNlbGYuX3Bv
cnQuaG9zdC5leGVjdXRpdmUucG9wZW4ocnVuX3h2ZmIsIHN0ZGVycj1kZXZudWxsLCBlbnY9ZW52
aXJvbm1lbnQpCisgICAgICAgICAgICBmZF9zZXQgPSBbcmVhZF9mZF0KKyAgICAgICAgICAgIHdo
aWxlIGZkX3NldDoKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIGZk
X2xpc3QgPSBzZWxlY3Quc2VsZWN0KGZkX3NldCwgW10sIFtdKVswXQorICAgICAgICAgICAgICAg
IGV4Y2VwdCBzZWxlY3QuZXJyb3IsIGU6CisgICAgICAgICAgICAgICAgICAgIGlmIGUuYXJnc1sw
XSA9PSBlcnJuby5FSU5UUjoKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAg
ICAgICAgICAgICAgICAgIHJhaXNlCisKKyAgICAgICAgICAgICAgICBpZiByZWFkX2ZkIGluIGZk
X2xpc3Q6CisgICAgICAgICAgICAgICAgICAgICMgV2Ugb25seSBleHBlY3QgYSBudW1iZXIsIHNv
IGZpcnN0IHJlYWQgc2hvdWxkIGJlIGVub3VnaC4KKyAgICAgICAgICAgICAgICAgICAgZGlzcGxh
eV9pZCA9IG9zLnJlYWQocmVhZF9mZCwgMjU2KS5zdHJpcCgnXG4nKQorICAgICAgICAgICAgICAg
ICAgICBmZF9zZXQgPSBbXQorCisgICAgICAgIG9zLmNsb3NlKHJlYWRfZmQpCisgICAgICAgIG9z
LmNsb3NlKHdyaXRlX2ZkKQorCisgICAgICAgIHJldHVybiBpbnQoZGlzcGxheV9pZCkKKworICAg
IGRlZiBfeHZmYl9ydW5fZm9yX2Rpc3BsYXkoc2VsZiwgZW52aXJvbm1lbnQsIGRpc3BsYXlfaWQp
OgogICAgICAgICBzZWxmLl9sb2NrX2ZpbGUgPSAiL3RtcC8uWCVkLWxvY2siICUgZGlzcGxheV9p
ZAogCi0gICAgICAgIHNlcnZlcl9uYW1lID0gc2VsZi5fcG9ydC5kcml2ZXJfbmFtZSgpCi0gICAg
ICAgIGVudmlyb25tZW50ID0gc2VsZi5fcG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIoc2Vy
dmVyX25hbWUpCi0KICAgICAgICAgcnVuX3h2ZmIgPSBbIlh2ZmIiLCAiOiVkIiAlIGRpc3BsYXlf
aWQsICItc2NyZWVuIiwgICIwIiwgIjEwMjR4NzY4eCVzIiAlIHNlbGYuX3h2ZmJfc2NyZWVuX2Rl
cHRoKCksICItbm9saXN0ZW4iLCAidGNwIl0KLQogICAgICAgICBpZiBzZWxmLl9wb3J0Ll9zaG91
bGRfdXNlX2poYnVpbGQoKToKLSAgICAgICAgICAgICAgICBydW5feHZmYiA9IHNlbGYuX3BvcnQu
X2poYnVpbGRfd3JhcHBlciArIHJ1bl94dmZiCisgICAgICAgICAgICBydW5feHZmYiA9IHNlbGYu
X3BvcnQuX2poYnVpbGRfd3JhcHBlciArIHJ1bl94dmZiCiAKICAgICAgICAgd2l0aCBvcGVuKG9z
LmRldm51bGwsICd3JykgYXMgZGV2bnVsbDoKICAgICAgICAgICAgIHNlbGYuX3h2ZmJfcHJvY2Vz
cyA9IHNlbGYuX3BvcnQuaG9zdC5leGVjdXRpdmUucG9wZW4ocnVuX3h2ZmIsIHN0ZGVycj1kZXZu
dWxsLCBlbnY9ZW52aXJvbm1lbnQpCkBAIC05Niw2ICsxMTYsMjQgQEAgY2xhc3MgWHZmYkRyaXZl
cihEcml2ZXIpOgogICAgICAgICAjIHdvcmtlciBiZWNhdXNlIHRoZSBYdmZiIGRpc3BsYXkgaXNu
J3QgcmVhZHkgeWV0LiBIYWx0aW5nIGV4ZWN1dGlvbiBhIGJpdCBzaG91bGQgYXZvaWQgdGhhdC4K
ICAgICAgICAgdGltZS5zbGVlcChzZWxmLl9zdGFydHVwX2RlbGF5X3NlY3MpCiAKKyAgICBkZWYg
X3h2ZmJfc2NyZWVuX2RlcHRoKHNlbGYpOgorICAgICAgICByZXR1cm4gb3MuZW52aXJvbi5nZXQo
J1hWRkJfU0NSRUVOX0RFUFRIJywgJzI0JykKKworICAgIGRlZiBfc3RhcnQoc2VsZiwgcGl4ZWxf
dGVzdHMsIHBlcl90ZXN0X2FyZ3MpOgorICAgICAgICBzZWxmLnN0b3AoKQorCisgICAgICAgIHNl
cnZlcl9uYW1lID0gc2VsZi5fcG9ydC5kcml2ZXJfbmFtZSgpCisgICAgICAgIGVudmlyb25tZW50
ID0gc2VsZi5fcG9ydC5zZXR1cF9lbnZpcm9uX2Zvcl9zZXJ2ZXIoc2VydmVyX25hbWUpCisKKyAg
ICAgICAgaWYgc2VsZi5feHZmYl9zdXBwb3J0c19kaXNwbGF5ZmQoKToKKyAgICAgICAgICAgIGRp
c3BsYXlfaWQgPSBzZWxmLl94dmZiX3J1bl93aXRoX2Rpc3BsYXlmZChlbnZpcm9ubWVudCkKKyAg
ICAgICAgZWxzZToKKyAgICAgICAgICAgICMgVXNlIGV2ZW4gZGlzcGxheXMgZm9yIHBpeGVsIHRl
c3RzIGFuZCBvZGQgb25lcyBvdGhlcndpc2UuIFdoZW4gcGl4ZWwgdGVzdHMgYXJlIGRpc2FibGVk
LAorICAgICAgICAgICAgIyBEcml2ZXJQcm94eSBjcmVhdGVzIHR3byBkcml2ZXJzLCBvbmUgZm9y
IG5vcm1hbCBhbmQgdGhlIG90aGVyIGZvciByZWYgdGVzdHMuIEJvdGggaGF2ZQorICAgICAgICAg
ICAgIyB0aGUgc2FtZSB3b3JrZXIgbnVtYmVyLCBzbyB0aGlzIHByZXZlbnRzIHRoZW0gZnJvbSB1
c2luZyB0aGUgc2FtZSBYdmZiIGluc3RhbmNlLgorICAgICAgICAgICAgZGlzcGxheV9pZCA9IHNl
bGYuX25leHRfZnJlZV9kaXNwbGF5KCkKKyAgICAgICAgICAgIHNlbGYuX3h2ZmJfcnVuX2Zvcl9k
aXNwbGF5KGVudmlyb25tZW50LCBkaXNwbGF5X2lkKQorCiAgICAgICAgICMgV2UgbXVzdCBkbyB0
aGlzIGhlcmUgYmVjYXVzZSB0aGUgRElTUExBWSBudW1iZXIgZGVwZW5kcyBvbiBfd29ya2VyX251
bWJlcgogICAgICAgICBlbnZpcm9ubWVudFsnRElTUExBWSddID0gIjolZCIgJSBkaXNwbGF5X2lk
CiAgICAgICAgIHNlbGYuX2RyaXZlcl90ZW1wZGlyID0gc2VsZi5fcG9ydC5ob3N0LmZpbGVzeXN0
ZW0ubWtkdGVtcChwcmVmaXg9JyVzLScgJSBzZWxmLl9wb3J0LmRyaXZlcl9uYW1lKCkpCkBAIC0x
MTUsMTEgKzE1MywxMiBAQCBjbGFzcyBYdmZiRHJpdmVyKERyaXZlcik6CiAKICAgICBkZWYgc3Rv
cChzZWxmKToKICAgICAgICAgc3VwZXIoWHZmYkRyaXZlciwgc2VsZikuc3RvcCgpCi0gICAgICAg
IGlmIHNlbGYuX2d1YXJkX2xvY2s6CisgICAgICAgIGlmIGdldGF0dHIoc2VsZiwgJ19ndWFyZF9s
b2NrJywgTm9uZSk6CiAgICAgICAgICAgICBzZWxmLl9ndWFyZF9sb2NrLnJlbGVhc2VfbG9jaygp
CiAgICAgICAgICAgICBzZWxmLl9ndWFyZF9sb2NrID0gTm9uZQogICAgICAgICBpZiBnZXRhdHRy
KHNlbGYsICdfeHZmYl9wcm9jZXNzJywgTm9uZSk6CiAgICAgICAgICAgICBzZWxmLl9wb3J0Lmhv
c3QuZXhlY3V0aXZlLmtpbGxfcHJvY2VzcyhzZWxmLl94dmZiX3Byb2Nlc3MucGlkKQogICAgICAg
ICAgICAgc2VsZi5feHZmYl9wcm9jZXNzID0gTm9uZQotICAgICAgICAgICAgaWYgc2VsZi5fcG9y
dC5ob3N0LmZpbGVzeXN0ZW0uZXhpc3RzKHNlbGYuX2xvY2tfZmlsZSk6Ci0gICAgICAgICAgICAg
ICAgc2VsZi5fcG9ydC5ob3N0LmZpbGVzeXN0ZW0ucmVtb3ZlKHNlbGYuX2xvY2tfZmlsZSkKKyAg
ICAgICAgICAgIGlmIGdldGF0dHIoc2VsZiwgJ19sb2NrX2ZpbGUnLCBOb25lKToKKyAgICAgICAg
ICAgICAgICBpZiBzZWxmLl9wb3J0Lmhvc3QuZmlsZXN5c3RlbS5leGlzdHMoc2VsZi5fbG9ja19m
aWxlKToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fcG9ydC5ob3N0LmZpbGVzeXN0ZW0ucmVt
b3ZlKHNlbGYuX2xvY2tfZmlsZSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265579</attachid>
            <date>2015-11-16 02:20:55 -0800</date>
            <delta_ts>2015-11-17 08:18:06 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>xvfb-displayfd.diff</filename>
            <type>text/plain</type>
            <size>13735</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3NWVj
ZTFhLi5iZGYwNDNiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTUtMTEtMTYgIENhcmxvcyBHYXJjaWEgQ2FtcG9z
ICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtYdmZiRHJpdmVyXSBGYWlsIHRvIHJ1
biBhbGwgbGF5b3V0IHRlc3RzIHdoZW4gWCBzZXJ2ZXIgc3RhcnRlZCB3aXRoIC1kaXNwbGF5ZmQg
b3B0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NTExMzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
aGUgWHZmYkRyaXZlciB1c2VzIHRoZSB4IHNlcnZlciBjb21tYW5kIGxpbmUgdG8gY2hlY2sgdGhl
CisgICAgICAgIGRpc3BsYXlzIHRoYXQgYXJlIGN1cnJlbnRseSBpbiB1c2UuIFRoaXMgZG9lc24n
dCB3b3JrIHdoZW4gWAorICAgICAgICBzZXJ2ZXIgd2FzIHN0YXJ0ZWQgd2l0aCAtZGlzcGxheWZk
IG9wdGlvbi4gVGhpcyBvcHRpb24gaXMgdXNlZCB0byBsZXQKKyAgICAgICAgdGhlIHNlcnZlciBm
aW5kIHRoZSBkaXNwbGF5IGlkIGF2YWlsYWJsZSB0aGF0IGlzIHdyaXR0ZW4gdG8gdGhlCisgICAg
ICAgIGdpdmVuIGZpbGUgZGVzY3JpcHRvci4gV2l0aCB0aGlzIG9wdGlvbiB4b3JnIGRvZXNuJ3Qg
bmVlZCB0bworICAgICAgICBjcmVhdGUgdGhlIGxvY2sgZmlsZXMgaW4gdG1wIGVpdGhlci4gVGhl
IC1kaXNwbGF5ZmQgb3B0aW9uIGlzIGFsc28KKyAgICAgICAgYXZhaWxhYmxlIGluIFh2ZmIsIHNv
IHdlIGNvdWxkIHVzZSBpdCB0b28uIFRoYXQgd291bGQgc2ltcGxpZnkgdGhlCisgICAgICAgIGNv
ZGUsIGZpeGluZyBhbHNvIHJhY2UgY29uZGl0aW9ucyBiZXR3ZWVuIHRoZSBjaGVjayBmb3IgYXZh
aWxhYmxlCisgICAgICAgIGRpc3BsYXlzIGFuZCBYdmZiIG9wZW5pbmcgdGhlIGNvbm5lY3Rpb24s
IHdlIHdvdWxkbid0IG5lZWQgdG8gd2FpdAorICAgICAgICBmb3IgNCBzZWNvbmRzIGFmdGVyIGxh
dW5jaGluZyBYdmZiLCBhbmQgYWxsIGxvY2sgZmlsZXMgd2UgYXJlCisgICAgICAgIHVzaW5nIHdv
bid0IGJlIG5lZWRlZCBlaXRoZXIuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQv
eHZmYmRyaXZlci5weToKKyAgICAgICAgKFh2ZmJEcml2ZXIuX3h2ZmJfcGlwZSk6IEhlbHBlciBm
dW5jdGlvbiB0byBjcmVhdGUgdGhlIHBpcGUsIG9ubHkKKyAgICAgICAgbmVlZGVkIHRvIGJlIG92
ZXJyaWRlbiBieSB1bml0IHRlc3RzLgorICAgICAgICAoWHZmYkRyaXZlci5feHZmYl9yZWFkX2Rp
c3BsYXlfaWQpOiBIZWxwZXIgZnVuY3Rpb24gdG8gcmVhZCBmcm9tCisgICAgICAgIHRoZSBwaXBl
LCBvbmx5IG5lZWRlZCB0byBiZSBvdmVycmlkZW4gYnkgdW5pdCB0ZXN0cy4KKyAgICAgICAgKFh2
ZmJEcml2ZXIuX3h2ZmJfcnVuKTogUnVuIFh2ZmIgd2l0aCAtZGlzcGxheWZkIG9wdGlvbiwgdXNp
bmcgYQorICAgICAgICBwaXBlIHRvIHJlYWQgdGhlIGRpc3BsYXkgaWQuCisgICAgICAgIChYdmZi
RHJpdmVyLl9zdGFydCk6IENhbGwgX3h2ZmJfcnVuKCkgYW5kIHJlbW92ZSB0aGUgY29kZSB0byBy
dW4KKyAgICAgICAgWHZmYiBmb3IgYSBnaXZlbiBkaXNwbGF5LgorICAgICAgICAoWHZmYkRyaXZl
ci5zdG9wKTogUmVtb3ZlIGNvZGUgdG8gcmVsZWFzZSBhbmQgZGVsZXRlIGZpbGUgbG9ja3MuCisg
ICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXJfdW5pdHRlc3QucHk6Cisg
ICAgICAgIChYdmZiRHJpdmVyVGVzdC5tYWtlX2RyaXZlcik6CisgICAgICAgIChYdmZiRHJpdmVy
VGVzdC50ZXN0X3N0YXJ0KToKKyAgICAgICAgKFh2ZmJEcml2ZXJUZXN0LnRlc3Rfc3RhcnRfYXJi
aXRyYXJ5X3dvcmtlcl9udW1iZXIpOgorICAgICAgICAoWHZmYkRyaXZlclRlc3QudGVzdF9zdG9w
KToKKyAgICAgICAgKFh2ZmJEcml2ZXJUZXN0LmFzc2VydERyaXZlclN0YXJ0U3VjY2Vzc2Z1bCk6
IERlbGV0ZWQuCisgICAgICAgIChYdmZiRHJpdmVyVGVzdCk6IERlbGV0ZWQuCisgICAgICAgIChY
dmZiRHJpdmVyVGVzdC50ZXN0X3N0b3AuRmFrZVh2ZmJQcm9jZXNzKTogRGVsZXRlZC4KKwogMjAx
NS0xMS0xMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0dUS10gVXNlIEZUTCBieSBkZWZhdWx0IHdoZW4gTExWTSAzLjcgaXMgYXZhaWxhYmxl
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlci5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyLnB5CmluZGV4IGI2Njk0OGEu
LjAxYjhlYTEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJp
dmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC94dmZiZHJpdmVyLnB5CkBA
IC0zNCw3ICszNCw2IEBAIGltcG9ydCB0aW1lCiAKIGZyb20gd2Via2l0cHkucG9ydC5zZXJ2ZXJf
cHJvY2VzcyBpbXBvcnQgU2VydmVyUHJvY2VzcwogZnJvbSB3ZWJraXRweS5wb3J0LmRyaXZlciBp
bXBvcnQgRHJpdmVyCi1mcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0uZmlsZV9sb2NrIGltcG9y
dCBGaWxlTG9jawogCiBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAKQEAgLTUw
LDUxICs0OSw1NSBAQCBjbGFzcyBYdmZiRHJpdmVyKERyaXZlcik6CiAgICAgICAgICAgICBfbG9n
LmVycm9yKCJObyBYdmZiIGZvdW5kLiBDYW5ub3QgcnVuIGxheW91dCB0ZXN0cy4iKQogICAgICAg
ICByZXR1cm4geHZmYl9mb3VuZAogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3
YXJncyk6Ci0gICAgICAgIERyaXZlci5fX2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpCi0g
ICAgICAgIHNlbGYuX2d1YXJkX2xvY2sgPSBOb25lCi0gICAgICAgIHNlbGYuX3N0YXJ0dXBfZGVs
YXlfc2VjcyA9IDEuMAotCi0gICAgZGVmIF9uZXh0X2ZyZWVfZGlzcGxheShzZWxmKToKLSAgICAg
ICAgcnVubmluZ19waWRzID0gc2VsZi5fcG9ydC5ob3N0LmV4ZWN1dGl2ZS5ydW5fY29tbWFuZChb
J3BzJywgJy1lbycsICdjb21tLGNvbW1hbmQnXSkKLSAgICAgICAgcmVzZXJ2ZWRfc2NyZWVucyA9
IHNldCgpCi0gICAgICAgIGZvciBwaWQgaW4gcnVubmluZ19waWRzLnNwbGl0KCdcbicpOgotICAg
ICAgICAgICAgbWF0Y2ggPSByZS5tYXRjaCgnKFh8WHZmYnxYb3JnfFhvcmdcLmJpbilccysuKlxz
Oig/UDxzY3JlZW5fbnVtYmVyPlxkKyknLCBwaWQpCi0gICAgICAgICAgICBpZiBtYXRjaDoKLSAg
ICAgICAgICAgICAgICByZXNlcnZlZF9zY3JlZW5zLmFkZChpbnQobWF0Y2guZ3JvdXAoJ3NjcmVl
bl9udW1iZXInKSkpCi0gICAgICAgIGZvciBpIGluIHJhbmdlKDEsIDk5KToKLSAgICAgICAgICAg
IGlmIGkgbm90IGluIHJlc2VydmVkX3NjcmVlbnM6Ci0gICAgICAgICAgICAgICAgX2d1YXJkX2xv
Y2tfZmlsZSA9IHNlbGYuX3BvcnQuaG9zdC5maWxlc3lzdGVtLmpvaW4oJy90bXAnLCAnV2ViS2l0
WHZmYi5sb2NrLiVpJyAlIGkpCi0gICAgICAgICAgICAgICAgc2VsZi5fZ3VhcmRfbG9jayA9IHNl
bGYuX3BvcnQuaG9zdC5tYWtlX2ZpbGVfbG9jayhfZ3VhcmRfbG9ja19maWxlKQotICAgICAgICAg
ICAgICAgIGlmIHNlbGYuX2d1YXJkX2xvY2suYWNxdWlyZV9sb2NrKCk6Ci0gICAgICAgICAgICAg
ICAgICAgIHJldHVybiBpCisgICAgZGVmIF94dmZiX3BpcGUoc2VsZik6CisgICAgICAgIHJldHVy
biBvcy5waXBlKCkKIAotICAgIGRlZiBfeHZmYl9zY3JlZW5fZGVwdGgoc2VsZik6Ci0gICAgICAg
IHJldHVybiBvcy5lbnZpcm9uLmdldCgnWFZGQl9TQ1JFRU5fREVQVEgnLCAnMjQnKQorICAgIGRl
ZiBfeHZmYl9yZWFkX2Rpc3BsYXlfaWQoc2VsZiwgcmVhZF9mZCk6CisgICAgICAgIGltcG9ydCBl
cnJubworICAgICAgICBpbXBvcnQgc2VsZWN0CiAKLSAgICBkZWYgX3N0YXJ0KHNlbGYsIHBpeGVs
X3Rlc3RzLCBwZXJfdGVzdF9hcmdzKToKLSAgICAgICAgc2VsZi5zdG9wKCkKKyAgICAgICAgZmRf
c2V0ID0gW3JlYWRfZmRdCisgICAgICAgIHdoaWxlIGZkX3NldDoKKyAgICAgICAgICAgIHRyeToK
KyAgICAgICAgICAgICAgICBmZF9saXN0ID0gc2VsZWN0LnNlbGVjdChmZF9zZXQsIFtdLCBbXSlb
MF0KKyAgICAgICAgICAgIGV4Y2VwdCBzZWxlY3QuZXJyb3IsIGU6CisgICAgICAgICAgICAgICAg
aWYgZS5hcmdzWzBdID09IGVycm5vLkVJTlRSOgorICAgICAgICAgICAgICAgICAgICBjb250aW51
ZQorICAgICAgICAgICAgICAgIHJhaXNlCiAKLSAgICAgICAgIyBVc2UgZXZlbiBkaXNwbGF5cyBm
b3IgcGl4ZWwgdGVzdHMgYW5kIG9kZCBvbmVzIG90aGVyd2lzZS4gV2hlbiBwaXhlbCB0ZXN0cyBh
cmUgZGlzYWJsZWQsCi0gICAgICAgICMgRHJpdmVyUHJveHkgY3JlYXRlcyB0d28gZHJpdmVycywg
b25lIGZvciBub3JtYWwgYW5kIHRoZSBvdGhlciBmb3IgcmVmIHRlc3RzLiBCb3RoIGhhdmUKLSAg
ICAgICAgIyB0aGUgc2FtZSB3b3JrZXIgbnVtYmVyLCBzbyB0aGlzIHByZXZlbnRzIHRoZW0gZnJv
bSB1c2luZyB0aGUgc2FtZSBYdmZiIGluc3RhbmNlLgotICAgICAgICBkaXNwbGF5X2lkID0gc2Vs
Zi5fbmV4dF9mcmVlX2Rpc3BsYXkoKQotICAgICAgICBzZWxmLl9sb2NrX2ZpbGUgPSAiL3RtcC8u
WCVkLWxvY2siICUgZGlzcGxheV9pZAorICAgICAgICAgICAgaWYgcmVhZF9mZCBpbiBmZF9saXN0
OgorICAgICAgICAgICAgICAgICMgV2Ugb25seSBleHBlY3QgYSBudW1iZXIsIHNvIGZpcnN0IHJl
YWQgc2hvdWxkIGJlIGVub3VnaC4KKyAgICAgICAgICAgICAgICBkaXNwbGF5X2lkID0gb3MucmVh
ZChyZWFkX2ZkLCAyNTYpLnN0cmlwKCdcbicpCisgICAgICAgICAgICAgICAgZmRfc2V0ID0gW10K
IAotICAgICAgICBzZXJ2ZXJfbmFtZSA9IHNlbGYuX3BvcnQuZHJpdmVyX25hbWUoKQotICAgICAg
ICBlbnZpcm9ubWVudCA9IHNlbGYuX3BvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKHNlcnZl
cl9uYW1lKQotCi0gICAgICAgIHJ1bl94dmZiID0gWyJYdmZiIiwgIjolZCIgJSBkaXNwbGF5X2lk
LCAiLXNjcmVlbiIsICAiMCIsICIxMDI0eDc2OHglcyIgJSBzZWxmLl94dmZiX3NjcmVlbl9kZXB0
aCgpLCAiLW5vbGlzdGVuIiwgInRjcCJdCisgICAgICAgIHJldHVybiBpbnQoZGlzcGxheV9pZCkK
IAorICAgIGRlZiBfeHZmYl9ydW4oc2VsZiwgZW52aXJvbm1lbnQpOgorICAgICAgICByZWFkX2Zk
LCB3cml0ZV9mZCA9IHNlbGYuX3h2ZmJfcGlwZSgpCisgICAgICAgIHJ1bl94dmZiID0gWyJYdmZi
IiwgIi1kaXNwbGF5ZmQiLCBzdHIod3JpdGVfZmQpLCAiLXNjcmVlbiIsICAiMCIsICIxMDI0eDc2
OHglcyIgJSBzZWxmLl94dmZiX3NjcmVlbl9kZXB0aCgpLCAiLW5vbGlzdGVuIiwgInRjcCJdCiAg
ICAgICAgIGlmIHNlbGYuX3BvcnQuX3Nob3VsZF91c2VfamhidWlsZCgpOgotICAgICAgICAgICAg
ICAgIHJ1bl94dmZiID0gc2VsZi5fcG9ydC5famhidWlsZF93cmFwcGVyICsgcnVuX3h2ZmIKLQor
ICAgICAgICAgICAgcnVuX3h2ZmIgPSBzZWxmLl9wb3J0Ll9qaGJ1aWxkX3dyYXBwZXIgKyBydW5f
eHZmYgogICAgICAgICB3aXRoIG9wZW4ob3MuZGV2bnVsbCwgJ3cnKSBhcyBkZXZudWxsOgogICAg
ICAgICAgICAgc2VsZi5feHZmYl9wcm9jZXNzID0gc2VsZi5fcG9ydC5ob3N0LmV4ZWN1dGl2ZS5w
b3BlbihydW5feHZmYiwgc3RkZXJyPWRldm51bGwsIGVudj1lbnZpcm9ubWVudCkKKyAgICAgICAg
ICAgIGRpc3BsYXlfaWQgPSBzZWxmLl94dmZiX3JlYWRfZGlzcGxheV9pZChyZWFkX2ZkKQorCisg
ICAgICAgIHRyeToKKyAgICAgICAgICAgIG9zLmNsb3NlKHJlYWRfZmQpCisgICAgICAgICAgICBv
cy5jbG9zZSh3cml0ZV9mZCkKKyAgICAgICAgZXhjZXB0IE9TRXJyb3I6CisgICAgICAgICAgICBw
YXNzCiAKLSAgICAgICAgIyBDcmFzaGVzIGludGVuZCB0byBvY2N1ciBvY2Nhc2lvbmFsbHkgaW4g
dGhlIGZpcnN0IGZldyB0ZXN0cyB0aGF0IGFyZSBydW4gdGhyb3VnaCBlYWNoCi0gICAgICAgICMg
d29ya2VyIGJlY2F1c2UgdGhlIFh2ZmIgZGlzcGxheSBpc24ndCByZWFkeSB5ZXQuIEhhbHRpbmcg
ZXhlY3V0aW9uIGEgYml0IHNob3VsZCBhdm9pZCB0aGF0LgotICAgICAgICB0aW1lLnNsZWVwKHNl
bGYuX3N0YXJ0dXBfZGVsYXlfc2VjcykKKyAgICAgICAgcmV0dXJuIGRpc3BsYXlfaWQKKworICAg
IGRlZiBfeHZmYl9zY3JlZW5fZGVwdGgoc2VsZik6CisgICAgICAgIHJldHVybiBvcy5lbnZpcm9u
LmdldCgnWFZGQl9TQ1JFRU5fREVQVEgnLCAnMjQnKQorCisgICAgZGVmIF9zdGFydChzZWxmLCBw
aXhlbF90ZXN0cywgcGVyX3Rlc3RfYXJncyk6CisgICAgICAgIHNlbGYuc3RvcCgpCisKKyAgICAg
ICAgc2VydmVyX25hbWUgPSBzZWxmLl9wb3J0LmRyaXZlcl9uYW1lKCkKKyAgICAgICAgZW52aXJv
bm1lbnQgPSBzZWxmLl9wb3J0LnNldHVwX2Vudmlyb25fZm9yX3NlcnZlcihzZXJ2ZXJfbmFtZSkK
KyAgICAgICAgZGlzcGxheV9pZCA9IHNlbGYuX3h2ZmJfcnVuKGVudmlyb25tZW50KQogCiAgICAg
ICAgICMgV2UgbXVzdCBkbyB0aGlzIGhlcmUgYmVjYXVzZSB0aGUgRElTUExBWSBudW1iZXIgZGVw
ZW5kcyBvbiBfd29ya2VyX251bWJlcgogICAgICAgICBlbnZpcm9ubWVudFsnRElTUExBWSddID0g
IjolZCIgJSBkaXNwbGF5X2lkCkBAIC0xMTUsMTEgKzExOCw2IEBAIGNsYXNzIFh2ZmJEcml2ZXIo
RHJpdmVyKToKIAogICAgIGRlZiBzdG9wKHNlbGYpOgogICAgICAgICBzdXBlcihYdmZiRHJpdmVy
LCBzZWxmKS5zdG9wKCkKLSAgICAgICAgaWYgc2VsZi5fZ3VhcmRfbG9jazoKLSAgICAgICAgICAg
IHNlbGYuX2d1YXJkX2xvY2sucmVsZWFzZV9sb2NrKCkKLSAgICAgICAgICAgIHNlbGYuX2d1YXJk
X2xvY2sgPSBOb25lCiAgICAgICAgIGlmIGdldGF0dHIoc2VsZiwgJ194dmZiX3Byb2Nlc3MnLCBO
b25lKToKICAgICAgICAgICAgIHNlbGYuX3BvcnQuaG9zdC5leGVjdXRpdmUua2lsbF9wcm9jZXNz
KHNlbGYuX3h2ZmJfcHJvY2Vzcy5waWQpCiAgICAgICAgICAgICBzZWxmLl94dmZiX3Byb2Nlc3Mg
PSBOb25lCi0gICAgICAgICAgICBpZiBzZWxmLl9wb3J0Lmhvc3QuZmlsZXN5c3RlbS5leGlzdHMo
c2VsZi5fbG9ja19maWxlKToKLSAgICAgICAgICAgICAgICBzZWxmLl9wb3J0Lmhvc3QuZmlsZXN5
c3RlbS5yZW1vdmUoc2VsZi5fbG9ja19maWxlKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L3h2ZmJkcml2ZXJfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQveHZmYmRyaXZlcl91bml0dGVzdC5weQppbmRleCBlMGFmMWJiLi4zNzYxZjRiIDEw
MDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlcl91bml0dGVz
dC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQveHZmYmRyaXZlcl91bml0dGVz
dC5weQpAQCAtNTIsNiArNTIsOCBAQCBjbGFzcyBYdmZiRHJpdmVyVGVzdCh1bml0dGVzdC5UZXN0
Q2FzZSk6CiAgICAgICAgIGRyaXZlciA9IFh2ZmJEcml2ZXIocG9ydCwgd29ya2VyX251bWJlcj13
b3JrZXJfbnVtYmVyLCBwaXhlbF90ZXN0cz1UcnVlKQogICAgICAgICBkcml2ZXIuX3N0YXJ0dXBf
ZGVsYXlfc2VjcyA9IDAKICAgICAgICAgZHJpdmVyLl94dmZiX3NjcmVlbl9kZXB0aCA9IGxhbWJk
YTogJzI0JworICAgICAgICBkcml2ZXIuX3h2ZmJfcGlwZSA9IGxhbWJkYTogKDMsIDQpCisgICAg
ICAgIGRyaXZlci5feHZmYl9yZWFkX2Rpc3BsYXlfaWQgPSBsYW1iZGEoeCk6IDEKICAgICAgICAg
ZHJpdmVyLl9lbnZpcm9ubWVudCA9IHBvcnQuc2V0dXBfZW52aXJvbl9mb3Jfc2VydmVyKHBvcnQu
ZHJpdmVyX25hbWUoKSkKICAgICAgICAgcmV0dXJuIGRyaXZlcgogCkBAIC02Niw3MSArNjgsMjAg
QEAgY2xhc3MgWHZmYkRyaXZlclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBzZWxm
LmFzc2VydFRydWUoZHJpdmVyLl9zZXJ2ZXJfcHJvY2Vzcy5zdGFydGVkKQogICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKGRyaXZlci5fc2VydmVyX3Byb2Nlc3MuZW52WyJESVNQTEFZIl0sIGV4cGVj
dGVkX2Rpc3BsYXkpCiAKLSAgICBkZWYgdGVzdF9zdGFydF9ub19waXhlbF90ZXN0cyhzZWxmKToK
KyAgICBkZWYgdGVzdF9zdGFydChzZWxmKToKICAgICAgICAgZHJpdmVyID0gc2VsZi5tYWtlX2Ry
aXZlcigpCi0gICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAoIk1PQ0sgcnVuX2NvbW1hbmQ6IFsncHMn
LCAnLWVvJywgJ2NvbW0sY29tbWFuZCddLCBjd2Q9Tm9uZVxuTU9DSyBwb3BlbjogWydYdmZiJywg
JzoxJywgJy1zY3JlZW4nLCAnMCcsICcxMDI0eDc2OHgyNCcsICctbm9saXN0ZW4nLCAndGNwJ10s
IGVudj0lc1xuIiAlIGRyaXZlci5fZW52aXJvbm1lbnQpCisgICAgICAgIGV4cGVjdGVkX2xvZ3Mg
PSAoIk1PQ0sgcG9wZW46IFsnWHZmYicsICctZGlzcGxheWZkJywgJzQnLCAnLXNjcmVlbicsICcw
JywgJzEwMjR4NzY4eDI0JywgJy1ub2xpc3RlbicsICd0Y3AnXSwgZW52PSVzXG4iICUgZHJpdmVy
Ll9lbnZpcm9ubWVudCkKICAgICAgICAgc2VsZi5hc3NlcnREcml2ZXJTdGFydFN1Y2Nlc3NmdWwo
ZHJpdmVyLCBleHBlY3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MsIGV4cGVjdGVkX2Rpc3BsYXk9Ijox
IikKICAgICAgICAgc2VsZi5jbGVhbnVwX2RyaXZlcihkcml2ZXIpCiAKLSAgICBkZWYgdGVzdF9z
dGFydF9waXhlbF90ZXN0cyhzZWxmKToKLSAgICAgICAgZHJpdmVyID0gc2VsZi5tYWtlX2RyaXZl
cigpCi0gICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAoIk1PQ0sgcnVuX2NvbW1hbmQ6IFsncHMnLCAn
LWVvJywgJ2NvbW0sY29tbWFuZCddLCBjd2Q9Tm9uZVxuTU9DSyBwb3BlbjogWydYdmZiJywgJzox
JywgJy1zY3JlZW4nLCAnMCcsICcxMDI0eDc2OHgyNCcsICctbm9saXN0ZW4nLCAndGNwJ10sIGVu
dj0lc1xuIiAlIGRyaXZlci5fZW52aXJvbm1lbnQpCi0gICAgICAgIHNlbGYuYXNzZXJ0RHJpdmVy
U3RhcnRTdWNjZXNzZnVsKGRyaXZlciwgZXhwZWN0ZWRfbG9ncz1leHBlY3RlZF9sb2dzLCBleHBl
Y3RlZF9kaXNwbGF5PSI6MSIsIHBpeGVsX3Rlc3RzPVRydWUpCi0gICAgICAgIHNlbGYuY2xlYW51
cF9kcml2ZXIoZHJpdmVyKQotCiAgICAgZGVmIHRlc3Rfc3RhcnRfYXJiaXRyYXJ5X3dvcmtlcl9u
dW1iZXIoc2VsZik6CiAgICAgICAgIGRyaXZlciA9IHNlbGYubWFrZV9kcml2ZXIod29ya2VyX251
bWJlcj0xNykKLSAgICAgICAgZXhwZWN0ZWRfbG9ncyA9ICgiTU9DSyBydW5fY29tbWFuZDogWydw
cycsICctZW8nLCAnY29tbSxjb21tYW5kJ10sIGN3ZD1Ob25lXG5NT0NLIHBvcGVuOiBbJ1h2ZmIn
LCAnOjEnLCAnLXNjcmVlbicsICcwJywgJzEwMjR4NzY4eDI0JywgJy1ub2xpc3RlbicsICd0Y3An
XSwgZW52PSVzXG4iICUgZHJpdmVyLl9lbnZpcm9ubWVudCkKKyAgICAgICAgZXhwZWN0ZWRfbG9n
cyA9ICgiTU9DSyBwb3BlbjogWydYdmZiJywgJy1kaXNwbGF5ZmQnLCAnNCcsICctc2NyZWVuJywg
JzAnLCAnMTAyNHg3Njh4MjQnLCAnLW5vbGlzdGVuJywgJ3RjcCddLCBlbnY9JXNcbiIgJSBkcml2
ZXIuX2Vudmlyb25tZW50KQogICAgICAgICBzZWxmLmFzc2VydERyaXZlclN0YXJ0U3VjY2Vzc2Z1
bChkcml2ZXIsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncywgZXhwZWN0ZWRfZGlzcGxheT0i
OjEiLCBwaXhlbF90ZXN0cz1UcnVlKQogICAgICAgICBzZWxmLmNsZWFudXBfZHJpdmVyKGRyaXZl
cikKIAotICAgIGRlZiB0ZXN0X25leHRfZnJlZV9kaXNwbGF5KHNlbGYpOgotICAgICAgICBvdXRw
dXQgPSAiWG9yZyAgICAgICAgICAgIC91c3IvYmluL1ggOjEgLWF1dGggL3Zhci9ydW4vbGlnaHRk
bS9yb290LzoxIC1ub2xpc3RlbiB0Y3AgdnQ3IC1ub3Z0c3dpdGNoIC1iYWNrZ3JvdW5kIG5vbmVc
blh2ZmIgICAgICAgICAgICBYdmZiIDoyIC1zY3JlZW4gMCA4MDB4NjAweDI0IC1ub2xpc3RlbiB0
Y3AiCi0gICAgICAgIGV4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRpdmUyKG91dHB1dCkKLSAgICAgICAg
ZHJpdmVyID0gc2VsZi5tYWtlX2RyaXZlcihleGVjdXRpdmU9ZXhlY3V0aXZlKQotICAgICAgICBz
ZWxmLmFzc2VydEVxdWFsKGRyaXZlci5fbmV4dF9mcmVlX2Rpc3BsYXkoKSwgMykKLSAgICAgICAg
c2VsZi5jbGVhbnVwX2RyaXZlcihkcml2ZXIpCi0gICAgICAgIG91dHB1dCA9ICJYICAgICAgICAg
ICAgICAgL3Vzci9iaW4vWCA6MSB2dDcgLW5vbGlzdGVuIHRjcCAtYXV0aCAvdmFyL3J1bi94YXV0
aC9BOjAtOHA3WWJiIgotICAgICAgICBleGVjdXRpdmUgPSBNb2NrRXhlY3V0aXZlMihvdXRwdXQp
Ci0gICAgICAgIGRyaXZlciA9IHNlbGYubWFrZV9kcml2ZXIoZXhlY3V0aXZlPWV4ZWN1dGl2ZSkK
LSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChkcml2ZXIuX25leHRfZnJlZV9kaXNwbGF5KCksIDIp
Ci0gICAgICAgIHNlbGYuY2xlYW51cF9kcml2ZXIoZHJpdmVyKQotICAgICAgICBvdXRwdXQgPSAi
WHZmYiAgICAgICAgICAgIFh2ZmIgOjEgLXNjcmVlbiAwIDgwMHg2MDB4MjQgLW5vbGlzdGVuIHRj
cCIKLSAgICAgICAgZXhlY3V0aXZlID0gTW9ja0V4ZWN1dGl2ZTIob3V0cHV0KQotICAgICAgICBk
cml2ZXIgPSBzZWxmLm1ha2VfZHJpdmVyKGV4ZWN1dGl2ZT1leGVjdXRpdmUpCi0gICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoZHJpdmVyLl9uZXh0X2ZyZWVfZGlzcGxheSgpLCAyKQotICAgICAgICBz
ZWxmLmNsZWFudXBfZHJpdmVyKGRyaXZlcikKLSAgICAgICAgb3V0cHV0ID0gIlh2ZmIgICAgICAg
ICAgICBYdmZiIDoyIC1zY3JlZW4gMCA4MDB4NjAweDI0IC1ub2xpc3RlbiB0Y3Bcblh2ZmIgICAg
ICAgICAgICBYdmZiIDoxIC1zY3JlZW4gMCA4MDB4NjAweDI0IC1ub2xpc3RlbiB0Y3Bcblh2ZmIg
ICAgICAgICAgICBYdmZiIDozIC1zY3JlZW4gMCA4MDB4NjAweDI0IC1ub2xpc3RlbiB0Y3AiCi0g
ICAgICAgIGV4ZWN1dGl2ZSA9IE1vY2tFeGVjdXRpdmUyKG91dHB1dCkKLSAgICAgICAgZHJpdmVy
ID0gc2VsZi5tYWtlX2RyaXZlcihleGVjdXRpdmU9ZXhlY3V0aXZlKQotICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKGRyaXZlci5fbmV4dF9mcmVlX2Rpc3BsYXkoKSwgNCkKLSAgICAgICAgc2VsZi5j
bGVhbnVwX2RyaXZlcihkcml2ZXIpCi0gICAgICAgIG91dHB1dCA9ICJYb3JnLmJpbiAgICAgICAg
L3Vzci9saWJleGVjL1hvcmcuYmluIDoxIC1iYWNrZ3JvdW5kIG5vbmUgLW5vcmVzZXQgLXZlcmJv
c2UgMyAtbG9nZmlsZSAvZGV2L251bGwgLWF1dGggL3J1bi9nZG0vYXV0aC1mb3ItZ2RtLVp0OEVx
Mi9kYXRhYmFzZSAtc2VhdCBzZWF0MCAtbm9saXN0ZW4gdGNwIHZ0MSIKLSAgICAgICAgZXhlY3V0
aXZlID0gTW9ja0V4ZWN1dGl2ZTIob3V0cHV0KQotICAgICAgICBkcml2ZXIgPSBzZWxmLm1ha2Vf
ZHJpdmVyKGV4ZWN1dGl2ZT1leGVjdXRpdmUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoZHJp
dmVyLl9uZXh0X2ZyZWVfZGlzcGxheSgpLCAyKQotICAgICAgICBzZWxmLmNsZWFudXBfZHJpdmVy
KGRyaXZlcikKLSAgICAgICAgb3V0cHV0ID0gIi91c3IvbGliZXhlYy9Yb3JnICAgICAgICAgICAg
dnQyIC1kaXNwbGF5ZmQgMyAtYXV0aCAvcnVuL3VzZXIvMTAwMC9nZG0vWGF1dGhvcml0eSAtbm9s
aXN0ZW4gdGNwIC1iYWNrZ3JvdW5kIG5vbmUgLW5vcmVzZXQgLWtlZXB0dHkgLXZlcmJvc2UgMyIK
LSAgICAgICAgZXhlY3V0aXZlID0gTW9ja0V4ZWN1dGl2ZTIob3V0cHV0KQotICAgICAgICBkcml2
ZXIgPSBzZWxmLm1ha2VfZHJpdmVyKGV4ZWN1dGl2ZT1leGVjdXRpdmUpCi0gICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoZHJpdmVyLl9uZXh0X2ZyZWVfZGlzcGxheSgpLCAxKQotICAgICAgICBzZWxm
LmNsZWFudXBfZHJpdmVyKGRyaXZlcikKLQotICAgIGRlZiB0ZXN0X3N0YXJ0X25leHRfd29ya2Vy
KHNlbGYpOgotICAgICAgICBkcml2ZXIgPSBzZWxmLm1ha2VfZHJpdmVyKCkKLSAgICAgICAgZHJp
dmVyLl9uZXh0X2ZyZWVfZGlzcGxheSA9IGxhbWJkYTogMQotICAgICAgICBleHBlY3RlZF9sb2dz
ID0gKCJNT0NLIHBvcGVuOiBbJ1h2ZmInLCAnOjEnLCAnLXNjcmVlbicsICcwJywgJzEwMjR4NzY4
eDI0JywgJy1ub2xpc3RlbicsICd0Y3AnXSwgZW52PSVzXG4iICUgZHJpdmVyLl9lbnZpcm9ubWVu
dCkKLSAgICAgICAgc2VsZi5hc3NlcnREcml2ZXJTdGFydFN1Y2Nlc3NmdWwoZHJpdmVyLCBleHBl
Y3RlZF9sb2dzPWV4cGVjdGVkX2xvZ3MsIGV4cGVjdGVkX2Rpc3BsYXk9IjoxIiwgcGl4ZWxfdGVz
dHM9VHJ1ZSkKLSAgICAgICAgc2VsZi5jbGVhbnVwX2RyaXZlcihkcml2ZXIpCi0gICAgICAgIGRy
aXZlciA9IHNlbGYubWFrZV9kcml2ZXIoKQotICAgICAgICBkcml2ZXIuX25leHRfZnJlZV9kaXNw
bGF5ID0gbGFtYmRhOiAzCi0gICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAoIk1PQ0sgcG9wZW46IFsn
WHZmYicsICc6MycsICctc2NyZWVuJywgJzAnLCAnMTAyNHg3Njh4MjQnLCAnLW5vbGlzdGVuJywg
J3RjcCddLCBlbnY9JXNcbiIgJSBkcml2ZXIuX2Vudmlyb25tZW50KQotICAgICAgICBzZWxmLmFz
c2VydERyaXZlclN0YXJ0U3VjY2Vzc2Z1bChkcml2ZXIsIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRf
bG9ncywgZXhwZWN0ZWRfZGlzcGxheT0iOjMiLCBwaXhlbF90ZXN0cz1UcnVlKQotICAgICAgICBz
ZWxmLmNsZWFudXBfZHJpdmVyKGRyaXZlcikKLQogICAgIGRlZiB0ZXN0X3N0b3Aoc2VsZik6Ci0g
ICAgICAgIGZpbGVzeXN0ZW0gPSBNb2NrRmlsZVN5c3RlbShmaWxlcz17Jy90bXAvLlg0Mi1sb2Nr
JzogJzEyMzRcbid9KQotICAgICAgICBwb3J0ID0gUG9ydChNb2NrU3lzdGVtSG9zdChsb2dfZXhl
Y3V0aXZlPVRydWUsIGZpbGVzeXN0ZW09ZmlsZXN5c3RlbSksICd4dmZiZHJpdmVydGVzdHBvcnQn
LCBvcHRpb25zPU1vY2tPcHRpb25zKGNvbmZpZ3VyYXRpb249J1JlbGVhc2UnKSkKKyAgICAgICAg
cG9ydCA9IFBvcnQoTW9ja1N5c3RlbUhvc3QobG9nX2V4ZWN1dGl2ZT1UcnVlKSwgJ3h2ZmJkcml2
ZXJ0ZXN0cG9ydCcsIG9wdGlvbnM9TW9ja09wdGlvbnMoY29uZmlndXJhdGlvbj0nUmVsZWFzZScp
KQogICAgICAgICBwb3J0Ll9leGVjdXRpdmUua2lsbF9wcm9jZXNzID0gbGFtYmRhIHg6IF9sb2cu
aW5mbygiTU9DSyBraWxsX3Byb2Nlc3MgcGlkOiAiICsgc3RyKHgpKQogICAgICAgICBkcml2ZXIg
PSBYdmZiRHJpdmVyKHBvcnQsIHdvcmtlcl9udW1iZXI9MCwgcGl4ZWxfdGVzdHM9VHJ1ZSkKIApA
QCAtMTM4LDEwICs4OSw4IEBAIGNsYXNzIFh2ZmJEcml2ZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNl
KToKICAgICAgICAgICAgIHBpZCA9IDEyMzQKIAogICAgICAgICBkcml2ZXIuX3h2ZmJfcHJvY2Vz
cyA9IEZha2VYdmZiUHJvY2VzcygpCi0gICAgICAgIGRyaXZlci5fbG9ja19maWxlID0gJy90bXAv
Llg0Mi1sb2NrJwogCiAgICAgICAgIGV4cGVjdGVkX2xvZ3MgPSAiTU9DSyBraWxsX3Byb2Nlc3Mg
cGlkOiAxMjM0XG4iCiAgICAgICAgIE91dHB1dENhcHR1cmUoKS5hc3NlcnRfb3V0cHV0cyhzZWxm
LCBkcml2ZXIuc3RvcCwgW10sIGV4cGVjdGVkX2xvZ3M9ZXhwZWN0ZWRfbG9ncykKIAogICAgICAg
ICBzZWxmLmFzc2VydElzTm9uZShkcml2ZXIuX3h2ZmJfcHJvY2VzcykKLSAgICAgICAgc2VsZi5h
c3NlcnRGYWxzZShwb3J0Ll9maWxlc3lzdGVtLmV4aXN0cyhkcml2ZXIuX2xvY2tfZmlsZSkpCg==
</data>
<flag name="review"
          id="290617"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>