<?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>194505</bug_id>
          
          <creation_ts>2019-02-11 10:31:32 -0800</creation_ts>
          <short_desc>[iOS] Adopt SPI to support Emacs bindings: transpose and delete to end of paragraph</short_desc>
          <delta_ts>2019-02-11 17:04:23 -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>HTML Editing</component>
          <version>WebKit Local Build</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 12</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>megan_gardner</cc>
    
    <cc>rniwa</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1504911</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-02-11 10:31:32 -0800</bug_when>
    <thetext>Adopt UIKit SPI added in &lt;rdar://problem/44928156&gt; to support Control + t and Control + k to transpose and delete to the end of the line/paragraph, respectively.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504913</commentid>
    <comment_count>1</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-02-11 10:31:42 -0800</bug_when>
    <thetext>&lt;rdar://problem/47743533&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504917</commentid>
    <comment_count>2</comment_count>
      <attachid>361694</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-02-11 10:34:20 -0800</bug_when>
    <thetext>Created attachment 361694
Patch and layout tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504918</commentid>
    <comment_count>3</comment_count>
      <attachid>361695</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-02-11 10:35:42 -0800</bug_when>
    <thetext>Created attachment 361695
Patch and layout tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1505054</commentid>
    <comment_count>4</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2019-02-11 17:04:23 -0800</bug_when>
    <thetext>Committed r241284: &lt;https://trac.webkit.org/changeset/241284&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361694</attachid>
            <date>2019-02-11 10:34:20 -0800</date>
            <delta_ts>2019-02-11 10:35:41 -0800</delta_ts>
            <desc>Patch and layout tests</desc>
            <filename>bug-194505-20190211103420.patch</filename>
            <type>text/plain</type>
            <size>9599</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxMDI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk5OTNiYTljMDc4ZDU0ODEz
