<?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>180305</bug_id>
          
          <creation_ts>2017-12-01 20:49:50 -0800</creation_ts>
          <short_desc>Make some minor adjustments to TouchBarMenuData and TouchBarMenuItemData</short_desc>
          <delta_ts>2017-12-04 16:13:12 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>aestes</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>joepeck</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1377221</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-12-01 20:49:50 -0800</bug_when>
    <thetext>Followup to r225438.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377226</commentid>
    <comment_count>1</comment_count>
      <attachid>328209</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-12-01 21:19:39 -0800</bug_when>
    <thetext>Created attachment 328209
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377250</commentid>
    <comment_count>2</comment_count>
      <attachid>328216</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-12-01 23:00:42 -0800</bug_when>
    <thetext>Created attachment 328216
Merge in dbates&apos; suggestions as well</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377251</commentid>
    <comment_count>3</comment_count>
      <attachid>328216</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-12-01 23:06:14 -0800</bug_when>
    <thetext>Comment on attachment 328216
Merge in dbates&apos; suggestions as well

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

r=me

&gt; Source/WebKit/ChangeLog:37
&gt; +        (WebKit::operator==):

Heh, prepareChangeLog does the best it can do here. You could move this up above your comment on line 34-35 though, it is the TouchBarMenuItemData&apos;s operator==

&gt; Source/WebKit/Shared/TouchBarMenuItemData.cpp:36
&gt; +static ItemType getItemType(const String&amp;)

The parameter is unused right now, but we plan on using it? Otherwise we could just inline this and avoid the attributeWithotuSynchronization for the `typeAttr` below.

&gt; Source/WebKit/Shared/TouchBarMenuItemData.h:54
&gt;      bool validTouchBarDisplay { true };

You can put the boolean at the bottom of the list of members to potentially avoid unnecessary padding bytes in the struct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377252</commentid>
    <comment_count>4</comment_count>
      <attachid>328216</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-12-01 23:12:17 -0800</bug_when>
    <thetext>Comment on attachment 328216
Merge in dbates&apos; suggestions as well

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

Thanks for the review!

&gt;&gt; Source/WebKit/ChangeLog:37
&gt;&gt; +        (WebKit::operator==):
&gt; 
&gt; Heh, prepareChangeLog does the best it can do here. You could move this up above your comment on line 34-35 though, it is the TouchBarMenuItemData&apos;s operator==

Done!

&gt;&gt; Source/WebKit/Shared/TouchBarMenuItemData.cpp:36
&gt;&gt; +static ItemType getItemType(const String&amp;)
&gt; 
&gt; The parameter is unused right now, but we plan on using it? Otherwise we could just inline this and avoid the attributeWithotuSynchronization for the `typeAttr` below.

Yes, we do plan on using it when we introduce more item types (the intent is that we can grow this function as we add richer support).

&gt;&gt; Source/WebKit/Shared/TouchBarMenuItemData.h:54
&gt;&gt;      bool validTouchBarDisplay { true };
&gt; 
&gt; You can put the boolean at the bottom of the list of members to potentially avoid unnecessary padding bytes in the struct.

Good catch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377260</commentid>
    <comment_count>5</comment_count>
      <attachid>328220</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-12-02 00:14:37 -0800</bug_when>
    <thetext>Created attachment 328220
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377269</commentid>
    <comment_count>6</comment_count>
      <attachid>328220</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-02 00:47:26 -0800</bug_when>
    <thetext>Comment on attachment 328220
Patch for landing

Clearing flags on attachment: 328220

Committed r225446: &lt;https://trac.webkit.org/changeset/225446&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377511</commentid>
    <comment_count>7</comment_count>
      <attachid>328216</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2017-12-03 14:16:56 -0800</bug_when>
    <thetext>Comment on attachment 328216
Merge in dbates&apos; suggestions as well

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

&gt;&gt;&gt; Source/WebKit/Shared/TouchBarMenuItemData.cpp:36
&gt;&gt;&gt; +static ItemType getItemType(const String&amp;)
&gt;&gt; 
&gt;&gt; The parameter is unused right now, but we plan on using it? Otherwise we could just inline this and avoid the attributeWithotuSynchronization for the `typeAttr` below.
&gt; 
&gt; Yes, we do plan on using it when we introduce more item types (the intent is that we can grow this function as we add richer support).

WebKit coding style says this function should not have the word &quot;get&quot; in its name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377531</commentid>
    <comment_count>8</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-12-03 14:55:59 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #7)
&gt; Comment on attachment 328216 [details]
&gt; Merge in dbates&apos; suggestions as well
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=328216&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebKit/Shared/TouchBarMenuItemData.cpp:36
&gt; &gt;&gt;&gt; +static ItemType getItemType(const String&amp;)
&gt; &gt;&gt; 
&gt; &gt;&gt; The parameter is unused right now, but we plan on using it? Otherwise we could just inline this and avoid the attributeWithotuSynchronization for the `typeAttr` below.
&gt; &gt; 
&gt; &gt; Yes, we do plan on using it when we introduce more item types (the intent is that we can grow this function as we add richer support).
&gt; 
&gt; WebKit coding style says this function should not have the word &quot;get&quot; in its
&gt; name.

Good point! Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377533</commentid>
    <comment_count>9</comment_count>
      <attachid>328309</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2017-12-03 14:58:13 -0800</bug_when>
    <thetext>Created attachment 328309
Minor additional tweak</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377976</commentid>
    <comment_count>10</comment_count>
      <attachid>328309</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-04 16:13:12 -0800</bug_when>
    <thetext>Comment on attachment 328309
Minor additional tweak

Clearing flags on attachment: 328309

Committed r225505: &lt;https://trac.webkit.org/changeset/225505&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328209</attachid>
            <date>2017-12-01 21:19:39 -0800</date>
            <delta_ts>2017-12-01 23:00:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180305-20171201211938.patch</filename>
            <type>text/plain</type>
            <size>7256</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1NDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDJlM2I4NmQ0MDQ4NGVmN2Vk
