<?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>31832</bug_id>
          
          <creation_ts>2009-11-24 07:31:10 -0800</creation_ts>
          <short_desc>[Chromium] Inspector does not show resources loaded by plugins</short_desc>
          <delta_ts>2009-11-28 00:55:22 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>eric</cc>
    
    <cc>pfeldman</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>166065</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-11-24 07:31:10 -0800</bug_when>
    <thetext>What steps will reproduce the problem?
1. Open a page with flash e.g. yourube.com
2. Right-click anywhere and select &quot;Inspect element&quot;.
3. Go to resources in the Inspector window.
4. Reload the URL in the same tab.

What is the expected result?
Show lots of files, including SWFs.

What happens instead?
Only the scripts are shown and an image (beside the HTML).
No SWFs nor their resources.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166092</commentid>
    <comment_count>1</comment_count>
      <attachid>43770</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-11-24 08:02:17 -0800</bug_when>
    <thetext>Created attachment 43770
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166099</commentid>
    <comment_count>2</comment_count>
      <attachid>43770</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-11-24 08:18:02 -0800</bug_when>
    <thetext>Comment on attachment 43770
patch

&gt; -void InspectorController::didFinishLoading(DocumentLoader*, unsigned long identifier)
&gt; +void InspectorController::didFinishLoading(unsigned long identifier)

This does not seem to be used. Should we call into it from ResourceLoadNotifier::didFailToLoad?


&gt; +    // Update load time.
&gt; +    m_endTime = currentTime();
&gt; +    m_changes.set(TimingChange);

Could you comment on why it is needed?

There are clearly two orthogonal changes in this patch: one for WebCore, one for WebKit/chromium. Could you split them?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166108</commentid>
    <comment_count>3</comment_count>
      <attachid>43775</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-11-24 08:55:26 -0800</bug_when>
    <thetext>Created attachment 43775
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166109</commentid>
    <comment_count>4</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-11-24 08:56:34 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 43770 [details])
&gt; &gt; -void InspectorController::didFinishLoading(DocumentLoader*, unsigned long identifier)
&gt; &gt; +void InspectorController::didFinishLoading(unsigned long identifier)
&gt; 
&gt; This does not seem to be used. Should we call into it from
&gt; ResourceLoadNotifier::didFailToLoad?
&gt;
Done.
 
&gt; 
&gt; &gt; +    // Update load time.
&gt; &gt; +    m_endTime = currentTime();
&gt; &gt; +    m_changes.set(TimingChange);
&gt; 
&gt; Could you comment on why it is needed?
&gt;
Extended the comment.
 
&gt; There are clearly two orthogonal changes in this patch: one for WebCore, one
&gt; for WebKit/chromium. Could you split them?
Chromium side of the fix depends on both of the changes so I&apos;d prefer to submit them together.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166145</commentid>
    <comment_count>5</comment_count>
      <attachid>43775</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-24 10:20:33 -0800</bug_when>
    <thetext>Comment on attachment 43775
patch

Style violations:
 int WebFrameImpl::createUniqueIdentifierForRequest() {
 847   return m_frame-&gt;page()-&gt;progress()-&gt;createUniqueIdentifier();
 848 }

Please run check-webkit-style on your patch.

I&apos;m not sure why we have &quot;unsigned long&quot; how is that different from just &quot;unsigned&quot;, I thought that to be 64 bit one needed &quot;long long&quot; and that &quot;long&quot; was 32 bit, but maybe I&apos;m remembering wrong.

Why is loader unused?  Why was it added in the first place?

Can we test this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166146</commentid>
    <comment_count>6</comment_count>
      <attachid>43775</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-11-24 10:20:39 -0800</bug_when>
    <thetext>Comment on attachment 43775
patch

&gt; +++ b/WebKit/chromium/public/WebDevToolsAgent.h
...
&gt; +    virtual void identifierForInitialRequestForPlugin(int resourceId, const WebURLRequest&amp; request) = 0;
&gt; +    virtual void willSendRequestForPlugin(int resourceId, const WebURLRequest&amp;) = 0;
&gt; +    virtual void didReceiveDataForPlugin(int resourceId, int length) = 0;
&gt; +    virtual void didReceiveResponseForPlugin(int resourceId, const WebURLResponse&amp; response) = 0;
&gt; +    virtual void didFinishLoadingForPlugin(int resourceId) = 0;
&gt; +    virtual void didFailLoadingForPlugin(int resourceId, const WebURLError&amp; error) = 0;

nit: in webkit style, you should exclude names for parameters if the name
doesn&apos;t add any information.  So, drop &quot;request&quot;, &quot;response&quot;, and &quot;error&quot;
above.


&gt; +++ b/WebKit/chromium/public/WebFrame.h
...
&gt; +    // Returns next unused request identifier which is unique within the
&gt; +    // parent Page.
&gt; +    virtual int createUniqueIdentifierForRequest() = 0;

This should be a method on WebView, not WebFrame.  WebView corresponds
to Page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166410</commentid>
    <comment_count>7</comment_count>
      <attachid>43838</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-11-25 05:55:08 -0800</bug_when>
    <thetext>Created attachment 43838
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166412</commentid>
    <comment_count>8</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-11-25 06:18:19 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; nit: in webkit style, you should exclude names for parameters if the name
&gt; doesn&apos;t add any information.  So, drop &quot;request&quot;, &quot;response&quot;, and &quot;error&quot;
&gt; above.
&gt;
Done.
  
&gt; &gt; +++ b/WebKit/chromium/public/WebFrame.h
&gt; 
&gt; This should be a method on WebView, not WebFrame.  WebView corresponds
&gt; to Page.
Done. Thanks.


(In reply to comment #5)
&gt; (From update of attachment 43775 [details])
&gt; Style violations:
&gt;  int WebFrameImpl::createUniqueIdentifierForRequest() {
&gt;  847   return m_frame-&gt;page()-&gt;progress()-&gt;createUniqueIdentifier();
&gt;  848 }
&gt; 
&gt; Please run check-webkit-style on your patch.
&gt;
Fixed.


&gt; I&apos;m not sure why we have &quot;unsigned long&quot; how is that different from just
&gt; &quot;unsigned&quot;, I thought that to be 64 bit one needed &quot;long long&quot; and that &quot;long&quot;
&gt; was 32 bit, but maybe I&apos;m remembering wrong.
&gt; 
I don&apos;t know why exactly the identifier type was a while ago changed from void* to unsigned long and not to unsigned int but currently WebCore code uses unsigned long for resource ids. On my 64 bit machine sizeof(int)==4 and sizeof(unsigned long) == 8 so there is a difference.


&gt; Why is loader unused?  Why was it added in the first place?
&gt; 
I guess it might have been added for consistency with InspectorController::willSendRequest and InspectorController::identifierForInitialRequest but the parameter has never been used in the methods I&apos;m removing it from.


&gt; Can we test this?
I&apos;d like to test the failure notification but I don&apos;t quite understand how to test this in layout tests. Apart from that there is no new functionality.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166414</commentid>
    <comment_count>9</comment_count>
      <attachid>43838</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-11-25 06:31:52 -0800</bug_when>
    <thetext>Comment on attachment 43838
patch

It is not clear why WebDevToolsAgent has int for resourceID whereas everything else uses unsigned long. (r- for this).
Also note that this can&apos;t be landed until implementation of the agent is landed downstream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166459</commentid>
    <comment_count>10</comment_count>
      <attachid>43850</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-11-25 08:15:16 -0800</bug_when>
    <thetext>Created attachment 43850
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166463</commentid>
    <comment_count>11</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-11-25 08:18:07 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 43838 [details])
&gt; It is not clear why WebDevToolsAgent has int for resourceID whereas everything
&gt; else uses unsigned long. (r- for this).
Done.

&gt; Also note that this can&apos;t be landed until implementation of the agent is landed
&gt; downstream.
I&apos;ll send you Chromium part of the fix for review in a minute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166473</commentid>
    <comment_count>12</comment_count>
      <attachid>43850</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-11-25 08:41:35 -0800</bug_when>
    <thetext>Comment on attachment 43850
patch

I think you want to land it manually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166501</commentid>
    <comment_count>13</comment_count>
      <attachid>43857</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-11-25 10:11:33 -0800</bug_when>
    <thetext>Created attachment 43857
patch

Removed *ForPlugin suffix from WebDevToolsAgent methods as we agreed offline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166726</commentid>
    <comment_count>14</comment_count>
      <attachid>43922</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-11-26 07:22:34 -0800</bug_when>
    <thetext>Created attachment 43922
patch

Removed DocumentLoader* parameter from willSendRequest since it&apos;s not needed there.

Pass WebFrame* as a parameter to WebDevToolsAgent::indentifierForInitialRequest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166727</commentid>
    <comment_count>15</comment_count>
      <attachid>43923</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-11-26 07:29:15 -0800</bug_when>
    <thetext>Created attachment 43923
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166780</commentid>
    <comment_count>16</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-11-26 13:00:46 -0800</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/inspector/InspectorController.cpp
	M	WebCore/inspector/InspectorController.h
	M	WebCore/inspector/InspectorResource.cpp
	M	WebCore/loader/ResourceLoadNotifier.cpp
	M	WebKit/chromium/ChangeLog
	M	WebKit/chromium/public/WebDevToolsAgent.h
	M	WebKit/chromium/public/WebView.h
	M	WebKit/chromium/src/WebViewImpl.cpp
	M	WebKit/chromium/src/WebViewImpl.h
Committed r51421</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166871</commentid>
    <comment_count>17</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-11-27 04:46:02 -0800</bug_when>
    <thetext>It was reverted in r51422 due to Snow Leopard build failures.

