<?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>147202</bug_id>
          
          <creation_ts>2015-07-22 13:34:49 -0700</creation_ts>
          <short_desc>Linking WebKit2 to be able to grab media sources from a UID</short_desc>
          <delta_ts>2015-07-24 02:40:43 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit API</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>147259</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Matthew Daiter">mdaiter</reporter>
          <assigned_to name="Matthew Daiter">mdaiter</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>jonlee</cc>
    
    <cc>mdaiter</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1111391</commentid>
    <comment_count>0</comment_count>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-22 13:34:49 -0700</bug_when>
    <thetext>Need to be able to grab TrackSourceInfo from a UID, mainly names of devices to display.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111393</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-07-22 13:36:03 -0700</bug_when>
    <thetext>&lt;rdar://problem/21947608&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111396</commentid>
    <comment_count>2</comment_count>
      <attachid>257292</attachid>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-22 13:38:21 -0700</bug_when>
    <thetext>Created attachment 257292
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111428</commentid>
    <comment_count>3</comment_count>
      <attachid>257292</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-07-22 14:36:50 -0700</bug_when>
    <thetext>Comment on attachment 257292
Patch

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

&gt; Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm:416
&gt; +RefPtr&lt;RealtimeMediaSource&gt; AVCaptureDeviceManager::sourceWithUID(const String &amp;deviceUID, RealtimeMediaSource::Type type, MediaConstraints* constraints)

Should be const String&amp; rather than const String &amp;.

&gt; Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:188
&gt; +    for (auto iter = m_sourceMap.begin(); iter != m_sourceMap.end(); ++iter) {
&gt; +        RefPtr&lt;RealtimeMediaSource&gt; source = iter-&gt;value;

Should be modern for loop:

    for (auto&amp; source : m_sourceMap.values()) {

&gt; Source/WebCore/platform/mock/MockRealtimeMediaSourceCenter.cpp:222
&gt; +    MockSourceMap&amp; map = mockSourceMap();
&gt; +    MockSourceMap::iterator end = map.end();
&gt; +    
&gt; +    for (MockSourceMap::iterator it = map.begin(); it != end; ++it) {
&gt; +        MockSource* source = it-&gt;value.get();
&gt; +

Should be a modern for loop:

    for (auto&amp; source : mockSourceMap()) {</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111554</commentid>
    <comment_count>4</comment_count>
      <attachid>257292</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-22 20:20:40 -0700</bug_when>
    <thetext>Comment on attachment 257292
Patch

Please upload a patch against the current ToT; this one doesn&apos;t build! Also, please fix darin&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111657</commentid>
    <comment_count>5</comment_count>
      <attachid>257355</attachid>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-23 10:08:27 -0700</bug_when>
    <thetext>Created attachment 257355
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111751</commentid>
    <comment_count>6</comment_count>
      <attachid>257355</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-07-23 14:19:51 -0700</bug_when>
    <thetext>Comment on attachment 257355
Patch

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

&gt; Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:144
&gt; +    return TrackSourceInfo::create(mediaSource-&gt;id(), mediaSource-&gt;type() == RealtimeMediaSource::Type::Video ? TrackSourceInfo::SourceKind::Video : TrackSourceInfo::SourceKind::Audio , mediaSource-&gt;name());

Stray space here after Audio.

Might be nice to have a function to convert a RealtimeMediaSource::Type into TrackSourceInfo::SourceKind rather than writing out the ?: expression like this.

&gt; Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.h:61
&gt; +    const TrackSourceInfo&amp; sourceWithUID(const String&amp;, RealtimeMediaSource::Type, MediaConstraints*) override;

Return type needs to be RefPtr&lt;TrackSourceInfo&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111804</commentid>
    <comment_count>7</comment_count>
      <attachid>257402</attachid>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-23 16:08:26 -0700</bug_when>
    <thetext>Created attachment 257402
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111806</commentid>
    <comment_count>8</comment_count>
      <attachid>257355</attachid>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-23 16:09:16 -0700</bug_when>
    <thetext>Comment on attachment 257355
Patch

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

&gt;&gt; Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:144
&gt;&gt; +    return TrackSourceInfo::create(mediaSource-&gt;id(), mediaSource-&gt;type() == RealtimeMediaSource::Type::Video ? TrackSourceInfo::SourceKind::Video : TrackSourceInfo::SourceKind::Audio , mediaSource-&gt;name());
&gt; 
&gt; Stray space here after Audio.
&gt; 
&gt; Might be nice to have a function to convert a RealtimeMediaSource::Type into TrackSourceInfo::SourceKind rather than writing out the ?: expression like this.

Fixed.

&gt;&gt; Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.h:61
&gt;&gt; +    const TrackSourceInfo&amp; sourceWithUID(const String&amp;, RealtimeMediaSource::Type, MediaConstraints*) override;
&gt; 
&gt; Return type needs to be RefPtr&lt;TrackSourceInfo&gt;.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111816</commentid>
    <comment_count>9</comment_count>
      <attachid>257404</attachid>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-23 16:27:50 -0700</bug_when>
    <thetext>Created attachment 257404
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111820</commentid>
    <comment_count>10</comment_count>
      <attachid>257404</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-23 16:34:25 -0700</bug_when>
    <thetext>Comment on attachment 257404
Patch

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

Please fix the build failure this patch introduces (see my comment).

&gt; Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:185
&gt; +RefPtr&lt;TrackSourceInfo&gt; RealtimeMediaSourceCenterOwr::sourceWithUID(const String&amp; UID, RealtimeMediaSource::Type type, MediaConstraints* constraints)

The &quot;constraints&quot; parameter is causing build failures on other ports. Comment it out until you need to use it:

&quot;, MediaConstraints*)&quot; 

or

&quot;, MediaConstraints* /* constraints */)&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111821</commentid>
    <comment_count>11</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-23 16:35:09 -0700</bug_when>
    <thetext>Build error after this patch:

.../openwebrtc/RealtimeMediaSourceCenterOwr.cpp:185:138: error: unused parameter &apos;constraints&apos; [-Werror=unused-parameter]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111823</commentid>
    <comment_count>12</comment_count>
      <attachid>257404</attachid>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-23 16:45:17 -0700</bug_when>
    <thetext>Comment on attachment 257404
Patch

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

&gt;&gt; Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:185
&gt;&gt; +RefPtr&lt;TrackSourceInfo&gt; RealtimeMediaSourceCenterOwr::sourceWithUID(const String&amp; UID, RealtimeMediaSource::Type type, MediaConstraints* constraints)
&gt; 
&gt; The &quot;constraints&quot; parameter is causing build failures on other ports. Comment it out until you need to use it:
&gt; 
&gt; &quot;, MediaConstraints*)&quot; 
&gt; 
&gt; or
&gt; 
&gt; &quot;, MediaConstraints* /* constraints */)&quot;

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111826</commentid>
    <comment_count>13</comment_count>
      <attachid>257405</attachid>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-23 16:45:33 -0700</bug_when>
    <thetext>Created attachment 257405
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111836</commentid>
    <comment_count>14</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-23 16:56:38 -0700</bug_when>
    <thetext>../../Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:185:114: error: unused parameter &apos;type&apos; [-Werror=unused-parameter]
 RefPtr&lt;TrackSourceInfo&gt; RealtimeMediaSourceCenterOwr::sourceWithUID(const String&amp; UID, RealtimeMediaSource::Type type, MediaConstraints*)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111837</commentid>
    <comment_count>15</comment_count>
      <attachid>257405</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-23 16:57:47 -0700</bug_when>
    <thetext>Comment on attachment 257405
Patch

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

Another build failure... I think this may be the last one, though.

&gt; Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceCenterOwr.cpp:185
&gt; +RefPtr&lt;TrackSourceInfo&gt; RealtimeMediaSourceCenterOwr::sourceWithUID(const String&amp; UID, RealtimeMediaSource::Type type, MediaConstraints*)

&apos;type&apos; isn&apos;t used, so it&apos;s causing a build failure. Please correct!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111854</commentid>
    <comment_count>16</comment_count>
      <attachid>257413</attachid>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-23 17:40:26 -0700</bug_when>
    <thetext>Created attachment 257413
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111871</commentid>
    <comment_count>17</comment_count>
      <attachid>257413</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-07-23 18:29:08 -0700</bug_when>
    <thetext>Comment on attachment 257413
Patch

Looks good!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111882</commentid>
    <comment_count>18</comment_count>
      <attachid>257413</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-23 19:24:59 -0700</bug_when>
    <thetext>Comment on attachment 257413
Patch

Clearing flags on attachment: 257413

Committed r187282: &lt;http://trac.webkit.org/changeset/187282&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111883</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-23 19:25:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257292</attachid>
            <date>2015-07-22 13:38:21 -0700</date>
            <delta_ts>2015-07-23 10:08:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147202-20150722133705.patch</filename>
            <type>text/plain</type>
            <size>15699</size>
            <attacher name="Matthew Daiter">mdaiter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGRhYmY1ZTkwMDhmYzY0
