<?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>104484</bug_id>
          
          <creation_ts>2012-12-09 07:44:43 -0800</creation_ts>
          <short_desc>[GTK] Add sections documentation to WebKit2 GTK+ API</short_desc>
          <delta_ts>2012-12-12 08:12:09 -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>WebKit2</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Pena">spena</reporter>
          <assigned_to name="Simon Pena">spena</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>gustavo</cc>
    
    <cc>mrobinson</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>786782</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Pena">spena</who>
    <bug_when>2012-12-09 07:44:43 -0800</bug_when>
    <thetext>WebKit2 GTK+ API is currently missing most of the sections documentation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786806</commentid>
    <comment_count>1</comment_count>
      <attachid>178423</attachid>
    <who name="Simon Pena">spena</who>
    <bug_when>2012-12-09 09:22:10 -0800</bug_when>
    <thetext>Created attachment 178423
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>786808</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-09 09:25:54 -0800</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>788416</commentid>
    <comment_count>3</comment_count>
      <attachid>178423</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-12-11 07:08:03 -0800</bug_when>
    <thetext>Comment on attachment 178423
Patch

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

Nice! I have a few small suggestions.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardListItem.cpp:37
&gt; + * A history item consists out of a title and a uri. It can be part of

uri-&gt; URI

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardListItem.cpp:39
&gt; + * the #WebKitBackForwardList and the global history. The global
&gt; + * history is used for coloring the links of visited sites.

Does WebKit2 have the concept of the global history as well?

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitDownload.cpp:46
&gt; + * and do it itself.

maybe &quot;handle the download process itself&quot; ? &quot;it itself&quot; is a bit hard to read.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitError.cpp:36
&gt; + * final user, trying to work around them, or taking any other

What do you mean by &quot;final user&quot; ? It seems that this section could probably just be omitted. The name WebKitError is fairly self-explanatory.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitFaviconDatabase.cpp:46
&gt; + * WebKit will automatically look for available icons in link elements

You probably want to change link to be &amp;lt;link&amp;gt; for the sake of clarity.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitFaviconDatabase.cpp:51
&gt; + * If #WebKitSettings:enable-private-browsing is %TRUE new icons won&apos;t

Nit: missing a comma after TRUE.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitPlugin.cpp:35
&gt; + * various usual directories. This object can be used to get more

instead of &quot;various usual directories&quot; maybe you should say &quot;various platform plugin directcories&quot;.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitURIResponse.cpp:39
&gt; + * status code, the content length, the mime type, the https status or

https status -&gt; HTTP status

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebInspector.cpp:39
&gt; + * JavaScriptDebugger. Using this class one can get a #GtkWidget which

JavaScript debugger

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp:40
&gt; + * A web resource encapsulates the data of the download, as well as
&gt; + * the URI and the #WebKitURIResponse.

The use of the word &quot;download&quot; here might be misleading. WebKitWebResource don&apos;t just describe downloads, but they describe a particular resource at the end of a particular URL. Loading a page will trigger the creation one one resource for every separate image and stylesheet on the page.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:77
&gt; + * API. #WebKitWebView is scrollable by itself, so you don&apos;t need to
&gt; + * embed it in a #GtkScrolledWindow. It is responsible for managing

You can probably omit the discussion about GtkScrolledWindow.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:78
&gt; + * the drawing of the content, forwarding of events. You can load any

drawing of the content and forwarding of events

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:79
&gt; + * URI into the #WebKitWebView or any kind of data string. With

Maybe just omit &quot;any kind&quot; here

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:84
&gt; +/**
&gt; + * SECTION: WebKitWebViewBase
&gt; + * @Short_description: The base class for #WebKitWebView
&gt; + * @Title: WebKitWebViewBase
&gt; + *
&gt; + * Base class for #WebKitWebView.
&gt; + *
&gt; + */
&gt; +

Maybe this should be omitted from the documentation entirely?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789406</commentid>
    <comment_count>4</comment_count>
      <attachid>178423</attachid>
    <who name="Simon Pena">spena</who>
    <bug_when>2012-12-12 03:05:09 -0800</bug_when>
    <thetext>Comment on attachment 178423
Patch

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

I agree with most of your comments, and already commented in those I had doubts. Thanks for reviewing!

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardListItem.cpp:39
&gt;&gt; + * history is used for coloring the links of visited sites.
&gt; 
&gt; Does WebKit2 have the concept of the global history as well?

Hmmm. When I adapted this from the WK1 documentation, I thought that I had grepped the code for recent mentions of that global history. However, I can&apos;t find any reference to it now, so it seems that WK2 doesn&apos;t have it.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitError.cpp:36
&gt;&gt; + * final user, trying to work around them, or taking any other
&gt; 
&gt; What do you mean by &quot;final user&quot; ? It seems that this section could probably just be omitted. The name WebKitError is fairly self-explanatory.

I basically meant that you could even show some kind of &quot;Network Error&quot; (let&apos;s say) to someone using a browser using webkit. But yes, it sounds a bit weird. I would still leave the section, even repeating the short description in the long one, since it gives an idea of the errors at a glance.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebResource.cpp:40
&gt;&gt; + * the URI and the #WebKitURIResponse.
&gt; 
&gt; The use of the word &quot;download&quot; here might be misleading. WebKitWebResource don&apos;t just describe downloads, but they describe a particular resource at the end of a particular URL. Loading a page will trigger the creation one one resource for every separate image and stylesheet on the page.

I will try to figure out a better description for this, based on your comment.

&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:77
&gt;&gt; + * embed it in a #GtkScrolledWindow. It is responsible for managing
&gt; 
&gt; You can probably omit the discussion about GtkScrolledWindow.

This is one of the key differences between WK1 and WK2, and I already saw some questions about it in the mailing lists. However, it&apos;s true that in the future, people using the WK2 API without former WK1 experience won&apos;t need this information at all. Maybe I can remove it from the top, and leave it as an additional comment at the end of the description.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789443</commentid>
    <comment_count>5</comment_count>
      <attachid>178423</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-12-12 04:06:21 -0800</bug_when>
    <thetext>Comment on attachment 178423
Patch

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

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp:77
&gt;&gt;&gt; + * embed it in a #GtkScrolledWindow. It is responsible for managing
&gt;&gt; 
&gt;&gt; You can probably omit the discussion about GtkScrolledWindow.
&gt; 
&gt; This is one of the key differences between WK1 and WK2, and I already saw some questions about it in the mailing lists. However, it&apos;s true that in the future, people using the WK2 API without former WK1 experience won&apos;t need this information at all. Maybe I can remove it from the top, and leave it as an additional comment at the end of the description.

Yes, or even a migration guide. :) By the way, I love this patch. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789543</commentid>
    <comment_count>6</comment_count>
      <attachid>179043</attachid>
    <who name="Simon Pena">spena</who>
    <bug_when>2012-12-12 07:53:23 -0800</bug_when>
    <thetext>Created attachment 179043
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789567</commentid>
    <comment_count>7</comment_count>
      <attachid>179043</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-12 08:12:05 -0800</bug_when>
    <thetext>Comment on attachment 179043
Patch

Clearing flags on attachment: 179043

Committed r137469: &lt;http://trac.webkit.org/changeset/137469&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789568</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-12 08:12:09 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178423</attachid>
            <date>2012-12-09 09:22:10 -0800</date>
            <delta_ts>2012-12-12 07:53:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104484-20121209181932.patch</filename>
            <type>text/plain</type>
            <size>24450</size>
            <attacher name="Simon Pena">spena</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDY5ZDEwZmM2YjgzZDAx