MjU4NDUwZjliMDdkZDJkNTBjMjE4NzkuLmY0NTA4NmI0ZTRkNjdjOWEyOTIwZThmN2UwZjBlOWE0
MTY2NjYzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkgQEAKKzIwMTctMTItMDEgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzb21lIG1pbm9y
IGFkanVzdG1lbnRzIHRvIFRvdWNoQmFyTWVudURhdGEgYW5kIFRvdWNoQmFyTWVudUl0ZW1EYXRh
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAzMDUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYXJrIHNv
bWUgbWV0aG9kcyBhcyBjb25zdCwgYW5kIGFsc28gcmVtb3ZlcyBhbiBleHRyYW5lb3VzIGltcG9y
dGVkIGhlYWRlci4KKworICAgICAgICAqIFNoYXJlZC9Ub3VjaEJhck1lbnVEYXRhLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6VG91Y2hCYXJNZW51RGF0YTo6VG91Y2hCYXJNZW51RGF0YSk6CisKKyAg
ICAgICAgQWRkIGEgRklYTUUgcmVnYXJkaW5nIHRoZSB1c2Ugb2YgdGhlICdpZCcgYXR0cmlidXRl
LgorCisgICAgICAgICogU2hhcmVkL1RvdWNoQmFyTWVudURhdGEuaDoKKyAgICAgICAgKFdlYktp
dDo6VG91Y2hCYXJNZW51RGF0YTo6aXRlbXMgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpUb3Vj
aEJhck1lbnVEYXRhOjpzZXRJRCk6CisgICAgICAgIChXZWJLaXQ6OlRvdWNoQmFyTWVudURhdGE6
OmlzUGFnZUN1c3RvbWl6ZWQgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpUb3VjaEJhck1lbnVE
YXRhOjppdGVtcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlRvdWNoQmFyTWVudURhdGE6
OmlzUGFnZUN1c3RvbWl6ZWQpOiBEZWxldGVkLgorICAgICAgICAqIFNoYXJlZC9Ub3VjaEJhck1l
bnVJdGVtRGF0YS5jcHA6CisgICAgICAgIChXZWJLaXQ6OmdldEl0ZW1UeXBlKToKKworICAgICAg
ICBDaGFuZ2UgYSBoZWxwZXIgbWV0aG9kIGZyb20gYSBzdGF0aWMgY2xhc3MgZnVuY3Rpb24gdG8g
YSBzdGF0aWMgZnVuY3Rpb24gaW4gdGhlIGltcGxlbWVudGF0aW9uIGZpbGUuCisKKyAgICAgICAg
KFdlYktpdDo6VG91Y2hCYXJNZW51SXRlbURhdGE6OlRvdWNoQmFyTWVudUl0ZW1EYXRhKToKKyAg
ICAgICAgKFdlYktpdDo6VG91Y2hCYXJNZW51SXRlbURhdGE6OmVuY29kZSBjb25zdCk6CisgICAg
ICAgIChXZWJLaXQ6OlRvdWNoQmFyTWVudUl0ZW1EYXRhOjpkZWNvZGUpOgorICAgICAgICAoV2Vi
S2l0OjpUb3VjaEJhck1lbnVJdGVtRGF0YTo6Z2V0SXRlbVR5cGUpOiBEZWxldGVkLgorICAgICAg
ICAqIFNoYXJlZC9Ub3VjaEJhck1lbnVJdGVtRGF0YS5oOgorCisgICAgICAgIFJlbW92ZSB0aGUg
Y29tbWFuZE5hbWUgbWVtYmVyIHZhcmlhYmxlLCBzaW5jZSBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2Ug
dG8gcHJvcGFnYXRlIGFuIGV2ZW50IGhhbmRsZXIKKyAgICAgICAgYXR0cmlidXRlIGZyb20gV2Vi
Q29yZSB0byB0aGUgY2xpZW50IGxheWVyLgorCisgICAgICAgIChXZWJLaXQ6Om9wZXJhdG9yPT0p
OgorCiAyMDE3LTEyLTAxICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIFJlZHVjZSB0aGUgbnVtYmVyIG9mIGNhbGxzIHRvIFZpZXdwb3J0Q29uZmlndXJh
dGlvbjo6dXBkYXRlQ29uZmlndXJhdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Ub3VjaEJhck1lbnVEYXRhLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1RvdWNoQmFy
TWVudURhdGEuY3BwCmluZGV4IDZjYzhjNzQzMGVkM2MxMTMxMTdmMjA3NWViYmQ4NGYwMWU5MWZl
MjYuLmFhNTY4Yjk5NjUzN2Q1Zjk3YjUyODY5MTBkNWM0ODM2YTczZTUwMmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1RvdWNoQmFyTWVudURhdGEuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1RvdWNoQmFyTWVudURhdGEuY3BwCkBAIC00MSwxMCArNDEsMTQgQEAgVG91
Y2hCYXJNZW51RGF0YTo6VG91Y2hCYXJNZW51RGF0YSgpCiB7CiB9CiAgICAgCi1Ub3VjaEJhck1l
bnVEYXRhOjpUb3VjaEJhck1lbnVEYXRhKFdlYkNvcmU6OkhUTUxNZW51RWxlbWVudCYgZWxlbWVu
dCkKK1RvdWNoQmFyTWVudURhdGE6OlRvdWNoQmFyTWVudURhdGEoY29uc3QgV2ViQ29yZTo6SFRN
TE1lbnVFbGVtZW50JiBlbGVtZW50KQogewogICAgIGlmICghZWxlbWVudC5pc1RvdWNoQmFyTWVu
dSgpKQogICAgICAgICByZXR1cm47CisKKyAgICAvLyBGSVhNRTogV2UgY2FuJ3QgcmVseSBvbiB1
c2luZyB0aGUgJ2lkJyBhdHRyaWJ1dGUgb2YgdGhlIGVsZW1lbnQgaGVyZSB0byBkaXN0aW5ndWlz
aAorICAgIC8vIGJldHdlZW4gZGlmZmVyZW50IG1lbnUgaXRlbXMuIEZvciBpbnN0YW5jZSwgYSBt
ZW51aXRlbSBtYXkgaGF2ZSB0aGUgc2FtZSAnaWQnIGFzCisgICAgLy8gYW5vdGhlciwgb3IgaGF2
ZSBubyAnaWQnIGF0IGFsbC4KICAgICBtX2lkID0gZWxlbWVudC5hdHRyaWJ1dGVXaXRob3V0U3lu
Y2hyb25pemF0aW9uKFdlYkNvcmU6OkhUTUxOYW1lczo6aWRBdHRyKTsKICAgICBtX2lzUGFnZUN1
c3RvbWl6ZWQgPSB0cnVlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvVG91
Y2hCYXJNZW51RGF0YS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvVG91Y2hCYXJNZW51RGF0YS5o
CmluZGV4IGUyMGQwMzFmYmE4MWI1NTI3YzBmZjY5NzgwNzlhNTJkOTEyNTExYTMuLmY3YWEyZmRi
ZDNkYTVmNjFlODRkNzBkMmZkMGQ3MGU3NzhiYWY3MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1RvdWNoQmFyTWVudURhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9U
b3VjaEJhck1lbnVEYXRhLmgKQEAgLTM5LDE5ICszOSwxOSBAQCBuYW1lc3BhY2UgV2ViS2l0IHsK
IGNsYXNzIFRvdWNoQmFyTWVudURhdGEgewogcHVibGljOgogICAgIGV4cGxpY2l0IFRvdWNoQmFy
TWVudURhdGEoKTsKLSAgICBleHBsaWNpdCBUb3VjaEJhck1lbnVEYXRhKFdlYkNvcmU6OkhUTUxN
ZW51RWxlbWVudCYpOworICAgIGV4cGxpY2l0IFRvdWNoQmFyTWVudURhdGEoY29uc3QgV2ViQ29y
ZTo6SFRNTE1lbnVFbGVtZW50Jik7CiAgICAgZXhwbGljaXQgVG91Y2hCYXJNZW51RGF0YShjb25z
dCBUb3VjaEJhck1lbnVEYXRhJik7CiAKICAgICB2b2lkIGFkZE1lbnVJdGVtKGNvbnN0IFRvdWNo
QmFyTWVudUl0ZW1EYXRhJik7CiAgICAgdm9pZCByZW1vdmVNZW51SXRlbShjb25zdCBUb3VjaEJh
ck1lbnVJdGVtRGF0YSYpOwogICAgIAotICAgIGNvbnN0IFZlY3RvcjxUb3VjaEJhck1lbnVJdGVt
RGF0YT4mIGl0ZW1zKCkgeyByZXR1cm4gbV9pdGVtczsgfQorICAgIGNvbnN0IFZlY3RvcjxUb3Vj
aEJhck1lbnVJdGVtRGF0YT4mIGl0ZW1zKCkgY29uc3QgeyByZXR1cm4gbV9pdGVtczsgfQogICAg
IAogICAgIHZvaWQgZW5jb2RlKElQQzo6RW5jb2RlciYpIGNvbnN0OwogICAgIHN0YXRpYyBib29s
IGRlY29kZShJUEM6OkRlY29kZXImLCBUb3VjaEJhck1lbnVEYXRhJik7CiAgICAgCi0gICAgdm9p
ZCBzZXRJRChTdHJpbmcpOwotICAgIGJvb2wgaXNQYWdlQ3VzdG9taXplZCgpIHsgcmV0dXJuIG1f
aXNQYWdlQ3VzdG9taXplZDsgfQorICAgIHZvaWQgc2V0SUQoY29uc3QgU3RyaW5nJiBpZGVudGlm
aWVyKSB7IG1faWQgPSBpZGVudGlmaWVyOyB9CisgICAgYm9vbCBpc1BhZ2VDdXN0b21pemVkKCkg
Y29uc3QgeyByZXR1cm4gbV9pc1BhZ2VDdXN0b21pemVkOyB9CiAgICAgdm9pZCBzZXRJc1BhZ2VD
dXN0b21pemVkKGJvb2wgY3VzdG9taXplZCkgeyBtX2lzUGFnZUN1c3RvbWl6ZWQgPSBjdXN0b21p
emVkOyB9CiAgICAgCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQv
VG91Y2hCYXJNZW51SXRlbURhdGEuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvVG91Y2hCYXJN
ZW51SXRlbURhdGEuY3BwCmluZGV4IGEwNWVkZjc2ZmQ0N2QxNmEwYzBhMTlhZjlmMzVkNzA0Y2Nm
YzgzMGYuLjYzZWJhZjQ0M2U2NzBkMDgyN2ZiOThmYzA1MzA4ZmMyY2RhODAzYTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1RvdWNoQmFyTWVudUl0ZW1EYXRhLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9Ub3VjaEJhck1lbnVJdGVtRGF0YS5jcHAKQEAgLTMyLDExICsz
MiwxMCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvSFRNTE1lbnVJdGVtRWxlbWVudC5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvSFRNTE5hbWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Ob2RlLmg+Ci0jaW5j
bHVkZSA8dmVjdG9yPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotSXRlbVR5cGUgVG91Y2hCYXJN
ZW51SXRlbURhdGE6OmdldEl0ZW1UeXBlKFN0cmluZyB2YWx1ZSkKK3N0YXRpYyBJdGVtVHlwZSBn
ZXRJdGVtVHlwZShjb25zdCBTdHJpbmcmKQogewogICAgIHJldHVybiBJdGVtVHlwZTo6QnV0dG9u
OwogfQpAQCAtNDUsMTggKzQ0LDE2IEBAIFRvdWNoQmFyTWVudUl0ZW1EYXRhOjpUb3VjaEJhck1l
bnVJdGVtRGF0YSgpCiB7CiB9CiAKLVRvdWNoQmFyTWVudUl0ZW1EYXRhOjpUb3VjaEJhck1lbnVJ
dGVtRGF0YShXZWJDb3JlOjpIVE1MTWVudUl0ZW1FbGVtZW50JiBlbGVtZW50KQorVG91Y2hCYXJN
ZW51SXRlbURhdGE6OlRvdWNoQmFyTWVudUl0ZW1EYXRhKGNvbnN0IFdlYkNvcmU6OkhUTUxNZW51
SXRlbUVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgaXRlbVR5cGUgPSBnZXRJdGVtVHlwZShlbGVt
ZW50LmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oV2ViQ29yZTo6SFRNTE5hbWVzOjp0
eXBlQXR0cikpOwogICAgIGlkZW50aWZpZXIgPSBlbGVtZW50LmF0dHJpYnV0ZVdpdGhvdXRTeW5j
aHJvbml6YXRpb24oV2ViQ29yZTo6SFRNTE5hbWVzOjppZEF0dHIpOwotICAgIGNvbW1hbmROYW1l
ID0gZWxlbWVudC5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKFdlYkNvcmU6OkhUTUxO
YW1lczo6b25jbGlja0F0dHIpOwogICAgIHByaW9yaXR5ID0gZWxlbWVudC5hdHRyaWJ1dGVXaXRo
b3V0U3luY2hyb25pemF0aW9uKFdlYkNvcmU6OkhUTUxOYW1lczo6dmFsdWVBdHRyKS50b0Zsb2F0
KCk7CiB9CiAgICAgCiBUb3VjaEJhck1lbnVJdGVtRGF0YTo6VG91Y2hCYXJNZW51SXRlbURhdGEo
Y29uc3QgVG91Y2hCYXJNZW51SXRlbURhdGEmIG90aGVyKQogICAgIDogaXRlbVR5cGUob3RoZXIu
aXRlbVR5cGUpCiAgICAgLCBpZGVudGlmaWVyKG90aGVyLmlkZW50aWZpZXIpCi0gICAgLCBjb21t
YW5kTmFtZShvdGhlci5jb21tYW5kTmFtZSkKICAgICAsIHByaW9yaXR5KG90aGVyLnByaW9yaXR5
KQogewogfQpAQCAtNjYsNyArNjMsNiBAQCB2b2lkIFRvdWNoQmFyTWVudUl0ZW1EYXRhOjplbmNv
ZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIGVuY29kZXIuZW5jb2RlRW51bShp
dGVtVHlwZSk7CiAgICAgCiAgICAgZW5jb2RlciA8PCBpZGVudGlmaWVyOwotICAgIGVuY29kZXIg
PDwgY29tbWFuZE5hbWU7CiAgICAgZW5jb2RlciA8PCBwcmlvcml0eTsKIH0KIApAQCAtNzksOSAr
NzUsNiBAQCBzdGQ6Om9wdGlvbmFsPFRvdWNoQmFyTWVudUl0ZW1EYXRhPiBUb3VjaEJhck1lbnVJ
dGVtRGF0YTo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZAogICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
cmVzdWx0LmlkZW50aWZpZXIpKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIAot
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmNvbW1hbmROYW1lKSkKLSAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICAKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5w
cmlvcml0eSkpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Ub3VjaEJhck1lbnVJdGVtRGF0YS5oIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvVG91Y2hCYXJNZW51SXRlbURhdGEuaAppbmRleCAwYWZjYTM1Y2IyNjY2NTI4
MDEwMjZlYjE1N2I0YzdhZDM3ZjIwZWU0Li4wNzA1Mzk1Y2MwNjhmODg2MjU4YWZhZTM3NTM4YTc0
YmM5Y2VlMmZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Ub3VjaEJhck1lbnVJ
dGVtRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1RvdWNoQmFyTWVudUl0ZW1EYXRh
LmgKQEAgLTQyLDE4ICs0MiwxNiBAQCBlbnVtIEl0ZW1UeXBlIHsKIAogc3RydWN0IFRvdWNoQmFy
TWVudUl0ZW1EYXRhIHsKICAgICBleHBsaWNpdCBUb3VjaEJhck1lbnVJdGVtRGF0YSgpOwotICAg
IGV4cGxpY2l0IFRvdWNoQmFyTWVudUl0ZW1EYXRhKFdlYkNvcmU6OkhUTUxNZW51SXRlbUVsZW1l
bnQmKTsKKyAgICBleHBsaWNpdCBUb3VjaEJhck1lbnVJdGVtRGF0YShjb25zdCBXZWJDb3JlOjpI
VE1MTWVudUl0ZW1FbGVtZW50Jik7CiAgICAgZXhwbGljaXQgVG91Y2hCYXJNZW51SXRlbURhdGEo
Y29uc3QgVG91Y2hCYXJNZW51SXRlbURhdGEmKTsKICAgICAKICAgICB2b2lkIGVuY29kZShJUEM6
OkVuY29kZXImKSBjb25zdDsKICAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxUb3VjaEJhck1lbnVJ
dGVtRGF0YT4gZGVjb2RlKElQQzo6RGVjb2RlciYpOwotICAgIHN0YXRpYyBJdGVtVHlwZSBnZXRJ
dGVtVHlwZShTdHJpbmcpOwogICAgIAogICAgIGJvb2wgdmFsaWRUb3VjaEJhckRpc3BsYXkgeyB0
cnVlIH07CiAgICAgCiAgICAgSXRlbVR5cGUgaXRlbVR5cGUgeyBJdGVtVHlwZTo6QnV0dG9uIH07
CiAgICAgU3RyaW5nIGlkZW50aWZpZXI7Ci0gICAgU3RyaW5nIGNvbW1hbmROYW1lOwogICAgIGZs
b2F0IHByaW9yaXR5IHsgMC4wIH07CiB9OwogICAgIApAQCAtODIsNyArODAsNiBAQCBpbmxpbmUg
Ym9vbCBvcGVyYXRvcj09KGNvbnN0IFRvdWNoQmFyTWVudUl0ZW1EYXRhJiBsaHMsIGNvbnN0IFRv
dWNoQmFyTWVudUl0ZW1EYQogewogICAgIHJldHVybiBsaHMuaXRlbVR5cGUgPT0gcmhzLml0ZW1U
eXBlCiAgICAgJiYgbGhzLmlkZW50aWZpZXIgPT0gcmhzLmlkZW50aWZpZXIKLSAgICAmJiBsaHMu
Y29tbWFuZE5hbWUgPT0gcmhzLmNvbW1hbmROYW1lCiAgICAgJiYgbGhzLnByaW9yaXR5ID09IHJo
cy5wcmlvcml0eTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328216</attachid>
            <date>2017-12-01 23:00:42 -0800</date>
            <delta_ts>2017-12-01 23:06:14 -0800</delta_ts>
            <desc>Merge in dbates&apos; suggestions as well</desc>
            <filename>bug-180305-20171201230041.patch</filename>
            <type>text/plain</type>
            <size>9887</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1NDQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDJlM2I4NmQ0MDQ4NGVmN2Vk