YWI3M2U5NmQwMGVlNTQyYzI0YzI2MjE4NC4uODA0ZTgyMzM5M2I5MzU0ZDYzYTM1ZmM0YjRhMzU4
YmY2MzM2MWU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE1LTA3LTIyICBNYXR0
aGV3IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgorCisgICAgICAgIExpbmtpbmcgV2ViS2l0
MiB0byBiZSBhYmxlIHRvIGdyYWIgbWVkaWEgc291cmNlcyBmcm9tIGEgVUlECisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDcyMDIKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzIxOTQ3NjA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdl
ci5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VN
YW5hZ2VyLm1tOgorICAgICAgICAoV2ViQ29yZTo6QVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6c291
cmNlV2l0aFVJRCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlck1hYzo6c291cmNlV2l0aFVJRCk6CisgICAgICAgICogcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJP
d3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93cjo6
c291cmNlV2l0aFVJRCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0
Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9j
ay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpN
b2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c291cmNlV2l0aFVJRCk6CisgICAgICAgICog
cGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oOgorCiAyMDE1LTA3
LTIyICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4
IGNhc3QtYWxpZ24gd2FybmluZyBpbiBOZXR3b3JrU3RhdGVOb3RpZmllckVmbC5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCA1NGFhMGIzMWZiNmExNzBmMGQxYWI0NGJlOTg0NDJjMzRkNDc0MTM4Li5iODNkZTZh
MzViNzljMWEzYTIwNWFhMWY2MWM5ZDI5OGFkN2JmY2U1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMTUtMDctMjIgIE1hdHRoZXcgRGFpdGVyICA8bWRhaXRlckBhcHBsZS5jb20+CisK
KyAgICAgICAgTGlua2luZyBXZWJLaXQyIHRvIGJlIGFibGUgdG8gZ3JhYiBtZWRpYSBzb3VyY2Vz
IGZyb20gYSBVSUQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0NzIwMgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjE5NDc2MDg+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvVXNlck1l
ZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0UHJveHk6OmdldERldmljZU5hbWVGb3JVSUQpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5Lmg6CisKIDIwMTUtMDct
MjIgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtTZWNjb21wIEZpbHRlcnNdIEFkZCBoZWxwZXJzIHRvIGdldCBYREcgYmFzZSBkaXJlY3Rvcnkg
bG9jYXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggZWRkYTFiZTYyY2Q5MjgwZDVhZjkxODQ5ZjkzMTBiYThhOThmMjRkNy4u
ZTk4MmU2ODRkNDNiNzA2NTUzMTEzZDIxYzc0MGNhNThjYmI4ZjY3MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTkxLDcgKzE5
MSw3IEBACiAJCTA3NjMwNkREMTdFMTVGQjAwMDVBN0M0RSAvKiBKU01lZGlhU3RyZWFtVHJhY2tT
b3VyY2VzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDA3NjMwNkRCMTdFMTVGQjAwMDVBN0M0RSAvKiBKU01lZGlhU3RyZWFtVHJhY2tTb3Vy
Y2VzQ2FsbGJhY2suaCAqLzsgfTsKIAkJMDc2MzA2RTAxN0UxNjA4OTAwNUE3QzRFIC8qIEpTU291
cmNlSW5mby5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwNzYzMDZERTE3RTE2MDg5MDA1QTdDNEUgLyogSlNTb3VyY2VJbmZvLmNwcCAqLzsgfTsKIAkJ
MDc2MzA2RTExN0UxNjA4OTAwNUE3QzRFIC8qIEpTU291cmNlSW5mby5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc2MzA2REYxN0UxNjA4OTAwNUE3QzRF
IC8qIEpTU291cmNlSW5mby5oICovOyB9OwotCQkwNzYzMDZFMzE3RTIyQTQzMDA1QTdDNEUgLyog
TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzYzMDZFMjE3RTIyQTQzMDA1QTdDNEUgLyog
TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50LmggKi87IH07CisJCTA3NjMwNkUz
MTdFMjJBNDMwMDVBN0M0RSAvKiBNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3RDbGllbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3NjMwNkUy
MTdFMjJBNDMwMDVBN0M0RSAvKiBNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3RDbGllbnQu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwNzYz
OEE5OTE4ODQ0ODcyMDBFMTVBMUIgLyogTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc2MzhBOTcxODg0NDg3MjAw
RTE1QTFCIC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXJJT1MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwNzYzOEE5QTE4ODQ0ODcyMDBFMTVBMUIgLyog
TWVkaWFTZXNzaW9uTWFuYWdlcklPUy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDA3NjM4QTk4MTg4NDQ4NzIwMEUxNUExQiAvKiBNZWRpYVNlc3Npb25N
YW5hZ2VySU9TLm1tICovOyB9OwogCQkwNzY5NzA4NjE0NjNBRDg3MDBGNTAyQ0YgLyogVGV4dFRy
YWNrTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwNzY5NzA4NDE0NjNBRDg3MDBGNTAyQ0YgLyogVGV4dFRyYWNrTGlzdC5jcHAgKi87IH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1l
ZGlhU291cmNlQ2VudGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9S
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgKaW5kZXggZjc3N2EzMjU2OTk5ZDNlMmNiOWJjNzBj
OTI4ZGZmYzcyZTgxODg3My4uYjZkNGMwMDIwMjY4MmE3YmI0MWYzYTFmNGNlMmMwOGYzZjU3NDJm
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaApAQCAtNDQsNiArNDQsNyBAQCBjbGFz
cyBNZWRpYUNvbnN0cmFpbnRzOwogY2xhc3MgTWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudDsKIGNs
YXNzIFJlYWx0aW1lTWVkaWFTb3VyY2VTdGF0ZXM7CiBjbGFzcyBNZWRpYVN0cmVhbVRyYWNrU291
cmNlc1JlcXVlc3RDbGllbnQ7CitjbGFzcyBUcmFja1NvdXJjZUluZm87CiAKIGNsYXNzIFJlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXIgewogcHVibGljOgpAQCAtNTcsNiArNTgsOCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIGNyZWF0ZU1lZGlhU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJl
YW1DcmVhdGlvbkNsaWVudD4sIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gYXVkaW9Db25z
dHJhaW50cywgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiB2aWRlb0NvbnN0cmFpbnRzKSA9
IDA7CiAKICAgICB2aXJ0dWFsIGJvb2wgZ2V0TWVkaWFTdHJlYW1UcmFja1NvdXJjZXMoUGFzc1Jl
ZlB0cjxNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3RDbGllbnQ+KSA9IDA7CisgICAgCisg
ICAgdmlydHVhbCBSZWZQdHI8VHJhY2tTb3VyY2VJbmZvPiBzb3VyY2VXaXRoVUlEKGNvbnN0IFN0
cmluZyYsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUsIE1lZGlhQ29uc3RyYWludHMqKSA9IDA7
CiAKIHByb3RlY3RlZDoKICAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2
aWNlTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FW
Q2FwdHVyZURldmljZU1hbmFnZXIuaAppbmRleCBlYmNjNjBlYzEzY2NhZWQwOTgzMzkwNThmMWJm
YjFjMmRhMDY4MDU4Li5lN2I4ZWE1MGFkOWY0MzBlNTllOWVlOGE1MmNlOGRmMTViNDhkYmFjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0
dXJlRGV2aWNlTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgKQEAgLTUwLDcgKzUwLDcgQEAgcHVibGlj
OgogICAgIFZlY3RvcjxSZWZQdHI8VHJhY2tTb3VyY2VJbmZvPj4gZ2V0U291cmNlc0luZm8oY29u
c3QgU3RyaW5nJik7CiAgICAgYm9vbCB2ZXJpZnlDb25zdHJhaW50c0Zvck1lZGlhVHlwZShSZWFs
dGltZU1lZGlhU291cmNlOjpUeXBlLCBNZWRpYUNvbnN0cmFpbnRzKiwgU3RyaW5nJik7CiAgICAg
UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IGJlc3RTb3VyY2VGb3JUeXBlQW5kQ29uc3RyYWlu
dHMoUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRz
Pik7Ci0gICAgUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IHNvdXJjZVdpdGhVSUQoU3RyaW5n
JiwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSwgTWVkaWFDb25zdHJhaW50cyopOworICAgIFJl
ZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBzb3VyY2VXaXRoVUlEKGNvbnN0IFN0cmluZyYsIFJl
YWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUsIE1lZGlhQ29uc3RyYWludHMqKTsKIAogICAgIGVudW0g
VmFsaWRDb25zdHJhaW50cyB7IFdpZHRoID0gMCwgSGVpZ2h0LCBGcmFtZVJhdGUsIEZhY2luZ01v
ZGUsIEdhaW4gfTsKICAgICBzdGF0aWMgY29uc3QgVmVjdG9yPEF0b21pY1N0cmluZz4mIHZhbGlk
Q29uc3RyYWludE5hbWVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tCmluZGV4
IDU1NWVhNmI3OTEzNjZjODVmODkyNGM1YmZkYmU0NDgxNzg1ZWM5M2MuLjU3NmEzZjE5MTNkYThj
NDMwZjJkNjk5ODhmYmM0ZjIwMDcxZDYyMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5h
Z2VyLm1tCkBAIC00MTMsNyArNDEzLDcgQEAgUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IEFW
Q2FwdHVyZURldmljZU1hbmFnZXI6OmJlc3RTb3VyY2VGb3JUeXBlQW5kQ29uc3RyYWkKICAgICBy
ZXR1cm4gMDsKIH0KIAotUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IEFWQ2FwdHVyZURldmlj
ZU1hbmFnZXI6OnNvdXJjZVdpdGhVSUQoU3RyaW5nICZkZXZpY2VVSUQsIFJlYWx0aW1lTWVkaWFT
b3VyY2U6OlR5cGUgdHlwZSwgTWVkaWFDb25zdHJhaW50cyogY29uc3RyYWludHMpCitSZWZQdHI8
UmVhbHRpbWVNZWRpYVNvdXJjZT4gQVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6c291cmNlV2l0aFVJ
RChjb25zdCBTdHJpbmcgJmRldmljZVVJRCwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSB0eXBl
LCBNZWRpYUNvbnN0cmFpbnRzKiBjb25zdHJhaW50cykKIHsKICAgICBpZiAoIWlzQXZhaWxhYmxl
KCkpCiAgICAgICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXJNYWMuY3BwCmluZGV4IDQ1MDQyNGRmN2Q0ODc2Y2IzZmRhOTNhZjhmNmJjOGJhMzg2NGMw
NGYuLmM5MmU5MTdjY2JmOWM0OGFiYzdhNmZlZDIxODQzNjhlNDgwOGU5NDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5jcHAKQEAgLTEzMiw2ICsxMzIsMTQg
QEAgYm9vbCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpnZXRNZWRpYVN0cmVhbVRyYWNr
U291cmNlcyhQYXNzUmVmUHRyPE1lZGlhU3QKICAgICByZXF1ZXN0Q2xpZW50LT5kaWRDb21wbGV0
ZVJlcXVlc3Qoc291cmNlcyk7CiAgICAgcmV0dXJuIHRydWU7CiB9CisgICAgCitSZWZQdHI8VHJh
Y2tTb3VyY2VJbmZvPiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpzb3VyY2VXaXRoVUlE
KGNvbnN0IFN0cmluZyYgVUlELCBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUsIE1lZGlh
Q29uc3RyYWludHMqIGNvbnN0cmFpbnRzKQoreworICAgIFJlZlB0cjxSZWFsdGltZU1lZGlhU291
cmNlPiBtZWRpYVNvdXJjZSA9IEFWQ2FwdHVyZURldmljZU1hbmFnZXI6OnNpbmdsZXRvbigpLnNv
dXJjZVdpdGhVSUQoVUlELCB0eXBlLCBjb25zdHJhaW50cyk7CisgICAgaWYgKCFtZWRpYVNvdXJj
ZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIFRyYWNrU291cmNlSW5mbzo6
Y3JlYXRlKG1lZGlhU291cmNlLT5pZCgpLCBtZWRpYVNvdXJjZS0+dHlwZSgpID09IFJlYWx0aW1l
TWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvID8gVHJhY2tTb3VyY2VJbmZvOjpTb3VyY2VLaW5kOjpW
aWRlbyA6IFRyYWNrU291cmNlSW5mbzo6U291cmNlS2luZDo6QXVkaW8gLCBtZWRpYVNvdXJjZS0+
bmFtZSgpKTsKK30KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlck1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaAppbmRleCA4NmMzM2RiZDg0YWEzOTFiNzQzMDNiYmJm
MzM3MGVmYTBjOTYzNGRhLi4xMzZjMmQ0ZTdhOWRjN2ZlMjEyZWE4MWJmYTI0OTdiMmM2Yjg4NTZm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmgKQEAgLTQ4LDYg
KzQ4LDcgQEAgcHVibGljOgogICAgIHZvaWQgdmFsaWRhdGVSZXF1ZXN0Q29uc3RyYWludHMoUGFz
c1JlZlB0cjxNZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZW50PiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0
cmFpbnRzPiBhdWRpb0NvbnN0cmFpbnRzLCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IHZp
ZGVvQ29uc3RyYWludHMpIG92ZXJyaWRlOwogICAgIHZvaWQgY3JlYXRlTWVkaWFTdHJlYW0oUGFz
c1JlZlB0cjxNZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZW50PiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0
cmFpbnRzPiBhdWRpb0NvbnN0cmFpbnRzLCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IHZp
ZGVvQ29uc3RyYWludHMpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgYm9vbCBnZXRNZWRpYVN0cmVh
bVRyYWNrU291cmNlcyhQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdENs
aWVudD4pIG92ZXJyaWRlOworICAgIFJlZlB0cjxUcmFja1NvdXJjZUluZm8+IHNvdXJjZVdpdGhV
SUQoY29uc3QgU3RyaW5nJiwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSwgTWVkaWFDb25zdHJh
aW50cyopIG92ZXJyaWRlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyT3dyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL29wZW53ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93ci5jcHAKaW5kZXgg
YTNiNTg0ZmUwZDY0M2FiNjJiNzM0NjIyYzI3ZjE1ODQxNTU4MjA1NC4uMTgyOTUyYTRjMmVjZjNl
NWIxNTA3MWEyNzRhMmJjZDVmOWE0ZjkwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRj
L1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuY3BwCkBAIC0xODIsNiArMTgyLDE3IEBAIFBh
c3NSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93
cjo6Zmlyc3RTb3VyY2UoUmVhbHRpCiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKK1JlZlB0cjxU
cmFja1NvdXJjZUluZm8+IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3I6OnNvdXJjZVdpdGhV
SUQoY29uc3QgU3RyaW5nJiBVSUQsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUgdHlwZSwgTWVk
aWFDb25zdHJhaW50cyogY29uc3RyYWludHMpCit7CisgICAgZm9yIChhdXRvIGl0ZXIgPSBtX3Nv
dXJjZU1hcC5iZWdpbigpOyBpdGVyICE9IG1fc291cmNlTWFwLmVuZCgpOyArK2l0ZXIpIHsKKyAg
ICAgICAgUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IHNvdXJjZSA9IGl0ZXItPnZhbHVlOwor
ICAgICAgICBpZiAoc291cmNlLT5pZCgpID09IFVJRCkKKyAgICAgICAgICAgIHJldHVybiBUcmFj
a1NvdXJjZUluZm86OmNyZWF0ZShzb3VyY2UtPmlkKCksIHNvdXJjZS0+dHlwZSgpID09IFJlYWx0
aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvID8gVHJhY2tTb3VyY2VJbmZvOjpTb3VyY2VLaW5k
OjpWaWRlbyA6IFRyYWNrU291cmNlSW5mbzo6U291cmNlS2luZDo6QXVkaW8gLCBzb3VyY2UtPm5h
bWUoKSk7CisgICAgfQorCisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFVTRShPUEVOV0VC
UlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3Bl
bndlYnJ0Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJP
d3IuaAppbmRleCA1MzVkYTE2MjRiNjhjODFkNzcxYTNmNzgwMGJkYmU0MDI5ZTY4MDVlLi4wZDlh
OGEwOWVjZmYxYzc2NjRhOTdjZTA4OWM4MTdmNmE2NzUxOGMxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXJPd3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9v
cGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuaApAQCAtNDYsNiArNDYsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBNZWRpYVN0cmVhbVByaXZhdGU7CiBjbGFzcyBS
ZWFsdGltZU1lZGlhU291cmNlOwogY2xhc3MgTWVkaWFTdHJlYW1Tb3VyY2VzUXVlcnlDbGllbnQ7
CitjbGFzcyBUcmFja1NvdXJjZUluZm87CiAKIGNsYXNzIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXJPd3IgZmluYWwgOiBwdWJsaWMgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlciB7CiBwdWJsaWM6
CkBAIC01Nyw2ICs1OCw3IEBAIHB1YmxpYzoKICAgICBib29sIGdldE1lZGlhU3RyZWFtVHJhY2tT
b3VyY2VzKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50Pikg
b3ZlcnJpZGU7CiAKICAgICB2b2lkIG1lZGlhU291cmNlc0F2YWlsYWJsZShHTGlzdCogc291cmNl
cyk7CisgICAgY29uc3QgVHJhY2tTb3VyY2VJbmZvJiBzb3VyY2VXaXRoVUlEKGNvbnN0IFN0cmlu
ZyYsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUsIE1lZGlhQ29uc3RyYWludHMqKSBvdmVycmlk
ZTsKIAogcHJpdmF0ZToKICAgICBQYXNzUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IGZpcnN0
U291cmNlKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVy
LmNwcAppbmRleCA4M2U4NzIzZGM3NzJiMGQ4YjQ0ZDJhOWM0NWVlODRhOWQ1NDk3NmI5Li5iNDAw
ODE4ZTFiOTNjMTg1MjFmNTkzM2U3MjU2YjRiZjY4YjFiYTRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyLmNwcApAQCAtMjEyLDYgKzIxMiwyMSBAQCBib29sIE1vY2tSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyOjpnZXRNZWRpYVN0cmVhbVRyYWNrU291cmNlcyhQYXNzUmVmUHRyPE1lZGlhUwog
ICAgIHJldHVybiB0cnVlOwogfQogCitSZWZQdHI8VHJhY2tTb3VyY2VJbmZvPiBNb2NrUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlcjo6c291cmNlV2l0aFVJRChjb25zdCBTdHJpbmcmIFVJRCwgUmVh
bHRpbWVNZWRpYVNvdXJjZTo6VHlwZSwgTWVkaWFDb25zdHJhaW50cyopCit7CisgICAgTW9ja1Nv
dXJjZU1hcCYgbWFwID0gbW9ja1NvdXJjZU1hcCgpOworICAgIE1vY2tTb3VyY2VNYXA6Oml0ZXJh
dG9yIGVuZCA9IG1hcC5lbmQoKTsKKyAgICAKKyAgICBmb3IgKE1vY2tTb3VyY2VNYXA6Oml0ZXJh
dG9yIGl0ID0gbWFwLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgeworICAgICAgICBNb2NrU291
cmNlKiBzb3VyY2UgPSBpdC0+dmFsdWUuZ2V0KCk7CisKKyAgICAgICAgaWYgKHNvdXJjZS0+aWQo
KSA9PSBVSUQpCisgICAgICAgICAgICByZXR1cm4gVHJhY2tTb3VyY2VJbmZvOjpjcmVhdGUoc291
cmNlLT5pZCgpLCBzb3VyY2UtPnR5cGUoKSA9PSBSZWFsdGltZU1lZGlhU291cmNlOjpWaWRlbyA/
IFRyYWNrU291cmNlSW5mbzo6VmlkZW8gOiBUcmFja1NvdXJjZUluZm86OkF1ZGlvLCBzb3VyY2Ut
Pm5hbWUoKSk7CisgICAgfQorICAgIHJldHVybiBudWxscHRyOworICAgIAorfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlci5oCmluZGV4IDliYTIxNDA2YjU0MzM1ODQ5MDE0ZmYwNjFmMDliNTBkMzBi
NGM5OGMuLjY2NDlkYzRjMWMxNGQwYThmMGMwYjcxODJjODFlZTMyYzg2NWExZTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1l
ZGlhU291cmNlQ2VudGVyLmgKQEAgLTQwLDYgKzQwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
dm9pZCB2YWxpZGF0ZVJlcXVlc3RDb25zdHJhaW50cyhQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQ3Jl
YXRpb25DbGllbnQ+LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGF1ZGlvQ29uc3RyYWlu
dHMsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gdmlkZW9Db25zdHJhaW50cykgb3ZlcnJp
ZGU7CiAgICAgdmlydHVhbCB2b2lkIGNyZWF0ZU1lZGlhU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFT
dHJlYW1DcmVhdGlvbkNsaWVudD4sIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gYXVkaW9D
b25zdHJhaW50cywgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiB2aWRlb0NvbnN0cmFpbnRz
KSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgZ2V0TWVkaWFTdHJlYW1UcmFja1NvdXJjZXMo
UGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3RDbGllbnQ+KSBvdmVycmlk
ZTsKKyAgICBSZWZQdHI8VHJhY2tTb3VyY2VJbmZvPiBzb3VyY2VXaXRoVUlEKGNvbnN0IFN0cmlu
ZyYsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUsIE1lZGlhQ29uc3RyYWludHMqKSBvdmVycmlk
ZTsKIAogcHJpdmF0ZToKICAgICBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcigpIHsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0UHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0UHJveHkuY3BwCmluZGV4IDZlMTgwMjcxMjM1NzQ3YzM1MTIxNWIwNzIzNmU1
OTJiMjYwZDRhZjcuLmUzMjFlNDczNGYwNjAzMmMzNWNiZDQ4ZTcxNDM0NzFkNzNkOWQ3MTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3RQcm94eS5jcHAKQEAgLTIwLDYgKzIwLDggQEAKICNpbmNsdWRlICJVc2Vy
TWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5LmgiCiAKICNpbmNsdWRlICJVc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oIgorI2luY2x1ZGUgPFdlYkNvcmUvTWVkaWFTdHJl
YW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFzaC5oPgog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ3LDUgKzQ5LDEwIEBAIHZvaWQgVXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3RQcm94eTo6aW52YWxpZGF0ZSgpCiAgICAgbV9tYW5hZ2VyLmludmFsaWRh
dGVSZXF1ZXN0cygpOwogfQogCitjb25zdCBTdHJpbmcmIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1
ZXN0UHJveHk6OmdldERldmljZU5hbWVGb3JVSUQoY29uc3QgU3RyaW5nJiBVSUQsIFdlYkNvcmU6
OlJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUgdHlwZSkKK3sKKyAgICByZXR1cm4gV2ViQ29yZTo6
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuc291cmNlV2l0aFVJRChVSUQs
IHR5cGUsIG51bGxwdHIpLT5sYWJlbCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdFByb3h5LmgKaW5kZXggOTNkMWNiOWYwMDRiNWE3NjhmYTNmODA3NDIyZDIyZTU3
MDBkY2YxYy4uMDdlMDA1NWZkZTBhMmRmMWVhZjM3YmViMGMwYzNlYjk1OGVmNDE2OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RQcm94eS5oCkBAIC0yMCw2ICsyMCw3IEBACiAjZGVmaW5lIFVzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0UHJveHlfaAogCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCisjaW5jbHVkZSA8
V2ViQ29yZS9SZWFsdGltZU1lZGlhU291cmNlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00MCw2ICs0MSw4IEBAIHB1YmxpYzoKIAogICAg
IGJvb2wgcmVxdWlyZXNBdWRpbygpIGNvbnN0IHsgcmV0dXJuIG1fcmVxdWlyZXNBdWRpbzsgfQog
ICAgIGJvb2wgcmVxdWlyZXNWaWRlbygpIGNvbnN0IHsgcmV0dXJuIG1fcmVxdWlyZXNWaWRlbzsg
fQorICAgIAorICAgIGNvbnN0IFN0cmluZyYgZ2V0RGV2aWNlTmFtZUZvclVJRChjb25zdCBTdHJp
bmcmLCBXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlKTsKIAogcHJpdmF0ZToKICAg
ICBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5KFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlclByb3h5JiwgdWludDY0X3QgdXNlck1lZGlhSUQsIGJvb2wgcmVxdWlyZXNBdWRp
bywgYm9vbCByZXF1aXJlc1ZpZGVvKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257355</attachid>
            <date>2015-07-23 10:08:27 -0700</date>
            <delta_ts>2015-07-23 16:08:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147202-20150723100712.patch</filename>
            <type>text/plain</type>
            <size>15420</size>
            <attacher name="Matthew Daiter">mdaiter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODcyNjdiODkzMThmNDZl
YmY5MmY3ODVmZjliNGM3N2JkYjY1MWQ1MS4uYTUxMDcxZTM5N2E4NDA2NzYxODdkNzExMjBmMThk
NzlhY2UzNDkxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE1LTA3LTIzICBNYXR0
aGV3IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgorCisgICAgICAgIExpbmtpbmcgV2ViS2l0
MiB0byBiZSBhYmxlIHRvIGdyYWIgbWVkaWEgc291cmNlcyBmcm9tIGEgVUlECisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDcyMDIKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzIxOTQ3NjA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdl
ci5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VN
YW5hZ2VyLm1tOgorICAgICAgICAoV2ViQ29yZTo6QVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6c291
cmNlV2l0aFVJRCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlck1hYzo6c291cmNlV2l0aFVJRCk6CisgICAgICAgICogcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJP
d3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93cjo6
c291cmNlV2l0aFVJRCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0
Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9j
ay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpN
b2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c291cmNlV2l0aFVJRCk6CisgICAgICAgICog
cGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oOgorCiAyMDE1LTA3
LTIyICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBPdXQgb2YgYm91
bmRzIGluIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6c2ltdWxhdGVWZXJ0ZXhBdHRyaWIwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggNTRkMjhmZjY2MGU4M2YxMjkwZTQxZWVkY2ZhMjlmZWNmZTQ1OWJkNC4uYjYyNjRl
ZTkzODM0MTE5NDBiYzU1NGI2ZWQzOTIwYzRhNmMwMmMyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDE1LTA3LTIzICBNYXR0aGV3IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgor
CisgICAgICAgIExpbmtpbmcgV2ViS2l0MiB0byBiZSBhYmxlIHRvIGdyYWIgbWVkaWEgc291cmNl
cyBmcm9tIGEgVUlECisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDcyMDIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIxOTQ3NjA4PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL1VzZXJN
ZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5OjpnZXREZXZpY2VOYW1lRm9yVUlEKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5oOgorCiAyMDE1LTA3
LTIyICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBb
RUZMXSBTdXBwb3J0IGluZGV4ZWRkYiBmb3IgV0syCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZWRkYTFiZTYyY2Q5MjgwZDVhZjkx
ODQ5ZjkzMTBiYThhOThmMjRkNy4uZTk4MmU2ODRkNDNiNzA2NTUzMTEzZDIxYzc0MGNhNThjYmI4
ZjY3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTkxLDcgKzE5MSw3IEBACiAJCTA3NjMwNkREMTdFMTVGQjAwMDVBN0M0RSAv
KiBKU01lZGlhU3RyZWFtVHJhY2tTb3VyY2VzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3NjMwNkRCMTdFMTVGQjAwMDVBN0M0RSAvKiBK
U01lZGlhU3RyZWFtVHJhY2tTb3VyY2VzQ2FsbGJhY2suaCAqLzsgfTsKIAkJMDc2MzA2RTAxN0Ux
NjA4OTAwNUE3QzRFIC8qIEpTU291cmNlSW5mby5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzYzMDZERTE3RTE2MDg5MDA1QTdDNEUgLyogSlNTb3Vy
Y2VJbmZvLmNwcCAqLzsgfTsKIAkJMDc2MzA2RTExN0UxNjA4OTAwNUE3QzRFIC8qIEpTU291cmNl
SW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc2
MzA2REYxN0UxNjA4OTAwNUE3QzRFIC8qIEpTU291cmNlSW5mby5oICovOyB9OwotCQkwNzYzMDZF
MzE3RTIyQTQzMDA1QTdDNEUgLyogTWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzYzMDZF
MjE3RTIyQTQzMDA1QTdDNEUgLyogTWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50
LmggKi87IH07CisJCTA3NjMwNkUzMTdFMjJBNDMwMDVBN0M0RSAvKiBNZWRpYVN0cmVhbVRyYWNr
U291cmNlc1JlcXVlc3RDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDA3NjMwNkUyMTdFMjJBNDMwMDVBN0M0RSAvKiBNZWRpYVN0cmVhbVRyYWNr
U291cmNlc1JlcXVlc3RDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQkwNzYzOEE5OTE4ODQ0ODcyMDBFMTVBMUIgLyogTWVkaWFTZXNzaW9u
TWFuYWdlcklPUy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDc2MzhBOTcxODg0NDg3MjAwRTE1QTFCIC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXJJT1MuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwNzYzOEE5
QTE4ODQ0ODcyMDBFMTVBMUIgLyogTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3NjM4QTk4MTg4NDQ4NzIwMEUx
NUExQiAvKiBNZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tICovOyB9OwogCQkwNzY5NzA4NjE0NjNB
RDg3MDBGNTAyQ0YgLyogVGV4dFRyYWNrTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzY5NzA4NDE0NjNBRDg3MDBGNTAyQ0YgLyogVGV4dFRy
YWNrTGlzdC5jcHAgKi87IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgKaW5kZXggZjc3
N2EzMjU2OTk5ZDNlMmNiOWJjNzBjOTI4ZGZmYzcyZTgxODg3My4uYjZkNGMwMDIwMjY4MmE3YmI0
MWYzYTFmNGNlMmMwOGYzZjU3NDJmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaApA
QCAtNDQsNiArNDQsNyBAQCBjbGFzcyBNZWRpYUNvbnN0cmFpbnRzOwogY2xhc3MgTWVkaWFTdHJl
YW1DcmVhdGlvbkNsaWVudDsKIGNsYXNzIFJlYWx0aW1lTWVkaWFTb3VyY2VTdGF0ZXM7CiBjbGFz
cyBNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3RDbGllbnQ7CitjbGFzcyBUcmFja1NvdXJj
ZUluZm87CiAKIGNsYXNzIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIgewogcHVibGljOgpAQCAt
NTcsNiArNTgsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGNyZWF0ZU1lZGlhU3RyZWFt
KFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudD4sIFBhc3NSZWZQdHI8TWVkaWFD
b25zdHJhaW50cz4gYXVkaW9Db25zdHJhaW50cywgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRz
PiB2aWRlb0NvbnN0cmFpbnRzKSA9IDA7CiAKICAgICB2aXJ0dWFsIGJvb2wgZ2V0TWVkaWFTdHJl
YW1UcmFja1NvdXJjZXMoUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3RD
bGllbnQ+KSA9IDA7CisgICAgCisgICAgdmlydHVhbCBSZWZQdHI8VHJhY2tTb3VyY2VJbmZvPiBz
b3VyY2VXaXRoVUlEKGNvbnN0IFN0cmluZyYsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUsIE1l
ZGlhQ29uc3RyYWludHMqKSA9IDA7CiAKIHByb3RlY3RlZDoKICAgICBSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFnZXIuaAppbmRleCA3MTQ2NGU5
MDQzNmRlZmI1YmI5Y2I2NTE2ZWJmZmU2OTQ3MDA1MmY4Li5hNmNmODI5MWIxMzE2YTM3OTFmM2Qx
NmM1MzMxMGRkZTZkZTVkOWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgKQEAg
LTUwLDcgKzUwLDcgQEAgcHVibGljOgogICAgIFZlY3RvcjxSZWZQdHI8VHJhY2tTb3VyY2VJbmZv
Pj4gZ2V0U291cmNlc0luZm8oY29uc3QgU3RyaW5nJik7CiAgICAgYm9vbCB2ZXJpZnlDb25zdHJh
aW50c0Zvck1lZGlhVHlwZShSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlLCBNZWRpYUNvbnN0cmFp
bnRzKiwgU3RyaW5nJik7CiAgICAgVmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4g
YmVzdFNvdXJjZXNGb3JUeXBlQW5kQ29uc3RyYWludHMoUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlw
ZSwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPik7Ci0gICAgUmVmUHRyPFJlYWx0aW1lTWVk
aWFTb3VyY2U+IHNvdXJjZVdpdGhVSUQoU3RyaW5nJiwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlw
ZSwgTWVkaWFDb25zdHJhaW50cyopOworICAgIFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBz
b3VyY2VXaXRoVUlEKGNvbnN0IFN0cmluZyYsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUsIE1l
ZGlhQ29uc3RyYWludHMqKTsKIAogICAgIGVudW0gVmFsaWRDb25zdHJhaW50cyB7IFdpZHRoID0g
MCwgSGVpZ2h0LCBGcmFtZVJhdGUsIEZhY2luZ01vZGUsIEdhaW4gfTsKICAgICBzdGF0aWMgY29u
c3QgVmVjdG9yPEF0b21pY1N0cmluZz4mIHZhbGlkQ29uc3RyYWludE5hbWVzKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2
aWNlTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9B
VkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tCmluZGV4IGQwZDU1YWNiNjBlMmJkMzUyMWZmYTc3Yzll
MjcwZmU2NGJjYWY3ZjYuLjg5ZmNjNjUxMmM4Y2I1YWZkM2ZkMjE5OWNlYTc4OWY3M2IyZmI1NDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNh
cHR1cmVEZXZpY2VNYW5hZ2VyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tCkBAIC00MTMsNyArNDEzLDcgQEAg
VmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4gQVZDYXB0dXJlRGV2aWNlTWFuYWdl
cjo6YmVzdFNvdXJjZXNGb3JUeXBlQW4KICAgICByZXR1cm4gYmVzdFNvdXJjZXNMaXN0OwogfQog
Ci1SZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4gQVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6c291
cmNlV2l0aFVJRChTdHJpbmcgJmRldmljZVVJRCwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSB0
eXBlLCBNZWRpYUNvbnN0cmFpbnRzKiBjb25zdHJhaW50cykKK1JlZlB0cjxSZWFsdGltZU1lZGlh
U291cmNlPiBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpzb3VyY2VXaXRoVUlEKGNvbnN0IFN0cmlu
ZyYgZGV2aWNlVUlELCBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUsIE1lZGlhQ29uc3Ry
YWludHMqIGNvbnN0cmFpbnRzKQogewogICAgIGlmICghaXNBdmFpbGFibGUoKSkKICAgICAgICAg
cmV0dXJuIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5jcHAK
aW5kZXggNWFlODc2ZjBmNDQ5MDc4MzM1MDEzMGRlYzg4NWI2NTg2ZmVlODA5Ny4uNGNmZGEzZDkz
NzkwNTA5OGM2NTgzOGY3NWZhYjcxYWM0NTU3YjdlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcApAQCAtMTM2LDYgKzEzNiwxNCBAQCBib29sIFJlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6OmdldE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzKFBhc3NS
ZWZQdHI8TWVkaWFTdAogICAgIHJldHVybiB0cnVlOwogfQogCitSZWZQdHI8VHJhY2tTb3VyY2VJ
bmZvPiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpzb3VyY2VXaXRoVUlEKGNvbnN0IFN0
cmluZyYgVUlELCBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUsIE1lZGlhQ29uc3RyYWlu
dHMqIGNvbnN0cmFpbnRzKQoreworICAgIFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBtZWRp
YVNvdXJjZSA9IEFWQ2FwdHVyZURldmljZU1hbmFnZXI6OnNpbmdsZXRvbigpLnNvdXJjZVdpdGhV
SUQoVUlELCB0eXBlLCBjb25zdHJhaW50cyk7CisgICAgaWYgKCFtZWRpYVNvdXJjZSkKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIFRyYWNrU291cmNlSW5mbzo6Y3JlYXRlKG1l
ZGlhU291cmNlLT5pZCgpLCBtZWRpYVNvdXJjZS0+dHlwZSgpID09IFJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OlR5cGU6OlZpZGVvID8gVHJhY2tTb3VyY2VJbmZvOjpTb3VyY2VLaW5kOjpWaWRlbyA6IFRy
YWNrU291cmNlSW5mbzo6U291cmNlS2luZDo6QXVkaW8gLCBtZWRpYVNvdXJjZS0+bmFtZSgpKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NU
UkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21h
Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oCmluZGV4IDg2
YzMzZGJkODRhYTM5MWI3NDMwM2JiYmYzMzcwZWZhMGM5NjM0ZGEuLjEzNmMyZDRlN2E5ZGM3ZmUy
MTJlYTgxYmZhMjQ5N2IyYzZiODg1NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXJNYWMuaApAQCAtNDgsNiArNDgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB2YWxpZGF0
ZVJlcXVlc3RDb25zdHJhaW50cyhQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQ+
LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGF1ZGlvQ29uc3RyYWludHMsIFBhc3NSZWZQ
dHI8TWVkaWFDb25zdHJhaW50cz4gdmlkZW9Db25zdHJhaW50cykgb3ZlcnJpZGU7CiAgICAgdm9p
ZCBjcmVhdGVNZWRpYVN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQ+
LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGF1ZGlvQ29uc3RyYWludHMsIFBhc3NSZWZQ
dHI8TWVkaWFDb25zdHJhaW50cz4gdmlkZW9Db25zdHJhaW50cykgb3ZlcnJpZGU7CiAgICAgdmly
dHVhbCBib29sIGdldE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzKFBhc3NSZWZQdHI8TWVkaWFTdHJl
YW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50Pikgb3ZlcnJpZGU7CisgICAgUmVmUHRyPFRyYWNr
U291cmNlSW5mbz4gc291cmNlV2l0aFVJRChjb25zdCBTdHJpbmcmLCBSZWFsdGltZU1lZGlhU291
cmNlOjpUeXBlLCBNZWRpYUNvbnN0cmFpbnRzKikgb3ZlcnJpZGU7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyT3dyLmNwcAppbmRleCBjY2Q0MWM3NWZiM2UyNGI4Mzc5MWI5NGE4Nzk2YmJkYzAw
ZTAzYjUzLi45OWVhZWFlODllNGMwYTY1YjhmMmU3MjYyYTgxOTVkMTU4MzliYzlmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL29wZW53ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93ci5jcHAK
QEAgLTE4Miw2ICsxODIsMTUgQEAgUGFzc1JlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyT3dyOjpmaXJzdFNvdXJjZShSZWFsdGkKICAgICByZXR1cm4g
bnVsbHB0cjsKIH0KIAorUmVmUHRyPFRyYWNrU291cmNlSW5mbz4gUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlck93cjo6c291cmNlV2l0aFVJRChjb25zdCBTdHJpbmcmIFVJRCwgUmVhbHRpbWVNZWRp
YVNvdXJjZTo6VHlwZSB0eXBlLCBNZWRpYUNvbnN0cmFpbnRzKiBjb25zdHJhaW50cykKK3sKKyAg
ICBmb3IgKGF1dG8mIHNvdXJjZSA6IG1fc291cmNlTWFwLnZhbHVlcygpKSB7CisgICAgICAgIGlm
IChzb3VyY2UtPmlkKCkgPT0gVUlEKQorICAgICAgICAgICAgcmV0dXJuIFRyYWNrU291cmNlSW5m
bzo6Y3JlYXRlKHNvdXJjZS0+aWQoKSwgc291cmNlLT50eXBlKCkgPT0gUmVhbHRpbWVNZWRpYVNv
dXJjZTo6VHlwZTo6VmlkZW8gPyBUcmFja1NvdXJjZUluZm86OlNvdXJjZUtpbmQ6OlZpZGVvIDog
VHJhY2tTb3VyY2VJbmZvOjpTb3VyY2VLaW5kOjpBdWRpbyAsIHNvdXJjZS0+bmFtZSgpKTsKKyAg
ICB9CisKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAog
I2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFVTRShPUEVOV0VCUlRDKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuaAppbmRleCA1
MzVkYTE2MjRiNjhjODFkNzcxYTNmNzgwMGJkYmU0MDI5ZTY4MDVlLi4wZDlhOGEwOWVjZmYxYzc2
NjRhOTdjZTA4OWM4MTdmNmE2NzUxOGMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1Jl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuaApAQCAtNDYsNiArNDYsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBjbGFzcyBNZWRpYVN0cmVhbVByaXZhdGU7CiBjbGFzcyBSZWFsdGltZU1lZGlh
U291cmNlOwogY2xhc3MgTWVkaWFTdHJlYW1Tb3VyY2VzUXVlcnlDbGllbnQ7CitjbGFzcyBUcmFj
a1NvdXJjZUluZm87CiAKIGNsYXNzIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IgZmluYWwg
OiBwdWJsaWMgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlciB7CiBwdWJsaWM6CkBAIC01Nyw2ICs1
OCw3IEBAIHB1YmxpYzoKICAgICBib29sIGdldE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzKFBhc3NS
ZWZQdHI8TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50Pikgb3ZlcnJpZGU7CiAK
ICAgICB2b2lkIG1lZGlhU291cmNlc0F2YWlsYWJsZShHTGlzdCogc291cmNlcyk7CisgICAgY29u
c3QgVHJhY2tTb3VyY2VJbmZvJiBzb3VyY2VXaXRoVUlEKGNvbnN0IFN0cmluZyYsIFJlYWx0aW1l
TWVkaWFTb3VyY2U6OlR5cGUsIE1lZGlhQ29uc3RyYWludHMqKSBvdmVycmlkZTsKIAogcHJpdmF0
ZToKICAgICBQYXNzUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IGZpcnN0U291cmNlKFJlYWx0
aW1lTWVkaWFTb3VyY2U6OlR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcAppbmRleCA4
ZmM3NjVmYzhmMTEzYjUxNmY3NzgxNTVjNTBlNjVhZTU4ZDA3YTk5Li5hMzE2YjU3NmJkOTdjMzRl
MGMxMWZlZjEzZGMyMWZiMTMyODU1NTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcApA
QCAtMjEyLDYgKzIxMiwxNSBAQCBib29sIE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpn
ZXRNZWRpYVN0cmVhbVRyYWNrU291cmNlcyhQYXNzUmVmUHRyPE1lZGlhUwogICAgIHJldHVybiB0
cnVlOwogfQogCitSZWZQdHI8VHJhY2tTb3VyY2VJbmZvPiBNb2NrUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlcjo6c291cmNlV2l0aFVJRChjb25zdCBTdHJpbmcmIFVJRCwgUmVhbHRpbWVNZWRpYVNv
dXJjZTo6VHlwZSwgTWVkaWFDb25zdHJhaW50cyopCit7CisgICAgZm9yIChhdXRvJiBzb3VyY2Ug
OiBtb2NrU291cmNlTWFwKCkpIHsKKyAgICAgICAgaWYgKHNvdXJjZS52YWx1ZS0+aWQoKSA9PSBV
SUQpCisgICAgICAgICAgICByZXR1cm4gVHJhY2tTb3VyY2VJbmZvOjpjcmVhdGUoc291cmNlLnZh
bHVlLT5pZCgpLCBzb3VyY2UudmFsdWUtPnR5cGUoKSA9PSBSZWFsdGltZU1lZGlhU291cmNlOjpW
aWRlbyA/IFRyYWNrU291cmNlSW5mbzo6VmlkZW8gOiBUcmFja1NvdXJjZUluZm86OkF1ZGlvLCBz
b3VyY2UudmFsdWUtPm5hbWUoKSk7CisgICAgfQorICAgIHJldHVybiBudWxscHRyOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlci5oCmluZGV4IDliYTIxNDA2YjU0MzM1ODQ5MDE0ZmYwNjFmMDli
NTBkMzBiNGM5OGMuLjY2NDlkYzRjMWMxNGQwYThmMGMwYjcxODJjODFlZTMyYzg2NWExZTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyLmgKQEAgLTQwLDYgKzQwLDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCB2YWxpZGF0ZVJlcXVlc3RDb25zdHJhaW50cyhQYXNzUmVmUHRyPE1lZGlhU3Ry
ZWFtQ3JlYXRpb25DbGllbnQ+LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGF1ZGlvQ29u
c3RyYWludHMsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gdmlkZW9Db25zdHJhaW50cykg
b3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGNyZWF0ZU1lZGlhU3RyZWFtKFBhc3NSZWZQdHI8
TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudD4sIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4g
YXVkaW9Db25zdHJhaW50cywgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiB2aWRlb0NvbnN0
cmFpbnRzKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgZ2V0TWVkaWFTdHJlYW1UcmFja1Nv
dXJjZXMoUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3RDbGllbnQ+KSBv
dmVycmlkZTsKKyAgICBSZWZQdHI8VHJhY2tTb3VyY2VJbmZvPiBzb3VyY2VXaXRoVUlEKGNvbnN0
IFN0cmluZyYsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUsIE1lZGlhQ29uc3RyYWludHMqKSBv
dmVycmlkZTsKIAogcHJpdmF0ZToKICAgICBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcigp
IHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0UHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuY3BwCmluZGV4IDZlMTgwMjcxMjM1NzQ3YzM1MTIxNWIw
NzIzNmU1OTJiMjYwZDRhZjcuLmUzMjFlNDczNGYwNjAzMmMzNWNiZDQ4ZTcxNDM0NzFkNzNkOWQ3
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVXNlck1l
ZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5jcHAKQEAgLTIwLDYgKzIwLDggQEAKICNpbmNsdWRl
ICJVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5LmgiCiAKICNpbmNsdWRlICJVc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oIgorI2luY2x1ZGUgPFdlYkNvcmUvTWVk
aWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9S
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFz
aC5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ3LDUgKzQ5LDEwIEBAIHZvaWQgVXNlck1l
ZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eTo6aW52YWxpZGF0ZSgpCiAgICAgbV9tYW5hZ2VyLmlu
dmFsaWRhdGVSZXF1ZXN0cygpOwogfQogCitjb25zdCBTdHJpbmcmIFVzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0UHJveHk6OmdldERldmljZU5hbWVGb3JVSUQoY29uc3QgU3RyaW5nJiBVSUQsIFdl
YkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUgdHlwZSkKK3sKKyAgICByZXR1cm4gV2Vi
Q29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuc291cmNlV2l0aFVJ
RChVSUQsIHR5cGUsIG51bGxwdHIpLT5sYWJlbCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Vc2VyTWVkaWFQ
ZXJtaXNzaW9uUmVxdWVzdFByb3h5LmgKaW5kZXggOTNkMWNiOWYwMDRiNWE3NjhmYTNmODA3NDIy
ZDIyZTU3MDBkY2YxYy4uMDdlMDA1NWZkZTBhMmRmMWVhZjM3YmViMGMwYzNlYjk1OGVmNDE2OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3RQcm94eS5oCkBAIC0yMCw2ICsyMCw3IEBACiAjZGVmaW5lIFVzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0UHJveHlfaAogCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCisjaW5j
bHVkZSA8V2ViQ29yZS9SZWFsdGltZU1lZGlhU291cmNlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00MCw2ICs0MSw4IEBAIHB1YmxpYzoK
IAogICAgIGJvb2wgcmVxdWlyZXNBdWRpbygpIGNvbnN0IHsgcmV0dXJuIG1fcmVxdWlyZXNBdWRp
bzsgfQogICAgIGJvb2wgcmVxdWlyZXNWaWRlbygpIGNvbnN0IHsgcmV0dXJuIG1fcmVxdWlyZXNW
aWRlbzsgfQorICAgIAorICAgIGNvbnN0IFN0cmluZyYgZ2V0RGV2aWNlTmFtZUZvclVJRChjb25z
dCBTdHJpbmcmLCBXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlKTsKIAogcHJpdmF0
ZToKICAgICBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5KFVzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlclByb3h5JiwgdWludDY0X3QgdXNlck1lZGlhSUQsIGJvb2wgcmVxdWly
ZXNBdWRpbywgYm9vbCByZXF1aXJlc1ZpZGVvKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257402</attachid>
            <date>2015-07-23 16:08:26 -0700</date>
            <delta_ts>2015-07-23 16:27:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147202-20150723160710.patch</filename>
            <type>text/plain</type>
            <size>15420</size>
            <attacher name="Matthew Daiter">mdaiter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODcyNjdiODkzMThmNDZl
YmY5MmY3ODVmZjliNGM3N2JkYjY1MWQ1MS4uYTUxMDcxZTM5N2E4NDA2NzYxODdkNzExMjBmMThk
NzlhY2UzNDkxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE1LTA3LTIzICBNYXR0
aGV3IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgorCisgICAgICAgIExpbmtpbmcgV2ViS2l0
MiB0byBiZSBhYmxlIHRvIGdyYWIgbWVkaWEgc291cmNlcyBmcm9tIGEgVUlECisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDcyMDIKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzIxOTQ3NjA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdl
ci5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VN
YW5hZ2VyLm1tOgorICAgICAgICAoV2ViQ29yZTo6QVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6c291
cmNlV2l0aFVJRCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlck1hYzo6c291cmNlV2l0aFVJRCk6CisgICAgICAgICogcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJP
d3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93cjo6
c291cmNlV2l0aFVJRCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0
Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9j
ay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpN
b2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c291cmNlV2l0aFVJRCk6CisgICAgICAgICog
cGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oOgorCiAyMDE1LTA3
LTIyICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBPdXQgb2YgYm91
bmRzIGluIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6c2ltdWxhdGVWZXJ0ZXhBdHRyaWIwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKaW5kZXggNTRkMjhmZjY2MGU4M2YxMjkwZTQxZWVkY2ZhMjlmZWNmZTQ1OWJkNC4uYjYyNjRl
ZTkzODM0MTE5NDBiYzU1NGI2ZWQzOTIwYzRhNmMwMmMyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDE1LTA3LTIzICBNYXR0aGV3IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgor
CisgICAgICAgIExpbmtpbmcgV2ViS2l0MiB0byBiZSBhYmxlIHRvIGdyYWIgbWVkaWEgc291cmNl
cyBmcm9tIGEgVUlECisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDcyMDIKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIxOTQ3NjA4PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL1VzZXJN
ZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5OjpnZXREZXZpY2VOYW1lRm9yVUlEKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5oOgorCiAyMDE1LTA3
LTIyICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBb
RUZMXSBTdXBwb3J0IGluZGV4ZWRkYiBmb3IgV0syCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZWRkYTFiZTYyY2Q5MjgwZDVhZjkx
ODQ5ZjkzMTBiYThhOThmMjRkNy4uZTk4MmU2ODRkNDNiNzA2NTUzMTEzZDIxYzc0MGNhNThjYmI4
ZjY3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMTkxLDcgKzE5MSw3IEBACiAJCTA3NjMwNkREMTdFMTVGQjAwMDVBN0M0RSAv
KiBKU01lZGlhU3RyZWFtVHJhY2tTb3VyY2VzQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3NjMwNkRCMTdFMTVGQjAwMDVBN0M0RSAvKiBK
U01lZGlhU3RyZWFtVHJhY2tTb3VyY2VzQ2FsbGJhY2suaCAqLzsgfTsKIAkJMDc2MzA2RTAxN0Ux
NjA4OTAwNUE3QzRFIC8qIEpTU291cmNlSW5mby5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzYzMDZERTE3RTE2MDg5MDA1QTdDNEUgLyogSlNTb3Vy
Y2VJbmZvLmNwcCAqLzsgfTsKIAkJMDc2MzA2RTExN0UxNjA4OTAwNUE3QzRFIC8qIEpTU291cmNl
SW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc2
MzA2REYxN0UxNjA4OTAwNUE3QzRFIC8qIEpTU291cmNlSW5mby5oICovOyB9OwotCQkwNzYzMDZF
MzE3RTIyQTQzMDA1QTdDNEUgLyogTWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzYzMDZF
MjE3RTIyQTQzMDA1QTdDNEUgLyogTWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50
LmggKi87IH07CisJCTA3NjMwNkUzMTdFMjJBNDMwMDVBN0M0RSAvKiBNZWRpYVN0cmVhbVRyYWNr
U291cmNlc1JlcXVlc3RDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDA3NjMwNkUyMTdFMjJBNDMwMDVBN0M0RSAvKiBNZWRpYVN0cmVhbVRyYWNr
U291cmNlc1JlcXVlc3RDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQkwNzYzOEE5OTE4ODQ0ODcyMDBFMTVBMUIgLyogTWVkaWFTZXNzaW9u
TWFuYWdlcklPUy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMDc2MzhBOTcxODg0NDg3MjAwRTE1QTFCIC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXJJT1MuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwNzYzOEE5
QTE4ODQ0ODcyMDBFMTVBMUIgLyogTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3NjM4QTk4MTg4NDQ4NzIwMEUx
NUExQiAvKiBNZWRpYVNlc3Npb25NYW5hZ2VySU9TLm1tICovOyB9OwogCQkwNzY5NzA4NjE0NjNB
RDg3MDBGNTAyQ0YgLyogVGV4dFRyYWNrTGlzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzY5NzA4NDE0NjNBRDg3MDBGNTAyQ0YgLyogVGV4dFRy
YWNrTGlzdC5jcHAgKi87IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgKaW5kZXggZjc3
N2EzMjU2OTk5ZDNlMmNiOWJjNzBjOTI4ZGZmYzcyZTgxODg3My4uYjZkNGMwMDIwMjY4MmE3YmI0
MWYzYTFmNGNlMmMwOGYzZjU3NDJmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaApA
QCAtNDQsNiArNDQsNyBAQCBjbGFzcyBNZWRpYUNvbnN0cmFpbnRzOwogY2xhc3MgTWVkaWFTdHJl
YW1DcmVhdGlvbkNsaWVudDsKIGNsYXNzIFJlYWx0aW1lTWVkaWFTb3VyY2VTdGF0ZXM7CiBjbGFz
cyBNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3RDbGllbnQ7CitjbGFzcyBUcmFja1NvdXJj
ZUluZm87CiAKIGNsYXNzIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIgewogcHVibGljOgpAQCAt
NTcsNiArNTgsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGNyZWF0ZU1lZGlhU3RyZWFt
KFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudD4sIFBhc3NSZWZQdHI8TWVkaWFD
b25zdHJhaW50cz4gYXVkaW9Db25zdHJhaW50cywgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRz
PiB2aWRlb0NvbnN0cmFpbnRzKSA9IDA7CiAKICAgICB2aXJ0dWFsIGJvb2wgZ2V0TWVkaWFTdHJl
YW1UcmFja1NvdXJjZXMoUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3RD
bGllbnQ+KSA9IDA7CisgICAgCisgICAgdmlydHVhbCBSZWZQdHI8VHJhY2tTb3VyY2VJbmZvPiBz
b3VyY2VXaXRoVUlEKGNvbnN0IFN0cmluZyYsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUsIE1l
ZGlhQ29uc3RyYWludHMqKSA9IDA7CiAKIHByb3RlY3RlZDoKICAgICBSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFnZXIuaAppbmRleCA3MTQ2NGU5
MDQzNmRlZmI1YmI5Y2I2NTE2ZWJmZmU2OTQ3MDA1MmY4Li5hNmNmODI5MWIxMzE2YTM3OTFmM2Qx
NmM1MzMxMGRkZTZkZTVkOWMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgKQEAg
LTUwLDcgKzUwLDcgQEAgcHVibGljOgogICAgIFZlY3RvcjxSZWZQdHI8VHJhY2tTb3VyY2VJbmZv
Pj4gZ2V0U291cmNlc0luZm8oY29uc3QgU3RyaW5nJik7CiAgICAgYm9vbCB2ZXJpZnlDb25zdHJh
aW50c0Zvck1lZGlhVHlwZShSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlLCBNZWRpYUNvbnN0cmFp
bnRzKiwgU3RyaW5nJik7CiAgICAgVmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4g
YmVzdFNvdXJjZXNGb3JUeXBlQW5kQ29uc3RyYWludHMoUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlw
ZSwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPik7Ci0gICAgUmVmUHRyPFJlYWx0aW1lTWVk
aWFTb3VyY2U+IHNvdXJjZVdpdGhVSUQoU3RyaW5nJiwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlw
ZSwgTWVkaWFDb25zdHJhaW50cyopOworICAgIFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBz
b3VyY2VXaXRoVUlEKGNvbnN0IFN0cmluZyYsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUsIE1l
ZGlhQ29uc3RyYWludHMqKTsKIAogICAgIGVudW0gVmFsaWRDb25zdHJhaW50cyB7IFdpZHRoID0g
MCwgSGVpZ2h0LCBGcmFtZVJhdGUsIEZhY2luZ01vZGUsIEdhaW4gfTsKICAgICBzdGF0aWMgY29u
c3QgVmVjdG9yPEF0b21pY1N0cmluZz4mIHZhbGlkQ29uc3RyYWludE5hbWVzKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2
aWNlTWFuYWdlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9B
VkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tCmluZGV4IGQwZDU1YWNiNjBlMmJkMzUyMWZmYTc3Yzll
MjcwZmU2NGJjYWY3ZjYuLjg5ZmNjNjUxMmM4Y2I1YWZkM2ZkMjE5OWNlYTc4OWY3M2IyZmI1NDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNh
cHR1cmVEZXZpY2VNYW5hZ2VyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tCkBAIC00MTMsNyArNDEzLDcgQEAg
VmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4gQVZDYXB0dXJlRGV2aWNlTWFuYWdl
cjo6YmVzdFNvdXJjZXNGb3JUeXBlQW4KICAgICByZXR1cm4gYmVzdFNvdXJjZXNMaXN0OwogfQog
Ci1SZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4gQVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6c291
cmNlV2l0aFVJRChTdHJpbmcgJmRldmljZVVJRCwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSB0
eXBlLCBNZWRpYUNvbnN0cmFpbnRzKiBjb25zdHJhaW50cykKK1JlZlB0cjxSZWFsdGltZU1lZGlh
U291cmNlPiBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpzb3VyY2VXaXRoVUlEKGNvbnN0IFN0cmlu
ZyYgZGV2aWNlVUlELCBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUsIE1lZGlhQ29uc3Ry
YWludHMqIGNvbnN0cmFpbnRzKQogewogICAgIGlmICghaXNBdmFpbGFibGUoKSkKICAgICAgICAg
cmV0dXJuIDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5jcHAK
aW5kZXggNWFlODc2ZjBmNDQ5MDc4MzM1MDEzMGRlYzg4NWI2NTg2ZmVlODA5Ny4uOGQwMWMyZDBm
NDhjMDJiYzZhOGM4ZDBlNmQwMWNlZGZkY2NjNGIyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcApAQCAtMTM2LDYgKzEzNiwxNCBAQCBib29sIFJlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6OmdldE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzKFBhc3NS
ZWZQdHI8TWVkaWFTdAogICAgIHJldHVybiB0cnVlOwogfQogCitSZWZQdHI8VHJhY2tTb3VyY2VJ
bmZvPiBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpzb3VyY2VXaXRoVUlEKGNvbnN0IFN0
cmluZyYgVUlELCBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUsIE1lZGlhQ29uc3RyYWlu
dHMqIGNvbnN0cmFpbnRzKQoreworICAgIFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBtZWRp
YVNvdXJjZSA9IEFWQ2FwdHVyZURldmljZU1hbmFnZXI6OnNpbmdsZXRvbigpLnNvdXJjZVdpdGhV
SUQoVUlELCB0eXBlLCBjb25zdHJhaW50cyk7CisgICAgaWYgKCFtZWRpYVNvdXJjZSkKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIFRyYWNrU291cmNlSW5mbzo6Y3JlYXRlKG1l
ZGlhU291cmNlLT5pZCgpLCBtZWRpYVNvdXJjZS0+dHlwZSgpID09IFJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OlR5cGU6OlZpZGVvID8gVHJhY2tTb3VyY2VJbmZvOjpTb3VyY2VLaW5kOjpWaWRlbyA6IFRy
YWNrU291cmNlSW5mbzo6U291cmNlS2luZDo6QXVkaW8sIG1lZGlhU291cmNlLT5uYW1lKCkpOwor
fQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RS
RUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFj
L1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmgKaW5kZXggODZj
MzNkYmQ4NGFhMzkxYjc0MzAzYmJiZjMzNzBlZmEwYzk2MzRkYS4uMTM2YzJkNGU3YTlkYzdmZTIx
MmVhODFiZmEyNDk3YjJjNmI4ODU2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlck1hYy5oCkBAIC00OCw2ICs0OCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHZhbGlkYXRl
UmVxdWVzdENvbnN0cmFpbnRzKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudD4s
IFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gYXVkaW9Db25zdHJhaW50cywgUGFzc1JlZlB0
cjxNZWRpYUNvbnN0cmFpbnRzPiB2aWRlb0NvbnN0cmFpbnRzKSBvdmVycmlkZTsKICAgICB2b2lk
IGNyZWF0ZU1lZGlhU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudD4s
IFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gYXVkaW9Db25zdHJhaW50cywgUGFzc1JlZlB0
cjxNZWRpYUNvbnN0cmFpbnRzPiB2aWRlb0NvbnN0cmFpbnRzKSBvdmVycmlkZTsKICAgICB2aXJ0
dWFsIGJvb2wgZ2V0TWVkaWFTdHJlYW1UcmFja1NvdXJjZXMoUGFzc1JlZlB0cjxNZWRpYVN0cmVh
bVRyYWNrU291cmNlc1JlcXVlc3RDbGllbnQ+KSBvdmVycmlkZTsKKyAgICBSZWZQdHI8VHJhY2tT
b3VyY2VJbmZvPiBzb3VyY2VXaXRoVUlEKGNvbnN0IFN0cmluZyYsIFJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OlR5cGUsIE1lZGlhQ29uc3RyYWludHMqKSBvdmVycmlkZTsKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL29wZW53ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93ci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXJPd3IuY3BwCmluZGV4IGNjZDQxYzc1ZmIzZTI0YjgzNzkxYjk0YTg3OTZiYmRjMDBl
MDNiNTMuLjk5ZWFlYWU4OWU0YzBhNjViOGYyZTcyNjJhODE5NWQxNTgzOWJjOWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL29wZW53ZWJydGMvUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlck93ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmNwcApA
QCAtMTgyLDYgKzE4MiwxNSBAQCBQYXNzUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IFJlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3I6OmZpcnN0U291cmNlKFJlYWx0aQogICAgIHJldHVybiBu
dWxscHRyOwogfQogCitSZWZQdHI8VHJhY2tTb3VyY2VJbmZvPiBSZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyT3dyOjpzb3VyY2VXaXRoVUlEKGNvbnN0IFN0cmluZyYgVUlELCBSZWFsdGltZU1lZGlh
U291cmNlOjpUeXBlIHR5cGUsIE1lZGlhQ29uc3RyYWludHMqIGNvbnN0cmFpbnRzKQoreworICAg
IGZvciAoYXV0byYgc291cmNlIDogbV9zb3VyY2VNYXAudmFsdWVzKCkpIHsKKyAgICAgICAgaWYg
KHNvdXJjZS0+aWQoKSA9PSBVSUQpCisgICAgICAgICAgICByZXR1cm4gVHJhY2tTb3VyY2VJbmZv
OjpjcmVhdGUoc291cmNlLT5pZCgpLCBzb3VyY2UtPnR5cGUoKSA9PSBSZWFsdGltZU1lZGlhU291
cmNlOjpUeXBlOjpWaWRlbyA/IFRyYWNrU291cmNlSW5mbzo6U291cmNlS2luZDo6VmlkZW8gOiBU
cmFja1NvdXJjZUluZm86OlNvdXJjZUtpbmQ6OkF1ZGlvICwgc291cmNlLT5uYW1lKCkpOworICAg
IH0KKworICAgIHJldHVybiBudWxscHRyOworfQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAj
ZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYgVVNFKE9QRU5XRUJSVEMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL29wZW53ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93ci5oCmluZGV4IDUz
NWRhMTYyNGI2OGM4MWQ3NzFhM2Y3ODAwYmRiZTQwMjllNjgwNWUuLjFlMzdlNDFjYjA1ZTlkYWE3
YzY5ODU3ZDFjZTgxOGVlMzI1YzQ1ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL29wZW53ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93ci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL29wZW53ZWJydGMvUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlck93ci5oCkBAIC00Niw2ICs0Niw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIGNsYXNzIE1lZGlhU3RyZWFtUHJpdmF0ZTsKIGNsYXNzIFJlYWx0aW1lTWVkaWFT
b3VyY2U7CiBjbGFzcyBNZWRpYVN0cmVhbVNvdXJjZXNRdWVyeUNsaWVudDsKK2NsYXNzIFRyYWNr
U291cmNlSW5mbzsKIAogY2xhc3MgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93ciBmaW5hbCA6
IHB1YmxpYyBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyIHsKIHB1YmxpYzoKQEAgLTU3LDYgKzU4
LDcgQEAgcHVibGljOgogICAgIGJvb2wgZ2V0TWVkaWFTdHJlYW1UcmFja1NvdXJjZXMoUGFzc1Jl
ZlB0cjxNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3RDbGllbnQ+KSBvdmVycmlkZTsKIAog
ICAgIHZvaWQgbWVkaWFTb3VyY2VzQXZhaWxhYmxlKEdMaXN0KiBzb3VyY2VzKTsKKyAgICBSZWZQ
dHI8VHJhY2tTb3VyY2VJbmZvPiBzb3VyY2VXaXRoVUlEKGNvbnN0IFN0cmluZyYsIFJlYWx0aW1l
TWVkaWFTb3VyY2U6OlR5cGUsIE1lZGlhQ29uc3RyYWludHMqKSBvdmVycmlkZTsKIAogcHJpdmF0
ZToKICAgICBQYXNzUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IGZpcnN0U291cmNlKFJlYWx0
aW1lTWVkaWFTb3VyY2U6OlR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcAppbmRleCA4
ZmM3NjVmYzhmMTEzYjUxNmY3NzgxNTVjNTBlNjVhZTU4ZDA3YTk5Li5hMzE2YjU3NmJkOTdjMzRl
MGMxMWZlZjEzZGMyMWZiMTMyODU1NTc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcApA
QCAtMjEyLDYgKzIxMiwxNSBAQCBib29sIE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpn
ZXRNZWRpYVN0cmVhbVRyYWNrU291cmNlcyhQYXNzUmVmUHRyPE1lZGlhUwogICAgIHJldHVybiB0
cnVlOwogfQogCitSZWZQdHI8VHJhY2tTb3VyY2VJbmZvPiBNb2NrUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlcjo6c291cmNlV2l0aFVJRChjb25zdCBTdHJpbmcmIFVJRCwgUmVhbHRpbWVNZWRpYVNv
dXJjZTo6VHlwZSwgTWVkaWFDb25zdHJhaW50cyopCit7CisgICAgZm9yIChhdXRvJiBzb3VyY2Ug
OiBtb2NrU291cmNlTWFwKCkpIHsKKyAgICAgICAgaWYgKHNvdXJjZS52YWx1ZS0+aWQoKSA9PSBV
SUQpCisgICAgICAgICAgICByZXR1cm4gVHJhY2tTb3VyY2VJbmZvOjpjcmVhdGUoc291cmNlLnZh
bHVlLT5pZCgpLCBzb3VyY2UudmFsdWUtPnR5cGUoKSA9PSBSZWFsdGltZU1lZGlhU291cmNlOjpW
aWRlbyA/IFRyYWNrU291cmNlSW5mbzo6VmlkZW8gOiBUcmFja1NvdXJjZUluZm86OkF1ZGlvLCBz
b3VyY2UudmFsdWUtPm5hbWUoKSk7CisgICAgfQorICAgIHJldHVybiBudWxscHRyOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoTUVESUFfU1RSRUFNKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlci5oCmluZGV4IDliYTIxNDA2YjU0MzM1ODQ5MDE0ZmYwNjFmMDli
NTBkMzBiNGM5OGMuLjY2NDlkYzRjMWMxNGQwYThmMGMwYjcxODJjODFlZTMyYzg2NWExZTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyLmgKQEAgLTQwLDYgKzQwLDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCB2YWxpZGF0ZVJlcXVlc3RDb25zdHJhaW50cyhQYXNzUmVmUHRyPE1lZGlhU3Ry
ZWFtQ3JlYXRpb25DbGllbnQ+LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGF1ZGlvQ29u
c3RyYWludHMsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gdmlkZW9Db25zdHJhaW50cykg
b3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGNyZWF0ZU1lZGlhU3RyZWFtKFBhc3NSZWZQdHI8
TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudD4sIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4g
YXVkaW9Db25zdHJhaW50cywgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiB2aWRlb0NvbnN0
cmFpbnRzKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgZ2V0TWVkaWFTdHJlYW1UcmFja1Nv
dXJjZXMoUGFzc1JlZlB0cjxNZWRpYVN0cmVhbVRyYWNrU291cmNlc1JlcXVlc3RDbGllbnQ+KSBv
dmVycmlkZTsKKyAgICBSZWZQdHI8VHJhY2tTb3VyY2VJbmZvPiBzb3VyY2VXaXRoVUlEKGNvbnN0
IFN0cmluZyYsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUsIE1lZGlhQ29uc3RyYWludHMqKSBv
dmVycmlkZTsKIAogcHJpdmF0ZToKICAgICBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcigp
IHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0UHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuY3BwCmluZGV4IDZlMTgwMjcxMjM1NzQ3YzM1MTIxNWIw
NzIzNmU1OTJiMjYwZDRhZjcuLmUzMjFlNDczNGYwNjAzMmMzNWNiZDQ4ZTcxNDM0NzFkNzNkOWQ3
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVXNlck1l
ZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5jcHAKQEAgLTIwLDYgKzIwLDggQEAKICNpbmNsdWRl
ICJVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5LmgiCiAKICNpbmNsdWRlICJVc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oIgorI2luY2x1ZGUgPFdlYkNvcmUvTWVk
aWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9S
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nSGFz
aC5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ3LDUgKzQ5LDEwIEBAIHZvaWQgVXNlck1l
ZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eTo6aW52YWxpZGF0ZSgpCiAgICAgbV9tYW5hZ2VyLmlu
dmFsaWRhdGVSZXF1ZXN0cygpOwogfQogCitjb25zdCBTdHJpbmcmIFVzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0UHJveHk6OmdldERldmljZU5hbWVGb3JVSUQoY29uc3QgU3RyaW5nJiBVSUQsIFdl
YkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUgdHlwZSkKK3sKKyAgICByZXR1cm4gV2Vi
Q29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkuc291cmNlV2l0aFVJ
RChVSUQsIHR5cGUsIG51bGxwdHIpLT5sYWJlbCgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Vc2VyTWVkaWFQ
ZXJtaXNzaW9uUmVxdWVzdFByb3h5LmgKaW5kZXggOTNkMWNiOWYwMDRiNWE3NjhmYTNmODA3NDIy
ZDIyZTU3MDBkY2YxYy4uMDdlMDA1NWZkZTBhMmRmMWVhZjM3YmViMGMwYzNlYjk1OGVmNDE2OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3RQcm94eS5oCkBAIC0yMCw2ICsyMCw3IEBACiAjZGVmaW5lIFVzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0UHJveHlfaAogCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCisjaW5j
bHVkZSA8V2ViQ29yZS9SZWFsdGltZU1lZGlhU291cmNlLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NS
ZWZQdHIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00MCw2ICs0MSw4IEBAIHB1YmxpYzoK
IAogICAgIGJvb2wgcmVxdWlyZXNBdWRpbygpIGNvbnN0IHsgcmV0dXJuIG1fcmVxdWlyZXNBdWRp
bzsgfQogICAgIGJvb2wgcmVxdWlyZXNWaWRlbygpIGNvbnN0IHsgcmV0dXJuIG1fcmVxdWlyZXNW
aWRlbzsgfQorICAgIAorICAgIGNvbnN0IFN0cmluZyYgZ2V0RGV2aWNlTmFtZUZvclVJRChjb25z
dCBTdHJpbmcmLCBXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlKTsKIAogcHJpdmF0
ZToKICAgICBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5KFVzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlclByb3h5JiwgdWludDY0X3QgdXNlck1lZGlhSUQsIGJvb2wgcmVxdWly
ZXNBdWRpbywgYm9vbCByZXF1aXJlc1ZpZGVvKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257404</attachid>
            <date>2015-07-23 16:27:50 -0700</date>
            <delta_ts>2015-07-23 16:45:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147202-20150723162634.patch</filename>
            <type>text/plain</type>
            <size>15402</size>
            <attacher name="Matthew Daiter">mdaiter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MjY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQ5MjljZDU5ZDZhZGQ4
