<?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>78867</bug_id>
          
          <creation_ts>2012-02-16 19:17:14 -0800</creation_ts>
          <short_desc>[Qt] navigationType is missing in new API</short_desc>
          <delta_ts>2012-02-23 13:01:16 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P3</priority>
          <bug_severity>Blocker</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>78821</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Misha">mtutunik</reporter>
          <assigned_to name="Misha">mtutunik</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>hausmann</cc>
    
    <cc>jturcotte</cc>
    
    <cc>kenneth</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>maheshk</cc>
    
    <cc>ossy</cc>
    
    <cc>pierre.rossi</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yael</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>558811</commentid>
    <comment_count>0</comment_count>
    <who name="Misha">mtutunik</who>
    <bug_when>2012-02-16 19:17:14 -0800</bug_when>
    <thetext>In QtWebPagePolicyClient::decidePolicyForNavigationAction() navigationType argument is dropped.

It looks like an oversight. 

I&apos;m attaching proposed patch. Not for review yet...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558812</commentid>
    <comment_count>1</comment_count>
      <attachid>127498</attachid>
    <who name="Misha">mtutunik</who>
    <bug_when>2012-02-16 19:18:25 -0800</bug_when>
    <thetext>Created attachment 127498
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558947</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-02-16 23:06:31 -0800</bug_when>
    <thetext>Totally agreed, that&apos;s an oversight. Darn, we forgot that part yesterday in the session, we only briefly looked at it. But yeah, I think it&apos;s clear that we need it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>558948</commentid>
    <comment_count>3</comment_count>
      <attachid>127498</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-02-16 23:13:02 -0800</bug_when>
    <thetext>Comment on attachment 127498
proposed patch

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

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h:101
&gt; +    enum NavigationType {
&gt; +        NavigationTypeLinkClicked,
&gt; +        NavigationTypeFormSubmitted,
&gt; +        NavigationTypeBackForward,
&gt; +        NavigationTypeReload,
&gt; +        NavigationTypeFormResubmitted,
&gt; +        NavigationTypeOther
&gt; +    };

I think the patch is fine. These names are the same that we used in qwebpage.h, I think they&apos;re okay. We could iterate over names like

    FormSubmissionNavigation
    ReloadNavigation
    LinkClickNavigation

to shorten them a bit.

Or go all the way and shorten them with a prefix, like ApplicationAttribute or WindowAttribute (Qt::WA_Foobar):

    NT_LinkClicked
    NT_FormSubmitted

but I don&apos;t like that very much.

TBH I kind of like the FooNavigation order a bit more than NavigationTypeFoo, but that&apos;s just a guts feeling at the moment. Looking forward to comments from others :)

&gt; Source/WebKit2/UIProcess/API/qt/qwebnavigationrequest_p.h:38
&gt; +    Q_PROPERTY(QQuickWebView::NavigationType navigationType READ navigationType FINAL)

I guess CONSTANT is missing here, too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560258</commentid>
    <comment_count>4</comment_count>
      <attachid>127826</attachid>
    <who name="Misha">mtutunik</who>
    <bug_when>2012-02-20 09:20:32 -0800</bug_when>
    <thetext>Created attachment 127826
Patch for review

Corrected enum names</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560280</commentid>
    <comment_count>5</comment_count>
      <attachid>127833</attachid>
    <who name="Misha">mtutunik</who>
    <bug_when>2012-02-20 10:36:25 -0800</bug_when>
    <thetext>Created attachment 127833
Corrected patch

Fixed typoes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562207</commentid>
    <comment_count>6</comment_count>
      <attachid>127833</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-02-22 11:54:27 -0800</bug_when>
    <thetext>Comment on attachment 127833
Corrected patch

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

&gt; Source/WebKit2/UIProcess/API/qt/qwebnavigationrequest_p.h:52
&gt; +    QQuickWebView::NavigationType navigationType();

Missing const here? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562208</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-02-22 11:55:03 -0800</bug_when>
    <thetext>I like the names (I&apos;m obviously biased :).

What do the others think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562272</commentid>
    <comment_count>8</comment_count>
    <who name="Jocelyn Turcotte">jturcotte</who>
    <bug_when>2012-02-22 12:42:54 -0800</bug_when>
    <thetext>It looks good I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562477</commentid>
    <comment_count>9</comment_count>
      <attachid>128307</attachid>
    <who name="Misha">mtutunik</who>
    <bug_when>2012-02-22 15:46:20 -0800</bug_when>
    <thetext>Created attachment 128307
added missed const</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562842</commentid>
    <comment_count>10</comment_count>
      <attachid>128307</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-02-22 22:31:21 -0800</bug_when>
    <thetext>Comment on attachment 128307
added missed const

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

r=me

&gt; Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h:101
&gt; +    enum NavigationType {
&gt; +        LinkClickedNavigation,
&gt; +        FormSubmittedNavigation,
&gt; +        BackForwardNavigation,
&gt; +        ReloadNavigation,
&gt; +        FormResubmittedNavigation,
&gt; +        OtherNavigation
&gt; +    };

I realize that one disadvantage of naming things this way around is that it&apos;s not as auto-completion friendly as when the enum values being with a common prefix. Anyway, this one is consistent with the other enums we have right now as well as other enums in QtQuick, such as for example FlickableDirection { ... VerticalFlick }, BoundsBehaviour { ... StopAtBounds }.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562871</commentid>
    <comment_count>11</comment_count>
      <attachid>128307</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-22 23:21:48 -0800</bug_when>
    <thetext>Comment on attachment 128307
added missed const

Clearing flags on attachment: 128307

Committed r108614: &lt;http://trac.webkit.org/changeset/108614&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562872</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-22 23:21:53 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563098</commentid>
    <comment_count>13</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-02-23 07:18:54 -0800</bug_when>
    <thetext>Reopen, because an API test fails because of this patch:
FAIL!  : tst_publicapi::publicAPI() &apos;expectedAPI.contains(actual)&apos; returned FALSE. (QQuickWebView.LinkClickedNavigation --&gt; NavigationType)
   Loc: [/ramdisk/qt-linux-32-release-webkit2/build/Source/WebKit2/UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp(162)]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563383</commentid>
    <comment_count>14</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-02-23 13:01:16 -0800</bug_when>
    <thetext>Committed r108640: &lt;http://trac.webkit.org/changeset/108640&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127498</attachid>
            <date>2012-02-16 19:18:25 -0800</date>
            <delta_ts>2012-02-20 09:20:32 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>navigationType.patch</filename>
            <type>text/plain</type>
            <size>10349</size>
            <attacher name="Misha">mtutunik</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmll
d19wLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5o
CmluZGV4IDEzMjY4Y2YuLjMzNDg5YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaApAQCAtNzYsNiArNzYsNyBAQCBjbGFzcyBRV0VC
S0lUX0VYUE9SVCBRUXVpY2tXZWJWaWV3IDogcHVibGljIFFRdWlja0l0ZW0gewogICAgIFFfUFJP
UEVSVFkoYm9vbCBjYW5SZWxvYWQgUkVBRCBjYW5SZWxvYWQgTk9USUZZIG5hdmlnYXRpb25TdGF0
ZUNoYW5nZWQgRklOQUwpCiAgICAgUV9FTlVNUyhOYXZpZ2F0aW9uUmVxdWVzdEFjdGlvbikKICAg
ICBRX0VOVU1TKEVycm9yRG9tYWluKQorICAgIFFfRU5VTVMoTmF2aWdhdGlvblR5cGUpCiAKIHB1
YmxpYzoKICAgICBlbnVtIE5hdmlnYXRpb25SZXF1ZXN0QWN0aW9uIHsKQEAgLTg5LDYgKzkwLDE2
IEBAIHB1YmxpYzoKICAgICAgICAgSHR0cEVycm9yRG9tYWluLAogICAgICAgICBEb3dubG9hZEVy
cm9yRG9tYWluCiAgICAgfTsKKworICAgIGVudW0gTmF2aWdhdGlvblR5cGUgeworICAgICAgICBO
YXZpZ2F0aW9uVHlwZUxpbmtDbGlja2VkLAorICAgICAgICBOYXZpZ2F0aW9uVHlwZUZvcm1TdWJt
aXR0ZWQsCisgICAgICAgIE5hdmlnYXRpb25UeXBlQmFja0ZvcndhcmQsCisgICAgICAgIE5hdmln
YXRpb25UeXBlUmVsb2FkLAorICAgICAgICBOYXZpZ2F0aW9uVHlwZUZvcm1SZXN1Ym1pdHRlZCwK
KyAgICAgICAgTmF2aWdhdGlvblR5cGVPdGhlcgorICAgIH07CisKICAgICBRUXVpY2tXZWJWaWV3
KFFRdWlja0l0ZW0qIHBhcmVudCA9IDApOwogICAgIHZpcnR1YWwgflFRdWlja1dlYlZpZXcoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2VibmF2aWdh
dGlvbnJlcXVlc3QuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2VibmF2
aWdhdGlvbnJlcXVlc3QuY3BwCmluZGV4IDUyMDhhMDYuLmJlZDFkZjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25yZXF1ZXN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJuYXZpZ2F0aW9ucmVxdWVz
dC5jcHAKQEAgLTI1LDEyICsyNSwxNCBAQAogCiBjbGFzcyBRV2ViTmF2aWdhdGlvblJlcXVlc3RQ
cml2YXRlIHsKIHB1YmxpYzoKLSAgICBRV2ViTmF2aWdhdGlvblJlcXVlc3RQcml2YXRlKGNvbnN0
IFFVcmwmIHVybCwgY29uc3QgUVVybCYgb3JpZ2luYXRpbmdVcmwsIFF0OjpNb3VzZUJ1dHRvbiBi
dXR0b24sIFF0OjpLZXlib2FyZE1vZGlmaWVycyBtb2RpZmllcnMpCisgICAgUVdlYk5hdmlnYXRp
b25SZXF1ZXN0UHJpdmF0ZShjb25zdCBRVXJsJiB1cmwsIGNvbnN0IFFVcmwmIG9yaWdpbmF0aW5n
VXJsLCBRdDo6TW91c2VCdXR0b24gYnV0dG9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgUXQ6OktleWJvYXJkTW9kaWZpZXJzIG1vZGlmaWVycywgUVF1aWNrV2ViVmlldzo6TmF2
aWdhdGlvblR5cGUgbmF2aWdhdGlvblR5cGUpCiAgICAgICAgIDogdXJsKHVybCkKICAgICAgICAg
LCBvcmlnaW5hdGluZ1VybChvcmlnaW5hdGluZ1VybCkKICAgICAgICAgLCBidXR0b24oYnV0dG9u
KQogICAgICAgICAsIG1vZGlmaWVycyhtb2RpZmllcnMpCiAgICAgICAgICwgYWN0aW9uKFFRdWlj
a1dlYlZpZXc6OkFjY2VwdFJlcXVlc3QpCisgICAgICAgICwgbmF2aWdhdGlvblR5cGUobmF2aWdh
dGlvblR5cGUpCiAgICAgewogICAgIH0KIApAQCAtNDMsMTEgKzQ1LDEzIEBAIHB1YmxpYzoKICAg
ICBRdDo6TW91c2VCdXR0b24gYnV0dG9uOwogICAgIFF0OjpLZXlib2FyZE1vZGlmaWVycyBtb2Rp
ZmllcnM7CiAgICAgaW50IGFjdGlvbjsKKyAgICBRUXVpY2tXZWJWaWV3OjpOYXZpZ2F0aW9uVHlw
ZSBuYXZpZ2F0aW9uVHlwZTsKIH07CiAKLVFXZWJOYXZpZ2F0aW9uUmVxdWVzdDo6UVdlYk5hdmln
YXRpb25SZXF1ZXN0KGNvbnN0IFFVcmwmIHVybCwgY29uc3QgUVVybCYgb3JpZ2luYXRpbmdVcmws
IFF0OjpNb3VzZUJ1dHRvbiBidXR0b24sIFF0OjpLZXlib2FyZE1vZGlmaWVycyBtb2RpZmllcnMs
IFFPYmplY3QqIHBhcmVudCkKK1FXZWJOYXZpZ2F0aW9uUmVxdWVzdDo6UVdlYk5hdmlnYXRpb25S
ZXF1ZXN0KGNvbnN0IFFVcmwmIHVybCwgY29uc3QgUVVybCYgb3JpZ2luYXRpbmdVcmwsIFF0OjpN
b3VzZUJ1dHRvbiBidXR0b24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBRdDo6S2V5Ym9hcmRNb2RpZmllcnMgbW9kaWZpZXJzLCBRUXVpY2tXZWJWaWV3OjpO
YXZpZ2F0aW9uVHlwZSBuYXZpZ2F0aW9uVHlwZSwgUU9iamVjdCogcGFyZW50KQogICAgIDogUU9i
amVjdChwYXJlbnQpCi0gICAgLCBkKG5ldyBRV2ViTmF2aWdhdGlvblJlcXVlc3RQcml2YXRlKHVy
bCwgb3JpZ2luYXRpbmdVcmwsIGJ1dHRvbiwgbW9kaWZpZXJzKSkKKyAgICAsIGQobmV3IFFXZWJO
YXZpZ2F0aW9uUmVxdWVzdFByaXZhdGUodXJsLCBvcmlnaW5hdGluZ1VybCwgYnV0dG9uLCBtb2Rp
ZmllcnMsIG5hdmlnYXRpb25UeXBlKSkKIHsKIH0KIApAQCAtOTAsMyArOTQsNyBAQCBpbnQgUVdl
Yk5hdmlnYXRpb25SZXF1ZXN0OjphY3Rpb24oKSBjb25zdAogICAgIHJldHVybiBpbnQoZC0+YWN0
aW9uKTsKIH0KIAorUVF1aWNrV2ViVmlldzo6TmF2aWdhdGlvblR5cGUgUVdlYk5hdmlnYXRpb25S
ZXF1ZXN0OjpuYXZpZ2F0aW9uVHlwZSgpCit7CisgICAgcmV0dXJuIGQtPm5hdmlnYXRpb25UeXBl
OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2VibmF2
aWdhdGlvbnJlcXVlc3RfcC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2Vi
bmF2aWdhdGlvbnJlcXVlc3RfcC5oCmluZGV4IDk4NmIxYzEuLjM0YjAwMmUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25yZXF1ZXN0X3Au
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJuYXZpZ2F0aW9ucmVx
dWVzdF9wLmgKQEAgLTIwLDYgKzIwLDcgQEAKICNpZm5kZWYgcXdlYm5hdmlnYXRpb25yZXF1ZXN0
X3BfaAogI2RlZmluZSBxd2VibmF2aWdhdGlvbnJlcXVlc3RfcF9oCiAKKyNpbmNsdWRlICJxcXVp
Y2t3ZWJ2aWV3X3AuaCIKICNpbmNsdWRlICJxd2Via2l0Z2xvYmFsLmgiCiAKICNpbmNsdWRlIDxR
dENvcmUvUU9iamVjdD4KQEAgLTM0LDkgKzM1LDExIEBAIGNsYXNzIFFXRUJLSVRfRVhQT1JUIFFX
ZWJOYXZpZ2F0aW9uUmVxdWVzdCA6IHB1YmxpYyBRT2JqZWN0IHsKICAgICBRX1BST1BFUlRZKGlu
dCBidXR0b24gUkVBRCBidXR0b24gQ09OU1RBTlQgRklOQUwpCiAgICAgUV9QUk9QRVJUWShpbnQg
bW9kaWZpZXJzIFJFQUQgbW9kaWZpZXJzIENPTlNUQU5UIEZJTkFMKQogICAgIFFfUFJPUEVSVFko
aW50IGFjdGlvbiBSRUFEIGFjdGlvbiBXUklURSBzZXRBY3Rpb24gTk9USUZZIGFjdGlvbkNoYW5n
ZWQgRklOQUwpCisgICAgUV9QUk9QRVJUWShRUXVpY2tXZWJWaWV3OjpOYXZpZ2F0aW9uVHlwZSBu
YXZpZ2F0aW9uVHlwZSBSRUFEIG5hdmlnYXRpb25UeXBlIEZJTkFMKQogCiBwdWJsaWM6Ci0gICAg
UVdlYk5hdmlnYXRpb25SZXF1ZXN0KGNvbnN0IFFVcmwmIHVybCwgY29uc3QgUVVybCYgb3JpZ2lu
YXRpbmdVcmwsIFF0OjpNb3VzZUJ1dHRvbiBidXR0b24sIFF0OjpLZXlib2FyZE1vZGlmaWVycyBt
b2RpZmllcnMsIFFPYmplY3QqIHBhcmVudCA9IDApOworICAgIFFXZWJOYXZpZ2F0aW9uUmVxdWVz
dChjb25zdCBRVXJsJiB1cmwsIGNvbnN0IFFVcmwmIG9yaWdpbmF0aW5nVXJsLCBRdDo6TW91c2VC
dXR0b24gYnV0dG9uLCBRdDo6S2V5Ym9hcmRNb2RpZmllcnMgbW9kaWZpZXJzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBRUXVpY2tXZWJWaWV3OjpOYXZpZ2F0aW9uVHlwZSBuYXZpZ2F0aW9u
VHlwZSwgUU9iamVjdCogcGFyZW50ID0gMCk7CiAgICAgflFXZWJOYXZpZ2F0aW9uUmVxdWVzdCgp
OwogCiAgICAgUVVybCB1cmwoKSBjb25zdDsKQEAgLTQ2LDYgKzQ5LDcgQEAgcHVibGljOgogICAg
IGludCBhY3Rpb24oKSBjb25zdDsKIAogICAgIHZvaWQgc2V0QWN0aW9uKGludCBhY3Rpb24pOwor
ICAgIFFRdWlja1dlYlZpZXc6Ok5hdmlnYXRpb25UeXBlIG5hdmlnYXRpb25UeXBlKCk7CiAKIFFf
U0lHTkFMUzoKICAgICB2b2lkIGFjdGlvbkNoYW5nZWQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvdGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yL3Rz
dF9uYXZpZ2F0aW9uUmVxdWVzdGVkLnFtbCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvdGVzdHMvcW1sdGVzdHMvRGVza3RvcEJlaGF2aW9yL3RzdF9uYXZpZ2F0aW9uUmVxdWVzdGVk
LnFtbAppbmRleCAxNjlhMDI3Li5iYWRiYTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3Rlc3RzL3FtbHRlc3RzL0Rlc2t0b3BCZWhhdmlvci90c3RfbmF2aWdh
dGlvblJlcXVlc3RlZC5xbWwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC90
ZXN0cy9xbWx0ZXN0cy9EZXNrdG9wQmVoYXZpb3IvdHN0X25hdmlnYXRpb25SZXF1ZXN0ZWQucW1s
CkBAIC0xOSw2ICsxOSw3IEBAIEl0ZW0gewogICAgICAgICBzaWduYWwgZG93bmxvYWRGaW5pc2hl
ZCgpCiAKICAgICAgICAgb25OYXZpZ2F0aW9uUmVxdWVzdGVkOiB7CisgICAgICAgICAgICBjb25z
b2xlLmxvZyAoIm5hdmlnYXRpb24gdHlwZTogIiArIHJlcXVlc3QubmF2aWdhdGlvblR5cGUpOwog
ICAgICAgICAgICAgaWYgKHNob3VsZERvd25sb2FkKQogICAgICAgICAgICAgICAgIHJlcXVlc3Qu
YWN0aW9uID0gV2ViVmlld0V4cGVyaW1lbnRhbC5Eb3dubG9hZFJlcXVlc3QKICAgICAgICAgICAg
IGVsc2UgaWYgKHJlcXVlc3QuYnV0dG9uID09IFF0Lk1pZGRsZUJ1dHRvbiAmJiByZXF1ZXN0Lm1v
ZGlmaWVycyAmIFF0LkNvbnRyb2xNb2RpZmllcikgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBvbGljeUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUG9saWN5Q2xpZW50LmNwcAppbmRleCBlNzdmYjE0Li42
NjgwMGM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdl
UG9saWN5Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQ
YWdlUG9saWN5Q2xpZW50LmNwcApAQCAtMjMsNyArMjMsNiBAQAogCiAjaW5jbHVkZSAiV0tGcmFt
ZS5oIgogI2luY2x1ZGUgIldLVVJMUXQuaCIKLSNpbmNsdWRlICJxcXVpY2t3ZWJ2aWV3X3AuaCIK
ICNpbmNsdWRlICJxcXVpY2t3ZWJ2aWV3X3BfcC5oIgogI2luY2x1ZGUgInF3ZWJuYXZpZ2F0aW9u
cmVxdWVzdF9wLmgiCiAjaW5jbHVkZSA8UXRDb3JlL1FPYmplY3Q+CkBAIC00MiwxMSArNDEsMTIg
QEAgUXRXZWJQYWdlUG9saWN5Q2xpZW50OjpRdFdlYlBhZ2VQb2xpY3lDbGllbnQoV0tQYWdlUmVm
IHBhZ2VSZWYsIFFRdWlja1dlYlZpZXcqIHcKICAgICBXS1BhZ2VTZXRQYWdlUG9saWN5Q2xpZW50
KHBhZ2VSZWYsICZwb2xpY3lDbGllbnQpOwogfQogCi12b2lkIFF0V2ViUGFnZVBvbGljeUNsaWVu
dDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihjb25zdCBRVXJsJiB1cmwsIGNvbnN0
IFFVcmwmIG9yaWdpbmF0aW5nVXJsLCBRdDo6TW91c2VCdXR0b24gbW91c2VCdXR0b24sIFF0OjpL
ZXlib2FyZE1vZGlmaWVycyBrZXlib2FyZE1vZGlmaWVycywgV0tGcmFtZVBvbGljeUxpc3RlbmVy
UmVmIGxpc3RlbmVyKQordm9pZCBRdFdlYlBhZ2VQb2xpY3lDbGllbnQ6OmRlY2lkZVBvbGljeUZv
ck5hdmlnYXRpb25BY3Rpb24oY29uc3QgUVVybCYgdXJsLCBjb25zdCBRVXJsJiBvcmlnaW5hdGlu
Z1VybCwgUXQ6Ok1vdXNlQnV0dG9uIG1vdXNlQnV0dG9uLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUXQ6OktleWJvYXJkTW9kaWZp
ZXJzIGtleWJvYXJkTW9kaWZpZXJzLCBRUXVpY2tXZWJWaWV3OjpOYXZpZ2F0aW9uVHlwZSBuYXZp
Z2F0aW9uVHlwZSwgV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmIGxpc3RlbmVyKQogewogICAgIC8v
IE5PVEU6IGV2ZW4gdGhvdWdoIHRoZSBDIEFQSSAoYW5kIHRoZSBXZWJLaXQyIElQQykgc3VwcG9y
dHMgYW4gYXN5bmNocm9ub3VzIGFuc3dlciwgdGhpcyBpcyBub3QgY3VycmVudGx5IHdvcmtpbmcu
CiAgICAgLy8gV2UgYXJlIGV4cGVjdGVkIHRvIGNhbGwgdGhlIGxpc3RlbmVyIGltbWVkaWF0ZWx5
LiBTZWUgdGhlIHBhdGNoIGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NTM3ODUuCi0gICAgUVdlYk5hdmlnYXRpb25SZXF1ZXN0IG5hdmlnYXRpb25SZXF1ZXN0KHVy
bCwgb3JpZ2luYXRpbmdVcmwsIG1vdXNlQnV0dG9uLCBrZXlib2FyZE1vZGlmaWVycyk7CisgICAg
UVdlYk5hdmlnYXRpb25SZXF1ZXN0IG5hdmlnYXRpb25SZXF1ZXN0KHVybCwgb3JpZ2luYXRpbmdV
cmwsIG1vdXNlQnV0dG9uLCBrZXlib2FyZE1vZGlmaWVycywgbmF2aWdhdGlvblR5cGUpOwogICAg
IGVtaXQgbV93ZWJWaWV3LT5uYXZpZ2F0aW9uUmVxdWVzdGVkKCZuYXZpZ2F0aW9uUmVxdWVzdCk7
CiAKICAgICBzd2l0Y2ggKG5hdmlnYXRpb25SZXF1ZXN0LmFjdGlvbigpKSB7CkBAIC05OSwxMyAr
OTksMzMgQEAgc3RhdGljIFF0OjpLZXlib2FyZE1vZGlmaWVycyB0b1F0S2V5Ym9hcmRNb2RpZmll
cnMoV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMpCiAgICAgcmV0dXJuIHF0TW9kaWZpZXJzOwog
fQogCi12b2lkIFF0V2ViUGFnZVBvbGljeUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlv
bkFjdGlvbihXS1BhZ2VSZWYsIFdLRnJhbWVSZWYgZnJhbWUsIFdLRnJhbWVOYXZpZ2F0aW9uVHlw
ZSwgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiBtb3VzZUJ1
dHRvbiwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3QsIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJlZiBs
aXN0ZW5lciwgV0tUeXBlUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQorc3RhdGljIFFRdWlj
a1dlYlZpZXc6Ok5hdmlnYXRpb25UeXBlIHRvUXVpY2tXZWJWaWV3TmF2aWdhdGlvblR5cGUoV0tG
cmFtZU5hdmlnYXRpb25UeXBlIG5hdmlnYXRpb25UeXBlKQoreworICAgIHN3aXRjaCAobmF2aWdh
dGlvblR5cGUpIHsKKyAgICBjYXNlIGtXS0ZyYW1lTmF2aWdhdGlvblR5cGVMaW5rQ2xpY2tlZDoK
KyAgICAgICAgcmV0dXJuIFFRdWlja1dlYlZpZXc6Ok5hdmlnYXRpb25UeXBlTGlua0NsaWNrZWQ7
CisgICAgY2FzZSBrV0tGcmFtZU5hdmlnYXRpb25UeXBlRm9ybVN1Ym1pdHRlZDoKKyAgICAgICAg
cmV0dXJuIFFRdWlja1dlYlZpZXc6Ok5hdmlnYXRpb25UeXBlRm9ybVN1Ym1pdHRlZDsKKyAgICBj
YXNlIGtXS0ZyYW1lTmF2aWdhdGlvblR5cGVCYWNrRm9yd2FyZDoKKyAgICAgICAgcmV0dXJuIFFR
dWlja1dlYlZpZXc6Ok5hdmlnYXRpb25UeXBlQmFja0ZvcndhcmQ7CisgICAgY2FzZSBrV0tGcmFt
ZU5hdmlnYXRpb25UeXBlUmVsb2FkOgorICAgICAgICByZXR1cm4gUVF1aWNrV2ViVmlldzo6TmF2
aWdhdGlvblR5cGVSZWxvYWQ7CisgICAgY2FzZSBrV0tGcmFtZU5hdmlnYXRpb25UeXBlRm9ybVJl
c3VibWl0dGVkOgorICAgICAgICByZXR1cm4gUVF1aWNrV2ViVmlldzo6TmF2aWdhdGlvblR5cGVG
b3JtUmVzdWJtaXR0ZWQ7CisgICAgY2FzZSBrV0tGcmFtZU5hdmlnYXRpb25UeXBlT3RoZXI6Cisg
ICAgICAgIHJldHVybiBRUXVpY2tXZWJWaWV3OjpOYXZpZ2F0aW9uVHlwZU90aGVyOworICAgIH0K
KyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gUVF1aWNrV2ViVmlldzo6TmF2
aWdhdGlvblR5cGVPdGhlcjsKK30KKwordm9pZCBRdFdlYlBhZ2VQb2xpY3lDbGllbnQ6OmRlY2lk
ZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24oV0tQYWdlUmVmLCBXS0ZyYW1lUmVmIGZyYW1lLCBX
S0ZyYW1lTmF2aWdhdGlvblR5cGUgbmF2aWdhdGlvblR5cGUsIFdLRXZlbnRNb2RpZmllcnMgbW9k
aWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0b24gbW91c2VCdXR0b24sIFdLVVJMUmVxdWVzdFJlZiBy
ZXF1ZXN0LCBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYgbGlzdGVuZXIsIFdLVHlwZVJlZiwgY29u
c3Qgdm9pZCogY2xpZW50SW5mbykKIHsKICAgICBXS1JldGFpblB0cjxXS1VSTFJlZj4gZnJhbWVV
UkwoQWRvcHRXSywgV0tGcmFtZUNvcHlVUkwoZnJhbWUpKTsKICAgICBXS1JldGFpblB0cjxXS1VS
TFJlZj4gcmVxdWVzdFVSTChBZG9wdFdLLCBXS1VSTFJlcXVlc3RDb3B5VVJMKHJlcXVlc3QpKTsK
ICAgICBRVXJsIHFVcmxGcmFtZSA9IFdLVVJMQ29weVFVcmwoZnJhbWVVUkwuZ2V0KCkpOwogICAg
IFFVcmwgcVVybCA9IFdLVVJMQ29weVFVcmwocmVxdWVzdFVSTC5nZXQoKSk7Ci0gICAgdG9RdFdl
YlBhZ2VQb2xpY3lDbGllbnQoY2xpZW50SW5mbyktPmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25B
Y3Rpb24ocVVybCwgcVVybEZyYW1lLCB0b1F0TW91c2VCdXR0b24obW91c2VCdXR0b24pLCB0b1F0
S2V5Ym9hcmRNb2RpZmllcnMobW9kaWZpZXJzKSwgbGlzdGVuZXIpOworICAgIHRvUXRXZWJQYWdl
UG9saWN5Q2xpZW50KGNsaWVudEluZm8pLT5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9u
KHFVcmwsIHFVcmxGcmFtZSwgdG9RdE1vdXNlQnV0dG9uKG1vdXNlQnV0dG9uKSwgdG9RdEtleWJv
YXJkTW9kaWZpZXJzKG1vZGlmaWVycyksIHRvUXVpY2tXZWJWaWV3TmF2aWdhdGlvblR5cGUobmF2
aWdhdGlvblR5cGUpLCBsaXN0ZW5lcik7CiB9CiAKIHZvaWQgUXRXZWJQYWdlUG9saWN5Q2xpZW50
OjpkZWNpZGVQb2xpY3lGb3JSZXNwb25zZShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJlZiBmcmFt
ZSwgV0tVUkxSZXNwb25zZVJlZiByZXNwb25zZSwgV0tVUkxSZXF1ZXN0UmVmLCBXS0ZyYW1lUG9s
aWN5TGlzdGVuZXJSZWYgbGlzdGVuZXIsIFdLVHlwZVJlZiwgY29uc3Qgdm9pZCopCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUG9saWN5Q2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUG9saWN5Q2xpZW50LmgKaW5k
ZXggOGM2MDIxMy4uZTM5M2Q1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3F0L1F0V2ViUGFnZVBvbGljeUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9xdC9RdFdlYlBhZ2VQb2xpY3lDbGllbnQuaApAQCAtMjEsMTcgKzIxLDE3IEBACiAjaWZuZGVm
IFF0V2ViUGFnZVBvbGljeUNsaWVudF9oCiAjZGVmaW5lIFF0V2ViUGFnZVBvbGljeUNsaWVudF9o
CiAKKyNpbmNsdWRlICJxcXVpY2t3ZWJ2aWV3X3AuaCIKICNpbmNsdWRlIDxRdENvcmUvUVVybD4K
ICNpbmNsdWRlIDxXS1BhZ2UuaD4KIAogY2xhc3MgUVF1aWNrV2ViVmlldzsKLQogY2xhc3MgUXRX
ZWJQYWdlUG9saWN5Q2xpZW50IHsKIHB1YmxpYzoKICAgICBRdFdlYlBhZ2VQb2xpY3lDbGllbnQo
V0tQYWdlUmVmLCBRUXVpY2tXZWJWaWV3Kik7CiAKIHByaXZhdGU6Ci0gICAgdm9pZCBkZWNpZGVQ
b2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKGNvbnN0IFFVcmwmLCBjb25zdCBRVXJsJiwgUXQ6Ok1v
dXNlQnV0dG9uLCBRdDo6S2V5Ym9hcmRNb2RpZmllcnMsIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJl
Zik7CisgICAgdm9pZCBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKGNvbnN0IFFVcmwm
LCBjb25zdCBRVXJsJiwgUXQ6Ok1vdXNlQnV0dG9uLCBRdDo6S2V5Ym9hcmRNb2RpZmllcnMsIFFR
dWlja1dlYlZpZXc6Ok5hdmlnYXRpb25UeXBlLCBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYpOwog
CiAgICAgLy8gV0tQYWdlUG9saWN5Q2xpZW50IGNhbGxiYWNrcy4KICAgICBzdGF0aWMgdm9pZCBk
ZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwgV0tG
cmFtZU5hdmlnYXRpb25UeXBlLCBXS0V2ZW50TW9kaWZpZXJzLCBXS0V2ZW50TW91c2VCdXR0b24s
IFdLVVJMUmVxdWVzdFJlZiwgV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmLCBXS1R5cGVSZWYgdXNl
ckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127826</attachid>
            <date>2012-02-20 09:20:32 -0800</date>
            <delta_ts>2012-02-20 10:36:25 -0800</delta_ts>
            <desc>Patch for review</desc>
            <filename>navigationType.patch</filename>
            <type>text/plain</type>
            <size>10875</size>
            <attacher name="Misha">mtutunik</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBhNTk4MWQ4Li5iYzVhZTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcg
QEAKKzIwMTItMDItMjAgIE1pc2hhIFR5dXR5dW5payAgPG1pY2hhZWwudHl1dHl1bmlrQG5va2lh
LmNvbT4KKworICAgICAgICBbUXRdW1dLMl0gbmF2aWdhdGlvblR5cGUgaXMgbWlzc2luZyBpbiBu
ZXcgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
ODg2NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElu
IFF0V2ViUGFnZVBvbGljeUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbigp
IG5hdmlnYXRpb25UeXBlIAorICAgICAgICBhcmd1bWVudCBpcyBkcm9wcGVkIGJ5IG1pc3Rha2Uu
IEFkZGluZyBpdCBiYWNrIGFuZCBtYWtlIGl0IGF2YWlsYWJsZSAKKyAgICAgICAgdGhyb3VnaCBO
YXZpZ2F0aW9uUmVxdWVzdC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vi
dmlld19wLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xd2VibmF2aWdhdGlvbnJlcXVl
c3QuY3BwOgorICAgICAgICAoUVdlYk5hdmlnYXRpb25SZXF1ZXN0UHJpdmF0ZTo6UVdlYk5hdmln
YXRpb25SZXF1ZXN0UHJpdmF0ZSk6CisgICAgICAgIChRV2ViTmF2aWdhdGlvblJlcXVlc3RQcml2
YXRlKToKKyAgICAgICAgKFFXZWJOYXZpZ2F0aW9uUmVxdWVzdDo6UVdlYk5hdmlnYXRpb25SZXF1
ZXN0KToKKyAgICAgICAgKFFXZWJOYXZpZ2F0aW9uUmVxdWVzdDo6bmF2aWdhdGlvblR5cGUpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25yZXF1ZXN0X3AuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvcXQvUXRXZWJQYWdlUG9saWN5Q2xpZW50LmNwcDoKKyAgICAgICAg
KFF0V2ViUGFnZVBvbGljeUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbik6
CisgICAgICAgICh0b1F1aWNrV2ViVmlld05hdmlnYXRpb25UeXBlKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvcXQvUXRXZWJQYWdlUG9saWN5Q2xpZW50Lmg6CisgICAgICAgIChRdFdlYlBhZ2VQb2xp
Y3lDbGllbnQpOgorCiAyMDEyLTAyLTIwICBNaWNoYWVsIEJyw7xuaW5nICA8bWljaGFlbC5icnVu
aW5nQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdW1dLMl0gSW1wbGVtZW50IHByb3h5IGF1dGhl
bnRpY2F0aW9uIGhhbmRsaW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvcXF1aWNrd2Vidmlld19wLmgKaW5kZXggODA5NWNkMS4uM2U0MWI2ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oCkBAIC03Niw2
ICs3Niw3IEBAIGNsYXNzIFFXRUJLSVRfRVhQT1JUIFFRdWlja1dlYlZpZXcgOiBwdWJsaWMgUVF1
aWNrSXRlbSB7CiAgICAgUV9QUk9QRVJUWShib29sIGNhblJlbG9hZCBSRUFEIGNhblJlbG9hZCBO
T1RJRlkgbmF2aWdhdGlvblN0YXRlQ2hhbmdlZCBGSU5BTCkKICAgICBRX0VOVU1TKE5hdmlnYXRp
b25SZXF1ZXN0QWN0aW9uKQogICAgIFFfRU5VTVMoRXJyb3JEb21haW4pCisgICAgUV9FTlVNUyhO
YXZpZ2F0aW9uVHlwZSkKIAogcHVibGljOgogICAgIGVudW0gTmF2aWdhdGlvblJlcXVlc3RBY3Rp
b24gewpAQCAtODksNiArOTAsMTYgQEAgcHVibGljOgogICAgICAgICBIdHRwRXJyb3JEb21haW4s
CiAgICAgICAgIERvd25sb2FkRXJyb3JEb21haW4KICAgICB9OworCisgICAgZW51bSBOYXZpZ2F0
aW9uVHlwZSB7CisgICAgICAgIExpbmtDbGlja2VkTmF2aWdhdGlvbiwKKyAgICAgICAgRm9ybVN1
Ym1pdHRlZE5hdmlnYXRpb24sCisgICAgICAgIEJhY2tGb3J3YXJkTmF2aWdhdGlvbiwKKyAgICAg
ICAgVHlwZVJlbG9hZE5hdmlnYXRpb24sCisgICAgICAgIEZvcm1SZXN1Ym1pdHRlZE5hdmlnYXRp
b24sCisgICAgICAgIE90aGVyTmF2aWdhdGlvbgorICAgIH07CisKICAgICBRUXVpY2tXZWJWaWV3
KFFRdWlja0l0ZW0qIHBhcmVudCA9IDApOwogICAgIHZpcnR1YWwgflFRdWlja1dlYlZpZXcoKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2VibmF2aWdh
dGlvbnJlcXVlc3QuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2VibmF2
aWdhdGlvbnJlcXVlc3QuY3BwCmluZGV4IDUyMDhhMDYuLmJlZDFkZjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25yZXF1ZXN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJuYXZpZ2F0aW9ucmVxdWVz
dC5jcHAKQEAgLTI1LDEyICsyNSwxNCBAQAogCiBjbGFzcyBRV2ViTmF2aWdhdGlvblJlcXVlc3RQ
cml2YXRlIHsKIHB1YmxpYzoKLSAgICBRV2ViTmF2aWdhdGlvblJlcXVlc3RQcml2YXRlKGNvbnN0
IFFVcmwmIHVybCwgY29uc3QgUVVybCYgb3JpZ2luYXRpbmdVcmwsIFF0OjpNb3VzZUJ1dHRvbiBi
dXR0b24sIFF0OjpLZXlib2FyZE1vZGlmaWVycyBtb2RpZmllcnMpCisgICAgUVdlYk5hdmlnYXRp
b25SZXF1ZXN0UHJpdmF0ZShjb25zdCBRVXJsJiB1cmwsIGNvbnN0IFFVcmwmIG9yaWdpbmF0aW5n
VXJsLCBRdDo6TW91c2VCdXR0b24gYnV0dG9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgUXQ6OktleWJvYXJkTW9kaWZpZXJzIG1vZGlmaWVycywgUVF1aWNrV2ViVmlldzo6TmF2
aWdhdGlvblR5cGUgbmF2aWdhdGlvblR5cGUpCiAgICAgICAgIDogdXJsKHVybCkKICAgICAgICAg
LCBvcmlnaW5hdGluZ1VybChvcmlnaW5hdGluZ1VybCkKICAgICAgICAgLCBidXR0b24oYnV0dG9u
KQogICAgICAgICAsIG1vZGlmaWVycyhtb2RpZmllcnMpCiAgICAgICAgICwgYWN0aW9uKFFRdWlj
a1dlYlZpZXc6OkFjY2VwdFJlcXVlc3QpCisgICAgICAgICwgbmF2aWdhdGlvblR5cGUobmF2aWdh
dGlvblR5cGUpCiAgICAgewogICAgIH0KIApAQCAtNDMsMTEgKzQ1LDEzIEBAIHB1YmxpYzoKICAg
ICBRdDo6TW91c2VCdXR0b24gYnV0dG9uOwogICAgIFF0OjpLZXlib2FyZE1vZGlmaWVycyBtb2Rp
ZmllcnM7CiAgICAgaW50IGFjdGlvbjsKKyAgICBRUXVpY2tXZWJWaWV3OjpOYXZpZ2F0aW9uVHlw
ZSBuYXZpZ2F0aW9uVHlwZTsKIH07CiAKLVFXZWJOYXZpZ2F0aW9uUmVxdWVzdDo6UVdlYk5hdmln
YXRpb25SZXF1ZXN0KGNvbnN0IFFVcmwmIHVybCwgY29uc3QgUVVybCYgb3JpZ2luYXRpbmdVcmws
IFF0OjpNb3VzZUJ1dHRvbiBidXR0b24sIFF0OjpLZXlib2FyZE1vZGlmaWVycyBtb2RpZmllcnMs
IFFPYmplY3QqIHBhcmVudCkKK1FXZWJOYXZpZ2F0aW9uUmVxdWVzdDo6UVdlYk5hdmlnYXRpb25S
ZXF1ZXN0KGNvbnN0IFFVcmwmIHVybCwgY29uc3QgUVVybCYgb3JpZ2luYXRpbmdVcmwsIFF0OjpN
b3VzZUJ1dHRvbiBidXR0b24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBRdDo6S2V5Ym9hcmRNb2RpZmllcnMgbW9kaWZpZXJzLCBRUXVpY2tXZWJWaWV3OjpO
YXZpZ2F0aW9uVHlwZSBuYXZpZ2F0aW9uVHlwZSwgUU9iamVjdCogcGFyZW50KQogICAgIDogUU9i
amVjdChwYXJlbnQpCi0gICAgLCBkKG5ldyBRV2ViTmF2aWdhdGlvblJlcXVlc3RQcml2YXRlKHVy
bCwgb3JpZ2luYXRpbmdVcmwsIGJ1dHRvbiwgbW9kaWZpZXJzKSkKKyAgICAsIGQobmV3IFFXZWJO
YXZpZ2F0aW9uUmVxdWVzdFByaXZhdGUodXJsLCBvcmlnaW5hdGluZ1VybCwgYnV0dG9uLCBtb2Rp
ZmllcnMsIG5hdmlnYXRpb25UeXBlKSkKIHsKIH0KIApAQCAtOTAsMyArOTQsNyBAQCBpbnQgUVdl
Yk5hdmlnYXRpb25SZXF1ZXN0OjphY3Rpb24oKSBjb25zdAogICAgIHJldHVybiBpbnQoZC0+YWN0
aW9uKTsKIH0KIAorUVF1aWNrV2ViVmlldzo6TmF2aWdhdGlvblR5cGUgUVdlYk5hdmlnYXRpb25S
ZXF1ZXN0OjpuYXZpZ2F0aW9uVHlwZSgpCit7CisgICAgcmV0dXJuIGQtPm5hdmlnYXRpb25UeXBl
OworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2VibmF2
aWdhdGlvbnJlcXVlc3RfcC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2Vi
bmF2aWdhdGlvbnJlcXVlc3RfcC5oCmluZGV4IDk4NmIxYzEuLjY0ZGQ3N2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25yZXF1ZXN0X3Au
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJuYXZpZ2F0aW9ucmVx
dWVzdF9wLmgKQEAgLTIwLDYgKzIwLDcgQEAKICNpZm5kZWYgcXdlYm5hdmlnYXRpb25yZXF1ZXN0
X3BfaAogI2RlZmluZSBxd2VibmF2aWdhdGlvbnJlcXVlc3RfcF9oCiAKKyNpbmNsdWRlICJxcXVp
Y2t3ZWJ2aWV3X3AuaCIKICNpbmNsdWRlICJxd2Via2l0Z2xvYmFsLmgiCiAKICNpbmNsdWRlIDxR
dENvcmUvUU9iamVjdD4KQEAgLTM0LDkgKzM1LDExIEBAIGNsYXNzIFFXRUJLSVRfRVhQT1JUIFFX
ZWJOYXZpZ2F0aW9uUmVxdWVzdCA6IHB1YmxpYyBRT2JqZWN0IHsKICAgICBRX1BST1BFUlRZKGlu
dCBidXR0b24gUkVBRCBidXR0b24gQ09OU1RBTlQgRklOQUwpCiAgICAgUV9QUk9QRVJUWShpbnQg
bW9kaWZpZXJzIFJFQUQgbW9kaWZpZXJzIENPTlNUQU5UIEZJTkFMKQogICAgIFFfUFJPUEVSVFko
aW50IGFjdGlvbiBSRUFEIGFjdGlvbiBXUklURSBzZXRBY3Rpb24gTk9USUZZIGFjdGlvbkNoYW5n
ZWQgRklOQUwpCisgICAgUV9QUk9QRVJUWShRUXVpY2tXZWJWaWV3OjpOYXZpZ2F0aW9uVHlwZSBu
YXZpZ2F0aW9uVHlwZSBSRUFEIG5hdmlnYXRpb25UeXBlIENPTlNUQU5UIEZJTkFMKQogCiBwdWJs
aWM6Ci0gICAgUVdlYk5hdmlnYXRpb25SZXF1ZXN0KGNvbnN0IFFVcmwmIHVybCwgY29uc3QgUVVy
bCYgb3JpZ2luYXRpbmdVcmwsIFF0OjpNb3VzZUJ1dHRvbiBidXR0b24sIFF0OjpLZXlib2FyZE1v
ZGlmaWVycyBtb2RpZmllcnMsIFFPYmplY3QqIHBhcmVudCA9IDApOworICAgIFFXZWJOYXZpZ2F0
aW9uUmVxdWVzdChjb25zdCBRVXJsJiB1cmwsIGNvbnN0IFFVcmwmIG9yaWdpbmF0aW5nVXJsLCBR
dDo6TW91c2VCdXR0b24gYnV0dG9uLCBRdDo6S2V5Ym9hcmRNb2RpZmllcnMgbW9kaWZpZXJzLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICBRUXVpY2tXZWJWaWV3OjpOYXZpZ2F0aW9uVHlwZSBu
YXZpZ2F0aW9uVHlwZSwgUU9iamVjdCogcGFyZW50ID0gMCk7CiAgICAgflFXZWJOYXZpZ2F0aW9u
UmVxdWVzdCgpOwogCiAgICAgUVVybCB1cmwoKSBjb25zdDsKQEAgLTQ2LDYgKzQ5LDcgQEAgcHVi
bGljOgogICAgIGludCBhY3Rpb24oKSBjb25zdDsKIAogICAgIHZvaWQgc2V0QWN0aW9uKGludCBh
Y3Rpb24pOworICAgIFFRdWlja1dlYlZpZXc6Ok5hdmlnYXRpb25UeXBlIG5hdmlnYXRpb25UeXBl
KCk7CiAKIFFfU0lHTkFMUzoKICAgICB2b2lkIGFjdGlvbkNoYW5nZWQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQb2xpY3lDbGllbnQuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBvbGljeUNsaWVudC5jcHAKaW5k
ZXggZTc3ZmIxNC4uNjY4MDBjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L3F0L1F0V2ViUGFnZVBvbGljeUNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL3F0L1F0V2ViUGFnZVBvbGljeUNsaWVudC5jcHAKQEAgLTIzLDcgKzIzLDYgQEAKIAogI2lu
Y2x1ZGUgIldLRnJhbWUuaCIKICNpbmNsdWRlICJXS1VSTFF0LmgiCi0jaW5jbHVkZSAicXF1aWNr
d2Vidmlld19wLmgiCiAjaW5jbHVkZSAicXF1aWNrd2Vidmlld19wX3AuaCIKICNpbmNsdWRlICJx
d2VibmF2aWdhdGlvbnJlcXVlc3RfcC5oIgogI2luY2x1ZGUgPFF0Q29yZS9RT2JqZWN0PgpAQCAt
NDIsMTEgKzQxLDEyIEBAIFF0V2ViUGFnZVBvbGljeUNsaWVudDo6UXRXZWJQYWdlUG9saWN5Q2xp
ZW50KFdLUGFnZVJlZiBwYWdlUmVmLCBRUXVpY2tXZWJWaWV3KiB3CiAgICAgV0tQYWdlU2V0UGFn
ZVBvbGljeUNsaWVudChwYWdlUmVmLCAmcG9saWN5Q2xpZW50KTsKIH0KIAotdm9pZCBRdFdlYlBh
Z2VQb2xpY3lDbGllbnQ6OmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24oY29uc3QgUVVy
bCYgdXJsLCBjb25zdCBRVXJsJiBvcmlnaW5hdGluZ1VybCwgUXQ6Ok1vdXNlQnV0dG9uIG1vdXNl
QnV0dG9uLCBRdDo6S2V5Ym9hcmRNb2RpZmllcnMga2V5Ym9hcmRNb2RpZmllcnMsIFdLRnJhbWVQ
b2xpY3lMaXN0ZW5lclJlZiBsaXN0ZW5lcikKK3ZvaWQgUXRXZWJQYWdlUG9saWN5Q2xpZW50Ojpk
ZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKGNvbnN0IFFVcmwmIHVybCwgY29uc3QgUVVy
bCYgb3JpZ2luYXRpbmdVcmwsIFF0OjpNb3VzZUJ1dHRvbiBtb3VzZUJ1dHRvbiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFF0OjpL
ZXlib2FyZE1vZGlmaWVycyBrZXlib2FyZE1vZGlmaWVycywgUVF1aWNrV2ViVmlldzo6TmF2aWdh
dGlvblR5cGUgbmF2aWdhdGlvblR5cGUsIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJlZiBsaXN0ZW5l
cikKIHsKICAgICAvLyBOT1RFOiBldmVuIHRob3VnaCB0aGUgQyBBUEkgKGFuZCB0aGUgV2ViS2l0
MiBJUEMpIHN1cHBvcnRzIGFuIGFzeW5jaHJvbm91cyBhbnN3ZXIsIHRoaXMgaXMgbm90IGN1cnJl
bnRseSB3b3JraW5nLgogICAgIC8vIFdlIGFyZSBleHBlY3RlZCB0byBjYWxsIHRoZSBsaXN0ZW5l
ciBpbW1lZGlhdGVseS4gU2VlIHRoZSBwYXRjaCBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTUzNzg1LgotICAgIFFXZWJOYXZpZ2F0aW9uUmVxdWVzdCBuYXZpZ2F0
aW9uUmVxdWVzdCh1cmwsIG9yaWdpbmF0aW5nVXJsLCBtb3VzZUJ1dHRvbiwga2V5Ym9hcmRNb2Rp
ZmllcnMpOworICAgIFFXZWJOYXZpZ2F0aW9uUmVxdWVzdCBuYXZpZ2F0aW9uUmVxdWVzdCh1cmws
IG9yaWdpbmF0aW5nVXJsLCBtb3VzZUJ1dHRvbiwga2V5Ym9hcmRNb2RpZmllcnMsIG5hdmlnYXRp
b25UeXBlKTsKICAgICBlbWl0IG1fd2ViVmlldy0+bmF2aWdhdGlvblJlcXVlc3RlZCgmbmF2aWdh
dGlvblJlcXVlc3QpOwogCiAgICAgc3dpdGNoIChuYXZpZ2F0aW9uUmVxdWVzdC5hY3Rpb24oKSkg
ewpAQCAtOTksMTMgKzk5LDMzIEBAIHN0YXRpYyBRdDo6S2V5Ym9hcmRNb2RpZmllcnMgdG9RdEtl
eWJvYXJkTW9kaWZpZXJzKFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzKQogICAgIHJldHVybiBx
dE1vZGlmaWVyczsKIH0KIAotdm9pZCBRdFdlYlBhZ2VQb2xpY3lDbGllbnQ6OmRlY2lkZVBvbGlj
eUZvck5hdmlnYXRpb25BY3Rpb24oV0tQYWdlUmVmLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS0ZyYW1l
TmF2aWdhdGlvblR5cGUsIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJzLCBXS0V2ZW50TW91c2VC
dXR0b24gbW91c2VCdXR0b24sIFdLVVJMUmVxdWVzdFJlZiByZXF1ZXN0LCBXS0ZyYW1lUG9saWN5
TGlzdGVuZXJSZWYgbGlzdGVuZXIsIFdLVHlwZVJlZiwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykK
K3N0YXRpYyBRUXVpY2tXZWJWaWV3OjpOYXZpZ2F0aW9uVHlwZSB0b1F1aWNrV2ViVmlld05hdmln
YXRpb25UeXBlKFdLRnJhbWVOYXZpZ2F0aW9uVHlwZSBuYXZpZ2F0aW9uVHlwZSkKK3sKKyAgICBz
d2l0Y2ggKG5hdmlnYXRpb25UeXBlKSB7CisgICAgY2FzZSBrV0tGcmFtZU5hdmlnYXRpb25UeXBl
TGlua0NsaWNrZWQ6CisgICAgICAgIHJldHVybiBRUXVpY2tXZWJWaWV3OjpOYXZpZ2F0aW9uVHlw
ZUxpbmtDbGlja2VkOworICAgIGNhc2Uga1dLRnJhbWVOYXZpZ2F0aW9uVHlwZUZvcm1TdWJtaXR0
ZWQ6CisgICAgICAgIHJldHVybiBRUXVpY2tXZWJWaWV3OjpOYXZpZ2F0aW9uVHlwZUZvcm1TdWJt
aXR0ZWQ7CisgICAgY2FzZSBrV0tGcmFtZU5hdmlnYXRpb25UeXBlQmFja0ZvcndhcmQ6CisgICAg
ICAgIHJldHVybiBRUXVpY2tXZWJWaWV3OjpOYXZpZ2F0aW9uVHlwZUJhY2tGb3J3YXJkOworICAg
IGNhc2Uga1dLRnJhbWVOYXZpZ2F0aW9uVHlwZVJlbG9hZDoKKyAgICAgICAgcmV0dXJuIFFRdWlj
a1dlYlZpZXc6Ok5hdmlnYXRpb25UeXBlUmVsb2FkOworICAgIGNhc2Uga1dLRnJhbWVOYXZpZ2F0
aW9uVHlwZUZvcm1SZXN1Ym1pdHRlZDoKKyAgICAgICAgcmV0dXJuIFFRdWlja1dlYlZpZXc6Ok5h
dmlnYXRpb25UeXBlRm9ybVJlc3VibWl0dGVkOworICAgIGNhc2Uga1dLRnJhbWVOYXZpZ2F0aW9u
VHlwZU90aGVyOgorICAgICAgICByZXR1cm4gUVF1aWNrV2ViVmlldzo6TmF2aWdhdGlvblR5cGVP
dGhlcjsKKyAgICB9CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIFFRdWlj
a1dlYlZpZXc6Ok5hdmlnYXRpb25UeXBlT3RoZXI7Cit9CisKK3ZvaWQgUXRXZWJQYWdlUG9saWN5
Q2xpZW50OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKFdLUGFnZVJlZiwgV0tGcmFt
ZVJlZiBmcmFtZSwgV0tGcmFtZU5hdmlnYXRpb25UeXBlIG5hdmlnYXRpb25UeXBlLCBXS0V2ZW50
TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9uIG1vdXNlQnV0dG9uLCBXS1VS
TFJlcXVlc3RSZWYgcmVxdWVzdCwgV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmIGxpc3RlbmVyLCBX
S1R5cGVSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tV
UkxSZWY+IGZyYW1lVVJMKEFkb3B0V0ssIFdLRnJhbWVDb3B5VVJMKGZyYW1lKSk7CiAgICAgV0tS
ZXRhaW5QdHI8V0tVUkxSZWY+IHJlcXVlc3RVUkwoQWRvcHRXSywgV0tVUkxSZXF1ZXN0Q29weVVS
TChyZXF1ZXN0KSk7CiAgICAgUVVybCBxVXJsRnJhbWUgPSBXS1VSTENvcHlRVXJsKGZyYW1lVVJM
LmdldCgpKTsKICAgICBRVXJsIHFVcmwgPSBXS1VSTENvcHlRVXJsKHJlcXVlc3RVUkwuZ2V0KCkp
OwotICAgIHRvUXRXZWJQYWdlUG9saWN5Q2xpZW50KGNsaWVudEluZm8pLT5kZWNpZGVQb2xpY3lG
b3JOYXZpZ2F0aW9uQWN0aW9uKHFVcmwsIHFVcmxGcmFtZSwgdG9RdE1vdXNlQnV0dG9uKG1vdXNl
QnV0dG9uKSwgdG9RdEtleWJvYXJkTW9kaWZpZXJzKG1vZGlmaWVycyksIGxpc3RlbmVyKTsKKyAg
ICB0b1F0V2ViUGFnZVBvbGljeUNsaWVudChjbGllbnRJbmZvKS0+ZGVjaWRlUG9saWN5Rm9yTmF2
aWdhdGlvbkFjdGlvbihxVXJsLCBxVXJsRnJhbWUsIHRvUXRNb3VzZUJ1dHRvbihtb3VzZUJ1dHRv
biksIHRvUXRLZXlib2FyZE1vZGlmaWVycyhtb2RpZmllcnMpLCB0b1F1aWNrV2ViVmlld05hdmln
YXRpb25UeXBlKG5hdmlnYXRpb25UeXBlKSwgbGlzdGVuZXIpOwogfQogCiB2b2lkIFF0V2ViUGFn
ZVBvbGljeUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UoV0tQYWdlUmVmIHBhZ2UsIFdL
RnJhbWVSZWYgZnJhbWUsIFdLVVJMUmVzcG9uc2VSZWYgcmVzcG9uc2UsIFdLVVJMUmVxdWVzdFJl
ZiwgV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmIGxpc3RlbmVyLCBXS1R5cGVSZWYsIGNvbnN0IHZv
aWQqKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBv
bGljeUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBvbGlj
eUNsaWVudC5oCmluZGV4IDhjNjAyMTMuLmUzOTNkNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQb2xpY3lDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUG9saWN5Q2xpZW50LmgKQEAgLTIxLDE3ICsyMSwx
NyBAQAogI2lmbmRlZiBRdFdlYlBhZ2VQb2xpY3lDbGllbnRfaAogI2RlZmluZSBRdFdlYlBhZ2VQ
b2xpY3lDbGllbnRfaAogCisjaW5jbHVkZSAicXF1aWNrd2Vidmlld19wLmgiCiAjaW5jbHVkZSA8
UXRDb3JlL1FVcmw+CiAjaW5jbHVkZSA8V0tQYWdlLmg+CiAKIGNsYXNzIFFRdWlja1dlYlZpZXc7
Ci0KIGNsYXNzIFF0V2ViUGFnZVBvbGljeUNsaWVudCB7CiBwdWJsaWM6CiAgICAgUXRXZWJQYWdl
UG9saWN5Q2xpZW50KFdLUGFnZVJlZiwgUVF1aWNrV2ViVmlldyopOwogCiBwcml2YXRlOgotICAg
IHZvaWQgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihjb25zdCBRVXJsJiwgY29uc3Qg
UVVybCYsIFF0OjpNb3VzZUJ1dHRvbiwgUXQ6OktleWJvYXJkTW9kaWZpZXJzLCBXS0ZyYW1lUG9s
aWN5TGlzdGVuZXJSZWYpOworICAgIHZvaWQgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlv
bihjb25zdCBRVXJsJiwgY29uc3QgUVVybCYsIFF0OjpNb3VzZUJ1dHRvbiwgUXQ6OktleWJvYXJk
TW9kaWZpZXJzLCBRUXVpY2tXZWJWaWV3OjpOYXZpZ2F0aW9uVHlwZSwgV0tGcmFtZVBvbGljeUxp
c3RlbmVyUmVmKTsKIAogICAgIC8vIFdLUGFnZVBvbGljeUNsaWVudCBjYWxsYmFja3MuCiAgICAg
c3RhdGljIHZvaWQgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihXS1BhZ2VSZWYsIFdL
RnJhbWVSZWYsIFdLRnJhbWVOYXZpZ2F0aW9uVHlwZSwgV0tFdmVudE1vZGlmaWVycywgV0tFdmVu
dE1vdXNlQnV0dG9uLCBXS1VSTFJlcXVlc3RSZWYsIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJlZiwg
V0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127833</attachid>
            <date>2012-02-20 10:36:25 -0800</date>
            <delta_ts>2012-02-22 15:46:20 -0800</delta_ts>
            <desc>Corrected patch</desc>
            <filename>navigationType.patch</filename>
            <type>text/plain</type>
            <size>10843</size>
            <attacher name="Misha">mtutunik</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBhNTk4MWQ4Li5iYzVhZTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcg
QEAKKzIwMTItMDItMjAgIE1pc2hhIFR5dXR5dW5payAgPG1pY2hhZWwudHl1dHl1bmlrQG5va2lh
LmNvbT4KKworICAgICAgICBbUXRdW1dLMl0gbmF2aWdhdGlvblR5cGUgaXMgbWlzc2luZyBpbiBu
ZXcgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
ODg2NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElu
IFF0V2ViUGFnZVBvbGljeUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbigp
IG5hdmlnYXRpb25UeXBlIAorICAgICAgICBhcmd1bWVudCBpcyBkcm9wcGVkIGJ5IG1pc3Rha2Uu
IEFkZGluZyBpdCBiYWNrIGFuZCBtYWtlIGl0IGF2YWlsYWJsZSAKKyAgICAgICAgdGhyb3VnaCBO
YXZpZ2F0aW9uUmVxdWVzdC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vi
dmlld19wLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xd2VibmF2aWdhdGlvbnJlcXVl
c3QuY3BwOgorICAgICAgICAoUVdlYk5hdmlnYXRpb25SZXF1ZXN0UHJpdmF0ZTo6UVdlYk5hdmln
YXRpb25SZXF1ZXN0UHJpdmF0ZSk6CisgICAgICAgIChRV2ViTmF2aWdhdGlvblJlcXVlc3RQcml2
YXRlKToKKyAgICAgICAgKFFXZWJOYXZpZ2F0aW9uUmVxdWVzdDo6UVdlYk5hdmlnYXRpb25SZXF1
ZXN0KToKKyAgICAgICAgKFFXZWJOYXZpZ2F0aW9uUmVxdWVzdDo6bmF2aWdhdGlvblR5cGUpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25yZXF1ZXN0X3AuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvcXQvUXRXZWJQYWdlUG9saWN5Q2xpZW50LmNwcDoKKyAgICAgICAg
KFF0V2ViUGFnZVBvbGljeUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbik6
CisgICAgICAgICh0b1F1aWNrV2ViVmlld05hdmlnYXRpb25UeXBlKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvcXQvUXRXZWJQYWdlUG9saWN5Q2xpZW50Lmg6CisgICAgICAgIChRdFdlYlBhZ2VQb2xp
Y3lDbGllbnQpOgorCiAyMDEyLTAyLTIwICBNaWNoYWVsIEJyw7xuaW5nICA8bWljaGFlbC5icnVu
aW5nQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdW1dLMl0gSW1wbGVtZW50IHByb3h5IGF1dGhl
bnRpY2F0aW9uIGhhbmRsaW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
cXQvcXF1aWNrd2Vidmlld19wLmgKaW5kZXggODA5NWNkMS4uYjFmYzkyNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3ZWJ2aWV3X3AuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oCkBAIC03Niw2
ICs3Niw3IEBAIGNsYXNzIFFXRUJLSVRfRVhQT1JUIFFRdWlja1dlYlZpZXcgOiBwdWJsaWMgUVF1
aWNrSXRlbSB7CiAgICAgUV9QUk9QRVJUWShib29sIGNhblJlbG9hZCBSRUFEIGNhblJlbG9hZCBO
T1RJRlkgbmF2aWdhdGlvblN0YXRlQ2hhbmdlZCBGSU5BTCkKICAgICBRX0VOVU1TKE5hdmlnYXRp
b25SZXF1ZXN0QWN0aW9uKQogICAgIFFfRU5VTVMoRXJyb3JEb21haW4pCisgICAgUV9FTlVNUyhO
YXZpZ2F0aW9uVHlwZSkKIAogcHVibGljOgogICAgIGVudW0gTmF2aWdhdGlvblJlcXVlc3RBY3Rp
b24gewpAQCAtODksNiArOTAsMTYgQEAgcHVibGljOgogICAgICAgICBIdHRwRXJyb3JEb21haW4s
CiAgICAgICAgIERvd25sb2FkRXJyb3JEb21haW4KICAgICB9OworCisgICAgZW51bSBOYXZpZ2F0
aW9uVHlwZSB7CisgICAgICAgIExpbmtDbGlja2VkTmF2aWdhdGlvbiwKKyAgICAgICAgRm9ybVN1
Ym1pdHRlZE5hdmlnYXRpb24sCisgICAgICAgIEJhY2tGb3J3YXJkTmF2aWdhdGlvbiwKKyAgICAg
ICAgUmVsb2FkTmF2aWdhdGlvbiwKKyAgICAgICAgRm9ybVJlc3VibWl0dGVkTmF2aWdhdGlvbiwK
KyAgICAgICAgT3RoZXJOYXZpZ2F0aW9uCisgICAgfTsKKwogICAgIFFRdWlja1dlYlZpZXcoUVF1
aWNrSXRlbSogcGFyZW50ID0gMCk7CiAgICAgdmlydHVhbCB+UVF1aWNrV2ViVmlldygpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJuYXZpZ2F0aW9u
cmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJuYXZpZ2F0
aW9ucmVxdWVzdC5jcHAKaW5kZXggNTIwOGEwNi4uYmVkMWRmNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2VibmF2aWdhdGlvbnJlcXVlc3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25yZXF1ZXN0LmNw
cApAQCAtMjUsMTIgKzI1LDE0IEBACiAKIGNsYXNzIFFXZWJOYXZpZ2F0aW9uUmVxdWVzdFByaXZh
dGUgewogcHVibGljOgotICAgIFFXZWJOYXZpZ2F0aW9uUmVxdWVzdFByaXZhdGUoY29uc3QgUVVy
bCYgdXJsLCBjb25zdCBRVXJsJiBvcmlnaW5hdGluZ1VybCwgUXQ6Ok1vdXNlQnV0dG9uIGJ1dHRv
biwgUXQ6OktleWJvYXJkTW9kaWZpZXJzIG1vZGlmaWVycykKKyAgICBRV2ViTmF2aWdhdGlvblJl
cXVlc3RQcml2YXRlKGNvbnN0IFFVcmwmIHVybCwgY29uc3QgUVVybCYgb3JpZ2luYXRpbmdVcmws
IFF0OjpNb3VzZUJ1dHRvbiBidXR0b24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBRdDo6S2V5Ym9hcmRNb2RpZmllcnMgbW9kaWZpZXJzLCBRUXVpY2tXZWJWaWV3OjpOYXZpZ2F0
aW9uVHlwZSBuYXZpZ2F0aW9uVHlwZSkKICAgICAgICAgOiB1cmwodXJsKQogICAgICAgICAsIG9y
aWdpbmF0aW5nVXJsKG9yaWdpbmF0aW5nVXJsKQogICAgICAgICAsIGJ1dHRvbihidXR0b24pCiAg
ICAgICAgICwgbW9kaWZpZXJzKG1vZGlmaWVycykKICAgICAgICAgLCBhY3Rpb24oUVF1aWNrV2Vi
Vmlldzo6QWNjZXB0UmVxdWVzdCkKKyAgICAgICAgLCBuYXZpZ2F0aW9uVHlwZShuYXZpZ2F0aW9u
VHlwZSkKICAgICB7CiAgICAgfQogCkBAIC00MywxMSArNDUsMTMgQEAgcHVibGljOgogICAgIFF0
OjpNb3VzZUJ1dHRvbiBidXR0b247CiAgICAgUXQ6OktleWJvYXJkTW9kaWZpZXJzIG1vZGlmaWVy
czsKICAgICBpbnQgYWN0aW9uOworICAgIFFRdWlja1dlYlZpZXc6Ok5hdmlnYXRpb25UeXBlIG5h
dmlnYXRpb25UeXBlOwogfTsKIAotUVdlYk5hdmlnYXRpb25SZXF1ZXN0OjpRV2ViTmF2aWdhdGlv
blJlcXVlc3QoY29uc3QgUVVybCYgdXJsLCBjb25zdCBRVXJsJiBvcmlnaW5hdGluZ1VybCwgUXQ6
Ok1vdXNlQnV0dG9uIGJ1dHRvbiwgUXQ6OktleWJvYXJkTW9kaWZpZXJzIG1vZGlmaWVycywgUU9i
amVjdCogcGFyZW50KQorUVdlYk5hdmlnYXRpb25SZXF1ZXN0OjpRV2ViTmF2aWdhdGlvblJlcXVl
c3QoY29uc3QgUVVybCYgdXJsLCBjb25zdCBRVXJsJiBvcmlnaW5hdGluZ1VybCwgUXQ6Ok1vdXNl
QnV0dG9uIGJ1dHRvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFF0OjpLZXlib2FyZE1vZGlmaWVycyBtb2RpZmllcnMsIFFRdWlja1dlYlZpZXc6Ok5hdmln
YXRpb25UeXBlIG5hdmlnYXRpb25UeXBlLCBRT2JqZWN0KiBwYXJlbnQpCiAgICAgOiBRT2JqZWN0
KHBhcmVudCkKLSAgICAsIGQobmV3IFFXZWJOYXZpZ2F0aW9uUmVxdWVzdFByaXZhdGUodXJsLCBv
cmlnaW5hdGluZ1VybCwgYnV0dG9uLCBtb2RpZmllcnMpKQorICAgICwgZChuZXcgUVdlYk5hdmln
YXRpb25SZXF1ZXN0UHJpdmF0ZSh1cmwsIG9yaWdpbmF0aW5nVXJsLCBidXR0b24sIG1vZGlmaWVy
cywgbmF2aWdhdGlvblR5cGUpKQogewogfQogCkBAIC05MCwzICs5NCw3IEBAIGludCBRV2ViTmF2
aWdhdGlvblJlcXVlc3Q6OmFjdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIGludChkLT5hY3Rpb24p
OwogfQogCitRUXVpY2tXZWJWaWV3OjpOYXZpZ2F0aW9uVHlwZSBRV2ViTmF2aWdhdGlvblJlcXVl
c3Q6Om5hdmlnYXRpb25UeXBlKCkKK3sKKyAgICByZXR1cm4gZC0+bmF2aWdhdGlvblR5cGU7Cit9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJuYXZpZ2F0
aW9ucmVxdWVzdF9wLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJuYXZp
Z2F0aW9ucmVxdWVzdF9wLmgKaW5kZXggOTg2YjFjMS4uNjRkZDc3ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2VibmF2aWdhdGlvbnJlcXVlc3RfcC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25yZXF1ZXN0
X3AuaApAQCAtMjAsNiArMjAsNyBAQAogI2lmbmRlZiBxd2VibmF2aWdhdGlvbnJlcXVlc3RfcF9o
CiAjZGVmaW5lIHF3ZWJuYXZpZ2F0aW9ucmVxdWVzdF9wX2gKIAorI2luY2x1ZGUgInFxdWlja3dl
YnZpZXdfcC5oIgogI2luY2x1ZGUgInF3ZWJraXRnbG9iYWwuaCIKIAogI2luY2x1ZGUgPFF0Q29y
ZS9RT2JqZWN0PgpAQCAtMzQsOSArMzUsMTEgQEAgY2xhc3MgUVdFQktJVF9FWFBPUlQgUVdlYk5h
dmlnYXRpb25SZXF1ZXN0IDogcHVibGljIFFPYmplY3QgewogICAgIFFfUFJPUEVSVFkoaW50IGJ1
dHRvbiBSRUFEIGJ1dHRvbiBDT05TVEFOVCBGSU5BTCkKICAgICBRX1BST1BFUlRZKGludCBtb2Rp
ZmllcnMgUkVBRCBtb2RpZmllcnMgQ09OU1RBTlQgRklOQUwpCiAgICAgUV9QUk9QRVJUWShpbnQg
YWN0aW9uIFJFQUQgYWN0aW9uIFdSSVRFIHNldEFjdGlvbiBOT1RJRlkgYWN0aW9uQ2hhbmdlZCBG
SU5BTCkKKyAgICBRX1BST1BFUlRZKFFRdWlja1dlYlZpZXc6Ok5hdmlnYXRpb25UeXBlIG5hdmln
YXRpb25UeXBlIFJFQUQgbmF2aWdhdGlvblR5cGUgQ09OU1RBTlQgRklOQUwpCiAKIHB1YmxpYzoK
LSAgICBRV2ViTmF2aWdhdGlvblJlcXVlc3QoY29uc3QgUVVybCYgdXJsLCBjb25zdCBRVXJsJiBv
cmlnaW5hdGluZ1VybCwgUXQ6Ok1vdXNlQnV0dG9uIGJ1dHRvbiwgUXQ6OktleWJvYXJkTW9kaWZp
ZXJzIG1vZGlmaWVycywgUU9iamVjdCogcGFyZW50ID0gMCk7CisgICAgUVdlYk5hdmlnYXRpb25S
ZXF1ZXN0KGNvbnN0IFFVcmwmIHVybCwgY29uc3QgUVVybCYgb3JpZ2luYXRpbmdVcmwsIFF0OjpN
b3VzZUJ1dHRvbiBidXR0b24sIFF0OjpLZXlib2FyZE1vZGlmaWVycyBtb2RpZmllcnMsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIFFRdWlja1dlYlZpZXc6Ok5hdmlnYXRpb25UeXBlIG5hdmln
YXRpb25UeXBlLCBRT2JqZWN0KiBwYXJlbnQgPSAwKTsKICAgICB+UVdlYk5hdmlnYXRpb25SZXF1
ZXN0KCk7CiAKICAgICBRVXJsIHVybCgpIGNvbnN0OwpAQCAtNDYsNiArNDksNyBAQCBwdWJsaWM6
CiAgICAgaW50IGFjdGlvbigpIGNvbnN0OwogCiAgICAgdm9pZCBzZXRBY3Rpb24oaW50IGFjdGlv
bik7CisgICAgUVF1aWNrV2ViVmlldzo6TmF2aWdhdGlvblR5cGUgbmF2aWdhdGlvblR5cGUoKTsK
IAogUV9TSUdOQUxTOgogICAgIHZvaWQgYWN0aW9uQ2hhbmdlZCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBvbGljeUNsaWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUG9saWN5Q2xpZW50LmNwcAppbmRleCBl
NzdmYjE0Li5hZDhjZWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQv
UXRXZWJQYWdlUG9saWN5Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
cXQvUXRXZWJQYWdlUG9saWN5Q2xpZW50LmNwcApAQCAtMjMsNyArMjMsNiBAQAogCiAjaW5jbHVk
ZSAiV0tGcmFtZS5oIgogI2luY2x1ZGUgIldLVVJMUXQuaCIKLSNpbmNsdWRlICJxcXVpY2t3ZWJ2
aWV3X3AuaCIKICNpbmNsdWRlICJxcXVpY2t3ZWJ2aWV3X3BfcC5oIgogI2luY2x1ZGUgInF3ZWJu
YXZpZ2F0aW9ucmVxdWVzdF9wLmgiCiAjaW5jbHVkZSA8UXRDb3JlL1FPYmplY3Q+CkBAIC00Miwx
MSArNDEsMTIgQEAgUXRXZWJQYWdlUG9saWN5Q2xpZW50OjpRdFdlYlBhZ2VQb2xpY3lDbGllbnQo
V0tQYWdlUmVmIHBhZ2VSZWYsIFFRdWlja1dlYlZpZXcqIHcKICAgICBXS1BhZ2VTZXRQYWdlUG9s
aWN5Q2xpZW50KHBhZ2VSZWYsICZwb2xpY3lDbGllbnQpOwogfQogCi12b2lkIFF0V2ViUGFnZVBv
bGljeUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihjb25zdCBRVXJsJiB1
cmwsIGNvbnN0IFFVcmwmIG9yaWdpbmF0aW5nVXJsLCBRdDo6TW91c2VCdXR0b24gbW91c2VCdXR0
b24sIFF0OjpLZXlib2FyZE1vZGlmaWVycyBrZXlib2FyZE1vZGlmaWVycywgV0tGcmFtZVBvbGlj
eUxpc3RlbmVyUmVmIGxpc3RlbmVyKQordm9pZCBRdFdlYlBhZ2VQb2xpY3lDbGllbnQ6OmRlY2lk
ZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24oY29uc3QgUVVybCYgdXJsLCBjb25zdCBRVXJsJiBv
cmlnaW5hdGluZ1VybCwgUXQ6Ok1vdXNlQnV0dG9uIG1vdXNlQnV0dG9uLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUXQ6OktleWJv
YXJkTW9kaWZpZXJzIGtleWJvYXJkTW9kaWZpZXJzLCBRUXVpY2tXZWJWaWV3OjpOYXZpZ2F0aW9u
VHlwZSBuYXZpZ2F0aW9uVHlwZSwgV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmIGxpc3RlbmVyKQog
ewogICAgIC8vIE5PVEU6IGV2ZW4gdGhvdWdoIHRoZSBDIEFQSSAoYW5kIHRoZSBXZWJLaXQyIElQ
Qykgc3VwcG9ydHMgYW4gYXN5bmNocm9ub3VzIGFuc3dlciwgdGhpcyBpcyBub3QgY3VycmVudGx5
IHdvcmtpbmcuCiAgICAgLy8gV2UgYXJlIGV4cGVjdGVkIHRvIGNhbGwgdGhlIGxpc3RlbmVyIGlt
bWVkaWF0ZWx5LiBTZWUgdGhlIHBhdGNoIGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTM3ODUuCi0gICAgUVdlYk5hdmlnYXRpb25SZXF1ZXN0IG5hdmlnYXRpb25S
ZXF1ZXN0KHVybCwgb3JpZ2luYXRpbmdVcmwsIG1vdXNlQnV0dG9uLCBrZXlib2FyZE1vZGlmaWVy
cyk7CisgICAgUVdlYk5hdmlnYXRpb25SZXF1ZXN0IG5hdmlnYXRpb25SZXF1ZXN0KHVybCwgb3Jp
Z2luYXRpbmdVcmwsIG1vdXNlQnV0dG9uLCBrZXlib2FyZE1vZGlmaWVycywgbmF2aWdhdGlvblR5
cGUpOwogICAgIGVtaXQgbV93ZWJWaWV3LT5uYXZpZ2F0aW9uUmVxdWVzdGVkKCZuYXZpZ2F0aW9u
UmVxdWVzdCk7CiAKICAgICBzd2l0Y2ggKG5hdmlnYXRpb25SZXF1ZXN0LmFjdGlvbigpKSB7CkBA
IC05OSwxMyArOTksMzMgQEAgc3RhdGljIFF0OjpLZXlib2FyZE1vZGlmaWVycyB0b1F0S2V5Ym9h
cmRNb2RpZmllcnMoV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMpCiAgICAgcmV0dXJuIHF0TW9k
aWZpZXJzOwogfQogCi12b2lkIFF0V2ViUGFnZVBvbGljeUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9y
TmF2aWdhdGlvbkFjdGlvbihXS1BhZ2VSZWYsIFdLRnJhbWVSZWYgZnJhbWUsIFdLRnJhbWVOYXZp
Z2F0aW9uVHlwZSwgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRv
biBtb3VzZUJ1dHRvbiwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3QsIFdLRnJhbWVQb2xpY3lMaXN0
ZW5lclJlZiBsaXN0ZW5lciwgV0tUeXBlUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQorc3Rh
dGljIFFRdWlja1dlYlZpZXc6Ok5hdmlnYXRpb25UeXBlIHRvUXVpY2tXZWJWaWV3TmF2aWdhdGlv
blR5cGUoV0tGcmFtZU5hdmlnYXRpb25UeXBlIG5hdmlnYXRpb25UeXBlKQoreworICAgIHN3aXRj
aCAobmF2aWdhdGlvblR5cGUpIHsKKyAgICBjYXNlIGtXS0ZyYW1lTmF2aWdhdGlvblR5cGVMaW5r
Q2xpY2tlZDoKKyAgICAgICAgcmV0dXJuIFFRdWlja1dlYlZpZXc6OkxpbmtDbGlja2VkTmF2aWdh
dGlvbjsKKyAgICBjYXNlIGtXS0ZyYW1lTmF2aWdhdGlvblR5cGVGb3JtU3VibWl0dGVkOgorICAg
ICAgICByZXR1cm4gUVF1aWNrV2ViVmlldzo6Rm9ybVN1Ym1pdHRlZE5hdmlnYXRpb247CisgICAg
Y2FzZSBrV0tGcmFtZU5hdmlnYXRpb25UeXBlQmFja0ZvcndhcmQ6CisgICAgICAgIHJldHVybiBR
UXVpY2tXZWJWaWV3OjpCYWNrRm9yd2FyZE5hdmlnYXRpb247CisgICAgY2FzZSBrV0tGcmFtZU5h
dmlnYXRpb25UeXBlUmVsb2FkOgorICAgICAgICByZXR1cm4gUVF1aWNrV2ViVmlldzo6UmVsb2Fk
TmF2aWdhdGlvbjsKKyAgICBjYXNlIGtXS0ZyYW1lTmF2aWdhdGlvblR5cGVGb3JtUmVzdWJtaXR0
ZWQ6CisgICAgICAgIHJldHVybiBRUXVpY2tXZWJWaWV3OjpGb3JtUmVzdWJtaXR0ZWROYXZpZ2F0
aW9uOworICAgIGNhc2Uga1dLRnJhbWVOYXZpZ2F0aW9uVHlwZU90aGVyOgorICAgICAgICByZXR1
cm4gUVF1aWNrV2ViVmlldzo6T3RoZXJOYXZpZ2F0aW9uOworICAgIH0KKyAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKyAgICByZXR1cm4gUVF1aWNrV2ViVmlldzo6T3RoZXJOYXZpZ2F0aW9uOwor
fQorCit2b2lkIFF0V2ViUGFnZVBvbGljeUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlv
bkFjdGlvbihXS1BhZ2VSZWYsIFdLRnJhbWVSZWYgZnJhbWUsIFdLRnJhbWVOYXZpZ2F0aW9uVHlw
ZSBuYXZpZ2F0aW9uVHlwZSwgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZlbnRNb3Vz
ZUJ1dHRvbiBtb3VzZUJ1dHRvbiwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3QsIFdLRnJhbWVQb2xp
Y3lMaXN0ZW5lclJlZiBsaXN0ZW5lciwgV0tUeXBlUmVmLCBjb25zdCB2b2lkKiBjbGllbnRJbmZv
KQogewogICAgIFdLUmV0YWluUHRyPFdLVVJMUmVmPiBmcmFtZVVSTChBZG9wdFdLLCBXS0ZyYW1l
Q29weVVSTChmcmFtZSkpOwogICAgIFdLUmV0YWluUHRyPFdLVVJMUmVmPiByZXF1ZXN0VVJMKEFk
b3B0V0ssIFdLVVJMUmVxdWVzdENvcHlVUkwocmVxdWVzdCkpOwogICAgIFFVcmwgcVVybEZyYW1l
ID0gV0tVUkxDb3B5UVVybChmcmFtZVVSTC5nZXQoKSk7CiAgICAgUVVybCBxVXJsID0gV0tVUkxD
b3B5UVVybChyZXF1ZXN0VVJMLmdldCgpKTsKLSAgICB0b1F0V2ViUGFnZVBvbGljeUNsaWVudChj
bGllbnRJbmZvKS0+ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihxVXJsLCBxVXJsRnJh
bWUsIHRvUXRNb3VzZUJ1dHRvbihtb3VzZUJ1dHRvbiksIHRvUXRLZXlib2FyZE1vZGlmaWVycyht
b2RpZmllcnMpLCBsaXN0ZW5lcik7CisgICAgdG9RdFdlYlBhZ2VQb2xpY3lDbGllbnQoY2xpZW50
SW5mbyktPmRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24ocVVybCwgcVVybEZyYW1lLCB0
b1F0TW91c2VCdXR0b24obW91c2VCdXR0b24pLCB0b1F0S2V5Ym9hcmRNb2RpZmllcnMobW9kaWZp
ZXJzKSwgdG9RdWlja1dlYlZpZXdOYXZpZ2F0aW9uVHlwZShuYXZpZ2F0aW9uVHlwZSksIGxpc3Rl
bmVyKTsKIH0KIAogdm9pZCBRdFdlYlBhZ2VQb2xpY3lDbGllbnQ6OmRlY2lkZVBvbGljeUZvclJl
c3BvbnNlKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS1VSTFJlc3BvbnNlUmVm
IHJlc3BvbnNlLCBXS1VSTFJlcXVlc3RSZWYsIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJlZiBsaXN0
ZW5lciwgV0tUeXBlUmVmLCBjb25zdCB2b2lkKikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQb2xpY3lDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9xdC9RdFdlYlBhZ2VQb2xpY3lDbGllbnQuaAppbmRleCA4YzYwMjEzLi5lMzkzZDU0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUG9saWN5
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBvbGlj
eUNsaWVudC5oCkBAIC0yMSwxNyArMjEsMTcgQEAKICNpZm5kZWYgUXRXZWJQYWdlUG9saWN5Q2xp
ZW50X2gKICNkZWZpbmUgUXRXZWJQYWdlUG9saWN5Q2xpZW50X2gKIAorI2luY2x1ZGUgInFxdWlj
a3dlYnZpZXdfcC5oIgogI2luY2x1ZGUgPFF0Q29yZS9RVXJsPgogI2luY2x1ZGUgPFdLUGFnZS5o
PgogCiBjbGFzcyBRUXVpY2tXZWJWaWV3OwotCiBjbGFzcyBRdFdlYlBhZ2VQb2xpY3lDbGllbnQg
ewogcHVibGljOgogICAgIFF0V2ViUGFnZVBvbGljeUNsaWVudChXS1BhZ2VSZWYsIFFRdWlja1dl
YlZpZXcqKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25B
Y3Rpb24oY29uc3QgUVVybCYsIGNvbnN0IFFVcmwmLCBRdDo6TW91c2VCdXR0b24sIFF0OjpLZXli
b2FyZE1vZGlmaWVycywgV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmKTsKKyAgICB2b2lkIGRlY2lk
ZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24oY29uc3QgUVVybCYsIGNvbnN0IFFVcmwmLCBRdDo6
TW91c2VCdXR0b24sIFF0OjpLZXlib2FyZE1vZGlmaWVycywgUVF1aWNrV2ViVmlldzo6TmF2aWdh
dGlvblR5cGUsIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJlZik7CiAKICAgICAvLyBXS1BhZ2VQb2xp
Y3lDbGllbnQgY2FsbGJhY2tzLgogICAgIHN0YXRpYyB2b2lkIGRlY2lkZVBvbGljeUZvck5hdmln
YXRpb25BY3Rpb24oV0tQYWdlUmVmLCBXS0ZyYW1lUmVmLCBXS0ZyYW1lTmF2aWdhdGlvblR5cGUs
IFdLRXZlbnRNb2RpZmllcnMsIFdLRXZlbnRNb3VzZUJ1dHRvbiwgV0tVUkxSZXF1ZXN0UmVmLCBX
S0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYsIFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCog
Y2xpZW50SW5mbyk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128307</attachid>
            <date>2012-02-22 15:46:20 -0800</date>
            <delta_ts>2012-02-22 23:21:48 -0800</delta_ts>
            <desc>added missed const</desc>
            <filename>navigationType.patch</filename>
            <type>text/plain</type>
            <size>10845</size>
            <attacher name="Misha">mtutunik</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAzYjM0Y2MzLi5kMGE3NjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcg
QEAKKzIwMTItMDItMjIgIE1pY2hhZWwgVHl1dHl1bmlrICA8bWljaGFlbC50eXV0eXVuaWtAbm9r
aWEuY29tPgorCisgICAgICAgIFtRdF1bV0syXSBuYXZpZ2F0aW9uVHlwZSBpcyBtaXNzaW5nIGlu
IG5ldyBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTc4ODY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
SW4gUXRXZWJQYWdlUG9saWN5Q2xpZW50OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9u
KCkKKyAgICAgICAgbmF2aWdhdGlvblR5cGUgYXJndW1lbnQgaXMgZHJvcHBlZCBieSBtaXN0YWtl
LiBBZGRpbmcgaXQgYmFjaworICAgICAgICBhbmQgbWFrZSBpdCBhdmFpbGFibGUgdGhyb3VnaCBO
YXZpZ2F0aW9uUmVxdWVzdC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vi
dmlld19wLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9xdC9xd2VibmF2aWdhdGlvbnJlcXVl
c3QuY3BwOgorICAgICAgICAoUVdlYk5hdmlnYXRpb25SZXF1ZXN0UHJpdmF0ZTo6UVdlYk5hdmln
YXRpb25SZXF1ZXN0UHJpdmF0ZSk6CisgICAgICAgIChRV2ViTmF2aWdhdGlvblJlcXVlc3RQcml2
YXRlKToKKyAgICAgICAgKFFXZWJOYXZpZ2F0aW9uUmVxdWVzdDo6UVdlYk5hdmlnYXRpb25SZXF1
ZXN0KToKKyAgICAgICAgKFFXZWJOYXZpZ2F0aW9uUmVxdWVzdDo6bmF2aWdhdGlvblR5cGUpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25yZXF1ZXN0X3AuaDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvcXQvUXRXZWJQYWdlUG9saWN5Q2xpZW50LmNwcDoKKyAgICAgICAg
KFF0V2ViUGFnZVBvbGljeUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbik6
CisgICAgICAgICh0b1F1aWNrV2ViVmlld05hdmlnYXRpb25UeXBlKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvcXQvUXRXZWJQYWdlUG9saWN5Q2xpZW50Lmg6CisgICAgICAgIChRdFdlYlBhZ2VQb2xp
Y3lDbGllbnQpOgorCiAyMDEyLTAyLTIyICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBDbGVhbiBidWlsZCBpcyBicm9rZW4gd2hlbiB1c2lu
ZyBtYWtlIC1qCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3Fx
dWlja3dlYnZpZXdfcC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xcXVpY2t3
ZWJ2aWV3X3AuaAppbmRleCA4MDk1Y2QxLi5iMWZjOTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3FxdWlja3dlYnZpZXdfcC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXF1aWNrd2Vidmlld19wLmgKQEAgLTc2LDYgKzc2LDcgQEAg
Y2xhc3MgUVdFQktJVF9FWFBPUlQgUVF1aWNrV2ViVmlldyA6IHB1YmxpYyBRUXVpY2tJdGVtIHsK
ICAgICBRX1BST1BFUlRZKGJvb2wgY2FuUmVsb2FkIFJFQUQgY2FuUmVsb2FkIE5PVElGWSBuYXZp
Z2F0aW9uU3RhdGVDaGFuZ2VkIEZJTkFMKQogICAgIFFfRU5VTVMoTmF2aWdhdGlvblJlcXVlc3RB
Y3Rpb24pCiAgICAgUV9FTlVNUyhFcnJvckRvbWFpbikKKyAgICBRX0VOVU1TKE5hdmlnYXRpb25U
eXBlKQogCiBwdWJsaWM6CiAgICAgZW51bSBOYXZpZ2F0aW9uUmVxdWVzdEFjdGlvbiB7CkBAIC04
OSw2ICs5MCwxNiBAQCBwdWJsaWM6CiAgICAgICAgIEh0dHBFcnJvckRvbWFpbiwKICAgICAgICAg
RG93bmxvYWRFcnJvckRvbWFpbgogICAgIH07CisKKyAgICBlbnVtIE5hdmlnYXRpb25UeXBlIHsK
KyAgICAgICAgTGlua0NsaWNrZWROYXZpZ2F0aW9uLAorICAgICAgICBGb3JtU3VibWl0dGVkTmF2
aWdhdGlvbiwKKyAgICAgICAgQmFja0ZvcndhcmROYXZpZ2F0aW9uLAorICAgICAgICBSZWxvYWRO
YXZpZ2F0aW9uLAorICAgICAgICBGb3JtUmVzdWJtaXR0ZWROYXZpZ2F0aW9uLAorICAgICAgICBP
dGhlck5hdmlnYXRpb24KKyAgICB9OworCiAgICAgUVF1aWNrV2ViVmlldyhRUXVpY2tJdGVtKiBw
YXJlbnQgPSAwKTsKICAgICB2aXJ0dWFsIH5RUXVpY2tXZWJWaWV3KCk7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25yZXF1ZXN0LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25yZXF1ZXN0
LmNwcAppbmRleCA1MjA4YTA2Li4zYTYzZjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL3F0L3F3ZWJuYXZpZ2F0aW9ucmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2VibmF2aWdhdGlvbnJlcXVlc3QuY3BwCkBAIC0yNSwx
MiArMjUsMTQgQEAKIAogY2xhc3MgUVdlYk5hdmlnYXRpb25SZXF1ZXN0UHJpdmF0ZSB7CiBwdWJs
aWM6Ci0gICAgUVdlYk5hdmlnYXRpb25SZXF1ZXN0UHJpdmF0ZShjb25zdCBRVXJsJiB1cmwsIGNv
bnN0IFFVcmwmIG9yaWdpbmF0aW5nVXJsLCBRdDo6TW91c2VCdXR0b24gYnV0dG9uLCBRdDo6S2V5
Ym9hcmRNb2RpZmllcnMgbW9kaWZpZXJzKQorICAgIFFXZWJOYXZpZ2F0aW9uUmVxdWVzdFByaXZh
dGUoY29uc3QgUVVybCYgdXJsLCBjb25zdCBRVXJsJiBvcmlnaW5hdGluZ1VybCwgUXQ6Ok1vdXNl
QnV0dG9uIGJ1dHRvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFF0OjpLZXli
b2FyZE1vZGlmaWVycyBtb2RpZmllcnMsIFFRdWlja1dlYlZpZXc6Ok5hdmlnYXRpb25UeXBlIG5h
dmlnYXRpb25UeXBlKQogICAgICAgICA6IHVybCh1cmwpCiAgICAgICAgICwgb3JpZ2luYXRpbmdV
cmwob3JpZ2luYXRpbmdVcmwpCiAgICAgICAgICwgYnV0dG9uKGJ1dHRvbikKICAgICAgICAgLCBt
b2RpZmllcnMobW9kaWZpZXJzKQogICAgICAgICAsIGFjdGlvbihRUXVpY2tXZWJWaWV3OjpBY2Nl
cHRSZXF1ZXN0KQorICAgICAgICAsIG5hdmlnYXRpb25UeXBlKG5hdmlnYXRpb25UeXBlKQogICAg
IHsKICAgICB9CiAKQEAgLTQzLDExICs0NSwxMyBAQCBwdWJsaWM6CiAgICAgUXQ6Ok1vdXNlQnV0
dG9uIGJ1dHRvbjsKICAgICBRdDo6S2V5Ym9hcmRNb2RpZmllcnMgbW9kaWZpZXJzOwogICAgIGlu
dCBhY3Rpb247CisgICAgUVF1aWNrV2ViVmlldzo6TmF2aWdhdGlvblR5cGUgbmF2aWdhdGlvblR5
cGU7CiB9OwogCi1RV2ViTmF2aWdhdGlvblJlcXVlc3Q6OlFXZWJOYXZpZ2F0aW9uUmVxdWVzdChj
b25zdCBRVXJsJiB1cmwsIGNvbnN0IFFVcmwmIG9yaWdpbmF0aW5nVXJsLCBRdDo6TW91c2VCdXR0
b24gYnV0dG9uLCBRdDo6S2V5Ym9hcmRNb2RpZmllcnMgbW9kaWZpZXJzLCBRT2JqZWN0KiBwYXJl
bnQpCitRV2ViTmF2aWdhdGlvblJlcXVlc3Q6OlFXZWJOYXZpZ2F0aW9uUmVxdWVzdChjb25zdCBR
VXJsJiB1cmwsIGNvbnN0IFFVcmwmIG9yaWdpbmF0aW5nVXJsLCBRdDo6TW91c2VCdXR0b24gYnV0
dG9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUXQ6Oktl
eWJvYXJkTW9kaWZpZXJzIG1vZGlmaWVycywgUVF1aWNrV2ViVmlldzo6TmF2aWdhdGlvblR5cGUg
bmF2aWdhdGlvblR5cGUsIFFPYmplY3QqIHBhcmVudCkKICAgICA6IFFPYmplY3QocGFyZW50KQot
ICAgICwgZChuZXcgUVdlYk5hdmlnYXRpb25SZXF1ZXN0UHJpdmF0ZSh1cmwsIG9yaWdpbmF0aW5n
VXJsLCBidXR0b24sIG1vZGlmaWVycykpCisgICAgLCBkKG5ldyBRV2ViTmF2aWdhdGlvblJlcXVl
c3RQcml2YXRlKHVybCwgb3JpZ2luYXRpbmdVcmwsIGJ1dHRvbiwgbW9kaWZpZXJzLCBuYXZpZ2F0
aW9uVHlwZSkpCiB7CiB9CiAKQEAgLTkwLDMgKzk0LDcgQEAgaW50IFFXZWJOYXZpZ2F0aW9uUmVx
dWVzdDo6YWN0aW9uKCkgY29uc3QKICAgICByZXR1cm4gaW50KGQtPmFjdGlvbik7CiB9CiAKK1FR
dWlja1dlYlZpZXc6Ok5hdmlnYXRpb25UeXBlIFFXZWJOYXZpZ2F0aW9uUmVxdWVzdDo6bmF2aWdh
dGlvblR5cGUoKSBjb25zdAoreworICAgIHJldHVybiBkLT5uYXZpZ2F0aW9uVHlwZTsKK30KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRpb25y
ZXF1ZXN0X3AuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvcXQvcXdlYm5hdmlnYXRp
b25yZXF1ZXN0X3AuaAppbmRleCA5ODZiMWMxLi40NjMzM2YwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL3F0L3F3ZWJuYXZpZ2F0aW9ucmVxdWVzdF9wLmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9xdC9xd2VibmF2aWdhdGlvbnJlcXVlc3RfcC5o
CkBAIC0yMCw2ICsyMCw3IEBACiAjaWZuZGVmIHF3ZWJuYXZpZ2F0aW9ucmVxdWVzdF9wX2gKICNk
ZWZpbmUgcXdlYm5hdmlnYXRpb25yZXF1ZXN0X3BfaAogCisjaW5jbHVkZSAicXF1aWNrd2Vidmll
d19wLmgiCiAjaW5jbHVkZSAicXdlYmtpdGdsb2JhbC5oIgogCiAjaW5jbHVkZSA8UXRDb3JlL1FP
YmplY3Q+CkBAIC0zNCw5ICszNSwxMSBAQCBjbGFzcyBRV0VCS0lUX0VYUE9SVCBRV2ViTmF2aWdh
dGlvblJlcXVlc3QgOiBwdWJsaWMgUU9iamVjdCB7CiAgICAgUV9QUk9QRVJUWShpbnQgYnV0dG9u
IFJFQUQgYnV0dG9uIENPTlNUQU5UIEZJTkFMKQogICAgIFFfUFJPUEVSVFkoaW50IG1vZGlmaWVy
cyBSRUFEIG1vZGlmaWVycyBDT05TVEFOVCBGSU5BTCkKICAgICBRX1BST1BFUlRZKGludCBhY3Rp
b24gUkVBRCBhY3Rpb24gV1JJVEUgc2V0QWN0aW9uIE5PVElGWSBhY3Rpb25DaGFuZ2VkIEZJTkFM
KQorICAgIFFfUFJPUEVSVFkoUVF1aWNrV2ViVmlldzo6TmF2aWdhdGlvblR5cGUgbmF2aWdhdGlv
blR5cGUgUkVBRCBuYXZpZ2F0aW9uVHlwZSBDT05TVEFOVCBGSU5BTCkKIAogcHVibGljOgotICAg
IFFXZWJOYXZpZ2F0aW9uUmVxdWVzdChjb25zdCBRVXJsJiB1cmwsIGNvbnN0IFFVcmwmIG9yaWdp
bmF0aW5nVXJsLCBRdDo6TW91c2VCdXR0b24gYnV0dG9uLCBRdDo6S2V5Ym9hcmRNb2RpZmllcnMg
bW9kaWZpZXJzLCBRT2JqZWN0KiBwYXJlbnQgPSAwKTsKKyAgICBRV2ViTmF2aWdhdGlvblJlcXVl
c3QoY29uc3QgUVVybCYgdXJsLCBjb25zdCBRVXJsJiBvcmlnaW5hdGluZ1VybCwgUXQ6Ok1vdXNl
QnV0dG9uIGJ1dHRvbiwgUXQ6OktleWJvYXJkTW9kaWZpZXJzIG1vZGlmaWVycywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgUVF1aWNrV2ViVmlldzo6TmF2aWdhdGlvblR5cGUgbmF2aWdhdGlv
blR5cGUsIFFPYmplY3QqIHBhcmVudCA9IDApOwogICAgIH5RV2ViTmF2aWdhdGlvblJlcXVlc3Qo
KTsKIAogICAgIFFVcmwgdXJsKCkgY29uc3Q7CkBAIC00Niw2ICs0OSw3IEBAIHB1YmxpYzoKICAg
ICBpbnQgYWN0aW9uKCkgY29uc3Q7CiAKICAgICB2b2lkIHNldEFjdGlvbihpbnQgYWN0aW9uKTsK
KyAgICBRUXVpY2tXZWJWaWV3OjpOYXZpZ2F0aW9uVHlwZSBuYXZpZ2F0aW9uVHlwZSgpIGNvbnN0
OwogCiBRX1NJR05BTFM6CiAgICAgdm9pZCBhY3Rpb25DaGFuZ2VkKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUG9saWN5Q2xpZW50LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQb2xpY3lDbGllbnQuY3BwCmluZGV4
IGU3N2ZiMTQuLmFkOGNlZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9x
dC9RdFdlYlBhZ2VQb2xpY3lDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9xdC9RdFdlYlBhZ2VQb2xpY3lDbGllbnQuY3BwCkBAIC0yMyw3ICsyMyw2IEBACiAKICNpbmNs
dWRlICJXS0ZyYW1lLmgiCiAjaW5jbHVkZSAiV0tVUkxRdC5oIgotI2luY2x1ZGUgInFxdWlja3dl
YnZpZXdfcC5oIgogI2luY2x1ZGUgInFxdWlja3dlYnZpZXdfcF9wLmgiCiAjaW5jbHVkZSAicXdl
Ym5hdmlnYXRpb25yZXF1ZXN0X3AuaCIKICNpbmNsdWRlIDxRdENvcmUvUU9iamVjdD4KQEAgLTQy
LDExICs0MSwxMiBAQCBRdFdlYlBhZ2VQb2xpY3lDbGllbnQ6OlF0V2ViUGFnZVBvbGljeUNsaWVu
dChXS1BhZ2VSZWYgcGFnZVJlZiwgUVF1aWNrV2ViVmlldyogdwogICAgIFdLUGFnZVNldFBhZ2VQ
b2xpY3lDbGllbnQocGFnZVJlZiwgJnBvbGljeUNsaWVudCk7CiB9CiAKLXZvaWQgUXRXZWJQYWdl
UG9saWN5Q2xpZW50OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKGNvbnN0IFFVcmwm
IHVybCwgY29uc3QgUVVybCYgb3JpZ2luYXRpbmdVcmwsIFF0OjpNb3VzZUJ1dHRvbiBtb3VzZUJ1
dHRvbiwgUXQ6OktleWJvYXJkTW9kaWZpZXJzIGtleWJvYXJkTW9kaWZpZXJzLCBXS0ZyYW1lUG9s
aWN5TGlzdGVuZXJSZWYgbGlzdGVuZXIpCit2b2lkIFF0V2ViUGFnZVBvbGljeUNsaWVudDo6ZGVj
aWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihjb25zdCBRVXJsJiB1cmwsIGNvbnN0IFFVcmwm
IG9yaWdpbmF0aW5nVXJsLCBRdDo6TW91c2VCdXR0b24gbW91c2VCdXR0b24sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRdDo6S2V5
Ym9hcmRNb2RpZmllcnMga2V5Ym9hcmRNb2RpZmllcnMsIFFRdWlja1dlYlZpZXc6Ok5hdmlnYXRp
b25UeXBlIG5hdmlnYXRpb25UeXBlLCBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYgbGlzdGVuZXIp
CiB7CiAgICAgLy8gTk9URTogZXZlbiB0aG91Z2ggdGhlIEMgQVBJIChhbmQgdGhlIFdlYktpdDIg
SVBDKSBzdXBwb3J0cyBhbiBhc3luY2hyb25vdXMgYW5zd2VyLCB0aGlzIGlzIG5vdCBjdXJyZW50
bHkgd29ya2luZy4KICAgICAvLyBXZSBhcmUgZXhwZWN0ZWQgdG8gY2FsbCB0aGUgbGlzdGVuZXIg
aW1tZWRpYXRlbHkuIFNlZSB0aGUgcGF0Y2ggZm9yIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01Mzc4NS4KLSAgICBRV2ViTmF2aWdhdGlvblJlcXVlc3QgbmF2aWdhdGlv
blJlcXVlc3QodXJsLCBvcmlnaW5hdGluZ1VybCwgbW91c2VCdXR0b24sIGtleWJvYXJkTW9kaWZp
ZXJzKTsKKyAgICBRV2ViTmF2aWdhdGlvblJlcXVlc3QgbmF2aWdhdGlvblJlcXVlc3QodXJsLCBv
cmlnaW5hdGluZ1VybCwgbW91c2VCdXR0b24sIGtleWJvYXJkTW9kaWZpZXJzLCBuYXZpZ2F0aW9u
VHlwZSk7CiAgICAgZW1pdCBtX3dlYlZpZXctPm5hdmlnYXRpb25SZXF1ZXN0ZWQoJm5hdmlnYXRp
b25SZXF1ZXN0KTsKIAogICAgIHN3aXRjaCAobmF2aWdhdGlvblJlcXVlc3QuYWN0aW9uKCkpIHsK
QEAgLTk5LDEzICs5OSwzMyBAQCBzdGF0aWMgUXQ6OktleWJvYXJkTW9kaWZpZXJzIHRvUXRLZXli
b2FyZE1vZGlmaWVycyhXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycykKICAgICByZXR1cm4gcXRN
b2RpZmllcnM7CiB9CiAKLXZvaWQgUXRXZWJQYWdlUG9saWN5Q2xpZW50OjpkZWNpZGVQb2xpY3lG
b3JOYXZpZ2F0aW9uQWN0aW9uKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiBmcmFtZSwgV0tGcmFtZU5h
dmlnYXRpb25UeXBlLCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0
dG9uIG1vdXNlQnV0dG9uLCBXS1VSTFJlcXVlc3RSZWYgcmVxdWVzdCwgV0tGcmFtZVBvbGljeUxp
c3RlbmVyUmVmIGxpc3RlbmVyLCBXS1R5cGVSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCitz
dGF0aWMgUVF1aWNrV2ViVmlldzo6TmF2aWdhdGlvblR5cGUgdG9RdWlja1dlYlZpZXdOYXZpZ2F0
aW9uVHlwZShXS0ZyYW1lTmF2aWdhdGlvblR5cGUgbmF2aWdhdGlvblR5cGUpCit7CisgICAgc3dp
dGNoIChuYXZpZ2F0aW9uVHlwZSkgeworICAgIGNhc2Uga1dLRnJhbWVOYXZpZ2F0aW9uVHlwZUxp
bmtDbGlja2VkOgorICAgICAgICByZXR1cm4gUVF1aWNrV2ViVmlldzo6TGlua0NsaWNrZWROYXZp
Z2F0aW9uOworICAgIGNhc2Uga1dLRnJhbWVOYXZpZ2F0aW9uVHlwZUZvcm1TdWJtaXR0ZWQ6Cisg
ICAgICAgIHJldHVybiBRUXVpY2tXZWJWaWV3OjpGb3JtU3VibWl0dGVkTmF2aWdhdGlvbjsKKyAg
ICBjYXNlIGtXS0ZyYW1lTmF2aWdhdGlvblR5cGVCYWNrRm9yd2FyZDoKKyAgICAgICAgcmV0dXJu
IFFRdWlja1dlYlZpZXc6OkJhY2tGb3J3YXJkTmF2aWdhdGlvbjsKKyAgICBjYXNlIGtXS0ZyYW1l
TmF2aWdhdGlvblR5cGVSZWxvYWQ6CisgICAgICAgIHJldHVybiBRUXVpY2tXZWJWaWV3OjpSZWxv
YWROYXZpZ2F0aW9uOworICAgIGNhc2Uga1dLRnJhbWVOYXZpZ2F0aW9uVHlwZUZvcm1SZXN1Ym1p
dHRlZDoKKyAgICAgICAgcmV0dXJuIFFRdWlja1dlYlZpZXc6OkZvcm1SZXN1Ym1pdHRlZE5hdmln
YXRpb247CisgICAgY2FzZSBrV0tGcmFtZU5hdmlnYXRpb25UeXBlT3RoZXI6CisgICAgICAgIHJl
dHVybiBRUXVpY2tXZWJWaWV3OjpPdGhlck5hdmlnYXRpb247CisgICAgfQorICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBRUXVpY2tXZWJWaWV3OjpPdGhlck5hdmlnYXRpb247
Cit9CisKK3ZvaWQgUXRXZWJQYWdlUG9saWN5Q2xpZW50OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0
aW9uQWN0aW9uKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiBmcmFtZSwgV0tGcmFtZU5hdmlnYXRpb25U
eXBlIG5hdmlnYXRpb25UeXBlLCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVudE1v
dXNlQnV0dG9uIG1vdXNlQnV0dG9uLCBXS1VSTFJlcXVlc3RSZWYgcmVxdWVzdCwgV0tGcmFtZVBv
bGljeUxpc3RlbmVyUmVmIGxpc3RlbmVyLCBXS1R5cGVSZWYsIGNvbnN0IHZvaWQqIGNsaWVudElu
Zm8pCiB7CiAgICAgV0tSZXRhaW5QdHI8V0tVUkxSZWY+IGZyYW1lVVJMKEFkb3B0V0ssIFdLRnJh
bWVDb3B5VVJMKGZyYW1lKSk7CiAgICAgV0tSZXRhaW5QdHI8V0tVUkxSZWY+IHJlcXVlc3RVUkwo
QWRvcHRXSywgV0tVUkxSZXF1ZXN0Q29weVVSTChyZXF1ZXN0KSk7CiAgICAgUVVybCBxVXJsRnJh
bWUgPSBXS1VSTENvcHlRVXJsKGZyYW1lVVJMLmdldCgpKTsKICAgICBRVXJsIHFVcmwgPSBXS1VS
TENvcHlRVXJsKHJlcXVlc3RVUkwuZ2V0KCkpOwotICAgIHRvUXRXZWJQYWdlUG9saWN5Q2xpZW50
KGNsaWVudEluZm8pLT5kZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKHFVcmwsIHFVcmxG
cmFtZSwgdG9RdE1vdXNlQnV0dG9uKG1vdXNlQnV0dG9uKSwgdG9RdEtleWJvYXJkTW9kaWZpZXJz
KG1vZGlmaWVycyksIGxpc3RlbmVyKTsKKyAgICB0b1F0V2ViUGFnZVBvbGljeUNsaWVudChjbGll
bnRJbmZvKS0+ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihxVXJsLCBxVXJsRnJhbWUs
IHRvUXRNb3VzZUJ1dHRvbihtb3VzZUJ1dHRvbiksIHRvUXRLZXlib2FyZE1vZGlmaWVycyhtb2Rp
ZmllcnMpLCB0b1F1aWNrV2ViVmlld05hdmlnYXRpb25UeXBlKG5hdmlnYXRpb25UeXBlKSwgbGlz
dGVuZXIpOwogfQogCiB2b2lkIFF0V2ViUGFnZVBvbGljeUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9y
UmVzcG9uc2UoV0tQYWdlUmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIFdLVVJMUmVzcG9uc2VS
ZWYgcmVzcG9uc2UsIFdLVVJMUmVxdWVzdFJlZiwgV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmIGxp
c3RlbmVyLCBXS1R5cGVSZWYsIGNvbnN0IHZvaWQqKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBvbGljeUNsaWVudC5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL3F0L1F0V2ViUGFnZVBvbGljeUNsaWVudC5oCmluZGV4IDhjNjAyMTMuLmUzOTNk
NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VQb2xp
Y3lDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlUG9s
aWN5Q2xpZW50LmgKQEAgLTIxLDE3ICsyMSwxNyBAQAogI2lmbmRlZiBRdFdlYlBhZ2VQb2xpY3lD
bGllbnRfaAogI2RlZmluZSBRdFdlYlBhZ2VQb2xpY3lDbGllbnRfaAogCisjaW5jbHVkZSAicXF1
aWNrd2Vidmlld19wLmgiCiAjaW5jbHVkZSA8UXRDb3JlL1FVcmw+CiAjaW5jbHVkZSA8V0tQYWdl
Lmg+CiAKIGNsYXNzIFFRdWlja1dlYlZpZXc7Ci0KIGNsYXNzIFF0V2ViUGFnZVBvbGljeUNsaWVu
dCB7CiBwdWJsaWM6CiAgICAgUXRXZWJQYWdlUG9saWN5Q2xpZW50KFdLUGFnZVJlZiwgUVF1aWNr
V2ViVmlldyopOwogCiBwcml2YXRlOgotICAgIHZvaWQgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlv
bkFjdGlvbihjb25zdCBRVXJsJiwgY29uc3QgUVVybCYsIFF0OjpNb3VzZUJ1dHRvbiwgUXQ6Oktl
eWJvYXJkTW9kaWZpZXJzLCBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYpOworICAgIHZvaWQgZGVj
aWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbihjb25zdCBRVXJsJiwgY29uc3QgUVVybCYsIFF0
OjpNb3VzZUJ1dHRvbiwgUXQ6OktleWJvYXJkTW9kaWZpZXJzLCBRUXVpY2tXZWJWaWV3OjpOYXZp
Z2F0aW9uVHlwZSwgV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmKTsKIAogICAgIC8vIFdLUGFnZVBv
bGljeUNsaWVudCBjYWxsYmFja3MuCiAgICAgc3RhdGljIHZvaWQgZGVjaWRlUG9saWN5Rm9yTmF2
aWdhdGlvbkFjdGlvbihXS1BhZ2VSZWYsIFdLRnJhbWVSZWYsIFdLRnJhbWVOYXZpZ2F0aW9uVHlw
ZSwgV0tFdmVudE1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9uLCBXS1VSTFJlcXVlc3RSZWYs
IFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJlZiwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lk
KiBjbGllbnRJbmZvKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>