<?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>147171</bug_id>
          
          <creation_ts>2015-07-21 16:25:28 -0700</creation_ts>
          <short_desc>Fill vectors in UserMediaRequest with only UIDs of devices that satisfy constraints</short_desc>
          <delta_ts>2015-07-22 11:10:36 -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>WebCore Misc.</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>
          
          
          <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>jeremyj-wk</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>1111111</commentid>
    <comment_count>0</comment_count>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-21 16:25:28 -0700</bug_when>
    <thetext>We currently send a list of devices, no matter what, to Safari for requesting user media. There should be an easy way to create a list of only devices that can satisfy constraints.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111112</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-07-21 16:26:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/21931121&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111124</commentid>
    <comment_count>2</comment_count>
      <attachid>257218</attachid>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-21 16:48:04 -0700</bug_when>
    <thetext>Created attachment 257218
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111129</commentid>
    <comment_count>3</comment_count>
      <attachid>257218</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-07-21 16:59:32 -0700</bug_when>
    <thetext>Comment on attachment 257218
Patch

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

Doesn’t build because you forgot to update the other implementations of MediaStreamCreationClient, specifically MockRealtimeMediaSourceCenter.

&gt; Source/WebCore/Modules/mediastream/UserMediaRequest.cpp:126
&gt; +    for (auto audioTrack : audioTracks)

This will churn reference counts unnecessarily as we iterate each item and copy it into a RefPtr. To fix that, use auto&amp; instead of auto.

&gt; Source/WebCore/Modules/mediastream/UserMediaRequest.cpp:128
&gt; +    for (auto videoTrack : videoTracks)

Ditto.

&gt; Source/WebCore/Modules/mediastream/UserMediaRequest.h:74
&gt; +    Vector&lt;String&gt; filteredListUIDsVideo() const { return m_filteredListUIDsVideo; }
&gt; +    Vector&lt;String&gt; filteredListUIDsAudio() const { return m_filteredListUIDsAudio; }

It’s inefficient to copy these vectors just to return them. Please consider returning const Vector&lt;String&gt;&amp; instead.

&gt; Source/WebCore/platform/mediastream/MediaStreamCreationClient.h:41
&gt; +    virtual void constraintsValidated(Vector&lt;RefPtr&lt;RealtimeMediaSource&gt;&gt;, Vector&lt;RefPtr&lt;RealtimeMediaSource&gt;&gt;) = 0;

It’s inefficient to copy these vectors as part of calling this function. Please consider const Vector&amp;. Also, it’s not clear what these two vectors represent, so these arguments need names.

&gt; Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm:383
&gt; +    Vector&lt;RefPtr&lt;RealtimeMediaSource&gt;&gt; bestSourcesList = Vector&lt;RefPtr&lt;RealtimeMediaSource&gt;&gt;();

No need to do the &quot;=&quot; part here. Vectors are empty by default without any explicit initialization.

&gt; Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm:389
&gt;      Vector&lt;CaptureDevice&gt;&amp; devices = captureDeviceList();
&gt;      size_t count = devices.size();

