<?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>112211</bug_id>
          
          <creation_ts>2013-03-12 17:04:27 -0700</creation_ts>
          <short_desc>[CSS Grid Layout] Refactor GridCoordinate to hold GridSpans</short_desc>
          <delta_ts>2013-03-13 15:30:31 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>103314</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Julien Chaffraix">jchaffraix</reporter>
          <assigned_to name="Julien Chaffraix">jchaffraix</assigned_to>
          <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>853919</commentid>
    <comment_count>0</comment_count>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-03-12 17:04:27 -0700</bug_when>
    <thetext>After bug 111653, we have the code to compute both initial / final positions in one direction and using GridSpan.

However this information is local and isn&apos;t propagated to most of the layout code. Instead of peppering more GridSpan computation, we should propagate the information through GridCoordinate. This is a good candidate as it is our golden representation of where an item is on the grid.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853942</commentid>
    <comment_count>1</comment_count>
      <attachid>192842</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-03-12 17:37:33 -0700</bug_when>
    <thetext>Created attachment 192842
Proposed change 1: Not super happy about the emptyGridArea change but a pair would be worse.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854714</commentid>
    <comment_count>2</comment_count>
      <attachid>192842</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-13 15:30:27 -0700</bug_when>
    <thetext>Comment on attachment 192842
Proposed change 1: Not super happy about the emptyGridArea change but a pair would be worse.

Clearing flags on attachment: 192842

Committed r145762: &lt;http://trac.webkit.org/changeset/145762&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>854715</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-13 15:30:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192842</attachid>
            <date>2013-03-12 17:37:33 -0700</date>
            <delta_ts>2013-03-13 15:30:27 -0700</delta_ts>
            <desc>Proposed change 1: Not super happy about the emptyGridArea change but a pair would be worse.</desc>
            <filename>bug-112211-20130312173331.patch</filename>
            <type>text/plain</type>
            <size>12066</size>
            <attacher name="Julien Chaffraix">jchaffraix</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ1NjIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDRjNDY0YTAyNzQ5OGY0