NzA4NjUwNTY5N2IzNWMzNjcyZGQyMWQuLjExYWIwODNkZTUwMDczMTdmMGIxODgyOGM0YjE4MGRj
YWQwMDU1NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMDItMTEgIERhbmllbCBC
YXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIEFkb3B0IFNQSSB0byBz
dXBwb3J0IEVtYWNzIGJpbmRpbmdzOiB0cmFuc3Bvc2UgYW5kIGRlbGV0ZSB0byBlbmQgb2YgcGFy
YWdyYXBoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTQ1MDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3NzQzNTMzPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2RlbGV0ZVRv
RW5kT2ZQYXJhZ3JhcGhdKTogQWRkZWQuCisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3RyYW5z
cG9zZV0pOiBBZGRlZC4KKwogMjAxOS0wMi0wNiAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgU3RhbmRhcmRpemUgb24gQ29udHJvbEtleSBpbnN0ZWFkIG9mIEN0
cmxLZXkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDRkOGUzNjA0YThlYTg4ZjUxNmY2NzQzYzNhZjhkNDc0
NzQxODU2ODkuLmYzYmM2YzMzMWE5NTE5NDljYzFiMGRhZDdkMmMxZTU3MGYxMTVlYWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRl
cmFjdGlvbi5tbQpAQCAtNDI3NCw2ICs0Mjc0LDE2IEBAIC0gKHZvaWQpX2RlbGV0ZUZvcndhcmRB
bmROb3RpZnk6KEJPT0wpbm90aWZ5CiAgICAgW3NlbGYgZXhlY3V0ZUVkaXRDb21tYW5kV2l0aENh
bGxiYWNrOkAiZGVsZXRlRm9yd2FyZCJdOwogfQogCistICh2b2lkKV9kZWxldGVUb0VuZE9mUGFy
YWdyYXBoCit7CisgICAgW3NlbGYgZXhlY3V0ZUVkaXRDb21tYW5kV2l0aENhbGxiYWNrOkAiZGVs
ZXRlVG9FbmRPZlBhcmFncmFwaCJdOworfQorCistICh2b2lkKV90cmFuc3Bvc2UKK3sKKyAgICBb
c2VsZiBleGVjdXRlRWRpdENvbW1hbmRXaXRoQ2FsbGJhY2s6QCJ0cmFuc3Bvc2UiXTsKK30KKwog
LSAoVUlUZXh0SW5wdXRBcnJvd0tleUhpc3RvcnkgKilfbW92ZVVwOihCT09MKWV4dGVuZGluZyB3
aXRoSGlzdG9yeTooVUlUZXh0SW5wdXRBcnJvd0tleUhpc3RvcnkgKiloaXN0b3J5CiB7CiAgICAg
W3NlbGYgZXhlY3V0ZUVkaXRDb21tYW5kV2l0aENhbGxiYWNrOmV4dGVuZGluZyA/IEAibW92ZVVw
QW5kTW9kaWZ5U2VsZWN0aW9uIiA6IEAibW92ZVVwIl07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjdkMTIwMzExM2M2NGFk
ZDZmYTVjZGM1Y2UxODU0M2ZjYTg0MmM0Yi4uNzk1ODk4YTBhZTA4NDgzODAwZThjMDJkYjBmZjI4
MDFhZjkyYjY4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE5LTAyLTExICBEYW5pZWwgQmF0
ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBBZG9wdCBTUEkgdG8gc3Vw
cG9ydCBFbWFjcyBiaW5kaW5nczogdHJhbnNwb3NlIGFuZCBkZWxldGUgdG8gZW5kIG9mIHBhcmFn
cmFwaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0
NTA1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80Nzc0MzUzMz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdHMgdG8gZW5zdXJlIHRoYXQg
Q29udHJvbCArIHQgYW5kIENvbnRyb2wgKyBrIHBlcmZvcm0gYSB0cmFuc3Bvc2UgYW5kIGRlbGV0
ZSB0byB0aGUKKyAgICAgICAgZW5kIG9mIHRoZSBsaW5lL3BhcmFncmFwaC4gU2tpcCB0aGUgdGVz
dHMgZm9yIG5vdyB1bnRpbCB3ZSBoYXZlIHRoZSBVSUtpdCBmaXggPHJkYXI6Ly9wcm9ibGVtLzQ0
OTI4MTU2Pi4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL2lvcy9rZXktY29tbWFuZC1kZWxldGUt
dG8tZW5kLW9mLXBhcmFncmFwaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZXZlbnRzL2lvcy9rZXktY29tbWFuZC1kZWxldGUtdG8tZW5kLW9mLXBhcmFncmFwaC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9pb3Mva2V5LWNvbW1hbmQtdHJhbnNwb3NlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvaW9zL2tleS1jb21tYW5k
LXRyYW5zcG9zZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVGVzdEV4cGVj
dGF0aW9uczogU2tpcCB0ZXN0cyBmb3Igbm93LgorCiAyMDE5LTAyLTA2ICBKb25hdGhhbiBCZWRh
cmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBbaVBhZF0gSW5pdGlhbCB0ZXN0IGdh
cmRlbmluZyAoUGFydCAyKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9z
L2tleS1jb21tYW5kLWRlbGV0ZS10by1lbmQtb2YtcGFyYWdyYXBoLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9rZXktY29tbWFuZC1kZWxldGUtdG8tZW5kLW9mLXBh
cmFncmFwaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTdmYTE5NGFiNGVjMDgzYjIxMWFhZWZl
Y2Q3MGFlZTliMDkzYmJiNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL2lvcy9rZXktY29tbWFuZC1kZWxldGUtdG8tZW5kLW9mLXBhcmFncmFwaC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdHMgdGhhdCBwcmVzc2luZyBDb250cm9sICsgayBpbiBh
IGNvbnRlbnQtZWRpdGFibGUgZmllbGQgZGVsZXRlcyB0byB0aGUgZW5kIG9mIHRoZSBwYXJhZ3Jh
cGguCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitUbyBydW4gdGhpcyB0ZXN0IGJ5
IGhhbmQsIHBsYWNlIHRoZSB0ZXh0IGluc2VydGlvbiBwb2ludCBiZWZvcmUgdGhlICdoJyBpbiB0
aGUgdGV4dCBiZWxvdyBhbmQgcHJlc3MgQ29udHJvbCArIGsuCisKK1BBU1MgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInRlc3QiKS50ZXh0Q29udGVudCBpcyAiYSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9pb3Mva2V5LWNvbW1hbmQtZGVsZXRlLXRvLWVuZC1vZi1wYXJhZ3JhcGgu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9rZXktY29tbWFuZC1kZWxldGUtdG8t
ZW5kLW9mLXBhcmFncmFwaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjNjc5ZTgwY2NlZjgyYjI2MTRmNTAw
NTAzMGI3MmQxZTI1NDg1NDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9pb3Mva2V5LWNvbW1hbmQtZGVsZXRlLXRvLWVuZC1vZi1wYXJhZ3JhcGguaHRtbApAQCAt
MCwwICsxLDYwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisjdGVzdCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgaGVpZ2h0OiA1MDBweDsKKyAgICB3
aWR0aDogNTAwcHg7Cit9CisKKy5oaWRkZW4geworICAgIGRpc3BsYXk6IG5vbmU7Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxwIGlkPSJt
YW51YWwtaW5zdHJ1Y3Rpb25zIiBjbGFzcz0iaGlkZSI+VG8gcnVuIHRoaXMgdGVzdCBieSBoYW5k
LCBwbGFjZSB0aGUgdGV4dCBpbnNlcnRpb24gcG9pbnQgYmVmb3JlIHRoZSAnaCcgaW4gdGhlIHRl
eHQgYmVsb3cgYW5kIHByZXNzIENvbnRyb2wgKyBrLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPGRpdiBpZD0idGVzdCIgY29udGVudGVkaXRhYmxlPSJ0cnVlIj5haDwvZGl2PgorPHNj
cmlwdD4KK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworbGV0IHRlc3RFbGVtZW50ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKK2xldCBtdXRhdGlvbk9ic2VydmVyID0g
bnVsbDsKKworZnVuY3Rpb24gaGFuZGxlQ2hpbGRMaXN0TW9kaWZpZWQoKQoreworICAgIG11dGF0
aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKS50ZXh0Q29udGVudCcsICJhIik7CisgICAgZG9j
dW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZXN0RWxlbWVudCk7CisgICAgZmluaXNoSlNUZXN0KCk7
Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIp
CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYW51YWwtaW5zdHJ1Y3Rpb25zIiku
Y2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik7CisKKyAgICBtdXRhdGlvbk9ic2VydmVyID0gbmV3
IE11dGF0aW9uT2JzZXJ2ZXIoaGFuZGxlQ2hpbGRMaXN0TW9kaWZpZWQpOworICAgIG11dGF0aW9u
T2JzZXJ2ZXIub2JzZXJ2ZSh0ZXN0RWxlbWVudCwgeyBzdWJ0cmVlOnRydWUsIGNoYXJhY3RlckRh
dGE6IHRydWUgfSk7CisKKyAgICBmdW5jdGlvbiBoYW5kbGVGb2N1cygpIHsKKyAgICAgICAgd2lu
ZG93LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQodGVzdEVsZW1lbnQuZmlyc3RDaGls
ZCwgMSwgdGVzdEVsZW1lbnQuZmlyc3RDaGlsZCwgMSk7IC8vIFB1dCBjYXJldCBiZWZvcmUgdGhl
ICdoJy4KKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgVUlIZWxw
ZXIua2V5RG93bigiayIsIFsiY3RybEtleSJdKTsKKyAgICB9CisgICAgdGVzdEVsZW1lbnQuYWRk
RXZlbnRMaXN0ZW5lcigiZm9jdXMiLCBoYW5kbGVGb2N1cywgeyBvbmNlOiB0cnVlIH0pOworICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50
KHRlc3RFbGVtZW50KTsKK30KKworZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgcHJlc3NpbmcgQ29u
dHJvbCArIGsgaW4gYSBjb250ZW50LWVkaXRhYmxlIGZpZWxkIGRlbGV0ZXMgdG8gdGhlIGVuZCBv
ZiB0aGUgcGFyYWdyYXBoLiIpOworcnVuVGVzdCgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3Mva2V5LWNvbW1hbmQt
dHJhbnNwb3NlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9rZXkt
Y29tbWFuZC10cmFuc3Bvc2UtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyY2VlZDAwODI4ZTBh
ZDZiYWU1Y2NmZDU4NWRhYmZiNWViNzg4ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9pb3Mva2V5LWNvbW1hbmQtdHJhbnNwb3NlLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDEyIEBACitUZXN0cyB0aGF0IHByZXNzaW5nIENvbnRyb2wgKyB0IGluIGEgY29udGVu
dC1lZGl0YWJsZSBmaWVsZCBwZXJmb3JtcyBhIHRyYW5wb3NlLgorCitPbiBzdWNjZXNzLCB5b3Ug
d2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBD
T01QTEVURSIuCisKKworVG8gcnVuIHRoaXMgdGVzdCBieSBoYW5kLCBwbGFjZSB0aGUgdGV4dCBp
bnNlcnRpb24gcG9pbnQgYmVmb3JlIHRoZSAnaCcgaW4gdGhlIHRleHQgYmVsb3cgYW5kIHByZXNz
IENvbnRyb2wgKyB0LgorCitQQVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0IikudGV4
dENvbnRlbnQgaXMgImhhIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9rZXkt
Y29tbWFuZC10cmFuc3Bvc2UuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9rZXkt
Y29tbWFuZC10cmFuc3Bvc2UuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMDc5MzFiOTJjNGZiOTRkMDllNGM5
OWVlYzU5MjM4MWYyMjMwODljCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvaW9zL2tleS1jb21tYW5kLXRyYW5zcG9zZS5odG1sCkBAIC0wLDAgKzEsNjAgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250
ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMv
dWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyN0ZXN0IHsKKyAgICBib3JkZXI6IDFw
eCBzb2xpZCBibGFjazsKKyAgICBoZWlnaHQ6IDUwMHB4OworICAgIHdpZHRoOiA1MDBweDsKK30K
KworLmhpZGRlbiB7CisgICAgZGlzcGxheTogbm9uZTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPHAgaWQ9Im1hbnVhbC1pbnN0cnVjdGlv
bnMiIGNsYXNzPSJoaWRlIj5UbyBydW4gdGhpcyB0ZXN0IGJ5IGhhbmQsIHBsYWNlIHRoZSB0ZXh0
IGluc2VydGlvbiBwb2ludCBiZWZvcmUgdGhlICdoJyBpbiB0aGUgdGV4dCBiZWxvdyBhbmQgcHJl
c3MgQ29udHJvbCArIHQuPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8ZGl2IGlkPSJ0
ZXN0IiBjb250ZW50ZWRpdGFibGU9InRydWUiPmFoPC9kaXY+Cis8c2NyaXB0Pgord2luZG93Lmpz
VGVzdElzQXN5bmMgPSB0cnVlOworCitsZXQgdGVzdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidGVzdCIpOworbGV0IG11dGF0aW9uT2JzZXJ2ZXIgPSBudWxsOworCitmdW5jdGlv
biBoYW5kbGVDaGlsZExpc3RNb2RpZmllZCgpCit7CisgICAgbXV0YXRpb25PYnNlcnZlci5kaXNj
b25uZWN0KCk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGVzdCIpLnRleHRDb250ZW50JywgImhhIik7CisgICAgZG9jdW1lbnQuYm9keS5yZW1v
dmVDaGlsZCh0ZXN0RWxlbWVudCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2Z1bmN0aW9u
IHJ1blRlc3QoKQoreworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJtYW51YWwtaW5zdHJ1Y3Rpb25zIikuY2xhc3NMaXN0LnJlbW92
ZSgiaGlkZGVuIik7CisKKyAgICBtdXRhdGlvbk9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2
ZXIoaGFuZGxlQ2hpbGRMaXN0TW9kaWZpZWQpOworICAgIG11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2
ZSh0ZXN0RWxlbWVudCwgeyBzdWJ0cmVlOnRydWUsIGNoYXJhY3RlckRhdGE6IHRydWUgfSk7CisK
KyAgICBmdW5jdGlvbiBoYW5kbGVGb2N1cygpIHsKKyAgICAgICAgd2luZG93LmdldFNlbGVjdGlv
bigpLnNldEJhc2VBbmRFeHRlbnQodGVzdEVsZW1lbnQuZmlyc3RDaGlsZCwgMSwgdGVzdEVsZW1l
bnQuZmlyc3RDaGlsZCwgMSk7IC8vIFB1dCBjYXJldCBiZWZvcmUgdGhlICdoJy4KKyAgICAgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgVUlIZWxwZXIua2V5RG93bigidCIs
IFsiY3RybEtleSJdKTsKKyAgICB9CisgICAgdGVzdEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigi
Zm9jdXMiLCBoYW5kbGVGb2N1cywgeyBvbmNlOiB0cnVlIH0pOworICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHRlc3RFbGVtZW50KTsK
K30KKworZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgcHJlc3NpbmcgQ29udHJvbCArIHQgaW4gYSBj
b250ZW50LWVkaXRhYmxlIGZpZWxkIHBlcmZvcm1zIGEgdHJhbnBvc2UuIik7CitydW5UZXN0KCk7
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggZjQwMTYxY2NhMmM5OGM3M2Q3NmU1MjYwNTMxZTgxNzAzN2Iz
MmM1Zi4uNmI2ODU2NDgyOWI2OWNhMzdiNGYyMDFlZTczOWY5MTU2MTRkYmZiMCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTMyMTAsMyArMzIxMCw3IEBA
IHdlYmtpdC5vcmcvYi8xOTM5NTUgY29tcG9zaXRpbmcvaWZyYW1lcy9yZW1vdmUtcmVpbnNlcnQt
d2Vidmlldy13aXRoLWlmcmFtZS5odG1sCiB3ZWJraXQub3JnL2IvMTUzMzM3IHBhZ2VvdmVybGF5
L292ZXJsYXktaW5zdGFsbGF0aW9uLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9i
LzE1MzMzNyBwYWdlb3ZlcmxheS9vdmVybGF5LWxhcmdlLWRvY3VtZW50LXNjcm9sbGVkLmh0bWwg
WyBQYXNzIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE1MzMzNyBwYWdlb3ZlcmxheS9vdmVybGF5
LWxhcmdlLWRvY3VtZW50Lmh0bWwgWyBQYXNzIEZhaWx1cmUgXQorCisjIEZJWE1FOiBVbnNraXAg
dGhlIGZvbGxvd2luZyB0ZXN0IG9uY2Ugd2UgaGF2ZSB0aGUgZml4IGZvciA8cmRhcjovL3Byb2Js
ZW0vNDQ5MjgxNTY+LgorZmFzdC9ldmVudHMvaW9zL2tleS1jb21tYW5kLWRlbGV0ZS10by1lbmQt
b2YtcGFyYWdyYXBoLmh0bWwgWyBTa2lwIF0KK2Zhc3QvZXZlbnRzL2lvcy9rZXktY29tbWFuZC10
cmFuc3Bvc2UuaHRtbCBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361695</attachid>
            <date>2019-02-11 10:35:42 -0800</date>
            <delta_ts>2019-02-11 10:37:20 -0800</delta_ts>
            <desc>Patch and layout tests</desc>
            <filename>bug-194505-20190211103542.patch</filename>
            <type>text/plain</type>
            <size>9563</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQxMDI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk5OTNiYTljMDc4ZDU0ODEz