NzQxMGRlNTdhYzkxYzBlNWEwYTM4YmZjOC4uMjNlZTJiNDg0Y2JkYWZkMmQwOTFjZjdmMzE1Y2Y1
YzlkZWFkY2QyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTEyLTA5ICBTaW1v
biBQZW5hICA8c3BlbmFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBBZGQgc2VjdGlvbnMg
ZG9jdW1lbnRhdGlvbiB0byBXZWJLaXQyIEdUSysgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ0ODQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYW55IG9mIHRoZSBzZWN0aW9ucyBpbiB0aGUgV2Vi
S2l0MiBHVEsrIEFQSSBkb2N1bWVudGF0aW9uCisgICAgICAgIHdlcmUgbWlzc2luZy4gVGhpcyBj
b21taXQgYWRkcyBuZXcgZG9jdW1lbnRhdGlvbiwgaW4gc29tZQorICAgICAgICBjYXNlcyBhZGFw
dGluZyBpdCBmcm9tIFdlYktpdEd0aysgYW5kIGluIG90aGVycyB3cml0aW5nIGl0CisgICAgICAg
IGZyb20gdGhlIHNjcmF0Y2guCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRC
YWNrRm9yd2FyZExpc3RJdGVtLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRDb250ZXh0TWVudS5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29u
dGV4dE1lbnVJdGVtLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDb29r
aWVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXREb3dubG9h
ZC5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RXJyb3IuY3BwOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEZhdmljb25EYXRhYmFzZS5jcHA6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RmluZENvbnRyb2xsZXIuY3BwOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdC5jcHA6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UGx1Z2luLmNwcDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRQcmludE9wZXJhdGlvbi5jcHA6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0U2VjdXJpdHlNYW5hZ2VyLmNwcDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklSZXF1ZXN0LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRVUklSZXNwb25zZS5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0VmVyc2lvbi5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
V2ViQ29udGV4dC5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViSW5z
cGVjdG9yLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJSZXNvdXJj
ZS5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX3Jlc291cmNlX2NsYXNzX2luaXQpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcDoKKwogMjAxMi0xMi0wOSAgSm9uIExl
ZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gTW92ZSBidXR0b24gaW1hZ2Ug
dG8gaW5qZWN0ZWQgYnVuZGxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRCYWNrRm9yd2FyZExpc3RJdGVtLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEJhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwCmluZGV4IDUzZmQx
YzhjMmQ4NDYzZjJiMjFmY2Y4NzQ4MjNmZGMyMjExYjNjMmYuLmQ3MzYyNGQ4ODNiNjBkOTgxYmYz
OGIwYjNhOGQyN2FjY2EyNmQ1NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdEJhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEJhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwCkBAIC0y
OCw2ICsyOCwxOCBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCisvKioKKyAqIFNFQ1RJ
T046IFdlYktpdEJhY2tGb3J3YXJkTGlzdEl0ZW0KKyAqIEBTaG9ydF9kZXNjcmlwdGlvbjogT25l
IGl0ZW0gb2YgdGhlICNXZWJLaXRCYWNrRm9yd2FyZExpc3QgYW5kIG9yIGdsb2JhbCBoaXN0b3J5
CisgKiBAVGl0bGU6IFdlYktpdEJhY2tGb3J3YXJkTGlzdEl0ZW0KKyAqIEBTZWVfYWxzbzogI1dl
YktpdEJhY2tGb3J3YXJkTGlzdAorICoKKyAqIEEgaGlzdG9yeSBpdGVtIGNvbnNpc3RzIG91dCBv
ZiBhIHRpdGxlIGFuZCBhIHVyaS4gSXQgY2FuIGJlIHBhcnQgb2YKKyAqIHRoZSAjV2ViS2l0QmFj
a0ZvcndhcmRMaXN0IGFuZCB0aGUgZ2xvYmFsIGhpc3RvcnkuIFRoZSBnbG9iYWwKKyAqIGhpc3Rv
cnkgaXMgdXNlZCBmb3IgY29sb3JpbmcgdGhlIGxpbmtzIG9mIHZpc2l0ZWQgc2l0ZXMuCisgKgor
ICovCisKIHN0cnVjdCBfV2ViS2l0QmFja0ZvcndhcmRMaXN0SXRlbVByaXZhdGUgewogICAgIFJl
ZlB0cjxXZWJCYWNrRm9yd2FyZExpc3RJdGVtPiB3ZWJMaXN0SXRlbTsKICAgICBDU3RyaW5nIHVy
aTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENv
bnRleHRNZW51LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENv
bnRleHRNZW51LmNwcAppbmRleCA0NmNlOTU4ZWUxOTM0OTJiYmNjMjc0ZDgwNTE5ODZkZGI4Nzg0
NGU1Li4wYWI2ZWRiYTZlMGE1NDc3NjRlOTM1NmY3MDMwZWMyNzJiMWQ0MWY2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDb250ZXh0TWVudS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnUu
Y3BwCkBAIC0yOCw2ICsyOCwyNSBAQAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogCisvKioKKyAqIFNFQ1RJT046IFdlYktpdENvbnRleHRNZW51Cisg
KiBAU2hvcnRfZGVzY3JpcHRpb246IFJlcHJlc2VudHMgdGhlIGNvbnRleHQgbWVudSBpbiBhICNX
ZWJLaXRXZWJWaWV3CisgKiBAVGl0bGU6IFdlYktpdENvbnRleHRNZW51CisgKgorICogI1dlYktp
dENvbnRleHRNZW51IHJlcHJlc2VudHMgYSBjb250ZXh0IG1lbnUgY29udGFpbmluZworICogI1dl
YktpdENvbnRleHRNZW51SXRlbTwhLS0gLS0+cyBpbiBhICNXZWJLaXRXZWJWaWV3LgorICoKKyAq
IFdoZW4gYSAjV2ViS2l0V2ViVmlldyBpcyBhYm91dCB0byBkaXNwbGF5IHRoZSBjb250ZXh0IG1l
bnUsIGl0CisgKiBlbWl0cyB0aGUgI1dlYktpdFdlYlZpZXc6OmNvbnRleHQtbWVudSBzaWduYWws
IHdoaWNoIGhhcyB0aGUKKyAqICNXZWJLaXRDb250ZXh0TWVudSBhcyBhbiBhcmd1bWVudC4gWW91
IGNhbiBtb2RpZnkgaXQsIGFkZGluZyBuZXcKKyAqIHN1Ym1lbnVzIHRoYXQgeW91IGNhbiBjcmVh
dGUgd2l0aCB3ZWJraXRfY29udGV4dF9tZW51X25ldygpLCBhZGRpbmcKKyAqIG5ldyAjV2ViS2l0
Q29udGV4dE1lbnVJdGVtPCEtLSAtLT5zIHdpdGgKKyAqIHdlYmtpdF9jb250ZXh0X21lbnVfcHJl
cGVuZCgpLCB3ZWJraXRfY29udGV4dF9tZW51X2FwcGVuZCgpIG9yCisgKiB3ZWJraXRfY29udGV4
dF9tZW51X2luc2VydCgpLCBtYXliZSBhZnRlciBoYXZpbmcgcmVtb3ZlZCB0aGUKKyAqIGV4aXN0
aW5nIG9uZXMgd2l0aCB3ZWJraXRfY29udGV4dF9tZW51X3JlbW92ZV9hbGwoKS4KKyAqCisgKi8K
Kwogc3RydWN0IF9XZWJLaXRDb250ZXh0TWVudVByaXZhdGUgewogICAgIEdMaXN0KiBpdGVtczsK
ICAgICBXZWJLaXRDb250ZXh0TWVudUl0ZW0qIHBhcmVudEl0ZW07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDb250ZXh0TWVudUl0ZW0uY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnVJdGVtLmNw
cAppbmRleCBhYTg5Yjk5MGI5MWI0MzRiNjhjYjY4ZjA5N2ZlOGNmN2RjMmIxZThjLi5kOThjYzU0
OGU5NzFhMThiNDI0NThkMjE0YzFiMDQ0Y2NmYzliZmUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDb250ZXh0TWVudUl0ZW0uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENvbnRleHRNZW51SXRlbS5jcHAK
QEAgLTM3LDYgKzM3LDE5IEBACiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CiAKKy8qKgorICogU0VDVElPTjogV2ViS2l0Q29udGV4dE1lbnVJdGVtCisg
KiBAU2hvcnRfZGVzY3JpcHRpb246IE9uZSBpdGVtIG9mIHRoZSAjV2ViS2l0Q29udGV4dE1lbnUK
KyAqIEBUaXRsZTogV2ViS2l0Q29udGV4dE1lbnVJdGVtCisgKgorICogVGhlICNXZWJLaXRDb250
ZXh0TWVudSBpcyBjb21wb3NlZCBvZiAjV2ViS2l0Q29udGV4dE1lbnVJdGVtPCEtLQorICogLS0+
cy4gVGhlc2UgaXRlbXMgY2FuIGJlIGNyZWF0ZWQgZnJvbSBhICNHdGtBY3Rpb24sIGZyb20gYQor
ICogI1dlYktpdENvbnRleHRNZW51QWN0aW9uIG9yIGZyb20gYSAjV2ViS2l0Q29udGV4dE1lbnVB
Y3Rpb24gYW5kIGEKKyAqIGxhYmVsLiBUaGVzZSAjV2ViS2l0Q29udGV4dE1lbnVBY3Rpb248IS0t
IC0tPnMgZGVub3RlIHN0b2NrIGFjdGlvbnMKKyAqIGZvciB0aGUgaXRlbXMuIFlvdSBjYW4gYWxz
byBjcmVhdGUgc2VwYXJhdG9ycyBhbmQgc3VibWVudXMuCisgKgorICovCisKIHN0cnVjdCBfV2Vi
S2l0Q29udGV4dE1lbnVJdGVtUHJpdmF0ZSB7CiAgICAgfl9XZWJLaXRDb250ZXh0TWVudUl0ZW1Q
cml2YXRlKCkKICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRDb29raWVNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdENvb2tpZU1hbmFnZXIuY3BwCmluZGV4IDI5YTM3ZWJkMzQ2ZDgzNTJjMjg5
NDA2YWVlNjIyMWRkODE4MDUyYTguLjFlMjRkNjc3ZDliZmU5NmUzOTcwYjRiMjEzODk2MWI2NGE4
MTA3OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dENvb2tpZU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdENvb2tpZU1hbmFnZXIuY3BwCkBAIC0yOSw2ICsyOSwyMiBAQAogCiB1c2luZyBuYW1l
c3BhY2UgV2ViS2l0OwogCisvKioKKyAqIFNFQ1RJT046IFdlYktpdENvb2tpZU1hbmFnZXIKKyAq
IEBTaG9ydF9kZXNjcmlwdGlvbjogRGVmaW5lcyBob3cgdG8gaGFuZGxlIGNvb2tpZXMgaW4gYSAj
V2ViS2l0V2ViQ29udGV4dAorICogQFRpdGxlOiBXZWJLaXRDb29raWVNYW5hZ2VyCisgKgorICog
VGhlICNXZWJLaXRDb29raWVNYW5hZ2VyIGRlZmluZXMgaG93IHRvIGhhbmRsZSBjb29raWVzIGlu
IGEKKyAqICNXZWJLaXRXZWJDb250ZXh0LiBHZXQgaXQgZnJvbSB0aGUgY29udGV4dCB3aXRoCisg
KiB3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X2Nvb2tpZV9tYW5hZ2VyKCksIGFuZCB1c2UgaXQgdG8g
c2V0IHdoZXJlIHRvCisgKiBzdG9yZSBjb29raWVzLCB3aXRoIHdlYmtpdF9jb29raWVfbWFuYWdl
cl9zZXRfcGVyc2lzdGVudF9zdG9yYWdlKCksCisgKiB0byBnZXQgdGhlIGxpc3Qgb2YgZG9tYWlu
cyB3aXRoIGNvb2tpZXMsIHdpdGgKKyAqIHdlYmtpdF9jb29raWVfbWFuYWdlcl9nZXRfZG9tYWlu
c193aXRoX2Nvb2tpZXMoKSwgb3IgdG8gc2V0IHRoZQorICogYWNjZXB0YW5jZSBwb2xpY3ksIHdp
dGggd2Via2l0X2Nvb2tpZV9tYW5hZ2VyX2dldF9hY2NlcHRfcG9saWN5KCkKKyAqIChhbW9uZyBv
dGhlciBhY3Rpb25zKS4KKyAqCisgKi8KKwogZW51bSB7CiAgICAgQ0hBTkdFRCwKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RG93bmxvYWQuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RG93bmxvYWQuY3BwCmlu
ZGV4IDI0NWYxYTYxYmRkYzE0YTkyNmI3NjE0MzIzMzEwZThjNTcwMjVjZjUuLjE0MmMxNjhkOGRh
ODdmMjVjMWY2ZTM0MWE5MWNhYjI1YzJkNDYwMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdERvd25sb2FkLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXREb3dubG9hZC5jcHAKQEAgLTM0LDYgKzM0LDE5IEBA
CiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKKy8q
KgorICogU0VDVElPTjogV2ViS2l0RG93bmxvYWQKKyAqIEBTaG9ydF9kZXNjcmlwdGlvbjogT2Jq
ZWN0IHVzZWQgdG8gY29tbXVuaWNhdGUgd2l0aCB0aGUgYXBwbGljYXRpb24gd2hlbiBkb3dubG9h
ZGluZworICogQFRpdGxlOiBXZWJLaXREb3dubG9hZAorICoKKyAqICNXZWJLaXREb3dubG9hZCBj
YXJyaWVzIGluZm9ybWF0aW9uIGFib3V0IGEgZG93bmxvYWQgcmVxdWVzdCBhbmQKKyAqIHJlc3Bv
bnNlLCBpbmNsdWRpbmcgYSAjV2ViS2l0VVJJUmVxdWVzdCBhbmQgYSAjV2ViS2l0VVJJUmVzcG9u
c2UKKyAqIG9iamVjdHMuIFRoZSBhcHBsaWNhdGlvbiBtYXkgdXNlIHRoaXMgb2JqZWN0IHRvIGNv
bnRyb2wgdGhlCisgKiBkb3dubG9hZCBwcm9jZXNzLCBvciB0byBzaW1wbHkgZmlndXJlIG91dCB3
aGF0IGlzIHRvIGJlIGRvd25sb2FkZWQsCisgKiBhbmQgZG8gaXQgaXRzZWxmLgorICoKKyAqLwor
CiBlbnVtIHsKICAgICBSRUNFSVZFRF9EQVRBLAogICAgIEZJTklTSEVELApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RXJyb3IuY3BwIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RXJyb3IuY3BwCmluZGV4IGRhZjA5ZWNj
MmExYWFmNWM5Nzk1M2VjOTU1NGVkYmIwOGMyNTg0NDQuLjY1MDA0NmNhNzQyNTYwZDU2ZTg4ZDhl
YmFiZDljNmU3N2M4MTRlZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdEVycm9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRFcnJvci5jcHAKQEAgLTI2LDYgKzI2LDE3IEBACiAKIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogCisvKioKKyAqIFNFQ1RJT046IFdlYktpdEVycm9yCisgKiBAU2hvcnRfZGVz
Y3JpcHRpb246IENhdGVnb3JpemVkIFdlYktpdCBlcnJvcnMKKyAqIEBUaXRsZTogV2ViS2l0RXJy
b3IKKyAqCisgKiBTZXZlcmFsIGNvbXBvbmVudHMgaW4gV2ViS2l0IGNhbiB0aHJvdyBlcnJvcnMu
IEFwcGxpY2F0aW9ucyBjYW4KKyAqIGhhbmRsZSBhbmQgcHJvY2VzcyB0aGVtIGluIGRpZmZlcmVu
dCB3YXlzLCBlaXRoZXIgaW5mb3JtaW5nIHRoZQorICogZmluYWwgdXNlciwgdHJ5aW5nIHRvIHdv
cmsgYXJvdW5kIHRoZW0sIG9yIHRha2luZyBhbnkgb3RoZXIKKyAqIGFwcHJvcHJpYXRlIGFjdGlv
bi4KKyAqLworCiBHUXVhcmsgd2Via2l0X25ldHdvcmtfZXJyb3JfcXVhcmsoKQogewogICAgIHJl
dHVybiBnX3F1YXJrX2Zyb21fc3RhdGljX3N0cmluZyhXZWJDb3JlOjplcnJvckRvbWFpbk5ldHdv
cmspOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0
RmF2aWNvbkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdEZhdmljb25EYXRhYmFzZS5jcHAKaW5kZXggZDUwNTMzYjkxMDVkZDFkNDcxYWU5ZDYwYmFl
ZWE1N2Y5ZGU4NTI5Mi4uMTQyZjkyNDAyOGIzYTdlYTc0MDliMzdiMDI4ZjhhYjg4YWE1MzJjMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RmF2aWNv
bkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRGYXZpY29uRGF0YWJhc2UuY3BwCkBAIC0zNSw2ICszNSwyNiBAQAogCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViS2l0OwogCisvKioKKyAqIFNFQ1RJT046IFdlYktpdEZhdmljb25EYXRhYmFzZQorICog
QFNob3J0X2Rlc2NyaXB0aW9uOiBBIFdlYktpdCBmYXZpY29uIGRhdGFiYXNlCisgKiBAVGl0bGU6
IFdlYktpdEZhdmljb25EYXRhYmFzZQorICoKKyAqICNXZWJLaXRGYXZpY29uRGF0YWJhc2UgcHJv
dmlkZXMgYWNjZXNzIHRvIHRoZSBpY29ucyBhc3NvY2lhdGVkIHdpdGgKKyAqIHdlYiBzaXRlcy4K
KyAqCisgKiBXZWJLaXQgd2lsbCBhdXRvbWF0aWNhbGx5IGxvb2sgZm9yIGF2YWlsYWJsZSBpY29u
cyBpbiBsaW5rIGVsZW1lbnRzCisgKiBvbiBvcGVuZWQgcGFnZXMgYXMgd2VsbCBhcyBhbiBleGlz
dGluZyBmYXZpY29uLmljbyBhbmQgbG9hZCB0aGUKKyAqIGltYWdlcyBmb3VuZCBpbnRvIGEgbWVt
b3J5IGNhY2hlIGlmIHBvc3NpYmxlLiBUaGF0IGNhY2hlIGlzIGZyb3plbgorICogdG8gYW4gb24t
ZGlzayBkYXRhYmFzZSBmb3IgcGVyc2lzdGVuY2UuCisgKgorICogSWYgI1dlYktpdFNldHRpbmdz
OmVuYWJsZS1wcml2YXRlLWJyb3dzaW5nIGlzICVUUlVFIG5ldyBpY29ucyB3b24ndAorICogYmUg
YWRkZWQgdG8gdGhlIG9uLWRpc2sgZGF0YWJhc2UgYW5kIG5vIGV4aXN0aW5nIGljb25zIHdpbGwg
YmUKKyAqIGRlbGV0ZWQgZnJvbSBpdC4gTmV2ZXJ0aGVsZXNzLCBXZWJLaXQgd2lsbCBzdGlsbCBz
dG9yZSB0aGVtIGluIHRoZQorICogaW4tbWVtb3J5IGNhY2hlIGR1cmluZyB0aGUgY3VycmVudCBl
eGVjdXRpb24uCisgKgorICovCisKIGVudW0gewogICAgIEZBVklDT05fQ0hBTkdFRCwKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RmluZENvbnRy
b2xsZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RmluZENv
bnRyb2xsZXIuY3BwCmluZGV4IDdlMzZhNGFkNWI0NzEzNThmMWY2MDZjMDcwZjNmZWNiNGIxYzU1
YWYuLjM1MTM4YzYyZDZmNThkNzgzOTJhYmUyYzdlZWVmODJmYTA1Nzg3MDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEZpbmRDb250cm9sbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRGaW5kQ29udHJv
bGxlci5jcHAKQEAgLTMwLDYgKzMwLDIzIEBACiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKKy8qKgorICogU0VDVElPTjogV2ViS2l0RmluZENvbnRy
b2xsZXIKKyAqIEBTaG9ydF9kZXNjcmlwdGlvbjogQ29udHJvbHMgdGV4dCBzZWFyY2ggaW4gYSAj
V2ViS2l0V2ViVmlldworICogQFRpdGxlOiBXZWJLaXRGaW5kQ29udHJvbGxlcgorICoKKyAqIEEg
I1dlYktpdEZpbmRDb250cm9sbGVyIGlzIHVzZWQgdG8gc2VhcmNoIHRleHQgaW4gYSAjV2ViS2l0
V2ViVmlldy4gWW91CisgKiBjYW4gZ2V0IGEgI1dlYktpdFdlYlZpZXc8IS0tIC0tPidzICNXZWJL
aXRGaW5kQ29udHJvbGxlciB3aXRoCisgKiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X2ZpbmRfY29udHJv
bGxlcigpLCBhbmQgbGF0ZXIgdXNlIGl0IHRvIHNlYXJjaAorICogZm9yIHRleHQgdXNpbmcgd2Vi
a2l0X2ZpbmRfY29udHJvbGxlcl9zZWFyY2goKSwgb3IgZ2V0IHRoZQorICogbnVtYmVyIG9mIG1h
dGNoZXMgdXNpbmcgd2Via2l0X2ZpbmRfY29udHJvbGxlcl9jb3VudF9tYXRjaGVzKCkuIFRoZQor
ICogb3BlcmF0aW9ucyBhcmUgYXN5bmNocm9ub3VzIGFuZCB0cmlnZ2VyIHNpZ25hbHMgd2hlbiBy
ZWFkeSwgc3VjaCBhcworICogI1dlYktpdEZpbmRDb250cm9sbGVyOjpmb3VuZC10ZXh0LAorICog
I1dlYktpdEZpbmRDb250cm9sbGVyOjpmYWlsZWQtdG8tZmluZC10ZXh0IG9yCisgKiAjV2ViS2l0
RmluZENvbnRyb2xsZXI6OmNvdW50ZWQtbWF0Y2hlczwhLS0gLS0+LgorICoKKyAqLworCiBlbnVt
IHsKICAgICBGT1VORF9URVhULAogICAgIEZBSUxFRF9UT19GSU5EX1RFWFQsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRGb3JtU3VibWlzc2lvblJl
cXVlc3QuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Rm9ybVN1
Ym1pc3Npb25SZXF1ZXN0LmNwcAppbmRleCA4MTZjZWUzZjZlODcyNjBhNmMxNzYyMzZhOTliYjcz
NDJkODg3ZWViLi45MmVlNDU4NmMxZjhiZDEwZTZiZDZlOGZlMDUwNTViM2U5OGMxN2UwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRGb3JtU3VibWlz
c2lvblJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdC5jcHAKQEAgLTI4LDYgKzI4LDIxIEBACiAKIHVzaW5n
IG5hbWVzcGFjZSBXZWJLaXQ7CiAKKy8qKgorICogU0VDVElPTjogV2ViS2l0Rm9ybVN1Ym1pc3Np
b25SZXF1ZXN0CisgKiBAU2hvcnRfZGVzY3JpcHRpb246IFJlcHJlc2VudHMgYSBmb3JtIHN1Ym1p
c3Npb24gcmVxdWVzdAorICogQFRpdGxlOiBXZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3QKKyAq
CisgKiBXaGVuIGEgZm9ybSBpcyBhYm91dCB0byBiZSBzdWJtaXR0ZWQgaW4gYSAjV2ViS2l0V2Vi
VmlldywgdGhlCisgKiAjV2ViS2l0V2ViVmlldzo6c3VibWl0LWZvcm0gc2lnbmFsIGlzIGVtaXR0
ZWQuIEl0cyByZXF1ZXN0IGFyZ3VtZW50CisgKiBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCB0
aGUgdGV4dCBmaWVsZHMgb2YgdGhlIGZvcm0sIHRoYXQgYXJlCisgKiB0eXBpY2FsbHkgdXNlZCB0
byBzdG9yZSBsb2dpbiBpbmZvcm1hdGlvbiwgcmV0dXJuZWQgaW4gYQorICogI0dIYXNoVGFibGUg
YnkgdGhlIHdlYmtpdF9mb3JtX3N1Ym1pc3Npb25fcmVxdWVzdF9nZXRfdGV4dF9maWVsZHMoKQor
ICogbWV0aG9kLCBhbmQgeW91IGNhbiBmaW5hbGx5IHN1Ym1pdCB0aGUgZm9ybSB3aXRoCisgKiB3
ZWJraXRfZm9ybV9zdWJtaXNzaW9uX3JlcXVlc3Rfc3VibWl0KCkuCisgKgorICovCisKIHN0cnVj
dCBfV2ViS2l0Rm9ybVN1Ym1pc3Npb25SZXF1ZXN0UHJpdmF0ZSB7CiAgICAgUmVmUHRyPEltbXV0
YWJsZURpY3Rpb25hcnk+IHdlYlZhbHVlczsKICAgICBSZWZQdHI8V2ViRm9ybVN1Ym1pc3Npb25M
aXN0ZW5lclByb3h5PiBsaXN0ZW5lcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvZ3RrL1dlYktpdFBsdWdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRQbHVnaW4uY3BwCmluZGV4IDBkZDExMjFjZjUzMDk0OWU0MmNkZGZmN2Zm
Y2E4YjkwYTgzM2QyODAuLjM0MWMwYWM0MzdkNDg4YTA2MDY4Yjc0YTI4OTQ1NjRkMTZhOGMyZmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFBsdWdp
bi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UGx1Z2lu
LmNwcApAQCAtMjYsNiArMjYsMjAgQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAorLyoq
CisgKiBTRUNUSU9OOiBXZWJLaXRQbHVnaW4KKyAqIEBTaG9ydF9kZXNjcmlwdGlvbjogUmVwcmVz
ZW50cyBhIHBsdWdpbiwgZW5hYmxpbmcgZmluZS1ncmFpbmVkIGNvbnRyb2wKKyAqIEBUaXRsZTog
V2ViS2l0UGx1Z2luCisgKgorICogVGhpcyBvYmplY3QgcmVwcmVzZW50cyBhIHNpbmdsZSBwbHVn
aW4sIGZvdW5kIHdoaWxlIHNjYW5uaW5nIHRoZQorICogdmFyaW91cyB1c3VhbCBkaXJlY3Rvcmll
cy4gVGhpcyBvYmplY3QgY2FuIGJlIHVzZWQgdG8gZ2V0IG1vcmUKKyAqIGluZm9ybWF0aW9uIGFi
b3V0IGEgcGx1Z2luLCBhbmQgZW5hYmxlL2Rpc2FibGUgaXQsIGFsbG93aW5nCisgKiBmaW5lLWdy
YWluZWQgY29udHJvbCBvZiBwbHVnaW5zLiBUaGUgbGlzdCBvZiBhdmFpbGFibGUgcGx1Z2lucyBj
YW4KKyAqIGJlIG9idGFpbmVkIGZyb20gdGhlICNXZWJLaXRXZWJDb250ZXh0LCB3aXRoCisgKiB3
ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3BsdWdpbnMoKS4KKyAqCisgKi8KKwogc3RydWN0IF9XZWJL
aXRQbHVnaW5Qcml2YXRlIHsKICAgICB+X1dlYktpdFBsdWdpblByaXZhdGUoKQogICAgIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFByaW50T3Bl
cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFByaW50
T3BlcmF0aW9uLmNwcAppbmRleCA2YjcyZDE4OGQxZTQ1YzY2ZWJiNmQzZmFkOTU0MmM4YzQ0OGRh
NDY0Li4wNjhhMjhjZGRjNWIwNGEwY2YyNTRlZGFlZjg0MzkxZGQ0OWY0NjYyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRQcmludE9wZXJhdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UHJpbnRPcGVy
YXRpb24uY3BwCkBAIC0zOCw2ICszOCwxOCBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0Owog
CisvKioKKyAqIFNFQ1RJT046IFdlYktpdFByaW50T3BlcmF0aW9uCisgKiBAU2hvcnRfZGVzY3Jp
cHRpb246IENvbnRyb2xzIGEgcHJpbnQgb3BlcmF0aW9uCisgKiBAVGl0bGU6IFdlYktpdFByaW50
T3BlcmF0aW9uCisgKgorICogQSAjV2ViS2l0UHJpbnRPcGVyYXRpb24gY29udHJvbHMgYSBwcmlu
dCBvcGVyYXRpb24gaW4gV2ViS2l0LiBXaXRoCisgKiBhIHNpbWlsYXIgQVBJIHRvICNHdGtQcmlu
dE9wZXJhdGlvbiwgaXQgbGV0cyB5b3Ugc2V0IHRoZSBwcmludAorICogc2V0dGluZ3Mgd2l0aCB3
ZWJraXRfcHJpbnRfb3BlcmF0aW9uX3NldF9wcmludF9zZXR0aW5ncygpIG9yCisgKiBkaXNwbGF5
IHRoZSBwcmludCBkaWFsb2cgd2l0aCB3ZWJraXRfcHJpbnRfb3BlcmF0aW9uX3J1bl9kaWFsb2co
KS4KKyAqCisgKi8KKwogZW51bSB7CiAgICAgUFJPUF8wLAogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZWN1cml0eU1hbmFnZXIuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0U2VjdXJpdHlNYW5hZ2VyLmNwcApp
bmRleCBjZDg4MDM3NDk3ZjgwYjQ4MjI4OGNhZDY0NmRhZDZjNDhlNThlYjg4Li5lOGMzNmQ3MmM2
YzUzNGU5Y2IxNGVmZWNlMDJlZTQwYWFkZTk1N2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRTZWN1cml0eU1hbmFnZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNlY3VyaXR5TWFuYWdlci5jcHAKQEAg
LTI3LDYgKzI3LDE5IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKKy8qKgorICogU0VD
VElPTjogV2ViS2l0U2VjdXJpdHlNYW5hZ2VyCisgKiBAU2hvcnRfZGVzY3JpcHRpb246IENvbnRy
b2xzIHNlY3VyaXR5IHNldHRpbmdzIGluIGEgI1dlYktpdFdlYkNvbnRleHQKKyAqIEBUaXRsZTog
V2ViS2l0U2VjdXJpdHlNYW5hZ2VyCisgKgorICogVGhlICNXZWJLaXRTZWN1cml0eU1hbmFnZXIg
ZGVmaW5lcyBzZWN1cml0eSBzZXR0aW5ncyBmb3IgVVJJCisgKiBzY2hlbWVzIGluIGEgI1dlYktp
dFdlYkNvbnRleHQuIEdldCBpdCBmcm9tIHRoZSBjb250ZXh0IHdpdGgKKyAqIHdlYmtpdF93ZWJf
Y29udGV4dF9nZXRfc2VjdXJpdHlfbWFuYWdlcigpLCBhbmQgdXNlIGl0IHRvIHJlZ2lzdGVyIGEK
KyAqIFVSSSBzY2hlbWUgd2l0aCBhIGNlcnRhaW4gc2VjdXJpdHkgbGV2ZWwsIG9yIHRvIGNoZWNr
IGlmIGl0IGFscmVhZHkKKyAqIGhhcyBpdC4KKyAqCisgKi8KKwogdHlwZWRlZiBlbnVtIHsKICAg
ICBTZWN1cml0eVBvbGljeUxvY2FsLAogICAgIFNlY3VyaXR5UG9saWN5Tm9BY2Nlc3MsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklSZXF1ZXN0
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVJlcXVlc3Qu
Y3BwCmluZGV4IDE0N2QxN2UxYzFhNGRjMjY5MzFmZWU3NTNiOWIyMTkzYmQyMGFlNjIuLjIxOWYz
NGZmZmRjNDA4MDhlYjE4YmY4MTcyNTEzNGY1YmVmZDE2NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVJlcXVlc3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVJlcXVlc3QuY3BwCkBAIC0zMyw2
ICszMywxNyBAQCBlbnVtIHsKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKKy8qKgorICog
U0VDVElPTjogV2ViS2l0VVJJUmVxdWVzdAorICogQFNob3J0X2Rlc2NyaXB0aW9uOiBSZXByZXNl
bnRzIGEgVVJJIHJlcXVlc3QKKyAqIEBUaXRsZTogV2ViS2l0VVJJUmVxdWVzdAorICoKKyAqIEEg
I1dlYktpdFVSSVJlcXVlc3QgY2FuIGJlIGNyZWF0ZWQgd2l0aCBhIFVSSSB1c2luZyB0aGUKKyAq
IHdlYmtpdF91cmlfcmVxdWVzdF9uZXcoKSBtZXRob2QsIGFuZCB5b3UgY2FuIGdldCB0aGUgVVJJ
IG9mIGFuCisgKiBleGlzdGluZyByZXF1ZXN0IHdpdGggdGhlIHdlYmtpdF91cmlfcmVxdWVzdF9n
ZXRfdXJpKCkgb25lLgorICoKKyAqLworCiBzdHJ1Y3QgX1dlYktpdFVSSVJlcXVlc3RQcml2YXRl
IHsKICAgICBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVzb3VyY2VSZXF1ZXN0OwogICAgIENT
dHJpbmcgdXJpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0VVJJUmVzcG9uc2UuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0VVJJUmVzcG9uc2UuY3BwCmluZGV4IDU3NmNlOTUzYWY3YWExMjE5MzFkZTY0OWUxYTMw
OTg5YmEzYzQyZTQuLjQ3YjNmY2E5YTBlZTNkNzYzZGQ1YjM5ZWYwZTBkMDYwZmJlNTMxYzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVJlc3Bv
bnNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklS
ZXNwb25zZS5jcHAKQEAgLTMwLDYgKzMwLDE3IEBACiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0Owog
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKKy8qKgorICogU0VDVElPTjogV2ViS2l0VVJJUmVz
cG9uc2UKKyAqIEBTaG9ydF9kZXNjcmlwdGlvbjogUmVwcmVzZW50cyBhIFVSSSByZXNwb25zZQor
ICogQFRpdGxlOiBXZWJLaXRVUklSZXNwb25zZQorICoKKyAqIEEgI1dlYktpdFVSSVJlc3BvbnNl
IGNvbnRhaW5zIGluZm9ybWF0aW9uIHN1Y2ggYXMgdGhlIFVSSSwgdGhlCisgKiBzdGF0dXMgY29k
ZSwgdGhlIGNvbnRlbnQgbGVuZ3RoLCB0aGUgbWltZSB0eXBlLCB0aGUgaHR0cHMgc3RhdHVzIG9y
CisgKiB0aGUgc3VnZ2VzdGVkIGZpbGVuYW1lLgorICoKKyAqLworCiBlbnVtIHsKICAgICBQUk9Q
XzAsCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFVSSVNjaGVtZVJlcXVlc3QuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5jcHAKaW5kZXggZjY1Nzg5ZmNlZGQ4NTY2MWE2MGI4NGE5
M2Q1ODFiODI1ZTkyZWMxMi4uZTA5Y2U0YzkyYTRiZmJlNWE1ZDRjNTQ2ZDc1YTcwMWVjZjY1MmI4
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJ
U2NoZW1lUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5jcHAKQEAgLTMzLDYgKzMzLDIyIEBACiAKIHVzaW5nIG5h
bWVzcGFjZSBXZWJLaXQ7CiAKKy8qKgorICogU0VDVElPTjogV2ViS2l0VVJJU2NoZW1lUmVxdWVz
dAorICogQFNob3J0X2Rlc2NyaXB0aW9uOiBSZXByZXNlbnRzIGEgVVJJIHNjaGVtZSByZXF1ZXN0
CisgKiBAVGl0bGU6IFdlYktpdFVSSVNjaGVtZVJlcXVlc3QKKyAqCisgKiBJZiB5b3UgcmVnaXN0
ZXIgYSBwYXJ0aWN1bGFyIFVSSSBzY2hlbWUgaW4gYSAjV2ViS2l0V2ViQ29udGV4dCwKKyAqIHVz
aW5nIHdlYmtpdF93ZWJfY29udGV4dF9yZWdpc3Rlcl91cmlfc2NoZW1lKCksIHlvdSBoYXZlIHRv
IHByb3ZpZGUKKyAqIGEgI1dlYktpdFVSSVNjaGVtZVJlcXVlc3RDYWxsYmFjay4gQWZ0ZXIgdGhh
dCwgd2hlbiBhIFVSSSByZXF1ZXN0CisgKiBpcyBtYWRlIHdpdGggdGhhdCBwYXJ0aWN1bGFyIHNj
aGVtZSwgeW91ciBjYWxsYmFjayB3aWxsIGJlCisgKiBjYWxsZWQuIFRoZXJlIHlvdSB3aWxsIGJl
IGFibGUgdG8gYWNjZXNzIHByb3BlcnRpZXMgc3VjaCBhcyB0aGUKKyAqIHNjaGVtZSwgdGhlIFVS
SSBhbmQgcGF0aCwgYW5kIHRoZSAjV2ViS2l0V2ViVmlldyB0aGF0IGluaXRpYXRlZCB0aGUKKyAq
IHJlcXVlc3QsIGFuZCBhbHNvIGZpbmlzaCB0aGUgcmVxdWVzdCB3aXRoCisgKiB3ZWJraXRfdXJp
X3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaCgpLgorICoKKyAqLworCiBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgaW50IGdSZWFkQnVmZmVyU2l6ZSA9IDgxOTI7CiAKIHN0cnVjdCBfV2ViS2l0VVJJU2NoZW1l
UmVxdWVzdFByaXZhdGUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0VmVyc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRWZXJzaW9uLmNwcAppbmRleCA0ZWY2MmUzNzIyYWRmNmE1OGY4Y2Y2ZTdhODgyYmQ1
NzdkMzcwMDBjLi41NGRhY2M0ZjcwYWUzODkzMGQ2NDQ2ZDIwNTY4YjgwZGZmZGY0NWZjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRWZXJzaW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRWZXJzaW9uLmNw
cApAQCAtMjEsNiArMjEsMjAgQEAKICNpbmNsdWRlICJXZWJLaXRWZXJzaW9uLmgiCiAKIC8qKgor
ICogU0VDVElPTjogV2ViS2l0VmVyc2lvbgorICogQFNob3J0X2Rlc2NyaXB0aW9uOiBQcm92aWRl
cyB0aGUgV2ViS2l0IHZlcnNpb24KKyAqIEBUaXRsZTogV2ViS2l0VmVyc2lvbgorICoKKyAqIFBy
b3ZpZGVzIGNvbnZlbmllbmNlIGZ1bmN0aW9ucyByZXR1cm5pbmcgV2ViS2l0J3MgbWFqb3IsIG1p
bm9yIGFuZAorICogbWljcm8gdmVyc2lvbnMgb2YgdGhlIFdlYktpdCBsaWJyYXJ5IHlvdXIgY29k
ZSBpcyBydW5uaW5nCisgKiBhZ2FpbnN0LiBUaGlzIGlzIG5vdCBuZWNlc3NhcmlseSB0aGUgc2Ft
ZSBhcyB0aGUKKyAqICNXRUJLSVRfTUFKT1JfVkVSU0lPTiwgI1dFQktJVF9NSU5PUl9WRVJTSU9O
IG9yCisgKiAjV0VCS0lUX01JQ1JPX1ZFUlNJT04sIHdoaWNoIHJlcHJlc2VudCB0aGUgdmVyc2lv
biBvZiB0aGUgV2ViS2l0CisgKiBoZWFkZXJzIGluY2x1ZGVkIHdoZW4gY29tcGlsaW5nIHRoZSBj
b2RlLgorICoKKyAqLworCisvKioKICAqIHdlYmtpdF9nZXRfbWFqb3JfdmVyc2lvbjoKICAqCiAg
KiBSZXR1cm5zIHRoZSBtYWpvciB2ZXJzaW9uIG51bWJlciBvZiB0aGUgV2ViS2l0IGxpYnJhcnku
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJD
b250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkNv
bnRleHQuY3BwCmluZGV4IDNkYmNmZTg4Zjg2YzFiYjQ0OWQzODMyYTEzZDIyMTIwZTJkMzc1NmUu
LjhlMWVkMzIxYTVhY2ZkMjBkNmM3NmQ2OWZiOWQzMzg5ZjE0YWY3N2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkNvbnRleHQuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkNvbnRleHQuY3BwCkBA
IC00Niw2ICs0NiwzMiBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCisvKioKKyAqIFNF
Q1RJT046IFdlYktpdFdlYkNvbnRleHQKKyAqIEBTaG9ydF9kZXNjcmlwdGlvbjogTWFuYWdlcyBh
c3BlY3RzIGNvbW1vbiB0byBhbGwgI1dlYktpdFdlYlZpZXc8IS0tIC0tPnMKKyAqIEBUaXRsZTog
V2ViS2l0V2ViQ29udGV4dAorICoKKyAqIFRoZSAjV2ViS2l0V2ViQ29udGV4dCBtYW5hZ2VzIGFs
bCBhc3BlY3RzIGNvbW1vbiB0byBhbGwKKyAqICNXZWJLaXRXZWJWaWV3PCEtLSAtLT5zLgorICoK
KyAqIFlvdSBjYW4gZGVmaW5lIHRoZSAjV2ViS2l0Q2FjaGVNb2RlbCB3aXRoCisgKiB3ZWJraXRf
d2ViX2NvbnRleHRfc2V0X2NhY2hlX21vZGVsKCksIGRlcGVuZGluZyBvbiB0aGUgbmVlZHMgb2YK
KyAqIHlvdXIgYXBwbGljYXRpb24uIFlvdSBjYW4gYWNjZXNzIHRoZSAjV2ViS2l0Q29va2llTWFu
YWdlciBvciB0aGUKKyAqICNXZWJLaXRTZWN1cml0eU1hbmFnZXIgdG8gc3BlY2lmeSB0aGUgYmVo
YXZpb3VyIG9mIHlvdXIgYXBwbGljYXRpb24KKyAqIHJlZ2FyZGluZyBjb29raWVzIGFuZCBzZWN1
cml0eSwgdXNpbmcKKyAqIHdlYmtpdF93ZWJfY29udGV4dF9nZXRfY29va2llX21hbmFnZXIoKSBh
bmQKKyAqIHdlYmtpdF93ZWJfY29udGV4dF9nZXRfc2VjdXJpdHlfbWFuYWdlcigpIGZvciB0aGF0
LgorICoKKyAqIEl0IGlzIGFsc28gcG9zc2libGUgdG8gY2hhbmdlIHlvdXIgcHJlZmVycmVkIGxh
bmd1YWdlIG9yIGVuYWJsZQorICogc3BlbGwgY2hlY2tpbmcsIHVzaW5nIHdlYmtpdF93ZWJfY29u
dGV4dF9zZXRfcHJlZmVycmVkX2xhbmd1YWdlcygpLAorICogd2Via2l0X3dlYl9jb250ZXh0X3Nl
dF9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXMoKSBhbmQKKyAqIHdlYmtpdF93ZWJfY29udGV4dF9z
ZXRfc3BlbGxfY2hlY2tpbmdfZW5hYmxlZCgpLgorICoKKyAqIFlvdSBjYW4gdXNlIHdlYmtpdF93
ZWJfY29udGV4dF9yZWdpc3Rlcl91cmlfc2NoZW1lKCkgdG8gcmVnaXN0ZXIKKyAqIGN1c3RvbSBV
Ukkgc2NoZW1lcywgYW5kIG1hbmFnZSBzZXZlcmFsIG90aGVyIHNldHRpbmdzLgorICoKKyAqLwor
CiBlbnVtIHsKICAgICBET1dOTE9BRF9TVEFSVEVELAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJJbnNwZWN0b3IuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViSW5zcGVjdG9yLmNwcAppbmRleCAzNzhh
MWY0YzBmOTAxNWIzNzVjZjU1MGExYWIzZTU4ODcxZDJmZTVmLi5lNTgwYzQ0MjI3ZjY4M2M0ZjE3
MjdhYzUyYTFhN2UzMzNhMzg1YjFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRXZWJJbnNwZWN0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkluc3BlY3Rvci5jcHAKQEAgLTI5LDYgKzI5LDM1IEBA
CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKKy8qKgorICogU0VDVElPTjogV2ViS2l0V2Vi
SW5zcGVjdG9yCisgKiBAU2hvcnRfZGVzY3JpcHRpb246IEFjY2VzcyB0byB0aGUgV2ViS2l0IGlu
c3BlY3RvcgorICogQFRpdGxlOiBXZWJLaXRXZWJJbnNwZWN0b3IKKyAqCisgKiBUaGUgV2ViS2l0
IEluc3BlY3RvciBpcyBhIGdyYXBoaWNhbCB0b29sIHRvIGluc3BlY3QgYW5kIGNoYW5nZSB0aGUK
KyAqIGNvbnRlbnQgb2YgYSAjV2ViS2l0V2ViVmlldy4gSXQgYWxzbyBpbmNsdWRlcyBhbiBpbnRl
cmFjdGl2ZQorICogSmF2YVNjcmlwdERlYnVnZ2VyLiBVc2luZyB0aGlzIGNsYXNzIG9uZSBjYW4g
Z2V0IGEgI0d0a1dpZGdldCB3aGljaAorICogY2FuIGJlIGVtYmVkZGVkIGludG8gYW4gYXBwbGlj
YXRpb24gdG8gc2hvdyB0aGUgaW5zcGVjdG9yLgorICoKKyAqIFRoZSBpbnNwZWN0b3IgaXMgYXZh
aWxhYmxlIHdoZW4gdGhlICNXZWJLaXRTZXR0aW5ncyBvZiB0aGUKKyAqICNXZWJLaXRXZWJWaWV3
IGhhcyBzZXQgdGhlICNXZWJLaXRTZXR0aW5nczplbmFibGUtZGV2ZWxvcGVyLWV4dHJhcworICog
dG8gdHJ1ZSwgb3RoZXJ3aXNlIG5vIGluc3BlY3RvciBpcyBhdmFpbGFibGUuCisgKgorICogPGlu
Zm9ybWFsZXhhbXBsZT48cHJvZ3JhbWxpc3Rpbmc+CisgKiAvPCEtLSAtLT4qIEVuYWJsZSB0aGUg
ZGV2ZWxvcGVyIGV4dHJhcyAqPCEtLSAtLT4vCisgKiBXZWJLaXRTZXR0aW5ncyAqc2V0dGluZyA9
IHdlYmtpdF93ZWJfdmlld19nZXRfc2V0dGluZ3MgKFdFQktJVF9XRUJfVklFVyhteV93ZWJ2aWV3
KSk7CisgKiBnX29iamVjdF9zZXQgKEdfT0JKRUNUKHNldHRpbmdzKSwgImVuYWJsZS1kZXZlbG9w
ZXItZXh0cmFzIiwgVFJVRSwgTlVMTCk7CisgKgorICogLzwhLS0gLS0+KiBMb2FkIHNvbWUgZGF0
YSBvciByZWxvYWQgdG8gYmUgYWJsZSB0byBpbnNwZWN0IHRoZSBwYWdlKjwhLS0gLS0+LworICog
d2Via2l0X3dlYl9sb2FkX3VyaSAoV0VCS0lUX1dFQl9WSUVXKG15X3dlYnZpZXcpLCAiaHR0cDov
L3d3dy5nbm9tZS5vcmciKTsKKyAqCisgKiAvPCEtLSAtLT4qIFNob3cgdGhlIGluc3BlY3RvciAq
PCEtLSAtLT4vCisgKiBXZWJLaXRXZWJJbnNwZWN0b3IgKmluc3BlY3RvciA9IHdlYmtpdF93ZWJf
dmlld19nZXRfaW5zcGVjdG9yIChXRUJLSVRfV0VCX1ZJRVcobXlfd2VidmlldykpOworICogd2Vi
a2l0X3dlYl9pbnNwZWN0b3Jfc2hvdyAoV0VCS0lUX1dFQl9JTlNQRUNUT1IoaW5zcGVjdG9yKSk7
CisgKiA8L3Byb2dyYW1saXN0aW5nPjwvaW5mb3JtYWxleGFtcGxlPgorICoKKyAqLworCiBlbnVt
IHsKICAgICBPUEVOX1dJTkRPVywKICAgICBCUklOR19UT19GUk9OVCwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlJlc291cmNlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlJlc291cmNlLmNwcAppbmRl
eCA3YTU0MGQzNTM4ZjY1N2NkZTRhNWUyMzM2YTA0ZGRlOGFiNWMyMDZmLi43MzZlNzA0NDA2ZmIx
ZTY5MmQ0YmIyYTFmNDQ3ZmI4ZjNjMjIwZWFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViUmVzb3VyY2UuY3BwCkBAIC0zMSw2ICszMSwx
NiBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCisvKioKKyAqIFNFQ1RJT046IFdlYktp
dFdlYlJlc291cmNlCisgKiBAU2hvcnRfZGVzY3JpcHRpb246IFJlcHJlc2VudHMgYSBkb3dubG9h
ZGVkIFVSSQorICogQFRpdGxlOiBXZWJLaXRXZWJSZXNvdXJjZQorICoKKyAqIEEgd2ViIHJlc291
cmNlIGVuY2Fwc3VsYXRlcyB0aGUgZGF0YSBvZiB0aGUgZG93bmxvYWQsIGFzIHdlbGwgYXMKKyAq
IHRoZSBVUkkgYW5kIHRoZSAjV2ViS2l0VVJJUmVzcG9uc2UuCisgKgorICovCisKIGVudW0gewog
ICAgIFNFTlRfUkVRVUVTVCwKICAgICBSRUNFSVZFRF9EQVRBLApAQCAtOTAsNyArMTAwLDcgQEAg
c3RhdGljIHZvaWQgd2Via2l0X3dlYl9yZXNvdXJjZV9jbGFzc19pbml0KFdlYktpdFdlYlJlc291
cmNlQ2xhc3MqIHJlc291cmNlQ2xhc3MKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFBST1BfVVJJLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ19wYXJh
bV9zcGVjX3N0cmluZygidXJpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXygiVVJJIiksCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF8oIlRoZSBjdXJyZW50IGFjdGl2ZSBVUkkg
b2YgdGhlIHJlc3VsdCIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBfKCJUaGUgY3VycmVudCBhY3RpdmUgVVJJIG9mIHRoZSByZXNvdXJj
ZSIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBXRUJLSVRfUEFSQU1fUkVBREFCTEUpKTsKIApAQCAtMjM4LDcgKzI0OCw3IEBAIFdl
YkZyYW1lUHJveHkqIHdlYmtpdFdlYlJlc291cmNlR2V0RnJhbWUoV2ViS2l0V2ViUmVzb3VyY2Uq
IHJlc291cmNlKQogICogd2Via2l0X3dlYl9yZXNvdXJjZV9nZXRfdXJpOgogICogQHJlc291cmNl
OiBhICNXZWJLaXRXZWJSZXNvdXJjZQogICoKLSAqIFJldHVybnMgdGhlIGN1cnJlbnQgYWN0aXZl
IFVSSSBvZiBAd2ViX3ZpZXcuIFRoZSBhY3RpdmUgVVJJIG1pZ2h0IGNoYW5nZSBkdXJpbmcKKyAq
IFJldHVybnMgdGhlIGN1cnJlbnQgYWN0aXZlIFVSSSBvZiBAcmVzb3VyY2UuIFRoZSBhY3RpdmUg
VVJJIG1pZ2h0IGNoYW5nZSBkdXJpbmcKICAqIGEgbG9hZCBvcGVyYXRpb246CiAgKgogICogPG9y
ZGVyZWRsaXN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0V2ViVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRXZWJWaWV3LmNwcAppbmRleCBmYjBjNWVkOWFiOWNhM2Y4ZWJmYjkzMThhZDBiNzNkMjNkNzM2
OTgyLi43ZjNkNTVlZTMyZDFkN2QwODg0OTM3YWFhMTU1MTkyY2VlNGI0MTIxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcApAQCAt
NjcsNiArNjcsMjAgQEAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIAorLyoqCisgKiBTRUNUSU9OOiBXZWJLaXRXZWJWaWV3CisgKiBAU2hvcnRfZGVz
Y3JpcHRpb246IFRoZSBjZW50cmFsIGNsYXNzIG9mIHRoZSBXZWJLaXQyR1RLKyBBUEkKKyAqIEBU
aXRsZTogV2ViS2l0V2ViVmlldworICoKKyAqICNXZWJLaXRXZWJWaWV3IGlzIHRoZSBjZW50cmFs
IGNsYXNzIG9mIHRoZSBXZWJLaXQyR1RLKworICogQVBJLiAjV2ViS2l0V2ViVmlldyBpcyBzY3Jv
bGxhYmxlIGJ5IGl0c2VsZiwgc28geW91IGRvbid0IG5lZWQgdG8KKyAqIGVtYmVkIGl0IGluIGEg
I0d0a1Njcm9sbGVkV2luZG93LiBJdCBpcyByZXNwb25zaWJsZSBmb3IgbWFuYWdpbmcKKyAqIHRo
ZSBkcmF3aW5nIG9mIHRoZSBjb250ZW50LCBmb3J3YXJkaW5nIG9mIGV2ZW50cy4gWW91IGNhbiBs
b2FkIGFueQorICogVVJJIGludG8gdGhlICNXZWJLaXRXZWJWaWV3IG9yIGFueSBraW5kIG9mIGRh
dGEgc3RyaW5nLiBXaXRoCisgKiAjV2ViS2l0U2V0dGluZ3MgeW91IGNhbiBjb250cm9sIHZhcmlv
dXMgYXNwZWN0cyBvZiB0aGUgcmVuZGVyaW5nCisgKiBhbmQgbG9hZGluZyBvZiB0aGUgY29udGVu
dC4KKyAqLworCiBlbnVtIHsKICAgICBMT0FEX0NIQU5HRUQsCiAgICAgTE9BRF9GQUlMRUQsCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
QmFzZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
QmFzZS5jcHAKaW5kZXggMWVjMGFlMzc3ODg0YTUwYjJjZWZkMmYyYmY0YzE0NjhjOTA4MWM2Yy4u
Nzk3ZmE5OWM5ZGQ0YTgyMGM0YjNlODljMmZhYzZlOTQyMjlhZmJkOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcApA
QCAtNzMsNiArNzMsMTUgQEAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIAorLyoqCisgKiBTRUNUSU9OOiBXZWJLaXRXZWJWaWV3QmFzZQorICogQFNo
b3J0X2Rlc2NyaXB0aW9uOiBUaGUgYmFzZSBjbGFzcyBmb3IgI1dlYktpdFdlYlZpZXcKKyAqIEBU
aXRsZTogV2ViS2l0V2ViVmlld0Jhc2UKKyAqCisgKiBCYXNlIGNsYXNzIGZvciAjV2ViS2l0V2Vi
Vmlldy4KKyAqCisgKi8KKwogdHlwZWRlZiBIYXNoTWFwPEd0a1dpZGdldCosIEludFJlY3Q+IFdl
YktpdFdlYlZpZXdDaGlsZHJlbk1hcDsKIAogI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179043</attachid>
            <date>2012-12-12 07:53:23 -0800</date>
            <delta_ts>2012-12-12 08:12:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104484-20121212165043.patch</filename>
            <type>text/plain</type>
            <size>24722</size>
            <attacher name="Simon Pena">spena</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMDY5ZDEwZmM2YjgzZDAx