MjU4NDUwZjliMDdkZDJkNTBjMjE4NzkuLjY5MmQ2ZjA2OTQ4ZWNmZmMyNzZlOGY5ZTFjODgyNWZh
N2ExYTNkMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTctMTItMDEgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzb21lIG1pbm9y
IGFkanVzdG1lbnRzIHRvIFRvdWNoQmFyTWVudURhdGEgYW5kIFRvdWNoQmFyTWVudUl0ZW1EYXRh
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAzMDUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYXJrIHNv
bWUgbWV0aG9kcyBhbmQgcGFyYW1ldGVycyBhcyBjb25zdCwgdXNlIHRoZSBkZWZhdWx0IGNvbnN0
cnVjdG9yIGluIG1vcmUgcGxhY2VzLCBhbmQgYWxzbyByZW1vdmUgYSBmZXcKKyAgICAgICAgZXh0
cmFuZW91cyBpbXBvcnRlZCBoZWFkZXJzLgorCisgICAgICAgICogU2hhcmVkL1RvdWNoQmFyTWVu
dURhdGEuY3BwOgorICAgICAgICAoV2ViS2l0OjpUb3VjaEJhck1lbnVEYXRhOjpUb3VjaEJhck1l
bnVEYXRhKToKKworICAgICAgICBBZGQgYSBGSVhNRSByZWdhcmRpbmcgdGhlIHVzZSBvZiB0aGUg
J2lkJyBhdHRyaWJ1dGUuCisKKyAgICAgICAgKFdlYktpdDo6VG91Y2hCYXJNZW51RGF0YTo6ZGVj
b2RlKToKKyAgICAgICAgKiBTaGFyZWQvVG91Y2hCYXJNZW51RGF0YS5oOgorICAgICAgICAoV2Vi
S2l0OjpUb3VjaEJhck1lbnVEYXRhOjppdGVtcyBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlRv
dWNoQmFyTWVudURhdGE6OnNldElEKToKKyAgICAgICAgKFdlYktpdDo6VG91Y2hCYXJNZW51RGF0
YTo6aXNQYWdlQ3VzdG9taXplZCBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlRvdWNoQmFyTWVu
dURhdGE6Oml0ZW1zKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6VG91Y2hCYXJNZW51RGF0
YTo6aXNQYWdlQ3VzdG9taXplZCk6IERlbGV0ZWQuCisgICAgICAgICogU2hhcmVkL1RvdWNoQmFy
TWVudUl0ZW1EYXRhLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Z2V0SXRlbVR5cGUpOgorCisgICAg
ICAgIENoYW5nZSBhIGhlbHBlciBtZXRob2QgZnJvbSBhIHN0YXRpYyBjbGFzcyBmdW5jdGlvbiB0
byBhIHN0YXRpYyBmdW5jdGlvbiBpbiB0aGUgaW1wbGVtZW50YXRpb24gZmlsZS4KKworICAgICAg
ICAoV2ViS2l0OjpUb3VjaEJhck1lbnVJdGVtRGF0YTo6VG91Y2hCYXJNZW51SXRlbURhdGEpOgor
ICAgICAgICAoV2ViS2l0OjpUb3VjaEJhck1lbnVJdGVtRGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAg
ICAgICAgKFdlYktpdDo6VG91Y2hCYXJNZW51SXRlbURhdGE6OmRlY29kZSk6CisgICAgICAgIChX
ZWJLaXQ6OlRvdWNoQmFyTWVudUl0ZW1EYXRhOjpnZXRJdGVtVHlwZSk6IERlbGV0ZWQuCisgICAg
ICAgICogU2hhcmVkL1RvdWNoQmFyTWVudUl0ZW1EYXRhLmg6CisKKyAgICAgICAgUmVtb3ZlIHRo
ZSBjb21tYW5kTmFtZSBtZW1iZXIgdmFyaWFibGUsIHNpbmNlIGl0IGRvZXNuJ3QgbWFrZSBzZW5z
ZSB0byBwcm9wYWdhdGUgYW4gZXZlbnQgaGFuZGxlcgorICAgICAgICBhdHRyaWJ1dGUgZnJvbSBX
ZWJDb3JlIHRvIHRoZSBjbGllbnQgbGF5ZXIuCisKKyAgICAgICAgKFdlYktpdDo6b3BlcmF0b3I9
PSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbjoKKwogMjAx
Ny0xMi0wMSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZWR1Y2UgdGhlIG51bWJlciBvZiBjYWxscyB0byBWaWV3cG9ydENvbmZpZ3VyYXRpb246OnVw
ZGF0ZUNvbmZpZ3VyYXRpb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvVG91
Y2hCYXJNZW51RGF0YS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Ub3VjaEJhck1lbnVEYXRh
LmNwcAppbmRleCA2Y2M4Yzc0MzBlZDNjMTEzMTE3ZjIwNzVlYmJkODRmMDFlOTFmZTI2Li43NTI0
NzYzZTM1YWIxN2UyYjVkNGM1Y2JmYzIzMzA0M2YwMDQzZDIxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Ub3VjaEJhck1lbnVEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Ub3VjaEJhck1lbnVEYXRhLmNwcApAQCAtMzAsMzIgKzMwLDIzIEBACiAjaW5jbHVkZSAi
RW5jb2Rlci5oIgogI2luY2x1ZGUgIlRvdWNoQmFyTWVudUl0ZW1EYXRhLmgiCiAjaW5jbHVkZSAi
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9IVE1MRWxlbWVudC5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvSFRNTE1lbnVFbGVtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9IVE1MTmFtZXMuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL05vZGUuaD4KIAogbmFtZXNwYWNlIFdl
YktpdCB7CiAgICAgCi1Ub3VjaEJhck1lbnVEYXRhOjpUb3VjaEJhck1lbnVEYXRhKCkKLXsKLX0K
LSAgICAKLVRvdWNoQmFyTWVudURhdGE6OlRvdWNoQmFyTWVudURhdGEoV2ViQ29yZTo6SFRNTE1l
bnVFbGVtZW50JiBlbGVtZW50KQorVG91Y2hCYXJNZW51RGF0YTo6VG91Y2hCYXJNZW51RGF0YShj
b25zdCBXZWJDb3JlOjpIVE1MTWVudUVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgaWYgKCFlbGVt
ZW50LmlzVG91Y2hCYXJNZW51KCkpCiAgICAgICAgIHJldHVybjsKKworICAgIC8vIEZJWE1FOiBX
ZSBjYW4ndCByZWx5IG9uIHVzaW5nIHRoZSAnaWQnIGF0dHJpYnV0ZSBvZiB0aGUgZWxlbWVudCBo
ZXJlIHRvIGRpc3Rpbmd1aXNoCisgICAgLy8gYmV0d2VlbiBkaWZmZXJlbnQgbWVudSBpdGVtcy4g
Rm9yIGluc3RhbmNlLCBhIG1lbnVpdGVtIG1heSBoYXZlIHRoZSBzYW1lICdpZCcgYXMKKyAgICAv
LyBhbm90aGVyLCBvciBoYXZlIG5vICdpZCcgYXQgYWxsLgogICAgIG1faWQgPSBlbGVtZW50LmF0
dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oV2ViQ29yZTo6SFRNTE5hbWVzOjppZEF0dHIp
OwogICAgIG1faXNQYWdlQ3VzdG9taXplZCA9IHRydWU7CiB9CiAgICAgCi1Ub3VjaEJhck1lbnVE
YXRhOjpUb3VjaEJhck1lbnVEYXRhKGNvbnN0IFRvdWNoQmFyTWVudURhdGEmIHRvdWNoQmFyTWVu
dURhdGEpCi0gICAgOiBtX2l0ZW1zKHRvdWNoQmFyTWVudURhdGEubV9pdGVtcykKLSAgICAsIG1f
aWQodG91Y2hCYXJNZW51RGF0YS5tX2lkKQotICAgICwgbV9pc1BhZ2VDdXN0b21pemVkKHRvdWNo
QmFyTWVudURhdGEubV9pc1BhZ2VDdXN0b21pemVkKQotewotfQotICAgIAogdm9pZCBUb3VjaEJh
ck1lbnVEYXRhOjphZGRNZW51SXRlbShjb25zdCBUb3VjaEJhck1lbnVJdGVtRGF0YSYgZGF0YSkK
IHsKICAgICBtX2l0ZW1zLmFwcGVuZChkYXRhKTsKQEAgLTczLDEwICs2NCw3IEBAIHZvaWQgVG91
Y2hCYXJNZW51RGF0YTo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKIAogYm9v
bCBUb3VjaEJhck1lbnVEYXRhOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBUb3VjaEJh
ck1lbnVEYXRhJiBkYXRhKQogewotICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZGF0YS5tX2l0ZW1z
KSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIAotICAgIHJldHVybiB0cnVlOworICAgIHJl
dHVybiBkZWNvZGVyLmRlY29kZShkYXRhLm1faXRlbXMpOwogfQogICAgIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvVG91Y2hCYXJNZW51RGF0YS5oIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvVG91Y2hCYXJNZW51RGF0YS5oCmluZGV4IGUyMGQwMzFmYmE4MWI1NTI3YzBmZjY5
NzgwNzlhNTJkOTEyNTExYTMuLjhmYzIyOWJhODBjODFiODA5MGMyMjE3Y2ZiZGVkZmIwYmY0NDg5
YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1RvdWNoQmFyTWVudURhdGEuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Ub3VjaEJhck1lbnVEYXRhLmgKQEAgLTI2LDcgKzI2
LDYgQEAKICNwcmFnbWEgb25jZQogI2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVk
ZSAiVG91Y2hCYXJNZW51SXRlbURhdGEuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0hUTUxNZW51RWxl
bWVudC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgSVBD
IHsKQEAgLTM0LDI0ICszMywyOCBAQCBjbGFzcyBEZWNvZGVyOwogY2xhc3MgRW5jb2RlcjsKIH0K
IAorbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgSFRNTE1lbnVFbGVtZW50OworfQorCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgVG91Y2hCYXJNZW51RGF0YSB7CiBwdWJsaWM6Ci0gICAg
ZXhwbGljaXQgVG91Y2hCYXJNZW51RGF0YSgpOwotICAgIGV4cGxpY2l0IFRvdWNoQmFyTWVudURh
dGEoV2ViQ29yZTo6SFRNTE1lbnVFbGVtZW50Jik7Ci0gICAgZXhwbGljaXQgVG91Y2hCYXJNZW51
RGF0YShjb25zdCBUb3VjaEJhck1lbnVEYXRhJik7CisgICAgZXhwbGljaXQgVG91Y2hCYXJNZW51
RGF0YSgpID0gZGVmYXVsdDsKKyAgICBleHBsaWNpdCBUb3VjaEJhck1lbnVEYXRhKGNvbnN0IFdl
YkNvcmU6OkhUTUxNZW51RWxlbWVudCYpOworICAgIGV4cGxpY2l0IFRvdWNoQmFyTWVudURhdGEo
Y29uc3QgVG91Y2hCYXJNZW51RGF0YSYpID0gZGVmYXVsdDsKIAogICAgIHZvaWQgYWRkTWVudUl0
ZW0oY29uc3QgVG91Y2hCYXJNZW51SXRlbURhdGEmKTsKICAgICB2b2lkIHJlbW92ZU1lbnVJdGVt
KGNvbnN0IFRvdWNoQmFyTWVudUl0ZW1EYXRhJik7CiAgICAgCi0gICAgY29uc3QgVmVjdG9yPFRv
dWNoQmFyTWVudUl0ZW1EYXRhPiYgaXRlbXMoKSB7IHJldHVybiBtX2l0ZW1zOyB9CisgICAgY29u
c3QgVmVjdG9yPFRvdWNoQmFyTWVudUl0ZW1EYXRhPiYgaXRlbXMoKSBjb25zdCB7IHJldHVybiBt
X2l0ZW1zOyB9CiAgICAgCiAgICAgdm9pZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7CiAg
ICAgc3RhdGljIGJvb2wgZGVjb2RlKElQQzo6RGVjb2RlciYsIFRvdWNoQmFyTWVudURhdGEmKTsK
ICAgICAKLSAgICB2b2lkIHNldElEKFN0cmluZyk7Ci0gICAgYm9vbCBpc1BhZ2VDdXN0b21pemVk
KCkgeyByZXR1cm4gbV9pc1BhZ2VDdXN0b21pemVkOyB9CisgICAgdm9pZCBzZXRJRChjb25zdCBT
dHJpbmcmIGlkZW50aWZpZXIpIHsgbV9pZCA9IGlkZW50aWZpZXI7IH0KKyAgICBib29sIGlzUGFn
ZUN1c3RvbWl6ZWQoKSBjb25zdCB7IHJldHVybiBtX2lzUGFnZUN1c3RvbWl6ZWQ7IH0KICAgICB2
b2lkIHNldElzUGFnZUN1c3RvbWl6ZWQoYm9vbCBjdXN0b21pemVkKSB7IG1faXNQYWdlQ3VzdG9t
aXplZCA9IGN1c3RvbWl6ZWQ7IH0KICAgICAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Ub3VjaEJhck1lbnVJdGVtRGF0YS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Ub3VjaEJhck1lbnVJdGVtRGF0YS5jcHAKaW5kZXggYTA1ZWRmNzZmZDQ3ZDE2YTBjMGEx
OWFmOWYzNWQ3MDRjY2ZjODMwZi4uMWU1YjhjNTM2YmFhM2YwMjkzNGYxYjc0ODQzMjAxNTBmYjMx
OWU3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvVG91Y2hCYXJNZW51SXRlbURh
dGEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1RvdWNoQmFyTWVudUl0ZW1EYXRhLmNw
cApAQCAtMjgsNDUgKzI4LDI4IEBACiAjaW5jbHVkZSAiRGVjb2Rlci5oIgogI2luY2x1ZGUgIkVu
Y29kZXIuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKLSNpbmNsdWRlIDxX
ZWJDb3JlL0hUTUxFbGVtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9IVE1MTWVudUl0ZW1FbGVt
ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9IVE1MTmFtZXMuaD4KLSNpbmNsdWRlIDxXZWJDb3Jl
L05vZGUuaD4KLSNpbmNsdWRlIDx2ZWN0b3I+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1JdGVt
VHlwZSBUb3VjaEJhck1lbnVJdGVtRGF0YTo6Z2V0SXRlbVR5cGUoU3RyaW5nIHZhbHVlKQorc3Rh
dGljIEl0ZW1UeXBlIGdldEl0ZW1UeXBlKGNvbnN0IFN0cmluZyYpCiB7CiAgICAgcmV0dXJuIEl0
ZW1UeXBlOjpCdXR0b247CiB9CiAKLVRvdWNoQmFyTWVudUl0ZW1EYXRhOjpUb3VjaEJhck1lbnVJ
dGVtRGF0YSgpCi17Ci19Ci0KLVRvdWNoQmFyTWVudUl0ZW1EYXRhOjpUb3VjaEJhck1lbnVJdGVt
RGF0YShXZWJDb3JlOjpIVE1MTWVudUl0ZW1FbGVtZW50JiBlbGVtZW50KQorVG91Y2hCYXJNZW51
SXRlbURhdGE6OlRvdWNoQmFyTWVudUl0ZW1EYXRhKGNvbnN0IFdlYkNvcmU6OkhUTUxNZW51SXRl
bUVsZW1lbnQmIGVsZW1lbnQpCiB7CiAgICAgaXRlbVR5cGUgPSBnZXRJdGVtVHlwZShlbGVtZW50
LmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oV2ViQ29yZTo6SFRNTE5hbWVzOjp0eXBl
QXR0cikpOwogICAgIGlkZW50aWZpZXIgPSBlbGVtZW50LmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJv
bml6YXRpb24oV2ViQ29yZTo6SFRNTE5hbWVzOjppZEF0dHIpOwotICAgIGNvbW1hbmROYW1lID0g
ZWxlbWVudC5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKFdlYkNvcmU6OkhUTUxOYW1l
czo6b25jbGlja0F0dHIpOwogICAgIHByaW9yaXR5ID0gZWxlbWVudC5hdHRyaWJ1dGVXaXRob3V0
U3luY2hyb25pemF0aW9uKFdlYkNvcmU6OkhUTUxOYW1lczo6dmFsdWVBdHRyKS50b0Zsb2F0KCk7
CiB9Ci0gICAgCi1Ub3VjaEJhck1lbnVJdGVtRGF0YTo6VG91Y2hCYXJNZW51SXRlbURhdGEoY29u
c3QgVG91Y2hCYXJNZW51SXRlbURhdGEmIG90aGVyKQotICAgIDogaXRlbVR5cGUob3RoZXIuaXRl
bVR5cGUpCi0gICAgLCBpZGVudGlmaWVyKG90aGVyLmlkZW50aWZpZXIpCi0gICAgLCBjb21tYW5k
TmFtZShvdGhlci5jb21tYW5kTmFtZSkKLSAgICAsIHByaW9yaXR5KG90aGVyLnByaW9yaXR5KQot
ewotfQogCiB2b2lkIFRvdWNoQmFyTWVudUl0ZW1EYXRhOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBl
bmNvZGVyKSBjb25zdAogewogICAgIGVuY29kZXIuZW5jb2RlRW51bShpdGVtVHlwZSk7CiAgICAg
CiAgICAgZW5jb2RlciA8PCBpZGVudGlmaWVyOwotICAgIGVuY29kZXIgPDwgY29tbWFuZE5hbWU7
CiAgICAgZW5jb2RlciA8PCBwcmlvcml0eTsKIH0KIApAQCAtNzksOSArNjIsNiBAQCBzdGQ6Om9w
dGlvbmFsPFRvdWNoQmFyTWVudUl0ZW1EYXRhPiBUb3VjaEJhck1lbnVJdGVtRGF0YTo6ZGVjb2Rl
KElQQzo6RGVjb2RlciYgZAogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmlkZW50aWZp
ZXIpKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIAotICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUocmVzdWx0LmNvbW1hbmROYW1lKSkKLSAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9w
dDsKLSAgICAKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5wcmlvcml0eSkpCiAgICAg
ICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Ub3VjaEJhck1lbnVJdGVtRGF0YS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvVG91
Y2hCYXJNZW51SXRlbURhdGEuaAppbmRleCAwYWZjYTM1Y2IyNjY2NTI4MDEwMjZlYjE1N2I0Yzdh
ZDM3ZjIwZWU0Li5lZGM5YmViODRhNjdhMTUyNGJiNzg0ZDY5YzI4ZTM5ZWRkZGJmMDExIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Ub3VjaEJhck1lbnVJdGVtRGF0YS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1RvdWNoQmFyTWVudUl0ZW1EYXRhLmgKQEAgLTI1LDcgKzI1
LDYgQEAKIAogI3ByYWdtYSBvbmNlCiAjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnMuaCIKLSNpbmNs
dWRlIDxXZWJDb3JlL0hUTUxNZW51SXRlbUVsZW1lbnQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIElQQyB7CkBAIC0zMyw2ICszMiwxMCBAQCBjbGFzcyBE
ZWNvZGVyOwogY2xhc3MgRW5jb2RlcjsKIH0KIAorbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3Mg
SFRNTE1lbnVJdGVtRWxlbWVudDsKK30KKwogbmFtZXNwYWNlIFdlYktpdCB7CiAgICAgCiAvLyBC
YXNlZCBvbiBOU1RvdWNoQmFySXRlbSB0eXBlcy4KQEAgLTQxLDE5ICs0NCwxNyBAQCBlbnVtIEl0
ZW1UeXBlIHsKIH07CiAKIHN0cnVjdCBUb3VjaEJhck1lbnVJdGVtRGF0YSB7Ci0gICAgZXhwbGlj
aXQgVG91Y2hCYXJNZW51SXRlbURhdGEoKTsKLSAgICBleHBsaWNpdCBUb3VjaEJhck1lbnVJdGVt
RGF0YShXZWJDb3JlOjpIVE1MTWVudUl0ZW1FbGVtZW50Jik7Ci0gICAgZXhwbGljaXQgVG91Y2hC
YXJNZW51SXRlbURhdGEoY29uc3QgVG91Y2hCYXJNZW51SXRlbURhdGEmKTsKKyAgICBleHBsaWNp
dCBUb3VjaEJhck1lbnVJdGVtRGF0YSgpID0gZGVmYXVsdDsKKyAgICBleHBsaWNpdCBUb3VjaEJh
ck1lbnVJdGVtRGF0YShjb25zdCBXZWJDb3JlOjpIVE1MTWVudUl0ZW1FbGVtZW50Jik7CisgICAg
ZXhwbGljaXQgVG91Y2hCYXJNZW51SXRlbURhdGEoY29uc3QgVG91Y2hCYXJNZW51SXRlbURhdGEm
KSA9IGRlZmF1bHQ7CiAgICAgCiAgICAgdm9pZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7
CiAgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8VG91Y2hCYXJNZW51SXRlbURhdGE+IGRlY29kZShJ
UEM6OkRlY29kZXImKTsKLSAgICBzdGF0aWMgSXRlbVR5cGUgZ2V0SXRlbVR5cGUoU3RyaW5nKTsK
ICAgICAKICAgICBib29sIHZhbGlkVG91Y2hCYXJEaXNwbGF5IHsgdHJ1ZSB9OwogICAgIAogICAg
IEl0ZW1UeXBlIGl0ZW1UeXBlIHsgSXRlbVR5cGU6OkJ1dHRvbiB9OwogICAgIFN0cmluZyBpZGVu
dGlmaWVyOwotICAgIFN0cmluZyBjb21tYW5kTmFtZTsKICAgICBmbG9hdCBwcmlvcml0eSB7IDAu
MCB9OwogfTsKICAgICAKQEAgLTgyLDcgKzgzLDYgQEAgaW5saW5lIGJvb2wgb3BlcmF0b3I9PShj
b25zdCBUb3VjaEJhck1lbnVJdGVtRGF0YSYgbGhzLCBjb25zdCBUb3VjaEJhck1lbnVJdGVtRGEK
IHsKICAgICByZXR1cm4gbGhzLml0ZW1UeXBlID09IHJocy5pdGVtVHlwZQogICAgICYmIGxocy5p
ZGVudGlmaWVyID09IHJocy5pZGVudGlmaWVyCi0gICAgJiYgbGhzLmNvbW1hbmROYW1lID09IHJo
cy5jb21tYW5kTmFtZQogICAgICYmIGxocy5wcmlvcml0eSA9PSByaHMucHJpb3JpdHk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpp
bmRleCAzNWY2NDZlNWE1ZjQ4MTUzYTlhYmYyYzUwNzQ3YTA3NDYwN2E5ZGI4Li4xZWZhNWZjZWZl
MmMzOGM1M2JiNWZmYTFkYWYwN2UyZmM1NjU3OGU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0zMTQsNyArMzE0LDYgQEAgbWVz
c2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBTdGFydERyYWcoc3RydWN0IFdlYktpdDo6V2Vi
U2VsZWN0aW9uRGF0YSBzZWxlY3Rpb24sIHVpbnQ2NF90IGRyYWdPcGVyYXRpb24sIFdlYktpdDo6
U2hhcmVhYmxlQml0bWFwOjpIYW5kbGUgZHJhZ0ltYWdlKQogI2VuZGlmCiAKLQogI2lmIEVOQUJM
RShEQVRBX0lOVEVSQUNUSU9OKQogICAgIERpZFBlcmZvcm1EYXRhSW50ZXJhY3Rpb25Db250cm9s
bGVyT3BlcmF0aW9uKGJvb2wgaGFuZGxlZCkKICAgICBEaWRIYW5kbGVTdGFydERhdGFJbnRlcmFj
dGlvblJlcXVlc3QoYm9vbCBzdGFydGVkKQo=
</data>
<flag name="review"
          id="347417"
          type_id="1"
          status="+"
          setter="joepeck"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328220</attachid>
            <date>2017-12-02 00:14:37 -0800</date>
            <delta_ts>2017-12-02 00:47:26 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-180305-20171202001436.patch</filename>
            <type>text/plain</type>
            <size>9989</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1NDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDY2ZDJmM2I2NTg5MzAzMDRm