MjhjMjVmYWZlYTFmNGQ4YjVmNTljMWI0MS4uMTg0MGIxMGJiMWI5Mzc3YmQ0ZDYxNWE2MWY1YTNj
YjEwZGQ1Y2JhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEzLTAzLTEyICBKdWxp
ZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgorCisgICAgICAgIFtDU1MgR3Jp
ZCBMYXlvdXRdIFJlZmFjdG9yIEdyaWRDb29yZGluYXRlIHRvIGhvbGQgR3JpZFNwYW5zCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIyMTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBvcmRlciB0byBi
cmluZyBtb3JlIHNwYW5uaW5nIGtub3dsZWRnZSB0byBSZW5kZXJHcmlkIHdpdGhvdXQgaGF2aW5n
CisgICAgICAgIGR1cGxpY2F0ZWQgR3JpZFNwYW4gcmVzb2x1dGlvbiwgaXQgYmVjYW1lIG5lZWRl
ZCB0byBzdG9yZSB0aGVtIGludG8KKyAgICAgICAgR3JpZENvb3JkaW5hdGUuIE5vdGUgdGhhdCB0
aGlzIGNoYW5nZSBpcyBuZWVkZWQgYXMgd2UgY2FuIG9ubHkgcmVzb2x2ZQorICAgICAgICBhbGwg
dGhlIHBvc2l0aW9ucyB3aXRoIGVub3VnaCBjb250ZXh0IGluIG9uZSBwbGFjZTogd2hlbiB3ZSBw
bGFjZSB0aGUKKyAgICAgICAgaXRlbSBpbiB0aGUgZ3JpZC4KKworICAgICAgICBSZWZhY3Rvcmlu
Zywgbm8gY2hhbmdlIGluIGJlaGF2aW9yIGV4cGVjdGVkLgorCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6R3JpZEl0ZXJh
dG9yOjpuZXh0RW1wdHlHcmlkQXJlYSk6CisgICAgICAgIFVwZGF0ZWQgdG8gY3JlYXRlIDIgR3Jp
ZFNwYW5zLiBBbHNvIGZpeGVkIGEgc3R5bGUgdmlvbGF0aW9uIChQYXNzT3duUHRyCisgICAgICAg
IGFzIGxvY2FsIG1lbWJlciwgbm90IHN1cmUgd2h5IGl0IHdhc24ndCBjYXVnaHQgZWFybGllciku
CisKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OnBsYWNlSXRlbXNPbkdyaWQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6cGxhY2VTcGVjaWZpZWRNYWpvckF4aXNJdGVtc09u
R3JpZCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpwbGFjZUF1dG9NYWpvckF4aXNJ
dGVtT25HcmlkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmdyaWRBcmVhQnJlYWR0
aEZvckNoaWxkKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmZpbmRDaGlsZExvZ2lj
YWxQb3NpdGlvbik6CisgICAgICAgIFVwZGF0ZWQgdGhlIG9yaWdpbmFsIGZ1bmN0aW9uIGFmdGVy
IEdyaWRDb29yZGluYXRlIGludGVybmFsIHJlcHJlc2VudGF0aW9uIGNoYW5nZS4KKworICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6aW5zZXJ0SXRlbUludG9HcmlkKToKKyAgICAgICAgRGl0
dG8uIEFsc28gYWRkZWQgYSBuZXcgb3ZlcmxvYWRlZCBmdW5jdGlvbiB0aGF0IGRvZXMgcmVzb2x1
dGlvbiBhZnRlciBhdXRvLXBsYWNlbWVudC4KKworICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3Jp
ZDo6cmVzb2x2ZUdyaWRQb3NpdGlvbnNGcm9tQXV0b1BsYWNlbWVudFBvc2l0aW9uKToKKyAgICAg
ICAgUmVtb3ZlZCB0aGUgZXh0cmEgR3JpZFNwYW4gY29tcHV0YXRpb24sIHdoaWNoIHdhcyB3cm9u
Zy4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJHcmlkLmg6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJHcmlkOjpHcmlkQ29vcmRpbmF0ZTo6R3JpZENvb3JkaW5hdGUpOgorICAgICAgICBV
cGRhdGVkIEdyaWRDb29yZGluYXRlIHRvIGhvbGQgMiBHcmlkU3Bhbi4gQWxzbyByZW1vdmVkIHRo
ZSAyIHBvc2l0aW9uCisgICAgICAgIGNvbnN0cnVjdG9yIChpdCB3b3VsZCBoYXZlIGJlZW4gYSBo
YXphcmQpLCByZXBsYWNlZCBieSBhIDIgR3JpZFNwYW4gY29uc3RydWN0b3IuCisKIDIwMTMtMDMt
MTIgIEVsbGlvdHQgU3ByZWhuICA8ZXNwcmVobkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVt
b3ZlIFRleHRJdGVyYXRvci5jcHAncyBpc0FsbENvbGxhcHNpYmxlV2hpdGVzcGFjZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCmluZGV4IGFiZjZkYzEyNGRiYzhlMzRjYWY0
ZGRkY2FiMjc1N2JhZTIyNDNmYjYuLjgzOWVjYTQ0NWU0ZjIzNGExNGU0NDJmNDk3NDljZjU3ZGUy
MDk5ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKQEAgLTEwNywx
MCArMTA3LDEwIEBAIHB1YmxpYzoKICAgICAgICAgZm9yICg7IHZhcnlpbmdUcmFja0luZGV4IDwg
ZW5kT2ZWYXJ5aW5nVHJhY2tJbmRleDsgKyt2YXJ5aW5nVHJhY2tJbmRleCkgewogICAgICAgICAg
ICAgY29uc3QgVmVjdG9yPFJlbmRlckJveCo+JiBjaGlsZHJlbiA9IG1fZ3JpZFttX3Jvd0luZGV4
XVttX2NvbHVtbkluZGV4XTsKICAgICAgICAgICAgIGlmIChjaGlsZHJlbi5pc0VtcHR5KCkpIHsK
LSAgICAgICAgICAgICAgICBQYXNzT3duUHRyPEdyaWRDb29yZGluYXRlPiByZXN1bHQgPSAgYWRv
cHRQdHIobmV3IEdyaWRDb29yZGluYXRlKG1fcm93SW5kZXgsIG1fY29sdW1uSW5kZXgpKTsKKyAg
ICAgICAgICAgICAgICBPd25QdHI8R3JpZENvb3JkaW5hdGU+IHJlc3VsdCA9IGFkb3B0UHRyKG5l
dyBHcmlkQ29vcmRpbmF0ZShHcmlkU3BhbihtX3Jvd0luZGV4LCBtX3Jvd0luZGV4KSwgR3JpZFNw
YW4obV9jb2x1bW5JbmRleCwgbV9jb2x1bW5JbmRleCkpKTsKICAgICAgICAgICAgICAgICAvLyBB
ZHZhbmNlIHRoZSBpdGVyYXRvciB0byBhdm9pZCBhbiBpbmZpbml0ZSBsb29wIHdoZXJlIHdlIHdv
dWxkIHJldHVybiB0aGUgc2FtZSBncmlkIGFyZWEgb3ZlciBhbmQgb3Zlci4KICAgICAgICAgICAg
ICAgICArK3ZhcnlpbmdUcmFja0luZGV4OwotICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7
CisgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlKCk7CiAgICAgICAgICAgICB9
CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIG51bGxwdHI7CkBAIC01MDgsMTAgKzUwOCwxNyBA
QCB2b2lkIFJlbmRlckdyaWQ6Omdyb3dHcmlkKFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlv
bikKICAgICB9CiB9CiAKK3ZvaWQgUmVuZGVyR3JpZDo6aW5zZXJ0SXRlbUludG9HcmlkKFJlbmRl
ckJveCogY2hpbGQsIGNvbnN0IEdyaWRDb29yZGluYXRlJiBjb29yZGluYXRlKQoreworICAgIG1f
Z3JpZFtjb29yZGluYXRlLnJvd3MuaW5pdGlhbFBvc2l0aW9uSW5kZXhdW2Nvb3JkaW5hdGUuY29s
dW1ucy5pbml0aWFsUG9zaXRpb25JbmRleF0uYXBwZW5kKGNoaWxkKTsKKyAgICBtX2dyaWRJdGVt
Q29vcmRpbmF0ZS5zZXQoY2hpbGQsIGNvb3JkaW5hdGUpOworfQorCiB2b2lkIFJlbmRlckdyaWQ6
Omluc2VydEl0ZW1JbnRvR3JpZChSZW5kZXJCb3gqIGNoaWxkLCBzaXplX3Qgcm93VHJhY2ssIHNp
emVfdCBjb2x1bW5UcmFjaykKIHsKLSAgICBtX2dyaWRbcm93VHJhY2tdW2NvbHVtblRyYWNrXS5h
cHBlbmQoY2hpbGQpOwotICAgIG1fZ3JpZEl0ZW1Db29yZGluYXRlLnNldChjaGlsZCwgR3JpZENv
b3JkaW5hdGUocm93VHJhY2ssIGNvbHVtblRyYWNrKSk7CisgICAgY29uc3QgR3JpZFNwYW4mIHJv
d1NwYW4gPSByZXNvbHZlR3JpZFBvc2l0aW9uc0Zyb21BdXRvUGxhY2VtZW50UG9zaXRpb24oY2hp
bGQsIEZvclJvd3MsIHJvd1RyYWNrKTsKKyAgICBjb25zdCBHcmlkU3BhbiYgY29sdW1uU3BhbiA9
IHJlc29sdmVHcmlkUG9zaXRpb25zRnJvbUF1dG9QbGFjZW1lbnRQb3NpdGlvbihjaGlsZCwgRm9y
Q29sdW1ucywgY29sdW1uVHJhY2spOworICAgIGluc2VydEl0ZW1JbnRvR3JpZChjaGlsZCwgR3Jp
ZENvb3JkaW5hdGUocm93U3BhbiwgY29sdW1uU3BhbikpOwogfQogCiB2b2lkIFJlbmRlckdyaWQ6
OnBsYWNlSXRlbXNPbkdyaWQoKQpAQCAtNTQwLDcgKzU0Nyw3IEBAIHZvaWQgUmVuZGVyR3JpZDo6
cGxhY2VJdGVtc09uR3JpZCgpCiAgICAgICAgICAgICAgICAgc3BlY2lmaWVkTWFqb3JBeGlzQXV0
b0dyaWRJdGVtcy5hcHBlbmQoY2hpbGQpOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAg
IH0KLSAgICAgICAgaW5zZXJ0SXRlbUludG9HcmlkKGNoaWxkLCByb3dQb3NpdGlvbnMtPmluaXRp
YWxQb3NpdGlvbkluZGV4LCBjb2x1bW5Qb3NpdGlvbnMtPmluaXRpYWxQb3NpdGlvbkluZGV4KTsK
KyAgICAgICAgaW5zZXJ0SXRlbUludG9HcmlkKGNoaWxkLCBHcmlkQ29vcmRpbmF0ZSgqcm93UG9z
aXRpb25zLCAqY29sdW1uUG9zaXRpb25zKSk7CiAgICAgfQogCiAgICAgQVNTRVJUKGdyaWRSb3dD
b3VudCgpID49IHN0eWxlKCktPmdyaWRSb3dzKCkuc2l6ZSgpKTsKQEAgLTU2MywxNCArNTcwLDE0
IEBAIHZvaWQgUmVuZGVyR3JpZDo6cGxhY2VTcGVjaWZpZWRNYWpvckF4aXNJdGVtc09uR3JpZChW
ZWN0b3I8UmVuZGVyQm94Kj4gYXV0b0dyaWRJCiAgICAgICAgIE93blB0cjxHcmlkU3Bhbj4gbWFq
b3JBeGlzUG9zaXRpb25zID0gcmVzb2x2ZUdyaWRQb3NpdGlvbnNGcm9tU3R5bGUoYXV0b0dyaWRJ
dGVtc1tpXSwgYXV0b1BsYWNlbWVudE1ham9yQXhpc0RpcmVjdGlvbigpKTsKICAgICAgICAgR3Jp
ZEl0ZXJhdG9yIGl0ZXJhdG9yKG1fZ3JpZCwgYXV0b1BsYWNlbWVudE1ham9yQXhpc0RpcmVjdGlv
bigpLCBtYWpvckF4aXNQb3NpdGlvbnMtPmluaXRpYWxQb3NpdGlvbkluZGV4KTsKICAgICAgICAg
aWYgKE93blB0cjxHcmlkQ29vcmRpbmF0ZT4gZW1wdHlHcmlkQXJlYSA9IGl0ZXJhdG9yLm5leHRF
bXB0eUdyaWRBcmVhKCkpIHsKLSAgICAgICAgICAgIGluc2VydEl0ZW1JbnRvR3JpZChhdXRvR3Jp
ZEl0ZW1zW2ldLCBlbXB0eUdyaWRBcmVhLT5yb3dJbmRleCwgZW1wdHlHcmlkQXJlYS0+Y29sdW1u
SW5kZXgpOworICAgICAgICAgICAgaW5zZXJ0SXRlbUludG9HcmlkKGF1dG9HcmlkSXRlbXNbaV0s
IGVtcHR5R3JpZEFyZWEtPnJvd3MuaW5pdGlhbFBvc2l0aW9uSW5kZXgsIGVtcHR5R3JpZEFyZWEt
PmNvbHVtbnMuaW5pdGlhbFBvc2l0aW9uSW5kZXgpOwogICAgICAgICAgICAgY29udGludWU7CiAg
ICAgICAgIH0KIAogICAgICAgICBncm93R3JpZChhdXRvUGxhY2VtZW50TWlub3JBeGlzRGlyZWN0
aW9uKCkpOwogICAgICAgICBPd25QdHI8R3JpZENvb3JkaW5hdGU+IGVtcHR5R3JpZEFyZWEgPSBp
dGVyYXRvci5uZXh0RW1wdHlHcmlkQXJlYSgpOwogICAgICAgICBBU1NFUlQoZW1wdHlHcmlkQXJl
YSk7Ci0gICAgICAgIGluc2VydEl0ZW1JbnRvR3JpZChhdXRvR3JpZEl0ZW1zW2ldLCBlbXB0eUdy
aWRBcmVhLT5yb3dJbmRleCwgZW1wdHlHcmlkQXJlYS0+Y29sdW1uSW5kZXgpOworICAgICAgICBp
bnNlcnRJdGVtSW50b0dyaWQoYXV0b0dyaWRJdGVtc1tpXSwgZW1wdHlHcmlkQXJlYS0+cm93cy5p
bml0aWFsUG9zaXRpb25JbmRleCwgZW1wdHlHcmlkQXJlYS0+Y29sdW1ucy5pbml0aWFsUG9zaXRp
b25JbmRleCk7CiAgICAgfQogfQogCkBAIC01ODksNyArNTk2LDcgQEAgdm9pZCBSZW5kZXJHcmlk
OjpwbGFjZUF1dG9NYWpvckF4aXNJdGVtT25HcmlkKFJlbmRlckJveCogZ3JpZEl0ZW0pCiAgICAg
ICAgIG1pbm9yQXhpc0luZGV4ID0gbWlub3JBeGlzUG9zaXRpb25zLT5pbml0aWFsUG9zaXRpb25J
bmRleDsKICAgICAgICAgR3JpZEl0ZXJhdG9yIGl0ZXJhdG9yKG1fZ3JpZCwgYXV0b1BsYWNlbWVu
dE1pbm9yQXhpc0RpcmVjdGlvbigpLCBtaW5vckF4aXNJbmRleCk7CiAgICAgICAgIGlmIChPd25Q
dHI8R3JpZENvb3JkaW5hdGU+IGVtcHR5R3JpZEFyZWEgPSBpdGVyYXRvci5uZXh0RW1wdHlHcmlk
QXJlYSgpKSB7Ci0gICAgICAgICAgICBpbnNlcnRJdGVtSW50b0dyaWQoZ3JpZEl0ZW0sIGVtcHR5
R3JpZEFyZWEtPnJvd0luZGV4LCBlbXB0eUdyaWRBcmVhLT5jb2x1bW5JbmRleCk7CisgICAgICAg
ICAgICBpbnNlcnRJdGVtSW50b0dyaWQoZ3JpZEl0ZW0sIGVtcHR5R3JpZEFyZWEtPnJvd3MuaW5p
dGlhbFBvc2l0aW9uSW5kZXgsIGVtcHR5R3JpZEFyZWEtPmNvbHVtbnMuaW5pdGlhbFBvc2l0aW9u
SW5kZXgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgfSBlbHNlIHsKQEAg
LTU5Nyw3ICs2MDQsNyBAQCB2b2lkIFJlbmRlckdyaWQ6OnBsYWNlQXV0b01ham9yQXhpc0l0ZW1P
bkdyaWQoUmVuZGVyQm94KiBncmlkSXRlbSkKICAgICAgICAgZm9yIChzaXplX3QgbWFqb3JBeGlz
SW5kZXggPSAwOyBtYWpvckF4aXNJbmRleCA8IGVuZE9mTWFqb3JBeGlzOyArK21ham9yQXhpc0lu
ZGV4KSB7CiAgICAgICAgICAgICBHcmlkSXRlcmF0b3IgaXRlcmF0b3IobV9ncmlkLCBhdXRvUGxh
Y2VtZW50TWFqb3JBeGlzRGlyZWN0aW9uKCksIG1ham9yQXhpc0luZGV4KTsKICAgICAgICAgICAg
IGlmIChPd25QdHI8R3JpZENvb3JkaW5hdGU+IGVtcHR5R3JpZEFyZWEgPSBpdGVyYXRvci5uZXh0
RW1wdHlHcmlkQXJlYSgpKSB7Ci0gICAgICAgICAgICAgICAgaW5zZXJ0SXRlbUludG9HcmlkKGdy
aWRJdGVtLCBlbXB0eUdyaWRBcmVhLT5yb3dJbmRleCwgZW1wdHlHcmlkQXJlYS0+Y29sdW1uSW5k
ZXgpOworICAgICAgICAgICAgICAgIGluc2VydEl0ZW1JbnRvR3JpZChncmlkSXRlbSwgZW1wdHlH
cmlkQXJlYS0+cm93cy5pbml0aWFsUG9zaXRpb25JbmRleCwgZW1wdHlHcmlkQXJlYS0+Y29sdW1u
cy5pbml0aWFsUG9zaXRpb25JbmRleCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICAgICAgfQogICAgICAgICB9CkBAIC02ODMsNiArNjkwLDEzIEBAIFJlbmRlckdyaWQ6OkdyaWRD
b29yZGluYXRlIFJlbmRlckdyaWQ6OmNhY2hlZEdyaWRDb29yZGluYXRlKGNvbnN0IFJlbmRlckJv
eCogZ3JpCiAgICAgcmV0dXJuIG1fZ3JpZEl0ZW1Db29yZGluYXRlLmdldChncmlkSXRlbSk7CiB9
CiAKK1JlbmRlckdyaWQ6OkdyaWRTcGFuIFJlbmRlckdyaWQ6OnJlc29sdmVHcmlkUG9zaXRpb25z
RnJvbUF1dG9QbGFjZW1lbnRQb3NpdGlvbihjb25zdCBSZW5kZXJCb3gqLCBUcmFja1NpemluZ0Rp
cmVjdGlvbiwgc2l6ZV90IGluaXRpYWxQb3NpdGlvbikgY29uc3QKK3sKKyAgICAvLyBGSVhNRTog
V2UgZG9uJ3Qgc3VwcG9ydCBzcGFubmluZyB3aXRoIGF1dG8gcG9zaXRpb25zIHlldC4gT25jZSB3
ZSBkbywgdGhpcyBpcyB3cm9uZy4gQWxzbyB3ZSBzaG91bGQgbWFrZQorICAgIC8vIHN1cmUgdGhl
IGdyaWQgY2FuIGFjY29tb2RhdGUgdGhlIG5ldyBpdGVtIGFzIHdlIG9ubHkgZ3JvdyAxIHBvc2l0
aW9uIGluIGEgZ2l2ZW4gZGlyZWN0aW9uLgorICAgIHJldHVybiBHcmlkU3Bhbihpbml0aWFsUG9z
aXRpb24sIGluaXRpYWxQb3NpdGlvbik7Cit9CisKIFBhc3NPd25QdHI8UmVuZGVyR3JpZDo6R3Jp
ZFNwYW4+IFJlbmRlckdyaWQ6OnJlc29sdmVHcmlkUG9zaXRpb25zRnJvbVN0eWxlKGNvbnN0IFJl
bmRlckJveCogZ3JpZEl0ZW0sIFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbikgY29uc3QK
IHsKICAgICBBU1NFUlQoZ3JpZFdhc1BvcHVsYXRlZCgpKTsKQEAgLTc0NCwxNiArNzU4LDkgQEAg
c2l6ZV90IFJlbmRlckdyaWQ6OnJlc29sdmVHcmlkUG9zaXRpb25Gcm9tU3R5bGUoY29uc3QgR3Jp
ZFBvc2l0aW9uJiBwb3NpdGlvbiwgR3IKIExheW91dFVuaXQgUmVuZGVyR3JpZDo6Z3JpZEFyZWFC
cmVhZHRoRm9yQ2hpbGQoY29uc3QgUmVuZGVyQm94KiBjaGlsZCwgVHJhY2tTaXppbmdEaXJlY3Rp
b24gZGlyZWN0aW9uLCBjb25zdCBWZWN0b3I8R3JpZFRyYWNrPiYgdHJhY2tzKSBjb25zdAogewog
ICAgIGNvbnN0IEdyaWRDb29yZGluYXRlJiBjb29yZGluYXRlID0gY2FjaGVkR3JpZENvb3JkaW5h
dGUoY2hpbGQpOwotICAgIHNpemVfdCB0cmFja0luZGV4ID0gKGRpcmVjdGlvbiA9PSBGb3JDb2x1
bW5zKSA/IGNvb3JkaW5hdGUuY29sdW1uSW5kZXggOiBjb29yZGluYXRlLnJvd0luZGV4OwotICAg
IE93blB0cjxHcmlkU3Bhbj4gc3BhbiA9IHJlc29sdmVHcmlkUG9zaXRpb25zRnJvbVN0eWxlKGNo
aWxkLCBkaXJlY3Rpb24pOwotICAgIGlmICghc3BhbikgewotICAgICAgICAvLyBGSVhNRTogV2Ug
ZG9uJ3Qgc3VwcG9ydCBzcGFubmluZyB3aXRoIGF1dG8gcG9zaXRpb25zIHlldC4gT25jZSB3ZSBk
bywgdGhpcyBpcyB3cm9uZy4KLSAgICAgICAgc3BhbiA9IGFkb3B0UHRyKG5ldyBHcmlkU3Bhbih0
cmFja0luZGV4LCB0cmFja0luZGV4KSk7Ci0gICAgfQotCi0gICAgQVNTRVJUKHNwYW4tPmluaXRp
YWxQb3NpdGlvbkluZGV4ID09IHRyYWNrSW5kZXgpOworICAgIGNvbnN0IEdyaWRTcGFuJiBzcGFu
ID0gKGRpcmVjdGlvbiA9PSBGb3JDb2x1bW5zKSA/IGNvb3JkaW5hdGUuY29sdW1ucyA6IGNvb3Jk
aW5hdGUucm93czsKICAgICBMYXlvdXRVbml0IGdyaWRBcmVhQnJlYWR0aCA9IDA7Ci0gICAgZm9y
ICg7IHRyYWNrSW5kZXggPD0gc3Bhbi0+ZmluYWxQb3NpdGlvbkluZGV4OyArK3RyYWNrSW5kZXgp
CisgICAgZm9yIChzaXplX3QgdHJhY2tJbmRleCA9IHNwYW4uaW5pdGlhbFBvc2l0aW9uSW5kZXg7
IHRyYWNrSW5kZXggPD0gc3Bhbi5maW5hbFBvc2l0aW9uSW5kZXg7ICsrdHJhY2tJbmRleCkKICAg
ICAgICAgZ3JpZEFyZWFCcmVhZHRoICs9IHRyYWNrc1t0cmFja0luZGV4XS5tX3VzZWRCcmVhZHRo
OwogICAgIHJldHVybiBncmlkQXJlYUJyZWFkdGg7CiB9CkBAIC03NjQsOSArNzcxLDkgQEAgTGF5
b3V0UG9pbnQgUmVuZGVyR3JpZDo6ZmluZENoaWxkTG9naWNhbFBvc2l0aW9uKFJlbmRlckJveCog
Y2hpbGQsIGNvbnN0IFZlY3RvcjwKIAogICAgIExheW91dFBvaW50IG9mZnNldDsKICAgICAvLyBG
SVhNRTogfGNvbHVtblRyYWNrfCBhbmQgfHJvd1RyYWNrfCBzaG91bGQgYmUgc21hbGxlciB0aGFu
IG91ciBjb2x1bW4gLyByb3cgY291bnQuCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb29y
ZGluYXRlLmNvbHVtbkluZGV4ICYmIGkgPCBjb2x1bW5UcmFja3Muc2l6ZSgpOyArK2kpCisgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBjb29yZGluYXRlLmNvbHVtbnMuaW5pdGlhbFBvc2l0aW9u
SW5kZXggJiYgaSA8IGNvbHVtblRyYWNrcy5zaXplKCk7ICsraSkKICAgICAgICAgb2Zmc2V0LnNl
dFgob2Zmc2V0LngoKSArIGNvbHVtblRyYWNrc1tpXS5tX3VzZWRCcmVhZHRoKTsKLSAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IGNvb3JkaW5hdGUucm93SW5kZXggJiYgaSA8IHJvd1RyYWNrcy5z
aXplKCk7ICsraSkKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGNvb3JkaW5hdGUucm93cy5p
bml0aWFsUG9zaXRpb25JbmRleCAmJiBpIDwgcm93VHJhY2tzLnNpemUoKTsgKytpKQogICAgICAg
ICBvZmZzZXQuc2V0WShvZmZzZXQueSgpICsgcm93VHJhY2tzW2ldLm1fdXNlZEJyZWFkdGgpOwog
CiAgICAgLy8gRklYTUU6IEhhbmRsZSBtYXJnaW5zIG9uIHRoZSBncmlkIGl0ZW0uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuaAppbmRleCAyNjY0MzhmMmNjMWFhNzgyMzg3ZGViZDEy
ZDMyN2JiY2VjZGFjOGUwLi5hYTRhNTlkNWVmZDQ2NGM5MmU0MTBmMTA3OTZjMzE3MDczNmFlMTNh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmgKQEAgLTUxLDI0ICs1MSw2IEBA
IHByaXZhdGU6CiAKICAgICBMYXlvdXRVbml0IGNvbXB1dGVQcmVmZXJyZWRUcmFja1dpZHRoKGNv
bnN0IExlbmd0aCYsIHNpemVfdCkgY29uc3Q7CiAKLSAgICBzdHJ1Y3QgR3JpZENvb3JkaW5hdGUg
ewotICAgICAgICAvLyBIYXNoTWFwIHJlcXVpcmVzIGEgZGVmYXVsdCBjb25zdHVjdG9yLgotICAg
ICAgICBHcmlkQ29vcmRpbmF0ZSgpCi0gICAgICAgICAgICA6IGNvbHVtbkluZGV4KDApCi0gICAg
ICAgICAgICAsIHJvd0luZGV4KDApCi0gICAgICAgIHsKLSAgICAgICAgfQotCi0gICAgICAgIEdy
aWRDb29yZGluYXRlKHNpemVfdCByb3csIHNpemVfdCBjb2x1bW4pCi0gICAgICAgICAgICA6IGNv
bHVtbkluZGV4KGNvbHVtbikKLSAgICAgICAgICAgICwgcm93SW5kZXgocm93KQotICAgICAgICB7
Ci0gICAgICAgIH0KLQotICAgICAgICBzaXplX3QgY29sdW1uSW5kZXg7Ci0gICAgICAgIHNpemVf
dCByb3dJbmRleDsKLSAgICB9OwotCiAgICAgc3RydWN0IEdyaWRTcGFuIHsKICAgICAgICAgR3Jp
ZFNwYW4oc2l6ZV90IGluaXRpYWxQb3NpdGlvbiwgc2l6ZV90IGZpbmFsUG9zaXRpb24pCiAgICAg
ICAgICAgICA6IGluaXRpYWxQb3NpdGlvbkluZGV4KGluaXRpYWxQb3NpdGlvbikKQEAgLTgxLDYg
KzYzLDI0IEBAIHByaXZhdGU6CiAgICAgICAgIHNpemVfdCBmaW5hbFBvc2l0aW9uSW5kZXg7CiAg
ICAgfTsKIAorICAgIHN0cnVjdCBHcmlkQ29vcmRpbmF0ZSB7CisgICAgICAgIC8vIEhhc2hNYXAg
cmVxdWlyZXMgYSBkZWZhdWx0IGNvbnN0dWN0b3IuCisgICAgICAgIEdyaWRDb29yZGluYXRlKCkK
KyAgICAgICAgICAgIDogY29sdW1ucygwLCAwKQorICAgICAgICAgICAgLCByb3dzKDAsIDApCisg
ICAgICAgIHsKKyAgICAgICAgfQorCisgICAgICAgIEdyaWRDb29yZGluYXRlKGNvbnN0IEdyaWRT
cGFuJiByLCBjb25zdCBHcmlkU3BhbiYgYykKKyAgICAgICAgICAgIDogY29sdW1ucyhjKQorICAg
ICAgICAgICAgLCByb3dzKHIpCisgICAgICAgIHsKKyAgICAgICAgfQorCisgICAgICAgIEdyaWRT
cGFuIGNvbHVtbnM7CisgICAgICAgIEdyaWRTcGFuIHJvd3M7CisgICAgfTsKKwogICAgIGNsYXNz
IEdyaWRJdGVyYXRvcjsKICAgICBlbnVtIFRyYWNrU2l6aW5nRGlyZWN0aW9uIHsgRm9yQ29sdW1u
cywgRm9yUm93cyB9OwogICAgIHZvaWQgY29tcHV0ZWRVc2VkQnJlYWR0aE9mR3JpZFRyYWNrcyhU
cmFja1NpemluZ0RpcmVjdGlvbiwgVmVjdG9yPEdyaWRUcmFjaz4mIGNvbHVtblRyYWNrcywgVmVj
dG9yPEdyaWRUcmFjaz4mIHJvd1RyYWNrcyk7CkBAIC05MSw2ICs5MSw3IEBAIHByaXZhdGU6CiAK
ICAgICB2b2lkIGdyb3dHcmlkKFRyYWNrU2l6aW5nRGlyZWN0aW9uKTsKICAgICB2b2lkIGluc2Vy
dEl0ZW1JbnRvR3JpZChSZW5kZXJCb3gqLCBzaXplX3Qgcm93VHJhY2ssIHNpemVfdCBjb2x1bW5U
cmFjayk7CisgICAgdm9pZCBpbnNlcnRJdGVtSW50b0dyaWQoUmVuZGVyQm94KiwgY29uc3QgR3Jp
ZENvb3JkaW5hdGUmKTsKICAgICB2b2lkIHBsYWNlSXRlbXNPbkdyaWQoKTsKICAgICB2b2lkIHBs
YWNlU3BlY2lmaWVkTWFqb3JBeGlzSXRlbXNPbkdyaWQoVmVjdG9yPFJlbmRlckJveCo+KTsKICAg
ICB2b2lkIHBsYWNlQXV0b01ham9yQXhpc0l0ZW1zT25HcmlkKFZlY3RvcjxSZW5kZXJCb3gqPik7
CkBAIC0xMTYsNiArMTE3LDcgQEAgcHJpdmF0ZToKICAgICBMYXlvdXRQb2ludCBmaW5kQ2hpbGRM
b2dpY2FsUG9zaXRpb24oUmVuZGVyQm94KiwgY29uc3QgVmVjdG9yPEdyaWRUcmFjaz4mIGNvbHVt
blRyYWNrcywgY29uc3QgVmVjdG9yPEdyaWRUcmFjaz4mIHJvd1RyYWNrcyk7CiAgICAgR3JpZENv
b3JkaW5hdGUgY2FjaGVkR3JpZENvb3JkaW5hdGUoY29uc3QgUmVuZGVyQm94KikgY29uc3Q7CiAK
KyAgICBHcmlkU3BhbiByZXNvbHZlR3JpZFBvc2l0aW9uc0Zyb21BdXRvUGxhY2VtZW50UG9zaXRp
b24oY29uc3QgUmVuZGVyQm94KiwgVHJhY2tTaXppbmdEaXJlY3Rpb24sIHNpemVfdCkgY29uc3Q7
CiAgICAgUGFzc093blB0cjxHcmlkU3Bhbj4gcmVzb2x2ZUdyaWRQb3NpdGlvbnNGcm9tU3R5bGUo
Y29uc3QgUmVuZGVyQm94KiwgVHJhY2tTaXppbmdEaXJlY3Rpb24pIGNvbnN0OwogICAgIGVudW0g
R3JpZFBvc2l0aW9uU2lkZSB7CiAgICAgICAgIFN0YXJ0U2lkZSwK
</data>

          </attachment>
      

    </bug>

</bugzilla>