NzQxMGRlNTdhYzkxYzBlNWEwYTM4YmZjOC4uN2NiMDNkZmJiNDFhZDc0MWQ3NzY0MWI5YzM3Mjlm
NGY3Zjg5ZDFlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTEyLTEyICBTaW1v
biBQZW5hICA8c3BlbmFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBBZGQgc2VjdGlvbnMg
ZG9jdW1lbnRhdGlvbiB0byBXZWJLaXQyIEdUSysgQVBJCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ0ODQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYW55IG9mIHRoZSBzZWN0aW9ucyBpbiB0aGUgV2Vi
S2l0MiBHVEsrIEFQSSBkb2N1bWVudGF0aW9uIHdlcmUKKyAgICAgICAgbWlzc2luZy4gVGhpcyBj
b21taXQgYWRkcyBuZXcgZG9jdW1lbnRhdGlvbiwgaW4gc29tZSBjYXNlcworICAgICAgICBhZGFw
dGluZyBpdCBmcm9tIFdlYktpdEd0aysgYW5kIGluIG90aGVycyB3cml0aW5nIGl0IGZyb20gdGhl
CisgICAgICAgIHNjcmF0Y2guCisKKyAgICAgICAgSXQgYWxzbyByZW1vdmVzIHRoZSBXZWJLaXRX
ZWJWaWV3QmFzZSBjbGFzcyBmcm9tIHRoZSBkb2N1bWVudGF0aW9uCisgICAgICAgIGluZGV4LCBz
aW5jZSBpdCBpcyBub3QgcmVhbGx5IHJlbGV2YW50LgorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0QmFja0ZvcndhcmRMaXN0SXRlbS5jcHA6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnUuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdENvbnRleHRNZW51SXRlbS5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9n
dGsvV2ViS2l0Q29va2llTWFuYWdlci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0RG93bmxvYWQuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEVy
cm9yLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRGYXZpY29uRGF0YWJh
c2UuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEZpbmRDb250cm9sbGVy
LmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRGb3JtU3VibWlzc2lvblJl
cXVlc3QuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFBsdWdpbi5jcHA6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UHJpbnRPcGVyYXRpb24uY3BwOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFNlY3VyaXR5TWFuYWdlci5jcHA6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJUmVxdWVzdC5jcHA6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJUmVzcG9uc2UuY3BwOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QuY3BwOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFZlcnNpb24uY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYkNvbnRleHQuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFdlYkluc3BlY3Rvci5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0V2ViUmVzb3VyY2UuY3BwOgorICAgICAgICAod2Via2l0X3dlYl9yZXNvdXJjZV9jbGFzc19p
bml0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3LmNwcDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstZG9jcy5zZ21sOgorCiAy
MDEyLTEyLTA5ICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAogICAgICAgICBbV0syXSBN
b3ZlIGJ1dHRvbiBpbWFnZSB0byBpbmplY3RlZCBidW5kbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEJhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0QmFja0ZvcndhcmRMaXN0SXRl
bS5jcHAKaW5kZXggNTNmZDFjOGMyZDg0NjNmMmIyMWZjZjg3NDgyM2ZkYzIyMTFiM2MyZi4uYWUx
OGIwNWVjMzZkMDZjNWI5Yzc0OTAxZDZjMmU4YzBjM2NiODQ5ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0QmFja0ZvcndhcmRMaXN0SXRlbS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0QmFja0ZvcndhcmRM
aXN0SXRlbS5jcHAKQEAgLTI4LDYgKzI4LDE3IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7
CiAKKy8qKgorICogU0VDVElPTjogV2ViS2l0QmFja0ZvcndhcmRMaXN0SXRlbQorICogQFNob3J0
X2Rlc2NyaXB0aW9uOiBPbmUgaXRlbSBvZiB0aGUgI1dlYktpdEJhY2tGb3J3YXJkTGlzdAorICog
QFRpdGxlOiBXZWJLaXRCYWNrRm9yd2FyZExpc3RJdGVtCisgKiBAU2VlX2Fsc286ICNXZWJLaXRC
YWNrRm9yd2FyZExpc3QKKyAqCisgKiBBIGhpc3RvcnkgaXRlbSBpcyBwYXJ0IG9mIHRoZSAjV2Vi
S2l0QmFja0ZvcndhcmRMaXN0IGFuZCBjb25zaXN0cworICogb3V0IG9mIGEgdGl0bGUgYW5kIGEg
VVJJLgorICoKKyAqLworCiBzdHJ1Y3QgX1dlYktpdEJhY2tGb3J3YXJkTGlzdEl0ZW1Qcml2YXRl
IHsKICAgICBSZWZQdHI8V2ViQmFja0ZvcndhcmRMaXN0SXRlbT4gd2ViTGlzdEl0ZW07CiAgICAg
Q1N0cmluZyB1cmk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRDb250ZXh0TWVudS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRDb250ZXh0TWVudS5jcHAKaW5kZXggNDZjZTk1OGVlMTkzNDkyYmJjYzI3NGQ4MDUx
OTg2ZGRiODc4NDRlNS4uMGFiNmVkYmE2ZTBhNTQ3NzY0ZTkzNTZmNzAzMGVjMjcyYjFkNDFmNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29udGV4
dE1lbnUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENv
bnRleHRNZW51LmNwcApAQCAtMjgsNiArMjgsMjUgQEAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7
CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAorLyoqCisgKiBTRUNUSU9OOiBXZWJLaXRDb250
ZXh0TWVudQorICogQFNob3J0X2Rlc2NyaXB0aW9uOiBSZXByZXNlbnRzIHRoZSBjb250ZXh0IG1l
bnUgaW4gYSAjV2ViS2l0V2ViVmlldworICogQFRpdGxlOiBXZWJLaXRDb250ZXh0TWVudQorICoK
KyAqICNXZWJLaXRDb250ZXh0TWVudSByZXByZXNlbnRzIGEgY29udGV4dCBtZW51IGNvbnRhaW5p
bmcKKyAqICNXZWJLaXRDb250ZXh0TWVudUl0ZW08IS0tIC0tPnMgaW4gYSAjV2ViS2l0V2ViVmll
dy4KKyAqCisgKiBXaGVuIGEgI1dlYktpdFdlYlZpZXcgaXMgYWJvdXQgdG8gZGlzcGxheSB0aGUg
Y29udGV4dCBtZW51LCBpdAorICogZW1pdHMgdGhlICNXZWJLaXRXZWJWaWV3Ojpjb250ZXh0LW1l
bnUgc2lnbmFsLCB3aGljaCBoYXMgdGhlCisgKiAjV2ViS2l0Q29udGV4dE1lbnUgYXMgYW4gYXJn
dW1lbnQuIFlvdSBjYW4gbW9kaWZ5IGl0LCBhZGRpbmcgbmV3CisgKiBzdWJtZW51cyB0aGF0IHlv
dSBjYW4gY3JlYXRlIHdpdGggd2Via2l0X2NvbnRleHRfbWVudV9uZXcoKSwgYWRkaW5nCisgKiBu
ZXcgI1dlYktpdENvbnRleHRNZW51SXRlbTwhLS0gLS0+cyB3aXRoCisgKiB3ZWJraXRfY29udGV4
dF9tZW51X3ByZXBlbmQoKSwgd2Via2l0X2NvbnRleHRfbWVudV9hcHBlbmQoKSBvcgorICogd2Vi
a2l0X2NvbnRleHRfbWVudV9pbnNlcnQoKSwgbWF5YmUgYWZ0ZXIgaGF2aW5nIHJlbW92ZWQgdGhl
CisgKiBleGlzdGluZyBvbmVzIHdpdGggd2Via2l0X2NvbnRleHRfbWVudV9yZW1vdmVfYWxsKCku
CisgKgorICovCisKIHN0cnVjdCBfV2ViS2l0Q29udGV4dE1lbnVQcml2YXRlIHsKICAgICBHTGlz
dCogaXRlbXM7CiAgICAgV2ViS2l0Q29udGV4dE1lbnVJdGVtKiBwYXJlbnRJdGVtOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnVJ
dGVtLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdENvbnRleHRN
ZW51SXRlbS5jcHAKaW5kZXggYWE4OWI5OTBiOTFiNDM0YjY4Y2I2OGYwOTdmZThjZjdkYzJiMWU4
Yy4uZDk4Y2M1NDhlOTcxYTE4YjQyNDU4ZDIxNGMxYjA0NGNjZmM5YmZlMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29udGV4dE1lbnVJdGVtLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDb250ZXh0TWVu
dUl0ZW0uY3BwCkBAIC0zNyw2ICszNywxOSBAQAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCisvKioKKyAqIFNFQ1RJT046IFdlYktpdENvbnRleHRN
ZW51SXRlbQorICogQFNob3J0X2Rlc2NyaXB0aW9uOiBPbmUgaXRlbSBvZiB0aGUgI1dlYktpdENv
bnRleHRNZW51CisgKiBAVGl0bGU6IFdlYktpdENvbnRleHRNZW51SXRlbQorICoKKyAqIFRoZSAj
V2ViS2l0Q29udGV4dE1lbnUgaXMgY29tcG9zZWQgb2YgI1dlYktpdENvbnRleHRNZW51SXRlbTwh
LS0KKyAqIC0tPnMuIFRoZXNlIGl0ZW1zIGNhbiBiZSBjcmVhdGVkIGZyb20gYSAjR3RrQWN0aW9u
LCBmcm9tIGEKKyAqICNXZWJLaXRDb250ZXh0TWVudUFjdGlvbiBvciBmcm9tIGEgI1dlYktpdENv
bnRleHRNZW51QWN0aW9uIGFuZCBhCisgKiBsYWJlbC4gVGhlc2UgI1dlYktpdENvbnRleHRNZW51
QWN0aW9uPCEtLSAtLT5zIGRlbm90ZSBzdG9jayBhY3Rpb25zCisgKiBmb3IgdGhlIGl0ZW1zLiBZ
b3UgY2FuIGFsc28gY3JlYXRlIHNlcGFyYXRvcnMgYW5kIHN1Ym1lbnVzLgorICoKKyAqLworCiBz
dHJ1Y3QgX1dlYktpdENvbnRleHRNZW51SXRlbVByaXZhdGUgewogICAgIH5fV2ViS2l0Q29udGV4
dE1lbnVJdGVtUHJpdmF0ZSgpCiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9ndGsvV2ViS2l0Q29va2llTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRDb29raWVNYW5hZ2VyLmNwcAppbmRleCAyOWEzN2ViZDM0
NmQ4MzUyYzI4OTQwNmFlZTYyMjFkZDgxODA1MmE4Li4xZTI0ZDY3N2Q5YmZlOTZlMzk3MGI0YjIx
Mzg5NjFiNjRhODEwNzkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2d0ay9XZWJLaXRDb29raWVNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRDb29raWVNYW5hZ2VyLmNwcApAQCAtMjksNiArMjksMjIgQEAKIAog
dXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAorLyoqCisgKiBTRUNUSU9OOiBXZWJLaXRDb29raWVN
YW5hZ2VyCisgKiBAU2hvcnRfZGVzY3JpcHRpb246IERlZmluZXMgaG93IHRvIGhhbmRsZSBjb29r
aWVzIGluIGEgI1dlYktpdFdlYkNvbnRleHQKKyAqIEBUaXRsZTogV2ViS2l0Q29va2llTWFuYWdl
cgorICoKKyAqIFRoZSAjV2ViS2l0Q29va2llTWFuYWdlciBkZWZpbmVzIGhvdyB0byBoYW5kbGUg
Y29va2llcyBpbiBhCisgKiAjV2ViS2l0V2ViQ29udGV4dC4gR2V0IGl0IGZyb20gdGhlIGNvbnRl
eHQgd2l0aAorICogd2Via2l0X3dlYl9jb250ZXh0X2dldF9jb29raWVfbWFuYWdlcigpLCBhbmQg
dXNlIGl0IHRvIHNldCB3aGVyZSB0bworICogc3RvcmUgY29va2llcywgd2l0aCB3ZWJraXRfY29v
a2llX21hbmFnZXJfc2V0X3BlcnNpc3RlbnRfc3RvcmFnZSgpLAorICogdG8gZ2V0IHRoZSBsaXN0
IG9mIGRvbWFpbnMgd2l0aCBjb29raWVzLCB3aXRoCisgKiB3ZWJraXRfY29va2llX21hbmFnZXJf
Z2V0X2RvbWFpbnNfd2l0aF9jb29raWVzKCksIG9yIHRvIHNldCB0aGUKKyAqIGFjY2VwdGFuY2Ug
cG9saWN5LCB3aXRoIHdlYmtpdF9jb29raWVfbWFuYWdlcl9nZXRfYWNjZXB0X3BvbGljeSgpCisg
KiAoYW1vbmcgb3RoZXIgYWN0aW9ucykuCisgKgorICovCisKIGVudW0gewogICAgIENIQU5HRUQs
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdERv
d25sb2FkLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdERvd25s
b2FkLmNwcAppbmRleCAyNDVmMWE2MWJkZGMxNGE5MjZiNzYxNDMyMzMxMGU4YzU3MDI1Y2Y1Li5l
OGE0ZGM3YzZkZDM1YmI5M2FkMjFmNDY5NmI0ZTdiZDZkNzYxYTc4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXREb3dubG9hZC5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RG93bmxvYWQuY3BwCkBAIC0zNCw2
ICszNCwxOSBAQAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwogCisvKioKKyAqIFNFQ1RJT046IFdlYktpdERvd25sb2FkCisgKiBAU2hvcnRfZGVzY3Jp
cHRpb246IE9iamVjdCB1c2VkIHRvIGNvbW11bmljYXRlIHdpdGggdGhlIGFwcGxpY2F0aW9uIHdo
ZW4gZG93bmxvYWRpbmcKKyAqIEBUaXRsZTogV2ViS2l0RG93bmxvYWQKKyAqCisgKiAjV2ViS2l0
RG93bmxvYWQgY2FycmllcyBpbmZvcm1hdGlvbiBhYm91dCBhIGRvd25sb2FkIHJlcXVlc3QgYW5k
CisgKiByZXNwb25zZSwgaW5jbHVkaW5nIGEgI1dlYktpdFVSSVJlcXVlc3QgYW5kIGEgI1dlYktp
dFVSSVJlc3BvbnNlCisgKiBvYmplY3RzLiBUaGUgYXBwbGljYXRpb24gbWF5IHVzZSB0aGlzIG9i
amVjdCB0byBjb250cm9sIHRoZQorICogZG93bmxvYWQgcHJvY2Vzcywgb3IgdG8gc2ltcGx5IGZp
Z3VyZSBvdXQgd2hhdCBpcyB0byBiZSBkb3dubG9hZGVkLAorICogYW5kIGhhbmRsZSB0aGUgZG93
bmxvYWQgcHJvY2VzcyBpdHNlbGYuCisgKgorICovCisKIGVudW0gewogICAgIFJFQ0VJVkVEX0RB
VEEsCiAgICAgRklOSVNIRUQsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRFcnJvci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRFcnJvci5jcHAKaW5kZXggZGFmMDllY2MyYTFhYWY1Yzk3OTUzZWM5NTU0ZWRiYjA4
YzI1ODQ0NC4uZGM0OGIxYzAxMWFjMDdkM2Q5MTIwZmFmMmE2YWI0OThjMmE4YTBkMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0RXJyb3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdEVycm9yLmNwcApAQCAt
MjYsNiArMjYsMTUgQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKKy8qKgorICogU0VD
VElPTjogV2ViS2l0RXJyb3IKKyAqIEBTaG9ydF9kZXNjcmlwdGlvbjogQ2F0ZWdvcml6ZWQgV2Vi
S2l0IGVycm9ycworICogQFRpdGxlOiBXZWJLaXRFcnJvcgorICoKKyAqIENhdGVnb3JpemVkIFdl
YktpdCBlcnJvcnMuCisgKgorICovCisKIEdRdWFyayB3ZWJraXRfbmV0d29ya19lcnJvcl9xdWFy
aygpCiB7CiAgICAgcmV0dXJuIGdfcXVhcmtfZnJvbV9zdGF0aWNfc3RyaW5nKFdlYkNvcmU6OmVy
cm9yRG9tYWluTmV0d29yayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRGYXZpY29uRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0RmF2aWNvbkRhdGFiYXNlLmNwcAppbmRleCBkNTA1MzNiOTEwNWRk
MWQ0NzFhZTlkNjBiYWVlYTU3ZjlkZTg1MjkyLi45YmJhYzAwOGMwNmIxY2Q3MzRhYTQyYWEzN2Ji
MTVmM2E4NGMxODkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRGYXZpY29uRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdEZhdmljb25EYXRhYmFzZS5jcHAKQEAgLTM1LDYgKzM1LDI2IEBACiAK
IHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKKy8qKgorICogU0VDVElPTjogV2ViS2l0RmF2aWNv
bkRhdGFiYXNlCisgKiBAU2hvcnRfZGVzY3JpcHRpb246IEEgV2ViS2l0IGZhdmljb24gZGF0YWJh
c2UKKyAqIEBUaXRsZTogV2ViS2l0RmF2aWNvbkRhdGFiYXNlCisgKgorICogI1dlYktpdEZhdmlj
b25EYXRhYmFzZSBwcm92aWRlcyBhY2Nlc3MgdG8gdGhlIGljb25zIGFzc29jaWF0ZWQgd2l0aAor
ICogd2ViIHNpdGVzLgorICoKKyAqIFdlYktpdCB3aWxsIGF1dG9tYXRpY2FsbHkgbG9vayBmb3Ig
YXZhaWxhYmxlIGljb25zIGluICZsdDtsaW5rJmd0OworICogZWxlbWVudHMgb24gb3BlbmVkIHBh
Z2VzIGFzIHdlbGwgYXMgYW4gZXhpc3RpbmcgZmF2aWNvbi5pY28gYW5kCisgKiBsb2FkIHRoZSBp
bWFnZXMgZm91bmQgaW50byBhIG1lbW9yeSBjYWNoZSBpZiBwb3NzaWJsZS4gVGhhdCBjYWNoZQor
ICogaXMgZnJvemVuIHRvIGFuIG9uLWRpc2sgZGF0YWJhc2UgZm9yIHBlcnNpc3RlbmNlLgorICoK
KyAqIElmICNXZWJLaXRTZXR0aW5nczplbmFibGUtcHJpdmF0ZS1icm93c2luZyBpcyAlVFJVRSwg
bmV3IGljb25zCisgKiB3b24ndCBiZSBhZGRlZCB0byB0aGUgb24tZGlzayBkYXRhYmFzZSBhbmQg
bm8gZXhpc3RpbmcgaWNvbnMgd2lsbAorICogYmUgZGVsZXRlZCBmcm9tIGl0LiBOZXZlcnRoZWxl
c3MsIFdlYktpdCB3aWxsIHN0aWxsIHN0b3JlIHRoZW0gaW4KKyAqIHRoZSBpbi1tZW1vcnkgY2Fj
aGUgZHVyaW5nIHRoZSBjdXJyZW50IGV4ZWN1dGlvbi4KKyAqCisgKi8KKwogZW51bSB7CiAgICAg
RkFWSUNPTl9DSEFOR0VELAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRGaW5kQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRGaW5kQ29udHJvbGxlci5jcHAKaW5kZXggN2UzNmE0YWQ1YjQ3MTM1
OGYxZjYwNmMwNzBmM2ZlY2I0YjFjNTVhZi4uMzUxMzhjNjJkNmY1OGQ3ODM5MmFiZTJjN2VlZWY4
MmZhMDU3ODcwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0RmluZENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdEZpbmRDb250cm9sbGVyLmNwcApAQCAtMzAsNiArMzAsMjMgQEAKIHVzaW5n
IG5hbWVzcGFjZSBXZWJLaXQ7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAorLyoqCisgKiBT
RUNUSU9OOiBXZWJLaXRGaW5kQ29udHJvbGxlcgorICogQFNob3J0X2Rlc2NyaXB0aW9uOiBDb250
cm9scyB0ZXh0IHNlYXJjaCBpbiBhICNXZWJLaXRXZWJWaWV3CisgKiBAVGl0bGU6IFdlYktpdEZp
bmRDb250cm9sbGVyCisgKgorICogQSAjV2ViS2l0RmluZENvbnRyb2xsZXIgaXMgdXNlZCB0byBz
ZWFyY2ggdGV4dCBpbiBhICNXZWJLaXRXZWJWaWV3LiBZb3UKKyAqIGNhbiBnZXQgYSAjV2ViS2l0
V2ViVmlldzwhLS0gLS0+J3MgI1dlYktpdEZpbmRDb250cm9sbGVyIHdpdGgKKyAqIHdlYmtpdF93
ZWJfdmlld19nZXRfZmluZF9jb250cm9sbGVyKCksIGFuZCBsYXRlciB1c2UgaXQgdG8gc2VhcmNo
CisgKiBmb3IgdGV4dCB1c2luZyB3ZWJraXRfZmluZF9jb250cm9sbGVyX3NlYXJjaCgpLCBvciBn
ZXQgdGhlCisgKiBudW1iZXIgb2YgbWF0Y2hlcyB1c2luZyB3ZWJraXRfZmluZF9jb250cm9sbGVy
X2NvdW50X21hdGNoZXMoKS4gVGhlCisgKiBvcGVyYXRpb25zIGFyZSBhc3luY2hyb25vdXMgYW5k
IHRyaWdnZXIgc2lnbmFscyB3aGVuIHJlYWR5LCBzdWNoIGFzCisgKiAjV2ViS2l0RmluZENvbnRy
b2xsZXI6OmZvdW5kLXRleHQsCisgKiAjV2ViS2l0RmluZENvbnRyb2xsZXI6OmZhaWxlZC10by1m
aW5kLXRleHQgb3IKKyAqICNXZWJLaXRGaW5kQ29udHJvbGxlcjo6Y291bnRlZC1tYXRjaGVzPCEt
LSAtLT4uCisgKgorICovCisKIGVudW0gewogICAgIEZPVU5EX1RFWFQsCiAgICAgRkFJTEVEX1RP
X0ZJTkRfVEVYVCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3QuY3BwCmluZGV4IDgxNmNlZTNm
NmU4NzI2MGE2YzE3NjIzNmE5OWJiNzM0MmQ4ODdlZWIuLjkyZWU0NTg2YzFmOGJkMTBlNmJkNmU4
ZmUwNTA1NWIzZTk4YzE3ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0Rm9ybVN1Ym1pc3Npb25SZXF1ZXN0LmNwcApAQCAt
MjgsNiArMjgsMjEgQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAorLyoqCisgKiBTRUNU
SU9OOiBXZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3QKKyAqIEBTaG9ydF9kZXNjcmlwdGlvbjog
UmVwcmVzZW50cyBhIGZvcm0gc3VibWlzc2lvbiByZXF1ZXN0CisgKiBAVGl0bGU6IFdlYktpdEZv
cm1TdWJtaXNzaW9uUmVxdWVzdAorICoKKyAqIFdoZW4gYSBmb3JtIGlzIGFib3V0IHRvIGJlIHN1
Ym1pdHRlZCBpbiBhICNXZWJLaXRXZWJWaWV3LCB0aGUKKyAqICNXZWJLaXRXZWJWaWV3OjpzdWJt
aXQtZm9ybSBzaWduYWwgaXMgZW1pdHRlZC4gSXRzIHJlcXVlc3QgYXJndW1lbnQKKyAqIGNvbnRh
aW5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSB0ZXh0IGZpZWxkcyBvZiB0aGUgZm9ybSwgdGhhdCBh
cmUKKyAqIHR5cGljYWxseSB1c2VkIHRvIHN0b3JlIGxvZ2luIGluZm9ybWF0aW9uLCByZXR1cm5l
ZCBpbiBhCisgKiAjR0hhc2hUYWJsZSBieSB0aGUgd2Via2l0X2Zvcm1fc3VibWlzc2lvbl9yZXF1
ZXN0X2dldF90ZXh0X2ZpZWxkcygpCisgKiBtZXRob2QsIGFuZCB5b3UgY2FuIGZpbmFsbHkgc3Vi
bWl0IHRoZSBmb3JtIHdpdGgKKyAqIHdlYmtpdF9mb3JtX3N1Ym1pc3Npb25fcmVxdWVzdF9zdWJt
aXQoKS4KKyAqCisgKi8KKwogc3RydWN0IF9XZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3RQcml2
YXRlIHsKICAgICBSZWZQdHI8SW1tdXRhYmxlRGljdGlvbmFyeT4gd2ViVmFsdWVzOwogICAgIFJl
ZlB0cjxXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk+IGxpc3RlbmVyOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UGx1Z2luLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFBsdWdpbi5jcHAKaW5kZXggMGRk
MTEyMWNmNTMwOTQ5ZTQyY2RkZmY3ZmZjYThiOTBhODMzZDI4MC4uOTc3YWZhNDUwM2Q1ODg2NDBj
MGVkY2ZiZTc3NmNkNjA3YmMzN2UxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0UGx1Z2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRQbHVnaW4uY3BwCkBAIC0yNiw2ICsyNiwyMCBAQAogCiB1c2luZyBu
YW1lc3BhY2UgV2ViS2l0OwogCisvKioKKyAqIFNFQ1RJT046IFdlYktpdFBsdWdpbgorICogQFNo
b3J0X2Rlc2NyaXB0aW9uOiBSZXByZXNlbnRzIGEgcGx1Z2luLCBlbmFibGluZyBmaW5lLWdyYWlu
ZWQgY29udHJvbAorICogQFRpdGxlOiBXZWJLaXRQbHVnaW4KKyAqCisgKiBUaGlzIG9iamVjdCBy
ZXByZXNlbnRzIGEgc2luZ2xlIHBsdWdpbiwgZm91bmQgd2hpbGUgc2Nhbm5pbmcgdGhlCisgKiB2
YXJpb3VzIHBsYXRmb3JtIHBsdWdpbiBkaXJlY3Rvcmllcy4gVGhpcyBvYmplY3QgY2FuIGJlIHVz
ZWQgdG8gZ2V0CisgKiBtb3JlIGluZm9ybWF0aW9uIGFib3V0IGEgcGx1Z2luLCBhbmQgZW5hYmxl
L2Rpc2FibGUgaXQsIGFsbG93aW5nCisgKiBmaW5lLWdyYWluZWQgY29udHJvbCBvZiBwbHVnaW5z
LiBUaGUgbGlzdCBvZiBhdmFpbGFibGUgcGx1Z2lucyBjYW4KKyAqIGJlIG9idGFpbmVkIGZyb20g
dGhlICNXZWJLaXRXZWJDb250ZXh0LCB3aXRoCisgKiB3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3Bs
dWdpbnMoKS4KKyAqCisgKi8KKwogc3RydWN0IF9XZWJLaXRQbHVnaW5Qcml2YXRlIHsKICAgICB+
X1dlYktpdFBsdWdpblByaXZhdGUoKQogICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFByaW50T3BlcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFByaW50T3BlcmF0aW9uLmNwcAppbmRleCA2Yjcy
ZDE4OGQxZTQ1YzY2ZWJiNmQzZmFkOTU0MmM4YzQ0OGRhNDY0Li4wNjhhMjhjZGRjNWIwNGEwY2Yy
NTRlZGFlZjg0MzkxZGQ0OWY0NjYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL2d0ay9XZWJLaXRQcmludE9wZXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0UHJpbnRPcGVyYXRpb24uY3BwCkBAIC0zOCw2ICszOCwx
OCBAQAogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCisvKioKKyAqIFNFQ1RJT046IFdlYktp
dFByaW50T3BlcmF0aW9uCisgKiBAU2hvcnRfZGVzY3JpcHRpb246IENvbnRyb2xzIGEgcHJpbnQg
b3BlcmF0aW9uCisgKiBAVGl0bGU6IFdlYktpdFByaW50T3BlcmF0aW9uCisgKgorICogQSAjV2Vi
S2l0UHJpbnRPcGVyYXRpb24gY29udHJvbHMgYSBwcmludCBvcGVyYXRpb24gaW4gV2ViS2l0LiBX
aXRoCisgKiBhIHNpbWlsYXIgQVBJIHRvICNHdGtQcmludE9wZXJhdGlvbiwgaXQgbGV0cyB5b3Ug
c2V0IHRoZSBwcmludAorICogc2V0dGluZ3Mgd2l0aCB3ZWJraXRfcHJpbnRfb3BlcmF0aW9uX3Nl
dF9wcmludF9zZXR0aW5ncygpIG9yCisgKiBkaXNwbGF5IHRoZSBwcmludCBkaWFsb2cgd2l0aCB3
ZWJraXRfcHJpbnRfb3BlcmF0aW9uX3J1bl9kaWFsb2coKS4KKyAqCisgKi8KKwogZW51bSB7CiAg
ICAgUFJPUF8wLAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRTZWN1cml0eU1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0U2VjdXJpdHlNYW5hZ2VyLmNwcAppbmRleCBjZDg4MDM3NDk3ZjgwYjQ4MjI4
OGNhZDY0NmRhZDZjNDhlNThlYjg4Li5lOGMzNmQ3MmM2YzUzNGU5Y2IxNGVmZWNlMDJlZTQwYWFk
ZTk1N2Y4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRTZWN1cml0eU1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFNlY3VyaXR5TWFuYWdlci5jcHAKQEAgLTI3LDYgKzI3LDE5IEBACiAKIHVzaW5n
IG5hbWVzcGFjZSBXZWJLaXQ7CiAKKy8qKgorICogU0VDVElPTjogV2ViS2l0U2VjdXJpdHlNYW5h
Z2VyCisgKiBAU2hvcnRfZGVzY3JpcHRpb246IENvbnRyb2xzIHNlY3VyaXR5IHNldHRpbmdzIGlu
IGEgI1dlYktpdFdlYkNvbnRleHQKKyAqIEBUaXRsZTogV2ViS2l0U2VjdXJpdHlNYW5hZ2VyCisg
KgorICogVGhlICNXZWJLaXRTZWN1cml0eU1hbmFnZXIgZGVmaW5lcyBzZWN1cml0eSBzZXR0aW5n
cyBmb3IgVVJJCisgKiBzY2hlbWVzIGluIGEgI1dlYktpdFdlYkNvbnRleHQuIEdldCBpdCBmcm9t
IHRoZSBjb250ZXh0IHdpdGgKKyAqIHdlYmtpdF93ZWJfY29udGV4dF9nZXRfc2VjdXJpdHlfbWFu
YWdlcigpLCBhbmQgdXNlIGl0IHRvIHJlZ2lzdGVyIGEKKyAqIFVSSSBzY2hlbWUgd2l0aCBhIGNl
cnRhaW4gc2VjdXJpdHkgbGV2ZWwsIG9yIHRvIGNoZWNrIGlmIGl0IGFscmVhZHkKKyAqIGhhcyBp
dC4KKyAqCisgKi8KKwogdHlwZWRlZiBlbnVtIHsKICAgICBTZWN1cml0eVBvbGljeUxvY2FsLAog
ICAgIFNlY3VyaXR5UG9saWN5Tm9BY2Nlc3MsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVJlcXVlc3QuY3BwCmluZGV4IDE0N2QxN2UxYzFhNGRj
MjY5MzFmZWU3NTNiOWIyMTkzYmQyMGFlNjIuLjIxOWYzNGZmZmRjNDA4MDhlYjE4YmY4MTcyNTEz
NGY1YmVmZDE2NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L1dlYktpdFVSSVJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFVSSVJlcXVlc3QuY3BwCkBAIC0zMyw2ICszMywxNyBAQCBlbnVtIHsKIAogdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKKy8qKgorICogU0VDVElPTjogV2ViS2l0VVJJUmVxdWVz
dAorICogQFNob3J0X2Rlc2NyaXB0aW9uOiBSZXByZXNlbnRzIGEgVVJJIHJlcXVlc3QKKyAqIEBU
aXRsZTogV2ViS2l0VVJJUmVxdWVzdAorICoKKyAqIEEgI1dlYktpdFVSSVJlcXVlc3QgY2FuIGJl
IGNyZWF0ZWQgd2l0aCBhIFVSSSB1c2luZyB0aGUKKyAqIHdlYmtpdF91cmlfcmVxdWVzdF9uZXco
KSBtZXRob2QsIGFuZCB5b3UgY2FuIGdldCB0aGUgVVJJIG9mIGFuCisgKiBleGlzdGluZyByZXF1
ZXN0IHdpdGggdGhlIHdlYmtpdF91cmlfcmVxdWVzdF9nZXRfdXJpKCkgb25lLgorICoKKyAqLwor
CiBzdHJ1Y3QgX1dlYktpdFVSSVJlcXVlc3RQcml2YXRlIHsKICAgICBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QgcmVzb3VyY2VSZXF1ZXN0OwogICAgIENTdHJpbmcgdXJpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJUmVzcG9uc2UuY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJUmVzcG9uc2UuY3BwCmlu
ZGV4IDU3NmNlOTUzYWY3YWExMjE5MzFkZTY0OWUxYTMwOTg5YmEzYzQyZTQuLjRhMzU2ZjJmZjA2
NWUyOGVkODY1NDUyZmZmZTRiYjRmYzk5NzViZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFVSSVJlc3BvbnNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklSZXNwb25zZS5jcHAKQEAgLTMwLDYgKzMw
LDE3IEBACiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAKKy8qKgorICogU0VDVElPTjogV2ViS2l0VVJJUmVzcG9uc2UKKyAqIEBTaG9ydF9kZXNjcmlw
dGlvbjogUmVwcmVzZW50cyBhIFVSSSByZXNwb25zZQorICogQFRpdGxlOiBXZWJLaXRVUklSZXNw
b25zZQorICoKKyAqIEEgI1dlYktpdFVSSVJlc3BvbnNlIGNvbnRhaW5zIGluZm9ybWF0aW9uIHN1
Y2ggYXMgdGhlIFVSSSwgdGhlCisgKiBzdGF0dXMgY29kZSwgdGhlIGNvbnRlbnQgbGVuZ3RoLCB0
aGUgbWltZSB0eXBlLCB0aGUgSFRUUCBzdGF0dXMgb3IKKyAqIHRoZSBzdWdnZXN0ZWQgZmlsZW5h
bWUuCisgKgorICovCisKIGVudW0gewogICAgIFBST1BfMCwKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNw
cAppbmRleCBmNjU3ODlmY2VkZDg1NjYxYTYwYjg0YTkzZDU4MWI4MjVlOTJlYzEyLi5lMDljZTRj
OTJhNGJmYmU1YTVkNGM1NDZkNzVhNzAxZWNmNjUyYjhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0LmNw
cApAQCAtMzMsNiArMzMsMjIgQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAorLyoqCisg
KiBTRUNUSU9OOiBXZWJLaXRVUklTY2hlbWVSZXF1ZXN0CisgKiBAU2hvcnRfZGVzY3JpcHRpb246
IFJlcHJlc2VudHMgYSBVUkkgc2NoZW1lIHJlcXVlc3QKKyAqIEBUaXRsZTogV2ViS2l0VVJJU2No
ZW1lUmVxdWVzdAorICoKKyAqIElmIHlvdSByZWdpc3RlciBhIHBhcnRpY3VsYXIgVVJJIHNjaGVt
ZSBpbiBhICNXZWJLaXRXZWJDb250ZXh0LAorICogdXNpbmcgd2Via2l0X3dlYl9jb250ZXh0X3Jl
Z2lzdGVyX3VyaV9zY2hlbWUoKSwgeW91IGhhdmUgdG8gcHJvdmlkZQorICogYSAjV2ViS2l0VVJJ
U2NoZW1lUmVxdWVzdENhbGxiYWNrLiBBZnRlciB0aGF0LCB3aGVuIGEgVVJJIHJlcXVlc3QKKyAq
IGlzIG1hZGUgd2l0aCB0aGF0IHBhcnRpY3VsYXIgc2NoZW1lLCB5b3VyIGNhbGxiYWNrIHdpbGwg
YmUKKyAqIGNhbGxlZC4gVGhlcmUgeW91IHdpbGwgYmUgYWJsZSB0byBhY2Nlc3MgcHJvcGVydGll
cyBzdWNoIGFzIHRoZQorICogc2NoZW1lLCB0aGUgVVJJIGFuZCBwYXRoLCBhbmQgdGhlICNXZWJL
aXRXZWJWaWV3IHRoYXQgaW5pdGlhdGVkIHRoZQorICogcmVxdWVzdCwgYW5kIGFsc28gZmluaXNo
IHRoZSByZXF1ZXN0IHdpdGgKKyAqIHdlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZmluaXNoKCku
CisgKgorICovCisKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgZ1JlYWRCdWZmZXJTaXplID0g
ODE5MjsKIAogc3RydWN0IF9XZWJLaXRVUklTY2hlbWVSZXF1ZXN0UHJpdmF0ZSB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRWZXJzaW9uLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFZlcnNpb24uY3BwCmluZGV4
IDRlZjYyZTM3MjJhZGY2YTU4ZjhjZjZlN2E4ODJiZDU3N2QzNzAwMGMuLjU0ZGFjYzRmNzBhZTM4
OTMwZDY0NDZkMjA1NjhiODBkZmZkZjQ1ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFZlcnNpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFZlcnNpb24uY3BwCkBAIC0yMSw2ICsyMSwyMCBAQAogI2lu
Y2x1ZGUgIldlYktpdFZlcnNpb24uaCIKIAogLyoqCisgKiBTRUNUSU9OOiBXZWJLaXRWZXJzaW9u
CisgKiBAU2hvcnRfZGVzY3JpcHRpb246IFByb3ZpZGVzIHRoZSBXZWJLaXQgdmVyc2lvbgorICog
QFRpdGxlOiBXZWJLaXRWZXJzaW9uCisgKgorICogUHJvdmlkZXMgY29udmVuaWVuY2UgZnVuY3Rp
b25zIHJldHVybmluZyBXZWJLaXQncyBtYWpvciwgbWlub3IgYW5kCisgKiBtaWNybyB2ZXJzaW9u
cyBvZiB0aGUgV2ViS2l0IGxpYnJhcnkgeW91ciBjb2RlIGlzIHJ1bm5pbmcKKyAqIGFnYWluc3Qu
IFRoaXMgaXMgbm90IG5lY2Vzc2FyaWx5IHRoZSBzYW1lIGFzIHRoZQorICogI1dFQktJVF9NQUpP
Ul9WRVJTSU9OLCAjV0VCS0lUX01JTk9SX1ZFUlNJT04gb3IKKyAqICNXRUJLSVRfTUlDUk9fVkVS
U0lPTiwgd2hpY2ggcmVwcmVzZW50IHRoZSB2ZXJzaW9uIG9mIHRoZSBXZWJLaXQKKyAqIGhlYWRl
cnMgaW5jbHVkZWQgd2hlbiBjb21waWxpbmcgdGhlIGNvZGUuCisgKgorICovCisKKy8qKgogICog
d2Via2l0X2dldF9tYWpvcl92ZXJzaW9uOgogICoKICAqIFJldHVybnMgdGhlIG1ham9yIHZlcnNp
b24gbnVtYmVyIG9mIHRoZSBXZWJLaXQgbGlicmFyeS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkNvbnRleHQuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViQ29udGV4dC5jcHAKaW5kZXggM2RiY2ZlODhm
ODZjMWJiNDQ5ZDM4MzJhMTNkMjIxMjBlMmQzNzU2ZS4uOGUxZWQzMjFhNWFjZmQyMGQ2Yzc2ZDY5
ZmI5ZDMzODlmMTRhZjc3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViQ29udGV4dC5jcHAKQEAgLTQ2LDYgKzQ2LDMyIEBACiAKIHVzaW5n
IG5hbWVzcGFjZSBXZWJLaXQ7CiAKKy8qKgorICogU0VDVElPTjogV2ViS2l0V2ViQ29udGV4dAor
ICogQFNob3J0X2Rlc2NyaXB0aW9uOiBNYW5hZ2VzIGFzcGVjdHMgY29tbW9uIHRvIGFsbCAjV2Vi
S2l0V2ViVmlldzwhLS0gLS0+cworICogQFRpdGxlOiBXZWJLaXRXZWJDb250ZXh0CisgKgorICog
VGhlICNXZWJLaXRXZWJDb250ZXh0IG1hbmFnZXMgYWxsIGFzcGVjdHMgY29tbW9uIHRvIGFsbAor
ICogI1dlYktpdFdlYlZpZXc8IS0tIC0tPnMuCisgKgorICogWW91IGNhbiBkZWZpbmUgdGhlICNX
ZWJLaXRDYWNoZU1vZGVsIHdpdGgKKyAqIHdlYmtpdF93ZWJfY29udGV4dF9zZXRfY2FjaGVfbW9k
ZWwoKSwgZGVwZW5kaW5nIG9uIHRoZSBuZWVkcyBvZgorICogeW91ciBhcHBsaWNhdGlvbi4gWW91
IGNhbiBhY2Nlc3MgdGhlICNXZWJLaXRDb29raWVNYW5hZ2VyIG9yIHRoZQorICogI1dlYktpdFNl
Y3VyaXR5TWFuYWdlciB0byBzcGVjaWZ5IHRoZSBiZWhhdmlvdXIgb2YgeW91ciBhcHBsaWNhdGlv
bgorICogcmVnYXJkaW5nIGNvb2tpZXMgYW5kIHNlY3VyaXR5LCB1c2luZworICogd2Via2l0X3dl
Yl9jb250ZXh0X2dldF9jb29raWVfbWFuYWdlcigpIGFuZAorICogd2Via2l0X3dlYl9jb250ZXh0
X2dldF9zZWN1cml0eV9tYW5hZ2VyKCkgZm9yIHRoYXQuCisgKgorICogSXQgaXMgYWxzbyBwb3Nz
aWJsZSB0byBjaGFuZ2UgeW91ciBwcmVmZXJyZWQgbGFuZ3VhZ2Ugb3IgZW5hYmxlCisgKiBzcGVs
bCBjaGVja2luZywgdXNpbmcgd2Via2l0X3dlYl9jb250ZXh0X3NldF9wcmVmZXJyZWRfbGFuZ3Vh
Z2VzKCksCisgKiB3ZWJraXRfd2ViX2NvbnRleHRfc2V0X3NwZWxsX2NoZWNraW5nX2xhbmd1YWdl
cygpIGFuZAorICogd2Via2l0X3dlYl9jb250ZXh0X3NldF9zcGVsbF9jaGVja2luZ19lbmFibGVk
KCkuCisgKgorICogWW91IGNhbiB1c2Ugd2Via2l0X3dlYl9jb250ZXh0X3JlZ2lzdGVyX3VyaV9z
Y2hlbWUoKSB0byByZWdpc3RlcgorICogY3VzdG9tIFVSSSBzY2hlbWVzLCBhbmQgbWFuYWdlIHNl
dmVyYWwgb3RoZXIgc2V0dGluZ3MuCisgKgorICovCisKIGVudW0gewogICAgIERPV05MT0FEX1NU
QVJURUQsCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dl
YktpdFdlYkluc3BlY3Rvci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRXZWJJbnNwZWN0b3IuY3BwCmluZGV4IDM3OGExZjRjMGY5MDE1YjM3NWNmNTUwYTFhYjNl
NTg4NzFkMmZlNWYuLjM4MzlhZDNlMjNlZmY1NDY1NmQxZDE5MjczNWUyY2VkY2VlZGYwNWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkluc3Bl
Y3Rvci5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vi
SW5zcGVjdG9yLmNwcApAQCAtMjksNiArMjksMzUgQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYktp
dDsKIAorLyoqCisgKiBTRUNUSU9OOiBXZWJLaXRXZWJJbnNwZWN0b3IKKyAqIEBTaG9ydF9kZXNj
cmlwdGlvbjogQWNjZXNzIHRvIHRoZSBXZWJLaXQgaW5zcGVjdG9yCisgKiBAVGl0bGU6IFdlYktp
dFdlYkluc3BlY3RvcgorICoKKyAqIFRoZSBXZWJLaXQgSW5zcGVjdG9yIGlzIGEgZ3JhcGhpY2Fs
IHRvb2wgdG8gaW5zcGVjdCBhbmQgY2hhbmdlIHRoZQorICogY29udGVudCBvZiBhICNXZWJLaXRX
ZWJWaWV3LiBJdCBhbHNvIGluY2x1ZGVzIGFuIGludGVyYWN0aXZlCisgKiBKYXZhU2NyaXB0IGRl
YnVnZ2VyLiBVc2luZyB0aGlzIGNsYXNzIG9uZSBjYW4gZ2V0IGEgI0d0a1dpZGdldAorICogd2hp
Y2ggY2FuIGJlIGVtYmVkZGVkIGludG8gYW4gYXBwbGljYXRpb24gdG8gc2hvdyB0aGUgaW5zcGVj
dG9yLgorICoKKyAqIFRoZSBpbnNwZWN0b3IgaXMgYXZhaWxhYmxlIHdoZW4gdGhlICNXZWJLaXRT
ZXR0aW5ncyBvZiB0aGUKKyAqICNXZWJLaXRXZWJWaWV3IGhhcyBzZXQgdGhlICNXZWJLaXRTZXR0
aW5nczplbmFibGUtZGV2ZWxvcGVyLWV4dHJhcworICogdG8gdHJ1ZSwgb3RoZXJ3aXNlIG5vIGlu
c3BlY3RvciBpcyBhdmFpbGFibGUuCisgKgorICogPGluZm9ybWFsZXhhbXBsZT48cHJvZ3JhbWxp
c3Rpbmc+CisgKiAvPCEtLSAtLT4qIEVuYWJsZSB0aGUgZGV2ZWxvcGVyIGV4dHJhcyAqPCEtLSAt
LT4vCisgKiBXZWJLaXRTZXR0aW5ncyAqc2V0dGluZyA9IHdlYmtpdF93ZWJfdmlld19nZXRfc2V0
dGluZ3MgKFdFQktJVF9XRUJfVklFVyhteV93ZWJ2aWV3KSk7CisgKiBnX29iamVjdF9zZXQgKEdf
T0JKRUNUKHNldHRpbmdzKSwgImVuYWJsZS1kZXZlbG9wZXItZXh0cmFzIiwgVFJVRSwgTlVMTCk7
CisgKgorICogLzwhLS0gLS0+KiBMb2FkIHNvbWUgZGF0YSBvciByZWxvYWQgdG8gYmUgYWJsZSB0
byBpbnNwZWN0IHRoZSBwYWdlKjwhLS0gLS0+LworICogd2Via2l0X3dlYl9sb2FkX3VyaSAoV0VC
S0lUX1dFQl9WSUVXKG15X3dlYnZpZXcpLCAiaHR0cDovL3d3dy5nbm9tZS5vcmciKTsKKyAqCisg
KiAvPCEtLSAtLT4qIFNob3cgdGhlIGluc3BlY3RvciAqPCEtLSAtLT4vCisgKiBXZWJLaXRXZWJJ
bnNwZWN0b3IgKmluc3BlY3RvciA9IHdlYmtpdF93ZWJfdmlld19nZXRfaW5zcGVjdG9yIChXRUJL
SVRfV0VCX1ZJRVcobXlfd2VidmlldykpOworICogd2Via2l0X3dlYl9pbnNwZWN0b3Jfc2hvdyAo
V0VCS0lUX1dFQl9JTlNQRUNUT1IoaW5zcGVjdG9yKSk7CisgKiA8L3Byb2dyYW1saXN0aW5nPjwv
aW5mb3JtYWxleGFtcGxlPgorICoKKyAqLworCiBlbnVtIHsKICAgICBPUEVOX1dJTkRPVywKICAg
ICBCUklOR19UT19GUk9OVCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYlJlc291cmNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYlJlc291cmNlLmNwcAppbmRleCA3YTU0MGQzNTM4ZjY1N2NkZTRhNWUy
MzM2YTA0ZGRlOGFiNWMyMDZmLi44MjNkNTQwMWM4MWExMTY3YzI3YWZiYzU1OWM4M2YxM2Q5MDcw
YjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJSZXNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0V2ViUmVzb3VyY2UuY3BwCkBAIC0zMSw2ICszMSwyMyBAQAogCiB1c2luZyBuYW1lc3BhY2Ug
V2ViS2l0OwogCisvKioKKyAqIFNFQ1RJT046IFdlYktpdFdlYlJlc291cmNlCisgKiBAU2hvcnRf
ZGVzY3JpcHRpb246IFJlcHJlc2VudHMgYSByZXNvdXJjZSBhdCB0aGUgZW5kIG9mIGEgVVJJCisg
KiBAVGl0bGU6IFdlYktpdFdlYlJlc291cmNlCisgKgorICogQSAjV2ViS2l0V2ViUmVzb3VyY2Ug
ZW5jYXBzdWxhdGVzIGNvbnRlbnQgZm9yIGVhY2ggcmVzb3VyY2UgYXQgdGhlCisgKiBlbmQgb2Yg
YSBwYXJ0aWN1bGFyIFVSSS4gRm9yIGV4YW1wbGUsIG9uZSAjV2ViS2l0V2ViUmVzb3VyY2Ugd2ls
bAorICogYmUgY3JlYXRlZCBmb3IgZWFjaCBzZXBhcmF0ZSBpbWFnZSBhbmQgc3R5bGVzaGVldCB3
aGVuIGEgcGFnZSBpcworICogbG9hZGVkLgorICoKKyAqIFlvdSBjYW4gYWNjZXNzIHRoZSByZXNw
b25zZSBhbmQgdGhlIFVSSSBmb3IgYSBnaXZlbgorICogI1dlYktpdFdlYlJlc291cmNlLCB1c2lu
ZyB3ZWJraXRfd2ViX3Jlc291cmNlX2dldF91cmkoKSBhbmQKKyAqIHdlYmtpdF93ZWJfcmVzb3Vy
Y2VfZ2V0X3Jlc3BvbnNlKCksIGFzIHdlbGwgYXMgdGhlIHJhdyBkYXRhLCB1c2luZworICogd2Vi
a2l0X3dlYl9yZXNvdXJjZV9nZXRfZGF0YSgpLgorICoKKyAqLworCiBlbnVtIHsKICAgICBTRU5U
X1JFUVVFU1QsCiAgICAgUkVDRUlWRURfREFUQSwKQEAgLTkwLDcgKzEwNyw3IEBAIHN0YXRpYyB2
b2lkIHdlYmtpdF93ZWJfcmVzb3VyY2VfY2xhc3NfaW5pdChXZWJLaXRXZWJSZXNvdXJjZUNsYXNz
KiByZXNvdXJjZUNsYXNzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQUk9Q
X1VSSSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdfcGFyYW1fc3BlY19z
dHJpbmcoInVyaSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIF8oIlVSSSIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBfKCJUaGUgY3VycmVudCBhY3RpdmUgVVJJIG9mIHRoZSBy
ZXN1bHQiKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXygiVGhlIGN1cnJlbnQgYWN0aXZlIFVSSSBvZiB0aGUgcmVzb3VyY2UiKSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
V0VCS0lUX1BBUkFNX1JFQURBQkxFKSk7CiAKQEAgLTIzOCw3ICsyNTUsNyBAQCBXZWJGcmFtZVBy
b3h5KiB3ZWJraXRXZWJSZXNvdXJjZUdldEZyYW1lKFdlYktpdFdlYlJlc291cmNlKiByZXNvdXJj
ZSkKICAqIHdlYmtpdF93ZWJfcmVzb3VyY2VfZ2V0X3VyaToKICAqIEByZXNvdXJjZTogYSAjV2Vi
S2l0V2ViUmVzb3VyY2UKICAqCi0gKiBSZXR1cm5zIHRoZSBjdXJyZW50IGFjdGl2ZSBVUkkgb2Yg
QHdlYl92aWV3LiBUaGUgYWN0aXZlIFVSSSBtaWdodCBjaGFuZ2UgZHVyaW5nCisgKiBSZXR1cm5z
IHRoZSBjdXJyZW50IGFjdGl2ZSBVUkkgb2YgQHJlc291cmNlLiBUaGUgYWN0aXZlIFVSSSBtaWdo
dCBjaGFuZ2UgZHVyaW5nCiAgKiBhIGxvYWQgb3BlcmF0aW9uOgogICoKICAqIDxvcmRlcmVkbGlz
dD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdl
YlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmll
dy5jcHAKaW5kZXggZmIwYzVlZDlhYjljYTNmOGViZmI5MzE4YWQwYjczZDIzZDczNjk4Mi4uY2Vl
NjAyODhkMzQ1MGU1OGFkN2YzZmJiNjJiNWU2MzVkMmEzODg1YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKQEAgLTY3LDYgKzY3
LDIxIEBACiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7
CiAKKy8qKgorICogU0VDVElPTjogV2ViS2l0V2ViVmlldworICogQFNob3J0X2Rlc2NyaXB0aW9u
OiBUaGUgY2VudHJhbCBjbGFzcyBvZiB0aGUgV2ViS2l0MkdUSysgQVBJCisgKiBAVGl0bGU6IFdl
YktpdFdlYlZpZXcKKyAqCisgKiAjV2ViS2l0V2ViVmlldyBpcyB0aGUgY2VudHJhbCBjbGFzcyBv
ZiB0aGUgV2ViS2l0MkdUSysgQVBJLiBJdCBpcworICogcmVzcG9uc2libGUgZm9yIG1hbmFnaW5n
IHRoZSBkcmF3aW5nIG9mIHRoZSBjb250ZW50IGFuZCBmb3J3YXJkaW5nCisgKiBvZiBldmVudHMu
IFlvdSBjYW4gbG9hZCBhbnkgVVJJIGludG8gdGhlICNXZWJLaXRXZWJWaWV3IG9yIGEgZGF0YQor
ICogc3RyaW5nLiBXaXRoICNXZWJLaXRTZXR0aW5ncyB5b3UgY2FuIGNvbnRyb2wgdmFyaW91cyBh
c3BlY3RzIG9mIHRoZQorICogcmVuZGVyaW5nIGFuZCBsb2FkaW5nIG9mIHRoZSBjb250ZW50Lgor
ICoKKyAqIE5vdGUgdGhhdCAjV2ViS2l0V2ViVmlldyBpcyBzY3JvbGxhYmxlIGJ5IGl0c2VsZiwg
c28geW91IGRvbid0IG5lZWQKKyAqIHRvIGVtYmVkIGl0IGluIGEgI0d0a1Njcm9sbGVkV2luZG93
LgorICovCisKIGVudW0gewogICAgIExPQURfQ0hBTkdFRCwKICAgICBMT0FEX0ZBSUxFRCwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0
ay1kb2NzLnNnbWwgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtp
dDJndGstZG9jcy5zZ21sCmluZGV4IDg2MjNhZjMzZWIyZWVlYjY1NmJmOTYxN2FjNTUxYjJhNjli
ZDIwM2IuLjZlOTcyODQ2N2E3NGMzZGFmNWRhNmRjYjBmYWY3OGE0YTg5N2ZjOTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay1kb2Nz
LnNnbWwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQy
Z3RrLWRvY3Muc2dtbApAQCAtMTMsNyArMTMsNiBAQAogICAgIDx0aXRsZT5DbGFzcyBPdmVydmll
dzwvdGl0bGU+CiAgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdlYkNvbnRleHQueG1s
Ii8+CiAgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdlYlZpZXcueG1sIi8+Ci0gICAg
PHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdlYlZpZXdCYXNlLnhtbCIvPgogICAgIDx4aTpp
bmNsdWRlIGhyZWY9InhtbC9XZWJLaXRCYWNrRm9yd2FyZExpc3QueG1sIi8+CiAgICAgPHhpOmlu
Y2x1ZGUgaHJlZj0ieG1sL1dlYktpdEJhY2tGb3J3YXJkTGlzdEl0ZW0ueG1sIi8+CiAgICAgPHhp
OmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFNldHRpbmdzLnhtbCIvPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>