<?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>109079</bug_id>
          
          <creation_ts>2013-02-06 11:32:09 -0800</creation_ts>
          <short_desc>[Text Autosizing] Cleanup change: converted the pointer argument to be a reference since non-null pointer is always expected</short_desc>
          <delta_ts>2013-02-09 10:35:43 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Android</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anton Vayvod">avayvod</reporter>
          <assigned_to name="Anton Vayvod">avayvod</assigned_to>
          <cc>eric</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>johnme</cc>
    
    <cc>kenneth</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>826596</commentid>
    <comment_count>0</comment_count>
    <who name="Anton Vayvod">avayvod</who>
    <bug_when>2013-02-06 11:32:09 -0800</bug_when>
    <thetext>[Text Autosizing] Cleanup change: converter the pointer argument to be a reference since non-null pointer is always expected</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826598</commentid>
    <comment_count>1</comment_count>
      <attachid>186884</attachid>
    <who name="Anton Vayvod">avayvod</who>
    <bug_when>2013-02-06 11:34:46 -0800</bug_when>
    <thetext>Created attachment 186884
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826613</commentid>
    <comment_count>2</comment_count>
      <attachid>186884</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-02-06 11:48:26 -0800</bug_when>
    <thetext>Comment on attachment 186884
Patch

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

&gt; Source/WebCore/rendering/TextAutosizer.cpp:298
&gt;      TextAutosizingClusterInfo emptyClusterInfo(0);
&gt; -    return isAutosizingContainer(object) &amp;&amp; isAutosizingCluster(toRenderBlock(object), &amp;emptyClusterInfo);
&gt; +    return isAutosizingContainer(object) &amp;&amp; isAutosizingCluster(toRenderBlock(object), emptyClusterInfo);

Mentioned on bug 109054, I would rather see isAutosizingCluster take a pointer that can be NULL instead of having an empty object. That would remove the need for this overriden method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826827</commentid>
    <comment_count>3</comment_count>
      <attachid>186884</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-06 15:55:53 -0800</bug_when>
    <thetext>Comment on attachment 186884
Patch

Attachment 186884 did not pass win-ews (win):
Output: http://queues.webkit.org/results/16387485</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>828714</commentid>
    <comment_count>4</comment_count>
      <attachid>187347</attachid>
    <who name="Anton Vayvod">avayvod</who>
    <bug_when>2013-02-08 12:24:31 -0800</bug_when>
    <thetext>Created attachment 187347
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829065</commentid>
    <comment_count>5</comment_count>
      <attachid>187347</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-09 10:35:39 -0800</bug_when>
    <thetext>Comment on attachment 187347
Patch

Clearing flags on attachment: 187347

Committed r142367: &lt;http://trac.webkit.org/changeset/142367&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>829066</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-09 10:35:43 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186884</attachid>
            <date>2013-02-06 11:34:46 -0800</date>
            <delta_ts>2013-02-08 12:24:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109079-20130206193122.patch</filename>
            <type>text/plain</type>
            <size>11477</size>
            <attacher name="Anton Vayvod">avayvod</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQxOTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODE4NGQwMjhlOWUzNGZi
