<?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>183914</bug_id>
          
          <creation_ts>2018-03-22 13:05:25 -0700</creation_ts>
          <short_desc>Add placeholder call and jump MacroAssembler emitters that take PtrTag in a register.</short_desc>
          <delta_ts>2018-04-13 13:40:08 -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>JavaScriptCore</component>
          <version>WebKit 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</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1408453</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-03-22 13:05:25 -0700</bug_when>
    <thetext>This is in preparation for supporting pointer profiling work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408455</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-22 13:06:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/38763536&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408457</commentid>
    <comment_count>2</comment_count>
      <attachid>336299</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-03-22 13:09:47 -0700</bug_when>
    <thetext>Created attachment 336299
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408460</commentid>
    <comment_count>3</comment_count>
      <attachid>336302</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-03-22 13:21:45 -0700</bug_when>
    <thetext>Created attachment 336302
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408462</commentid>
    <comment_count>4</comment_count>
      <attachid>336303</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-03-22 13:26:43 -0700</bug_when>
    <thetext>Created attachment 336303
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408464</commentid>
    <comment_count>5</comment_count>
      <attachid>336305</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-03-22 13:29:51 -0700</bug_when>
    <thetext>Created attachment 336305
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1408490</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-03-22 14:24:46 -0700</bug_when>
    <thetext>Thanks for the review.  Landed in r229863: &lt;http://trac.webkit.org/r229863&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414508</commentid>
    <comment_count>7</comment_count>
      <attachid>336305</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2018-04-13 13:40:08 -0700</bug_when>
    <thetext>Comment on attachment 336305
proposed patch.

This change is pretty crazy.  First of all, the intended use of call tags is that they should be constants, so having them be passed in register by default is revealing a weird ARMism - in all other places, constants are passed to the assembler as constants, not as registers.  Second, it means that call(register) now means something completely different than what anyone would expect it to mean: it means a patchable call and the register is ignored!

Is it possible to roll this out?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336299</attachid>
            <date>2018-03-22 13:09:47 -0700</date>
            <delta_ts>2018-03-22 13:21:45 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-183914.patch</filename>
            <type>text/plain</type>
            <size>10363</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjI5ODU5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBA
CisyMDE4LTAzLTIyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgcGxhY2Vob2xkZXIgY2FsbCBhbmQganVtcCBNYWNyb0Fzc2VtYmxlciBlbWl0dGVycyB0aGF0
IHRha2UgUHRyVGFnIGluIGEgcmVnaXN0ZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5MTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4NzYz
NTM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
aXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIHN1cHBvcnRpbmcgcG9pbnRlciBwcm9maWxpbmcgd29y
ay4KKworICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oOgorICAgICAgICAo
SlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6anVtcCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1i
bGVyQVJNOjpjYWxsKToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5o
OgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTY0OjpjYWxsKToKKyAgICAgICAgKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJBUk02NDo6anVtcCk6CisgICAgICAgICogYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyQVJNdjcuaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk12Nzo6anVt
cCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNdjc6OmNhbGwpOgorICAgICAgICAq
IGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3Nl
bWJsZXJNSVBTOjpqdW1wKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJNSVBTOjpjYWxs
KToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODYuaDoKKyAgICAgICAgKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJYODY6OmNhbGwpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxl
clg4Njo6anVtcCk6CisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9u
Lmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpqdW1wKToKKyAgICAg
ICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmNhbGwpOgorICAgICAgICAqIGFzc2Vt
Ymxlci9NYWNyb0Fzc2VtYmxlclg4Nl82NC5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxl
clg4Nl82NDo6Y2FsbCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2XzY0OjpqdW1w
KToKKwogMjAxOC0wMy0yMiAgRG9taW5payBJbmZ1ZWhyICA8ZGluZnVlaHJAaWdhbGlhLmNvbT4K
IAogICAgICAgICBbQVJNXSBUaHVtYjogRG8gbm90IGRlY29yYXRlIGJvdHRvbSBiaXQgdHdpY2UK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02
NC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9B
c3NlbWJsZXJBUk02NC5oCShyZXZpc2lvbiAyMjk4NTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuaAkod29ya2luZyBjb3B5KQpAQCAtMzEw
OCw2ICszMTA4LDEwIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGNhbGwoZGF0YVRlbXBSZWdp
c3RlciwgdGFnKTsKICAgICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChSZWdpc3Rl
cklEIGNhbGxUYWcpIHsgcmV0dXJuIFVOVVNFRF9QQVJBTShjYWxsVGFnKSwgY2FsbChOb1B0clRh
Zyk7IH0KKyAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChSZWdpc3RlcklEIHRhcmdldCwgUmVn
aXN0ZXJJRCBjYWxsVGFnKSB7IHJldHVybiBVTlVTRURfUEFSQU0oY2FsbFRhZyksIGNhbGwodGFy
Z2V0LCBOb1B0clRhZyk7IH0KKyAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChBZGRyZXNzIGFk
ZHJlc3MsIFJlZ2lzdGVySUQgY2FsbFRhZykgeyByZXR1cm4gVU5VU0VEX1BBUkFNKGNhbGxUYWcp
LCBjYWxsKGFkZHJlc3MsIE5vUHRyVGFnKTsgfQorCiAgICAgQUxXQVlTX0lOTElORSBKdW1wIGp1
bXAoKQogICAgIHsKICAgICAgICAgQXNzZW1ibGVyTGFiZWwgbGFiZWwgPSBtX2Fzc2VtYmxlci5s
YWJlbCgpOwpAQCAtMzEzOSw2ICszMTQzLDExIEBAIHB1YmxpYzoKICAgICAgICAgbV9hc3NlbWJs
ZXIuYnIoZGF0YVRlbXBSZWdpc3Rlcik7CiAgICAgfQogCisgICAgQUxXQVlTX0lOTElORSB2b2lk
IGp1bXAoUmVnaXN0ZXJJRCB0YXJnZXQsIFJlZ2lzdGVySUQganVtcFRhZykgeyBVTlVTRURfUEFS
QU0oanVtcFRhZyksIGp1bXAodGFyZ2V0LCBOb1B0clRhZyk7IH0KKyAgICBBTFdBWVNfSU5MSU5F
IHZvaWQganVtcChBZGRyZXNzIGFkZHJlc3MsIFJlZ2lzdGVySUQganVtcFRhZykgeyBVTlVTRURf
UEFSQU0oanVtcFRhZyksIGp1bXAoYWRkcmVzcywgTm9QdHJUYWcpOyB9CisgICAgQUxXQVlTX0lO
TElORSB2b2lkIGp1bXAoQmFzZUluZGV4IGFkZHJlc3MsIFJlZ2lzdGVySUQganVtcFRhZykgeyBV
TlVTRURfUEFSQU0oanVtcFRhZyksIGp1bXAoYWRkcmVzcywgTm9QdHJUYWcpOyB9CisgICAgQUxX
QVlTX0lOTElORSB2b2lkIGp1bXAoQWJzb2x1dGVBZGRyZXNzIGFkZHJlc3MsIFJlZ2lzdGVySUQg
anVtcFRhZykgeyBVTlVTRURfUEFSQU0oanVtcFRhZyksIGp1bXAoYWRkcmVzcywgTm9QdHJUYWcp
OyB9CisKICAgICBBTFdBWVNfSU5MSU5FIENhbGwgbWFrZVRhaWxSZWN1cnNpdmVDYWxsKEp1bXAg
b2xkSnVtcCkKICAgICB7CiAgICAgICAgIG9sZEp1bXAubGluayh0aGlzKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmgJ
KHJldmlzaW9uIDIyOTg1OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJBUk0uaAkod29ya2luZyBjb3B5KQpAQCAtODA1LDYgKzgwNSwxMCBAQCBwdWJs
aWM6CiAgICAgICAgIGxvYWQzMihBZGRyZXNzKEFSTVJlZ2lzdGVyczo6UzAsIDApLCBBUk1SZWdp
c3RlcnM6OnBjKTsKICAgICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQganVtcChSZWdpc3Rl
cklEIHRhcmdldCwgUmVnaXN0ZXJJRCBqdW1wVGFnKSB7IFVOVVNFRF9QQVJBTShqdW1wVGFnKSwg
anVtcCh0YXJnZXQsIE5vUHRyVGFnKTsgfQorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBqdW1wKEFk
ZHJlc3MgYWRkcmVzcywgUmVnaXN0ZXJJRCBqdW1wVGFnKSB7IFVOVVNFRF9QQVJBTShqdW1wVGFn
KSwganVtcChhZGRyZXNzLCBOb1B0clRhZyk7IH0KK1wgICAgQUxXQVlTX0lOTElORSB2b2lkIGp1
bXAoQWJzb2x1dGVBZGRyZXNzIGFkZHJlc3MsIFJlZ2lzdGVySUQganVtcFRhZykgeyBVTlVTRURf
UEFSQU0oanVtcFRhZyksIGp1bXAoYWRkcmVzcywgTm9QdHJUYWcpOyB9CisKICAgICB2b2lkIG1v
dmVEb3VibGVUb0ludHMoRlBSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0MSwgUmVnaXN0
ZXJJRCBkZXN0MikKICAgICB7CiAgICAgICAgIG1fYXNzZW1ibGVyLnZtb3YoZGVzdDEsIGRlc3Qy
LCBzcmMpOwpAQCAtOTk1LDcgKzk5OSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2FsbChBZGRy
ZXNzIGFkZHJlc3MsIFB0clRhZykKICAgICB7Ci0gICAgICAgIGNhbGwzMihhZGRyZXNzLmJhc2Us
IGFkZHJlc3Mub2Zmc2V0KTsKKyAgICAgICAgKGFkZHJlc3MuYmFzZSwgYWRkcmVzcy5vZmZzZXQp
OwogICAgIH0KIAogICAgIHZvaWQgcmV0KCkKQEAgLTExMjUsNiArMTEyOSwxMCBAQCBwdWJsaWM6
CiAgICAgICAgIHJldHVybiBDYWxsKG1fYXNzZW1ibGVyLmJseChBUk1SZWdpc3RlcnM6OlMxKSwg
Q2FsbDo6TGlua2FibGUpOwogICAgIH0KIAorICAgIEFMV0FZU19JTkxJTkUgQ2FsbCBjYWxsKFJl
Z2lzdGVySUQgY2FsbFRhZykgeyByZXR1cm4gVU5VU0VEX1BBUkFNKGNhbGxUYWcpLCBjYWxsKE5v
UHRyVGFnKTsgfQorICAgIEFMV0FZU19JTkxJTkUgQ2FsbCBjYWxsKFJlZ2lzdGVySUQgdGFyZ2V0
LCBSZWdpc3RlcklEIGNhbGxUYWcpIHsgcmV0dXJuIFVOVVNFRF9QQVJBTShjYWxsVGFnKSwgY2Fs
bCh0YXJnZXQsIE5vUHRyVGFnKTsgfQorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBjYWxsKEFkZHJl
c3MgYWRkcmVzcywgUmVnaXN0ZXJJRCBjYWxsVGFnKSB7IFVOVVNFRF9QQVJBTShjYWxsVGFnKSwg
Y2FsbChhZGRyZXNzLCBOb1B0clRhZyk7IH0KKwogICAgIENhbGwgdGFpbFJlY3Vyc2l2ZUNhbGwo
KQogICAgIHsKICAgICAgICAgcmV0dXJuIENhbGw6OmZyb21UYWlsSnVtcChqdW1wKCkpOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2Vt
YmxlckFSTXY3LmgJKHJldmlzaW9uIDIyOTg1OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNjI1LDYg
KzE2MjUsOSBAQCBwdWJsaWM6CiAgICAgICAgIG1fYXNzZW1ibGVyLmJ4KGRhdGFUZW1wUmVnaXN0
ZXIpOwogICAgIH0KIAorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBqdW1wKFJlZ2lzdGVySUQgdGFy
Z2V0LCBSZWdpc3RlcklEIGp1bXBUYWcpIHsgVU5VU0VEX1BBUkFNKGp1bXBUYWcpLCBqdW1wKHRh
cmdldCwgTm9QdHJUYWcpOyB9CisgICAgQUxXQVlTX0lOTElORSB2b2lkIGp1bXAoQWRkcmVzcyBh
ZGRyZXNzLCBSZWdpc3RlcklEIGp1bXBUYWcpIHsgVU5VU0VEX1BBUkFNKGp1bXBUYWcpLCBqdW1w
KGFkZHJlc3MsIE5vUHRyVGFnKTsgfQorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBqdW1wKEFic29s
dXRlQWRkcmVzcyBhZGRyZXNzLCBSZWdpc3RlcklEIGp1bXBUYWcpIHsgVU5VU0VEX1BBUkFNKGp1
bXBUYWcpLCBqdW1wKGFkZHJlc3MsIE5vUHRyVGFnKTsgfQogCiAgICAgLy8gQXJpdGhtZXRpYyBj
b250cm9sIGZsb3cgb3BlcmF0aW9uczoKICAgICAvLwpAQCAtMTgxMSw2ICsxODE0LDEwIEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIENhbGwobV9hc3NlbWJsZXIuYmx4KGRhdGFUZW1wUmVnaXN0
ZXIpLCBDYWxsOjpOb25lKTsKICAgICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChS
ZWdpc3RlcklEIGNhbGxUYWcpIHsgcmV0dXJuIFVOVVNFRF9QQVJBTShjYWxsVGFnKSwgY2FsbChO
b1B0clRhZyk7IH0KKyAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChSZWdpc3RlcklEIHRhcmdl
dCwgUmVnaXN0ZXJJRCBjYWxsVGFnKSB7IHJldHVybiBVTlVTRURfUEFSQU0oY2FsbFRhZyksIGNh
bGwodGFyZ2V0LCBOb1B0clRhZyk7IH0KKyAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChBZGRy
ZXNzIGFkZHJlc3MsIFJlZ2lzdGVySUQgY2FsbFRhZykgeyByZXR1cm4gVU5VU0VEX1BBUkFNKGNh
bGxUYWcpLCBjYWxsKGFkZHJlc3MsIE5vUHRyVGFnKTsgfQorCiAgICAgQUxXQVlTX0lOTElORSB2
b2lkIHJldCgpCiAgICAgewogICAgICAgICBtX2Fzc2VtYmxlci5ieChsaW5rUmVnaXN0ZXIpOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyTUlQUy5oCShyZXZpc2lvbiAyMjk4NTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyTUlQUy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xOTI1LDYg
KzE5MjUsMTAgQEAgcHVibGljOgogICAgICAgICBtX2ZpeGVkV2lkdGggPSBmYWxzZTsKICAgICB9
CiAKKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQganVtcChSZWdpc3RlcklEIHRhcmdldCwgUmVnaXN0
ZXJJRCBqdW1wVGFnKSB7IFVOVVNFRF9QQVJBTShqdW1wVGFnKSwganVtcCh0YXJnZXQsIE5vUHRy
VGFnKTsgfQorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBqdW1wKEFkZHJlc3MgYWRkcmVzcywgUmVn
aXN0ZXJJRCBqdW1wVGFnKSB7IFVOVVNFRF9QQVJBTShqdW1wVGFnKSwganVtcChhZGRyZXNzLCBO
b1B0clRhZyk7IH0KKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQganVtcChBYnNvbHV0ZUFkZHJlc3Mg
YWRkcmVzcywgUmVnaXN0ZXJJRCBqdW1wVGFnKSB7IFVOVVNFRF9QQVJBTShqdW1wVGFnKSwganVt
cChhZGRyZXNzLCBOb1B0clRhZyk7IH0KKwogICAgIHZvaWQgbW92ZURvdWJsZVRvSW50cyhGUFJl
Z2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QxLCBSZWdpc3RlcklEIGRlc3QyKQogICAgIHsK
ICAgICAgICAgbV9hc3NlbWJsZXIudm1vdihkZXN0MSwgZGVzdDIsIHNyYyk7CkBAIC0yNDI5LDYg
KzI0MzMsMTAgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gQ2FsbChtX2Fzc2VtYmxlci5sYWJl
bCgpLCBDYWxsOjpOb25lKTsKICAgICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChS
ZWdpc3RlcklEIGNhbGxUYWcpIHsgcmV0dXJuIFVOVVNFRF9QQVJBTShjYWxsVGFnKSwgY2FsbChO
b1B0clRhZyk7IH0KKyAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChSZWdpc3RlcklEIHRhcmdl
dCwgUmVnaXN0ZXJJRCBjYWxsVGFnKSB7IHJldHVybiBVTlVTRURfUEFSQU0oY2FsbFRhZyksIGNh
bGwodGFyZ2V0LCBOb1B0clRhZyk7IH0KKyAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChBZGRy
ZXNzIGFkZHJlc3MsIFJlZ2lzdGVySUQgY2FsbFRhZykgeyByZXR1cm4gVU5VU0VEX1BBUkFNKGNh
bGxUYWcpLCBjYWxsKGFkZHJlc3MsIE5vUHRyVGFnKTsgfQorCiAgICAgdm9pZCByZXQoKQogICAg
IHsKICAgICAgICAgbV9hc3NlbWJsZXIuanIoTUlQU1JlZ2lzdGVyczo6cmEpOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4Ni5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODYu
aAkocmV2aXNpb24gMjI5ODU5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9N
YWNyb0Fzc2VtYmxlclg4Ni5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMTgsMTIgKzIxOCwxNiBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiBDYWxsKG1fYXNzZW1ibGVyLmNhbGwoKSwgQ2FsbDo6TGlu
a2FibGUpOwogICAgIH0KIAorICAgIEFMV0FZU19JTkxJTkUgQ2FsbCBjYWxsKFJlZ2lzdGVySUQg
Y2FsbFRhZykgeyByZXR1cm4gVU5VU0VEX1BBUkFNKGNhbGxUYWcpLCBjYWxsKE5vUHRyVGFnKTsg
fQorCiAgICAgLy8gQWRkcmVzcyBpcyBhIG1lbW9yeSBsb2NhdGlvbiBjb250YWluaW5nIHRoZSBh
ZGRyZXNzIHRvIGp1bXAgdG8KICAgICB2b2lkIGp1bXAoQWJzb2x1dGVBZGRyZXNzIGFkZHJlc3Ms
IFB0clRhZykKICAgICB7CiAgICAgICAgIG1fYXNzZW1ibGVyLmptcF9tKGFkZHJlc3MubV9wdHIp
OwogICAgIH0KIAorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBqdW1wKEFic29sdXRlQWRkcmVzcyBh
ZGRyZXNzLCBSZWdpc3RlcklEIGp1bXBUYWcpIHsgVU5VU0VEX1BBUkFNKGp1bXBUYWcpLCBqdW1w
KGFkZHJlc3MsIE5vUHRyVGFnKTsgfQorCiAgICAgQ2FsbCB0YWlsUmVjdXJzaXZlQ2FsbCgpCiAg
ICAgewogICAgICAgICByZXR1cm4gQ2FsbDo6ZnJvbVRhaWxKdW1wKGp1bXAoKSk7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2Vt
Ymxlclg4NkNvbW1vbi5oCShyZXZpc2lvbiAyMjk4NTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmgJKHdvcmtpbmcgY29weSkKQEAg
LTI3MTMsNiArMjcxMyw5IEBAIHB1YmxpYzoKICAgICAgICAgbV9hc3NlbWJsZXIuam1wX20oYWRk
cmVzcy5vZmZzZXQsIGFkZHJlc3MuYmFzZSwgYWRkcmVzcy5pbmRleCwgYWRkcmVzcy5zY2FsZSk7
CiAgICAgfQogCisgICAgQUxXQVlTX0lOTElORSB2b2lkIGp1bXAoUmVnaXN0ZXJJRCB0YXJnZXQs
IFJlZ2lzdGVySUQganVtcFRhZykgeyBVTlVTRURfUEFSQU0oanVtcFRhZyksIGp1bXAodGFyZ2V0
LCBOb1B0clRhZyk7IH0KKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQganVtcChBZGRyZXNzIGFkZHJl
c3MsIFJlZ2lzdGVySUQganVtcFRhZykgeyBVTlVTRURfUEFSQU0oanVtcFRhZyksIGp1bXAoYWRk
cmVzcywgTm9QdHJUYWcpOyB9CisgICAgQUxXQVlTX0lOTElORSB2b2lkIGp1bXAoQmFzZUluZGV4
IGFkZHJlc3MsIFJlZ2lzdGVySUQganVtcFRhZykgeyBVTlVTRURfUEFSQU0oanVtcFRhZyksIGp1
bXAoYWRkcmVzcywgTm9QdHJUYWcpOyB9CiAKICAgICAvLyBBcml0aG1ldGljIGNvbnRyb2wgZmxv
dyBvcGVyYXRpb25zOgogICAgIC8vCkBAIC0yOTA0LDYgKzI5MDcsOSBAQCBwdWJsaWM6CiAgICAg
ICAgIG1fYXNzZW1ibGVyLmNhbGxfbShhZGRyZXNzLm9mZnNldCwgYWRkcmVzcy5iYXNlKTsKICAg
ICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChSZWdpc3RlcklEIHRhcmdldCwgUmVn
aXN0ZXJJRCBjYWxsVGFnKSB7IHJldHVybiBVTlVTRURfUEFSQU0oY2FsbFRhZyksIGNhbGwodGFy
Z2V0LCBOb1B0clRhZyk7IH0KKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQgY2FsbChBZGRyZXNzIGFk
ZHJlc3MsIFJlZ2lzdGVySUQgY2FsbFRhZykgeyBVTlVTRURfUEFSQU0oY2FsbFRhZyksIGNhbGwo
YWRkcmVzcywgTm9QdHJUYWcpOyB9CisKICAgICB2b2lkIHJldCgpCiAgICAgewogICAgICAgICBt
X2Fzc2VtYmxlci5yZXQoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
TWFjcm9Bc3NlbWJsZXJYODZfNjQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2XzY0LmgJKHJldmlzaW9uIDIyOTg1OSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZfNjQuaAko
d29ya2luZyBjb3B5KQpAQCAtMjIzLDYgKzIyMywxMiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biByZXN1bHQ7CiAgICAgfQogCisgICAgQUxXQVlTX0lOTElORSBDYWxsIGNhbGwoUmVnaXN0ZXJJ
RCBjYWxsVGFnKQorICAgIHsKKyAgICAgICAgVU5VU0VEX1BBUkFNKGNhbGxUYWcpOworICAgICAg
ICByZXR1cm4gY2FsbChOb1B0clRhZyk7CisgICAgfQorCiAgICAgLy8gQWRkcmVzcyBpcyBhIG1l
bW9yeSBsb2NhdGlvbiBjb250YWluaW5nIHRoZSBhZGRyZXNzIHRvIGp1bXAgdG8KICAgICB2b2lk
IGp1bXAoQWJzb2x1dGVBZGRyZXNzIGFkZHJlc3MsIFB0clRhZyB0YWcpCiAgICAgewpAQCAtMjMw
LDYgKzIzNiw4IEBAIHB1YmxpYzoKICAgICAgICAganVtcChBZGRyZXNzKHNjcmF0Y2hSZWdpc3Rl
cigpKSwgdGFnKTsKICAgICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQganVtcChBYnNvbHV0
ZUFkZHJlc3MgYWRkcmVzcywgUmVnaXN0ZXJJRCBqdW1wVGFnKSB7IFVOVVNFRF9QQVJBTShqdW1w
VGFnKSwganVtcChhZGRyZXNzLCBOb1B0clRhZyk7IH0KKwogICAgIENhbGwgdGFpbFJlY3Vyc2l2
ZUNhbGwoKQogICAgIHsKICAgICAgICAgRGF0YUxhYmVsUHRyIGxhYmVsID0gbW92ZVdpdGhQYXRj
aChUcnVzdGVkSW1tUHRyKG51bGxwdHIpLCBzY3JhdGNoUmVnaXN0ZXIoKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336302</attachid>
            <date>2018-03-22 13:21:45 -0700</date>
            <delta_ts>2018-03-22 13:26:43 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-183914.patch</filename>
            <type>text/plain</type>
            <size>10362</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjI5ODU5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBA
CisyMDE4LTAzLTIyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgcGxhY2Vob2xkZXIgY2FsbCBhbmQganVtcCBNYWNyb0Fzc2VtYmxlciBlbWl0dGVycyB0aGF0
IHRha2UgUHRyVGFnIGluIGEgcmVnaXN0ZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5MTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4NzYz
NTM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
aXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIHN1cHBvcnRpbmcgcG9pbnRlciBwcm9maWxpbmcgd29y
ay4KKworICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oOgorICAgICAgICAo
SlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6anVtcCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1i
bGVyQVJNOjpjYWxsKToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5o
OgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTY0OjpjYWxsKToKKyAgICAgICAgKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJBUk02NDo6anVtcCk6CisgICAgICAgICogYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyQVJNdjcuaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk12Nzo6anVt
cCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNdjc6OmNhbGwpOgorICAgICAgICAq
IGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3Nl
bWJsZXJNSVBTOjpqdW1wKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJNSVBTOjpjYWxs
KToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODYuaDoKKyAgICAgICAgKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJYODY6OmNhbGwpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxl
clg4Njo6anVtcCk6CisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9u
Lmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpqdW1wKToKKyAgICAg
ICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmNhbGwpOgorICAgICAgICAqIGFzc2Vt
Ymxlci9NYWNyb0Fzc2VtYmxlclg4Nl82NC5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxl
clg4Nl82NDo6Y2FsbCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2XzY0OjpqdW1w
KToKKwogMjAxOC0wMy0yMiAgRG9taW5payBJbmZ1ZWhyICA8ZGluZnVlaHJAaWdhbGlhLmNvbT4K
IAogICAgICAgICBbQVJNXSBUaHVtYjogRG8gbm90IGRlY29yYXRlIGJvdHRvbSBiaXQgdHdpY2UK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02
NC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9B
c3NlbWJsZXJBUk02NC5oCShyZXZpc2lvbiAyMjk4NTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuaAkod29ya2luZyBjb3B5KQpAQCAtMzEw
OCw2ICszMTA4LDEwIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGNhbGwoZGF0YVRlbXBSZWdp
c3RlciwgdGFnKTsKICAgICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChSZWdpc3Rl
cklEIGNhbGxUYWcpIHsgcmV0dXJuIFVOVVNFRF9QQVJBTShjYWxsVGFnKSwgY2FsbChOb1B0clRh
Zyk7IH0KKyAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChSZWdpc3RlcklEIHRhcmdldCwgUmVn
aXN0ZXJJRCBjYWxsVGFnKSB7IHJldHVybiBVTlVTRURfUEFSQU0oY2FsbFRhZyksIGNhbGwodGFy
Z2V0LCBOb1B0clRhZyk7IH0KKyAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChBZGRyZXNzIGFk
ZHJlc3MsIFJlZ2lzdGVySUQgY2FsbFRhZykgeyByZXR1cm4gVU5VU0VEX1BBUkFNKGNhbGxUYWcp
LCBjYWxsKGFkZHJlc3MsIE5vUHRyVGFnKTsgfQorCiAgICAgQUxXQVlTX0lOTElORSBKdW1wIGp1
bXAoKQogICAgIHsKICAgICAgICAgQXNzZW1ibGVyTGFiZWwgbGFiZWwgPSBtX2Fzc2VtYmxlci5s
YWJlbCgpOwpAQCAtMzEzOSw2ICszMTQzLDExIEBAIHB1YmxpYzoKICAgICAgICAgbV9hc3NlbWJs
ZXIuYnIoZGF0YVRlbXBSZWdpc3Rlcik7CiAgICAgfQogCisgICAgQUxXQVlTX0lOTElORSB2b2lk
IGp1bXAoUmVnaXN0ZXJJRCB0YXJnZXQsIFJlZ2lzdGVySUQganVtcFRhZykgeyBVTlVTRURfUEFS
QU0oanVtcFRhZyksIGp1bXAodGFyZ2V0LCBOb1B0clRhZyk7IH0KKyAgICBBTFdBWVNfSU5MSU5F
IHZvaWQganVtcChBZGRyZXNzIGFkZHJlc3MsIFJlZ2lzdGVySUQganVtcFRhZykgeyBVTlVTRURf
UEFSQU0oanVtcFRhZyksIGp1bXAoYWRkcmVzcywgTm9QdHJUYWcpOyB9CisgICAgQUxXQVlTX0lO
TElORSB2b2lkIGp1bXAoQmFzZUluZGV4IGFkZHJlc3MsIFJlZ2lzdGVySUQganVtcFRhZykgeyBV
TlVTRURfUEFSQU0oanVtcFRhZyksIGp1bXAoYWRkcmVzcywgTm9QdHJUYWcpOyB9CisgICAgQUxX
QVlTX0lOTElORSB2b2lkIGp1bXAoQWJzb2x1dGVBZGRyZXNzIGFkZHJlc3MsIFJlZ2lzdGVySUQg
anVtcFRhZykgeyBVTlVTRURfUEFSQU0oanVtcFRhZyksIGp1bXAoYWRkcmVzcywgTm9QdHJUYWcp
OyB9CisKICAgICBBTFdBWVNfSU5MSU5FIENhbGwgbWFrZVRhaWxSZWN1cnNpdmVDYWxsKEp1bXAg
b2xkSnVtcCkKICAgICB7CiAgICAgICAgIG9sZEp1bXAubGluayh0aGlzKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmgJ
KHJldmlzaW9uIDIyOTg1OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJBUk0uaAkod29ya2luZyBjb3B5KQpAQCAtODA1LDYgKzgwNSwxMCBAQCBwdWJs
aWM6CiAgICAgICAgIGxvYWQzMihBZGRyZXNzKEFSTVJlZ2lzdGVyczo6UzAsIDApLCBBUk1SZWdp
c3RlcnM6OnBjKTsKICAgICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQganVtcChSZWdpc3Rl
cklEIHRhcmdldCwgUmVnaXN0ZXJJRCBqdW1wVGFnKSB7IFVOVVNFRF9QQVJBTShqdW1wVGFnKSwg
anVtcCh0YXJnZXQsIE5vUHRyVGFnKTsgfQorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBqdW1wKEFk
ZHJlc3MgYWRkcmVzcywgUmVnaXN0ZXJJRCBqdW1wVGFnKSB7IFVOVVNFRF9QQVJBTShqdW1wVGFn
KSwganVtcChhZGRyZXNzLCBOb1B0clRhZyk7IH0KKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQganVt
cChBYnNvbHV0ZUFkZHJlc3MgYWRkcmVzcywgUmVnaXN0ZXJJRCBqdW1wVGFnKSB7IFVOVVNFRF9Q
QVJBTShqdW1wVGFnKSwganVtcChhZGRyZXNzLCBOb1B0clRhZyk7IH0KKwogICAgIHZvaWQgbW92
ZURvdWJsZVRvSW50cyhGUFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QxLCBSZWdpc3Rl
cklEIGRlc3QyKQogICAgIHsKICAgICAgICAgbV9hc3NlbWJsZXIudm1vdihkZXN0MSwgZGVzdDIs
IHNyYyk7CkBAIC05OTUsNyArOTk5LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBjYWxsKEFkZHJl
c3MgYWRkcmVzcywgUHRyVGFnKQogICAgIHsKLSAgICAgICAgY2FsbDMyKGFkZHJlc3MuYmFzZSwg
YWRkcmVzcy5vZmZzZXQpOworICAgICAgICAoYWRkcmVzcy5iYXNlLCBhZGRyZXNzLm9mZnNldCk7
CiAgICAgfQogCiAgICAgdm9pZCByZXQoKQpAQCAtMTEyNSw2ICsxMTI5LDEwIEBAIHB1YmxpYzoK
ICAgICAgICAgcmV0dXJuIENhbGwobV9hc3NlbWJsZXIuYmx4KEFSTVJlZ2lzdGVyczo6UzEpLCBD
YWxsOjpMaW5rYWJsZSk7CiAgICAgfQogCisgICAgQUxXQVlTX0lOTElORSBDYWxsIGNhbGwoUmVn
aXN0ZXJJRCBjYWxsVGFnKSB7IHJldHVybiBVTlVTRURfUEFSQU0oY2FsbFRhZyksIGNhbGwoTm9Q
dHJUYWcpOyB9CisgICAgQUxXQVlTX0lOTElORSBDYWxsIGNhbGwoUmVnaXN0ZXJJRCB0YXJnZXQs
IFJlZ2lzdGVySUQgY2FsbFRhZykgeyByZXR1cm4gVU5VU0VEX1BBUkFNKGNhbGxUYWcpLCBjYWxs
KHRhcmdldCwgTm9QdHJUYWcpOyB9CisgICAgQUxXQVlTX0lOTElORSB2b2lkIGNhbGwoQWRkcmVz
cyBhZGRyZXNzLCBSZWdpc3RlcklEIGNhbGxUYWcpIHsgVU5VU0VEX1BBUkFNKGNhbGxUYWcpLCBj
YWxsKGFkZHJlc3MsIE5vUHRyVGFnKTsgfQorCiAgICAgQ2FsbCB0YWlsUmVjdXJzaXZlQ2FsbCgp
CiAgICAgewogICAgICAgICByZXR1cm4gQ2FsbDo6ZnJvbVRhaWxKdW1wKGp1bXAoKSk7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNdjcuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyQVJNdjcuaAkocmV2aXNpb24gMjI5ODU5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTXY3LmgJKHdvcmtpbmcgY29weSkKQEAgLTE2MjUsNiAr
MTYyNSw5IEBAIHB1YmxpYzoKICAgICAgICAgbV9hc3NlbWJsZXIuYngoZGF0YVRlbXBSZWdpc3Rl
cik7CiAgICAgfQogCisgICAgQUxXQVlTX0lOTElORSB2b2lkIGp1bXAoUmVnaXN0ZXJJRCB0YXJn
ZXQsIFJlZ2lzdGVySUQganVtcFRhZykgeyBVTlVTRURfUEFSQU0oanVtcFRhZyksIGp1bXAodGFy
Z2V0LCBOb1B0clRhZyk7IH0KKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQganVtcChBZGRyZXNzIGFk
ZHJlc3MsIFJlZ2lzdGVySUQganVtcFRhZykgeyBVTlVTRURfUEFSQU0oanVtcFRhZyksIGp1bXAo
YWRkcmVzcywgTm9QdHJUYWcpOyB9CisgICAgQUxXQVlTX0lOTElORSB2b2lkIGp1bXAoQWJzb2x1
dGVBZGRyZXNzIGFkZHJlc3MsIFJlZ2lzdGVySUQganVtcFRhZykgeyBVTlVTRURfUEFSQU0oanVt
cFRhZyksIGp1bXAoYWRkcmVzcywgTm9QdHJUYWcpOyB9CiAKICAgICAvLyBBcml0aG1ldGljIGNv
bnRyb2wgZmxvdyBvcGVyYXRpb25zOgogICAgIC8vCkBAIC0xODExLDYgKzE4MTQsMTAgQEAgcHVi
bGljOgogICAgICAgICByZXR1cm4gQ2FsbChtX2Fzc2VtYmxlci5ibHgoZGF0YVRlbXBSZWdpc3Rl
ciksIENhbGw6Ok5vbmUpOwogICAgIH0KIAorICAgIEFMV0FZU19JTkxJTkUgQ2FsbCBjYWxsKFJl
Z2lzdGVySUQgY2FsbFRhZykgeyByZXR1cm4gVU5VU0VEX1BBUkFNKGNhbGxUYWcpLCBjYWxsKE5v
UHRyVGFnKTsgfQorICAgIEFMV0FZU19JTkxJTkUgQ2FsbCBjYWxsKFJlZ2lzdGVySUQgdGFyZ2V0
LCBSZWdpc3RlcklEIGNhbGxUYWcpIHsgcmV0dXJuIFVOVVNFRF9QQVJBTShjYWxsVGFnKSwgY2Fs
bCh0YXJnZXQsIE5vUHRyVGFnKTsgfQorICAgIEFMV0FZU19JTkxJTkUgQ2FsbCBjYWxsKEFkZHJl
c3MgYWRkcmVzcywgUmVnaXN0ZXJJRCBjYWxsVGFnKSB7IHJldHVybiBVTlVTRURfUEFSQU0oY2Fs
bFRhZyksIGNhbGwoYWRkcmVzcywgTm9QdHJUYWcpOyB9CisKICAgICBBTFdBWVNfSU5MSU5FIHZv
aWQgcmV0KCkKICAgICB7CiAgICAgICAgIG1fYXNzZW1ibGVyLmJ4KGxpbmtSZWdpc3Rlcik7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyTUlQUy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXJNSVBTLmgJKHJldmlzaW9uIDIyOTg1OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmgJKHdvcmtpbmcgY29weSkKQEAgLTE5MjUsNiAr
MTkyNSwxMCBAQCBwdWJsaWM6CiAgICAgICAgIG1fZml4ZWRXaWR0aCA9IGZhbHNlOwogICAgIH0K
IAorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBqdW1wKFJlZ2lzdGVySUQgdGFyZ2V0LCBSZWdpc3Rl
cklEIGp1bXBUYWcpIHsgVU5VU0VEX1BBUkFNKGp1bXBUYWcpLCBqdW1wKHRhcmdldCwgTm9QdHJU
YWcpOyB9CisgICAgQUxXQVlTX0lOTElORSB2b2lkIGp1bXAoQWRkcmVzcyBhZGRyZXNzLCBSZWdp
c3RlcklEIGp1bXBUYWcpIHsgVU5VU0VEX1BBUkFNKGp1bXBUYWcpLCBqdW1wKGFkZHJlc3MsIE5v
UHRyVGFnKTsgfQorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBqdW1wKEFic29sdXRlQWRkcmVzcyBh
ZGRyZXNzLCBSZWdpc3RlcklEIGp1bXBUYWcpIHsgVU5VU0VEX1BBUkFNKGp1bXBUYWcpLCBqdW1w
KGFkZHJlc3MsIE5vUHRyVGFnKTsgfQorCiAgICAgdm9pZCBtb3ZlRG91YmxlVG9JbnRzKEZQUmVn
aXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVzdDEsIFJlZ2lzdGVySUQgZGVzdDIpCiAgICAgewog
ICAgICAgICBtX2Fzc2VtYmxlci52bW92KGRlc3QxLCBkZXN0Miwgc3JjKTsKQEAgLTI0MjksNiAr
MjQzMywxMCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBDYWxsKG1fYXNzZW1ibGVyLmxhYmVs
KCksIENhbGw6Ok5vbmUpOwogICAgIH0KIAorICAgIEFMV0FZU19JTkxJTkUgQ2FsbCBjYWxsKFJl
Z2lzdGVySUQgY2FsbFRhZykgeyByZXR1cm4gVU5VU0VEX1BBUkFNKGNhbGxUYWcpLCBjYWxsKE5v
UHRyVGFnKTsgfQorICAgIEFMV0FZU19JTkxJTkUgQ2FsbCBjYWxsKFJlZ2lzdGVySUQgdGFyZ2V0
LCBSZWdpc3RlcklEIGNhbGxUYWcpIHsgcmV0dXJuIFVOVVNFRF9QQVJBTShjYWxsVGFnKSwgY2Fs
bCh0YXJnZXQsIE5vUHRyVGFnKTsgfQorICAgIEFMV0FZU19JTkxJTkUgQ2FsbCBjYWxsKEFkZHJl
c3MgYWRkcmVzcywgUmVnaXN0ZXJJRCBjYWxsVGFnKSB7IHJldHVybiBVTlVTRURfUEFSQU0oY2Fs
bFRhZyksIGNhbGwoYWRkcmVzcywgTm9QdHJUYWcpOyB9CisKICAgICB2b2lkIHJldCgpCiAgICAg
ewogICAgICAgICBtX2Fzc2VtYmxlci5qcihNSVBTUmVnaXN0ZXJzOjpyYSk7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4Ni5o
CShyZXZpc2lvbiAyMjk4NTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01h
Y3JvQXNzZW1ibGVyWDg2LmgJKHdvcmtpbmcgY29weSkKQEAgLTIxOCwxMiArMjE4LDE2IEBAIHB1
YmxpYzoKICAgICAgICAgcmV0dXJuIENhbGwobV9hc3NlbWJsZXIuY2FsbCgpLCBDYWxsOjpMaW5r
YWJsZSk7CiAgICAgfQogCisgICAgQUxXQVlTX0lOTElORSBDYWxsIGNhbGwoUmVnaXN0ZXJJRCBj
YWxsVGFnKSB7IHJldHVybiBVTlVTRURfUEFSQU0oY2FsbFRhZyksIGNhbGwoTm9QdHJUYWcpOyB9
CisKICAgICAvLyBBZGRyZXNzIGlzIGEgbWVtb3J5IGxvY2F0aW9uIGNvbnRhaW5pbmcgdGhlIGFk
ZHJlc3MgdG8ganVtcCB0bwogICAgIHZvaWQganVtcChBYnNvbHV0ZUFkZHJlc3MgYWRkcmVzcywg
UHRyVGFnKQogICAgIHsKICAgICAgICAgbV9hc3NlbWJsZXIuam1wX20oYWRkcmVzcy5tX3B0cik7
CiAgICAgfQogCisgICAgQUxXQVlTX0lOTElORSB2b2lkIGp1bXAoQWJzb2x1dGVBZGRyZXNzIGFk
ZHJlc3MsIFJlZ2lzdGVySUQganVtcFRhZykgeyBVTlVTRURfUEFSQU0oanVtcFRhZyksIGp1bXAo
YWRkcmVzcywgTm9QdHJUYWcpOyB9CisKICAgICBDYWxsIHRhaWxSZWN1cnNpdmVDYWxsKCkKICAg
ICB7CiAgICAgICAgIHJldHVybiBDYWxsOjpmcm9tVGFpbEp1bXAoanVtcCgpKTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyWDg2Q29tbW9uLmgJKHJldmlzaW9uIDIyOTg1OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaAkod29ya2luZyBjb3B5KQpAQCAt
MjcxMyw2ICsyNzEzLDkgQEAgcHVibGljOgogICAgICAgICBtX2Fzc2VtYmxlci5qbXBfbShhZGRy
ZXNzLm9mZnNldCwgYWRkcmVzcy5iYXNlLCBhZGRyZXNzLmluZGV4LCBhZGRyZXNzLnNjYWxlKTsK
ICAgICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQganVtcChSZWdpc3RlcklEIHRhcmdldCwg
UmVnaXN0ZXJJRCBqdW1wVGFnKSB7IFVOVVNFRF9QQVJBTShqdW1wVGFnKSwganVtcCh0YXJnZXQs
IE5vUHRyVGFnKTsgfQorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBqdW1wKEFkZHJlc3MgYWRkcmVz
cywgUmVnaXN0ZXJJRCBqdW1wVGFnKSB7IFVOVVNFRF9QQVJBTShqdW1wVGFnKSwganVtcChhZGRy
ZXNzLCBOb1B0clRhZyk7IH0KKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQganVtcChCYXNlSW5kZXgg
YWRkcmVzcywgUmVnaXN0ZXJJRCBqdW1wVGFnKSB7IFVOVVNFRF9QQVJBTShqdW1wVGFnKSwganVt
cChhZGRyZXNzLCBOb1B0clRhZyk7IH0KIAogICAgIC8vIEFyaXRobWV0aWMgY29udHJvbCBmbG93
IG9wZXJhdGlvbnM6CiAgICAgLy8KQEAgLTI5MDQsNiArMjkwNyw5IEBAIHB1YmxpYzoKICAgICAg
ICAgbV9hc3NlbWJsZXIuY2FsbF9tKGFkZHJlc3Mub2Zmc2V0LCBhZGRyZXNzLmJhc2UpOwogICAg
IH0KIAorICAgIEFMV0FZU19JTkxJTkUgQ2FsbCBjYWxsKFJlZ2lzdGVySUQgdGFyZ2V0LCBSZWdp
c3RlcklEIGNhbGxUYWcpIHsgcmV0dXJuIFVOVVNFRF9QQVJBTShjYWxsVGFnKSwgY2FsbCh0YXJn
ZXQsIE5vUHRyVGFnKTsgfQorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBjYWxsKEFkZHJlc3MgYWRk
cmVzcywgUmVnaXN0ZXJJRCBjYWxsVGFnKSB7IFVOVVNFRF9QQVJBTShjYWxsVGFnKSwgY2FsbChh
ZGRyZXNzLCBOb1B0clRhZyk7IH0KKwogICAgIHZvaWQgcmV0KCkKICAgICB7CiAgICAgICAgIG1f
YXNzZW1ibGVyLnJldCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9N
YWNyb0Fzc2VtYmxlclg4Nl82NC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZfNjQuaAkocmV2aXNpb24gMjI5ODU5KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4Nl82NC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMjMsNiArMjIzLDEyIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJu
IHJlc3VsdDsKICAgICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChSZWdpc3RlcklE
IGNhbGxUYWcpCisgICAgeworICAgICAgICBVTlVTRURfUEFSQU0oY2FsbFRhZyk7CisgICAgICAg
IHJldHVybiBjYWxsKE5vUHRyVGFnKTsKKyAgICB9CisKICAgICAvLyBBZGRyZXNzIGlzIGEgbWVt
b3J5IGxvY2F0aW9uIGNvbnRhaW5pbmcgdGhlIGFkZHJlc3MgdG8ganVtcCB0bwogICAgIHZvaWQg
anVtcChBYnNvbHV0ZUFkZHJlc3MgYWRkcmVzcywgUHRyVGFnIHRhZykKICAgICB7CkBAIC0yMzAs
NiArMjM2LDggQEAgcHVibGljOgogICAgICAgICBqdW1wKEFkZHJlc3Moc2NyYXRjaFJlZ2lzdGVy
KCkpLCB0YWcpOwogICAgIH0KIAorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBqdW1wKEFic29sdXRl
QWRkcmVzcyBhZGRyZXNzLCBSZWdpc3RlcklEIGp1bXBUYWcpIHsgVU5VU0VEX1BBUkFNKGp1bXBU
YWcpLCBqdW1wKGFkZHJlc3MsIE5vUHRyVGFnKTsgfQorCiAgICAgQ2FsbCB0YWlsUmVjdXJzaXZl
Q2FsbCgpCiAgICAgewogICAgICAgICBEYXRhTGFiZWxQdHIgbGFiZWwgPSBtb3ZlV2l0aFBhdGNo
KFRydXN0ZWRJbW1QdHIobnVsbHB0ciksIHNjcmF0Y2hSZWdpc3RlcigpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336303</attachid>
            <date>2018-03-22 13:26:43 -0700</date>
            <delta_ts>2018-03-22 13:29:51 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-183914.patch</filename>
            <type>text/plain</type>
            <size>10172</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjI5ODU5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBA
CisyMDE4LTAzLTIyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgcGxhY2Vob2xkZXIgY2FsbCBhbmQganVtcCBNYWNyb0Fzc2VtYmxlciBlbWl0dGVycyB0aGF0
IHRha2UgUHRyVGFnIGluIGEgcmVnaXN0ZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5MTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4NzYz
NTM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
aXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIHN1cHBvcnRpbmcgcG9pbnRlciBwcm9maWxpbmcgd29y
ay4KKworICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oOgorICAgICAgICAo
SlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6anVtcCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1i
bGVyQVJNOjpjYWxsKToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5o
OgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTY0OjpjYWxsKToKKyAgICAgICAgKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJBUk02NDo6anVtcCk6CisgICAgICAgICogYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyQVJNdjcuaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk12Nzo6anVt
cCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNdjc6OmNhbGwpOgorICAgICAgICAq
IGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3Nl
bWJsZXJNSVBTOjpqdW1wKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJNSVBTOjpjYWxs
KToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODYuaDoKKyAgICAgICAgKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJYODY6OmNhbGwpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxl
clg4Njo6anVtcCk6CisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9u
Lmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpqdW1wKToKKyAgICAg
ICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmNhbGwpOgorICAgICAgICAqIGFzc2Vt
Ymxlci9NYWNyb0Fzc2VtYmxlclg4Nl82NC5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxl
clg4Nl82NDo6Y2FsbCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2XzY0OjpqdW1w
KToKKwogMjAxOC0wMy0yMiAgRG9taW5payBJbmZ1ZWhyICA8ZGluZnVlaHJAaWdhbGlhLmNvbT4K
IAogICAgICAgICBbQVJNXSBUaHVtYjogRG8gbm90IGRlY29yYXRlIGJvdHRvbSBiaXQgdHdpY2UK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02
NC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9B
c3NlbWJsZXJBUk02NC5oCShyZXZpc2lvbiAyMjk4NTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuaAkod29ya2luZyBjb3B5KQpAQCAtMzEw
OCw2ICszMTA4LDEwIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGNhbGwoZGF0YVRlbXBSZWdp
c3RlciwgdGFnKTsKICAgICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChSZWdpc3Rl
cklEIGNhbGxUYWcpIHsgcmV0dXJuIFVOVVNFRF9QQVJBTShjYWxsVGFnKSwgY2FsbChOb1B0clRh
Zyk7IH0KKyAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChSZWdpc3RlcklEIHRhcmdldCwgUmVn
aXN0ZXJJRCBjYWxsVGFnKSB7IHJldHVybiBVTlVTRURfUEFSQU0oY2FsbFRhZyksIGNhbGwodGFy
Z2V0LCBOb1B0clRhZyk7IH0KKyAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChBZGRyZXNzIGFk
ZHJlc3MsIFJlZ2lzdGVySUQgY2FsbFRhZykgeyByZXR1cm4gVU5VU0VEX1BBUkFNKGNhbGxUYWcp
LCBjYWxsKGFkZHJlc3MsIE5vUHRyVGFnKTsgfQorCiAgICAgQUxXQVlTX0lOTElORSBKdW1wIGp1
bXAoKQogICAgIHsKICAgICAgICAgQXNzZW1ibGVyTGFiZWwgbGFiZWwgPSBtX2Fzc2VtYmxlci5s
YWJlbCgpOwpAQCAtMzEzOSw2ICszMTQzLDExIEBAIHB1YmxpYzoKICAgICAgICAgbV9hc3NlbWJs
ZXIuYnIoZGF0YVRlbXBSZWdpc3Rlcik7CiAgICAgfQogCisgICAgQUxXQVlTX0lOTElORSB2b2lk
IGp1bXAoUmVnaXN0ZXJJRCB0YXJnZXQsIFJlZ2lzdGVySUQganVtcFRhZykgeyBVTlVTRURfUEFS
QU0oanVtcFRhZyksIGp1bXAodGFyZ2V0LCBOb1B0clRhZyk7IH0KKyAgICBBTFdBWVNfSU5MSU5F
IHZvaWQganVtcChBZGRyZXNzIGFkZHJlc3MsIFJlZ2lzdGVySUQganVtcFRhZykgeyBVTlVTRURf
UEFSQU0oanVtcFRhZyksIGp1bXAoYWRkcmVzcywgTm9QdHJUYWcpOyB9CisgICAgQUxXQVlTX0lO
TElORSB2b2lkIGp1bXAoQmFzZUluZGV4IGFkZHJlc3MsIFJlZ2lzdGVySUQganVtcFRhZykgeyBV
TlVTRURfUEFSQU0oanVtcFRhZyksIGp1bXAoYWRkcmVzcywgTm9QdHJUYWcpOyB9CisgICAgQUxX
QVlTX0lOTElORSB2b2lkIGp1bXAoQWJzb2x1dGVBZGRyZXNzIGFkZHJlc3MsIFJlZ2lzdGVySUQg
anVtcFRhZykgeyBVTlVTRURfUEFSQU0oanVtcFRhZyksIGp1bXAoYWRkcmVzcywgTm9QdHJUYWcp
OyB9CisKICAgICBBTFdBWVNfSU5MSU5FIENhbGwgbWFrZVRhaWxSZWN1cnNpdmVDYWxsKEp1bXAg
b2xkSnVtcCkKICAgICB7CiAgICAgICAgIG9sZEp1bXAubGluayh0aGlzKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmgJ
KHJldmlzaW9uIDIyOTg1OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJBUk0uaAkod29ya2luZyBjb3B5KQpAQCAtODA1LDYgKzgwNSwxMCBAQCBwdWJs
aWM6CiAgICAgICAgIGxvYWQzMihBZGRyZXNzKEFSTVJlZ2lzdGVyczo6UzAsIDApLCBBUk1SZWdp
c3RlcnM6OnBjKTsKICAgICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQganVtcChSZWdpc3Rl
cklEIHRhcmdldCwgUmVnaXN0ZXJJRCBqdW1wVGFnKSB7IFVOVVNFRF9QQVJBTShqdW1wVGFnKSwg
anVtcCh0YXJnZXQsIE5vUHRyVGFnKTsgfQorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBqdW1wKEFk
ZHJlc3MgYWRkcmVzcywgUmVnaXN0ZXJJRCBqdW1wVGFnKSB7IFVOVVNFRF9QQVJBTShqdW1wVGFn
KSwganVtcChhZGRyZXNzLCBOb1B0clRhZyk7IH0KKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQganVt
cChBYnNvbHV0ZUFkZHJlc3MgYWRkcmVzcywgUmVnaXN0ZXJJRCBqdW1wVGFnKSB7IFVOVVNFRF9Q
QVJBTShqdW1wVGFnKSwganVtcChhZGRyZXNzLCBOb1B0clRhZyk7IH0KKwogICAgIHZvaWQgbW92
ZURvdWJsZVRvSW50cyhGUFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QxLCBSZWdpc3Rl
cklEIGRlc3QyKQogICAgIHsKICAgICAgICAgbV9hc3NlbWJsZXIudm1vdihkZXN0MSwgZGVzdDIs
IHNyYyk7CkBAIC0xMTI1LDYgKzExMjksMTAgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gQ2Fs
bChtX2Fzc2VtYmxlci5ibHgoQVJNUmVnaXN0ZXJzOjpTMSksIENhbGw6OkxpbmthYmxlKTsKICAg
ICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChSZWdpc3RlcklEIGNhbGxUYWcpIHsg
cmV0dXJuIFVOVVNFRF9QQVJBTShjYWxsVGFnKSwgY2FsbChOb1B0clRhZyk7IH0KKyAgICBBTFdB
WVNfSU5MSU5FIENhbGwgY2FsbChSZWdpc3RlcklEIHRhcmdldCwgUmVnaXN0ZXJJRCBjYWxsVGFn
KSB7IHJldHVybiBVTlVTRURfUEFSQU0oY2FsbFRhZyksIGNhbGwodGFyZ2V0LCBOb1B0clRhZyk7
IH0KKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQgY2FsbChBZGRyZXNzIGFkZHJlc3MsIFJlZ2lzdGVy
SUQgY2FsbFRhZykgeyBVTlVTRURfUEFSQU0oY2FsbFRhZyksIGNhbGwoYWRkcmVzcywgTm9QdHJU
YWcpOyB9CisKICAgICBDYWxsIHRhaWxSZWN1cnNpdmVDYWxsKCkKICAgICB7CiAgICAgICAgIHJl
dHVybiBDYWxsOjpmcm9tVGFpbEp1bXAoanVtcCgpKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oCShyZXZpc2lv
biAyMjk4NTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyQVJNdjcuaAkod29ya2luZyBjb3B5KQpAQCAtMTYyNSw2ICsxNjI1LDkgQEAgcHVibGljOgog
ICAgICAgICBtX2Fzc2VtYmxlci5ieChkYXRhVGVtcFJlZ2lzdGVyKTsKICAgICB9CiAKKyAgICBB
TFdBWVNfSU5MSU5FIHZvaWQganVtcChSZWdpc3RlcklEIHRhcmdldCwgUmVnaXN0ZXJJRCBqdW1w
VGFnKSB7IFVOVVNFRF9QQVJBTShqdW1wVGFnKSwganVtcCh0YXJnZXQsIE5vUHRyVGFnKTsgfQor
ICAgIEFMV0FZU19JTkxJTkUgdm9pZCBqdW1wKEFkZHJlc3MgYWRkcmVzcywgUmVnaXN0ZXJJRCBq
dW1wVGFnKSB7IFVOVVNFRF9QQVJBTShqdW1wVGFnKSwganVtcChhZGRyZXNzLCBOb1B0clRhZyk7
IH0KKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQganVtcChBYnNvbHV0ZUFkZHJlc3MgYWRkcmVzcywg
UmVnaXN0ZXJJRCBqdW1wVGFnKSB7IFVOVVNFRF9QQVJBTShqdW1wVGFnKSwganVtcChhZGRyZXNz
LCBOb1B0clRhZyk7IH0KIAogICAgIC8vIEFyaXRobWV0aWMgY29udHJvbCBmbG93IG9wZXJhdGlv
bnM6CiAgICAgLy8KQEAgLTE4MTEsNiArMTgxNCwxMCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biBDYWxsKG1fYXNzZW1ibGVyLmJseChkYXRhVGVtcFJlZ2lzdGVyKSwgQ2FsbDo6Tm9uZSk7CiAg
ICAgfQogCisgICAgQUxXQVlTX0lOTElORSBDYWxsIGNhbGwoUmVnaXN0ZXJJRCBjYWxsVGFnKSB7
IHJldHVybiBVTlVTRURfUEFSQU0oY2FsbFRhZyksIGNhbGwoTm9QdHJUYWcpOyB9CisgICAgQUxX
QVlTX0lOTElORSBDYWxsIGNhbGwoUmVnaXN0ZXJJRCB0YXJnZXQsIFJlZ2lzdGVySUQgY2FsbFRh
ZykgeyByZXR1cm4gVU5VU0VEX1BBUkFNKGNhbGxUYWcpLCBjYWxsKHRhcmdldCwgTm9QdHJUYWcp
OyB9CisgICAgQUxXQVlTX0lOTElORSBDYWxsIGNhbGwoQWRkcmVzcyBhZGRyZXNzLCBSZWdpc3Rl
cklEIGNhbGxUYWcpIHsgcmV0dXJuIFVOVVNFRF9QQVJBTShjYWxsVGFnKSwgY2FsbChhZGRyZXNz
LCBOb1B0clRhZyk7IH0KKwogICAgIEFMV0FZU19JTkxJTkUgdm9pZCByZXQoKQogICAgIHsKICAg
ICAgICAgbV9hc3NlbWJsZXIuYngobGlua1JlZ2lzdGVyKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuaAkocmV2aXNp
b24gMjI5ODU5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2Vt
Ymxlck1JUFMuaAkod29ya2luZyBjb3B5KQpAQCAtMTkyNSw2ICsxOTI1LDEwIEBAIHB1YmxpYzoK
ICAgICAgICAgbV9maXhlZFdpZHRoID0gZmFsc2U7CiAgICAgfQogCisgICAgQUxXQVlTX0lOTElO
RSB2b2lkIGp1bXAoUmVnaXN0ZXJJRCB0YXJnZXQsIFJlZ2lzdGVySUQganVtcFRhZykgeyBVTlVT
RURfUEFSQU0oanVtcFRhZyksIGp1bXAodGFyZ2V0LCBOb1B0clRhZyk7IH0KKyAgICBBTFdBWVNf
SU5MSU5FIHZvaWQganVtcChBZGRyZXNzIGFkZHJlc3MsIFJlZ2lzdGVySUQganVtcFRhZykgeyBV
TlVTRURfUEFSQU0oanVtcFRhZyksIGp1bXAoYWRkcmVzcywgTm9QdHJUYWcpOyB9CisgICAgQUxX
QVlTX0lOTElORSB2b2lkIGp1bXAoQWJzb2x1dGVBZGRyZXNzIGFkZHJlc3MsIFJlZ2lzdGVySUQg
anVtcFRhZykgeyBVTlVTRURfUEFSQU0oanVtcFRhZyksIGp1bXAoYWRkcmVzcywgTm9QdHJUYWcp
OyB9CisKICAgICB2b2lkIG1vdmVEb3VibGVUb0ludHMoRlBSZWdpc3RlcklEIHNyYywgUmVnaXN0
ZXJJRCBkZXN0MSwgUmVnaXN0ZXJJRCBkZXN0MikKICAgICB7CiAgICAgICAgIG1fYXNzZW1ibGVy
LnZtb3YoZGVzdDEsIGRlc3QyLCBzcmMpOwpAQCAtMjQyOSw2ICsyNDMzLDEwIEBAIHB1YmxpYzoK
ICAgICAgICAgcmV0dXJuIENhbGwobV9hc3NlbWJsZXIubGFiZWwoKSwgQ2FsbDo6Tm9uZSk7CiAg
ICAgfQogCisgICAgQUxXQVlTX0lOTElORSBDYWxsIGNhbGwoUmVnaXN0ZXJJRCBjYWxsVGFnKSB7
IHJldHVybiBVTlVTRURfUEFSQU0oY2FsbFRhZyksIGNhbGwoTm9QdHJUYWcpOyB9CisgICAgQUxX
QVlTX0lOTElORSBDYWxsIGNhbGwoUmVnaXN0ZXJJRCB0YXJnZXQsIFJlZ2lzdGVySUQgY2FsbFRh
ZykgeyByZXR1cm4gVU5VU0VEX1BBUkFNKGNhbGxUYWcpLCBjYWxsKHRhcmdldCwgTm9QdHJUYWcp
OyB9CisgICAgQUxXQVlTX0lOTElORSBDYWxsIGNhbGwoQWRkcmVzcyBhZGRyZXNzLCBSZWdpc3Rl
cklEIGNhbGxUYWcpIHsgcmV0dXJuIFVOVVNFRF9QQVJBTShjYWxsVGFnKSwgY2FsbChhZGRyZXNz
LCBOb1B0clRhZyk7IH0KKwogICAgIHZvaWQgcmV0KCkKICAgICB7CiAgICAgICAgIG1fYXNzZW1i
bGVyLmpyKE1JUFNSZWdpc3RlcnM6OnJhKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODYuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2LmgJKHJldmlzaW9uIDIyOTg1OSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODYuaAko
d29ya2luZyBjb3B5KQpAQCAtMjE4LDEyICsyMTgsMTYgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gQ2FsbChtX2Fzc2VtYmxlci5jYWxsKCksIENhbGw6OkxpbmthYmxlKTsKICAgICB9CiAKKyAg
ICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChSZWdpc3RlcklEIGNhbGxUYWcpIHsgcmV0dXJuIFVO
VVNFRF9QQVJBTShjYWxsVGFnKSwgY2FsbChOb1B0clRhZyk7IH0KKwogICAgIC8vIEFkZHJlc3Mg
aXMgYSBtZW1vcnkgbG9jYXRpb24gY29udGFpbmluZyB0aGUgYWRkcmVzcyB0byBqdW1wIHRvCiAg
ICAgdm9pZCBqdW1wKEFic29sdXRlQWRkcmVzcyBhZGRyZXNzLCBQdHJUYWcpCiAgICAgewogICAg
ICAgICBtX2Fzc2VtYmxlci5qbXBfbShhZGRyZXNzLm1fcHRyKTsKICAgICB9CiAKKyAgICBBTFdB
WVNfSU5MSU5FIHZvaWQganVtcChBYnNvbHV0ZUFkZHJlc3MgYWRkcmVzcywgUmVnaXN0ZXJJRCBq
dW1wVGFnKSB7IFVOVVNFRF9QQVJBTShqdW1wVGFnKSwganVtcChhZGRyZXNzLCBOb1B0clRhZyk7
IH0KKwogICAgIENhbGwgdGFpbFJlY3Vyc2l2ZUNhbGwoKQogICAgIHsKICAgICAgICAgcmV0dXJu
IENhbGw6OmZyb21UYWlsSnVtcChqdW1wKCkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaAkocmV2
aXNpb24gMjI5ODU5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fz
c2VtYmxlclg4NkNvbW1vbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzEzLDYgKzI3MTMsOSBAQCBw
dWJsaWM6CiAgICAgICAgIG1fYXNzZW1ibGVyLmptcF9tKGFkZHJlc3Mub2Zmc2V0LCBhZGRyZXNz
LmJhc2UsIGFkZHJlc3MuaW5kZXgsIGFkZHJlc3Muc2NhbGUpOwogICAgIH0KIAorICAgIEFMV0FZ
U19JTkxJTkUgdm9pZCBqdW1wKFJlZ2lzdGVySUQgdGFyZ2V0LCBSZWdpc3RlcklEIGp1bXBUYWcp
IHsgVU5VU0VEX1BBUkFNKGp1bXBUYWcpLCBqdW1wKHRhcmdldCwgTm9QdHJUYWcpOyB9CisgICAg
QUxXQVlTX0lOTElORSB2b2lkIGp1bXAoQWRkcmVzcyBhZGRyZXNzLCBSZWdpc3RlcklEIGp1bXBU
YWcpIHsgVU5VU0VEX1BBUkFNKGp1bXBUYWcpLCBqdW1wKGFkZHJlc3MsIE5vUHRyVGFnKTsgfQor
ICAgIEFMV0FZU19JTkxJTkUgdm9pZCBqdW1wKEJhc2VJbmRleCBhZGRyZXNzLCBSZWdpc3RlcklE
IGp1bXBUYWcpIHsgVU5VU0VEX1BBUkFNKGp1bXBUYWcpLCBqdW1wKGFkZHJlc3MsIE5vUHRyVGFn
KTsgfQogCiAgICAgLy8gQXJpdGhtZXRpYyBjb250cm9sIGZsb3cgb3BlcmF0aW9uczoKICAgICAv
LwpAQCAtMjkwNCw2ICsyOTA3LDkgQEAgcHVibGljOgogICAgICAgICBtX2Fzc2VtYmxlci5jYWxs
X20oYWRkcmVzcy5vZmZzZXQsIGFkZHJlc3MuYmFzZSk7CiAgICAgfQogCisgICAgQUxXQVlTX0lO
TElORSBDYWxsIGNhbGwoUmVnaXN0ZXJJRCB0YXJnZXQsIFJlZ2lzdGVySUQgY2FsbFRhZykgeyBy
ZXR1cm4gVU5VU0VEX1BBUkFNKGNhbGxUYWcpLCBjYWxsKHRhcmdldCwgTm9QdHJUYWcpOyB9Cisg
ICAgQUxXQVlTX0lOTElORSB2b2lkIGNhbGwoQWRkcmVzcyBhZGRyZXNzLCBSZWdpc3RlcklEIGNh
bGxUYWcpIHsgVU5VU0VEX1BBUkFNKGNhbGxUYWcpLCBjYWxsKGFkZHJlc3MsIE5vUHRyVGFnKTsg
fQorCiAgICAgdm9pZCByZXQoKQogICAgIHsKICAgICAgICAgbV9hc3NlbWJsZXIucmV0KCk7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2XzY0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fz
c2VtYmxlclg4Nl82NC5oCShyZXZpc2lvbiAyMjk4NTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2XzY0LmgJKHdvcmtpbmcgY29weSkKQEAgLTIy
Myw2ICsyMjMsMTIgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KIAor
ICAgIEFMV0FZU19JTkxJTkUgQ2FsbCBjYWxsKFJlZ2lzdGVySUQgY2FsbFRhZykKKyAgICB7Cisg
ICAgICAgIFVOVVNFRF9QQVJBTShjYWxsVGFnKTsKKyAgICAgICAgcmV0dXJuIGNhbGwoTm9QdHJU
YWcpOworICAgIH0KKwogICAgIC8vIEFkZHJlc3MgaXMgYSBtZW1vcnkgbG9jYXRpb24gY29udGFp
bmluZyB0aGUgYWRkcmVzcyB0byBqdW1wIHRvCiAgICAgdm9pZCBqdW1wKEFic29sdXRlQWRkcmVz
cyBhZGRyZXNzLCBQdHJUYWcgdGFnKQogICAgIHsKQEAgLTIzMCw2ICsyMzYsOCBAQCBwdWJsaWM6
CiAgICAgICAgIGp1bXAoQWRkcmVzcyhzY3JhdGNoUmVnaXN0ZXIoKSksIHRhZyk7CiAgICAgfQog
CisgICAgQUxXQVlTX0lOTElORSB2b2lkIGp1bXAoQWJzb2x1dGVBZGRyZXNzIGFkZHJlc3MsIFJl
Z2lzdGVySUQganVtcFRhZykgeyBVTlVTRURfUEFSQU0oanVtcFRhZyksIGp1bXAoYWRkcmVzcywg
Tm9QdHJUYWcpOyB9CisKICAgICBDYWxsIHRhaWxSZWN1cnNpdmVDYWxsKCkKICAgICB7CiAgICAg
ICAgIERhdGFMYWJlbFB0ciBsYWJlbCA9IG1vdmVXaXRoUGF0Y2goVHJ1c3RlZEltbVB0cihudWxs
cHRyKSwgc2NyYXRjaFJlZ2lzdGVyKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>336305</attachid>
            <date>2018-03-22 13:29:51 -0700</date>
            <delta_ts>2018-03-22 13:37:00 -0700</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-183914.patch</filename>
            <type>text/plain</type>
            <size>10143</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjI5ODU5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBA
CisyMDE4LTAzLTIyICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBB
ZGQgcGxhY2Vob2xkZXIgY2FsbCBhbmQganVtcCBNYWNyb0Fzc2VtYmxlciBlbWl0dGVycyB0aGF0
IHRha2UgUHRyVGFnIGluIGEgcmVnaXN0ZXIuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODM5MTQKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzM4NzYz
NTM2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRo
aXMgaXMgaW4gcHJlcGFyYXRpb24gZm9yIHN1cHBvcnRpbmcgcG9pbnRlciBwcm9maWxpbmcgd29y
ay4KKworICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTS5oOgorICAgICAgICAo
SlNDOjpNYWNyb0Fzc2VtYmxlckFSTTo6anVtcCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1i
bGVyQVJNOjpjYWxsKToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5o
OgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTY0OjpjYWxsKToKKyAgICAgICAgKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJBUk02NDo6anVtcCk6CisgICAgICAgICogYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyQVJNdjcuaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJBUk12Nzo6anVt
cCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJNdjc6OmNhbGwpOgorICAgICAgICAq
IGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuaDoKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3Nl
bWJsZXJNSVBTOjpqdW1wKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJNSVBTOjpjYWxs
KToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODYuaDoKKyAgICAgICAgKEpT
Qzo6TWFjcm9Bc3NlbWJsZXJYODY6OmNhbGwpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxl
clg4Njo6anVtcCk6CisgICAgICAgICogYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9u
Lmg6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpqdW1wKToKKyAgICAg
ICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmNhbGwpOgorICAgICAgICAqIGFzc2Vt
Ymxlci9NYWNyb0Fzc2VtYmxlclg4Nl82NC5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxl
clg4Nl82NDo6Y2FsbCk6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyWDg2XzY0OjpqdW1w
KToKKwogMjAxOC0wMy0yMiAgRG9taW5payBJbmZ1ZWhyICA8ZGluZnVlaHJAaWdhbGlhLmNvbT4K
IAogICAgICAgICBbQVJNXSBUaHVtYjogRG8gbm90IGRlY29yYXRlIGJvdHRvbSBiaXQgdHdpY2UK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02
NC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9B
c3NlbWJsZXJBUk02NC5oCShyZXZpc2lvbiAyMjk4NTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuaAkod29ya2luZyBjb3B5KQpAQCAtMzEw
OCw2ICszMTA4LDEwIEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGNhbGwoZGF0YVRlbXBSZWdp
c3RlciwgdGFnKTsKICAgICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChSZWdpc3Rl
cklEIGNhbGxUYWcpIHsgcmV0dXJuIFVOVVNFRF9QQVJBTShjYWxsVGFnKSwgY2FsbChOb1B0clRh
Zyk7IH0KKyAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChSZWdpc3RlcklEIHRhcmdldCwgUmVn
aXN0ZXJJRCBjYWxsVGFnKSB7IHJldHVybiBVTlVTRURfUEFSQU0oY2FsbFRhZyksIGNhbGwodGFy
Z2V0LCBOb1B0clRhZyk7IH0KKyAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChBZGRyZXNzIGFk
ZHJlc3MsIFJlZ2lzdGVySUQgY2FsbFRhZykgeyByZXR1cm4gVU5VU0VEX1BBUkFNKGNhbGxUYWcp
LCBjYWxsKGFkZHJlc3MsIE5vUHRyVGFnKTsgfQorCiAgICAgQUxXQVlTX0lOTElORSBKdW1wIGp1
bXAoKQogICAgIHsKICAgICAgICAgQXNzZW1ibGVyTGFiZWwgbGFiZWwgPSBtX2Fzc2VtYmxlci5s
YWJlbCgpOwpAQCAtMzEzOSw2ICszMTQzLDExIEBAIHB1YmxpYzoKICAgICAgICAgbV9hc3NlbWJs
ZXIuYnIoZGF0YVRlbXBSZWdpc3Rlcik7CiAgICAgfQogCisgICAgQUxXQVlTX0lOTElORSB2b2lk
IGp1bXAoUmVnaXN0ZXJJRCB0YXJnZXQsIFJlZ2lzdGVySUQganVtcFRhZykgeyBVTlVTRURfUEFS
QU0oanVtcFRhZyksIGp1bXAodGFyZ2V0LCBOb1B0clRhZyk7IH0KKyAgICBBTFdBWVNfSU5MSU5F
IHZvaWQganVtcChBZGRyZXNzIGFkZHJlc3MsIFJlZ2lzdGVySUQganVtcFRhZykgeyBVTlVTRURf
UEFSQU0oanVtcFRhZyksIGp1bXAoYWRkcmVzcywgTm9QdHJUYWcpOyB9CisgICAgQUxXQVlTX0lO
TElORSB2b2lkIGp1bXAoQmFzZUluZGV4IGFkZHJlc3MsIFJlZ2lzdGVySUQganVtcFRhZykgeyBV
TlVTRURfUEFSQU0oanVtcFRhZyksIGp1bXAoYWRkcmVzcywgTm9QdHJUYWcpOyB9CisgICAgQUxX
QVlTX0lOTElORSB2b2lkIGp1bXAoQWJzb2x1dGVBZGRyZXNzIGFkZHJlc3MsIFJlZ2lzdGVySUQg
anVtcFRhZykgeyBVTlVTRURfUEFSQU0oanVtcFRhZyksIGp1bXAoYWRkcmVzcywgTm9QdHJUYWcp
OyB9CisKICAgICBBTFdBWVNfSU5MSU5FIENhbGwgbWFrZVRhaWxSZWN1cnNpdmVDYWxsKEp1bXAg
b2xkSnVtcCkKICAgICB7CiAgICAgICAgIG9sZEp1bXAubGluayh0aGlzKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk0uaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNLmgJ
KHJldmlzaW9uIDIyOTg1OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFj
cm9Bc3NlbWJsZXJBUk0uaAkod29ya2luZyBjb3B5KQpAQCAtODA1LDYgKzgwNSwxMCBAQCBwdWJs
aWM6CiAgICAgICAgIGxvYWQzMihBZGRyZXNzKEFSTVJlZ2lzdGVyczo6UzAsIDApLCBBUk1SZWdp
c3RlcnM6OnBjKTsKICAgICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQganVtcChSZWdpc3Rl
cklEIHRhcmdldCwgUmVnaXN0ZXJJRCBqdW1wVGFnKSB7IFVOVVNFRF9QQVJBTShqdW1wVGFnKSwg
anVtcCh0YXJnZXQsIE5vUHRyVGFnKTsgfQorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBqdW1wKEFk
ZHJlc3MgYWRkcmVzcywgUmVnaXN0ZXJJRCBqdW1wVGFnKSB7IFVOVVNFRF9QQVJBTShqdW1wVGFn
KSwganVtcChhZGRyZXNzLCBOb1B0clRhZyk7IH0KKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQganVt
cChBYnNvbHV0ZUFkZHJlc3MgYWRkcmVzcywgUmVnaXN0ZXJJRCBqdW1wVGFnKSB7IFVOVVNFRF9Q
QVJBTShqdW1wVGFnKSwganVtcChhZGRyZXNzLCBOb1B0clRhZyk7IH0KKwogICAgIHZvaWQgbW92
ZURvdWJsZVRvSW50cyhGUFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRlc3QxLCBSZWdpc3Rl
cklEIGRlc3QyKQogICAgIHsKICAgICAgICAgbV9hc3NlbWJsZXIudm1vdihkZXN0MSwgZGVzdDIs
IHNyYyk7CkBAIC0xMTI1LDYgKzExMjksMTAgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gQ2Fs
bChtX2Fzc2VtYmxlci5ibHgoQVJNUmVnaXN0ZXJzOjpTMSksIENhbGw6OkxpbmthYmxlKTsKICAg
ICB9CiAKKyAgICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChSZWdpc3RlcklEIGNhbGxUYWcpIHsg
cmV0dXJuIFVOVVNFRF9QQVJBTShjYWxsVGFnKSwgY2FsbChOb1B0clRhZyk7IH0KKyAgICBBTFdB
WVNfSU5MSU5FIENhbGwgY2FsbChSZWdpc3RlcklEIHRhcmdldCwgUmVnaXN0ZXJJRCBjYWxsVGFn
KSB7IHJldHVybiBVTlVTRURfUEFSQU0oY2FsbFRhZyksIGNhbGwodGFyZ2V0LCBOb1B0clRhZyk7
IH0KKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQgY2FsbChBZGRyZXNzIGFkZHJlc3MsIFJlZ2lzdGVy
SUQgY2FsbFRhZykgeyBVTlVTRURfUEFSQU0oY2FsbFRhZyksIGNhbGwoYWRkcmVzcywgTm9QdHJU
YWcpOyB9CisKICAgICBDYWxsIHRhaWxSZWN1cnNpdmVDYWxsKCkKICAgICB7CiAgICAgICAgIHJl
dHVybiBDYWxsOjpmcm9tVGFpbEp1bXAoanVtcCgpKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk12Ny5oCShyZXZpc2lv
biAyMjk4NTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1i
bGVyQVJNdjcuaAkod29ya2luZyBjb3B5KQpAQCAtMTYyNSw2ICsxNjI1LDkgQEAgcHVibGljOgog
ICAgICAgICBtX2Fzc2VtYmxlci5ieChkYXRhVGVtcFJlZ2lzdGVyKTsKICAgICB9CiAKKyAgICBB
TFdBWVNfSU5MSU5FIHZvaWQganVtcChSZWdpc3RlcklEIHRhcmdldCwgUmVnaXN0ZXJJRCBqdW1w
VGFnKSB7IFVOVVNFRF9QQVJBTShqdW1wVGFnKSwganVtcCh0YXJnZXQsIE5vUHRyVGFnKTsgfQor
ICAgIEFMV0FZU19JTkxJTkUgdm9pZCBqdW1wKEFkZHJlc3MgYWRkcmVzcywgUmVnaXN0ZXJJRCBq
dW1wVGFnKSB7IFVOVVNFRF9QQVJBTShqdW1wVGFnKSwganVtcChhZGRyZXNzLCBOb1B0clRhZyk7
IH0KKyAgICBBTFdBWVNfSU5MSU5FIHZvaWQganVtcChBYnNvbHV0ZUFkZHJlc3MgYWRkcmVzcywg
UmVnaXN0ZXJJRCBqdW1wVGFnKSB7IFVOVVNFRF9QQVJBTShqdW1wVGFnKSwganVtcChhZGRyZXNz
LCBOb1B0clRhZyk7IH0KIAogICAgIC8vIEFyaXRobWV0aWMgY29udHJvbCBmbG93IG9wZXJhdGlv
bnM6CiAgICAgLy8KQEAgLTE4MTEsNiArMTgxNCwxMCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVy
biBDYWxsKG1fYXNzZW1ibGVyLmJseChkYXRhVGVtcFJlZ2lzdGVyKSwgQ2FsbDo6Tm9uZSk7CiAg
ICAgfQogCisgICAgQUxXQVlTX0lOTElORSBDYWxsIGNhbGwoUmVnaXN0ZXJJRCBjYWxsVGFnKSB7
IHJldHVybiBVTlVTRURfUEFSQU0oY2FsbFRhZyksIGNhbGwoTm9QdHJUYWcpOyB9CisgICAgQUxX
QVlTX0lOTElORSBDYWxsIGNhbGwoUmVnaXN0ZXJJRCB0YXJnZXQsIFJlZ2lzdGVySUQgY2FsbFRh
ZykgeyByZXR1cm4gVU5VU0VEX1BBUkFNKGNhbGxUYWcpLCBjYWxsKHRhcmdldCwgTm9QdHJUYWcp
OyB9CisgICAgQUxXQVlTX0lOTElORSBDYWxsIGNhbGwoQWRkcmVzcyBhZGRyZXNzLCBSZWdpc3Rl
cklEIGNhbGxUYWcpIHsgcmV0dXJuIFVOVVNFRF9QQVJBTShjYWxsVGFnKSwgY2FsbChhZGRyZXNz
LCBOb1B0clRhZyk7IH0KKwogICAgIEFMV0FZU19JTkxJTkUgdm9pZCByZXQoKQogICAgIHsKICAg
ICAgICAgbV9hc3NlbWJsZXIuYngobGlua1JlZ2lzdGVyKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJNSVBTLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlck1JUFMuaAkocmV2aXNp
b24gMjI5ODU5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2Vt
Ymxlck1JUFMuaAkod29ya2luZyBjb3B5KQpAQCAtMTkyNSw2ICsxOTI1LDEwIEBAIHB1YmxpYzoK
ICAgICAgICAgbV9maXhlZFdpZHRoID0gZmFsc2U7CiAgICAgfQogCisgICAgQUxXQVlTX0lOTElO
RSB2b2lkIGp1bXAoUmVnaXN0ZXJJRCB0YXJnZXQsIFJlZ2lzdGVySUQganVtcFRhZykgeyBVTlVT
RURfUEFSQU0oanVtcFRhZyksIGp1bXAodGFyZ2V0LCBOb1B0clRhZyk7IH0KKyAgICBBTFdBWVNf
SU5MSU5FIHZvaWQganVtcChBZGRyZXNzIGFkZHJlc3MsIFJlZ2lzdGVySUQganVtcFRhZykgeyBV
TlVTRURfUEFSQU0oanVtcFRhZyksIGp1bXAoYWRkcmVzcywgTm9QdHJUYWcpOyB9CisgICAgQUxX
QVlTX0lOTElORSB2b2lkIGp1bXAoQWJzb2x1dGVBZGRyZXNzIGFkZHJlc3MsIFJlZ2lzdGVySUQg
anVtcFRhZykgeyBVTlVTRURfUEFSQU0oanVtcFRhZyksIGp1bXAoYWRkcmVzcywgTm9QdHJUYWcp
OyB9CisKICAgICB2b2lkIG1vdmVEb3VibGVUb0ludHMoRlBSZWdpc3RlcklEIHNyYywgUmVnaXN0
ZXJJRCBkZXN0MSwgUmVnaXN0ZXJJRCBkZXN0MikKICAgICB7CiAgICAgICAgIG1fYXNzZW1ibGVy
LnZtb3YoZGVzdDEsIGRlc3QyLCBzcmMpOwpAQCAtMjQyOSw2ICsyNDMzLDEwIEBAIHB1YmxpYzoK
ICAgICAgICAgcmV0dXJuIENhbGwobV9hc3NlbWJsZXIubGFiZWwoKSwgQ2FsbDo6Tm9uZSk7CiAg
ICAgfQogCisgICAgQUxXQVlTX0lOTElORSBDYWxsIGNhbGwoUmVnaXN0ZXJJRCBjYWxsVGFnKSB7
IHJldHVybiBVTlVTRURfUEFSQU0oY2FsbFRhZyksIGNhbGwoTm9QdHJUYWcpOyB9CisgICAgQUxX
QVlTX0lOTElORSBDYWxsIGNhbGwoUmVnaXN0ZXJJRCB0YXJnZXQsIFJlZ2lzdGVySUQgY2FsbFRh
ZykgeyByZXR1cm4gVU5VU0VEX1BBUkFNKGNhbGxUYWcpLCBjYWxsKHRhcmdldCwgTm9QdHJUYWcp
OyB9CisgICAgQUxXQVlTX0lOTElORSBDYWxsIGNhbGwoQWRkcmVzcyBhZGRyZXNzLCBSZWdpc3Rl
cklEIGNhbGxUYWcpIHsgcmV0dXJuIFVOVVNFRF9QQVJBTShjYWxsVGFnKSwgY2FsbChhZGRyZXNz
LCBOb1B0clRhZyk7IH0KKwogICAgIHZvaWQgcmV0KCkKICAgICB7CiAgICAgICAgIG1fYXNzZW1i
bGVyLmpyKE1JUFNSZWdpc3RlcnM6OnJhKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODYuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2LmgJKHJldmlzaW9uIDIyOTg1OSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODYuaAko
d29ya2luZyBjb3B5KQpAQCAtMjE4LDEyICsyMTgsMTYgQEAgcHVibGljOgogICAgICAgICByZXR1
cm4gQ2FsbChtX2Fzc2VtYmxlci5jYWxsKCksIENhbGw6OkxpbmthYmxlKTsKICAgICB9CiAKKyAg
ICBBTFdBWVNfSU5MSU5FIENhbGwgY2FsbChSZWdpc3RlcklEIGNhbGxUYWcpIHsgcmV0dXJuIFVO
VVNFRF9QQVJBTShjYWxsVGFnKSwgY2FsbChOb1B0clRhZyk7IH0KKwogICAgIC8vIEFkZHJlc3Mg
aXMgYSBtZW1vcnkgbG9jYXRpb24gY29udGFpbmluZyB0aGUgYWRkcmVzcyB0byBqdW1wIHRvCiAg
ICAgdm9pZCBqdW1wKEFic29sdXRlQWRkcmVzcyBhZGRyZXNzLCBQdHJUYWcpCiAgICAgewogICAg
ICAgICBtX2Fzc2VtYmxlci5qbXBfbShhZGRyZXNzLm1fcHRyKTsKICAgICB9CiAKKyAgICBBTFdB
WVNfSU5MSU5FIHZvaWQganVtcChBYnNvbHV0ZUFkZHJlc3MgYWRkcmVzcywgUmVnaXN0ZXJJRCBq
dW1wVGFnKSB7IFVOVVNFRF9QQVJBTShqdW1wVGFnKSwganVtcChhZGRyZXNzLCBOb1B0clRhZyk7
IH0KKwogICAgIENhbGwgdGFpbFJlY3Vyc2l2ZUNhbGwoKQogICAgIHsKICAgICAgICAgcmV0dXJu
IENhbGw6OmZyb21UYWlsSnVtcChqdW1wKCkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaAkocmV2
aXNpb24gMjI5ODU5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fz
c2VtYmxlclg4NkNvbW1vbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzEzLDYgKzI3MTMsOSBAQCBw
dWJsaWM6CiAgICAgICAgIG1fYXNzZW1ibGVyLmptcF9tKGFkZHJlc3Mub2Zmc2V0LCBhZGRyZXNz
LmJhc2UsIGFkZHJlc3MuaW5kZXgsIGFkZHJlc3Muc2NhbGUpOwogICAgIH0KIAorICAgIEFMV0FZ
U19JTkxJTkUgdm9pZCBqdW1wKFJlZ2lzdGVySUQgdGFyZ2V0LCBSZWdpc3RlcklEIGp1bXBUYWcp
IHsgVU5VU0VEX1BBUkFNKGp1bXBUYWcpLCBqdW1wKHRhcmdldCwgTm9QdHJUYWcpOyB9CisgICAg
QUxXQVlTX0lOTElORSB2b2lkIGp1bXAoQWRkcmVzcyBhZGRyZXNzLCBSZWdpc3RlcklEIGp1bXBU
YWcpIHsgVU5VU0VEX1BBUkFNKGp1bXBUYWcpLCBqdW1wKGFkZHJlc3MsIE5vUHRyVGFnKTsgfQor
ICAgIEFMV0FZU19JTkxJTkUgdm9pZCBqdW1wKEJhc2VJbmRleCBhZGRyZXNzLCBSZWdpc3RlcklE
IGp1bXBUYWcpIHsgVU5VU0VEX1BBUkFNKGp1bXBUYWcpLCBqdW1wKGFkZHJlc3MsIE5vUHRyVGFn
KTsgfQogCiAgICAgLy8gQXJpdGhtZXRpYyBjb250cm9sIGZsb3cgb3BlcmF0aW9uczoKICAgICAv
LwpAQCAtMjkwNCw2ICsyOTA3LDkgQEAgcHVibGljOgogICAgICAgICBtX2Fzc2VtYmxlci5jYWxs
X20oYWRkcmVzcy5vZmZzZXQsIGFkZHJlc3MuYmFzZSk7CiAgICAgfQogCisgICAgQUxXQVlTX0lO
TElORSBDYWxsIGNhbGwoUmVnaXN0ZXJJRCB0YXJnZXQsIFJlZ2lzdGVySUQgY2FsbFRhZykgeyBy
ZXR1cm4gVU5VU0VEX1BBUkFNKGNhbGxUYWcpLCBjYWxsKHRhcmdldCwgTm9QdHJUYWcpOyB9Cisg
ICAgQUxXQVlTX0lOTElORSB2b2lkIGNhbGwoQWRkcmVzcyBhZGRyZXNzLCBSZWdpc3RlcklEIGNh
bGxUYWcpIHsgVU5VU0VEX1BBUkFNKGNhbGxUYWcpLCBjYWxsKGFkZHJlc3MsIE5vUHRyVGFnKTsg
fQorCiAgICAgdm9pZCByZXQoKQogICAgIHsKICAgICAgICAgbV9hc3NlbWJsZXIucmV0KCk7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2XzY0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fz
c2VtYmxlclg4Nl82NC5oCShyZXZpc2lvbiAyMjk4NTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2XzY0LmgJKHdvcmtpbmcgY29weSkKQEAgLTIy
Myw2ICsyMjMsOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCisg
ICAgQUxXQVlTX0lOTElORSBDYWxsIGNhbGwoUmVnaXN0ZXJJRCBjYWxsVGFnKSB7IHJldHVybiBV
TlVTRURfUEFSQU0oY2FsbFRhZyksIGNhbGwoTm9QdHJUYWcpOyB9CisKICAgICAvLyBBZGRyZXNz
IGlzIGEgbWVtb3J5IGxvY2F0aW9uIGNvbnRhaW5pbmcgdGhlIGFkZHJlc3MgdG8ganVtcCB0bwog
ICAgIHZvaWQganVtcChBYnNvbHV0ZUFkZHJlc3MgYWRkcmVzcywgUHRyVGFnIHRhZykKICAgICB7
CkBAIC0yMzAsNiArMjMyLDggQEAgcHVibGljOgogICAgICAgICBqdW1wKEFkZHJlc3Moc2NyYXRj
aFJlZ2lzdGVyKCkpLCB0YWcpOwogICAgIH0KIAorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBqdW1w
KEFic29sdXRlQWRkcmVzcyBhZGRyZXNzLCBSZWdpc3RlcklEIGp1bXBUYWcpIHsgVU5VU0VEX1BB
UkFNKGp1bXBUYWcpLCBqdW1wKGFkZHJlc3MsIE5vUHRyVGFnKTsgfQorCiAgICAgQ2FsbCB0YWls
UmVjdXJzaXZlQ2FsbCgpCiAgICAgewogICAgICAgICBEYXRhTGFiZWxQdHIgbGFiZWwgPSBtb3Zl
V2l0aFBhdGNoKFRydXN0ZWRJbW1QdHIobnVsbHB0ciksIHNjcmF0Y2hSZWdpc3RlcigpKTsK
</data>
<flag name="review"
          id="354835"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>