ODExMjg5MjgyYmY0Yzc5Y2NmNDE5NWVjYi4uNTZhZTA5YTM1NDMzOTc1M2I4NmYyMjMxNjRkZGE1
MzAzZGViMjBlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE1LTA3LTIzICBNYXR0
aGV3IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgorCisgICAgICAgIExpbmtpbmcgV2ViS2l0
MiB0byBiZSBhYmxlIHRvIGdyYWIgbWVkaWEgc291cmNlcyBmcm9tIGEgVUlECisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDcyMDIKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzIxOTQ3NjA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdl
ci5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VN
YW5hZ2VyLm1tOgorICAgICAgICAoV2ViQ29yZTo6QVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6c291
cmNlV2l0aFVJRCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlck1hYzo6c291cmNlV2l0aFVJRCk6CisgICAgICAgICogcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJP
d3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93cjo6
c291cmNlV2l0aFVJRCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0
Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9j
ay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpN
b2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c291cmNlV2l0aFVJRCk6CisgICAgICAgICog
cGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oOgorCiAyMDE1LTA3
LTIzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbGF4IG1l
ZGlhIHBsYXliYWNrIHJlc3RyaWN0aW9ucyBpZiB0aGUgYWxsb3dzTWVkaWFEb2N1bWVudElubGlu
ZVBsYXliYWNrIHByb3BlcnR5IGlzIHNldC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBmMWQxMGQ4M2E3OTRhMTk0
YzhkMTQ3MWVmMGU4MWIzNzNkOTU1ZmY4Li5lZDE4NzllZjU1NDdiYWE2NDczY2NjYzUxMDhmYTBj
M2E5YjQ5YzdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDctMjMgIE1hdHRo
ZXcgRGFpdGVyICA8bWRhaXRlckBhcHBsZS5jb20+CisKKyAgICAgICAgTGlua2luZyBXZWJLaXQy
IHRvIGJlIGFibGUgdG8gZ3JhYiBtZWRpYSBzb3VyY2VzIGZyb20gYSBVSUQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzIwMgorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMjE5NDc2MDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHk6
OmdldERldmljZU5hbWVGb3JVSUQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdFByb3h5Lmg6CisKIDIwMTUtMDctMjMgIEVucmljYSBDYXN1Y2NpICA8ZW5y
aWNhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmluZyBvbmUgaW5jb3JyZWN0IGFubm90YXRp
b24gZnJvbSB0aGUgcHJldmlvdXMgY2hhbmdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGVkZGExYmU2MmNkOTI4MGQ1YWY5MTg0
OWY5MzEwYmE4YTk4ZjI0ZDcuLmU5ODJlNjg0ZDQzYjcwNjU1MzExM2QyMWM3NDBjYTU4Y2JiOGY2
NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTE5MSw3ICsxOTEsNyBAQAogCQkwNzYzMDZERDE3RTE1RkIwMDA1QTdDNEUgLyog
SlNNZWRpYVN0cmVhbVRyYWNrU291cmNlc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzYzMDZEQjE3RTE1RkIwMDA1QTdDNEUgLyogSlNN
ZWRpYVN0cmVhbVRyYWNrU291cmNlc0NhbGxiYWNrLmggKi87IH07CiAJCTA3NjMwNkUwMTdFMTYw
ODkwMDVBN0M0RSAvKiBKU1NvdXJjZUluZm8uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDc2MzA2REUxN0UxNjA4OTAwNUE3QzRFIC8qIEpTU291cmNl
SW5mby5jcHAgKi87IH07CiAJCTA3NjMwNkUxMTdFMTYwODkwMDVBN0M0RSAvKiBKU1NvdXJjZUlu
Zm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3NjMw
NkRGMTdFMTYwODkwMDVBN0M0RSAvKiBKU1NvdXJjZUluZm8uaCAqLzsgfTsKLQkJMDc2MzA2RTMx
N0UyMkE0MzAwNUE3QzRFIC8qIE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdENsaWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc2MzA2RTIx
N0UyMkE0MzAwNUE3QzRFIC8qIE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdENsaWVudC5o
ICovOyB9OworCQkwNzYzMDZFMzE3RTIyQTQzMDA1QTdDNEUgLyogTWVkaWFTdHJlYW1UcmFja1Nv
dXJjZXNSZXF1ZXN0Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwNzYzMDZFMjE3RTIyQTQzMDA1QTdDNEUgLyogTWVkaWFTdHJlYW1UcmFja1Nv
dXJjZXNSZXF1ZXN0Q2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMDc2MzhBOTkxODg0NDg3MjAwRTE1QTFCIC8qIE1lZGlhU2Vzc2lvbk1h
bmFnZXJJT1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDA3NjM4QTk3MTg4NDQ4NzIwMEUxNUExQiAvKiBNZWRpYVNlc3Npb25NYW5hZ2VySU9TLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDc2MzhBOUEx
ODg0NDg3MjAwRTE1QTFCIC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzYzOEE5ODE4ODQ0ODcyMDBFMTVB
MUIgLyogTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5tbSAqLzsgfTsKIAkJMDc2OTcwODYxNDYzQUQ4
NzAwRjUwMkNGIC8qIFRleHRUcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDc2OTcwODQxNDYzQUQ4NzAwRjUwMkNGIC8qIFRleHRUcmFj
a0xpc3QuY3BwICovOyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oCmluZGV4IGY3Nzdh
MzI1Njk5OWQzZTJjYjliYzcwYzkyOGRmZmM3MmU4MTg4NzMuLmI2ZDRjMDAyMDI2ODJhN2JiNDFm
M2ExZjRjZTJjMDhmM2Y1NzQyZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgKQEAg
LTQ0LDYgKzQ0LDcgQEAgY2xhc3MgTWVkaWFDb25zdHJhaW50czsKIGNsYXNzIE1lZGlhU3RyZWFt
Q3JlYXRpb25DbGllbnQ7CiBjbGFzcyBSZWFsdGltZU1lZGlhU291cmNlU3RhdGVzOwogY2xhc3Mg
TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50OworY2xhc3MgVHJhY2tTb3VyY2VJ
bmZvOwogCiBjbGFzcyBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyIHsKIHB1YmxpYzoKQEAgLTU3
LDYgKzU4LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVNZWRpYVN0cmVhbShQ
YXNzUmVmUHRyPE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQ+LCBQYXNzUmVmUHRyPE1lZGlhQ29u
c3RyYWludHM+IGF1ZGlvQ29uc3RyYWludHMsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4g
dmlkZW9Db25zdHJhaW50cykgPSAwOwogCiAgICAgdmlydHVhbCBib29sIGdldE1lZGlhU3RyZWFt
VHJhY2tTb3VyY2VzKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xp
ZW50PikgPSAwOworICAgIAorICAgIHZpcnR1YWwgUmVmUHRyPFRyYWNrU291cmNlSW5mbz4gc291
cmNlV2l0aFVJRChjb25zdCBTdHJpbmcmLCBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlLCBNZWRp
YUNvbnN0cmFpbnRzKikgPSAwOwogCiBwcm90ZWN0ZWQ6CiAgICAgUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgKaW5kZXggNzE0NjRlOTA0
MzZkZWZiNWJiOWNiNjUxNmViZmZlNjk0NzAwNTJmOC4uYTZjZjgyOTFiMTMxNmEzNzkxZjNkMTZj
NTMzMTBkZGU2ZGU1ZDljMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oCkBAIC01
MCw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICBWZWN0b3I8UmVmUHRyPFRyYWNrU291cmNlSW5mbz4+
IGdldFNvdXJjZXNJbmZvKGNvbnN0IFN0cmluZyYpOwogICAgIGJvb2wgdmVyaWZ5Q29uc3RyYWlu
dHNGb3JNZWRpYVR5cGUoUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSwgTWVkaWFDb25zdHJhaW50
cyosIFN0cmluZyYpOwogICAgIFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IGJl
c3RTb3VyY2VzRm9yVHlwZUFuZENvbnN0cmFpbnRzKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUs
IFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4pOwotICAgIFJlZlB0cjxSZWFsdGltZU1lZGlh
U291cmNlPiBzb3VyY2VXaXRoVUlEKFN0cmluZyYsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUs
IE1lZGlhQ29uc3RyYWludHMqKTsKKyAgICBSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4gc291
cmNlV2l0aFVJRChjb25zdCBTdHJpbmcmLCBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlLCBNZWRp
YUNvbnN0cmFpbnRzKik7CiAKICAgICBlbnVtIFZhbGlkQ29uc3RyYWludHMgeyBXaWR0aCA9IDAs
IEhlaWdodCwgRnJhbWVSYXRlLCBGYWNpbmdNb2RlLCBHYWluIH07CiAgICAgc3RhdGljIGNvbnN0
IFZlY3RvcjxBdG9taWNTdHJpbmc+JiB2YWxpZENvbnN0cmFpbnROYW1lcygpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmlj
ZU1hbmFnZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZD
YXB0dXJlRGV2aWNlTWFuYWdlci5tbQppbmRleCBlNzk3ZjQzM2M0ZjI2NGYzYTBkNDU4ODEwNjNm
Mzk0YzBjZmNjZmY4Li4zYjU1ZWMyNzFlM2FjZDdkOWEwOTBkNzAyY2M4NTBhNmY1ZGU0YzRiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0
dXJlRGV2aWNlTWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5tbQpAQCAtNDIwLDcgKzQyMCw3IEBAIFZl
Y3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IEFWQ2FwdHVyZURldmljZU1hbmFnZXI6
OmJlc3RTb3VyY2VzRm9yVHlwZUFuCiAgICAgcmV0dXJuIGJlc3RTb3VyY2VzTGlzdDsKIH0KIAot
UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IEFWQ2FwdHVyZURldmljZU1hbmFnZXI6OnNvdXJj
ZVdpdGhVSUQoU3RyaW5nICZkZXZpY2VVSUQsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUgdHlw
ZSwgTWVkaWFDb25zdHJhaW50cyogY29uc3RyYWludHMpCitSZWZQdHI8UmVhbHRpbWVNZWRpYVNv
dXJjZT4gQVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6c291cmNlV2l0aFVJRChjb25zdCBTdHJpbmcm
IGRldmljZVVJRCwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSB0eXBlLCBNZWRpYUNvbnN0cmFp
bnRzKiBjb25zdHJhaW50cykKIHsKICAgICBpZiAoIWlzQXZhaWxhYmxlKCkpCiAgICAgICAgIHJl
dHVybiAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwCmlu
ZGV4IDVhZTg3NmYwZjQ0OTA3ODMzNTAxMzBkZWM4ODViNjU4NmZlZTgwOTcuLjhkMDFjMmQwZjQ4
YzAyYmM2YThjOGQwZTZkMDFjZWRmZGNjYzRiMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlck1hYy5jcHAKQEAgLTEzNiw2ICsxMzYsMTQgQEAgYm9vbCBSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyTWFjOjpnZXRNZWRpYVN0cmVhbVRyYWNrU291cmNlcyhQYXNzUmVm
UHRyPE1lZGlhU3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorUmVmUHRyPFRyYWNrU291cmNlSW5m
bz4gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6c291cmNlV2l0aFVJRChjb25zdCBTdHJp
bmcmIFVJRCwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSB0eXBlLCBNZWRpYUNvbnN0cmFpbnRz
KiBjb25zdHJhaW50cykKK3sKKyAgICBSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4gbWVkaWFT
b3VyY2UgPSBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpzaW5nbGV0b24oKS5zb3VyY2VXaXRoVUlE
KFVJRCwgdHlwZSwgY29uc3RyYWludHMpOworICAgIGlmICghbWVkaWFTb3VyY2UpCisgICAgICAg
IHJldHVybiBudWxscHRyOworICAgIHJldHVybiBUcmFja1NvdXJjZUluZm86OmNyZWF0ZShtZWRp
YVNvdXJjZS0+aWQoKSwgbWVkaWFTb3VyY2UtPnR5cGUoKSA9PSBSZWFsdGltZU1lZGlhU291cmNl
OjpUeXBlOjpWaWRlbyA/IFRyYWNrU291cmNlSW5mbzo6U291cmNlS2luZDo6VmlkZW8gOiBUcmFj
a1NvdXJjZUluZm86OlNvdXJjZUtpbmQ6OkF1ZGlvLCBtZWRpYVNvdXJjZS0+bmFtZSgpKTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVB
TSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9S
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oCmluZGV4IDg2YzMz
ZGJkODRhYTM5MWI3NDMwM2JiYmYzMzcwZWZhMGM5NjM0ZGEuLjEzNmMyZDRlN2E5ZGM3ZmUyMTJl
YTgxYmZhMjQ5N2IyYzZiODg1NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXJNYWMuaApAQCAtNDgsNiArNDgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB2YWxpZGF0ZVJl
cXVlc3RDb25zdHJhaW50cyhQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQ+LCBQ
YXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGF1ZGlvQ29uc3RyYWludHMsIFBhc3NSZWZQdHI8
TWVkaWFDb25zdHJhaW50cz4gdmlkZW9Db25zdHJhaW50cykgb3ZlcnJpZGU7CiAgICAgdm9pZCBj
cmVhdGVNZWRpYVN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQ+LCBQ
YXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGF1ZGlvQ29uc3RyYWludHMsIFBhc3NSZWZQdHI8
TWVkaWFDb25zdHJhaW50cz4gdmlkZW9Db25zdHJhaW50cykgb3ZlcnJpZGU7CiAgICAgdmlydHVh
bCBib29sIGdldE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1U
cmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50Pikgb3ZlcnJpZGU7CisgICAgUmVmUHRyPFRyYWNrU291
cmNlSW5mbz4gc291cmNlV2l0aFVJRChjb25zdCBTdHJpbmcmLCBSZWFsdGltZU1lZGlhU291cmNl
OjpUeXBlLCBNZWRpYUNvbnN0cmFpbnRzKikgb3ZlcnJpZGU7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyT3dyLmNwcAppbmRleCBjY2Q0MWM3NWZiM2UyNGI4Mzc5MWI5NGE4Nzk2YmJkYzAwZTAz
YjUzLi45OWVhZWFlODllNGMwYTY1YjhmMmU3MjYyYTgxOTVkMTU4MzliYzlmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJPd3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL29wZW53ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93ci5jcHAKQEAg
LTE4Miw2ICsxODIsMTUgQEAgUGFzc1JlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyT3dyOjpmaXJzdFNvdXJjZShSZWFsdGkKICAgICByZXR1cm4gbnVs
bHB0cjsKIH0KIAorUmVmUHRyPFRyYWNrU291cmNlSW5mbz4gUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlck93cjo6c291cmNlV2l0aFVJRChjb25zdCBTdHJpbmcmIFVJRCwgUmVhbHRpbWVNZWRpYVNv
dXJjZTo6VHlwZSB0eXBlLCBNZWRpYUNvbnN0cmFpbnRzKiBjb25zdHJhaW50cykKK3sKKyAgICBm
b3IgKGF1dG8mIHNvdXJjZSA6IG1fc291cmNlTWFwLnZhbHVlcygpKSB7CisgICAgICAgIGlmIChz
b3VyY2UtPmlkKCkgPT0gVUlEKQorICAgICAgICAgICAgcmV0dXJuIFRyYWNrU291cmNlSW5mbzo6
Y3JlYXRlKHNvdXJjZS0+aWQoKSwgc291cmNlLT50eXBlKCkgPT0gUmVhbHRpbWVNZWRpYVNvdXJj
ZTo6VHlwZTo6VmlkZW8gPyBUcmFja1NvdXJjZUluZm86OlNvdXJjZUtpbmQ6OlZpZGVvIDogVHJh
Y2tTb3VyY2VJbmZvOjpTb3VyY2VLaW5kOjpBdWRpbyAsIHNvdXJjZS0+bmFtZSgpKTsKKyAgICB9
CisKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pICYmIFVTRShPUEVOV0VCUlRDKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyT3dyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuaAppbmRleCA1MzVk
YTE2MjRiNjhjODFkNzcxYTNmNzgwMGJkYmU0MDI5ZTY4MDVlLi4xZTM3ZTQxY2IwNWU5ZGFhN2M2
OTg1N2QxY2U4MThlZTMyNWM0NWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuaApAQCAtNDYsNiArNDYsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBNZWRpYVN0cmVhbVByaXZhdGU7CiBjbGFzcyBSZWFsdGltZU1lZGlhU291
cmNlOwogY2xhc3MgTWVkaWFTdHJlYW1Tb3VyY2VzUXVlcnlDbGllbnQ7CitjbGFzcyBUcmFja1Nv
dXJjZUluZm87CiAKIGNsYXNzIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IgZmluYWwgOiBw
dWJsaWMgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlciB7CiBwdWJsaWM6CkBAIC01Nyw2ICs1OCw3
IEBAIHB1YmxpYzoKICAgICBib29sIGdldE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzKFBhc3NSZWZQ
dHI8TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50Pikgb3ZlcnJpZGU7CiAKICAg
ICB2b2lkIG1lZGlhU291cmNlc0F2YWlsYWJsZShHTGlzdCogc291cmNlcyk7CisgICAgUmVmUHRy
PFRyYWNrU291cmNlSW5mbz4gc291cmNlV2l0aFVJRChjb25zdCBTdHJpbmcmLCBSZWFsdGltZU1l
ZGlhU291cmNlOjpUeXBlLCBNZWRpYUNvbnN0cmFpbnRzKikgb3ZlcnJpZGU7CiAKIHByaXZhdGU6
CiAgICAgUGFzc1JlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBmaXJzdFNvdXJjZShSZWFsdGlt
ZU1lZGlhU291cmNlOjpUeXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAKaW5kZXggOGZj
NzY1ZmM4ZjExM2I1MTZmNzc4MTU1YzUwZTY1YWU1OGQwN2E5OS4uYTMxNmI1NzZiZDk3YzM0ZTBj
MTFmZWYxM2RjMjFmYjEzMjg1NTU3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAKQEAg
LTIxMiw2ICsyMTIsMTUgQEAgYm9vbCBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6Z2V0
TWVkaWFTdHJlYW1UcmFja1NvdXJjZXMoUGFzc1JlZlB0cjxNZWRpYVMKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAorUmVmUHRyPFRyYWNrU291cmNlSW5mbz4gTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXI6OnNvdXJjZVdpdGhVSUQoY29uc3QgU3RyaW5nJiBVSUQsIFJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OlR5cGUsIE1lZGlhQ29uc3RyYWludHMqKQoreworICAgIGZvciAoYXV0byYgc291cmNlIDog
bW9ja1NvdXJjZU1hcCgpKSB7CisgICAgICAgIGlmIChzb3VyY2UudmFsdWUtPmlkKCkgPT0gVUlE
KQorICAgICAgICAgICAgcmV0dXJuIFRyYWNrU291cmNlSW5mbzo6Y3JlYXRlKHNvdXJjZS52YWx1
ZS0+aWQoKSwgc291cmNlLnZhbHVlLT50eXBlKCkgPT0gUmVhbHRpbWVNZWRpYVNvdXJjZTo6Vmlk
ZW8gPyBUcmFja1NvdXJjZUluZm86OlZpZGVvIDogVHJhY2tTb3VyY2VJbmZvOjpBdWRpbywgc291
cmNlLnZhbHVlLT5uYW1lKCkpOworICAgIH0KKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXIuaAppbmRleCA5YmEyMTQwNmI1NDMzNTg0OTAxNGZmMDYxZjA5YjUw
ZDMwYjRjOThjLi42NjQ5ZGM0YzFjMTRkMGE4ZjBjMGI3MTgyYzgxZWUzMmM4NjVhMWU2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291
cmNlQ2VudGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlci5oCkBAIC00MCw2ICs0MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgdmFsaWRhdGVSZXF1ZXN0Q29uc3RyYWludHMoUGFzc1JlZlB0cjxNZWRpYVN0cmVh
bUNyZWF0aW9uQ2xpZW50PiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBhdWRpb0NvbnN0
cmFpbnRzLCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IHZpZGVvQ29uc3RyYWludHMpIG92
ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVNZWRpYVN0cmVhbShQYXNzUmVmUHRyPE1l
ZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQ+LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGF1
ZGlvQ29uc3RyYWludHMsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gdmlkZW9Db25zdHJh
aW50cykgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIGdldE1lZGlhU3RyZWFtVHJhY2tTb3Vy
Y2VzKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50Pikgb3Zl
cnJpZGU7CisgICAgUmVmUHRyPFRyYWNrU291cmNlSW5mbz4gc291cmNlV2l0aFVJRChjb25zdCBT
dHJpbmcmLCBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlLCBNZWRpYUNvbnN0cmFpbnRzKikgb3Zl
cnJpZGU7CiAKIHByaXZhdGU6CiAgICAgTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIoKSB7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdFByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Vc2VyTWVkaWFQ
ZXJtaXNzaW9uUmVxdWVzdFByb3h5LmNwcAppbmRleCA1NzBjNGQyZWRjMjU0ODZiZjdmNTRiOTc1
ZDg5ZWMwZDdkNDAzZDFhLi4xNGMzZDczOWU3MjMzNTdkMGExZjYwYzhmZDYwNGFlOTE2NWYzNTQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3RQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuY3BwCkBAIC0yMCw2ICsyMCw4IEBACiAjaW5jbHVkZSAi
VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5oIgogCiAjaW5jbHVkZSAiVXNlck1lZGlh
UGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlh
U3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdENsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2gu
aD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00OSw1ICs1MSwxMCBAQCB2b2lkIFVzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0UHJveHk6OmludmFsaWRhdGUoKQogICAgIG1fbWFuYWdlci5pbnZh
bGlkYXRlUmVxdWVzdHMoKTsKIH0KIAorY29uc3QgU3RyaW5nJiBVc2VyTWVkaWFQZXJtaXNzaW9u
UmVxdWVzdFByb3h5OjpnZXREZXZpY2VOYW1lRm9yVUlEKGNvbnN0IFN0cmluZyYgVUlELCBXZWJD
b3JlOjpSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUpCit7CisgICAgcmV0dXJuIFdlYkNv
cmU6OlJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLnNvdXJjZVdpdGhVSUQo
VUlELCB0eXBlLCBudWxscHRyKS0+bGFiZWwoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNz
aW9uUmVxdWVzdFByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3RQcm94eS5oCmluZGV4IGIyZDg4MTFlMTVlYTM1N2JhZmQ0MjAxMzBiZmQ3
YmIyMjNiZDM2MmQuLjA5NDhlMTllYzBhNDdjYTk5ZjBjMjI0NDA0YTM5MzQ0MmQxYmY2ZDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdFByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0UHJveHkuaApAQCAtMjAsNiArMjAsNyBAQAogI2RlZmluZSBVc2VyTWVkaWFQ
ZXJtaXNzaW9uUmVxdWVzdFByb3h5X2gKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgorI2luY2x1
ZGUgPFdlYkNvcmUvUmVhbHRpbWVNZWRpYVNvdXJjZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0
cmluZy5oPgpAQCAtMzksNiArNDAsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkZW55KCk7CiAKICAg
ICB2b2lkIGludmFsaWRhdGUoKTsKKyAgICAKKyAgICBjb25zdCBTdHJpbmcmIGdldERldmljZU5h
bWVGb3JVSUQoY29uc3QgU3RyaW5nJiwgV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlw
ZSk7CiAKICAgICBib29sIHJlcXVpcmVzQXVkaW8oKSBjb25zdCB7IHJldHVybiBtX3JlcXVpcmVz
QXVkaW87IH0KICAgICBib29sIHJlcXVpcmVzVmlkZW8oKSBjb25zdCB7IHJldHVybiBtX3JlcXVp
cmVzVmlkZW87IH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257405</attachid>
            <date>2015-07-23 16:45:33 -0700</date>
            <delta_ts>2015-07-23 17:40:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147202-20150723164418.patch</filename>
            <type>text/plain</type>
            <size>15390</size>
            <attacher name="Matthew Daiter">mdaiter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MjY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQ5MjljZDU5ZDZhZGQ4
