<?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>110790</bug_id>
          
          <creation_ts>2013-02-25 13:43:47 -0800</creation_ts>
          <short_desc>[texmap] Do not apply clip state if redundant</short_desc>
          <delta_ts>2013-03-12 10:31:55 -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>Layout and Rendering</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>
          <dependson>111065</dependson>
    
    <dependson>111566</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Bruno Abinader (history only)">bruno.abinader</reporter>
          <assigned_to name="Bruno Abinader (history only)">bruno.abinader</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>igor.oliveira</cc>
    
    <cc>kalyan.kondapally</cc>
    
    <cc>kenneth</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>noam</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>841253</commentid>
    <comment_count>0</comment_count>
    <who name="Bruno Abinader (history only)">bruno.abinader</who>
    <bug_when>2013-02-25 13:43:47 -0800</bug_when>
    <thetext>Adds a pointer from the last context and a bool to check if clip state has been changed since last apply. If the context is the same and the clip state hasn&apos;t changed, then do nothing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841256</commentid>
    <comment_count>1</comment_count>
      <attachid>190118</attachid>
    <who name="Bruno Abinader (history only)">bruno.abinader</who>
    <bug_when>2013-02-25 13:46:51 -0800</bug_when>
    <thetext>Created attachment 190118
Patch

Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841942</commentid>
    <comment_count>2</comment_count>
      <attachid>190118</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2013-02-26 06:21:34 -0800</bug_when>
    <thetext>Comment on attachment 190118
Patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +        Adds a pointer from the last context and a bool to check if clip state
&gt; +        has been changed since last apply. If the context is the same and the
&gt; +        clip state hasn&apos;t changed, then do nothing.
&gt; +
&gt; +        No behavior changes, thus covered by existing tests.

if it has measurable performance gains, it should be mentioned.

&gt; Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:182
&gt; +    clipStateChangedSinceLastApply = true;

should last context be reset as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841947</commentid>
    <comment_count>3</comment_count>
    <who name="Bruno Abinader (history only)">bruno.abinader</who>
    <bug_when>2013-02-26 06:30:46 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 190118 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=190118&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:12
&gt; &gt; +        Adds a pointer from the last context and a bool to check if clip state
&gt; &gt; +        has been changed since last apply. If the context is the same and the
&gt; &gt; +        clip state hasn&apos;t changed, then do nothing.
&gt; &gt; +
&gt; &gt; +        No behavior changes, thus covered by existing tests.
&gt; 
&gt; if it has measurable performance gains, it should be mentioned.

Indeed. I&apos;ve been using gDEBugger to profile OpenGL calls while running CSS 3D Transforms-related examples, and noticed a ~30% reduction in glGetIntegeri calls, same for glStencil{Op,Func}.

&gt; 
&gt; &gt; Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp:182
&gt; &gt; +    clipStateChangedSinceLastApply = true;
&gt; 
&gt; should last context be reset as well?

Yes, this is done in TextureMapperGL::ClipStack::apply(), which is the only entry point for the context object pointer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841948</commentid>
    <comment_count>4</comment_count>
      <attachid>190118</attachid>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-02-26 06:33:48 -0800</bug_when>
    <thetext>Comment on attachment 190118
Patch

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

&gt; Source/WebCore/platform/graphics/texmap/TextureMapperGL.h:93
&gt; +            : lastContext(0)

Do we ever change the context for a TextureMapperGL??</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841951</commentid>
    <comment_count>5</comment_count>
    <who name="Bruno Abinader (history only)">bruno.abinader</who>
    <bug_when>2013-02-26 06:38:26 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 190118 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=190118&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/texmap/TextureMapperGL.h:93
&gt; &gt; +            : lastContext(0)
&gt; 
&gt; Do we ever change the context for a TextureMapperGL??