This code should really use a modern for loop, like this:

    for (auto&amp; device : captureDeviceList()) {

Then below use “device” wherever the old code used “devices[i]”. Only issue is that we’d need to rename the local variables named device below.

&gt; Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:102
&gt; +        // FIXME: consider the constraints when choosing among multiple devices. For now just select the first available

Please capitalize the sentence in a comment like this. The word &quot;consider&quot;.

&gt; Source/WebCore/platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:117
&gt; +        // FIXME: consider the constraints when choosing among multiple devices. For now just select the first available

Please capitalize the sentence in a comment like this. The word &quot;consider&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111139</commentid>
    <comment_count>4</comment_count>
      <attachid>257221</attachid>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-21 17:21:33 -0700</bug_when>
    <thetext>Created attachment 257221
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111155</commentid>
    <comment_count>5</comment_count>
      <attachid>257221</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-07-21 17:51:53 -0700</bug_when>
    <thetext>Comment on attachment 257221
Patch

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

Looks good overall, but it obviously needs to be rebased so it applies to trunk.

&gt; Source/WebCore/Modules/mediastream/UserMediaRequest.h:74
&gt; +    const Vector&lt;String&gt;&amp; deviceUIDsVideo() const { return m_deviceUIDsVideo; }
&gt; +    const Vector&lt;String&gt;&amp; deviceUIDsAudio() const { return m_deviceUIDsAudio; }

Nit: I think audioDeviceUIDs and videoDeviceUIDs would be better. Also for the instance variables.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111156</commentid>
    <comment_count>6</comment_count>
      <attachid>257221</attachid>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-21 17:52:44 -0700</bug_when>
    <thetext>Comment on attachment 257221
Patch

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

&gt;&gt; Source/WebCore/Modules/mediastream/UserMediaRequest.h:74
&gt;&gt; +    const Vector&lt;String&gt;&amp; deviceUIDsAudio() const { return m_deviceUIDsAudio; }
&gt; 
&gt; Nit: I think audioDeviceUIDs and videoDeviceUIDs would be better. Also for the instance variables.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111166</commentid>
    <comment_count>7</comment_count>
      <attachid>257231</attachid>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-21 18:06:22 -0700</bug_when>
    <thetext>Created attachment 257231
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111177</commentid>
    <comment_count>8</comment_count>
      <attachid>257236</attachid>
    <who name="Matthew Daiter">mdaiter</who>
    <bug_when>2015-07-21 18:46:32 -0700</bug_when>
    <thetext>Created attachment 257236
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111258</commentid>
    <comment_count>9</comment_count>
      <attachid>257236</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-07-22 06:51:00 -0700</bug_when>
    <thetext>Comment on attachment 257236
Patch

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

&gt; Source/WebCore/Modules/mediastream/UserMediaRequest.h:80
&gt; +    virtual void constraintsValidated(const Vector&lt;RefPtr&lt;RealtimeMediaSource&gt;&gt;&amp;, const Vector&lt;RefPtr&lt;RealtimeMediaSource&gt;&gt;&amp;) override final;

As Darin noted earlier, it is not clear what these two vectors represent so these arguments need names.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111351</commentid>
    <comment_count>10</comment_count>
      <attachid>257236</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-22 11:10:28 -0700</bug_when>
    <thetext>Comment on attachment 257236
Patch

Clearing flags on attachment: 257236

Committed r187168: &lt;http://trac.webkit.org/changeset/187168&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1111352</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-22 11:10:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257218</attachid>
            <date>2015-07-21 16:48:04 -0700</date>
            <delta_ts>2015-07-21 17:21:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147171-20150721164651.patch</filename>
            <type>text/plain</type>
            <size>11492</size>
            <attacher name="Matthew Daiter">mdaiter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MTMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWQ1NDJmNDI2YjNhN2I1
Mzc4NWI0YThmNzE3NzAzZTk5YTdhNGExNC4uMWY3ZjYwNTdjNjg2NjI5OTQ2ZWRjODU5MmRmN2Yy
YmEzOGE4NTNjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE1LTA3LTIxICBNYXR0
aGV3IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1hZGUgc3VyZSBvbmx5
IGNvbnN0cmFpbnQtY29tcGF0aWJsZSBkZXZpY2VzIGFyZSBzZW50IHRvIFVJUHJvY2VzcyBmb3IK
KyAgICAgICAgc2VsZWN0aW5nIGRldmljZXMgZm9yIGdldFVzZXJNZWRpYSgpCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDcxNzEKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzIxOTMxMTIxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJNZWRpYVJlcXVlc3Q6OmNvbnN0cmFpbnRzVmFsaWRh
dGVkKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlVzZXJNZWRpYVJlcXVlc3Q6OmZpbHRlcmVkTGlzdFVJRHNWaWRl
byk6CisgICAgICAgIChXZWJDb3JlOjpVc2VyTWVkaWFSZXF1ZXN0OjpmaWx0ZXJlZExpc3RVSURz
QXVkaW8pOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtQ3JlYXRp
b25DbGllbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJl
RGV2aWNlTWFuYWdlci5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNh
cHR1cmVEZXZpY2VNYW5hZ2VyLm1tOgorICAgICAgICAoV2ViQ29yZTo6QVZDYXB0dXJlRGV2aWNl
TWFuYWdlcjo6YmVzdFNvdXJjZXNGb3JUeXBlQW5kQ29uc3RyYWludHMpOgorICAgICAgICAoV2Vi
Q29yZTo6QVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6YmVzdFNvdXJjZUZvclR5cGVBbmRDb25zdHJh
aW50cyk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlck1hYzo6dmFsaWRhdGVSZXF1ZXN0Q29uc3RyYWludHMpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6Y3JlYXRlTWVkaWFTdHJl
YW0pOgorCiAyMDE1LTA3LTIxICBKb24gSG9uZXljdXR0ICA8amhvbmV5Y3V0dEBhcHBsZS5jb20+
CiAKICAgICAgICAgW2lPU10gS2V5Ym9hcmQgYm9sZC9pdGFsaWMvdW5kZXJsaW5lIGtleXMgZG9u
J3QgaGlnaGxpZ2h0IGFmdGVyIGJlaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcAppbmRleCAyZGUyNTlhMWI2NjRi
YTkyYzUxMDc4ODZjYWQ0NjA4NGI3OWMzOTA5Li5mMjk3M2I4MGVjZmEzZjY1YzI4YjU0OGMyOGUy
NWYwZTdjNjA3YTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHAKQEAgLTEyMSw4ICsxMjEsMTIgQEAgdm9pZCBV
c2VyTWVkaWFSZXF1ZXN0OjpzdGFydCgpCiAgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6
c2luZ2xldG9uKCkudmFsaWRhdGVSZXF1ZXN0Q29uc3RyYWludHModGhpcywgbV9hdWRpb0NvbnN0
cmFpbnRzLCBtX3ZpZGVvQ29uc3RyYWludHMpOwogfQogCi12b2lkIFVzZXJNZWRpYVJlcXVlc3Q6
OmNvbnN0cmFpbnRzVmFsaWRhdGVkKCkKK3ZvaWQgVXNlck1lZGlhUmVxdWVzdDo6Y29uc3RyYWlu
dHNWYWxpZGF0ZWQoVmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4gdmlkZW9UcmFj
a3MsIFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IGF1ZGlvVHJhY2tzKQogewor
ICAgIGZvciAoYXV0byBhdWRpb1RyYWNrIDogYXVkaW9UcmFja3MpCisgICAgICAgIG1fZmlsdGVy
ZWRMaXN0VUlEc0F1ZGlvLmFwcGVuZChhdWRpb1RyYWNrLT5pZCgpKTsKKyAgICBmb3IgKGF1dG8g
dmlkZW9UcmFjayA6IHZpZGVvVHJhY2tzKQorICAgICAgICBtX2ZpbHRlcmVkTGlzdFVJRHNWaWRl
by5hcHBlbmQodmlkZW9UcmFjay0+aWQoKSk7CiAgICAgUmVmUHRyPFVzZXJNZWRpYVJlcXVlc3Q+
IHByb3RlY3RlZFRoaXModGhpcyk7CiAgICAgY2FsbE9uTWFpblRocmVhZChbcHJvdGVjdGVkVGhp
c10gewogICAgICAgICAvLyAyIC0gVGhlIGNvbnN0cmFpbnRzIGFyZSB2YWxpZCwgYXNrIHRoZSB1
c2VyIGZvciBhY2Nlc3MgdG8gbWVkaWEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5oCmluZGV4IDBkMGQ0NGE4ZmM1MzdiY2Yz
YTM4NzJiZDAxZmQ3M2RmMDk2MGI3NTEuLjJiZGU5MWFkNmQyNTQ4ZDI2Yzg1NmFiNDM5MzExNDBi
MjFhODg4OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
VXNlck1lZGlhUmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vVXNlck1lZGlhUmVxdWVzdC5oCkBAIC02OSwxMiArNjksMTUgQEAgcHVibGljOgogCiAgICAg
Ym9vbCByZXF1aXJlc0F1ZGlvKCkgY29uc3QgeyByZXR1cm4gbV9hdWRpb0NvbnN0cmFpbnRzOyB9
CiAgICAgYm9vbCByZXF1aXJlc1ZpZGVvKCkgY29uc3QgeyByZXR1cm4gbV92aWRlb0NvbnN0cmFp
bnRzOyB9CisgICAgCisgICAgVmVjdG9yPFN0cmluZz4gZmlsdGVyZWRMaXN0VUlEc1ZpZGVvKCkg
Y29uc3QgeyByZXR1cm4gbV9maWx0ZXJlZExpc3RVSURzVmlkZW87IH0KKyAgICBWZWN0b3I8U3Ry
aW5nPiBmaWx0ZXJlZExpc3RVSURzQXVkaW8oKSBjb25zdCB7IHJldHVybiBtX2ZpbHRlcmVkTGlz
dFVJRHNBdWRpbzsgfQogCiBwcml2YXRlOgogICAgIFVzZXJNZWRpYVJlcXVlc3QoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCosIFVzZXJNZWRpYUNvbnRyb2xsZXIqLCBQYXNzUmVmUHRyPE1lZGlhQ29u
c3RyYWludHM+IGF1ZGlvQ29uc3RyYWludHMsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4g
dmlkZW9Db25zdHJhaW50cywgTWVkaWFEZXZpY2VzOjpQcm9taXNlJiYpOwogCiAgICAgLy8gTWVk
aWFTdHJlYW1DcmVhdGlvbkNsaWVudAotICAgIHZpcnR1YWwgdm9pZCBjb25zdHJhaW50c1ZhbGlk
YXRlZCgpIG92ZXJyaWRlIGZpbmFsOworICAgIHZpcnR1YWwgdm9pZCBjb25zdHJhaW50c1ZhbGlk
YXRlZChWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiwgVmVjdG9yPFJlZlB0cjxS
ZWFsdGltZU1lZGlhU291cmNlPj4pIG92ZXJyaWRlIGZpbmFsOwogICAgIHZpcnR1YWwgdm9pZCBj
b25zdHJhaW50c0ludmFsaWQoY29uc3QgU3RyaW5nJiBjb25zdHJhaW50TmFtZSkgb3ZlcnJpZGUg
ZmluYWw7CiAgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZVN0cmVhbShQYXNzUmVmUHRyPE1lZGlh
U3RyZWFtUHJpdmF0ZT4pIG92ZXJyaWRlIGZpbmFsOwogICAgIHZpcnR1YWwgdm9pZCBmYWlsZWRU
b0NyZWF0ZVN0cmVhbVdpdGhDb25zdHJhaW50c0Vycm9yKGNvbnN0IFN0cmluZyYgY29uc3RyYWlu
dE5hbWUpIG92ZXJyaWRlIGZpbmFsOwpAQCAtODYsNiArODksOSBAQCBwcml2YXRlOgogICAgIFJl
ZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBtX2F1ZGlvQ29uc3RyYWludHM7CiAgICAgUmVmUHRyPE1l
ZGlhQ29uc3RyYWludHM+IG1fdmlkZW9Db25zdHJhaW50czsKIAorICAgIFZlY3RvcjxTdHJpbmc+
IG1fZmlsdGVyZWRMaXN0VUlEc1ZpZGVvOworICAgIFZlY3RvcjxTdHJpbmc+IG1fZmlsdGVyZWRM
aXN0VUlEc0F1ZGlvOworCiAgICAgVXNlck1lZGlhQ29udHJvbGxlciogbV9jb250cm9sbGVyOwog
CiAgICAgTWVkaWFEZXZpY2VzOjpQcm9taXNlIG1fcHJvbWlzZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtQ3JlYXRp
b25DbGllbnQuaAppbmRleCBjMDkwMmVkZWJjOWFiYWIyOGUyZjQ3YTM2MTlmNWE1ODE0YTYxNGU4
Li4wZGQwMTA4ZmQ1N2IwNTBmYjY3ZDgzYjg4ZDMwYjdlOWYwZTcyN2ZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUNyZWF0aW9uQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJl
YW1DcmVhdGlvbkNsaWVudC5oCkBAIC0zOCw3ICszOCw3IEBAIGNsYXNzIE1lZGlhU3RyZWFtQ3Jl
YXRpb25DbGllbnQgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZW50
PiB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudCgpIHsg
fQogCi0gICAgdmlydHVhbCB2b2lkIGNvbnN0cmFpbnRzVmFsaWRhdGVkKCkgPSAwOworICAgIHZp
cnR1YWwgdm9pZCBjb25zdHJhaW50c1ZhbGlkYXRlZChWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVk
aWFTb3VyY2U+PiwgVmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4pID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgY29uc3RyYWludHNJbnZhbGlkKGNvbnN0IFN0cmluZyYgY29uc3RyYWlu
dE5hbWUpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBkaWRDcmVhdGVTdHJlYW0oUGFzc1JlZlB0
cjxNZWRpYVN0cmVhbVByaXZhdGU+KSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFnZXIu
aAppbmRleCBkZDhlNTU0YTQyMDI0YWQ4ZGQ2OTgzMmMyNTM0NWI3MjAwYTZiMTNjLi5hNjBhMjk0
MzMwYmFmNzFiZTUxMTlhMDNmNTg0ZTg3OTNkZWFiNmJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZp
Y2VNYW5hZ2VyLmgKQEAgLTQ5LDcgKzQ5LDcgQEAgcHVibGljOgogCiAgICAgVmVjdG9yPFJlZlB0
cjxUcmFja1NvdXJjZUluZm8+PiBnZXRTb3VyY2VzSW5mbyhjb25zdCBTdHJpbmcmKTsKICAgICBi
b29sIHZlcmlmeUNvbnN0cmFpbnRzRm9yTWVkaWFUeXBlKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5
cGUsIE1lZGlhQ29uc3RyYWludHMqLCBTdHJpbmcmKTsKLSAgICBSZWZQdHI8UmVhbHRpbWVNZWRp
YVNvdXJjZT4gYmVzdFNvdXJjZUZvclR5cGVBbmRDb25zdHJhaW50cyhSZWFsdGltZU1lZGlhU291
cmNlOjpUeXBlLCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+KTsKKyAgICBWZWN0b3I8UmVm
UHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiBiZXN0U291cmNlc0ZvclR5cGVBbmRDb25zdHJhaW50
cyhSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlLCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+
KTsKIAogICAgIGVudW0gVmFsaWRDb25zdHJhaW50cyB7IFdpZHRoID0gMCwgSGVpZ2h0LCBGcmFt
ZVJhdGUsIEZhY2luZ01vZGUsIEdhaW4gfTsKICAgICBzdGF0aWMgY29uc3QgVmVjdG9yPEF0b21p
Y1N0cmluZz4mIHZhbGlkQ29uc3RyYWludE5hbWVzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VN
YW5hZ2VyLm1tCmluZGV4IGRlNzkxNTBjNTUyMGNmNzRhYmVlNDQ4OGY1ZDNmYjkzYTAzMjZlNzgu
LmM0NDA5NDQ1MGY1ZDE2ZjJkYzUyYWMyYjc1NjRmOGQyZGI4NjVjNjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5h
Z2VyLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNh
cHR1cmVEZXZpY2VNYW5hZ2VyLm1tCkBAIC0zNzgsMTAgKzM3OCwxMiBAQCBib29sIEFWQ2FwdHVy
ZURldmljZU1hbmFnZXI6OnZlcmlmeUNvbnN0cmFpbnRzRm9yTWVkaWFUeXBlKFJlYWx0aW1lTWVk
aWFTb3VyY2U6OgogICAgIHJldHVybiB0cnVlOwogfQogCi1SZWZQdHI8UmVhbHRpbWVNZWRpYVNv
dXJjZT4gQVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6YmVzdFNvdXJjZUZvclR5cGVBbmRDb25zdHJh
aW50cyhSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUsIFBhc3NSZWZQdHI8TWVkaWFDb25z
dHJhaW50cz4gY29uc3RyYWludHMpCitWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+
PiBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpiZXN0U291cmNlc0ZvclR5cGVBbmRDb25zdHJhaW50
cyhSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHR5cGUsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJh
aW50cz4gY29uc3RyYWludHMpCiB7CisgICAgVmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291
cmNlPj4gYmVzdFNvdXJjZXNMaXN0ID0gVmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNl
Pj4oKTsKKyAgICAKICAgICBpZiAoIWlzQXZhaWxhYmxlKCkpCi0gICAgICAgIHJldHVybiAwOwor
ICAgICAgICByZXR1cm4gYmVzdFNvdXJjZXNMaXN0OwogCiAgICAgVmVjdG9yPENhcHR1cmVEZXZp
Y2U+JiBkZXZpY2VzID0gY2FwdHVyZURldmljZUxpc3QoKTsKICAgICBzaXplX3QgY291bnQgPSBk
ZXZpY2VzLnNpemUoKTsKQEAgLTM4OSwxNSArMzkxLDEzIEBAIFJlZlB0cjxSZWFsdGltZU1lZGlh
U291cmNlPiBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpiZXN0U291cmNlRm9yVHlwZUFuZENvbnN0
cmFpCiAgICAgICAgIGlmICghZGV2aWNlc1tpXS5tX2VuYWJsZWQpCiAgICAgICAgICAgICBjb250
aW51ZTsKIAotICAgICAgICAvLyBGSVhNRTogY29uc2lkZXIgdGhlIGNvbnN0cmFpbnRzIHdoZW4g
Y2hvb3NpbmcgYW1vbmcgbXVsdGlwbGUgZGV2aWNlcy4gRm9yIG5vdyBqdXN0IHNlbGVjdCB0aGUg
Zmlyc3QgYXZhaWxhYmxlCi0gICAgICAgIC8vIGRldmljZSBvZiB0aGUgYXBwcm9wcmlhdGUgdHlw
ZS4KICAgICAgICAgaWYgKHR5cGUgPT0gUmVhbHRpbWVNZWRpYVNvdXJjZTo6QXVkaW8gJiYgIWRl
dmljZXNbaV0ubV9hdWRpb1NvdXJjZUlkLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgaWYgKCFk
ZXZpY2VzW2ldLm1fYXVkaW9Tb3VyY2UpIHsKICAgICAgICAgICAgICAgICBBVkNhcHR1cmVEZXZp
Y2VUeXBlICpkZXZpY2UgPSBbQVZDYXB0dXJlRGV2aWNlIGRldmljZVdpdGhVbmlxdWVJRDpkZXZp
Y2VzW2ldLm1fY2FwdHVyZURldmljZUlEXTsKICAgICAgICAgICAgICAgICBBU1NFUlQoZGV2aWNl
KTsKICAgICAgICAgICAgICAgICBkZXZpY2VzW2ldLm1fYXVkaW9Tb3VyY2UgPSBBVkF1ZGlvQ2Fw
dHVyZVNvdXJjZTo6Y3JlYXRlKGRldmljZSwgZGV2aWNlc1tpXS5tX2F1ZGlvU291cmNlSWQsIGNv
bnN0cmFpbnRzKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiBkZXZpY2VzW2ld
Lm1fYXVkaW9Tb3VyY2U7CisgICAgICAgICAgICBiZXN0U291cmNlc0xpc3QuYXBwZW5kKGRldmlj
ZXNbaV0ubV9hdWRpb1NvdXJjZSk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAodHlwZSA9PSBS
ZWFsdGltZU1lZGlhU291cmNlOjpWaWRlbyAmJiAhZGV2aWNlc1tpXS5tX3ZpZGVvU291cmNlSWQu
aXNFbXB0eSgpKSB7CkBAIC00MDYsMTEgKzQwNiwxMSBAQCBSZWZQdHI8UmVhbHRpbWVNZWRpYVNv
dXJjZT4gQVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6YmVzdFNvdXJjZUZvclR5cGVBbmRDb25zdHJh
aQogICAgICAgICAgICAgICAgIEFTU0VSVChkZXZpY2UpOwogICAgICAgICAgICAgICAgIGRldmlj
ZXNbaV0ubV92aWRlb1NvdXJjZSA9IEFWVmlkZW9DYXB0dXJlU291cmNlOjpjcmVhdGUoZGV2aWNl
LCBkZXZpY2VzW2ldLm1fdmlkZW9Tb3VyY2VJZCwgY29uc3RyYWludHMpOwogICAgICAgICAgICAg
fQotICAgICAgICAgICAgcmV0dXJuIGRldmljZXNbaV0ubV92aWRlb1NvdXJjZTsKKyAgICAgICAg
ICAgIGJlc3RTb3VyY2VzTGlzdC5hcHBlbmQoZGV2aWNlc1tpXS5tX3ZpZGVvU291cmNlKTsKICAg
ICAgICAgfQogICAgIH0KIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBiZXN0U291cmNlc0xp
c3Q7CiB9CiAKIHZvaWQgQVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6cmVnaXN0ZXJGb3JEZXZpY2VO
b3RpZmljYXRpb25zKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFj
LmNwcAppbmRleCA0NTA0MjRkZjdkNDg3NmNiM2ZkYTkzYWY4ZjZiYzhiYTM4NjRjMDRmLi45ZGEx
ODkyZmQzMWY1NzhiNTNjNjJkMzdiMGY1MjIxNjZhZmEzODdkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
ck1hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1Jl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwCkBAIC03OSw4ICs3OSw4IEBAIHZvaWQgUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6dmFsaWRhdGVSZXF1ZXN0Q29uc3RyYWludHMoUGFz
c1JlZlB0cjxNZWRpYVN0CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9Ci0K
LSAgICBjbGllbnQtPmNvbnN0cmFpbnRzVmFsaWRhdGVkKCk7CisgICAgCisgICAgY2xpZW50LT5j
b25zdHJhaW50c1ZhbGlkYXRlZChBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpzaW5nbGV0b24oKS5i
ZXN0U291cmNlc0ZvclR5cGVBbmRDb25zdHJhaW50cyhSZWFsdGltZU1lZGlhU291cmNlOjpUeXBl
OjpWaWRlbywgdmlkZW9Db25zdHJhaW50cyksIEFWQ2FwdHVyZURldmljZU1hbmFnZXI6OnNpbmds
ZXRvbigpLmJlc3RTb3VyY2VzRm9yVHlwZUFuZENvbnN0cmFpbnRzKFJlYWx0aW1lTWVkaWFTb3Vy
Y2U6OlR5cGU6OkF1ZGlvLCBhdWRpb0NvbnN0cmFpbnRzKSk7CiB9CiAgICAgCiB2b2lkIFJlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6OmNyZWF0ZU1lZGlhU3RyZWFtKFBhc3NSZWZQdHI8TWVk
aWFTdHJlYW1DcmVhdGlvbkNsaWVudD4gcHJwUXVlcnlDbGllbnQsIFBhc3NSZWZQdHI8TWVkaWFD
b25zdHJhaW50cz4gYXVkaW9Db25zdHJhaW50cywgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRz
PiB2aWRlb0NvbnN0cmFpbnRzKQpAQCAtOTksOCArOTksOSBAQCB2b2lkIFJlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXJNYWM6OmNyZWF0ZU1lZGlhU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1D
cmVhdAogICAgICAgICAgICAgY2xpZW50LT5mYWlsZWRUb0NyZWF0ZVN0cmVhbVdpdGhDb25zdHJh
aW50c0Vycm9yKGludmFsaWRDb25zdHJhaW50KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgfQotICAgICAgICAKLSAgICAgICAgUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IGF1ZGlv
U291cmNlID0gQVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6c2luZ2xldG9uKCkuYmVzdFNvdXJjZUZv
clR5cGVBbmRDb25zdHJhaW50cyhSZWFsdGltZU1lZGlhU291cmNlOjpBdWRpbywgYXVkaW9Db25z
dHJhaW50cy5nZXQoKSk7CisgICAgICAgIC8vIEZJWE1FOiBjb25zaWRlciB0aGUgY29uc3RyYWlu
dHMgd2hlbiBjaG9vc2luZyBhbW9uZyBtdWx0aXBsZSBkZXZpY2VzLiBGb3Igbm93IGp1c3Qgc2Vs
ZWN0IHRoZSBmaXJzdCBhdmFpbGFibGUKKyAgICAgICAgLy8gZGV2aWNlIG9mIHRoZSBhcHByb3By
aWF0ZSB0eXBlLgorICAgICAgICBSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4gYXVkaW9Tb3Vy
Y2UgPSBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpzaW5nbGV0b24oKS5iZXN0U291cmNlc0ZvclR5
cGVBbmRDb25zdHJhaW50cyhSZWFsdGltZU1lZGlhU291cmNlOjpBdWRpbywgYXVkaW9Db25zdHJh
aW50cy5nZXQoKSkuYXQoMCk7CiAgICAgICAgIEFTU0VSVChhdWRpb1NvdXJjZSk7CiAgICAgICAg
IAogICAgICAgICBhdWRpb1NvdXJjZXMuYXBwZW5kKGF1ZGlvU291cmNlLnJlbGVhc2UoKSk7CkBA
IC0xMTMsOCArMTE0LDkgQEAgdm9pZCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpjcmVh
dGVNZWRpYVN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQ3JlYXQKICAgICAgICAgICAgIGNs
aWVudC0+ZmFpbGVkVG9DcmVhdGVTdHJlYW1XaXRoQ29uc3RyYWludHNFcnJvcihpbnZhbGlkQ29u
c3RyYWludCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgCi0gICAg
ICAgIFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiB2aWRlb1NvdXJjZSA9IEFWQ2FwdHVyZURl
dmljZU1hbmFnZXI6OnNpbmdsZXRvbigpLmJlc3RTb3VyY2VGb3JUeXBlQW5kQ29uc3RyYWludHMo
UmVhbHRpbWVNZWRpYVNvdXJjZTo6VmlkZW8sIHZpZGVvQ29uc3RyYWludHMuZ2V0KCkpOworICAg
ICAgICAvLyBGSVhNRTogY29uc2lkZXIgdGhlIGNvbnN0cmFpbnRzIHdoZW4gY2hvb3NpbmcgYW1v
bmcgbXVsdGlwbGUgZGV2aWNlcy4gRm9yIG5vdyBqdXN0IHNlbGVjdCB0aGUgZmlyc3QgYXZhaWxh
YmxlCisgICAgICAgIC8vIGRldmljZSBvZiB0aGUgYXBwcm9wcmlhdGUgdHlwZS4KKyAgICAgICAg
UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IHZpZGVvU291cmNlID0gQVZDYXB0dXJlRGV2aWNl
TWFuYWdlcjo6c2luZ2xldG9uKCkuYmVzdFNvdXJjZXNGb3JUeXBlQW5kQ29uc3RyYWludHMoUmVh
bHRpbWVNZWRpYVNvdXJjZTo6VmlkZW8sIHZpZGVvQ29uc3RyYWludHMuZ2V0KCkpLmF0KDApOwog
ICAgICAgICBBU1NFUlQodmlkZW9Tb3VyY2UpOwogICAgICAgICAKICAgICAgICAgdmlkZW9Tb3Vy
Y2VzLmFwcGVuZCh2aWRlb1NvdXJjZS5yZWxlYXNlKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257221</attachid>
            <date>2015-07-21 17:21:33 -0700</date>
            <delta_ts>2015-07-21 18:06:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147171-20150721172019.patch</filename>
            <type>text/plain</type>
            <size>13346</size>
            <attacher name="Matthew Daiter">mdaiter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MTMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWQ1NDJmNDI2YjNhN2I1
Mzc4NWI0YThmNzE3NzAzZTk5YTdhNGExNC4uODAyZTAzOWNmZjAxY2Q5OGIzYWFhZWI0ZjE5YjBk
Yzk0YmY4YTZkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE1LTA3LTIxICBNYXR0
aGV3IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1hZGUgc3VyZSBvbmx5
IGNvbnN0cmFpbnQtY29tcGF0aWJsZSBkZXZpY2VzIGFyZSBzZW50IHRvIFVJUHJvY2VzcyBmb3IK
KyAgICAgICAgc2VsZWN0aW5nIGRldmljZXMgZm9yIGdldFVzZXJNZWRpYSgpCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDcxNzEKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzIxOTMxMTIxPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJNZWRpYVJlcXVlc3Q6OmNvbnN0cmFpbnRzVmFsaWRh
dGVkKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlVzZXJNZWRpYVJlcXVlc3Q6OmRldmljZVVJRHNWaWRlbyk6Cisg
ICAgICAgIChXZWJDb3JlOjpVc2VyTWVkaWFSZXF1ZXN0OjpkZXZpY2VVSURzQXVkaW8pOgorICAg
ICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdl
ci5tbToKKyAgICAgICAgKFdlYkNvcmU6OkFWQ2FwdHVyZURldmljZU1hbmFnZXI6OmJlc3RTb3Vy
Y2VzRm9yVHlwZUFuZENvbnN0cmFpbnRzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVh
bS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjp2YWxpZGF0ZVJlcXVlc3RDb25zdHJhaW50
cyk6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpjcmVh
dGVNZWRpYVN0cmVhbSk6CisgICAgICAgICogcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlcjo6dmFsaWRhdGVSZXF1ZXN0Q29uc3RyYWludHMpOgorCiAyMDE1LTA3LTIxICBK
b24gSG9uZXljdXR0ICA8amhvbmV5Y3V0dEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gS2V5
Ym9hcmQgYm9sZC9pdGFsaWMvdW5kZXJsaW5lIGtleXMgZG9uJ3QgaGlnaGxpZ2h0IGFmdGVyIGJl
aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJN
ZWRpYVJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2Vy
TWVkaWFSZXF1ZXN0LmNwcAppbmRleCAyZGUyNTlhMWI2NjRiYTkyYzUxMDc4ODZjYWQ0NjA4NGI3
OWMzOTA5Li5kYWE5NDQ5ODU4MGUzMGE3ODkyNWQ0YTAyOGVhYmYzMjYwYWE1Zjk2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVx
dWVzdC5jcHAKQEAgLTEyMSw4ICsxMjEsMTIgQEAgdm9pZCBVc2VyTWVkaWFSZXF1ZXN0OjpzdGFy
dCgpCiAgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkudmFsaWRhdGVS
ZXF1ZXN0Q29uc3RyYWludHModGhpcywgbV9hdWRpb0NvbnN0cmFpbnRzLCBtX3ZpZGVvQ29uc3Ry
YWludHMpOwogfQogCi12b2lkIFVzZXJNZWRpYVJlcXVlc3Q6OmNvbnN0cmFpbnRzVmFsaWRhdGVk
KCkKK3ZvaWQgVXNlck1lZGlhUmVxdWVzdDo6Y29uc3RyYWludHNWYWxpZGF0ZWQoY29uc3QgVmVj
dG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4mIHZpZGVvVHJhY2tzLCBjb25zdCBWZWN0
b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiYgYXVkaW9UcmFja3MpCiB7CisgICAgZm9y
IChhdXRvJiBhdWRpb1RyYWNrIDogYXVkaW9UcmFja3MpCisgICAgICAgIG1fZGV2aWNlVUlEc0F1
ZGlvLmFwcGVuZChhdWRpb1RyYWNrLT5pZCgpKTsKKyAgICBmb3IgKGF1dG8mIHZpZGVvVHJhY2sg
OiB2aWRlb1RyYWNrcykKKyAgICAgICAgbV9kZXZpY2VVSURzVmlkZW8uYXBwZW5kKHZpZGVvVHJh
Y2stPmlkKCkpOwogICAgIFJlZlB0cjxVc2VyTWVkaWFSZXF1ZXN0PiBwcm90ZWN0ZWRUaGlzKHRo
aXMpOwogICAgIGNhbGxPbk1haW5UaHJlYWQoW3Byb3RlY3RlZFRoaXNdIHsKICAgICAgICAgLy8g
MiAtIFRoZSBjb25zdHJhaW50cyBhcmUgdmFsaWQsIGFzayB0aGUgdXNlciBmb3IgYWNjZXNzIHRv
IG1lZGlhLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9V
c2VyTWVkaWFSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1Vz
ZXJNZWRpYVJlcXVlc3QuaAppbmRleCAwZDBkNDRhOGZjNTM3YmNmM2EzODcyYmQwMWZkNzNkZjA5
NjBiNzUxLi5iMGFhYTExOTk3MTY1YWZhOGU1ODMyZDViNjU2YWQ5NTBhMjBkOWM4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVl
c3QuaApAQCAtNjksMTIgKzY5LDE1IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgcmVxdWlyZXNBdWRp
bygpIGNvbnN0IHsgcmV0dXJuIG1fYXVkaW9Db25zdHJhaW50czsgfQogICAgIGJvb2wgcmVxdWly
ZXNWaWRlbygpIGNvbnN0IHsgcmV0dXJuIG1fdmlkZW9Db25zdHJhaW50czsgfQorICAgIAorICAg
IGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBkZXZpY2VVSURzVmlkZW8oKSBjb25zdCB7IHJldHVybiBt
X2RldmljZVVJRHNWaWRlbzsgfQorICAgIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBkZXZpY2VVSURz
QXVkaW8oKSBjb25zdCB7IHJldHVybiBtX2RldmljZVVJRHNBdWRpbzsgfQogCiBwcml2YXRlOgog
ICAgIFVzZXJNZWRpYVJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFVzZXJNZWRpYUNv
bnRyb2xsZXIqLCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGF1ZGlvQ29uc3RyYWludHMs
IFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gdmlkZW9Db25zdHJhaW50cywgTWVkaWFEZXZp
Y2VzOjpQcm9taXNlJiYpOwogCiAgICAgLy8gTWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudAotICAg
IHZpcnR1YWwgdm9pZCBjb25zdHJhaW50c1ZhbGlkYXRlZCgpIG92ZXJyaWRlIGZpbmFsOworICAg
IHZpcnR1YWwgdm9pZCBjb25zdHJhaW50c1ZhbGlkYXRlZChjb25zdCBWZWN0b3I8UmVmUHRyPFJl
YWx0aW1lTWVkaWFTb3VyY2U+PiYsIGNvbnN0IFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNv
dXJjZT4+Jikgb3ZlcnJpZGUgZmluYWw7CiAgICAgdmlydHVhbCB2b2lkIGNvbnN0cmFpbnRzSW52
YWxpZChjb25zdCBTdHJpbmcmIGNvbnN0cmFpbnROYW1lKSBvdmVycmlkZSBmaW5hbDsKICAgICB2
aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1Qcml2YXRl
Pikgb3ZlcnJpZGUgZmluYWw7CiAgICAgdmlydHVhbCB2b2lkIGZhaWxlZFRvQ3JlYXRlU3RyZWFt
V2l0aENvbnN0cmFpbnRzRXJyb3IoY29uc3QgU3RyaW5nJiBjb25zdHJhaW50TmFtZSkgb3ZlcnJp
ZGUgZmluYWw7CkBAIC04Niw2ICs4OSw5IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE1lZGlhQ29u
c3RyYWludHM+IG1fYXVkaW9Db25zdHJhaW50czsKICAgICBSZWZQdHI8TWVkaWFDb25zdHJhaW50
cz4gbV92aWRlb0NvbnN0cmFpbnRzOwogCisgICAgVmVjdG9yPFN0cmluZz4gbV9kZXZpY2VVSURz
VmlkZW87CisgICAgVmVjdG9yPFN0cmluZz4gbV9kZXZpY2VVSURzQXVkaW87CisKICAgICBVc2Vy
TWVkaWFDb250cm9sbGVyKiBtX2NvbnRyb2xsZXI7CiAKICAgICBNZWRpYURldmljZXM6OlByb21p
c2UgbV9wcm9taXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudC5oCmluZGV4IGMwOTAyZWRl
YmM5YWJhYjI4ZTJmNDdhMzYxOWY1YTU4MTRhNjE0ZTguLjA0NGQ2MGIyMjcyNDI5ODY1NjBmNjY5
NDRmNmE0YjQ2NWNlZDNhZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZW50LmgKQEAgLTM4
LDcgKzM4LDcgQEAgY2xhc3MgTWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudCA6IHB1YmxpYyBSZWZD
b3VudGVkPE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQ+IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFs
IH5NZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZW50KCkgeyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgY29u
c3RyYWludHNWYWxpZGF0ZWQoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGNvbnN0cmFpbnRzVmFs
aWRhdGVkKGNvbnN0IFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+JiB2aWRlb1Ry
YWNrcywgY29uc3QgVmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4mIGF1ZGlvVHJh
Y2tzKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNvbnN0cmFpbnRzSW52YWxpZChjb25zdCBTdHJp
bmcmIGNvbnN0cmFpbnROYW1lKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ3JlYXRlU3Ry
ZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1Qcml2YXRlPikgPSAwOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFn
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVE
ZXZpY2VNYW5hZ2VyLmgKaW5kZXggZGQ4ZTU1NGE0MjAyNGFkOGRkNjk4MzJjMjUzNDViNzIwMGE2
YjEzYy4uYTYwYTI5NDMzMGJhZjcxYmU1MTE5YTAzZjU4NGU4NzkzZGVhYjZiZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmlj
ZU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMv
QVZDYXB0dXJlRGV2aWNlTWFuYWdlci5oCkBAIC00OSw3ICs0OSw3IEBAIHB1YmxpYzoKIAogICAg
IFZlY3RvcjxSZWZQdHI8VHJhY2tTb3VyY2VJbmZvPj4gZ2V0U291cmNlc0luZm8oY29uc3QgU3Ry
aW5nJik7CiAgICAgYm9vbCB2ZXJpZnlDb25zdHJhaW50c0Zvck1lZGlhVHlwZShSZWFsdGltZU1l
ZGlhU291cmNlOjpUeXBlLCBNZWRpYUNvbnN0cmFpbnRzKiwgU3RyaW5nJik7Ci0gICAgUmVmUHRy
PFJlYWx0aW1lTWVkaWFTb3VyY2U+IGJlc3RTb3VyY2VGb3JUeXBlQW5kQ29uc3RyYWludHMoUmVh
bHRpbWVNZWRpYVNvdXJjZTo6VHlwZSwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPik7Cisg
ICAgVmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4gYmVzdFNvdXJjZXNGb3JUeXBl
QW5kQ29uc3RyYWludHMoUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSwgUGFzc1JlZlB0cjxNZWRp
YUNvbnN0cmFpbnRzPik7CiAKICAgICBlbnVtIFZhbGlkQ29uc3RyYWludHMgeyBXaWR0aCA9IDAs
IEhlaWdodCwgRnJhbWVSYXRlLCBGYWNpbmdNb2RlLCBHYWluIH07CiAgICAgc3RhdGljIGNvbnN0
IFZlY3RvcjxBdG9taWNTdHJpbmc+JiB2YWxpZENvbnN0cmFpbnROYW1lcygpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmlj
ZU1hbmFnZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZD
YXB0dXJlRGV2aWNlTWFuYWdlci5tbQppbmRleCBkZTc5MTUwYzU1MjBjZjc0YWJlZTQ0ODhmNWQz
ZmI5M2EwMzI2ZTc4Li5jYWRlNzc5MzgzNjBiNzk5ZmM5NDE1ODM1ZjY0YWM0Y2E3ZDA2ZTQzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0
dXJlRGV2aWNlTWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0
cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdlci5tbQpAQCAtMzc4LDM5ICszNzgsMzcgQEAg
Ym9vbCBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjp2ZXJpZnlDb25zdHJhaW50c0Zvck1lZGlhVHlw
ZShSZWFsdGltZU1lZGlhU291cmNlOjoKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotUmVmUHRyPFJl
YWx0aW1lTWVkaWFTb3VyY2U+IEFWQ2FwdHVyZURldmljZU1hbmFnZXI6OmJlc3RTb3VyY2VGb3JU
eXBlQW5kQ29uc3RyYWludHMoUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSB0eXBlLCBQYXNzUmVm
UHRyPE1lZGlhQ29uc3RyYWludHM+IGNvbnN0cmFpbnRzKQorVmVjdG9yPFJlZlB0cjxSZWFsdGlt
ZU1lZGlhU291cmNlPj4gQVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6YmVzdFNvdXJjZXNGb3JUeXBl
QW5kQ29uc3RyYWludHMoUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSB0eXBlLCBQYXNzUmVmUHRy
PE1lZGlhQ29uc3RyYWludHM+IGNvbnN0cmFpbnRzKQogeworICAgIFZlY3RvcjxSZWZQdHI8UmVh
bHRpbWVNZWRpYVNvdXJjZT4+IGJlc3RTb3VyY2VzTGlzdDsKKyAgICAKICAgICBpZiAoIWlzQXZh
aWxhYmxlKCkpCi0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gYmVzdFNvdXJjZXNM
aXN0OwogCi0gICAgVmVjdG9yPENhcHR1cmVEZXZpY2U+JiBkZXZpY2VzID0gY2FwdHVyZURldmlj
ZUxpc3QoKTsKLSAgICBzaXplX3QgY291bnQgPSBkZXZpY2VzLnNpemUoKTsKLSAgICBmb3IgKHNp
emVfdCBpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKLSAgICAgICAgaWYgKCFkZXZpY2VzW2ldLm1f
ZW5hYmxlZCkKKyAgICBmb3IgKGF1dG8mIGNhcHR1cmVEZXZpY2UgOiBjYXB0dXJlRGV2aWNlTGlz
dCgpKSB7CisgICAgICAgIGlmICghY2FwdHVyZURldmljZS5tX2VuYWJsZWQpCiAgICAgICAgICAg
ICBjb250aW51ZTsKIAotICAgICAgICAvLyBGSVhNRTogY29uc2lkZXIgdGhlIGNvbnN0cmFpbnRz
IHdoZW4gY2hvb3NpbmcgYW1vbmcgbXVsdGlwbGUgZGV2aWNlcy4gRm9yIG5vdyBqdXN0IHNlbGVj
dCB0aGUgZmlyc3QgYXZhaWxhYmxlCi0gICAgICAgIC8vIGRldmljZSBvZiB0aGUgYXBwcm9wcmlh
dGUgdHlwZS4KLSAgICAgICAgaWYgKHR5cGUgPT0gUmVhbHRpbWVNZWRpYVNvdXJjZTo6QXVkaW8g
JiYgIWRldmljZXNbaV0ubV9hdWRpb1NvdXJjZUlkLmlzRW1wdHkoKSkgewotICAgICAgICAgICAg
aWYgKCFkZXZpY2VzW2ldLm1fYXVkaW9Tb3VyY2UpIHsKLSAgICAgICAgICAgICAgICBBVkNhcHR1
cmVEZXZpY2VUeXBlICpkZXZpY2UgPSBbQVZDYXB0dXJlRGV2aWNlIGRldmljZVdpdGhVbmlxdWVJ
RDpkZXZpY2VzW2ldLm1fY2FwdHVyZURldmljZUlEXTsKKyAgICAgICAgaWYgKHR5cGUgPT0gUmVh
bHRpbWVNZWRpYVNvdXJjZTo6QXVkaW8gJiYgIWNhcHR1cmVEZXZpY2UubV9hdWRpb1NvdXJjZUlk
LmlzRW1wdHkoKSkgeworICAgICAgICAgICAgaWYgKCFjYXB0dXJlRGV2aWNlLm1fYXVkaW9Tb3Vy
Y2UpIHsKKyAgICAgICAgICAgICAgICBBVkNhcHR1cmVEZXZpY2VUeXBlICpkZXZpY2UgPSBbQVZD
YXB0dXJlRGV2aWNlIGRldmljZVdpdGhVbmlxdWVJRDpjYXB0dXJlRGV2aWNlLm1fY2FwdHVyZURl
dmljZUlEXTsKICAgICAgICAgICAgICAgICBBU1NFUlQoZGV2aWNlKTsKLSAgICAgICAgICAgICAg
ICBkZXZpY2VzW2ldLm1fYXVkaW9Tb3VyY2UgPSBBVkF1ZGlvQ2FwdHVyZVNvdXJjZTo6Y3JlYXRl
KGRldmljZSwgZGV2aWNlc1tpXS5tX2F1ZGlvU291cmNlSWQsIGNvbnN0cmFpbnRzKTsKKyAgICAg
ICAgICAgICAgICBjYXB0dXJlRGV2aWNlLm1fYXVkaW9Tb3VyY2UgPSBBVkF1ZGlvQ2FwdHVyZVNv
dXJjZTo6Y3JlYXRlKGRldmljZSwgY2FwdHVyZURldmljZS5tX2F1ZGlvU291cmNlSWQsIGNvbnN0
cmFpbnRzKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiBkZXZpY2VzW2ldLm1f
YXVkaW9Tb3VyY2U7CisgICAgICAgICAgICBiZXN0U291cmNlc0xpc3QuYXBwZW5kKGNhcHR1cmVE
ZXZpY2UubV9hdWRpb1NvdXJjZSk7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAodHlwZSA9PSBS
ZWFsdGltZU1lZGlhU291cmNlOjpWaWRlbyAmJiAhZGV2aWNlc1tpXS5tX3ZpZGVvU291cmNlSWQu
aXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBpZiAoIWRldmljZXNbaV0ubV92aWRlb1NvdXJjZSkg
ewotICAgICAgICAgICAgICAgIEFWQ2FwdHVyZURldmljZVR5cGUgKmRldmljZSA9IFtBVkNhcHR1
cmVEZXZpY2UgZGV2aWNlV2l0aFVuaXF1ZUlEOmRldmljZXNbaV0ubV9jYXB0dXJlRGV2aWNlSURd
OworICAgICAgICBpZiAodHlwZSA9PSBSZWFsdGltZU1lZGlhU291cmNlOjpWaWRlbyAmJiAhY2Fw
dHVyZURldmljZS5tX3ZpZGVvU291cmNlSWQuaXNFbXB0eSgpKSB7CisgICAgICAgICAgICBpZiAo
IWNhcHR1cmVEZXZpY2UubV92aWRlb1NvdXJjZSkgeworICAgICAgICAgICAgICAgIEFWQ2FwdHVy
ZURldmljZVR5cGUgKmRldmljZSA9IFtBVkNhcHR1cmVEZXZpY2UgZGV2aWNlV2l0aFVuaXF1ZUlE
OmNhcHR1cmVEZXZpY2UubV9jYXB0dXJlRGV2aWNlSURdOwogICAgICAgICAgICAgICAgIEFTU0VS
VChkZXZpY2UpOwotICAgICAgICAgICAgICAgIGRldmljZXNbaV0ubV92aWRlb1NvdXJjZSA9IEFW
VmlkZW9DYXB0dXJlU291cmNlOjpjcmVhdGUoZGV2aWNlLCBkZXZpY2VzW2ldLm1fdmlkZW9Tb3Vy
Y2VJZCwgY29uc3RyYWludHMpOworICAgICAgICAgICAgICAgIGNhcHR1cmVEZXZpY2UubV92aWRl
b1NvdXJjZSA9IEFWVmlkZW9DYXB0dXJlU291cmNlOjpjcmVhdGUoZGV2aWNlLCBjYXB0dXJlRGV2
aWNlLm1fdmlkZW9Tb3VyY2VJZCwgY29uc3RyYWludHMpOwogICAgICAgICAgICAgfQotICAgICAg
ICAgICAgcmV0dXJuIGRldmljZXNbaV0ubV92aWRlb1NvdXJjZTsKKyAgICAgICAgICAgIGJlc3RT
b3VyY2VzTGlzdC5hcHBlbmQoY2FwdHVyZURldmljZS5tX3ZpZGVvU291cmNlKTsKICAgICAgICAg
fQogICAgIH0KIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBiZXN0U291cmNlc0xpc3Q7CiB9
CiAKIHZvaWQgQVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6cmVnaXN0ZXJGb3JEZXZpY2VOb3RpZmlj
YXRpb25zKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcApp
bmRleCA0NTA0MjRkZjdkNDg3NmNiM2ZkYTkzYWY4ZjZiYzhiYTM4NjRjMDRmLi5mNmQwYjQxYTMw
YTllNWYwNDQ4Y2NlYzllNmNkNThlNWZhMjdmOTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwCkBAIC03OSw4ICs3OSw5IEBAIHZvaWQgUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlck1hYzo6dmFsaWRhdGVSZXF1ZXN0Q29uc3RyYWludHMoUGFzc1JlZlB0
cjxNZWRpYVN0CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9Ci0KLSAgICBj
bGllbnQtPmNvbnN0cmFpbnRzVmFsaWRhdGVkKCk7CisgICAgVmVjdG9yPFJlZlB0cjxSZWFsdGlt
ZU1lZGlhU291cmNlPj4gYmVzdFZpZGVvU291cmNlcyA9IEFWQ2FwdHVyZURldmljZU1hbmFnZXI6
OnNpbmdsZXRvbigpLmJlc3RTb3VyY2VzRm9yVHlwZUFuZENvbnN0cmFpbnRzKFJlYWx0aW1lTWVk
aWFTb3VyY2U6OlR5cGU6OlZpZGVvLCB2aWRlb0NvbnN0cmFpbnRzKTsKKyAgICBWZWN0b3I8UmVm
UHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiBiZXN0QXVkaW9Tb3VyY2VzID0gQVZDYXB0dXJlRGV2
aWNlTWFuYWdlcjo6c2luZ2xldG9uKCkuYmVzdFNvdXJjZXNGb3JUeXBlQW5kQ29uc3RyYWludHMo
UmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZTo6QXVkaW8sIGF1ZGlvQ29uc3RyYWludHMpOworICAg
IGNsaWVudC0+Y29uc3RyYWludHNWYWxpZGF0ZWQoYmVzdFZpZGVvU291cmNlcywgYmVzdEF1ZGlv
U291cmNlcyk7CiB9CiAgICAgCiB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJNYWM6OmNy
ZWF0ZU1lZGlhU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudD4gcHJw
UXVlcnlDbGllbnQsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gYXVkaW9Db25zdHJhaW50
cywgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiB2aWRlb0NvbnN0cmFpbnRzKQpAQCAtOTks
OCArMTAwLDkgQEAgdm9pZCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpjcmVhdGVNZWRp
YVN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQ3JlYXQKICAgICAgICAgICAgIGNsaWVudC0+
ZmFpbGVkVG9DcmVhdGVTdHJlYW1XaXRoQ29uc3RyYWludHNFcnJvcihpbnZhbGlkQ29uc3RyYWlu
dCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIFJl
ZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBhdWRpb1NvdXJjZSA9IEFWQ2FwdHVyZURldmljZU1h
bmFnZXI6OnNpbmdsZXRvbigpLmJlc3RTb3VyY2VGb3JUeXBlQW5kQ29uc3RyYWludHMoUmVhbHRp
bWVNZWRpYVNvdXJjZTo6QXVkaW8sIGF1ZGlvQ29uc3RyYWludHMuZ2V0KCkpOworICAgICAgICAv
LyBGSVhNRTogQ29uc2lkZXIgdGhlIGNvbnN0cmFpbnRzIHdoZW4gY2hvb3NpbmcgYW1vbmcgbXVs
dGlwbGUgZGV2aWNlcy4gRm9yIG5vdyBqdXN0IHNlbGVjdCB0aGUgZmlyc3QgYXZhaWxhYmxlCisg
ICAgICAgIC8vIGRldmljZSBvZiB0aGUgYXBwcm9wcmlhdGUgdHlwZS4KKyAgICAgICAgUmVmUHRy
PFJlYWx0aW1lTWVkaWFTb3VyY2U+IGF1ZGlvU291cmNlID0gQVZDYXB0dXJlRGV2aWNlTWFuYWdl
cjo6c2luZ2xldG9uKCkuYmVzdFNvdXJjZXNGb3JUeXBlQW5kQ29uc3RyYWludHMoUmVhbHRpbWVN
ZWRpYVNvdXJjZTo6QXVkaW8sIGF1ZGlvQ29uc3RyYWludHMuZ2V0KCkpLmF0KDApOwogICAgICAg
ICBBU1NFUlQoYXVkaW9Tb3VyY2UpOwogICAgICAgICAKICAgICAgICAgYXVkaW9Tb3VyY2VzLmFw
cGVuZChhdWRpb1NvdXJjZS5yZWxlYXNlKCkpOwpAQCAtMTEzLDggKzExNSw5IEBAIHZvaWQgUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYzo6Y3JlYXRlTWVkaWFTdHJlYW0oUGFzc1JlZlB0cjxN
ZWRpYVN0cmVhbUNyZWF0CiAgICAgICAgICAgICBjbGllbnQtPmZhaWxlZFRvQ3JlYXRlU3RyZWFt
V2l0aENvbnN0cmFpbnRzRXJyb3IoaW52YWxpZENvbnN0cmFpbnQpOwogICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICB9Ci0gICAgICAgIAotICAgICAgICBSZWZQdHI8UmVhbHRpbWVNZWRpYVNv
dXJjZT4gdmlkZW9Tb3VyY2UgPSBBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpzaW5nbGV0b24oKS5i
ZXN0U291cmNlRm9yVHlwZUFuZENvbnN0cmFpbnRzKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlZpZGVv
LCB2aWRlb0NvbnN0cmFpbnRzLmdldCgpKTsKKyAgICAgICAgLy8gRklYTUU6IENvbnNpZGVyIHRo
ZSBjb25zdHJhaW50cyB3aGVuIGNob29zaW5nIGFtb25nIG11bHRpcGxlIGRldmljZXMuIEZvciBu
b3cganVzdCBzZWxlY3QgdGhlIGZpcnN0IGF2YWlsYWJsZQorICAgICAgICAvLyBkZXZpY2Ugb2Yg
dGhlIGFwcHJvcHJpYXRlIHR5cGUuCisgICAgICAgIFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNl
PiB2aWRlb1NvdXJjZSA9IEFWQ2FwdHVyZURldmljZU1hbmFnZXI6OnNpbmdsZXRvbigpLmJlc3RT
b3VyY2VzRm9yVHlwZUFuZENvbnN0cmFpbnRzKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlZpZGVvLCB2
aWRlb0NvbnN0cmFpbnRzLmdldCgpKS5hdCgwKTsKICAgICAgICAgQVNTRVJUKHZpZGVvU291cmNl
KTsKICAgICAgICAgCiAgICAgICAgIHZpZGVvU291cmNlcy5hcHBlbmQodmlkZW9Tb3VyY2UucmVs
ZWFzZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1Jl
YWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9j
ay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAKaW5kZXggODNlODcyM2RjNzcyYjBk
OGI0NGQyYTljNDVlZTg0YTlkNTQ5NzZiOS4uOGZjNzY1ZmM4ZjExM2I1MTZmNzc4MTU1YzUwZTY1
YWU1OGQwN2E5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2Nr
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAKQEAgLTE0OSw3ICsxNDks
NyBAQCB2b2lkIE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjp2YWxpZGF0ZVJlcXVlc3RD
b25zdHJhaW50cyhQYXNzUmVmUHRyPE1lZGlhUwogICAgICAgICB9CiAgICAgfQogCi0gICAgY2xp
ZW50LT5jb25zdHJhaW50c1ZhbGlkYXRlZCgpOworICAgIGNsaWVudC0+Y29uc3RyYWludHNWYWxp
ZGF0ZWQoVmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4oKSwgVmVjdG9yPFJlZlB0
cjxSZWFsdGltZU1lZGlhU291cmNlPj4oKSk7CiB9CiAKIHZvaWQgTW9ja1JlYWx0aW1lTWVkaWFT
b3VyY2VDZW50ZXI6OmNyZWF0ZU1lZGlhU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1DcmVh
dGlvbkNsaWVudD4gcHJwUXVlcnlDbGllbnQsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4g
YXVkaW9Db25zdHJhaW50cywgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiB2aWRlb0NvbnN0
cmFpbnRzKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257231</attachid>
            <date>2015-07-21 18:06:22 -0700</date>
            <delta_ts>2015-07-21 18:46:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147171-20150721180508.patch</filename>
            <type>text/plain</type>
            <size>13702</size>
            <attacher name="Matthew Daiter">mdaiter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MTQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2YxMGVlOTEyOWVhOTQ0
ZGZmZGEwMGE3NmE2N2ZmYmJiYzhkZGEzZC4uMjk3NjgzMDk5MWYyYjE2OGMwYjZhZmI2MWEyMWEz
MzUwMzI2ZDVjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI5IEBACiAyMDE1LTA3LTIxICBNYXR0
aGV3IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgogCisgICAgICAgIE5lZWQgdGhlIGFiaWxp
dHkgdG8gZ2l2ZSBvbmx5IGJlc3Qgc291cmNlIFVJRHMgdG8gVXNlck1lZGlhIHJlcXVlc3QKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzE3MQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMjE5MzExMjE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJl
cXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1lZGlhUmVxdWVzdDo6Y29uc3RyYWlu
dHNWYWxpZGF0ZWQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVx
dWVzdC5oOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1lZGlhUmVxdWVzdDo6dmlkZW9EZXZpY2VV
SURzKToKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJNZWRpYVJlcXVlc3Q6OmF1ZGlvRGV2aWNlVUlE
cyk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1DcmVhdGlvbkNs
aWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZp
Y2VNYW5hZ2VyLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVy
ZURldmljZU1hbmFnZXIubW06CisgICAgICAgIChXZWJDb3JlOjpBVkNhcHR1cmVEZXZpY2VNYW5h
Z2VyOjpiZXN0U291cmNlc0ZvclR5cGVBbmRDb25zdHJhaW50cyk6CisgICAgICAgIChXZWJDb3Jl
OjpBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpiZXN0U291cmNlRm9yVHlwZUFuZENvbnN0cmFpbnRz
KTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlck1hYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyTWFjOjp2YWxpZGF0ZVJlcXVlc3RDb25zdHJhaW50cyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpjcmVhdGVNZWRpYVN0cmVhbSk6
CisgICAgICAgICogcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6dmFs
aWRhdGVSZXF1ZXN0Q29uc3RyYWludHMpOgorCisyMDE1LTA3LTIxICBNYXR0aGV3IERhaXRlciAg
PG1kYWl0ZXJAYXBwbGUuY29tPgorCiAgICAgICAgIEV4cG9zZWQgbWV0aG9kIHRvIHF1ZXJ5IGRl
dmljZSBieSBVSUQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0NzExNwogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjE5MDQ2Nzg+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNw
cAppbmRleCAyZGUyNTlhMWI2NjRiYTkyYzUxMDc4ODZjYWQ0NjA4NGI3OWMzOTA5Li4yZGYwMGQz
YjI1YzY3ZWY0YjQxMzEzZDVhYjdjMmNjZGE1ZTU0YzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHAKQEAgLTEy
MSw4ICsxMjEsMTIgQEAgdm9pZCBVc2VyTWVkaWFSZXF1ZXN0OjpzdGFydCgpCiAgICAgUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkudmFsaWRhdGVSZXF1ZXN0Q29uc3RyYWlu
dHModGhpcywgbV9hdWRpb0NvbnN0cmFpbnRzLCBtX3ZpZGVvQ29uc3RyYWludHMpOwogfQogCi12
b2lkIFVzZXJNZWRpYVJlcXVlc3Q6OmNvbnN0cmFpbnRzVmFsaWRhdGVkKCkKK3ZvaWQgVXNlck1l
ZGlhUmVxdWVzdDo6Y29uc3RyYWludHNWYWxpZGF0ZWQoY29uc3QgVmVjdG9yPFJlZlB0cjxSZWFs
dGltZU1lZGlhU291cmNlPj4mIHZpZGVvVHJhY2tzLCBjb25zdCBWZWN0b3I8UmVmUHRyPFJlYWx0
aW1lTWVkaWFTb3VyY2U+PiYgYXVkaW9UcmFja3MpCiB7CisgICAgZm9yIChhdXRvJiBhdWRpb1Ry
YWNrIDogYXVkaW9UcmFja3MpCisgICAgICAgIG1fYXVkaW9EZXZpY2VVSURzLmFwcGVuZChhdWRp
b1RyYWNrLT5pZCgpKTsKKyAgICBmb3IgKGF1dG8mIHZpZGVvVHJhY2sgOiB2aWRlb1RyYWNrcykK
KyAgICAgICAgbV92aWRlb0RldmljZVVJRHMuYXBwZW5kKHZpZGVvVHJhY2stPmlkKCkpOwogICAg
IFJlZlB0cjxVc2VyTWVkaWFSZXF1ZXN0PiBwcm90ZWN0ZWRUaGlzKHRoaXMpOwogICAgIGNhbGxP
bk1haW5UaHJlYWQoW3Byb3RlY3RlZFRoaXNdIHsKICAgICAgICAgLy8gMiAtIFRoZSBjb25zdHJh
aW50cyBhcmUgdmFsaWQsIGFzayB0aGUgdXNlciBmb3IgYWNjZXNzIHRvIG1lZGlhLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3Qu
aAppbmRleCAwZDBkNDRhOGZjNTM3YmNmM2EzODcyYmQwMWZkNzNkZjA5NjBiNzUxLi4wOTllMTRm
OWZmOGE4YjM2MzFhOGEyY2IyNGNlZTRmN2RhNTQzYzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaApAQCAtNjksMTIg
KzY5LDE1IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgcmVxdWlyZXNBdWRpbygpIGNvbnN0IHsgcmV0
dXJuIG1fYXVkaW9Db25zdHJhaW50czsgfQogICAgIGJvb2wgcmVxdWlyZXNWaWRlbygpIGNvbnN0
IHsgcmV0dXJuIG1fdmlkZW9Db25zdHJhaW50czsgfQorICAgIAorICAgIGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiB2aWRlb0RldmljZVVJRHMoKSBjb25zdCB7IHJldHVybiBtX3ZpZGVvRGV2aWNlVUlE
czsgfQorICAgIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBhdWRpb0RldmljZVVJRHMoKSBjb25zdCB7
IHJldHVybiBtX2F1ZGlvRGV2aWNlVUlEczsgfQogCiBwcml2YXRlOgogICAgIFVzZXJNZWRpYVJl
cXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFVzZXJNZWRpYUNvbnRyb2xsZXIqLCBQYXNz
UmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGF1ZGlvQ29uc3RyYWludHMsIFBhc3NSZWZQdHI8TWVk
aWFDb25zdHJhaW50cz4gdmlkZW9Db25zdHJhaW50cywgTWVkaWFEZXZpY2VzOjpQcm9taXNlJiYp
OwogCiAgICAgLy8gTWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudAotICAgIHZpcnR1YWwgdm9pZCBj
b25zdHJhaW50c1ZhbGlkYXRlZCgpIG92ZXJyaWRlIGZpbmFsOworICAgIHZpcnR1YWwgdm9pZCBj
b25zdHJhaW50c1ZhbGlkYXRlZChjb25zdCBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3Vy
Y2U+PiYsIGNvbnN0IFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+Jikgb3ZlcnJp
ZGUgZmluYWw7CiAgICAgdmlydHVhbCB2b2lkIGNvbnN0cmFpbnRzSW52YWxpZChjb25zdCBTdHJp
bmcmIGNvbnN0cmFpbnROYW1lKSBvdmVycmlkZSBmaW5hbDsKICAgICB2aXJ0dWFsIHZvaWQgZGlk
Q3JlYXRlU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1Qcml2YXRlPikgb3ZlcnJpZGUgZmlu
YWw7CiAgICAgdmlydHVhbCB2b2lkIGZhaWxlZFRvQ3JlYXRlU3RyZWFtV2l0aENvbnN0cmFpbnRz
RXJyb3IoY29uc3QgU3RyaW5nJiBjb25zdHJhaW50TmFtZSkgb3ZlcnJpZGUgZmluYWw7CkBAIC04
Niw2ICs4OSw5IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IG1fYXVk
aW9Db25zdHJhaW50czsKICAgICBSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gbV92aWRlb0NvbnN0
cmFpbnRzOwogCisgICAgVmVjdG9yPFN0cmluZz4gbV92aWRlb0RldmljZVVJRHM7CisgICAgVmVj
dG9yPFN0cmluZz4gbV9hdWRpb0RldmljZVVJRHM7CisgICAgCiAgICAgVXNlck1lZGlhQ29udHJv
bGxlciogbV9jb250cm9sbGVyOwogCiAgICAgTWVkaWFEZXZpY2VzOjpQcm9taXNlIG1fcHJvbWlz
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlh
U3RyZWFtQ3JlYXRpb25DbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQuaAppbmRleCBjMDkwMmVkZWJjOWFiYWIyOGUy
ZjQ3YTM2MTlmNWE1ODE0YTYxNGU4Li4wNDRkNjBiMjI3MjQyOTg2NTYwZjY2OTQ0ZjZhNGI0NjVj
ZWQzYWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudC5oCkBAIC0zOCw3ICszOCw3IEBA
IGNsYXNzIE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRp
YVN0cmVhbUNyZWF0aW9uQ2xpZW50PiB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+TWVkaWFTdHJl
YW1DcmVhdGlvbkNsaWVudCgpIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIGNvbnN0cmFpbnRzVmFs
aWRhdGVkKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBjb25zdHJhaW50c1ZhbGlkYXRlZChjb25z
dCBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiYgdmlkZW9UcmFja3MsIGNvbnN0
IFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+JiBhdWRpb1RyYWNrcykgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBjb25zdHJhaW50c0ludmFsaWQoY29uc3QgU3RyaW5nJiBjb25zdHJh
aW50TmFtZSkgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZVN0cmVhbShQYXNzUmVm
UHRyPE1lZGlhU3RyZWFtUHJpdmF0ZT4pID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdl
ci5oCmluZGV4IGViY2M2MGVjMTNjY2FlZDA5ODMzOTA1OGYxYmZiMWMyZGEwNjgwNTguLjcxNDY0
ZTkwNDM2ZGVmYjViYjljYjY1MTZlYmZmZTY5NDcwMDUyZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURl
dmljZU1hbmFnZXIuaApAQCAtNDksNyArNDksNyBAQCBwdWJsaWM6CiAKICAgICBWZWN0b3I8UmVm
UHRyPFRyYWNrU291cmNlSW5mbz4+IGdldFNvdXJjZXNJbmZvKGNvbnN0IFN0cmluZyYpOwogICAg
IGJvb2wgdmVyaWZ5Q29uc3RyYWludHNGb3JNZWRpYVR5cGUoUmVhbHRpbWVNZWRpYVNvdXJjZTo6
VHlwZSwgTWVkaWFDb25zdHJhaW50cyosIFN0cmluZyYpOwotICAgIFJlZlB0cjxSZWFsdGltZU1l
ZGlhU291cmNlPiBiZXN0U291cmNlRm9yVHlwZUFuZENvbnN0cmFpbnRzKFJlYWx0aW1lTWVkaWFT
b3VyY2U6OlR5cGUsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4pOworICAgIFZlY3RvcjxS
ZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IGJlc3RTb3VyY2VzRm9yVHlwZUFuZENvbnN0cmFp
bnRzKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50
cz4pOwogICAgIFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBzb3VyY2VXaXRoVUlEKFN0cmlu
ZyYsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUsIE1lZGlhQ29uc3RyYWludHMqKTsKIAogICAg
IGVudW0gVmFsaWRDb25zdHJhaW50cyB7IFdpZHRoID0gMCwgSGVpZ2h0LCBGcmFtZVJhdGUsIEZh
Y2luZ01vZGUsIEdhaW4gfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFnZXIubW0KaW5kZXgg
NTU1ZWE2Yjc5MTM2NmM4NWY4OTI0YzViZmRiZTQ0ODE3ODVlYzkzYy4uZDBkNTVhY2I2MGUyYmQz
NTIxZmZhNzdjOWUyNzBmZTY0YmNhZjdmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFnZXIubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFn
ZXIubW0KQEAgLTM3OCwzOSArMzc4LDM5IEBAIGJvb2wgQVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6
dmVyaWZ5Q29uc3RyYWludHNGb3JNZWRpYVR5cGUoUmVhbHRpbWVNZWRpYVNvdXJjZTo6CiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKLVJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBBVkNhcHR1cmVE
ZXZpY2VNYW5hZ2VyOjpiZXN0U291cmNlRm9yVHlwZUFuZENvbnN0cmFpbnRzKFJlYWx0aW1lTWVk
aWFTb3VyY2U6OlR5cGUgdHlwZSwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBjb25zdHJh
aW50cykKK1ZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IEFWQ2FwdHVyZURldmlj
ZU1hbmFnZXI6OmJlc3RTb3VyY2VzRm9yVHlwZUFuZENvbnN0cmFpbnRzKFJlYWx0aW1lTWVkaWFT
b3VyY2U6OlR5cGUgdHlwZSwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBjb25zdHJhaW50
cykKIHsKKyAgICBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiBiZXN0U291cmNl
c0xpc3Q7CisgICAgCiAgICAgaWYgKCFpc0F2YWlsYWJsZSgpKQotICAgICAgICByZXR1cm4gMDsK
KyAgICAgICAgcmV0dXJuIGJlc3RTb3VyY2VzTGlzdDsKIAotICAgIFZlY3RvcjxDYXB0dXJlRGV2
aWNlPiYgZGV2aWNlcyA9IGNhcHR1cmVEZXZpY2VMaXN0KCk7Ci0gICAgc2l6ZV90IGNvdW50ID0g
ZGV2aWNlcy5zaXplKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7
Ci0gICAgICAgIGlmICghZGV2aWNlc1tpXS5tX2VuYWJsZWQpCisgICAgZm9yIChhdXRvJiBjYXB0
dXJlRGV2aWNlIDogY2FwdHVyZURldmljZUxpc3QoKSkgeworICAgICAgICBpZiAoIWNhcHR1cmVE
ZXZpY2UubV9lbmFibGVkKQogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgLy8gRklY
TUU6IGNvbnNpZGVyIHRoZSBjb25zdHJhaW50cyB3aGVuIGNob29zaW5nIGFtb25nIG11bHRpcGxl
IGRldmljZXMuIEZvciBub3cganVzdCBzZWxlY3QgdGhlIGZpcnN0IGF2YWlsYWJsZQogICAgICAg
ICAvLyBkZXZpY2Ugb2YgdGhlIGFwcHJvcHJpYXRlIHR5cGUuCi0gICAgICAgIGlmICh0eXBlID09
IFJlYWx0aW1lTWVkaWFTb3VyY2U6OkF1ZGlvICYmICFkZXZpY2VzW2ldLm1fYXVkaW9Tb3VyY2VJ
ZC5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIGlmICghZGV2aWNlc1tpXS5tX2F1ZGlvU291cmNl
KSB7Ci0gICAgICAgICAgICAgICAgQVZDYXB0dXJlRGV2aWNlVHlwZSAqZGV2aWNlID0gW0FWQ2Fw
dHVyZURldmljZSBkZXZpY2VXaXRoVW5pcXVlSUQ6ZGV2aWNlc1tpXS5tX2NhcHR1cmVEZXZpY2VJ
RF07CisgICAgICAgIGlmICh0eXBlID09IFJlYWx0aW1lTWVkaWFTb3VyY2U6OkF1ZGlvICYmICFj
YXB0dXJlRGV2aWNlLm1fYXVkaW9Tb3VyY2VJZC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIGlm
ICghY2FwdHVyZURldmljZS5tX2F1ZGlvU291cmNlKSB7CisgICAgICAgICAgICAgICAgQVZDYXB0
dXJlRGV2aWNlVHlwZSAqZGV2aWNlID0gW0FWQ2FwdHVyZURldmljZSBkZXZpY2VXaXRoVW5pcXVl
SUQ6Y2FwdHVyZURldmljZS5tX2NhcHR1cmVEZXZpY2VJRF07CiAgICAgICAgICAgICAgICAgQVNT
RVJUKGRldmljZSk7Ci0gICAgICAgICAgICAgICAgZGV2aWNlc1tpXS5tX2F1ZGlvU291cmNlID0g
QVZBdWRpb0NhcHR1cmVTb3VyY2U6OmNyZWF0ZShkZXZpY2UsIGRldmljZXNbaV0ubV9hdWRpb1Nv
dXJjZUlkLCBjb25zdHJhaW50cyk7CisgICAgICAgICAgICAgICAgY2FwdHVyZURldmljZS5tX2F1
ZGlvU291cmNlID0gQVZBdWRpb0NhcHR1cmVTb3VyY2U6OmNyZWF0ZShkZXZpY2UsIGNhcHR1cmVE
ZXZpY2UubV9hdWRpb1NvdXJjZUlkLCBjb25zdHJhaW50cyk7CiAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICByZXR1cm4gZGV2aWNlc1tpXS5tX2F1ZGlvU291cmNlOworICAgICAgICAgICAgYmVz
dFNvdXJjZXNMaXN0LmFwcGVuZChjYXB0dXJlRGV2aWNlLm1fYXVkaW9Tb3VyY2UpOwogICAgICAg
ICB9CiAKLSAgICAgICAgaWYgKHR5cGUgPT0gUmVhbHRpbWVNZWRpYVNvdXJjZTo6VmlkZW8gJiYg
IWRldmljZXNbaV0ubV92aWRlb1NvdXJjZUlkLmlzRW1wdHkoKSkgewotICAgICAgICAgICAgaWYg
KCFkZXZpY2VzW2ldLm1fdmlkZW9Tb3VyY2UpIHsKLSAgICAgICAgICAgICAgICBBVkNhcHR1cmVE
ZXZpY2VUeXBlICpkZXZpY2UgPSBbQVZDYXB0dXJlRGV2aWNlIGRldmljZVdpdGhVbmlxdWVJRDpk
ZXZpY2VzW2ldLm1fY2FwdHVyZURldmljZUlEXTsKKyAgICAgICAgaWYgKHR5cGUgPT0gUmVhbHRp
bWVNZWRpYVNvdXJjZTo6VmlkZW8gJiYgIWNhcHR1cmVEZXZpY2UubV92aWRlb1NvdXJjZUlkLmlz
RW1wdHkoKSkgeworICAgICAgICAgICAgaWYgKCFjYXB0dXJlRGV2aWNlLm1fdmlkZW9Tb3VyY2Up
IHsKKyAgICAgICAgICAgICAgICBBVkNhcHR1cmVEZXZpY2VUeXBlICpkZXZpY2UgPSBbQVZDYXB0
dXJlRGV2aWNlIGRldmljZVdpdGhVbmlxdWVJRDpjYXB0dXJlRGV2aWNlLm1fY2FwdHVyZURldmlj
ZUlEXTsKICAgICAgICAgICAgICAgICBBU1NFUlQoZGV2aWNlKTsKLSAgICAgICAgICAgICAgICBk
ZXZpY2VzW2ldLm1fdmlkZW9Tb3VyY2UgPSBBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6Y3JlYXRlKGRl
dmljZSwgZGV2aWNlc1tpXS5tX3ZpZGVvU291cmNlSWQsIGNvbnN0cmFpbnRzKTsKKyAgICAgICAg
ICAgICAgICBjYXB0dXJlRGV2aWNlLm1fdmlkZW9Tb3VyY2UgPSBBVlZpZGVvQ2FwdHVyZVNvdXJj
ZTo6Y3JlYXRlKGRldmljZSwgY2FwdHVyZURldmljZS5tX3ZpZGVvU291cmNlSWQsIGNvbnN0cmFp
bnRzKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiBkZXZpY2VzW2ldLm1fdmlk
ZW9Tb3VyY2U7CisgICAgICAgICAgICBiZXN0U291cmNlc0xpc3QuYXBwZW5kKGNhcHR1cmVEZXZp
Y2UubV92aWRlb1NvdXJjZSk7CiAgICAgICAgIH0KICAgICB9CiAKLSAgICByZXR1cm4gMDsKKyAg
ICByZXR1cm4gYmVzdFNvdXJjZXNMaXN0OwogfQogCiBSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJj
ZT4gQVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6c291cmNlV2l0aFVJRChTdHJpbmcgJmRldmljZVVJ
RCwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSB0eXBlLCBNZWRpYUNvbnN0cmFpbnRzKiBjb25z
dHJhaW50cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcApp
bmRleCA0NTA0MjRkZjdkNDg3NmNiM2ZkYTkzYWY4ZjZiYzhiYTM4NjRjMDRmLi41YWU4NzZmMGY0
NDkwNzgzMzUwMTMwZGVjODg1YjY1ODZmZWU4MDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwCkBAIC03OSwxMCArNzksMTEgQEAgdm9pZCBSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyTWFjOjp2YWxpZGF0ZVJlcXVlc3RDb25zdHJhaW50cyhQYXNzUmVm
UHRyPE1lZGlhU3QKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KLQotICAg
IGNsaWVudC0+Y29uc3RyYWludHNWYWxpZGF0ZWQoKTsKKyAgICBWZWN0b3I8UmVmUHRyPFJlYWx0
aW1lTWVkaWFTb3VyY2U+PiBiZXN0VmlkZW9Tb3VyY2VzID0gQVZDYXB0dXJlRGV2aWNlTWFuYWdl
cjo6c2luZ2xldG9uKCkuYmVzdFNvdXJjZXNGb3JUeXBlQW5kQ29uc3RyYWludHMoUmVhbHRpbWVN
ZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW8sIHZpZGVvQ29uc3RyYWludHMpOworICAgIFZlY3RvcjxS
ZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IGJlc3RBdWRpb1NvdXJjZXMgPSBBVkNhcHR1cmVE
ZXZpY2VNYW5hZ2VyOjpzaW5nbGV0b24oKS5iZXN0U291cmNlc0ZvclR5cGVBbmRDb25zdHJhaW50
cyhSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbywgYXVkaW9Db25zdHJhaW50cyk7Cisg
ICAgY2xpZW50LT5jb25zdHJhaW50c1ZhbGlkYXRlZChiZXN0VmlkZW9Tb3VyY2VzLCBiZXN0QXVk
aW9Tb3VyY2VzKTsKIH0KLSAgICAKKwogdm9pZCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFj
OjpjcmVhdGVNZWRpYVN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQ+
IHBycFF1ZXJ5Q2xpZW50LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGF1ZGlvQ29uc3Ry
YWludHMsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gdmlkZW9Db25zdHJhaW50cykKIHsK
ICAgICBSZWZQdHI8TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudD4gY2xpZW50ID0gcHJwUXVlcnlD
bGllbnQ7CkBAIC05OSw4ICsxMDAsOSBAQCB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJN
YWM6OmNyZWF0ZU1lZGlhU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1DcmVhdAogICAgICAg
ICAgICAgY2xpZW50LT5mYWlsZWRUb0NyZWF0ZVN0cmVhbVdpdGhDb25zdHJhaW50c0Vycm9yKGlu
dmFsaWRDb25zdHJhaW50KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgICAg
ICAKLSAgICAgICAgUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IGF1ZGlvU291cmNlID0gQVZD
YXB0dXJlRGV2aWNlTWFuYWdlcjo6c2luZ2xldG9uKCkuYmVzdFNvdXJjZUZvclR5cGVBbmRDb25z
dHJhaW50cyhSZWFsdGltZU1lZGlhU291cmNlOjpBdWRpbywgYXVkaW9Db25zdHJhaW50cy5nZXQo
KSk7CisgICAgICAgIC8vIEZJWE1FOiBDb25zaWRlciB0aGUgY29uc3RyYWludHMgd2hlbiBjaG9v
c2luZyBhbW9uZyBtdWx0aXBsZSBkZXZpY2VzLiBGb3Igbm93IGp1c3Qgc2VsZWN0IHRoZSBmaXJz
dCBhdmFpbGFibGUKKyAgICAgICAgLy8gZGV2aWNlIG9mIHRoZSBhcHByb3ByaWF0ZSB0eXBlLgor
ICAgICAgICBSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4gYXVkaW9Tb3VyY2UgPSBBVkNhcHR1
cmVEZXZpY2VNYW5hZ2VyOjpzaW5nbGV0b24oKS5iZXN0U291cmNlc0ZvclR5cGVBbmRDb25zdHJh
aW50cyhSZWFsdGltZU1lZGlhU291cmNlOjpBdWRpbywgYXVkaW9Db25zdHJhaW50cy5nZXQoKSku
YXQoMCk7CiAgICAgICAgIEFTU0VSVChhdWRpb1NvdXJjZSk7CiAgICAgICAgIAogICAgICAgICBh
dWRpb1NvdXJjZXMuYXBwZW5kKGF1ZGlvU291cmNlLnJlbGVhc2UoKSk7CkBAIC0xMTMsOCArMTE1
LDkgQEAgdm9pZCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpjcmVhdGVNZWRpYVN0cmVh
bShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQ3JlYXQKICAgICAgICAgICAgIGNsaWVudC0+ZmFpbGVk
VG9DcmVhdGVTdHJlYW1XaXRoQ29uc3RyYWludHNFcnJvcihpbnZhbGlkQ29uc3RyYWludCk7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIFJlZlB0cjxS
ZWFsdGltZU1lZGlhU291cmNlPiB2aWRlb1NvdXJjZSA9IEFWQ2FwdHVyZURldmljZU1hbmFnZXI6
OnNpbmdsZXRvbigpLmJlc3RTb3VyY2VGb3JUeXBlQW5kQ29uc3RyYWludHMoUmVhbHRpbWVNZWRp
YVNvdXJjZTo6VmlkZW8sIHZpZGVvQ29uc3RyYWludHMuZ2V0KCkpOworICAgICAgICAvLyBGSVhN
RTogQ29uc2lkZXIgdGhlIGNvbnN0cmFpbnRzIHdoZW4gY2hvb3NpbmcgYW1vbmcgbXVsdGlwbGUg
ZGV2aWNlcy4gRm9yIG5vdyBqdXN0IHNlbGVjdCB0aGUgZmlyc3QgYXZhaWxhYmxlCisgICAgICAg
IC8vIGRldmljZSBvZiB0aGUgYXBwcm9wcmlhdGUgdHlwZS4KKyAgICAgICAgUmVmUHRyPFJlYWx0
aW1lTWVkaWFTb3VyY2U+IHZpZGVvU291cmNlID0gQVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6c2lu
Z2xldG9uKCkuYmVzdFNvdXJjZXNGb3JUeXBlQW5kQ29uc3RyYWludHMoUmVhbHRpbWVNZWRpYVNv
dXJjZTo6VmlkZW8sIHZpZGVvQ29uc3RyYWludHMuZ2V0KCkpLmF0KDApOwogICAgICAgICBBU1NF
UlQodmlkZW9Tb3VyY2UpOwogICAgICAgICAKICAgICAgICAgdmlkZW9Tb3VyY2VzLmFwcGVuZCh2
aWRlb1NvdXJjZS5yZWxlYXNlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcAppbmRleCA4
M2U4NzIzZGM3NzJiMGQ4YjQ0ZDJhOWM0NWVlODRhOWQ1NDk3NmI5Li44ZmM3NjVmYzhmMTEzYjUx
NmY3NzgxNTVjNTBlNjVhZTU4ZDA3YTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyLmNwcApA
QCAtMTQ5LDcgKzE0OSw3IEBAIHZvaWQgTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXI6OnZh
bGlkYXRlUmVxdWVzdENvbnN0cmFpbnRzKFBhc3NSZWZQdHI8TWVkaWFTCiAgICAgICAgIH0KICAg
ICB9CiAKLSAgICBjbGllbnQtPmNvbnN0cmFpbnRzVmFsaWRhdGVkKCk7CisgICAgY2xpZW50LT5j
b25zdHJhaW50c1ZhbGlkYXRlZChWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+Pigp
LCBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PigpKTsKIH0KIAogdm9pZCBNb2Nr
UmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6Y3JlYXRlTWVkaWFTdHJlYW0oUGFzc1JlZlB0cjxN
ZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZW50PiBwcnBRdWVyeUNsaWVudCwgUGFzc1JlZlB0cjxNZWRp
YUNvbnN0cmFpbnRzPiBhdWRpb0NvbnN0cmFpbnRzLCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWlu
dHM+IHZpZGVvQ29uc3RyYWludHMpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257236</attachid>
            <date>2015-07-21 18:46:32 -0700</date>
            <delta_ts>2015-07-22 11:10:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147171-20150721184518.patch</filename>
            <type>text/plain</type>
            <size>14597</size>
            <attacher name="Matthew Daiter">mdaiter</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3MTQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2YxMGVlOTEyOWVhOTQ0
ZGZmZGEwMGE3NmE2N2ZmYmJiYzhkZGEzZC4uMjk3NjgzMDk5MWYyYjE2OGMwYjZhZmI2MWEyMWEz
MzUwMzI2ZDVjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI5IEBACiAyMDE1LTA3LTIxICBNYXR0
aGV3IERhaXRlciAgPG1kYWl0ZXJAYXBwbGUuY29tPgogCisgICAgICAgIE5lZWQgdGhlIGFiaWxp
dHkgdG8gZ2l2ZSBvbmx5IGJlc3Qgc291cmNlIFVJRHMgdG8gVXNlck1lZGlhIHJlcXVlc3QKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NzE3MQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMjE5MzExMjE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJl
cXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1lZGlhUmVxdWVzdDo6Y29uc3RyYWlu
dHNWYWxpZGF0ZWQpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVx
dWVzdC5oOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1lZGlhUmVxdWVzdDo6dmlkZW9EZXZpY2VV
SURzKToKKyAgICAgICAgKFdlYkNvcmU6OlVzZXJNZWRpYVJlcXVlc3Q6OmF1ZGlvRGV2aWNlVUlE
cyk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1DcmVhdGlvbkNs
aWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZp
Y2VNYW5hZ2VyLmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVy
ZURldmljZU1hbmFnZXIubW06CisgICAgICAgIChXZWJDb3JlOjpBVkNhcHR1cmVEZXZpY2VNYW5h
Z2VyOjpiZXN0U291cmNlc0ZvclR5cGVBbmRDb25zdHJhaW50cyk6CisgICAgICAgIChXZWJDb3Jl
OjpBVkNhcHR1cmVEZXZpY2VNYW5hZ2VyOjpiZXN0U291cmNlRm9yVHlwZUFuZENvbnN0cmFpbnRz
KTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlck1hYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlh
U291cmNlQ2VudGVyTWFjOjp2YWxpZGF0ZVJlcXVlc3RDb25zdHJhaW50cyk6CisgICAgICAgIChX
ZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpjcmVhdGVNZWRpYVN0cmVhbSk6
CisgICAgICAgICogcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6dmFs
aWRhdGVSZXF1ZXN0Q29uc3RyYWludHMpOgorCisyMDE1LTA3LTIxICBNYXR0aGV3IERhaXRlciAg
PG1kYWl0ZXJAYXBwbGUuY29tPgorCiAgICAgICAgIEV4cG9zZWQgbWV0aG9kIHRvIHF1ZXJ5IGRl
dmljZSBieSBVSUQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0NzExNwogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjE5MDQ2Nzg+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNw
cAppbmRleCAyZGUyNTlhMWI2NjRiYTkyYzUxMDc4ODZjYWQ0NjA4NGI3OWMzOTA5Li4yZGYwMGQz
YjI1YzY3ZWY0YjQxMzEzZDVhYjdjMmNjZGE1ZTU0YzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHAKQEAgLTEy
MSw4ICsxMjEsMTIgQEAgdm9pZCBVc2VyTWVkaWFSZXF1ZXN0OjpzdGFydCgpCiAgICAgUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlcjo6c2luZ2xldG9uKCkudmFsaWRhdGVSZXF1ZXN0Q29uc3RyYWlu
dHModGhpcywgbV9hdWRpb0NvbnN0cmFpbnRzLCBtX3ZpZGVvQ29uc3RyYWludHMpOwogfQogCi12
b2lkIFVzZXJNZWRpYVJlcXVlc3Q6OmNvbnN0cmFpbnRzVmFsaWRhdGVkKCkKK3ZvaWQgVXNlck1l
ZGlhUmVxdWVzdDo6Y29uc3RyYWludHNWYWxpZGF0ZWQoY29uc3QgVmVjdG9yPFJlZlB0cjxSZWFs
dGltZU1lZGlhU291cmNlPj4mIHZpZGVvVHJhY2tzLCBjb25zdCBWZWN0b3I8UmVmUHRyPFJlYWx0
aW1lTWVkaWFTb3VyY2U+PiYgYXVkaW9UcmFja3MpCiB7CisgICAgZm9yIChhdXRvJiBhdWRpb1Ry
YWNrIDogYXVkaW9UcmFja3MpCisgICAgICAgIG1fYXVkaW9EZXZpY2VVSURzLmFwcGVuZChhdWRp
b1RyYWNrLT5pZCgpKTsKKyAgICBmb3IgKGF1dG8mIHZpZGVvVHJhY2sgOiB2aWRlb1RyYWNrcykK
KyAgICAgICAgbV92aWRlb0RldmljZVVJRHMuYXBwZW5kKHZpZGVvVHJhY2stPmlkKCkpOwogICAg
IFJlZlB0cjxVc2VyTWVkaWFSZXF1ZXN0PiBwcm90ZWN0ZWRUaGlzKHRoaXMpOwogICAgIGNhbGxP
bk1haW5UaHJlYWQoW3Byb3RlY3RlZFRoaXNdIHsKICAgICAgICAgLy8gMiAtIFRoZSBjb25zdHJh
aW50cyBhcmUgdmFsaWQsIGFzayB0aGUgdXNlciBmb3IgYWNjZXNzIHRvIG1lZGlhLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3Qu
aAppbmRleCAwZDBkNDRhOGZjNTM3YmNmM2EzODcyYmQwMWZkNzNkZjA5NjBiNzUxLi4wOTllMTRm
OWZmOGE4YjM2MzFhOGEyY2IyNGNlZTRmN2RhNTQzYzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuaApAQCAtNjksMTIg
KzY5LDE1IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgcmVxdWlyZXNBdWRpbygpIGNvbnN0IHsgcmV0
dXJuIG1fYXVkaW9Db25zdHJhaW50czsgfQogICAgIGJvb2wgcmVxdWlyZXNWaWRlbygpIGNvbnN0
IHsgcmV0dXJuIG1fdmlkZW9Db25zdHJhaW50czsgfQorICAgIAorICAgIGNvbnN0IFZlY3RvcjxT
dHJpbmc+JiB2aWRlb0RldmljZVVJRHMoKSBjb25zdCB7IHJldHVybiBtX3ZpZGVvRGV2aWNlVUlE
czsgfQorICAgIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBhdWRpb0RldmljZVVJRHMoKSBjb25zdCB7
IHJldHVybiBtX2F1ZGlvRGV2aWNlVUlEczsgfQogCiBwcml2YXRlOgogICAgIFVzZXJNZWRpYVJl
cXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFVzZXJNZWRpYUNvbnRyb2xsZXIqLCBQYXNz
UmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGF1ZGlvQ29uc3RyYWludHMsIFBhc3NSZWZQdHI8TWVk
aWFDb25zdHJhaW50cz4gdmlkZW9Db25zdHJhaW50cywgTWVkaWFEZXZpY2VzOjpQcm9taXNlJiYp
OwogCiAgICAgLy8gTWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudAotICAgIHZpcnR1YWwgdm9pZCBj
b25zdHJhaW50c1ZhbGlkYXRlZCgpIG92ZXJyaWRlIGZpbmFsOworICAgIHZpcnR1YWwgdm9pZCBj
b25zdHJhaW50c1ZhbGlkYXRlZChjb25zdCBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3Vy
Y2U+PiYsIGNvbnN0IFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+Jikgb3ZlcnJp
ZGUgZmluYWw7CiAgICAgdmlydHVhbCB2b2lkIGNvbnN0cmFpbnRzSW52YWxpZChjb25zdCBTdHJp
bmcmIGNvbnN0cmFpbnROYW1lKSBvdmVycmlkZSBmaW5hbDsKICAgICB2aXJ0dWFsIHZvaWQgZGlk
Q3JlYXRlU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1Qcml2YXRlPikgb3ZlcnJpZGUgZmlu
YWw7CiAgICAgdmlydHVhbCB2b2lkIGZhaWxlZFRvQ3JlYXRlU3RyZWFtV2l0aENvbnN0cmFpbnRz
RXJyb3IoY29uc3QgU3RyaW5nJiBjb25zdHJhaW50TmFtZSkgb3ZlcnJpZGUgZmluYWw7CkBAIC04
Niw2ICs4OSw5IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IG1fYXVk
aW9Db25zdHJhaW50czsKICAgICBSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gbV92aWRlb0NvbnN0
cmFpbnRzOwogCisgICAgVmVjdG9yPFN0cmluZz4gbV92aWRlb0RldmljZVVJRHM7CisgICAgVmVj
dG9yPFN0cmluZz4gbV9hdWRpb0RldmljZVVJRHM7CisgICAgCiAgICAgVXNlck1lZGlhQ29udHJv
bGxlciogbV9jb250cm9sbGVyOwogCiAgICAgTWVkaWFEZXZpY2VzOjpQcm9taXNlIG1fcHJvbWlz
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlh
U3RyZWFtQ3JlYXRpb25DbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQuaAppbmRleCBjMDkwMmVkZWJjOWFiYWIyOGUy
ZjQ3YTM2MTlmNWE1ODE0YTYxNGU4Li4wNDRkNjBiMjI3MjQyOTg2NTYwZjY2OTQ0ZjZhNGI0NjVj
ZWQzYWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9N
ZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudC5oCkBAIC0zOCw3ICszOCw3IEBA
IGNsYXNzIE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRp
YVN0cmVhbUNyZWF0aW9uQ2xpZW50PiB7CiBwdWJsaWM6CiAgICAgdmlydHVhbCB+TWVkaWFTdHJl
YW1DcmVhdGlvbkNsaWVudCgpIHsgfQogCi0gICAgdmlydHVhbCB2b2lkIGNvbnN0cmFpbnRzVmFs
aWRhdGVkKCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBjb25zdHJhaW50c1ZhbGlkYXRlZChjb25z
dCBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiYgdmlkZW9UcmFja3MsIGNvbnN0
IFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+JiBhdWRpb1RyYWNrcykgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBjb25zdHJhaW50c0ludmFsaWQoY29uc3QgU3RyaW5nJiBjb25zdHJh
aW50TmFtZSkgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIGRpZENyZWF0ZVN0cmVhbShQYXNzUmVm
UHRyPE1lZGlhU3RyZWFtUHJpdmF0ZT4pID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZDYXB0dXJlRGV2aWNlTWFuYWdl
ci5oCmluZGV4IGViY2M2MGVjMTNjY2FlZDA5ODMzOTA1OGYxYmZiMWMyZGEwNjgwNTguLjcxNDY0
ZTkwNDM2ZGVmYjViYjljYjY1MTZlYmZmZTY5NDcwMDUyZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURl
dmljZU1hbmFnZXIuaApAQCAtNDksNyArNDksNyBAQCBwdWJsaWM6CiAKICAgICBWZWN0b3I8UmVm
UHRyPFRyYWNrU291cmNlSW5mbz4+IGdldFNvdXJjZXNJbmZvKGNvbnN0IFN0cmluZyYpOwogICAg
IGJvb2wgdmVyaWZ5Q29uc3RyYWludHNGb3JNZWRpYVR5cGUoUmVhbHRpbWVNZWRpYVNvdXJjZTo6
VHlwZSwgTWVkaWFDb25zdHJhaW50cyosIFN0cmluZyYpOwotICAgIFJlZlB0cjxSZWFsdGltZU1l
ZGlhU291cmNlPiBiZXN0U291cmNlRm9yVHlwZUFuZENvbnN0cmFpbnRzKFJlYWx0aW1lTWVkaWFT
b3VyY2U6OlR5cGUsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4pOworICAgIFZlY3RvcjxS
ZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IGJlc3RTb3VyY2VzRm9yVHlwZUFuZENvbnN0cmFp
bnRzKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50
cz4pOwogICAgIFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBzb3VyY2VXaXRoVUlEKFN0cmlu
ZyYsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUsIE1lZGlhQ29uc3RyYWludHMqKTsKIAogICAg
IGVudW0gVmFsaWRDb25zdHJhaW50cyB7IFdpZHRoID0gMCwgSGVpZ2h0LCBGcmFtZVJhdGUsIEZh
Y2luZ01vZGUsIEdhaW4gfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL21hYy9BVkNhcHR1cmVEZXZpY2VNYW5hZ2VyLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFnZXIubW0KaW5kZXgg
NTU1ZWE2Yjc5MTM2NmM4NWY4OTI0YzViZmRiZTQ0ODE3ODVlYzkzYy4uZDBkNTVhY2I2MGUyYmQz
NTIxZmZhNzdjOWUyNzBmZTY0YmNhZjdmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFnZXIubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWQ2FwdHVyZURldmljZU1hbmFn
ZXIubW0KQEAgLTM3OCwzOSArMzc4LDM5IEBAIGJvb2wgQVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6
dmVyaWZ5Q29uc3RyYWludHNGb3JNZWRpYVR5cGUoUmVhbHRpbWVNZWRpYVNvdXJjZTo6CiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKLVJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBBVkNhcHR1cmVE
ZXZpY2VNYW5hZ2VyOjpiZXN0U291cmNlRm9yVHlwZUFuZENvbnN0cmFpbnRzKFJlYWx0aW1lTWVk
aWFTb3VyY2U6OlR5cGUgdHlwZSwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBjb25zdHJh
aW50cykKK1ZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IEFWQ2FwdHVyZURldmlj
ZU1hbmFnZXI6OmJlc3RTb3VyY2VzRm9yVHlwZUFuZENvbnN0cmFpbnRzKFJlYWx0aW1lTWVkaWFT
b3VyY2U6OlR5cGUgdHlwZSwgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBjb25zdHJhaW50
cykKIHsKKyAgICBWZWN0b3I8UmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+PiBiZXN0U291cmNl
c0xpc3Q7CisgICAgCiAgICAgaWYgKCFpc0F2YWlsYWJsZSgpKQotICAgICAgICByZXR1cm4gMDsK
KyAgICAgICAgcmV0dXJuIGJlc3RTb3VyY2VzTGlzdDsKIAotICAgIFZlY3RvcjxDYXB0dXJlRGV2
aWNlPiYgZGV2aWNlcyA9IGNhcHR1cmVEZXZpY2VMaXN0KCk7Ci0gICAgc2l6ZV90IGNvdW50ID0g
ZGV2aWNlcy5zaXplKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7
Ci0gICAgICAgIGlmICghZGV2aWNlc1tpXS5tX2VuYWJsZWQpCisgICAgZm9yIChhdXRvJiBjYXB0
dXJlRGV2aWNlIDogY2FwdHVyZURldmljZUxpc3QoKSkgeworICAgICAgICBpZiAoIWNhcHR1cmVE
ZXZpY2UubV9lbmFibGVkKQogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgLy8gRklY
TUU6IGNvbnNpZGVyIHRoZSBjb25zdHJhaW50cyB3aGVuIGNob29zaW5nIGFtb25nIG11bHRpcGxl
IGRldmljZXMuIEZvciBub3cganVzdCBzZWxlY3QgdGhlIGZpcnN0IGF2YWlsYWJsZQogICAgICAg
ICAvLyBkZXZpY2Ugb2YgdGhlIGFwcHJvcHJpYXRlIHR5cGUuCi0gICAgICAgIGlmICh0eXBlID09
IFJlYWx0aW1lTWVkaWFTb3VyY2U6OkF1ZGlvICYmICFkZXZpY2VzW2ldLm1fYXVkaW9Tb3VyY2VJ
ZC5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIGlmICghZGV2aWNlc1tpXS5tX2F1ZGlvU291cmNl
KSB7Ci0gICAgICAgICAgICAgICAgQVZDYXB0dXJlRGV2aWNlVHlwZSAqZGV2aWNlID0gW0FWQ2Fw
dHVyZURldmljZSBkZXZpY2VXaXRoVW5pcXVlSUQ6ZGV2aWNlc1tpXS5tX2NhcHR1cmVEZXZpY2VJ
RF07CisgICAgICAgIGlmICh0eXBlID09IFJlYWx0aW1lTWVkaWFTb3VyY2U6OkF1ZGlvICYmICFj
YXB0dXJlRGV2aWNlLm1fYXVkaW9Tb3VyY2VJZC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIGlm
ICghY2FwdHVyZURldmljZS5tX2F1ZGlvU291cmNlKSB7CisgICAgICAgICAgICAgICAgQVZDYXB0
dXJlRGV2aWNlVHlwZSAqZGV2aWNlID0gW0FWQ2FwdHVyZURldmljZSBkZXZpY2VXaXRoVW5pcXVl
SUQ6Y2FwdHVyZURldmljZS5tX2NhcHR1cmVEZXZpY2VJRF07CiAgICAgICAgICAgICAgICAgQVNT
RVJUKGRldmljZSk7Ci0gICAgICAgICAgICAgICAgZGV2aWNlc1tpXS5tX2F1ZGlvU291cmNlID0g
QVZBdWRpb0NhcHR1cmVTb3VyY2U6OmNyZWF0ZShkZXZpY2UsIGRldmljZXNbaV0ubV9hdWRpb1Nv
dXJjZUlkLCBjb25zdHJhaW50cyk7CisgICAgICAgICAgICAgICAgY2FwdHVyZURldmljZS5tX2F1
ZGlvU291cmNlID0gQVZBdWRpb0NhcHR1cmVTb3VyY2U6OmNyZWF0ZShkZXZpY2UsIGNhcHR1cmVE
ZXZpY2UubV9hdWRpb1NvdXJjZUlkLCBjb25zdHJhaW50cyk7CiAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICByZXR1cm4gZGV2aWNlc1tpXS5tX2F1ZGlvU291cmNlOworICAgICAgICAgICAgYmVz
dFNvdXJjZXNMaXN0LmFwcGVuZChjYXB0dXJlRGV2aWNlLm1fYXVkaW9Tb3VyY2UpOwogICAgICAg
ICB9CiAKLSAgICAgICAgaWYgKHR5cGUgPT0gUmVhbHRpbWVNZWRpYVNvdXJjZTo6VmlkZW8gJiYg
IWRldmljZXNbaV0ubV92aWRlb1NvdXJjZUlkLmlzRW1wdHkoKSkgewotICAgICAgICAgICAgaWYg
KCFkZXZpY2VzW2ldLm1fdmlkZW9Tb3VyY2UpIHsKLSAgICAgICAgICAgICAgICBBVkNhcHR1cmVE
ZXZpY2VUeXBlICpkZXZpY2UgPSBbQVZDYXB0dXJlRGV2aWNlIGRldmljZVdpdGhVbmlxdWVJRDpk
ZXZpY2VzW2ldLm1fY2FwdHVyZURldmljZUlEXTsKKyAgICAgICAgaWYgKHR5cGUgPT0gUmVhbHRp
bWVNZWRpYVNvdXJjZTo6VmlkZW8gJiYgIWNhcHR1cmVEZXZpY2UubV92aWRlb1NvdXJjZUlkLmlz
RW1wdHkoKSkgeworICAgICAgICAgICAgaWYgKCFjYXB0dXJlRGV2aWNlLm1fdmlkZW9Tb3VyY2Up
IHsKKyAgICAgICAgICAgICAgICBBVkNhcHR1cmVEZXZpY2VUeXBlICpkZXZpY2UgPSBbQVZDYXB0
dXJlRGV2aWNlIGRldmljZVdpdGhVbmlxdWVJRDpjYXB0dXJlRGV2aWNlLm1fY2FwdHVyZURldmlj
ZUlEXTsKICAgICAgICAgICAgICAgICBBU1NFUlQoZGV2aWNlKTsKLSAgICAgICAgICAgICAgICBk
ZXZpY2VzW2ldLm1fdmlkZW9Tb3VyY2UgPSBBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6Y3JlYXRlKGRl
dmljZSwgZGV2aWNlc1tpXS5tX3ZpZGVvU291cmNlSWQsIGNvbnN0cmFpbnRzKTsKKyAgICAgICAg
ICAgICAgICBjYXB0dXJlRGV2aWNlLm1fdmlkZW9Tb3VyY2UgPSBBVlZpZGVvQ2FwdHVyZVNvdXJj
ZTo6Y3JlYXRlKGRldmljZSwgY2FwdHVyZURldmljZS5tX3ZpZGVvU291cmNlSWQsIGNvbnN0cmFp
bnRzKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHJldHVybiBkZXZpY2VzW2ldLm1fdmlk
ZW9Tb3VyY2U7CisgICAgICAgICAgICBiZXN0U291cmNlc0xpc3QuYXBwZW5kKGNhcHR1cmVEZXZp
Y2UubV92aWRlb1NvdXJjZSk7CiAgICAgICAgIH0KICAgICB9CiAKLSAgICByZXR1cm4gMDsKKyAg
ICByZXR1cm4gYmVzdFNvdXJjZXNMaXN0OwogfQogCiBSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJj
ZT4gQVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6c291cmNlV2l0aFVJRChTdHJpbmcgJmRldmljZVVJ
RCwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlwZSB0eXBlLCBNZWRpYUNvbnN0cmFpbnRzKiBjb25z
dHJhaW50cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL21hYy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjLmNwcApp
bmRleCA0NTA0MjRkZjdkNDg3NmNiM2ZkYTkzYWY4ZjZiYzhiYTM4NjRjMDRmLi41YWU4NzZmMGY0
NDkwNzgzMzUwMTMwZGVjODg1YjY1ODZmZWU4MDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlck1hYy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL1JlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXJNYWMuY3BwCkBAIC03OSwxMCArNzksMTEgQEAgdm9pZCBSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyTWFjOjp2YWxpZGF0ZVJlcXVlc3RDb25zdHJhaW50cyhQYXNzUmVm
UHRyPE1lZGlhU3QKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KLQotICAg
IGNsaWVudC0+Y29uc3RyYWludHNWYWxpZGF0ZWQoKTsKKyAgICBWZWN0b3I8UmVmUHRyPFJlYWx0
aW1lTWVkaWFTb3VyY2U+PiBiZXN0VmlkZW9Tb3VyY2VzID0gQVZDYXB0dXJlRGV2aWNlTWFuYWdl
cjo6c2luZ2xldG9uKCkuYmVzdFNvdXJjZXNGb3JUeXBlQW5kQ29uc3RyYWludHMoUmVhbHRpbWVN
ZWRpYVNvdXJjZTo6VHlwZTo6VmlkZW8sIHZpZGVvQ29uc3RyYWludHMpOworICAgIFZlY3RvcjxS
ZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4+IGJlc3RBdWRpb1NvdXJjZXMgPSBBVkNhcHR1cmVE
ZXZpY2VNYW5hZ2VyOjpzaW5nbGV0b24oKS5iZXN0U291cmNlc0ZvclR5cGVBbmRDb25zdHJhaW50
cyhSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlOjpBdWRpbywgYXVkaW9Db25zdHJhaW50cyk7Cisg
ICAgY2xpZW50LT5jb25zdHJhaW50c1ZhbGlkYXRlZChiZXN0VmlkZW9Tb3VyY2VzLCBiZXN0QXVk
aW9Tb3VyY2VzKTsKIH0KLSAgICAKKwogdm9pZCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFj
OjpjcmVhdGVNZWRpYVN0cmVhbShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQ3JlYXRpb25DbGllbnQ+
IHBycFF1ZXJ5Q2xpZW50LCBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGF1ZGlvQ29uc3Ry
YWludHMsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gdmlkZW9Db25zdHJhaW50cykKIHsK
ICAgICBSZWZQdHI8TWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudD4gY2xpZW50ID0gcHJwUXVlcnlD
bGllbnQ7CkBAIC05OSw4ICsxMDAsOSBAQCB2b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJN
YWM6OmNyZWF0ZU1lZGlhU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1DcmVhdAogICAgICAg
ICAgICAgY2xpZW50LT5mYWlsZWRUb0NyZWF0ZVN0cmVhbVdpdGhDb25zdHJhaW50c0Vycm9yKGlu
dmFsaWRDb25zdHJhaW50KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgICAg
ICAKLSAgICAgICAgUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IGF1ZGlvU291cmNlID0gQVZD
YXB0dXJlRGV2aWNlTWFuYWdlcjo6c2luZ2xldG9uKCkuYmVzdFNvdXJjZUZvclR5cGVBbmRDb25z
dHJhaW50cyhSZWFsdGltZU1lZGlhU291cmNlOjpBdWRpbywgYXVkaW9Db25zdHJhaW50cy5nZXQo
KSk7CisgICAgICAgIC8vIEZJWE1FOiBDb25zaWRlciB0aGUgY29uc3RyYWludHMgd2hlbiBjaG9v
c2luZyBhbW9uZyBtdWx0aXBsZSBkZXZpY2VzLiBGb3Igbm93IGp1c3Qgc2VsZWN0IHRoZSBmaXJz
dCBhdmFpbGFibGUKKyAgICAgICAgLy8gZGV2aWNlIG9mIHRoZSBhcHByb3ByaWF0ZSB0eXBlLgor
ICAgICAgICBSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJjZT4gYXVkaW9Tb3VyY2UgPSBBVkNhcHR1
cmVEZXZpY2VNYW5hZ2VyOjpzaW5nbGV0b24oKS5iZXN0U291cmNlc0ZvclR5cGVBbmRDb25zdHJh
aW50cyhSZWFsdGltZU1lZGlhU291cmNlOjpBdWRpbywgYXVkaW9Db25zdHJhaW50cy5nZXQoKSku
YXQoMCk7CiAgICAgICAgIEFTU0VSVChhdWRpb1NvdXJjZSk7CiAgICAgICAgIAogICAgICAgICBh
dWRpb1NvdXJjZXMuYXBwZW5kKGF1ZGlvU291cmNlLnJlbGVhc2UoKSk7CkBAIC0xMTMsOCArMTE1
LDkgQEAgdm9pZCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyTWFjOjpjcmVhdGVNZWRpYVN0cmVh
bShQYXNzUmVmUHRyPE1lZGlhU3RyZWFtQ3JlYXQKICAgICAgICAgICAgIGNsaWVudC0+ZmFpbGVk
VG9DcmVhdGVTdHJlYW1XaXRoQ29uc3RyYWludHNFcnJvcihpbnZhbGlkQ29uc3RyYWludCk7CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAgICAgICAgCi0gICAgICAgIFJlZlB0cjxS
ZWFsdGltZU1lZGlhU291cmNlPiB2aWRlb1NvdXJjZSA9IEFWQ2FwdHVyZURldmljZU1hbmFnZXI6
OnNpbmdsZXRvbigpLmJlc3RTb3VyY2VGb3JUeXBlQW5kQ29uc3RyYWludHMoUmVhbHRpbWVNZWRp
YVNvdXJjZTo6VmlkZW8sIHZpZGVvQ29uc3RyYWludHMuZ2V0KCkpOworICAgICAgICAvLyBGSVhN
RTogQ29uc2lkZXIgdGhlIGNvbnN0cmFpbnRzIHdoZW4gY2hvb3NpbmcgYW1vbmcgbXVsdGlwbGUg
ZGV2aWNlcy4gRm9yIG5vdyBqdXN0IHNlbGVjdCB0aGUgZmlyc3QgYXZhaWxhYmxlCisgICAgICAg
IC8vIGRldmljZSBvZiB0aGUgYXBwcm9wcmlhdGUgdHlwZS4KKyAgICAgICAgUmVmUHRyPFJlYWx0
aW1lTWVkaWFTb3VyY2U+IHZpZGVvU291cmNlID0gQVZDYXB0dXJlRGV2aWNlTWFuYWdlcjo6c2lu
Z2xldG9uKCkuYmVzdFNvdXJjZXNGb3JUeXBlQW5kQ29uc3RyYWludHMoUmVhbHRpbWVNZWRpYVNv
dXJjZTo6VmlkZW8sIHZpZGVvQ29uc3RyYWludHMuZ2V0KCkpLmF0KDApOwogICAgICAgICBBU1NF
UlQodmlkZW9Tb3VyY2UpOwogICAgICAgICAKICAgICAgICAgdmlkZW9Tb3VyY2VzLmFwcGVuZCh2
aWRlb1NvdXJjZS5yZWxlYXNlKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vb3BlbndlYnJ0Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL29wZW53ZWJydGMvUmVhbHRp
bWVNZWRpYVNvdXJjZUNlbnRlck93ci5jcHAKaW5kZXggYTNiNTg0ZmUwZDY0M2FiNjJiNzM0NjIy
YzI3ZjE1ODQxNTU4MjA1NC4uY2NkNDFjNzVmYjNlMjRiODM3OTFiOTRhODc5NmJiZGMwMGUwM2I1
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vb3Blbndl
YnJ0Yy9SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyT3dyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9vcGVud2VicnRjL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50
ZXJPd3IuY3BwCkBAIC0xNjgsNyArMTY4LDcgQEAgdm9pZCBSZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyT3dyOjptZWRpYVNvdXJjZXNBdmFpbGFibGUoR0xpc3QqIHNvdXJjZXMpCiAgICAgfQogCiAg
ICAgLy8gVE9ETzogTWFrZSBzdXJlIGNvbnRyYWludHMgYXJlIGFjdHVhbGx5IHZhbGlkYXRlZCBi
eSBjaGVja2luZyBzb3VyY2UgdHlwZXMuCi0gICAgbV9jbGllbnQtPmNvbnN0cmFpbnRzVmFsaWRh
dGVkKCk7CisgICAgbV9jbGllbnQtPmNvbnN0cmFpbnRzVmFsaWRhdGVkKFZlY3RvcjxSZWZQdHI8
UmVhbHRpbWVNZWRpYVNvdXJjZT4+KCksIFZlY3RvcjxSZWZQdHI8UmVhbHRpbWVNZWRpYVNvdXJj
ZT4+KCkpOwogfQogCiBQYXNzUmVmUHRyPFJlYWx0aW1lTWVkaWFTb3VyY2U+IFJlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXJPd3I6OmZpcnN0U291cmNlKFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUg
dHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9N
b2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAKaW5kZXggODNlODcyM2RjNzcyYjBkOGI0
NGQyYTljNDVlZTg0YTlkNTQ5NzZiOS4uOGZjNzY1ZmM4ZjExM2I1MTZmNzc4MTU1YzUwZTY1YWU1
OGQwN2E5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAKQEAgLTE0OSw3ICsxNDksNyBA
QCB2b2lkIE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjp2YWxpZGF0ZVJlcXVlc3RDb25z
dHJhaW50cyhQYXNzUmVmUHRyPE1lZGlhUwogICAgICAgICB9CiAgICAgfQogCi0gICAgY2xpZW50
LT5jb25zdHJhaW50c1ZhbGlkYXRlZCgpOworICAgIGNsaWVudC0+Y29uc3RyYWludHNWYWxpZGF0
ZWQoVmVjdG9yPFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPj4oKSwgVmVjdG9yPFJlZlB0cjxS
ZWFsdGltZU1lZGlhU291cmNlPj4oKSk7CiB9CiAKIHZvaWQgTW9ja1JlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXI6OmNyZWF0ZU1lZGlhU3RyZWFtKFBhc3NSZWZQdHI8TWVkaWFTdHJlYW1DcmVhdGlv
bkNsaWVudD4gcHJwUXVlcnlDbGllbnQsIFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gYXVk
aW9Db25zdHJhaW50cywgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiB2aWRlb0NvbnN0cmFp
bnRzKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>