<?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>201911</bug_id>
          
          <creation_ts>2019-09-18 02:25:44 -0700</creation_ts>
          <short_desc>DocumentMarkerController should not invoke ensureLineBoxes during TextIterator traversal</short_desc>
          <delta_ts>2019-09-18 08:41:17 -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>DOM</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>
          
          <blocked>201760</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1571859</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-09-18 02:25:44 -0700</bug_when>
    <thetext>TextIterator doesn&apos;t expect mutations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571860</commentid>
    <comment_count>1</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-09-18 02:26:40 -0700</bug_when>
    <thetext>&lt;rdar://problem/55455458&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571861</commentid>
    <comment_count>2</comment_count>
      <attachid>379028</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-09-18 02:30:13 -0700</bug_when>
    <thetext>Created attachment 379028
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571880</commentid>
    <comment_count>3</comment_count>
      <attachid>379033</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2019-09-18 05:52:36 -0700</bug_when>
    <thetext>Created attachment 379033
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571906</commentid>
    <comment_count>4</comment_count>
      <attachid>379033</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-18 08:41:16 -0700</bug_when>
    <thetext>Comment on attachment 379033
patch

Clearing flags on attachment: 379033

Committed r250034: &lt;https://trac.webkit.org/changeset/250034&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1571907</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-09-18 08:41:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379028</attachid>
            <date>2019-09-18 02:30:13 -0700</date>
            <delta_ts>2019-09-18 05:52:50 -0700</delta_ts>
            <desc>patch</desc>
            <filename>marker-collection.patch</filename>
            <type>text/plain</type>
            <size>9673</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2NDBjYmEwZDY1MS4uMDMxMDA1MTYwMjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNiBAQAorMjAxOS0wOS0xOCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+
CisKKyAgICAgICAgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyIHNob3VsZCBub3QgaW52b2tlIGVu
c3VyZUxpbmVCb3hlcyBkdXJpbmcgVGV4dEl0ZXJhdG9yIHRyYXZlcnNhbAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxOTExCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS81NTQ1NTQ1OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXI6OmFkZE1hcmtlciBtYXkgY2Fs
bCBlbnN1cmVMaW5lQm94ZXMgYnV0IFRleHRJdGVyYXRvciBkb2Vzbid0IGV4cGVjdCBtdXRhdGlv
bnMgZHVyaW5nIHRyYXZlcnNhbC4KKyAgICAgICAgRml4IGJ5IGRvaW5nIHJhbmdlIGNvbGxlY3Rp
b24gYXMgYSBzZXBhcmF0ZSBzdGVwLgorCisgICAgICAgICogZG9tL0RvY3VtZW50TWFya2VyQ29u
dHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudE1hcmtlckNvbnRyb2xsZXI6
OmNvbGxlY3RUZXh0UmFuZ2VzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TWFya2VyQ29u
dHJvbGxlcjo6YWRkTWFya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TWFya2VyQ29u
dHJvbGxlcjo6YWRkVGV4dE1hdGNoTWFya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
TWFya2VyQ29udHJvbGxlcjo6YWRkRGljdGF0aW9uUGhyYXNlV2l0aEFsdGVybmF0aXZlc01hcmtl
cik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudE1hcmtlckNvbnRyb2xsZXI6OmFkZERpY3Rh
dGlvblJlc3VsdE1hcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudE1hcmtlckNvbnRy
b2xsZXI6OmFkZERyYWdnZWRDb250ZW50TWFya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50TWFya2VyQ29udHJvbGxlcjo6YWRkUGxhdGZvcm1UZXh0Q2hlY2tpbmdNYXJrZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnRNYXJrZXJDb250cm9sbGVyOjpyZW1vdmVNYXJrZXJzKToK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TWFya2VyQ29udHJvbGxlcjo6ZmlsdGVyTWFya2Vy
cyk6CisgICAgICAgICogZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oOgorCiAyMDE5LTA5
LTE2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIGNv
ZGUgZm9yIHRyYXZlcnNpbmcgcmV2ZXJzZWQgdGV4dCBib3hlcyBmcm9tIFRleHRJdGVyYXRvciB0
byBUZXh0Qm94SXRlcmF0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dE1hcmtlckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2Vy
Q29udHJvbGxlci5jcHAKaW5kZXggZTc2NDFhZjYyMTguLmU0ZmExNDNhMzA5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmNwcApAQCAtNjAsMjEg
KzYwLDI0IEBAIHZvaWQgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyOjpkZXRhY2goKQogICAgIG1f
cG9zc2libHlFeGlzdGluZ01hcmtlclR5cGVzID0geyB9OwogfQogCitWZWN0b3I8UmVmUHRyPFJh
bmdlPj4gRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyOjpjb2xsZWN0VGV4dFJhbmdlcyhjb25zdCBS
YW5nZSYgcmFuZ2UpCit7CisgICAgVmVjdG9yPFJlZlB0cjxSYW5nZT4+IHRleHRSYW5nZTsKKyAg
ICBmb3IgKFRleHRJdGVyYXRvciB0ZXh0SXRlcmF0b3IoJnJhbmdlKTsgIXRleHRJdGVyYXRvci5h
dEVuZCgpOyB0ZXh0SXRlcmF0b3IuYWR2YW5jZSgpKQorICAgICAgICB0ZXh0UmFuZ2UuYXBwZW5k
KHRleHRJdGVyYXRvci5yYW5nZSgpKTsKKyAgICByZXR1cm4gdGV4dFJhbmdlOworfQorCiB2b2lk
IERvY3VtZW50TWFya2VyQ29udHJvbGxlcjo6YWRkTWFya2VyKFJhbmdlJiByYW5nZSwgRG9jdW1l
bnRNYXJrZXI6Ok1hcmtlclR5cGUgdHlwZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbikKIHsK
LSAgICBmb3IgKFRleHRJdGVyYXRvciBtYXJrZWRUZXh0KCZyYW5nZSk7ICFtYXJrZWRUZXh0LmF0
RW5kKCk7IG1hcmtlZFRleHQuYWR2YW5jZSgpKSB7Ci0gICAgICAgIFJlZlB0cjxSYW5nZT4gdGV4
dFBpZWNlID0gbWFya2VkVGV4dC5yYW5nZSgpOworICAgIGZvciAoYXV0byB0ZXh0UGllY2UgOiBj
b2xsZWN0VGV4dFJhbmdlcyhyYW5nZSkpCiAgICAgICAgIGFkZE1hcmtlcih0ZXh0UGllY2UtPnN0
YXJ0Q29udGFpbmVyKCksIERvY3VtZW50TWFya2VyKHR5cGUsIHRleHRQaWVjZS0+c3RhcnRPZmZz
ZXQoKSwgdGV4dFBpZWNlLT5lbmRPZmZzZXQoKSwgZGVzY3JpcHRpb24pKTsKLSAgICB9CiB9CiAK
IHZvaWQgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyOjphZGRNYXJrZXIoUmFuZ2UmIHJhbmdlLCBE
b2N1bWVudE1hcmtlcjo6TWFya2VyVHlwZSB0eXBlKQogewotICAgIGZvciAoVGV4dEl0ZXJhdG9y
IG1hcmtlZFRleHQoJnJhbmdlKTsgIW1hcmtlZFRleHQuYXRFbmQoKTsgbWFya2VkVGV4dC5hZHZh
bmNlKCkpIHsKLSAgICAgICAgUmVmUHRyPFJhbmdlPiB0ZXh0UGllY2UgPSBtYXJrZWRUZXh0LnJh
bmdlKCk7CisgICAgZm9yIChhdXRvIHRleHRQaWVjZSA6IGNvbGxlY3RUZXh0UmFuZ2VzKHJhbmdl
KSkKICAgICAgICAgYWRkTWFya2VyKHRleHRQaWVjZS0+c3RhcnRDb250YWluZXIoKSwgRG9jdW1l
bnRNYXJrZXIodHlwZSwgdGV4dFBpZWNlLT5zdGFydE9mZnNldCgpLCB0ZXh0UGllY2UtPmVuZE9m
ZnNldCgpKSk7Ci0gICAgfQotCiB9CiAKIHZvaWQgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyOjph
ZGRNYXJrZXJUb05vZGUoTm9kZSYgbm9kZSwgdW5zaWduZWQgc3RhcnRPZmZzZXQsIHVuc2lnbmVk
IGxlbmd0aCwgRG9jdW1lbnRNYXJrZXI6Ok1hcmtlclR5cGUgdHlwZSkKQEAgLTg5LDggKzkyLDcg
QEAgdm9pZCBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXI6OmFkZE1hcmtlclRvTm9kZShOb2RlJiBu
b2RlLCB1bnNpZ25lZCBzdGFydE9mZnNldCwKIAogdm9pZCBEb2N1bWVudE1hcmtlckNvbnRyb2xs
ZXI6OmFkZFRleHRNYXRjaE1hcmtlcihjb25zdCBSYW5nZSYgcmFuZ2UsIGJvb2wgYWN0aXZlTWF0
Y2gpCiB7Ci0gICAgZm9yIChUZXh0SXRlcmF0b3IgbWFya2VkVGV4dCgmcmFuZ2UpOyAhbWFya2Vk
VGV4dC5hdEVuZCgpOyBtYXJrZWRUZXh0LmFkdmFuY2UoKSkgewotICAgICAgICBSZWZQdHI8UmFu
Z2U+IHRleHRQaWVjZSA9IG1hcmtlZFRleHQucmFuZ2UoKTsKKyAgICBmb3IgKGF1dG8gdGV4dFBp
ZWNlIDogY29sbGVjdFRleHRSYW5nZXMocmFuZ2UpKSB7CiAgICAgICAgIHVuc2lnbmVkIHN0YXJ0
T2Zmc2V0ID0gdGV4dFBpZWNlLT5zdGFydE9mZnNldCgpOwogICAgICAgICB1bnNpZ25lZCBlbmRP
ZmZzZXQgPSB0ZXh0UGllY2UtPmVuZE9mZnNldCgpOwogICAgICAgICBhZGRNYXJrZXIodGV4dFBp
ZWNlLT5zdGFydENvbnRhaW5lcigpLCBEb2N1bWVudE1hcmtlcihzdGFydE9mZnNldCwgZW5kT2Zm
c2V0LCBhY3RpdmVNYXRjaCkpOwpAQCAtMTAxLDEwICsxMDMsOCBAQCB2b2lkIERvY3VtZW50TWFy
a2VyQ29udHJvbGxlcjo6YWRkVGV4dE1hdGNoTWFya2VyKGNvbnN0IFJhbmdlJiByYW5nZSwgYm9v
bCBhY3RpdgogCiB2b2lkIERvY3VtZW50TWFya2VyQ29udHJvbGxlcjo6YWRkTWFya2VyKFJhbmdl
JiByYW5nZSwgRG9jdW1lbnRNYXJrZXI6Ok1hcmtlclR5cGUgdHlwZSwgY29uc3QgU3RyaW5nJiBk
ZXNjcmlwdGlvbiwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGludGVycHJldGF0aW9ucywgY29uc3Qg
UmV0YWluUHRyPGlkPiYgbWV0YWRhdGEpCiB7Ci0gICAgZm9yIChUZXh0SXRlcmF0b3IgbWFya2Vk
VGV4dCgmcmFuZ2UpOyAhbWFya2VkVGV4dC5hdEVuZCgpOyBtYXJrZWRUZXh0LmFkdmFuY2UoKSkg
ewotICAgICAgICBSZWZQdHI8UmFuZ2U+IHRleHRQaWVjZSA9IG1hcmtlZFRleHQucmFuZ2UoKTsK
KyAgICBmb3IgKGF1dG8gdGV4dFBpZWNlIDogY29sbGVjdFRleHRSYW5nZXMocmFuZ2UpKQogICAg
ICAgICBhZGRNYXJrZXIodGV4dFBpZWNlLT5zdGFydENvbnRhaW5lcigpLCBEb2N1bWVudE1hcmtl
cih0eXBlLCB0ZXh0UGllY2UtPnN0YXJ0T2Zmc2V0KCksIHRleHRQaWVjZS0+ZW5kT2Zmc2V0KCks
IGRlc2NyaXB0aW9uLCBpbnRlcnByZXRhdGlvbnMsIG1ldGFkYXRhKSk7Ci0gICAgfQogfQogCiB2
b2lkIERvY3VtZW50TWFya2VyQ29udHJvbGxlcjo6YWRkRGljdGF0aW9uUGhyYXNlV2l0aEFsdGVy
bmF0aXZlc01hcmtlcihSYW5nZSYgcmFuZ2UsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBpbnRlcnBy
ZXRhdGlvbnMpCkBAIC0xMTQsOCArMTE0LDcgQEAgdm9pZCBEb2N1bWVudE1hcmtlckNvbnRyb2xs
ZXI6OmFkZERpY3RhdGlvblBocmFzZVdpdGhBbHRlcm5hdGl2ZXNNYXJrZXIoUmFuZ2UmIHIKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgc2l6ZV90IG51bWJlck9mQWx0ZXJuYXRpdmVzID0gaW50ZXJw
cmV0YXRpb25zLnNpemUoKSAtIDE7Ci0gICAgZm9yIChUZXh0SXRlcmF0b3IgbWFya2VkVGV4dCgm
cmFuZ2UpOyAhbWFya2VkVGV4dC5hdEVuZCgpOyBtYXJrZWRUZXh0LmFkdmFuY2UoKSkgewotICAg
ICAgICBSZWZQdHI8UmFuZ2U+IHRleHRQaWVjZSA9IG1hcmtlZFRleHQucmFuZ2UoKTsKKyAgICBm
b3IgKGF1dG8gdGV4dFBpZWNlIDogY29sbGVjdFRleHRSYW5nZXMocmFuZ2UpKSB7CiAgICAgICAg
IERvY3VtZW50TWFya2VyIG1hcmtlcihEb2N1bWVudE1hcmtlcjo6RGljdGF0aW9uUGhyYXNlV2l0
aEFsdGVybmF0aXZlcywgdGV4dFBpZWNlLT5zdGFydE9mZnNldCgpLCB0ZXh0UGllY2UtPmVuZE9m
ZnNldCgpLCBlbXB0eVN0cmluZygpLCBWZWN0b3I8U3RyaW5nPihudW1iZXJPZkFsdGVybmF0aXZl
cyksIFJldGFpblB0cjxpZD4oKSk7CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVt
YmVyT2ZBbHRlcm5hdGl2ZXM7ICsraSkKICAgICAgICAgICAgIG1hcmtlci5zZXRBbHRlcm5hdGl2
ZShpbnRlcnByZXRhdGlvbnNbaSArIDFdLCBpKTsKQEAgLTEyNSwxOSArMTI0LDE2IEBAIHZvaWQg
RG9jdW1lbnRNYXJrZXJDb250cm9sbGVyOjphZGREaWN0YXRpb25QaHJhc2VXaXRoQWx0ZXJuYXRp
dmVzTWFya2VyKFJhbmdlJiByCiAKIHZvaWQgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyOjphZGRE
aWN0YXRpb25SZXN1bHRNYXJrZXIoUmFuZ2UmIHJhbmdlLCBjb25zdCBSZXRhaW5QdHI8aWQ+JiBt
ZXRhZGF0YSkKIHsKLSAgICBmb3IgKFRleHRJdGVyYXRvciBtYXJrZWRUZXh0KCZyYW5nZSk7ICFt
YXJrZWRUZXh0LmF0RW5kKCk7IG1hcmtlZFRleHQuYWR2YW5jZSgpKSB7Ci0gICAgICAgIFJlZlB0
cjxSYW5nZT4gdGV4dFBpZWNlID0gbWFya2VkVGV4dC5yYW5nZSgpOworICAgIGZvciAoYXV0byB0
ZXh0UGllY2UgOiBjb2xsZWN0VGV4dFJhbmdlcyhyYW5nZSkpCiAgICAgICAgIGFkZE1hcmtlcih0
ZXh0UGllY2UtPnN0YXJ0Q29udGFpbmVyKCksIERvY3VtZW50TWFya2VyKERvY3VtZW50TWFya2Vy
OjpEaWN0YXRpb25SZXN1bHQsIHRleHRQaWVjZS0+c3RhcnRPZmZzZXQoKSwgdGV4dFBpZWNlLT5l
bmRPZmZzZXQoKSwgU3RyaW5nKCksIFZlY3RvcjxTdHJpbmc+KCksIG1ldGFkYXRhKSk7Ci0gICAg
fQogfQogCiAjZW5kaWYKIAogdm9pZCBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXI6OmFkZERyYWdn
ZWRDb250ZW50TWFya2VyKFJhbmdlJiByYW5nZSkKIHsKLSAgICBmb3IgKFRleHRJdGVyYXRvciBt
YXJrZWRUZXh0KCZyYW5nZSk7ICFtYXJrZWRUZXh0LmF0RW5kKCk7IG1hcmtlZFRleHQuYWR2YW5j
ZSgpKSB7Ci0gICAgICAgIGF1dG8gdGV4dFBpZWNlID0gbWFya2VkVGV4dC5yYW5nZSgpOwotICAg
ICAgICBEb2N1bWVudE1hcmtlcjo6RHJhZ2dlZENvbnRlbnREYXRhIGRyYWdnZWRDb250ZW50RGF0
YSB7IG1hcmtlZFRleHQubm9kZSgpIH07CisgICAgZm9yIChhdXRvIHRleHRQaWVjZSA6IGNvbGxl
Y3RUZXh0UmFuZ2VzKHJhbmdlKSkgeworICAgICAgICBEb2N1bWVudE1hcmtlcjo6RHJhZ2dlZENv
bnRlbnREYXRhIGRyYWdnZWRDb250ZW50RGF0YSB7IHRleHRQaWVjZS0+Zmlyc3ROb2RlKCkgfTsK
ICAgICAgICAgYWRkTWFya2VyKHRleHRQaWVjZS0+c3RhcnRDb250YWluZXIoKSwgeyBEb2N1bWVu
dE1hcmtlcjo6RHJhZ2dlZENvbnRlbnQsIHRleHRQaWVjZS0+c3RhcnRPZmZzZXQoKSwgdGV4dFBp
ZWNlLT5lbmRPZmZzZXQoKSwgV1RGTW92ZShkcmFnZ2VkQ29udGVudERhdGEpIH0pOwogICAgIH0K
IH0KQEAgLTE0NSw4ICsxNDEsNyBAQCB2b2lkIERvY3VtZW50TWFya2VyQ29udHJvbGxlcjo6YWRk
RHJhZ2dlZENvbnRlbnRNYXJrZXIoUmFuZ2UmIHJhbmdlKQogI2lmIEVOQUJMRShQTEFURk9STV9E
UklWRU5fVEVYVF9DSEVDS0lORykKIHZvaWQgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyOjphZGRQ
bGF0Zm9ybVRleHRDaGVja2luZ01hcmtlcihSYW5nZSYgcmFuZ2UsIGNvbnN0IFN0cmluZyYga2V5
LCBjb25zdCBTdHJpbmcmIHZhbHVlKQogewotICAgIGZvciAoVGV4dEl0ZXJhdG9yIG1hcmtlZFRl
eHQoJnJhbmdlKTsgIW1hcmtlZFRleHQuYXRFbmQoKTsgbWFya2VkVGV4dC5hZHZhbmNlKCkpIHsK
LSAgICAgICAgYXV0byB0ZXh0UGllY2UgPSBtYXJrZWRUZXh0LnJhbmdlKCk7CisgICAgZm9yIChh
dXRvIHRleHRQaWVjZSA6IGNvbGxlY3RUZXh0UmFuZ2VzKHJhbmdlKSkgewogICAgICAgICBEb2N1
bWVudE1hcmtlcjo6UGxhdGZvcm1UZXh0Q2hlY2tpbmdEYXRhIHRleHRDaGVja2luZ0RhdGEgeyBr
ZXksIHZhbHVlIH07CiAgICAgICAgIGFkZE1hcmtlcih0ZXh0UGllY2UtPnN0YXJ0Q29udGFpbmVy
KCksIHsgRG9jdW1lbnRNYXJrZXI6OlBsYXRmb3JtVGV4dENoZWNraW5nLCB0ZXh0UGllY2UtPnN0
YXJ0T2Zmc2V0KCksIHRleHRQaWVjZS0+ZW5kT2Zmc2V0KCksIFdURk1vdmUodGV4dENoZWNraW5n
RGF0YSkgfSk7CiAgICAgfQpAQCAtMTU1LDEyICsxNTAsMTEgQEAgdm9pZCBEb2N1bWVudE1hcmtl
ckNvbnRyb2xsZXI6OmFkZFBsYXRmb3JtVGV4dENoZWNraW5nTWFya2VyKFJhbmdlJiByYW5nZSwg
Y29uc3QKIAogdm9pZCBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXI6OnJlbW92ZU1hcmtlcnMoUmFu
Z2UmIHJhbmdlLCBPcHRpb25TZXQ8RG9jdW1lbnRNYXJrZXI6Ok1hcmtlclR5cGU+IG1hcmtlclR5
cGVzLCBSZW1vdmVQYXJ0aWFsbHlPdmVybGFwcGluZ01hcmtlck9yTm90IHNob3VsZFJlbW92ZVBh
cnRpYWxseU92ZXJsYXBwaW5nTWFya2VyKQogewotICAgIGZvciAoVGV4dEl0ZXJhdG9yIG1hcmtl
ZFRleHQoJnJhbmdlKTsgIW1hcmtlZFRleHQuYXRFbmQoKTsgbWFya2VkVGV4dC5hZHZhbmNlKCkp
IHsKLSAgICAgICAgaWYgKCFwb3NzaWJseUhhc01hcmtlcnMobWFya2VyVHlwZXMpKQotICAgICAg
ICAgICAgcmV0dXJuOwotICAgICAgICBBU1NFUlQoIW1fbWFya2Vycy5pc0VtcHR5KCkpOworICAg
IGlmICghcG9zc2libHlIYXNNYXJrZXJzKG1hcmtlclR5cGVzKSkKKyAgICAgICAgcmV0dXJuOwog
Ci0gICAgICAgIGF1dG8gdGV4dFBpZWNlID0gbWFya2VkVGV4dC5yYW5nZSgpOworICAgIGZvciAo
YXV0byB0ZXh0UGllY2UgOiBjb2xsZWN0VGV4dFJhbmdlcyhyYW5nZSkpIHsKKyAgICAgICAgQVNT
RVJUKCFtX21hcmtlcnMuaXNFbXB0eSgpKTsKICAgICAgICAgdW5zaWduZWQgc3RhcnRPZmZzZXQg
PSB0ZXh0UGllY2UtPnN0YXJ0T2Zmc2V0KCk7CiAgICAgICAgIHVuc2lnbmVkIGVuZE9mZnNldCA9
IHRleHRQaWVjZS0+ZW5kT2Zmc2V0KCk7CiAgICAgICAgIHJlbW92ZU1hcmtlcnModGV4dFBpZWNl
LT5zdGFydENvbnRhaW5lcigpLCBzdGFydE9mZnNldCwgZW5kT2Zmc2V0IC0gc3RhcnRPZmZzZXQs
IG1hcmtlclR5cGVzLCBudWxscHRyLCBzaG91bGRSZW1vdmVQYXJ0aWFsbHlPdmVybGFwcGluZ01h
cmtlcik7CkBAIC0xNjksMTIgKzE2MywxMiBAQCB2b2lkIERvY3VtZW50TWFya2VyQ29udHJvbGxl
cjo6cmVtb3ZlTWFya2VycyhSYW5nZSYgcmFuZ2UsIE9wdGlvblNldDxEb2N1bWVudE1hcgogCiB2
b2lkIERvY3VtZW50TWFya2VyQ29udHJvbGxlcjo6ZmlsdGVyTWFya2VycyhSYW5nZSYgcmFuZ2Us
IHN0ZDo6ZnVuY3Rpb248Ym9vbChEb2N1bWVudE1hcmtlciopPiBmaWx0ZXJGdW5jdGlvbiwgT3B0
aW9uU2V0PERvY3VtZW50TWFya2VyOjpNYXJrZXJUeXBlPiBtYXJrZXJUeXBlcywgUmVtb3ZlUGFy
dGlhbGx5T3ZlcmxhcHBpbmdNYXJrZXJPck5vdCBzaG91bGRSZW1vdmVQYXJ0aWFsbHlPdmVybGFw
cGluZ01hcmtlcikKIHsKLSAgICBmb3IgKFRleHRJdGVyYXRvciBtYXJrZWRUZXh0KCZyYW5nZSk7
ICFtYXJrZWRUZXh0LmF0RW5kKCk7IG1hcmtlZFRleHQuYWR2YW5jZSgpKSB7Ci0gICAgICAgIGlm
ICghcG9zc2libHlIYXNNYXJrZXJzKG1hcmtlclR5cGVzKSkKLSAgICAgICAgICAgIHJldHVybjsK
KyAgICBpZiAoIXBvc3NpYmx5SGFzTWFya2VycyhtYXJrZXJUeXBlcykpCisgICAgICAgIHJldHVy
bjsKKworICAgIGZvciAoYXV0byB0ZXh0UGllY2UgOiBjb2xsZWN0VGV4dFJhbmdlcyhyYW5nZSkp
IHsKICAgICAgICAgQVNTRVJUKCFtX21hcmtlcnMuaXNFbXB0eSgpKTsKIAotICAgICAgICBhdXRv
IHRleHRQaWVjZSA9IG1hcmtlZFRleHQucmFuZ2UoKTsKICAgICAgICAgdW5zaWduZWQgc3RhcnRP
ZmZzZXQgPSB0ZXh0UGllY2UtPnN0YXJ0T2Zmc2V0KCk7CiAgICAgICAgIHVuc2lnbmVkIGVuZE9m
ZnNldCA9IHRleHRQaWVjZS0+ZW5kT2Zmc2V0KCk7CiAgICAgICAgIHJlbW92ZU1hcmtlcnModGV4
dFBpZWNlLT5zdGFydENvbnRhaW5lcigpLCBzdGFydE9mZnNldCwgZW5kT2Zmc2V0IC0gc3RhcnRP
ZmZzZXQsIG1hcmtlclR5cGVzLCBmaWx0ZXJGdW5jdGlvbiwgc2hvdWxkUmVtb3ZlUGFydGlhbGx5
T3ZlcmxhcHBpbmdNYXJrZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50TWFya2VyQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2Vy
Q29udHJvbGxlci5oCmluZGV4IDJlY2E1MjFkYzBkLi42OWUyNTRkNWU3MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaApAQCAtMTA3LDYgKzEwNyw3
IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICB2b2lkIGFkZE1hcmtlcihOb2RlJiwgY29uc3Qg
RG9jdW1lbnRNYXJrZXImKTsKKyAgICBWZWN0b3I8UmVmUHRyPFJhbmdlPj4gY29sbGVjdFRleHRS
YW5nZXMoY29uc3QgUmFuZ2UmKTsKIAogICAgIHR5cGVkZWYgVmVjdG9yPFJlbmRlcmVkRG9jdW1l
bnRNYXJrZXI+IE1hcmtlckxpc3Q7CiAgICAgdHlwZWRlZiBIYXNoTWFwPFJlZlB0cjxOb2RlPiwg
c3RkOjp1bmlxdWVfcHRyPE1hcmtlckxpc3Q+PiBNYXJrZXJNYXA7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379033</attachid>
            <date>2019-09-18 05:52:36 -0700</date>
            <delta_ts>2019-09-18 08:41:16 -0700</delta_ts>
            <desc>patch</desc>
            <filename>marker-collection-2.patch</filename>
            <type>text/plain</type>
            <size>9512</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2NDBjYmEwZDY1MS4uMDMxMDA1MTYwMjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNiBAQAorMjAxOS0wOS0xOCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+
CisKKyAgICAgICAgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyIHNob3VsZCBub3QgaW52b2tlIGVu
c3VyZUxpbmVCb3hlcyBkdXJpbmcgVGV4dEl0ZXJhdG9yIHRyYXZlcnNhbAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxOTExCisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS81NTQ1NTQ1OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXI6OmFkZE1hcmtlciBtYXkgY2Fs
bCBlbnN1cmVMaW5lQm94ZXMgYnV0IFRleHRJdGVyYXRvciBkb2Vzbid0IGV4cGVjdCBtdXRhdGlv
bnMgZHVyaW5nIHRyYXZlcnNhbC4KKyAgICAgICAgRml4IGJ5IGRvaW5nIHJhbmdlIGNvbGxlY3Rp
b24gYXMgYSBzZXBhcmF0ZSBzdGVwLgorCisgICAgICAgICogZG9tL0RvY3VtZW50TWFya2VyQ29u
dHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudE1hcmtlckNvbnRyb2xsZXI6
OmNvbGxlY3RUZXh0UmFuZ2VzKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TWFya2VyQ29u
dHJvbGxlcjo6YWRkTWFya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TWFya2VyQ29u
dHJvbGxlcjo6YWRkVGV4dE1hdGNoTWFya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
TWFya2VyQ29udHJvbGxlcjo6YWRkRGljdGF0aW9uUGhyYXNlV2l0aEFsdGVybmF0aXZlc01hcmtl
cik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudE1hcmtlckNvbnRyb2xsZXI6OmFkZERpY3Rh
dGlvblJlc3VsdE1hcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudE1hcmtlckNvbnRy
b2xsZXI6OmFkZERyYWdnZWRDb250ZW50TWFya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50TWFya2VyQ29udHJvbGxlcjo6YWRkUGxhdGZvcm1UZXh0Q2hlY2tpbmdNYXJrZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnRNYXJrZXJDb250cm9sbGVyOjpyZW1vdmVNYXJrZXJzKToK
KyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TWFya2VyQ29udHJvbGxlcjo6ZmlsdGVyTWFya2Vy
cyk6CisgICAgICAgICogZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oOgorCiAyMDE5LTA5
LTE2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIGNv
ZGUgZm9yIHRyYXZlcnNpbmcgcmV2ZXJzZWQgdGV4dCBib3hlcyBmcm9tIFRleHRJdGVyYXRvciB0
byBUZXh0Qm94SXRlcmF0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dE1hcmtlckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2Vy
Q29udHJvbGxlci5jcHAKaW5kZXggZTc2NDFhZjYyMTguLjJiZmUxNWUwMzVhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmNwcApAQCAtNjAsMjEg
KzYwLDI0IEBAIHZvaWQgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyOjpkZXRhY2goKQogICAgIG1f
cG9zc2libHlFeGlzdGluZ01hcmtlclR5cGVzID0geyB9OwogfQogCitWZWN0b3I8UmVmUHRyPFJh
bmdlPj4gRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyOjpjb2xsZWN0VGV4dFJhbmdlcyhjb25zdCBS
YW5nZSYgcmFuZ2UpCit7CisgICAgVmVjdG9yPFJlZlB0cjxSYW5nZT4+IHRleHRSYW5nZTsKKyAg
ICBmb3IgKFRleHRJdGVyYXRvciB0ZXh0SXRlcmF0b3IoJnJhbmdlKTsgIXRleHRJdGVyYXRvci5h
dEVuZCgpOyB0ZXh0SXRlcmF0b3IuYWR2YW5jZSgpKQorICAgICAgICB0ZXh0UmFuZ2UuYXBwZW5k
KHRleHRJdGVyYXRvci5yYW5nZSgpKTsKKyAgICByZXR1cm4gdGV4dFJhbmdlOworfQorCiB2b2lk
IERvY3VtZW50TWFya2VyQ29udHJvbGxlcjo6YWRkTWFya2VyKFJhbmdlJiByYW5nZSwgRG9jdW1l
bnRNYXJrZXI6Ok1hcmtlclR5cGUgdHlwZSwgY29uc3QgU3RyaW5nJiBkZXNjcmlwdGlvbikKIHsK
LSAgICBmb3IgKFRleHRJdGVyYXRvciBtYXJrZWRUZXh0KCZyYW5nZSk7ICFtYXJrZWRUZXh0LmF0
RW5kKCk7IG1hcmtlZFRleHQuYWR2YW5jZSgpKSB7Ci0gICAgICAgIFJlZlB0cjxSYW5nZT4gdGV4
dFBpZWNlID0gbWFya2VkVGV4dC5yYW5nZSgpOworICAgIGZvciAoYXV0byB0ZXh0UGllY2UgOiBj
b2xsZWN0VGV4dFJhbmdlcyhyYW5nZSkpCiAgICAgICAgIGFkZE1hcmtlcih0ZXh0UGllY2UtPnN0
YXJ0Q29udGFpbmVyKCksIERvY3VtZW50TWFya2VyKHR5cGUsIHRleHRQaWVjZS0+c3RhcnRPZmZz
ZXQoKSwgdGV4dFBpZWNlLT5lbmRPZmZzZXQoKSwgZGVzY3JpcHRpb24pKTsKLSAgICB9CiB9CiAK
IHZvaWQgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyOjphZGRNYXJrZXIoUmFuZ2UmIHJhbmdlLCBE
b2N1bWVudE1hcmtlcjo6TWFya2VyVHlwZSB0eXBlKQogewotICAgIGZvciAoVGV4dEl0ZXJhdG9y
IG1hcmtlZFRleHQoJnJhbmdlKTsgIW1hcmtlZFRleHQuYXRFbmQoKTsgbWFya2VkVGV4dC5hZHZh
bmNlKCkpIHsKLSAgICAgICAgUmVmUHRyPFJhbmdlPiB0ZXh0UGllY2UgPSBtYXJrZWRUZXh0LnJh
bmdlKCk7CisgICAgZm9yIChhdXRvIHRleHRQaWVjZSA6IGNvbGxlY3RUZXh0UmFuZ2VzKHJhbmdl
KSkKICAgICAgICAgYWRkTWFya2VyKHRleHRQaWVjZS0+c3RhcnRDb250YWluZXIoKSwgRG9jdW1l
bnRNYXJrZXIodHlwZSwgdGV4dFBpZWNlLT5zdGFydE9mZnNldCgpLCB0ZXh0UGllY2UtPmVuZE9m
ZnNldCgpKSk7Ci0gICAgfQotCiB9CiAKIHZvaWQgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyOjph
ZGRNYXJrZXJUb05vZGUoTm9kZSYgbm9kZSwgdW5zaWduZWQgc3RhcnRPZmZzZXQsIHVuc2lnbmVk
IGxlbmd0aCwgRG9jdW1lbnRNYXJrZXI6Ok1hcmtlclR5cGUgdHlwZSkKQEAgLTg5LDggKzkyLDcg
QEAgdm9pZCBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXI6OmFkZE1hcmtlclRvTm9kZShOb2RlJiBu
b2RlLCB1bnNpZ25lZCBzdGFydE9mZnNldCwKIAogdm9pZCBEb2N1bWVudE1hcmtlckNvbnRyb2xs
ZXI6OmFkZFRleHRNYXRjaE1hcmtlcihjb25zdCBSYW5nZSYgcmFuZ2UsIGJvb2wgYWN0aXZlTWF0
Y2gpCiB7Ci0gICAgZm9yIChUZXh0SXRlcmF0b3IgbWFya2VkVGV4dCgmcmFuZ2UpOyAhbWFya2Vk
VGV4dC5hdEVuZCgpOyBtYXJrZWRUZXh0LmFkdmFuY2UoKSkgewotICAgICAgICBSZWZQdHI8UmFu
Z2U+IHRleHRQaWVjZSA9IG1hcmtlZFRleHQucmFuZ2UoKTsKKyAgICBmb3IgKGF1dG8gdGV4dFBp
ZWNlIDogY29sbGVjdFRleHRSYW5nZXMocmFuZ2UpKSB7CiAgICAgICAgIHVuc2lnbmVkIHN0YXJ0
T2Zmc2V0ID0gdGV4dFBpZWNlLT5zdGFydE9mZnNldCgpOwogICAgICAgICB1bnNpZ25lZCBlbmRP
ZmZzZXQgPSB0ZXh0UGllY2UtPmVuZE9mZnNldCgpOwogICAgICAgICBhZGRNYXJrZXIodGV4dFBp
ZWNlLT5zdGFydENvbnRhaW5lcigpLCBEb2N1bWVudE1hcmtlcihzdGFydE9mZnNldCwgZW5kT2Zm
c2V0LCBhY3RpdmVNYXRjaCkpOwpAQCAtMTAxLDEwICsxMDMsOCBAQCB2b2lkIERvY3VtZW50TWFy
a2VyQ29udHJvbGxlcjo6YWRkVGV4dE1hdGNoTWFya2VyKGNvbnN0IFJhbmdlJiByYW5nZSwgYm9v
bCBhY3RpdgogCiB2b2lkIERvY3VtZW50TWFya2VyQ29udHJvbGxlcjo6YWRkTWFya2VyKFJhbmdl
JiByYW5nZSwgRG9jdW1lbnRNYXJrZXI6Ok1hcmtlclR5cGUgdHlwZSwgY29uc3QgU3RyaW5nJiBk
ZXNjcmlwdGlvbiwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGludGVycHJldGF0aW9ucywgY29uc3Qg
UmV0YWluUHRyPGlkPiYgbWV0YWRhdGEpCiB7Ci0gICAgZm9yIChUZXh0SXRlcmF0b3IgbWFya2Vk
VGV4dCgmcmFuZ2UpOyAhbWFya2VkVGV4dC5hdEVuZCgpOyBtYXJrZWRUZXh0LmFkdmFuY2UoKSkg
ewotICAgICAgICBSZWZQdHI8UmFuZ2U+IHRleHRQaWVjZSA9IG1hcmtlZFRleHQucmFuZ2UoKTsK
KyAgICBmb3IgKGF1dG8gdGV4dFBpZWNlIDogY29sbGVjdFRleHRSYW5nZXMocmFuZ2UpKQogICAg
ICAgICBhZGRNYXJrZXIodGV4dFBpZWNlLT5zdGFydENvbnRhaW5lcigpLCBEb2N1bWVudE1hcmtl
cih0eXBlLCB0ZXh0UGllY2UtPnN0YXJ0T2Zmc2V0KCksIHRleHRQaWVjZS0+ZW5kT2Zmc2V0KCks
IGRlc2NyaXB0aW9uLCBpbnRlcnByZXRhdGlvbnMsIG1ldGFkYXRhKSk7Ci0gICAgfQogfQogCiB2
b2lkIERvY3VtZW50TWFya2VyQ29udHJvbGxlcjo6YWRkRGljdGF0aW9uUGhyYXNlV2l0aEFsdGVy
bmF0aXZlc01hcmtlcihSYW5nZSYgcmFuZ2UsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBpbnRlcnBy
ZXRhdGlvbnMpCkBAIC0xMTQsOCArMTE0LDcgQEAgdm9pZCBEb2N1bWVudE1hcmtlckNvbnRyb2xs
ZXI6OmFkZERpY3RhdGlvblBocmFzZVdpdGhBbHRlcm5hdGl2ZXNNYXJrZXIoUmFuZ2UmIHIKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgc2l6ZV90IG51bWJlck9mQWx0ZXJuYXRpdmVzID0gaW50ZXJw
cmV0YXRpb25zLnNpemUoKSAtIDE7Ci0gICAgZm9yIChUZXh0SXRlcmF0b3IgbWFya2VkVGV4dCgm
cmFuZ2UpOyAhbWFya2VkVGV4dC5hdEVuZCgpOyBtYXJrZWRUZXh0LmFkdmFuY2UoKSkgewotICAg
ICAgICBSZWZQdHI8UmFuZ2U+IHRleHRQaWVjZSA9IG1hcmtlZFRleHQucmFuZ2UoKTsKKyAgICBm
b3IgKGF1dG8gdGV4dFBpZWNlIDogY29sbGVjdFRleHRSYW5nZXMocmFuZ2UpKSB7CiAgICAgICAg
IERvY3VtZW50TWFya2VyIG1hcmtlcihEb2N1bWVudE1hcmtlcjo6RGljdGF0aW9uUGhyYXNlV2l0
aEFsdGVybmF0aXZlcywgdGV4dFBpZWNlLT5zdGFydE9mZnNldCgpLCB0ZXh0UGllY2UtPmVuZE9m
ZnNldCgpLCBlbXB0eVN0cmluZygpLCBWZWN0b3I8U3RyaW5nPihudW1iZXJPZkFsdGVybmF0aXZl
cyksIFJldGFpblB0cjxpZD4oKSk7CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnVt
YmVyT2ZBbHRlcm5hdGl2ZXM7ICsraSkKICAgICAgICAgICAgIG1hcmtlci5zZXRBbHRlcm5hdGl2
ZShpbnRlcnByZXRhdGlvbnNbaSArIDFdLCBpKTsKQEAgLTEyNSwxOSArMTI0LDE2IEBAIHZvaWQg
RG9jdW1lbnRNYXJrZXJDb250cm9sbGVyOjphZGREaWN0YXRpb25QaHJhc2VXaXRoQWx0ZXJuYXRp
dmVzTWFya2VyKFJhbmdlJiByCiAKIHZvaWQgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyOjphZGRE
aWN0YXRpb25SZXN1bHRNYXJrZXIoUmFuZ2UmIHJhbmdlLCBjb25zdCBSZXRhaW5QdHI8aWQ+JiBt
ZXRhZGF0YSkKIHsKLSAgICBmb3IgKFRleHRJdGVyYXRvciBtYXJrZWRUZXh0KCZyYW5nZSk7ICFt
YXJrZWRUZXh0LmF0RW5kKCk7IG1hcmtlZFRleHQuYWR2YW5jZSgpKSB7Ci0gICAgICAgIFJlZlB0
cjxSYW5nZT4gdGV4dFBpZWNlID0gbWFya2VkVGV4dC5yYW5nZSgpOworICAgIGZvciAoYXV0byB0
ZXh0UGllY2UgOiBjb2xsZWN0VGV4dFJhbmdlcyhyYW5nZSkpCiAgICAgICAgIGFkZE1hcmtlcih0
ZXh0UGllY2UtPnN0YXJ0Q29udGFpbmVyKCksIERvY3VtZW50TWFya2VyKERvY3VtZW50TWFya2Vy
OjpEaWN0YXRpb25SZXN1bHQsIHRleHRQaWVjZS0+c3RhcnRPZmZzZXQoKSwgdGV4dFBpZWNlLT5l
bmRPZmZzZXQoKSwgU3RyaW5nKCksIFZlY3RvcjxTdHJpbmc+KCksIG1ldGFkYXRhKSk7Ci0gICAg
fQogfQogCiAjZW5kaWYKIAogdm9pZCBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXI6OmFkZERyYWdn
ZWRDb250ZW50TWFya2VyKFJhbmdlJiByYW5nZSkKIHsKLSAgICBmb3IgKFRleHRJdGVyYXRvciBt
YXJrZWRUZXh0KCZyYW5nZSk7ICFtYXJrZWRUZXh0LmF0RW5kKCk7IG1hcmtlZFRleHQuYWR2YW5j
ZSgpKSB7Ci0gICAgICAgIGF1dG8gdGV4dFBpZWNlID0gbWFya2VkVGV4dC5yYW5nZSgpOwotICAg
ICAgICBEb2N1bWVudE1hcmtlcjo6RHJhZ2dlZENvbnRlbnREYXRhIGRyYWdnZWRDb250ZW50RGF0
YSB7IG1hcmtlZFRleHQubm9kZSgpIH07CisgICAgZm9yIChhdXRvIHRleHRQaWVjZSA6IGNvbGxl
Y3RUZXh0UmFuZ2VzKHJhbmdlKSkgeworICAgICAgICBEb2N1bWVudE1hcmtlcjo6RHJhZ2dlZENv
bnRlbnREYXRhIGRyYWdnZWRDb250ZW50RGF0YSB7IHRleHRQaWVjZS0+Zmlyc3ROb2RlKCkgfTsK
ICAgICAgICAgYWRkTWFya2VyKHRleHRQaWVjZS0+c3RhcnRDb250YWluZXIoKSwgeyBEb2N1bWVu
dE1hcmtlcjo6RHJhZ2dlZENvbnRlbnQsIHRleHRQaWVjZS0+c3RhcnRPZmZzZXQoKSwgdGV4dFBp
ZWNlLT5lbmRPZmZzZXQoKSwgV1RGTW92ZShkcmFnZ2VkQ29udGVudERhdGEpIH0pOwogICAgIH0K
IH0KQEAgLTE0NSw4ICsxNDEsNyBAQCB2b2lkIERvY3VtZW50TWFya2VyQ29udHJvbGxlcjo6YWRk
RHJhZ2dlZENvbnRlbnRNYXJrZXIoUmFuZ2UmIHJhbmdlKQogI2lmIEVOQUJMRShQTEFURk9STV9E
UklWRU5fVEVYVF9DSEVDS0lORykKIHZvaWQgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyOjphZGRQ
bGF0Zm9ybVRleHRDaGVja2luZ01hcmtlcihSYW5nZSYgcmFuZ2UsIGNvbnN0IFN0cmluZyYga2V5
LCBjb25zdCBTdHJpbmcmIHZhbHVlKQogewotICAgIGZvciAoVGV4dEl0ZXJhdG9yIG1hcmtlZFRl
eHQoJnJhbmdlKTsgIW1hcmtlZFRleHQuYXRFbmQoKTsgbWFya2VkVGV4dC5hZHZhbmNlKCkpIHsK
LSAgICAgICAgYXV0byB0ZXh0UGllY2UgPSBtYXJrZWRUZXh0LnJhbmdlKCk7CisgICAgZm9yIChh
dXRvIHRleHRQaWVjZSA6IGNvbGxlY3RUZXh0UmFuZ2VzKHJhbmdlKSkgewogICAgICAgICBEb2N1
bWVudE1hcmtlcjo6UGxhdGZvcm1UZXh0Q2hlY2tpbmdEYXRhIHRleHRDaGVja2luZ0RhdGEgeyBr
ZXksIHZhbHVlIH07CiAgICAgICAgIGFkZE1hcmtlcih0ZXh0UGllY2UtPnN0YXJ0Q29udGFpbmVy
KCksIHsgRG9jdW1lbnRNYXJrZXI6OlBsYXRmb3JtVGV4dENoZWNraW5nLCB0ZXh0UGllY2UtPnN0
YXJ0T2Zmc2V0KCksIHRleHRQaWVjZS0+ZW5kT2Zmc2V0KCksIFdURk1vdmUodGV4dENoZWNraW5n
RGF0YSkgfSk7CiAgICAgfQpAQCAtMTU1LDEyICsxNTAsMTAgQEAgdm9pZCBEb2N1bWVudE1hcmtl
ckNvbnRyb2xsZXI6OmFkZFBsYXRmb3JtVGV4dENoZWNraW5nTWFya2VyKFJhbmdlJiByYW5nZSwg
Y29uc3QKIAogdm9pZCBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXI6OnJlbW92ZU1hcmtlcnMoUmFu
Z2UmIHJhbmdlLCBPcHRpb25TZXQ8RG9jdW1lbnRNYXJrZXI6Ok1hcmtlclR5cGU+IG1hcmtlclR5
cGVzLCBSZW1vdmVQYXJ0aWFsbHlPdmVybGFwcGluZ01hcmtlck9yTm90IHNob3VsZFJlbW92ZVBh
cnRpYWxseU92ZXJsYXBwaW5nTWFya2VyKQogewotICAgIGZvciAoVGV4dEl0ZXJhdG9yIG1hcmtl
ZFRleHQoJnJhbmdlKTsgIW1hcmtlZFRleHQuYXRFbmQoKTsgbWFya2VkVGV4dC5hZHZhbmNlKCkp
IHsKKyAgICBmb3IgKGF1dG8gdGV4dFBpZWNlIDogY29sbGVjdFRleHRSYW5nZXMocmFuZ2UpKSB7
CiAgICAgICAgIGlmICghcG9zc2libHlIYXNNYXJrZXJzKG1hcmtlclR5cGVzKSkKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgQVNTRVJUKCFtX21hcmtlcnMuaXNFbXB0eSgpKTsKLQotICAg
ICAgICBhdXRvIHRleHRQaWVjZSA9IG1hcmtlZFRleHQucmFuZ2UoKTsKICAgICAgICAgdW5zaWdu
ZWQgc3RhcnRPZmZzZXQgPSB0ZXh0UGllY2UtPnN0YXJ0T2Zmc2V0KCk7CiAgICAgICAgIHVuc2ln
bmVkIGVuZE9mZnNldCA9IHRleHRQaWVjZS0+ZW5kT2Zmc2V0KCk7CiAgICAgICAgIHJlbW92ZU1h
cmtlcnModGV4dFBpZWNlLT5zdGFydENvbnRhaW5lcigpLCBzdGFydE9mZnNldCwgZW5kT2Zmc2V0
IC0gc3RhcnRPZmZzZXQsIG1hcmtlclR5cGVzLCBudWxscHRyLCBzaG91bGRSZW1vdmVQYXJ0aWFs
bHlPdmVybGFwcGluZ01hcmtlcik7CkBAIC0xNjksMTIgKzE2MiwxMSBAQCB2b2lkIERvY3VtZW50
TWFya2VyQ29udHJvbGxlcjo6cmVtb3ZlTWFya2VycyhSYW5nZSYgcmFuZ2UsIE9wdGlvblNldDxE
b2N1bWVudE1hcgogCiB2b2lkIERvY3VtZW50TWFya2VyQ29udHJvbGxlcjo6ZmlsdGVyTWFya2Vy
cyhSYW5nZSYgcmFuZ2UsIHN0ZDo6ZnVuY3Rpb248Ym9vbChEb2N1bWVudE1hcmtlciopPiBmaWx0
ZXJGdW5jdGlvbiwgT3B0aW9uU2V0PERvY3VtZW50TWFya2VyOjpNYXJrZXJUeXBlPiBtYXJrZXJU
eXBlcywgUmVtb3ZlUGFydGlhbGx5T3ZlcmxhcHBpbmdNYXJrZXJPck5vdCBzaG91bGRSZW1vdmVQ
YXJ0aWFsbHlPdmVybGFwcGluZ01hcmtlcikKIHsKLSAgICBmb3IgKFRleHRJdGVyYXRvciBtYXJr
ZWRUZXh0KCZyYW5nZSk7ICFtYXJrZWRUZXh0LmF0RW5kKCk7IG1hcmtlZFRleHQuYWR2YW5jZSgp
KSB7CisgICAgZm9yIChhdXRvIHRleHRQaWVjZSA6IGNvbGxlY3RUZXh0UmFuZ2VzKHJhbmdlKSkg
ewogICAgICAgICBpZiAoIXBvc3NpYmx5SGFzTWFya2VycyhtYXJrZXJUeXBlcykpCiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIEFTU0VSVCghbV9tYXJrZXJzLmlzRW1wdHkoKSk7CiAKLSAg
ICAgICAgYXV0byB0ZXh0UGllY2UgPSBtYXJrZWRUZXh0LnJhbmdlKCk7CiAgICAgICAgIHVuc2ln
bmVkIHN0YXJ0T2Zmc2V0ID0gdGV4dFBpZWNlLT5zdGFydE9mZnNldCgpOwogICAgICAgICB1bnNp
Z25lZCBlbmRPZmZzZXQgPSB0ZXh0UGllY2UtPmVuZE9mZnNldCgpOwogICAgICAgICByZW1vdmVN
YXJrZXJzKHRleHRQaWVjZS0+c3RhcnRDb250YWluZXIoKSwgc3RhcnRPZmZzZXQsIGVuZE9mZnNl
dCAtIHN0YXJ0T2Zmc2V0LCBtYXJrZXJUeXBlcywgZmlsdGVyRnVuY3Rpb24sIHNob3VsZFJlbW92
ZVBhcnRpYWxseU92ZXJsYXBwaW5nTWFya2VyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudE1hcmtlckNvbnRyb2xsZXIuaAppbmRleCAyZWNhNTIxZGMwZC4uNjllMjU0ZDVlNzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKQEAgLTEw
Nyw2ICsxMDcsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgdm9pZCBhZGRNYXJrZXIoTm9k
ZSYsIGNvbnN0IERvY3VtZW50TWFya2VyJik7CisgICAgVmVjdG9yPFJlZlB0cjxSYW5nZT4+IGNv
bGxlY3RUZXh0UmFuZ2VzKGNvbnN0IFJhbmdlJik7CiAKICAgICB0eXBlZGVmIFZlY3RvcjxSZW5k
ZXJlZERvY3VtZW50TWFya2VyPiBNYXJrZXJMaXN0OwogICAgIHR5cGVkZWYgSGFzaE1hcDxSZWZQ
dHI8Tm9kZT4sIHN0ZDo6dW5pcXVlX3B0cjxNYXJrZXJMaXN0Pj4gTWFya2VyTWFwOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>