From my tests, lastContext remains with the same points in both Qt/EFL ports, however I&apos;m not sure about the other ports. Said this, this actually makes me think whether it would be good to have the context object pointer passed on a separate function (or even at ClipStack ctor) instead of apply(), what do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841954</commentid>
    <comment_count>6</comment_count>
    <who name="Noam Rosenthal">noam</who>
    <bug_when>2013-02-26 06:40:50 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (From update of attachment 190118 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=190118&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/platform/graphics/texmap/TextureMapperGL.h:93
&gt; &gt; &gt; +            : lastContext(0)
&gt; &gt; 
&gt; &gt; Do we ever change the context for a TextureMapperGL??
&gt; 
&gt; From my tests, lastContext remains with the same points in both Qt/EFL ports, however I&apos;m not sure about the other ports. Said this, this actually makes me think whether it would be good to have the context object pointer passed on a separate function (or even at ClipStack ctor) instead of apply(), what do you think?

TMGL should always have the same context.
Your idea seems reasonsable... However let&apos;s have only the clipStateIsDirty flag here and not deal with a context change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841961</commentid>
    <comment_count>7</comment_count>
      <attachid>190274</attachid>
    <who name="Bruno Abinader (history only)">bruno.abinader</who>
    <bug_when>2013-02-26 06:48:48 -0800</bug_when>
    <thetext>Created attachment 190274
Patch

Updated patch, now using only the clip state bool check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841969</commentid>
    <comment_count>8</comment_count>
    <who name="Bruno Abinader (history only)">bruno.abinader</who>
    <bug_when>2013-02-26 07:15:56 -0800</bug_when>
    <thetext>While discussing the implementation with Igor, he noticed that for Qt port, the context ownership is from the Qt layer, thus vulnerable to clip state changes not covered by TextureMapperGL. Shall we use #ifdef&apos;s to EFL and GTK ports (which has the ownership of the context object) then?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842178</commentid>
    <comment_count>9</comment_count>
    <who name="Kalyan">kalyan.kondapally</who>
    <bug_when>2013-02-26 10:53:47 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; While discussing the implementation with Igor, he noticed that for Qt port, the context ownership is from the Qt layer, thus vulnerable to clip state changes not covered by TextureMapperGL. Shall we use #ifdef&apos;s to EFL and GTK ports (which has the ownership of the context object) then?


This is a general issue and Depends on what the context is doing. What textureMapperGL does is it creates a wrapper for the current context and uses it. It manipulates certain states and reset&apos;s them to there original values.  Now assumption here seems to be that the Context (which texturemapper wraps around) doesn&apos;t manipulate the  clip state during it&apos;s life time. So I think we need some kind of general decision whether TextureMapperGL tracks GL states or is it the caller responsibility. For Qt and EFL ports the main concern should be with the Context created on UI process side. Efl port doesn&apos;t manipulate the clip state and apps dont have any control on it (directly atleast).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842219</commentid>
    <comment_count>10</comment_count>
    <who name="Kalyan">kalyan.kondapally</who>
    <bug_when>2013-02-26 11:33:27 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; While discussing the implementation with Igor, he noticed that for Qt port, the context ownership is from the Qt layer, thus vulnerable to clip state changes not covered by TextureMapperGL. Shall we use #ifdef&apos;s to EFL and GTK ports (which has the ownership of the context object) then?
&gt; 
&gt; 
&gt; doesn&apos;t manipulate the  clip state during it&apos;s life time. So I think we need &gt;some kind of general decision whether TextureMapperGL tracks GL states or is it &gt;the caller responsibility. For Qt and EFL ports the main concern should be with &gt;the Context created on UI process side. Efl port doesn&apos;t manipulate the clip &gt;state and apps dont have any control on it (directly atleast).

What we could have is a way (perhaps some optimization flag??) to inform TextureMapperGL that it is the only one manipulating the context state and thus doesn&apos;t have to worry about resetting and setting the states every frame(i.e in begin painting, begin clip etc). I see a hackish way to do it already by calling beingPainting/clip once and not calling the end counterparts :) Perhaps we need a bit more elegant solution to handle this case where TextureMapperGL is the only one manipulating the Context state.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842253</commentid>
    <comment_count>11</comment_count>
    <who name="Bruno Abinader (history only)">bruno.abinader</who>
    <bug_when>2013-02-26 12:12:49 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #9)
&gt; &gt; (In reply to comment #8)
&gt; &gt; &gt; While discussing the implementation with Igor, he noticed that for Qt port, the context ownership is from the Qt layer, thus vulnerable to clip state changes not covered by TextureMapperGL. Shall we use #ifdef&apos;s to EFL and GTK ports (which has the ownership of the context object) then?
&gt; &gt; 
&gt; &gt; 
&gt; &gt; doesn&apos;t manipulate the  clip state during it&apos;s life time. So I think we need &gt;some kind of general decision whether TextureMapperGL tracks GL states or is it &gt;the caller responsibility. For Qt and EFL ports the main concern should be with &gt;the Context created on UI process side. Efl port doesn&apos;t manipulate the clip &gt;state and apps dont have any control on it (directly atleast).
&gt; 
&gt; What we could have is a way (perhaps some optimization flag??) to inform TextureMapperGL that it is the only one manipulating the context state and thus doesn&apos;t have to worry about resetting and setting the states every frame(i.e in begin painting, begin clip etc). I see a hackish way to do it already by calling beingPainting/clip once and not calling the end counterparts :) Perhaps we need a bit more elegant solution to handle this case where TextureMapperGL is the only one manipulating the Context state.

