<?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>124874</bug_id>
          
          <creation_ts>2013-11-25 17:23:20 -0800</creation_ts>
          <short_desc>Remote Layer Tree: Support cloning layers</short_desc>
          <delta_ts>2013-12-02 14:40:00 -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>WebKit2</component>
          <version>528+ (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="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>954174</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-11-25 17:23:20 -0800</bug_when>
    <thetext>For reflections, etc.

&lt;rdar://problem/15349468&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>954176</commentid>
    <comment_count>1</comment_count>
      <attachid>217852</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-11-25 17:30:32 -0800</bug_when>
    <thetext>Created attachment 217852
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955477</commentid>
    <comment_count>2</comment_count>
      <attachid>217852</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-12-02 11:24:37 -0800</bug_when>
    <thetext>Comment on attachment 217852
patch

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

Does the right cleanup happen when a mask layer is removed?

&gt; Source/WebKit2/WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:102
&gt; +    clone-&gt;m_properties.notePropertiesChanged(static_cast&lt;RemoteLayerTreeTransaction::LayerChange&gt;(m_properties.everChangedProperties &amp; ~RemoteLayerTreeTransaction::BackingStoreChanged));

Ugly cast :(

&gt; Source/WebKit2/WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:276
&gt; +    m_maskLayer = toPlatformCALayerRemote(layer);

Can we call the field m_maskLayerID please? (Same with other LayerID fields).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955582</commentid>
    <comment_count>3</comment_count>
      <attachid>218215</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-12-02 14:25:07 -0800</bug_when>
    <thetext>Created attachment 218215
fix comments except cast</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955593</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-12-02 14:40:00 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/159967</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217852</attachid>
            <date>2013-11-25 17:30:32 -0800</date>
            <delta_ts>2013-12-02 14:25:07 -0800</delta_ts>
            <desc>patch</desc>
            <filename>clone.diff</filename>
            <type>text/plain</type>
            <size>7944</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBhYzJkMjllLi5jMmExY2Y5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzkg
QEAKKzIwMTMtMTEtMjUgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgUmVtb3RlIExheWVyIFRyZWU6IFN1cHBvcnQgY2xvbmluZyBsYXllcnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDg3NAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMTUzNDk0Njg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2UgdXNlIFBsYXRmb3JtQ0FMYXllcjo6Y2xvbmUgZm9yIENT
UyByZWZsZWN0aW9ucywgc28gaW1wbGVtZW50IGl0LgorCisgICAgICAgIEFsc28sIHNpbmNlIG1h
bnkgcmVmbGVjdGlvbnMgdGVzdGNhc2VzIGFsc28gdXNlIG1hc2tzLAorICAgICAgICB3b3JraW5n
IG9uIHRoaXMgcmV2ZWFsZWQgdGhhdCBtYXNrcyB3ZXJlbid0IHdvcmtpbmcsIGJlY2F1c2UKKyAg
ICAgICAgd2Ugd2VyZW4ndCBmbHVzaGluZyBtYXNrIGxheWVycy4KKworICAgICAgICAqIFNoYXJl
ZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaDoKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OkxheWVyUHJvcGVydGllczo6bm90ZVByb3BlcnRpZXND
aGFuZ2VkKToKKyAgICAgICAgKiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9u
Lm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6TGF5ZXJQ
cm9wZXJ0aWVzOjpMYXllclByb3BlcnRpZXMpOgorICAgICAgICBLZWVwIHRyYWNrIG9mIGFsbCBw
cm9wZXJ0aWVzIHRoYXQgaGF2ZSBldmVyIGJlZW4gY2hhbmdlZCBvbiBhIGxheWVyLgorCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGUuY3BwOgor
ICAgICAgICAoUGxhdGZvcm1DQUxheWVyUmVtb3RlOjpjcmVhdGUpOgorICAgICAgICAoUGxhdGZv
cm1DQUxheWVyUmVtb3RlOjpQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUpOgorICAgICAgICAoUGxhdGZv
cm1DQUxheWVyUmVtb3RlOjpjbG9uZSk6CisgICAgICAgIENvcHkgYWxsIG9mIHRoZSBsYXllciBw
cm9wZXJ0aWVzIGZyb20gdGhlIG9yaWdpbmFsIHRvIHRoZSBjbG9uZSwKKyAgICAgICAgYW5kIG1h
cmsgYWxsIHByb3BlcnRpZXMgdGhhdCBoYXZlIGV2ZXIgYmVlbiBtb2RpZmllZCBhcworICAgICAg
ICBuZWVkaW5nIHRvIGJlIGZsdXNoZWQgdG8gdGhlIFVJIHByb2Nlc3MuCisKKyAgICAgICAgKFBs
YXRmb3JtQ0FMYXllclJlbW90ZTo6cmVjdXJzaXZlQnVpbGRUcmFuc2FjdGlvbik6CisgICAgICAg
IEZsdXNoIG91ciBtYXNrIGxheWVyLCBpZiB3ZSBoYXZlIG9uZS4KKworICAgICAgICAoUGxhdGZv
cm1DQUxheWVyUmVtb3RlOjpzZXRNYXNrKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL1BsYXRmb3JtQ0FMYXllclJlbW90ZS5oOgorICAgICAgICBTdG9yZSB0aGUgbWFzayBsYXll
ciB3ZSdyZSBnaXZlbi4gT3VyIG93bmluZyBHcmFwaGljc0xheWVyIHdpbGwKKyAgICAgICAgaG9s
ZCBvbiB0byBpdCBmb3IgdXMuCisKIDIwMTMtMTEtMjUgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFw
cGxlLmNvbT4KIAogICAgICAgICBbQ29jb2FdIFVzZSBjbGFzcyBleHRlbnNpb25zIGZvciBJUEkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJh
bnNhY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJh
bnNhY3Rpb24uaAppbmRleCA0NzAxMTczLi4zNDQ1YTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmgKKysrIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oCkBAIC05Nyw5
ICs5NywxNCBAQCBwdWJsaWM6CiAgICAgICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50
RW5jb2RlciYpIGNvbnN0OwogICAgICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJn
dW1lbnREZWNvZGVyJiwgTGF5ZXJQcm9wZXJ0aWVzJik7CiAKLSAgICAgICAgdm9pZCBub3RlUHJv
cGVydGllc0NoYW5nZWQoTGF5ZXJDaGFuZ2UgbGF5ZXJDaGFuZ2VzKSB7IGNoYW5nZWRQcm9wZXJ0
aWVzID0gc3RhdGljX2Nhc3Q8TGF5ZXJDaGFuZ2U+KGNoYW5nZWRQcm9wZXJ0aWVzIHwgbGF5ZXJD
aGFuZ2VzKTsgfQorICAgICAgICB2b2lkIG5vdGVQcm9wZXJ0aWVzQ2hhbmdlZChMYXllckNoYW5n
ZSBsYXllckNoYW5nZXMpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNoYW5nZWRQcm9wZXJ0aWVz
ID0gc3RhdGljX2Nhc3Q8TGF5ZXJDaGFuZ2U+KGNoYW5nZWRQcm9wZXJ0aWVzIHwgbGF5ZXJDaGFu
Z2VzKTsKKyAgICAgICAgICAgIGV2ZXJDaGFuZ2VkUHJvcGVydGllcyA9IHN0YXRpY19jYXN0PExh
eWVyQ2hhbmdlPihldmVyQ2hhbmdlZFByb3BlcnRpZXMgfCBsYXllckNoYW5nZXMpOworICAgICAg
ICB9CiAKICAgICAgICAgTGF5ZXJDaGFuZ2UgY2hhbmdlZFByb3BlcnRpZXM7CisgICAgICAgIExh
eWVyQ2hhbmdlIGV2ZXJDaGFuZ2VkUHJvcGVydGllczsKIAogICAgICAgICBTdHJpbmcgbmFtZTsK
ICAgICAgICAgVmVjdG9yPExheWVySUQ+IGNoaWxkcmVuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbSBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0KaW5kZXggZTg5
NDA3My4uM2Q5MDIxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1v
dGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFj
L1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tCkBAIC03MCw2ICs3MCw3IEBAIGJvb2wgUmVt
b3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OkxheWVyQ3JlYXRpb25Qcm9wZXJ0aWVzOjpkZWNvZGUo
Q29yZUlQQzo6QXJndW1lCiAKIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpMYXllclByb3Bl
cnRpZXM6OkxheWVyUHJvcGVydGllcygpCiAgICAgOiBjaGFuZ2VkUHJvcGVydGllcyhOb0NoYW5n
ZSkKKyAgICAsIGV2ZXJDaGFuZ2VkUHJvcGVydGllcyhOb0NoYW5nZSkKIHsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5
ZXJSZW1vdGUuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9QbGF0
Zm9ybUNBTGF5ZXJSZW1vdGUuY3BwCmluZGV4IDgwMDVkMDcuLjdjY2Q2OTAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUGxhdGZvcm1DQUxheWVyUmVt
b3RlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1BsYXRm
b3JtQ0FMYXllclJlbW90ZS5jcHAKQEAgLTU5LDcgKzU5LDcgQEAgc3RhdGljIFBsYXRmb3JtQ0FM
YXllclJlbW90ZSogdG9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGUoUGxhdGZvcm1DQUxheWVyKiBsYXll
cikKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UGxhdGZvcm1DQUxheWVyUmVtb3RlKj4obGF5ZXIp
OwogfQogCi1QYXNzUmVmUHRyPFBsYXRmb3JtQ0FMYXllcj4gUGxhdGZvcm1DQUxheWVyUmVtb3Rl
OjpjcmVhdGUoTGF5ZXJUeXBlIGxheWVyVHlwZSwgUGxhdGZvcm1DQUxheWVyQ2xpZW50KiBvd25l
ciwgUmVtb3RlTGF5ZXJUcmVlQ29udGV4dCogY29udGV4dCkKK1Bhc3NSZWZQdHI8UGxhdGZvcm1D
QUxheWVyUmVtb3RlPiBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU6OmNyZWF0ZShMYXllclR5cGUgbGF5
ZXJUeXBlLCBQbGF0Zm9ybUNBTGF5ZXJDbGllbnQqIG93bmVyLCBSZW1vdGVMYXllclRyZWVDb250
ZXh0KiBjb250ZXh0KQogewogICAgIFJlZlB0cjxQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU+IGxheWVy
OwogCkBAIC03Myw3ICs3Myw3IEBAIFBhc3NSZWZQdHI8UGxhdGZvcm1DQUxheWVyPiBQbGF0Zm9y
bUNBTGF5ZXJSZW1vdGU6OmNyZWF0ZShMYXllclR5cGUgbGF5ZXJUeXBlLCBQCiAgICAgcmV0dXJu
IGxheWVyLnJlbGVhc2UoKTsKIH0KIAotUGFzc1JlZlB0cjxQbGF0Zm9ybUNBTGF5ZXI+IFBsYXRm
b3JtQ0FMYXllclJlbW90ZTo6Y3JlYXRlKFBsYXRmb3JtTGF5ZXIgKnBsYXRmb3JtTGF5ZXIsIFBs
YXRmb3JtQ0FMYXllckNsaWVudCogb3duZXIsIFJlbW90ZUxheWVyVHJlZUNvbnRleHQqIGNvbnRl
eHQpCitQYXNzUmVmUHRyPFBsYXRmb3JtQ0FMYXllclJlbW90ZT4gUGxhdGZvcm1DQUxheWVyUmVt
b3RlOjpjcmVhdGUoUGxhdGZvcm1MYXllciAqcGxhdGZvcm1MYXllciwgUGxhdGZvcm1DQUxheWVy
Q2xpZW50KiBvd25lciwgUmVtb3RlTGF5ZXJUcmVlQ29udGV4dCogY29udGV4dCkKIHsKICAgICBS
ZWZQdHI8UGxhdGZvcm1DQUxheWVyUmVtb3RlPiBsYXllciA9IGFkb3B0UmVmKG5ldyBQbGF0Zm9y
bUNBTGF5ZXJSZW1vdGVDdXN0b20oc3RhdGljX2Nhc3Q8UGxhdGZvcm1MYXllcio+KHBsYXRmb3Jt
TGF5ZXIpLCBvd25lciwgY29udGV4dCkpOwogCkBAIC04Niw2ICs4Niw3IEBAIFBsYXRmb3JtQ0FM
YXllclJlbW90ZTo6UGxhdGZvcm1DQUxheWVyUmVtb3RlKExheWVyVHlwZSBsYXllclR5cGUsIFBs
YXRmb3JtQ0FMYXllCiAgICAgOiBQbGF0Zm9ybUNBTGF5ZXIobGF5ZXJUeXBlLCBvd25lcikKICAg
ICAsIG1fbGF5ZXJJRChnZW5lcmF0ZUxheWVySUQoKSkKICAgICAsIG1fc3VwZXJsYXllcihudWxs
cHRyKQorICAgICwgbV9tYXNrTGF5ZXIobnVsbHB0cikKICAgICAsIG1fYWNjZWxlcmF0ZXNEcmF3
aW5nKGZhbHNlKQogICAgICwgbV9jb250ZXh0KGNvbnRleHQpCiB7CkBAIC05Myw5ICs5NCwxNCBA
QCBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU6OlBsYXRmb3JtQ0FMYXllclJlbW90ZShMYXllclR5cGUg
bGF5ZXJUeXBlLCBQbGF0Zm9ybUNBTGF5ZQogICAgIHNldENvbnRlbnRzU2NhbGUoMSk7CiB9CiAK
LVBhc3NSZWZQdHI8UGxhdGZvcm1DQUxheWVyPiBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU6OmNsb25l
KFBsYXRmb3JtQ0FMYXllckNsaWVudCogb3duZXIpIGNvbnN0CitQYXNzUmVmUHRyPFBsYXRmb3Jt
Q0FMYXllcj4gUGxhdGZvcm1DQUxheWVyUmVtb3RlOjpjbG9uZShQbGF0Zm9ybUNBTGF5ZXJDbGll
bnQqIGNsaWVudCkgY29uc3QKIHsKLSAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBSZWZQdHI8UGxh
dGZvcm1DQUxheWVyUmVtb3RlPiBjbG9uZSA9IFBsYXRmb3JtQ0FMYXllclJlbW90ZTo6Y3JlYXRl
KGxheWVyVHlwZSgpLCBjbGllbnQsIG1fY29udGV4dCk7CisKKyAgICBjbG9uZS0+bV9wcm9wZXJ0
aWVzID0gbV9wcm9wZXJ0aWVzOworICAgIGNsb25lLT5tX3Byb3BlcnRpZXMubm90ZVByb3BlcnRp
ZXNDaGFuZ2VkKHN0YXRpY19jYXN0PFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpMYXllckNo
YW5nZT4obV9wcm9wZXJ0aWVzLmV2ZXJDaGFuZ2VkUHJvcGVydGllcyAmIH5SZW1vdGVMYXllclRy
ZWVUcmFuc2FjdGlvbjo6QmFja2luZ1N0b3JlQ2hhbmdlZCkpOworCisgICAgcmV0dXJuIGNsb25l
LnJlbGVhc2UoKTsKIH0KIAogUGxhdGZvcm1DQUxheWVyUmVtb3RlOjp+UGxhdGZvcm1DQUxheWVy
UmVtb3RlKCkKQEAgLTEzMiw2ICsxMzgsOSBAQCB2b2lkIFBsYXRmb3JtQ0FMYXllclJlbW90ZTo6
cmVjdXJzaXZlQnVpbGRUcmFuc2FjdGlvbihSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbgogICAg
ICAgICBBU1NFUlQoY2hpbGQtPnN1cGVybGF5ZXIoKSA9PSB0aGlzKTsKICAgICAgICAgY2hpbGQt
PnJlY3Vyc2l2ZUJ1aWxkVHJhbnNhY3Rpb24odHJhbnNhY3Rpb24pOwogICAgIH0KKworICAgIGlm
IChtX21hc2tMYXllcikKKyAgICAgICAgbV9tYXNrTGF5ZXItPnJlY3Vyc2l2ZUJ1aWxkVHJhbnNh
Y3Rpb24odHJhbnNhY3Rpb24pOwogfQogCiB2b2lkIFBsYXRmb3JtQ0FMYXllclJlbW90ZTo6YW5p
bWF0aW9uU3RhcnRlZChDRlRpbWVJbnRlcnZhbCBiZWdpblRpbWUpCkBAIC0yNjQsNyArMjczLDgg
QEAgUGFzc1JlZlB0cjxQbGF0Zm9ybUNBQW5pbWF0aW9uPiBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU6
OmFuaW1hdGlvbkZvcktleShjb25zdCBTdHIKIAogdm9pZCBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU6
OnNldE1hc2soUGxhdGZvcm1DQUxheWVyKiBsYXllcikKIHsKLSAgICBtX3Byb3BlcnRpZXMubWFz
a0xheWVyID0gdG9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGUobGF5ZXIpLT5sYXllcklEKCk7CisgICAg
bV9tYXNrTGF5ZXIgPSB0b1BsYXRmb3JtQ0FMYXllclJlbW90ZShsYXllcik7CisgICAgbV9wcm9w
ZXJ0aWVzLm1hc2tMYXllciA9IG1fbWFza0xheWVyLT5sYXllcklEKCk7CiAgICAgbV9wcm9wZXJ0
aWVzLm5vdGVQcm9wZXJ0aWVzQ2hhbmdlZChSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6TWFz
a0xheWVyQ2hhbmdlZCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9tYWMvUGxhdGZvcm1DQUxheWVyUmVtb3RlLmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1BsYXRmb3JtQ0FMYXllclJlbW90ZS5oCmluZGV4IDdjN2Qw
NjUuLjhjYjA0NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvUGxhdGZvcm1DQUxheWVyUmVtb3RlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGUuaApAQCAtMzksOCArMzksOCBA
QCBjbGFzcyBSZW1vdGVMYXllclRyZWVDb250ZXh0OwogCiBjbGFzcyBQbGF0Zm9ybUNBTGF5ZXJS
ZW1vdGUgOiBwdWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyIHsKIHB1YmxpYzoKLSAgICBz
dGF0aWMgUGFzc1JlZlB0cjxQbGF0Zm9ybUNBTGF5ZXI+IGNyZWF0ZShXZWJDb3JlOjpQbGF0Zm9y
bUNBTGF5ZXI6OkxheWVyVHlwZSwgV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyQ2xpZW50KiwgUmVt
b3RlTGF5ZXJUcmVlQ29udGV4dCopOwotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBsYXRmb3JtQ0FM
YXllcj4gY3JlYXRlKFBsYXRmb3JtTGF5ZXIgKiwgV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyQ2xp
ZW50KiwgUmVtb3RlTGF5ZXJUcmVlQ29udGV4dCopOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBs
YXRmb3JtQ0FMYXllclJlbW90ZT4gY3JlYXRlKFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllcjo6TGF5
ZXJUeXBlLCBXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXJDbGllbnQqLCBSZW1vdGVMYXllclRyZWVD
b250ZXh0Kik7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8UGxhdGZvcm1DQUxheWVyUmVtb3RlPiBj
cmVhdGUoUGxhdGZvcm1MYXllciAqLCBXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXJDbGllbnQqLCBS
ZW1vdGVMYXllclRyZWVDb250ZXh0Kik7CiAKICAgICB2aXJ0dWFsIH5QbGF0Zm9ybUNBTGF5ZXJS
ZW1vdGUoKTsKIApAQCAtMTYxLDYgKzE2MSw3IEBAIHByaXZhdGU6CiAgICAgUmVtb3RlTGF5ZXJU
cmVlVHJhbnNhY3Rpb246OkxheWVyUHJvcGVydGllcyBtX3Byb3BlcnRpZXM7CiAgICAgV2ViQ29y
ZTo6UGxhdGZvcm1DQUxheWVyTGlzdCBtX2NoaWxkcmVuOwogICAgIFBsYXRmb3JtQ0FMYXllclJl
bW90ZSogbV9zdXBlcmxheWVyOworICAgIFBsYXRmb3JtQ0FMYXllclJlbW90ZSogbV9tYXNrTGF5
ZXI7CiAgICAgYm9vbCBtX2FjY2VsZXJhdGVzRHJhd2luZzsKIAogICAgIFJlbW90ZUxheWVyVHJl
ZUNvbnRleHQqIG1fY29udGV4dDsK
</data>
<flag name="review"
          id="241065"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218215</attachid>
            <date>2013-12-02 14:25:07 -0800</date>
            <delta_ts>2013-12-02 14:28:12 -0800</delta_ts>
            <desc>fix comments except cast</desc>
            <filename>clone.diff</filename>
            <type>text/plain</type>
            <size>12385</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBjZmExZDM4Li40NWMzNDkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTEg
QEAKKzIwMTMtMTItMDIgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgUmVtb3RlIExheWVyIFRyZWU6IFN1cHBvcnQgY2xvbmluZyBsYXllcnMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDg3NAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMTUzNDk0Njg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2UgdXNlIFBsYXRmb3JtQ0FMYXllcjo6Y2xvbmUgZm9yIENT
UyByZWZsZWN0aW9ucywgc28gaW1wbGVtZW50IGl0LgorCisgICAgICAgIEFsc28sIHNpbmNlIG1h
bnkgcmVmbGVjdGlvbnMgdGVzdGNhc2VzIGFsc28gdXNlIG1hc2tzLAorICAgICAgICB3b3JraW5n
IG9uIHRoaXMgcmV2ZWFsZWQgdGhhdCBtYXNrcyB3ZXJlbid0IHdvcmtpbmcsIGJlY2F1c2UKKyAg
ICAgICAgd2Ugd2VyZW4ndCBmbHVzaGluZyBtYXNrIGxheWVycy4KKworICAgICAgICAqIFNoYXJl
ZC9tYWMvUmVtb3RlTGF5ZXJUcmVlUHJvcGVydHlBcHBsaWVyLm1tOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVMYXllclRyZWVQcm9wZXJ0eUFwcGxpZXI6OmFwcGx5UHJvcGVydGllc1RvTGF5ZXIp
OgorICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW06Cisg
ICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpMYXllclByb3BlcnRp
ZXM6OkxheWVyUHJvcGVydGllcyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRy
YW5zYWN0aW9uOjpMYXllclByb3BlcnRpZXM6OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6OlJl
bW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpMYXllclByb3BlcnRpZXM6OmRlY29kZSk6CisgICAg
ICAgIFJlbmFtZSBtYXNrTGF5ZXItPm1hc2tMYXllcklEIHNpbmNlIGl0J3MgYSBMYXllcklELgor
CisgICAgICAgICogVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVIb3N0Lm1tOgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVMYXllclRyZWVIb3N0Ojpjb21taXQpOgorICAgICAgICBEb24ndCB0
cnkgdG8gbG9vayB1cCB0aGUgbGF5ZXIgaWYgaXQncyBudWxsLgorCisgICAgICAgICogU2hhcmVk
L21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oOgorICAgICAgICAoV2ViS2l0OjpSZW1v
dGVMYXllclRyZWVUcmFuc2FjdGlvbjo6TGF5ZXJQcm9wZXJ0aWVzOjpub3RlUHJvcGVydGllc0No
YW5nZWQpOgorICAgICAgICAqIFNoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24u
bW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpMYXllclBy
b3BlcnRpZXM6OkxheWVyUHJvcGVydGllcyk6CisgICAgICAgIEtlZXAgdHJhY2sgb2YgYWxsIHBy
b3BlcnRpZXMgdGhhdCBoYXZlIGV2ZXIgYmVlbiBjaGFuZ2VkIG9uIGEgbGF5ZXIuCisKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1BsYXRmb3JtQ0FMYXllclJlbW90ZS5jcHA6Cisg
ICAgICAgIChQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU6OmNyZWF0ZSk6CisgICAgICAgIChQbGF0Zm9y
bUNBTGF5ZXJSZW1vdGU6OlBsYXRmb3JtQ0FMYXllclJlbW90ZSk6CisgICAgICAgIChQbGF0Zm9y
bUNBTGF5ZXJSZW1vdGU6OmNsb25lKToKKyAgICAgICAgQ29weSBhbGwgb2YgdGhlIGxheWVyIHBy
b3BlcnRpZXMgZnJvbSB0aGUgb3JpZ2luYWwgdG8gdGhlIGNsb25lLAorICAgICAgICBhbmQgbWFy
ayBhbGwgcHJvcGVydGllcyB0aGF0IGhhdmUgZXZlciBiZWVuIG1vZGlmaWVkIGFzCisgICAgICAg
IG5lZWRpbmcgdG8gYmUgZmx1c2hlZCB0byB0aGUgVUkgcHJvY2Vzcy4KKworICAgICAgICAoUGxh
dGZvcm1DQUxheWVyUmVtb3RlOjpyZWN1cnNpdmVCdWlsZFRyYW5zYWN0aW9uKToKKyAgICAgICAg
Rmx1c2ggb3VyIG1hc2sgbGF5ZXIsIGlmIHdlIGhhdmUgb25lLgorCisgICAgICAgIChQbGF0Zm9y
bUNBTGF5ZXJSZW1vdGU6OnNldE1hc2spOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9t
YWMvUGxhdGZvcm1DQUxheWVyUmVtb3RlLmg6CisgICAgICAgIFN0b3JlIHRoZSBtYXNrIGxheWVy
IHdlJ3JlIGdpdmVuLiBPdXIgb3duaW5nIEdyYXBoaWNzTGF5ZXIgd2lsbAorICAgICAgICBob2xk
IG9uIHRvIGl0IGZvciB1cy4KKwogMjAxMy0xMi0wMiAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgQWRkIGEgc2V0dGluZyB0byBvcHQgaW50byBhIG1vZGUgd2hlcmUg
dGhlIGJhY2tncm91bmQgZXh0ZW5kcyBhbmQgZml4ZWQgZWxlbWVudHMgCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVByb3BlcnR5QXBwbGllci5t
bSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlUHJvcGVydHlBcHBs
aWVyLm1tCmluZGV4IGQ5MDgwZDIuLjc2OTVlYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlUHJvcGVydHlBcHBsaWVyLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlUHJvcGVydHlBcHBsaWVyLm1tCkBA
IC0xMTYsMTAgKzExNiwxNCBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZVByb3BlcnR5QXBwbGllcjo6
YXBwbHlQcm9wZXJ0aWVzVG9MYXllcihDQUxheWVyICpsYXllciwgUmVtbwogICAgICAgICBsYXll
ci5vcGFxdWUgPSBwcm9wZXJ0aWVzLm9wYXF1ZTsKIAogICAgIGlmIChwcm9wZXJ0aWVzLmNoYW5n
ZWRQcm9wZXJ0aWVzICYgUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246Ok1hc2tMYXllckNoYW5n
ZWQpIHsKLSAgICAgICAgQ0FMYXllciAqbWFza0xheWVyID0gcmVsYXRlZExheWVycy5nZXQocHJv
cGVydGllcy5tYXNrTGF5ZXIpOwotICAgICAgICBBU1NFUlQoIW1hc2tMYXllci5zdXBlcmxheWVy
KTsKLSAgICAgICAgaWYgKCFtYXNrTGF5ZXIuc3VwZXJsYXllcikKLSAgICAgICAgICAgIGxheWVy
Lm1hc2sgPSBtYXNrTGF5ZXI7CisgICAgICAgIGlmICghcHJvcGVydGllcy5tYXNrTGF5ZXJJRCkK
KyAgICAgICAgICAgIGxheWVyLm1hc2sgPSBudWxscHRyOworICAgICAgICBlbHNlIHsKKyAgICAg
ICAgICAgIENBTGF5ZXIgKm1hc2tMYXllciA9IHJlbGF0ZWRMYXllcnMuZ2V0KHByb3BlcnRpZXMu
bWFza0xheWVySUQpOworICAgICAgICAgICAgQVNTRVJUKCFtYXNrTGF5ZXIuc3VwZXJsYXllcik7
CisgICAgICAgICAgICBpZiAoIW1hc2tMYXllci5zdXBlcmxheWVyKQorICAgICAgICAgICAgICAg
IGxheWVyLm1hc2sgPSBtYXNrTGF5ZXI7CisgICAgICAgIH0KICAgICB9CiAKICAgICBpZiAocHJv
cGVydGllcy5jaGFuZ2VkUHJvcGVydGllcyAmIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpD
b250ZW50c1JlY3RDaGFuZ2VkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21h
Yy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21h
Yy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oCmluZGV4IDQ3MDExNzMuLjY5OTU0ZTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNh
Y3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRy
YW5zYWN0aW9uLmgKQEAgLTk3LDkgKzk3LDE0IEBAIHB1YmxpYzoKICAgICAgICAgdm9pZCBlbmNv
ZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJikgY29uc3Q7CiAgICAgICAgIHN0YXRpYyBib29s
IGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXImLCBMYXllclByb3BlcnRpZXMmKTsKIAot
ICAgICAgICB2b2lkIG5vdGVQcm9wZXJ0aWVzQ2hhbmdlZChMYXllckNoYW5nZSBsYXllckNoYW5n
ZXMpIHsgY2hhbmdlZFByb3BlcnRpZXMgPSBzdGF0aWNfY2FzdDxMYXllckNoYW5nZT4oY2hhbmdl
ZFByb3BlcnRpZXMgfCBsYXllckNoYW5nZXMpOyB9CisgICAgICAgIHZvaWQgbm90ZVByb3BlcnRp
ZXNDaGFuZ2VkKExheWVyQ2hhbmdlIGxheWVyQ2hhbmdlcykKKyAgICAgICAgeworICAgICAgICAg
ICAgY2hhbmdlZFByb3BlcnRpZXMgPSBzdGF0aWNfY2FzdDxMYXllckNoYW5nZT4oY2hhbmdlZFBy
b3BlcnRpZXMgfCBsYXllckNoYW5nZXMpOworICAgICAgICAgICAgZXZlckNoYW5nZWRQcm9wZXJ0
aWVzID0gc3RhdGljX2Nhc3Q8TGF5ZXJDaGFuZ2U+KGV2ZXJDaGFuZ2VkUHJvcGVydGllcyB8IGxh
eWVyQ2hhbmdlcyk7CisgICAgICAgIH0KIAogICAgICAgICBMYXllckNoYW5nZSBjaGFuZ2VkUHJv
cGVydGllczsKKyAgICAgICAgTGF5ZXJDaGFuZ2UgZXZlckNoYW5nZWRQcm9wZXJ0aWVzOwogCiAg
ICAgICAgIFN0cmluZyBuYW1lOwogICAgICAgICBWZWN0b3I8TGF5ZXJJRD4gY2hpbGRyZW47CkBA
IC0xMTcsNyArMTIyLDcgQEAgcHVibGljOgogICAgICAgICBib29sIGRvdWJsZVNpZGVkOwogICAg
ICAgICBib29sIG1hc2tzVG9Cb3VuZHM7CiAgICAgICAgIGJvb2wgb3BhcXVlOwotICAgICAgICBM
YXllcklEIG1hc2tMYXllcjsKKyAgICAgICAgTGF5ZXJJRCBtYXNrTGF5ZXJJRDsKICAgICAgICAg
V2ViQ29yZTo6RmxvYXRSZWN0IGNvbnRlbnRzUmVjdDsKICAgICAgICAgZmxvYXQgY29udGVudHNT
Y2FsZTsKICAgICAgICAgV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyOjpGaWx0ZXJUeXBlIG1pbmlm
aWNhdGlvbkZpbHRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVt
b3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1Jl
bW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tCmluZGV4IGU4OTQwNzMuLjdlOTM5MzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rp
b24ubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFu
c2FjdGlvbi5tbQpAQCAtNzAsNiArNzAsNyBAQCBib29sIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0
aW9uOjpMYXllckNyZWF0aW9uUHJvcGVydGllczo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZQogCiBS
ZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6TGF5ZXJQcm9wZXJ0aWVzOjpMYXllclByb3BlcnRp
ZXMoKQogICAgIDogY2hhbmdlZFByb3BlcnRpZXMoTm9DaGFuZ2UpCisgICAgLCBldmVyQ2hhbmdl
ZFByb3BlcnRpZXMoTm9DaGFuZ2UpCiB7CiB9CiAKQEAgLTEyNiw3ICsxMjcsNyBAQCB2b2lkIFJl
bW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpMYXllclByb3BlcnRpZXM6OmVuY29kZShDb3JlSVBD
OjpBcmd1bWVudEVuY29kZQogICAgICAgICBlbmNvZGVyIDw8IG9wYXF1ZTsKIAogICAgIGlmIChj
aGFuZ2VkUHJvcGVydGllcyAmIE1hc2tMYXllckNoYW5nZWQpCi0gICAgICAgIGVuY29kZXIgPDwg
bWFza0xheWVyOworICAgICAgICBlbmNvZGVyIDw8IG1hc2tMYXllcklEOwogCiAgICAgaWYgKGNo
YW5nZWRQcm9wZXJ0aWVzICYgQ29udGVudHNSZWN0Q2hhbmdlZCkKICAgICAgICAgZW5jb2RlciA8
PCBjb250ZW50c1JlY3Q7CkBAIC0yNDcsNyArMjQ4LDcgQEAgYm9vbCBSZW1vdGVMYXllclRyZWVU
cmFuc2FjdGlvbjo6TGF5ZXJQcm9wZXJ0aWVzOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNv
ZGUKICAgICB9CiAKICAgICBpZiAocmVzdWx0LmNoYW5nZWRQcm9wZXJ0aWVzICYgTWFza0xheWVy
Q2hhbmdlZCkgewotICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5tYXNrTGF5ZXIp
KQorICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5tYXNrTGF5ZXJJRCkpCiAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCkBAIC02MDksNyArNjEwLDcgQEAgc3RhdGlj
IHZvaWQgZHVtcENoYW5nZWRMYXllcnMoUmVtb3RlTGF5ZXJUcmVlVGV4dFN0cmVhbSYgdHMsIGNv
bnN0IEhhc2hNYXA8UmVtb3QKICAgICAgICAgICAgIGR1bXBQcm9wZXJ0eTxib29sPih0cywgIm9w
YXF1ZSIsIGxheWVyUHJvcGVydGllcy5vcGFxdWUpOwogCiAgICAgICAgIGlmIChsYXllclByb3Bl
cnRpZXMuY2hhbmdlZFByb3BlcnRpZXMgJiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6TWFz
a0xheWVyQ2hhbmdlZCkKLSAgICAgICAgICAgIGR1bXBQcm9wZXJ0eTxSZW1vdGVMYXllclRyZWVU
cmFuc2FjdGlvbjo6TGF5ZXJJRD4odHMsICJtYXNrTGF5ZXIiLCBsYXllclByb3BlcnRpZXMubWFz
a0xheWVyKTsKKyAgICAgICAgICAgIGR1bXBQcm9wZXJ0eTxSZW1vdGVMYXllclRyZWVUcmFuc2Fj
dGlvbjo6TGF5ZXJJRD4odHMsICJtYXNrTGF5ZXIiLCBsYXllclByb3BlcnRpZXMubWFza0xheWVy
SUQpOwogCiAgICAgICAgIGlmIChsYXllclByb3BlcnRpZXMuY2hhbmdlZFByb3BlcnRpZXMgJiBS
ZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6Q29udGVudHNSZWN0Q2hhbmdlZCkKICAgICAgICAg
ICAgIGR1bXBQcm9wZXJ0eTxGbG9hdFJlY3Q+KHRzLCAiY29udGVudHNSZWN0IiwgbGF5ZXJQcm9w
ZXJ0aWVzLmNvbnRlbnRzUmVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvbWFjL1JlbW90ZUxheWVyVHJlZUhvc3QubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1JlbW90ZUxheWVyVHJlZUhvc3QubW0KaW5kZXggNTlhOTJhZS4uYzQzNDJhYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVIb3N0Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJUcmVlSG9zdC5t
bQpAQCAtODAsOCArODAsOCBAQCB2b2lkIFJlbW90ZUxheWVyVHJlZUhvc3Q6OmNvbW1pdChjb25z
dCBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24pCiAgICAgICAgICAgICAg
ICAgcmVsYXRlZExheWVycy5zZXQoY2hpbGQsIGdldExheWVyKGNoaWxkKSk7CiAgICAgICAgIH0K
IAotICAgICAgICBpZiAocHJvcGVydGllcy5jaGFuZ2VkUHJvcGVydGllcyAmIFJlbW90ZUxheWVy
VHJlZVRyYW5zYWN0aW9uOjpNYXNrTGF5ZXJDaGFuZ2VkKQotICAgICAgICAgICAgcmVsYXRlZExh
eWVycy5zZXQocHJvcGVydGllcy5tYXNrTGF5ZXIsIGdldExheWVyKHByb3BlcnRpZXMubWFza0xh
eWVyKSk7CisgICAgICAgIGlmIChwcm9wZXJ0aWVzLmNoYW5nZWRQcm9wZXJ0aWVzICYgUmVtb3Rl
TGF5ZXJUcmVlVHJhbnNhY3Rpb246Ok1hc2tMYXllckNoYW5nZWQgJiYgcHJvcGVydGllcy5tYXNr
TGF5ZXJJRCkKKyAgICAgICAgICAgIHJlbGF0ZWRMYXllcnMuc2V0KHByb3BlcnRpZXMubWFza0xh
eWVySUQsIGdldExheWVyKHByb3BlcnRpZXMubWFza0xheWVySUQpKTsKIAogICAgICAgICBSZW1v
dGVMYXllclRyZWVQcm9wZXJ0eUFwcGxpZXI6OmFwcGx5UHJvcGVydGllc1RvTGF5ZXIobGF5ZXIs
IHByb3BlcnRpZXMsIHJlbGF0ZWRMYXllcnMpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUGxhdGZvcm1DQUxheWVyUmVtb3RlLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvUGxhdGZvcm1DQUxheWVyUmVt
b3RlLmNwcAppbmRleCA4MDA1ZDA3Li4wMjk1YzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1BsYXRmb3JtQ0FMYXllclJlbW90ZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1v
dGUuY3BwCkBAIC01OSw3ICs1OSw3IEBAIHN0YXRpYyBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUqIHRv
UGxhdGZvcm1DQUxheWVyUmVtb3RlKFBsYXRmb3JtQ0FMYXllciogbGF5ZXIpCiAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PFBsYXRmb3JtQ0FMYXllclJlbW90ZSo+KGxheWVyKTsKIH0KIAotUGFzc1Jl
ZlB0cjxQbGF0Zm9ybUNBTGF5ZXI+IFBsYXRmb3JtQ0FMYXllclJlbW90ZTo6Y3JlYXRlKExheWVy
VHlwZSBsYXllclR5cGUsIFBsYXRmb3JtQ0FMYXllckNsaWVudCogb3duZXIsIFJlbW90ZUxheWVy
VHJlZUNvbnRleHQqIGNvbnRleHQpCitQYXNzUmVmUHRyPFBsYXRmb3JtQ0FMYXllclJlbW90ZT4g
UGxhdGZvcm1DQUxheWVyUmVtb3RlOjpjcmVhdGUoTGF5ZXJUeXBlIGxheWVyVHlwZSwgUGxhdGZv
cm1DQUxheWVyQ2xpZW50KiBvd25lciwgUmVtb3RlTGF5ZXJUcmVlQ29udGV4dCogY29udGV4dCkK
IHsKICAgICBSZWZQdHI8UGxhdGZvcm1DQUxheWVyUmVtb3RlPiBsYXllcjsKIApAQCAtNzMsNyAr
NzMsNyBAQCBQYXNzUmVmUHRyPFBsYXRmb3JtQ0FMYXllcj4gUGxhdGZvcm1DQUxheWVyUmVtb3Rl
OjpjcmVhdGUoTGF5ZXJUeXBlIGxheWVyVHlwZSwgUAogICAgIHJldHVybiBsYXllci5yZWxlYXNl
KCk7CiB9CiAKLVBhc3NSZWZQdHI8UGxhdGZvcm1DQUxheWVyPiBQbGF0Zm9ybUNBTGF5ZXJSZW1v
dGU6OmNyZWF0ZShQbGF0Zm9ybUxheWVyICpwbGF0Zm9ybUxheWVyLCBQbGF0Zm9ybUNBTGF5ZXJD
bGllbnQqIG93bmVyLCBSZW1vdGVMYXllclRyZWVDb250ZXh0KiBjb250ZXh0KQorUGFzc1JlZlB0
cjxQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU+IFBsYXRmb3JtQ0FMYXllclJlbW90ZTo6Y3JlYXRlKFBs
YXRmb3JtTGF5ZXIgKnBsYXRmb3JtTGF5ZXIsIFBsYXRmb3JtQ0FMYXllckNsaWVudCogb3duZXIs
IFJlbW90ZUxheWVyVHJlZUNvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgUmVmUHRyPFBsYXRmb3Jt
Q0FMYXllclJlbW90ZT4gbGF5ZXIgPSBhZG9wdFJlZihuZXcgUGxhdGZvcm1DQUxheWVyUmVtb3Rl
Q3VzdG9tKHN0YXRpY19jYXN0PFBsYXRmb3JtTGF5ZXIqPihwbGF0Zm9ybUxheWVyKSwgb3duZXIs
IGNvbnRleHQpKTsKIApAQCAtODYsNiArODYsNyBAQCBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU6OlBs
YXRmb3JtQ0FMYXllclJlbW90ZShMYXllclR5cGUgbGF5ZXJUeXBlLCBQbGF0Zm9ybUNBTGF5ZQog
ICAgIDogUGxhdGZvcm1DQUxheWVyKGxheWVyVHlwZSwgb3duZXIpCiAgICAgLCBtX2xheWVySUQo
Z2VuZXJhdGVMYXllcklEKCkpCiAgICAgLCBtX3N1cGVybGF5ZXIobnVsbHB0cikKKyAgICAsIG1f
bWFza0xheWVyKG51bGxwdHIpCiAgICAgLCBtX2FjY2VsZXJhdGVzRHJhd2luZyhmYWxzZSkKICAg
ICAsIG1fY29udGV4dChjb250ZXh0KQogewpAQCAtOTMsOSArOTQsMTQgQEAgUGxhdGZvcm1DQUxh
eWVyUmVtb3RlOjpQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUoTGF5ZXJUeXBlIGxheWVyVHlwZSwgUGxh
dGZvcm1DQUxheWUKICAgICBzZXRDb250ZW50c1NjYWxlKDEpOwogfQogCi1QYXNzUmVmUHRyPFBs
YXRmb3JtQ0FMYXllcj4gUGxhdGZvcm1DQUxheWVyUmVtb3RlOjpjbG9uZShQbGF0Zm9ybUNBTGF5
ZXJDbGllbnQqIG93bmVyKSBjb25zdAorUGFzc1JlZlB0cjxQbGF0Zm9ybUNBTGF5ZXI+IFBsYXRm
b3JtQ0FMYXllclJlbW90ZTo6Y2xvbmUoUGxhdGZvcm1DQUxheWVyQ2xpZW50KiBjbGllbnQpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIG51bGxwdHI7CisgICAgUmVmUHRyPFBsYXRmb3JtQ0FMYXllclJl
bW90ZT4gY2xvbmUgPSBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU6OmNyZWF0ZShsYXllclR5cGUoKSwg
Y2xpZW50LCBtX2NvbnRleHQpOworCisgICAgY2xvbmUtPm1fcHJvcGVydGllcyA9IG1fcHJvcGVy
dGllczsKKyAgICBjbG9uZS0+bV9wcm9wZXJ0aWVzLm5vdGVQcm9wZXJ0aWVzQ2hhbmdlZChzdGF0
aWNfY2FzdDxSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6TGF5ZXJDaGFuZ2U+KG1fcHJvcGVy
dGllcy5ldmVyQ2hhbmdlZFByb3BlcnRpZXMgJiB+UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246
OkJhY2tpbmdTdG9yZUNoYW5nZWQpKTsKKworICAgIHJldHVybiBjbG9uZS5yZWxlYXNlKCk7CiB9
CiAKIFBsYXRmb3JtQ0FMYXllclJlbW90ZTo6flBsYXRmb3JtQ0FMYXllclJlbW90ZSgpCkBAIC0x
MzIsNiArMTM4LDkgQEAgdm9pZCBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU6OnJlY3Vyc2l2ZUJ1aWxk
VHJhbnNhY3Rpb24oUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24KICAgICAgICAgQVNTRVJUKGNo
aWxkLT5zdXBlcmxheWVyKCkgPT0gdGhpcyk7CiAgICAgICAgIGNoaWxkLT5yZWN1cnNpdmVCdWls
ZFRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uKTsKICAgICB9CisKKyAgICBpZiAobV9tYXNrTGF5ZXIp
CisgICAgICAgIG1fbWFza0xheWVyLT5yZWN1cnNpdmVCdWlsZFRyYW5zYWN0aW9uKHRyYW5zYWN0
aW9uKTsKIH0KIAogdm9pZCBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU6OmFuaW1hdGlvblN0YXJ0ZWQo
Q0ZUaW1lSW50ZXJ2YWwgYmVnaW5UaW1lKQpAQCAtMjY0LDcgKzI3MywxNCBAQCBQYXNzUmVmUHRy
PFBsYXRmb3JtQ0FBbmltYXRpb24+IFBsYXRmb3JtQ0FMYXllclJlbW90ZTo6YW5pbWF0aW9uRm9y
S2V5KGNvbnN0IFN0cgogCiB2b2lkIFBsYXRmb3JtQ0FMYXllclJlbW90ZTo6c2V0TWFzayhQbGF0
Zm9ybUNBTGF5ZXIqIGxheWVyKQogewotICAgIG1fcHJvcGVydGllcy5tYXNrTGF5ZXIgPSB0b1Bs
YXRmb3JtQ0FMYXllclJlbW90ZShsYXllciktPmxheWVySUQoKTsKKyAgICBpZiAobGF5ZXIpIHsK
KyAgICAgICAgbV9tYXNrTGF5ZXIgPSB0b1BsYXRmb3JtQ0FMYXllclJlbW90ZShsYXllcik7Cisg
ICAgICAgIG1fcHJvcGVydGllcy5tYXNrTGF5ZXJJRCA9IG1fbWFza0xheWVyLT5sYXllcklEKCk7
CisgICAgfSBlbHNlIHsKKyAgICAgICAgbV9tYXNrTGF5ZXIgPSBudWxscHRyOworICAgICAgICBt
X3Byb3BlcnRpZXMubWFza0xheWVySUQgPSAwOworICAgIH0KKwogICAgIG1fcHJvcGVydGllcy5u
b3RlUHJvcGVydGllc0NoYW5nZWQoUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246Ok1hc2tMYXll
ckNoYW5nZWQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1BsYXRmb3JtQ0FMYXllclJlbW90ZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGUuaAppbmRleCA3YzdkMDY1Li44
Y2IwNDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1BsYXRmb3JtQ0FMYXllclJlbW90ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9tYWMvUGxhdGZvcm1DQUxheWVyUmVtb3RlLmgKQEAgLTM5LDggKzM5LDggQEAgY2xh
c3MgUmVtb3RlTGF5ZXJUcmVlQ29udGV4dDsKIAogY2xhc3MgUGxhdGZvcm1DQUxheWVyUmVtb3Rl
IDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllciB7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8UGxhdGZvcm1DQUxheWVyPiBjcmVhdGUoV2ViQ29yZTo6UGxhdGZvcm1DQUxh
eWVyOjpMYXllclR5cGUsIFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllckNsaWVudCosIFJlbW90ZUxh
eWVyVHJlZUNvbnRleHQqKTsKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxQbGF0Zm9ybUNBTGF5ZXI+
IGNyZWF0ZShQbGF0Zm9ybUxheWVyICosIFdlYkNvcmU6OlBsYXRmb3JtQ0FMYXllckNsaWVudCos
IFJlbW90ZUxheWVyVHJlZUNvbnRleHQqKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxQbGF0Zm9y
bUNBTGF5ZXJSZW1vdGU+IGNyZWF0ZShXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXI6OkxheWVyVHlw
ZSwgV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyQ2xpZW50KiwgUmVtb3RlTGF5ZXJUcmVlQ29udGV4
dCopOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFBsYXRmb3JtQ0FMYXllclJlbW90ZT4gY3JlYXRl
KFBsYXRmb3JtTGF5ZXIgKiwgV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyQ2xpZW50KiwgUmVtb3Rl
TGF5ZXJUcmVlQ29udGV4dCopOwogCiAgICAgdmlydHVhbCB+UGxhdGZvcm1DQUxheWVyUmVtb3Rl
KCk7CiAKQEAgLTE2MSw2ICsxNjEsNyBAQCBwcml2YXRlOgogICAgIFJlbW90ZUxheWVyVHJlZVRy
YW5zYWN0aW9uOjpMYXllclByb3BlcnRpZXMgbV9wcm9wZXJ0aWVzOwogICAgIFdlYkNvcmU6OlBs
YXRmb3JtQ0FMYXllckxpc3QgbV9jaGlsZHJlbjsKICAgICBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUq
IG1fc3VwZXJsYXllcjsKKyAgICBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUqIG1fbWFza0xheWVyOwog
ICAgIGJvb2wgbV9hY2NlbGVyYXRlc0RyYXdpbmc7CiAKICAgICBSZW1vdGVMYXllclRyZWVDb250
ZXh0KiBtX2NvbnRleHQ7Cg==
</data>
<flag name="review"
          id="241577"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>