YTUyY2UzN2Q4NzRiMTdiODlhNjhjNzIuLmFkMTFkZDk5NTIwN2E2Yzk0MDU2OTVlM2NmZTNkMjc0
MmRlNDI5ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTctMTItMDEgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBzb21lIG1pbm9y
IGFkanVzdG1lbnRzIHRvIFRvdWNoQmFyTWVudURhdGEgYW5kIFRvdWNoQmFyTWVudUl0ZW1EYXRh
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAzMDUK
KworICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAgTWFyayBz
b21lIG1ldGhvZHMgYW5kIHBhcmFtZXRlcnMgYXMgY29uc3QsIHVzZSB0aGUgZGVmYXVsdCBjb25z
dHJ1Y3RvciBpbiBtb3JlIHBsYWNlcywgYW5kIGFsc28gcmVtb3ZlIGEgZmV3CisgICAgICAgIGV4
dHJhbmVvdXMgaW1wb3J0ZWQgaGVhZGVycy4KKworICAgICAgICAqIFNoYXJlZC9Ub3VjaEJhck1l
bnVEYXRhLmNwcDoKKyAgICAgICAgKFdlYktpdDo6VG91Y2hCYXJNZW51RGF0YTo6VG91Y2hCYXJN
ZW51RGF0YSk6CisKKyAgICAgICAgQWRkIGEgRklYTUUgcmVnYXJkaW5nIHRoZSB1c2Ugb2YgdGhl
ICdpZCcgYXR0cmlidXRlLgorCisgICAgICAgIChXZWJLaXQ6OlRvdWNoQmFyTWVudURhdGE6OmRl
Y29kZSk6CisgICAgICAgICogU2hhcmVkL1RvdWNoQmFyTWVudURhdGEuaDoKKyAgICAgICAgKFdl
YktpdDo6VG91Y2hCYXJNZW51RGF0YTo6aXRlbXMgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpU
b3VjaEJhck1lbnVEYXRhOjpzZXRJRCk6CisgICAgICAgIChXZWJLaXQ6OlRvdWNoQmFyTWVudURh
dGE6OmlzUGFnZUN1c3RvbWl6ZWQgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpUb3VjaEJhck1l
bnVEYXRhOjppdGVtcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OlRvdWNoQmFyTWVudURh
dGE6OmlzUGFnZUN1c3RvbWl6ZWQpOiBEZWxldGVkLgorICAgICAgICAqIFNoYXJlZC9Ub3VjaEJh
ck1lbnVJdGVtRGF0YS5jcHA6CisgICAgICAgIChXZWJLaXQ6OmdldEl0ZW1UeXBlKToKKworICAg
ICAgICBDaGFuZ2UgYSBoZWxwZXIgbWV0aG9kIGZyb20gYSBzdGF0aWMgY2xhc3MgZnVuY3Rpb24g
dG8gYSBzdGF0aWMgZnVuY3Rpb24gaW4gdGhlIGltcGxlbWVudGF0aW9uIGZpbGUuCisKKyAgICAg
ICAgKFdlYktpdDo6VG91Y2hCYXJNZW51SXRlbURhdGE6OlRvdWNoQmFyTWVudUl0ZW1EYXRhKToK
KyAgICAgICAgKFdlYktpdDo6VG91Y2hCYXJNZW51SXRlbURhdGE6OmVuY29kZSBjb25zdCk6Cisg
ICAgICAgIChXZWJLaXQ6OlRvdWNoQmFyTWVudUl0ZW1EYXRhOjpkZWNvZGUpOgorICAgICAgICAo
V2ViS2l0OjpUb3VjaEJhck1lbnVJdGVtRGF0YTo6Z2V0SXRlbVR5cGUpOiBEZWxldGVkLgorICAg
ICAgICAqIFNoYXJlZC9Ub3VjaEJhck1lbnVJdGVtRGF0YS5oOgorICAgICAgICAoV2ViS2l0Ojpv
cGVyYXRvcj09KToKKworICAgICAgICBSZW1vdmUgdGhlIGNvbW1hbmROYW1lIG1lbWJlciB2YXJp
YWJsZSwgc2luY2UgaXQgZG9lc24ndCBtYWtlIHNlbnNlIHRvIHByb3BhZ2F0ZSBhbiBldmVudCBo
YW5kbGVyCisgICAgICAgIGF0dHJpYnV0ZSBmcm9tIFdlYkNvcmUgdG8gdGhlIGNsaWVudCBsYXll
ci4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisKIDIw
MTctMTItMDEgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQgR1RLKyBkZWJ1ZyBidWlsZCBmaXguIFJlcGxhY2UgQVNTRVJUX1VOVVNFRCgp
IHdpdGggVU5VU0VEX1BBUkFNKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Rv
dWNoQmFyTWVudURhdGEuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvVG91Y2hCYXJNZW51RGF0
YS5jcHAKaW5kZXggNmNjOGM3NDMwZWQzYzExMzExN2YyMDc1ZWJiZDg0ZjAxZTkxZmUyNi4uNzUy
NDc2M2UzNWFiMTdlMmI1ZDRjNWNiZmMyMzMwNDNmMDA0M2QyMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvVG91Y2hCYXJNZW51RGF0YS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvVG91Y2hCYXJNZW51RGF0YS5jcHAKQEAgLTMwLDMyICszMCwyMyBAQAogI2luY2x1ZGUg
IkVuY29kZXIuaCIKICNpbmNsdWRlICJUb3VjaEJhck1lbnVJdGVtRGF0YS5oIgogI2luY2x1ZGUg
IldlYkNvcmVBcmd1bWVudENvZGVycy5oIgotI2luY2x1ZGUgPFdlYkNvcmUvSFRNTEVsZW1lbnQu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL0hUTUxNZW51RWxlbWVudC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvSFRNTE5hbWVzLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9Ob2RlLmg+CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogICAgIAotVG91Y2hCYXJNZW51RGF0YTo6VG91Y2hCYXJNZW51RGF0YSgpCi17Ci19
Ci0gICAgCi1Ub3VjaEJhck1lbnVEYXRhOjpUb3VjaEJhck1lbnVEYXRhKFdlYkNvcmU6OkhUTUxN
ZW51RWxlbWVudCYgZWxlbWVudCkKK1RvdWNoQmFyTWVudURhdGE6OlRvdWNoQmFyTWVudURhdGEo
Y29uc3QgV2ViQ29yZTo6SFRNTE1lbnVFbGVtZW50JiBlbGVtZW50KQogewogICAgIGlmICghZWxl
bWVudC5pc1RvdWNoQmFyTWVudSgpKQogICAgICAgICByZXR1cm47CisKKyAgICAvLyBGSVhNRTog
V2UgY2FuJ3QgcmVseSBvbiB1c2luZyB0aGUgJ2lkJyBhdHRyaWJ1dGUgb2YgdGhlIGVsZW1lbnQg
aGVyZSB0byBkaXN0aW5ndWlzaAorICAgIC8vIGJldHdlZW4gZGlmZmVyZW50IG1lbnUgaXRlbXMu
IEZvciBpbnN0YW5jZSwgYSBtZW51aXRlbSBtYXkgaGF2ZSB0aGUgc2FtZSAnaWQnIGFzCisgICAg
Ly8gYW5vdGhlciwgb3IgaGF2ZSBubyAnaWQnIGF0IGFsbC4KICAgICBtX2lkID0gZWxlbWVudC5h
dHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKFdlYkNvcmU6OkhUTUxOYW1lczo6aWRBdHRy
KTsKICAgICBtX2lzUGFnZUN1c3RvbWl6ZWQgPSB0cnVlOwogfQogICAgIAotVG91Y2hCYXJNZW51
RGF0YTo6VG91Y2hCYXJNZW51RGF0YShjb25zdCBUb3VjaEJhck1lbnVEYXRhJiB0b3VjaEJhck1l
bnVEYXRhKQotICAgIDogbV9pdGVtcyh0b3VjaEJhck1lbnVEYXRhLm1faXRlbXMpCi0gICAgLCBt
X2lkKHRvdWNoQmFyTWVudURhdGEubV9pZCkKLSAgICAsIG1faXNQYWdlQ3VzdG9taXplZCh0b3Vj
aEJhck1lbnVEYXRhLm1faXNQYWdlQ3VzdG9taXplZCkKLXsKLX0KLSAgICAKIHZvaWQgVG91Y2hC
YXJNZW51RGF0YTo6YWRkTWVudUl0ZW0oY29uc3QgVG91Y2hCYXJNZW51SXRlbURhdGEmIGRhdGEp
CiB7CiAgICAgbV9pdGVtcy5hcHBlbmQoZGF0YSk7CkBAIC03MywxMCArNjQsNyBAQCB2b2lkIFRv
dWNoQmFyTWVudURhdGE6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAKIGJv
b2wgVG91Y2hCYXJNZW51RGF0YTo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgVG91Y2hC
YXJNZW51RGF0YSYgZGF0YSkKIHsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGRhdGEubV9pdGVt
cykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAKLSAgICByZXR1cm4gdHJ1ZTsKKyAgICBy
ZXR1cm4gZGVjb2Rlci5kZWNvZGUoZGF0YS5tX2l0ZW1zKTsKIH0KICAgICAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1RvdWNoQmFyTWVudURhdGEuaCBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1RvdWNoQmFyTWVudURhdGEuaAppbmRleCBlMjBkMDMxZmJhODFiNTUyN2MwZmY2
OTc4MDc5YTUyZDkxMjUxMWEzLi44ZmMyMjliYTgwYzgxYjgwOTBjMjIxN2NmYmRlZGZiMGJmNDQ4
OWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Ub3VjaEJhck1lbnVEYXRhLmgK
KysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvVG91Y2hCYXJNZW51RGF0YS5oCkBAIC0yNiw3ICsy
Niw2IEBACiAjcHJhZ21hIG9uY2UKICNpbmNsdWRlICJBcmd1bWVudENvZGVycy5oIgogI2luY2x1
ZGUgIlRvdWNoQmFyTWVudUl0ZW1EYXRhLmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9IVE1MTWVudUVs
ZW1lbnQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIElQ
QyB7CkBAIC0zNCwyNCArMzMsMjggQEAgY2xhc3MgRGVjb2RlcjsKIGNsYXNzIEVuY29kZXI7CiB9
CiAKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIEhUTUxNZW51RWxlbWVudDsKK30KKwogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIFRvdWNoQmFyTWVudURhdGEgewogcHVibGljOgotICAg
IGV4cGxpY2l0IFRvdWNoQmFyTWVudURhdGEoKTsKLSAgICBleHBsaWNpdCBUb3VjaEJhck1lbnVE
YXRhKFdlYkNvcmU6OkhUTUxNZW51RWxlbWVudCYpOwotICAgIGV4cGxpY2l0IFRvdWNoQmFyTWVu
dURhdGEoY29uc3QgVG91Y2hCYXJNZW51RGF0YSYpOworICAgIGV4cGxpY2l0IFRvdWNoQmFyTWVu
dURhdGEoKSA9IGRlZmF1bHQ7CisgICAgZXhwbGljaXQgVG91Y2hCYXJNZW51RGF0YShjb25zdCBX
ZWJDb3JlOjpIVE1MTWVudUVsZW1lbnQmKTsKKyAgICBleHBsaWNpdCBUb3VjaEJhck1lbnVEYXRh
KGNvbnN0IFRvdWNoQmFyTWVudURhdGEmKSA9IGRlZmF1bHQ7CiAKICAgICB2b2lkIGFkZE1lbnVJ
dGVtKGNvbnN0IFRvdWNoQmFyTWVudUl0ZW1EYXRhJik7CiAgICAgdm9pZCByZW1vdmVNZW51SXRl
bShjb25zdCBUb3VjaEJhck1lbnVJdGVtRGF0YSYpOwogICAgIAotICAgIGNvbnN0IFZlY3RvcjxU
b3VjaEJhck1lbnVJdGVtRGF0YT4mIGl0ZW1zKCkgeyByZXR1cm4gbV9pdGVtczsgfQorICAgIGNv
bnN0IFZlY3RvcjxUb3VjaEJhck1lbnVJdGVtRGF0YT4mIGl0ZW1zKCkgY29uc3QgeyByZXR1cm4g
bV9pdGVtczsgfQogICAgIAogICAgIHZvaWQgZW5jb2RlKElQQzo6RW5jb2RlciYpIGNvbnN0Owog
ICAgIHN0YXRpYyBib29sIGRlY29kZShJUEM6OkRlY29kZXImLCBUb3VjaEJhck1lbnVEYXRhJik7
CiAgICAgCi0gICAgdm9pZCBzZXRJRChTdHJpbmcpOwotICAgIGJvb2wgaXNQYWdlQ3VzdG9taXpl
ZCgpIHsgcmV0dXJuIG1faXNQYWdlQ3VzdG9taXplZDsgfQorICAgIHZvaWQgc2V0SUQoY29uc3Qg
U3RyaW5nJiBpZGVudGlmaWVyKSB7IG1faWQgPSBpZGVudGlmaWVyOyB9CisgICAgYm9vbCBpc1Bh
Z2VDdXN0b21pemVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1BhZ2VDdXN0b21pemVkOyB9CiAgICAg
dm9pZCBzZXRJc1BhZ2VDdXN0b21pemVkKGJvb2wgY3VzdG9taXplZCkgeyBtX2lzUGFnZUN1c3Rv
bWl6ZWQgPSBjdXN0b21pemVkOyB9CiAgICAgCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TaGFyZWQvVG91Y2hCYXJNZW51SXRlbURhdGEuY3BwIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvVG91Y2hCYXJNZW51SXRlbURhdGEuY3BwCmluZGV4IGEwNWVkZjc2ZmQ0N2QxNmEwYzBh
MTlhZjlmMzVkNzA0Y2NmYzgzMGYuLjFlNWI4YzUzNmJhYTNmMDI5MzRmMWI3NDg0MzIwMTUwZmIz
MTllN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1RvdWNoQmFyTWVudUl0ZW1E
YXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Ub3VjaEJhck1lbnVJdGVtRGF0YS5j
cHAKQEAgLTI4LDQ1ICsyOCwyOCBAQAogI2luY2x1ZGUgIkRlY29kZXIuaCIKICNpbmNsdWRlICJF
bmNvZGVyLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCi0jaW5jbHVkZSA8
V2ViQ29yZS9IVE1MRWxlbWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSFRNTE1lbnVJdGVtRWxl
bWVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSFRNTE5hbWVzLmg+Ci0jaW5jbHVkZSA8V2ViQ29y
ZS9Ob2RlLmg+Ci0jaW5jbHVkZSA8dmVjdG9yPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotSXRl
bVR5cGUgVG91Y2hCYXJNZW51SXRlbURhdGE6OmdldEl0ZW1UeXBlKFN0cmluZyB2YWx1ZSkKK3N0
YXRpYyBJdGVtVHlwZSBnZXRJdGVtVHlwZShjb25zdCBTdHJpbmcmKQogewogICAgIHJldHVybiBJ
dGVtVHlwZTo6QnV0dG9uOwogfQogCi1Ub3VjaEJhck1lbnVJdGVtRGF0YTo6VG91Y2hCYXJNZW51
SXRlbURhdGEoKQotewotfQotCi1Ub3VjaEJhck1lbnVJdGVtRGF0YTo6VG91Y2hCYXJNZW51SXRl
bURhdGEoV2ViQ29yZTo6SFRNTE1lbnVJdGVtRWxlbWVudCYgZWxlbWVudCkKK1RvdWNoQmFyTWVu
dUl0ZW1EYXRhOjpUb3VjaEJhck1lbnVJdGVtRGF0YShjb25zdCBXZWJDb3JlOjpIVE1MTWVudUl0
ZW1FbGVtZW50JiBlbGVtZW50KQogewogICAgIGl0ZW1UeXBlID0gZ2V0SXRlbVR5cGUoZWxlbWVu
dC5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKFdlYkNvcmU6OkhUTUxOYW1lczo6dHlw
ZUF0dHIpKTsKICAgICBpZGVudGlmaWVyID0gZWxlbWVudC5hdHRyaWJ1dGVXaXRob3V0U3luY2hy
b25pemF0aW9uKFdlYkNvcmU6OkhUTUxOYW1lczo6aWRBdHRyKTsKLSAgICBjb21tYW5kTmFtZSA9
IGVsZW1lbnQuYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihXZWJDb3JlOjpIVE1MTmFt
ZXM6Om9uY2xpY2tBdHRyKTsKICAgICBwcmlvcml0eSA9IGVsZW1lbnQuYXR0cmlidXRlV2l0aG91
dFN5bmNocm9uaXphdGlvbihXZWJDb3JlOjpIVE1MTmFtZXM6OnZhbHVlQXR0cikudG9GbG9hdCgp
OwogfQotICAgIAotVG91Y2hCYXJNZW51SXRlbURhdGE6OlRvdWNoQmFyTWVudUl0ZW1EYXRhKGNv
bnN0IFRvdWNoQmFyTWVudUl0ZW1EYXRhJiBvdGhlcikKLSAgICA6IGl0ZW1UeXBlKG90aGVyLml0
ZW1UeXBlKQotICAgICwgaWRlbnRpZmllcihvdGhlci5pZGVudGlmaWVyKQotICAgICwgY29tbWFu
ZE5hbWUob3RoZXIuY29tbWFuZE5hbWUpCi0gICAgLCBwcmlvcml0eShvdGhlci5wcmlvcml0eSkK
LXsKLX0KIAogdm9pZCBUb3VjaEJhck1lbnVJdGVtRGF0YTo6ZW5jb2RlKElQQzo6RW5jb2RlciYg
ZW5jb2RlcikgY29uc3QKIHsKICAgICBlbmNvZGVyLmVuY29kZUVudW0oaXRlbVR5cGUpOwogICAg
IAogICAgIGVuY29kZXIgPDwgaWRlbnRpZmllcjsKLSAgICBlbmNvZGVyIDw8IGNvbW1hbmROYW1l
OwogICAgIGVuY29kZXIgPDwgcHJpb3JpdHk7CiB9CiAKQEAgLTc5LDkgKzYyLDYgQEAgc3RkOjpv
cHRpb25hbDxUb3VjaEJhck1lbnVJdGVtRGF0YT4gVG91Y2hCYXJNZW51SXRlbURhdGE6OmRlY29k
ZShJUEM6OkRlY29kZXImIGQKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5pZGVudGlm
aWVyKSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICAKLSAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKHJlc3VsdC5jb21tYW5kTmFtZSkpCi0gICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7Ci0gICAgCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQucHJpb3JpdHkpKQogICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9TaGFyZWQvVG91Y2hCYXJNZW51SXRlbURhdGEuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1Rv
dWNoQmFyTWVudUl0ZW1EYXRhLmgKaW5kZXggMGFmY2EzNWNiMjY2NjUyODAxMDI2ZWIxNTdiNGM3
YWQzN2YyMGVlNC4uNDlmNDRlNWJjNjc1YzVlMDhkYzYxNDY0NWU0ZDZhZjY2NGE3YzgwNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvVG91Y2hCYXJNZW51SXRlbURhdGEuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Ub3VjaEJhck1lbnVJdGVtRGF0YS5oCkBAIC0yNSw3ICsy
NSw2IEBACiAKICNwcmFnbWEgb25jZQogI2luY2x1ZGUgIkFyZ3VtZW50Q29kZXJzLmgiCi0jaW5j
bHVkZSA8V2ViQ29yZS9IVE1MTWVudUl0ZW1FbGVtZW50Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBJUEMgewpAQCAtMzMsNiArMzIsMTAgQEAgY2xhc3Mg
RGVjb2RlcjsKIGNsYXNzIEVuY29kZXI7CiB9CiAKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNz
IEhUTUxNZW51SXRlbUVsZW1lbnQ7Cit9CisKIG5hbWVzcGFjZSBXZWJLaXQgewogICAgIAogLy8g
QmFzZWQgb24gTlNUb3VjaEJhckl0ZW0gdHlwZXMuCkBAIC00MSwyMCArNDQsMTcgQEAgZW51bSBJ
dGVtVHlwZSB7CiB9OwogCiBzdHJ1Y3QgVG91Y2hCYXJNZW51SXRlbURhdGEgewotICAgIGV4cGxp
Y2l0IFRvdWNoQmFyTWVudUl0ZW1EYXRhKCk7Ci0gICAgZXhwbGljaXQgVG91Y2hCYXJNZW51SXRl
bURhdGEoV2ViQ29yZTo6SFRNTE1lbnVJdGVtRWxlbWVudCYpOwotICAgIGV4cGxpY2l0IFRvdWNo
QmFyTWVudUl0ZW1EYXRhKGNvbnN0IFRvdWNoQmFyTWVudUl0ZW1EYXRhJik7CisgICAgZXhwbGlj
aXQgVG91Y2hCYXJNZW51SXRlbURhdGEoKSA9IGRlZmF1bHQ7CisgICAgZXhwbGljaXQgVG91Y2hC
YXJNZW51SXRlbURhdGEoY29uc3QgV2ViQ29yZTo6SFRNTE1lbnVJdGVtRWxlbWVudCYpOworICAg
IGV4cGxpY2l0IFRvdWNoQmFyTWVudUl0ZW1EYXRhKGNvbnN0IFRvdWNoQmFyTWVudUl0ZW1EYXRh
JikgPSBkZWZhdWx0OwogICAgIAogICAgIHZvaWQgZW5jb2RlKElQQzo6RW5jb2RlciYpIGNvbnN0
OwogICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFRvdWNoQmFyTWVudUl0ZW1EYXRhPiBkZWNvZGUo
SVBDOjpEZWNvZGVyJik7Ci0gICAgc3RhdGljIEl0ZW1UeXBlIGdldEl0ZW1UeXBlKFN0cmluZyk7
Ci0gICAgCi0gICAgYm9vbCB2YWxpZFRvdWNoQmFyRGlzcGxheSB7IHRydWUgfTsKICAgICAKICAg
ICBJdGVtVHlwZSBpdGVtVHlwZSB7IEl0ZW1UeXBlOjpCdXR0b24gfTsKICAgICBTdHJpbmcgaWRl
bnRpZmllcjsKLSAgICBTdHJpbmcgY29tbWFuZE5hbWU7CiAgICAgZmxvYXQgcHJpb3JpdHkgeyAw
LjAgfTsKKyAgICBib29sIHZhbGlkVG91Y2hCYXJEaXNwbGF5IHsgdHJ1ZSB9OwogfTsKICAgICAK
IC8vIFRvdWNoIEJhciBNZW51IEl0ZW1zIHdpbGwgYmUgb3JkZXJlZCBiYXNlZCBvbiBwcmlvcml0
eS4KQEAgLTgyLDcgKzgyLDYgQEAgaW5saW5lIGJvb2wgb3BlcmF0b3I9PShjb25zdCBUb3VjaEJh
ck1lbnVJdGVtRGF0YSYgbGhzLCBjb25zdCBUb3VjaEJhck1lbnVJdGVtRGEKIHsKICAgICByZXR1
cm4gbGhzLml0ZW1UeXBlID09IHJocy5pdGVtVHlwZQogICAgICYmIGxocy5pZGVudGlmaWVyID09
IHJocy5pZGVudGlmaWVyCi0gICAgJiYgbGhzLmNvbW1hbmROYW1lID09IHJocy5jb21tYW5kTmFt
ZQogICAgICYmIGxocy5wcmlvcml0eSA9PSByaHMucHJpb3JpdHk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCAzNWY2NDZl
NWE1ZjQ4MTUzYTlhYmYyYzUwNzQ3YTA3NDYwN2E5ZGI4Li4xZWZhNWZjZWZlMmMzOGM1M2JiNWZm
YTFkYWYwN2UyZmM1NjU3OGU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0zMTQsNyArMzE0LDYgQEAgbWVzc2FnZXMgLT4gV2Vi
UGFnZVByb3h5IHsKICAgICBTdGFydERyYWcoc3RydWN0IFdlYktpdDo6V2ViU2VsZWN0aW9uRGF0
YSBzZWxlY3Rpb24sIHVpbnQ2NF90IGRyYWdPcGVyYXRpb24sIFdlYktpdDo6U2hhcmVhYmxlQml0
bWFwOjpIYW5kbGUgZHJhZ0ltYWdlKQogI2VuZGlmCiAKLQogI2lmIEVOQUJMRShEQVRBX0lOVEVS
QUNUSU9OKQogICAgIERpZFBlcmZvcm1EYXRhSW50ZXJhY3Rpb25Db250cm9sbGVyT3BlcmF0aW9u
KGJvb2wgaGFuZGxlZCkKICAgICBEaWRIYW5kbGVTdGFydERhdGFJbnRlcmFjdGlvblJlcXVlc3Qo
Ym9vbCBzdGFydGVkKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328309</attachid>
            <date>2017-12-03 14:58:13 -0800</date>
            <delta_ts>2017-12-04 16:13:12 -0800</delta_ts>
            <desc>Minor additional tweak</desc>
            <filename>bug-180305-20171203145812.patch</filename>
            <type>text/plain</type>
            <size>3955</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1NDYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDdjYmY1ZWMxNWY3MjRiMTgw