(In reply to comment #16)
&gt; Committing to http://svn.webkit.org/repository/webkit/trunk ...
&gt;     M    WebCore/ChangeLog
&gt;     M    WebCore/inspector/InspectorController.cpp
&gt;     M    WebCore/inspector/InspectorController.h
&gt;     M    WebCore/inspector/InspectorResource.cpp
&gt;     M    WebCore/loader/ResourceLoadNotifier.cpp
&gt;     M    WebKit/chromium/ChangeLog
&gt;     M    WebKit/chromium/public/WebDevToolsAgent.h
&gt;     M    WebKit/chromium/public/WebView.h
&gt;     M    WebKit/chromium/src/WebViewImpl.cpp
&gt;     M    WebKit/chromium/src/WebViewImpl.h
&gt; Committed r51421</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166876</commentid>
    <comment_count>18</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-11-27 05:07:33 -0800</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/inspector/InspectorController.cpp
	M	WebCore/inspector/InspectorController.h
	M	WebCore/inspector/InspectorResource.cpp
	M	WebCore/loader/ResourceLoadNotifier.cpp
	M	WebKit/chromium/ChangeLog
	M	WebKit/chromium/public/WebDevToolsAgent.h
	M	WebKit/chromium/public/WebView.h
	M	WebKit/chromium/src/WebViewImpl.cpp
	M	WebKit/chromium/src/WebViewImpl.h
Committed r51440</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43770</attachid>
            <date>2009-11-24 08:02:17 -0800</date>
            <delta_ts>2009-11-24 08:55:26 -0800</delta_ts>
            <desc>patch</desc>
            <filename>inspect-plugin-resources.patch</filename>
            <type>text/plain</type>
            <size>11706</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODhkNDdjYi4uYWEwYjgwNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAwOS0xMS0yNCAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgV2ViQ29yZSBwYXJ0IG9mIHRoZSBmaXggdGhh
dCBhbGxvd3MgdG8gdmlldyBwbHVnaW4KKyAgICAgICAgcmVzb3VyY2VzIGxvYWRlZCBieSBwbHVn
aW5zLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0z
MTgzMgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6d2lsbFNlbmRSZXF1ZXN0KToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRpZFJlY2VpdmVSZXNwb25zZSk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNlaXZlQ29udGVu
dExlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRGaW5p
c2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRpZEZh
aWxMb2FkaW5nKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oOiBS
ZW1vdmUgdW51c2VkIERvY3VtZW50TG9hZGVyIHBhcmFtZXRlcnMgZnJvbSBpbnNwZWN0b3IgbWV0
aG9kcy4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2U6OmFkZExlbmd0aCk6IFVwZGF0ZSBsb2FkaW5n
IGVuZCB0aW1lIHdoZW4gbmV3IGRhdGEgYXJlIHJlY2VpdmVkLgorICAgICAgICAqIGxvYWRlci9S
ZXNvdXJjZUxvYWROb3RpZmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRO
b3RpZmllcjo6ZGlzcGF0Y2hEaWRSZWNlaXZlUmVzcG9uc2UpOgorICAgICAgICAoV2ViQ29yZTo6
UmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpc3BhdGNoRGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGgpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpc3BhdGNoRGlkRmluaXNo
TG9hZGluZyk6CisKIDIwMDktMTEtMjQgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAog
ICAgICAgICBGaXggcHJvZHVjdGlvbiBidWlsZHMgd2hlcmUgdGhlIHNvdXJjZSB0cmVlIG1heSBi
ZSByZWFkLW9ubHkuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmNwcCBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmlu
ZGV4IDUyNDM2ZWUuLmE4ODAxNTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuY3BwCkBAIC05MzksNyArOTM5LDcgQEAgYm9vbCBJbnNwZWN0b3JDb250cm9sbGVyOjpp
c01haW5SZXNvdXJjZUxvYWRlcihEb2N1bWVudExvYWRlciogbG9hZGVyLCBjb25zdCBLVVIKICAg
ICByZXR1cm4gbG9hZGVyLT5mcmFtZSgpID09IG1faW5zcGVjdGVkUGFnZS0+bWFpbkZyYW1lKCkg
JiYgcmVxdWVzdFVybCA9PSBsb2FkZXItPnJlcXVlc3RVUkwoKTsKIH0KIAotdm9pZCBJbnNwZWN0
b3JDb250cm9sbGVyOjp3aWxsU2VuZFJlcXVlc3QoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW5z
aWduZWQgbG9uZyBpZGVudGlmaWVyLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9uc2UpCit2b2lkIEluc3BlY3RvckNvbnRyb2xs
ZXI6OndpbGxTZW5kUmVxdWVzdChEb2N1bWVudExvYWRlciogbG9hZGVyLCB1bnNpZ25lZCBsb25n
IGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSkKIHsKICAgICBpZiAobV90aW1lbGluZUFnZW50
KQogICAgICAgICBtX3RpbWVsaW5lQWdlbnQtPndpbGxTZW5kUmVzb3VyY2VSZXF1ZXN0KGlkZW50
aWZpZXIsIGlzTWFpblJlc291cmNlTG9hZGVyKGxvYWRlciwgcmVxdWVzdC51cmwoKSksIHJlcXVl
c3QpOwpAQCAtOTU5LDcgKzk1OSw3IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6d2lsbFNl
bmRSZXF1ZXN0KERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuc2lnbmVkIGxvbmcKICAgICAgICAg
cmVzb3VyY2UtPmNyZWF0ZVNjcmlwdE9iamVjdChtX2Zyb250ZW5kLmdldCgpKTsKIH0KIAotdm9p
ZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoRG9jdW1lbnRMb2FkZXIq
LCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3Bv
bnNlKQordm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWdu
ZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKIHsK
ICAgICBpZiAobV90aW1lbGluZUFnZW50KQogICAgICAgICBtX3RpbWVsaW5lQWdlbnQtPmRpZFJl
Y2VpdmVSZXNvdXJjZVJlc3BvbnNlKGlkZW50aWZpZXIsIHJlc3BvbnNlKTsKQEAgLTk3NSw3ICs5
NzUsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpZFJlY2VpdmVSZXNwb25zZShEb2N1
bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbgogICAgICAgICByZXNvdXJjZS0+dXBkYXRl
U2NyaXB0T2JqZWN0KG1fZnJvbnRlbmQuZ2V0KCkpOwogfQogCi12b2lkIEluc3BlY3RvckNvbnRy
b2xsZXI6OmRpZFJlY2VpdmVDb250ZW50TGVuZ3RoKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQg
bG9uZyBpZGVudGlmaWVyLCBpbnQgbGVuZ3RoUmVjZWl2ZWQpCit2b2lkIEluc3BlY3RvckNvbnRy
b2xsZXI6OmRpZFJlY2VpdmVDb250ZW50TGVuZ3RoKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwg
aW50IGxlbmd0aFJlY2VpdmVkKQogewogICAgIFJlZlB0cjxJbnNwZWN0b3JSZXNvdXJjZT4gcmVz
b3VyY2UgPSBnZXRUcmFja2VkUmVzb3VyY2UoaWRlbnRpZmllcik7CiAgICAgaWYgKCFyZXNvdXJj
ZSkKQEAgLTk4Nyw3ICs5ODcsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpZFJlY2Vp
dmVDb250ZW50TGVuZ3RoKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZwogICAgICAgICBy
ZXNvdXJjZS0+dXBkYXRlU2NyaXB0T2JqZWN0KG1fZnJvbnRlbmQuZ2V0KCkpOwogfQogCi12b2lk
IEluc3BlY3RvckNvbnRyb2xsZXI6OmRpZEZpbmlzaExvYWRpbmcoRG9jdW1lbnRMb2FkZXIqLCB1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCit2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpZEZp
bmlzaExvYWRpbmcodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKQogewogICAgIGlmIChtX3RpbWVs
aW5lQWdlbnQpCiAgICAgICAgIG1fdGltZWxpbmVBZ2VudC0+ZGlkRmluaXNoTG9hZGluZ1Jlc291
cmNlKGlkZW50aWZpZXIsIGZhbHNlKTsKQEAgLTEwMDYsNyArMTAwNiw3IEBAIHZvaWQgSW5zcGVj
dG9yQ29udHJvbGxlcjo6ZGlkRmluaXNoTG9hZGluZyhEb2N1bWVudExvYWRlciosIHVuc2lnbmVk
IGxvbmcgaWRlbnRpCiAgICAgICAgIHJlc291cmNlLT51cGRhdGVTY3JpcHRPYmplY3QobV9mcm9u
dGVuZC5nZXQoKSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlkRmFpbExvYWRp
bmcoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291
cmNlRXJyb3ImIC8qZXJyb3IqLykKK3ZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlkRmFpbExv
YWRpbmcodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiAvKmVy
cm9yKi8pCiB7CiAgICAgaWYgKG1fdGltZWxpbmVBZ2VudCkKICAgICAgICAgbV90aW1lbGluZUFn
ZW50LT5kaWRGaW5pc2hMb2FkaW5nUmVzb3VyY2UoaWRlbnRpZmllciwgdHJ1ZSk7CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggMjJiZDA3Ni4uNjY0YmFkYiAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMjE2LDExICsyMTYsMTEg
QEAgcHVibGljOgogICAgIHZvaWQgZGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlKERvY3Vt
ZW50TG9hZGVyKiwgY29uc3QgQ2FjaGVkUmVzb3VyY2UqKTsKIAogICAgIHZvaWQgaWRlbnRpZmll
ckZvckluaXRpYWxSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2Fk
ZXIqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmKTsKLSAgICB2b2lkIHdpbGxTZW5kUmVxdWVzdChE
b2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgUmVzb3VyY2VSZXF1ZXN0
JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSk7Ci0gICAgdm9pZCBk
aWRSZWNlaXZlUmVzcG9uc2UoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZp
ZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKLSAgICB2b2lkIGRpZFJlY2VpdmVDb250ZW50
TGVuZ3RoKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBpbnQgbGVu
Z3RoUmVjZWl2ZWQpOwotICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhEb2N1bWVudExvYWRlcios
IHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcik7Ci0gICAgdm9pZCBkaWRGYWlsTG9hZGluZyhEb2N1
bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VFcnJv
ciYpOworICAgIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQg
bG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZSh1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKKyAgICB2
b2lkIGRpZFJlY2VpdmVDb250ZW50TGVuZ3RoKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgaW50
IGxlbmd0aFJlY2VpdmVkKTsKKyAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmcodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyKTsKKyAgICB2b2lkIGRpZEZhaWxMb2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRl
bnRpZmllciwgY29uc3QgUmVzb3VyY2VFcnJvciYpOwogICAgIHZvaWQgcmVzb3VyY2VSZXRyaWV2
ZWRCeVhNTEh0dHBSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgU2NyaXB0
U3RyaW5nJiBzb3VyY2VTdHJpbmcpOwogICAgIHZvaWQgc2NyaXB0SW1wb3J0ZWQodW5zaWduZWQg
bG9uZyBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVN0cmluZyk7CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlLmNwcCBiL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvclJlc291cmNlLmNwcAppbmRleCAwODcwMjQwLi4zMjU2MTRlIDEwMDY0
NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZS5jcHAKKysrIGIvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuY3BwCkBAIC0zNzYsNiArMzc2LDEwIEBA
IHZvaWQgSW5zcGVjdG9yUmVzb3VyY2U6OmFkZExlbmd0aChpbnQgbGVuZ3RoUmVjZWl2ZWQpCiB7
CiAgICAgbV9sZW5ndGggKz0gbGVuZ3RoUmVjZWl2ZWQ7CiAgICAgbV9jaGFuZ2VzLnNldChMZW5n
dGhDaGFuZ2UpOworCisgICAgLy8gVXBkYXRlIGxvYWQgdGltZS4KKyAgICBtX2VuZFRpbWUgPSBj
dXJyZW50VGltZSgpOworICAgIG1fY2hhbmdlcy5zZXQoVGltaW5nQ2hhbmdlKTsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VM
b2FkTm90aWZpZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3Bw
CmluZGV4IDRjZGRkMDEuLjNkMzQxZTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Jlc291
cmNlTG9hZE5vdGlmaWVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3Rp
Zmllci5jcHAKQEAgLTEzNiw3ICsxMzYsNyBAQCB2b2lkIFJlc291cmNlTG9hZE5vdGlmaWVyOjpk
aXNwYXRjaERpZFJlY2VpdmVSZXNwb25zZShEb2N1bWVudExvYWRlciogbG9hZGVyLCB1bgogCiAj
aWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2Uo
KSkKLSAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRSZWNlaXZlUmVzcG9u
c2UobG9hZGVyLCBpZGVudGlmaWVyLCByKTsKKyAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJv
bGxlcigpLT5kaWRSZWNlaXZlUmVzcG9uc2UoaWRlbnRpZmllciwgcik7CiAjZW5kaWYKIH0KIApA
QCAtMTQ2LDcgKzE0Niw3IEBAIHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpc3BhdGNoRGlk
UmVjZWl2ZUNvbnRlbnRMZW5ndGgoRG9jdW1lbnRMb2FkZXIqIGxvYWRlCiAKICNpZiBFTkFCTEUo
SU5TUEVDVE9SKQogICAgIGlmIChQYWdlKiBwYWdlID0gbV9mcmFtZS0+cGFnZSgpKQotICAgICAg
ICBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmRpZFJlY2VpdmVDb250ZW50TGVuZ3RoKGxv
YWRlciwgaWRlbnRpZmllciwgbGVuZ3RoKTsKKyAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJv
bGxlcigpLT5kaWRSZWNlaXZlQ29udGVudExlbmd0aChpZGVudGlmaWVyLCBsZW5ndGgpOwogI2Vu
ZGlmCiB9CiAKQEAgLTE1Niw3ICsxNTYsNyBAQCB2b2lkIFJlc291cmNlTG9hZE5vdGlmaWVyOjpk
aXNwYXRjaERpZEZpbmlzaExvYWRpbmcoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaQogCiAj
aWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2Uo
KSkKLSAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRGaW5pc2hMb2FkaW5n
KGxvYWRlciwgaWRlbnRpZmllcik7CisgICAgICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIo
KS0+ZGlkRmluaXNoTG9hZGluZyhpZGVudGlmaWVyKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQg
YS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpp
bmRleCBjMDE3NjM3Li45YzNlNzZiIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAw
OS0xMS0yNCAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworCisgICAgICAgIFdlYkNvcmUgcGFydCBv
ZiB0aGUgZml4IHRoYXQgYWxsb3dzIHRvIHZpZXcgcGx1Z2luCisgICAgICAgIHJlc291cmNlcyBs
b2FkZWQgYnkgcGx1Z2lucy4gTWV0aG9kcyB0aGF0IGZvciByZXNvdXJjZQorICAgICAgICBsb2Fk
aW5nIG5vdGlmaWNhdGlvbnMgYXJlIGV4cG9zZWQgdGhyb3VnaCBXZWJEZXZUb29sc0FnZW50Cisg
ICAgICAgIGludGVyZmFjZSB0byB0aGUgZ2x1ZSBjb2RlIHRvIGFsbG93IENocm9taXVtJ3MgcGx1
Z2luCisgICAgICAgIGltcGxlbWVudGF0aW9uIHRvIG5vdGlmeSBJbnNwZWN0b3JDb250cm9sbGVy
IGFib3V0IHJlc291cmNlCisgICAgICAgIGxvYWRpbmcgaW4gcGx1Z2lucy4KKworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE4MzIKKworICAgICAgICAq
IHB1YmxpYy9XZWJEZXZUb29sc0FnZW50Lmg6CisgICAgICAgICogcHVibGljL1dlYkZyYW1lLmg6
CisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkZy
YW1lSW1wbDo6Y3JlYXRlVW5pcXVlSWRlbnRpZmllckZvclJlcXVlc3QpOgorICAgICAgICAqIHNy
Yy9XZWJGcmFtZUltcGwuaDoKKwogMjAwOS0xMS0yMyAgSmlhbiBMaSAgPGppYW5saUBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChDaHJvbWl1bSBidWlsZCBmaXgp
LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEZXZUb29sc0FnZW50Lmgg
Yi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRldlRvb2xzQWdlbnQuaAppbmRleCBjZjRkN2Vh
Li42MmM2OTMyIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRldlRvb2xz
QWdlbnQuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRldlRvb2xzQWdlbnQuaApA
QCAtMzYsOCArMzYsMTEgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViRGV2VG9vbHNB
Z2VudENsaWVudDsKIGNsYXNzIFdlYlN0cmluZzsKK2NsYXNzIFdlYlVSTFJlcXVlc3Q7CitjbGFz
cyBXZWJVUkxSZXNwb25zZTsKIGNsYXNzIFdlYlZpZXc7CiBzdHJ1Y3QgV2ViUG9pbnQ7CitzdHJ1
Y3QgV2ViVVJMRXJyb3I7CiAKIGNsYXNzIFdlYkRldlRvb2xzQWdlbnQgewogcHVibGljOgpAQCAt
NzAsNiArNzMsMTMgQEAgcHVibGljOgogICAgIC8vIEluc3RhbGxzIGRpc3BhdGNoIGhhbmRsZSB0
aGF0IGlzIGdvaW5nIHRvIGJlIGNhbGxlZCBwZXJpb2RpY2FsbHkKICAgICAvLyB3aGlsZSBvbiBh
IGJyZWFrcG9pbnQuCiAgICAgV0VCS0lUX0FQSSBzdGF0aWMgdm9pZCBzZXRNZXNzYWdlTG9vcERp
c3BhdGNoSGFuZGxlcihNZXNzYWdlTG9vcERpc3BhdGNoSGFuZGxlcik7CisKKyAgICB2aXJ0dWFs
IHZvaWQgaWRlbnRpZmllckZvckluaXRpYWxSZXF1ZXN0Rm9yUGx1Z2luKGludCByZXNvdXJjZUlk
LCBjb25zdCBXZWJVUkxSZXF1ZXN0JiByZXF1ZXN0KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHdp
bGxTZW5kUmVxdWVzdEZvclBsdWdpbihpbnQgcmVzb3VyY2VJZCwgY29uc3QgV2ViVVJMUmVxdWVz
dCYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZURhdGFGb3JQbHVnaW4oaW50IHJl
c291cmNlSWQsIGludCBsZW5ndGgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJl
c3BvbnNlRm9yUGx1Z2luKGludCByZXNvdXJjZUlkLCBjb25zdCBXZWJVUkxSZXNwb25zZSYgcmVz
cG9uc2UpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZGluZ0ZvclBsdWdpbihp
bnQgcmVzb3VyY2VJZCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsTG9hZGluZ0ZvclBs
dWdpbihpbnQgcmVzb3VyY2VJZCwgY29uc3QgV2ViVVJMRXJyb3ImIGVycm9yKSA9IDA7CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViRnJhbWUuaCBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaAppbmRleCA0
NGI1N2FhLi4zOWNjYTNjIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZy
YW1lLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCkBAIC0zMDAsNiAr
MzAwLDEwIEBAIHB1YmxpYzoKICAgICAvLyBUaGlzIG1ldGhvZCBlbmRzIHVwIHRyaWdnZXJpbmcg
V2ViRnJhbWVDbGllbnQ6OndpbGxTZW5kUmVxdWVzdC4KICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0
Y2hXaWxsU2VuZFJlcXVlc3QoV2ViVVJMUmVxdWVzdCYpID0gMDsKIAorICAgIC8vIFJldHVybnMg
bmV4dCB1bnVzZWQgcmVxdWVzdCBpZGVudGlmaWVyIHdoaWNoIGlzIHVuaXF1ZSB3aXRoaW4gdGhl
CisgICAgLy8gcGFyZW50IFBhZ2UuCisgICAgdmlydHVhbCBpbnQgY3JlYXRlVW5pcXVlSWRlbnRp
ZmllckZvclJlcXVlc3QoKSA9IDA7CisKICAgICAvLyBDYWxsZWQgZnJvbSB3aXRoaW4gV2ViRnJh
bWVDbGllbnQ6OmRpZFJlY2VpdmVEb2N1bWVudERhdGEgdG8gY29tbWl0CiAgICAgLy8gZGF0YSBm
b3IgdGhlIGZyYW1lIHRoYXQgd2lsbCBiZSB1c2VkIHRvIGNvbnN0cnVjdCB0aGUgZnJhbWUncwog
ICAgIC8vIGRvY3VtZW50LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFt
ZUltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCmluZGV4IDA2
ZDM5NGYuLjY0MDYyOTggMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJ
bXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAgLTEw
Myw2ICsxMDMsNyBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUNvbnRl
eHRTa2lhLmgiCiAjaW5jbHVkZSAiUHJpbnRDb250ZXh0LmgiCisjaW5jbHVkZSAiUHJvZ3Jlc3NU
cmFja2VyLmgiCiAjaW5jbHVkZSAiUmVuZGVyRnJhbWUuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3
LmgiCiAjaW5jbHVkZSAiUmVuZGVyV2lkZ2V0LmgiCkBAIC04NDIsNiArODQzLDEwIEBAIHZvaWQg
V2ViRnJhbWVJbXBsOjpzZXRSZWZlcnJlckZvclJlcXVlc3QoCiAgICAgcmVxdWVzdC5zZXRIVFRQ
SGVhZGVyRmllbGQoV2ViU3RyaW5nOjpmcm9tVVRGOCgiUmVmZXJlciIpLCByZWZlcnJlcik7CiB9
CiAKK2ludCBXZWJGcmFtZUltcGw6OmNyZWF0ZVVuaXF1ZUlkZW50aWZpZXJGb3JSZXF1ZXN0KCkg
eworICByZXR1cm4gbV9mcmFtZS0+cGFnZSgpLT5wcm9ncmVzcygpLT5jcmVhdGVVbmlxdWVJZGVu
dGlmaWVyKCk7Cit9CisKIHZvaWQgV2ViRnJhbWVJbXBsOjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVz
dChXZWJVUkxSZXF1ZXN0JiByZXF1ZXN0KQogewogICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9u
c2U7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oIGIvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaAppbmRleCAwNTA2NzViLi41NGVkOTk4IDEw
MDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCisrKyBiL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKQEAgLTExNyw2ICsxMTcsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIGVuYWJsZVZpZXdTb3VyY2VNb2RlKGJvb2wgZW5hYmxlKTsKICAg
ICB2aXJ0dWFsIGJvb2wgaXNWaWV3U291cmNlTW9kZUVuYWJsZWQoKSBjb25zdDsKICAgICB2aXJ0
dWFsIHZvaWQgc2V0UmVmZXJyZXJGb3JSZXF1ZXN0KFdlYlVSTFJlcXVlc3QmLCBjb25zdCBXZWJV
UkwmIHJlZmVycmVyKTsKKyAgICB2aXJ0dWFsIGludCBjcmVhdGVVbmlxdWVJZGVudGlmaWVyRm9y
UmVxdWVzdCgpOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdChXZWJV
UkxSZXF1ZXN0Jik7CiAgICAgdmlydHVhbCB2b2lkIGNvbW1pdERvY3VtZW50RGF0YShjb25zdCBj
aGFyKiBkYXRhLCBzaXplX3QgbGVuZ3RoKTsKICAgICB2aXJ0dWFsIHVuc2lnbmVkIHVubG9hZExp
c3RlbmVyQ291bnQoKSBjb25zdDsK
</data>
<flag name="review"
          id="25501"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43775</attachid>
            <date>2009-11-24 08:55:26 -0800</date>
            <delta_ts>2009-11-25 05:55:08 -0800</delta_ts>
            <desc>patch</desc>
            <filename>inspect-plugin-resources2.patch</filename>
            <type>text/plain</type>
            <size>12459</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODhkNDdjYi4uZWY3MDBmMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAwOS0xMS0yNCAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgV2ViQ29yZSBwYXJ0IG9mIHRoZSBmaXggdGhh
dCBhbGxvd3MgdG8gdmlldyBwbHVnaW4KKyAgICAgICAgcmVzb3VyY2VzIGxvYWRlZCBieSBwbHVn
aW5zLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0z
MTgzMgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6d2lsbFNlbmRSZXF1ZXN0KToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRpZFJlY2VpdmVSZXNwb25zZSk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNlaXZlQ29udGVu
dExlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRGaW5p
c2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRpZEZh
aWxMb2FkaW5nKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oOiBS
ZW1vdmUgdW51c2VkIERvY3VtZW50TG9hZGVyIHBhcmFtZXRlcnMgZnJvbSBpbnNwZWN0b3IgbWV0
aG9kcy4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2U6OmFkZExlbmd0aCk6IFVwZGF0ZSBsb2FkaW5n
IGVuZCB0aW1lIHdoZW4gbmV3IGRhdGEgYXJlIHJlY2VpdmVkLgorICAgICAgICAqIGxvYWRlci9S
ZXNvdXJjZUxvYWROb3RpZmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRO
b3RpZmllcjo6ZGlkRmFpbFRvTG9hZCk6IE5vdGlmeSBJbnNwZWN0b3JDb250cm9sbGVyIGFib3V0
IHRoZSBmYWlsdXJlLgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkTm90aWZpZXI6OmRp
c3BhdGNoRGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9h
ZE5vdGlmaWVyOjpkaXNwYXRjaERpZFJlY2VpdmVDb250ZW50TGVuZ3RoKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlc291cmNlTG9hZE5vdGlmaWVyOjpkaXNwYXRjaERpZEZpbmlzaExvYWRpbmcpOgor
CiAyMDA5LTExLTI0ICBNYXJrIFJvd2UgIDxtcm93ZUBhcHBsZS5jb20+CiAKICAgICAgICAgRml4
IHByb2R1Y3Rpb24gYnVpbGRzIHdoZXJlIHRoZSBzb3VyY2UgdHJlZSBtYXkgYmUgcmVhZC1vbmx5
LgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAg
Yi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCA1MjQzNmVl
Li5hODgwMTU4IDEwMDY0NAotLS0gYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9s
bGVyLmNwcAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcApA
QCAtOTM5LDcgKzkzOSw3IEBAIGJvb2wgSW5zcGVjdG9yQ29udHJvbGxlcjo6aXNNYWluUmVzb3Vy
Y2VMb2FkZXIoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgY29uc3QgS1VSCiAgICAgcmV0dXJuIGxv
YWRlci0+ZnJhbWUoKSA9PSBtX2luc3BlY3RlZFBhZ2UtPm1haW5GcmFtZSgpICYmIHJlcXVlc3RV
cmwgPT0gbG9hZGVyLT5yZXF1ZXN0VVJMKCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yQ29udHJvbGxl
cjo6d2lsbFNlbmRSZXF1ZXN0KERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuc2lnbmVkIGxvbmcg
aWRlbnRpZmllciwgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3Bv
bnNlJiByZWRpcmVjdFJlc3BvbnNlKQordm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjp3aWxsU2Vu
ZFJlcXVlc3QoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVy
LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
IHJlZGlyZWN0UmVzcG9uc2UpCiB7CiAgICAgaWYgKG1fdGltZWxpbmVBZ2VudCkKICAgICAgICAg
bV90aW1lbGluZUFnZW50LT53aWxsU2VuZFJlc291cmNlUmVxdWVzdChpZGVudGlmaWVyLCBpc01h
aW5SZXNvdXJjZUxvYWRlcihsb2FkZXIsIHJlcXVlc3QudXJsKCkpLCByZXF1ZXN0KTsKQEAgLTk1
OSw3ICs5NTksNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OndpbGxTZW5kUmVxdWVzdChE
b2N1bWVudExvYWRlciogbG9hZGVyLCB1bnNpZ25lZCBsb25nCiAgICAgICAgIHJlc291cmNlLT5j
cmVhdGVTY3JpcHRPYmplY3QobV9mcm9udGVuZC5nZXQoKSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9y
Q29udHJvbGxlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQg
bG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKK3ZvaWQg
SW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRl
bnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7CiAgICAgaWYgKG1f
dGltZWxpbmVBZ2VudCkKICAgICAgICAgbV90aW1lbGluZUFnZW50LT5kaWRSZWNlaXZlUmVzb3Vy
Y2VSZXNwb25zZShpZGVudGlmaWVyLCByZXNwb25zZSk7CkBAIC05NzUsNyArOTc1LDcgQEAgdm9p
ZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoRG9jdW1lbnRMb2FkZXIq
LCB1bnNpZ25lZCBsb25nIGlkZW4KICAgICAgICAgcmVzb3VyY2UtPnVwZGF0ZVNjcmlwdE9iamVj
dChtX2Zyb250ZW5kLmdldCgpKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRS
ZWNlaXZlQ29udGVudExlbmd0aChEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRp
ZmllciwgaW50IGxlbmd0aFJlY2VpdmVkKQordm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRS
ZWNlaXZlQ29udGVudExlbmd0aCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGludCBsZW5ndGhS
ZWNlaXZlZCkKIHsKICAgICBSZWZQdHI8SW5zcGVjdG9yUmVzb3VyY2U+IHJlc291cmNlID0gZ2V0
VHJhY2tlZFJlc291cmNlKGlkZW50aWZpZXIpOwogICAgIGlmICghcmVzb3VyY2UpCkBAIC05ODcs
NyArOTg3LDcgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNlaXZlQ29udGVudExl
bmd0aChEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcKICAgICAgICAgcmVzb3VyY2UtPnVw
ZGF0ZVNjcmlwdE9iamVjdChtX2Zyb250ZW5kLmdldCgpKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JD
b250cm9sbGVyOjpkaWRGaW5pc2hMb2FkaW5nKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyKQordm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRGaW5pc2hMb2FkaW5n
KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKIHsKICAgICBpZiAobV90aW1lbGluZUFnZW50KQog
ICAgICAgICBtX3RpbWVsaW5lQWdlbnQtPmRpZEZpbmlzaExvYWRpbmdSZXNvdXJjZShpZGVudGlm
aWVyLCBmYWxzZSk7CkBAIC0xMDA2LDcgKzEwMDYsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xs
ZXI6OmRpZEZpbmlzaExvYWRpbmcoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50
aQogICAgICAgICByZXNvdXJjZS0+dXBkYXRlU2NyaXB0T2JqZWN0KG1fZnJvbnRlbmQuZ2V0KCkp
OwogfQogCi12b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpZEZhaWxMb2FkaW5nKERvY3VtZW50
TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiAv
KmVycm9yKi8pCit2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpZEZhaWxMb2FkaW5nKHVuc2ln
bmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VFcnJvciYgLyplcnJvciovKQogewog
ICAgIGlmIChtX3RpbWVsaW5lQWdlbnQpCiAgICAgICAgIG1fdGltZWxpbmVBZ2VudC0+ZGlkRmlu
aXNoTG9hZGluZ1Jlc291cmNlKGlkZW50aWZpZXIsIHRydWUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDIyYmQwNzYuLjY2NGJhZGIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTIxNiwxMSArMjE2LDExIEBAIHB1YmxpYzoK
ICAgICB2b2lkIGRpZExvYWRSZXNvdXJjZUZyb21NZW1vcnlDYWNoZShEb2N1bWVudExvYWRlcios
IGNvbnN0IENhY2hlZFJlc291cmNlKik7CiAKICAgICB2b2lkIGlkZW50aWZpZXJGb3JJbml0aWFs
UmVxdWVzdCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKiwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0Jik7Ci0gICAgdm9pZCB3aWxsU2VuZFJlcXVlc3QoRG9jdW1lbnRMb2Fk
ZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9uc2UpOwotICAgIHZvaWQgZGlkUmVjZWl2ZVJl
c3BvbnNlKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBS
ZXNvdXJjZVJlc3BvbnNlJik7Ci0gICAgdm9pZCBkaWRSZWNlaXZlQ29udGVudExlbmd0aChEb2N1
bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgaW50IGxlbmd0aFJlY2VpdmVk
KTsKLSAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmcoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBs
b25nIGlkZW50aWZpZXIpOwotICAgIHZvaWQgZGlkRmFpbExvYWRpbmcoRG9jdW1lbnRMb2FkZXIq
LCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKKyAgICB2
b2lkIHdpbGxTZW5kUmVxdWVzdChEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRp
ZmllciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVk
aXJlY3RSZXNwb25zZSk7CisgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CisgICAgdm9pZCBkaWRSZWNl
aXZlQ29udGVudExlbmd0aCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGludCBsZW5ndGhSZWNl
aXZlZCk7CisgICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmll
cik7CisgICAgdm9pZCBkaWRGYWlsTG9hZGluZyh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNv
bnN0IFJlc291cmNlRXJyb3ImKTsKICAgICB2b2lkIHJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRw
UmVxdWVzdCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFNjcmlwdFN0cmluZyYgc291
cmNlU3RyaW5nKTsKICAgICB2b2lkIHNjcmlwdEltcG9ydGVkKHVuc2lnbmVkIGxvbmcgaWRlbnRp
ZmllciwgY29uc3QgU3RyaW5nJiBzb3VyY2VTdHJpbmcpOwogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZS5jcHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JSZXNvdXJjZS5jcHAKaW5kZXggMDg3MDI0MC4uZGE5NzA1YiAxMDA2NDQKLS0tIGEvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuY3BwCisrKyBiL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclJlc291cmNlLmNwcApAQCAtMzc2LDYgKzM3NiwxMiBAQCB2b2lkIEluc3Bl
Y3RvclJlc291cmNlOjphZGRMZW5ndGgoaW50IGxlbmd0aFJlY2VpdmVkKQogewogICAgIG1fbGVu
Z3RoICs9IGxlbmd0aFJlY2VpdmVkOwogICAgIG1fY2hhbmdlcy5zZXQoTGVuZ3RoQ2hhbmdlKTsK
KworICAgIC8vIFVwZGF0ZSBsb2FkIHRpbWUsIG90aGVyd2lzZSB0aGUgcmVzb3VyY2Ugd2lsbAor
ICAgIC8vIGhhdmUgc3RhcnQgdGltZSA9PSBlbmQgdGltZSBhbmQgIDAgbG9hZCBkdXJhdGlvbgor
ICAgIC8vIHVudGlsIGl0cyBsb2FkaW5nIGlzIGNvbXBsZXRlZC4KKyAgICBtX2VuZFRpbWUgPSBj
dXJyZW50VGltZSgpOworICAgIG1fY2hhbmdlcy5zZXQoVGltaW5nQ2hhbmdlKTsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VM
b2FkTm90aWZpZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3Bw
CmluZGV4IDRjZGRkMDEuLjQ0ZmY3YmEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Jlc291
cmNlTG9hZE5vdGlmaWVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3Rp
Zmllci5jcHAKQEAgLTk2LDYgKzk2LDExIEBAIHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRp
ZEZhaWxUb0xvYWQoUmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VFCiAKICAg
ICBpZiAoIWVycm9yLmlzTnVsbCgpKQogICAgICAgICBtX2ZyYW1lLT5sb2FkZXIoKS0+Y2xpZW50
KCktPmRpc3BhdGNoRGlkRmFpbExvYWRpbmcobG9hZGVyLT5kb2N1bWVudExvYWRlcigpLCBsb2Fk
ZXItPmlkZW50aWZpZXIoKSwgZXJyb3IpOworCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBp
ZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKSkKKyAgICAgICAgcGFnZS0+aW5zcGVjdG9y
Q29udHJvbGxlcigpLT5kaWRGYWlsTG9hZGluZyhsb2FkZXItPmlkZW50aWZpZXIoKSwgZXJyb3Ip
OworI2VuZGlmCiB9CiAKIHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpZExvYWRSZXNvdXJj
ZUJ5WE1MSHR0cFJlcXVlc3QodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTY3JpcHRT
dHJpbmcmIHNvdXJjZVN0cmluZykKQEAgLTEzNiw3ICsxNDEsNyBAQCB2b2lkIFJlc291cmNlTG9h
ZE5vdGlmaWVyOjpkaXNwYXRjaERpZFJlY2VpdmVSZXNwb25zZShEb2N1bWVudExvYWRlciogbG9h
ZGVyLCB1bgogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoUGFnZSogcGFnZSA9IG1f
ZnJhbWUtPnBhZ2UoKSkKLSAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRS
ZWNlaXZlUmVzcG9uc2UobG9hZGVyLCBpZGVudGlmaWVyLCByKTsKKyAgICAgICAgcGFnZS0+aW5z
cGVjdG9yQ29udHJvbGxlcigpLT5kaWRSZWNlaXZlUmVzcG9uc2UoaWRlbnRpZmllciwgcik7CiAj
ZW5kaWYKIH0KIApAQCAtMTQ2LDcgKzE1MSw3IEBAIHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6
OmRpc3BhdGNoRGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGgoRG9jdW1lbnRMb2FkZXIqIGxvYWRlCiAK
ICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlmIChQYWdlKiBwYWdlID0gbV9mcmFtZS0+cGFn
ZSgpKQotICAgICAgICBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmRpZFJlY2VpdmVDb250
ZW50TGVuZ3RoKGxvYWRlciwgaWRlbnRpZmllciwgbGVuZ3RoKTsKKyAgICAgICAgcGFnZS0+aW5z
cGVjdG9yQ29udHJvbGxlcigpLT5kaWRSZWNlaXZlQ29udGVudExlbmd0aChpZGVudGlmaWVyLCBs
ZW5ndGgpOwogI2VuZGlmCiB9CiAKQEAgLTE1Niw3ICsxNjEsNyBAQCB2b2lkIFJlc291cmNlTG9h
ZE5vdGlmaWVyOjpkaXNwYXRjaERpZEZpbmlzaExvYWRpbmcoRG9jdW1lbnRMb2FkZXIqIGxvYWRl
ciwgdW5zaQogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoUGFnZSogcGFnZSA9IG1f
ZnJhbWUtPnBhZ2UoKSkKLSAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRG
aW5pc2hMb2FkaW5nKGxvYWRlciwgaWRlbnRpZmllcik7CisgICAgICAgIHBhZ2UtPmluc3BlY3Rv
ckNvbnRyb2xsZXIoKS0+ZGlkRmluaXNoTG9hZGluZyhpZGVudGlmaWVyKTsKICNlbmRpZgogfQog
CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwppbmRleCBjMDE3NjM3Li45YzNlNzZiIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMyBAQAorMjAwOS0xMS0yNCAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworCisgICAgICAgIFdl
YkNvcmUgcGFydCBvZiB0aGUgZml4IHRoYXQgYWxsb3dzIHRvIHZpZXcgcGx1Z2luCisgICAgICAg
IHJlc291cmNlcyBsb2FkZWQgYnkgcGx1Z2lucy4gTWV0aG9kcyB0aGF0IGZvciByZXNvdXJjZQor
ICAgICAgICBsb2FkaW5nIG5vdGlmaWNhdGlvbnMgYXJlIGV4cG9zZWQgdGhyb3VnaCBXZWJEZXZU
b29sc0FnZW50CisgICAgICAgIGludGVyZmFjZSB0byB0aGUgZ2x1ZSBjb2RlIHRvIGFsbG93IENo
cm9taXVtJ3MgcGx1Z2luCisgICAgICAgIGltcGxlbWVudGF0aW9uIHRvIG5vdGlmeSBJbnNwZWN0
b3JDb250cm9sbGVyIGFib3V0IHJlc291cmNlCisgICAgICAgIGxvYWRpbmcgaW4gcGx1Z2lucy4K
KworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE4MzIK
KworICAgICAgICAqIHB1YmxpYy9XZWJEZXZUb29sc0FnZW50Lmg6CisgICAgICAgICogcHVibGlj
L1dlYkZyYW1lLmg6CisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYkZyYW1lSW1wbDo6Y3JlYXRlVW5pcXVlSWRlbnRpZmllckZvclJlcXVlc3QpOgor
ICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwuaDoKKwogMjAwOS0xMS0yMyAgSmlhbiBMaSAgPGpp
YW5saUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChDaHJvbWl1
bSBidWlsZCBmaXgpLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEZXZU
b29sc0FnZW50LmggYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRldlRvb2xzQWdlbnQuaApp
bmRleCBjZjRkN2VhLi42MmM2OTMyIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYkRldlRvb2xzQWdlbnQuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRldlRv
b2xzQWdlbnQuaApAQCAtMzYsOCArMzYsMTEgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogY2xhc3Mg
V2ViRGV2VG9vbHNBZ2VudENsaWVudDsKIGNsYXNzIFdlYlN0cmluZzsKK2NsYXNzIFdlYlVSTFJl
cXVlc3Q7CitjbGFzcyBXZWJVUkxSZXNwb25zZTsKIGNsYXNzIFdlYlZpZXc7CiBzdHJ1Y3QgV2Vi
UG9pbnQ7CitzdHJ1Y3QgV2ViVVJMRXJyb3I7CiAKIGNsYXNzIFdlYkRldlRvb2xzQWdlbnQgewog
cHVibGljOgpAQCAtNzAsNiArNzMsMTMgQEAgcHVibGljOgogICAgIC8vIEluc3RhbGxzIGRpc3Bh
dGNoIGhhbmRsZSB0aGF0IGlzIGdvaW5nIHRvIGJlIGNhbGxlZCBwZXJpb2RpY2FsbHkKICAgICAv
LyB3aGlsZSBvbiBhIGJyZWFrcG9pbnQuCiAgICAgV0VCS0lUX0FQSSBzdGF0aWMgdm9pZCBzZXRN
ZXNzYWdlTG9vcERpc3BhdGNoSGFuZGxlcihNZXNzYWdlTG9vcERpc3BhdGNoSGFuZGxlcik7CisK
KyAgICB2aXJ0dWFsIHZvaWQgaWRlbnRpZmllckZvckluaXRpYWxSZXF1ZXN0Rm9yUGx1Z2luKGlu
dCByZXNvdXJjZUlkLCBjb25zdCBXZWJVUkxSZXF1ZXN0JiByZXF1ZXN0KSA9IDA7CisgICAgdmly
dHVhbCB2b2lkIHdpbGxTZW5kUmVxdWVzdEZvclBsdWdpbihpbnQgcmVzb3VyY2VJZCwgY29uc3Qg
V2ViVVJMUmVxdWVzdCYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZURhdGFGb3JQ
bHVnaW4oaW50IHJlc291cmNlSWQsIGludCBsZW5ndGgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQg
ZGlkUmVjZWl2ZVJlc3BvbnNlRm9yUGx1Z2luKGludCByZXNvdXJjZUlkLCBjb25zdCBXZWJVUkxS
ZXNwb25zZSYgcmVzcG9uc2UpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZGlu
Z0ZvclBsdWdpbihpbnQgcmVzb3VyY2VJZCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRGYWls
TG9hZGluZ0ZvclBsdWdpbihpbnQgcmVzb3VyY2VJZCwgY29uc3QgV2ViVVJMRXJyb3ImIGVycm9y
KSA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaCBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJh
bWUuaAppbmRleCA0NGI1N2FhLi4zOWNjYTNjIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYkZyYW1lLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5o
CkBAIC0zMDAsNiArMzAwLDEwIEBAIHB1YmxpYzoKICAgICAvLyBUaGlzIG1ldGhvZCBlbmRzIHVw
IHRyaWdnZXJpbmcgV2ViRnJhbWVDbGllbnQ6OndpbGxTZW5kUmVxdWVzdC4KICAgICB2aXJ0dWFs
IHZvaWQgZGlzcGF0Y2hXaWxsU2VuZFJlcXVlc3QoV2ViVVJMUmVxdWVzdCYpID0gMDsKIAorICAg
IC8vIFJldHVybnMgbmV4dCB1bnVzZWQgcmVxdWVzdCBpZGVudGlmaWVyIHdoaWNoIGlzIHVuaXF1
ZSB3aXRoaW4gdGhlCisgICAgLy8gcGFyZW50IFBhZ2UuCisgICAgdmlydHVhbCBpbnQgY3JlYXRl
VW5pcXVlSWRlbnRpZmllckZvclJlcXVlc3QoKSA9IDA7CisKICAgICAvLyBDYWxsZWQgZnJvbSB3
aXRoaW4gV2ViRnJhbWVDbGllbnQ6OmRpZFJlY2VpdmVEb2N1bWVudERhdGEgdG8gY29tbWl0CiAg
ICAgLy8gZGF0YSBmb3IgdGhlIGZyYW1lIHRoYXQgd2lsbCBiZSB1c2VkIHRvIGNvbnN0cnVjdCB0
aGUgZnJhbWUncwogICAgIC8vIGRvY3VtZW50LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwu
Y3BwCmluZGV4IDA2ZDM5NGYuLjY0MDYyOTggMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRnJhbWVJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1w
bC5jcHAKQEAgLTEwMyw2ICsxMDMsNyBAQAogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQ
bGF0Zm9ybUNvbnRleHRTa2lhLmgiCiAjaW5jbHVkZSAiUHJpbnRDb250ZXh0LmgiCisjaW5jbHVk
ZSAiUHJvZ3Jlc3NUcmFja2VyLmgiCiAjaW5jbHVkZSAiUmVuZGVyRnJhbWUuaCIKICNpbmNsdWRl
ICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiUmVuZGVyV2lkZ2V0LmgiCkBAIC04NDIsNiArODQz
LDEwIEBAIHZvaWQgV2ViRnJhbWVJbXBsOjpzZXRSZWZlcnJlckZvclJlcXVlc3QoCiAgICAgcmVx
dWVzdC5zZXRIVFRQSGVhZGVyRmllbGQoV2ViU3RyaW5nOjpmcm9tVVRGOCgiUmVmZXJlciIpLCBy
ZWZlcnJlcik7CiB9CiAKK2ludCBXZWJGcmFtZUltcGw6OmNyZWF0ZVVuaXF1ZUlkZW50aWZpZXJG
b3JSZXF1ZXN0KCkgeworICByZXR1cm4gbV9mcmFtZS0+cGFnZSgpLT5wcm9ncmVzcygpLT5jcmVh
dGVVbmlxdWVJZGVudGlmaWVyKCk7Cit9CisKIHZvaWQgV2ViRnJhbWVJbXBsOjpkaXNwYXRjaFdp
bGxTZW5kUmVxdWVzdChXZWJVUkxSZXF1ZXN0JiByZXF1ZXN0KQogewogICAgIFJlc291cmNlUmVz
cG9uc2UgcmVzcG9uc2U7CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1l
SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaAppbmRleCAwNTA2NzVi
Li41NGVkOTk4IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5o
CisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKQEAgLTExNyw2ICsxMTcs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGVuYWJsZVZpZXdTb3VyY2VNb2RlKGJvb2wg
ZW5hYmxlKTsKICAgICB2aXJ0dWFsIGJvb2wgaXNWaWV3U291cmNlTW9kZUVuYWJsZWQoKSBjb25z
dDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVmZXJyZXJGb3JSZXF1ZXN0KFdlYlVSTFJlcXVlc3Qm
LCBjb25zdCBXZWJVUkwmIHJlZmVycmVyKTsKKyAgICB2aXJ0dWFsIGludCBjcmVhdGVVbmlxdWVJ
ZGVudGlmaWVyRm9yUmVxdWVzdCgpOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFdpbGxTZW5k
UmVxdWVzdChXZWJVUkxSZXF1ZXN0Jik7CiAgICAgdmlydHVhbCB2b2lkIGNvbW1pdERvY3VtZW50
RGF0YShjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgbGVuZ3RoKTsKICAgICB2aXJ0dWFsIHVuc2ln
bmVkIHVubG9hZExpc3RlbmVyQ291bnQoKSBjb25zdDsK
</data>
<flag name="review"
          id="25504"
          type_id="1"
          status="-"
          setter="fishd"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43838</attachid>
            <date>2009-11-25 05:55:08 -0800</date>
            <delta_ts>2009-11-25 08:15:16 -0800</delta_ts>
            <desc>patch</desc>
            <filename>inspect-plugin-resources3.patch</filename>
            <type>text/plain</type>
            <size>12286</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NzA1MjliMi4uYzZlMDM1NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAwOS0xMS0yNSAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgV2ViQ29yZSBwYXJ0IG9mIHRoZSBmaXggdGhh
dCBhbGxvd3MgdG8gdmlldyBwbHVnaW4KKyAgICAgICAgcmVzb3VyY2VzIGxvYWRlZCBieSBwbHVn
aW5zLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0z
MTgzMgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6d2lsbFNlbmRSZXF1ZXN0KToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRpZFJlY2VpdmVSZXNwb25zZSk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNlaXZlQ29udGVu
dExlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRGaW5p
c2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRpZEZh
aWxMb2FkaW5nKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oOiBS
ZW1vdmUgdW51c2VkIERvY3VtZW50TG9hZGVyIHBhcmFtZXRlcnMgZnJvbSBpbnNwZWN0b3IgbWV0
aG9kcy4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2U6OmFkZExlbmd0aCk6IFVwZGF0ZSBsb2FkaW5n
IGVuZCB0aW1lIHdoZW4gbmV3IGRhdGEgYXJlIHJlY2VpdmVkLgorICAgICAgICAqIGxvYWRlci9S
ZXNvdXJjZUxvYWROb3RpZmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRO
b3RpZmllcjo6ZGlkRmFpbFRvTG9hZCk6IE5vdGlmeSBJbnNwZWN0b3JDb250cm9sbGVyIGFib3V0
IHRoZSBmYWlsdXJlLgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkTm90aWZpZXI6OmRp
c3BhdGNoRGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9h
ZE5vdGlmaWVyOjpkaXNwYXRjaERpZFJlY2VpdmVDb250ZW50TGVuZ3RoKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlc291cmNlTG9hZE5vdGlmaWVyOjpkaXNwYXRjaERpZEZpbmlzaExvYWRpbmcpOgor
CiAyMDA5LTExLTI0ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
b250cm9sbGVyLmNwcAppbmRleCBkZGIxM2QyLi5hYjliNjFlIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtOTM5LDcgKzkzOSw3IEBAIGJvb2wgSW5zcGVj
dG9yQ29udHJvbGxlcjo6aXNNYWluUmVzb3VyY2VMb2FkZXIoRG9jdW1lbnRMb2FkZXIqIGxvYWRl
ciwgY29uc3QgS1VSCiAgICAgcmV0dXJuIGxvYWRlci0+ZnJhbWUoKSA9PSBtX2luc3BlY3RlZFBh
Z2UtPm1haW5GcmFtZSgpICYmIHJlcXVlc3RVcmwgPT0gbG9hZGVyLT5yZXF1ZXN0VVJMKCk7CiB9
CiAKLXZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6d2lsbFNlbmRSZXF1ZXN0KERvY3VtZW50TG9h
ZGVyKiBsb2FkZXIsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgUmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlKQordm9pZCBJ
bnNwZWN0b3JDb250cm9sbGVyOjp3aWxsU2VuZFJlcXVlc3QoRG9jdW1lbnRMb2FkZXIqIGxvYWRl
ciwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9uc2UpCiB7CiAgICAgaWYg
KG1fdGltZWxpbmVBZ2VudCkKICAgICAgICAgbV90aW1lbGluZUFnZW50LT53aWxsU2VuZFJlc291
cmNlUmVxdWVzdChpZGVudGlmaWVyLCBpc01haW5SZXNvdXJjZUxvYWRlcihsb2FkZXIsIHJlcXVl
c3QudXJsKCkpLCByZXF1ZXN0KTsKQEAgLTk1OSw3ICs5NTksNyBAQCB2b2lkIEluc3BlY3RvckNv
bnRyb2xsZXI6OndpbGxTZW5kUmVxdWVzdChEb2N1bWVudExvYWRlciogbG9hZGVyLCB1bnNpZ25l
ZCBsb25nCiAgICAgICAgIHJlc291cmNlLT5jcmVhdGVTY3JpcHRPYmplY3QobV9mcm9udGVuZC5n
ZXQoKSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNl
KERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByZXNwb25zZSkKK3ZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlkUmVjZWl2
ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcmVzcG9uc2UpCiB7CiAgICAgaWYgKG1fdGltZWxpbmVBZ2VudCkKICAgICAgICAgbV90aW1l
bGluZUFnZW50LT5kaWRSZWNlaXZlUmVzb3VyY2VSZXNwb25zZShpZGVudGlmaWVyLCByZXNwb25z
ZSk7CkBAIC05NzUsNyArOTc1LDcgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNl
aXZlUmVzcG9uc2UoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW4KICAgICAgICAg
cmVzb3VyY2UtPnVwZGF0ZVNjcmlwdE9iamVjdChtX2Zyb250ZW5kLmdldCgpKTsKIH0KIAotdm9p
ZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNlaXZlQ29udGVudExlbmd0aChEb2N1bWVudExv
YWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgaW50IGxlbmd0aFJlY2VpdmVkKQordm9p
ZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNlaXZlQ29udGVudExlbmd0aCh1bnNpZ25lZCBs
b25nIGlkZW50aWZpZXIsIGludCBsZW5ndGhSZWNlaXZlZCkKIHsKICAgICBSZWZQdHI8SW5zcGVj
dG9yUmVzb3VyY2U+IHJlc291cmNlID0gZ2V0VHJhY2tlZFJlc291cmNlKGlkZW50aWZpZXIpOwog
ICAgIGlmICghcmVzb3VyY2UpCkBAIC05ODcsNyArOTg3LDcgQEAgdm9pZCBJbnNwZWN0b3JDb250
cm9sbGVyOjpkaWRSZWNlaXZlQ29udGVudExlbmd0aChEb2N1bWVudExvYWRlciosIHVuc2lnbmVk
IGxvbmcKICAgICAgICAgcmVzb3VyY2UtPnVwZGF0ZVNjcmlwdE9iamVjdChtX2Zyb250ZW5kLmdl
dCgpKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRGaW5pc2hMb2FkaW5nKERv
Y3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKQordm9pZCBJbnNwZWN0b3JD
b250cm9sbGVyOjpkaWRGaW5pc2hMb2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKIHsK
ICAgICBpZiAobV90aW1lbGluZUFnZW50KQogICAgICAgICBtX3RpbWVsaW5lQWdlbnQtPmRpZEZp
bmlzaExvYWRpbmdSZXNvdXJjZShpZGVudGlmaWVyLCBmYWxzZSk7CkBAIC0xMDA2LDcgKzEwMDYs
NyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpZEZpbmlzaExvYWRpbmcoRG9jdW1lbnRM
b2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aQogICAgICAgICByZXNvdXJjZS0+dXBkYXRlU2Ny
aXB0T2JqZWN0KG1fZnJvbnRlbmQuZ2V0KCkpOwogfQogCi12b2lkIEluc3BlY3RvckNvbnRyb2xs
ZXI6OmRpZEZhaWxMb2FkaW5nKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlm
aWVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiAvKmVycm9yKi8pCit2b2lkIEluc3BlY3RvckNvbnRy
b2xsZXI6OmRpZEZhaWxMb2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVz
b3VyY2VFcnJvciYgLyplcnJvciovKQogewogICAgIGlmIChtX3RpbWVsaW5lQWdlbnQpCiAgICAg
ICAgIG1fdGltZWxpbmVBZ2VudC0+ZGlkRmluaXNoTG9hZGluZ1Jlc291cmNlKGlkZW50aWZpZXIs
IHRydWUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxl
ci5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDIyYmQw
NzYuLjY2NGJhZGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAg
LTIxNiwxMSArMjE2LDExIEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZExvYWRSZXNvdXJjZUZyb21N
ZW1vcnlDYWNoZShEb2N1bWVudExvYWRlciosIGNvbnN0IENhY2hlZFJlc291cmNlKik7CiAKICAg
ICB2b2lkIGlkZW50aWZpZXJGb3JJbml0aWFsUmVxdWVzdCh1bnNpZ25lZCBsb25nIGlkZW50aWZp
ZXIsIERvY3VtZW50TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jik7Ci0gICAgdm9pZCB3
aWxsU2VuZFJlcXVlc3QoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIs
IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9u
c2UpOwotICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKERvY3VtZW50TG9hZGVyKiwgdW5zaWdu
ZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7Ci0gICAgdm9pZCBk
aWRSZWNlaXZlQ29udGVudExlbmd0aChEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRl
bnRpZmllciwgaW50IGxlbmd0aFJlY2VpdmVkKTsKLSAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmco
RG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpOwotICAgIHZvaWQgZGlk
RmFpbExvYWRpbmcoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNv
bnN0IFJlc291cmNlRXJyb3ImKTsKKyAgICB2b2lkIHdpbGxTZW5kUmVxdWVzdChEb2N1bWVudExv
YWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jiwg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSk7CisgICAgdm9pZCBkaWRS
ZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJik7CisgICAgdm9pZCBkaWRSZWNlaXZlQ29udGVudExlbmd0aCh1bnNpZ25lZCBsb25n
IGlkZW50aWZpZXIsIGludCBsZW5ndGhSZWNlaXZlZCk7CisgICAgdm9pZCBkaWRGaW5pc2hMb2Fk
aW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcik7CisgICAgdm9pZCBkaWRGYWlsTG9hZGluZyh1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKICAgICB2b2lk
IHJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVxdWVzdCh1bnNpZ25lZCBsb25nIGlkZW50aWZp
ZXIsIGNvbnN0IFNjcmlwdFN0cmluZyYgc291cmNlU3RyaW5nKTsKICAgICB2b2lkIHNjcmlwdElt
cG9ydGVkKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBzb3VyY2VTdHJp
bmcpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZS5j
cHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZS5jcHAKaW5kZXggMDg3MDI0
MC4uZGE5NzA1YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3Vy
Y2UuY3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlLmNwcApAQCAt
Mzc2LDYgKzM3NiwxMiBAQCB2b2lkIEluc3BlY3RvclJlc291cmNlOjphZGRMZW5ndGgoaW50IGxl
bmd0aFJlY2VpdmVkKQogewogICAgIG1fbGVuZ3RoICs9IGxlbmd0aFJlY2VpdmVkOwogICAgIG1f
Y2hhbmdlcy5zZXQoTGVuZ3RoQ2hhbmdlKTsKKworICAgIC8vIFVwZGF0ZSBsb2FkIHRpbWUsIG90
aGVyd2lzZSB0aGUgcmVzb3VyY2Ugd2lsbAorICAgIC8vIGhhdmUgc3RhcnQgdGltZSA9PSBlbmQg
dGltZSBhbmQgIDAgbG9hZCBkdXJhdGlvbgorICAgIC8vIHVudGlsIGl0cyBsb2FkaW5nIGlzIGNv
bXBsZXRlZC4KKyAgICBtX2VuZFRpbWUgPSBjdXJyZW50VGltZSgpOworICAgIG1fY2hhbmdlcy5z
ZXQoVGltaW5nQ2hhbmdlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwIGIvV2ViQ29yZS9sb2Fk
ZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwCmluZGV4IDRjZGRkMDEuLjQ0ZmY3YmEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmNwcAorKysgYi9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHAKQEAgLTk2LDYgKzk2LDExIEBAIHZv
aWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpZEZhaWxUb0xvYWQoUmVzb3VyY2VMb2FkZXIqIGxv
YWRlciwgY29uc3QgUmVzb3VyY2VFCiAKICAgICBpZiAoIWVycm9yLmlzTnVsbCgpKQogICAgICAg
ICBtX2ZyYW1lLT5sb2FkZXIoKS0+Y2xpZW50KCktPmRpc3BhdGNoRGlkRmFpbExvYWRpbmcobG9h
ZGVyLT5kb2N1bWVudExvYWRlcigpLCBsb2FkZXItPmlkZW50aWZpZXIoKSwgZXJyb3IpOworCisj
aWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2Uo
KSkKKyAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRGYWlsTG9hZGluZyhs
b2FkZXItPmlkZW50aWZpZXIoKSwgZXJyb3IpOworI2VuZGlmCiB9CiAKIHZvaWQgUmVzb3VyY2VM
b2FkTm90aWZpZXI6OmRpZExvYWRSZXNvdXJjZUJ5WE1MSHR0cFJlcXVlc3QodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBjb25zdCBTY3JpcHRTdHJpbmcmIHNvdXJjZVN0cmluZykKQEAgLTEzNiw3
ICsxNDEsNyBAQCB2b2lkIFJlc291cmNlTG9hZE5vdGlmaWVyOjpkaXNwYXRjaERpZFJlY2VpdmVS
ZXNwb25zZShEb2N1bWVudExvYWRlciogbG9hZGVyLCB1bgogCiAjaWYgRU5BQkxFKElOU1BFQ1RP
UikKICAgICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKSkKLSAgICAgICAgcGFnZS0+
aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRSZWNlaXZlUmVzcG9uc2UobG9hZGVyLCBpZGVudGlm
aWVyLCByKTsKKyAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRSZWNlaXZl
UmVzcG9uc2UoaWRlbnRpZmllciwgcik7CiAjZW5kaWYKIH0KIApAQCAtMTQ2LDcgKzE1MSw3IEBA
IHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpc3BhdGNoRGlkUmVjZWl2ZUNvbnRlbnRMZW5n
dGgoRG9jdW1lbnRMb2FkZXIqIGxvYWRlCiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlm
IChQYWdlKiBwYWdlID0gbV9mcmFtZS0+cGFnZSgpKQotICAgICAgICBwYWdlLT5pbnNwZWN0b3JD
b250cm9sbGVyKCktPmRpZFJlY2VpdmVDb250ZW50TGVuZ3RoKGxvYWRlciwgaWRlbnRpZmllciwg
bGVuZ3RoKTsKKyAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRSZWNlaXZl
Q29udGVudExlbmd0aChpZGVudGlmaWVyLCBsZW5ndGgpOwogI2VuZGlmCiB9CiAKQEAgLTE1Niw3
ICsxNjEsNyBAQCB2b2lkIFJlc291cmNlTG9hZE5vdGlmaWVyOjpkaXNwYXRjaERpZEZpbmlzaExv
YWRpbmcoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaQogCiAjaWYgRU5BQkxFKElOU1BFQ1RP
UikKICAgICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKSkKLSAgICAgICAgcGFnZS0+
aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRGaW5pc2hMb2FkaW5nKGxvYWRlciwgaWRlbnRpZmll
cik7CisgICAgICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+ZGlkRmluaXNoTG9hZGlu
ZyhpZGVudGlmaWVyKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBkNGQ0NjRjLi5jYjMw
NGI0IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAwOS0xMS0yNCAgWXVyeSBTZW1p
a2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworCisgICAgICAgIFdlYkNvcmUgcGFydCBvZiB0aGUgZml4IHRoYXQgYWxs
b3dzIHRvIHZpZXcgcGx1Z2luCisgICAgICAgIHJlc291cmNlcyBsb2FkZWQgYnkgcGx1Z2lucy4g
TWV0aG9kcyB0aGF0IGZvciByZXNvdXJjZQorICAgICAgICBsb2FkaW5nIG5vdGlmaWNhdGlvbnMg
YXJlIGV4cG9zZWQgdGhyb3VnaCBXZWJEZXZUb29sc0FnZW50CisgICAgICAgIGludGVyZmFjZSB0
byB0aGUgZ2x1ZSBjb2RlIHRvIGFsbG93IENocm9taXVtJ3MgcGx1Z2luCisgICAgICAgIGltcGxl
bWVudGF0aW9uIHRvIG5vdGlmeSBJbnNwZWN0b3JDb250cm9sbGVyIGFib3V0IHJlc291cmNlCisg
ICAgICAgIGxvYWRpbmcgaW4gcGx1Z2lucy4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE4MzIKKworICAgICAgICAqIHB1YmxpYy9XZWJEZXZUb29s
c0FnZW50Lmg6CisgICAgICAgICogcHVibGljL1dlYlZpZXcuaDoKKyAgICAgICAgKiBzcmMvV2Vi
Vmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6Y3JlYXRlVW5pcXVl
SWRlbnRpZmllckZvclJlcXVlc3QpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgorCiAy
MDA5LTExLTI0ICBEbWl0cnkgVGl0b3YgIDxkaW1pY2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJEZXZUb29sc0FnZW50LmggYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRldlRv
b2xzQWdlbnQuaAppbmRleCBjZjRkN2VhLi5hY2ZmZDkzIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkRldlRvb2xzQWdlbnQuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYkRldlRvb2xzQWdlbnQuaApAQCAtMzYsOCArMzYsMTEgQEAKIG5hbWVzcGFjZSBXZWJL
aXQgewogY2xhc3MgV2ViRGV2VG9vbHNBZ2VudENsaWVudDsKIGNsYXNzIFdlYlN0cmluZzsKK2Ns
YXNzIFdlYlVSTFJlcXVlc3Q7CitjbGFzcyBXZWJVUkxSZXNwb25zZTsKIGNsYXNzIFdlYlZpZXc7
CiBzdHJ1Y3QgV2ViUG9pbnQ7CitzdHJ1Y3QgV2ViVVJMRXJyb3I7CiAKIGNsYXNzIFdlYkRldlRv
b2xzQWdlbnQgewogcHVibGljOgpAQCAtNzAsNiArNzMsMTMgQEAgcHVibGljOgogICAgIC8vIElu
c3RhbGxzIGRpc3BhdGNoIGhhbmRsZSB0aGF0IGlzIGdvaW5nIHRvIGJlIGNhbGxlZCBwZXJpb2Rp
Y2FsbHkKICAgICAvLyB3aGlsZSBvbiBhIGJyZWFrcG9pbnQuCiAgICAgV0VCS0lUX0FQSSBzdGF0
aWMgdm9pZCBzZXRNZXNzYWdlTG9vcERpc3BhdGNoSGFuZGxlcihNZXNzYWdlTG9vcERpc3BhdGNo
SGFuZGxlcik7CisKKyAgICB2aXJ0dWFsIHZvaWQgaWRlbnRpZmllckZvckluaXRpYWxSZXF1ZXN0
Rm9yUGx1Z2luKGludCByZXNvdXJjZUlkLCBjb25zdCBXZWJVUkxSZXF1ZXN0JikgPSAwOworICAg
IHZpcnR1YWwgdm9pZCB3aWxsU2VuZFJlcXVlc3RGb3JQbHVnaW4oaW50IHJlc291cmNlSWQsIGNv
bnN0IFdlYlVSTFJlcXVlc3QmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRh
Rm9yUGx1Z2luKGludCByZXNvdXJjZUlkLCBpbnQgbGVuZ3RoKSA9IDA7CisgICAgdmlydHVhbCB2
b2lkIGRpZFJlY2VpdmVSZXNwb25zZUZvclBsdWdpbihpbnQgcmVzb3VyY2VJZCwgY29uc3QgV2Vi
VVJMUmVzcG9uc2UmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExvYWRpbmdGb3JQ
bHVnaW4oaW50IHJlc291cmNlSWQpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkRmFpbExvYWRp
bmdGb3JQbHVnaW4oaW50IHJlc291cmNlSWQsIGNvbnN0IFdlYlVSTEVycm9yJikgPSAwOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYlZpZXcuaCBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oCmluZGV4IDgy
NjFhZmMuLjI5YTNmOWUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmll
dy5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oCkBAIC0xOTEsNiArMTkx
LDEzIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgc2V0RHJvcEVmZmVjdChib29sIGFjY2Vw
dCkgPSAwOwogCiAKKyAgICAvLyBTdXBwb3J0IGZvciByZXNvdXJjZSBsb2FkaW5nIGluaXRpYXRl
ZCBieSBwbHVnaW5zIC0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgIC8vIFJldHVybnMgbmV4dCB1
bnVzZWQgcmVxdWVzdCBpZGVudGlmaWVyIHdoaWNoIGlzIHVuaXF1ZSB3aXRoaW4gdGhlCisgICAg
Ly8gcGFyZW50IFBhZ2UuCisgICAgdmlydHVhbCB1bnNpZ25lZCBsb25nIGNyZWF0ZVVuaXF1ZUlk
ZW50aWZpZXJGb3JSZXF1ZXN0KCkgPSAwOworCisKICAgICAvLyBEZXZlbG9wZXIgdG9vbHMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogICAg
IC8vIEluc3BlY3QgYSBwYXJ0aWN1bGFyIHBvaW50IGluIHRoZSBXZWJWaWV3LiAgKHggPSAtMSB8
fCB5ID0gLTEpIGlzIGEKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0lt
cGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggYWFmNzE3
NC4uNzkxNGE5ZSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5j
cHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKQEAgLTcwLDYgKzcw
LDcgQEAKICNpbmNsdWRlICJQbHVnaW5JbmZvU3RvcmUuaCIKICNpbmNsdWRlICJQb3B1cE1lbnVD
aHJvbWl1bS5oIgogI2luY2x1ZGUgIlBvcHVwTWVudUNsaWVudC5oIgorI2luY2x1ZGUgIlByb2dy
ZXNzVHJhY2tlci5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJSZXNvdXJj
ZUhhbmRsZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCkBAIC0xNDc1LDYgKzE0NzYs
MTIgQEAgaW50IFdlYlZpZXdJbXBsOjpkcmFnSWRlbnRpdHkoKQogICAgIHJldHVybiAwOwogfQog
Cit1bnNpZ25lZCBsb25nIFdlYlZpZXdJbXBsOjpjcmVhdGVVbmlxdWVJZGVudGlmaWVyRm9yUmVx
dWVzdCgpIHsKKyAgICBpZiAobV9wYWdlKQorICAgICAgICByZXR1cm4gbV9wYWdlLT5wcm9ncmVz
cygpLT5jcmVhdGVVbmlxdWVJZGVudGlmaWVyKCk7CisgICAgcmV0dXJuIDA7Cit9CisKIHZvaWQg
V2ViVmlld0ltcGw6Omluc3BlY3RFbGVtZW50QXQoY29uc3QgV2ViUG9pbnQmIHBvaW50KQogewog
ICAgIGlmICghbV9wYWdlLmdldCgpKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJWaWV3SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCmluZGV4IDJi
ODNhOGUuLjk2MjI3ZTMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0lt
cGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKQEAgLTE0Myw2ICsx
NDMsNyBAQCBwdWJsaWM6CiAgICAgICAgIGNvbnN0IFdlYlBvaW50JiBzY3JlZW5Qb2ludCk7CiAg
ICAgdmlydHVhbCBpbnQgZHJhZ0lkZW50aXR5KCk7CiAgICAgdmlydHVhbCBib29sIHNldERyb3BF
ZmZlY3QoYm9vbCBhY2NlcHQpOworICAgIHZpcnR1YWwgdW5zaWduZWQgbG9uZyBjcmVhdGVVbmlx
dWVJZGVudGlmaWVyRm9yUmVxdWVzdCgpOwogICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0RWxlbWVu
dEF0KGNvbnN0IFdlYlBvaW50JiBwb2ludCk7CiAgICAgdmlydHVhbCBXZWJTdHJpbmcgaW5zcGVj
dG9yU2V0dGluZ3MoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0SW5zcGVjdG9yU2V0dGlu
Z3MoY29uc3QgV2ViU3RyaW5nJiBzZXR0aW5ncyk7Cg==
</data>
<flag name="review"
          id="25577"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
    <flag name="commit-queue"
          id="25578"
          type_id="3"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43850</attachid>
            <date>2009-11-25 08:15:16 -0800</date>
            <delta_ts>2009-11-25 10:11:33 -0800</delta_ts>
            <desc>patch</desc>
            <filename>inspect-plugin-resources4.patch</filename>
            <type>text/plain</type>
            <size>12346</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NzA1MjliMi4uYzZlMDM1NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAwOS0xMS0yNSAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgV2ViQ29yZSBwYXJ0IG9mIHRoZSBmaXggdGhh
dCBhbGxvd3MgdG8gdmlldyBwbHVnaW4KKyAgICAgICAgcmVzb3VyY2VzIGxvYWRlZCBieSBwbHVn
aW5zLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0z
MTgzMgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6d2lsbFNlbmRSZXF1ZXN0KToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRpZFJlY2VpdmVSZXNwb25zZSk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNlaXZlQ29udGVu
dExlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRGaW5p
c2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRpZEZh
aWxMb2FkaW5nKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oOiBS
ZW1vdmUgdW51c2VkIERvY3VtZW50TG9hZGVyIHBhcmFtZXRlcnMgZnJvbSBpbnNwZWN0b3IgbWV0
aG9kcy4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2U6OmFkZExlbmd0aCk6IFVwZGF0ZSBsb2FkaW5n
IGVuZCB0aW1lIHdoZW4gbmV3IGRhdGEgYXJlIHJlY2VpdmVkLgorICAgICAgICAqIGxvYWRlci9S
ZXNvdXJjZUxvYWROb3RpZmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRO
b3RpZmllcjo6ZGlkRmFpbFRvTG9hZCk6IE5vdGlmeSBJbnNwZWN0b3JDb250cm9sbGVyIGFib3V0
IHRoZSBmYWlsdXJlLgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkTm90aWZpZXI6OmRp
c3BhdGNoRGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9h
ZE5vdGlmaWVyOjpkaXNwYXRjaERpZFJlY2VpdmVDb250ZW50TGVuZ3RoKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlc291cmNlTG9hZE5vdGlmaWVyOjpkaXNwYXRjaERpZEZpbmlzaExvYWRpbmcpOgor
CiAyMDA5LTExLTI0ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
b250cm9sbGVyLmNwcAppbmRleCBkZGIxM2QyLi5hYjliNjFlIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtOTM5LDcgKzkzOSw3IEBAIGJvb2wgSW5zcGVj
dG9yQ29udHJvbGxlcjo6aXNNYWluUmVzb3VyY2VMb2FkZXIoRG9jdW1lbnRMb2FkZXIqIGxvYWRl
ciwgY29uc3QgS1VSCiAgICAgcmV0dXJuIGxvYWRlci0+ZnJhbWUoKSA9PSBtX2luc3BlY3RlZFBh
Z2UtPm1haW5GcmFtZSgpICYmIHJlcXVlc3RVcmwgPT0gbG9hZGVyLT5yZXF1ZXN0VVJMKCk7CiB9
CiAKLXZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6d2lsbFNlbmRSZXF1ZXN0KERvY3VtZW50TG9h
ZGVyKiBsb2FkZXIsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgUmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlKQordm9pZCBJ
bnNwZWN0b3JDb250cm9sbGVyOjp3aWxsU2VuZFJlcXVlc3QoRG9jdW1lbnRMb2FkZXIqIGxvYWRl
ciwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9uc2UpCiB7CiAgICAgaWYg
KG1fdGltZWxpbmVBZ2VudCkKICAgICAgICAgbV90aW1lbGluZUFnZW50LT53aWxsU2VuZFJlc291
cmNlUmVxdWVzdChpZGVudGlmaWVyLCBpc01haW5SZXNvdXJjZUxvYWRlcihsb2FkZXIsIHJlcXVl
c3QudXJsKCkpLCByZXF1ZXN0KTsKQEAgLTk1OSw3ICs5NTksNyBAQCB2b2lkIEluc3BlY3RvckNv
bnRyb2xsZXI6OndpbGxTZW5kUmVxdWVzdChEb2N1bWVudExvYWRlciogbG9hZGVyLCB1bnNpZ25l
ZCBsb25nCiAgICAgICAgIHJlc291cmNlLT5jcmVhdGVTY3JpcHRPYmplY3QobV9mcm9udGVuZC5n
ZXQoKSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNl
KERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByZXNwb25zZSkKK3ZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlkUmVjZWl2
ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcmVzcG9uc2UpCiB7CiAgICAgaWYgKG1fdGltZWxpbmVBZ2VudCkKICAgICAgICAgbV90aW1l
bGluZUFnZW50LT5kaWRSZWNlaXZlUmVzb3VyY2VSZXNwb25zZShpZGVudGlmaWVyLCByZXNwb25z
ZSk7CkBAIC05NzUsNyArOTc1LDcgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNl
aXZlUmVzcG9uc2UoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW4KICAgICAgICAg
cmVzb3VyY2UtPnVwZGF0ZVNjcmlwdE9iamVjdChtX2Zyb250ZW5kLmdldCgpKTsKIH0KIAotdm9p
ZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNlaXZlQ29udGVudExlbmd0aChEb2N1bWVudExv
YWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgaW50IGxlbmd0aFJlY2VpdmVkKQordm9p
ZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNlaXZlQ29udGVudExlbmd0aCh1bnNpZ25lZCBs
b25nIGlkZW50aWZpZXIsIGludCBsZW5ndGhSZWNlaXZlZCkKIHsKICAgICBSZWZQdHI8SW5zcGVj
dG9yUmVzb3VyY2U+IHJlc291cmNlID0gZ2V0VHJhY2tlZFJlc291cmNlKGlkZW50aWZpZXIpOwog
ICAgIGlmICghcmVzb3VyY2UpCkBAIC05ODcsNyArOTg3LDcgQEAgdm9pZCBJbnNwZWN0b3JDb250
cm9sbGVyOjpkaWRSZWNlaXZlQ29udGVudExlbmd0aChEb2N1bWVudExvYWRlciosIHVuc2lnbmVk
IGxvbmcKICAgICAgICAgcmVzb3VyY2UtPnVwZGF0ZVNjcmlwdE9iamVjdChtX2Zyb250ZW5kLmdl
dCgpKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRGaW5pc2hMb2FkaW5nKERv
Y3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKQordm9pZCBJbnNwZWN0b3JD
b250cm9sbGVyOjpkaWRGaW5pc2hMb2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKIHsK
ICAgICBpZiAobV90aW1lbGluZUFnZW50KQogICAgICAgICBtX3RpbWVsaW5lQWdlbnQtPmRpZEZp
bmlzaExvYWRpbmdSZXNvdXJjZShpZGVudGlmaWVyLCBmYWxzZSk7CkBAIC0xMDA2LDcgKzEwMDYs
NyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpZEZpbmlzaExvYWRpbmcoRG9jdW1lbnRM
b2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aQogICAgICAgICByZXNvdXJjZS0+dXBkYXRlU2Ny
aXB0T2JqZWN0KG1fZnJvbnRlbmQuZ2V0KCkpOwogfQogCi12b2lkIEluc3BlY3RvckNvbnRyb2xs
ZXI6OmRpZEZhaWxMb2FkaW5nKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlm
aWVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiAvKmVycm9yKi8pCit2b2lkIEluc3BlY3RvckNvbnRy
b2xsZXI6OmRpZEZhaWxMb2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVz
b3VyY2VFcnJvciYgLyplcnJvciovKQogewogICAgIGlmIChtX3RpbWVsaW5lQWdlbnQpCiAgICAg
ICAgIG1fdGltZWxpbmVBZ2VudC0+ZGlkRmluaXNoTG9hZGluZ1Jlc291cmNlKGlkZW50aWZpZXIs
IHRydWUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxl
ci5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDIyYmQw
NzYuLjY2NGJhZGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAg
LTIxNiwxMSArMjE2LDExIEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZExvYWRSZXNvdXJjZUZyb21N
ZW1vcnlDYWNoZShEb2N1bWVudExvYWRlciosIGNvbnN0IENhY2hlZFJlc291cmNlKik7CiAKICAg
ICB2b2lkIGlkZW50aWZpZXJGb3JJbml0aWFsUmVxdWVzdCh1bnNpZ25lZCBsb25nIGlkZW50aWZp
ZXIsIERvY3VtZW50TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jik7Ci0gICAgdm9pZCB3
aWxsU2VuZFJlcXVlc3QoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIs
IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9u
c2UpOwotICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKERvY3VtZW50TG9hZGVyKiwgdW5zaWdu
ZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7Ci0gICAgdm9pZCBk
aWRSZWNlaXZlQ29udGVudExlbmd0aChEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRl
bnRpZmllciwgaW50IGxlbmd0aFJlY2VpdmVkKTsKLSAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmco
RG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpOwotICAgIHZvaWQgZGlk
RmFpbExvYWRpbmcoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNv
bnN0IFJlc291cmNlRXJyb3ImKTsKKyAgICB2b2lkIHdpbGxTZW5kUmVxdWVzdChEb2N1bWVudExv
YWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jiwg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSk7CisgICAgdm9pZCBkaWRS
ZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJik7CisgICAgdm9pZCBkaWRSZWNlaXZlQ29udGVudExlbmd0aCh1bnNpZ25lZCBsb25n
IGlkZW50aWZpZXIsIGludCBsZW5ndGhSZWNlaXZlZCk7CisgICAgdm9pZCBkaWRGaW5pc2hMb2Fk
aW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcik7CisgICAgdm9pZCBkaWRGYWlsTG9hZGluZyh1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKICAgICB2b2lk
IHJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVxdWVzdCh1bnNpZ25lZCBsb25nIGlkZW50aWZp
ZXIsIGNvbnN0IFNjcmlwdFN0cmluZyYgc291cmNlU3RyaW5nKTsKICAgICB2b2lkIHNjcmlwdElt
cG9ydGVkKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBzb3VyY2VTdHJp
bmcpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZS5j
cHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZS5jcHAKaW5kZXggMDg3MDI0
MC4uZGE5NzA1YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3Vy
Y2UuY3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlLmNwcApAQCAt
Mzc2LDYgKzM3NiwxMiBAQCB2b2lkIEluc3BlY3RvclJlc291cmNlOjphZGRMZW5ndGgoaW50IGxl
bmd0aFJlY2VpdmVkKQogewogICAgIG1fbGVuZ3RoICs9IGxlbmd0aFJlY2VpdmVkOwogICAgIG1f
Y2hhbmdlcy5zZXQoTGVuZ3RoQ2hhbmdlKTsKKworICAgIC8vIFVwZGF0ZSBsb2FkIHRpbWUsIG90
aGVyd2lzZSB0aGUgcmVzb3VyY2Ugd2lsbAorICAgIC8vIGhhdmUgc3RhcnQgdGltZSA9PSBlbmQg
dGltZSBhbmQgIDAgbG9hZCBkdXJhdGlvbgorICAgIC8vIHVudGlsIGl0cyBsb2FkaW5nIGlzIGNv
bXBsZXRlZC4KKyAgICBtX2VuZFRpbWUgPSBjdXJyZW50VGltZSgpOworICAgIG1fY2hhbmdlcy5z
ZXQoVGltaW5nQ2hhbmdlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwIGIvV2ViQ29yZS9sb2Fk
ZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwCmluZGV4IDRjZGRkMDEuLjQ0ZmY3YmEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmNwcAorKysgYi9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHAKQEAgLTk2LDYgKzk2LDExIEBAIHZv
aWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpZEZhaWxUb0xvYWQoUmVzb3VyY2VMb2FkZXIqIGxv
YWRlciwgY29uc3QgUmVzb3VyY2VFCiAKICAgICBpZiAoIWVycm9yLmlzTnVsbCgpKQogICAgICAg
ICBtX2ZyYW1lLT5sb2FkZXIoKS0+Y2xpZW50KCktPmRpc3BhdGNoRGlkRmFpbExvYWRpbmcobG9h
ZGVyLT5kb2N1bWVudExvYWRlcigpLCBsb2FkZXItPmlkZW50aWZpZXIoKSwgZXJyb3IpOworCisj
aWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2Uo
KSkKKyAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRGYWlsTG9hZGluZyhs
b2FkZXItPmlkZW50aWZpZXIoKSwgZXJyb3IpOworI2VuZGlmCiB9CiAKIHZvaWQgUmVzb3VyY2VM
b2FkTm90aWZpZXI6OmRpZExvYWRSZXNvdXJjZUJ5WE1MSHR0cFJlcXVlc3QodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBjb25zdCBTY3JpcHRTdHJpbmcmIHNvdXJjZVN0cmluZykKQEAgLTEzNiw3
ICsxNDEsNyBAQCB2b2lkIFJlc291cmNlTG9hZE5vdGlmaWVyOjpkaXNwYXRjaERpZFJlY2VpdmVS
ZXNwb25zZShEb2N1bWVudExvYWRlciogbG9hZGVyLCB1bgogCiAjaWYgRU5BQkxFKElOU1BFQ1RP
UikKICAgICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKSkKLSAgICAgICAgcGFnZS0+
aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRSZWNlaXZlUmVzcG9uc2UobG9hZGVyLCBpZGVudGlm
aWVyLCByKTsKKyAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRSZWNlaXZl
UmVzcG9uc2UoaWRlbnRpZmllciwgcik7CiAjZW5kaWYKIH0KIApAQCAtMTQ2LDcgKzE1MSw3IEBA
IHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpc3BhdGNoRGlkUmVjZWl2ZUNvbnRlbnRMZW5n
dGgoRG9jdW1lbnRMb2FkZXIqIGxvYWRlCiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlm
IChQYWdlKiBwYWdlID0gbV9mcmFtZS0+cGFnZSgpKQotICAgICAgICBwYWdlLT5pbnNwZWN0b3JD
b250cm9sbGVyKCktPmRpZFJlY2VpdmVDb250ZW50TGVuZ3RoKGxvYWRlciwgaWRlbnRpZmllciwg
bGVuZ3RoKTsKKyAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRSZWNlaXZl
Q29udGVudExlbmd0aChpZGVudGlmaWVyLCBsZW5ndGgpOwogI2VuZGlmCiB9CiAKQEAgLTE1Niw3
ICsxNjEsNyBAQCB2b2lkIFJlc291cmNlTG9hZE5vdGlmaWVyOjpkaXNwYXRjaERpZEZpbmlzaExv
YWRpbmcoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaQogCiAjaWYgRU5BQkxFKElOU1BFQ1RP
UikKICAgICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKSkKLSAgICAgICAgcGFnZS0+
aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRGaW5pc2hMb2FkaW5nKGxvYWRlciwgaWRlbnRpZmll
cik7CisgICAgICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+ZGlkRmluaXNoTG9hZGlu
ZyhpZGVudGlmaWVyKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBkNGQ0NjRjLi5jYjMw
NGI0IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAwOS0xMS0yNCAgWXVyeSBTZW1p
a2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworCisgICAgICAgIFdlYkNvcmUgcGFydCBvZiB0aGUgZml4IHRoYXQgYWxs
b3dzIHRvIHZpZXcgcGx1Z2luCisgICAgICAgIHJlc291cmNlcyBsb2FkZWQgYnkgcGx1Z2lucy4g
TWV0aG9kcyB0aGF0IGZvciByZXNvdXJjZQorICAgICAgICBsb2FkaW5nIG5vdGlmaWNhdGlvbnMg
YXJlIGV4cG9zZWQgdGhyb3VnaCBXZWJEZXZUb29sc0FnZW50CisgICAgICAgIGludGVyZmFjZSB0
byB0aGUgZ2x1ZSBjb2RlIHRvIGFsbG93IENocm9taXVtJ3MgcGx1Z2luCisgICAgICAgIGltcGxl
bWVudGF0aW9uIHRvIG5vdGlmeSBJbnNwZWN0b3JDb250cm9sbGVyIGFib3V0IHJlc291cmNlCisg
ICAgICAgIGxvYWRpbmcgaW4gcGx1Z2lucy4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzE4MzIKKworICAgICAgICAqIHB1YmxpYy9XZWJEZXZUb29s
c0FnZW50Lmg6CisgICAgICAgICogcHVibGljL1dlYlZpZXcuaDoKKyAgICAgICAgKiBzcmMvV2Vi
Vmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6Y3JlYXRlVW5pcXVl
SWRlbnRpZmllckZvclJlcXVlc3QpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgorCiAy
MDA5LTExLTI0ICBEbWl0cnkgVGl0b3YgIDxkaW1pY2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJEZXZUb29sc0FnZW50LmggYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRldlRv
b2xzQWdlbnQuaAppbmRleCBjZjRkN2VhLi5hOGRkNWQyIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkRldlRvb2xzQWdlbnQuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYkRldlRvb2xzQWdlbnQuaApAQCAtMzYsOCArMzYsMTEgQEAKIG5hbWVzcGFjZSBXZWJL
aXQgewogY2xhc3MgV2ViRGV2VG9vbHNBZ2VudENsaWVudDsKIGNsYXNzIFdlYlN0cmluZzsKK2Ns
YXNzIFdlYlVSTFJlcXVlc3Q7CitjbGFzcyBXZWJVUkxSZXNwb25zZTsKIGNsYXNzIFdlYlZpZXc7
CiBzdHJ1Y3QgV2ViUG9pbnQ7CitzdHJ1Y3QgV2ViVVJMRXJyb3I7CiAKIGNsYXNzIFdlYkRldlRv
b2xzQWdlbnQgewogcHVibGljOgpAQCAtNzAsNiArNzMsMTMgQEAgcHVibGljOgogICAgIC8vIElu
c3RhbGxzIGRpc3BhdGNoIGhhbmRsZSB0aGF0IGlzIGdvaW5nIHRvIGJlIGNhbGxlZCBwZXJpb2Rp
Y2FsbHkKICAgICAvLyB3aGlsZSBvbiBhIGJyZWFrcG9pbnQuCiAgICAgV0VCS0lUX0FQSSBzdGF0
aWMgdm9pZCBzZXRNZXNzYWdlTG9vcERpc3BhdGNoSGFuZGxlcihNZXNzYWdlTG9vcERpc3BhdGNo
SGFuZGxlcik7CisKKyAgICB2aXJ0dWFsIHZvaWQgaWRlbnRpZmllckZvckluaXRpYWxSZXF1ZXN0
Rm9yUGx1Z2luKHVuc2lnbmVkIGxvbmcgcmVzb3VyY2VJZCwgY29uc3QgV2ViVVJMUmVxdWVzdCYp
ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgd2lsbFNlbmRSZXF1ZXN0Rm9yUGx1Z2luKHVuc2lnbmVk
IGxvbmcgcmVzb3VyY2VJZCwgY29uc3QgV2ViVVJMUmVxdWVzdCYpID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQgZGlkUmVjZWl2ZURhdGFGb3JQbHVnaW4odW5zaWduZWQgbG9uZyByZXNvdXJjZUlkLCBp
bnQgbGVuZ3RoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZUZvclBs
dWdpbih1bnNpZ25lZCBsb25nIHJlc291cmNlSWQsIGNvbnN0IFdlYlVSTFJlc3BvbnNlJikgPSAw
OworICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nRm9yUGx1Z2luKHVuc2lnbmVkIGxv
bmcgcmVzb3VyY2VJZCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBkaWRGYWlsTG9hZGluZ0ZvclBs
dWdpbih1bnNpZ25lZCBsb25nIHJlc291cmNlSWQsIGNvbnN0IFdlYlVSTEVycm9yJikgPSAwOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYlZpZXcuaCBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oCmluZGV4
IDgyNjFhZmMuLjI5YTNmOWUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
Vmlldy5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oCkBAIC0xOTEsNiAr
MTkxLDEzIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgc2V0RHJvcEVmZmVjdChib29sIGFj
Y2VwdCkgPSAwOwogCiAKKyAgICAvLyBTdXBwb3J0IGZvciByZXNvdXJjZSBsb2FkaW5nIGluaXRp
YXRlZCBieSBwbHVnaW5zIC0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgIC8vIFJldHVybnMgbmV4
dCB1bnVzZWQgcmVxdWVzdCBpZGVudGlmaWVyIHdoaWNoIGlzIHVuaXF1ZSB3aXRoaW4gdGhlCisg
ICAgLy8gcGFyZW50IFBhZ2UuCisgICAgdmlydHVhbCB1bnNpZ25lZCBsb25nIGNyZWF0ZVVuaXF1
ZUlkZW50aWZpZXJGb3JSZXF1ZXN0KCkgPSAwOworCisKICAgICAvLyBEZXZlbG9wZXIgdG9vbHMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAog
ICAgIC8vIEluc3BlY3QgYSBwYXJ0aWN1bGFyIHBvaW50IGluIHRoZSBXZWJWaWV3LiAgKHggPSAt
MSB8fCB5ID0gLTEpIGlzIGEKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggYWFm
NzE3NC4uNzkxNGE5ZSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1w
bC5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKQEAgLTcwLDYg
KzcwLDcgQEAKICNpbmNsdWRlICJQbHVnaW5JbmZvU3RvcmUuaCIKICNpbmNsdWRlICJQb3B1cE1l
bnVDaHJvbWl1bS5oIgogI2luY2x1ZGUgIlBvcHVwTWVudUNsaWVudC5oIgorI2luY2x1ZGUgIlBy
b2dyZXNzVHJhY2tlci5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJSZXNv
dXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCkBAIC0xNDc1LDYgKzE0
NzYsMTIgQEAgaW50IFdlYlZpZXdJbXBsOjpkcmFnSWRlbnRpdHkoKQogICAgIHJldHVybiAwOwog
fQogCit1bnNpZ25lZCBsb25nIFdlYlZpZXdJbXBsOjpjcmVhdGVVbmlxdWVJZGVudGlmaWVyRm9y
UmVxdWVzdCgpIHsKKyAgICBpZiAobV9wYWdlKQorICAgICAgICByZXR1cm4gbV9wYWdlLT5wcm9n
cmVzcygpLT5jcmVhdGVVbmlxdWVJZGVudGlmaWVyKCk7CisgICAgcmV0dXJuIDA7Cit9CisKIHZv
aWQgV2ViVmlld0ltcGw6Omluc3BlY3RFbGVtZW50QXQoY29uc3QgV2ViUG9pbnQmIHBvaW50KQog
ewogICAgIGlmICghbV9wYWdlLmdldCgpKQpkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJWaWV3SW1wbC5oIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCmluZGV4
IDJiODNhOGUuLjk2MjI3ZTMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKQEAgLTE0Myw2
ICsxNDMsNyBAQCBwdWJsaWM6CiAgICAgICAgIGNvbnN0IFdlYlBvaW50JiBzY3JlZW5Qb2ludCk7
CiAgICAgdmlydHVhbCBpbnQgZHJhZ0lkZW50aXR5KCk7CiAgICAgdmlydHVhbCBib29sIHNldERy
b3BFZmZlY3QoYm9vbCBhY2NlcHQpOworICAgIHZpcnR1YWwgdW5zaWduZWQgbG9uZyBjcmVhdGVV
bmlxdWVJZGVudGlmaWVyRm9yUmVxdWVzdCgpOwogICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0RWxl
bWVudEF0KGNvbnN0IFdlYlBvaW50JiBwb2ludCk7CiAgICAgdmlydHVhbCBXZWJTdHJpbmcgaW5z
cGVjdG9yU2V0dGluZ3MoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0SW5zcGVjdG9yU2V0
dGluZ3MoY29uc3QgV2ViU3RyaW5nJiBzZXR0aW5ncyk7Cg==
</data>
<flag name="review"
          id="25592"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
    <flag name="commit-queue"
          id="25593"
          type_id="3"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43857</attachid>
            <date>2009-11-25 10:11:33 -0800</date>
            <delta_ts>2009-11-26 07:22:34 -0800</delta_ts>
            <desc>patch</desc>
            <filename>inspect-plugin-resources5.patch</filename>
            <type>text/plain</type>
            <size>12290</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NzA1MjliMi4uYzZlMDM1NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAwOS0xMS0yNSAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgV2ViQ29yZSBwYXJ0IG9mIHRoZSBmaXggdGhh
dCBhbGxvd3MgdG8gdmlldyBwbHVnaW4KKyAgICAgICAgcmVzb3VyY2VzIGxvYWRlZCBieSBwbHVn
aW5zLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0z
MTgzMgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6d2lsbFNlbmRSZXF1ZXN0KToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRpZFJlY2VpdmVSZXNwb25zZSk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNlaXZlQ29udGVu
dExlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRGaW5p
c2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRpZEZh
aWxMb2FkaW5nKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oOiBS
ZW1vdmUgdW51c2VkIERvY3VtZW50TG9hZGVyIHBhcmFtZXRlcnMgZnJvbSBpbnNwZWN0b3IgbWV0
aG9kcy4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2U6OmFkZExlbmd0aCk6IFVwZGF0ZSBsb2FkaW5n
IGVuZCB0aW1lIHdoZW4gbmV3IGRhdGEgYXJlIHJlY2VpdmVkLgorICAgICAgICAqIGxvYWRlci9S
ZXNvdXJjZUxvYWROb3RpZmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRO
b3RpZmllcjo6ZGlkRmFpbFRvTG9hZCk6IE5vdGlmeSBJbnNwZWN0b3JDb250cm9sbGVyIGFib3V0
IHRoZSBmYWlsdXJlLgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkTm90aWZpZXI6OmRp
c3BhdGNoRGlkUmVjZWl2ZVJlc3BvbnNlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9h
ZE5vdGlmaWVyOjpkaXNwYXRjaERpZFJlY2VpdmVDb250ZW50TGVuZ3RoKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlc291cmNlTG9hZE5vdGlmaWVyOjpkaXNwYXRjaERpZEZpbmlzaExvYWRpbmcpOgor
CiAyMDA5LTExLTI0ICBab2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
b250cm9sbGVyLmNwcAppbmRleCBkZGIxM2QyLi5hYjliNjFlIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcApAQCAtOTM5LDcgKzkzOSw3IEBAIGJvb2wgSW5zcGVj
dG9yQ29udHJvbGxlcjo6aXNNYWluUmVzb3VyY2VMb2FkZXIoRG9jdW1lbnRMb2FkZXIqIGxvYWRl
ciwgY29uc3QgS1VSCiAgICAgcmV0dXJuIGxvYWRlci0+ZnJhbWUoKSA9PSBtX2luc3BlY3RlZFBh
Z2UtPm1haW5GcmFtZSgpICYmIHJlcXVlc3RVcmwgPT0gbG9hZGVyLT5yZXF1ZXN0VVJMKCk7CiB9
CiAKLXZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6d2lsbFNlbmRSZXF1ZXN0KERvY3VtZW50TG9h
ZGVyKiBsb2FkZXIsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgUmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlKQordm9pZCBJ
bnNwZWN0b3JDb250cm9sbGVyOjp3aWxsU2VuZFJlcXVlc3QoRG9jdW1lbnRMb2FkZXIqIGxvYWRl
ciwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9uc2UpCiB7CiAgICAgaWYg
KG1fdGltZWxpbmVBZ2VudCkKICAgICAgICAgbV90aW1lbGluZUFnZW50LT53aWxsU2VuZFJlc291
cmNlUmVxdWVzdChpZGVudGlmaWVyLCBpc01haW5SZXNvdXJjZUxvYWRlcihsb2FkZXIsIHJlcXVl
c3QudXJsKCkpLCByZXF1ZXN0KTsKQEAgLTk1OSw3ICs5NTksNyBAQCB2b2lkIEluc3BlY3RvckNv
bnRyb2xsZXI6OndpbGxTZW5kUmVxdWVzdChEb2N1bWVudExvYWRlciogbG9hZGVyLCB1bnNpZ25l
ZCBsb25nCiAgICAgICAgIHJlc291cmNlLT5jcmVhdGVTY3JpcHRPYmplY3QobV9mcm9udGVuZC5n
ZXQoKSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNl
KERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByZXNwb25zZSkKK3ZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlkUmVjZWl2
ZVJlc3BvbnNlKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXNwb25z
ZSYgcmVzcG9uc2UpCiB7CiAgICAgaWYgKG1fdGltZWxpbmVBZ2VudCkKICAgICAgICAgbV90aW1l
bGluZUFnZW50LT5kaWRSZWNlaXZlUmVzb3VyY2VSZXNwb25zZShpZGVudGlmaWVyLCByZXNwb25z
ZSk7CkBAIC05NzUsNyArOTc1LDcgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNl
aXZlUmVzcG9uc2UoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW4KICAgICAgICAg
cmVzb3VyY2UtPnVwZGF0ZVNjcmlwdE9iamVjdChtX2Zyb250ZW5kLmdldCgpKTsKIH0KIAotdm9p
ZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNlaXZlQ29udGVudExlbmd0aChEb2N1bWVudExv
YWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgaW50IGxlbmd0aFJlY2VpdmVkKQordm9p
ZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNlaXZlQ29udGVudExlbmd0aCh1bnNpZ25lZCBs
b25nIGlkZW50aWZpZXIsIGludCBsZW5ndGhSZWNlaXZlZCkKIHsKICAgICBSZWZQdHI8SW5zcGVj
dG9yUmVzb3VyY2U+IHJlc291cmNlID0gZ2V0VHJhY2tlZFJlc291cmNlKGlkZW50aWZpZXIpOwog
ICAgIGlmICghcmVzb3VyY2UpCkBAIC05ODcsNyArOTg3LDcgQEAgdm9pZCBJbnNwZWN0b3JDb250
cm9sbGVyOjpkaWRSZWNlaXZlQ29udGVudExlbmd0aChEb2N1bWVudExvYWRlciosIHVuc2lnbmVk
IGxvbmcKICAgICAgICAgcmVzb3VyY2UtPnVwZGF0ZVNjcmlwdE9iamVjdChtX2Zyb250ZW5kLmdl
dCgpKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRGaW5pc2hMb2FkaW5nKERv
Y3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKQordm9pZCBJbnNwZWN0b3JD
b250cm9sbGVyOjpkaWRGaW5pc2hMb2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcikKIHsK
ICAgICBpZiAobV90aW1lbGluZUFnZW50KQogICAgICAgICBtX3RpbWVsaW5lQWdlbnQtPmRpZEZp
bmlzaExvYWRpbmdSZXNvdXJjZShpZGVudGlmaWVyLCBmYWxzZSk7CkBAIC0xMDA2LDcgKzEwMDYs
NyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpZEZpbmlzaExvYWRpbmcoRG9jdW1lbnRM
b2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aQogICAgICAgICByZXNvdXJjZS0+dXBkYXRlU2Ny
aXB0T2JqZWN0KG1fZnJvbnRlbmQuZ2V0KCkpOwogfQogCi12b2lkIEluc3BlY3RvckNvbnRyb2xs
ZXI6OmRpZEZhaWxMb2FkaW5nKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlm
aWVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiAvKmVycm9yKi8pCit2b2lkIEluc3BlY3RvckNvbnRy
b2xsZXI6OmRpZEZhaWxMb2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVz
b3VyY2VFcnJvciYgLyplcnJvciovKQogewogICAgIGlmIChtX3RpbWVsaW5lQWdlbnQpCiAgICAg
ICAgIG1fdGltZWxpbmVBZ2VudC0+ZGlkRmluaXNoTG9hZGluZ1Jlc291cmNlKGlkZW50aWZpZXIs
IHRydWUpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxl
ci5oIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCmluZGV4IDIyYmQw
NzYuLjY2NGJhZGIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuaAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAg
LTIxNiwxMSArMjE2LDExIEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZExvYWRSZXNvdXJjZUZyb21N
ZW1vcnlDYWNoZShEb2N1bWVudExvYWRlciosIGNvbnN0IENhY2hlZFJlc291cmNlKik7CiAKICAg
ICB2b2lkIGlkZW50aWZpZXJGb3JJbml0aWFsUmVxdWVzdCh1bnNpZ25lZCBsb25nIGlkZW50aWZp
ZXIsIERvY3VtZW50TG9hZGVyKiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jik7Ci0gICAgdm9pZCB3
aWxsU2VuZFJlcXVlc3QoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIs
IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9u
c2UpOwotICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKERvY3VtZW50TG9hZGVyKiwgdW5zaWdu
ZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7Ci0gICAgdm9pZCBk
aWRSZWNlaXZlQ29udGVudExlbmd0aChEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRl
bnRpZmllciwgaW50IGxlbmd0aFJlY2VpdmVkKTsKLSAgICB2b2lkIGRpZEZpbmlzaExvYWRpbmco
RG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpOwotICAgIHZvaWQgZGlk
RmFpbExvYWRpbmcoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNv
bnN0IFJlc291cmNlRXJyb3ImKTsKKyAgICB2b2lkIHdpbGxTZW5kUmVxdWVzdChEb2N1bWVudExv
YWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0Jiwg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSk7CisgICAgdm9pZCBkaWRS
ZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJik7CisgICAgdm9pZCBkaWRSZWNlaXZlQ29udGVudExlbmd0aCh1bnNpZ25lZCBsb25n
IGlkZW50aWZpZXIsIGludCBsZW5ndGhSZWNlaXZlZCk7CisgICAgdm9pZCBkaWRGaW5pc2hMb2Fk
aW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcik7CisgICAgdm9pZCBkaWRGYWlsTG9hZGluZyh1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKICAgICB2b2lk
IHJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVxdWVzdCh1bnNpZ25lZCBsb25nIGlkZW50aWZp
ZXIsIGNvbnN0IFNjcmlwdFN0cmluZyYgc291cmNlU3RyaW5nKTsKICAgICB2b2lkIHNjcmlwdElt
cG9ydGVkKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBzb3VyY2VTdHJp
bmcpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZS5j
cHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZS5jcHAKaW5kZXggMDg3MDI0
MC4uZGE5NzA1YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3Vy
Y2UuY3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlLmNwcApAQCAt
Mzc2LDYgKzM3NiwxMiBAQCB2b2lkIEluc3BlY3RvclJlc291cmNlOjphZGRMZW5ndGgoaW50IGxl
bmd0aFJlY2VpdmVkKQogewogICAgIG1fbGVuZ3RoICs9IGxlbmd0aFJlY2VpdmVkOwogICAgIG1f
Y2hhbmdlcy5zZXQoTGVuZ3RoQ2hhbmdlKTsKKworICAgIC8vIFVwZGF0ZSBsb2FkIHRpbWUsIG90
aGVyd2lzZSB0aGUgcmVzb3VyY2Ugd2lsbAorICAgIC8vIGhhdmUgc3RhcnQgdGltZSA9PSBlbmQg
dGltZSBhbmQgIDAgbG9hZCBkdXJhdGlvbgorICAgIC8vIHVudGlsIGl0cyBsb2FkaW5nIGlzIGNv
bXBsZXRlZC4KKyAgICBtX2VuZFRpbWUgPSBjdXJyZW50VGltZSgpOworICAgIG1fY2hhbmdlcy5z
ZXQoVGltaW5nQ2hhbmdlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwIGIvV2ViQ29yZS9sb2Fk
ZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwCmluZGV4IDRjZGRkMDEuLjQ0ZmY3YmEgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlmaWVyLmNwcAorKysgYi9XZWJD
b3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHAKQEAgLTk2LDYgKzk2LDExIEBAIHZv
aWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpZEZhaWxUb0xvYWQoUmVzb3VyY2VMb2FkZXIqIGxv
YWRlciwgY29uc3QgUmVzb3VyY2VFCiAKICAgICBpZiAoIWVycm9yLmlzTnVsbCgpKQogICAgICAg
ICBtX2ZyYW1lLT5sb2FkZXIoKS0+Y2xpZW50KCktPmRpc3BhdGNoRGlkRmFpbExvYWRpbmcobG9h
ZGVyLT5kb2N1bWVudExvYWRlcigpLCBsb2FkZXItPmlkZW50aWZpZXIoKSwgZXJyb3IpOworCisj
aWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2Uo
KSkKKyAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRGYWlsTG9hZGluZyhs
b2FkZXItPmlkZW50aWZpZXIoKSwgZXJyb3IpOworI2VuZGlmCiB9CiAKIHZvaWQgUmVzb3VyY2VM
b2FkTm90aWZpZXI6OmRpZExvYWRSZXNvdXJjZUJ5WE1MSHR0cFJlcXVlc3QodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBjb25zdCBTY3JpcHRTdHJpbmcmIHNvdXJjZVN0cmluZykKQEAgLTEzNiw3
ICsxNDEsNyBAQCB2b2lkIFJlc291cmNlTG9hZE5vdGlmaWVyOjpkaXNwYXRjaERpZFJlY2VpdmVS
ZXNwb25zZShEb2N1bWVudExvYWRlciogbG9hZGVyLCB1bgogCiAjaWYgRU5BQkxFKElOU1BFQ1RP
UikKICAgICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKSkKLSAgICAgICAgcGFnZS0+
aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRSZWNlaXZlUmVzcG9uc2UobG9hZGVyLCBpZGVudGlm
aWVyLCByKTsKKyAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRSZWNlaXZl
UmVzcG9uc2UoaWRlbnRpZmllciwgcik7CiAjZW5kaWYKIH0KIApAQCAtMTQ2LDcgKzE1MSw3IEBA
IHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpc3BhdGNoRGlkUmVjZWl2ZUNvbnRlbnRMZW5n
dGgoRG9jdW1lbnRMb2FkZXIqIGxvYWRlCiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIGlm
IChQYWdlKiBwYWdlID0gbV9mcmFtZS0+cGFnZSgpKQotICAgICAgICBwYWdlLT5pbnNwZWN0b3JD
b250cm9sbGVyKCktPmRpZFJlY2VpdmVDb250ZW50TGVuZ3RoKGxvYWRlciwgaWRlbnRpZmllciwg
bGVuZ3RoKTsKKyAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRSZWNlaXZl
Q29udGVudExlbmd0aChpZGVudGlmaWVyLCBsZW5ndGgpOwogI2VuZGlmCiB9CiAKQEAgLTE1Niw3
ICsxNjEsNyBAQCB2b2lkIFJlc291cmNlTG9hZE5vdGlmaWVyOjpkaXNwYXRjaERpZEZpbmlzaExv
YWRpbmcoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgdW5zaQogCiAjaWYgRU5BQkxFKElOU1BFQ1RP
UikKICAgICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKSkKLSAgICAgICAgcGFnZS0+
aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRGaW5pc2hMb2FkaW5nKGxvYWRlciwgaWRlbnRpZmll
cik7CisgICAgICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+ZGlkRmluaXNoTG9hZGlu
ZyhpZGVudGlmaWVyKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBkNGQ0NjRjLi44MGQ3
NzBiIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAwOS0xMS0yNSAgWXVyeSBTZW1p
a2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBXZWJDb3JlIHBhcnQgb2YgdGhlIGZpeCB0aGF0IGFsbG93
cyB0byB2aWV3IHBsdWdpbgorICAgICAgICByZXNvdXJjZXMgbG9hZGVkIGJ5IHBsdWdpbnMuIE1l
dGhvZHMgdGhhdCBmb3IgcmVzb3VyY2UKKyAgICAgICAgbG9hZGluZyBub3RpZmljYXRpb25zIGFy
ZSBleHBvc2VkIHRocm91Z2ggV2ViRGV2VG9vbHNBZ2VudAorICAgICAgICBpbnRlcmZhY2UgdG8g
dGhlIGdsdWUgY29kZSB0byBhbGxvdyBDaHJvbWl1bSdzIHBsdWdpbgorICAgICAgICBpbXBsZW1l
bnRhdGlvbiB0byBub3RpZnkgSW5zcGVjdG9yQ29udHJvbGxlciBhYm91dCByZXNvdXJjZQorICAg
ICAgICBsb2FkaW5nIGluIHBsdWdpbnMuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTMxODMyCisKKyAgICAgICAgKiBwdWJsaWMvV2ViRGV2VG9vbHNB
Z2VudC5oOgorICAgICAgICAqIHB1YmxpYy9XZWJWaWV3Lmg6CisgICAgICAgICogc3JjL1dlYlZp
ZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmNyZWF0ZVVuaXF1ZUlk
ZW50aWZpZXJGb3JSZXF1ZXN0KToKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuaDoKKwogMjAw
OS0xMS0yNCAgRG1pdHJ5IFRpdG92ICA8ZGltaWNoQGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViRGV2VG9vbHNBZ2VudC5oIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEZXZUb29s
c0FnZW50LmgKaW5kZXggY2Y0ZDdlYS4uNWM5NzhkOSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJEZXZUb29sc0FnZW50LmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJEZXZUb29sc0FnZW50LmgKQEAgLTM2LDggKzM2LDExIEBACiBuYW1lc3BhY2UgV2ViS2l0
IHsKIGNsYXNzIFdlYkRldlRvb2xzQWdlbnRDbGllbnQ7CiBjbGFzcyBXZWJTdHJpbmc7CitjbGFz
cyBXZWJVUkxSZXF1ZXN0OworY2xhc3MgV2ViVVJMUmVzcG9uc2U7CiBjbGFzcyBXZWJWaWV3Owog
c3RydWN0IFdlYlBvaW50Oworc3RydWN0IFdlYlVSTEVycm9yOwogCiBjbGFzcyBXZWJEZXZUb29s
c0FnZW50IHsKIHB1YmxpYzoKQEAgLTcwLDYgKzczLDEzIEBAIHB1YmxpYzoKICAgICAvLyBJbnN0
YWxscyBkaXNwYXRjaCBoYW5kbGUgdGhhdCBpcyBnb2luZyB0byBiZSBjYWxsZWQgcGVyaW9kaWNh
bGx5CiAgICAgLy8gd2hpbGUgb24gYSBicmVha3BvaW50LgogICAgIFdFQktJVF9BUEkgc3RhdGlj
IHZvaWQgc2V0TWVzc2FnZUxvb3BEaXNwYXRjaEhhbmRsZXIoTWVzc2FnZUxvb3BEaXNwYXRjaEhh
bmRsZXIpOworCisgICAgdmlydHVhbCB2b2lkIGlkZW50aWZpZXJGb3JJbml0aWFsUmVxdWVzdCh1
bnNpZ25lZCBsb25nIHJlc291cmNlSWQsIGNvbnN0IFdlYlVSTFJlcXVlc3QmKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIHdpbGxTZW5kUmVxdWVzdCh1bnNpZ25lZCBsb25nIHJlc291cmNlSWQsIGNv
bnN0IFdlYlVSTFJlcXVlc3QmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRh
KHVuc2lnbmVkIGxvbmcgcmVzb3VyY2VJZCwgaW50IGxlbmd0aCkgPSAwOworICAgIHZpcnR1YWwg
dm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyByZXNvdXJjZUlkLCBjb25zdCBX
ZWJVUkxSZXNwb25zZSYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZGluZyh1
bnNpZ25lZCBsb25nIHJlc291cmNlSWQpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkRmFpbExv
YWRpbmcodW5zaWduZWQgbG9uZyByZXNvdXJjZUlkLCBjb25zdCBXZWJVUkxFcnJvciYpID0gMDsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJWaWV3LmggYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaAppbmRl
eCA4MjYxYWZjLi4yOWEzZjllIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YlZpZXcuaAorKysgYi9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaApAQCAtMTkxLDYg
KzE5MSwxMyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHNldERyb3BFZmZlY3QoYm9vbCBh
Y2NlcHQpID0gMDsKIAogCisgICAgLy8gU3VwcG9ydCBmb3IgcmVzb3VyY2UgbG9hZGluZyBpbml0
aWF0ZWQgYnkgcGx1Z2lucyAtLS0tLS0tLS0tLS0tLS0tLS0tCisKKyAgICAvLyBSZXR1cm5zIG5l
eHQgdW51c2VkIHJlcXVlc3QgaWRlbnRpZmllciB3aGljaCBpcyB1bmlxdWUgd2l0aGluIHRoZQor
ICAgIC8vIHBhcmVudCBQYWdlLgorICAgIHZpcnR1YWwgdW5zaWduZWQgbG9uZyBjcmVhdGVVbmlx
dWVJZGVudGlmaWVyRm9yUmVxdWVzdCgpID0gMDsKKworCiAgICAgLy8gRGV2ZWxvcGVyIHRvb2xz
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAK
ICAgICAvLyBJbnNwZWN0IGEgcGFydGljdWxhciBwb2ludCBpbiB0aGUgV2ViVmlldy4gICh4ID0g
LTEgfHwgeSA9IC0xKSBpcyBhCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZp
ZXdJbXBsLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IGFh
ZjcxNzQuLjc5MTRhOWUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0lt
cGwuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC03MCw2
ICs3MCw3IEBACiAjaW5jbHVkZSAiUGx1Z2luSW5mb1N0b3JlLmgiCiAjaW5jbHVkZSAiUG9wdXBN
ZW51Q2hyb21pdW0uaCIKICNpbmNsdWRlICJQb3B1cE1lbnVDbGllbnQuaCIKKyNpbmNsdWRlICJQ
cm9ncmVzc1RyYWNrZXIuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiUmVz
b3VyY2VIYW5kbGUuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgpAQCAtMTQ3NSw2ICsx
NDc2LDEyIEBAIGludCBXZWJWaWV3SW1wbDo6ZHJhZ0lkZW50aXR5KCkKICAgICByZXR1cm4gMDsK
IH0KIAordW5zaWduZWQgbG9uZyBXZWJWaWV3SW1wbDo6Y3JlYXRlVW5pcXVlSWRlbnRpZmllckZv
clJlcXVlc3QoKSB7CisgICAgaWYgKG1fcGFnZSkKKyAgICAgICAgcmV0dXJuIG1fcGFnZS0+cHJv
Z3Jlc3MoKS0+Y3JlYXRlVW5pcXVlSWRlbnRpZmllcigpOworICAgIHJldHVybiAwOworfQorCiB2
b2lkIFdlYlZpZXdJbXBsOjppbnNwZWN0RWxlbWVudEF0KGNvbnN0IFdlYlBvaW50JiBwb2ludCkK
IHsKICAgICBpZiAoIW1fcGFnZS5nZXQoKSkKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViVmlld0ltcGwuaCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAppbmRl
eCAyYjgzYThlLi45NjIyN2UzIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZp
ZXdJbXBsLmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCkBAIC0xNDMs
NiArMTQzLDcgQEAgcHVibGljOgogICAgICAgICBjb25zdCBXZWJQb2ludCYgc2NyZWVuUG9pbnQp
OwogICAgIHZpcnR1YWwgaW50IGRyYWdJZGVudGl0eSgpOwogICAgIHZpcnR1YWwgYm9vbCBzZXRE
cm9wRWZmZWN0KGJvb2wgYWNjZXB0KTsKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgY3JlYXRl
VW5pcXVlSWRlbnRpZmllckZvclJlcXVlc3QoKTsKICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdEVs
ZW1lbnRBdChjb25zdCBXZWJQb2ludCYgcG9pbnQpOwogICAgIHZpcnR1YWwgV2ViU3RyaW5nIGlu
c3BlY3RvclNldHRpbmdzKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHNldEluc3BlY3RvclNl
dHRpbmdzKGNvbnN0IFdlYlN0cmluZyYgc2V0dGluZ3MpOwo=
</data>
<flag name="review"
          id="25600"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
    <flag name="commit-queue"
          id="25604"
          type_id="3"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43922</attachid>
            <date>2009-11-26 07:22:34 -0800</date>
            <delta_ts>2009-11-26 07:29:15 -0800</delta_ts>
            <desc>patch</desc>
            <filename>inspect-plugin-resources6.patch</filename>
            <type>text/plain</type>
            <size>13521</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NzA1MjliMi4uYWU2M2IyNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAwOS0xMS0yNiAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgV2ViQ29yZSBwYXJ0IG9mIHRoZSBmaXggdGhh
dCBhbGxvd3MgdG8gdmlldyBwbHVnaW4KKyAgICAgICAgcmVzb3VyY2VzIGxvYWRlZCBieSBwbHVn
aW5zLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0z
MTgzMgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6d2lsbFNlbmRSZXF1ZXN0KToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRpZFJlY2VpdmVSZXNwb25zZSk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNlaXZlQ29udGVu
dExlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRGaW5p
c2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRpZEZh
aWxMb2FkaW5nKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oOiBS
ZW1vdmUgdW51c2VkIERvY3VtZW50TG9hZGVyIHBhcmFtZXRlcnMgZnJvbSBpbnNwZWN0b3IgbWV0
aG9kcy4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2U6OmFkZExlbmd0aCk6IFVwZGF0ZSBsb2FkaW5n
IGVuZCB0aW1lIHdoZW4gbmV3IGRhdGEgYXJlIHJlY2VpdmVkLgorICAgICAgICAqIGxvYWRlci9S
ZXNvdXJjZUxvYWROb3RpZmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRO
b3RpZmllcjo6ZGlkRmFpbFRvTG9hZCk6IE5vdGlmeSBJbnNwZWN0b3JDb250cm9sbGVyIGFib3V0
IHRoZSBmYWlsdXJlLgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkTm90aWZpZXI6OmRp
c3BhdGNoV2lsbFNlbmRSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZE5v
dGlmaWVyOjpkaXNwYXRjaERpZFJlY2VpdmVSZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpS
ZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hEaWRSZWNlaXZlQ29udGVudExlbmd0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hEaWRGaW5pc2hM
b2FkaW5nKToKKwogMjAwOS0xMS0yNCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOTgxYjM1Yi4uMjY0ZTlmMCAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwMTkyLDcgKzEwMTkyLDcg
QEAKIAkJCQkxOEM1RkNBMzEwQTM5OTFGMDA0ODQzOEQgLyogV2ViS2l0U2hhcmVkU2NyaXB0UmVw
b3NpdG9yeS5jcHAgKi8sCiAJCQkJMThDNUZDQTQxMEEzOTkxRjAwNDg0MzhEIC8qIFdlYktpdFNo
YXJlZFNjcmlwdFJlcG9zaXRvcnkuaCAqLywKIAkJCSk7Ci0JCQlwYXRoID0gIlNoYXJlZFNjcmlw
dCI7CisJCQlwYXRoID0gU2hhcmVkU2NyaXB0OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
IAkJfTsKIAkJMUEyRTZFNTYwQ0M1NTFFMDAwNEEyMDYyIC8qIHNxbCAqLyA9IHsKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggZGRiMTNkMi4uMWMxNjUzYyAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysr
IGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTkzOSwxMCAr
OTM5LDExIEBAIGJvb2wgSW5zcGVjdG9yQ29udHJvbGxlcjo6aXNNYWluUmVzb3VyY2VMb2FkZXIo
RG9jdW1lbnRMb2FkZXIqIGxvYWRlciwgY29uc3QgS1VSCiAgICAgcmV0dXJuIGxvYWRlci0+ZnJh
bWUoKSA9PSBtX2luc3BlY3RlZFBhZ2UtPm1haW5GcmFtZSgpICYmIHJlcXVlc3RVcmwgPT0gbG9h
ZGVyLT5yZXF1ZXN0VVJMKCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6d2lsbFNl
bmRSZXF1ZXN0KERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmll
ciwgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZWRp
cmVjdFJlc3BvbnNlKQordm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjp3aWxsU2VuZFJlcXVlc3Qo
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
IGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9uc2UpCiB7CisgICAgYm9vbCBp
c01haW5SZXNvdXJjZSA9IChtX21haW5SZXNvdXJjZSAmJiBtX21haW5SZXNvdXJjZS0+aWRlbnRp
ZmllcigpID09IGlkZW50aWZpZXIpOwogICAgIGlmIChtX3RpbWVsaW5lQWdlbnQpCi0gICAgICAg
IG1fdGltZWxpbmVBZ2VudC0+d2lsbFNlbmRSZXNvdXJjZVJlcXVlc3QoaWRlbnRpZmllciwgaXNN
YWluUmVzb3VyY2VMb2FkZXIobG9hZGVyLCByZXF1ZXN0LnVybCgpKSwgcmVxdWVzdCk7CisgICAg
ICAgIG1fdGltZWxpbmVBZ2VudC0+d2lsbFNlbmRSZXNvdXJjZVJlcXVlc3QoaWRlbnRpZmllciwg
aXNNYWluUmVzb3VyY2UsIHJlcXVlc3QpOwogCiAgICAgUmVmUHRyPEluc3BlY3RvclJlc291cmNl
PiByZXNvdXJjZSA9IGdldFRyYWNrZWRSZXNvdXJjZShpZGVudGlmaWVyKTsKICAgICBpZiAoIXJl
c291cmNlKQpAQCAtOTU5LDcgKzk2MCw3IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6d2ls
bFNlbmRSZXF1ZXN0KERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuc2lnbmVkIGxvbmcKICAgICAg
ICAgcmVzb3VyY2UtPmNyZWF0ZVNjcmlwdE9iamVjdChtX2Zyb250ZW5kLmdldCgpKTsKIH0KIAot
dm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoRG9jdW1lbnRMb2Fk
ZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJl
c3BvbnNlKQordm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5z
aWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkK
IHsKICAgICBpZiAobV90aW1lbGluZUFnZW50KQogICAgICAgICBtX3RpbWVsaW5lQWdlbnQtPmRp
ZFJlY2VpdmVSZXNvdXJjZVJlc3BvbnNlKGlkZW50aWZpZXIsIHJlc3BvbnNlKTsKQEAgLTk3NSw3
ICs5NzYsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpZFJlY2VpdmVSZXNwb25zZShE
b2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbgogICAgICAgICByZXNvdXJjZS0+dXBk
YXRlU2NyaXB0T2JqZWN0KG1fZnJvbnRlbmQuZ2V0KCkpOwogfQogCi12b2lkIEluc3BlY3RvckNv
bnRyb2xsZXI6OmRpZFJlY2VpdmVDb250ZW50TGVuZ3RoKERvY3VtZW50TG9hZGVyKiwgdW5zaWdu
ZWQgbG9uZyBpZGVudGlmaWVyLCBpbnQgbGVuZ3RoUmVjZWl2ZWQpCit2b2lkIEluc3BlY3RvckNv
bnRyb2xsZXI6OmRpZFJlY2VpdmVDb250ZW50TGVuZ3RoKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmll
ciwgaW50IGxlbmd0aFJlY2VpdmVkKQogewogICAgIFJlZlB0cjxJbnNwZWN0b3JSZXNvdXJjZT4g
cmVzb3VyY2UgPSBnZXRUcmFja2VkUmVzb3VyY2UoaWRlbnRpZmllcik7CiAgICAgaWYgKCFyZXNv
dXJjZSkKQEAgLTk4Nyw3ICs5ODgsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpZFJl
Y2VpdmVDb250ZW50TGVuZ3RoKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZwogICAgICAg
ICByZXNvdXJjZS0+dXBkYXRlU2NyaXB0T2JqZWN0KG1fZnJvbnRlbmQuZ2V0KCkpOwogfQogCi12
b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpZEZpbmlzaExvYWRpbmcoRG9jdW1lbnRMb2FkZXIq
LCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIpCit2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRp
ZEZpbmlzaExvYWRpbmcodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKQogewogICAgIGlmIChtX3Rp
bWVsaW5lQWdlbnQpCiAgICAgICAgIG1fdGltZWxpbmVBZ2VudC0+ZGlkRmluaXNoTG9hZGluZ1Jl
c291cmNlKGlkZW50aWZpZXIsIGZhbHNlKTsKQEAgLTEwMDYsNyArMTAwNyw3IEBAIHZvaWQgSW5z
cGVjdG9yQ29udHJvbGxlcjo6ZGlkRmluaXNoTG9hZGluZyhEb2N1bWVudExvYWRlciosIHVuc2ln
bmVkIGxvbmcgaWRlbnRpCiAgICAgICAgIHJlc291cmNlLT51cGRhdGVTY3JpcHRPYmplY3QobV9m
cm9udGVuZC5nZXQoKSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlkRmFpbExv
YWRpbmcoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJl
c291cmNlRXJyb3ImIC8qZXJyb3IqLykKK3ZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlkRmFp
bExvYWRpbmcodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiAv
KmVycm9yKi8pCiB7CiAgICAgaWYgKG1fdGltZWxpbmVBZ2VudCkKICAgICAgICAgbV90aW1lbGlu
ZUFnZW50LT5kaWRGaW5pc2hMb2FkaW5nUmVzb3VyY2UoaWRlbnRpZmllciwgdHJ1ZSk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggMjJiZDA3Ni4uYzQ0ZWMyMiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBi
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMjE2LDExICsyMTYs
MTEgQEAgcHVibGljOgogICAgIHZvaWQgZGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlKERv
Y3VtZW50TG9hZGVyKiwgY29uc3QgQ2FjaGVkUmVzb3VyY2UqKTsKIAogICAgIHZvaWQgaWRlbnRp
ZmllckZvckluaXRpYWxSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRM
b2FkZXIqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmKTsKLSAgICB2b2lkIHdpbGxTZW5kUmVxdWVz
dChEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgUmVzb3VyY2VSZXF1
ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSk7Ci0gICAgdm9p
ZCBkaWRSZWNlaXZlUmVzcG9uc2UoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50
aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKLSAgICB2b2lkIGRpZFJlY2VpdmVDb250
ZW50TGVuZ3RoKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBpbnQg
bGVuZ3RoUmVjZWl2ZWQpOwotICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhEb2N1bWVudExvYWRl
ciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcik7Ci0gICAgdm9pZCBkaWRGYWlsTG9hZGluZyhE
b2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VF
cnJvciYpOworICAgIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmll
ciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVkaXJl
Y3RSZXNwb25zZSk7CisgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBp
ZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CisgICAgdm9pZCBkaWRSZWNlaXZl
Q29udGVudExlbmd0aCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGludCBsZW5ndGhSZWNlaXZl
ZCk7CisgICAgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcik7
CisgICAgdm9pZCBkaWRGYWlsTG9hZGluZyh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0
IFJlc291cmNlRXJyb3ImKTsKICAgICB2b2lkIHJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVx
dWVzdCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFNjcmlwdFN0cmluZyYgc291cmNl
U3RyaW5nKTsKICAgICB2b2lkIHNjcmlwdEltcG9ydGVkKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiBzb3VyY2VTdHJpbmcpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZS5jcHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JSZXNvdXJjZS5jcHAKaW5kZXggMDg3MDI0MC4uZGE5NzA1YiAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuY3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclJlc291cmNlLmNwcApAQCAtMzc2LDYgKzM3NiwxMiBAQCB2b2lkIEluc3BlY3Rv
clJlc291cmNlOjphZGRMZW5ndGgoaW50IGxlbmd0aFJlY2VpdmVkKQogewogICAgIG1fbGVuZ3Ro
ICs9IGxlbmd0aFJlY2VpdmVkOwogICAgIG1fY2hhbmdlcy5zZXQoTGVuZ3RoQ2hhbmdlKTsKKwor
ICAgIC8vIFVwZGF0ZSBsb2FkIHRpbWUsIG90aGVyd2lzZSB0aGUgcmVzb3VyY2Ugd2lsbAorICAg
IC8vIGhhdmUgc3RhcnQgdGltZSA9PSBlbmQgdGltZSBhbmQgIDAgbG9hZCBkdXJhdGlvbgorICAg
IC8vIHVudGlsIGl0cyBsb2FkaW5nIGlzIGNvbXBsZXRlZC4KKyAgICBtX2VuZFRpbWUgPSBjdXJy
ZW50VGltZSgpOworICAgIG1fY2hhbmdlcy5zZXQoVGltaW5nQ2hhbmdlKTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2Fk
Tm90aWZpZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwCmlu
ZGV4IDRjZGRkMDEuLjkyODA0MzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNl
TG9hZE5vdGlmaWVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmll
ci5jcHAKQEAgLTk2LDYgKzk2LDExIEBAIHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpZEZh
aWxUb0xvYWQoUmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VFCiAKICAgICBp
ZiAoIWVycm9yLmlzTnVsbCgpKQogICAgICAgICBtX2ZyYW1lLT5sb2FkZXIoKS0+Y2xpZW50KCkt
PmRpc3BhdGNoRGlkRmFpbExvYWRpbmcobG9hZGVyLT5kb2N1bWVudExvYWRlcigpLCBsb2FkZXIt
PmlkZW50aWZpZXIoKSwgZXJyb3IpOworCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBpZiAo
UGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKSkKKyAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29u
dHJvbGxlcigpLT5kaWRGYWlsTG9hZGluZyhsb2FkZXItPmlkZW50aWZpZXIoKSwgZXJyb3IpOwor
I2VuZGlmCiB9CiAKIHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpZExvYWRSZXNvdXJjZUJ5
WE1MSHR0cFJlcXVlc3QodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTY3JpcHRTdHJp
bmcmIHNvdXJjZVN0cmluZykKQEAgLTEyNiw3ICsxMzEsNyBAQCB2b2lkIFJlc291cmNlTG9hZE5v
dGlmaWVyOjpkaXNwYXRjaFdpbGxTZW5kUmVxdWVzdChEb2N1bWVudExvYWRlciogbG9hZGVyLCB1
bnNpZwogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoUGFnZSogcGFnZSA9IG1fZnJh
bWUtPnBhZ2UoKSkKLSAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT53aWxsU2Vu
ZFJlcXVlc3QobG9hZGVyLCBpZGVudGlmaWVyLCByZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNlKTsK
KyAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT53aWxsU2VuZFJlcXVlc3QoaWRl
bnRpZmllciwgcmVxdWVzdCwgcmVkaXJlY3RSZXNwb25zZSk7CiAjZW5kaWYKIH0KIApAQCAtMTM2
LDcgKzE0MSw3IEBAIHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpc3BhdGNoRGlkUmVjZWl2
ZVJlc3BvbnNlKERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuCiAKICNpZiBFTkFCTEUoSU5TUEVD
VE9SKQogICAgIGlmIChQYWdlKiBwYWdlID0gbV9mcmFtZS0+cGFnZSgpKQotICAgICAgICBwYWdl
LT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmRpZFJlY2VpdmVSZXNwb25zZShsb2FkZXIsIGlkZW50
aWZpZXIsIHIpOworICAgICAgICBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmRpZFJlY2Vp
dmVSZXNwb25zZShpZGVudGlmaWVyLCByKTsKICNlbmRpZgogfQogCkBAIC0xNDYsNyArMTUxLDcg
QEAgdm9pZCBSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hEaWRSZWNlaXZlQ29udGVudExl
bmd0aChEb2N1bWVudExvYWRlciogbG9hZGUKIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAg
aWYgKFBhZ2UqIHBhZ2UgPSBtX2ZyYW1lLT5wYWdlKCkpCi0gICAgICAgIHBhZ2UtPmluc3BlY3Rv
ckNvbnRyb2xsZXIoKS0+ZGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGgobG9hZGVyLCBpZGVudGlmaWVy
LCBsZW5ndGgpOworICAgICAgICBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmRpZFJlY2Vp
dmVDb250ZW50TGVuZ3RoKGlkZW50aWZpZXIsIGxlbmd0aCk7CiAjZW5kaWYKIH0KIApAQCAtMTU2
LDcgKzE2MSw3IEBAIHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpc3BhdGNoRGlkRmluaXNo
TG9hZGluZyhEb2N1bWVudExvYWRlciogbG9hZGVyLCB1bnNpCiAKICNpZiBFTkFCTEUoSU5TUEVD
VE9SKQogICAgIGlmIChQYWdlKiBwYWdlID0gbV9mcmFtZS0+cGFnZSgpKQotICAgICAgICBwYWdl
LT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmRpZEZpbmlzaExvYWRpbmcobG9hZGVyLCBpZGVudGlm
aWVyKTsKKyAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRGaW5pc2hMb2Fk
aW5nKGlkZW50aWZpZXIpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGQ0ZDQ2NGMuLmNi
MzA0YjQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDA5LTExLTI0ICBZdXJ5IFNl
bWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisKKyAgICAgICAgV2ViQ29yZSBwYXJ0IG9mIHRoZSBmaXggdGhhdCBh
bGxvd3MgdG8gdmlldyBwbHVnaW4KKyAgICAgICAgcmVzb3VyY2VzIGxvYWRlZCBieSBwbHVnaW5z
LiBNZXRob2RzIHRoYXQgZm9yIHJlc291cmNlCisgICAgICAgIGxvYWRpbmcgbm90aWZpY2F0aW9u
cyBhcmUgZXhwb3NlZCB0aHJvdWdoIFdlYkRldlRvb2xzQWdlbnQKKyAgICAgICAgaW50ZXJmYWNl
IHRvIHRoZSBnbHVlIGNvZGUgdG8gYWxsb3cgQ2hyb21pdW0ncyBwbHVnaW4KKyAgICAgICAgaW1w
bGVtZW50YXRpb24gdG8gbm90aWZ5IEluc3BlY3RvckNvbnRyb2xsZXIgYWJvdXQgcmVzb3VyY2UK
KyAgICAgICAgbG9hZGluZyBpbiBwbHVnaW5zLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTgzMgorCisgICAgICAgICogcHVibGljL1dlYkRldlRv
b2xzQWdlbnQuaDoKKyAgICAgICAgKiBwdWJsaWMvV2ViVmlldy5oOgorICAgICAgICAqIHNyYy9X
ZWJWaWV3SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpjcmVhdGVVbmlx
dWVJZGVudGlmaWVyRm9yUmVxdWVzdCk6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmg6CisK
IDIwMDktMTEtMjQgIERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYkRldlRvb2xzQWdlbnQuaCBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRGV2
VG9vbHNBZ2VudC5oCmluZGV4IGNmNGQ3ZWEuLjRhNDRjYjAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViRGV2VG9vbHNBZ2VudC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViRGV2VG9vbHNBZ2VudC5oCkBAIC0zNSw5ICszNSwxMyBAQAogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIGNsYXNzIFdlYkRldlRvb2xzQWdlbnRDbGllbnQ7CitjbGFzcyBXZWJGcmFtZTsK
IGNsYXNzIFdlYlN0cmluZzsKK2NsYXNzIFdlYlVSTFJlcXVlc3Q7CitjbGFzcyBXZWJVUkxSZXNw
b25zZTsKIGNsYXNzIFdlYlZpZXc7CiBzdHJ1Y3QgV2ViUG9pbnQ7CitzdHJ1Y3QgV2ViVVJMRXJy
b3I7CiAKIGNsYXNzIFdlYkRldlRvb2xzQWdlbnQgewogcHVibGljOgpAQCAtNzAsNiArNzQsMTMg
QEAgcHVibGljOgogICAgIC8vIEluc3RhbGxzIGRpc3BhdGNoIGhhbmRsZSB0aGF0IGlzIGdvaW5n
IHRvIGJlIGNhbGxlZCBwZXJpb2RpY2FsbHkKICAgICAvLyB3aGlsZSBvbiBhIGJyZWFrcG9pbnQu
CiAgICAgV0VCS0lUX0FQSSBzdGF0aWMgdm9pZCBzZXRNZXNzYWdlTG9vcERpc3BhdGNoSGFuZGxl
cihNZXNzYWdlTG9vcERpc3BhdGNoSGFuZGxlcik7CisKKyAgICB2aXJ0dWFsIHZvaWQgaWRlbnRp
ZmllckZvckluaXRpYWxSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgcmVzb3VyY2VJZCwgV2ViRnJhbWUq
LCBjb25zdCBXZWJVUkxSZXF1ZXN0JikgPSAwOworICAgIHZpcnR1YWwgdm9pZCB3aWxsU2VuZFJl
cXVlc3QodW5zaWduZWQgbG9uZyByZXNvdXJjZUlkLCBjb25zdCBXZWJVUkxSZXF1ZXN0JikgPSAw
OworICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0YSh1bnNpZ25lZCBsb25nIHJlc291cmNl
SWQsIGludCBsZW5ndGgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNl
KHVuc2lnbmVkIGxvbmcgcmVzb3VyY2VJZCwgY29uc3QgV2ViVVJMUmVzcG9uc2UmKSA9IDA7Cisg
ICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExvYWRpbmcodW5zaWduZWQgbG9uZyByZXNvdXJjZUlk
KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZEZhaWxMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVz
b3VyY2VJZCwgY29uc3QgV2ViVVJMRXJyb3ImKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oIGIvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmgKaW5kZXggODI2MWFmYy4uMjlhM2Y5ZSAxMDA2
NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmgKKysrIGIvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJWaWV3LmgKQEAgLTE5MSw2ICsxOTEsMTMgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgYm9vbCBzZXREcm9wRWZmZWN0KGJvb2wgYWNjZXB0KSA9IDA7CiAKIAorICAgIC8v
IFN1cHBvcnQgZm9yIHJlc291cmNlIGxvYWRpbmcgaW5pdGlhdGVkIGJ5IHBsdWdpbnMgLS0tLS0t
LS0tLS0tLS0tLS0tLQorCisgICAgLy8gUmV0dXJucyBuZXh0IHVudXNlZCByZXF1ZXN0IGlkZW50
aWZpZXIgd2hpY2ggaXMgdW5pcXVlIHdpdGhpbiB0aGUKKyAgICAvLyBwYXJlbnQgUGFnZS4KKyAg
ICB2aXJ0dWFsIHVuc2lnbmVkIGxvbmcgY3JlYXRlVW5pcXVlSWRlbnRpZmllckZvclJlcXVlc3Qo
KSA9IDA7CisKKwogICAgIC8vIERldmVsb3BlciB0b29scyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAgICAgLy8gSW5zcGVjdCBhIHBhcnRp
Y3VsYXIgcG9pbnQgaW4gdGhlIFdlYlZpZXcuICAoeCA9IC0xIHx8IHkgPSAtMSkgaXMgYQpkaWZm
IC0tZ2l0IGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAppbmRleCBhYWY3MTc0Li43OTE0YTllIDEwMDY0NAot
LS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApAQCAtNzAsNiArNzAsNyBAQAogI2luY2x1ZGUgIlBs
dWdpbkluZm9TdG9yZS5oIgogI2luY2x1ZGUgIlBvcHVwTWVudUNocm9taXVtLmgiCiAjaW5jbHVk
ZSAiUG9wdXBNZW51Q2xpZW50LmgiCisjaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2VyLmgiCiAjaW5j
bHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVk
ZSAiU2VjdXJpdHlPcmlnaW4uaCIKQEAgLTE0NzUsNiArMTQ3NiwxMiBAQCBpbnQgV2ViVmlld0lt
cGw6OmRyYWdJZGVudGl0eSgpCiAgICAgcmV0dXJuIDA7CiB9CiAKK3Vuc2lnbmVkIGxvbmcgV2Vi
Vmlld0ltcGw6OmNyZWF0ZVVuaXF1ZUlkZW50aWZpZXJGb3JSZXF1ZXN0KCkgeworICAgIGlmICht
X3BhZ2UpCisgICAgICAgIHJldHVybiBtX3BhZ2UtPnByb2dyZXNzKCktPmNyZWF0ZVVuaXF1ZUlk
ZW50aWZpZXIoKTsKKyAgICByZXR1cm4gMDsKK30KKwogdm9pZCBXZWJWaWV3SW1wbDo6aW5zcGVj
dEVsZW1lbnRBdChjb25zdCBXZWJQb2ludCYgcG9pbnQpCiB7CiAgICAgaWYgKCFtX3BhZ2UuZ2V0
KCkpCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmggYi9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggMmI4M2E4ZS4uOTYyMjdlMyAxMDA2
NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCisrKyBiL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaApAQCAtMTQzLDYgKzE0Myw3IEBAIHB1YmxpYzoKICAg
ICAgICAgY29uc3QgV2ViUG9pbnQmIHNjcmVlblBvaW50KTsKICAgICB2aXJ0dWFsIGludCBkcmFn
SWRlbnRpdHkoKTsKICAgICB2aXJ0dWFsIGJvb2wgc2V0RHJvcEVmZmVjdChib29sIGFjY2VwdCk7
CisgICAgdmlydHVhbCB1bnNpZ25lZCBsb25nIGNyZWF0ZVVuaXF1ZUlkZW50aWZpZXJGb3JSZXF1
ZXN0KCk7CiAgICAgdmlydHVhbCB2b2lkIGluc3BlY3RFbGVtZW50QXQoY29uc3QgV2ViUG9pbnQm
IHBvaW50KTsKICAgICB2aXJ0dWFsIFdlYlN0cmluZyBpbnNwZWN0b3JTZXR0aW5ncygpIGNvbnN0
OwogICAgIHZpcnR1YWwgdm9pZCBzZXRJbnNwZWN0b3JTZXR0aW5ncyhjb25zdCBXZWJTdHJpbmcm
IHNldHRpbmdzKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43923</attachid>
            <date>2009-11-26 07:29:15 -0800</date>
            <delta_ts>2009-11-26 07:32:26 -0800</delta_ts>
            <desc>patch</desc>
            <filename>inspect-plugin-resources7.patch</filename>
            <type>text/plain</type>
            <size>12999</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NzA1MjliMi4uYWU2M2IyNSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAwOS0xMS0yNiAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGEgV2ViQ29yZSBwYXJ0IG9mIHRoZSBmaXggdGhh
dCBhbGxvd3MgdG8gdmlldyBwbHVnaW4KKyAgICAgICAgcmVzb3VyY2VzIGxvYWRlZCBieSBwbHVn
aW5zLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0z
MTgzMgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6d2lsbFNlbmRSZXF1ZXN0KToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRpZFJlY2VpdmVSZXNwb25zZSk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNlaXZlQ29udGVu
dExlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRGaW5p
c2hMb2FkaW5nKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmRpZEZh
aWxMb2FkaW5nKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oOiBS
ZW1vdmUgdW51c2VkIERvY3VtZW50TG9hZGVyIHBhcmFtZXRlcnMgZnJvbSBpbnNwZWN0b3IgbWV0
aG9kcy4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2U6OmFkZExlbmd0aCk6IFVwZGF0ZSBsb2FkaW5n
IGVuZCB0aW1lIHdoZW4gbmV3IGRhdGEgYXJlIHJlY2VpdmVkLgorICAgICAgICAqIGxvYWRlci9S
ZXNvdXJjZUxvYWROb3RpZmllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRO
b3RpZmllcjo6ZGlkRmFpbFRvTG9hZCk6IE5vdGlmeSBJbnNwZWN0b3JDb250cm9sbGVyIGFib3V0
IHRoZSBmYWlsdXJlLgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkTm90aWZpZXI6OmRp
c3BhdGNoV2lsbFNlbmRSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZE5v
dGlmaWVyOjpkaXNwYXRjaERpZFJlY2VpdmVSZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpS
ZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hEaWRSZWNlaXZlQ29udGVudExlbmd0aCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hEaWRGaW5pc2hM
b2FkaW5nKToKKwogMjAwOS0xMS0yNCAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5Ad2Via2l0Lm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggZGRiMTNkMi4uMWMxNjUzYyAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKKysrIGIvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTkzOSwxMCArOTM5LDExIEBA
IGJvb2wgSW5zcGVjdG9yQ29udHJvbGxlcjo6aXNNYWluUmVzb3VyY2VMb2FkZXIoRG9jdW1lbnRM
b2FkZXIqIGxvYWRlciwgY29uc3QgS1VSCiAgICAgcmV0dXJuIGxvYWRlci0+ZnJhbWUoKSA9PSBt
X2luc3BlY3RlZFBhZ2UtPm1haW5GcmFtZSgpICYmIHJlcXVlc3RVcmwgPT0gbG9hZGVyLT5yZXF1
ZXN0VVJMKCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6d2lsbFNlbmRSZXF1ZXN0
KERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgUmVzb3Vy
Y2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZWRpcmVjdFJlc3Bv
bnNlKQordm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjp3aWxsU2VuZFJlcXVlc3QodW5zaWduZWQg
bG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFJl
c291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9uc2UpCiB7CisgICAgYm9vbCBpc01haW5SZXNv
dXJjZSA9IChtX21haW5SZXNvdXJjZSAmJiBtX21haW5SZXNvdXJjZS0+aWRlbnRpZmllcigpID09
IGlkZW50aWZpZXIpOwogICAgIGlmIChtX3RpbWVsaW5lQWdlbnQpCi0gICAgICAgIG1fdGltZWxp
bmVBZ2VudC0+d2lsbFNlbmRSZXNvdXJjZVJlcXVlc3QoaWRlbnRpZmllciwgaXNNYWluUmVzb3Vy
Y2VMb2FkZXIobG9hZGVyLCByZXF1ZXN0LnVybCgpKSwgcmVxdWVzdCk7CisgICAgICAgIG1fdGlt
ZWxpbmVBZ2VudC0+d2lsbFNlbmRSZXNvdXJjZVJlcXVlc3QoaWRlbnRpZmllciwgaXNNYWluUmVz
b3VyY2UsIHJlcXVlc3QpOwogCiAgICAgUmVmUHRyPEluc3BlY3RvclJlc291cmNlPiByZXNvdXJj
ZSA9IGdldFRyYWNrZWRSZXNvdXJjZShpZGVudGlmaWVyKTsKICAgICBpZiAoIXJlc291cmNlKQpA
QCAtOTU5LDcgKzk2MCw3IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6d2lsbFNlbmRSZXF1
ZXN0KERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuc2lnbmVkIGxvbmcKICAgICAgICAgcmVzb3Vy
Y2UtPmNyZWF0ZVNjcmlwdE9iamVjdChtX2Zyb250ZW5kLmdldCgpKTsKIH0KIAotdm9pZCBJbnNw
ZWN0b3JDb250cm9sbGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UoRG9jdW1lbnRMb2FkZXIqLCB1bnNp
Z25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQor
dm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9u
ZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKIHsKICAgICBp
ZiAobV90aW1lbGluZUFnZW50KQogICAgICAgICBtX3RpbWVsaW5lQWdlbnQtPmRpZFJlY2VpdmVS
ZXNvdXJjZVJlc3BvbnNlKGlkZW50aWZpZXIsIHJlc3BvbnNlKTsKQEAgLTk3NSw3ICs5NzYsNyBA
QCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpZFJlY2VpdmVSZXNwb25zZShEb2N1bWVudExv
YWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbgogICAgICAgICByZXNvdXJjZS0+dXBkYXRlU2NyaXB0
T2JqZWN0KG1fZnJvbnRlbmQuZ2V0KCkpOwogfQogCi12b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6
OmRpZFJlY2VpdmVDb250ZW50TGVuZ3RoKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBp
ZGVudGlmaWVyLCBpbnQgbGVuZ3RoUmVjZWl2ZWQpCit2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6
OmRpZFJlY2VpdmVDb250ZW50TGVuZ3RoKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgaW50IGxl
bmd0aFJlY2VpdmVkKQogewogICAgIFJlZlB0cjxJbnNwZWN0b3JSZXNvdXJjZT4gcmVzb3VyY2Ug
PSBnZXRUcmFja2VkUmVzb3VyY2UoaWRlbnRpZmllcik7CiAgICAgaWYgKCFyZXNvdXJjZSkKQEAg
LTk4Nyw3ICs5ODgsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpZFJlY2VpdmVDb250
ZW50TGVuZ3RoKERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZwogICAgICAgICByZXNvdXJj
ZS0+dXBkYXRlU2NyaXB0T2JqZWN0KG1fZnJvbnRlbmQuZ2V0KCkpOwogfQogCi12b2lkIEluc3Bl
Y3RvckNvbnRyb2xsZXI6OmRpZEZpbmlzaExvYWRpbmcoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25l
ZCBsb25nIGlkZW50aWZpZXIpCit2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmRpZEZpbmlzaExv
YWRpbmcodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyKQogewogICAgIGlmIChtX3RpbWVsaW5lQWdl
bnQpCiAgICAgICAgIG1fdGltZWxpbmVBZ2VudC0+ZGlkRmluaXNoTG9hZGluZ1Jlc291cmNlKGlk
ZW50aWZpZXIsIGZhbHNlKTsKQEAgLTEwMDYsNyArMTAwNyw3IEBAIHZvaWQgSW5zcGVjdG9yQ29u
dHJvbGxlcjo6ZGlkRmluaXNoTG9hZGluZyhEb2N1bWVudExvYWRlciosIHVuc2lnbmVkIGxvbmcg
aWRlbnRpCiAgICAgICAgIHJlc291cmNlLT51cGRhdGVTY3JpcHRPYmplY3QobV9mcm9udGVuZC5n
ZXQoKSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlkRmFpbExvYWRpbmcoRG9j
dW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJy
b3ImIC8qZXJyb3IqLykKK3ZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6ZGlkRmFpbExvYWRpbmco
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiAvKmVycm9yKi8p
CiB7CiAgICAgaWYgKG1fdGltZWxpbmVBZ2VudCkKICAgICAgICAgbV90aW1lbGluZUFnZW50LT5k
aWRGaW5pc2hMb2FkaW5nUmVzb3VyY2UoaWRlbnRpZmllciwgdHJ1ZSk7CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmggYi9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggMjJiZDA3Ni4uYzQ0ZWMyMiAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaApAQCAtMjE2LDExICsyMTYsMTEgQEAgcHVi
bGljOgogICAgIHZvaWQgZGlkTG9hZFJlc291cmNlRnJvbU1lbW9yeUNhY2hlKERvY3VtZW50TG9h
ZGVyKiwgY29uc3QgQ2FjaGVkUmVzb3VyY2UqKTsKIAogICAgIHZvaWQgaWRlbnRpZmllckZvcklu
aXRpYWxSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgRG9jdW1lbnRMb2FkZXIqLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmKTsKLSAgICB2b2lkIHdpbGxTZW5kUmVxdWVzdChEb2N1bWVu
dExvYWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgUmVzb3VyY2VSZXF1ZXN0JiwgY29u
c3QgUmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSk7Ci0gICAgdm9pZCBkaWRSZWNl
aXZlUmVzcG9uc2UoRG9jdW1lbnRMb2FkZXIqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmKTsKLSAgICB2b2lkIGRpZFJlY2VpdmVDb250ZW50TGVuZ3Ro
KERvY3VtZW50TG9hZGVyKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBpbnQgbGVuZ3RoUmVj
ZWl2ZWQpOwotICAgIHZvaWQgZGlkRmluaXNoTG9hZGluZyhEb2N1bWVudExvYWRlciosIHVuc2ln
bmVkIGxvbmcgaWRlbnRpZmllcik7Ci0gICAgdm9pZCBkaWRGYWlsTG9hZGluZyhEb2N1bWVudExv
YWRlciosIHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VFcnJvciYpOwor
ICAgIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RSZXNwb25z
ZSk7CisgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZyBpZGVudGlmaWVy
LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CisgICAgdm9pZCBkaWRSZWNlaXZlQ29udGVudExl
bmd0aCh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGludCBsZW5ndGhSZWNlaXZlZCk7CisgICAg
dm9pZCBkaWRGaW5pc2hMb2FkaW5nKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllcik7CisgICAgdm9p
ZCBkaWRGYWlsTG9hZGluZyh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNl
RXJyb3ImKTsKICAgICB2b2lkIHJlc291cmNlUmV0cmlldmVkQnlYTUxIdHRwUmVxdWVzdCh1bnNp
Z25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFNjcmlwdFN0cmluZyYgc291cmNlU3RyaW5nKTsK
ICAgICB2b2lkIHNjcmlwdEltcG9ydGVkKHVuc2lnbmVkIGxvbmcgaWRlbnRpZmllciwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VTdHJpbmcpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JSZXNvdXJjZS5jcHAgYi9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJj
ZS5jcHAKaW5kZXggMDg3MDI0MC4uZGE5NzA1YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yUmVzb3VyY2UuY3BwCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clJlc291cmNlLmNwcApAQCAtMzc2LDYgKzM3NiwxMiBAQCB2b2lkIEluc3BlY3RvclJlc291cmNl
OjphZGRMZW5ndGgoaW50IGxlbmd0aFJlY2VpdmVkKQogewogICAgIG1fbGVuZ3RoICs9IGxlbmd0
aFJlY2VpdmVkOwogICAgIG1fY2hhbmdlcy5zZXQoTGVuZ3RoQ2hhbmdlKTsKKworICAgIC8vIFVw
ZGF0ZSBsb2FkIHRpbWUsIG90aGVyd2lzZSB0aGUgcmVzb3VyY2Ugd2lsbAorICAgIC8vIGhhdmUg
c3RhcnQgdGltZSA9PSBlbmQgdGltZSBhbmQgIDAgbG9hZCBkdXJhdGlvbgorICAgIC8vIHVudGls
IGl0cyBsb2FkaW5nIGlzIGNvbXBsZXRlZC4KKyAgICBtX2VuZFRpbWUgPSBjdXJyZW50VGltZSgp
OworICAgIG1fY2hhbmdlcy5zZXQoVGltaW5nQ2hhbmdlKTsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIu
Y3BwIGIvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkTm90aWZpZXIuY3BwCmluZGV4IDRjZGRk
MDEuLjkyODA0MzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZE5vdGlm
aWVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWROb3RpZmllci5jcHAKQEAg
LTk2LDYgKzk2LDExIEBAIHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpZEZhaWxUb0xvYWQo
UmVzb3VyY2VMb2FkZXIqIGxvYWRlciwgY29uc3QgUmVzb3VyY2VFCiAKICAgICBpZiAoIWVycm9y
LmlzTnVsbCgpKQogICAgICAgICBtX2ZyYW1lLT5sb2FkZXIoKS0+Y2xpZW50KCktPmRpc3BhdGNo
RGlkRmFpbExvYWRpbmcobG9hZGVyLT5kb2N1bWVudExvYWRlcigpLCBsb2FkZXItPmlkZW50aWZp
ZXIoKSwgZXJyb3IpOworCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBpZiAoUGFnZSogcGFn
ZSA9IG1fZnJhbWUtPnBhZ2UoKSkKKyAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigp
LT5kaWRGYWlsTG9hZGluZyhsb2FkZXItPmlkZW50aWZpZXIoKSwgZXJyb3IpOworI2VuZGlmCiB9
CiAKIHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpZExvYWRSZXNvdXJjZUJ5WE1MSHR0cFJl
cXVlc3QodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBTY3JpcHRTdHJpbmcmIHNvdXJj
ZVN0cmluZykKQEAgLTEyNiw3ICsxMzEsNyBAQCB2b2lkIFJlc291cmNlTG9hZE5vdGlmaWVyOjpk
aXNwYXRjaFdpbGxTZW5kUmVxdWVzdChEb2N1bWVudExvYWRlciogbG9hZGVyLCB1bnNpZwogCiAj
aWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2Uo
KSkKLSAgICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT53aWxsU2VuZFJlcXVlc3Qo
bG9hZGVyLCBpZGVudGlmaWVyLCByZXF1ZXN0LCByZWRpcmVjdFJlc3BvbnNlKTsKKyAgICAgICAg
cGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT53aWxsU2VuZFJlcXVlc3QoaWRlbnRpZmllciwg
cmVxdWVzdCwgcmVkaXJlY3RSZXNwb25zZSk7CiAjZW5kaWYKIH0KIApAQCAtMTM2LDcgKzE0MSw3
IEBAIHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpc3BhdGNoRGlkUmVjZWl2ZVJlc3BvbnNl
KERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIHVuCiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAg
IGlmIChQYWdlKiBwYWdlID0gbV9mcmFtZS0+cGFnZSgpKQotICAgICAgICBwYWdlLT5pbnNwZWN0
b3JDb250cm9sbGVyKCktPmRpZFJlY2VpdmVSZXNwb25zZShsb2FkZXIsIGlkZW50aWZpZXIsIHIp
OworICAgICAgICBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmRpZFJlY2VpdmVSZXNwb25z
ZShpZGVudGlmaWVyLCByKTsKICNlbmRpZgogfQogCkBAIC0xNDYsNyArMTUxLDcgQEAgdm9pZCBS
ZXNvdXJjZUxvYWROb3RpZmllcjo6ZGlzcGF0Y2hEaWRSZWNlaXZlQ29udGVudExlbmd0aChEb2N1
bWVudExvYWRlciogbG9hZGUKIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiAgICAgaWYgKFBhZ2Uq
IHBhZ2UgPSBtX2ZyYW1lLT5wYWdlKCkpCi0gICAgICAgIHBhZ2UtPmluc3BlY3RvckNvbnRyb2xs
ZXIoKS0+ZGlkUmVjZWl2ZUNvbnRlbnRMZW5ndGgobG9hZGVyLCBpZGVudGlmaWVyLCBsZW5ndGgp
OworICAgICAgICBwYWdlLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPmRpZFJlY2VpdmVDb250ZW50
TGVuZ3RoKGlkZW50aWZpZXIsIGxlbmd0aCk7CiAjZW5kaWYKIH0KIApAQCAtMTU2LDcgKzE2MSw3
IEBAIHZvaWQgUmVzb3VyY2VMb2FkTm90aWZpZXI6OmRpc3BhdGNoRGlkRmluaXNoTG9hZGluZyhE
b2N1bWVudExvYWRlciogbG9hZGVyLCB1bnNpCiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAg
IGlmIChQYWdlKiBwYWdlID0gbV9mcmFtZS0+cGFnZSgpKQotICAgICAgICBwYWdlLT5pbnNwZWN0
b3JDb250cm9sbGVyKCktPmRpZEZpbmlzaExvYWRpbmcobG9hZGVyLCBpZGVudGlmaWVyKTsKKyAg
ICAgICAgcGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5kaWRGaW5pc2hMb2FkaW5nKGlkZW50
aWZpZXIpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cgYi9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGQ0ZDQ2NGMuLmNiMzA0YjQgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDA5LTExLTI0ICBZdXJ5IFNlbWlraGF0c2t5
ICA8eXVyeXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisKKyAgICAgICAgV2ViQ29yZSBwYXJ0IG9mIHRoZSBmaXggdGhhdCBhbGxvd3MgdG8g
dmlldyBwbHVnaW4KKyAgICAgICAgcmVzb3VyY2VzIGxvYWRlZCBieSBwbHVnaW5zLiBNZXRob2Rz
IHRoYXQgZm9yIHJlc291cmNlCisgICAgICAgIGxvYWRpbmcgbm90aWZpY2F0aW9ucyBhcmUgZXhw
b3NlZCB0aHJvdWdoIFdlYkRldlRvb2xzQWdlbnQKKyAgICAgICAgaW50ZXJmYWNlIHRvIHRoZSBn
bHVlIGNvZGUgdG8gYWxsb3cgQ2hyb21pdW0ncyBwbHVnaW4KKyAgICAgICAgaW1wbGVtZW50YXRp
b24gdG8gbm90aWZ5IEluc3BlY3RvckNvbnRyb2xsZXIgYWJvdXQgcmVzb3VyY2UKKyAgICAgICAg
bG9hZGluZyBpbiBwbHVnaW5zLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zMTgzMgorCisgICAgICAgICogcHVibGljL1dlYkRldlRvb2xzQWdlbnQu
aDoKKyAgICAgICAgKiBwdWJsaWMvV2ViVmlldy5oOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1w
bC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpjcmVhdGVVbmlxdWVJZGVudGlm
aWVyRm9yUmVxdWVzdCk6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmg6CisKIDIwMDktMTEt
MjQgIERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkRldlRvb2xzQWdlbnQuaCBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRGV2VG9vbHNBZ2Vu
dC5oCmluZGV4IGNmNGQ3ZWEuLjRhNDRjYjAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViRGV2VG9vbHNBZ2VudC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
RGV2VG9vbHNBZ2VudC5oCkBAIC0zNSw5ICszNSwxMyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
IGNsYXNzIFdlYkRldlRvb2xzQWdlbnRDbGllbnQ7CitjbGFzcyBXZWJGcmFtZTsKIGNsYXNzIFdl
YlN0cmluZzsKK2NsYXNzIFdlYlVSTFJlcXVlc3Q7CitjbGFzcyBXZWJVUkxSZXNwb25zZTsKIGNs
YXNzIFdlYlZpZXc7CiBzdHJ1Y3QgV2ViUG9pbnQ7CitzdHJ1Y3QgV2ViVVJMRXJyb3I7CiAKIGNs
YXNzIFdlYkRldlRvb2xzQWdlbnQgewogcHVibGljOgpAQCAtNzAsNiArNzQsMTMgQEAgcHVibGlj
OgogICAgIC8vIEluc3RhbGxzIGRpc3BhdGNoIGhhbmRsZSB0aGF0IGlzIGdvaW5nIHRvIGJlIGNh
bGxlZCBwZXJpb2RpY2FsbHkKICAgICAvLyB3aGlsZSBvbiBhIGJyZWFrcG9pbnQuCiAgICAgV0VC
S0lUX0FQSSBzdGF0aWMgdm9pZCBzZXRNZXNzYWdlTG9vcERpc3BhdGNoSGFuZGxlcihNZXNzYWdl
TG9vcERpc3BhdGNoSGFuZGxlcik7CisKKyAgICB2aXJ0dWFsIHZvaWQgaWRlbnRpZmllckZvcklu
aXRpYWxSZXF1ZXN0KHVuc2lnbmVkIGxvbmcgcmVzb3VyY2VJZCwgV2ViRnJhbWUqLCBjb25zdCBX
ZWJVUkxSZXF1ZXN0JikgPSAwOworICAgIHZpcnR1YWwgdm9pZCB3aWxsU2VuZFJlcXVlc3QodW5z
aWduZWQgbG9uZyByZXNvdXJjZUlkLCBjb25zdCBXZWJVUkxSZXF1ZXN0JikgPSAwOworICAgIHZp
cnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0YSh1bnNpZ25lZCBsb25nIHJlc291cmNlSWQsIGludCBs
ZW5ndGgpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKHVuc2lnbmVk
IGxvbmcgcmVzb3VyY2VJZCwgY29uc3QgV2ViVVJMUmVzcG9uc2UmKSA9IDA7CisgICAgdmlydHVh
bCB2b2lkIGRpZEZpbmlzaExvYWRpbmcodW5zaWduZWQgbG9uZyByZXNvdXJjZUlkKSA9IDA7Cisg
ICAgdmlydHVhbCB2b2lkIGRpZEZhaWxMb2FkaW5nKHVuc2lnbmVkIGxvbmcgcmVzb3VyY2VJZCwg
Y29uc3QgV2ViVVJMRXJyb3ImKSA9IDA7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlm
ZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oIGIvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJWaWV3LmgKaW5kZXggODI2MWFmYy4uMjlhM2Y5ZSAxMDA2NDQKLS0tIGEv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJWaWV3LmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJWaWV3LmgKQEAgLTE5MSw2ICsxOTEsMTMgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
Ym9vbCBzZXREcm9wRWZmZWN0KGJvb2wgYWNjZXB0KSA9IDA7CiAKIAorICAgIC8vIFN1cHBvcnQg
Zm9yIHJlc291cmNlIGxvYWRpbmcgaW5pdGlhdGVkIGJ5IHBsdWdpbnMgLS0tLS0tLS0tLS0tLS0t
LS0tLQorCisgICAgLy8gUmV0dXJucyBuZXh0IHVudXNlZCByZXF1ZXN0IGlkZW50aWZpZXIgd2hp
Y2ggaXMgdW5pcXVlIHdpdGhpbiB0aGUKKyAgICAvLyBwYXJlbnQgUGFnZS4KKyAgICB2aXJ0dWFs
IHVuc2lnbmVkIGxvbmcgY3JlYXRlVW5pcXVlSWRlbnRpZmllckZvclJlcXVlc3QoKSA9IDA7CisK
KwogICAgIC8vIERldmVsb3BlciB0b29scyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAgICAgLy8gSW5zcGVjdCBhIHBhcnRpY3VsYXIgcG9p
bnQgaW4gdGhlIFdlYlZpZXcuICAoeCA9IC0xIHx8IHkgPSAtMSkgaXMgYQpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmNwcAppbmRleCBhYWY3MTc0Li43OTE0YTllIDEwMDY0NAotLS0gYS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmNwcApAQCAtNzAsNiArNzAsNyBAQAogI2luY2x1ZGUgIlBsdWdpbkluZm9T
dG9yZS5oIgogI2luY2x1ZGUgIlBvcHVwTWVudUNocm9taXVtLmgiCiAjaW5jbHVkZSAiUG9wdXBN
ZW51Q2xpZW50LmgiCisjaW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2VyLmgiCiAjaW5jbHVkZSAiUmVu
ZGVyVmlldy5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiU2VjdXJp
dHlPcmlnaW4uaCIKQEAgLTE0NzUsNiArMTQ3NiwxMiBAQCBpbnQgV2ViVmlld0ltcGw6OmRyYWdJ
ZGVudGl0eSgpCiAgICAgcmV0dXJuIDA7CiB9CiAKK3Vuc2lnbmVkIGxvbmcgV2ViVmlld0ltcGw6
OmNyZWF0ZVVuaXF1ZUlkZW50aWZpZXJGb3JSZXF1ZXN0KCkgeworICAgIGlmIChtX3BhZ2UpCisg
ICAgICAgIHJldHVybiBtX3BhZ2UtPnByb2dyZXNzKCktPmNyZWF0ZVVuaXF1ZUlkZW50aWZpZXIo
KTsKKyAgICByZXR1cm4gMDsKK30KKwogdm9pZCBXZWJWaWV3SW1wbDo6aW5zcGVjdEVsZW1lbnRB
dChjb25zdCBXZWJQb2ludCYgcG9pbnQpCiB7CiAgICAgaWYgKCFtX3BhZ2UuZ2V0KCkpCmRpZmYg
LS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmggYi9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXggMmI4M2E4ZS4uOTYyMjdlMyAxMDA2NDQKLS0tIGEv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViVmlld0ltcGwuaApAQCAtMTQzLDYgKzE0Myw3IEBAIHB1YmxpYzoKICAgICAgICAgY29u
c3QgV2ViUG9pbnQmIHNjcmVlblBvaW50KTsKICAgICB2aXJ0dWFsIGludCBkcmFnSWRlbnRpdHko
KTsKICAgICB2aXJ0dWFsIGJvb2wgc2V0RHJvcEVmZmVjdChib29sIGFjY2VwdCk7CisgICAgdmly
dHVhbCB1bnNpZ25lZCBsb25nIGNyZWF0ZVVuaXF1ZUlkZW50aWZpZXJGb3JSZXF1ZXN0KCk7CiAg
ICAgdmlydHVhbCB2b2lkIGluc3BlY3RFbGVtZW50QXQoY29uc3QgV2ViUG9pbnQmIHBvaW50KTsK
ICAgICB2aXJ0dWFsIFdlYlN0cmluZyBpbnNwZWN0b3JTZXR0aW5ncygpIGNvbnN0OwogICAgIHZp
cnR1YWwgdm9pZCBzZXRJbnNwZWN0b3JTZXR0aW5ncyhjb25zdCBXZWJTdHJpbmcmIHNldHRpbmdz
KTsK
</data>
<flag name="review"
          id="25667"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
    <flag name="commit-queue"
          id="25668"
          type_id="3"
          status="-"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>