ODExMjg5MjgyYmY0Yzc5Y2NmNDE5NWVjYi4uNTZhZTA5YTM1NDMzOTc1M2I4NmYyMjMxNjRkZGE1
MzAzZGViMjBlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE1LTA3LTIzICBNYXR0
aGV3IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgorCisgICAgICAgIExpbmtpbmcgV2ViS2l0
MiB0byBiZSBhYmxlIHRvIGdyYWIgbWVkaWEgc291cmNlcyBmcm9tIGEgVUlECisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDcyMDIKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzIxOTQ3NjA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdl
ci5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VN
YW5hZ2VyLm1tOgorICAgICAgICAoV2ViQ29yZTo6QVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6c291
cmNlV2l0aFVJRCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlck1hYzo6c291cmNlV2l0aFVJRCk6CisgICAgICAgICogcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJP
d3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93cjo6
c291cmNlV2l0aFVJRCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0
Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9j
ay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpN
b2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c291cmNlV2l0aFVJRCk6CisgICAgICAgICog
cGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oOgorCiAyMDE1LTA3
LTIzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbGF4IG1l
ZGlhIHBsYXliYWNrIHJlc3RyaWN0aW9ucyBpZiB0aGUgYWxsb3dzTWVkaWFEb2N1bWVudElubGlu
ZVBsYXliYWNrIHByb3BlcnR5IGlzIHNldC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBmMWQxMGQ4M2E3OTRhMTk0
YzhkMTQ3MWVmMGU4MWIzNzNkOTU1ZmY4Li5lZDE4NzllZjU1NDdiYWE2NDczY2NjYzUxMDhmYTBj
M2E5YjQ5YzdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDctMjMgIE1hdHRo
ZXcgRGFpdGVyICA8bWRhaXRlckBhcHBsZS5jb20+CisKKyAgICAgICAgTGlua2luZyBXZWJLaXQy
IHRvIGJlIGFibGUgdG8gZ3JhYiBtZWRpYSBzb3VyY2VzIGZyb20gYSBVSUQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzIwMgorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMjE5NDc2MDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHk6
OmdldERldmljZU5hbWVGb3JVSUQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdFByb3h5Lmg6CisKIDIwMTUtMDctMjMgIEVucmljYSBDYXN1Y2NpICA8ZW5y
aWNhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmluZyBvbmUgaW5jb3JyZWN0IGFubm90YXRp
b24gZnJvbSB0aGUgcHJldmlvdXMgY2hhbmdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGVkZGExYmU2MmNkOTI4MGQ1YWY5MTg0
OWY5MzEwYmE4YTk4ZjI0ZDcuLmU5ODJlNjg0ZDQzYjcwNjU1MzExM2QyMWM3NDBjYTU4Y2JiOGY2
NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTE5MSw3ICsxOTEsNyBAQAogCQkwNzYzMDZERDE3RTE1RkIwMDA1QTdDNEUgLyog
SlNNZWRpYVN0cmVhbVRyYWNrU291cmNlc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzYzMDZEQjE3RTE1RkIwMDA1QTdDNEUgLyogSlNN
ZWRpYVN0cmVhbVRyYWNrU291cmNlc0NhbGxiYWNrLmggKi87IH07CiAJCTA3NjMwNkUwMTdFMTYw
ODkwMDVBN0M0RSAvKiBKU1NvdXJjZUluZm8uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDc2MzA2REUxN0UxNjA4OTAwNUE3QzRFIC8qIEpTU291cmNl
SW5mby5jcHAgKi87IH07CiAJCTA3NjMwNkUxMTdFMTYwODkwMDVBN0M0RSAvKiBKU1NvdXJjZUlu
Zm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3NjMw
NkRGMTdFMTYwODkwMDVBN0M0RSAvKiBKU1NvdXJjZUluZm8uaCAqLzsgfTsKLQkJMDc2MzA2RTMx
N0UyMkE0MzAwNUE3QzRFIC8qIE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdENsaWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc2MzA2RTIx
N0UyMkE0MzAwNUE3QzRFIC8qIE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdENsaWVudC5o
ICovOyB9OworCQkwNzYzMDZFMzE3RTIyQTQzMDA1QTdDNEUgLyogTWVkaWFTdHJlYW1UcmFja1Nv
dXJjZXNSZXF1ZXN0Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwNzYzMDZFMjE3RTIyQTQzMDA1QTdDNEUgLyogTWVkaWFTdHJlYW1UcmFja1Nv
dXJjZXNSZXF1ZXN0Q2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMDc2MzhBOTkxODg0NDg3MjAwRTE1QTFCIC8qIE1lZGlhU2Vzc2lvbk1h
bmFnZXJJT1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDA3NjM4QTk3MTg4NDQ4NzIwMEUxNUExQiAvKiBNZWRpYVNlc3Npb25NYW5hZ2VySU9TLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDc2MzhBOUEx
ODg0NDg3MjAwRTE1QTFCIC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzYzOEE5ODE4ODQ0ODcyMDBFMTVB
MUIgLyogTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5tbSAqLzsgfTsKIAkJMDc2OTcwODYxNDYzQUQ4
NzAwRjUwMkNGIC8qIFRleHRUcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDc2OTcwODQxNDYzQUQ4NzAwRjUwMkNGIC8qIFRleHRUcmFj
a0xpc3QuY3BwICovOyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oCmluZGV4IGY3Nzdh
MzI1Njk5OWQzZTJjYjliYzcwYzkyOGRmZmM3MmU4MTg4NzMuLmI2ZDRjMDAyMDI2ODJhN2JiNDFm
M2ExZjRjZTJjMDhmM2Y1NzQyZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgKQEAg
LTQ0LDYgKzQ0LDcgQEAgY2xhc3MgTWVkaWFDb25zdHJhaW50czsKIGNsYXNzIE1lZGlhU3RyZWFt
Q3JlYXRpb25DbGllbnQ7CiBjbGFzcyBSZWFsdGltZU1lZGlhU291cmNlU3RhdGVzOwogY2xhc3Mg
TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50OworY2xhc3MgVHJhY2tTb3VyY2VJ
bmZvOwogCiBjbGFzcyBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyIHsKIHB1YmxpYzoKQEAgLTU3
LDYgKzU4LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVNZWRpYVN0cmVhbShQ
YXNzUmVmUHRyPE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQ+LCBQYXNzUmVmUHRyPE1lZGlhQ29u
c3RyYWludHM+IGF1ZGlvQ29uc3RyYWludHMsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4g
dmlkZW9Db25zdHJhaW50cykgPSAwOwogCiAgICAgdmlydHVhbCBib29sIGdldE1lZGlhU3RyZWFt
VHJhY2tTb3VyY2VzKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xp
ZW50PikgPSAwOworICAgIAorICAgIHZpcnR1YWwgUmVmUHRyPFRyYWNrU291cmNlSW5mbz4gc291
cmNlV2l0aFVJRChjb25zdCBTdHJpbmcmLCBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlLCBNZWRp
YUNvbnN0cmFpbnRzKikgPSAwOwogCiBwcm90ZWN0ZWQ6CiAgICAgUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgKaW5kZXggNzE0NjRlOTA0
MzZkZWZiNWJiOWNiNjUxNmViZmZlNjk0NzAwNTJmOC4uYTZjZjgyOTFiMTMxNmEzNzkxZjNkMTZj
NTMzMTBkZGU2ZGU1ZDljMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oCkBAIC01
MCw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICBWZWN0b3I8UmVmUHRyPFRyYWNrU291cmNlSW5mbz4+
IGdldFNvdXJjZXNJbmZvKGNvbnN0IFN0cmluZyYpOwogICAgIGJvb2wgdmVyaWZ5Q29uc3RyYWlu
dHNGb3JNZWRpYVR5cGUoUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSwgTWVkaWFDb25zdHJhaW50
cyosIFN0cmluZyYpOwogICAgIFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IGJl
c3RTb3VyY2VzRm9yVHlwZUFuZENvbnN0cmFpbnRzKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUs
IFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4pOwotICAgIFJlZlB0cjxSZWFsdGltZU1lZGlh
U291cmNlPiBzb3VyY2VXaXRoVUlEKFN0cmluZyYsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUs
IE1lZGlhQ29uc3RyYWludHMqKTsKKyAgICBSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4gc291
cmNlV2l0aFVJRChjb25zdCBTdHJpbmcmLCBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlLCBNZWRp
YUNvbnN0cmFpbnRzKik7CiAKICAgICBlbnVtIFZhbGlkQ29uc3RyYWludHMgeyBXaWR0aCA9IDAs
IEhlaWdodCwgRnJhbWVSYXRlLCBGYWNpbmdNb2RlLCBHYWluIH07CiAgICAgc3RhdGljIGNvbnN0
IFZlY3RvcjxBdG9taWNTdHJpbmc+JiB2YWxpZENvbnN0cmFpbnROYW1lcygpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmlj
ZU1hbmFnZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZD
YXB0dXJlRGV2aWNlTWFuYWdlci5tbQppbmRleCBlNzk3ZjQzM2M0ZjI2NGYzYTBkNDU4ODEwNjNm
Mzk0YzBjZmNjZmY4Li4zYjU1ZWMyNzFlM2FjZDdkOWEwOTBkNzAyY2M4NTBhNmY1ZGU0YzRiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0
dXJlRGV2aWNlTWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5tbQpAQCAtNDIwLDcgKzQyMCw3IEBAIFZl
Y3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IEFWQ2FwdHVyZURldmljZU1hbmFnZXI6
OmJlc3RTb3VyY2VzRm9yVHlwZUFuCiAgICAgcmV0dXJuIGJlc3RTb3VyY2VzTGlzdDsKIH0KIAot
UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IEFWQ2FwdHVyZURldmljZU1hbmFnZXI6OnNvdXJj
ZVdpdGhVSUQoU3RyaW5nICZkZXZpY2VVSUQsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUgdHlw
ZSwgTWVkaWFDb25zdHJhaW50cyogY29uc3RyYWludHMpCitSZWZQdHI8UmVhbHRpbWVNZWRpYVNv
dXJjZT4gQVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6c291cmNlV2l0aFVJRChjb25zdCBTdHJpbmcm
IGRldmljZVVJRCwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSB0eXBlLCBNZWRpYUNvbnN0cmFp
bnRzKiBjb25zdHJhaW50cykKIHsKICAgICBpZiAoIWlzQXZhaWxhYmxlKCkpCiAgICAgICAgIHJl
dHVybiAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwCmlu
ZGV4IDVhZTg3NmYwZjQ0OTA3ODMzNTAxMzBkZWM4ODViNjU4NmZlZTgwOTcuLjhkMDFjMmQwZjQ4
YzAyYmM2YThjOGQwZTZkMDFjZWRmZGNjYzRiMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlck1hYy5jcHAKQEAgLTEzNiw2ICsxMzYsMTQgQEAgYm9vbCBSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyTWFjOjpnZXRNZWRpYVN0cmVhbVRyYWNrU291cmNlcyhQYXNzUmVm
UHRyPE1lZGlhU3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorUmVmUHRyPFRyYWNrU291cmNlSW5m
bz4gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6c291cmNlV2l0aFVJRChjb25zdCBTdHJp
bmcmIFVJRCwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSB0eXBlLCBNZWRpYUNvbnN0cmFpbnRz
KiBjb25zdHJhaW50cykKK3sKKyAgICBSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4gbWVkaWFT
b3VyY2UgPSBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpzaW5nbGV0b24oKS5zb3VyY2VXaXRoVUlE
KFVJRCwgdHlwZSwgY29uc3RyYWludHMpOworICAgIGlmICghbWVkaWFTb3VyY2UpCisgICAgICAg
IHJldHVybiBudWxscHRyOworICAgIHJldHVybiBUcmFja1NvdXJjZUluZm86OmNyZWF0ZShtZWRp
YVNvdXJjZS0+aWQoKSwgbWVkaWFTb3VyY2UtPnR5cGUoKSA9PSBSZWFsdGltZU1lZGlhU291cmNl
OjpUeXBlOjpWaWRlbyA/IFRyYWNrU291cmNlSW5mbzo6U291cmNlS2luZDo6VmlkZW8gOiBUcmFj
a1NvdXJjZUluZm86OlNvdXJjZUtpbmQ6OkF1ZGlvLCBtZWRpYVNvdXJjZS0+bmFtZSgpKTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVB
TSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9S
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oCmluZGV4IDg2YzMz
ZGJkODRhYTM5MWI3NDMwM2JiYmYzMzcwZWZhMGM5NjM0ZGEuLjEzNmMyZDRlN2E5ZGM3ZmUyMTJl
YTgxYmZhMjQ5N2IyYzZiODg1NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXJNYWMuaApAQCAtNDgsNiArNDgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB2YWxpZGF0ZVJl
cXVlc3RDb25zdHJhaW50cyhQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQ+LCBQ
YXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGF1ZGlvQ29uc3RyYWludHMsIFBhc3NSZWZQdHI8
TWVkaWFDb25zdHJhaW50cz4gdmlkZW9Db25zdHJhaW50cykgb3ZlcnJpZGU7CiAgICAgdm9pZCBj
cmVhdGVNZWRpYVN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQ+LCBQ
YXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGF1ZGlvQ29uc3RyYWludHMsIFBhc3NSZWZQdHI8
TWVkaWFDb25zdHJhaW50cz4gdmlkZW9Db25zdHJhaW50cykgb3ZlcnJpZGU7CiAgICAgdmlydHVh
bCBib29sIGdldE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1U
cmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50Pikgb3ZlcnJpZGU7CisgICAgUmVmUHRyPFRyYWNrU291
cmNlSW5mbz4gc291cmNlV2l0aFVJRChjb25zdCBTdHJpbmcmLCBSZWFsdGltZU1lZGlhU291cmNl
OjpUeXBlLCBNZWRpYUNvbnN0cmFpbnRzKikgb3ZlcnJpZGU7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyT3dyLmNwcAppbmRleCBjY2Q0MWM3NWZiM2UyNGI4Mzc5MWI5NGE4Nzk2YmJkYzAwZTAz
YjUzLi5kOGY2NzgwNDAzMGU3Y2E5OGMzYzZhY2E1NTA3MTMyNzEwYzI3NDJlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJPd3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL29wZW53ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93ci5jcHAKQEAg
LTE4Miw2ICsxODIsMTUgQEAgUGFzc1JlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyT3dyOjpmaXJzdFNvdXJjZShSZWFsdGkKICAgICByZXR1cm4gbnVs
bHB0cjsKIH0KIAorUmVmUHRyPFRyYWNrU291cmNlSW5mbz4gUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlck93cjo6c291cmNlV2l0aFVJRChjb25zdCBTdHJpbmcmIFVJRCwgUmVhbHRpbWVNZWRpYVNv
dXJjZTo6VHlwZSB0eXBlLCBNZWRpYUNvbnN0cmFpbnRzKikKK3sKKyAgICBmb3IgKGF1dG8mIHNv
dXJjZSA6IG1fc291cmNlTWFwLnZhbHVlcygpKSB7CisgICAgICAgIGlmIChzb3VyY2UtPmlkKCkg
PT0gVUlEKQorICAgICAgICAgICAgcmV0dXJuIFRyYWNrU291cmNlSW5mbzo6Y3JlYXRlKHNvdXJj
ZS0+aWQoKSwgc291cmNlLT50eXBlKCkgPT0gUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6Vmlk
ZW8gPyBUcmFja1NvdXJjZUluZm86OlNvdXJjZUtpbmQ6OlZpZGVvIDogVHJhY2tTb3VyY2VJbmZv
OjpTb3VyY2VLaW5kOjpBdWRpbyAsIHNvdXJjZS0+bmFtZSgpKTsKKyAgICB9CisKKyAgICByZXR1
cm4gbnVsbHB0cjsKK30KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJM
RShNRURJQV9TVFJFQU0pICYmIFVTRShPUEVOV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyT3dyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2Vi
cnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuaAppbmRleCA1MzVkYTE2MjRiNjhjODFk
NzcxYTNmNzgwMGJkYmU0MDI5ZTY4MDVlLi4xZTM3ZTQxY2IwNWU5ZGFhN2M2OTg1N2QxY2U4MThl
ZTMyNWM0NWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXJPd3IuaApAQCAtNDYsNiArNDYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFz
cyBNZWRpYVN0cmVhbVByaXZhdGU7CiBjbGFzcyBSZWFsdGltZU1lZGlhU291cmNlOwogY2xhc3Mg
TWVkaWFTdHJlYW1Tb3VyY2VzUXVlcnlDbGllbnQ7CitjbGFzcyBUcmFja1NvdXJjZUluZm87CiAK
IGNsYXNzIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IgZmluYWwgOiBwdWJsaWMgUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlciB7CiBwdWJsaWM6CkBAIC01Nyw2ICs1OCw3IEBAIHB1YmxpYzoK
ICAgICBib29sIGdldE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzKFBhc3NSZWZQdHI8TWVkaWFTdHJl
YW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50Pikgb3ZlcnJpZGU7CiAKICAgICB2b2lkIG1lZGlh
U291cmNlc0F2YWlsYWJsZShHTGlzdCogc291cmNlcyk7CisgICAgUmVmUHRyPFRyYWNrU291cmNl
SW5mbz4gc291cmNlV2l0aFVJRChjb25zdCBTdHJpbmcmLCBSZWFsdGltZU1lZGlhU291cmNlOjpU
eXBlLCBNZWRpYUNvbnN0cmFpbnRzKikgb3ZlcnJpZGU7CiAKIHByaXZhdGU6CiAgICAgUGFzc1Jl
ZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBmaXJzdFNvdXJjZShSZWFsdGltZU1lZGlhU291cmNl
OjpUeXBlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1Jl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAKaW5kZXggOGZjNzY1ZmM4ZjExM2I1
MTZmNzc4MTU1YzUwZTY1YWU1OGQwN2E5OS4uYTMxNmI1NzZiZDk3YzM0ZTBjMTFmZWYxM2RjMjFm
YjEzMjg1NTU3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2Nr
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAKQEAgLTIxMiw2ICsyMTIs
MTUgQEAgYm9vbCBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6Z2V0TWVkaWFTdHJlYW1U
cmFja1NvdXJjZXMoUGFzc1JlZlB0cjxNZWRpYVMKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorUmVm
UHRyPFRyYWNrU291cmNlSW5mbz4gTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnNvdXJj
ZVdpdGhVSUQoY29uc3QgU3RyaW5nJiBVSUQsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUsIE1l
ZGlhQ29uc3RyYWludHMqKQoreworICAgIGZvciAoYXV0byYgc291cmNlIDogbW9ja1NvdXJjZU1h
cCgpKSB7CisgICAgICAgIGlmIChzb3VyY2UudmFsdWUtPmlkKCkgPT0gVUlEKQorICAgICAgICAg
ICAgcmV0dXJuIFRyYWNrU291cmNlSW5mbzo6Y3JlYXRlKHNvdXJjZS52YWx1ZS0+aWQoKSwgc291
cmNlLnZhbHVlLT50eXBlKCkgPT0gUmVhbHRpbWVNZWRpYVNvdXJjZTo6VmlkZW8gPyBUcmFja1Nv
dXJjZUluZm86OlZpZGVvIDogVHJhY2tTb3VyY2VJbmZvOjpBdWRpbywgc291cmNlLnZhbHVlLT5u
YW1lKCkpOworICAgIH0KKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXIuaAppbmRleCA5YmEyMTQwNmI1NDMzNTg0OTAxNGZmMDYxZjA5YjUwZDMwYjRjOThjLi42
NjQ5ZGM0YzFjMTRkMGE4ZjBjMGI3MTgyYzgxZWUzMmM4NjVhMWU2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlci5oCkBAIC00MCw2ICs0MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdmFs
aWRhdGVSZXF1ZXN0Q29uc3RyYWludHMoUGFzc1JlZlB0cjxNZWRpYVN0cmVhbUNyZWF0aW9uQ2xp
ZW50PiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBhdWRpb0NvbnN0cmFpbnRzLCBQYXNz
UmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IHZpZGVvQ29uc3RyYWludHMpIG92ZXJyaWRlOwogICAg
IHZpcnR1YWwgdm9pZCBjcmVhdGVNZWRpYVN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQ3Jl
YXRpb25DbGllbnQ+LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGF1ZGlvQ29uc3RyYWlu
dHMsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gdmlkZW9Db25zdHJhaW50cykgb3ZlcnJp
ZGU7CiAgICAgdmlydHVhbCBib29sIGdldE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzKFBhc3NSZWZQ
dHI8TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50Pikgb3ZlcnJpZGU7CisgICAg
UmVmUHRyPFRyYWNrU291cmNlSW5mbz4gc291cmNlV2l0aFVJRChjb25zdCBTdHJpbmcmLCBSZWFs
dGltZU1lZGlhU291cmNlOjpUeXBlLCBNZWRpYUNvbnN0cmFpbnRzKikgb3ZlcnJpZGU7CiAKIHBy
aXZhdGU6CiAgICAgTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIoKSB7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdFByb3h5LmNwcAppbmRleCA1NzBjNGQyZWRjMjU0ODZiZjdmNTRiOTc1ZDg5ZWMwZDdkNDAz
ZDFhLi4xNGMzZDczOWU3MjMzNTdkMGExZjYwYzhmZDYwNGFlOTE2NWYzNTQ2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0UHJveHkuY3BwCkBAIC0yMCw2ICsyMCw4IEBACiAjaW5jbHVkZSAiVXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3RQcm94eS5oIgogCiAjaW5jbHVkZSAiVXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyUHJveHkuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL01lZGlhU3RyZWFtVHJhY2tT
b3VyY2VzUmVxdWVzdENsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAogbmFtZXNw
YWNlIFdlYktpdCB7CkBAIC00OSw1ICs1MSwxMCBAQCB2b2lkIFVzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0UHJveHk6OmludmFsaWRhdGUoKQogICAgIG1fbWFuYWdlci5pbnZhbGlkYXRlUmVxdWVz
dHMoKTsKIH0KIAorY29uc3QgU3RyaW5nJiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5
OjpnZXREZXZpY2VOYW1lRm9yVUlEKGNvbnN0IFN0cmluZyYgVUlELCBXZWJDb3JlOjpSZWFsdGlt
ZU1lZGlhU291cmNlOjpUeXBlIHR5cGUpCit7CisgICAgcmV0dXJuIFdlYkNvcmU6OlJlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXI6OnNpbmdsZXRvbigpLnNvdXJjZVdpdGhVSUQoVUlELCB0eXBlLCBu
dWxscHRyKS0+bGFiZWwoKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFBy
b3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVl
c3RQcm94eS5oCmluZGV4IGIyZDg4MTFlMTVlYTM1N2JhZmQ0MjAxMzBiZmQ3YmIyMjNiZDM2MmQu
LjA5NDhlMTllYzBhNDdjYTk5ZjBjMjI0NDA0YTM5MzQ0MmQxYmY2ZDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5LmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
UHJveHkuaApAQCAtMjAsNiArMjAsNyBAQAogI2RlZmluZSBVc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdFByb3h5X2gKIAogI2luY2x1ZGUgIkFQSU9iamVjdC5oIgorI2luY2x1ZGUgPFdlYkNvcmUv
UmVhbHRpbWVNZWRpYVNvdXJjZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpAQCAt
MzksNiArNDAsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkZW55KCk7CiAKICAgICB2b2lkIGludmFs
aWRhdGUoKTsKKyAgICAKKyAgICBjb25zdCBTdHJpbmcmIGdldERldmljZU5hbWVGb3JVSUQoY29u
c3QgU3RyaW5nJiwgV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSk7CiAKICAgICBi
b29sIHJlcXVpcmVzQXVkaW8oKSBjb25zdCB7IHJldHVybiBtX3JlcXVpcmVzQXVkaW87IH0KICAg
ICBib29sIHJlcXVpcmVzVmlkZW8oKSBjb25zdCB7IHJldHVybiBtX3JlcXVpcmVzVmlkZW87IH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257413</attachid>
            <date>2015-07-23 17:40:26 -0700</date>
            <delta_ts>2015-07-23 19:24:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147202-20150723173910.patch</filename>
            <type>text/plain</type>
            <size>15385</size>
            <attacher name="Matthew Daiter">mdaiter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MjY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQ5MjljZDU5ZDZhZGQ4
