<?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>81016</bug_id>
          
          <creation_ts>2012-03-13 11:54:46 -0700</creation_ts>
          <short_desc>[mac/chromium] Change platform code to use pixelSnappedRect methods</short_desc>
          <delta_ts>2012-03-19 16:34:16 -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>Platform</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>
          
          <blocked>60318</blocked>
    
    <blocked>81413</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Emil A Eklund">eae</reporter>
          <assigned_to name="Emil A Eklund">eae</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>leviw</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>577620</commentid>
    <comment_count>0</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-03-13 11:54:46 -0700</bug_when>
    <thetext>Change platform code to use Node::getPixelSnappedRect, pixelSnappedBoundingBoxRect and pixelSnappedAbsoluteClippedOverflowRect to avoid exposing subpixel types to the platform layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577624</commentid>
    <comment_count>1</comment_count>
      <attachid>131688</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-03-13 11:57:36 -0700</bug_when>
    <thetext>Created attachment 131688
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577631</commentid>
    <comment_count>2</comment_count>
      <attachid>131688</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-13 12:03:42 -0700</bug_when>
    <thetext>Comment on attachment 131688
Patch

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

&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:810
&gt; -        IntRect rect = node-&gt;Node::getRect();
&gt; +        IntRect rect = node-&gt;Node::getPixelSnappedRect();

Why does this method have &quot;get&quot; in the name?  That&apos;s generlaly disroucaged in WebKIt?  Is it DOM API or somethign?

&gt; Source/WebKit/mac/WebView/WebFrame.mm:1297
&gt; +    float printWidth = root-&gt;style()-&gt;isHorizontalWritingMode() ? static_cast&lt;float&gt;(documentRect.width()) / printScaleFactor : pageSize.width;

Isn&apos;t there a .toFloat() method instead of a static_cast?  I guess that&apos;s only for hte rect as a whole since LayoutUnit isn&apos;t a class yet...

&gt; Source/WebKit/mac/WebView/WebView.mm:2039
&gt; +        WebDashboardRegion *webRegion = [[WebDashboardRegion alloc] initWithRect:pixelSnappedIntRect(region.bounds) clip:pixelSnappedIntRect(region.clip) type:type];

Are bounds/clip LayoutRects here?

&gt; Source/WebKit/mac/WebView/WebView.mm:2500
&gt; +        [rectsArray addObject:[NSValue valueWithRect:pixelSnappedIntRect(repaintRects[i])]];

Here too?  I&apos;m surprised you need these functions much at this layer. Apple Graphics APIs all function in floats.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577636</commentid>
    <comment_count>3</comment_count>
      <attachid>131688</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-03-13 12:07:11 -0700</bug_when>
    <thetext>Comment on attachment 131688
Patch

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

&gt;&gt; Source/WebKit/chromium/src/WebViewImpl.cpp:810
&gt;&gt; +        IntRect rect = node-&gt;Node::getPixelSnappedRect();
&gt; 
&gt; Why does this method have &quot;get&quot; in the name?  That&apos;s generlaly disroucaged in WebKIt?  Is it DOM API or somethign?

To be consistent with the current API. I&apos;d gladly rename both to rect and pixelSnappedRect respectively.

&gt;&gt; Source/WebKit/mac/WebView/WebFrame.mm:1297
&gt;&gt; +    float printWidth = root-&gt;style()-&gt;isHorizontalWritingMode() ? static_cast&lt;float&gt;(documentRect.width()) / printScaleFactor : pageSize.width;
&gt; 
&gt; Isn&apos;t there a .toFloat() method instead of a static_cast?  I guess that&apos;s only for hte rect as a whole since LayoutUnit isn&apos;t a class yet...

LayoutUnit has a toFloat method, int doesn&apos;t though. This way it&apos;ll work both with LayoutRect defined as an IntRect and as a FractionalLayoutRect.

&gt;&gt; Source/WebKit/mac/WebView/WebView.mm:2039
&gt;&gt; +        WebDashboardRegion *webRegion = [[WebDashboardRegion alloc] initWithRect:pixelSnappedIntRect(region.bounds) clip:pixelSnappedIntRect(region.clip) type:type];
&gt; 
&gt; Are bounds/clip LayoutRects here?

Yeah.

&gt;&gt; Source/WebKit/mac/WebView/WebView.mm:2500
&gt;&gt; +        [rectsArray addObject:[NSValue valueWithRect:pixelSnappedIntRect(repaintRects[i])]];
&gt; 
&gt; Here too?  I&apos;m surprised you need these functions much at this layer. Apple Graphics APIs all function in floats.

The APIs are all float but we do most painting snapped to device pixels.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577695</commentid>
    <comment_count>4</comment_count>
      <attachid>131688</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-13 12:51:29 -0700</bug_when>
    <thetext>Comment on attachment 131688
Patch

Attachment 131688 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/11949585</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577732</commentid>
    <comment_count>5</comment_count>
      <attachid>131688</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-13 13:21:35 -0700</bug_when>
    <thetext>Comment on attachment 131688
Patch

Attachment 131688 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11941746</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577776</commentid>
    <comment_count>6</comment_count>
      <attachid>131688</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-13 13:48:36 -0700</bug_when>
    <thetext>Comment on attachment 131688
Patch

Attachment 131688 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11949618</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>577866</commentid>
    <comment_count>7</comment_count>
      <attachid>131723</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-03-13 15:11:40 -0700</bug_when>
    <thetext>Created attachment 131723
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578024</commentid>
    <comment_count>8</comment_count>
      <attachid>131723</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-13 17:19:00 -0700</bug_when>
    <thetext>Comment on attachment 131723
Patch

Attachment 131723 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11949730</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578267</commentid>
    <comment_count>9</comment_count>
      <attachid>131723</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-14 02:19:24 -0700</bug_when>
    <thetext>Comment on attachment 131723
Patch

Attachment 131723 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/11942968</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578276</commentid>
    <comment_count>10</comment_count>
      <attachid>131723</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-14 02:50:55 -0700</bug_when>
    <thetext>Comment on attachment 131723
Patch

Attachment 131723 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11951140</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579003</commentid>
    <comment_count>11</comment_count>
      <attachid>131968</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-03-14 18:12:29 -0700</bug_when>
    <thetext>Created attachment 131968
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580958</commentid>
    <comment_count>12</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-03-16 14:29:07 -0700</bug_when>
    <thetext>Eric, would you mind taking another look at this when you get a chance?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580977</commentid>
    <comment_count>13</comment_count>
      <attachid>131968</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-16 14:40:21 -0700</bug_when>
    <thetext>Comment on attachment 131968
Patch

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

Thank you for the reminder.  bug mail gets lost in the torrent...

&gt; Source/WebCore/dom/Node.h:378
&gt;      virtual LayoutRect getRect() const;
&gt; +    IntRect getPixelSnappedRect() const { return pixelSnappedIntRect(getRect()); }

I really don&apos;t like the &quot;get&quot; here.  &quot;Rect&quot; is also not very useful, as you don&apos;t know what &quot;rect&quot; it means. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580993</commentid>
    <comment_count>14</comment_count>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-03-16 14:54:15 -0700</bug_when>
    <thetext>Thanks Eric!