YzE4MjQ3YzBhNTQ4ZDExY2I2YmEzZDYuLmM5MGY0YmQ1NGFjMGEwNGQwYmM0NTMyMzRhOTM4YWVk
ZjhlNGY2YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTctMTItMDMgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgUmVuYW1lIGEgc3RhdGlj
IGhlbHBlciBpbiBUb3VjaEJhck1lbnVJdGVtRGF0YS5jcHAgdG8gbWF0Y2ggc3R5bGUgZ3VpZGVs
aW5lcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
MDMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN0
eWxlIGd1aWRlbGluZXMgc3RhdGUgdGhhdCB3ZSBzaG91bGQgdXNlIGJhcmUgd29yZHMgZm9yIGdl
dHRlcnMsIHNvIGdldEl0ZW1UeXBlIHNob3VsZCBqdXN0IGJlCisgICAgICAgIGl0ZW1UeXBlLiBT
aW5jZSB0aGlzIGNvbGxpZGVzIHdpdGggdGhlIGl0ZW1UeXBlIG1lbWJlciB2YXJpYWJsZSwgdGhp
cyBwYXRjaCBhbHNvIHJlbmFtZXMgdGhhdAorICAgICAgICBtZW1iZXIgdmFyaWFibGUgdG8gdGhl
IG1vcmUgY29uY2lzZSAidHlwZSIuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yLgor
CisgICAgICAgICogU2hhcmVkL1RvdWNoQmFyTWVudUl0ZW1EYXRhLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6aXRlbVR5cGUpOgorICAgICAgICAoV2ViS2l0OjpUb3VjaEJhck1lbnVJdGVtRGF0YTo6
VG91Y2hCYXJNZW51SXRlbURhdGEpOgorICAgICAgICAoV2ViS2l0OjpUb3VjaEJhck1lbnVJdGVt
RGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6VG91Y2hCYXJNZW51SXRlbURh
dGE6OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6OmdldEl0ZW1UeXBlKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBTaGFyZWQvVG91Y2hCYXJNZW51SXRlbURhdGEuaDoKKyAgICAgICAgKFdlYktpdDo6
b3BlcmF0b3I9PSk6CisKIDIwMTctMTItMDMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KIAogICAgICAgICBJbXBsZW1lbnQgc2VsZi5za2lwV2FpdGluZygpIGluc2lkZSBzZXJ2aWNl
IHdvcmtlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1RvdWNoQmFyTWVudUl0
ZW1EYXRhLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1RvdWNoQmFyTWVudUl0ZW1EYXRhLmNw
cAppbmRleCAxZTViOGM1MzZiYWEzZjAyOTM0ZjFiNzQ4NDMyMDE1MGZiMzE5ZTdmLi5kMDIyNmJi
OWE5ZWMxYmFlMTgzNWJiZGRlMTM0OGMxMjg2NmJkMTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Ub3VjaEJhck1lbnVJdGVtRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvVG91Y2hCYXJNZW51SXRlbURhdGEuY3BwCkBAIC0zMywyMSArMzMsMjEgQEAKIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKLXN0YXRpYyBJdGVtVHlwZSBnZXRJdGVtVHlwZShjb25zdCBTdHJp
bmcmKQorc3RhdGljIEl0ZW1UeXBlIGl0ZW1UeXBlKGNvbnN0IFN0cmluZyYpCiB7CiAgICAgcmV0
dXJuIEl0ZW1UeXBlOjpCdXR0b247CiB9CiAKIFRvdWNoQmFyTWVudUl0ZW1EYXRhOjpUb3VjaEJh
ck1lbnVJdGVtRGF0YShjb25zdCBXZWJDb3JlOjpIVE1MTWVudUl0ZW1FbGVtZW50JiBlbGVtZW50
KQogewotICAgIGl0ZW1UeXBlID0gZ2V0SXRlbVR5cGUoZWxlbWVudC5hdHRyaWJ1dGVXaXRob3V0
U3luY2hyb25pemF0aW9uKFdlYkNvcmU6OkhUTUxOYW1lczo6dHlwZUF0dHIpKTsKKyAgICB0eXBl
ID0gaXRlbVR5cGUoZWxlbWVudC5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKFdlYkNv
cmU6OkhUTUxOYW1lczo6dHlwZUF0dHIpKTsKICAgICBpZGVudGlmaWVyID0gZWxlbWVudC5hdHRy
aWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKFdlYkNvcmU6OkhUTUxOYW1lczo6aWRBdHRyKTsK
ICAgICBwcmlvcml0eSA9IGVsZW1lbnQuYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihX
ZWJDb3JlOjpIVE1MTmFtZXM6OnZhbHVlQXR0cikudG9GbG9hdCgpOwogfQogCiB2b2lkIFRvdWNo
QmFyTWVudUl0ZW1EYXRhOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewot
ICAgIGVuY29kZXIuZW5jb2RlRW51bShpdGVtVHlwZSk7CisgICAgZW5jb2Rlci5lbmNvZGVFbnVt
KHR5cGUpOwogICAgIAogICAgIGVuY29kZXIgPDwgaWRlbnRpZmllcjsKICAgICBlbmNvZGVyIDw8
IHByaW9yaXR5OwpAQCAtNTYsNyArNTYsNyBAQCB2b2lkIFRvdWNoQmFyTWVudUl0ZW1EYXRhOjpl
bmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogc3RkOjpvcHRpb25hbDxUb3VjaEJh
ck1lbnVJdGVtRGF0YT4gVG91Y2hCYXJNZW51SXRlbURhdGE6OmRlY29kZShJUEM6OkRlY29kZXIm
IGRlY29kZXIpCiB7CiAgICAgVG91Y2hCYXJNZW51SXRlbURhdGEgcmVzdWx0OwotICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGVFbnVtKHJlc3VsdC5pdGVtVHlwZSkpCisgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZUVudW0ocmVzdWx0LnR5cGUpKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAg
IAogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmlkZW50aWZpZXIpKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvVG91Y2hCYXJNZW51SXRlbURhdGEuaCBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL1RvdWNoQmFyTWVudUl0ZW1EYXRhLmgKaW5kZXggNDlmNDRlNWJjNjc1YzVl
MDhkYzYxNDY0NWU0ZDZhZjY2NGE3YzgwNS4uMjM4ZTYzNjM3NzRlN2I1M2FmODZlMGFjMTM3NmZm
MWIyMDVjM2EwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvVG91Y2hCYXJNZW51
SXRlbURhdGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Ub3VjaEJhck1lbnVJdGVtRGF0
YS5oCkBAIC01MSw3ICs1MSw3IEBAIHN0cnVjdCBUb3VjaEJhck1lbnVJdGVtRGF0YSB7CiAgICAg
dm9pZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7CiAgICAgc3RhdGljIHN0ZDo6b3B0aW9u
YWw8VG91Y2hCYXJNZW51SXRlbURhdGE+IGRlY29kZShJUEM6OkRlY29kZXImKTsKICAgICAKLSAg
ICBJdGVtVHlwZSBpdGVtVHlwZSB7IEl0ZW1UeXBlOjpCdXR0b24gfTsKKyAgICBJdGVtVHlwZSB0
eXBlIHsgSXRlbVR5cGU6OkJ1dHRvbiB9OwogICAgIFN0cmluZyBpZGVudGlmaWVyOwogICAgIGZs
b2F0IHByaW9yaXR5IHsgMC4wIH07CiAgICAgYm9vbCB2YWxpZFRvdWNoQmFyRGlzcGxheSB7IHRy
dWUgfTsKQEAgLTgwLDkgKzgwLDkgQEAgaW5saW5lIGJvb2wgb3BlcmF0b3I+PShjb25zdCBUb3Vj
aEJhck1lbnVJdGVtRGF0YSYgbGhzLCBjb25zdCBUb3VjaEJhck1lbnVJdGVtRGEKIAogaW5saW5l
IGJvb2wgb3BlcmF0b3I9PShjb25zdCBUb3VjaEJhck1lbnVJdGVtRGF0YSYgbGhzLCBjb25zdCBU
b3VjaEJhck1lbnVJdGVtRGF0YSYgcmhzKQogewotICAgIHJldHVybiBsaHMuaXRlbVR5cGUgPT0g
cmhzLml0ZW1UeXBlCi0gICAgJiYgbGhzLmlkZW50aWZpZXIgPT0gcmhzLmlkZW50aWZpZXIKLSAg
ICAmJiBsaHMucHJpb3JpdHkgPT0gcmhzLnByaW9yaXR5OworICAgIHJldHVybiBsaHMudHlwZSA9
PSByaHMudHlwZQorICAgICAgICAmJiBsaHMuaWRlbnRpZmllciA9PSByaHMuaWRlbnRpZmllcgor
ICAgICAgICAmJiBsaHMucHJpb3JpdHkgPT0gcmhzLnByaW9yaXR5OwogfQogCiBpbmxpbmUgYm9v
bCBvcGVyYXRvciE9KGNvbnN0IFRvdWNoQmFyTWVudUl0ZW1EYXRhJiBsaHMsIGNvbnN0IFRvdWNo
QmFyTWVudUl0ZW1EYXRhJiByaHMpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>