ODExMjg5MjgyYmY0Yzc5Y2NmNDE5NWVjYi4uNTZhZTA5YTM1NDMzOTc1M2I4NmYyMjMxNjRkZGE1
MzAzZGViMjBlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE1LTA3LTIzICBNYXR0
aGV3IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgorCisgICAgICAgIExpbmtpbmcgV2ViS2l0
MiB0byBiZSBhYmxlIHRvIGdyYWIgbWVkaWEgc291cmNlcyBmcm9tIGEgVUlECisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDcyMDIKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzIxOTQ3NjA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdl
ci5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VN
YW5hZ2VyLm1tOgorICAgICAgICAoV2ViQ29yZTo6QVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6c291
cmNlV2l0aFVJRCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlck1hYzo6c291cmNlV2l0aFVJRCk6CisgICAgICAgICogcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJP
d3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93cjo6
c291cmNlV2l0aFVJRCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0
Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmg6CisgICAgICAgICogcGxhdGZvcm0vbW9j
ay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpN
b2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c291cmNlV2l0aFVJRCk6CisgICAgICAgICog
cGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oOgorCiAyMDE1LTA3
LTIzICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbGF4IG1l
ZGlhIHBsYXliYWNrIHJlc3RyaWN0aW9ucyBpZiB0aGUgYWxsb3dzTWVkaWFEb2N1bWVudElubGlu
ZVBsYXliYWNrIHByb3BlcnR5IGlzIHNldC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBmMWQxMGQ4M2E3OTRhMTk0
YzhkMTQ3MWVmMGU4MWIzNzNkOTU1ZmY4Li5lZDE4NzllZjU1NDdiYWE2NDczY2NjYzUxMDhmYTBj
M2E5YjQ5YzdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDctMjMgIE1hdHRo
ZXcgRGFpdGVyICA8bWRhaXRlckBhcHBsZS5jb20+CisKKyAgICAgICAgTGlua2luZyBXZWJLaXQy
IHRvIGJlIGFibGUgdG8gZ3JhYiBtZWRpYSBzb3VyY2VzIGZyb20gYSBVSUQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzIwMgorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMjE5NDc2MDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHk6
OmdldERldmljZU5hbWVGb3JVSUQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdFByb3h5Lmg6CisKIDIwMTUtMDctMjMgIEVucmljYSBDYXN1Y2NpICA8ZW5y
aWNhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmluZyBvbmUgaW5jb3JyZWN0IGFubm90YXRp
b24gZnJvbSB0aGUgcHJldmlvdXMgY2hhbmdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGVkZGExYmU2MmNkOTI4MGQ1YWY5MTg0
OWY5MzEwYmE4YTk4ZjI0ZDcuLmU5ODJlNjg0ZDQzYjcwNjU1MzExM2QyMWM3NDBjYTU4Y2JiOGY2
NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTE5MSw3ICsxOTEsNyBAQAogCQkwNzYzMDZERDE3RTE1RkIwMDA1QTdDNEUgLyog
SlNNZWRpYVN0cmVhbVRyYWNrU291cmNlc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzYzMDZEQjE3RTE1RkIwMDA1QTdDNEUgLyogSlNN
ZWRpYVN0cmVhbVRyYWNrU291cmNlc0NhbGxiYWNrLmggKi87IH07CiAJCTA3NjMwNkUwMTdFMTYw
ODkwMDVBN0M0RSAvKiBKU1NvdXJjZUluZm8uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDc2MzA2REUxN0UxNjA4OTAwNUE3QzRFIC8qIEpTU291cmNl
SW5mby5jcHAgKi87IH07CiAJCTA3NjMwNkUxMTdFMTYwODkwMDVBN0M0RSAvKiBKU1NvdXJjZUlu
Zm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA3NjMw
NkRGMTdFMTYwODkwMDVBN0M0RSAvKiBKU1NvdXJjZUluZm8uaCAqLzsgfTsKLQkJMDc2MzA2RTMx
N0UyMkE0MzAwNUE3QzRFIC8qIE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdENsaWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDc2MzA2RTIx
N0UyMkE0MzAwNUE3QzRFIC8qIE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdENsaWVudC5o
ICovOyB9OworCQkwNzYzMDZFMzE3RTIyQTQzMDA1QTdDNEUgLyogTWVkaWFTdHJlYW1UcmFja1Nv
dXJjZXNSZXF1ZXN0Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwNzYzMDZFMjE3RTIyQTQzMDA1QTdDNEUgLyogTWVkaWFTdHJlYW1UcmFja1Nv
dXJjZXNSZXF1ZXN0Q2xpZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMDc2MzhBOTkxODg0NDg3MjAwRTE1QTFCIC8qIE1lZGlhU2Vzc2lvbk1h
bmFnZXJJT1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDA3NjM4QTk3MTg4NDQ4NzIwMEUxNUExQiAvKiBNZWRpYVNlc3Npb25NYW5hZ2VySU9TLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDc2MzhBOUEx
ODg0NDg3MjAwRTE1QTFCIC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwNzYzOEE5ODE4ODQ0ODcyMDBFMTVB
MUIgLyogTWVkaWFTZXNzaW9uTWFuYWdlcklPUy5tbSAqLzsgfTsKIAkJMDc2OTcwODYxNDYzQUQ4
NzAwRjUwMkNGIC8qIFRleHRUcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMDc2OTcwODQxNDYzQUQ4NzAwRjUwMkNGIC8qIFRleHRUcmFj
a0xpc3QuY3BwICovOyB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oCmluZGV4IGY3Nzdh
MzI1Njk5OWQzZTJjYjliYzcwYzkyOGRmZmM3MmU4MTg4NzMuLmI2ZDRjMDAyMDI2ODJhN2JiNDFm
M2ExZjRjZTJjMDhmM2Y1NzQyZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmgKQEAg
LTQ0LDYgKzQ0LDcgQEAgY2xhc3MgTWVkaWFDb25zdHJhaW50czsKIGNsYXNzIE1lZGlhU3RyZWFt
Q3JlYXRpb25DbGllbnQ7CiBjbGFzcyBSZWFsdGltZU1lZGlhU291cmNlU3RhdGVzOwogY2xhc3Mg
TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50OworY2xhc3MgVHJhY2tTb3VyY2VJ
bmZvOwogCiBjbGFzcyBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyIHsKIHB1YmxpYzoKQEAgLTU3
LDYgKzU4LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVNZWRpYVN0cmVhbShQ
YXNzUmVmUHRyPE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQ+LCBQYXNzUmVmUHRyPE1lZGlhQ29u
c3RyYWludHM+IGF1ZGlvQ29uc3RyYWludHMsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4g
dmlkZW9Db25zdHJhaW50cykgPSAwOwogCiAgICAgdmlydHVhbCBib29sIGdldE1lZGlhU3RyZWFt
VHJhY2tTb3VyY2VzKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1UcmFja1NvdXJjZXNSZXF1ZXN0Q2xp
ZW50PikgPSAwOworICAgIAorICAgIHZpcnR1YWwgUmVmUHRyPFRyYWNrU291cmNlSW5mbz4gc291
cmNlV2l0aFVJRChjb25zdCBTdHJpbmcmLCBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlLCBNZWRp
YUNvbnN0cmFpbnRzKikgPSAwOwogCiBwcm90ZWN0ZWQ6CiAgICAgUmVhbHRpbWVNZWRpYVNvdXJj
ZUNlbnRlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgKaW5kZXggNzE0NjRlOTA0
MzZkZWZiNWJiOWNiNjUxNmViZmZlNjk0NzAwNTJmOC4uYTZjZjgyOTFiMTMxNmEzNzkxZjNkMTZj
NTMzMTBkZGU2ZGU1ZDljMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oCkBAIC01
MCw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICBWZWN0b3I8UmVmUHRyPFRyYWNrU291cmNlSW5mbz4+
IGdldFNvdXJjZXNJbmZvKGNvbnN0IFN0cmluZyYpOwogICAgIGJvb2wgdmVyaWZ5Q29uc3RyYWlu
dHNGb3JNZWRpYVR5cGUoUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSwgTWVkaWFDb25zdHJhaW50
cyosIFN0cmluZyYpOwogICAgIFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IGJl
c3RTb3VyY2VzRm9yVHlwZUFuZENvbnN0cmFpbnRzKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUs
IFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4pOwotICAgIFJlZlB0cjxSZWFsdGltZU1lZGlh
U291cmNlPiBzb3VyY2VXaXRoVUlEKFN0cmluZyYsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUs
IE1lZGlhQ29uc3RyYWludHMqKTsKKyAgICBSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4gc291
cmNlV2l0aFVJRChjb25zdCBTdHJpbmcmLCBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlLCBNZWRp
YUNvbnN0cmFpbnRzKik7CiAKICAgICBlbnVtIFZhbGlkQ29uc3RyYWludHMgeyBXaWR0aCA9IDAs
IEhlaWdodCwgRnJhbWVSYXRlLCBGYWNpbmdNb2RlLCBHYWluIH07CiAgICAgc3RhdGljIGNvbnN0
IFZlY3RvcjxBdG9taWNTdHJpbmc+JiB2YWxpZENvbnN0cmFpbnROYW1lcygpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmlj
ZU1hbmFnZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZD
YXB0dXJlRGV2aWNlTWFuYWdlci5tbQppbmRleCBlNzk3ZjQzM2M0ZjI2NGYzYTBkNDU4ODEwNjNm
Mzk0YzBjZmNjZmY4Li4zYjU1ZWMyNzFlM2FjZDdkOWEwOTBkNzAyY2M4NTBhNmY1ZGU0YzRiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0
dXJlRGV2aWNlTWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5tbQpAQCAtNDIwLDcgKzQyMCw3IEBAIFZl
Y3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IEFWQ2FwdHVyZURldmljZU1hbmFnZXI6
OmJlc3RTb3VyY2VzRm9yVHlwZUFuCiAgICAgcmV0dXJuIGJlc3RTb3VyY2VzTGlzdDsKIH0KIAot
UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IEFWQ2FwdHVyZURldmljZU1hbmFnZXI6OnNvdXJj
ZVdpdGhVSUQoU3RyaW5nICZkZXZpY2VVSUQsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUgdHlw
ZSwgTWVkaWFDb25zdHJhaW50cyogY29uc3RyYWludHMpCitSZWZQdHI8UmVhbHRpbWVNZWRpYVNv
dXJjZT4gQVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6c291cmNlV2l0aFVJRChjb25zdCBTdHJpbmcm
IGRldmljZVVJRCwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSB0eXBlLCBNZWRpYUNvbnN0cmFp
bnRzKiBjb25zdHJhaW50cykKIHsKICAgICBpZiAoIWlzQXZhaWxhYmxlKCkpCiAgICAgICAgIHJl
dHVybiAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwCmlu
ZGV4IDVhZTg3NmYwZjQ0OTA3ODMzNTAxMzBkZWM4ODViNjU4NmZlZTgwOTcuLjhkMDFjMmQwZjQ4
YzAyYmM2YThjOGQwZTZkMDFjZWRmZGNjYzRiMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlck1hYy5jcHAKQEAgLTEzNiw2ICsxMzYsMTQgQEAgYm9vbCBSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyTWFjOjpnZXRNZWRpYVN0cmVhbVRyYWNrU291cmNlcyhQYXNzUmVm
UHRyPE1lZGlhU3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorUmVmUHRyPFRyYWNrU291cmNlSW5m
bz4gUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6c291cmNlV2l0aFVJRChjb25zdCBTdHJp
bmcmIFVJRCwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSB0eXBlLCBNZWRpYUNvbnN0cmFpbnRz
KiBjb25zdHJhaW50cykKK3sKKyAgICBSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4gbWVkaWFT
b3VyY2UgPSBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpzaW5nbGV0b24oKS5zb3VyY2VXaXRoVUlE
KFVJRCwgdHlwZSwgY29uc3RyYWludHMpOworICAgIGlmICghbWVkaWFTb3VyY2UpCisgICAgICAg
IHJldHVybiBudWxscHRyOworICAgIHJldHVybiBUcmFja1NvdXJjZUluZm86OmNyZWF0ZShtZWRp
YVNvdXJjZS0+aWQoKSwgbWVkaWFTb3VyY2UtPnR5cGUoKSA9PSBSZWFsdGltZU1lZGlhU291cmNl
OjpUeXBlOjpWaWRlbyA/IFRyYWNrU291cmNlSW5mbzo6U291cmNlS2luZDo6VmlkZW8gOiBUcmFj
a1NvdXJjZUluZm86OlNvdXJjZUtpbmQ6OkF1ZGlvLCBtZWRpYVNvdXJjZS0+bmFtZSgpKTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVB
TSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9S
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5oCmluZGV4IDg2YzMz
ZGJkODRhYTM5MWI3NDMwM2JiYmYzMzcwZWZhMGM5NjM0ZGEuLjEzNmMyZDRlN2E5ZGM3ZmUyMTJl
YTgxYmZhMjQ5N2IyYzZiODg1NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXJNYWMuaApAQCAtNDgsNiArNDgsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB2YWxpZGF0ZVJl
cXVlc3RDb25zdHJhaW50cyhQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQ+LCBQ
YXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGF1ZGlvQ29uc3RyYWludHMsIFBhc3NSZWZQdHI8
TWVkaWFDb25zdHJhaW50cz4gdmlkZW9Db25zdHJhaW50cykgb3ZlcnJpZGU7CiAgICAgdm9pZCBj
cmVhdGVNZWRpYVN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQ+LCBQ
YXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGF1ZGlvQ29uc3RyYWludHMsIFBhc3NSZWZQdHI8
TWVkaWFDb25zdHJhaW50cz4gdmlkZW9Db25zdHJhaW50cykgb3ZlcnJpZGU7CiAgICAgdmlydHVh
bCBib29sIGdldE1lZGlhU3RyZWFtVHJhY2tTb3VyY2VzKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1U
cmFja1NvdXJjZXNSZXF1ZXN0Q2xpZW50Pikgb3ZlcnJpZGU7CisgICAgUmVmUHRyPFRyYWNrU291
cmNlSW5mbz4gc291cmNlV2l0aFVJRChjb25zdCBTdHJpbmcmLCBSZWFsdGltZU1lZGlhU291cmNl
OjpUeXBlLCBNZWRpYUNvbnN0cmFpbnRzKikgb3ZlcnJpZGU7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJPd3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyT3dyLmNwcAppbmRleCBjY2Q0MWM3NWZiM2UyNGI4Mzc5MWI5NGE4Nzk2YmJkYzAwZTAz
YjUzLi44N2E3NzUyNmQwMzQ3ZTk5ODFmMDRhZTE1ODgwOGQyNjc5MGZjYWVlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJPd3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL29wZW53ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck93ci5jcHAKQEAg
LTE4Miw2ICsxODIsMTUgQEAgUGFzc1JlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyT3dyOjpmaXJzdFNvdXJjZShSZWFsdGkKICAgICByZXR1cm4gbnVs
bHB0cjsKIH0KIAorUmVmUHRyPFRyYWNrU291cmNlSW5mbz4gUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlck93cjo6c291cmNlV2l0aFVJRChjb25zdCBTdHJpbmcmIFVJRCwgUmVhbHRpbWVNZWRpYVNv
dXJjZTo6VHlwZSwgTWVkaWFDb25zdHJhaW50cyopCit7CisgICAgZm9yIChhdXRvJiBzb3VyY2Ug
OiBtX3NvdXJjZU1hcC52YWx1ZXMoKSkgeworICAgICAgICBpZiAoc291cmNlLT5pZCgpID09IFVJ
RCkKKyAgICAgICAgICAgIHJldHVybiBUcmFja1NvdXJjZUluZm86OmNyZWF0ZShzb3VyY2UtPmlk
KCksIHNvdXJjZS0+dHlwZSgpID09IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvID8g
VHJhY2tTb3VyY2VJbmZvOjpTb3VyY2VLaW5kOjpWaWRlbyA6IFRyYWNrU291cmNlSW5mbzo6U291
cmNlS2luZDo6QXVkaW8gLCBzb3VyY2UtPm5hbWUoKSk7CisgICAgfQorCisgICAgcmV0dXJuIG51
bGxwdHI7Cit9CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoTUVE
SUFfU1RSRUFNKSAmJiBVU0UoT1BFTldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL29wZW53ZWJydGMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
ck93ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9S
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmgKaW5kZXggNTM1ZGExNjI0YjY4YzgxZDc3MWEz
Zjc4MDBiZGJlNDAyOWU2ODA1ZS4uMWUzN2U0MWNiMDVlOWRhYTdjNjk4NTdkMWNlODE4ZWUzMjVj
NDVmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3Bl
bndlYnJ0Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyT3dyLmgKQEAgLTQ2LDYgKzQ2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTWVk
aWFTdHJlYW1Qcml2YXRlOwogY2xhc3MgUmVhbHRpbWVNZWRpYVNvdXJjZTsKIGNsYXNzIE1lZGlh
U3RyZWFtU291cmNlc1F1ZXJ5Q2xpZW50OworY2xhc3MgVHJhY2tTb3VyY2VJbmZvOwogCiBjbGFz
cyBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyIGZpbmFsIDogcHVibGljIFJlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXIgewogcHVibGljOgpAQCAtNTcsNiArNTgsNyBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBnZXRNZWRpYVN0cmVhbVRyYWNrU291cmNlcyhQYXNzUmVmUHRyPE1lZGlhU3RyZWFtVHJh
Y2tTb3VyY2VzUmVxdWVzdENsaWVudD4pIG92ZXJyaWRlOwogCiAgICAgdm9pZCBtZWRpYVNvdXJj
ZXNBdmFpbGFibGUoR0xpc3QqIHNvdXJjZXMpOworICAgIFJlZlB0cjxUcmFja1NvdXJjZUluZm8+
IHNvdXJjZVdpdGhVSUQoY29uc3QgU3RyaW5nJiwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSwg
TWVkaWFDb25zdHJhaW50cyopIG92ZXJyaWRlOwogCiBwcml2YXRlOgogICAgIFBhc3NSZWZQdHI8
UmVhbHRpbWVNZWRpYVNvdXJjZT4gZmlyc3RTb3VyY2UoUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlw
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9j
a1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwCmluZGV4IDhmYzc2NWZjOGYxMTNiNTE2Zjc3
ODE1NWM1MGU2NWFlNThkMDdhOTkuLmEzMTZiNTc2YmQ5N2MzNGUwYzExZmVmMTNkYzIxZmIxMzI4
NTU1NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21v
Y2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwCkBAIC0yMTIsNiArMjEyLDE1IEBA
IGJvb2wgTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OmdldE1lZGlhU3RyZWFtVHJhY2tT
b3VyY2VzKFBhc3NSZWZQdHI8TWVkaWFTCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK1JlZlB0cjxU
cmFja1NvdXJjZUluZm8+IE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzb3VyY2VXaXRo
VUlEKGNvbnN0IFN0cmluZyYgVUlELCBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlLCBNZWRpYUNv
bnN0cmFpbnRzKikKK3sKKyAgICBmb3IgKGF1dG8mIHNvdXJjZSA6IG1vY2tTb3VyY2VNYXAoKSkg
eworICAgICAgICBpZiAoc291cmNlLnZhbHVlLT5pZCgpID09IFVJRCkKKyAgICAgICAgICAgIHJl
dHVybiBUcmFja1NvdXJjZUluZm86OmNyZWF0ZShzb3VyY2UudmFsdWUtPmlkKCksIHNvdXJjZS52
YWx1ZS0+dHlwZSgpID09IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlZpZGVvID8gVHJhY2tTb3VyY2VJ
bmZvOjpWaWRlbyA6IFRyYWNrU291cmNlSW5mbzo6QXVkaW8sIHNvdXJjZS52YWx1ZS0+bmFtZSgp
KTsKKyAgICB9CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAogI2VuZGlmIC8vIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVy
LmgKaW5kZXggOWJhMjE0MDZiNTQzMzU4NDkwMTRmZjA2MWYwOWI1MGQzMGI0Yzk4Yy4uNjY0OWRj
NGMxYzE0ZDBhOGYwYzBiNzE4MmM4MWVlMzJjODY1YTFlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXIuaApAQCAtNDAsNiArNDAsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHZhbGlkYXRl
UmVxdWVzdENvbnN0cmFpbnRzKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudD4s
IFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gYXVkaW9Db25zdHJhaW50cywgUGFzc1JlZlB0
cjxNZWRpYUNvbnN0cmFpbnRzPiB2aWRlb0NvbnN0cmFpbnRzKSBvdmVycmlkZTsKICAgICB2aXJ0
dWFsIHZvaWQgY3JlYXRlTWVkaWFTdHJlYW0oUGFzc1JlZlB0cjxNZWRpYVN0cmVhbUNyZWF0aW9u
Q2xpZW50PiwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBhdWRpb0NvbnN0cmFpbnRzLCBQ
YXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IHZpZGVvQ29uc3RyYWludHMpIG92ZXJyaWRlOwog
ICAgIHZpcnR1YWwgYm9vbCBnZXRNZWRpYVN0cmVhbVRyYWNrU291cmNlcyhQYXNzUmVmUHRyPE1l
ZGlhU3RyZWFtVHJhY2tTb3VyY2VzUmVxdWVzdENsaWVudD4pIG92ZXJyaWRlOworICAgIFJlZlB0
cjxUcmFja1NvdXJjZUluZm8+IHNvdXJjZVdpdGhVSUQoY29uc3QgU3RyaW5nJiwgUmVhbHRpbWVN
ZWRpYVNvdXJjZTo6VHlwZSwgTWVkaWFDb25zdHJhaW50cyopIG92ZXJyaWRlOwogCiBwcml2YXRl
OgogICAgIE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyKCkgeyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQ
cm94eS5jcHAKaW5kZXggNTcwYzRkMmVkYzI1NDg2YmY3ZjU0Yjk3NWQ4OWVjMGQ3ZDQwM2QxYS4u
MTRjM2Q3MzllNzIzMzU3ZDBhMWY2MGM4ZmQ2MDRhZTkxNjVmMzU0NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dFByb3h5LmNwcApAQCAtMjAsNiArMjAsOCBAQAogI2luY2x1ZGUgIlVzZXJNZWRpYVBlcm1pc3Np
b25SZXF1ZXN0UHJveHkuaCIKIAogI2luY2x1ZGUgIlVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
TWFuYWdlclByb3h5LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9NZWRpYVN0cmVhbVRyYWNrU291cmNl
c1JlcXVlc3RDbGllbnQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewpAQCAtNDksNSArNTEsMTAgQEAgdm9pZCBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dFByb3h5OjppbnZhbGlkYXRlKCkKICAgICBtX21hbmFnZXIuaW52YWxpZGF0ZVJlcXVlc3RzKCk7
CiB9CiAKK2NvbnN0IFN0cmluZyYgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eTo6Z2V0
RGV2aWNlTmFtZUZvclVJRChjb25zdCBTdHJpbmcmIFVJRCwgV2ViQ29yZTo6UmVhbHRpbWVNZWRp
YVNvdXJjZTo6VHlwZSB0eXBlKQoreworICAgIHJldHVybiBXZWJDb3JlOjpSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyOjpzaW5nbGV0b24oKS5zb3VyY2VXaXRoVUlEKFVJRCwgdHlwZSwgbnVsbHB0
ciktPmxhYmVsKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJv
eHkuaAppbmRleCBiMmQ4ODExZTE1ZWEzNTdiYWZkNDIwMTMwYmZkN2JiMjIzYmQzNjJkLi4wOTQ4
ZTE5ZWMwYTQ3Y2E5OWYwYzIyNDQwNGEzOTM0NDJkMWJmNmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Vc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5
LmgKQEAgLTIwLDYgKzIwLDcgQEAKICNkZWZpbmUgVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQ
cm94eV9oCiAKICNpbmNsdWRlICJBUElPYmplY3QuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1JlYWx0
aW1lTWVkaWFTb3VyY2UuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTM5LDYg
KzQwLDggQEAgcHVibGljOgogICAgIHZvaWQgZGVueSgpOwogCiAgICAgdm9pZCBpbnZhbGlkYXRl
KCk7CisgICAgCisgICAgY29uc3QgU3RyaW5nJiBnZXREZXZpY2VOYW1lRm9yVUlEKGNvbnN0IFN0
cmluZyYsIFdlYkNvcmU6OlJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUpOwogCiAgICAgYm9vbCBy
ZXF1aXJlc0F1ZGlvKCkgY29uc3QgeyByZXR1cm4gbV9yZXF1aXJlc0F1ZGlvOyB9CiAgICAgYm9v
bCByZXF1aXJlc1ZpZGVvKCkgY29uc3QgeyByZXR1cm4gbV9yZXF1aXJlc1ZpZGVvOyB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>