NzMzZGQyZGI2ZWRkZTRiOGYwNGJhMDVkMy4uZWM1NWJkNzJhMWE2ZjNiMzM1ODU1NDI3MThhNjVi
YTE2ZjA2OGViMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAyLTA2ICBBbnRv
biBWYXl2b2QgIDxhdmF5dm9kQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVGV4dCBBdXRvc2l6
aW5nXSBDbGVhbnVwIGNoYW5nZTogY29udmVydGVyIHRoZSBwb2ludGVyIGFyZ3VtZW50IHRvIGJl
IGEgcmVmZXJlbmNlIHNpbmNlCisgICAgICAgIG5vbi1udWxsIHBvaW50ZXIgaXMgYWx3YXlzIGV4
cGVjdGVkLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTA5MDc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Q2xlYW51cCBjaGFuZ2UsIG5vIG5lZWQgdG8gYWRkIG5ldyB0ZXN0cyBvciBtb2RpZnkgdGhlIGV4
aXN0aW5nIG9uZXMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvVGV4dEF1dG9zaXplci5jcHA6CisK
KyAgICAgICAgICAgIENoYW5nZWQgcGFyYW1ldGVyIGZyb20gYSBwb2ludGVyIHRvIGEgcmVmZXJl
bmNlIGluIHRoZSBtZXRob2RzIGJlbG93LgorCisgICAgICAgIChXZWJDb3JlOjpUZXh0QXV0b3Np
emVyOjpwcm9jZXNzU3VidHJlZSk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0QXV0b3NpemVyOjpw
cm9jZXNzQ2x1c3Rlcik6CisgICAgICAgIChXZWJDb3JlOjpUZXh0QXV0b3NpemVyOjpwcm9jZXNz
Q29udGFpbmVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRBdXRvc2l6ZXI6OmlzQXV0b3Npemlu
Z0NsdXN0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEF1dG9zaXplcjo6Y2x1c3RlclNob3Vs
ZEJlQXV0b3NpemVkKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRBdXRvc2l6ZXI6Om1lYXN1cmVE
ZXNjZW5kYW50VGV4dFdpZHRoKToKKworICAgICAgICAqIHJlbmRlcmluZy9UZXh0QXV0b3NpemVy
Lmg6IHVwZGF0ZWQgbWV0aG9kIHByb3RvdHlwZXMuCisKIDIwMTMtMDItMDUgIEp1bGllbiBDaGFm
ZnJhaXggIDxqY2hhZmZyYWl4QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0NTUyBHcmlkIExheW91
dF0gR3JpZCBpdGVtJ3MgbG9naWNhbCBoZWlnaHQgaXMgbm90IHByb3Blcmx5IHJlY29tcHV0ZWQg
YWZ0ZXIgLXdlYmtpdC1ncmlkLWNvbHVtbiAvIC13ZWJraXQtZ3JpZC1yb3cgY2hhbmdlcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3BwCmluZGV4IDkxZGJhMWNmNTUx
N2I3NDlkOGUyMTc5OTYwNjM1NjY3ZjhkZWRkMzEuLmFhOThjZWNhOTY0NDc4YmUxZDU0ZTY5NzU0
NzRmNTQ3MmYxZGIyNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0
QXV0b3NpemVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXpl
ci5jcHAKQEAgLTEyMywyNCArMTIzLDI0IEBAIGJvb2wgVGV4dEF1dG9zaXplcjo6cHJvY2Vzc1N1
YnRyZWUoUmVuZGVyT2JqZWN0KiBsYXlvdXRSb290KQogICAgICAgICBjbHVzdGVyID0gY2x1c3Rl
ci0+Y29udGFpbmluZ0Jsb2NrKCk7CiAKICAgICBUZXh0QXV0b3NpemluZ0NsdXN0ZXJJbmZvIGNs
dXN0ZXJJbmZvKGNsdXN0ZXIpOwotICAgIHByb2Nlc3NDbHVzdGVyKCZjbHVzdGVySW5mbywgY29u
dGFpbmVyLCBsYXlvdXRSb290LCB3aW5kb3dJbmZvKTsKKyAgICBwcm9jZXNzQ2x1c3RlcihjbHVz
dGVySW5mbywgY29udGFpbmVyLCBsYXlvdXRSb290LCB3aW5kb3dJbmZvKTsKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotdm9pZCBUZXh0QXV0b3NpemVyOjpwcm9jZXNzQ2x1c3RlcihUZXh0QXV0b3Np
emluZ0NsdXN0ZXJJbmZvKiBjbHVzdGVySW5mbywgUmVuZGVyQmxvY2sqIGNvbnRhaW5lciwgUmVu
ZGVyT2JqZWN0KiBzdWJ0cmVlUm9vdCwgY29uc3QgVGV4dEF1dG9zaXppbmdXaW5kb3dJbmZvJiB3
aW5kb3dJbmZvKQordm9pZCBUZXh0QXV0b3NpemVyOjpwcm9jZXNzQ2x1c3RlcihUZXh0QXV0b3Np
emluZ0NsdXN0ZXJJbmZvJiBjbHVzdGVySW5mbywgUmVuZGVyQmxvY2sqIGNvbnRhaW5lciwgUmVu
ZGVyT2JqZWN0KiBzdWJ0cmVlUm9vdCwgY29uc3QgVGV4dEF1dG9zaXppbmdXaW5kb3dJbmZvJiB3
aW5kb3dJbmZvKQogewogICAgIC8vIE1hbnkgcGFnZXMgc2V0IGEgbWF4LXdpZHRoIG9uIHRoZWly
IGNvbnRlbnQuIFNvIGVzcGVjaWFsbHkgZm9yIHRoZQogICAgIC8vIFJlbmRlclZpZXcsIGluc3Rl
YWQgb2YganVzdCB0YWtpbmcgdGhlIHdpZHRoIG9mIHxjbHVzdGVyfCB3ZSBmaW5kCiAgICAgLy8g
dGhlIGxvd2VzdCBjb21tb24gYW5jZXN0b3Igb2YgdGhlIGZpcnN0IGFuZCBsYXN0IGRlc2NlbmRh
bnQgdGV4dCBub2RlIG9mCiAgICAgLy8gdGhlIGNsdXN0ZXIgKGkuZS4gdGhlIGRlZXBlc3Qgd3Jh
cHBlciBibG9jayB0aGF0IGNvbnRhaW5zIGFsbCB0aGUgdGV4dCksCiAgICAgLy8gYW5kIHVzZSBp
dHMgd2lkdGggaW5zdGVhZC4KLSAgICBjbHVzdGVySW5mby0+YmxvY2tDb250YWluaW5nQWxsVGV4
dCA9IGZpbmREZWVwZXN0QmxvY2tDb250YWluaW5nQWxsVGV4dChjbHVzdGVySW5mby0+cm9vdCk7
Ci0gICAgZmxvYXQgdGV4dFdpZHRoID0gY2x1c3RlckluZm8tPmJsb2NrQ29udGFpbmluZ0FsbFRl
eHQtPmNvbnRlbnRMb2dpY2FsV2lkdGgoKTsKKyAgICBjbHVzdGVySW5mby5ibG9ja0NvbnRhaW5p
bmdBbGxUZXh0ID0gZmluZERlZXBlc3RCbG9ja0NvbnRhaW5pbmdBbGxUZXh0KGNsdXN0ZXJJbmZv
LnJvb3QpOworICAgIGZsb2F0IHRleHRXaWR0aCA9IGNsdXN0ZXJJbmZvLmJsb2NrQ29udGFpbmlu
Z0FsbFRleHQtPmNvbnRlbnRMb2dpY2FsV2lkdGgoKTsKIAogICAgIGZsb2F0IG11bHRpcGxpZXIg
PSAxOwogICAgIGlmIChjbHVzdGVyU2hvdWxkQmVBdXRvc2l6ZWQoY2x1c3RlckluZm8sIHRleHRX
aWR0aCkpIHsKLSAgICAgICAgaW50IGxvZ2ljYWxXaW5kb3dXaWR0aCA9IGNsdXN0ZXJJbmZvLT5y
b290LT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gd2luZG93SW5mby53aW5kb3dTaXplLndp
ZHRoKCkgOiB3aW5kb3dJbmZvLndpbmRvd1NpemUuaGVpZ2h0KCk7Ci0gICAgICAgIGludCBsb2dp
Y2FsTGF5b3V0V2lkdGggPSBjbHVzdGVySW5mby0+cm9vdC0+aXNIb3Jpem9udGFsV3JpdGluZ01v
ZGUoKSA/IHdpbmRvd0luZm8ubWluTGF5b3V0U2l6ZS53aWR0aCgpIDogd2luZG93SW5mby5taW5M
YXlvdXRTaXplLmhlaWdodCgpOworICAgICAgICBpbnQgbG9naWNhbFdpbmRvd1dpZHRoID0gY2x1
c3RlckluZm8ucm9vdC0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IHdpbmRvd0luZm8ud2lu
ZG93U2l6ZS53aWR0aCgpIDogd2luZG93SW5mby53aW5kb3dTaXplLmhlaWdodCgpOworICAgICAg
ICBpbnQgbG9naWNhbExheW91dFdpZHRoID0gY2x1c3RlckluZm8ucm9vdC0+aXNIb3Jpem9udGFs
V3JpdGluZ01vZGUoKSA/IHdpbmRvd0luZm8ubWluTGF5b3V0U2l6ZS53aWR0aCgpIDogd2luZG93
SW5mby5taW5MYXlvdXRTaXplLmhlaWdodCgpOwogICAgICAgICAvLyBJZ25vcmUgYm94IHdpZHRo
IGluIGV4Y2VzcyBvZiB0aGUgbGF5b3V0IHdpZHRoLCB0byBhdm9pZCBleHRyZW1lIG11bHRpcGxp
ZXJzLgogICAgICAgICBmbG9hdCBsb2dpY2FsQ2x1c3RlcldpZHRoID0gc3RkOjptaW48ZmxvYXQ+
KHRleHRXaWR0aCwgbG9naWNhbExheW91dFdpZHRoKTsKIApAQCAtMTUyLDcgKzE1Miw3IEBAIHZv
aWQgVGV4dEF1dG9zaXplcjo6cHJvY2Vzc0NsdXN0ZXIoVGV4dEF1dG9zaXppbmdDbHVzdGVySW5m
byogY2x1c3RlckluZm8sIFJlbmRlCiAgICAgcHJvY2Vzc0NvbnRhaW5lcihtdWx0aXBsaWVyLCBj
b250YWluZXIsIGNsdXN0ZXJJbmZvLCBzdWJ0cmVlUm9vdCwgd2luZG93SW5mbyk7CiB9CiAKLXZv
aWQgVGV4dEF1dG9zaXplcjo6cHJvY2Vzc0NvbnRhaW5lcihmbG9hdCBtdWx0aXBsaWVyLCBSZW5k
ZXJCbG9jayogY29udGFpbmVyLCBUZXh0QXV0b3NpemluZ0NsdXN0ZXJJbmZvKiBjbHVzdGVySW5m
bywgUmVuZGVyT2JqZWN0KiBzdWJ0cmVlUm9vdCwgY29uc3QgVGV4dEF1dG9zaXppbmdXaW5kb3dJ
bmZvJiB3aW5kb3dJbmZvKQordm9pZCBUZXh0QXV0b3NpemVyOjpwcm9jZXNzQ29udGFpbmVyKGZs
b2F0IG11bHRpcGxpZXIsIFJlbmRlckJsb2NrKiBjb250YWluZXIsIFRleHRBdXRvc2l6aW5nQ2x1
c3RlckluZm8mIGNsdXN0ZXJJbmZvLCBSZW5kZXJPYmplY3QqIHN1YnRyZWVSb290LCBjb25zdCBU
ZXh0QXV0b3NpemluZ1dpbmRvd0luZm8mIHdpbmRvd0luZm8pCiB7CiAgICAgQVNTRVJUKGlzQXV0
b3NpemluZ0NvbnRhaW5lcihjb250YWluZXIpKTsKIApAQCAtMTcwLDcgKzE3MCw3IEBAIHZvaWQg
VGV4dEF1dG9zaXplcjo6cHJvY2Vzc0NvbnRhaW5lcihmbG9hdCBtdWx0aXBsaWVyLCBSZW5kZXJC
bG9jayogY29udGFpbmVyLCBUCiAgICAgICAgICAgICBSZW5kZXJCbG9jayogZGVzY2VuZGFudEJs
b2NrID0gdG9SZW5kZXJCbG9jayhkZXNjZW5kYW50KTsKICAgICAgICAgICAgIGlmIChpc0F1dG9z
aXppbmdDbHVzdGVyKGRlc2NlbmRhbnRCbG9jaywgY2x1c3RlckluZm8pKSB7CiAgICAgICAgICAg
ICAgICAgVGV4dEF1dG9zaXppbmdDbHVzdGVySW5mbyBkZXNjZW5kYW50Q2x1c3RlckluZm8oZGVz
Y2VuZGFudEJsb2NrKTsKLSAgICAgICAgICAgICAgICBwcm9jZXNzQ2x1c3RlcigmZGVzY2VuZGFu
dENsdXN0ZXJJbmZvLCBkZXNjZW5kYW50QmxvY2ssIGRlc2NlbmRhbnRCbG9jaywgd2luZG93SW5m
byk7CisgICAgICAgICAgICAgICAgcHJvY2Vzc0NsdXN0ZXIoZGVzY2VuZGFudENsdXN0ZXJJbmZv
LCBkZXNjZW5kYW50QmxvY2ssIGRlc2NlbmRhbnRCbG9jaywgd2luZG93SW5mbyk7CiAgICAgICAg
ICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICBwcm9jZXNzQ29udGFpbmVyKG11bHRpcGxpZXIs
IGRlc2NlbmRhbnRCbG9jaywgY2x1c3RlckluZm8sIGRlc2NlbmRhbnRCbG9jaywgd2luZG93SW5m
byk7CiAgICAgICAgIH0KQEAgLTIzNSw3ICsyMzUsNyBAQCBib29sIFRleHRBdXRvc2l6ZXI6Omlz
QXV0b3NpemluZ0NvbnRhaW5lcihjb25zdCBSZW5kZXJPYmplY3QqIHJlbmRlcmVyKQogICAgIHJl
dHVybiB0cnVlOwogfQogCi1ib29sIFRleHRBdXRvc2l6ZXI6OmlzQXV0b3NpemluZ0NsdXN0ZXIo
Y29uc3QgUmVuZGVyQmxvY2sqIHJlbmRlcmVyLCBUZXh0QXV0b3NpemluZ0NsdXN0ZXJJbmZvKiBw
YXJlbnRDbHVzdGVySW5mbykKK2Jvb2wgVGV4dEF1dG9zaXplcjo6aXNBdXRvc2l6aW5nQ2x1c3Rl
cihjb25zdCBSZW5kZXJCbG9jayogcmVuZGVyZXIsIFRleHRBdXRvc2l6aW5nQ2x1c3RlckluZm8m
IHBhcmVudENsdXN0ZXJJbmZvKQogewogICAgIC8vICJBdXRvc2l6aW5nIGNsdXN0ZXJzIiBhcmUg
c3BlY2lhbCBhdXRvc2l6aW5nIGNvbnRhaW5lcnMgd2l0aGluIHdoaWNoIHdlCiAgICAgLy8gd2Fu
dCB0byBlbmZvcmNlIGEgdW5pZm9ybSB0ZXh0IHNpemUgbXVsdGlwbGllciwgaW4gdGhlIGhvcGVz
IG9mIG1ha2luZwpAQCAtMjYxLDkgKzI2MSw5IEBAIGJvb2wgVGV4dEF1dG9zaXplcjo6aXNBdXRv
c2l6aW5nQ2x1c3Rlcihjb25zdCBSZW5kZXJCbG9jayogcmVuZGVyZXIsIFRleHRBdXRvc2l6CiAg
ICAgLy8gc2luY2UgdGhleSBuZWVkIHNwZWNpYWwgdHJlYXRtZW50IGR1ZSB0byB0aGVpciB3aWR0
aC4KICAgICBBU1NFUlQoaXNBdXRvc2l6aW5nQ29udGFpbmVyKHJlbmRlcmVyKSk7CiAKLSAgICBp
ZiAocGFyZW50Q2x1c3RlckluZm8tPmJsb2NrQ29udGFpbmluZ0FsbFRleHQpIHsKKyAgICBpZiAo
cGFyZW50Q2x1c3RlckluZm8uYmxvY2tDb250YWluaW5nQWxsVGV4dCkgewogICAgICAgICBmbG9h
dCBjb250ZW50V2lkdGggPSByZW5kZXJlci0+Y29udGVudExvZ2ljYWxXaWR0aCgpOwotICAgICAg
ICBmbG9hdCBjbHVzdGVyVGV4dFdpZHRoID0gcGFyZW50Q2x1c3RlckluZm8tPmJsb2NrQ29udGFp
bmluZ0FsbFRleHQtPmNvbnRlbnRMb2dpY2FsV2lkdGgoKTsKKyAgICAgICAgZmxvYXQgY2x1c3Rl
clRleHRXaWR0aCA9IHBhcmVudENsdXN0ZXJJbmZvLmJsb2NrQ29udGFpbmluZ0FsbFRleHQtPmNv
bnRlbnRMb2dpY2FsV2lkdGgoKTsKICAgICAgICAgaWYgKGNvbnRlbnRXaWR0aCA+IGNsdXN0ZXJU
ZXh0V2lkdGgpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKIApAQCAtMjczLDkgKzI3Myw5IEBA
IGJvb2wgVGV4dEF1dG9zaXplcjo6aXNBdXRvc2l6aW5nQ2x1c3Rlcihjb25zdCBSZW5kZXJCbG9j
ayogcmVuZGVyZXIsIFRleHRBdXRvc2l6CiAgICAgICAgIGNvbnN0IGZsb2F0IGRpZmZlcmVuY2VG
cm9tTWF4V2lkdGhEaWZmZXJlbmNlID0gNTA7CiAKICAgICAgICAgZmxvYXQgd2lkdGhEaWZmZXJl
bmNlID0gY2x1c3RlclRleHRXaWR0aCAtIGNvbnRlbnRXaWR0aDsKLSAgICAgICAgaWYgKHdpZHRo
RGlmZmVyZW5jZSAtIHBhcmVudENsdXN0ZXJJbmZvLT5tYXhBbGxvd2VkRGlmZmVyZW5jZUZyb21U
ZXh0V2lkdGggPiBkaWZmZXJlbmNlRnJvbU1heFdpZHRoRGlmZmVyZW5jZSkKKyAgICAgICAgaWYg
KHdpZHRoRGlmZmVyZW5jZSAtIHBhcmVudENsdXN0ZXJJbmZvLm1heEFsbG93ZWREaWZmZXJlbmNl
RnJvbVRleHRXaWR0aCA+IGRpZmZlcmVuY2VGcm9tTWF4V2lkdGhEaWZmZXJlbmNlKQogICAgICAg
ICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIHBhcmVudENsdXN0ZXJJbmZvLT5tYXhBbGxvd2Vk
RGlmZmVyZW5jZUZyb21UZXh0V2lkdGggPSBzdGQ6Om1heCh3aWR0aERpZmZlcmVuY2UsIHBhcmVu
dENsdXN0ZXJJbmZvLT5tYXhBbGxvd2VkRGlmZmVyZW5jZUZyb21UZXh0V2lkdGgpOworICAgICAg
ICBwYXJlbnRDbHVzdGVySW5mby5tYXhBbGxvd2VkRGlmZmVyZW5jZUZyb21UZXh0V2lkdGggPSBz
dGQ6Om1heCh3aWR0aERpZmZlcmVuY2UsIHBhcmVudENsdXN0ZXJJbmZvLm1heEFsbG93ZWREaWZm
ZXJlbmNlRnJvbVRleHRXaWR0aCk7CiAgICAgfQogCiAgICAgcmV0dXJuIHJlbmRlcmVyLT5pc1Jl
bmRlclZpZXcoKQpAQCAtMjk1LDcgKzI5NSw3IEBAIGJvb2wgVGV4dEF1dG9zaXplcjo6aXNBdXRv
c2l6aW5nQ2x1c3Rlcihjb25zdCBSZW5kZXJCbG9jayogcmVuZGVyZXIsIFRleHRBdXRvc2l6CiBi
b29sIFRleHRBdXRvc2l6ZXI6OmlzQXV0b3NpemluZ0NsdXN0ZXIoY29uc3QgUmVuZGVyT2JqZWN0
KiBvYmplY3QpCiB7CiAgICAgVGV4dEF1dG9zaXppbmdDbHVzdGVySW5mbyBlbXB0eUNsdXN0ZXJJ
bmZvKDApOwotICAgIHJldHVybiBpc0F1dG9zaXppbmdDb250YWluZXIob2JqZWN0KSAmJiBpc0F1
dG9zaXppbmdDbHVzdGVyKHRvUmVuZGVyQmxvY2sob2JqZWN0KSwgJmVtcHR5Q2x1c3RlckluZm8p
OworICAgIHJldHVybiBpc0F1dG9zaXppbmdDb250YWluZXIob2JqZWN0KSAmJiBpc0F1dG9zaXpp
bmdDbHVzdGVyKHRvUmVuZGVyQmxvY2sob2JqZWN0KSwgZW1wdHlDbHVzdGVySW5mbyk7CiB9CiAK
IGJvb2wgVGV4dEF1dG9zaXplcjo6Y29udGFpbmVyU2hvdWxkQmVBdXRvc2l6ZWQoY29uc3QgUmVu
ZGVyQmxvY2sqIGNvbnRhaW5lcikKQEAgLTM4OSw3ICszODksNyBAQCBib29sIFRleHRBdXRvc2l6
ZXI6OmNvbnRlbnRIZWlnaHRJc0NvbnN0cmFpbmVkKGNvbnN0IFJlbmRlckJsb2NrKiBjb250YWlu
ZXIpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIFRleHRBdXRvc2l6ZXI6OmNsdXN0ZXJT
aG91bGRCZUF1dG9zaXplZChUZXh0QXV0b3NpemluZ0NsdXN0ZXJJbmZvKiBjbHVzdGVySW5mbywg
ZmxvYXQgYmxvY2tXaWR0aCkKK2Jvb2wgVGV4dEF1dG9zaXplcjo6Y2x1c3RlclNob3VsZEJlQXV0
b3NpemVkKFRleHRBdXRvc2l6aW5nQ2x1c3RlckluZm8mIGNsdXN0ZXJJbmZvLCBmbG9hdCBibG9j
a1dpZHRoKQogewogICAgIC8vIERvbid0IGF1dG9zaXplIGNsdXN0ZXJzIHRoYXQgY29udGFpbiBs
ZXNzIHRoYW4gNCBsaW5lcyBvZiB0ZXh0IChpbgogICAgIC8vIHByYWN0aWNlIGxlc3MgbGluZXMg
YXJlIHJlcXVpcmVkLCBzaW5jZSBtZWFzdXJlRGVzY2VuZGFudFRleHRXaWR0aApAQCAtNDA0LDEz
ICs0MDQsMTMgQEAgYm9vbCBUZXh0QXV0b3NpemVyOjpjbHVzdGVyU2hvdWxkQmVBdXRvc2l6ZWQo
VGV4dEF1dG9zaXppbmdDbHVzdGVySW5mbyogY2x1c3RlckkKICAgICBjb25zdCBmbG9hdCBtaW5M
aW5lc09mVGV4dCA9IDQ7CiAgICAgZmxvYXQgbWluVGV4dFdpZHRoID0gYmxvY2tXaWR0aCAqIG1p
bkxpbmVzT2ZUZXh0OwogICAgIGZsb2F0IHRleHRXaWR0aCA9IDA7Ci0gICAgbWVhc3VyZURlc2Nl
bmRhbnRUZXh0V2lkdGgoY2x1c3RlckluZm8tPmJsb2NrQ29udGFpbmluZ0FsbFRleHQsIGNsdXN0
ZXJJbmZvLCBtaW5UZXh0V2lkdGgsIHRleHRXaWR0aCk7CisgICAgbWVhc3VyZURlc2NlbmRhbnRU
ZXh0V2lkdGgoY2x1c3RlckluZm8uYmxvY2tDb250YWluaW5nQWxsVGV4dCwgY2x1c3RlckluZm8s
IG1pblRleHRXaWR0aCwgdGV4dFdpZHRoKTsKICAgICBpZiAodGV4dFdpZHRoID49IG1pblRleHRX
aWR0aCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lk
IFRleHRBdXRvc2l6ZXI6Om1lYXN1cmVEZXNjZW5kYW50VGV4dFdpZHRoKGNvbnN0IFJlbmRlckJs
b2NrKiBjb250YWluZXIsIFRleHRBdXRvc2l6aW5nQ2x1c3RlckluZm8qIGNsdXN0ZXJJbmZvLCBm
bG9hdCBtaW5UZXh0V2lkdGgsIGZsb2F0JiB0ZXh0V2lkdGgpCit2b2lkIFRleHRBdXRvc2l6ZXI6
Om1lYXN1cmVEZXNjZW5kYW50VGV4dFdpZHRoKGNvbnN0IFJlbmRlckJsb2NrKiBjb250YWluZXIs
IFRleHRBdXRvc2l6aW5nQ2x1c3RlckluZm8mIGNsdXN0ZXJJbmZvLCBmbG9hdCBtaW5UZXh0V2lk
dGgsIGZsb2F0JiB0ZXh0V2lkdGgpCiB7CiAgICAgYm9vbCBza2lwTG9jYWxUZXh0ID0gIWNvbnRh
aW5lclNob3VsZEJlQXV0b3NpemVkKGNvbnRhaW5lcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvVGV4dEF1dG9zaXplci5oCmluZGV4IDE2NmUwNTZkMTFiZDNmN2JkN2U2MmJlNWUyNTZkZDJl
YjNiODRkMzQuLmZhOGFkOGE3ZDc0MTFkOWYwZWUwODI4YzRkN2ZhYjBmZDBlNTFiNDEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuaApAQCAtNjEsMjEgKzYxLDIxIEBA
IHByaXZhdGU6CiAKICAgICBleHBsaWNpdCBUZXh0QXV0b3NpemVyKERvY3VtZW50Kik7CiAKLSAg
ICB2b2lkIHByb2Nlc3NDbHVzdGVyKFRleHRBdXRvc2l6aW5nQ2x1c3RlckluZm8qLCBSZW5kZXJC
bG9jayogY29udGFpbmVyLCBSZW5kZXJPYmplY3QqIHN1YnRyZWVSb290LCBjb25zdCBUZXh0QXV0
b3NpemluZ1dpbmRvd0luZm8mKTsKLSAgICB2b2lkIHByb2Nlc3NDb250YWluZXIoZmxvYXQgbXVs
dGlwbGllciwgUmVuZGVyQmxvY2sqIGNvbnRhaW5lciwgVGV4dEF1dG9zaXppbmdDbHVzdGVySW5m
byosIFJlbmRlck9iamVjdCogc3VidHJlZVJvb3QsIGNvbnN0IFRleHRBdXRvc2l6aW5nV2luZG93
SW5mbyYpOworICAgIHZvaWQgcHJvY2Vzc0NsdXN0ZXIoVGV4dEF1dG9zaXppbmdDbHVzdGVySW5m
byYsIFJlbmRlckJsb2NrKiBjb250YWluZXIsIFJlbmRlck9iamVjdCogc3VidHJlZVJvb3QsIGNv
bnN0IFRleHRBdXRvc2l6aW5nV2luZG93SW5mbyYpOworICAgIHZvaWQgcHJvY2Vzc0NvbnRhaW5l
cihmbG9hdCBtdWx0aXBsaWVyLCBSZW5kZXJCbG9jayogY29udGFpbmVyLCBUZXh0QXV0b3Npemlu
Z0NsdXN0ZXJJbmZvJiwgUmVuZGVyT2JqZWN0KiBzdWJ0cmVlUm9vdCwgY29uc3QgVGV4dEF1dG9z
aXppbmdXaW5kb3dJbmZvJik7CiAKICAgICB2b2lkIHNldE11bHRpcGxpZXIoUmVuZGVyT2JqZWN0
KiwgZmxvYXQpOwogCiAgICAgc3RhdGljIGJvb2wgaXNBdXRvc2l6aW5nQ29udGFpbmVyKGNvbnN0
IFJlbmRlck9iamVjdCopOwotICAgIHN0YXRpYyBib29sIGlzQXV0b3NpemluZ0NsdXN0ZXIoY29u
c3QgUmVuZGVyQmxvY2sqLCBUZXh0QXV0b3NpemluZ0NsdXN0ZXJJbmZvKiBwYXJlbnRDbHVzdGVy
SW5mbyk7CisgICAgc3RhdGljIGJvb2wgaXNBdXRvc2l6aW5nQ2x1c3Rlcihjb25zdCBSZW5kZXJC
bG9jayosIFRleHRBdXRvc2l6aW5nQ2x1c3RlckluZm8mIHBhcmVudENsdXN0ZXJJbmZvKTsKICAg
ICBzdGF0aWMgYm9vbCBpc0F1dG9zaXppbmdDbHVzdGVyKGNvbnN0IFJlbmRlck9iamVjdCopOwog
CiAgICAgc3RhdGljIGJvb2wgY29udGFpbmVyU2hvdWxkQmVBdXRvc2l6ZWQoY29uc3QgUmVuZGVy
QmxvY2sqIGNvbnRhaW5lcik7CiAgICAgc3RhdGljIGJvb2wgY29udGFpbmVyQ29udGFpbnNPbmVP
ZlRhZ3MoY29uc3QgUmVuZGVyQmxvY2sqIGNsdXN0ZXIsIGNvbnN0IFZlY3RvcjxRdWFsaWZpZWRO
YW1lPiYgdGFncyk7CiAgICAgc3RhdGljIGJvb2wgY29udGFpbmVySXNSb3dPZkxpbmtzKGNvbnN0
IFJlbmRlck9iamVjdCogY29udGFpbmVyKTsKICAgICBzdGF0aWMgYm9vbCBjb250ZW50SGVpZ2h0
SXNDb25zdHJhaW5lZChjb25zdCBSZW5kZXJCbG9jayogY29udGFpbmVyKTsKLSAgICBzdGF0aWMg
Ym9vbCBjbHVzdGVyU2hvdWxkQmVBdXRvc2l6ZWQoVGV4dEF1dG9zaXppbmdDbHVzdGVySW5mbyos
IGZsb2F0IGJsb2NrV2lkdGgpOwotICAgIHN0YXRpYyB2b2lkIG1lYXN1cmVEZXNjZW5kYW50VGV4
dFdpZHRoKGNvbnN0IFJlbmRlckJsb2NrKiBjb250YWluZXIsIFRleHRBdXRvc2l6aW5nQ2x1c3Rl
ckluZm8qLCBmbG9hdCBtaW5UZXh0V2lkdGgsIGZsb2F0JiB0ZXh0V2lkdGgpOworICAgIHN0YXRp
YyBib29sIGNsdXN0ZXJTaG91bGRCZUF1dG9zaXplZChUZXh0QXV0b3NpemluZ0NsdXN0ZXJJbmZv
JiwgZmxvYXQgYmxvY2tXaWR0aCk7CisgICAgc3RhdGljIHZvaWQgbWVhc3VyZURlc2NlbmRhbnRU
ZXh0V2lkdGgoY29uc3QgUmVuZGVyQmxvY2sqIGNvbnRhaW5lciwgVGV4dEF1dG9zaXppbmdDbHVz
dGVySW5mbyYsIGZsb2F0IG1pblRleHRXaWR0aCwgZmxvYXQmIHRleHRXaWR0aCk7CiAKICAgICAv
LyBVc2UgdG8gdHJhdmVyc2UgdGhlIHRyZWUgb2YgZGVzY2VuZGFudHMsIGV4Y2x1ZGluZyBkZXNj
ZW5kYW50cyBvZiBjb250YWluZXJzIChidXQgcmV0dXJuaW5nIHRoZSBjb250YWluZXJzIHRoZW1z
ZWx2ZXMpLgogICAgIHN0YXRpYyBSZW5kZXJPYmplY3QqIG5leHRJblByZU9yZGVyU2tpcHBpbmdE
ZXNjZW5kYW50c09mQ29udGFpbmVycyhjb25zdCBSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJP
YmplY3QqIHN0YXlXaXRoaW4pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>187347</attachid>
            <date>2013-02-08 12:24:31 -0800</date>
            <delta_ts>2013-02-09 10:35:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109079-20130208202105.patch</filename>
            <type>text/plain</type>
            <size>12145</size>
            <attacher name="Anton Vayvod">avayvod</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMzA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODQyOTgzNzgwZGVhOWY2
YWFiZTdiZjgzNGRmYjE5MGM4NzVmODA2Zi4uMjY1YWMzYmIyYmMwNjJjZGYyZGE5YzViOWZkNzM2
MTJjMjFkZDk5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTAyLTA4ICBBbnRv
biBWYXl2b2QgIDxhdmF5dm9kQGNocm9taXVtLm9yZz4KKyAKKyAgICAgICAgW1RleHQgQXV0b3Np
emluZ10gQ2xlYW51cCBjaGFuZ2U6IGNvbnZlcnRlciB0aGUgcG9pbnRlciBhcmd1bWVudCB0byBi
ZSBhIHJlZmVyZW5jZSBzaW5jZQorICAgICAgICBub24tbnVsbCBwb2ludGVyIGlzIGFsd2F5cyBl
eHBlY3RlZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEwOTA3OQorIAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAKKyAgICAg
ICAgQ2xlYW51cCBjaGFuZ2UsIG5vIG5lZWQgdG8gYWRkIG5ldyB0ZXN0cyBvciBtb2RpZnkgdGhl
IGV4aXN0aW5nIG9uZXMuCisgCisgICAgICAgICogcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuY3Bw
OgorIAorICAgICAgICBDaGFuZ2VkIHBhcmFtZXRlciBmcm9tIGEgcG9pbnRlciB0byBhIHJlZmVy
ZW5jZSBpbiB0aGUgbWV0aG9kcyBiZWxvdy4KKyAKKyAgICAgICAgKFdlYkNvcmU6OlRleHRBdXRv
c2l6ZXI6OnByb2Nlc3NTdWJ0cmVlKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRBdXRvc2l6ZXI6
OnByb2Nlc3NDbHVzdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRBdXRvc2l6ZXI6OnByb2Nl
c3NDb250YWluZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEF1dG9zaXplcjo6aXNOYXJyb3dE
ZXNjZW5kYW50KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRBdXRvc2l6ZXI6OmlzV2lkZXJEZXNj
ZW5kYW50KToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRBdXRvc2l6ZXI6OmlzQXV0b3NpemluZ0Ns
dXN0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dEF1dG9zaXplcjo6Y2x1c3RlclNob3VsZEJl
QXV0b3NpemVkKToKKyAgICAgICAgKFdlYkNvcmU6OlRleHRBdXRvc2l6ZXI6Om1lYXN1cmVEZXNj
ZW5kYW50VGV4dFdpZHRoKToKKyAKKyAgICAgICAgKiByZW5kZXJpbmcvVGV4dEF1dG9zaXplci5o
OiB1cGRhdGVkIG1ldGhvZCBwcm90b3R5cGVzLgorCiAyMDEzLTAyLTA4ICBBZGFtIEJhcnRoICA8
YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVXNlIFdlYWtQdHJzIHRvIGNvbW11bmljYXRl
IGJldHdlZW4gdGhlIEhUTUxEb2N1bWVudFBhcnNlciBhbmQgdGhlIEJhY2tncm91bmRIVE1MUGFy
c2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5jcHAKaW5kZXggNGRl
YTFlM2FhNzcxM2IzYTRmZjRkZjg3MDM1Mzc2NjJjYzg0YTY2MS4uOTAxYjlkN2M1MTI3MjViZmNj
ZDY2NzljNmRhZTgzZjY3MjBjMjI5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1RleHRBdXRvc2l6ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0
QXV0b3NpemVyLmNwcApAQCAtMTIzLDI0ICsxMjMsMjQgQEAgYm9vbCBUZXh0QXV0b3NpemVyOjpw
cm9jZXNzU3VidHJlZShSZW5kZXJPYmplY3QqIGxheW91dFJvb3QpCiAgICAgICAgIGNsdXN0ZXIg
PSBjbHVzdGVyLT5jb250YWluaW5nQmxvY2soKTsKIAogICAgIFRleHRBdXRvc2l6aW5nQ2x1c3Rl
ckluZm8gY2x1c3RlckluZm8oY2x1c3Rlcik7Ci0gICAgcHJvY2Vzc0NsdXN0ZXIoJmNsdXN0ZXJJ
bmZvLCBjb250YWluZXIsIGxheW91dFJvb3QsIHdpbmRvd0luZm8pOworICAgIHByb2Nlc3NDbHVz
dGVyKGNsdXN0ZXJJbmZvLCBjb250YWluZXIsIGxheW91dFJvb3QsIHdpbmRvd0luZm8pOwogICAg
IHJldHVybiB0cnVlOwogfQogCi12b2lkIFRleHRBdXRvc2l6ZXI6OnByb2Nlc3NDbHVzdGVyKFRl
eHRBdXRvc2l6aW5nQ2x1c3RlckluZm8qIGNsdXN0ZXJJbmZvLCBSZW5kZXJCbG9jayogY29udGFp
bmVyLCBSZW5kZXJPYmplY3QqIHN1YnRyZWVSb290LCBjb25zdCBUZXh0QXV0b3NpemluZ1dpbmRv
d0luZm8mIHdpbmRvd0luZm8pCit2b2lkIFRleHRBdXRvc2l6ZXI6OnByb2Nlc3NDbHVzdGVyKFRl
eHRBdXRvc2l6aW5nQ2x1c3RlckluZm8mIGNsdXN0ZXJJbmZvLCBSZW5kZXJCbG9jayogY29udGFp
bmVyLCBSZW5kZXJPYmplY3QqIHN1YnRyZWVSb290LCBjb25zdCBUZXh0QXV0b3NpemluZ1dpbmRv
d0luZm8mIHdpbmRvd0luZm8pCiB7CiAgICAgLy8gTWFueSBwYWdlcyBzZXQgYSBtYXgtd2lkdGgg
b24gdGhlaXIgY29udGVudC4gU28gZXNwZWNpYWxseSBmb3IgdGhlCiAgICAgLy8gUmVuZGVyVmll
dywgaW5zdGVhZCBvZiBqdXN0IHRha2luZyB0aGUgd2lkdGggb2YgfGNsdXN0ZXJ8IHdlIGZpbmQK
ICAgICAvLyB0aGUgbG93ZXN0IGNvbW1vbiBhbmNlc3RvciBvZiB0aGUgZmlyc3QgYW5kIGxhc3Qg
ZGVzY2VuZGFudCB0ZXh0IG5vZGUgb2YKICAgICAvLyB0aGUgY2x1c3RlciAoaS5lLiB0aGUgZGVl
cGVzdCB3cmFwcGVyIGJsb2NrIHRoYXQgY29udGFpbnMgYWxsIHRoZSB0ZXh0KSwKICAgICAvLyBh
bmQgdXNlIGl0cyB3aWR0aCBpbnN0ZWFkLgotICAgIGNsdXN0ZXJJbmZvLT5ibG9ja0NvbnRhaW5p
bmdBbGxUZXh0ID0gZmluZERlZXBlc3RCbG9ja0NvbnRhaW5pbmdBbGxUZXh0KGNsdXN0ZXJJbmZv
LT5yb290KTsKLSAgICBmbG9hdCB0ZXh0V2lkdGggPSBjbHVzdGVySW5mby0+YmxvY2tDb250YWlu
aW5nQWxsVGV4dC0+Y29udGVudExvZ2ljYWxXaWR0aCgpOworICAgIGNsdXN0ZXJJbmZvLmJsb2Nr
Q29udGFpbmluZ0FsbFRleHQgPSBmaW5kRGVlcGVzdEJsb2NrQ29udGFpbmluZ0FsbFRleHQoY2x1
c3RlckluZm8ucm9vdCk7CisgICAgZmxvYXQgdGV4dFdpZHRoID0gY2x1c3RlckluZm8uYmxvY2tD
b250YWluaW5nQWxsVGV4dC0+Y29udGVudExvZ2ljYWxXaWR0aCgpOwogCiAgICAgZmxvYXQgbXVs
dGlwbGllciA9IDE7CiAgICAgaWYgKGNsdXN0ZXJTaG91bGRCZUF1dG9zaXplZChjbHVzdGVySW5m
bywgdGV4dFdpZHRoKSkgewotICAgICAgICBpbnQgbG9naWNhbFdpbmRvd1dpZHRoID0gY2x1c3Rl
ckluZm8tPnJvb3QtPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyB3aW5kb3dJbmZvLndpbmRv
d1NpemUud2lkdGgoKSA6IHdpbmRvd0luZm8ud2luZG93U2l6ZS5oZWlnaHQoKTsKLSAgICAgICAg
aW50IGxvZ2ljYWxMYXlvdXRXaWR0aCA9IGNsdXN0ZXJJbmZvLT5yb290LT5pc0hvcml6b250YWxX
cml0aW5nTW9kZSgpID8gd2luZG93SW5mby5taW5MYXlvdXRTaXplLndpZHRoKCkgOiB3aW5kb3dJ
bmZvLm1pbkxheW91dFNpemUuaGVpZ2h0KCk7CisgICAgICAgIGludCBsb2dpY2FsV2luZG93V2lk
dGggPSBjbHVzdGVySW5mby5yb290LT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gd2luZG93
SW5mby53aW5kb3dTaXplLndpZHRoKCkgOiB3aW5kb3dJbmZvLndpbmRvd1NpemUuaGVpZ2h0KCk7
CisgICAgICAgIGludCBsb2dpY2FsTGF5b3V0V2lkdGggPSBjbHVzdGVySW5mby5yb290LT5pc0hv
cml6b250YWxXcml0aW5nTW9kZSgpID8gd2luZG93SW5mby5taW5MYXlvdXRTaXplLndpZHRoKCkg
OiB3aW5kb3dJbmZvLm1pbkxheW91dFNpemUuaGVpZ2h0KCk7CiAgICAgICAgIC8vIElnbm9yZSBi
b3ggd2lkdGggaW4gZXhjZXNzIG9mIHRoZSBsYXlvdXQgd2lkdGgsIHRvIGF2b2lkIGV4dHJlbWUg
bXVsdGlwbGllcnMuCiAgICAgICAgIGZsb2F0IGxvZ2ljYWxDbHVzdGVyV2lkdGggPSBzdGQ6Om1p
bjxmbG9hdD4odGV4dFdpZHRoLCBsb2dpY2FsTGF5b3V0V2lkdGgpOwogCkBAIC0xNTIsNyArMTUy
LDcgQEAgdm9pZCBUZXh0QXV0b3NpemVyOjpwcm9jZXNzQ2x1c3RlcihUZXh0QXV0b3NpemluZ0Ns
dXN0ZXJJbmZvKiBjbHVzdGVySW5mbywgUmVuZGUKICAgICBwcm9jZXNzQ29udGFpbmVyKG11bHRp
cGxpZXIsIGNvbnRhaW5lciwgY2x1c3RlckluZm8sIHN1YnRyZWVSb290LCB3aW5kb3dJbmZvKTsK
IH0KIAotdm9pZCBUZXh0QXV0b3NpemVyOjpwcm9jZXNzQ29udGFpbmVyKGZsb2F0IG11bHRpcGxp
ZXIsIFJlbmRlckJsb2NrKiBjb250YWluZXIsIFRleHRBdXRvc2l6aW5nQ2x1c3RlckluZm8qIGNs
dXN0ZXJJbmZvLCBSZW5kZXJPYmplY3QqIHN1YnRyZWVSb290LCBjb25zdCBUZXh0QXV0b3Npemlu
Z1dpbmRvd0luZm8mIHdpbmRvd0luZm8pCit2b2lkIFRleHRBdXRvc2l6ZXI6OnByb2Nlc3NDb250
YWluZXIoZmxvYXQgbXVsdGlwbGllciwgUmVuZGVyQmxvY2sqIGNvbnRhaW5lciwgVGV4dEF1dG9z
aXppbmdDbHVzdGVySW5mbyYgY2x1c3RlckluZm8sIFJlbmRlck9iamVjdCogc3VidHJlZVJvb3Qs
IGNvbnN0IFRleHRBdXRvc2l6aW5nV2luZG93SW5mbyYgd2luZG93SW5mbykKIHsKICAgICBBU1NF
UlQoaXNBdXRvc2l6aW5nQ29udGFpbmVyKGNvbnRhaW5lcikpOwogCkBAIC0xNzAsNyArMTcwLDcg
QEAgdm9pZCBUZXh0QXV0b3NpemVyOjpwcm9jZXNzQ29udGFpbmVyKGZsb2F0IG11bHRpcGxpZXIs
IFJlbmRlckJsb2NrKiBjb250YWluZXIsIFQKICAgICAgICAgICAgIFJlbmRlckJsb2NrKiBkZXNj
ZW5kYW50QmxvY2sgPSB0b1JlbmRlckJsb2NrKGRlc2NlbmRhbnQpOwogICAgICAgICAgICAgaWYg
KGlzQXV0b3NpemluZ0NsdXN0ZXIoZGVzY2VuZGFudEJsb2NrLCBjbHVzdGVySW5mbykpIHsKICAg
ICAgICAgICAgICAgICBUZXh0QXV0b3NpemluZ0NsdXN0ZXJJbmZvIGRlc2NlbmRhbnRDbHVzdGVy
SW5mbyhkZXNjZW5kYW50QmxvY2spOwotICAgICAgICAgICAgICAgIHByb2Nlc3NDbHVzdGVyKCZk
ZXNjZW5kYW50Q2x1c3RlckluZm8sIGRlc2NlbmRhbnRCbG9jaywgZGVzY2VuZGFudEJsb2NrLCB3
aW5kb3dJbmZvKTsKKyAgICAgICAgICAgICAgICBwcm9jZXNzQ2x1c3RlcihkZXNjZW5kYW50Q2x1
c3RlckluZm8sIGRlc2NlbmRhbnRCbG9jaywgZGVzY2VuZGFudEJsb2NrLCB3aW5kb3dJbmZvKTsK
ICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIHByb2Nlc3NDb250YWluZXIobXVs
dGlwbGllciwgZGVzY2VuZGFudEJsb2NrLCBjbHVzdGVySW5mbywgZGVzY2VuZGFudEJsb2NrLCB3
aW5kb3dJbmZvKTsKICAgICAgICAgfQpAQCAtMjM1LDcgKzIzNSw3IEBAIGJvb2wgVGV4dEF1dG9z
aXplcjo6aXNBdXRvc2l6aW5nQ29udGFpbmVyKGNvbnN0IFJlbmRlck9iamVjdCogcmVuZGVyZXIp
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgVGV4dEF1dG9zaXplcjo6aXNOYXJyb3dEZXNj
ZW5kYW50KGNvbnN0IFJlbmRlckJsb2NrKiByZW5kZXJlciwgVGV4dEF1dG9zaXppbmdDbHVzdGVy
SW5mbyogcGFyZW50Q2x1c3RlckluZm8pCitib29sIFRleHRBdXRvc2l6ZXI6OmlzTmFycm93RGVz
Y2VuZGFudChjb25zdCBSZW5kZXJCbG9jayogcmVuZGVyZXIsIFRleHRBdXRvc2l6aW5nQ2x1c3Rl
ckluZm8mIHBhcmVudENsdXN0ZXJJbmZvKQogewogICAgIEFTU0VSVChpc0F1dG9zaXppbmdDb250
YWluZXIocmVuZGVyZXIpKTsKIApAQCAtMjUyLDI0ICsyNTIsMjQgQEAgYm9vbCBUZXh0QXV0b3Np
emVyOjppc05hcnJvd0Rlc2NlbmRhbnQoY29uc3QgUmVuZGVyQmxvY2sqIHJlbmRlcmVyLCBUZXh0
QXV0b3NpemkKICAgICAvLyBsZXNzIHRoYW4gNTBweCBuYXJyb3dlciB0aGFuIHRoZSBjdXJyZW50
IGxpbWl0LgogICAgIGNvbnN0IGZsb2F0IGRpZmZlcmVuY2VGcm9tTWF4V2lkdGhEaWZmZXJlbmNl
ID0gNTA7CiAgICAgZmxvYXQgY29udGVudFdpZHRoID0gcmVuZGVyZXItPmNvbnRlbnRMb2dpY2Fs
V2lkdGgoKTsKLSAgICBmbG9hdCBjbHVzdGVyVGV4dFdpZHRoID0gcGFyZW50Q2x1c3RlckluZm8t
PmJsb2NrQ29udGFpbmluZ0FsbFRleHQtPmNvbnRlbnRMb2dpY2FsV2lkdGgoKTsKKyAgICBmbG9h
dCBjbHVzdGVyVGV4dFdpZHRoID0gcGFyZW50Q2x1c3RlckluZm8uYmxvY2tDb250YWluaW5nQWxs
VGV4dC0+Y29udGVudExvZ2ljYWxXaWR0aCgpOwogICAgIGZsb2F0IHdpZHRoRGlmZmVyZW5jZSA9
IGNsdXN0ZXJUZXh0V2lkdGggLSBjb250ZW50V2lkdGg7CiAKLSAgICBpZiAod2lkdGhEaWZmZXJl
bmNlIC0gcGFyZW50Q2x1c3RlckluZm8tPm1heEFsbG93ZWREaWZmZXJlbmNlRnJvbVRleHRXaWR0
aCA+IGRpZmZlcmVuY2VGcm9tTWF4V2lkdGhEaWZmZXJlbmNlKQorICAgIGlmICh3aWR0aERpZmZl
cmVuY2UgLSBwYXJlbnRDbHVzdGVySW5mby5tYXhBbGxvd2VkRGlmZmVyZW5jZUZyb21UZXh0V2lk
dGggPiBkaWZmZXJlbmNlRnJvbU1heFdpZHRoRGlmZmVyZW5jZSkKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAKLSAgICBwYXJlbnRDbHVzdGVySW5mby0+bWF4QWxsb3dlZERpZmZlcmVuY2VGcm9tVGV4
dFdpZHRoID0gc3RkOjptYXgod2lkdGhEaWZmZXJlbmNlLCBwYXJlbnRDbHVzdGVySW5mby0+bWF4
QWxsb3dlZERpZmZlcmVuY2VGcm9tVGV4dFdpZHRoKTsKKyAgICBwYXJlbnRDbHVzdGVySW5mby5t
YXhBbGxvd2VkRGlmZmVyZW5jZUZyb21UZXh0V2lkdGggPSBzdGQ6Om1heCh3aWR0aERpZmZlcmVu
Y2UsIHBhcmVudENsdXN0ZXJJbmZvLm1heEFsbG93ZWREaWZmZXJlbmNlRnJvbVRleHRXaWR0aCk7
CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIFRleHRBdXRvc2l6ZXI6OmlzV2lkZXJEZXNj
ZW5kYW50KGNvbnN0IFJlbmRlckJsb2NrKiByZW5kZXJlciwgY29uc3QgVGV4dEF1dG9zaXppbmdD
bHVzdGVySW5mbyogcGFyZW50Q2x1c3RlckluZm8pCitib29sIFRleHRBdXRvc2l6ZXI6OmlzV2lk
ZXJEZXNjZW5kYW50KGNvbnN0IFJlbmRlckJsb2NrKiByZW5kZXJlciwgY29uc3QgVGV4dEF1dG9z
aXppbmdDbHVzdGVySW5mbyYgcGFyZW50Q2x1c3RlckluZm8pCiB7CiAgICAgQVNTRVJUKGlzQXV0
b3NpemluZ0NvbnRhaW5lcihyZW5kZXJlcikpOwogCiAgICAgLy8gQXV0b3NpemluZyBjb250YWlu
ZXJzIHRoYXQgYXJlIHdpZGVyIHRoYW4gdGhlIHxibG9ja0NvbnRhaW5pbmdBbGxUZXh0fCBvZiB0
aGVpciBlbmNsb3NpbmcKICAgICAvLyBjbHVzdGVyIGFyZSB0cmVhdGVkIHRoZSBzYW1lIHdheSBh
cyBhdXRvc2l6aW5nIGNsdXN0ZXJzIHRvIGJlIGF1dG9zaXplZCBzZXBhcmF0ZWx5LgogICAgIGZs
b2F0IGNvbnRlbnRXaWR0aCA9IHJlbmRlcmVyLT5jb250ZW50TG9naWNhbFdpZHRoKCk7Ci0gICAg
ZmxvYXQgY2x1c3RlclRleHRXaWR0aCA9IHBhcmVudENsdXN0ZXJJbmZvLT5ibG9ja0NvbnRhaW5p
bmdBbGxUZXh0LT5jb250ZW50TG9naWNhbFdpZHRoKCk7CisgICAgZmxvYXQgY2x1c3RlclRleHRX
aWR0aCA9IHBhcmVudENsdXN0ZXJJbmZvLmJsb2NrQ29udGFpbmluZ0FsbFRleHQtPmNvbnRlbnRM
b2dpY2FsV2lkdGgoKTsKICAgICByZXR1cm4gY29udGVudFdpZHRoID4gY2x1c3RlclRleHRXaWR0
aDsKIH0KIApAQCAtMzEwLDcgKzMxMCw3IEBAIGJvb2wgVGV4dEF1dG9zaXplcjo6aXNJbmRlcGVu
ZGVudERlc2NlbmRhbnQoY29uc3QgUmVuZGVyQmxvY2sqIHJlbmRlcmVyKQogICAgIC8vIGNvbnRh
aW5lcnMsIGFuZCBwcm9iYWJseSBmbGV4Ym94ZXMuLi4KIH0KIAotYm9vbCBUZXh0QXV0b3NpemVy
Ojppc0F1dG9zaXppbmdDbHVzdGVyKGNvbnN0IFJlbmRlckJsb2NrKiByZW5kZXJlciwgVGV4dEF1
dG9zaXppbmdDbHVzdGVySW5mbyogcGFyZW50Q2x1c3RlckluZm8pCitib29sIFRleHRBdXRvc2l6
ZXI6OmlzQXV0b3NpemluZ0NsdXN0ZXIoY29uc3QgUmVuZGVyQmxvY2sqIHJlbmRlcmVyLCBUZXh0
QXV0b3NpemluZ0NsdXN0ZXJJbmZvJiBwYXJlbnRDbHVzdGVySW5mbykKIHsKICAgICBBU1NFUlQo
aXNBdXRvc2l6aW5nQ29udGFpbmVyKHJlbmRlcmVyKSk7CiAKQEAgLTQxMCw3ICs0MTAsNyBAQCBi
b29sIFRleHRBdXRvc2l6ZXI6OmNvbnRlbnRIZWlnaHRJc0NvbnN0cmFpbmVkKGNvbnN0IFJlbmRl
ckJsb2NrKiBjb250YWluZXIpCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1ib29sIFRleHRBdXRv
c2l6ZXI6OmNsdXN0ZXJTaG91bGRCZUF1dG9zaXplZChUZXh0QXV0b3NpemluZ0NsdXN0ZXJJbmZv
KiBjbHVzdGVySW5mbywgZmxvYXQgYmxvY2tXaWR0aCkKK2Jvb2wgVGV4dEF1dG9zaXplcjo6Y2x1
c3RlclNob3VsZEJlQXV0b3NpemVkKFRleHRBdXRvc2l6aW5nQ2x1c3RlckluZm8mIGNsdXN0ZXJJ
bmZvLCBmbG9hdCBibG9ja1dpZHRoKQogewogICAgIC8vIERvbid0IGF1dG9zaXplIGNsdXN0ZXJz
IHRoYXQgY29udGFpbiBsZXNzIHRoYW4gNCBsaW5lcyBvZiB0ZXh0IChpbgogICAgIC8vIHByYWN0
aWNlIGxlc3MgbGluZXMgYXJlIHJlcXVpcmVkLCBzaW5jZSBtZWFzdXJlRGVzY2VuZGFudFRleHRX
aWR0aApAQCAtNDI1LDEzICs0MjUsMTMgQEAgYm9vbCBUZXh0QXV0b3NpemVyOjpjbHVzdGVyU2hv
dWxkQmVBdXRvc2l6ZWQoVGV4dEF1dG9zaXppbmdDbHVzdGVySW5mbyogY2x1c3RlckkKICAgICBj
b25zdCBmbG9hdCBtaW5MaW5lc09mVGV4dCA9IDQ7CiAgICAgZmxvYXQgbWluVGV4dFdpZHRoID0g
YmxvY2tXaWR0aCAqIG1pbkxpbmVzT2ZUZXh0OwogICAgIGZsb2F0IHRleHRXaWR0aCA9IDA7Ci0g
ICAgbWVhc3VyZURlc2NlbmRhbnRUZXh0V2lkdGgoY2x1c3RlckluZm8tPmJsb2NrQ29udGFpbmlu
Z0FsbFRleHQsIGNsdXN0ZXJJbmZvLCBtaW5UZXh0V2lkdGgsIHRleHRXaWR0aCk7CisgICAgbWVh
c3VyZURlc2NlbmRhbnRUZXh0V2lkdGgoY2x1c3RlckluZm8uYmxvY2tDb250YWluaW5nQWxsVGV4
dCwgY2x1c3RlckluZm8sIG1pblRleHRXaWR0aCwgdGV4dFdpZHRoKTsKICAgICBpZiAodGV4dFdp
ZHRoID49IG1pblRleHRXaWR0aCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgcmV0dXJuIGZh
bHNlOwogfQogCi12b2lkIFRleHRBdXRvc2l6ZXI6Om1lYXN1cmVEZXNjZW5kYW50VGV4dFdpZHRo
KGNvbnN0IFJlbmRlckJsb2NrKiBjb250YWluZXIsIFRleHRBdXRvc2l6aW5nQ2x1c3RlckluZm8q
IGNsdXN0ZXJJbmZvLCBmbG9hdCBtaW5UZXh0V2lkdGgsIGZsb2F0JiB0ZXh0V2lkdGgpCit2b2lk
IFRleHRBdXRvc2l6ZXI6Om1lYXN1cmVEZXNjZW5kYW50VGV4dFdpZHRoKGNvbnN0IFJlbmRlckJs
b2NrKiBjb250YWluZXIsIFRleHRBdXRvc2l6aW5nQ2x1c3RlckluZm8mIGNsdXN0ZXJJbmZvLCBm
bG9hdCBtaW5UZXh0V2lkdGgsIGZsb2F0JiB0ZXh0V2lkdGgpCiB7CiAgICAgYm9vbCBza2lwTG9j
YWxUZXh0ID0gIWNvbnRhaW5lclNob3VsZEJlQXV0b3NpemVkKGNvbnRhaW5lcik7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3NpemVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvVGV4dEF1dG9zaXplci5oCmluZGV4IGM1MjMwMWU0YWQ0OWVkYjZl
NWU0N2M4YmZmMzZhYTExZGQ2MDRmZDkuLjUzNzE1N2U5MTBiNjhlNWI2Mjk5OThlOTJiNDcyMGYz
Y2VlOGUzNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0QXV0b3Np
emVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRBdXRvc2l6ZXIuaApAQCAt
NjEsMjMgKzYxLDIzIEBAIHByaXZhdGU6CiAKICAgICBleHBsaWNpdCBUZXh0QXV0b3NpemVyKERv
Y3VtZW50Kik7CiAKLSAgICB2b2lkIHByb2Nlc3NDbHVzdGVyKFRleHRBdXRvc2l6aW5nQ2x1c3Rl
ckluZm8qLCBSZW5kZXJCbG9jayogY29udGFpbmVyLCBSZW5kZXJPYmplY3QqIHN1YnRyZWVSb290
LCBjb25zdCBUZXh0QXV0b3NpemluZ1dpbmRvd0luZm8mKTsKLSAgICB2b2lkIHByb2Nlc3NDb250
YWluZXIoZmxvYXQgbXVsdGlwbGllciwgUmVuZGVyQmxvY2sqIGNvbnRhaW5lciwgVGV4dEF1dG9z
aXppbmdDbHVzdGVySW5mbyosIFJlbmRlck9iamVjdCogc3VidHJlZVJvb3QsIGNvbnN0IFRleHRB
dXRvc2l6aW5nV2luZG93SW5mbyYpOworICAgIHZvaWQgcHJvY2Vzc0NsdXN0ZXIoVGV4dEF1dG9z
aXppbmdDbHVzdGVySW5mbyYsIFJlbmRlckJsb2NrKiBjb250YWluZXIsIFJlbmRlck9iamVjdCog
c3VidHJlZVJvb3QsIGNvbnN0IFRleHRBdXRvc2l6aW5nV2luZG93SW5mbyYpOworICAgIHZvaWQg
cHJvY2Vzc0NvbnRhaW5lcihmbG9hdCBtdWx0aXBsaWVyLCBSZW5kZXJCbG9jayogY29udGFpbmVy
LCBUZXh0QXV0b3NpemluZ0NsdXN0ZXJJbmZvJiwgUmVuZGVyT2JqZWN0KiBzdWJ0cmVlUm9vdCwg
Y29uc3QgVGV4dEF1dG9zaXppbmdXaW5kb3dJbmZvJik7CiAKICAgICB2b2lkIHNldE11bHRpcGxp
ZXIoUmVuZGVyT2JqZWN0KiwgZmxvYXQpOwogCiAgICAgc3RhdGljIGJvb2wgaXNBdXRvc2l6aW5n
Q29udGFpbmVyKGNvbnN0IFJlbmRlck9iamVjdCopOwotICAgIHN0YXRpYyBib29sIGlzTmFycm93
RGVzY2VuZGFudChjb25zdCBSZW5kZXJCbG9jayosIFRleHRBdXRvc2l6aW5nQ2x1c3RlckluZm8q
IHBhcmVudENsdXN0ZXJJbmZvKTsKLSAgICBzdGF0aWMgYm9vbCBpc1dpZGVyRGVzY2VuZGFudChj
b25zdCBSZW5kZXJCbG9jayosIGNvbnN0IFRleHRBdXRvc2l6aW5nQ2x1c3RlckluZm8qIHBhcmVu
dENsdXN0ZXJJbmZvKTsKKyAgICBzdGF0aWMgYm9vbCBpc05hcnJvd0Rlc2NlbmRhbnQoY29uc3Qg
UmVuZGVyQmxvY2sqLCBUZXh0QXV0b3NpemluZ0NsdXN0ZXJJbmZvJiBwYXJlbnRDbHVzdGVySW5m
byk7CisgICAgc3RhdGljIGJvb2wgaXNXaWRlckRlc2NlbmRhbnQoY29uc3QgUmVuZGVyQmxvY2sq
LCBjb25zdCBUZXh0QXV0b3NpemluZ0NsdXN0ZXJJbmZvJiBwYXJlbnRDbHVzdGVySW5mbyk7CiAg
ICAgc3RhdGljIGJvb2wgaXNJbmRlcGVuZGVudERlc2NlbmRhbnQoY29uc3QgUmVuZGVyQmxvY2sq
KTsKLSAgICBzdGF0aWMgYm9vbCBpc0F1dG9zaXppbmdDbHVzdGVyKGNvbnN0IFJlbmRlckJsb2Nr
KiwgVGV4dEF1dG9zaXppbmdDbHVzdGVySW5mbyogcGFyZW50Q2x1c3RlckluZm8pOworICAgIHN0
YXRpYyBib29sIGlzQXV0b3NpemluZ0NsdXN0ZXIoY29uc3QgUmVuZGVyQmxvY2sqLCBUZXh0QXV0
b3NpemluZ0NsdXN0ZXJJbmZvJiBwYXJlbnRDbHVzdGVySW5mbyk7CiAKICAgICBzdGF0aWMgYm9v
bCBjb250YWluZXJTaG91bGRCZUF1dG9zaXplZChjb25zdCBSZW5kZXJCbG9jayogY29udGFpbmVy
KTsKICAgICBzdGF0aWMgYm9vbCBjb250YWluZXJDb250YWluc09uZU9mVGFncyhjb25zdCBSZW5k
ZXJCbG9jayogY2x1c3RlciwgY29uc3QgVmVjdG9yPFF1YWxpZmllZE5hbWU+JiB0YWdzKTsKICAg
ICBzdGF0aWMgYm9vbCBjb250YWluZXJJc1Jvd09mTGlua3MoY29uc3QgUmVuZGVyT2JqZWN0KiBj
b250YWluZXIpOwogICAgIHN0YXRpYyBib29sIGNvbnRlbnRIZWlnaHRJc0NvbnN0cmFpbmVkKGNv
bnN0IFJlbmRlckJsb2NrKiBjb250YWluZXIpOwotICAgIHN0YXRpYyBib29sIGNsdXN0ZXJTaG91
bGRCZUF1dG9zaXplZChUZXh0QXV0b3NpemluZ0NsdXN0ZXJJbmZvKiwgZmxvYXQgYmxvY2tXaWR0
aCk7Ci0gICAgc3RhdGljIHZvaWQgbWVhc3VyZURlc2NlbmRhbnRUZXh0V2lkdGgoY29uc3QgUmVu
ZGVyQmxvY2sqIGNvbnRhaW5lciwgVGV4dEF1dG9zaXppbmdDbHVzdGVySW5mbyosIGZsb2F0IG1p
blRleHRXaWR0aCwgZmxvYXQmIHRleHRXaWR0aCk7CisgICAgc3RhdGljIGJvb2wgY2x1c3RlclNo
b3VsZEJlQXV0b3NpemVkKFRleHRBdXRvc2l6aW5nQ2x1c3RlckluZm8mLCBmbG9hdCBibG9ja1dp
ZHRoKTsKKyAgICBzdGF0aWMgdm9pZCBtZWFzdXJlRGVzY2VuZGFudFRleHRXaWR0aChjb25zdCBS
ZW5kZXJCbG9jayogY29udGFpbmVyLCBUZXh0QXV0b3NpemluZ0NsdXN0ZXJJbmZvJiwgZmxvYXQg
bWluVGV4dFdpZHRoLCBmbG9hdCYgdGV4dFdpZHRoKTsKIAogICAgIC8vIFVzZSB0byB0cmF2ZXJz
ZSB0aGUgdHJlZSBvZiBkZXNjZW5kYW50cywgZXhjbHVkaW5nIGRlc2NlbmRhbnRzIG9mIGNvbnRh
aW5lcnMgKGJ1dCByZXR1cm5pbmcgdGhlIGNvbnRhaW5lcnMgdGhlbXNlbHZlcykuCiAgICAgc3Rh
dGljIFJlbmRlck9iamVjdCogbmV4dEluUHJlT3JkZXJTa2lwcGluZ0Rlc2NlbmRhbnRzT2ZDb250
YWluZXJzKGNvbnN0IFJlbmRlck9iamVjdCosIGNvbnN0IFJlbmRlck9iamVjdCogc3RheVdpdGhp
bik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>