<?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>73818</bug_id>
          
          <creation_ts>2011-12-05 03:54:25 -0800</creation_ts>
          <short_desc>[Qt] Extend QQuickWebview::navigationRequested API</short_desc>
          <delta_ts>2011-12-20 07:45:10 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit API</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>74403</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Hausmann">hausmann</reporter>
          <assigned_to name="Rafael Brandao">rafael.lobo</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>gopal.1.raghavan</cc>
    
    <cc>jesus</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>menard</cc>
    
    <cc>ossy</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>515020</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-12-05 03:54:25 -0800</bug_when>
    <thetext>The NavigationRequest object provided as argument to QQuickWebView::navigationRequested provides the following properties:

    QUrl url (read-only)
    int button (read-only)
    int modifiers (read-only)
    int action (to be set)

On the WK2 C API level we get additional parameters:

    The frame the request belongs to
    The page the frame belongs to
    The navigation type

We should consider extending our API to at least expose the url of the frame requesting. This and perhaps other properties
may be essential in the decision making of the application about whether to accept or ignore the request.


While we&apos;re at it: The QQuickWebView::NavigationRequestAction enum (correspond go the action property) contains Accept, Ignore
as well as Download as values. Given that we do not intend to expose the download API initially, perhaps we should hide &quot;Download&quot;
from the public API (and make it only visible in experimental perhaps, i.e. you write request.action = WebView.experimental.DownloadRequest).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520460</commentid>
    <comment_count>1</comment_count>
    <who name="Rafael Brandao">rafael.lobo</who>
    <bug_when>2011-12-13 16:19:18 -0800</bug_when>
    <thetext>Working on this, I&apos;ve realized we get the WebProcess crashed once we try to accept a navigation request with Download (and this without my working patch). I will show this to Jesus tomorrow to see if this actually a bug or if I&apos;m doing something wrong.

Besides the frame requesting url, would we need anything else? So I could also add it when I submit it tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521020</commentid>
    <comment_count>2</comment_count>
      <attachid>119239</attachid>
    <who name="Rafael Brandao">rafael.lobo</who>
    <bug_when>2011-12-14 10:04:48 -0800</bug_when>
    <thetext>Created attachment 119239
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521031</commentid>
    <comment_count>3</comment_count>
      <attachid>119239</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2011-12-14 10:22:18 -0800</bug_when>
    <thetext>Comment on attachment 119239
Patch

Is it possible to have some test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521067</commentid>
    <comment_count>4</comment_count>
    <who name="Rafael Brandao">rafael.lobo</who>
    <bug_when>2011-12-14 10:52:30 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 119239 [details])
&gt; Is it possible to have some test?

Sure. I didn&apos;t put this right away because it was not working before my patch, I confirmed with Jesus today that it is a bug. As there was no qml test for it before, we just missed that regression.

Do you think I should add a test that fails here so it could be fixed in another patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521945</commentid>
    <comment_count>5</comment_count>
    <who name="Rafael Brandao">rafael.lobo</who>
    <bug_when>2011-12-15 09:09:07 -0800</bug_when>
    <thetext>The test is gonna be added in a separate patch: https://bugs.webkit.org/show_bug.cgi?id=74541

When it lands, I will just change it here in this one to reflect the change in the enum.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522126</commentid>
    <comment_count>6</comment_count>
      <attachid>119478</attachid>
    <who name="Rafael Brandao">rafael.lobo</who>
    <bug_when>2011-12-15 12:10:18 -0800</bug_when>
    <thetext>Created attachment 119478
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>523867</commentid>
    <comment_count>7</comment_count>
      <attachid>119478</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-12-19 05:59:52 -0800</bug_when>
    <thetext>Comment on attachment 119478
Patch

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

Looks good in general, but there&apos;s a small memory leak that should be fixed.

&gt; Source/WebKit2/UIProcess/qt/QtWebPagePolicyClient.cpp:105
&gt; +    WKURLRef frameURL = WKFrameCopyURL(frame);
&gt;      WKURLRef requestURL = WKURLRequestCopyURL(request);

Memory leak, the url refs need to be kept in RetainPtrs and adopted:

WKRetainPtr&lt;WKURLRef&gt; frameURL(AdoptWK, WKFrameCopyURL(frame));</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524588</commentid>
    <comment_count>8</comment_count>
      <attachid>119478</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-12-20 06:46:06 -0800</bug_when>
    <thetext>Comment on attachment 119478
Patch