I agree with that, however this approach sounds feasible only on EFL port AFAIK. Shall it be a platform-specific implementation or so?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842410</commentid>
    <comment_count>12</comment_count>
    <who name="Kalyan">kalyan.kondapally</who>
    <bug_when>2013-02-26 15:02:17 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; (In reply to comment #9)
&gt; &gt; &gt; (In reply to comment #8)

&gt; I agree with that, however this approach sounds feasible only on EFL port AFAIK. Shall it be a platform-specific implementation or so?

In short it would be quite useful in cases where context doesn&apos;t manipulate states having an impact on TMGL. Ignore my earlier comments as I was of the impression that we are optimizing the save/restore state of TMGL. I would follow it up with another issue. Sorry for the unnecessary noise.

Bit confused as to why patch doesn&apos;t apply for Qt. If I understood the patch correctly, we optimize apply() calls between a given combination of reset() and pop() (i.e begin/end calls). Isn&apos;t that the case here??</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842893</commentid>
    <comment_count>13</comment_count>
    <who name="Bruno Abinader (history only)">bruno.abinader</who>
    <bug_when>2013-02-27 03:26:07 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; Bit confused as to why patch doesn&apos;t apply for Qt. If I understood the patch correctly, we optimize apply() calls between a given combination of reset() and pop() (i.e begin/end calls). Isn&apos;t that the case here??

Yes, that is correct. However, on Qt, the context ownership belongs does not belong to WebKit[1], it may be used/clipped elsewhere from TextureMapperGL[2] and might result in unexpected inconsistencies.

Links:
[1] http://qt.gitorious.org/qt/qtdeclarative/blobs/stable/src/quick/items/qquickthreadedwindowmanager.cpp#line142
[2] http://qt.gitorious.org/qt/qtdeclarative/blobs/stable/src/quick/items/qquickthreadedwindowmanager_p.h#line86</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842908</commentid>
    <comment_count>14</comment_count>
    <who name="Bruno Abinader (history only)">bruno.abinader</who>
    <bug_when>2013-02-27 03:46:19 -0800</bug_when>
    <thetext>As discussed with No&apos;am, the issue with Qt indeed exists but is out of the scope of this patch (we can create another bug to handle that). I&apos;m going to provide an updated patch with a cleaner variable name in a few mins.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842909</commentid>
    <comment_count>15</comment_count>
      <attachid>190487</attachid>
    <who name="Bruno Abinader (history only)">bruno.abinader</who>
    <bug_when>2013-02-27 03:50:00 -0800</bug_when>
    <thetext>Created attachment 190487
Patch

Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842921</commentid>
    <comment_count>16</comment_count>
      <attachid>190487</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-27 04:07:54 -0800</bug_when>
    <thetext>Comment on attachment 190487
Patch

Clearing flags on attachment: 190487

Committed r144169: &lt;http://trac.webkit.org/changeset/144169&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842922</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-27 04:07:59 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>842933</commentid>
    <comment_count>18</comment_count>
    <who name="Bruno Abinader (history only)">bruno.abinader</who>
    <bug_when>2013-02-27 04:19:12 -0800</bug_when>
    <thetext>ps: Qt context ownership will be handled on bug 110966.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843959</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-28 03:46:45 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 111065</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853589</commentid>
    <comment_count>20</comment_count>
    <who name="Bruno Abinader (history only)">bruno.abinader</who>
    <bug_when>2013-03-12 10:31:55 -0700</bug_when>
    <thetext>All dependencies are now fixed, closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190118</attachid>
            <date>2013-02-25 13:46:51 -0800</date>
            <delta_ts>2013-02-26 06:48:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110790-20130225174305.patch</filename>
            <type>text/plain</type>
            <size>3641</size>
            <attacher name="Bruno Abinader (history only)">bruno.abinader</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzMzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmE5MGU3NjNiYWRhOTZh
YjBjMDI3MGI4ZWNlMmJjZTAwNjk1MDg5MS4uYjYwOWUzYTJkNDVmMmYwOTAzNmYyZjM0ZDNlZjg0
NmUyOTdjMzE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI2IEBACiAyMDEzLTAyLTI1ICBCcnVu
byBkZSBPbGl2ZWlyYSBBYmluYWRlciAgPGJydW5vLmFiaW5hZGVyQGJhc3lza29tLmNvbT4KIAor
ICAgICAgICBbdGV4bWFwXSBEbyBub3QgYXBwbHkgY2xpcCBzdGF0ZSBpZiByZWR1bmRhbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDc5MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgYSBwb2lu
dGVyIGZyb20gdGhlIGxhc3QgY29udGV4dCBhbmQgYSBib29sIHRvIGNoZWNrIGlmIGNsaXAgc3Rh
dGUKKyAgICAgICAgaGFzIGJlZW4gY2hhbmdlZCBzaW5jZSBsYXN0IGFwcGx5LiBJZiB0aGUgY29u
dGV4dCBpcyB0aGUgc2FtZSBhbmQgdGhlCisgICAgICAgIGNsaXAgc3RhdGUgaGFzbid0IGNoYW5n
ZWQsIHRoZW4gZG8gbm90aGluZy4KKworICAgICAgICBObyBiZWhhdmlvciBjaGFuZ2VzLCB0aHVz
IGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVN
YXBwZXJHTDo6Q2xpcFN0YWNrOjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFw
cGVyR0w6OkNsaXBTdGFjazo6cG9wKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJH
TDo6Q2xpcFN0YWNrOjphcHBseSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJHTC5oOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckdMOjpD
bGlwU3RhY2s6OkNsaXBTdGFjayk6CisgICAgICAgIChDbGlwU3RhY2spOgorCisyMDEzLTAyLTI1
ICBCcnVubyBkZSBPbGl2ZWlyYSBBYmluYWRlciAgPGJydW5vLmFiaW5hZGVyQGJhc3lza29tLmNv
bT4KKwogICAgICAgICBbdGV4bWFwXSBSZW5hbWUgVGV4dHVyZU1hcHBlckdMOjpDbGlwU3RhY2s6
OmluaXQgdG8gcmVzZXQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMDc4MwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCmluZGV4IDVmMmU3MWNmMjdiMjE0
MTRlMjJlZDA2MzljMjllMTZjZjA3MTZkMmYuLmM5MzZlODg1YTA2MmE2OGY4NmUzOTA3OWE4NDcw
NTMzZDg3OTZmY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCkBAIC0xNzksNiArMTc5LDcgQEAg
dm9pZCBUZXh0dXJlTWFwcGVyR0w6OkNsaXBTdGFjazo6cmVzZXQoY29uc3QgSW50UmVjdCYgcmVj
dCkKIHsKICAgICBjbGlwU3RhY2suY2xlYXIoKTsKICAgICBjbGlwU3RhdGUgPSBUZXh0dXJlTWFw
cGVyR0w6OkNsaXBTdGF0ZShyZWN0KTsKKyAgICBjbGlwU3RhdGVDaGFuZ2VkU2luY2VMYXN0QXBw
bHkgPSB0cnVlOwogfQogCiB2b2lkIFRleHR1cmVNYXBwZXJHTDo6Q2xpcFN0YWNrOjpwdXNoKCkK
QEAgLTE5Miw2ICsxOTMsNyBAQCB2b2lkIFRleHR1cmVNYXBwZXJHTDo6Q2xpcFN0YWNrOjpwb3Ao
KQogICAgICAgICByZXR1cm47CiAgICAgY2xpcFN0YXRlID0gY2xpcFN0YWNrLmxhc3QoKTsKICAg
ICBjbGlwU3RhY2sucmVtb3ZlTGFzdCgpOworICAgIGNsaXBTdGF0ZUNoYW5nZWRTaW5jZUxhc3RB
cHBseSA9IHRydWU7CiB9CiAKIHN0YXRpYyB2b2lkIHNjaXNzb3JDbGlwKEdyYXBoaWNzQ29udGV4
dDNEKiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiByZWN0KQpAQCAtMjA2LDYgKzIwOCwxMSBAQCBz
dGF0aWMgdm9pZCBzY2lzc29yQ2xpcChHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCwgY29uc3Qg
SW50UmVjdCYgcmVjdCkKIAogdm9pZCBUZXh0dXJlTWFwcGVyR0w6OkNsaXBTdGFjazo6YXBwbHko
R3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQpCiB7CisgICAgaWYgKGNvbnRleHQgPT0gbGFzdENv
bnRleHQgJiYgIWNsaXBTdGF0ZUNoYW5nZWRTaW5jZUxhc3RBcHBseSkKKyAgICAgICAgcmV0dXJu
OworICAgIGxhc3RDb250ZXh0ID0gY29udGV4dDsKKyAgICBjbGlwU3RhdGVDaGFuZ2VkU2luY2VM
YXN0QXBwbHkgPSBmYWxzZTsKKwogICAgIHNjaXNzb3JDbGlwKGNvbnRleHQsIGNsaXBTdGF0ZS5z
Y2lzc29yQm94KTsKICAgICBjb250ZXh0LT5zdGVuY2lsT3AoR3JhcGhpY3NDb250ZXh0M0Q6OktF
RVAsIEdyYXBoaWNzQ29udGV4dDNEOjpLRUVQLCBHcmFwaGljc0NvbnRleHQzRDo6S0VFUCk7CiAg
ICAgY29udGV4dC0+c3RlbmNpbEZ1bmMoR3JhcGhpY3NDb250ZXh0M0Q6OkVRVUFMLCBjbGlwU3Rh
dGUuc3RlbmNpbEluZGV4IC0gMSwgY2xpcFN0YXRlLnN0ZW5jaWxJbmRleCAtIDEpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBw
ZXJHTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVN
YXBwZXJHTC5oCmluZGV4IGEyYjQ3ZWE4Y2RkZjM2ZThmYzhlNmY0MDkxZGM5MjQ3ZDk0OTU4NDEu
LjJiN2JhZDQ3MDNhZjE4N2RiZWYzNGM0ZmVmZTFjM2FjMTQ4MWNiNjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBl
ckdMLmgKQEAgLTg5LDYgKzg5LDExIEBAIHByaXZhdGU6CiAKICAgICBjbGFzcyBDbGlwU3RhY2sg
ewogICAgIHB1YmxpYzoKKyAgICAgICAgQ2xpcFN0YWNrKCkKKyAgICAgICAgICAgIDogbGFzdENv
bnRleHQoMCkKKyAgICAgICAgICAgICwgY2xpcFN0YXRlQ2hhbmdlZFNpbmNlTGFzdEFwcGx5KGZh
bHNlKQorICAgICAgICB7IH0KKwogICAgICAgICB2b2lkIHB1c2goKTsKICAgICAgICAgdm9pZCBw
b3AoKTsKICAgICAgICAgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQzRCopOwpAQCAtOTgsNiAr
MTAzLDggQEAgcHJpdmF0ZToKICAgICBwcml2YXRlOgogICAgICAgICBDbGlwU3RhdGUgY2xpcFN0
YXRlOwogICAgICAgICBWZWN0b3I8Q2xpcFN0YXRlPiBjbGlwU3RhY2s7CisgICAgICAgIEdyYXBo
aWNzQ29udGV4dDNEKiBsYXN0Q29udGV4dDsKKyAgICAgICAgYm9vbCBjbGlwU3RhdGVDaGFuZ2Vk
U2luY2VMYXN0QXBwbHk7CiAgICAgfTsKIAogICAgIFRleHR1cmVNYXBwZXJHTCgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190274</attachid>
            <date>2013-02-26 06:48:48 -0800</date>
            <delta_ts>2013-02-27 03:49:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110790-20130226104502.patch</filename>
            <type>text/plain</type>
            <size>3298</size>
            <attacher name="Bruno Abinader (history only)">bruno.abinader</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0MDM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTI5NWMxNWI3NDgzNWQ5
MTA4MTE1ZDRjOTc2NDk3Mzg1YmZjYzlhMi4uMzc2ZWQ4ODlmMDA5M2JiMjRhYzIwN2VkODcxN2E5
YmY1ZGViYzBlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAyLTI2ICBCcnVu
byBkZSBPbGl2ZWlyYSBBYmluYWRlciAgPGJydW5vLmFiaW5hZGVyQGJhc3lza29tLmNvbT4KKwor
ICAgICAgICBbdGV4bWFwXSBEbyBub3QgYXBwbHkgY2xpcCBzdGF0ZSBpZiByZWR1bmRhbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDc5MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZHMgYSBib29s
IHRvIGNoZWNrIGlmIGNsaXAgc3RhdGUgaGFzIGJlZW4gY2hhbmdlZCBzaW5jZSBsYXN0IGFwcGx5
LgorCisgICAgICAgIE5vIGJlaGF2aW9yIGNoYW5nZXMsIHRodXMgY292ZXJlZCBieSBleGlzdGlu
ZyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFw
cGVyR0wuY3BwIDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJHTDo6Q2xpcFN0YWNr
OjpyZXNldCk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyR0w6OkNsaXBTdGFjazo6
cG9wKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJHTDo6Q2xpcFN0YWNrOjphcHBs
eSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5o
OgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckdMOjpDbGlwU3RhY2s6OkNsaXBTdGFj
ayk6CisgICAgICAgIChDbGlwU3RhY2spOgorCiAyMDEzLTAyLTI2ICBUYWthc2hpIFNha2Ftb3Rv
ICA8dGFzYWtAZ29vZ2xlLmNvbT4KIAogICAgICAgICBTaGFkb3cgRE9NIHN0eWxlcyBhcHBlYXIg
dG8gYmUgb3Zlci1lYWdlcmx5IHNoYXJlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcAppbmRleCA1ZjJl
NzFjZjI3YjIxNDE0ZTIyZWQwNjM5YzI5ZTE2Y2YwNzE2ZDJmLi4xYmZkOWQ3ZDM3ZTZjZTNlODg0
MGUyOTU3MTA3NzQ3MTlhYzUwNzQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcApAQCAtMTc5LDYg
KzE3OSw3IEBAIHZvaWQgVGV4dHVyZU1hcHBlckdMOjpDbGlwU3RhY2s6OnJlc2V0KGNvbnN0IElu
dFJlY3QmIHJlY3QpCiB7CiAgICAgY2xpcFN0YWNrLmNsZWFyKCk7CiAgICAgY2xpcFN0YXRlID0g
VGV4dHVyZU1hcHBlckdMOjpDbGlwU3RhdGUocmVjdCk7CisgICAgY2xpcFN0YXRlQ2hhbmdlZFNp
bmNlTGFzdEFwcGx5ID0gdHJ1ZTsKIH0KIAogdm9pZCBUZXh0dXJlTWFwcGVyR0w6OkNsaXBTdGFj
azo6cHVzaCgpCkBAIC0xOTIsNiArMTkzLDcgQEAgdm9pZCBUZXh0dXJlTWFwcGVyR0w6OkNsaXBT
dGFjazo6cG9wKCkKICAgICAgICAgcmV0dXJuOwogICAgIGNsaXBTdGF0ZSA9IGNsaXBTdGFjay5s
YXN0KCk7CiAgICAgY2xpcFN0YWNrLnJlbW92ZUxhc3QoKTsKKyAgICBjbGlwU3RhdGVDaGFuZ2Vk
U2luY2VMYXN0QXBwbHkgPSB0cnVlOwogfQogCiBzdGF0aWMgdm9pZCBzY2lzc29yQ2xpcChHcmFw
aGljc0NvbnRleHQzRCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgcmVjdCkKQEAgLTIwNiw2ICsy
MDgsMTAgQEAgc3RhdGljIHZvaWQgc2Npc3NvckNsaXAoR3JhcGhpY3NDb250ZXh0M0QqIGNvbnRl
eHQsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAKIHZvaWQgVGV4dHVyZU1hcHBlckdMOjpDbGlwU3Rh
Y2s6OmFwcGx5KEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0KQogeworICAgIGlmICghY2xpcFN0
YXRlQ2hhbmdlZFNpbmNlTGFzdEFwcGx5KQorICAgICAgICByZXR1cm47CisgICAgY2xpcFN0YXRl
Q2hhbmdlZFNpbmNlTGFzdEFwcGx5ID0gZmFsc2U7CisKICAgICBzY2lzc29yQ2xpcChjb250ZXh0
LCBjbGlwU3RhdGUuc2Npc3NvckJveCk7CiAgICAgY29udGV4dC0+c3RlbmNpbE9wKEdyYXBoaWNz
Q29udGV4dDNEOjpLRUVQLCBHcmFwaGljc0NvbnRleHQzRDo6S0VFUCwgR3JhcGhpY3NDb250ZXh0
M0Q6OktFRVApOwogICAgIGNvbnRleHQtPnN0ZW5jaWxGdW5jKEdyYXBoaWNzQ29udGV4dDNEOjpF
UVVBTCwgY2xpcFN0YXRlLnN0ZW5jaWxJbmRleCAtIDEsIGNsaXBTdGF0ZS5zdGVuY2lsSW5kZXgg
LSAxKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9UZXh0dXJlTWFwcGVyR0wuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Rl
eG1hcC9UZXh0dXJlTWFwcGVyR0wuaAppbmRleCBhMmI0N2VhOGNkZGYzNmU4ZmM4ZTZmNDA5MWRj
OTI0N2Q5NDk1ODQxLi41NjE4ODM2NjBjM2Y1NTRjNjUyMjMwMWQzNjlkNGYzNTI5MzZmMTZkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVy
ZU1hcHBlckdMLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L1RleHR1cmVNYXBwZXJHTC5oCkBAIC04OSw2ICs4OSwxMCBAQCBwcml2YXRlOgogCiAgICAgY2xh
c3MgQ2xpcFN0YWNrIHsKICAgICBwdWJsaWM6CisgICAgICAgIENsaXBTdGFjaygpCisgICAgICAg
ICAgICA6IGNsaXBTdGF0ZUNoYW5nZWRTaW5jZUxhc3RBcHBseShmYWxzZSkKKyAgICAgICAgeyB9
CisKICAgICAgICAgdm9pZCBwdXNoKCk7CiAgICAgICAgIHZvaWQgcG9wKCk7CiAgICAgICAgIHZv
aWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0M0QqKTsKQEAgLTk4LDYgKzEwMiw3IEBAIHByaXZhdGU6
CiAgICAgcHJpdmF0ZToKICAgICAgICAgQ2xpcFN0YXRlIGNsaXBTdGF0ZTsKICAgICAgICAgVmVj
dG9yPENsaXBTdGF0ZT4gY2xpcFN0YWNrOworICAgICAgICBib29sIGNsaXBTdGF0ZUNoYW5nZWRT
aW5jZUxhc3RBcHBseTsKICAgICB9OwogCiAgICAgVGV4dHVyZU1hcHBlckdMKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190487</attachid>
            <date>2013-02-27 03:50:00 -0800</date>
            <delta_ts>2013-02-27 04:07:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110790-20130227074613.patch</filename>
            <type>text/plain</type>
            <size>3195</size>
            <attacher name="Bruno Abinader (history only)">bruno.abinader</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0MDM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTI5NWMxNWI3NDgzNWQ5
MTA4MTE1ZDRjOTc2NDk3Mzg1YmZjYzlhMi4uMDk5YjU2NTIwY2RmMjhmOWYzZDI5NTA5N2IzZDNm
YTg2ZTk2OGQyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAyLTI3ICBCcnVu
byBkZSBPbGl2ZWlyYSBBYmluYWRlciAgPGJydW5vLmFiaW5hZGVyQGJhc3lza29tLmNvbT4KKwor
ICAgICAgICBbdGV4bWFwXSBEbyBub3QgYXBwbHkgY2xpcCBzdGF0ZSBpZiByZWR1bmRhbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMDc5MAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIGJvb2wg
dG8gY2hlY2sgaWYgY2xpcCBzdGF0ZSBoYXMgY2hhbmdlZCBzaW5jZSBsYXN0IGFwcGx5LgorCisg
ICAgICAgIE5vIGJlaGF2aW9yIGNoYW5nZXMsIHRodXMgY292ZXJlZCBieSBleGlzdGluZyB0ZXN0
cy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckdMOjpDbGlwU3RhY2s6OnJlc2V0
KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHR1cmVNYXBwZXJHTDo6Q2xpcFN0YWNrOjpwb3ApOgor
ICAgICAgICAoV2ViQ29yZTo6VGV4dHVyZU1hcHBlckdMOjpDbGlwU3RhY2s6OmFwcGx5KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmg6CisgICAg
ICAgIChXZWJDb3JlOjpUZXh0dXJlTWFwcGVyR0w6OkNsaXBTdGFjazo6Q2xpcFN0YWNrKToKKyAg
ICAgICAgKENsaXBTdGFjayk6CisKIDIwMTMtMDItMjYgIFRha2FzaGkgU2FrYW1vdG8gIDx0YXNh
a0Bnb29nbGUuY29tPgogCiAgICAgICAgIFNoYWRvdyBET00gc3R5bGVzIGFwcGVhciB0byBiZSBv
dmVyLWVhZ2VybHkgc2hhcmVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBlckdMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCmluZGV4IDVmMmU3MWNmMjdi
MjE0MTRlMjJlZDA2MzljMjllMTZjZjA3MTZkMmYuLjA0YmZiODJmZDBmNzdkY2JkZTJhY2JmMWU5
MGMxMzYzOTM1NmQ0ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVyR0wuY3BwCkBAIC0xNzksNiArMTc5LDcg
QEAgdm9pZCBUZXh0dXJlTWFwcGVyR0w6OkNsaXBTdGFjazo6cmVzZXQoY29uc3QgSW50UmVjdCYg
cmVjdCkKIHsKICAgICBjbGlwU3RhY2suY2xlYXIoKTsKICAgICBjbGlwU3RhdGUgPSBUZXh0dXJl
TWFwcGVyR0w6OkNsaXBTdGF0ZShyZWN0KTsKKyAgICBjbGlwU3RhdGVEaXJ0eSA9IHRydWU7CiB9
CiAKIHZvaWQgVGV4dHVyZU1hcHBlckdMOjpDbGlwU3RhY2s6OnB1c2goKQpAQCAtMTkyLDYgKzE5
Myw3IEBAIHZvaWQgVGV4dHVyZU1hcHBlckdMOjpDbGlwU3RhY2s6OnBvcCgpCiAgICAgICAgIHJl
dHVybjsKICAgICBjbGlwU3RhdGUgPSBjbGlwU3RhY2subGFzdCgpOwogICAgIGNsaXBTdGFjay5y
ZW1vdmVMYXN0KCk7CisgICAgY2xpcFN0YXRlRGlydHkgPSB0cnVlOwogfQogCiBzdGF0aWMgdm9p
ZCBzY2lzc29yQ2xpcChHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCwgY29uc3QgSW50UmVjdCYg
cmVjdCkKQEAgLTIwNiw2ICsyMDgsMTAgQEAgc3RhdGljIHZvaWQgc2Npc3NvckNsaXAoR3JhcGhp
Y3NDb250ZXh0M0QqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QpCiAKIHZvaWQgVGV4dHVy
ZU1hcHBlckdMOjpDbGlwU3RhY2s6OmFwcGx5KEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0KQog
eworICAgIGlmICghY2xpcFN0YXRlRGlydHkpCisgICAgICAgIHJldHVybjsKKyAgICBjbGlwU3Rh
dGVEaXJ0eSA9IGZhbHNlOworCiAgICAgc2Npc3NvckNsaXAoY29udGV4dCwgY2xpcFN0YXRlLnNj
aXNzb3JCb3gpOwogICAgIGNvbnRleHQtPnN0ZW5jaWxPcChHcmFwaGljc0NvbnRleHQzRDo6S0VF
UCwgR3JhcGhpY3NDb250ZXh0M0Q6OktFRVAsIEdyYXBoaWNzQ29udGV4dDNEOjpLRUVQKTsKICAg
ICBjb250ZXh0LT5zdGVuY2lsRnVuYyhHcmFwaGljc0NvbnRleHQzRDo6RVFVQUwsIGNsaXBTdGF0
ZS5zdGVuY2lsSW5kZXggLSAxLCBjbGlwU3RhdGUuc3RlbmNpbEluZGV4IC0gMSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1hcHBl
ckdMLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvVGV4dHVyZU1h
cHBlckdMLmgKaW5kZXggYTJiNDdlYThjZGRmMzZlOGZjOGU2ZjQwOTFkYzkyNDdkOTQ5NTg0MS4u
MmE4MGVkMjk4YThlMWQ4ZGEzZTJmOGRiMWMzNzg4MDUzMjI4MzI0MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL1RleHR1cmVNYXBwZXJHTC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9UZXh0dXJlTWFwcGVy
R0wuaApAQCAtODksNiArODksMTAgQEAgcHJpdmF0ZToKIAogICAgIGNsYXNzIENsaXBTdGFjayB7
CiAgICAgcHVibGljOgorICAgICAgICBDbGlwU3RhY2soKQorICAgICAgICAgICAgOiBjbGlwU3Rh
dGVEaXJ0eShmYWxzZSkKKyAgICAgICAgeyB9CisKICAgICAgICAgdm9pZCBwdXNoKCk7CiAgICAg
ICAgIHZvaWQgcG9wKCk7CiAgICAgICAgIHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0M0QqKTsK
QEAgLTk4LDYgKzEwMiw3IEBAIHByaXZhdGU6CiAgICAgcHJpdmF0ZToKICAgICAgICAgQ2xpcFN0
YXRlIGNsaXBTdGF0ZTsKICAgICAgICAgVmVjdG9yPENsaXBTdGF0ZT4gY2xpcFN0YWNrOworICAg
ICAgICBib29sIGNsaXBTdGF0ZURpcnR5OwogICAgIH07CiAKICAgICBUZXh0dXJlTWFwcGVyR0wo
KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>