&gt; &gt; Source/WebCore/dom/Node.h:378
&gt; &gt;      virtual LayoutRect getRect() const;
&gt; &gt; +    IntRect getPixelSnappedRect() const { return pixelSnappedIntRect(getRect()); }
&gt; 
&gt; I really don&apos;t like the &quot;get&quot; here.  &quot;Rect&quot; is also not very useful, as you don&apos;t know what &quot;rect&quot; it means. :(

If we can come up with a better name I&apos;ll gladly do the work to rename it. I filed bug 81413 to track this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581068</commentid>
    <comment_count>15</comment_count>
      <attachid>131968</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-16 16:08:04 -0700</bug_when>
    <thetext>Comment on attachment 131968
Patch

Rejecting attachment 131968 from commit-queue.

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

Last 500 characters of output:
webkit-commit-queue/Source/WebKit/chromium/webkit --revision 126866 --non-interactive --force --accept theirs-conflict --ignore-externals&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
48&gt;At revision 126866.

________ running &apos;/usr/bin/python tools/clang/scripts/update.py --mac-only&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/11963520</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582241</commentid>
    <comment_count>16</comment_count>
      <attachid>132671</attachid>
    <who name="Emil A Eklund">eae</who>
    <bug_when>2012-03-19 14:22:26 -0700</bug_when>
    <thetext>Created attachment 132671
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582431</commentid>
    <comment_count>17</comment_count>
      <attachid>132671</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-19 16:34:11 -0700</bug_when>
    <thetext>Comment on attachment 132671
Patch for landing

Clearing flags on attachment: 132671

Committed r111268: &lt;http://trac.webkit.org/changeset/111268&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582432</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-19 16:34:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131688</attachid>
            <date>2012-03-13 11:57:36 -0700</date>
            <delta_ts>2012-03-13 14:14:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81016-20120313115734.patch</filename>
            <type>text/plain</type>
            <size>11681</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMDU4NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAzLTEzICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBbbWFjL3F0L2Nocm9taXVtXSBD
aGFuZ2UgcGxhdGZvcm0gY29kZSB0byB1c2UgcGl4ZWxTbmFwcGVkUmVjdCBtZXRob2RzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTAxNgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBwbGF0Zm9y
bSBjb2RlIHRvIHVzZSBOb2RlOjpnZXRQaXhlbFNuYXBwZWRSZWN0LAorICAgICAgICBwaXhlbFNu
YXBwZWRCb3VuZGluZ0JveFJlY3QgYW5kIHBpeGVsU25hcHBlZEFic29sdXRlQ2xpcHBlZE92ZXJm
bG93UmVjdAorICAgICAgICB0byBhdm9pZCBleHBvc2luZyBzdWJwaXhlbCB0eXBlcyB0byB0aGUg
cGxhdGZvcm0gbGF5ZXIuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLgorCisgICAgICAgICogV2Vi
Q29yZS5leHAuaW46CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnBpeGVsU25hcHBlZEFic29sdXRlQ2xpcHBlZE92
ZXJmbG93UmVjdCk6CisgICAgICAgIEFkZCBwaXhlbFNuYXBwZWQgdmVyc2lvbiBvZiBhYnNvbHV0
ZUNsaXBwZWRPdmVyZmxvd1JlY3QKKyAgICAgICAgCisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgIChSZW5kZXJPYmplY3QpOgor
CiAyMDEyLTAzLTEzICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IGZyb250LWVuZCBjb21waWxhdGlvbiB3YXMgYnJva2VuIHdo
aWxlIHN1cHBvcnRpbmcgbGFyZ2UgYXJyYXlzLgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHJl
dmlzaW9uIDExMDQ5MykKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCSh3b3JraW5n
IGNvcHkpCkBAIC0xMjE1LDYgKzEyMTUsNyBAQCBfX1pOSzdXZWJDb3JlMTJSZW5kZXJPYmplY3Qx
NGVuY2xvc2luZ0xhCiBfX1pOSzdXZWJDb3JlMTJSZW5kZXJPYmplY3QxNWxvY2FsVG9BYnNvbHV0
ZUVSS05TXzEwRmxvYXRQb2ludEViYgogX19aTks3V2ViQ29yZTEyUmVuZGVyT2JqZWN0MjBsb2Nh
bFRvQ29udGFpbmVyUXVhZEVSS05TXzlGbG9hdFF1YWRFUE5TXzIwUmVuZGVyQm94TW9kZWxPYmpl
Y3RFYlBiCiBfX1pOSzdXZWJDb3JlMTJSZW5kZXJPYmplY3QyM2Fic29sdXRlQm91bmRpbmdCb3hS
ZWN0RWIKK19fWk5LN1dlYkNvcmUxMlJlbmRlck9iamVjdDM5cGl4ZWxTbmFwcGVkQWJzb2x1dGVD
bGlwcGVkT3ZlcmZsb3dSZWN0RXYKIF9fWk5LN1dlYkNvcmUxMlJlbmRlck9iamVjdDdjaGlsZEF0
RWoKIF9fWk5LN1dlYkNvcmUxMlJlbmRlcldpZGdldDE0d2luZG93Q2xpcFJlY3RFdgogX19aTks3
V2ViQ29yZTEyU2hhcmVkQnVmZmVyMTFnZXRTb21lRGF0YUVSUEtjagpJbmRleDogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAJKHJldmlzaW9uIDExMDQ5MykKKysrIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMzYyLDYgKzEzNjIsMTEgQEAgdm9pZCBSZW5kZXJPYmplY3Q6OnJlcGFpbnRSZWN0YW5nbGUo
Y29ucwogICAgIHJlcGFpbnRVc2luZ0NvbnRhaW5lcihyZXBhaW50Q29udGFpbmVyID8gcmVwYWlu
dENvbnRhaW5lciA6IHZpZXcsIGRpcnR5UmVjdCwgaW1tZWRpYXRlKTsKIH0KIAorSW50UmVjdCBS
ZW5kZXJPYmplY3Q6OnBpeGVsU25hcHBlZEFic29sdXRlQ2xpcHBlZE92ZXJmbG93UmVjdCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIHBpeGVsU25hcHBlZEludFJlY3QoYWJzb2x1dGVDbGlwcGVkT3Zl
cmZsb3dSZWN0KCkpOworfQorCiBib29sIFJlbmRlck9iamVjdDo6cmVwYWludEFmdGVyTGF5b3V0
SWZOZWVkZWQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIGNvbnN0IExh
eW91dFJlY3QmIG9sZEJvdW5kcywgY29uc3QgTGF5b3V0UmVjdCYgb2xkT3V0bGluZUJveCwgY29u
c3QgTGF5b3V0UmVjdCogbmV3Qm91bmRzUHRyLCBjb25zdCBMYXlvdXRSZWN0KiBuZXdPdXRsaW5l
Qm94UmVjdFB0cikKIHsKICAgICBSZW5kZXJWaWV3KiB2ID0gdmlldygpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkocmV2aXNpb24gMTEwNDkzKQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC03
MTYsNiArNzE2LDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIGNsaXBwZWRPdmVy
Zmxvd1JlY3RGb3JSZXBhaW50KDApOwogICAgIH0KKyAgICBJbnRSZWN0IHBpeGVsU25hcHBlZEFi
c29sdXRlQ2xpcHBlZE92ZXJmbG93UmVjdCgpIGNvbnN0OwogICAgIHZpcnR1YWwgTGF5b3V0UmVj
dCBjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVw
YWludENvbnRhaW5lcikgY29uc3Q7CiAgICAgdmlydHVhbCBMYXlvdXRSZWN0IHJlY3RXaXRoT3V0
bGluZUZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFpbnRDb250YWluZXIsIExh
eW91dFVuaXQgb3V0bGluZVdpZHRoKSBjb25zdDsKIApJbmRleDogU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cJKHJldmlzaW9uIDExMDU4NSkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDMtMTMgIEVtaWwgQSBF
a2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFttYWMvcXQvY2hyb21pdW1dIENo
YW5nZSBwbGF0Zm9ybSBjb2RlIHRvIHVzZSBwaXhlbFNuYXBwZWRSZWN0IG1ldGhvZHMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMDE2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzcmMvV2ViQWNjZXNz
aWJpbGl0eU9iamVjdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkFjY2Vzc2liaWxpdHlPYmpl
Y3Q6OmJvdW5kaW5nQm94UmVjdCk6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmNvbXB1dGVCbG9ja0JvdW5kcyk6CisgICAgICAg
IChXZWJLaXQ6OldlYlZpZXdJbXBsOjphcHBseUF1dG9maWxsU3VnZ2VzdGlvbnMpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6cmVmcmVzaEF1dG9maWxsUG9wdXApOgorCiAyMDEyLTAz
LTEzICBEYW5hIEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJv
bWl1bV0gVXNlIHByb2plY3RRdWFkIHRvIGFwcGx5IGludmVyc2UgbWFwUmVjdApJbmRleDogU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQWNjZXNzaWJpbGl0eU9iamVj
dC5jcHAJKHJldmlzaW9uIDExMDQ5MykKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkFjY2Vzc2liaWxpdHlPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OTMsNyArNDkzLDcg
QEAgV2ViUmVjdCBXZWJBY2Nlc3NpYmlsaXR5T2JqZWN0Ojpib3VuZGluZwogICAgICAgICByZXR1
cm4gV2ViUmVjdCgpOwogCiAgICAgbV9wcml2YXRlLT51cGRhdGVCYWNraW5nU3RvcmUoKTsKLSAg
ICByZXR1cm4gbV9wcml2YXRlLT5ib3VuZGluZ0JveFJlY3QoKTsKKyAgICByZXR1cm4gbV9wcml2
YXRlLT5waXhlbFNuYXBwZWRCb3VuZGluZ0JveFJlY3QoKTsKIH0KIAogZG91YmxlIFdlYkFjY2Vz
c2liaWxpdHlPYmplY3Q6OmVzdGltYXRlZExvYWRpbmdQcm9ncmVzcygpIGNvbnN0CkluZGV4OiBT
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCShyZXZpc2lvbiAxMTA0
OTMpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTgwNyw3ICs4MDcsNyBAQCBXZWJSZWN0IFdlYlZpZXdJbXBsOjpjb21wdXRl
QmxvY2tCb3VuZHMoCiAKICAgICAvLyBSZXR1cm4gdGhlIGJvdW5kaW5nIGJveCBpbiB0aGUgd2lu
ZG93IGNvb3JkaW5hdGUgc3lzdGVtLgogICAgIGlmIChub2RlKSB7Ci0gICAgICAgIEludFJlY3Qg
cmVjdCA9IG5vZGUtPk5vZGU6OmdldFJlY3QoKTsKKyAgICAgICAgSW50UmVjdCByZWN0ID0gbm9k
ZS0+Tm9kZTo6Z2V0UGl4ZWxTbmFwcGVkUmVjdCgpOwogICAgICAgICBGcmFtZSogZnJhbWUgPSBu
b2RlLT5kb2N1bWVudCgpLT5mcmFtZSgpOwogICAgICAgICByZXR1cm4gZnJhbWUtPnZpZXcoKS0+
Y29udGVudHNUb1dpbmRvdyhyZWN0KTsKICAgICB9CkBAIC0yNjk5LDcgKzI2OTksNyBAQCB2b2lk
IFdlYlZpZXdJbXBsOjphcHBseUF1dG9maWxsU3VnZ2VzdGlvCiAgICAgaWYgKG1fYXV0b2ZpbGxQ
b3B1cFNob3dpbmcpIHsKICAgICAgICAgcmVmcmVzaEF1dG9maWxsUG9wdXAoKTsKICAgICB9IGVs
c2UgewotICAgICAgICBtX2F1dG9maWxsUG9wdXAtPnNob3dJblJlY3QoZm9jdXNlZE5vZGUtPmdl
dFJlY3QoKSwgZm9jdXNlZE5vZGUtPm93bmVyRG9jdW1lbnQoKS0+dmlldygpLCAwKTsKKyAgICAg
ICAgbV9hdXRvZmlsbFBvcHVwLT5zaG93SW5SZWN0KGZvY3VzZWROb2RlLT5nZXRQaXhlbFNuYXBw
ZWRSZWN0KCksIGZvY3VzZWROb2RlLT5vd25lckRvY3VtZW50KCktPnZpZXcoKSwgMCk7CiAgICAg
ICAgIG1fYXV0b2ZpbGxQb3B1cFNob3dpbmcgPSB0cnVlOwogICAgIH0KIH0KQEAgLTI5NzIsNyAr
Mjk3Miw3IEBAIHZvaWQgV2ViVmlld0ltcGw6OnJlZnJlc2hBdXRvZmlsbFBvcHVwKCkKICAgICB9
CiAKICAgICBJbnRSZWN0IG9sZEJvdW5kcyA9IG1fYXV0b2ZpbGxQb3B1cC0+ZnJhbWVSZWN0KCk7
Ci0gICAgbV9hdXRvZmlsbFBvcHVwLT5yZWZyZXNoKGZvY3VzZWRXZWJDb3JlTm9kZSgpLT5nZXRS
ZWN0KCkpOworICAgIG1fYXV0b2ZpbGxQb3B1cC0+cmVmcmVzaChmb2N1c2VkV2ViQ29yZU5vZGUo
KS0+Z2V0UGl4ZWxTbmFwcGVkUmVjdCgpKTsKICAgICBJbnRSZWN0IG5ld0JvdW5kcyA9IG1fYXV0
b2ZpbGxQb3B1cC0+ZnJhbWVSZWN0KCk7CiAgICAgLy8gTGV0J3MgcmVzaXplIHRoZSBiYWNraW5n
IHdpbmRvdyBpZiBuZWNlc3NhcnkuCiAgICAgaWYgKG9sZEJvdW5kcyAhPSBuZXdCb3VuZHMpIHsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMDU4NSkKKysrIFNvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAzLTEz
ICBFbWlsIEEgRWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBbbWFjL3F0L2No
cm9taXVtXSBDaGFuZ2UgcGxhdGZvcm0gY29kZSB0byB1c2UgcGl4ZWxTbmFwcGVkUmVjdCBtZXRo
b2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTAx
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGx1
Z2lucy9XZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tOgorICAgICAgICAoLVtXZWJCYXNlTmV0
c2NhcGVQbHVnaW5WaWV3IGFjdHVhbFZpc2libGVSZWN0SW5XaW5kb3ddKToKKyAgICAgICAgKiBX
ZWJWaWV3L1dlYkZyYW1lLm1tOgorICAgICAgICAoLVtXZWJGcmFtZSBfZ2V0VmlzaWJsZVJlY3Q6
XSk6CisgICAgICAgICgtW1dlYkZyYW1lIF9jb21wdXRlUGFnZVJlY3RzV2l0aFByaW50U2NhbGVG
YWN0b3I6cGFnZVNpemU6XSk6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAgICAg
ICAoLVtXZWJWaWV3IF9kYXNoYm9hcmRSZWdpb25zXSk6CisgICAgICAgICgtW1dlYlZpZXcgdHJh
Y2tlZFJlcGFpbnRSZWN0c10pOgorCiAyMDEyLTAzLTEzICBTaGlueWEgS2F3YW5ha2EgIDxzaGlu
eWFrQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OOiBTcGVsbGNoZWNrIHRlc3Rz
IGhpdCBhc3NlcnRpb25zIG9uIE1hYy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMv
V2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L21hYy9QbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW0JKHJldmlzaW9uIDExMDQ5
MykKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmll
dy5tbQkod29ya2luZyBjb3B5KQpAQCAtODc1LDcgKzg3NSw3IEBAIC0gKE5TUmVjdClhY3R1YWxW
aXNpYmxlUmVjdEluV2luZG93CiAgICAgaWYgKCFmcmFtZVZpZXcpCiAgICAgICAgIHJldHVybiBO
U1plcm9SZWN0OwogCi0gICAgSW50UmVjdCB3aWRnZXRSZWN0ID0gcmVuZGVyZXItPmFic29sdXRl
Q2xpcHBlZE92ZXJmbG93UmVjdCgpOworICAgIEludFJlY3Qgd2lkZ2V0UmVjdCA9IHJlbmRlcmVy
LT5waXhlbFNuYXBwZWRBYnNvbHV0ZUNsaXBwZWRPdmVyZmxvd1JlY3QoKTsKICAgICB3aWRnZXRS
ZWN0ID0gZnJhbWVWaWV3LT5jb250ZW50c1RvV2luZG93KHdpZGdldFJlY3QpOwogICAgIHJldHVy
biBpbnRlcnNlY3Rpb24odG9SZW5kZXJXaWRnZXQocmVuZGVyZXIpLT53aW5kb3dDbGlwUmVjdCgp
LCB3aWRnZXRSZWN0KTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJh
bWUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5t
bQkocmV2aXNpb24gMTEwNDkzKQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFt
ZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNTgzLDcgKzU4Myw3IEBAIC0gKEJPT0wpX2dldFZpc2li
bGVSZWN0OihOU1JlY3QqKXJlY3QKICAgICBpZiAoUmVuZGVyUGFydCogb3duZXJSZW5kZXJlciA9
IF9wcml2YXRlLT5jb3JlRnJhbWUtPm93bmVyUmVuZGVyZXIoKSkgewogICAgICAgICBpZiAob3du
ZXJSZW5kZXJlci0+bmVlZHNMYXlvdXQoKSkKICAgICAgICAgICAgIHJldHVybiBOTzsKLSAgICAg
ICAgKnJlY3QgPSBvd25lclJlbmRlcmVyLT5hYnNvbHV0ZUNsaXBwZWRPdmVyZmxvd1JlY3QoKTsK
KyAgICAgICAgKnJlY3QgPSBvd25lclJlbmRlcmVyLT5waXhlbFNuYXBwZWRBYnNvbHV0ZUNsaXBw
ZWRPdmVyZmxvd1JlY3QoKTsKICAgICAgICAgcmV0dXJuIFlFUzsKICAgICB9CiAKQEAgLTEyOTMs
OSArMTI5Myw5IEBAIC0gKE5TQXJyYXkgKilfY29tcHV0ZVBhZ2VSZWN0c1dpdGhQcmludFMKICAg
ICBpZiAoIXJvb3QpCiAgICAgICAgIHJldHVybiBbTlNBcnJheSBhcnJheV07CiAKLSAgICBjb25z
dCBJbnRSZWN0JiBkb2N1bWVudFJlY3QgPSByb290LT5kb2N1bWVudFJlY3QoKTsKLSAgICBmbG9h
dCBwcmludFdpZHRoID0gcm9vdC0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/
IGRvY3VtZW50UmVjdC53aWR0aCgpIC8gcHJpbnRTY2FsZUZhY3RvciA6IHBhZ2VTaXplLndpZHRo
OwotICAgIGZsb2F0IHByaW50SGVpZ2h0ID0gcm9vdC0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3Jp
dGluZ01vZGUoKSA/IHBhZ2VTaXplLmhlaWdodCA6IGRvY3VtZW50UmVjdC5oZWlnaHQoKSAvIHBy
aW50U2NhbGVGYWN0b3I7CisgICAgY29uc3QgTGF5b3V0UmVjdCYgZG9jdW1lbnRSZWN0ID0gcm9v
dC0+ZG9jdW1lbnRSZWN0KCk7CisgICAgZmxvYXQgcHJpbnRXaWR0aCA9IHJvb3QtPnN0eWxlKCkt
PmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBzdGF0aWNfY2FzdDxmbG9hdD4oZG9jdW1lbnRS
ZWN0LndpZHRoKCkpIC8gcHJpbnRTY2FsZUZhY3RvciA6IHBhZ2VTaXplLndpZHRoOworICAgIGZs
b2F0IHByaW50SGVpZ2h0ID0gcm9vdC0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUo
KSA/IHBhZ2VTaXplLmhlaWdodCA6IHN0YXRpY19jYXN0PGZsb2F0Pihkb2N1bWVudFJlY3QuaGVp
Z2h0KCkpIC8gcHJpbnRTY2FsZUZhY3RvcjsKIAogICAgIFByaW50Q29udGV4dCBwcmludENvbnRl
eHQoX3ByaXZhdGUtPmNvcmVGcmFtZSk7CiAgICAgcHJpbnRDb250ZXh0LmNvbXB1dGVQYWdlUmVj
dHNXaXRoUGFnZVNpemUoRmxvYXRTaXplKHByaW50V2lkdGgsIHByaW50SGVpZ2h0KSwgdHJ1ZSk7
CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZpc2lvbiAxMTA0OTMp
CisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkK
QEAgLTIwMzYsNyArMjAzNiw3IEBAIC0gKE5TRGljdGlvbmFyeSAqKV9kYXNoYm9hcmRSZWdpb25z
CiAgICAgICAgICAgICBbcmVnaW9uVmFsdWVzIHJlbGVhc2VdOwogICAgICAgICB9CiAKLSAgICAg
ICAgV2ViRGFzaGJvYXJkUmVnaW9uICp3ZWJSZWdpb24gPSBbW1dlYkRhc2hib2FyZFJlZ2lvbiBh
bGxvY10gaW5pdFdpdGhSZWN0OnJlZ2lvbi5ib3VuZHMgY2xpcDpyZWdpb24uY2xpcCB0eXBlOnR5
cGVdOworICAgICAgICBXZWJEYXNoYm9hcmRSZWdpb24gKndlYlJlZ2lvbiA9IFtbV2ViRGFzaGJv
YXJkUmVnaW9uIGFsbG9jXSBpbml0V2l0aFJlY3Q6cGl4ZWxTbmFwcGVkSW50UmVjdChyZWdpb24u
Ym91bmRzKSBjbGlwOnBpeGVsU25hcHBlZEludFJlY3QocmVnaW9uLmNsaXApIHR5cGU6dHlwZV07
CiAgICAgICAgIFtyZWdpb25WYWx1ZXMgYWRkT2JqZWN0OndlYlJlZ2lvbl07CiAgICAgICAgIFt3
ZWJSZWdpb24gcmVsZWFzZV07CiAgICAgfQpAQCAtMjQ5Nyw3ICsyNDk3LDcgQEAgLSAoTlNBcnJh
eSopdHJhY2tlZFJlcGFpbnRSZWN0cwogICAgIE5TTXV0YWJsZUFycmF5KiByZWN0c0FycmF5ID0g
W1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdFdpdGhDYXBhY2l0eTpyZXBhaW50UmVjdHMuc2l6
ZSgpXTsKICAgICAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcmVwYWludFJlY3RzLnNp
emUoKTsgKytpKQotICAgICAgICBbcmVjdHNBcnJheSBhZGRPYmplY3Q6W05TVmFsdWUgdmFsdWVX
aXRoUmVjdDpyZXBhaW50UmVjdHNbaV1dXTsKKyAgICAgICAgW3JlY3RzQXJyYXkgYWRkT2JqZWN0
OltOU1ZhbHVlIHZhbHVlV2l0aFJlY3Q6cGl4ZWxTbmFwcGVkSW50UmVjdChyZXBhaW50UmVjdHNb
aV0pXV07CiAKICAgICByZXR1cm4gW3JlY3RzQXJyYXkgYXV0b3JlbGVhc2VdOwogfQpJbmRleDog
U291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9x
dC9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMDU4NSkKKysrIFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDMtMTMgIEVtaWwgQSBF
a2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFttYWMvcXQvY2hyb21pdW1dIENo
YW5nZSBwbGF0Zm9ybSBjb2RlIHRvIHVzZSBwaXhlbFNuYXBwZWRSZWN0IG1ldGhvZHMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMDE2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBBcGkvcXdlYmVsZW1l
bnQuY3BwOgorICAgICAgICAoUVdlYkVsZW1lbnQ6Omdlb21ldHJ5KToKKyAgICAgICAgKFFXZWJF
bGVtZW50OjpyZW5kZXIpOgorCiAyMDEyLTAzLTA5ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZW5hbWUgTm90aWZpY2F0aW9uUHJlc2VudGVyIHRvIE5vdGlmaWNhdGlv
bkNsaWVudApJbmRleDogU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAkocmV2aXNpb24g
MTEwNDkzKQorKysgU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC01NTIsNyArNTUyLDcgQEAgUVJlY3QgUVdlYkVsZW1lbnQ6Omdlb21ldHJ5KCkg
Y29uc3QKIHsKICAgICBpZiAoIW1fZWxlbWVudCkKICAgICAgICAgcmV0dXJuIFFSZWN0KCk7Ci0g
ICAgcmV0dXJuIG1fZWxlbWVudC0+Z2V0UmVjdCgpOworICAgIHJldHVybiBtX2VsZW1lbnQtPmdl
dFBpeGVsU25hcHBlZFJlY3QoKTsKIH0KIAogLyohCkBAIC0xNDk1LDcgKzE0OTUsNyBAQCB2b2lk
IFFXZWJFbGVtZW50OjpyZW5kZXIoUVBhaW50ZXIqIHBhaW50CiAKICAgICB2aWV3LT51cGRhdGVM
YXlvdXRBbmRTdHlsZUlmTmVlZGVkUmVjdXJzaXZlKCk7CiAKLSAgICBJbnRSZWN0IHJlY3QgPSBl
LT5nZXRSZWN0KCk7CisgICAgSW50UmVjdCByZWN0ID0gZS0+Z2V0UGl4ZWxTbmFwcGVkUmVjdCgp
OwogCiAgICAgaWYgKHJlY3Quc2l6ZSgpLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131723</attachid>
            <date>2012-03-13 15:11:40 -0700</date>
            <delta_ts>2012-03-14 09:15:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81016-20120313151139.patch</filename>
            <type>text/plain</type>
            <size>10817</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMDYxOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAzLTEzICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBbbWFjL2Nocm9taXVtXSBDaGFu
Z2UgcGxhdGZvcm0gY29kZSB0byB1c2UgcGl4ZWxTbmFwcGVkUmVjdCBtZXRob2RzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTAxNgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBwbGF0Zm9ybSBj
b2RlIHRvIHVzZSBOb2RlOjpnZXRQaXhlbFNuYXBwZWRSZWN0LAorICAgICAgICBwaXhlbFNuYXBw
ZWRCb3VuZGluZ0JveFJlY3QgYW5kIHBpeGVsU25hcHBlZEFic29sdXRlQ2xpcHBlZE92ZXJmbG93
UmVjdAorICAgICAgICB0byBhdm9pZCBleHBvc2luZyBzdWJwaXhlbCB0eXBlcyB0byB0aGUgcGxh
dGZvcm0gbGF5ZXIuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLgorCisgICAgICAgICogV2ViQ29y
ZS5leHAuaW46CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnBpeGVsU25hcHBlZEFic29sdXRlQ2xpcHBlZE92ZXJm
bG93UmVjdCk6CisgICAgICAgIEFkZCBwaXhlbFNuYXBwZWQgdmVyc2lvbiBvZiBhYnNvbHV0ZUNs
aXBwZWRPdmVyZmxvd1JlY3QKKyAgICAgICAgCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgIChSZW5kZXJPYmplY3QpOgorCiAy
MDEyLTAzLTEzICBHYXZpbiBQZXRlcnMgIDxnYXZpbnBAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJlbW92ZSB2ZXN0aWdhbCBhYm9ydEV2ZW50IGZyb20gaW1hZ2UgYXR0cmlidXRlLgpJbmRleDog
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4JKHJldmlzaW9uIDExMDYxMCkKKysrIFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCSh3b3JraW5nIGNvcHkpCkBAIC0xMjE3LDYgKzEyMTcsNyBAQCBfX1pOSzdX
ZWJDb3JlMTJSZW5kZXJPYmplY3QxNGVuY2xvc2luZ0xhCiBfX1pOSzdXZWJDb3JlMTJSZW5kZXJP
YmplY3QxNWxvY2FsVG9BYnNvbHV0ZUVSS05TXzEwRmxvYXRQb2ludEViYgogX19aTks3V2ViQ29y
ZTEyUmVuZGVyT2JqZWN0MjBsb2NhbFRvQ29udGFpbmVyUXVhZEVSS05TXzlGbG9hdFF1YWRFUE5T
XzIwUmVuZGVyQm94TW9kZWxPYmplY3RFYlBiCiBfX1pOSzdXZWJDb3JlMTJSZW5kZXJPYmplY3Qy
M2Fic29sdXRlQm91bmRpbmdCb3hSZWN0RWIKK19fWk5LN1dlYkNvcmUxMlJlbmRlck9iamVjdDM5
cGl4ZWxTbmFwcGVkQWJzb2x1dGVDbGlwcGVkT3ZlcmZsb3dSZWN0RXYKIF9fWk5LN1dlYkNvcmUx
MlJlbmRlck9iamVjdDdjaGlsZEF0RWoKIF9fWk5LN1dlYkNvcmUxMlJlbmRlcldpZGdldDE0d2lu
ZG93Q2xpcFJlY3RFdgogX19aTks3V2ViQ29yZTEyU2hhcmVkQnVmZmVyMTFnZXRTb21lRGF0YUVS
UEtjagpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAJKHJl
dmlzaW9uIDExMDYxMCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzYyLDYgKzEzNjIsMTEgQEAgdm9pZCBSZW5kZXJPYmpl
Y3Q6OnJlcGFpbnRSZWN0YW5nbGUoY29ucwogICAgIHJlcGFpbnRVc2luZ0NvbnRhaW5lcihyZXBh
aW50Q29udGFpbmVyID8gcmVwYWludENvbnRhaW5lciA6IHZpZXcsIGRpcnR5UmVjdCwgaW1tZWRp
YXRlKTsKIH0KIAorSW50UmVjdCBSZW5kZXJPYmplY3Q6OnBpeGVsU25hcHBlZEFic29sdXRlQ2xp
cHBlZE92ZXJmbG93UmVjdCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHBpeGVsU25hcHBlZEludFJl
Y3QoYWJzb2x1dGVDbGlwcGVkT3ZlcmZsb3dSZWN0KCkpOworfQorCiBib29sIFJlbmRlck9iamVj
dDo6cmVwYWludEFmdGVyTGF5b3V0SWZOZWVkZWQoUmVuZGVyQm94TW9kZWxPYmplY3QqIHJlcGFp
bnRDb250YWluZXIsIGNvbnN0IExheW91dFJlY3QmIG9sZEJvdW5kcywgY29uc3QgTGF5b3V0UmVj
dCYgb2xkT3V0bGluZUJveCwgY29uc3QgTGF5b3V0UmVjdCogbmV3Qm91bmRzUHRyLCBjb25zdCBM
YXlvdXRSZWN0KiBuZXdPdXRsaW5lQm94UmVjdFB0cikKIHsKICAgICBSZW5kZXJWaWV3KiB2ID0g
dmlldygpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkocmV2
aXNpb24gMTEwNjEwKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5o
CSh3b3JraW5nIGNvcHkpCkBAIC03MTYsNiArNzE2LDcgQEAgcHVibGljOgogICAgIHsKICAgICAg
ICAgcmV0dXJuIGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KDApOwogICAgIH0KKyAgICBJ
bnRSZWN0IHBpeGVsU25hcHBlZEFic29sdXRlQ2xpcHBlZE92ZXJmbG93UmVjdCgpIGNvbnN0Owog
ICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBjbGlwcGVkT3ZlcmZsb3dSZWN0Rm9yUmVwYWludChSZW5k
ZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lcikgY29uc3Q7CiAgICAgdmlydHVhbCBM
YXlvdXRSZWN0IHJlY3RXaXRoT3V0bGluZUZvclJlcGFpbnQoUmVuZGVyQm94TW9kZWxPYmplY3Qq
IHJlcGFpbnRDb250YWluZXIsIExheW91dFVuaXQgb3V0bGluZVdpZHRoKSBjb25zdDsKIApJbmRl
eDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMDYxOSkKKysrIFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTItMDMtMTMgIEVtaWwgQSBFa2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFttYWMvY2hyb21pdW1dIENoYW5nZSBwbGF0Zm9ybSBjb2RlIHRvIHVzZSBwaXhlbFNuYXBwZWRS
ZWN0IG1ldGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTgxMDE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBzcmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6
Y29tcHV0ZUJsb2NrQm91bmRzKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmFwcGx5
QXV0b2ZpbGxTdWdnZXN0aW9ucyk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpyZWZy
ZXNoQXV0b2ZpbGxQb3B1cCk6CisKIDIwMTItMDMtMTMgIEdhdmluIFBldGVycyAgPGdhdmlucEBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50IEFwcGxpY2F0aW9uQ2FjaGVIb3N0Ojpj
YW5DYWNoZUluUGFnZUNhY2hlKCkgZm9yIGNocm9taXVtLgpJbmRleDogU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAkocmV2aXNpb24gMTEwNjEwKQorKysgU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04
MDcsNyArODA3LDcgQEAgV2ViUmVjdCBXZWJWaWV3SW1wbDo6Y29tcHV0ZUJsb2NrQm91bmRzKAog
CiAgICAgLy8gUmV0dXJuIHRoZSBib3VuZGluZyBib3ggaW4gdGhlIHdpbmRvdyBjb29yZGluYXRl
IHN5c3RlbS4KICAgICBpZiAobm9kZSkgewotICAgICAgICBJbnRSZWN0IHJlY3QgPSBub2RlLT5O
b2RlOjpnZXRSZWN0KCk7CisgICAgICAgIEludFJlY3QgcmVjdCA9IG5vZGUtPk5vZGU6OmdldFBp
eGVsU25hcHBlZFJlY3QoKTsKICAgICAgICAgRnJhbWUqIGZyYW1lID0gbm9kZS0+ZG9jdW1lbnQo
KS0+ZnJhbWUoKTsKICAgICAgICAgcmV0dXJuIGZyYW1lLT52aWV3KCktPmNvbnRlbnRzVG9XaW5k
b3cocmVjdCk7CiAgICAgfQpAQCAtMjY5OSw3ICsyNjk5LDcgQEAgdm9pZCBXZWJWaWV3SW1wbDo6
YXBwbHlBdXRvZmlsbFN1Z2dlc3RpbwogICAgIGlmIChtX2F1dG9maWxsUG9wdXBTaG93aW5nKSB7
CiAgICAgICAgIHJlZnJlc2hBdXRvZmlsbFBvcHVwKCk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAg
bV9hdXRvZmlsbFBvcHVwLT5zaG93SW5SZWN0KGZvY3VzZWROb2RlLT5nZXRSZWN0KCksIGZvY3Vz
ZWROb2RlLT5vd25lckRvY3VtZW50KCktPnZpZXcoKSwgMCk7CisgICAgICAgIG1fYXV0b2ZpbGxQ
b3B1cC0+c2hvd0luUmVjdChmb2N1c2VkTm9kZS0+Z2V0UGl4ZWxTbmFwcGVkUmVjdCgpLCBmb2N1
c2VkTm9kZS0+b3duZXJEb2N1bWVudCgpLT52aWV3KCksIDApOwogICAgICAgICBtX2F1dG9maWxs
UG9wdXBTaG93aW5nID0gdHJ1ZTsKICAgICB9CiB9CkBAIC0yOTcyLDcgKzI5NzIsNyBAQCB2b2lk
IFdlYlZpZXdJbXBsOjpyZWZyZXNoQXV0b2ZpbGxQb3B1cCgpCiAgICAgfQogCiAgICAgSW50UmVj
dCBvbGRCb3VuZHMgPSBtX2F1dG9maWxsUG9wdXAtPmZyYW1lUmVjdCgpOwotICAgIG1fYXV0b2Zp
bGxQb3B1cC0+cmVmcmVzaChmb2N1c2VkV2ViQ29yZU5vZGUoKS0+Z2V0UmVjdCgpKTsKKyAgICBt
X2F1dG9maWxsUG9wdXAtPnJlZnJlc2goZm9jdXNlZFdlYkNvcmVOb2RlKCktPmdldFBpeGVsU25h
cHBlZFJlY3QoKSk7CiAgICAgSW50UmVjdCBuZXdCb3VuZHMgPSBtX2F1dG9maWxsUG9wdXAtPmZy
YW1lUmVjdCgpOwogICAgIC8vIExldCdzIHJlc2l6ZSB0aGUgYmFja2luZyB3aW5kb3cgaWYgbmVj
ZXNzYXJ5LgogICAgIGlmIChvbGRCb3VuZHMgIT0gbmV3Qm91bmRzKSB7CkluZGV4OiBTb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMTA2MTkpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0wMy0xMyAgRW1pbCBBIEVrbHVu
ZCAgPGVhZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW21hYy9jaHJvbWl1bV0gQ2hhbmdlIHBs
YXRmb3JtIGNvZGUgdG8gdXNlIHBpeGVsU25hcHBlZFJlY3QgbWV0aG9kcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODEwMTYKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBsdWdpbnMvV2ViQmFzZU5ldHNj
YXBlUGx1Z2luVmlldy5tbToKKyAgICAgICAgKC1bV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldyBh
Y3R1YWxWaXNpYmxlUmVjdEluV2luZG93XSk6CisgICAgICAgICogV2ViVmlldy9XZWJGcmFtZS5t
bToKKyAgICAgICAgKC1bV2ViRnJhbWUgX2dldFZpc2libGVSZWN0Ol0pOgorICAgICAgICAoLVtX
ZWJGcmFtZSBfY29tcHV0ZVBhZ2VSZWN0c1dpdGhQcmludFNjYWxlRmFjdG9yOnBhZ2VTaXplOl0p
OgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfZGFz
aGJvYXJkUmVnaW9uc10pOgorICAgICAgICAoLVtXZWJWaWV3IHRyYWNrZWRSZXBhaW50UmVjdHNd
KToKKwogMjAxMi0wMy0xMyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPiAmJiBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEFsd2F5cyBlbmFi
bGUgRU5BQkxFKENMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
bWFjL1BsdWdpbnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW0JKHJl
dmlzaW9uIDExMDYxMCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvV2ViQmFzZU5ldHNj
YXBlUGx1Z2luVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAtODc1LDcgKzg3NSw3IEBAIC0gKE5T
UmVjdClhY3R1YWxWaXNpYmxlUmVjdEluV2luZG93CiAgICAgaWYgKCFmcmFtZVZpZXcpCiAgICAg
ICAgIHJldHVybiBOU1plcm9SZWN0OwogCi0gICAgSW50UmVjdCB3aWRnZXRSZWN0ID0gcmVuZGVy
ZXItPmFic29sdXRlQ2xpcHBlZE92ZXJmbG93UmVjdCgpOworICAgIEludFJlY3Qgd2lkZ2V0UmVj
dCA9IHJlbmRlcmVyLT5waXhlbFNuYXBwZWRBYnNvbHV0ZUNsaXBwZWRPdmVyZmxvd1JlY3QoKTsK
ICAgICB3aWRnZXRSZWN0ID0gZnJhbWVWaWV3LT5jb250ZW50c1RvV2luZG93KHdpZGdldFJlY3Qp
OwogICAgIHJldHVybiBpbnRlcnNlY3Rpb24odG9SZW5kZXJXaWRnZXQocmVuZGVyZXIpLT53aW5k
b3dDbGlwUmVjdCgpLCB3aWRnZXRSZWN0KTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dl
YlZpZXcvV2ViRnJhbWUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmll
dy9XZWJGcmFtZS5tbQkocmV2aXNpb24gMTEwNjEwKQorKysgU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJGcmFtZS5tbQkod29ya2luZyBjb3B5KQpAQCAtNTgzLDcgKzU4Myw3IEBAIC0gKEJP
T0wpX2dldFZpc2libGVSZWN0OihOU1JlY3QqKXJlY3QKICAgICBpZiAoUmVuZGVyUGFydCogb3du
ZXJSZW5kZXJlciA9IF9wcml2YXRlLT5jb3JlRnJhbWUtPm93bmVyUmVuZGVyZXIoKSkgewogICAg
ICAgICBpZiAob3duZXJSZW5kZXJlci0+bmVlZHNMYXlvdXQoKSkKICAgICAgICAgICAgIHJldHVy
biBOTzsKLSAgICAgICAgKnJlY3QgPSBvd25lclJlbmRlcmVyLT5hYnNvbHV0ZUNsaXBwZWRPdmVy
Zmxvd1JlY3QoKTsKKyAgICAgICAgKnJlY3QgPSBvd25lclJlbmRlcmVyLT5waXhlbFNuYXBwZWRB
YnNvbHV0ZUNsaXBwZWRPdmVyZmxvd1JlY3QoKTsKICAgICAgICAgcmV0dXJuIFlFUzsKICAgICB9
CiAKQEAgLTEyOTMsOSArMTI5Myw5IEBAIC0gKE5TQXJyYXkgKilfY29tcHV0ZVBhZ2VSZWN0c1dp
dGhQcmludFMKICAgICBpZiAoIXJvb3QpCiAgICAgICAgIHJldHVybiBbTlNBcnJheSBhcnJheV07
CiAKLSAgICBjb25zdCBJbnRSZWN0JiBkb2N1bWVudFJlY3QgPSByb290LT5kb2N1bWVudFJlY3Qo
KTsKLSAgICBmbG9hdCBwcmludFdpZHRoID0gcm9vdC0+c3R5bGUoKS0+aXNIb3Jpem9udGFsV3Jp
dGluZ01vZGUoKSA/IGRvY3VtZW50UmVjdC53aWR0aCgpIC8gcHJpbnRTY2FsZUZhY3RvciA6IHBh
Z2VTaXplLndpZHRoOwotICAgIGZsb2F0IHByaW50SGVpZ2h0ID0gcm9vdC0+c3R5bGUoKS0+aXNI
b3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHBhZ2VTaXplLmhlaWdodCA6IGRvY3VtZW50UmVjdC5o
ZWlnaHQoKSAvIHByaW50U2NhbGVGYWN0b3I7CisgICAgY29uc3QgTGF5b3V0UmVjdCYgZG9jdW1l
bnRSZWN0ID0gcm9vdC0+ZG9jdW1lbnRSZWN0KCk7CisgICAgZmxvYXQgcHJpbnRXaWR0aCA9IHJv
b3QtPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBzdGF0aWNfY2FzdDxmbG9h
dD4oZG9jdW1lbnRSZWN0LndpZHRoKCkpIC8gcHJpbnRTY2FsZUZhY3RvciA6IHBhZ2VTaXplLndp
ZHRoOworICAgIGZsb2F0IHByaW50SGVpZ2h0ID0gcm9vdC0+c3R5bGUoKS0+aXNIb3Jpem9udGFs
V3JpdGluZ01vZGUoKSA/IHBhZ2VTaXplLmhlaWdodCA6IHN0YXRpY19jYXN0PGZsb2F0Pihkb2N1
bWVudFJlY3QuaGVpZ2h0KCkpIC8gcHJpbnRTY2FsZUZhY3RvcjsKIAogICAgIFByaW50Q29udGV4
dCBwcmludENvbnRleHQoX3ByaXZhdGUtPmNvcmVGcmFtZSk7CiAgICAgcHJpbnRDb250ZXh0LmNv
bXB1dGVQYWdlUmVjdHNXaXRoUGFnZVNpemUoRmxvYXRTaXplKHByaW50V2lkdGgsIHByaW50SGVp
Z2h0KSwgdHJ1ZSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCShyZXZp
c2lvbiAxMTA2MTApCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdv
cmtpbmcgY29weSkKQEAgLTIwMzMsNyArMjAzMyw3IEBAIC0gKE5TRGljdGlvbmFyeSAqKV9kYXNo
Ym9hcmRSZWdpb25zCiAgICAgICAgICAgICBbcmVnaW9uVmFsdWVzIHJlbGVhc2VdOwogICAgICAg
ICB9CiAKLSAgICAgICAgV2ViRGFzaGJvYXJkUmVnaW9uICp3ZWJSZWdpb24gPSBbW1dlYkRhc2hi
b2FyZFJlZ2lvbiBhbGxvY10gaW5pdFdpdGhSZWN0OnJlZ2lvbi5ib3VuZHMgY2xpcDpyZWdpb24u
Y2xpcCB0eXBlOnR5cGVdOworICAgICAgICBXZWJEYXNoYm9hcmRSZWdpb24gKndlYlJlZ2lvbiA9
IFtbV2ViRGFzaGJvYXJkUmVnaW9uIGFsbG9jXSBpbml0V2l0aFJlY3Q6cGl4ZWxTbmFwcGVkSW50
UmVjdChyZWdpb24uYm91bmRzKSBjbGlwOnBpeGVsU25hcHBlZEludFJlY3QocmVnaW9uLmNsaXAp
IHR5cGU6dHlwZV07CiAgICAgICAgIFtyZWdpb25WYWx1ZXMgYWRkT2JqZWN0OndlYlJlZ2lvbl07
CiAgICAgICAgIFt3ZWJSZWdpb24gcmVsZWFzZV07CiAgICAgfQpAQCAtMjQ5NCw3ICsyNDk0LDcg
QEAgLSAoTlNBcnJheSopdHJhY2tlZFJlcGFpbnRSZWN0cwogICAgIE5TTXV0YWJsZUFycmF5KiBy
ZWN0c0FycmF5ID0gW1tOU011dGFibGVBcnJheSBhbGxvY10gaW5pdFdpdGhDYXBhY2l0eTpyZXBh
aW50UmVjdHMuc2l6ZSgpXTsKICAgICAKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcmVw
YWludFJlY3RzLnNpemUoKTsgKytpKQotICAgICAgICBbcmVjdHNBcnJheSBhZGRPYmplY3Q6W05T
VmFsdWUgdmFsdWVXaXRoUmVjdDpyZXBhaW50UmVjdHNbaV1dXTsKKyAgICAgICAgW3JlY3RzQXJy
YXkgYWRkT2JqZWN0OltOU1ZhbHVlIHZhbHVlV2l0aFJlY3Q6cGl4ZWxTbmFwcGVkSW50UmVjdChy
ZXBhaW50UmVjdHNbaV0pXV07CiAKICAgICByZXR1cm4gW3JlY3RzQXJyYXkgYXV0b3JlbGVhc2Vd
OwogfQpJbmRleDogU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMDYxMCkKKysrIFNvdXJjZS9XZWJL
aXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDMt
MTMgIEVtaWwgQSBFa2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFttYWMvcXQv
Y2hyb21pdW1dIENoYW5nZSBwbGF0Zm9ybSBjb2RlIHRvIHVzZSBwaXhlbFNuYXBwZWRSZWN0IG1l
dGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgx
MDE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBB
cGkvcXdlYmVsZW1lbnQuY3BwOgorICAgICAgICAoUVdlYkVsZW1lbnQ6Omdlb21ldHJ5KToKKyAg
ICAgICAgKFFXZWJFbGVtZW50OjpyZW5kZXIpOgorCiAyMDEyLTAzLTEzICBCZW5qYW1pbiBQb3Vs
YWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEF0dGVtcHQgdG8gZml4IFF0TWlu
aW1hbCBib3QgYWZ0ZXIgcjExMDU5NQpJbmRleDogU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmVs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50
LmNwcAkocmV2aXNpb24gMTEwNjEwKQorKysgU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmVsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDk1LDcgKzE0OTUsNyBAQCB2b2lkIFFXZWJFbGVt
ZW50OjpyZW5kZXIoUVBhaW50ZXIqIHBhaW50CiAKICAgICB2aWV3LT51cGRhdGVMYXlvdXRBbmRT
dHlsZUlmTmVlZGVkUmVjdXJzaXZlKCk7CiAKLSAgICBJbnRSZWN0IHJlY3QgPSBlLT5nZXRSZWN0
KCk7CisgICAgSW50UmVjdCByZWN0ID0gZS0+Z2V0UGl4ZWxTbmFwcGVkUmVjdCgpOwogCiAgICAg
aWYgKHJlY3Quc2l6ZSgpLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131968</attachid>
            <date>2012-03-14 18:12:29 -0700</date>
            <delta_ts>2012-03-19 14:22:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81016-20120314181227.patch</filename>
            <type>text/plain</type>
            <size>11241</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMDc4NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAzLTE0ICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBbbWFjL2Nocm9taXVtXSBDaGFu
Z2UgcGxhdGZvcm0gY29kZSB0byB1c2UgcGl4ZWxTbmFwcGVkUmVjdCBtZXRob2RzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTAxNgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBwbGF0Zm9ybSBj
b2RlIHRvIHVzZSBOb2RlOjpnZXRQaXhlbFNuYXBwZWRSZWN0LAorICAgICAgICBwaXhlbFNuYXBw
ZWRCb3VuZGluZ0JveFJlY3QgYW5kIHBpeGVsU25hcHBlZEFic29sdXRlQ2xpcHBlZE92ZXJmbG93
UmVjdAorICAgICAgICB0byBhdm9pZCBleHBvc2luZyBzdWJwaXhlbCB0eXBlcyB0byB0aGUgcGxh
dGZvcm0gbGF5ZXIuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLgorCisgICAgICAgICogV2ViQ29y
ZS5leHAuaW46CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnBpeGVsU25hcHBlZEFic29sdXRlQ2xpcHBlZE92ZXJm
bG93UmVjdCk6CisgICAgICAgIEFkZCBwaXhlbFNuYXBwZWQgdmVyc2lvbiBvZiBhYnNvbHV0ZUNs
aXBwZWRPdmVyZmxvd1JlY3QKKyAgICAgICAgCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgIChSZW5kZXJPYmplY3QpOgorCiAy
MDEyLTAzLTEzICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAogICAgICAgICBTZXBhcmF0
ZSBOT1RJRklDQVRJT05TIGFuZCBMRUdBQ1lfTk9USUZJQ0FUSU9OUwpJbmRleDogU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5leHAuaW4JKHJldmlzaW9uIDExMDc4NikKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhw
LmluCSh3b3JraW5nIGNvcHkpCkBAIC0xMjE3LDYgKzEyMTcsNyBAQCBfX1pOSzdXZWJDb3JlMTJS
ZW5kZXJPYmplY3QxNGVuY2xvc2luZ0xhCiBfX1pOSzdXZWJDb3JlMTJSZW5kZXJPYmplY3QxNWxv
Y2FsVG9BYnNvbHV0ZUVSS05TXzEwRmxvYXRQb2ludEViYgogX19aTks3V2ViQ29yZTEyUmVuZGVy
T2JqZWN0MjBsb2NhbFRvQ29udGFpbmVyUXVhZEVSS05TXzlGbG9hdFF1YWRFUE5TXzIwUmVuZGVy
Qm94TW9kZWxPYmplY3RFYlBiCiBfX1pOSzdXZWJDb3JlMTJSZW5kZXJPYmplY3QyM2Fic29sdXRl
Qm91bmRpbmdCb3hSZWN0RWIKK19fWk5LN1dlYkNvcmUxMlJlbmRlck9iamVjdDM5cGl4ZWxTbmFw
cGVkQWJzb2x1dGVDbGlwcGVkT3ZlcmZsb3dSZWN0RXYKIF9fWk5LN1dlYkNvcmUxMlJlbmRlck9i
amVjdDdjaGlsZEF0RWoKIF9fWk5LN1dlYkNvcmUxMlJlbmRlcldpZGdldDE0d2luZG93Q2xpcFJl
Y3RFdgogX19aTks3V2ViQ29yZTEyU2hhcmVkQnVmZmVyMTFnZXRTb21lRGF0YUVSUEtjagpJbmRl
eDogU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZS5oCShyZXZpc2lvbiAxMTA3ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNzUsNiArMzc1LDcgQEAgcHVibGljOgogCiAgICAgdmly
dHVhbCBib29sIHNob3VsZFVzZUlucHV0TWV0aG9kKCk7CiAgICAgdmlydHVhbCBMYXlvdXRSZWN0
IGdldFJlY3QoKSBjb25zdDsKKyAgICBJbnRSZWN0IGdldFBpeGVsU25hcHBlZFJlY3QoKSBjb25z
dCB7IHJldHVybiBwaXhlbFNuYXBwZWRJbnRSZWN0KGdldFJlY3QoKSk7IH0KICAgICBMYXlvdXRS
ZWN0IHJlbmRlclJlY3QoYm9vbCogaXNSZXBsYWNlZCk7CiAKICAgICAvLyBSZXR1cm5zIHRydWUg
aWYgdGhlIG5vZGUgaGFzIGEgbm9uLWVtcHR5IGJvdW5kaW5nIGJveCBpbiBsYXlvdXQuCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAkocmV2aXNpb24gMTEw
Nzg2KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEzNjIsNiArMTM2MiwxMSBAQCB2b2lkIFJlbmRlck9iamVjdDo6cmVwYWlu
dFJlY3RhbmdsZShjb25zCiAgICAgcmVwYWludFVzaW5nQ29udGFpbmVyKHJlcGFpbnRDb250YWlu
ZXIgPyByZXBhaW50Q29udGFpbmVyIDogdmlldywgZGlydHlSZWN0LCBpbW1lZGlhdGUpOwogfQog
CitJbnRSZWN0IFJlbmRlck9iamVjdDo6cGl4ZWxTbmFwcGVkQWJzb2x1dGVDbGlwcGVkT3ZlcmZs
b3dSZWN0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gcGl4ZWxTbmFwcGVkSW50UmVjdChhYnNvbHV0
ZUNsaXBwZWRPdmVyZmxvd1JlY3QoKSk7Cit9CisKIGJvb2wgUmVuZGVyT2JqZWN0OjpyZXBhaW50
QWZ0ZXJMYXlvdXRJZk5lZWRlZChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5l
ciwgY29uc3QgTGF5b3V0UmVjdCYgb2xkQm91bmRzLCBjb25zdCBMYXlvdXRSZWN0JiBvbGRPdXRs
aW5lQm94LCBjb25zdCBMYXlvdXRSZWN0KiBuZXdCb3VuZHNQdHIsIGNvbnN0IExheW91dFJlY3Qq
IG5ld091dGxpbmVCb3hSZWN0UHRyKQogewogICAgIFJlbmRlclZpZXcqIHYgPSB2aWV3KCk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCShyZXZpc2lvbiAxMTA3
ODYpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgJKHdvcmtpbmcg
Y29weSkKQEAgLTcxNyw2ICs3MTcsNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4g
Y2xpcHBlZE92ZXJmbG93UmVjdEZvclJlcGFpbnQoMCk7CiAgICAgfQorICAgIEludFJlY3QgcGl4
ZWxTbmFwcGVkQWJzb2x1dGVDbGlwcGVkT3ZlcmZsb3dSZWN0KCkgY29uc3Q7CiAgICAgdmlydHVh
bCBMYXlvdXRSZWN0IGNsaXBwZWRPdmVyZmxvd1JlY3RGb3JSZXBhaW50KFJlbmRlckJveE1vZGVs
T2JqZWN0KiByZXBhaW50Q29udGFpbmVyKSBjb25zdDsKICAgICB2aXJ0dWFsIExheW91dFJlY3Qg
cmVjdFdpdGhPdXRsaW5lRm9yUmVwYWludChSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENv
bnRhaW5lciwgTGF5b3V0VW5pdCBvdXRsaW5lV2lkdGgpIGNvbnN0OwogCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gMTEwNzg2KQorKysgU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0wMy0x
NCAgRW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW21hYy9jaHJv
bWl1bV0gQ2hhbmdlIHBsYXRmb3JtIGNvZGUgdG8gdXNlIHBpeGVsU25hcHBlZFJlY3QgbWV0aG9k
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODEwMTYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHNyYy9X
ZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpjb21wdXRlQmxv
Y2tCb3VuZHMpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6YXBwbHlBdXRvZmlsbFN1
Z2dlc3Rpb25zKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnJlZnJlc2hBdXRvZmls
bFBvcHVwKToKKwogMjAxMi0wMy0xMyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgU2VwYXJhdGUgTk9USUZJQ0FUSU9OUyBhbmQgTEVHQUNZX05PVElGSUNBVElPTlMKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAJKHJldmlzaW9u
IDExMDc4NikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtODA3LDcgKzgwNyw3IEBAIFdlYlJlY3QgV2ViVmlld0ltcGw6OmNv
bXB1dGVCbG9ja0JvdW5kcygKIAogICAgIC8vIFJldHVybiB0aGUgYm91bmRpbmcgYm94IGluIHRo
ZSB3aW5kb3cgY29vcmRpbmF0ZSBzeXN0ZW0uCiAgICAgaWYgKG5vZGUpIHsKLSAgICAgICAgSW50
UmVjdCByZWN0ID0gbm9kZS0+Tm9kZTo6Z2V0UmVjdCgpOworICAgICAgICBJbnRSZWN0IHJlY3Qg
PSBub2RlLT5Ob2RlOjpnZXRQaXhlbFNuYXBwZWRSZWN0KCk7CiAgICAgICAgIEZyYW1lKiBmcmFt
ZSA9IG5vZGUtPmRvY3VtZW50KCktPmZyYW1lKCk7CiAgICAgICAgIHJldHVybiBmcmFtZS0+dmll
dygpLT5jb250ZW50c1RvV2luZG93KHJlY3QpOwogICAgIH0KQEAgLTI3MDQsNyArMjcwNCw3IEBA
IHZvaWQgV2ViVmlld0ltcGw6OmFwcGx5QXV0b2ZpbGxTdWdnZXN0aW8KICAgICBpZiAobV9hdXRv
ZmlsbFBvcHVwU2hvd2luZykgewogICAgICAgICByZWZyZXNoQXV0b2ZpbGxQb3B1cCgpOwogICAg
IH0gZWxzZSB7Ci0gICAgICAgIG1fYXV0b2ZpbGxQb3B1cC0+c2hvd0luUmVjdChmb2N1c2VkTm9k
ZS0+Z2V0UmVjdCgpLCBmb2N1c2VkTm9kZS0+b3duZXJEb2N1bWVudCgpLT52aWV3KCksIDApOwor
ICAgICAgICBtX2F1dG9maWxsUG9wdXAtPnNob3dJblJlY3QoZm9jdXNlZE5vZGUtPmdldFBpeGVs
U25hcHBlZFJlY3QoKSwgZm9jdXNlZE5vZGUtPm93bmVyRG9jdW1lbnQoKS0+dmlldygpLCAwKTsK
ICAgICAgICAgbV9hdXRvZmlsbFBvcHVwU2hvd2luZyA9IHRydWU7CiAgICAgfQogfQpAQCAtMjk3
Nyw3ICsyOTc3LDcgQEAgdm9pZCBXZWJWaWV3SW1wbDo6cmVmcmVzaEF1dG9maWxsUG9wdXAoKQog
ICAgIH0KIAogICAgIEludFJlY3Qgb2xkQm91bmRzID0gbV9hdXRvZmlsbFBvcHVwLT5mcmFtZVJl
Y3QoKTsKLSAgICBtX2F1dG9maWxsUG9wdXAtPnJlZnJlc2goZm9jdXNlZFdlYkNvcmVOb2RlKCkt
PmdldFJlY3QoKSk7CisgICAgbV9hdXRvZmlsbFBvcHVwLT5yZWZyZXNoKGZvY3VzZWRXZWJDb3Jl
Tm9kZSgpLT5nZXRQaXhlbFNuYXBwZWRSZWN0KCkpOwogICAgIEludFJlY3QgbmV3Qm91bmRzID0g
bV9hdXRvZmlsbFBvcHVwLT5mcmFtZVJlY3QoKTsKICAgICAvLyBMZXQncyByZXNpemUgdGhlIGJh
Y2tpbmcgd2luZG93IGlmIG5lY2Vzc2FyeS4KICAgICBpZiAob2xkQm91bmRzICE9IG5ld0JvdW5k
cykgewpJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMTEwNzg2KQorKysgU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTIt
MDMtMTQgIEVtaWwgQSBFa2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFttYWMv
Y2hyb21pdW1dIENoYW5nZSBwbGF0Zm9ybSBjb2RlIHRvIHVzZSBwaXhlbFNuYXBwZWRSZWN0IG1l
dGhvZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgx
MDE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQ
bHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW06CisgICAgICAgICgtW1dlYkJhc2VO
ZXRzY2FwZVBsdWdpblZpZXcgYWN0dWFsVmlzaWJsZVJlY3RJbldpbmRvd10pOgorICAgICAgICAq
IFdlYlZpZXcvV2ViRnJhbWUubW06CisgICAgICAgICgtW1dlYkZyYW1lIF9nZXRWaXNpYmxlUmVj
dDpdKToKKyAgICAgICAgKC1bV2ViRnJhbWUgX2NvbXB1dGVQYWdlUmVjdHNXaXRoUHJpbnRTY2Fs
ZUZhY3RvcjpwYWdlU2l6ZTpdKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAg
ICAgICgtW1dlYlZpZXcgX2Rhc2hib2FyZFJlZ2lvbnNdKToKKyAgICAgICAgKC1bV2ViVmlldyB0
cmFja2VkUmVwYWludFJlY3RzXSk6CisKIDIwMTItMDMtMTMgIEpvbiBMZWUgIDxqb25sZWVAYXBw
bGUuY29tPgogCiAgICAgICAgIFNlcGFyYXRlIE5PVElGSUNBVElPTlMgYW5kIExFR0FDWV9OT1RJ
RklDQVRJT05TCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYkJhc2VOZXRzY2Fw
ZVBsdWdpblZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9X
ZWJCYXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCShyZXZpc2lvbiAxMTA3ODYpCisrKyBTb3VyY2Uv
V2ViS2l0L21hYy9QbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTg3NSw3ICs4NzUsNyBAQCAtIChOU1JlY3QpYWN0dWFsVmlzaWJsZVJlY3RJbldp
bmRvdwogICAgIGlmICghZnJhbWVWaWV3KQogICAgICAgICByZXR1cm4gTlNaZXJvUmVjdDsKIAot
ICAgIEludFJlY3Qgd2lkZ2V0UmVjdCA9IHJlbmRlcmVyLT5hYnNvbHV0ZUNsaXBwZWRPdmVyZmxv
d1JlY3QoKTsKKyAgICBJbnRSZWN0IHdpZGdldFJlY3QgPSByZW5kZXJlci0+cGl4ZWxTbmFwcGVk
QWJzb2x1dGVDbGlwcGVkT3ZlcmZsb3dSZWN0KCk7CiAgICAgd2lkZ2V0UmVjdCA9IGZyYW1lVmll
dy0+Y29udGVudHNUb1dpbmRvdyh3aWRnZXRSZWN0KTsKICAgICByZXR1cm4gaW50ZXJzZWN0aW9u
KHRvUmVuZGVyV2lkZ2V0KHJlbmRlcmVyKS0+d2luZG93Q2xpcFJlY3QoKSwgd2lkZ2V0UmVjdCk7
CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0JKHJldmlzaW9uIDEx
MDc4NikKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0JKHdvcmtpbmcg
Y29weSkKQEAgLTU4Myw3ICs1ODMsNyBAQCAtIChCT09MKV9nZXRWaXNpYmxlUmVjdDooTlNSZWN0
KilyZWN0CiAgICAgaWYgKFJlbmRlclBhcnQqIG93bmVyUmVuZGVyZXIgPSBfcHJpdmF0ZS0+Y29y
ZUZyYW1lLT5vd25lclJlbmRlcmVyKCkpIHsKICAgICAgICAgaWYgKG93bmVyUmVuZGVyZXItPm5l
ZWRzTGF5b3V0KCkpCiAgICAgICAgICAgICByZXR1cm4gTk87Ci0gICAgICAgICpyZWN0ID0gb3du
ZXJSZW5kZXJlci0+YWJzb2x1dGVDbGlwcGVkT3ZlcmZsb3dSZWN0KCk7CisgICAgICAgICpyZWN0
ID0gb3duZXJSZW5kZXJlci0+cGl4ZWxTbmFwcGVkQWJzb2x1dGVDbGlwcGVkT3ZlcmZsb3dSZWN0
KCk7CiAgICAgICAgIHJldHVybiBZRVM7CiAgICAgfQogCkBAIC0xMjkzLDkgKzEyOTMsOSBAQCAt
IChOU0FycmF5ICopX2NvbXB1dGVQYWdlUmVjdHNXaXRoUHJpbnRTCiAgICAgaWYgKCFyb290KQog
ICAgICAgICByZXR1cm4gW05TQXJyYXkgYXJyYXldOwogCi0gICAgY29uc3QgSW50UmVjdCYgZG9j
dW1lbnRSZWN0ID0gcm9vdC0+ZG9jdW1lbnRSZWN0KCk7Ci0gICAgZmxvYXQgcHJpbnRXaWR0aCA9
IHJvb3QtPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBkb2N1bWVudFJlY3Qu
d2lkdGgoKSAvIHByaW50U2NhbGVGYWN0b3IgOiBwYWdlU2l6ZS53aWR0aDsKLSAgICBmbG9hdCBw
cmludEhlaWdodCA9IHJvb3QtPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBw
YWdlU2l6ZS5oZWlnaHQgOiBkb2N1bWVudFJlY3QuaGVpZ2h0KCkgLyBwcmludFNjYWxlRmFjdG9y
OworICAgIGNvbnN0IExheW91dFJlY3QmIGRvY3VtZW50UmVjdCA9IHJvb3QtPmRvY3VtZW50UmVj
dCgpOworICAgIGZsb2F0IHByaW50V2lkdGggPSByb290LT5zdHlsZSgpLT5pc0hvcml6b250YWxX
cml0aW5nTW9kZSgpID8gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGRvY3VtZW50UmVjdC53aWR0aCgpKSAv
IHByaW50U2NhbGVGYWN0b3IgOiBwYWdlU2l6ZS53aWR0aDsKKyAgICBmbG9hdCBwcmludEhlaWdo
dCA9IHJvb3QtPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBwYWdlU2l6ZS5o
ZWlnaHQgOiBzdGF0aWNfY2FzdDxmbG9hdD4oZG9jdW1lbnRSZWN0LmhlaWdodCgpKSAvIHByaW50
U2NhbGVGYWN0b3I7CiAKICAgICBQcmludENvbnRleHQgcHJpbnRDb250ZXh0KF9wcml2YXRlLT5j
b3JlRnJhbWUpOwogICAgIHByaW50Q29udGV4dC5jb21wdXRlUGFnZVJlY3RzV2l0aFBhZ2VTaXpl
KEZsb2F0U2l6ZShwcmludFdpZHRoLCBwcmludEhlaWdodCksIHRydWUpOwpJbmRleDogU291cmNl
L1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24gMTEwNzg2KQorKysgU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yMDMzLDcgKzIw
MzMsNyBAQCAtIChOU0RpY3Rpb25hcnkgKilfZGFzaGJvYXJkUmVnaW9ucwogICAgICAgICAgICAg
W3JlZ2lvblZhbHVlcyByZWxlYXNlXTsKICAgICAgICAgfQogCi0gICAgICAgIFdlYkRhc2hib2Fy
ZFJlZ2lvbiAqd2ViUmVnaW9uID0gW1tXZWJEYXNoYm9hcmRSZWdpb24gYWxsb2NdIGluaXRXaXRo
UmVjdDpyZWdpb24uYm91bmRzIGNsaXA6cmVnaW9uLmNsaXAgdHlwZTp0eXBlXTsKKyAgICAgICAg
V2ViRGFzaGJvYXJkUmVnaW9uICp3ZWJSZWdpb24gPSBbW1dlYkRhc2hib2FyZFJlZ2lvbiBhbGxv
Y10gaW5pdFdpdGhSZWN0OnBpeGVsU25hcHBlZEludFJlY3QocmVnaW9uLmJvdW5kcykgY2xpcDpw
aXhlbFNuYXBwZWRJbnRSZWN0KHJlZ2lvbi5jbGlwKSB0eXBlOnR5cGVdOwogICAgICAgICBbcmVn
aW9uVmFsdWVzIGFkZE9iamVjdDp3ZWJSZWdpb25dOwogICAgICAgICBbd2ViUmVnaW9uIHJlbGVh
c2VdOwogICAgIH0KQEAgLTI0OTQsNyArMjQ5NCw3IEBAIC0gKE5TQXJyYXkqKXRyYWNrZWRSZXBh
aW50UmVjdHMKICAgICBOU011dGFibGVBcnJheSogcmVjdHNBcnJheSA9IFtbTlNNdXRhYmxlQXJy
YXkgYWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6cmVwYWludFJlY3RzLnNpemUoKV07CiAgICAgCiAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHJlcGFpbnRSZWN0cy5zaXplKCk7ICsraSkKLSAg
ICAgICAgW3JlY3RzQXJyYXkgYWRkT2JqZWN0OltOU1ZhbHVlIHZhbHVlV2l0aFJlY3Q6cmVwYWlu
dFJlY3RzW2ldXV07CisgICAgICAgIFtyZWN0c0FycmF5IGFkZE9iamVjdDpbTlNWYWx1ZSB2YWx1
ZVdpdGhSZWN0OnBpeGVsU25hcHBlZEludFJlY3QocmVwYWludFJlY3RzW2ldKV1dOwogCiAgICAg
cmV0dXJuIFtyZWN0c0FycmF5IGF1dG9yZWxlYXNlXTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQv
cXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAxMTA3ODYpCisrKyBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEyLTAzLTE0ICBFbWlsIEEgRWtsdW5kICA8ZWFlQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBbbWFjL3F0L2Nocm9taXVtXSBDaGFuZ2UgcGxhdGZvcm0g
Y29kZSB0byB1c2UgcGl4ZWxTbmFwcGVkUmVjdCBtZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTAxNgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQXBpL3F3ZWJlbGVtZW50LmNwcDoKKyAgICAg
ICAgKFFXZWJFbGVtZW50OjpnZW9tZXRyeSk6CisgICAgICAgIChRV2ViRWxlbWVudDo6cmVuZGVy
KToKKwogMjAxMi0wMy0xMyAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAgICAgICAg
U2VwYXJhdGUgTk9USUZJQ0FUSU9OUyBhbmQgTEVHQUNZX05PVElGSUNBVElPTlMKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVudC5jcHAJKHJldmlzaW9uIDExMDc4NikKKysrIFNvdXJj
ZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ5NSw3
ICsxNDk1LDcgQEAgdm9pZCBRV2ViRWxlbWVudDo6cmVuZGVyKFFQYWludGVyKiBwYWludAogCiAg
ICAgdmlldy0+dXBkYXRlTGF5b3V0QW5kU3R5bGVJZk5lZWRlZFJlY3Vyc2l2ZSgpOwogCi0gICAg
SW50UmVjdCByZWN0ID0gZS0+Z2V0UmVjdCgpOworICAgIEludFJlY3QgcmVjdCA9IGUtPmdldFBp
eGVsU25hcHBlZFJlY3QoKTsKIAogICAgIGlmIChyZWN0LnNpemUoKS5pc0VtcHR5KCkpCiAgICAg
ICAgIHJldHVybjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132671</attachid>
            <date>2012-03-19 14:22:26 -0700</date>
            <delta_ts>2012-03-19 16:34:11 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-81016-20120319142224.patch</filename>
            <type>text/plain</type>
            <size>9957</size>
            <attacher name="Emil A Eklund">eae</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMTIzNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAzLTE5ICBFbWlsIEEg
RWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KKworICAgICAgICBbbWFjL2Nocm9taXVtXSBDaGFu
Z2UgcGxhdGZvcm0gY29kZSB0byB1c2UgcGl4ZWxTbmFwcGVkUmVjdCBtZXRob2RzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTAxNgorCisgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgorCisgICAgICAgIENoYW5nZSBwbGF0Zm9ybSBjb2Rl
IHRvIHVzZSBOb2RlOjpnZXRQaXhlbFNuYXBwZWRSZWN0LAorICAgICAgICBwaXhlbFNuYXBwZWRC
b3VuZGluZ0JveFJlY3QgYW5kIHBpeGVsU25hcHBlZEFic29sdXRlQ2xpcHBlZE92ZXJmbG93UmVj
dAorICAgICAgICB0byBhdm9pZCBleHBvc2luZyBzdWJwaXhlbCB0eXBlcyB0byB0aGUgcGxhdGZv
cm0gbGF5ZXIuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLgorCisgICAgICAgICogV2ViQ29yZS5l
eHAuaW46CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnBpeGVsU25hcHBlZEFic29sdXRlQ2xpcHBlZE92ZXJmbG93
UmVjdCk6CisgICAgICAgIEFkZCBwaXhlbFNuYXBwZWQgdmVyc2lvbiBvZiBhYnNvbHV0ZUNsaXBw
ZWRPdmVyZmxvd1JlY3QKKyAgICAgICAgCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgIChSZW5kZXJPYmplY3QpOgorCiAyMDEy
LTAzLTE5ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTA5MDE0LgpJbmRleDogU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5l
eHAuaW4JKHJldmlzaW9uIDExMTIzNykKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CSh3b3JraW5nIGNvcHkpCkBAIC0xMjIwLDYgKzEyMjAsNyBAQCBfX1pOSzdXZWJDb3JlMTJSZW5k
ZXJPYmplY3QxNGVuY2xvc2luZ0xhCiBfX1pOSzdXZWJDb3JlMTJSZW5kZXJPYmplY3QxNWxvY2Fs
VG9BYnNvbHV0ZUVSS05TXzEwRmxvYXRQb2ludEViYgogX19aTks3V2ViQ29yZTEyUmVuZGVyT2Jq
ZWN0MjBsb2NhbFRvQ29udGFpbmVyUXVhZEVSS05TXzlGbG9hdFF1YWRFUE5TXzIwUmVuZGVyQm94
TW9kZWxPYmplY3RFYlBiCiBfX1pOSzdXZWJDb3JlMTJSZW5kZXJPYmplY3QyM2Fic29sdXRlQm91
bmRpbmdCb3hSZWN0RWIKK19fWk5LN1dlYkNvcmUxMlJlbmRlck9iamVjdDM5cGl4ZWxTbmFwcGVk
QWJzb2x1dGVDbGlwcGVkT3ZlcmZsb3dSZWN0RXYKIF9fWk5LN1dlYkNvcmUxMlJlbmRlck9iamVj
dDdjaGlsZEF0RWoKIF9fWk5LN1dlYkNvcmUxMlJlbmRlcldpZGdldDE0d2luZG93Q2xpcFJlY3RF
dgogX19aTks3V2ViQ29yZTEyU2hhcmVkQnVmZmVyMTFnZXRTb21lRGF0YUVSUEtjagpJbmRleDog
U291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5oCShyZXZpc2lvbiAxMTEyMzcpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zNzUsNiArMzc1LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVh
bCBib29sIHNob3VsZFVzZUlucHV0TWV0aG9kKCk7CiAgICAgdmlydHVhbCBMYXlvdXRSZWN0IGdl
dFJlY3QoKSBjb25zdDsKKyAgICBJbnRSZWN0IGdldFBpeGVsU25hcHBlZFJlY3QoKSBjb25zdCB7
IHJldHVybiBwaXhlbFNuYXBwZWRJbnRSZWN0KGdldFJlY3QoKSk7IH0KICAgICBMYXlvdXRSZWN0
IHJlbmRlclJlY3QoYm9vbCogaXNSZXBsYWNlZCk7CiAKICAgICAvLyBSZXR1cm5zIHRydWUgaWYg
dGhlIG5vZGUgaGFzIGEgbm9uLWVtcHR5IGJvdW5kaW5nIGJveCBpbiBsYXlvdXQuCkluZGV4OiBT
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gMTExMjM3KQorKysgU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAx
Mi0wMy0xOSAgRW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW21h
Yy9jaHJvbWl1bV0gQ2hhbmdlIHBsYXRmb3JtIGNvZGUgdG8gdXNlIHBpeGVsU25hcHBlZFJlY3Qg
bWV0aG9kcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODEwMTYKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KKworICAgICAgICAqIHNy
Yy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpjb21wdXRl
QmxvY2tCb3VuZHMpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6YXBwbHlBdXRvZmls
bFN1Z2dlc3Rpb25zKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnJlZnJlc2hBdXRv
ZmlsbFBvcHVwKToKKwogMjAxMi0wMy0xOSAgTWljaGFsIE1vY255ICA8bW1vY255QGdvb2dsZS5j
b20+CiAKICAgICAgICAgW2Nocm9taXVtXSBVcGRhdGluZyBXZWJHcmFwaGljc0NvbnRleHQzRCBN
ZW1vcnlBbGxvY2F0aW9uIGNhbGxiYWNrIHRvIGFjY2VwdCBhIHN0cnVjdCB3aXRoIGhhdmUgYmFj
a2J1ZmZlciBzdWdnZXN0aW9uLgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
Vmlld0ltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlZpZXdJbXBsLmNwcAkocmV2aXNpb24gMTExMjM3KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NjEsNyArODYxLDcgQEAg
V2ViUmVjdCBXZWJWaWV3SW1wbDo6Y29tcHV0ZUJsb2NrQm91bmRzKAogCiAgICAgLy8gUmV0dXJu
IHRoZSBib3VuZGluZyBib3ggaW4gdGhlIHdpbmRvdyBjb29yZGluYXRlIHN5c3RlbS4KICAgICBp
ZiAobm9kZSkgewotICAgICAgICBJbnRSZWN0IHJlY3QgPSBub2RlLT5Ob2RlOjpnZXRSZWN0KCk7
CisgICAgICAgIEludFJlY3QgcmVjdCA9IG5vZGUtPk5vZGU6OmdldFBpeGVsU25hcHBlZFJlY3Qo
KTsKICAgICAgICAgRnJhbWUqIGZyYW1lID0gbm9kZS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKTsKICAg
ICAgICAgcmV0dXJuIGZyYW1lLT52aWV3KCktPmNvbnRlbnRzVG9XaW5kb3cocmVjdCk7CiAgICAg
fQpAQCAtMjc1OSw3ICsyNzU5LDcgQEAgdm9pZCBXZWJWaWV3SW1wbDo6YXBwbHlBdXRvZmlsbFN1
Z2dlc3RpbwogICAgIGlmIChtX2F1dG9maWxsUG9wdXBTaG93aW5nKSB7CiAgICAgICAgIHJlZnJl
c2hBdXRvZmlsbFBvcHVwKCk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgbV9hdXRvZmlsbFBvcHVw
LT5zaG93SW5SZWN0KGZvY3VzZWROb2RlLT5nZXRSZWN0KCksIGZvY3VzZWROb2RlLT5vd25lckRv
Y3VtZW50KCktPnZpZXcoKSwgMCk7CisgICAgICAgIG1fYXV0b2ZpbGxQb3B1cC0+c2hvd0luUmVj
dChmb2N1c2VkTm9kZS0+Z2V0UGl4ZWxTbmFwcGVkUmVjdCgpLCBmb2N1c2VkTm9kZS0+b3duZXJE
b2N1bWVudCgpLT52aWV3KCksIDApOwogICAgICAgICBtX2F1dG9maWxsUG9wdXBTaG93aW5nID0g
dHJ1ZTsKICAgICB9CiB9CkBAIC0zMDM0LDcgKzMwMzQsNyBAQCB2b2lkIFdlYlZpZXdJbXBsOjpy
ZWZyZXNoQXV0b2ZpbGxQb3B1cCgpCiAgICAgfQogCiAgICAgSW50UmVjdCBvbGRCb3VuZHMgPSBt
X2F1dG9maWxsUG9wdXAtPmZyYW1lUmVjdCgpOwotICAgIG1fYXV0b2ZpbGxQb3B1cC0+cmVmcmVz
aChmb2N1c2VkV2ViQ29yZU5vZGUoKS0+Z2V0UmVjdCgpKTsKKyAgICBtX2F1dG9maWxsUG9wdXAt
PnJlZnJlc2goZm9jdXNlZFdlYkNvcmVOb2RlKCktPmdldFBpeGVsU25hcHBlZFJlY3QoKSk7CiAg
ICAgSW50UmVjdCBuZXdCb3VuZHMgPSBtX2F1dG9maWxsUG9wdXAtPmZyYW1lUmVjdCgpOwogICAg
IC8vIExldCdzIHJlc2l6ZSB0aGUgYmFja2luZyB3aW5kb3cgaWYgbmVjZXNzYXJ5LgogICAgIGlm
IChvbGRCb3VuZHMgIT0gbmV3Qm91bmRzKSB7CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lv
biAxMTEyMzcpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxOSBAQAorMjAxMi0wMy0xOSAgRW1pbCBBIEVrbHVuZCAgPGVhZUBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgW21hYy9jaHJvbWl1bV0gQ2hhbmdlIHBsYXRmb3JtIGNvZGUgdG8g
dXNlIHBpeGVsU25hcHBlZFJlY3QgbWV0aG9kcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODEwMTYKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNl
aWRlbC4KKworICAgICAgICAqIFBsdWdpbnMvV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldy5tbToK
KyAgICAgICAgKC1bV2ViQmFzZU5ldHNjYXBlUGx1Z2luVmlldyBhY3R1YWxWaXNpYmxlUmVjdElu
V2luZG93XSk6CisgICAgICAgICogV2ViVmlldy9XZWJGcmFtZS5tbToKKyAgICAgICAgKC1bV2Vi
RnJhbWUgX2dldFZpc2libGVSZWN0Ol0pOgorICAgICAgICAoLVtXZWJGcmFtZSBfY29tcHV0ZVBh
Z2VSZWN0c1dpdGhQcmludFNjYWxlRmFjdG9yOnBhZ2VTaXplOl0pOgorICAgICAgICAqIFdlYlZp
ZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfZGFzaGJvYXJkUmVnaW9uc10pOgor
ICAgICAgICAoLVtXZWJWaWV3IHRyYWNrZWRSZXBhaW50UmVjdHNdKToKKwogMjAxMi0wMy0xNiAg
QnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzExMDI3OTk3PiBhbmQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgxNDEyCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBs
dWdpblZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9XZWJC
YXNlTmV0c2NhcGVQbHVnaW5WaWV3Lm1tCShyZXZpc2lvbiAxMTEyMzcpCisrKyBTb3VyY2UvV2Vi
S2l0L21hYy9QbHVnaW5zL1dlYkJhc2VOZXRzY2FwZVBsdWdpblZpZXcubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTg3NSw3ICs4NzUsNyBAQCAtIChOU1JlY3QpYWN0dWFsVmlzaWJsZVJlY3RJbldpbmRv
dwogICAgIGlmICghZnJhbWVWaWV3KQogICAgICAgICByZXR1cm4gTlNaZXJvUmVjdDsKIAotICAg
IEludFJlY3Qgd2lkZ2V0UmVjdCA9IHJlbmRlcmVyLT5hYnNvbHV0ZUNsaXBwZWRPdmVyZmxvd1Jl
Y3QoKTsKKyAgICBJbnRSZWN0IHdpZGdldFJlY3QgPSByZW5kZXJlci0+cGl4ZWxTbmFwcGVkQWJz
b2x1dGVDbGlwcGVkT3ZlcmZsb3dSZWN0KCk7CiAgICAgd2lkZ2V0UmVjdCA9IGZyYW1lVmlldy0+
Y29udGVudHNUb1dpbmRvdyh3aWRnZXRSZWN0KTsKICAgICByZXR1cm4gaW50ZXJzZWN0aW9uKHRv
UmVuZGVyV2lkZ2V0KHJlbmRlcmVyKS0+d2luZG93Q2xpcFJlY3QoKSwgd2lkZ2V0UmVjdCk7CiB9
CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0JKHJldmlzaW9uIDExMTIz
NykKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTU4Myw3ICs1ODMsNyBAQCAtIChCT09MKV9nZXRWaXNpYmxlUmVjdDooTlNSZWN0Kily
ZWN0CiAgICAgaWYgKFJlbmRlclBhcnQqIG93bmVyUmVuZGVyZXIgPSBfcHJpdmF0ZS0+Y29yZUZy
YW1lLT5vd25lclJlbmRlcmVyKCkpIHsKICAgICAgICAgaWYgKG93bmVyUmVuZGVyZXItPm5lZWRz
TGF5b3V0KCkpCiAgICAgICAgICAgICByZXR1cm4gTk87Ci0gICAgICAgICpyZWN0ID0gb3duZXJS
ZW5kZXJlci0+YWJzb2x1dGVDbGlwcGVkT3ZlcmZsb3dSZWN0KCk7CisgICAgICAgICpyZWN0ID0g
b3duZXJSZW5kZXJlci0+cGl4ZWxTbmFwcGVkQWJzb2x1dGVDbGlwcGVkT3ZlcmZsb3dSZWN0KCk7
CiAgICAgICAgIHJldHVybiBZRVM7CiAgICAgfQogCkBAIC0xMjkzLDkgKzEyOTMsOSBAQCAtIChO
U0FycmF5ICopX2NvbXB1dGVQYWdlUmVjdHNXaXRoUHJpbnRTCiAgICAgaWYgKCFyb290KQogICAg
ICAgICByZXR1cm4gW05TQXJyYXkgYXJyYXldOwogCi0gICAgY29uc3QgSW50UmVjdCYgZG9jdW1l
bnRSZWN0ID0gcm9vdC0+ZG9jdW1lbnRSZWN0KCk7Ci0gICAgZmxvYXQgcHJpbnRXaWR0aCA9IHJv
b3QtPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBkb2N1bWVudFJlY3Qud2lk
dGgoKSAvIHByaW50U2NhbGVGYWN0b3IgOiBwYWdlU2l6ZS53aWR0aDsKLSAgICBmbG9hdCBwcmlu
dEhlaWdodCA9IHJvb3QtPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBwYWdl
U2l6ZS5oZWlnaHQgOiBkb2N1bWVudFJlY3QuaGVpZ2h0KCkgLyBwcmludFNjYWxlRmFjdG9yOwor
ICAgIGNvbnN0IExheW91dFJlY3QmIGRvY3VtZW50UmVjdCA9IHJvb3QtPmRvY3VtZW50UmVjdCgp
OworICAgIGZsb2F0IHByaW50V2lkdGggPSByb290LT5zdHlsZSgpLT5pc0hvcml6b250YWxXcml0
aW5nTW9kZSgpID8gc3RhdGljX2Nhc3Q8ZmxvYXQ+KGRvY3VtZW50UmVjdC53aWR0aCgpKSAvIHBy
aW50U2NhbGVGYWN0b3IgOiBwYWdlU2l6ZS53aWR0aDsKKyAgICBmbG9hdCBwcmludEhlaWdodCA9
IHJvb3QtPnN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBwYWdlU2l6ZS5oZWln
aHQgOiBzdGF0aWNfY2FzdDxmbG9hdD4oZG9jdW1lbnRSZWN0LmhlaWdodCgpKSAvIHByaW50U2Nh
bGVGYWN0b3I7CiAKICAgICBQcmludENvbnRleHQgcHJpbnRDb250ZXh0KF9wcml2YXRlLT5jb3Jl
RnJhbWUpOwogICAgIHByaW50Q29udGV4dC5jb21wdXRlUGFnZVJlY3RzV2l0aFBhZ2VTaXplKEZs
b2F0U2l6ZShwcmludFdpZHRoLCBwcmludEhlaWdodCksIHRydWUpOwpJbmRleDogU291cmNlL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24gMTExMjM3KQorKysgU291cmNlL1dlYktp
dC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yMDM0LDcgKzIwMzQs
NyBAQCAtIChOU0RpY3Rpb25hcnkgKilfZGFzaGJvYXJkUmVnaW9ucwogICAgICAgICAgICAgW3Jl
Z2lvblZhbHVlcyByZWxlYXNlXTsKICAgICAgICAgfQogCi0gICAgICAgIFdlYkRhc2hib2FyZFJl
Z2lvbiAqd2ViUmVnaW9uID0gW1tXZWJEYXNoYm9hcmRSZWdpb24gYWxsb2NdIGluaXRXaXRoUmVj
dDpyZWdpb24uYm91bmRzIGNsaXA6cmVnaW9uLmNsaXAgdHlwZTp0eXBlXTsKKyAgICAgICAgV2Vi
RGFzaGJvYXJkUmVnaW9uICp3ZWJSZWdpb24gPSBbW1dlYkRhc2hib2FyZFJlZ2lvbiBhbGxvY10g
aW5pdFdpdGhSZWN0OnBpeGVsU25hcHBlZEludFJlY3QocmVnaW9uLmJvdW5kcykgY2xpcDpwaXhl
bFNuYXBwZWRJbnRSZWN0KHJlZ2lvbi5jbGlwKSB0eXBlOnR5cGVdOwogICAgICAgICBbcmVnaW9u
VmFsdWVzIGFkZE9iamVjdDp3ZWJSZWdpb25dOwogICAgICAgICBbd2ViUmVnaW9uIHJlbGVhc2Vd
OwogICAgIH0KQEAgLTI0OTUsNyArMjQ5NSw3IEBAIC0gKE5TQXJyYXkqKXRyYWNrZWRSZXBhaW50
UmVjdHMKICAgICBOU011dGFibGVBcnJheSogcmVjdHNBcnJheSA9IFtbTlNNdXRhYmxlQXJyYXkg
YWxsb2NdIGluaXRXaXRoQ2FwYWNpdHk6cmVwYWludFJlY3RzLnNpemUoKV07CiAgICAgCiAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHJlcGFpbnRSZWN0cy5zaXplKCk7ICsraSkKLSAgICAg
ICAgW3JlY3RzQXJyYXkgYWRkT2JqZWN0OltOU1ZhbHVlIHZhbHVlV2l0aFJlY3Q6cmVwYWludFJl
Y3RzW2ldXV07CisgICAgICAgIFtyZWN0c0FycmF5IGFkZE9iamVjdDpbTlNWYWx1ZSB2YWx1ZVdp
dGhSZWN0OnBpeGVsU25hcHBlZEludFJlY3QocmVwYWludFJlY3RzW2ldKV1dOwogCiAgICAgcmV0
dXJuIFtyZWN0c0FycmF5IGF1dG9yZWxlYXNlXTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCShyZXZp
c2lvbiAxMTEyMzcpCisrKyBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDE0IEBACisyMDEyLTAzLTE5ICBFbWlsIEEgRWtsdW5kICA8ZWFlQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBbbWFjL3F0L2Nocm9taXVtXSBDaGFuZ2UgcGxhdGZvcm0gY29k
ZSB0byB1c2UgcGl4ZWxTbmFwcGVkUmVjdCBtZXRob2RzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTAxNgorCisgICAgICAgIFJldmlld2VkIGJ5IEVy
aWMgU2VpZGVsLgorCisgICAgICAgICogQXBpL3F3ZWJlbGVtZW50LmNwcDoKKyAgICAgICAgKFFX
ZWJFbGVtZW50OjpnZW9tZXRyeSk6CisgICAgICAgIChRV2ViRWxlbWVudDo6cmVuZGVyKToKKwog
MjAxMi0wMy0xNiAgVGVlbXUgS2F0YWppc3RvICA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4K
IAogICAgICAgICBbUXRdIFF0V2ViS2l0IGRvY3VtZW50YXRpb24gbWlzc2luZyBhIGZldyBzaW5j
ZSA0LjYgaW5mb3JtYXRpb24KSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZWxlbWVudC5jcHAJ
KHJldmlzaW9uIDExMTIzNykKKysrIFNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJlbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTQ5NSw3ICsxNDk1LDcgQEAgdm9pZCBRV2ViRWxlbWVudDo6
cmVuZGVyKFFQYWludGVyKiBwYWludAogCiAgICAgdmlldy0+dXBkYXRlTGF5b3V0QW5kU3R5bGVJ
Zk5lZWRlZFJlY3Vyc2l2ZSgpOwogCi0gICAgSW50UmVjdCByZWN0ID0gZS0+Z2V0UmVjdCgpOwor
ICAgIEludFJlY3QgcmVjdCA9IGUtPmdldFBpeGVsU25hcHBlZFJlY3QoKTsKIAogICAgIGlmIChy
ZWN0LnNpemUoKS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>