I&apos;d like to get this change in, so r=me and I&apos;ll fix the leak when landing (trivial :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524608</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-12-20 07:36:20 -0800</bug_when>
    <thetext>Committed r103330: &lt;http://trac.webkit.org/changeset/103330&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524611</commentid>
    <comment_count>10</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-12-20 07:40:09 -0800</bug_when>
    <thetext>It broke the build:

cc1plus: warnings being treated as errors
/ramdisk/qt-linux-32-release-webkit2/build/Source/WebKit2/UIProcess/qt/QtWebPagePolicyClient.cpp: In member function ‘void QtWebPagePolicyClient::decidePolicyForNavigationAction(const QUrl&amp;, const QUrl&amp;, Qt::MouseButton, Qt::KeyboardModifiers, const OpaqueWKFramePolicyListener*)’:
/ramdisk/qt-linux-32-release-webkit2/build/Source/WebKit2/UIProcess/qt/QtWebPagePolicyClient.cpp:56: error: case label value exceeds maximum value for type</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524615</commentid>
    <comment_count>11</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-12-20 07:45:10 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; It broke the build:
&gt; 
&gt; cc1plus: warnings being treated as errors
&gt; /ramdisk/qt-linux-32-release-webkit2/build/Source/WebKit2/UIProcess/qt/QtWebPagePolicyClient.cpp: In member function ‘void QtWebPagePolicyClient::decidePolicyForNavigationAction(const QUrl&amp;, const QUrl&amp;, Qt::MouseButton, Qt::KeyboardModifiers, const OpaqueWKFramePolicyListener*)’:
&gt; /ramdisk/qt-linux-32-release-webkit2/build/Source/WebKit2/UIProcess/qt/QtWebPagePolicyClient.cpp:56: error: case label value exceeds maximum value for type

Fixed with http://trac.webkit.org/changeset/103331</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119239</attachid>
            <date>2011-12-14 10:04:48 -0800</date>
            <delta_ts>2011-12-15 12:10:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73818-20111214150446.patch</filename>
            <type>text/plain</type>
            <size>12116</size>
            <attacher name="Rafael Brandao">rafael.lobo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNzkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDU2NWRkOTNjYTRl
NDI3MmQ5ZWVjNDRmNTJhMjhmOTViZThkOTVlMjYuLjQ3YzMyNjAyZTYxMzNhYTM3ZjZjN2M1YTJh
MmExZDY0ZWU4YzVkYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMTIt
MTQgIFJhZmFlbCBCcmFuZGFvICA8cmFmYWVsLmxvYm9Ab3BlbmJvc3NhLm9yZz4KKworICAgICAg
ICBbUXRdIEV4dGVuZCBRUXVpY2tXZWJ2aWV3OjpuYXZpZ2F0aW9uUmVxdWVzdGVkIEFQSQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MTgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB1cmwgb2Yg
dGhlIG9yaWdpbmF0aW5nIGZyYW1lIG9uIFFXZWJOYXZpZ2F0aW9uUmVxdWVzdCwKKyAgICAgICAg
YWNjZXNzaWJsZSB2aWEgJ3JlcXVlc3Qub3JpZ2luYXRpbmdVcmwnIG9uIFFNTC4gRG93bmxvYWQg
YWN0aW9uCisgICAgICAgIHdhcyBtb3ZlZCB0byBleHBlcmltZW50YWwsIHNvIGluIG9yZGVyIHRv
IHVzZSBpdCBvbiBRTUwgc2V0CisgICAgICAgICdyZXF1ZXN0LmFjdGlvbiA9IFdlYlZpZXdFeHBl
cmltZW50YWwuRG93bmxvYWRSZXF1ZXN0Jy4KKworICAgICAgICAqIGRlY2xhcmF0aXZlL2V4cGVy
aW1lbnRhbC9wbHVnaW4uY3BwOgorCiAyMDExLTEyLTE0ICBBbGV4YW5kZXIgRsOmcsO4eSAgPGFs
ZXhhbmRlci5mYWVyb3lAbm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gRml4IGNvbXBpbGF0aW9u
IG9mIFF0V2ViS2l0IHdpdGggLS1vcmllbnRhdGlvbi1ldmVudHMgd2l0aG91dCBFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTVmMGUxNzIyMjAwZTgwYzUzMWU3MTU3N2My
OWMxZWUwMWFjZmVhNC4uYmI1YTMxMmU3YjkwZDAwNTk4Y2VkMTUyNmQxODlkNjBhNTFjM2U2NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDExLTEyLTE0ICBSYWZhZWwgQnJhbmRhbyAg
PHJhZmFlbC5sb2JvQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgW1F0XSBFeHRlbmQgUVF1aWNr
V2Vidmlldzo6bmF2aWdhdGlvblJlcXVlc3RlZCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczODE4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgdXJsIG9mIHRoZSBvcmlnaW5hdGluZyBmcmFt
ZSBvbiBRV2ViTmF2aWdhdGlvblJlcXVlc3QsCisgICAgICAgIGFjY2Vzc2libGUgdmlhICdyZXF1
ZXN0Lm9yaWdpbmF0aW5nVXJsJyBvbiBRTUwuIERvd25sb2FkIGFjdGlvbgorICAgICAgICB3YXMg
bW92ZWQgdG8gZXhwZXJpbWVudGFsLCBzbyBpbiBvcmRlciB0byB1c2UgaXQgeW91IHNob3VsZCBz
ZXQKKyAgICAgICAgJ3JlcXVlc3QuYWN0aW9uID0gV2ViVmlld0V4cGVyaW1lbnRhbC5Eb3dubG9h
ZFJlcXVlc3QnIG9uIFFNTC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vi
dmlld19wLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xd2VibmF2aWdhdGlvbnJlcXVl
c3QuY3BwOgorICAgICAgICAoUVdlYk5hdmlnYXRpb25SZXF1ZXN0UHJpdmF0ZTo6UVdlYk5hdmln
YXRpb25SZXF1ZXN0UHJpdmF0ZSk6CisgICAgICAgIChRV2ViTmF2aWdhdGlvblJlcXVlc3Q6OlFX
ZWJOYXZpZ2F0aW9uUmVxdWVzdCk6CisgICAgICAgIChRV2ViTmF2aWdhdGlvblJlcXVlc3Q6Om9y
aWdpbmF0aW5nVXJsKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3F0L3F3ZWJuYXZpZ2F0aW9u
cmVxdWVzdF9wLmg6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBvbGljeUNsaWVu
dC5jcHA6CisgICAgICAgIChRdFdlYlBhZ2VQb2xpY3lDbGllbnQ6OmRlY2lkZVBvbGljeUZvck5h
dmlnYXRpb25BY3Rpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQb2xpY3lD
bGllbnQuaDoKKwogMjAxMS0xMi0xNCAgQ2FpbyBNYXJjZWxvIGRlIE9saXZlaXJhIEZpbGhvICA8
Y2Fpby5vbGl2ZWlyYUBvcGVuYm9zc2Eub3JnPgogCiAgICAgICAgIFtRdF0gW1dLMl0gTW92ZSBk
b3dubG9hZCBoYW5kbGluZyBvdXQgb2YgUXRXZWJQYWdlUHJveHkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvcXQvZGVjbGFyYXRpdmUvZXhwZXJpbWVudGFsL3BsdWdpbi5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L3F0L2RlY2xhcmF0aXZlL2V4cGVyaW1lbnRhbC9wbHVnaW4uY3BwCmluZGV4IDNiMzlh
MmU5OWRkNjY4NmZiYWE1ZmY5NTM4MGZiMGVmZDRlN2E3NWUuLmYzM2RlMTYwZmU5Njc0NThlYTk0
NzIyODk5ZjViMmNlMmI4YmM0ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvZGVjbGFy
YXRpdmUvZXhwZXJpbWVudGFsL3BsdWdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9kZWNs
YXJhdGl2ZS9leHBlcmltZW50YWwvcGx1Z2luLmNwcApAQCAtNDcsOCArNDcsOCBAQCBwdWJsaWM6
CiAgICAgICAgIHFtbFJlZ2lzdGVyVW5jcmVhdGFibGVUeXBlPFFXZWJOYXZpZ2F0aW9uTGlzdE1v
ZGVsPih1cmksIDMsIDAsICJOYXZpZ2F0aW9uTGlzdE1vZGVsIiwgUU9iamVjdDo6dHIoIkNhbm5v
dCBjcmVhdGUgc2VwYXJhdGUgaW5zdGFuY2Ugb2YgTmF2aWdhdGlvbkxpc3RNb2RlbCIpKTsKICAg
ICAgICAgcW1sUmVnaXN0ZXJVbmNyZWF0YWJsZVR5cGU8UVdlYk5hdmlnYXRpb25IaXN0b3J5Pih1
cmksIDMsIDAsICJOYXZpZ2F0aW9uSGlzdG9yeSIsIFFPYmplY3Q6OnRyKCJDYW5ub3QgY3JlYXRl
IHNlcGFyYXRlIGluc3RhbmNlIG9mIE5hdmlnYXRpb25IaXN0b3J5IikpOwogICAgICAgICBxbWxS
ZWdpc3RlckV4dGVuZGVkVHlwZTxRUXVpY2tXZWJWaWV3LCBRUXVpY2tXZWJWaWV3RXhwZXJpbWVu
dGFsRXh0ZW5zaW9uPih1cmksIDMsIDAsICJXZWJWaWV3Iik7Ci0gICAgICAgIHFtbFJlZ2lzdGVy
VW5jcmVhdGFibGVUeXBlPFFRdWlja1dlYlZpZXdFeHBlcmltZW50YWw+KHVyaSwgMywgMCwgIlFR
dWlja1dlYlZpZXdFeHBlcmltZW50YWwiLAotICAgICAgICAgICAgUU9iamVjdDo6dHIoIkNhbm5v
dCBjcmVhdGUgc2VwYXJhdGUgaW5zdGFuY2Ugb2YgUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbCIp
KTsKKyAgICAgICAgcW1sUmVnaXN0ZXJVbmNyZWF0YWJsZVR5cGU8UVF1aWNrV2ViVmlld0V4cGVy
aW1lbnRhbD4odXJpLCAzLCAwLCAiV2ViVmlld0V4cGVyaW1lbnRhbCIsCisgICAgICAgICAgICBR
T2JqZWN0Ojp0cigiQ2Fubm90IGNyZWF0ZSBzZXBhcmF0ZSBpbnN0YW5jZSBvZiBXZWJWaWV3RXhw
ZXJpbWVudGFsIikpOwogICAgIH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oCmluZGV4IGI2ZDc2MjliOTcwZmY3ZDY3YjIwZWNk
OGUxMjEwN2UzMmYxMTljNWMuLjgxYzZiZDUwM2NkYTJiZDU4NThkOGIwMGFjZWE2Yjk3YmFlMmI5
ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vi
dmlld19wLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2
aWV3X3AuaApAQCAtNjUsOCArNjUsNyBAQCBjbGFzcyBRV0VCS0lUX0VYUE9SVCBRUXVpY2tXZWJW
aWV3IDogcHVibGljIFFRdWlja0l0ZW0gewogcHVibGljOgogICAgIGVudW0gTmF2aWdhdGlvblJl
cXVlc3RBY3Rpb24gewogICAgICAgICBBY2NlcHRSZXF1ZXN0LAotICAgICAgICBJZ25vcmVSZXF1
ZXN0LAotICAgICAgICBEb3dubG9hZFJlcXVlc3QKKyAgICAgICAgSWdub3JlUmVxdWVzdAogICAg
IH07CiAKICAgICBlbnVtIEVycm9yVHlwZSB7CkBAIC0xNzQsOCArMTczLDEzIEBAIGNsYXNzIFFX
RUJLSVRfRVhQT1JUIFFRdWlja1dlYlZpZXdFeHBlcmltZW50YWwgOiBwdWJsaWMgUU9iamVjdCB7
CiAgICAgUV9QUk9QRVJUWShRRGVjbGFyYXRpdmVDb21wb25lbnQqIHByb21wdERpYWxvZyBSRUFE
IHByb21wdERpYWxvZyBXUklURSBzZXRQcm9tcHREaWFsb2cgTk9USUZZIHByb21wdERpYWxvZ0No
YW5nZWQpCiAgICAgUV9QUk9QRVJUWShRRGVjbGFyYXRpdmVDb21wb25lbnQqIGl0ZW1TZWxlY3Rv
ciBSRUFEIGl0ZW1TZWxlY3RvciBXUklURSBzZXRJdGVtU2VsZWN0b3IgTk9USUZZIGl0ZW1TZWxl
Y3RvckNoYW5nZWQpCiAgICAgUV9QUk9QRVJUWShib29sIHVzZVRyYWRpdGlvbmFsRGVza3RvcEJl
aGF2aW91ciBSRUFEIHVzZVRyYWRpdGlvbmFsRGVza3RvcEJlaGF2aW91ciBXUklURSBzZXRVc2VU
cmFkaXRpb25hbERlc2t0b3BCZWhhdmlvdXIpCisgICAgUV9FTlVNUyhOYXZpZ2F0aW9uUmVxdWVz
dEFjdGlvbikKIAogcHVibGljOgorICAgIGVudW0gTmF2aWdhdGlvblJlcXVlc3RBY3Rpb24gewor
ICAgICAgICBEb3dubG9hZFJlcXVlc3QgPSAyCisgICAgfTsKKwogICAgIFFRdWlja1dlYlZpZXdF
eHBlcmltZW50YWwoUVF1aWNrV2ViVmlldyogd2ViVmlldyk7CiAgICAgdmlydHVhbCB+UVF1aWNr
V2ViVmlld0V4cGVyaW1lbnRhbCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL3F0L3F3ZWJuYXZpZ2F0aW9ucmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3F3ZWJuYXZpZ2F0aW9ucmVxdWVzdC5jcHAKaW5kZXggODg1ZmU1NDZl
ZGFmNTQ3NjBmMDVhYmYyNmY4ZmIyM2E5NDMxZDM0MS4uNTIwOGEwNjFjNjY0MGJjMDljMWRiMjdm
MWQwNDQ2M2I4NzVlMDRhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9xd2VibmF2aWdhdGlvbnJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25yZXF1ZXN0LmNwcApAQCAtMjUsOCArMjUsOSBAQAog
CiBjbGFzcyBRV2ViTmF2aWdhdGlvblJlcXVlc3RQcml2YXRlIHsKIHB1YmxpYzoKLSAgICBRV2Vi
TmF2aWdhdGlvblJlcXVlc3RQcml2YXRlKGNvbnN0IFFVcmwmIHVybCwgUXQ6Ok1vdXNlQnV0dG9u
IGJ1dHRvbiwgUXQ6OktleWJvYXJkTW9kaWZpZXJzIG1vZGlmaWVycykKKyAgICBRV2ViTmF2aWdh
dGlvblJlcXVlc3RQcml2YXRlKGNvbnN0IFFVcmwmIHVybCwgY29uc3QgUVVybCYgb3JpZ2luYXRp
bmdVcmwsIFF0OjpNb3VzZUJ1dHRvbiBidXR0b24sIFF0OjpLZXlib2FyZE1vZGlmaWVycyBtb2Rp
ZmllcnMpCiAgICAgICAgIDogdXJsKHVybCkKKyAgICAgICAgLCBvcmlnaW5hdGluZ1VybChvcmln
aW5hdGluZ1VybCkKICAgICAgICAgLCBidXR0b24oYnV0dG9uKQogICAgICAgICAsIG1vZGlmaWVy
cyhtb2RpZmllcnMpCiAgICAgICAgICwgYWN0aW9uKFFRdWlja1dlYlZpZXc6OkFjY2VwdFJlcXVl
c3QpCkBAIC0zOCwxNCArMzksMTUgQEAgcHVibGljOgogICAgIH0KIAogICAgIFFVcmwgdXJsOwor
ICAgIFFVcmwgb3JpZ2luYXRpbmdVcmw7CiAgICAgUXQ6Ok1vdXNlQnV0dG9uIGJ1dHRvbjsKICAg
ICBRdDo6S2V5Ym9hcmRNb2RpZmllcnMgbW9kaWZpZXJzOwogICAgIGludCBhY3Rpb247CiB9Owog
Ci1RV2ViTmF2aWdhdGlvblJlcXVlc3Q6OlFXZWJOYXZpZ2F0aW9uUmVxdWVzdChjb25zdCBRVXJs
JiB1cmwsIFF0OjpNb3VzZUJ1dHRvbiBidXR0b24sIFF0OjpLZXlib2FyZE1vZGlmaWVycyBtb2Rp
ZmllcnMsIFFPYmplY3QqIHBhcmVudCkKK1FXZWJOYXZpZ2F0aW9uUmVxdWVzdDo6UVdlYk5hdmln
YXRpb25SZXF1ZXN0KGNvbnN0IFFVcmwmIHVybCwgY29uc3QgUVVybCYgb3JpZ2luYXRpbmdVcmws
IFF0OjpNb3VzZUJ1dHRvbiBidXR0b24sIFF0OjpLZXlib2FyZE1vZGlmaWVycyBtb2RpZmllcnMs
IFFPYmplY3QqIHBhcmVudCkKICAgICA6IFFPYmplY3QocGFyZW50KQotICAgICwgZChuZXcgUVdl
Yk5hdmlnYXRpb25SZXF1ZXN0UHJpdmF0ZSh1cmwsIGJ1dHRvbiwgbW9kaWZpZXJzKSkKKyAgICAs
IGQobmV3IFFXZWJOYXZpZ2F0aW9uUmVxdWVzdFByaXZhdGUodXJsLCBvcmlnaW5hdGluZ1VybCwg
YnV0dG9uLCBtb2RpZmllcnMpKQogewogfQogCkBAIC02OCw2ICs3MCwxMSBAQCBRVXJsIFFXZWJO
YXZpZ2F0aW9uUmVxdWVzdDo6dXJsKCkgY29uc3QKICAgICByZXR1cm4gZC0+dXJsOwogfQogCitR
VXJsIFFXZWJOYXZpZ2F0aW9uUmVxdWVzdDo6b3JpZ2luYXRpbmdVcmwoKSBjb25zdAoreworICAg
IHJldHVybiBkLT5vcmlnaW5hdGluZ1VybDsKK30KKwogaW50IFFXZWJOYXZpZ2F0aW9uUmVxdWVz
dDo6YnV0dG9uKCkgY29uc3QKIHsKICAgICByZXR1cm4gaW50KGQtPmJ1dHRvbik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJuYXZpZ2F0aW9ucmVxdWVz
dF9wLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJuYXZpZ2F0aW9ucmVx
dWVzdF9wLmgKaW5kZXggNGFjZjk0MGI4ZGI2MTA5NGVhMTcxZmVjNzg1MWI4NGRkYTI2ODU4YS4u
OTg2YjFjMTJkNThmYzcxZDRlMDI4MTdjZTcyNzg5MWY1NGJkNDIzMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2VibmF2aWdhdGlvbnJlcXVlc3RfcC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25yZXF1ZXN0
X3AuaApAQCAtMzAsMTUgKzMwLDE3IEBAIGNsYXNzIFFXZWJOYXZpZ2F0aW9uUmVxdWVzdFByaXZh
dGU7CiBjbGFzcyBRV0VCS0lUX0VYUE9SVCBRV2ViTmF2aWdhdGlvblJlcXVlc3QgOiBwdWJsaWMg
UU9iamVjdCB7CiAgICAgUV9PQkpFQ1QKICAgICBRX1BST1BFUlRZKFFVcmwgdXJsIFJFQUQgdXJs
IENPTlNUQU5UIEZJTkFMKQorICAgIFFfUFJPUEVSVFkoUVVybCBvcmlnaW5hdGluZ1VybCBSRUFE
IG9yaWdpbmF0aW5nVXJsIENPTlNUQU5UIEZJTkFMKQogICAgIFFfUFJPUEVSVFkoaW50IGJ1dHRv
biBSRUFEIGJ1dHRvbiBDT05TVEFOVCBGSU5BTCkKICAgICBRX1BST1BFUlRZKGludCBtb2RpZmll
cnMgUkVBRCBtb2RpZmllcnMgQ09OU1RBTlQgRklOQUwpCiAgICAgUV9QUk9QRVJUWShpbnQgYWN0
aW9uIFJFQUQgYWN0aW9uIFdSSVRFIHNldEFjdGlvbiBOT1RJRlkgYWN0aW9uQ2hhbmdlZCBGSU5B
TCkKIAogcHVibGljOgotICAgIFFXZWJOYXZpZ2F0aW9uUmVxdWVzdChjb25zdCBRVXJsJiB1cmws
IFF0OjpNb3VzZUJ1dHRvbiBidXR0b24sIFF0OjpLZXlib2FyZE1vZGlmaWVycyBtb2RpZmllcnMs
IFFPYmplY3QqIHBhcmVudCA9IDApOworICAgIFFXZWJOYXZpZ2F0aW9uUmVxdWVzdChjb25zdCBR
VXJsJiB1cmwsIGNvbnN0IFFVcmwmIG9yaWdpbmF0aW5nVXJsLCBRdDo6TW91c2VCdXR0b24gYnV0
dG9uLCBRdDo6S2V5Ym9hcmRNb2RpZmllcnMgbW9kaWZpZXJzLCBRT2JqZWN0KiBwYXJlbnQgPSAw
KTsKICAgICB+UVdlYk5hdmlnYXRpb25SZXF1ZXN0KCk7CiAKICAgICBRVXJsIHVybCgpIGNvbnN0
OworICAgIFFVcmwgb3JpZ2luYXRpbmdVcmwoKSBjb25zdDsKICAgICBpbnQgYnV0dG9uKCkgY29u
c3Q7CiAgICAgaW50IG1vZGlmaWVycygpIGNvbnN0OwogICAgIGludCBhY3Rpb24oKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQb2xpY3lD
bGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBvbGljeUNs
aWVudC5jcHAKaW5kZXggZDQ3NWQ2MjdjY2Y3MzUwZmVmZGE1MGI5NDM5ZTFjMWZkMzljMDkwZS4u
ZGRjZWVhOWM0N2NkZDhiYTQyZmIzMTdhNjkwYzMxMzgyMmFlNTEwYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBvbGljeUNsaWVudC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBvbGljeUNsaWVudC5jcHAKQEAg
LTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJRdFdlYlBhZ2VQ
b2xpY3lDbGllbnQuaCIKIAorI2luY2x1ZGUgIldLRnJhbWUuaCIKICNpbmNsdWRlICJXS1VSTFF0
LmgiCiAjaW5jbHVkZSAicXF1aWNrd2Vidmlld19wLmgiCiAjaW5jbHVkZSAicXF1aWNrd2Vidmll
d19wX3AuaCIKQEAgLTQxLDE4ICs0MiwxOCBAQCBRdFdlYlBhZ2VQb2xpY3lDbGllbnQ6OlF0V2Vi
UGFnZVBvbGljeUNsaWVudChXS1BhZ2VSZWYgcGFnZVJlZiwgUVF1aWNrV2ViVmlldyogdwogICAg
IFdLUGFnZVNldFBhZ2VQb2xpY3lDbGllbnQocGFnZVJlZiwgJnBvbGljeUNsaWVudCk7CiB9CiAK
LXZvaWQgUXRXZWJQYWdlUG9saWN5Q2xpZW50OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0
aW9uKGNvbnN0IFFVcmwmIHVybCwgUXQ6Ok1vdXNlQnV0dG9uIG1vdXNlQnV0dG9uLCBRdDo6S2V5
Ym9hcmRNb2RpZmllcnMga2V5Ym9hcmRNb2RpZmllcnMsIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJl
ZiBsaXN0ZW5lcikKK3ZvaWQgUXRXZWJQYWdlUG9saWN5Q2xpZW50OjpkZWNpZGVQb2xpY3lGb3JO
YXZpZ2F0aW9uQWN0aW9uKGNvbnN0IFFVcmwmIHVybCwgY29uc3QgUVVybCYgb3JpZ2luYXRpbmdV
cmwsIFF0OjpNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRvbiwgUXQ6OktleWJvYXJkTW9kaWZpZXJzIGtl
eWJvYXJkTW9kaWZpZXJzLCBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYgbGlzdGVuZXIpCiB7CiAg
ICAgLy8gTk9URTogZXZlbiB0aG91Z2ggdGhlIEMgQVBJIChhbmQgdGhlIFdlYktpdDIgSVBDKSBz
dXBwb3J0cyBhbiBhc3luY2hyb25vdXMgYW5zd2VyLCB0aGlzIGlzIG5vdCBjdXJyZW50bHkgd29y
a2luZy4KICAgICAvLyBXZSBhcmUgZXhwZWN0ZWQgdG8gY2FsbCB0aGUgbGlzdGVuZXIgaW1tZWRp
YXRlbHkuIFNlZSB0aGUgcGF0Y2ggZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01Mzc4NS4KLSAgICBRV2ViTmF2aWdhdGlvblJlcXVlc3QgbmF2aWdhdGlvblJlcXVl
c3QodXJsLCBtb3VzZUJ1dHRvbiwga2V5Ym9hcmRNb2RpZmllcnMpOworICAgIFFXZWJOYXZpZ2F0
aW9uUmVxdWVzdCBuYXZpZ2F0aW9uUmVxdWVzdCh1cmwsIG9yaWdpbmF0aW5nVXJsLCBtb3VzZUJ1
dHRvbiwga2V5Ym9hcmRNb2RpZmllcnMpOwogICAgIGVtaXQgbV93ZWJWaWV3LT5uYXZpZ2F0aW9u
UmVxdWVzdGVkKCZuYXZpZ2F0aW9uUmVxdWVzdCk7CiAKICAgICBzd2l0Y2ggKFFRdWlja1dlYlZp
ZXc6Ok5hdmlnYXRpb25SZXF1ZXN0QWN0aW9uKG5hdmlnYXRpb25SZXF1ZXN0LmFjdGlvbigpKSkg
ewogICAgIGNhc2UgUVF1aWNrV2ViVmlldzo6SWdub3JlUmVxdWVzdDoKICAgICAgICAgV0tGcmFt
ZVBvbGljeUxpc3RlbmVySWdub3JlKGxpc3RlbmVyKTsKICAgICAgICAgcmV0dXJuOwotICAgIGNh
c2UgUVF1aWNrV2ViVmlldzo6RG93bmxvYWRSZXF1ZXN0OgorICAgIGNhc2UgUVF1aWNrV2ViVmll
d0V4cGVyaW1lbnRhbDo6RG93bmxvYWRSZXF1ZXN0OgogICAgICAgICBXS0ZyYW1lUG9saWN5TGlz
dGVuZXJEb3dubG9hZChsaXN0ZW5lcik7CiAgICAgICAgIHJldHVybjsKICAgICBjYXNlIFFRdWlj
a1dlYlZpZXc6OkFjY2VwdFJlcXVlc3Q6CkBAIC05OCwxMiArOTksMTQgQEAgc3RhdGljIFF0OjpL
ZXlib2FyZE1vZGlmaWVycyB0b1F0S2V5Ym9hcmRNb2RpZmllcnMoV0tFdmVudE1vZGlmaWVycyBt
b2RpZmllcnMpCiAgICAgcmV0dXJuIHF0TW9kaWZpZXJzOwogfQogCi12b2lkIFF0V2ViUGFnZVBv
bGljeUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihXS1BhZ2VSZWYsIFdL
RnJhbWVSZWYsIFdLRnJhbWVOYXZpZ2F0aW9uVHlwZSwgV0tFdmVudE1vZGlmaWVycyBtb2RpZmll
cnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRvbiwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVl
c3QsIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJlZiBsaXN0ZW5lciwgV0tUeXBlUmVmLCBjb25zdCB2
b2lkKiBjbGllbnRJbmZvKQordm9pZCBRdFdlYlBhZ2VQb2xpY3lDbGllbnQ6OmRlY2lkZVBvbGlj
eUZvck5hdmlnYXRpb25BY3Rpb24oV0tQYWdlUmVmLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS0ZyYW1l
TmF2aWdhdGlvblR5cGUsIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzLCBXS0V2ZW50TW91c2VC
dXR0b24gbW91c2VCdXR0b24sIFdLVVJMUmVxdWVzdFJlZiByZXF1ZXN0LCBXS0ZyYW1lUG9saWN5
TGlzdGVuZXJSZWYgbGlzdGVuZXIsIFdLVHlwZVJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykK
IHsKKyAgICBXS1VSTFJlZiBmcmFtZVVSTCA9IFdLRnJhbWVDb3B5VVJMKGZyYW1lKTsKICAgICBX
S1VSTFJlZiByZXF1ZXN0VVJMID0gV0tVUkxSZXF1ZXN0Q29weVVSTChyZXF1ZXN0KTsKKyAgICBR
VXJsIHFVcmxGcmFtZSA9IFdLVVJMQ29weVFVcmwoZnJhbWVVUkwpOwogICAgIFFVcmwgcVVybCA9
IFdLVVJMQ29weVFVcmwocmVxdWVzdFVSTCk7CiAgICAgV0tSZWxlYXNlKHJlcXVlc3RVUkwpOwot
ICAgIHRvUXRXZWJQYWdlUG9saWN5Q2xpZW50KGNsaWVudEluZm8pLT5kZWNpZGVQb2xpY3lGb3JO
YXZpZ2F0aW9uQWN0aW9uKHFVcmwsIHRvUXRNb3VzZUJ1dHRvbihtb3VzZUJ1dHRvbiksIHRvUXRL
ZXlib2FyZE1vZGlmaWVycyhtb2RpZmllcnMpLCBsaXN0ZW5lcik7CisgICAgdG9RdFdlYlBhZ2VQ
b2xpY3lDbGllbnQoY2xpZW50SW5mbyktPmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24o
cVVybCwgcVVybEZyYW1lLCB0b1F0TW91c2VCdXR0b24obW91c2VCdXR0b24pLCB0b1F0S2V5Ym9h
cmRNb2RpZmllcnMobW9kaWZpZXJzKSwgbGlzdGVuZXIpOwogfQogCiB2b2lkIFF0V2ViUGFnZVBv
bGljeUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UoV0tQYWdlUmVmIHBhZ2UsIFdLRnJh
bWVSZWYgZnJhbWUsIFdLVVJMUmVzcG9uc2VSZWYgcmVzcG9uc2UsIFdLVVJMUmVxdWVzdFJlZiwg
V0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmIGxpc3RlbmVyLCBXS1R5cGVSZWYsIGNvbnN0IHZvaWQq
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBvbGlj
eUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBvbGljeUNs
aWVudC5oCmluZGV4IDkzNmE4NDdiMjkzN2QyYzI0ZjVlZTkwZjAxZjcwNmRkYzBhM2YwYTIuLjhj
NjAyMTM5ODRhOTg1YmU5MmU0N2E2YmVkY2EwNTMxZTExMWViMWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQb2xpY3lDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUG9saWN5Q2xpZW50LmgKQEAgLTMxLDcg
KzMxLDcgQEAgcHVibGljOgogICAgIFF0V2ViUGFnZVBvbGljeUNsaWVudChXS1BhZ2VSZWYsIFFR
dWlja1dlYlZpZXcqKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIGRlY2lkZVBvbGljeUZvck5hdmln
YXRpb25BY3Rpb24oY29uc3QgUVVybCYsIFF0OjpNb3VzZUJ1dHRvbiwgUXQ6OktleWJvYXJkTW9k
aWZpZXJzLCBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYpOworICAgIHZvaWQgZGVjaWRlUG9saWN5
Rm9yTmF2aWdhdGlvbkFjdGlvbihjb25zdCBRVXJsJiwgY29uc3QgUVVybCYsIFF0OjpNb3VzZUJ1
dHRvbiwgUXQ6OktleWJvYXJkTW9kaWZpZXJzLCBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYpOwog
CiAgICAgLy8gV0tQYWdlUG9saWN5Q2xpZW50IGNhbGxiYWNrcy4KICAgICBzdGF0aWMgdm9pZCBk
ZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwgV0tG
cmFtZU5hdmlnYXRpb25UeXBlLCBXS0V2ZW50TW9kaWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0b24s
IFdLVVJMUmVxdWVzdFJlZiwgV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmLCBXS1R5cGVSZWYgdXNl
ckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119478</attachid>
            <date>2011-12-15 12:10:18 -0800</date>
            <delta_ts>2011-12-20 06:46:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73818-20111215171015.patch</filename>
            <type>text/plain</type>
            <size>15481</size>
            <attacher name="Rafael Brandao">rafael.lobo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyOTU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDYxZjhhNTgwODU4
YjljOTVlY2VjODI2MGE2ODViZDNhZDY1OWNjOTguLmEzY2Q0NWRhY2MxNTRjM2ZiNjBjNGM2Yzg2
MjZiMGJkODhhYTU1NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMTIt
MTUgIFJhZmFlbCBCcmFuZGFvICA8cmFmYWVsLmxvYm9Ab3BlbmJvc3NhLm9yZz4KKworICAgICAg
ICBbUXRdIEV4dGVuZCBRUXVpY2tXZWJ2aWV3OjpuYXZpZ2F0aW9uUmVxdWVzdGVkIEFQSQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MTgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGRlY2xhcmF0aXZl
L2V4cGVyaW1lbnRhbC9wbHVnaW4uY3BwOgorCiAyMDExLTEyLTE0ICBUb3IgQXJuZSBWZXN0YsO4
ICA8dG9yLmFybmUudmVzdGJvQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdIEdldCByaWQgb2Yg
bGF5ZXJpbmcgdmlvbGF0aW9uIGluIFBsdWdpblZpZXdRdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDkzYThlOTFk
MjE1N2E5ZWRjNGM1NWEzYWUxOTY4OTFmOTg4ZTNjODguLjJjYWNiYTBmNTY0ZTEzOTY4ZWMxZGYy
NDEyNmEwZTU3MTU1MDM4OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzMCBAQAogMjAxMS0xMi0x
NSAgUmFmYWVsIEJyYW5kYW8gIDxyYWZhZWwubG9ib0BvcGVuYm9zc2Eub3JnPgogCisgICAgICAg
IFtRdF0gRXh0ZW5kIFFRdWlja1dlYnZpZXc6Om5hdmlnYXRpb25SZXF1ZXN0ZWQgQVBJCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgxOAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHVybCBvZiB0
aGUgb3JpZ2luYXRpbmcgZnJhbWUgb24gUVdlYk5hdmlnYXRpb25SZXF1ZXN0LAorICAgICAgICBh
Y2Nlc3NpYmxlIHZpYSAncmVxdWVzdC5vcmlnaW5hdGluZ1VybCcgb24gUU1MLiBEb3dubG9hZCBh
Y3Rpb24KKyAgICAgICAgd2FzIG1vdmVkIHRvIGV4cGVyaW1lbnRhbCwgc28gaW4gb3JkZXIgdG8g
dXNlIGl0IHlvdSBzaG91bGQgc2V0CisgICAgICAgICdyZXF1ZXN0LmFjdGlvbiA9IFdlYlZpZXdF
eHBlcmltZW50YWwuRG93bmxvYWRSZXF1ZXN0JyBvbiBRTUwuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQv
cXdlYm5hdmlnYXRpb25yZXF1ZXN0LmNwcDoKKyAgICAgICAgKFFXZWJOYXZpZ2F0aW9uUmVxdWVz
dFByaXZhdGU6OlFXZWJOYXZpZ2F0aW9uUmVxdWVzdFByaXZhdGUpOgorICAgICAgICAoUVdlYk5h
dmlnYXRpb25SZXF1ZXN0OjpRV2ViTmF2aWdhdGlvblJlcXVlc3QpOgorICAgICAgICAoUVdlYk5h
dmlnYXRpb25SZXF1ZXN0OjpvcmlnaW5hdGluZ1VybCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9xdC9xd2VibmF2aWdhdGlvbnJlcXVlc3RfcC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
cXQvdGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yL3RzdF9uYXZpZ2F0aW9uUmVxdWVzdGVk
LnFtbDoKKyAgICAgICAgVGVzdHMgd2VyZSBtb2RpZmllZCBhIGJpdCB0byByZXVzZSB1cmxzIGFu
ZCBhbHNvIGFkZGVkIGEgdGVzdCBjYXNlIHRvIGNoZWNrCisgICAgICAgIG9yaWdpbmF0aW5nIHVy
bCBvbmNlIGEgcmVxdWVzdCBpcyBkb25lLgorICAgICAgICAqIFVJUHJvY2Vzcy9xdC9RdFdlYlBh
Z2VQb2xpY3lDbGllbnQuY3BwOgorICAgICAgICAoUXRXZWJQYWdlUG9saWN5Q2xpZW50OjpkZWNp
ZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvcXQvUXRX
ZWJQYWdlUG9saWN5Q2xpZW50Lmg6CisKKzIwMTEtMTItMTUgIFJhZmFlbCBCcmFuZGFvICA8cmFm
YWVsLmxvYm9Ab3BlbmJvc3NhLm9yZz4KKwogICAgICAgICBbUXRdW1dLMl0gQWRkIHRlc3QgZm9y
IGRvd25sb2FkIHBvbGljeSBvbiBuYXZpZ2F0aW9uIHJlcXVlc3QKICAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQxCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvcXQvZGVjbGFyYXRpdmUvZXhwZXJpbWVudGFsL3BsdWdpbi5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L3F0L2RlY2xhcmF0aXZlL2V4cGVyaW1lbnRhbC9wbHVnaW4uY3BwCmluZGV4IGQ4ODFl
Yjg3ZmY1ZjZjNmE2OTg5MWE3MGU5YTRmYjc1NDk2ZDhhMDguLmQyODkyMjlkNzYwZTYxYWMzZjdj
YmZmYmYxYjI5ZTAxOWJiZGVlYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvZGVjbGFy
YXRpdmUvZXhwZXJpbWVudGFsL3BsdWdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9kZWNs
YXJhdGl2ZS9leHBlcmltZW50YWwvcGx1Z2luLmNwcApAQCAtNDgsOCArNDgsOCBAQCBwdWJsaWM6
CiAgICAgICAgIHFtbFJlZ2lzdGVyVW5jcmVhdGFibGVUeXBlPFFXZWJOYXZpZ2F0aW9uTGlzdE1v
ZGVsPih1cmksIDMsIDAsICJOYXZpZ2F0aW9uTGlzdE1vZGVsIiwgUU9iamVjdDo6dHIoIkNhbm5v
dCBjcmVhdGUgc2VwYXJhdGUgaW5zdGFuY2Ugb2YgTmF2aWdhdGlvbkxpc3RNb2RlbCIpKTsKICAg
ICAgICAgcW1sUmVnaXN0ZXJVbmNyZWF0YWJsZVR5cGU8UVdlYk5hdmlnYXRpb25IaXN0b3J5Pih1
cmksIDMsIDAsICJOYXZpZ2F0aW9uSGlzdG9yeSIsIFFPYmplY3Q6OnRyKCJDYW5ub3QgY3JlYXRl
IHNlcGFyYXRlIGluc3RhbmNlIG9mIE5hdmlnYXRpb25IaXN0b3J5IikpOwogICAgICAgICBxbWxS
ZWdpc3RlckV4dGVuZGVkVHlwZTxRUXVpY2tXZWJWaWV3LCBRUXVpY2tXZWJWaWV3RXhwZXJpbWVu
dGFsRXh0ZW5zaW9uPih1cmksIDMsIDAsICJXZWJWaWV3Iik7Ci0gICAgICAgIHFtbFJlZ2lzdGVy
VW5jcmVhdGFibGVUeXBlPFFRdWlja1dlYlZpZXdFeHBlcmltZW50YWw+KHVyaSwgMywgMCwgIlFR
dWlja1dlYlZpZXdFeHBlcmltZW50YWwiLAotICAgICAgICAgICAgUU9iamVjdDo6dHIoIkNhbm5v
dCBjcmVhdGUgc2VwYXJhdGUgaW5zdGFuY2Ugb2YgUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbCIp
KTsKKyAgICAgICAgcW1sUmVnaXN0ZXJVbmNyZWF0YWJsZVR5cGU8UVF1aWNrV2ViVmlld0V4cGVy
aW1lbnRhbD4odXJpLCAzLCAwLCAiV2ViVmlld0V4cGVyaW1lbnRhbCIsCisgICAgICAgICAgICBR
T2JqZWN0Ojp0cigiQ2Fubm90IGNyZWF0ZSBzZXBhcmF0ZSBpbnN0YW5jZSBvZiBXZWJWaWV3RXhw
ZXJpbWVudGFsIikpOwogICAgICAgICBxbWxSZWdpc3RlclVuY3JlYXRhYmxlVHlwZTxRV2ViVmll
d3BvcnRJbmZvPih1cmksIDMsIDAsICJRV2ViVmlld3BvcnRJbmZvIiwKICAgICAgICAgICAgIFFP
YmplY3Q6OnRyKCJDYW5ub3QgY3JlYXRlIHNlcGFyYXRlIGluc3RhbmNlIG9mIFFXZWJWaWV3cG9y
dEluZm8iKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQv
cXF1aWNrd2Vidmlld19wLmgKaW5kZXggNGY5YTIwZTk4N2ZiNWM0ZTY0OTczMzgwMDZlMzk3Yjkx
YmNmYTAyNy4uYWQ3MTkxZjNhZWJmN2FlNzc0YjJmNTU5N2VhYjVkOWVmZTQxMzAyNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oCkBA
IC02NSw4ICs2NSw3IEBAIGNsYXNzIFFXRUJLSVRfRVhQT1JUIFFRdWlja1dlYlZpZXcgOiBwdWJs
aWMgUVF1aWNrSXRlbSB7CiBwdWJsaWM6CiAgICAgZW51bSBOYXZpZ2F0aW9uUmVxdWVzdEFjdGlv
biB7CiAgICAgICAgIEFjY2VwdFJlcXVlc3QsCi0gICAgICAgIElnbm9yZVJlcXVlc3QsCi0gICAg
ICAgIERvd25sb2FkUmVxdWVzdAorICAgICAgICBJZ25vcmVSZXF1ZXN0CiAgICAgfTsKIAogICAg
IGVudW0gRXJyb3JUeXBlIHsKQEAgLTE3NCw4ICsxNzMsMTMgQEAgY2xhc3MgUVdFQktJVF9FWFBP
UlQgUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbCA6IHB1YmxpYyBRT2JqZWN0IHsKICAgICBRX1BS
T1BFUlRZKFFXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMgUkVBRCBwcmVmZXJlbmNlcyBDT05T
VEFOVCBGSU5BTCkKICAgICBRX1BST1BFUlRZKGJvb2wgdXNlVHJhZGl0aW9uYWxEZXNrdG9wQmVo
YXZpb3VyIFJFQUQgdXNlVHJhZGl0aW9uYWxEZXNrdG9wQmVoYXZpb3VyIFdSSVRFIHNldFVzZVRy
YWRpdGlvbmFsRGVza3RvcEJlaGF2aW91cikKICAgICBRX1BST1BFUlRZKFFXZWJWaWV3cG9ydElu
Zm8qIHZpZXdwb3J0SW5mbyBSRUFEIHZpZXdwb3J0SW5mbyBDT05TVEFOVCBGSU5BTCkKKyAgICBR
X0VOVU1TKE5hdmlnYXRpb25SZXF1ZXN0QWN0aW9uKQogCiBwdWJsaWM6CisgICAgZW51bSBOYXZp
Z2F0aW9uUmVxdWVzdEFjdGlvbiB7CisgICAgICAgIERvd25sb2FkUmVxdWVzdCA9IDIKKyAgICB9
OworCiAgICAgUVF1aWNrV2ViVmlld0V4cGVyaW1lbnRhbChRUXVpY2tXZWJWaWV3KiB3ZWJWaWV3
KTsKICAgICB2aXJ0dWFsIH5RUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFsKCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25yZXF1ZXN0
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25yZXF1
ZXN0LmNwcAppbmRleCA4ODVmZTU0NmVkYWY1NDc2MGYwNWFiZjI2ZjhmYjIzYTk0MzFkMzQxLi41
MjA4YTA2MWM2NjQwYmMwOWMxZGIyN2YxZDA0NDYzYjg3NWUwNGE5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJuYXZpZ2F0aW9ucmVxdWVzdC5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2VibmF2aWdhdGlvbnJlcXVlc3Qu
Y3BwCkBAIC0yNSw4ICsyNSw5IEBACiAKIGNsYXNzIFFXZWJOYXZpZ2F0aW9uUmVxdWVzdFByaXZh
dGUgewogcHVibGljOgotICAgIFFXZWJOYXZpZ2F0aW9uUmVxdWVzdFByaXZhdGUoY29uc3QgUVVy
bCYgdXJsLCBRdDo6TW91c2VCdXR0b24gYnV0dG9uLCBRdDo6S2V5Ym9hcmRNb2RpZmllcnMgbW9k
aWZpZXJzKQorICAgIFFXZWJOYXZpZ2F0aW9uUmVxdWVzdFByaXZhdGUoY29uc3QgUVVybCYgdXJs
LCBjb25zdCBRVXJsJiBvcmlnaW5hdGluZ1VybCwgUXQ6Ok1vdXNlQnV0dG9uIGJ1dHRvbiwgUXQ6
OktleWJvYXJkTW9kaWZpZXJzIG1vZGlmaWVycykKICAgICAgICAgOiB1cmwodXJsKQorICAgICAg
ICAsIG9yaWdpbmF0aW5nVXJsKG9yaWdpbmF0aW5nVXJsKQogICAgICAgICAsIGJ1dHRvbihidXR0
b24pCiAgICAgICAgICwgbW9kaWZpZXJzKG1vZGlmaWVycykKICAgICAgICAgLCBhY3Rpb24oUVF1
aWNrV2ViVmlldzo6QWNjZXB0UmVxdWVzdCkKQEAgLTM4LDE0ICszOSwxNSBAQCBwdWJsaWM6CiAg
ICAgfQogCiAgICAgUVVybCB1cmw7CisgICAgUVVybCBvcmlnaW5hdGluZ1VybDsKICAgICBRdDo6
TW91c2VCdXR0b24gYnV0dG9uOwogICAgIFF0OjpLZXlib2FyZE1vZGlmaWVycyBtb2RpZmllcnM7
CiAgICAgaW50IGFjdGlvbjsKIH07CiAKLVFXZWJOYXZpZ2F0aW9uUmVxdWVzdDo6UVdlYk5hdmln
YXRpb25SZXF1ZXN0KGNvbnN0IFFVcmwmIHVybCwgUXQ6Ok1vdXNlQnV0dG9uIGJ1dHRvbiwgUXQ6
OktleWJvYXJkTW9kaWZpZXJzIG1vZGlmaWVycywgUU9iamVjdCogcGFyZW50KQorUVdlYk5hdmln
YXRpb25SZXF1ZXN0OjpRV2ViTmF2aWdhdGlvblJlcXVlc3QoY29uc3QgUVVybCYgdXJsLCBjb25z
dCBRVXJsJiBvcmlnaW5hdGluZ1VybCwgUXQ6Ok1vdXNlQnV0dG9uIGJ1dHRvbiwgUXQ6OktleWJv
YXJkTW9kaWZpZXJzIG1vZGlmaWVycywgUU9iamVjdCogcGFyZW50KQogICAgIDogUU9iamVjdChw
YXJlbnQpCi0gICAgLCBkKG5ldyBRV2ViTmF2aWdhdGlvblJlcXVlc3RQcml2YXRlKHVybCwgYnV0
dG9uLCBtb2RpZmllcnMpKQorICAgICwgZChuZXcgUVdlYk5hdmlnYXRpb25SZXF1ZXN0UHJpdmF0
ZSh1cmwsIG9yaWdpbmF0aW5nVXJsLCBidXR0b24sIG1vZGlmaWVycykpCiB7CiB9CiAKQEAgLTY4
LDYgKzcwLDExIEBAIFFVcmwgUVdlYk5hdmlnYXRpb25SZXF1ZXN0Ojp1cmwoKSBjb25zdAogICAg
IHJldHVybiBkLT51cmw7CiB9CiAKK1FVcmwgUVdlYk5hdmlnYXRpb25SZXF1ZXN0OjpvcmlnaW5h
dGluZ1VybCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGQtPm9yaWdpbmF0aW5nVXJsOworfQorCiBp
bnQgUVdlYk5hdmlnYXRpb25SZXF1ZXN0OjpidXR0b24oKSBjb25zdAogewogICAgIHJldHVybiBp
bnQoZC0+YnV0dG9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvcXdlYm5hdmlnYXRpb25yZXF1ZXN0X3AuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvcXQvcXdlYm5hdmlnYXRpb25yZXF1ZXN0X3AuaAppbmRleCA0YWNmOTQwYjhkYjYxMDk0ZWEx
NzFmZWM3ODUxYjg0ZGRhMjY4NThhLi45ODZiMWMxMmQ1OGZjNzFkNGUwMjgxN2NlNzI3ODkxZjU0
YmQ0MjMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJu
YXZpZ2F0aW9ucmVxdWVzdF9wLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9x
dC9xd2VibmF2aWdhdGlvbnJlcXVlc3RfcC5oCkBAIC0zMCwxNSArMzAsMTcgQEAgY2xhc3MgUVdl
Yk5hdmlnYXRpb25SZXF1ZXN0UHJpdmF0ZTsKIGNsYXNzIFFXRUJLSVRfRVhQT1JUIFFXZWJOYXZp
Z2F0aW9uUmVxdWVzdCA6IHB1YmxpYyBRT2JqZWN0IHsKICAgICBRX09CSkVDVAogICAgIFFfUFJP
UEVSVFkoUVVybCB1cmwgUkVBRCB1cmwgQ09OU1RBTlQgRklOQUwpCisgICAgUV9QUk9QRVJUWShR
VXJsIG9yaWdpbmF0aW5nVXJsIFJFQUQgb3JpZ2luYXRpbmdVcmwgQ09OU1RBTlQgRklOQUwpCiAg
ICAgUV9QUk9QRVJUWShpbnQgYnV0dG9uIFJFQUQgYnV0dG9uIENPTlNUQU5UIEZJTkFMKQogICAg
IFFfUFJPUEVSVFkoaW50IG1vZGlmaWVycyBSRUFEIG1vZGlmaWVycyBDT05TVEFOVCBGSU5BTCkK
ICAgICBRX1BST1BFUlRZKGludCBhY3Rpb24gUkVBRCBhY3Rpb24gV1JJVEUgc2V0QWN0aW9uIE5P
VElGWSBhY3Rpb25DaGFuZ2VkIEZJTkFMKQogCiBwdWJsaWM6Ci0gICAgUVdlYk5hdmlnYXRpb25S
ZXF1ZXN0KGNvbnN0IFFVcmwmIHVybCwgUXQ6Ok1vdXNlQnV0dG9uIGJ1dHRvbiwgUXQ6OktleWJv
YXJkTW9kaWZpZXJzIG1vZGlmaWVycywgUU9iamVjdCogcGFyZW50ID0gMCk7CisgICAgUVdlYk5h
dmlnYXRpb25SZXF1ZXN0KGNvbnN0IFFVcmwmIHVybCwgY29uc3QgUVVybCYgb3JpZ2luYXRpbmdV
cmwsIFF0OjpNb3VzZUJ1dHRvbiBidXR0b24sIFF0OjpLZXlib2FyZE1vZGlmaWVycyBtb2RpZmll
cnMsIFFPYmplY3QqIHBhcmVudCA9IDApOwogICAgIH5RV2ViTmF2aWdhdGlvblJlcXVlc3QoKTsK
IAogICAgIFFVcmwgdXJsKCkgY29uc3Q7CisgICAgUVVybCBvcmlnaW5hdGluZ1VybCgpIGNvbnN0
OwogICAgIGludCBidXR0b24oKSBjb25zdDsKICAgICBpbnQgbW9kaWZpZXJzKCkgY29uc3Q7CiAg
ICAgaW50IGFjdGlvbigpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC90ZXN0cy9xbWx0ZXN0cy9EZXNrdG9wQmVoYXZpb3IvdHN0X25hdmlnYXRpb25S
ZXF1ZXN0ZWQucW1sIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90ZXN0cy9xbWx0
ZXN0cy9EZXNrdG9wQmVoYXZpb3IvdHN0X25hdmlnYXRpb25SZXF1ZXN0ZWQucW1sCmluZGV4IGYy
MTc5MTM0ZWVhMTBjOGQ1NWE2M2U1YTdkN2Q2MjlhOTE0NmVkOGEuLjNlZjdkNTUxNmYyMzY0ZDNi
NmE5NzE2OTg4ZWI3Y2I1MjIxZmU2OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yL3RzdF9uYXZpZ2F0aW9u
UmVxdWVzdGVkLnFtbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Rlc3Rz
L3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci90c3RfbmF2aWdhdGlvblJlcXVlc3RlZC5xbWwKQEAg
LTEsMTEgKzEsMTUgQEAKIGltcG9ydCBRdFF1aWNrIDIuMAogaW1wb3J0IFF0VGVzdCAxLjAKIGlt
cG9ydCBRdFdlYktpdCAzLjAKK2ltcG9ydCBRdFdlYktpdC5leHBlcmltZW50YWwgMy4wCiAKIEl0
ZW0gewogICAgIHByb3BlcnR5IGludCBleHBlY3RlZExlbmd0aDogMAogICAgIHByb3BlcnR5IGlu
dCB0b3RhbEJ5dGVzOiAwCiAgICAgcHJvcGVydHkgYm9vbCBzaG91bGREb3dubG9hZDogZmFsc2UK
KyAgICBwcm9wZXJ0eSBzdHJpbmcgb3JpZ2luYXRpbmdVcmw6ICIiCisgICAgcHJvcGVydHkgdXJs
IGJlZ2luVXJsOiBRdC5yZXNvbHZlZFVybCgiLi4vY29tbW9uL3Rlc3QyLmh0bWwiKQorICAgIHBy
b3BlcnR5IHVybCBlbmRVcmw6IFF0LnJlc29sdmVkVXJsKCIuLi9jb21tb24vdGVzdDEuaHRtbCIp
CiAKICAgICBEZXNrdG9wV2ViVmlldyB7CiAgICAgICAgIGlkOiB3ZWJWaWV3CkBAIC0xNiwxMSAr
MjAsMTIgQEAgSXRlbSB7CiAKICAgICAgICAgb25OYXZpZ2F0aW9uUmVxdWVzdGVkOiB7CiAgICAg
ICAgICAgICBpZiAoc2hvdWxkRG93bmxvYWQpCi0gICAgICAgICAgICAgICAgcmVxdWVzdC5hY3Rp
b24gPSBXZWJWaWV3LkRvd25sb2FkUmVxdWVzdAorICAgICAgICAgICAgICAgIHJlcXVlc3QuYWN0
aW9uID0gV2ViVmlld0V4cGVyaW1lbnRhbC5Eb3dubG9hZFJlcXVlc3QKICAgICAgICAgICAgIGVs
c2UgaWYgKHJlcXVlc3QuYnV0dG9uID09IFF0Lk1pZGRsZUJ1dHRvbiAmJiByZXF1ZXN0Lm1vZGlm
aWVycyAmIFF0LkNvbnRyb2xNb2RpZmllcikgewogICAgICAgICAgICAgICAgIG90aGVyV2ViVmll
dy5sb2FkKHJlcXVlc3QudXJsKQogICAgICAgICAgICAgICAgIHJlcXVlc3QuYWN0aW9uID0gV2Vi
Vmlldy5JZ25vcmVSZXF1ZXN0CiAgICAgICAgICAgICB9CisgICAgICAgICAgICBvcmlnaW5hdGlu
Z1VybCA9IHJlcXVlc3Qub3JpZ2luYXRpbmdVcmwKICAgICAgICAgfQogCiAgICAgICAgIGV4cGVy
aW1lbnRhbC5vbkRvd25sb2FkUmVxdWVzdGVkOiB7CkBAIC04NiwyMCArOTEsMjIgQEAgSXRlbSB7
CiAgICAgICAgICAgICBkb3dubG9hZFNweS5jbGVhcigpCiAgICAgICAgICAgICBkb3dubG9hZEZp
bmlzaGVkU3B5LmNsZWFyKCkKICAgICAgICAgICAgIHNob3VsZERvd25sb2FkID0gZmFsc2UKKyAg
ICAgICAgICAgIG9yaWdpbmF0aW5nVXJsID0gIiIKICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0
aW9uIHRlc3RfdXNlUG9saWN5KCkgewotICAgICAgICAgICAgd2ViVmlldy5sb2FkKFF0LnJlc29s
dmVkVXJsKCIuLi9jb21tb24vdGVzdDIuaHRtbCIpKQorICAgICAgICAgICAgd2ViVmlldy5sb2Fk
KGJlZ2luVXJsKQogICAgICAgICAgICAgc3B5LndhaXQoKQogICAgICAgICAgICAgc3B5LmNsZWFy
KCkKICAgICAgICAgICAgIG1vdXNlQ2xpY2sod2ViVmlldywgMTAwLCAxMDAsIFF0LkxlZnRCdXR0
b24pCiAgICAgICAgICAgICBzcHkud2FpdCgpCiAgICAgICAgICAgICBjb21wYXJlKHNweS5jb3Vu
dCwgMSkKICAgICAgICAgICAgIGNvbXBhcmUod2ViVmlldy50aXRsZSwgIlRlc3QgcGFnZSAxIikK
KyAgICAgICAgICAgIGNvbXBhcmUod2ViVmlldy51cmwsIGVuZFVybCkKICAgICAgICAgfQogCiAg
ICAgICAgIGZ1bmN0aW9uIHRlc3RfaWdub3JlUG9saWN5KCkgewotICAgICAgICAgICAgd2ViVmll
dy5sb2FkKFF0LnJlc29sdmVkVXJsKCIuLi9jb21tb24vdGVzdDIuaHRtbCIpKQorICAgICAgICAg
ICAgd2ViVmlldy5sb2FkKGJlZ2luVXJsKQogICAgICAgICAgICAgc3B5LndhaXQoKQogICAgICAg
ICAgICAgc3B5LmNsZWFyKCkKICAgICAgICAgICAgIGNvbXBhcmUoc3B5LmNvdW50LCAwKQpAQCAt
MTA4LDExICsxMTUsMTMgQEAgSXRlbSB7CiAgICAgICAgICAgICBvdGhlclNweS53YWl0KCkKICAg
ICAgICAgICAgIGNvbXBhcmUoc3B5LmNvdW50LCAwKQogICAgICAgICAgICAgY29tcGFyZShvdGhl
clNweS5jb3VudCwgMSkKKyAgICAgICAgICAgIGNvbXBhcmUod2ViVmlldy51cmwsIGJlZ2luVXJs
KQogICAgICAgICAgICAgY29tcGFyZShvdGhlcldlYlZpZXcudGl0bGUsICJUZXN0IHBhZ2UgMSIp
CisgICAgICAgICAgICBjb21wYXJlKG90aGVyV2ViVmlldy51cmwsIGVuZFVybCkKICAgICAgICAg
fQogCiAgICAgICAgIGZ1bmN0aW9uIHRlc3RfZG93bmxvYWRQb2xpY3koKSB7Ci0gICAgICAgICAg
ICB3ZWJWaWV3LmxvYWQoUXQucmVzb2x2ZWRVcmwoIi4uL2NvbW1vbi90ZXN0Mi5odG1sIikpCisg
ICAgICAgICAgICB3ZWJWaWV3LmxvYWQoYmVnaW5VcmwpCiAgICAgICAgICAgICBzcHkud2FpdCgp
CiAgICAgICAgICAgICBzcHkuY2xlYXIoKQogICAgICAgICAgICAgY29tcGFyZShzcHkuY291bnQs
IDApCkBAIC0xMjcsNSArMTM2LDE2IEBAIEl0ZW0gewogICAgICAgICAgICAgY29tcGFyZShkb3du
bG9hZEZpbmlzaGVkU3B5LmNvdW50LCAxKQogICAgICAgICAgICAgY29tcGFyZSh0b3RhbEJ5dGVz
LCBleHBlY3RlZExlbmd0aCkKICAgICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIHRlc3Rfb3Jp
Z2luYXRpbmdVcmwoKSB7CisgICAgICAgICAgICB3ZWJWaWV3LmxvYWQoYmVnaW5VcmwpCisgICAg
ICAgICAgICBzcHkud2FpdCgpCisgICAgICAgICAgICBzcHkuY2xlYXIoKQorICAgICAgICAgICAg
bW91c2VDbGljayh3ZWJWaWV3LCAxMDAsIDEwMCwgUXQuTGVmdEJ1dHRvbikKKyAgICAgICAgICAg
IHNweS53YWl0KCkKKyAgICAgICAgICAgIGNvbXBhcmUod2ViVmlldy50aXRsZSwgIlRlc3QgcGFn
ZSAxIikKKyAgICAgICAgICAgIGNvbXBhcmUod2ViVmlldy51cmwsIGVuZFVybCkKKyAgICAgICAg
ICAgIGNvbXBhcmUob3JpZ2luYXRpbmdVcmwsIGJlZ2luVXJsKQorICAgICAgICB9CiAgICAgfQog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBvbGlj
eUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUG9saWN5
Q2xpZW50LmNwcAppbmRleCBkNDc1ZDYyN2NjZjczNTBmZWZkYTUwYjk0MzllMWMxZmQzOWMwOTBl
Li5kZGNlZWE5YzQ3Y2RkOGJhNDJmYjMxN2E2OTBjMzEzODIyYWU1MTBiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUG9saWN5Q2xpZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUG9saWN5Q2xpZW50LmNwcApA
QCAtMjEsNiArMjEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlF0V2ViUGFn
ZVBvbGljeUNsaWVudC5oIgogCisjaW5jbHVkZSAiV0tGcmFtZS5oIgogI2luY2x1ZGUgIldLVVJM
UXQuaCIKICNpbmNsdWRlICJxcXVpY2t3ZWJ2aWV3X3AuaCIKICNpbmNsdWRlICJxcXVpY2t3ZWJ2
aWV3X3BfcC5oIgpAQCAtNDEsMTggKzQyLDE4IEBAIFF0V2ViUGFnZVBvbGljeUNsaWVudDo6UXRX
ZWJQYWdlUG9saWN5Q2xpZW50KFdLUGFnZVJlZiBwYWdlUmVmLCBRUXVpY2tXZWJWaWV3KiB3CiAg
ICAgV0tQYWdlU2V0UGFnZVBvbGljeUNsaWVudChwYWdlUmVmLCAmcG9saWN5Q2xpZW50KTsKIH0K
IAotdm9pZCBRdFdlYlBhZ2VQb2xpY3lDbGllbnQ6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25B
Y3Rpb24oY29uc3QgUVVybCYgdXJsLCBRdDo6TW91c2VCdXR0b24gbW91c2VCdXR0b24sIFF0OjpL
ZXlib2FyZE1vZGlmaWVycyBrZXlib2FyZE1vZGlmaWVycywgV0tGcmFtZVBvbGljeUxpc3RlbmVy
UmVmIGxpc3RlbmVyKQordm9pZCBRdFdlYlBhZ2VQb2xpY3lDbGllbnQ6OmRlY2lkZVBvbGljeUZv
ck5hdmlnYXRpb25BY3Rpb24oY29uc3QgUVVybCYgdXJsLCBjb25zdCBRVXJsJiBvcmlnaW5hdGlu
Z1VybCwgUXQ6Ok1vdXNlQnV0dG9uIG1vdXNlQnV0dG9uLCBRdDo6S2V5Ym9hcmRNb2RpZmllcnMg
a2V5Ym9hcmRNb2RpZmllcnMsIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJlZiBsaXN0ZW5lcikKIHsK
ICAgICAvLyBOT1RFOiBldmVuIHRob3VnaCB0aGUgQyBBUEkgKGFuZCB0aGUgV2ViS2l0MiBJUEMp
IHN1cHBvcnRzIGFuIGFzeW5jaHJvbm91cyBhbnN3ZXIsIHRoaXMgaXMgbm90IGN1cnJlbnRseSB3
b3JraW5nLgogICAgIC8vIFdlIGFyZSBleHBlY3RlZCB0byBjYWxsIHRoZSBsaXN0ZW5lciBpbW1l
ZGlhdGVseS4gU2VlIHRoZSBwYXRjaCBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTUzNzg1LgotICAgIFFXZWJOYXZpZ2F0aW9uUmVxdWVzdCBuYXZpZ2F0aW9uUmVx
dWVzdCh1cmwsIG1vdXNlQnV0dG9uLCBrZXlib2FyZE1vZGlmaWVycyk7CisgICAgUVdlYk5hdmln
YXRpb25SZXF1ZXN0IG5hdmlnYXRpb25SZXF1ZXN0KHVybCwgb3JpZ2luYXRpbmdVcmwsIG1vdXNl
QnV0dG9uLCBrZXlib2FyZE1vZGlmaWVycyk7CiAgICAgZW1pdCBtX3dlYlZpZXctPm5hdmlnYXRp
b25SZXF1ZXN0ZWQoJm5hdmlnYXRpb25SZXF1ZXN0KTsKIAogICAgIHN3aXRjaCAoUVF1aWNrV2Vi
Vmlldzo6TmF2aWdhdGlvblJlcXVlc3RBY3Rpb24obmF2aWdhdGlvblJlcXVlc3QuYWN0aW9uKCkp
KSB7CiAgICAgY2FzZSBRUXVpY2tXZWJWaWV3OjpJZ25vcmVSZXF1ZXN0OgogICAgICAgICBXS0Zy
YW1lUG9saWN5TGlzdGVuZXJJZ25vcmUobGlzdGVuZXIpOwogICAgICAgICByZXR1cm47Ci0gICAg
Y2FzZSBRUXVpY2tXZWJWaWV3OjpEb3dubG9hZFJlcXVlc3Q6CisgICAgY2FzZSBRUXVpY2tXZWJW
aWV3RXhwZXJpbWVudGFsOjpEb3dubG9hZFJlcXVlc3Q6CiAgICAgICAgIFdLRnJhbWVQb2xpY3lM
aXN0ZW5lckRvd25sb2FkKGxpc3RlbmVyKTsKICAgICAgICAgcmV0dXJuOwogICAgIGNhc2UgUVF1
aWNrV2ViVmlldzo6QWNjZXB0UmVxdWVzdDoKQEAgLTk4LDEyICs5OSwxNCBAQCBzdGF0aWMgUXQ6
OktleWJvYXJkTW9kaWZpZXJzIHRvUXRLZXlib2FyZE1vZGlmaWVycyhXS0V2ZW50TW9kaWZpZXJz
IG1vZGlmaWVycykKICAgICByZXR1cm4gcXRNb2RpZmllcnM7CiB9CiAKLXZvaWQgUXRXZWJQYWdl
UG9saWN5Q2xpZW50OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKFdLUGFnZVJlZiwg
V0tGcmFtZVJlZiwgV0tGcmFtZU5hdmlnYXRpb25UeXBlLCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlm
aWVycywgV0tFdmVudE1vdXNlQnV0dG9uIG1vdXNlQnV0dG9uLCBXS1VSTFJlcXVlc3RSZWYgcmVx
dWVzdCwgV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmIGxpc3RlbmVyLCBXS1R5cGVSZWYsIGNvbnN0
IHZvaWQqIGNsaWVudEluZm8pCit2b2lkIFF0V2ViUGFnZVBvbGljeUNsaWVudDo6ZGVjaWRlUG9s
aWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihXS1BhZ2VSZWYsIFdLRnJhbWVSZWYgZnJhbWUsIFdLRnJh
bWVOYXZpZ2F0aW9uVHlwZSwgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZlbnRNb3Vz
ZUJ1dHRvbiBtb3VzZUJ1dHRvbiwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3QsIFdLRnJhbWVQb2xp
Y3lMaXN0ZW5lclJlZiBsaXN0ZW5lciwgV0tUeXBlUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KQogeworICAgIFdLVVJMUmVmIGZyYW1lVVJMID0gV0tGcmFtZUNvcHlVUkwoZnJhbWUpOwogICAg
IFdLVVJMUmVmIHJlcXVlc3RVUkwgPSBXS1VSTFJlcXVlc3RDb3B5VVJMKHJlcXVlc3QpOworICAg
IFFVcmwgcVVybEZyYW1lID0gV0tVUkxDb3B5UVVybChmcmFtZVVSTCk7CiAgICAgUVVybCBxVXJs
ID0gV0tVUkxDb3B5UVVybChyZXF1ZXN0VVJMKTsKICAgICBXS1JlbGVhc2UocmVxdWVzdFVSTCk7
Ci0gICAgdG9RdFdlYlBhZ2VQb2xpY3lDbGllbnQoY2xpZW50SW5mbyktPmRlY2lkZVBvbGljeUZv
ck5hdmlnYXRpb25BY3Rpb24ocVVybCwgdG9RdE1vdXNlQnV0dG9uKG1vdXNlQnV0dG9uKSwgdG9R
dEtleWJvYXJkTW9kaWZpZXJzKG1vZGlmaWVycyksIGxpc3RlbmVyKTsKKyAgICB0b1F0V2ViUGFn
ZVBvbGljeUNsaWVudChjbGllbnRJbmZvKS0+ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlv
bihxVXJsLCBxVXJsRnJhbWUsIHRvUXRNb3VzZUJ1dHRvbihtb3VzZUJ1dHRvbiksIHRvUXRLZXli
b2FyZE1vZGlmaWVycyhtb2RpZmllcnMpLCBsaXN0ZW5lcik7CiB9CiAKIHZvaWQgUXRXZWJQYWdl
UG9saWN5Q2xpZW50OjpkZWNpZGVQb2xpY3lGb3JSZXNwb25zZShXS1BhZ2VSZWYgcGFnZSwgV0tG
cmFtZVJlZiBmcmFtZSwgV0tVUkxSZXNwb25zZVJlZiByZXNwb25zZSwgV0tVUkxSZXF1ZXN0UmVm
LCBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYgbGlzdGVuZXIsIFdLVHlwZVJlZiwgY29uc3Qgdm9p
ZCopCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUG9s
aWN5Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUG9saWN5
Q2xpZW50LmgKaW5kZXggOTM2YTg0N2IyOTM3ZDJjMjRmNWVlOTBmMDFmNzA2ZGRjMGEzZjBhMi4u
OGM2MDIxMzk4NGE5ODViZTkyZTQ3YTZiZWRjYTA1MzFlMTExZWIxYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBvbGljeUNsaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQb2xpY3lDbGllbnQuaApAQCAtMzEs
NyArMzEsNyBAQCBwdWJsaWM6CiAgICAgUXRXZWJQYWdlUG9saWN5Q2xpZW50KFdLUGFnZVJlZiwg
UVF1aWNrV2ViVmlldyopOwogCiBwcml2YXRlOgotICAgIHZvaWQgZGVjaWRlUG9saWN5Rm9yTmF2
aWdhdGlvbkFjdGlvbihjb25zdCBRVXJsJiwgUXQ6Ok1vdXNlQnV0dG9uLCBRdDo6S2V5Ym9hcmRN
b2RpZmllcnMsIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJlZik7CisgICAgdm9pZCBkZWNpZGVQb2xp
Y3lGb3JOYXZpZ2F0aW9uQWN0aW9uKGNvbnN0IFFVcmwmLCBjb25zdCBRVXJsJiwgUXQ6Ok1vdXNl
QnV0dG9uLCBRdDo6S2V5Ym9hcmRNb2RpZmllcnMsIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJlZik7
CiAKICAgICAvLyBXS1BhZ2VQb2xpY3lDbGllbnQgY2FsbGJhY2tzLgogICAgIHN0YXRpYyB2b2lk
IGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24oV0tQYWdlUmVmLCBXS0ZyYW1lUmVmLCBX
S0ZyYW1lTmF2aWdhdGlvblR5cGUsIFdLRXZlbnRNb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRv
biwgV0tVUkxSZXF1ZXN0UmVmLCBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYsIFdLVHlwZVJlZiB1
c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cg==
</data>
<flag name="review"
          id="119517"
          type_id="1"
          status="+"
          setter="hausmann"
    />
    <flag name="commit-queue"
          id="119519"
          type_id="3"
          status="-"
          setter="hausmann"
    />
          </attachment>
      

    </bug>

</bugzilla>