NzA4NjUwNTY5N2IzNWMzNjcyZGQyMWQuLjExYWIwODNkZTUwMDczMTdmMGIxODgyOGM0YjE4MGRj
YWQwMDU1NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTktMDItMTEgIERhbmllbCBC
YXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIEFkb3B0IFNQSSB0byBz
dXBwb3J0IEVtYWNzIGJpbmRpbmdzOiB0cmFuc3Bvc2UgYW5kIGRlbGV0ZSB0byBlbmQgb2YgcGFy
YWdyYXBoCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
OTQ1MDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ3NzQzNTMzPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX2RlbGV0ZVRv
RW5kT2ZQYXJhZ3JhcGhdKTogQWRkZWQuCisgICAgICAgICgtW1dLQ29udGVudFZpZXcgX3RyYW5z
cG9zZV0pOiBBZGRlZC4KKwogMjAxOS0wMi0wNiAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgU3RhbmRhcmRpemUgb24gQ29udHJvbEtleSBpbnN0ZWFkIG9mIEN0
cmxLZXkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRW
aWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDRkOGUzNjA0YThlYTg4ZjUxNmY2NzQzYzNhZjhkNDc0
NzQxODU2ODkuLmYzYmM2YzMzMWE5NTE5NDljYzFiMGRhZDdkMmMxZTU3MGYxMTVlYWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRl
cmFjdGlvbi5tbQpAQCAtNDI3NCw2ICs0Mjc0LDE2IEBAIC0gKHZvaWQpX2RlbGV0ZUZvcndhcmRB
bmROb3RpZnk6KEJPT0wpbm90aWZ5CiAgICAgW3NlbGYgZXhlY3V0ZUVkaXRDb21tYW5kV2l0aENh
bGxiYWNrOkAiZGVsZXRlRm9yd2FyZCJdOwogfQogCistICh2b2lkKV9kZWxldGVUb0VuZE9mUGFy
YWdyYXBoCit7CisgICAgW3NlbGYgZXhlY3V0ZUVkaXRDb21tYW5kV2l0aENhbGxiYWNrOkAiZGVs
ZXRlVG9FbmRPZlBhcmFncmFwaCJdOworfQorCistICh2b2lkKV90cmFuc3Bvc2UKK3sKKyAgICBb
c2VsZiBleGVjdXRlRWRpdENvbW1hbmRXaXRoQ2FsbGJhY2s6QCJ0cmFuc3Bvc2UiXTsKK30KKwog
LSAoVUlUZXh0SW5wdXRBcnJvd0tleUhpc3RvcnkgKilfbW92ZVVwOihCT09MKWV4dGVuZGluZyB3
aXRoSGlzdG9yeTooVUlUZXh0SW5wdXRBcnJvd0tleUhpc3RvcnkgKiloaXN0b3J5CiB7CiAgICAg
W3NlbGYgZXhlY3V0ZUVkaXRDb21tYW5kV2l0aENhbGxiYWNrOmV4dGVuZGluZyA/IEAibW92ZVVw
QW5kTW9kaWZ5U2VsZWN0aW9uIiA6IEAibW92ZVVwIl07CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjdkMTIwMzExM2M2NGFk
ZDZmYTVjZGM1Y2UxODU0M2ZjYTg0MmM0Yi4uNzk1ODk4YTBhZTA4NDgzODAwZThjMDJkYjBmZjI4
MDFhZjkyYjY4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE5LTAyLTExICBEYW5pZWwgQmF0
ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBBZG9wdCBTUEkgdG8gc3Vw
cG9ydCBFbWFjcyBiaW5kaW5nczogdHJhbnNwb3NlIGFuZCBkZWxldGUgdG8gZW5kIG9mIHBhcmFn
cmFwaAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0
NTA1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80Nzc0MzUzMz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGVzdHMgdG8gZW5zdXJlIHRoYXQg
Q29udHJvbCArIHQgYW5kIENvbnRyb2wgKyBrIHBlcmZvcm0gYSB0cmFuc3Bvc2UgYW5kIGRlbGV0
ZSB0byB0aGUKKyAgICAgICAgZW5kIG9mIHRoZSBsaW5lL3BhcmFncmFwaC4gU2tpcCB0aGUgdGVz
dHMgZm9yIG5vdyB1bnRpbCB3ZSBoYXZlIHRoZSBVSUtpdCBmaXggPHJkYXI6Ly9wcm9ibGVtLzQ0
OTI4MTU2Pi4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL2lvcy9rZXktY29tbWFuZC1kZWxldGUt
dG8tZW5kLW9mLXBhcmFncmFwaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZXZlbnRzL2lvcy9rZXktY29tbWFuZC1kZWxldGUtdG8tZW5kLW9mLXBhcmFncmFwaC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9pb3Mva2V5LWNvbW1hbmQtdHJhbnNwb3NlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvaW9zL2tleS1jb21tYW5k
LXRyYW5zcG9zZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVGVzdEV4cGVj
dGF0aW9uczogU2tpcCB0ZXN0cyBmb3Igbm93LgorCiAyMDE5LTAyLTA2ICBKb25hdGhhbiBCZWRh
cmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBbaVBhZF0gSW5pdGlhbCB0ZXN0IGdh
cmRlbmluZyAoUGFydCAyKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9z
L2tleS1jb21tYW5kLWRlbGV0ZS10by1lbmQtb2YtcGFyYWdyYXBoLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9rZXktY29tbWFuZC1kZWxldGUtdG8tZW5kLW9mLXBh
cmFncmFwaC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTdmYTE5NGFiNGVjMDgzYjIxMWFhZWZl
Y2Q3MGFlZTliMDkzYmJiNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL2lvcy9rZXktY29tbWFuZC1kZWxldGUtdG8tZW5kLW9mLXBhcmFncmFwaC1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMiBAQAorVGVzdHMgdGhhdCBwcmVzc2luZyBDb250cm9sICsgayBpbiBh
IGNvbnRlbnQtZWRpdGFibGUgZmllbGQgZGVsZXRlcyB0byB0aGUgZW5kIG9mIHRoZSBwYXJhZ3Jh
cGguCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitUbyBydW4gdGhpcyB0ZXN0IGJ5
IGhhbmQsIHBsYWNlIHRoZSB0ZXh0IGluc2VydGlvbiBwb2ludCBiZWZvcmUgdGhlICdoJyBpbiB0
aGUgdGV4dCBiZWxvdyBhbmQgcHJlc3MgQ29udHJvbCArIGsuCisKK1BBU1MgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInRlc3QiKS50ZXh0Q29udGVudCBpcyAiYSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9pb3Mva2V5LWNvbW1hbmQtZGVsZXRlLXRvLWVuZC1vZi1wYXJhZ3JhcGgu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9rZXktY29tbWFuZC1kZWxldGUtdG8t
ZW5kLW9mLXBhcmFncmFwaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFiNTQwMWZkYTJjYjBkYTEzMTZmMTcx
NGU5ZjJiMGRhZGZmZjU4YzgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9pb3Mva2V5LWNvbW1hbmQtZGVsZXRlLXRvLWVuZC1vZi1wYXJhZ3JhcGguaHRtbApAQCAt
MCwwICsxLDYwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIj4KKzxzY3JpcHQgc3JjPSIu
Li8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisjdGVzdCB7
CisgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgaGVpZ2h0OiA1MDBweDsKKyAgICB3
aWR0aDogNTAwcHg7Cit9CisKKy5oaWRkZW4geworICAgIGRpc3BsYXk6IG5vbmU7Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxwIGlkPSJt
YW51YWwtaW5zdHJ1Y3Rpb25zIiBjbGFzcz0iaGlkZSI+VG8gcnVuIHRoaXMgdGVzdCBieSBoYW5k
LCBwbGFjZSB0aGUgdGV4dCBpbnNlcnRpb24gcG9pbnQgYmVmb3JlIHRoZSAnaCcgaW4gdGhlIHRl
eHQgYmVsb3cgYW5kIHByZXNzIENvbnRyb2wgKyBrLjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwv
ZGl2PgorPGRpdiBpZD0idGVzdCIgY29udGVudGVkaXRhYmxlPSJ0cnVlIj5haDwvZGl2PgorPHNj
cmlwdD4KK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKworbGV0IHRlc3RFbGVtZW50ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3QiKTsKK2xldCBtdXRhdGlvbk9ic2VydmVyID0g
bnVsbDsKKworZnVuY3Rpb24gaGFuZGxlTXV0YXRpb24oKQoreworICAgIG11dGF0aW9uT2JzZXJ2
ZXIuZGlzY29ubmVjdCgpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInRlc3QiKS50ZXh0Q29udGVudCcsICJhIik7CisgICAgZG9jdW1lbnQuYm9k
eS5yZW1vdmVDaGlsZCh0ZXN0RWxlbWVudCk7CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2Z1
bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAg
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYW51YWwtaW5zdHJ1Y3Rpb25zIikuY2xhc3NMaXN0
LnJlbW92ZSgiaGlkZGVuIik7CisKKyAgICBtdXRhdGlvbk9ic2VydmVyID0gbmV3IE11dGF0aW9u
T2JzZXJ2ZXIoaGFuZGxlTXV0YXRpb24pOworICAgIG11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0
ZXN0RWxlbWVudCwgeyBzdWJ0cmVlOnRydWUsIGNoYXJhY3RlckRhdGE6IHRydWUgfSk7CisKKyAg
ICBmdW5jdGlvbiBoYW5kbGVGb2N1cygpIHsKKyAgICAgICAgd2luZG93LmdldFNlbGVjdGlvbigp
LnNldEJhc2VBbmRFeHRlbnQodGVzdEVsZW1lbnQuZmlyc3RDaGlsZCwgMSwgdGVzdEVsZW1lbnQu
Zmlyc3RDaGlsZCwgMSk7IC8vIFB1dCBjYXJldCBiZWZvcmUgdGhlICdoJy4KKyAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAgVUlIZWxwZXIua2V5RG93bigiayIsIFsi
Y3RybEtleSJdKTsKKyAgICB9CisgICAgdGVzdEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZm9j
dXMiLCBoYW5kbGVGb2N1cywgeyBvbmNlOiB0cnVlIH0pOworICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KHRlc3RFbGVtZW50KTsKK30K
KworZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgcHJlc3NpbmcgQ29udHJvbCArIGsgaW4gYSBjb250
ZW50LWVkaXRhYmxlIGZpZWxkIGRlbGV0ZXMgdG8gdGhlIGVuZCBvZiB0aGUgcGFyYWdyYXBoLiIp
OworcnVuVGVzdCgpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3Mva2V5LWNvbW1hbmQtdHJhbnNwb3NlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9rZXktY29tbWFuZC10cmFuc3Bvc2Ut
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyY2VlZDAwODI4ZTBhZDZiYWU1Y2NmZDU4NWRhYmZi
NWViNzg4ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3Mv
a2V5LWNvbW1hbmQtdHJhbnNwb3NlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEyIEBACitUZXN0
cyB0aGF0IHByZXNzaW5nIENvbnRyb2wgKyB0IGluIGEgY29udGVudC1lZGl0YWJsZSBmaWVsZCBw
ZXJmb3JtcyBhIHRyYW5wb3NlLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVG8g
cnVuIHRoaXMgdGVzdCBieSBoYW5kLCBwbGFjZSB0aGUgdGV4dCBpbnNlcnRpb24gcG9pbnQgYmVm
b3JlIHRoZSAnaCcgaW4gdGhlIHRleHQgYmVsb3cgYW5kIHByZXNzIENvbnRyb2wgKyB0LgorCitQ
QVNTIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0IikudGV4dENvbnRlbnQgaXMgImhhIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9rZXktY29tbWFuZC10cmFuc3Bvc2Uu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9rZXktY29tbWFuZC10cmFuc3Bvc2Uu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5iNWQ3YzQyODIwMjkxZDMxMmRlZDI0ZWQ3M2VjZmVmMWE4ZTI4ZTI2
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL2tleS1jb21t
YW5kLXRyYW5zcG9zZS5odG1sCkBAIC0wLDAgKzEsNjAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Ut
d2lkdGgiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Nj
cmlwdD4KKzxzdHlsZT4KKyN0ZXN0IHsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAg
ICBoZWlnaHQ6IDUwMHB4OworICAgIHdpZHRoOiA1MDBweDsKK30KKworLmhpZGRlbiB7CisgICAg
ZGlzcGxheTogbm9uZTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNj
cmlwdGlvbiI+PC9wPgorPHAgaWQ9Im1hbnVhbC1pbnN0cnVjdGlvbnMiIGNsYXNzPSJoaWRlIj5U
byBydW4gdGhpcyB0ZXN0IGJ5IGhhbmQsIHBsYWNlIHRoZSB0ZXh0IGluc2VydGlvbiBwb2ludCBi
ZWZvcmUgdGhlICdoJyBpbiB0aGUgdGV4dCBiZWxvdyBhbmQgcHJlc3MgQ29udHJvbCArIHQuPC9w
PgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8ZGl2IGlkPSJ0ZXN0IiBjb250ZW50ZWRpdGFi
bGU9InRydWUiPmFoPC9kaXY+Cis8c2NyaXB0Pgord2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVl
OworCitsZXQgdGVzdEVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpOwor
bGV0IG11dGF0aW9uT2JzZXJ2ZXIgPSBudWxsOworCitmdW5jdGlvbiBoYW5kbGVNdXRhdGlvbigp
Cit7CisgICAgbXV0YXRpb25PYnNlcnZlci5kaXNjb25uZWN0KCk7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdCIpLnRleHRDb250ZW50Jywg
ImhhIik7CisgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0ZXN0RWxlbWVudCk7CisgICAg
ZmluaXNoSlNUZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlmICghd2lu
ZG93LnRlc3RSdW5uZXIpCisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJtYW51YWwt
aW5zdHJ1Y3Rpb25zIikuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik7CisKKyAgICBtdXRhdGlv
bk9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoaGFuZGxlTXV0YXRpb24pOworICAgIG11
dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0ZXN0RWxlbWVudCwgeyBzdWJ0cmVlOnRydWUsIGNoYXJh
Y3RlckRhdGE6IHRydWUgfSk7CisKKyAgICBmdW5jdGlvbiBoYW5kbGVGb2N1cygpIHsKKyAgICAg
ICAgd2luZG93LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQodGVzdEVsZW1lbnQuZmly
c3RDaGlsZCwgMSwgdGVzdEVsZW1lbnQuZmlyc3RDaGlsZCwgMSk7IC8vIFB1dCBjYXJldCBiZWZv
cmUgdGhlICdoJy4KKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAg
VUlIZWxwZXIua2V5RG93bigidCIsIFsiY3RybEtleSJdKTsKKyAgICB9CisgICAgdGVzdEVsZW1l
bnQuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCBoYW5kbGVGb2N1cywgeyBvbmNlOiB0cnVlIH0p
OworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgVUlIZWxwZXIuYWN0aXZhdGVF
bGVtZW50KHRlc3RFbGVtZW50KTsKK30KKworZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgcHJlc3Np
bmcgQ29udHJvbCArIHQgaW4gYSBjb250ZW50LWVkaXRhYmxlIGZpZWxkIHBlcmZvcm1zIGEgdHJh
bnBvc2UuIik7CitydW5UZXN0KCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZjQwMTYxY2NhMmM5OGM3
M2Q3NmU1MjYwNTMxZTgxNzAzN2IzMmM1Zi4uNmI2ODU2NDgyOWI2OWNhMzdiNGYyMDFlZTczOWY5
MTU2MTRkYmZiMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTMyMTAsMyArMzIxMCw3IEBAIHdlYmtpdC5vcmcvYi8xOTM5NTUgY29tcG9zaXRpbmcvaWZy
YW1lcy9yZW1vdmUtcmVpbnNlcnQtd2Vidmlldy13aXRoLWlmcmFtZS5odG1sCiB3ZWJraXQub3Jn
L2IvMTUzMzM3IHBhZ2VvdmVybGF5L292ZXJsYXktaW5zdGFsbGF0aW9uLmh0bWwgWyBQYXNzIEZh
aWx1cmUgXQogd2Via2l0Lm9yZy9iLzE1MzMzNyBwYWdlb3ZlcmxheS9vdmVybGF5LWxhcmdlLWRv
Y3VtZW50LXNjcm9sbGVkLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzE1MzMz
NyBwYWdlb3ZlcmxheS9vdmVybGF5LWxhcmdlLWRvY3VtZW50Lmh0bWwgWyBQYXNzIEZhaWx1cmUg
XQorCisjIEZJWE1FOiBVbnNraXAgdGhlIGZvbGxvd2luZyB0ZXN0IG9uY2Ugd2UgaGF2ZSB0aGUg
Zml4IGZvciA8cmRhcjovL3Byb2JsZW0vNDQ5MjgxNTY+LgorZmFzdC9ldmVudHMvaW9zL2tleS1j
b21tYW5kLWRlbGV0ZS10by1lbmQtb2YtcGFyYWdyYXBoLmh0bWwgWyBTa2lwIF0KK2Zhc3QvZXZl
bnRzL2lvcy9rZXktY29tbWFuZC10cmFuc3Bvc2UuaHRtbCBbIFNraXAgXQo=
</data>
<flag name="review"
          id="378345"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>